[-]
[+]
|
Changed |
_service:tar_git:harbour-moremahjong.spec
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,7 +2,7 @@
<service name="tar_git">
<param name="url">https://github.com/poetaster/harbour-moremahjong.git</param>
<param name="branch">main</param>
- <param name="revision">1.5.1</param>
+ <param name="revision">1.6.1</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/47.1a0fbf1d4b44b26b.js
^
|
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkmah=self.webpackChunkmah||[]).push([[47],{378:(w,q,p)=>{p.d(q,{K:()=>m});var n=p(50);class m{static random(f){return Math.floor(Math.random()*f.length)}static randomExtract(f){const u=m.random(f);return f.splice(u,1)[0]}static collectNodes(f,u){const o={left:[],right:[],top:[],bottom:[]};let e;for(let s=u.y-1;s<=u.y+1;s++){e=(0,n.D)(f,u.z,u.x-2,s),e&&o.left.push(e),e=(0,n.D)(f,u.z,u.x+2,s),e&&o.right.push(e);for(let i=u.x-1;i<=u.x+1;i++)e=(0,n.D)(f,u.z+1,i,s),e&&o.top.push(e),e=(0,n.D)(f,u.z-1,i,s),e&&o.bottom.push(e)}return o}static fillStones(f,u){const o={};return f.forEach(e=>{const s=u.list[e.v];e.img=s?s.img:{id:void 0},o[e.groupnr]=o[e.groupnr]||[],o[e.groupnr].push(e),e.nodes=m.collectNodes(f,e)}),Object.keys(o).forEach(e=>{const s=o[Number(e)];s.forEach(i=>{i.group=s.filter(r=>r!==i)})}),f}getTilesInGame(f,u){return f.list.filter(o=>void 0!==o)}getTilesInPairs(f,u){const o=[];return f.groups.forEach(e=>{for(let s=0;s<e.tiles.length;s+=2)o.push([e.tiles[s],e.tiles[s+1]])}),o}}},405:(w,q,p)=>{p.d(q,{v:()=>y});var n=p(50),m=p(378);class y extends m.K{build(u,o){const e=this.getTilesInGame(o,u.length),s=[],i=u.slice(0);for(;i.length>0;){const r=m.K.randomExtract(e),t=m.K.randomExtract(i);s.push(new n.r(t[0],t[1],t[2],r.v,r.groupnr))}return m.K.fillStones(s,o),s}}},678:(w,q,p)=>{p.d(q,{N:()=>f});var n=p(50),m=p(378),y=p(405);class f extends m.K{build(o,e){const s=[];o.forEach(t=>{s.push(new n.r(t[0],t[1],t[2],0,0))}),m.K.fillStones(s,e);let i=1,r=this.solve(s,e);for(;0===r.length&&i<1e3;)s.forEach(t=>{t.picked=!1,t.v=0,t.groupnr=0}),r=this.solve(s,e),i++;return 0===r.length?(new y.v).build(o,e):(s.forEach(t=>{t.picked=!1}),m.K.fillStones(s,e),s.sort((t,l)=>t.v-l.v),s)}solve(o,e){const s=[],i=[],r=o.length/2,t=e.groups.slice();for(;t.length>0;){const a=m.K.randomExtract(t).tiles.slice(),h=m.K.randomExtract(a),d=m.K.randomExtract(a),c=m.K.randomExtract(a),g=a[0];i.length<r&&i.push([h,d]),i.length<r&&i.push([c,g])}for(;i.length>0;){const l=m.K.randomExtract(i),a=o.filter(c=>!c.picked&&!c.isBlocked());if(a.length<2)return[];const h=m.K.randomExtract(a),d=m.K.randomExtract(a);h.v=l[0].v,h.img=l[0].img,h.groupnr=l[0].groupnr,h.picked=!0,d.v=l[1].v,d.img=l[1].img,d.groupnr=l[1].groupnr,d.picked=!0,s.push(l)}return s}}},124:(w,q,p)=>{function n(o){if(!o)return!1;let e=0,s=o.above[e];for(;void 0!==s;){if(!s.isPlayed)return!1;e++,s=o.above[e]}e=0;let i=o.left[e];for(;void 0!==i;){if(!i.isPlayed){e=0;let r=o.right[e];for(;void 0!==r;){if(!r.isPlayed)return!1;e++,r=o.right[e]}return!0}e++,i=o.left[e]}return!0}function m(){return Math.floor(100*Math.random())}p.d(q,{M:()=>u});class f{constructor(e,s,i,r,t,l,a){this.qt=s,this.lo=i,this.ngroups=r,this.maxheight=t,this.maxwidth=l,this.maxdepth=a,this.result=[],this.ntiles1=e,this.ntiles2=e}write(){do{this.ntiles1=this.ntiles2;for(let e=0;e<this.ngroups;e++)this.writeGroup(e)}while(this.ntiles2!==this.ntiles1);return this.result}writePair(e,s,i){const r=this.qt[e].member[s],t=this.qt[e].member[i];for(let l=0;l<this.maxheight;l++)for(let a=0;a<this.maxwidth;a++)for(let h=0;h<this.maxdepth;h++)(this.lo[l][a][h]===r||this.lo[l][a][h]===t)&&this.result.push([h,a,l])}writePairing(e,s,i,r){const t=s.member[i],l=s.member[r];return!!(t&&l&&!t.isPlayed&&n(t)&&n(l))&&(this.writePair(e,i,r),t.isPlayed=!0,l.isPlayed=!0,this.ntiles2-=2,!0)}writeGroup(e){const s=this.qt[e];switch(s.bestpairing){case 1:this.writePairing(e,s,0,1)&&(s.isplayed=s.member[2].isPlayed),this.writePairing(e,s,2,3);break;case 2:this.writePairing(e,s,0,2),this.writePairing(e,s,1,3);break;case 3:this.writePairing(e,s,0,3),this.writePairing(e,s,1,2);break;case 4:this.writePairing(e,s,0,1)}}}class u{constructor(){this.tl=[],this.qt=[],this.lo=[],this.qts=[],this.maxgroups=80,this.maxheight=40,this.maxwidth=100,this.maxdepth=10}solveLayout(e){for(let s=0;s<this.maxheight;s++){this.lo[s]=[];for(let i=0;i<this.maxwidth;i++){this.lo[s][i]=[];for(let r=0;r<this.maxdepth;r++)this.lo[s][i][r]=void 0}}return e.forEach(s=>{const i={left:[],right:[],above:[],below:[],value:s.groupnr,isPlayed:!1};this.lo[s.y][s.x][s.z]=i,this.tl.push(i)}),this.ntilesCount=e.length,this.solve(0,0)}writeGame(){return this.unrotateGroups(),new f(this.ntilesCount,this.qt,this.lo,this.ngroups,this.maxheight,this.maxwidth,this.maxdepth).write()}static playTile(e,s,i){let r=i;for(let t=0;void 0!==e.left[t];t++){const l=e.left[t];l.isPlayed||(s[l.value]-=n(l)?1:0)}for(let t=0;void 0!==e.right[t];t++){const l=e.right[t];l.isPlayed||(s[l.value]-=n(l)?1:0)}e.isPlayed=!0,r--;for(let t=0;void 0!==e.left[t];t++){const l=e.left[t];l.isPlayed||(s[l.value]+=n(l)?1:0)}for(let t=0;void 0!==e.right[t];t++){const l=e.right[t];l.isPlayed||(s[l.value]+=n(l)?1:0)}for(let t=0;void 0!==e.below[t];t++){const l=e.below[t];s[l.value]+=n(l)?1:0}return r}initSolve(){this.tl.forEach(i=>{i.left[0]=void 0,i.left[1]=void 0,i.left[2]=void 0,i.right[0]=void 0,i.right[1]=void 0,i.right[2]=void 0,i.above[0]=void 0,i.above[1]=void 0,i.above[2]=void 0,i.above[3]=void 0,i.above[4]=void 0,i.below[0]=void 0,i.below[1]=void 0,i.below[2]=void 0,i.below[3]=void 0,i.below[4]=void 0,i.isPlayed=!1});for(let i=0;i<this.maxheight;i++)for(let r=2;r<this.maxwidth;r++)for(let t=0;t<this.maxdepth;t++){const l=this.lo[i][r][t];if(void 0!==l){let h=0;for(let d=Math.max(i-1,0);d<Math.min(i+2,this.maxheight);d++)void 0!==this.lo[d][r-2][t]&&(l.left[h]=this.lo[d][r-2][t],h++)}const a=this.lo[i][r-2][t];if(void 0!==a){let h=0;for(let d=Math.max(i-1,0);d<Math.min(i+2,this.maxheight);d++)void 0!==this.lo[d][r][t]&&(a.right[h]=this.lo[d][r][t],h++)}}for(let i=0;i<this.maxheight;i++)for(let r=0;r<this.maxwidth;r++)for(let t=1;t<this.maxdepth;t++){const l=this.lo[i][r][t-1];if(void 0!==l){let h=0;for(let d=Math.max(i-1,0);d<Math.min(i+2,this.maxheight);d++)for(let c=Math.max(r-1,0);c<Math.min(r+2,this.maxwidth);c++)void 0!==this.lo[d][c][t]&&(l.above[h]=this.lo[d][c][t],h++)}const a=this.lo[i][r][t];if(void 0!==a){let h=0;for(let d=Math.max(i-1,0);d<Math.min(i+2,this.maxheight);d++)for(let c=Math.max(r-1,0);c<Math.min(r+2,this.maxwidth);c++)void 0!==this.lo[d][c][t-1]&&(a.below[h]=this.lo[d][c][t-1],h++)}}this.qt=[];for(let i=0;i<this.maxgroups;i++)this.qt.push({pairing:-1,bestpairing:-1,nmembers:0,member:[],isplayed:!1,rotation:0});for(let i=0;i<this.ntilesCount;i++){const r=this.tl[i].value;this.qt[r].member[this.qt[r].nmembers]=this.tl[i],this.qt[r].nmembers++}let e=0,s=0;for(let i=0;i<this.maxgroups;i++){const r=this.qt[i];2===r.nmembers&&(this.qts[e]=r,this.qts[e].pairing=4,e++),0!==r.nmembers&&(s=i)}for(let i=0;i<=s;i++){const r=this.qt[i];0===r.nmembers&&(this.qts[e]=r,this.qts[e].pairing=-1,e++)}this.qtsindex=e;for(let i=0;i<=s;i++){const r=this.qt[i];if(4===r.nmembers){this.qts[e]=r,this.qts[e].pairing=0;const t=this.qts[e],l=m()%(e+1-this.qtsindex);this.qts[e]=this.qts[this.qtsindex+l],this.qts[this.qtsindex+l]=t,e++}}this.ngroups=e,this.aborted=!1}prune(){let e=this.ntilesCount,s=this.ntilesCount;this.nplays++;do{e=s;for(let i=0;i<this.ngroups;i++){const r=this.qt[i];if(!r.isplayed){const t=r.member[0],l=r.member[1],a=r.member[2],h=r.member[3];switch(r.pairing){case 0:t.isPlayed||l.isPlayed||a.isPlayed?(!t.isPlayed&&n(t)&&(t.isPlayed=!0,e++),!l.isPlayed&&n(l)&&(l.isPlayed=!0,e++),!a.isPlayed&&n(a)&&(a.isPlayed=!0,e++),!h.isPlayed&&n(h)&&(h.isPlayed=!0,e++),t.isPlayed&&l.isPlayed&&a.isPlayed&&h.isPlayed&&(r.isplayed=!0,s-=2)):!t.isPlayed&&n(t)?!l.isPlayed&&n(l)?(t.isPlayed=!0,l.isPlayed=!0,s-=2):!a.isPlayed&&n(a)?(t.isPlayed=!0,a.isPlayed=!0,s-=2):!h.isPlayed&&n(h)&&(t.isPlayed=!0,h.isPlayed=!0,s-=2):!l.isPlayed&&n(l)?!a.isPlayed&&n(a)?(l.isPlayed=!0,a.isPlayed=!0,s-=2):!h.isPlayed&&n(r.member[3])&&(l.isPlayed=!0,h.isPlayed=!0,s-=2):!a.isPlayed&&n(a)&&!h.isPlayed&&n(h)&&(a.isPlayed=!0,h.isPlayed=!0,s-=2);break;case 1:!t.isPlayed&&n(r.member[0])&&n(r.member[1])&&(t.isPlayed=!0,l.isPlayed=!0,s-=2,r.isplayed=a.isPlayed),!a.isPlayed&&n(r.member[2])&&n(r.member[3])&&(a.isPlayed=!0,h.isPlayed=!0,s-=2,r.isplayed=t.isPlayed);break;case 2:!t.isPlayed&&n(t)&&n(a)&&(t.isPlayed=!0,a.isPlayed=!0,s-=2,r.isplayed=l.isPlayed),!l.isPlayed&&n(l)&&n(h)&&(l.isPlayed=!0,h.isPlayed=!0,s-=2,r.isplayed=t.isPlayed);break;case 3:!t.isPlayed&&n(t)&&n(h)&&(t.isPlayed=!0,h.isPlayed=!0,s-=2,r.isplayed=l.isPlayed),!l.isPlayed&&n(l)&&n(a)&&(l.isPlayed=!0,a.isPlayed=!0,s-=2,r.isplayed=t.isPlayed);break;case 4:n(t)&&n(l)&&(t.isPlayed=!0,l.isPlayed=!0,s-=2,r.isplayed=!0);break;case 5:n(r.member[0])&&n(r.member[1])&&n(r.member[2])&&n(r.member[3])&&(t.isPlayed=!0,l.isPlayed=!0,a.isPlayed=!0,h.isPlayed=!0,s-=4,r.isplayed=!0)}}}}while(s!==e);for(let i=0;i<this.ntilesCount;i++)this.tl[i].isPlayed=!1;for(let i=0;i<this.ngroups;i++)this.qt[i].isplayed=!1;return s}unrotateGroups(){for(let e=0;e<this.ngroups;e++){switch(this.qt[e].rotation){case 1:{const s=this.qt[e].member[1];this.qt[e].member[1]=this.qt[e].member[2],this.qt[e].member[2]=this.qt[e].member[3],this.qt[e].member[3]=s;break}case 2:{const s=this.qt[e].member[3];this.qt[e].member[3]=this.qt[e].member[2],this.qt[e].member[2]=this.qt[e].member[1],this.qt[e].member[1]=s;break}}this.qt[e].rotation=0}}sureSolve(e){const s=[];if(this.prune()>this.remainMax)return!1;let i;for(i=e;i<this.ngroups&&(this.qts[i].pairing=1,!(this.prune()>this.remainMax));i++);if(i===this.ngroups){for(let t=0;t<this.ngroups;t++)this.qt[t].bestpairing=this.qt[t].pairing;for(let t=this.qtsindex;t<this.ngroups;t++)this.qts[t].bestpairing+=3-this.qts[t].rotation,this.qts[t].bestpairing>3&&(this.qts[t].bestpairing-=3);if(this.remainMax=this.prune()-2,this.remainMax<this.remainMin){for(let t=this.qtsindex;t<this.ngroups;t++)this.qts[t].pairing=0;return!0}for(i=e;i<this.ngroups;i++)this.qts[i].pairing=0;return this.sureSolve(e)}let r=0;s[r++]=this.qts[i];for(let t=i-1;t>=e;t--)if(this.qts[t].pairing=0,this.prune()<=this.remainMax)this.qts[t].pairing=1,s[r++]=this.qts[t];else{if(m()%2){const l=this.qts[t].member[3];this.qts[t].member[3]=this.qts[t].member[2],this.qts[t].member[2]=this.qts[t].member[1],this.qts[t].member[1]=l,this.qts[t].rotation+=1,this.qts[t].rotation>2&&(this.qts[t].rotation=0)}else{const l=this.qts[t].member[1];this.qts[t].member[1]=this.qts[t].member[2],this.qts[t].member[2]=this.qts[t].member[3],this.qts[t].member[3]=l,this.qts[t].rotation-=1,this.qts[t].rotation<0&&(this.qts[t].rotation=2)}this.qts[i]=this.qts[t],i--}for(let t=i;t>=e;t--)this.qts[t]=s[--r];for(let t=i;t>=e;t--){if(this.qts[t].pairing=2,this.sureSolve(t+1)||(this.qts[t].pairing=3,this.sureSolve(t+1)))return!0;this.qts[t].pairing=0}return!1}randomSolve(e){const s=[],i=[0,0,1,3,6],r=[[0,1,2,3],[1,0,3,2],[2,3,0,1],[3,2,1,0]];for(let t=0;t<e;t++){let l=this.ntilesCount;for(let a=0;a<this.ngroups;a++){s[a]=0;for(let h=0;h<this.qt[a].nmembers;h++)n(this.qt[a].member[h])&&s[a]++;this.qt[a].pairing=-1,2===this.qt[a].nmembers&&(this.qt[a].isplayed=!0)}for(;;){let a=!1,h=0;for(let b=0;b<this.ngroups;b++){if((this.qt[b].isplayed?1:0)+i[s[b]]>=5){a=!0;break}h+=i[s[b]]}if(!a){if(0===h)break;h=m()%h}let d=0;do{h-=i[s[d]],d++}while(h>=0);d--,h+=i[s[d]];let c=0;const g=this.qt[d];let P=g.nmembers-1;if(h<=1){let b=g.member[c];for(;b.isPlayed||!n(b);)c++,b=g.member[c];if(0===h){P=c+1;let x=g.member[P];for(;x.isPlayed||!n(x);)P++,x=g.member[P]}}if(h>=1){let b=g.member[P];for(;b.isPlayed||!n(b);)P--,b=g.member[P];if(2===h){c=P-1;let x=g.member[c];for(;x.isPlayed||!n(x);)c--,x=g.member[c]}}l=u.playTile(g.member[c],s,l),l=u.playTile(g.member[P],s,l),g.isplayed=!0,g.pairing=r[c][P],s[d]-=2}for(let a=0;a<this.ntilesCount;a++)this.tl[a].isPlayed=!1;for(let a=0;a<this.ngroups;a++)this.qt[a].isplayed=!1,2===this.qt[a].nmembers&&(this.qt[a].pairing=4);if(this.nrplays++,l<=this.remainMax){for(let a=0;a<this.ngroups;a++)this.qt[a].bestpairing=this.qt[a].pairing;if(this.remainMax=l-2,this.remainMax<this.remainMin){for(let a=0;a<this.ngroups;a++)4===this.qt[a].nmembers&&(this.qt[a].pairing=0);return!0}}}for(let t=0;t<this.ngroups;t++)4===this.qt[t].nmembers&&(this.qt[t].pairing=0);return!1}solve(e,s){return this.initSolve(),this.nrplays=0,this.nplays=0,this.remainMax=Math.max(e,s),this.remainMin=Math.min(e,s),this.prune()>this.remainMax||this.randomSolve(function y(o){return Math.floor(o)}(Math.pow(1.2,this.ngroups-this.qtsindex)))||(this.sureSolve(this.qtsindex),this.unrotateGroups()),this.remainMax+2}}},50:(w,q,p)=>{p.d(q,{D:()=>m,r:()=>n});class n{constructor(f,u,o,e,s){this.picked=!1,this.group=[],this.z=f,this.x=u,this.y=o,this.v=e,this.groupnr=s}toPosition(){return{z:this.z,x:this.x,y:this.y,v:this.v,groupnr:this.groupnr}}isBlocked(){return n.hasStone(this.nodes.top)||n.hasStone(this.nodes.left)&&n.hasStone(this.nodes.right)}static hasStone(f){for(const u of f)if(!u.picked)return!0;return!1}}const m=(y,f,u,o)=>{for(let e=0,s=y.length;e<s;e++)if(y[e].z===f&&y[e].x===u&&y[e].y===o)return y[e]}}}]);
\ No newline at end of file
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/828.2792c1e59fa1f55a.js
^
|
@@ -1 +0,0 @@
-(()=>{"use strict";var t,O={828:(t,a,e)=>{var m=e(124);e(678),e(405);const A=[];for(let i=1;i<19;i++)A.push([`t_g${i}`,`t_g${i}`,`t_g${i}`,`t_g${i}`]);for(let i=1;i<10;i++)A.push([`t_e${i}`,`t_e${i}`,`t_e${i}`,`t_e${i}`]);addEventListener("message",({data:i})=>{i&&function L(i,o){const d=new m.M;o({result:d.solveLayout(i),order:d.writeGame()})}(i.stones,o=>{postMessage({result:o})})})}},T={};function _(t){var a=T[t];if(void 0!==a)return a.exports;var e=T[t]={exports:{}};return O[t](e,e.exports,_),e.exports}_.m=O,_.x=()=>{var t=_.O(void 0,[47],()=>_(828));return _.O(t)},t=[],_.O=(a,e,m,s)=>{if(!e){var h=1/0;for(r=0;r<t.length;r++){for(var[e,m,s]=t[r],b=!0,c=0;c<e.length;c++)(!1&s||h>=s)&&Object.keys(_.O).every(w=>_.O[w](e[c]))?e.splice(c--,1):(b=!1,s<h&&(h=s));if(b){t.splice(r--,1);var f=m();void 0!==f&&(a=f)}}return a}s=s||0;for(var r=t.length;r>0&&t[r-1][2]>s;r--)t[r]=t[r-1];t[r]=[e,m,s]},_.d=(t,a)=>{for(var e in a)_.o(a,e)&&!_.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:a[e]})},_.f={},_.e=t=>Promise.all(Object.keys(_.f).reduce((a,e)=>(_.f[e](t,a),a),[])),_.u=t=>t+".1a0fbf1d4b44b26b.js",_.miniCssF=t=>{},_.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),(()=>{var t;_.tt=()=>(void 0===t&&(t={createScriptURL:a=>a},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(t=trustedTypes.createPolicy("angular#bundler",t))),t)})(),_.tu=t=>_.tt().createScriptURL(t),_.p="",(()=>{var t={828:1};_.f.i=(s,r)=>{t[s]||importScripts(_.tu(_.p+_.u(s)))};var e=self.webpackChunkmah=self.webpackChunkmah||[],m=e.push.bind(e);e.push=s=>{var[r,h,b]=s;for(var c in h)_.o(h,c)&&(_.m[c]=h[c]);for(b&&b(_);r.length;)t[r.pop()]=1;m(s)}})(),(()=>{var t=_.x;_.x=()=>_.e(47).then(t)})(),_.x()})();
\ No newline at end of file
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/914.47d99b976ed7b4ec.js
^
|
@@ -1 +0,0 @@
-(()=>{"use strict";var t,w={47:(t,a,e)=>{var b=e(124),s=e(678),r=e(405),E=e(50),g=e(378);class u{build(o,d){const n=[];return o.forEach(c=>{const l=d.list[c[3]];if(l){const h=new E.r(c[0],c[1],c[2],c[3],l.groupnr);n.push(h)}}),g.K.fillStones(n,d),n}}const p="MODE_SOLVABLE",L=[{id:p,builder:s.N},{id:"MODE_RANDOM",builder:r.v}];class R{constructor(o){this.tiles=o}load(o){return(new u).build(o,this.tiles)}build(o,d){let n;const c=L.find(l=>l.id===o);if(c&&(n=new c.builder),n)return n.build(d,this.tiles)}}const v=[["t_do1","t_do1","t_do1","t_do1"],["t_do2","t_do2","t_do2","t_do2"],["t_do3","t_do3","t_do3","t_do3"],["t_do4","t_do4","t_do4","t_do4"],["t_do5","t_do5","t_do5","t_do5"],["t_do6","t_do6","t_do6","t_do6"],["t_do7","t_do7","t_do7","t_do7"],["t_do8","t_do8","t_do8","t_do8"],["t_do9","t_do9","t_do9","t_do9"],["t_ch1","t_ch1","t_ch1","t_ch1"],["t_ch2","t_ch2","t_ch2","t_ch2"],["t_ch3","t_ch3","t_ch3","t_ch3"],["t_ch4","t_ch4","t_ch4","t_ch4"],["t_ch5","t_ch5","t_ch5","t_ch5"],["t_ch6","t_ch6","t_ch6","t_ch6"],["t_ch7","t_ch7","t_ch7","t_ch7"],["t_ch8","t_ch8","t_ch8","t_ch8"],["t_ch9","t_ch9","t_ch9","t_ch9"],["t_ba1","t_ba1","t_ba1","t_ba1"],["t_ba2","t_ba2","t_ba2","t_ba2"],["t_ba3","t_ba3","t_ba3","t_ba3"],["t_ba4","t_ba4","t_ba4","t_ba4"],["t_ba5","t_ba5","t_ba5","t_ba5"],["t_ba6","t_ba6","t_ba6","t_ba6"],["t_ba7","t_ba7","t_ba7","t_ba7"],["t_ba8","t_ba8","t_ba8","t_ba8"],["t_ba9","t_ba9","t_ba9","t_ba9"],["t_se_spring","t_se_summer","t_se_fall","t_se_winter"],["t_wi_north","t_wi_north","t_wi_north","t_wi_north"],["t_wi_south","t_wi_south","t_wi_south","t_wi_south"],["t_wi_east","t_wi_east","t_wi_east","t_wi_east"],["t_wi_west","t_wi_west","t_wi_west","t_wi_west"],["t_fl_bamboo","t_fl_chrysanthemum","t_fl_orchid","t_fl_plum"],["t_dr_green","t_dr_green","t_dr_green","t_dr_green"],["t_dr_white","t_dr_white","t_dr_white","t_dr_white"],["t_dr_red","t_dr_red","t_dr_red","t_dr_red"]],O=[];for(let i=1;i<19;i++)O.push([`t_g${i}`,`t_g${i}`,`t_g${i}`,`t_g${i}`]);for(let i=1;i<10;i++)O.push([`t_e${i}`,`t_e${i}`,`t_e${i}`,`t_e${i}`]);class G{constructor(o){this.list=[],this.groups=[];let d=0,n=v.map(l=>l.map(h=>({id:h})));const c=Math.ceil(o/4);if(c>n.length){const l=O.map(h=>h.map(m=>({id:m})));for(n=n.concat(l);n.length<c;)n.push([{id:`_${n.length}a`},{id:`_${n.length}b`},{id:`_${n.length}c`},{id:`_${n.length}d`}])}n.forEach((l,h)=>{const m={v:h,tiles:[]};this.groups.push(m),l.forEach(f=>{d++;const S={groupnr:h,v:d,img:f};m.tiles.push(S),this.list[d]=S})})}}addEventListener("message",({data:i})=>{i&&function N(i,o,d,n){const c=new b.M,l=new R(new G(i.length));let h=0,m=0;for(let f=0;f<o;f++){const S=l.build(p,i);S&&(c.solveLayout(S)>0?h++:m++,d([m,h]))}n([m,h])}(i.mapping,i.rounds,o=>{postMessage({progress:o})},o=>{postMessage({result:o})})})}},T={};function _(t){var a=T[t];if(void 0!==a)return a.exports;var e=T[t]={exports:{}};return w[t](e,e.exports,_),e.exports}_.m=w,_.x=()=>{var t=_.O(void 0,[47],()=>_(47));return _.O(t)},t=[],_.O=(a,e,b,s)=>{if(!e){var E=1/0;for(r=0;r<t.length;r++){for(var[e,b,s]=t[r],g=!0,u=0;u<e.length;u++)(!1&s||E>=s)&&Object.keys(_.O).every(A=>_.O[A](e[u]))?e.splice(u--,1):(g=!1,s<E&&(E=s));if(g){t.splice(r--,1);var p=b();void 0!==p&&(a=p)}}return a}s=s||0;for(var r=t.length;r>0&&t[r-1][2]>s;r--)t[r]=t[r-1];t[r]=[e,b,s]},_.d=(t,a)=>{for(var e in a)_.o(a,e)&&!_.o(t,e)&&Object.defineProperty(t,e,{enumerable:!0,get:a[e]})},_.f={},_.e=t=>Promise.all(Object.keys(_.f).reduce((a,e)=>(_.f[e](t,a),a),[])),_.u=t=>t+".1a0fbf1d4b44b26b.js",_.miniCssF=t=>{},_.o=(t,a)=>Object.prototype.hasOwnProperty.call(t,a),(()=>{var t;_.tt=()=>(void 0===t&&(t={createScriptURL:a=>a},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(t=trustedTypes.createPolicy("angular#bundler",t))),t)})(),_.tu=t=>_.tt().createScriptURL(t),_.p="",(()=>{var t={914:1};_.f.i=(s,r)=>{t[s]||importScripts(_.tu(_.p+_.u(s)))};var e=self.webpackChunkmah=self.webpackChunkmah||[],b=e.push.bind(e);e.push=s=>{var[r,E,g]=s;for(var u in E)_.o(E,u)&&(_.m[u]=E[u]);for(g&&g(_);r.length;)t[r.pop()]=1;b(s)}})(),(()=>{var t=_.x;_.x=()=>_.e(47).then(t)})(),_.x()})();
\ No newline at end of file
|
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot?
^
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/main.887c6ca96fe76198.js
^
|
@@ -1 +0,0 @@
-(self.webpackChunkmah=self.webpackChunkmah||[]).push([[179],{538:(Ti,Vs,it)=>{"use strict";function Ee(n){return"function"==typeof n}function et(n){const t=n(r=>{Error.call(r),r.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const Mi=et(n=>function(t){n(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((r,i)=>`${i+1}) ${r.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t});function js(n,e){if(n){const t=n.indexOf(e);0<=t&&n.splice(t,1)}}class Ce{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const s of t)s.remove(this);else t.remove(this);const{initialTeardown:r}=this;if(Ee(r))try{r()}catch(s){e=s instanceof Mi?s.errors:[s]}const{_finalizers:i}=this;if(i){this._finalizers=null;for(const s of i)try{ha(s)}catch(o){e=e??[],o instanceof Mi?e=[...e,...o.errors]:e.push(o)}}if(e)throw new Mi(e)}}add(e){var t;if(e&&e!==this)if(this.closed)ha(e);else{if(e instanceof Ce){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(t=this._finalizers)&&void 0!==t?t:[]).push(e)}}_hasParent(e){const{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){const{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&js(t,e)}remove(e){const{_finalizers:t}=this;t&&js(t,e),e instanceof Ce&&e._removeParent(this)}}Ce.EMPTY=(()=>{const n=new Ce;return n.closed=!0,n})();const Us=Ce.EMPTY;function fa(n){return n instanceof Ce||n&&"closed"in n&&Ee(n.remove)&&Ee(n.add)&&Ee(n.unsubscribe)}function ha(n){Ee(n)?n():n.unsubscribe()}const wt={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},en={setTimeout(n,e,...t){const{delegate:r}=en;return r?.setTimeout?r.setTimeout(n,e,...t):setTimeout(n,e,...t)},clearTimeout(n){const{delegate:e}=en;return(e?.clearTimeout||clearTimeout)(n)},delegate:void 0};function Oi(n){en.setTimeout(()=>{const{onUnhandledError:e}=wt;if(!e)throw n;e(n)})}function Pi(){}const Cr=St("C",void 0,void 0);function St(n,e,t){return{kind:n,value:e,error:t}}let Fn=null;function Ii(n){if(wt.useDeprecatedSynchronousErrorHandling){const e=!Fn;if(e&&(Fn={errorThrown:!1,error:null}),n(),e){const{errorThrown:t,error:r}=Fn;if(Fn=null,t)throw r}}else n()}class Yr extends Ce{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,fa(e)&&e.add(this)):this.destination=wr}static create(e,t,r){return new Bn(e,t,r)}next(e){this.isStopped?Dr(function pa(n){return St("N",n,void 0)}(e),this):this._next(e)}error(e){this.isStopped?Dr(function yn(n){return St("E",void 0,n)}(e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?Dr(Cr,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Gs=Function.prototype.bind;function Ai(n,e){return Gs.call(n,e)}class Ni{constructor(e){this.partialObserver=e}next(e){const{partialObserver:t}=this;if(t.next)try{t.next(e)}catch(r){Jr(r)}}error(e){const{partialObserver:t}=this;if(t.error)try{t.error(e)}catch(r){Jr(r)}else Jr(e)}complete(){const{partialObserver:e}=this;if(e.complete)try{e.complete()}catch(t){Jr(t)}}}class Bn extends Yr{constructor(e,t,r){let i;if(super(),Ee(e)||!e)i={next:e??void 0,error:t??void 0,complete:r??void 0};else{let s;this&&wt.useDeprecatedNextContext?(s=Object.create(e),s.unsubscribe=()=>this.unsubscribe(),i={next:e.next&&Ai(e.next,s),error:e.error&&Ai(e.error,s),complete:e.complete&&Ai(e.complete,s)}):i=e}this.destination=new Ni(i)}}function Jr(n){wt.useDeprecatedSynchronousErrorHandling?function ht(n){wt.useDeprecatedSynchronousErrorHandling&&Fn&&(Fn.errorThrown=!0,Fn.error=n)}(n):Oi(n)}function Dr(n,e){const{onStoppedNotification:t}=wt;t&&en.setTimeout(()=>t(n,e))}const wr={closed:!0,next:Pi,error:function nr(n){throw n},complete:Pi},Sr="function"==typeof Symbol&&Symbol.observable||"@@observable";function $s(n){return n}let ke=(()=>{class n{constructor(t){t&&(this._subscribe=t)}lift(t){const r=new n;return r.source=this,r.operator=t,r}subscribe(t,r,i){const s=function ma(n){return n&&n instanceof Yr||function ku(n){return n&&Ee(n.next)&&Ee(n.error)&&Ee(n.complete)}(n)&&fa(n)}(t)?t:new Bn(t,r,i);return Ii(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return new(r=Ws(r))((i,s)=>{const o=new Bn({next:a=>{try{t(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:i});this.subscribe(o)})}_subscribe(t){var r;return null===(r=this.source)||void 0===r?void 0:r.subscribe(t)}[Sr](){return this}pipe(...t){return function ga(n){return 0===n.length?$s:1===n.length?n[0]:function(t){return n.reduce((r,i)=>i(r),t)}}(t)(this)}toPromise(t){return new(t=Ws(t))((r,i)=>{let s;this.subscribe(o=>s=o,o=>i(o),()=>r(s))})}}return n.create=e=>new n(e),n})();function Ws(n){var e;return null!==(e=n??wt.Promise)&&void 0!==e?e:Promise}const Fu=et(n=>function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Qr=(()=>{class n extends ke{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const r=new br(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new Fu}next(t){Ii(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const r of this.currentObservers)r.next(t)}})}error(t){Ii(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){Ii(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:r,isStopped:i,observers:s}=this;return r||i?Us:(this.currentObservers=null,s.push(t),new Ce(()=>{this.currentObservers=null,js(s,t)}))}_checkFinalizedStatuses(t){const{hasError:r,thrownError:i,isStopped:s}=this;r?t.error(i):s&&t.complete()}asObservable(){const t=new ke;return t.source=this,t}}return n.create=(e,t)=>new br(e,t),n})();class br extends Qr{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===r||r.call(t,e)}error(e){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===r||r.call(t,e)}complete(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)}_subscribe(e){var t,r;return null!==(r=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==r?r:Us}}function bt(n){return e=>{if(function Bu(n){return Ee(n?.lift)}(e))return e.lift(function(t){try{return n(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function Tt(n,e,t,r,i){return new Hu(n,e,t,r,i)}class Hu extends Yr{constructor(e,t,r,i,s,o){super(e),this.onFinalize=s,this.shouldUnsubscribe=o,this._next=t?function(a){try{t(a)}catch(l){e.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){e.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:t}=this;super.unsubscribe(),!t&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}}}function Te(n,e){return bt((t,r)=>{let i=0;t.subscribe(Tt(r,s=>{r.next(n.call(e,s,i++))}))})}function rr(n){return this instanceof rr?(this.v=n,this):new rr(n)}function ju(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i,r=t.apply(n,e||[]),s=[];return i={},o("next"),o("throw"),o("return"),i[Symbol.asyncIterator]=function(){return this},i;function o(h){r[h]&&(i[h]=function(g){return new Promise(function(m,y){s.push([h,g,m,y])>1||a(h,g)})})}function a(h,g){try{!function l(h){h.value instanceof rr?Promise.resolve(h.value.v).then(u,c):d(s[0][2],h)}(r[h](g))}catch(m){d(s[0][3],m)}}function u(h){a("next",h)}function c(h){a("throw",h)}function d(h,g){h(g),s.shift(),s.length&&a(s[0][0],s[0][1])}}function _a(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,e=n[Symbol.asyncIterator];return e?e.call(n):(n=function Ks(n){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&n[e],r=0;if(t)return t.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&r>=n.length&&(n=void 0),{value:n&&n[r++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(n),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(s){t[s]=n[s]&&function(o){return new Promise(function(a,l){!function i(s,o,a,l){Promise.resolve(l).then(function(u){s({value:u,done:a})},o)}(a,l,(o=n[s](o)).done,o.value)})}}}const va=n=>n&&"number"==typeof n.length&&"function"!=typeof n;function Ca(n){return Ee(n?.then)}function Da(n){return Ee(n[Sr])}function Zr(n){return Symbol.asyncIterator&&Ee(n?.[Symbol.asyncIterator])}function wa(n){return new TypeError(`You provided ${null!==n&&"object"==typeof n?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Js=function $u(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function Qs(n){return Ee(n?.[Js])}function Fi(n){return ju(this,arguments,function*(){const t=n.getReader();try{for(;;){const{value:r,done:i}=yield rr(t.read());if(i)return yield rr(void 0);yield yield rr(r)}}finally{t.releaseLock()}})}function Sa(n){return Ee(n?.getReader)}function tn(n){if(n instanceof ke)return n;if(null!=n){if(Da(n))return function zu(n){return new ke(e=>{const t=n[Sr]();if(Ee(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(n);if(va(n))return function ba(n){return new ke(e=>{for(let t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}(n);if(Ca(n))return function Wu(n){return new ke(e=>{n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Oi)})}(n);if(Zr(n))return Ta(n);if(Qs(n))return function qu(n){return new ke(e=>{for(const t of n)if(e.next(t),e.closed)return;e.complete()})}(n);if(Sa(n))return function Bi(n){return Ta(Fi(n))}(n)}throw wa(n)}function Ta(n){return new ke(e=>{(function Ku(n,e){var t,r,i,s;return function Xr(n,e,t,r){return new(t||(t=Promise))(function(s,o){function a(c){try{u(r.next(c))}catch(d){o(d)}}function l(c){try{u(r.throw(c))}catch(d){o(d)}}function u(c){c.done?s(c.value):function i(s){return s instanceof t?s:new t(function(o){o(s)})}(c.value).then(a,l)}u((r=r.apply(n,e||[])).next())})}(this,void 0,void 0,function*(){try{for(t=_a(n);!(r=yield t.next()).done;)if(e.next(r.value),e.closed)return}catch(o){i={error:o}}finally{try{r&&!r.done&&(s=t.return)&&(yield s.call(t))}finally{if(i)throw i.error}}e.complete()})})(n,e).catch(t=>e.error(t))})}function Vn(n,e,t,r=0,i=!1){const s=e.schedule(function(){t(),i?n.add(this.schedule(null,r)):this.unsubscribe()},r);if(n.add(s),!i)return s}function Tr(n,e,t=1/0){return Ee(e)?Tr((r,i)=>Te((s,o)=>e(r,s,i,o))(tn(n(r,i))),t):("number"==typeof e&&(t=e),bt((r,i)=>function Ma(n,e,t,r,i,s,o,a){const l=[];let u=0,c=0,d=!1;const h=()=>{d&&!l.length&&!u&&e.complete()},g=y=>u<r?m(y):l.push(y),m=y=>{s&&e.next(y),u++;let w=!1;tn(t(y,c++)).subscribe(Tt(e,C=>{i?.(C),s?g(C):e.next(C)},()=>{w=!0},void 0,()=>{if(w)try{for(u--;l.length&&u<r;){const C=l.shift();o?Vn(e,o,()=>m(C)):m(C)}h()}catch(C){e.error(C)}}))};return n.subscribe(Tt(e,g,()=>{d=!0,h()})),()=>{a?.()}}(r,i,n,t)))}function Oa(n=1/0){return Tr($s,n)}const Hi=new ke(n=>n.complete());function Xs(n){return n&&Ee(n.schedule)}function Vi(n){return n[n.length-1]}function ei(n){return Xs(Vi(n))?n.pop():void 0}function Mr(n,e=0){return bt((t,r)=>{t.subscribe(Tt(r,i=>Vn(r,n,()=>r.next(i),e),()=>Vn(r,n,()=>r.complete(),e),i=>Vn(r,n,()=>r.error(i),e)))})}function Or(n,e=0){return bt((t,r)=>{r.add(n.schedule(()=>t.subscribe(r),e))})}function ti(n,e){if(!n)throw new Error("Iterable cannot be null");return new ke(t=>{Vn(t,e,()=>{const r=n[Symbol.asyncIterator]();Vn(t,e,()=>{r.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}function xt(n,e){return e?function Pr(n,e){if(null!=n){if(Da(n))return function ji(n,e){return tn(n).pipe(Or(e),Mr(e))}(n,e);if(va(n))return function Yu(n,e){return new ke(t=>{let r=0;return e.schedule(function(){r===n.length?t.complete():(t.next(n[r++]),t.closed||this.schedule())})})}(n,e);if(Ca(n))return function Zs(n,e){return tn(n).pipe(Or(e),Mr(e))}(n,e);if(Zr(n))return ti(n,e);if(Qs(n))return function Ju(n,e){return new ke(t=>{let r;return Vn(t,e,()=>{r=n[Js](),Vn(t,e,()=>{let i,s;try{({value:i,done:s}=r.next())}catch(o){return void t.error(o)}s?t.complete():t.next(i)},0,!0)}),()=>Ee(r?.return)&&r.return()})}(n,e);if(Sa(n))return function Mt(n,e){return ti(Fi(n),e)}(n,e)}throw wa(n)}(n,e):tn(n)}function nn(...n){const e=ei(n),t=function ir(n,e){return"number"==typeof Vi(n)?n.pop():e}(n,1/0),r=n;return r.length?1===r.length?tn(r[0]):Oa(t)(xt(r,e)):Hi}function Cn(n){return n<=0?()=>Hi:bt((e,t)=>{let r=0;e.subscribe(Tt(t,i=>{++r<=n&&(t.next(i),n<=r&&t.complete())}))})}function Lt(n={}){const{connector:e=(()=>new Qr),resetOnError:t=!0,resetOnComplete:r=!0,resetOnRefCountZero:i=!0}=n;return s=>{let o=null,a=null,l=null,u=0,c=!1,d=!1;const h=()=>{a?.unsubscribe(),a=null},g=()=>{h(),o=l=null,c=d=!1},m=()=>{const y=o;g(),y?.unsubscribe()};return bt((y,w)=>{u++,!d&&!c&&h();const C=l=l??e();w.add(()=>{u--,0===u&&!d&&!c&&(a=Rt(m,i))}),C.subscribe(w),o||(o=new Bn({next:O=>C.next(O),error:O=>{d=!0,h(),a=Rt(g,t,O),C.error(O)},complete:()=>{c=!0,h(),a=Rt(g,r),C.complete()}}),xt(y).subscribe(o))})(s)}}function Rt(n,e,...t){return!0===e?(n(),null):!1===e?null:e(...t).pipe(Cn(1)).subscribe(()=>n())}function _e(n){for(let e in n)if(n[e]===_e)return e;throw Error("Could not find renamed property on target object.")}function pe(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(pe).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function pt(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const Gi=_e({__forward_ref__:_e});function ni(n){return n.__forward_ref__=ni,n.toString=function(){return pe(this())},n}function G(n){return ri(n)?n():n}function ri(n){return"function"==typeof n&&n.hasOwnProperty(Gi)&&n.__forward_ref__===ni}class I extends Error{constructor(e,t){super(function rn(n,e){return`NG0${Math.abs(n)}${e?": "+e.trim():""}`}(e,t)),this.code=e}}function Y(n){return"string"==typeof n?n:null==n?"":String(n)}function $i(n,e){throw new I(-201,!1)}function kt(n,e){null==n&&function ye(n,e,t,r){throw new Error(`ASSERTION ERROR: ${n}`+(null==r?"":` [Expected=> ${t} ${r} ${e} <=Actual]`))}(e,n,null,"!=")}function U(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Ft(n){return{providers:n.providers||[],imports:n.imports||[]}}function Zu(n){return ip(n,Na)||ip(n,op)}function ip(n,e){return n.hasOwnProperty(e)?n[e]:null}function sp(n){return n&&(n.hasOwnProperty(ec)||n.hasOwnProperty(SD))?n[ec]:null}const Na=_e({\u0275prov:_e}),ec=_e({\u0275inj:_e}),op=_e({ngInjectableDef:_e}),SD=_e({ngInjectorDef:_e});var K=(()=>((K=K||{})[K.Default=0]="Default",K[K.Host=1]="Host",K[K.Self=2]="Self",K[K.SkipSelf=4]="SkipSelf",K[K.Optional=8]="Optional",K))();let tc;function jn(n){const e=tc;return tc=n,e}function ap(n,e,t){const r=Zu(n);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:t&K.Optional?null:void 0!==e?e:void $i(pe(n))}function Ir(n){return{toString:n}.toString()}var wn=(()=>((wn=wn||{})[wn.OnPush=0]="OnPush",wn[wn.Default=1]="Default",wn))(),Sn=(()=>{return(n=Sn||(Sn={}))[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom",Sn;var n})();const ve=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),zi={},me=[],xa=_e({\u0275cmp:_e}),nc=_e({\u0275dir:_e}),rc=_e({\u0275pipe:_e}),lp=_e({\u0275mod:_e}),sr=_e({\u0275fac:_e}),to=_e({__NG_ELEMENT_ID__:_e});let TD=0;function Ot(n){return Ir(()=>{const t=!0===n.standalone,r={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===wn.OnPush,directiveDefs:null,pipeDefs:null,standalone:t,dependencies:t&&n.dependencies||null,getStandaloneInjector:null,selectors:n.selectors||me,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Sn.Emulated,id:"c"+TD++,styles:n.styles||me,_:null,setInput:null,schemas:n.schemas||null,tView:null},s=n.dependencies,o=n.features;return i.inputs=dp(n.inputs,r),i.outputs=dp(n.outputs),o&&o.forEach(a=>a(i)),i.directiveDefs=s?()=>("function"==typeof s?s():s).map(up).filter(cp):null,i.pipeDefs=s?()=>("function"==typeof s?s():s).map(mt).filter(cp):null,i})}function up(n){return De(n)||gt(n)}function cp(n){return null!==n}const OD={};function sn(n){return Ir(()=>{const e={type:n.type,bootstrap:n.bootstrap||me,declarations:n.declarations||me,imports:n.imports||me,exports:n.exports||me,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(OD[n.id]=n.type),e})}function dp(n,e){if(null==n)return zi;const t={};for(const r in n)if(n.hasOwnProperty(r)){let i=n[r],s=i;Array.isArray(i)&&(s=i[1],i=i[0]),t[i]=r,e&&(e[i]=s)}return t}const Pt=Ot;function We(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,standalone:!0===n.standalone,onDestroy:n.type.prototype.ngOnDestroy||null}}function De(n){return n[xa]||null}function gt(n){return n[nc]||null}function mt(n){return n[rc]||null}function It(n){return Array.isArray(n)&&"object"==typeof n[1]}function Tn(n){return Array.isArray(n)&&!0===n[1]}function oc(n){return 0!=(8&n.flags)}function Fa(n){return 2==(2&n.flags)}function Ba(n){return 1==(1&n.flags)}function Mn(n){return null!==n.template}function xD(n){return 0!=(256&n[2])}function li(n,e){return n.hasOwnProperty(sr)?n[sr]:null}class kD{constructor(e,t,r){this.previousValue=e,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}}function or(){return pp}function pp(n){return n.type.prototype.ngOnChanges&&(n.setInput=BD),FD}function FD(){const n=mp(this),e=n?.current;if(e){const t=n.previous;if(t===zi)n.previous=e;else for(let r in e)t[r]=e[r];n.current=null,this.ngOnChanges(e)}}function BD(n,e,t,r){const i=mp(n)||function HD(n,e){return n[gp]=e}(n,{previous:zi,current:null}),s=i.current||(i.current={}),o=i.previous,a=this.declaredInputs[t],l=o[a];s[a]=new kD(l&&l.currentValue,e,o===zi),n[r]=e}or.ngInherit=!0;const gp="__ngSimpleChanges__";function mp(n){return n[gp]||null}let dc;function fc(){return void 0!==dc?dc:typeof document<"u"?document:void 0}function Ne(n){return!!n.listen}const _p={createRenderer:(n,e)=>fc()};function He(n){for(;Array.isArray(n);)n=n[0];return n}function Ha(n,e){return He(e[n])}function ln(n,e){return He(e[n.index])}function hc(n,e){return n.data[e]}function Ji(n,e){return n[e]}function Vt(n,e){const t=e[n];return It(t)?t:t[0]}function yp(n){return 4==(4&n[2])}function pc(n){return 64==(64&n[2])}function Ar(n,e){return null==e?null:n[e]}function Ep(n){n[18]=0}function gc(n,e){n[5]+=e;let t=n,r=n[3];for(;null!==r&&(1===e&&1===t[5]||-1===e&&0===t[5]);)r[5]+=e,t=r,r=r[3]}const Q={lFrame:Op(null),bindingsEnabled:!0};function Cp(){return Q.bindingsEnabled}function M(){return Q.lFrame.lView}function fe(){return Q.lFrame.tView}function Ve(n){return Q.lFrame.contextLView=n,n[8]}function je(n){return Q.lFrame.contextLView=null,n}function qe(){let n=Dp();for(;null!==n&&64===n.type;)n=n.parent;return n}function Dp(){return Q.lFrame.currentTNode}function Un(n,e){const t=Q.lFrame;t.currentTNode=n,t.isParent=e}function mc(){return Q.lFrame.isParent}function _c(){Q.lFrame.isParent=!1}function _t(){const n=Q.lFrame;let e=n.bindingRootIndex;return-1===e&&(e=n.bindingRootIndex=n.tView.bindingStartIndex),e}function Qi(){return Q.lFrame.bindingIndex++}function lr(n){const e=Q.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}function nw(n,e){const t=Q.lFrame;t.bindingIndex=t.bindingRootIndex=n,yc(e)}function yc(n){Q.lFrame.currentDirectiveIndex=n}function bp(){return Q.lFrame.currentQueryIndex}function vc(n){Q.lFrame.currentQueryIndex=n}function iw(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function Tp(n,e,t){if(t&K.SkipSelf){let i=e,s=n;for(;!(i=i.parent,null!==i||t&K.Host||(i=iw(s),null===i||(s=s[15],10&i.type))););if(null===i)return!1;e=i,n=s}const r=Q.lFrame=Mp();return r.currentTNode=e,r.lView=n,!0}function ja(n){const e=Mp(),t=n[1];Q.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Mp(){const n=Q.lFrame,e=null===n?null:n.child;return null===e?Op(n):e}function Op(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function Pp(){const n=Q.lFrame;return Q.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Ip=Pp;function Ua(){const n=Pp();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function yt(){return Q.lFrame.selectedIndex}function Nr(n){Q.lFrame.selectedIndex=n}function xe(){const n=Q.lFrame;return hc(n.tView,n.selectedIndex)}function ui(){Q.lFrame.currentNamespace="svg"}function Ga(n,e){for(let t=e.directiveStart,r=e.directiveEnd;t<r;t++){const s=n.data[t].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:u,ngOnDestroy:c}=s;o&&(n.contentHooks||(n.contentHooks=[])).push(-t,o),a&&((n.contentHooks||(n.contentHooks=[])).push(t,a),(n.contentCheckHooks||(n.contentCheckHooks=[])).push(t,a)),l&&(n.viewHooks||(n.viewHooks=[])).push(-t,l),u&&((n.viewHooks||(n.viewHooks=[])).push(t,u),(n.viewCheckHooks||(n.viewCheckHooks=[])).push(t,u)),null!=c&&(n.destroyHooks||(n.destroyHooks=[])).push(t,c)}}function $a(n,e,t){Np(n,e,3,t)}function za(n,e,t,r){(3&n[2])===t&&Np(n,e,t,r)}function Cc(n,e){let t=n[2];(3&t)===e&&(t&=2047,t+=1,n[2]=t)}function Np(n,e,t,r){const s=r??-1,o=e.length-1;let a=0;for(let l=void 0!==r?65535&n[18]:0;l<o;l++)if("number"==typeof e[l+1]){if(a=e[l],null!=r&&a>=r)break}else e[l]<0&&(n[18]+=65536),(a<s||-1==s)&&(dw(n,t,e,l),n[18]=(4294901760&n[18])+l+2),l++}function dw(n,e,t,r){const i=t[r]<0,s=t[r+1],a=n[i?-t[r]:t[r]];if(i){if(n[2]>>11<n[18]>>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class oo{constructor(e,t,r){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}}function Wa(n,e,t){const r=Ne(n);let i=0;for(;i<t.length;){const s=t[i];if("number"==typeof s){if(0!==s)break;i++;const o=t[i++],a=t[i++],l=t[i++];r?n.setAttribute(e,a,l,o):e.setAttributeNS(o,a,l)}else{const o=s,a=t[++i];wc(o)?r&&n.setProperty(e,o,a):r?n.setAttribute(e,o,a):e.setAttribute(o,a),i++}}return i}function xp(n){return 3===n||4===n||6===n}function wc(n){return 64===n.charCodeAt(0)}function qa(n,e){if(null!==e&&0!==e.length)if(null===n||0===n.length)n=e.slice();else{let t=-1;for(let r=0;r<e.length;r++){const i=e[r];"number"==typeof i?t=i:0===t||Lp(n,t,i,null,-1===t||2===t?e[++r]:null)}}return n}function Lp(n,e,t,r,i){let s=0,o=n.length;if(-1===e)o=-1;else for(;s<n.length;){const a=n[s++];if("number"==typeof a){if(a===e){o=-1;break}if(a>e){o=s-1;break}}}for(;s<n.length;){const a=n[s];if("number"==typeof a)break;if(a===t){if(null===r)return void(null!==i&&(n[s+1]=i));if(r===n[s+1])return void(n[s+2]=i)}s++,null!==r&&s++,null!==i&&s++}-1!==o&&(n.splice(o,0,e),s=o+1),n.splice(s++,0,t),null!==r&&n.splice(s++,0,r),null!==i&&n.splice(s++,0,i)}function Rp(n){return-1!==n}function Xi(n){return 32767&n}function Zi(n,e){let t=function mw(n){return n>>16}(n),r=e;for(;t>0;)r=r[15],t--;return r}let Sc=!0;function Ka(n){const e=Sc;return Sc=n,e}let _w=0;const Gn={};function lo(n,e){const t=Tc(n,e);if(-1!==t)return t;const r=e[1];r.firstCreatePass&&(n.injectorIndex=e.length,bc(r.data,n),bc(e,null),bc(r.blueprint,null));const i=Ya(n,e),s=n.injectorIndex;if(Rp(i)){const o=Xi(i),a=Zi(i,e),l=a[1].data;for(let u=0;u<8;u++)e[s+u]=a[o+u]|l[o+u]}return e[s+8]=i,s}function bc(n,e){n.push(0,0,0,0,0,0,0,0,e)}function Tc(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Ya(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,r=null,i=e;for(;null!==i;){if(r=$p(i),null===r)return-1;if(t++,i=i[15],-1!==r.injectorIndex)return r.injectorIndex|t<<16}return-1}function Ja(n,e,t){!function yw(n,e,t){let r;"string"==typeof t?r=t.charCodeAt(0)||0:t.hasOwnProperty(to)&&(r=t[to]),null==r&&(r=t[to]=_w++);const i=255&r;e.data[n+(i>>5)]|=1<<i}(n,e,t)}function Bp(n,e,t){if(t&K.Optional)return n;$i()}function Hp(n,e,t,r){if(t&K.Optional&&void 0===r&&(r=null),0==(t&(K.Self|K.Host))){const i=n[9],s=jn(void 0);try{return i?i.get(e,r,t&K.Optional):ap(e,r,t&K.Optional)}finally{jn(s)}}return Bp(r,0,t)}function Vp(n,e,t,r=K.Default,i){if(null!==n){if(1024&e[2]){const o=function ww(n,e,t,r,i){let s=n,o=e;for(;null!==s&&null!==o&&1024&o[2]&&!(256&o[2]);){const a=jp(s,o,t,r|K.Self,Gn);if(a!==Gn)return a;let l=s.parent;if(!l){const u=o[21];if(u){const c=u.get(t,Gn,r);if(c!==Gn)return c}l=$p(o),o=o[15]}s=l}return i}(n,e,t,r,Gn);if(o!==Gn)return o}const s=jp(n,e,t,r,Gn);if(s!==Gn)return s}return Hp(e,t,r,i)}function jp(n,e,t,r,i){const s=function Cw(n){if("string"==typeof n)return n.charCodeAt(0)||0;const e=n.hasOwnProperty(to)?n[to]:void 0;return"number"==typeof e?e>=0?255&e:Dw:e}(t);if("function"==typeof s){if(!Tp(e,n,r))return r&K.Host?Bp(i,0,r):Hp(e,t,r,i);try{const o=s(r);if(null!=o||r&K.Optional)return o;$i()}finally{Ip()}}else if("number"==typeof s){let o=null,a=Tc(n,e),l=-1,u=r&K.Host?e[16][6]:null;for((-1===a||r&K.SkipSelf)&&(l=-1===a?Ya(n,e):e[a+8],-1!==l&&Gp(r,!1)?(o=e[1],a=Xi(l),e=Zi(l,e)):a=-1);-1!==a;){const c=e[1];if(Up(s,a,c.data)){const d=vw(a,e,t,o,r,u);if(d!==Gn)return d}l=e[a+8],-1!==l&&Gp(r,e[1].data[a+8]===u)&&Up(s,a,e)?(o=c,a=Xi(l),e=Zi(l,e)):a=-1}}return i}function vw(n,e,t,r,i,s){const o=e[1],a=o.data[n+8],c=Qa(a,o,t,null==r?Fa(a)&&Sc:r!=o&&0!=(3&a.type),i&K.Host&&s===a);return null!==c?uo(e,o,c,a):Gn}function Qa(n,e,t,r,i){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,c=s>>20,h=i?a+c:n.directiveEnd;for(let g=r?a:a+c;g<h;g++){const m=o[g];if(g<l&&t===m||g>=l&&m.type===t)return g}if(i){const g=o[l];if(g&&Mn(g)&&g.type===t)return l}return null}function uo(n,e,t,r){let i=n[t];const s=e.data;if(function fw(n){return n instanceof oo}(i)){const o=i;o.resolving&&function eo(n,e){const t=e?`. Dependency path: ${e.join(" > ")} > ${n}`:"";throw new I(-200,`Circular dependency in DI detected for ${n}${t}`)}(function de(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():Y(n)}(s[t]));const a=Ka(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?jn(o.injectImpl):null;Tp(n,r,K.Default);try{i=n[t]=o.factory(void 0,s,n,r),e.firstCreatePass&&t>=r.directiveStart&&function cw(n,e,t){const{ngOnChanges:r,ngOnInit:i,ngDoCheck:s}=e.type.prototype;if(r){const o=pp(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}i&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,i),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&jn(l),Ka(a),o.resolving=!1,Ip()}}return i}function Up(n,e,t){return!!(t[e+(n>>5)]&1<<n)}function Gp(n,e){return!(n&K.Self||n&K.Host&&e)}class es{constructor(e,t){this._tNode=e,this._lView=t}get(e,t,r){return Vp(this._tNode,this._lView,e,r,t)}}function Dw(){return new es(qe(),M())}function co(n){return Ir(()=>{const e=n.prototype.constructor,t=e[sr]||Mc(e),r=Object.prototype;let i=Object.getPrototypeOf(n.prototype).constructor;for(;i&&i!==r;){const s=i[sr]||Mc(i);if(s&&s!==t)return s;i=Object.getPrototypeOf(i)}return s=>new s})}function Mc(n){return ri(n)?()=>{const e=Mc(G(n));return e&&e()}:li(n)}function $p(n){const e=n[1],t=e.type;return 2===t?e.declTNode:1===t?n[6]:null}const ns="__parameters__";function is(n,e,t){return Ir(()=>{const r=function Pc(n){return function(...t){if(n){const r=n(...t);for(const i in r)this[i]=r[i]}}}(e);function i(...s){if(this instanceof i)return r.apply(this,s),this;const o=new i(...s);return a.annotation=o,a;function a(l,u,c){const d=l.hasOwnProperty(ns)?l[ns]:Object.defineProperty(l,ns,{value:[]})[ns];for(;d.length<=c;)d.push(null);return(d[c]=d[c]||[]).push(o),l}}return t&&(i.prototype=Object.create(t.prototype)),i.prototype.ngMetadataName=n,i.annotationCls=i,i})}class ne{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=U({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function jt(n,e){void 0===e&&(e=n);for(let t=0;t<n.length;t++){let r=n[t];Array.isArray(r)?(e===n&&(e=n.slice(0,t)),jt(r,e)):e!==n&&e.push(r)}return e}function ur(n,e){n.forEach(t=>Array.isArray(t)?ur(t,e):e(t))}function Wp(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Xa(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function po(n,e){const t=[];for(let r=0;r<n;r++)t.push(e);return t}function Ut(n,e,t){let r=ss(n,e);return r>=0?n[1|r]=t:(r=~r,function Mw(n,e,t,r){let i=n.length;if(i==e)n.push(t,r);else if(1===i)n.push(r,n[0]),n[0]=t;else{for(i--,n.push(n[i-1],n[i]);i>e;)n[i]=n[i-2],i--;n[e]=t,n[e+1]=r}}(n,r,e,t)),r}function Ac(n,e){const t=ss(n,e);if(t>=0)return n[1|t]}function ss(n,e){return function Yp(n,e,t){let r=0,i=n.length>>t;for(;i!==r;){const s=r+(i-r>>1),o=n[s<<t];if(e===o)return s<<t;o>e?i=s:r=s+1}return~(i<<t)}(n,e,1)}const go={},xc="__NG_DI_FLAG__",el="ngTempTokenPath",Rw=/\n/gm,Jp="__source";let mo;function tl(n){const e=mo;return mo=n,e}function Fw(n,e=K.Default){if(void 0===mo)throw new I(-203,"");return null===mo?ap(n,void 0,e):mo.get(n,e&K.Optional?null:void 0,e)}function A(n,e=K.Default){return(function bD(){return tc}()||Fw)(G(n),e)}function Lc(n){const e=[];for(let t=0;t<n.length;t++){const r=G(n[t]);if(Array.isArray(r)){if(0===r.length)throw new I(900,"");let i,s=K.Default;for(let o=0;o<r.length;o++){const a=r[o],l=Hw(a);"number"==typeof l?-1===l?i=a.token:s|=l:i=a}e.push(A(i,s))}else e.push(A(r))}return e}function _o(n,e){return n[xc]=e,n.prototype[xc]=e,n}function Hw(n){return n[xc]}const yo=_o(is("Optional"),8),nl=_o(is("SkipSelf"),4);let sl,ol;function as(n){return function kc(){if(void 0===sl&&(sl=null,ve.trustedTypes))try{sl=ve.trustedTypes.createPolicy("angular",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return sl}()?.createHTML(n)||n}function sg(n){return function Fc(){if(void 0===ol&&(ol=null,ve.trustedTypes))try{ol=ve.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return ol}()?.createHTML(n)||n}class ci{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class Zw extends ci{getTypeName(){return"HTML"}}class eS extends ci{getTypeName(){return"Style"}}class tS extends ci{getTypeName(){return"Script"}}class nS extends ci{getTypeName(){return"URL"}}class rS extends ci{getTypeName(){return"ResourceURL"}}function Gt(n){return n instanceof ci?n.changingThisBreaksApplicationSecurity:n}function $n(n,e){const t=lg(n);if(null!=t&&t!==e){if("ResourceURL"===t&&"URL"===e)return!0;throw new Error(`Required a safe ${e}, got a ${t} (see https://g.co/ng/security#xss)`)}return t===e}function lg(n){return n instanceof ci&&n.getTypeName()||null}class uS{constructor(e){this.inertDocumentHelper=e}getInertBodyElement(e){e="<body><remove></remove>"+e;try{const t=(new window.DOMParser).parseFromString(as(e),"text/html").body;return null===t?this.inertDocumentHelper.getInertBodyElement(e):(t.removeChild(t.firstChild),t)}catch{return null}}}class cS{constructor(e){if(this.defaultDoc=e,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const t=this.inertDocument.createElement("html");this.inertDocument.appendChild(t);const r=this.inertDocument.createElement("body");t.appendChild(r)}}getInertBodyElement(e){const t=this.inertDocument.createElement("template");if("content"in t)return t.innerHTML=as(e),t;const r=this.inertDocument.createElement("body");return r.innerHTML=as(e),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(r),r}stripCustomNsAttrs(e){const t=e.attributes;for(let i=t.length-1;0<i;i--){const o=t.item(i).name;("xmlns:ns1"===o||0===o.indexOf("ns1:"))&&e.removeAttribute(o)}let r=e.firstChild;for(;r;)r.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(r),r=r.nextSibling}}const fS=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,hS=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Co(n){return(n=String(n)).match(fS)||n.match(hS)?n:"unsafe:"+n}function zn(n){const e={};for(const t of n.split(","))e[t]=!0;return e}function Do(...n){const e={};for(const t of n)for(const r in t)t.hasOwnProperty(r)&&(e[r]=!0);return e}const dg=zn("area,br,col,hr,img,wbr"),fg=zn("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),hg=zn("rp,rt"),Bc=Do(dg,Do(fg,zn("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),Do(hg,zn("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),Do(hg,fg)),Hc=zn("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Vc=zn("srcset"),pg=Do(Hc,Vc,zn("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),zn("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),pS=zn("script,style,template");class gS{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(e){let t=e.firstChild,r=!0;for(;t;)if(t.nodeType===Node.ELEMENT_NODE?r=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,r&&t.firstChild)t=t.firstChild;else for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let i=this.checkClobberedElement(t,t.nextSibling);if(i){t=i;break}t=this.checkClobberedElement(t,t.parentNode)}return this.buf.join("")}startElement(e){const t=e.nodeName.toLowerCase();if(!Bc.hasOwnProperty(t))return this.sanitizedSomething=!0,!pS.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);const r=e.attributes;for(let i=0;i<r.length;i++){const s=r.item(i),o=s.name,a=o.toLowerCase();if(!pg.hasOwnProperty(a)){this.sanitizedSomething=!0;continue}let l=s.value;Hc[a]&&(l=Co(l)),Vc[a]&&(n=l,l=(n=String(n)).split(",").map(e=>Co(e.trim())).join(", ")),this.buf.push(" ",o,'="',gg(l),'"')}var n;return this.buf.push(">"),!0}endElement(e){const t=e.nodeName.toLowerCase();Bc.hasOwnProperty(t)&&!dg.hasOwnProperty(t)&&(this.buf.push("</"),this.buf.push(t),this.buf.push(">"))}chars(e){this.buf.push(gg(e))}checkClobberedElement(e,t){if(t&&(e.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`);return t}}const mS=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,_S=/([^\#-~ |!])/g;function gg(n){return n.replace(/&/g,"&").replace(mS,function(e){return"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";"}).replace(_S,function(e){return"&#"+e.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}let al;function mg(n,e){let t=null;try{al=al||function ug(n){const e=new cS(n);return function dS(){try{return!!(new window.DOMParser).parseFromString(as(""),"text/html")}catch{return!1}}()?new uS(e):e}(n);let r=e?String(e):"";t=al.getInertBodyElement(r);let i=5,s=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=s,s=t.innerHTML,t=al.getInertBodyElement(r)}while(r!==s);return as((new gS).sanitizeChildren(jc(t)||t))}finally{if(t){const r=jc(t)||t;for(;r.firstChild;)r.removeChild(r.firstChild)}}}function jc(n){return"content"in n&&function yS(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var Se=(()=>((Se=Se||{})[Se.NONE=0]="NONE",Se[Se.HTML=1]="HTML",Se[Se.STYLE=2]="STYLE",Se[Se.SCRIPT=3]="SCRIPT",Se[Se.URL=4]="URL",Se[Se.RESOURCE_URL=5]="RESOURCE_URL",Se))();function _g(n){const e=wo();return e?sg(e.sanitize(Se.HTML,n)||""):$n(n,"HTML")?sg(Gt(n)):mg(fc(),Y(n))}function ll(n){const e=wo();return e?e.sanitize(Se.URL,n)||"":$n(n,"URL")?Gt(n):Co(Y(n))}function wo(){const n=M();return n&&n[12]}function Gc(n){return n.ngOriginalError}class ls{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e);this._console.error("ERROR",e),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(e){let t=e&&Gc(e);for(;t&&Gc(t);)t=Gc(t);return t||null}}const $c=new Map;let xS=0;const Wc="__ngContext__";function ut(n,e){It(e)?(n[Wc]=e[20],function RS(n){$c.set(n[20],n)}(e)):n[Wc]=e}function So(n){const e=n[Wc];return"number"==typeof e?function vg(n){return $c.get(n)||null}(e):e||null}function qc(n){const e=So(n);return e?It(e)?e:e.lView:null}const $S=(()=>(typeof requestAnimationFrame<"u"&&requestAnimationFrame||setTimeout).bind(ve))();function bg(n){return n.ownerDocument.defaultView}function Tg(n){return n.ownerDocument}var $t=(()=>(($t=$t||{})[$t.Important=1]="Important",$t[$t.DashCase=2]="DashCase",$t))();function Yc(n,e){return undefined(n,e)}function bo(n){const e=n[3];return Tn(e)?e[3]:e}function Jc(n){return Ag(n[13])}function Qc(n){return Ag(n[4])}function Ag(n){for(;null!==n&&!Tn(n);)n=n[4];return n}function cs(n,e,t,r,i){if(null!=r){let s,o=!1;Tn(r)?s=r:It(r)&&(o=!0,r=r[0]);const a=He(r);0===n&&null!==t?null==i?Fg(e,t,a):di(e,t,a,i||null,!0):1===n&&null!==t?di(e,t,a,i||null,!0):2===n?function zg(n,e,t){const r=ul(n,e);r&&function rb(n,e,t,r){Ne(n)?n.removeChild(e,t,r):e.removeChild(t)}(n,r,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function ob(n,e,t,r,i){const s=t[7];s!==He(t)&&cs(e,n,r,s,i);for(let a=10;a<t.length;a++){const l=t[a];To(l[1],l,n,e,r,s)}}(e,n,s,t,i)}}function Zc(n,e,t){if(Ne(n))return n.createElement(e,t);{const r=null!==t?function GD(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(t):null;return null===r?n.createElement(e):n.createElementNS(r,e)}}function xg(n,e){const t=n[9],r=t.indexOf(e),i=e[3];512&e[2]&&(e[2]&=-513,gc(i,-1)),t.splice(r,1)}function ed(n,e){if(n.length<=10)return;const t=10+e,r=n[t];if(r){const i=r[17];null!==i&&i!==n&&xg(i,r),e>0&&(n[t-1][4]=r[4]);const s=Xa(n,10+e);!function YS(n,e){To(n,e,e[11],2,null,null),e[0]=null,e[6]=null}(r[1],r);const o=s[19];null!==o&&o.detachView(s[1]),r[3]=null,r[4]=null,r[2]&=-65}return r}function Lg(n,e){if(!(128&e[2])){const t=e[11];Ne(t)&&t.destroyNode&&To(n,e,t,3,null,null),function XS(n){let e=n[13];if(!e)return td(n[1],n);for(;e;){let t=null;if(It(e))t=e[13];else{const r=e[10];r&&(t=r)}if(!t){for(;e&&!e[4]&&e!==n;)It(e)&&td(e[1],e),e=e[3];null===e&&(e=n),It(e)&&td(e[1],e),t=e&&e[4]}e=t}}(e)}}function td(n,e){if(!(128&e[2])){e[2]&=-65,e[2]|=128,function nb(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let r=0;r<t.length;r+=2){const i=e[t[r]];if(!(i instanceof oo)){const s=t[r+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=i[s[o]],l=s[o+1];try{l.call(a)}finally{}}else try{s.call(i)}finally{}}}}(n,e),function tb(n,e){const t=n.cleanup,r=e[7];let i=-1;if(null!==t)for(let s=0;s<t.length-1;s+=2)if("string"==typeof t[s]){const o=t[s+1],a="function"==typeof o?o(e):He(e[o]),l=r[i=t[s+2]],u=t[s+3];"boolean"==typeof u?a.removeEventListener(t[s],l,u):u>=0?r[i=u]():r[i=-u].unsubscribe(),s+=2}else{const o=r[i=t[s+1]];t[s].call(o)}if(null!==r){for(let s=i+1;s<r.length;s++)r[s]();e[7]=null}}(n,e),1===e[1].type&&Ne(e[11])&&e[11].destroy();const t=e[17];if(null!==t&&Tn(e[3])){t!==e[3]&&xg(t,e);const r=e[19];null!==r&&r.detachView(n)}!function kS(n){$c.delete(n[20])}(e)}}function Rg(n,e,t){return function kg(n,e,t){let r=e;for(;null!==r&&40&r.type;)r=(e=r).parent;if(null===r)return t[0];if(2&r.flags){const i=n.data[r.directiveStart].encapsulation;if(i===Sn.None||i===Sn.Emulated)return null}return ln(r,t)}(n,e.parent,t)}function di(n,e,t,r,i){Ne(n)?n.insertBefore(e,t,r,i):(Hg(e)?e.content:e).insertBefore(t,r,i)}function Fg(n,e,t){Ne(n)?n.appendChild(e,t):(Hg(e)?e.content:e).appendChild(t)}function Bg(n,e,t,r,i){null!==r?di(n,e,t,r,i):Fg(n,e,t)}function Hg(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}function ul(n,e){return Ne(n)?n.parentNode(e):e.parentNode}function Vg(n,e,t){return Ug(n,e,t)}let Ug=function jg(n,e,t){return 40&n.type?ln(n,t):null};function cl(n,e,t,r){const i=Rg(n,r,e),s=e[11],a=Vg(r.parent||e[6],r,e);if(null!=i)if(Array.isArray(t))for(let l=0;l<t.length;l++)Bg(s,i,t[l],a,!1);else Bg(s,i,t,a,!1)}function dl(n,e){if(null!==e){const t=e.type;if(3&t)return ln(e,n);if(4&t)return rd(-1,n[e.index]);if(8&t){const r=e.child;if(null!==r)return dl(n,r);{const i=n[e.index];return Tn(i)?rd(-1,i):He(i)}}if(32&t)return Yc(e,n)()||He(n[e.index]);{const r=$g(n,e);return null!==r?Array.isArray(r)?r[0]:dl(bo(n[16]),r):dl(n,e.next)}}return null}function $g(n,e){return null!==e?n[16][6].projection[e.projection]:null}function rd(n,e){const t=10+n+1;if(t<e.length){const r=e[t],i=r[1].firstChild;if(null!==i)return dl(r,i)}return e[7]}function id(n,e,t,r,i,s,o){for(;null!=t;){const a=r[t.index],l=t.type;if(o&&0===e&&(a&&ut(He(a),r),t.flags|=4),64!=(64&t.flags))if(8&l)id(n,e,t.child,r,i,s,!1),cs(e,n,i,a,s);else if(32&l){const u=Yc(t,r);let c;for(;c=u();)cs(e,n,i,c,s);cs(e,n,i,a,s)}else 16&l?Wg(n,e,r,t,i,s):cs(e,n,i,a,s);t=o?t.projectionNext:t.next}}function To(n,e,t,r,i,s){id(t,r,n.firstChild,e,i,s,!1)}function Wg(n,e,t,r,i,s){const o=t[16],l=o[6].projection[r.projection];if(Array.isArray(l))for(let u=0;u<l.length;u++)cs(e,n,i,l[u],s);else id(n,e,l,o[3],i,s,!0)}function qg(n,e,t){Ne(n)?n.setAttribute(e,"style",t):e.style.cssText=t}function sd(n,e,t){Ne(n)?""===t?n.removeAttribute(e,"class"):n.setAttribute(e,"class",t):e.className=t}function Kg(n,e,t){let r=n.length;for(;;){const i=n.indexOf(e,t);if(-1===i)return i;if(0===i||n.charCodeAt(i-1)<=32){const s=e.length;if(i+s===r||n.charCodeAt(i+s)<=32)return i}t=i+1}}const Yg="ng-template";function lb(n,e,t){let r=0;for(;r<n.length;){let i=n[r++];if(t&&"class"===i){if(i=n[r],-1!==Kg(i.toLowerCase(),e,0))return!0}else if(1===i){for(;r<n.length&&"string"==typeof(i=n[r++]);)if(i.toLowerCase()===e)return!0;return!1}}return!1}function Jg(n){return 4===n.type&&n.value!==Yg}function ub(n,e,t){return e===(4!==n.type||t?n.value:Yg)}function cb(n,e,t){let r=4;const i=n.attrs||[],s=function hb(n){for(let e=0;e<n.length;e++)if(xp(n[e]))return e;return n.length}(i);let o=!1;for(let a=0;a<e.length;a++){const l=e[a];if("number"!=typeof l){if(!o)if(4&r){if(r=2|1&r,""!==l&&!ub(n,l,t)||""===l&&1===e.length){if(On(r))return!1;o=!0}}else{const u=8&r?l:e[++a];if(8&r&&null!==n.attrs){if(!lb(n.attrs,u,t)){if(On(r))return!1;o=!0}continue}const d=db(8&r?"class":l,i,Jg(n),t);if(-1===d){if(On(r))return!1;o=!0;continue}if(""!==u){let h;h=d>s?"":i[d+1].toLowerCase();const g=8&r?h:null;if(g&&-1!==Kg(g,u,0)||2&r&&u!==h){if(On(r))return!1;o=!0}}}}else{if(!o&&!On(r)&&!On(l))return!1;if(o&&On(l))continue;o=!1,r=l|1&r}}return On(r)||o}function On(n){return 0==(1&n)}function db(n,e,t,r){if(null===e)return-1;let i=0;if(r||!t){let s=!1;for(;i<e.length;){const o=e[i];if(o===n)return i;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=e[++i];for(;"string"==typeof a;)a=e[++i];continue}if(4===o)break;if(0===o){i+=4;continue}}i+=s?1:2}return-1}return function pb(n,e){let t=n.indexOf(4);if(t>-1)for(t++;t<n.length;){const r=n[t];if("number"==typeof r)return-1;if(r===e)return t;t++}return-1}(e,n)}function Qg(n,e,t=!1){for(let r=0;r<e.length;r++)if(cb(n,e[r],t))return!0;return!1}function gb(n,e){e:for(let t=0;t<e.length;t++){const r=e[t];if(n.length===r.length){for(let i=0;i<n.length;i++)if(n[i]!==r[i])continue e;return!0}}return!1}function Xg(n,e){return n?":not("+e.trim()+")":e}function mb(n){let e=n[0],t=1,r=2,i="",s=!1;for(;t<n.length;){let o=n[t];if("string"==typeof o)if(2&r){const a=n[++t];i+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&r?i+="."+o:4&r&&(i+=" "+o);else""!==i&&!On(o)&&(e+=Xg(s,i),i=""),r=o,s=s||!On(r);t++}return""!==i&&(e+=Xg(s,i)),e}const X={};function v(n){Zg(fe(),M(),yt()+n,!1)}function Zg(n,e,t,r){if(!r)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&$a(e,s,t)}else{const s=n.preOrderHooks;null!==s&&za(e,s,0,t)}Nr(t)}const rm=new ne("ENVIRONMENT_INITIALIZER"),im=new ne("INJECTOR_DEF_TYPES");function Sb(...n){return{\u0275providers:sm(0,n)}}function sm(n,...e){const t=[],r=new Set;let i;return ur(e,s=>{const o=s;od(o,t,[],r)&&(i||(i=[]),i.push(o))}),void 0!==i&&om(i,t),t}function om(n,e){for(let t=0;t<n.length;t++){const{providers:i}=n[t];ur(i,s=>{e.push(s)})}}function od(n,e,t,r){if(!(n=G(n)))return!1;let i=null,s=sp(n);const o=!s&&De(n);if(s||o){if(o&&!o.standalone)return!1;i=n}else{const l=n.ngModule;if(s=sp(l),!s)return!1;i=l}const a=r.has(i);if(o){if(a)return!1;if(r.add(i),o.dependencies){const l="function"==typeof o.dependencies?o.dependencies():o.dependencies;for(const u of l)od(u,e,t,r)}}else{if(!s)return!1;{if(null!=s.imports&&!a){let u;r.add(i);try{ur(s.imports,c=>{od(c,e,t,r)&&(u||(u=[]),u.push(c))})}finally{}void 0!==u&&om(u,e)}if(!a){const u=li(i)||(()=>new i);e.push({provide:i,useFactory:u,deps:me},{provide:im,useValue:i,multi:!0},{provide:rm,useValue:()=>A(i),multi:!0})}const l=s.providers;null==l||a||ur(l,c=>{e.push(c)})}}return i!==n&&void 0!==n.providers}const bb=_e({provide:String,useValue:_e});function ad(n){return null!==n&&"object"==typeof n&&bb in n}function fi(n){return"function"==typeof n}const ld=new ne("INJECTOR",-1);class um{get(e,t=go){if(t===go){const r=new Error(`NullInjectorError: No provider for ${pe(e)}!`);throw r.name="NullInjectorError",r}return t}}const ud=new ne("Set Injector scope."),fl={},Mb={};let cd;function dd(){return void 0===cd&&(cd=new um),cd}class Mo{}class cm extends Mo{constructor(e,t,r,i){super(),this.parent=t,this.source=r,this.scopes=i,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,hd(e,o=>this.processProvider(o)),this.records.set(ld,ds(void 0,this)),i.has("environment")&&this.records.set(Mo,ds(void 0,this));const s=this.records.get(ud);null!=s&&"string"==typeof s.value&&this.scopes.add(s.value),this.injectorDefTypes=new Set(this.get(im.multi,me,K.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const e of this._ngOnDestroyHooks)e.ngOnDestroy();for(const e of this._onDestroyHooks)e()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(e){this._onDestroyHooks.push(e)}get(e,t=go,r=K.Default){this.assertNotDestroyed();const i=tl(this),s=jn(void 0);try{if(!(r&K.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=function Nb(n){return"function"==typeof n||"object"==typeof n&&n instanceof ne}(e)&&Zu(e);a=l&&this.injectableDefInScope(l)?ds(fd(e),fl):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(r&K.Self?dd():this.parent).get(e,t=r&K.Optional&&t===go?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[el]=o[el]||[]).unshift(pe(e)),i)throw o;return function Vw(n,e,t,r){const i=n[el];throw e[Jp]&&i.unshift(e[Jp]),n.message=function jw(n,e,t,r=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.slice(2):n;let i=pe(e);if(Array.isArray(e))i=e.map(pe).join(" -> ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):pe(a)))}i=`{${s.join(", ")}}`}return`${t}${r?"("+r+")":""}[${i}]: ${n.replace(Rw,"\n ")}`}("\n"+n.message,i,t,r),n.ngTokenPath=i,n[el]=null,n}(o,e,"R3InjectorError",this.source)}throw o}finally{jn(s),tl(i)}}resolveInjectorInitializers(){const e=tl(this),t=jn(void 0);try{const r=this.get(rm.multi,me,K.Self);for(const i of r)i()}finally{tl(e),jn(t)}}toString(){const e=[],t=this.records;for(const r of t.keys())e.push(pe(r));return`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new I(205,!1)}processProvider(e){let t=fi(e=G(e))?e:G(e&&e.provide);const r=function Pb(n){return ad(n)?ds(void 0,n.useValue):ds(function dm(n,e,t){let r;if(fi(n)){const i=G(n);return li(i)||fd(i)}if(ad(n))r=()=>G(n.useValue);else if(function lm(n){return!(!n||!n.useFactory)}(n))r=()=>n.useFactory(...Lc(n.deps||[]));else if(function am(n){return!(!n||!n.useExisting)}(n))r=()=>A(G(n.useExisting));else{const i=G(n&&(n.useClass||n.provide));if(!function Ib(n){return!!n.deps}(n))return li(i)||fd(i);r=()=>new i(...Lc(n.deps))}return r}(n),fl)}(e);if(fi(e)||!0!==e.multi)this.records.get(t);else{let i=this.records.get(t);i||(i=ds(void 0,fl,!0),i.factory=()=>Lc(i.multi),this.records.set(t,i)),t=e,i.multi.push(e)}this.records.set(t,r)}hydrate(e,t){return t.value===fl&&(t.value=Mb,t.value=t.factory()),"object"==typeof t.value&&t.value&&function Ab(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}injectableDefInScope(e){if(!e.providedIn)return!1;const t=G(e.providedIn);return"string"==typeof t?"any"===t||this.scopes.has(t):this.injectorDefTypes.has(t)}}function fd(n){const e=Zu(n),t=null!==e?e.factory:li(n);if(null!==t)return t;if(n instanceof ne)throw new I(204,!1);if(n instanceof Function)return function Ob(n){const e=n.length;if(e>0)throw po(e,"?"),new I(204,!1);const t=function DD(n){const e=n&&(n[Na]||n[op]);if(e){const t=function wD(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new I(204,!1)}function ds(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function xb(n){return!!n.\u0275providers}function hd(n,e){for(const t of n)Array.isArray(t)?hd(t,e):xb(t)?hd(t.\u0275providers,e):e(t)}function fm(n,e=null,t=null,r){const i=hm(n,e,t,r);return i.resolveInjectorInitializers(),i}function hm(n,e=null,t=null,r,i=new Set){const s=[t||me,Sb(n)];return r=r||("object"==typeof n?void 0:pe(n)),new cm(s,e||dd(),r||null,i)}let un=(()=>{class n{static create(t,r){if(Array.isArray(t))return fm({name:""},r,t,"");{const i=t.name??"";return fm({name:i},t.parent,t.providers,i)}}}return n.THROW_IF_NOT_FOUND=go,n.NULL=new um,n.\u0275prov=U({token:n,providedIn:"any",factory:()=>A(ld)}),n.__NG_ELEMENT_ID__=-1,n})();function V(n,e=K.Default){const t=M();return null===t?A(n,e):Vp(qe(),t,G(n),e)}function pl(n,e){return n<<17|e<<2}function Pn(n){return n>>17&32767}function Cd(n){return 2|n}function dr(n){return(131068&n)>>2}function Dd(n,e){return-131069&n|e<<2}function wd(n){return 1|n}function xm(n,e){const t=n.contentQueries;if(null!==t)for(let r=0;r<t.length;r+=2){const i=t[r],s=t[r+1];if(-1!==s){const o=n.data[s];vc(i),o.contentQueries(2,e[s],s)}}}function Oo(n,e,t,r,i,s,o,a,l,u,c){const d=e.blueprint.slice();return d[0]=i,d[2]=76|r,(null!==c||n&&1024&n[2])&&(d[2]|=1024),Ep(d),d[3]=d[15]=n,d[8]=t,d[10]=o||n&&n[10],d[11]=a||n&&n[11],d[12]=l||n&&n[12]||null,d[9]=u||n&&n[9]||null,d[6]=s,d[20]=function LS(){return xS++}(),d[21]=c,d[16]=2==e.type?n[16]:d,d}function hs(n,e,t,r,i){let s=n.data[e];if(null===s)s=function Nd(n,e,t,r,i){const s=Dp(),o=mc(),l=n.data[e]=function fT(n,e,t,r,i,s){return{type:t,index:r,insertBeforeIndex:null,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:i,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,t,e,r,i);return null===n.firstChild&&(n.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l)),l}(n,e,t,r,i),function tw(){return Q.lFrame.inI18n}()&&(s.flags|=64);else if(64&s.type){s.type=t,s.value=r,s.attrs=i;const o=function so(){const n=Q.lFrame,e=n.currentTNode;return n.isParent?e:e.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return Un(s,!0),s}function ps(n,e,t,r){if(0===t)return-1;const i=e.length;for(let s=0;s<t;s++)e.push(r),n.blueprint.push(r),n.data.push(null);return i}function Po(n,e,t){ja(e);try{const r=n.viewQuery;null!==r&&jd(1,r,t);const i=n.template;null!==i&&Lm(n,e,i,1,t),n.firstCreatePass&&(n.firstCreatePass=!1),n.staticContentQueries&&xm(n,e),n.staticViewQueries&&jd(2,n.viewQuery,t);const s=n.components;null!==s&&function uT(n,e){for(let t=0;t<e.length;t++)IT(n,e[t])}(e,s)}catch(r){throw n.firstCreatePass&&(n.incompleteFirstPass=!0,n.firstCreatePass=!1),r}finally{e[2]&=-5,Ua()}}function gs(n,e,t,r){const i=e[2];if(128!=(128&i)){ja(e);try{Ep(e),function wp(n){return Q.lFrame.bindingIndex=n}(n.bindingStartIndex),null!==t&&Lm(n,e,t,2,r);const o=3==(3&i);if(o){const u=n.preOrderCheckHooks;null!==u&&$a(e,u,null)}else{const u=n.preOrderHooks;null!==u&&za(e,u,0,null),Cc(e,0)}if(function OT(n){for(let e=Jc(n);null!==e;e=Qc(e)){if(!e[2])continue;const t=e[9];for(let r=0;r<t.length;r++){const i=t[r],s=i[3];0==(512&i[2])&&gc(s,1),i[2]|=512}}}(e),function MT(n){for(let e=Jc(n);null!==e;e=Qc(e))for(let t=10;t<e.length;t++){const r=e[t],i=r[1];pc(r)&&gs(i,r,i.template,r[8])}}(e),null!==n.contentQueries&&xm(n,e),o){const u=n.contentCheckHooks;null!==u&&$a(e,u)}else{const u=n.contentHooks;null!==u&&za(e,u,1),Cc(e,1)}!function aT(n,e){const t=n.hostBindingOpCodes;if(null!==t)try{for(let r=0;r<t.length;r++){const i=t[r];if(i<0)Nr(~i);else{const s=i,o=t[++r],a=t[++r];nw(o,s),a(2,e[s])}}}finally{Nr(-1)}}(n,e);const a=n.components;null!==a&&function lT(n,e){for(let t=0;t<e.length;t++)PT(n,e[t])}(e,a);const l=n.viewQuery;if(null!==l&&jd(2,l,r),o){const u=n.viewCheckHooks;null!==u&&$a(e,u)}else{const u=n.viewHooks;null!==u&&za(e,u,2),Cc(e,2)}!0===n.firstUpdatePass&&(n.firstUpdatePass=!1),e[2]&=-41,512&e[2]&&(e[2]&=-513,gc(e[3],-1))}finally{Ua()}}}function cT(n,e,t,r){const i=e[10],o=yp(e);try{!o&&i.begin&&i.begin(),o&&Po(n,e,r),gs(n,e,t,r)}finally{!o&&i.end&&i.end()}}function Lm(n,e,t,r,i){const s=yt(),o=2&r;try{Nr(-1),o&&e.length>22&&Zg(n,e,22,!1),t(r,i)}finally{Nr(s)}}function Rm(n,e,t){if(oc(e)){const i=e.directiveEnd;for(let s=e.directiveStart;s<i;s++){const o=n.data[s];o.contentQueries&&o.contentQueries(1,t[s],s)}}}function xd(n,e,t){!Cp()||(function ET(n,e,t,r){const i=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||lo(t,e),ut(r,e);const o=t.initialInputs;for(let a=i;a<s;a++){const l=n.data[a],u=Mn(l);u&&ST(e,t,l);const c=uo(e,n,a,t);ut(c,e),null!==o&&bT(0,a-i,c,l,0,o),u&&(Vt(t.index,e)[8]=c)}}(n,e,t,ln(t,e)),128==(128&t.flags)&&function vT(n,e,t){const r=t.directiveStart,i=t.directiveEnd,s=t.index,o=function rw(){return Q.lFrame.currentDirectiveIndex}();try{Nr(s);for(let a=r;a<i;a++){const l=n.data[a],u=e[a];yc(a),(null!==l.hostBindings||0!==l.hostVars||null!==l.hostAttrs)&&Um(l,u)}}finally{Nr(-1),yc(o)}}(n,e,t))}function Ld(n,e,t=ln){const r=e.localNames;if(null!==r){let i=e.index+1;for(let s=0;s<r.length;s+=2){const o=r[s+1],a=-1===o?t(e,n):n[o];n[i++]=a}}}function km(n){const e=n.tView;return null===e||e.incompleteFirstPass?n.tView=_l(1,null,n.template,n.decls,n.vars,n.directiveDefs,n.pipeDefs,n.viewQuery,n.schemas,n.consts):e}function _l(n,e,t,r,i,s,o,a,l,u){const c=22+r,d=c+i,h=function dT(n,e){const t=[];for(let r=0;r<e;r++)t.push(r<n?null:X);return t}(c,d),g="function"==typeof u?u():u;return h[1]={type:n,blueprint:h,template:t,queries:null,viewQuery:a,declTNode:e,data:h.slice().fill(null,c),bindingStartIndex:c,expandoStartIndex:d,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:g,incompleteFirstPass:!1}}function Hm(n,e,t,r){const i=Km(e);null===t?i.push(r):(i.push(t),n.firstCreatePass&&Ym(n).push(r,i.length-1))}function Vm(n,e,t){for(let r in n)if(n.hasOwnProperty(r)){const i=n[r];(t=null===t?{}:t).hasOwnProperty(r)?t[r].push(e,i):t[r]=[e,i]}return t}function zt(n,e,t,r,i,s,o,a){const l=ln(e,t);let c,u=e.inputs;!a&&null!=u&&(c=u[r])?(Xm(n,t,c,r,i),Fa(e)&&function gT(n,e){const t=Vt(e,n);16&t[2]||(t[2]|=32)}(t,e.index)):3&e.type&&(r=function pT(n){return"class"===n?"className":"for"===n?"htmlFor":"formaction"===n?"formAction":"innerHtml"===n?"innerHTML":"readonly"===n?"readOnly":"tabindex"===n?"tabIndex":n}(r),i=null!=o?o(i,e.value||"",r):i,Ne(s)?s.setProperty(l,r,i):wc(r)||(l.setProperty?l.setProperty(r,i):l[r]=i))}function Rd(n,e,t,r){let i=!1;if(Cp()){const s=function CT(n,e,t){const r=n.directiveRegistry;let i=null;if(r)for(let s=0;s<r.length;s++){const o=r[s];Qg(t,o.selectors,!1)&&(i||(i=[]),Ja(lo(t,e),n,o.type),Mn(o)?(Gm(n,t),i.unshift(o)):i.push(o))}return i}(n,e,t),o=null===r?null:{"":-1};if(null!==s){i=!0,$m(t,n.data.length,s.length);for(let c=0;c<s.length;c++){const d=s[c];d.providersResolver&&d.providersResolver(d)}let a=!1,l=!1,u=ps(n,e,s.length,null);for(let c=0;c<s.length;c++){const d=s[c];t.mergedAttrs=qa(t.mergedAttrs,d.hostAttrs),zm(n,t,e,u,d),wT(u,d,o),null!==d.contentQueries&&(t.flags|=8),(null!==d.hostBindings||null!==d.hostAttrs||0!==d.hostVars)&&(t.flags|=128);const h=d.type.prototype;!a&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t.index),a=!0),!l&&(h.ngOnChanges||h.ngDoCheck)&&((n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t.index),l=!0),u++}!function hT(n,e){const r=e.directiveEnd,i=n.data,s=e.attrs,o=[];let a=null,l=null;for(let u=e.directiveStart;u<r;u++){const c=i[u],d=c.inputs,h=null===s||Jg(e)?null:TT(d,s);o.push(h),a=Vm(d,u,a),l=Vm(c.outputs,u,l)}null!==a&&(a.hasOwnProperty("class")&&(e.flags|=16),a.hasOwnProperty("style")&&(e.flags|=32)),e.initialInputs=o,e.inputs=a,e.outputs=l}(n,t)}o&&function DT(n,e,t){if(e){const r=n.localNames=[];for(let i=0;i<e.length;i+=2){const s=t[e[i+1]];if(null==s)throw new I(-301,!1);r.push(e[i],s)}}}(t,r,o)}return t.mergedAttrs=qa(t.mergedAttrs,t.attrs),i}function jm(n,e,t,r,i,s){const o=s.hostBindings;if(o){let a=n.hostBindingOpCodes;null===a&&(a=n.hostBindingOpCodes=[]);const l=~e.index;(function yT(n){let e=n.length;for(;e>0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(r,i,o)}}function Um(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Gm(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function wT(n,e,t){if(t){if(e.exportAs)for(let r=0;r<e.exportAs.length;r++)t[e.exportAs[r]]=n;Mn(e)&&(t[""]=n)}}function $m(n,e,t){n.flags|=1,n.directiveStart=e,n.directiveEnd=e+t,n.providerIndexes=e}function zm(n,e,t,r,i){n.data[r]=i;const s=i.factory||(i.factory=li(i.type)),o=new oo(s,Mn(i),V);n.blueprint[r]=o,t[r]=o,jm(n,e,0,r,ps(n,t,i.hostVars,X),i)}function ST(n,e,t){const r=ln(e,n),i=km(t),s=n[10],o=yl(n,Oo(n,i,null,t.onPush?32:16,r,e,s,s.createRenderer(r,t),null,null,null));n[e.index]=o}function Wn(n,e,t,r,i,s){const o=ln(n,e);!function kd(n,e,t,r,i,s,o){if(null==s)Ne(n)?n.removeAttribute(e,i,t):e.removeAttribute(i);else{const a=null==o?Y(s):o(s,r||"",i);Ne(n)?n.setAttribute(e,i,a,t):t?e.setAttributeNS(t,i,a):e.setAttribute(i,a)}}(e[11],o,s,n.value,t,r,i)}function bT(n,e,t,r,i,s){const o=s[e];if(null!==o){const a=r.setInput;for(let l=0;l<o.length;){const u=o[l++],c=o[l++],d=o[l++];null!==a?r.setInput(t,d,u,c):t[c]=d}}}function TT(n,e){let t=null,r=0;for(;r<e.length;){const i=e[r];if(0!==i)if(5!==i){if("number"==typeof i)break;n.hasOwnProperty(i)&&(null===t&&(t=[]),t.push(i,n[i],e[r+1])),r+=2}else r+=2;else r+=4}return t}function Wm(n,e,t,r){return new Array(n,!0,!1,e,null,0,r,t,null,null)}function PT(n,e){const t=Vt(e,n);if(pc(t)){const r=t[1];48&t[2]?gs(r,t,r.template,t[8]):t[5]>0&&Fd(t)}}function Fd(n){for(let r=Jc(n);null!==r;r=Qc(r))for(let i=10;i<r.length;i++){const s=r[i];if(512&s[2]){const o=s[1];gs(o,s,o.template,s[8])}else s[5]>0&&Fd(s)}const t=n[1].components;if(null!==t)for(let r=0;r<t.length;r++){const i=Vt(t[r],n);pc(i)&&i[5]>0&&Fd(i)}}function IT(n,e){const t=Vt(e,n),r=t[1];(function AT(n,e){for(let t=e.length;t<n.blueprint.length;t++)e.push(n.blueprint[t])})(r,t),Po(r,t,t[8])}function yl(n,e){return n[13]?n[14][4]=e:n[13]=e,n[14]=e,e}function Bd(n){for(;n;){n[2]|=32;const e=bo(n);if(xD(n)&&!e)return n;n=e}return null}function qm(n){!function Hd(n){for(let e=0;e<n.components.length;e++){const t=n.components[e],r=qc(t);if(null!==r){const i=r[1];cT(i,r,i.template,t)}}}(n[8])}function jd(n,e,t){vc(0),e(n,t)}const xT=(()=>Promise.resolve(null))();function Km(n){return n[7]||(n[7]=[])}function Ym(n){return n.cleanup||(n.cleanup=[])}function Qm(n,e){const t=n[9],r=t?t.get(ls,null):null;r&&r.handleError(e)}function Xm(n,e,t,r,i){for(let s=0;s<t.length;){const o=t[s++],a=t[s++],l=e[o],u=n.data[o];null!==u.setInput?u.setInput(l,i,r,a):l[a]=i}}function fr(n,e,t){const r=Ha(e,n);!function Ng(n,e,t){Ne(n)?n.setValue(e,t):e.textContent=t}(n[11],r,t)}function El(n,e,t){let r=t?n.styles:null,i=t?n.classes:null,s=0;if(null!==e)for(let o=0;o<e.length;o++){const a=e[o];"number"==typeof a?s=a:1==s?i=pt(i,a):2==s&&(r=pt(r,a+": "+e[++o]+";"))}t?n.styles=r:n.stylesWithoutHost=r,t?n.classes=i:n.classesWithoutHost=i}function $T(){const n=qe();Ga(M()[1],n)}let vl=null;function hi(){if(!vl){const n=ve.Symbol;if(n&&n.iterator)vl=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;t<e.length;++t){const r=e[t];"entries"!==r&&"size"!==r&&Map.prototype[r]===Map.prototype.entries&&(vl=r)}}}return vl}function Io(n){return!!function $d(n){return null!==n&&("function"==typeof n||"object"==typeof n)}(n)&&(Array.isArray(n)||!(n instanceof Map)&&hi()in n)}function qn(n,e,t){return n[e]=t}function ct(n,e,t){return!Object.is(n[e],t)&&(n[e]=t,!0)}function pi(n,e,t,r){const i=ct(n,e,t);return ct(n,e+1,r)||i}function kr(n,e,t,r){const i=M();return ct(i,Qi(),e)&&(fe(),Wn(xe(),i,n,e,t,r)),kr}function _s(n,e,t,r){return ct(n,Qi(),t)?e+Y(t)+r:X}function ys(n,e,t,r,i,s){const a=pi(n,function ar(){return Q.lFrame.bindingIndex}(),t,i);return lr(2),a?e+Y(t)+r+Y(i)+s:X}function oe(n,e,t,r,i,s,o,a){const l=M(),u=fe(),c=n+22,d=u.firstCreatePass?function tM(n,e,t,r,i,s,o,a,l){const u=e.consts,c=hs(e,n,4,o||null,Ar(u,a));Rd(e,t,c,Ar(u,l)),Ga(e,c);const d=c.tViews=_l(2,c,r,i,s,e.directiveRegistry,e.pipeRegistry,null,e.schemas,u);return null!==e.queries&&(e.queries.template(e,c),d.queries=e.queries.embeddedTView(c)),c}(c,u,l,e,t,r,i,s,o):u.data[c];Un(d,!1);const h=l[11].createComment("");cl(u,l,h,d),ut(h,l),yl(l,l[c]=Wm(h,l,h,d)),Ba(d)&&xd(u,l,d),null!=o&&Ld(l,d,a)}function Fr(n){return Ji(function ew(){return Q.lFrame.contextLView}(),22+n)}function k(n,e,t){const r=M();return ct(r,Qi(),e)&&zt(fe(),xe(),r,n,e,r[11],t,!1),k}function zd(n,e,t,r,i){const o=i?"class":"style";Xm(n,t,e.inputs[o],o,r)}function S(n,e,t,r){const i=M(),s=fe(),o=22+n,a=i[11],l=i[o]=Zc(a,e,function uw(){return Q.lFrame.currentNamespace}()),u=s.firstCreatePass?function rM(n,e,t,r,i,s,o){const a=e.consts,u=hs(e,n,2,i,Ar(a,s));return Rd(e,t,u,Ar(a,o)),null!==u.attrs&&El(u,u.attrs,!1),null!==u.mergedAttrs&&El(u,u.mergedAttrs,!0),null!==e.queries&&e.queries.elementStart(e,u),u}(o,s,i,0,e,t,r):s.data[o];Un(u,!0);const c=u.mergedAttrs;null!==c&&Wa(a,l,c);const d=u.classes;null!==d&&sd(a,l,d);const h=u.styles;return null!==h&&qg(a,l,h),64!=(64&u.flags)&&cl(s,i,l,u),0===function YD(){return Q.lFrame.elementDepthCount}()&&ut(l,i),function JD(){Q.lFrame.elementDepthCount++}(),Ba(u)&&(xd(s,i,u),Rm(s,u,i)),null!==r&&Ld(i,u),S}function b(){let n=qe();mc()?_c():(n=n.parent,Un(n,!1));const e=n;!function QD(){Q.lFrame.elementDepthCount--}();const t=fe();return t.firstCreatePass&&(Ga(t,n),oc(n)&&t.queries.elementEnd(n)),null!=e.classesWithoutHost&&function pw(n){return 0!=(16&n.flags)}(e)&&zd(t,e,M(),e.classesWithoutHost,!0),null!=e.stylesWithoutHost&&function gw(n){return 0!=(32&n.flags)}(e)&&zd(t,e,M(),e.stylesWithoutHost,!1),b}function ge(n,e,t,r){return S(n,e,t,r),b(),ge}function Br(n,e,t){const r=M(),i=fe(),s=n+22,o=i.firstCreatePass?function iM(n,e,t,r,i){const s=e.consts,o=Ar(s,r),a=hs(e,n,8,"ng-container",o);return null!==o&&El(a,o,!0),Rd(e,t,a,Ar(s,i)),null!==e.queries&&e.queries.elementStart(e,a),a}(s,i,r,e,t):i.data[s];Un(o,!0);const a=r[s]=r[11].createComment("");return cl(i,r,a,o),ut(a,r),Ba(o)&&(xd(i,r,o),Rm(i,o,r)),null!=t&&Ld(r,o),Br}function Hr(){let n=qe();const e=fe();return mc()?_c():(n=n.parent,Un(n,!1)),e.firstCreatePass&&(Ga(e,n),oc(n)&&e.queries.elementEnd(n)),Hr}function dt(){return M()}function Wd(n){return!!n&&"function"==typeof n.then}const sM=function D_(n){return!!n&&"function"==typeof n.subscribe};function J(n,e,t,r){const i=M(),s=fe(),o=qe();return function S_(n,e,t,r,i,s,o,a){const l=Ba(r),c=n.firstCreatePass&&Ym(n),d=e[8],h=Km(e);let g=!0;if(3&r.type||a){const w=ln(r,e),C=a?a(w):w,O=h.length,D=a?P=>a(He(P[r.index])):r.index;if(Ne(t)){let P=null;if(!a&&l&&(P=function oM(n,e,t,r){const i=n.cleanup;if(null!=i)for(let s=0;s<i.length-1;s+=2){const o=i[s];if(o===t&&i[s+1]===r){const a=e[7],l=i[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,i,r.index)),null!==P)(P.__ngLastListenerFn__||P).__ngNextListenerFn__=s,P.__ngLastListenerFn__=s,g=!1;else{s=qd(r,e,d,s,!1);const Z=t.listen(C,i,s);h.push(s,Z),c&&c.push(i,D,O,O+1)}}else s=qd(r,e,d,s,!0),C.addEventListener(i,s,o),h.push(s),c&&c.push(i,D,O,o)}else s=qd(r,e,d,s,!1);const m=r.outputs;let y;if(g&&null!==m&&(y=m[i])){const w=y.length;if(w)for(let C=0;C<w;C+=2){const ce=e[y[C]][y[C+1]].subscribe(s),Ie=h.length;h.push(s,ce),c&&c.push(i,r.index,Ie,-(Ie+1))}}}(s,i,i[11],o,n,e,!!t,r),J}function b_(n,e,t,r){try{return!1!==t(r)}catch(i){return Qm(n,i),!1}}function qd(n,e,t,r,i){return function s(o){if(o===Function)return r;Bd(2&n.flags?Vt(n.index,e):e);let l=b_(e,0,r,o),u=s.__ngNextListenerFn__;for(;u;)l=b_(e,0,u,o)&&l,u=u.__ngNextListenerFn__;return i&&!1===l&&(o.preventDefault(),o.returnValue=!1),l}}function ie(n=1){return function sw(n){return(Q.lFrame.contextLView=function ow(n,e){for(;n>0;)e=e[15],n--;return e}(n,Q.lFrame.contextLView))[8]}(n)}function aM(n,e){let t=null;const r=function fb(n){const e=n.attrs;if(null!=e){const t=e.indexOf(5);if(0==(1&t))return e[t+1]}return null}(n);for(let i=0;i<e.length;i++){const s=e[i];if("*"!==s){if(null===r?Qg(n,s,!0):gb(r,s))return i}else t=i}return t}function Wt(n,e,t){return Kn(n,"",e,"",t),Wt}function Kn(n,e,t,r,i){const s=M(),o=_s(s,e,t,r);return o!==X&&zt(fe(),xe(),s,n,o,s[11],i,!1),Kn}function k_(n,e,t,r,i){const s=n[t+1],o=null===e;let a=r?Pn(s):dr(s),l=!1;for(;0!==a&&(!1===l||o);){const c=n[a+1];cM(n[a],e)&&(l=!0,n[a+1]=r?wd(c):Cd(c)),a=r?Pn(c):dr(c)}l&&(n[t+1]=r?Cd(s):wd(s))}function cM(n,e){return null===n||null==e||(Array.isArray(n)?n[1]:n)===e||!(!Array.isArray(n)||"string"!=typeof e)&&ss(n,e)>=0}const Ye={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function F_(n){return n.substring(Ye.key,Ye.keyEnd)}function B_(n,e){const t=Ye.textEnd;return t===e?-1:(e=Ye.keyEnd=function pM(n,e,t){for(;e<t&&n.charCodeAt(e)>32;)e++;return e}(n,Ye.key=e,t),bs(n,e,t))}function bs(n,e,t){for(;e<t&&n.charCodeAt(e)<=32;)e++;return e}function No(n,e,t){return An(n,e,t,!1),No}function dn(n,e){return An(n,e,null,!0),dn}function Kd(n){Nn(Ut,Jn,n,!0)}function Jn(n,e){for(let t=function fM(n){return function V_(n){Ye.key=0,Ye.keyEnd=0,Ye.value=0,Ye.valueEnd=0,Ye.textEnd=n.length}(n),B_(n,bs(n,0,Ye.textEnd))}(e);t>=0;t=B_(e,t))Ut(n,F_(e),!0)}function An(n,e,t,r){const i=M(),s=fe(),o=lr(2);s.firstUpdatePass&&$_(s,n,o,r),e!==X&&ct(i,o,e)&&W_(s,s.data[yt()],i,i[11],n,i[o+1]=function SM(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=pe(Gt(n)))),n}(e,t),r,o)}function Nn(n,e,t,r){const i=fe(),s=lr(2);i.firstUpdatePass&&$_(i,null,s,r);const o=M();if(t!==X&&ct(o,s,t)){const a=i.data[yt()];if(K_(a,r)&&!G_(i,s)){let l=r?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(t=pt(l,t||"")),zd(i,a,o,t,r)}else!function wM(n,e,t,r,i,s,o,a){i===X&&(i=me);let l=0,u=0,c=0<i.length?i[0]:null,d=0<s.length?s[0]:null;for(;null!==c||null!==d;){const h=l<i.length?i[l+1]:void 0,g=u<s.length?s[u+1]:void 0;let y,m=null;c===d?(l+=2,u+=2,h!==g&&(m=d,y=g)):null===d||null!==c&&c<d?(l+=2,m=c):(u+=2,m=d,y=g),null!==m&&W_(n,e,t,r,m,y,o,a),c=l<i.length?i[l]:null,d=u<s.length?s[u]:null}}(i,a,o,o[11],o[s+1],o[s+1]=function DM(n,e,t){if(null==t||""===t)return me;const r=[],i=Gt(t);if(Array.isArray(i))for(let s=0;s<i.length;s++)n(r,i[s],!0);else if("object"==typeof i)for(const s in i)i.hasOwnProperty(s)&&n(r,s,i[s]);else"string"==typeof i&&e(r,i);return r}(n,e,t),r,s)}}function G_(n,e){return e>=n.expandoStartIndex}function $_(n,e,t,r){const i=n.data;if(null===i[t+1]){const s=i[yt()],o=G_(n,t);K_(s,r)&&null===e&&!o&&(e=!1),e=function yM(n,e,t,r){const i=function Ec(n){const e=Q.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}(n);let s=r?e.residualClasses:e.residualStyles;if(null===i)0===(r?e.classBindings:e.styleBindings)&&(t=xo(t=Yd(null,n,e,t,r),e.attrs,r),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==i)if(t=Yd(i,n,e,t,r),null===s){let l=function EM(n,e,t){const r=t?e.classBindings:e.styleBindings;if(0!==dr(r))return n[Pn(r)]}(n,e,r);void 0!==l&&Array.isArray(l)&&(l=Yd(null,n,e,l[1],r),l=xo(l,e.attrs,r),function vM(n,e,t,r){n[Pn(t?e.classBindings:e.styleBindings)]=r}(n,e,r,l))}else s=function CM(n,e,t){let r;const i=e.directiveEnd;for(let s=1+e.directiveStylingLast;s<i;s++)r=xo(r,n[s].hostAttrs,t);return xo(r,e.attrs,t)}(n,e,r)}return void 0!==s&&(r?e.residualClasses=s:e.residualStyles=s),t}(i,s,e,r),function lM(n,e,t,r,i,s){let o=s?e.classBindings:e.styleBindings,a=Pn(o),l=dr(o);n[r]=t;let c,u=!1;if(Array.isArray(t)){const d=t;c=d[1],(null===c||ss(d,c)>0)&&(u=!0)}else c=t;if(i)if(0!==l){const h=Pn(n[a+1]);n[r+1]=pl(h,a),0!==h&&(n[h+1]=Dd(n[h+1],r)),n[a+1]=function Qb(n,e){return 131071&n|e<<17}(n[a+1],r)}else n[r+1]=pl(a,0),0!==a&&(n[a+1]=Dd(n[a+1],r)),a=r;else n[r+1]=pl(l,0),0===a?a=r:n[l+1]=Dd(n[l+1],r),l=r;u&&(n[r+1]=Cd(n[r+1])),k_(n,c,r,!0),k_(n,c,r,!1),function uM(n,e,t,r,i){const s=i?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&ss(s,e)>=0&&(t[r+1]=wd(t[r+1]))}(e,c,n,r,s),o=pl(a,l),s?e.classBindings=o:e.styleBindings=o}(i,s,e,t,o,r)}}function Yd(n,e,t,r,i){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a<o&&(s=e[a],r=xo(r,s.hostAttrs,i),s!==n);)a++;return null!==n&&(t.directiveStylingLast=a),r}function xo(n,e,t){const r=t?1:2;let i=-1;if(null!==e)for(let s=0;s<e.length;s++){const o=e[s];"number"==typeof o?i=o:i===r&&(Array.isArray(n)||(n=void 0===n?[]:["",n]),Ut(n,o,!!t||e[++s]))}return void 0===n?null:n}function W_(n,e,t,r,i,s,o,a){if(!(3&e.type))return;const l=n.data,u=l[a+1];Dl(function bm(n){return 1==(1&n)}(u)?q_(l,e,t,i,dr(u),o):void 0)||(Dl(s)||function Sm(n){return 2==(2&n)}(u)&&(s=q_(l,null,t,i,a,o)),function ab(n,e,t,r,i){const s=Ne(n);if(e)i?s?n.addClass(t,r):t.classList.add(r):s?n.removeClass(t,r):t.classList.remove(r);else{let o=-1===r.indexOf("-")?void 0:$t.DashCase;if(null==i)s?n.removeStyle(t,r,o):t.style.removeProperty(r);else{const a="string"==typeof i&&i.endsWith("!important");a&&(i=i.slice(0,-10),o|=$t.Important),s?n.setStyle(t,r,i,o):t.style.setProperty(r,i,a?"important":"")}}}(r,o,Ha(yt(),t),i,s))}function q_(n,e,t,r,i,s){const o=null===e;let a;for(;i>0;){const l=n[i],u=Array.isArray(l),c=u?l[1]:l,d=null===c;let h=t[i+1];h===X&&(h=d?me:void 0);let g=d?Ac(h,r):c===r?h:void 0;if(u&&!Dl(g)&&(g=Ac(l,r)),Dl(g)&&(a=g,o))return a;const m=n[i+1];i=o?Pn(m):dr(m)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=Ac(l,r))}return a}function Dl(n){return void 0!==n}function K_(n,e){return 0!=(n.flags&(e?16:32))}function N(n,e=""){const t=M(),r=fe(),i=n+22,s=r.firstCreatePass?hs(r,i,1,e,null):r.data[i],o=t[i]=function Xc(n,e){return Ne(n)?n.createText(e):n.createTextNode(e)}(t[11],e);cl(r,t,o,s),Un(s,!1)}function z(n){return qt("",n,""),z}function qt(n,e,t){const r=M(),i=_s(r,n,e,t);return i!==X&&fr(r,yt(),i),qt}function Ts(n,e,t,r,i){const s=M(),o=ys(s,n,e,t,r,i);return o!==X&&fr(s,yt(),o),Ts}function Jd(n,e,t){Nn(Ut,Jn,_s(M(),n,e,t),!0)}const Os="en-US";let gy=Os;class z0{resolveComponentFactory(e){throw function $0(n){const e=Error(`No component factory found for ${pe(n)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=n,e}(e)}}let Ml=(()=>{class n{}return n.NULL=new z0,n})();class mi{}class Uy{}function K0(){return Is(qe(),M())}function Is(n,e){return new Qn(ln(n,e))}let Qn=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=K0,n})();function Y0(n){return n instanceof Qn?n.nativeElement:n}class Bo{}let X0=(()=>{class n{}return n.\u0275prov=U({token:n,providedIn:"root",factory:()=>null}),n})();class rf{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const Z0=new rf("14.0.1"),sf={};function Ol(n,e,t,r,i=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&r.push(He(s)),Tn(s))for(let a=10;a<s.length;a++){const l=s[a],u=l[1].firstChild;null!==u&&Ol(l[1],l,u,r)}const o=t.type;if(8&o)Ol(n,e,t.child,r);else if(32&o){const a=Yc(t,e);let l;for(;l=a();)r.push(l)}else if(16&o){const a=$g(e,t);if(Array.isArray(a))r.push(...a);else{const l=bo(e[16]);Ol(l[1],l,a,r,!0)}}t=i?t.projectionNext:t.next}return r}class Ho{constructor(e,t){this._lView=e,this._cdRefInjectingView=t,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const e=this._lView,t=e[1];return Ol(t,e,t.firstChild,[])}get context(){return this._lView[8]}set context(e){this._lView[8]=e}get destroyed(){return 128==(128&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const e=this._lView[3];if(Tn(e)){const t=e[8],r=t?t.indexOf(this):-1;r>-1&&(ed(e,r),Xa(t,r))}this._attachedToViewContainer=!1}Lg(this._lView[1],this._lView)}onDestroy(e){Hm(this._lView[1],this._lView,null,e)}markForCheck(){Bd(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){!function Vd(n,e,t){const r=e[10];r.begin&&r.begin();try{gs(n,e,n.template,t)}catch(i){throw Qm(e,i),i}finally{r.end&&r.end()}}(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new I(902,"");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function QS(n,e){To(n,e,e[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new I(902,"");this._appRef=e}}class eO extends Ho{constructor(e){super(e),this._view=e}detectChanges(){qm(this._view)}checkNoChanges(){}get context(){return null}}class of extends Ml{constructor(e){super(),this.ngModule=e}resolveComponentFactory(e){const t=De(e);return new af(t,this.ngModule)}}function $y(n){const e=[];for(let t in n)n.hasOwnProperty(t)&&e.push({propName:n[t],templateName:t});return e}class nO{constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,r){const i=this.injector.get(e,sf,r);return i!==sf||t===sf?i:this.parentInjector.get(e,t,r)}}class af extends Uy{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=function _b(n){return n.map(mb).join(",")}(e.selectors),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return $y(this.componentDef.inputs)}get outputs(){return $y(this.componentDef.outputs)}create(e,t,r,i){let s=(i=i||this.ngModule)instanceof Mo?i:i?.injector;s&&null!==this.componentDef.getStandaloneInjector&&(s=this.componentDef.getStandaloneInjector(s)||s);const o=s?new nO(e,s):e,a=o.get(Bo,_p),l=o.get(X0,null),u=a.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",d=r?function Bm(n,e,t){if(Ne(n))return n.selectRootElement(e,t===Sn.ShadowDom);let r="string"==typeof e?n.querySelector(e):e;return r.textContent="",r}(u,r,this.componentDef.encapsulation):Zc(a.createRenderer(null,this.componentDef),c,function tO(n){const e=n.toLowerCase();return"svg"===e?"svg":"math"===e?"math":null}(c)),h=this.componentDef.onPush?288:272,g=function u_(n,e){return{components:[],scheduler:n||$S,clean:xT,playerHandler:e||null,flags:0}}(),m=_l(0,null,null,1,0,null,null,null,null,null),y=Oo(null,m,g,h,null,null,a,u,l,o,null);let w,C;ja(y);try{const O=function a_(n,e,t,r,i,s){const o=t[1];t[22]=n;const l=hs(o,22,2,"#host",null),u=l.mergedAttrs=e.hostAttrs;null!==u&&(El(l,u,!0),null!==n&&(Wa(i,n,u),null!==l.classes&&sd(i,n,l.classes),null!==l.styles&&qg(i,n,l.styles)));const c=r.createRenderer(n,e),d=Oo(t,km(e),null,e.onPush?32:16,t[22],l,r,c,s||null,null,null);return o.firstCreatePass&&(Ja(lo(l,t),o,e.type),Gm(o,l),$m(l,t.length,1)),yl(t,d),t[22]=d}(d,this.componentDef,y,a,u);if(d)if(r)Wa(u,d,["ng-version",Z0.full]);else{const{attrs:D,classes:P}=function yb(n){const e=[],t=[];let r=1,i=2;for(;r<n.length;){let s=n[r];if("string"==typeof s)2===i?""!==s&&e.push(s,n[++r]):8===i&&t.push(s);else{if(!On(i))break;i=s}r++}return{attrs:e,classes:t}}(this.componentDef.selectors[0]);D&&Wa(u,d,D),P&&P.length>0&&sd(u,d,P.join(" "))}if(C=hc(m,22),void 0!==t){const D=C.projection=[];for(let P=0;P<this.ngContentSelectors.length;P++){const Z=t[P];D.push(null!=Z?Array.from(Z):null)}}w=function l_(n,e,t,r,i){const s=t[1],o=function _T(n,e,t){const r=qe();n.firstCreatePass&&(t.providersResolver&&t.providersResolver(t),zm(n,r,e,ps(n,e,1,null),t));const i=uo(e,n,r.directiveStart,r);ut(i,e);const s=ln(r,e);return s&&ut(s,e),i}(s,t,e);if(r.components.push(o),n[8]=o,null!==i)for(const l of i)l(o,e);if(e.contentQueries){const l=qe();e.contentQueries(1,o,l.directiveStart)}const a=qe();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(Nr(a.index),jm(t[1],a,0,a.directiveStart,a.directiveEnd,e),Um(e,o)),o}(O,this.componentDef,y,g,[$T]),Po(m,y,null)}finally{Ua()}return new iO(this.componentType,w,Is(C,y),y,C)}}class iO extends class q0{}{constructor(e,t,r,i,s){super(),this.location=r,this._rootLView=i,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new eO(i),this.componentType=e}get injector(){return new es(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}class zy extends mi{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new of(this);const r=function Bt(n,e){const t=n[lp]||null;if(!t&&!0===e)throw new Error(`Type ${pe(n)} does not have '\u0275mod' property.`);return t}(e);this._bootstrapComponents=function cr(n){return n instanceof Function?n():n}(r.bootstrap),this._r3Injector=hm(e,t,[{provide:mi,useValue:this},{provide:Ml,useValue:this.componentFactoryResolver}],pe(e),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this.get(e)}get(e,t=un.THROW_IF_NOT_FOUND,r=K.Default){return e===un||e===mi||e===ld?this:this._r3Injector.get(e,t,r)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class lf extends class W0{}{constructor(e){super(),this.moduleType=e}create(e){return new zy(this.moduleType,e)}}function Vo(n,e){const t=n[e];return t===X?void 0:t}function R(n,e){const t=fe();let r;const i=n+22;t.firstCreatePass?(r=function vO(n,e){if(e)for(let t=e.length-1;t>=0;t--){const r=e[t];if(n===r.name)return r}}(e,t.pipeRegistry),t.data[i]=r,r.onDestroy&&(t.destroyHooks||(t.destroyHooks=[])).push(i,r.onDestroy)):r=t.data[i];const s=r.factory||(r.factory=li(r.type)),o=jn(V);try{const a=Ka(!1),l=s();return Ka(a),function nM(n,e,t,r){t>=n.data.length&&(n.data[t]=null,n.blueprint[t]=null),e[t]=r}(t,M(),i,l),l}finally{jn(o)}}function F(n,e,t){const r=n+22,i=M(),s=Ji(i,r);return jo(i,r)?function qy(n,e,t,r,i,s){const o=e+t;return ct(n,o,i)?qn(n,o+1,s?r.call(s,i):r(i)):Vo(n,o+1)}(i,_t(),e,s.transform,t,s):s.transform(t)}function Xy(n,e,t,r){const i=n+22,s=M(),o=Ji(s,i);return jo(s,i)?function Ky(n,e,t,r,i,s,o){const a=e+t;return pi(n,a,i,s)?qn(n,a+2,o?r.call(o,i,s):r(i,s)):Vo(n,a+2)}(s,_t(),e,o.transform,t,r,o):o.transform(t,r)}function jo(n,e){return n[1].data[e].pure}function uf(n){return e=>{setTimeout(n,void 0,e)}}const Re=class SO extends Qr{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,r){let i=e,s=t||(()=>null),o=r;if(e&&"object"==typeof e){const l=e;i=l.next?.bind(l),s=l.error?.bind(l),o=l.complete?.bind(l)}this.__isAsync&&(s=uf(s),i&&(i=uf(i)),o&&(o=uf(o)));const a=super.subscribe({next:i,error:s,complete:o});return e instanceof Ce&&e.add(a),a}};function bO(){return this._results[hi()]()}class cf{constructor(e=!1){this._emitDistinctChangesOnly=e,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const t=hi(),r=cf.prototype;r[t]||(r[t]=bO)}get changes(){return this._changes||(this._changes=new Re)}get(e){return this._results[e]}map(e){return this._results.map(e)}filter(e){return this._results.filter(e)}find(e){return this._results.find(e)}reduce(e,t){return this._results.reduce(e,t)}forEach(e){this._results.forEach(e)}some(e){return this._results.some(e)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(e,t){const r=this;r.dirty=!1;const i=jt(e);(this._changesDetected=!function bw(n,e,t){if(n.length!==e.length)return!1;for(let r=0;r<n.length;r++){let i=n[r],s=e[r];if(t&&(i=t(i),s=t(s)),s!==i)return!1}return!0}(r._results,i,t))&&(r._results=i,r.length=i.length,r.last=i[this.length-1],r.first=i[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}let hr=(()=>{class n{}return n.__NG_ELEMENT_ID__=OO,n})();const TO=hr,MO=class extends TO{constructor(e,t,r){super(),this._declarationLView=e,this._declarationTContainer=t,this.elementRef=r}createEmbeddedView(e,t){const r=this._declarationTContainer.tViews,i=Oo(this._declarationLView,r,e,16,null,r.declTNode,null,null,null,null,t||null);i[17]=this._declarationLView[this._declarationTContainer.index];const o=this._declarationLView[19];return null!==o&&(i[19]=o.createEmbeddedView(r)),Po(r,i,e),new Ho(i)}};function OO(){return Pl(qe(),M())}function Pl(n,e){return 4&n.type?new MO(e,n,Is(n,e)):null}let Xn=(()=>{class n{}return n.__NG_ELEMENT_ID__=PO,n})();function PO(){return tE(qe(),M())}const IO=Xn,Zy=class extends IO{constructor(e,t,r){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=r}get element(){return Is(this._hostTNode,this._hostLView)}get injector(){return new es(this._hostTNode,this._hostLView)}get parentInjector(){const e=Ya(this._hostTNode,this._hostLView);if(Rp(e)){const t=Zi(e,this._hostLView),r=Xi(e);return new es(t[1].data[r+8],t)}return new es(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=eE(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,r){let i,s;"number"==typeof r?i=r:null!=r&&(i=r.index,s=r.injector);const o=e.createEmbeddedView(t||{},s);return this.insert(o,i),o}createComponent(e,t,r,i,s){const o=e&&!function ho(n){return"function"==typeof n}(e);let a;if(o)a=t;else{const d=t||{};a=d.index,r=d.injector,i=d.projectableNodes,s=d.environmentInjector||d.ngModuleRef}const l=o?e:new af(De(e)),u=r||this.parentInjector;if(!s&&null==l.ngModule){const h=(o?u:this.parentInjector).get(Mo,null);h&&(s=h)}const c=l.create(u,i,void 0,s);return this.insert(c.hostView,a),c}insert(e,t){const r=e._lView,i=r[1];if(function KD(n){return Tn(n[3])}(r)){const c=this.indexOf(e);if(-1!==c)this.detach(c);else{const d=r[3],h=new Zy(d,d[6],d[3]);h.detach(h.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function ZS(n,e,t,r){const i=10+r,s=t.length;r>0&&(t[i-1][4]=e),r<s-10?(e[4]=t[i],Wp(t,10+r,e)):(t.push(e),e[4]=null),e[3]=t;const o=e[17];null!==o&&t!==o&&function eb(n,e){const t=n[9];e[16]!==e[3][3][16]&&(n[2]=!0),null===t?n[9]=[e]:t.push(e)}(o,e);const a=e[19];null!==a&&a.insertView(n),e[2]|=64}(i,r,o,s);const a=rd(s,o),l=r[11],u=ul(l,o[7]);return null!==u&&function JS(n,e,t,r,i,s){r[0]=i,r[6]=e,To(n,r,t,1,i,s)}(i,o[6],l,r,u,a),e.attachToViewContainerRef(),Wp(df(o),s,e),e}move(e,t){return this.insert(e,t)}indexOf(e){const t=eE(this._lContainer);return null!==t?t.indexOf(e):-1}remove(e){const t=this._adjustIndex(e,-1),r=ed(this._lContainer,t);r&&(Xa(df(this._lContainer),t),Lg(r[1],r))}detach(e){const t=this._adjustIndex(e,-1),r=ed(this._lContainer,t);return r&&null!=Xa(df(this._lContainer),t)?new Ho(r):null}_adjustIndex(e,t=0){return e??this.length+t}};function eE(n){return n[8]}function df(n){return n[8]||(n[8]=[])}function tE(n,e){let t;const r=e[n.index];if(Tn(r))t=r;else{let i;if(8&n.type)i=He(r);else{const s=e[11];i=s.createComment("");const o=ln(n,e);di(s,ul(s,o),i,function ib(n,e){return Ne(n)?n.nextSibling(e):e.nextSibling}(s,o),!1)}e[n.index]=t=Wm(r,e,i,n),yl(e,t)}return new Zy(t,n,e)}class ff{constructor(e){this.queryList=e,this.matches=null}clone(){return new ff(this.queryList)}setDirty(){this.queryList.setDirty()}}class hf{constructor(e=[]){this.queries=e}createEmbeddedView(e){const t=e.queries;if(null!==t){const r=null!==e.contentQueries?e.contentQueries[0]:t.length,i=[];for(let s=0;s<r;s++){const o=t.getByIndex(s);i.push(this.queries[o.indexInDeclarationView].clone())}return new hf(i)}return null}insertView(e){this.dirtyQueriesWithMatches(e)}detachView(e){this.dirtyQueriesWithMatches(e)}dirtyQueriesWithMatches(e){for(let t=0;t<this.queries.length;t++)null!==oE(e,t).matches&&this.queries[t].setDirty()}}class nE{constructor(e,t,r=null){this.predicate=e,this.flags=t,this.read=r}}class pf{constructor(e=[]){this.queries=e}elementStart(e,t){for(let r=0;r<this.queries.length;r++)this.queries[r].elementStart(e,t)}elementEnd(e){for(let t=0;t<this.queries.length;t++)this.queries[t].elementEnd(e)}embeddedTView(e){let t=null;for(let r=0;r<this.length;r++){const i=null!==t?t.length:0,s=this.getByIndex(r).embeddedTView(e,i);s&&(s.indexInDeclarationView=r,null!==t?t.push(s):t=[s])}return null!==t?new pf(t):null}template(e,t){for(let r=0;r<this.queries.length;r++)this.queries[r].template(e,t)}getByIndex(e){return this.queries[e]}get length(){return this.queries.length}track(e){this.queries.push(e)}}class gf{constructor(e,t=-1){this.metadata=e,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=t}elementStart(e,t){this.isApplyingToNode(t)&&this.matchTNode(e,t)}elementEnd(e){this._declarationNodeIndex===e.index&&(this._appliesToNextNode=!1)}template(e,t){this.elementStart(e,t)}embeddedTView(e,t){return this.isApplyingToNode(e)?(this.crossesNgTemplate=!0,this.addMatch(-e.index,t),new gf(this.metadata)):null}isApplyingToNode(e){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const t=this._declarationNodeIndex;let r=e.parent;for(;null!==r&&8&r.type&&r.index!==t;)r=r.parent;return t===(null!==r?r.index:-1)}return this._appliesToNextNode}matchTNode(e,t){const r=this.metadata.predicate;if(Array.isArray(r))for(let i=0;i<r.length;i++){const s=r[i];this.matchTNodeWithReadOption(e,t,xO(t,s)),this.matchTNodeWithReadOption(e,t,Qa(t,e,s,!1,!1))}else r===hr?4&t.type&&this.matchTNodeWithReadOption(e,t,-1):this.matchTNodeWithReadOption(e,t,Qa(t,e,r,!1,!1))}matchTNodeWithReadOption(e,t,r){if(null!==r){const i=this.metadata.read;if(null!==i)if(i===Qn||i===Xn||i===hr&&4&t.type)this.addMatch(t.index,-2);else{const s=Qa(t,e,i,!1,!1);null!==s&&this.addMatch(t.index,s)}else this.addMatch(t.index,r)}}addMatch(e,t){null===this.matches?this.matches=[e,t]:this.matches.push(e,t)}}function xO(n,e){const t=n.localNames;if(null!==t)for(let r=0;r<t.length;r+=2)if(t[r]===e)return t[r+1];return null}function RO(n,e,t,r){return-1===t?function LO(n,e){return 11&n.type?Is(n,e):4&n.type?Pl(n,e):null}(e,n):-2===t?function kO(n,e,t){return t===Qn?Is(e,n):t===hr?Pl(e,n):t===Xn?tE(e,n):void 0}(n,e,r):uo(n,n[1],t,e)}function rE(n,e,t,r){const i=e[19].queries[r];if(null===i.matches){const s=n.data,o=t.matches,a=[];for(let l=0;l<o.length;l+=2){const u=o[l];a.push(u<0?null:RO(e,s[u],o[l+1],t.metadata.read))}i.matches=a}return i.matches}function mf(n,e,t,r){const i=n.queries.getByIndex(t),s=i.matches;if(null!==s){const o=rE(n,e,i,t);for(let a=0;a<s.length;a+=2){const l=s[a];if(l>0)r.push(o[a/2]);else{const u=s[a+1],c=e[-l];for(let d=10;d<c.length;d++){const h=c[d];h[17]===h[3]&&mf(h[1],h,u,r)}if(null!==c[9]){const d=c[9];for(let h=0;h<d.length;h++){const g=d[h];mf(g[1],g,u,r)}}}}}return r}function Uo(n){const e=M(),t=fe(),r=bp();vc(r+1);const i=oE(t,r);if(n.dirty&&yp(e)===(2==(2&i.metadata.flags))){if(null===i.matches)n.reset([]);else{const s=i.crossesNgTemplate?mf(t,e,r,[]):rE(t,e,i,r);n.reset(s,Y0),n.notifyOnChanges()}return!0}return!1}function Go(n,e,t){const r=fe();r.firstCreatePass&&(function sE(n,e,t){null===n.queries&&(n.queries=new pf),n.queries.track(new gf(e,t))}(r,new nE(n,e,t),-1),2==(2&e)&&(r.staticViewQueries=!0)),function iE(n,e,t){const r=new cf(4==(4&t));Hm(n,e,r,r.destroy),null===e[19]&&(e[19]=new hf),e[19].queries.push(new ff(r))}(r,M(),e)}function $o(){return function BO(n,e){return n[19].queries[e].queryList}(M(),bp())}function oE(n,e){return n.queries.getByIndex(e)}function Al(...n){}const bE=new ne("Application Initializer");let Nl=(()=>{class n{constructor(t){this.appInits=t,this.resolve=Al,this.reject=Al,this.initialized=!1,this.done=!1,this.donePromise=new Promise((r,i)=>{this.resolve=r,this.reject=i})}runInitializers(){if(this.initialized)return;const t=[],r=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let i=0;i<this.appInits.length;i++){const s=this.appInits[i]();if(Wd(s))t.push(s);else if(sM(s)){const o=new Promise((a,l)=>{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{r()}).catch(i=>{this.reject(i)}),0===t.length&&r(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(A(bE,8))},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const qo=new ne("AppId",{providedIn:"root",factory:function TE(){return`${Cf()}${Cf()}${Cf()}`}});function Cf(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const ME=new ne("Platform Initializer"),xl=new ne("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),oP=new ne("appBootstrapListener"),OE=new ne("AnimationModuleType");let PE=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();const pr=new ne("LocaleId",{providedIn:"root",factory:()=>function Bw(n,e=K.Default){return A(n,e)}(pr,K.Optional|K.SkipSelf)||function aP(){return typeof $localize<"u"&&$localize.locale||Os}()}),dP=(()=>Promise.resolve(0))();function Df(n){typeof Zone>"u"?dP.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class Je{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Re(!1),this.onMicrotaskEmpty=new Re(!1),this.onStable=new Re(!1),this.onError=new Re(!1),typeof Zone>"u")throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const i=this;i._nesting=0,i._outer=i._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(i._inner=i._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(i._inner=i._inner.fork(Zone.longStackTraceZoneSpec)),i.shouldCoalesceEventChangeDetection=!r&&t,i.shouldCoalesceRunChangeDetection=r,i.lastRequestAnimationFrameId=-1,i.nativeRequestAnimationFrame=function fP(){let n=ve.requestAnimationFrame,e=ve.cancelAnimationFrame;if(typeof Zone<"u"&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const r=e[Zone.__symbol__("OriginalDelegate")];r&&(e=r)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function gP(n){const e=()=>{!function pP(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(ve,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,Sf(n),n.isCheckStableRunning=!0,wf(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),Sf(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,r,i,s,o,a)=>{try{return IE(n),t.invokeTask(i,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),AE(n)}},onInvoke:(t,r,i,s,o,a,l)=>{try{return IE(n),t.invoke(i,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),AE(n)}},onHasTask:(t,r,i,s)=>{t.hasTask(i,s),r===i&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,Sf(n),wf(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,r,i,s)=>(t.handleError(i,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(i)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Je.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Je.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,r){return this._inner.run(e,t,r)}runTask(e,t,r,i){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+i,e,hP,Al,Al);try{return s.runTask(o,t,r)}finally{s.cancelTask(o)}}runGuarded(e,t,r){return this._inner.runGuarded(e,t,r)}runOutsideAngular(e){return this._outer.run(e)}}const hP={};function wf(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function Sf(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function IE(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function AE(n){n._nesting--,wf(n)}class mP{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Re,this.onMicrotaskEmpty=new Re,this.onStable=new Re,this.onError=new Re}run(e,t,r){return e.apply(t,r)}runGuarded(e,t,r){return e.apply(t,r)}runOutsideAngular(e){return e()}runTask(e,t,r,i){return e.apply(t,r)}}const NE=new ne(""),Ll=new ne("");let Mf,bf=(()=>{class n{constructor(t,r,i){this._ngZone=t,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Mf||(function _P(n){Mf=n}(i),i.addToWindow(r)),this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Je.assertNotInAngularZone(),Df(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Df(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(t)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,r,i){let s=-1;r&&r>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:i})}whenStable(t,r,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,r,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(t){this.registry.registerApplication(t,this)}unregisterApplication(t){this.registry.unregisterApplication(t)}findProviders(t,r,i){return[]}}return n.\u0275fac=function(t){return new(t||n)(A(Je),A(Tf),A(Ll))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),Tf=(()=>{class n{constructor(){this._applications=new Map}registerApplication(t,r){this._applications.set(t,r)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,r=!0){return Mf?.findTestabilityInTree(this,t,r)??null}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})(),Vr=null;const xE=new ne("AllowMultipleToken"),LE=new ne("PlatformOnDestroy");function kE(n,e,t=[]){const r=`Platform: ${e}`,i=new ne(r);return(s=[])=>{let o=Of();if(!o||o.injector.get(xE,!1)){const a=[...t,...s,{provide:i,useValue:!0}];n?n(a):function vP(n){if(Vr&&!Vr.get(xE,!1))throw new I(400,"");Vr=n;const e=n.get(BE);(function RE(n){const e=n.get(ME,null);e&&e.forEach(t=>t())})(n)}(function FE(n=[],e){return un.create({name:e,providers:[{provide:ud,useValue:"platform"},{provide:LE,useValue:()=>Vr=null},...n]})}(a,r))}return function DP(n){const e=Of();if(!e)throw new I(401,"");return e}()}}function Of(){return Vr?.get(BE)??null}let BE=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,r){const i=function wP(n,e){let t;return t="noop"===n?new mP:("zone.js"===n?void 0:n)||new Je(e),t}(r?.ngZone,function HE(n){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!n||!n.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!n||!n.ngZoneRunCoalescing)||!1}}(r)),s=[{provide:Je,useValue:i}];return i.run(()=>{const o=un.create({providers:s,parent:this.injector,name:t.moduleType.name}),a=t.create(o),l=a.injector.get(ls,null);if(!l)throw new I(402,"");return i.runOutsideAngular(()=>{const u=i.onError.subscribe({next:c=>{l.handleError(c)}});a.onDestroy(()=>{Rl(this._modules,a),u.unsubscribe()})}),function VE(n,e,t){try{const r=t();return Wd(r)?r.catch(i=>{throw e.runOutsideAngular(()=>n.handleError(i)),i}):r}catch(r){throw e.runOutsideAngular(()=>n.handleError(r)),r}}(l,i,()=>{const u=a.injector.get(Nl);return u.runInitializers(),u.donePromise.then(()=>(function my(n){kt(n,"Expected localeId to be defined"),"string"==typeof n&&(gy=n.toLowerCase().replace(/_/g,"-"))}(a.injector.get(pr,Os)||Os),this._moduleDoBootstrap(a),a))})})}bootstrapModule(t,r=[]){const i=jE({},r);return function yP(n,e,t){const r=new lf(t);return Promise.resolve(r)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,i))}_moduleDoBootstrap(t){const r=t.injector.get(Pf);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(i=>r.bootstrap(i));else{if(!t.instance.ngDoBootstrap)throw new I(403,"");t.instance.ngDoBootstrap(r)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new I(404,"");this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r()),this._injector.get(LE,null)?.(),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(A(un))},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();function jE(n,e){return Array.isArray(e)?e.reduce(jE,n):{...n,...e}}let Pf=(()=>{class n{constructor(t,r,i,s){this._zone=t,this._injector=r,this._exceptionHandler=i,this._initStatus=s,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new ke(l=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{l.next(this._stable),l.complete()})}),a=new ke(l=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{Je.assertNotInAngularZone(),Df(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,l.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{Je.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{l.next(!1)}))});return()=>{u.unsubscribe(),c.unsubscribe()}});this.isStable=nn(o,a.pipe(Lt()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(t,r){const i=t instanceof Uy;if(!this._initStatus.done)throw!i&&function Wo(n){const e=De(n)||gt(n)||mt(n);return null!==e&&e.standalone}(t),new I(405,false);let s;s=i?t:this._injector.get(Ml).resolveComponentFactory(t),this.componentTypes.push(s.componentType);const o=function EP(n){return n.isBoundToModule}(s)?void 0:this._injector.get(mi),l=s.create(un.NULL,[],r||s.selector,o),u=l.location.nativeElement,c=l.injector.get(NE,null);return c?.registerApplication(u),l.onDestroy(()=>{this.detachView(l.hostView),Rl(this.components,l),c?.unregisterApplication(u)}),this._loadComponent(l),l}tick(){if(this._runningTick)throw new I(101,"");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){const r=t;Rl(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(oP,[]).concat(this._bootstrapListeners).forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Rl(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new I(406,false);const t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return n.\u0275fac=function(t){return new(t||n)(A(Je),A(un),A(ls),A(Nl))},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function Rl(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}let GE=!0,WE=(()=>{class n{}return n.__NG_ELEMENT_ID__=TP,n})();function TP(n){return function MP(n,e,t){if(Fa(n)&&!t){const r=Vt(n.index,e);return new Ho(r,r)}return 47&n.type?new Ho(e[16],e):null}(qe(),M(),16==(16&n))}class YE{constructor(){}supports(e){return Io(e)}create(e){return new xP(e)}}const NP=(n,e)=>e;class xP{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||NP}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,r=this._removalsHead,i=0,s=null;for(;t||r;){const o=!r||t&&t.currentIndex<QE(r,i,s)?t:r,a=QE(o,i,s),l=o.currentIndex;if(o===r)i--,r=r._nextRemoved;else if(t=t._next,null==o.previousIndex)i++;else{s||(s=[]);const u=a-i,c=l-i;if(u!=c){for(let h=0;h<u;h++){const g=h<s.length?s[h]:s[h]=0,m=g+h;c<=m&&m<u&&(s[h]=g+1)}s[o.previousIndex]=c-u}}a!==l&&e(o,a,l)}}forEachPreviousItem(e){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachMovedItem(e){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}forEachIdentityChange(e){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)e(t)}diff(e){if(null==e&&(e=[]),!Io(e))throw new I(900,"");return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let i,s,o,t=this._itHead,r=!1;if(Array.isArray(e)){this.length=e.length;for(let a=0;a<this.length;a++)s=e[a],o=this._trackByFn(a,s),null!==t&&Object.is(t.trackById,o)?(r&&(t=this._verifyReinsertion(t,s,o,a)),Object.is(t.item,s)||this._addIdentityChange(t,s)):(t=this._mismatch(t,s,o,a),r=!0),t=t._next}else i=0,function ZT(n,e){if(Array.isArray(n))for(let t=0;t<n.length;t++)e(n[t]);else{const t=n[hi()]();let r;for(;!(r=t.next()).done;)e(r.value)}}(e,a=>{o=this._trackByFn(i,a),null!==t&&Object.is(t.trackById,o)?(r&&(t=this._verifyReinsertion(t,a,o,i)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,i),r=!0),t=t._next,i++}),this.length=i;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,r,i){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,i)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(r,i))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,i)):e=this._addAfter(new LP(t,r),s,i),e}_verifyReinsertion(e,t,r,i){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==s?e=this._reinsertAfter(s,e._prev,i):e.currentIndex!=i&&(e.currentIndex=i,this._addToMoves(e,i)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const i=e._prevRemoved,s=e._nextRemoved;return null===i?this._removalsHead=s:i._nextRemoved=s,null===s?this._removalsTail=i:s._prevRemoved=i,this._insertAfter(e,t,r),this._addToMoves(e,r),e}_moveAfter(e,t,r){return this._unlink(e),this._insertAfter(e,t,r),this._addToMoves(e,r),e}_addAfter(e,t,r){return this._insertAfter(e,t,r),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,r){const i=null===t?this._itHead:t._next;return e._next=i,e._prev=t,null===i?this._itTail=e:i._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new JE),this._linkedRecords.put(e),e.currentIndex=r,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,r=e._next;return null===t?this._itHead=r:t._next=r,null===r?this._itTail=t:r._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new JE),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class LP{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class RP{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===t||t<=r.currentIndex)&&Object.is(r.trackById,e))return r;return null}remove(e){const t=e._prevDup,r=e._nextDup;return null===t?this._head=r:t._nextDup=r,null===r?this._tail=t:r._prevDup=t,null===this._head}}class JE{constructor(){this.map=new Map}put(e){const t=e.trackById;let r=this.map.get(t);r||(r=new RP,this.map.set(t,r)),r.add(e)}get(e,t){const i=this.map.get(e);return i?i.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function QE(n,e,t){const r=n.previousIndex;if(null===r)return r;let i=0;return t&&r<t.length&&(i=t[r]),r+e+i}function ZE(){return new Bl([new YE])}let Bl=(()=>{class n{constructor(t){this.factories=t}static create(t,r){if(null!=r){const i=r.factories.slice();t=t.concat(i)}return new n(t)}static extend(t){return{provide:n,useFactory:r=>n.create(t,r||ZE()),deps:[[n,new nl,new yo]]}}find(t){const r=this.factories.find(i=>i.supports(t));if(null!=r)return r;throw new I(901,"")}}return n.\u0275prov=U({token:n,providedIn:"root",factory:ZE}),n})();const VP=kE(null,"core",[]);let jP=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(A(Pf))},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({}),n})(),Hl=null;function xs(){return Hl}const Qe=new ne("DocumentToken");function cv(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const r=t.indexOf("="),[i,s]=-1==r?[t,""]:[t.slice(0,r),t.slice(r+1)];if(i.trim()===e)return decodeURIComponent(s)}return null}class xI{constructor(e,t,r,i){this.$implicit=e,this.ngForOf=t,this.index=r,this.count=i}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let yi=(()=>{class n{constructor(t,r,i){this._viewContainer=t,this._template=r,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const t=this._ngForOf;!this._differ&&t&&(this._differ=this._differs.find(t).create(this.ngForTrackBy))}if(this._differ){const t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){const r=this._viewContainer;t.forEachOperation((i,s,o)=>{if(null==i.previousIndex)r.createEmbeddedView(this._template,new xI(i.item,this._ngForOf,-1,-1),null===o?void 0:o);else if(null==o)r.remove(null===s?void 0:s);else if(null!==s){const a=r.get(s);r.move(a,o),fv(a,i)}});for(let i=0,s=r.length;i<s;i++){const a=r.get(i).context;a.index=i,a.count=s,a.ngForOf=this._ngForOf}t.forEachIdentityChange(i=>{fv(r.get(i.currentIndex),i)})}static ngTemplateContextGuard(t,r){return!0}}return n.\u0275fac=function(t){return new(t||n)(V(Xn),V(hr),V(Bl))},n.\u0275dir=Pt({type:n,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),n})();function fv(n,e){n.context.$implicit=e.item}let Ei=(()=>{class n{constructor(t,r){this._viewContainer=t,this._context=new LI,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){hv("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){hv("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}}return n.\u0275fac=function(t){return new(t||n)(V(Xn),V(hr))},n.\u0275dir=Pt({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),n})();class LI{constructor(){this.$implicit=null,this.ngIf=null}}function hv(n,e){if(e&&!e.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${pe(e)}'.`)}let qf=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({}),n})();const mv="browser";class yv{}class Kf extends class fA extends class $P{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){!function GP(n){Hl||(Hl=n)}(new Kf)}onAndCancel(e,t,r){return e.addEventListener(t,r,!1),()=>{e.removeEventListener(t,r,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=function hA(){return Qo=Qo||document.querySelector("base"),Qo?Qo.getAttribute("href"):null}();return null==t?null:function pA(n){Yl=Yl||document.createElement("a"),Yl.setAttribute("href",n);const e=Yl.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Qo=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return cv(document.cookie,e)}}let Yl,Qo=null;const Ev=new ne("TRANSITION_ID"),mA=[{provide:bE,useFactory:function gA(n,e,t){return()=>{t.get(Nl).donePromise.then(()=>{const r=xs(),i=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s<i.length;s++)r.remove(i[s])})}},deps:[Ev,Qe,un],multi:!0}];let yA=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();const Xo=new ne("EventManagerPlugins");let Jl=(()=>{class n{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(i=>i.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,r,i){return this._findPluginFor(r).addEventListener(t,r,i)}addGlobalEventListener(t,r,i){return this._findPluginFor(r).addGlobalEventListener(t,r,i)}getZone(){return this._zone}_findPluginFor(t){const r=this._eventNameToPlugin.get(t);if(r)return r;const i=this._plugins;for(let s=0;s<i.length;s++){const o=i[s];if(o.supports(t))return this._eventNameToPlugin.set(t,o),o}throw new Error(`No event manager plugin found for event ${t}`)}}return n.\u0275fac=function(t){return new(t||n)(A(Xo),A(Je))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class Yf{constructor(e){this._doc=e}addGlobalEventListener(e,t,r){const i=xs().getGlobalEventTarget(this._doc,e);if(!i)throw new Error(`Unsupported event target ${i} for event ${t}`);return this.addEventListener(i,t,r)}}let vv=(()=>{class n{constructor(){this._stylesSet=new Set}addStyles(t){const r=new Set;t.forEach(i=>{this._stylesSet.has(i)||(this._stylesSet.add(i),r.add(i))}),this.onStylesAdded(r)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),Zo=(()=>{class n extends vv{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,r,i){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,i.push(r.appendChild(o))})}addHost(t){const r=[];this._addStylesToHost(this._stylesSet,t,r),this._hostNodes.set(t,r)}removeHost(t){const r=this._hostNodes.get(t);r&&r.forEach(Cv),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((r,i)=>{this._addStylesToHost(t,i,r)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(Cv))}}return n.\u0275fac=function(t){return new(t||n)(A(Qe))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();function Cv(n){xs().remove(n)}const Jf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},Qf=/%COMP%/g;function Ql(n,e,t){for(let r=0;r<e.length;r++){let i=e[r];Array.isArray(i)?Ql(n,i,t):(i=i.replace(Qf,n),t.push(i))}return t}function Sv(n){return e=>{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let Xl=(()=>{class n{constructor(t,r,i){this.eventManager=t,this.sharedStylesHost=r,this.appId=i,this.rendererByCompId=new Map,this.defaultRenderer=new Xf(t)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;switch(r.encapsulation){case Sn.Emulated:{let i=this.rendererByCompId.get(r.id);return i||(i=new SA(this.eventManager,this.sharedStylesHost,r,this.appId),this.rendererByCompId.set(r.id,i)),i.applyToHost(t),i}case 1:case Sn.ShadowDom:return new bA(this.eventManager,this.sharedStylesHost,t,r);default:if(!this.rendererByCompId.has(r.id)){const i=Ql(r.id,r.styles,[]);this.sharedStylesHost.addStyles(i),this.rendererByCompId.set(r.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(A(Jl),A(Zo),A(qo))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class Xf{constructor(e){this.eventManager=e,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(e,t){return t?document.createElementNS(Jf[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){(Tv(e)?e.content:e).appendChild(t)}insertBefore(e,t,r){e&&(Tv(e)?e.content:e).insertBefore(t,r)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let r="string"==typeof e?document.querySelector(e):e;if(!r)throw new Error(`The selector "${e}" did not match any elements`);return t||(r.textContent=""),r}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,r,i){if(i){t=i+":"+t;const s=Jf[i];s?e.setAttributeNS(s,t,r):e.setAttribute(t,r)}else e.setAttribute(t,r)}removeAttribute(e,t,r){if(r){const i=Jf[r];i?e.removeAttributeNS(i,t):e.removeAttribute(`${r}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,r,i){i&($t.DashCase|$t.Important)?e.style.setProperty(t,r,i&$t.Important?"important":""):e.style[t]=r}removeStyle(e,t,r){r&$t.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,r){e[t]=r}setValue(e,t){e.nodeValue=t}listen(e,t,r){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,Sv(r)):this.eventManager.addEventListener(e,t,Sv(r))}}function Tv(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}class SA extends Xf{constructor(e,t,r,i){super(e),this.component=r;const s=Ql(i+"-"+r.id,r.styles,[]);t.addStyles(s),this.contentAttr=function CA(n){return"_ngcontent-%COMP%".replace(Qf,n)}(i+"-"+r.id),this.hostAttr=function DA(n){return"_nghost-%COMP%".replace(Qf,n)}(i+"-"+r.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const r=super.createElement(e,t);return super.setAttribute(r,this.contentAttr,""),r}}class bA extends Xf{constructor(e,t,r,i){super(e),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=Ql(i.id,i.styles,[]);for(let o=0;o<s.length;o++){const a=document.createElement("style");a.textContent=s[o],this.shadowRoot.appendChild(a)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,r){return super.insertBefore(this.nodeOrShadowRoot(e),t,r)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}let TA=(()=>{class n extends Yf{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,i){return t.addEventListener(r,i,!1),()=>this.removeEventListener(t,r,i)}removeEventListener(t,r,i){return t.removeEventListener(r,i)}}return n.\u0275fac=function(t){return new(t||n)(A(Qe))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();const Mv=["alt","control","meta","shift"],OA={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Ov={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},PA={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let IA=(()=>{class n extends Yf{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,r,i){const s=n.parseEventName(r),o=n.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>xs().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const r=t.toLowerCase().split("."),i=r.shift();if(0===r.length||"keydown"!==i&&"keyup"!==i)return null;const s=n._normalizeKey(r.pop());let o="";if(Mv.forEach(l=>{const u=r.indexOf(l);u>-1&&(r.splice(u,1),o+=l+".")}),o+=s,0!=r.length||0===s.length)return null;const a={};return a.domEventName=i,a.fullKey=o,a}static getEventFullKey(t){let r="",i=function AA(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&Ov.hasOwnProperty(e)&&(e=Ov[e]))}return OA[e]||e}(t);return i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),Mv.forEach(s=>{s!=i&&PA[s](t)&&(r+=s+".")}),r+=i,r}static eventCallback(t,r,i){return s=>{n.getEventFullKey(s)===t&&i.runGuarded(()=>r(s))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return n.\u0275fac=function(t){return new(t||n)(A(Qe))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();const RA=kE(VP,"browser",[{provide:xl,useValue:mv},{provide:ME,useValue:function NA(){Kf.makeCurrent()},multi:!0},{provide:Qe,useFactory:function LA(){return function $D(n){dc=n}(document),document},deps:[]}]),Iv=new ne(""),Av=[{provide:Ll,useClass:class _A{addToWindow(e){ve.getAngularTestability=(r,i=!0)=>{const s=e.findTestabilityInTree(r,i);if(null==s)throw new Error("Could not find testability for element.");return s},ve.getAllAngularTestabilities=()=>e.getAllTestabilities(),ve.getAllAngularRootElements=()=>e.getAllRootElements(),ve.frameworkStabilizers||(ve.frameworkStabilizers=[]),ve.frameworkStabilizers.push(r=>{const i=ve.getAllAngularTestabilities();let s=i.length,o=!1;const a=function(l){o=o||l,s--,0==s&&r(o)};i.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,r){return null==t?null:e.getTestability(t)??(r?xs().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null)}},deps:[]},{provide:NE,useClass:bf,deps:[Je,Tf,Ll]},{provide:bf,useClass:bf,deps:[Je,Tf,Ll]}],Nv=[{provide:ud,useValue:"root"},{provide:ls,useFactory:function xA(){return new ls},deps:[]},{provide:Xo,useClass:TA,multi:!0,deps:[Qe,Je,xl]},{provide:Xo,useClass:IA,multi:!0,deps:[Qe]},{provide:Xl,useClass:Xl,deps:[Jl,Zo,qo]},{provide:Bo,useExisting:Xl},{provide:vv,useExisting:Zo},{provide:Zo,useClass:Zo,deps:[Qe]},{provide:Jl,useClass:Jl,deps:[Xo,Je]},{provide:yv,useClass:yA,deps:[]},[]];let xv=(()=>{class n{constructor(t){}static withServerTransition(t){return{ngModule:n,providers:[{provide:qo,useValue:t.appId},{provide:Ev,useExisting:qo},mA]}}}return n.\u0275fac=function(t){return new(t||n)(A(Iv,12))},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:[...Nv,...Av],imports:[qf,jP]}),n})(),Lv=(()=>{class n{constructor(t){this._doc=t,this._dom=xs()}addTag(t,r=!1){return t?this._getOrCreateElement(t,r):null}addTags(t,r=!1){return t?t.reduce((i,s)=>(s&&i.push(this._getOrCreateElement(s,r)),i),[]):[]}getTag(t){return t&&this._doc.querySelector(`meta[${t}]`)||null}getTags(t){if(!t)return[];const r=this._doc.querySelectorAll(`meta[${t}]`);return r?[].slice.call(r):[]}updateTag(t,r){if(!t)return null;r=r||this._parseSelector(t);const i=this.getTag(r);return i?this._setMetaElementAttributes(t,i):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,r=!1){if(!r){const o=this._parseSelector(t),a=this.getTags(o).filter(l=>this._containsAttributes(t,l))[0];if(void 0!==a)return a}const i=this._dom.createElement("meta");return this._setMetaElementAttributes(t,i),this._doc.getElementsByTagName("head")[0].appendChild(i),i}_setMetaElementAttributes(t,r){return Object.keys(t).forEach(i=>r.setAttribute(this._getMetaKeyMap(i),t[i])),r}_parseSelector(t){const r=t.name?"name":"property";return`${r}="${t[r]}"`}_containsAttributes(t,r){return Object.keys(t).every(i=>r.getAttribute(this._getMetaKeyMap(i))===t[i])}_getMetaKeyMap(t){return FA[t]||t}}return n.\u0275fac=function(t){return new(t||n)(A(Qe))},n.\u0275prov=U({token:n,factory:function(t){let r=null;return r=t?new t:function kA(){return new Lv(A(Qe))}(),r},providedIn:"root"}),n})();const FA={httpEquiv:"http-equiv"};typeof window<"u"&&window;const WA={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},Zl=new ne("HammerGestureConfig"),Fv=new ne("HammerLoader");let Bv=(()=>{class n{constructor(){this.events=[],this.overrides={}}buildHammer(t){const r=new Hammer(t,this.options);r.get("pinch").set({enable:!0}),r.get("rotate").set({enable:!0});for(const i in this.overrides)r.get(i).set(this.overrides[i]);return r}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),qA=(()=>{class n extends Yf{constructor(t,r,i,s){super(t),this._config=r,this.console=i,this.loader=s,this._loaderPromise=null}supports(t){return!(!WA.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t)||!window.Hammer&&!this.loader)}addEventListener(t,r,i){const s=this.manager.getZone();if(r=r.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||s.runOutsideAngular(()=>this.loader());let o=!1,a=()=>{o=!0};return s.runOutsideAngular(()=>this._loaderPromise.then(()=>{window.Hammer?o||(a=this.addEventListener(t,r,i)):a=()=>{}}).catch(()=>{a=()=>{}})),()=>{a()}}return s.runOutsideAngular(()=>{const o=this._config.buildHammer(t),a=function(l){s.runGuarded(function(){i(l)})};return o.on(r,a),()=>{o.off(r,a),"function"==typeof o.destroy&&o.destroy()}})}isCustomEvent(t){return this._config.events.indexOf(t)>-1}}return n.\u0275fac=function(t){return new(t||n)(A(Qe),A(Zl),A(PE),A(Fv,8))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),KA=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:[{provide:Xo,useClass:qA,multi:!0,deps:[Qe,Zl,PE,[new yo,Fv]]},{provide:Zl,useClass:Bv,deps:[]}]}),n})(),Hv=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:function(t){let r=null;return r=t?new(t||n):A(Vv),r},providedIn:"root"}),n})(),Vv=(()=>{class n extends Hv{constructor(t){super(),this._doc=t}sanitize(t,r){if(null==r)return null;switch(t){case Se.NONE:return r;case Se.HTML:return $n(r,"HTML")?Gt(r):mg(this._doc,String(r)).toString();case Se.STYLE:return $n(r,"Style")?Gt(r):r;case Se.SCRIPT:if($n(r,"Script"))return Gt(r);throw new Error("unsafe value used in a script context");case Se.URL:return lg(r),$n(r,"URL")?Gt(r):Co(String(r));case Se.RESOURCE_URL:if($n(r,"ResourceURL"))return Gt(r);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${t} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(t){return function iS(n){return new Zw(n)}(t)}bypassSecurityTrustStyle(t){return function sS(n){return new eS(n)}(t)}bypassSecurityTrustScript(t){return function oS(n){return new tS(n)}(t)}bypassSecurityTrustUrl(t){return function aS(n){return new nS(n)}(t)}bypassSecurityTrustResourceUrl(t){return function lS(n){return new rS(n)}(t)}}return n.\u0275fac=function(t){return new(t||n)(A(Qe))},n.\u0275prov=U({token:n,factory:function(t){let r=null;return r=t?new t:function YA(n){return new Vv(n.get(Qe))}(A(un)),r},providedIn:"root"}),n})();function mr(...n){return xt(n,ei(n))}function jv(n,e){return Ee(e)?Tr(n,e,1):Tr(n,1)}class Uv{}class Gv{}class _r{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const r=t.indexOf(":");if(r>0){const i=t.slice(0,r),s=i.toLowerCase(),o=t.slice(r+1).trim();this.maybeSetNormalizedName(i,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let r=e[t];const i=t.toLowerCase();"string"==typeof r&&(r=[r]),r.length>0&&(this.headers.set(i,r),this.maybeSetNormalizedName(t,i))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof _r?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new _r;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof _r?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let r=e.value;if("string"==typeof r&&(r=[r]),0===r.length)return;this.maybeSetNormalizedName(e.name,t);const i=("a"===e.op?this.headers.get(t):void 0)||[];i.push(...r),this.headers.set(t,i);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class QA{encodeKey(e){return $v(e)}encodeValue(e){return $v(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const ZA=/%(\d[a-f0-9])/gi,e1={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function $v(n){return encodeURIComponent(n).replace(ZA,(e,t)=>e1[t]??e)}function eu(n){return`${n}`}class Ur{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new QA,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function XA(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(i=>{const s=i.indexOf("="),[o,a]=-1==s?[e.decodeKey(i),""]:[e.decodeKey(i.slice(0,s)),e.decodeValue(i.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const r=e.fromObject[t],i=Array.isArray(r)?r.map(eu):[eu(r)];this.map.set(t,i)})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(r=>{const i=e[r];Array.isArray(i)?i.forEach(s=>{t.push({param:r,value:s,op:"a"})}):t.push({param:r,value:i,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(r=>t+"="+this.encoder.encodeValue(r)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Ur({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(eu(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let r=this.map.get(e.param)||[];const i=r.indexOf(eu(e.value));-1!==i&&r.splice(i,1),r.length>0?this.map.set(e.param,r):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class t1{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}}function zv(n){return typeof ArrayBuffer<"u"&&n instanceof ArrayBuffer}function Wv(n){return typeof Blob<"u"&&n instanceof Blob}function qv(n){return typeof FormData<"u"&&n instanceof FormData}class ea{constructor(e,t,r,i){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function n1(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||i?(this.body=void 0!==r?r:null,s=i):s=r,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new _r),this.context||(this.context=new t1),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":a<t.length-1?"&":"")+o}}else this.params=new Ur,this.urlWithParams=t}serializeBody(){return null===this.body?null:zv(this.body)||Wv(this.body)||qv(this.body)||function r1(n){return typeof URLSearchParams<"u"&&n instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof Ur?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||qv(this.body)?null:Wv(this.body)?this.body.type||null:zv(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof Ur?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(e={}){const t=e.method||this.method,r=e.url||this.url,i=e.responseType||this.responseType,s=void 0!==e.body?e.body:this.body,o=void 0!==e.withCredentials?e.withCredentials:this.withCredentials,a=void 0!==e.reportProgress?e.reportProgress:this.reportProgress;let l=e.headers||this.headers,u=e.params||this.params;const c=e.context??this.context;return void 0!==e.setHeaders&&(l=Object.keys(e.setHeaders).reduce((d,h)=>d.set(h,e.setHeaders[h]),l)),e.setParams&&(u=Object.keys(e.setParams).reduce((d,h)=>d.set(h,e.setParams[h]),u)),new ea(t,r,s,{params:u,headers:l,context:c,reportProgress:a,responseType:i,withCredentials:o})}}var $e=(()=>(($e=$e||{})[$e.Sent=0]="Sent",$e[$e.UploadProgress=1]="UploadProgress",$e[$e.ResponseHeader=2]="ResponseHeader",$e[$e.DownloadProgress=3]="DownloadProgress",$e[$e.Response=4]="Response",$e[$e.User=5]="User",$e))();class th{constructor(e,t=200,r="OK"){this.headers=e.headers||new _r,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||r,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class nh extends th{constructor(e={}){super(e),this.type=$e.ResponseHeader}clone(e={}){return new nh({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class tu extends th{constructor(e={}){super(e),this.type=$e.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new tu({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class Kv extends th{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function rh(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let ih=(()=>{class n{constructor(t){this.handler=t}request(t,r,i={}){let s;if(t instanceof ea)s=t;else{let l,u;l=i.headers instanceof _r?i.headers:new _r(i.headers),i.params&&(u=i.params instanceof Ur?i.params:new Ur({fromObject:i.params})),s=new ea(t,r,void 0!==i.body?i.body:null,{headers:l,context:i.context,params:u,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const o=mr(s).pipe(jv(l=>this.handler.handle(l)));if(t instanceof ea||"events"===i.observe)return o;const a=o.pipe(function JA(n,e){return bt((t,r)=>{let i=0;t.subscribe(Tt(r,s=>n.call(e,s,i++)&&r.next(s)))})}(l=>l instanceof tu));switch(i.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Te(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Te(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Te(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Te(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(t,r={}){return this.request("DELETE",t,r)}get(t,r={}){return this.request("GET",t,r)}head(t,r={}){return this.request("HEAD",t,r)}jsonp(t,r){return this.request("JSONP",t,{params:(new Ur).append(r,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,r={}){return this.request("OPTIONS",t,r)}patch(t,r,i={}){return this.request("PATCH",t,rh(i,r))}post(t,r,i={}){return this.request("POST",t,rh(i,r))}put(t,r,i={}){return this.request("PUT",t,rh(i,r))}}return n.\u0275fac=function(t){return new(t||n)(A(Uv))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class Yv{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const Jv=new ne("HTTP_INTERCEPTORS");let i1=(()=>{class n{intercept(t,r){return r.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();const s1=/^\)\]\}',?\n/;let Qv=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ke(r=>{const i=this.xhrFactory.build();if(i.open(t.method,t.urlWithParams),t.withCredentials&&(i.withCredentials=!0),t.headers.forEach((g,m)=>i.setRequestHeader(g,m.join(","))),t.headers.has("Accept")||i.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const g=t.detectContentTypeHeader();null!==g&&i.setRequestHeader("Content-Type",g)}if(t.responseType){const g=t.responseType.toLowerCase();i.responseType="json"!==g?g:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const g=i.statusText||"OK",m=new _r(i.getAllResponseHeaders()),y=function o1(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(i)||t.url;return o=new nh({headers:m,status:i.status,statusText:g,url:y}),o},l=()=>{let{headers:g,status:m,statusText:y,url:w}=a(),C=null;204!==m&&(C=typeof i.response>"u"?i.responseText:i.response),0===m&&(m=C?200:0);let O=m>=200&&m<300;if("json"===t.responseType&&"string"==typeof C){const D=C;C=C.replace(s1,"");try{C=""!==C?JSON.parse(C):null}catch(P){C=D,O&&(O=!1,C={error:P,text:C})}}O?(r.next(new tu({body:C,headers:g,status:m,statusText:y,url:w||void 0})),r.complete()):r.error(new Kv({error:C,headers:g,status:m,statusText:y,url:w||void 0}))},u=g=>{const{url:m}=a(),y=new Kv({error:g,status:i.status||0,statusText:i.statusText||"Unknown Error",url:m||void 0});r.error(y)};let c=!1;const d=g=>{c||(r.next(a()),c=!0);let m={type:$e.DownloadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),"text"===t.responseType&&!!i.responseText&&(m.partialText=i.responseText),r.next(m)},h=g=>{let m={type:$e.UploadProgress,loaded:g.loaded};g.lengthComputable&&(m.total=g.total),r.next(m)};return i.addEventListener("load",l),i.addEventListener("error",u),i.addEventListener("timeout",u),i.addEventListener("abort",u),t.reportProgress&&(i.addEventListener("progress",d),null!==s&&i.upload&&i.upload.addEventListener("progress",h)),i.send(s),r.next({type:$e.Sent}),()=>{i.removeEventListener("error",u),i.removeEventListener("abort",u),i.removeEventListener("load",l),i.removeEventListener("timeout",u),t.reportProgress&&(i.removeEventListener("progress",d),null!==s&&i.upload&&i.upload.removeEventListener("progress",h)),i.readyState!==i.DONE&&i.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(A(yv))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();const sh=new ne("XSRF_COOKIE_NAME"),oh=new ne("XSRF_HEADER_NAME");class Xv{}let a1=(()=>{class n{constructor(t,r,i){this.doc=t,this.platform=r,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=cv(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(A(Qe),A(xl),A(sh))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),ah=(()=>{class n{constructor(t,r){this.tokenService=t,this.headerName=r}intercept(t,r){const i=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||i.startsWith("http://")||i.startsWith("https://"))return r.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),r.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(A(Xv),A(oh))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),l1=(()=>{class n{constructor(t,r){this.backend=t,this.injector=r,this.chain=null}handle(t){if(null===this.chain){const r=this.injector.get(Jv,[]);this.chain=r.reduceRight((i,s)=>new Yv(i,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(A(Gv),A(un))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),u1=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:ah,useClass:i1}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:sh,useValue:t.cookieName}:[],t.headerName?{provide:oh,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:[ah,{provide:Jv,useExisting:ah,multi:!0},{provide:Xv,useClass:a1},{provide:sh,useValue:"XSRF-TOKEN"},{provide:oh,useValue:"X-XSRF-TOKEN"}]}),n})(),c1=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:[ih,{provide:Uv,useClass:l1},Qv,{provide:Gv,useExisting:Qv}],imports:[u1.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]}),n})();function vi(n){return!!n&&(n instanceof ke||Ee(n.lift)&&Ee(n.subscribe))}const{isArray:d1}=Array,{getPrototypeOf:f1,prototype:h1,keys:p1}=Object;const{isArray:_1}=Array;function v1(n,e){return n.reduce((t,r,i)=>(t[r]=e[i],t),{})}function C1(...n){const e=function Ia(n){return Ee(Vi(n))?n.pop():void 0}(n),{args:t,keys:r}=function g1(n){if(1===n.length){const e=n[0];if(d1(e))return{args:e,keys:null};if(function m1(n){return n&&"object"==typeof n&&f1(n)===h1}(e)){const t=p1(e);return{args:t.map(r=>e[r]),keys:t}}}return{args:n,keys:null}}(n),i=new ke(s=>{const{length:o}=t;if(!o)return void s.complete();const a=new Array(o);let l=o,u=o;for(let c=0;c<o;c++){let d=!1;tn(t[c]).subscribe(Tt(s,h=>{d||(d=!0,u--),a[c]=h},()=>l--,void 0,()=>{(!l||!d)&&(u||s.next(r?v1(r,a):a),s.complete())}))}});return e?i.pipe(function E1(n){return Te(e=>function y1(n,e){return _1(e)?n(...e):n(e)}(n,e))}(e)):i}function Zv(...n){return function D1(){return Oa(1)}()(xt(n,ei(n)))}function eC(n){return new ke(e=>{tn(n()).subscribe(e)})}const lh={now:()=>(lh.delegate||Date).now(),delegate:void 0};class w1 extends Qr{constructor(e=1/0,t=1/0,r=lh){super(),this._bufferSize=e,this._windowTime=t,this._timestampProvider=r,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=t===1/0,this._bufferSize=Math.max(1,e),this._windowTime=Math.max(1,t)}next(e){const{isStopped:t,_buffer:r,_infiniteTimeWindow:i,_timestampProvider:s,_windowTime:o}=this;t||(r.push(e),!i&&r.push(s.now()+o)),this._trimBuffer(),super.next(e)}_subscribe(e){this._throwIfClosed(),this._trimBuffer();const t=this._innerSubscribe(e),{_infiniteTimeWindow:r,_buffer:i}=this,s=i.slice();for(let o=0;o<s.length&&!e.closed;o+=r?1:2)e.next(s[o]);return this._checkFinalizedStatuses(e),t}_trimBuffer(){const{_bufferSize:e,_timestampProvider:t,_buffer:r,_infiniteTimeWindow:i}=this,s=(i?1:2)*e;if(e<1/0&&s<r.length&&r.splice(0,r.length-s),!i){const o=t.now();let a=0;for(let l=1;l<r.length&&r[l]<=o;l+=2)a=l;a&&r.splice(0,a+1)}}}function tC(n,e,t){let r,i=!1;return n&&"object"==typeof n?({bufferSize:r=1/0,windowTime:e=1/0,refCount:i=!1,scheduler:t}=n):r=n??1/0,Lt({connector:()=>new w1(r,e,t),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:i})}function nC(n,e){return bt((t,r)=>{let i=null,s=0,o=!1;const a=()=>o&&!i&&r.complete();t.subscribe(Tt(r,l=>{i?.unsubscribe();let u=0;const c=s++;tn(n(l,c)).subscribe(i=Tt(r,d=>r.next(e?e(l,d,c,u++):d),()=>{i=null,a()}))},()=>{o=!0,a()}))})}class nu{}let rC=(()=>{class n extends nu{getTranslation(t){return mr({})}}return n.\u0275fac=function(){let e;return function(r){return(e||(e=co(n)))(r||n)}}(),n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class uh{}let iC=(()=>{class n{handle(t){return t.key}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();function ru(n,e){if(n===e)return!0;if(null===n||null===e)return!1;if(n!=n&&e!=e)return!0;let i,s,o,t=typeof n;if(t==typeof e&&"object"==t){if(!Array.isArray(n)){if(Array.isArray(e))return!1;for(s in o=Object.create(null),n){if(!ru(n[s],e[s]))return!1;o[s]=!0}for(s in e)if(!(s in o)&&typeof e[s]<"u")return!1;return!0}if(!Array.isArray(e))return!1;if((i=n.length)==e.length){for(s=0;s<i;s++)if(!ru(n[s],e[s]))return!1;return!0}}return!1}function Gr(n){return typeof n<"u"&&null!==n}function ch(n){return n&&"object"==typeof n&&!Array.isArray(n)}function sC(n,e){let t=Object.assign({},n);return ch(n)&&ch(e)&&Object.keys(e).forEach(r=>{ch(e[r])?r in n?t[r]=sC(n[r],e[r]):Object.assign(t,{[r]:e[r]}):Object.assign(t,{[r]:e[r]})}),t}class iu{}let oC=(()=>{class n extends iu{constructor(){super(...arguments),this.templateMatcher=/{{\s?([^{}\s]*)\s?}}/g}interpolate(t,r){let i;return i="string"==typeof t?this.interpolateString(t,r):"function"==typeof t?this.interpolateFunction(t,r):t,i}getValue(t,r){let i="string"==typeof r?r.split("."):[r];r="";do{r+=i.shift(),!Gr(t)||!Gr(t[r])||"object"!=typeof t[r]&&i.length?i.length?r+=".":t=void 0:(t=t[r],r="")}while(i.length);return t}interpolateFunction(t,r){return t(r)}interpolateString(t,r){return r?t.replace(this.templateMatcher,(i,s)=>{let o=this.getValue(r,s);return Gr(o)?o:i}):t}}return n.\u0275fac=function(){let e;return function(r){return(e||(e=co(n)))(r||n)}}(),n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class su{}let aC=(()=>{class n extends su{compile(t,r){return t}compileTranslations(t,r){return t}}return n.\u0275fac=function(){let e;return function(r){return(e||(e=co(n)))(r||n)}}(),n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class lC{constructor(){this.currentLang=this.defaultLang,this.translations={},this.langs=[],this.onTranslationChange=new Re,this.onLangChange=new Re,this.onDefaultLangChange=new Re}}const dh=new ne("USE_STORE"),fh=new ne("USE_DEFAULT_LANG"),hh=new ne("DEFAULT_LANGUAGE"),ph=new ne("USE_EXTEND");let Ci=(()=>{class n{constructor(t,r,i,s,o,a=!0,l=!1,u=!1,c){this.store=t,this.currentLoader=r,this.compiler=i,this.parser=s,this.missingTranslationHandler=o,this.useDefaultLang=a,this.isolate=l,this.extend=u,this.pending=!1,this._onTranslationChange=new Re,this._onLangChange=new Re,this._onDefaultLangChange=new Re,this._langs=[],this._translations={},this._translationRequests={},c&&this.setDefaultLang(c)}get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(t){this.isolate?this._defaultLang=t:this.store.defaultLang=t}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(t){this.isolate?this._currentLang=t:this.store.currentLang=t}get langs(){return this.isolate?this._langs:this.store.langs}set langs(t){this.isolate?this._langs=t:this.store.langs=t}get translations(){return this.isolate?this._translations:this.store.translations}set translations(t){this.isolate?this._translations=t:this.store.translations=t}setDefaultLang(t){if(t===this.defaultLang)return;let r=this.retrieveTranslations(t);typeof r<"u"?(null==this.defaultLang&&(this.defaultLang=t),r.pipe(Cn(1)).subscribe(i=>{this.changeDefaultLang(t)})):this.changeDefaultLang(t)}getDefaultLang(){return this.defaultLang}use(t){if(t===this.currentLang)return mr(this.translations[t]);let r=this.retrieveTranslations(t);return typeof r<"u"?(this.currentLang||(this.currentLang=t),r.pipe(Cn(1)).subscribe(i=>{this.changeLang(t)}),r):(this.changeLang(t),mr(this.translations[t]))}retrieveTranslations(t){let r;return(typeof this.translations[t]>"u"||this.extend)&&(this._translationRequests[t]=this._translationRequests[t]||this.getTranslation(t),r=this._translationRequests[t]),r}getTranslation(t){this.pending=!0;const r=this.currentLoader.getTranslation(t).pipe(tC(1),Cn(1));return this.loadingTranslations=r.pipe(Te(i=>this.compiler.compileTranslations(i,t)),tC(1),Cn(1)),this.loadingTranslations.subscribe({next:i=>{this.translations[t]=this.extend&&this.translations[t]?{...i,...this.translations[t]}:i,this.updateLangs(),this.pending=!1},error:i=>{this.pending=!1}}),r}setTranslation(t,r,i=!1){r=this.compiler.compileTranslations(r,t),this.translations[t]=(i||this.extend)&&this.translations[t]?sC(this.translations[t],r):r,this.updateLangs(),this.onTranslationChange.emit({lang:t,translations:this.translations[t]})}getLangs(){return this.langs}addLangs(t){t.forEach(r=>{-1===this.langs.indexOf(r)&&this.langs.push(r)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(t,r,i){let s;if(r instanceof Array){let o={},a=!1;for(let l of r)o[l]=this.getParsedResult(t,l,i),vi(o[l])&&(a=!0);return a?C1(r.map(u=>vi(o[u])?o[u]:mr(o[u]))).pipe(Te(u=>{let c={};return u.forEach((d,h)=>{c[r[h]]=d}),c})):o}if(t&&(s=this.parser.interpolate(this.parser.getValue(t,r),i)),typeof s>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(s=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],r),i)),typeof s>"u"){let o={key:r,translateService:this};typeof i<"u"&&(o.interpolateParams=i),s=this.missingTranslationHandler.handle(o)}return typeof s<"u"?s:r}get(t,r){if(!Gr(t)||!t.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe(jv(i=>vi(i=this.getParsedResult(i,t,r))?i:mr(i)));{let i=this.getParsedResult(this.translations[this.currentLang],t,r);return vi(i)?i:mr(i)}}getStreamOnTranslationChange(t,r){if(!Gr(t)||!t.length)throw new Error('Parameter "key" required');return Zv(eC(()=>this.get(t,r)),this.onTranslationChange.pipe(nC(i=>{const s=this.getParsedResult(i.translations,t,r);return"function"==typeof s.subscribe?s:mr(s)})))}stream(t,r){if(!Gr(t)||!t.length)throw new Error('Parameter "key" required');return Zv(eC(()=>this.get(t,r)),this.onLangChange.pipe(nC(i=>{const s=this.getParsedResult(i.translations,t,r);return vi(s)?s:mr(s)})))}instant(t,r){if(!Gr(t)||!t.length)throw new Error('Parameter "key" required');let i=this.getParsedResult(this.translations[this.currentLang],t,r);if(vi(i)){if(t instanceof Array){let s={};return t.forEach((o,a)=>{s[t[a]]=t[a]}),s}return t}return i}set(t,r,i=this.currentLang){this.translations[i][t]=this.compiler.compile(r,i),this.updateLangs(),this.onTranslationChange.emit({lang:i,translations:this.translations[i]})}changeLang(t){this.currentLang=t,this.onLangChange.emit({lang:t,translations:this.translations[t]}),null==this.defaultLang&&this.changeDefaultLang(t)}changeDefaultLang(t){this.defaultLang=t,this.onDefaultLangChange.emit({lang:t,translations:this.translations[t]})}reloadLang(t){return this.resetLang(t),this.getTranslation(t)}resetLang(t){this._translationRequests[t]=void 0,this.translations[t]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let t=window.navigator.languages?window.navigator.languages[0]:null;return t=t||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof t>"u"?void 0:(-1!==t.indexOf("-")&&(t=t.split("-")[0]),-1!==t.indexOf("_")&&(t=t.split("_")[0]),t)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let t=window.navigator.languages?window.navigator.languages[0]:null;return t=t||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,t}}return n.\u0275fac=function(t){return new(t||n)(A(lC),A(nu),A(su),A(iu),A(uh),A(fh),A(dh),A(ph),A(hh))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),$r=(()=>{class n{constructor(t,r){this.translate=t,this._ref=r,this.value="",this.lastKey=null,this.lastParams=[]}updateValue(t,r,i){let s=o=>{this.value=void 0!==o?o:t,this.lastKey=t,this._ref.markForCheck()};if(i){let o=this.translate.getParsedResult(i,t,r);vi(o.subscribe)?o.subscribe(s):s(o)}this.translate.get(t,r).subscribe(s)}transform(t,...r){if(!t||!t.length)return t;if(ru(t,this.lastKey)&&ru(r,this.lastParams))return this.value;let i;if(Gr(r[0])&&r.length)if("string"==typeof r[0]&&r[0].length){let s=r[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{i=JSON.parse(s)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${r[0]}`)}}else"object"==typeof r[0]&&!Array.isArray(r[0])&&(i=r[0]);return this.lastKey=t,this.lastParams=r,this.updateValue(t,i),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(s=>{this.lastKey&&s.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(t,i,s.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(s=>{this.lastKey&&(this.lastKey=null,this.updateValue(t,i,s.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(t,i))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}}return n.\u0275fac=function(t){return new(t||n)(V(Ci,16),V(WE,16))},n.\u0275pipe=We({name:"translate",type:n,pure:!1}),n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),uC=(()=>{class n{static forRoot(t={}){return{ngModule:n,providers:[t.loader||{provide:nu,useClass:rC},t.compiler||{provide:su,useClass:aC},t.parser||{provide:iu,useClass:oC},t.missingTranslationHandler||{provide:uh,useClass:iC},lC,{provide:dh,useValue:t.isolate},{provide:fh,useValue:t.useDefaultLang},{provide:ph,useValue:t.extend},{provide:hh,useValue:t.defaultLanguage},Ci]}}static forChild(t={}){return{ngModule:n,providers:[t.loader||{provide:nu,useClass:rC},t.compiler||{provide:su,useClass:aC},t.parser||{provide:iu,useClass:oC},t.missingTranslationHandler||{provide:uh,useClass:iC},{provide:dh,useValue:t.isolate},{provide:fh,useValue:t.useDefaultLang},{provide:ph,useValue:t.extend},{provide:hh,useValue:t.defaultLanguage},Ci]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({}),n})();const ta={production:!0,version:"1.5.1",name:"Mah",mobile:!1,editor:!1,modules:[]};class yr{constructor(e,t,r,i,s){this.picked=!1,this.group=[],this.z=e,this.x=t,this.y=r,this.v=i,this.groupnr=s}toPosition(){return{z:this.z,x:this.x,y:this.y,v:this.v,groupnr:this.groupnr}}isBlocked(){return yr.hasStone(this.nodes.top)||yr.hasStone(this.nodes.left)&&yr.hasStone(this.nodes.right)}static hasStone(e){for(const t of e)if(!t.picked)return!0;return!1}}const na=(n,e,t,r)=>{for(let i=0,s=n.length;i<s;i++)if(n[i].z===e&&n[i].x===t&&n[i].y===r)return n[i]};class Ze{static random(e){return Math.floor(Math.random()*e.length)}static randomExtract(e){const t=Ze.random(e);return e.splice(t,1)[0]}static collectNodes(e,t){const r={left:[],right:[],top:[],bottom:[]};let i;for(let s=t.y-1;s<=t.y+1;s++){i=na(e,t.z,t.x-2,s),i&&r.left.push(i),i=na(e,t.z,t.x+2,s),i&&r.right.push(i);for(let o=t.x-1;o<=t.x+1;o++)i=na(e,t.z+1,o,s),i&&r.top.push(i),i=na(e,t.z-1,o,s),i&&r.bottom.push(i)}return r}static fillStones(e,t){const r={};return e.forEach(i=>{const s=t.list[i.v];i.img=s?s.img:{id:void 0},r[i.groupnr]=r[i.groupnr]||[],r[i.groupnr].push(i),i.nodes=Ze.collectNodes(e,i)}),Object.keys(r).forEach(i=>{const s=r[Number(i)];s.forEach(o=>{o.group=s.filter(a=>a!==o)})}),e}getTilesInGame(e,t){return e.list.filter(r=>void 0!==r)}getTilesInPairs(e,t){const r=[];return e.groups.forEach(i=>{for(let s=0;s<i.tiles.length;s+=2)r.push([i.tiles[s],i.tiles[s+1]])}),r}}class cC extends Ze{build(e,t){const r=this.getTilesInGame(t,e.length),i=[],s=e.slice(0);for(;s.length>0;){const o=Ze.randomExtract(r),a=Ze.randomExtract(s);i.push(new yr(a[0],a[1],a[2],o.v,o.groupnr))}return Ze.fillStones(i,t),i}}class b1{build(e,t){const r=[];return e.forEach(i=>{const s=t.list[i[3]];if(s){const o=new yr(i[0],i[1],i[2],i[3],s.groupnr);r.push(o)}}),Ze.fillStones(r,t),r}}const au="MODE_SOLVABLE",dC=[{id:au,builder:class S1 extends Ze{build(e,t){const r=[];e.forEach(o=>{r.push(new yr(o[0],o[1],o[2],0,0))}),Ze.fillStones(r,t);let i=1,s=this.solve(r,t);for(;0===s.length&&i<1e3;)r.forEach(o=>{o.picked=!1,o.v=0,o.groupnr=0}),s=this.solve(r,t),i++;return 0===s.length?(new cC).build(e,t):(r.forEach(o=>{o.picked=!1}),Ze.fillStones(r,t),r.sort((o,a)=>o.v-a.v),r)}solve(e,t){const r=[],i=[],s=e.length/2,o=t.groups.slice();for(;o.length>0;){const l=Ze.randomExtract(o).tiles.slice(),u=Ze.randomExtract(l),c=Ze.randomExtract(l),d=Ze.randomExtract(l),h=l[0];i.length<s&&i.push([u,c]),i.length<s&&i.push([d,h])}for(;i.length>0;){const a=Ze.randomExtract(i),l=e.filter(d=>!d.picked&&!d.isBlocked());if(l.length<2)return[];const u=Ze.randomExtract(l),c=Ze.randomExtract(l);u.v=a[0].v,u.img=a[0].img,u.groupnr=a[0].groupnr,u.picked=!0,c.v=a[1].v,c.img=a[1].img,c.groupnr=a[1].groupnr,c.picked=!0,r.push(a)}return r}}},{id:"MODE_RANDOM",builder:cC}];class lu{constructor(e){this.tiles=e}load(e){return(new b1).build(e,this.tiles)}build(e,t){let r;const i=dC.find(s=>s.id===e);if(i&&(r=new i.builder),r)return r.build(t,this.tiles)}}const uu="GAME_MODE_EASY",ra="GAME_MODE_STANDARD",gh="GAME_MODE_EXPERT",T1=[{id:uu,features:[{title:"SHUFFLE"},{title:"HINT"},{title:"UNDO"}]},{id:ra,features:[{title:"HINT"},{title:"UNDO"}]},{id:gh,features:[]}],M1=[{id:"ltgreen",name:"THEME_LIGHT_GREEN"},{id:"dkgreen",name:"THEME_DARK_GREEN"},{id:"ltblue",name:"THEME_LIGHT_BLUE"},{id:"dkblue",name:"THEME_DARK_BLUE"},{id:"brown",name:"THEME_BROWN"},{id:"black",name:"THEME_BLACK"},{id:"white",name:"THEME_WHITE"}],fC=[{img:void 0,name:"BACK_NONE"},{img:"bamboo.jpg",name:"BACK_BAMBOO"},{img:"blueclouds.jpg",name:"BACK_BLUE_CLOUDS"},{img:"grayclouds.jpg",name:"BACK_GRAY_CLOUDS"},{img:"grass-1.jpg",name:"BACK_GRAY_GRASS"},{img:"stones-1.jpg",name:"BACK_GRAY_STONES"},{img:"wood.jpg",name:"BACK_GRAY_WOOD"},{img:"wood-grain-1.jpg",name:"BACK_GRAY_WOOD_GRAIN"}],hC=[{id:"riichi",type:"SVG",name:"Riichi"},{id:"uni",type:"SVG",name:"Uni"},{id:"bzhmaddog",type:"SVG",name:"Bzhmaddog"},{id:"cheshire137",type:"SVG",name:"Cheshire"},{id:"recri2",type:"SVG",name:"Recri"},{id:"unib",type:"SVG",name:"Black"},{id:"gleitz",type:"PNG",name:"Gleitz"},{id:"recri",type:"PNG",name:"Recri"},{id:"open-fruits",type:"PNG",name:"Fruits"},{id:"picasso",type:"PNG",name:"Picasso"},{id:"modern",type:"PNG",name:"Modern"},{id:"classic",type:"PNG",name:"Classic"}],mh="riichi",O1=[["t_do1","t_do1","t_do1","t_do1"],["t_do2","t_do2","t_do2","t_do2"],["t_do3","t_do3","t_do3","t_do3"],["t_do4","t_do4","t_do4","t_do4"],["t_do5","t_do5","t_do5","t_do5"],["t_do6","t_do6","t_do6","t_do6"],["t_do7","t_do7","t_do7","t_do7"],["t_do8","t_do8","t_do8","t_do8"],["t_do9","t_do9","t_do9","t_do9"],["t_ch1","t_ch1","t_ch1","t_ch1"],["t_ch2","t_ch2","t_ch2","t_ch2"],["t_ch3","t_ch3","t_ch3","t_ch3"],["t_ch4","t_ch4","t_ch4","t_ch4"],["t_ch5","t_ch5","t_ch5","t_ch5"],["t_ch6","t_ch6","t_ch6","t_ch6"],["t_ch7","t_ch7","t_ch7","t_ch7"],["t_ch8","t_ch8","t_ch8","t_ch8"],["t_ch9","t_ch9","t_ch9","t_ch9"],["t_ba1","t_ba1","t_ba1","t_ba1"],["t_ba2","t_ba2","t_ba2","t_ba2"],["t_ba3","t_ba3","t_ba3","t_ba3"],["t_ba4","t_ba4","t_ba4","t_ba4"],["t_ba5","t_ba5","t_ba5","t_ba5"],["t_ba6","t_ba6","t_ba6","t_ba6"],["t_ba7","t_ba7","t_ba7","t_ba7"],["t_ba8","t_ba8","t_ba8","t_ba8"],["t_ba9","t_ba9","t_ba9","t_ba9"],["t_se_spring","t_se_summer","t_se_fall","t_se_winter"],["t_wi_north","t_wi_north","t_wi_north","t_wi_north"],["t_wi_south","t_wi_south","t_wi_south","t_wi_south"],["t_wi_east","t_wi_east","t_wi_east","t_wi_east"],["t_wi_west","t_wi_west","t_wi_west","t_wi_west"],["t_fl_bamboo","t_fl_chrysanthemum","t_fl_orchid","t_fl_plum"],["t_dr_green","t_dr_green","t_dr_green","t_dr_green"],["t_dr_white","t_dr_white","t_dr_white","t_dr_white"],["t_dr_red","t_dr_red","t_dr_red","t_dr_red"]],_h=[];for(let n=1;n<19;n++)_h.push([`t_g${n}`,`t_g${n}`,`t_g${n}`,`t_g${n}`]);for(let n=1;n<10;n++)_h.push([`t_e${n}`,`t_e${n}`,`t_e${n}`,`t_e${n}`]);const P1=[{name:"TILES_SUITS",groups:[{name:"TILES_SUIT_CIRCLES",tiles:["t_do1","t_do2","t_do3","t_do4","t_do5","t_do6","t_do7","t_do8","t_do9"]},{name:"TILES_SUIT_BAMBOO",tiles:["t_ba1","t_ba2","t_ba3","t_ba4","t_ba5","t_ba6","t_ba7","t_ba8","t_ba9"]},{name:"TILES_SUIT_CHARACTERS",tiles:["t_ch1","t_ch2","t_ch3","t_ch4","t_ch5","t_ch6","t_ch7","t_ch8","t_ch9"]}]},{name:"TILES_BONUS",groups:[{name:"TILES_BONUS_SEASONS",tiles:["t_se_spring","t_se_summer","t_se_fall","t_se_winter"]},{name:"TILES_BONUS_FLOWERS",tiles:["t_fl_bamboo","t_fl_orchid","t_fl_plum","t_fl_chrysanthemum"]}]},{name:"TILES_HONORS",groups:[{name:"TILES_HONORS_WINDS",tiles:["t_wi_east","t_wi_south","t_wi_west","t_wi_north"]},{name:"TILES_HONORS_DRAGONS",tiles:["t_dr_red","t_dr_green","t_dr_white"]}]},{name:"TILES_JOKERS",groups:[{name:"TILES_JOKERS_GENERAL",tiles:["t_g1","t_g2","t_g3"]},{name:"TILES_JOKERS_BLUEGREEN",tiles:["t_g4","t_g5","t_g6","t_g7","t_g8"]},{name:"TILES_JOKERS_RED",tiles:["t_g9","t_g10","t_g11","t_g12","t_g13"]},{name:"TILES_JOKERS_RANK",tiles:["t_g14","t_g15","t_g16","t_g17","t_g18"]}]},{name:"TILES_EXTRA",groups:[{name:"TILES_EXTRA",tiles:["t_e1","t_e2","t_e3","t_e4","t_e5","t_e6","t_e7","t_e8","t_e9"]}]}];class cu{constructor(e){this.list=[],this.groups=[];let t=0,r=O1.map(s=>s.map(o=>({id:o})));const i=Math.ceil(e/4);if(i>r.length){const s=_h.map(o=>o.map(a=>({id:a})));for(r=r.concat(s);r.length<i;)r.push([{id:`_${r.length}a`},{id:`_${r.length}b`},{id:`_${r.length}c`},{id:`_${r.length}d`}])}r.forEach((s,o)=>{const a={v:o,tiles:[]};this.groups.push(a),s.forEach(l=>{t++;const u={groupnr:o,v:t,img:l};a.tiles.push(u),this.list[t]=u})})}}class I1{constructor(){this.free=[],this.stones=[],this.count=0,this.hints={groups:[],current:void 0},this.selected=void 0,this.undo=[]}clearSelection(){this.selected&&(this.selected.selected=!1),this.selected=void 0}setStoneSelected(e){this.clearSelection(),e&&(e.selected=!0,this.selected=e)}clearHints(){this.hints.current&&this.hints.current.stones.forEach(e=>{e.hinted=!1}),this.hints={groups:[],current:void 0}}hint(){if(this.hintNext()||(this.clearHints(),0===this.free.length))return;const e=this.collectHints();if(this.selected){const r=this.selected.groupnr;e.sort((i,s)=>i.group===r?-1:s.group===r?1:0)}const t=e[0];this.hints={groups:e,current:t},t.stones.forEach(r=>{r.hinted=!0})}reset(){this.clearSelection(),this.clearHints(),this.free=[],this.count=0,this.stones=[],this.undo=[]}canRemove(e){return e.group.filter(t=>!t.picked&&!t.isBlocked()).length>0}update(){const e=[];let t=0;this.stones.forEach(r=>{r.state={blocked:!r.picked&&r.isBlocked(),removable:!1},t+=r.picked?0:1}),this.stones.forEach(r=>{r.state.removable=!r.picked&&!r.state.blocked&&this.canRemove(r),r.state.removable&&e.push(r)}),this.free=e,this.count=t}back(){if(this.undo.length<2)return;this.clearSelection(),this.clearHints();const e=this.undo.pop(),t=this.undo.pop();!e||!t||(this.stones.forEach(r=>{(r.z===e[0]&&r.x===e[1]&&r.y===e[2]||r.z===t[0]&&r.x===t[1]&&r.y===t[2])&&(r.picked=!1)}),this.update())}shuffle(){this.clearSelection(),this.clearHints();const e=[],t=new cu(this.stones.length);this.stones.forEach(o=>{o.picked||e.push([o.z,o.x,o.y])});const i=new lu(t).build(au,e);if(!i)return;const s=t.list.filter(o=>!i.find(a=>a.v===o.v));this.undo.forEach(o=>{const a=s.shift();if(a){const l=new yr(o[0],o[1],o[2],a.v,a.groupnr);l.picked=!0,i.push(l)}}),Ze.fillStones(i,t),this.stones=i,this.update()}load(e,t){if(!e)return;this.undo=t;const i=new lu(new cu(e.length+t.length)).load(e);!i||(t.forEach(s=>{const o=na(i,s[0],s[1],s[2]);o&&(o.picked=!0)}),this.stones=i,this.update())}save(){return this.stones.map(e=>[e.z,e.x,e.y,e.v])}applyMapping(e,t){const r=new lu(new cu(e.length));this.stones=r.build(t,e)||[]}pick(e,t){this.clearSelection(),this.undo.push([e.z,e.x,e.y],[t.z,t.x,t.y]),this.clearHints(),e.picked=!0,t.picked=!0,this.update()}hintNext(){if(!this.hints.current)return!1;this.hints.current.stones.forEach(t=>{t.hinted=!1});let e=this.hints.groups.indexOf(this.hints.current);return e>=0&&(e++,e>=this.hints.groups.length&&(e=0),e<this.hints.groups.length)&&(this.hints.current=this.hints.groups[e],this.hints.current.stones.forEach(t=>{t.hinted=!0}),!0)}collectHints(){const e={};return this.free.forEach(t=>{const r=t.groupnr.toString();e[r]=e[r]||[],e[r].push(t)}),Object.keys(e).map(t=>({group:e[t][0].groupnr,stones:e[t]}))}}class A1{constructor(){this.elapsed=0,this.lastTime=0,this.started=0,this.timer=void 0}start(){this.timer||(this.elapsed=this.elapsed||0)}reset(){this.timer&&(window.clearTimeout(this.timer),this.timer=void 0),this.started=0,this.lastTime=0,this.elapsed=0}run(){this.timer||(this.lastTime=Date.now(),this.timer=window.setTimeout(()=>{this.step()},1e3))}pause(){!this.timer||(window.clearTimeout(this.timer),this.timer=void 0,this.elapsed+=Date.now()-this.lastTime)}step(){const e=Date.now();this.elapsed+=e-this.lastTime,this.lastTime=e,this.timer=window.setTimeout(()=>{this.step()},1e3)}}class N1{constructor(){this.enabled=!0,this.audioplayers={}}play(e){if(this.enabled){if(!this.audioplayers[e]){const t=new Audio;t.src=`assets/sounds/${e}.ogg`,t.load(),this.audioplayers[e]=t}this.audioplayers[e].play().catch(t=>{console.error(t)})}}pause(e){this.audioplayers[e]&&this.audioplayers[e].pause()}}class x1{constructor(e){this.storage=e,this.clock=new A1,this.board=new I1,this.sound=new N1,this.state=0,this.layoutID=void 0,this.mode=ra}init(){this.load(),this.board.update(),1===this.state&&this.pause(),this.message={msgID:this.isPaused()?"MSG_CONTINUE_SAVE":"MSG_START"}}click(e){return e?!this.isRunning()||e.state.blocked?(this.sound.play("invalid"),!0):(0===this.clock.elapsed&&this.clock.run(),this.board.selected&&e&&e!==this.board.selected&&e.groupnr===this.board.selected.groupnr?(this.resolveMatchingStone(e),!0):(this.board.setStoneSelected(this.board.selected!==e?e:void 0),this.sound.play("select"),!0)):(this.board.clearSelection(),!1)}isRunning(){return 1===this.state}isFrozen(){return 3===this.state}isPaused(){return 2===this.state}isIdle(){return 0===this.state}resume(){this.run(),this.clock.run()}freeze(){this.setState(3),this.clock.pause()}unfreeze(){this.setState(1),this.clock.run()}run(){this.board.clearHints(),this.board.update(),this.setState(1)}toggle(){1===this.state?this.pause():2===this.state&&this.resume()}pause(){this.clock.pause(),this.setState(2,"MSG_CONTINUE_PAUSE"),this.save()}reset(){this.clock.reset(),this.setState(0),this.board.reset()}start(e,t,r){this.layoutID=e.id,this.mode=r,this.board.applyMapping(e.mapping,t),this.board.update(),this.run()}hint(){this.mode!==gh&&this.board.hint()}shuffle(){this.mode===uu&&this.board.shuffle()}back(){this.mode!==gh&&(!this.isRunning()||this.board.back())}load(){try{const e=this.storage.getState();if(e&&e.stones)return this.clock.elapsed=e.elapsed||0,this.layoutID=e.layout,this.mode=e.gameMode||ra,this.state=e.state||0,this.board.load(e.stones,e.undo||[]),!0}catch(e){console.error("load state failed",e)}return!1}save(){try{this.storage.storeState({elapsed:this.clock.elapsed,state:this.state,layout:this.layoutID||"",gameMode:this.mode,undo:this.board.undo,stones:this.board.save()})}catch(e){console.error("storing state failed",e)}}gameOverLoosing(){const e=this.layoutID||"unknown",t=this.storage.getScore(e)||{};t.playCount=(t.playCount||0)+1,this.storage.storeScore(e,t),this.gameOver("MSG_FAIL")}gameOverWining(){const e=this.layoutID||"unknown",t=this.clock.elapsed,r=this.storage.getScore(e)||{};r.playCount=(r.playCount||0)+1,!r.bestTime||r.bestTime>t?(r.bestTime=t,this.gameOver("MSG_BEST",t)):this.gameOver("MSG_GOOD",t),this.storage.storeScore(e,r)}delayedSave(){setTimeout(()=>{this.save()},500)}resolveMatchingStone(e){const t=this.board.selected;!t||(this.board.pick(t,e),this.board.count<2?this.gameOverWining():this.board.free.length<1?this.gameOverLoosing():(this.sound.play("match"),this.delayedSave()))}gameOver(e,t){this.sound.play("over"),this.setState(0,e,t),this.clock.reset(),this.delayedSave()}setState(e,t,r){this.message=t?{msgID:t,playTime:r}:void 0,this.state=e}}const L1=JSON.parse('{"RESTART":"New Game","UNDO":"Undo","PAUSE":"Pause","HINT":"Hint","STONES":"Stones","FREE":"Free","FULLSCREEN":"Fullscreen","HINT_LONG":"Show possible moves","UNDO_LONG":"Undo last move","RESTART_LONG":"Start a new game","PAUSE_LONG":"Continue/Pause game","MSG_CONTINUE_PAUSE":"Continue Game\u2026","MSG_CONTINUE_SAVE":"Continue Saved Game\u2026","MSG_START":"Start Game","MSG_PLAY_AGAIN":"Play again","MSG_BEST":"Congratulations, new best time!","MSG_GOOD":"Well done!","MSG_FAIL":"No more matching tiles.","STATS_GAMES":"Nr. of Games","STATS_BEST":"Best Time","LICENSE":"License","SHORTCUTS":"Shortcuts","SETTINGS":"Settings","STATS":"Stats","MODE":"Board Fill Algorithm","MODE_SOLVABLE":"Solvable","MODE_RANDOM":"Random","AUDIO":"Audio","AUDIO_SOUNDS":"Sounds on/off","AUDIO_MUSIC":"Music","LANG":"Language","LANG_AUTO":"[Default]","OPEN_SETTINGS":"Click here to open the settings","OPEN_HELP":"Click here to open the help dialog","READ_MORE_WIKIPEDIA":"Read more on wikipedia","READ_MORE_WIKIPEDIA_URL":"https://en.wikipedia.org/wiki/Mahjong_tiles","TILES_INFO":"Tiles Information","TILES":"Tiles","INFO_LONG":"Tiles Information","HELP":"Help","HELP_LONG":"Show/hide this dialog","SETTINGS_LONG":"Adjust language, tile sets & colors","MODE_SOLVABLE_DESC":"A random fill with at least one solving possibility","MODE_RANDOM_DESC":"A total random fill, maybe unsolvable","SELECT_BOARD":"Select Board","BOARD_GENERATOR":"Board Generator","START_SELECTED":"Start Selected","START_RANDOM":"Start Random","TILESET":"Tileset Art","BACKGROUND":"Background","INFO":"Info","BEST_TIMES":"Best Times","BEST_TIMES_CLEAR":"Clear Best Times","BEST_TIMES_CLEAR_SURE":"Clear All Best Times?\\nThis cannot be undone.","BEST_TIME_CLEAR":"Clear Best Time","BEST_TIME_CLEAR_SURE":"Clear Best Time?\\nThis cannot be undone.","HIGHER_CONTRAST":"Higher contrast","SOURCE":"Source","GAME":"Game","DESIGNS":"Designs","SOUNDS":"Sounds","FONTS":"Fonts","BACKGROUNDS":"Backgrounds","BACK_NONE":"[None]","BACK_BAMBOO":"Bamboo","BACK_BLUE_CLOUDS":"Blue Clouds","BACK_GRAY_CLOUDS":"Gray Clouds","BACK_GRAY_GRASS":"Grass","BACK_GRAY_STONES":"Stones","BACK_GRAY_WOOD":"Wood Table","BACK_GRAY_WOOD_GRAIN":"Wood Grain","t_do1":"Pearl","t_do2":"Pine tree","t_do3":"Phoenix","t_do4":"Jade","t_do5":"Dragon","t_do6":"Peach","t_do7":"Insect","t_do8":"White Tiger","t_do9":"Unicorn","t_ba1":"Peacock","t_ba2":"Duck","t_ba3":"Toad","t_ba4":"Carp","t_ba5":"Lotus flower","t_ba6":"Water","t_ba7":"Tortoise","t_ba8":"Mushroom","t_ba9":"Willow tree","t_ch1":"Bar of door","t_ch2":"Sword","t_ch3":"Earth","t_ch4":"Lute","t_ch5":"House","t_ch6":"Fire","t_ch7":"Seven stars","t_ch8":"Knot","t_ch9":"Heaven","t_se_spring":"Spring","t_se_summer":"Summer","t_se_fall":"Fall","t_se_winter":"Winter","t_fl_bamboo":"Bamboo","t_fl_orchid":"Orchid","t_fl_plum":"Plum Blossom","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"East","t_wi_south":"South","t_wi_west":"West","t_wi_north":"North","t_dr_red":"Red dragon","t_dr_green":"Green dragon","t_dr_white":"White dragon","TILES_SUIT_CIRCLES":"Circles","TILES_SUIT_BAMBOO":"Bamboo","TILES_SUIT_CHARACTERS":"Characters","TILES_SUITS":"Suits","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seasons","TILES_BONUS_FLOWERS":"Flowers","TILES_HONORS":"Honors","TILES_HONORS_WINDS":"Winds","TILES_HONORS_DRAGONS":"Dragons","TILES_JOKERS":"Jokers","TILES_JOKERS_GENERAL":"All-purpose jokers","TILES_JOKERS_BLUEGREEN":"Blue/green jokers","TILES_JOKERS_RED":"Red jokers","TILES_JOKERS_RANK":"Rank-restricted jokers","TILES_EXTRA":"Extra","TILES_DARK":"Dark","THEME":"Theme","THEME_LIGHT_GREEN":"Light Green","THEME_DARK_GREEN":"Dark Green","THEME_LIGHT_BLUE":"Light Blue","THEME_DARK_BLUE":"Dark Blue","THEME_BROWN":"Brown","THEME_BLACK":"Black","THEME_WHITE":"White","t_g1":"Hundred uses","t_g2":"Many uses","t_g3":"Flying","t_g4":"Circle joker","t_g5":"Bamboo joker","t_g6":"Character joker","t_g7":"Universal joker","t_g8":"Suit and Honor joker","t_g9":"Suit joker","t_g10":"Dragon joker","t_g11":"Wind joker","t_g12":"Flower joker","t_g13":"Honor joker","t_g14":"Terminal joker","t_g15":"147 joker","t_g16":"258 joker","t_g17":"369 joker","t_g18":"369 joker 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Shuffle","SHUFFLE_LONG":"Shuffle stones in the game","GAME_MODE":"Mode","GAME_MODE_EASY":"Easy","GAME_MODE_STANDARD":"Standard","GAME_MODE_EXPERT":"Expert","HOW_TO_PLAY":"How to play","HOW_GOAL":"The goal is to remove all tiles in open pairs from the game board.","HOW_OPEN":"Open","HOW_PAIR":"Pair","HOW_PAIR_DESC":"Two tiles with identical front. Within the flowers and seasons, any two tiles from the same group can be matched.","HOW_OPEN_DESC":"A tile is open if there are no tiles to its left, right or above it.","HOW_DO":"Select two matching tiles to remove them. Because there are more than two tiles for each potential pairing, strategy is involved."}');var R1=it.t(L1,2);const k1=JSON.parse('{"RESTART":"Neues Spiel","UNDO":"Zur\xfcck","PAUSE":"Pause","HINT":"Tip","STONES":"Steine","FREE":"Frei","FULLSCREEN":"Vollbild","HINT_LONG":"M\xf6gliche Z\xfcge anzeigen","UNDO_LONG":"Letzten Zug r\xfcckg\xe4ngig machen","RESTART_LONG":"Neues Spiel beginnen","PAUSE_LONG":"Spiel anhalten/fortfahren","MSG_CONTINUE_PAUSE":"Spiel fortsetzen\u2026","MSG_CONTINUE_SAVE":"Geladenes Spiel fortsetzen\u2026","MSG_START":"Spiel starten","MSG_PLAY_AGAIN":"Nochmal spielen","MSG_BEST":"Gratulation, neue Bestzeit!","MSG_GOOD":"Sehr sch\xf6n!","MSG_FAIL":"Keine passenden Ziegel mehr!","STATS_GAMES":"Anzahl Spiele","STATS_BEST":"Bestzeit","LICENSE":"Lizenz","SHORTCUTS":"Tastaturk\xfcrzel","SETTINGS":"Einstellungen","STATS":"Statistik","MODE":"Spielbrett-Algorithmus","MODE_SOLVABLE":"L\xf6sbar","MODE_RANDOM":"Zuf\xe4llig","AUDIO":"Audio","AUDIO_SOUNDS":"T\xf6ne an/aus","AUDIO_MUSIC":"Musik","LANG":"Sprache","LANG_AUTO":"[Standard]","OPEN_SETTINGS":"Klick hier um die Einstellungen zu \xf6ffnen","OPEN_HELP":"Klick hier um die Hilfe zu \xf6ffnen","READ_MORE_WIKIPEDIA":"Mehr bei Wikipedia lesen","READ_MORE_WIKIPEDIA_URL":"https://de.wikipedia.org/wiki/Mah-Jongg","TILES_INFO":"Steinverzeichnis","TILES":"Steine","INFO_LONG":"Steinverzeichnis","HELP":"Hilfe","HELP_LONG":"Diesen Dialog anzeigen/ausblenden","SETTINGS_LONG":"Sprache, Steine und Farben anpassen","MODE_SOLVABLE_DESC":"Fast zuf\xe4lliger Aufbau mit mindestens einer L\xf6sung","MODE_RANDOM_DESC":"Zuf\xe4lliger Aufbau, vielleicht unl\xf6sbar","SELECT_BOARD":"Spielbrett ausw\xe4hlen","BOARD_GENERATOR":"Spielgenerator","START_SELECTED":"Auswahl starten","START_RANDOM":"Zuf\xe4lliges starten","TILESET":"Stein-Motive","BACKGROUND":"Hintergrund","INFO":"Info","BEST_TIMES":"Bestzeiten","BEST_TIMES_CLEAR":"Bestzeiten l\xf6schen","BEST_TIMES_CLEAR_SURE":"Alle Bestzeiten l\xf6schen?\\nDies kann nicht r\xfcckg\xe4ngig gemacht werden.","BEST_TIME_CLEAR":"Bestzeit l\xf6schen","BEST_TIME_CLEAR_SURE":"Bestzeit l\xf6schen?\\nDies kann nicht r\xfcckg\xe4ngig gemacht werden.","HIGHER_CONTRAST":"H\xf6herer Kontrast","SOURCE":"Quelle","GAME":"Spiel","DESIGNS":"Designs","SOUNDS":"T\xf6ne","FONTS":"Schriftarten","BACKGROUNDS":"Hintergr\xfcnde","BACK_NONE":"[Keiner]","BACK_BAMBOO":"Bambus","BACK_BLUE_CLOUDS":"Blaue Wolken","BACK_GRAY_CLOUDS":"Graue Wolken","BACK_GRAY_GRASS":"Gras","BACK_GRAY_STONES":"Steine","BACK_GRAY_WOOD":"Holztisch","BACK_GRAY_WOOD_GRAIN":"Holzmaserung","t_do1":"Perle","t_do2":"Kiefer","t_do3":"Ph\xf6nix","t_do4":"Jade","t_do5":"Drache","t_do6":"Pfirsich","t_do7":"Insekt","t_do8":"Wei\xdfer Tiger","t_do9":"Einhorn","t_ba1":"Pfau","t_ba2":"Ente","t_ba3":"Kr\xf6te","t_ba4":"Karpfen","t_ba5":"Lotusblume","t_ba6":"Wasser","t_ba7":"Schildkr\xf6te","t_ba8":"Pilz","t_ba9":"Weidenbaum","t_ch1":"Riegel","t_ch2":"Schwert","t_ch3":"Erde","t_ch4":"Laute","t_ch5":"Haus","t_ch6":"Feuer","t_ch7":"Sieben Sterne","t_ch8":"Knoten","t_ch9":"Himmel","t_se_spring":"Fr\xfchling","t_se_summer":"Summer","t_se_fall":"Herbst","t_se_winter":"Winter","t_fl_bamboo":"Bambus","t_fl_orchid":"Orchidee","t_fl_plum":"Pflaumenbl\xfcte","t_fl_chrysanthemum":"Chrysantheme","t_wi_east":"Osten","t_wi_south":"S\xfcden","t_wi_west":"Westen","t_wi_north":"Norden","t_dr_red":"Roter Drache","t_dr_green":"Gr\xfcne Drache","t_dr_white":"Wei\xdfer Drache","TILES_SUIT_CIRCLES":"Kreise","TILES_SUIT_BAMBOO":"Bambus","TILES_SUIT_CHARACTERS":"Zahlen","TILES_SUITS":"Grundfarben","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Jahreszeiten","TILES_BONUS_FLOWERS":"Blumen","TILES_HONORS":"Tr\xfcmpfe","TILES_HONORS_WINDS":"Winde","TILES_HONORS_DRAGONS":"Drachen","TILES_JOKERS":"Joker","TILES_JOKERS_GENERAL":"Allgemeine Joker","TILES_JOKERS_BLUEGREEN":"Blau/Gr\xfcne Joker","TILES_JOKERS_RED":"Rote Joker","TILES_JOKERS_RANK":"Rangbeschr\xe4nkte Joker","TILES_EXTRA":"Extra","TILES_DARK":"Dunkel","THEME":"Farbthema","THEME_LIGHT_GREEN":"Helleres Gr\xfcn","THEME_DARK_GREEN":"Dunkleres Gr\xfcn","THEME_LIGHT_BLUE":"Helleres Blau","THEME_DARK_BLUE":"Dunkleres Blau","THEME_BROWN":"Braun","THEME_BLACK":"Schwarz","THEME_WHITE":"Wei\xdf","t_g1":"Hundert Verwendungen","t_g2":"Viele Verwendungen","t_g3":"Fliegend","t_g4":"Kreis Joker","t_g5":"Bambus Joker","t_g6":"Zeichen Joker","t_g7":"Universaler Joker","t_g8":"Rang und Ehren Joker","t_g9":"Rang Joker","t_g10":"Drachen Joker","t_g11":"Wind Joker","t_g12":"Blumen Joker","t_g13":"Ehren Joker","t_g14":"Terminal Joker","t_g15":"147 Joker","t_g16":"258 Joker","t_g17":"369 Joker","t_g18":"369 Joker 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Mischen","SHUFFLE_LONG":"Steine im Spiel mischen","GAME_MODE":"Modus","GAME_MODE_EASY":"Einfach","GAME_MODE_STANDARD":"Standard","GAME_MODE_EXPERT":"Profi","HOW_TO_PLAY":"Spielanleitung","HOW_GOAL":"Das Ziel ist es, alle Steine in offenen Paaren vom Spielbrett zu entfernen.","HOW_OPEN":"Offen","HOW_PAIR":"Paar","HOW_PAIR_DESC":"Zwei Steine mit identischer Vorderseite. Innerhalb der Blumen und Jahreszeiten passen zwei beliebige Steine derselben Gruppe.","HOW_OPEN_DESC":"Ein Stein ist offen, wenn sich links, rechts oder dar\xfcber kein Stein befindet.","HOW_DO":"W\xe4hlen Sie zwei passende Steine aus, um sie zu entfernen. Da es f\xfcr jede potenzielle Paarung mehr als zwei Steine gibt, ist Strategie erforderlich."}');var F1=it.t(k1,2);const B1=JSON.parse('{"RESTART":"Nieuw spel","UNDO":"Ongedaan maken","PAUSE":"Onderbreken","HINT":"Hint","STONES":"Aantal stenen","FREE":"Waarvan vrijliggend","FULLSCREEN":"Beeldvullend","HINT_LONG":"Toon de mogelijke zetten","UNDO_LONG":"Maak de vorige zet ongedaan","RESTART_LONG":"Start een nieuw spel","PAUSE_LONG":"Onderbreek/Hervat een spel","MSG_CONTINUE_PAUSE":"Spel voortzetten\u2026","MSG_CONTINUE_SAVE":"Opgeslagen spel voortzetten\u2026","MSG_START":"Spel starten","MSG_PLAY_AGAIN":"Opnieuw spelen","MSG_BEST":"Je hebt een nieuw record neergezet!","MSG_GOOD":"Goed gedaan!","MSG_FAIL":"Er zijn geen zetten meer mogelijk.","STATS_GAMES":"Aantal keer gespeeld","STATS_BEST":"Record","LICENSE":"Licentie","SHORTCUTS":"Sneltoetsen","SETTINGS":"Instellingen","STATS":"Statistieken","MODE":"Legwijze","MODE_SOLVABLE":"Oplosbaar","MODE_RANDOM":"Willekeurig","AUDIO":"Geluid","AUDIO_SOUNDS":"Geluid aan/uit","AUDIO_MUSIC":"Muziek","LANG":"Taal","LANG_AUTO":"[standaard]","OPEN_SETTINGS":"Klik hier om de instellingen te openen","OPEN_HELP":"Klik hier om het hulpvenster te openen","READ_MORE_WIKIPEDIA":"Lees meer hierover op Wikipedia (Engels)","READ_MORE_WIKIPEDIA_URL":"https://nl.wikipedia.org/wiki/Mahjong","TILES_INFO":"Toon informatie over de stenen","TILES":"Stenen","INFO_LONG":"Toon informatie over de stenen","HELP":"Hulp","HELP_LONG":"Toon/verberg dit dialoogvenster","SETTINGS_LONG":"Taal, tegelsets en kleuren aanpassen","MODE_SOLVABLE_DESC":"Een willekeurige legwijze met ten minste \xe9\xe9n oplossing","MODE_RANDOM_DESC":"Een willekeurige legwijze, mogelijk zonder oplossing","SELECT_BOARD":"Kies een spelbord","BOARD_GENERATOR":"Bordsamensteller","START_SELECTED":"Gekozen bord neerleggen","START_RANDOM":"Willekeurig bord","TILESET":"Steendecoraties","BACKGROUND":"Achtergrond","INFO":"Informatie","BEST_TIMES":"Records","BEST_TIMES_CLEAR":"Records wissen","BEST_TIMES_CLEAR_SURE":"Weet je zeker dat je alle records wilt wissen?\\nDit kan niet ongedaan worden gemaakt.","BEST_TIME_CLEAR":"Record wissen","BEST_TIME_CLEAR_SURE":"Weet je zeker dat je dit record wilt wissen?\\nDit kan niet ongedaan worden gemaakt.","HIGHER_CONTRAST":"Hoger contrast","SOURCE":"Bron","GAME":"Spel","DESIGNS":"Vormgeving","SOUNDS":"Geluiden","FONTS":"Lettertypen","BACKGROUNDS":"Achtergronden","BACK_NONE":"[geen]","BACK_BAMBOO":"Bamboe","BACK_BLUE_CLOUDS":"Blauwe lucht","BACK_GRAY_CLOUDS":"Grijze lucht","BACK_GRAY_GRASS":"Gras","BACK_GRAY_STONES":"Stenen","BACK_GRAY_WOOD":"Houten tafel","BACK_GRAY_WOOD_GRAIN":"Houtnerven","t_do1":"Parel","t_do2":"Pijnboom","t_do3":"Feniks","t_do4":"Jade","t_do5":"Draak","t_do6":"Perzik","t_do7":"Insect","t_do8":"Witte tijger","t_do9":"Eenhoorn","t_ba1":"Dagpauwoog","t_ba2":"Eend","t_ba3":"Pad","t_ba4":"Karper","t_ba5":"Lotusbloem","t_ba6":"Water","t_ba7":"Schildpad","t_ba8":"Paddestoel","t_ba9":"Wilg","t_ch1":"Deurklink","t_ch2":"Zwaard","t_ch3":"Aarde","t_ch4":"Luit","t_ch5":"Huis","t_ch6":"Vuur","t_ch7":"Zeven sterren","t_ch8":"Knoop","t_ch9":"Hemel","t_se_spring":"Lente","t_se_summer":"Zomer","t_se_fall":"Herfst","t_se_winter":"Winter","t_fl_bamboo":"Bamboe","t_fl_orchid":"Orchidee","t_fl_plum":"Japanse abrikoos","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"Oosten","t_wi_south":"Zuiden","t_wi_west":"Westen","t_wi_north":"Noorden","t_dr_red":"Rode draak","t_dr_green":"Groene draak","t_dr_white":"Witte draak","TILES_SUIT_CIRCLES":"Cirkels","TILES_SUIT_BAMBOO":"Bamboe","TILES_SUIT_CHARACTERS":"Symbolen","TILES_SUITS":"Sets","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seizoenen","TILES_BONUS_FLOWERS":"Bloemen","TILES_HONORS":"Eretekens","TILES_HONORS_WINDS":"Winden","TILES_HONORS_DRAGONS":"Draken","TILES_JOKERS":"Jokers","TILES_JOKERS_GENERAL":"All-purpose jokers","TILES_JOKERS_BLUEGREEN":"Blauw/groene jokers","TILES_JOKERS_RED":"Rode jokers","TILES_JOKERS_RANK":"Jokers met beperkte rangschikking","TILES_EXTRA":"Extra","TILES_DARK":"Donker","THEME":"Kleurenthema","THEME_LIGHT_GREEN":"Licht groen","THEME_DARK_GREEN":"Donkergroen","THEME_LIGHT_BLUE":"Lichtblauw","THEME_DARK_BLUE":"Donkerblauw","THEME_BROWN":"Bruin","THEME_BLACK":"Zwart","THEME_WHITE":"Wit","t_g1":"Honderd keer gebruikt","t_g2":"Veel gebruik","t_g3":"Vliegend","t_g4":"Cirkeljoker","t_g5":"Bamboe joker","t_g6":"Symbool joker","t_g7":"Universele joker","t_g8":"Suit and Honour-joker","t_g9":"Pak joker","t_g10":"Drakenjoker","t_g11":"Windjoker","t_g12":"Bloemenjoker","t_g13":"Eer joker","t_g14":"Terminale joker","t_g15":"147 joker","t_g16":"258 joker","t_g17":"369 joker","t_g18":"369 joker 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Shuffle","SHUFFLE_LONG":"Schud stenen in het spel","GAME_MODE":"Modus","GAME_MODE_EASY":"Eenvoudig","GAME_MODE_STANDARD":"Standaard","GAME_MODE_EXPERT":"Deskundige","HOW_TO_PLAY":"Hoe te spelen","HOW_GOAL":"Het doel is om alle tegels in open paren van het spelbord te verwijderen.","HOW_OPEN":"Open","HOW_PAIR":"Paar","HOW_PAIR_DESC":"Twee tegels met identiek front. Binnen de bloemen en seizoenen kunnen twee tegels uit dezelfde groep worden gematcht.","HOW_OPEN_DESC":"Een tegel is open als er links, rechts of erboven geen tegels zijn.","HOW_DO":"Selecteer twee overeenkomende tegels om ze te verwijderen. Omdat er meer dan twee tegels zijn voor elke mogelijke koppeling, komt er strategie bij kijken."}');var H1=it.t(B1,2);const V1=JSON.parse('{"RESTART":"Novo Jogo","UNDO":"Voltar","PAUSE":"Pausar","HINT":"Dica","STONES":"Pe\xe7as","FREE":"Livres","FULLSCREEN":"Tela Cheia","HINT_LONG":"Mostrar movimentos poss\xedveis","UNDO_LONG":"Desfazer \xfaltima jogada","RESTART_LONG":"Come\xe7ar um novo jogo","PAUSE_LONG":"Continuar/Pausar jogo","MSG_CONTINUE_PAUSE":"Continuar\u2026","MSG_CONTINUE_SAVE":"Continuar Jogo Salvo\u2026","MSG_START":"Come\xe7ar","MSG_PLAY_AGAIN":"Jogar novamente","MSG_BEST":"Parab\xe9ns, novo tempo recorde!","MSG_GOOD":"Parab\xe9ns!","MSG_FAIL":"N\xe3o h\xe1 mais pe\xe7as livres.","STATS_GAMES":"N\xfamero de Jogos","STATS_BEST":"Melhor tempo","LICENSE":"Licensa","SHORTCUTS":"Atalhos","SETTINGS":"Configura\xe7\xf5es","STATS":"Estat\xedsticas","MODE":"Algoritmo de preenchimento de placa","MODE_SOLVABLE":"Sol\xfavel","MODE_RANDOM":"Aleatoriamente","AUDIO":"\xc1udio","AUDIO_SOUNDS":"Sons","AUDIO_MUSIC":"M\xfasica","LANG":"L\xedngua","LANG_AUTO":"[Autom\xe1tico]","OPEN_SETTINGS":"Clique aqui para abrir as configura\xe7\xf5es","OPEN_HELP":"Clique aqui para abrir a ajuda","READ_MORE_WIKIPEDIA":"Leia mais na wikipedia","READ_MORE_WIKIPEDIA_URL":"https://pt.wikipedia.org/wiki/Mahjong","TILES_INFO":"Informa\xe7\xf5es sobre as pe\xe7as","TILES":"Pe\xe7as","INFO_LONG":"Informa\xe7\xf5es sobre as pe\xe7as","HELP":"Ajuda","HELP_LONG":"Mostrar/ocultar esta caixa de di\xe1logo","SETTINGS_LONG":"Ajuste o idioma, conjuntos de blocos e cores","MODE_SOLVABLE_DESC":"Um preenchimento aleat\xf3rio com pelo menos uma possibilidade de solu\xe7\xe3o","MODE_RANDOM_DESC":"Um preenchimento totalmente aleat\xf3rio, talvez insol\xfavel","SELECT_BOARD":"Selecione o tabuleiro","BOARD_GENERATOR":"Gerador de placa","START_SELECTED":"Jogar Selecionado","START_RANDOM":"Jogar Aleat\xf3rio","TILESET":"Pe\xe7as","BACKGROUND":"Papel de Parede","INFO":"Informa\xe7\xf5es","BEST_TIMES":"Melhores tempos","BEST_TIMES_CLEAR":"Limpar os melhores tempos","BEST_TIMES_CLEAR_SURE":"Limpar todos os melhores momentos?\\nIsto n\xe3o pode ser desfeito.","BEST_TIME_CLEAR":"Limpar melhor hora","BEST_TIME_CLEAR_SURE":"Limpar melhor hora?\\nIsto n\xe3o pode ser desfeito.","HIGHER_CONTRAST":"Contraste mais alto","SOURCE":"Fonte","GAME":"Jogo","DESIGNS":"Desenhos","SOUNDS":"Sons","FONTS":"Fontes","BACKGROUNDS":"Fundos","BACK_NONE":"[Nenhum]","BACK_BAMBOO":"Bambu","BACK_BLUE_CLOUDS":"Nuvens Azuis","BACK_GRAY_CLOUDS":"Nuvens Cinzentas","BACK_GRAY_GRASS":"Grama","BACK_GRAY_STONES":"Pedras","BACK_GRAY_WOOD":"Mesa de madeira","BACK_GRAY_WOOD_GRAIN":"Gr\xe3o de madeira","t_do1":"Pearl","t_do2":"Pine tree","t_do3":"Phoenix","t_do4":"Jade","t_do5":"Dragon","t_do6":"Peach","t_do7":"Insect","t_do8":"White Tiger","t_do9":"Unicorn","t_ba1":"Peacock","t_ba2":"Duck","t_ba3":"Toad","t_ba4":"Carp","t_ba5":"Lotus flower","t_ba6":"Water","t_ba7":"Tortoise","t_ba8":"Mushroom","t_ba9":"Willow tree","t_ch1":"Bar of door","t_ch2":"Sword","t_ch3":"Earth","t_ch4":"Lute","t_ch5":"House","t_ch6":"Fire","t_ch7":"Seven stars","t_ch8":"Knot","t_ch9":"Heaven","t_se_spring":"Spring","t_se_summer":"Summer","t_se_fall":"Fall","t_se_winter":"Winter","t_fl_bamboo":"Bamboo","t_fl_orchid":"Orchid","t_fl_plum":"Plum Blossom","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"East","t_wi_south":"South","t_wi_west":"West","t_wi_north":"North","t_dr_red":"Red dragon","t_dr_green":"Green dragon","t_dr_white":"White dragon","TILES_SUIT_CIRCLES":"Circles","TILES_SUIT_BAMBOO":"Bamboo","TILES_SUIT_CHARACTERS":"Characters","TILES_SUITS":"Suits","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seasons","TILES_BONUS_FLOWERS":"Flowers","TILES_HONORS":"Honors","TILES_HONORS_WINDS":"Winds","TILES_HONORS_DRAGONS":"Dragons","TILES_JOKERS":"Coringas","TILES_JOKERS_GENERAL":"Coringas para todos os fins","TILES_JOKERS_BLUEGREEN":"Coringas azuis/verdes","TILES_JOKERS_RED":"Coringas vermelhos","TILES_JOKERS_RANK":"Coringas com restri\xe7\xe3o de classifica\xe7\xe3o","TILES_EXTRA":"Extra","TILES_DARK":"Escuro","THEME":"Tema de cores","THEME_LIGHT_GREEN":"Luz verde","THEME_DARK_GREEN":"Verde escuro","THEME_LIGHT_BLUE":"Azul claro","THEME_DARK_BLUE":"Azul escuro","THEME_BROWN":"Marrom","THEME_BLACK":"Preta","THEME_WHITE":"Branca","t_g1":"Cem usos","t_g2":"Muitos usos","t_g3":"V\xf4o","t_g4":"Coringa de c\xedrculo","t_g5":"Coringa de bambu","t_g6":"Coringa de s\xedmbolo","t_g7":"Coringa universal","t_g8":"Coringa de terno e honra","t_g9":"Coringa de terno","t_g10":"Coringa de drag\xe3o","t_g11":"Coringa do vento","t_g12":"Coringa de flores","t_g13":"Coringa de honra","t_g14":"Coringa terminal","t_g15":"147 Coringa","t_g16":"258 Coringa","t_g17":"369 Coringa","t_g18":"369 Coringa 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Embaralhar","SHUFFLE_LONG":"Embaralhe pedras neste jogo","GAME_MODE":"Modo","GAME_MODE_EASY":"F\xe1cil","GAME_MODE_STANDARD":"Padr\xe3o","GAME_MODE_EXPERT":"Especialista","HOW_TO_PLAY":"Como jogar","HOW_GOAL":"O objetivo \xe9 remover todas as pe\xe7as em pares abertos do tabuleiro de jogo.","HOW_OPEN":"Abrir","HOW_PAIR":"Par","HOW_PAIR_DESC":"Duas telhas com frente id\xeantica. Dentro das flores e esta\xe7\xf5es, quaisquer duas pe\xe7as do mesmo grupo podem ser combinadas.","HOW_OPEN_DESC":"Uma pe\xe7a est\xe1 aberta se n\xe3o houver pe\xe7as \xe0 sua esquerda, direita ou acima dela.","HOW_DO":"Selecione duas pe\xe7as iguais para remov\xea-las. Como h\xe1 mais de duas pe\xe7as para cada par potencial, a estrat\xe9gia est\xe1 envolvida."}');var j1=it.t(V1,2);const U1=JSON.parse('{"RESTART":"\u041d\u043e\u0432\u0430\u044f \u0438\u0433\u0440\u0430","UNDO":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c","PAUSE":"\u041f\u0430\u0443\u0437\u0430","HINT":"\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430","STONES":"\u0424\u0438\u0448\u043a\u0438","FREE":"\u0425\u043e\u0434\u044b","FULLSCREEN":"\u041f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439","HINT_LONG":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0445\u043e\u0434\u044b","UNDO_LONG":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0445\u043e\u0434","RESTART_LONG":"\u041d\u0430\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0438\u0433\u0440\u0443","PAUSE_LONG":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c / \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0433\u0440\u0443","MSG_CONTINUE_PAUSE":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0438\u0433\u0440\u0443\u2026","MSG_CONTINUE_SAVE":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u0443\u044e \u0438\u0433\u0440\u0443\u2026","MSG_START":"\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0433\u0440\u0443","MSG_PLAY_AGAIN":"\u0418\u0433\u0440\u0430\u0442\u044c \u0441\u043d\u043e\u0432\u0430","MSG_BEST":"\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e \u0441 \u043d\u043e\u0432\u044b\u043c \u043b\u0443\u0447\u0448\u0438\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c!","MSG_GOOD":"\u041e\u0442\u043b\u0438\u0447\u043d\u043e!","MSG_FAIL":"\u041d\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0444\u0438\u0448\u0435\u043a.","STATS_GAMES":"\u2116 \u0438\u0433\u0440","STATS_BEST":"\u041b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","LICENSE":"\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f","SHORTCUTS":"\u0413\u043e\u0440\u044f\u0447\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438","SETTINGS":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","STATS":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430","MODE":"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u043a\u0438","MODE_SOLVABLE":"\u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c\u044b\u0439","MODE_RANDOM":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439","AUDIO":"\u0410\u0443\u0434\u0438\u043e","AUDIO_SOUNDS":"\u0417\u0432\u0443\u043a\u0438","AUDIO_MUSIC":"\u041c\u0443\u0437\u044b\u043a\u0430","LANG":"\u042f\u0437\u044b\u043a","LANG_AUTO":"[\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e]","OPEN_SETTINGS":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","OPEN_HELP":"\u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u043a\u0438","READ_MORE_WIKIPEDIA":"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438","READ_MORE_WIKIPEDIA_URL":"https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%B4%D0%B6%D0%BE%D0%BD%D0%B3_(%D0%BF%D0%B0%D1%81%D1%8C%D1%8F%D0%BD%D1%81)","TILES_INFO":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0433\u0440\u044b","TILES":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430","INFO_LONG":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0433\u0440\u044b","HELP":"\u041f\u043e\u043c\u043e\u0449\u044c","HELP_LONG":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c/\u0441\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u0438\u0430\u043b\u043e\u0433","SETTINGS_LONG":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u044f\u0437\u044b\u043a\u0430, \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u043f\u043b\u0438\u0442\u043e\u043a \u0438 \u0446\u0432\u0435\u0442\u043e\u0432","MODE_SOLVABLE_DESC":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0437\u0430\u043b\u0438\u0432\u043a\u0430 \u0441 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f","MODE_RANDOM_DESC":"\u041f\u043e\u043b\u043d\u0430\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0437\u0430\u043b\u0438\u0432\u043a\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c\u0430\u044f ","SELECT_BOARD":"\u0412\u044b\u0431\u043e\u0440 \u043a\u0430\u0440\u0442\u044b","BOARD_GENERATOR":"\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043b\u0430\u0442\u044b","START_SELECTED":"\u041d\u0430\u0447\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043e","START_RANDOM":"\u041d\u0430\u0447\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439","TILESET":"\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0444\u0438\u0448\u0435\u043a","BACKGROUND":"\u0424\u043e\u043d","INFO":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430","BEST_TIMES":"\u041b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","BEST_TIMES_CLEAR":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","BEST_TIMES_CLEAR_SURE":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f?\\n\u042d\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e.","BEST_TIME_CLEAR":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","BEST_TIME_CLEAR_SURE":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f?\\n\u042d\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e.","HIGHER_CONTRAST":"\u0411\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442","SOURCE":"\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a","GAME":"\u0418\u0433\u0440\u0430","DESIGNS":"\u0414\u0438\u0437\u0430\u0439\u043d","SOUNDS":"\u0417\u0432\u0443\u043a\u0438","FONTS":"\u0428\u0440\u0438\u0444\u0442\u044b","BACKGROUNDS":"\u0424\u043e\u043d\u044b","BACK_NONE":"[\u041d\u0438\u043a\u0442\u043e]","BACK_BAMBOO":"\u0411\u0430\u043c\u0431\u0443\u043a","BACK_BLUE_CLOUDS":"\u0421\u0438\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u043a\u0430","BACK_GRAY_CLOUDS":"\u0421\u0435\u0440\u044b\u0435 \u043e\u0431\u043b\u0430\u043a\u0430","BACK_GRAY_GRASS":"\u0422\u0440\u0430\u0432\u0430","BACK_GRAY_STONES":"\u041a\u0430\u043c\u043d\u0438","BACK_GRAY_WOOD":"\u0414\u0435\u0440\u0435\u0432\u044f\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u043b","BACK_GRAY_WOOD_GRAIN":"\u0422\u0435\u043a\u0441\u0442\u0443\u0440\u0430 \u0434\u0440\u0435\u0432\u0435\u0441\u0438\u043d\u044b","t_do1":"Pearl","t_do2":"Pine tree","t_do3":"Phoenix","t_do4":"Jade","t_do5":"Dragon","t_do6":"Peach","t_do7":"Insect","t_do8":"White Tiger","t_do9":"Unicorn","t_ba1":"Peacock","t_ba2":"Duck","t_ba3":"Toad","t_ba4":"Carp","t_ba5":"Lotus flower","t_ba6":"Water","t_ba7":"Tortoise","t_ba8":"Mushroom","t_ba9":"Willow tree","t_ch1":"Bar of door","t_ch2":"Sword","t_ch3":"Earth","t_ch4":"Lute","t_ch5":"House","t_ch6":"Fire","t_ch7":"Seven stars","t_ch8":"Knot","t_ch9":"Heaven","t_se_spring":"Spring","t_se_summer":"Summer","t_se_fall":"Fall","t_se_winter":"Winter","t_fl_bamboo":"Bamboo","t_fl_orchid":"Orchid","t_fl_plum":"Plum Blossom","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"East","t_wi_south":"South","t_wi_west":"West","t_wi_north":"North","t_dr_red":"Red dragon","t_dr_green":"Green dragon","t_dr_white":"White dragon","TILES_SUIT_CIRCLES":"Circles","TILES_SUIT_BAMBOO":"Bamboo","TILES_SUIT_CHARACTERS":"Characters","TILES_SUITS":"Suits","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seasons","TILES_BONUS_FLOWERS":"Flowers","TILES_HONORS":"Honors","TILES_HONORS_WINDS":"Winds","TILES_HONORS_DRAGONS":"Dragons","TILES_JOKERS":"\u0414\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_GENERAL":"\u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_BLUEGREEN":"\u0421\u0438\u043d\u0438\u0435/\u0437\u0435\u043b\u0435\u043d\u044b\u0435 \u0434\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_RED":"\u041a\u0440\u0430\u0441\u043d\u044b\u0435 \u0434\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_RANK":"\u0414\u0436\u043e\u043a\u0435\u0440\u044b \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0440\u0430\u043d\u0433\u0443","TILES_EXTRA":"\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439","TILES_DARK":"\u0422\u0435\u043c\u043d\u044b\u0439","THEME":"\u0446\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u0430","THEME_LIGHT_GREEN":"\u0421\u0432\u0435\u0442\u043b\u043e-\u0437\u0435\u043b\u0435\u043d\u044b\u0439","THEME_DARK_GREEN":"\u0422\u0435\u043c\u043d\u043e-\u0437\u0435\u043b\u0435\u043d\u044b\u0439","THEME_LIGHT_BLUE":"\u0421\u0432\u0435\u0442\u043b\u043e-\u0441\u0438\u043d\u0438\u0439","THEME_DARK_BLUE":"\u0422\u0435\u043c\u043d\u043e-\u0441\u0438\u043d\u0438\u0439","THEME_BROWN":"\u041a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439","THEME_BLACK":"\u0427\u0435\u0440\u043d\u044b\u0439","THEME_WHITE":"\u0411\u0435\u043b\u044b\u0439","t_g1":"\u0421\u043e\u0442\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0439","t_g2":"\u041c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0439","t_g3":"\u041b\u0435\u0442\u0430\u044e\u0449\u0438\u0439","t_g4":"\u041a\u0440\u0443\u0433\u043e\u0432\u043e\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g5":"\u0411\u0430\u043c\u0431\u0443\u043a\u043e\u0432\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g6":"\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0436\u043e\u043a\u0435\u0440","t_g7":"\u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g8":"\u041a\u043e\u0441\u0442\u044e\u043c \u0438 \u0427\u0435\u0441\u0442\u044c \u0414\u0436\u043e\u043a\u0435\u0440","t_g9":"\u041a\u043e\u0441\u0442\u044e\u043c \u0434\u0436\u043e\u043a\u0435\u0440\u0430","t_g10":"\u0414\u0436\u043e\u043a\u0435\u0440 \u0434\u0440\u0430\u043a\u043e\u043d\u0430","t_g11":"\u0414\u0436\u043e\u043a\u0435\u0440 \u0432\u0435\u0442\u0440\u0430","t_g12":"\u0426\u0432\u0435\u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g13":"\u0425\u043e\u043d\u043e\u0440 \u0414\u0436\u043e\u043a\u0435\u0440","t_g14":"\u0422\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g15":"147 \u0434\u0436\u043e\u043a\u0435\u0440","t_g16":"258 \u0434\u0436\u043e\u043a\u0435\u0440","t_g17":"369 \u0434\u0436\u043e\u043a\u0435\u0440","t_g18":"369 \u0434\u0436\u043e\u043a\u0435\u0440 2","t_e1":"\u042d\u043a\u0441\u0442\u0440\u0430 1","t_e2":"\u042d\u043a\u0441\u0442\u0440\u0430 2","t_e3":"\u042d\u043a\u0441\u0442\u0440\u0430 3","t_e4":"\u042d\u043a\u0441\u0442\u0440\u0430 4","t_e5":"\u042d\u043a\u0441\u0442\u0440\u0430 5","t_e6":"\u042d\u043a\u0441\u0442\u0440\u0430 6","t_e7":"\u042d\u043a\u0441\u0442\u0440\u0430 7","t_e8":"\u042d\u043a\u0441\u0442\u0440\u0430 8","t_e9":"\u042d\u043a\u0441\u0442\u0440\u0430 9","SHUFFLE":"\u041f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u0442\u044c","SHUFFLE_LONG":"\u041f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u0442\u044c \u043a\u0430\u043c\u043d\u0438 \u0432 \u044d\u0442\u043e\u0439 \u0438\u0433\u0440\u0435","GAME_MODE":"M\u043e\u0434\u0443\u0441","GAME_MODE_EASY":"\u041b\u0435\u0433\u043a\u043e","GAME_MODE_STANDARD":"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442","GAME_MODE_EXPERT":"\u042d\u043a\u0441\u043f\u0435\u0440\u0442","HOW_TO_PLAY":"\u041a\u0430\u043a \u0438\u0433\u0440\u0430\u0442\u044c","HOW_GOAL":"\u0426\u0435\u043b\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u0430\u0440\u0430\u0445 \u0441 \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044f.","HOW_OPEN":"\u041e\u0442\u043a\u0440\u044b\u0442\u044b\u043c","HOW_PAIR":"\u041f\u0430\u0440\u0430","HOW_PAIR_DESC":"\u0414\u0432\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u043b\u0438\u0446\u0435\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439. \u0412 \u0446\u0432\u0435\u0442\u0430\u0445 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u0445 \u0433\u043e\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0432\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b.","HOW_OPEN_DESC":"\u041f\u043b\u0438\u0442\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0430, \u0435\u0441\u043b\u0438 \u0441\u043b\u0435\u0432\u0430, \u0441\u043f\u0440\u0430\u0432\u0430 \u0438\u043b\u0438 \u043d\u0430\u0434 \u043d\u0435\u0439 \u043d\u0435\u0442 \u043f\u043b\u0438\u0442\u043e\u043a.","HOW_DO":"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0432\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043f\u043b\u0438\u0442\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043f\u043b\u0438\u0442\u043e\u043a, \u0437\u0434\u0435\u0441\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f."}'),ia={en:{title:"English",data:R1},de:{title:"Deutsch",data:F1},nl:{title:"Nederlands",data:H1},pt:{title:"Portugu\xeas",data:j1},ru:{title:"\u0440\u0443\u0441\u0441\u043a\u0438\u0439",data:it.t(U1,2)}},$1=Object.keys(ia).map(n=>({key:n,title:ia[n].title}));class z1{constructor(e){this.storageProvider=e,this.lang="auto",this.sounds=!0,this.tileset=mh,this.contrast=!1,this.dark=!1,this.background="",this.theme="ltgreen",this.stats={games:0,bestTime:0}}load(){try{const e=this.storageProvider.getSettings();return e&&(this.lang=e.lang||"auto",this.tileset=e.tileset||mh,this.background=e.background,this.theme=e.theme||"ltgreen",this.contrast=e.contrast||!1,this.dark=e.dark||!1,this.sounds=e.sounds||!1),!0}catch(e){console.error("load settings failed",e)}return!1}save(){try{return this.storageProvider.storeSettings({lang:this.lang,sounds:this.sounds,contrast:this.contrast,dark:this.dark,background:this.background,theme:this.theme,tileset:this.tileset}),!0}catch(e){console.error("storing settings failed",e)}return!1}}let Ls=(()=>{class n{constructor(){this.prefix="mah.",this.updateData()}getScore(t){return this.get(`score.${t}`)}getSettings(){return this.get("settings")}getState(){return this.get("state")}getCustomLayouts(){return this.get("boards")}getLastPlayed(){if(localStorage)try{return localStorage.getItem("last")||void 0}catch(t){console.error(t)}}storeLastPlayed(t){if(localStorage)try{t?localStorage.setItem("last",t):localStorage.removeItem("last")}catch(r){console.error(r)}}storeScore(t,r){this.set(`score.${t}`,r)}clearScore(t){this.set(`score.${t}`,void 0)}storeSettings(t){this.set("settings",t)}storeState(t){this.set("state",t)}storeCustomLayouts(t){this.set("boards",t)}get(t){if(localStorage)try{const r=localStorage.getItem(`${this.prefix}${t}`);return r?JSON.parse(r):void 0}catch{return}}set(t,r){!localStorage||(void 0===r?localStorage.removeItem(`${this.prefix}${t}`):localStorage.setItem(this.prefix+t,JSON.stringify(r)))}updateData(){if(localStorage)try{let t=localStorage.getItem("state");t&&(localStorage.removeItem("state"),this.set("state",JSON.parse(t))),t=localStorage.getItem("settings"),t&&(localStorage.removeItem("settings"),this.set("settings",JSON.parse(t)))}catch(t){console.error(t)}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),Rs=(()=>{class n{constructor(t,r){this.storage=t,this.translate=r,this.name="Mah Jong",this.game=new x1(t),this.settings=new z1(t),this.settings.load(),this.setupTranslations(),this.setLang(),this.game.init(),this.game.sound.enabled=this.settings.sounds}setLang(){let t;t=this.settings.lang&&"auto"!==this.settings.lang?this.settings.lang:(navigator.language.split("-")[0]||"en").toLowerCase(),Object.keys(ia).indexOf(t)>=0?this.translate.use(t):this.translate.use("en")}toggleSound(){this.settings.sounds=!this.settings.sounds,this.game.sound.enabled=this.settings.sounds,this.settings.save()}setupTranslations(){Object.keys(ia).forEach(t=>{this.translate.setTranslation(t,ia[t].data)}),this.translate.setDefaultLang("en")}}return n.\u0275fac=function(t){return new(t||n)(A(Ls),A(Ci))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();function pC(n,e,t,r,i,s,o){try{var a=n[s](o),l=a.value}catch(u){return void t(u)}a.done?e(l):Promise.resolve(l).then(r,i)}function fu(n){return function(){var e=this,t=arguments;return new Promise(function(r,i){var s=n.apply(e,t);function o(l){pC(s,r,i,o,a,"next",l)}function a(l){pC(s,r,i,o,a,"throw",l)}o(void 0)})}}const W1=et(n=>function(){n(this),this.name="EmptyError",this.message="no elements in sequence"});function gC(n){const e=[];return n.forEach(t=>{const r=t[0];t[1].forEach(s=>{const o=s[0],a=s[1];Array.isArray(a)?a.forEach(l=>{if(Array.isArray(l)){let u=l[0];const c=l[1];for(let d=0;d<c;d++)e.push([r,u,o]),u+=2}else e.push([r,l,o])}):e.push([r,a,o])})}),e}function Y1(n){return function K1(n){let t,r,e=0;if(0===n.length)return e;for(t=0;t<n.length;t++)r=n.charCodeAt(t),e=(e<<5)-e+r,e|=0;return e+2147483647}(JSON.stringify(n)).toString()}function mC(n,e,t){const r={x:77*e/2-8*n+37.5,y:102*t/2-8*n+50,z:t+18*(e+38*n),translate:""};return r.translate=`translate(${r.x},${r.y})`,r}function _C(n){const e=t=>t.pos.z;return n.sort((t,r)=>{const i=e(t),s=e(r);return i<s?-1:i>s?1:0})}function yC(n,e,t,r=!1){return(r?[-n[3]-100-10,-n[0]-30,n[3]+100-10,n[2]+n[0]+75+40]:[n[0]-40,n[1]-20,n[2]+100+40,n[3]+100+20]).join(" ")}function EC(n,e,t){const r=Math.max(e,t),i=[r,r,0,0];return n.forEach(s=>{i[0]=Math.min(i[0],s.pos.x),i[1]=Math.min(i[1],s.pos.y),i[2]=Math.max(i[2],s.pos.x),i[3]=Math.max(i[3],s.pos.y)}),i}let sa=(()=>{class n{constructor(t,r,i){this.http=t,this.sanitizer=r,this.storage=i}get(){var t=this;return fu(function*(){if(t.layouts)return t.layouts;const r=[],i=yield t.requestBoards();for(const o of i){const a=t.expandLayout(o);a&&r.push(a)}const s=t.loadCustomBoards();for(const o of s){const a=t.expandLayout(o,!0);a&&r.push(a)}return t.layouts={items:r},t.layouts})()}removeAllCustomLayouts(){this.layouts.items=this.layouts.items.filter(t=>!t.custom),this.storage.storeCustomLayouts(void 0)}removeCustomLayout(t){this.layouts.items=this.layouts.items.filter(i=>!i.custom||!t.includes(i.id));const r=(this.storage.getCustomLayouts()||[]).filter(i=>!t.includes(i.id));this.storage.storeCustomLayouts(0===r.length?void 0:r)}expandLayout(t,r){const i=gC(t.map||[]);return{id:t.id&&""!==t.id?t.id:Y1(i),name:t.name,by:t.by,category:t.cat||"Classic",mapping:gC(t.map),previewSVG:this.generatePreview(i),custom:r}}loadCustomBoards(){return this.storage.getCustomLayouts()||[]}storeCustomBoards(t){const r=this.loadCustomBoards();this.storage.storeCustomLayouts(r.concat(t)),this.layouts.items=this.layouts.items.concat(t.map(i=>this.expandLayout(i,!0)))}generatePreview(t){return this.sanitizer.bypassSecurityTrustUrl(function X1(n){const e=function Q1(n){const e=new yr(0,0,0,0,0);return _C(n.map(r=>({z:r[0],x:r[1],y:r[2],v:0,visible:!0,pos:mC(r[0],r[1],r[2]),source:e})))}(n),t=function J1(n,e,t,r=!1){return yC(EC(n,e,t),0,0,r)}(e,1470,960),r=[];r.push(`<svg xmlns="http://www.w3.org/2000/svg" class="board-svg" viewBox="${t}" preserveAspectRatio="xMidYMid meet" height="100%" width="100%">`);for(const i of e)r.push(`<g transform="${i.pos.translate}"><rect class="stone" fill="#FFF9E5" stroke-width="2" stroke="black" x="0" y="0" width="75" height="100" rx="10" ry="10"></rect></g>`);return r.push("</svg>"),`data:image/svg+xml;base64,${window.btoa(r.join(""))}`}(t))}requestBoards(){var t=this;return fu(function*(){return function q1(n,e){const t="object"==typeof e;return new Promise((r,i)=>{const s=new Bn({next:o=>{r(o),s.unsubscribe()},error:i,complete:()=>{t?r(e.defaultValue):i(new W1)}});n.subscribe(s)})}(t.http.get("assets/data/boards.json"))})()}}return n.\u0275fac=function(t){return new(t||n)(A(ih),A(Hv),A(Ls))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();function ee(n){if(!n)return!1;let e=0,t=n.above[e];for(;void 0!==t;){if(!t.isPlayed)return!1;e++,t=n.above[e]}e=0;let r=n.left[e];for(;void 0!==r;){if(!r.isPlayed){e=0;let i=n.right[e];for(;void 0!==i;){if(!i.isPlayed)return!1;e++,i=n.right[e]}return!0}e++,r=n.left[e]}return!0}function Eh(){return Math.floor(100*Math.random())}class eN{constructor(e,t,r,i,s,o,a){this.qt=t,this.lo=r,this.ngroups=i,this.maxheight=s,this.maxwidth=o,this.maxdepth=a,this.result=[],this.ntiles1=e,this.ntiles2=e}write(){do{this.ntiles1=this.ntiles2;for(let e=0;e<this.ngroups;e++)this.writeGroup(e)}while(this.ntiles2!==this.ntiles1);return this.result}writePair(e,t,r){const i=this.qt[e].member[t],s=this.qt[e].member[r];for(let o=0;o<this.maxheight;o++)for(let a=0;a<this.maxwidth;a++)for(let l=0;l<this.maxdepth;l++)(this.lo[o][a][l]===i||this.lo[o][a][l]===s)&&this.result.push([l,a,o])}writePairing(e,t,r,i){const s=t.member[r],o=t.member[i];return!!(s&&o&&!s.isPlayed&&ee(s)&&ee(o))&&(this.writePair(e,r,i),s.isPlayed=!0,o.isPlayed=!0,this.ntiles2-=2,!0)}writeGroup(e){const t=this.qt[e];switch(t.bestpairing){case 1:this.writePairing(e,t,0,1)&&(t.isplayed=t.member[2].isPlayed),this.writePairing(e,t,2,3);break;case 2:this.writePairing(e,t,0,2),this.writePairing(e,t,1,3);break;case 3:this.writePairing(e,t,0,3),this.writePairing(e,t,1,2);break;case 4:this.writePairing(e,t,0,1)}}}class oa{constructor(){this.tl=[],this.qt=[],this.lo=[],this.qts=[],this.maxgroups=80,this.maxheight=40,this.maxwidth=100,this.maxdepth=10}solveLayout(e){for(let t=0;t<this.maxheight;t++){this.lo[t]=[];for(let r=0;r<this.maxwidth;r++){this.lo[t][r]=[];for(let i=0;i<this.maxdepth;i++)this.lo[t][r][i]=void 0}}return e.forEach(t=>{const r={left:[],right:[],above:[],below:[],value:t.groupnr,isPlayed:!1};this.lo[t.y][t.x][t.z]=r,this.tl.push(r)}),this.ntilesCount=e.length,this.solve(0,0)}writeGame(){return this.unrotateGroups(),new eN(this.ntilesCount,this.qt,this.lo,this.ngroups,this.maxheight,this.maxwidth,this.maxdepth).write()}static playTile(e,t,r){let i=r;for(let s=0;void 0!==e.left[s];s++){const o=e.left[s];o.isPlayed||(t[o.value]-=ee(o)?1:0)}for(let s=0;void 0!==e.right[s];s++){const o=e.right[s];o.isPlayed||(t[o.value]-=ee(o)?1:0)}e.isPlayed=!0,i--;for(let s=0;void 0!==e.left[s];s++){const o=e.left[s];o.isPlayed||(t[o.value]+=ee(o)?1:0)}for(let s=0;void 0!==e.right[s];s++){const o=e.right[s];o.isPlayed||(t[o.value]+=ee(o)?1:0)}for(let s=0;void 0!==e.below[s];s++){const o=e.below[s];t[o.value]+=ee(o)?1:0}return i}initSolve(){this.tl.forEach(r=>{r.left[0]=void 0,r.left[1]=void 0,r.left[2]=void 0,r.right[0]=void 0,r.right[1]=void 0,r.right[2]=void 0,r.above[0]=void 0,r.above[1]=void 0,r.above[2]=void 0,r.above[3]=void 0,r.above[4]=void 0,r.below[0]=void 0,r.below[1]=void 0,r.below[2]=void 0,r.below[3]=void 0,r.below[4]=void 0,r.isPlayed=!1});for(let r=0;r<this.maxheight;r++)for(let i=2;i<this.maxwidth;i++)for(let s=0;s<this.maxdepth;s++){const o=this.lo[r][i][s];if(void 0!==o){let l=0;for(let u=Math.max(r-1,0);u<Math.min(r+2,this.maxheight);u++)void 0!==this.lo[u][i-2][s]&&(o.left[l]=this.lo[u][i-2][s],l++)}const a=this.lo[r][i-2][s];if(void 0!==a){let l=0;for(let u=Math.max(r-1,0);u<Math.min(r+2,this.maxheight);u++)void 0!==this.lo[u][i][s]&&(a.right[l]=this.lo[u][i][s],l++)}}for(let r=0;r<this.maxheight;r++)for(let i=0;i<this.maxwidth;i++)for(let s=1;s<this.maxdepth;s++){const o=this.lo[r][i][s-1];if(void 0!==o){let l=0;for(let u=Math.max(r-1,0);u<Math.min(r+2,this.maxheight);u++)for(let c=Math.max(i-1,0);c<Math.min(i+2,this.maxwidth);c++)void 0!==this.lo[u][c][s]&&(o.above[l]=this.lo[u][c][s],l++)}const a=this.lo[r][i][s];if(void 0!==a){let l=0;for(let u=Math.max(r-1,0);u<Math.min(r+2,this.maxheight);u++)for(let c=Math.max(i-1,0);c<Math.min(i+2,this.maxwidth);c++)void 0!==this.lo[u][c][s-1]&&(a.below[l]=this.lo[u][c][s-1],l++)}}this.qt=[];for(let r=0;r<this.maxgroups;r++)this.qt.push({pairing:-1,bestpairing:-1,nmembers:0,member:[],isplayed:!1,rotation:0});for(let r=0;r<this.ntilesCount;r++){const i=this.tl[r].value;this.qt[i].member[this.qt[i].nmembers]=this.tl[r],this.qt[i].nmembers++}let e=0,t=0;for(let r=0;r<this.maxgroups;r++){const i=this.qt[r];2===i.nmembers&&(this.qts[e]=i,this.qts[e].pairing=4,e++),0!==i.nmembers&&(t=r)}for(let r=0;r<=t;r++){const i=this.qt[r];0===i.nmembers&&(this.qts[e]=i,this.qts[e].pairing=-1,e++)}this.qtsindex=e;for(let r=0;r<=t;r++){const i=this.qt[r];if(4===i.nmembers){this.qts[e]=i,this.qts[e].pairing=0;const s=this.qts[e],o=Eh()%(e+1-this.qtsindex);this.qts[e]=this.qts[this.qtsindex+o],this.qts[this.qtsindex+o]=s,e++}}this.ngroups=e,this.aborted=!1}prune(){let e=this.ntilesCount,t=this.ntilesCount;this.nplays++;do{e=t;for(let r=0;r<this.ngroups;r++){const i=this.qt[r];if(!i.isplayed){const s=i.member[0],o=i.member[1],a=i.member[2],l=i.member[3];switch(i.pairing){case 0:s.isPlayed||o.isPlayed||a.isPlayed?(!s.isPlayed&&ee(s)&&(s.isPlayed=!0,e++),!o.isPlayed&&ee(o)&&(o.isPlayed=!0,e++),!a.isPlayed&&ee(a)&&(a.isPlayed=!0,e++),!l.isPlayed&&ee(l)&&(l.isPlayed=!0,e++),s.isPlayed&&o.isPlayed&&a.isPlayed&&l.isPlayed&&(i.isplayed=!0,t-=2)):!s.isPlayed&&ee(s)?!o.isPlayed&&ee(o)?(s.isPlayed=!0,o.isPlayed=!0,t-=2):!a.isPlayed&&ee(a)?(s.isPlayed=!0,a.isPlayed=!0,t-=2):!l.isPlayed&&ee(l)&&(s.isPlayed=!0,l.isPlayed=!0,t-=2):!o.isPlayed&&ee(o)?!a.isPlayed&&ee(a)?(o.isPlayed=!0,a.isPlayed=!0,t-=2):!l.isPlayed&&ee(i.member[3])&&(o.isPlayed=!0,l.isPlayed=!0,t-=2):!a.isPlayed&&ee(a)&&!l.isPlayed&&ee(l)&&(a.isPlayed=!0,l.isPlayed=!0,t-=2);break;case 1:!s.isPlayed&&ee(i.member[0])&&ee(i.member[1])&&(s.isPlayed=!0,o.isPlayed=!0,t-=2,i.isplayed=a.isPlayed),!a.isPlayed&&ee(i.member[2])&&ee(i.member[3])&&(a.isPlayed=!0,l.isPlayed=!0,t-=2,i.isplayed=s.isPlayed);break;case 2:!s.isPlayed&&ee(s)&&ee(a)&&(s.isPlayed=!0,a.isPlayed=!0,t-=2,i.isplayed=o.isPlayed),!o.isPlayed&&ee(o)&&ee(l)&&(o.isPlayed=!0,l.isPlayed=!0,t-=2,i.isplayed=s.isPlayed);break;case 3:!s.isPlayed&&ee(s)&&ee(l)&&(s.isPlayed=!0,l.isPlayed=!0,t-=2,i.isplayed=o.isPlayed),!o.isPlayed&&ee(o)&&ee(a)&&(o.isPlayed=!0,a.isPlayed=!0,t-=2,i.isplayed=s.isPlayed);break;case 4:ee(s)&&ee(o)&&(s.isPlayed=!0,o.isPlayed=!0,t-=2,i.isplayed=!0);break;case 5:ee(i.member[0])&&ee(i.member[1])&&ee(i.member[2])&&ee(i.member[3])&&(s.isPlayed=!0,o.isPlayed=!0,a.isPlayed=!0,l.isPlayed=!0,t-=4,i.isplayed=!0)}}}}while(t!==e);for(let r=0;r<this.ntilesCount;r++)this.tl[r].isPlayed=!1;for(let r=0;r<this.ngroups;r++)this.qt[r].isplayed=!1;return t}unrotateGroups(){for(let e=0;e<this.ngroups;e++){switch(this.qt[e].rotation){case 1:{const t=this.qt[e].member[1];this.qt[e].member[1]=this.qt[e].member[2],this.qt[e].member[2]=this.qt[e].member[3],this.qt[e].member[3]=t;break}case 2:{const t=this.qt[e].member[3];this.qt[e].member[3]=this.qt[e].member[2],this.qt[e].member[2]=this.qt[e].member[1],this.qt[e].member[1]=t;break}}this.qt[e].rotation=0}}sureSolve(e){const t=[];if(this.prune()>this.remainMax)return!1;let r;for(r=e;r<this.ngroups&&(this.qts[r].pairing=1,!(this.prune()>this.remainMax));r++);if(r===this.ngroups){for(let s=0;s<this.ngroups;s++)this.qt[s].bestpairing=this.qt[s].pairing;for(let s=this.qtsindex;s<this.ngroups;s++)this.qts[s].bestpairing+=3-this.qts[s].rotation,this.qts[s].bestpairing>3&&(this.qts[s].bestpairing-=3);if(this.remainMax=this.prune()-2,this.remainMax<this.remainMin){for(let s=this.qtsindex;s<this.ngroups;s++)this.qts[s].pairing=0;return!0}for(r=e;r<this.ngroups;r++)this.qts[r].pairing=0;return this.sureSolve(e)}let i=0;t[i++]=this.qts[r];for(let s=r-1;s>=e;s--)if(this.qts[s].pairing=0,this.prune()<=this.remainMax)this.qts[s].pairing=1,t[i++]=this.qts[s];else{if(Eh()%2){const o=this.qts[s].member[3];this.qts[s].member[3]=this.qts[s].member[2],this.qts[s].member[2]=this.qts[s].member[1],this.qts[s].member[1]=o,this.qts[s].rotation+=1,this.qts[s].rotation>2&&(this.qts[s].rotation=0)}else{const o=this.qts[s].member[1];this.qts[s].member[1]=this.qts[s].member[2],this.qts[s].member[2]=this.qts[s].member[3],this.qts[s].member[3]=o,this.qts[s].rotation-=1,this.qts[s].rotation<0&&(this.qts[s].rotation=2)}this.qts[r]=this.qts[s],r--}for(let s=r;s>=e;s--)this.qts[s]=t[--i];for(let s=r;s>=e;s--){if(this.qts[s].pairing=2,this.sureSolve(s+1)||(this.qts[s].pairing=3,this.sureSolve(s+1)))return!0;this.qts[s].pairing=0}return!1}randomSolve(e){const t=[],r=[0,0,1,3,6],i=[[0,1,2,3],[1,0,3,2],[2,3,0,1],[3,2,1,0]];for(let s=0;s<e;s++){let o=this.ntilesCount;for(let a=0;a<this.ngroups;a++){t[a]=0;for(let l=0;l<this.qt[a].nmembers;l++)ee(this.qt[a].member[l])&&t[a]++;this.qt[a].pairing=-1,2===this.qt[a].nmembers&&(this.qt[a].isplayed=!0)}for(;;){let a=!1,l=0;for(let g=0;g<this.ngroups;g++){if((this.qt[g].isplayed?1:0)+r[t[g]]>=5){a=!0;break}l+=r[t[g]]}if(!a){if(0===l)break;l=Eh()%l}let u=0;do{l-=r[t[u]],u++}while(l>=0);u--,l+=r[t[u]];let c=0;const d=this.qt[u];let h=d.nmembers-1;if(l<=1){let g=d.member[c];for(;g.isPlayed||!ee(g);)c++,g=d.member[c];if(0===l){h=c+1;let m=d.member[h];for(;m.isPlayed||!ee(m);)h++,m=d.member[h]}}if(l>=1){let g=d.member[h];for(;g.isPlayed||!ee(g);)h--,g=d.member[h];if(2===l){c=h-1;let m=d.member[c];for(;m.isPlayed||!ee(m);)c--,m=d.member[c]}}o=oa.playTile(d.member[c],t,o),o=oa.playTile(d.member[h],t,o),d.isplayed=!0,d.pairing=i[c][h],t[u]-=2}for(let a=0;a<this.ntilesCount;a++)this.tl[a].isPlayed=!1;for(let a=0;a<this.ngroups;a++)this.qt[a].isplayed=!1,2===this.qt[a].nmembers&&(this.qt[a].pairing=4);if(this.nrplays++,o<=this.remainMax){for(let a=0;a<this.ngroups;a++)this.qt[a].bestpairing=this.qt[a].pairing;if(this.remainMax=o-2,this.remainMax<this.remainMin){for(let a=0;a<this.ngroups;a++)4===this.qt[a].nmembers&&(this.qt[a].pairing=0);return!0}}}for(let s=0;s<this.ngroups;s++)4===this.qt[s].nmembers&&(this.qt[s].pairing=0);return!1}solve(e,t){return this.initSolve(),this.nrplays=0,this.nplays=0,this.remainMax=Math.max(e,t),this.remainMin=Math.min(e,t),this.prune()>this.remainMax||this.randomSolve(function Z1(n){return Math.floor(n)}(Math.pow(1.2,this.ngroups-this.qtsindex)))||(this.sureSolve(this.qtsindex),this.unrotateGroups()),this.remainMax+2}}let vC=(()=>{class n{solveGame(t,r){if(typeof Worker<"u"){const i=function iN(){return new Worker(it.tu(new URL(it.p+it.u(828),it.b)))}();return i&&(i.onmessage=({data:s})=>{s.result&&r(s.result)},i.postMessage({stones:t})),i}!function tN(n,e){const t=new oa;e({result:t.solveLayout(n),order:t.writeGame()})}(t,r)}solve(t,r,i,s){if(typeof Worker<"u"){const o=function rN(){return new Worker(it.tu(new URL(it.p+it.u(914),it.b)))}();return o&&(o.onmessage=({data:a})=>{a.progress&&i(a.progress),a.result&&s(a.result)},o.postMessage({mapping:t,rounds:r})),o}!function nN(n,e,t,r){const i=new oa,s=new lu(new cu(n.length));let o=0,a=0;for(let l=0;l<e;l++){const u=s.build(au,n);u&&(i.solveLayout(u)>0?o++:a++,t([a,o]))}r([a,o])}(t,r,i,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();class CC{}const Er="*";function DC(n,e=null){return{type:4,styles:e,timings:n}}function wC(n,e=null){return{type:2,steps:n,options:e}}function hu(n){return{type:6,styles:n,offset:null}}function SC(n,e,t){return{type:0,name:n,styles:e,options:t}}function bC(n,e,t=null){return{type:1,expr:n,animation:e,options:t}}function TC(n){Promise.resolve(null).then(n)}class aa{constructor(e=0,t=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=e+t}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){TC(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(e=>e()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(e){this._position=this.totalTime?e*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(r=>r()),t.length=0}}class MC{constructor(e){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=e;let t=0,r=0,i=0;const s=this.players.length;0==s?TC(()=>this._onFinish()):this.players.forEach(o=>{o.onDone(()=>{++t==s&&this._onFinish()}),o.onDestroy(()=>{++r==s&&this._onDestroy()}),o.onStart(()=>{++i==s&&this._onStart()})}),this.totalTime=this.players.reduce((o,a)=>Math.max(o,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this.players.forEach(e=>e.init())}onStart(e){this._onStartFns.push(e)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(e=>e()),this._onStartFns=[])}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(e=>e.play())}pause(){this.players.forEach(e=>e.pause())}restart(){this.players.forEach(e=>e.restart())}finish(){this._onFinish(),this.players.forEach(e=>e.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(e=>e.destroy()),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}reset(){this.players.forEach(e=>e.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(e){const t=e*this.totalTime;this.players.forEach(r=>{const i=r.totalTime?Math.min(1,t/r.totalTime):1;r.setPosition(i)})}getPosition(){const e=this.players.reduce((t,r)=>null===t||r.totalTime>t.totalTime?r:t,null);return null!=e?e.getPosition():0}beforeDestroy(){this.players.forEach(e=>{e.beforeDestroy&&e.beforeDestroy()})}triggerCallback(e){const t="start"==e?this._onStartFns:this._onDoneFns;t.forEach(r=>r()),t.length=0}}class aN{constructor(){this.gestureIndicators=[]}hide(e){setTimeout(()=>{e&&(e.state="hidden",setTimeout(()=>{if(e)for(let t=0;t<this.gestureIndicators.length;t++){const r=this.gestureIndicators[t];if(r.x===e.x&&r.y===e.y){this.gestureIndicators.splice(t,1);break}}},250))},500)}setSize(e,t){this.gestureIndicators[e].size=t,this.gestureIndicators[e].top=this.gestureIndicators[e].y-t/2,this.gestureIndicators[e].left=this.gestureIndicators[e].x-t/2}display(e,t,r){if(e>0&&t>0){const i={x:e,y:t,size:r,top:t-r/2,left:e-r/2,state:"hidden"};return this.gestureIndicators.push(i),setTimeout(()=>{i.state="visible"},100),i}}}const lN=[function oN(n,e){return{type:7,name:n,definitions:e,options:{}}}("indicatorState",[SC("hidden",hu({transform:"scale(0, 0)"})),SC("visible",hu({transform:"scale(1, 1)"})),bC("hidden => visible",DC("150ms ease-in")),bC("visible => hidden",DC("150ms ease-out"))])];let OC=(()=>{class n{constructor(t){this.http=t,this.cache={}}get(t){var r=this;return fu(function*(){let i=r.cache[t];if(i){if(i.data)return i.data;if(i.request)return i.request}i={};const s=new Promise((o,a)=>{r.http.get(`assets/svg/${t}.svg`,{responseType:"text"}).subscribe({next:l=>{i.data=l,i.request=void 0,o(l)},error:l=>{a(l)}})});return i.request=s,r.cache[t]=i,s})()}}return n.\u0275fac=function(t){return new(t||n)(A(ih))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();const uN=["app-image-set-loader",""];let Ch=(()=>{class n{constructor(t,r){this.elementRef=t,this.svgdef=r,this.dark=!1}ngOnChanges(t){this.getImageSet()}getImageSet(){this.imageSet&&this.svgdef.get(this.imageSet+(this.dark?"-black":"")).then(r=>{let i=r.split("<defs>")[1].split("</defs>")[0];i=i.replace(/xlink:href="\./g,'xlink:href="assets/svg').replace(/ id="t_/g,` id="${this.prefix}t_`),this.elementRef.nativeElement.innerHTML="",setTimeout(()=>{this.elementRef.nativeElement.innerHTML=i},0)}).catch(r=>{console.error(r)})}}return n.\u0275fac=function(t){return new(t||n)(V(Qn),V(OC))},n.\u0275cmp=Ot({type:n,selectors:[["","app-image-set-loader",""]],inputs:{imageSet:"imageSet",prefix:"prefix",dark:"dark"},features:[or],attrs:uN,decls:1,vars:0,template:function(t,r){1&t&&(ui(),ge(0,"defs"))},encapsulation:2}),n})(),PC=(()=>{class n{transform(t,r){return`${r}${t}`}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=We({name:"prefix",type:n,pure:!0}),n})();function cN(n,e){if(1&n&&(ui(),S(0,"title"),N(1),R(2,"translate"),b()),2&n){const t=ie().$implicit;v(1),z(F(2,1,t.url))}}function dN(n,e){if(1&n){const t=dt();ui(),S(0,"g",10),J("mousedown",function(i){return Ve(t),je(ie().onClickDown(i))})("mouseup",function(i){const o=Ve(t).$implicit;return je(ie().onClickUp(i,o))}),S(1,"g",11),oe(2,cN,3,3,"title",12),ge(3,"rect",13)(4,"rect",14)(5,"use",15),R(6,"prefix"),ge(7,"use",16),b()()}if(2&n){const t=e.$implicit,r=ie();dn("selected",t.source.selected)("hidden",t.source.picked)("hinted",t.source.hinted),kr("transform",t.pos.translate),v(2),k("ngIf",t.url),v(3),kr("href",Xy(6,9,t.url,r.urlPrefix),null,"xlink")}}function fN(n,e){if(1&n&&(ui(),function Ap(){!function lw(){Q.lFrame.currentNamespace=null}()}(),ge(0,"div",17)),2&n){const t=e.$implicit;No("top",t.top,"px")("left",t.left,"px")("width",t.size,"px")("height",t.size,"px")("transform",t.transform),k("@indicatorState",t.state)}}function Dh(n,e,t){return Math.min(Math.max(e,n),t)}let IC=(()=>{class n{constructor(t,r){this.element=t,this.app=r,this.clickEvent=new Re,this.indicators=new aN,this.drawStones=[],this.rotate=!1,this.transformSVG="",this.transformStage="",this.viewport="0 0 1470 960",this.bounds=[0,0,1470,960],this.scale=1,this.panX=0,this.panY=0,this.lastPinch=0}ngOnInit(){this.resize(window)}trackByDrawStone(t,r){return`${r.source.groupnr}/${r.source.v}`}ngOnChanges(t){t.stones&&this.updateStones(t.stones.currentValue),t.background&&this.updateBackground(t.background.currentValue),t.imageSet&&(this.prefix=`b_${t.imageSet.currentValue}_`,this.urlPrefix=`#b_${t.imageSet.currentValue}_`)}onPinch(t){this.indicators.setSize(0,40*t.scale),t.preventDefault(),this.lastPinch=Date.now()}onPinchStart(t){this.indicators.gestureIndicators=[],this.indicators.display(t.center.x,t.center.y,40),t.preventDefault(),this.lastPinch=Date.now()}onPinchEnd(t){this.indicators.hide(this.indicators.gestureIndicators[0]);let r=1;t.scale>1.1&&(r=this.scale+.2*t.scale),this.zoomSVGValue(r,t.center.x,t.center.y),t.preventDefault(),this.lastPinch=Date.now()}onPan(t){this.setPan(t)}onPanEnd(t){this.setPan(t),this.updateTransform()}onWheel(t){t.preventDefault();let i=1;1==(t.deltaY<0?1:-1)&&(i=this.scale+.15),this.zoomSVGValue(i,t.clientX,t.clientY);const s=this.indicators.display(t.clientX,t.clientY,10*i);this.indicators.hide(s)}onResize(t){const r=t.target;r&&this.resize(r)}onMouseUp(t){this.clickEvent.emit(void 0)}onClickDown(t){}onClickUp(t,r){this.clickEvent.emit(r?r.source:void 0),t.stopPropagation()}setPan(t){if(this.scale>1&&1===t.pointers.length&&Date.now()-this.lastPinch>600){const r=this.indicators.display(t.center.x,t.center.y,10);this.indicators.hide(r);const i=.05;this.setPanValue(this.panX+t.deltaX*i,this.panY+t.deltaY*i),t.preventDefault()}}setPanValue(t,r){const s=-this.element.nativeElement.offsetHeight;this.panX=Dh(t,-this.element.nativeElement.offsetWidth-50,50),this.panY=Dh(r,s-50,50)}zoomSVGValue(t,r,i){const s=this.scale,o=Dh(t,1,2);if(o!==s){if(o<1.01)this.scale=1,this.panX=0,this.panY=0;else{const u=r-(r-this.panX)/this.scale*o,c=i-(i-this.panY)/this.scale*o;this.scale=o,this.setPanValue(u,c)}this.updateTransform()}}updateViewPort(){window.requestAnimationFrame(()=>{this.setViewPort()})}updateTransform(){window.requestAnimationFrame(()=>{this.setTransform()})}setTransform(){this.transformSVG=`translate(${this.panX}px, ${this.panY}px)${this.scale>1?` scale(${this.scale})`:""}`,this.transformStage=this.rotate?"rotate(90)":""}resize(t){const r=t.innerHeight>t.innerWidth;this.panX=0,this.panY=0,this.scale=1,this.updateTransform(),r!==this.rotate&&(this.rotate=r,this.updateViewPort())}setViewPort(){this.viewport=yC(this.bounds,0,0,this.rotate)}updateStones(t){if(!t)return;this.scale=1,this.panX=0,this.panY=0;const r=t.filter(i=>void 0!==i).map(i=>({z:i.z,x:i.x,y:i.y,v:i.v,visible:!0,url:i.img?.id,pos:mC(i.z,i.x,i.y),source:i}));this.bounds=EC(r,1470,960),this.drawStones=_C(r),this.setViewPort(),this.setTransform()}updateBackground(t){const r=fC.find(i=>i.img===t);this.backgroundUrl=r&&r.img?`url("assets/img/${r.img}")`:void 0}}return n.\u0275fac=function(t){return new(t||n)(V(Qn),V(Rs))},n.\u0275cmp=Ot({type:n,selectors:[["app-board"]],hostVars:2,hostBindings:function(t,r){1&t&&J("pinch",function(s){return r.onPinch(s)})("pinchstart",function(s){return r.onPinchStart(s)})("pinchend",function(s){return r.onPinchEnd(s)})("pan",function(s){return r.onPan(s)})("panend",function(s){return r.onPanEnd(s)})("wheel",function(s){return r.onWheel(s)})("resize",function(s){return r.onResize(s)},!1,bg),2&t&&No("background-image",r.backgroundUrl)},inputs:{background:"background",imageSet:"imageSet",stones:"stones"},outputs:{clickEvent:"clickEvent"},features:[or],decls:13,vars:16,consts:[["xmlns","http://www.w3.org/2000/svg","preserveAspectRatio","xMidYMid meet",1,"board-svg",3,"mouseup"],["id","mah-board-filter",2,"color-interpolation-filters","sRGB"],["in","SourceGraphic","stdDeviation","8"],["id","front","width","300","height","400","viewBox","0 0 300 400"],["d","m 151.73588,1025.0177 c -3.32683,-9.3138 -10.24843,-68.45389 5.31821,-90.62655 20.27717,-26.12032 219.43558,-16.45796 231.55506,-9.93184 11.07433,5.31702 -178.60366,0.0589 -204.85126,34.86646 -21.59349,30.0006 -26.50086,82.17843 -32.02201,65.69193 z","transform","rotate(180,229,666.5)",2,"fill","#000000","fill-opacity","0.15","fill-rule","evenodd","stroke","none","filter","url(#mah-board-filter)"],["transform","translate(28,-614)","d","M -4.7687833,775.07096 C -9.6501835,741.99485 -16.84552,674.23676 -1.2788716,652.0641 18.998297,625.94378 233.50094,631.63117 263.31435,653.90999 276.21398,662.64856 70.349579,663.12124 47.099353,691.74479 24.390958,719.11242 0.65060847,818.18718 -4.7687833,775.07096 Z",2,"fill","#ffffff","fill-opacity","0.4","fill-rule","evenodd","stroke","none","filter","url(#mah-board-filter)"],["app-image-set-loader","",3,"imageSet","dark","prefix"],[1,"stage"],["class","draw",3,"selected","hidden","hinted","mousedown","mouseup",4,"ngFor","ngForOf","ngForTrackBy"],["class","gesture__indicator",3,"top","left","width","height","transform",4,"ngFor","ngForOf"],[1,"draw",3,"mousedown","mouseup"],[1,"tile"],[4,"ngIf"],["x","3","y","3","width","75px","height","100px","rx","10","ry","10",1,"shadow"],["x","0","y","0","width","75","height","100","rx","10","ry","10",1,"stone"],["x","6","y","6","width","63","height","88"],[0,"xlink","href","#front","x","0","y","0","width","75","height","100"],[1,"gesture__indicator"]],template:function(t,r){1&t&&(ui(),S(0,"svg",0),J("mouseup",function(s){return r.onMouseUp(s)}),S(1,"defs")(2,"filter",1),ge(3,"feGaussianBlur",2),b(),S(4,"svg",3),ge(5,"path",4)(6,"path",5),b()(),S(7,"style"),N(8," g.tile { transform-origin: 50px 32.5px; opacity: 1; } g.hinted g.tile { transform: scale(1.12); } g.hinted g.tile > rect { stroke: #9f0000; stroke-width: 3px; } g.selected g.tile { transform: scale(1.04); } g.selected g.tile rect.stone { stroke: black; fill: #F8EABB; } g.selected.hinted g.tile { transform: scale(1.14); } g.selected.hinted g.tile rect.stone { stroke: #9f0000; stroke-width: 3px; } g.draw rect.shadow { fill: #191919; opacity: 0.6; stroke-width: 1; stroke: black; } g.draw rect.stone { fill: #FFF9E5; stroke-width: 1; stroke: black; } g.hidden { opacity: 0; } g.stage.contrast g.draw rect.stone { stroke-width: 2; } g.stage.contrast g.draw rect.shadow { opacity: 0.7; } g.stage.dark g.draw rect.shadow { opacity: 0.6; stroke-width: 1; fill: #9d948c; stroke: green; } g.stage.dark g.draw rect.stone { fill: #000; stroke-width: 1; stroke: #9d948c; } g.stage.dark g.selected g.tile rect.stone { stroke: #F8EABB; fill: black; } g.stage.dark g.hinted g.tile rect.stone { stroke: #ef0202; } g.stage.dark g.selected.hinted g.tile rect.stone { stroke: #ef0202; } g.stage.dark.contrast g.draw rect.stone { stroke-width: 2; } g.stage.dark.contrast g.draw rect.shadow { opacity: 0.7; } "),b(),ge(9,"defs",6),S(10,"g",7),oe(11,dN,8,12,"g",8),b()(),oe(12,fN,1,11,"div",9)),2&t&&(No("transform",r.transformSVG),dn("rotate",r.rotate),kr("viewBox",r.viewport),v(9),k("imageSet",r.imageSet)("dark",r.app.settings.dark)("prefix",r.prefix),v(1),dn("dark",r.app.settings.dark)("contrast",r.app.settings.contrast),kr("transform",r.transformStage),v(1),k("ngForOf",r.drawStones)("ngForTrackBy",r.trackByDrawStone),v(1),k("ngForOf",r.indicators.gestureIndicators))},dependencies:[yi,Ei,Ch,$r,PC],styles:["[_nghost-%COMP%]{width:100%;height:100%;display:block;background-repeat:repeat;background-size:cover}[_nghost-%COMP%] .board-svg[_ngcontent-%COMP%]{width:100%;height:100%;position:relative;transform-origin:0 0 0;transform:translate(0) scale(1);-webkit-user-select:none;user-select:none}[_nghost-%COMP%] .gesture__indicator[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;height:50px;width:50px;display:block;border-radius:50%;text-align:center;line-height:45px;z-index:10;background-color:#42a5f5}"],data:{animation:lN}}),n})();function hN(n,e){if(1&n&&(S(0,"h1"),N(1),b()),2&n){const t=ie(2);v(1),qt("\u{1f004}\ufe0f",t.title,"")}}function pN(n,e){if(1&n){const t=dt();S(0,"a",5),J("click",function(){return Ve(t),je(ie(2).toggle())}),ge(1,"i",6),b()}}function gN(n,e){if(1&n){const t=dt();S(0,"div",1),J("click",function(){return Ve(t),je(ie().toggle())}),S(1,"div",2),J("click",function(i){return i.stopPropagation()}),oe(2,hN,2,1,"h1",3),oe(3,pN,2,0,"a",4),function M_(n,e=0,t){const r=M(),i=fe(),s=hs(i,22+n,16,null,t||null);null===s.projection&&(s.projection=e),_c(),64!=(64&s.flags)&&function sb(n,e,t){Wg(e[11],0,e,t,Rg(n,t,e),Vg(t.parent||e[6],t,e))}(i,r,s)}(4),b()()}if(2&n){const t=ie();v(2),k("ngIf",t.title),v(1),k("ngIf",!t.noClose)}}const mN=["*"];let AC=(()=>{class n{constructor(){this.visible=!1,this.noClose=!1,this.clickEvent=new Re}toggle(){this.visible=!this.visible,this.clickEvent.emit(this.visible)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ot({type:n,selectors:[["app-dialog"]],inputs:{title:"title",visible:"visible",noClose:"noClose"},outputs:{clickEvent:"clickEvent"},ngContentSelectors:mN,decls:1,vars:1,consts:[["class","overlay",3,"click",4,"ngIf"],[1,"overlay",3,"click"],[1,"overlay-popup",3,"click"],[4,"ngIf"],["class","close",3,"click",4,"ngIf"],[1,"close",3,"click"],[1,"icon-cancel-circled2","pull-right"]],template:function(t,r){1&t&&(function T_(n){const e=M()[16][6];if(!e.projection){const r=e.projection=po(n?n.length:1,null),i=r.slice();let s=e.child;for(;null!==s;){const o=n?aM(s,n):0;null!==o&&(i[o]?i[o].projectionNext=s:r[o]=s,i[o]=s),s=s.next}}}(),oe(0,gN,5,2,"div",0)),2&t&&k("ngIf",r.visible)},dependencies:[Ei],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] h1[_ngcontent-%COMP%]{text-align:center;color:var(--dialog-text-color);margin-top:-8px;margin-bottom:10px;line-height:1.3em}@media only screen and (max-width: 700px){[_nghost-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.2em}}@media only screen and (max-width: 400px){[_nghost-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.1em}}"]}),n})();class _N extends Ce{constructor(e,t){super()}schedule(e,t=0){return this}}const mu={setInterval(n,e,...t){const{delegate:r}=mu;return r?.setInterval?r.setInterval(n,e,...t):setInterval(n,e,...t)},clearInterval(n){const{delegate:e}=mu;return(e?.clearInterval||clearInterval)(n)},delegate:void 0};class la{constructor(e,t=la.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,r){return new this.schedulerActionCtor(this,e).schedule(r,t)}}la.now=lh.now;const wh=new class EN extends la{constructor(e,t=la.now){super(e,t),this.actions=[],this._active=!1,this._scheduled=void 0}flush(e){const{actions:t}=this;if(this._active)return void t.push(e);let r;this._active=!0;do{if(r=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,r){for(;e=t.shift();)e.unsubscribe();throw r}}}(class yN extends _N{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(i,this.id,t),this}requestAsyncId(e,t,r=0){return mu.setInterval(e.flush.bind(e,this),r)}recycleAsyncId(e,t,r=0){if(null!=r&&this.delay===r&&!1===this.pending)return t;mu.clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const r=this._execute(e,t);if(r)return r;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let i,r=!1;try{this.work(e)}catch(s){r=!0,i=s||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),i}unsubscribe(){if(!this.closed){const{id:e,scheduler:t}=this,{actions:r}=t;this.work=this.state=this.scheduler=null,this.pending=!1,js(r,this),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe()}}}),vN=wh,NC={leading:!0,trailing:!1};function SN(n,e=wh,t=NC){const r=function wN(n=0,e,t=vN){let r=-1;return null!=e&&(Xs(e)?t=e:r=e),new ke(i=>{let s=function DN(n){return n instanceof Date&&!isNaN(n)}(n)?+n-t.now():n;s<0&&(s=0);let o=0;return t.schedule(function(){i.closed||(i.next(o++),0<=r?this.schedule(void 0,r):i.complete())},s)})}(n,e);return function CN(n,e=NC){return bt((t,r)=>{const{leading:i,trailing:s}=e;let o=!1,a=null,l=null,u=!1;const c=()=>{l?.unsubscribe(),l=null,s&&(g(),u&&r.complete())},d=()=>{l=null,u&&r.complete()},h=m=>l=tn(n(m)).subscribe(Tt(r,c,d)),g=()=>{if(o){o=!1;const m=a;a=null,r.next(m),!u&&h(m)}};t.subscribe(Tt(r,m=>{o=!0,a=m,(!l||l.closed)&&(i?g():h(m))},()=>{u=!0,(!(s&&o&&l)||l.closed)&&r.complete()}))})}(()=>r,t)}class pn{constructor(e,t,r,i){this.left=e,this.top=t,this.right=r,this.bottom=i}static fromElement(e){const{left:t,top:r,right:i,bottom:s}=e.getBoundingClientRect();return new pn(t,r,i,s)}static fromWindow(e){return new pn(0,0,e.innerWidth,e.innerHeight)}inflate(e){this.left-=e,this.top-=e,this.right+=e,this.bottom+=e}intersectsWith(e){return e.left<this.right&&this.left<e.right&&e.top<this.bottom&&this.top<e.bottom}intersectsWithY(e){return e.top<this.bottom&&this.top<e.bottom}getIntersectionWith(e){const t=Math.max(this.left,e.left),r=Math.max(this.top,e.top),i=Math.min(this.right,e.right),s=Math.min(this.bottom,e.bottom);return i>=t&&s>=r?new pn(t,r,i,s):pn.empty}}pn.empty=new pn(0,0,0,0);let Sh=(()=>{class n{constructor(t){this.platformId=t,this.scrollNotify=new Re,this.observeNotify=new Re,this.currentViewport=new pn(0,0,0,0),this.scrollSubject=new Qr,this.isBrowser=function cA(n){return n===mv}(this.platformId),this.hasIntersectionObserver=n.checkIntersectionObserver();const r=this.scrollSubject.asObservable();this.scrollObservable=nn(r.pipe(SN(300)),r.pipe(function bN(n,e=wh){return bt((t,r)=>{let i=null,s=null,o=null;const a=()=>{if(i){i.unsubscribe(),i=null;const u=s;s=null,r.next(u)}};function l(){const u=o+n,c=e.now();if(c<u)return i=this.schedule(void 0,u-c),void r.add(i);a()}t.subscribe(Tt(r,u=>{s=u,o=e.now(),i||(i=e.schedule(l,n),r.add(i))},()=>{a(),r.complete()},void 0,()=>{s=i=null}))})}(100))),this.scrollObservable.subscribe(i=>{this.scrollNotify.emit(i)}),this.currentViewport=pn.fromWindow(window)}getObserver(){return this.intersectionObserver||(this.intersectionObserver=new IntersectionObserver(t=>{this.observeNotify.next(t)},{threshold:0})),this.intersectionObserver}notifyScroll(t){if(this.hasIntersectionObserver)return;const r=t.element?pn.fromElement(t.element):pn.fromWindow(window),i=r.bottom-r.top;r.bottom+=i,r.top-=i,this.currentViewport=r,this.scrollSubject.next({rect:r})}static checkIntersectionObserver(){const t="IntersectionObserver"in window,i=window.navigator.userAgent.match(/Edge\/(\d*)\./i),s=!!i&&i.length>1,o=s&&!!i&&parseInt(i[1],10)>15;return t&&(!s||o)}}return n.\u0275fac=function(t){return new(t||n)(A(xl))},n.\u0275prov=U({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),TN=(()=>{class n{constructor(t,r){this.elementRef=t,this.deferLoadService=r,this.preRender=!1,this.appDeferLoad=new Re,this.timeoutLoadMS=20}ngAfterViewInit(){this.deferLoadService.isBrowser?this.deferLoadService.hasIntersectionObserver?this.registerIntersectionObserver():this.addScrollListeners():this.preRender&&this.load()}ngOnDestroy(){this.removeListeners()}static getScrollPosition(){return(window.scrollY||window.pageYOffset)+(document.documentElement.clientHeight||document.body.clientHeight)}loadAndUnobserve(){this.load(),this.unobserve(),this.removeListeners()}cancelDelayLoad(){!this.timeoutId||(clearTimeout(this.timeoutId),this.timeoutId=void 0)}delayLoad(){this.timeoutId||(this.timeoutId=setTimeout(()=>{this.loadAndUnobserve(),this.cancelDelayLoad()},this.timeoutLoadMS))}manageIntersection(t){this.checkIfIntersecting(t)?this.delayLoad():this.cancelDelayLoad()}registerIntersectionObserver(){this.intersectionObserver||(this.intersectionObserver=this.deferLoadService.getObserver(),this.intersectionObserver&&this.elementRef.nativeElement&&(this.intersectionObserver.observe(this.elementRef.nativeElement),this.onbserveSubscription=this.deferLoadService.observeNotify.subscribe(t=>{this.checkForIntersection(t)})))}checkForIntersection(t){t.forEach(r=>{r.target===this.elementRef.nativeElement&&this.manageIntersection(r)})}checkIfIntersecting(t){return t&&t.time?t.isIntersecting:this.isVisible()}load(){this.removeListeners(),this.appDeferLoad.emit()}loadFromScroll(){setTimeout(()=>{this.load()})}addScrollListeners(){this.scrollSubscription=this.deferLoadService.scrollNotify.subscribe(t=>{this.checkInView(t.rect)&&this.loadFromScroll()}),setTimeout(()=>{this.checkInView(this.deferLoadService.currentViewport)&&this.loadFromScroll()})}unobserve(){this.intersectionObserver&&this.elementRef.nativeElement&&(this.intersectionObserver.unobserve(this.elementRef.nativeElement),this.intersectionObserver=void 0)}removeListeners(){this.scrollSubscription&&(this.scrollSubscription.unsubscribe(),this.scrollSubscription=void 0),this.unobserve(),this.onbserveSubscription&&(this.onbserveSubscription.unsubscribe(),this.onbserveSubscription=void 0)}checkInView(t){return pn.fromElement(this.elementRef.nativeElement).intersectsWithY(t)}isVisible(){const t=n.getScrollPosition();return this.elementRef.nativeElement.offsetTop<=t}}return n.\u0275fac=function(t){return new(t||n)(V(Qn),V(Sh))},n.\u0275dir=Pt({type:n,selectors:[["","appDeferLoad",""]],inputs:{preRender:"preRender"},outputs:{appDeferLoad:"appDeferLoad"}}),n})(),MN=(()=>{class n{constructor(t,r){this.element=t,this.scrollNotify=r}ngOnChanges(t){if(t.scrollTo&&t.scrollTo.currentValue){const r=t.scrollTo.currentValue;if(r.id&&r.id.length>0){const i=document.getElementById(r.id);i&&(this.element.nativeElement.scrollTop=i.offsetTop-i.offsetHeight)}}}scrollTrack(t){this.scrollNotify.notifyScroll({name:"scroll-host",element:this.element.nativeElement})}}return n.\u0275fac=function(t){return new(t||n)(V(Qn),V(Sh))},n.\u0275dir=Pt({type:n,selectors:[["","appDeferLoadScrollHost",""]],hostBindings:function(t,r){1&t&&J("scroll",function(s){return r.scrollTrack(s)})},inputs:{scrollTo:"scrollTo"},features:[or]}),n})(),xC=(()=>{class n{ngOnChanges(t){t.layout&&this.updateLayout(t.layout.currentValue)}updateLayout(t){this.svg=t.previewSVG}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ot({type:n,selectors:[["app-layout-preview"]],inputs:{layout:"layout",svg:"svg",alt:"alt"},features:[or],decls:1,vars:2,consts:[[3,"src","alt"]],template:function(t,r){1&t&&ge(0,"img",0),2&t&&k("src",r.svg,ll)("alt",r.alt)},styles:["[_nghost-%COMP%]{width:100%;height:100%;display:block}[_nghost-%COMP%] img[_ngcontent-%COMP%]{height:100%;width:100%;-o-object-fit:contain;object-fit:contain}"],changeDetection:0}),n})();function bh(n){return(n<10?"0":"")+n.toString()}let Th=(()=>{class n{transform(t){if(isNaN(t)||0===t)return"-";const r=Math.floor(t/1e3),i=Math.floor(r/3600),s=Math.floor((r-3600*i)/60),o=r-3600*i-60*s;return`${i>0?`${bh(i)}:`:""}${bh(s)}:${bh(o)}`}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=We({name:"duration",type:n,pure:!0}),n})();function ON(n,e){if(1&n){const t=dt();S(0,"a",5),J("click",function(){const s=Ve(t).index;return je(ie(2).scrollToGroup(s))}),N(1),b()}if(2&n){const t=e.$implicit;v(1),z(t.name)}}function PN(n,e){if(1&n&&(S(0,"div",3),oe(1,ON,2,1,"a",4),b()),2&n){const t=ie();v(1),k("ngForOf",t.groups)}}function IN(n,e){if(1&n&&(S(0,"div",10),N(1),b()),2&n){const t=ie().$implicit;v(1),Ts("",t.name," (",t.layouts.length,")")}}function AN(n,e){if(1&n&&ge(0,"app-layout-preview",16),2&n){const t=ie().$implicit;k("svg",t.layout.previewSVG)("alt",t.layout.name)}}function NN(n,e){if(1&n){const t=dt();S(0,"div",17),N(1),R(2,"translate"),R(3,"duration"),S(4,"a",5),J("click",function(i){Ve(t);const s=ie().$implicit;return je(ie(3).clearBestTimeClick(i,s))}),ge(5,"i",18),b()()}if(2&n){const t=ie().$implicit;v(1),Ts("",F(2,2,"STATS_BEST"),": ",F(3,4,t.bestTime)," ")}}function xN(n,e){if(1&n){const t=dt();S(0,"div",12),J("click",function(){const s=Ve(t).$implicit;return je(ie(3).onStart(s.layout))})("appDeferLoad",function(){return je(Ve(t).$implicit.visible=!0)}),oe(1,AN,1,2,"app-layout-preview",13),oe(2,NN,6,6,"div",14),S(3,"div",15),N(4),b()()}if(2&n){const t=e.$implicit;dn("selected",t.selected),k("id","item-"+t.layout.id),v(1),k("ngIf",t.visible),v(1),k("ngIf",t.bestTime),v(2),z(t.layout.name)}}function LN(n,e){if(1&n&&(Br(0),oe(1,xN,5,6,"div",11),Hr()),2&n){const t=ie().$implicit;v(1),k("ngForOf",t.layouts)}}function RN(n,e){if(1&n&&(S(0,"div",20)(1,"div",15),N(2),b()()),2&n){const t=e.$implicit;dn("selected",t.selected),k("id","item-"+t.layout.id),v(2),z(t.layout.name)}}function kN(n,e){if(1&n&&(Br(0),oe(1,RN,3,4,"div",19),Hr()),2&n){const t=ie().$implicit;v(1),k("ngForOf",t.layouts)}}function FN(n,e){if(1&n){const t=dt();S(0,"div",6),J("appDeferLoad",function(){return je(Ve(t).$implicit.visible=!0)}),oe(1,IN,2,2,"div",7),S(2,"div",8),oe(3,LN,2,1,"ng-container",9),oe(4,kN,2,1,"ng-container",9),b()()}if(2&n){const t=e.$implicit,r=e.index,i=ie();Kn("id","group-",r,""),v(1),k("ngIf",i.groups.length>1),v(2),k("ngIf",t.visible),v(1),k("ngIf",!t.visible)}}let LC=(()=>{class n{constructor(t,r,i){this.storage=t,this.translate=r,this.layoutService=i,this.startEvent=new Re,this.groups=[],this.layouts&&this.buildGroups()}ngOnInit(){this.refresh()}ngOnChanges(t){this.refresh()}refresh(){this.layouts&&(this.buildGroups(),setTimeout(()=>{this.selectLastPlayed()}))}onStart(t){t&&this.startEvent.emit(t)}buildGroups(){const t=[],r={};for(const i of this.layoutService.layouts.items){r[i.category]||(r[i.category]={name:i.category,layouts:[],visible:!1},t.push(r[i.category]));const s=this.storage.getScore(i.id)||{};r[i.category].layouts.push({layout:i,playCount:s.playCount,bestTime:s.bestTime,visible:!1})}this.groups=t}scrollToGroup(t){const r=document.getElementById(`group-${t}`);r&&r.scrollIntoView()}scrollToItem(t){const r=document.getElementById(`item-${t}`);r&&r.scrollIntoView()}selectLastPlayed(){const t=this.storage.getLastPlayed();t&&(this.groups.forEach(r=>{r.layouts.forEach(i=>{i.selected=i.layout.id===t})}),this.scrollToItem(t))}clearBestTimeClick(t,r){t.stopPropagation(),confirm(this.translate.instant("BEST_TIME_CLEAR_SURE"))&&(this.storage.clearScore(r.layout.id),r.bestTime=void 0,r.playCount=void 0)}}return n.\u0275fac=function(t){return new(t||n)(V(Ls),V(Ci),V(sa))},n.\u0275cmp=Ot({type:n,selectors:[["app-layout-list"]],inputs:{layouts:"layouts"},outputs:{startEvent:"startEvent"},features:[or],decls:3,vars:2,consts:[["class","headline-anchors",4,"ngIf"],["appDeferLoadScrollHost","",1,"groups"],["class","group",3,"id","appDeferLoad",4,"ngFor","ngForOf"],[1,"headline-anchors"],[3,"click",4,"ngFor","ngForOf"],[3,"click"],[1,"group",3,"id","appDeferLoad"],["class","group-name",4,"ngIf"],[1,"previews"],[4,"ngIf"],[1,"group-name"],["class","preview",3,"id","selected","click","appDeferLoad",4,"ngFor","ngForOf"],[1,"preview",3,"id","click","appDeferLoad"],["class","svg-board",3,"svg","alt",4,"ngIf"],["class","preview-best-time",4,"ngIf"],[1,"preview-name"],[1,"svg-board",3,"svg","alt"],[1,"preview-best-time"],[1,"icon-trash-empty"],["class","preview",3,"id","selected",4,"ngFor","ngForOf"],[1,"preview",3,"id"]],template:function(t,r){1&t&&(oe(0,PN,2,1,"div",0),S(1,"div",1),oe(2,FN,5,4,"div",2),b()),2&t&&(k("ngIf",r.groups.length>1),v(2),k("ngForOf",r.groups))},dependencies:[yi,Ei,TN,MN,xC,$r,Th],styles:["[_nghost-%COMP%]{display:flex;overflow:hidden;flex-direction:column;flex:1}[_nghost-%COMP%] .headline-anchors[_ngcontent-%COMP%]{border-bottom:1px solid #afafaf;width:100%;display:flex;flex-direction:row;flex-wrap:wrap}[_nghost-%COMP%] .headline-anchors[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{flex-grow:1;flex-basis:0;display:inline-block;padding:2px 4px;font-size:.9em;cursor:pointer;text-align:center}[_nghost-%COMP%] .headline-anchors[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--main-text-color-lt)}[_nghost-%COMP%] .groups[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;width:100%;flex:1}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%]{width:100%;padding-bottom:16px}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .group-name[_ngcontent-%COMP%]{border-top:1px solid #d5d5d5;padding-top:16px;text-align:center}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%]:first-of-type .group-name[_ngcontent-%COMP%]{border-top:inherit}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .previews[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{margin-top:10px;width:300px;height:200px;cursor:pointer;border:1px solid #afafaf;display:block;background-color:#2b424f;position:relative;overflow:hidden}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview.selected[_ngcontent-%COMP%]{border:1px solid #000000}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{display:block;width:300px;height:200px;text-align:center;padding-bottom:1.5em}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%]{position:absolute;top:0;right:0;background-color:#181818cc;color:#fff;border-bottom-left-radius:3px;padding:3px 3px 3px 6px;text-shadow:1px 1px black}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:inline-block;min-width:1.2em;text-align:right;transition:all .1s}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.8em}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{transform:scale(1.3)}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-name[_ngcontent-%COMP%]{position:absolute;width:100%;bottom:0;background-color:#fffc;text-align:center;text-shadow:1px 1px white}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]:hover{background-color:#636056}@media only screen and (max-width: 2200px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%], [_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{width:200px;height:180px}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{width:50%}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{width:100%}}@media only screen and (max-width: 400px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{width:100%}}@media only screen and (max-height: 500px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{height:120px}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{width:100%;height:100%}}"]}),n})();function BN(n,e){if(1&n&&(S(0,"option",11),N(1),R(2,"translate"),R(3,"translate"),b()),2&n){const t=e.$implicit,r=ie();k("value",t.id)("selected",r.buildMode===t.id),v(1),Ts("",F(2,4,t.id)," [",F(3,6,t.id+"_DESC"),"]")}}function HN(n,e){if(1&n&&(Br(0),N(1),R(2,"translate"),Hr()),2&n){const t=e.$implicit,r=e.last;v(1),Ts("",F(2,2,t.title),"",r?"":", ","")}}function VN(n,e){if(1&n&&(Br(0),N(1,"["),oe(2,HN,3,4,"ng-container",13),N(3,"]"),Hr()),2&n){const t=ie().$implicit;v(2),k("ngForOf",t.features)}}function jN(n,e){if(1&n&&(S(0,"option",11),N(1),R(2,"translate"),oe(3,VN,4,1,"ng-container",12),b()),2&n){const t=e.$implicit,r=ie();k("value",t.id)("selected",r.gameMode===t.id),v(1),qt("",F(2,4,t.id)," "),v(2),k("ngIf",t.features.length>0)}}let UN=(()=>{class n{constructor(t,r){this.layoutService=t,this.storage=r,this.startEvent=new Re,this.gameMode=ra,this.buildMode=au,this.buildModes=dC,this.gameModes=T1}onStart(t){t&&(this.startEvent.emit({layout:t,buildMode:this.buildMode,gameMode:this.gameMode}),this.storage.storeLastPlayed(t.id))}randomGame(){const t=Math.floor(Math.random()*this.layoutService.layouts.items.length);this.onStart(this.layoutService.layouts.items[t])}}return n.\u0275fac=function(t){return new(t||n)(V(sa),V(Ls))},n.\u0275cmp=Ot({type:n,selectors:[["app-choose-layout"]],inputs:{gameMode:"gameMode"},outputs:{startEvent:"startEvent"},decls:18,vars:12,consts:[[3,"layouts","startEvent"],[1,"choose-buttons"],[1,"generator"],["for","board-generator-select"],["id","board-generator-select",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mode"],["for","game-mode-select"],["id","game-mode-select",3,"change"],[1,"start-links"],[1,"link",3,"click"],[3,"value","selected"],[4,"ngIf"],[4,"ngFor","ngForOf"]],template:function(t,r){1&t&&(S(0,"app-layout-list",0),J("startEvent",function(s){return r.onStart(s)}),b(),S(1,"div",1)(2,"div",2)(3,"label",3),N(4),R(5,"translate"),b(),S(6,"select",4),J("change",function(s){return r.buildMode=s.target.value}),oe(7,BN,4,8,"option",5),b()(),S(8,"div",6)(9,"label",7),N(10),R(11,"translate"),b(),S(12,"select",8),J("change",function(s){return r.gameMode=s.target.value}),oe(13,jN,4,6,"option",5),b()(),S(14,"div",9)(15,"button",10),J("click",function(){return r.randomGame()}),N(16),R(17,"translate"),b()()()),2&t&&(k("layouts",null==r.layoutService.layouts?null:r.layoutService.layouts.items),v(4),qt("",F(5,6,"BOARD_GENERATOR"),":"),v(3),k("ngForOf",r.buildModes),v(3),qt("",F(11,8,"GAME_MODE"),":"),v(3),k("ngForOf",r.gameModes),v(3),z(F(17,10,"START_RANDOM")))},dependencies:[yi,Ei,LC,$r],styles:["[_nghost-%COMP%]{padding:0;margin:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%]{border-top:1px solid #afafaf;padding-top:10px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end}@media only screen and (max-height: 500px){[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%]{padding-top:4px}}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .start-links[_ngcontent-%COMP%]{text-align:right;display:inline-block}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .start-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{color:#000;margin-left:8px;text-decoration:none;padding:8px}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .generator[_ngcontent-%COMP%], [_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .generator[_ngcontent-%COMP%] label[_ngcontent-%COMP%], [_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:2px}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .generator[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;text-overflow:ellipsis;padding:8px}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%]{margin-left:8px;max-width:30%}"]}),n})();function GN(n,e){1&n&&ge(0,"i"),2&n&&Kd(ie().$implicit.icon)}function $N(n,e){1&n&&(S(0,"span",16),N(1,"\u{1f004}\ufe0f"),b())}function zN(n,e){if(1&n&&(S(0,"li")(1,"div"),oe(2,GN,1,2,"i",14),oe(3,$N,2,0,"span",15),S(4,"span",16),N(5),b(),S(6,"span",4),N(7),R(8,"translate"),b()(),S(9,"span",17),N(10),R(11,"translate"),b()()),2&n){const t=e.$implicit;v(2),k("ngIf",t.icon),v(1),k("ngIf",!t.icon),v(2),z(t.key),v(2),z(F(8,5,t.name)),v(3),z(F(11,7,t.name+"_LONG"))}}let WN=(()=>{class n{constructor(){this.shortcuts=[{icon:"icon-lightbulb",key:"T",name:"HINT"},{icon:"icon-spin1",key:"M",name:"SHUFFLE"},{icon:"icon-undo",key:"U",name:"UNDO"},{icon:"icon-loop",key:"N",name:"RESTART"},{icon:"icon-pause",key:"P",name:"PAUSE"},{icon:"icon-calendar",key:"I",name:"INFO"},{icon:"icon-cog",key:"S",name:"SETTINGS"},{key:"H",name:"HELP"}]}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ot({type:n,selectors:[["app-help"]],decls:69,vars:43,consts:[[1,"top"],[1,"help"],[1,"license"],[1,"license-list"],[1,"name"],[1,"info"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/blob/main/README.md"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/tree/main/src/assets/svg/README.md"],["rel","noopener","href","https://github.com/ffalt/mah/blob/main/src/assets/sounds/README.md"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/blob/main/src/fonts/README.md"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/blob/main/src/assets/img/README.md"],[1,"keyboard"],[1,"keyboard-list","icon-"],[4,"ngFor","ngForOf"],[3,"class",4,"ngIf"],["class","key",4,"ngIf"],[1,"key"],[1,"func"]],template:function(t,r){1&t&&(S(0,"div",0)(1,"div",1)(2,"h2"),N(3),R(4,"translate"),b(),S(5,"p"),N(6),R(7,"translate"),b(),S(8,"p")(9,"b"),N(10),R(11,"translate"),b(),N(12),R(13,"translate"),b(),S(14,"p")(15,"b"),N(16),R(17,"translate"),b(),N(18),R(19,"translate"),b(),S(20,"p"),N(21),R(22,"translate"),b()(),S(23,"div",2)(24,"h2"),N(25),R(26,"translate"),b(),S(27,"div",3)(28,"div")(29,"div",4),N(30),R(31,"translate"),b(),S(32,"div",5)(33,"a",6),N(34,"MIT"),b()()(),S(35,"div")(36,"div",4),N(37),R(38,"translate"),b(),S(39,"div",5)(40,"a",7),N(41,"MIT | Public Domain | CCA4.0 | GNU"),b()()(),S(42,"div")(43,"div",4),N(44),R(45,"translate"),b(),S(46,"div",5)(47,"a",8),N(48,"CC0 | CC-BY3.0"),b()()(),S(49,"div")(50,"div",4),N(51),R(52,"translate"),b(),S(53,"div",5)(54,"a",9),N(55,"SIL"),b()()(),S(56,"div")(57,"div",4),N(58),R(59,"translate"),b(),S(60,"div",5)(61,"a",10),N(62,"Public Domain"),b()()()()()(),S(63,"div",11)(64,"h2"),N(65),R(66,"translate"),b(),S(67,"ul",12),oe(68,zN,12,9,"li",13),b()()),2&t&&(v(3),z(F(4,15,"HOW_TO_PLAY")),v(3),z(F(7,17,"HOW_GOAL")),v(4),z(F(11,19,"HOW_OPEN")),v(2),qt(": ",F(13,21,"HOW_OPEN_DESC"),""),v(4),z(F(17,23,"HOW_PAIR")),v(2),qt(": ",F(19,25,"HOW_PAIR_DESC"),""),v(3),z(F(22,27,"HOW_DO")),v(4),z(F(26,29,"LICENSE")),v(5),z(F(31,31,"GAME")),v(7),z(F(38,33,"DESIGNS")),v(7),z(F(45,35,"SOUNDS")),v(7),z(F(52,37,"FONTS")),v(7),z(F(59,39,"BACKGROUNDS")),v(7),z(F(66,41,"SHORTCUTS")),v(3),k("ngForOf",r.shortcuts))},dependencies:[yi,Ei,$r],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:1;overflow-y:auto}[_nghost-%COMP%] h2[_ngcontent-%COMP%]{padding-bottom:3px;margin:10px 0 4px;font-weight:700;border-bottom:1px solid var(--main-bg-color-lt);font-size:1.1em}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{flex:1;margin-right:10px}[_nghost-%COMP%] .help[_ngcontent-%COMP%], [_nghost-%COMP%] .license[_ngcontent-%COMP%]{padding-right:10px}[_nghost-%COMP%] .help[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:4px}[_nghost-%COMP%] .license[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .license-list[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-direction:row}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{min-width:40%;max-width:40%}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .license-list-tilesets[_ngcontent-%COMP%]{columns:2}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .license-list-tilesets[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{justify-content:space-between}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%]{padding:0;list-style:none;columns:2}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{page-break-inside:avoid;break-inside:avoid;margin-bottom:14px}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] .func[_ngcontent-%COMP%]{margin-top:8px;font-size:.8em;display:block}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{padding-left:8px;vertical-align:middle}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] i[_ngcontent-%COMP%], [_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{font-weight:700;text-transform:uppercase;padding-left:4px;padding-right:4px;border:2px solid #f5f5f5;border-radius:6px;min-height:20px;min-width:28px;font-size:.7em;vert-align:top;display:inline-block;letter-spacing:1px;background:black;color:#f5f5f5;box-shadow:0 5px #000;text-align:center}@media only screen and (max-width: 700px){[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%]{columns:1}}@media only screen and (max-width: 1000px){[_nghost-%COMP%]{flex-direction:column;flex-wrap:nowrap}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .top[_ngcontent-%COMP%]{display:flex;flex-direction:row}[_nghost-%COMP%] .top[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex:1}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .top[_ngcontent-%COMP%]{flex-direction:column;flex-wrap:nowrap}[_nghost-%COMP%] .help[_ngcontent-%COMP%], [_nghost-%COMP%] .license[_ngcontent-%COMP%]{width:100%}}"]}),n})(),qN=(()=>{class n{constructor(){this.isDark=!1}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=Ot({type:n,selectors:[["app-tile"]],inputs:{imageSet:"imageSet",tile:"tile",index:"index",isDark:"isDark"},decls:6,vars:9,consts:[["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 75 100","preserveAspectRatio","xMidYMid meet"],["app-image-set-loader","",3,"imageSet","dark","prefix"],["x","6","y","6","width","63","height","88"]],template:function(t,r){1&t&&(ui(),S(0,"svg",0),ge(1,"defs",1),S(2,"title"),N(3),R(4,"translate"),b(),ge(5,"use",2),b()),2&t&&(dn("dark",r.isDark),v(1),k("imageSet",r.imageSet)("dark",r.isDark)("prefix","t_"+r.imageSet+"_"+r.index+"_"),v(2),z(F(4,7,r.tile)),v(2),kr("href","#t_"+r.imageSet+"_"+r.index+"_"+r.tile,null,"xlink"))},dependencies:[Ch,$r],styles:["[_nghost-%COMP%]{display:block;width:75px;height:100px;margin:0 auto}[_nghost-%COMP%] > svg[_ngcontent-%COMP%]{height:100%;width:auto;background-color:#fff9e5;border:1px solid #4b4b4b}[_nghost-%COMP%] > svg.dark[_ngcontent-%COMP%]{background-color:#000}"]}),n})();function KN(n,e){if(1&n&&(S(0,"div",11)(1,"div"),ge(2,"app-tile",12),b(),ge(3,"div",13),R(4,"translate"),b()),2&n){const t=e.$implicit,r=e.index,i=ie(3);v(2),k("tile",t)("imageSet",i.tileset)("index",r)("isDark",i.isDark),v(1),k("innerHtml",F(4,5,t),_g)}}function YN(n,e){if(1&n&&(S(0,"div")(1,"div",9),N(2),R(3,"translate"),b(),S(4,"div"),oe(5,KN,5,7,"div",10),b()()),2&n){const t=e.$implicit;Jd("tiles-section tiles-section-",t.tiles.length,""),v(2),z(F(3,8,t.name)),v(2),Jd("tiles-set tiles-set-",t.tiles.length,""),v(1),k("ngForOf",t.tiles)}}function JN(n,e){if(1&n&&(Br(0),oe(1,YN,6,10,"div",8),Hr()),2&n){const t=e.$implicit;v(1),k("ngForOf",t.groups)}}function QN(n,e){if(1&n&&(S(0,"option",14),N(1),b()),2&n){const t=e.$implicit,r=ie();k("value",t.id)("selected",r.tileset===t.id),v(1),z(t.name)}}let XN=(()=>{class n{constructor(t){this.app=t,this.TILES_INFOS=P1,this.sets=hC,this.tileset=mh,this.isDark=!1,this.tileset=t.settings.tileset,this.isDark=t.settings.dark}}return n.\u0275fac=function(t){return new(t||n)(V(Rs))},n.\u0275cmp=Ot({type:n,selectors:[["app-tiles-info"]],decls:15,vars:12,consts:[[1,"tiles-content"],[4,"ngFor","ngForOf"],[1,"tiles-header"],["tabindex","0",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],["type","checkbox",3,"checked","change"],[1,"tiles-reference"],["rel","noopener","target","_blank",3,"href"],[3,"class",4,"ngFor","ngForOf"],[1,"tiles-title"],["class","tile",4,"ngFor","ngForOf"],[1,"tile"],[3,"tile","imageSet","index","isDark"],[3,"innerHtml"],[3,"value","selected"]],template:function(t,r){1&t&&(S(0,"div",0),oe(1,JN,2,1,"ng-container",1),b(),S(2,"div",2)(3,"form")(4,"select",3),J("change",function(s){return r.tileset=s.target.value}),oe(5,QN,2,3,"option",4),b(),S(6,"label")(7,"input",5),J("change",function(){return r.isDark=!r.isDark}),b(),N(8),R(9,"translate"),b()(),S(10,"div",6)(11,"a",7),R(12,"translate"),N(13),R(14,"translate"),b()()()),2&t&&(v(1),k("ngForOf",r.TILES_INFOS),v(4),k("ngForOf",r.sets),v(2),k("checked",r.isDark),v(1),z(F(9,6,"TILES_DARK")),v(3),Wt("href",F(12,8,"READ_MORE_WIKIPEDIA_URL"),ll),v(2),z(F(14,10,"READ_MORE_WIKIPEDIA")))},dependencies:[yi,qN,$r],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;overflow:hidden;height:100%}[_nghost-%COMP%] h1[_ngcontent-%COMP%]{text-align:center;color:var(--dialog-text-color);margin-top:0;margin-bottom:.2em;line-height:1em}@media only screen and (max-width: 400px){[_nghost-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.2em}}[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;padding-top:6px}[_nghost-%COMP%] .tiles-content[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:1;overflow-y:auto}[_nghost-%COMP%] .tiles-reference[_ngcontent-%COMP%]{padding-top:5px}[_nghost-%COMP%] .tile[_ngcontent-%COMP%]{flex:1;text-align:center;word-break:normal;margin-top:5px;margin-bottom:5px;display:flex;flex-direction:column;padding-left:5px;padding-right:5px}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex:1;font-size:.9em}[_nghost-%COMP%] .tiles-title[_ngcontent-%COMP%]{flex:1;margin-top:.5em;margin-bottom:.2em;font-weight:700;text-align:center;letter-spacing:2px;border-bottom:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .tiles-section[_ngcontent-%COMP%]{padding:0 6px}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%]{flex:50%}[_nghost-%COMP%] .tiles-set[_ngcontent-%COMP%]{display:flex;justify-content:space-around}@media only screen and (max-width: 1000px){[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:20%}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:50%}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:33%}}@media only screen and (max-width: 500px){[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%]{flex-direction:column;text-align:center}[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{order:1}[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%] .tiles-reference[_ngcontent-%COMP%]{order:2}}@media only screen and (max-width: 280px){[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:50%}}"]}),n})();function ZN(n,e){if(1&n){const t=dt();S(0,"li")(1,"input",9),J("change",function(){const s=Ve(t).$implicit,o=ie();return o.app.settings.lang=s.key,je(o.app.setLang())}),b(),S(2,"label",10),N(3),b()()}if(2&n){const t=e.$implicit,r=e.index,i=ie();v(1),k("id","lang"+(r+1))("value",t.key)("checked",i.app.settings.lang===t.key),v(1),k("for","lang"+(r+1)),v(1),z(t.title)}}function ex(n,e){if(1&n){const t=dt();S(0,"li")(1,"input",11),J("change",function(){const s=Ve(t).$implicit,o=ie();return o.app.settings.background=s.img||"",je(o.app.settings.save())}),b(),S(2,"label",10),N(3),R(4,"translate"),b()()}if(2&n){const t=e.$implicit,r=e.index,i=ie();v(1),Kn("id","back",r,""),k("value",t.img)("checked",i.app.settings.background===t.img),v(1),Kn("for","back",r,""),v(1),z(F(4,5,t.name))}}function tx(n,e){if(1&n){const t=dt();S(0,"li")(1,"input",12),J("change",function(){const s=Ve(t).$implicit,o=ie();return o.app.settings.theme=s.id||"",je(o.app.settings.save())}),b(),S(2,"label",10),N(3),R(4,"translate"),b()()}if(2&n){const t=e.$implicit,r=e.index,i=ie();v(1),Kn("id","color",r,""),k("value",t.id)("checked",i.app.settings.theme===t.id),v(1),Kn("for","color",r,""),v(1),z(F(4,5,t.name))}}function nx(n,e){if(1&n){const t=dt();S(0,"li")(1,"input",13),J("change",function(){const s=Ve(t).$implicit,o=ie();return o.app.settings.tileset=s.id,je(o.app.settings.save())}),b(),S(2,"label",10),N(3),b()()}if(2&n){const t=e.$implicit,r=e.index,i=ie();v(1),Kn("id","imageset",r,""),k("value",t.id)("checked",i.app.settings.tileset===t.id),v(1),Kn("for","imageset",r,""),v(1),z(t.name)}}let rx=(()=>{class n{constructor(t,r,i,s){this.app=t,this.storage=r,this.layoutService=i,this.translate=s,this.sets=hC,this.backs=fC,this.themes=M1,this.languages=$1}clearTimes(){var t=this;return fu(function*(){const r=yield t.layoutService.get();for(const i of r.items)t.storage.clearScore(i.id)})()}clearTimesClick(){confirm(this.translate.instant("BEST_TIMES_CLEAR_SURE"))&&this.clearTimes().catch(t=>{console.error(t)})}}return n.\u0275fac=function(t){return new(t||n)(V(Rs),V(Ls),V(sa),V(Ci))},n.\u0275cmp=Ot({type:n,selectors:[["app-settings"]],decls:55,vars:37,consts:[[1,"settings"],[1,"buttons"],[1,"radio"],["type","radio","name","lang","id","lang0","value","auto",3,"checked","change"],["for","lang0"],[4,"ngFor","ngForOf"],[1,"radio","radio-tilesets"],["type","checkbox",3,"checked","change"],[3,"click"],["type","radio","name","lang",3,"id","value","checked","change"],[3,"for"],["type","radio","name","back",3,"id","value","checked","change"],["type","radio","name","color",3,"id","value","checked","change"],["type","radio","name","imageset",3,"id","value","checked","change"]],template:function(t,r){1&t&&(S(0,"div",0)(1,"p"),N(2),R(3,"translate"),b(),S(4,"div",1)(5,"form")(6,"ul",2)(7,"li")(8,"input",3),J("change",function(){return r.app.settings.lang="auto",r.app.setLang()}),b(),S(9,"label",4),N(10),R(11,"translate"),b()(),oe(12,ZN,4,5,"li",5),b()()(),S(13,"p"),N(14),R(15,"translate"),b(),S(16,"div",1)(17,"form")(18,"ul",2),oe(19,ex,5,7,"li",5),b()()(),S(20,"p"),N(21),R(22,"translate"),b(),S(23,"div",1)(24,"form")(25,"ul",2),oe(26,tx,5,7,"li",5),b()()()(),S(27,"div",0)(28,"p"),N(29),R(30,"translate"),b(),S(31,"div",1)(32,"form")(33,"ul",6),oe(34,nx,4,5,"li",5),b()()(),S(35,"p"),N(36),R(37,"translate"),b(),S(38,"div")(39,"label")(40,"input",7),J("change",function(){return r.app.settings.contrast=!r.app.settings.contrast,r.app.settings.save()}),b(),N(41),R(42,"translate"),b(),ge(43,"br"),S(44,"label")(45,"input",7),J("change",function(){return r.app.settings.dark=!r.app.settings.dark,r.app.settings.save()}),b(),N(46),R(47,"translate"),b()(),S(48,"p"),N(49),R(50,"translate"),b(),S(51,"div")(52,"button",8),J("click",function(){return r.clearTimesClick()}),N(53),R(54,"translate"),b()()()),2&t&&(v(2),z(F(3,17,"LANG")),v(6),k("checked","auto"===r.app.settings.lang),v(2),z(F(11,19,"LANG_AUTO")),v(2),k("ngForOf",r.languages),v(2),z(F(15,21,"BACKGROUND")),v(5),k("ngForOf",r.backs),v(2),z(F(22,23,"THEME")),v(5),k("ngForOf",r.themes),v(3),z(F(30,25,"TILESET")),v(5),k("ngForOf",r.sets),v(2),z(F(37,27,"TILES")),v(4),k("checked",r.app.settings.contrast),v(1),qt(" ",F(42,29,"HIGHER_CONTRAST")," "),v(4),k("checked",r.app.settings.dark),v(1),qt(" ",F(47,31,"TILES_DARK")," "),v(3),z(F(50,33,"BEST_TIMES")),v(4),z(F(54,35,"BEST_TIMES_CLEAR")))},dependencies:[yi,$r],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;flex:1;overflow-y:auto}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{width:50%;padding-right:20px}@media only screen and (max-width: 700px){[_nghost-%COMP%] > div[_ngcontent-%COMP%]{width:100%}}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-direction:row}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{max-width:40%}[_nghost-%COMP%] input[_ngcontent-%COMP%]{height:1em;width:1em}[_nghost-%COMP%] input[_ngcontent-%COMP%], [_nghost-%COMP%] label[_ngcontent-%COMP%], [_nghost-%COMP%] button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:10px 0 4px;font-weight:700;border-bottom:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .radio[_ngcontent-%COMP%]{columns:2}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding-left:19px;white-space:nowrap;text-overflow:ellipsis}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-left:-19px}@media only screen and (max-width: 280px){[_nghost-%COMP%] .radio[_ngcontent-%COMP%]{columns:1}}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin-top:10px;padding:12px 20px}[_nghost-%COMP%] .radio[_ngcontent-%COMP%]{text-align:left;list-style:none;padding:0;margin:0;vertical-align:middle}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{vertical-align:middle;margin-left:2px}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{float:right;margin-left:3px;font-size:.8em}[_nghost-%COMP%] .close[_ngcontent-%COMP%]{margin-top:0}"]}),n})(),RC=(()=>{class n{transform(t){return t===uu}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=We({name:"gameModeEasy",type:n,pure:!0}),n})(),kC=(()=>{class n{transform(t){return t===uu||t===ra}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275pipe=We({name:"gameModeStandard",type:n,pure:!0}),n})();const ix=["info"],sx=["settings"],ox=["help"],ax=["newgame"];function lx(n,e){if(1&n){const t=dt();S(0,"button",2),J("click",function(){return Ve(t),je(ie().enterFullScreen())}),R(1,"translate"),ge(2,"i",35),b()}2&n&&Wt("title",F(1,1,"FULLSCREEN"))}function ux(n,e){1&n&&ge(0,"app-help")}function cx(n,e){1&n&&ge(0,"app-tiles-info")}function dx(n,e){1&n&&ge(0,"app-settings")}function fx(n,e){if(1&n){const t=dt();S(0,"app-choose-layout",36),J("startEvent",function(i){return Ve(t),je(ie().startGame(i))}),b()}2&n&&k("gameMode",ie().game.mode)}function hx(n,e){if(1&n&&(S(0,"div"),N(1),R(2,"translate"),b()),2&n){const t=ie(2);v(1),z(F(2,1,t.game.message.msgID))}}function px(n,e){if(1&n&&(S(0,"div"),N(1),R(2,"duration"),b()),2&n){const t=ie(2);v(1),z(F(2,1,t.game.message.playTime))}}function gx(n,e){if(1&n){const t=dt();S(0,"div",37),J("click",function(){return Ve(t),je(ie().clickMessage())}),oe(1,hx,3,3,"div",25),oe(2,px,3,3,"div",25),b()}if(2&n){const t=ie();v(1),k("ngIf",t.game.message.msgID),v(1),k("ngIf",t.game.message.playTime)}}let mx=(()=>{class n{constructor(t,r){this.app=t,this.workerService=r,this.fullScreenEnabled=!0,this.title="",this.game=t.game,this.fullScreenEnabled=this.canFullscreen(),this.title=`${t.name} Solitaire v${ta.version}`}ngOnInit(){this.game.isIdle()&&(this.newgame.visible=!0)}handleKeyDownEventKey(t){switch(t){case"h":this.help.toggle();break;case"i":this.info.toggle();break;case"s":this.settings.toggle();break;case"t":this.game.hint();break;case"m":this.game.shuffle();break;case"g":this.debugSolve();break;case"u":this.game.back();break;case"n":this.game.pause(),this.newgame.toggle();break;case" ":case"p":this.game.isRunning()?this.game.pause():this.game.isPaused()&&this.game.resume()}}handleKeyDownDialogExit(){return this.help.visible?(this.help.toggle(),!0):this.newgame.visible?(this.newgame.toggle(),!0):this.info.visible?(this.info.toggle(),!0):!!this.settings.visible&&(this.settings.toggle(),!0)}handleKeyDownEvent(t){"Escape"===t.key&&this.handleKeyDownDialogExit()||"input"===(t.target?.nodeName||"").toLocaleLowerCase()||this.handleKeyDownEventKey(t.key)}stoneClick(t){this.game.click(t)}canFullscreen(){if(ta.mobile)return!1;const t=window.document;return t.fullscreenEnabled||t.mozFullscreenEnabled||t.webkitFullscreenEnabled}enterFullScreen(){const t=window.document;if(t.fullScreen||t.fullscreen||t.mozFullScreen||t.webkitIsFullScreen)return void(t.exitFullscreen?t.exitFullscreen().catch(i=>{console.error(i)}):t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitExitFullscreen&&t.webkitExitFullscreen());const r=document.body;r.requestFullscreen?r.requestFullscreen().catch(i=>{console.error(i)}):r.webkitRequestFullScreen?r.webkitRequestFullScreen():r.mozRequestFullScreen&&r.mozRequestFullScreen()}newGame(){this.game.pause(),this.newgame.visible=!0}startGame(t){this.newgame.visible=!1,this.game.reset(),this.game.start(t.layout,t.buildMode,t.gameMode)}toggleDialogState(t){t?this.app.game.isPaused()||this.app.game.pause():(this.app.settings.save(),this.app.game.isPaused()&&this.app.game.resume())}clickMessage(){this.game.isPaused()?this.game.resume():(this.game.reset(),this.newgame.visible=!0)}debugSolve(){if(ta.production)return;const t=(r,i)=>{const s=i[r],o=i[r+1];if(!s||!o)return;const a=this.game.board.stones.filter(l=>l.z===s[0]&&l.x===s[1]&&l.y===s[2]||l.z===o[0]&&l.x===o[1]&&l.y===o[2]);a.length>1&&(a.forEach(l=>{l.selected=!0}),setTimeout(()=>{this.game.board.pick(a[0],a[1]),t(r+2,i)},300))};this.workerService.solveGame(this.game.board.stones.filter(r=>!r.picked).map(r=>r.toPosition()),r=>{t(0,r.order)})}}return n.\u0275fac=function(t){return new(t||n)(V(Rs),V(vC))},n.\u0275cmp=Ot({type:n,selectors:[["app-game-component"]],viewQuery:function(t,r){if(1&t&&(Go(ix,7),Go(sx,7),Go(ox,7),Go(ax,7)),2&t){let i;Uo(i=$o())&&(r.info=i.first),Uo(i=$o())&&(r.settings=i.first),Uo(i=$o())&&(r.help=i.first),Uo(i=$o())&&(r.newgame=i.first)}},hostBindings:function(t,r){1&t&&J("keydown",function(s){return r.handleKeyDownEvent(s)},!1,Tg)},decls:88,vars:90,consts:[[1,"controls","controls-top"],[1,"ctrl","ctrl-name"],[1,"link","button",3,"title","click"],[1,"symbol"],[1,"name"],[1,"ctrl","ctrl-game"],[1,"icon-pause"],[1,"label"],[1,"link","button","feature",3,"title","click"],[1,"icon-spin1"],[1,"icon-undo"],[1,"icon-lightbulb"],[1,"icon-loop"],[1,"board",3,"stones","imageSet","background","clickEvent"],[1,"controls","controls-bottom"],[1,"ctrl","ctrl-stats"],[1,"icon-cog"],[1,"icon-volume-low"],[1,"icon-calendar"],["class","link button",3,"title","click",4,"ngIf"],[1,"ctrl","ctrl-time"],[1,"label","button","text"],[1,"time"],[1,"overlay-help",3,"title","clickEvent"],["help",""],[4,"ngIf"],[1,"overlay-info",3,"title","clickEvent"],["info",""],[1,"overlay-settings",3,"title","clickEvent"],["settings",""],[1,"overlay-newgame",3,"title","clickEvent"],["newgame",""],["class","choose",3,"gameMode","startEvent",4,"ngIf"],[1,"overlay-message",3,"visible","noClose","clickEvent"],["class","overlay-message-message",3,"click",4,"ngIf"],[1,"icon-resize-full-alt"],[1,"choose",3,"gameMode","startEvent"],[1,"overlay-message-message",3,"click"]],template:function(t,r){if(1&t){const i=dt();S(0,"div",0)(1,"div",1)(2,"button",2),J("click",function(){return Ve(i),je(Fr(72).toggle())}),R(3,"translate"),S(4,"span",3),N(5,"\u{1f004}\ufe0f"),b(),S(6,"span",4),N(7),b()()(),S(8,"div",5)(9,"button",2),J("click",function(){return r.game.toggle()}),R(10,"translate"),ge(11,"i",6),S(12,"span",7),N(13),R(14,"translate"),b()(),S(15,"button",8),J("click",function(){return r.game.shuffle()}),R(16,"gameModeEasy"),R(17,"translate"),ge(18,"i",9),S(19,"span",7),N(20),R(21,"translate"),b()(),S(22,"button",8),J("click",function(){return r.game.back()}),R(23,"gameModeStandard"),R(24,"translate"),ge(25,"i",10),S(26,"span",7),N(27),R(28,"translate"),b()(),S(29,"button",8),J("click",function(){return r.game.hint()}),R(30,"gameModeStandard"),R(31,"translate"),ge(32,"i",11),S(33,"span",7),N(34),R(35,"translate"),b()(),S(36,"button",2),J("click",function(){return r.newGame()}),R(37,"translate"),ge(38,"i",12),S(39,"span",7),N(40),R(41,"translate"),b()()()(),S(42,"app-board",13),J("clickEvent",function(o){return r.stoneClick(o)}),b(),S(43,"div",14)(44,"div",15)(45,"button",2),J("click",function(){return Ve(i),je(Fr(79).toggle())}),R(46,"translate"),ge(47,"i",16),b(),S(48,"button",2),J("click",function(){return r.app.toggleSound()}),R(49,"translate"),ge(50,"i",17),b(),S(51,"button",2),J("click",function(){return Ve(i),je(Fr(75).toggle())}),R(52,"translate"),ge(53,"i",18),b(),oe(54,lx,3,3,"button",19),b(),S(55,"div",20)(56,"span",21)(57,"small"),N(58),R(59,"translate"),b(),S(60,"span"),N(61),b()(),S(62,"span",21)(63,"small"),N(64),R(65,"translate"),b(),S(66,"span"),N(67),b()(),S(68,"span",22),N(69),R(70,"duration"),b()()(),S(71,"app-dialog",23,24),J("clickEvent",function(o){return r.toggleDialogState(o)}),oe(73,ux,1,0,"app-help",25),b(),S(74,"app-dialog",26,27),J("clickEvent",function(o){return r.toggleDialogState(o)}),R(76,"translate"),oe(77,cx,1,0,"app-tiles-info",25),b(),S(78,"app-dialog",28,29),J("clickEvent",function(o){return r.toggleDialogState(o)}),R(80,"translate"),oe(81,dx,1,0,"app-settings",25),b(),S(82,"app-dialog",30,31),J("clickEvent",function(o){return r.toggleDialogState(o)}),R(84,"translate"),oe(85,fx,1,1,"app-choose-layout",32),b(),S(86,"app-dialog",33),J("clickEvent",function(){return r.clickMessage()}),oe(87,gx,3,2,"div",34),b()}if(2&t){const i=Fr(72),s=Fr(75),o=Fr(79),a=Fr(83);v(2),Wt("title",F(3,44,"OPEN_HELP")),v(5),z(r.app.name),v(2),Wt("title",F(10,46,"PAUSE_LONG")),v(4),z(F(14,48,"PAUSE")),v(2),dn("enabled",F(16,50,r.game.mode)),Wt("title",F(17,52,"SHUFFLE_LONG")),v(5),z(F(21,54,"SHUFFLE")),v(2),dn("enabled",F(23,56,r.game.mode)),Wt("title",F(24,58,"UNDO_LONG")),kr("disabled",0===r.game.board.undo.length||null),v(5),z(F(28,60,"UNDO")),v(2),dn("enabled",F(30,62,r.game.mode)),Wt("title",F(31,64,"HINT_LONG")),v(5),z(F(35,66,"HINT")),v(2),Wt("title",F(37,68,"RESTART_LONG")),v(4),z(F(41,70,"RESTART")),v(2),k("stones",r.game.board.stones)("imageSet",r.app.settings.tileset)("background",r.app.settings.background),v(3),Wt("title",F(46,72,"OPEN_SETTINGS")),v(3),dn("inactive",!r.app.settings.sounds),Wt("title",F(49,74,"AUDIO_SOUNDS")),v(3),Wt("title",F(52,76,"TILES_INFO")),v(3),k("ngIf",r.fullScreenEnabled),v(4),qt("",F(59,78,"STONES"),":"),v(3),z(r.game.board.count),v(3),qt("",F(65,80,"FREE"),":"),v(3),z(r.game.board.free.length),v(2),z(F(70,82,r.game.clock.elapsed)),v(2),k("title",r.title),v(2),k("ngIf",i.visible),v(1),k("title",F(76,84,"TILES")),v(3),k("ngIf",s.visible),v(1),k("title",F(80,86,"SETTINGS")),v(3),k("ngIf",o.visible),v(1),k("title",F(84,88,"SELECT_BOARD")),v(3),k("ngIf",a.visible),v(1),k("visible",!!r.game.message)("noClose",!0),v(1),k("ngIf",r.game.message)}},dependencies:[Ei,IC,AC,UN,WN,XN,rx,Th,RC,kC,$r],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex-wrap:nowrap;height:100%;width:100%;min-height:100vh;background-color:var(--main-bg-color)}.dkgreen[_nghost-%COMP%]{--main-bg-color: #19262e;--main-bg-color-lt: #22353f;--main-bg-color-dk: #142026}.dkblue[_nghost-%COMP%]{--main-bg-color: #001552;--main-bg-color-lt: #22353f;--main-bg-color-dk: #142026;--main-text-color: #fff;--main-text-color-lt: #ffe9c0;--main-text-color-dk: #dcdbdb;--dialog-text-color: #001552}.ltblue[_nghost-%COMP%]{--main-bg-color: #34385a;--main-bg-color-lt: #22353f;--main-bg-color-dk: #142026;--main-text-color: #fff;--main-text-color-lt: #ffe9c0;--main-text-color-dk: #dcdbdb;--dialog-text-color: #34385a}.white[_nghost-%COMP%]{--main-bg-color: #fff;--main-bg-color-lt: #b9b9b9;--main-bg-color-dk: #f6f5f5;--main-text-color: #000;--main-text-color-lt: #646464;--main-text-color-dk: #8c8c8c;--dialog-text-color: #000}.brown[_nghost-%COMP%]{--main-bg-color: brown;--main-bg-color-lt: #ad2d2d;--main-bg-color-dk: #982626;--main-text-color: #fff;--main-text-color-lt: #ffe9c0;--main-text-color-dk: #dcdbdb;--dialog-text-color: #601616}.black[_nghost-%COMP%]{--main-bg-color: #000;--main-bg-color-lt: #3a3a3a;--main-bg-color-dk: #171717}[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{min-width:170px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .feature.enabled[_ngcontent-%COMP%]{display:unset}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{display:inline-block;color:var(--main-text-color);-webkit-user-select:none;user-select:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{text-decoration:none;font-weight:400;color:var(--main-text-color);margin-left:16px;padding:.2em .8em}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:2px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover{color:var(--main-text-color-lt)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[disabled][_ngcontent-%COMP%]{color:var(--main-text-color-dk)}@media only screen and (min-width: 400px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{margin-left:10px}}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{background-color:transparent;background-image:none;border-color:transparent;border-radius:3px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]:hover{border-color:var(--main-bg-color-lt)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-name[_ngcontent-%COMP%]{font-weight:600;cursor:pointer}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-name[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{margin-left:6px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .inactive[_ngcontent-%COMP%]{color:var(--main-text-color-dk)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .inactive[_ngcontent-%COMP%]:hover{color:var(--main-text-color-dk)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-game[_ngcontent-%COMP%]{float:right}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%]{cursor:default;float:right;padding-right:12px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin-right:26px;font-feature-settings:"lnum";font-variant-numeric:lining-nums}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{margin-right:6px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{min-width:98px;display:inline-block;text-align:right;font-feature-settings:slashed-zero tabular-nums;font-variant-numeric:slashed-zero tabular-nums}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-stats[_ngcontent-%COMP%]{cursor:default}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-stats[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-left:10px}@media only screen and (min-width: 700px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.2em}}@media only screen and (min-width: 1000px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.3em}}@media only screen and (min-width: 1900px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.6em}}@media only screen and (min-width: 2200px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:2.3em}}@media only screen and (min-width: 3000px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:4em}}@media only screen and (max-width: 1000px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.1em}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{padding:.2em}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] span.label[_ngcontent-%COMP%]{display:none}}@media only screen and (max-width: 500px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{padding:0 6px;font-size:24px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{margin-left:2px;padding:.1em}}@media only screen and (max-width: 400px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{padding:.2em;margin-left:2px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{margin-left:0}}@media only screen and (max-width: 280px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.1em}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width: 400px) and (max-height: 600px){[_nghost-%COMP%]{flex-direction:row;padding-left:52px;padding-right:52px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{float:unset!important;text-align:center}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .symbol[_ngcontent-%COMP%], [_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:32px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:block;margin-left:0;margin-bottom:10px;padding-left:0;padding-right:0}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .feature.enabled[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%]{min-width:unset;max-width:52px;padding:0;display:flex;flex-direction:column;height:100%;position:absolute;left:0;justify-content:space-between}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] .ctrl.ctrl-name[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] .ctrl.ctrl-game[_ngcontent-%COMP%]{display:flex;flex-direction:column-reverse}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] .ctrl.ctrl-game[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{margin-bottom:2px}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] span.label[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%]{min-width:98px;max-width:98px;display:flex;flex-direction:column;height:100%;position:absolute;right:0;padding:0;align-items:flex-end}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;text-align:right}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-left:0}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%]{text-align:right;justify-content:flex-end;padding-right:6px;padding-left:6px}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{text-align:right;min-width:0}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-align:right;margin-right:0;margin-bottom:8px}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;margin-right:0;line-height:.9em}}@media only screen and (min-width: 400px) and (max-height: 300px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{margin-bottom:0}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .symbol[_ngcontent-%COMP%], [_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px}}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%]{border-bottom:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%]{border-top:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .board[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex:1;overflow:hidden}[_nghost-%COMP%] .overlay-help[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-help[_ngcontent-%COMP%] .overlay .overlay-popup{max-height:90%;width:90%;max-width:1200px}[_nghost-%COMP%] .overlay-info[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-info[_ngcontent-%COMP%] .overlay .overlay-popup{width:90%;height:90%}[_nghost-%COMP%] .overlay-settings[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-settings[_ngcontent-%COMP%] .overlay .overlay-popup{width:90%;max-height:90%;max-width:1200px}[_nghost-%COMP%] .overlay-newgame[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-newgame[_ngcontent-%COMP%] .overlay .overlay-popup{width:98%;height:98%;overflow:hidden}@media only screen and (max-height: 500px){[_nghost-%COMP%] .overlay-newgame[_ngcontent-%COMP%] .overlay .overlay-popup{padding:10px}}[_nghost-%COMP%] .overlay-message[_ngcontent-%COMP%] .overlay-message-message{padding:2em}[_nghost-%COMP%] .overlay-message[_ngcontent-%COMP%] .overlay-popup{cursor:pointer;font-weight:600;text-align:center;color:var(--dialog-text-color);padding:0;-webkit-user-select:none;user-select:none}']}),n})(),_x=(()=>{class n{constructor(t,r,i,s,o){this.layoutService=t,this.storage=r,this.translate=i,this.meta=s,this.app=o,this.loading=!0,this.updateName(),this.loadLayouts(),this.registerWindowListeners()}loadLayouts(){this.layoutService.get().then(()=>{this.loading=!1}).catch(t=>{console.error(t)})}registerWindowListeners(){window.addEventListener("beforeunload",()=>{this.app.game.isRunning()&&this.app.game.pause()},!1),window.addEventListener("blur",()=>{this.app.game.isRunning()&&this.app.game.pause()},!1)}updateName(){const t=this.meta.getTag("name=application-name");this.app.name=t?t.content:this.app.name}}return n.\u0275fac=function(t){return new(t||n)(V(sa),V(Ls),V(Ci),V(Lv),V(Rs))},n.\u0275cmp=Ot({type:n,selectors:[["app-root"]],decls:1,vars:3,consts:[[3,"hidden"]],template:function(t,r){1&t&&ge(0,"app-game-component",0),2&t&&(Kd(r.app.settings.theme),k("hidden",r.loading))},dependencies:[mx],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}"]}),n})();const ue=!1;function FC(n){return new I(3e3,ue)}function Xx(){return typeof window<"u"&&typeof window.document<"u"}function Mh(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function zr(n){switch(n.length){case 0:return new aa;case 1:return n[0];default:return new MC(n)}}function BC(n,e,t,r,i=new Map,s=new Map){const o=[],a=[];let l=-1,u=null;if(r.forEach(c=>{const d=c.get("offset"),h=d==l,g=h&&u||new Map;c.forEach((m,y)=>{let w=y,C=m;if("offset"!==y)switch(w=e.normalizePropertyName(w,o),C){case"!":C=i.get(y);break;case Er:C=s.get(y);break;default:C=e.normalizeStyleValue(y,w,C,o)}g.set(w,C)}),h||a.push(g),u=g,l=d}),o.length)throw function Vx(n){return new I(3502,ue)}();return a}function Oh(n,e,t,r){switch(e){case"start":n.onStart(()=>r(t&&Ph(t,"start",n)));break;case"done":n.onDone(()=>r(t&&Ph(t,"done",n)));break;case"destroy":n.onDestroy(()=>r(t&&Ph(t,"destroy",n)))}}function Ph(n,e,t){const s=Ih(n.element,n.triggerName,n.fromState,n.toState,e||n.phaseName,t.totalTime??n.totalTime,!!t.disabled),o=n._data;return null!=o&&(s._data=o),s}function Ih(n,e,t,r,i="",s=0,o){return{element:n,triggerName:e,fromState:t,toState:r,phaseName:i,totalTime:s,disabled:!!o}}function Kt(n,e,t){let r=n.get(e);return r||n.set(e,r=t),r}function HC(n){const e=n.indexOf(":");return[n.substring(1,e),n.slice(e+1)]}let Ah=(n,e)=>!1,VC=(n,e,t)=>[],jC=null;function Nh(n){const e=n.parentNode||n.host;return e===jC?null:e}(Mh()||typeof Element<"u")&&(Xx()?(jC=(()=>document.documentElement)(),Ah=(n,e)=>{for(;e;){if(e===n)return!0;e=Nh(e)}return!1}):Ah=(n,e)=>n.contains(e),VC=(n,e,t)=>{if(t)return Array.from(n.querySelectorAll(e));const r=n.querySelector(e);return r?[r]:[]});let Di=null,UC=!1;const GC=Ah,$C=VC;let zC=(()=>{class n{validateStyleProperty(t){return function eL(n){Di||(Di=function tL(){return typeof document<"u"?document.body:null}()||{},UC=!!Di.style&&"WebkitAppearance"in Di.style);let e=!0;return Di.style&&!function Zx(n){return"ebkit"==n.substring(1,6)}(n)&&(e=n in Di.style,!e&&UC&&(e="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in Di.style)),e}(t)}matchesElement(t,r){return!1}containsElement(t,r){return GC(t,r)}getParentElement(t){return Nh(t)}query(t,r,i){return $C(t,r,i)}computeStyle(t,r,i){return i||""}animate(t,r,i,s,o,a=[],l){return new aa(i,s)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),xh=(()=>{class n{}return n.NOOP=new zC,n})();const Lh="ng-enter",yu="ng-leave",Eu="ng-trigger",vu=".ng-trigger",qC="ng-animating",Rh=".ng-animating";function Wr(n){if("number"==typeof n)return n;const e=n.match(/^(-?[\.\d]+)(m?s)/);return!e||e.length<2?0:kh(parseFloat(e[1]),e[2])}function kh(n,e){return"s"===e?1e3*n:n}function Cu(n,e,t){return n.hasOwnProperty("duration")?n:function iL(n,e,t){let i,s=0,o="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return e.push(FC()),{duration:0,delay:0,easing:""};i=kh(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(s=kh(parseFloat(l),a[4]));const u=a[5];u&&(o=u)}else i=n;if(!t){let a=!1,l=e.length;i<0&&(e.push(function yx(){return new I(3100,ue)}()),a=!0),s<0&&(e.push(function Ex(){return new I(3101,ue)}()),a=!0),a&&e.splice(l,0,FC())}return{duration:i,delay:s,easing:o}}(n,e,t)}function ua(n,e={}){return Object.keys(n).forEach(t=>{e[t]=n[t]}),e}function KC(n){const e=new Map;return Object.keys(n).forEach(t=>{e.set(t,n[t])}),e}function qr(n,e=new Map,t){if(t)for(let[r,i]of t)e.set(r,i);for(let[r,i]of n)e.set(r,i);return e}function JC(n,e,t){return t?e+":"+t+";":""}function QC(n){let e="";for(let t=0;t<n.style.length;t++){const r=n.style.item(t);e+=JC(0,r,n.style.getPropertyValue(r))}for(const t in n.style)n.style.hasOwnProperty(t)&&!t.startsWith("_")&&(e+=JC(0,lL(t),n.style[t]));n.setAttribute("style",e)}function er(n,e,t){n.style&&(e.forEach((r,i)=>{const s=Bh(i);t&&!t.has(i)&&t.set(i,n.style[s]),n.style[s]=r}),Mh()&&QC(n))}function wi(n,e){n.style&&(e.forEach((t,r)=>{const i=Bh(r);n.style[i]=""}),Mh()&&QC(n))}function ca(n){return Array.isArray(n)?1==n.length?n[0]:wC(n):n}const Fh=new RegExp("{{\\s*(.+?)\\s*}}","g");function XC(n){let e=[];if("string"==typeof n){let t;for(;t=Fh.exec(n);)e.push(t[1]);Fh.lastIndex=0}return e}function Du(n,e,t){const r=n.toString(),i=r.replace(Fh,(s,o)=>{let a=e[o];return null==a&&(t.push(function Cx(n){return new I(3003,ue)}()),a=""),a.toString()});return i==r?n:i}function wu(n){const e=[];let t=n.next();for(;!t.done;)e.push(t.value),t=n.next();return e}const aL=/-+([a-z0-9])/g;function Bh(n){return n.replace(aL,(...e)=>e[1].toUpperCase())}function lL(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Yt(n,e,t){switch(e.type){case 7:return n.visitTrigger(e,t);case 0:return n.visitState(e,t);case 1:return n.visitTransition(e,t);case 2:return n.visitSequence(e,t);case 3:return n.visitGroup(e,t);case 4:return n.visitAnimate(e,t);case 5:return n.visitKeyframes(e,t);case 6:return n.visitStyle(e,t);case 8:return n.visitReference(e,t);case 9:return n.visitAnimateChild(e,t);case 10:return n.visitAnimateRef(e,t);case 11:return n.visitQuery(e,t);case 12:return n.visitStagger(e,t);default:throw function Dx(n){return new I(3004,ue)}()}}function ZC(n,e){return window.getComputedStyle(n)[e]}function pL(n,e){const t=[];return"string"==typeof n?n.split(/\s*,\s*/).forEach(r=>function gL(n,e,t){if(":"==n[0]){const l=function mL(n,e){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(t,r)=>parseFloat(r)>parseFloat(t);case":decrement":return(t,r)=>parseFloat(r)<parseFloat(t);default:return e.push(function kx(n){return new I(3016,ue)}()),"* => *"}}(n,t);if("function"==typeof l)return void e.push(l);n=l}const r=n.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==r||r.length<4)return t.push(function Rx(n){return new I(3015,ue)}()),e;const i=r[1],s=r[2],o=r[3];e.push(eD(i,o));"<"==s[0]&&!("*"==i&&"*"==o)&&e.push(eD(o,i))}(r,t,e)):t.push(n),t}const Mu=new Set(["true","1"]),Ou=new Set(["false","0"]);function eD(n,e){const t=Mu.has(n)||Ou.has(n),r=Mu.has(e)||Ou.has(e);return(i,s)=>{let o="*"==n||n==i,a="*"==e||e==s;return!o&&t&&"boolean"==typeof i&&(o=i?Mu.has(n):Ou.has(n)),!a&&r&&"boolean"==typeof s&&(a=s?Mu.has(e):Ou.has(e)),o&&a}}const _L=new RegExp("s*:selfs*,?","g");function Hh(n,e,t,r){return new yL(n).build(e,t,r)}class yL{constructor(e){this._driver=e}build(e,t,r){const i=new CL(t);return this._resetContextStyleTimingState(i),Yt(this,ca(e),i)}_resetContextStyleTimingState(e){e.currentQuerySelector="",e.collectedStyles=new Map,e.collectedStyles.set("",new Map),e.currentTime=0}visitTrigger(e,t){let r=t.queryCount=0,i=t.depCount=0;const s=[],o=[];return"@"==e.name.charAt(0)&&t.errors.push(function Sx(){return new I(3006,ue)}()),e.definitions.forEach(a=>{if(this._resetContextStyleTimingState(t),0==a.type){const l=a,u=l.name;u.toString().split(/\s*,\s*/).forEach(c=>{l.name=c,s.push(this.visitState(l,t))}),l.name=u}else if(1==a.type){const l=this.visitTransition(a,t);r+=l.queryCount,i+=l.depCount,o.push(l)}else t.errors.push(function bx(){return new I(3007,ue)}())}),{type:7,name:e.name,states:s,transitions:o,queryCount:r,depCount:i,options:null}}visitState(e,t){const r=this.visitStyle(e.styles,t),i=e.options&&e.options.params||null;if(r.containsDynamicStyles){const s=new Set,o=i||{};r.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{XC(l).forEach(u=>{o.hasOwnProperty(u)||s.add(u)})})}),s.size&&(wu(s.values()),t.errors.push(function Tx(n,e){return new I(3008,ue)}()))}return{type:0,name:e.name,style:r,options:i?{params:i}:null}}visitTransition(e,t){t.queryCount=0,t.depCount=0;const r=Yt(this,ca(e.animation),t);return{type:1,matchers:pL(e.expr,t.errors),animation:r,queryCount:t.queryCount,depCount:t.depCount,options:Si(e.options)}}visitSequence(e,t){return{type:2,steps:e.steps.map(r=>Yt(this,r,t)),options:Si(e.options)}}visitGroup(e,t){const r=t.currentTime;let i=0;const s=e.steps.map(o=>{t.currentTime=r;const a=Yt(this,o,t);return i=Math.max(i,t.currentTime),a});return t.currentTime=i,{type:3,steps:s,options:Si(e.options)}}visitAnimate(e,t){const r=function wL(n,e){if(n.hasOwnProperty("duration"))return n;if("number"==typeof n)return Vh(Cu(n,e).duration,0,"");const t=n;if(t.split(/\s+/).some(s=>"{"==s.charAt(0)&&"{"==s.charAt(1))){const s=Vh(0,0,"");return s.dynamic=!0,s.strValue=t,s}const i=Cu(t,e);return Vh(i.duration,i.delay,i.easing)}(e.timings,t.errors);t.currentAnimateTimings=r;let i,s=e.styles?e.styles:hu({});if(5==s.type)i=this.visitKeyframes(s,t);else{let o=e.styles,a=!1;if(!o){a=!0;const u={};r.easing&&(u.easing=r.easing),o=hu(u)}t.currentTime+=r.duration+r.delay;const l=this.visitStyle(o,t);l.isEmptyStep=a,i=l}return t.currentAnimateTimings=null,{type:4,timings:r,style:i,options:null}}visitStyle(e,t){const r=this._makeStyleAst(e,t);return this._validateStyleAst(r,t),r}_makeStyleAst(e,t){const r=[],i=Array.isArray(e.styles)?e.styles:[e.styles];for(let a of i)"string"==typeof a?a===Er?r.push(a):t.errors.push(new I(3002,ue)):r.push(KC(a));let s=!1,o=null;return r.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(o=a.get("easing"),a.delete("easing")),!s))for(let l of a.values())if(l.toString().indexOf("{{")>=0){s=!0;break}}),{type:6,styles:r,easing:o,offset:e.offset,containsDynamicStyles:s,options:null}}_validateStyleAst(e,t){const r=t.currentAnimateTimings;let i=t.currentTime,s=t.currentTime;r&&s>0&&(s-=r.duration+r.delay),e.styles.forEach(o=>{"string"!=typeof o&&o.forEach((a,l)=>{const u=t.collectedStyles.get(t.currentQuerySelector),c=u.get(l);let d=!0;c&&(s!=i&&s>=c.startTime&&i<=c.endTime&&(t.errors.push(function Ox(n,e,t,r,i){return new I(3010,ue)}()),d=!1),s=c.startTime),d&&u.set(l,{startTime:s,endTime:i}),t.options&&function oL(n,e,t){const r=e.params||{},i=XC(n);i.length&&i.forEach(s=>{r.hasOwnProperty(s)||t.push(function vx(n){return new I(3001,ue)}())})}(a,t.options,t.errors)})})}visitKeyframes(e,t){const r={type:5,styles:[],options:null};if(!t.currentAnimateTimings)return t.errors.push(function Px(){return new I(3011,ue)}()),r;let s=0;const o=[];let a=!1,l=!1,u=0;const c=e.steps.map(C=>{const O=this._makeStyleAst(C,t);let D=null!=O.offset?O.offset:function DL(n){if("string"==typeof n)return null;let e=null;if(Array.isArray(n))n.forEach(t=>{if(t instanceof Map&&t.has("offset")){const r=t;e=parseFloat(r.get("offset")),r.delete("offset")}});else if(n instanceof Map&&n.has("offset")){const t=n;e=parseFloat(t.get("offset")),t.delete("offset")}return e}(O.styles),P=0;return null!=D&&(s++,P=O.offset=D),l=l||P<0||P>1,a=a||P<u,u=P,o.push(P),O});l&&t.errors.push(function Ix(){return new I(3012,ue)}()),a&&t.errors.push(function Ax(){return new I(3200,ue)}());const d=e.steps.length;let h=0;s>0&&s<d?t.errors.push(function Nx(){return new I(3202,ue)}()):0==s&&(h=1/(d-1));const g=d-1,m=t.currentTime,y=t.currentAnimateTimings,w=y.duration;return c.forEach((C,O)=>{const D=h>0?O==g?1:h*O:o[O],P=D*w;t.currentTime=m+y.delay+P,y.duration=P,this._validateStyleAst(C,t),C.offset=D,r.styles.push(C)}),r}visitReference(e,t){return{type:8,animation:Yt(this,ca(e.animation),t),options:Si(e.options)}}visitAnimateChild(e,t){return t.depCount++,{type:9,options:Si(e.options)}}visitAnimateRef(e,t){return{type:10,animation:this.visitReference(e.animation,t),options:Si(e.options)}}visitQuery(e,t){const r=t.currentQuerySelector,i=e.options||{};t.queryCount++,t.currentQuery=e;const[s,o]=function EL(n){const e=!!n.split(/\s*,\s*/).find(t=>":self"==t);return e&&(n=n.replace(_L,"")),n=n.replace(/@\*/g,vu).replace(/@\w+/g,t=>vu+"-"+t.slice(1)).replace(/:animating/g,Rh),[n,e]}(e.selector);t.currentQuerySelector=r.length?r+" "+s:s,Kt(t.collectedStyles,t.currentQuerySelector,new Map);const a=Yt(this,ca(e.animation),t);return t.currentQuery=null,t.currentQuerySelector=r,{type:11,selector:s,limit:i.limit||0,optional:!!i.optional,includeSelf:o,animation:a,originalSelector:e.selector,options:Si(e.options)}}visitStagger(e,t){t.currentQuery||t.errors.push(function xx(){return new I(3013,ue)}());const r="full"===e.timings?{duration:0,delay:0,easing:"full"}:Cu(e.timings,t.errors,!0);return{type:12,animation:Yt(this,ca(e.animation),t),timings:r,options:null}}}class CL{constructor(e){this.errors=e,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set,this.nonAnimatableCSSPropertiesFound=new Set}}function Si(n){return n?(n=ua(n)).params&&(n.params=function vL(n){return n?ua(n):null}(n.params)):n={},n}function Vh(n,e,t){return{duration:n,delay:e,easing:t}}function jh(n,e,t,r,i,s,o=null,a=!1){return{type:1,element:n,keyframes:e,preStyleProps:t,postStyleProps:r,duration:i,delay:s,totalTime:i+s,easing:o,subTimeline:a}}class Pu{constructor(){this._map=new Map}get(e){return this._map.get(e)||[]}append(e,t){let r=this._map.get(e);r||this._map.set(e,r=[]),r.push(...t)}has(e){return this._map.has(e)}clear(){this._map.clear()}}const TL=new RegExp(":enter","g"),OL=new RegExp(":leave","g");function Uh(n,e,t,r,i,s=new Map,o=new Map,a,l,u=[]){return(new PL).buildKeyframes(n,e,t,r,i,s,o,a,l,u)}class PL{buildKeyframes(e,t,r,i,s,o,a,l,u,c=[]){u=u||new Pu;const d=new Gh(e,t,u,i,s,c,[]);d.options=l;const h=l.delay?Wr(l.delay):0;d.currentTimeline.delayNextStep(h),d.currentTimeline.setStyles([o],null,d.errors,l),Yt(this,r,d);const g=d.timelines.filter(m=>m.containsAnimation());if(g.length&&a.size){let m;for(let y=g.length-1;y>=0;y--){const w=g[y];if(w.element===t){m=w;break}}m&&!m.allowOnlyTimelineStyles()&&m.setStyles([a],null,d.errors,l)}return g.length?g.map(m=>m.buildKeyframes()):[jh(t,[],[],[],0,h,"",!1)]}visitTrigger(e,t){}visitState(e,t){}visitTransition(e,t){}visitAnimateChild(e,t){const r=t.subInstructions.get(t.element);if(r){const i=t.createSubContext(e.options),s=t.currentTimeline.currentTime,o=this._visitSubInstructions(r,i,i.options);s!=o&&t.transformIntoNewTimeline(o)}t.previousNode=e}visitAnimateRef(e,t){const r=t.createSubContext(e.options);r.transformIntoNewTimeline(),this.visitReference(e.animation,r),t.transformIntoNewTimeline(r.currentTimeline.currentTime),t.previousNode=e}_visitSubInstructions(e,t,r){let s=t.currentTimeline.currentTime;const o=null!=r.duration?Wr(r.duration):null,a=null!=r.delay?Wr(r.delay):null;return 0!==o&&e.forEach(l=>{const u=t.appendInstructionToTimeline(l,o,a);s=Math.max(s,u.duration+u.delay)}),s}visitReference(e,t){t.updateOptions(e.options,!0),Yt(this,e.animation,t),t.previousNode=e}visitSequence(e,t){const r=t.subContextCount;let i=t;const s=e.options;if(s&&(s.params||s.delay)&&(i=t.createSubContext(s),i.transformIntoNewTimeline(),null!=s.delay)){6==i.previousNode.type&&(i.currentTimeline.snapshotCurrentStyles(),i.previousNode=Iu);const o=Wr(s.delay);i.delayNextStep(o)}e.steps.length&&(e.steps.forEach(o=>Yt(this,o,i)),i.currentTimeline.applyStylesToKeyframe(),i.subContextCount>r&&i.transformIntoNewTimeline()),t.previousNode=e}visitGroup(e,t){const r=[];let i=t.currentTimeline.currentTime;const s=e.options&&e.options.delay?Wr(e.options.delay):0;e.steps.forEach(o=>{const a=t.createSubContext(e.options);s&&a.delayNextStep(s),Yt(this,o,a),i=Math.max(i,a.currentTimeline.currentTime),r.push(a.currentTimeline)}),r.forEach(o=>t.currentTimeline.mergeTimelineCollectedStyles(o)),t.transformIntoNewTimeline(i),t.previousNode=e}_visitTiming(e,t){if(e.dynamic){const r=e.strValue;return Cu(t.params?Du(r,t.params,t.errors):r,t.errors)}return{duration:e.duration,delay:e.delay,easing:e.easing}}visitAnimate(e,t){const r=t.currentAnimateTimings=this._visitTiming(e.timings,t),i=t.currentTimeline;r.delay&&(t.incrementTime(r.delay),i.snapshotCurrentStyles());const s=e.style;5==s.type?this.visitKeyframes(s,t):(t.incrementTime(r.duration),this.visitStyle(s,t),i.applyStylesToKeyframe()),t.currentAnimateTimings=null,t.previousNode=e}visitStyle(e,t){const r=t.currentTimeline,i=t.currentAnimateTimings;!i&&r.hasCurrentStyleProperties()&&r.forwardFrame();const s=i&&i.easing||e.easing;e.isEmptyStep?r.applyEmptyStep(s):r.setStyles(e.styles,s,t.errors,t.options),t.previousNode=e}visitKeyframes(e,t){const r=t.currentAnimateTimings,i=t.currentTimeline.duration,s=r.duration,a=t.createSubContext().currentTimeline;a.easing=r.easing,e.styles.forEach(l=>{a.forwardTime((l.offset||0)*s),a.setStyles(l.styles,l.easing,t.errors,t.options),a.applyStylesToKeyframe()}),t.currentTimeline.mergeTimelineCollectedStyles(a),t.transformIntoNewTimeline(i+s),t.previousNode=e}visitQuery(e,t){const r=t.currentTimeline.currentTime,i=e.options||{},s=i.delay?Wr(i.delay):0;s&&(6===t.previousNode.type||0==r&&t.currentTimeline.hasCurrentStyleProperties())&&(t.currentTimeline.snapshotCurrentStyles(),t.previousNode=Iu);let o=r;const a=t.invokeQuery(e.selector,e.originalSelector,e.limit,e.includeSelf,!!i.optional,t.errors);t.currentQueryTotal=a.length;let l=null;a.forEach((u,c)=>{t.currentQueryIndex=c;const d=t.createSubContext(e.options,u);s&&d.delayNextStep(s),u===t.element&&(l=d.currentTimeline),Yt(this,e.animation,d),d.currentTimeline.applyStylesToKeyframe(),o=Math.max(o,d.currentTimeline.currentTime)}),t.currentQueryIndex=0,t.currentQueryTotal=0,t.transformIntoNewTimeline(o),l&&(t.currentTimeline.mergeTimelineCollectedStyles(l),t.currentTimeline.snapshotCurrentStyles()),t.previousNode=e}visitStagger(e,t){const r=t.parentContext,i=t.currentTimeline,s=e.timings,o=Math.abs(s.duration),a=o*(t.currentQueryTotal-1);let l=o*t.currentQueryIndex;switch(s.duration<0?"reverse":s.easing){case"reverse":l=a-l;break;case"full":l=r.currentStaggerTime}const c=t.currentTimeline;l&&c.delayNextStep(l);const d=c.currentTime;Yt(this,e.animation,t),t.previousNode=e,r.currentStaggerTime=i.currentTime-d+(i.startTime-r.currentTimeline.startTime)}}const Iu={};class Gh{constructor(e,t,r,i,s,o,a,l){this._driver=e,this.element=t,this.subInstructions=r,this._enterClassName=i,this._leaveClassName=s,this.errors=o,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Iu,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Au(this._driver,t,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(e,t){if(!e)return;const r=e;let i=this.options;null!=r.duration&&(i.duration=Wr(r.duration)),null!=r.delay&&(i.delay=Wr(r.delay));const s=r.params;if(s){let o=i.params;o||(o=this.options.params={}),Object.keys(s).forEach(a=>{(!t||!o.hasOwnProperty(a))&&(o[a]=Du(s[a],o,this.errors))})}}_copyOptions(){const e={};if(this.options){const t=this.options.params;if(t){const r=e.params={};Object.keys(t).forEach(i=>{r[i]=t[i]})}}return e}createSubContext(e=null,t,r){const i=t||this.element,s=new Gh(this._driver,i,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(i,r||0));return s.previousNode=this.previousNode,s.currentAnimateTimings=this.currentAnimateTimings,s.options=this._copyOptions(),s.updateOptions(e),s.currentQueryIndex=this.currentQueryIndex,s.currentQueryTotal=this.currentQueryTotal,s.parentContext=this,this.subContextCount++,s}transformIntoNewTimeline(e){return this.previousNode=Iu,this.currentTimeline=this.currentTimeline.fork(this.element,e),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(e,t,r){const i={duration:t??e.duration,delay:this.currentTimeline.currentTime+(r??0)+e.delay,easing:""},s=new IL(this._driver,e.element,e.keyframes,e.preStyleProps,e.postStyleProps,i,e.stretchStartingKeyframe);return this.timelines.push(s),i}incrementTime(e){this.currentTimeline.forwardTime(this.currentTimeline.duration+e)}delayNextStep(e){e>0&&this.currentTimeline.delayNextStep(e)}invokeQuery(e,t,r,i,s,o){let a=[];if(i&&a.push(this.element),e.length>0){e=(e=e.replace(TL,"."+this._enterClassName)).replace(OL,"."+this._leaveClassName);let u=this._driver.query(this.element,e,1!=r);0!==r&&(u=r<0?u.slice(u.length+r,u.length):u.slice(0,r)),a.push(...u)}return!s&&0==a.length&&o.push(function Lx(n){return new I(3014,ue)}()),a}}class Au{constructor(e,t,r,i){this._driver=e,this.element=t,this.startTime=r,this._elementTimelineStylesLookup=i,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(t),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(t,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(e){const t=1===this._keyframes.size&&this._pendingStyles.size;this.duration||t?(this.forwardTime(this.currentTime+e),t&&this.snapshotCurrentStyles()):this.startTime+=e}fork(e,t){return this.applyStylesToKeyframe(),new Au(this._driver,e,t||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(e){this.applyStylesToKeyframe(),this.duration=e,this._loadKeyframe()}_updateStyle(e,t){this._localTimelineStyles.set(e,t),this._globalTimelineStyles.set(e,t),this._styleSummary.set(e,{time:this.currentTime,value:t})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(e){e&&this._previousKeyframe.set("easing",e);for(let[t,r]of this._globalTimelineStyles)this._backFill.set(t,r||Er),this._currentKeyframe.set(t,Er);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(e,t,r,i){t&&this._previousKeyframe.set("easing",t);const s=i&&i.params||{},o=function AL(n,e){const t=new Map;let r;return n.forEach(i=>{if("*"===i){r=r||e.keys();for(let s of r)t.set(s,Er)}else qr(i,t)}),t}(e,this._globalTimelineStyles);for(let[a,l]of o){const u=Du(l,s,r);this._pendingStyles.set(a,u),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)||Er),this._updateStyle(a,u)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((e,t)=>{this._currentKeyframe.set(t,e)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((e,t)=>{this._currentKeyframe.has(t)||this._currentKeyframe.set(t,e)}))}snapshotCurrentStyles(){for(let[e,t]of this._localTimelineStyles)this._pendingStyles.set(e,t),this._updateStyle(e,t)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const e=[];for(let t in this._currentKeyframe)e.push(t);return e}mergeTimelineCollectedStyles(e){e._styleSummary.forEach((t,r)=>{const i=this._styleSummary.get(r);(!i||t.time>i.time)&&this._updateStyle(r,t.value)})}buildKeyframes(){this.applyStylesToKeyframe();const e=new Set,t=new Set,r=1===this._keyframes.size&&0===this.duration;let i=[];this._keyframes.forEach((a,l)=>{const u=qr(a,new Map,this._backFill);u.forEach((c,d)=>{"!"===c?e.add(d):c===Er&&t.add(d)}),r||u.set("offset",l/this.duration),i.push(u)});const s=e.size?wu(e.values()):[],o=t.size?wu(t.values()):[];if(r){const a=i[0],l=new Map(a);a.set("offset",0),l.set("offset",1),i=[a,l]}return jh(this.element,i,s,o,this.duration,this.startTime,this.easing,!1)}}class IL extends Au{constructor(e,t,r,i,s,o,a=!1){super(e,t,o.delay),this.keyframes=r,this.preStyleProps=i,this.postStyleProps=s,this._stretchStartingKeyframe=a,this.timings={duration:o.duration,delay:o.delay,easing:o.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let e=this.keyframes,{delay:t,duration:r,easing:i}=this.timings;if(this._stretchStartingKeyframe&&t){const s=[],o=r+t,a=t/o,l=qr(e[0]);l.set("offset",0),s.push(l);const u=qr(e[0]);u.set("offset",rD(a)),s.push(u);const c=e.length-1;for(let d=1;d<=c;d++){let h=qr(e[d]);const g=h.get("offset");h.set("offset",rD((t+g*r)/o)),s.push(h)}r=o,t=0,i="",e=s}return jh(this.element,e,this.preStyleProps,this.postStyleProps,r,t,i,!0)}}function rD(n,e=3){const t=Math.pow(10,e-1);return Math.round(n*t)/t}class $h{}const NL=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class xL extends $h{normalizePropertyName(e,t){return Bh(e)}normalizeStyleValue(e,t,r,i){let s="";const o=r.toString().trim();if(NL.has(t)&&0!==r&&"0"!==r)if("number"==typeof r)s="px";else{const a=r.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&i.push(function wx(n,e){return new I(3005,ue)}())}return o+s}}function iD(n,e,t,r,i,s,o,a,l,u,c,d,h){return{type:0,element:n,triggerName:e,isRemovalTransition:i,fromState:t,fromStyles:s,toState:r,toStyles:o,timelines:a,queriedElements:l,preStyleProps:u,postStyleProps:c,totalTime:d,errors:h}}const zh={};class sD{constructor(e,t,r){this._triggerName=e,this.ast=t,this._stateStyles=r}match(e,t,r,i){return function LL(n,e,t,r,i){return n.some(s=>s(e,t,r,i))}(this.ast.matchers,e,t,r,i)}buildStyles(e,t,r){let i=this._stateStyles.get("*");return void 0!==e&&(i=this._stateStyles.get(e?.toString())||i),i?i.buildStyles(t,r):new Map}build(e,t,r,i,s,o,a,l,u,c){const d=[],h=this.ast.options&&this.ast.options.params||zh,m=this.buildStyles(r,a&&a.params||zh,d),y=l&&l.params||zh,w=this.buildStyles(i,y,d),C=new Set,O=new Map,D=new Map,P="void"===i,Z={params:RL(y,h),delay:this.ast.options?.delay},ce=c?[]:Uh(e,t,this.ast.animation,s,o,m,w,Z,u,d);let Ie=0;if(ce.forEach(Qt=>{Ie=Math.max(Qt.duration+Qt.delay,Ie)}),d.length)return iD(t,this._triggerName,r,i,P,m,w,[],[],O,D,Ie,d);ce.forEach(Qt=>{const Xt=Qt.element,Fs=Kt(O,Xt,new Set);Qt.preStyleProps.forEach(kn=>Fs.add(kn));const vr=Kt(D,Xt,new Set);Qt.postStyleProps.forEach(kn=>vr.add(kn)),Xt!==t&&C.add(Xt)});const Jt=wu(C.values());return iD(t,this._triggerName,r,i,P,m,w,ce,Jt,O,D,Ie)}}function RL(n,e){const t=ua(e);for(const r in n)n.hasOwnProperty(r)&&null!=n[r]&&(t[r]=n[r]);return t}class kL{constructor(e,t,r){this.styles=e,this.defaultParams=t,this.normalizer=r}buildStyles(e,t){const r=new Map,i=ua(this.defaultParams);return Object.keys(e).forEach(s=>{const o=e[s];null!==o&&(i[s]=o)}),this.styles.styles.forEach(s=>{"string"!=typeof s&&s.forEach((o,a)=>{o&&(o=Du(o,i,t));const l=this.normalizer.normalizePropertyName(a,t);o=this.normalizer.normalizeStyleValue(a,l,o,t),r.set(l,o)})}),r}}class BL{constructor(e,t,r){this.name=e,this.ast=t,this._normalizer=r,this.transitionFactories=[],this.states=new Map,t.states.forEach(i=>{this.states.set(i.name,new kL(i.style,i.options&&i.options.params||{},r))}),oD(this.states,"true","1"),oD(this.states,"false","0"),t.transitions.forEach(i=>{this.transitionFactories.push(new sD(e,i,this.states))}),this.fallbackTransition=function HL(n,e,t){return new sD(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(o,a)=>!0],options:null,queryCount:0,depCount:0},e)}(e,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(e,t,r,i){return this.transitionFactories.find(o=>o.match(e,t,r,i))||null}matchStyles(e,t,r){return this.fallbackTransition.buildStyles(e,t,r)}}function oD(n,e,t){n.has(e)?n.has(t)||n.set(t,n.get(e)):n.has(t)&&n.set(e,n.get(t))}const VL=new Pu;class jL{constructor(e,t,r){this.bodyNode=e,this._driver=t,this._normalizer=r,this._animations=new Map,this._playersById=new Map,this.players=[]}register(e,t){const r=[],s=Hh(this._driver,t,r,[]);if(r.length)throw function jx(n){return new I(3503,ue)}();this._animations.set(e,s)}_buildPlayer(e,t,r){const i=e.element,s=BC(0,this._normalizer,0,e.keyframes,t,r);return this._driver.animate(i,s,e.duration,e.delay,e.easing,[],!0)}create(e,t,r={}){const i=[],s=this._animations.get(e);let o;const a=new Map;if(s?(o=Uh(this._driver,t,s,Lh,yu,new Map,new Map,r,VL,i),o.forEach(c=>{const d=Kt(a,c.element,new Map);c.postStyleProps.forEach(h=>d.set(h,null))})):(i.push(function Ux(){return new I(3300,ue)}()),o=[]),i.length)throw function Gx(n){return new I(3504,ue)}();a.forEach((c,d)=>{c.forEach((h,g)=>{c.set(g,this._driver.computeStyle(d,g,Er))})});const u=zr(o.map(c=>{const d=a.get(c.element);return this._buildPlayer(c,new Map,d)}));return this._playersById.set(e,u),u.onDestroy(()=>this.destroy(e)),this.players.push(u),u}destroy(e){const t=this._getPlayer(e);t.destroy(),this._playersById.delete(e);const r=this.players.indexOf(t);r>=0&&this.players.splice(r,1)}_getPlayer(e){const t=this._playersById.get(e);if(!t)throw function $x(n){return new I(3301,ue)}();return t}listen(e,t,r,i){const s=Ih(t,"","","");return Oh(this._getPlayer(e),r,s,i),()=>{}}command(e,t,r,i){if("register"==r)return void this.register(e,i[0]);if("create"==r)return void this.create(e,t,i[0]||{});const s=this._getPlayer(e);switch(r){case"play":s.play();break;case"pause":s.pause();break;case"reset":s.reset();break;case"restart":s.restart();break;case"finish":s.finish();break;case"init":s.init();break;case"setPosition":s.setPosition(parseFloat(i[0]));break;case"destroy":this.destroy(e)}}}const aD="ng-animate-queued",Wh="ng-animate-disabled",WL=[],lD={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},qL={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},gn="__ng_removed";class qh{constructor(e,t=""){this.namespaceId=t;const r=e&&e.hasOwnProperty("value");if(this.value=function QL(n){return n??null}(r?e.value:e),r){const s=ua(e);delete s.value,this.options=s}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(e){const t=e.params;if(t){const r=this.options.params;Object.keys(t).forEach(i=>{null==r[i]&&(r[i]=t[i])})}}}const da="void",Kh=new qh(da);class KL{constructor(e,t,r){this.id=e,this.hostElement=t,this._engine=r,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+e,mn(t,this._hostClassName)}listen(e,t,r,i){if(!this._triggers.has(t))throw function zx(n,e){return new I(3302,ue)}();if(null==r||0==r.length)throw function Wx(n){return new I(3303,ue)}();if(!function XL(n){return"start"==n||"done"==n}(r))throw function qx(n,e){return new I(3400,ue)}();const s=Kt(this._elementListeners,e,[]),o={name:t,phase:r,callback:i};s.push(o);const a=Kt(this._engine.statesByElement,e,new Map);return a.has(t)||(mn(e,Eu),mn(e,Eu+"-"+t),a.set(t,Kh)),()=>{this._engine.afterFlush(()=>{const l=s.indexOf(o);l>=0&&s.splice(l,1),this._triggers.has(t)||a.delete(t)})}}register(e,t){return!this._triggers.has(e)&&(this._triggers.set(e,t),!0)}_getTrigger(e){const t=this._triggers.get(e);if(!t)throw function Kx(n){return new I(3401,ue)}();return t}trigger(e,t,r,i=!0){const s=this._getTrigger(t),o=new Yh(this.id,t,e);let a=this._engine.statesByElement.get(e);a||(mn(e,Eu),mn(e,Eu+"-"+t),this._engine.statesByElement.set(e,a=new Map));let l=a.get(t);const u=new qh(r,this.id);if(!(r&&r.hasOwnProperty("value"))&&l&&u.absorbOptions(l.options),a.set(t,u),l||(l=Kh),u.value!==da&&l.value===u.value){if(!function tR(n,e){const t=Object.keys(n),r=Object.keys(e);if(t.length!=r.length)return!1;for(let i=0;i<t.length;i++){const s=t[i];if(!e.hasOwnProperty(s)||n[s]!==e[s])return!1}return!0}(l.params,u.params)){const y=[],w=s.matchStyles(l.value,l.params,y),C=s.matchStyles(u.value,u.params,y);y.length?this._engine.reportError(y):this._engine.afterFlush(()=>{wi(e,w),er(e,C)})}return}const h=Kt(this._engine.playersByElement,e,[]);h.forEach(y=>{y.namespaceId==this.id&&y.triggerName==t&&y.queued&&y.destroy()});let g=s.matchTransition(l.value,u.value,e,u.params),m=!1;if(!g){if(!i)return;g=s.fallbackTransition,m=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:t,transition:g,fromState:l,toState:u,player:o,isFallbackTransition:m}),m||(mn(e,aD),o.onStart(()=>{ks(e,aD)})),o.onDone(()=>{let y=this.players.indexOf(o);y>=0&&this.players.splice(y,1);const w=this._engine.playersByElement.get(e);if(w){let C=w.indexOf(o);C>=0&&w.splice(C,1)}}),this.players.push(o),h.push(o),o}deregister(e){this._triggers.delete(e),this._engine.statesByElement.forEach(t=>t.delete(e)),this._elementListeners.forEach((t,r)=>{this._elementListeners.set(r,t.filter(i=>i.name!=e))})}clearElementCache(e){this._engine.statesByElement.delete(e),this._elementListeners.delete(e);const t=this._engine.playersByElement.get(e);t&&(t.forEach(r=>r.destroy()),this._engine.playersByElement.delete(e))}_signalRemovalForInnerTriggers(e,t){const r=this._engine.driver.query(e,vu,!0);r.forEach(i=>{if(i[gn])return;const s=this._engine.fetchNamespacesByElement(i);s.size?s.forEach(o=>o.triggerLeaveAnimation(i,t,!1,!0)):this.clearElementCache(i)}),this._engine.afterFlushAnimationsDone(()=>r.forEach(i=>this.clearElementCache(i)))}triggerLeaveAnimation(e,t,r,i){const s=this._engine.statesByElement.get(e),o=new Map;if(s){const a=[];if(s.forEach((l,u)=>{if(o.set(u,l.value),this._triggers.has(u)){const c=this.trigger(e,u,da,i);c&&a.push(c)}}),a.length)return this._engine.markElementAsRemoved(this.id,e,!0,t,o),r&&zr(a).onDone(()=>this._engine.processLeaveNode(e)),!0}return!1}prepareLeaveAnimationListeners(e){const t=this._elementListeners.get(e),r=this._engine.statesByElement.get(e);if(t&&r){const i=new Set;t.forEach(s=>{const o=s.name;if(i.has(o))return;i.add(o);const l=this._triggers.get(o).fallbackTransition,u=r.get(o)||Kh,c=new qh(da),d=new Yh(this.id,o,e);this._engine.totalQueuedPlayers++,this._queue.push({element:e,triggerName:o,transition:l,fromState:u,toState:c,player:d,isFallbackTransition:!0})})}}removeNode(e,t){const r=this._engine;if(e.childElementCount&&this._signalRemovalForInnerTriggers(e,t),this.triggerLeaveAnimation(e,t,!0))return;let i=!1;if(r.totalAnimations){const s=r.players.length?r.playersByQueriedElement.get(e):[];if(s&&s.length)i=!0;else{let o=e;for(;o=o.parentNode;)if(r.statesByElement.get(o)){i=!0;break}}}if(this.prepareLeaveAnimationListeners(e),i)r.markElementAsRemoved(this.id,e,!1,t);else{const s=e[gn];(!s||s===lD)&&(r.afterFlush(()=>this.clearElementCache(e)),r.destroyInnerAnimations(e),r._onRemovalComplete(e,t))}}insertNode(e,t){mn(e,this._hostClassName)}drainQueuedTransitions(e){const t=[];return this._queue.forEach(r=>{const i=r.player;if(i.destroyed)return;const s=r.element,o=this._elementListeners.get(s);o&&o.forEach(a=>{if(a.name==r.triggerName){const l=Ih(s,r.triggerName,r.fromState.value,r.toState.value);l._data=e,Oh(r.player,a.phase,l,a.callback)}}),i.markedForDestroy?this._engine.afterFlush(()=>{i.destroy()}):t.push(r)}),this._queue=[],t.sort((r,i)=>{const s=r.transition.ast.depCount,o=i.transition.ast.depCount;return 0==s||0==o?s-o:this._engine.driver.containsElement(r.element,i.element)?1:-1})}destroy(e){this.players.forEach(t=>t.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,e)}elementContainsData(e){let t=!1;return this._elementListeners.has(e)&&(t=!0),t=!!this._queue.find(r=>r.element===e)||t,t}}class YL{constructor(e,t,r){this.bodyNode=e,this.driver=t,this._normalizer=r,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(i,s)=>{}}_onRemovalComplete(e,t){this.onRemovalComplete(e,t)}get queuedPlayers(){const e=[];return this._namespaceList.forEach(t=>{t.players.forEach(r=>{r.queued&&e.push(r)})}),e}createNamespace(e,t){const r=new KL(e,t,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,t)?this._balanceNamespaceList(r,t):(this.newHostElements.set(t,r),this.collectEnterElement(t)),this._namespaceLookup[e]=r}_balanceNamespaceList(e,t){const r=this._namespaceList,i=this.namespacesByHostElement;if(r.length-1>=0){let o=!1,a=this.driver.getParentElement(t);for(;a;){const l=i.get(a);if(l){const u=r.indexOf(l);r.splice(u+1,0,e),o=!0;break}a=this.driver.getParentElement(a)}o||r.unshift(e)}else r.push(e);return i.set(t,e),e}register(e,t){let r=this._namespaceLookup[e];return r||(r=this.createNamespace(e,t)),r}registerTrigger(e,t,r){let i=this._namespaceLookup[e];i&&i.register(t,r)&&this.totalAnimations++}destroy(e,t){if(!e)return;const r=this._fetchNamespace(e);this.afterFlush(()=>{this.namespacesByHostElement.delete(r.hostElement),delete this._namespaceLookup[e];const i=this._namespaceList.indexOf(r);i>=0&&this._namespaceList.splice(i,1)}),this.afterFlushAnimationsDone(()=>r.destroy(t))}_fetchNamespace(e){return this._namespaceLookup[e]}fetchNamespacesByElement(e){const t=new Set,r=this.statesByElement.get(e);if(r)for(let i of r.values())if(i.namespaceId){const s=this._fetchNamespace(i.namespaceId);s&&t.add(s)}return t}trigger(e,t,r,i){if(Nu(t)){const s=this._fetchNamespace(e);if(s)return s.trigger(t,r,i),!0}return!1}insertNode(e,t,r,i){if(!Nu(t))return;const s=t[gn];if(s&&s.setForRemoval){s.setForRemoval=!1,s.setForMove=!0;const o=this.collectedLeaveElements.indexOf(t);o>=0&&this.collectedLeaveElements.splice(o,1)}if(e){const o=this._fetchNamespace(e);o&&o.insertNode(t,r)}i&&this.collectEnterElement(t)}collectEnterElement(e){this.collectedEnterElements.push(e)}markElementAsDisabled(e,t){t?this.disabledNodes.has(e)||(this.disabledNodes.add(e),mn(e,Wh)):this.disabledNodes.has(e)&&(this.disabledNodes.delete(e),ks(e,Wh))}removeNode(e,t,r,i){if(Nu(t)){const s=e?this._fetchNamespace(e):null;if(s?s.removeNode(t,i):this.markElementAsRemoved(e,t,!1,i),r){const o=this.namespacesByHostElement.get(t);o&&o.id!==e&&o.removeNode(t,i)}}else this._onRemovalComplete(t,i)}markElementAsRemoved(e,t,r,i,s){this.collectedLeaveElements.push(t),t[gn]={namespaceId:e,setForRemoval:i,hasAnimation:r,removedBeforeQueried:!1,previousTriggersValues:s}}listen(e,t,r,i,s){return Nu(t)?this._fetchNamespace(e).listen(t,r,i,s):()=>{}}_buildInstruction(e,t,r,i,s){return e.transition.build(this.driver,e.element,e.fromState.value,e.toState.value,r,i,e.fromState.options,e.toState.options,t,s)}destroyInnerAnimations(e){let t=this.driver.query(e,vu,!0);t.forEach(r=>this.destroyActiveAnimationsForElement(r)),0!=this.playersByQueriedElement.size&&(t=this.driver.query(e,Rh,!0),t.forEach(r=>this.finishActiveQueriedAnimationOnElement(r)))}destroyActiveAnimationsForElement(e){const t=this.playersByElement.get(e);t&&t.forEach(r=>{r.queued?r.markedForDestroy=!0:r.destroy()})}finishActiveQueriedAnimationOnElement(e){const t=this.playersByQueriedElement.get(e);t&&t.forEach(r=>r.finish())}whenRenderingDone(){return new Promise(e=>{if(this.players.length)return zr(this.players).onDone(()=>e());e()})}processLeaveNode(e){const t=e[gn];if(t&&t.setForRemoval){if(e[gn]=lD,t.namespaceId){this.destroyInnerAnimations(e);const r=this._fetchNamespace(t.namespaceId);r&&r.clearElementCache(e)}this._onRemovalComplete(e,t.setForRemoval)}e.classList?.contains(Wh)&&this.markElementAsDisabled(e,!1),this.driver.query(e,".ng-animate-disabled",!0).forEach(r=>{this.markElementAsDisabled(r,!1)})}flush(e=-1){let t=[];if(this.newHostElements.size&&(this.newHostElements.forEach((r,i)=>this._balanceNamespaceList(r,i)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let r=0;r<this.collectedEnterElements.length;r++)mn(this.collectedEnterElements[r],"ng-star-inserted");if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const r=[];try{t=this._flushAnimations(r,e)}finally{for(let i=0;i<r.length;i++)r[i]()}}else for(let r=0;r<this.collectedLeaveElements.length;r++)this.processLeaveNode(this.collectedLeaveElements[r]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(r=>r()),this._flushFns=[],this._whenQuietFns.length){const r=this._whenQuietFns;this._whenQuietFns=[],t.length?zr(t).onDone(()=>{r.forEach(i=>i())}):r.forEach(i=>i())}}reportError(e){throw function Yx(n){return new I(3402,ue)}()}_flushAnimations(e,t){const r=new Pu,i=[],s=new Map,o=[],a=new Map,l=new Map,u=new Map,c=new Set;this.disabledNodes.forEach(H=>{c.add(H);const j=this.driver.query(H,".ng-animate-queued",!0);for(let q=0;q<j.length;q++)c.add(j[q])});const d=this.bodyNode,h=Array.from(this.statesByElement.keys()),g=dD(h,this.collectedEnterElements),m=new Map;let y=0;g.forEach((H,j)=>{const q=Lh+y++;m.set(j,q),H.forEach(he=>mn(he,q))});const w=[],C=new Set,O=new Set;for(let H=0;H<this.collectedLeaveElements.length;H++){const j=this.collectedLeaveElements[H],q=j[gn];q&&q.setForRemoval&&(w.push(j),C.add(j),q.hasAnimation?this.driver.query(j,".ng-star-inserted",!0).forEach(he=>C.add(he)):O.add(j))}const D=new Map,P=dD(h,Array.from(C));P.forEach((H,j)=>{const q=yu+y++;D.set(j,q),H.forEach(he=>mn(he,q))}),e.push(()=>{g.forEach((H,j)=>{const q=m.get(j);H.forEach(he=>ks(he,q))}),P.forEach((H,j)=>{const q=D.get(j);H.forEach(he=>ks(he,q))}),w.forEach(H=>{this.processLeaveNode(H)})});const Z=[],ce=[];for(let H=this._namespaceList.length-1;H>=0;H--)this._namespaceList[H].drainQueuedTransitions(t).forEach(q=>{const he=q.player,rt=q.element;if(Z.push(he),this.collectedEnterElements.length){const ft=rt[gn];if(ft&&ft.setForMove){if(ft.previousTriggersValues&&ft.previousTriggersValues.has(q.triggerName)){const bi=ft.previousTriggersValues.get(q.triggerName),_n=this.statesByElement.get(q.element);if(_n&&_n.has(q.triggerName)){const Ru=_n.get(q.triggerName);Ru.value=bi,_n.set(q.triggerName,Ru)}}return void he.destroy()}}const tr=!d||!this.driver.containsElement(d,rt),Zt=D.get(rt),Kr=m.get(rt),Ae=this._buildInstruction(q,r,Kr,Zt,tr);if(Ae.errors&&Ae.errors.length)return void ce.push(Ae);if(tr)return he.onStart(()=>wi(rt,Ae.fromStyles)),he.onDestroy(()=>er(rt,Ae.toStyles)),void i.push(he);if(q.isFallbackTransition)return he.onStart(()=>wi(rt,Ae.fromStyles)),he.onDestroy(()=>er(rt,Ae.toStyles)),void i.push(he);const vD=[];Ae.timelines.forEach(ft=>{ft.stretchStartingKeyframe=!0,this.disabledNodes.has(ft.element)||vD.push(ft)}),Ae.timelines=vD,r.append(rt,Ae.timelines),o.push({instruction:Ae,player:he,element:rt}),Ae.queriedElements.forEach(ft=>Kt(a,ft,[]).push(he)),Ae.preStyleProps.forEach((ft,bi)=>{if(ft.size){let _n=l.get(bi);_n||l.set(bi,_n=new Set),ft.forEach((Ru,Qh)=>_n.add(Qh))}}),Ae.postStyleProps.forEach((ft,bi)=>{let _n=u.get(bi);_n||u.set(bi,_n=new Set),ft.forEach((Ru,Qh)=>_n.add(Qh))})});if(ce.length){const H=[];ce.forEach(j=>{H.push(function Jx(n,e){return new I(3505,ue)}())}),Z.forEach(j=>j.destroy()),this.reportError(H)}const Ie=new Map,Jt=new Map;o.forEach(H=>{const j=H.element;r.has(j)&&(Jt.set(j,j),this._beforeAnimationBuild(H.player.namespaceId,H.instruction,Ie))}),i.forEach(H=>{const j=H.element;this._getPreviousPlayers(j,!1,H.namespaceId,H.triggerName,null).forEach(he=>{Kt(Ie,j,[]).push(he),he.destroy()})});const Qt=w.filter(H=>hD(H,l,u)),Xt=new Map;cD(Xt,this.driver,O,u,Er).forEach(H=>{hD(H,l,u)&&Qt.push(H)});const vr=new Map;g.forEach((H,j)=>{cD(vr,this.driver,new Set(H),l,"!")}),Qt.forEach(H=>{const j=Xt.get(H),q=vr.get(H);Xt.set(H,new Map([...Array.from(j?.entries()??[]),...Array.from(q?.entries()??[])]))});const kn=[],Bs=[],Hs={};o.forEach(H=>{const{element:j,player:q,instruction:he}=H;if(r.has(j)){if(c.has(j))return q.onDestroy(()=>er(j,he.toStyles)),q.disabled=!0,q.overrideTotalTime(he.totalTime),void i.push(q);let rt=Hs;if(Jt.size>1){let Zt=j;const Kr=[];for(;Zt=Zt.parentNode;){const Ae=Jt.get(Zt);if(Ae){rt=Ae;break}Kr.push(Zt)}Kr.forEach(Ae=>Jt.set(Ae,rt))}const tr=this._buildAnimation(q.namespaceId,he,Ie,s,vr,Xt);if(q.setRealPlayer(tr),rt===Hs)kn.push(q);else{const Zt=this.playersByElement.get(rt);Zt&&Zt.length&&(q.parentPlayer=zr(Zt)),i.push(q)}}else wi(j,he.fromStyles),q.onDestroy(()=>er(j,he.toStyles)),Bs.push(q),c.has(j)&&i.push(q)}),Bs.forEach(H=>{const j=s.get(H.element);if(j&&j.length){const q=zr(j);H.setRealPlayer(q)}}),i.forEach(H=>{H.parentPlayer?H.syncPlayerEvents(H.parentPlayer):H.destroy()});for(let H=0;H<w.length;H++){const j=w[H],q=j[gn];if(ks(j,yu),q&&q.hasAnimation)continue;let he=[];if(a.size){let tr=a.get(j);tr&&tr.length&&he.push(...tr);let Zt=this.driver.query(j,Rh,!0);for(let Kr=0;Kr<Zt.length;Kr++){let Ae=a.get(Zt[Kr]);Ae&&Ae.length&&he.push(...Ae)}}const rt=he.filter(tr=>!tr.destroyed);rt.length?ZL(this,j,rt):this.processLeaveNode(j)}return w.length=0,kn.forEach(H=>{this.players.push(H),H.onDone(()=>{H.destroy();const j=this.players.indexOf(H);this.players.splice(j,1)}),H.play()}),kn}elementContainsData(e,t){let r=!1;const i=t[gn];return i&&i.setForRemoval&&(r=!0),this.playersByElement.has(t)&&(r=!0),this.playersByQueriedElement.has(t)&&(r=!0),this.statesByElement.has(t)&&(r=!0),this._fetchNamespace(e).elementContainsData(t)||r}afterFlush(e){this._flushFns.push(e)}afterFlushAnimationsDone(e){this._whenQuietFns.push(e)}_getPreviousPlayers(e,t,r,i,s){let o=[];if(t){const a=this.playersByQueriedElement.get(e);a&&(o=a)}else{const a=this.playersByElement.get(e);if(a){const l=!s||s==da;a.forEach(u=>{u.queued||!l&&u.triggerName!=i||o.push(u)})}}return(r||i)&&(o=o.filter(a=>!(r&&r!=a.namespaceId||i&&i!=a.triggerName))),o}_beforeAnimationBuild(e,t,r){const s=t.element,o=t.isRemovalTransition?void 0:e,a=t.isRemovalTransition?void 0:t.triggerName;for(const l of t.timelines){const u=l.element,c=u!==s,d=Kt(r,u,[]);this._getPreviousPlayers(u,c,o,a,t.toState).forEach(g=>{const m=g.getRealPlayer();m.beforeDestroy&&m.beforeDestroy(),g.destroy(),d.push(g)})}wi(s,t.fromStyles)}_buildAnimation(e,t,r,i,s,o){const a=t.triggerName,l=t.element,u=[],c=new Set,d=new Set,h=t.timelines.map(m=>{const y=m.element;c.add(y);const w=y[gn];if(w&&w.removedBeforeQueried)return new aa(m.duration,m.delay);const C=y!==l,O=function eR(n){const e=[];return fD(n,e),e}((r.get(y)||WL).map(Ie=>Ie.getRealPlayer())).filter(Ie=>!!Ie.element&&Ie.element===y),D=s.get(y),P=o.get(y),Z=BC(0,this._normalizer,0,m.keyframes,D,P),ce=this._buildPlayer(m,Z,O);if(m.subTimeline&&i&&d.add(y),C){const Ie=new Yh(e,a,y);Ie.setRealPlayer(ce),u.push(Ie)}return ce});u.forEach(m=>{Kt(this.playersByQueriedElement,m.element,[]).push(m),m.onDone(()=>function JL(n,e,t){let r=n.get(e);if(r){if(r.length){const i=r.indexOf(t);r.splice(i,1)}0==r.length&&n.delete(e)}return r}(this.playersByQueriedElement,m.element,m))}),c.forEach(m=>mn(m,qC));const g=zr(h);return g.onDestroy(()=>{c.forEach(m=>ks(m,qC)),er(l,t.toStyles)}),d.forEach(m=>{Kt(i,m,[]).push(g)}),g}_buildPlayer(e,t,r){return t.length>0?this.driver.animate(e.element,t,e.duration,e.delay,e.easing,r):new aa(e.duration,e.delay)}}class Yh{constructor(e,t,r){this.namespaceId=e,this.triggerName=t,this.element=r,this._player=new aa,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(e){this._containsRealPlayer||(this._player=e,this._queuedCallbacks.forEach((t,r)=>{t.forEach(i=>Oh(e,r,void 0,i))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(e.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(e){this.totalTime=e}syncPlayerEvents(e){const t=this._player;t.triggerCallback&&e.onStart(()=>t.triggerCallback("start")),e.onDone(()=>this.finish()),e.onDestroy(()=>this.destroy())}_queueEvent(e,t){Kt(this._queuedCallbacks,e,[]).push(t)}onDone(e){this.queued&&this._queueEvent("done",e),this._player.onDone(e)}onStart(e){this.queued&&this._queueEvent("start",e),this._player.onStart(e)}onDestroy(e){this.queued&&this._queueEvent("destroy",e),this._player.onDestroy(e)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(e){this.queued||this._player.setPosition(e)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(e){const t=this._player;t.triggerCallback&&t.triggerCallback(e)}}function Nu(n){return n&&1===n.nodeType}function uD(n,e){const t=n.style.display;return n.style.display=e??"none",t}function cD(n,e,t,r,i){const s=[];t.forEach(l=>s.push(uD(l)));const o=[];r.forEach((l,u)=>{const c=new Map;l.forEach(d=>{const h=e.computeStyle(u,d,i);c.set(d,h),(!h||0==h.length)&&(u[gn]=qL,o.push(u))}),n.set(u,c)});let a=0;return t.forEach(l=>uD(l,s[a++])),o}function dD(n,e){const t=new Map;if(n.forEach(a=>t.set(a,[])),0==e.length)return t;const i=new Set(e),s=new Map;function o(a){if(!a)return 1;let l=s.get(a);if(l)return l;const u=a.parentNode;return l=t.has(u)?u:i.has(u)?1:o(u),s.set(a,l),l}return e.forEach(a=>{const l=o(a);1!==l&&t.get(l).push(a)}),t}function mn(n,e){n.classList?.add(e)}function ks(n,e){n.classList?.remove(e)}function ZL(n,e,t){zr(t).onDone(()=>n.processLeaveNode(e))}function fD(n,e){for(let t=0;t<n.length;t++){const r=n[t];r instanceof MC?fD(r.players,e):e.push(r)}}function hD(n,e,t){const r=t.get(n);if(!r)return!1;let i=e.get(n);return i?r.forEach(s=>i.add(s)):e.set(n,r),t.delete(n),!0}class xu{constructor(e,t,r){this.bodyNode=e,this._driver=t,this._normalizer=r,this._triggerCache={},this.onRemovalComplete=(i,s)=>{},this._transitionEngine=new YL(e,t,r),this._timelineEngine=new jL(e,t,r),this._transitionEngine.onRemovalComplete=(i,s)=>this.onRemovalComplete(i,s)}registerTrigger(e,t,r,i,s){const o=e+"-"+i;let a=this._triggerCache[o];if(!a){const l=[],c=Hh(this._driver,s,l,[]);if(l.length)throw function Hx(n,e){return new I(3404,ue)}();a=function FL(n,e,t){return new BL(n,e,t)}(i,c,this._normalizer),this._triggerCache[o]=a}this._transitionEngine.registerTrigger(t,i,a)}register(e,t){this._transitionEngine.register(e,t)}destroy(e,t){this._transitionEngine.destroy(e,t)}onInsert(e,t,r,i){this._transitionEngine.insertNode(e,t,r,i)}onRemove(e,t,r,i){this._transitionEngine.removeNode(e,t,i||!1,r)}disableAnimations(e,t){this._transitionEngine.markElementAsDisabled(e,t)}process(e,t,r,i){if("@"==r.charAt(0)){const[s,o]=HC(r);this._timelineEngine.command(s,t,o,i)}else this._transitionEngine.trigger(e,t,r,i)}listen(e,t,r,i,s){if("@"==r.charAt(0)){const[o,a]=HC(r);return this._timelineEngine.listen(o,t,a,s)}return this._transitionEngine.listen(e,t,r,i,s)}flush(e=-1){this._transitionEngine.flush(e)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let rR=(()=>{class n{constructor(t,r,i){this._element=t,this._startStyles=r,this._endStyles=i,this._state=0;let s=n.initialStylesByElement.get(t);s||n.initialStylesByElement.set(t,s=new Map),this._initialStyles=s}start(){this._state<1&&(this._startStyles&&er(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(er(this._element,this._initialStyles),this._endStyles&&(er(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(wi(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(wi(this._element,this._endStyles),this._endStyles=null),er(this._element,this._initialStyles),this._state=3)}}return n.initialStylesByElement=new WeakMap,n})();function Jh(n){let e=null;return n.forEach((t,r)=>{(function iR(n){return"display"===n||"position"===n})(r)&&(e=e||new Map,e.set(r,t))}),e}class pD{constructor(e,t,r,i){this.element=e,this.keyframes=t,this.options=r,this._specialStyles=i,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=r.duration,this._delay=r.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(e=>e()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const e=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=e.length?e[e.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(e){const t=[];return e.forEach(r=>{t.push(Object.fromEntries(r))}),t}_triggerWebAnimation(e,t,r){return e.animate(this._convertKeyframesToObject(t),r)}onStart(e){this._onStartFns.push(e)}onDone(e){this._onDoneFns.push(e)}onDestroy(e){this._onDestroyFns.push(e)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(e=>e()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(e=>e()),this._onDestroyFns=[])}setPosition(e){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=e*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const e=new Map;this.hasStarted()&&this._finalKeyframe.forEach((r,i)=>{"offset"!==i&&e.set(i,this._finished?r:ZC(this.element,i))}),this.currentSnapshot=e}triggerCallback(e){const t="start"===e?this._onStartFns:this._onDoneFns;t.forEach(r=>r()),t.length=0}}class sR{validateStyleProperty(e){return!0}validateAnimatableStyleProperty(e){return!0}matchesElement(e,t){return!1}containsElement(e,t){return GC(e,t)}getParentElement(e){return Nh(e)}query(e,t,r){return $C(e,t,r)}computeStyle(e,t,r){return window.getComputedStyle(e)[t]}animate(e,t,r,i,s,o=[]){const l={duration:r,delay:i,fill:0==i?"both":"forwards"};s&&(l.easing=s);const u=new Map,c=o.filter(g=>g instanceof pD);(function uL(n,e){return 0===n||0===e})(r,i)&&c.forEach(g=>{g.currentSnapshot.forEach((m,y)=>u.set(y,m))});let d=function sL(n){return n.length?n[0]instanceof Map?n:n.map(e=>KC(e)):[]}(t).map(g=>qr(g));d=function cL(n,e,t){if(t.size&&e.length){let r=e[0],i=[];if(t.forEach((s,o)=>{r.has(o)||i.push(o),r.set(o,s)}),i.length)for(let s=1;s<e.length;s++){let o=e[s];i.forEach(a=>o.set(a,ZC(n,a)))}}return e}(e,d,u);const h=function nR(n,e){let t=null,r=null;return Array.isArray(e)&&e.length?(t=Jh(e[0]),e.length>1&&(r=Jh(e[e.length-1]))):e instanceof Map&&(t=Jh(e)),t||r?new rR(n,t,r):null}(e,d);return new pD(e,d,l,h)}}let oR=(()=>{class n extends CC{constructor(t,r){super(),this._nextAnimationId=0,this._renderer=t.createRenderer(r.body,{id:"0",encapsulation:Sn.None,styles:[],data:{animation:[]}})}build(t){const r=this._nextAnimationId.toString();this._nextAnimationId++;const i=Array.isArray(t)?wC(t):t;return gD(this._renderer,null,r,"register",[i]),new aR(r,this._renderer)}}return n.\u0275fac=function(t){return new(t||n)(A(Bo),A(Qe))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class aR extends class sN{}{constructor(e,t){super(),this._id=e,this._renderer=t}create(e,t){return new lR(this._id,e,t||{},this._renderer)}}class lR{constructor(e,t,r,i){this.id=e,this.element=t,this._renderer=i,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",r)}_listen(e,t){return this._renderer.listen(this.element,`@@${this.id}:${e}`,t)}_command(e,...t){return gD(this._renderer,this.element,this.id,e,t)}onDone(e){this._listen("done",e)}onStart(e){this._listen("start",e)}onDestroy(e){this._listen("destroy",e)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(e){this._command("setPosition",e)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function gD(n,e,t,r,i){return n.setProperty(e,`@@${t}:${r}`,i)}const mD="@.disabled";let uR=(()=>{class n{constructor(t,r,i){this.delegate=t,this.engine=r,this._zone=i,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),r.onRemovalComplete=(s,o)=>{const a=o?.parentNode(s);a&&o.removeChild(a,s)}}createRenderer(t,r){const s=this.delegate.createRenderer(t,r);if(!(t&&r&&r.data&&r.data.animation)){let c=this._rendererCache.get(s);return c||(c=new _D("",s,this.engine),this._rendererCache.set(s,c)),c}const o=r.id,a=r.id+"-"+this._currentId;this._currentId++,this.engine.register(a,t);const l=c=>{Array.isArray(c)?c.forEach(l):this.engine.registerTrigger(o,a,t,c.name,c)};return r.data.animation.forEach(l),new cR(this,a,s,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(t,r,i){t>=0&&t<this._microtaskId?this._zone.run(()=>r(i)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(s=>{const[o,a]=s;o(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([r,i]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(t){return new(t||n)(A(Bo),A(xu),A(Je))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})();class _D{constructor(e,t,r){this.namespaceId=e,this.delegate=t,this.engine=r,this.destroyNode=this.delegate.destroyNode?i=>t.destroyNode(i):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(e,t){return this.delegate.createElement(e,t)}createComment(e){return this.delegate.createComment(e)}createText(e){return this.delegate.createText(e)}appendChild(e,t){this.delegate.appendChild(e,t),this.engine.onInsert(this.namespaceId,t,e,!1)}insertBefore(e,t,r,i=!0){this.delegate.insertBefore(e,t,r),this.engine.onInsert(this.namespaceId,t,e,i)}removeChild(e,t,r){this.engine.onRemove(this.namespaceId,t,this.delegate,r)}selectRootElement(e,t){return this.delegate.selectRootElement(e,t)}parentNode(e){return this.delegate.parentNode(e)}nextSibling(e){return this.delegate.nextSibling(e)}setAttribute(e,t,r,i){this.delegate.setAttribute(e,t,r,i)}removeAttribute(e,t,r){this.delegate.removeAttribute(e,t,r)}addClass(e,t){this.delegate.addClass(e,t)}removeClass(e,t){this.delegate.removeClass(e,t)}setStyle(e,t,r,i){this.delegate.setStyle(e,t,r,i)}removeStyle(e,t,r){this.delegate.removeStyle(e,t,r)}setProperty(e,t,r){"@"==t.charAt(0)&&t==mD?this.disableAnimations(e,!!r):this.delegate.setProperty(e,t,r)}setValue(e,t){this.delegate.setValue(e,t)}listen(e,t,r){return this.delegate.listen(e,t,r)}disableAnimations(e,t){this.engine.disableAnimations(e,t)}}class cR extends _D{constructor(e,t,r,i){super(t,r,i),this.factory=e,this.namespaceId=t}setProperty(e,t,r){"@"==t.charAt(0)?"."==t.charAt(1)&&t==mD?this.disableAnimations(e,r=void 0===r||!!r):this.engine.process(this.namespaceId,e,t.slice(1),r):this.delegate.setProperty(e,t,r)}listen(e,t,r){if("@"==t.charAt(0)){const i=function dR(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(e);let s=t.slice(1),o="";return"@"!=s.charAt(0)&&([s,o]=function fR(n){const e=n.indexOf(".");return[n.substring(0,e),n.slice(e+1)]}(s)),this.engine.listen(this.namespaceId,i,s,o,a=>{this.factory.scheduleListenerCallback(a._data||-1,r,a)})}return this.delegate.listen(e,t,r)}}const yD=[{provide:CC,useClass:oR},{provide:$h,useFactory:function pR(){return new xL}},{provide:xu,useClass:(()=>{class n extends xu{constructor(t,r,i){super(t.body,r,i)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(t){return new(t||n)(A(Qe),A(xh),A($h))},n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})()},{provide:Bo,useFactory:function gR(n,e,t){return new uR(n,e,t)},deps:[Xl,xu,Je]}],ED=[{provide:xh,useFactory:()=>new sR},{provide:OE,useValue:"BrowserAnimations"},...yD],mR=[{provide:xh,useClass:zC},{provide:OE,useValue:"NoopAnimations"},...yD];let _R=(()=>{class n{static withConfig(t){return{ngModule:n,providers:t.disableAnimations?mR:ED}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:ED,imports:[xv]}),n})(),yR=(()=>{class n{static forRoot(){return{ngModule:n}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:[Sh],imports:[qf]}),n})(),ER=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n}),n.\u0275inj=Ft({providers:[],imports:[qf,_R,uC,yR.forRoot()]}),n})(),vR=(()=>{class n extends Bv{constructor(){super(...arguments),this.overrides={pan:{enable:!0,direction:Hammer.DIRECTION_ALL,threshold:15},pinch:{enable:!0},press:{enable:!1},rotate:{enable:!1},swipe:{enable:!1},tap:{enable:!1}}}}return n.\u0275fac=function(){let e;return function(r){return(e||(e=co(n)))(r||n)}}(),n.\u0275prov=U({token:n,factory:n.\u0275fac}),n})(),CR=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=sn({type:n,bootstrap:[_x]}),n.\u0275inj=Ft({providers:[Rs,sa,vC,OC,{provide:Zl,useClass:vR}],imports:[xv,c1,KA,ER,uC.forRoot(),ta.modules]}),n})();it(386),ta.production&&function bP(){GE=!1}(),RA().bootstrapModule(CR).catch(n=>{console.error(n)})},386:(Ti,Vs,it)=>{var Ee;!function(et,Mi,js,Ce){"use strict";var St,Us=["","webkit","Moz","MS","ms","o"],fa=Mi.createElement("div"),wt=Math.round,en=Math.abs,Oi=Date.now;function Pi(f,p,_){return setTimeout(Yr(f,_),p)}function Cr(f,p,_){return!!Array.isArray(f)&&(yn(f,_[p],_),!0)}function yn(f,p,_){var E;if(f)if(f.forEach)f.forEach(p,_);else if(f.length!==Ce)for(E=0;E<f.length;)p.call(_,f[E],E,f),E++;else for(E in f)f.hasOwnProperty(E)&&p.call(_,f[E],E,f)}function pa(f,p,_){var E="DEPRECATED METHOD: "+p+"\n"+_+" AT \n";return function(){var T=new Error("get-stack-trace"),B=T&&T.stack?T.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",ae=et.console&&(et.console.warn||et.console.log);return ae&&ae.call(et.console,E,B),f.apply(this,arguments)}}St="function"!=typeof Object.assign?function(p){if(p===Ce||null===p)throw new TypeError("Cannot convert undefined or null to object");for(var _=Object(p),E=1;E<arguments.length;E++){var T=arguments[E];if(T!==Ce&&null!==T)for(var B in T)T.hasOwnProperty(B)&&(_[B]=T[B])}return _}:Object.assign;var Fn=pa(function(p,_,E){for(var T=Object.keys(_),B=0;B<T.length;)(!E||E&&p[T[B]]===Ce)&&(p[T[B]]=_[T[B]]),B++;return p},"extend","Use `assign`."),Ii=pa(function(p,_){return Fn(p,_,!0)},"merge","Use `assign`.");function ht(f,p,_){var T,E=p.prototype;(T=f.prototype=Object.create(E)).constructor=f,T._super=E,_&&St(T,_)}function Yr(f,p){return function(){return f.apply(p,arguments)}}function Gs(f,p){return"function"==typeof f?f.apply(p&&p[0]||Ce,p):f}function Ai(f,p){return f===Ce?p:f}function Ni(f,p,_){yn(Dr(p),function(E){f.addEventListener(E,_,!1)})}function Bn(f,p,_){yn(Dr(p),function(E){f.removeEventListener(E,_,!1)})}function Jr(f,p){for(;f;){if(f==p)return!0;f=f.parentNode}return!1}function nr(f,p){return f.indexOf(p)>-1}function Dr(f){return f.trim().split(/\s+/g)}function wr(f,p,_){if(f.indexOf&&!_)return f.indexOf(p);for(var E=0;E<f.length;){if(_&&f[E][_]==p||!_&&f[E]===p)return E;E++}return-1}function Sr(f){return Array.prototype.slice.call(f,0)}function $s(f,p,_){for(var E=[],T=[],B=0;B<f.length;){var ae=p?f[B][p]:f[B];wr(T,ae)<0&&E.push(f[B]),T[B]=ae,B++}return _&&(E=p?E.sort(function(tt,ot){return tt[p]>ot[p]}):E.sort()),E}function zs(f,p){for(var _,E,T=p[0].toUpperCase()+p.slice(1),B=0;B<Us.length;){if((E=(_=Us[B])?_+T:p)in f)return E;B++}return Ce}var ga=1;function Ws(f){var p=f.ownerDocument||f;return p.defaultView||p.parentWindow||et}var ma="ontouchstart"in et,Fu=zs(et,"PointerEvent")!==Ce,Qr=ma&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),br="touch",bt="mouse",Ks=["x","y"],ki=["clientX","clientY"];function Nt(f,p){var _=this;this.manager=f,this.callback=p,this.element=f.element,this.target=f.options.inputTarget,this.domHandler=function(E){Gs(f.options.enable,[f])&&_.handler(E)},this.init()}function Zh(f,p,_){var E=_.pointers.length,T=_.changedPointers.length,B=1&p&&E-T==0,ae=12&p&&E-T==0;_.isFirst=!!B,_.isFinal=!!ae,B&&(f.session={}),_.eventType=p,function rr(f,p){var _=f.session,E=p.pointers,T=E.length;_.firstInput||(_.firstInput=_a(p)),T>1&&!_.firstMultiple?_.firstMultiple=_a(p):1===T&&(_.firstMultiple=!1);var B=_.firstInput,ae=_.firstMultiple,ze=ae?ae.center:B.center,tt=p.center=Uu(E);p.timeStamp=Oi(),p.deltaTime=p.timeStamp-B.timeStamp,p.angle=Ea(ze,tt),p.distance=Ys(ze,tt),function ju(f,p){var _=p.center,E=f.offsetDelta||{},T=f.prevDelta||{},B=f.prevInput||{};(1===p.eventType||4===B.eventType)&&(T=f.prevDelta={x:B.deltaX||0,y:B.deltaY||0},E=f.offsetDelta={x:_.x,y:_.y}),p.deltaX=T.x+(_.x-E.x),p.deltaY=T.y+(_.y-E.y)}(_,p),p.offsetDirection=Gu(p.deltaX,p.deltaY);var ot=ya(p.deltaTime,p.deltaX,p.deltaY);p.overallVelocityX=ot.x,p.overallVelocityY=ot.y,p.overallVelocity=en(ot.x)>en(ot.y)?ot.x:ot.y,p.scale=ae?function np(f,p){return Ys(p[0],p[1],ki)/Ys(f[0],f[1],ki)}(ae.pointers,E):1,p.rotation=ae?function tp(f,p){return Ea(p[1],p[0],ki)+Ea(f[1],f[0],ki)}(ae.pointers,E):0,p.maxPointers=_.prevInput?p.pointers.length>_.prevInput.maxPointers?p.pointers.length:_.prevInput.maxPointers:p.pointers.length,function ep(f,p){var T,B,ae,ze,_=f.lastInterval||p,E=p.timeStamp-_.timeStamp;if(8!=p.eventType&&(E>25||_.velocity===Ce)){var tt=p.deltaX-_.deltaX,ot=p.deltaY-_.deltaY,Dn=ya(E,tt,ot);B=Dn.x,ae=Dn.y,T=en(Dn.x)>en(Dn.y)?Dn.x:Dn.y,ze=Gu(tt,ot),f.lastInterval=p}else T=_.velocity,B=_.velocityX,ae=_.velocityY,ze=_.direction;p.velocity=T,p.velocityX=B,p.velocityY=ae,p.direction=ze}(_,p);var Dn=f.element;Jr(p.srcEvent.target,Dn)&&(Dn=p.srcEvent.target),p.target=Dn}(f,_),f.emit("hammer.input",_),f.recognize(_),f.session.prevInput=_}function _a(f){for(var p=[],_=0;_<f.pointers.length;)p[_]={clientX:wt(f.pointers[_].clientX),clientY:wt(f.pointers[_].clientY)},_++;return{timeStamp:Oi(),pointers:p,center:Uu(p),deltaX:f.deltaX,deltaY:f.deltaY}}function Uu(f){var p=f.length;if(1===p)return{x:wt(f[0].clientX),y:wt(f[0].clientY)};for(var _=0,E=0,T=0;T<p;)_+=f[T].clientX,E+=f[T].clientY,T++;return{x:wt(_/p),y:wt(E/p)}}function ya(f,p,_){return{x:p/f||0,y:_/f||0}}function Gu(f,p){return f===p?1:en(f)>=en(p)?f<0?2:4:p<0?8:16}function Ys(f,p,_){_||(_=Ks);var E=p[_[0]]-f[_[0]],T=p[_[1]]-f[_[1]];return Math.sqrt(E*E+T*T)}function Ea(f,p,_){return _||(_=Ks),180*Math.atan2(p[_[1]]-f[_[1]],p[_[0]]-f[_[0]])/Math.PI}Nt.prototype={handler:function(){},init:function(){this.evEl&&Ni(this.element,this.evEl,this.domHandler),this.evTarget&&Ni(this.target,this.evTarget,this.domHandler),this.evWin&&Ni(Ws(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Bn(this.element,this.evEl,this.domHandler),this.evTarget&&Bn(this.target,this.evTarget,this.domHandler),this.evWin&&Bn(Ws(this.element),this.evWin,this.domHandler)}};var va={mousedown:1,mousemove:2,mouseup:4},Ca="mousedown",Da="mousemove mouseup";function Zr(){this.evEl=Ca,this.evWin=Da,this.pressed=!1,Nt.apply(this,arguments)}ht(Zr,Nt,{handler:function(p){var _=va[p.type];1&_&&0===p.button&&(this.pressed=!0),2&_&&1!==p.which&&(_=4),this.pressed&&(4&_&&(this.pressed=!1),this.callback(this.manager,_,{pointers:[p],changedPointers:[p],pointerType:bt,srcEvent:p}))}});var wa={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},$u={2:br,3:"pen",4:bt,5:"kinect"},Js="pointerdown",Qs="pointermove pointerup pointercancel";function Fi(){this.evEl=Js,this.evWin=Qs,Nt.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}et.MSPointerEvent&&!et.PointerEvent&&(Js="MSPointerDown",Qs="MSPointerMove MSPointerUp MSPointerCancel"),ht(Fi,Nt,{handler:function(p){var _=this.store,E=!1,T=p.type.toLowerCase().replace("ms",""),B=wa[T],ae=$u[p.pointerType]||p.pointerType,ze=ae==br,tt=wr(_,p.pointerId,"pointerId");1&B&&(0===p.button||ze)?tt<0&&(_.push(p),tt=_.length-1):12&B&&(E=!0),!(tt<0)&&(_[tt]=p,this.callback(this.manager,B,{pointers:_,changedPointers:[p],pointerType:ae,srcEvent:p}),E&&_.splice(tt,1))}});var Sa={touchstart:1,touchmove:2,touchend:4,touchcancel:8},tn="touchstart",zu="touchstart touchmove touchend touchcancel";function ba(){this.evTarget=tn,this.evWin=zu,this.started=!1,Nt.apply(this,arguments)}function Wu(f,p){var _=Sr(f.touches),E=Sr(f.changedTouches);return 12&p&&(_=$s(_.concat(E),"identifier",!0)),[_,E]}ht(ba,Nt,{handler:function(p){var _=Sa[p.type];if(1===_&&(this.started=!0),this.started){var E=Wu.call(this,p,_);12&_&&E[0].length-E[1].length==0&&(this.started=!1),this.callback(this.manager,_,{pointers:E[0],changedPointers:E[1],pointerType:br,srcEvent:p})}}});var qu={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Ta="touchstart touchmove touchend touchcancel";function Bi(){this.evTarget=Ta,this.targetIds={},Nt.apply(this,arguments)}function Ku(f,p){var _=Sr(f.touches),E=this.targetIds;if(3&p&&1===_.length)return E[_[0].identifier]=!0,[_,_];var T,B,ae=Sr(f.changedTouches),ze=[],tt=this.target;if(B=_.filter(function(ot){return Jr(ot.target,tt)}),1===p)for(T=0;T<B.length;)E[B[T].identifier]=!0,T++;for(T=0;T<ae.length;)E[ae[T].identifier]&&ze.push(ae[T]),12&p&&delete E[ae[T].identifier],T++;return ze.length?[$s(B.concat(ze),"identifier",!0),ze]:void 0}function Tr(){Nt.apply(this,arguments);var f=Yr(this.handler,this);this.touch=new Bi(this.manager,f),this.mouse=new Zr(this.manager,f),this.primaryTouch=null,this.lastTouches=[]}function Oa(f,p){1&f?(this.primaryTouch=p.changedPointers[0].identifier,Hi.call(this,p)):12&f&&Hi.call(this,p)}function Hi(f){var p=f.changedPointers[0];if(p.identifier===this.primaryTouch){var _={x:p.clientX,y:p.clientY};this.lastTouches.push(_);var E=this.lastTouches;setTimeout(function(){var B=E.indexOf(_);B>-1&&E.splice(B,1)},2500)}}function rp(f){for(var p=f.srcEvent.clientX,_=f.srcEvent.clientY,E=0;E<this.lastTouches.length;E++){var T=this.lastTouches[E],B=Math.abs(p-T.x),ae=Math.abs(_-T.y);if(B<=25&&ae<=25)return!0}return!1}ht(Bi,Nt,{handler:function(p){var _=qu[p.type],E=Ku.call(this,p,_);!E||this.callback(this.manager,_,{pointers:E[0],changedPointers:E[1],pointerType:br,srcEvent:p})}}),ht(Tr,Nt,{handler:function(p,_,E){var B=E.pointerType==bt;if(!(B&&E.sourceCapabilities&&E.sourceCapabilities.firesTouchEvents)){if(E.pointerType==br)Oa.call(this,_,E);else if(B&&rp.call(this,E))return;this.callback(p,_,E)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Pa=zs(fa.style,"touchAction"),Xs=Pa!==Ce,Vi="compute",ei="manipulation",ir="none",Mr="pan-x",Or="pan-y",ji=function Ju(){if(!Xs)return!1;var f={},p=et.CSS&&et.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(_){f[_]=!p||et.CSS.supports("touch-action",_)}),f}();function Zs(f,p){this.manager=f,this.set(p)}function Rt(f){this.options=St({},this.defaults,f||{}),this.id=function ke(){return ga++}(),this.manager=null,this.options.enable=Ai(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function _e(f){return 16&f?"cancel":8&f?"end":4&f?"move":2&f?"start":""}function Ui(f){return 16==f?"down":8==f?"up":2==f?"left":4==f?"right":""}function pe(f,p){var _=p.manager;return _?_.get(f):f}function pt(){Rt.apply(this,arguments)}function Gi(){pt.apply(this,arguments),this.pX=null,this.pY=null}function ni(){pt.apply(this,arguments)}function G(){Rt.apply(this,arguments),this._timer=null,this._input=null}function ri(){pt.apply(this,arguments)}function Aa(){pt.apply(this,arguments)}function I(){Rt.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function rn(f,p){return(p=p||{}).recognizers=Ai(p.recognizers,rn.defaults.preset),new eo(f,p)}function eo(f,p){this.options=St({},rn.defaults,p||{}),this.options.inputTarget=this.options.inputTarget||f,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=f,this.input=function Xh(f){return new(f.options.inputClass||(Fu?Fi:Qr?Bi:ma?Tr:Zr))(f,Zh)}(this),this.touchAction=new Zs(this,this.options.touchAction),Qu(this,!0),yn(this.options.recognizers,function(_){var E=this.add(new _[0](_[1]));_[2]&&E.recognizeWith(_[2]),_[3]&&E.requireFailure(_[3])},this)}function Qu(f,p){var E,_=f.element;_.style&&(yn(f.options.cssProps,function(T,B){E=zs(_.style,B),p?(f.oldCssProps[E]=_.style[E],_.style[E]=T):_.style[E]=f.oldCssProps[E]||""}),p||(f.oldCssProps={}))}Zs.prototype={set:function(f){f==Vi&&(f=this.compute()),Xs&&this.manager.element.style&&ji[f]&&(this.manager.element.style[Pa]=f),this.actions=f.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var f=[];return yn(this.manager.recognizers,function(p){Gs(p.options.enable,[p])&&(f=f.concat(p.getTouchAction()))}),function Yu(f){if(nr(f,ir))return ir;var p=nr(f,Mr),_=nr(f,Or);return p&&_?ir:p||_?p?Mr:Or:nr(f,ei)?ei:"auto"}(f.join(" "))},preventDefaults:function(f){var p=f.srcEvent,_=f.offsetDirection;if(!this.manager.session.prevented){var E=this.actions,T=nr(E,ir)&&!ji[ir],B=nr(E,Or)&&!ji[Or],ae=nr(E,Mr)&&!ji[Mr];if(T&&1===f.pointers.length&&f.distance<2&&f.deltaTime<250)return;return ae&&B||!(T||B&&6&_||ae&&24&_)?void 0:this.preventSrc(p)}p.preventDefault()},preventSrc:function(f){this.manager.session.prevented=!0,f.preventDefault()}},Rt.prototype={defaults:{},set:function(f){return St(this.options,f),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(f){if(Cr(f,"recognizeWith",this))return this;var p=this.simultaneous;return p[(f=pe(f,this)).id]||(p[f.id]=f,f.recognizeWith(this)),this},dropRecognizeWith:function(f){return Cr(f,"dropRecognizeWith",this)||(f=pe(f,this),delete this.simultaneous[f.id]),this},requireFailure:function(f){if(Cr(f,"requireFailure",this))return this;var p=this.requireFail;return-1===wr(p,f=pe(f,this))&&(p.push(f),f.requireFailure(this)),this},dropRequireFailure:function(f){if(Cr(f,"dropRequireFailure",this))return this;f=pe(f,this);var p=wr(this.requireFail,f);return p>-1&&this.requireFail.splice(p,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(f){return!!this.simultaneous[f.id]},emit:function(f){var p=this,_=this.state;function E(T){p.manager.emit(T,f)}_<8&&E(p.options.event+_e(_)),E(p.options.event),f.additionalEvent&&E(f.additionalEvent),_>=8&&E(p.options.event+_e(_))},tryEmit:function(f){if(this.canEmit())return this.emit(f);this.state=32},canEmit:function(){for(var f=0;f<this.requireFail.length;){if(!(33&this.requireFail[f].state))return!1;f++}return!0},recognize:function(f){var p=St({},f);if(!Gs(this.options.enable,[this,p]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(p),30&this.state&&this.tryEmit(p)},process:function(f){},getTouchAction:function(){},reset:function(){}},ht(pt,Rt,{defaults:{pointers:1},attrTest:function(f){var p=this.options.pointers;return 0===p||f.pointers.length===p},process:function(f){var p=this.state,_=f.eventType,E=6&p,T=this.attrTest(f);return E&&(8&_||!T)?16|p:E||T?4&_?8|p:2&p?4|p:2:32}}),ht(Gi,pt,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var f=this.options.direction,p=[];return 6&f&&p.push(Or),24&f&&p.push(Mr),p},directionTest:function(f){var p=this.options,_=!0,E=f.distance,T=f.direction,B=f.deltaX,ae=f.deltaY;return T&p.direction||(6&p.direction?(T=0===B?1:B<0?2:4,_=B!=this.pX,E=Math.abs(f.deltaX)):(T=0===ae?1:ae<0?8:16,_=ae!=this.pY,E=Math.abs(f.deltaY))),f.direction=T,_&&E>p.threshold&&T&p.direction},attrTest:function(f){return pt.prototype.attrTest.call(this,f)&&(2&this.state||!(2&this.state)&&this.directionTest(f))},emit:function(f){this.pX=f.deltaX,this.pY=f.deltaY;var p=Ui(f.direction);p&&(f.additionalEvent=this.options.event+p),this._super.emit.call(this,f)}}),ht(ni,pt,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[ir]},attrTest:function(f){return this._super.attrTest.call(this,f)&&(Math.abs(f.scale-1)>this.options.threshold||2&this.state)},emit:function(f){1!==f.scale&&(f.additionalEvent=this.options.event+(f.scale<1?"in":"out")),this._super.emit.call(this,f)}}),ht(G,Rt,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(f){var p=this.options,_=f.pointers.length===p.pointers,E=f.distance<p.threshold,T=f.deltaTime>p.time;if(this._input=f,!E||!_||12&f.eventType&&!T)this.reset();else if(1&f.eventType)this.reset(),this._timer=Pi(function(){this.state=8,this.tryEmit()},p.time,this);else if(4&f.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(f){8===this.state&&(f&&4&f.eventType?this.manager.emit(this.options.event+"up",f):(this._input.timeStamp=Oi(),this.manager.emit(this.options.event,this._input)))}}),ht(ri,pt,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[ir]},attrTest:function(f){return this._super.attrTest.call(this,f)&&(Math.abs(f.rotation)>this.options.threshold||2&this.state)}}),ht(Aa,pt,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return Gi.prototype.getTouchAction.call(this)},attrTest:function(f){var _,p=this.options.direction;return 30&p?_=f.overallVelocity:6&p?_=f.overallVelocityX:24&p&&(_=f.overallVelocityY),this._super.attrTest.call(this,f)&&p&f.offsetDirection&&f.distance>this.options.threshold&&f.maxPointers==this.options.pointers&&en(_)>this.options.velocity&&4&f.eventType},emit:function(f){var p=Ui(f.offsetDirection);p&&this.manager.emit(this.options.event+p,f),this.manager.emit(this.options.event,f)}}),ht(I,Rt,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[ei]},process:function(f){var p=this.options,_=f.pointers.length===p.pointers,E=f.distance<p.threshold,T=f.deltaTime<p.time;if(this.reset(),1&f.eventType&&0===this.count)return this.failTimeout();if(E&&T&&_){if(4!=f.eventType)return this.failTimeout();var B=!this.pTime||f.timeStamp-this.pTime<p.interval,ae=!this.pCenter||Ys(this.pCenter,f.center)<p.posThreshold;if(this.pTime=f.timeStamp,this.pCenter=f.center,ae&&B?this.count+=1:this.count=1,this._input=f,0==this.count%p.taps)return this.hasRequireFailures()?(this._timer=Pi(function(){this.state=8,this.tryEmit()},p.interval,this),2):8}return 32},failTimeout:function(){return this._timer=Pi(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),rn.VERSION="2.0.7",rn.defaults={domEvents:!1,touchAction:Vi,enable:!0,inputTarget:null,inputClass:null,preset:[[ri,{enable:!1}],[ni,{enable:!1},["rotate"]],[Aa,{direction:6}],[Gi,{direction:6},["swipe"]],[I],[I,{event:"doubletap",taps:2},["tap"]],[G]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},eo.prototype={set:function(f){return St(this.options,f),f.touchAction&&this.touchAction.update(),f.inputTarget&&(this.input.destroy(),this.input.target=f.inputTarget,this.input.init()),this},stop:function(f){this.session.stopped=f?2:1},recognize:function(f){var p=this.session;if(!p.stopped){this.touchAction.preventDefaults(f);var _,E=this.recognizers,T=p.curRecognizer;(!T||T&&8&T.state)&&(T=p.curRecognizer=null);for(var B=0;B<E.length;)_=E[B],2===p.stopped||T&&_!=T&&!_.canRecognizeWith(T)?_.reset():_.recognize(f),!T&&14&_.state&&(T=p.curRecognizer=_),B++}},get:function(f){if(f instanceof Rt)return f;for(var p=this.recognizers,_=0;_<p.length;_++)if(p[_].options.event==f)return p[_];return null},add:function(f){if(Cr(f,"add",this))return this;var p=this.get(f.options.event);return p&&this.remove(p),this.recognizers.push(f),f.manager=this,this.touchAction.update(),f},remove:function(f){if(Cr(f,"remove",this))return this;if(f=this.get(f)){var p=this.recognizers,_=wr(p,f);-1!==_&&(p.splice(_,1),this.touchAction.update())}return this},on:function(f,p){if(f!==Ce&&p!==Ce){var _=this.handlers;return yn(Dr(f),function(E){_[E]=_[E]||[],_[E].push(p)}),this}},off:function(f,p){if(f!==Ce){var _=this.handlers;return yn(Dr(f),function(E){p?_[E]&&_[E].splice(wr(_[E],p),1):delete _[E]}),this}},emit:function(f,p){this.options.domEvents&&function Xu(f,p){var _=Mi.createEvent("Event");_.initEvent(f,!0,!0),_.gesture=p,p.target.dispatchEvent(_)}(f,p);var _=this.handlers[f]&&this.handlers[f].slice();if(_&&_.length){p.type=f,p.preventDefault=function(){p.srcEvent.preventDefault()};for(var E=0;E<_.length;)_[E](p),E++}},destroy:function(){this.element&&Qu(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},St(rn,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:32,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:24,DIRECTION_ALL:30,Manager:eo,Input:Nt,TouchAction:Zs,TouchInput:Bi,MouseInput:Zr,PointerEventInput:Fi,TouchMouseInput:Tr,SingleTouchInput:ba,Recognizer:Rt,AttrRecognizer:pt,Tap:I,Pan:Gi,Swipe:Aa,Pinch:ni,Rotate:ri,Press:G,on:Ni,off:Bn,each:yn,merge:Ii,extend:Fn,assign:St,inherit:ht,bindFn:Yr,prefixed:zs}),(typeof et<"u"?et:typeof self<"u"?self:{}).Hammer=rn,(Ee=function(){return rn}.call(Vs,it,Vs,Ti))!==Ce&&(Ti.exports=Ee)}(window,document)}},Ti=>{Ti(Ti.s=538)}]);
\ No newline at end of file
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/polyfills.f0d6597c48aab8eb.js
^
|
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkmah=self.webpackChunkmah||[]).push([[429],{443:(ie,Ee,de)=>{de(583)},583:()=>{!function(e){const n=e.performance;function i(M){n&&n.mark&&n.mark(M)}function o(M,E){n&&n.measure&&n.measure(M,E)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(M){return c+M}const T=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(T||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class M{constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"<root>",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=M.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&T)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,M,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=y;C&&t._transitionTo(y,j),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(j,y):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,y,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(j,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new m(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new m(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new m(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");t._transitionTo(G,j,y);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;C<k.length;C++)k[C]._updateTaskCount(t.type,r)}}return M.__symbol__=a,M})();const b={name:"",onHasTask:(M,E,t,r)=>M.hasTask(t,r),onScheduleTask:(M,E,t,r)=>M.scheduleTask(t,r),onInvokeTask:(M,E,t,r,k,C)=>M.invokeTask(t,r,k,C),onCancelTask:(M,E,t,r)=>M.cancelTask(t,r)};class v{constructor(E,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=E,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=E,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(E,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,E,t):new d(E,t)}intercept(E,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,E,t,r):t}invoke(E,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,E,t,r,k,C):t.apply(r,k)}handleError(E,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,E,t)}scheduleTask(E,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,E,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(E,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,E,t,r,k):t.callback.apply(r,k)}cancelTask(E,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,E,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(E,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,E,t)}catch(r){this.handleError(E,r)}}_updateTaskCount(E,t){const r=this._taskCounts,k=r[E],C=r[E]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:E})}}class m{constructor(E,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=E,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=E===Q&&k&&k.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(E,t,r){E||(E=this),ee++;try{return E.runCount++,E.zone.runTask(E,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(E,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${E}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=E,E==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const L=a("setTimeout"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function q(M){if(J||e[Z]&&(J=e[Z].resolve(0)),J){let E=J[N];E||(E=J.then),E.call(J,M)}else e[L](M,0)}function R(M){0===ee&&0===B.length&&q(_),M&&B.push(M)}function _(){if(!H){for(H=!0;B.length;){const M=B;B=[];for(let E=0;E<M.length;E++){const t=M[E];try{t.zone.runTask(t,null,null)}catch(r){z.onUnhandledError(r)}}}z.microtaskDrainDone(),H=!1}}const K={name:"NO ZONE"},x="notScheduled",X="scheduling",j="scheduled",y="running",G="canceling",h="unknown",I="microTask",P="macroTask",Q="eventTask",oe={},z={symbol:a,currentZoneFrame:()=>U,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ie=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Ve=Array.prototype.slice,Oe="addEventListener",Se="removeEventListener",Ze=Zone.__symbol__(Oe),Ne=Zone.__symbol__(Se),ce="true",ae="false",ke=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const A=Zone.__symbol__,Pe=typeof window<"u",Te=Pe?window:void 0,Y=Pe&&Te||"object"==typeof self&&self||global;function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,we=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),je=!we&&!Be&&!(!Pe||!Te.HTMLElement),Ue=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!Te.HTMLElement),Re={},We=function(e){if(!(e=e||Y.event))return;let n=Re[e.type];n||(n=Re[e.type]=A("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;if(je&&i===Te&&"error"===e.type){const a=e;c=o&&o.call(this,a.message,a.filename,a.lineno,a.colno,a.error),!0===c&&e.preventDefault()}else c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function qe(e,n,i){let o=ie(e,n);if(!o&&i&&ie(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=A("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,T=o.set,d=n.substr(2);let b=Re[d];b||(b=Re[d]=A("ON_PROPERTY"+d)),o.set=function(v){let m=this;!m&&e===Y&&(m=Y),m&&("function"==typeof m[b]&&m.removeEventListener(d,We),T&&T.call(m,null),m[b]=v,"function"==typeof v&&m.addEventListener(d,We,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const m=v[b];if(m)return m;if(a){let L=a.call(this);if(L)return o.set.call(this,L),"function"==typeof v.removeAttribute&&v.removeAttribute(n),L}return null},Ee(e,n,o),e[c]=!0}function Xe(e,n,i){if(n)for(let o=0;o<n.length;o++)qe(e,"on"+n[o],i);else{const o=[];for(const c in e)"on"==c.substr(0,2)&&o.push(c);for(let c=0;c<o.length;c++)qe(e,o[c],i)}}const ne=A("originalInstance");function ve(e){const n=Y[e];if(!n)return;Y[A(e)]=n,Y[e]=function(){const c=Le(arguments,e);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ue(Y[e],n);const i=new n(function(){});let o;for(o in i)"XMLHttpRequest"===e&&"responseBlob"===o||function(c){"function"==typeof i[c]?Y[e].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:Ee(Y[e].prototype,c,{set:function(a){"function"==typeof a?(this[ne][c]=Ie(a,e+"."+c),ue(this[ne][c],a)):this[ne][c]=a},get:function(){return this[ne][c]}})}(o);for(o in n)"prototype"!==o&&n.hasOwnProperty(o)&&(Y[e][o]=n[o])}function le(e,n,i){let o=e;for(;o&&!o.hasOwnProperty(n);)o=de(o);!o&&e[n]&&(o=e);const c=A(n);let a=null;if(o&&(!(a=o[c])||!o.hasOwnProperty(c))&&(a=o[c]=o[n],Fe(o&&ie(o,n)))){const d=i(a,c,n);o[n]=function(){return d(this,arguments)},ue(o[n],a)}return a}function lt(e,n,i){let o=null;function c(a){const T=a.data;return T.args[T.cbIdx]=function(){a.invoke.apply(this,arguments)},o.apply(T.target,T.args),a}o=le(e,n,a=>function(T,d){const b=i(T,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(T,d)})}function ue(e,n){e[A("OriginalDelegate")]=n}let ze=!1,Ae=!1;function ft(){if(ze)return Ae;ze=!0;try{const e=Te.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Ae=!0)}catch{}return Ae}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,T=i.symbol,d=[],b=!0===e[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=T("Promise"),m=T("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const Z=T("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[Z];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function J(l){return t.reject(l)}const q=T("state"),R=T("value"),_=T("finally"),K=T("parentPromiseValue"),x=T("parentPromiseState"),j=null,y=!0,G=!1;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const oe=T("currentTaskTrace");function z(l,u,s){const f=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}}();if(l===s)throw new TypeError("Promise resolved with itself");if(l[q]===j){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==j)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===y&&(l[q]=l[x],l[R]=l[K]),u===G&&s instanceof Error){const p=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;p&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(let p=0;p<w.length;)ee(l,w[p++],w[p++],w[p++],w[p++]);if(0==w.length&&u==G){l[q]=0;let p=s;try{throw new Error("Uncaught (in promise): "+function a(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(s)+(s&&s.stack?"\n"+s.stack:""))}catch(D){p=D}b&&(p.throwOriginal=!0),p.rejection=s,p.promise=l,p.zone=n.current,p.task=n.currentTask,d.push(p),i.scheduleMicroTask()}}}return l}const U=T("rejectionHandledHandler");function re(l){if(0===l[q]){try{const u=n[U];u&&"function"==typeof u&&u.call(this,{rejection:l[R],promise:l})}catch{}l[q]=G;for(let u=0;u<d.length;u++)l===d[u].promise&&d.splice(u,1)}}function ee(l,u,s,f,g){re(l);const w=l[q],p=w?"function"==typeof f?f:H:"function"==typeof g?g:J;u.scheduleMicroTask("Promise.then",()=>{try{const D=l[R],O=!!s&&_===s[_];O&&(s[K]=D,s[x]=w);const S=u.run(p,void 0,O&&p!==J&&p!==H?[]:[D]);z(s,!0,S)}catch(D){z(s,!1,D)}},s)}const M=function(){},E=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),y,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new E([],"All promises were rejected"));const s=[];let f=0;try{for(let p of u)f++,s.push(t.resolve(p))}catch{return Promise.reject(new E([],"All promises were rejected"))}if(0===f)return Promise.reject(new E([],"All promises were rejected"));let g=!1;const w=[];return new t((p,D)=>{for(let O=0;O<s.length;O++)s[O].then(S=>{g||(g=!0,p(S))},S=>{w.push(S),f--,0===f&&(g=!0,D(new E(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((D,O)=>{s=D,f=O});function w(D){s(D)}function p(D){f(D)}for(let D of u)B(D)||(D=this.resolve(D)),D.then(w,p);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((S,V)=>{f=S,g=V}),p=2,D=0;const O=[];for(let S of u){B(S)||(S=this.resolve(S));const V=D;try{S.then(F=>{O[V]=s?s.thenCallback(F):F,p--,0===p&&f(O)},F=>{s?(O[V]=s.errorCallback(F),p--,0===p&&f(O)):g(F)})}catch(F){g(F)}p++,D++}return p-=2,0===p&&f(O),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=j,s[R]=[];try{u&&u(I(s,y),I(s,G))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(M),w=n.current;return this[q]==j?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(M);f[_]=_;const g=n.current;return this[q]==j?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=T("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[m]=f,l.prototype.then=function(g,w){return new t((D,O)=>{f.call(this,D,O)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),le(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=A("OriginalDelegate"),o=A("Promise"),c=A("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const m=e[o];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const T=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":T.call(this)}});let ye=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{ye=!1}const ht={useG:!0},te={},Ye={},$e=new RegExp("^"+ke+"(\\w+)(true|false)$"),Ke=A("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ae,o=(n?n(e):e)+ce,c=ke+i,a=ke+o;te[e]={},te[e][ae]=c,te[e][ce]=a}function dt(e,n,i,o){const c=o&&o.add||Oe,a=o&&o.rm||Se,T=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=A(c),v="."+c+":",Z=function(R,_,K){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=y=>x.handleEvent(y),R.originalDelegate=x);try{R.invoke(R,_,[K])}catch(y){X=y}const j=R.options;return j&&"object"==typeof j&&j.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,j),X};function N(R,_,K){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][K?ce:ae]];if(X){const j=[];if(1===X.length){const y=Z(X[0],x,_);y&&j.push(y)}else{const y=X.slice();for(let G=0;G<y.length&&(!_||!0!==_[Ke]);G++){const h=Z(y[G],x,_);h&&j.push(h)}}if(1===j.length)throw j[0];for(let y=0;y<j.length;y++){const G=j[y];n.nativeScheduleMicroTask(()=>{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let j=!1;_&&void 0!==_.rt&&(j=_.rt);let y=R;for(;y&&!y.hasOwnProperty(c);)y=de(y);if(!y&&R[c]&&(y=R),!y||y[b])return!1;const G=_&&_.eventNameToString,h={},I=y[b]=y[c],P=y[A(a)]=y[a],Q=y[A(T)]=y[T],oe=y[A(d)]=y[d];let z;function U(s,f){return!ye&&"object"==typeof s&&s?!!s.capture:ye&&f?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?Object.assign(Object.assign({},s),{passive:!0}):s:{passive:!0}:s}_&&_.prepend&&(z=y[A(_.prepend)]=y[_.prepend]);const t=K?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=K?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let p=0;p<w.length;p++)if(w[p]===s){w.splice(p,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[g]=null);break}}if(s.allRemoved)return P.call(s.target,s.eventName,s.capture?H:B,s.options)}:function(s){return P.call(s.target,s.eventName,s.invoke,s.options)},C=_&&_.diff?_.diff:function(s,f){const g=typeof f;return"function"===g&&s.callback===f||"object"===g&&s.originalDelegate===f},$=Zone[A("UNPATCHED_EVENTS")],l=e[A("PASSIVE_EVENTS")],u=function(s,f,g,w,p=!1,D=!1){return function(){const O=this||e;let S=arguments[0];_&&_.transferEventName&&(S=_.transferEventName(S));let V=arguments[1];if(!V)return s.apply(this,arguments);if(we&&"uncaughtException"===S)return s.apply(this,arguments);let F=!1;if("function"!=typeof V){if(!V.handleEvent)return s.apply(this,arguments);F=!0}if(x&&!x(s,V,O,arguments))return;const fe=ye&&!!l&&-1!==l.indexOf(S),se=U(arguments[2],fe);if($)for(let _e=0;_e<$.length;_e++)if(S===$[_e])return fe?s.call(O,S,V,se):s.apply(this,arguments);const xe=!!se&&("boolean"==typeof se||se.capture),nt=!(!se||"object"!=typeof se)&&se.once,gt=Zone.current;let Ge=te[S];Ge||(Je(S,G),Ge=te[S]);const rt=Ge[xe?ce:ae];let De,pe=O[rt],ot=!1;if(pe){if(ot=!0,X)for(let _e=0;_e<pe.length;_e++)if(C(pe[_e],V))return}else pe=O[rt]=[];const st=O.constructor.name,it=Ye[st];it&&(De=it[S]),De||(De=st+f+(G?G(S):S)),h.options=se,nt&&(h.options.once=!1),h.target=O,h.capture=xe,h.eventName=S,h.isExisting=ot;const be=K?ht:void 0;be&&(be.taskData=h);const he=gt.scheduleEventTask(De,V,be,g,w);return h.target=null,be&&(be.taskData=null),nt&&(se.once=!0),!ye&&"boolean"==typeof he.options||(he.options=se),he.target=O,he.capture=xe,he.eventName=S,F&&(he.originalDelegate=V),D?pe.unshift(he):pe.push(he),p?O:void 0}};return y[c]=u(I,v,t,r,j),z&&(y.prependListener=u(z,".prependListener:",function(s){return z.call(h.target,h.eventName,s.invoke,h.options)},r,j,!0)),y[a]=function(){const s=this||e;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=arguments[2],w=!!g&&("boolean"==typeof g||g.capture),p=arguments[1];if(!p)return P.apply(this,arguments);if(x&&!x(P,p,s,arguments))return;const D=te[f];let O;D&&(O=D[w?ce:ae]);const S=O&&s[O];if(S)for(let V=0;V<S.length;V++){const F=S[V];if(C(F,p))return S.splice(V,1),F.isRemoved=!0,0===S.length&&(F.allRemoved=!0,s[O]=null,"string"==typeof f)&&(s[ke+"ON_PROPERTY"+f]=null),F.zone.cancelTask(F),j?s:void 0}return P.apply(this,arguments)},y[T]=function(){const s=this||e;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=[],w=Qe(s,G?G(f):f);for(let p=0;p<w.length;p++){const D=w[p];g.push(D.originalDelegate?D.originalDelegate:D.callback)}return g},y[d]=function(){const s=this||e;let f=arguments[0];if(f){_&&_.transferEventName&&(f=_.transferEventName(f));const g=te[f];if(g){const D=s[g[ae]],O=s[g[ce]];if(D){const S=D.slice();for(let V=0;V<S.length;V++){const F=S[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}if(O){const S=O.slice();for(let V=0;V<S.length;V++){const F=S[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}}}else{const g=Object.keys(s);for(let w=0;w<g.length;w++){const D=$e.exec(g[w]);let O=D&&D[1];O&&"removeListener"!==O&&this[d].call(this,O)}this[d].call(this,"removeListener")}if(j)return this},ue(y[c],I),ue(y[a],P),oe&&ue(y[d],oe),Q&&ue(y[T],Q),!0}let q=[];for(let R=0;R<i.length;R++)q[R]=J(i[R],o);return q}function Qe(e,n){if(!n){const a=[];for(let T in e){const d=$e.exec(T);let b=d&&d[1];if(b&&(!n||b===n)){const v=e[T];if(v)for(let m=0;m<v.length;m++)a.push(v[m])}}return a}let i=te[n];i||(Je(n),i=te[n]);const o=e[i[ae]],c=e[i[ce]];return o?c?o.concat(c):o.slice():c?c.slice():[]}function _t(e,n){const i=e.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",o=>function(c,a){c[Ke]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const T=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(m){const L=`${i}.${o}::`+m,Z=b.prototype;if(Z.hasOwnProperty(m)){const N=e.ObjectGetOwnPropertyDescriptor(Z,m);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,L),e._redefineProperty(b.prototype,m,N)):Z[m]&&(Z[m]=e.wrapWithCurrentZone(Z[m],L))}else Z[m]&&(Z[m]=e.wrapWithCurrentZone(Z[m],L))}),T.call(n,d,b,v)},e.attachOriginToPatched(n[o],T)}function et(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(e,n,i,o){e&&Xe(e,et(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ie,i.ObjectCreate=ge,i.ArraySlice=Ve,i.patchClass=ve,i.wrapWithCurrentZone=Ie,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:te,eventNames:o,isBrowser:je,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Oe,REMOVE_EVENT_LISTENER_STR:Se})});const Ce=A("zoneTask");function me(e,n,i,o){let c=null,a=null;i+=o;const T={};function d(v){const m=v.data;return m.args[0]=function(){return v.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),v}function b(v){return a.call(e,v.data.handleId)}c=le(e,n+=o,v=>function(m,L){if("function"==typeof L[0]){const Z={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?L[1]||0:void 0,args:L},N=L[0];L[0]=function(){try{return N.apply(this,arguments)}finally{Z.isPeriodic||("number"==typeof Z.handleId?delete T[Z.handleId]:Z.handleId&&(Z.handleId[Ce]=null))}};const B=Me(n,L[0],Z,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?T[H]=B:H&&(H[Ce]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,L)}),a=le(e,i,v=>function(m,L){const Z=L[0];let N;"number"==typeof Z?N=T[Z]:(N=Z&&Z[Ce],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete T[Z]:Z&&(Z[Ce]=null),N.zone.cancelTask(N)):v.apply(e,L)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",o=>function(c,a){n.current.scheduleMicroTask("queueMicrotask",a[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";me(e,n,i,"Timeout"),me(e,n,i,"Interval"),me(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{me(e,"request","cancel","AnimationFrame"),me(e,"mozRequest","mozCancel","AnimationFrame"),me(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;o<i.length;o++)le(e,i[o],(a,T,d)=>function(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function pt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:T}=n.getGlobalObjects();for(let b=0;b<i.length;b++){const v=i[b],Z=T+(v+a),N=T+(v+c);o[v]={},o[v][a]=Z,o[v][c]=N}const d=e.EventTarget;d&&d.prototype&&n.patchEventTarget(e,n,[d&&d.prototype])}(e,i);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&i.patchEventTarget(e,i,[o.prototype])}),Zone.__load_patch("MutationObserver",(e,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(we&&!Ue||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(je){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=Te.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,He(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c<o.length;c++){const a=n[o[c]];a&&a.prototype&&tt(a.prototype,He(a.prototype),i)}}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function yt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const m=v.XMLHttpRequest;if(!m)return;const L=m.prototype;let N=L[Ze],B=L[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ze],B=I[Ne]}}const H="readystatechange",J="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ze],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===J){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;W<ee.length;W++)ee[W]===h&&ee.splice(W,1);!I.aborted&&h.state===J&&re.call(h)},U.push(h)}else h.invoke()}else!I.aborted&&!1===P[a]&&(P[d]=!0)};return N.call(P,H,oe),P[i]||(P[i]=h),y.apply(P,I.args),P[a]=!0,h}function R(){}function _(h){const I=h.data;return I.aborted=!0,G.apply(I.target,I.args)}const K=le(L,"open",()=>function(h,I){return h[o]=0==I[2],h[T]=I[1],K.apply(h,I)}),X=A("fetchTaskAborting"),j=A("fetchTaskScheduling"),y=le(L,"send",()=>function(h,I){if(!0===n.current[j]||h[o])return y.apply(h,I);{const P={target:h,url:h[T],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===J&&Q.invoke()}}),G=le(L,"abort",()=>function(h,I){const P=function Z(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=A("xhrTask"),o=A("xhrSync"),c=A("xhrListener"),a=A("xhrScheduled"),T=A("xhrURL"),d=A("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o<n.length;o++){const c=n[o],a=e[c];if(a){if(!Fe(ie(e,c)))continue;e[c]=(d=>{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Qe(e,o).forEach(T=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});T.invoke(b)}})}}e.PromiseRejectionEvent&&(n[A("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[A("rejectionHandledHandler")]=i("rejectionhandled"))})}},ie=>{ie(ie.s=443)}]);
\ No newline at end of file
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/runtime.82612b2b3adaa365.js
^
|
@@ -1 +0,0 @@
-(()=>{"use strict";var e,p={},d={};function t(e){var f=d[e];if(void 0!==f)return f.exports;var r=d[e]={exports:{}};return p[e](r,r.exports,t),r.exports}t.m=p,e=[],t.O=(f,r,a,o)=>{if(!r){var c=1/0;for(n=0;n<e.length;n++){for(var[r,a,o]=e[n],u=!0,i=0;i<r.length;i++)(!1&o||c>=o)&&Object.keys(t.O).every(h=>t.O[h](r[i]))?r.splice(i--,1):(u=!1,o<c&&(c=o));if(u){e.splice(n--,1);var s=a();void 0!==s&&(f=s)}}return f}o=o||0;for(var n=e.length;n>0&&e[n-1][2]>o;n--)e[n]=e[n-1];e[n]=[r,a,o]},t.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return t.d(f,{a:f}),f},(()=>{var f,e=Object.getPrototypeOf?r=>Object.getPrototypeOf(r):r=>r.__proto__;t.t=function(r,a){if(1&a&&(r=this(r)),8&a||"object"==typeof r&&r&&(4&a&&r.__esModule||16&a&&"function"==typeof r.then))return r;var o=Object.create(null);t.r(o);var n={};f=f||[null,e({}),e([]),e(e)];for(var c=2&a&&r;"object"==typeof c&&!~f.indexOf(c);c=e(c))Object.getOwnPropertyNames(c).forEach(u=>n[u]=()=>r[u]);return n.default=()=>r,t.d(o,n),o}})(),t.d=(e,f)=>{for(var r in f)t.o(f,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:f[r]})},t.u=e=>e+"."+{828:"2792c1e59fa1f55a",914:"47d99b976ed7b4ec"}[e]+".js",t.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),t.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;t.tt=()=>(void 0===e&&(e={createScriptURL:f=>f},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),t.tu=e=>t.tt().createScriptURL(e),t.p="",(()=>{t.b=document.baseURI||self.location.href;var e={666:0};t.O.j=a=>0===e[a];var f=(a,o)=>{var i,s,[n,c,u]=o,l=0;if(n.some(_=>0!==e[_])){for(i in c)t.o(c,i)&&(t.m[i]=c[i]);if(u)var b=u(t)}for(a&&a(o);l<n.length;l++)t.o(e,s=n[l])&&e[s]&&e[s][0](),e[s]=0;return t.O(b)},r=self.webpackChunkmah=self.webpackChunkmah||[];r.forEach(f.bind(null,0)),r.push=f.bind(null,r.push.bind(r))})()})();
\ No newline at end of file
|
[-]
[+]
|
Deleted |
_service:tar_git:harbour-moremahjong-1.5.1.tar.bz2/qml/mah/styles.28820da8342024a7.css
^
|
@@ -1 +0,0 @@
-@font-face{font-family:mah;src:url(mah.9e13aab96041f426.eot?4927786);src:url(mah.9e13aab96041f426.eot?4927786#iefix) format("embedded-opentype"),url(mah.af51b3bb9f258f6d.woff2?4927786) format("woff2"),url(mah.80dadcb9ee90585f.woff?4927786) format("woff"),url(mah.7b56fd4adb756b35.ttf?4927786) format("truetype"),url(mah.31a47900735af891.svg?4927786#mah) format("svg");font-weight:400;font-style:normal}[class^=icon-]:before,[class*=" icon-"]:before{font-family:mah;font-style:normal;font-weight:400;speak:never;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-pause:before{content:"\e800"}.icon-lightbulb:before{content:"\e803"}.icon-undo:before{content:"\e807"}.icon-spin1:before{content:"\e808"}.icon-cancel-circled2:before{content:"\e809"}.icon-calendar:before{content:"\e80a"}.icon-note-beamed:before{content:"\e80b"}.icon-resize-full-alt:before{content:"\e80d"}.icon-volume-low:before{content:"\e80e"}.icon-loop:before{content:"\e812"}.icon-cog:before{content:"\e813"}.icon-trash-empty:before{content:"\e815"}.animate-spin{animation:spin 2s infinite linear;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@font-face{font-family:Kulim Park;font-style:normal;font-weight:400;src:url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot);src:local(""),url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot?#iefix) format("embedded-opentype"),url(kulim-park-v4-latin-ext_latin-regular.5ba427d3fc02fc32.woff2) format("woff2"),url(kulim-park-v4-latin-ext_latin-regular.2ca06e76c445b899.woff) format("woff"),url(kulim-park-v4-latin-ext_latin-regular.2a16ed6bdde62f9a.ttf) format("truetype"),url(kulim-park-v4-latin-ext_latin-regular.c6f2e11a4935bd52.svg#KulimPark) format("svg")}*,*:before,*:after{box-sizing:border-box}html{width:100%;height:100%;--main-bg-color: #2b424f;--main-bg-color-lt: #2e4856;--main-bg-color-dk: #253c46;--main-text-color: #47b00a;--main-text-color-lt: #51c80b;--main-text-color-dk: #348007;--dialog-text-color: #47b00a;--dialog-background-color: #f5f1e4;background-color:var(--main-bg-color)}body{font-family:Kulim Park,Tahoma,sans-serif;background-color:var(--main-bg-color);padding:0;margin:0;width:100%;height:100%}body{font-size:1em;line-height:1.5}button,select{background-image:linear-gradient(to bottom,#e4e4e4,#f7f7f7);border:1px solid #afafaf;font-family:Kulim Park,Tahoma,sans-serif;font-size:inherit}input[type=radio]{font-size:inherit;width:.9em;height:.9em;vertical-align:middle}p{margin:0;padding:0}.hidden{display:none}.link{cursor:pointer}.overlay{height:100%;width:100%;position:fixed;top:0;left:0;z-index:10000;background-color:#0003;max-height:100%;font-size:.9em}@media only screen and (min-width: 700px){.overlay{font-size:1.1em}}@media only screen and (min-width: 1000px){.overlay{font-size:1.2em}}@media only screen and (min-width: 1900px){.overlay{font-size:1.2em}}@media only screen and (min-width: 2200px){.overlay{font-size:2em}}@media only screen and (max-height: 500px){.overlay{font-size:.9em}}.overlay .overlay-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-height:98%;max-width:98%;margin-left:auto;margin-right:auto;border:1px solid #707070;background-color:var(--dialog-background-color);line-height:1.2em;padding:1.5em 2em;display:flex;flex-direction:column;border-radius:12px;box-shadow:12px 14px 16px #00000080}@media only screen and (min-width: 2200px){.overlay .overlay-popup{border-radius:30px}}@media only screen and (min-width: 1900px){.overlay .overlay-popup{max-height:80%;max-width:80%}}@media only screen and (max-width: 1000px){.overlay .overlay-popup{padding:1.5em}}@media only screen and (max-width: 280px){.overlay .overlay-popup{padding:1.5em 1em}}.overlay .close{right:8px;top:8px;position:absolute;color:#a9a9a9;cursor:pointer;padding:3px;border-radius:6px}.overlay .close i{font-size:1.2em}.overlay .close:hover{color:#707070}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/harbour-moremahjong.pro.user
^
|
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
-<!-- Written by QtCreator 4.15.2, 2022-06-14T09:40:05. -->
+<!-- Written by QtCreator 4.15.2, 2022-08-26T10:29:26. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
- <value type="QByteArray">{3ceef8b1-654e-453b-a12e-c7b75ae67ba1}</value>
+ <value type="QByteArray">{ddbad1fa-3e15-4c49-99dc-7ab87bce53d2}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
@@ -72,12 +72,12 @@
<value type="bool" key="AutoTest.UseGlobal">true</value>
<valuelist type="QVariantList" key="ClangCodeModel.CustomCommandLineKey"/>
<value type="bool" key="ClangCodeModel.UseGlobalConfig">true</value>
- <value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.Questionable</value>
+ <value type="QString" key="ClangCodeModel.WarningConfigId">Builtin.BuildSystem</value>
<valuemap type="QVariantMap" key="ClangTools">
- <value type="bool" key="ClangTools.AnalyzeOpenFiles">false</value>
+ <value type="bool" key="ClangTools.AnalyzeOpenFiles">true</value>
<value type="bool" key="ClangTools.BuildBeforeAnalysis">true</value>
<value type="QString" key="ClangTools.DiagnosticConfig">Builtin.DefaultTidyAndClazy</value>
- <value type="int" key="ClangTools.ParallelJobs">2</value>
+ <value type="int" key="ClangTools.ParallelJobs">4</value>
<valuelist type="QVariantList" key="ClangTools.SelectedDirs"/>
<valuelist type="QVariantList" key="ClangTools.SelectedFiles"/>
<valuelist type="QVariantList" key="ClangTools.SuppressedDiagnostics"/>
@@ -99,7 +99,7 @@
<value type="int" key="EnableQmlDebugging">0</value>
<value type="bool" key="MerBuildConfiguration.SignPackages">false</value>
<value type="QString" key="MerBuildConfiguration.SigningPassphraseFile"></value>
- <value type="QString" key="MerBuildConfiguration.SigningUser">mark washeim <blueprint@poetaster.de> [1E9C8B72D3BFF67F6B2C729CDCCDDCEE92836931]</value>
+ <value type="QString" key="MerBuildConfiguration.SigningUser"></value>
<value type="QString" key="MerSfdkConfigurationAspect.Options"></value>
<value type="QString" key="MerSpecFileAspect.Path"></value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/mwa/src/sailfish/build-harbour-moremahjong-SailfishOS_4_4_0_58_aarch64_in_Sailfish_SDK_Build_Engine-Debug</value>
@@ -156,7 +156,7 @@
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="bool" key="MerBuildConfiguration.SignPackages">false</value>
<value type="QString" key="MerBuildConfiguration.SigningPassphraseFile"></value>
- <value type="QString" key="MerBuildConfiguration.SigningUser">mark washeim <blueprint@poetaster.de> [1E9C8B72D3BFF67F6B2C729CDCCDDCEE92836931]</value>
+ <value type="QString" key="MerBuildConfiguration.SigningUser"></value>
<value type="QString" key="MerSfdkConfigurationAspect.Options"></value>
<value type="QString" key="MerSpecFileAspect.Path"></value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/mwa/src/sailfish/build-harbour-moremahjong-SailfishOS_4_4_0_58_aarch64_in_Sailfish_SDK_Build_Engine-Release</value>
@@ -214,7 +214,7 @@
<value type="int" key="EnableQmlDebugging">0</value>
<value type="bool" key="MerBuildConfiguration.SignPackages">false</value>
<value type="QString" key="MerBuildConfiguration.SigningPassphraseFile"></value>
- <value type="QString" key="MerBuildConfiguration.SigningUser">mark washeim <blueprint@poetaster.de> [1E9C8B72D3BFF67F6B2C729CDCCDDCEE92836931]</value>
+ <value type="QString" key="MerBuildConfiguration.SigningUser"></value>
<value type="QString" key="MerSfdkConfigurationAspect.Options"></value>
<value type="QString" key="MerSpecFileAspect.Path"></value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/mwa/src/sailfish/build-harbour-moremahjong-SailfishOS_4_4_0_58_aarch64_in_Sailfish_SDK_Build_Engine-Profile</value>
@@ -301,7 +301,11 @@
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmBuildStep</value>
</valuemap>
- <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
+ <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.1">
+ <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerRpmValidationStep</value>
+ </valuemap>
+ <value type="int" key="ProjectExplorer.BuildStepList.StepsCount">2</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
@@ -401,99 +405,23 @@
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="bool" key="MerRunConfiguration.DebugBypassOpenSslArmCapEnabled">true</value>
<value type="QString" key="MerRunConfiguration.QmlLiveBenchWorkspace">/home/mwa/src/sailfish/harbour-moremahjong</value>
- <value type="bool" key="MerRunConfiguration.QmlLiveEnabled">false</value>
- <value type="int" key="MerRunConfiguration.QmlLiveIpcPort">-1</value>
- <value type="int" key="MerRunConfiguration.QmlLiveOptions">3</value>
- <value type="QString" key="MerRunConfiguration.QmlLiveTargetWorkspace"></value>
- <value type="int" key="PE.EnvironmentAspect.Base">2</value>
- <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
- <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
- <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
- <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
- <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
- </valuemap>
- <valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.1">
- <value type="QString" key="Analyzer.Perf.CallgraphMode">dwarf</value>
- <valuelist type="QVariantList" key="Analyzer.Perf.Events">
- <value type="QString">cpu-cycles</value>
- </valuelist>
- <valuelist type="QVariantList" key="Analyzer.Perf.ExtraArguments"/>
- <value type="int" key="Analyzer.Perf.Frequency">250</value>
- <valuelist type="QVariantList" key="Analyzer.Perf.RecordArguments">
- <value type="QString">-e</value>
- <value type="QString">cpu-cycles</value>
- <value type="QString">--call-graph</value>
- <value type="QString">dwarf,4096</value>
- <value type="QString">-F</value>
- <value type="QString">250</value>
- </valuelist>
- <value type="QString" key="Analyzer.Perf.SampleMode">-F</value>
- <value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
- <value type="int" key="Analyzer.Perf.StackSize">4096</value>
- <value type="bool" key="Analyzer.QmlProfiler.AggregateTraces">false</value>
- <value type="bool" key="Analyzer.QmlProfiler.FlushEnabled">false</value>
- <value type="uint" key="Analyzer.QmlProfiler.FlushInterval">1000</value>
- <value type="QString" key="Analyzer.QmlProfiler.LastTraceFile"></value>
- <value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
- <valuelist type="QVariantList" key="Analyzer.Valgrind.AddedSuppressionFiles"/>
- <value type="QString" key="Analyzer.Valgrind.Callgrind.Arguments"></value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectBusEvents">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.CollectSystime">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableBranchSim">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableCacheSim">false</value>
- <value type="bool" key="Analyzer.Valgrind.Callgrind.EnableEventToolTips">true</value>
- <value type="double" key="Analyzer.Valgrind.Callgrind.MinimumCostRatio">0.01</value>
- <value type="double" key="Analyzer.Valgrind.Callgrind.VisualisationMinimumCostRatio">10</value>
- <value type="bool" key="Analyzer.Valgrind.FilterExternalIssues">true</value>
- <value type="QString" key="Analyzer.Valgrind.KCachegrindExecutable">kcachegrind</value>
- <value type="int" key="Analyzer.Valgrind.LeakCheckOnFinish">1</value>
- <value type="QString" key="Analyzer.Valgrind.Memcheck.Arguments"></value>
- <value type="int" key="Analyzer.Valgrind.NumCallers">25</value>
- <valuelist type="QVariantList" key="Analyzer.Valgrind.RemovedSuppressionFiles"/>
- <value type="int" key="Analyzer.Valgrind.SelfModifyingCodeDetection">1</value>
- <value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
- <value type="bool" key="Analyzer.Valgrind.ShowReachable">false</value>
- <value type="bool" key="Analyzer.Valgrind.TrackOrigins">true</value>
- <value type="QString" key="Analyzer.Valgrind.ValgrindArguments"></value>
- <value type="QString" key="Analyzer.Valgrind.ValgrindExecutable">valgrind</value>
- <valuelist type="QVariantList" key="Analyzer.Valgrind.VisibleErrorKinds">
- <value type="int">0</value>
- <value type="int">1</value>
- <value type="int">2</value>
- <value type="int">3</value>
- <value type="int">4</value>
- <value type="int">5</value>
- <value type="int">6</value>
- <value type="int">7</value>
- <value type="int">8</value>
- <value type="int">9</value>
- <value type="int">10</value>
- <value type="int">11</value>
- <value type="int">12</value>
- <value type="int">13</value>
- <value type="int">14</value>
- </valuelist>
- <valuelist type="QVariantList" key="CustomOutputParsers"/>
- <value type="bool" key="MerRunConfiguration.DebugBypassOpenSslArmCapEnabled">true</value>
- <value type="QString" key="MerRunConfiguration.QmlLiveBenchWorkspace">/home/mwa/src/sailfish/harbour-moremahjong</value>
- <value type="bool" key="MerRunConfiguration.QmlLiveEnabled">false</value>
+ <value type="bool" key="MerRunConfiguration.QmlLiveEnabled">true</value>
<value type="int" key="MerRunConfiguration.QmlLiveIpcPort">-1</value>
<value type="int" key="MerRunConfiguration.QmlLiveOptions">3</value>
<value type="QString" key="MerRunConfiguration.QmlLiveTargetWorkspace"></value>
<value type="int" key="PE.EnvironmentAspect.Base">1</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
- <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerCustomRunConfiguration:</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">QML Scene (on %{Device:Name})</value>
+ <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">QmakeProjectManager.MerQmlRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="int" key="RemoteLinux.EnvironmentAspect.Version">1</value>
+ <value type="QString" key="RunConfiguration.Arguments">harbour-moremahjong</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
- <value type="QString" key="RunConfiguration.X11Forwarding">:0</value>
</valuemap>
- <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">2</value>
+ <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
@@ -510,7 +438,7 @@
<value type="int" key="EnableQmlDebugging">0</value>
<value type="bool" key="MerBuildConfiguration.SignPackages">false</value>
<value type="QString" key="MerBuildConfiguration.SigningPassphraseFile"></value>
- <value type="QString" key="MerBuildConfiguration.SigningUser">mark washeim <blueprint@poetaster.de> [1E9C8B72D3BFF67F6B2C729CDCCDDCEE92836931]</value>
+ <value type="QString" key="MerBuildConfiguration.SigningUser"></value>
<value type="QString" key="MerSfdkConfigurationAspect.Options"></value>
<value type="QString" key="MerSpecFileAspect.Path"></value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/mwa/src/sailfish/build-harbour-moremahjong-SailfishOS_4_4_0_58_armv7hl_in_Sailfish_SDK_Build_Engine-Debug</value>
@@ -567,7 +495,7 @@
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="bool" key="MerBuildConfiguration.SignPackages">false</value>
<value type="QString" key="MerBuildConfiguration.SigningPassphraseFile"></value>
- <value type="QString" key="MerBuildConfiguration.SigningUser">mark washeim <blueprint@poetaster.de> [1E9C8B72D3BFF67F6B2C729CDCCDDCEE92836931]</value>
+ <value type="QString" key="MerBuildConfiguration.SigningUser"></value>
<value type="QString" key="MerSfdkConfigurationAspect.Options"></value>
<value type="QString" key="MerSpecFileAspect.Path"></value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/mwa/src/sailfish/build-harbour-moremahjong-SailfishOS_4_4_0_58_armv7hl_in_Sailfish_SDK_Build_Engine-Release</value>
@@ -625,7 +553,7 @@
<value type="int" key="EnableQmlDebugging">0</value>
<value type="bool" key="MerBuildConfiguration.SignPackages">false</value>
<value type="QString" key="MerBuildConfiguration.SigningPassphraseFile"></value>
- <value type="QString" key="MerBuildConfiguration.SigningUser">mark washeim <blueprint@poetaster.de> [1E9C8B72D3BFF67F6B2C729CDCCDDCEE92836931]</value>
+ <value type="QString" key="MerBuildConfiguration.SigningUser"></value>
<value type="QString" key="MerSfdkConfigurationAspect.Options"></value>
<value type="QString" key="MerSpecFileAspect.Path"></value>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/cover/CoverPage.qml
^
|
@@ -18,7 +18,7 @@
anchors.top: mahImage.bottom
anchors.horizontalCenter: parent.horizontalCenter
id: label
- text: qsTr("Mah Solitaire") + " 1.5.1"
+ text: qsTr("Mah Solitaire") + " 1.6.1"
}
CoverActionList {
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/assets/app/manifest.json
^
|
@@ -10,6 +10,6 @@
],
"theme_color": "#ffffff",
"background_color": "#ffffff",
- "start_url": "https://ffalt.github.io/mah/",
+ "start_url": "",
"display": "standalone"
}
|
[-]
[+]
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/editor.5f040adfabe8f8ae.svg
^
|
@@ -0,0 +1,28 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Copyright (C) 2022 by original authors @ fontello.com</metadata>
+<defs>
+<font id="editor" horiz-adv-x="1000" >
+<font-face font-family="editor" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
+<missing-glyph horiz-adv-x="1000" />
+<glyph glyph-name="down-small" unicode="" d="M505 346q15-15 15-37t-15-37l-245-245-245 245q-15 15-15 37t15 37 37 15 37-15l120-119 0 395q0 21 15 36t36 15 37-15 16-36l0-395 120 119q15 15 36 15t36-15z" horiz-adv-x="520" />
+
+<glyph glyph-name="left-small" unicode="" d="M595 403q21 0 36-16t15-37-15-37-36-15l-395 0 119-119q15-15 15-37t-15-37-36-15q-23 0-38 15l-245 245 245 245q15 15 37 15t37-15 15-37-15-37l-119-118 395 0z" horiz-adv-x="646" />
+
+<glyph glyph-name="right-small" unicode="" d="M328 595q15 15 36 15t37-15l245-245-245-245q-15-15-36-15-22 0-37 15t-15 37 15 37l120 119-395 0q-22 0-37 15t-16 37 16 37 37 16l395 0-120 118q-15 15-15 37t15 37z" horiz-adv-x="646" />
+
+<glyph glyph-name="up-small" unicode="" d="M260 673l245-245q15-15 15-37t-15-37-36-15-36 15l-120 120 0-395q0-21-16-37t-37-15-36 15-15 37l0 395-120-120q-15-15-37-15t-37 15-15 37 15 37z" horiz-adv-x="520" />
+
+<glyph glyph-name="trash" unicode="" d="M50 458q122-70 330-70t330 70l-54-486q-2-14-35-36t-100-43-141-21-140 21-100 43-36 36z m488 300q94-18 158-55t64-71l0-10q0-58-112-99t-268-41-268 41-112 99l0 10q0 34 64 71t158 55l42 48q22 26 70 26l92 0q52 0 70-26z m-54-112l84 0q-92 110-104 126-14 16-32 16l-102 0q-22 0-32-16l-106-126 84 0 64 66 82 0z" horiz-adv-x="760" />
+
+<glyph glyph-name="cancel-alt" unicode="" d="M936-67l-521 0q-56 0-116 30t-91 77l-137 191q-13 19-29 41t-24 33-8 12q-10 14-10 33t9 32q5 5 64 88l135 190q32 46 91 76t116 31l521 0q65 0 111-46t46-110l0-521q0-65-46-111t-111-46z m-821 417q6-9 21-30t20-28l137-191q17-25 55-45t67-19l521 0q22 0 37 16t15 37l0 521q0 21-15 36t-37 15l-521 0q-30 0-67-19t-55-43l-135-190q-8-10-22-32t-21-28z m545 0l139-138q12-12 5-29t-24-16q-10 0-19 9l-137 137-138-137q-8-9-18-9-17 0-24 16t5 29l137 138-137 138q-11 12-6 25t18 18 25-6l138-138 137 138q18 17 36-1t1-36z" horiz-adv-x="1093" />
+
+<glyph glyph-name="ok" unicode="" d="M933 534q0-22-16-38l-404-404-76-76q-16-15-38-15t-38 15l-76 76-202 202q-15 16-15 38t15 38l76 76q16 16 38 16t38-16l164-165 366 367q16 16 38 16t38-16l76-76q16-15 16-38z" horiz-adv-x="1000" />
+
+<glyph glyph-name="list-add" unicode="" d="M350 400q22 0 36-15t14-35-15-35-35-15l-300 0q-20 0-35 15t-15 35 14 35 36 15l300 0z m0-200q22 0 36-15t14-35-15-35-35-15l-300 0q-20 0-35 15t-15 35 14 35 36 15l300 0z m620 200q30 0 30-50t-30-50l-170 0 0-170q0-30-50-30t-50 30l0 170-164 0q-30 0-30 50t30 50l164 0 0 170q0 30 50 30t50-30l0-170 170 0z m-620 200q22 0 36-15t14-35-15-35-35-15l-300 0q-20 0-35 15t-15 35 14 35 36 15l300 0z" horiz-adv-x="1000" />
+
+<glyph glyph-name="docs" unicode="" d="M946 636q23 0 38-16t16-38v-678q0-23-16-38t-38-16h-535q-23 0-38 16t-16 38v160h-303q-23 0-38 16t-16 38v375q0 22 11 49t27 42l228 228q15 16 42 27t49 11h232q23 0 38-16t16-38v-183q38 23 71 23h232z m-303-119l-167-167h167v167z m-357 214l-167-167h167v167z m109-361l176 176v233h-214v-233q0-22-15-37t-38-16h-233v-357h286v143q0 22 11 49t27 42z m534-449v643h-215v-232q0-22-15-38t-38-15h-232v-358h500z" horiz-adv-x="1000" />
+</font>
+</defs>
+</svg>
|
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/editor.61a80421c752dd91.ttf
^
|
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/editor.ba7da210895fb47c.woff
^
|
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/editor.cb83a28c681dc182.woff2
^
|
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/editor.e99c99200b5948c0.eot
^
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/index.html
^
|
@@ -3,14 +3,14 @@
<meta charset="utf-8">
<title>Mah</title>
<meta name="description" content="Mah Solitaire">
- <base href=".">
+ <base href=".">
<meta name="viewport" content="width=device-width, initial-scale=1">
- <link rel="apple-touch-icon" sizes="180x180" href="assets/app/apple-touch-icon.png">
- <link rel="icon" type="image/png" sizes="32x32" href="assets/app/favicon-32x32.png">
- <link rel="icon" type="image/png" sizes="16x16" href="assets/app/favicon-16x16.png">
- <link rel="manifest" href="assets/app/manifest.json">
- <link rel="mask-icon" href="assets/app/safari-pinned-tab.svg" color="#d55b5b">
- <link rel="shortcut icon" href="assets/app/favicon.ico">
+ <link rel="apple-touch-icon" sizes="180x180" href="assets/app/apple-touch-icon.png">
+ <link rel="icon" type="image/png" sizes="32x32" href="assets/app/favicon-32x32.png">
+ <link rel="icon" type="image/png" sizes="16x16" href="assets/app/favicon-16x16.png">
+ <link rel="manifest" href="assets/app/manifest.json">
+ <link rel="mask-icon" href="assets/app/safari-pinned-tab.svg" color="#d55b5b">
+ <link rel="shortcut icon" href="assets/app/favicon.ico">
<meta name="apple-mobile-web-app-title" content="Mah">
<meta name="application-name" content="Mah">
<meta name="msapplication-TileColor" content="#00aba9">
@@ -82,7 +82,7 @@
}
}
</style>
-<style>@font-face{font-family:Kulim Park;font-style:normal;font-weight:400;src:url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot);src:local(""),url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot?#iefix) format("embedded-opentype"),url(kulim-park-v4-latin-ext_latin-regular.5ba427d3fc02fc32.woff2) format("woff2"),url(kulim-park-v4-latin-ext_latin-regular.2ca06e76c445b899.woff) format("woff"),url(kulim-park-v4-latin-ext_latin-regular.2a16ed6bdde62f9a.ttf) format("truetype"),url(kulim-park-v4-latin-ext_latin-regular.c6f2e11a4935bd52.svg#KulimPark) format("svg")}*,*:before,*:after{box-sizing:border-box}html{width:100%;height:100%;--main-bg-color:#2b424f;--main-bg-color-lt:#2e4856;--main-bg-color-dk:#253c46;--main-text-color:#47b00a;--main-text-color-lt:#51c80b;--main-text-color-dk:#348007;--dialog-text-color:#47b00a;--dialog-background-color:#f5f1e4;background-color:var(--main-bg-color)}body{font-family:Kulim Park,Tahoma,sans-serif;background-color:var(--main-bg-color);padding:0;margin:0;width:100%;height:100%}body{font-size:1em;line-height:1.5}</style><link rel="stylesheet" href="styles.28820da8342024a7.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.28820da8342024a7.css"></noscript></head>
+<style>@font-face{font-family:Kulim Park;font-style:normal;font-weight:400;src:url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot);src:local(""),url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot%3F) format("embedded-opentype"),url(kulim-park-v4-latin-ext_latin-regular.5ba427d3fc02fc32.woff2) format("woff2"),url(kulim-park-v4-latin-ext_latin-regular.2ca06e76c445b899.woff) format("woff"),url(kulim-park-v4-latin-ext_latin-regular.2a16ed6bdde62f9a.ttf) format("truetype"),url(kulim-park-v4-latin-ext_latin-regular.c6f2e11a4935bd52.svg) format("svg")}*,*:before,*:after{box-sizing:border-box}html{width:100%;height:100%;--main-bg-color:#2b424f;--main-bg-color-lt:#2e4856;--main-bg-color-dk:#253c46;--main-text-color:#47b00a;--main-text-color-lt:#51c80b;--main-text-color-dk:#348007;--dialog-text-color:#47b00a;--dialog-background-color:#f5f1e4;background-color:var(--main-bg-color)}body{font-family:Kulim Park,Tahoma,sans-serif;background-color:var(--main-bg-color);padding:0;margin:0;width:100%;height:100%}body{font-size:1em;line-height:1.5}</style><link rel="stylesheet" href="styles.df682b1de6c45013.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.df682b1de6c45013.css"></noscript></head>
<body>
<app-root>
<div class="splash">
@@ -92,6 +92,6 @@
</div>
</div>
</app-root>
-<script src="runtime.82612b2b3adaa365.js" type="module"></script><script src="polyfills.f0d6597c48aab8eb.js" type="module"></script><script src="main.887c6ca96fe76198.js" type="module"></script>
+<script src="runtime.7bbb05b55f4765df.js" type="module"></script><script src="polyfills.252af069257179d6.js" type="module"></script><script src="main.834fdeb623fa8249.js" type="module"></script>
-</body></html>
\ No newline at end of file
+</body></html>
|
[-]
[+]
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/main.834fdeb623fa8249.js
^
|
@@ -0,0 +1 @@
+(self.webpackChunkmah=self.webpackChunkmah||[]).push([[179],{2462:($e,De,v)=>{"use strict";v.d(De,{k$:()=>Ie,a2:()=>ge,zU:()=>$});const d=JSON.parse('{"RESTART":"New Game","UNDO":"Undo","PAUSE":"Pause","HINT":"Hint","STONES":"Stones","FREE":"Free","FULLSCREEN":"Fullscreen","HINT_LONG":"Show possible moves","UNDO_LONG":"Undo last move","RESTART_LONG":"Start a new game","PAUSE_LONG":"Continue/Pause game","MSG_CONTINUE_PAUSE":"Continue Game\u2026","MSG_CONTINUE_SAVE":"Continue Saved Game\u2026","MSG_START":"Start Game","MSG_PLAY_AGAIN":"Play again","MSG_BEST":"Congratulations, new best time!","MSG_GOOD":"Well done!","MSG_FAIL":"No more matching tiles.","STATS_GAMES":"Nr. of Games","STATS_BEST":"Best Time","LICENSE":"License","SHORTCUTS":"Shortcuts","SETTINGS":"Settings","STATS":"Stats","MODE":"Board Fill Algorithm","MODE_SOLVABLE":"Solvable","MODE_RANDOM":"Random","AUDIO":"Audio","AUDIO_SOUNDS":"Sounds on/off","AUDIO_MUSIC":"Music","LANG":"Language","LANG_AUTO":"[Default]","OPEN_SETTINGS":"Click here to open the settings","OPEN_HELP":"Click here to open the help dialog","READ_MORE_WIKIPEDIA":"Read more on wikipedia","READ_MORE_WIKIPEDIA_URL":"https://en.wikipedia.org/wiki/Mahjong_tiles","TILES_INFO":"Tiles Information","TILES":"Tiles","INFO_LONG":"Tiles Information","HELP":"Help","HELP_LONG":"Show/hide this dialog","SETTINGS_LONG":"Adjust language, tile sets & colors","MODE_SOLVABLE_DESC":"A random fill with at least one solving possibility","MODE_RANDOM_DESC":"A total random fill, maybe unsolvable","SELECT_BOARD":"Select Board","BOARD_GENERATOR":"Board Generator","START_SELECTED":"Start Selected","START_RANDOM":"Start Random","TILESET":"Tileset Art","BACKGROUND":"Background","INFO":"Info","BEST_TIMES":"Best Times","BEST_TIMES_CLEAR":"Clear Best Times","BEST_TIMES_CLEAR_SURE":"Clear All Best Times?\\nThis cannot be undone.","BEST_TIME_CLEAR":"Clear Best Time","BEST_TIME_CLEAR_SURE":"Clear Best Time?\\nThis cannot be undone.","HIGHER_CONTRAST":"Higher contrast","SOURCE":"Source","GAME":"Game","DESIGNS":"Designs","SOUNDS":"Sounds","FONTS":"Fonts","BACKGROUNDS":"Backgrounds","BACK_NONE":"[None]","BACK_BAMBOO":"Bamboo","BACK_BLUE_CLOUDS":"Blue Clouds","BACK_GRAY_CLOUDS":"Gray Clouds","BACK_GRAY_GRASS":"Grass","BACK_GRAY_STONES":"Stones","BACK_GRAY_WOOD":"Wood Table","BACK_GRAY_WOOD_GRAIN":"Wood Grain","t_do1":"Pearl","t_do2":"Pine tree","t_do3":"Phoenix","t_do4":"Jade","t_do5":"Dragon","t_do6":"Peach","t_do7":"Insect","t_do8":"White Tiger","t_do9":"Unicorn","t_ba1":"Peacock","t_ba2":"Duck","t_ba3":"Toad","t_ba4":"Carp","t_ba5":"Lotus flower","t_ba6":"Water","t_ba7":"Tortoise","t_ba8":"Mushroom","t_ba9":"Willow tree","t_ch1":"Bar of door","t_ch2":"Sword","t_ch3":"Earth","t_ch4":"Lute","t_ch5":"House","t_ch6":"Fire","t_ch7":"Seven stars","t_ch8":"Knot","t_ch9":"Heaven","t_se_spring":"Spring","t_se_summer":"Summer","t_se_fall":"Fall","t_se_winter":"Winter","t_fl_bamboo":"Bamboo","t_fl_orchid":"Orchid","t_fl_plum":"Plum Blossom","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"East","t_wi_south":"South","t_wi_west":"West","t_wi_north":"North","t_dr_red":"Red dragon","t_dr_green":"Green dragon","t_dr_white":"White dragon","TILES_SUIT_CIRCLES":"Circles","TILES_SUIT_BAMBOO":"Bamboo","TILES_SUIT_CHARACTERS":"Characters","TILES_SUITS":"Suits","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seasons","TILES_BONUS_FLOWERS":"Flowers","TILES_HONORS":"Honors","TILES_HONORS_WINDS":"Winds","TILES_HONORS_DRAGONS":"Dragons","TILES_JOKERS":"Jokers","TILES_JOKERS_GENERAL":"All-purpose jokers","TILES_JOKERS_BLUEGREEN":"Blue/green jokers","TILES_JOKERS_RED":"Red jokers","TILES_JOKERS_RANK":"Rank-restricted jokers","TILES_EXTRA":"Extra","TILES_DARK":"Dark","THEME":"Theme","THEME_LIGHT_GREEN":"Light Green","THEME_DARK_GREEN":"Dark Green","THEME_LIGHT_BLUE":"Light Blue","THEME_DARK_BLUE":"Dark Blue","THEME_BROWN":"Brown","THEME_BLACK":"Black","THEME_WHITE":"White","t_g1":"Hundred uses","t_g2":"Many uses","t_g3":"Flying","t_g4":"Circle joker","t_g5":"Bamboo joker","t_g6":"Character joker","t_g7":"Universal joker","t_g8":"Suit and Honor joker","t_g9":"Suit joker","t_g10":"Dragon joker","t_g11":"Wind joker","t_g12":"Flower joker","t_g13":"Honor joker","t_g14":"Terminal joker","t_g15":"147 joker","t_g16":"258 joker","t_g17":"369 joker","t_g18":"369 joker 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Shuffle","SHUFFLE_LONG":"Shuffle stones in the game","GAME_MODE":"Mode","GAME_MODE_EASY":"Easy","GAME_MODE_STANDARD":"Standard","GAME_MODE_EXPERT":"Expert","HOW_TO_PLAY":"How to play","HOW_GOAL":"The goal is to remove all tiles in open pairs from the game board.","HOW_OPEN":"Open","HOW_PAIR":"Pair","HOW_PAIR_DESC":"Two tiles with identical front. Within the flowers and seasons, any two tiles from the same group can be matched.","HOW_OPEN_DESC":"A tile is open if there are no tiles to its left, right or above it.","HOW_DO":"Select two matching tiles to remove them. Because there are more than two tiles for each potential pairing, strategy is involved."}');var o=v.t(d,2);const k=JSON.parse('{"RESTART":"Neues Spiel","UNDO":"Zur\xfcck","PAUSE":"Pause","HINT":"Tip","STONES":"Steine","FREE":"Frei","FULLSCREEN":"Vollbild","HINT_LONG":"M\xf6gliche Z\xfcge anzeigen","UNDO_LONG":"Letzten Zug r\xfcckg\xe4ngig machen","RESTART_LONG":"Neues Spiel beginnen","PAUSE_LONG":"Spiel anhalten/fortfahren","MSG_CONTINUE_PAUSE":"Spiel fortsetzen\u2026","MSG_CONTINUE_SAVE":"Geladenes Spiel fortsetzen\u2026","MSG_START":"Spiel starten","MSG_PLAY_AGAIN":"Nochmal spielen","MSG_BEST":"Gratulation, neue Bestzeit!","MSG_GOOD":"Sehr sch\xf6n!","MSG_FAIL":"Keine passenden Ziegel mehr!","STATS_GAMES":"Anzahl Spiele","STATS_BEST":"Bestzeit","LICENSE":"Lizenz","SHORTCUTS":"Tastaturk\xfcrzel","SETTINGS":"Einstellungen","STATS":"Statistik","MODE":"Spielbrett-Algorithmus","MODE_SOLVABLE":"L\xf6sbar","MODE_RANDOM":"Zuf\xe4llig","AUDIO":"Audio","AUDIO_SOUNDS":"T\xf6ne an/aus","AUDIO_MUSIC":"Musik","LANG":"Sprache","LANG_AUTO":"[Standard]","OPEN_SETTINGS":"Klick hier um die Einstellungen zu \xf6ffnen","OPEN_HELP":"Klick hier um die Hilfe zu \xf6ffnen","READ_MORE_WIKIPEDIA":"Mehr bei Wikipedia lesen","READ_MORE_WIKIPEDIA_URL":"https://de.wikipedia.org/wiki/Mah-Jongg","TILES_INFO":"Steinverzeichnis","TILES":"Steine","INFO_LONG":"Steinverzeichnis","HELP":"Hilfe","HELP_LONG":"Diesen Dialog anzeigen/ausblenden","SETTINGS_LONG":"Sprache, Steine und Farben anpassen","MODE_SOLVABLE_DESC":"Fast zuf\xe4lliger Aufbau mit mindestens einer L\xf6sung","MODE_RANDOM_DESC":"Zuf\xe4lliger Aufbau, vielleicht unl\xf6sbar","SELECT_BOARD":"Spielbrett ausw\xe4hlen","BOARD_GENERATOR":"Spielgenerator","START_SELECTED":"Auswahl starten","START_RANDOM":"Zuf\xe4lliges starten","TILESET":"Stein-Motive","BACKGROUND":"Hintergrund","INFO":"Info","BEST_TIMES":"Bestzeiten","BEST_TIMES_CLEAR":"Bestzeiten l\xf6schen","BEST_TIMES_CLEAR_SURE":"Alle Bestzeiten l\xf6schen?\\nDies kann nicht r\xfcckg\xe4ngig gemacht werden.","BEST_TIME_CLEAR":"Bestzeit l\xf6schen","BEST_TIME_CLEAR_SURE":"Bestzeit l\xf6schen?\\nDies kann nicht r\xfcckg\xe4ngig gemacht werden.","HIGHER_CONTRAST":"H\xf6herer Kontrast","SOURCE":"Quelle","GAME":"Spiel","DESIGNS":"Designs","SOUNDS":"T\xf6ne","FONTS":"Schriftarten","BACKGROUNDS":"Hintergr\xfcnde","BACK_NONE":"[Keiner]","BACK_BAMBOO":"Bambus","BACK_BLUE_CLOUDS":"Blaue Wolken","BACK_GRAY_CLOUDS":"Graue Wolken","BACK_GRAY_GRASS":"Gras","BACK_GRAY_STONES":"Steine","BACK_GRAY_WOOD":"Holztisch","BACK_GRAY_WOOD_GRAIN":"Holzmaserung","t_do1":"Perle","t_do2":"Kiefer","t_do3":"Ph\xf6nix","t_do4":"Jade","t_do5":"Drache","t_do6":"Pfirsich","t_do7":"Insekt","t_do8":"Wei\xdfer Tiger","t_do9":"Einhorn","t_ba1":"Pfau","t_ba2":"Ente","t_ba3":"Kr\xf6te","t_ba4":"Karpfen","t_ba5":"Lotusblume","t_ba6":"Wasser","t_ba7":"Schildkr\xf6te","t_ba8":"Pilz","t_ba9":"Weidenbaum","t_ch1":"Riegel","t_ch2":"Schwert","t_ch3":"Erde","t_ch4":"Laute","t_ch5":"Haus","t_ch6":"Feuer","t_ch7":"Sieben Sterne","t_ch8":"Knoten","t_ch9":"Himmel","t_se_spring":"Fr\xfchling","t_se_summer":"Summer","t_se_fall":"Herbst","t_se_winter":"Winter","t_fl_bamboo":"Bambus","t_fl_orchid":"Orchidee","t_fl_plum":"Pflaumenbl\xfcte","t_fl_chrysanthemum":"Chrysantheme","t_wi_east":"Osten","t_wi_south":"S\xfcden","t_wi_west":"Westen","t_wi_north":"Norden","t_dr_red":"Roter Drache","t_dr_green":"Gr\xfcne Drache","t_dr_white":"Wei\xdfer Drache","TILES_SUIT_CIRCLES":"Kreise","TILES_SUIT_BAMBOO":"Bambus","TILES_SUIT_CHARACTERS":"Zahlen","TILES_SUITS":"Grundfarben","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Jahreszeiten","TILES_BONUS_FLOWERS":"Blumen","TILES_HONORS":"Tr\xfcmpfe","TILES_HONORS_WINDS":"Winde","TILES_HONORS_DRAGONS":"Drachen","TILES_JOKERS":"Joker","TILES_JOKERS_GENERAL":"Allgemeine Joker","TILES_JOKERS_BLUEGREEN":"Blau/Gr\xfcne Joker","TILES_JOKERS_RED":"Rote Joker","TILES_JOKERS_RANK":"Rangbeschr\xe4nkte Joker","TILES_EXTRA":"Extra","TILES_DARK":"Dunkel","THEME":"Farbthema","THEME_LIGHT_GREEN":"Helleres Gr\xfcn","THEME_DARK_GREEN":"Dunkleres Gr\xfcn","THEME_LIGHT_BLUE":"Helleres Blau","THEME_DARK_BLUE":"Dunkleres Blau","THEME_BROWN":"Braun","THEME_BLACK":"Schwarz","THEME_WHITE":"Wei\xdf","t_g1":"Hundert Verwendungen","t_g2":"Viele Verwendungen","t_g3":"Fliegend","t_g4":"Kreis Joker","t_g5":"Bambus Joker","t_g6":"Zeichen Joker","t_g7":"Universaler Joker","t_g8":"Rang und Ehren Joker","t_g9":"Rang Joker","t_g10":"Drachen Joker","t_g11":"Wind Joker","t_g12":"Blumen Joker","t_g13":"Ehren Joker","t_g14":"Terminal Joker","t_g15":"147 Joker","t_g16":"258 Joker","t_g17":"369 Joker","t_g18":"369 Joker 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Mischen","SHUFFLE_LONG":"Steine im Spiel mischen","GAME_MODE":"Modus","GAME_MODE_EASY":"Einfach","GAME_MODE_STANDARD":"Standard","GAME_MODE_EXPERT":"Profi","HOW_TO_PLAY":"Spielanleitung","HOW_GOAL":"Das Ziel ist es, alle Steine in offenen Paaren vom Spielbrett zu entfernen.","HOW_OPEN":"Offen","HOW_PAIR":"Paar","HOW_PAIR_DESC":"Zwei Steine mit identischer Vorderseite. Innerhalb der Blumen und Jahreszeiten passen zwei beliebige Steine derselben Gruppe.","HOW_OPEN_DESC":"Ein Stein ist offen, wenn sich links, rechts oder dar\xfcber kein Stein befindet.","HOW_DO":"W\xe4hlen Sie zwei passende Steine aus, um sie zu entfernen. Da es f\xfcr jede potenzielle Paarung mehr als zwei Steine gibt, ist Strategie erforderlich."}');var oe=v.t(k,2);const w=JSON.parse('{"RESTART":"Nieuw spel","UNDO":"Ongedaan maken","PAUSE":"Onderbreken","HINT":"Hint","STONES":"Aantal stenen","FREE":"Waarvan vrijliggend","FULLSCREEN":"Beeldvullend","HINT_LONG":"Toon de mogelijke zetten","UNDO_LONG":"Maak de vorige zet ongedaan","RESTART_LONG":"Start een nieuw spel","PAUSE_LONG":"Onderbreek/Hervat een spel","MSG_CONTINUE_PAUSE":"Spel voortzetten\u2026","MSG_CONTINUE_SAVE":"Opgeslagen spel voortzetten\u2026","MSG_START":"Spel starten","MSG_PLAY_AGAIN":"Opnieuw spelen","MSG_BEST":"Je hebt een nieuw record neergezet!","MSG_GOOD":"Goed gedaan!","MSG_FAIL":"Er zijn geen zetten meer mogelijk.","STATS_GAMES":"Aantal keer gespeeld","STATS_BEST":"Record","LICENSE":"Licentie","SHORTCUTS":"Sneltoetsen","SETTINGS":"Instellingen","STATS":"Statistieken","MODE":"Legwijze","MODE_SOLVABLE":"Oplosbaar","MODE_RANDOM":"Willekeurig","AUDIO":"Geluid","AUDIO_SOUNDS":"Geluid aan/uit","AUDIO_MUSIC":"Muziek","LANG":"Taal","LANG_AUTO":"[standaard]","OPEN_SETTINGS":"Klik hier om de instellingen te openen","OPEN_HELP":"Klik hier om het hulpvenster te openen","READ_MORE_WIKIPEDIA":"Lees meer hierover op Wikipedia (Engels)","READ_MORE_WIKIPEDIA_URL":"https://nl.wikipedia.org/wiki/Mahjong","TILES_INFO":"Toon informatie over de stenen","TILES":"Stenen","INFO_LONG":"Toon informatie over de stenen","HELP":"Hulp","HELP_LONG":"Toon/verberg dit dialoogvenster","SETTINGS_LONG":"Taal, tegelsets en kleuren aanpassen","MODE_SOLVABLE_DESC":"Een willekeurige legwijze met ten minste \xe9\xe9n oplossing","MODE_RANDOM_DESC":"Een willekeurige legwijze, mogelijk zonder oplossing","SELECT_BOARD":"Kies een spelbord","BOARD_GENERATOR":"Bordsamensteller","START_SELECTED":"Gekozen bord neerleggen","START_RANDOM":"Willekeurig bord","TILESET":"Steendecoraties","BACKGROUND":"Achtergrond","INFO":"Informatie","BEST_TIMES":"Records","BEST_TIMES_CLEAR":"Records wissen","BEST_TIMES_CLEAR_SURE":"Weet je zeker dat je alle records wilt wissen?\\nDit kan niet ongedaan worden gemaakt.","BEST_TIME_CLEAR":"Record wissen","BEST_TIME_CLEAR_SURE":"Weet je zeker dat je dit record wilt wissen?\\nDit kan niet ongedaan worden gemaakt.","HIGHER_CONTRAST":"Hoger contrast","SOURCE":"Bron","GAME":"Spel","DESIGNS":"Vormgeving","SOUNDS":"Geluiden","FONTS":"Lettertypen","BACKGROUNDS":"Achtergronden","BACK_NONE":"[geen]","BACK_BAMBOO":"Bamboe","BACK_BLUE_CLOUDS":"Blauwe lucht","BACK_GRAY_CLOUDS":"Grijze lucht","BACK_GRAY_GRASS":"Gras","BACK_GRAY_STONES":"Stenen","BACK_GRAY_WOOD":"Houten tafel","BACK_GRAY_WOOD_GRAIN":"Houtnerven","t_do1":"Parel","t_do2":"Pijnboom","t_do3":"Feniks","t_do4":"Jade","t_do5":"Draak","t_do6":"Perzik","t_do7":"Insect","t_do8":"Witte tijger","t_do9":"Eenhoorn","t_ba1":"Dagpauwoog","t_ba2":"Eend","t_ba3":"Pad","t_ba4":"Karper","t_ba5":"Lotusbloem","t_ba6":"Water","t_ba7":"Schildpad","t_ba8":"Paddestoel","t_ba9":"Wilg","t_ch1":"Deurklink","t_ch2":"Zwaard","t_ch3":"Aarde","t_ch4":"Luit","t_ch5":"Huis","t_ch6":"Vuur","t_ch7":"Zeven sterren","t_ch8":"Knoop","t_ch9":"Hemel","t_se_spring":"Lente","t_se_summer":"Zomer","t_se_fall":"Herfst","t_se_winter":"Winter","t_fl_bamboo":"Bamboe","t_fl_orchid":"Orchidee","t_fl_plum":"Japanse abrikoos","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"Oosten","t_wi_south":"Zuiden","t_wi_west":"Westen","t_wi_north":"Noorden","t_dr_red":"Rode draak","t_dr_green":"Groene draak","t_dr_white":"Witte draak","TILES_SUIT_CIRCLES":"Cirkels","TILES_SUIT_BAMBOO":"Bamboe","TILES_SUIT_CHARACTERS":"Symbolen","TILES_SUITS":"Sets","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seizoenen","TILES_BONUS_FLOWERS":"Bloemen","TILES_HONORS":"Eretekens","TILES_HONORS_WINDS":"Winden","TILES_HONORS_DRAGONS":"Draken","TILES_JOKERS":"Jokers","TILES_JOKERS_GENERAL":"All-purpose jokers","TILES_JOKERS_BLUEGREEN":"Blauw/groene jokers","TILES_JOKERS_RED":"Rode jokers","TILES_JOKERS_RANK":"Jokers met beperkte rangschikking","TILES_EXTRA":"Extra","TILES_DARK":"Donker","THEME":"Kleurenthema","THEME_LIGHT_GREEN":"Licht groen","THEME_DARK_GREEN":"Donkergroen","THEME_LIGHT_BLUE":"Lichtblauw","THEME_DARK_BLUE":"Donkerblauw","THEME_BROWN":"Bruin","THEME_BLACK":"Zwart","THEME_WHITE":"Wit","t_g1":"Honderd keer gebruikt","t_g2":"Veel gebruik","t_g3":"Vliegend","t_g4":"Cirkeljoker","t_g5":"Bamboe joker","t_g6":"Symbool joker","t_g7":"Universele joker","t_g8":"Suit and Honour-joker","t_g9":"Pak joker","t_g10":"Drakenjoker","t_g11":"Windjoker","t_g12":"Bloemenjoker","t_g13":"Eer joker","t_g14":"Terminale joker","t_g15":"147 joker","t_g16":"258 joker","t_g17":"369 joker","t_g18":"369 joker 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Shuffle","SHUFFLE_LONG":"Schud stenen in het spel","GAME_MODE":"Modus","GAME_MODE_EASY":"Eenvoudig","GAME_MODE_STANDARD":"Standaard","GAME_MODE_EXPERT":"Deskundige","HOW_TO_PLAY":"Hoe te spelen","HOW_GOAL":"Het doel is om alle tegels in open paren van het spelbord te verwijderen.","HOW_OPEN":"Open","HOW_PAIR":"Paar","HOW_PAIR_DESC":"Twee tegels met identiek front. Binnen de bloemen en seizoenen kunnen twee tegels uit dezelfde groep worden gematcht.","HOW_OPEN_DESC":"Een tegel is open als er links, rechts of erboven geen tegels zijn.","HOW_DO":"Selecteer twee overeenkomende tegels om ze te verwijderen. Omdat er meer dan twee tegels zijn voor elke mogelijke koppeling, komt er strategie bij kijken."}');var F=v.t(w,2);const G=JSON.parse('{"RESTART":"Novo Jogo","UNDO":"Voltar","PAUSE":"Pausar","HINT":"Dica","STONES":"Pe\xe7as","FREE":"Livres","FULLSCREEN":"Tela Cheia","HINT_LONG":"Mostrar movimentos poss\xedveis","UNDO_LONG":"Desfazer \xfaltima jogada","RESTART_LONG":"Come\xe7ar um novo jogo","PAUSE_LONG":"Continuar/Pausar jogo","MSG_CONTINUE_PAUSE":"Continuar\u2026","MSG_CONTINUE_SAVE":"Continuar Jogo Salvo\u2026","MSG_START":"Come\xe7ar","MSG_PLAY_AGAIN":"Jogar novamente","MSG_BEST":"Parab\xe9ns, novo tempo recorde!","MSG_GOOD":"Parab\xe9ns!","MSG_FAIL":"N\xe3o h\xe1 mais pe\xe7as livres.","STATS_GAMES":"N\xfamero de Jogos","STATS_BEST":"Melhor tempo","LICENSE":"Licensa","SHORTCUTS":"Atalhos","SETTINGS":"Configura\xe7\xf5es","STATS":"Estat\xedsticas","MODE":"Algoritmo de preenchimento de placa","MODE_SOLVABLE":"Sol\xfavel","MODE_RANDOM":"Aleatoriamente","AUDIO":"\xc1udio","AUDIO_SOUNDS":"Sons","AUDIO_MUSIC":"M\xfasica","LANG":"L\xedngua","LANG_AUTO":"[Autom\xe1tico]","OPEN_SETTINGS":"Clique aqui para abrir as configura\xe7\xf5es","OPEN_HELP":"Clique aqui para abrir a ajuda","READ_MORE_WIKIPEDIA":"Leia mais na wikipedia","READ_MORE_WIKIPEDIA_URL":"https://pt.wikipedia.org/wiki/Mahjong","TILES_INFO":"Informa\xe7\xf5es sobre as pe\xe7as","TILES":"Pe\xe7as","INFO_LONG":"Informa\xe7\xf5es sobre as pe\xe7as","HELP":"Ajuda","HELP_LONG":"Mostrar/ocultar esta caixa de di\xe1logo","SETTINGS_LONG":"Ajuste o idioma, conjuntos de blocos e cores","MODE_SOLVABLE_DESC":"Um preenchimento aleat\xf3rio com pelo menos uma possibilidade de solu\xe7\xe3o","MODE_RANDOM_DESC":"Um preenchimento totalmente aleat\xf3rio, talvez insol\xfavel","SELECT_BOARD":"Selecione o tabuleiro","BOARD_GENERATOR":"Gerador de placa","START_SELECTED":"Jogar Selecionado","START_RANDOM":"Jogar Aleat\xf3rio","TILESET":"Pe\xe7as","BACKGROUND":"Papel de Parede","INFO":"Informa\xe7\xf5es","BEST_TIMES":"Melhores tempos","BEST_TIMES_CLEAR":"Limpar os melhores tempos","BEST_TIMES_CLEAR_SURE":"Limpar todos os melhores momentos?\\nIsto n\xe3o pode ser desfeito.","BEST_TIME_CLEAR":"Limpar melhor hora","BEST_TIME_CLEAR_SURE":"Limpar melhor hora?\\nIsto n\xe3o pode ser desfeito.","HIGHER_CONTRAST":"Contraste mais alto","SOURCE":"Fonte","GAME":"Jogo","DESIGNS":"Desenhos","SOUNDS":"Sons","FONTS":"Fontes","BACKGROUNDS":"Fundos","BACK_NONE":"[Nenhum]","BACK_BAMBOO":"Bambu","BACK_BLUE_CLOUDS":"Nuvens Azuis","BACK_GRAY_CLOUDS":"Nuvens Cinzentas","BACK_GRAY_GRASS":"Grama","BACK_GRAY_STONES":"Pedras","BACK_GRAY_WOOD":"Mesa de madeira","BACK_GRAY_WOOD_GRAIN":"Gr\xe3o de madeira","t_do1":"Pearl","t_do2":"Pine tree","t_do3":"Phoenix","t_do4":"Jade","t_do5":"Dragon","t_do6":"Peach","t_do7":"Insect","t_do8":"White Tiger","t_do9":"Unicorn","t_ba1":"Peacock","t_ba2":"Duck","t_ba3":"Toad","t_ba4":"Carp","t_ba5":"Lotus flower","t_ba6":"Water","t_ba7":"Tortoise","t_ba8":"Mushroom","t_ba9":"Willow tree","t_ch1":"Bar of door","t_ch2":"Sword","t_ch3":"Earth","t_ch4":"Lute","t_ch5":"House","t_ch6":"Fire","t_ch7":"Seven stars","t_ch8":"Knot","t_ch9":"Heaven","t_se_spring":"Spring","t_se_summer":"Summer","t_se_fall":"Fall","t_se_winter":"Winter","t_fl_bamboo":"Bamboo","t_fl_orchid":"Orchid","t_fl_plum":"Plum Blossom","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"East","t_wi_south":"South","t_wi_west":"West","t_wi_north":"North","t_dr_red":"Red dragon","t_dr_green":"Green dragon","t_dr_white":"White dragon","TILES_SUIT_CIRCLES":"Circles","TILES_SUIT_BAMBOO":"Bamboo","TILES_SUIT_CHARACTERS":"Characters","TILES_SUITS":"Suits","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seasons","TILES_BONUS_FLOWERS":"Flowers","TILES_HONORS":"Honors","TILES_HONORS_WINDS":"Winds","TILES_HONORS_DRAGONS":"Dragons","TILES_JOKERS":"Coringas","TILES_JOKERS_GENERAL":"Coringas para todos os fins","TILES_JOKERS_BLUEGREEN":"Coringas azuis/verdes","TILES_JOKERS_RED":"Coringas vermelhos","TILES_JOKERS_RANK":"Coringas com restri\xe7\xe3o de classifica\xe7\xe3o","TILES_EXTRA":"Extra","TILES_DARK":"Escuro","THEME":"Tema de cores","THEME_LIGHT_GREEN":"Luz verde","THEME_DARK_GREEN":"Verde escuro","THEME_LIGHT_BLUE":"Azul claro","THEME_DARK_BLUE":"Azul escuro","THEME_BROWN":"Marrom","THEME_BLACK":"Preta","THEME_WHITE":"Branca","t_g1":"Cem usos","t_g2":"Muitos usos","t_g3":"V\xf4o","t_g4":"Coringa de c\xedrculo","t_g5":"Coringa de bambu","t_g6":"Coringa de s\xedmbolo","t_g7":"Coringa universal","t_g8":"Coringa de terno e honra","t_g9":"Coringa de terno","t_g10":"Coringa de drag\xe3o","t_g11":"Coringa do vento","t_g12":"Coringa de flores","t_g13":"Coringa de honra","t_g14":"Coringa terminal","t_g15":"147 Coringa","t_g16":"258 Coringa","t_g17":"369 Coringa","t_g18":"369 Coringa 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Embaralhar","SHUFFLE_LONG":"Embaralhe pedras neste jogo","GAME_MODE":"Modo","GAME_MODE_EASY":"F\xe1cil","GAME_MODE_STANDARD":"Padr\xe3o","GAME_MODE_EXPERT":"Especialista","HOW_TO_PLAY":"Como jogar","HOW_GOAL":"O objetivo \xe9 remover todas as pe\xe7as em pares abertos do tabuleiro de jogo.","HOW_OPEN":"Abrir","HOW_PAIR":"Par","HOW_PAIR_DESC":"Duas telhas com frente id\xeantica. Dentro das flores e esta\xe7\xf5es, quaisquer duas pe\xe7as do mesmo grupo podem ser combinadas.","HOW_OPEN_DESC":"Uma pe\xe7a est\xe1 aberta se n\xe3o houver pe\xe7as \xe0 sua esquerda, direita ou acima dela.","HOW_DO":"Selecione duas pe\xe7as iguais para remov\xea-las. Como h\xe1 mais de duas pe\xe7as para cada par potencial, a estrat\xe9gia est\xe1 envolvida."}');var ne=v.t(G,2);const ae=JSON.parse('{"RESTART":"\u041d\u043e\u0432\u0430\u044f \u0438\u0433\u0440\u0430","UNDO":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c","PAUSE":"\u041f\u0430\u0443\u0437\u0430","HINT":"\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430","STONES":"\u0424\u0438\u0448\u043a\u0438","FREE":"\u0425\u043e\u0434\u044b","FULLSCREEN":"\u041f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439","HINT_LONG":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0445\u043e\u0434\u044b","UNDO_LONG":"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0445\u043e\u0434","RESTART_LONG":"\u041d\u0430\u0447\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e \u0438\u0433\u0440\u0443","PAUSE_LONG":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c / \u043f\u0440\u0438\u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0433\u0440\u0443","MSG_CONTINUE_PAUSE":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0438\u0433\u0440\u0443\u2026","MSG_CONTINUE_SAVE":"\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u0443\u044e \u0438\u0433\u0440\u0443\u2026","MSG_START":"\u041d\u0430\u0447\u0430\u0442\u044c \u0438\u0433\u0440\u0443","MSG_PLAY_AGAIN":"\u0418\u0433\u0440\u0430\u0442\u044c \u0441\u043d\u043e\u0432\u0430","MSG_BEST":"\u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e \u0441 \u043d\u043e\u0432\u044b\u043c \u043b\u0443\u0447\u0448\u0438\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c!","MSG_GOOD":"\u041e\u0442\u043b\u0438\u0447\u043d\u043e!","MSG_FAIL":"\u041d\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u0444\u0438\u0448\u0435\u043a.","STATS_GAMES":"\u2116 \u0438\u0433\u0440","STATS_BEST":"\u041b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","LICENSE":"\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u044f","SHORTCUTS":"\u0413\u043e\u0440\u044f\u0447\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u0438","SETTINGS":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","STATS":"\u0421\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430","MODE":"\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u043a\u0438","MODE_SOLVABLE":"\u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c\u044b\u0439","MODE_RANDOM":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439","AUDIO":"\u0410\u0443\u0434\u0438\u043e","AUDIO_SOUNDS":"\u0417\u0432\u0443\u043a\u0438","AUDIO_MUSIC":"\u041c\u0443\u0437\u044b\u043a\u0430","LANG":"\u042f\u0437\u044b\u043a","LANG_AUTO":"[\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e]","OPEN_SETTINGS":"\u041d\u0430\u0436\u043c\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438","OPEN_HELP":"\u0429\u0435\u043b\u043a\u043d\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0434\u0438\u0430\u043b\u043e\u0433\u043e\u0432\u043e\u0435 \u043e\u043a\u043d\u043e \u0441\u043f\u0440\u0430\u0432\u043a\u0438","READ_MORE_WIKIPEDIA":"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0432 \u0412\u0438\u043a\u0438\u043f\u0435\u0434\u0438\u0438","READ_MORE_WIKIPEDIA_URL":"https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%B4%D0%B6%D0%BE%D0%BD%D0%B3_(%D0%BF%D0%B0%D1%81%D1%8C%D1%8F%D0%BD%D1%81)","TILES_INFO":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0433\u0440\u044b","TILES":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430","INFO_LONG":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438\u0433\u0440\u044b","HELP":"\u041f\u043e\u043c\u043e\u0449\u044c","HELP_LONG":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c/\u0441\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e\u0442 \u0434\u0438\u0430\u043b\u043e\u0433","SETTINGS_LONG":"\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u044f\u0437\u044b\u043a\u0430, \u043d\u0430\u0431\u043e\u0440\u043e\u0432 \u043f\u043b\u0438\u0442\u043e\u043a \u0438 \u0446\u0432\u0435\u0442\u043e\u0432","MODE_SOLVABLE_DESC":"\u0421\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0437\u0430\u043b\u0438\u0432\u043a\u0430 \u0441 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0448\u0435\u043d\u0438\u044f","MODE_RANDOM_DESC":"\u041f\u043e\u043b\u043d\u0430\u044f \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0430\u044f \u0437\u0430\u043b\u0438\u0432\u043a\u0430, \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c\u0430\u044f ","SELECT_BOARD":"\u0412\u044b\u0431\u043e\u0440 \u043a\u0430\u0440\u0442\u044b","BOARD_GENERATOR":"\u0413\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u043f\u043b\u0430\u0442\u044b","START_SELECTED":"\u041d\u0430\u0447\u0430\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043e","START_RANDOM":"\u041d\u0430\u0447\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439","TILESET":"\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434 \u0444\u0438\u0448\u0435\u043a","BACKGROUND":"\u0424\u043e\u043d","INFO":"\u041f\u0440\u0430\u0432\u0438\u043b\u0430","BEST_TIMES":"\u041b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","BEST_TIMES_CLEAR":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","BEST_TIMES_CLEAR_SURE":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f?\\n\u042d\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e.","BEST_TIME_CLEAR":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f","BEST_TIME_CLEAR_SURE":"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u043b\u0443\u0447\u0448\u0435\u0435 \u0432\u0440\u0435\u043c\u044f?\\n\u042d\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e.","HIGHER_CONTRAST":"\u0411\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u0430\u0441\u0442","SOURCE":"\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a","GAME":"\u0418\u0433\u0440\u0430","DESIGNS":"\u0414\u0438\u0437\u0430\u0439\u043d","SOUNDS":"\u0417\u0432\u0443\u043a\u0438","FONTS":"\u0428\u0440\u0438\u0444\u0442\u044b","BACKGROUNDS":"\u0424\u043e\u043d\u044b","BACK_NONE":"[\u041d\u0438\u043a\u0442\u043e]","BACK_BAMBOO":"\u0411\u0430\u043c\u0431\u0443\u043a","BACK_BLUE_CLOUDS":"\u0421\u0438\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u043a\u0430","BACK_GRAY_CLOUDS":"\u0421\u0435\u0440\u044b\u0435 \u043e\u0431\u043b\u0430\u043a\u0430","BACK_GRAY_GRASS":"\u0422\u0440\u0430\u0432\u0430","BACK_GRAY_STONES":"\u041a\u0430\u043c\u043d\u0438","BACK_GRAY_WOOD":"\u0414\u0435\u0440\u0435\u0432\u044f\u043d\u043d\u044b\u0439 \u0441\u0442\u043e\u043b","BACK_GRAY_WOOD_GRAIN":"\u0422\u0435\u043a\u0441\u0442\u0443\u0440\u0430 \u0434\u0440\u0435\u0432\u0435\u0441\u0438\u043d\u044b","t_do1":"Pearl","t_do2":"Pine tree","t_do3":"Phoenix","t_do4":"Jade","t_do5":"Dragon","t_do6":"Peach","t_do7":"Insect","t_do8":"White Tiger","t_do9":"Unicorn","t_ba1":"Peacock","t_ba2":"Duck","t_ba3":"Toad","t_ba4":"Carp","t_ba5":"Lotus flower","t_ba6":"Water","t_ba7":"Tortoise","t_ba8":"Mushroom","t_ba9":"Willow tree","t_ch1":"Bar of door","t_ch2":"Sword","t_ch3":"Earth","t_ch4":"Lute","t_ch5":"House","t_ch6":"Fire","t_ch7":"Seven stars","t_ch8":"Knot","t_ch9":"Heaven","t_se_spring":"Spring","t_se_summer":"Summer","t_se_fall":"Fall","t_se_winter":"Winter","t_fl_bamboo":"Bamboo","t_fl_orchid":"Orchid","t_fl_plum":"Plum Blossom","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"East","t_wi_south":"South","t_wi_west":"West","t_wi_north":"North","t_dr_red":"Red dragon","t_dr_green":"Green dragon","t_dr_white":"White dragon","TILES_SUIT_CIRCLES":"Circles","TILES_SUIT_BAMBOO":"Bamboo","TILES_SUIT_CHARACTERS":"Characters","TILES_SUITS":"Suits","TILES_BONUS":"Bonus","TILES_BONUS_SEASONS":"Seasons","TILES_BONUS_FLOWERS":"Flowers","TILES_HONORS":"Honors","TILES_HONORS_WINDS":"Winds","TILES_HONORS_DRAGONS":"Dragons","TILES_JOKERS":"\u0414\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_GENERAL":"\u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_BLUEGREEN":"\u0421\u0438\u043d\u0438\u0435/\u0437\u0435\u043b\u0435\u043d\u044b\u0435 \u0434\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_RED":"\u041a\u0440\u0430\u0441\u043d\u044b\u0435 \u0434\u0436\u043e\u043a\u0435\u0440\u044b","TILES_JOKERS_RANK":"\u0414\u0436\u043e\u043a\u0435\u0440\u044b \u0441 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0440\u0430\u043d\u0433\u0443","TILES_EXTRA":"\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439","TILES_DARK":"\u0422\u0435\u043c\u043d\u044b\u0439","THEME":"\u0446\u0432\u0435\u0442\u043e\u0432\u0430\u044f \u0442\u0435\u043c\u0430","THEME_LIGHT_GREEN":"\u0421\u0432\u0435\u0442\u043b\u043e-\u0437\u0435\u043b\u0435\u043d\u044b\u0439","THEME_DARK_GREEN":"\u0422\u0435\u043c\u043d\u043e-\u0437\u0435\u043b\u0435\u043d\u044b\u0439","THEME_LIGHT_BLUE":"\u0421\u0432\u0435\u0442\u043b\u043e-\u0441\u0438\u043d\u0438\u0439","THEME_DARK_BLUE":"\u0422\u0435\u043c\u043d\u043e-\u0441\u0438\u043d\u0438\u0439","THEME_BROWN":"\u041a\u043e\u0440\u0438\u0447\u043d\u0435\u0432\u044b\u0439","THEME_BLACK":"\u0427\u0435\u0440\u043d\u044b\u0439","THEME_WHITE":"\u0411\u0435\u043b\u044b\u0439","t_g1":"\u0421\u043e\u0442\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0439","t_g2":"\u041c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0439","t_g3":"\u041b\u0435\u0442\u0430\u044e\u0449\u0438\u0439","t_g4":"\u041a\u0440\u0443\u0433\u043e\u0432\u043e\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g5":"\u0411\u0430\u043c\u0431\u0443\u043a\u043e\u0432\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g6":"\u041f\u0435\u0440\u0441\u043e\u043d\u0430\u0436 \u0434\u0436\u043e\u043a\u0435\u0440","t_g7":"\u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g8":"\u041a\u043e\u0441\u0442\u044e\u043c \u0438 \u0427\u0435\u0441\u0442\u044c \u0414\u0436\u043e\u043a\u0435\u0440","t_g9":"\u041a\u043e\u0441\u0442\u044e\u043c \u0434\u0436\u043e\u043a\u0435\u0440\u0430","t_g10":"\u0414\u0436\u043e\u043a\u0435\u0440 \u0434\u0440\u0430\u043a\u043e\u043d\u0430","t_g11":"\u0414\u0436\u043e\u043a\u0435\u0440 \u0432\u0435\u0442\u0440\u0430","t_g12":"\u0426\u0432\u0435\u0442\u043e\u0447\u043d\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g13":"\u0425\u043e\u043d\u043e\u0440 \u0414\u0436\u043e\u043a\u0435\u0440","t_g14":"\u0422\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0434\u0436\u043e\u043a\u0435\u0440","t_g15":"147 \u0434\u0436\u043e\u043a\u0435\u0440","t_g16":"258 \u0434\u0436\u043e\u043a\u0435\u0440","t_g17":"369 \u0434\u0436\u043e\u043a\u0435\u0440","t_g18":"369 \u0434\u0436\u043e\u043a\u0435\u0440 2","t_e1":"\u042d\u043a\u0441\u0442\u0440\u0430 1","t_e2":"\u042d\u043a\u0441\u0442\u0440\u0430 2","t_e3":"\u042d\u043a\u0441\u0442\u0440\u0430 3","t_e4":"\u042d\u043a\u0441\u0442\u0440\u0430 4","t_e5":"\u042d\u043a\u0441\u0442\u0440\u0430 5","t_e6":"\u042d\u043a\u0441\u0442\u0440\u0430 6","t_e7":"\u042d\u043a\u0441\u0442\u0440\u0430 7","t_e8":"\u042d\u043a\u0441\u0442\u0440\u0430 8","t_e9":"\u042d\u043a\u0441\u0442\u0440\u0430 9","SHUFFLE":"\u041f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u0442\u044c","SHUFFLE_LONG":"\u041f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u0442\u044c \u043a\u0430\u043c\u043d\u0438 \u0432 \u044d\u0442\u043e\u0439 \u0438\u0433\u0440\u0435","GAME_MODE":"M\u043e\u0434\u0443\u0441","GAME_MODE_EASY":"\u041b\u0435\u0433\u043a\u043e","GAME_MODE_STANDARD":"\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442","GAME_MODE_EXPERT":"\u042d\u043a\u0441\u043f\u0435\u0440\u0442","HOW_TO_PLAY":"\u041a\u0430\u043a \u0438\u0433\u0440\u0430\u0442\u044c","HOW_GOAL":"\u0426\u0435\u043b\u044c \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u043f\u0430\u0440\u0430\u0445 \u0441 \u0438\u0433\u0440\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044f.","HOW_OPEN":"\u041e\u0442\u043a\u0440\u044b\u0442\u044b\u043c","HOW_PAIR":"\u041f\u0430\u0440\u0430","HOW_PAIR_DESC":"\u0414\u0432\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u043b\u0438\u0446\u0435\u0432\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u043e\u0439. \u0412 \u0446\u0432\u0435\u0442\u0430\u0445 \u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0430\u0445 \u0433\u043e\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043b\u044e\u0431\u044b\u0435 \u0434\u0432\u0435 \u043f\u043b\u0438\u0442\u043a\u0438 \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b.","HOW_OPEN_DESC":"\u041f\u043b\u0438\u0442\u043a\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0430, \u0435\u0441\u043b\u0438 \u0441\u043b\u0435\u0432\u0430, \u0441\u043f\u0440\u0430\u0432\u0430 \u0438\u043b\u0438 \u043d\u0430\u0434 \u043d\u0435\u0439 \u043d\u0435\u0442 \u043f\u043b\u0438\u0442\u043e\u043a.","HOW_DO":"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u0432\u0435 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043f\u043b\u0438\u0442\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438\u0445. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u0440\u044b \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0434\u0432\u0443\u0445 \u043f\u043b\u0438\u0442\u043e\u043a, \u0437\u0434\u0435\u0441\u044c \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0440\u0430\u0442\u0435\u0433\u0438\u044f."}');var se=v.t(ae,2);const J=JSON.parse('{"RESTART":"Partida nueva","UNDO":"Deshacer","PAUSE":"Detener","HINT":"Pista","STONES":"Fichas","FREE":"Libre","FULLSCREEN":"Pantalla completa","HINT_LONG":"Mostrar movimientos posibles","UNDO_LONG":"Deshacer \xfaltimo movimiento","RESTART_LONG":"Iniciar partida nueva","PAUSE_LONG":"Continuar/Detener partida","MSG_CONTINUE_PAUSE":"Continuar partida\u2026","MSG_CONTINUE_SAVE":"Continuar partida guardada\u2026","MSG_START":"Iniciar partida","MSG_PLAY_AGAIN":"Jugar otra vez","MSG_BEST":"\xa1Has logrado un nuevo record!","MSG_GOOD":"\xa1Bien hecho!","MSG_FAIL":"No se pueden hacer movimientos.","STATS_GAMES":"N\xba de partidas","STATS_BEST":"Record","LICENSE":"Licencia","SHORTCUTS":"Atajos","SETTINGS":"Ajustes","STATS":"Estad\xedsticas","MODE":"Algoritmo de relleno del tablero","MODE_SOLVABLE":"Resoluble","MODE_RANDOM":"Aleatorio","AUDIO":"Audio","AUDIO_SOUNDS":"Activar/Desactivar sonido","AUDIO_MUSIC":"M\xfasica","LANG":"Idioma","LANG_AUTO":"[Predeterminado]","OPEN_SETTINGS":"Haz clic aqu\xed para abrir ajustes","OPEN_HELP":"Haz clic aqu\xed para abrir ventana de ayuda","READ_MORE_WIKIPEDIA":"Leer m\xe1s en wikipedia","READ_MORE_WIKIPEDIA_URL":"https://en.wikipedia.org/wiki/Mahjong_tiles","TILES_INFO":"Informaci\xf3n sobre las fichas","TILES":"Fichas","INFO_LONG":"Informaci\xf3n sobre las fichas","HELP":"Ayuda","HELP_LONG":"Mostrar/ocultar esta ventana","SETTINGS_LONG":"Configurar idioma, conjunto de fichas y colores","MODE_SOLVABLE_DESC":"Relleno aleatorio con al menos una soluci\xf3n posible","MODE_RANDOM_DESC":"Relleno totalmente aleatorio, quiz\xe1s sin soluci\xf3n","SELECT_BOARD":"Seleccionar tablero","BOARD_GENERATOR":"Generador de tablero","START_SELECTED":"Iniciar seleccionado","START_RANDOM":"Iniciar aleatorio","TILESET":"Dise\xf1o de las fichas","BACKGROUND":"Fondo","INFO":"Informaci\xf3n","BEST_TIMES":"Records","BEST_TIMES_CLEAR":"Limpiar records","BEST_TIMES_CLEAR_SURE":"\xbfLimpiar todos los records?\\nEsto no se puede deshacer.","BEST_TIME_CLEAR":"Limpiar record","BEST_TIME_CLEAR_SURE":"\xbfLimpiar record?\\nEsto no se puede deshacer.","HIGHER_CONTRAST":"Mayor contraste","SOURCE":"Fuente","GAME":"Partida","DESIGNS":"Dise\xf1os","SOUNDS":"Sonidos","FONTS":"Fuentes","BACKGROUNDS":"Fondos","BACK_NONE":"[Ninguno]","BACK_BAMBOO":"Bamb\xfa","BACK_BLUE_CLOUDS":"Nubes azules","BACK_GRAY_CLOUDS":"Nubes grises","BACK_GRAY_GRASS":"C\xe9sped","BACK_GRAY_STONES":"Piedras","BACK_GRAY_WOOD":"Mesa de Madera","BACK_GRAY_WOOD_GRAIN":"Veta de madera","t_do1":"Perla","t_do2":"Pino","t_do3":"F\xe9nix","t_do4":"Jade","t_do5":"Drag\xf3n","t_do6":"Melocot\xf3n","t_do7":"Insecto","t_do8":"Tigre Blanco","t_do9":"Unicornio","t_ba1":"Pavo real","t_ba2":"Pato","t_ba3":"Sapo","t_ba4":"Carpa","t_ba5":"Flor de loto","t_ba6":"Agua","t_ba7":"Tortuga","t_ba8":"Seta","t_ba9":"\xc1rbol de sauce","t_ch1":"Barra de puerta","t_ch2":"Espada","t_ch3":"Tierra","t_ch4":"La\xfad","t_ch5":"Casa","t_ch6":"Fuego","t_ch7":"Siete estrellas","t_ch8":"Nudo","t_ch9":"Cielo","t_se_spring":"Primavera","t_se_summer":"Verano","t_se_fall":"Oto\xf1o","t_se_winter":"Invierno","t_fl_bamboo":"Bamb\xfa","t_fl_orchid":"Orqu\xeddea","t_fl_plum":"Flor del ciruelo","t_fl_chrysanthemum":"Chrysan­themum","t_wi_east":"Este","t_wi_south":"Sur","t_wi_west":"Oeste","t_wi_north":"Norte","t_dr_red":"Drag\xf3n rojo","t_dr_green":"Drag\xf3n verde","t_dr_white":"Drag\xf3n blanco","TILES_SUIT_CIRCLES":"C\xedrculos","TILES_SUIT_BAMBOO":"Bamb\xfa","TILES_SUIT_CHARACTERS":"Caracteres","TILES_SUITS":"Trajes","TILES_BONUS":"Bonificaci\xf3n","TILES_BONUS_SEASONS":"Estaciones","TILES_BONUS_FLOWERS":"Flores","TILES_HONORS":"Honores","TILES_HONORS_WINDS":"Vientos","TILES_HONORS_DRAGONS":"Dragones","TILES_JOKERS":"Comodines","TILES_JOKERS_GENERAL":"Comodines para todo uso","TILES_JOKERS_BLUEGREEN":"Comodines azul/verde","TILES_JOKERS_RED":"Comodines rojos","TILES_JOKERS_RANK":"Comodines de rango restringido","TILES_EXTRA":"Extra","TILES_DARK":"Oscuro","TEMA":"Tema","THEME_LIGHT_GREEN":"Verde claro","THEME_DARK_GREEN":"Verde oscuro","THEME_LIGHT_BLUE":"Azul claro","THEME_DARK_BLUE":"Azul oscuro","THEME_BROWN":"Marr\xf3n","THEME_BLACK":"Negro","THEME_WHITE":"Blanco","t_g1":"Cien usos","t_g2":"M\xfaltiples usos","t_g3":"Volador","t_g4":"Comod\xedn de c\xedrculo","t_g5":"Comod\xedn de bamb\xfa","t_g6":"Comod\xedn de personaje","t_g7":"Comod\xedn universal","t_g8":"Comod\xedn de traje y honor","t_g9":"Comod\xedn de traje","t_g10":"Comod\xedn de drag\xf3n","t_g11":"Comod\xedn de viento","t_g12":"Comod\xedn de flor","t_g13":"Comod\xedn de honor","t_g14":"Comod\xedn terminal","t_g15":"Comod\xedn 147","t_g16":"Comod\xedn 258","t_g17":"Comod\xedn 369","t_g18":"Comod\xedn 369 2","t_e1":"Extra 1","t_e2":"Extra 2","t_e3":"Extra 3","t_e4":"Extra 4","t_e5":"Extra 5","t_e6":"Extra 6","t_e7":"Extra 7","t_e8":"Extra 8","t_e9":"Extra 9","SHUFFLE":"Barajar","SHUFFLE_LONG":"Barajar fichas en la partida","GAME_MODE":"Modo","GAME_MODE_EASY":"F\xe1cil","GAME_MODE_STANDARD":"Normal","GAME_MODE_EXPERT":"Experto","HOW_TO_PLAY":"C\xf3mo jugar","HOW_GOAL":"El objetivo es eliminar todos los pares de fichas abiertas del tablero de juego.","HOW_OPEN":"Abierto","HOW_PAIR":"Par","HOW_PAIR_DESC":"Dos fichas con id\xe9ntico dibujo. Dentro de las flores y las estaciones, se pueden emparejar dos fichas cualquiera del mismo grupo.","HOW_OPEN_DESC":"Una ficha est\xe1 abierta si no hay fichas a su izquierda, derecha o encima.","HOW_DO":"Selecciona dos fichas iguales para eliminarlas. Como hay m\xe1s de dos fichas para cada combinaci\xf3n posible, hay que seguir una estrategia."}'),Ie="en",ge={en:{title:"English",data:o},de:{title:"Deutsch",data:oe},nl:{title:"Nederlands",data:F},pt:{title:"Portugu\xeas",data:ne},ru:{title:"\u0440\u0443\u0441\u0441\u043a\u0438\u0439",data:se},es:{title:"Espa\xf1ol",data:v.t(J,2)}},$=Object.keys(ge).map(de=>({key:de,title:ge[de].title}))},3104:($e,De,v)=>{"use strict";v.d(De,{CA:()=>oe,Ib:()=>G,dQ:()=>F});var d=v(4678),o=v(5405),k=v(5821);const oe="MODE_SOLVABLE",F=[{id:oe,builder:d.N},{id:"MODE_RANDOM",builder:o.v}];class G{constructor(ae){this.tiles=ae}load(ae){return(new k.a).build(ae,this.tiles)}build(ae,se){let J;const le=F.find(Ie=>Ie.id===ae);if(le&&(J=new le.builder),J)return J.build(se,this.tiles)}}},3378:($e,De,v)=>{"use strict";v.d(De,{K:()=>o});var d=v(5050);class o{static random(oe){return Math.floor(Math.random()*oe.length)}static randomExtract(oe){const w=o.random(oe);return oe.splice(w,1)[0]}static collectNodes(oe,w){const F={left:[],right:[],top:[],bottom:[]};let G;for(let ne=w.y-1;ne<=w.y+1;ne++){G=(0,d.D)(oe,w.z,w.x-2,ne),G&&F.left.push(G),G=(0,d.D)(oe,w.z,w.x+2,ne),G&&F.right.push(G);for(let ae=w.x-1;ae<=w.x+1;ae++)G=(0,d.D)(oe,w.z+1,ae,ne),G&&F.top.push(G),G=(0,d.D)(oe,w.z-1,ae,ne),G&&F.bottom.push(G)}return F}static fillStones(oe,w){const F={};return oe.forEach(G=>{const ne=w.list[G.v];G.img=ne?ne.img:{id:void 0},F[G.groupnr]=F[G.groupnr]||[],F[G.groupnr].push(G),G.nodes=o.collectNodes(oe,G)}),Object.keys(F).forEach(G=>{const ne=F[Number(G)];ne.forEach(ae=>{ae.group=ne.filter(se=>se!==ae)})}),oe}getTilesInGame(oe,w){return oe.list.filter(F=>void 0!==F)}getTilesInPairs(oe,w){const F=[];return oe.groups.forEach(G=>{for(let ne=0;ne<G.tiles.length;ne+=2)F.push([G.tiles[ne],G.tiles[ne+1]])}),F}}},5821:($e,De,v)=>{"use strict";v.d(De,{a:()=>k});var d=v(5050),o=v(3378);class k{build(w,F){const G=[];return w.forEach(ne=>{const ae=F.list[ne[3]];if(ae){const se=new d.r(ne[0],ne[1],ne[2],ne[3],ae.groupnr);G.push(se)}}),o.K.fillStones(G,F),G}}},5405:($e,De,v)=>{"use strict";v.d(De,{v:()=>k});var d=v(5050),o=v(3378);class k extends o.K{build(w,F){const G=this.getTilesInGame(F,w.length),ne=[],ae=w.slice(0);for(;ae.length>0;){const se=o.K.randomExtract(G),J=o.K.randomExtract(ae);ne.push(new d.r(J[0],J[1],J[2],se.v,se.groupnr))}return o.K.fillStones(ne,F),ne}}},4678:($e,De,v)=>{"use strict";v.d(De,{N:()=>oe});var d=v(5050),o=v(3378),k=v(5405);class oe extends o.K{build(F,G){const ne=[];F.forEach(J=>{ne.push(new d.r(J[0],J[1],J[2],0,0))}),o.K.fillStones(ne,G);let ae=1,se=this.solve(ne,G);for(;0===se.length&&ae<1e3;)ne.forEach(J=>{J.picked=!1,J.v=0,J.groupnr=0}),se=this.solve(ne,G),ae++;return 0===se.length?(new k.v).build(F,G):(ne.forEach(J=>{J.picked=!1}),o.K.fillStones(ne,G),ne.sort((J,le)=>J.v-le.v),ne)}solve(F,G){const ne=[],ae=[],se=F.length/2,J=G.groups.slice();for(;J.length>0;){const Ie=o.K.randomExtract(J).tiles.slice(),ge=o.K.randomExtract(Ie),$=o.K.randomExtract(Ie),de=o.K.randomExtract(Ie),L=Ie[0];ae.length<se&&ae.push([ge,$]),ae.length<se&&ae.push([de,L])}for(;ae.length>0;){const le=o.K.randomExtract(ae),Ie=F.filter(de=>!de.picked&&!de.isBlocked());if(Ie.length<2)return[];const ge=o.K.randomExtract(Ie),$=o.K.randomExtract(Ie);ge.v=le[0].v,ge.img=le[0].img,ge.groupnr=le[0].groupnr,ge.picked=!0,$.v=le[1].v,$.img=le[1].img,$.groupnr=le[1].groupnr,$.picked=!0,ne.push(le)}return ne}}},1344:($e,De,v)=>{"use strict";v.d(De,{B8:()=>J,Ej:()=>k,Jz:()=>ae,PO:()=>o,PX:()=>F,Sj:()=>ne,WU:()=>w,b3:()=>G,cR:()=>oe,hJ:()=>se,xK:()=>le,yU:()=>Ie,zl:()=>d});const d={mY:18,mX:38,mZ:7,tileWidth:75,tileHeight:100},o={idle:0,run:1,pause:2,freeze:3},k="GAME_MODE_EASY",oe="GAME_MODE_STANDARD",w="GAME_MODE_EXPERT",F=[{id:k,features:[{title:"SHUFFLE"},{title:"HINT"},{title:"UNDO"}]},{id:oe,features:[{title:"HINT"},{title:"UNDO"}]},{id:w,features:[]}],G=[{id:"ltgreen",name:"THEME_LIGHT_GREEN"},{id:"dkgreen",name:"THEME_DARK_GREEN"},{id:"ltblue",name:"THEME_LIGHT_BLUE"},{id:"dkblue",name:"THEME_DARK_BLUE"},{id:"brown",name:"THEME_BROWN"},{id:"black",name:"THEME_BLACK"},{id:"white",name:"THEME_WHITE"}],ne=[{img:void 0,name:"BACK_NONE"},{img:"bamboo.jpg",name:"BACK_BAMBOO"},{img:"blueclouds.jpg",name:"BACK_BLUE_CLOUDS"},{img:"grayclouds.jpg",name:"BACK_GRAY_CLOUDS"},{img:"grass-1.jpg",name:"BACK_GRAY_GRASS"},{img:"stones-1.jpg",name:"BACK_GRAY_STONES"},{img:"wood.jpg",name:"BACK_GRAY_WOOD"},{img:"wood-grain-1.jpg",name:"BACK_GRAY_WOOD_GRAIN"}],ae=[{id:"riichi",type:"SVG",name:"Riichi"},{id:"uni",type:"SVG",name:"Uni"},{id:"bzhmaddog",type:"SVG",name:"Bzhmaddog"},{id:"cheshire137",type:"SVG",name:"Cheshire"},{id:"recri2",type:"SVG",name:"Recri"},{id:"unib",type:"SVG",name:"Black"},{id:"gleitz",type:"PNG",name:"Gleitz"},{id:"recri",type:"PNG",name:"Recri"},{id:"open-fruits",type:"PNG",name:"Fruits"},{id:"picasso",type:"PNG",name:"Picasso"},{id:"modern",type:"PNG",name:"Modern"},{id:"classic",type:"PNG",name:"Classic"}],se="riichi",J=[["t_do1","t_do1","t_do1","t_do1"],["t_do2","t_do2","t_do2","t_do2"],["t_do3","t_do3","t_do3","t_do3"],["t_do4","t_do4","t_do4","t_do4"],["t_do5","t_do5","t_do5","t_do5"],["t_do6","t_do6","t_do6","t_do6"],["t_do7","t_do7","t_do7","t_do7"],["t_do8","t_do8","t_do8","t_do8"],["t_do9","t_do9","t_do9","t_do9"],["t_ch1","t_ch1","t_ch1","t_ch1"],["t_ch2","t_ch2","t_ch2","t_ch2"],["t_ch3","t_ch3","t_ch3","t_ch3"],["t_ch4","t_ch4","t_ch4","t_ch4"],["t_ch5","t_ch5","t_ch5","t_ch5"],["t_ch6","t_ch6","t_ch6","t_ch6"],["t_ch7","t_ch7","t_ch7","t_ch7"],["t_ch8","t_ch8","t_ch8","t_ch8"],["t_ch9","t_ch9","t_ch9","t_ch9"],["t_ba1","t_ba1","t_ba1","t_ba1"],["t_ba2","t_ba2","t_ba2","t_ba2"],["t_ba3","t_ba3","t_ba3","t_ba3"],["t_ba4","t_ba4","t_ba4","t_ba4"],["t_ba5","t_ba5","t_ba5","t_ba5"],["t_ba6","t_ba6","t_ba6","t_ba6"],["t_ba7","t_ba7","t_ba7","t_ba7"],["t_ba8","t_ba8","t_ba8","t_ba8"],["t_ba9","t_ba9","t_ba9","t_ba9"],["t_se_spring","t_se_summer","t_se_fall","t_se_winter"],["t_wi_north","t_wi_north","t_wi_north","t_wi_north"],["t_wi_south","t_wi_south","t_wi_south","t_wi_south"],["t_wi_east","t_wi_east","t_wi_east","t_wi_east"],["t_wi_west","t_wi_west","t_wi_west","t_wi_west"],["t_fl_bamboo","t_fl_chrysanthemum","t_fl_orchid","t_fl_plum"],["t_dr_green","t_dr_green","t_dr_green","t_dr_green"],["t_dr_white","t_dr_white","t_dr_white","t_dr_white"],["t_dr_red","t_dr_red","t_dr_red","t_dr_red"]],le=[];for(let ge=1;ge<19;ge++)le.push([`t_g${ge}`,`t_g${ge}`,`t_g${ge}`,`t_g${ge}`]);for(let ge=1;ge<10;ge++)le.push([`t_e${ge}`,`t_e${ge}`,`t_e${ge}`,`t_e${ge}`]);const Ie=[{name:"TILES_SUITS",groups:[{name:"TILES_SUIT_CIRCLES",tiles:["t_do1","t_do2","t_do3","t_do4","t_do5","t_do6","t_do7","t_do8","t_do9"]},{name:"TILES_SUIT_BAMBOO",tiles:["t_ba1","t_ba2","t_ba3","t_ba4","t_ba5","t_ba6","t_ba7","t_ba8","t_ba9"]},{name:"TILES_SUIT_CHARACTERS",tiles:["t_ch1","t_ch2","t_ch3","t_ch4","t_ch5","t_ch6","t_ch7","t_ch8","t_ch9"]}]},{name:"TILES_BONUS",groups:[{name:"TILES_BONUS_SEASONS",tiles:["t_se_spring","t_se_summer","t_se_fall","t_se_winter"]},{name:"TILES_BONUS_FLOWERS",tiles:["t_fl_bamboo","t_fl_orchid","t_fl_plum","t_fl_chrysanthemum"]}]},{name:"TILES_HONORS",groups:[{name:"TILES_HONORS_WINDS",tiles:["t_wi_east","t_wi_south","t_wi_west","t_wi_north"]},{name:"TILES_HONORS_DRAGONS",tiles:["t_dr_red","t_dr_green","t_dr_white"]}]},{name:"TILES_JOKERS",groups:[{name:"TILES_JOKERS_GENERAL",tiles:["t_g1","t_g2","t_g3"]},{name:"TILES_JOKERS_BLUEGREEN",tiles:["t_g4","t_g5","t_g6","t_g7","t_g8"]},{name:"TILES_JOKERS_RED",tiles:["t_g9","t_g10","t_g11","t_g12","t_g13"]},{name:"TILES_JOKERS_RANK",tiles:["t_g14","t_g15","t_g16","t_g17","t_g18"]}]},{name:"TILES_EXTRA",groups:[{name:"TILES_EXTRA",tiles:["t_e1","t_e2","t_e3","t_e4","t_e5","t_e6","t_e7","t_e8","t_e9"]}]}]},8219:($e,De,v)=>{"use strict";v.d(De,{Fk:()=>ne,N4:()=>oe,Rb:()=>w,lK:()=>F,lq:()=>G,zx:()=>k});var d=v(1344),o=v(5050);function k(ae,se,J){const le={x:(d.zl.tileWidth+2)*se/2-8*ae+d.zl.tileWidth/2,y:(d.zl.tileHeight+2)*J/2-8*ae+d.zl.tileHeight/2,z:J+d.zl.mY*(se+d.zl.mX*ae),translate:""};return le.translate=`translate(${le.x},${le.y})`,le}function oe(ae){const se=J=>J.pos.z;return ae.sort((J,le)=>{const Ie=se(J),ge=se(le);return Ie<ge?-1:Ie>ge?1:0})}function w(ae,se,J,le=!1){return(le?[-ae[3]-d.zl.tileHeight-10,-ae[0]-30,ae[3]+d.zl.tileHeight-10,ae[2]+ae[0]+d.zl.tileWidth+40]:[ae[0]-40,ae[1]-20,ae[2]+d.zl.tileHeight+40,ae[3]+d.zl.tileHeight+20]).join(" ")}function F(ae,se,J,le=!1){return w(G(ae,se,J),0,0,le)}function G(ae,se,J){const le=Math.max(se,J),Ie=[le,le,0,0];return ae.forEach(ge=>{Ie[0]=Math.min(Ie[0],ge.pos.x),Ie[1]=Math.min(Ie[1],ge.pos.y),Ie[2]=Math.max(Ie[2],ge.pos.x),Ie[3]=Math.max(Ie[3],ge.pos.y)}),Ie}function ne(ae){const se=new o.r(0,0,0,0,0);return oe(ae.map(le=>({z:le[0],x:le[1],y:le[2],v:0,visible:!0,pos:k(le[0],le[1],le[2]),source:se})))}},2878:($e,De,v)=>{"use strict";function d(w){const F=[];return w.forEach(G=>{const ne=G[0];G[1].forEach(se=>{const J=se[0],le=se[1];Array.isArray(le)?le.forEach(Ie=>{if(Array.isArray(Ie)){let ge=Ie[0];const $=Ie[1];for(let de=0;de<$;de++)F.push([ne,ge,J]),ge+=2}else F.push([ne,Ie,J])}):F.push([ne,le,J])})}),F}function k(w){return function o(w){let G,ne,F=0;if(0===w.length)return F;for(G=0;G<w.length;G++)ne=w.charCodeAt(G),F=(F<<5)-F+ne,F|=0;return F+2147483647}(JSON.stringify(w)).toString()}function oe(w,F,G,ne){const ae={x:G,y:ne,z:F};return w.forEach(se=>{ae.z=Math.max(ae.z,se[0]+1),ae.x=Math.max(ae.x,se[1]+1),ae.y=Math.max(ae.y,se[2]+1)}),ae}v.d(De,{O8:()=>oe,_q:()=>d,le:()=>k})},5050:($e,De,v)=>{"use strict";v.d(De,{D:()=>o,r:()=>d});class d{constructor(oe,w,F,G,ne){this.picked=!1,this.group=[],this.z=oe,this.x=w,this.y=F,this.v=G,this.groupnr=ne}toPosition(){return{z:this.z,x:this.x,y:this.y,v:this.v,groupnr:this.groupnr}}isBlocked(){return d.hasStone(this.nodes.top)||d.hasStone(this.nodes.left)&&d.hasStone(this.nodes.right)}static hasStone(oe){for(const w of oe)if(!w.picked)return!0;return!1}}const o=(k,oe,w,F)=>{for(let G=0,ne=k.length;G<ne;G++)if(k[G].z===oe&&k[G].x===w&&k[G].y===F)return k[G]}},2240:($e,De,v)=>{"use strict";v.d(De,{r:()=>o});var d=v(1344);class o{constructor(oe){this.list=[],this.groups=[];let w=0,F=d.B8.map(ne=>ne.map(ae=>({id:ae})));const G=Math.ceil(oe/4);if(G>F.length){const ne=d.xK.map(ae=>ae.map(se=>({id:se})));for(F=F.concat(ne);F.length<G;)F.push([{id:`_${F.length}a`},{id:`_${F.length}b`},{id:`_${F.length}c`},{id:`_${F.length}d`}])}F.forEach((ne,ae)=>{const se={v:ae,tiles:[]};this.groups.push(se),ne.forEach(J=>{w++;const le={groupnr:ae,v:w,img:J};se.tiles.push(le),this.list[w]=le})})}}},4722:($e,De,v)=>{"use strict";v.d(De,{C:()=>I});var d=v(4650),o=v(1344),k=v(8219),oe=v(6779),w=v(7340);class F{constructor(){this.gestureIndicators=[]}hide(re){setTimeout(()=>{re&&(re.state="hidden",setTimeout(()=>{if(re)for(let O=0;O<this.gestureIndicators.length;O++){const A=this.gestureIndicators[O];if(A.x===re.x&&A.y===re.y){this.gestureIndicators.splice(O,1);break}}},250))},500)}setSize(re,O){this.gestureIndicators[re].size=O,this.gestureIndicators[re].top=this.gestureIndicators[re].y-O/2,this.gestureIndicators[re].left=this.gestureIndicators[re].x-O/2}display(re,O,A){if(re>0&&O>0){const B={x:re,y:O,size:A,top:O-A/2,left:re-A/2,state:"hidden"};return this.gestureIndicators.push(B),setTimeout(()=>{B.state="visible"},100),B}}}const G=[(0,w.X$)("indicatorState",[(0,w.SB)("hidden",(0,w.oB)({transform:"scale(0, 0)"})),(0,w.SB)("visible",(0,w.oB)({transform:"scale(1, 1)"})),(0,w.eR)("hidden => visible",(0,w.jt)("150ms ease-in")),(0,w.eR)("visible => hidden",(0,w.jt)("150ms ease-out"))])];var ne=v(6895),ae=v(2196),se=v(8232),J=v(6341);function le(M,re){if(1&M&&(d.O4$(),d.TgZ(0,"title"),d._uU(1),d.ALo(2,"translate"),d.qZA()),2&M){const O=d.oxw().$implicit;d.xp6(1),d.Oqu(d.lcZ(2,1,O.url))}}function Ie(M,re){if(1&M){const O=d.EpF();d.O4$(),d.TgZ(0,"g",10),d.NdJ("mousedown",function(B){d.CHM(O);const Te=d.oxw();return d.KtG(Te.onClickDown(B))})("mouseup",function(B){const te=d.CHM(O).$implicit,me=d.oxw();return d.KtG(me.onClickUp(B,te))}),d.TgZ(1,"g",11),d.YNc(2,le,3,3,"title",12),d._UZ(3,"rect",13)(4,"rect",14)(5,"use",15),d.ALo(6,"prefix"),d._UZ(7,"use",16),d.qZA()()}if(2&M){const O=re.$implicit,A=d.oxw();d.ekj("selected",O.source.selected)("hidden",O.source.picked)("hinted",O.source.hinted),d.uIk("transform",O.pos.translate),d.xp6(2),d.Q6J("ngIf",O.url),d.xp6(3),d.uIk("href",d.xi3(6,9,O.url,A.urlPrefix),null,"xlink")}}function ge(M,re){if(1&M&&(d.O4$(),d.kcU(),d._UZ(0,"div",17)),2&M){const O=re.$implicit;d.Udp("top",O.top,"px")("left",O.left,"px")("width",O.size,"px")("height",O.size,"px")("transform",O.transform),d.Q6J("@indicatorState",O.state)}}const $=1470;function L(M,re,O){return Math.min(Math.max(re,M),O)}let I=(()=>{class M{constructor(O,A){this.element=O,this.app=A,this.clickEvent=new d.vpe,this.indicators=new F,this.drawStones=[],this.rotate=!1,this.transformSVG="",this.transformStage="",this.viewport="0 0 1470 960",this.bounds=[0,0,$,960],this.scale=1,this.panX=0,this.panY=0,this.lastPinch=0}ngOnInit(){this.resize(window)}trackByDrawStone(O,A){return`${A.source.groupnr}/${A.source.v}`}ngOnChanges(O){O.stones&&this.updateStones(O.stones.currentValue),O.background&&this.updateBackground(O.background.currentValue),O.imageSet&&(this.prefix=`b_${O.imageSet.currentValue}_`,this.urlPrefix=`#b_${O.imageSet.currentValue}_`)}onPinch(O){this.indicators.setSize(0,40*O.scale),O.preventDefault(),this.lastPinch=Date.now()}onPinchStart(O){this.indicators.gestureIndicators=[],this.indicators.display(O.center.x,O.center.y,40),O.preventDefault(),this.lastPinch=Date.now()}onPinchEnd(O){this.indicators.hide(this.indicators.gestureIndicators[0]);let A=1;O.scale>1.1&&(A=this.scale+.2*O.scale),this.zoomSVGValue(A,O.center.x,O.center.y),O.preventDefault(),this.lastPinch=Date.now()}onPan(O){this.setPan(O)}onPanEnd(O){this.setPan(O),this.updateTransform()}onWheel(O){O.preventDefault();let B=1;1==(O.deltaY<0?1:-1)&&(B=this.scale+.15),this.zoomSVGValue(B,O.clientX,O.clientY);const Te=this.indicators.display(O.clientX,O.clientY,10*B);this.indicators.hide(Te)}onResize(O){const A=O.target;A&&this.resize(A)}onMouseUp(O){this.clickEvent.emit(void 0)}onClickDown(O){}onClickUp(O,A){this.clickEvent.emit(A?A.source:void 0),O.stopPropagation()}setPan(O){if(this.scale>1&&1===O.pointers.length&&Date.now()-this.lastPinch>600){const A=this.indicators.display(O.center.x,O.center.y,10);this.indicators.hide(A);const B=.05;this.setPanValue(this.panX+O.deltaX*B,this.panY+O.deltaY*B),O.preventDefault()}}setPanValue(O,A){const Te=-this.element.nativeElement.offsetHeight;this.panX=L(O,-this.element.nativeElement.offsetWidth-50,50),this.panY=L(A,Te-50,50)}zoomSVGValue(O,A,B){const Te=this.scale,te=L(O,1,2);if(te!==Te){if(te<1.01)this.scale=1,this.panX=0,this.panY=0;else{const H=A-(A-this.panX)/this.scale*te,Q=B-(B-this.panY)/this.scale*te;this.scale=te,this.setPanValue(H,Q)}this.updateTransform()}}updateViewPort(){window.requestAnimationFrame(()=>{this.setViewPort()})}updateTransform(){window.requestAnimationFrame(()=>{this.setTransform()})}setTransform(){this.transformSVG=`translate(${this.panX}px, ${this.panY}px)${this.scale>1?` scale(${this.scale})`:""}`,this.transformStage=this.rotate?"rotate(90)":""}resize(O){const A=O.innerHeight>O.innerWidth;this.panX=0,this.panY=0,this.scale=1,this.updateTransform(),A!==this.rotate&&(this.rotate=A,this.updateViewPort())}setViewPort(){this.viewport=(0,k.Rb)(this.bounds,$,960,this.rotate)}updateStones(O){if(!O)return;this.scale=1,this.panX=0,this.panY=0;const A=O.filter(B=>void 0!==B).map(B=>({z:B.z,x:B.x,y:B.y,v:B.v,visible:!0,url:B.img?.id,pos:(0,k.zx)(B.z,B.x,B.y),source:B}));this.bounds=(0,k.lq)(A,$,960),this.drawStones=(0,k.N4)(A),this.setViewPort(),this.setTransform()}updateBackground(O){const A=o.Sj.find(B=>B.img===O);this.backgroundUrl=A&&A.img?`url("assets/img/${A.img}")`:void 0}}return M.\u0275fac=function(O){return new(O||M)(d.Y36(d.SBq),d.Y36(oe.z))},M.\u0275cmp=d.Xpm({type:M,selectors:[["app-board"]],hostVars:2,hostBindings:function(O,A){1&O&&d.NdJ("pinch",function(Te){return A.onPinch(Te)})("pinchstart",function(Te){return A.onPinchStart(Te)})("pinchend",function(Te){return A.onPinchEnd(Te)})("pan",function(Te){return A.onPan(Te)})("panend",function(Te){return A.onPanEnd(Te)})("wheel",function(Te){return A.onWheel(Te)})("resize",function(Te){return A.onResize(Te)},!1,d.Jf7),2&O&&d.Udp("background-image",A.backgroundUrl)},inputs:{background:"background",imageSet:"imageSet",stones:"stones"},outputs:{clickEvent:"clickEvent"},features:[d.TTD],decls:13,vars:16,consts:[["xmlns","http://www.w3.org/2000/svg","preserveAspectRatio","xMidYMid meet",1,"board-svg",3,"mouseup"],["id","mah-board-filter",2,"color-interpolation-filters","sRGB"],["in","SourceGraphic","stdDeviation","8"],["id","front","width","300","height","400","viewBox","0 0 300 400"],["d","m 151.73588,1025.0177 c -3.32683,-9.3138 -10.24843,-68.45389 5.31821,-90.62655 20.27717,-26.12032 219.43558,-16.45796 231.55506,-9.93184 11.07433,5.31702 -178.60366,0.0589 -204.85126,34.86646 -21.59349,30.0006 -26.50086,82.17843 -32.02201,65.69193 z","transform","rotate(180,229,666.5)",2,"fill","#000000","fill-opacity","0.15","fill-rule","evenodd","stroke","none","filter","url(#mah-board-filter)"],["transform","translate(28,-614)","d","M -4.7687833,775.07096 C -9.6501835,741.99485 -16.84552,674.23676 -1.2788716,652.0641 18.998297,625.94378 233.50094,631.63117 263.31435,653.90999 276.21398,662.64856 70.349579,663.12124 47.099353,691.74479 24.390958,719.11242 0.65060847,818.18718 -4.7687833,775.07096 Z",2,"fill","#ffffff","fill-opacity","0.4","fill-rule","evenodd","stroke","none","filter","url(#mah-board-filter)"],["app-image-set-loader","",3,"imageSet","dark","prefix"],[1,"stage"],["class","draw",3,"selected","hidden","hinted","mousedown","mouseup",4,"ngFor","ngForOf","ngForTrackBy"],["class","gesture__indicator",3,"top","left","width","height","transform",4,"ngFor","ngForOf"],[1,"draw",3,"mousedown","mouseup"],[1,"tile"],[4,"ngIf"],["x","3","y","3","width","75px","height","100px","rx","10","ry","10",1,"shadow"],["x","0","y","0","width","75","height","100","rx","10","ry","10",1,"stone"],["x","6","y","6","width","63","height","88"],[0,"xlink","href","#front","x","0","y","0","width","75","height","100"],[1,"gesture__indicator"]],template:function(O,A){1&O&&(d.O4$(),d.TgZ(0,"svg",0),d.NdJ("mouseup",function(Te){return A.onMouseUp(Te)}),d.TgZ(1,"defs")(2,"filter",1),d._UZ(3,"feGaussianBlur",2),d.qZA(),d.TgZ(4,"svg",3),d._UZ(5,"path",4)(6,"path",5),d.qZA()(),d.TgZ(7,"style"),d._uU(8," g.tile { transform-origin: 50px 32.5px; opacity: 1; } g.hinted g.tile { transform: scale(1.12); } g.hinted g.tile > rect { stroke: #9f0000; stroke-width: 3px; } g.selected g.tile { transform: scale(1.04); } g.selected g.tile rect.stone { stroke: black; fill: #F8EABB; } g.selected.hinted g.tile { transform: scale(1.14); } g.selected.hinted g.tile rect.stone { stroke: #9f0000; stroke-width: 3px; } g.draw rect.shadow { fill: #191919; opacity: 0.6; stroke-width: 1; stroke: black; } g.draw rect.stone { fill: #FFF9E5; stroke-width: 1; stroke: black; } g.hidden { opacity: 0; } g.stage.contrast g.draw rect.stone { stroke-width: 2; } g.stage.contrast g.draw rect.shadow { opacity: 0.7; } g.stage.dark g.draw rect.shadow { opacity: 0.6; stroke-width: 1; fill: #9d948c; stroke: green; } g.stage.dark g.draw rect.stone { fill: #000; stroke-width: 1; stroke: #9d948c; } g.stage.dark g.selected g.tile rect.stone { stroke: #F8EABB; fill: black; } g.stage.dark g.hinted g.tile rect.stone { stroke: #ef0202; } g.stage.dark g.selected.hinted g.tile rect.stone { stroke: #ef0202; } g.stage.dark.contrast g.draw rect.stone { stroke-width: 2; } g.stage.dark.contrast g.draw rect.shadow { opacity: 0.7; } "),d.qZA(),d._UZ(9,"defs",6),d.TgZ(10,"g",7),d.YNc(11,Ie,8,12,"g",8),d.qZA()(),d.YNc(12,ge,1,11,"div",9)),2&O&&(d.Udp("transform",A.transformSVG),d.ekj("rotate",A.rotate),d.uIk("viewBox",A.viewport),d.xp6(9),d.Q6J("imageSet",A.imageSet)("dark",A.app.settings.dark)("prefix",A.prefix),d.xp6(1),d.ekj("dark",A.app.settings.dark)("contrast",A.app.settings.contrast),d.uIk("transform",A.transformStage),d.xp6(1),d.Q6J("ngForOf",A.drawStones)("ngForTrackBy",A.trackByDrawStone),d.xp6(1),d.Q6J("ngForOf",A.indicators.gestureIndicators))},dependencies:[ne.sg,ne.O5,ae.O,se.X$,J.q],styles:["[_nghost-%COMP%]{width:100%;height:100%;display:block;background-repeat:repeat;background-size:cover}[_nghost-%COMP%] .board-svg[_ngcontent-%COMP%]{width:100%;height:100%;position:relative;transform-origin:0 0 0;transform:translate(0) scale(1);-webkit-user-select:none;user-select:none}[_nghost-%COMP%] .gesture__indicator[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none;position:fixed;top:0;left:0;height:50px;width:50px;display:block;border-radius:50%;text-align:center;line-height:45px;z-index:10;background-color:#42a5f5}"],data:{animation:G}}),M})()},4009:($e,De,v)=>{"use strict";v.d(De,{a:()=>G});var d=v(4650),o=v(6895);function k(ne,ae){if(1&ne&&(d.TgZ(0,"h1"),d._uU(1),d.qZA()),2&ne){const se=d.oxw(2);d.xp6(1),d.hij("\u{1f004}\ufe0f",se.title,"")}}function oe(ne,ae){if(1&ne){const se=d.EpF();d.TgZ(0,"a",5),d.NdJ("click",function(){d.CHM(se);const le=d.oxw(2);return d.KtG(le.toggle())}),d._UZ(1,"i",6),d.qZA()}}function w(ne,ae){if(1&ne){const se=d.EpF();d.TgZ(0,"div",1),d.NdJ("click",function(){d.CHM(se);const le=d.oxw();return d.KtG(le.toggle())}),d.TgZ(1,"div",2),d.NdJ("click",function(le){return le.stopPropagation()}),d.YNc(2,k,2,1,"h1",3),d.YNc(3,oe,2,0,"a",4),d.Hsn(4),d.qZA()()}if(2&ne){const se=d.oxw();d.xp6(2),d.Q6J("ngIf",se.title),d.xp6(1),d.Q6J("ngIf",!se.noClose)}}const F=["*"];let G=(()=>{class ne{constructor(){this.visible=!1,this.noClose=!1,this.clickEvent=new d.vpe}toggle(){this.visible=!this.visible,this.clickEvent.emit(this.visible)}}return ne.\u0275fac=function(se){return new(se||ne)},ne.\u0275cmp=d.Xpm({type:ne,selectors:[["app-dialog"]],inputs:{title:"title",visible:"visible",noClose:"noClose"},outputs:{clickEvent:"clickEvent"},ngContentSelectors:F,decls:1,vars:1,consts:[["class","overlay",3,"click",4,"ngIf"],[1,"overlay",3,"click"],[1,"overlay-popup",3,"click"],[4,"ngIf"],["class","close",3,"click",4,"ngIf"],[1,"close",3,"click"],[1,"icon-cancel-circled2","pull-right"]],template:function(se,J){1&se&&(d.F$t(),d.YNc(0,w,5,2,"div",0)),2&se&&d.Q6J("ngIf",J.visible)},dependencies:[o.O5],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] h1[_ngcontent-%COMP%]{text-align:center;color:var(--dialog-text-color);margin-top:-8px;margin-bottom:10px;line-height:1.3em}@media only screen and (max-width: 700px){[_nghost-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.2em}}@media only screen and (max-width: 400px){[_nghost-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.1em}}"]}),ne})()},2196:($e,De,v)=>{"use strict";v.d(De,{O:()=>oe});var d=v(4650),o=v(6269);const k=["app-image-set-loader",""];let oe=(()=>{class w{constructor(G,ne){this.elementRef=G,this.svgdef=ne,this.dark=!1}ngOnChanges(G){this.getImageSet()}getImageSet(){this.imageSet&&this.svgdef.get(this.imageSet+(this.dark?"-black":"")).then(ne=>{let ae=ne.split("<defs>")[1].split("</defs>")[0];ae=ae.replace(/xlink:href="\./g,'xlink:href="assets/svg').replace(/ id="t_/g,` id="${this.prefix}t_`),this.elementRef.nativeElement.innerHTML="",setTimeout(()=>{this.elementRef.nativeElement.innerHTML=ae},0)}).catch(ne=>{console.error(ne)})}}return w.\u0275fac=function(G){return new(G||w)(d.Y36(d.SBq),d.Y36(o.m))},w.\u0275cmp=d.Xpm({type:w,selectors:[["","app-image-set-loader",""]],inputs:{imageSet:"imageSet",prefix:"prefix",dark:"dark"},features:[d.TTD],attrs:k,decls:1,vars:0,template:function(G,ne){1&G&&(d.O4$(),d._UZ(0,"defs"))},encapsulation:2}),w})()},2066:($e,De,v)=>{"use strict";v.d(De,{x:()=>A});var d=v(4650),o=v(7827),k=v(4173),oe=v(8232),w=v(6895),F=v(3507),G=v(9284);let ne=(()=>{class B{constructor(te,me){this.elementRef=te,this.deferLoadService=me,this.preRender=!1,this.appDeferLoad=new d.vpe,this.timeoutLoadMS=20}ngAfterViewInit(){this.deferLoadService.isBrowser?this.deferLoadService.hasIntersectionObserver?this.registerIntersectionObserver():this.addScrollListeners():this.preRender&&this.load()}ngOnDestroy(){this.removeListeners()}static getScrollPosition(){return(window.scrollY||window.pageYOffset)+(document.documentElement.clientHeight||document.body.clientHeight)}loadAndUnobserve(){this.load(),this.unobserve(),this.removeListeners()}cancelDelayLoad(){!this.timeoutId||(clearTimeout(this.timeoutId),this.timeoutId=void 0)}delayLoad(){this.timeoutId||(this.timeoutId=setTimeout(()=>{this.loadAndUnobserve(),this.cancelDelayLoad()},this.timeoutLoadMS))}manageIntersection(te){this.checkIfIntersecting(te)?this.delayLoad():this.cancelDelayLoad()}registerIntersectionObserver(){this.intersectionObserver||(this.intersectionObserver=this.deferLoadService.getObserver(),this.intersectionObserver&&this.elementRef.nativeElement&&(this.intersectionObserver.observe(this.elementRef.nativeElement),this.onbserveSubscription=this.deferLoadService.observeNotify.subscribe(te=>{this.checkForIntersection(te)})))}checkForIntersection(te){te.forEach(me=>{me.target===this.elementRef.nativeElement&&this.manageIntersection(me)})}checkIfIntersecting(te){return te&&te.time?te.isIntersecting:this.isVisible()}load(){this.removeListeners(),this.appDeferLoad.emit()}loadFromScroll(){setTimeout(()=>{this.load()})}addScrollListeners(){this.scrollSubscription=this.deferLoadService.scrollNotify.subscribe(te=>{this.checkInView(te.rect)&&this.loadFromScroll()}),setTimeout(()=>{this.checkInView(this.deferLoadService.currentViewport)&&this.loadFromScroll()})}unobserve(){this.intersectionObserver&&this.elementRef.nativeElement&&(this.intersectionObserver.unobserve(this.elementRef.nativeElement),this.intersectionObserver=void 0)}removeListeners(){this.scrollSubscription&&(this.scrollSubscription.unsubscribe(),this.scrollSubscription=void 0),this.unobserve(),this.onbserveSubscription&&(this.onbserveSubscription.unsubscribe(),this.onbserveSubscription=void 0)}checkInView(te){return G.U.fromElement(this.elementRef.nativeElement).intersectsWithY(te)}isVisible(){const te=B.getScrollPosition();return this.elementRef.nativeElement.offsetTop<=te}}return B.\u0275fac=function(te){return new(te||B)(d.Y36(d.SBq),d.Y36(F.b))},B.\u0275dir=d.lG2({type:B,selectors:[["","appDeferLoad",""]],inputs:{preRender:"preRender"},outputs:{appDeferLoad:"appDeferLoad"}}),B})(),ae=(()=>{class B{constructor(te,me){this.element=te,this.scrollNotify=me}ngOnChanges(te){if(te.scrollTo&&te.scrollTo.currentValue){const me=te.scrollTo.currentValue;if(me.id&&me.id.length>0){const we=document.getElementById(me.id);we&&(this.element.nativeElement.scrollTop=we.offsetTop-we.offsetHeight)}}}scrollTrack(te){this.scrollNotify.notifyScroll({name:"scroll-host",element:this.element.nativeElement})}}return B.\u0275fac=function(te){return new(te||B)(d.Y36(d.SBq),d.Y36(F.b))},B.\u0275dir=d.lG2({type:B,selectors:[["","appDeferLoadScrollHost",""]],hostBindings:function(te,me){1&te&&d.NdJ("scroll",function(H){return me.scrollTrack(H)})},inputs:{scrollTo:"scrollTo"},features:[d.TTD]}),B})();var se=v(174),J=v(4449);function le(B,Te){if(1&B){const te=d.EpF();d.TgZ(0,"a",5),d.NdJ("click",function(){const H=d.CHM(te).index,Q=d.oxw(2);return d.KtG(Q.scrollToGroup(H))}),d._uU(1),d.qZA()}if(2&B){const te=Te.$implicit;d.xp6(1),d.Oqu(te.name)}}function Ie(B,Te){if(1&B&&(d.TgZ(0,"div",3),d.YNc(1,le,2,1,"a",4),d.qZA()),2&B){const te=d.oxw();d.xp6(1),d.Q6J("ngForOf",te.groups)}}function ge(B,Te){if(1&B&&(d.TgZ(0,"div",10),d._uU(1),d.qZA()),2&B){const te=d.oxw().$implicit;d.xp6(1),d.AsE("",te.name," (",te.layouts.length,")")}}function $(B,Te){if(1&B&&d._UZ(0,"app-layout-preview",16),2&B){const te=d.oxw().$implicit;d.Q6J("svg",te.layout.previewSVG)("alt",te.layout.name)}}function de(B,Te){if(1&B){const te=d.EpF();d.TgZ(0,"div",17),d._uU(1),d.ALo(2,"translate"),d.ALo(3,"duration"),d.TgZ(4,"a",5),d.NdJ("click",function(we){d.CHM(te);const H=d.oxw().$implicit,Q=d.oxw(3);return d.KtG(Q.clearBestTimeClick(we,H))}),d._UZ(5,"i",18),d.qZA()()}if(2&B){const te=d.oxw().$implicit;d.xp6(1),d.AsE("",d.lcZ(2,2,"STATS_BEST"),": ",d.lcZ(3,4,te.bestTime)," ")}}function L(B,Te){if(1&B){const te=d.EpF();d.TgZ(0,"div",12),d.NdJ("click",function(){const H=d.CHM(te).$implicit,Q=d.oxw(3);return d.KtG(Q.onStart(H.layout))})("appDeferLoad",function(){const H=d.CHM(te).$implicit;return d.KtG(H.visible=!0)}),d.YNc(1,$,1,2,"app-layout-preview",13),d.YNc(2,de,6,6,"div",14),d.TgZ(3,"div",15),d._uU(4),d.qZA()()}if(2&B){const te=Te.$implicit;d.ekj("selected",te.selected),d.Q6J("id","item-"+te.layout.id),d.xp6(1),d.Q6J("ngIf",te.visible),d.xp6(1),d.Q6J("ngIf",te.bestTime),d.xp6(2),d.Oqu(te.layout.name)}}function I(B,Te){if(1&B&&(d.ynx(0),d.YNc(1,L,5,6,"div",11),d.BQk()),2&B){const te=d.oxw().$implicit;d.xp6(1),d.Q6J("ngForOf",te.layouts)}}function M(B,Te){if(1&B&&(d.TgZ(0,"div",20)(1,"div",15),d._uU(2),d.qZA()()),2&B){const te=Te.$implicit;d.ekj("selected",te.selected),d.Q6J("id","item-"+te.layout.id),d.xp6(2),d.Oqu(te.layout.name)}}function re(B,Te){if(1&B&&(d.ynx(0),d.YNc(1,M,3,4,"div",19),d.BQk()),2&B){const te=d.oxw().$implicit;d.xp6(1),d.Q6J("ngForOf",te.layouts)}}function O(B,Te){if(1&B){const te=d.EpF();d.TgZ(0,"div",6),d.NdJ("appDeferLoad",function(){const H=d.CHM(te).$implicit;return d.KtG(H.visible=!0)}),d.YNc(1,ge,2,2,"div",7),d.TgZ(2,"div",8),d.YNc(3,I,2,1,"ng-container",9),d.YNc(4,re,2,1,"ng-container",9),d.qZA()()}if(2&B){const te=Te.$implicit,me=Te.index,we=d.oxw();d.MGl("id","group-",me,""),d.xp6(1),d.Q6J("ngIf",we.groups.length>1),d.xp6(2),d.Q6J("ngIf",te.visible),d.xp6(1),d.Q6J("ngIf",!te.visible)}}let A=(()=>{class B{constructor(te,me,we){this.storage=te,this.translate=me,this.layoutService=we,this.startEvent=new d.vpe,this.groups=[],this.layouts&&this.buildGroups()}ngOnInit(){this.refresh()}ngOnChanges(te){this.refresh()}refresh(){this.layouts&&(this.buildGroups(),setTimeout(()=>{this.selectLastPlayed()}))}onStart(te){te&&this.startEvent.emit(te)}buildGroups(){const te=[],me={};for(const we of this.layoutService.layouts.items){me[we.category]||(me[we.category]={name:we.category,layouts:[],visible:!1},te.push(me[we.category]));const H=this.storage.getScore(we.id)||{};me[we.category].layouts.push({layout:we,playCount:H.playCount,bestTime:H.bestTime,visible:!1})}this.groups=te}scrollToGroup(te){const me=document.getElementById(`group-${te}`);me&&me.scrollIntoView()}scrollToItem(te){const me=document.getElementById(`item-${te}`);me&&me.scrollIntoView()}selectLastPlayed(){const te=this.storage.getLastPlayed();te&&(this.groups.forEach(me=>{me.layouts.forEach(we=>{we.selected=we.layout.id===te})}),this.scrollToItem(te))}clearBestTimeClick(te,me){te.stopPropagation(),confirm(this.translate.instant("BEST_TIME_CLEAR_SURE"))&&(this.storage.clearScore(me.layout.id),me.bestTime=void 0,me.playCount=void 0)}}return B.\u0275fac=function(te){return new(te||B)(d.Y36(k.g),d.Y36(oe.sK),d.Y36(o.P))},B.\u0275cmp=d.Xpm({type:B,selectors:[["app-layout-list"]],inputs:{layouts:"layouts"},outputs:{startEvent:"startEvent"},features:[d.TTD],decls:3,vars:2,consts:[["class","headline-anchors",4,"ngIf"],["appDeferLoadScrollHost","",1,"groups"],["class","group",3,"id","appDeferLoad",4,"ngFor","ngForOf"],[1,"headline-anchors"],[3,"click",4,"ngFor","ngForOf"],[3,"click"],[1,"group",3,"id","appDeferLoad"],["class","group-name",4,"ngIf"],[1,"previews"],[4,"ngIf"],[1,"group-name"],["class","preview",3,"id","selected","click","appDeferLoad",4,"ngFor","ngForOf"],[1,"preview",3,"id","click","appDeferLoad"],["class","svg-board",3,"svg","alt",4,"ngIf"],["class","preview-best-time",4,"ngIf"],[1,"preview-name"],[1,"svg-board",3,"svg","alt"],[1,"preview-best-time"],[1,"icon-trash-empty"],["class","preview",3,"id","selected",4,"ngFor","ngForOf"],[1,"preview",3,"id"]],template:function(te,me){1&te&&(d.YNc(0,Ie,2,1,"div",0),d.TgZ(1,"div",1),d.YNc(2,O,5,4,"div",2),d.qZA()),2&te&&(d.Q6J("ngIf",me.groups.length>1),d.xp6(2),d.Q6J("ngForOf",me.groups))},dependencies:[w.sg,w.O5,ne,ae,se.U,oe.X$,J.u],styles:["[_nghost-%COMP%]{display:flex;overflow:hidden;flex-direction:column;flex:1}[_nghost-%COMP%] .headline-anchors[_ngcontent-%COMP%]{border-bottom:1px solid #afafaf;width:100%;display:flex;flex-direction:row;flex-wrap:wrap}[_nghost-%COMP%] .headline-anchors[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{flex-grow:1;flex-basis:0;display:inline-block;padding:2px 4px;font-size:.9em;cursor:pointer;text-align:center}[_nghost-%COMP%] .headline-anchors[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{color:var(--main-text-color-lt)}[_nghost-%COMP%] .groups[_ngcontent-%COMP%]{overflow-x:hidden;overflow-y:auto;width:100%;flex:1}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%]{width:100%;padding-bottom:16px}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .group-name[_ngcontent-%COMP%]{border-top:1px solid #d5d5d5;padding-top:16px;text-align:center}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%]:first-of-type .group-name[_ngcontent-%COMP%]{border-top:inherit}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .previews[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-evenly}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{margin-top:10px;width:300px;height:200px;cursor:pointer;border:1px solid #afafaf;display:block;background-color:#2b424f;position:relative;overflow:hidden}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview.selected[_ngcontent-%COMP%]{border:1px solid #000000}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{display:block;width:300px;height:200px;text-align:center;padding-bottom:1.5em}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%]{position:absolute;top:0;right:0;background-color:#181818cc;color:#fff;border-bottom-left-radius:3px;padding:3px 3px 3px 6px;text-shadow:1px 1px black}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{display:inline-block;min-width:1.2em;text-align:right;transition:all .1s}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%] a[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:.8em}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-best-time[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{transform:scale(1.3)}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] .preview-name[_ngcontent-%COMP%]{position:absolute;width:100%;bottom:0;background-color:#fffc;text-align:center;text-shadow:1px 1px white}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]:hover{background-color:#636056}@media only screen and (max-width: 2200px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%], [_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{width:200px;height:180px}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{width:50%}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{width:100%}}@media only screen and (max-width: 400px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{width:100%}}@media only screen and (max-height: 500px){[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%]{height:120px}[_nghost-%COMP%] .groups[_ngcontent-%COMP%] .group[_ngcontent-%COMP%] .preview[_ngcontent-%COMP%] app-layout-preview[_ngcontent-%COMP%]{width:100%;height:100%}}"]}),B})()},174:($e,De,v)=>{"use strict";v.d(De,{U:()=>o});var d=v(4650);let o=(()=>{class k{ngOnChanges(w){w.layout&&this.updateLayout(w.layout.currentValue)}updateLayout(w){this.svg=w.previewSVG}}return k.\u0275fac=function(w){return new(w||k)},k.\u0275cmp=d.Xpm({type:k,selectors:[["app-layout-preview"]],inputs:{layout:"layout",svg:"svg",alt:"alt"},features:[d.TTD],decls:1,vars:2,consts:[[3,"src","alt"]],template:function(w,F){1&w&&d._UZ(0,"img",0),2&w&&d.Q6J("src",F.svg,d.LSH)("alt",F.alt)},styles:["[_nghost-%COMP%]{width:100%;height:100%;display:block}[_nghost-%COMP%] img[_ngcontent-%COMP%]{height:100%;width:100%;-o-object-fit:contain;object-fit:contain}"],changeDetection:0}),k})()},7390:($e,De,v)=>{"use strict";v.d(De,{I:()=>Po});var d=v(6895),o=v(8232),k=v(4650),oe=v(1481),w=v(7340);const F=!1;function ne(_){return new k.vHH(3e3,F)}function sn(){return typeof window<"u"&&typeof window.document<"u"}function bt(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function xt(_){switch(_.length){case 0:return new w.ZN;case 1:return _[0];default:return new w.ZE(_)}}function bn(_,l,u,h,E=new Map,N=new Map){const V=[],ee=[];let ye=-1,be=null;if(h.forEach(We=>{const Xe=We.get("offset"),Tt=Xe==ye,_t=Tt&&be||new Map;We.forEach((it,ht)=>{let Ft=ht,Zt=it;if("offset"!==ht)switch(Ft=l.normalizePropertyName(Ft,V),Zt){case w.k1:Zt=E.get(ht);break;case w.l3:Zt=N.get(ht);break;default:Zt=l.normalizeStyleValue(ht,Ft,Zt,V)}_t.set(Ft,Zt)}),Tt||ee.push(_t),be=_t,ye=Xe}),V.length)throw function fe(_){return new k.vHH(3502,F)}();return ee}function Jt(_,l,u,h){switch(l){case"start":_.onStart(()=>h(u&&Qt(u,"start",_)));break;case"done":_.onDone(()=>h(u&&Qt(u,"done",_)));break;case"destroy":_.onDestroy(()=>h(u&&Qt(u,"destroy",_)))}}function Qt(_,l,u){const N=Xt(_.element,_.triggerName,_.fromState,_.toState,l||_.phaseName,u.totalTime??_.totalTime,!!u.disabled),V=_._data;return null!=V&&(N._data=V),N}function Xt(_,l,u,h,E="",N=0,V){return{element:_,triggerName:l,fromState:u,toState:h,phaseName:E,totalTime:N,disabled:!!V}}function It(_,l,u){let h=_.get(l);return h||_.set(l,h=u),h}function qe(_){const l=_.indexOf(":");return[_.substring(1,l),_.slice(l+1)]}let en=(_,l)=>!1,zt=(_,l,u)=>[],Ce=null;function Fe(_){const l=_.parentNode||_.host;return l===Ce?null:l}(bt()||typeof Element<"u")&&(sn()?(Ce=(()=>document.documentElement)(),en=(_,l)=>{for(;l;){if(l===_)return!0;l=Fe(l)}return!1}):en=(_,l)=>_.contains(l),zt=(_,l,u)=>{if(u)return Array.from(_.querySelectorAll(l));const h=_.querySelector(l);return h?[h]:[]});let Ae=null,Ve=!1;const K=en,b=zt;let Ee=(()=>{class _{validateStyleProperty(u){return function pe(_){Ae||(Ae=function y(){return typeof document<"u"?document.body:null}()||{},Ve=!!Ae.style&&"WebkitAppearance"in Ae.style);let l=!0;return Ae.style&&!function _e(_){return"ebkit"==_.substring(1,6)}(_)&&(l=_ in Ae.style,!l&&Ve&&(l="Webkit"+_.charAt(0).toUpperCase()+_.slice(1)in Ae.style)),l}(u)}matchesElement(u,h){return!1}containsElement(u,h){return K(u,h)}getParentElement(u){return Fe(u)}query(u,h,E){return b(u,h,E)}computeStyle(u,h,E){return E||""}animate(u,h,E,N,V,ee=[],ye){return new w.ZN(E,N)}}return _.\u0275fac=function(u){return new(u||_)},_.\u0275prov=k.Yz7({token:_,factory:_.\u0275fac}),_})(),je=(()=>{class _{}return _.NOOP=new Ee,_})();const on="ng-enter",lt="ng-leave",At="ng-trigger",St=".ng-trigger",Yn="ng-animating",Pn=".ng-animating";function kt(_){if("number"==typeof _)return _;const l=_.match(/^(-?[\.\d]+)(m?s)/);return!l||l.length<2?0:Bn(parseFloat(l[1]),l[2])}function Bn(_,l){return"s"===l?1e3*_:_}function Hn(_,l,u){return _.hasOwnProperty("duration")?_:function lr(_,l,u){let E,N=0,V="";if("string"==typeof _){const ee=_.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===ee)return l.push(ne()),{duration:0,delay:0,easing:""};E=Bn(parseFloat(ee[1]),ee[2]);const ye=ee[3];null!=ye&&(N=Bn(parseFloat(ye),ee[4]));const be=ee[5];be&&(V=be)}else E=_;if(!u){let ee=!1,ye=l.length;E<0&&(l.push(function ae(){return new k.vHH(3100,F)}()),ee=!0),N<0&&(l.push(function se(){return new k.vHH(3101,F)}()),ee=!0),ee&&l.splice(ye,0,ne())}return{duration:E,delay:N,easing:V}}(_,l,u)}function Jn(_,l={}){return Object.keys(_).forEach(u=>{l[u]=_[u]}),l}function nr(_){const l=new Map;return Object.keys(_).forEach(u=>{l.set(u,_[u])}),l}function Ht(_,l=new Map,u){if(u)for(let[h,E]of u)l.set(h,E);for(let[h,E]of _)l.set(h,E);return l}function tn(_,l,u){return u?l+":"+u+";":""}function _n(_){let l="";for(let u=0;u<_.style.length;u++){const h=_.style.item(u);l+=tn(0,h,_.style.getPropertyValue(h))}for(const u in _.style)_.style.hasOwnProperty(u)&&!u.startsWith("_")&&(l+=tn(0,Mt(u),_.style[u]));_.setAttribute("style",l)}function Ut(_,l,u){_.style&&(l.forEach((h,E)=>{const N=ut(E);u&&!u.has(E)&&u.set(E,_.style[N]),_.style[N]=h}),bt()&&_n(_))}function Ue(_,l){_.style&&(l.forEach((u,h)=>{const E=ut(h);_.style[E]=""}),bt()&&_n(_))}function rt(_){return Array.isArray(_)?1==_.length?_[0]:(0,w.vP)(_):_}const z=new RegExp("{{\\s*(.+?)\\s*}}","g");function x(_){let l=[];if("string"==typeof _){let u;for(;u=z.exec(_);)l.push(u[1]);z.lastIndex=0}return l}function Y(_,l,u){const h=_.toString(),E=h.replace(z,(N,V)=>{let ee=l[V];return null==ee&&(u.push(function le(_){return new k.vHH(3003,F)}()),ee=""),ee.toString()});return E==h?_:E}function Se(_){const l=[];let u=_.next();for(;!u.done;)l.push(u.value),u=_.next();return l}const Ge=/-+([a-z0-9])/g;function ut(_){return _.replace(Ge,(...l)=>l[1].toUpperCase())}function Mt(_){return _.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function qt(_,l,u){switch(l.type){case 7:return _.visitTrigger(l,u);case 0:return _.visitState(l,u);case 1:return _.visitTransition(l,u);case 2:return _.visitSequence(l,u);case 3:return _.visitGroup(l,u);case 4:return _.visitAnimate(l,u);case 5:return _.visitKeyframes(l,u);case 6:return _.visitStyle(l,u);case 8:return _.visitReference(l,u);case 9:return _.visitAnimateChild(l,u);case 10:return _.visitAnimateRef(l,u);case 11:return _.visitQuery(l,u);case 12:return _.visitStagger(l,u);default:throw function Ie(_){return new k.vHH(3004,F)}()}}function rr(_,l){return window.getComputedStyle(_)[l]}function Vn(_,l){const u=[];return"string"==typeof _?_.split(/\s*,\s*/).forEach(h=>function Ln(_,l,u){if(":"==_[0]){const ye=function br(_,l){switch(_){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(u,h)=>parseFloat(h)>parseFloat(u);case":decrement":return(u,h)=>parseFloat(h)<parseFloat(u);default:return l.push(function H(_){return new k.vHH(3016,F)}()),"* => *"}}(_,u);if("function"==typeof ye)return void l.push(ye);_=ye}const h=_.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(null==h||h.length<4)return u.push(function we(_){return new k.vHH(3015,F)}()),l;const E=h[1],N=h[2],V=h[3];l.push(cn(E,V));"<"==N[0]&&!("*"==E&&"*"==V)&&l.push(cn(V,E))}(h,u,l)):u.push(_),u}const sr=new Set(["true","1"]),$n=new Set(["false","0"]);function cn(_,l){const u=sr.has(_)||$n.has(_),h=sr.has(l)||$n.has(l);return(E,N)=>{let V="*"==_||_==E,ee="*"==l||l==N;return!V&&u&&"boolean"==typeof E&&(V=E?sr.has(_):$n.has(_)),!ee&&h&&"boolean"==typeof N&&(ee=N?sr.has(l):$n.has(l)),V&&ee}}const Hr=new RegExp("s*:selfs*,?","g");function pn(_,l,u,h){return new hr(_).build(l,u,h)}class hr{constructor(l){this._driver=l}build(l,u,h){const E=new zn(u);return this._resetContextStyleTimingState(E),qt(this,rt(l),E)}_resetContextStyleTimingState(l){l.currentQuerySelector="",l.collectedStyles=new Map,l.collectedStyles.set("",new Map),l.currentTime=0}visitTrigger(l,u){let h=u.queryCount=0,E=u.depCount=0;const N=[],V=[];return"@"==l.name.charAt(0)&&u.errors.push(function $(){return new k.vHH(3006,F)}()),l.definitions.forEach(ee=>{if(this._resetContextStyleTimingState(u),0==ee.type){const ye=ee,be=ye.name;be.toString().split(/\s*,\s*/).forEach(We=>{ye.name=We,N.push(this.visitState(ye,u))}),ye.name=be}else if(1==ee.type){const ye=this.visitTransition(ee,u);h+=ye.queryCount,E+=ye.depCount,V.push(ye)}else u.errors.push(function de(){return new k.vHH(3007,F)}())}),{type:7,name:l.name,states:N,transitions:V,queryCount:h,depCount:E,options:null}}visitState(l,u){const h=this.visitStyle(l.styles,u),E=l.options&&l.options.params||null;if(h.containsDynamicStyles){const N=new Set,V=E||{};h.styles.forEach(ee=>{ee instanceof Map&&ee.forEach(ye=>{x(ye).forEach(be=>{V.hasOwnProperty(be)||N.add(be)})})}),N.size&&(Se(N.values()),u.errors.push(function L(_,l){return new k.vHH(3008,F)}()))}return{type:0,name:l.name,style:h,options:E?{params:E}:null}}visitTransition(l,u){u.queryCount=0,u.depCount=0;const h=qt(this,rt(l.animation),u);return{type:1,matchers:Vn(l.expr,u.errors),animation:h,queryCount:u.queryCount,depCount:u.depCount,options:dr(l.options)}}visitSequence(l,u){return{type:2,steps:l.steps.map(h=>qt(this,h,u)),options:dr(l.options)}}visitGroup(l,u){const h=u.currentTime;let E=0;const N=l.steps.map(V=>{u.currentTime=h;const ee=qt(this,V,u);return E=Math.max(E,u.currentTime),ee});return u.currentTime=E,{type:3,steps:N,options:dr(l.options)}}visitAnimate(l,u){const h=function Qr(_,l){if(_.hasOwnProperty("duration"))return _;if("number"==typeof _)return Xr(Hn(_,l).duration,0,"");const u=_;if(u.split(/\s+/).some(N=>"{"==N.charAt(0)&&"{"==N.charAt(1))){const N=Xr(0,0,"");return N.dynamic=!0,N.strValue=u,N}const E=Hn(u,l);return Xr(E.duration,E.delay,E.easing)}(l.timings,u.errors);u.currentAnimateTimings=h;let E,N=l.styles?l.styles:(0,w.oB)({});if(5==N.type)E=this.visitKeyframes(N,u);else{let V=l.styles,ee=!1;if(!V){ee=!0;const be={};h.easing&&(be.easing=h.easing),V=(0,w.oB)(be)}u.currentTime+=h.duration+h.delay;const ye=this.visitStyle(V,u);ye.isEmptyStep=ee,E=ye}return u.currentAnimateTimings=null,{type:4,timings:h,style:E,options:null}}visitStyle(l,u){const h=this._makeStyleAst(l,u);return this._validateStyleAst(h,u),h}_makeStyleAst(l,u){const h=[],E=Array.isArray(l.styles)?l.styles:[l.styles];for(let ee of E)"string"==typeof ee?ee===w.l3?h.push(ee):u.errors.push(new k.vHH(3002,F)):h.push(nr(ee));let N=!1,V=null;return h.forEach(ee=>{if(ee instanceof Map&&(ee.has("easing")&&(V=ee.get("easing"),ee.delete("easing")),!N))for(let ye of ee.values())if(ye.toString().indexOf("{{")>=0){N=!0;break}}),{type:6,styles:h,easing:V,offset:l.offset,containsDynamicStyles:N,options:null}}_validateStyleAst(l,u){const h=u.currentAnimateTimings;let E=u.currentTime,N=u.currentTime;h&&N>0&&(N-=h.duration+h.delay),l.styles.forEach(V=>{"string"!=typeof V&&V.forEach((ee,ye)=>{const be=u.collectedStyles.get(u.currentQuerySelector),We=be.get(ye);let Xe=!0;We&&(N!=E&&N>=We.startTime&&E<=We.endTime&&(u.errors.push(function re(_,l,u,h,E){return new k.vHH(3010,F)}()),Xe=!1),N=We.startTime),Xe&&be.set(ye,{startTime:N,endTime:E}),u.options&&function X(_,l,u){const h=l.params||{},E=x(_);E.length&&E.forEach(N=>{h.hasOwnProperty(N)||u.push(function J(_){return new k.vHH(3001,F)}())})}(ee,u.options,u.errors)})})}visitKeyframes(l,u){const h={type:5,styles:[],options:null};if(!u.currentAnimateTimings)return u.errors.push(function O(){return new k.vHH(3011,F)}()),h;let N=0;const V=[];let ee=!1,ye=!1,be=0;const We=l.steps.map(Zt=>{const On=this._makeStyleAst(Zt,u);let gn=null!=On.offset?On.offset:function ms(_){if("string"==typeof _)return null;let l=null;if(Array.isArray(_))_.forEach(u=>{if(u instanceof Map&&u.has("offset")){const h=u;l=parseFloat(h.get("offset")),h.delete("offset")}});else if(_ instanceof Map&&_.has("offset")){const u=_;l=parseFloat(u.get("offset")),u.delete("offset")}return l}(On.styles),En=0;return null!=gn&&(N++,En=On.offset=gn),ye=ye||En<0||En>1,ee=ee||En<be,be=En,V.push(En),On});ye&&u.errors.push(function A(){return new k.vHH(3012,F)}()),ee&&u.errors.push(function B(){return new k.vHH(3200,F)}());const Xe=l.steps.length;let Tt=0;N>0&&N<Xe?u.errors.push(function Te(){return new k.vHH(3202,F)}()):0==N&&(Tt=1/(Xe-1));const _t=Xe-1,it=u.currentTime,ht=u.currentAnimateTimings,Ft=ht.duration;return We.forEach((Zt,On)=>{const gn=Tt>0?On==_t?1:Tt*On:V[On],En=gn*Ft;u.currentTime=it+ht.delay+En,ht.duration=En,this._validateStyleAst(Zt,u),Zt.offset=gn,h.styles.push(Zt)}),h}visitReference(l,u){return{type:8,animation:qt(this,rt(l.animation),u),options:dr(l.options)}}visitAnimateChild(l,u){return u.depCount++,{type:9,options:dr(l.options)}}visitAnimateRef(l,u){return{type:10,animation:this.visitReference(l.animation,u),options:dr(l.options)}}visitQuery(l,u){const h=u.currentQuerySelector,E=l.options||{};u.queryCount++,u.currentQuery=l;const[N,V]=function ir(_){const l=!!_.split(/\s*,\s*/).find(u=>":self"==u);return l&&(_=_.replace(Hr,"")),_=_.replace(/@\*/g,St).replace(/@\w+/g,u=>St+"-"+u.slice(1)).replace(/:animating/g,Pn),[_,l]}(l.selector);u.currentQuerySelector=h.length?h+" "+N:N,It(u.collectedStyles,u.currentQuerySelector,new Map);const ee=qt(this,rt(l.animation),u);return u.currentQuery=null,u.currentQuerySelector=h,{type:11,selector:N,limit:E.limit||0,optional:!!E.optional,includeSelf:V,animation:ee,originalSelector:l.selector,options:dr(l.options)}}visitStagger(l,u){u.currentQuery||u.errors.push(function te(){return new k.vHH(3013,F)}());const h="full"===l.timings?{duration:0,delay:0,easing:"full"}:Hn(l.timings,u.errors,!0);return{type:12,animation:qt(this,rt(l.animation),u),timings:h,options:null}}}class zn{constructor(l){this.errors=l,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set,this.nonAnimatableCSSPropertiesFound=new Set}}function dr(_){return _?(_=Jn(_)).params&&(_.params=function Qn(_){return _?Jn(_):null}(_.params)):_={},_}function Xr(_,l,u){return{duration:_,delay:l,easing:u}}function ls(_,l,u,h,E,N,V=null,ee=!1){return{type:1,element:_,keyframes:l,preStyleProps:u,postStyleProps:h,duration:E,delay:N,totalTime:E+N,easing:V,subTimeline:ee}}class T{constructor(){this._map=new Map}get(l){return this._map.get(l)||[]}append(l,u){let h=this._map.get(l);h||this._map.set(l,h=[]),h.push(...u)}has(l){return this._map.has(l)}clear(){this._map.clear()}}const ve=new RegExp(":enter","g"),Ke=new RegExp(":leave","g");function yt(_,l,u,h,E,N=new Map,V=new Map,ee,ye,be=[]){return(new yn).buildKeyframes(_,l,u,h,E,N,V,ee,ye,be)}class yn{buildKeyframes(l,u,h,E,N,V,ee,ye,be,We=[]){be=be||new T;const Xe=new vn(l,u,be,E,N,We,[]);Xe.options=ye;const Tt=ye.delay?kt(ye.delay):0;Xe.currentTimeline.delayNextStep(Tt),Xe.currentTimeline.setStyles([V],null,Xe.errors,ye),qt(this,h,Xe);const _t=Xe.timelines.filter(it=>it.containsAnimation());if(_t.length&&ee.size){let it;for(let ht=_t.length-1;ht>=0;ht--){const Ft=_t[ht];if(Ft.element===u){it=Ft;break}}it&&!it.allowOnlyTimelineStyles()&&it.setStyles([ee],null,Xe.errors,ye)}return _t.length?_t.map(it=>it.buildKeyframes()):[ls(u,[],[],[],0,Tt,"",!1)]}visitTrigger(l,u){}visitState(l,u){}visitTransition(l,u){}visitAnimateChild(l,u){const h=u.subInstructions.get(u.element);if(h){const E=u.createSubContext(l.options),N=u.currentTimeline.currentTime,V=this._visitSubInstructions(h,E,E.options);N!=V&&u.transformIntoNewTimeline(V)}u.previousNode=l}visitAnimateRef(l,u){const h=u.createSubContext(l.options);h.transformIntoNewTimeline(),this.visitReference(l.animation,h),u.transformIntoNewTimeline(h.currentTimeline.currentTime),u.previousNode=l}_visitSubInstructions(l,u,h){let N=u.currentTimeline.currentTime;const V=null!=h.duration?kt(h.duration):null,ee=null!=h.delay?kt(h.delay):null;return 0!==V&&l.forEach(ye=>{const be=u.appendInstructionToTimeline(ye,V,ee);N=Math.max(N,be.duration+be.delay)}),N}visitReference(l,u){u.updateOptions(l.options,!0),qt(this,l.animation,u),u.previousNode=l}visitSequence(l,u){const h=u.subContextCount;let E=u;const N=l.options;if(N&&(N.params||N.delay)&&(E=u.createSubContext(N),E.transformIntoNewTimeline(),null!=N.delay)){6==E.previousNode.type&&(E.currentTimeline.snapshotCurrentStyles(),E.previousNode=fn);const V=kt(N.delay);E.delayNextStep(V)}l.steps.length&&(l.steps.forEach(V=>qt(this,V,E)),E.currentTimeline.applyStylesToKeyframe(),E.subContextCount>h&&E.transformIntoNewTimeline()),u.previousNode=l}visitGroup(l,u){const h=[];let E=u.currentTimeline.currentTime;const N=l.options&&l.options.delay?kt(l.options.delay):0;l.steps.forEach(V=>{const ee=u.createSubContext(l.options);N&&ee.delayNextStep(N),qt(this,V,ee),E=Math.max(E,ee.currentTimeline.currentTime),h.push(ee.currentTimeline)}),h.forEach(V=>u.currentTimeline.mergeTimelineCollectedStyles(V)),u.transformIntoNewTimeline(E),u.previousNode=l}_visitTiming(l,u){if(l.dynamic){const h=l.strValue;return Hn(u.params?Y(h,u.params,u.errors):h,u.errors)}return{duration:l.duration,delay:l.delay,easing:l.easing}}visitAnimate(l,u){const h=u.currentAnimateTimings=this._visitTiming(l.timings,u),E=u.currentTimeline;h.delay&&(u.incrementTime(h.delay),E.snapshotCurrentStyles());const N=l.style;5==N.type?this.visitKeyframes(N,u):(u.incrementTime(h.duration),this.visitStyle(N,u),E.applyStylesToKeyframe()),u.currentAnimateTimings=null,u.previousNode=l}visitStyle(l,u){const h=u.currentTimeline,E=u.currentAnimateTimings;!E&&h.hasCurrentStyleProperties()&&h.forwardFrame();const N=E&&E.easing||l.easing;l.isEmptyStep?h.applyEmptyStep(N):h.setStyles(l.styles,N,u.errors,u.options),u.previousNode=l}visitKeyframes(l,u){const h=u.currentAnimateTimings,E=u.currentTimeline.duration,N=h.duration,ee=u.createSubContext().currentTimeline;ee.easing=h.easing,l.styles.forEach(ye=>{ee.forwardTime((ye.offset||0)*N),ee.setStyles(ye.styles,ye.easing,u.errors,u.options),ee.applyStylesToKeyframe()}),u.currentTimeline.mergeTimelineCollectedStyles(ee),u.transformIntoNewTimeline(E+N),u.previousNode=l}visitQuery(l,u){const h=u.currentTimeline.currentTime,E=l.options||{},N=E.delay?kt(E.delay):0;N&&(6===u.previousNode.type||0==h&&u.currentTimeline.hasCurrentStyleProperties())&&(u.currentTimeline.snapshotCurrentStyles(),u.previousNode=fn);let V=h;const ee=u.invokeQuery(l.selector,l.originalSelector,l.limit,l.includeSelf,!!E.optional,u.errors);u.currentQueryTotal=ee.length;let ye=null;ee.forEach((be,We)=>{u.currentQueryIndex=We;const Xe=u.createSubContext(l.options,be);N&&Xe.delayNextStep(N),be===u.element&&(ye=Xe.currentTimeline),qt(this,l.animation,Xe),Xe.currentTimeline.applyStylesToKeyframe(),V=Math.max(V,Xe.currentTimeline.currentTime)}),u.currentQueryIndex=0,u.currentQueryTotal=0,u.transformIntoNewTimeline(V),ye&&(u.currentTimeline.mergeTimelineCollectedStyles(ye),u.currentTimeline.snapshotCurrentStyles()),u.previousNode=l}visitStagger(l,u){const h=u.parentContext,E=u.currentTimeline,N=l.timings,V=Math.abs(N.duration),ee=V*(u.currentQueryTotal-1);let ye=V*u.currentQueryIndex;switch(N.duration<0?"reverse":N.easing){case"reverse":ye=ee-ye;break;case"full":ye=h.currentStaggerTime}const We=u.currentTimeline;ye&&We.delayNextStep(ye);const Xe=We.currentTime;qt(this,l.animation,u),u.previousNode=l,h.currentStaggerTime=E.currentTime-Xe+(E.startTime-h.currentTimeline.startTime)}}const fn={};class vn{constructor(l,u,h,E,N,V,ee,ye){this._driver=l,this.element=u,this.subInstructions=h,this._enterClassName=E,this._leaveClassName=N,this.errors=V,this.timelines=ee,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=fn,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=ye||new Rn(this._driver,u,0),ee.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(l,u){if(!l)return;const h=l;let E=this.options;null!=h.duration&&(E.duration=kt(h.duration)),null!=h.delay&&(E.delay=kt(h.delay));const N=h.params;if(N){let V=E.params;V||(V=this.options.params={}),Object.keys(N).forEach(ee=>{(!u||!V.hasOwnProperty(ee))&&(V[ee]=Y(N[ee],V,this.errors))})}}_copyOptions(){const l={};if(this.options){const u=this.options.params;if(u){const h=l.params={};Object.keys(u).forEach(E=>{h[E]=u[E]})}}return l}createSubContext(l=null,u,h){const E=u||this.element,N=new vn(this._driver,E,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(E,h||0));return N.previousNode=this.previousNode,N.currentAnimateTimings=this.currentAnimateTimings,N.options=this._copyOptions(),N.updateOptions(l),N.currentQueryIndex=this.currentQueryIndex,N.currentQueryTotal=this.currentQueryTotal,N.parentContext=this,this.subContextCount++,N}transformIntoNewTimeline(l){return this.previousNode=fn,this.currentTimeline=this.currentTimeline.fork(this.element,l),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(l,u,h){const E={duration:u??l.duration,delay:this.currentTimeline.currentTime+(h??0)+l.delay,easing:""},N=new Eo(this._driver,l.element,l.keyframes,l.preStyleProps,l.postStyleProps,E,l.stretchStartingKeyframe);return this.timelines.push(N),E}incrementTime(l){this.currentTimeline.forwardTime(this.currentTimeline.duration+l)}delayNextStep(l){l>0&&this.currentTimeline.delayNextStep(l)}invokeQuery(l,u,h,E,N,V){let ee=[];if(E&&ee.push(this.element),l.length>0){l=(l=l.replace(ve,"."+this._enterClassName)).replace(Ke,"."+this._leaveClassName);let be=this._driver.query(this.element,l,1!=h);0!==h&&(be=h<0?be.slice(be.length+h,be.length):be.slice(0,h)),ee.push(...be)}return!N&&0==ee.length&&V.push(function me(_){return new k.vHH(3014,F)}()),ee}}class Rn{constructor(l,u,h,E){this._driver=l,this.element=u,this.startTime=h,this._elementTimelineStylesLookup=E,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(u),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(u,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(l){const u=1===this._keyframes.size&&this._pendingStyles.size;this.duration||u?(this.forwardTime(this.currentTime+l),u&&this.snapshotCurrentStyles()):this.startTime+=l}fork(l,u){return this.applyStylesToKeyframe(),new Rn(this._driver,l,u||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(l){this.applyStylesToKeyframe(),this.duration=l,this._loadKeyframe()}_updateStyle(l,u){this._localTimelineStyles.set(l,u),this._globalTimelineStyles.set(l,u),this._styleSummary.set(l,{time:this.currentTime,value:u})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(l){l&&this._previousKeyframe.set("easing",l);for(let[u,h]of this._globalTimelineStyles)this._backFill.set(u,h||w.l3),this._currentKeyframe.set(u,w.l3);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(l,u,h,E){u&&this._previousKeyframe.set("easing",u);const N=E&&E.params||{},V=function Rs(_,l){const u=new Map;let h;return _.forEach(E=>{if("*"===E){h=h||l.keys();for(let N of h)u.set(N,w.l3)}else Ht(E,u)}),u}(l,this._globalTimelineStyles);for(let[ee,ye]of V){const be=Y(ye,N,h);this._pendingStyles.set(ee,be),this._localTimelineStyles.has(ee)||this._backFill.set(ee,this._globalTimelineStyles.get(ee)||w.l3),this._updateStyle(ee,be)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((l,u)=>{this._currentKeyframe.set(u,l)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((l,u)=>{this._currentKeyframe.has(u)||this._currentKeyframe.set(u,l)}))}snapshotCurrentStyles(){for(let[l,u]of this._localTimelineStyles)this._pendingStyles.set(l,u),this._updateStyle(l,u)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const l=[];for(let u in this._currentKeyframe)l.push(u);return l}mergeTimelineCollectedStyles(l){l._styleSummary.forEach((u,h)=>{const E=this._styleSummary.get(h);(!E||u.time>E.time)&&this._updateStyle(h,u.value)})}buildKeyframes(){this.applyStylesToKeyframe();const l=new Set,u=new Set,h=1===this._keyframes.size&&0===this.duration;let E=[];this._keyframes.forEach((ee,ye)=>{const be=Ht(ee,new Map,this._backFill);be.forEach((We,Xe)=>{We===w.k1?l.add(Xe):We===w.l3&&u.add(Xe)}),h||be.set("offset",ye/this.duration),E.push(be)});const N=l.size?Se(l.values()):[],V=u.size?Se(u.values()):[];if(h){const ee=E[0],ye=new Map(ee);ee.set("offset",0),ye.set("offset",1),E=[ee,ye]}return ls(this.element,E,N,V,this.duration,this.startTime,this.easing,!1)}}class Eo extends Rn{constructor(l,u,h,E,N,V,ee=!1){super(l,u,V.delay),this.keyframes=h,this.preStyleProps=E,this.postStyleProps=N,this._stretchStartingKeyframe=ee,this.timings={duration:V.duration,delay:V.delay,easing:V.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let l=this.keyframes,{delay:u,duration:h,easing:E}=this.timings;if(this._stretchStartingKeyframe&&u){const N=[],V=h+u,ee=u/V,ye=Ht(l[0]);ye.set("offset",0),N.push(ye);const be=Ht(l[0]);be.set("offset",Oi(ee)),N.push(be);const We=l.length-1;for(let Xe=1;Xe<=We;Xe++){let Tt=Ht(l[Xe]);const _t=Tt.get("offset");Tt.set("offset",Oi((u+_t*h)/V)),N.push(Tt)}h=V,u=0,E="",l=N}return ls(this.element,l,this.preStyleProps,this.postStyleProps,h,u,E,!0)}}function Oi(_,l=3){const u=Math.pow(10,l-1);return Math.round(_*u)/u}class ks{}const vo=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class Or extends ks{normalizePropertyName(l,u){return ut(l)}normalizeStyleValue(l,u,h,E){let N="";const V=h.toString().trim();if(vo.has(u)&&0!==h&&"0"!==h)if("number"==typeof h)N="px";else{const ee=h.match(/^[+-]?[\d\.]+([a-z]*)$/);ee&&0==ee[1].length&&E.push(function ge(_,l){return new k.vHH(3005,F)}())}return V+N}}function _s(_,l,u,h,E,N,V,ee,ye,be,We,Xe,Tt){return{type:0,element:_,triggerName:l,isRemovalTransition:E,fromState:u,fromStyles:N,toState:h,toStyles:V,timelines:ee,queriedElements:ye,preStyleProps:be,postStyleProps:We,totalTime:Xe,errors:Tt}}const es={};class ys{constructor(l,u,h){this._triggerName=l,this.ast=u,this._stateStyles=h}match(l,u,h,E){return function Ai(_,l,u,h,E){return _.some(N=>N(l,u,h,E))}(this.ast.matchers,l,u,h,E)}buildStyles(l,u,h){let E=this._stateStyles.get("*");return void 0!==l&&(E=this._stateStyles.get(l?.toString())||E),E?E.buildStyles(u,h):new Map}build(l,u,h,E,N,V,ee,ye,be,We){const Xe=[],Tt=this.ast.options&&this.ast.options.params||es,it=this.buildStyles(h,ee&&ee.params||es,Xe),ht=ye&&ye.params||es,Ft=this.buildStyles(E,ht,Xe),Zt=new Set,On=new Map,gn=new Map,En="void"===E,fs={params:Es(ht,Tt),delay:this.ast.options?.delay},Tr=We?[]:yt(l,u,this.ast.animation,N,V,it,Ft,fs,be,Xe);let Sn=0;if(Tr.forEach(Nr=>{Sn=Math.max(Nr.duration+Nr.delay,Sn)}),Xe.length)return _s(u,this._triggerName,h,E,En,it,Ft,[],[],On,gn,Sn,Xe);Tr.forEach(Nr=>{const xr=Nr.element,Ra=It(On,xr,new Set);Nr.preStyleProps.forEach(Sr=>Ra.add(Sr));const Ks=It(gn,xr,new Set);Nr.postStyleProps.forEach(Sr=>Ks.add(Sr)),xr!==u&&Zt.add(xr)});const mr=Se(Zt.values());return _s(u,this._triggerName,h,E,En,it,Ft,Tr,mr,On,gn,Sn)}}function Es(_,l){const u=Jn(l);for(const h in _)_.hasOwnProperty(h)&&null!=_[h]&&(u[h]=_[h]);return u}class us{constructor(l,u,h){this.styles=l,this.defaultParams=u,this.normalizer=h}buildStyles(l,u){const h=new Map,E=Jn(this.defaultParams);return Object.keys(l).forEach(N=>{const V=l[N];null!==V&&(E[N]=V)}),this.styles.styles.forEach(N=>{"string"!=typeof N&&N.forEach((V,ee)=>{V&&(V=Y(V,E,u));const ye=this.normalizer.normalizePropertyName(ee,u);V=this.normalizer.normalizeStyleValue(ee,ye,V,u),h.set(ye,V)})}),h}}class Do{constructor(l,u,h){this.name=l,this.ast=u,this._normalizer=h,this.transitionFactories=[],this.states=new Map,u.states.forEach(E=>{this.states.set(E.name,new us(E.style,E.options&&E.options.params||{},h))}),Ds(this.states,"true","1"),Ds(this.states,"false","0"),u.transitions.forEach(E=>{this.transitionFactories.push(new ys(l,E,this.states))}),this.fallbackTransition=function vs(_,l,u){return new ys(_,{type:1,animation:{type:2,steps:[],options:null},matchers:[(V,ee)=>!0],options:null,queryCount:0,depCount:0},l)}(l,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(l,u,h,E){return this.transitionFactories.find(V=>V.match(l,u,h,E))||null}matchStyles(l,u,h){return this.fallbackTransition.buildStyles(l,u,h)}}function Ds(_,l,u){_.has(l)?_.has(u)||_.set(u,_.get(l)):_.has(u)&&_.set(l,_.get(u))}const Xn=new T;class Cs{constructor(l,u,h){this.bodyNode=l,this._driver=u,this._normalizer=h,this._animations=new Map,this._playersById=new Map,this.players=[]}register(l,u){const h=[],N=pn(this._driver,u,h,[]);if(h.length)throw function Pe(_){return new k.vHH(3503,F)}();this._animations.set(l,N)}_buildPlayer(l,u,h){const E=l.element,N=bn(0,this._normalizer,0,l.keyframes,u,h);return this._driver.animate(E,N,l.duration,l.delay,l.easing,[],!0)}create(l,u,h={}){const E=[],N=this._animations.get(l);let V;const ee=new Map;if(N?(V=yt(this._driver,u,N,on,lt,new Map,new Map,h,Xn,E),V.forEach(We=>{const Xe=It(ee,We.element,new Map);We.postStyleProps.forEach(Tt=>Xe.set(Tt,null))})):(E.push(function Je(){return new k.vHH(3300,F)}()),V=[]),E.length)throw function pt(_){return new k.vHH(3504,F)}();ee.forEach((We,Xe)=>{We.forEach((Tt,_t)=>{We.set(_t,this._driver.computeStyle(Xe,_t,w.l3))})});const be=xt(V.map(We=>{const Xe=ee.get(We.element);return this._buildPlayer(We,new Map,Xe)}));return this._playersById.set(l,be),be.onDestroy(()=>this.destroy(l)),this.players.push(be),be}destroy(l){const u=this._getPlayer(l);u.destroy(),this._playersById.delete(l);const h=this.players.indexOf(u);h>=0&&this.players.splice(h,1)}_getPlayer(l){const u=this._playersById.get(l);if(!u)throw function at(_){return new k.vHH(3301,F)}();return u}listen(l,u,h,E){const N=Xt(u,"","","");return Jt(this._getPlayer(l),h,N,E),()=>{}}command(l,u,h,E){if("register"==h)return void this.register(l,E[0]);if("create"==h)return void this.create(l,u,E[0]||{});const N=this._getPlayer(l);switch(h){case"play":N.play();break;case"pause":N.pause();break;case"reset":N.reset();break;case"restart":N.restart();break;case"finish":N.finish();break;case"init":N.init();break;case"setPosition":N.setPosition(parseFloat(E[0]));break;case"destroy":this.destroy(l)}}}const Hs="ng-animate-queued",Us="ng-animate-disabled",Gs=[],So={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},nn={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},Wn="__ng_removed";class Vs{constructor(l,u=""){this.namespaceId=u;const h=l&&l.hasOwnProperty("value");if(this.value=function Me(_){return _??null}(h?l.value:l),h){const N=Jn(l);delete N.value,this.options=N}else this.options={};this.options.params||(this.options.params={})}get params(){return this.options.params}absorbOptions(l){const u=l.params;if(u){const h=this.options.params;Object.keys(u).forEach(E=>{null==h[E]&&(h[E]=u[E])})}}}const Yt="void",p=new Vs(Yt);class C{constructor(l,u,h){this.id=l,this.hostElement=u,this._engine=h,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+l,ot(u,this._hostClassName)}listen(l,u,h,E){if(!this._triggers.has(u))throw function Be(_,l){return new k.vHH(3302,F)}();if(null==h||0==h.length)throw function Rt(_){return new k.vHH(3303,F)}();if(!function Ze(_){return"start"==_||"done"==_}(h))throw function Vt(_,l){return new k.vHH(3400,F)}();const N=It(this._elementListeners,l,[]),V={name:u,phase:h,callback:E};N.push(V);const ee=It(this._engine.statesByElement,l,new Map);return ee.has(u)||(ot(l,At),ot(l,At+"-"+u),ee.set(u,p)),()=>{this._engine.afterFlush(()=>{const ye=N.indexOf(V);ye>=0&&N.splice(ye,1),this._triggers.has(u)||ee.delete(u)})}}register(l,u){return!this._triggers.has(l)&&(this._triggers.set(l,u),!0)}_getTrigger(l){const u=this._triggers.get(l);if(!u)throw function Ct(_){return new k.vHH(3401,F)}();return u}trigger(l,u,h,E=!0){const N=this._getTrigger(u),V=new P(this.id,u,l);let ee=this._engine.statesByElement.get(l);ee||(ot(l,At),ot(l,At+"-"+u),this._engine.statesByElement.set(l,ee=new Map));let ye=ee.get(u);const be=new Vs(h,this.id);if(!(h&&h.hasOwnProperty("value"))&&ye&&be.absorbOptions(ye.options),ee.set(u,be),ye||(ye=p),be.value!==Yt&&ye.value===be.value){if(!function Ur(_,l){const u=Object.keys(_),h=Object.keys(l);if(u.length!=h.length)return!1;for(let E=0;E<u.length;E++){const N=u[E];if(!l.hasOwnProperty(N)||_[N]!==l[N])return!1}return!0}(ye.params,be.params)){const ht=[],Ft=N.matchStyles(ye.value,ye.params,ht),Zt=N.matchStyles(be.value,be.params,ht);ht.length?this._engine.reportError(ht):this._engine.afterFlush(()=>{Ue(l,Ft),Ut(l,Zt)})}return}const Tt=It(this._engine.playersByElement,l,[]);Tt.forEach(ht=>{ht.namespaceId==this.id&&ht.triggerName==u&&ht.queued&&ht.destroy()});let _t=N.matchTransition(ye.value,be.value,l,be.params),it=!1;if(!_t){if(!E)return;_t=N.fallbackTransition,it=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:l,triggerName:u,transition:_t,fromState:ye,toState:be,player:V,isFallbackTransition:it}),it||(ot(l,Hs),V.onStart(()=>{an(l,Hs)})),V.onDone(()=>{let ht=this.players.indexOf(V);ht>=0&&this.players.splice(ht,1);const Ft=this._engine.playersByElement.get(l);if(Ft){let Zt=Ft.indexOf(V);Zt>=0&&Ft.splice(Zt,1)}}),this.players.push(V),Tt.push(V),V}deregister(l){this._triggers.delete(l),this._engine.statesByElement.forEach(u=>u.delete(l)),this._elementListeners.forEach((u,h)=>{this._elementListeners.set(h,u.filter(E=>E.name!=l))})}clearElementCache(l){this._engine.statesByElement.delete(l),this._elementListeners.delete(l);const u=this._engine.playersByElement.get(l);u&&(u.forEach(h=>h.destroy()),this._engine.playersByElement.delete(l))}_signalRemovalForInnerTriggers(l,u){const h=this._engine.driver.query(l,St,!0);h.forEach(E=>{if(E[Wn])return;const N=this._engine.fetchNamespacesByElement(E);N.size?N.forEach(V=>V.triggerLeaveAnimation(E,u,!1,!0)):this.clearElementCache(E)}),this._engine.afterFlushAnimationsDone(()=>h.forEach(E=>this.clearElementCache(E)))}triggerLeaveAnimation(l,u,h,E){const N=this._engine.statesByElement.get(l),V=new Map;if(N){const ee=[];if(N.forEach((ye,be)=>{if(V.set(be,ye.value),this._triggers.has(be)){const We=this.trigger(l,be,Yt,E);We&&ee.push(We)}}),ee.length)return this._engine.markElementAsRemoved(this.id,l,!0,u,V),h&&xt(ee).onDone(()=>this._engine.processLeaveNode(l)),!0}return!1}prepareLeaveAnimationListeners(l){const u=this._elementListeners.get(l),h=this._engine.statesByElement.get(l);if(u&&h){const E=new Set;u.forEach(N=>{const V=N.name;if(E.has(V))return;E.add(V);const ye=this._triggers.get(V).fallbackTransition,be=h.get(V)||p,We=new Vs(Yt),Xe=new P(this.id,V,l);this._engine.totalQueuedPlayers++,this._queue.push({element:l,triggerName:V,transition:ye,fromState:be,toState:We,player:Xe,isFallbackTransition:!0})})}}removeNode(l,u){const h=this._engine;if(l.childElementCount&&this._signalRemovalForInnerTriggers(l,u),this.triggerLeaveAnimation(l,u,!0))return;let E=!1;if(h.totalAnimations){const N=h.players.length?h.playersByQueriedElement.get(l):[];if(N&&N.length)E=!0;else{let V=l;for(;V=V.parentNode;)if(h.statesByElement.get(V)){E=!0;break}}}if(this.prepareLeaveAnimationListeners(l),E)h.markElementAsRemoved(this.id,l,!1,u);else{const N=l[Wn];(!N||N===So)&&(h.afterFlush(()=>this.clearElementCache(l)),h.destroyInnerAnimations(l),h._onRemovalComplete(l,u))}}insertNode(l,u){ot(l,this._hostClassName)}drainQueuedTransitions(l){const u=[];return this._queue.forEach(h=>{const E=h.player;if(E.destroyed)return;const N=h.element,V=this._elementListeners.get(N);V&&V.forEach(ee=>{if(ee.name==h.triggerName){const ye=Xt(N,h.triggerName,h.fromState.value,h.toState.value);ye._data=l,Jt(h.player,ee.phase,ye,ee.callback)}}),E.markedForDestroy?this._engine.afterFlush(()=>{E.destroy()}):u.push(h)}),this._queue=[],u.sort((h,E)=>{const N=h.transition.ast.depCount,V=E.transition.ast.depCount;return 0==N||0==V?N-V:this._engine.driver.containsElement(h.element,E.element)?1:-1})}destroy(l){this.players.forEach(u=>u.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,l)}elementContainsData(l){let u=!1;return this._elementListeners.has(l)&&(u=!0),u=!!this._queue.find(h=>h.element===l)||u,u}}class m{constructor(l,u,h){this.bodyNode=l,this.driver=u,this._normalizer=h,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(E,N)=>{}}_onRemovalComplete(l,u){this.onRemovalComplete(l,u)}get queuedPlayers(){const l=[];return this._namespaceList.forEach(u=>{u.players.forEach(h=>{h.queued&&l.push(h)})}),l}createNamespace(l,u){const h=new C(l,u,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,u)?this._balanceNamespaceList(h,u):(this.newHostElements.set(u,h),this.collectEnterElement(u)),this._namespaceLookup[l]=h}_balanceNamespaceList(l,u){const h=this._namespaceList,E=this.namespacesByHostElement;if(h.length-1>=0){let V=!1,ee=this.driver.getParentElement(u);for(;ee;){const ye=E.get(ee);if(ye){const be=h.indexOf(ye);h.splice(be+1,0,l),V=!0;break}ee=this.driver.getParentElement(ee)}V||h.unshift(l)}else h.push(l);return E.set(u,l),l}register(l,u){let h=this._namespaceLookup[l];return h||(h=this.createNamespace(l,u)),h}registerTrigger(l,u,h){let E=this._namespaceLookup[l];E&&E.register(u,h)&&this.totalAnimations++}destroy(l,u){if(!l)return;const h=this._fetchNamespace(l);this.afterFlush(()=>{this.namespacesByHostElement.delete(h.hostElement),delete this._namespaceLookup[l];const E=this._namespaceList.indexOf(h);E>=0&&this._namespaceList.splice(E,1)}),this.afterFlushAnimationsDone(()=>h.destroy(u))}_fetchNamespace(l){return this._namespaceLookup[l]}fetchNamespacesByElement(l){const u=new Set,h=this.statesByElement.get(l);if(h)for(let E of h.values())if(E.namespaceId){const N=this._fetchNamespace(E.namespaceId);N&&u.add(N)}return u}trigger(l,u,h,E){if(Le(u)){const N=this._fetchNamespace(l);if(N)return N.trigger(u,h,E),!0}return!1}insertNode(l,u,h,E){if(!Le(u))return;const N=u[Wn];if(N&&N.setForRemoval){N.setForRemoval=!1,N.setForMove=!0;const V=this.collectedLeaveElements.indexOf(u);V>=0&&this.collectedLeaveElements.splice(V,1)}if(l){const V=this._fetchNamespace(l);V&&V.insertNode(u,h)}E&&this.collectEnterElement(u)}collectEnterElement(l){this.collectedEnterElements.push(l)}markElementAsDisabled(l,u){u?this.disabledNodes.has(l)||(this.disabledNodes.add(l),ot(l,Us)):this.disabledNodes.has(l)&&(this.disabledNodes.delete(l),an(l,Us))}removeNode(l,u,h,E){if(Le(u)){const N=l?this._fetchNamespace(l):null;if(N?N.removeNode(u,E):this.markElementAsRemoved(l,u,!1,E),h){const V=this.namespacesByHostElement.get(u);V&&V.id!==l&&V.removeNode(u,E)}}else this._onRemovalComplete(u,E)}markElementAsRemoved(l,u,h,E,N){this.collectedLeaveElements.push(u),u[Wn]={namespaceId:l,setForRemoval:E,hasAnimation:h,removedBeforeQueried:!1,previousTriggersValues:N}}listen(l,u,h,E,N){return Le(u)?this._fetchNamespace(l).listen(u,h,E,N):()=>{}}_buildInstruction(l,u,h,E,N){return l.transition.build(this.driver,l.element,l.fromState.value,l.toState.value,h,E,l.fromState.options,l.toState.options,u,N)}destroyInnerAnimations(l){let u=this.driver.query(l,St,!0);u.forEach(h=>this.destroyActiveAnimationsForElement(h)),0!=this.playersByQueriedElement.size&&(u=this.driver.query(l,Pn,!0),u.forEach(h=>this.finishActiveQueriedAnimationOnElement(h)))}destroyActiveAnimationsForElement(l){const u=this.playersByElement.get(l);u&&u.forEach(h=>{h.queued?h.markedForDestroy=!0:h.destroy()})}finishActiveQueriedAnimationOnElement(l){const u=this.playersByQueriedElement.get(l);u&&u.forEach(h=>h.finish())}whenRenderingDone(){return new Promise(l=>{if(this.players.length)return xt(this.players).onDone(()=>l());l()})}processLeaveNode(l){const u=l[Wn];if(u&&u.setForRemoval){if(l[Wn]=So,u.namespaceId){this.destroyInnerAnimations(l);const h=this._fetchNamespace(u.namespaceId);h&&h.clearElementCache(l)}this._onRemovalComplete(l,u.setForRemoval)}l.classList?.contains(Us)&&this.markElementAsDisabled(l,!1),this.driver.query(l,".ng-animate-disabled",!0).forEach(h=>{this.markElementAsDisabled(h,!1)})}flush(l=-1){let u=[];if(this.newHostElements.size&&(this.newHostElements.forEach((h,E)=>this._balanceNamespaceList(h,E)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let h=0;h<this.collectedEnterElements.length;h++)ot(this.collectedEnterElements[h],"ng-star-inserted");if(this._namespaceList.length&&(this.totalQueuedPlayers||this.collectedLeaveElements.length)){const h=[];try{u=this._flushAnimations(h,l)}finally{for(let E=0;E<h.length;E++)h[E]()}}else for(let h=0;h<this.collectedLeaveElements.length;h++)this.processLeaveNode(this.collectedLeaveElements[h]);if(this.totalQueuedPlayers=0,this.collectedEnterElements.length=0,this.collectedLeaveElements.length=0,this._flushFns.forEach(h=>h()),this._flushFns=[],this._whenQuietFns.length){const h=this._whenQuietFns;this._whenQuietFns=[],u.length?xt(u).onDone(()=>{h.forEach(E=>E())}):h.forEach(E=>E())}}reportError(l){throw function gt(_){return new k.vHH(3402,F)}()}_flushAnimations(l,u){const h=new T,E=[],N=new Map,V=[],ee=new Map,ye=new Map,be=new Map,We=new Set;this.disabledNodes.forEach(et=>{We.add(et);const st=this.driver.query(et,".ng-animate-queued",!0);for(let ct=0;ct<st.length;ct++)We.add(st[ct])});const Xe=this.bodyNode,Tt=Array.from(this.statesByElement.keys()),_t=Wt(Tt,this.collectedEnterElements),it=new Map;let ht=0;_t.forEach((et,st)=>{const ct=on+ht++;it.set(st,ct),et.forEach(Dt=>ot(Dt,ct))});const Ft=[],Zt=new Set,On=new Set;for(let et=0;et<this.collectedLeaveElements.length;et++){const st=this.collectedLeaveElements[et],ct=st[Wn];ct&&ct.setForRemoval&&(Ft.push(st),Zt.add(st),ct.hasAnimation?this.driver.query(st,".ng-star-inserted",!0).forEach(Dt=>Zt.add(Dt)):On.add(st))}const gn=new Map,En=Wt(Tt,Array.from(Zt));En.forEach((et,st)=>{const ct=lt+ht++;gn.set(st,ct),et.forEach(Dt=>ot(Dt,ct))}),l.push(()=>{_t.forEach((et,st)=>{const ct=it.get(st);et.forEach(Dt=>an(Dt,ct))}),En.forEach((et,st)=>{const ct=gn.get(st);et.forEach(Dt=>an(Dt,ct))}),Ft.forEach(et=>{this.processLeaveNode(et)})});const fs=[],Tr=[];for(let et=this._namespaceList.length-1;et>=0;et--)this._namespaceList[et].drainQueuedTransitions(u).forEach(ct=>{const Dt=ct.player,An=ct.element;if(fs.push(Dt),this.collectedEnterElements.length){const Fn=An[Wn];if(Fn&&Fn.setForMove){if(Fn.previousTriggersValues&&Fn.previousTriggersValues.has(ct.triggerName)){const kn=Fn.previousTriggersValues.get(ct.triggerName),fr=this.statesByElement.get(ct.element);if(fr&&fr.has(ct.triggerName)){const Gr=fr.get(ct.triggerName);Gr.value=kn,fr.set(ct.triggerName,Gr)}}return void Dt.destroy()}}const Zn=!Xe||!this.driver.containsElement(Xe,An),qn=gn.get(An),_r=it.get(An),mn=this._buildInstruction(ct,h,_r,qn,Zn);if(mn.errors&&mn.errors.length)return void Tr.push(mn);if(Zn)return Dt.onStart(()=>Ue(An,mn.fromStyles)),Dt.onDestroy(()=>Ut(An,mn.toStyles)),void E.push(Dt);if(ct.isFallbackTransition)return Dt.onStart(()=>Ue(An,mn.fromStyles)),Dt.onDestroy(()=>Ut(An,mn.toStyles)),void E.push(Dt);const ki=[];mn.timelines.forEach(Fn=>{Fn.stretchStartingKeyframe=!0,this.disabledNodes.has(Fn.element)||ki.push(Fn)}),mn.timelines=ki,h.append(An,mn.timelines),V.push({instruction:mn,player:Dt,element:An}),mn.queriedElements.forEach(Fn=>It(ee,Fn,[]).push(Dt)),mn.preStyleProps.forEach((Fn,kn)=>{if(Fn.size){let fr=ye.get(kn);fr||ye.set(kn,fr=new Set),Fn.forEach((Gr,Ms)=>fr.add(Ms))}}),mn.postStyleProps.forEach((Fn,kn)=>{let fr=be.get(kn);fr||be.set(kn,fr=new Set),Fn.forEach((Gr,Ms)=>fr.add(Ms))})});if(Tr.length){const et=[];Tr.forEach(st=>{et.push(function ln(_,l){return new k.vHH(3505,F)}())}),fs.forEach(st=>st.destroy()),this.reportError(et)}const Sn=new Map,mr=new Map;V.forEach(et=>{const st=et.element;h.has(st)&&(mr.set(st,st),this._beforeAnimationBuild(et.player.namespaceId,et.instruction,Sn))}),E.forEach(et=>{const st=et.element;this._getPreviousPlayers(st,!1,et.namespaceId,et.triggerName,null).forEach(Dt=>{It(Sn,st,[]).push(Dt),Dt.destroy()})});const Nr=Ft.filter(et=>ts(et,ye,be)),xr=new Map;Bt(xr,this.driver,On,be,w.l3).forEach(et=>{ts(et,ye,be)&&Nr.push(et)});const Ks=new Map;_t.forEach((et,st)=>{Bt(Ks,this.driver,new Set(et),ye,w.k1)}),Nr.forEach(et=>{const st=xr.get(et),ct=Ks.get(et);xr.set(et,new Map([...Array.from(st?.entries()??[]),...Array.from(ct?.entries()??[])]))});const Sr=[],Fi=[],Zs={};V.forEach(et=>{const{element:st,player:ct,instruction:Dt}=et;if(h.has(st)){if(We.has(st))return ct.onDestroy(()=>Ut(st,Dt.toStyles)),ct.disabled=!0,ct.overrideTotalTime(Dt.totalTime),void E.push(ct);let An=Zs;if(mr.size>1){let qn=st;const _r=[];for(;qn=qn.parentNode;){const mn=mr.get(qn);if(mn){An=mn;break}_r.push(qn)}_r.forEach(mn=>mr.set(mn,An))}const Zn=this._buildAnimation(ct.namespaceId,Dt,Sn,N,Ks,xr);if(ct.setRealPlayer(Zn),An===Zs)Sr.push(ct);else{const qn=this.playersByElement.get(An);qn&&qn.length&&(ct.parentPlayer=xt(qn)),E.push(ct)}}else Ue(st,Dt.fromStyles),ct.onDestroy(()=>Ut(st,Dt.toStyles)),Fi.push(ct),We.has(st)&&E.push(ct)}),Fi.forEach(et=>{const st=N.get(et.element);if(st&&st.length){const ct=xt(st);et.setRealPlayer(ct)}}),E.forEach(et=>{et.parentPlayer?et.syncPlayerEvents(et.parentPlayer):et.destroy()});for(let et=0;et<Ft.length;et++){const st=Ft[et],ct=st[Wn];if(an(st,lt),ct&&ct.hasAnimation)continue;let Dt=[];if(ee.size){let Zn=ee.get(st);Zn&&Zn.length&&Dt.push(...Zn);let qn=this.driver.query(st,Pn,!0);for(let _r=0;_r<qn.length;_r++){let mn=ee.get(qn[_r]);mn&&mn.length&&Dt.push(...mn)}}const An=Dt.filter(Zn=>!Zn.destroyed);An.length?Kt(this,st,An):this.processLeaveNode(st)}return Ft.length=0,Sr.forEach(et=>{this.players.push(et),et.onDone(()=>{et.destroy();const st=this.players.indexOf(et);this.players.splice(st,1)}),et.play()}),Sr}elementContainsData(l,u){let h=!1;const E=u[Wn];return E&&E.setForRemoval&&(h=!0),this.playersByElement.has(u)&&(h=!0),this.playersByQueriedElement.has(u)&&(h=!0),this.statesByElement.has(u)&&(h=!0),this._fetchNamespace(l).elementContainsData(u)||h}afterFlush(l){this._flushFns.push(l)}afterFlushAnimationsDone(l){this._whenQuietFns.push(l)}_getPreviousPlayers(l,u,h,E,N){let V=[];if(u){const ee=this.playersByQueriedElement.get(l);ee&&(V=ee)}else{const ee=this.playersByElement.get(l);if(ee){const ye=!N||N==Yt;ee.forEach(be=>{be.queued||!ye&&be.triggerName!=E||V.push(be)})}}return(h||E)&&(V=V.filter(ee=>!(h&&h!=ee.namespaceId||E&&E!=ee.triggerName))),V}_beforeAnimationBuild(l,u,h){const N=u.element,V=u.isRemovalTransition?void 0:l,ee=u.isRemovalTransition?void 0:u.triggerName;for(const ye of u.timelines){const be=ye.element,We=be!==N,Xe=It(h,be,[]);this._getPreviousPlayers(be,We,V,ee,u.toState).forEach(_t=>{const it=_t.getRealPlayer();it.beforeDestroy&&it.beforeDestroy(),_t.destroy(),Xe.push(_t)})}Ue(N,u.fromStyles)}_buildAnimation(l,u,h,E,N,V){const ee=u.triggerName,ye=u.element,be=[],We=new Set,Xe=new Set,Tt=u.timelines.map(it=>{const ht=it.element;We.add(ht);const Ft=ht[Wn];if(Ft&&Ft.removedBeforeQueried)return new w.ZN(it.duration,it.delay);const Zt=ht!==ye,On=function tt(_){const l=[];return Ar(_,l),l}((h.get(ht)||Gs).map(Sn=>Sn.getRealPlayer())).filter(Sn=>!!Sn.element&&Sn.element===ht),gn=N.get(ht),En=V.get(ht),fs=bn(0,this._normalizer,0,it.keyframes,gn,En),Tr=this._buildPlayer(it,fs,On);if(it.subTimeline&&E&&Xe.add(ht),Zt){const Sn=new P(l,ee,ht);Sn.setRealPlayer(Tr),be.push(Sn)}return Tr});be.forEach(it=>{It(this.playersByQueriedElement,it.element,[]).push(it),it.onDone(()=>function ue(_,l,u){let h=_.get(l);if(h){if(h.length){const E=h.indexOf(u);h.splice(E,1)}0==h.length&&_.delete(l)}return h}(this.playersByQueriedElement,it.element,it))}),We.forEach(it=>ot(it,Yn));const _t=xt(Tt);return _t.onDestroy(()=>{We.forEach(it=>an(it,Yn)),Ut(ye,u.toStyles)}),Xe.forEach(it=>{It(E,it,[]).push(_t)}),_t}_buildPlayer(l,u,h){return u.length>0?this.driver.animate(l.element,u,l.duration,l.delay,l.easing,h):new w.ZN(l.duration,l.delay)}}class P{constructor(l,u,h){this.namespaceId=l,this.triggerName=u,this.element=h,this._player=new w.ZN,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(l){this._containsRealPlayer||(this._player=l,this._queuedCallbacks.forEach((u,h)=>{u.forEach(E=>Jt(l,h,void 0,E))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(l.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(l){this.totalTime=l}syncPlayerEvents(l){const u=this._player;u.triggerCallback&&l.onStart(()=>u.triggerCallback("start")),l.onDone(()=>this.finish()),l.onDestroy(()=>this.destroy())}_queueEvent(l,u){It(this._queuedCallbacks,l,[]).push(u)}onDone(l){this.queued&&this._queueEvent("done",l),this._player.onDone(l)}onStart(l){this.queued&&this._queueEvent("start",l),this._player.onStart(l)}onDestroy(l){this.queued&&this._queueEvent("destroy",l),this._player.onDestroy(l)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(l){this.queued||this._player.setPosition(l)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(l){const u=this._player;u.triggerCallback&&u.triggerCallback(l)}}function Le(_){return _&&1===_.nodeType}function Gt(_,l){const u=_.style.display;return _.style.display=l??"none",u}function Bt(_,l,u,h,E){const N=[];u.forEach(ye=>N.push(Gt(ye)));const V=[];h.forEach((ye,be)=>{const We=new Map;ye.forEach(Xe=>{const Tt=l.computeStyle(be,Xe,E);We.set(Xe,Tt),(!Tt||0==Tt.length)&&(be[Wn]=nn,V.push(be))}),_.set(be,We)});let ee=0;return u.forEach(ye=>Gt(ye,N[ee++])),V}function Wt(_,l){const u=new Map;if(_.forEach(ee=>u.set(ee,[])),0==l.length)return u;const E=new Set(l),N=new Map;function V(ee){if(!ee)return 1;let ye=N.get(ee);if(ye)return ye;const be=ee.parentNode;return ye=u.has(be)?be:E.has(be)?1:V(be),N.set(ee,ye),ye}return l.forEach(ee=>{const ye=V(ee);1!==ye&&u.get(ye).push(ee)}),u}function ot(_,l){_.classList?.add(l)}function an(_,l){_.classList?.remove(l)}function Kt(_,l,u){xt(u).onDone(()=>_.processLeaveNode(l))}function Ar(_,l){for(let u=0;u<_.length;u++){const h=_[u];h instanceof w.ZE?Ar(h.players,l):l.push(h)}}function ts(_,l,u){const h=u.get(_);if(!h)return!1;let E=l.get(_);return E?h.forEach(N=>E.add(N)):l.set(_,h),u.delete(_),!0}class pr{constructor(l,u,h){this.bodyNode=l,this._driver=u,this._normalizer=h,this._triggerCache={},this.onRemovalComplete=(E,N)=>{},this._transitionEngine=new m(l,u,h),this._timelineEngine=new Cs(l,u,h),this._transitionEngine.onRemovalComplete=(E,N)=>this.onRemovalComplete(E,N)}registerTrigger(l,u,h,E,N){const V=l+"-"+E;let ee=this._triggerCache[V];if(!ee){const ye=[],We=pn(this._driver,N,ye,[]);if(ye.length)throw function ce(_,l){return new k.vHH(3404,F)}();ee=function Bs(_,l,u){return new Do(_,l,u)}(E,We,this._normalizer),this._triggerCache[V]=ee}this._transitionEngine.registerTrigger(u,E,ee)}register(l,u){this._transitionEngine.register(l,u)}destroy(l,u){this._transitionEngine.destroy(l,u)}onInsert(l,u,h,E){this._transitionEngine.insertNode(l,u,h,E)}onRemove(l,u,h,E){this._transitionEngine.removeNode(l,u,E||!1,h)}disableAnimations(l,u){this._transitionEngine.markElementAsDisabled(l,u)}process(l,u,h,E){if("@"==h.charAt(0)){const[N,V]=qe(h);this._timelineEngine.command(N,u,V,E)}else this._transitionEngine.trigger(l,u,h,E)}listen(l,u,h,E,N){if("@"==h.charAt(0)){const[V,ee]=qe(h);return this._timelineEngine.listen(V,u,ee,N)}return this._transitionEngine.listen(l,u,h,E,N)}flush(l=-1){this._transitionEngine.flush(l)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let cs=(()=>{class _{constructor(u,h,E){this._element=u,this._startStyles=h,this._endStyles=E,this._state=0;let N=_.initialStylesByElement.get(u);N||_.initialStylesByElement.set(u,N=new Map),this._initialStyles=N}start(){this._state<1&&(this._startStyles&&Ut(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Ut(this._element,this._initialStyles),this._endStyles&&(Ut(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(_.initialStylesByElement.delete(this._element),this._startStyles&&(Ue(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ue(this._element,this._endStyles),this._endStyles=null),Ut(this._element,this._initialStyles),this._state=3)}}return _.initialStylesByElement=new WeakMap,_})();function ds(_){let l=null;return _.forEach((u,h)=>{(function ba(_){return"display"===_||"position"===_})(h)&&(l=l||new Map,l.set(h,u))}),l}class Ne{constructor(l,u,h,E){this.element=l,this.keyframes=u,this.options=h,this._specialStyles=E,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=h.duration,this._delay=h.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(l=>l()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const l=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,l,this.options),this._finalKeyframe=l.length?l[l.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(l){const u=[];return l.forEach(h=>{u.push(Object.fromEntries(h))}),u}_triggerWebAnimation(l,u,h){return l.animate(this._convertKeyframesToObject(u),h)}onStart(l){this._onStartFns.push(l)}onDone(l){this._onDoneFns.push(l)}onDestroy(l){this._onDestroyFns.push(l)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(l=>l()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(l=>l()),this._onDestroyFns=[])}setPosition(l){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=l*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const l=new Map;this.hasStarted()&&this._finalKeyframe.forEach((h,E)=>{"offset"!==E&&l.set(E,this._finished?h:rr(this.element,E))}),this.currentSnapshot=l}triggerCallback(l){const u="start"===l?this._onStartFns:this._onDoneFns;u.forEach(h=>h()),u.length=0}}class Nt{validateStyleProperty(l){return!0}validateAnimatableStyleProperty(l){return!0}matchesElement(l,u){return!1}containsElement(l,u){return K(l,u)}getParentElement(l){return Fe(l)}query(l,u,h){return b(l,u,h)}computeStyle(l,u,h){return window.getComputedStyle(l)[u]}animate(l,u,h,E,N,V=[]){const ye={duration:h,delay:E,fill:0==E?"both":"forwards"};N&&(ye.easing=N);const be=new Map,We=V.filter(_t=>_t instanceof Ne);(function Qe(_,l){return 0===_||0===l})(h,E)&&We.forEach(_t=>{_t.currentSnapshot.forEach((it,ht)=>be.set(ht,it))});let Xe=function Cr(_){return _.length?_[0]instanceof Map?_:_.map(l=>nr(l)):[]}(u).map(_t=>Ht(_t));Xe=function Un(_,l,u){if(u.size&&l.length){let h=l[0],E=[];if(u.forEach((N,V)=>{h.has(V)||E.push(V),h.set(V,N)}),E.length)for(let N=1;N<l.length;N++){let V=l[N];E.forEach(ee=>V.set(ee,rr(_,ee)))}}return l}(l,Xe,be);const Tt=function $s(_,l){let u=null,h=null;return Array.isArray(l)&&l.length?(u=ds(l[0]),l.length>1&&(h=ds(l[l.length-1]))):l instanceof Map&&(u=ds(l)),u||h?new cs(_,u,h):null}(l,Xe);return new Ne(l,Xe,ye,Tt)}}let Mo=(()=>{class _ extends w._j{constructor(u,h){super(),this._nextAnimationId=0,this._renderer=u.createRenderer(h.body,{id:"0",encapsulation:k.ifc.None,styles:[],data:{animation:[]}})}build(u){const h=this._nextAnimationId.toString();this._nextAnimationId++;const E=Array.isArray(u)?(0,w.vP)(u):u;return Pi(this._renderer,null,h,"register",[E]),new wo(h,this._renderer)}}return _.\u0275fac=function(u){return new(u||_)(k.LFG(k.FYo),k.LFG(d.K0))},_.\u0275prov=k.Yz7({token:_,factory:_.\u0275fac}),_})();class wo extends w.LC{constructor(l,u){super(),this._id=l,this._renderer=u}create(l,u){return new Tn(this._id,l,u||{},this._renderer)}}class Tn{constructor(l,u,h,E){this.id=l,this.element=u,this._renderer=E,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",h)}_listen(l,u){return this._renderer.listen(this.element,`@@${this.id}:${l}`,u)}_command(l,...u){return Pi(this._renderer,this.element,this.id,l,u)}onDone(l){this._listen("done",l)}onStart(l){this._listen("start",l)}onDestroy(l){this._listen("destroy",l)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(l){this._command("setPosition",l)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function Pi(_,l,u,h,E){return _.setProperty(l,`@@${u}:${h}`,E)}const gr="@.disabled";let Ii=(()=>{class _{constructor(u,h,E){this.delegate=u,this.engine=h,this._zone=E,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),h.onRemovalComplete=(N,V)=>{const ee=V?.parentNode(N);ee&&V.removeChild(ee,N)}}createRenderer(u,h){const N=this.delegate.createRenderer(u,h);if(!(u&&h&&h.data&&h.data.animation)){let We=this._rendererCache.get(N);return We||(We=new zs("",N,this.engine),this._rendererCache.set(N,We)),We}const V=h.id,ee=h.id+"-"+this._currentId;this._currentId++,this.engine.register(ee,u);const ye=We=>{Array.isArray(We)?We.forEach(ye):this.engine.registerTrigger(V,ee,u,We.name,We)};return h.data.animation.forEach(ye),new oc(this,ee,N,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(u,h,E){u>=0&&u<this._microtaskId?this._zone.run(()=>h(E)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(N=>{const[V,ee]=N;V(ee)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([h,E]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return _.\u0275fac=function(u){return new(u||_)(k.LFG(k.FYo),k.LFG(pr),k.LFG(k.R0b))},_.\u0275prov=k.Yz7({token:_,factory:_.\u0275fac}),_})();class zs{constructor(l,u,h){this.namespaceId=l,this.delegate=u,this.engine=h,this.destroyNode=this.delegate.destroyNode?E=>u.destroyNode(E):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy()}createElement(l,u){return this.delegate.createElement(l,u)}createComment(l){return this.delegate.createComment(l)}createText(l){return this.delegate.createText(l)}appendChild(l,u){this.delegate.appendChild(l,u),this.engine.onInsert(this.namespaceId,u,l,!1)}insertBefore(l,u,h,E=!0){this.delegate.insertBefore(l,u,h),this.engine.onInsert(this.namespaceId,u,l,E)}removeChild(l,u,h){this.engine.onRemove(this.namespaceId,u,this.delegate,h)}selectRootElement(l,u){return this.delegate.selectRootElement(l,u)}parentNode(l){return this.delegate.parentNode(l)}nextSibling(l){return this.delegate.nextSibling(l)}setAttribute(l,u,h,E){this.delegate.setAttribute(l,u,h,E)}removeAttribute(l,u,h){this.delegate.removeAttribute(l,u,h)}addClass(l,u){this.delegate.addClass(l,u)}removeClass(l,u){this.delegate.removeClass(l,u)}setStyle(l,u,h,E){this.delegate.setStyle(l,u,h,E)}removeStyle(l,u,h){this.delegate.removeStyle(l,u,h)}setProperty(l,u,h){"@"==u.charAt(0)&&u==gr?this.disableAnimations(l,!!h):this.delegate.setProperty(l,u,h)}setValue(l,u){this.delegate.setValue(l,u)}listen(l,u,h){return this.delegate.listen(l,u,h)}disableAnimations(l,u){this.engine.disableAnimations(l,u)}}class oc extends zs{constructor(l,u,h,E){super(u,h,E),this.factory=l,this.namespaceId=u}setProperty(l,u,h){"@"==u.charAt(0)?"."==u.charAt(1)&&u==gr?this.disableAnimations(l,h=void 0===h||!!h):this.engine.process(this.namespaceId,l,u.slice(1),h):this.delegate.setProperty(l,u,h)}listen(l,u,h){if("@"==u.charAt(0)){const E=function Oa(_){switch(_){case"body":return document.body;case"document":return document;case"window":return window;default:return _}}(l);let N=u.slice(1),V="";return"@"!=N.charAt(0)&&([N,V]=function ac(_){const l=_.indexOf(".");return[_.substring(0,l),_.slice(l+1)]}(N)),this.engine.listen(this.namespaceId,E,N,V,ee=>{this.factory.scheduleListenerCallback(ee._data||-1,h,ee)})}return this.delegate.listen(l,u,h)}}const Ni=[{provide:w._j,useClass:Mo},{provide:ks,useFactory:function Kn(){return new Or}},{provide:pr,useClass:(()=>{class _ extends pr{constructor(u,h,E){super(u.body,h,E)}ngOnDestroy(){this.flush()}}return _.\u0275fac=function(u){return new(u||_)(k.LFG(d.K0),k.LFG(je),k.LFG(ks))},_.\u0275prov=k.Yz7({token:_,factory:_.\u0275fac}),_})()},{provide:k.FYo,useFactory:function Pr(_,l,u){return new Ii(_,l,u)},deps:[oe.se,pr,k.R0b]}],ns=[{provide:je,useFactory:()=>new Nt},{provide:k.QbO,useValue:"BrowserAnimations"},...Ni],Ir=[{provide:je,useClass:Ee},{provide:k.QbO,useValue:"NoopAnimations"},...Ni];let Aa=(()=>{class _{static withConfig(u){return{ngModule:_,providers:u.disableAnimations?Ir:ns}}}return _.\u0275fac=function(u){return new(u||_)},_.\u0275mod=k.oAB({type:_}),_.\u0275inj=k.cJS({providers:ns,imports:[oe.b2]}),_})();var Ia=v(3507);let Na=(()=>{class _{static forRoot(){return{ngModule:_}}}return _.\u0275fac=function(u){return new(u||_)},_.\u0275mod=k.oAB({type:_}),_.\u0275inj=k.cJS({providers:[Ia.b],imports:[d.ez]}),_})();v(4722),v(2196),v(4449),v(6341),v(2066),v(174),v(1558),v(4009);let Po=(()=>{class _{}return _.\u0275fac=function(u){return new(u||_)},_.\u0275mod=k.oAB({type:_}),_.\u0275inj=k.cJS({providers:[],imports:[d.ez,Aa,o.aw,Na.forRoot()]}),_})()},4449:($e,De,v)=>{"use strict";v.d(De,{u:()=>k});var d=v(4650);function o(oe){return(oe<10?"0":"")+oe.toString()}let k=(()=>{class oe{transform(F){if(isNaN(F)||0===F)return"-";const G=Math.floor(F/1e3),ne=Math.floor(G/3600),ae=Math.floor((G-3600*ne)/60),se=G-3600*ne-60*ae;return`${ne>0?`${o(ne)}:`:""}${o(ae)}:${o(se)}`}}return oe.\u0275fac=function(F){return new(F||oe)},oe.\u0275pipe=d.Yjl({name:"duration",type:oe,pure:!0}),oe})()},1558:($e,De,v)=>{"use strict";v.d(De,{g:()=>k,n:()=>oe});var d=v(1344),o=v(4650);let k=(()=>{class w{transform(G){return G===d.Ej}}return w.\u0275fac=function(G){return new(G||w)},w.\u0275pipe=o.Yjl({name:"gameModeEasy",type:w,pure:!0}),w})(),oe=(()=>{class w{transform(G){return G===d.Ej||G===d.cR}}return w.\u0275fac=function(G){return new(G||w)},w.\u0275pipe=o.Yjl({name:"gameModeStandard",type:w,pure:!0}),w})()},6341:($e,De,v)=>{"use strict";v.d(De,{q:()=>o});var d=v(4650);let o=(()=>{class k{transform(w,F){return`${F}${w}`}}return k.\u0275fac=function(w){return new(w||k)},k.\u0275pipe=d.Yjl({name:"prefix",type:k,pure:!0}),k})()},3507:($e,De,v)=>{"use strict";v.d(De,{b:()=>we});var d=v(6895),o=v(4650),k=v(7579),oe=v(6451),w=v(727);class F extends w.w0{constructor(Q,ie){super()}schedule(Q,ie=0){return this}}const G={setInterval(H,Q,...ie){const{delegate:ce}=G;return ce?.setInterval?ce.setInterval(H,Q,...ie):setInterval(H,Q,...ie)},clearInterval(H){const{delegate:Q}=G;return(Q?.clearInterval||clearInterval)(H)},delegate:void 0};var ne=v(8737),se=v(6063);class J{constructor(Q,ie=J.now){this.schedulerActionCtor=Q,this.now=ie}schedule(Q,ie=0,ce){return new this.schedulerActionCtor(this,Q).schedule(ce,ie)}}J.now=se.l.now;const Ie=new class le extends J{constructor(Q,ie=J.now){super(Q,ie),this.actions=[],this._active=!1,this._scheduled=void 0}flush(Q){const{actions:ie}=this;if(this._active)return void ie.push(Q);let ce;this._active=!0;do{if(ce=Q.execute(Q.state,Q.delay))break}while(Q=ie.shift());if(this._active=!1,ce){for(;Q=ie.shift();)Q.unsubscribe();throw ce}}}(class ae extends F{constructor(Q,ie){super(Q,ie),this.scheduler=Q,this.work=ie,this.pending=!1}schedule(Q,ie=0){if(this.closed)return this;this.state=Q;const ce=this.id,fe=this.scheduler;return null!=ce&&(this.id=this.recycleAsyncId(fe,ce,ie)),this.pending=!0,this.delay=ie,this.id=this.id||this.requestAsyncId(fe,this.id,ie),this}requestAsyncId(Q,ie,ce=0){return G.setInterval(Q.flush.bind(Q,this),ce)}recycleAsyncId(Q,ie,ce=0){if(null!=ce&&this.delay===ce&&!1===this.pending)return ie;G.clearInterval(ie)}execute(Q,ie){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const ce=this._execute(Q,ie);if(ce)return ce;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(Q,ie){let fe,ce=!1;try{this.work(Q)}catch(Pe){ce=!0,fe=Pe||new Error("Scheduled action threw falsy error")}if(ce)return this.unsubscribe(),fe}unsubscribe(){if(!this.closed){const{id:Q,scheduler:ie}=this,{actions:ce}=ie;this.work=this.state=this.scheduler=null,this.pending=!1,(0,ne.P)(ce,this),null!=Q&&(this.id=this.recycleAsyncId(ie,Q,null)),this.delay=null,super.unsubscribe()}}}),ge=Ie;var $=v(4482),de=v(5403),L=v(8421);const I={leading:!0,trailing:!1};var re=v(8306),O=v(3532);function Te(H,Q=Ie,ie=I){const ce=function B(H=0,Q,ie=ge){let ce=-1;return null!=Q&&((0,O.K)(Q)?ie=Q:ce=Q),new re.y(fe=>{let Pe=function A(H){return H instanceof Date&&!isNaN(H)}(H)?+H-ie.now():H;Pe<0&&(Pe=0);let Je=0;return ie.schedule(function(){fe.closed||(fe.next(Je++),0<=ce?this.schedule(void 0,ce):fe.complete())},Pe)})}(H,Q);return function M(H,Q=I){return(0,$.e)((ie,ce)=>{const{leading:fe,trailing:Pe}=Q;let Je=!1,pt=null,at=null,Be=!1;const Rt=()=>{at?.unsubscribe(),at=null,Pe&&(gt(),Be&&ce.complete())},Vt=()=>{at=null,Be&&ce.complete()},Ct=$t=>at=(0,L.Xf)(H($t)).subscribe((0,de.x)(ce,Rt,Vt)),gt=()=>{if(Je){Je=!1;const $t=pt;pt=null,ce.next($t),!Be&&Ct($t)}};ie.subscribe((0,de.x)(ce,$t=>{Je=!0,pt=$t,(!at||at.closed)&&(fe?gt():Ct($t))},()=>{Be=!0,(!(Pe&&Je&&at)||at.closed)&&ce.complete()}))})}(()=>ce,ie)}var me=v(9284);let we=(()=>{class H{constructor(ie){this.platformId=ie,this.scrollNotify=new o.vpe,this.observeNotify=new o.vpe,this.currentViewport=new me.U(0,0,0,0),this.scrollSubject=new k.x,this.isBrowser=(0,d.NF)(this.platformId),this.hasIntersectionObserver=H.checkIntersectionObserver();const ce=this.scrollSubject.asObservable();this.scrollObservable=(0,oe.T)(ce.pipe(Te(300)),ce.pipe(function te(H,Q=Ie){return(0,$.e)((ie,ce)=>{let fe=null,Pe=null,Je=null;const pt=()=>{if(fe){fe.unsubscribe(),fe=null;const Be=Pe;Pe=null,ce.next(Be)}};function at(){const Be=Je+H,Rt=Q.now();if(Rt<Be)return fe=this.schedule(void 0,Be-Rt),void ce.add(fe);pt()}ie.subscribe((0,de.x)(ce,Be=>{Pe=Be,Je=Q.now(),fe||(fe=Q.schedule(at,H),ce.add(fe))},()=>{pt(),ce.complete()},void 0,()=>{Pe=fe=null}))})}(100))),this.scrollObservable.subscribe(fe=>{this.scrollNotify.emit(fe)}),this.currentViewport=me.U.fromWindow(window)}getObserver(){return this.intersectionObserver||(this.intersectionObserver=new IntersectionObserver(ie=>{this.observeNotify.next(ie)},{threshold:0})),this.intersectionObserver}notifyScroll(ie){if(this.hasIntersectionObserver)return;const ce=ie.element?me.U.fromElement(ie.element):me.U.fromWindow(window),fe=ce.bottom-ce.top;ce.bottom+=fe,ce.top-=fe,this.currentViewport=ce,this.scrollSubject.next({rect:ce})}static checkIntersectionObserver(){const ie="IntersectionObserver"in window,fe=window.navigator.userAgent.match(/Edge\/(\d*)\./i),Pe=!!fe&&fe.length>1,Je=Pe&&!!fe&&parseInt(fe[1],10)>15;return ie&&(!Pe||Je)}}return H.\u0275fac=function(ie){return new(ie||H)(o.LFG(o.Lbi))},H.\u0275prov=o.Yz7({token:H,factory:H.\u0275fac,providedIn:"root"}),H})()},9284:($e,De,v)=>{"use strict";v.d(De,{U:()=>d});class d{constructor(k,oe,w,F){this.left=k,this.top=oe,this.right=w,this.bottom=F}static fromElement(k){const{left:oe,top:w,right:F,bottom:G}=k.getBoundingClientRect();return new d(oe,w,F,G)}static fromWindow(k){return new d(0,0,k.innerWidth,k.innerHeight)}inflate(k){this.left-=k,this.top-=k,this.right+=k,this.bottom+=k}intersectsWith(k){return k.left<this.right&&this.left<k.right&&k.top<this.bottom&&this.top<k.bottom}intersectsWithY(k){return k.top<this.bottom&&this.top<k.bottom}getIntersectionWith(k){const oe=Math.max(this.left,k.left),w=Math.max(this.top,k.top),F=Math.min(this.right,k.right),G=Math.min(this.bottom,k.bottom);return F>=oe&&G>=w?new d(oe,w,F,G):d.empty}}d.empty=new d(0,0,0,0)},6779:($e,De,v)=>{"use strict";v.d(De,{z:()=>de});var d=v(3104),o=v(5050),k=v(2240),oe=v(3378);class w{constructor(){this.free=[],this.stones=[],this.count=0,this.hints={groups:[],current:void 0},this.selected=void 0,this.undo=[]}clearSelection(){this.selected&&(this.selected.selected=!1),this.selected=void 0}setStoneSelected(I){this.clearSelection(),I&&(I.selected=!0,this.selected=I)}clearHints(){this.hints.current&&this.hints.current.stones.forEach(I=>{I.hinted=!1}),this.hints={groups:[],current:void 0}}hint(){if(this.hintNext()||(this.clearHints(),0===this.free.length))return;const I=this.collectHints();if(this.selected){const re=this.selected.groupnr;I.sort((O,A)=>O.group===re?-1:A.group===re?1:0)}const M=I[0];this.hints={groups:I,current:M},M.stones.forEach(re=>{re.hinted=!0})}reset(){this.clearSelection(),this.clearHints(),this.free=[],this.count=0,this.stones=[],this.undo=[]}canRemove(I){return I.group.filter(M=>!M.picked&&!M.isBlocked()).length>0}update(){const I=[];let M=0;this.stones.forEach(re=>{re.state={blocked:!re.picked&&re.isBlocked(),removable:!1},M+=re.picked?0:1}),this.stones.forEach(re=>{re.state.removable=!re.picked&&!re.state.blocked&&this.canRemove(re),re.state.removable&&I.push(re)}),this.free=I,this.count=M}back(){if(this.undo.length<2)return;this.clearSelection(),this.clearHints();const I=this.undo.pop(),M=this.undo.pop();!I||!M||(this.stones.forEach(re=>{(re.z===I[0]&&re.x===I[1]&&re.y===I[2]||re.z===M[0]&&re.x===M[1]&&re.y===M[2])&&(re.picked=!1)}),this.update())}shuffle(){this.clearSelection(),this.clearHints();const I=[],M=new k.r(this.stones.length);this.stones.forEach(B=>{B.picked||I.push([B.z,B.x,B.y])});const O=new d.Ib(M).build(d.CA,I);if(!O)return;const A=M.list.filter(B=>!O.find(Te=>Te.v===B.v));this.undo.forEach(B=>{const Te=A.shift();if(Te){const te=new o.r(B[0],B[1],B[2],Te.v,Te.groupnr);te.picked=!0,O.push(te)}}),oe.K.fillStones(O,M),this.stones=O,this.update()}load(I,M){if(!I)return;this.undo=M;const O=new d.Ib(new k.r(I.length+M.length)).load(I);!O||(M.forEach(A=>{const B=(0,o.D)(O,A[0],A[1],A[2]);B&&(B.picked=!0)}),this.stones=O,this.update())}save(){return this.stones.map(I=>[I.z,I.x,I.y,I.v])}applyMapping(I,M){const re=new d.Ib(new k.r(I.length));this.stones=re.build(M,I)||[]}pick(I,M){this.clearSelection(),this.undo.push([I.z,I.x,I.y],[M.z,M.x,M.y]),this.clearHints(),I.picked=!0,M.picked=!0,this.update()}hintNext(){if(!this.hints.current)return!1;this.hints.current.stones.forEach(M=>{M.hinted=!1});let I=this.hints.groups.indexOf(this.hints.current);return I>=0&&(I++,I>=this.hints.groups.length&&(I=0),I<this.hints.groups.length)&&(this.hints.current=this.hints.groups[I],this.hints.current.stones.forEach(M=>{M.hinted=!0}),!0)}collectHints(){const I={};return this.free.forEach(M=>{const re=M.groupnr.toString();I[re]=I[re]||[],I[re].push(M)}),Object.keys(I).map(M=>({group:I[M][0].groupnr,stones:I[M]}))}}class F{constructor(){this.elapsed=0,this.lastTime=0,this.started=0,this.timer=void 0}start(){this.timer||(this.elapsed=this.elapsed||0)}reset(){this.timer&&(window.clearTimeout(this.timer),this.timer=void 0),this.started=0,this.lastTime=0,this.elapsed=0}run(){this.timer||(this.lastTime=Date.now(),this.timer=window.setTimeout(()=>{this.step()},1e3))}pause(){!this.timer||(window.clearTimeout(this.timer),this.timer=void 0,this.elapsed+=Date.now()-this.lastTime)}step(){const I=Date.now();this.elapsed+=I-this.lastTime,this.lastTime=I,this.timer=window.setTimeout(()=>{this.step()},1e3)}}var G=v(1344);class ae{constructor(){this.enabled=!0,this.audioplayers={}}play(I){if(this.enabled){if(!this.audioplayers[I]){const M=new Audio;M.src=`assets/sounds/${I}.ogg`,M.load(),this.audioplayers[I]=M}this.audioplayers[I].play().catch(M=>{console.error(M)})}}pause(I){this.audioplayers[I]&&this.audioplayers[I].pause()}}class se{constructor(I){this.storage=I,this.clock=new F,this.board=new w,this.sound=new ae,this.state=G.PO.idle,this.layoutID=void 0,this.mode=G.cR}init(){this.load(),this.board.update(),this.state===G.PO.run&&this.pause(),this.message={msgID:this.isPaused()?"MSG_CONTINUE_SAVE":"MSG_START"}}click(I){return I?!this.isRunning()||I.state.blocked?(this.sound.play("invalid"),!0):(0===this.clock.elapsed&&this.clock.run(),this.board.selected&&I&&I!==this.board.selected&&I.groupnr===this.board.selected.groupnr?(this.resolveMatchingStone(I),!0):(this.board.setStoneSelected(this.board.selected!==I?I:void 0),this.sound.play("select"),!0)):(this.board.clearSelection(),!1)}isRunning(){return this.state===G.PO.run}isFrozen(){return this.state===G.PO.freeze}isPaused(){return this.state===G.PO.pause}isIdle(){return this.state===G.PO.idle}resume(){this.run(),this.clock.run()}freeze(){this.setState(G.PO.freeze),this.clock.pause()}unfreeze(){this.setState(G.PO.run),this.clock.run()}run(){this.board.clearHints(),this.board.update(),this.setState(G.PO.run)}toggle(){this.state===G.PO.run?this.pause():this.state===G.PO.pause&&this.resume()}pause(){this.clock.pause(),this.setState(G.PO.pause,"MSG_CONTINUE_PAUSE"),this.save()}reset(){this.clock.reset(),this.setState(G.PO.idle),this.board.reset()}start(I,M,re){this.layoutID=I.id,this.mode=re,this.board.applyMapping(I.mapping,M),this.board.update(),this.run()}hint(){this.mode!==G.WU&&this.board.hint()}shuffle(){this.mode===G.Ej&&this.board.shuffle()}back(){this.mode!==G.WU&&(!this.isRunning()||this.board.back())}load(){try{const I=this.storage.getState();if(I&&I.stones)return this.clock.elapsed=I.elapsed||0,this.layoutID=I.layout,this.mode=I.gameMode||G.cR,this.state=I.state||G.PO.idle,this.board.load(I.stones,I.undo||[]),!0}catch(I){console.error("load state failed",I)}return!1}save(){try{this.storage.storeState({elapsed:this.clock.elapsed,state:this.state,layout:this.layoutID||"",gameMode:this.mode,undo:this.board.undo,stones:this.board.save()})}catch(I){console.error("storing state failed",I)}}gameOverLoosing(){const I=this.layoutID||"unknown",M=this.storage.getScore(I)||{};M.playCount=(M.playCount||0)+1,this.storage.storeScore(I,M),this.gameOver("MSG_FAIL")}gameOverWining(){const I=this.layoutID||"unknown",M=this.clock.elapsed,re=this.storage.getScore(I)||{};re.playCount=(re.playCount||0)+1,!re.bestTime||re.bestTime>M?(re.bestTime=M,this.gameOver("MSG_BEST",M)):this.gameOver("MSG_GOOD",M),this.storage.storeScore(I,re)}delayedSave(){setTimeout(()=>{this.save()},500)}resolveMatchingStone(I){const M=this.board.selected;!M||(this.board.pick(M,I),this.board.count<2?this.gameOverWining():this.board.free.length<1?this.gameOverLoosing():(this.sound.play("match"),this.delayedSave()))}gameOver(I,M){this.sound.play("over"),this.setState(G.PO.idle,I,M),this.clock.reset(),this.delayedSave()}setState(I,M,re){this.message=M?{msgID:M,playTime:re}:void 0,this.state=I}}var J=v(2462);class le{constructor(I){this.storageProvider=I,this.lang="auto",this.sounds=!0,this.tileset=G.hJ,this.contrast=!1,this.dark=!1,this.background="",this.theme="ltgreen",this.stats={games:0,bestTime:0}}load(){try{const I=this.storageProvider.getSettings();return I&&(this.lang=I.lang||"auto",this.tileset=I.tileset||G.hJ,this.background=I.background,this.theme=I.theme||"ltgreen",this.contrast=I.contrast||!1,this.dark=I.dark||!1,this.sounds=I.sounds||!1),!0}catch(I){console.error("load settings failed",I)}return!1}save(){try{return this.storageProvider.storeSettings({lang:this.lang,sounds:this.sounds,contrast:this.contrast,dark:this.dark,background:this.background,theme:this.theme,tileset:this.tileset}),!0}catch(I){console.error("storing settings failed",I)}return!1}}var Ie=v(4650),ge=v(4173),$=v(8232);let de=(()=>{class L{constructor(M,re){this.storage=M,this.translate=re,this.name="Mah Jong",this.game=new se(M),this.settings=new le(M),this.settings.load(),this.setupTranslations(),this.setLang(),this.game.init(),this.game.sound.enabled=this.settings.sounds}setLang(){let M;M=this.settings.lang&&"auto"!==this.settings.lang?this.settings.lang:(navigator.language.split("-")[0]||J.k$).toLowerCase(),Object.keys(J.a2).indexOf(M)>=0?this.translate.use(M):this.translate.use(J.k$)}toggleSound(){this.settings.sounds=!this.settings.sounds,this.game.sound.enabled=this.settings.sounds,this.settings.save()}setupTranslations(){Object.keys(J.a2).forEach(M=>{this.translate.setTranslation(M,J.a2[M].data)}),this.translate.setDefaultLang(J.k$)}}return L.\u0275fac=function(M){return new(M||L)(Ie.LFG(ge.g),Ie.LFG($.sK))},L.\u0275prov=Ie.Yz7({token:L,factory:L.\u0275fac}),L})()},7827:($e,De,v)=>{"use strict";v.d(De,{P:()=>ge});var d=v(9671);const k=(0,v(3888).d)($=>function(){$(this),this.name="EmptyError",this.message="no elements in sequence"});var oe=v(2961),F=v(2878),G=v(8219);var se=v(4650),J=v(4570),le=v(1481),Ie=v(4173);let ge=(()=>{class ${constructor(L,I,M){this.http=L,this.sanitizer=I,this.storage=M}get(){var L=this;return(0,d.Z)(function*(){if(L.layouts)return L.layouts;const I=[],M=yield L.requestBoards();for(const O of M){const A=L.expandLayout(O);A&&I.push(A)}const re=L.loadCustomBoards();for(const O of re){const A=L.expandLayout(O,!0);A&&I.push(A)}return L.layouts={items:I},L.layouts})()}removeAllCustomLayouts(){this.layouts.items=this.layouts.items.filter(L=>!L.custom),this.storage.storeCustomLayouts(void 0)}removeCustomLayout(L){this.layouts.items=this.layouts.items.filter(M=>!M.custom||!L.includes(M.id));const I=(this.storage.getCustomLayouts()||[]).filter(M=>!L.includes(M.id));this.storage.storeCustomLayouts(0===I.length?void 0:I)}expandLayout(L,I){const M=(0,F._q)(L.map||[]);return{id:L.id&&""!==L.id?L.id:(0,F.le)(M),name:L.name,by:L.by,category:L.cat||"Classic",mapping:(0,F._q)(L.map),previewSVG:this.generatePreview(M),custom:I}}loadCustomBoards(){return this.storage.getCustomLayouts()||[]}storeCustomBoards(L){const I=this.loadCustomBoards();this.storage.storeCustomLayouts(I.concat(L)),this.layouts.items=this.layouts.items.concat(L.map(M=>this.expandLayout(M,!0)))}generatePreview(L){return this.sanitizer.bypassSecurityTrustUrl(function ae($){return`data:image/svg+xml;base64,${window.btoa(function ne($){const de=(0,G.Fk)($),L=(0,G.lK)(de,1470,960),I=[];I.push(`<svg xmlns="http://www.w3.org/2000/svg" viewBox="${L}" preserveAspectRatio="xMidYMid meet" height="100%" width="100%">`);for(const M of de)I.push(`<g transform="${M.pos.translate}"><rect fill="#FFF9E5" stroke-width="2" stroke="black" x="0" y="0" width="75" height="100" rx="10" ry="10"></rect></g>`);return I.push("</svg>"),I.join("")}($))}`}(L))}requestBoards(){var L=this;return(0,d.Z)(function*(){return function w($,de){const L="object"==typeof de;return new Promise((I,M)=>{const re=new oe.Hp({next:O=>{I(O),re.unsubscribe()},error:M,complete:()=>{L?I(de.defaultValue):M(new k)}});$.subscribe(re)})}(L.http.get("assets/data/boards.json"))})()}}return $.\u0275fac=function(L){return new(L||$)(se.LFG(J.eN),se.LFG(le.H7),se.LFG(Ie.g))},$.\u0275prov=se.Yz7({token:$,factory:$.\u0275fac}),$})()},4173:($e,De,v)=>{"use strict";v.d(De,{g:()=>o});var d=v(4650);let o=(()=>{class k{constructor(){this.prefix="mah.",this.updateData()}getScore(w){return this.get(`score.${w}`)}getSettings(){return this.get("settings")}getState(){return this.get("state")}getCustomLayouts(){return this.get("boards")}getLastPlayed(){if(localStorage)try{return localStorage.getItem("last")||void 0}catch(w){console.error(w)}}storeLastPlayed(w){if(localStorage)try{w?localStorage.setItem("last",w):localStorage.removeItem("last")}catch(F){console.error(F)}}storeScore(w,F){this.set(`score.${w}`,F)}clearScore(w){this.set(`score.${w}`,void 0)}storeSettings(w){this.set("settings",w)}storeState(w){this.set("state",w)}storeCustomLayouts(w){this.set("boards",w)}get(w){if(localStorage)try{const F=localStorage.getItem(`${this.prefix}${w}`);return F?JSON.parse(F):void 0}catch{return}}set(w,F){!localStorage||(void 0===F?localStorage.removeItem(`${this.prefix}${w}`):localStorage.setItem(this.prefix+w,JSON.stringify(F)))}updateData(){if(localStorage)try{let w=localStorage.getItem("state");w&&(localStorage.removeItem("state"),this.set("state",JSON.parse(w))),w=localStorage.getItem("settings"),w&&(localStorage.removeItem("settings"),this.set("settings",JSON.parse(w)))}catch(w){console.error(w)}}}return k.\u0275fac=function(w){return new(w||k)},k.\u0275prov=d.Yz7({token:k,factory:k.\u0275fac,providedIn:"root"}),k})()},6269:($e,De,v)=>{"use strict";v.d(De,{m:()=>oe});var d=v(9671),o=v(4650),k=v(4570);let oe=(()=>{class w{constructor(G){this.http=G,this.cache={}}get(G){var ne=this;return(0,d.Z)(function*(){let ae=ne.cache[G];if(ae){if(ae.data)return ae.data;if(ae.request)return ae.request}ae={};const se=new Promise((J,le)=>{ne.http.get(`assets/svg/${G}.svg`,{responseType:"text"}).subscribe({next:Ie=>{ae.data=Ie,ae.request=void 0,J(Ie)},error:Ie=>{le(Ie)}})});return ae.request=se,ne.cache[G]=ae,se})()}}return w.\u0275fac=function(G){return new(G||w)(o.LFG(k.eN))},w.\u0275prov=o.Yz7({token:w,factory:w.\u0275fac}),w})()},7692:($e,De,v)=>{"use strict";function d(ge){if(!ge)return!1;let $=0,de=ge.above[$];for(;void 0!==de;){if(!de.isPlayed)return!1;$++,de=ge.above[$]}$=0;let L=ge.left[$];for(;void 0!==L;){if(!L.isPlayed){$=0;let I=ge.right[$];for(;void 0!==I;){if(!I.isPlayed)return!1;$++,I=ge.right[$]}return!0}$++,L=ge.left[$]}return!0}function o(){return Math.floor(100*Math.random())}v.d(De,{L:()=>Ie});class oe{constructor($,de,L,I,M,re,O){this.qt=de,this.lo=L,this.ngroups=I,this.maxheight=M,this.maxwidth=re,this.maxdepth=O,this.result=[],this.ntiles1=$,this.ntiles2=$}write(){do{this.ntiles1=this.ntiles2;for(let $=0;$<this.ngroups;$++)this.writeGroup($)}while(this.ntiles2!==this.ntiles1);return this.result}writePair($,de,L){const I=this.qt[$].member[de],M=this.qt[$].member[L];for(let re=0;re<this.maxheight;re++)for(let O=0;O<this.maxwidth;O++)for(let A=0;A<this.maxdepth;A++)(this.lo[re][O][A]===I||this.lo[re][O][A]===M)&&this.result.push([A,O,re])}writePairing($,de,L,I){const M=de.member[L],re=de.member[I];return!!(M&&re&&!M.isPlayed&&d(M)&&d(re))&&(this.writePair($,L,I),M.isPlayed=!0,re.isPlayed=!0,this.ntiles2-=2,!0)}writeGroup($){const de=this.qt[$];switch(de.bestpairing){case 1:this.writePairing($,de,0,1)&&(de.isplayed=de.member[2].isPlayed),this.writePairing($,de,2,3);break;case 2:this.writePairing($,de,0,2),this.writePairing($,de,1,3);break;case 3:this.writePairing($,de,0,3),this.writePairing($,de,1,2);break;case 4:this.writePairing($,de,0,1)}}}class w{constructor(){this.tl=[],this.qt=[],this.lo=[],this.qts=[],this.maxgroups=80,this.maxheight=40,this.maxwidth=100,this.maxdepth=10}solveLayout($){for(let de=0;de<this.maxheight;de++){this.lo[de]=[];for(let L=0;L<this.maxwidth;L++){this.lo[de][L]=[];for(let I=0;I<this.maxdepth;I++)this.lo[de][L][I]=void 0}}return $.forEach(de=>{const L={left:[],right:[],above:[],below:[],value:de.groupnr,isPlayed:!1};this.lo[de.y][de.x][de.z]=L,this.tl.push(L)}),this.ntilesCount=$.length,this.solve(0,0)}writeGame(){return this.unrotateGroups(),new oe(this.ntilesCount,this.qt,this.lo,this.ngroups,this.maxheight,this.maxwidth,this.maxdepth).write()}static playTile($,de,L){let I=L;for(let M=0;void 0!==$.left[M];M++){const re=$.left[M];re.isPlayed||(de[re.value]-=d(re)?1:0)}for(let M=0;void 0!==$.right[M];M++){const re=$.right[M];re.isPlayed||(de[re.value]-=d(re)?1:0)}$.isPlayed=!0,I--;for(let M=0;void 0!==$.left[M];M++){const re=$.left[M];re.isPlayed||(de[re.value]+=d(re)?1:0)}for(let M=0;void 0!==$.right[M];M++){const re=$.right[M];re.isPlayed||(de[re.value]+=d(re)?1:0)}for(let M=0;void 0!==$.below[M];M++){const re=$.below[M];de[re.value]+=d(re)?1:0}return I}initSolve(){this.tl.forEach(L=>{L.left[0]=void 0,L.left[1]=void 0,L.left[2]=void 0,L.right[0]=void 0,L.right[1]=void 0,L.right[2]=void 0,L.above[0]=void 0,L.above[1]=void 0,L.above[2]=void 0,L.above[3]=void 0,L.above[4]=void 0,L.below[0]=void 0,L.below[1]=void 0,L.below[2]=void 0,L.below[3]=void 0,L.below[4]=void 0,L.isPlayed=!1});for(let L=0;L<this.maxheight;L++)for(let I=2;I<this.maxwidth;I++)for(let M=0;M<this.maxdepth;M++){const re=this.lo[L][I][M];if(void 0!==re){let A=0;for(let B=Math.max(L-1,0);B<Math.min(L+2,this.maxheight);B++)void 0!==this.lo[B][I-2][M]&&(re.left[A]=this.lo[B][I-2][M],A++)}const O=this.lo[L][I-2][M];if(void 0!==O){let A=0;for(let B=Math.max(L-1,0);B<Math.min(L+2,this.maxheight);B++)void 0!==this.lo[B][I][M]&&(O.right[A]=this.lo[B][I][M],A++)}}for(let L=0;L<this.maxheight;L++)for(let I=0;I<this.maxwidth;I++)for(let M=1;M<this.maxdepth;M++){const re=this.lo[L][I][M-1];if(void 0!==re){let A=0;for(let B=Math.max(L-1,0);B<Math.min(L+2,this.maxheight);B++)for(let Te=Math.max(I-1,0);Te<Math.min(I+2,this.maxwidth);Te++)void 0!==this.lo[B][Te][M]&&(re.above[A]=this.lo[B][Te][M],A++)}const O=this.lo[L][I][M];if(void 0!==O){let A=0;for(let B=Math.max(L-1,0);B<Math.min(L+2,this.maxheight);B++)for(let Te=Math.max(I-1,0);Te<Math.min(I+2,this.maxwidth);Te++)void 0!==this.lo[B][Te][M-1]&&(O.below[A]=this.lo[B][Te][M-1],A++)}}this.qt=[];for(let L=0;L<this.maxgroups;L++)this.qt.push({pairing:-1,bestpairing:-1,nmembers:0,member:[],isplayed:!1,rotation:0});for(let L=0;L<this.ntilesCount;L++){const I=this.tl[L].value;this.qt[I].member[this.qt[I].nmembers]=this.tl[L],this.qt[I].nmembers++}let $=0,de=0;for(let L=0;L<this.maxgroups;L++){const I=this.qt[L];2===I.nmembers&&(this.qts[$]=I,this.qts[$].pairing=4,$++),0!==I.nmembers&&(de=L)}for(let L=0;L<=de;L++){const I=this.qt[L];0===I.nmembers&&(this.qts[$]=I,this.qts[$].pairing=-1,$++)}this.qtsindex=$;for(let L=0;L<=de;L++){const I=this.qt[L];if(4===I.nmembers){this.qts[$]=I,this.qts[$].pairing=0;const M=this.qts[$],re=o()%($+1-this.qtsindex);this.qts[$]=this.qts[this.qtsindex+re],this.qts[this.qtsindex+re]=M,$++}}this.ngroups=$,this.aborted=!1}prune(){let $=this.ntilesCount,de=this.ntilesCount;this.nplays++;do{$=de;for(let L=0;L<this.ngroups;L++){const I=this.qt[L];if(!I.isplayed){const M=I.member[0],re=I.member[1],O=I.member[2],A=I.member[3],B=(me,we)=>{me.isPlayed=!0,we.isPlayed=!0,de-=2},Te=me=>{!me.isPlayed&&d(me)&&(me.isPlayed=!0,$++)},te=(me,we,H)=>{!me.isPlayed&&d(me)&&d(we)&&(B(me,we),I.isplayed=H.isPlayed)};switch(I.pairing){case 0:M.isPlayed||re.isPlayed||O.isPlayed?(I.member.forEach(me=>Te(me)),M.isPlayed&&re.isPlayed&&O.isPlayed&&A.isPlayed&&(I.isplayed=!0,de-=2)):!M.isPlayed&&d(M)?!re.isPlayed&&d(re)?B(M,re):!O.isPlayed&&d(O)?B(M,O):!A.isPlayed&&d(A)&&B(M,A):!re.isPlayed&&d(re)?!O.isPlayed&&d(O)?B(re,O):!A.isPlayed&&d(I.member[3])&&B(re,A):!O.isPlayed&&d(O)&&!A.isPlayed&&d(A)&&B(O,A);break;case 1:te(M,re,O),te(O,A,M);break;case 2:te(M,O,re),te(re,A,M);break;case 3:te(M,A,re),te(re,O,M);break;case 4:d(M)&&d(re)&&(B(M,re),I.isplayed=!0);break;case 5:d(M)&&d(re)&&d(O)&&d(A)&&(B(M,re),B(O,A),I.isplayed=!0)}}}}while(de!==$);for(let L=0;L<this.ntilesCount;L++)this.tl[L].isPlayed=!1;for(let L=0;L<this.ngroups;L++)this.qt[L].isplayed=!1;return de}unrotateGroups(){for(let $=0;$<this.ngroups;$++){switch(this.qt[$].rotation){case 1:{const de=this.qt[$].member[1];this.qt[$].member[1]=this.qt[$].member[2],this.qt[$].member[2]=this.qt[$].member[3],this.qt[$].member[3]=de;break}case 2:{const de=this.qt[$].member[3];this.qt[$].member[3]=this.qt[$].member[2],this.qt[$].member[2]=this.qt[$].member[1],this.qt[$].member[1]=de;break}}this.qt[$].rotation=0}}sureSolve($){const de=[];if(this.prune()>this.remainMax)return!1;let L;for(L=$;L<this.ngroups&&(this.qts[L].pairing=1,!(this.prune()>this.remainMax));L++);if(L===this.ngroups){for(let M=0;M<this.ngroups;M++)this.qt[M].bestpairing=this.qt[M].pairing;for(let M=this.qtsindex;M<this.ngroups;M++)this.qts[M].bestpairing+=3-this.qts[M].rotation,this.qts[M].bestpairing>3&&(this.qts[M].bestpairing-=3);if(this.remainMax=this.prune()-2,this.remainMax<this.remainMin){for(let M=this.qtsindex;M<this.ngroups;M++)this.qts[M].pairing=0;return!0}for(L=$;L<this.ngroups;L++)this.qts[L].pairing=0;return this.sureSolve($)}let I=0;de[I++]=this.qts[L];for(let M=L-1;M>=$;M--)if(this.qts[M].pairing=0,this.prune()<=this.remainMax)this.qts[M].pairing=1,de[I++]=this.qts[M];else{if(o()%2){const re=this.qts[M].member[3];this.qts[M].member[3]=this.qts[M].member[2],this.qts[M].member[2]=this.qts[M].member[1],this.qts[M].member[1]=re,this.qts[M].rotation+=1,this.qts[M].rotation>2&&(this.qts[M].rotation=0)}else{const re=this.qts[M].member[1];this.qts[M].member[1]=this.qts[M].member[2],this.qts[M].member[2]=this.qts[M].member[3],this.qts[M].member[3]=re,this.qts[M].rotation-=1,this.qts[M].rotation<0&&(this.qts[M].rotation=2)}this.qts[L]=this.qts[M],L--}for(let M=L;M>=$;M--)this.qts[M]=de[--I];for(let M=L;M>=$;M--){if(this.qts[M].pairing=2,this.sureSolve(M+1)||(this.qts[M].pairing=3,this.sureSolve(M+1)))return!0;this.qts[M].pairing=0}return!1}randomSolve($){const de=[],L=[0,0,1,3,6],I=[[0,1,2,3],[1,0,3,2],[2,3,0,1],[3,2,1,0]];for(let M=0;M<$;M++){let re=this.ntilesCount;for(let O=0;O<this.ngroups;O++){de[O]=0;for(let A=0;A<this.qt[O].nmembers;A++)d(this.qt[O].member[A])&&de[O]++;this.qt[O].pairing=-1,2===this.qt[O].nmembers&&(this.qt[O].isplayed=!0)}for(;;){let O=!1,A=0;for(let we=0;we<this.ngroups;we++){if((this.qt[we].isplayed?1:0)+L[de[we]]>=5){O=!0;break}A+=L[de[we]]}if(!O){if(0===A)break;A=o()%A}let B=0;do{A-=L[de[B]],B++}while(A>=0);B--,A+=L[de[B]];let Te=0;const te=this.qt[B];let me=te.nmembers-1;if(A<=1){let we=te.member[Te];for(;we.isPlayed||!d(we);)Te++,we=te.member[Te];if(0===A){me=Te+1;let H=te.member[me];for(;H.isPlayed||!d(H);)me++,H=te.member[me]}}if(A>=1){let we=te.member[me];for(;we.isPlayed||!d(we);)me--,we=te.member[me];if(2===A){Te=me-1;let H=te.member[Te];for(;H.isPlayed||!d(H);)Te--,H=te.member[Te]}}re=w.playTile(te.member[Te],de,re),re=w.playTile(te.member[me],de,re),te.isplayed=!0,te.pairing=I[Te][me],de[B]-=2}for(let O=0;O<this.ntilesCount;O++)this.tl[O].isPlayed=!1;for(let O=0;O<this.ngroups;O++)this.qt[O].isplayed=!1,2===this.qt[O].nmembers&&(this.qt[O].pairing=4);if(this.nrplays++,re<=this.remainMax){for(let O=0;O<this.ngroups;O++)this.qt[O].bestpairing=this.qt[O].pairing;if(this.remainMax=re-2,this.remainMax<this.remainMin){for(let O=0;O<this.ngroups;O++)4===this.qt[O].nmembers&&(this.qt[O].pairing=0);return!0}}}for(let M=0;M<this.ngroups;M++)4===this.qt[M].nmembers&&(this.qt[M].pairing=0);return!1}solve($,de){return this.initSolve(),this.nrplays=0,this.nplays=0,this.remainMax=Math.max($,de),this.remainMin=Math.min($,de),this.prune()>this.remainMax||this.randomSolve(function k(ge){return Math.floor(ge)}(Math.pow(1.2,this.ngroups-this.qtsindex)))||(this.sureSolve(this.qtsindex),this.unrotateGroups()),this.remainMax+2}}var F=v(3104),G=v(2240),le=v(4650);let Ie=(()=>{class ge{solveGame(de,L){if(typeof Worker<"u"){const I=function J(){return new Worker(v.tu(new URL(v.p+v.u(828),v.b)))}();return I&&(I.onmessage=({data:M})=>{M.result&&L(M.result)},I.postMessage({stones:de})),I}!function ne(ge,$){const de=new w;$({result:de.solveLayout(ge),order:de.writeGame()})}(de,L)}solve(de,L,I,M){if(typeof Worker<"u"){const re=function se(){return new Worker(v.tu(new URL(v.p+v.u(914),v.b)))}();return re&&(re.onmessage=({data:O})=>{O.progress&&I(O.progress),O.result&&M(O.result)},re.postMessage({mapping:de,rounds:L})),re}!function ae(ge,$,de,L){const I=new w,M=new F.Ib(new G.r(ge.length));let re=0,O=0;for(let A=0;A<$;A++){const B=M.build(F.CA,ge);B&&(I.solveLayout(B)>0?re++:O++,de([O,re]))}L([O,re])}(de,L,I,M)}}return ge.\u0275fac=function(de){return new(de||ge)},ge.\u0275prov=le.Yz7({token:ge,factory:ge.\u0275fac,providedIn:"root"}),ge})()},2427:($e,De,v)=>{"use strict";var d=v(1481),o=v(4650),k=v(4570),oe=v(8232);const F={production:!0,version:"1.6.1",name:"Mah",mobile:!1,editor:!0,modules:[]};var G=v(6779),ne=v(7827),ae=v(4173),se=v(6895),J=v(7692),le=v(4722),Ie=v(4009),ge=v(3104),$=v(1344),de=v(2066);function L(y,K){if(1&y&&(o.TgZ(0,"option",11),o._uU(1),o.ALo(2,"translate"),o.ALo(3,"translate"),o.qZA()),2&y){const b=K.$implicit,Z=o.oxw();o.Q6J("value",b.id)("selected",Z.buildMode===b.id),o.xp6(1),o.AsE("",o.lcZ(2,4,b.id)," [",o.lcZ(3,6,b.id+"_DESC"),"]")}}function I(y,K){if(1&y&&(o.ynx(0),o._uU(1),o.ALo(2,"translate"),o.BQk()),2&y){const b=K.$implicit,Z=K.last;o.xp6(1),o.AsE("",o.lcZ(2,2,b.title),"",Z?"":", ","")}}function M(y,K){if(1&y&&(o.ynx(0),o._uU(1,"["),o.YNc(2,I,3,4,"ng-container",13),o._uU(3,"]"),o.BQk()),2&y){const b=o.oxw().$implicit;o.xp6(2),o.Q6J("ngForOf",b.features)}}function re(y,K){if(1&y&&(o.TgZ(0,"option",11),o._uU(1),o.ALo(2,"translate"),o.YNc(3,M,4,1,"ng-container",12),o.qZA()),2&y){const b=K.$implicit,Z=o.oxw();o.Q6J("value",b.id)("selected",Z.gameMode===b.id),o.xp6(1),o.hij("",o.lcZ(2,4,b.id)," "),o.xp6(2),o.Q6J("ngIf",b.features.length>0)}}let O=(()=>{class y{constructor(b,Z){this.layoutService=b,this.storage=Z,this.startEvent=new o.vpe,this.gameMode=$.cR,this.buildMode=ge.CA,this.buildModes=ge.dQ,this.gameModes=$.PX}onStart(b){b&&(this.startEvent.emit({layout:b,buildMode:this.buildMode,gameMode:this.gameMode}),this.storage.storeLastPlayed(b.id))}randomGame(){const b=Math.floor(Math.random()*this.layoutService.layouts.items.length);this.onStart(this.layoutService.layouts.items[b])}}return y.\u0275fac=function(b){return new(b||y)(o.Y36(ne.P),o.Y36(ae.g))},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-choose-layout"]],inputs:{gameMode:"gameMode"},outputs:{startEvent:"startEvent"},decls:18,vars:12,consts:[[3,"layouts","startEvent"],[1,"choose-buttons"],[1,"generator"],["for","board-generator-select"],["id","board-generator-select",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],[1,"mode"],["for","game-mode-select"],["id","game-mode-select",3,"change"],[1,"start-links"],[1,"link",3,"click"],[3,"value","selected"],[4,"ngIf"],[4,"ngFor","ngForOf"]],template:function(b,Z){1&b&&(o.TgZ(0,"app-layout-list",0),o.NdJ("startEvent",function(je){return Z.onStart(je)}),o.qZA(),o.TgZ(1,"div",1)(2,"div",2)(3,"label",3),o._uU(4),o.ALo(5,"translate"),o.qZA(),o.TgZ(6,"select",4),o.NdJ("change",function(je){return Z.buildMode=je.target.value}),o.YNc(7,L,4,8,"option",5),o.qZA()(),o.TgZ(8,"div",6)(9,"label",7),o._uU(10),o.ALo(11,"translate"),o.qZA(),o.TgZ(12,"select",8),o.NdJ("change",function(je){return Z.gameMode=je.target.value}),o.YNc(13,re,4,6,"option",5),o.qZA()(),o.TgZ(14,"div",9)(15,"button",10),o.NdJ("click",function(){return Z.randomGame()}),o._uU(16),o.ALo(17,"translate"),o.qZA()()()),2&b&&(o.Q6J("layouts",null==Z.layoutService.layouts?null:Z.layoutService.layouts.items),o.xp6(4),o.hij("",o.lcZ(5,6,"BOARD_GENERATOR"),":"),o.xp6(3),o.Q6J("ngForOf",Z.buildModes),o.xp6(3),o.hij("",o.lcZ(11,8,"GAME_MODE"),":"),o.xp6(3),o.Q6J("ngForOf",Z.gameModes),o.xp6(3),o.Oqu(o.lcZ(17,10,"START_RANDOM")))},dependencies:[se.sg,se.O5,de.x,oe.X$],styles:["[_nghost-%COMP%]{padding:0;margin:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%]{border-top:1px solid #afafaf;padding-top:10px;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:flex-end}@media only screen and (max-height: 500px){[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%]{padding-top:4px}}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .start-links[_ngcontent-%COMP%]{text-align:right;display:inline-block}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .start-links[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{color:#000;margin-left:8px;text-decoration:none;padding:8px}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .generator[_ngcontent-%COMP%], [_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .generator[_ngcontent-%COMP%] label[_ngcontent-%COMP%], [_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;margin-bottom:2px}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .generator[_ngcontent-%COMP%] select[_ngcontent-%COMP%], [_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%] select[_ngcontent-%COMP%]{width:100%;text-overflow:ellipsis;padding:8px}[_nghost-%COMP%] .choose-buttons[_ngcontent-%COMP%] .mode[_ngcontent-%COMP%]{margin-left:8px;max-width:30%}"]}),y})();function A(y,K){if(1&y&&o._UZ(0,"i"),2&y){const b=o.oxw().$implicit;o.Tol(b.icon)}}function B(y,K){1&y&&(o.TgZ(0,"span",16),o._uU(1,"\u{1f004}\ufe0f"),o.qZA())}function Te(y,K){if(1&y&&(o.TgZ(0,"li")(1,"div"),o.YNc(2,A,1,2,"i",14),o.YNc(3,B,2,0,"span",15),o.TgZ(4,"span",16),o._uU(5),o.qZA(),o.TgZ(6,"span",4),o._uU(7),o.ALo(8,"translate"),o.qZA()(),o.TgZ(9,"span",17),o._uU(10),o.ALo(11,"translate"),o.qZA()()),2&y){const b=K.$implicit;o.xp6(2),o.Q6J("ngIf",b.icon),o.xp6(1),o.Q6J("ngIf",!b.icon),o.xp6(2),o.Oqu(b.key),o.xp6(2),o.Oqu(o.lcZ(8,5,b.name)),o.xp6(3),o.Oqu(o.lcZ(11,7,b.name+"_LONG"))}}let te=(()=>{class y{constructor(){this.shortcuts=[{icon:"icon-lightbulb",key:"T",name:"HINT"},{icon:"icon-spin1",key:"M",name:"SHUFFLE"},{icon:"icon-undo",key:"U",name:"UNDO"},{icon:"icon-loop",key:"N",name:"RESTART"},{icon:"icon-pause",key:"P",name:"PAUSE"},{icon:"icon-calendar",key:"I",name:"INFO"},{icon:"icon-cog",key:"S",name:"SETTINGS"},{key:"H",name:"HELP"}]}}return y.\u0275fac=function(b){return new(b||y)},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-help"]],decls:69,vars:43,consts:[[1,"top"],[1,"help"],[1,"license"],[1,"license-list"],[1,"name"],[1,"info"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/blob/main/README.md"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/tree/main/src/assets/svg/README.md"],["rel","noopener","href","https://github.com/ffalt/mah/blob/main/src/assets/sounds/README.md"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/blob/main/src/fonts/README.md"],["rel","noopener","target","_blank","href","https://github.com/ffalt/mah/blob/main/src/assets/img/README.md"],[1,"keyboard"],[1,"keyboard-list","icon-"],[4,"ngFor","ngForOf"],[3,"class",4,"ngIf"],["class","key",4,"ngIf"],[1,"key"],[1,"func"]],template:function(b,Z){1&b&&(o.TgZ(0,"div",0)(1,"div",1)(2,"h2"),o._uU(3),o.ALo(4,"translate"),o.qZA(),o.TgZ(5,"p"),o._uU(6),o.ALo(7,"translate"),o.qZA(),o.TgZ(8,"p")(9,"b"),o._uU(10),o.ALo(11,"translate"),o.qZA(),o._uU(12),o.ALo(13,"translate"),o.qZA(),o.TgZ(14,"p")(15,"b"),o._uU(16),o.ALo(17,"translate"),o.qZA(),o._uU(18),o.ALo(19,"translate"),o.qZA(),o.TgZ(20,"p"),o._uU(21),o.ALo(22,"translate"),o.qZA()(),o.TgZ(23,"div",2)(24,"h2"),o._uU(25),o.ALo(26,"translate"),o.qZA(),o.TgZ(27,"div",3)(28,"div")(29,"div",4),o._uU(30),o.ALo(31,"translate"),o.qZA(),o.TgZ(32,"div",5)(33,"a",6),o._uU(34,"MIT"),o.qZA()()(),o.TgZ(35,"div")(36,"div",4),o._uU(37),o.ALo(38,"translate"),o.qZA(),o.TgZ(39,"div",5)(40,"a",7),o._uU(41,"MIT | Public Domain | CCA4.0 | GNU"),o.qZA()()(),o.TgZ(42,"div")(43,"div",4),o._uU(44),o.ALo(45,"translate"),o.qZA(),o.TgZ(46,"div",5)(47,"a",8),o._uU(48,"CC0 | CC-BY3.0"),o.qZA()()(),o.TgZ(49,"div")(50,"div",4),o._uU(51),o.ALo(52,"translate"),o.qZA(),o.TgZ(53,"div",5)(54,"a",9),o._uU(55,"SIL"),o.qZA()()(),o.TgZ(56,"div")(57,"div",4),o._uU(58),o.ALo(59,"translate"),o.qZA(),o.TgZ(60,"div",5)(61,"a",10),o._uU(62,"Public Domain"),o.qZA()()()()()(),o.TgZ(63,"div",11)(64,"h2"),o._uU(65),o.ALo(66,"translate"),o.qZA(),o.TgZ(67,"ul",12),o.YNc(68,Te,12,9,"li",13),o.qZA()()),2&b&&(o.xp6(3),o.Oqu(o.lcZ(4,15,"HOW_TO_PLAY")),o.xp6(3),o.Oqu(o.lcZ(7,17,"HOW_GOAL")),o.xp6(4),o.Oqu(o.lcZ(11,19,"HOW_OPEN")),o.xp6(2),o.hij(": ",o.lcZ(13,21,"HOW_OPEN_DESC"),""),o.xp6(4),o.Oqu(o.lcZ(17,23,"HOW_PAIR")),o.xp6(2),o.hij(": ",o.lcZ(19,25,"HOW_PAIR_DESC"),""),o.xp6(3),o.Oqu(o.lcZ(22,27,"HOW_DO")),o.xp6(4),o.Oqu(o.lcZ(26,29,"LICENSE")),o.xp6(5),o.Oqu(o.lcZ(31,31,"GAME")),o.xp6(7),o.Oqu(o.lcZ(38,33,"DESIGNS")),o.xp6(7),o.Oqu(o.lcZ(45,35,"SOUNDS")),o.xp6(7),o.Oqu(o.lcZ(52,37,"FONTS")),o.xp6(7),o.Oqu(o.lcZ(59,39,"BACKGROUNDS")),o.xp6(7),o.Oqu(o.lcZ(66,41,"SHORTCUTS")),o.xp6(3),o.Q6J("ngForOf",Z.shortcuts))},dependencies:[se.sg,se.O5,oe.X$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:1;overflow-y:auto}[_nghost-%COMP%] h2[_ngcontent-%COMP%]{padding-bottom:3px;margin:10px 0 4px;font-weight:700;border-bottom:1px solid var(--main-bg-color-lt);font-size:1.1em}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{flex:1;margin-right:10px}[_nghost-%COMP%] .help[_ngcontent-%COMP%], [_nghost-%COMP%] .license[_ngcontent-%COMP%]{padding-right:10px}[_nghost-%COMP%] .help[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:4px}[_nghost-%COMP%] .license[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .license-list[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-direction:row}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{min-width:40%;max-width:40%}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .license-list-tilesets[_ngcontent-%COMP%]{columns:2}[_nghost-%COMP%] .license[_ngcontent-%COMP%] .license-list-tilesets[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{justify-content:space-between}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%]{padding:0;list-style:none;columns:2}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{page-break-inside:avoid;break-inside:avoid;margin-bottom:14px}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] .func[_ngcontent-%COMP%]{margin-top:8px;font-size:.8em;display:block}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{padding-left:8px;vertical-align:middle}[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] i[_ngcontent-%COMP%], [_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%] .key[_ngcontent-%COMP%]{font-weight:700;text-transform:uppercase;padding-left:4px;padding-right:4px;border:2px solid #f5f5f5;border-radius:6px;min-height:20px;min-width:28px;font-size:.7em;vert-align:top;display:inline-block;letter-spacing:1px;background:black;color:#f5f5f5;box-shadow:0 5px #000;text-align:center}@media only screen and (max-width: 700px){[_nghost-%COMP%] .keyboard[_ngcontent-%COMP%] .keyboard-list[_ngcontent-%COMP%]{columns:1}}@media only screen and (max-width: 1000px){[_nghost-%COMP%]{flex-direction:column;flex-wrap:nowrap}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .top[_ngcontent-%COMP%]{display:flex;flex-direction:row}[_nghost-%COMP%] .top[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex:1}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .top[_ngcontent-%COMP%]{flex-direction:column;flex-wrap:nowrap}[_nghost-%COMP%] .help[_ngcontent-%COMP%], [_nghost-%COMP%] .license[_ngcontent-%COMP%]{width:100%}}"]}),y})();var me=v(2196);let we=(()=>{class y{constructor(){this.isDark=!1}}return y.\u0275fac=function(b){return new(b||y)},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-tile"]],inputs:{imageSet:"imageSet",tile:"tile",index:"index",isDark:"isDark"},decls:6,vars:9,consts:[["xmlns","http://www.w3.org/2000/svg","viewBox","0 0 75 100","preserveAspectRatio","xMidYMid meet"],["app-image-set-loader","",3,"imageSet","dark","prefix"],["x","6","y","6","width","63","height","88"]],template:function(b,Z){1&b&&(o.O4$(),o.TgZ(0,"svg",0),o._UZ(1,"defs",1),o.TgZ(2,"title"),o._uU(3),o.ALo(4,"translate"),o.qZA(),o._UZ(5,"use",2),o.qZA()),2&b&&(o.ekj("dark",Z.isDark),o.xp6(1),o.Q6J("imageSet",Z.imageSet)("dark",Z.isDark)("prefix","t_"+Z.imageSet+"_"+Z.index+"_"),o.xp6(2),o.Oqu(o.lcZ(4,7,Z.tile)),o.xp6(2),o.uIk("href","#t_"+Z.imageSet+"_"+Z.index+"_"+Z.tile,null,"xlink"))},dependencies:[me.O,oe.X$],styles:["[_nghost-%COMP%]{display:block;width:75px;height:100px;margin:0 auto}[_nghost-%COMP%] > svg[_ngcontent-%COMP%]{height:100%;width:auto;background-color:#fff9e5;border:1px solid #4b4b4b}[_nghost-%COMP%] > svg.dark[_ngcontent-%COMP%]{background-color:#000}"]}),y})();function H(y,K){if(1&y&&(o.TgZ(0,"div",11)(1,"div"),o._UZ(2,"app-tile",12),o.qZA(),o._UZ(3,"div",13),o.ALo(4,"translate"),o.qZA()),2&y){const b=K.$implicit,Z=K.index,Ee=o.oxw(3);o.xp6(2),o.Q6J("tile",b)("imageSet",Ee.tileset)("index",Z)("isDark",Ee.isDark),o.xp6(1),o.Q6J("innerHtml",o.lcZ(4,5,b),o.oJD)}}function Q(y,K){if(1&y&&(o.TgZ(0,"div")(1,"div",9),o._uU(2),o.ALo(3,"translate"),o.qZA(),o.TgZ(4,"div"),o.YNc(5,H,5,7,"div",10),o.qZA()()),2&y){const b=K.$implicit;o.Gre("tiles-section tiles-section-",b.tiles.length,""),o.xp6(2),o.Oqu(o.lcZ(3,8,b.name)),o.xp6(2),o.Gre("tiles-set tiles-set-",b.tiles.length,""),o.xp6(1),o.Q6J("ngForOf",b.tiles)}}function ie(y,K){if(1&y&&(o.ynx(0),o.YNc(1,Q,6,10,"div",8),o.BQk()),2&y){const b=K.$implicit;o.xp6(1),o.Q6J("ngForOf",b.groups)}}function ce(y,K){if(1&y&&(o.TgZ(0,"option",14),o._uU(1),o.qZA()),2&y){const b=K.$implicit,Z=o.oxw();o.Q6J("value",b.id)("selected",Z.tileset===b.id),o.xp6(1),o.Oqu(b.name)}}let fe=(()=>{class y{constructor(b){this.app=b,this.TILES_INFOS=$.yU,this.sets=$.Jz,this.tileset=$.hJ,this.isDark=!1,this.tileset=b.settings.tileset,this.isDark=b.settings.dark}}return y.\u0275fac=function(b){return new(b||y)(o.Y36(G.z))},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-tiles-info"]],decls:15,vars:12,consts:[[1,"tiles-content"],[4,"ngFor","ngForOf"],[1,"tiles-header"],["tabindex","0",3,"change"],[3,"value","selected",4,"ngFor","ngForOf"],["type","checkbox",3,"checked","change"],[1,"tiles-reference"],["rel","noopener","target","_blank",3,"href"],[3,"class",4,"ngFor","ngForOf"],[1,"tiles-title"],["class","tile",4,"ngFor","ngForOf"],[1,"tile"],[3,"tile","imageSet","index","isDark"],[3,"innerHtml"],[3,"value","selected"]],template:function(b,Z){1&b&&(o.TgZ(0,"div",0),o.YNc(1,ie,2,1,"ng-container",1),o.qZA(),o.TgZ(2,"div",2)(3,"form")(4,"select",3),o.NdJ("change",function(je){return Z.tileset=je.target.value}),o.YNc(5,ce,2,3,"option",4),o.qZA(),o.TgZ(6,"label")(7,"input",5),o.NdJ("change",function(){return Z.isDark=!Z.isDark}),o.qZA(),o._uU(8),o.ALo(9,"translate"),o.qZA()(),o.TgZ(10,"div",6)(11,"a",7),o.ALo(12,"translate"),o._uU(13),o.ALo(14,"translate"),o.qZA()()()),2&b&&(o.xp6(1),o.Q6J("ngForOf",Z.TILES_INFOS),o.xp6(4),o.Q6J("ngForOf",Z.sets),o.xp6(2),o.Q6J("checked",Z.isDark),o.xp6(1),o.Oqu(o.lcZ(9,6,"TILES_DARK")),o.xp6(3),o.s9C("href",o.lcZ(12,8,"READ_MORE_WIKIPEDIA_URL"),o.LSH),o.xp6(2),o.Oqu(o.lcZ(14,10,"READ_MORE_WIKIPEDIA")))},dependencies:[se.sg,we,oe.X$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;overflow:hidden;height:100%}[_nghost-%COMP%] h1[_ngcontent-%COMP%]{text-align:center;color:var(--dialog-text-color);margin-top:0;margin-bottom:.2em;line-height:1em}@media only screen and (max-width: 400px){[_nghost-%COMP%] h1[_ngcontent-%COMP%]{font-size:1.2em}}[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;padding-top:6px}[_nghost-%COMP%] .tiles-content[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;flex:1;overflow-y:auto}[_nghost-%COMP%] .tiles-reference[_ngcontent-%COMP%]{padding-top:5px}[_nghost-%COMP%] .tile[_ngcontent-%COMP%]{flex:1;text-align:center;word-break:normal;margin-top:5px;margin-bottom:5px;display:flex;flex-direction:column;padding-left:5px;padding-right:5px}[_nghost-%COMP%] .tile[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex:1;font-size:.9em}[_nghost-%COMP%] .tiles-title[_ngcontent-%COMP%]{flex:1;margin-top:.5em;margin-bottom:.2em;font-weight:700;text-align:center;letter-spacing:2px;border-bottom:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .tiles-section[_ngcontent-%COMP%]{padding:0 6px}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%]{flex:50%}[_nghost-%COMP%] .tiles-set[_ngcontent-%COMP%]{display:flex;justify-content:space-around}@media only screen and (max-width: 1000px){[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:20%}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%]{flex:100%}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:50%}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:33%}}@media only screen and (max-width: 500px){[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%]{flex-direction:column;text-align:center}[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%] form[_ngcontent-%COMP%]{order:1}[_nghost-%COMP%] .tiles-header[_ngcontent-%COMP%] .tiles-reference[_ngcontent-%COMP%]{order:2}}@media only screen and (max-width: 280px){[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%]{flex-wrap:wrap}[_nghost-%COMP%] .tiles-section-9[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-5[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-4[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%], [_nghost-%COMP%] .tiles-section-3[_ngcontent-%COMP%] .tiles-set[_ngcontent-%COMP%] .tile[_ngcontent-%COMP%]{flex:50%}}"]}),y})();var Pe=v(9671),Je=v(2462);function pt(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"li")(1,"input",9),o.NdJ("change",function(){const je=o.CHM(b).$implicit,He=o.oxw();return He.app.settings.lang=je.key,o.KtG(He.app.setLang())}),o.qZA(),o.TgZ(2,"label",10),o._uU(3),o.qZA()()}if(2&y){const b=K.$implicit,Z=K.index,Ee=o.oxw();o.xp6(1),o.Q6J("id","lang"+(Z+1))("value",b.key)("checked",Ee.app.settings.lang===b.key),o.xp6(1),o.Q6J("for","lang"+(Z+1)),o.xp6(1),o.Oqu(b.title)}}function at(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"li")(1,"input",11),o.NdJ("change",function(){const je=o.CHM(b).$implicit,He=o.oxw();return He.app.settings.background=je.img||"",o.KtG(He.app.settings.save())}),o.qZA(),o.TgZ(2,"label",10),o._uU(3),o.ALo(4,"translate"),o.qZA()()}if(2&y){const b=K.$implicit,Z=K.index,Ee=o.oxw();o.xp6(1),o.MGl("id","back",Z,""),o.Q6J("value",b.img)("checked",Ee.app.settings.background===b.img),o.xp6(1),o.MGl("for","back",Z,""),o.xp6(1),o.Oqu(o.lcZ(4,5,b.name))}}function Be(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"li")(1,"input",12),o.NdJ("change",function(){const je=o.CHM(b).$implicit,He=o.oxw();return He.app.settings.theme=je.id||"",o.KtG(He.app.settings.save())}),o.qZA(),o.TgZ(2,"label",10),o._uU(3),o.ALo(4,"translate"),o.qZA()()}if(2&y){const b=K.$implicit,Z=K.index,Ee=o.oxw();o.xp6(1),o.MGl("id","color",Z,""),o.Q6J("value",b.id)("checked",Ee.app.settings.theme===b.id),o.xp6(1),o.MGl("for","color",Z,""),o.xp6(1),o.Oqu(o.lcZ(4,5,b.name))}}function Rt(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"li")(1,"input",13),o.NdJ("change",function(){const je=o.CHM(b).$implicit,He=o.oxw();return He.app.settings.tileset=je.id,o.KtG(He.app.settings.save())}),o.qZA(),o.TgZ(2,"label",10),o._uU(3),o.qZA()()}if(2&y){const b=K.$implicit,Z=K.index,Ee=o.oxw();o.xp6(1),o.MGl("id","imageset",Z,""),o.Q6J("value",b.id)("checked",Ee.app.settings.tileset===b.id),o.xp6(1),o.MGl("for","imageset",Z,""),o.xp6(1),o.Oqu(b.name)}}let Vt=(()=>{class y{constructor(b,Z,Ee,je){this.app=b,this.storage=Z,this.layoutService=Ee,this.translate=je,this.sets=$.Jz,this.backs=$.Sj,this.themes=$.b3,this.languages=Je.zU}clearTimes(){var b=this;return(0,Pe.Z)(function*(){const Z=yield b.layoutService.get();for(const Ee of Z.items)b.storage.clearScore(Ee.id)})()}clearTimesClick(){confirm(this.translate.instant("BEST_TIMES_CLEAR_SURE"))&&this.clearTimes().catch(b=>{console.error(b)})}}return y.\u0275fac=function(b){return new(b||y)(o.Y36(G.z),o.Y36(ae.g),o.Y36(ne.P),o.Y36(oe.sK))},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-settings"]],decls:55,vars:37,consts:[[1,"settings"],[1,"buttons"],[1,"radio"],["type","radio","name","lang","id","lang0","value","auto",3,"checked","change"],["for","lang0"],[4,"ngFor","ngForOf"],[1,"radio","radio-tilesets"],["type","checkbox",3,"checked","change"],[3,"click"],["type","radio","name","lang",3,"id","value","checked","change"],[3,"for"],["type","radio","name","back",3,"id","value","checked","change"],["type","radio","name","color",3,"id","value","checked","change"],["type","radio","name","imageset",3,"id","value","checked","change"]],template:function(b,Z){1&b&&(o.TgZ(0,"div",0)(1,"p"),o._uU(2),o.ALo(3,"translate"),o.qZA(),o.TgZ(4,"div",1)(5,"form")(6,"ul",2)(7,"li")(8,"input",3),o.NdJ("change",function(){return Z.app.settings.lang="auto",Z.app.setLang()}),o.qZA(),o.TgZ(9,"label",4),o._uU(10),o.ALo(11,"translate"),o.qZA()(),o.YNc(12,pt,4,5,"li",5),o.qZA()()(),o.TgZ(13,"p"),o._uU(14),o.ALo(15,"translate"),o.qZA(),o.TgZ(16,"div",1)(17,"form")(18,"ul",2),o.YNc(19,at,5,7,"li",5),o.qZA()()(),o.TgZ(20,"p"),o._uU(21),o.ALo(22,"translate"),o.qZA(),o.TgZ(23,"div",1)(24,"form")(25,"ul",2),o.YNc(26,Be,5,7,"li",5),o.qZA()()()(),o.TgZ(27,"div",0)(28,"p"),o._uU(29),o.ALo(30,"translate"),o.qZA(),o.TgZ(31,"div",1)(32,"form")(33,"ul",6),o.YNc(34,Rt,4,5,"li",5),o.qZA()()(),o.TgZ(35,"p"),o._uU(36),o.ALo(37,"translate"),o.qZA(),o.TgZ(38,"div")(39,"label")(40,"input",7),o.NdJ("change",function(){return Z.app.settings.contrast=!Z.app.settings.contrast,Z.app.settings.save()}),o.qZA(),o._uU(41),o.ALo(42,"translate"),o.qZA(),o._UZ(43,"br"),o.TgZ(44,"label")(45,"input",7),o.NdJ("change",function(){return Z.app.settings.dark=!Z.app.settings.dark,Z.app.settings.save()}),o.qZA(),o._uU(46),o.ALo(47,"translate"),o.qZA()(),o.TgZ(48,"p"),o._uU(49),o.ALo(50,"translate"),o.qZA(),o.TgZ(51,"div")(52,"button",8),o.NdJ("click",function(){return Z.clearTimesClick()}),o._uU(53),o.ALo(54,"translate"),o.qZA()()()),2&b&&(o.xp6(2),o.Oqu(o.lcZ(3,17,"LANG")),o.xp6(6),o.Q6J("checked","auto"===Z.app.settings.lang),o.xp6(2),o.Oqu(o.lcZ(11,19,"LANG_AUTO")),o.xp6(2),o.Q6J("ngForOf",Z.languages),o.xp6(2),o.Oqu(o.lcZ(15,21,"BACKGROUND")),o.xp6(5),o.Q6J("ngForOf",Z.backs),o.xp6(2),o.Oqu(o.lcZ(22,23,"THEME")),o.xp6(5),o.Q6J("ngForOf",Z.themes),o.xp6(3),o.Oqu(o.lcZ(30,25,"TILESET")),o.xp6(5),o.Q6J("ngForOf",Z.sets),o.xp6(2),o.Oqu(o.lcZ(37,27,"TILES")),o.xp6(4),o.Q6J("checked",Z.app.settings.contrast),o.xp6(1),o.hij(" ",o.lcZ(42,29,"HIGHER_CONTRAST")," "),o.xp6(4),o.Q6J("checked",Z.app.settings.dark),o.xp6(1),o.hij(" ",o.lcZ(47,31,"TILES_DARK")," "),o.xp6(3),o.Oqu(o.lcZ(50,33,"BEST_TIMES")),o.xp6(4),o.Oqu(o.lcZ(54,35,"BEST_TIMES_CLEAR")))},dependencies:[se.sg,oe.X$],styles:["[_nghost-%COMP%]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;flex:1;overflow-y:auto}[_nghost-%COMP%] > div[_ngcontent-%COMP%]{width:50%;padding-right:20px}@media only screen and (max-width: 700px){[_nghost-%COMP%] > div[_ngcontent-%COMP%]{width:100%}}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{display:flex;flex-direction:row}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{flex:1}[_nghost-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{max-width:40%}[_nghost-%COMP%] input[_ngcontent-%COMP%]{height:1em;width:1em}[_nghost-%COMP%] input[_ngcontent-%COMP%], [_nghost-%COMP%] label[_ngcontent-%COMP%], [_nghost-%COMP%] button[_ngcontent-%COMP%]{cursor:pointer}[_nghost-%COMP%] p[_ngcontent-%COMP%]{margin:10px 0 4px;font-weight:700;border-bottom:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .radio[_ngcontent-%COMP%]{columns:2}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] li[_ngcontent-%COMP%]{padding-left:19px;white-space:nowrap;text-overflow:ellipsis}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-left:-19px}@media only screen and (max-width: 280px){[_nghost-%COMP%] .radio[_ngcontent-%COMP%]{columns:1}}[_nghost-%COMP%] button[_ngcontent-%COMP%]{margin-top:10px;padding:12px 20px}[_nghost-%COMP%] .radio[_ngcontent-%COMP%]{text-align:left;list-style:none;padding:0;margin:0;vertical-align:middle}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{vertical-align:middle;margin-left:2px}[_nghost-%COMP%] .radio[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{float:right;margin-left:3px;font-size:.8em}[_nghost-%COMP%] .close[_ngcontent-%COMP%]{margin-top:0}"]}),y})();var Ct=v(4449),gt=v(1558);const $t=["info"],ln=["settings"],vt=["help"],sn=["newgame"];function bt(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"button",2),o.NdJ("click",function(){o.CHM(b);const Ee=o.oxw();return o.KtG(Ee.enterFullScreen())}),o.ALo(1,"translate"),o._UZ(2,"i",35),o.qZA()}2&y&&o.s9C("title",o.lcZ(1,1,"FULLSCREEN"))}function xt(y,K){1&y&&o._UZ(0,"app-help")}function bn(y,K){1&y&&o._UZ(0,"app-tiles-info")}function Jt(y,K){1&y&&o._UZ(0,"app-settings")}function Qt(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"app-choose-layout",36),o.NdJ("startEvent",function(Ee){o.CHM(b);const je=o.oxw();return o.KtG(je.startGame(Ee))}),o.qZA()}if(2&y){const b=o.oxw();o.Q6J("gameMode",b.game.mode)}}function Xt(y,K){if(1&y&&(o.TgZ(0,"div"),o._uU(1),o.ALo(2,"translate"),o.qZA()),2&y){const b=o.oxw(2);o.xp6(1),o.Oqu(o.lcZ(2,1,b.game.message.msgID))}}function It(y,K){if(1&y&&(o.TgZ(0,"div"),o._uU(1),o.ALo(2,"duration"),o.qZA()),2&y){const b=o.oxw(2);o.xp6(1),o.Oqu(o.lcZ(2,1,b.game.message.playTime))}}function qe(y,K){if(1&y){const b=o.EpF();o.TgZ(0,"div",37),o.NdJ("click",function(){o.CHM(b);const Ee=o.oxw();return o.KtG(Ee.clickMessage())}),o.YNc(1,Xt,3,3,"div",25),o.YNc(2,It,3,3,"div",25),o.qZA()}if(2&y){const b=o.oxw();o.xp6(1),o.Q6J("ngIf",b.game.message.msgID),o.xp6(1),o.Q6J("ngIf",b.game.message.playTime)}}let en=(()=>{class y{constructor(b,Z){this.app=b,this.workerService=Z,this.fullScreenEnabled=!0,this.title="",this.game=b.game,this.fullScreenEnabled=this.canFullscreen(),this.title=`${b.name} Solitaire v${F.version}`}ngOnInit(){this.game.isIdle()&&(this.newgame.visible=!0)}handleKeyDownEventKey(b){switch(b){case"h":this.help.toggle();break;case"i":this.info.toggle();break;case"s":this.settings.toggle();break;case"t":this.game.hint();break;case"m":this.game.shuffle();break;case"g":this.debugSolve();break;case"u":this.game.back();break;case"n":this.game.pause(),this.newgame.toggle();break;case" ":case"p":this.game.isRunning()?this.game.pause():this.game.isPaused()&&this.game.resume()}}handleKeyDownDialogExit(){return this.help.visible?(this.help.toggle(),!0):this.newgame.visible?(this.newgame.toggle(),!0):this.info.visible?(this.info.toggle(),!0):!!this.settings.visible&&(this.settings.toggle(),!0)}handleKeyDownEvent(b){"Escape"===b.key&&this.handleKeyDownDialogExit()||"input"===(b.target?.nodeName||"").toLocaleLowerCase()||this.handleKeyDownEventKey(b.key)}stoneClick(b){this.game.click(b)}canFullscreen(){if(F.mobile)return!1;const b=window.document;return b.fullscreenEnabled||b.mozFullscreenEnabled||b.webkitFullscreenEnabled}enterFullScreen(){const b=window.document;if(b.fullScreen||b.fullscreen||b.mozFullScreen||b.webkitIsFullScreen)return void(b.exitFullscreen?b.exitFullscreen().catch(Ee=>{console.error(Ee)}):b.mozCancelFullScreen?b.mozCancelFullScreen():b.webkitExitFullscreen&&b.webkitExitFullscreen());const Z=document.body;Z.requestFullscreen?Z.requestFullscreen().catch(Ee=>{console.error(Ee)}):Z.webkitRequestFullScreen?Z.webkitRequestFullScreen():Z.mozRequestFullScreen&&Z.mozRequestFullScreen()}newGame(){this.game.pause(),this.newgame.visible=!0}startGame(b){this.newgame.visible=!1,this.game.reset(),this.game.start(b.layout,b.buildMode,b.gameMode)}toggleDialogState(b){b?this.app.game.isPaused()||this.app.game.pause():(this.app.settings.save(),this.app.game.isPaused()&&this.app.game.resume())}clickMessage(){this.game.isPaused()?this.game.resume():(this.game.reset(),this.newgame.visible=!0)}debugSolve(){if(F.production)return;const b=(Z,Ee)=>{const je=Ee[Z],He=Ee[Z+1];if(!je||!He)return;const Ot=this.game.board.stones.filter(mt=>mt.z===je[0]&&mt.x===je[1]&&mt.y===je[2]||mt.z===He[0]&&mt.x===He[1]&&mt.y===He[2]);Ot.length>1&&(Ot.forEach(mt=>{mt.selected=!0}),setTimeout(()=>{this.game.board.pick(Ot[0],Ot[1]),b(Z+2,Ee)},300))};this.workerService.solveGame(this.game.board.stones.filter(Z=>!Z.picked).map(Z=>Z.toPosition()),Z=>{b(0,Z.order)})}}return y.\u0275fac=function(b){return new(b||y)(o.Y36(G.z),o.Y36(J.L))},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-game-component"]],viewQuery:function(b,Z){if(1&b&&(o.Gf($t,7),o.Gf(ln,7),o.Gf(vt,7),o.Gf(sn,7)),2&b){let Ee;o.iGM(Ee=o.CRH())&&(Z.info=Ee.first),o.iGM(Ee=o.CRH())&&(Z.settings=Ee.first),o.iGM(Ee=o.CRH())&&(Z.help=Ee.first),o.iGM(Ee=o.CRH())&&(Z.newgame=Ee.first)}},hostBindings:function(b,Z){1&b&&o.NdJ("keydown",function(je){return Z.handleKeyDownEvent(je)},!1,o.evT)},decls:88,vars:90,consts:[[1,"controls","controls-top"],[1,"ctrl","ctrl-name"],[1,"link","button",3,"title","click"],[1,"symbol"],[1,"name"],[1,"ctrl","ctrl-game"],[1,"icon-pause"],[1,"label"],[1,"link","button","feature",3,"title","click"],[1,"icon-spin1"],[1,"icon-undo"],[1,"icon-lightbulb"],[1,"icon-loop"],[1,"board",3,"stones","imageSet","background","clickEvent"],[1,"controls","controls-bottom"],[1,"ctrl","ctrl-stats"],[1,"icon-cog"],[1,"icon-volume-low"],[1,"icon-calendar"],["class","link button",3,"title","click",4,"ngIf"],[1,"ctrl","ctrl-time"],[1,"label","button","text"],[1,"time"],[1,"overlay-help",3,"title","clickEvent"],["help",""],[4,"ngIf"],[1,"overlay-info",3,"title","clickEvent"],["info",""],[1,"overlay-settings",3,"title","clickEvent"],["settings",""],[1,"overlay-newgame",3,"title","clickEvent"],["newgame",""],["class","choose",3,"gameMode","startEvent",4,"ngIf"],[1,"overlay-message",3,"visible","noClose","clickEvent"],["class","overlay-message-message",3,"click",4,"ngIf"],[1,"icon-resize-full-alt"],[1,"choose",3,"gameMode","startEvent"],[1,"overlay-message-message",3,"click"]],template:function(b,Z){if(1&b){const Ee=o.EpF();o.TgZ(0,"div",0)(1,"div",1)(2,"button",2),o.NdJ("click",function(){o.CHM(Ee);const He=o.MAs(72);return o.KtG(He.toggle())}),o.ALo(3,"translate"),o.TgZ(4,"span",3),o._uU(5,"\u{1f004}\ufe0f"),o.qZA(),o.TgZ(6,"span",4),o._uU(7),o.qZA()()(),o.TgZ(8,"div",5)(9,"button",2),o.NdJ("click",function(){return Z.game.toggle()}),o.ALo(10,"translate"),o._UZ(11,"i",6),o.TgZ(12,"span",7),o._uU(13),o.ALo(14,"translate"),o.qZA()(),o.TgZ(15,"button",8),o.NdJ("click",function(){return Z.game.shuffle()}),o.ALo(16,"gameModeEasy"),o.ALo(17,"translate"),o._UZ(18,"i",9),o.TgZ(19,"span",7),o._uU(20),o.ALo(21,"translate"),o.qZA()(),o.TgZ(22,"button",8),o.NdJ("click",function(){return Z.game.back()}),o.ALo(23,"gameModeStandard"),o.ALo(24,"translate"),o._UZ(25,"i",10),o.TgZ(26,"span",7),o._uU(27),o.ALo(28,"translate"),o.qZA()(),o.TgZ(29,"button",8),o.NdJ("click",function(){return Z.game.hint()}),o.ALo(30,"gameModeStandard"),o.ALo(31,"translate"),o._UZ(32,"i",11),o.TgZ(33,"span",7),o._uU(34),o.ALo(35,"translate"),o.qZA()(),o.TgZ(36,"button",2),o.NdJ("click",function(){return Z.newGame()}),o.ALo(37,"translate"),o._UZ(38,"i",12),o.TgZ(39,"span",7),o._uU(40),o.ALo(41,"translate"),o.qZA()()()(),o.TgZ(42,"app-board",13),o.NdJ("clickEvent",function(He){return Z.stoneClick(He)}),o.qZA(),o.TgZ(43,"div",14)(44,"div",15)(45,"button",2),o.NdJ("click",function(){o.CHM(Ee);const He=o.MAs(79);return o.KtG(He.toggle())}),o.ALo(46,"translate"),o._UZ(47,"i",16),o.qZA(),o.TgZ(48,"button",2),o.NdJ("click",function(){return Z.app.toggleSound()}),o.ALo(49,"translate"),o._UZ(50,"i",17),o.qZA(),o.TgZ(51,"button",2),o.NdJ("click",function(){o.CHM(Ee);const He=o.MAs(75);return o.KtG(He.toggle())}),o.ALo(52,"translate"),o._UZ(53,"i",18),o.qZA(),o.YNc(54,bt,3,3,"button",19),o.qZA(),o.TgZ(55,"div",20)(56,"span",21)(57,"small"),o._uU(58),o.ALo(59,"translate"),o.qZA(),o.TgZ(60,"span"),o._uU(61),o.qZA()(),o.TgZ(62,"span",21)(63,"small"),o._uU(64),o.ALo(65,"translate"),o.qZA(),o.TgZ(66,"span"),o._uU(67),o.qZA()(),o.TgZ(68,"span",22),o._uU(69),o.ALo(70,"duration"),o.qZA()()(),o.TgZ(71,"app-dialog",23,24),o.NdJ("clickEvent",function(He){return Z.toggleDialogState(He)}),o.YNc(73,xt,1,0,"app-help",25),o.qZA(),o.TgZ(74,"app-dialog",26,27),o.NdJ("clickEvent",function(He){return Z.toggleDialogState(He)}),o.ALo(76,"translate"),o.YNc(77,bn,1,0,"app-tiles-info",25),o.qZA(),o.TgZ(78,"app-dialog",28,29),o.NdJ("clickEvent",function(He){return Z.toggleDialogState(He)}),o.ALo(80,"translate"),o.YNc(81,Jt,1,0,"app-settings",25),o.qZA(),o.TgZ(82,"app-dialog",30,31),o.NdJ("clickEvent",function(He){return Z.toggleDialogState(He)}),o.ALo(84,"translate"),o.YNc(85,Qt,1,1,"app-choose-layout",32),o.qZA(),o.TgZ(86,"app-dialog",33),o.NdJ("clickEvent",function(){return Z.clickMessage()}),o.YNc(87,qe,3,2,"div",34),o.qZA()}if(2&b){const Ee=o.MAs(72),je=o.MAs(75),He=o.MAs(79),Ot=o.MAs(83);o.xp6(2),o.s9C("title",o.lcZ(3,44,"OPEN_HELP")),o.xp6(5),o.Oqu(Z.app.name),o.xp6(2),o.s9C("title",o.lcZ(10,46,"PAUSE_LONG")),o.xp6(4),o.Oqu(o.lcZ(14,48,"PAUSE")),o.xp6(2),o.ekj("enabled",o.lcZ(16,50,Z.game.mode)),o.s9C("title",o.lcZ(17,52,"SHUFFLE_LONG")),o.xp6(5),o.Oqu(o.lcZ(21,54,"SHUFFLE")),o.xp6(2),o.ekj("enabled",o.lcZ(23,56,Z.game.mode)),o.s9C("title",o.lcZ(24,58,"UNDO_LONG")),o.uIk("disabled",0===Z.game.board.undo.length||null),o.xp6(5),o.Oqu(o.lcZ(28,60,"UNDO")),o.xp6(2),o.ekj("enabled",o.lcZ(30,62,Z.game.mode)),o.s9C("title",o.lcZ(31,64,"HINT_LONG")),o.xp6(5),o.Oqu(o.lcZ(35,66,"HINT")),o.xp6(2),o.s9C("title",o.lcZ(37,68,"RESTART_LONG")),o.xp6(4),o.Oqu(o.lcZ(41,70,"RESTART")),o.xp6(2),o.Q6J("stones",Z.game.board.stones)("imageSet",Z.app.settings.tileset)("background",Z.app.settings.background),o.xp6(3),o.s9C("title",o.lcZ(46,72,"OPEN_SETTINGS")),o.xp6(3),o.ekj("inactive",!Z.app.settings.sounds),o.s9C("title",o.lcZ(49,74,"AUDIO_SOUNDS")),o.xp6(3),o.s9C("title",o.lcZ(52,76,"TILES_INFO")),o.xp6(3),o.Q6J("ngIf",Z.fullScreenEnabled),o.xp6(4),o.hij("",o.lcZ(59,78,"STONES"),":"),o.xp6(3),o.Oqu(Z.game.board.count),o.xp6(3),o.hij("",o.lcZ(65,80,"FREE"),":"),o.xp6(3),o.Oqu(Z.game.board.free.length),o.xp6(2),o.Oqu(o.lcZ(70,82,Z.game.clock.elapsed)),o.xp6(2),o.Q6J("title",Z.title),o.xp6(2),o.Q6J("ngIf",Ee.visible),o.xp6(1),o.Q6J("title",o.lcZ(76,84,"TILES")),o.xp6(3),o.Q6J("ngIf",je.visible),o.xp6(1),o.Q6J("title",o.lcZ(80,86,"SETTINGS")),o.xp6(3),o.Q6J("ngIf",He.visible),o.xp6(1),o.Q6J("title",o.lcZ(84,88,"SELECT_BOARD")),o.xp6(3),o.Q6J("ngIf",Ot.visible),o.xp6(1),o.Q6J("visible",!!Z.game.message)("noClose",!0),o.xp6(1),o.Q6J("ngIf",Z.game.message)}},dependencies:[se.O5,le.C,Ie.a,O,te,fe,Vt,Ct.u,gt.g,gt.n,oe.X$],styles:['[_nghost-%COMP%]{display:flex;flex-direction:column;flex-wrap:nowrap;height:100%;width:100%;min-height:100vh;background-color:var(--main-bg-color)}.dkgreen[_nghost-%COMP%]{--main-bg-color: #19262e;--main-bg-color-lt: #22353f;--main-bg-color-dk: #142026}.dkblue[_nghost-%COMP%]{--main-bg-color: #001552;--main-bg-color-lt: #22353f;--main-bg-color-dk: #142026;--main-text-color: #fff;--main-text-color-lt: #ffe9c0;--main-text-color-dk: #dcdbdb;--dialog-text-color: #001552}.ltblue[_nghost-%COMP%]{--main-bg-color: #34385a;--main-bg-color-lt: #22353f;--main-bg-color-dk: #142026;--main-text-color: #fff;--main-text-color-lt: #ffe9c0;--main-text-color-dk: #dcdbdb;--dialog-text-color: #34385a}.white[_nghost-%COMP%]{--main-bg-color: #fff;--main-bg-color-lt: #b9b9b9;--main-bg-color-dk: #f6f5f5;--main-text-color: #000;--main-text-color-lt: #646464;--main-text-color-dk: #8c8c8c;--dialog-text-color: #000}.brown[_nghost-%COMP%]{--main-bg-color: brown;--main-bg-color-lt: #ad2d2d;--main-bg-color-dk: #982626;--main-text-color: #fff;--main-text-color-lt: #ffe9c0;--main-text-color-dk: #dcdbdb;--dialog-text-color: #601616}.black[_nghost-%COMP%]{--main-bg-color: #000;--main-bg-color-lt: #3a3a3a;--main-bg-color-dk: #171717}[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{min-width:170px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .feature.enabled[_ngcontent-%COMP%]{display:unset}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{display:inline-block;color:var(--main-text-color);-webkit-user-select:none;user-select:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{text-decoration:none;font-weight:400;color:var(--main-text-color);margin-left:16px;padding:.2em .8em}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{margin-right:2px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover{color:var(--main-text-color-lt)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[disabled][_ngcontent-%COMP%]{color:var(--main-text-color-dk)}@media only screen and (min-width: 400px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{margin-left:10px}}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]{background-color:transparent;background-image:none;border-color:transparent;border-radius:3px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .button[_ngcontent-%COMP%]:hover{border-color:var(--main-bg-color-lt)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-name[_ngcontent-%COMP%]{font-weight:600;cursor:pointer}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-name[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{margin-left:6px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .inactive[_ngcontent-%COMP%]{color:var(--main-text-color-dk)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .inactive[_ngcontent-%COMP%]:hover{color:var(--main-text-color-dk)}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-game[_ngcontent-%COMP%]{float:right}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%]{cursor:default;float:right;padding-right:12px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{margin-right:26px;font-feature-settings:"lnum";font-variant-numeric:lining-nums}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{margin-right:6px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{min-width:98px;display:inline-block;text-align:right;font-feature-settings:slashed-zero tabular-nums;font-variant-numeric:slashed-zero tabular-nums}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-stats[_ngcontent-%COMP%]{cursor:default}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl.ctrl-stats[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-left:10px}@media only screen and (min-width: 700px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.2em}}@media only screen and (min-width: 1000px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.3em}}@media only screen and (min-width: 1900px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.6em}}@media only screen and (min-width: 2200px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:2.3em}}@media only screen and (min-width: 3000px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:4em}}@media only screen and (max-width: 1000px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.1em}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{padding:.2em}}@media only screen and (max-width: 700px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] span.label[_ngcontent-%COMP%]{display:none}}@media only screen and (max-width: 500px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{padding:0 6px;font-size:24px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{margin-left:2px;padding:.1em}}@media only screen and (max-width: 400px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{padding:.2em;margin-left:2px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{margin-left:0}}@media only screen and (max-width: 280px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%]{font-size:1.1em}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{display:none}}@media only screen and (min-width: 400px) and (max-height: 600px){[_nghost-%COMP%]{flex-direction:row;padding-left:52px;padding-right:52px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{float:unset!important;text-align:center}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .symbol[_ngcontent-%COMP%], [_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:32px}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{display:block;margin-left:0;margin-bottom:10px;padding-left:0;padding-right:0}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .feature[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .feature.enabled[_ngcontent-%COMP%]{display:block}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%]{min-width:unset;max-width:52px;padding:0;display:flex;flex-direction:column;height:100%;position:absolute;left:0;justify-content:space-between}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] .ctrl.ctrl-name[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] .ctrl.ctrl-game[_ngcontent-%COMP%]{display:flex;flex-direction:column-reverse}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] .ctrl.ctrl-game[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-of-type{margin-bottom:2px}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] span.name[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%] span.label[_ngcontent-%COMP%]{display:none}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%]{min-width:98px;max-width:98px;display:flex;flex-direction:column;height:100%;position:absolute;right:0;padding:0;align-items:flex-end}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;text-align:right}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{margin-left:0}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%]{text-align:right;justify-content:flex-end;padding-right:6px;padding-left:6px}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{text-align:right;min-width:0}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{text-align:right;margin-right:0;margin-bottom:8px}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%] .ctrl.ctrl-time[_ngcontent-%COMP%] .text[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{display:block;margin-right:0;line-height:.9em}}@media only screen and (min-width: 400px) and (max-height: 300px){[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]{margin-bottom:0}[_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] .symbol[_ngcontent-%COMP%], [_nghost-%COMP%] .controls[_ngcontent-%COMP%] .ctrl[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:24px}}[_nghost-%COMP%] .controls-top[_ngcontent-%COMP%]{border-bottom:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .controls-bottom[_ngcontent-%COMP%]{border-top:1px solid var(--main-bg-color-lt)}[_nghost-%COMP%] .board[_ngcontent-%COMP%]{display:flex;flex-direction:row;flex:1;overflow:hidden}[_nghost-%COMP%] .overlay-help[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-help[_ngcontent-%COMP%] .overlay .overlay-popup{max-height:90%;width:90%;max-width:1200px}[_nghost-%COMP%] .overlay-info[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-info[_ngcontent-%COMP%] .overlay .overlay-popup{width:90%;height:90%}[_nghost-%COMP%] .overlay-settings[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-settings[_ngcontent-%COMP%] .overlay .overlay-popup{width:90%;max-height:90%;max-width:1400px}[_nghost-%COMP%] .overlay-newgame[_ngcontent-%COMP%] .overlay{z-index:10010}[_nghost-%COMP%] .overlay-newgame[_ngcontent-%COMP%] .overlay .overlay-popup{width:98%;height:98%;overflow:hidden}@media only screen and (max-height: 500px){[_nghost-%COMP%] .overlay-newgame[_ngcontent-%COMP%] .overlay .overlay-popup{padding:10px}}[_nghost-%COMP%] .overlay-message[_ngcontent-%COMP%] .overlay-message-message{padding:2em}[_nghost-%COMP%] .overlay-message[_ngcontent-%COMP%] .overlay-popup{cursor:pointer;font-weight:600;text-align:center;color:var(--dialog-text-color);padding:0;-webkit-user-select:none;user-select:none}']}),y})();const zt=["editorPlaceholder"];function Ce(y,K){if(1&y&&o._UZ(0,"app-game-component",2),2&y){const b=o.oxw();o.Tol(b.app.settings.theme),o.Q6J("hidden",b.loading)}}function Fe(y,K){}let j=(()=>{class y{constructor(b,Z,Ee,je,He){this.layoutService=b,this.storage=Z,this.translate=Ee,this.meta=je,this.app=He,this.loading=!0,this.editorVisible=!1,this.updateName(),this.loadLayouts(),this.registerWindowListeners()}handleKeyDownEvent(b){"input"!==(b.target?.nodeName||"").toLocaleLowerCase()&&F.editor&&69===b.which&&this.toggleEditor()}loadEditor(){F.editor&&v.e(973).then(v.bind(v,7973)).then(({EditorModule:b})=>{const Z=b.getEditorComponentComponent(),Ee=this.editorPlaceholder.createComponent(Z);this.editorSubscription=Ee.instance.closeEvent.subscribe(()=>{this.toggleEditor()})}).catch(b=>{console.error(b)})}toggleEditor(){F.editor&&(this.editorVisible=!this.editorVisible,this.editorVisible?(this.app.game.pause(),this.loadEditor()):(this.editorSubscription&&(this.editorSubscription.unsubscribe(),this.editorSubscription=void 0),this.editorPlaceholder.clear()))}loadLayouts(){this.layoutService.get().then(()=>{this.loading=!1}).catch(b=>{console.error(b)})}registerWindowListeners(){window.addEventListener("beforeunload",()=>{this.app.game.isRunning()&&this.app.game.pause()},!1),window.addEventListener("blur",()=>{this.app.game.isRunning()&&this.app.game.pause()},!1)}updateName(){const b=this.meta.getTag("name=application-name");this.app.name=b?b.content:this.app.name}}return y.\u0275fac=function(b){return new(b||y)(o.Y36(ne.P),o.Y36(ae.g),o.Y36(oe.sK),o.Y36(d.h_),o.Y36(G.z))},y.\u0275cmp=o.Xpm({type:y,selectors:[["app-root"]],viewQuery:function(b,Z){if(1&b&&o.Gf(zt,7,o.s_b),2&b){let Ee;o.iGM(Ee=o.CRH())&&(Z.editorPlaceholder=Ee.first)}},hostBindings:function(b,Z){1&b&&o.NdJ("keydown",function(je){return Z.handleKeyDownEvent(je)},!1,o.evT)},decls:3,vars:1,consts:[[3,"hidden","class",4,"ngIf"],["editorPlaceholder",""],[3,"hidden"]],template:function(b,Z){1&b&&(o.YNc(0,Ce,1,3,"app-game-component",0),o.YNc(1,Fe,0,0,"ng-template",null,1,o.W1O)),2&b&&o.Q6J("ngIf",!Z.editorVisible)},dependencies:[se.O5,en],styles:["[_nghost-%COMP%]{display:block;height:100%;width:100%}"]}),y})();var _e=v(6269),Ae=v(7390);let Ve=(()=>{class y extends d.hm{constructor(){super(...arguments),this.overrides={pan:{enable:!0,direction:Hammer.DIRECTION_ALL,threshold:15},pinch:{enable:!0},press:{enable:!1},rotate:{enable:!1},swipe:{enable:!1},tap:{enable:!1}}}}return y.\u0275fac=function(){let K;return function(Z){return(K||(K=o.n5z(y)))(Z||y)}}(),y.\u0275prov=o.Yz7({token:y,factory:y.\u0275fac}),y})(),pe=(()=>{class y{}return y.\u0275fac=function(b){return new(b||y)},y.\u0275mod=o.oAB({type:y,bootstrap:[j]}),y.\u0275inj=o.cJS({providers:[G.z,ne.P,J.L,_e.m,{provide:d.ok,useClass:Ve}],imports:[d.b2,k.JF,d.t6,Ae.I,oe.aw.forRoot(),F.modules]}),y})();v(5386),F.production&&(0,o.G48)(),d.q6().bootstrapModule(pe).catch(y=>{console.error(y)})},5386:($e,De,v)=>{var d;!function(o,k,oe,w){"use strict";var de,F=["","webkit","Moz","MS","ms","o"],G=k.createElement("div"),ae=Math.round,se=Math.abs,J=Date.now;function le(T,S,W){return setTimeout(re(T,W),S)}function Ie(T,S,W){return!!Array.isArray(T)&&(ge(T,W[S],W),!0)}function ge(T,S,W){var ve;if(T)if(T.forEach)T.forEach(S,W);else if(T.length!==w)for(ve=0;ve<T.length;)S.call(W,T[ve],ve,T),ve++;else for(ve in T)T.hasOwnProperty(ve)&&S.call(W,T[ve],ve,T)}function $(T,S,W){var ve="DEPRECATED METHOD: "+S+"\n"+W+" AT \n";return function(){var Re=new Error("get-stack-trace"),Ke=Re&&Re.stack?Re.stack.replace(/^[^\(]+?[\n$]/gm,"").replace(/^\s+at\s+/gm,"").replace(/^Object.<anonymous>\s*\(/gm,"{anonymous}()@"):"Unknown Stack Trace",yt=o.console&&(o.console.warn||o.console.log);return yt&&yt.call(o.console,ve,Ke),T.apply(this,arguments)}}de="function"!=typeof Object.assign?function(S){if(S===w||null===S)throw new TypeError("Cannot convert undefined or null to object");for(var W=Object(S),ve=1;ve<arguments.length;ve++){var Re=arguments[ve];if(Re!==w&&null!==Re)for(var Ke in Re)Re.hasOwnProperty(Ke)&&(W[Ke]=Re[Ke])}return W}:Object.assign;var L=$(function(S,W,ve){for(var Re=Object.keys(W),Ke=0;Ke<Re.length;)(!ve||ve&&S[Re[Ke]]===w)&&(S[Re[Ke]]=W[Re[Ke]]),Ke++;return S},"extend","Use `assign`."),I=$(function(S,W){return L(S,W,!0)},"merge","Use `assign`.");function M(T,S,W){var Re,ve=S.prototype;(Re=T.prototype=Object.create(ve)).constructor=T,Re._super=ve,W&&de(Re,W)}function re(T,S){return function(){return T.apply(S,arguments)}}function O(T,S){return"function"==typeof T?T.apply(S&&S[0]||w,S):T}function A(T,S){return T===w?S:T}function B(T,S,W){ge(we(S),function(ve){T.addEventListener(ve,W,!1)})}function Te(T,S,W){ge(we(S),function(ve){T.removeEventListener(ve,W,!1)})}function te(T,S){for(;T;){if(T==S)return!0;T=T.parentNode}return!1}function me(T,S){return T.indexOf(S)>-1}function we(T){return T.trim().split(/\s+/g)}function H(T,S,W){if(T.indexOf&&!W)return T.indexOf(S);for(var ve=0;ve<T.length;){if(W&&T[ve][W]==S||!W&&T[ve]===S)return ve;ve++}return-1}function Q(T){return Array.prototype.slice.call(T,0)}function ie(T,S,W){for(var ve=[],Re=[],Ke=0;Ke<T.length;){var yt=S?T[Ke][S]:T[Ke];H(Re,yt)<0&&ve.push(T[Ke]),Re[Ke]=yt,Ke++}return W&&(ve=S?ve.sort(function(fn,vn){return fn[S]>vn[S]}):ve.sort()),ve}function ce(T,S){for(var W,ve,Re=S[0].toUpperCase()+S.slice(1),Ke=0;Ke<F.length;){if((ve=(W=F[Ke])?W+Re:S)in T)return ve;Ke++}return w}var fe=1;function Je(T){var S=T.ownerDocument||T;return S.defaultView||S.parentWindow||o}var at="ontouchstart"in o,Be=ce(o,"PointerEvent")!==w,Rt=at&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),Vt="touch",gt="mouse",Ce=["x","y"],Fe=["clientX","clientY"];function j(T,S){var W=this;this.manager=T,this.callback=S,this.element=T.element,this.target=T.options.inputTarget,this.domHandler=function(ve){O(T.options.enable,[T])&&W.handler(ve)},this.init()}function Ae(T,S,W){var ve=W.pointers.length,Re=W.changedPointers.length,Ke=1&S&&ve-Re==0,yt=12&S&&ve-Re==0;W.isFirst=!!Ke,W.isFinal=!!yt,Ke&&(T.session={}),W.eventType=S,function Ve(T,S){var W=T.session,ve=S.pointers,Re=ve.length;W.firstInput||(W.firstInput=y(S)),Re>1&&!W.firstMultiple?W.firstMultiple=y(S):1===Re&&(W.firstMultiple=!1);var Ke=W.firstInput,yt=W.firstMultiple,yn=yt?yt.center:Ke.center,fn=S.center=K(ve);S.timeStamp=J(),S.deltaTime=S.timeStamp-Ke.timeStamp,S.angle=je(yn,fn),S.distance=Ee(yn,fn),function pe(T,S){var W=S.center,ve=T.offsetDelta||{},Re=T.prevDelta||{},Ke=T.prevInput||{};(1===S.eventType||4===Ke.eventType)&&(Re=T.prevDelta={x:Ke.deltaX||0,y:Ke.deltaY||0},ve=T.offsetDelta={x:W.x,y:W.y}),S.deltaX=Re.x+(W.x-ve.x),S.deltaY=Re.y+(W.y-ve.y)}(W,S),S.offsetDirection=Z(S.deltaX,S.deltaY);var vn=b(S.deltaTime,S.deltaX,S.deltaY);S.overallVelocityX=vn.x,S.overallVelocityY=vn.y,S.overallVelocity=se(vn.x)>se(vn.y)?vn.x:vn.y,S.scale=yt?function Ot(T,S){return Ee(S[0],S[1],Fe)/Ee(T[0],T[1],Fe)}(yt.pointers,ve):1,S.rotation=yt?function He(T,S){return je(S[1],S[0],Fe)+je(T[1],T[0],Fe)}(yt.pointers,ve):0,S.maxPointers=W.prevInput?S.pointers.length>W.prevInput.maxPointers?S.pointers.length:W.prevInput.maxPointers:S.pointers.length,function U(T,S){var Re,Ke,yt,yn,W=T.lastInterval||S,ve=S.timeStamp-W.timeStamp;if(8!=S.eventType&&(ve>25||W.velocity===w)){var fn=S.deltaX-W.deltaX,vn=S.deltaY-W.deltaY,Rn=b(ve,fn,vn);Ke=Rn.x,yt=Rn.y,Re=se(Rn.x)>se(Rn.y)?Rn.x:Rn.y,yn=Z(fn,vn),T.lastInterval=S}else Re=W.velocity,Ke=W.velocityX,yt=W.velocityY,yn=W.direction;S.velocity=Re,S.velocityX=Ke,S.velocityY=yt,S.direction=yn}(W,S);var Rn=T.element;te(S.srcEvent.target,Rn)&&(Rn=S.srcEvent.target),S.target=Rn}(T,W),T.emit("hammer.input",W),T.recognize(W),T.session.prevInput=W}function y(T){for(var S=[],W=0;W<T.pointers.length;)S[W]={clientX:ae(T.pointers[W].clientX),clientY:ae(T.pointers[W].clientY)},W++;return{timeStamp:J(),pointers:S,center:K(S),deltaX:T.deltaX,deltaY:T.deltaY}}function K(T){var S=T.length;if(1===S)return{x:ae(T[0].clientX),y:ae(T[0].clientY)};for(var W=0,ve=0,Re=0;Re<S;)W+=T[Re].clientX,ve+=T[Re].clientY,Re++;return{x:ae(W/S),y:ae(ve/S)}}function b(T,S,W){return{x:S/T||0,y:W/T||0}}function Z(T,S){return T===S?1:se(T)>=se(S)?T<0?2:4:S<0?8:16}function Ee(T,S,W){W||(W=Ce);var ve=S[W[0]]-T[W[0]],Re=S[W[1]]-T[W[1]];return Math.sqrt(ve*ve+Re*Re)}function je(T,S,W){return W||(W=Ce),180*Math.atan2(S[W[1]]-T[W[1]],S[W[0]]-T[W[0]])/Math.PI}j.prototype={handler:function(){},init:function(){this.evEl&&B(this.element,this.evEl,this.domHandler),this.evTarget&&B(this.target,this.evTarget,this.domHandler),this.evWin&&B(Je(this.element),this.evWin,this.domHandler)},destroy:function(){this.evEl&&Te(this.element,this.evEl,this.domHandler),this.evTarget&&Te(this.target,this.evTarget,this.domHandler),this.evWin&&Te(Je(this.element),this.evWin,this.domHandler)}};var mt={mousedown:1,mousemove:2,mouseup:4},on="mousedown",lt="mousemove mouseup";function At(){this.evEl=on,this.evWin=lt,this.pressed=!1,j.apply(this,arguments)}M(At,j,{handler:function(S){var W=mt[S.type];1&W&&0===S.button&&(this.pressed=!0),2&W&&1!==S.which&&(W=4),this.pressed&&(4&W&&(this.pressed=!1),this.callback(this.manager,W,{pointers:[S],changedPointers:[S],pointerType:gt,srcEvent:S}))}});var St={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},Yn={2:Vt,3:"pen",4:gt,5:"kinect"},Pn="pointerdown",kt="pointermove pointerup pointercancel";function Bn(){this.evEl=Pn,this.evWin=kt,j.apply(this,arguments),this.store=this.manager.session.pointerEvents=[]}o.MSPointerEvent&&!o.PointerEvent&&(Pn="MSPointerDown",kt="MSPointerMove MSPointerUp MSPointerCancel"),M(Bn,j,{handler:function(S){var W=this.store,ve=!1,Re=S.type.toLowerCase().replace("ms",""),Ke=St[Re],yt=Yn[S.pointerType]||S.pointerType,yn=yt==Vt,fn=H(W,S.pointerId,"pointerId");1&Ke&&(0===S.button||yn)?fn<0&&(W.push(S),fn=W.length-1):12&Ke&&(ve=!0),!(fn<0)&&(W[fn]=S,this.callback(this.manager,Ke,{pointers:W,changedPointers:[S],pointerType:yt,srcEvent:S}),ve&&W.splice(fn,1))}});var Hn={touchstart:1,touchmove:2,touchend:4,touchcancel:8},lr="touchstart",Jn="touchstart touchmove touchend touchcancel";function nr(){this.evTarget=lr,this.evWin=Jn,this.started=!1,j.apply(this,arguments)}function Cr(T,S){var W=Q(T.touches),ve=Q(T.changedTouches);return 12&S&&(W=ie(W.concat(ve),"identifier",!0)),[W,ve]}M(nr,j,{handler:function(S){var W=Hn[S.type];if(1===W&&(this.started=!0),this.started){var ve=Cr.call(this,S,W);12&W&&ve[0].length-ve[1].length==0&&(this.started=!1),this.callback(this.manager,W,{pointers:ve[0],changedPointers:ve[1],pointerType:Vt,srcEvent:S})}}});var Pt={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Ht="touchstart touchmove touchend touchcancel";function tn(){this.evTarget=Ht,this.targetIds={},j.apply(this,arguments)}function _n(T,S){var W=Q(T.touches),ve=this.targetIds;if(3&S&&1===W.length)return ve[W[0].identifier]=!0,[W,W];var Re,Ke,yt=Q(T.changedTouches),yn=[],fn=this.target;if(Ke=W.filter(function(vn){return te(vn.target,fn)}),1===S)for(Re=0;Re<Ke.length;)ve[Ke[Re].identifier]=!0,Re++;for(Re=0;Re<yt.length;)ve[yt[Re].identifier]&&yn.push(yt[Re]),12&S&&delete ve[yt[Re].identifier],Re++;return yn.length?[ie(Ke.concat(yn),"identifier",!0),yn]:void 0}function rt(){j.apply(this,arguments);var T=re(this.handler,this);this.touch=new tn(this.manager,T),this.mouse=new At(this.manager,T),this.primaryTouch=null,this.lastTouches=[]}function X(T,S){1&T?(this.primaryTouch=S.changedPointers[0].identifier,z.call(this,S)):12&T&&z.call(this,S)}function z(T){var S=T.changedPointers[0];if(S.identifier===this.primaryTouch){var W={x:S.clientX,y:S.clientY};this.lastTouches.push(W);var ve=this.lastTouches;setTimeout(function(){var Ke=ve.indexOf(W);Ke>-1&&ve.splice(Ke,1)},2500)}}function x(T){for(var S=T.srcEvent.clientX,W=T.srcEvent.clientY,ve=0;ve<this.lastTouches.length;ve++){var Re=this.lastTouches[ve],Ke=Math.abs(S-Re.x),yt=Math.abs(W-Re.y);if(Ke<=25&&yt<=25)return!0}return!1}M(tn,j,{handler:function(S){var W=Pt[S.type],ve=_n.call(this,S,W);!ve||this.callback(this.manager,W,{pointers:ve[0],changedPointers:ve[1],pointerType:Vt,srcEvent:S})}}),M(rt,j,{handler:function(S,W,ve){var Ke=ve.pointerType==gt;if(!(Ke&&ve.sourceCapabilities&&ve.sourceCapabilities.firesTouchEvents)){if(ve.pointerType==Vt)X.call(this,W,ve);else if(Ke&&x.call(this,ve))return;this.callback(S,W,ve)}},destroy:function(){this.touch.destroy(),this.mouse.destroy()}});var Y=ce(G.style,"touchAction"),Se=Y!==w,Ge="compute",Mt="manipulation",Qe="none",Un="pan-x",qt="pan-y",rr=function wr(){if(!Se)return!1;var T={},S=o.CSS&&o.CSS.supports;return["auto","manipulation","pan-y","pan-x","pan-x pan-y","none"].forEach(function(W){T[W]=!S||o.CSS.supports("touch-action",W)}),T}();function xn(T,S){this.manager=T,this.set(S)}function Ln(T){this.options=de({},this.defaults,T||{}),this.id=function Pe(){return fe++}(),this.manager=null,this.options.enable=A(this.options.enable,!0),this.state=1,this.simultaneous={},this.requireFail=[]}function br(T){return 16&T?"cancel":8&T?"end":4&T?"move":2&T?"start":""}function sr(T){return 16==T?"down":8==T?"up":2==T?"left":4==T?"right":""}function $n(T,S){var W=S.manager;return W?W.get(T):T}function cn(){Ln.apply(this,arguments)}function dn(){cn.apply(this,arguments),this.pX=null,this.pY=null}function Hr(){cn.apply(this,arguments)}function pn(){Ln.apply(this,arguments),this._timer=null,this._input=null}function Cn(){cn.apply(this,arguments)}function hr(){cn.apply(this,arguments)}function ir(){Ln.apply(this,arguments),this.pTime=!1,this.pCenter=!1,this._timer=null,this._input=null,this.count=0}function Qn(T,S){return(S=S||{}).recognizers=A(S.recognizers,Qn.defaults.preset),new Qr(T,S)}function Qr(T,S){this.options=de({},Qn.defaults,S||{}),this.options.inputTarget=this.options.inputTarget||T,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=T,this.input=function _e(T){return new(T.options.inputClass||(Be?Bn:Rt?tn:at?rt:At))(T,Ae)}(this),this.touchAction=new xn(this,this.options.touchAction),dr(this,!0),ge(this.options.recognizers,function(W){var ve=this.add(new W[0](W[1]));W[2]&&ve.recognizeWith(W[2]),W[3]&&ve.requireFailure(W[3])},this)}function dr(T,S){var ve,W=T.element;W.style&&(ge(T.options.cssProps,function(Re,Ke){ve=ce(W.style,Ke),S?(T.oldCssProps[ve]=W.style[ve],W.style[ve]=Re):W.style[ve]=T.oldCssProps[ve]||""}),S||(T.oldCssProps={}))}xn.prototype={set:function(T){T==Ge&&(T=this.compute()),Se&&this.manager.element.style&&rr[T]&&(this.manager.element.style[Y]=T),this.actions=T.toLowerCase().trim()},update:function(){this.set(this.manager.options.touchAction)},compute:function(){var T=[];return ge(this.manager.recognizers,function(S){O(S.options.enable,[S])&&(T=T.concat(S.getTouchAction()))}),function un(T){if(me(T,Qe))return Qe;var S=me(T,Un),W=me(T,qt);return S&&W?Qe:S||W?S?Un:qt:me(T,Mt)?Mt:"auto"}(T.join(" "))},preventDefaults:function(T){var S=T.srcEvent,W=T.offsetDirection;if(!this.manager.session.prevented){var ve=this.actions,Re=me(ve,Qe)&&!rr[Qe],Ke=me(ve,qt)&&!rr[qt],yt=me(ve,Un)&&!rr[Un];if(Re&&1===T.pointers.length&&T.distance<2&&T.deltaTime<250)return;return yt&&Ke||!(Re||Ke&&6&W||yt&&24&W)?void 0:this.preventSrc(S)}S.preventDefault()},preventSrc:function(T){this.manager.session.prevented=!0,T.preventDefault()}},Ln.prototype={defaults:{},set:function(T){return de(this.options,T),this.manager&&this.manager.touchAction.update(),this},recognizeWith:function(T){if(Ie(T,"recognizeWith",this))return this;var S=this.simultaneous;return S[(T=$n(T,this)).id]||(S[T.id]=T,T.recognizeWith(this)),this},dropRecognizeWith:function(T){return Ie(T,"dropRecognizeWith",this)||(T=$n(T,this),delete this.simultaneous[T.id]),this},requireFailure:function(T){if(Ie(T,"requireFailure",this))return this;var S=this.requireFail;return-1===H(S,T=$n(T,this))&&(S.push(T),T.requireFailure(this)),this},dropRequireFailure:function(T){if(Ie(T,"dropRequireFailure",this))return this;T=$n(T,this);var S=H(this.requireFail,T);return S>-1&&this.requireFail.splice(S,1),this},hasRequireFailures:function(){return this.requireFail.length>0},canRecognizeWith:function(T){return!!this.simultaneous[T.id]},emit:function(T){var S=this,W=this.state;function ve(Re){S.manager.emit(Re,T)}W<8&&ve(S.options.event+br(W)),ve(S.options.event),T.additionalEvent&&ve(T.additionalEvent),W>=8&&ve(S.options.event+br(W))},tryEmit:function(T){if(this.canEmit())return this.emit(T);this.state=32},canEmit:function(){for(var T=0;T<this.requireFail.length;){if(!(33&this.requireFail[T].state))return!1;T++}return!0},recognize:function(T){var S=de({},T);if(!O(this.options.enable,[this,S]))return this.reset(),void(this.state=32);56&this.state&&(this.state=1),this.state=this.process(S),30&this.state&&this.tryEmit(S)},process:function(T){},getTouchAction:function(){},reset:function(){}},M(cn,Ln,{defaults:{pointers:1},attrTest:function(T){var S=this.options.pointers;return 0===S||T.pointers.length===S},process:function(T){var S=this.state,W=T.eventType,ve=6&S,Re=this.attrTest(T);return ve&&(8&W||!Re)?16|S:ve||Re?4&W?8|S:2&S?4|S:2:32}}),M(dn,cn,{defaults:{event:"pan",threshold:10,pointers:1,direction:30},getTouchAction:function(){var T=this.options.direction,S=[];return 6&T&&S.push(qt),24&T&&S.push(Un),S},directionTest:function(T){var S=this.options,W=!0,ve=T.distance,Re=T.direction,Ke=T.deltaX,yt=T.deltaY;return Re&S.direction||(6&S.direction?(Re=0===Ke?1:Ke<0?2:4,W=Ke!=this.pX,ve=Math.abs(T.deltaX)):(Re=0===yt?1:yt<0?8:16,W=yt!=this.pY,ve=Math.abs(T.deltaY))),T.direction=Re,W&&ve>S.threshold&&Re&S.direction},attrTest:function(T){return cn.prototype.attrTest.call(this,T)&&(2&this.state||!(2&this.state)&&this.directionTest(T))},emit:function(T){this.pX=T.deltaX,this.pY=T.deltaY;var S=sr(T.direction);S&&(T.additionalEvent=this.options.event+S),this._super.emit.call(this,T)}}),M(Hr,cn,{defaults:{event:"pinch",threshold:0,pointers:2},getTouchAction:function(){return[Qe]},attrTest:function(T){return this._super.attrTest.call(this,T)&&(Math.abs(T.scale-1)>this.options.threshold||2&this.state)},emit:function(T){1!==T.scale&&(T.additionalEvent=this.options.event+(T.scale<1?"in":"out")),this._super.emit.call(this,T)}}),M(pn,Ln,{defaults:{event:"press",pointers:1,time:251,threshold:9},getTouchAction:function(){return["auto"]},process:function(T){var S=this.options,W=T.pointers.length===S.pointers,ve=T.distance<S.threshold,Re=T.deltaTime>S.time;if(this._input=T,!ve||!W||12&T.eventType&&!Re)this.reset();else if(1&T.eventType)this.reset(),this._timer=le(function(){this.state=8,this.tryEmit()},S.time,this);else if(4&T.eventType)return 8;return 32},reset:function(){clearTimeout(this._timer)},emit:function(T){8===this.state&&(T&&4&T.eventType?this.manager.emit(this.options.event+"up",T):(this._input.timeStamp=J(),this.manager.emit(this.options.event,this._input)))}}),M(Cn,cn,{defaults:{event:"rotate",threshold:0,pointers:2},getTouchAction:function(){return[Qe]},attrTest:function(T){return this._super.attrTest.call(this,T)&&(Math.abs(T.rotation)>this.options.threshold||2&this.state)}}),M(hr,cn,{defaults:{event:"swipe",threshold:10,velocity:.3,direction:30,pointers:1},getTouchAction:function(){return dn.prototype.getTouchAction.call(this)},attrTest:function(T){var W,S=this.options.direction;return 30&S?W=T.overallVelocity:6&S?W=T.overallVelocityX:24&S&&(W=T.overallVelocityY),this._super.attrTest.call(this,T)&&S&T.offsetDirection&&T.distance>this.options.threshold&&T.maxPointers==this.options.pointers&&se(W)>this.options.velocity&&4&T.eventType},emit:function(T){var S=sr(T.offsetDirection);S&&this.manager.emit(this.options.event+S,T),this.manager.emit(this.options.event,T)}}),M(ir,Ln,{defaults:{event:"tap",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[Mt]},process:function(T){var S=this.options,W=T.pointers.length===S.pointers,ve=T.distance<S.threshold,Re=T.deltaTime<S.time;if(this.reset(),1&T.eventType&&0===this.count)return this.failTimeout();if(ve&&Re&&W){if(4!=T.eventType)return this.failTimeout();var Ke=!this.pTime||T.timeStamp-this.pTime<S.interval,yt=!this.pCenter||Ee(this.pCenter,T.center)<S.posThreshold;if(this.pTime=T.timeStamp,this.pCenter=T.center,yt&&Ke?this.count+=1:this.count=1,this._input=T,0==this.count%S.taps)return this.hasRequireFailures()?(this._timer=le(function(){this.state=8,this.tryEmit()},S.interval,this),2):8}return 32},failTimeout:function(){return this._timer=le(function(){this.state=32},this.options.interval,this),32},reset:function(){clearTimeout(this._timer)},emit:function(){8==this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))}}),Qn.VERSION="2.0.7",Qn.defaults={domEvents:!1,touchAction:Ge,enable:!0,inputTarget:null,inputClass:null,preset:[[Cn,{enable:!1}],[Hr,{enable:!1},["rotate"]],[hr,{direction:6}],[dn,{direction:6},["swipe"]],[ir],[ir,{event:"doubletap",taps:2},["tap"]],[pn]],cssProps:{userSelect:"none",touchSelect:"none",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},Qr.prototype={set:function(T){return de(this.options,T),T.touchAction&&this.touchAction.update(),T.inputTarget&&(this.input.destroy(),this.input.target=T.inputTarget,this.input.init()),this},stop:function(T){this.session.stopped=T?2:1},recognize:function(T){var S=this.session;if(!S.stopped){this.touchAction.preventDefaults(T);var W,ve=this.recognizers,Re=S.curRecognizer;(!Re||Re&&8&Re.state)&&(Re=S.curRecognizer=null);for(var Ke=0;Ke<ve.length;)W=ve[Ke],2===S.stopped||Re&&W!=Re&&!W.canRecognizeWith(Re)?W.reset():W.recognize(T),!Re&&14&W.state&&(Re=S.curRecognizer=W),Ke++}},get:function(T){if(T instanceof Ln)return T;for(var S=this.recognizers,W=0;W<S.length;W++)if(S[W].options.event==T)return S[W];return null},add:function(T){if(Ie(T,"add",this))return this;var S=this.get(T.options.event);return S&&this.remove(S),this.recognizers.push(T),T.manager=this,this.touchAction.update(),T},remove:function(T){if(Ie(T,"remove",this))return this;if(T=this.get(T)){var S=this.recognizers,W=H(S,T);-1!==W&&(S.splice(W,1),this.touchAction.update())}return this},on:function(T,S){if(T!==w&&S!==w){var W=this.handlers;return ge(we(T),function(ve){W[ve]=W[ve]||[],W[ve].push(S)}),this}},off:function(T,S){if(T!==w){var W=this.handlers;return ge(we(T),function(ve){S?W[ve]&&W[ve].splice(H(W[ve],S),1):delete W[ve]}),this}},emit:function(T,S){this.options.domEvents&&function Xr(T,S){var W=k.createEvent("Event");W.initEvent(T,!0,!0),W.gesture=S,S.target.dispatchEvent(W)}(T,S);var W=this.handlers[T]&&this.handlers[T].slice();if(W&&W.length){S.type=T,S.preventDefault=function(){S.srcEvent.preventDefault()};for(var ve=0;ve<W.length;)W[ve](S),ve++}},destroy:function(){this.element&&dr(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null}},de(Qn,{INPUT_START:1,INPUT_MOVE:2,INPUT_END:4,INPUT_CANCEL:8,STATE_POSSIBLE:1,STATE_BEGAN:2,STATE_CHANGED:4,STATE_ENDED:8,STATE_RECOGNIZED:8,STATE_CANCELLED:16,STATE_FAILED:32,DIRECTION_NONE:1,DIRECTION_LEFT:2,DIRECTION_RIGHT:4,DIRECTION_UP:8,DIRECTION_DOWN:16,DIRECTION_HORIZONTAL:6,DIRECTION_VERTICAL:24,DIRECTION_ALL:30,Manager:Qr,Input:j,TouchAction:xn,TouchInput:tn,MouseInput:At,PointerEventInput:Bn,TouchMouseInput:rt,SingleTouchInput:nr,Recognizer:Ln,AttrRecognizer:cn,Tap:ir,Pan:dn,Swipe:hr,Pinch:Hr,Rotate:Cn,Press:pn,on:B,off:Te,each:ge,merge:I,extend:L,assign:de,inherit:M,bindFn:re,prefixed:ce}),(typeof o<"u"?o:typeof self<"u"?self:{}).Hammer=Qn,(d=function(){return Qn}.call(De,v,De,$e))!==w&&($e.exports=d)}(window,document)},8306:($e,De,v)=>{"use strict";v.d(De,{y:()=>se});var d=v(2961),o=v(727),k=v(8822),oe=v(4671);var G=v(2416),ne=v(576),ae=v(2806);let se=(()=>{class ge{constructor(de){de&&(this._subscribe=de)}lift(de){const L=new ge;return L.source=this,L.operator=de,L}subscribe(de,L,I){const M=function Ie(ge){return ge&&ge instanceof d.Lv||function le(ge){return ge&&(0,ne.m)(ge.next)&&(0,ne.m)(ge.error)&&(0,ne.m)(ge.complete)}(ge)&&(0,o.Nn)(ge)}(de)?de:new d.Hp(de,L,I);return(0,ae.x)(()=>{const{operator:re,source:O}=this;M.add(re?re.call(M,O):O?this._subscribe(M):this._trySubscribe(M))}),M}_trySubscribe(de){try{return this._subscribe(de)}catch(L){de.error(L)}}forEach(de,L){return new(L=J(L))((I,M)=>{const re=new d.Hp({next:O=>{try{de(O)}catch(A){M(A),re.unsubscribe()}},error:M,complete:I});this.subscribe(re)})}_subscribe(de){var L;return null===(L=this.source)||void 0===L?void 0:L.subscribe(de)}[k.L](){return this}pipe(...de){return function F(ge){return 0===ge.length?oe.y:1===ge.length?ge[0]:function(de){return ge.reduce((L,I)=>I(L),de)}}(de)(this)}toPromise(de){return new(de=J(de))((L,I)=>{let M;this.subscribe(re=>M=re,re=>I(re),()=>L(M))})}}return ge.create=$=>new ge($),ge})();function J(ge){var $;return null!==($=ge??G.v.Promise)&&void 0!==$?$:Promise}},7579:($e,De,v)=>{"use strict";v.d(De,{x:()=>G});var d=v(8306),o=v(727);const oe=(0,v(3888).d)(ae=>function(){ae(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var w=v(8737),F=v(2806);let G=(()=>{class ae extends d.y{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(J){const le=new ne(this,this);return le.operator=J,le}_throwIfClosed(){if(this.closed)throw new oe}next(J){(0,F.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const le of this.currentObservers)le.next(J)}})}error(J){(0,F.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=J;const{observers:le}=this;for(;le.length;)le.shift().error(J)}})}complete(){(0,F.x)(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:J}=this;for(;J.length;)J.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var J;return(null===(J=this.observers)||void 0===J?void 0:J.length)>0}_trySubscribe(J){return this._throwIfClosed(),super._trySubscribe(J)}_subscribe(J){return this._throwIfClosed(),this._checkFinalizedStatuses(J),this._innerSubscribe(J)}_innerSubscribe(J){const{hasError:le,isStopped:Ie,observers:ge}=this;return le||Ie?o.Lc:(this.currentObservers=null,ge.push(J),new o.w0(()=>{this.currentObservers=null,(0,w.P)(ge,J)}))}_checkFinalizedStatuses(J){const{hasError:le,thrownError:Ie,isStopped:ge}=this;le?J.error(Ie):ge&&J.complete()}asObservable(){const J=new d.y;return J.source=this,J}}return ae.create=(se,J)=>new ne(se,J),ae})();class ne extends G{constructor(se,J){super(),this.destination=se,this.source=J}next(se){var J,le;null===(le=null===(J=this.destination)||void 0===J?void 0:J.next)||void 0===le||le.call(J,se)}error(se){var J,le;null===(le=null===(J=this.destination)||void 0===J?void 0:J.error)||void 0===le||le.call(J,se)}complete(){var se,J;null===(J=null===(se=this.destination)||void 0===se?void 0:se.complete)||void 0===J||J.call(se)}_subscribe(se){var J,le;return null!==(le=null===(J=this.source)||void 0===J?void 0:J.subscribe(se))&&void 0!==le?le:o.Lc}}},2961:($e,De,v)=>{"use strict";v.d(De,{Hp:()=>de,Lv:()=>le});var d=v(576),o=v(727),k=v(2416),oe=v(7849);function w(){}const F=ae("C",void 0,void 0);function ae(O,A,B){return{kind:O,value:A,error:B}}var se=v(3410),J=v(2806);class le extends o.w0{constructor(A){super(),this.isStopped=!1,A?(this.destination=A,(0,o.Nn)(A)&&A.add(this)):this.destination=re}static create(A,B,Te){return new de(A,B,Te)}next(A){this.isStopped?M(function ne(O){return ae("N",O,void 0)}(A),this):this._next(A)}error(A){this.isStopped?M(function G(O){return ae("E",void 0,O)}(A),this):(this.isStopped=!0,this._error(A))}complete(){this.isStopped?M(F,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(A){this.destination.next(A)}_error(A){try{this.destination.error(A)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const Ie=Function.prototype.bind;function ge(O,A){return Ie.call(O,A)}class ${constructor(A){this.partialObserver=A}next(A){const{partialObserver:B}=this;if(B.next)try{B.next(A)}catch(Te){L(Te)}}error(A){const{partialObserver:B}=this;if(B.error)try{B.error(A)}catch(Te){L(Te)}else L(A)}complete(){const{partialObserver:A}=this;if(A.complete)try{A.complete()}catch(B){L(B)}}}class de extends le{constructor(A,B,Te){let te;if(super(),(0,d.m)(A)||!A)te={next:A??void 0,error:B??void 0,complete:Te??void 0};else{let me;this&&k.v.useDeprecatedNextContext?(me=Object.create(A),me.unsubscribe=()=>this.unsubscribe(),te={next:A.next&&ge(A.next,me),error:A.error&&ge(A.error,me),complete:A.complete&&ge(A.complete,me)}):te=A}this.destination=new $(te)}}function L(O){k.v.useDeprecatedSynchronousErrorHandling?(0,J.O)(O):(0,oe.h)(O)}function M(O,A){const{onStoppedNotification:B}=k.v;B&&se.z.setTimeout(()=>B(O,A))}const re={closed:!0,next:w,error:function I(O){throw O},complete:w}},727:($e,De,v)=>{"use strict";v.d(De,{Lc:()=>F,w0:()=>w,Nn:()=>G});var d=v(576);const k=(0,v(3888).d)(ae=>function(J){ae(this),this.message=J?`${J.length} errors occurred during unsubscription:\n${J.map((le,Ie)=>`${Ie+1}) ${le.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=J});var oe=v(8737);class w{constructor(se){this.initialTeardown=se,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let se;if(!this.closed){this.closed=!0;const{_parentage:J}=this;if(J)if(this._parentage=null,Array.isArray(J))for(const ge of J)ge.remove(this);else J.remove(this);const{initialTeardown:le}=this;if((0,d.m)(le))try{le()}catch(ge){se=ge instanceof k?ge.errors:[ge]}const{_finalizers:Ie}=this;if(Ie){this._finalizers=null;for(const ge of Ie)try{ne(ge)}catch($){se=se??[],$ instanceof k?se=[...se,...$.errors]:se.push($)}}if(se)throw new k(se)}}add(se){var J;if(se&&se!==this)if(this.closed)ne(se);else{if(se instanceof w){if(se.closed||se._hasParent(this))return;se._addParent(this)}(this._finalizers=null!==(J=this._finalizers)&&void 0!==J?J:[]).push(se)}}_hasParent(se){const{_parentage:J}=this;return J===se||Array.isArray(J)&&J.includes(se)}_addParent(se){const{_parentage:J}=this;this._parentage=Array.isArray(J)?(J.push(se),J):J?[J,se]:se}_removeParent(se){const{_parentage:J}=this;J===se?this._parentage=null:Array.isArray(J)&&(0,oe.P)(J,se)}remove(se){const{_finalizers:J}=this;J&&(0,oe.P)(J,se),se instanceof w&&se._removeParent(this)}}w.EMPTY=(()=>{const ae=new w;return ae.closed=!0,ae})();const F=w.EMPTY;function G(ae){return ae instanceof w||ae&&"closed"in ae&&(0,d.m)(ae.remove)&&(0,d.m)(ae.add)&&(0,d.m)(ae.unsubscribe)}function ne(ae){(0,d.m)(ae)?ae():ae.unsubscribe()}},2416:($e,De,v)=>{"use strict";v.d(De,{v:()=>d});const d={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}},515:($e,De,v)=>{"use strict";v.d(De,{E:()=>o});const o=new(v(8306).y)(w=>w.complete())},2076:($e,De,v)=>{"use strict";v.d(De,{D:()=>Te});var d=v(8421),o=v(9672),k=v(4482),oe=v(5403);function w(te,me=0){return(0,k.e)((we,H)=>{we.subscribe((0,oe.x)(H,Q=>(0,o.f)(H,te,()=>H.next(Q),me),()=>(0,o.f)(H,te,()=>H.complete(),me),Q=>(0,o.f)(H,te,()=>H.error(Q),me)))})}function F(te,me=0){return(0,k.e)((we,H)=>{H.add(te.schedule(()=>we.subscribe(H),me))})}var ae=v(8306),J=v(2202),le=v(576);function ge(te,me){if(!te)throw new Error("Iterable cannot be null");return new ae.y(we=>{(0,o.f)(we,me,()=>{const H=te[Symbol.asyncIterator]();(0,o.f)(we,me,()=>{H.next().then(Q=>{Q.done?we.complete():we.next(Q.value)})},0,!0)})})}var $=v(3670),de=v(8239),L=v(1144),I=v(6495),M=v(2206),re=v(4532),O=v(3260);function Te(te,me){return me?function B(te,me){if(null!=te){if((0,$.c)(te))return function G(te,me){return(0,d.Xf)(te).pipe(F(me),w(me))}(te,me);if((0,L.z)(te))return function se(te,me){return new ae.y(we=>{let H=0;return me.schedule(function(){H===te.length?we.complete():(we.next(te[H++]),we.closed||this.schedule())})})}(te,me);if((0,de.t)(te))return function ne(te,me){return(0,d.Xf)(te).pipe(F(me),w(me))}(te,me);if((0,M.D)(te))return ge(te,me);if((0,I.T)(te))return function Ie(te,me){return new ae.y(we=>{let H;return(0,o.f)(we,me,()=>{H=te[J.h](),(0,o.f)(we,me,()=>{let Q,ie;try{({value:Q,done:ie}=H.next())}catch(ce){return void we.error(ce)}ie?we.complete():we.next(Q)},0,!0)}),()=>(0,le.m)(H?.return)&&H.return()})}(te,me);if((0,O.L)(te))return function A(te,me){return ge((0,O.Q)(te),me)}(te,me)}throw(0,re.z)(te)}(te,me):(0,d.Xf)(te)}},8421:($e,De,v)=>{"use strict";v.d(De,{Xf:()=>Ie});var d=v(655),o=v(1144),k=v(8239),oe=v(8306),w=v(3670),F=v(2206),G=v(4532),ne=v(6495),ae=v(3260),se=v(576),J=v(7849),le=v(8822);function Ie(O){if(O instanceof oe.y)return O;if(null!=O){if((0,w.c)(O))return function ge(O){return new oe.y(A=>{const B=O[le.L]();if((0,se.m)(B.subscribe))return B.subscribe(A);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(O);if((0,o.z)(O))return function $(O){return new oe.y(A=>{for(let B=0;B<O.length&&!A.closed;B++)A.next(O[B]);A.complete()})}(O);if((0,k.t)(O))return function de(O){return new oe.y(A=>{O.then(B=>{A.closed||(A.next(B),A.complete())},B=>A.error(B)).then(null,J.h)})}(O);if((0,F.D)(O))return I(O);if((0,ne.T)(O))return function L(O){return new oe.y(A=>{for(const B of O)if(A.next(B),A.closed)return;A.complete()})}(O);if((0,ae.L)(O))return function M(O){return I((0,ae.Q)(O))}(O)}throw(0,G.z)(O)}function I(O){return new oe.y(A=>{(function re(O,A){var B,Te,te,me;return(0,d.mG)(this,void 0,void 0,function*(){try{for(B=(0,d.KL)(O);!(Te=yield B.next()).done;)if(A.next(Te.value),A.closed)return}catch(we){te={error:we}}finally{try{Te&&!Te.done&&(me=B.return)&&(yield me.call(B))}finally{if(te)throw te.error}}A.complete()})})(O,A).catch(B=>A.error(B))})}},6451:($e,De,v)=>{"use strict";v.d(De,{T:()=>F});var d=v(8189),o=v(8421),k=v(515),oe=v(3269),w=v(2076);function F(...G){const ne=(0,oe.yG)(G),ae=(0,oe._6)(G,1/0),se=G;return se.length?1===se.length?(0,o.Xf)(se[0]):(0,d.J)(ae)((0,w.D)(se,ne)):k.E}},9646:($e,De,v)=>{"use strict";v.d(De,{of:()=>k});var d=v(3269),o=v(2076);function k(...oe){const w=(0,d.yG)(oe);return(0,o.D)(oe,w)}},5403:($e,De,v)=>{"use strict";v.d(De,{x:()=>o});var d=v(2961);function o(oe,w,F,G,ne){return new k(oe,w,F,G,ne)}class k extends d.Lv{constructor(w,F,G,ne,ae,se){super(w),this.onFinalize=ae,this.shouldUnsubscribe=se,this._next=F?function(J){try{F(J)}catch(le){w.error(le)}}:super._next,this._error=ne?function(J){try{ne(J)}catch(le){w.error(le)}finally{this.unsubscribe()}}:super._error,this._complete=G?function(){try{G()}catch(J){w.error(J)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var w;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:F}=this;super.unsubscribe(),!F&&(null===(w=this.onFinalize)||void 0===w||w.call(this))}}}},4351:($e,De,v)=>{"use strict";v.d(De,{b:()=>k});var d=v(5577),o=v(576);function k(oe,w){return(0,o.m)(w)?(0,d.z)(oe,w,1):(0,d.z)(oe,1)}},4004:($e,De,v)=>{"use strict";v.d(De,{U:()=>k});var d=v(4482),o=v(5403);function k(oe,w){return(0,d.e)((F,G)=>{let ne=0;F.subscribe((0,o.x)(G,ae=>{G.next(oe.call(w,ae,ne++))}))})}},8189:($e,De,v)=>{"use strict";v.d(De,{J:()=>k});var d=v(5577),o=v(4671);function k(oe=1/0){return(0,d.z)(o.y,oe)}},5577:($e,De,v)=>{"use strict";v.d(De,{z:()=>ne});var d=v(4004),o=v(8421),k=v(4482),oe=v(9672),w=v(5403),G=v(576);function ne(ae,se,J=1/0){return(0,G.m)(se)?ne((le,Ie)=>(0,d.U)((ge,$)=>se(le,ge,Ie,$))((0,o.Xf)(ae(le,Ie))),J):("number"==typeof se&&(J=se),(0,k.e)((le,Ie)=>function F(ae,se,J,le,Ie,ge,$,de){const L=[];let I=0,M=0,re=!1;const O=()=>{re&&!L.length&&!I&&se.complete()},A=Te=>I<le?B(Te):L.push(Te),B=Te=>{ge&&se.next(Te),I++;let te=!1;(0,o.Xf)(J(Te,M++)).subscribe((0,w.x)(se,me=>{Ie?.(me),ge?A(me):se.next(me)},()=>{te=!0},void 0,()=>{if(te)try{for(I--;L.length&&I<le;){const me=L.shift();$?(0,oe.f)(se,$,()=>B(me)):B(me)}O()}catch(me){se.error(me)}}))};return ae.subscribe((0,w.x)(se,A,()=>{re=!0,O()})),()=>{de?.()}}(le,Ie,ae,J)))}},3099:($e,De,v)=>{"use strict";v.d(De,{B:()=>F});var d=v(2076),o=v(5698),k=v(7579),oe=v(2961),w=v(4482);function F(ne={}){const{connector:ae=(()=>new k.x),resetOnError:se=!0,resetOnComplete:J=!0,resetOnRefCountZero:le=!0}=ne;return Ie=>{let ge=null,$=null,de=null,L=0,I=!1,M=!1;const re=()=>{$?.unsubscribe(),$=null},O=()=>{re(),ge=de=null,I=M=!1},A=()=>{const B=ge;O(),B?.unsubscribe()};return(0,w.e)((B,Te)=>{L++,!M&&!I&&re();const te=de=de??ae();Te.add(()=>{L--,0===L&&!M&&!I&&($=G(A,le))}),te.subscribe(Te),ge||(ge=new oe.Hp({next:me=>te.next(me),error:me=>{M=!0,re(),$=G(O,se,me),te.error(me)},complete:()=>{I=!0,re(),$=G(O,J),te.complete()}}),(0,d.D)(B).subscribe(ge))})(Ie)}}function G(ne,ae,...se){return!0===ae?(ne(),null):!1===ae?null:ae(...se).pipe((0,o.q)(1)).subscribe(()=>ne())}},5698:($e,De,v)=>{"use strict";v.d(De,{q:()=>oe});var d=v(515),o=v(4482),k=v(5403);function oe(w){return w<=0?()=>d.E:(0,o.e)((F,G)=>{let ne=0;F.subscribe((0,k.x)(G,ae=>{++ne<=w&&(G.next(ae),w<=ne&&G.complete())}))})}},6063:($e,De,v)=>{"use strict";v.d(De,{l:()=>d});const d={now:()=>(d.delegate||Date).now(),delegate:void 0}},3410:($e,De,v)=>{"use strict";v.d(De,{z:()=>d});const d={setTimeout(o,k,...oe){const{delegate:w}=d;return w?.setTimeout?w.setTimeout(o,k,...oe):setTimeout(o,k,...oe)},clearTimeout(o){const{delegate:k}=d;return(k?.clearTimeout||clearTimeout)(o)},delegate:void 0}},2202:($e,De,v)=>{"use strict";v.d(De,{h:()=>o});const o=function d(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}()},8822:($e,De,v)=>{"use strict";v.d(De,{L:()=>d});const d="function"==typeof Symbol&&Symbol.observable||"@@observable"},3269:($e,De,v)=>{"use strict";v.d(De,{_6:()=>F,jO:()=>oe,yG:()=>w});var d=v(576),o=v(3532);function k(G){return G[G.length-1]}function oe(G){return(0,d.m)(k(G))?G.pop():void 0}function w(G){return(0,o.K)(k(G))?G.pop():void 0}function F(G,ne){return"number"==typeof k(G)?G.pop():ne}},8737:($e,De,v)=>{"use strict";function d(o,k){if(o){const oe=o.indexOf(k);0<=oe&&o.splice(oe,1)}}v.d(De,{P:()=>d})},3888:($e,De,v)=>{"use strict";function d(o){const oe=o(w=>{Error.call(w),w.stack=(new Error).stack});return oe.prototype=Object.create(Error.prototype),oe.prototype.constructor=oe,oe}v.d(De,{d:()=>d})},2806:($e,De,v)=>{"use strict";v.d(De,{O:()=>oe,x:()=>k});var d=v(2416);let o=null;function k(w){if(d.v.useDeprecatedSynchronousErrorHandling){const F=!o;if(F&&(o={errorThrown:!1,error:null}),w(),F){const{errorThrown:G,error:ne}=o;if(o=null,G)throw ne}}else w()}function oe(w){d.v.useDeprecatedSynchronousErrorHandling&&o&&(o.errorThrown=!0,o.error=w)}},9672:($e,De,v)=>{"use strict";function d(o,k,oe,w=0,F=!1){const G=k.schedule(function(){oe(),F?o.add(this.schedule(null,w)):this.unsubscribe()},w);if(o.add(G),!F)return G}v.d(De,{f:()=>d})},4671:($e,De,v)=>{"use strict";function d(o){return o}v.d(De,{y:()=>d})},1144:($e,De,v)=>{"use strict";v.d(De,{z:()=>d});const d=o=>o&&"number"==typeof o.length&&"function"!=typeof o},2206:($e,De,v)=>{"use strict";v.d(De,{D:()=>o});var d=v(576);function o(k){return Symbol.asyncIterator&&(0,d.m)(k?.[Symbol.asyncIterator])}},576:($e,De,v)=>{"use strict";function d(o){return"function"==typeof o}v.d(De,{m:()=>d})},3670:($e,De,v)=>{"use strict";v.d(De,{c:()=>k});var d=v(8822),o=v(576);function k(oe){return(0,o.m)(oe[d.L])}},6495:($e,De,v)=>{"use strict";v.d(De,{T:()=>k});var d=v(2202),o=v(576);function k(oe){return(0,o.m)(oe?.[d.h])}},8239:($e,De,v)=>{"use strict";v.d(De,{t:()=>o});var d=v(576);function o(k){return(0,d.m)(k?.then)}},3260:($e,De,v)=>{"use strict";v.d(De,{L:()=>oe,Q:()=>k});var d=v(655),o=v(576);function k(w){return(0,d.FC)(this,arguments,function*(){const G=w.getReader();try{for(;;){const{value:ne,done:ae}=yield(0,d.qq)(G.read());if(ae)return yield(0,d.qq)(void 0);yield yield(0,d.qq)(ne)}}finally{G.releaseLock()}})}function oe(w){return(0,o.m)(w?.getReader)}},3532:($e,De,v)=>{"use strict";v.d(De,{K:()=>o});var d=v(576);function o(k){return k&&(0,d.m)(k.schedule)}},4482:($e,De,v)=>{"use strict";v.d(De,{e:()=>k});var d=v(576);function k(oe){return w=>{if(function o(oe){return(0,d.m)(oe?.lift)}(w))return w.lift(function(F){try{return oe(F,this)}catch(G){this.error(G)}});throw new TypeError("Unable to lift unknown Observable type")}}},7849:($e,De,v)=>{"use strict";v.d(De,{h:()=>k});var d=v(2416),o=v(3410);function k(oe){o.z.setTimeout(()=>{const{onUnhandledError:w}=d.v;if(!w)throw oe;w(oe)})}},4532:($e,De,v)=>{"use strict";function d(o){return new TypeError(`You provided ${null!==o&&"object"==typeof o?"an invalid object":`'${o}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}v.d(De,{z:()=>d})},655:($e,De,v)=>{"use strict";function ne(H,Q,ie,ce){return new(ie||(ie=Promise))(function(Pe,Je){function pt(Rt){try{Be(ce.next(Rt))}catch(Vt){Je(Vt)}}function at(Rt){try{Be(ce.throw(Rt))}catch(Vt){Je(Vt)}}function Be(Rt){Rt.done?Pe(Rt.value):function fe(Pe){return Pe instanceof ie?Pe:new ie(function(Je){Je(Pe)})}(Rt.value).then(pt,at)}Be((ce=ce.apply(H,Q||[])).next())})}function L(H){return this instanceof L?(this.v=H,this):new L(H)}function I(H,Q,ie){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var fe,ce=ie.apply(H,Q||[]),Pe=[];return fe={},Je("next"),Je("throw"),Je("return"),fe[Symbol.asyncIterator]=function(){return this},fe;function Je(Ct){ce[Ct]&&(fe[Ct]=function(gt){return new Promise(function($t,ln){Pe.push([Ct,gt,$t,ln])>1||pt(Ct,gt)})})}function pt(Ct,gt){try{!function at(Ct){Ct.value instanceof L?Promise.resolve(Ct.value.v).then(Be,Rt):Vt(Pe[0][2],Ct)}(ce[Ct](gt))}catch($t){Vt(Pe[0][3],$t)}}function Be(Ct){pt("next",Ct)}function Rt(Ct){pt("throw",Ct)}function Vt(Ct,gt){Ct(gt),Pe.shift(),Pe.length&&pt(Pe[0][0],Pe[0][1])}}function re(H){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var ie,Q=H[Symbol.asyncIterator];return Q?Q.call(H):(H=function le(H){var Q="function"==typeof Symbol&&Symbol.iterator,ie=Q&&H[Q],ce=0;if(ie)return ie.call(H);if(H&&"number"==typeof H.length)return{next:function(){return H&&ce>=H.length&&(H=void 0),{value:H&&H[ce++],done:!H}}};throw new TypeError(Q?"Object is not iterable.":"Symbol.iterator is not defined.")}(H),ie={},ce("next"),ce("throw"),ce("return"),ie[Symbol.asyncIterator]=function(){return this},ie);function ce(Pe){ie[Pe]=H[Pe]&&function(Je){return new Promise(function(pt,at){!function fe(Pe,Je,pt,at){Promise.resolve(at).then(function(Be){Pe({value:Be,done:pt})},Je)}(pt,at,(Je=H[Pe](Je)).done,Je.value)})}}}v.d(De,{FC:()=>I,KL:()=>re,mG:()=>ne,qq:()=>L})},9671:($e,De,v)=>{"use strict";function d(k,oe,w,F,G,ne,ae){try{var se=k[ne](ae),J=se.value}catch(le){return void w(le)}se.done?oe(J):Promise.resolve(J).then(F,G)}function o(k){return function(){var oe=this,w=arguments;return new Promise(function(F,G){var ne=k.apply(oe,w);function ae(J){d(ne,F,G,ae,se,"next",J)}function se(J){d(ne,F,G,ae,se,"throw",J)}ae(void 0)})}}v.d(De,{Z:()=>o})},7340:($e,De,v)=>{"use strict";v.d(De,{LC:()=>o,SB:()=>ae,X$:()=>oe,ZE:()=>M,ZN:()=>I,_j:()=>d,eR:()=>J,jt:()=>w,k1:()=>re,l3:()=>k,oB:()=>ne,vP:()=>G});class d{}class o{}const k="*";function oe(O,A){return{type:7,name:O,definitions:A,options:{}}}function w(O,A=null){return{type:4,styles:A,timings:O}}function G(O,A=null){return{type:2,steps:O,options:A}}function ne(O){return{type:6,styles:O,offset:null}}function ae(O,A,B){return{type:0,name:O,styles:A,options:B}}function J(O,A,B=null){return{type:1,expr:O,animation:A,options:B}}function L(O){Promise.resolve(null).then(O)}class I{constructor(A=0,B=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=A+B}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(A=>A()),this._onDoneFns=[])}onStart(A){this._onStartFns.push(A)}onDone(A){this._onDoneFns.push(A)}onDestroy(A){this._onDestroyFns.push(A)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){L(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(A=>A()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(A=>A()),this._onDestroyFns=[])}reset(){this._started=!1}setPosition(A){this._position=this.totalTime?A*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(A){const B="start"==A?this._onStartFns:this._onDoneFns;B.forEach(Te=>Te()),B.length=0}}class M{constructor(A){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=A;let B=0,Te=0,te=0;const me=this.players.length;0==me?L(()=>this._onFinish()):this.players.forEach(we=>{we.onDone(()=>{++B==me&&this._onFinish()}),we.onDestroy(()=>{++Te==me&&this._onDestroy()}),we.onStart(()=>{++te==me&&this._onStart()})}),this.totalTime=this.players.reduce((we,H)=>Math.max(we,H.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(A=>A()),this._onDoneFns=[])}init(){this.players.forEach(A=>A.init())}onStart(A){this._onStartFns.push(A)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(A=>A()),this._onStartFns=[])}onDone(A){this._onDoneFns.push(A)}onDestroy(A){this._onDestroyFns.push(A)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(A=>A.play())}pause(){this.players.forEach(A=>A.pause())}restart(){this.players.forEach(A=>A.restart())}finish(){this._onFinish(),this.players.forEach(A=>A.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(A=>A.destroy()),this._onDestroyFns.forEach(A=>A()),this._onDestroyFns=[])}reset(){this.players.forEach(A=>A.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(A){const B=A*this.totalTime;this.players.forEach(Te=>{const te=Te.totalTime?Math.min(1,B/Te.totalTime):1;Te.setPosition(te)})}getPosition(){const A=this.players.reduce((B,Te)=>null===B||Te.totalTime>B.totalTime?Te:B,null);return null!=A?A.getPosition():0}beforeDestroy(){this.players.forEach(A=>{A.beforeDestroy&&A.beforeDestroy()})}triggerCallback(A){const B="start"==A?this._onStartFns:this._onDoneFns;B.forEach(Te=>Te()),B.length=0}}const re="!"},6895:($e,De,v)=>{"use strict";v.d(De,{HT:()=>w,JF:()=>Yt,K0:()=>G,Mx:()=>cr,NF:()=>Ts,O5:()=>Hr,bD:()=>Ds,ez:()=>vs,mk:()=>Vn,q:()=>k,sg:()=>$n,w_:()=>F});var d=v(4650);let o=null;function k(){return o}function w(p){o||(o=p)}class F{}const G=new d.OlP("DocumentToken");function cr(p,C){C=encodeURIComponent(C);for(const m of p.split(";")){const P=m.indexOf("="),[ue,Me]=-1==P?[m,""]:[m.slice(0,P),m.slice(P+1)];if(ue.trim()===C)return decodeURIComponent(Me)}return null}let Vn=(()=>{class p{constructor(m,P,ue,Me){this._iterableDiffers=m,this._keyValueDiffers=P,this._ngEl=ue,this._renderer=Me,this._iterableDiffer=null,this._keyValueDiffer=null,this._initialClasses=[],this._rawClass=null}set klass(m){this._removeClasses(this._initialClasses),this._initialClasses="string"==typeof m?m.split(/\s+/):[],this._applyClasses(this._initialClasses),this._applyClasses(this._rawClass)}set ngClass(m){this._removeClasses(this._rawClass),this._applyClasses(this._initialClasses),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof m?m.split(/\s+/):m,this._rawClass&&((0,d.sIi)(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create():this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create())}ngDoCheck(){if(this._iterableDiffer){const m=this._iterableDiffer.diff(this._rawClass);m&&this._applyIterableChanges(m)}else if(this._keyValueDiffer){const m=this._keyValueDiffer.diff(this._rawClass);m&&this._applyKeyValueChanges(m)}}_applyKeyValueChanges(m){m.forEachAddedItem(P=>this._toggleClass(P.key,P.currentValue)),m.forEachChangedItem(P=>this._toggleClass(P.key,P.currentValue)),m.forEachRemovedItem(P=>{P.previousValue&&this._toggleClass(P.key,!1)})}_applyIterableChanges(m){m.forEachAddedItem(P=>{if("string"!=typeof P.item)throw new Error(`NgClass can only toggle CSS classes expressed as strings, got ${(0,d.AaK)(P.item)}`);this._toggleClass(P.item,!0)}),m.forEachRemovedItem(P=>this._toggleClass(P.item,!1))}_applyClasses(m){m&&(Array.isArray(m)||m instanceof Set?m.forEach(P=>this._toggleClass(P,!0)):Object.keys(m).forEach(P=>this._toggleClass(P,!!m[P])))}_removeClasses(m){m&&(Array.isArray(m)||m instanceof Set?m.forEach(P=>this._toggleClass(P,!1)):Object.keys(m).forEach(P=>this._toggleClass(P,!1)))}_toggleClass(m,P){(m=m.trim())&&m.split(/\s+/g).forEach(ue=>{P?this._renderer.addClass(this._ngEl.nativeElement,ue):this._renderer.removeClass(this._ngEl.nativeElement,ue)})}}return p.\u0275fac=function(m){return new(m||p)(d.Y36(d.ZZ4),d.Y36(d.aQg),d.Y36(d.SBq),d.Y36(d.Qsj))},p.\u0275dir=d.lG2({type:p,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"}}),p})();class sr{constructor(C,m,P,ue){this.$implicit=C,this.ngForOf=m,this.index=P,this.count=ue}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let $n=(()=>{class p{constructor(m,P,ue){this._viewContainer=m,this._template=P,this._differs=ue,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForOf(m){this._ngForOf=m,this._ngForOfDirty=!0}set ngForTrackBy(m){this._trackByFn=m}get ngForTrackBy(){return this._trackByFn}set ngForTemplate(m){m&&(this._template=m)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const m=this._ngForOf;!this._differ&&m&&(this._differ=this._differs.find(m).create(this.ngForTrackBy))}if(this._differ){const m=this._differ.diff(this._ngForOf);m&&this._applyChanges(m)}}_applyChanges(m){const P=this._viewContainer;m.forEachOperation((ue,Me,Le)=>{if(null==ue.previousIndex)P.createEmbeddedView(this._template,new sr(ue.item,this._ngForOf,-1,-1),null===Le?void 0:Le);else if(null==Le)P.remove(null===Me?void 0:Me);else if(null!==Me){const Ze=P.get(Me);P.move(Ze,Le),cn(Ze,ue)}});for(let ue=0,Me=P.length;ue<Me;ue++){const Ze=P.get(ue).context;Ze.index=ue,Ze.count=Me,Ze.ngForOf=this._ngForOf}m.forEachIdentityChange(ue=>{cn(P.get(ue.currentIndex),ue)})}static ngTemplateContextGuard(m,P){return!0}}return p.\u0275fac=function(m){return new(m||p)(d.Y36(d.s_b),d.Y36(d.Rgc),d.Y36(d.ZZ4))},p.\u0275dir=d.lG2({type:p,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"}}),p})();function cn(p,C){p.context.$implicit=C.item}let Hr=(()=>{class p{constructor(m,P){this._viewContainer=m,this._context=new pn,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=P}set ngIf(m){this._context.$implicit=this._context.ngIf=m,this._updateView()}set ngIfThen(m){Cn("ngIfThen",m),this._thenTemplateRef=m,this._thenViewRef=null,this._updateView()}set ngIfElse(m){Cn("ngIfElse",m),this._elseTemplateRef=m,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(m,P){return!0}}return p.\u0275fac=function(m){return new(m||p)(d.Y36(d.s_b),d.Y36(d.Rgc))},p.\u0275dir=d.lG2({type:p,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"}}),p})();class pn{constructor(){this.$implicit=null,this.ngIf=null}}function Cn(p,C){if(C&&!C.createEmbeddedView)throw new Error(`${p} must be a TemplateRef, but received '${(0,d.AaK)(C)}'.`)}let vs=(()=>{class p{}return p.\u0275fac=function(m){return new(m||p)},p.\u0275mod=d.oAB({type:p}),p.\u0275inj=d.cJS({}),p})();const Ds="browser";function Ts(p){return p===Ds}class Yt{}},4570:($e,De,v)=>{"use strict";v.d(De,{eN:()=>Je,JF:()=>_e});var d=v(6895),o=v(4650),k=v(9646),oe=v(8306),w=v(4482),F=v(5403),ne=v(4351),ae=v(4004);class se{}class J{}class le{constructor(U){this.normalizedNames=new Map,this.lazyUpdate=null,U?this.lazyInit="string"==typeof U?()=>{this.headers=new Map,U.split("\n").forEach(y=>{const K=y.indexOf(":");if(K>0){const b=y.slice(0,K),Z=b.toLowerCase(),Ee=y.slice(K+1).trim();this.maybeSetNormalizedName(b,Z),this.headers.has(Z)?this.headers.get(Z).push(Ee):this.headers.set(Z,[Ee])}})}:()=>{this.headers=new Map,Object.keys(U).forEach(y=>{let K=U[y];const b=y.toLowerCase();"string"==typeof K&&(K=[K]),K.length>0&&(this.headers.set(b,K),this.maybeSetNormalizedName(y,b))})}:this.headers=new Map}has(U){return this.init(),this.headers.has(U.toLowerCase())}get(U){this.init();const y=this.headers.get(U.toLowerCase());return y&&y.length>0?y[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(U){return this.init(),this.headers.get(U.toLowerCase())||null}append(U,y){return this.clone({name:U,value:y,op:"a"})}set(U,y){return this.clone({name:U,value:y,op:"s"})}delete(U,y){return this.clone({name:U,value:y,op:"d"})}maybeSetNormalizedName(U,y){this.normalizedNames.has(y)||this.normalizedNames.set(y,U)}init(){this.lazyInit&&(this.lazyInit instanceof le?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(U=>this.applyUpdate(U)),this.lazyUpdate=null))}copyFrom(U){U.init(),Array.from(U.headers.keys()).forEach(y=>{this.headers.set(y,U.headers.get(y)),this.normalizedNames.set(y,U.normalizedNames.get(y))})}clone(U){const y=new le;return y.lazyInit=this.lazyInit&&this.lazyInit instanceof le?this.lazyInit:this,y.lazyUpdate=(this.lazyUpdate||[]).concat([U]),y}applyUpdate(U){const y=U.name.toLowerCase();switch(U.op){case"a":case"s":let K=U.value;if("string"==typeof K&&(K=[K]),0===K.length)return;this.maybeSetNormalizedName(U.name,y);const b=("a"===U.op?this.headers.get(y):void 0)||[];b.push(...K),this.headers.set(y,b);break;case"d":const Z=U.value;if(Z){let Ee=this.headers.get(y);if(!Ee)return;Ee=Ee.filter(je=>-1===Z.indexOf(je)),0===Ee.length?(this.headers.delete(y),this.normalizedNames.delete(y)):this.headers.set(y,Ee)}else this.headers.delete(y),this.normalizedNames.delete(y)}}forEach(U){this.init(),Array.from(this.normalizedNames.keys()).forEach(y=>U(this.normalizedNames.get(y),this.headers.get(y)))}}class Ie{encodeKey(U){return L(U)}encodeValue(U){return L(U)}decodeKey(U){return decodeURIComponent(U)}decodeValue(U){return decodeURIComponent(U)}}const $=/%(\d[a-f0-9])/gi,de={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function L(pe){return encodeURIComponent(pe).replace($,(U,y)=>de[y]??U)}function I(pe){return`${pe}`}class M{constructor(U={}){if(this.updates=null,this.cloneFrom=null,this.encoder=U.encoder||new Ie,U.fromString){if(U.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function ge(pe,U){const y=new Map;return pe.length>0&&pe.replace(/^\?/,"").split("&").forEach(b=>{const Z=b.indexOf("="),[Ee,je]=-1==Z?[U.decodeKey(b),""]:[U.decodeKey(b.slice(0,Z)),U.decodeValue(b.slice(Z+1))],He=y.get(Ee)||[];He.push(je),y.set(Ee,He)}),y}(U.fromString,this.encoder)}else U.fromObject?(this.map=new Map,Object.keys(U.fromObject).forEach(y=>{const K=U.fromObject[y],b=Array.isArray(K)?K.map(I):[I(K)];this.map.set(y,b)})):this.map=null}has(U){return this.init(),this.map.has(U)}get(U){this.init();const y=this.map.get(U);return y?y[0]:null}getAll(U){return this.init(),this.map.get(U)||null}keys(){return this.init(),Array.from(this.map.keys())}append(U,y){return this.clone({param:U,value:y,op:"a"})}appendAll(U){const y=[];return Object.keys(U).forEach(K=>{const b=U[K];Array.isArray(b)?b.forEach(Z=>{y.push({param:K,value:Z,op:"a"})}):y.push({param:K,value:b,op:"a"})}),this.clone(y)}set(U,y){return this.clone({param:U,value:y,op:"s"})}delete(U,y){return this.clone({param:U,value:y,op:"d"})}toString(){return this.init(),this.keys().map(U=>{const y=this.encoder.encodeKey(U);return this.map.get(U).map(K=>y+"="+this.encoder.encodeValue(K)).join("&")}).filter(U=>""!==U).join("&")}clone(U){const y=new M({encoder:this.encoder});return y.cloneFrom=this.cloneFrom||this,y.updates=(this.updates||[]).concat(U),y}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(U=>this.map.set(U,this.cloneFrom.map.get(U))),this.updates.forEach(U=>{switch(U.op){case"a":case"s":const y=("a"===U.op?this.map.get(U.param):void 0)||[];y.push(I(U.value)),this.map.set(U.param,y);break;case"d":if(void 0===U.value){this.map.delete(U.param);break}{let K=this.map.get(U.param)||[];const b=K.indexOf(I(U.value));-1!==b&&K.splice(b,1),K.length>0?this.map.set(U.param,K):this.map.delete(U.param)}}}),this.cloneFrom=this.updates=null)}}class O{constructor(){this.map=new Map}set(U,y){return this.map.set(U,y),this}get(U){return this.map.has(U)||this.map.set(U,U.defaultValue()),this.map.get(U)}delete(U){return this.map.delete(U),this}has(U){return this.map.has(U)}keys(){return this.map.keys()}}function B(pe){return typeof ArrayBuffer<"u"&&pe instanceof ArrayBuffer}function Te(pe){return typeof Blob<"u"&&pe instanceof Blob}function te(pe){return typeof FormData<"u"&&pe instanceof FormData}class we{constructor(U,y,K,b){let Z;if(this.url=y,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=U.toUpperCase(),function A(pe){switch(pe){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||b?(this.body=void 0!==K?K:null,Z=b):Z=K,Z&&(this.reportProgress=!!Z.reportProgress,this.withCredentials=!!Z.withCredentials,Z.responseType&&(this.responseType=Z.responseType),Z.headers&&(this.headers=Z.headers),Z.context&&(this.context=Z.context),Z.params&&(this.params=Z.params)),this.headers||(this.headers=new le),this.context||(this.context=new O),this.params){const Ee=this.params.toString();if(0===Ee.length)this.urlWithParams=y;else{const je=y.indexOf("?");this.urlWithParams=y+(-1===je?"?":je<y.length-1?"&":"")+Ee}}else this.params=new M,this.urlWithParams=y}serializeBody(){return null===this.body?null:B(this.body)||Te(this.body)||te(this.body)||function me(pe){return typeof URLSearchParams<"u"&&pe instanceof URLSearchParams}(this.body)||"string"==typeof this.body?this.body:this.body instanceof M?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||te(this.body)?null:Te(this.body)?this.body.type||null:B(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof M?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(U={}){const y=U.method||this.method,K=U.url||this.url,b=U.responseType||this.responseType,Z=void 0!==U.body?U.body:this.body,Ee=void 0!==U.withCredentials?U.withCredentials:this.withCredentials,je=void 0!==U.reportProgress?U.reportProgress:this.reportProgress;let He=U.headers||this.headers,Ot=U.params||this.params;const mt=U.context??this.context;return void 0!==U.setHeaders&&(He=Object.keys(U.setHeaders).reduce((on,lt)=>on.set(lt,U.setHeaders[lt]),He)),U.setParams&&(Ot=Object.keys(U.setParams).reduce((on,lt)=>on.set(lt,U.setParams[lt]),Ot)),new we(y,K,Z,{params:Ot,headers:He,context:mt,reportProgress:je,responseType:b,withCredentials:Ee})}}var H=(()=>((H=H||{})[H.Sent=0]="Sent",H[H.UploadProgress=1]="UploadProgress",H[H.ResponseHeader=2]="ResponseHeader",H[H.DownloadProgress=3]="DownloadProgress",H[H.Response=4]="Response",H[H.User=5]="User",H))();class Q{constructor(U,y=200,K="OK"){this.headers=U.headers||new le,this.status=void 0!==U.status?U.status:y,this.statusText=U.statusText||K,this.url=U.url||null,this.ok=this.status>=200&&this.status<300}}class ie extends Q{constructor(U={}){super(U),this.type=H.ResponseHeader}clone(U={}){return new ie({headers:U.headers||this.headers,status:void 0!==U.status?U.status:this.status,statusText:U.statusText||this.statusText,url:U.url||this.url||void 0})}}class ce extends Q{constructor(U={}){super(U),this.type=H.Response,this.body=void 0!==U.body?U.body:null}clone(U={}){return new ce({body:void 0!==U.body?U.body:this.body,headers:U.headers||this.headers,status:void 0!==U.status?U.status:this.status,statusText:U.statusText||this.statusText,url:U.url||this.url||void 0})}}class fe extends Q{constructor(U){super(U,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${U.url||"(unknown url)"}`:`Http failure response for ${U.url||"(unknown url)"}: ${U.status} ${U.statusText}`,this.error=U.error||null}}function Pe(pe,U){return{body:U,headers:pe.headers,context:pe.context,observe:pe.observe,params:pe.params,reportProgress:pe.reportProgress,responseType:pe.responseType,withCredentials:pe.withCredentials}}let Je=(()=>{class pe{constructor(y){this.handler=y}request(y,K,b={}){let Z;if(y instanceof we)Z=y;else{let He,Ot;He=b.headers instanceof le?b.headers:new le(b.headers),b.params&&(Ot=b.params instanceof M?b.params:new M({fromObject:b.params})),Z=new we(y,K,void 0!==b.body?b.body:null,{headers:He,context:b.context,params:Ot,reportProgress:b.reportProgress,responseType:b.responseType||"json",withCredentials:b.withCredentials})}const Ee=(0,k.of)(Z).pipe((0,ne.b)(He=>this.handler.handle(He)));if(y instanceof we||"events"===b.observe)return Ee;const je=Ee.pipe(function G(pe,U){return(0,w.e)((y,K)=>{let b=0;y.subscribe((0,F.x)(K,Z=>pe.call(U,Z,b++)&&K.next(Z)))})}(He=>He instanceof ce));switch(b.observe||"body"){case"body":switch(Z.responseType){case"arraybuffer":return je.pipe((0,ae.U)(He=>{if(null!==He.body&&!(He.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return He.body}));case"blob":return je.pipe((0,ae.U)(He=>{if(null!==He.body&&!(He.body instanceof Blob))throw new Error("Response is not a Blob.");return He.body}));case"text":return je.pipe((0,ae.U)(He=>{if(null!==He.body&&"string"!=typeof He.body)throw new Error("Response is not a string.");return He.body}));default:return je.pipe((0,ae.U)(He=>He.body))}case"response":return je;default:throw new Error(`Unreachable: unhandled observe type ${b.observe}}`)}}delete(y,K={}){return this.request("DELETE",y,K)}get(y,K={}){return this.request("GET",y,K)}head(y,K={}){return this.request("HEAD",y,K)}jsonp(y,K){return this.request("JSONP",y,{params:(new M).append(K,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(y,K={}){return this.request("OPTIONS",y,K)}patch(y,K,b={}){return this.request("PATCH",y,Pe(b,K))}post(y,K,b={}){return this.request("POST",y,Pe(b,K))}put(y,K,b={}){return this.request("PUT",y,Pe(b,K))}}return pe.\u0275fac=function(y){return new(y||pe)(o.LFG(se))},pe.\u0275prov=o.Yz7({token:pe,factory:pe.\u0275fac}),pe})();class pt{constructor(U,y){this.next=U,this.interceptor=y}handle(U){return this.interceptor.intercept(U,this.next)}}const at=new o.OlP("HTTP_INTERCEPTORS");let Be=(()=>{class pe{intercept(y,K){return K.handle(y)}}return pe.\u0275fac=function(y){return new(y||pe)},pe.\u0275prov=o.Yz7({token:pe,factory:pe.\u0275fac}),pe})();const xt=/^\)\]\}',?\n/;let Jt=(()=>{class pe{constructor(y){this.xhrFactory=y}handle(y){if("JSONP"===y.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new oe.y(K=>{const b=this.xhrFactory.build();if(b.open(y.method,y.urlWithParams),y.withCredentials&&(b.withCredentials=!0),y.headers.forEach((At,St)=>b.setRequestHeader(At,St.join(","))),y.headers.has("Accept")||b.setRequestHeader("Accept","application/json, text/plain, */*"),!y.headers.has("Content-Type")){const At=y.detectContentTypeHeader();null!==At&&b.setRequestHeader("Content-Type",At)}if(y.responseType){const At=y.responseType.toLowerCase();b.responseType="json"!==At?At:"text"}const Z=y.serializeBody();let Ee=null;const je=()=>{if(null!==Ee)return Ee;const At=b.statusText||"OK",St=new le(b.getAllResponseHeaders()),Yn=function bn(pe){return"responseURL"in pe&&pe.responseURL?pe.responseURL:/^X-Request-URL:/m.test(pe.getAllResponseHeaders())?pe.getResponseHeader("X-Request-URL"):null}(b)||y.url;return Ee=new ie({headers:St,status:b.status,statusText:At,url:Yn}),Ee},He=()=>{let{headers:At,status:St,statusText:Yn,url:Pn}=je(),kt=null;204!==St&&(kt=typeof b.response>"u"?b.responseText:b.response),0===St&&(St=kt?200:0);let Bn=St>=200&&St<300;if("json"===y.responseType&&"string"==typeof kt){const Hn=kt;kt=kt.replace(xt,"");try{kt=""!==kt?JSON.parse(kt):null}catch(lr){kt=Hn,Bn&&(Bn=!1,kt={error:lr,text:kt})}}Bn?(K.next(new ce({body:kt,headers:At,status:St,statusText:Yn,url:Pn||void 0})),K.complete()):K.error(new fe({error:kt,headers:At,status:St,statusText:Yn,url:Pn||void 0}))},Ot=At=>{const{url:St}=je(),Yn=new fe({error:At,status:b.status||0,statusText:b.statusText||"Unknown Error",url:St||void 0});K.error(Yn)};let mt=!1;const on=At=>{mt||(K.next(je()),mt=!0);let St={type:H.DownloadProgress,loaded:At.loaded};At.lengthComputable&&(St.total=At.total),"text"===y.responseType&&!!b.responseText&&(St.partialText=b.responseText),K.next(St)},lt=At=>{let St={type:H.UploadProgress,loaded:At.loaded};At.lengthComputable&&(St.total=At.total),K.next(St)};return b.addEventListener("load",He),b.addEventListener("error",Ot),b.addEventListener("timeout",Ot),b.addEventListener("abort",Ot),y.reportProgress&&(b.addEventListener("progress",on),null!==Z&&b.upload&&b.upload.addEventListener("progress",lt)),b.send(Z),K.next({type:H.Sent}),()=>{b.removeEventListener("error",Ot),b.removeEventListener("abort",Ot),b.removeEventListener("load",He),b.removeEventListener("timeout",Ot),y.reportProgress&&(b.removeEventListener("progress",on),null!==Z&&b.upload&&b.upload.removeEventListener("progress",lt)),b.readyState!==b.DONE&&b.abort()}})}}return pe.\u0275fac=function(y){return new(y||pe)(o.LFG(d.JF))},pe.\u0275prov=o.Yz7({token:pe,factory:pe.\u0275fac}),pe})();const Qt=new o.OlP("XSRF_COOKIE_NAME"),Xt=new o.OlP("XSRF_HEADER_NAME");class It{}let qe=(()=>{class pe{constructor(y,K,b){this.doc=y,this.platform=K,this.cookieName=b,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const y=this.doc.cookie||"";return y!==this.lastCookieString&&(this.parseCount++,this.lastToken=(0,d.Mx)(y,this.cookieName),this.lastCookieString=y),this.lastToken}}return pe.\u0275fac=function(y){return new(y||pe)(o.LFG(d.K0),o.LFG(o.Lbi),o.LFG(Qt))},pe.\u0275prov=o.Yz7({token:pe,factory:pe.\u0275fac}),pe})(),en=(()=>{class pe{constructor(y,K){this.tokenService=y,this.headerName=K}intercept(y,K){const b=y.url.toLowerCase();if("GET"===y.method||"HEAD"===y.method||b.startsWith("http://")||b.startsWith("https://"))return K.handle(y);const Z=this.tokenService.getToken();return null!==Z&&!y.headers.has(this.headerName)&&(y=y.clone({headers:y.headers.set(this.headerName,Z)})),K.handle(y)}}return pe.\u0275fac=function(y){return new(y||pe)(o.LFG(It),o.LFG(Xt))},pe.\u0275prov=o.Yz7({token:pe,factory:pe.\u0275fac}),pe})(),zt=(()=>{class pe{constructor(y,K){this.backend=y,this.injector=K,this.chain=null}handle(y){if(null===this.chain){const K=this.injector.get(at,[]);this.chain=K.reduceRight((b,Z)=>new pt(b,Z),this.backend)}return this.chain.handle(y)}}return pe.\u0275fac=function(y){return new(y||pe)(o.LFG(J),o.LFG(o.zs3))},pe.\u0275prov=o.Yz7({token:pe,factory:pe.\u0275fac}),pe})(),j=(()=>{class pe{static disable(){return{ngModule:pe,providers:[{provide:en,useClass:Be}]}}static withOptions(y={}){return{ngModule:pe,providers:[y.cookieName?{provide:Qt,useValue:y.cookieName}:[],y.headerName?{provide:Xt,useValue:y.headerName}:[]]}}}return pe.\u0275fac=function(y){return new(y||pe)},pe.\u0275mod=o.oAB({type:pe}),pe.\u0275inj=o.cJS({providers:[en,{provide:at,useExisting:en,multi:!0},{provide:It,useClass:qe},{provide:Qt,useValue:"XSRF-TOKEN"},{provide:Xt,useValue:"X-XSRF-TOKEN"}]}),pe})(),_e=(()=>{class pe{}return pe.\u0275fac=function(y){return new(y||pe)},pe.\u0275mod=o.oAB({type:pe}),pe.\u0275inj=o.cJS({providers:[Je,{provide:se,useClass:zt},Jt,{provide:J,useExisting:Jt}],imports:[j.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]}),pe})()},4650:($e,De,v)=>{"use strict";v.d(De,{$8M:()=>Ba,AFp:()=>_g,ALo:()=>kp,AaK:()=>ne,AsE:()=>pu,BQk:()=>aa,CHM:()=>Mo,CRH:()=>Kp,CZH:()=>Da,DdM:()=>Ap,EJc:()=>xC,EiD:()=>jc,EpF:()=>Qf,F$t:()=>sh,F4k:()=>Xf,FYo:()=>Sp,FiY:()=>zi,G48:()=>JC,Gf:()=>Wp,GfV:()=>Mp,Gre:()=>Fh,Hsn:()=>ih,JOm:()=>$r,JVY:()=>Im,Jf7:()=>Yc,KtG:()=>wo,L6k:()=>Nm,LAX:()=>Lm,LFG:()=>Mn,LSH:()=>Qa,Lbi:()=>OC,MAs:()=>Yf,MGl:()=>la,NdJ:()=>au,O4$:()=>ee,OlP:()=>rn,Oqu:()=>hu,Q6J:()=>ru,QGY:()=>ou,QbO:()=>PC,Qsj:()=>DD,R0b:()=>Dr,RDi:()=>To,Rgc:()=>mo,SBq:()=>fo,TTD:()=>es,TgZ:()=>sa,Tol:()=>Dh,Udp:()=>cu,VKq:()=>Pp,W1O:()=>Jp,WLB:()=>Ip,Xpm:()=>St,Y36:()=>li,YNc:()=>qf,Yjl:()=>Cr,Yz7:()=>gt,ZZ4:()=>qu,_UZ:()=>iu,_c5:()=>p0,_uU:()=>Oh,aQg:()=>Yu,c2e:()=>IC,cJS:()=>ln,cg1:()=>gu,dDg:()=>GC,dqk:()=>y,eBb:()=>xm,eFA:()=>Og,ekj:()=>du,eoX:()=>Sg,evT:()=>Jc,g9A:()=>Eg,h0i:()=>Ns,hGG:()=>g0,hM9:()=>ID,hij:()=>ca,iGM:()=>zp,ifc:()=>U,ip1:()=>mg,kL8:()=>Zh,kcU:()=>be,lG2:()=>nr,lcZ:()=>Bp,lri:()=>Cg,mCW:()=>Zi,n5z:()=>pc,oAB:()=>Hn,oJD:()=>Gc,oxw:()=>rh,pB0:()=>Rm,pYS:()=>Qc,q3G:()=>wn,qLn:()=>Ji,qZA:()=>ia,qzn:()=>ri,rWj:()=>Tg,s9C:()=>uu,sBO:()=>QC,sIi:()=>so,s_b:()=>ya,soG:()=>Ca,uIk:()=>nu,vHH:()=>$,vpe:()=>Yr,wAp:()=>dt,xi3:()=>Hp,xp6:()=>Md,yhl:()=>xc,ynx:()=>oa,z3N:()=>ss,zSh:()=>vl,zs3:()=>zr});var d=v(7579),o=v(727),k=v(8306),oe=v(6451),w=v(3099);function F(e){for(let t in e)if(e[t]===F)return t;throw Error("Could not find renamed property on target object.")}function ne(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(ne).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const n=t.indexOf("\n");return-1===n?t:t.substring(0,n)}function ae(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const se=F({__forward_ref__:F});function J(e){return e.__forward_ref__=J,e.toString=function(){return ne(this())},e}function le(e){return Ie(e)?e():e}function Ie(e){return"function"==typeof e&&e.hasOwnProperty(se)&&e.__forward_ref__===J}class $ extends Error{constructor(t,n){super(function de(e,t){return`NG0${Math.abs(e)}${t?": "+t.trim():""}`}(t,n)),this.code=t}}function L(e){return"string"==typeof e?e:null==e?"":String(e)}function A(e,t){throw new $(-201,!1)}function at(e,t){null==e&&function Be(e,t,n,r){throw new Error(`ASSERTION ERROR: ${e}`+(null==r?"":` [Expected=> ${n} ${r} ${t} <=Actual]`))}(t,e,null,"!=")}function gt(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function ln(e){return{providers:e.providers||[],imports:e.imports||[]}}function vt(e){return sn(e,Jt)||sn(e,Xt)}function sn(e,t){return e.hasOwnProperty(t)?e[t]:null}function bn(e){return e&&(e.hasOwnProperty(Qt)||e.hasOwnProperty(It))?e[Qt]:null}const Jt=F({\u0275prov:F}),Qt=F({\u0275inj:F}),Xt=F({ngInjectableDef:F}),It=F({ngInjectorDef:F});var qe=(()=>((qe=qe||{})[qe.Default=0]="Default",qe[qe.Host=1]="Host",qe[qe.Self=2]="Self",qe[qe.SkipSelf=4]="SkipSelf",qe[qe.Optional=8]="Optional",qe))();let en;function Ce(e){const t=en;return en=e,t}function Fe(e,t,n){const r=vt(e);return r&&"root"==r.providedIn?void 0===r.value?r.value=r.factory():r.value:n&qe.Optional?null:void 0!==t?t:void A(ne(e))}function _e(e){return{toString:e}.toString()}var Ae=(()=>((Ae=Ae||{})[Ae.OnPush=0]="OnPush",Ae[Ae.Default=1]="Default",Ae))(),U=(()=>{return(e=U||(U={}))[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",U;var e})();const y=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Z={},Ee=[],je=F({\u0275cmp:F}),He=F({\u0275dir:F}),Ot=F({\u0275pipe:F}),mt=F({\u0275mod:F}),on=F({\u0275fac:F}),lt=F({__NG_ELEMENT_ID__:F});let At=0;function St(e){return _e(()=>{const n=!0===e.standalone,r={},s={type:e.type,providersResolver:null,decls:e.decls,vars:e.vars,factory:null,template:e.template||null,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:r,inputs:null,outputs:null,exportAs:e.exportAs||null,onPush:e.changeDetection===Ae.OnPush,directiveDefs:null,pipeDefs:null,standalone:n,dependencies:n&&e.dependencies||null,getStandaloneInjector:null,selectors:e.selectors||Ee,viewQuery:e.viewQuery||null,features:e.features||null,data:e.data||{},encapsulation:e.encapsulation||U.Emulated,id:"c"+At++,styles:e.styles||Ee,_:null,setInput:null,schemas:e.schemas||null,tView:null},i=e.dependencies,a=e.features;return s.inputs=Jn(e.inputs,r),s.outputs=Jn(e.outputs),a&&a.forEach(c=>c(s)),s.directiveDefs=i?()=>("function"==typeof i?i():i).map(Pn).filter(kt):null,s.pipeDefs=i?()=>("function"==typeof i?i():i).map(tn).filter(kt):null,s})}function Pn(e){return Pt(e)||Ht(e)}function kt(e){return null!==e}const Bn={};function Hn(e){return _e(()=>{const t={type:e.type,bootstrap:e.bootstrap||Ee,declarations:e.declarations||Ee,imports:e.imports||Ee,exports:e.exports||Ee,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null};return null!=e.id&&(Bn[e.id]=e.type),t})}function Jn(e,t){if(null==e)return Z;const n={};for(const r in e)if(e.hasOwnProperty(r)){let s=e[r],i=s;Array.isArray(s)&&(i=s[1],s=s[0]),n[s]=r,t&&(t[s]=i)}return n}const nr=St;function Cr(e){return{type:e.type,name:e.name,factory:null,pure:!1!==e.pure,standalone:!0===e.standalone,onDestroy:e.type.prototype.ngOnDestroy||null}}function Pt(e){return e[je]||null}function Ht(e){return e[He]||null}function tn(e){return e[Ot]||null}function pn(e){return Array.isArray(e)&&"object"==typeof e[1]}function Cn(e){return Array.isArray(e)&&!0===e[1]}function hr(e){return 0!=(8&e.flags)}function ir(e){return 2==(2&e.flags)}function Qn(e){return 1==(1&e.flags)}function zn(e){return null!==e.template}function ms(e){return 0!=(256&e[2])}function Or(e,t){return e.hasOwnProperty(on)?e[on]:null}class _s{constructor(t,n,r){this.previousValue=t,this.currentValue=n,this.firstChange=r}isFirstChange(){return this.firstChange}}function es(){return ys}function ys(e){return e.type.prototype.ngOnChanges&&(e.setInput=Es),Ai}function Ai(){const e=Bs(this),t=e?.current;if(t){const n=e.previous;if(n===Z)e.previous=t;else for(let r in t)n[r]=t[r];e.current=null,this.ngOnChanges(t)}}function Es(e,t,n,r){const s=Bs(e)||function Do(e,t){return e[us]=t}(e,{previous:Z,current:null}),i=s.current||(s.current={}),a=s.previous,c=this.declaredInputs[n],f=a[c];i[c]=new _s(f&&f.currentValue,t,a===Z),e[r]=t}es.ngInherit=!0;const us="__ngSimpleChanges__";function Bs(e){return e[us]||null}let js;function To(e){js=e}function Gs(){return void 0!==js?js:typeof document<"u"?document:void 0}function nn(e){return!!e.listen}const Wn={createRenderer:(e,t)=>Gs()};function Yt(e){for(;Array.isArray(e);)e=e[0];return e}function m(e,t){return Yt(t[e])}function P(e,t){return Yt(t[e.index])}function Me(e,t){return e.data[t]}function Le(e,t){return e[t]}function Ze(e,t){const n=t[e];return pn(n)?n:n[0]}function Gt(e){return 4==(4&e[2])}function Bt(e){return 64==(64&e[2])}function ot(e,t){return null==t?null:e[t]}function an(e){e[18]=0}function Kt(e,t){e[5]+=t;let n=e,r=e[3];for(;null!==r&&(1===t&&1===n[5]||-1===t&&0===n[5]);)r[5]+=t,n=r,r=r[3]}const tt={lFrame:La(null),bindingsEnabled:!0};function cs(){return tt.bindingsEnabled}function Ne(){return tt.lFrame.lView}function Nt(){return tt.lFrame.tView}function Mo(e){return tt.lFrame.contextLView=e,e[8]}function wo(e){return tt.lFrame.contextLView=null,e}function Tn(){let e=Pi();for(;null!==e&&64===e.type;)e=e.parent;return e}function Pi(){return tt.lFrame.currentTNode}function gr(e,t){const n=tt.lFrame;n.currentTNode=e,n.isParent=t}function Ii(){return tt.lFrame.isParent}function zs(){tt.lFrame.isParent=!1}function Kn(){const e=tt.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function ns(){return tt.lFrame.bindingIndex++}function Ir(e){const t=tt.lFrame,n=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,n}function Ia(e,t){const n=tt.lFrame;n.bindingIndex=n.bindingRootIndex=e,xi(t)}function xi(e){tt.lFrame.currentDirectiveIndex=e}function bo(){return tt.lFrame.currentQueryIndex}function Ri(e){tt.lFrame.currentQueryIndex=e}function xa(e){const t=e[1];return 2===t.type?t.declTNode:1===t.type?e[6]:null}function Oo(e,t,n){if(n&qe.SkipSelf){let s=t,i=e;for(;!(s=s.parent,null!==s||n&qe.Host||(s=xa(i),null===s||(i=i[15],10&s.type))););if(null===s)return!1;t=s,e=i}const r=tt.lFrame=Ao();return r.currentTNode=t,r.lView=e,!0}function Ss(e){const t=Ao(),n=e[1];tt.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Ao(){const e=tt.lFrame,t=null===e?null:e.child;return null===t?La(e):t}function La(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function Po(){const e=tt.lFrame;return tt.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const _=Po;function l(){const e=Po();e.isParent=!0,e.tView=null,e.selectedIndex=-1,e.contextLView=null,e.elementDepthCount=0,e.currentDirectiveIndex=-1,e.currentNamespace=null,e.bindingRootIndex=-1,e.bindingIndex=-1,e.currentQueryIndex=0}function E(){return tt.lFrame.selectedIndex}function N(e){tt.lFrame.selectedIndex=e}function V(){const e=tt.lFrame;return Me(e.tView,e.selectedIndex)}function ee(){tt.lFrame.currentNamespace="svg"}function be(){!function We(){tt.lFrame.currentNamespace=null}()}function _t(e,t){for(let n=t.directiveStart,r=t.directiveEnd;n<r;n++){const i=e.data[n].type.prototype,{ngAfterContentInit:a,ngAfterContentChecked:c,ngAfterViewInit:f,ngAfterViewChecked:g,ngOnDestroy:D}=i;a&&(e.contentHooks||(e.contentHooks=[])).push(-n,a),c&&((e.contentHooks||(e.contentHooks=[])).push(n,c),(e.contentCheckHooks||(e.contentCheckHooks=[])).push(n,c)),f&&(e.viewHooks||(e.viewHooks=[])).push(-n,f),g&&((e.viewHooks||(e.viewHooks=[])).push(n,g),(e.viewCheckHooks||(e.viewCheckHooks=[])).push(n,g)),null!=D&&(e.destroyHooks||(e.destroyHooks=[])).push(n,D)}}function it(e,t,n){Zt(e,t,3,n)}function ht(e,t,n,r){(3&e[2])===n&&Zt(e,t,n,r)}function Ft(e,t){let n=e[2];(3&n)===t&&(n&=2047,n+=1,e[2]=n)}function Zt(e,t,n,r){const i=r??-1,a=t.length-1;let c=0;for(let f=void 0!==r?65535&e[18]:0;f<a;f++)if("number"==typeof t[f+1]){if(c=t[f],null!=r&&c>=r)break}else t[f]<0&&(e[18]+=65536),(c<i||-1==i)&&(On(e,n,t,f),e[18]=(4294901760&e[18])+f+2),f++}function On(e,t,n,r){const s=n[r]<0,i=n[r+1],c=e[s?-n[r]:n[r]];if(s){if(e[2]>>11<e[18]>>16&&(3&e[2])===t){e[2]+=2048;try{i.call(c)}finally{}}}else try{i.call(c)}finally{}}class En{constructor(t,n,r){this.factory=t,this.resolving=!1,this.canSeeViewProviders=n,this.injectImpl=r}}function Sr(e,t,n){const r=nn(e);let s=0;for(;s<n.length;){const i=n[s];if("number"==typeof i){if(0!==i)break;s++;const a=n[s++],c=n[s++],f=n[s++];r?e.setAttribute(t,c,f,a):t.setAttributeNS(a,c,f)}else{const a=i,c=n[++s];Zs(a)?r&&e.setProperty(t,a,c):r?e.setAttribute(t,a,c):t.setAttribute(a,c),s++}}return s}function Fi(e){return 3===e||4===e||6===e}function Zs(e){return 64===e.charCodeAt(0)}function et(e,t){if(null!==t&&0!==t.length)if(null===e||0===e.length)e=t.slice();else{let n=-1;for(let r=0;r<t.length;r++){const s=t[r];"number"==typeof s?n=s:0===n||st(e,n,s,null,-1===n||2===n?t[++r]:null)}}return e}function st(e,t,n,r,s){let i=0,a=e.length;if(-1===t)a=-1;else for(;i<e.length;){const c=e[i++];if("number"==typeof c){if(c===t){a=-1;break}if(c>t){a=i-1;break}}}for(;i<e.length;){const c=e[i];if("number"==typeof c)break;if(c===n){if(null===r)return void(null!==s&&(e[i+1]=s));if(r===e[i+1])return void(e[i+2]=s)}i++,null!==r&&i++,null!==s&&i++}-1!==a&&(e.splice(a,0,t),i=a+1),e.splice(i++,0,n),null!==r&&e.splice(i++,0,r),null!==s&&e.splice(i++,0,s)}function ct(e){return-1!==e}function Dt(e){return 32767&e}function Zn(e,t){let n=function An(e){return e>>16}(e),r=t;for(;n>0;)r=r[15],n--;return r}let qn=!0;function _r(e){const t=qn;return qn=e,t}let Fn=0;const kn={};function Gr(e,t){const n=Fa(e,t);if(-1!==n)return n;const r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,Ms(r.data,e),Ms(t,null),Ms(r.blueprint,null));const s=No(e,t),i=e.injectorIndex;if(ct(s)){const a=Dt(s),c=Zn(s,t),f=c[1].data;for(let g=0;g<8;g++)t[i+g]=c[a+g]|f[a+g]}return t[i+8]=s,i}function Ms(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Fa(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function No(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let n=0,r=null,s=t;for(;null!==s;){if(r=gc(s),null===r)return-1;if(n++,s=s[15],-1!==r.injectorIndex)return r.injectorIndex|n<<16}return-1}function xo(e,t,n){!function fr(e,t,n){let r;"string"==typeof n?r=n.charCodeAt(0)||0:n.hasOwnProperty(lt)&&(r=n[lt]),null==r&&(r=n[lt]=Fn++);const s=255&r;t.data[e+(s>>5)]|=1<<s}(e,t,n)}function lc(e,t,n){if(n&qe.Optional)return e;A()}function uc(e,t,n,r){if(n&qe.Optional&&void 0===r&&(r=null),0==(n&(qe.Self|qe.Host))){const s=e[9],i=Ce(void 0);try{return s?s.get(t,r,n&qe.Optional):Fe(t,r,n&qe.Optional)}finally{Ce(i)}}return lc(r,0,n)}function cc(e,t,n,r=qe.Default,s){if(null!==e){if(1024&t[2]){const a=function Yg(e,t,n,r,s){let i=e,a=t;for(;null!==i&&null!==a&&1024&a[2]&&!(256&a[2]);){const c=dc(i,a,n,r|qe.Self,kn);if(c!==kn)return c;let f=i.parent;if(!f){const g=a[21];if(g){const D=g.get(n,kn,r);if(D!==kn)return D}f=gc(a),a=a[15]}i=f}return s}(e,t,n,r,kn);if(a!==kn)return a}const i=dc(e,t,n,r,kn);if(i!==kn)return i}return uc(t,n,r,s)}function dc(e,t,n,r,s){const i=function Zg(e){if("string"==typeof e)return e.charCodeAt(0)||0;const t=e.hasOwnProperty(lt)?e[lt]:void 0;return"number"==typeof t?t>=0?255&t:qg:t}(n);if("function"==typeof i){if(!Oo(t,e,r))return r&qe.Host?lc(s,0,r):uc(t,n,r,s);try{const a=i(r);if(null!=a||r&qe.Optional)return a;A()}finally{_()}}else if("number"==typeof i){let a=null,c=Fa(e,t),f=-1,g=r&qe.Host?t[16][6]:null;for((-1===c||r&qe.SkipSelf)&&(f=-1===c?No(e,t):t[c+8],-1!==f&&hc(r,!1)?(a=t[1],c=Dt(f),t=Zn(f,t)):c=-1);-1!==c;){const D=t[1];if(fc(i,c,D.data)){const R=Kg(c,t,n,a,r,g);if(R!==kn)return R}f=t[c+8],-1!==f&&hc(r,t[1].data[c+8]===g)&&fc(i,c,t)?(a=D,c=Dt(f),t=Zn(f,t)):c=-1}}return s}function Kg(e,t,n,r,s,i){const a=t[1],c=a.data[e+8],D=Lo(c,a,n,null==r?ir(c)&&qn:r!=a&&0!=(3&c.type),s&qe.Host&&i===c);return null!==D?Bi(t,a,D,c):kn}function Lo(e,t,n,r,s){const i=e.providerIndexes,a=t.data,c=1048575&i,f=e.directiveStart,D=i>>20,q=s?c+D:e.directiveEnd;for(let he=r?c:c+D;he<q;he++){const Oe=a[he];if(he<f&&n===Oe||he>=f&&Oe.type===n)return he}if(s){const he=a[f];if(he&&zn(he)&&he.type===n)return f}return null}function Bi(e,t,n,r){let s=e[n];const i=t.data;if(function fs(e){return e instanceof En}(s)){const a=s;a.resolving&&function M(e,t){const n=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new $(-200,`Circular dependency in DI detected for ${e}${n}`)}(function I(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():L(e)}(i[n]));const c=_r(a.canSeeViewProviders);a.resolving=!0;const f=a.injectImpl?Ce(a.injectImpl):null;Oo(e,r,qe.Default);try{s=e[n]=a.factory(void 0,i,e,r),t.firstCreatePass&&n>=r.directiveStart&&function Tt(e,t,n){const{ngOnChanges:r,ngOnInit:s,ngDoCheck:i}=t.type.prototype;if(r){const a=ys(t);(n.preOrderHooks||(n.preOrderHooks=[])).push(e,a),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,a)}s&&(n.preOrderHooks||(n.preOrderHooks=[])).push(0-e,s),i&&((n.preOrderHooks||(n.preOrderHooks=[])).push(e,i),(n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(e,i))}(n,i[n],t)}finally{null!==f&&Ce(f),_r(c),a.resolving=!1,_()}}return s}function fc(e,t,n){return!!(n[t+(e>>5)]&1<<e)}function hc(e,t){return!(e&qe.Self||e&qe.Host&&t)}class qs{constructor(t,n){this._tNode=t,this._lView=n}get(t,n,r){return cc(this._tNode,this._lView,t,r,n)}}function qg(){return new qs(Tn(),Ne())}function pc(e){return _e(()=>{const t=e.prototype.constructor,n=t[on]||ka(t),r=Object.prototype;let s=Object.getPrototypeOf(e.prototype).constructor;for(;s&&s!==r;){const i=s[on]||ka(s);if(i&&i!==n)return i;s=Object.getPrototypeOf(s)}return i=>new i})}function ka(e){return Ie(e)?()=>{const t=ka(le(e));return t&&t()}:Or(e)}function gc(e){const t=e[1],n=t.type;return 2===n?t.declTNode:1===n?e[6]:null}function Ba(e){return function Wg(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const n=e.attrs;if(n){const r=n.length;let s=0;for(;s<r;){const i=n[s];if(Fi(i))break;if(0===i)s+=2;else if("number"==typeof i)for(s++;s<r&&"string"==typeof n[s];)s++;else{if(i===t)return n[s+1];s+=2}}}return null}(Tn(),e)}const Js="__parameters__";function Xs(e,t,n){return _e(()=>{const r=function Ha(e){return function(...n){if(e){const r=e(...n);for(const s in r)this[s]=r[s]}}}(t);function s(...i){if(this instanceof s)return r.apply(this,i),this;const a=new s(...i);return c.annotation=a,c;function c(f,g,D){const R=f.hasOwnProperty(Js)?f[Js]:Object.defineProperty(f,Js,{value:[]})[Js];for(;R.length<=D;)R.push(null);return(R[D]=R[D]||[]).push(a),f}}return n&&(s.prototype=Object.create(n.prototype)),s.prototype.ngMetadataName=e,s.annotationCls=s,s})}class rn{constructor(t,n){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof n?this.__NG_ELEMENT_ID__=n:void 0!==n&&(this.\u0275prov=gt({token:this,providedIn:n.providedIn||"root",factory:n.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function yr(e,t){void 0===t&&(t=e);for(let n=0;n<e.length;n++){let r=e[n];Array.isArray(r)?(t===e&&(t=e.slice(0,n)),yr(r,t)):t!==e&&t.push(r)}return t}function rs(e,t){e.forEach(n=>Array.isArray(n)?rs(n,t):t(n))}function _c(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Ro(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function ji(e,t){const n=[];for(let r=0;r<e;r++)n.push(t);return n}function Er(e,t,n){let r=ei(e,t);return r>=0?e[1|r]=n:(r=~r,function em(e,t,n,r){let s=e.length;if(s==t)e.push(n,r);else if(1===s)e.push(r,e[0]),e[0]=n;else{for(s--,e.push(e[s-1],e[s]);s>t;)e[s]=e[s-2],s--;e[t]=n,e[t+1]=r}}(e,r,t,n)),r}function ja(e,t){const n=ei(e,t);if(n>=0)return e[1|n]}function ei(e,t){return function vc(e,t,n){let r=0,s=e.length>>n;for(;s!==r;){const i=r+(s-r>>1),a=e[i<<n];if(t===a)return i<<n;a>t?s=i:r=i+1}return~(s<<n)}(e,t,1)}const Gi={},Va="__NG_DI_FLAG__",ko="ngTempTokenPath",lm=/\n/gm,Dc="__source";let Vi;function Bo(e){const t=Vi;return Vi=e,t}function cm(e,t=qe.Default){if(void 0===Vi)throw new $(-203,"");return null===Vi?Fe(e,void 0,t):Vi.get(e,t&qe.Optional?null:void 0,t)}function Mn(e,t=qe.Default){return(function zt(){return en}()||cm)(le(e),t)}function $a(e){const t=[];for(let n=0;n<e.length;n++){const r=le(e[n]);if(Array.isArray(r)){if(0===r.length)throw new $(900,"");let s,i=qe.Default;for(let a=0;a<r.length;a++){const c=r[a],f=fm(c);"number"==typeof f?-1===f?s=c.token:i|=f:s=c}t.push(Mn(s,i))}else t.push(Mn(r))}return t}function $i(e,t){return e[Va]=t,e.prototype[Va]=t,e}function fm(e){return e[Va]}const zi=$i(Xs("Optional"),8),Ho=$i(Xs("SkipSelf"),4);let Go,Vo;function ni(e){return function Wa(){if(void 0===Go&&(Go=null,y.trustedTypes))try{Go=y.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Go}()?.createHTML(e)||e}function Pc(e){return function Ka(){if(void 0===Vo&&(Vo=null,y.trustedTypes))try{Vo=y.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Vo}()?.createHTML(e)||e}class ws{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}class wm extends ws{getTypeName(){return"HTML"}}class bm extends ws{getTypeName(){return"Style"}}class Om extends ws{getTypeName(){return"Script"}}class Am extends ws{getTypeName(){return"URL"}}class Pm extends ws{getTypeName(){return"ResourceURL"}}function ss(e){return e instanceof ws?e.changingThisBreaksApplicationSecurity:e}function ri(e,t){const n=xc(e);if(null!=n&&n!==t){if("ResourceURL"===n&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${n} (see https://g.co/ng/security#xss)`)}return n===t}function xc(e){return e instanceof ws&&e.getTypeName()||null}function Im(e){return new wm(e)}function Nm(e){return new bm(e)}function xm(e){return new Om(e)}function Lm(e){return new Am(e)}function Rm(e){return new Pm(e)}class Fm{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t="<body><remove></remove>"+t;try{const n=(new window.DOMParser).parseFromString(ni(t),"text/html").body;return null===n?this.inertDocumentHelper.getInertBodyElement(t):(n.removeChild(n.firstChild),n)}catch{return null}}}class km{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const n=this.inertDocument.createElement("html");this.inertDocument.appendChild(n);const r=this.inertDocument.createElement("body");n.appendChild(r)}}getInertBodyElement(t){const n=this.inertDocument.createElement("template");if("content"in n)return n.innerHTML=ni(t),n;const r=this.inertDocument.createElement("body");return r.innerHTML=ni(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(r),r}stripCustomNsAttrs(t){const n=t.attributes;for(let s=n.length-1;0<s;s--){const a=n.item(s).name;("xmlns:ns1"===a||0===a.indexOf("ns1:"))&&t.removeAttribute(a)}let r=t.firstChild;for(;r;)r.nodeType===Node.ELEMENT_NODE&&this.stripCustomNsAttrs(r),r=r.nextSibling}}const Hm=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^&:/?#]*(?:[/?#]|$))/gi,Um=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i;function Zi(e){return(e=String(e)).match(Hm)||e.match(Um)?e:"unsafe:"+e}function Vr(e){const t={};for(const n of e.split(","))t[n]=!0;return t}function qi(...e){const t={};for(const n of e)for(const r in n)n.hasOwnProperty(r)&&(t[r]=!0);return t}const Fc=Vr("area,br,col,hr,img,wbr"),kc=Vr("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),Bc=Vr("rp,rt"),Za=qi(Fc,qi(kc,Vr("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),qi(Bc,Vr("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),qi(Bc,kc)),qa=Vr("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Ya=Vr("srcset"),Hc=qi(qa,Ya,Vr("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Vr("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext")),jm=Vr("script,style,template");class Gm{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(t){let n=t.firstChild,r=!0;for(;n;)if(n.nodeType===Node.ELEMENT_NODE?r=this.startElement(n):n.nodeType===Node.TEXT_NODE?this.chars(n.nodeValue):this.sanitizedSomething=!0,r&&n.firstChild)n=n.firstChild;else for(;n;){n.nodeType===Node.ELEMENT_NODE&&this.endElement(n);let s=this.checkClobberedElement(n,n.nextSibling);if(s){n=s;break}n=this.checkClobberedElement(n,n.parentNode)}return this.buf.join("")}startElement(t){const n=t.nodeName.toLowerCase();if(!Za.hasOwnProperty(n))return this.sanitizedSomething=!0,!jm.hasOwnProperty(n);this.buf.push("<"),this.buf.push(n);const r=t.attributes;for(let s=0;s<r.length;s++){const i=r.item(s),a=i.name,c=a.toLowerCase();if(!Hc.hasOwnProperty(c)){this.sanitizedSomething=!0;continue}let f=i.value;qa[c]&&(f=Zi(f)),Ya[c]&&(e=f,f=(e=String(e)).split(",").map(t=>Zi(t.trim())).join(", ")),this.buf.push(" ",a,'="',Uc(f),'"')}var e;return this.buf.push(">"),!0}endElement(t){const n=t.nodeName.toLowerCase();Za.hasOwnProperty(n)&&!Fc.hasOwnProperty(n)&&(this.buf.push("</"),this.buf.push(n),this.buf.push(">"))}chars(t){this.buf.push(Uc(t))}checkClobberedElement(t,n){if(n&&(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return n}}const Vm=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,$m=/([^\#-~ |!])/g;function Uc(e){return e.replace(/&/g,"&").replace(Vm,function(t){return"&#"+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace($m,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}let $o;function jc(e,t){let n=null;try{$o=$o||function Lc(e){const t=new km(e);return function Bm(){try{return!!(new window.DOMParser).parseFromString(ni(""),"text/html")}catch{return!1}}()?new Fm(t):t}(e);let r=t?String(t):"";n=$o.getInertBodyElement(r);let s=5,i=r;do{if(0===s)throw new Error("Failed to sanitize html because the input is unstable");s--,r=i,i=n.innerHTML,n=$o.getInertBodyElement(r)}while(r!==i);return ni((new Gm).sanitizeChildren(Ja(n)||n))}finally{if(n){const r=Ja(n)||n;for(;r.firstChild;)r.removeChild(r.firstChild)}}}function Ja(e){return"content"in e&&function zm(e){return e.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===e.nodeName}(e)?e.content:null}var wn=(()=>((wn=wn||{})[wn.NONE=0]="NONE",wn[wn.HTML=1]="HTML",wn[wn.STYLE=2]="STYLE",wn[wn.SCRIPT=3]="SCRIPT",wn[wn.URL=4]="URL",wn[wn.RESOURCE_URL=5]="RESOURCE_URL",wn))();function Gc(e){const t=Yi();return t?Pc(t.sanitize(wn.HTML,e)||""):ri(e,"HTML")?Pc(ss(e)):jc(Gs(),L(e))}function Qa(e){const t=Yi();return t?t.sanitize(wn.URL,e)||"":ri(e,"URL")?ss(e):Zi(L(e))}function Yi(){const e=Ne();return e&&e[12]}function el(e){return e.ngOriginalError}class Ji{constructor(){this._console=console}handleError(t){const n=this._findOriginalError(t);this._console.error("ERROR",t),n&&this._console.error("ORIGINAL ERROR",n)}_findOriginalError(t){let n=t&&el(t);for(;n&&el(n);)n=el(n);return n||null}}const tl=new Map;let o_=0;const rl="__ngContext__";function er(e,t){pn(t)?(e[rl]=t[20],function l_(e){tl.set(e[20],e)}(t)):e[rl]=t}function Qi(e){const t=e[rl];return"number"==typeof t?function zc(e){return tl.get(e)||null}(t):t||null}function sl(e){const t=Qi(e);return t?pn(t)?t:t.lView:null}const __=(()=>(typeof requestAnimationFrame<"u"&&requestAnimationFrame||setTimeout).bind(y))();function Yc(e){return e.ownerDocument.defaultView}function Jc(e){return e.ownerDocument}function Qc(e){return e.ownerDocument.body}var $r=(()=>(($r=$r||{})[$r.Important=1]="Important",$r[$r.DashCase=2]="DashCase",$r))();function ol(e,t){return undefined(e,t)}function Xi(e){const t=e[3];return Cn(t)?t[3]:t}function al(e){return rd(e[13])}function ll(e){return rd(e[4])}function rd(e){for(;null!==e&&!Cn(e);)e=e[4];return e}function ii(e,t,n,r,s){if(null!=r){let i,a=!1;Cn(r)?i=r:pn(r)&&(a=!0,r=r[0]);const c=Yt(r);0===e&&null!==n?null==s?ud(t,n,c):bs(t,n,c,s||null,!0):1===e&&null!==n?bs(t,n,c,s||null,!0):2===e?function _d(e,t,n){const r=zo(e,t);r&&function A_(e,t,n,r){nn(e)?e.removeChild(t,n,r):t.removeChild(n)}(e,r,t,n)}(t,c,a):3===e&&t.destroyNode(c),null!=i&&function N_(e,t,n,r,s){const i=n[7];i!==Yt(n)&&ii(t,e,r,i,s);for(let c=10;c<n.length;c++){const f=n[c];eo(f[1],f,e,t,r,i)}}(t,e,i,n,s)}}function cl(e,t,n){if(nn(e))return e.createElement(t,n);{const r=null!==n?function Co(e){const t=e.toLowerCase();return"svg"===t?"http://www.w3.org/2000/svg":"math"===t?"http://www.w3.org/1998/MathML/":null}(n):null;return null===r?e.createElement(t):e.createElementNS(r,t)}}function id(e,t){const n=e[9],r=n.indexOf(t),s=t[3];512&t[2]&&(t[2]&=-513,Kt(s,-1)),n.splice(r,1)}function dl(e,t){if(e.length<=10)return;const n=10+t,r=e[n];if(r){const s=r[17];null!==s&&s!==e&&id(s,r),t>0&&(e[n-1][4]=r[4]);const i=Ro(e,10+t);!function D_(e,t){eo(e,t,t[11],2,null,null),t[0]=null,t[6]=null}(r[1],r);const a=i[19];null!==a&&a.detachView(i[1]),r[3]=null,r[4]=null,r[2]&=-65}return r}function od(e,t){if(!(128&t[2])){const n=t[11];nn(n)&&n.destroyNode&&eo(e,t,n,3,null,null),function S_(e){let t=e[13];if(!t)return fl(e[1],e);for(;t;){let n=null;if(pn(t))n=t[13];else{const r=t[10];r&&(n=r)}if(!n){for(;t&&!t[4]&&t!==e;)pn(t)&&fl(t[1],t),t=t[3];null===t&&(t=e),pn(t)&&fl(t[1],t),n=t&&t[4]}t=n}}(t)}}function fl(e,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function O_(e,t){let n;if(null!=e&&null!=(n=e.destroyHooks))for(let r=0;r<n.length;r+=2){const s=t[n[r]];if(!(s instanceof En)){const i=n[r+1];if(Array.isArray(i))for(let a=0;a<i.length;a+=2){const c=s[i[a]],f=i[a+1];try{f.call(c)}finally{}}else try{i.call(s)}finally{}}}}(e,t),function b_(e,t){const n=e.cleanup,r=t[7];let s=-1;if(null!==n)for(let i=0;i<n.length-1;i+=2)if("string"==typeof n[i]){const a=n[i+1],c="function"==typeof a?a(t):Yt(t[a]),f=r[s=n[i+2]],g=n[i+3];"boolean"==typeof g?c.removeEventListener(n[i],f,g):g>=0?r[s=g]():r[s=-g].unsubscribe(),i+=2}else{const a=r[s=n[i+1]];n[i].call(a)}if(null!==r){for(let i=s+1;i<r.length;i++)r[i]();t[7]=null}}(e,t),1===t[1].type&&nn(t[11])&&t[11].destroy();const n=t[17];if(null!==n&&Cn(t[3])){n!==t[3]&&id(n,t);const r=t[19];null!==r&&r.detachView(e)}!function u_(e){tl.delete(e[20])}(t)}}function ad(e,t,n){return function ld(e,t,n){let r=t;for(;null!==r&&40&r.type;)r=(t=r).parent;if(null===r)return n[0];if(2&r.flags){const s=e.data[r.directiveStart].encapsulation;if(s===U.None||s===U.Emulated)return null}return P(r,n)}(e,t.parent,n)}function bs(e,t,n,r,s){nn(e)?e.insertBefore(t,n,r,s):(dd(t)?t.content:t).insertBefore(n,r,s)}function ud(e,t,n){nn(e)?e.appendChild(t,n):(dd(t)?t.content:t).appendChild(n)}function cd(e,t,n,r,s){null!==r?bs(e,t,n,r,s):ud(e,t,n)}function dd(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}function zo(e,t){return nn(e)?e.parentNode(t):t.parentNode}function fd(e,t,n){return pd(e,t,n)}let pd=function hd(e,t,n){return 40&e.type?P(e,n):null};function Wo(e,t,n,r){const s=ad(e,r,t),i=t[11],c=fd(r.parent||t[6],r,t);if(null!=s)if(Array.isArray(n))for(let f=0;f<n.length;f++)cd(i,s,n[f],c,!1);else cd(i,s,n,c,!1)}function Ko(e,t){if(null!==t){const n=t.type;if(3&n)return P(t,e);if(4&n)return pl(-1,e[t.index]);if(8&n){const r=t.child;if(null!==r)return Ko(e,r);{const s=e[t.index];return Cn(s)?pl(-1,s):Yt(s)}}if(32&n)return ol(t,e)()||Yt(e[t.index]);{const r=md(e,t);return null!==r?Array.isArray(r)?r[0]:Ko(Xi(e[16]),r):Ko(e,t.next)}}return null}function md(e,t){return null!==t?e[16][6].projection[t.projection]:null}function pl(e,t){const n=10+e+1;if(n<t.length){const r=t[n],s=r[1].firstChild;if(null!==s)return Ko(r,s)}return t[7]}function gl(e,t,n,r,s,i,a){for(;null!=n;){const c=r[n.index],f=n.type;if(a&&0===t&&(c&&er(Yt(c),r),n.flags|=4),64!=(64&n.flags))if(8&f)gl(e,t,n.child,r,s,i,!1),ii(t,e,s,c,i);else if(32&f){const g=ol(n,r);let D;for(;D=g();)ii(t,e,s,D,i);ii(t,e,s,c,i)}else 16&f?yd(e,t,r,n,s,i):ii(t,e,s,c,i);n=a?n.projectionNext:n.next}}function eo(e,t,n,r,s,i){gl(n,r,e.firstChild,t,s,i,!1)}function yd(e,t,n,r,s,i){const a=n[16],f=a[6].projection[r.projection];if(Array.isArray(f))for(let g=0;g<f.length;g++)ii(t,e,s,f[g],i);else gl(e,t,f,a[3],s,i,!0)}function Ed(e,t,n){nn(e)?e.setAttribute(t,"style",n):t.style.cssText=n}function ml(e,t,n){nn(e)?""===n?e.removeAttribute(t,"class"):e.setAttribute(t,"class",n):t.className=n}function vd(e,t,n){let r=e.length;for(;;){const s=e.indexOf(t,n);if(-1===s)return s;if(0===s||e.charCodeAt(s-1)<=32){const i=t.length;if(s+i===r||e.charCodeAt(s+i)<=32)return s}n=s+1}}const Dd="ng-template";function L_(e,t,n){let r=0;for(;r<e.length;){let s=e[r++];if(n&&"class"===s){if(s=e[r],-1!==vd(s.toLowerCase(),t,0))return!0}else if(1===s){for(;r<e.length&&"string"==typeof(s=e[r++]);)if(s.toLowerCase()===t)return!0;return!1}}return!1}function Cd(e){return 4===e.type&&e.value!==Dd}function R_(e,t,n){return t===(4!==e.type||n?e.value:Dd)}function F_(e,t,n){let r=4;const s=e.attrs||[],i=function H_(e){for(let t=0;t<e.length;t++)if(Fi(e[t]))return t;return e.length}(s);let a=!1;for(let c=0;c<t.length;c++){const f=t[c];if("number"!=typeof f){if(!a)if(4&r){if(r=2|1&r,""!==f&&!R_(e,f,n)||""===f&&1===t.length){if(Lr(r))return!1;a=!0}}else{const g=8&r?f:t[++c];if(8&r&&null!==e.attrs){if(!L_(e.attrs,g,n)){if(Lr(r))return!1;a=!0}continue}const R=k_(8&r?"class":f,s,Cd(e),n);if(-1===R){if(Lr(r))return!1;a=!0;continue}if(""!==g){let q;q=R>i?"":s[R+1].toLowerCase();const he=8&r?q:null;if(he&&-1!==vd(he,g,0)||2&r&&g!==q){if(Lr(r))return!1;a=!0}}}}else{if(!a&&!Lr(r)&&!Lr(f))return!1;if(a&&Lr(f))continue;a=!1,r=f|1&r}}return Lr(r)||a}function Lr(e){return 0==(1&e)}function k_(e,t,n,r){if(null===t)return-1;let s=0;if(r||!n){let i=!1;for(;s<t.length;){const a=t[s];if(a===e)return s;if(3===a||6===a)i=!0;else{if(1===a||2===a){let c=t[++s];for(;"string"==typeof c;)c=t[++s];continue}if(4===a)break;if(0===a){s+=4;continue}}s+=i?1:2}return-1}return function U_(e,t){let n=e.indexOf(4);if(n>-1)for(n++;n<e.length;){const r=e[n];if("number"==typeof r)return-1;if(r===t)return n;n++}return-1}(t,e)}function Td(e,t,n=!1){for(let r=0;r<t.length;r++)if(F_(e,t[r],n))return!0;return!1}function j_(e,t){e:for(let n=0;n<t.length;n++){const r=t[n];if(e.length===r.length){for(let s=0;s<e.length;s++)if(e[s]!==r[s])continue e;return!0}}return!1}function Sd(e,t){return e?":not("+t.trim()+")":t}function G_(e){let t=e[0],n=1,r=2,s="",i=!1;for(;n<e.length;){let a=e[n];if("string"==typeof a)if(2&r){const c=e[++n];s+="["+a+(c.length>0?'="'+c+'"':"")+"]"}else 8&r?s+="."+a:4&r&&(s+=" "+a);else""!==s&&!Lr(a)&&(t+=Sd(i,s),s=""),r=a,i=i||!Lr(r);n++}return""!==s&&(t+=Sd(i,s)),t}const Et={};function Md(e){wd(Nt(),Ne(),E()+e,!1)}function wd(e,t,n,r){if(!r)if(3==(3&t[2])){const i=e.preOrderCheckHooks;null!==i&&it(t,i,n)}else{const i=e.preOrderHooks;null!==i&&ht(t,i,0,n)}N(n)}const Pd=new rn("ENVIRONMENT_INITIALIZER"),Id=new rn("INJECTOR_DEF_TYPES");function Y_(...e){return{\u0275providers:Nd(0,e)}}function Nd(e,...t){const n=[],r=new Set;let s;return rs(t,i=>{const a=i;_l(a,n,[],r)&&(s||(s=[]),s.push(a))}),void 0!==s&&xd(s,n),n}function xd(e,t){for(let n=0;n<e.length;n++){const{providers:s}=e[n];rs(s,i=>{t.push(i)})}}function _l(e,t,n,r){if(!(e=le(e)))return!1;let s=null,i=bn(e);const a=!i&&Pt(e);if(i||a){if(a&&!a.standalone)return!1;s=e}else{const f=e.ngModule;if(i=bn(f),!i)return!1;s=f}const c=r.has(s);if(a){if(c)return!1;if(r.add(s),a.dependencies){const f="function"==typeof a.dependencies?a.dependencies():a.dependencies;for(const g of f)_l(g,t,n,r)}}else{if(!i)return!1;{if(null!=i.imports&&!c){let g;r.add(s);try{rs(i.imports,D=>{_l(D,t,n,r)&&(g||(g=[]),g.push(D))})}finally{}void 0!==g&&xd(g,t)}if(!c){const g=Or(s)||(()=>new s);t.push({provide:s,useFactory:g,deps:Ee},{provide:Id,useValue:s,multi:!0},{provide:Pd,useValue:()=>Mn(s),multi:!0})}const f=i.providers;null==f||c||rs(f,D=>{t.push(D)})}}return s!==e&&void 0!==e.providers}const J_=F({provide:String,useValue:F});function yl(e){return null!==e&&"object"==typeof e&&J_ in e}function Os(e){return"function"==typeof e}const El=new rn("INJECTOR",-1);class Fd{get(t,n=Gi){if(n===Gi){const r=new Error(`NullInjectorError: No provider for ${ne(t)}!`);throw r.name="NullInjectorError",r}return n}}const vl=new rn("Set Injector scope."),Zo={},X_={};let Dl;function Cl(){return void 0===Dl&&(Dl=new Fd),Dl}class to{}class kd extends to{constructor(t,n,r,s){super(),this.parent=n,this.source=r,this.scopes=s,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Sl(t,a=>this.processProvider(a)),this.records.set(El,oi(void 0,this)),s.has("environment")&&this.records.set(to,oi(void 0,this));const i=this.records.get(vl);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Id.multi,Ee,qe.Self))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}get(t,n=Gi,r=qe.Default){this.assertNotDestroyed();const s=Bo(this),i=Ce(void 0);try{if(!(r&qe.SkipSelf)){let c=this.records.get(t);if(void 0===c){const f=function sy(e){return"function"==typeof e||"object"==typeof e&&e instanceof rn}(t)&&vt(t);c=f&&this.injectableDefInScope(f)?oi(Tl(t),Zo):null,this.records.set(t,c)}if(null!=c)return this.hydrate(t,c)}return(r&qe.Self?Cl():this.parent).get(t,n=r&qe.Optional&&n===Gi?null:n)}catch(a){if("NullInjectorError"===a.name){if((a[ko]=a[ko]||[]).unshift(ne(t)),s)throw a;return function hm(e,t,n,r){const s=e[ko];throw t[Dc]&&s.unshift(t[Dc]),e.message=function pm(e,t,n,r=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let s=ne(t);if(Array.isArray(t))s=t.map(ne).join(" -> ");else if("object"==typeof t){let i=[];for(let a in t)if(t.hasOwnProperty(a)){let c=t[a];i.push(a+":"+("string"==typeof c?JSON.stringify(c):ne(c)))}s=`{${i.join(", ")}}`}return`${n}${r?"("+r+")":""}[${s}]: ${e.replace(lm,"\n ")}`}("\n"+e.message,s,n,r),e.ngTokenPath=s,e[ko]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{Ce(i),Bo(s)}}resolveInjectorInitializers(){const t=Bo(this),n=Ce(void 0);try{const r=this.get(Pd.multi,Ee,qe.Self);for(const s of r)s()}finally{Bo(t),Ce(n)}}toString(){const t=[],n=this.records;for(const r of n.keys())t.push(ne(r));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new $(205,!1)}processProvider(t){let n=Os(t=le(t))?t:le(t&&t.provide);const r=function ty(e){return yl(e)?oi(void 0,e.useValue):oi(function Bd(e,t,n){let r;if(Os(e)){const s=le(e);return Or(s)||Tl(s)}if(yl(e))r=()=>le(e.useValue);else if(function Rd(e){return!(!e||!e.useFactory)}(e))r=()=>e.useFactory(...$a(e.deps||[]));else if(function Ld(e){return!(!e||!e.useExisting)}(e))r=()=>Mn(le(e.useExisting));else{const s=le(e&&(e.useClass||e.provide));if(!function ny(e){return!!e.deps}(e))return Or(s)||Tl(s);r=()=>new s(...$a(e.deps))}return r}(e),Zo)}(t);if(Os(t)||!0!==t.multi)this.records.get(n);else{let s=this.records.get(n);s||(s=oi(void 0,Zo,!0),s.factory=()=>$a(s.multi),this.records.set(n,s)),n=t,s.multi.push(t)}this.records.set(n,r)}hydrate(t,n){return n.value===Zo&&(n.value=X_,n.value=n.factory()),"object"==typeof n.value&&n.value&&function ry(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(n.value)&&this._ngOnDestroyHooks.add(n.value),n.value}injectableDefInScope(t){if(!t.providedIn)return!1;const n=le(t.providedIn);return"string"==typeof n?"any"===n||this.scopes.has(n):this.injectorDefTypes.has(n)}}function Tl(e){const t=vt(e),n=null!==t?t.factory:Or(e);if(null!==n)return n;if(e instanceof rn)throw new $(204,!1);if(e instanceof Function)return function ey(e){const t=e.length;if(t>0)throw ji(t,"?"),new $(204,!1);const n=function bt(e){const t=e&&(e[Jt]||e[Xt]);if(t){const n=function xt(e){if(e.hasOwnProperty("name"))return e.name;const t=(""+e).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(e);return console.warn(`DEPRECATED: DI is instantiating a token "${n}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${n}" class.`),t}return null}(e);return null!==n?()=>n.factory(e):()=>new e}(e);throw new $(204,!1)}function oi(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function iy(e){return!!e.\u0275providers}function Sl(e,t){for(const n of e)Array.isArray(n)?Sl(n,t):iy(n)?Sl(n.\u0275providers,t):t(n)}function Hd(e,t=null,n=null,r){const s=Ud(e,t,n,r);return s.resolveInjectorInitializers(),s}function Ud(e,t=null,n=null,r,s=new Set){const i=[n||Ee,Y_(e)];return r=r||("object"==typeof e?void 0:ne(e)),new kd(i,t||Cl(),r||null,s)}let zr=(()=>{class e{static create(n,r){if(Array.isArray(n))return Hd({name:""},r,n,"");{const s=n.name??"";return Hd({name:s},n.parent,n.providers,s)}}}return e.THROW_IF_NOT_FOUND=Gi,e.NULL=new Fd,e.\u0275prov=gt({token:e,providedIn:"any",factory:()=>Mn(El)}),e.__NG_ELEMENT_ID__=-1,e})();function li(e,t=qe.Default){const n=Ne();return null===n?Mn(e,t):cc(Tn(),n,le(e),t)}function Yo(e,t){return e<<17|t<<2}function Rr(e){return e>>17&32767}function Nl(e){return 2|e}function os(e){return(131068&e)>>2}function xl(e,t){return-131069&e|t<<2}function Ll(e){return 1|e}function af(e,t){const n=e.contentQueries;if(null!==n)for(let r=0;r<n.length;r+=2){const s=n[r],i=n[r+1];if(-1!==i){const a=e.data[i];Ri(s),a.contentQueries(2,t[i],i)}}}function no(e,t,n,r,s,i,a,c,f,g,D){const R=t.blueprint.slice();return R[0]=s,R[2]=76|r,(null!==D||e&&1024&e[2])&&(R[2]|=1024),an(R),R[3]=R[15]=e,R[8]=n,R[10]=a||e&&e[10],R[11]=c||e&&e[11],R[12]=f||e&&e[12]||null,R[9]=g||e&&e[9]||null,R[6]=i,R[20]=function a_(){return o_++}(),R[21]=D,R[16]=2==t.type?e[16]:R,R}function ui(e,t,n,r,s){let i=e.data[t];if(null===i)i=function Vl(e,t,n,r,s){const i=Pi(),a=Ii(),f=e.data[t]=function By(e,t,n,r,s,i){return{type:n,index:r,insertBeforeIndex:null,injectorIndex:t?t.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:s,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,a?i:i&&i.parent,n,t,r,s);return null===e.firstChild&&(e.firstChild=f),null!==i&&(a?null==i.child&&null!==f.parent&&(i.child=f):null===i.next&&(i.next=f)),f}(e,t,n,r,s),function Aa(){return tt.lFrame.inI18n}()&&(i.flags|=64);else if(64&i.type){i.type=n,i.value=r,i.attrs=s;const a=function jr(){const e=tt.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();i.injectorIndex=null===a?-1:a.injectorIndex}return gr(i,!0),i}function ci(e,t,n,r){if(0===n)return-1;const s=t.length;for(let i=0;i<n;i++)t.push(r),e.blueprint.push(r),e.data.push(null);return s}function ro(e,t,n){Ss(t);try{const r=e.viewQuery;null!==r&&Ql(1,r,n);const s=e.template;null!==s&&lf(e,t,s,1,n),e.firstCreatePass&&(e.firstCreatePass=!1),e.staticContentQueries&&af(e,t),e.staticViewQueries&&Ql(2,e.viewQuery,n);const i=e.components;null!==i&&function Ry(e,t){for(let n=0;n<t.length;n++)nE(e,t[n])}(t,i)}catch(r){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),r}finally{t[2]&=-5,l()}}function di(e,t,n,r){const s=t[2];if(128!=(128&s)){Ss(t);try{an(t),function Ni(e){return tt.lFrame.bindingIndex=e}(e.bindingStartIndex),null!==n&&lf(e,t,n,2,r);const a=3==(3&s);if(a){const g=e.preOrderCheckHooks;null!==g&&it(t,g,null)}else{const g=e.preOrderHooks;null!==g&&ht(t,g,0,null),Ft(t,0)}if(function eE(e){for(let t=al(e);null!==t;t=ll(t)){if(!t[2])continue;const n=t[9];for(let r=0;r<n.length;r++){const s=n[r],i=s[3];0==(512&s[2])&&Kt(i,1),s[2]|=512}}}(t),function Xy(e){for(let t=al(e);null!==t;t=ll(t))for(let n=10;n<t.length;n++){const r=t[n],s=r[1];Bt(r)&&di(s,r,s.template,r[8])}}(t),null!==e.contentQueries&&af(e,t),a){const g=e.contentCheckHooks;null!==g&&it(t,g)}else{const g=e.contentHooks;null!==g&&ht(t,g,1),Ft(t,1)}!function xy(e,t){const n=e.hostBindingOpCodes;if(null!==n)try{for(let r=0;r<n.length;r++){const s=n[r];if(s<0)N(~s);else{const i=s,a=n[++r],c=n[++r];Ia(a,i),c(2,t[i])}}}finally{N(-1)}}(e,t);const c=e.components;null!==c&&function Ly(e,t){for(let n=0;n<t.length;n++)tE(e,t[n])}(t,c);const f=e.viewQuery;if(null!==f&&Ql(2,f,r),a){const g=e.viewCheckHooks;null!==g&&it(t,g)}else{const g=e.viewHooks;null!==g&&ht(t,g,2),Ft(t,2)}!0===e.firstUpdatePass&&(e.firstUpdatePass=!1),t[2]&=-41,512&t[2]&&(t[2]&=-513,Kt(t[3],-1))}finally{l()}}}function Fy(e,t,n,r){const s=t[10],a=Gt(t);try{!a&&s.begin&&s.begin(),a&&ro(e,t,r),di(e,t,n,r)}finally{!a&&s.end&&s.end()}}function lf(e,t,n,r,s){const i=E(),a=2&r;try{N(-1),a&&t.length>22&&wd(e,t,22,!1),n(r,s)}finally{N(i)}}function uf(e,t,n){if(hr(t)){const s=t.directiveEnd;for(let i=t.directiveStart;i<s;i++){const a=e.data[i];a.contentQueries&&a.contentQueries(1,n[i],i)}}}function $l(e,t,n){!cs()||(function zy(e,t,n,r){const s=n.directiveStart,i=n.directiveEnd;e.firstCreatePass||Gr(n,t),er(r,t);const a=n.initialInputs;for(let c=s;c<i;c++){const f=e.data[c],g=zn(f);g&&Yy(t,n,f);const D=Bi(t,e,c,n);er(D,t),null!==a&&Jy(0,c-s,D,f,0,a),g&&(Ze(n.index,t)[8]=D)}}(e,t,n,P(n,t)),128==(128&n.flags)&&function Wy(e,t,n){const r=n.directiveStart,s=n.directiveEnd,i=n.index,a=function Na(){return tt.lFrame.currentDirectiveIndex}();try{N(i);for(let c=r;c<s;c++){const f=e.data[c],g=t[c];xi(c),(null!==f.hostBindings||0!==f.hostVars||null!==f.hostAttrs)&&mf(f,g)}}finally{N(-1),xi(a)}}(e,t,n))}function zl(e,t,n=P){const r=t.localNames;if(null!==r){let s=t.index+1;for(let i=0;i<r.length;i+=2){const a=r[i+1],c=-1===a?n(t,e):e[a];e[s++]=c}}}function cf(e){const t=e.tView;return null===t||t.incompleteFirstPass?e.tView=Xo(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts):t}function Xo(e,t,n,r,s,i,a,c,f,g){const D=22+r,R=D+s,q=function ky(e,t){const n=[];for(let r=0;r<t;r++)n.push(r<e?null:Et);return n}(D,R),he="function"==typeof g?g():g;return q[1]={type:e,blueprint:q,template:n,queries:null,viewQuery:c,declTNode:t,data:q.slice().fill(null,D),bindingStartIndex:D,expandoStartIndex:R,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof i?i():i,pipeRegistry:"function"==typeof a?a():a,firstChild:null,schemas:f,consts:he,incompleteFirstPass:!1}}function hf(e,t,n,r){const s=Cf(t);null===n?s.push(r):(s.push(n),e.firstCreatePass&&Tf(e).push(r,s.length-1))}function pf(e,t,n){for(let r in e)if(e.hasOwnProperty(r)){const s=e[r];(n=null===n?{}:n).hasOwnProperty(r)?n[r].push(t,s):n[r]=[t,s]}return n}function vr(e,t,n,r,s,i,a,c){const f=P(t,n);let D,g=t.inputs;!c&&null!=g&&(D=g[r])?(wf(e,n,D,r,s),ir(t)&&function jy(e,t){const n=Ze(t,e);16&n[2]||(n[2]|=32)}(n,t.index)):3&t.type&&(r=function Uy(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(r),s=null!=a?a(s,t.value||"",r):s,nn(i)?i.setProperty(f,r,s):Zs(r)||(f.setProperty?f.setProperty(r,s):f[r]=s))}function Wl(e,t,n,r){let s=!1;if(cs()){const i=function Ky(e,t,n){const r=e.directiveRegistry;let s=null;if(r)for(let i=0;i<r.length;i++){const a=r[i];Td(n,a.selectors,!1)&&(s||(s=[]),xo(Gr(n,t),e,a.type),zn(a)?(_f(e,n),s.unshift(a)):s.push(a))}return s}(e,t,n),a=null===r?null:{"":-1};if(null!==i){s=!0,yf(n,e.data.length,i.length);for(let D=0;D<i.length;D++){const R=i[D];R.providersResolver&&R.providersResolver(R)}let c=!1,f=!1,g=ci(e,t,i.length,null);for(let D=0;D<i.length;D++){const R=i[D];n.mergedAttrs=et(n.mergedAttrs,R.hostAttrs),Ef(e,n,t,g,R),qy(g,R,a),null!==R.contentQueries&&(n.flags|=8),(null!==R.hostBindings||null!==R.hostAttrs||0!==R.hostVars)&&(n.flags|=128);const q=R.type.prototype;!c&&(q.ngOnChanges||q.ngOnInit||q.ngDoCheck)&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n.index),c=!0),!f&&(q.ngOnChanges||q.ngDoCheck)&&((e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n.index),f=!0),g++}!function Hy(e,t){const r=t.directiveEnd,s=e.data,i=t.attrs,a=[];let c=null,f=null;for(let g=t.directiveStart;g<r;g++){const D=s[g],R=D.inputs,q=null===i||Cd(t)?null:Qy(R,i);a.push(q),c=pf(R,g,c),f=pf(D.outputs,g,f)}null!==c&&(c.hasOwnProperty("class")&&(t.flags|=16),c.hasOwnProperty("style")&&(t.flags|=32)),t.initialInputs=a,t.inputs=c,t.outputs=f}(e,n)}a&&function Zy(e,t,n){if(t){const r=e.localNames=[];for(let s=0;s<t.length;s+=2){const i=n[t[s+1]];if(null==i)throw new $(-301,!1);r.push(t[s],i)}}}(n,r,a)}return n.mergedAttrs=et(n.mergedAttrs,n.attrs),s}function gf(e,t,n,r,s,i){const a=i.hostBindings;if(a){let c=e.hostBindingOpCodes;null===c&&(c=e.hostBindingOpCodes=[]);const f=~t.index;(function $y(e){let t=e.length;for(;t>0;){const n=e[--t];if("number"==typeof n&&n<0)return n}return 0})(c)!=f&&c.push(f),c.push(r,s,a)}}function mf(e,t){null!==e.hostBindings&&e.hostBindings(1,t)}function _f(e,t){t.flags|=2,(e.components||(e.components=[])).push(t.index)}function qy(e,t,n){if(n){if(t.exportAs)for(let r=0;r<t.exportAs.length;r++)n[t.exportAs[r]]=e;zn(t)&&(n[""]=e)}}function yf(e,t,n){e.flags|=1,e.directiveStart=t,e.directiveEnd=t+n,e.providerIndexes=t}function Ef(e,t,n,r,s){e.data[r]=s;const i=s.factory||(s.factory=Or(s.type)),a=new En(i,zn(s),li);e.blueprint[r]=a,n[r]=a,gf(e,t,0,r,ci(e,n,s.hostVars,Et),s)}function Yy(e,t,n){const r=P(t,e),s=cf(n),i=e[10],a=ea(e,no(e,s,null,n.onPush?32:16,r,t,i,i.createRenderer(r,n),null,null,null));e[t.index]=a}function Wr(e,t,n,r,s,i){const a=P(e,t);!function Kl(e,t,n,r,s,i,a){if(null==i)nn(e)?e.removeAttribute(t,s,n):t.removeAttribute(s);else{const c=null==a?L(i):a(i,r||"",s);nn(e)?e.setAttribute(t,s,c,n):n?t.setAttributeNS(n,s,c):t.setAttribute(s,c)}}(t[11],a,i,e.value,n,r,s)}function Jy(e,t,n,r,s,i){const a=i[t];if(null!==a){const c=r.setInput;for(let f=0;f<a.length;){const g=a[f++],D=a[f++],R=a[f++];null!==c?r.setInput(n,R,g,D):n[D]=R}}}function Qy(e,t){let n=null,r=0;for(;r<t.length;){const s=t[r];if(0!==s)if(5!==s){if("number"==typeof s)break;e.hasOwnProperty(s)&&(null===n&&(n=[]),n.push(s,e[s],t[r+1])),r+=2}else r+=2;else r+=4}return n}function vf(e,t,n,r){return new Array(e,!0,!1,t,null,0,r,n,null,null)}function tE(e,t){const n=Ze(t,e);if(Bt(n)){const r=n[1];48&n[2]?di(r,n,r.template,n[8]):n[5]>0&&Zl(n)}}function Zl(e){for(let r=al(e);null!==r;r=ll(r))for(let s=10;s<r.length;s++){const i=r[s];if(512&i[2]){const a=i[1];di(a,i,a.template,i[8])}else i[5]>0&&Zl(i)}const n=e[1].components;if(null!==n)for(let r=0;r<n.length;r++){const s=Ze(n[r],e);Bt(s)&&s[5]>0&&Zl(s)}}function nE(e,t){const n=Ze(t,e),r=n[1];(function rE(e,t){for(let n=t.length;n<e.blueprint.length;n++)t.push(e.blueprint[n])})(r,n),ro(r,n,n[8])}function ea(e,t){return e[13]?e[14][4]=t:e[13]=t,e[14]=t,t}function ql(e){for(;e;){e[2]|=32;const t=Xi(e);if(ms(e)&&!t)return e;e=t}return null}function Df(e){!function Yl(e){for(let t=0;t<e.components.length;t++){const n=e.components[t],r=sl(n);if(null!==r){const s=r[1];Fy(s,r,s.template,n)}}}(e[8])}function Ql(e,t,n){Ri(0),t(e,n)}const iE=(()=>Promise.resolve(null))();function Cf(e){return e[7]||(e[7]=[])}function Tf(e){return e.cleanup||(e.cleanup=[])}function Mf(e,t){const n=e[9],r=n?n.get(Ji,null):null;r&&r.handleError(t)}function wf(e,t,n,r,s){for(let i=0;i<n.length;){const a=n[i++],c=n[i++],f=t[a],g=e.data[a];null!==g.setInput?g.setInput(f,s,r,c):f[c]=s}}function as(e,t,n){const r=m(t,e);!function sd(e,t,n){nn(e)?e.setValue(t,n):t.textContent=n}(e[11],r,n)}function ta(e,t,n){let r=n?e.styles:null,s=n?e.classes:null,i=0;if(null!==t)for(let a=0;a<t.length;a++){const c=t[a];"number"==typeof c?i=c:1==i?s=ae(s,c):2==i&&(r=ae(r,c+": "+t[++a]+";"))}n?e.styles=r:e.stylesWithoutHost=r,n?e.classes=s:e.classesWithoutHost=s}function mE(){const e=Tn();_t(Ne()[1],e)}let na=null;function As(){if(!na){const e=y.Symbol;if(e&&e.iterator)na=e.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let n=0;n<t.length;++n){const r=t[n];"entries"!==r&&"size"!==r&&Map.prototype[r]===Map.prototype.entries&&(na=r)}}}return na}function so(e){return!!tu(e)&&(Array.isArray(e)||!(e instanceof Map)&&As()in e)}function tu(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function Kr(e,t,n){return e[t]=n}function tr(e,t,n){return!Object.is(e[t],n)&&(e[t]=n,!0)}function Ps(e,t,n,r){const s=tr(e,t,n);return tr(e,t+1,r)||s}function nu(e,t,n,r){const s=Ne();return tr(s,ns(),t)&&(Nt(),Wr(V(),s,e,t,n,r)),nu}function hi(e,t,n,r){return tr(e,ns(),n)?t+L(n)+r:Et}function pi(e,t,n,r,s,i){const c=Ps(e,function Pr(){return tt.lFrame.bindingIndex}(),n,s);return Ir(2),c?t+L(n)+r+L(s)+i:Et}function qf(e,t,n,r,s,i,a,c){const f=Ne(),g=Nt(),D=e+22,R=g.firstCreatePass?function bE(e,t,n,r,s,i,a,c,f){const g=t.consts,D=ui(t,e,4,a||null,ot(g,c));Wl(t,n,D,ot(g,f)),_t(t,D);const R=D.tViews=Xo(2,D,r,s,i,t.directiveRegistry,t.pipeRegistry,null,t.schemas,g);return null!==t.queries&&(t.queries.template(t,D),R.queries=t.queries.embeddedTView(D)),D}(D,g,f,t,n,r,s,i,a):g.data[D];gr(R,!1);const q=f[11].createComment("");Wo(g,f,q,R),er(q,f),ea(f,f[D]=vf(q,f,q,R)),Qn(R)&&$l(g,f,R),null!=a&&zl(f,R,c)}function Yf(e){return Le(function Oa(){return tt.lFrame.contextLView}(),22+e)}function ru(e,t,n){const r=Ne();return tr(r,ns(),t)&&vr(Nt(),V(),r,e,t,r[11],n,!1),ru}function su(e,t,n,r,s){const a=s?"class":"style";wf(e,n,t.inputs[a],a,r)}function sa(e,t,n,r){const s=Ne(),i=Nt(),a=22+e,c=s[11],f=s[a]=cl(c,t,function Xe(){return tt.lFrame.currentNamespace}()),g=i.firstCreatePass?function AE(e,t,n,r,s,i,a){const c=t.consts,g=ui(t,e,2,s,ot(c,i));return Wl(t,n,g,ot(c,a)),null!==g.attrs&&ta(g,g.attrs,!1),null!==g.mergedAttrs&&ta(g,g.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,g),g}(a,i,s,0,t,n,r):i.data[a];gr(g,!0);const D=g.mergedAttrs;null!==D&&Sr(c,f,D);const R=g.classes;null!==R&&ml(c,f,R);const q=g.styles;return null!==q&&Ed(c,f,q),64!=(64&g.flags)&&Wo(i,s,f,g),0===function ts(){return tt.lFrame.elementDepthCount}()&&er(f,s),function pr(){tt.lFrame.elementDepthCount++}(),Qn(g)&&($l(i,s,g),uf(i,g,s)),null!==r&&zl(s,g),sa}function ia(){let e=Tn();Ii()?zs():(e=e.parent,gr(e,!1));const t=e;!function $s(){tt.lFrame.elementDepthCount--}();const n=Nt();return n.firstCreatePass&&(_t(n,e),hr(e)&&n.queries.elementEnd(e)),null!=t.classesWithoutHost&&function Nr(e){return 0!=(16&e.flags)}(t)&&su(n,t,Ne(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function xr(e){return 0!=(32&e.flags)}(t)&&su(n,t,Ne(),t.stylesWithoutHost,!1),ia}function iu(e,t,n,r){return sa(e,t,n,r),ia(),iu}function oa(e,t,n){const r=Ne(),s=Nt(),i=e+22,a=s.firstCreatePass?function PE(e,t,n,r,s){const i=t.consts,a=ot(i,r),c=ui(t,e,8,"ng-container",a);return null!==a&&ta(c,a,!0),Wl(t,n,c,ot(i,s)),null!==t.queries&&t.queries.elementStart(t,c),c}(i,s,r,t,n):s.data[i];gr(a,!0);const c=r[i]=r[11].createComment("");return Wo(s,r,c,a),er(c,r),Qn(a)&&($l(s,r,a),uf(s,a,r)),null!=n&&zl(r,a),oa}function aa(){let e=Tn();const t=Nt();return Ii()?zs():(e=e.parent,gr(e,!1)),t.firstCreatePass&&(_t(t,e),hr(e)&&t.queries.elementEnd(e)),aa}function Qf(){return Ne()}function ou(e){return!!e&&"function"==typeof e.then}function Xf(e){return!!e&&"function"==typeof e.subscribe}const IE=Xf;function au(e,t,n,r){const s=Ne(),i=Nt(),a=Tn();return function th(e,t,n,r,s,i,a,c){const f=Qn(r),D=e.firstCreatePass&&Tf(e),R=t[8],q=Cf(t);let he=!0;if(3&r.type||c){const ze=P(r,t),Ye=c?c(ze):ze,ft=q.length,xe=c?nt=>c(Yt(nt[r.index])):r.index;if(nn(n)){let nt=null;if(!c&&f&&(nt=function NE(e,t,n,r){const s=e.cleanup;if(null!=s)for(let i=0;i<s.length-1;i+=2){const a=s[i];if(a===n&&s[i+1]===r){const c=t[7],f=s[i+2];return c.length>f?c[f]:null}"string"==typeof a&&(i+=2)}return null}(e,t,s,r.index)),null!==nt)(nt.__ngLastListenerFn__||nt).__ngNextListenerFn__=i,nt.__ngLastListenerFn__=i,he=!1;else{i=lu(r,t,R,i,!1);const Lt=n.listen(Ye,s,i);q.push(i,Lt),D&&D.push(s,xe,ft,ft+1)}}else i=lu(r,t,R,i,!0),Ye.addEventListener(s,i,a),q.push(i),D&&D.push(s,xe,ft,a)}else i=lu(r,t,R,i,!1);const Oe=r.outputs;let ke;if(he&&null!==Oe&&(ke=Oe[s])){const ze=ke.length;if(ze)for(let Ye=0;Ye<ze;Ye+=2){const hn=t[ke[Ye]][ke[Ye+1]].subscribe(i),Ls=q.length;q.push(i,hn),D&&D.push(s,r.index,Ls,-(Ls+1))}}}(i,s,s[11],a,e,t,!!n,r),au}function nh(e,t,n,r){try{return!1!==n(r)}catch(s){return Mf(e,s),!1}}function lu(e,t,n,r,s){return function i(a){if(a===Function)return r;ql(2&e.flags?Ze(e.index,t):t);let f=nh(t,0,r,a),g=i.__ngNextListenerFn__;for(;g;)f=nh(t,0,g,a)&&f,g=g.__ngNextListenerFn__;return s&&!1===f&&(a.preventDefault(),a.returnValue=!1),f}}function rh(e=1){return function u(e){return(tt.lFrame.contextLView=function h(e,t){for(;e>0;)t=t[15],e--;return t}(e,tt.lFrame.contextLView))[8]}(e)}function xE(e,t){let n=null;const r=function B_(e){const t=e.attrs;if(null!=t){const n=t.indexOf(5);if(0==(1&n))return t[n+1]}return null}(e);for(let s=0;s<t.length;s++){const i=t[s];if("*"!==i){if(null===r?Td(e,i,!0):j_(r,i))return s}else n=s}return n}function sh(e){const t=Ne()[16][6];if(!t.projection){const r=t.projection=ji(e?e.length:1,null),s=r.slice();let i=t.child;for(;null!==i;){const a=e?xE(i,e):0;null!==a&&(s[a]?s[a].projectionNext=i:r[a]=i,s[a]=i),i=i.next}}}function ih(e,t=0,n){const r=Ne(),s=Nt(),i=ui(s,22+e,16,null,n||null);null===i.projection&&(i.projection=t),zs(),64!=(64&i.flags)&&function I_(e,t,n){yd(t[11],0,t,n,ad(e,n,t),fd(n.parent||t[6],n,t))}(s,r,i)}function uu(e,t,n){return la(e,"",t,"",n),uu}function la(e,t,n,r,s){const i=Ne(),a=hi(i,t,n,r);return a!==Et&&vr(Nt(),V(),i,e,a,i[11],s,!1),la}function ph(e,t,n,r,s){const i=e[n+1],a=null===t;let c=r?Rr(i):os(i),f=!1;for(;0!==c&&(!1===f||a);){const D=e[c+1];FE(e[c],t)&&(f=!0,e[c+1]=r?Ll(D):Nl(D)),c=r?Rr(D):os(D)}f&&(e[n+1]=r?Nl(i):Ll(i))}function FE(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&ei(e,t)>=0}const Nn={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function gh(e){return e.substring(Nn.key,Nn.keyEnd)}function mh(e,t){const n=Nn.textEnd;return n===t?-1:(t=Nn.keyEnd=function UE(e,t,n){for(;t<n&&e.charCodeAt(t)>32;)t++;return t}(e,Nn.key=t,n),Di(e,t,n))}function Di(e,t,n){for(;t<n&&e.charCodeAt(t)<=32;)t++;return t}function cu(e,t,n){return kr(e,t,n,!1),cu}function du(e,t){return kr(e,t,null,!0),du}function Dh(e){Br(Er,qr,e,!0)}function qr(e,t){for(let n=function BE(e){return function yh(e){Nn.key=0,Nn.keyEnd=0,Nn.value=0,Nn.valueEnd=0,Nn.textEnd=e.length}(e),mh(e,Di(e,0,Nn.textEnd))}(t);n>=0;n=mh(t,n))Er(e,gh(t),!0)}function kr(e,t,n,r){const s=Ne(),i=Nt(),a=Ir(2);i.firstUpdatePass&&Th(i,e,a,r),t!==Et&&tr(s,a,t)&&Mh(i,i.data[E()],s,s[11],e,s[a+1]=function YE(e,t){return null==e||("string"==typeof t?e+=t:"object"==typeof e&&(e=ne(ss(e)))),e}(t,n),r,a)}function Br(e,t,n,r){const s=Nt(),i=Ir(2);s.firstUpdatePass&&Th(s,null,i,r);const a=Ne();if(n!==Et&&tr(a,i,n)){const c=s.data[E()];if(bh(c,r)&&!Ch(s,i)){let f=r?c.classesWithoutHost:c.stylesWithoutHost;null!==f&&(n=ae(f,n||"")),su(s,c,a,n,r)}else!function qE(e,t,n,r,s,i,a,c){s===Et&&(s=Ee);let f=0,g=0,D=0<s.length?s[0]:null,R=0<i.length?i[0]:null;for(;null!==D||null!==R;){const q=f<s.length?s[f+1]:void 0,he=g<i.length?i[g+1]:void 0;let ke,Oe=null;D===R?(f+=2,g+=2,q!==he&&(Oe=R,ke=he)):null===R||null!==D&&D<R?(f+=2,Oe=D):(g+=2,Oe=R,ke=he),null!==Oe&&Mh(e,t,n,r,Oe,ke,a,c),D=f<s.length?s[f]:null,R=g<i.length?i[g]:null}}(s,c,a,a[11],a[i+1],a[i+1]=function ZE(e,t,n){if(null==n||""===n)return Ee;const r=[],s=ss(n);if(Array.isArray(s))for(let i=0;i<s.length;i++)e(r,s[i],!0);else if("object"==typeof s)for(const i in s)s.hasOwnProperty(i)&&e(r,i,s[i]);else"string"==typeof s&&t(r,s);return r}(e,t,n),r,i)}}function Ch(e,t){return t>=e.expandoStartIndex}function Th(e,t,n,r){const s=e.data;if(null===s[n+1]){const i=s[E()],a=Ch(e,n);bh(i,r)&&null===t&&!a&&(t=!1),t=function $E(e,t,n,r){const s=function Li(e){const t=tt.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let i=r?t.residualClasses:t.residualStyles;if(null===s)0===(r?t.classBindings:t.styleBindings)&&(n=oo(n=fu(null,e,t,n,r),t.attrs,r),i=null);else{const a=t.directiveStylingLast;if(-1===a||e[a]!==s)if(n=fu(s,e,t,n,r),null===i){let f=function zE(e,t,n){const r=n?t.classBindings:t.styleBindings;if(0!==os(r))return e[Rr(r)]}(e,t,r);void 0!==f&&Array.isArray(f)&&(f=fu(null,e,t,f[1],r),f=oo(f,t.attrs,r),function WE(e,t,n,r){e[Rr(n?t.classBindings:t.styleBindings)]=r}(e,t,r,f))}else i=function KE(e,t,n){let r;const s=t.directiveEnd;for(let i=1+t.directiveStylingLast;i<s;i++)r=oo(r,e[i].hostAttrs,n);return oo(r,t.attrs,n)}(e,t,r)}return void 0!==i&&(r?t.residualClasses=i:t.residualStyles=i),n}(s,i,t,r),function LE(e,t,n,r,s,i){let a=i?t.classBindings:t.styleBindings,c=Rr(a),f=os(a);e[r]=n;let D,g=!1;if(Array.isArray(n)){const R=n;D=R[1],(null===D||ei(R,D)>0)&&(g=!0)}else D=n;if(s)if(0!==f){const q=Rr(e[c+1]);e[r+1]=Yo(q,c),0!==q&&(e[q+1]=xl(e[q+1],r)),e[c+1]=function Ty(e,t){return 131071&e|t<<17}(e[c+1],r)}else e[r+1]=Yo(c,0),0!==c&&(e[c+1]=xl(e[c+1],r)),c=r;else e[r+1]=Yo(f,0),0===c?c=r:e[f+1]=xl(e[f+1],r),f=r;g&&(e[r+1]=Nl(e[r+1])),ph(e,D,r,!0),ph(e,D,r,!1),function RE(e,t,n,r,s){const i=s?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof t&&ei(i,t)>=0&&(n[r+1]=Ll(n[r+1]))}(t,D,e,r,i),a=Yo(c,f),i?t.classBindings=a:t.styleBindings=a}(s,i,t,n,a,r)}}function fu(e,t,n,r,s){let i=null;const a=n.directiveEnd;let c=n.directiveStylingLast;for(-1===c?c=n.directiveStart:c++;c<a&&(i=t[c],r=oo(r,i.hostAttrs,s),i!==e);)c++;return null!==e&&(n.directiveStylingLast=c),r}function oo(e,t,n){const r=n?1:2;let s=-1;if(null!==t)for(let i=0;i<t.length;i++){const a=t[i];"number"==typeof a?s=a:s===r&&(Array.isArray(e)||(e=void 0===e?[]:["",e]),Er(e,a,!!n||t[++i]))}return void 0===e?null:e}function Mh(e,t,n,r,s,i,a,c){if(!(3&t.type))return;const f=e.data,g=f[c+1];ua(function Qd(e){return 1==(1&e)}(g)?wh(f,t,n,s,os(g),a):void 0)||(ua(i)||function Jd(e){return 2==(2&e)}(g)&&(i=wh(f,null,n,s,c,a)),function x_(e,t,n,r,s){const i=nn(e);if(t)s?i?e.addClass(n,r):n.classList.add(r):i?e.removeClass(n,r):n.classList.remove(r);else{let a=-1===r.indexOf("-")?void 0:$r.DashCase;if(null==s)i?e.removeStyle(n,r,a):n.style.removeProperty(r);else{const c="string"==typeof s&&s.endsWith("!important");c&&(s=s.slice(0,-10),a|=$r.Important),i?e.setStyle(n,r,s,a):n.style.setProperty(r,s,c?"important":"")}}}(r,a,m(E(),n),s,i))}function wh(e,t,n,r,s,i){const a=null===t;let c;for(;s>0;){const f=e[s],g=Array.isArray(f),D=g?f[1]:f,R=null===D;let q=n[s+1];q===Et&&(q=R?Ee:void 0);let he=R?ja(q,r):D===r?q:void 0;if(g&&!ua(he)&&(he=ja(f,r)),ua(he)&&(c=he,a))return c;const Oe=e[s+1];s=a?Rr(Oe):os(Oe)}if(null!==t){let f=i?t.residualClasses:t.residualStyles;null!=f&&(c=ja(f,r))}return c}function ua(e){return void 0!==e}function bh(e,t){return 0!=(e.flags&(t?16:32))}function Oh(e,t=""){const n=Ne(),r=Nt(),s=e+22,i=r.firstCreatePass?ui(r,s,1,t,null):r.data[s],a=n[s]=function ul(e,t){return nn(e)?e.createText(t):e.createTextNode(t)}(n[11],t);Wo(r,n,a,i),gr(i,!1)}function hu(e){return ca("",e,""),hu}function ca(e,t,n){const r=Ne(),s=hi(r,e,t,n);return s!==Et&&as(r,E(),s),ca}function pu(e,t,n,r,s){const i=Ne(),a=pi(i,e,t,n,r,s);return a!==Et&&as(i,E(),a),pu}function Fh(e,t,n){Br(Er,qr,hi(Ne(),e,t,n),!0)}const Is=void 0;var gv=["en",[["a","p"],["AM","PM"],Is],[["AM","PM"],Is,Is],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Is,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Is,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Is,"{1} 'at' {0}",Is],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function pv(e){const n=Math.floor(Math.abs(e)),r=e.toString().replace(/^[^.]*\.?/,"").length;return 1===n&&0===r?1:5}];let Ci={};function gu(e){const t=function mv(e){return e.toLowerCase().replace(/_/g,"-")}(e);let n=qh(t);if(n)return n;const r=t.split("-")[0];if(n=qh(r),n)return n;if("en"===r)return gv;throw new Error(`Missing locale data for the locale "${e}".`)}function Zh(e){return gu(e)[dt.PluralCase]}function qh(e){return e in Ci||(Ci[e]=y.ng&&y.ng.common&&y.ng.common.locales&&y.ng.common.locales[e]),Ci[e]}var dt=(()=>((dt=dt||{})[dt.LocaleId=0]="LocaleId",dt[dt.DayPeriodsFormat=1]="DayPeriodsFormat",dt[dt.DayPeriodsStandalone=2]="DayPeriodsStandalone",dt[dt.DaysFormat=3]="DaysFormat",dt[dt.DaysStandalone=4]="DaysStandalone",dt[dt.MonthsFormat=5]="MonthsFormat",dt[dt.MonthsStandalone=6]="MonthsStandalone",dt[dt.Eras=7]="Eras",dt[dt.FirstDayOfWeek=8]="FirstDayOfWeek",dt[dt.WeekendRange=9]="WeekendRange",dt[dt.DateFormat=10]="DateFormat",dt[dt.TimeFormat=11]="TimeFormat",dt[dt.DateTimeFormat=12]="DateTimeFormat",dt[dt.NumberSymbols=13]="NumberSymbols",dt[dt.NumberFormats=14]="NumberFormats",dt[dt.CurrencyCode=15]="CurrencyCode",dt[dt.CurrencySymbol=16]="CurrencySymbol",dt[dt.CurrencyName=17]="CurrencyName",dt[dt.Currencies=18]="Currencies",dt[dt.Directionality=19]="Directionality",dt[dt.PluralCase=20]="PluralCase",dt[dt.ExtraData=21]="ExtraData",dt))();const Ti="en-US";let Yh=Ti;class mD{resolveComponentFactory(t){throw function gD(e){const t=Error(`No component factory found for ${ne(e)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=e,t}(t)}}let ga=(()=>{class e{}return e.NULL=new mD,e})();class Ns{}class Tp{}function ED(){return Mi(Tn(),Ne())}function Mi(e,t){return new fo(P(e,t))}let fo=(()=>{class e{constructor(n){this.nativeElement=n}}return e.__NG_ELEMENT_ID__=ED,e})();function vD(e){return e instanceof fo?e.nativeElement:e}class Sp{}let DD=(()=>{class e{}return e.__NG_ELEMENT_ID__=()=>function TD(){const e=Ne(),n=Ze(Tn().index,e);return function CD(e){return e[11]}(pn(n)?n:e)}(),e})(),SD=(()=>{class e{}return e.\u0275prov=gt({token:e,providedIn:"root",factory:()=>null}),e})();class Mp{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const MD=new Mp("14.0.1"),Cu={};function ma(e,t,n,r,s=!1){for(;null!==n;){const i=t[n.index];if(null!==i&&r.push(Yt(i)),Cn(i))for(let c=10;c<i.length;c++){const f=i[c],g=f[1].firstChild;null!==g&&ma(f[1],f,g,r)}const a=n.type;if(8&a)ma(e,t,n.child,r);else if(32&a){const c=ol(n,t);let f;for(;f=c();)r.push(f)}else if(16&a){const c=md(t,n);if(Array.isArray(c))r.push(...c);else{const f=Xi(t[16]);ma(f[1],f,c,r,!0)}}n=s?n.projectionNext:n.next}return r}class ho{constructor(t,n){this._lView=t,this._cdRefInjectingView=n,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const t=this._lView,n=t[1];return ma(n,t,n.firstChild,[])}get context(){return this._lView[8]}set context(t){this._lView[8]=t}get destroyed(){return 128==(128&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const t=this._lView[3];if(Cn(t)){const n=t[8],r=n?n.indexOf(this):-1;r>-1&&(dl(t,r),Ro(n,r))}this._attachedToViewContainer=!1}od(this._lView[1],this._lView)}onDestroy(t){hf(this._lView[1],this._lView,null,t)}markForCheck(){ql(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){!function Jl(e,t,n){const r=t[10];r.begin&&r.begin();try{di(e,t,e.template,n)}catch(s){throw Mf(t,s),s}finally{r.end&&r.end()}}(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new $(902,"");this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function T_(e,t){eo(e,t,t[11],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new $(902,"");this._appRef=t}}class wD extends ho{constructor(t){super(t),this._view=t}detectChanges(){Df(this._view)}checkNoChanges(){}get context(){return null}}class Tu extends ga{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const n=Pt(t);return new Su(n,this.ngModule)}}function wp(e){const t=[];for(let n in e)e.hasOwnProperty(n)&&t.push({propName:e[n],templateName:n});return t}class OD{constructor(t,n){this.injector=t,this.parentInjector=n}get(t,n,r){const s=this.injector.get(t,Cu,r);return s!==Cu||n===Cu?s:this.parentInjector.get(t,n,r)}}class Su extends Tp{constructor(t,n){super(),this.componentDef=t,this.ngModule=n,this.componentType=t.type,this.selector=function V_(e){return e.map(G_).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!n}get inputs(){return wp(this.componentDef.inputs)}get outputs(){return wp(this.componentDef.outputs)}create(t,n,r,s){let i=(s=s||this.ngModule)instanceof to?s:s?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const a=i?new OD(t,i):t,c=a.get(Sp,Wn),f=a.get(SD,null),g=c.createRenderer(null,this.componentDef),D=this.componentDef.selectors[0][0]||"div",R=r?function ff(e,t,n){if(nn(e))return e.selectRootElement(t,n===U.ShadowDom);let r="string"==typeof t?e.querySelector(t):t;return r.textContent="",r}(g,r,this.componentDef.encapsulation):cl(c.createRenderer(null,this.componentDef),D,function bD(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(D)),q=this.componentDef.onPush?288:272,he=function kf(e,t){return{components:[],scheduler:e||__,clean:iE,playerHandler:t||null,flags:0}}(),Oe=Xo(0,null,null,1,0,null,null,null,null,null),ke=no(null,Oe,he,q,null,null,c,g,f,a,null);let ze,Ye;Ss(ke);try{const ft=function Rf(e,t,n,r,s,i){const a=n[1];n[22]=e;const f=ui(a,22,2,"#host",null),g=f.mergedAttrs=t.hostAttrs;null!==g&&(ta(f,g,!0),null!==e&&(Sr(s,e,g),null!==f.classes&&ml(s,e,f.classes),null!==f.styles&&Ed(s,e,f.styles)));const D=r.createRenderer(e,t),R=no(n,cf(t),null,t.onPush?32:16,n[22],f,r,D,i||null,null,null);return a.firstCreatePass&&(xo(Gr(f,n),a,t.type),_f(a,f),yf(f,n.length,1)),ea(n,R),n[22]=R}(R,this.componentDef,ke,c,g);if(R)if(r)Sr(g,R,["ng-version",MD.full]);else{const{attrs:xe,classes:nt}=function $_(e){const t=[],n=[];let r=1,s=2;for(;r<e.length;){let i=e[r];if("string"==typeof i)2===s?""!==i&&t.push(i,e[++r]):8===s&&n.push(i);else{if(!Lr(s))break;s=i}r++}return{attrs:t,classes:n}}(this.componentDef.selectors[0]);xe&&Sr(g,R,xe),nt&&nt.length>0&&ml(g,R,nt.join(" "))}if(Ye=Me(Oe,22),void 0!==n){const xe=Ye.projection=[];for(let nt=0;nt<this.ngContentSelectors.length;nt++){const Lt=n[nt];xe.push(null!=Lt?Array.from(Lt):null)}}ze=function Ff(e,t,n,r,s){const i=n[1],a=function Vy(e,t,n){const r=Tn();e.firstCreatePass&&(n.providersResolver&&n.providersResolver(n),Ef(e,r,t,ci(e,t,1,null),n));const s=Bi(t,e,r.directiveStart,r);er(s,t);const i=P(r,t);return i&&er(i,t),s}(i,n,t);if(r.components.push(a),e[8]=a,null!==s)for(const f of s)f(a,t);if(t.contentQueries){const f=Tn();t.contentQueries(1,a,f.directiveStart)}const c=Tn();return!i.firstCreatePass||null===t.hostBindings&&null===t.hostAttrs||(N(c.index),gf(n[1],c,0,c.directiveStart,c.directiveEnd,t),mf(t,a)),a}(ft,this.componentDef,ke,he,[mE]),ro(Oe,ke,null)}finally{l()}return new PD(this.componentType,ze,Mi(Ye,ke),ke,Ye)}}class PD extends class yD{}{constructor(t,n,r,s,i){super(),this.location=r,this._rootLView=s,this._tNode=i,this.instance=n,this.hostView=this.changeDetectorRef=new wD(s),this.componentType=t}get injector(){return new qs(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(t){this.hostView.onDestroy(t)}}function ID(e,t){return new bp(e,t??null)}class bp extends Ns{constructor(t,n){super(),this._parent=n,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Tu(this);const r=function _n(e,t){const n=e[mt]||null;if(!n&&!0===t)throw new Error(`Type ${ne(e)} does not have '\u0275mod' property.`);return n}(t);this._bootstrapComponents=function is(e){return e instanceof Function?e():e}(r.bootstrap),this._r3Injector=Ud(t,n,[{provide:Ns,useValue:this},{provide:ga,useValue:this.componentFactoryResolver}],ne(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this.get(t)}get(t,n=zr.THROW_IF_NOT_FOUND,r=qe.Default){return t===zr||t===Ns||t===El?this:this._r3Injector.get(t,n,r)}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(n=>n()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Mu extends class _D{}{constructor(t){super(),this.moduleType=t}create(t){return new bp(this.moduleType,t)}}function Ap(e,t,n){const r=Kn()+e,s=Ne();return s[r]===Et?Kr(s,r,n?t.call(n):t()):function io(e,t){return e[t]}(s,r)}function Pp(e,t,n,r){return Np(Ne(),Kn(),e,t,n,r)}function Ip(e,t,n,r,s){return xp(Ne(),Kn(),e,t,n,r,s)}function po(e,t){const n=e[t];return n===Et?void 0:n}function Np(e,t,n,r,s,i){const a=t+n;return tr(e,a,s)?Kr(e,a+1,i?r.call(i,s):r(s)):po(e,a+1)}function xp(e,t,n,r,s,i,a){const c=t+n;return Ps(e,c,s,i)?Kr(e,c+2,a?r.call(a,s,i):r(s,i)):po(e,c+2)}function kp(e,t){const n=Nt();let r;const s=e+22;n.firstCreatePass?(r=function VD(e,t){if(t)for(let n=t.length-1;n>=0;n--){const r=t[n];if(e===r.name)return r}}(t,n.pipeRegistry),n.data[s]=r,r.onDestroy&&(n.destroyHooks||(n.destroyHooks=[])).push(s,r.onDestroy)):r=n.data[s];const i=r.factory||(r.factory=Or(r.type)),a=Ce(li);try{const c=_r(!1),f=i();return _r(c),function OE(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}(n,Ne(),s,f),f}finally{Ce(a)}}function Bp(e,t,n){const r=e+22,s=Ne(),i=Le(s,r);return go(s,r)?Np(s,Kn(),t,i.transform,n,i):i.transform(n)}function Hp(e,t,n,r){const s=e+22,i=Ne(),a=Le(i,s);return go(i,s)?xp(i,Kn(),t,a.transform,n,r,a):a.transform(n,r)}function go(e,t){return e[1].data[t].pure}function wu(e){return t=>{setTimeout(e,void 0,t)}}const Yr=class KD extends d.x{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,n,r){let s=t,i=n||(()=>null),a=r;if(t&&"object"==typeof t){const f=t;s=f.next?.bind(f),i=f.error?.bind(f),a=f.complete?.bind(f)}this.__isAsync&&(i=wu(i),s&&(s=wu(s)),a&&(a=wu(a)));const c=super.subscribe({next:s,error:i,complete:a});return t instanceof o.w0&&t.add(c),c}};function ZD(){return this._results[As()]()}class bu{constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const n=As(),r=bu.prototype;r[n]||(r[n]=ZD)}get changes(){return this._changes||(this._changes=new Yr)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,n){return this._results.reduce(t,n)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,n){const r=this;r.dirty=!1;const s=yr(t);(this._changesDetected=!function Qg(e,t,n){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++){let s=e[r],i=t[r];if(n&&(s=n(s),i=n(i)),i!==s)return!1}return!0}(r._results,s,n))&&(r._results=s,r.length=s.length,r.last=s[this.length-1],r.first=s[0])}notifyOnChanges(){this._changes&&(this._changesDetected||!this._emitDistinctChangesOnly)&&this._changes.emit(this)}setDirty(){this.dirty=!0}destroy(){this.changes.complete(),this.changes.unsubscribe()}}let mo=(()=>{class e{}return e.__NG_ELEMENT_ID__=JD,e})();const qD=mo,YD=class extends qD{constructor(t,n,r){super(),this._declarationLView=t,this._declarationTContainer=n,this.elementRef=r}createEmbeddedView(t,n){const r=this._declarationTContainer.tViews,s=no(this._declarationLView,r,t,16,null,r.declTNode,null,null,null,null,n||null);s[17]=this._declarationLView[this._declarationTContainer.index];const a=this._declarationLView[19];return null!==a&&(s[19]=a.createEmbeddedView(r)),ro(r,s,t),new ho(s)}};function JD(){return _a(Tn(),Ne())}function _a(e,t){return 4&e.type?new YD(t,e,Mi(e,t)):null}let ya=(()=>{class e{}return e.__NG_ELEMENT_ID__=QD,e})();function QD(){return Gp(Tn(),Ne())}const XD=ya,Up=class extends XD{constructor(t,n,r){super(),this._lContainer=t,this._hostTNode=n,this._hostLView=r}get element(){return Mi(this._hostTNode,this._hostLView)}get injector(){return new qs(this._hostTNode,this._hostLView)}get parentInjector(){const t=No(this._hostTNode,this._hostLView);if(ct(t)){const n=Zn(t,this._hostLView),r=Dt(t);return new qs(n[1].data[r+8],n)}return new qs(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const n=jp(this._lContainer);return null!==n&&n[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,n,r){let s,i;"number"==typeof r?s=r:null!=r&&(s=r.index,i=r.injector);const a=t.createEmbeddedView(n||{},i);return this.insert(a,s),a}createComponent(t,n,r,s,i){const a=t&&!function Ui(e){return"function"==typeof e}(t);let c;if(a)c=n;else{const R=n||{};c=R.index,r=R.injector,s=R.projectableNodes,i=R.environmentInjector||R.ngModuleRef}const f=a?t:new Su(Pt(t)),g=r||this.parentInjector;if(!i&&null==f.ngModule){const q=(a?g:this.parentInjector).get(to,null);q&&(i=q)}const D=f.create(g,s,void 0,i);return this.insert(D.hostView,c),D}insert(t,n){const r=t._lView,s=r[1];if(function Wt(e){return Cn(e[3])}(r)){const D=this.indexOf(t);if(-1!==D)this.detach(D);else{const R=r[3],q=new Up(R,R[6],R[3]);q.detach(q.indexOf(t))}}const i=this._adjustIndex(n),a=this._lContainer;!function M_(e,t,n,r){const s=10+r,i=n.length;r>0&&(n[s-1][4]=t),r<i-10?(t[4]=n[s],_c(n,10+r,t)):(n.push(t),t[4]=null),t[3]=n;const a=t[17];null!==a&&n!==a&&function w_(e,t){const n=e[9];t[16]!==t[3][3][16]&&(e[2]=!0),null===n?e[9]=[t]:n.push(t)}(a,t);const c=t[19];null!==c&&c.insertView(e),t[2]|=64}(s,r,a,i);const c=pl(i,a),f=r[11],g=zo(f,a[7]);return null!==g&&function C_(e,t,n,r,s,i){r[0]=s,r[6]=t,eo(e,r,n,1,s,i)}(s,a[6],f,r,g,c),t.attachToViewContainerRef(),_c(Ou(a),i,t),t}move(t,n){return this.insert(t,n)}indexOf(t){const n=jp(this._lContainer);return null!==n?n.indexOf(t):-1}remove(t){const n=this._adjustIndex(t,-1),r=dl(this._lContainer,n);r&&(Ro(Ou(this._lContainer),n),od(r[1],r))}detach(t){const n=this._adjustIndex(t,-1),r=dl(this._lContainer,n);return r&&null!=Ro(Ou(this._lContainer),n)?new ho(r):null}_adjustIndex(t,n=0){return t??this.length+n}};function jp(e){return e[8]}function Ou(e){return e[8]||(e[8]=[])}function Gp(e,t){let n;const r=t[e.index];if(Cn(r))n=r;else{let s;if(8&e.type)s=Yt(r);else{const i=t[11];s=i.createComment("");const a=P(e,t);bs(i,zo(i,a),s,function P_(e,t){return nn(e)?e.nextSibling(t):t.nextSibling}(i,a),!1)}t[e.index]=n=vf(r,t,s,e),ea(t,n)}return new Up(n,e,t)}class Au{constructor(t){this.queryList=t,this.matches=null}clone(){return new Au(this.queryList)}setDirty(){this.queryList.setDirty()}}class Pu{constructor(t=[]){this.queries=t}createEmbeddedView(t){const n=t.queries;if(null!==n){const r=null!==t.contentQueries?t.contentQueries[0]:n.length,s=[];for(let i=0;i<r;i++){const a=n.getByIndex(i);s.push(this.queries[a.indexInDeclarationView].clone())}return new Pu(s)}return null}insertView(t){this.dirtyQueriesWithMatches(t)}detachView(t){this.dirtyQueriesWithMatches(t)}dirtyQueriesWithMatches(t){for(let n=0;n<this.queries.length;n++)null!==Yp(t,n).matches&&this.queries[n].setDirty()}}class Vp{constructor(t,n,r=null){this.predicate=t,this.flags=n,this.read=r}}class Iu{constructor(t=[]){this.queries=t}elementStart(t,n){for(let r=0;r<this.queries.length;r++)this.queries[r].elementStart(t,n)}elementEnd(t){for(let n=0;n<this.queries.length;n++)this.queries[n].elementEnd(t)}embeddedTView(t){let n=null;for(let r=0;r<this.length;r++){const s=null!==n?n.length:0,i=this.getByIndex(r).embeddedTView(t,s);i&&(i.indexInDeclarationView=r,null!==n?n.push(i):n=[i])}return null!==n?new Iu(n):null}template(t,n){for(let r=0;r<this.queries.length;r++)this.queries[r].template(t,n)}getByIndex(t){return this.queries[t]}get length(){return this.queries.length}track(t){this.queries.push(t)}}class Nu{constructor(t,n=-1){this.metadata=t,this.matches=null,this.indexInDeclarationView=-1,this.crossesNgTemplate=!1,this._appliesToNextNode=!0,this._declarationNodeIndex=n}elementStart(t,n){this.isApplyingToNode(n)&&this.matchTNode(t,n)}elementEnd(t){this._declarationNodeIndex===t.index&&(this._appliesToNextNode=!1)}template(t,n){this.elementStart(t,n)}embeddedTView(t,n){return this.isApplyingToNode(t)?(this.crossesNgTemplate=!0,this.addMatch(-t.index,n),new Nu(this.metadata)):null}isApplyingToNode(t){if(this._appliesToNextNode&&1!=(1&this.metadata.flags)){const n=this._declarationNodeIndex;let r=t.parent;for(;null!==r&&8&r.type&&r.index!==n;)r=r.parent;return n===(null!==r?r.index:-1)}return this._appliesToNextNode}matchTNode(t,n){const r=this.metadata.predicate;if(Array.isArray(r))for(let s=0;s<r.length;s++){const i=r[s];this.matchTNodeWithReadOption(t,n,nC(n,i)),this.matchTNodeWithReadOption(t,n,Lo(n,t,i,!1,!1))}else r===mo?4&n.type&&this.matchTNodeWithReadOption(t,n,-1):this.matchTNodeWithReadOption(t,n,Lo(n,t,r,!1,!1))}matchTNodeWithReadOption(t,n,r){if(null!==r){const s=this.metadata.read;if(null!==s)if(s===fo||s===ya||s===mo&&4&n.type)this.addMatch(n.index,-2);else{const i=Lo(n,t,s,!1,!1);null!==i&&this.addMatch(n.index,i)}else this.addMatch(n.index,r)}}addMatch(t,n){null===this.matches?this.matches=[t,n]:this.matches.push(t,n)}}function nC(e,t){const n=e.localNames;if(null!==n)for(let r=0;r<n.length;r+=2)if(n[r]===t)return n[r+1];return null}function sC(e,t,n,r){return-1===n?function rC(e,t){return 11&e.type?Mi(e,t):4&e.type?_a(e,t):null}(t,e):-2===n?function iC(e,t,n){return n===fo?Mi(t,e):n===mo?_a(t,e):n===ya?Gp(t,e):void 0}(e,t,r):Bi(e,e[1],n,t)}function $p(e,t,n,r){const s=t[19].queries[r];if(null===s.matches){const i=e.data,a=n.matches,c=[];for(let f=0;f<a.length;f+=2){const g=a[f];c.push(g<0?null:sC(t,i[g],a[f+1],n.metadata.read))}s.matches=c}return s.matches}function xu(e,t,n,r){const s=e.queries.getByIndex(n),i=s.matches;if(null!==i){const a=$p(e,t,s,n);for(let c=0;c<i.length;c+=2){const f=i[c];if(f>0)r.push(a[c/2]);else{const g=i[c+1],D=t[-f];for(let R=10;R<D.length;R++){const q=D[R];q[17]===q[3]&&xu(q[1],q,g,r)}if(null!==D[9]){const R=D[9];for(let q=0;q<R.length;q++){const he=R[q];xu(he[1],he,g,r)}}}}}return r}function zp(e){const t=Ne(),n=Nt(),r=bo();Ri(r+1);const s=Yp(n,r);if(e.dirty&&Gt(t)===(2==(2&s.metadata.flags))){if(null===s.matches)e.reset([]);else{const i=s.crossesNgTemplate?xu(n,t,r,[]):$p(n,t,s,r);e.reset(i,vD),e.notifyOnChanges()}return!0}return!1}function Wp(e,t,n){const r=Nt();r.firstCreatePass&&(function qp(e,t,n){null===e.queries&&(e.queries=new Iu),e.queries.track(new Nu(t,n))}(r,new Vp(e,t,n),-1),2==(2&t)&&(r.staticViewQueries=!0)),function Zp(e,t,n){const r=new bu(4==(4&n));hf(e,t,r,r.destroy),null===t[19]&&(t[19]=new Pu),t[19].queries.push(new Au(r))}(r,Ne(),t)}function Kp(){return function aC(e,t){return e[19].queries[t].queryList}(Ne(),bo())}function Yp(e,t){return e.queries.getByIndex(t)}function Jp(e,t){return _a(e,t)}function va(...e){}const mg=new rn("Application Initializer");let Da=(()=>{class e{constructor(n){this.appInits=n,this.resolve=va,this.reject=va,this.initialized=!1,this.done=!1,this.donePromise=new Promise((r,s)=>{this.resolve=r,this.reject=s})}runInitializers(){if(this.initialized)return;const n=[],r=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let s=0;s<this.appInits.length;s++){const i=this.appInits[s]();if(ou(i))n.push(i);else if(IE(i)){const a=new Promise((c,f)=>{i.subscribe({complete:c,error:f})});n.push(a)}}Promise.all(n).then(()=>{r()}).catch(s=>{this.reject(s)}),0===n.length&&r(),this.initialized=!0}}return e.\u0275fac=function(n){return new(n||e)(Mn(mg,8))},e.\u0275prov=gt({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();const _g=new rn("AppId",{providedIn:"root",factory:function yg(){return`${Bu()}${Bu()}${Bu()}`}});function Bu(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Eg=new rn("Platform Initializer"),OC=new rn("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),AC=new rn("appBootstrapListener"),PC=new rn("AnimationModuleType");let IC=(()=>{class e{log(n){console.log(n)}warn(n){console.warn(n)}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=gt({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();const Ca=new rn("LocaleId",{providedIn:"root",factory:()=>function dm(e,t=qe.Default){return Mn(e,t)}(Ca,qe.Optional|qe.SkipSelf)||function NC(){return typeof $localize<"u"&&$localize.locale||Ti}()}),xC=new rn("DefaultCurrencyCode",{providedIn:"root",factory:()=>"USD"}),FC=(()=>Promise.resolve(0))();function Hu(e){typeof Zone>"u"?FC.then(()=>{e&&e.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",e)}class Dr{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Yr(!1),this.onMicrotaskEmpty=new Yr(!1),this.onStable=new Yr(!1),this.onError=new Yr(!1),typeof Zone>"u")throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!r&&n,s.shouldCoalesceRunChangeDetection=r,s.lastRequestAnimationFrameId=-1,s.nativeRequestAnimationFrame=function kC(){let e=y.requestAnimationFrame,t=y.cancelAnimationFrame;if(typeof Zone<"u"&&e&&t){const n=e[Zone.__symbol__("OriginalDelegate")];n&&(e=n);const r=t[Zone.__symbol__("OriginalDelegate")];r&&(t=r)}return{nativeRequestAnimationFrame:e,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function UC(e){const t=()=>{!function HC(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(y,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,ju(e),e.isCheckStableRunning=!0,Uu(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),ju(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(n,r,s,i,a,c)=>{try{return vg(e),n.invokeTask(s,i,a,c)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&t(),Dg(e)}},onInvoke:(n,r,s,i,a,c,f)=>{try{return vg(e),n.invoke(s,i,a,c,f)}finally{e.shouldCoalesceRunChangeDetection&&t(),Dg(e)}},onHasTask:(n,r,s,i)=>{n.hasTask(s,i),r===s&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,ju(e),Uu(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(n,r,s,i)=>(n.handleError(s,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(s)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Dr.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(Dr.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(t,n,r){return this._inner.run(t,n,r)}runTask(t,n,r,s){const i=this._inner,a=i.scheduleEventTask("NgZoneEvent: "+s,t,BC,va,va);try{return i.runTask(a,n,r)}finally{i.cancelTask(a)}}runGuarded(t,n,r){return this._inner.runGuarded(t,n,r)}runOutsideAngular(t){return this._outer.run(t)}}const BC={};function Uu(e){if(0==e._nesting&&!e.hasPendingMicrotasks&&!e.isStable)try{e._nesting++,e.onMicrotaskEmpty.emit(null)}finally{if(e._nesting--,!e.hasPendingMicrotasks)try{e.runOutsideAngular(()=>e.onStable.emit(null))}finally{e.isStable=!0}}}function ju(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function vg(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Dg(e){e._nesting--,Uu(e)}class jC{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Yr,this.onMicrotaskEmpty=new Yr,this.onStable=new Yr,this.onError=new Yr}run(t,n,r){return t.apply(n,r)}runGuarded(t,n,r){return t.apply(n,r)}runOutsideAngular(t){return t()}runTask(t,n,r,s){return t.apply(n,r)}}const Cg=new rn(""),Tg=new rn("");let Gu,GC=(()=>{class e{constructor(n,r,s){this._ngZone=n,this.registry=r,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Gu||(function VC(e){Gu=e}(s),s.addToWindow(r)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{Dr.assertNotInAngularZone(),Hu(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Hu(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(r=>!r.updateCb||!r.updateCb(n)||(clearTimeout(r.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,r,s){let i=-1;r&&r>0&&(i=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==i),n(this._didWork,this.getPendingTasks())},r)),this._callbacks.push({doneCb:n,timeoutId:i,updateCb:s})}whenStable(n,r,s){if(s&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,r,s),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,r,s){return[]}}return e.\u0275fac=function(n){return new(n||e)(Mn(Dr),Mn(Sg),Mn(Tg))},e.\u0275prov=gt({token:e,factory:e.\u0275fac}),e})(),Sg=(()=>{class e{constructor(){this._applications=new Map}registerApplication(n,r){this._applications.set(n,r)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,r=!0){return Gu?.findTestabilityInTree(this,n,r)??null}}return e.\u0275fac=function(n){return new(n||e)},e.\u0275prov=gt({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})(),gs=null;const Mg=new rn("AllowMultipleToken"),wg=new rn("PlatformOnDestroy");function Og(e,t,n=[]){const r=`Platform: ${t}`,s=new rn(r);return(i=[])=>{let a=Vu();if(!a||a.injector.get(Mg,!1)){const c=[...n,...i,{provide:s,useValue:!0}];e?e(c):function WC(e){if(gs&&!gs.get(Mg,!1))throw new $(400,"");gs=e;const t=e.get(Pg);(function bg(e){const t=e.get(Eg,null);t&&t.forEach(n=>n())})(e)}(function Ag(e=[],t){return zr.create({name:t,providers:[{provide:vl,useValue:"platform"},{provide:wg,useValue:()=>gs=null},...e]})}(c,r))}return function ZC(e){const t=Vu();if(!t)throw new $(401,"");return t}()}}function Vu(){return gs?.get(Pg)??null}let Pg=(()=>{class e{constructor(n){this._injector=n,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(n,r){const s=function qC(e,t){let n;return n="noop"===e?new jC:("zone.js"===e?void 0:e)||new Dr(t),n}(r?.ngZone,function Ig(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!e||!e.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!e||!e.ngZoneRunCoalescing)||!1}}(r)),i=[{provide:Dr,useValue:s}];return s.run(()=>{const a=zr.create({providers:i,parent:this.injector,name:n.moduleType.name}),c=n.create(a),f=c.injector.get(Ji,null);if(!f)throw new $(402,"");return s.runOutsideAngular(()=>{const g=s.onError.subscribe({next:D=>{f.handleError(D)}});c.onDestroy(()=>{Ta(this._modules,c),g.unsubscribe()})}),function Ng(e,t,n){try{const r=n();return ou(r)?r.catch(s=>{throw t.runOutsideAngular(()=>e.handleError(s)),s}):r}catch(r){throw t.runOutsideAngular(()=>e.handleError(r)),r}}(f,s,()=>{const g=c.injector.get(Da);return g.runInitializers(),g.donePromise.then(()=>(function Jh(e){at(e,"Expected localeId to be defined"),"string"==typeof e&&(Yh=e.toLowerCase().replace(/_/g,"-"))}(c.injector.get(Ca,Ti)||Ti),this._moduleDoBootstrap(c),c))})})}bootstrapModule(n,r=[]){const s=xg({},r);return function $C(e,t,n){const r=new Mu(n);return Promise.resolve(r)}(0,0,n).then(i=>this.bootstrapModuleFactory(i,s))}_moduleDoBootstrap(n){const r=n.injector.get($u);if(n._bootstrapComponents.length>0)n._bootstrapComponents.forEach(s=>r.bootstrap(s));else{if(!n.instance.ngDoBootstrap)throw new $(403,"");n.instance.ngDoBootstrap(r)}this._modules.push(n)}onDestroy(n){this._destroyListeners.push(n)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new $(404,"");this._modules.slice().forEach(r=>r.destroy()),this._destroyListeners.forEach(r=>r()),this._injector.get(wg,null)?.(),this._destroyed=!0}get destroyed(){return this._destroyed}}return e.\u0275fac=function(n){return new(n||e)(Mn(zr))},e.\u0275prov=gt({token:e,factory:e.\u0275fac,providedIn:"platform"}),e})();function xg(e,t){return Array.isArray(t)?t.reduce(xg,e):{...e,...t}}let $u=(()=>{class e{constructor(n,r,s,i){this._zone=n,this._injector=r,this._exceptionHandler=s,this._initStatus=i,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new k.y(f=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{f.next(this._stable),f.complete()})}),c=new k.y(f=>{let g;this._zone.runOutsideAngular(()=>{g=this._zone.onStable.subscribe(()=>{Dr.assertNotInAngularZone(),Hu(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,f.next(!0))})})});const D=this._zone.onUnstable.subscribe(()=>{Dr.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{f.next(!1)}))});return()=>{g.unsubscribe(),D.unsubscribe()}});this.isStable=(0,oe.T)(a,c.pipe((0,w.B)()))}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,r){const s=n instanceof Tp;if(!this._initStatus.done)throw!s&&function yo(e){const t=Pt(e)||Ht(e)||tn(e);return null!==t&&t.standalone}(n),new $(405,false);let i;i=s?n:this._injector.get(ga).resolveComponentFactory(n),this.componentTypes.push(i.componentType);const a=function zC(e){return e.isBoundToModule}(i)?void 0:this._injector.get(Ns),f=i.create(zr.NULL,[],r||i.selector,a),g=f.location.nativeElement,D=f.injector.get(Cg,null);return D?.registerApplication(g),f.onDestroy(()=>{this.detachView(f.hostView),Ta(this.components,f),D?.unregisterApplication(g)}),this._loadComponent(f),f}tick(){if(this._runningTick)throw new $(101,"");try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(n))}finally{this._runningTick=!1}}attachView(n){const r=n;this._views.push(r),r.attachToAppRef(this)}detachView(n){const r=n;Ta(this._views,r),r.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n),this._injector.get(AC,[]).concat(this._bootstrapListeners).forEach(s=>s(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>Ta(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new $(406,false);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return e.\u0275fac=function(n){return new(n||e)(Mn(Dr),Mn(zr),Mn(Ji),Mn(Da))},e.\u0275prov=gt({token:e,factory:e.\u0275fac,providedIn:"root"}),e})();function Ta(e,t){const n=e.indexOf(t);n>-1&&e.splice(n,1)}let Rg=!0;function JC(){Rg=!1}let QC=(()=>{class e{}return e.__NG_ELEMENT_ID__=XC,e})();function XC(e){return function e0(e,t,n){if(ir(e)&&!n){const r=Ze(e.index,t);return new ho(r,r)}return 47&e.type?new ho(t[16],t):null}(Tn(),Ne(),16==(16&e))}class Ug{constructor(){}supports(t){return so(t)}create(t){return new a0(t)}}const o0=(e,t)=>t;class a0{constructor(t){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=t||o0}forEachItem(t){let n;for(n=this._itHead;null!==n;n=n._next)t(n)}forEachOperation(t){let n=this._itHead,r=this._removalsHead,s=0,i=null;for(;n||r;){const a=!r||n&&n.currentIndex<Gg(r,s,i)?n:r,c=Gg(a,s,i),f=a.currentIndex;if(a===r)s--,r=r._nextRemoved;else if(n=n._next,null==a.previousIndex)s++;else{i||(i=[]);const g=c-s,D=f-s;if(g!=D){for(let q=0;q<g;q++){const he=q<i.length?i[q]:i[q]=0,Oe=he+q;D<=Oe&&Oe<g&&(i[q]=he+1)}i[a.previousIndex]=D-g}}c!==f&&t(a,c,f)}}forEachPreviousItem(t){let n;for(n=this._previousItHead;null!==n;n=n._nextPrevious)t(n)}forEachAddedItem(t){let n;for(n=this._additionsHead;null!==n;n=n._nextAdded)t(n)}forEachMovedItem(t){let n;for(n=this._movesHead;null!==n;n=n._nextMoved)t(n)}forEachRemovedItem(t){let n;for(n=this._removalsHead;null!==n;n=n._nextRemoved)t(n)}forEachIdentityChange(t){let n;for(n=this._identityChangesHead;null!==n;n=n._nextIdentityChange)t(n)}diff(t){if(null==t&&(t=[]),!so(t))throw new $(900,"");return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let s,i,a,n=this._itHead,r=!1;if(Array.isArray(t)){this.length=t.length;for(let c=0;c<this.length;c++)i=t[c],a=this._trackByFn(c,i),null!==n&&Object.is(n.trackById,a)?(r&&(n=this._verifyReinsertion(n,i,a,c)),Object.is(n.item,i)||this._addIdentityChange(n,i)):(n=this._mismatch(n,i,a,c),r=!0),n=n._next}else s=0,function ME(e,t){if(Array.isArray(e))for(let n=0;n<e.length;n++)t(e[n]);else{const n=e[As()]();let r;for(;!(r=n.next()).done;)t(r.value)}}(t,c=>{a=this._trackByFn(s,c),null!==n&&Object.is(n.trackById,a)?(r&&(n=this._verifyReinsertion(n,c,a,s)),Object.is(n.item,c)||this._addIdentityChange(n,c)):(n=this._mismatch(n,c,a,s),r=!0),n=n._next,s++}),this.length=s;return this._truncate(n),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,n,r,s){let i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._reinsertAfter(t,i,s)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(r,s))?(Object.is(t.item,n)||this._addIdentityChange(t,n),this._moveAfter(t,i,s)):t=this._addAfter(new l0(n,r),i,s),t}_verifyReinsertion(t,n,r,s){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(r,null);return null!==i?t=this._reinsertAfter(i,t._prev,s):t.currentIndex!=s&&(t.currentIndex=s,this._addToMoves(t,s)),t}_truncate(t){for(;null!==t;){const n=t._next;this._addToRemovals(this._unlink(t)),t=n}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,n,r){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const s=t._prevRemoved,i=t._nextRemoved;return null===s?this._removalsHead=i:s._nextRemoved=i,null===i?this._removalsTail=s:i._prevRemoved=s,this._insertAfter(t,n,r),this._addToMoves(t,r),t}_moveAfter(t,n,r){return this._unlink(t),this._insertAfter(t,n,r),this._addToMoves(t,r),t}_addAfter(t,n,r){return this._insertAfter(t,n,r),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,n,r){const s=null===n?this._itHead:n._next;return t._next=s,t._prev=n,null===s?this._itTail=t:s._prev=t,null===n?this._itHead=t:n._next=t,null===this._linkedRecords&&(this._linkedRecords=new jg),this._linkedRecords.put(t),t.currentIndex=r,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const n=t._prev,r=t._next;return null===n?this._itHead=r:n._next=r,null===r?this._itTail=n:r._prev=n,t}_addToMoves(t,n){return t.previousIndex===n||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new jg),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,n){return t.item=n,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class l0{constructor(t,n){this.item=t,this.trackById=n,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class u0{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,n){let r;for(r=this._head;null!==r;r=r._nextDup)if((null===n||n<=r.currentIndex)&&Object.is(r.trackById,t))return r;return null}remove(t){const n=t._prevDup,r=t._nextDup;return null===n?this._head=r:n._nextDup=r,null===r?this._tail=n:r._prevDup=n,null===this._head}}class jg{constructor(){this.map=new Map}put(t){const n=t.trackById;let r=this.map.get(n);r||(r=new u0,this.map.set(n,r)),r.add(t)}get(t,n){const s=this.map.get(t);return s?s.get(t,n):null}remove(t){const n=t.trackById;return this.map.get(n).remove(t)&&this.map.delete(n),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Gg(e,t,n){const r=e.previousIndex;if(null===r)return r;let s=0;return n&&r<n.length&&(s=n[r]),r+t+s}class Vg{constructor(){}supports(t){return t instanceof Map||tu(t)}create(){return new c0}}class c0{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(t){let n;for(n=this._mapHead;null!==n;n=n._next)t(n)}forEachPreviousItem(t){let n;for(n=this._previousMapHead;null!==n;n=n._nextPrevious)t(n)}forEachChangedItem(t){let n;for(n=this._changesHead;null!==n;n=n._nextChanged)t(n)}forEachAddedItem(t){let n;for(n=this._additionsHead;null!==n;n=n._nextAdded)t(n)}forEachRemovedItem(t){let n;for(n=this._removalsHead;null!==n;n=n._nextRemoved)t(n)}diff(t){if(t){if(!(t instanceof Map||tu(t)))throw new $(900,"")}else t=new Map;return this.check(t)?this:null}onDestroy(){}check(t){this._reset();let n=this._mapHead;if(this._appendAfter=null,this._forEach(t,(r,s)=>{if(n&&n.key===s)this._maybeAddToChanges(n,r),this._appendAfter=n,n=n._next;else{const i=this._getOrCreateRecordForKey(s,r);n=this._insertBeforeOrAppend(n,i)}}),n){n._prev&&(n._prev._next=null),this._removalsHead=n;for(let r=n;null!==r;r=r._nextRemoved)r===this._mapHead&&(this._mapHead=null),this._records.delete(r.key),r._nextRemoved=r._next,r.previousValue=r.currentValue,r.currentValue=null,r._prev=null,r._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,n){if(t){const r=t._prev;return n._next=t,n._prev=r,t._prev=n,r&&(r._next=n),t===this._mapHead&&(this._mapHead=n),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=n,n._prev=this._appendAfter):this._mapHead=n,this._appendAfter=n,null}_getOrCreateRecordForKey(t,n){if(this._records.has(t)){const s=this._records.get(t);this._maybeAddToChanges(s,n);const i=s._prev,a=s._next;return i&&(i._next=a),a&&(a._prev=i),s._next=null,s._prev=null,s}const r=new d0(t);return this._records.set(t,r),r.currentValue=n,this._addToAdditions(r),r}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,n){Object.is(n,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=n,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,n){t instanceof Map?t.forEach(n):Object.keys(t).forEach(r=>n(t[r],r))}}class d0{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function $g(){return new qu([new Ug])}let qu=(()=>{class e{constructor(n){this.factories=n}static create(n,r){if(null!=r){const s=r.factories.slice();n=n.concat(s)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||$g()),deps:[[e,new Ho,new zi]]}}find(n){const r=this.factories.find(s=>s.supports(n));if(null!=r)return r;throw new $(901,"")}}return e.\u0275prov=gt({token:e,providedIn:"root",factory:$g}),e})();function zg(){return new Yu([new Vg])}let Yu=(()=>{class e{constructor(n){this.factories=n}static create(n,r){if(r){const s=r.factories.slice();n=n.concat(s)}return new e(n)}static extend(n){return{provide:e,useFactory:r=>e.create(n,r||zg()),deps:[[e,new Ho,new zi]]}}find(n){const r=this.factories.find(i=>i.supports(n));if(r)return r;throw new $(901,"")}}return e.\u0275prov=gt({token:e,providedIn:"root",factory:zg}),e})();const p0=Og(null,"core",[]);let g0=(()=>{class e{constructor(n){}}return e.\u0275fac=function(n){return new(n||e)(Mn($u))},e.\u0275mod=Hn({type:e}),e.\u0275inj=ln({}),e})()},1481:($e,De,v)=>{"use strict";v.d(De,{H7:()=>_n,b2:()=>Fe,h_:()=>_e,hm:()=>Pt,ok:()=>nr,q6:()=>qe,se:()=>ce,t6:()=>tn});var d=v(6895),o=v(4650);class k extends d.w_{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class oe extends k{static makeCurrent(){(0,d.HT)(new oe)}onAndCancel(z,x,Y){return z.addEventListener(x,Y,!1),()=>{z.removeEventListener(x,Y,!1)}}dispatchEvent(z,x){z.dispatchEvent(x)}remove(z){z.parentNode&&z.parentNode.removeChild(z)}createElement(z,x){return(x=x||this.getDefaultDocument()).createElement(z)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(z){return z.nodeType===Node.ELEMENT_NODE}isShadowRoot(z){return z instanceof DocumentFragment}getGlobalEventTarget(z,x){return"window"===x?window:"document"===x?z:"body"===x?z.body:null}getBaseHref(z){const x=function F(){return w=w||document.querySelector("base"),w?w.getAttribute("href"):null}();return null==x?null:function ne(X){G=G||document.createElement("a"),G.setAttribute("href",X);const z=G.pathname;return"/"===z.charAt(0)?z:`/${z}`}(x)}resetBaseElement(){w=null}getUserAgent(){return window.navigator.userAgent}getCookie(z){return(0,d.Mx)(document.cookie,z)}}let G,w=null;const ae=new o.OlP("TRANSITION_ID"),J=[{provide:o.ip1,useFactory:function se(X,z,x){return()=>{x.get(o.CZH).donePromise.then(()=>{const Y=(0,d.q)(),Se=z.querySelectorAll(`style[ng-transition="${X}"]`);for(let Ge=0;Ge<Se.length;Ge++)Y.remove(Se[Ge])})}},deps:[ae,d.K0,o.zs3],multi:!0}];let Ie=(()=>{class X{build(){return new XMLHttpRequest}}return X.\u0275fac=function(x){return new(x||X)},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})();const ge=new o.OlP("EventManagerPlugins");let $=(()=>{class X{constructor(x,Y){this._zone=Y,this._eventNameToPlugin=new Map,x.forEach(Se=>Se.manager=this),this._plugins=x.slice().reverse()}addEventListener(x,Y,Se){return this._findPluginFor(Y).addEventListener(x,Y,Se)}addGlobalEventListener(x,Y,Se){return this._findPluginFor(Y).addGlobalEventListener(x,Y,Se)}getZone(){return this._zone}_findPluginFor(x){const Y=this._eventNameToPlugin.get(x);if(Y)return Y;const Se=this._plugins;for(let Ge=0;Ge<Se.length;Ge++){const ut=Se[Ge];if(ut.supports(x))return this._eventNameToPlugin.set(x,ut),ut}throw new Error(`No event manager plugin found for event ${x}`)}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(ge),o.LFG(o.R0b))},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})();class de{constructor(z){this._doc=z}addGlobalEventListener(z,x,Y){const Se=(0,d.q)().getGlobalEventTarget(this._doc,z);if(!Se)throw new Error(`Unsupported event target ${Se} for event ${x}`);return this.addEventListener(Se,x,Y)}}let L=(()=>{class X{constructor(){this._stylesSet=new Set}addStyles(x){const Y=new Set;x.forEach(Se=>{this._stylesSet.has(Se)||(this._stylesSet.add(Se),Y.add(Se))}),this.onStylesAdded(Y)}onStylesAdded(x){}getAllStyles(){return Array.from(this._stylesSet)}}return X.\u0275fac=function(x){return new(x||X)},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})(),I=(()=>{class X extends L{constructor(x){super(),this._doc=x,this._hostNodes=new Map,this._hostNodes.set(x.head,[])}_addStylesToHost(x,Y,Se){x.forEach(Ge=>{const ut=this._doc.createElement("style");ut.textContent=Ge,Se.push(Y.appendChild(ut))})}addHost(x){const Y=[];this._addStylesToHost(this._stylesSet,x,Y),this._hostNodes.set(x,Y)}removeHost(x){const Y=this._hostNodes.get(x);Y&&Y.forEach(M),this._hostNodes.delete(x)}onStylesAdded(x){this._hostNodes.forEach((Y,Se)=>{this._addStylesToHost(x,Se,Y)})}ngOnDestroy(){this._hostNodes.forEach(x=>x.forEach(M))}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(d.K0))},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})();function M(X){(0,d.q)().remove(X)}const re={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/",math:"http://www.w3.org/1998/MathML/"},O=/%COMP%/g,B="%COMP%",Te=`_nghost-${B}`,te=`_ngcontent-${B}`;function H(X,z,x){for(let Y=0;Y<z.length;Y++){let Se=z[Y];Array.isArray(Se)?H(X,Se,x):(Se=Se.replace(O,X),x.push(Se))}return x}function Q(X){return z=>{if("__ngUnwrap__"===z)return X;!1===X(z)&&(z.preventDefault(),z.returnValue=!1)}}let ce=(()=>{class X{constructor(x,Y,Se){this.eventManager=x,this.sharedStylesHost=Y,this.appId=Se,this.rendererByCompId=new Map,this.defaultRenderer=new fe(x)}createRenderer(x,Y){if(!x||!Y)return this.defaultRenderer;switch(Y.encapsulation){case o.ifc.Emulated:{let Se=this.rendererByCompId.get(Y.id);return Se||(Se=new at(this.eventManager,this.sharedStylesHost,Y,this.appId),this.rendererByCompId.set(Y.id,Se)),Se.applyToHost(x),Se}case 1:case o.ifc.ShadowDom:return new Be(this.eventManager,this.sharedStylesHost,x,Y);default:if(!this.rendererByCompId.has(Y.id)){const Se=H(Y.id,Y.styles,[]);this.sharedStylesHost.addStyles(Se),this.rendererByCompId.set(Y.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return X.\u0275fac=function(x){return new(x||X)(o.LFG($),o.LFG(I),o.LFG(o.AFp))},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})();class fe{constructor(z){this.eventManager=z,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(z,x){return x?document.createElementNS(re[x]||x,z):document.createElement(z)}createComment(z){return document.createComment(z)}createText(z){return document.createTextNode(z)}appendChild(z,x){(pt(z)?z.content:z).appendChild(x)}insertBefore(z,x,Y){z&&(pt(z)?z.content:z).insertBefore(x,Y)}removeChild(z,x){z&&z.removeChild(x)}selectRootElement(z,x){let Y="string"==typeof z?document.querySelector(z):z;if(!Y)throw new Error(`The selector "${z}" did not match any elements`);return x||(Y.textContent=""),Y}parentNode(z){return z.parentNode}nextSibling(z){return z.nextSibling}setAttribute(z,x,Y,Se){if(Se){x=Se+":"+x;const Ge=re[Se];Ge?z.setAttributeNS(Ge,x,Y):z.setAttribute(x,Y)}else z.setAttribute(x,Y)}removeAttribute(z,x,Y){if(Y){const Se=re[Y];Se?z.removeAttributeNS(Se,x):z.removeAttribute(`${Y}:${x}`)}else z.removeAttribute(x)}addClass(z,x){z.classList.add(x)}removeClass(z,x){z.classList.remove(x)}setStyle(z,x,Y,Se){Se&(o.JOm.DashCase|o.JOm.Important)?z.style.setProperty(x,Y,Se&o.JOm.Important?"important":""):z.style[x]=Y}removeStyle(z,x,Y){Y&o.JOm.DashCase?z.style.removeProperty(x):z.style[x]=""}setProperty(z,x,Y){z[x]=Y}setValue(z,x){z.nodeValue=x}listen(z,x,Y){return"string"==typeof z?this.eventManager.addGlobalEventListener(z,x,Q(Y)):this.eventManager.addEventListener(z,x,Q(Y))}}function pt(X){return"TEMPLATE"===X.tagName&&void 0!==X.content}class at extends fe{constructor(z,x,Y,Se){super(z),this.component=Y;const Ge=H(Se+"-"+Y.id,Y.styles,[]);x.addStyles(Ge),this.contentAttr=function me(X){return te.replace(O,X)}(Se+"-"+Y.id),this.hostAttr=function we(X){return Te.replace(O,X)}(Se+"-"+Y.id)}applyToHost(z){super.setAttribute(z,this.hostAttr,"")}createElement(z,x){const Y=super.createElement(z,x);return super.setAttribute(Y,this.contentAttr,""),Y}}class Be extends fe{constructor(z,x,Y,Se){super(z),this.sharedStylesHost=x,this.hostEl=Y,this.shadowRoot=Y.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const Ge=H(Se.id,Se.styles,[]);for(let ut=0;ut<Ge.length;ut++){const Mt=document.createElement("style");Mt.textContent=Ge[ut],this.shadowRoot.appendChild(Mt)}}nodeOrShadowRoot(z){return z===this.hostEl?this.shadowRoot:z}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(z,x){return super.appendChild(this.nodeOrShadowRoot(z),x)}insertBefore(z,x,Y){return super.insertBefore(this.nodeOrShadowRoot(z),x,Y)}removeChild(z,x){return super.removeChild(this.nodeOrShadowRoot(z),x)}parentNode(z){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(z)))}}let Rt=(()=>{class X extends de{constructor(x){super(x)}supports(x){return!0}addEventListener(x,Y,Se){return x.addEventListener(Y,Se,!1),()=>this.removeEventListener(x,Y,Se)}removeEventListener(x,Y,Se){return x.removeEventListener(Y,Se)}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(d.K0))},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})();const Vt=["alt","control","meta","shift"],gt={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},$t={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},ln={alt:X=>X.altKey,control:X=>X.ctrlKey,meta:X=>X.metaKey,shift:X=>X.shiftKey};let vt=(()=>{class X extends de{constructor(x){super(x)}supports(x){return null!=X.parseEventName(x)}addEventListener(x,Y,Se){const Ge=X.parseEventName(Y),ut=X.eventCallback(Ge.fullKey,Se,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>(0,d.q)().onAndCancel(x,Ge.domEventName,ut))}static parseEventName(x){const Y=x.toLowerCase().split("."),Se=Y.shift();if(0===Y.length||"keydown"!==Se&&"keyup"!==Se)return null;const Ge=X._normalizeKey(Y.pop());let ut="";if(Vt.forEach(Qe=>{const Un=Y.indexOf(Qe);Un>-1&&(Y.splice(Un,1),ut+=Qe+".")}),ut+=Ge,0!=Y.length||0===Ge.length)return null;const Mt={};return Mt.domEventName=Se,Mt.fullKey=ut,Mt}static getEventFullKey(x){let Y="",Se=function sn(X){let z=X.key;if(null==z){if(z=X.keyIdentifier,null==z)return"Unidentified";z.startsWith("U+")&&(z=String.fromCharCode(parseInt(z.substring(2),16)),3===X.location&&$t.hasOwnProperty(z)&&(z=$t[z]))}return gt[z]||z}(x);return Se=Se.toLowerCase()," "===Se?Se="space":"."===Se&&(Se="dot"),Vt.forEach(Ge=>{Ge!=Se&&ln[Ge](x)&&(Y+=Ge+".")}),Y+=Se,Y}static eventCallback(x,Y,Se){return Ge=>{X.getEventFullKey(Ge)===x&&Se.runGuarded(()=>Y(Ge))}}static _normalizeKey(x){return"esc"===x?"escape":x}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(d.K0))},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})();const qe=(0,o.eFA)(o._c5,"browser",[{provide:o.Lbi,useValue:d.bD},{provide:o.g9A,useValue:function Jt(){oe.makeCurrent()},multi:!0},{provide:d.K0,useFactory:function Xt(){return(0,o.RDi)(document),document},deps:[]}]),en=new o.OlP(""),zt=[{provide:o.rWj,useClass:class le{addToWindow(z){o.dqk.getAngularTestability=(Y,Se=!0)=>{const Ge=z.findTestabilityInTree(Y,Se);if(null==Ge)throw new Error("Could not find testability for element.");return Ge},o.dqk.getAllAngularTestabilities=()=>z.getAllTestabilities(),o.dqk.getAllAngularRootElements=()=>z.getAllRootElements(),o.dqk.frameworkStabilizers||(o.dqk.frameworkStabilizers=[]),o.dqk.frameworkStabilizers.push(Y=>{const Se=o.dqk.getAllAngularTestabilities();let Ge=Se.length,ut=!1;const Mt=function(Qe){ut=ut||Qe,Ge--,0==Ge&&Y(ut)};Se.forEach(function(Qe){Qe.whenStable(Mt)})})}findTestabilityInTree(z,x,Y){return null==x?null:z.getTestability(x)??(Y?(0,d.q)().isShadowRoot(x)?this.findTestabilityInTree(z,x.host,!0):this.findTestabilityInTree(z,x.parentElement,!0):null)}},deps:[]},{provide:o.lri,useClass:o.dDg,deps:[o.R0b,o.eoX,o.rWj]},{provide:o.dDg,useClass:o.dDg,deps:[o.R0b,o.eoX,o.rWj]}],Ce=[{provide:o.zSh,useValue:"root"},{provide:o.qLn,useFactory:function Qt(){return new o.qLn},deps:[]},{provide:ge,useClass:Rt,multi:!0,deps:[d.K0,o.R0b,o.Lbi]},{provide:ge,useClass:vt,multi:!0,deps:[d.K0]},{provide:ce,useClass:ce,deps:[$,I,o.AFp]},{provide:o.FYo,useExisting:ce},{provide:L,useExisting:I},{provide:I,useClass:I,deps:[d.K0]},{provide:$,useClass:$,deps:[ge,o.R0b]},{provide:d.JF,useClass:Ie,deps:[]},[]];let Fe=(()=>{class X{constructor(x){}static withServerTransition(x){return{ngModule:X,providers:[{provide:o.AFp,useValue:x.appId},{provide:ae,useExisting:o.AFp},J]}}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(en,12))},X.\u0275mod=o.oAB({type:X}),X.\u0275inj=o.cJS({providers:[...Ce,...zt],imports:[d.ez,o.hGG]}),X})(),_e=(()=>{class X{constructor(x){this._doc=x,this._dom=(0,d.q)()}addTag(x,Y=!1){return x?this._getOrCreateElement(x,Y):null}addTags(x,Y=!1){return x?x.reduce((Se,Ge)=>(Ge&&Se.push(this._getOrCreateElement(Ge,Y)),Se),[]):[]}getTag(x){return x&&this._doc.querySelector(`meta[${x}]`)||null}getTags(x){if(!x)return[];const Y=this._doc.querySelectorAll(`meta[${x}]`);return Y?[].slice.call(Y):[]}updateTag(x,Y){if(!x)return null;Y=Y||this._parseSelector(x);const Se=this.getTag(Y);return Se?this._setMetaElementAttributes(x,Se):this._getOrCreateElement(x,!0)}removeTag(x){this.removeTagElement(this.getTag(x))}removeTagElement(x){x&&this._dom.remove(x)}_getOrCreateElement(x,Y=!1){if(!Y){const ut=this._parseSelector(x),Mt=this.getTags(ut).filter(Qe=>this._containsAttributes(x,Qe))[0];if(void 0!==Mt)return Mt}const Se=this._dom.createElement("meta");return this._setMetaElementAttributes(x,Se),this._doc.getElementsByTagName("head")[0].appendChild(Se),Se}_setMetaElementAttributes(x,Y){return Object.keys(x).forEach(Se=>Y.setAttribute(this._getMetaKeyMap(Se),x[Se])),Y}_parseSelector(x){const Y=x.name?"name":"property";return`${Y}="${x[Y]}"`}_containsAttributes(x,Y){return Object.keys(x).every(Se=>Y.getAttribute(this._getMetaKeyMap(Se))===x[Se])}_getMetaKeyMap(x){return Ae[x]||x}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(d.K0))},X.\u0275prov=o.Yz7({token:X,factory:function(x){let Y=null;return Y=x?new x:function j(){return new _e((0,o.LFG)(d.K0))}(),Y},providedIn:"root"}),X})();const Ae={httpEquiv:"http-equiv"};typeof window<"u"&&window;const Jn={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0,doubletap:!0},nr=new o.OlP("HammerGestureConfig"),Cr=new o.OlP("HammerLoader");let Pt=(()=>{class X{constructor(){this.events=[],this.overrides={}}buildHammer(x){const Y=new Hammer(x,this.options);Y.get("pinch").set({enable:!0}),Y.get("rotate").set({enable:!0});for(const Se in this.overrides)Y.get(Se).set(this.overrides[Se]);return Y}}return X.\u0275fac=function(x){return new(x||X)},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})(),Ht=(()=>{class X extends de{constructor(x,Y,Se,Ge){super(x),this._config=Y,this.console=Se,this.loader=Ge,this._loaderPromise=null}supports(x){return!(!Jn.hasOwnProperty(x.toLowerCase())&&!this.isCustomEvent(x)||!window.Hammer&&!this.loader)}addEventListener(x,Y,Se){const Ge=this.manager.getZone();if(Y=Y.toLowerCase(),!window.Hammer&&this.loader){this._loaderPromise=this._loaderPromise||Ge.runOutsideAngular(()=>this.loader());let ut=!1,Mt=()=>{ut=!0};return Ge.runOutsideAngular(()=>this._loaderPromise.then(()=>{window.Hammer?ut||(Mt=this.addEventListener(x,Y,Se)):Mt=()=>{}}).catch(()=>{Mt=()=>{}})),()=>{Mt()}}return Ge.runOutsideAngular(()=>{const ut=this._config.buildHammer(x),Mt=function(Qe){Ge.runGuarded(function(){Se(Qe)})};return ut.on(Y,Mt),()=>{ut.off(Y,Mt),"function"==typeof ut.destroy&&ut.destroy()}})}isCustomEvent(x){return this._config.events.indexOf(x)>-1}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(d.K0),o.LFG(nr),o.LFG(o.c2e),o.LFG(Cr,8))},X.\u0275prov=o.Yz7({token:X,factory:X.\u0275fac}),X})(),tn=(()=>{class X{}return X.\u0275fac=function(x){return new(x||X)},X.\u0275mod=o.oAB({type:X}),X.\u0275inj=o.cJS({providers:[{provide:ge,useClass:Ht,multi:!0,deps:[d.K0,nr,o.c2e,[new o.FiY,Cr]]},{provide:nr,useClass:Pt,deps:[]}]}),X})(),_n=(()=>{class X{}return X.\u0275fac=function(x){return new(x||X)},X.\u0275prov=o.Yz7({token:X,factory:function(x){let Y=null;return Y=x?new(x||X):o.LFG(Ue),Y},providedIn:"root"}),X})(),Ue=(()=>{class X extends _n{constructor(x){super(),this._doc=x}sanitize(x,Y){if(null==Y)return null;switch(x){case o.q3G.NONE:return Y;case o.q3G.HTML:return(0,o.qzn)(Y,"HTML")?(0,o.z3N)(Y):(0,o.EiD)(this._doc,String(Y)).toString();case o.q3G.STYLE:return(0,o.qzn)(Y,"Style")?(0,o.z3N)(Y):Y;case o.q3G.SCRIPT:if((0,o.qzn)(Y,"Script"))return(0,o.z3N)(Y);throw new Error("unsafe value used in a script context");case o.q3G.URL:return(0,o.yhl)(Y),(0,o.qzn)(Y,"URL")?(0,o.z3N)(Y):(0,o.mCW)(String(Y));case o.q3G.RESOURCE_URL:if((0,o.qzn)(Y,"ResourceURL"))return(0,o.z3N)(Y);throw new Error("unsafe value used in a resource URL context (see https://g.co/ng/security#xss)");default:throw new Error(`Unexpected SecurityContext ${x} (see https://g.co/ng/security#xss)`)}}bypassSecurityTrustHtml(x){return(0,o.JVY)(x)}bypassSecurityTrustStyle(x){return(0,o.L6k)(x)}bypassSecurityTrustScript(x){return(0,o.eBb)(x)}bypassSecurityTrustUrl(x){return(0,o.LAX)(x)}bypassSecurityTrustResourceUrl(x){return(0,o.pB0)(x)}}return X.\u0275fac=function(x){return new(x||X)(o.LFG(d.K0))},X.\u0275prov=o.Yz7({token:X,factory:function(x){let Y=null;return Y=x?new x:function Ut(X){return new Ue(X.get(d.K0))}(o.LFG(o.zs3)),Y},providedIn:"root"}),X})()},8232:($e,De,v)=>{"use strict";v.d(De,{aw:()=>zt,X$:()=>en,sK:()=>It});var d=v(4650),o=v(8306),k=v(576);function oe(Ce){return!!Ce&&(Ce instanceof o.y||(0,k.m)(Ce.lift)&&(0,k.m)(Ce.subscribe))}const{isArray:w}=Array,{getPrototypeOf:F,prototype:G,keys:ne}=Object;var J=v(8421),le=v(3269),Ie=v(5403),ge=v(4004);const{isArray:$}=Array;function I(Ce,Fe){return Ce.reduce((j,_e,Ae)=>(j[_e]=Fe[Ae],j),{})}var re=v(8189),A=v(2076);function B(...Ce){return function O(){return(0,re.J)(1)}()((0,A.D)(Ce,(0,le.yG)(Ce)))}function Te(Ce){return new o.y(Fe=>{(0,J.Xf)(Ce()).subscribe(Fe)})}var te=v(9646),me=v(7579),we=v(6063);class H extends me.x{constructor(Fe=1/0,j=1/0,_e=we.l){super(),this._bufferSize=Fe,this._windowTime=j,this._timestampProvider=_e,this._buffer=[],this._infiniteTimeWindow=!0,this._infiniteTimeWindow=j===1/0,this._bufferSize=Math.max(1,Fe),this._windowTime=Math.max(1,j)}next(Fe){const{isStopped:j,_buffer:_e,_infiniteTimeWindow:Ae,_timestampProvider:Ve,_windowTime:pe}=this;j||(_e.push(Fe),!Ae&&_e.push(Ve.now()+pe)),this._trimBuffer(),super.next(Fe)}_subscribe(Fe){this._throwIfClosed(),this._trimBuffer();const j=this._innerSubscribe(Fe),{_infiniteTimeWindow:_e,_buffer:Ae}=this,Ve=Ae.slice();for(let pe=0;pe<Ve.length&&!Fe.closed;pe+=_e?1:2)Fe.next(Ve[pe]);return this._checkFinalizedStatuses(Fe),j}_trimBuffer(){const{_bufferSize:Fe,_timestampProvider:j,_buffer:_e,_infiniteTimeWindow:Ae}=this,Ve=(Ae?1:2)*Fe;if(Fe<1/0&&Ve<_e.length&&_e.splice(0,_e.length-Ve),!Ae){const pe=j.now();let U=0;for(let y=1;y<_e.length&&_e[y]<=pe;y+=2)U=y;U&&_e.splice(0,U+1)}}}var Q=v(3099);function ie(Ce,Fe,j){let _e,Ae=!1;return Ce&&"object"==typeof Ce?({bufferSize:_e=1/0,windowTime:Fe=1/0,refCount:Ae=!1,scheduler:j}=Ce):_e=Ce??1/0,(0,Q.B)({connector:()=>new H(_e,Fe,j),resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:Ae})}var ce=v(4482);function fe(Ce,Fe){return(0,ce.e)((j,_e)=>{let Ae=null,Ve=0,pe=!1;const U=()=>pe&&!Ae&&_e.complete();j.subscribe((0,Ie.x)(_e,y=>{Ae?.unsubscribe();let K=0;const b=Ve++;(0,J.Xf)(Ce(y,b)).subscribe(Ae=(0,Ie.x)(_e,Z=>_e.next(Fe?Fe(y,Z,b,K++):Z),()=>{Ae=null,U()}))},()=>{pe=!0,U()}))})}var Pe=v(5698),Je=v(4351);class pt{}let at=(()=>{class Ce extends pt{getTranslation(j){return(0,te.of)({})}}return Ce.\u0275fac=function(){let Fe;return function(_e){return(Fe||(Fe=d.n5z(Ce)))(_e||Ce)}}(),Ce.\u0275prov=d.Yz7({token:Ce,factory:Ce.\u0275fac}),Ce})();class Be{}let Rt=(()=>{class Ce{handle(j){return j.key}}return Ce.\u0275fac=function(j){return new(j||Ce)},Ce.\u0275prov=d.Yz7({token:Ce,factory:Ce.\u0275fac}),Ce})();function Vt(Ce,Fe){if(Ce===Fe)return!0;if(null===Ce||null===Fe)return!1;if(Ce!=Ce&&Fe!=Fe)return!0;let Ae,Ve,pe,j=typeof Ce;if(j==typeof Fe&&"object"==j){if(!Array.isArray(Ce)){if(Array.isArray(Fe))return!1;for(Ve in pe=Object.create(null),Ce){if(!Vt(Ce[Ve],Fe[Ve]))return!1;pe[Ve]=!0}for(Ve in Fe)if(!(Ve in pe)&&typeof Fe[Ve]<"u")return!1;return!0}if(!Array.isArray(Fe))return!1;if((Ae=Ce.length)==Fe.length){for(Ve=0;Ve<Ae;Ve++)if(!Vt(Ce[Ve],Fe[Ve]))return!1;return!0}}return!1}function Ct(Ce){return typeof Ce<"u"&&null!==Ce}function gt(Ce){return Ce&&"object"==typeof Ce&&!Array.isArray(Ce)}function $t(Ce,Fe){let j=Object.assign({},Ce);return gt(Ce)&>(Fe)&&Object.keys(Fe).forEach(_e=>{gt(Fe[_e])?_e in Ce?j[_e]=$t(Ce[_e],Fe[_e]):Object.assign(j,{[_e]:Fe[_e]}):Object.assign(j,{[_e]:Fe[_e]})}),j}class ln{}let vt=(()=>{class Ce extends ln{constructor(){super(...arguments),this.templateMatcher=/{{\s?([^{}\s]*)\s?}}/g}interpolate(j,_e){let Ae;return Ae="string"==typeof j?this.interpolateString(j,_e):"function"==typeof j?this.interpolateFunction(j,_e):j,Ae}getValue(j,_e){let Ae="string"==typeof _e?_e.split("."):[_e];_e="";do{_e+=Ae.shift(),!Ct(j)||!Ct(j[_e])||"object"!=typeof j[_e]&&Ae.length?Ae.length?_e+=".":j=void 0:(j=j[_e],_e="")}while(Ae.length);return j}interpolateFunction(j,_e){return j(_e)}interpolateString(j,_e){return _e?j.replace(this.templateMatcher,(Ae,Ve)=>{let pe=this.getValue(_e,Ve);return Ct(pe)?pe:Ae}):j}}return Ce.\u0275fac=function(){let Fe;return function(_e){return(Fe||(Fe=d.n5z(Ce)))(_e||Ce)}}(),Ce.\u0275prov=d.Yz7({token:Ce,factory:Ce.\u0275fac}),Ce})();class sn{}let bt=(()=>{class Ce extends sn{compile(j,_e){return j}compileTranslations(j,_e){return j}}return Ce.\u0275fac=function(){let Fe;return function(_e){return(Fe||(Fe=d.n5z(Ce)))(_e||Ce)}}(),Ce.\u0275prov=d.Yz7({token:Ce,factory:Ce.\u0275fac}),Ce})();class xt{constructor(){this.currentLang=this.defaultLang,this.translations={},this.langs=[],this.onTranslationChange=new d.vpe,this.onLangChange=new d.vpe,this.onDefaultLangChange=new d.vpe}}const bn=new d.OlP("USE_STORE"),Jt=new d.OlP("USE_DEFAULT_LANG"),Qt=new d.OlP("DEFAULT_LANGUAGE"),Xt=new d.OlP("USE_EXTEND");let It=(()=>{class Ce{constructor(j,_e,Ae,Ve,pe,U=!0,y=!1,K=!1,b){this.store=j,this.currentLoader=_e,this.compiler=Ae,this.parser=Ve,this.missingTranslationHandler=pe,this.useDefaultLang=U,this.isolate=y,this.extend=K,this.pending=!1,this._onTranslationChange=new d.vpe,this._onLangChange=new d.vpe,this._onDefaultLangChange=new d.vpe,this._langs=[],this._translations={},this._translationRequests={},b&&this.setDefaultLang(b)}get onTranslationChange(){return this.isolate?this._onTranslationChange:this.store.onTranslationChange}get onLangChange(){return this.isolate?this._onLangChange:this.store.onLangChange}get onDefaultLangChange(){return this.isolate?this._onDefaultLangChange:this.store.onDefaultLangChange}get defaultLang(){return this.isolate?this._defaultLang:this.store.defaultLang}set defaultLang(j){this.isolate?this._defaultLang=j:this.store.defaultLang=j}get currentLang(){return this.isolate?this._currentLang:this.store.currentLang}set currentLang(j){this.isolate?this._currentLang=j:this.store.currentLang=j}get langs(){return this.isolate?this._langs:this.store.langs}set langs(j){this.isolate?this._langs=j:this.store.langs=j}get translations(){return this.isolate?this._translations:this.store.translations}set translations(j){this.isolate?this._translations=j:this.store.translations=j}setDefaultLang(j){if(j===this.defaultLang)return;let _e=this.retrieveTranslations(j);typeof _e<"u"?(null==this.defaultLang&&(this.defaultLang=j),_e.pipe((0,Pe.q)(1)).subscribe(Ae=>{this.changeDefaultLang(j)})):this.changeDefaultLang(j)}getDefaultLang(){return this.defaultLang}use(j){if(j===this.currentLang)return(0,te.of)(this.translations[j]);let _e=this.retrieveTranslations(j);return typeof _e<"u"?(this.currentLang||(this.currentLang=j),_e.pipe((0,Pe.q)(1)).subscribe(Ae=>{this.changeLang(j)}),_e):(this.changeLang(j),(0,te.of)(this.translations[j]))}retrieveTranslations(j){let _e;return(typeof this.translations[j]>"u"||this.extend)&&(this._translationRequests[j]=this._translationRequests[j]||this.getTranslation(j),_e=this._translationRequests[j]),_e}getTranslation(j){this.pending=!0;const _e=this.currentLoader.getTranslation(j).pipe(ie(1),(0,Pe.q)(1));return this.loadingTranslations=_e.pipe((0,ge.U)(Ae=>this.compiler.compileTranslations(Ae,j)),ie(1),(0,Pe.q)(1)),this.loadingTranslations.subscribe({next:Ae=>{this.translations[j]=this.extend&&this.translations[j]?{...Ae,...this.translations[j]}:Ae,this.updateLangs(),this.pending=!1},error:Ae=>{this.pending=!1}}),_e}setTranslation(j,_e,Ae=!1){_e=this.compiler.compileTranslations(_e,j),this.translations[j]=(Ae||this.extend)&&this.translations[j]?$t(this.translations[j],_e):_e,this.updateLangs(),this.onTranslationChange.emit({lang:j,translations:this.translations[j]})}getLangs(){return this.langs}addLangs(j){j.forEach(_e=>{-1===this.langs.indexOf(_e)&&this.langs.push(_e)})}updateLangs(){this.addLangs(Object.keys(this.translations))}getParsedResult(j,_e,Ae){let Ve;if(_e instanceof Array){let pe={},U=!1;for(let y of _e)pe[y]=this.getParsedResult(j,y,Ae),oe(pe[y])&&(U=!0);return U?function M(...Ce){const Fe=(0,le.jO)(Ce),{args:j,keys:_e}=function ae(Ce){if(1===Ce.length){const Fe=Ce[0];if(w(Fe))return{args:Fe,keys:null};if(function se(Ce){return Ce&&"object"==typeof Ce&&F(Ce)===G}(Fe)){const j=ne(Fe);return{args:j.map(_e=>Fe[_e]),keys:j}}}return{args:Ce,keys:null}}(Ce),Ae=new o.y(Ve=>{const{length:pe}=j;if(!pe)return void Ve.complete();const U=new Array(pe);let y=pe,K=pe;for(let b=0;b<pe;b++){let Z=!1;(0,J.Xf)(j[b]).subscribe((0,Ie.x)(Ve,Ee=>{Z||(Z=!0,K--),U[b]=Ee},()=>y--,void 0,()=>{(!y||!Z)&&(K||Ve.next(_e?I(_e,U):U),Ve.complete())}))}});return Fe?Ae.pipe(function L(Ce){return(0,ge.U)(Fe=>function de(Ce,Fe){return $(Fe)?Ce(...Fe):Ce(Fe)}(Ce,Fe))}(Fe)):Ae}(_e.map(K=>oe(pe[K])?pe[K]:(0,te.of)(pe[K]))).pipe((0,ge.U)(K=>{let b={};return K.forEach((Z,Ee)=>{b[_e[Ee]]=Z}),b})):pe}if(j&&(Ve=this.parser.interpolate(this.parser.getValue(j,_e),Ae)),typeof Ve>"u"&&null!=this.defaultLang&&this.defaultLang!==this.currentLang&&this.useDefaultLang&&(Ve=this.parser.interpolate(this.parser.getValue(this.translations[this.defaultLang],_e),Ae)),typeof Ve>"u"){let pe={key:_e,translateService:this};typeof Ae<"u"&&(pe.interpolateParams=Ae),Ve=this.missingTranslationHandler.handle(pe)}return typeof Ve<"u"?Ve:_e}get(j,_e){if(!Ct(j)||!j.length)throw new Error('Parameter "key" required');if(this.pending)return this.loadingTranslations.pipe((0,Je.b)(Ae=>oe(Ae=this.getParsedResult(Ae,j,_e))?Ae:(0,te.of)(Ae)));{let Ae=this.getParsedResult(this.translations[this.currentLang],j,_e);return oe(Ae)?Ae:(0,te.of)(Ae)}}getStreamOnTranslationChange(j,_e){if(!Ct(j)||!j.length)throw new Error('Parameter "key" required');return B(Te(()=>this.get(j,_e)),this.onTranslationChange.pipe(fe(Ae=>{const Ve=this.getParsedResult(Ae.translations,j,_e);return"function"==typeof Ve.subscribe?Ve:(0,te.of)(Ve)})))}stream(j,_e){if(!Ct(j)||!j.length)throw new Error('Parameter "key" required');return B(Te(()=>this.get(j,_e)),this.onLangChange.pipe(fe(Ae=>{const Ve=this.getParsedResult(Ae.translations,j,_e);return oe(Ve)?Ve:(0,te.of)(Ve)})))}instant(j,_e){if(!Ct(j)||!j.length)throw new Error('Parameter "key" required');let Ae=this.getParsedResult(this.translations[this.currentLang],j,_e);if(oe(Ae)){if(j instanceof Array){let Ve={};return j.forEach((pe,U)=>{Ve[j[U]]=j[U]}),Ve}return j}return Ae}set(j,_e,Ae=this.currentLang){this.translations[Ae][j]=this.compiler.compile(_e,Ae),this.updateLangs(),this.onTranslationChange.emit({lang:Ae,translations:this.translations[Ae]})}changeLang(j){this.currentLang=j,this.onLangChange.emit({lang:j,translations:this.translations[j]}),null==this.defaultLang&&this.changeDefaultLang(j)}changeDefaultLang(j){this.defaultLang=j,this.onDefaultLangChange.emit({lang:j,translations:this.translations[j]})}reloadLang(j){return this.resetLang(j),this.getTranslation(j)}resetLang(j){this._translationRequests[j]=void 0,this.translations[j]=void 0}getBrowserLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let j=window.navigator.languages?window.navigator.languages[0]:null;return j=j||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,typeof j>"u"?void 0:(-1!==j.indexOf("-")&&(j=j.split("-")[0]),-1!==j.indexOf("_")&&(j=j.split("_")[0]),j)}getBrowserCultureLang(){if(typeof window>"u"||typeof window.navigator>"u")return;let j=window.navigator.languages?window.navigator.languages[0]:null;return j=j||window.navigator.language||window.navigator.browserLanguage||window.navigator.userLanguage,j}}return Ce.\u0275fac=function(j){return new(j||Ce)(d.LFG(xt),d.LFG(pt),d.LFG(sn),d.LFG(ln),d.LFG(Be),d.LFG(Jt),d.LFG(bn),d.LFG(Xt),d.LFG(Qt))},Ce.\u0275prov=d.Yz7({token:Ce,factory:Ce.\u0275fac}),Ce})(),en=(()=>{class Ce{constructor(j,_e){this.translate=j,this._ref=_e,this.value="",this.lastKey=null,this.lastParams=[]}updateValue(j,_e,Ae){let Ve=pe=>{this.value=void 0!==pe?pe:j,this.lastKey=j,this._ref.markForCheck()};if(Ae){let pe=this.translate.getParsedResult(Ae,j,_e);oe(pe.subscribe)?pe.subscribe(Ve):Ve(pe)}this.translate.get(j,_e).subscribe(Ve)}transform(j,..._e){if(!j||!j.length)return j;if(Vt(j,this.lastKey)&&Vt(_e,this.lastParams))return this.value;let Ae;if(Ct(_e[0])&&_e.length)if("string"==typeof _e[0]&&_e[0].length){let Ve=_e[0].replace(/(\')?([a-zA-Z0-9_]+)(\')?(\s)?:/g,'"$2":').replace(/:(\s)?(\')(.*?)(\')/g,':"$3"');try{Ae=JSON.parse(Ve)}catch{throw new SyntaxError(`Wrong parameter in TranslatePipe. Expected a valid Object, received: ${_e[0]}`)}}else"object"==typeof _e[0]&&!Array.isArray(_e[0])&&(Ae=_e[0]);return this.lastKey=j,this.lastParams=_e,this.updateValue(j,Ae),this._dispose(),this.onTranslationChange||(this.onTranslationChange=this.translate.onTranslationChange.subscribe(Ve=>{this.lastKey&&Ve.lang===this.translate.currentLang&&(this.lastKey=null,this.updateValue(j,Ae,Ve.translations))})),this.onLangChange||(this.onLangChange=this.translate.onLangChange.subscribe(Ve=>{this.lastKey&&(this.lastKey=null,this.updateValue(j,Ae,Ve.translations))})),this.onDefaultLangChange||(this.onDefaultLangChange=this.translate.onDefaultLangChange.subscribe(()=>{this.lastKey&&(this.lastKey=null,this.updateValue(j,Ae))})),this.value}_dispose(){typeof this.onTranslationChange<"u"&&(this.onTranslationChange.unsubscribe(),this.onTranslationChange=void 0),typeof this.onLangChange<"u"&&(this.onLangChange.unsubscribe(),this.onLangChange=void 0),typeof this.onDefaultLangChange<"u"&&(this.onDefaultLangChange.unsubscribe(),this.onDefaultLangChange=void 0)}ngOnDestroy(){this._dispose()}}return Ce.\u0275fac=function(j){return new(j||Ce)(d.Y36(It,16),d.Y36(d.sBO,16))},Ce.\u0275pipe=d.Yjl({name:"translate",type:Ce,pure:!1}),Ce.\u0275prov=d.Yz7({token:Ce,factory:Ce.\u0275fac}),Ce})(),zt=(()=>{class Ce{static forRoot(j={}){return{ngModule:Ce,providers:[j.loader||{provide:pt,useClass:at},j.compiler||{provide:sn,useClass:bt},j.parser||{provide:ln,useClass:vt},j.missingTranslationHandler||{provide:Be,useClass:Rt},xt,{provide:bn,useValue:j.isolate},{provide:Jt,useValue:j.useDefaultLang},{provide:Xt,useValue:j.extend},{provide:Qt,useValue:j.defaultLanguage},It]}}static forChild(j={}){return{ngModule:Ce,providers:[j.loader||{provide:pt,useClass:at},j.compiler||{provide:sn,useClass:bt},j.parser||{provide:ln,useClass:vt},j.missingTranslationHandler||{provide:Be,useClass:Rt},{provide:bn,useValue:j.isolate},{provide:Jt,useValue:j.useDefaultLang},{provide:Xt,useValue:j.extend},{provide:Qt,useValue:j.defaultLanguage},It]}}}return Ce.\u0275fac=function(j){return new(j||Ce)},Ce.\u0275mod=d.oAB({type:Ce}),Ce.\u0275inj=d.cJS({}),Ce})()}},$e=>{$e($e.s=2427)}]);
\ No newline at end of file
|
[-]
[+]
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/polyfills.252af069257179d6.js
^
|
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkmah=self.webpackChunkmah||[]).push([[429],{3443:(ie,Ee,de)=>{de(8583)},8583:()=>{!function(e){const n=e.performance;function i(M){n&&n.mark&&n.mark(M)}function o(M,E){n&&n.measure&&n.measure(M,E)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function a(M){return c+M}const T=!0===e[a("forceDuplicateZoneCheck")];if(e.Zone){if(T||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let d=(()=>{class M{constructor(t,r){this._parent=t,this._name=r?r.name||"unnamed":"<root>",this._properties=r&&r.properties||{},this._zoneDelegate=new v(this,this._parent&&this._parent._zoneDelegate,r)}static assertZonePatched(){if(e.Promise!==oe.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=M.current;for(;t.parent;)t=t.parent;return t}static get current(){return U.zone}static get currentTask(){return re}static __load_patch(t,r,k=!1){if(oe.hasOwnProperty(t)){if(!k&&T)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const C="Zone:"+t;i(C),oe[t]=r(e,M,z),o(C,C)}}get parent(){return this._parent}get name(){return this._name}get(t){const r=this.getZoneWith(t);if(r)return r._properties[t]}getZoneWith(t){let r=this;for(;r;){if(r._properties.hasOwnProperty(t))return r;r=r._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,r){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const k=this._zoneDelegate.intercept(this,t,r),C=this;return function(){return C.runGuarded(k,this,arguments,r)}}run(t,r,k,C){U={parent:U,zone:this};try{return this._zoneDelegate.invoke(this,t,r,k,C)}finally{U=U.parent}}runGuarded(t,r=null,k,C){U={parent:U,zone:this};try{try{return this._zoneDelegate.invoke(this,t,r,k,C)}catch($){if(this._zoneDelegate.handleError(this,$))throw $}}finally{U=U.parent}}runTask(t,r,k){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");if(t.state===x&&(t.type===Q||t.type===P))return;const C=t.state!=y;C&&t._transitionTo(y,j),t.runCount++;const $=re;re=t,U={parent:U,zone:this};try{t.type==P&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,r,k)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==x&&t.state!==h&&(t.type==Q||t.data&&t.data.isPeriodic?C&&t._transitionTo(j,y):(t.runCount=0,this._updateTaskCount(t,-1),C&&t._transitionTo(x,y,x))),U=U.parent,re=$}}scheduleTask(t){if(t.zone&&t.zone!==this){let k=this;for(;k;){if(k===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);k=k.parent}}t._transitionTo(X,x);const r=[];t._zoneDelegates=r,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(k){throw t._transitionTo(h,X,x),this._zoneDelegate.handleError(this,k),k}return t._zoneDelegates===r&&this._updateTaskCount(t,1),t.state==X&&t._transitionTo(j,X),t}scheduleMicroTask(t,r,k,C){return this.scheduleTask(new m(I,t,r,k,C,void 0))}scheduleMacroTask(t,r,k,C,$){return this.scheduleTask(new m(P,t,r,k,C,$))}scheduleEventTask(t,r,k,C,$){return this.scheduleTask(new m(Q,t,r,k,C,$))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||K).name+"; Execution: "+this.name+")");t._transitionTo(G,j,y);try{this._zoneDelegate.cancelTask(this,t)}catch(r){throw t._transitionTo(h,G),this._zoneDelegate.handleError(this,r),r}return this._updateTaskCount(t,-1),t._transitionTo(x,G),t.runCount=0,t}_updateTaskCount(t,r){const k=t._zoneDelegates;-1==r&&(t._zoneDelegates=null);for(let C=0;C<k.length;C++)k[C]._updateTaskCount(t.type,r)}}return M.__symbol__=a,M})();const b={name:"",onHasTask:(M,E,t,r)=>M.hasTask(t,r),onScheduleTask:(M,E,t,r)=>M.scheduleTask(t,r),onInvokeTask:(M,E,t,r,k,C)=>M.invokeTask(t,r,k,C),onCancelTask:(M,E,t,r)=>M.cancelTask(t,r)};class v{constructor(E,t,r){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=E,this._parentDelegate=t,this._forkZS=r&&(r&&r.onFork?r:t._forkZS),this._forkDlgt=r&&(r.onFork?t:t._forkDlgt),this._forkCurrZone=r&&(r.onFork?this.zone:t._forkCurrZone),this._interceptZS=r&&(r.onIntercept?r:t._interceptZS),this._interceptDlgt=r&&(r.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=r&&(r.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=r&&(r.onInvoke?r:t._invokeZS),this._invokeDlgt=r&&(r.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=r&&(r.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=r&&(r.onHandleError?r:t._handleErrorZS),this._handleErrorDlgt=r&&(r.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=r&&(r.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=r&&(r.onScheduleTask?r:t._scheduleTaskZS),this._scheduleTaskDlgt=r&&(r.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=r&&(r.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=r&&(r.onInvokeTask?r:t._invokeTaskZS),this._invokeTaskDlgt=r&&(r.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=r&&(r.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=r&&(r.onCancelTask?r:t._cancelTaskZS),this._cancelTaskDlgt=r&&(r.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=r&&(r.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const k=r&&r.onHasTask;(k||t&&t._hasTaskZS)&&(this._hasTaskZS=k?r:b,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=E,r.onScheduleTask||(this._scheduleTaskZS=b,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),r.onInvokeTask||(this._invokeTaskZS=b,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),r.onCancelTask||(this._cancelTaskZS=b,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(E,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,E,t):new d(E,t)}intercept(E,t,r){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,E,t,r):t}invoke(E,t,r,k,C){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,E,t,r,k,C):t.apply(r,k)}handleError(E,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,E,t)}scheduleTask(E,t){let r=t;if(this._scheduleTaskZS)this._hasTaskZS&&r._zoneDelegates.push(this._hasTaskDlgtOwner),r=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,E,t),r||(r=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=I)throw new Error("Task is missing scheduleFn.");R(t)}return r}invokeTask(E,t,r,k){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,E,t,r,k):t.callback.apply(r,k)}cancelTask(E,t){let r;if(this._cancelTaskZS)r=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,E,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");r=t.cancelFn(t)}return r}hasTask(E,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,E,t)}catch(r){this.handleError(E,r)}}_updateTaskCount(E,t){const r=this._taskCounts,k=r[E],C=r[E]=k+t;if(C<0)throw new Error("More tasks executed then were scheduled.");0!=k&&0!=C||this.hasTask(this.zone,{microTask:r.microTask>0,macroTask:r.macroTask>0,eventTask:r.eventTask>0,change:E})}}class m{constructor(E,t,r,k,C,$){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=E,this.source=t,this.data=k,this.scheduleFn=C,this.cancelFn=$,!r)throw new Error("callback is not defined");this.callback=r;const l=this;this.invoke=E===Q&&k&&k.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(E,t,r){E||(E=this),ee++;try{return E.runCount++,E.zone.runTask(E,t,r)}finally{1==ee&&_(),ee--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(x,X)}_transitionTo(E,t,r){if(this._state!==t&&this._state!==r)throw new Error(`${this.type} '${this.source}': can not transition to '${E}', expecting state '${t}'${r?" or '"+r+"'":""}, was '${this._state}'.`);this._state=E,E==x&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const L=a("setTimeout"),Z=a("Promise"),N=a("then");let J,B=[],H=!1;function q(M){if(J||e[Z]&&(J=e[Z].resolve(0)),J){let E=J[N];E||(E=J.then),E.call(J,M)}else e[L](M,0)}function R(M){0===ee&&0===B.length&&q(_),M&&B.push(M)}function _(){if(!H){for(H=!0;B.length;){const M=B;B=[];for(let E=0;E<M.length;E++){const t=M[E];try{t.zone.runTask(t,null,null)}catch(r){z.onUnhandledError(r)}}}z.microtaskDrainDone(),H=!1}}const K={name:"NO ZONE"},x="notScheduled",X="scheduling",j="scheduled",y="running",G="canceling",h="unknown",I="microTask",P="macroTask",Q="eventTask",oe={},z={symbol:a,currentZoneFrame:()=>U,onUnhandledError:W,microtaskDrainDone:W,scheduleMicroTask:R,showUncaughtError:()=>!d[a("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:W,patchMethod:()=>W,bindArguments:()=>[],patchThen:()=>W,patchMacroTask:()=>W,patchEventPrototype:()=>W,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>W,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>W,wrapWithCurrentZone:()=>W,filterProperties:()=>[],attachOriginToPatched:()=>W,_redefineProperty:()=>W,patchCallbacks:()=>W,nativeScheduleMicroTask:q};let U={parent:null,zone:new d(null,null)},re=null,ee=0;function W(){}o("Zone","Zone"),e.Zone=d}(typeof window<"u"&&window||typeof self<"u"&&self||global);const ie=Object.getOwnPropertyDescriptor,Ee=Object.defineProperty,de=Object.getPrototypeOf,ge=Object.create,Ve=Array.prototype.slice,Oe="addEventListener",Se="removeEventListener",Ze=Zone.__symbol__(Oe),Ne=Zone.__symbol__(Se),ce="true",ae="false",ke=Zone.__symbol__("");function Ie(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,o,c){return Zone.current.scheduleMacroTask(e,n,i,o,c)}const A=Zone.__symbol__,Pe=typeof window<"u",Te=Pe?window:void 0,Y=Pe&&Te||"object"==typeof self&&self||global;function Le(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Ie(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,we=!("nw"in Y)&&typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process),je=!we&&!Be&&!(!Pe||!Te.HTMLElement),Ue=typeof Y.process<"u"&&"[object process]"==={}.toString.call(Y.process)&&!Be&&!(!Pe||!Te.HTMLElement),Re={},We=function(e){if(!(e=e||Y.event))return;let n=Re[e.type];n||(n=Re[e.type]=A("ON_PROPERTY"+e.type));const i=this||e.target||Y,o=i[n];let c;if(je&&i===Te&&"error"===e.type){const a=e;c=o&&o.call(this,a.message,a.filename,a.lineno,a.colno,a.error),!0===c&&e.preventDefault()}else c=o&&o.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function qe(e,n,i){let o=ie(e,n);if(!o&&i&&ie(i,n)&&(o={enumerable:!0,configurable:!0}),!o||!o.configurable)return;const c=A("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete o.writable,delete o.value;const a=o.get,T=o.set,d=n.substr(2);let b=Re[d];b||(b=Re[d]=A("ON_PROPERTY"+d)),o.set=function(v){let m=this;!m&&e===Y&&(m=Y),m&&("function"==typeof m[b]&&m.removeEventListener(d,We),T&&T.call(m,null),m[b]=v,"function"==typeof v&&m.addEventListener(d,We,!1))},o.get=function(){let v=this;if(!v&&e===Y&&(v=Y),!v)return null;const m=v[b];if(m)return m;if(a){let L=a.call(this);if(L)return o.set.call(this,L),"function"==typeof v.removeAttribute&&v.removeAttribute(n),L}return null},Ee(e,n,o),e[c]=!0}function Xe(e,n,i){if(n)for(let o=0;o<n.length;o++)qe(e,"on"+n[o],i);else{const o=[];for(const c in e)"on"==c.substr(0,2)&&o.push(c);for(let c=0;c<o.length;c++)qe(e,o[c],i)}}const ne=A("originalInstance");function ve(e){const n=Y[e];if(!n)return;Y[A(e)]=n,Y[e]=function(){const c=Le(arguments,e);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ue(Y[e],n);const i=new n(function(){});let o;for(o in i)"XMLHttpRequest"===e&&"responseBlob"===o||function(c){"function"==typeof i[c]?Y[e].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:Ee(Y[e].prototype,c,{set:function(a){"function"==typeof a?(this[ne][c]=Ie(a,e+"."+c),ue(this[ne][c],a)):this[ne][c]=a},get:function(){return this[ne][c]}})}(o);for(o in n)"prototype"!==o&&n.hasOwnProperty(o)&&(Y[e][o]=n[o])}function le(e,n,i){let o=e;for(;o&&!o.hasOwnProperty(n);)o=de(o);!o&&e[n]&&(o=e);const c=A(n);let a=null;if(o&&(!(a=o[c])||!o.hasOwnProperty(c))&&(a=o[c]=o[n],Fe(o&&ie(o,n)))){const d=i(a,c,n);o[n]=function(){return d(this,arguments)},ue(o[n],a)}return a}function lt(e,n,i){let o=null;function c(a){const T=a.data;return T.args[T.cbIdx]=function(){a.invoke.apply(this,arguments)},o.apply(T.target,T.args),a}o=le(e,n,a=>function(T,d){const b=i(T,d);return b.cbIdx>=0&&"function"==typeof d[b.cbIdx]?Me(b.name,d[b.cbIdx],b,c):a.apply(T,d)})}function ue(e,n){e[A("OriginalDelegate")]=n}let ze=!1,Ae=!1;function ft(){if(ze)return Ae;ze=!0;try{const e=Te.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(Ae=!0)}catch{}return Ae}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const o=Object.getOwnPropertyDescriptor,c=Object.defineProperty,T=i.symbol,d=[],b=!0===e[T("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],v=T("Promise"),m=T("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const u=l&&l.rejection;u?console.error("Unhandled Promise rejection:",u instanceof Error?u.message:u,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",u,u instanceof Error?u.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;d.length;){const l=d.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(u){N(u)}}};const Z=T("unhandledPromiseRejectionHandler");function N(l){i.onUnhandledError(l);try{const u=n[Z];"function"==typeof u&&u.call(this,l)}catch{}}function B(l){return l&&l.then}function H(l){return l}function J(l){return t.reject(l)}const q=T("state"),R=T("value"),_=T("finally"),K=T("parentPromiseValue"),x=T("parentPromiseState"),j=null,y=!0,G=!1;function I(l,u){return s=>{try{z(l,u,s)}catch(f){z(l,!1,f)}}}const oe=T("currentTaskTrace");function z(l,u,s){const f=function(){let l=!1;return function(s){return function(){l||(l=!0,s.apply(null,arguments))}}}();if(l===s)throw new TypeError("Promise resolved with itself");if(l[q]===j){let g=null;try{("object"==typeof s||"function"==typeof s)&&(g=s&&s.then)}catch(w){return f(()=>{z(l,!1,w)})(),l}if(u!==G&&s instanceof t&&s.hasOwnProperty(q)&&s.hasOwnProperty(R)&&s[q]!==j)re(s),z(l,s[q],s[R]);else if(u!==G&&"function"==typeof g)try{g.call(s,f(I(l,u)),f(I(l,!1)))}catch(w){f(()=>{z(l,!1,w)})()}else{l[q]=u;const w=l[R];if(l[R]=s,l[_]===_&&u===y&&(l[q]=l[x],l[R]=l[K]),u===G&&s instanceof Error){const p=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;p&&c(s,oe,{configurable:!0,enumerable:!1,writable:!0,value:p})}for(let p=0;p<w.length;)ee(l,w[p++],w[p++],w[p++],w[p++]);if(0==w.length&&u==G){l[q]=0;let p=s;try{throw new Error("Uncaught (in promise): "+function a(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(s)+(s&&s.stack?"\n"+s.stack:""))}catch(D){p=D}b&&(p.throwOriginal=!0),p.rejection=s,p.promise=l,p.zone=n.current,p.task=n.currentTask,d.push(p),i.scheduleMicroTask()}}}return l}const U=T("rejectionHandledHandler");function re(l){if(0===l[q]){try{const u=n[U];u&&"function"==typeof u&&u.call(this,{rejection:l[R],promise:l})}catch{}l[q]=G;for(let u=0;u<d.length;u++)l===d[u].promise&&d.splice(u,1)}}function ee(l,u,s,f,g){re(l);const w=l[q],p=w?"function"==typeof f?f:H:"function"==typeof g?g:J;u.scheduleMicroTask("Promise.then",()=>{try{const D=l[R],O=!!s&&_===s[_];O&&(s[K]=D,s[x]=w);const S=u.run(p,void 0,O&&p!==J&&p!==H?[]:[D]);z(s,!0,S)}catch(D){z(s,!1,D)}},s)}const M=function(){},E=e.AggregateError;class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(u){return z(new this(null),y,u)}static reject(u){return z(new this(null),G,u)}static any(u){if(!u||"function"!=typeof u[Symbol.iterator])return Promise.reject(new E([],"All promises were rejected"));const s=[];let f=0;try{for(let p of u)f++,s.push(t.resolve(p))}catch{return Promise.reject(new E([],"All promises were rejected"))}if(0===f)return Promise.reject(new E([],"All promises were rejected"));let g=!1;const w=[];return new t((p,D)=>{for(let O=0;O<s.length;O++)s[O].then(S=>{g||(g=!0,p(S))},S=>{w.push(S),f--,0===f&&(g=!0,D(new E(w,"All promises were rejected")))})})}static race(u){let s,f,g=new this((D,O)=>{s=D,f=O});function w(D){s(D)}function p(D){f(D)}for(let D of u)B(D)||(D=this.resolve(D)),D.then(w,p);return g}static all(u){return t.allWithCallback(u)}static allSettled(u){return(this&&this.prototype instanceof t?this:t).allWithCallback(u,{thenCallback:f=>({status:"fulfilled",value:f}),errorCallback:f=>({status:"rejected",reason:f})})}static allWithCallback(u,s){let f,g,w=new this((S,V)=>{f=S,g=V}),p=2,D=0;const O=[];for(let S of u){B(S)||(S=this.resolve(S));const V=D;try{S.then(F=>{O[V]=s?s.thenCallback(F):F,p--,0===p&&f(O)},F=>{s?(O[V]=s.errorCallback(F),p--,0===p&&f(O)):g(F)})}catch(F){g(F)}p++,D++}return p-=2,0===p&&f(O),w}constructor(u){const s=this;if(!(s instanceof t))throw new Error("Must be an instanceof Promise.");s[q]=j,s[R]=[];try{u&&u(I(s,y),I(s,G))}catch(f){z(s,!1,f)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(u,s){let f=this.constructor[Symbol.species];(!f||"function"!=typeof f)&&(f=this.constructor||t);const g=new f(M),w=n.current;return this[q]==j?this[R].push(w,g,u,s):ee(this,w,g,u,s),g}catch(u){return this.then(null,u)}finally(u){let s=this.constructor[Symbol.species];(!s||"function"!=typeof s)&&(s=t);const f=new s(M);f[_]=_;const g=n.current;return this[q]==j?this[R].push(g,f,u,u):ee(this,g,f,u,u),f}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const r=e[v]=e.Promise;e.Promise=t;const k=T("thenPatched");function C(l){const u=l.prototype,s=o(u,"then");if(s&&(!1===s.writable||!s.configurable))return;const f=u.then;u[m]=f,l.prototype.then=function(g,w){return new t((D,O)=>{f.call(this,D,O)}).then(g,w)},l[k]=!0}return i.patchThen=C,r&&(C(r),le(e,"fetch",l=>function $(l){return function(u,s){let f=l.apply(u,s);if(f instanceof t)return f;let g=f.constructor;return g[k]||C(g),f}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=d,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=A("OriginalDelegate"),o=A("Promise"),c=A("Error"),a=function(){if("function"==typeof this){const v=this[i];if(v)return"function"==typeof v?n.call(v):Object.prototype.toString.call(v);if(this===Promise){const m=e[o];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};a[i]=n,Function.prototype.toString=a;const T=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":T.call(this)}});let ye=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){ye=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{ye=!1}const ht={useG:!0},te={},Ye={},$e=new RegExp("^"+ke+"(\\w+)(true|false)$"),Ke=A("propagationStopped");function Je(e,n){const i=(n?n(e):e)+ae,o=(n?n(e):e)+ce,c=ke+i,a=ke+o;te[e]={},te[e][ae]=c,te[e][ce]=a}function dt(e,n,i,o){const c=o&&o.add||Oe,a=o&&o.rm||Se,T=o&&o.listeners||"eventListeners",d=o&&o.rmAll||"removeAllListeners",b=A(c),v="."+c+":",Z=function(R,_,K){if(R.isRemoved)return;const x=R.callback;let X;"object"==typeof x&&x.handleEvent&&(R.callback=y=>x.handleEvent(y),R.originalDelegate=x);try{R.invoke(R,_,[K])}catch(y){X=y}const j=R.options;return j&&"object"==typeof j&&j.once&&_[a].call(_,K.type,R.originalDelegate?R.originalDelegate:R.callback,j),X};function N(R,_,K){if(!(_=_||e.event))return;const x=R||_.target||e,X=x[te[_.type][K?ce:ae]];if(X){const j=[];if(1===X.length){const y=Z(X[0],x,_);y&&j.push(y)}else{const y=X.slice();for(let G=0;G<y.length&&(!_||!0!==_[Ke]);G++){const h=Z(y[G],x,_);h&&j.push(h)}}if(1===j.length)throw j[0];for(let y=0;y<j.length;y++){const G=j[y];n.nativeScheduleMicroTask(()=>{throw G})}}}const B=function(R){return N(this,R,!1)},H=function(R){return N(this,R,!0)};function J(R,_){if(!R)return!1;let K=!0;_&&void 0!==_.useG&&(K=_.useG);const x=_&&_.vh;let X=!0;_&&void 0!==_.chkDup&&(X=_.chkDup);let j=!1;_&&void 0!==_.rt&&(j=_.rt);let y=R;for(;y&&!y.hasOwnProperty(c);)y=de(y);if(!y&&R[c]&&(y=R),!y||y[b])return!1;const G=_&&_.eventNameToString,h={},I=y[b]=y[c],P=y[A(a)]=y[a],Q=y[A(T)]=y[T],oe=y[A(d)]=y[d];let z;function U(s,f){return!ye&&"object"==typeof s&&s?!!s.capture:ye&&f?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?Object.assign(Object.assign({},s),{passive:!0}):s:{passive:!0}:s}_&&_.prepend&&(z=y[A(_.prepend)]=y[_.prepend]);const t=K?function(s){if(!h.isExisting)return I.call(h.target,h.eventName,h.capture?H:B,h.options)}:function(s){return I.call(h.target,h.eventName,s.invoke,h.options)},r=K?function(s){if(!s.isRemoved){const f=te[s.eventName];let g;f&&(g=f[s.capture?ce:ae]);const w=g&&s.target[g];if(w)for(let p=0;p<w.length;p++)if(w[p]===s){w.splice(p,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[g]=null);break}}if(s.allRemoved)return P.call(s.target,s.eventName,s.capture?H:B,s.options)}:function(s){return P.call(s.target,s.eventName,s.invoke,s.options)},C=_&&_.diff?_.diff:function(s,f){const g=typeof f;return"function"===g&&s.callback===f||"object"===g&&s.originalDelegate===f},$=Zone[A("UNPATCHED_EVENTS")],l=e[A("PASSIVE_EVENTS")],u=function(s,f,g,w,p=!1,D=!1){return function(){const O=this||e;let S=arguments[0];_&&_.transferEventName&&(S=_.transferEventName(S));let V=arguments[1];if(!V)return s.apply(this,arguments);if(we&&"uncaughtException"===S)return s.apply(this,arguments);let F=!1;if("function"!=typeof V){if(!V.handleEvent)return s.apply(this,arguments);F=!0}if(x&&!x(s,V,O,arguments))return;const fe=ye&&!!l&&-1!==l.indexOf(S),se=U(arguments[2],fe);if($)for(let _e=0;_e<$.length;_e++)if(S===$[_e])return fe?s.call(O,S,V,se):s.apply(this,arguments);const xe=!!se&&("boolean"==typeof se||se.capture),nt=!(!se||"object"!=typeof se)&&se.once,gt=Zone.current;let Ge=te[S];Ge||(Je(S,G),Ge=te[S]);const rt=Ge[xe?ce:ae];let De,pe=O[rt],ot=!1;if(pe){if(ot=!0,X)for(let _e=0;_e<pe.length;_e++)if(C(pe[_e],V))return}else pe=O[rt]=[];const st=O.constructor.name,it=Ye[st];it&&(De=it[S]),De||(De=st+f+(G?G(S):S)),h.options=se,nt&&(h.options.once=!1),h.target=O,h.capture=xe,h.eventName=S,h.isExisting=ot;const be=K?ht:void 0;be&&(be.taskData=h);const he=gt.scheduleEventTask(De,V,be,g,w);return h.target=null,be&&(be.taskData=null),nt&&(se.once=!0),!ye&&"boolean"==typeof he.options||(he.options=se),he.target=O,he.capture=xe,he.eventName=S,F&&(he.originalDelegate=V),D?pe.unshift(he):pe.push(he),p?O:void 0}};return y[c]=u(I,v,t,r,j),z&&(y.prependListener=u(z,".prependListener:",function(s){return z.call(h.target,h.eventName,s.invoke,h.options)},r,j,!0)),y[a]=function(){const s=this||e;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=arguments[2],w=!!g&&("boolean"==typeof g||g.capture),p=arguments[1];if(!p)return P.apply(this,arguments);if(x&&!x(P,p,s,arguments))return;const D=te[f];let O;D&&(O=D[w?ce:ae]);const S=O&&s[O];if(S)for(let V=0;V<S.length;V++){const F=S[V];if(C(F,p))return S.splice(V,1),F.isRemoved=!0,0===S.length&&(F.allRemoved=!0,s[O]=null,"string"==typeof f)&&(s[ke+"ON_PROPERTY"+f]=null),F.zone.cancelTask(F),j?s:void 0}return P.apply(this,arguments)},y[T]=function(){const s=this||e;let f=arguments[0];_&&_.transferEventName&&(f=_.transferEventName(f));const g=[],w=Qe(s,G?G(f):f);for(let p=0;p<w.length;p++){const D=w[p];g.push(D.originalDelegate?D.originalDelegate:D.callback)}return g},y[d]=function(){const s=this||e;let f=arguments[0];if(f){_&&_.transferEventName&&(f=_.transferEventName(f));const g=te[f];if(g){const D=s[g[ae]],O=s[g[ce]];if(D){const S=D.slice();for(let V=0;V<S.length;V++){const F=S[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}if(O){const S=O.slice();for(let V=0;V<S.length;V++){const F=S[V];this[a].call(this,f,F.originalDelegate?F.originalDelegate:F.callback,F.options)}}}}else{const g=Object.keys(s);for(let w=0;w<g.length;w++){const D=$e.exec(g[w]);let O=D&&D[1];O&&"removeListener"!==O&&this[d].call(this,O)}this[d].call(this,"removeListener")}if(j)return this},ue(y[c],I),ue(y[a],P),oe&&ue(y[d],oe),Q&&ue(y[T],Q),!0}let q=[];for(let R=0;R<i.length;R++)q[R]=J(i[R],o);return q}function Qe(e,n){if(!n){const a=[];for(let T in e){const d=$e.exec(T);let b=d&&d[1];if(b&&(!n||b===n)){const v=e[T];if(v)for(let m=0;m<v.length;m++)a.push(v[m])}}return a}let i=te[n];i||(Je(n),i=te[n]);const o=e[i[ae]],c=e[i[ce]];return o?c?o.concat(c):o.slice():c?c.slice():[]}function _t(e,n){const i=e.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",o=>function(c,a){c[Ke]=!0,o&&o.apply(c,a)})}function Et(e,n,i,o,c){const a=Zone.__symbol__(o);if(n[a])return;const T=n[a]=n[o];n[o]=function(d,b,v){return b&&b.prototype&&c.forEach(function(m){const L=`${i}.${o}::`+m,Z=b.prototype;if(Z.hasOwnProperty(m)){const N=e.ObjectGetOwnPropertyDescriptor(Z,m);N&&N.value?(N.value=e.wrapWithCurrentZone(N.value,L),e._redefineProperty(b.prototype,m,N)):Z[m]&&(Z[m]=e.wrapWithCurrentZone(Z[m],L))}else Z[m]&&(Z[m]=e.wrapWithCurrentZone(Z[m],L))}),T.call(n,d,b,v)},e.attachOriginToPatched(n[o],T)}function et(e,n,i){if(!i||0===i.length)return n;const o=i.filter(a=>a.target===e);if(!o||0===o.length)return n;const c=o[0].ignoreProperties;return n.filter(a=>-1===c.indexOf(a))}function tt(e,n,i,o){e&&Xe(e,et(e,n,i),o)}function He(e){return Object.getOwnPropertyNames(e).filter(n=>n.startsWith("on")&&n.length>2).map(n=>n.substring(2))}Zone.__load_patch("util",(e,n,i)=>{const o=He(e);i.patchOnProperties=Xe,i.patchMethod=le,i.bindArguments=Le,i.patchMacroTask=lt;const c=n.__symbol__("BLACK_LISTED_EVENTS"),a=n.__symbol__("UNPATCHED_EVENTS");e[a]&&(e[c]=e[a]),e[c]&&(n[c]=n[a]=e[c]),i.patchEventPrototype=_t,i.patchEventTarget=dt,i.isIEOrEdge=ft,i.ObjectDefineProperty=Ee,i.ObjectGetOwnPropertyDescriptor=ie,i.ObjectCreate=ge,i.ArraySlice=Ve,i.patchClass=ve,i.wrapWithCurrentZone=Ie,i.filterProperties=et,i.attachOriginToPatched=ue,i._redefineProperty=Object.defineProperty,i.patchCallbacks=Et,i.getGlobalObjects=()=>({globalSources:Ye,zoneSymbolEventNames:te,eventNames:o,isBrowser:je,isMix:Ue,isNode:we,TRUE_STR:ce,FALSE_STR:ae,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Oe,REMOVE_EVENT_LISTENER_STR:Se})});const Ce=A("zoneTask");function me(e,n,i,o){let c=null,a=null;i+=o;const T={};function d(v){const m=v.data;return m.args[0]=function(){return v.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),v}function b(v){return a.call(e,v.data.handleId)}c=le(e,n+=o,v=>function(m,L){if("function"==typeof L[0]){const Z={isPeriodic:"Interval"===o,delay:"Timeout"===o||"Interval"===o?L[1]||0:void 0,args:L},N=L[0];L[0]=function(){try{return N.apply(this,arguments)}finally{Z.isPeriodic||("number"==typeof Z.handleId?delete T[Z.handleId]:Z.handleId&&(Z.handleId[Ce]=null))}};const B=Me(n,L[0],Z,d,b);if(!B)return B;const H=B.data.handleId;return"number"==typeof H?T[H]=B:H&&(H[Ce]=B),H&&H.ref&&H.unref&&"function"==typeof H.ref&&"function"==typeof H.unref&&(B.ref=H.ref.bind(H),B.unref=H.unref.bind(H)),"number"==typeof H||H?H:B}return v.apply(e,L)}),a=le(e,i,v=>function(m,L){const Z=L[0];let N;"number"==typeof Z?N=T[Z]:(N=Z&&Z[Ce],N||(N=Z)),N&&"string"==typeof N.type?"notScheduled"!==N.state&&(N.cancelFn&&N.data.isPeriodic||0===N.runCount)&&("number"==typeof Z?delete T[Z]:Z&&(Z[Ce]=null),N.zone.cancelTask(N)):v.apply(e,L)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",o=>function(c,a){n.current.scheduleMicroTask("queueMicrotask",a[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";me(e,n,i,"Timeout"),me(e,n,i,"Interval"),me(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{me(e,"request","cancel","AnimationFrame"),me(e,"mozRequest","mozCancel","AnimationFrame"),me(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let o=0;o<i.length;o++)le(e,i[o],(a,T,d)=>function(b,v){return n.current.run(a,e,v,d)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function pt(e,n){n.patchEventPrototype(e,n)})(e,i),function mt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:o,TRUE_STR:c,FALSE_STR:a,ZONE_SYMBOL_PREFIX:T}=n.getGlobalObjects();for(let b=0;b<i.length;b++){const v=i[b],Z=T+(v+a),N=T+(v+c);o[v]={},o[v][a]=Z,o[v][c]=N}const d=e.EventTarget;d&&d.prototype&&n.patchEventTarget(e,n,[d&&d.prototype])}(e,i);const o=e.XMLHttpRequestEventTarget;o&&o.prototype&&i.patchEventTarget(e,i,[o.prototype])}),Zone.__load_patch("MutationObserver",(e,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Tt(e,n){if(we&&!Ue||Zone[e.symbol("patchEvents")])return;const i=n.__Zone_ignore_on_properties;let o=[];if(je){const c=window;o=o.concat(["Document","SVGElement","Element","HTMLElement","HTMLBodyElement","HTMLMediaElement","HTMLFrameSetElement","HTMLFrameElement","HTMLIFrameElement","HTMLMarqueeElement","Worker"]);const a=function ut(){try{const e=Te.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:c,ignoreProperties:["error"]}]:[];tt(c,He(c),i&&i.concat(a),de(c))}o=o.concat(["XMLHttpRequest","XMLHttpRequestEventTarget","IDBIndex","IDBRequest","IDBOpenDBRequest","IDBDatabase","IDBTransaction","IDBCursor","WebSocket"]);for(let c=0;c<o.length;c++){const a=n[o[c]];a&&a.prototype&&tt(a.prototype,He(a.prototype),i)}}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function yt(e,n){const{isBrowser:i,isMix:o}=n.getGlobalObjects();(i||o)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function b(v){const m=v.XMLHttpRequest;if(!m)return;const L=m.prototype;let N=L[Ze],B=L[Ne];if(!N){const h=v.XMLHttpRequestEventTarget;if(h){const I=h.prototype;N=I[Ze],B=I[Ne]}}const H="readystatechange",J="scheduled";function q(h){const I=h.data,P=I.target;P[a]=!1,P[d]=!1;const Q=P[c];N||(N=P[Ze],B=P[Ne]),Q&&B.call(P,H,Q);const oe=P[c]=()=>{if(P.readyState===P.DONE)if(!I.aborted&&P[a]&&h.state===J){const U=P[n.__symbol__("loadfalse")];if(0!==P.status&&U&&U.length>0){const re=h.invoke;h.invoke=function(){const ee=P[n.__symbol__("loadfalse")];for(let W=0;W<ee.length;W++)ee[W]===h&&ee.splice(W,1);!I.aborted&&h.state===J&&re.call(h)},U.push(h)}else h.invoke()}else!I.aborted&&!1===P[a]&&(P[d]=!0)};return N.call(P,H,oe),P[i]||(P[i]=h),y.apply(P,I.args),P[a]=!0,h}function R(){}function _(h){const I=h.data;return I.aborted=!0,G.apply(I.target,I.args)}const K=le(L,"open",()=>function(h,I){return h[o]=0==I[2],h[T]=I[1],K.apply(h,I)}),X=A("fetchTaskAborting"),j=A("fetchTaskScheduling"),y=le(L,"send",()=>function(h,I){if(!0===n.current[j]||h[o])return y.apply(h,I);{const P={target:h,url:h[T],isPeriodic:!1,args:I,aborted:!1},Q=Me("XMLHttpRequest.send",R,P,q,_);h&&!0===h[d]&&!P.aborted&&Q.state===J&&Q.invoke()}}),G=le(L,"abort",()=>function(h,I){const P=function Z(h){return h[i]}(h);if(P&&"string"==typeof P.type){if(null==P.cancelFn||P.data&&P.data.aborted)return;P.zone.cancelTask(P)}else if(!0===n.current[X])return G.apply(h,I)})}(e);const i=A("xhrTask"),o=A("xhrSync"),c=A("xhrListener"),a=A("xhrScheduled"),T=A("xhrURL"),d=A("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function at(e,n){const i=e.constructor.name;for(let o=0;o<n.length;o++){const c=n[o],a=e[c];if(a){if(!Fe(ie(e,c)))continue;e[c]=(d=>{const b=function(){return d.apply(this,Le(arguments,i+"."+c))};return ue(b,d),b})(a)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(o){return function(c){Qe(e,o).forEach(T=>{const d=e.PromiseRejectionEvent;if(d){const b=new d(o,{promise:c.promise,reason:c.rejection});T.invoke(b)}})}}e.PromiseRejectionEvent&&(n[A("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[A("rejectionHandledHandler")]=i("rejectionhandled"))})}},ie=>{ie(ie.s=3443)}]);
\ No newline at end of file
|
[-]
[+]
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/runtime.7bbb05b55f4765df.js
^
|
@@ -0,0 +1 @@
+(()=>{"use strict";var e,v={},g={};function r(e){var n=g[e];if(void 0!==n)return n.exports;var t=g[e]={exports:{}};return v[e](t,t.exports,r),t.exports}r.m=v,e=[],r.O=(n,t,o,i)=>{if(!t){var a=1/0;for(f=0;f<e.length;f++){for(var[t,o,i]=e[f],s=!0,d=0;d<t.length;d++)(!1&i||a>=i)&&Object.keys(r.O).every(b=>r.O[b](t[d]))?t.splice(d--,1):(s=!1,i<a&&(a=i));if(s){e.splice(f--,1);var l=o();void 0!==l&&(n=l)}}return n}i=i||0;for(var f=e.length;f>0&&e[f-1][2]>i;f--)e[f]=e[f-1];e[f]=[t,o,i]},r.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return r.d(n,{a:n}),n},(()=>{var n,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,o){if(1&o&&(t=this(t)),8&o||"object"==typeof t&&t&&(4&o&&t.__esModule||16&o&&"function"==typeof t.then))return t;var i=Object.create(null);r.r(i);var f={};n=n||[null,e({}),e([]),e(e)];for(var a=2&o&&t;"object"==typeof a&&!~n.indexOf(a);a=e(a))Object.getOwnPropertyNames(a).forEach(s=>f[s]=()=>t[s]);return f.default=()=>t,r.d(i,f),i}})(),r.d=(e,n)=>{for(var t in n)r.o(n,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((n,t)=>(r.f[t](e,n),n),[])),r.u=e=>e+"."+{828:"33d2079e84d0d534",914:"2e3641e00d4088c7",973:"59596f60f1cf4d72"}[e]+".js",r.miniCssF=e=>{},r.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),(()=>{var e={},n="mah:";r.l=(t,o,i,f)=>{if(e[t])e[t].push(o);else{var a,s;if(void 0!==i)for(var d=document.getElementsByTagName("script"),l=0;l<d.length;l++){var u=d[l];if(u.getAttribute("src")==t||u.getAttribute("data-webpack")==n+i){a=u;break}}a||(s=!0,(a=document.createElement("script")).type="module",a.charset="utf-8",a.timeout=120,r.nc&&a.setAttribute("nonce",r.nc),a.setAttribute("data-webpack",n+i),a.src=r.tu(t)),e[t]=[o];var c=(m,b)=>{a.onerror=a.onload=null,clearTimeout(p);var h=e[t];if(delete e[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(_=>_(b)),m)return m(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=c.bind(null,a.onerror),a.onload=c.bind(null,a.onload),s&&document.head.appendChild(a)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:n=>n},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{r.b=document.baseURI||self.location.href;var e={666:0};r.f.j=(o,i)=>{var f=r.o(e,o)?e[o]:void 0;if(0!==f)if(f)i.push(f[2]);else if(666!=o){var a=new Promise((u,c)=>f=e[o]=[u,c]);i.push(f[2]=a);var s=r.p+r.u(o),d=new Error;r.l(s,u=>{if(r.o(e,o)&&(0!==(f=e[o])&&(e[o]=void 0),f)){var c=u&&("load"===u.type?"missing":u.type),p=u&&u.target&&u.target.src;d.message="Loading chunk "+o+" failed.\n("+c+": "+p+")",d.name="ChunkLoadError",d.type=c,d.request=p,f[1](d)}},"chunk-"+o,o)}else e[o]=0},r.O.j=o=>0===e[o];var n=(o,i)=>{var d,l,[f,a,s]=i,u=0;if(f.some(p=>0!==e[p])){for(d in a)r.o(a,d)&&(r.m[d]=a[d]);if(s)var c=s(r)}for(o&&o(i);u<f.length;u++)r.o(e,l=f[u])&&e[l]&&e[l][0](),e[l]=0;return r.O(c)},t=self.webpackChunkmah=self.webpackChunkmah||[];t.forEach(n.bind(null,0)),t.push=n.bind(null,t.push.bind(t))})()})();
\ No newline at end of file
|
[-]
[+]
|
Added |
_service:tar_git:harbour-moremahjong-1.6.1.tar.bz2/qml/mah/styles.df682b1de6c45013.css
^
|
@@ -0,0 +1 @@
+@font-face{font-family:mah;src:url(mah.9e13aab96041f426.eot);src:url(mah.9e13aab96041f426.eot) format("embedded-opentype"),url(mah.af51b3bb9f258f6d.woff2) format("woff2"),url(mah.80dadcb9ee90585f.woff) format("woff"),url(mah.7b56fd4adb756b35.ttf) format("truetype"),url(mah.31a47900735af891.svg) format("svg");font-weight:400;font-style:normal}[class^=icon-]:before,[class*=" icon-"]:before{font-family:mah;font-style:normal;font-weight:400;speak:never;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-pause:before{content:"\e800"}.icon-lightbulb:before{content:"\e803"}.icon-undo:before{content:"\e807"}.icon-spin1:before{content:"\e808"}.icon-cancel-circled2:before{content:"\e809"}.icon-calendar:before{content:"\e80a"}.icon-note-beamed:before{content:"\e80b"}.icon-resize-full-alt:before{content:"\e80d"}.icon-volume-low:before{content:"\e80e"}.icon-loop:before{content:"\e812"}.icon-cog:before{content:"\e813"}.icon-trash-empty:before{content:"\e815"}@font-face{font-family:editor;src:url(editor.e99c99200b5948c0.eot);src:url(editor.e99c99200b5948c0.eot) format("embedded-opentype"),url(editor.cb83a28c681dc182.woff2) format("woff2"),url(editor.ba7da210895fb47c.woff) format("woff"),url(editor.61a80421c752dd91.ttf) format("truetype"),url(editor.5f040adfabe8f8ae.svg) format("svg");font-weight:400;font-style:normal}[class^=icon-editor-]:before,[class*=" icon-editor-"]:before{font-family:editor;font-style:normal;font-weight:400;speak:never;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-feature-settings:normal;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-editor-down-small:before{content:"\e800"}.icon-editor-left-small:before{content:"\e801"}.icon-editor-right-small:before{content:"\e802"}.icon-editor-up-small:before{content:"\e803"}.icon-editor-trash:before{content:"\e804"}.icon-editor-cancel-alt:before{content:"\e805"}.icon-editor-ok:before{content:"\e810"}.icon-editor-list-add:before{content:"\e832"}.icon-editor-docs:before{content:"\f0c5"}@font-face{font-family:Kulim Park;font-style:normal;font-weight:400;src:url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot);src:local(""),url(kulim-park-v4-latin-ext_latin-regular.328c0ac02dbbd95a.eot) format("embedded-opentype"),url(kulim-park-v4-latin-ext_latin-regular.5ba427d3fc02fc32.woff2) format("woff2"),url(kulim-park-v4-latin-ext_latin-regular.2ca06e76c445b899.woff) format("woff"),url(kulim-park-v4-latin-ext_latin-regular.2a16ed6bdde62f9a.ttf) format("truetype"),url(kulim-park-v4-latin-ext_latin-regular.c6f2e11a4935bd52.svg) format("svg")}*,*:before,*:after{box-sizing:border-box}html{width:100%;height:100%;--main-bg-color: #2b424f;--main-bg-color-lt: #2e4856;--main-bg-color-dk: #253c46;--main-text-color: #47b00a;--main-text-color-lt: #51c80b;--main-text-color-dk: #348007;--dialog-text-color: #47b00a;--dialog-background-color: #f5f1e4;background-color:var(--main-bg-color)}body{font-family:Kulim Park,Tahoma,sans-serif;background-color:var(--main-bg-color);padding:0;margin:0;width:100%;height:100%}body{font-size:1em;line-height:1.5}button,select{background-image:linear-gradient(to bottom,#e4e4e4,#f7f7f7);border:1px solid #afafaf;font-family:Kulim Park,Tahoma,sans-serif;font-size:inherit}input[type=radio]{font-size:inherit;width:.9em;height:.9em;vertical-align:middle}p{margin:0;padding:0}.hidden{display:none}.link{cursor:pointer}.overlay{height:100%;width:100%;position:fixed;top:0;left:0;z-index:10000;background-color:#0003;max-height:100%;font-size:.9em}@media only screen and (min-width: 700px){.overlay{font-size:1.1em}}@media only screen and (min-width: 1000px){.overlay{font-size:1.2em}}@media only screen and (min-width: 1900px){.overlay{font-size:1.2em}}@media only screen and (min-width: 2200px){.overlay{font-size:2em}}@media only screen and (max-height: 500px){.overlay{font-size:.9em}}.overlay .overlay-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);max-height:98%;max-width:98%;margin-left:auto;margin-right:auto;border:1px solid #707070;background-color:var(--dialog-background-color);line-height:1.2em;padding:1.5em 2em;display:flex;flex-direction:column;border-radius:12px;box-shadow:12px 14px 16px #00000080}@media only screen and (min-width: 2200px){.overlay .overlay-popup{border-radius:30px}}@media only screen and (min-width: 1900px){.overlay .overlay-popup{max-height:80%;max-width:80%}}@media only screen and (max-width: 1000px){.overlay .overlay-popup{padding:1.5em}}@media only screen and (max-width: 280px){.overlay .overlay-popup{padding:1.5em 1em}}.overlay .close{right:8px;top:8px;position:absolute;color:#a9a9a9;cursor:pointer;padding:3px;border-radius:6px}.overlay .close i{font-size:1.2em}.overlay .close:hover{color:#707070}
|