@archilogic/floor-plan-sdk 5.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,822 @@
1
+ /*!
2
+ Archilogic Floor Plan Engine SDK v5.0.0-beta.0 webgl build nightly-221026-205413-f0b610
3
+
4
+ Copyright (c) 2022 Archilogic AG. All rights reserved.
5
+
6
+ License: According to your license agreement with Archilogic AG
7
+ */(function(Ze,Je){typeof exports=="object"&&typeof module<"u"?module.exports=Je():typeof define=="function"&&define.amd?define(Je):(Ze=typeof globalThis<"u"?globalThis:Ze||self,Ze.FloorPlanEngine=Je())})(this,function(){"use strict";var Ze=Object.defineProperty,Je=Object.defineProperties,Ah=Object.getOwnPropertyDescriptors,Gs=Object.getOwnPropertySymbols,Sh=Object.prototype.hasOwnProperty,Nh=Object.prototype.propertyIsEnumerable,Hs=(e,t,i)=>t in e?Ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Lh=(e,t)=>{for(var i in t||(t={}))Sh.call(t,i)&&Hs(e,i,t[i]);if(Gs)for(var i of Gs(t))Nh.call(t,i)&&Hs(e,i,t[i]);return e},Oh=(e,t)=>Je(e,Ah(t));const Ur=3.28084,Dr=(e,t=1/64)=>{const i=1/t;return Math.round(e*i)/i};function Ws(e){return Math.sign(e)*Math.floor(Math.abs(e))}function Rh(e){const t=e*Ur,i=Math.abs(t),r=Dr(i%1*12);return{feet:Ws(i),inches:Ws(r),fraction:Dr(r%1),isNegative:Math.sign(e)<0}}function Mh(e){return e*Ur*Ur}const Ke="\xA0",Qe={meters:"m",feet:"\u2032",inches:"\u2033",squareMeters:"m\xB2",squareFeet:"ft\xB2",fraction:"/"};function Ys(e,t=1/2,i=1/64){return!(e%t)||t<=i?[e/t,1/t]:Ys(e,t/2)}const ti=(e=0,t="metric",i=3)=>{if(t==="imperial"){const{feet:n,inches:s,fraction:o,isNegative:a}=Rh(e);let l="";if(o>0){const[h,u]=Ys(Dr(o));l=`${Ke}${h}/${u}`}return`${a?"-":""}${n}${Qe.feet}${Ke}${s}${l}${Qe.inches}`}const r=Math.pow(10,i);return`${Math.round(e*r)/r}${Ke}${Qe.meters}`},zs=(e=0,t="metric",i=0,r=!0)=>{let n="",s="";const o=Math.pow(10,i);if(t==="imperial"){const a=Mh(e);n=`${Math.round(a*o)/o}`,s=`${Ke}${Qe.squareFeet}`}else n=`${Math.round(e*o)/o}`,s=`${Ke}${Qe.squareMeters}`;return r&&(n+=s),n};function Fh(e){return e.replace(/([A-Z])/g,t=>` ${t}`).replace(/^./,t=>t.toUpperCase()).trim()}function kh(e){return e.slice(0,1)==="#"&&(e=e.slice(1)),e}function Vs(e){const t=kh(e);return t.length===3?`#${t.split("").map(i=>i+i).join("")}`:e}function Xr(e){return e>=0&&e<=255}function Bh({r:e,g:t,b:i}){return Xr(e)&&Xr(t)&&Xr(i)}function Uh(e){const t=Vs(e),i={r:parseInt(t.substring(1,3),16),g:parseInt(t.substring(3,5),16),b:parseInt(t.substring(5,7),16)};if(Bh(i))return i;throw"invalid hex color input"}function Dh(e){return Vs(e).match(/^#[a-f0-9]{6}$/i)!==null}function Re(e){return JSON.parse(JSON.stringify(e))}function $s(...e){let t={};for(const i of e)if(i instanceof Array)t instanceof Array||(t=[]),t=[...t,...i];else if(i instanceof Object)for(const r of Object.entries(i)){const n=r[0];let s=r[1];s instanceof Object&&n in t&&(s=$s(t[n],s)),t=Oh(Lh({},t),{[n]:s})}return t}function Me(){return typeof window<"u"&&typeof navigator<"u"&&typeof document<"u"}function Xh(){return Me()&&/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)}function Gh(){return Me()?/iPad|iPhone|iPod/.test(navigator.platform)?!0:!!(navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform)):!1}function Hh(){return!!(Me()&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&/MacIntel/.test(navigator.platform))}function Wh(){return Me()&&navigator.platform.toUpperCase().indexOf("MAC")>=0}function Yh(){return!Me()||window.self===window.top?!1:!!(window.location.ancestorOrigins&&window.location.ancestorOrigins[0]||document.referrer)}function zh(){return Me()&&/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}Gh(),Hh(),Xh(),Yh(),zh(),Wh();var kt=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Vh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function $h(e){var t=e.default;if(typeof t=="function"){var i=function(){return t.apply(this,arguments)};i.prototype=t.prototype}else i={};return Object.defineProperty(i,"__esModule",{value:!0}),Object.keys(e).forEach(function(r){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(i,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}),i}var qs={},Ri={},Mi={};Object.defineProperty(Mi,"__esModule",{value:!0}),Mi.default=jh;var js=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||typeof msCrypto<"u"&&typeof msCrypto.getRandomValues=="function"&&msCrypto.getRandomValues.bind(msCrypto),qh=new Uint8Array(16);function jh(){if(!js)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return js(qh)}var Fe={};Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.default=void 0;for(var Zs=[],Fi=0;Fi<256;++Fi)Zs[Fi]=(Fi+256).toString(16).substr(1);function Zh(e,t){var i=t||0,r=Zs;return[r[e[i++]],r[e[i++]],r[e[i++]],r[e[i++]],"-",r[e[i++]],r[e[i++]],"-",r[e[i++]],r[e[i++]],"-",r[e[i++]],r[e[i++]],"-",r[e[i++]],r[e[i++]],r[e[i++]],r[e[i++]],r[e[i++]],r[e[i++]]].join("")}var Jh=Zh;Fe.default=Jh,Object.defineProperty(Ri,"__esModule",{value:!0}),Ri.default=void 0;var Kh=Js(Mi),Qh=Js(Fe);function Js(e){return e&&e.__esModule?e:{default:e}}var Ks,Gr,Hr=0,Wr=0;function tu(e,t,i){var r=t&&i||0,n=t||[];e=e||{};var s=e.node||Ks,o=e.clockseq!==void 0?e.clockseq:Gr;if(s==null||o==null){var a=e.random||(e.rng||Kh.default)();s==null&&(s=Ks=[a[0]|1,a[1],a[2],a[3],a[4],a[5]]),o==null&&(o=Gr=(a[6]<<8|a[7])&16383)}var l=e.msecs!==void 0?e.msecs:new Date().getTime(),h=e.nsecs!==void 0?e.nsecs:Wr+1,u=l-Hr+(h-Wr)/1e4;if(u<0&&e.clockseq===void 0&&(o=o+1&16383),(u<0||l>Hr)&&e.nsecs===void 0&&(h=0),h>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");Hr=l,Wr=h,Gr=o,l+=122192928e5;var f=((l&268435455)*1e4+h)%4294967296;n[r++]=f>>>24&255,n[r++]=f>>>16&255,n[r++]=f>>>8&255,n[r++]=f&255;var p=l/4294967296*1e4&268435455;n[r++]=p>>>8&255,n[r++]=p&255,n[r++]=p>>>24&15|16,n[r++]=p>>>16&255,n[r++]=o>>>8|128,n[r++]=o&255;for(var d=0;d<6;++d)n[r+d]=s[d];return t||(0,Qh.default)(n)}var eu=tu;Ri.default=eu;var ki={},jt={};Object.defineProperty(jt,"__esModule",{value:!0}),jt.default=ou,jt.URL=jt.DNS=void 0;var iu=ru(Fe);function ru(e){return e&&e.__esModule?e:{default:e}}function nu(e){var t=[];return e.replace(/[a-fA-F0-9]{2}/g,function(i){t.push(parseInt(i,16))}),t}function su(e){e=unescape(encodeURIComponent(e));for(var t=new Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t}const Qs="6ba7b810-9dad-11d1-80b4-00c04fd430c8";jt.DNS=Qs;const to="6ba7b811-9dad-11d1-80b4-00c04fd430c8";jt.URL=to;function ou(e,t,i){var r=function(n,s,o,a){var l=o&&a||0;if(typeof n=="string"&&(n=su(n)),typeof s=="string"&&(s=nu(s)),!Array.isArray(n))throw TypeError("value must be an array of bytes");if(!Array.isArray(s)||s.length!==16)throw TypeError("namespace must be uuid string or an Array of 16 byte values");var h=i(s.concat(n));if(h[6]=h[6]&15|t,h[8]=h[8]&63|128,o)for(var u=0;u<16;++u)o[l+u]=h[u];return o||(0,iu.default)(h)};try{r.name=e}catch{}return r.DNS=Qs,r.URL=to,r}var Bi={};Object.defineProperty(Bi,"__esModule",{value:!0}),Bi.default=void 0;function au(e){if(typeof e=="string"){var t=unescape(encodeURIComponent(e));e=new Array(t.length);for(var i=0;i<t.length;i++)e[i]=t.charCodeAt(i)}return lu(hu(uu(e),e.length*8))}function lu(e){var t,i,r=[],n=e.length*32,s="0123456789abcdef",o;for(t=0;t<n;t+=8)i=e[t>>5]>>>t%32&255,o=parseInt(s.charAt(i>>>4&15)+s.charAt(i&15),16),r.push(o);return r}function hu(e,t){e[t>>5]|=128<<t%32,e[(t+64>>>9<<4)+14]=t;var i,r,n,s,o,a=1732584193,l=-271733879,h=-1732584194,u=271733878;for(i=0;i<e.length;i+=16)r=a,n=l,s=h,o=u,a=nt(a,l,h,u,e[i],7,-680876936),u=nt(u,a,l,h,e[i+1],12,-389564586),h=nt(h,u,a,l,e[i+2],17,606105819),l=nt(l,h,u,a,e[i+3],22,-1044525330),a=nt(a,l,h,u,e[i+4],7,-176418897),u=nt(u,a,l,h,e[i+5],12,1200080426),h=nt(h,u,a,l,e[i+6],17,-1473231341),l=nt(l,h,u,a,e[i+7],22,-45705983),a=nt(a,l,h,u,e[i+8],7,1770035416),u=nt(u,a,l,h,e[i+9],12,-1958414417),h=nt(h,u,a,l,e[i+10],17,-42063),l=nt(l,h,u,a,e[i+11],22,-1990404162),a=nt(a,l,h,u,e[i+12],7,1804603682),u=nt(u,a,l,h,e[i+13],12,-40341101),h=nt(h,u,a,l,e[i+14],17,-1502002290),l=nt(l,h,u,a,e[i+15],22,1236535329),a=st(a,l,h,u,e[i+1],5,-165796510),u=st(u,a,l,h,e[i+6],9,-1069501632),h=st(h,u,a,l,e[i+11],14,643717713),l=st(l,h,u,a,e[i],20,-373897302),a=st(a,l,h,u,e[i+5],5,-701558691),u=st(u,a,l,h,e[i+10],9,38016083),h=st(h,u,a,l,e[i+15],14,-660478335),l=st(l,h,u,a,e[i+4],20,-405537848),a=st(a,l,h,u,e[i+9],5,568446438),u=st(u,a,l,h,e[i+14],9,-1019803690),h=st(h,u,a,l,e[i+3],14,-187363961),l=st(l,h,u,a,e[i+8],20,1163531501),a=st(a,l,h,u,e[i+13],5,-1444681467),u=st(u,a,l,h,e[i+2],9,-51403784),h=st(h,u,a,l,e[i+7],14,1735328473),l=st(l,h,u,a,e[i+12],20,-1926607734),a=ot(a,l,h,u,e[i+5],4,-378558),u=ot(u,a,l,h,e[i+8],11,-2022574463),h=ot(h,u,a,l,e[i+11],16,1839030562),l=ot(l,h,u,a,e[i+14],23,-35309556),a=ot(a,l,h,u,e[i+1],4,-1530992060),u=ot(u,a,l,h,e[i+4],11,1272893353),h=ot(h,u,a,l,e[i+7],16,-155497632),l=ot(l,h,u,a,e[i+10],23,-1094730640),a=ot(a,l,h,u,e[i+13],4,681279174),u=ot(u,a,l,h,e[i],11,-358537222),h=ot(h,u,a,l,e[i+3],16,-722521979),l=ot(l,h,u,a,e[i+6],23,76029189),a=ot(a,l,h,u,e[i+9],4,-640364487),u=ot(u,a,l,h,e[i+12],11,-421815835),h=ot(h,u,a,l,e[i+15],16,530742520),l=ot(l,h,u,a,e[i+2],23,-995338651),a=at(a,l,h,u,e[i],6,-198630844),u=at(u,a,l,h,e[i+7],10,1126891415),h=at(h,u,a,l,e[i+14],15,-1416354905),l=at(l,h,u,a,e[i+5],21,-57434055),a=at(a,l,h,u,e[i+12],6,1700485571),u=at(u,a,l,h,e[i+3],10,-1894986606),h=at(h,u,a,l,e[i+10],15,-1051523),l=at(l,h,u,a,e[i+1],21,-2054922799),a=at(a,l,h,u,e[i+8],6,1873313359),u=at(u,a,l,h,e[i+15],10,-30611744),h=at(h,u,a,l,e[i+6],15,-1560198380),l=at(l,h,u,a,e[i+13],21,1309151649),a=at(a,l,h,u,e[i+4],6,-145523070),u=at(u,a,l,h,e[i+11],10,-1120210379),h=at(h,u,a,l,e[i+2],15,718787259),l=at(l,h,u,a,e[i+9],21,-343485551),a=Zt(a,r),l=Zt(l,n),h=Zt(h,s),u=Zt(u,o);return[a,l,h,u]}function uu(e){var t,i=[];for(i[(e.length>>2)-1]=void 0,t=0;t<i.length;t+=1)i[t]=0;var r=e.length*8;for(t=0;t<r;t+=8)i[t>>5]|=(e[t/8]&255)<<t%32;return i}function Zt(e,t){var i=(e&65535)+(t&65535),r=(e>>16)+(t>>16)+(i>>16);return r<<16|i&65535}function fu(e,t){return e<<t|e>>>32-t}function Ui(e,t,i,r,n,s){return Zt(fu(Zt(Zt(t,e),Zt(r,s)),n),i)}function nt(e,t,i,r,n,s,o){return Ui(t&i|~t&r,e,t,n,s,o)}function st(e,t,i,r,n,s,o){return Ui(t&r|i&~r,e,t,n,s,o)}function ot(e,t,i,r,n,s,o){return Ui(t^i^r,e,t,n,s,o)}function at(e,t,i,r,n,s,o){return Ui(i^(t|~r),e,t,n,s,o)}var cu=au;Bi.default=cu,Object.defineProperty(ki,"__esModule",{value:!0}),ki.default=void 0;var pu=eo(jt),du=eo(Bi);function eo(e){return e&&e.__esModule?e:{default:e}}var vu=(0,pu.default)("v3",48,du.default);ki.default=vu;var Di={};Object.defineProperty(Di,"__esModule",{value:!0}),Di.default=void 0;var mu=io(Mi),yu=io(Fe);function io(e){return e&&e.__esModule?e:{default:e}}function gu(e,t,i){var r=t&&i||0;typeof e=="string"&&(t=e==="binary"?new Array(16):null,e=null),e=e||{};var n=e.random||(e.rng||mu.default)();if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t)for(var s=0;s<16;++s)t[r+s]=n[s];return t||(0,yu.default)(n)}var _u=gu;Di.default=_u;var Xi={},Gi={};Object.defineProperty(Gi,"__esModule",{value:!0}),Gi.default=void 0;function xu(e,t,i,r){switch(e){case 0:return t&i^~t&r;case 1:return t^i^r;case 2:return t&i^t&r^i&r;case 3:return t^i^r}}function Yr(e,t){return e<<t|e>>>32-t}function wu(e){var t=[1518500249,1859775393,2400959708,3395469782],i=[1732584193,4023233417,2562383102,271733878,3285377520];if(typeof e=="string"){var r=unescape(encodeURIComponent(e));e=new Array(r.length);for(var n=0;n<r.length;n++)e[n]=r.charCodeAt(n)}e.push(128);for(var s=e.length/4+2,o=Math.ceil(s/16),a=new Array(o),n=0;n<o;n++){a[n]=new Array(16);for(var l=0;l<16;l++)a[n][l]=e[n*64+l*4]<<24|e[n*64+l*4+1]<<16|e[n*64+l*4+2]<<8|e[n*64+l*4+3]}a[o-1][14]=(e.length-1)*8/Math.pow(2,32),a[o-1][14]=Math.floor(a[o-1][14]),a[o-1][15]=(e.length-1)*8&4294967295;for(var n=0;n<o;n++){for(var h=new Array(80),u=0;u<16;u++)h[u]=a[n][u];for(var u=16;u<80;u++)h[u]=Yr(h[u-3]^h[u-8]^h[u-14]^h[u-16],1);for(var f=i[0],p=i[1],d=i[2],v=i[3],y=i[4],u=0;u<80;u++){var m=Math.floor(u/20),g=Yr(f,5)+xu(m,p,d,v)+y+t[m]+h[u]>>>0;y=v,v=d,d=Yr(p,30)>>>0,p=f,f=g}i[0]=i[0]+f>>>0,i[1]=i[1]+p>>>0,i[2]=i[2]+d>>>0,i[3]=i[3]+v>>>0,i[4]=i[4]+y>>>0}return[i[0]>>24&255,i[0]>>16&255,i[0]>>8&255,i[0]&255,i[1]>>24&255,i[1]>>16&255,i[1]>>8&255,i[1]&255,i[2]>>24&255,i[2]>>16&255,i[2]>>8&255,i[2]&255,i[3]>>24&255,i[3]>>16&255,i[3]>>8&255,i[3]&255,i[4]>>24&255,i[4]>>16&255,i[4]>>8&255,i[4]&255]}var Pu=wu;Gi.default=Pu,Object.defineProperty(Xi,"__esModule",{value:!0}),Xi.default=void 0;var Tu=ro(jt),bu=ro(Gi);function ro(e){return e&&e.__esModule?e:{default:e}}var Iu=(0,Tu.default)("v5",80,bu.default);Xi.default=Iu,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return n.default}});var t=s(Ri),i=s(ki),r=s(Di),n=s(Xi);function s(o){return o&&o.__esModule?o:{default:o}}}(qs);var Hi=Vh(qs);Hi.v1,Hi.v3;const he=Hi.v4;Hi.v5;/*!
8
+ * @pixi/constants - v6.2.2
9
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
10
+ *
11
+ * @pixi/constants is licensed under the MIT License.
12
+ * http://www.opensource.org/licenses/mit-license
13
+ */var Bt;(function(e){e[e.WEBGL_LEGACY=0]="WEBGL_LEGACY",e[e.WEBGL=1]="WEBGL",e[e.WEBGL2=2]="WEBGL2"})(Bt||(Bt={}));var ke;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEBGL=1]="WEBGL",e[e.CANVAS=2]="CANVAS"})(ke||(ke={}));var Wi;(function(e){e[e.COLOR=16384]="COLOR",e[e.DEPTH=256]="DEPTH",e[e.STENCIL=1024]="STENCIL"})(Wi||(Wi={}));var b;(function(e){e[e.NORMAL=0]="NORMAL",e[e.ADD=1]="ADD",e[e.MULTIPLY=2]="MULTIPLY",e[e.SCREEN=3]="SCREEN",e[e.OVERLAY=4]="OVERLAY",e[e.DARKEN=5]="DARKEN",e[e.LIGHTEN=6]="LIGHTEN",e[e.COLOR_DODGE=7]="COLOR_DODGE",e[e.COLOR_BURN=8]="COLOR_BURN",e[e.HARD_LIGHT=9]="HARD_LIGHT",e[e.SOFT_LIGHT=10]="SOFT_LIGHT",e[e.DIFFERENCE=11]="DIFFERENCE",e[e.EXCLUSION=12]="EXCLUSION",e[e.HUE=13]="HUE",e[e.SATURATION=14]="SATURATION",e[e.COLOR=15]="COLOR",e[e.LUMINOSITY=16]="LUMINOSITY",e[e.NORMAL_NPM=17]="NORMAL_NPM",e[e.ADD_NPM=18]="ADD_NPM",e[e.SCREEN_NPM=19]="SCREEN_NPM",e[e.NONE=20]="NONE",e[e.SRC_OVER=0]="SRC_OVER",e[e.SRC_IN=21]="SRC_IN",e[e.SRC_OUT=22]="SRC_OUT",e[e.SRC_ATOP=23]="SRC_ATOP",e[e.DST_OVER=24]="DST_OVER",e[e.DST_IN=25]="DST_IN",e[e.DST_OUT=26]="DST_OUT",e[e.DST_ATOP=27]="DST_ATOP",e[e.ERASE=26]="ERASE",e[e.SUBTRACT=28]="SUBTRACT",e[e.XOR=29]="XOR"})(b||(b={}));var Ut;(function(e){e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN"})(Ut||(Ut={}));var L;(function(e){e[e.RGBA=6408]="RGBA",e[e.RGB=6407]="RGB",e[e.RG=33319]="RG",e[e.RED=6403]="RED",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.ALPHA=6406]="ALPHA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL"})(L||(L={}));var ue;(function(e){e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z"})(ue||(ue={}));var D;(function(e){e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.BYTE=5120]="BYTE",e[e.SHORT=5122]="SHORT",e[e.INT=5124]="INT",e[e.FLOAT=5126]="FLOAT",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.HALF_FLOAT=36193]="HALF_FLOAT"})(D||(D={}));var Yi;(function(e){e[e.FLOAT=0]="FLOAT",e[e.INT=1]="INT",e[e.UINT=2]="UINT"})(Yi||(Yi={}));var lt;(function(e){e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR"})(lt||(lt={}));var ei;(function(e){e[e.CLAMP=33071]="CLAMP",e[e.REPEAT=10497]="REPEAT",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"})(ei||(ei={}));var fe;(function(e){e[e.OFF=0]="OFF",e[e.POW2=1]="POW2",e[e.ON=2]="ON",e[e.ON_MANUAL=3]="ON_MANUAL"})(fe||(fe={}));var Jt;(function(e){e[e.NPM=0]="NPM",e[e.UNPACK=1]="UNPACK",e[e.PMA=2]="PMA",e[e.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",e[e.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",e[e.PREMULTIPLY_ALPHA=2]="PREMULTIPLY_ALPHA",e[e.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA"})(Jt||(Jt={}));var Kt;(function(e){e[e.NO=0]="NO",e[e.YES=1]="YES",e[e.AUTO=2]="AUTO",e[e.BLEND=0]="BLEND",e[e.CLEAR=1]="CLEAR",e[e.BLIT=2]="BLIT"})(Kt||(Kt={}));var zr;(function(e){e[e.AUTO=0]="AUTO",e[e.MANUAL=1]="MANUAL"})(zr||(zr={}));var At;(function(e){e.LOW="lowp",e.MEDIUM="mediump",e.HIGH="highp"})(At||(At={}));var ht;(function(e){e[e.NONE=0]="NONE",e[e.SCISSOR=1]="SCISSOR",e[e.STENCIL=2]="STENCIL",e[e.SPRITE=3]="SPRITE"})(ht||(ht={}));var Q;(function(e){e[e.NONE=0]="NONE",e[e.LOW=2]="LOW",e[e.MEDIUM=4]="MEDIUM",e[e.HIGH=8]="HIGH"})(Q||(Q={}));var St;(function(e){e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER"})(St||(St={}));var Vr=/iPhone/i,no=/iPod/i,so=/iPad/i,oo=/\biOS-universal(?:.+)Mac\b/i,$r=/\bAndroid(?:.+)Mobile\b/i,ao=/Android/i,Be=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,zi=/Silk/i,Dt=/Windows Phone/i,lo=/\bWindows(?:.+)ARM\b/i,ho=/BlackBerry/i,uo=/BB10/i,fo=/Opera Mini/i,co=/\b(CriOS|Chrome)(?:.+)Mobile/i,po=/Mobile(?:.+)Firefox\b/i,vo=function(e){return typeof e<"u"&&e.platform==="MacIntel"&&typeof e.maxTouchPoints=="number"&&e.maxTouchPoints>1&&typeof MSStream>"u"};function Cu(e){return function(t){return t.test(e)}}function Eu(e){var t={userAgent:"",platform:"",maxTouchPoints:0};!e&&typeof navigator<"u"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof e=="string"?t.userAgent=e:e&&e.userAgent&&(t={userAgent:e.userAgent,platform:e.platform,maxTouchPoints:e.maxTouchPoints||0});var i=t.userAgent,r=i.split("[FBAN");typeof r[1]<"u"&&(i=r[0]),r=i.split("Twitter"),typeof r[1]<"u"&&(i=r[0]);var n=Cu(i),s={apple:{phone:n(Vr)&&!n(Dt),ipod:n(no),tablet:!n(Vr)&&(n(so)||vo(t))&&!n(Dt),universal:n(oo),device:(n(Vr)||n(no)||n(so)||n(oo)||vo(t))&&!n(Dt)},amazon:{phone:n(Be),tablet:!n(Be)&&n(zi),device:n(Be)||n(zi)},android:{phone:!n(Dt)&&n(Be)||!n(Dt)&&n($r),tablet:!n(Dt)&&!n(Be)&&!n($r)&&(n(zi)||n(ao)),device:!n(Dt)&&(n(Be)||n(zi)||n($r)||n(ao))||n(/\bokhttp\b/i)},windows:{phone:n(Dt),tablet:n(lo),device:n(Dt)||n(lo)},other:{blackberry:n(ho),blackberry10:n(uo),opera:n(fo),firefox:n(po),chrome:n(co),device:n(ho)||n(uo)||n(fo)||n(po)||n(co)},any:!1,phone:!1,tablet:!1};return s.any=s.apple.device||s.android.device||s.windows.device||s.other.device,s.phone=s.apple.phone||s.android.phone||s.windows.phone,s.tablet=s.apple.tablet||s.android.tablet||s.windows.tablet,s}/*!
14
+ * @pixi/settings - v6.2.2
15
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
16
+ *
17
+ * @pixi/settings is licensed under the MIT License.
18
+ * http://www.opensource.org/licenses/mit-license
19
+ */var Qt=Eu(self.navigator);function Au(e){var t=!0;if(Qt.tablet||Qt.phone){if(Qt.apple.device){var i=navigator.userAgent.match(/OS (\d+)_(\d+)?/);if(i){var r=parseInt(i[1],10);r<11&&(t=!1)}}if(Qt.android.device){var i=navigator.userAgent.match(/Android\s([0-9.]*)/);if(i){var r=parseInt(i[1],10);r<7&&(t=!1)}}}return t?e:4}function Su(){return!Qt.apple.device}/*!
20
+ * @pixi/constants - v6.2.2
21
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
22
+ *
23
+ * @pixi/constants is licensed under the MIT License.
24
+ * http://www.opensource.org/licenses/mit-license
25
+ */var mo;(function(e){e[e.WEBGL_LEGACY=0]="WEBGL_LEGACY",e[e.WEBGL=1]="WEBGL",e[e.WEBGL2=2]="WEBGL2"})(mo||(mo={}));var yo;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEBGL=1]="WEBGL",e[e.CANVAS=2]="CANVAS"})(yo||(yo={}));var go;(function(e){e[e.COLOR=16384]="COLOR",e[e.DEPTH=256]="DEPTH",e[e.STENCIL=1024]="STENCIL"})(go||(go={}));var _o;(function(e){e[e.NORMAL=0]="NORMAL",e[e.ADD=1]="ADD",e[e.MULTIPLY=2]="MULTIPLY",e[e.SCREEN=3]="SCREEN",e[e.OVERLAY=4]="OVERLAY",e[e.DARKEN=5]="DARKEN",e[e.LIGHTEN=6]="LIGHTEN",e[e.COLOR_DODGE=7]="COLOR_DODGE",e[e.COLOR_BURN=8]="COLOR_BURN",e[e.HARD_LIGHT=9]="HARD_LIGHT",e[e.SOFT_LIGHT=10]="SOFT_LIGHT",e[e.DIFFERENCE=11]="DIFFERENCE",e[e.EXCLUSION=12]="EXCLUSION",e[e.HUE=13]="HUE",e[e.SATURATION=14]="SATURATION",e[e.COLOR=15]="COLOR",e[e.LUMINOSITY=16]="LUMINOSITY",e[e.NORMAL_NPM=17]="NORMAL_NPM",e[e.ADD_NPM=18]="ADD_NPM",e[e.SCREEN_NPM=19]="SCREEN_NPM",e[e.NONE=20]="NONE",e[e.SRC_OVER=0]="SRC_OVER",e[e.SRC_IN=21]="SRC_IN",e[e.SRC_OUT=22]="SRC_OUT",e[e.SRC_ATOP=23]="SRC_ATOP",e[e.DST_OVER=24]="DST_OVER",e[e.DST_IN=25]="DST_IN",e[e.DST_OUT=26]="DST_OUT",e[e.DST_ATOP=27]="DST_ATOP",e[e.ERASE=26]="ERASE",e[e.SUBTRACT=28]="SUBTRACT",e[e.XOR=29]="XOR"})(_o||(_o={}));var xo;(function(e){e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN"})(xo||(xo={}));var wo;(function(e){e[e.RGBA=6408]="RGBA",e[e.RGB=6407]="RGB",e[e.RG=33319]="RG",e[e.RED=6403]="RED",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.ALPHA=6406]="ALPHA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL"})(wo||(wo={}));var Po;(function(e){e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z"})(Po||(Po={}));var To;(function(e){e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.BYTE=5120]="BYTE",e[e.SHORT=5122]="SHORT",e[e.INT=5124]="INT",e[e.FLOAT=5126]="FLOAT",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.HALF_FLOAT=36193]="HALF_FLOAT"})(To||(To={}));var bo;(function(e){e[e.FLOAT=0]="FLOAT",e[e.INT=1]="INT",e[e.UINT=2]="UINT"})(bo||(bo={}));var qr;(function(e){e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR"})(qr||(qr={}));var jr;(function(e){e[e.CLAMP=33071]="CLAMP",e[e.REPEAT=10497]="REPEAT",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"})(jr||(jr={}));var Zr;(function(e){e[e.OFF=0]="OFF",e[e.POW2=1]="POW2",e[e.ON=2]="ON",e[e.ON_MANUAL=3]="ON_MANUAL"})(Zr||(Zr={}));var Io;(function(e){e[e.NPM=0]="NPM",e[e.UNPACK=1]="UNPACK",e[e.PMA=2]="PMA",e[e.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",e[e.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",e[e.PREMULTIPLY_ALPHA=2]="PREMULTIPLY_ALPHA",e[e.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA"})(Io||(Io={}));var Co;(function(e){e[e.NO=0]="NO",e[e.YES=1]="YES",e[e.AUTO=2]="AUTO",e[e.BLEND=0]="BLEND",e[e.CLEAR=1]="CLEAR",e[e.BLIT=2]="BLIT"})(Co||(Co={}));var Jr;(function(e){e[e.AUTO=0]="AUTO",e[e.MANUAL=1]="MANUAL"})(Jr||(Jr={}));var ii;(function(e){e.LOW="lowp",e.MEDIUM="mediump",e.HIGH="highp"})(ii||(ii={}));var Eo;(function(e){e[e.NONE=0]="NONE",e[e.SCISSOR=1]="SCISSOR",e[e.STENCIL=2]="STENCIL",e[e.SPRITE=3]="SPRITE"})(Eo||(Eo={}));var Kr;(function(e){e[e.NONE=0]="NONE",e[e.LOW=2]="LOW",e[e.MEDIUM=4]="MEDIUM",e[e.HIGH=8]="HIGH"})(Kr||(Kr={}));var Ao;(function(e){e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER"})(Ao||(Ao={}));var F={MIPMAP_TEXTURES:Zr.POW2,ANISOTROPIC_LEVEL:0,RESOLUTION:1,FILTER_RESOLUTION:1,FILTER_MULTISAMPLE:Kr.NONE,SPRITE_MAX_TEXTURES:Au(32),SPRITE_BATCH_SIZE:4096,RENDER_OPTIONS:{view:null,antialias:!1,autoDensity:!1,backgroundColor:0,backgroundAlpha:1,useContextAlpha:!0,clearBeforeRender:!0,preserveDrawingBuffer:!1,width:800,height:600,legacy:!1},GC_MODE:Jr.AUTO,GC_MAX_IDLE:60*60,GC_MAX_CHECK_COUNT:60*10,WRAP_MODE:jr.CLAMP,SCALE_MODE:qr.LINEAR,PRECISION_VERTEX:ii.HIGH,PRECISION_FRAGMENT:Qt.apple.device?ii.HIGH:ii.MEDIUM,CAN_UPLOAD_SAME_BUFFER:Su(),CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1};/*!
26
+ * @pixi/ticker - v6.2.2
27
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
28
+ *
29
+ * @pixi/ticker is licensed under the MIT License.
30
+ * http://www.opensource.org/licenses/mit-license
31
+ */F.TARGET_FPMS=.06;var ce;(function(e){e[e.INTERACTION=50]="INTERACTION",e[e.HIGH=25]="HIGH",e[e.NORMAL=0]="NORMAL",e[e.LOW=-25]="LOW",e[e.UTILITY=-50]="UTILITY"})(ce||(ce={}));var Qr=function(){function e(t,i,r,n){i===void 0&&(i=null),r===void 0&&(r=0),n===void 0&&(n=!1),this.next=null,this.previous=null,this._destroyed=!1,this.fn=t,this.context=i,this.priority=r,this.once=n}return e.prototype.match=function(t,i){return i===void 0&&(i=null),this.fn===t&&this.context===i},e.prototype.emit=function(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));var i=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),i},e.prototype.connect=function(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this},e.prototype.destroy=function(t){t===void 0&&(t=!1),this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);var i=this.next;return this.next=t?null:i,this.previous=null,i},e}(),ct=function(){function e(){var t=this;this.autoStart=!1,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=!1,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=!1,this._lastFrame=-1,this._head=new Qr(null,null,1/0),this.deltaMS=1/F.TARGET_FPMS,this.elapsedMS=1/F.TARGET_FPMS,this._tick=function(i){t._requestId=null,t.started&&(t.update(i),t.started&&t._requestId===null&&t._head.next&&(t._requestId=requestAnimationFrame(t._tick)))}}return e.prototype._requestIfNeeded=function(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))},e.prototype._cancelIfNeeded=function(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)},e.prototype._startIfPossible=function(){this.started?this._requestIfNeeded():this.autoStart&&this.start()},e.prototype.add=function(t,i,r){return r===void 0&&(r=ce.NORMAL),this._addListener(new Qr(t,i,r))},e.prototype.addOnce=function(t,i,r){return r===void 0&&(r=ce.NORMAL),this._addListener(new Qr(t,i,r,!0))},e.prototype._addListener=function(t){var i=this._head.next,r=this._head;if(!i)t.connect(r);else{for(;i;){if(t.priority>i.priority){t.connect(r);break}r=i,i=i.next}t.previous||t.connect(r)}return this._startIfPossible(),this},e.prototype.remove=function(t,i){for(var r=this._head.next;r;)r.match(t,i)?r=r.destroy():r=r.next;return this._head.next||this._cancelIfNeeded(),this},Object.defineProperty(e.prototype,"count",{get:function(){if(!this._head)return 0;for(var t=0,i=this._head;i=i.next;)t++;return t},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.started||(this.started=!0,this._requestIfNeeded())},e.prototype.stop=function(){this.started&&(this.started=!1,this._cancelIfNeeded())},e.prototype.destroy=function(){if(!this._protected){this.stop();for(var t=this._head.next;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}},e.prototype.update=function(t){t===void 0&&(t=performance.now());var i;if(t>this.lastTime){if(i=this.elapsedMS=t-this.lastTime,i>this._maxElapsedMS&&(i=this._maxElapsedMS),i*=this.speed,this._minElapsedMS){var r=t-this._lastFrame|0;if(r<this._minElapsedMS)return;this._lastFrame=t-r%this._minElapsedMS}this.deltaMS=i,this.deltaTime=this.deltaMS*F.TARGET_FPMS;for(var n=this._head,s=n.next;s;)s=s.emit(this.deltaTime);n.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t},Object.defineProperty(e.prototype,"FPS",{get:function(){return 1e3/this.elapsedMS},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minFPS",{get:function(){return 1e3/this._maxElapsedMS},set:function(t){var i=Math.min(this.maxFPS,t),r=Math.min(Math.max(0,i)/1e3,F.TARGET_FPMS);this._maxElapsedMS=1/r},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxFPS",{get:function(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0},set:function(t){if(t===0)this._minElapsedMS=0;else{var i=Math.max(this.minFPS,t);this._minElapsedMS=1/(i/1e3)}},enumerable:!1,configurable:!0}),Object.defineProperty(e,"shared",{get:function(){if(!e._shared){var t=e._shared=new e;t.autoStart=!0,t._protected=!0}return e._shared},enumerable:!1,configurable:!0}),Object.defineProperty(e,"system",{get:function(){if(!e._system){var t=e._system=new e;t.autoStart=!0,t._protected=!0}return e._system},enumerable:!1,configurable:!0}),e}(),So={exports:{}};(function(e){var t=Object.prototype.hasOwnProperty,i="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(i=!1));function n(l,h,u){this.fn=l,this.context=h,this.once=u||!1}function s(l,h,u,f,p){if(typeof u!="function")throw new TypeError("The listener must be a function");var d=new n(u,f||l,p),v=i?i+h:h;return l._events[v]?l._events[v].fn?l._events[v]=[l._events[v],d]:l._events[v].push(d):(l._events[v]=d,l._eventsCount++),l}function o(l,h){--l._eventsCount===0?l._events=new r:delete l._events[h]}function a(){this._events=new r,this._eventsCount=0}a.prototype.eventNames=function(){var h=[],u,f;if(this._eventsCount===0)return h;for(f in u=this._events)t.call(u,f)&&h.push(i?f.slice(1):f);return Object.getOwnPropertySymbols?h.concat(Object.getOwnPropertySymbols(u)):h},a.prototype.listeners=function(h){var u=i?i+h:h,f=this._events[u];if(!f)return[];if(f.fn)return[f.fn];for(var p=0,d=f.length,v=new Array(d);p<d;p++)v[p]=f[p].fn;return v},a.prototype.listenerCount=function(h){var u=i?i+h:h,f=this._events[u];return f?f.fn?1:f.length:0},a.prototype.emit=function(h,u,f,p,d,v){var y=i?i+h:h;if(!this._events[y])return!1;var m=this._events[y],g=arguments.length,w,_;if(m.fn){switch(m.once&&this.removeListener(h,m.fn,void 0,!0),g){case 1:return m.fn.call(m.context),!0;case 2:return m.fn.call(m.context,u),!0;case 3:return m.fn.call(m.context,u,f),!0;case 4:return m.fn.call(m.context,u,f,p),!0;case 5:return m.fn.call(m.context,u,f,p,d),!0;case 6:return m.fn.call(m.context,u,f,p,d,v),!0}for(_=1,w=new Array(g-1);_<g;_++)w[_-1]=arguments[_];m.fn.apply(m.context,w)}else{var T=m.length,x;for(_=0;_<T;_++)switch(m[_].once&&this.removeListener(h,m[_].fn,void 0,!0),g){case 1:m[_].fn.call(m[_].context);break;case 2:m[_].fn.call(m[_].context,u);break;case 3:m[_].fn.call(m[_].context,u,f);break;case 4:m[_].fn.call(m[_].context,u,f,p);break;default:if(!w)for(x=1,w=new Array(g-1);x<g;x++)w[x-1]=arguments[x];m[_].fn.apply(m[_].context,w)}}return!0},a.prototype.on=function(h,u,f){return s(this,h,u,f,!1)},a.prototype.once=function(h,u,f){return s(this,h,u,f,!0)},a.prototype.removeListener=function(h,u,f,p){var d=i?i+h:h;if(!this._events[d])return this;if(!u)return o(this,d),this;var v=this._events[d];if(v.fn)v.fn===u&&(!p||v.once)&&(!f||v.context===f)&&o(this,d);else{for(var y=0,m=[],g=v.length;y<g;y++)(v[y].fn!==u||p&&!v[y].once||f&&v[y].context!==f)&&m.push(v[y]);m.length?this._events[d]=m.length===1?m[0]:m:o(this,d)}return this},a.prototype.removeAllListeners=function(h){var u;return h?(u=i?i+h:h,this._events[u]&&o(this,u)):(this._events=new r,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=i,a.EventEmitter=a,e.exports=a})(So);var pe=So.exports,ri={exports:{}};ri.exports=Vi,ri.exports.default=Vi;function Vi(e,t,i){i=i||2;var r=t&&t.length,n=r?t[0]*i:e.length,s=No(e,0,n,i,!0),o=[];if(!s||s.next===s.prev)return o;var a,l,h,u,f,p,d;if(r&&(s=Mu(e,t,s,i)),e.length>80*i){a=h=e[0],l=u=e[1];for(var v=i;v<n;v+=i)f=e[v],p=e[v+1],f<a&&(a=f),p<l&&(l=p),f>h&&(h=f),p>u&&(u=p);d=Math.max(h-a,u-l),d=d!==0?32767/d:0}return ni(s,o,i,a,l,d,0),o}function No(e,t,i,r,n){var s,o;if(n===rn(e,t,i,r)>0)for(s=t;s<i;s+=r)o=Ro(s,e[s],e[s+1],o);else for(s=i-r;s>=t;s-=r)o=Ro(s,e[s],e[s+1],o);return o&&$i(o,o.next)&&(oi(o),o=o.next),o}function de(e,t){if(!e)return e;t||(t=e);var i=e,r;do if(r=!1,!i.steiner&&($i(i,i.next)||j(i.prev,i,i.next)===0)){if(oi(i),i=t=i.prev,i===i.next)break;r=!0}else i=i.next;while(r||i!==t);return t}function ni(e,t,i,r,n,s,o){if(!!e){!o&&s&&Du(e,r,n,s);for(var a=e,l,h;e.prev!==e.next;){if(l=e.prev,h=e.next,s?Lu(e,r,n,s):Nu(e)){t.push(l.i/i|0),t.push(e.i/i|0),t.push(h.i/i|0),oi(e),e=h.next,a=h.next;continue}if(e=h,e===a){o?o===1?(e=Ou(de(e),t,i),ni(e,t,i,r,n,s,2)):o===2&&Ru(e,t,i,r,n,s):ni(de(e),t,i,r,n,s,1);break}}}}function Nu(e){var t=e.prev,i=e,r=e.next;if(j(t,i,r)>=0)return!1;for(var n=t.x,s=i.x,o=r.x,a=t.y,l=i.y,h=r.y,u=n<s?n<o?n:o:s<o?s:o,f=a<l?a<h?a:h:l<h?l:h,p=n>s?n>o?n:o:s>o?s:o,d=a>l?a>h?a:h:l>h?l:h,v=r.next;v!==t;){if(v.x>=u&&v.x<=p&&v.y>=f&&v.y<=d&&Ue(n,a,s,l,o,h,v.x,v.y)&&j(v.prev,v,v.next)>=0)return!1;v=v.next}return!0}function Lu(e,t,i,r){var n=e.prev,s=e,o=e.next;if(j(n,s,o)>=0)return!1;for(var a=n.x,l=s.x,h=o.x,u=n.y,f=s.y,p=o.y,d=a<l?a<h?a:h:l<h?l:h,v=u<f?u<p?u:p:f<p?f:p,y=a>l?a>h?a:h:l>h?l:h,m=u>f?u>p?u:p:f>p?f:p,g=tn(d,v,t,i,r),w=tn(y,m,t,i,r),_=e.prevZ,T=e.nextZ;_&&_.z>=g&&T&&T.z<=w;){if(_.x>=d&&_.x<=y&&_.y>=v&&_.y<=m&&_!==n&&_!==o&&Ue(a,u,l,f,h,p,_.x,_.y)&&j(_.prev,_,_.next)>=0||(_=_.prevZ,T.x>=d&&T.x<=y&&T.y>=v&&T.y<=m&&T!==n&&T!==o&&Ue(a,u,l,f,h,p,T.x,T.y)&&j(T.prev,T,T.next)>=0))return!1;T=T.nextZ}for(;_&&_.z>=g;){if(_.x>=d&&_.x<=y&&_.y>=v&&_.y<=m&&_!==n&&_!==o&&Ue(a,u,l,f,h,p,_.x,_.y)&&j(_.prev,_,_.next)>=0)return!1;_=_.prevZ}for(;T&&T.z<=w;){if(T.x>=d&&T.x<=y&&T.y>=v&&T.y<=m&&T!==n&&T!==o&&Ue(a,u,l,f,h,p,T.x,T.y)&&j(T.prev,T,T.next)>=0)return!1;T=T.nextZ}return!0}function Ou(e,t,i){var r=e;do{var n=r.prev,s=r.next.next;!$i(n,s)&&Lo(n,r,r.next,s)&&si(n,s)&&si(s,n)&&(t.push(n.i/i|0),t.push(r.i/i|0),t.push(s.i/i|0),oi(r),oi(r.next),r=e=s),r=r.next}while(r!==e);return de(r)}function Ru(e,t,i,r,n,s){var o=e;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&Hu(o,a)){var l=Oo(o,a);o=de(o,o.next),l=de(l,l.next),ni(o,t,i,r,n,s,0),ni(l,t,i,r,n,s,0);return}a=a.next}o=o.next}while(o!==e)}function Mu(e,t,i,r){var n=[],s,o,a,l,h;for(s=0,o=t.length;s<o;s++)a=t[s]*r,l=s<o-1?t[s+1]*r:e.length,h=No(e,a,l,r,!1),h===h.next&&(h.steiner=!0),n.push(Gu(h));for(n.sort(Fu),s=0;s<n.length;s++)i=ku(n[s],i);return i}function Fu(e,t){return e.x-t.x}function ku(e,t){var i=Bu(e,t);if(!i)return t;var r=Oo(i,e);return de(r,r.next),de(i,i.next)}function Bu(e,t){var i=t,r=e.x,n=e.y,s=-1/0,o;do{if(n<=i.y&&n>=i.next.y&&i.next.y!==i.y){var a=i.x+(n-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(a<=r&&a>s&&(s=a,o=i.x<i.next.x?i:i.next,a===r))return o}i=i.next}while(i!==t);if(!o)return null;var l=o,h=o.x,u=o.y,f=1/0,p;i=o;do r>=i.x&&i.x>=h&&r!==i.x&&Ue(n<u?r:s,n,h,u,n<u?s:r,n,i.x,i.y)&&(p=Math.abs(n-i.y)/(r-i.x),si(i,e)&&(p<f||p===f&&(i.x>o.x||i.x===o.x&&Uu(o,i)))&&(o=i,f=p)),i=i.next;while(i!==l);return o}function Uu(e,t){return j(e.prev,e,t.prev)<0&&j(t.next,e,e.next)<0}function Du(e,t,i,r){var n=e;do n.z===0&&(n.z=tn(n.x,n.y,t,i,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==e);n.prevZ.nextZ=null,n.prevZ=null,Xu(n)}function Xu(e){var t,i,r,n,s,o,a,l,h=1;do{for(i=e,e=null,s=null,o=0;i;){for(o++,r=i,a=0,t=0;t<h&&(a++,r=r.nextZ,!!r);t++);for(l=h;a>0||l>0&&r;)a!==0&&(l===0||!r||i.z<=r.z)?(n=i,i=i.nextZ,a--):(n=r,r=r.nextZ,l--),s?s.nextZ=n:e=n,n.prevZ=s,s=n;i=r}s.nextZ=null,h*=2}while(o>1);return e}function tn(e,t,i,r,n){return e=(e-i)*n|0,t=(t-r)*n|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Gu(e){var t=e,i=e;do(t.x<i.x||t.x===i.x&&t.y<i.y)&&(i=t),t=t.next;while(t!==e);return i}function Ue(e,t,i,r,n,s,o,a){return(n-o)*(t-a)>=(e-o)*(s-a)&&(e-o)*(r-a)>=(i-o)*(t-a)&&(i-o)*(s-a)>=(n-o)*(r-a)}function Hu(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!Wu(e,t)&&(si(e,t)&&si(t,e)&&Yu(e,t)&&(j(e.prev,e,t.prev)||j(e,t.prev,t))||$i(e,t)&&j(e.prev,e,e.next)>0&&j(t.prev,t,t.next)>0)}function j(e,t,i){return(t.y-e.y)*(i.x-t.x)-(t.x-e.x)*(i.y-t.y)}function $i(e,t){return e.x===t.x&&e.y===t.y}function Lo(e,t,i,r){var n=ji(j(e,t,i)),s=ji(j(e,t,r)),o=ji(j(i,r,e)),a=ji(j(i,r,t));return!!(n!==s&&o!==a||n===0&&qi(e,i,t)||s===0&&qi(e,r,t)||o===0&&qi(i,e,r)||a===0&&qi(i,t,r))}function qi(e,t,i){return t.x<=Math.max(e.x,i.x)&&t.x>=Math.min(e.x,i.x)&&t.y<=Math.max(e.y,i.y)&&t.y>=Math.min(e.y,i.y)}function ji(e){return e>0?1:e<0?-1:0}function Wu(e,t){var i=e;do{if(i.i!==e.i&&i.next.i!==e.i&&i.i!==t.i&&i.next.i!==t.i&&Lo(i,i.next,e,t))return!0;i=i.next}while(i!==e);return!1}function si(e,t){return j(e.prev,e,e.next)<0?j(e,t,e.next)>=0&&j(e,e.prev,t)>=0:j(e,t,e.prev)<0||j(e,e.next,t)<0}function Yu(e,t){var i=e,r=!1,n=(e.x+t.x)/2,s=(e.y+t.y)/2;do i.y>s!=i.next.y>s&&i.next.y!==i.y&&n<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(r=!r),i=i.next;while(i!==e);return r}function Oo(e,t){var i=new en(e.i,e.x,e.y),r=new en(t.i,t.x,t.y),n=e.next,s=t.prev;return e.next=t,t.prev=e,i.next=n,n.prev=i,r.next=i,i.prev=r,s.next=r,r.prev=s,r}function Ro(e,t,i,r){var n=new en(e,t,i);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function oi(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function en(e,t,i){this.i=e,this.x=t,this.y=i,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Vi.deviation=function(e,t,i,r){var n=t&&t.length,s=n?t[0]*i:e.length,o=Math.abs(rn(e,0,s,i));if(n)for(var a=0,l=t.length;a<l;a++){var h=t[a]*i,u=a<l-1?t[a+1]*i:e.length;o-=Math.abs(rn(e,h,u,i))}var f=0;for(a=0;a<r.length;a+=3){var p=r[a]*i,d=r[a+1]*i,v=r[a+2]*i;f+=Math.abs((e[p]-e[v])*(e[d+1]-e[p+1])-(e[p]-e[d])*(e[v+1]-e[p+1]))}return o===0&&f===0?0:Math.abs((f-o)/o)};function rn(e,t,i,r){for(var n=0,s=t,o=i-r;s<i;s+=r)n+=(e[o]-e[s])*(e[s+1]+e[o+1]),o=s;return n}Vi.flatten=function(e){for(var t=e[0][0].length,i={vertices:[],holes:[],dimensions:t},r=0,n=0;n<e.length;n++){for(var s=0;s<e[n].length;s++)for(var o=0;o<t;o++)i.vertices.push(e[n][s][o]);n>0&&(r+=e[n-1].length,i.holes.push(r))}return i};/*! https://mths.be/punycode v1.4.1 by @mathias */var nn=2147483647,ai=36,Mo=1,sn=26,zu=38,Vu=700,$u=72,qu=128,ju="-",Zu=/[^\x20-\x7E]/,Ju=/[\x2E\u3002\uFF0E\uFF61]/g,Ku={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},on=ai-Mo,De=Math.floor,an=String.fromCharCode;function Fo(e){throw new RangeError(Ku[e])}function Qu(e,t){for(var i=e.length,r=[];i--;)r[i]=t(e[i]);return r}function tf(e,t){var i=e.split("@"),r="";i.length>1&&(r=i[0]+"@",e=i[1]),e=e.replace(Ju,".");var n=e.split("."),s=Qu(n,t).join(".");return r+s}function ef(e){for(var t=[],i=0,r=e.length,n,s;i<r;)n=e.charCodeAt(i++),n>=55296&&n<=56319&&i<r?(s=e.charCodeAt(i++),(s&64512)==56320?t.push(((n&1023)<<10)+(s&1023)+65536):(t.push(n),i--)):t.push(n);return t}function ko(e,t){return e+22+75*(e<26)-((t!=0)<<5)}function rf(e,t,i){var r=0;for(e=i?De(e/Vu):e>>1,e+=De(e/t);e>on*sn>>1;r+=ai)e=De(e/on);return De(r+(on+1)*e/(e+zu))}function nf(e){var t,i,r,n,s,o,a,l,h,u,f,p=[],d,v,y,m;for(e=ef(e),d=e.length,t=qu,i=0,s=$u,o=0;o<d;++o)f=e[o],f<128&&p.push(an(f));for(r=n=p.length,n&&p.push(ju);r<d;){for(a=nn,o=0;o<d;++o)f=e[o],f>=t&&f<a&&(a=f);for(v=r+1,a-t>De((nn-i)/v)&&Fo("overflow"),i+=(a-t)*v,t=a,o=0;o<d;++o)if(f=e[o],f<t&&++i>nn&&Fo("overflow"),f==t){for(l=i,h=ai;u=h<=s?Mo:h>=s+sn?sn:h-s,!(l<u);h+=ai)m=l-u,y=ai-u,p.push(an(ko(u+m%y,0))),l=De(m/y);p.push(an(ko(l,0))),s=rf(i,v,r==n),i=0,++r}++i,++t}return p.join("")}function sf(e){return tf(e,function(t){return Zu.test(t)?"xn--"+nf(t):t})}function Zi(e){return e===null}function of(e){return e==null}function ln(e){return typeof e=="string"}function Bo(e){return typeof e=="object"&&e!==null}function af(e,t){return Object.prototype.hasOwnProperty.call(e,t)}var Uo=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};function li(e){switch(typeof e){case"string":return e;case"boolean":return e?"true":"false";case"number":return isFinite(e)?e:"";default:return""}}function lf(e,t,i,r){return t=t||"&",i=i||"=",e===null&&(e=void 0),typeof e=="object"?Do(hf(e),function(n){var s=encodeURIComponent(li(n))+i;return Uo(e[n])?Do(e[n],function(o){return s+encodeURIComponent(li(o))}).join(t):s+encodeURIComponent(li(e[n]))}).join(t):r?encodeURIComponent(li(r))+i+encodeURIComponent(li(e)):""}function Do(e,t){if(e.map)return e.map(t);for(var i=[],r=0;r<e.length;r++)i.push(t(e[r],r));return i}var hf=Object.keys||function(e){var t=[];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.push(i);return t};function Xo(e,t,i,r){t=t||"&",i=i||"=";var n={};if(typeof e!="string"||e.length===0)return n;var s=/\+/g;e=e.split(t);var o=1e3;r&&typeof r.maxKeys=="number"&&(o=r.maxKeys);var a=e.length;o>0&&a>o&&(a=o);for(var l=0;l<a;++l){var h=e[l].replace(s,"%20"),u=h.indexOf(i),f,p,d,v;u>=0?(f=h.substr(0,u),p=h.substr(u+1)):(f=h,p=""),d=decodeURIComponent(f),v=decodeURIComponent(p),af(n,d)?Uo(n[d])?n[d].push(v):n[d]=[n[d],v]:n[d]=v}return n}function Xt(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var uf=/^([a-z0-9.+-]+:)/i,ff=/:[0-9]*$/,cf=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,pf=["<",">",'"',"`"," ","\r",`
32
+ `," "],df=["{","}","|","\\","^","`"].concat(pf),hn=["'"].concat(df),Go=["%","/","?",";","#"].concat(hn),Ho=["/","?","#"],vf=255,Wo=/^[+a-z0-9A-Z_-]{0,63}$/,mf=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,yf={javascript:!0,"javascript:":!0},un={javascript:!0,"javascript:":!0},Xe={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function fn(e,t,i){if(e&&Bo(e)&&e instanceof Xt)return e;var r=new Xt;return r.parse(e,t,i),r}Xt.prototype.parse=function(e,t,i){return Yo(this,e,t,i)};function Yo(e,t,i,r){if(!ln(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),s=n!==-1&&n<t.indexOf("#")?"?":"#",o=t.split(s),a=/\\/g;o[0]=o[0].replace(a,"/"),t=o.join(s);var l=t;if(l=l.trim(),!r&&t.split("#").length===1){var h=cf.exec(l);if(h)return e.path=l,e.href=l,e.pathname=h[1],h[2]?(e.search=h[2],i?e.query=Xo(e.search.substr(1)):e.query=e.search.substr(1)):i&&(e.search="",e.query={}),e}var u=uf.exec(l);if(u){u=u[0];var f=u.toLowerCase();e.protocol=f,l=l.substr(u.length)}if(r||u||l.match(/^\/\/[^@\/]+@[^@\/]+/)){var p=l.substr(0,2)==="//";p&&!(u&&un[u])&&(l=l.substr(2),e.slashes=!0)}var d,v,y,m;if(!un[u]&&(p||u&&!Xe[u])){var g=-1;for(d=0;d<Ho.length;d++)v=l.indexOf(Ho[d]),v!==-1&&(g===-1||v<g)&&(g=v);var w,_;for(g===-1?_=l.lastIndexOf("@"):_=l.lastIndexOf("@",g),_!==-1&&(w=l.slice(0,_),l=l.slice(_+1),e.auth=decodeURIComponent(w)),g=-1,d=0;d<Go.length;d++)v=l.indexOf(Go[d]),v!==-1&&(g===-1||v<g)&&(g=v);g===-1&&(g=l.length),e.host=l.slice(0,g),l=l.slice(g),zo(e),e.hostname=e.hostname||"";var T=e.hostname[0]==="["&&e.hostname[e.hostname.length-1]==="]";if(!T){var x=e.hostname.split(/\./);for(d=0,y=x.length;d<y;d++){var P=x[d];if(!!P&&!P.match(Wo)){for(var A="",k=0,C=P.length;k<C;k++)P.charCodeAt(k)>127?A+="x":A+=P[k];if(!A.match(Wo)){var S=x.slice(0,d),M=x.slice(d+1),N=P.match(mf);N&&(S.push(N[1]),M.unshift(N[2])),M.length&&(l="/"+M.join(".")+l),e.hostname=S.join(".");break}}}}e.hostname.length>vf?e.hostname="":e.hostname=e.hostname.toLowerCase(),T||(e.hostname=sf(e.hostname)),m=e.port?":"+e.port:"";var R=e.hostname||"";e.host=R+m,e.href+=e.host,T&&(e.hostname=e.hostname.substr(1,e.hostname.length-2),l[0]!=="/"&&(l="/"+l))}if(!yf[f])for(d=0,y=hn.length;d<y;d++){var $=hn[d];if(l.indexOf($)!==-1){var E=encodeURIComponent($);E===$&&(E=escape($)),l=l.split($).join(E)}}var O=l.indexOf("#");O!==-1&&(e.hash=l.substr(O),l=l.slice(0,O));var B=l.indexOf("?");if(B!==-1?(e.search=l.substr(B),e.query=l.substr(B+1),i&&(e.query=Xo(e.query)),l=l.slice(0,B)):i&&(e.search="",e.query={}),l&&(e.pathname=l),Xe[f]&&e.hostname&&!e.pathname&&(e.pathname="/"),e.pathname||e.search){m=e.pathname||"";var it=e.search||"";e.path=m+it}return e.href=cn(e),e}function gf(e){return ln(e)&&(e=Yo({},e)),cn(e)}function cn(e){var t=e.auth||"";t&&(t=encodeURIComponent(t),t=t.replace(/%3A/i,":"),t+="@");var i=e.protocol||"",r=e.pathname||"",n=e.hash||"",s=!1,o="";e.host?s=t+e.host:e.hostname&&(s=t+(e.hostname.indexOf(":")===-1?e.hostname:"["+this.hostname+"]"),e.port&&(s+=":"+e.port)),e.query&&Bo(e.query)&&Object.keys(e.query).length&&(o=lf(e.query));var a=e.search||o&&"?"+o||"";return i&&i.substr(-1)!==":"&&(i+=":"),e.slashes||(!i||Xe[i])&&s!==!1?(s="//"+(s||""),r&&r.charAt(0)!=="/"&&(r="/"+r)):s||(s=""),n&&n.charAt(0)!=="#"&&(n="#"+n),a&&a.charAt(0)!=="?"&&(a="?"+a),r=r.replace(/[?#]/g,function(l){return encodeURIComponent(l)}),a=a.replace("#","%23"),i+s+r+a+n}Xt.prototype.format=function(){return cn(this)};function _f(e,t){return fn(e,!1,!0).resolve(t)}Xt.prototype.resolve=function(e){return this.resolveObject(fn(e,!1,!0)).format()},Xt.prototype.resolveObject=function(e){if(ln(e)){var t=new Xt;t.parse(e,!1,!0),e=t}for(var i=new Xt,r=Object.keys(this),n=0;n<r.length;n++){var s=r[n];i[s]=this[s]}if(i.hash=e.hash,e.href==="")return i.href=i.format(),i;if(e.slashes&&!e.protocol){for(var o=Object.keys(e),a=0;a<o.length;a++){var l=o[a];l!=="protocol"&&(i[l]=e[l])}return Xe[i.protocol]&&i.hostname&&!i.pathname&&(i.path=i.pathname="/"),i.href=i.format(),i}var h;if(e.protocol&&e.protocol!==i.protocol){if(!Xe[e.protocol]){for(var u=Object.keys(e),f=0;f<u.length;f++){var p=u[f];i[p]=e[p]}return i.href=i.format(),i}if(i.protocol=e.protocol,!e.host&&!un[e.protocol]){for(h=(e.pathname||"").split("/");h.length&&!(e.host=h.shift()););e.host||(e.host=""),e.hostname||(e.hostname=""),h[0]!==""&&h.unshift(""),h.length<2&&h.unshift(""),i.pathname=h.join("/")}else i.pathname=e.pathname;if(i.search=e.search,i.query=e.query,i.host=e.host||"",i.auth=e.auth,i.hostname=e.hostname||e.host,i.port=e.port,i.pathname||i.search){var d=i.pathname||"",v=i.search||"";i.path=d+v}return i.slashes=i.slashes||e.slashes,i.href=i.format(),i}var y=i.pathname&&i.pathname.charAt(0)==="/",m=e.host||e.pathname&&e.pathname.charAt(0)==="/",g=m||y||i.host&&e.pathname,w=g,_=i.pathname&&i.pathname.split("/")||[],T=i.protocol&&!Xe[i.protocol];h=e.pathname&&e.pathname.split("/")||[],T&&(i.hostname="",i.port=null,i.host&&(_[0]===""?_[0]=i.host:_.unshift(i.host)),i.host="",e.protocol&&(e.hostname=null,e.port=null,e.host&&(h[0]===""?h[0]=e.host:h.unshift(e.host)),e.host=null),g=g&&(h[0]===""||_[0]===""));var x;if(m)i.host=e.host||e.host===""?e.host:i.host,i.hostname=e.hostname||e.hostname===""?e.hostname:i.hostname,i.search=e.search,i.query=e.query,_=h;else if(h.length)_||(_=[]),_.pop(),_=_.concat(h),i.search=e.search,i.query=e.query;else if(!of(e.search))return T&&(i.hostname=i.host=_.shift(),x=i.host&&i.host.indexOf("@")>0?i.host.split("@"):!1,x&&(i.auth=x.shift(),i.host=i.hostname=x.shift())),i.search=e.search,i.query=e.query,(!Zi(i.pathname)||!Zi(i.search))&&(i.path=(i.pathname?i.pathname:"")+(i.search?i.search:"")),i.href=i.format(),i;if(!_.length)return i.pathname=null,i.search?i.path="/"+i.search:i.path=null,i.href=i.format(),i;for(var P=_.slice(-1)[0],A=(i.host||e.host||_.length>1)&&(P==="."||P==="..")||P==="",k=0,C=_.length;C>=0;C--)P=_[C],P==="."?_.splice(C,1):P===".."?(_.splice(C,1),k++):k&&(_.splice(C,1),k--);if(!g&&!w)for(;k--;k)_.unshift("..");g&&_[0]!==""&&(!_[0]||_[0].charAt(0)!=="/")&&_.unshift(""),A&&_.join("/").substr(-1)!=="/"&&_.push("");var S=_[0]===""||_[0]&&_[0].charAt(0)==="/";return T&&(i.hostname=i.host=S?"":_.length?_.shift():"",x=i.host&&i.host.indexOf("@")>0?i.host.split("@"):!1,x&&(i.auth=x.shift(),i.host=i.hostname=x.shift())),g=g||i.host&&_.length,g&&!S&&_.unshift(""),_.length?i.pathname=_.join("/"):(i.pathname=null,i.path=null),(!Zi(i.pathname)||!Zi(i.search))&&(i.path=(i.pathname?i.pathname:"")+(i.search?i.search:"")),i.auth=e.auth||i.auth,i.slashes=i.slashes||e.slashes,i.href=i.format(),i},Xt.prototype.parseHost=function(){return zo(this)};function zo(e){var t=e.host,i=ff.exec(t);i&&(i=i[0],i!==":"&&(e.port=i.substr(1)),t=t.substr(0,t.length-i.length)),t&&(e.hostname=t)}/*!
33
+ * @pixi/utils - v6.2.2
34
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
35
+ *
36
+ * @pixi/utils is licensed under the MIT License.
37
+ * http://www.opensource.org/licenses/mit-license
38
+ */var Vo={parse:fn,format:gf,resolve:_f};F.RETINA_PREFIX=/@([0-9\.]+)x/,F.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!1;var pn=!1,$o="6.2.2";function qo(){pn=!0}function dn(e){var t;if(!pn){if(navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var i=[`
39
+ %c %c %c PixiJS `+$o+" - \u2730 "+e+` \u2730 %c %c http://www.pixijs.com/ %c %c \u2665%c\u2665%c\u2665
40
+
41
+ `,"background: #ff66a5; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff66a5; background: #030307; padding:5px 0;","background: #ff66a5; padding:5px 0;","background: #ffc3dc; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;"];(t=self.console).log.apply(t,i)}else self.console&&self.console.log("PixiJS "+$o+" - "+e+" - http://www.pixijs.com/");pn=!0}}var vn;function jo(){return typeof vn>"u"&&(vn=function(){var t={stencil:!0,failIfMajorPerformanceCaveat:F.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!self.WebGLRenderingContext)return!1;var i=document.createElement("canvas"),r=i.getContext("webgl",t)||i.getContext("experimental-webgl",t),n=!!(r&&r.getContextAttributes().stencil);if(r){var s=r.getExtension("WEBGL_lose_context");s&&s.loseContext()}return r=null,n}catch{return!1}}()),vn}var xf="#f0f8ff",wf="#faebd7",Pf="#00ffff",Tf="#7fffd4",bf="#f0ffff",If="#f5f5dc",Cf="#ffe4c4",Ef="#000000",Af="#ffebcd",Sf="#0000ff",Nf="#8a2be2",Lf="#a52a2a",Of="#deb887",Rf="#5f9ea0",Mf="#7fff00",Ff="#d2691e",kf="#ff7f50",Bf="#6495ed",Uf="#fff8dc",Df="#dc143c",Xf="#00ffff",Gf="#00008b",Hf="#008b8b",Wf="#b8860b",Yf="#a9a9a9",zf="#006400",Vf="#a9a9a9",$f="#bdb76b",qf="#8b008b",jf="#556b2f",Zf="#ff8c00",Jf="#9932cc",Kf="#8b0000",Qf="#e9967a",tc="#8fbc8f",ec="#483d8b",ic="#2f4f4f",rc="#2f4f4f",nc="#00ced1",sc="#9400d3",oc="#ff1493",ac="#00bfff",lc="#696969",hc="#696969",uc="#1e90ff",fc="#b22222",cc="#fffaf0",pc="#228b22",dc="#ff00ff",vc="#dcdcdc",mc="#f8f8ff",yc="#daa520",gc="#ffd700",_c="#808080",xc="#008000",wc="#adff2f",Pc="#808080",Tc="#f0fff0",bc="#ff69b4",Ic="#cd5c5c",Cc="#4b0082",Ec="#fffff0",Ac="#f0e68c",Sc="#fff0f5",Nc="#e6e6fa",Lc="#7cfc00",Oc="#fffacd",Rc="#add8e6",Mc="#f08080",Fc="#e0ffff",kc="#fafad2",Bc="#d3d3d3",Uc="#90ee90",Dc="#d3d3d3",Xc="#ffb6c1",Gc="#ffa07a",Hc="#20b2aa",Wc="#87cefa",Yc="#778899",zc="#778899",Vc="#b0c4de",$c="#ffffe0",qc="#00ff00",jc="#32cd32",Zc="#faf0e6",Jc="#ff00ff",Kc="#800000",Qc="#66cdaa",tp="#0000cd",ep="#ba55d3",ip="#9370db",rp="#3cb371",np="#7b68ee",sp="#00fa9a",op="#48d1cc",ap="#c71585",lp="#191970",hp="#f5fffa",up="#ffe4e1",fp="#ffe4b5",cp="#ffdead",pp="#000080",dp="#fdf5e6",vp="#808000",mp="#6b8e23",yp="#ffa500",gp="#ff4500",_p="#da70d6",xp="#eee8aa",wp="#98fb98",Pp="#afeeee",Tp="#db7093",bp="#ffefd5",Ip="#ffdab9",Cp="#cd853f",Ep="#ffc0cb",Ap="#dda0dd",Sp="#b0e0e6",Np="#800080",Lp="#663399",Op="#ff0000",Rp="#bc8f8f",Mp="#4169e1",Fp="#8b4513",kp="#fa8072",Bp="#f4a460",Up="#2e8b57",Dp="#fff5ee",Xp="#a0522d",Gp="#c0c0c0",Hp="#87ceeb",Wp="#6a5acd",Yp="#708090",zp="#708090",Vp="#fffafa",$p="#00ff7f",qp="#4682b4",jp="#d2b48c",Zp="#008080",Jp="#d8bfd8",Kp="#ff6347",Qp="#40e0d0",td="#ee82ee",ed="#f5deb3",id="#ffffff",rd="#f5f5f5",nd="#ffff00",sd="#9acd32",od={aliceblue:xf,antiquewhite:wf,aqua:Pf,aquamarine:Tf,azure:bf,beige:If,bisque:Cf,black:Ef,blanchedalmond:Af,blue:Sf,blueviolet:Nf,brown:Lf,burlywood:Of,cadetblue:Rf,chartreuse:Mf,chocolate:Ff,coral:kf,cornflowerblue:Bf,cornsilk:Uf,crimson:Df,cyan:Xf,darkblue:Gf,darkcyan:Hf,darkgoldenrod:Wf,darkgray:Yf,darkgreen:zf,darkgrey:Vf,darkkhaki:$f,darkmagenta:qf,darkolivegreen:jf,darkorange:Zf,darkorchid:Jf,darkred:Kf,darksalmon:Qf,darkseagreen:tc,darkslateblue:ec,darkslategray:ic,darkslategrey:rc,darkturquoise:nc,darkviolet:sc,deeppink:oc,deepskyblue:ac,dimgray:lc,dimgrey:hc,dodgerblue:uc,firebrick:fc,floralwhite:cc,forestgreen:pc,fuchsia:dc,gainsboro:vc,ghostwhite:mc,goldenrod:yc,gold:gc,gray:_c,green:xc,greenyellow:wc,grey:Pc,honeydew:Tc,hotpink:bc,indianred:Ic,indigo:Cc,ivory:Ec,khaki:Ac,lavenderblush:Sc,lavender:Nc,lawngreen:Lc,lemonchiffon:Oc,lightblue:Rc,lightcoral:Mc,lightcyan:Fc,lightgoldenrodyellow:kc,lightgray:Bc,lightgreen:Uc,lightgrey:Dc,lightpink:Xc,lightsalmon:Gc,lightseagreen:Hc,lightskyblue:Wc,lightslategray:Yc,lightslategrey:zc,lightsteelblue:Vc,lightyellow:$c,lime:qc,limegreen:jc,linen:Zc,magenta:Jc,maroon:Kc,mediumaquamarine:Qc,mediumblue:tp,mediumorchid:ep,mediumpurple:ip,mediumseagreen:rp,mediumslateblue:np,mediumspringgreen:sp,mediumturquoise:op,mediumvioletred:ap,midnightblue:lp,mintcream:hp,mistyrose:up,moccasin:fp,navajowhite:cp,navy:pp,oldlace:dp,olive:vp,olivedrab:mp,orange:yp,orangered:gp,orchid:_p,palegoldenrod:xp,palegreen:wp,paleturquoise:Pp,palevioletred:Tp,papayawhip:bp,peachpuff:Ip,peru:Cp,pink:Ep,plum:Ap,powderblue:Sp,purple:Np,rebeccapurple:Lp,red:Op,rosybrown:Rp,royalblue:Mp,saddlebrown:Fp,salmon:kp,sandybrown:Bp,seagreen:Up,seashell:Dp,sienna:Xp,silver:Gp,skyblue:Hp,slateblue:Wp,slategray:Yp,slategrey:zp,snow:Vp,springgreen:$p,steelblue:qp,tan:jp,teal:Zp,thistle:Jp,tomato:Kp,turquoise:Qp,violet:td,wheat:ed,white:id,whitesmoke:rd,yellow:nd,yellowgreen:sd};function ve(e,t){return t===void 0&&(t=[]),t[0]=(e>>16&255)/255,t[1]=(e>>8&255)/255,t[2]=(e&255)/255,t}function hi(e){var t=e.toString(16);return t="000000".substr(0,6-t.length)+t,"#"+t}function Ge(e){return typeof e=="string"&&(e=od[e.toLowerCase()]||e,e[0]==="#"&&(e=e.substr(1))),parseInt(e,16)}function ui(e){return(e[0]*255<<16)+(e[1]*255<<8)+(e[2]*255|0)}function ad(){for(var e=[],t=[],i=0;i<32;i++)e[i]=i,t[i]=i;e[b.NORMAL_NPM]=b.NORMAL,e[b.ADD_NPM]=b.ADD,e[b.SCREEN_NPM]=b.SCREEN,t[b.NORMAL]=b.NORMAL_NPM,t[b.ADD]=b.ADD_NPM,t[b.SCREEN]=b.SCREEN_NPM;var r=[];return r.push(t),r.push(e),r}var mn=ad();function ld(e,t){return mn[t?1:0][e]}function hd(e,t,i,r){return i=i||new Float32Array(4),r||r===void 0?(i[0]=e[0]*t,i[1]=e[1]*t,i[2]=e[2]*t):(i[0]=e[0],i[1]=e[1],i[2]=e[2]),i[3]=t,i}function yn(e,t){if(t===1)return(t*255<<24)+e;if(t===0)return 0;var i=e>>16&255,r=e>>8&255,n=e&255;return i=i*t+.5|0,r=r*t+.5|0,n=n*t+.5|0,(t*255<<24)+(i<<16)+(r<<8)+n}function ud(e,t,i,r){return i=i||new Float32Array(4),i[0]=(e>>16&255)/255,i[1]=(e>>8&255)/255,i[2]=(e&255)/255,(r||r===void 0)&&(i[0]*=t,i[1]*=t,i[2]*=t),i[3]=t,i}function fd(e,t){t===void 0&&(t=null);var i=e*6;if(t=t||new Uint16Array(i),t.length!==i)throw new Error("Out buffer length is incorrect, got "+t.length+" and expected "+i);for(var r=0,n=0;r<i;r+=6,n+=4)t[r+0]=n+0,t[r+1]=n+1,t[r+2]=n+2,t[r+3]=n+0,t[r+4]=n+2,t[r+5]=n+3;return t}function Ji(e){if(e.BYTES_PER_ELEMENT===4)return e instanceof Float32Array?"Float32Array":e instanceof Uint32Array?"Uint32Array":"Int32Array";if(e.BYTES_PER_ELEMENT===2){if(e instanceof Uint16Array)return"Uint16Array"}else if(e.BYTES_PER_ELEMENT===1&&e instanceof Uint8Array)return"Uint8Array";return null}var cd={Float32Array,Uint32Array,Int32Array,Uint8Array};function pd(e,t){for(var i=0,r=0,n={},s=0;s<e.length;s++)r+=t[s],i+=e[s].length;for(var o=new ArrayBuffer(i*4),a=null,l=0,s=0;s<e.length;s++){var h=t[s],u=e[s],f=Ji(u);n[f]||(n[f]=new cd[f](o)),a=n[f];for(var p=0;p<u.length;p++){var d=(p/h|0)*r+l,v=p%h;a[d+v]=u[p]}l+=h}return new Float32Array(o)}function fi(e){return e+=e===0?1:0,--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e+1}function gn(e){return!(e&e-1)&&!!e}function _n(e){var t=(e>65535?1:0)<<4;e>>>=t;var i=(e>255?1:0)<<3;return e>>>=i,t|=i,i=(e>15?1:0)<<2,e>>>=i,t|=i,i=(e>3?1:0)<<1,e>>>=i,t|=i,t|e>>1}function ci(e,t,i){var r=e.length,n;if(!(t>=r||i===0)){i=t+i>r?r-t:i;var s=r-i;for(n=t;n<s;++n)e[n]=e[n+i];e.length=s}}function me(e){return e===0?0:e<0?-1:1}var dd=0;function He(){return++dd}var Zo={};function ye(e,t,i){if(i===void 0&&(i=3),!Zo[t]){var r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",t+`
42
+ Deprecated since v`+e):(r=r.split(`
43
+ `).splice(i).join(`
44
+ `),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",t+`
45
+ Deprecated since v`+e),console.warn(r),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",t+`
46
+ Deprecated since v`+e),console.warn(r))),Zo[t]=!0}}var xn={},dt=Object.create(null),gt=Object.create(null);function vd(){var e;for(e in dt)dt[e].destroy();for(e in gt)gt[e].destroy()}function wn(){var e;for(e in dt)delete dt[e];for(e in gt)delete gt[e]}var Pn=function(){function e(t,i,r){this.canvas=document.createElement("canvas"),this.context=this.canvas.getContext("2d"),this.resolution=r||F.RESOLUTION,this.resize(t,i)}return e.prototype.clear=function(){this.context.setTransform(1,0,0,1,0,0),this.context.clearRect(0,0,this.canvas.width,this.canvas.height)},e.prototype.resize=function(t,i){this.canvas.width=Math.round(t*this.resolution),this.canvas.height=Math.round(i*this.resolution)},e.prototype.destroy=function(){this.context=null,this.canvas=null},Object.defineProperty(e.prototype,"width",{get:function(){return this.canvas.width},set:function(t){this.canvas.width=Math.round(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this.canvas.height},set:function(t){this.canvas.height=Math.round(t)},enumerable:!1,configurable:!0}),e}();function Jo(e){var t=e.width,i=e.height,r=e.getContext("2d"),n=r.getImageData(0,0,t,i),s=n.data,o=s.length,a={top:null,left:null,right:null,bottom:null},l=null,h,u,f;for(h=0;h<o;h+=4)s[h+3]!==0&&(u=h/4%t,f=~~(h/4/t),a.top===null&&(a.top=f),(a.left===null||u<a.left)&&(a.left=u),(a.right===null||a.right<u)&&(a.right=u+1),(a.bottom===null||a.bottom<f)&&(a.bottom=f));return a.top!==null&&(t=a.right-a.left,i=a.bottom-a.top+1,l=r.getImageData(a.left,a.top,t,i)),{height:i,width:t,data:l}}var Ko=/^\s*data:(?:([\w-]+)\/([\w+.-]+))?(?:;charset=([\w-]+))?(?:;(base64))?,(.*)/i;function md(e){var t=Ko.exec(e);if(t)return{mediaType:t[1]?t[1].toLowerCase():void 0,subType:t[2]?t[2].toLowerCase():void 0,charset:t[3]?t[3].toLowerCase():void 0,encoding:t[4]?t[4].toLowerCase():void 0,data:t[5]}}var Ki;function Qo(e,t){if(t===void 0&&(t=self.location),e.indexOf("data:")===0)return"";t=t||self.location,Ki||(Ki=document.createElement("a")),Ki.href=e;var i=Vo.parse(Ki.href),r=!i.port&&t.port===""||i.port===t.port;return i.hostname!==t.hostname||!r||i.protocol!==t.protocol?"anonymous":""}function Tn(e,t){var i=F.RETINA_PREFIX.exec(e);return i?parseFloat(i[1]):t!==void 0?t:1}var yd=Object.freeze({__proto__:null,BaseTextureCache:gt,CanvasRenderTarget:Pn,DATA_URI:Ko,ProgramCache:xn,TextureCache:dt,clearTextureCache:wn,correctBlendMode:ld,createIndicesForQuads:fd,decomposeDataUri:md,deprecation:ye,destroyTextureCache:vd,determineCrossOrigin:Qo,getBufferType:Ji,getResolutionOfUrl:Tn,hex2rgb:ve,hex2string:hi,interleaveTypedArrays:pd,isPow2:gn,isWebGLSupported:jo,log2:_n,nextPow2:fi,premultiplyBlendMode:mn,premultiplyRgba:hd,premultiplyTint:yn,premultiplyTintToRgba:ud,removeItems:ci,rgb2hex:ui,sayHello:dn,sign:me,skipHello:qo,string2hex:Ge,trimCanvas:Jo,uid:He,url:Vo,isMobile:Qt,EventEmitter:pe,earcut:ri.exports});/*!
47
+ * @pixi/math - v6.2.2
48
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
49
+ *
50
+ * @pixi/math is licensed under the MIT License.
51
+ * http://www.opensource.org/licenses/mit-license
52
+ */var Qi=Math.PI*2,gd=180/Math.PI,_d=Math.PI/180,G;(function(e){e[e.POLY=0]="POLY",e[e.RECT=1]="RECT",e[e.CIRC=2]="CIRC",e[e.ELIP=3]="ELIP",e[e.RREC=4]="RREC"})(G||(G={}));var X=function(){function e(t,i,r,n){t===void 0&&(t=0),i===void 0&&(i=0),r===void 0&&(r=0),n===void 0&&(n=0),this.x=Number(t),this.y=Number(i),this.width=Number(r),this.height=Number(n),this.type=G.RECT}return Object.defineProperty(e.prototype,"left",{get:function(){return this.x},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"right",{get:function(){return this.x+this.width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"top",{get:function(){return this.y},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bottom",{get:function(){return this.y+this.height},enumerable:!1,configurable:!0}),Object.defineProperty(e,"EMPTY",{get:function(){return new e(0,0,0,0)},enumerable:!1,configurable:!0}),e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this},e.prototype.copyTo=function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},e.prototype.contains=function(t,i){return this.width<=0||this.height<=0?!1:t>=this.x&&t<this.x+this.width&&i>=this.y&&i<this.y+this.height},e.prototype.pad=function(t,i){return t===void 0&&(t=0),i===void 0&&(i=t),this.x-=t,this.y-=i,this.width+=t*2,this.height+=i*2,this},e.prototype.fit=function(t){var i=Math.max(this.x,t.x),r=Math.min(this.x+this.width,t.x+t.width),n=Math.max(this.y,t.y),s=Math.min(this.y+this.height,t.y+t.height);return this.x=i,this.width=Math.max(r-i,0),this.y=n,this.height=Math.max(s-n,0),this},e.prototype.ceil=function(t,i){t===void 0&&(t=1),i===void 0&&(i=.001);var r=Math.ceil((this.x+this.width-i)*t)/t,n=Math.ceil((this.y+this.height-i)*t)/t;return this.x=Math.floor((this.x+i)*t)/t,this.y=Math.floor((this.y+i)*t)/t,this.width=r-this.x,this.height=n-this.y,this},e.prototype.enlarge=function(t){var i=Math.min(this.x,t.x),r=Math.max(this.x+this.width,t.x+t.width),n=Math.min(this.y,t.y),s=Math.max(this.y+this.height,t.y+t.height);return this.x=i,this.width=r-i,this.y=n,this.height=s-n,this},e.prototype.toString=function(){return"[@pixi/math:Rectangle x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+"]"},e}(),xd=function(){function e(t,i,r){t===void 0&&(t=0),i===void 0&&(i=0),r===void 0&&(r=0),this.x=t,this.y=i,this.radius=r,this.type=G.CIRC}return e.prototype.clone=function(){return new e(this.x,this.y,this.radius)},e.prototype.contains=function(t,i){if(this.radius<=0)return!1;var r=this.radius*this.radius,n=this.x-t,s=this.y-i;return n*=n,s*=s,n+s<=r},e.prototype.getBounds=function(){return new X(this.x-this.radius,this.y-this.radius,this.radius*2,this.radius*2)},e.prototype.toString=function(){return"[@pixi/math:Circle x="+this.x+" y="+this.y+" radius="+this.radius+"]"},e}(),wd=function(){function e(t,i,r,n){t===void 0&&(t=0),i===void 0&&(i=0),r===void 0&&(r=0),n===void 0&&(n=0),this.x=t,this.y=i,this.width=r,this.height=n,this.type=G.ELIP}return e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height)},e.prototype.contains=function(t,i){if(this.width<=0||this.height<=0)return!1;var r=(t-this.x)/this.width,n=(i-this.y)/this.height;return r*=r,n*=n,r+n<=1},e.prototype.getBounds=function(){return new X(this.x-this.width,this.y-this.height,this.width,this.height)},e.prototype.toString=function(){return"[@pixi/math:Ellipse x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+"]"},e}(),bn=function(){function e(){for(var t=arguments,i=[],r=0;r<arguments.length;r++)i[r]=t[r];var n=Array.isArray(i[0])?i[0]:i;if(typeof n[0]!="number"){for(var s=[],o=0,a=n.length;o<a;o++)s.push(n[o].x,n[o].y);n=s}this.points=n,this.type=G.POLY,this.closeStroke=!0}return e.prototype.clone=function(){var t=this.points.slice(),i=new e(t);return i.closeStroke=this.closeStroke,i},e.prototype.contains=function(t,i){for(var r=!1,n=this.points.length/2,s=0,o=n-1;s<n;o=s++){var a=this.points[s*2],l=this.points[s*2+1],h=this.points[o*2],u=this.points[o*2+1],f=l>i!=u>i&&t<(h-a)*((i-l)/(u-l))+a;f&&(r=!r)}return r},e.prototype.toString=function(){return"[@pixi/math:Polygon"+("closeStroke="+this.closeStroke)+("points="+this.points.reduce(function(t,i){return t+", "+i},"")+"]")},e}(),Pd=function(){function e(t,i,r,n,s){t===void 0&&(t=0),i===void 0&&(i=0),r===void 0&&(r=0),n===void 0&&(n=0),s===void 0&&(s=20),this.x=t,this.y=i,this.width=r,this.height=n,this.radius=s,this.type=G.RREC}return e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height,this.radius)},e.prototype.contains=function(t,i){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&i>=this.y&&i<=this.y+this.height){var r=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(i>=this.y+r&&i<=this.y+this.height-r||t>=this.x+r&&t<=this.x+this.width-r)return!0;var n=t-(this.x+r),s=i-(this.y+r),o=r*r;if(n*n+s*s<=o||(n=t-(this.x+this.width-r),n*n+s*s<=o)||(s=i-(this.y+this.height-r),n*n+s*s<=o)||(n=t-(this.x+r),n*n+s*s<=o))return!0}return!1},e.prototype.toString=function(){return"[@pixi/math:RoundedRectangle x="+this.x+" y="+this.y+("width="+this.width+" height="+this.height+" radius="+this.radius+"]")},e}(),H=function(){function e(t,i){t===void 0&&(t=0),i===void 0&&(i=0),this.x=0,this.y=0,this.x=t,this.y=i}return e.prototype.clone=function(){return new e(this.x,this.y)},e.prototype.copyFrom=function(t){return this.set(t.x,t.y),this},e.prototype.copyTo=function(t){return t.set(this.x,this.y),t},e.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},e.prototype.set=function(t,i){return t===void 0&&(t=0),i===void 0&&(i=t),this.x=t,this.y=i,this},e.prototype.toString=function(){return"[@pixi/math:Point x="+this.x+" y="+this.y+"]"},e}(),pi=function(){function e(t,i,r,n){r===void 0&&(r=0),n===void 0&&(n=0),this._x=r,this._y=n,this.cb=t,this.scope=i}return e.prototype.clone=function(t,i){return t===void 0&&(t=this.cb),i===void 0&&(i=this.scope),new e(t,i,this._x,this._y)},e.prototype.set=function(t,i){return t===void 0&&(t=0),i===void 0&&(i=t),(this._x!==t||this._y!==i)&&(this._x=t,this._y=i,this.cb.call(this.scope)),this},e.prototype.copyFrom=function(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this},e.prototype.copyTo=function(t){return t.set(this._x,this._y),t},e.prototype.equals=function(t){return t.x===this._x&&t.y===this._y},e.prototype.toString=function(){return"[@pixi/math:ObservablePoint x="+0+" y="+0+" scope="+this.scope+"]"},Object.defineProperty(e.prototype,"x",{get:function(){return this._x},set:function(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"y",{get:function(){return this._y},set:function(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),e}(),Z=function(){function e(t,i,r,n,s,o){t===void 0&&(t=1),i===void 0&&(i=0),r===void 0&&(r=0),n===void 0&&(n=1),s===void 0&&(s=0),o===void 0&&(o=0),this.array=null,this.a=t,this.b=i,this.c=r,this.d=n,this.tx=s,this.ty=o}return e.prototype.fromArray=function(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]},e.prototype.set=function(t,i,r,n,s,o){return this.a=t,this.b=i,this.c=r,this.d=n,this.tx=s,this.ty=o,this},e.prototype.toArray=function(t,i){this.array||(this.array=new Float32Array(9));var r=i||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r},e.prototype.apply=function(t,i){i=i||new H;var r=t.x,n=t.y;return i.x=this.a*r+this.c*n+this.tx,i.y=this.b*r+this.d*n+this.ty,i},e.prototype.applyInverse=function(t,i){i=i||new H;var r=1/(this.a*this.d+this.c*-this.b),n=t.x,s=t.y;return i.x=this.d*r*n+-this.c*r*s+(this.ty*this.c-this.tx*this.d)*r,i.y=this.a*r*s+-this.b*r*n+(-this.ty*this.a+this.tx*this.b)*r,i},e.prototype.translate=function(t,i){return this.tx+=t,this.ty+=i,this},e.prototype.scale=function(t,i){return this.a*=t,this.d*=i,this.c*=t,this.b*=i,this.tx*=t,this.ty*=i,this},e.prototype.rotate=function(t){var i=Math.cos(t),r=Math.sin(t),n=this.a,s=this.c,o=this.tx;return this.a=n*i-this.b*r,this.b=n*r+this.b*i,this.c=s*i-this.d*r,this.d=s*r+this.d*i,this.tx=o*i-this.ty*r,this.ty=o*r+this.ty*i,this},e.prototype.append=function(t){var i=this.a,r=this.b,n=this.c,s=this.d;return this.a=t.a*i+t.b*n,this.b=t.a*r+t.b*s,this.c=t.c*i+t.d*n,this.d=t.c*r+t.d*s,this.tx=t.tx*i+t.ty*n+this.tx,this.ty=t.tx*r+t.ty*s+this.ty,this},e.prototype.setTransform=function(t,i,r,n,s,o,a,l,h){return this.a=Math.cos(a+h)*s,this.b=Math.sin(a+h)*s,this.c=-Math.sin(a-l)*o,this.d=Math.cos(a-l)*o,this.tx=t-(r*this.a+n*this.c),this.ty=i-(r*this.b+n*this.d),this},e.prototype.prepend=function(t){var i=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){var r=this.a,n=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=n*t.a+this.d*t.c,this.d=n*t.b+this.d*t.d}return this.tx=i*t.a+this.ty*t.c+t.tx,this.ty=i*t.b+this.ty*t.d+t.ty,this},e.prototype.decompose=function(t){var i=this.a,r=this.b,n=this.c,s=this.d,o=t.pivot,a=-Math.atan2(-n,s),l=Math.atan2(r,i),h=Math.abs(a+l);return h<1e-5||Math.abs(Qi-h)<1e-5?(t.rotation=l,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=a,t.skew.y=l),t.scale.x=Math.sqrt(i*i+r*r),t.scale.y=Math.sqrt(n*n+s*s),t.position.x=this.tx+(o.x*i+o.y*n),t.position.y=this.ty+(o.x*r+o.y*s),t},e.prototype.invert=function(){var t=this.a,i=this.b,r=this.c,n=this.d,s=this.tx,o=t*n-i*r;return this.a=n/o,this.b=-i/o,this.c=-r/o,this.d=t/o,this.tx=(r*this.ty-n*s)/o,this.ty=-(t*this.ty-i*s)/o,this},e.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},e.prototype.clone=function(){var t=new e;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},e.prototype.copyTo=function(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},e.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},e.prototype.toString=function(){return"[@pixi/math:Matrix a="+this.a+" b="+this.b+" c="+this.c+" d="+this.d+" tx="+this.tx+" ty="+this.ty+"]"},Object.defineProperty(e,"IDENTITY",{get:function(){return new e},enumerable:!1,configurable:!0}),Object.defineProperty(e,"TEMP_MATRIX",{get:function(){return new e},enumerable:!1,configurable:!0}),e}(),ge=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],_e=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],xe=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],we=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],In=[],ta=[],tr=Math.sign;function Td(){for(var e=0;e<16;e++){var t=[];In.push(t);for(var i=0;i<16;i++)for(var r=tr(ge[e]*ge[i]+xe[e]*_e[i]),n=tr(_e[e]*ge[i]+we[e]*_e[i]),s=tr(ge[e]*xe[i]+xe[e]*we[i]),o=tr(_e[e]*xe[i]+we[e]*we[i]),a=0;a<16;a++)if(ge[a]===r&&_e[a]===n&&xe[a]===s&&we[a]===o){t.push(a);break}}for(var e=0;e<16;e++){var l=new Z;l.set(ge[e],_e[e],xe[e],we[e],0,0),ta.push(l)}}Td();var q={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:function(e){return ge[e]},uY:function(e){return _e[e]},vX:function(e){return xe[e]},vY:function(e){return we[e]},inv:function(e){return e&8?e&15:-e&7},add:function(e,t){return In[e][t]},sub:function(e,t){return In[e][q.inv(t)]},rotate180:function(e){return e^4},isVertical:function(e){return(e&3)===2},byDirection:function(e,t){return Math.abs(e)*2<=Math.abs(t)?t>=0?q.S:q.N:Math.abs(t)*2<=Math.abs(e)?e>0?q.E:q.W:t>0?e>0?q.SE:q.SW:e>0?q.NE:q.NW},matrixAppendRotationInv:function(e,t,i,r){i===void 0&&(i=0),r===void 0&&(r=0);var n=ta[q.inv(t)];n.tx=i,n.ty=r,e.append(n)}},bd=function(){function e(){this.worldTransform=new Z,this.localTransform=new Z,this.position=new pi(this.onChange,this,0,0),this.scale=new pi(this.onChange,this,1,1),this.pivot=new pi(this.onChange,this,0,0),this.skew=new pi(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}return e.prototype.onChange=function(){this._localID++},e.prototype.updateSkew=function(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++},e.prototype.toString=function(){return"[@pixi/math:Transform "+("position=("+this.position.x+", "+this.position.y+") ")+("rotation="+this.rotation+" ")+("scale=("+this.scale.x+", "+this.scale.y+") ")+("skew=("+this.skew.x+", "+this.skew.y+") ")+"]"},e.prototype.updateLocalTransform=function(){var t=this.localTransform;this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1)},e.prototype.updateTransform=function(t){var i=this.localTransform;if(this._localID!==this._currentLocalID&&(i.a=this._cx*this.scale.x,i.b=this._sx*this.scale.x,i.c=this._cy*this.scale.y,i.d=this._sy*this.scale.y,i.tx=this.position.x-(this.pivot.x*i.a+this.pivot.y*i.c),i.ty=this.position.y-(this.pivot.x*i.b+this.pivot.y*i.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==t._worldID){var r=t.worldTransform,n=this.worldTransform;n.a=i.a*r.a+i.b*r.c,n.b=i.a*r.b+i.b*r.d,n.c=i.c*r.a+i.d*r.c,n.d=i.c*r.b+i.d*r.d,n.tx=i.tx*r.a+i.ty*r.c+r.tx,n.ty=i.tx*r.b+i.ty*r.d+r.ty,this._parentID=t._worldID,this._worldID++}},e.prototype.setFromMatrix=function(t){t.decompose(this),this._localID++},Object.defineProperty(e.prototype,"rotation",{get:function(){return this._rotation},set:function(t){this._rotation!==t&&(this._rotation=t,this.updateSkew())},enumerable:!1,configurable:!0}),e.IDENTITY=new e,e}();/*!
53
+ * @pixi/display - v6.2.2
54
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
55
+ *
56
+ * @pixi/display is licensed under the MIT License.
57
+ * http://www.opensource.org/licenses/mit-license
58
+ */F.SORTABLE_CHILDREN=!1;var di=function(){function e(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}return e.prototype.isEmpty=function(){return this.minX>this.maxX||this.minY>this.maxY},e.prototype.clear=function(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0},e.prototype.getRectangle=function(t){return this.minX>this.maxX||this.minY>this.maxY?X.EMPTY:(t=t||new X(0,0,1,1),t.x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)},e.prototype.addPoint=function(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)},e.prototype.addPointMatrix=function(t,i){var r=t.a,n=t.b,s=t.c,o=t.d,a=t.tx,l=t.ty,h=r*i.x+s*i.y+a,u=n*i.x+o*i.y+l;this.minX=Math.min(this.minX,h),this.maxX=Math.max(this.maxX,h),this.minY=Math.min(this.minY,u),this.maxY=Math.max(this.maxY,u)},e.prototype.addQuad=function(t){var i=this.minX,r=this.minY,n=this.maxX,s=this.maxY,o=t[0],a=t[1];i=o<i?o:i,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,o=t[2],a=t[3],i=o<i?o:i,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,o=t[4],a=t[5],i=o<i?o:i,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,o=t[6],a=t[7],i=o<i?o:i,r=a<r?a:r,n=o>n?o:n,s=a>s?a:s,this.minX=i,this.minY=r,this.maxX=n,this.maxY=s},e.prototype.addFrame=function(t,i,r,n,s){this.addFrameMatrix(t.worldTransform,i,r,n,s)},e.prototype.addFrameMatrix=function(t,i,r,n,s){var o=t.a,a=t.b,l=t.c,h=t.d,u=t.tx,f=t.ty,p=this.minX,d=this.minY,v=this.maxX,y=this.maxY,m=o*i+l*r+u,g=a*i+h*r+f;p=m<p?m:p,d=g<d?g:d,v=m>v?m:v,y=g>y?g:y,m=o*n+l*r+u,g=a*n+h*r+f,p=m<p?m:p,d=g<d?g:d,v=m>v?m:v,y=g>y?g:y,m=o*i+l*s+u,g=a*i+h*s+f,p=m<p?m:p,d=g<d?g:d,v=m>v?m:v,y=g>y?g:y,m=o*n+l*s+u,g=a*n+h*s+f,p=m<p?m:p,d=g<d?g:d,v=m>v?m:v,y=g>y?g:y,this.minX=p,this.minY=d,this.maxX=v,this.maxY=y},e.prototype.addVertexData=function(t,i,r){for(var n=this.minX,s=this.minY,o=this.maxX,a=this.maxY,l=i;l<r;l+=2){var h=t[l],u=t[l+1];n=h<n?h:n,s=u<s?u:s,o=h>o?h:o,a=u>a?u:a}this.minX=n,this.minY=s,this.maxX=o,this.maxY=a},e.prototype.addVertices=function(t,i,r,n){this.addVerticesMatrix(t.worldTransform,i,r,n)},e.prototype.addVerticesMatrix=function(t,i,r,n,s,o){s===void 0&&(s=0),o===void 0&&(o=s);for(var a=t.a,l=t.b,h=t.c,u=t.d,f=t.tx,p=t.ty,d=this.minX,v=this.minY,y=this.maxX,m=this.maxY,g=r;g<n;g+=2){var w=i[g],_=i[g+1],T=a*w+h*_+f,x=u*_+l*w+p;d=Math.min(d,T-s),y=Math.max(y,T+s),v=Math.min(v,x-o),m=Math.max(m,x+o)}this.minX=d,this.minY=v,this.maxX=y,this.maxY=m},e.prototype.addBounds=function(t){var i=this.minX,r=this.minY,n=this.maxX,s=this.maxY;this.minX=t.minX<i?t.minX:i,this.minY=t.minY<r?t.minY:r,this.maxX=t.maxX>n?t.maxX:n,this.maxY=t.maxY>s?t.maxY:s},e.prototype.addBoundsMask=function(t,i){var r=t.minX>i.minX?t.minX:i.minX,n=t.minY>i.minY?t.minY:i.minY,s=t.maxX<i.maxX?t.maxX:i.maxX,o=t.maxY<i.maxY?t.maxY:i.maxY;if(r<=s&&n<=o){var a=this.minX,l=this.minY,h=this.maxX,u=this.maxY;this.minX=r<a?r:a,this.minY=n<l?n:l,this.maxX=s>h?s:h,this.maxY=o>u?o:u}},e.prototype.addBoundsMatrix=function(t,i){this.addFrameMatrix(i,t.minX,t.minY,t.maxX,t.maxY)},e.prototype.addBoundsArea=function(t,i){var r=t.minX>i.x?t.minX:i.x,n=t.minY>i.y?t.minY:i.y,s=t.maxX<i.x+i.width?t.maxX:i.x+i.width,o=t.maxY<i.y+i.height?t.maxY:i.y+i.height;if(r<=s&&n<=o){var a=this.minX,l=this.minY,h=this.maxX,u=this.maxY;this.minX=r<a?r:a,this.minY=n<l?n:l,this.maxX=s>h?s:h,this.maxY=o>u?o:u}},e.prototype.pad=function(t,i){t===void 0&&(t=0),i===void 0&&(i=t),this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=i,this.maxY+=i)},e.prototype.addFramePad=function(t,i,r,n,s,o){t-=s,i-=o,r+=s,n+=o,this.minX=this.minX<t?this.minX:t,this.maxX=this.maxX>r?this.maxX:r,this.minY=this.minY<i?this.minY:i,this.maxY=this.maxY>n?this.maxY:n},e}();/*! *****************************************************************************
59
+ Copyright (c) Microsoft Corporation. All rights reserved.
60
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
61
+ this file except in compliance with the License. You may obtain a copy of the
62
+ License at http://www.apache.org/licenses/LICENSE-2.0
63
+
64
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
65
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
66
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
67
+ MERCHANTABLITY OR NON-INFRINGEMENT.
68
+
69
+ See the Apache Version 2.0 License for specific language governing permissions
70
+ and limitations under the License.
71
+ ***************************************************************************** */var Cn=function(e,t){return Cn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},Cn(e,t)};function En(e,t){Cn(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var Gt=function(e){En(t,e);function t(){var i=e.call(this)||this;return i.tempDisplayObjectParent=null,i.transform=new bd,i.alpha=1,i.visible=!0,i.renderable=!0,i.parent=null,i.worldAlpha=1,i._lastSortedIndex=0,i._zIndex=0,i.filterArea=null,i.filters=null,i._enabledFilters=null,i._bounds=new di,i._localBounds=null,i._boundsID=0,i._boundsRect=null,i._localBoundsRect=null,i._mask=null,i._maskRefCount=0,i._destroyed=!1,i.isSprite=!1,i.isMask=!1,i}return t.mixin=function(i){for(var r=Object.keys(i),n=0;n<r.length;++n){var s=r[n];Object.defineProperty(t.prototype,s,Object.getOwnPropertyDescriptor(i,s))}},Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!1,configurable:!0}),t.prototype._recursivePostUpdateTransform=function(){this.parent?(this.parent._recursivePostUpdateTransform(),this.transform.updateTransform(this.parent.transform)):this.transform.updateTransform(this._tempDisplayObjectParent.transform)},t.prototype.updateTransform=function(){this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha},t.prototype.getBounds=function(i,r){return i||(this.parent?(this._recursivePostUpdateTransform(),this.updateTransform()):(this.parent=this._tempDisplayObjectParent,this.updateTransform(),this.parent=null)),this._bounds.updateID!==this._boundsID&&(this.calculateBounds(),this._bounds.updateID=this._boundsID),r||(this._boundsRect||(this._boundsRect=new X),r=this._boundsRect),this._bounds.getRectangle(r)},t.prototype.getLocalBounds=function(i){i||(this._localBoundsRect||(this._localBoundsRect=new X),i=this._localBoundsRect),this._localBounds||(this._localBounds=new di);var r=this.transform,n=this.parent;this.parent=null,this.transform=this._tempDisplayObjectParent.transform;var s=this._bounds,o=this._boundsID;this._bounds=this._localBounds;var a=this.getBounds(!1,i);return this.parent=n,this.transform=r,this._bounds=s,this._bounds.updateID+=this._boundsID-o,a},t.prototype.toGlobal=function(i,r,n){return n===void 0&&(n=!1),n||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.apply(i,r)},t.prototype.toLocal=function(i,r,n,s){return r&&(i=r.toGlobal(i,n,s)),s||(this._recursivePostUpdateTransform(),this.parent?this.displayObjectUpdateTransform():(this.parent=this._tempDisplayObjectParent,this.displayObjectUpdateTransform(),this.parent=null)),this.worldTransform.applyInverse(i,n)},t.prototype.setParent=function(i){if(!i||!i.addChild)throw new Error("setParent: Argument must be a Container");return i.addChild(this),i},t.prototype.setTransform=function(i,r,n,s,o,a,l,h,u){return i===void 0&&(i=0),r===void 0&&(r=0),n===void 0&&(n=1),s===void 0&&(s=1),o===void 0&&(o=0),a===void 0&&(a=0),l===void 0&&(l=0),h===void 0&&(h=0),u===void 0&&(u=0),this.position.x=i,this.position.y=r,this.scale.x=n||1,this.scale.y=s||1,this.rotation=o,this.skew.x=a,this.skew.y=l,this.pivot.x=h,this.pivot.y=u,this},t.prototype.destroy=function(i){this.parent&&this.parent.removeChild(this),this.emit("destroyed"),this.removeAllListeners(),this.transform=null,this.parent=null,this._bounds=null,this.mask=null,this.filters=null,this.filterArea=null,this.hitArea=null,this.interactive=!1,this.interactiveChildren=!1,this._destroyed=!0},Object.defineProperty(t.prototype,"_tempDisplayObjectParent",{get:function(){return this.tempDisplayObjectParent===null&&(this.tempDisplayObjectParent=new ea),this.tempDisplayObjectParent},enumerable:!1,configurable:!0}),t.prototype.enableTempParent=function(){var i=this.parent;return this.parent=this._tempDisplayObjectParent,i},t.prototype.disableTempParent=function(i){this.parent=i},Object.defineProperty(t.prototype,"x",{get:function(){return this.position.x},set:function(i){this.transform.position.x=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this.position.y},set:function(i){this.transform.position.y=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"worldTransform",{get:function(){return this.transform.worldTransform},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"localTransform",{get:function(){return this.transform.localTransform},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{get:function(){return this.transform.position},set:function(i){this.transform.position.copyFrom(i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scale",{get:function(){return this.transform.scale},set:function(i){this.transform.scale.copyFrom(i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"pivot",{get:function(){return this.transform.pivot},set:function(i){this.transform.pivot.copyFrom(i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"skew",{get:function(){return this.transform.skew},set:function(i){this.transform.skew.copyFrom(i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rotation",{get:function(){return this.transform.rotation},set:function(i){this.transform.rotation=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"angle",{get:function(){return this.transform.rotation*gd},set:function(i){this.transform.rotation=i*_d},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"zIndex",{get:function(){return this._zIndex},set:function(i){this._zIndex=i,this.parent&&(this.parent.sortDirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"worldVisible",{get:function(){var i=this;do{if(!i.visible)return!1;i=i.parent}while(i);return!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mask",{get:function(){return this._mask},set:function(i){if(this._mask!==i){if(this._mask){var r=this._mask.maskObject||this._mask;r._maskRefCount--,r._maskRefCount===0&&(r.renderable=!0,r.isMask=!1)}if(this._mask=i,this._mask){var r=this._mask.maskObject||this._mask;r._maskRefCount===0&&(r.renderable=!1,r.isMask=!0),r._maskRefCount++}}},enumerable:!1,configurable:!0}),t}(pe),ea=function(e){En(t,e);function t(){var i=e!==null&&e.apply(this,arguments)||this;return i.sortDirty=null,i}return t}(Gt);Gt.prototype.displayObjectUpdateTransform=Gt.prototype.updateTransform;/*!
72
+ * @pixi/constants - v6.2.2
73
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
74
+ *
75
+ * @pixi/constants is licensed under the MIT License.
76
+ * http://www.opensource.org/licenses/mit-license
77
+ */var ia;(function(e){e[e.WEBGL_LEGACY=0]="WEBGL_LEGACY",e[e.WEBGL=1]="WEBGL",e[e.WEBGL2=2]="WEBGL2"})(ia||(ia={}));var ra;(function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.WEBGL=1]="WEBGL",e[e.CANVAS=2]="CANVAS"})(ra||(ra={}));var na;(function(e){e[e.COLOR=16384]="COLOR",e[e.DEPTH=256]="DEPTH",e[e.STENCIL=1024]="STENCIL"})(na||(na={}));var sa;(function(e){e[e.NORMAL=0]="NORMAL",e[e.ADD=1]="ADD",e[e.MULTIPLY=2]="MULTIPLY",e[e.SCREEN=3]="SCREEN",e[e.OVERLAY=4]="OVERLAY",e[e.DARKEN=5]="DARKEN",e[e.LIGHTEN=6]="LIGHTEN",e[e.COLOR_DODGE=7]="COLOR_DODGE",e[e.COLOR_BURN=8]="COLOR_BURN",e[e.HARD_LIGHT=9]="HARD_LIGHT",e[e.SOFT_LIGHT=10]="SOFT_LIGHT",e[e.DIFFERENCE=11]="DIFFERENCE",e[e.EXCLUSION=12]="EXCLUSION",e[e.HUE=13]="HUE",e[e.SATURATION=14]="SATURATION",e[e.COLOR=15]="COLOR",e[e.LUMINOSITY=16]="LUMINOSITY",e[e.NORMAL_NPM=17]="NORMAL_NPM",e[e.ADD_NPM=18]="ADD_NPM",e[e.SCREEN_NPM=19]="SCREEN_NPM",e[e.NONE=20]="NONE",e[e.SRC_OVER=0]="SRC_OVER",e[e.SRC_IN=21]="SRC_IN",e[e.SRC_OUT=22]="SRC_OUT",e[e.SRC_ATOP=23]="SRC_ATOP",e[e.DST_OVER=24]="DST_OVER",e[e.DST_IN=25]="DST_IN",e[e.DST_OUT=26]="DST_OUT",e[e.DST_ATOP=27]="DST_ATOP",e[e.ERASE=26]="ERASE",e[e.SUBTRACT=28]="SUBTRACT",e[e.XOR=29]="XOR"})(sa||(sa={}));var oa;(function(e){e[e.POINTS=0]="POINTS",e[e.LINES=1]="LINES",e[e.LINE_LOOP=2]="LINE_LOOP",e[e.LINE_STRIP=3]="LINE_STRIP",e[e.TRIANGLES=4]="TRIANGLES",e[e.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",e[e.TRIANGLE_FAN=6]="TRIANGLE_FAN"})(oa||(oa={}));var aa;(function(e){e[e.RGBA=6408]="RGBA",e[e.RGB=6407]="RGB",e[e.RG=33319]="RG",e[e.RED=6403]="RED",e[e.RGBA_INTEGER=36249]="RGBA_INTEGER",e[e.RGB_INTEGER=36248]="RGB_INTEGER",e[e.RG_INTEGER=33320]="RG_INTEGER",e[e.RED_INTEGER=36244]="RED_INTEGER",e[e.ALPHA=6406]="ALPHA",e[e.LUMINANCE=6409]="LUMINANCE",e[e.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",e[e.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",e[e.DEPTH_STENCIL=34041]="DEPTH_STENCIL"})(aa||(aa={}));var la;(function(e){e[e.TEXTURE_2D=3553]="TEXTURE_2D",e[e.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",e[e.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",e[e.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",e[e.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",e[e.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",e[e.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",e[e.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z"})(la||(la={}));var ha;(function(e){e[e.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",e[e.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",e[e.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",e[e.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",e[e.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",e[e.UNSIGNED_INT=5125]="UNSIGNED_INT",e[e.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",e[e.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",e[e.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",e[e.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",e[e.BYTE=5120]="BYTE",e[e.SHORT=5122]="SHORT",e[e.INT=5124]="INT",e[e.FLOAT=5126]="FLOAT",e[e.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",e[e.HALF_FLOAT=36193]="HALF_FLOAT"})(ha||(ha={}));var ua;(function(e){e[e.FLOAT=0]="FLOAT",e[e.INT=1]="INT",e[e.UINT=2]="UINT"})(ua||(ua={}));var fa;(function(e){e[e.NEAREST=0]="NEAREST",e[e.LINEAR=1]="LINEAR"})(fa||(fa={}));var ca;(function(e){e[e.CLAMP=33071]="CLAMP",e[e.REPEAT=10497]="REPEAT",e[e.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"})(ca||(ca={}));var pa;(function(e){e[e.OFF=0]="OFF",e[e.POW2=1]="POW2",e[e.ON=2]="ON",e[e.ON_MANUAL=3]="ON_MANUAL"})(pa||(pa={}));var da;(function(e){e[e.NPM=0]="NPM",e[e.UNPACK=1]="UNPACK",e[e.PMA=2]="PMA",e[e.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",e[e.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",e[e.PREMULTIPLY_ALPHA=2]="PREMULTIPLY_ALPHA",e[e.PREMULTIPLIED_ALPHA=2]="PREMULTIPLIED_ALPHA"})(da||(da={}));var va;(function(e){e[e.NO=0]="NO",e[e.YES=1]="YES",e[e.AUTO=2]="AUTO",e[e.BLEND=0]="BLEND",e[e.CLEAR=1]="CLEAR",e[e.BLIT=2]="BLIT"})(va||(va={}));var ma;(function(e){e[e.AUTO=0]="AUTO",e[e.MANUAL=1]="MANUAL"})(ma||(ma={}));var ya;(function(e){e.LOW="lowp",e.MEDIUM="mediump",e.HIGH="highp"})(ya||(ya={}));var An;(function(e){e[e.NONE=0]="NONE",e[e.SCISSOR=1]="SCISSOR",e[e.STENCIL=2]="STENCIL",e[e.SPRITE=3]="SPRITE"})(An||(An={}));var ga;(function(e){e[e.NONE=0]="NONE",e[e.LOW=2]="LOW",e[e.MEDIUM=4]="MEDIUM",e[e.HIGH=8]="HIGH"})(ga||(ga={}));var _a;(function(e){e[e.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",e[e.ARRAY_BUFFER=34962]="ARRAY_BUFFER",e[e.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER"})(_a||(_a={}));function Id(e,t){return e.zIndex===t.zIndex?e._lastSortedIndex-t._lastSortedIndex:e.zIndex-t.zIndex}var et=function(e){En(t,e);function t(){var i=e.call(this)||this;return i.children=[],i.sortableChildren=F.SORTABLE_CHILDREN,i.sortDirty=!1,i}return t.prototype.onChildrenChange=function(i){},t.prototype.addChild=function(){for(var i=arguments,r=[],n=0;n<arguments.length;n++)r[n]=i[n];if(r.length>1)for(var s=0;s<r.length;s++)this.addChild(r[s]);else{var o=r[0];o.parent&&o.parent.removeChild(o),o.parent=this,this.sortDirty=!0,o.transform._parentID=-1,this.children.push(o),this._boundsID++,this.onChildrenChange(this.children.length-1),this.emit("childAdded",o,this,this.children.length-1),o.emit("added",this)}return r[0]},t.prototype.addChildAt=function(i,r){if(r<0||r>this.children.length)throw new Error(i+"addChildAt: The index "+r+" supplied is out of bounds "+this.children.length);return i.parent&&i.parent.removeChild(i),i.parent=this,this.sortDirty=!0,i.transform._parentID=-1,this.children.splice(r,0,i),this._boundsID++,this.onChildrenChange(r),i.emit("added",this),this.emit("childAdded",i,this,r),i},t.prototype.swapChildren=function(i,r){if(i!==r){var n=this.getChildIndex(i),s=this.getChildIndex(r);this.children[n]=r,this.children[s]=i,this.onChildrenChange(n<s?n:s)}},t.prototype.getChildIndex=function(i){var r=this.children.indexOf(i);if(r===-1)throw new Error("The supplied DisplayObject must be a child of the caller");return r},t.prototype.setChildIndex=function(i,r){if(r<0||r>=this.children.length)throw new Error("The index "+r+" supplied is out of bounds "+this.children.length);var n=this.getChildIndex(i);ci(this.children,n,1),this.children.splice(r,0,i),this.onChildrenChange(r)},t.prototype.getChildAt=function(i){if(i<0||i>=this.children.length)throw new Error("getChildAt: Index ("+i+") does not exist.");return this.children[i]},t.prototype.removeChild=function(){for(var i=arguments,r=[],n=0;n<arguments.length;n++)r[n]=i[n];if(r.length>1)for(var s=0;s<r.length;s++)this.removeChild(r[s]);else{var o=r[0],a=this.children.indexOf(o);if(a===-1)return null;o.parent=null,o.transform._parentID=-1,ci(this.children,a,1),this._boundsID++,this.onChildrenChange(a),o.emit("removed",this),this.emit("childRemoved",o,this,a)}return r[0]},t.prototype.removeChildAt=function(i){var r=this.getChildAt(i);return r.parent=null,r.transform._parentID=-1,ci(this.children,i,1),this._boundsID++,this.onChildrenChange(i),r.emit("removed",this),this.emit("childRemoved",r,this,i),r},t.prototype.removeChildren=function(i,r){i===void 0&&(i=0),r===void 0&&(r=this.children.length);var n=i,s=r,o=s-n,a;if(o>0&&o<=s){a=this.children.splice(n,o);for(var l=0;l<a.length;++l)a[l].parent=null,a[l].transform&&(a[l].transform._parentID=-1);this._boundsID++,this.onChildrenChange(i);for(var l=0;l<a.length;++l)a[l].emit("removed",this),this.emit("childRemoved",a[l],this,l);return a}else if(o===0&&this.children.length===0)return[];throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},t.prototype.sortChildren=function(){for(var i=!1,r=0,n=this.children.length;r<n;++r){var s=this.children[r];s._lastSortedIndex=r,!i&&s.zIndex!==0&&(i=!0)}i&&this.children.length>1&&this.children.sort(Id),this.sortDirty=!1},t.prototype.updateTransform=function(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(var i=0,r=this.children.length;i<r;++i){var n=this.children[i];n.visible&&n.updateTransform()}},t.prototype.calculateBounds=function(){this._bounds.clear(),this._calculateBounds();for(var i=0;i<this.children.length;i++){var r=this.children[i];if(!(!r.visible||!r.renderable))if(r.calculateBounds(),r._mask){var n=r._mask.maskObject||r._mask;n.calculateBounds(),this._bounds.addBoundsMask(r._bounds,n._bounds)}else r.filterArea?this._bounds.addBoundsArea(r._bounds,r.filterArea):this._bounds.addBounds(r._bounds)}this._bounds.updateID=this._boundsID},t.prototype.getLocalBounds=function(i,r){r===void 0&&(r=!1);var n=e.prototype.getLocalBounds.call(this,i);if(!r)for(var s=0,o=this.children.length;s<o;++s){var a=this.children[s];a.visible&&a.updateTransform()}return n},t.prototype._calculateBounds=function(){},t.prototype.render=function(i){if(!(!this.visible||this.worldAlpha<=0||!this.renderable))if(this._mask||this.filters&&this.filters.length)this.renderAdvanced(i);else{this._render(i);for(var r=0,n=this.children.length;r<n;++r)this.children[r].render(i)}},t.prototype.renderAdvanced=function(i){var r=this.filters,n=this._mask;if(r){this._enabledFilters||(this._enabledFilters=[]),this._enabledFilters.length=0;for(var s=0;s<r.length;s++)r[s].enabled&&this._enabledFilters.push(r[s])}var o=r&&this._enabledFilters&&this._enabledFilters.length||n&&(!n.isMaskData||n.enabled&&(n.autoDetect||n.type!==An.NONE));o&&i.batch.flush(),r&&this._enabledFilters&&this._enabledFilters.length&&i.filter.push(this,this._enabledFilters),n&&i.mask.push(this,this._mask),this._render(i);for(var s=0,a=this.children.length;s<a;s++)this.children[s].render(i);o&&i.batch.flush(),n&&i.mask.pop(this),r&&this._enabledFilters&&this._enabledFilters.length&&i.filter.pop()},t.prototype._render=function(i){},t.prototype.destroy=function(i){e.prototype.destroy.call(this),this.sortDirty=!1;var r=typeof i=="boolean"?i:i&&i.children,n=this.removeChildren(0,this.children.length);if(r)for(var s=0;s<n.length;++s)n[s].destroy(i)},Object.defineProperty(t.prototype,"width",{get:function(){return this.scale.x*this.getLocalBounds().width},set:function(i){var r=this.getLocalBounds().width;r!==0?this.scale.x=i/r:this.scale.x=1,this._width=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.scale.y*this.getLocalBounds().height},set:function(i){var r=this.getLocalBounds().height;r!==0?this.scale.y=i/r:this.scale.y=1,this._height=i},enumerable:!1,configurable:!0}),t}(Gt);et.prototype.containerUpdateTransform=et.prototype.updateTransform;/*!
78
+ * @pixi/runner - v6.2.2
79
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
80
+ *
81
+ * @pixi/runner is licensed under the MIT License.
82
+ * http://www.opensource.org/licenses/mit-license
83
+ */var ut=function(){function e(t){this.items=[],this._name=t,this._aliasCount=0}return e.prototype.emit=function(t,i,r,n,s,o,a,l){if(arguments.length>8)throw new Error("max arguments reached");var h=this,u=h.name,f=h.items;this._aliasCount++;for(var p=0,d=f.length;p<d;p++)f[p][u](t,i,r,n,s,o,a,l);return f===this.items&&this._aliasCount--,this},e.prototype.ensureNonAliasedItems=function(){this._aliasCount>0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))},e.prototype.add=function(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this},e.prototype.remove=function(t){var i=this.items.indexOf(t);return i!==-1&&(this.ensureNonAliasedItems(),this.items.splice(i,1)),this},e.prototype.contains=function(t){return this.items.indexOf(t)!==-1},e.prototype.removeAll=function(){return this.ensureNonAliasedItems(),this.items.length=0,this},e.prototype.destroy=function(){this.removeAll(),this.items=null,this._name=null},Object.defineProperty(e.prototype,"empty",{get:function(){return this.items.length===0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),e}();Object.defineProperties(ut.prototype,{dispatch:{value:ut.prototype.emit},run:{value:ut.prototype.emit}});/*!
84
+ * @pixi/core - v6.2.2
85
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
86
+ *
87
+ * @pixi/core is licensed under the MIT License.
88
+ * http://www.opensource.org/licenses/mit-license
89
+ */F.PREFER_ENV=Qt.any?Bt.WEBGL:Bt.WEBGL2,F.STRICT_TEXTURE_CACHE=!1;var Sn=[];function xa(e,t){if(!e)return null;var i="";if(typeof e=="string"){var r=/\.(\w{3,4})(?:$|\?|#)/i.exec(e);r&&(i=r[1].toLowerCase())}for(var n=Sn.length-1;n>=0;--n){var s=Sn[n];if(s.test&&s.test(e,i))return new s(e,t)}throw new Error("Unrecognized source type to auto-detect Resource")}/*! *****************************************************************************
90
+ Copyright (c) Microsoft Corporation. All rights reserved.
91
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
92
+ this file except in compliance with the License. You may obtain a copy of the
93
+ License at http://www.apache.org/licenses/LICENSE-2.0
94
+
95
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
96
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
97
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
98
+ MERCHANTABLITY OR NON-INFRINGEMENT.
99
+
100
+ See the Apache Version 2.0 License for specific language governing permissions
101
+ and limitations under the License.
102
+ ***************************************************************************** */var Nn=function(e,t){return Nn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},Nn(e,t)};function W(e,t){Nn(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var Ln=function(){return Ln=Object.assign||function(t){for(var i=arguments,r,n=1,s=arguments.length;n<s;n++){r=i[n];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(t[o]=r[o])}return t},Ln.apply(this,arguments)};function Cd(e,t){var i={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(i[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(e);n<r.length;n++)t.indexOf(r[n])<0&&(i[r[n]]=e[r[n]]);return i}var vi=function(){function e(t,i){t===void 0&&(t=0),i===void 0&&(i=0),this._width=t,this._height=i,this.destroyed=!1,this.internal=!1,this.onResize=new ut("setRealSize"),this.onUpdate=new ut("update"),this.onError=new ut("onError")}return e.prototype.bind=function(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)},e.prototype.unbind=function(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)},e.prototype.resize=function(t,i){(t!==this._width||i!==this._height)&&(this._width=t,this._height=i,this.onResize.emit(t,i))},Object.defineProperty(e.prototype,"valid",{get:function(){return!!this._width&&!!this._height},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.destroyed||this.onUpdate.emit()},e.prototype.load=function(){return Promise.resolve(this)},Object.defineProperty(e.prototype,"width",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this._height},enumerable:!1,configurable:!0}),e.prototype.style=function(t,i,r){return!1},e.prototype.dispose=function(){},e.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)},e.test=function(t,i){return!1},e}(),On=function(e){W(t,e);function t(i,r){var n=this,s=r||{},o=s.width,a=s.height;if(!o||!a)throw new Error("BufferResource width or height invalid");return n=e.call(this,o,a)||this,n.data=i,n}return t.prototype.upload=function(i,r,n){var s=i.gl;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===Jt.UNPACK);var o=r.realWidth,a=r.realHeight;return n.width===o&&n.height===a?s.texSubImage2D(r.target,0,0,0,o,a,r.format,n.type,this.data):(n.width=o,n.height=a,s.texImage2D(r.target,0,n.internalFormat,o,a,0,r.format,n.type,this.data)),!0},t.prototype.dispose=function(){this.data=null},t.test=function(i){return i instanceof Float32Array||i instanceof Uint8Array||i instanceof Uint32Array},t}(vi),Ed={scaleMode:lt.NEAREST,format:L.RGBA,alphaMode:Jt.NPM},Y=function(e){W(t,e);function t(i,r){i===void 0&&(i=null),r===void 0&&(r=null);var n=e.call(this)||this;r=r||{};var s=r.alphaMode,o=r.mipmap,a=r.anisotropicLevel,l=r.scaleMode,h=r.width,u=r.height,f=r.wrapMode,p=r.format,d=r.type,v=r.target,y=r.resolution,m=r.resourceOptions;return i&&!(i instanceof vi)&&(i=xa(i,m),i.internal=!0),n.resolution=y||F.RESOLUTION,n.width=Math.round((h||0)*n.resolution)/n.resolution,n.height=Math.round((u||0)*n.resolution)/n.resolution,n._mipmap=o!==void 0?o:F.MIPMAP_TEXTURES,n.anisotropicLevel=a!==void 0?a:F.ANISOTROPIC_LEVEL,n._wrapMode=f||F.WRAP_MODE,n._scaleMode=l!==void 0?l:F.SCALE_MODE,n.format=p||L.RGBA,n.type=d||D.UNSIGNED_BYTE,n.target=v||ue.TEXTURE_2D,n.alphaMode=s!==void 0?s:Jt.UNPACK,n.uid=He(),n.touched=0,n.isPowerOfTwo=!1,n._refreshPOT(),n._glTextures={},n.dirtyId=0,n.dirtyStyleId=0,n.cacheId=null,n.valid=h>0&&u>0,n.textureCacheIds=[],n.destroyed=!1,n.resource=null,n._batchEnabled=0,n._batchLocation=0,n.parentTextureArray=null,n.setResource(i),n}return Object.defineProperty(t.prototype,"realWidth",{get:function(){return Math.round(this.width*this.resolution)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"realHeight",{get:function(){return Math.round(this.height*this.resolution)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"mipmap",{get:function(){return this._mipmap},set:function(i){this._mipmap!==i&&(this._mipmap=i,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(i){this._scaleMode!==i&&(this._scaleMode=i,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"wrapMode",{get:function(){return this._wrapMode},set:function(i){this._wrapMode!==i&&(this._wrapMode=i,this.dirtyStyleId++)},enumerable:!1,configurable:!0}),t.prototype.setStyle=function(i,r){var n;return i!==void 0&&i!==this.scaleMode&&(this.scaleMode=i,n=!0),r!==void 0&&r!==this.mipmap&&(this.mipmap=r,n=!0),n&&this.dirtyStyleId++,this},t.prototype.setSize=function(i,r,n){return n=n||this.resolution,this.setRealSize(i*n,r*n,n)},t.prototype.setRealSize=function(i,r,n){return this.resolution=n||this.resolution,this.width=Math.round(i)/this.resolution,this.height=Math.round(r)/this.resolution,this._refreshPOT(),this.update(),this},t.prototype._refreshPOT=function(){this.isPowerOfTwo=gn(this.realWidth)&&gn(this.realHeight)},t.prototype.setResolution=function(i){var r=this.resolution;return r===i?this:(this.resolution=i,this.valid&&(this.width=Math.round(this.width*r)/i,this.height=Math.round(this.height*r)/i,this.emit("update",this)),this._refreshPOT(),this)},t.prototype.setResource=function(i){if(this.resource===i)return this;if(this.resource)throw new Error("Resource can be set only once");return i.bind(this),this.resource=i,this},t.prototype.update=function(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))},t.prototype.onError=function(i){this.emit("error",this,i)},t.prototype.destroy=function(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete gt[this.cacheId],delete dt[this.cacheId],this.cacheId=null),this.dispose(),t.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0},t.prototype.dispose=function(){this.emit("dispose",this)},t.prototype.castToBaseTexture=function(){return this},t.from=function(i,r,n){n===void 0&&(n=F.STRICT_TEXTURE_CACHE);var s=typeof i=="string",o=null;if(s)o=i;else{if(!i._pixiId){var a=r&&r.pixiIdPrefix||"pixiid";i._pixiId=a+"_"+He()}o=i._pixiId}var l=gt[o];if(s&&n&&!l)throw new Error('The cacheId "'+o+'" does not exist in BaseTextureCache.');return l||(l=new t(i,r),l.cacheId=o,t.addToCache(l,o)),l},t.fromBuffer=function(i,r,n,s){i=i||new Float32Array(r*n*4);var o=new On(i,{width:r,height:n}),a=i instanceof Float32Array?D.FLOAT:D.UNSIGNED_BYTE;return new t(o,Object.assign(Ed,s||{width:r,height:n,type:a}))},t.addToCache=function(i,r){r&&(i.textureCacheIds.indexOf(r)===-1&&i.textureCacheIds.push(r),gt[r]&&console.warn("BaseTexture added to the cache with an id ["+r+"] that already had an entry"),gt[r]=i)},t.removeFromCache=function(i){if(typeof i=="string"){var r=gt[i];if(r){var n=r.textureCacheIds.indexOf(i);return n>-1&&r.textureCacheIds.splice(n,1),delete gt[i],r}}else if(i&&i.textureCacheIds){for(var s=0;s<i.textureCacheIds.length;++s)delete gt[i.textureCacheIds[s]];return i.textureCacheIds.length=0,i}return null},t._globalBatch=0,t}(pe),wa=function(e){W(t,e);function t(i,r){var n=this,s=r||{},o=s.width,a=s.height;n=e.call(this,o,a)||this,n.items=[],n.itemDirtyIds=[];for(var l=0;l<i;l++){var h=new Y;n.items.push(h),n.itemDirtyIds.push(-2)}return n.length=i,n._load=null,n.baseTexture=null,n}return t.prototype.initFromArray=function(i,r){for(var n=0;n<this.length;n++)!i[n]||(i[n].castToBaseTexture?this.addBaseTextureAt(i[n].castToBaseTexture(),n):i[n]instanceof vi?this.addResourceAt(i[n],n):this.addResourceAt(xa(i[n],r),n))},t.prototype.dispose=function(){for(var i=0,r=this.length;i<r;i++)this.items[i].destroy();this.items=null,this.itemDirtyIds=null,this._load=null},t.prototype.addResourceAt=function(i,r){if(!this.items[r])throw new Error("Index "+r+" is out of bounds");return i.valid&&!this.valid&&this.resize(i.width,i.height),this.items[r].setResource(i),this},t.prototype.bind=function(i){if(this.baseTexture!==null)throw new Error("Only one base texture per TextureArray is allowed");e.prototype.bind.call(this,i);for(var r=0;r<this.length;r++)this.items[r].parentTextureArray=i,this.items[r].on("update",i.update,i)},t.prototype.unbind=function(i){e.prototype.unbind.call(this,i);for(var r=0;r<this.length;r++)this.items[r].parentTextureArray=null,this.items[r].off("update",i.update,i)},t.prototype.load=function(){var i=this;if(this._load)return this._load;var r=this.items.map(function(s){return s.resource}).filter(function(s){return s}),n=r.map(function(s){return s.load()});return this._load=Promise.all(n).then(function(){var s=i.items[0],o=s.realWidth,a=s.realHeight;return i.resize(o,a),Promise.resolve(i)}),this._load},t}(vi),Ad=function(e){W(t,e);function t(i,r){var n=this,s=r||{},o=s.width,a=s.height,l,h;return Array.isArray(i)?(l=i,h=i.length):h=i,n=e.call(this,h,{width:o,height:a})||this,l&&n.initFromArray(l,r),n}return t.prototype.addBaseTextureAt=function(i,r){if(i.resource)this.addResourceAt(i.resource,r);else throw new Error("ArrayResource does not support RenderTexture");return this},t.prototype.bind=function(i){e.prototype.bind.call(this,i),i.target=ue.TEXTURE_2D_ARRAY},t.prototype.upload=function(i,r,n){var s=this,o=s.length,a=s.itemDirtyIds,l=s.items,h=i.gl;n.dirtyId<0&&h.texImage3D(h.TEXTURE_2D_ARRAY,0,n.internalFormat,this._width,this._height,o,0,r.format,n.type,null);for(var u=0;u<o;u++){var f=l[u];a[u]<f.dirtyId&&(a[u]=f.dirtyId,f.valid&&h.texSubImage3D(h.TEXTURE_2D_ARRAY,0,0,0,u,f.resource.width,f.resource.height,1,r.format,n.type,f.resource.source))}return!0},t}(wa),te=function(e){W(t,e);function t(i){var r=this,n=i,s=n.naturalWidth||n.videoWidth||n.width,o=n.naturalHeight||n.videoHeight||n.height;return r=e.call(this,s,o)||this,r.source=i,r.noSubImage=!1,r}return t.crossOrigin=function(i,r,n){n===void 0&&r.indexOf("data:")!==0?i.crossOrigin=Qo(r):n!==!1&&(i.crossOrigin=typeof n=="string"?n:"anonymous")},t.prototype.upload=function(i,r,n,s){var o=i.gl,a=r.realWidth,l=r.realHeight;return s=s||this.source,o.pixelStorei(o.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===Jt.UNPACK),!this.noSubImage&&r.target===o.TEXTURE_2D&&n.width===a&&n.height===l?o.texSubImage2D(o.TEXTURE_2D,0,0,0,r.format,n.type,s):(n.width=a,n.height=l,o.texImage2D(r.target,0,n.internalFormat,r.format,n.type,s)),!0},t.prototype.update=function(){if(!this.destroyed){var i=this.source,r=i.naturalWidth||i.videoWidth||i.width,n=i.naturalHeight||i.videoHeight||i.height;this.resize(r,n),e.prototype.update.call(this)}},t.prototype.dispose=function(){this.source=null},t}(vi),Rn=function(e){W(t,e);function t(i){return e.call(this,i)||this}return t.test=function(i){var r=self.OffscreenCanvas;return r&&i instanceof r?!0:self.HTMLCanvasElement&&i instanceof HTMLCanvasElement},t}(te),Sd=function(e){W(t,e);function t(i,r){var n=this,s=r||{},o=s.width,a=s.height,l=s.autoLoad,h=s.linkBaseTexture;if(i&&i.length!==t.SIDES)throw new Error("Invalid length. Got "+i.length+", expected 6");n=e.call(this,6,{width:o,height:a})||this;for(var u=0;u<t.SIDES;u++)n.items[u].target=ue.TEXTURE_CUBE_MAP_POSITIVE_X+u;return n.linkBaseTexture=h!==!1,i&&n.initFromArray(i,r),l!==!1&&n.load(),n}return t.prototype.bind=function(i){e.prototype.bind.call(this,i),i.target=ue.TEXTURE_CUBE_MAP},t.prototype.addBaseTextureAt=function(i,r,n){if(n===void 0&&(n=this.linkBaseTexture),!this.items[r])throw new Error("Index "+r+" is out of bounds");if(!this.linkBaseTexture||i.parentTextureArray||Object.keys(i._glTextures).length>0)if(i.resource)this.addResourceAt(i.resource,r);else throw new Error("CubeResource does not support copying of renderTexture.");else i.target=ue.TEXTURE_CUBE_MAP_POSITIVE_X+r,i.parentTextureArray=this.baseTexture,this.items[r]=i;return i.valid&&!this.valid&&this.resize(i.realWidth,i.realHeight),this.items[r]=i,this},t.prototype.upload=function(i,r,n){for(var s=this.itemDirtyIds,o=0;o<t.SIDES;o++){var a=this.items[o];s[o]<a.dirtyId&&(a.valid&&a.resource?(a.resource.upload(i,a,n),s[o]=a.dirtyId):s[o]<-1&&(i.gl.texImage2D(a.target,0,n.internalFormat,r.realWidth,r.realHeight,0,r.format,n.type,null),s[o]=-1))}return!0},t.test=function(i){return Array.isArray(i)&&i.length===t.SIDES},t.SIDES=6,t}(wa),Pa=function(e){W(t,e);function t(i,r){var n=this;if(r=r||{},!(i instanceof HTMLImageElement)){var s=new Image;te.crossOrigin(s,i,r.crossorigin),s.src=i,i=s}return n=e.call(this,i)||this,!i.complete&&!!n._width&&!!n._height&&(n._width=0,n._height=0),n.url=i.src,n._process=null,n.preserveBitmap=!1,n.createBitmap=(r.createBitmap!==void 0?r.createBitmap:F.CREATE_IMAGE_BITMAP)&&!!self.createImageBitmap,n.alphaMode=typeof r.alphaMode=="number"?r.alphaMode:null,n.bitmap=null,n._load=null,r.autoLoad!==!1&&n.load(),n}return t.prototype.load=function(i){var r=this;return this._load?this._load:(i!==void 0&&(this.createBitmap=i),this._load=new Promise(function(n,s){var o=r.source;r.url=o.src;var a=function(){r.destroyed||(o.onload=null,o.onerror=null,r.resize(o.width,o.height),r._load=null,r.createBitmap?n(r.process()):n(r))};o.complete&&o.src?a():(o.onload=a,o.onerror=function(l){s(l),r.onError.emit(l)})}),this._load)},t.prototype.process=function(){var i=this,r=this.source;if(this._process!==null)return this._process;if(this.bitmap!==null||!self.createImageBitmap)return Promise.resolve(this);var n=self.createImageBitmap,s=!r.crossOrigin||r.crossOrigin==="anonymous";return this._process=fetch(r.src,{mode:s?"cors":"no-cors"}).then(function(o){return o.blob()}).then(function(o){return n(o,0,0,r.width,r.height,{premultiplyAlpha:i.alphaMode===Jt.UNPACK?"premultiply":"none"})}).then(function(o){return i.destroyed?Promise.reject():(i.bitmap=o,i.update(),i._process=null,Promise.resolve(i))}),this._process},t.prototype.upload=function(i,r,n){if(typeof this.alphaMode=="number"&&(r.alphaMode=this.alphaMode),!this.createBitmap)return e.prototype.upload.call(this,i,r,n);if(!this.bitmap&&(this.process(),!this.bitmap))return!1;if(e.prototype.upload.call(this,i,r,n,this.bitmap),!this.preserveBitmap){var s=!0,o=r._glTextures;for(var a in o){var l=o[a];if(l!==n&&l.dirtyId!==r.dirtyId){s=!1;break}}s&&(this.bitmap.close&&this.bitmap.close(),this.bitmap=null)}return!0},t.prototype.dispose=function(){this.source.onload=null,this.source.onerror=null,e.prototype.dispose.call(this),this.bitmap&&(this.bitmap.close(),this.bitmap=null),this._process=null,this._load=null},t.test=function(i){return typeof i=="string"||i instanceof HTMLImageElement},t}(te),Nd=function(e){W(t,e);function t(i,r){var n=this;return r=r||{},n=e.call(this,document.createElement("canvas"))||this,n._width=0,n._height=0,n.svg=i,n.scale=r.scale||1,n._overrideWidth=r.width,n._overrideHeight=r.height,n._resolve=null,n._crossorigin=r.crossorigin,n._load=null,r.autoLoad!==!1&&n.load(),n}return t.prototype.load=function(){var i=this;return this._load?this._load:(this._load=new Promise(function(r){if(i._resolve=function(){i.resize(i.source.width,i.source.height),r(i)},t.SVG_XML.test(i.svg.trim())){if(!btoa)throw new Error("Your browser doesn't support base64 conversions.");i.svg="data:image/svg+xml;base64,"+btoa(unescape(encodeURIComponent(i.svg)))}i._loadSvg()}),this._load)},t.prototype._loadSvg=function(){var i=this,r=new Image;te.crossOrigin(r,this.svg,this._crossorigin),r.src=this.svg,r.onerror=function(n){!i._resolve||(r.onerror=null,i.onError.emit(n))},r.onload=function(){if(!!i._resolve){var n=r.width,s=r.height;if(!n||!s)throw new Error("The SVG image must have width and height defined (in pixels), canvas API needs them.");var o=n*i.scale,a=s*i.scale;(i._overrideWidth||i._overrideHeight)&&(o=i._overrideWidth||i._overrideHeight/s*n,a=i._overrideHeight||i._overrideWidth/n*s),o=Math.round(o),a=Math.round(a);var l=i.source;l.width=o,l.height=a,l._pixiId="canvas_"+He(),l.getContext("2d").drawImage(r,0,0,n,s,0,0,o,a),i._resolve(),i._resolve=null}}},t.getSize=function(i){var r=t.SVG_SIZE.exec(i),n={};return r&&(n[r[1]]=Math.round(parseFloat(r[3])),n[r[5]]=Math.round(parseFloat(r[7]))),n},t.prototype.dispose=function(){e.prototype.dispose.call(this),this._resolve=null,this._crossorigin=null},t.test=function(i,r){return r==="svg"||typeof i=="string"&&/^data:image\/svg\+xml(;(charset=utf8|utf8))?;base64/.test(i)||typeof i=="string"&&t.SVG_XML.test(i)},t.SVG_XML=/^(<\?xml[^?]+\?>)?\s*(<!--[^(-->)]*-->)?\s*\<svg/m,t.SVG_SIZE=/<svg[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i,t}(te),Ld=function(e){W(t,e);function t(i,r){var n=this;if(r=r||{},!(i instanceof HTMLVideoElement)){var s=document.createElement("video");s.setAttribute("preload","auto"),s.setAttribute("webkit-playsinline",""),s.setAttribute("playsinline",""),typeof i=="string"&&(i=[i]);var o=i[0].src||i[0];te.crossOrigin(s,o,r.crossorigin);for(var a=0;a<i.length;++a){var l=document.createElement("source"),h=i[a],u=h.src,f=h.mime;u=u||i[a];var p=u.split("?").shift().toLowerCase(),d=p.substr(p.lastIndexOf(".")+1);f=f||t.MIME_TYPES[d]||"video/"+d,l.src=u,l.type=f,s.appendChild(l)}i=s}return n=e.call(this,i)||this,n.noSubImage=!0,n._autoUpdate=!0,n._isConnectedToTicker=!1,n._updateFPS=r.updateFPS||0,n._msToNextUpdate=0,n.autoPlay=r.autoPlay!==!1,n._load=null,n._resolve=null,n._onCanPlay=n._onCanPlay.bind(n),n._onError=n._onError.bind(n),r.autoLoad!==!1&&n.load(),n}return t.prototype.update=function(i){if(!this.destroyed){var r=ct.shared.elapsedMS*this.source.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-r),(!this._updateFPS||this._msToNextUpdate<=0)&&(e.prototype.update.call(this),this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0)}},t.prototype.load=function(){var i=this;if(this._load)return this._load;var r=this.source;return(r.readyState===r.HAVE_ENOUGH_DATA||r.readyState===r.HAVE_FUTURE_DATA)&&r.width&&r.height&&(r.complete=!0),r.addEventListener("play",this._onPlayStart.bind(this)),r.addEventListener("pause",this._onPlayStop.bind(this)),this._isSourceReady()?this._onCanPlay():(r.addEventListener("canplay",this._onCanPlay),r.addEventListener("canplaythrough",this._onCanPlay),r.addEventListener("error",this._onError,!0)),this._load=new Promise(function(n){i.valid?n(i):(i._resolve=n,r.load())}),this._load},t.prototype._onError=function(i){this.source.removeEventListener("error",this._onError,!0),this.onError.emit(i)},t.prototype._isSourcePlaying=function(){var i=this.source;return i.currentTime>0&&i.paused===!1&&i.ended===!1&&i.readyState>2},t.prototype._isSourceReady=function(){var i=this.source;return i.readyState===3||i.readyState===4},t.prototype._onPlayStart=function(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(ct.shared.add(this.update,this),this._isConnectedToTicker=!0)},t.prototype._onPlayStop=function(){this._isConnectedToTicker&&(ct.shared.remove(this.update,this),this._isConnectedToTicker=!1)},t.prototype._onCanPlay=function(){var i=this.source;i.removeEventListener("canplay",this._onCanPlay),i.removeEventListener("canplaythrough",this._onCanPlay);var r=this.valid;this.resize(i.videoWidth,i.videoHeight),!r&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&i.play()},t.prototype.dispose=function(){this._isConnectedToTicker&&(ct.shared.remove(this.update,this),this._isConnectedToTicker=!1);var i=this.source;i&&(i.removeEventListener("error",this._onError,!0),i.pause(),i.src="",i.load()),e.prototype.dispose.call(this)},Object.defineProperty(t.prototype,"autoUpdate",{get:function(){return this._autoUpdate},set:function(i){i!==this._autoUpdate&&(this._autoUpdate=i,!this._autoUpdate&&this._isConnectedToTicker?(ct.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(ct.shared.add(this.update,this),this._isConnectedToTicker=!0))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"updateFPS",{get:function(){return this._updateFPS},set:function(i){i!==this._updateFPS&&(this._updateFPS=i)},enumerable:!1,configurable:!0}),t.test=function(i,r){return self.HTMLVideoElement&&i instanceof HTMLVideoElement||t.TYPES.indexOf(r)>-1},t.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],t.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"},t}(te),Od=function(e){W(t,e);function t(i){return e.call(this,i)||this}return t.test=function(i){return!!self.createImageBitmap&&i instanceof ImageBitmap},t}(te);Sn.push(Pa,Od,Rn,Ld,Nd,On,Sd,Ad);var Rd=function(e){W(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.upload=function(i,r,n){var s=i.gl;s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===Jt.UNPACK);var o=r.realWidth,a=r.realHeight;return n.width===o&&n.height===a?s.texSubImage2D(r.target,0,0,0,o,a,r.format,n.type,this.data):(n.width=o,n.height=a,s.texImage2D(r.target,0,n.internalFormat,o,a,0,r.format,n.type,this.data)),!0},t}(On),Mn=function(){function e(t,i){this.width=Math.round(t||100),this.height=Math.round(i||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new ut("disposeFramebuffer"),this.multisample=Q.NONE}return Object.defineProperty(e.prototype,"colorTexture",{get:function(){return this.colorTextures[0]},enumerable:!1,configurable:!0}),e.prototype.addColorTexture=function(t,i){return t===void 0&&(t=0),this.colorTextures[t]=i||new Y(null,{scaleMode:lt.NEAREST,resolution:1,mipmap:fe.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.addDepthTexture=function(t){return this.depthTexture=t||new Y(new Rd(null,{width:this.width,height:this.height}),{scaleMode:lt.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:fe.OFF,format:L.DEPTH_COMPONENT,type:D.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableDepth=function(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableStencil=function(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.resize=function(t,i){if(t=Math.round(t),i=Math.round(i),!(t===this.width&&i===this.height)){this.width=t,this.height=i,this.dirtyId++,this.dirtySize++;for(var r=0;r<this.colorTextures.length;r++){var n=this.colorTextures[r],s=n.resolution;n.setSize(t/s,i/s)}if(this.depthTexture){var s=this.depthTexture.resolution;this.depthTexture.setSize(t/s,i/s)}}},e.prototype.dispose=function(){this.disposeRunner.emit(this,!1)},e.prototype.destroyDepthTexture=function(){this.depthTexture&&(this.depthTexture.destroy(),this.depthTexture=null,++this.dirtyId,++this.dirtyFormat)},e}(),er=function(e){W(t,e);function t(i){var r=this;if(typeof i=="number"){var n=arguments[0],s=arguments[1],o=arguments[2],a=arguments[3];i={width:n,height:s,scaleMode:o,resolution:a}}return i.width=i.width||100,i.height=i.height||100,i.multisample=i.multisample!==void 0?i.multisample:Q.NONE,r=e.call(this,null,i)||this,r.mipmap=fe.OFF,r.valid=!0,r.clearColor=[0,0,0,0],r.framebuffer=new Mn(r.realWidth,r.realHeight).addColorTexture(0,r),r.framebuffer.multisample=i.multisample,r.maskStack=[],r.filterStack=[{}],r}return t.prototype.resize=function(i,r){this.framebuffer.resize(i*this.resolution,r*this.resolution),this.setRealSize(this.framebuffer.width,this.framebuffer.height)},t.prototype.dispose=function(){this.framebuffer.dispose(),e.prototype.dispose.call(this)},t.prototype.destroy=function(){e.prototype.destroy.call(this),this.framebuffer.destroyDepthTexture(),this.framebuffer=null},t}(Y),Ta=function(){function e(){this.x0=0,this.y0=0,this.x1=1,this.y1=0,this.x2=1,this.y2=1,this.x3=0,this.y3=1,this.uvsFloat32=new Float32Array(8)}return e.prototype.set=function(t,i,r){var n=i.width,s=i.height;if(r){var o=t.width/2/n,a=t.height/2/s,l=t.x/n+o,h=t.y/s+a;r=q.add(r,q.NW),this.x0=l+o*q.uX(r),this.y0=h+a*q.uY(r),r=q.add(r,2),this.x1=l+o*q.uX(r),this.y1=h+a*q.uY(r),r=q.add(r,2),this.x2=l+o*q.uX(r),this.y2=h+a*q.uY(r),r=q.add(r,2),this.x3=l+o*q.uX(r),this.y3=h+a*q.uY(r)}else this.x0=t.x/n,this.y0=t.y/s,this.x1=(t.x+t.width)/n,this.y1=t.y/s,this.x2=(t.x+t.width)/n,this.y2=(t.y+t.height)/s,this.x3=t.x/n,this.y3=(t.y+t.height)/s;this.uvsFloat32[0]=this.x0,this.uvsFloat32[1]=this.y0,this.uvsFloat32[2]=this.x1,this.uvsFloat32[3]=this.y1,this.uvsFloat32[4]=this.x2,this.uvsFloat32[5]=this.y2,this.uvsFloat32[6]=this.x3,this.uvsFloat32[7]=this.y3},e.prototype.toString=function(){return"[@pixi/core:TextureUvs "+("x0="+this.x0+" y0="+this.y0+" ")+("x1="+this.x1+" y1="+this.y1+" x2="+this.x2+" ")+("y2="+this.y2+" x3="+this.x3+" y3="+this.y3)+"]"},e}(),ba=new Ta,z=function(e){W(t,e);function t(i,r,n,s,o,a){var l=e.call(this)||this;if(l.noFrame=!1,r||(l.noFrame=!0,r=new X(0,0,1,1)),i instanceof t&&(i=i.baseTexture),l.baseTexture=i,l._frame=r,l.trim=s,l.valid=!1,l._uvs=ba,l.uvMatrix=null,l.orig=n||r,l._rotate=Number(o||0),o===!0)l._rotate=2;else if(l._rotate%2!==0)throw new Error("attempt to use diamond-shaped UVs. If you are sure, set rotation manually");return l.defaultAnchor=a?new H(a.x,a.y):new H(0,0),l._updateID=0,l.textureCacheIds=[],i.valid?l.noFrame?i.valid&&l.onBaseTextureUpdated(i):l.frame=r:i.once("loaded",l.onBaseTextureUpdated,l),l.noFrame&&i.on("update",l.onBaseTextureUpdated,l),l}return t.prototype.update=function(){this.baseTexture.resource&&this.baseTexture.resource.update()},t.prototype.onBaseTextureUpdated=function(i){if(this.noFrame){if(!this.baseTexture.valid)return;this._frame.width=i.width,this._frame.height=i.height,this.valid=!0,this.updateUvs()}else this.frame=this._frame;this.emit("update",this)},t.prototype.destroy=function(i){if(this.baseTexture){if(i){var r=this.baseTexture.resource;r&&r.url&&dt[r.url]&&t.removeFromCache(r.url),this.baseTexture.destroy()}this.baseTexture.off("loaded",this.onBaseTextureUpdated,this),this.baseTexture.off("update",this.onBaseTextureUpdated,this),this.baseTexture=null}this._frame=null,this._uvs=null,this.trim=null,this.orig=null,this.valid=!1,t.removeFromCache(this),this.textureCacheIds=null},t.prototype.clone=function(){var i=this._frame.clone(),r=this._frame===this.orig?i:this.orig.clone(),n=new t(this.baseTexture,!this.noFrame&&i,r,this.trim&&this.trim.clone(),this.rotate,this.defaultAnchor);return this.noFrame&&(n._frame=i),n},t.prototype.updateUvs=function(){this._uvs===ba&&(this._uvs=new Ta),this._uvs.set(this._frame,this.baseTexture,this.rotate),this._updateID++},t.from=function(i,r,n){r===void 0&&(r={}),n===void 0&&(n=F.STRICT_TEXTURE_CACHE);var s=typeof i=="string",o=null;if(s)o=i;else if(i instanceof Y){if(!i.cacheId){var a=r&&r.pixiIdPrefix||"pixiid";i.cacheId=a+"-"+He(),Y.addToCache(i,i.cacheId)}o=i.cacheId}else{if(!i._pixiId){var a=r&&r.pixiIdPrefix||"pixiid";i._pixiId=a+"_"+He()}o=i._pixiId}var l=dt[o];if(s&&n&&!l)throw new Error('The cacheId "'+o+'" does not exist in TextureCache.');return!l&&!(i instanceof Y)?(r.resolution||(r.resolution=Tn(i)),l=new t(new Y(i,r)),l.baseTexture.cacheId=o,Y.addToCache(l.baseTexture,o),t.addToCache(l,o)):!l&&i instanceof Y&&(l=new t(i),t.addToCache(l,o)),l},t.fromURL=function(i,r){var n=Object.assign({autoLoad:!1},r?.resourceOptions),s=t.from(i,Object.assign({resourceOptions:n},r),!1),o=s.baseTexture.resource;return s.baseTexture.valid?Promise.resolve(s):o.load().then(function(){return Promise.resolve(s)})},t.fromBuffer=function(i,r,n,s){return new t(Y.fromBuffer(i,r,n,s))},t.fromLoader=function(i,r,n,s){var o=new Y(i,Object.assign({scaleMode:F.SCALE_MODE,resolution:Tn(r)},s)),a=o.resource;a instanceof Pa&&(a.url=r);var l=new t(o);return n||(n=r),Y.addToCache(l.baseTexture,n),t.addToCache(l,n),n!==r&&(Y.addToCache(l.baseTexture,r),t.addToCache(l,r)),l.baseTexture.valid?Promise.resolve(l):new Promise(function(h){l.baseTexture.once("loaded",function(){return h(l)})})},t.addToCache=function(i,r){r&&(i.textureCacheIds.indexOf(r)===-1&&i.textureCacheIds.push(r),dt[r]&&console.warn("Texture added to the cache with an id ["+r+"] that already had an entry"),dt[r]=i)},t.removeFromCache=function(i){if(typeof i=="string"){var r=dt[i];if(r){var n=r.textureCacheIds.indexOf(i);return n>-1&&r.textureCacheIds.splice(n,1),delete dt[i],r}}else if(i&&i.textureCacheIds){for(var s=0;s<i.textureCacheIds.length;++s)dt[i.textureCacheIds[s]]===i&&delete dt[i.textureCacheIds[s]];return i.textureCacheIds.length=0,i}return null},Object.defineProperty(t.prototype,"resolution",{get:function(){return this.baseTexture.resolution},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"frame",{get:function(){return this._frame},set:function(i){this._frame=i,this.noFrame=!1;var r=i.x,n=i.y,s=i.width,o=i.height,a=r+s>this.baseTexture.width,l=n+o>this.baseTexture.height;if(a||l){var h=a&&l?"and":"or",u="X: "+r+" + "+s+" = "+(r+s)+" > "+this.baseTexture.width,f="Y: "+n+" + "+o+" = "+(n+o)+" > "+this.baseTexture.height;throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: "+(u+" "+h+" "+f))}this.valid=s&&o&&this.baseTexture.valid,!this.trim&&!this.rotate&&(this.orig=i),this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"rotate",{get:function(){return this._rotate},set:function(i){this._rotate=i,this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return this.orig.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.orig.height},enumerable:!1,configurable:!0}),t.prototype.castToBaseTexture=function(){return this.baseTexture},t}(pe);function Md(){var e=document.createElement("canvas");e.width=16,e.height=16;var t=e.getContext("2d");return t.fillStyle="white",t.fillRect(0,0,16,16),new z(new Y(new Rn(e)))}function ir(e){e.destroy=function(){},e.on=function(){},e.once=function(){},e.emit=function(){}}z.EMPTY=new z(new Y),ir(z.EMPTY),ir(z.EMPTY.baseTexture),z.WHITE=Md(),ir(z.WHITE),ir(z.WHITE.baseTexture);var Nt=function(e){W(t,e);function t(i,r){var n=e.call(this,i,r)||this;return n.valid=!0,n.filterFrame=null,n.filterPoolKey=null,n.updateUvs(),n}return Object.defineProperty(t.prototype,"framebuffer",{get:function(){return this.baseTexture.framebuffer},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"multisample",{get:function(){return this.framebuffer.multisample},set:function(i){this.framebuffer.multisample=i},enumerable:!1,configurable:!0}),t.prototype.resize=function(i,r,n){n===void 0&&(n=!0);var s=this.baseTexture.resolution,o=Math.round(i*s)/s,a=Math.round(r*s)/s;this.valid=o>0&&a>0,this._frame.width=this.orig.width=o,this._frame.height=this.orig.height=a,n&&this.baseTexture.resize(o,a),this.updateUvs()},t.prototype.setResolution=function(i){var r=this.baseTexture;r.resolution!==i&&(r.setResolution(i),this.resize(r.width,r.height,!1))},t.create=function(i){for(var r=arguments,n=[],s=1;s<arguments.length;s++)n[s-1]=r[s];return typeof i=="number"&&(ye("6.0.0","Arguments (width, height, scaleMode, resolution) have been deprecated."),i={width:i,height:n[0],scaleMode:n[1],resolution:n[2]}),new t(new er(i))},t}(z),Fd=function(){function e(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}return e.prototype.createTexture=function(t,i,r){r===void 0&&(r=Q.NONE);var n=new er(Object.assign({width:t,height:i,resolution:1,multisample:r},this.textureOptions));return new Nt(n)},e.prototype.getOptimalTexture=function(t,i,r,n){r===void 0&&(r=1),n===void 0&&(n=Q.NONE);var s;t=Math.ceil(t*r),i=Math.ceil(i*r),!this.enableFullScreen||t!==this._pixelsWidth||i!==this._pixelsHeight?(t=fi(t),i=fi(i),s=((t&65535)<<16|i&65535)>>>0,n>1&&(s+=n*4294967296)):s=n>1?-n:-1,this.texturePool[s]||(this.texturePool[s]=[]);var o=this.texturePool[s].pop();return o||(o=this.createTexture(t,i,n)),o.filterPoolKey=s,o.setResolution(r),o},e.prototype.getFilterTexture=function(t,i,r){var n=this.getOptimalTexture(t.width,t.height,i||t.resolution,r||Q.NONE);return n.filterFrame=t.filterFrame,n},e.prototype.returnTexture=function(t){var i=t.filterPoolKey;t.filterFrame=null,this.texturePool[i].push(t)},e.prototype.returnFilterTexture=function(t){this.returnTexture(t)},e.prototype.clear=function(t){if(t=t!==!1,t)for(var i in this.texturePool){var r=this.texturePool[i];if(r)for(var n=0;n<r.length;n++)r[n].destroy(!0)}this.texturePool={}},e.prototype.setScreenSize=function(t){if(!(t.width===this._pixelsWidth&&t.height===this._pixelsHeight)){this.enableFullScreen=t.width>0&&t.height>0;for(var i in this.texturePool)if(Number(i)<0){var r=this.texturePool[i];if(r)for(var n=0;n<r.length;n++)r[n].destroy(!0);this.texturePool[i]=[]}this._pixelsWidth=t.width,this._pixelsHeight=t.height}},e.SCREEN_KEY=-1,e}(),Ia=function(){function e(t,i,r,n,s,o,a){i===void 0&&(i=0),r===void 0&&(r=!1),n===void 0&&(n=D.FLOAT),this.buffer=t,this.size=i,this.normalized=r,this.type=n,this.stride=s,this.start=o,this.instance=a}return e.prototype.destroy=function(){this.buffer=null},e.from=function(t,i,r,n,s){return new e(t,i,r,n,s)},e}(),kd=0,yt=function(){function e(t,i,r){i===void 0&&(i=!0),r===void 0&&(r=!1),this.data=t||new Float32Array(1),this._glBuffers={},this._updateID=0,this.index=r,this.static=i,this.id=kd++,this.disposeRunner=new ut("disposeBuffer")}return e.prototype.update=function(t){t instanceof Array&&(t=new Float32Array(t)),this.data=t||this.data,this._updateID++},e.prototype.dispose=function(){this.disposeRunner.emit(this,!1)},e.prototype.destroy=function(){this.dispose(),this.data=null},Object.defineProperty(e.prototype,"index",{get:function(){return this.type===St.ELEMENT_ARRAY_BUFFER},set:function(t){this.type=t?St.ELEMENT_ARRAY_BUFFER:St.ARRAY_BUFFER},enumerable:!1,configurable:!0}),e.from=function(t){return t instanceof Array&&(t=new Float32Array(t)),new e(t)},e}(),Bd={Float32Array,Uint32Array,Int32Array,Uint8Array};function Ud(e,t){for(var i=0,r=0,n={},s=0;s<e.length;s++)r+=t[s],i+=e[s].length;for(var o=new ArrayBuffer(i*4),a=null,l=0,s=0;s<e.length;s++){var h=t[s],u=e[s],f=Ji(u);n[f]||(n[f]=new Bd[f](o)),a=n[f];for(var p=0;p<u.length;p++){var d=(p/h|0)*r+l,v=p%h;a[d+v]=u[p]}l+=h}return new Float32Array(o)}var Ca={5126:4,5123:2,5121:1},Dd=0,Xd={Float32Array,Uint32Array,Int32Array,Uint8Array,Uint16Array},Fn=function(){function e(t,i){t===void 0&&(t=[]),i===void 0&&(i={}),this.buffers=t,this.indexBuffer=null,this.attributes=i,this.glVertexArrayObjects={},this.id=Dd++,this.instanced=!1,this.instanceCount=1,this.disposeRunner=new ut("disposeGeometry"),this.refCount=0}return e.prototype.addAttribute=function(t,i,r,n,s,o,a,l){if(r===void 0&&(r=0),n===void 0&&(n=!1),l===void 0&&(l=!1),!i)throw new Error("You must pass a buffer when creating an attribute");i instanceof yt||(i instanceof Array&&(i=new Float32Array(i)),i=new yt(i));var h=t.split("|");if(h.length>1){for(var u=0;u<h.length;u++)this.addAttribute(h[u],i,r,n,s);return this}var f=this.buffers.indexOf(i);return f===-1&&(this.buffers.push(i),f=this.buffers.length-1),this.attributes[t]=new Ia(f,r,n,s,o,a,l),this.instanced=this.instanced||l,this},e.prototype.getAttribute=function(t){return this.attributes[t]},e.prototype.getBuffer=function(t){return this.buffers[this.getAttribute(t).buffer]},e.prototype.addIndex=function(t){return t instanceof yt||(t instanceof Array&&(t=new Uint16Array(t)),t=new yt(t)),t.type=St.ELEMENT_ARRAY_BUFFER,this.indexBuffer=t,this.buffers.indexOf(t)===-1&&this.buffers.push(t),this},e.prototype.getIndex=function(){return this.indexBuffer},e.prototype.interleave=function(){if(this.buffers.length===1||this.buffers.length===2&&this.indexBuffer)return this;var t=[],i=[],r=new yt,n;for(n in this.attributes){var s=this.attributes[n],o=this.buffers[s.buffer];t.push(o.data),i.push(s.size*Ca[s.type]/4),s.buffer=0}for(r.data=Ud(t,i),n=0;n<this.buffers.length;n++)this.buffers[n]!==this.indexBuffer&&this.buffers[n].destroy();return this.buffers=[r],this.indexBuffer&&this.buffers.push(this.indexBuffer),this},e.prototype.getSize=function(){for(var t in this.attributes){var i=this.attributes[t],r=this.buffers[i.buffer];return r.data.length/(i.stride/4||i.size)}return 0},e.prototype.dispose=function(){this.disposeRunner.emit(this,!1)},e.prototype.destroy=function(){this.dispose(),this.buffers=null,this.indexBuffer=null,this.attributes=null},e.prototype.clone=function(){for(var t=new e,i=0;i<this.buffers.length;i++)t.buffers[i]=new yt(this.buffers[i].data.slice(0));for(var i in this.attributes){var r=this.attributes[i];t.attributes[i]=new Ia(r.buffer,r.size,r.normalized,r.type,r.stride,r.start,r.instance)}return this.indexBuffer&&(t.indexBuffer=t.buffers[this.buffers.indexOf(this.indexBuffer)],t.indexBuffer.type=St.ELEMENT_ARRAY_BUFFER),t},e.merge=function(t){for(var i=new e,r=[],n=[],s=[],o,a=0;a<t.length;a++){o=t[a];for(var l=0;l<o.buffers.length;l++)n[l]=n[l]||0,n[l]+=o.buffers[l].data.length,s[l]=0}for(var a=0;a<o.buffers.length;a++)r[a]=new Xd[Ji(o.buffers[a].data)](n[a]),i.buffers[a]=new yt(r[a]);for(var a=0;a<t.length;a++){o=t[a];for(var l=0;l<o.buffers.length;l++)r[l].set(o.buffers[l].data,s[l]),s[l]+=o.buffers[l].data.length}if(i.attributes=o.attributes,o.indexBuffer){i.indexBuffer=i.buffers[o.buffers.indexOf(o.indexBuffer)],i.indexBuffer.type=St.ELEMENT_ARRAY_BUFFER;for(var h=0,u=0,f=0,p=0,a=0;a<o.buffers.length;a++)if(o.buffers[a]!==o.indexBuffer){p=a;break}for(var a in o.attributes){var d=o.attributes[a];(d.buffer|0)===p&&(u+=d.size*Ca[d.type]/4)}for(var a=0;a<t.length;a++){for(var v=t[a].indexBuffer.data,l=0;l<v.length;l++)i.indexBuffer.data[l+f]+=h;h+=t[a].buffers[p].data.length/u,f+=v.length}}return i},e}(),Gd=function(e){W(t,e);function t(){var i=e.call(this)||this;return i.addAttribute("aVertexPosition",new Float32Array([0,0,1,0,1,1,0,1])).addIndex([0,1,3,2]),i}return t}(Fn),Hd=function(e){W(t,e);function t(){var i=e.call(this)||this;return i.vertices=new Float32Array([-1,-1,1,-1,1,1,-1,1]),i.uvs=new Float32Array([0,0,1,0,1,1,0,1]),i.vertexBuffer=new yt(i.vertices),i.uvBuffer=new yt(i.uvs),i.addAttribute("aVertexPosition",i.vertexBuffer).addAttribute("aTextureCoord",i.uvBuffer).addIndex([0,1,2,0,2,3]),i}return t.prototype.map=function(i,r){var n=0,s=0;return this.uvs[0]=n,this.uvs[1]=s,this.uvs[2]=n+r.width/i.width,this.uvs[3]=s,this.uvs[4]=n+r.width/i.width,this.uvs[5]=s+r.height/i.height,this.uvs[6]=n,this.uvs[7]=s+r.height/i.height,n=r.x,s=r.y,this.vertices[0]=n,this.vertices[1]=s,this.vertices[2]=n+r.width,this.vertices[3]=s,this.vertices[4]=n+r.width,this.vertices[5]=s+r.height,this.vertices[6]=n,this.vertices[7]=s+r.height,this.invalidate(),this},t.prototype.invalidate=function(){return this.vertexBuffer._updateID++,this.uvBuffer._updateID++,this},t}(Fn),Wd=0,Pe=function(){function e(t,i,r){this.group=!0,this.syncUniforms={},this.dirtyId=0,this.id=Wd++,this.static=!!i,this.ubo=!!r,t instanceof yt?(this.buffer=t,this.buffer.type=St.UNIFORM_BUFFER,this.autoManage=!1,this.ubo=!0):(this.uniforms=t,this.ubo&&(this.buffer=new yt(new Float32Array(1)),this.buffer.type=St.UNIFORM_BUFFER,this.autoManage=!0))}return e.prototype.update=function(){this.dirtyId++,!this.autoManage&&this.buffer&&this.buffer.update()},e.prototype.add=function(t,i,r){if(!this.ubo)this.uniforms[t]=new e(i,r);else throw new Error("[UniformGroup] uniform groups in ubo mode cannot be modified, or have uniform groups nested in them")},e.from=function(t,i,r){return new e(t,i,r)},e.uboFrom=function(t,i){return new e(t,i??!0,!0)},e}(),Yd=function(){function e(){this.renderTexture=null,this.target=null,this.legacy=!1,this.resolution=1,this.multisample=Q.NONE,this.sourceFrame=new X,this.destinationFrame=new X,this.bindingSourceFrame=new X,this.bindingDestinationFrame=new X,this.filters=[],this.transform=null}return e.prototype.clear=function(){this.target=null,this.filters=null,this.renderTexture=null},e}(),rr=[new H,new H,new H,new H],kn=new Z,zd=function(){function e(t){this.renderer=t,this.defaultFilterStack=[{}],this.texturePool=new Fd,this.texturePool.setScreenSize(t.view),this.statePool=[],this.quad=new Gd,this.quadUv=new Hd,this.tempRect=new X,this.activeState={},this.globalUniforms=new Pe({outputFrame:new X,inputSize:new Float32Array(4),inputPixel:new Float32Array(4),inputClamp:new Float32Array(4),resolution:1,filterArea:new Float32Array(4),filterClamp:new Float32Array(4)},!0),this.forceClear=!1,this.useMaxPadding=!1}return e.prototype.push=function(t,i){for(var r,n,s=this.renderer,o=this.defaultFilterStack,a=this.statePool.pop()||new Yd,l=this.renderer.renderTexture,h=i[0].resolution,u=i[0].multisample,f=i[0].padding,p=i[0].autoFit,d=(r=i[0].legacy)!==null&&r!==void 0?r:!0,v=1;v<i.length;v++){var y=i[v];h=Math.min(h,y.resolution),u=Math.min(u,y.multisample),f=this.useMaxPadding?Math.max(f,y.padding):f+y.padding,p=p&&y.autoFit,d=d||((n=y.legacy)!==null&&n!==void 0?n:!0)}if(o.length===1&&(this.defaultFilterStack[0].renderTexture=l.current),o.push(a),a.resolution=h,a.multisample=u,a.legacy=d,a.target=t,a.sourceFrame.copyFrom(t.filterArea||t.getBounds(!0)),a.sourceFrame.pad(f),p){var m=this.tempRect.copyFrom(l.sourceFrame);s.projection.transform&&this.transformAABB(kn.copyFrom(s.projection.transform).invert(),m),a.sourceFrame.fit(m)}this.roundFrame(a.sourceFrame,l.current?l.current.resolution:s.resolution,l.sourceFrame,l.destinationFrame,s.projection.transform),a.renderTexture=this.getOptimalFilterTexture(a.sourceFrame.width,a.sourceFrame.height,h,u),a.filters=i,a.destinationFrame.width=a.renderTexture.width,a.destinationFrame.height=a.renderTexture.height;var g=this.tempRect;g.x=0,g.y=0,g.width=a.sourceFrame.width,g.height=a.sourceFrame.height,a.renderTexture.filterFrame=a.sourceFrame,a.bindingSourceFrame.copyFrom(l.sourceFrame),a.bindingDestinationFrame.copyFrom(l.destinationFrame),a.transform=s.projection.transform,s.projection.transform=null,l.bind(a.renderTexture,a.sourceFrame,g),s.framebuffer.clear(0,0,0,0)},e.prototype.pop=function(){var t=this.defaultFilterStack,i=t.pop(),r=i.filters;this.activeState=i;var n=this.globalUniforms.uniforms;n.outputFrame=i.sourceFrame,n.resolution=i.resolution;var s=n.inputSize,o=n.inputPixel,a=n.inputClamp;if(s[0]=i.destinationFrame.width,s[1]=i.destinationFrame.height,s[2]=1/s[0],s[3]=1/s[1],o[0]=Math.round(s[0]*i.resolution),o[1]=Math.round(s[1]*i.resolution),o[2]=1/o[0],o[3]=1/o[1],a[0]=.5*o[2],a[1]=.5*o[3],a[2]=i.sourceFrame.width*s[2]-.5*o[2],a[3]=i.sourceFrame.height*s[3]-.5*o[3],i.legacy){var l=n.filterArea;l[0]=i.destinationFrame.width,l[1]=i.destinationFrame.height,l[2]=i.sourceFrame.x,l[3]=i.sourceFrame.y,n.filterClamp=n.inputClamp}this.globalUniforms.update();var h=t[t.length-1];if(this.renderer.framebuffer.blit(),r.length===1)r[0].apply(this,i.renderTexture,h.renderTexture,Kt.BLEND,i),this.returnFilterTexture(i.renderTexture);else{var u=i.renderTexture,f=this.getOptimalFilterTexture(u.width,u.height,i.resolution);f.filterFrame=u.filterFrame;var p=0;for(p=0;p<r.length-1;++p){p===1&&i.multisample>1&&(f=this.getOptimalFilterTexture(u.width,u.height,i.resolution),f.filterFrame=u.filterFrame),r[p].apply(this,u,f,Kt.CLEAR,i);var d=u;u=f,f=d}r[p].apply(this,u,h.renderTexture,Kt.BLEND,i),p>1&&i.multisample>1&&this.returnFilterTexture(i.renderTexture),this.returnFilterTexture(u),this.returnFilterTexture(f)}i.clear(),this.statePool.push(i)},e.prototype.bindAndClear=function(t,i){i===void 0&&(i=Kt.CLEAR);var r=this.renderer,n=r.renderTexture,s=r.state;if(t===this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?this.renderer.projection.transform=this.activeState.transform:this.renderer.projection.transform=null,t&&t.filterFrame){var o=this.tempRect;o.x=0,o.y=0,o.width=t.filterFrame.width,o.height=t.filterFrame.height,n.bind(t,t.filterFrame,o)}else t!==this.defaultFilterStack[this.defaultFilterStack.length-1].renderTexture?n.bind(t):this.renderer.renderTexture.bind(t,this.activeState.bindingSourceFrame,this.activeState.bindingDestinationFrame);var a=s.stateId&1||this.forceClear;(i===Kt.CLEAR||i===Kt.BLIT&&a)&&this.renderer.framebuffer.clear(0,0,0,0)},e.prototype.applyFilter=function(t,i,r,n){var s=this.renderer;s.state.set(t.state),this.bindAndClear(r,n),t.uniforms.uSampler=i,t.uniforms.filterGlobals=this.globalUniforms,s.shader.bind(t),t.legacy=!!t.program.attributeData.aTextureCoord,t.legacy?(this.quadUv.map(i._frame,i.filterFrame),s.geometry.bind(this.quadUv),s.geometry.draw(Ut.TRIANGLES)):(s.geometry.bind(this.quad),s.geometry.draw(Ut.TRIANGLE_STRIP))},e.prototype.calculateSpriteMatrix=function(t,i){var r=this.activeState,n=r.sourceFrame,s=r.destinationFrame,o=i._texture.orig,a=t.set(s.width,0,0,s.height,n.x,n.y),l=i.worldTransform.copyTo(Z.TEMP_MATRIX);return l.invert(),a.prepend(l),a.scale(1/o.width,1/o.height),a.translate(i.anchor.x,i.anchor.y),a},e.prototype.destroy=function(){this.renderer=null,this.texturePool.clear(!1)},e.prototype.getOptimalFilterTexture=function(t,i,r,n){return r===void 0&&(r=1),n===void 0&&(n=Q.NONE),this.texturePool.getOptimalTexture(t,i,r,n)},e.prototype.getFilterTexture=function(t,i,r){if(typeof t=="number"){var n=t;t=i,i=n}t=t||this.activeState.renderTexture;var s=this.texturePool.getOptimalTexture(t.width,t.height,i||t.resolution,r||Q.NONE);return s.filterFrame=t.filterFrame,s},e.prototype.returnFilterTexture=function(t){this.texturePool.returnTexture(t)},e.prototype.emptyPool=function(){this.texturePool.clear(!0)},e.prototype.resize=function(){this.texturePool.setScreenSize(this.renderer.view)},e.prototype.transformAABB=function(t,i){var r=rr[0],n=rr[1],s=rr[2],o=rr[3];r.set(i.left,i.top),n.set(i.left,i.bottom),s.set(i.right,i.top),o.set(i.right,i.bottom),t.apply(r,r),t.apply(n,n),t.apply(s,s),t.apply(o,o);var a=Math.min(r.x,n.x,s.x,o.x),l=Math.min(r.y,n.y,s.y,o.y),h=Math.max(r.x,n.x,s.x,o.x),u=Math.max(r.y,n.y,s.y,o.y);i.x=a,i.y=l,i.width=h-a,i.height=u-l},e.prototype.roundFrame=function(t,i,r,n,s){if(!(t.width<=0||t.height<=0||r.width<=0||r.height<=0)){if(s){var o=s.a,a=s.b,l=s.c,h=s.d;if((Math.abs(a)>1e-4||Math.abs(l)>1e-4)&&(Math.abs(o)>1e-4||Math.abs(h)>1e-4))return}s=s?kn.copyFrom(s):kn.identity(),s.translate(-r.x,-r.y).scale(n.width/r.width,n.height/r.height).translate(n.x,n.y),this.transformAABB(s,t),t.ceil(i),this.transformAABB(s.invert(),t)}},e}(),Ea=function(){function e(t){this.renderer=t}return e.prototype.flush=function(){},e.prototype.destroy=function(){this.renderer=null},e.prototype.start=function(){},e.prototype.stop=function(){this.flush()},e.prototype.render=function(t){},e}(),Vd=function(){function e(t){this.renderer=t,this.emptyRenderer=new Ea(t),this.currentRenderer=this.emptyRenderer}return e.prototype.setObjectRenderer=function(t){this.currentRenderer!==t&&(this.currentRenderer.stop(),this.currentRenderer=t,this.currentRenderer.start())},e.prototype.flush=function(){this.setObjectRenderer(this.emptyRenderer)},e.prototype.reset=function(){this.setObjectRenderer(this.emptyRenderer)},e.prototype.copyBoundTextures=function(t,i){for(var r=this.renderer.texture.boundTextures,n=i-1;n>=0;--n)t[n]=r[n]||null,t[n]&&(t[n]._batchLocation=n)},e.prototype.boundArray=function(t,i,r,n){for(var s=t.elements,o=t.ids,a=t.count,l=0,h=0;h<a;h++){var u=s[h],f=u._batchLocation;if(f>=0&&f<n&&i[f]===u){o[h]=f;continue}for(;l<n;){var p=i[l];if(p&&p._batchEnabled===r&&p._batchLocation===l){l++;continue}o[h]=l,u._batchLocation=l,i[l]=u;break}}},e.prototype.destroy=function(){this.renderer=null},e}(),Aa=0,$d=function(){function e(t){this.renderer=t,this.webGLVersion=1,this.extensions={},this.supports={uint32Indices:!1},this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this),t.view.addEventListener("webglcontextlost",this.handleContextLost,!1),t.view.addEventListener("webglcontextrestored",this.handleContextRestored,!1)}return Object.defineProperty(e.prototype,"isLost",{get:function(){return!this.gl||this.gl.isContextLost()},enumerable:!1,configurable:!0}),e.prototype.contextChange=function(t){this.gl=t,this.renderer.gl=t,this.renderer.CONTEXT_UID=Aa++,t.isContextLost()&&t.getExtension("WEBGL_lose_context")&&t.getExtension("WEBGL_lose_context").restoreContext()},e.prototype.initFromContext=function(t){this.gl=t,this.validateContext(t),this.renderer.gl=t,this.renderer.CONTEXT_UID=Aa++,this.renderer.runners.contextChange.emit(t)},e.prototype.initFromOptions=function(t){var i=this.createContext(this.renderer.view,t);this.initFromContext(i)},e.prototype.createContext=function(t,i){var r;if(F.PREFER_ENV>=Bt.WEBGL2&&(r=t.getContext("webgl2",i)),r)this.webGLVersion=2;else if(this.webGLVersion=1,r=t.getContext("webgl",i)||t.getContext("experimental-webgl",i),!r)throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=r,this.getExtensions(),this.gl},e.prototype.getExtensions=function(){var t=this.gl,i={anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),s3tc:t.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:t.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:t.getExtension("WEBGL_compressed_texture_etc"),etc1:t.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:t.getExtension("WEBGL_compressed_texture_pvrtc")||t.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:t.getExtension("WEBGL_compressed_texture_atc"),astc:t.getExtension("WEBGL_compressed_texture_astc")};this.webGLVersion===1?Object.assign(this.extensions,i,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),loseContext:t.getExtension("WEBGL_lose_context"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):this.webGLVersion===2&&Object.assign(this.extensions,i,{colorBufferFloat:t.getExtension("EXT_color_buffer_float")})},e.prototype.handleContextLost=function(t){t.preventDefault()},e.prototype.handleContextRestored=function(){this.renderer.runners.contextChange.emit(this.gl)},e.prototype.destroy=function(){var t=this.renderer.view;this.renderer=null,t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()},e.prototype.postrender=function(){this.renderer.renderingToScreen&&this.gl.flush()},e.prototype.validateContext=function(t){var i=t.getContextAttributes(),r="WebGL2RenderingContext"in self&&t instanceof self.WebGL2RenderingContext;r&&(this.webGLVersion=2),i.stencil||console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");var n=r||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=n,n||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")},e}(),qd=function(){function e(t){this.framebuffer=t,this.stencil=null,this.dirtyId=-1,this.dirtyFormat=-1,this.dirtySize=-1,this.multisample=Q.NONE,this.msaaBuffer=null,this.blitFramebuffer=null,this.mipLevel=0}return e}(),jd=new X,Zd=function(){function e(t){this.renderer=t,this.managedFramebuffers=[],this.unknownFramebuffer=new Mn(10,10),this.msaaSamples=null}return e.prototype.contextChange=function(){var t=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new X,this.hasMRT=!0,this.writeDepthTexture=!0,this.disposeAll(!0),this.renderer.context.webGLVersion===1){var i=this.renderer.context.extensions.drawBuffers,r=this.renderer.context.extensions.depthTexture;F.PREFER_ENV===Bt.WEBGL_LEGACY&&(i=null,r=null),i?t.drawBuffers=function(n){return i.drawBuffersWEBGL(n)}:(this.hasMRT=!1,t.drawBuffers=function(){}),r||(this.writeDepthTexture=!1)}else this.msaaSamples=t.getInternalformatParameter(t.RENDERBUFFER,t.RGBA8,t.SAMPLES)},e.prototype.bind=function(t,i,r){r===void 0&&(r=0);var n=this.gl;if(t){var s=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,n.bindFramebuffer(n.FRAMEBUFFER,s.framebuffer)),s.mipLevel!==r&&(t.dirtyId++,t.dirtyFormat++,s.mipLevel=r),s.dirtyId!==t.dirtyId&&(s.dirtyId=t.dirtyId,s.dirtyFormat!==t.dirtyFormat?(s.dirtyFormat=t.dirtyFormat,s.dirtySize=t.dirtySize,this.updateFramebuffer(t,r)):s.dirtySize!==t.dirtySize&&(s.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(var o=0;o<t.colorTextures.length;o++){var a=t.colorTextures[o];this.renderer.texture.unbind(a.parentTextureArray||a)}if(t.depthTexture&&this.renderer.texture.unbind(t.depthTexture),i){var l=i.width>>r,h=i.height>>r,u=l/i.width;this.setViewport(i.x*u,i.y*u,l,h)}else{var l=t.width>>r,h=t.height>>r;this.setViewport(0,0,l,h)}}else this.current&&(this.current=null,n.bindFramebuffer(n.FRAMEBUFFER,null)),i?this.setViewport(i.x,i.y,i.width,i.height):this.setViewport(0,0,this.renderer.width,this.renderer.height)},e.prototype.setViewport=function(t,i,r,n){var s=this.viewport;t=Math.round(t),i=Math.round(i),r=Math.round(r),n=Math.round(n),(s.width!==r||s.height!==n||s.x!==t||s.y!==i)&&(s.x=t,s.y=i,s.width=r,s.height=n,this.gl.viewport(t,i,r,n))},Object.defineProperty(e.prototype,"size",{get:function(){return this.current?{x:0,y:0,width:this.current.width,height:this.current.height}:{x:0,y:0,width:this.renderer.width,height:this.renderer.height}},enumerable:!1,configurable:!0}),e.prototype.clear=function(t,i,r,n,s){s===void 0&&(s=Wi.COLOR|Wi.DEPTH);var o=this.gl;o.clearColor(t,i,r,n),o.clear(s)},e.prototype.initFramebuffer=function(t){var i=this.gl,r=new qd(i.createFramebuffer());return r.multisample=this.detectSamples(t.multisample),t.glFramebuffers[this.CONTEXT_UID]=r,this.managedFramebuffers.push(t),t.disposeRunner.add(this),r},e.prototype.resizeFramebuffer=function(t){var i=this.gl,r=t.glFramebuffers[this.CONTEXT_UID];r.msaaBuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,r.msaaBuffer),i.renderbufferStorageMultisample(i.RENDERBUFFER,r.multisample,i.RGBA8,t.width,t.height)),r.stencil&&(i.bindRenderbuffer(i.RENDERBUFFER,r.stencil),r.msaaBuffer?i.renderbufferStorageMultisample(i.RENDERBUFFER,r.multisample,i.DEPTH24_STENCIL8,t.width,t.height):i.renderbufferStorage(i.RENDERBUFFER,i.DEPTH_STENCIL,t.width,t.height));var n=t.colorTextures,s=n.length;i.drawBuffers||(s=Math.min(s,1));for(var o=0;o<s;o++){var a=n[o],l=a.parentTextureArray||a;this.renderer.texture.bind(l,0)}t.depthTexture&&this.writeDepthTexture&&this.renderer.texture.bind(t.depthTexture,0)},e.prototype.updateFramebuffer=function(t,i){var r=this.gl,n=t.glFramebuffers[this.CONTEXT_UID],s=t.colorTextures,o=s.length;r.drawBuffers||(o=Math.min(o,1)),n.multisample>1&&this.canMultisampleFramebuffer(t)?(n.msaaBuffer=n.msaaBuffer||r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,n.msaaBuffer),r.renderbufferStorageMultisample(r.RENDERBUFFER,n.multisample,r.RGBA8,t.width,t.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.RENDERBUFFER,n.msaaBuffer)):n.msaaBuffer&&(r.deleteRenderbuffer(n.msaaBuffer),n.msaaBuffer=null,n.blitFramebuffer&&(n.blitFramebuffer.dispose(),n.blitFramebuffer=null));for(var a=[],l=0;l<o;l++){var h=s[l],u=h.parentTextureArray||h;this.renderer.texture.bind(u,0),!(l===0&&n.msaaBuffer)&&(r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0+l,h.target,u._glTextures[this.CONTEXT_UID].texture,i),a.push(r.COLOR_ATTACHMENT0+l))}if(a.length>1&&r.drawBuffers(a),t.depthTexture){var f=this.writeDepthTexture;if(f){var p=t.depthTexture;this.renderer.texture.bind(p,0),r.framebufferTexture2D(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.TEXTURE_2D,p._glTextures[this.CONTEXT_UID].texture,i)}}(t.stencil||t.depth)&&!(t.depthTexture&&this.writeDepthTexture)?(n.stencil=n.stencil||r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,n.stencil),n.msaaBuffer?r.renderbufferStorageMultisample(r.RENDERBUFFER,n.multisample,r.DEPTH24_STENCIL8,t.width,t.height):r.renderbufferStorage(r.RENDERBUFFER,r.DEPTH_STENCIL,t.width,t.height),r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,n.stencil)):n.stencil&&(r.deleteRenderbuffer(n.stencil),n.stencil=null)},e.prototype.canMultisampleFramebuffer=function(t){return this.renderer.context.webGLVersion!==1&&t.colorTextures.length<=1&&!t.depthTexture},e.prototype.detectSamples=function(t){var i=this.msaaSamples,r=Q.NONE;if(t<=1||i===null)return r;for(var n=0;n<i.length;n++)if(i[n]<=t){r=i[n];break}return r===1&&(r=Q.NONE),r},e.prototype.blit=function(t,i,r){var n=this,s=n.current,o=n.renderer,a=n.gl,l=n.CONTEXT_UID;if(o.context.webGLVersion===2&&!!s){var h=s.glFramebuffers[l];if(!!h){if(!t){if(!h.msaaBuffer)return;var u=s.colorTextures[0];if(!u)return;h.blitFramebuffer||(h.blitFramebuffer=new Mn(s.width,s.height),h.blitFramebuffer.addColorTexture(0,u)),t=h.blitFramebuffer,t.colorTextures[0]!==u&&(t.colorTextures[0]=u,t.dirtyId++,t.dirtyFormat++),(t.width!==s.width||t.height!==s.height)&&(t.width=s.width,t.height=s.height,t.dirtyId++,t.dirtySize++)}i||(i=jd,i.width=s.width,i.height=s.height),r||(r=i);var f=i.width===r.width&&i.height===r.height;this.bind(t),a.bindFramebuffer(a.READ_FRAMEBUFFER,h.framebuffer),a.blitFramebuffer(i.x,i.y,i.width,i.height,r.x,r.y,r.width,r.height,a.COLOR_BUFFER_BIT,f?a.NEAREST:a.LINEAR)}}},e.prototype.disposeFramebuffer=function(t,i){var r=t.glFramebuffers[this.CONTEXT_UID],n=this.gl;if(!!r){delete t.glFramebuffers[this.CONTEXT_UID];var s=this.managedFramebuffers.indexOf(t);s>=0&&this.managedFramebuffers.splice(s,1),t.disposeRunner.remove(this),i||(n.deleteFramebuffer(r.framebuffer),r.msaaBuffer&&n.deleteRenderbuffer(r.msaaBuffer),r.stencil&&n.deleteRenderbuffer(r.stencil)),r.blitFramebuffer&&r.blitFramebuffer.dispose()}},e.prototype.disposeAll=function(t){var i=this.managedFramebuffers;this.managedFramebuffers=[];for(var r=0;r<i.length;r++)this.disposeFramebuffer(i[r],t)},e.prototype.forceStencil=function(){var t=this.current;if(!!t){var i=t.glFramebuffers[this.CONTEXT_UID];if(!(!i||i.stencil)){t.stencil=!0;var r=t.width,n=t.height,s=this.gl,o=s.createRenderbuffer();s.bindRenderbuffer(s.RENDERBUFFER,o),i.msaaBuffer?s.renderbufferStorageMultisample(s.RENDERBUFFER,i.multisample,s.DEPTH24_STENCIL8,r,n):s.renderbufferStorage(s.RENDERBUFFER,s.DEPTH_STENCIL,r,n),i.stencil=o,s.framebufferRenderbuffer(s.FRAMEBUFFER,s.DEPTH_STENCIL_ATTACHMENT,s.RENDERBUFFER,o)}}},e.prototype.reset=function(){this.current=this.unknownFramebuffer,this.viewport=new X},e.prototype.destroy=function(){this.renderer=null},e}(),Bn={5126:4,5123:2,5121:1},Jd=function(){function e(t){this.renderer=t,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0,this.canUseUInt32ElementIndex=!1,this.managedGeometries={}}return e.prototype.contextChange=function(){this.disposeAll(!0);var t=this.gl=this.renderer.gl,i=this.renderer.context;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,i.webGLVersion!==2){var r=this.renderer.context.extensions.vertexArrayObject;F.PREFER_ENV===Bt.WEBGL_LEGACY&&(r=null),r?(t.createVertexArray=function(){return r.createVertexArrayOES()},t.bindVertexArray=function(s){return r.bindVertexArrayOES(s)},t.deleteVertexArray=function(s){return r.deleteVertexArrayOES(s)}):(this.hasVao=!1,t.createVertexArray=function(){return null},t.bindVertexArray=function(){return null},t.deleteVertexArray=function(){return null})}if(i.webGLVersion!==2){var n=t.getExtension("ANGLE_instanced_arrays");n?(t.vertexAttribDivisor=function(s,o){return n.vertexAttribDivisorANGLE(s,o)},t.drawElementsInstanced=function(s,o,a,l,h){return n.drawElementsInstancedANGLE(s,o,a,l,h)},t.drawArraysInstanced=function(s,o,a,l){return n.drawArraysInstancedANGLE(s,o,a,l)}):this.hasInstance=!1}this.canUseUInt32ElementIndex=i.webGLVersion===2||!!i.extensions.uint32ElementIndex},e.prototype.bind=function(t,i){i=i||this.renderer.shader.shader;var r=this.gl,n=t.glVertexArrayObjects[this.CONTEXT_UID],s=!1;n||(this.managedGeometries[t.id]=t,t.disposeRunner.add(this),t.glVertexArrayObjects[this.CONTEXT_UID]=n={},s=!0);var o=n[i.program.id]||this.initGeometryVao(t,i,s);this._activeGeometry=t,this._activeVao!==o&&(this._activeVao=o,this.hasVao?r.bindVertexArray(o):this.activateVao(t,i.program)),this.updateBuffers()},e.prototype.reset=function(){this.unbind()},e.prototype.updateBuffers=function(){for(var t=this._activeGeometry,i=this.renderer.buffer,r=0;r<t.buffers.length;r++){var n=t.buffers[r];i.update(n)}},e.prototype.checkCompatibility=function(t,i){var r=t.attributes,n=i.attributeData;for(var s in n)if(!r[s])throw new Error('shader and geometry incompatible, geometry missing the "'+s+'" attribute')},e.prototype.getSignature=function(t,i){var r=t.attributes,n=i.attributeData,s=["g",t.id];for(var o in r)n[o]&&s.push(o,n[o].location);return s.join("-")},e.prototype.initGeometryVao=function(t,i,r){r===void 0&&(r=!0);var n=this.gl,s=this.CONTEXT_UID,o=this.renderer.buffer,a=i.program;a.glPrograms[s]||this.renderer.shader.generateProgram(i),this.checkCompatibility(t,a);var l=this.getSignature(t,a),h=t.glVertexArrayObjects[this.CONTEXT_UID],u=h[l];if(u)return h[a.id]=u,u;var f=t.buffers,p=t.attributes,d={},v={};for(var y in f)d[y]=0,v[y]=0;for(var y in p)!p[y].size&&a.attributeData[y]?p[y].size=a.attributeData[y].size:p[y].size||console.warn("PIXI Geometry attribute '"+y+"' size cannot be determined (likely the bound shader does not have the attribute)"),d[p[y].buffer]+=p[y].size*Bn[p[y].type];for(var y in p){var m=p[y],g=m.size;m.stride===void 0&&(d[m.buffer]===g*Bn[m.type]?m.stride=0:m.stride=d[m.buffer]),m.start===void 0&&(m.start=v[m.buffer],v[m.buffer]+=g*Bn[m.type])}u=n.createVertexArray(),n.bindVertexArray(u);for(var w=0;w<f.length;w++){var _=f[w];o.bind(_),r&&_._glBuffers[s].refCount++}return this.activateVao(t,a),this._activeVao=u,h[a.id]=u,h[l]=u,u},e.prototype.disposeGeometry=function(t,i){var r;if(!!this.managedGeometries[t.id]){delete this.managedGeometries[t.id];var n=t.glVertexArrayObjects[this.CONTEXT_UID],s=this.gl,o=t.buffers,a=(r=this.renderer)===null||r===void 0?void 0:r.buffer;if(t.disposeRunner.remove(this),!!n){if(a)for(var l=0;l<o.length;l++){var h=o[l]._glBuffers[this.CONTEXT_UID];h&&(h.refCount--,h.refCount===0&&!i&&a.dispose(o[l],i))}if(!i){for(var u in n)if(u[0]==="g"){var f=n[u];this._activeVao===f&&this.unbind(),s.deleteVertexArray(f)}}delete t.glVertexArrayObjects[this.CONTEXT_UID]}}},e.prototype.disposeAll=function(t){for(var i=Object.keys(this.managedGeometries),r=0;r<i.length;r++)this.disposeGeometry(this.managedGeometries[i[r]],t)},e.prototype.activateVao=function(t,i){var r=this.gl,n=this.CONTEXT_UID,s=this.renderer.buffer,o=t.buffers,a=t.attributes;t.indexBuffer&&s.bind(t.indexBuffer);var l=null;for(var h in a){var u=a[h],f=o[u.buffer],p=f._glBuffers[n];if(i.attributeData[h]){l!==p&&(s.bind(f),l=p);var d=i.attributeData[h].location;if(r.enableVertexAttribArray(d),r.vertexAttribPointer(d,u.size,u.type||r.FLOAT,u.normalized,u.stride,u.start),u.instance)if(this.hasInstance)r.vertexAttribDivisor(d,1);else throw new Error("geometry error, GPU Instancing is not supported on this device")}}},e.prototype.draw=function(t,i,r,n){var s=this.gl,o=this._activeGeometry;if(o.indexBuffer){var a=o.indexBuffer.data.BYTES_PER_ELEMENT,l=a===2?s.UNSIGNED_SHORT:s.UNSIGNED_INT;a===2||a===4&&this.canUseUInt32ElementIndex?o.instanced?s.drawElementsInstanced(t,i||o.indexBuffer.data.length,l,(r||0)*a,n||1):s.drawElements(t,i||o.indexBuffer.data.length,l,(r||0)*a):console.warn("unsupported index buffer type: uint32")}else o.instanced?s.drawArraysInstanced(t,r,i||o.getSize(),n||1):s.drawArrays(t,r,i||o.getSize());return this},e.prototype.unbind=function(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null},e.prototype.destroy=function(){this.renderer=null},e}(),Kd=function(){function e(t){t===void 0&&(t=null),this.type=ht.NONE,this.autoDetect=!0,this.maskObject=t||null,this.pooled=!1,this.isMaskData=!0,this.resolution=null,this.multisample=F.FILTER_MULTISAMPLE,this.enabled=!0,this._filters=null,this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null,this._scissorRectLocal=null,this._target=null}return Object.defineProperty(e.prototype,"filter",{get:function(){return this._filters?this._filters[0]:null},set:function(t){t?this._filters?this._filters[0]=t:this._filters=[t]:this._filters=null},enumerable:!1,configurable:!0}),e.prototype.reset=function(){this.pooled&&(this.maskObject=null,this.type=ht.NONE,this.autoDetect=!0),this._target=null,this._scissorRectLocal=null},e.prototype.copyCountersOrReset=function(t){t?(this._stencilCounter=t._stencilCounter,this._scissorCounter=t._scissorCounter,this._scissorRect=t._scissorRect):(this._stencilCounter=0,this._scissorCounter=0,this._scissorRect=null)},e}();function Sa(e,t,i){var r=e.createShader(t);return e.shaderSource(r,i),e.compileShader(r),r}function Na(e,t){var i=e.getShaderSource(t).split(`
103
+ `).map(function(h,u){return u+": "+h}),r=e.getShaderInfoLog(t),n=r.split(`
104
+ `),s={},o=n.map(function(h){return parseFloat(h.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))}).filter(function(h){return h&&!s[h]?(s[h]=!0,!0):!1}),a=[""];o.forEach(function(h){i[h-1]="%c"+i[h-1]+"%c",a.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});var l=i.join(`
105
+ `);a[0]=l,console.error(r),console.groupCollapsed("click to view full shader code"),console.warn.apply(console,a),console.groupEnd()}function Qd(e,t,i,r){e.getProgramParameter(t,e.LINK_STATUS)||(e.getShaderParameter(i,e.COMPILE_STATUS)||Na(e,i),e.getShaderParameter(r,e.COMPILE_STATUS)||Na(e,r),console.error("PixiJS Error: Could not initialize shader."),e.getProgramInfoLog(t)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",e.getProgramInfoLog(t)))}function Un(e){for(var t=new Array(e),i=0;i<t.length;i++)t[i]=!1;return t}function La(e,t){switch(e){case"float":return 0;case"vec2":return new Float32Array(2*t);case"vec3":return new Float32Array(3*t);case"vec4":return new Float32Array(4*t);case"int":case"uint":case"sampler2D":case"sampler2DArray":return 0;case"ivec2":return new Int32Array(2*t);case"ivec3":return new Int32Array(3*t);case"ivec4":return new Int32Array(4*t);case"uvec2":return new Uint32Array(2*t);case"uvec3":return new Uint32Array(3*t);case"uvec4":return new Uint32Array(4*t);case"bool":return!1;case"bvec2":return Un(2*t);case"bvec3":return Un(3*t);case"bvec4":return Un(4*t);case"mat2":return new Float32Array([1,0,0,1]);case"mat3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var Oa={},mi=Oa;function tv(){if(mi===Oa||mi&&mi.isContextLost()){var e=document.createElement("canvas"),t=void 0;F.PREFER_ENV>=Bt.WEBGL2&&(t=e.getContext("webgl2",{})),t||(t=e.getContext("webgl",{})||e.getContext("experimental-webgl",{}),t?t.getExtension("WEBGL_draw_buffers"):t=null),mi=t}return mi}var nr;function ev(){if(!nr){nr=At.MEDIUM;var e=tv();if(e&&e.getShaderPrecisionFormat){var t=e.getShaderPrecisionFormat(e.FRAGMENT_SHADER,e.HIGH_FLOAT);nr=t.precision?At.HIGH:At.MEDIUM}}return nr}function Ra(e,t,i){if(e.substring(0,9)!=="precision"){var r=t;return t===At.HIGH&&i!==At.HIGH&&(r=At.MEDIUM),"precision "+r+` float;
106
+ `+e}else if(i!==At.HIGH&&e.substring(0,15)==="precision highp")return e.replace("precision highp","precision mediump");return e}var iv={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,uint:1,uvec2:2,uvec3:3,uvec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function Ma(e){return iv[e]}var sr=null,Fa={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",UNSIGNED_INT:"uint",UNSIGNED_INT_VEC2:"uvec2",UNSIGNED_INT_VEC3:"uvec3",UNSIGNED_INT_VEC4:"uvec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function ka(e,t){if(!sr){var i=Object.keys(Fa);sr={};for(var r=0;r<i.length;++r){var n=i[r];sr[e[n]]=Fa[n]}}return sr[t]}var We=[{test:function(e){return e.type==="float"&&e.size===1},code:function(e){return`
107
+ if(uv["`+e+'"] !== ud["'+e+`"].value)
108
+ {
109
+ ud["`+e+'"].value = uv["'+e+`"]
110
+ gl.uniform1f(ud["`+e+'"].location, uv["'+e+`"])
111
+ }
112
+ `}},{test:function(e){return(e.type==="sampler2D"||e.type==="samplerCube"||e.type==="sampler2DArray")&&e.size===1&&!e.isArray},code:function(e){return`t = syncData.textureCount++;
113
+
114
+ renderer.texture.bind(uv["`+e+`"], t);
115
+
116
+ if(ud["`+e+`"].value !== t)
117
+ {
118
+ ud["`+e+`"].value = t;
119
+ gl.uniform1i(ud["`+e+`"].location, t);
120
+ ; // eslint-disable-line max-len
121
+ }`}},{test:function(e,t){return e.type==="mat3"&&e.size===1&&t.a!==void 0},code:function(e){return`
122
+ gl.uniformMatrix3fv(ud["`+e+'"].location, false, uv["'+e+`"].toArray(true));
123
+ `},codeUbo:function(e){return`
124
+ var `+e+"_matrix = uv."+e+`.toArray(true);
125
+
126
+ data[offset] = `+e+`_matrix[0];
127
+ data[offset+1] = `+e+`_matrix[1];
128
+ data[offset+2] = `+e+`_matrix[2];
129
+
130
+ data[offset + 4] = `+e+`_matrix[3];
131
+ data[offset + 5] = `+e+`_matrix[4];
132
+ data[offset + 6] = `+e+`_matrix[5];
133
+
134
+ data[offset + 8] = `+e+`_matrix[6];
135
+ data[offset + 9] = `+e+`_matrix[7];
136
+ data[offset + 10] = `+e+`_matrix[8];
137
+ `}},{test:function(e,t){return e.type==="vec2"&&e.size===1&&t.x!==void 0},code:function(e){return`
138
+ cv = ud["`+e+`"].value;
139
+ v = uv["`+e+`"];
140
+
141
+ if(cv[0] !== v.x || cv[1] !== v.y)
142
+ {
143
+ cv[0] = v.x;
144
+ cv[1] = v.y;
145
+ gl.uniform2f(ud["`+e+`"].location, v.x, v.y);
146
+ }`},codeUbo:function(e){return`
147
+ v = uv.`+e+`;
148
+
149
+ data[offset] = v.x;
150
+ data[offset+1] = v.y;
151
+ `}},{test:function(e){return e.type==="vec2"&&e.size===1},code:function(e){return`
152
+ cv = ud["`+e+`"].value;
153
+ v = uv["`+e+`"];
154
+
155
+ if(cv[0] !== v[0] || cv[1] !== v[1])
156
+ {
157
+ cv[0] = v[0];
158
+ cv[1] = v[1];
159
+ gl.uniform2f(ud["`+e+`"].location, v[0], v[1]);
160
+ }
161
+ `}},{test:function(e,t){return e.type==="vec4"&&e.size===1&&t.width!==void 0},code:function(e){return`
162
+ cv = ud["`+e+`"].value;
163
+ v = uv["`+e+`"];
164
+
165
+ if(cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height)
166
+ {
167
+ cv[0] = v.x;
168
+ cv[1] = v.y;
169
+ cv[2] = v.width;
170
+ cv[3] = v.height;
171
+ gl.uniform4f(ud["`+e+`"].location, v.x, v.y, v.width, v.height)
172
+ }`},codeUbo:function(e){return`
173
+ v = uv.`+e+`;
174
+
175
+ data[offset] = v.x;
176
+ data[offset+1] = v.y;
177
+ data[offset+2] = v.width;
178
+ data[offset+3] = v.height;
179
+ `}},{test:function(e){return e.type==="vec4"&&e.size===1},code:function(e){return`
180
+ cv = ud["`+e+`"].value;
181
+ v = uv["`+e+`"];
182
+
183
+ if(cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
184
+ {
185
+ cv[0] = v[0];
186
+ cv[1] = v[1];
187
+ cv[2] = v[2];
188
+ cv[3] = v[3];
189
+
190
+ gl.uniform4f(ud["`+e+`"].location, v[0], v[1], v[2], v[3])
191
+ }`}}],rv={float:`
192
+ if (cv !== v)
193
+ {
194
+ cu.value = v;
195
+ gl.uniform1f(location, v);
196
+ }`,vec2:`
197
+ if (cv[0] !== v[0] || cv[1] !== v[1])
198
+ {
199
+ cv[0] = v[0];
200
+ cv[1] = v[1];
201
+
202
+ gl.uniform2f(location, v[0], v[1])
203
+ }`,vec3:`
204
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
205
+ {
206
+ cv[0] = v[0];
207
+ cv[1] = v[1];
208
+ cv[2] = v[2];
209
+
210
+ gl.uniform3f(location, v[0], v[1], v[2])
211
+ }`,vec4:`
212
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
213
+ {
214
+ cv[0] = v[0];
215
+ cv[1] = v[1];
216
+ cv[2] = v[2];
217
+ cv[3] = v[3];
218
+
219
+ gl.uniform4f(location, v[0], v[1], v[2], v[3]);
220
+ }`,int:`
221
+ if (cv !== v)
222
+ {
223
+ cu.value = v;
224
+
225
+ gl.uniform1i(location, v);
226
+ }`,ivec2:`
227
+ if (cv[0] !== v[0] || cv[1] !== v[1])
228
+ {
229
+ cv[0] = v[0];
230
+ cv[1] = v[1];
231
+
232
+ gl.uniform2i(location, v[0], v[1]);
233
+ }`,ivec3:`
234
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
235
+ {
236
+ cv[0] = v[0];
237
+ cv[1] = v[1];
238
+ cv[2] = v[2];
239
+
240
+ gl.uniform3i(location, v[0], v[1], v[2]);
241
+ }`,ivec4:`
242
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
243
+ {
244
+ cv[0] = v[0];
245
+ cv[1] = v[1];
246
+ cv[2] = v[2];
247
+ cv[3] = v[3];
248
+
249
+ gl.uniform4i(location, v[0], v[1], v[2], v[3]);
250
+ }`,uint:`
251
+ if (cv !== v)
252
+ {
253
+ cu.value = v;
254
+
255
+ gl.uniform1ui(location, v);
256
+ }`,uvec2:`
257
+ if (cv[0] !== v[0] || cv[1] !== v[1])
258
+ {
259
+ cv[0] = v[0];
260
+ cv[1] = v[1];
261
+
262
+ gl.uniform2ui(location, v[0], v[1]);
263
+ }`,uvec3:`
264
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
265
+ {
266
+ cv[0] = v[0];
267
+ cv[1] = v[1];
268
+ cv[2] = v[2];
269
+
270
+ gl.uniform3ui(location, v[0], v[1], v[2]);
271
+ }`,uvec4:`
272
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
273
+ {
274
+ cv[0] = v[0];
275
+ cv[1] = v[1];
276
+ cv[2] = v[2];
277
+ cv[3] = v[3];
278
+
279
+ gl.uniform4ui(location, v[0], v[1], v[2], v[3]);
280
+ }`,bool:`
281
+ if (cv !== v)
282
+ {
283
+ cu.value = v;
284
+ gl.uniform1i(location, v);
285
+ }`,bvec2:`
286
+ if (cv[0] != v[0] || cv[1] != v[1])
287
+ {
288
+ cv[0] = v[0];
289
+ cv[1] = v[1];
290
+
291
+ gl.uniform2i(location, v[0], v[1]);
292
+ }`,bvec3:`
293
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2])
294
+ {
295
+ cv[0] = v[0];
296
+ cv[1] = v[1];
297
+ cv[2] = v[2];
298
+
299
+ gl.uniform3i(location, v[0], v[1], v[2]);
300
+ }`,bvec4:`
301
+ if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3])
302
+ {
303
+ cv[0] = v[0];
304
+ cv[1] = v[1];
305
+ cv[2] = v[2];
306
+ cv[3] = v[3];
307
+
308
+ gl.uniform4i(location, v[0], v[1], v[2], v[3]);
309
+ }`,mat2:"gl.uniformMatrix2fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",sampler2D:"gl.uniform1i(location, v)",samplerCube:"gl.uniform1i(location, v)",sampler2DArray:"gl.uniform1i(location, v)"},nv={float:"gl.uniform1fv(location, v)",vec2:"gl.uniform2fv(location, v)",vec3:"gl.uniform3fv(location, v)",vec4:"gl.uniform4fv(location, v)",mat4:"gl.uniformMatrix4fv(location, false, v)",mat3:"gl.uniformMatrix3fv(location, false, v)",mat2:"gl.uniformMatrix2fv(location, false, v)",int:"gl.uniform1iv(location, v)",ivec2:"gl.uniform2iv(location, v)",ivec3:"gl.uniform3iv(location, v)",ivec4:"gl.uniform4iv(location, v)",uint:"gl.uniform1uiv(location, v)",uvec2:"gl.uniform2uiv(location, v)",uvec3:"gl.uniform3uiv(location, v)",uvec4:"gl.uniform4uiv(location, v)",bool:"gl.uniform1iv(location, v)",bvec2:"gl.uniform2iv(location, v)",bvec3:"gl.uniform3iv(location, v)",bvec4:"gl.uniform4iv(location, v)",sampler2D:"gl.uniform1iv(location, v)",samplerCube:"gl.uniform1iv(location, v)",sampler2DArray:"gl.uniform1iv(location, v)"};function sv(e,t){var i,r=[`
310
+ var v = null;
311
+ var cv = null;
312
+ var cu = null;
313
+ var t = 0;
314
+ var gl = renderer.gl;
315
+ `];for(var n in e.uniforms){var s=t[n];if(!s){!((i=e.uniforms[n])===null||i===void 0)&&i.group&&(e.uniforms[n].ubo?r.push(`
316
+ renderer.shader.syncUniformBufferGroup(uv.`+n+", '"+n+`');
317
+ `):r.push(`
318
+ renderer.shader.syncUniformGroup(uv.`+n+`, syncData);
319
+ `));continue}for(var o=e.uniforms[n],a=!1,l=0;l<We.length;l++)if(We[l].test(s,o)){r.push(We[l].code(n,o)),a=!0;break}if(!a){var h=s.size===1?rv:nv,u=h[s.type].replace("location",'ud["'+n+'"].location');r.push(`
320
+ cu = ud["`+n+`"];
321
+ cv = cu.value;
322
+ v = uv["`+n+`"];
323
+ `+u+";")}}return new Function("ud","uv","renderer","syncData",r.join(`
324
+ `))}var ov=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
325
+ `);function av(e){for(var t="",i=0;i<e;++i)i>0&&(t+=`
326
+ else `),i<e-1&&(t+="if(test == "+i+".0){}");return t}function lv(e,t){if(e===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");for(var i=t.createShader(t.FRAGMENT_SHADER);;){var r=ov.replace(/%forloop%/gi,av(e));if(t.shaderSource(i,r),t.compileShader(i),!t.getShaderParameter(i,t.COMPILE_STATUS))e=e/2|0;else break}return e}var yi;function hv(){if(typeof yi=="boolean")return yi;try{var e=new Function("param1","param2","param3","return param1[param2] === param3;");yi=e({a:"b"},"a","b")===!0}catch{yi=!1}return yi}var uv=`varying vec2 vTextureCoord;
327
+
328
+ uniform sampler2D uSampler;
329
+
330
+ void main(void){
331
+ gl_FragColor *= texture2D(uSampler, vTextureCoord);
332
+ }`,fv=`attribute vec2 aVertexPosition;
333
+ attribute vec2 aTextureCoord;
334
+
335
+ uniform mat3 projectionMatrix;
336
+
337
+ varying vec2 vTextureCoord;
338
+
339
+ void main(void){
340
+ gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
341
+ vTextureCoord = aTextureCoord;
342
+ }
343
+ `,cv=0,or={},Dn=function(){function e(t,i,r){r===void 0&&(r="pixi-shader"),this.id=cv++,this.vertexSrc=t||e.defaultVertexSrc,this.fragmentSrc=i||e.defaultFragmentSrc,this.vertexSrc=this.vertexSrc.trim(),this.fragmentSrc=this.fragmentSrc.trim(),this.vertexSrc.substring(0,8)!=="#version"&&(r=r.replace(/\s+/g,"-"),or[r]?(or[r]++,r+="-"+or[r]):or[r]=1,this.vertexSrc="#define SHADER_NAME "+r+`
344
+ `+this.vertexSrc,this.fragmentSrc="#define SHADER_NAME "+r+`
345
+ `+this.fragmentSrc,this.vertexSrc=Ra(this.vertexSrc,F.PRECISION_VERTEX,At.HIGH),this.fragmentSrc=Ra(this.fragmentSrc,F.PRECISION_FRAGMENT,ev())),this.glPrograms={},this.syncUniforms=null}return Object.defineProperty(e,"defaultVertexSrc",{get:function(){return fv},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultFragmentSrc",{get:function(){return uv},enumerable:!1,configurable:!0}),e.from=function(t,i,r){var n=t+i,s=xn[n];return s||(xn[n]=s=new e(t,i,r)),s},e}(),Xn=function(){function e(t,i){this.uniformBindCount=0,this.program=t,i?i instanceof Pe?this.uniformGroup=i:this.uniformGroup=new Pe(i):this.uniformGroup=new Pe({})}return e.prototype.checkUniformExists=function(t,i){if(i.uniforms[t])return!0;for(var r in i.uniforms){var n=i.uniforms[r];if(n.group&&this.checkUniformExists(t,n))return!0}return!1},e.prototype.destroy=function(){this.uniformGroup=null},Object.defineProperty(e.prototype,"uniforms",{get:function(){return this.uniformGroup.uniforms},enumerable:!1,configurable:!0}),e.from=function(t,i,r){var n=Dn.from(t,i);return new e(n,r)},e}(),Gn=0,Hn=1,Wn=2,Yn=3,zn=4,Vn=5,ar=function(){function e(){this.data=0,this.blendMode=b.NORMAL,this.polygonOffset=0,this.blend=!0,this.depthMask=!0}return Object.defineProperty(e.prototype,"blend",{get:function(){return!!(this.data&1<<Gn)},set:function(t){!!(this.data&1<<Gn)!==t&&(this.data^=1<<Gn)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"offsets",{get:function(){return!!(this.data&1<<Hn)},set:function(t){!!(this.data&1<<Hn)!==t&&(this.data^=1<<Hn)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"culling",{get:function(){return!!(this.data&1<<Wn)},set:function(t){!!(this.data&1<<Wn)!==t&&(this.data^=1<<Wn)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"depthTest",{get:function(){return!!(this.data&1<<Yn)},set:function(t){!!(this.data&1<<Yn)!==t&&(this.data^=1<<Yn)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"depthMask",{get:function(){return!!(this.data&1<<Vn)},set:function(t){!!(this.data&1<<Vn)!==t&&(this.data^=1<<Vn)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"clockwiseFrontFace",{get:function(){return!!(this.data&1<<zn)},set:function(t){!!(this.data&1<<zn)!==t&&(this.data^=1<<zn)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"blendMode",{get:function(){return this._blendMode},set:function(t){this.blend=t!==b.NONE,this._blendMode=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"polygonOffset",{get:function(){return this._polygonOffset},set:function(t){this.offsets=!!t,this._polygonOffset=t},enumerable:!1,configurable:!0}),e.prototype.toString=function(){return"[@pixi/core:State "+("blendMode="+this.blendMode+" ")+("clockwiseFrontFace="+this.clockwiseFrontFace+" ")+("culling="+this.culling+" ")+("depthMask="+this.depthMask+" ")+("polygonOffset="+this.polygonOffset)+"]"},e.for2d=function(){var t=new e;return t.depthTest=!1,t.blend=!0,t},e}(),pv=`attribute vec2 aVertexPosition;
346
+
347
+ uniform mat3 projectionMatrix;
348
+
349
+ varying vec2 vTextureCoord;
350
+
351
+ uniform vec4 inputSize;
352
+ uniform vec4 outputFrame;
353
+
354
+ vec4 filterVertexPosition( void )
355
+ {
356
+ vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
357
+
358
+ return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
359
+ }
360
+
361
+ vec2 filterTextureCoord( void )
362
+ {
363
+ return aVertexPosition * (outputFrame.zw * inputSize.zw);
364
+ }
365
+
366
+ void main(void)
367
+ {
368
+ gl_Position = filterVertexPosition();
369
+ vTextureCoord = filterTextureCoord();
370
+ }
371
+ `,dv=`varying vec2 vTextureCoord;
372
+
373
+ uniform sampler2D uSampler;
374
+
375
+ void main(void){
376
+ gl_FragColor = texture2D(uSampler, vTextureCoord);
377
+ }
378
+ `,Ba=function(e){W(t,e);function t(i,r,n){var s=this,o=Dn.from(i||t.defaultVertexSrc,r||t.defaultFragmentSrc);return s=e.call(this,o,n)||this,s.padding=0,s.resolution=F.FILTER_RESOLUTION,s.multisample=F.FILTER_MULTISAMPLE,s.enabled=!0,s.autoFit=!0,s.state=new ar,s}return t.prototype.apply=function(i,r,n,s,o){i.applyFilter(this,r,n,s)},Object.defineProperty(t.prototype,"blendMode",{get:function(){return this.state.blendMode},set:function(i){this.state.blendMode=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"resolution",{get:function(){return this._resolution},set:function(i){this._resolution=i},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultVertexSrc",{get:function(){return pv},enumerable:!1,configurable:!0}),Object.defineProperty(t,"defaultFragmentSrc",{get:function(){return dv},enumerable:!1,configurable:!0}),t}(Xn),vv=`attribute vec2 aVertexPosition;
379
+ attribute vec2 aTextureCoord;
380
+
381
+ uniform mat3 projectionMatrix;
382
+ uniform mat3 otherMatrix;
383
+
384
+ varying vec2 vMaskCoord;
385
+ varying vec2 vTextureCoord;
386
+
387
+ void main(void)
388
+ {
389
+ gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
390
+
391
+ vTextureCoord = aTextureCoord;
392
+ vMaskCoord = ( otherMatrix * vec3( aTextureCoord, 1.0) ).xy;
393
+ }
394
+ `,mv=`varying vec2 vMaskCoord;
395
+ varying vec2 vTextureCoord;
396
+
397
+ uniform sampler2D uSampler;
398
+ uniform sampler2D mask;
399
+ uniform float alpha;
400
+ uniform float npmAlpha;
401
+ uniform vec4 maskClamp;
402
+
403
+ void main(void)
404
+ {
405
+ float clip = step(3.5,
406
+ step(maskClamp.x, vMaskCoord.x) +
407
+ step(maskClamp.y, vMaskCoord.y) +
408
+ step(vMaskCoord.x, maskClamp.z) +
409
+ step(vMaskCoord.y, maskClamp.w));
410
+
411
+ vec4 original = texture2D(uSampler, vTextureCoord);
412
+ vec4 masky = texture2D(mask, vMaskCoord);
413
+ float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);
414
+
415
+ original *= (alphaMul * masky.r * alpha * clip);
416
+
417
+ gl_FragColor = original;
418
+ }
419
+ `,Ua=new Z,yv=function(){function e(t,i){this._texture=t,this.mapCoord=new Z,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,this.clampMargin=typeof i>"u"?.5:i,this.isSimple=!1}return Object.defineProperty(e.prototype,"texture",{get:function(){return this._texture},set:function(t){this._texture=t,this._textureID=-1},enumerable:!1,configurable:!0}),e.prototype.multiplyUvs=function(t,i){i===void 0&&(i=t);for(var r=this.mapCoord,n=0;n<t.length;n+=2){var s=t[n],o=t[n+1];i[n]=s*r.a+o*r.c+r.tx,i[n+1]=s*r.b+o*r.d+r.ty}return i},e.prototype.update=function(t){var i=this._texture;if(!i||!i.valid||!t&&this._textureID===i._updateID)return!1;this._textureID=i._updateID,this._updateID++;var r=i._uvs;this.mapCoord.set(r.x1-r.x0,r.y1-r.y0,r.x3-r.x0,r.y3-r.y0,r.x0,r.y0);var n=i.orig,s=i.trim;s&&(Ua.set(n.width/s.width,0,0,n.height/s.height,-s.x/s.width,-s.y/s.height),this.mapCoord.append(Ua));var o=i.baseTexture,a=this.uClampFrame,l=this.clampMargin/o.resolution,h=this.clampOffset;return a[0]=(i._frame.x+l+h)/o.width,a[1]=(i._frame.y+l+h)/o.height,a[2]=(i._frame.x+i._frame.width-l+h)/o.width,a[3]=(i._frame.y+i._frame.height-l+h)/o.height,this.uClampOffset[0]=h/o.realWidth,this.uClampOffset[1]=h/o.realHeight,this.isSimple=i._frame.width===o.width&&i._frame.height===o.height&&i.rotate===0,!0},e}(),gv=function(e){W(t,e);function t(i,r,n){var s=this,o=null;return typeof i!="string"&&r===void 0&&n===void 0&&(o=i,i=void 0,r=void 0,n=void 0),s=e.call(this,i||vv,r||mv,n)||this,s.maskSprite=o,s.maskMatrix=new Z,s}return Object.defineProperty(t.prototype,"maskSprite",{get:function(){return this._maskSprite},set:function(i){this._maskSprite=i,this._maskSprite&&(this._maskSprite.renderable=!1)},enumerable:!1,configurable:!0}),t.prototype.apply=function(i,r,n,s){var o=this._maskSprite,a=o._texture;!a.valid||(a.uvMatrix||(a.uvMatrix=new yv(a,0)),a.uvMatrix.update(),this.uniforms.npmAlpha=a.baseTexture.alphaMode?0:1,this.uniforms.mask=a,this.uniforms.otherMatrix=i.calculateSpriteMatrix(this.maskMatrix,o).prepend(a.uvMatrix.mapCoord),this.uniforms.alpha=o.worldAlpha,this.uniforms.maskClamp=a.uvMatrix.uClampFrame,i.applyFilter(this,r,n,s))},t}(Ba),_v=function(){function e(t){this.renderer=t,this.enableScissor=!0,this.alphaMaskPool=[],this.maskDataPool=[],this.maskStack=[],this.alphaMaskIndex=0}return e.prototype.setMaskStack=function(t){this.maskStack=t,this.renderer.scissor.setMaskStack(t),this.renderer.stencil.setMaskStack(t)},e.prototype.push=function(t,i){var r=i;if(!r.isMaskData){var n=this.maskDataPool.pop()||new Kd;n.pooled=!0,n.maskObject=i,r=n}var s=this.maskStack.length!==0?this.maskStack[this.maskStack.length-1]:null;if(r.copyCountersOrReset(s),r.autoDetect&&this.detect(r),r._target=t,r.type!==ht.SPRITE&&this.maskStack.push(r),r.enabled)switch(r.type){case ht.SCISSOR:this.renderer.scissor.push(r);break;case ht.STENCIL:this.renderer.stencil.push(r);break;case ht.SPRITE:r.copyCountersOrReset(null),this.pushSpriteMask(r);break}r.type===ht.SPRITE&&this.maskStack.push(r)},e.prototype.pop=function(t){var i=this.maskStack.pop();if(!(!i||i._target!==t)){if(i.enabled)switch(i.type){case ht.SCISSOR:this.renderer.scissor.pop();break;case ht.STENCIL:this.renderer.stencil.pop(i.maskObject);break;case ht.SPRITE:this.popSpriteMask(i);break}if(i.reset(),i.pooled&&this.maskDataPool.push(i),this.maskStack.length!==0){var r=this.maskStack[this.maskStack.length-1];r.type===ht.SPRITE&&r._filters&&(r._filters[0].maskSprite=r.maskObject)}}},e.prototype.detect=function(t){var i=t.maskObject;i.isSprite?t.type=ht.SPRITE:this.enableScissor&&this.renderer.scissor.testScissor(t)?t.type=ht.SCISSOR:t.type=ht.STENCIL},e.prototype.pushSpriteMask=function(t){var i,r,n=t.maskObject,s=t._target,o=t._filters;o||(o=this.alphaMaskPool[this.alphaMaskIndex],o||(o=this.alphaMaskPool[this.alphaMaskIndex]=[new gv]));var a=this.renderer,l=a.renderTexture,h,u;if(l.current){var f=l.current;h=t.resolution||f.resolution,u=(i=t.multisample)!==null&&i!==void 0?i:f.multisample}else h=t.resolution||a.resolution,u=(r=t.multisample)!==null&&r!==void 0?r:a.multisample;o[0].resolution=h,o[0].multisample=u,o[0].maskSprite=n;var p=s.filterArea;s.filterArea=n.getBounds(!0),a.filter.push(s,o),s.filterArea=p,t._filters||this.alphaMaskIndex++},e.prototype.popSpriteMask=function(t){this.renderer.filter.pop(),t._filters?t._filters[0].maskSprite=null:(this.alphaMaskIndex--,this.alphaMaskPool[this.alphaMaskIndex][0].maskSprite=null)},e.prototype.destroy=function(){this.renderer=null},e}(),Da=function(){function e(t){this.renderer=t,this.maskStack=[],this.glConst=0}return e.prototype.getStackLength=function(){return this.maskStack.length},e.prototype.setMaskStack=function(t){var i=this.renderer.gl,r=this.getStackLength();this.maskStack=t;var n=this.getStackLength();n!==r&&(n===0?i.disable(this.glConst):(i.enable(this.glConst),this._useCurrent()))},e.prototype._useCurrent=function(){},e.prototype.destroy=function(){this.renderer=null,this.maskStack=null},e}(),Xa=new Z,xv=function(e){W(t,e);function t(i){var r=e.call(this,i)||this;return r.glConst=WebGLRenderingContext.SCISSOR_TEST,r}return t.prototype.getStackLength=function(){var i=this.maskStack[this.maskStack.length-1];return i?i._scissorCounter:0},t.prototype.calcScissorRect=function(i){if(!i._scissorRectLocal){var r=i._scissorRect,n=i.maskObject,s=this.renderer,o=s.renderTexture;n.renderable=!0;var a=n.getBounds();this.roundFrameToPixels(a,o.current?o.current.resolution:s.resolution,o.sourceFrame,o.destinationFrame,s.projection.transform),n.renderable=!1,r&&a.fit(r),i._scissorRectLocal=a}},t.isMatrixRotated=function(i){if(!i)return!1;var r=i.a,n=i.b,s=i.c,o=i.d;return(Math.abs(n)>1e-4||Math.abs(s)>1e-4)&&(Math.abs(r)>1e-4||Math.abs(o)>1e-4)},t.prototype.testScissor=function(i){var r=i.maskObject;if(!r.isFastRect||!r.isFastRect()||t.isMatrixRotated(r.worldTransform)||t.isMatrixRotated(this.renderer.projection.transform))return!1;this.calcScissorRect(i);var n=i._scissorRectLocal;return n.width>0&&n.height>0},t.prototype.roundFrameToPixels=function(i,r,n,s,o){t.isMatrixRotated(o)||(o=o?Xa.copyFrom(o):Xa.identity(),o.translate(-n.x,-n.y).scale(s.width/n.width,s.height/n.height).translate(s.x,s.y),this.renderer.filter.transformAABB(o,i),i.fit(s),i.x=Math.round(i.x*r),i.y=Math.round(i.y*r),i.width=Math.round(i.width*r),i.height=Math.round(i.height*r))},t.prototype.push=function(i){i._scissorRectLocal||this.calcScissorRect(i);var r=this.renderer.gl;i._scissorRect||r.enable(r.SCISSOR_TEST),i._scissorCounter++,i._scissorRect=i._scissorRectLocal,this._useCurrent()},t.prototype.pop=function(){var i=this.renderer.gl;this.getStackLength()>0?this._useCurrent():i.disable(i.SCISSOR_TEST)},t.prototype._useCurrent=function(){var i=this.maskStack[this.maskStack.length-1]._scissorRect,r;this.renderer.renderTexture.current?r=i.y:r=this.renderer.height-i.height-i.y,this.renderer.gl.scissor(i.x,r,i.width,i.height)},t}(Da),wv=function(e){W(t,e);function t(i){var r=e.call(this,i)||this;return r.glConst=WebGLRenderingContext.STENCIL_TEST,r}return t.prototype.getStackLength=function(){var i=this.maskStack[this.maskStack.length-1];return i?i._stencilCounter:0},t.prototype.push=function(i){var r=i.maskObject,n=this.renderer.gl,s=i._stencilCounter;s===0&&(this.renderer.framebuffer.forceStencil(),n.clearStencil(0),n.clear(n.STENCIL_BUFFER_BIT),n.enable(n.STENCIL_TEST)),i._stencilCounter++,n.colorMask(!1,!1,!1,!1),n.stencilFunc(n.EQUAL,s,4294967295),n.stencilOp(n.KEEP,n.KEEP,n.INCR),r.renderable=!0,r.render(this.renderer),this.renderer.batch.flush(),r.renderable=!1,this._useCurrent()},t.prototype.pop=function(i){var r=this.renderer.gl;this.getStackLength()===0?r.disable(r.STENCIL_TEST):(r.colorMask(!1,!1,!1,!1),r.stencilOp(r.KEEP,r.KEEP,r.DECR),i.renderable=!0,i.render(this.renderer),this.renderer.batch.flush(),i.renderable=!1,this._useCurrent())},t.prototype._useCurrent=function(){var i=this.renderer.gl;i.colorMask(!0,!0,!0,!0),i.stencilFunc(i.EQUAL,this.getStackLength(),4294967295),i.stencilOp(i.KEEP,i.KEEP,i.KEEP)},t}(Da),Pv=function(){function e(t){this.renderer=t,this.destinationFrame=null,this.sourceFrame=null,this.defaultFrame=null,this.projectionMatrix=new Z,this.transform=null}return e.prototype.update=function(t,i,r,n){this.destinationFrame=t||this.destinationFrame||this.defaultFrame,this.sourceFrame=i||this.sourceFrame||t,this.calculateProjection(this.destinationFrame,this.sourceFrame,r,n),this.transform&&this.projectionMatrix.append(this.transform);var s=this.renderer;s.globalUniforms.uniforms.projectionMatrix=this.projectionMatrix,s.globalUniforms.update(),s.shader.shader&&s.shader.syncUniformGroup(s.shader.shader.uniforms.globals)},e.prototype.calculateProjection=function(t,i,r,n){var s=this.projectionMatrix,o=n?-1:1;s.identity(),s.a=1/i.width*2,s.d=o*(1/i.height*2),s.tx=-1-i.x*s.a,s.ty=-o-i.y*s.d},e.prototype.setTransform=function(t){},e.prototype.destroy=function(){this.renderer=null},e}(),Te=new X,gi=new X,Tv=function(){function e(t){this.renderer=t,this.clearColor=t._backgroundColorRgba,this.defaultMaskStack=[],this.current=null,this.sourceFrame=new X,this.destinationFrame=new X,this.viewportFrame=new X}return e.prototype.bind=function(t,i,r){t===void 0&&(t=null);var n=this.renderer;this.current=t;var s,o,a;t?(s=t.baseTexture,a=s.resolution,i||(Te.width=t.frame.width,Te.height=t.frame.height,i=Te),r||(gi.x=t.frame.x,gi.y=t.frame.y,gi.width=i.width,gi.height=i.height,r=gi),o=s.framebuffer):(a=n.resolution,i||(Te.width=n.screen.width,Te.height=n.screen.height,i=Te),r||(r=Te,r.width=i.width,r.height=i.height));var l=this.viewportFrame;l.x=r.x*a,l.y=r.y*a,l.width=r.width*a,l.height=r.height*a,t||(l.y=n.view.height-(l.y+l.height)),l.ceil(),this.renderer.framebuffer.bind(o,l),this.renderer.projection.update(r,i,a,!o),t?this.renderer.mask.setMaskStack(s.maskStack):this.renderer.mask.setMaskStack(this.defaultMaskStack),this.sourceFrame.copyFrom(i),this.destinationFrame.copyFrom(r)},e.prototype.clear=function(t,i){this.current?t=t||this.current.baseTexture.clearColor:t=t||this.clearColor;var r=this.destinationFrame,n=this.current?this.current.baseTexture:this.renderer.screen,s=r.width!==n.width||r.height!==n.height;if(s){var o=this.viewportFrame,a=o.x,l=o.y,h=o.width,u=o.height;a=Math.round(a),l=Math.round(l),h=Math.round(h),u=Math.round(u),this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST),this.renderer.gl.scissor(a,l,h,u)}this.renderer.framebuffer.clear(t[0],t[1],t[2],t[3],i),s&&this.renderer.scissor.pop()},e.prototype.resize=function(){this.bind(null)},e.prototype.reset=function(){this.bind(null)},e.prototype.destroy=function(){this.renderer=null},e}();function bv(e,t,i,r,n){i.buffer.update(n)}var Iv={float:`
420
+ data[offset] = v;
421
+ `,vec2:`
422
+ data[offset] = v[0];
423
+ data[offset+1] = v[1];
424
+ `,vec3:`
425
+ data[offset] = v[0];
426
+ data[offset+1] = v[1];
427
+ data[offset+2] = v[2];
428
+
429
+ `,vec4:`
430
+ data[offset] = v[0];
431
+ data[offset+1] = v[1];
432
+ data[offset+2] = v[2];
433
+ data[offset+3] = v[3];
434
+ `,mat2:`
435
+ data[offset] = v[0];
436
+ data[offset+1] = v[1];
437
+
438
+ data[offset+4] = v[2];
439
+ data[offset+5] = v[3];
440
+ `,mat3:`
441
+ data[offset] = v[0];
442
+ data[offset+1] = v[1];
443
+ data[offset+2] = v[2];
444
+
445
+ data[offset + 4] = v[3];
446
+ data[offset + 5] = v[4];
447
+ data[offset + 6] = v[5];
448
+
449
+ data[offset + 8] = v[6];
450
+ data[offset + 9] = v[7];
451
+ data[offset + 10] = v[8];
452
+ `,mat4:`
453
+ for(var i = 0; i < 16; i++)
454
+ {
455
+ data[offset + i] = v[i];
456
+ }
457
+ `},Ga={float:4,vec2:8,vec3:12,vec4:16,int:4,ivec2:8,ivec3:12,ivec4:16,uint:4,uvec2:8,uvec3:12,uvec4:16,bool:4,bvec2:8,bvec3:12,bvec4:16,mat2:16*2,mat3:16*3,mat4:16*4};function Cv(e){for(var t=e.map(function(l){return{data:l,offset:0,dataLen:0,dirty:0}}),i=0,r=0,n=0,s=0;s<t.length;s++){var o=t[s];if(i=Ga[o.data.type],o.data.size>1&&(i=Math.max(i,16)*o.data.size),o.dataLen=i,r%i!==0&&r<16){var a=r%i%16;r+=a,n+=a}r+i>16?(n=Math.ceil(n/16)*16,o.offset=n,n+=i,r=i):(o.offset=n,r+=i,n+=i)}return n=Math.ceil(n/16)*16,{uboElements:t,size:n}}function Ev(e,t){var i=[];for(var r in e)t[r]&&i.push(t[r]);return i.sort(function(n,s){return n.index-s.index}),i}function Av(e,t){if(!e.autoManage)return{size:0,syncFunc:bv};for(var i=Ev(e.uniforms,t),r=Cv(i),n=r.uboElements,s=r.size,o=[`
458
+ var v = null;
459
+ var v2 = null;
460
+ var cv = null;
461
+ var t = 0;
462
+ var gl = renderer.gl
463
+ var index = 0;
464
+ var data = buffer.data;
465
+ `],a=0;a<n.length;a++){for(var l=n[a],h=e.uniforms[l.data.name],u=l.data.name,f=!1,p=0;p<We.length;p++){var d=We[p];if(d.codeUbo&&d.test(l.data,h)){o.push("offset = "+l.offset/4+";",We[p].codeUbo(l.data.name,h)),f=!0;break}}if(!f)if(l.data.size>1){var v=Ma(l.data.type),y=Math.max(Ga[l.data.type]/16,1),m=v/y,g=(4-m%4)%4;o.push(`
466
+ cv = ud.`+u+`.value;
467
+ v = uv.`+u+`;
468
+ offset = `+l.offset/4+`;
469
+
470
+ t = 0;
471
+
472
+ for(var i=0; i < `+l.data.size*y+`; i++)
473
+ {
474
+ for(var j = 0; j < `+m+`; j++)
475
+ {
476
+ data[offset++] = v[t++];
477
+ }
478
+ offset += `+g+`;
479
+ }
480
+
481
+ `)}else{var w=Iv[l.data.type];o.push(`
482
+ cv = ud.`+u+`.value;
483
+ v = uv.`+u+`;
484
+ offset = `+l.offset/4+`;
485
+ `+w+`;
486
+ `)}}return o.push(`
487
+ renderer.buffer.update(buffer);
488
+ `),{size:s,syncFunc:new Function("ud","uv","renderer","syncData","buffer",o.join(`
489
+ `))}}var Sv=function(){function e(t,i){this.program=t,this.uniformData=i,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBufferBindings={}}return e.prototype.destroy=function(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBufferBindings=null,this.program=null},e}();function Nv(e,t){for(var i={},r=t.getProgramParameter(e,t.ACTIVE_ATTRIBUTES),n=0;n<r;n++){var s=t.getActiveAttrib(e,n);if(s.name.indexOf("gl_")!==0){var o=ka(t,s.type),a={type:o,name:s.name,size:Ma(o),location:t.getAttribLocation(e,s.name)};i[s.name]=a}}return i}function Lv(e,t){for(var i={},r=t.getProgramParameter(e,t.ACTIVE_UNIFORMS),n=0;n<r;n++){var s=t.getActiveUniform(e,n),o=s.name.replace(/\[.*?\]$/,""),a=!!s.name.match(/\[.*?\]$/),l=ka(t,s.type);i[o]={name:o,index:n,type:l,size:s.size,isArray:a,value:La(l,s.size)}}return i}function Ov(e,t){var i=Sa(e,e.VERTEX_SHADER,t.vertexSrc),r=Sa(e,e.FRAGMENT_SHADER,t.fragmentSrc),n=e.createProgram();if(e.attachShader(n,i),e.attachShader(n,r),e.linkProgram(n),e.getProgramParameter(n,e.LINK_STATUS)||Qd(e,n,i,r),t.attributeData=Nv(n,e),t.uniformData=Lv(n,e),!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(t.vertexSrc)){var s=Object.keys(t.attributeData);s.sort(function(u,f){return u>f?1:-1});for(var o=0;o<s.length;o++)t.attributeData[s[o]].location=o,e.bindAttribLocation(n,o,s[o]);e.linkProgram(n)}e.deleteShader(i),e.deleteShader(r);var a={};for(var o in t.uniformData){var l=t.uniformData[o];a[o]={location:e.getUniformLocation(n,o),value:La(l.type,l.size)}}var h=new Sv(n,a);return h}var Rv=0,lr={textureCount:0,uboCount:0},Ha=function(){function e(t){this.destroyed=!1,this.renderer=t,this.systemCheck(),this.gl=null,this.shader=null,this.program=null,this.cache={},this._uboCache={},this.id=Rv++}return e.prototype.systemCheck=function(){if(!hv())throw new Error("Current environment does not allow unsafe-eval, please use @pixi/unsafe-eval module to enable support.")},e.prototype.contextChange=function(t){this.gl=t,this.reset()},e.prototype.bind=function(t,i){t.uniforms.globals=this.renderer.globalUniforms;var r=t.program,n=r.glPrograms[this.renderer.CONTEXT_UID]||this.generateProgram(t);return this.shader=t,this.program!==r&&(this.program=r,this.gl.useProgram(n.program)),i||(lr.textureCount=0,lr.uboCount=0,this.syncUniformGroup(t.uniformGroup,lr)),n},e.prototype.setUniforms=function(t){var i=this.shader.program,r=i.glPrograms[this.renderer.CONTEXT_UID];i.syncUniforms(r.uniformData,t,this.renderer)},e.prototype.syncUniformGroup=function(t,i){var r=this.getGlProgram();(!t.static||t.dirtyId!==r.uniformDirtyGroups[t.id])&&(r.uniformDirtyGroups[t.id]=t.dirtyId,this.syncUniforms(t,r,i))},e.prototype.syncUniforms=function(t,i,r){var n=t.syncUniforms[this.shader.program.id]||this.createSyncGroups(t);n(i.uniformData,t.uniforms,this.renderer,r)},e.prototype.createSyncGroups=function(t){var i=this.getSignature(t,this.shader.program.uniformData,"u");return this.cache[i]||(this.cache[i]=sv(t,this.shader.program.uniformData)),t.syncUniforms[this.shader.program.id]=this.cache[i],t.syncUniforms[this.shader.program.id]},e.prototype.syncUniformBufferGroup=function(t,i){var r=this.getGlProgram();if(!t.static||t.dirtyId!==0||!r.uniformGroups[t.id]){t.dirtyId=0;var n=r.uniformGroups[t.id]||this.createSyncBufferGroup(t,r,i);t.buffer.update(),n(r.uniformData,t.uniforms,this.renderer,lr,t.buffer)}this.renderer.buffer.bindBufferBase(t.buffer,r.uniformBufferBindings[i])},e.prototype.createSyncBufferGroup=function(t,i,r){var n=this.renderer.gl;this.renderer.buffer.bind(t.buffer);var s=this.gl.getUniformBlockIndex(i.program,r);i.uniformBufferBindings[r]=this.shader.uniformBindCount,n.uniformBlockBinding(i.program,s,this.shader.uniformBindCount),this.shader.uniformBindCount++;var o=this.getSignature(t,this.shader.program.uniformData,"ubo"),a=this._uboCache[o];if(a||(a=this._uboCache[o]=Av(t,this.shader.program.uniformData)),t.autoManage){var l=new Float32Array(a.size/4);t.buffer.update(l)}return i.uniformGroups[t.id]=a.syncFunc,i.uniformGroups[t.id]},e.prototype.getSignature=function(t,i,r){var n=t.uniforms,s=[r+"-"];for(var o in n)s.push(o),i[o]&&s.push(i[o].type);return s.join("-")},e.prototype.getGlProgram=function(){return this.shader?this.shader.program.glPrograms[this.renderer.CONTEXT_UID]:null},e.prototype.generateProgram=function(t){var i=this.gl,r=t.program,n=Ov(i,r);return r.glPrograms[this.renderer.CONTEXT_UID]=n,n},e.prototype.reset=function(){this.program=null,this.shader=null},e.prototype.destroy=function(){this.renderer=null,this.destroyed=!0},e}();function Mv(e,t){return t===void 0&&(t=[]),t[b.NORMAL]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.ADD]=[e.ONE,e.ONE],t[b.MULTIPLY]=[e.DST_COLOR,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.SCREEN]=[e.ONE,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.OVERLAY]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.DARKEN]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.LIGHTEN]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.COLOR_DODGE]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.COLOR_BURN]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.HARD_LIGHT]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.SOFT_LIGHT]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.DIFFERENCE]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.EXCLUSION]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.HUE]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.SATURATION]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.COLOR]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.LUMINOSITY]=[e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.NONE]=[0,0],t[b.NORMAL_NPM]=[e.SRC_ALPHA,e.ONE_MINUS_SRC_ALPHA,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.ADD_NPM]=[e.SRC_ALPHA,e.ONE,e.ONE,e.ONE],t[b.SCREEN_NPM]=[e.SRC_ALPHA,e.ONE_MINUS_SRC_COLOR,e.ONE,e.ONE_MINUS_SRC_ALPHA],t[b.SRC_IN]=[e.DST_ALPHA,e.ZERO],t[b.SRC_OUT]=[e.ONE_MINUS_DST_ALPHA,e.ZERO],t[b.SRC_ATOP]=[e.DST_ALPHA,e.ONE_MINUS_SRC_ALPHA],t[b.DST_OVER]=[e.ONE_MINUS_DST_ALPHA,e.ONE],t[b.DST_IN]=[e.ZERO,e.SRC_ALPHA],t[b.DST_OUT]=[e.ZERO,e.ONE_MINUS_SRC_ALPHA],t[b.DST_ATOP]=[e.ONE_MINUS_DST_ALPHA,e.SRC_ALPHA],t[b.XOR]=[e.ONE_MINUS_DST_ALPHA,e.ONE_MINUS_SRC_ALPHA],t[b.SUBTRACT]=[e.ONE,e.ONE,e.ONE,e.ONE,e.FUNC_REVERSE_SUBTRACT,e.FUNC_ADD],t}var Fv=0,kv=1,Bv=2,Uv=3,Dv=4,Xv=5,Gv=function(){function e(){this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode=b.NONE,this._blendEq=!1,this.map=[],this.map[Fv]=this.setBlend,this.map[kv]=this.setOffset,this.map[Bv]=this.setCullFace,this.map[Uv]=this.setDepthTest,this.map[Dv]=this.setFrontFace,this.map[Xv]=this.setDepthMask,this.checks=[],this.defaultState=new ar,this.defaultState.blend=!0}return e.prototype.contextChange=function(t){this.gl=t,this.blendModes=Mv(t),this.set(this.defaultState),this.reset()},e.prototype.set=function(t){if(t=t||this.defaultState,this.stateId!==t.data){for(var i=this.stateId^t.data,r=0;i;)i&1&&this.map[r].call(this,!!(t.data&1<<r)),i=i>>1,r++;this.stateId=t.data}for(var r=0;r<this.checks.length;r++)this.checks[r](this,t)},e.prototype.forceState=function(t){t=t||this.defaultState;for(var i=0;i<this.map.length;i++)this.map[i].call(this,!!(t.data&1<<i));for(var i=0;i<this.checks.length;i++)this.checks[i](this,t);this.stateId=t.data},e.prototype.setBlend=function(t){this.updateCheck(e.checkBlendMode,t),this.gl[t?"enable":"disable"](this.gl.BLEND)},e.prototype.setOffset=function(t){this.updateCheck(e.checkPolygonOffset,t),this.gl[t?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)},e.prototype.setDepthTest=function(t){this.gl[t?"enable":"disable"](this.gl.DEPTH_TEST)},e.prototype.setDepthMask=function(t){this.gl.depthMask(t)},e.prototype.setCullFace=function(t){this.gl[t?"enable":"disable"](this.gl.CULL_FACE)},e.prototype.setFrontFace=function(t){this.gl.frontFace(this.gl[t?"CW":"CCW"])},e.prototype.setBlendMode=function(t){if(t!==this.blendMode){this.blendMode=t;var i=this.blendModes[t],r=this.gl;i.length===2?r.blendFunc(i[0],i[1]):r.blendFuncSeparate(i[0],i[1],i[2],i[3]),i.length===6?(this._blendEq=!0,r.blendEquationSeparate(i[4],i[5])):this._blendEq&&(this._blendEq=!1,r.blendEquationSeparate(r.FUNC_ADD,r.FUNC_ADD))}},e.prototype.setPolygonOffset=function(t,i){this.gl.polygonOffset(t,i)},e.prototype.reset=function(){this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode=-1,this.setBlendMode(0)},e.prototype.updateCheck=function(t,i){var r=this.checks.indexOf(t);i&&r===-1?this.checks.push(t):!i&&r!==-1&&this.checks.splice(r,1)},e.checkBlendMode=function(t,i){t.setBlendMode(i.blendMode)},e.checkPolygonOffset=function(t,i){t.setPolygonOffset(1,i.polygonOffset)},e.prototype.destroy=function(){this.gl=null},e}(),Hv=function(){function e(t){this.renderer=t,this.count=0,this.checkCount=0,this.maxIdle=F.GC_MAX_IDLE,this.checkCountMax=F.GC_MAX_CHECK_COUNT,this.mode=F.GC_MODE}return e.prototype.postrender=function(){!this.renderer.renderingToScreen||(this.count++,this.mode!==zr.MANUAL&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))},e.prototype.run=function(){for(var t=this.renderer.texture,i=t.managedTextures,r=!1,n=0;n<i.length;n++){var s=i[n];!s.framebuffer&&this.count-s.touched>this.maxIdle&&(t.destroyTexture(s,!0),i[n]=null,r=!0)}if(r){for(var o=0,n=0;n<i.length;n++)i[n]!==null&&(i[o++]=i[n]);i.length=o}},e.prototype.unload=function(t){var i=this.renderer.texture,r=t._texture;r&&!r.framebuffer&&i.destroyTexture(r);for(var n=t.children.length-1;n>=0;n--)this.unload(t.children[n])},e.prototype.destroy=function(){this.renderer=null},e}();function Wv(e){var t,i,r,n,s,o,a,l,h,u,f,p,d,v,y,m,g,w,_,T,x,P,A;return"WebGL2RenderingContext"in self&&e instanceof self.WebGL2RenderingContext?A=(t={},t[D.UNSIGNED_BYTE]=(i={},i[L.RGBA]=e.RGBA8,i[L.RGB]=e.RGB8,i[L.RG]=e.RG8,i[L.RED]=e.R8,i[L.RGBA_INTEGER]=e.RGBA8UI,i[L.RGB_INTEGER]=e.RGB8UI,i[L.RG_INTEGER]=e.RG8UI,i[L.RED_INTEGER]=e.R8UI,i[L.ALPHA]=e.ALPHA,i[L.LUMINANCE]=e.LUMINANCE,i[L.LUMINANCE_ALPHA]=e.LUMINANCE_ALPHA,i),t[D.BYTE]=(r={},r[L.RGBA]=e.RGBA8_SNORM,r[L.RGB]=e.RGB8_SNORM,r[L.RG]=e.RG8_SNORM,r[L.RED]=e.R8_SNORM,r[L.RGBA_INTEGER]=e.RGBA8I,r[L.RGB_INTEGER]=e.RGB8I,r[L.RG_INTEGER]=e.RG8I,r[L.RED_INTEGER]=e.R8I,r),t[D.UNSIGNED_SHORT]=(n={},n[L.RGBA_INTEGER]=e.RGBA16UI,n[L.RGB_INTEGER]=e.RGB16UI,n[L.RG_INTEGER]=e.RG16UI,n[L.RED_INTEGER]=e.R16UI,n[L.DEPTH_COMPONENT]=e.DEPTH_COMPONENT16,n),t[D.SHORT]=(s={},s[L.RGBA_INTEGER]=e.RGBA16I,s[L.RGB_INTEGER]=e.RGB16I,s[L.RG_INTEGER]=e.RG16I,s[L.RED_INTEGER]=e.R16I,s),t[D.UNSIGNED_INT]=(o={},o[L.RGBA_INTEGER]=e.RGBA32UI,o[L.RGB_INTEGER]=e.RGB32UI,o[L.RG_INTEGER]=e.RG32UI,o[L.RED_INTEGER]=e.R32UI,o[L.DEPTH_COMPONENT]=e.DEPTH_COMPONENT24,o),t[D.INT]=(a={},a[L.RGBA_INTEGER]=e.RGBA32I,a[L.RGB_INTEGER]=e.RGB32I,a[L.RG_INTEGER]=e.RG32I,a[L.RED_INTEGER]=e.R32I,a),t[D.FLOAT]=(l={},l[L.RGBA]=e.RGBA32F,l[L.RGB]=e.RGB32F,l[L.RG]=e.RG32F,l[L.RED]=e.R32F,l[L.DEPTH_COMPONENT]=e.DEPTH_COMPONENT32F,l),t[D.HALF_FLOAT]=(h={},h[L.RGBA]=e.RGBA16F,h[L.RGB]=e.RGB16F,h[L.RG]=e.RG16F,h[L.RED]=e.R16F,h),t[D.UNSIGNED_SHORT_5_6_5]=(u={},u[L.RGB]=e.RGB565,u),t[D.UNSIGNED_SHORT_4_4_4_4]=(f={},f[L.RGBA]=e.RGBA4,f),t[D.UNSIGNED_SHORT_5_5_5_1]=(p={},p[L.RGBA]=e.RGB5_A1,p),t[D.UNSIGNED_INT_2_10_10_10_REV]=(d={},d[L.RGBA]=e.RGB10_A2,d[L.RGBA_INTEGER]=e.RGB10_A2UI,d),t[D.UNSIGNED_INT_10F_11F_11F_REV]=(v={},v[L.RGB]=e.R11F_G11F_B10F,v),t[D.UNSIGNED_INT_5_9_9_9_REV]=(y={},y[L.RGB]=e.RGB9_E5,y),t[D.UNSIGNED_INT_24_8]=(m={},m[L.DEPTH_STENCIL]=e.DEPTH24_STENCIL8,m),t[D.FLOAT_32_UNSIGNED_INT_24_8_REV]=(g={},g[L.DEPTH_STENCIL]=e.DEPTH32F_STENCIL8,g),t):A=(w={},w[D.UNSIGNED_BYTE]=(_={},_[L.RGBA]=e.RGBA,_[L.RGB]=e.RGB,_[L.ALPHA]=e.ALPHA,_[L.LUMINANCE]=e.LUMINANCE,_[L.LUMINANCE_ALPHA]=e.LUMINANCE_ALPHA,_),w[D.UNSIGNED_SHORT_5_6_5]=(T={},T[L.RGB]=e.RGB,T),w[D.UNSIGNED_SHORT_4_4_4_4]=(x={},x[L.RGBA]=e.RGBA,x),w[D.UNSIGNED_SHORT_5_5_5_1]=(P={},P[L.RGBA]=e.RGBA,P),w),A}var $n=function(){function e(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=D.UNSIGNED_BYTE,this.internalFormat=L.RGBA,this.samplerType=0}return e}(),Yv=function(){function e(t){this.renderer=t,this.boundTextures=[],this.currentLocation=-1,this.managedTextures=[],this._unknownBoundTextures=!1,this.unknownTexture=new Y,this.hasIntegerTextures=!1}return e.prototype.contextChange=function(){var t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion,this.internalFormats=Wv(t);var i=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=i;for(var r=0;r<i;r++)this.boundTextures[r]=null;this.emptyTextures={};var n=new $n(t.createTexture());t.bindTexture(t.TEXTURE_2D,n.texture),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,new Uint8Array(4)),this.emptyTextures[t.TEXTURE_2D]=n,this.emptyTextures[t.TEXTURE_CUBE_MAP]=new $n(t.createTexture()),t.bindTexture(t.TEXTURE_CUBE_MAP,this.emptyTextures[t.TEXTURE_CUBE_MAP].texture);for(var r=0;r<6;r++)t.texImage2D(t.TEXTURE_CUBE_MAP_POSITIVE_X+r,0,t.RGBA,1,1,0,t.RGBA,t.UNSIGNED_BYTE,null);t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,t.LINEAR);for(var r=0;r<this.boundTextures.length;r++)this.bind(null,r)},e.prototype.bind=function(t,i){i===void 0&&(i=0);var r=this.gl;if(t=t?.castToBaseTexture(),t&&t.valid&&!t.parentTextureArray){t.touched=this.renderer.textureGC.count;var n=t._glTextures[this.CONTEXT_UID]||this.initTexture(t);this.boundTextures[i]!==t&&(this.currentLocation!==i&&(this.currentLocation=i,r.activeTexture(r.TEXTURE0+i)),r.bindTexture(t.target,n.texture)),n.dirtyId!==t.dirtyId&&(this.currentLocation!==i&&(this.currentLocation=i,r.activeTexture(r.TEXTURE0+i)),this.updateTexture(t)),this.boundTextures[i]=t}else this.currentLocation!==i&&(this.currentLocation=i,r.activeTexture(r.TEXTURE0+i)),r.bindTexture(r.TEXTURE_2D,this.emptyTextures[r.TEXTURE_2D].texture),this.boundTextures[i]=null},e.prototype.reset=function(){this._unknownBoundTextures=!0,this.hasIntegerTextures=!1,this.currentLocation=-1;for(var t=0;t<this.boundTextures.length;t++)this.boundTextures[t]=this.unknownTexture},e.prototype.unbind=function(t){var i=this,r=i.gl,n=i.boundTextures;if(this._unknownBoundTextures){this._unknownBoundTextures=!1;for(var s=0;s<n.length;s++)n[s]===this.unknownTexture&&this.bind(null,s)}for(var s=0;s<n.length;s++)n[s]===t&&(this.currentLocation!==s&&(r.activeTexture(r.TEXTURE0+s),this.currentLocation=s),r.bindTexture(t.target,this.emptyTextures[t.target].texture),n[s]=null)},e.prototype.ensureSamplerType=function(t){var i=this,r=i.boundTextures,n=i.hasIntegerTextures,s=i.CONTEXT_UID;if(!!n)for(var o=t-1;o>=0;--o){var a=r[o];if(a){var l=a._glTextures[s];l.samplerType!==Yi.FLOAT&&this.renderer.texture.unbind(a)}}},e.prototype.initTexture=function(t){var i=new $n(this.gl.createTexture());return i.dirtyId=-1,t._glTextures[this.CONTEXT_UID]=i,this.managedTextures.push(t),t.on("dispose",this.destroyTexture,this),i},e.prototype.initTextureType=function(t,i){var r,n;i.internalFormat=(n=(r=this.internalFormats[t.type])===null||r===void 0?void 0:r[t.format])!==null&&n!==void 0?n:t.format,this.webGLVersion===2&&t.type===D.HALF_FLOAT?i.type=this.gl.HALF_FLOAT:i.type=t.type},e.prototype.updateTexture=function(t){var i=t._glTextures[this.CONTEXT_UID];if(!!i){var r=this.renderer;if(this.initTextureType(t,i),t.resource&&t.resource.upload(r,t,i))i.samplerType!==Yi.FLOAT&&(this.hasIntegerTextures=!0);else{var n=t.realWidth,s=t.realHeight,o=r.gl;(i.width!==n||i.height!==s||i.dirtyId<0)&&(i.width=n,i.height=s,o.texImage2D(t.target,0,i.internalFormat,n,s,0,t.format,i.type,null))}t.dirtyStyleId!==i.dirtyStyleId&&this.updateTextureStyle(t),i.dirtyId=t.dirtyId}},e.prototype.destroyTexture=function(t,i){var r=this.gl;if(t=t.castToBaseTexture(),t._glTextures[this.CONTEXT_UID]&&(this.unbind(t),r.deleteTexture(t._glTextures[this.CONTEXT_UID].texture),t.off("dispose",this.destroyTexture,this),delete t._glTextures[this.CONTEXT_UID],!i)){var n=this.managedTextures.indexOf(t);n!==-1&&ci(this.managedTextures,n,1)}},e.prototype.updateTextureStyle=function(t){var i=t._glTextures[this.CONTEXT_UID];!i||((t.mipmap===fe.POW2||this.webGLVersion!==2)&&!t.isPowerOfTwo?i.mipmap=!1:i.mipmap=t.mipmap>=1,this.webGLVersion!==2&&!t.isPowerOfTwo?i.wrapMode=ei.CLAMP:i.wrapMode=t.wrapMode,t.resource&&t.resource.style(this.renderer,t,i)||this.setStyle(t,i),i.dirtyStyleId=t.dirtyStyleId)},e.prototype.setStyle=function(t,i){var r=this.gl;if(i.mipmap&&t.mipmap!==fe.ON_MANUAL&&r.generateMipmap(t.target),r.texParameteri(t.target,r.TEXTURE_WRAP_S,i.wrapMode),r.texParameteri(t.target,r.TEXTURE_WRAP_T,i.wrapMode),i.mipmap){r.texParameteri(t.target,r.TEXTURE_MIN_FILTER,t.scaleMode===lt.LINEAR?r.LINEAR_MIPMAP_LINEAR:r.NEAREST_MIPMAP_NEAREST);var n=this.renderer.context.extensions.anisotropicFiltering;if(n&&t.anisotropicLevel>0&&t.scaleMode===lt.LINEAR){var s=Math.min(t.anisotropicLevel,r.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT));r.texParameterf(t.target,n.TEXTURE_MAX_ANISOTROPY_EXT,s)}}else r.texParameteri(t.target,r.TEXTURE_MIN_FILTER,t.scaleMode===lt.LINEAR?r.LINEAR:r.NEAREST);r.texParameteri(t.target,r.TEXTURE_MAG_FILTER,t.scaleMode===lt.LINEAR?r.LINEAR:r.NEAREST)},e.prototype.destroy=function(){this.renderer=null},e}(),qn=new Z,jn=function(e){W(t,e);function t(i,r){i===void 0&&(i=ke.UNKNOWN);var n=e.call(this)||this;return r=Object.assign({},F.RENDER_OPTIONS,r),n.options=r,n.type=i,n.screen=new X(0,0,r.width,r.height),n.view=r.view||document.createElement("canvas"),n.resolution=r.resolution||F.RESOLUTION,n.useContextAlpha=r.useContextAlpha,n.autoDensity=!!r.autoDensity,n.preserveDrawingBuffer=r.preserveDrawingBuffer,n.clearBeforeRender=r.clearBeforeRender,n._backgroundColor=0,n._backgroundColorRgba=[0,0,0,1],n._backgroundColorString="#000000",n.backgroundColor=r.backgroundColor||n._backgroundColor,n.backgroundAlpha=r.backgroundAlpha,r.transparent!==void 0&&(ye("6.0.0","Option transparent is deprecated, please use backgroundAlpha instead."),n.useContextAlpha=r.transparent,n.backgroundAlpha=r.transparent?0:1),n._lastObjectRendered=null,n.plugins={},n}return t.prototype.initPlugins=function(i){for(var r in i)this.plugins[r]=new i[r](this)},Object.defineProperty(t.prototype,"width",{get:function(){return this.view.width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.view.height},enumerable:!1,configurable:!0}),t.prototype.resize=function(i,r){this.view.width=Math.round(i*this.resolution),this.view.height=Math.round(r*this.resolution);var n=this.view.width/this.resolution,s=this.view.height/this.resolution;this.screen.width=n,this.screen.height=s,this.autoDensity&&(this.view.style.width=n+"px",this.view.style.height=s+"px"),this.emit("resize",n,s)},t.prototype.generateTexture=function(i,r,n,s){r===void 0&&(r={}),typeof r=="number"&&(ye("6.1.0","generateTexture options (scaleMode, resolution, region) are now object options."),r={scaleMode:r,resolution:n,region:s});var o=r.region,a=Cd(r,["region"]);s=o||i.getLocalBounds(null,!0),s.width===0&&(s.width=1),s.height===0&&(s.height=1);var l=Nt.create(Ln({width:s.width,height:s.height},a));return qn.tx=-s.x,qn.ty=-s.y,this.render(i,{renderTexture:l,clear:!1,transform:qn,skipUpdateTransform:!!i.parent}),l},t.prototype.destroy=function(i){for(var r in this.plugins)this.plugins[r].destroy(),this.plugins[r]=null;i&&this.view.parentNode&&this.view.parentNode.removeChild(this.view);var n=this;n.plugins=null,n.type=ke.UNKNOWN,n.view=null,n.screen=null,n._tempDisplayObjectParent=null,n.options=null,this._backgroundColorRgba=null,this._backgroundColorString=null,this._lastObjectRendered=null},Object.defineProperty(t.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(i){this._backgroundColor=i,this._backgroundColorString=hi(i),ve(i,this._backgroundColorRgba)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"backgroundAlpha",{get:function(){return this._backgroundColorRgba[3]},set:function(i){this._backgroundColorRgba[3]=i},enumerable:!1,configurable:!0}),t}(pe),zv=function(){function e(t){this.buffer=t||null,this.updateID=-1,this.byteLength=-1,this.refCount=0}return e}(),Vv=function(){function e(t){this.renderer=t,this.managedBuffers={},this.boundBufferBases={}}return e.prototype.destroy=function(){this.renderer=null},e.prototype.contextChange=function(){this.disposeAll(!0),this.gl=this.renderer.gl,this.CONTEXT_UID=this.renderer.CONTEXT_UID},e.prototype.bind=function(t){var i=this,r=i.gl,n=i.CONTEXT_UID,s=t._glBuffers[n]||this.createGLBuffer(t);r.bindBuffer(t.type,s.buffer)},e.prototype.bindBufferBase=function(t,i){var r=this,n=r.gl,s=r.CONTEXT_UID;if(this.boundBufferBases[i]!==t){var o=t._glBuffers[s]||this.createGLBuffer(t);this.boundBufferBases[i]=t,n.bindBufferBase(n.UNIFORM_BUFFER,i,o.buffer)}},e.prototype.bindBufferRange=function(t,i,r){var n=this,s=n.gl,o=n.CONTEXT_UID;r=r||0;var a=t._glBuffers[o]||this.createGLBuffer(t);s.bindBufferRange(s.UNIFORM_BUFFER,i||0,a.buffer,r*256,256)},e.prototype.update=function(t){var i=this,r=i.gl,n=i.CONTEXT_UID,s=t._glBuffers[n];if(t._updateID!==s.updateID)if(s.updateID=t._updateID,r.bindBuffer(t.type,s.buffer),s.byteLength>=t.data.byteLength)r.bufferSubData(t.type,0,t.data);else{var o=t.static?r.STATIC_DRAW:r.DYNAMIC_DRAW;s.byteLength=t.data.byteLength,r.bufferData(t.type,t.data,o)}},e.prototype.dispose=function(t,i){if(!!this.managedBuffers[t.id]){delete this.managedBuffers[t.id];var r=t._glBuffers[this.CONTEXT_UID],n=this.gl;t.disposeRunner.remove(this),r&&(i||n.deleteBuffer(r.buffer),delete t._glBuffers[this.CONTEXT_UID])}},e.prototype.disposeAll=function(t){for(var i=Object.keys(this.managedBuffers),r=0;r<i.length;r++)this.dispose(this.managedBuffers[i[r]],t)},e.prototype.createGLBuffer=function(t){var i=this,r=i.CONTEXT_UID,n=i.gl;return t._glBuffers[r]=new zv(n.createBuffer()),this.managedBuffers[t.id]=t,t.disposeRunner.add(this),t._glBuffers[r]},e}(),be=function(e){W(t,e);function t(i){var r=e.call(this,ke.WEBGL,i)||this;return i=r.options,r.gl=null,r.CONTEXT_UID=0,r.runners={destroy:new ut("destroy"),contextChange:new ut("contextChange"),reset:new ut("reset"),update:new ut("update"),postrender:new ut("postrender"),prerender:new ut("prerender"),resize:new ut("resize")},r.runners.contextChange.add(r),r.globalUniforms=new Pe({projectionMatrix:new Z},!0),r.addSystem(_v,"mask").addSystem($d,"context").addSystem(Gv,"state").addSystem(Ha,"shader").addSystem(Yv,"texture").addSystem(Vv,"buffer").addSystem(Jd,"geometry").addSystem(Zd,"framebuffer").addSystem(xv,"scissor").addSystem(wv,"stencil").addSystem(Pv,"projection").addSystem(Hv,"textureGC").addSystem(zd,"filter").addSystem(Tv,"renderTexture").addSystem(Vd,"batch"),r.initPlugins(t.__plugins),r.multisample=void 0,i.context?r.context.initFromContext(i.context):r.context.initFromOptions({alpha:!!r.useContextAlpha,antialias:i.antialias,premultipliedAlpha:r.useContextAlpha&&r.useContextAlpha!=="notMultiplied",stencil:!0,preserveDrawingBuffer:i.preserveDrawingBuffer,powerPreference:r.options.powerPreference}),r.renderingToScreen=!0,dn(r.context.webGLVersion===2?"WebGL 2":"WebGL 1"),r.resize(r.options.width,r.options.height),r}return t.create=function(i){if(jo())return new t(i);throw new Error('WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.')},t.prototype.contextChange=function(){var i=this.gl,r;if(this.context.webGLVersion===1){var n=i.getParameter(i.FRAMEBUFFER_BINDING);i.bindFramebuffer(i.FRAMEBUFFER,null),r=i.getParameter(i.SAMPLES),i.bindFramebuffer(i.FRAMEBUFFER,n)}else{var n=i.getParameter(i.DRAW_FRAMEBUFFER_BINDING);i.bindFramebuffer(i.DRAW_FRAMEBUFFER,null),r=i.getParameter(i.SAMPLES),i.bindFramebuffer(i.DRAW_FRAMEBUFFER,n)}r>=Q.HIGH?this.multisample=Q.HIGH:r>=Q.MEDIUM?this.multisample=Q.MEDIUM:r>=Q.LOW?this.multisample=Q.LOW:this.multisample=Q.NONE},t.prototype.addSystem=function(i,r){var n=new i(this);if(this[r])throw new Error('Whoops! The name "'+r+'" is already in use');this[r]=n;for(var s in this.runners)this.runners[s].add(n);return this},t.prototype.render=function(i,r){var n,s,o,a;if(r&&(r instanceof Nt?(ye("6.0.0","Renderer#render arguments changed, use options instead."),n=r,s=arguments[2],o=arguments[3],a=arguments[4]):(n=r.renderTexture,s=r.clear,o=r.transform,a=r.skipUpdateTransform)),this.renderingToScreen=!n,this.runners.prerender.emit(),this.emit("prerender"),this.projection.transform=o,!this.context.isLost){if(n||(this._lastObjectRendered=i),!a){var l=i.enableTempParent();i.updateTransform(),i.disableTempParent(l)}this.renderTexture.bind(n),this.batch.currentRenderer.start(),(s!==void 0?s:this.clearBeforeRender)&&this.renderTexture.clear(),i.render(this),this.batch.currentRenderer.flush(),n&&n.baseTexture.update(),this.runners.postrender.emit(),this.projection.transform=null,this.emit("postrender")}},t.prototype.generateTexture=function(i,r,n,s){r===void 0&&(r={});var o=e.prototype.generateTexture.call(this,i,r,n,s);return this.framebuffer.blit(),o},t.prototype.resize=function(i,r){e.prototype.resize.call(this,i,r),this.runners.resize.emit(this.screen.height,this.screen.width)},t.prototype.reset=function(){return this.runners.reset.emit(),this},t.prototype.clear=function(){this.renderTexture.bind(),this.renderTexture.clear()},t.prototype.destroy=function(i){this.runners.destroy.emit();for(var r in this.runners)this.runners[r].destroy();e.prototype.destroy.call(this,i),this.gl=null},Object.defineProperty(t.prototype,"extract",{get:function(){return ye("6.0.0","Renderer#extract has been deprecated, please use Renderer#plugins.extract instead."),this.plugins.extract},enumerable:!1,configurable:!0}),t.registerPlugin=function(i,r){t.__plugins=t.__plugins||{},t.__plugins[i]=r},t}(jn);function $v(e){return be.create(e)}var qv=`attribute vec2 aVertexPosition;
490
+
491
+ uniform mat3 projectionMatrix;
492
+
493
+ varying vec2 vTextureCoord;
494
+
495
+ uniform vec4 inputSize;
496
+ uniform vec4 outputFrame;
497
+
498
+ vec4 filterVertexPosition( void )
499
+ {
500
+ vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;
501
+
502
+ return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
503
+ }
504
+
505
+ vec2 filterTextureCoord( void )
506
+ {
507
+ return aVertexPosition * (outputFrame.zw * inputSize.zw);
508
+ }
509
+
510
+ void main(void)
511
+ {
512
+ gl_Position = filterVertexPosition();
513
+ vTextureCoord = filterTextureCoord();
514
+ }
515
+ `,jv=qv,Zn=function(){function e(){this.texArray=null,this.blend=0,this.type=Ut.TRIANGLES,this.start=0,this.size=0,this.data=null}return e}(),Jn=function(){function e(){this.elements=[],this.ids=[],this.count=0}return e.prototype.clear=function(){for(var t=0;t<this.count;t++)this.elements[t]=null;this.count=0},e}(),Zv=function(){function e(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData)}return Object.defineProperty(e.prototype,"int8View",{get:function(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"uint8View",{get:function(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"int16View",{get:function(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"uint16View",{get:function(){return this._uint16View||(this._uint16View=new Uint16Array(this.rawBinaryData)),this._uint16View},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"int32View",{get:function(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View},enumerable:!1,configurable:!0}),e.prototype.view=function(t){return this[t+"View"]},e.prototype.destroy=function(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this._uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null},e.sizeOf=function(t){switch(t){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(t+" isn't a valid view type")}},e}(),Jv=function(e){W(t,e);function t(i){var r=e.call(this,i)||this;return r.shaderGenerator=null,r.geometryClass=null,r.vertexSize=null,r.state=ar.for2d(),r.size=F.SPRITE_BATCH_SIZE*4,r._vertexCount=0,r._indexCount=0,r._bufferedElements=[],r._bufferedTextures=[],r._bufferSize=0,r._shader=null,r._packedGeometries=[],r._packedGeometryPoolSize=2,r._flushId=0,r._aBuffers={},r._iBuffers={},r.MAX_TEXTURES=1,r.renderer.on("prerender",r.onPrerender,r),i.runners.contextChange.add(r),r._dcIndex=0,r._aIndex=0,r._iIndex=0,r._attributeBuffer=null,r._indexBuffer=null,r._tempBoundTextures=[],r}return t.prototype.contextChange=function(){var i=this.renderer.gl;F.PREFER_ENV===Bt.WEBGL_LEGACY?this.MAX_TEXTURES=1:(this.MAX_TEXTURES=Math.min(i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),F.SPRITE_MAX_TEXTURES),this.MAX_TEXTURES=lv(this.MAX_TEXTURES,i)),this._shader=this.shaderGenerator.generateShader(this.MAX_TEXTURES);for(var r=0;r<this._packedGeometryPoolSize;r++)this._packedGeometries[r]=new this.geometryClass;this.initFlushBuffers()},t.prototype.initFlushBuffers=function(){for(var i=t._drawCallPool,r=t._textureArrayPool,n=this.size/4,s=Math.floor(n/this.MAX_TEXTURES)+1;i.length<n;)i.push(new Zn);for(;r.length<s;)r.push(new Jn);for(var o=0;o<this.MAX_TEXTURES;o++)this._tempBoundTextures[o]=null},t.prototype.onPrerender=function(){this._flushId=0},t.prototype.render=function(i){!i._texture.valid||(this._vertexCount+i.vertexData.length/2>this.size&&this.flush(),this._vertexCount+=i.vertexData.length/2,this._indexCount+=i.indices.length,this._bufferedTextures[this._bufferSize]=i._texture.baseTexture,this._bufferedElements[this._bufferSize++]=i)},t.prototype.buildTexturesAndDrawCalls=function(){var i=this,r=i._bufferedTextures,n=i.MAX_TEXTURES,s=t._textureArrayPool,o=this.renderer.batch,a=this._tempBoundTextures,l=this.renderer.textureGC.count,h=++Y._globalBatch,u=0,f=s[0],p=0;o.copyBoundTextures(a,n);for(var d=0;d<this._bufferSize;++d){var v=r[d];r[d]=null,v._batchEnabled!==h&&(f.count>=n&&(o.boundArray(f,a,h,n),this.buildDrawCalls(f,p,d),p=d,f=s[++u],++h),v._batchEnabled=h,v.touched=l,f.elements[f.count++]=v)}f.count>0&&(o.boundArray(f,a,h,n),this.buildDrawCalls(f,p,this._bufferSize),++u,++h);for(var d=0;d<a.length;d++)a[d]=null;Y._globalBatch=h},t.prototype.buildDrawCalls=function(i,r,n){var s=this,o=s._bufferedElements,a=s._attributeBuffer,l=s._indexBuffer,h=s.vertexSize,u=t._drawCallPool,f=this._dcIndex,p=this._aIndex,d=this._iIndex,v=u[f];v.start=this._iIndex,v.texArray=i;for(var y=r;y<n;++y){var m=o[y],g=m._texture.baseTexture,w=mn[g.alphaMode?1:0][m.blendMode];o[y]=null,r<y&&v.blend!==w&&(v.size=d-v.start,r=y,v=u[++f],v.texArray=i,v.start=d),this.packInterleavedGeometry(m,a,l,p,d),p+=m.vertexData.length/2*h,d+=m.indices.length,v.blend=w}r<n&&(v.size=d-v.start,++f),this._dcIndex=f,this._aIndex=p,this._iIndex=d},t.prototype.bindAndClearTexArray=function(i){for(var r=this.renderer.texture,n=0;n<i.count;n++)r.bind(i.elements[n],i.ids[n]),i.elements[n]=null;i.count=0},t.prototype.updateGeometry=function(){var i=this,r=i._packedGeometries,n=i._attributeBuffer,s=i._indexBuffer;F.CAN_UPLOAD_SAME_BUFFER?(r[this._flushId]._buffer.update(n.rawBinaryData),r[this._flushId]._indexBuffer.update(s),this.renderer.geometry.updateBuffers()):(this._packedGeometryPoolSize<=this._flushId&&(this._packedGeometryPoolSize++,r[this._flushId]=new this.geometryClass),r[this._flushId]._buffer.update(n.rawBinaryData),r[this._flushId]._indexBuffer.update(s),this.renderer.geometry.bind(r[this._flushId]),this.renderer.geometry.updateBuffers(),this._flushId++)},t.prototype.drawBatches=function(){for(var i=this._dcIndex,r=this.renderer,n=r.gl,s=r.state,o=t._drawCallPool,a=null,l=0;l<i;l++){var h=o[l],u=h.texArray,f=h.type,p=h.size,d=h.start,v=h.blend;a!==u&&(a=u,this.bindAndClearTexArray(u)),this.state.blendMode=v,s.set(this.state),n.drawElements(f,p,n.UNSIGNED_SHORT,d*2)}},t.prototype.flush=function(){this._vertexCount!==0&&(this._attributeBuffer=this.getAttributeBuffer(this._vertexCount),this._indexBuffer=this.getIndexBuffer(this._indexCount),this._aIndex=0,this._iIndex=0,this._dcIndex=0,this.buildTexturesAndDrawCalls(),this.updateGeometry(),this.drawBatches(),this._bufferSize=0,this._vertexCount=0,this._indexCount=0)},t.prototype.start=function(){this.renderer.state.set(this.state),this.renderer.texture.ensureSamplerType(this.MAX_TEXTURES),this.renderer.shader.bind(this._shader),F.CAN_UPLOAD_SAME_BUFFER&&this.renderer.geometry.bind(this._packedGeometries[this._flushId])},t.prototype.stop=function(){this.flush()},t.prototype.destroy=function(){for(var i=0;i<this._packedGeometryPoolSize;i++)this._packedGeometries[i]&&this._packedGeometries[i].destroy();this.renderer.off("prerender",this.onPrerender,this),this._aBuffers=null,this._iBuffers=null,this._packedGeometries=null,this._attributeBuffer=null,this._indexBuffer=null,this._shader&&(this._shader.destroy(),this._shader=null),e.prototype.destroy.call(this)},t.prototype.getAttributeBuffer=function(i){var r=fi(Math.ceil(i/8)),n=_n(r),s=r*8;this._aBuffers.length<=n&&(this._iBuffers.length=n+1);var o=this._aBuffers[s];return o||(this._aBuffers[s]=o=new Zv(s*this.vertexSize*4)),o},t.prototype.getIndexBuffer=function(i){var r=fi(Math.ceil(i/12)),n=_n(r),s=r*12;this._iBuffers.length<=n&&(this._iBuffers.length=n+1);var o=this._iBuffers[n];return o||(this._iBuffers[n]=o=new Uint16Array(s)),o},t.prototype.packInterleavedGeometry=function(i,r,n,s,o){for(var a=r.uint32View,l=r.float32View,h=s/this.vertexSize,u=i.uvs,f=i.indices,p=i.vertexData,d=i._texture.baseTexture._batchLocation,v=Math.min(i.worldAlpha,1),y=v<1&&i._texture.baseTexture.alphaMode?yn(i._tintRGB,v):i._tintRGB+(v*255<<24),m=0;m<p.length;m+=2)l[s++]=p[m],l[s++]=p[m+1],l[s++]=u[m],l[s++]=u[m+1],a[s++]=y,l[s++]=d;for(var m=0;m<f.length;m++)n[o++]=h+f[m]},t._drawCallPool=[],t._textureArrayPool=[],t}(Ea),Kv=function(){function e(t,i){if(this.vertexSrc=t,this.fragTemplate=i,this.programCache={},this.defaultGroupCache={},i.indexOf("%count%")<0)throw new Error('Fragment template must contain "%count%".');if(i.indexOf("%forloop%")<0)throw new Error('Fragment template must contain "%forloop%".')}return e.prototype.generateShader=function(t){if(!this.programCache[t]){for(var i=new Int32Array(t),r=0;r<t;r++)i[r]=r;this.defaultGroupCache[t]=Pe.from({uSamplers:i},!0);var n=this.fragTemplate;n=n.replace(/%count%/gi,""+t),n=n.replace(/%forloop%/gi,this.generateSampleSrc(t)),this.programCache[t]=new Dn(this.vertexSrc,n)}var s={tint:new Float32Array([1,1,1,1]),translationMatrix:new Z,default:this.defaultGroupCache[t]};return new Xn(this.programCache[t],s)},e.prototype.generateSampleSrc=function(t){var i="";i+=`
516
+ `,i+=`
517
+ `;for(var r=0;r<t;r++)r>0&&(i+=`
518
+ else `),r<t-1&&(i+="if(vTextureId < "+r+".5)"),i+=`
519
+ {`,i+=`
520
+ color = texture2D(uSamplers[`+r+"], vTextureCoord);",i+=`
521
+ }`;return i+=`
522
+ `,i+=`
523
+ `,i},e}(),Wa=function(e){W(t,e);function t(i){i===void 0&&(i=!1);var r=e.call(this)||this;return r._buffer=new yt(null,i,!1),r._indexBuffer=new yt(null,i,!0),r.addAttribute("aVertexPosition",r._buffer,2,!1,D.FLOAT).addAttribute("aTextureCoord",r._buffer,2,!1,D.FLOAT).addAttribute("aColor",r._buffer,4,!0,D.UNSIGNED_BYTE).addAttribute("aTextureId",r._buffer,1,!0,D.FLOAT).addIndex(r._indexBuffer),r}return t}(Fn),Ya=`precision highp float;
524
+ attribute vec2 aVertexPosition;
525
+ attribute vec2 aTextureCoord;
526
+ attribute vec4 aColor;
527
+ attribute float aTextureId;
528
+
529
+ uniform mat3 projectionMatrix;
530
+ uniform mat3 translationMatrix;
531
+ uniform vec4 tint;
532
+
533
+ varying vec2 vTextureCoord;
534
+ varying vec4 vColor;
535
+ varying float vTextureId;
536
+
537
+ void main(void){
538
+ gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
539
+
540
+ vTextureCoord = aTextureCoord;
541
+ vTextureId = aTextureId;
542
+ vColor = aColor * tint;
543
+ }
544
+ `,za=`varying vec2 vTextureCoord;
545
+ varying vec4 vColor;
546
+ varying float vTextureId;
547
+ uniform sampler2D uSamplers[%count%];
548
+
549
+ void main(void){
550
+ vec4 color;
551
+ %forloop%
552
+ gl_FragColor = color * vColor;
553
+ }
554
+ `,Qv=function(){function e(){}return e.create=function(t){var i=Object.assign({vertex:Ya,fragment:za,geometryClass:Wa,vertexSize:6},t),r=i.vertex,n=i.fragment,s=i.vertexSize,o=i.geometryClass;return function(a){W(l,a);function l(h){var u=a.call(this,h)||this;return u.shaderGenerator=new Kv(r,n),u.geometryClass=o,u.vertexSize=s,u}return l}(Jv)},Object.defineProperty(e,"defaultVertexSrc",{get:function(){return Ya},enumerable:!1,configurable:!0}),Object.defineProperty(e,"defaultFragmentTemplate",{get:function(){return za},enumerable:!1,configurable:!0}),e}(),tm=Qv.create();/*!
555
+ * @pixi/canvas-display - v6.2.2
556
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
557
+ *
558
+ * @pixi/canvas-display is licensed under the MIT License.
559
+ * http://www.opensource.org/licenses/mit-license
560
+ */et.prototype._renderCanvas=function(t){},et.prototype.renderCanvas=function(t){if(!(!this.visible||this.worldAlpha<=0||!this.renderable)){this._mask&&t.maskManager.pushMask(this._mask),this._renderCanvas(t);for(var i=0,r=this.children.length;i<r;++i)this.children[i].renderCanvas(t);this._mask&&t.maskManager.popMask(t)}},Gt.prototype.renderCanvas=function(t){};/*!
561
+ * @pixi/sprite - v6.2.2
562
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
563
+ *
564
+ * @pixi/sprite is licensed under the MIT License.
565
+ * http://www.opensource.org/licenses/mit-license
566
+ *//*! *****************************************************************************
567
+ Copyright (c) Microsoft Corporation. All rights reserved.
568
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
569
+ this file except in compliance with the License. You may obtain a copy of the
570
+ License at http://www.apache.org/licenses/LICENSE-2.0
571
+
572
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
573
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
574
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
575
+ MERCHANTABLITY OR NON-INFRINGEMENT.
576
+
577
+ See the Apache Version 2.0 License for specific language governing permissions
578
+ and limitations under the License.
579
+ ***************************************************************************** */var Kn=function(e,t){return Kn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},Kn(e,t)};function em(e,t){Kn(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var _i=new H,im=new Uint16Array([0,1,2,0,2,3]),Lt=function(e){em(t,e);function t(i){var r=e.call(this)||this;return r._anchor=new pi(r._onAnchorUpdate,r,i?i.defaultAnchor.x:0,i?i.defaultAnchor.y:0),r._texture=null,r._width=0,r._height=0,r._tint=null,r._tintRGB=null,r.tint=16777215,r.blendMode=b.NORMAL,r._cachedTint=16777215,r.uvs=null,r.texture=i||z.EMPTY,r.vertexData=new Float32Array(8),r.vertexTrimmedData=null,r._transformID=-1,r._textureID=-1,r._transformTrimmedID=-1,r._textureTrimmedID=-1,r.indices=im,r.pluginName="batch",r.isSprite=!0,r._roundPixels=F.ROUND_PIXELS,r}return t.prototype._onTextureUpdate=function(){this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=16777215,this._width&&(this.scale.x=me(this.scale.x)*this._width/this._texture.orig.width),this._height&&(this.scale.y=me(this.scale.y)*this._height/this._texture.orig.height)},t.prototype._onAnchorUpdate=function(){this._transformID=-1,this._transformTrimmedID=-1},t.prototype.calculateVertices=function(){var i=this._texture;if(!(this._transformID===this.transform._worldID&&this._textureID===i._updateID)){this._textureID!==i._updateID&&(this.uvs=this._texture._uvs.uvsFloat32),this._transformID=this.transform._worldID,this._textureID=i._updateID;var r=this.transform.worldTransform,n=r.a,s=r.b,o=r.c,a=r.d,l=r.tx,h=r.ty,u=this.vertexData,f=i.trim,p=i.orig,d=this._anchor,v=0,y=0,m=0,g=0;if(f?(y=f.x-d._x*p.width,v=y+f.width,g=f.y-d._y*p.height,m=g+f.height):(y=-d._x*p.width,v=y+p.width,g=-d._y*p.height,m=g+p.height),u[0]=n*y+o*g+l,u[1]=a*g+s*y+h,u[2]=n*v+o*g+l,u[3]=a*g+s*v+h,u[4]=n*v+o*m+l,u[5]=a*m+s*v+h,u[6]=n*y+o*m+l,u[7]=a*m+s*y+h,this._roundPixels)for(var w=F.RESOLUTION,_=0;_<u.length;++_)u[_]=Math.round((u[_]*w|0)/w)}},t.prototype.calculateTrimmedVertices=function(){if(!this.vertexTrimmedData)this.vertexTrimmedData=new Float32Array(8);else if(this._transformTrimmedID===this.transform._worldID&&this._textureTrimmedID===this._texture._updateID)return;this._transformTrimmedID=this.transform._worldID,this._textureTrimmedID=this._texture._updateID;var i=this._texture,r=this.vertexTrimmedData,n=i.orig,s=this._anchor,o=this.transform.worldTransform,a=o.a,l=o.b,h=o.c,u=o.d,f=o.tx,p=o.ty,d=-s._x*n.width,v=d+n.width,y=-s._y*n.height,m=y+n.height;r[0]=a*d+h*y+f,r[1]=u*y+l*d+p,r[2]=a*v+h*y+f,r[3]=u*y+l*v+p,r[4]=a*v+h*m+f,r[5]=u*m+l*v+p,r[6]=a*d+h*m+f,r[7]=u*m+l*d+p},t.prototype._render=function(i){this.calculateVertices(),i.batch.setObjectRenderer(i.plugins[this.pluginName]),i.plugins[this.pluginName].render(this)},t.prototype._calculateBounds=function(){var i=this._texture.trim,r=this._texture.orig;!i||i.width===r.width&&i.height===r.height?(this.calculateVertices(),this._bounds.addQuad(this.vertexData)):(this.calculateTrimmedVertices(),this._bounds.addQuad(this.vertexTrimmedData))},t.prototype.getLocalBounds=function(i){return this.children.length===0?(this._localBounds||(this._localBounds=new di),this._localBounds.minX=this._texture.orig.width*-this._anchor._x,this._localBounds.minY=this._texture.orig.height*-this._anchor._y,this._localBounds.maxX=this._texture.orig.width*(1-this._anchor._x),this._localBounds.maxY=this._texture.orig.height*(1-this._anchor._y),i||(this._localBoundsRect||(this._localBoundsRect=new X),i=this._localBoundsRect),this._localBounds.getRectangle(i)):e.prototype.getLocalBounds.call(this,i)},t.prototype.containsPoint=function(i){this.worldTransform.applyInverse(i,_i);var r=this._texture.orig.width,n=this._texture.orig.height,s=-r*this.anchor.x,o=0;return _i.x>=s&&_i.x<s+r&&(o=-n*this.anchor.y,_i.y>=o&&_i.y<o+n)},t.prototype.destroy=function(i){e.prototype.destroy.call(this,i),this._texture.off("update",this._onTextureUpdate,this),this._anchor=null;var r=typeof i=="boolean"?i:i&&i.texture;if(r){var n=typeof i=="boolean"?i:i&&i.baseTexture;this._texture.destroy(!!n)}this._texture=null},t.from=function(i,r){var n=i instanceof z?i:z.from(i,r);return new t(n)},Object.defineProperty(t.prototype,"roundPixels",{get:function(){return this._roundPixels},set:function(i){this._roundPixels!==i&&(this._transformID=-1),this._roundPixels=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{get:function(){return Math.abs(this.scale.x)*this._texture.orig.width},set:function(i){var r=me(this.scale.x)||1;this.scale.x=r*i/this._texture.orig.width,this._width=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return Math.abs(this.scale.y)*this._texture.orig.height},set:function(i){var r=me(this.scale.y)||1;this.scale.y=r*i/this._texture.orig.height,this._height=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"anchor",{get:function(){return this._anchor},set:function(i){this._anchor.copyFrom(i)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tint",{get:function(){return this._tint},set:function(i){this._tint=i,this._tintRGB=(i>>16)+(i&65280)+((i&255)<<16)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"texture",{get:function(){return this._texture},set:function(i){this._texture!==i&&(this._texture&&this._texture.off("update",this._onTextureUpdate,this),this._texture=i||z.EMPTY,this._cachedTint=16777215,this._textureID=-1,this._textureTrimmedID=-1,i&&(i.baseTexture.valid?this._onTextureUpdate():i.once("update",this._onTextureUpdate,this)))},enumerable:!1,configurable:!0}),t}(et);/*!
580
+ * @pixi/graphics - v6.2.2
581
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
582
+ *
583
+ * @pixi/graphics is licensed under the MIT License.
584
+ * http://www.opensource.org/licenses/mit-license
585
+ */var ee;(function(e){e.MITER="miter",e.BEVEL="bevel",e.ROUND="round"})(ee||(ee={}));var ie;(function(e){e.BUTT="butt",e.ROUND="round",e.SQUARE="square"})(ie||(ie={}));var xi={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount:function(e,t){if(t===void 0&&(t=20),!this.adaptive||!e||isNaN(e))return t;var i=Math.ceil(e/this.maxLength);return i<this.minSegments?i=this.minSegments:i>this.maxSegments&&(i=this.maxSegments),i}},Va=function(){function e(){this.color=16777215,this.alpha=1,this.texture=z.WHITE,this.matrix=null,this.visible=!1,this.reset()}return e.prototype.clone=function(){var t=new e;return t.color=this.color,t.alpha=this.alpha,t.texture=this.texture,t.matrix=this.matrix,t.visible=this.visible,t},e.prototype.reset=function(){this.color=16777215,this.alpha=1,this.texture=z.WHITE,this.matrix=null,this.visible=!1},e.prototype.destroy=function(){this.texture=null,this.matrix=null},e}();/*! *****************************************************************************
586
+ Copyright (c) Microsoft Corporation. All rights reserved.
587
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
588
+ this file except in compliance with the License. You may obtain a copy of the
589
+ License at http://www.apache.org/licenses/LICENSE-2.0
590
+
591
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
592
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
593
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
594
+ MERCHANTABLITY OR NON-INFRINGEMENT.
595
+
596
+ See the Apache Version 2.0 License for specific language governing permissions
597
+ and limitations under the License.
598
+ ***************************************************************************** */var Qn=function(e,t){return Qn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},Qn(e,t)};function ts(e,t){Qn(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var $a={build:function(e){e.points=e.shape.points.slice()},triangulate:function(e,t){var i=e.points,r=e.holes,n=t.points,s=t.indices;if(i.length>=6){for(var o=[],a=0;a<r.length;a++){var l=r[a];o.push(i.length/2),i=i.concat(l.points)}var h=ri.exports(i,o,2);if(!h)return;for(var u=n.length/2,a=0;a<h.length;a+=3)s.push(h[a]+u),s.push(h[a+1]+u),s.push(h[a+2]+u);for(var a=0;a<i.length;a++)n.push(i[a])}}},qa={build:function(e){var t=e.shape,i=e.points,r=t.x,n=t.y,s,o;if(i.length=0,e.type===G.CIRC)s=t.radius,o=t.radius;else{var a=e.shape;s=a.width,o=a.height}if(!(s===0||o===0)){var l=Math.floor(30*Math.sqrt(t.radius))||Math.floor(15*Math.sqrt(s+o));l/=2.3;for(var h=Math.PI*2/l,u=0;u<l-.5;u++)i.push(r+Math.sin(-h*u)*s,n+Math.cos(-h*u)*o);i.push(i[0],i[1])}},triangulate:function(e,t){var i=e.points,r=t.points,n=t.indices,s=r.length/2,o=s,a=e.shape,l=e.matrix,h=a.x,u=a.y;r.push(e.matrix?l.a*h+l.c*u+l.tx:h,e.matrix?l.b*h+l.d*u+l.ty:u);for(var f=0;f<i.length;f+=2)r.push(i[f],i[f+1]),n.push(s++,o,s)}},rm={build:function(e){var t=e.shape,i=t.x,r=t.y,n=t.width,s=t.height,o=e.points;o.length=0,o.push(i,r,i+n,r,i+n,r+s,i,r+s)},triangulate:function(e,t){var i=e.points,r=t.points,n=r.length/2;r.push(i[0],i[1],i[2],i[3],i[6],i[7],i[4],i[5]),t.indices.push(n,n+1,n+2,n+1,n+2,n+3)}};function Ye(e,t,i){var r=t-e;return e+r*i}function hr(e,t,i,r,n,s,o){o===void 0&&(o=[]);for(var a=20,l=o,h=0,u=0,f=0,p=0,d=0,v=0,y=0,m=0;y<=a;++y)m=y/a,h=Ye(e,i,m),u=Ye(t,r,m),f=Ye(i,n,m),p=Ye(r,s,m),d=Ye(h,f,m),v=Ye(u,p,m),!(y===0&&l[l.length-2]===d&&l[l.length-1]===v)&&l.push(d,v);return l}var nm={build:function(e){var t=e.shape,i=e.points,r=t.x,n=t.y,s=t.width,o=t.height,a=Math.max(0,Math.min(t.radius,Math.min(s,o)/2));i.length=0,a?(hr(r,n+a,r,n,r+a,n,i),hr(r+s-a,n,r+s,n,r+s,n+a,i),hr(r+s,n+o-a,r+s,n+o,r+s-a,n+o,i),hr(r+a,n+o,r,n+o,r,n+o-a,i)):i.push(r,n,r+s,n,r+s,n+o,r,n+o)},triangulate:function(e,t){for(var i=e.points,r=t.points,n=t.indices,s=r.length/2,o=ri.exports(i,null,2),a=0,l=o.length;a<l;a+=3)n.push(o[a]+s),n.push(o[a+1]+s),n.push(o[a+2]+s);for(var a=0,l=i.length;a<l;a++)r.push(i[a],i[++a])}};function ja(e,t,i,r,n,s,o,a){var l=e-i*n,h=t-r*n,u=e+i*s,f=t+r*s,p,d;o?(p=r,d=-i):(p=-r,d=i);var v=l+p,y=h+d,m=u+p,g=f+d;return a.push(v,y),a.push(m,g),2}function ze(e,t,i,r,n,s,o,a){var l=i-e,h=r-t,u=Math.atan2(l,h),f=Math.atan2(n-e,s-t);a&&u<f?u+=Math.PI*2:!a&&u>f&&(f+=Math.PI*2);var p=u,d=f-u,v=Math.abs(d),y=Math.sqrt(l*l+h*h),m=(15*v*Math.sqrt(y)/Math.PI>>0)+1,g=d/m;if(p+=g,a){o.push(e,t),o.push(i,r);for(var w=1,_=p;w<m;w++,_+=g)o.push(e,t),o.push(e+Math.sin(_)*y,t+Math.cos(_)*y);o.push(e,t),o.push(n,s)}else{o.push(i,r),o.push(e,t);for(var w=1,_=p;w<m;w++,_+=g)o.push(e+Math.sin(_)*y,t+Math.cos(_)*y),o.push(e,t);o.push(n,s),o.push(e,t)}return m*2}function sm(e,t){var i=e.shape,r=e.points||i.points.slice(),n=t.closePointEps;if(r.length!==0){var s=e.lineStyle,o=new H(r[0],r[1]),a=new H(r[r.length-2],r[r.length-1]),l=i.type!==G.POLY||i.closeStroke,h=Math.abs(o.x-a.x)<n&&Math.abs(o.y-a.y)<n;if(l){r=r.slice(),h&&(r.pop(),r.pop(),a.set(r[r.length-2],r[r.length-1]));var u=(o.x+a.x)*.5,f=(a.y+o.y)*.5;r.unshift(u,f),r.push(u,f)}var p=t.points,d=r.length/2,v=r.length,y=p.length/2,m=s.width/2,g=m*m,w=s.miterLimit*s.miterLimit,_=r[0],T=r[1],x=r[2],P=r[3],A=0,k=0,C=-(T-P),S=_-x,M=0,N=0,R=Math.sqrt(C*C+S*S);C/=R,S/=R,C*=m,S*=m;var $=s.alignment,E=(1-$)*2,O=$*2;l||(s.cap===ie.ROUND?v+=ze(_-C*(E-O)*.5,T-S*(E-O)*.5,_-C*E,T-S*E,_+C*O,T+S*O,p,!0)+2:s.cap===ie.SQUARE&&(v+=ja(_,T,C,S,E,O,!0,p))),p.push(_-C*E,T-S*E),p.push(_+C*O,T+S*O);for(var B=1;B<d-1;++B){_=r[(B-1)*2],T=r[(B-1)*2+1],x=r[B*2],P=r[B*2+1],A=r[(B+1)*2],k=r[(B+1)*2+1],C=-(T-P),S=_-x,R=Math.sqrt(C*C+S*S),C/=R,S/=R,C*=m,S*=m,M=-(P-k),N=x-A,R=Math.sqrt(M*M+N*N),M/=R,N/=R,M*=m,N*=m;var it=x-_,Vt=T-P,$t=x-A,qt=k-P,It=Vt*$t-qt*it,Ct=It<0;if(Math.abs(It)<.1){p.push(x-C*E,P-S*E),p.push(x+C*O,P+S*O);continue}var Le=(-C+_)*(-S+P)-(-C+x)*(-S+T),Oe=(-M+A)*(-N+P)-(-M+x)*(-N+k),ae=(it*Oe-$t*Le)/It,le=(qt*Le-Vt*Oe)/It,Ft=(ae-x)*(ae-x)+(le-P)*(le-P),pt=x+(ae-x)*E,J=P+(le-P)*E,K=x-(ae-x)*O,rt=P-(le-P)*O,Et=Math.min(it*it+Vt*Vt,$t*$t+qt*qt),kr=Ct?E:O,mt=Et+kr*kr*g,Br=Ft<=mt;Br?s.join===ee.BEVEL||Ft/g>w?(Ct?(p.push(pt,J),p.push(x+C*O,P+S*O),p.push(pt,J),p.push(x+M*O,P+N*O)):(p.push(x-C*E,P-S*E),p.push(K,rt),p.push(x-M*E,P-N*E),p.push(K,rt)),v+=2):s.join===ee.ROUND?Ct?(p.push(pt,J),p.push(x+C*O,P+S*O),v+=ze(x,P,x+C*O,P+S*O,x+M*O,P+N*O,p,!0)+4,p.push(pt,J),p.push(x+M*O,P+N*O)):(p.push(x-C*E,P-S*E),p.push(K,rt),v+=ze(x,P,x-C*E,P-S*E,x-M*E,P-N*E,p,!1)+4,p.push(x-M*E,P-N*E),p.push(K,rt)):(p.push(pt,J),p.push(K,rt)):(p.push(x-C*E,P-S*E),p.push(x+C*O,P+S*O),s.join===ee.BEVEL||Ft/g>w||(s.join===ee.ROUND?Ct?v+=ze(x,P,x+C*O,P+S*O,x+M*O,P+N*O,p,!0)+2:v+=ze(x,P,x-C*E,P-S*E,x-M*E,P-N*E,p,!1)+2:(Ct?(p.push(K,rt),p.push(K,rt)):(p.push(pt,J),p.push(pt,J)),v+=2)),p.push(x-M*E,P-N*E),p.push(x+M*O,P+N*O),v+=2)}_=r[(d-2)*2],T=r[(d-2)*2+1],x=r[(d-1)*2],P=r[(d-1)*2+1],C=-(T-P),S=_-x,R=Math.sqrt(C*C+S*S),C/=R,S/=R,C*=m,S*=m,p.push(x-C*E,P-S*E),p.push(x+C*O,P+S*O),l||(s.cap===ie.ROUND?v+=ze(x-C*(E-O)*.5,P-S*(E-O)*.5,x-C*E,P-S*E,x+C*O,P+S*O,p,!1)+2:s.cap===ie.SQUARE&&(v+=ja(x,P,C,S,E,O,!1,p)));for(var C_=t.indices,E_=xi.epsilon*xi.epsilon,B=y;B<v+y-2;++B)_=p[B*2],T=p[B*2+1],x=p[(B+1)*2],P=p[(B+1)*2+1],A=p[(B+2)*2],k=p[(B+2)*2+1],!(Math.abs(_*(P-k)+x*(k-T)+A*(T-P))<E_)&&C_.push(B,B+1,B+2)}}function om(e,t){var i=0,r=e.shape,n=e.points||r.points,s=r.type!==G.POLY||r.closeStroke;if(n.length!==0){var o=t.points,a=t.indices,l=n.length/2,h=o.length/2,u=h;for(o.push(n[0],n[1]),i=1;i<l;i++)o.push(n[i*2],n[i*2+1]),a.push(u,u+1),u++;s&&a.push(u,h)}}function Za(e,t){e.lineStyle.native?om(e,t):sm(e,t)}var Ja=function(){function e(){}return e.curveTo=function(t,i,r,n,s,o){var a=o[o.length-2],l=o[o.length-1],h=l-i,u=a-t,f=n-i,p=r-t,d=Math.abs(h*p-u*f);if(d<1e-8||s===0)return(o[o.length-2]!==t||o[o.length-1]!==i)&&o.push(t,i),null;var v=h*h+u*u,y=f*f+p*p,m=h*f+u*p,g=s*Math.sqrt(v)/d,w=s*Math.sqrt(y)/d,_=g*m/v,T=w*m/y,x=g*p+w*u,P=g*f+w*h,A=u*(w+_),k=h*(w+_),C=p*(g+T),S=f*(g+T),M=Math.atan2(k-P,A-x),N=Math.atan2(S-P,C-x);return{cx:x+t,cy:P+i,radius:s,startAngle:M,endAngle:N,anticlockwise:u*f>p*h}},e.arc=function(t,i,r,n,s,o,a,l,h){for(var u=a-o,f=xi._segmentsCount(Math.abs(u)*s,Math.ceil(Math.abs(u)/Qi)*40),p=u/(f*2),d=p*2,v=Math.cos(p),y=Math.sin(p),m=f-1,g=m%1/m,w=0;w<=m;++w){var _=w+g*w,T=p+o+d*_,x=Math.cos(T),P=-Math.sin(T);h.push((v*x+y*P)*s+r,(v*-P+y*x)*s+n)}},e}(),am=function(){function e(){}return e.curveLength=function(t,i,r,n,s,o,a,l){for(var h=10,u=0,f=0,p=0,d=0,v=0,y=0,m=0,g=0,w=0,_=0,T=0,x=t,P=i,A=1;A<=h;++A)f=A/h,p=f*f,d=p*f,v=1-f,y=v*v,m=y*v,g=m*t+3*y*f*r+3*v*p*s+d*a,w=m*i+3*y*f*n+3*v*p*o+d*l,_=x-g,T=P-w,x=g,P=w,u+=Math.sqrt(_*_+T*T);return u},e.curveTo=function(t,i,r,n,s,o,a){var l=a[a.length-2],h=a[a.length-1];a.length-=2;var u=xi._segmentsCount(e.curveLength(l,h,t,i,r,n,s,o)),f=0,p=0,d=0,v=0,y=0;a.push(l,h);for(var m=1,g=0;m<=u;++m)g=m/u,f=1-g,p=f*f,d=p*f,v=g*g,y=v*g,a.push(d*l+3*p*g*t+3*f*v*r+y*s,d*h+3*p*g*i+3*f*v*n+y*o)},e}(),lm=function(){function e(){}return e.curveLength=function(t,i,r,n,s,o){var a=t-2*r+s,l=i-2*n+o,h=2*r-2*t,u=2*n-2*i,f=4*(a*a+l*l),p=4*(a*h+l*u),d=h*h+u*u,v=2*Math.sqrt(f+p+d),y=Math.sqrt(f),m=2*f*y,g=2*Math.sqrt(d),w=p/y;return(m*v+y*p*(v-g)+(4*d*f-p*p)*Math.log((2*y+w+v)/(w+g)))/(4*m)},e.curveTo=function(t,i,r,n,s){for(var o=s[s.length-2],a=s[s.length-1],l=xi._segmentsCount(e.curveLength(o,a,t,i,r,n)),h=0,u=0,f=1;f<=l;++f){var p=f/l;h=o+(t-o)*p,u=a+(i-a)*p,s.push(h+(t+(r-t)*p-h)*p,u+(i+(n-i)*p-u)*p)}},e}(),hm=function(){function e(){this.reset()}return e.prototype.begin=function(t,i,r){this.reset(),this.style=t,this.start=i,this.attribStart=r},e.prototype.end=function(t,i){this.attribSize=i-this.attribStart,this.size=t-this.start},e.prototype.reset=function(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0},e}(),Ie,es=(Ie={},Ie[G.POLY]=$a,Ie[G.CIRC]=qa,Ie[G.ELIP]=qa,Ie[G.RECT]=rm,Ie[G.RREC]=nm,Ie),Ka=[],ur=[];function um(e){for(var t=e.points,i=0,r=0;r<t.length-2;r+=2)i+=(t[r+2]-t[r])*(t[r+3]+t[r+1]);return i>0}var Qa=function(){function e(t,i,r,n){i===void 0&&(i=null),r===void 0&&(r=null),n===void 0&&(n=null),this.points=[],this.holes=[],this.shape=t,this.lineStyle=r,this.fillStyle=i,this.matrix=n,this.type=t.type}return e.prototype.clone=function(){return new e(this.shape,this.fillStyle,this.lineStyle,this.matrix)},e.prototype.destroy=function(){this.shape=null,this.holes.length=0,this.holes=null,this.points.length=0,this.points=null,this.lineStyle=null,this.fillStyle=null},e}(),Ve=new H,fm=new di,cm=function(e){ts(t,e);function t(){var i=e.call(this)||this;return i.closePointEps=1e-4,i.boundsPadding=0,i.uvsFloat32=null,i.indicesUint16=null,i.batchable=!1,i.points=[],i.colors=[],i.uvs=[],i.indices=[],i.textureIds=[],i.graphicsData=[],i.drawCalls=[],i.batchDirty=-1,i.batches=[],i.dirty=0,i.cacheDirty=-1,i.clearDirty=0,i.shapeIndex=0,i._bounds=new di,i.boundsDirty=-1,i}return Object.defineProperty(t.prototype,"bounds",{get:function(){return this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.calculateBounds()),this._bounds},enumerable:!1,configurable:!0}),t.prototype.invalidate=function(){this.boundsDirty=-1,this.dirty++,this.batchDirty++,this.shapeIndex=0,this.points.length=0,this.colors.length=0,this.uvs.length=0,this.indices.length=0,this.textureIds.length=0;for(var i=0;i<this.drawCalls.length;i++)this.drawCalls[i].texArray.clear(),ur.push(this.drawCalls[i]);this.drawCalls.length=0;for(var i=0;i<this.batches.length;i++){var r=this.batches[i];r.reset(),Ka.push(r)}this.batches.length=0},t.prototype.clear=function(){return this.graphicsData.length>0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this},t.prototype.drawShape=function(i,r,n,s){r===void 0&&(r=null),n===void 0&&(n=null),s===void 0&&(s=null);var o=new Qa(i,r,n,s);return this.graphicsData.push(o),this.dirty++,this},t.prototype.drawHole=function(i,r){if(r===void 0&&(r=null),!this.graphicsData.length)return null;var n=new Qa(i,null,null,r),s=this.graphicsData[this.graphicsData.length-1];return n.lineStyle=s.lineStyle,s.holes.push(n),this.dirty++,this},t.prototype.destroy=function(){e.prototype.destroy.call(this);for(var i=0;i<this.graphicsData.length;++i)this.graphicsData[i].destroy();this.points.length=0,this.points=null,this.colors.length=0,this.colors=null,this.uvs.length=0,this.uvs=null,this.indices.length=0,this.indices=null,this.indexBuffer.destroy(),this.indexBuffer=null,this.graphicsData.length=0,this.graphicsData=null,this.drawCalls.length=0,this.drawCalls=null,this.batches.length=0,this.batches=null,this._bounds=null},t.prototype.containsPoint=function(i){for(var r=this.graphicsData,n=0;n<r.length;++n){var s=r[n];if(!!s.fillStyle.visible&&s.shape&&(s.matrix?s.matrix.applyInverse(i,Ve):Ve.copyFrom(i),s.shape.contains(Ve.x,Ve.y))){var o=!1;if(s.holes)for(var a=0;a<s.holes.length;a++){var l=s.holes[a];if(l.shape.contains(Ve.x,Ve.y)){o=!0;break}}if(!o)return!0}}return!1},t.prototype.updateBatches=function(i){if(!this.graphicsData.length){this.batchable=!0;return}if(!!this.validateBatching()){this.cacheDirty=this.dirty;var r=this.uvs,n=this.graphicsData,s=null,o=null;this.batches.length>0&&(s=this.batches[this.batches.length-1],o=s.style);for(var a=this.shapeIndex;a<n.length;a++){this.shapeIndex++;var l=n[a],h=l.fillStyle,u=l.lineStyle,f=es[l.type];f.build(l),l.matrix&&this.transformPoints(l.points,l.matrix);for(var p=0;p<2;p++){var d=p===0?h:u;if(!!d.visible){var v=d.texture.baseTexture,y=this.indices.length,m=this.points.length/2;v.wrapMode=ei.REPEAT,p===0?this.processFill(l):this.processLine(l);var g=this.points.length/2-m;g!==0&&(s&&!this._compareStyles(o,d)&&(s.end(y,m),s=null),s||(s=Ka.pop()||new hm,s.begin(d,y,m),this.batches.push(s),o=d),this.addUvs(this.points,r,d.texture,m,g,d.matrix))}}}var w=this.indices.length,_=this.points.length/2;if(s&&s.end(w,_),this.batches.length===0){this.batchable=!0;return}if(this.indicesUint16&&this.indices.length===this.indicesUint16.length)this.indicesUint16.set(this.indices);else{var T=_>65535&&i;this.indicesUint16=T?new Uint32Array(this.indices):new Uint16Array(this.indices)}this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}},t.prototype._compareStyles=function(i,r){return!(!i||!r||i.texture.baseTexture!==r.texture.baseTexture||i.color+i.alpha!==r.color+r.alpha||!!i.native!=!!r.native)},t.prototype.validateBatching=function(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(var i=0,r=this.graphicsData.length;i<r;i++){var n=this.graphicsData[i],s=n.fillStyle,o=n.lineStyle;if(s&&!s.texture.baseTexture.valid||o&&!o.texture.baseTexture.valid)return!1}return!0},t.prototype.packBatches=function(){this.batchDirty++,this.uvsFloat32=new Float32Array(this.uvs);for(var i=this.batches,r=0,n=i.length;r<n;r++)for(var s=i[r],o=0;o<s.size;o++){var a=s.start+o;this.indicesUint16[a]=this.indicesUint16[a]-s.attribStart}},t.prototype.isBatchable=function(){if(this.points.length>65535*2)return!1;for(var i=this.batches,r=0;r<i.length;r++)if(i[r].style.native)return!1;return this.points.length<t.BATCHABLE_SIZE*2},t.prototype.buildDrawCalls=function(){for(var i=++Y._globalBatch,r=0;r<this.drawCalls.length;r++)this.drawCalls[r].texArray.clear(),ur.push(this.drawCalls[r]);this.drawCalls.length=0;var n=this.colors,s=this.textureIds,o=ur.pop();o||(o=new Zn,o.texArray=new Jn),o.texArray.count=0,o.start=0,o.size=0,o.type=Ut.TRIANGLES;var a=0,l=null,h=0,u=!1,f=Ut.TRIANGLES,p=0;this.drawCalls.push(o);for(var r=0;r<this.batches.length;r++){var d=this.batches[r],v=8,y=d.style,m=y.texture.baseTexture;u!==!!y.native&&(u=!!y.native,f=u?Ut.LINES:Ut.TRIANGLES,l=null,a=v,i++),l!==m&&(l=m,m._batchEnabled!==i&&(a===v&&(i++,a=0,o.size>0&&(o=ur.pop(),o||(o=new Zn,o.texArray=new Jn),this.drawCalls.push(o)),o.start=p,o.size=0,o.texArray.count=0,o.type=f),m.touched=1,m._batchEnabled=i,m._batchLocation=a,m.wrapMode=ei.REPEAT,o.texArray.elements[o.texArray.count++]=m,a++)),o.size+=d.size,p+=d.size,h=m._batchLocation,this.addColors(n,y.color,y.alpha,d.attribSize,d.attribStart),this.addTextureIds(s,h,d.attribSize,d.attribStart)}Y._globalBatch=i,this.packAttributes()},t.prototype.packAttributes=function(){for(var i=this.points,r=this.uvs,n=this.colors,s=this.textureIds,o=new ArrayBuffer(i.length*3*4),a=new Float32Array(o),l=new Uint32Array(o),h=0,u=0;u<i.length/2;u++)a[h++]=i[u*2],a[h++]=i[u*2+1],a[h++]=r[u*2],a[h++]=r[u*2+1],l[h++]=n[u],a[h++]=s[u];this._buffer.update(o),this._indexBuffer.update(this.indicesUint16)},t.prototype.processFill=function(i){if(i.holes.length)this.processHoles(i.holes),$a.triangulate(i,this);else{var r=es[i.type];r.triangulate(i,this)}},t.prototype.processLine=function(i){Za(i,this);for(var r=0;r<i.holes.length;r++)Za(i.holes[r],this)},t.prototype.processHoles=function(i){for(var r=0;r<i.length;r++){var n=i[r],s=es[n.type];s.build(n),n.matrix&&this.transformPoints(n.points,n.matrix)}},t.prototype.calculateBounds=function(){var i=this._bounds,r=fm,n=Z.IDENTITY;this._bounds.clear(),r.clear();for(var s=0;s<this.graphicsData.length;s++){var o=this.graphicsData[s],a=o.shape,l=o.type,h=o.lineStyle,u=o.matrix||Z.IDENTITY,f=0;if(h&&h.visible){var p=h.alignment;f=h.width,l===G.POLY?um(a)?f=f*(1-p):f=f*p:f=f*Math.max(0,p)}if(n!==u&&(r.isEmpty()||(i.addBoundsMatrix(r,n),r.clear()),n=u),l===G.RECT||l===G.RREC){var d=a;r.addFramePad(d.x,d.y,d.x+d.width,d.y+d.height,f,f)}else if(l===G.CIRC){var v=a;r.addFramePad(v.x,v.y,v.x,v.y,v.radius+f,v.radius+f)}else if(l===G.ELIP){var y=a;r.addFramePad(y.x,y.y,y.x,y.y,y.width+f,y.height+f)}else{var m=a;i.addVerticesMatrix(n,m.points,0,m.points.length,f,f)}}r.isEmpty()||i.addBoundsMatrix(r,n),i.pad(this.boundsPadding,this.boundsPadding)},t.prototype.transformPoints=function(i,r){for(var n=0;n<i.length/2;n++){var s=i[n*2],o=i[n*2+1];i[n*2]=r.a*s+r.c*o+r.tx,i[n*2+1]=r.b*s+r.d*o+r.ty}},t.prototype.addColors=function(i,r,n,s,o){o===void 0&&(o=0);var a=(r>>16)+(r&65280)+((r&255)<<16),l=yn(a,n);i.length=Math.max(i.length,o+s);for(var h=0;h<s;h++)i[o+h]=l},t.prototype.addTextureIds=function(i,r,n,s){s===void 0&&(s=0),i.length=Math.max(i.length,s+n);for(var o=0;o<n;o++)i[s+o]=r},t.prototype.addUvs=function(i,r,n,s,o,a){a===void 0&&(a=null);for(var l=0,h=r.length,u=n.frame;l<o;){var f=i[(s+l)*2],p=i[(s+l)*2+1];if(a){var d=a.a*f+a.c*p+a.tx;p=a.b*f+a.d*p+a.ty,f=d}l++,r.push(f/u.width,p/u.height)}var v=n.baseTexture;(u.width<v.width||u.height<v.height)&&this.adjustUvs(r,n,h,o)},t.prototype.adjustUvs=function(i,r,n,s){for(var o=r.baseTexture,a=1e-6,l=n+s*2,h=r.frame,u=h.width/o.width,f=h.height/o.height,p=h.x/h.width,d=h.y/h.height,v=Math.floor(i[n]+a),y=Math.floor(i[n+1]+a),m=n+2;m<l;m+=2)v=Math.min(v,Math.floor(i[m]+a)),y=Math.min(y,Math.floor(i[m+1]+a));p-=v,d-=y;for(var m=n;m<l;m+=2)i[m]=(i[m]+p)*u,i[m+1]=(i[m+1]+d)*f},t.BATCHABLE_SIZE=100,t}(Wa),pm=function(e){ts(t,e);function t(){var i=e!==null&&e.apply(this,arguments)||this;return i.width=0,i.alignment=.5,i.native=!1,i.cap=ie.BUTT,i.join=ee.MITER,i.miterLimit=10,i}return t.prototype.clone=function(){var i=new t;return i.color=this.color,i.alpha=this.alpha,i.texture=this.texture,i.matrix=this.matrix,i.visible=this.visible,i.width=this.width,i.alignment=this.alignment,i.native=this.native,i.cap=this.cap,i.join=this.join,i.miterLimit=this.miterLimit,i},t.prototype.reset=function(){e.prototype.reset.call(this),this.color=0,this.alignment=.5,this.width=0,this.native=!1},t}(Va),dm=new Float32Array(3),is={},tt=function(e){ts(t,e);function t(i){i===void 0&&(i=null);var r=e.call(this)||this;return r.shader=null,r.pluginName="batch",r.currentPath=null,r.batches=[],r.batchTint=-1,r.batchDirty=-1,r.vertexData=null,r._fillStyle=new Va,r._lineStyle=new pm,r._matrix=null,r._holeMode=!1,r.state=ar.for2d(),r._geometry=i||new cm,r._geometry.refCount++,r._transformID=-1,r.tint=16777215,r.blendMode=b.NORMAL,r}return Object.defineProperty(t.prototype,"geometry",{get:function(){return this._geometry},enumerable:!1,configurable:!0}),t.prototype.clone=function(){return this.finishPoly(),new t(this._geometry)},Object.defineProperty(t.prototype,"blendMode",{get:function(){return this.state.blendMode},set:function(i){this.state.blendMode=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"tint",{get:function(){return this._tint},set:function(i){this._tint=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fill",{get:function(){return this._fillStyle},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"line",{get:function(){return this._lineStyle},enumerable:!1,configurable:!0}),t.prototype.lineStyle=function(i,r,n,s,o){return i===void 0&&(i=null),r===void 0&&(r=0),n===void 0&&(n=1),s===void 0&&(s=.5),o===void 0&&(o=!1),typeof i=="number"&&(i={width:i,color:r,alpha:n,alignment:s,native:o}),this.lineTextureStyle(i)},t.prototype.lineTextureStyle=function(i){i=Object.assign({width:0,texture:z.WHITE,color:i&&i.texture?16777215:0,alpha:1,matrix:null,alignment:.5,native:!1,cap:ie.BUTT,join:ee.MITER,miterLimit:10},i),this.currentPath&&this.startPoly();var r=i.width>0&&i.alpha>0;return r?(i.matrix&&(i.matrix=i.matrix.clone(),i.matrix.invert()),Object.assign(this._lineStyle,{visible:r},i)):this._lineStyle.reset(),this},t.prototype.startPoly=function(){if(this.currentPath){var i=this.currentPath.points,r=this.currentPath.points.length;r>2&&(this.drawShape(this.currentPath),this.currentPath=new bn,this.currentPath.closeStroke=!1,this.currentPath.points.push(i[r-2],i[r-1]))}else this.currentPath=new bn,this.currentPath.closeStroke=!1},t.prototype.finishPoly=function(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)},t.prototype.moveTo=function(i,r){return this.startPoly(),this.currentPath.points[0]=i,this.currentPath.points[1]=r,this},t.prototype.lineTo=function(i,r){this.currentPath||this.moveTo(0,0);var n=this.currentPath.points,s=n[n.length-2],o=n[n.length-1];return(s!==i||o!==r)&&n.push(i,r),this},t.prototype._initCurve=function(i,r){i===void 0&&(i=0),r===void 0&&(r=0),this.currentPath?this.currentPath.points.length===0&&(this.currentPath.points=[i,r]):this.moveTo(i,r)},t.prototype.quadraticCurveTo=function(i,r,n,s){this._initCurve();var o=this.currentPath.points;return o.length===0&&this.moveTo(0,0),lm.curveTo(i,r,n,s,o),this},t.prototype.bezierCurveTo=function(i,r,n,s,o,a){return this._initCurve(),am.curveTo(i,r,n,s,o,a,this.currentPath.points),this},t.prototype.arcTo=function(i,r,n,s,o){this._initCurve(i,r);var a=this.currentPath.points,l=Ja.curveTo(i,r,n,s,o,a);if(l){var h=l.cx,u=l.cy,f=l.radius,p=l.startAngle,d=l.endAngle,v=l.anticlockwise;this.arc(h,u,f,p,d,v)}return this},t.prototype.arc=function(i,r,n,s,o,a){if(a===void 0&&(a=!1),s===o)return this;!a&&o<=s?o+=Qi:a&&s<=o&&(s+=Qi);var l=o-s;if(l===0)return this;var h=i+Math.cos(s)*n,u=r+Math.sin(s)*n,f=this._geometry.closePointEps,p=this.currentPath?this.currentPath.points:null;if(p){var d=Math.abs(p[p.length-2]-h),v=Math.abs(p[p.length-1]-u);d<f&&v<f||p.push(h,u)}else this.moveTo(h,u),p=this.currentPath.points;return Ja.arc(h,u,i,r,n,s,o,a,p),this},t.prototype.beginFill=function(i,r){return i===void 0&&(i=0),r===void 0&&(r=1),this.beginTextureFill({texture:z.WHITE,color:i,alpha:r})},t.prototype.beginTextureFill=function(i){i=Object.assign({texture:z.WHITE,color:16777215,alpha:1,matrix:null},i),this.currentPath&&this.startPoly();var r=i.alpha>0;return r?(i.matrix&&(i.matrix=i.matrix.clone(),i.matrix.invert()),Object.assign(this._fillStyle,{visible:r},i)):this._fillStyle.reset(),this},t.prototype.endFill=function(){return this.finishPoly(),this._fillStyle.reset(),this},t.prototype.drawRect=function(i,r,n,s){return this.drawShape(new X(i,r,n,s))},t.prototype.drawRoundedRect=function(i,r,n,s,o){return this.drawShape(new Pd(i,r,n,s,o))},t.prototype.drawCircle=function(i,r,n){return this.drawShape(new xd(i,r,n))},t.prototype.drawEllipse=function(i,r,n,s){return this.drawShape(new wd(i,r,n,s))},t.prototype.drawPolygon=function(){for(var i=arguments,r=[],n=0;n<arguments.length;n++)r[n]=i[n];var s,o=!0,a=r[0];a.points?(o=a.closeStroke,s=a.points):Array.isArray(r[0])?s=r[0]:s=r;var l=new bn(s);return l.closeStroke=o,this.drawShape(l),this},t.prototype.drawShape=function(i){return this._holeMode?this._geometry.drawHole(i,this._matrix):this._geometry.drawShape(i,this._fillStyle.clone(),this._lineStyle.clone(),this._matrix),this},t.prototype.clear=function(){return this._geometry.clear(),this._lineStyle.reset(),this._fillStyle.reset(),this._boundsID++,this._matrix=null,this._holeMode=!1,this.currentPath=null,this},t.prototype.isFastRect=function(){var i=this._geometry.graphicsData;return i.length===1&&i[0].shape.type===G.RECT&&!i[0].matrix&&!i[0].holes.length&&!(i[0].lineStyle.visible&&i[0].lineStyle.width)},t.prototype._render=function(i){this.finishPoly();var r=this._geometry,n=i.context.supports.uint32Indices;r.updateBatches(n),r.batchable?(this.batchDirty!==r.batchDirty&&this._populateBatches(),this._renderBatched(i)):(i.batch.flush(),this._renderDirect(i))},t.prototype._populateBatches=function(){var i=this._geometry,r=this.blendMode,n=i.batches.length;this.batchTint=-1,this._transformID=-1,this.batchDirty=i.batchDirty,this.batches.length=n,this.vertexData=new Float32Array(i.points);for(var s=0;s<n;s++){var o=i.batches[s],a=o.style.color,l=new Float32Array(this.vertexData.buffer,o.attribStart*4*2,o.attribSize*2),h=new Float32Array(i.uvsFloat32.buffer,o.attribStart*4*2,o.attribSize*2),u=new Uint16Array(i.indicesUint16.buffer,o.start*2,o.size),f={vertexData:l,blendMode:r,indices:u,uvs:h,_batchRGB:ve(a),_tintRGB:a,_texture:o.style.texture,alpha:o.style.alpha,worldAlpha:1};this.batches[s]=f}},t.prototype._renderBatched=function(i){if(!!this.batches.length){i.batch.setObjectRenderer(i.plugins[this.pluginName]),this.calculateVertices(),this.calculateTints();for(var r=0,n=this.batches.length;r<n;r++){var s=this.batches[r];s.worldAlpha=this.worldAlpha*s.alpha,i.plugins[this.pluginName].render(s)}}},t.prototype._renderDirect=function(i){var r=this._resolveDirectShader(i),n=this._geometry,s=this.tint,o=this.worldAlpha,a=r.uniforms,l=n.drawCalls;a.translationMatrix=this.transform.worldTransform,a.tint[0]=(s>>16&255)/255*o,a.tint[1]=(s>>8&255)/255*o,a.tint[2]=(s&255)/255*o,a.tint[3]=o,i.shader.bind(r),i.geometry.bind(n,r),i.state.set(this.state);for(var h=0,u=l.length;h<u;h++)this._renderDrawCallDirect(i,n.drawCalls[h])},t.prototype._renderDrawCallDirect=function(i,r){for(var n=r.texArray,s=r.type,o=r.size,a=r.start,l=n.count,h=0;h<l;h++)i.texture.bind(n.elements[h],h);i.geometry.draw(s,o,a)},t.prototype._resolveDirectShader=function(i){var r=this.shader,n=this.pluginName;if(!r){if(!is[n]){for(var s=i.plugins.batch.MAX_TEXTURES,o=new Int32Array(s),a=0;a<s;a++)o[a]=a;var l={tint:new Float32Array([1,1,1,1]),translationMatrix:new Z,default:Pe.from({uSamplers:o},!0)},h=i.plugins[n]._shader.program;is[n]=new Xn(h,l)}r=is[n]}return r},t.prototype._calculateBounds=function(){this.finishPoly();var i=this._geometry;if(!!i.graphicsData.length){var r=i.bounds,n=r.minX,s=r.minY,o=r.maxX,a=r.maxY;this._bounds.addFrame(this.transform,n,s,o,a)}},t.prototype.containsPoint=function(i){return this.worldTransform.applyInverse(i,t._TEMP_POINT),this._geometry.containsPoint(t._TEMP_POINT)},t.prototype.calculateTints=function(){if(this.batchTint!==this.tint){this.batchTint=this.tint;for(var i=ve(this.tint,dm),r=0;r<this.batches.length;r++){var n=this.batches[r],s=n._batchRGB,o=i[0]*s[0]*255,a=i[1]*s[1]*255,l=i[2]*s[2]*255,h=(o<<16)+(a<<8)+(l|0);n._tintRGB=(h>>16)+(h&65280)+((h&255)<<16)}}},t.prototype.calculateVertices=function(){var i=this.transform._worldID;if(this._transformID!==i){this._transformID=i;for(var r=this.transform.worldTransform,n=r.a,s=r.b,o=r.c,a=r.d,l=r.tx,h=r.ty,u=this._geometry.points,f=this.vertexData,p=0,d=0;d<u.length;d+=2){var v=u[d],y=u[d+1];f[p++]=n*v+o*y+l,f[p++]=a*y+s*v+h}}},t.prototype.closePath=function(){var i=this.currentPath;return i&&(i.closeStroke=!0,this.finishPoly()),this},t.prototype.setMatrix=function(i){return this._matrix=i,this},t.prototype.beginHole=function(){return this.finishPoly(),this._holeMode=!0,this},t.prototype.endHole=function(){return this.finishPoly(),this._holeMode=!1,this},t.prototype.destroy=function(i){this._geometry.refCount--,this._geometry.refCount===0&&this._geometry.dispose(),this._matrix=null,this.currentPath=null,this._lineStyle.destroy(),this._lineStyle=null,this._fillStyle.destroy(),this._fillStyle=null,this._geometry=null,this.shader=null,this.vertexData=null,this.batches.length=0,this.batches=null,e.prototype.destroy.call(this,i)},t._TEMP_POINT=new H,t}(et);/*!
599
+ * @pixi/text - v6.2.2
600
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
601
+ *
602
+ * @pixi/text is licensed under the MIT License.
603
+ * http://www.opensource.org/licenses/mit-license
604
+ *//*! *****************************************************************************
605
+ Copyright (c) Microsoft Corporation. All rights reserved.
606
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
607
+ this file except in compliance with the License. You may obtain a copy of the
608
+ License at http://www.apache.org/licenses/LICENSE-2.0
609
+
610
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
611
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
612
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
613
+ MERCHANTABLITY OR NON-INFRINGEMENT.
614
+
615
+ See the Apache Version 2.0 License for specific language governing permissions
616
+ and limitations under the License.
617
+ ***************************************************************************** */var rs=function(e,t){return rs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},rs(e,t)};function vm(e,t){rs(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var fr;(function(e){e[e.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",e[e.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL"})(fr||(fr={}));var ns={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:fr.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100,leading:0},mm=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],Ce=function(){function e(t){this.styleID=0,this.reset(),os(this,t,t)}return e.prototype.clone=function(){var t={};return os(t,this,ns),new e(t)},e.prototype.reset=function(){os(this,ns,ns)},Object.defineProperty(e.prototype,"align",{get:function(){return this._align},set:function(t){this._align!==t&&(this._align=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"breakWords",{get:function(){return this._breakWords},set:function(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dropShadow",{get:function(){return this._dropShadow},set:function(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dropShadowAlpha",{get:function(){return this._dropShadowAlpha},set:function(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dropShadowAngle",{get:function(){return this._dropShadowAngle},set:function(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dropShadowBlur",{get:function(){return this._dropShadowBlur},set:function(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dropShadowColor",{get:function(){return this._dropShadowColor},set:function(t){var i=ss(t);this._dropShadowColor!==i&&(this._dropShadowColor=i,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"dropShadowDistance",{get:function(){return this._dropShadowDistance},set:function(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fill",{get:function(){return this._fill},set:function(t){var i=ss(t);this._fill!==i&&(this._fill=i,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fillGradientType",{get:function(){return this._fillGradientType},set:function(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fillGradientStops",{get:function(){return this._fillGradientStops},set:function(t){ym(this._fillGradientStops,t)||(this._fillGradientStops=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fontFamily",{get:function(){return this._fontFamily},set:function(t){this.fontFamily!==t&&(this._fontFamily=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fontSize",{get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fontStyle",{get:function(){return this._fontStyle},set:function(t){this._fontStyle!==t&&(this._fontStyle=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fontVariant",{get:function(){return this._fontVariant},set:function(t){this._fontVariant!==t&&(this._fontVariant=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"fontWeight",{get:function(){return this._fontWeight},set:function(t){this._fontWeight!==t&&(this._fontWeight=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"letterSpacing",{get:function(){return this._letterSpacing},set:function(t){this._letterSpacing!==t&&(this._letterSpacing=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lineHeight",{get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leading",{get:function(){return this._leading},set:function(t){this._leading!==t&&(this._leading=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lineJoin",{get:function(){return this._lineJoin},set:function(t){this._lineJoin!==t&&(this._lineJoin=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"miterLimit",{get:function(){return this._miterLimit},set:function(t){this._miterLimit!==t&&(this._miterLimit=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"padding",{get:function(){return this._padding},set:function(t){this._padding!==t&&(this._padding=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"stroke",{get:function(){return this._stroke},set:function(t){var i=ss(t);this._stroke!==i&&(this._stroke=i,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"strokeThickness",{get:function(){return this._strokeThickness},set:function(t){this._strokeThickness!==t&&(this._strokeThickness=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"textBaseline",{get:function(){return this._textBaseline},set:function(t){this._textBaseline!==t&&(this._textBaseline=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"trim",{get:function(){return this._trim},set:function(t){this._trim!==t&&(this._trim=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"whiteSpace",{get:function(){return this._whiteSpace},set:function(t){this._whiteSpace!==t&&(this._whiteSpace=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"wordWrap",{get:function(){return this._wordWrap},set:function(t){this._wordWrap!==t&&(this._wordWrap=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"wordWrapWidth",{get:function(){return this._wordWrapWidth},set:function(t){this._wordWrapWidth!==t&&(this._wordWrapWidth=t,this.styleID++)},enumerable:!1,configurable:!0}),e.prototype.toFontString=function(){var t=typeof this.fontSize=="number"?this.fontSize+"px":this.fontSize,i=this.fontFamily;Array.isArray(this.fontFamily)||(i=this.fontFamily.split(","));for(var r=i.length-1;r>=0;r--){var n=i[r].trim();!/([\"\'])[^\'\"]+\1/.test(n)&&mm.indexOf(n)<0&&(n='"'+n+'"'),i[r]=n}return this.fontStyle+" "+this.fontVariant+" "+this.fontWeight+" "+t+" "+i.join(",")},e}();function tl(e){return typeof e=="number"?hi(e):(typeof e=="string"&&e.indexOf("0x")===0&&(e=e.replace("0x","#")),e)}function ss(e){if(Array.isArray(e)){for(var t=0;t<e.length;++t)e[t]=tl(e[t]);return e}else return tl(e)}function ym(e,t){if(!Array.isArray(e)||!Array.isArray(t)||e.length!==t.length)return!1;for(var i=0;i<e.length;++i)if(e[i]!==t[i])return!1;return!0}function os(e,t,i){for(var r in i)Array.isArray(t[r])?e[r]=t[r].slice():e[r]=t[r]}var wt=function(){function e(t,i,r,n,s,o,a,l,h){this.text=t,this.style=i,this.width=r,this.height=n,this.lines=s,this.lineWidths=o,this.lineHeight=a,this.maxLineWidth=l,this.fontProperties=h}return e.measureText=function(t,i,r,n){n===void 0&&(n=e._canvas),r=r??i.wordWrap;var s=i.toFontString(),o=e.measureFont(s);o.fontSize===0&&(o.fontSize=i.fontSize,o.ascent=i.fontSize);var a=n.getContext("2d");a.font=s;for(var l=r?e.wordWrap(t,i,n):t,h=l.split(/(?:\r\n|\r|\n)/),u=new Array(h.length),f=0,p=0;p<h.length;p++){var d=a.measureText(h[p]).width+(h[p].length-1)*i.letterSpacing;u[p]=d,f=Math.max(f,d)}var v=f+i.strokeThickness;i.dropShadow&&(v+=i.dropShadowDistance);var y=i.lineHeight||o.fontSize+i.strokeThickness,m=Math.max(y,o.fontSize+i.strokeThickness)+(h.length-1)*(y+i.leading);return i.dropShadow&&(m+=i.dropShadowDistance),new e(t,i,v,m,h,u,y+i.leading,f,o)},e.wordWrap=function(t,i,r){r===void 0&&(r=e._canvas);for(var n=r.getContext("2d"),s=0,o="",a="",l=Object.create(null),h=i.letterSpacing,u=i.whiteSpace,f=e.collapseSpaces(u),p=e.collapseNewlines(u),d=!f,v=i.wordWrapWidth+h,y=e.tokenize(t),m=0;m<y.length;m++){var g=y[m];if(e.isNewline(g)){if(!p){a+=e.addLine(o),d=!f,o="",s=0;continue}g=" "}if(f){var w=e.isBreakingSpace(g),_=e.isBreakingSpace(o[o.length-1]);if(w&&_)continue}var T=e.getFromCache(g,h,l,n);if(T>v)if(o!==""&&(a+=e.addLine(o),o="",s=0),e.canBreakWords(g,i.breakWords))for(var x=e.wordWrapSplit(g),P=0;P<x.length;P++){for(var A=x[P],k=1;x[P+k];){var C=x[P+k],S=A[A.length-1];if(!e.canBreakChars(S,C,g,P,i.breakWords))A+=C;else break;k++}P+=A.length-1;var M=e.getFromCache(A,h,l,n);M+s>v&&(a+=e.addLine(o),d=!1,o="",s=0),o+=A,s+=M}else{o.length>0&&(a+=e.addLine(o),o="",s=0);var N=m===y.length-1;a+=e.addLine(g,!N),d=!1,o="",s=0}else T+s>v&&(d=!1,a+=e.addLine(o),o="",s=0),(o.length>0||!e.isBreakingSpace(g)||d)&&(o+=g,s+=T)}return a+=e.addLine(o,!1),a},e.addLine=function(t,i){return i===void 0&&(i=!0),t=e.trimRight(t),t=i?t+`
618
+ `:t,t},e.getFromCache=function(t,i,r,n){var s=r[t];if(typeof s!="number"){var o=t.length*i;s=n.measureText(t).width+o,r[t]=s}return s},e.collapseSpaces=function(t){return t==="normal"||t==="pre-line"},e.collapseNewlines=function(t){return t==="normal"},e.trimRight=function(t){if(typeof t!="string")return"";for(var i=t.length-1;i>=0;i--){var r=t[i];if(!e.isBreakingSpace(r))break;t=t.slice(0,-1)}return t},e.isNewline=function(t){return typeof t!="string"?!1:e._newlines.indexOf(t.charCodeAt(0))>=0},e.isBreakingSpace=function(t,i){return typeof t!="string"?!1:e._breakingSpaces.indexOf(t.charCodeAt(0))>=0},e.tokenize=function(t){var i=[],r="";if(typeof t!="string")return i;for(var n=0;n<t.length;n++){var s=t[n],o=t[n+1];if(e.isBreakingSpace(s,o)||e.isNewline(s)){r!==""&&(i.push(r),r=""),i.push(s);continue}r+=s}return r!==""&&i.push(r),i},e.canBreakWords=function(t,i){return i},e.canBreakChars=function(t,i,r,n,s){return!0},e.wordWrapSplit=function(t){return t.split("")},e.measureFont=function(t){if(e._fonts[t])return e._fonts[t];var i={ascent:0,descent:0,fontSize:0},r=e._canvas,n=e._context;n.font=t;var s=e.METRICS_STRING+e.BASELINE_SYMBOL,o=Math.ceil(n.measureText(s).width),a=Math.ceil(n.measureText(e.BASELINE_SYMBOL).width),l=Math.ceil(e.HEIGHT_MULTIPLIER*a);a=a*e.BASELINE_MULTIPLIER|0,r.width=o,r.height=l,n.fillStyle="#f00",n.fillRect(0,0,o,l),n.font=t,n.textBaseline="alphabetic",n.fillStyle="#000",n.fillText(s,0,a);var h=n.getImageData(0,0,o,l).data,u=h.length,f=o*4,p=0,d=0,v=!1;for(p=0;p<a;++p){for(var y=0;y<f;y+=4)if(h[d+y]!==255){v=!0;break}if(!v)d+=f;else break}for(i.ascent=a-p,d=u-f,v=!1,p=l;p>a;--p){for(var y=0;y<f;y+=4)if(h[d+y]!==255){v=!0;break}if(!v)d-=f;else break}return i.descent=p-a,i.fontSize=i.ascent+i.descent,e._fonts[t]=i,i},e.clearMetrics=function(t){t===void 0&&(t=""),t?delete e._fonts[t]:e._fonts={}},e}(),cr=function(){try{var e=new OffscreenCanvas(0,0),t=e.getContext("2d");return t&&t.measureText?e:document.createElement("canvas")}catch{return document.createElement("canvas")}}();cr.width=cr.height=10,wt._canvas=cr,wt._context=cr.getContext("2d"),wt._fonts={},wt.METRICS_STRING="|\xC9q\xC5",wt.BASELINE_SYMBOL="M",wt.BASELINE_MULTIPLIER=1.4,wt.HEIGHT_MULTIPLIER=2,wt._newlines=[10,13],wt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];var gm={texture:!0,children:!1,baseTexture:!0},$e=function(e){vm(t,e);function t(i,r,n){var s=this,o=!1;n||(n=document.createElement("canvas"),o=!0),n.width=3,n.height=3;var a=z.from(n);return a.orig=new X,a.trim=new X,s=e.call(this,a)||this,s._ownCanvas=o,s.canvas=n,s.context=s.canvas.getContext("2d"),s._resolution=F.RESOLUTION,s._autoResolution=!0,s._text=null,s._style=null,s._styleListener=null,s._font="",s.text=i,s.style=r,s.localStyleID=-1,s}return t.prototype.updateText=function(i){var r=this._style;if(this.localStyleID!==r.styleID&&(this.dirty=!0,this.localStyleID=r.styleID),!(!this.dirty&&i)){this._font=this._style.toFontString();var n=this.context,s=wt.measureText(this._text||" ",this._style,this._style.wordWrap,this.canvas),o=s.width,a=s.height,l=s.lines,h=s.lineHeight,u=s.lineWidths,f=s.maxLineWidth,p=s.fontProperties;this.canvas.width=Math.ceil(Math.ceil(Math.max(1,o)+r.padding*2)*this._resolution),this.canvas.height=Math.ceil(Math.ceil(Math.max(1,a)+r.padding*2)*this._resolution),n.scale(this._resolution,this._resolution),n.clearRect(0,0,this.canvas.width,this.canvas.height),n.font=this._font,n.lineWidth=r.strokeThickness,n.textBaseline=r.textBaseline,n.lineJoin=r.lineJoin,n.miterLimit=r.miterLimit;for(var d,v,y=r.dropShadow?2:1,m=0;m<y;++m){var g=r.dropShadow&&m===0,w=g?Math.ceil(Math.max(1,a)+r.padding*2):0,_=w*this._resolution;if(g){n.fillStyle="black",n.strokeStyle="black";var T=r.dropShadowColor,x=ve(typeof T=="number"?T:Ge(T)),P=r.dropShadowBlur*this._resolution,A=r.dropShadowDistance*this._resolution;n.shadowColor="rgba("+x[0]*255+","+x[1]*255+","+x[2]*255+","+r.dropShadowAlpha+")",n.shadowBlur=P,n.shadowOffsetX=Math.cos(r.dropShadowAngle)*A,n.shadowOffsetY=Math.sin(r.dropShadowAngle)*A+_}else n.fillStyle=this._generateFillStyle(r,l,s),n.strokeStyle=r.stroke,n.shadowColor="black",n.shadowBlur=0,n.shadowOffsetX=0,n.shadowOffsetY=0;var k=(h-p.fontSize)/2;(!t.nextLineHeightBehavior||h-p.fontSize<0)&&(k=0);for(var C=0;C<l.length;C++)d=r.strokeThickness/2,v=r.strokeThickness/2+C*h+p.ascent+k,r.align==="right"?d+=f-u[C]:r.align==="center"&&(d+=(f-u[C])/2),r.stroke&&r.strokeThickness&&this.drawLetterSpacing(l[C],d+r.padding,v+r.padding-w,!0),r.fill&&this.drawLetterSpacing(l[C],d+r.padding,v+r.padding-w)}this.updateTexture()}},t.prototype.drawLetterSpacing=function(i,r,n,s){s===void 0&&(s=!1);var o=this._style,a=o.letterSpacing,l="letterSpacing"in CanvasRenderingContext2D.prototype||"textLetterSpacing"in CanvasRenderingContext2D.prototype;if(a===0||l){l&&(this.context.letterSpacing=a,this.context.textLetterSpacing=a),s?this.context.strokeText(i,r,n):this.context.fillText(i,r,n);return}for(var h=r,u=Array.from?Array.from(i):i.split(""),f=this.context.measureText(i).width,p=0,d=0;d<u.length;++d){var v=u[d];s?this.context.strokeText(v,h,n):this.context.fillText(v,h,n);for(var y="",m=d+1;m<u.length;++m)y+=u[m];p=this.context.measureText(y).width,h+=f-p+a,f=p}},t.prototype.updateTexture=function(){var i=this.canvas;if(this._style.trim){var r=Jo(i);r.data&&(i.width=r.width,i.height=r.height,this.context.putImageData(r.data,0,0))}var n=this._texture,s=this._style,o=s.trim?0:s.padding,a=n.baseTexture;n.trim.width=n._frame.width=i.width/this._resolution,n.trim.height=n._frame.height=i.height/this._resolution,n.trim.x=-o,n.trim.y=-o,n.orig.width=n._frame.width-o*2,n.orig.height=n._frame.height-o*2,this._onTextureUpdate(),a.setRealSize(i.width,i.height,this._resolution),n.updateUvs(),this._recursivePostUpdateTransform(),this.dirty=!1},t.prototype._render=function(i){this._autoResolution&&this._resolution!==i.resolution&&(this._resolution=i.resolution,this.dirty=!0),this.updateText(!0),e.prototype._render.call(this,i)},t.prototype.getLocalBounds=function(i){return this.updateText(!0),e.prototype.getLocalBounds.call(this,i)},t.prototype._calculateBounds=function(){this.updateText(!0),this.calculateVertices(),this._bounds.addQuad(this.vertexData)},t.prototype._generateFillStyle=function(i,r,n){var s=i.fill;if(Array.isArray(s)){if(s.length===1)return s[0]}else return s;var o,a=i.dropShadow?i.dropShadowDistance:0,l=i.padding||0,h=this.canvas.width/this._resolution-a-l*2,u=this.canvas.height/this._resolution-a-l*2,f=s.slice(),p=i.fillGradientStops.slice();if(!p.length)for(var d=f.length+1,v=1;v<d;++v)p.push(v/d);if(f.unshift(s[0]),p.unshift(0),f.push(s[s.length-1]),p.push(1),i.fillGradientType===fr.LINEAR_VERTICAL){o=this.context.createLinearGradient(h/2,l,h/2,u+l);for(var y=n.fontProperties.fontSize+i.strokeThickness,v=0;v<r.length;v++){var m=n.lineHeight*(v-1)+y,g=n.lineHeight*v,w=g;v>0&&m>g&&(w=(g+m)/2);var _=g+y,T=n.lineHeight*(v+1),x=_;v+1<r.length&&T<_&&(x=(_+T)/2);for(var P=(x-w)/u,A=0;A<f.length;A++){var k=0;typeof p[A]=="number"?k=p[A]:k=A/f.length;var C=Math.min(1,Math.max(0,w/u+k*P));C=Number(C.toFixed(5)),o.addColorStop(C,f[A])}}}else{o=this.context.createLinearGradient(l,u/2,h+l,u/2);for(var S=f.length+1,M=1,v=0;v<f.length;v++){var N=void 0;typeof p[v]=="number"?N=p[v]:N=M/S,o.addColorStop(N,f[v]),M++}}return o},t.prototype.destroy=function(i){typeof i=="boolean"&&(i={children:i}),i=Object.assign({},gm,i),e.prototype.destroy.call(this,i),this._ownCanvas&&(this.canvas.height=this.canvas.width=0),this.context=null,this.canvas=null,this._style=null},Object.defineProperty(t.prototype,"width",{get:function(){return this.updateText(!0),Math.abs(this.scale.x)*this._texture.orig.width},set:function(i){this.updateText(!0);var r=me(this.scale.x)||1;this.scale.x=r*i/this._texture.orig.width,this._width=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this.updateText(!0),Math.abs(this.scale.y)*this._texture.orig.height},set:function(i){this.updateText(!0);var r=me(this.scale.y)||1;this.scale.y=r*i/this._texture.orig.height,this._height=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"style",{get:function(){return this._style},set:function(i){i=i||{},i instanceof Ce?this._style=i:this._style=new Ce(i),this.localStyleID=-1,this.dirty=!0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{get:function(){return this._text},set:function(i){i=String(i??""),this._text!==i&&(this._text=i,this.dirty=!0)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"resolution",{get:function(){return this._resolution},set:function(i){this._autoResolution=!1,this._resolution!==i&&(this._resolution=i,this.dirty=!0)},enumerable:!1,configurable:!0}),t.nextLineHeightBehavior=!1,t}(Lt);/*!
619
+ * @pixi/canvas-text - v6.2.2
620
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
621
+ *
622
+ * @pixi/canvas-text is licensed under the MIT License.
623
+ * http://www.opensource.org/licenses/mit-license
624
+ */$e.prototype._renderCanvas=function(t){this._autoResolution&&this._resolution!==t.resolution&&(this._resolution=t.resolution,this.dirty=!0),this.updateText(!0),Lt.prototype._renderCanvas.call(this,t)};/*!
625
+ * @pixi/mixin-get-child-by-name - v6.2.2
626
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
627
+ *
628
+ * @pixi/mixin-get-child-by-name is licensed under the MIT License.
629
+ * http://www.opensource.org/licenses/mit-license
630
+ */Gt.prototype.name=null,et.prototype.getChildByName=function(t,i){for(var r=0,n=this.children.length;r<n;r++)if(this.children[r].name===t)return this.children[r];if(i)for(var r=0,n=this.children.length;r<n;r++){var s=this.children[r];if(!!s.getChildByName){var o=this.children[r].getChildByName(t,!0);if(o)return o}}return null};/*!
631
+ * @pixi/unsafe-eval - v6.2.2
632
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
633
+ *
634
+ * @pixi/unsafe-eval is licensed under the MIT License.
635
+ * http://www.opensource.org/licenses/mit-license
636
+ */var _m={float:function(e,t,i,r){i!==r&&(i.v=r,e.uniform1f(t,r))},vec2:function(e,t,i,r){(i[0]!==r[0]||i[1]!==r[1])&&(i[0]=r[0],i[1]=r[1],e.uniform2f(t,r[0],r[1]))},vec3:function(e,t,i,r){(i[0]!==r[0]||i[1]!==r[1]||i[2]!==r[2])&&(i[0]=r[0],i[1]=r[1],i[2]=r[2],e.uniform3f(t,r[0],r[1],r[2]))},int:function(e,t,i,r){e.uniform1i(t,r)},ivec2:function(e,t,i,r){e.uniform2i(t,r[0],r[1])},ivec3:function(e,t,i,r){e.uniform3i(t,r[0],r[1],r[2])},ivec4:function(e,t,i,r){e.uniform4i(t,r[0],r[1],r[2],r[3])},uint:function(e,t,i,r){e.uniform1ui(t,r)},uvec2:function(e,t,i,r){e.uniform2ui(t,r[0],r[1])},uvec3:function(e,t,i,r){e.uniform3ui(t,r[0],r[1],r[2])},uvec4:function(e,t,i,r){e.uniform4ui(t,r[0],r[1],r[2],r[3])},bool:function(e,t,i,r){i!==r&&(i.v=r,e.uniform1i(t,Number(r)))},bvec2:function(e,t,i,r){e.uniform2i(t,r[0],r[1])},bvec3:function(e,t,i,r){e.uniform3i(t,r[0],r[1],r[2])},bvec4:function(e,t,i,r){e.uniform4i(t,r[0],r[1],r[2],r[3])},mat2:function(e,t,i,r){e.uniformMatrix2fv(t,!1,r)},mat3:function(e,t,i,r){e.uniformMatrix3fv(t,!1,r)},mat4:function(e,t,i,r){e.uniformMatrix4fv(t,!1,r)},sampler2D:function(e,t,i,r){e.uniform1i(t,r)},samplerCube:function(e,t,i,r){e.uniform1i(t,r)},sampler2DArray:function(e,t,i,r){e.uniform1i(t,r)}},xm={float:function(e,t,i,r){e.uniform1fv(t,r)},vec2:function(e,t,i,r){e.uniform2fv(t,r)},vec3:function(e,t,i,r){e.uniform3fv(t,r)},vec4:function(e,t,i,r){e.uniform4fv(t,r)},int:function(e,t,i,r){e.uniform1iv(t,r)},ivec2:function(e,t,i,r){e.uniform2iv(t,r)},ivec3:function(e,t,i,r){e.uniform3iv(t,r)},ivec4:function(e,t,i,r){e.uniform4iv(t,r)},uint:function(e,t,i,r){e.uniform1uiv(t,r)},uvec2:function(e,t,i,r){e.uniform2uiv(t,r)},uvec3:function(e,t,i,r){e.uniform3uiv(t,r)},uvec4:function(e,t,i,r){e.uniform4uiv(t,r)},bool:function(e,t,i,r){e.uniform1iv(t,r)},bvec2:function(e,t,i,r){e.uniform2iv(t,r)},bvec3:function(e,t,i,r){e.uniform3iv(t,r)},bvec4:function(e,t,i,r){e.uniform4iv(t,r)},sampler2D:function(e,t,i,r){e.uniform1iv(t,r)},samplerCube:function(e,t,i,r){e.uniform1iv(t,r)},sampler2DArray:function(e,t,i,r){e.uniform1iv(t,r)}};function wm(e,t,i,r,n){var s=0,o=null,a=null,l=n.gl;for(var h in e.uniforms){var u=t[h],f=r[h],p=i[h],d=e.uniforms[h];if(!u){d.group&&n.shader.syncUniformGroup(f);continue}if(u.type==="float"&&u.size===1)f!==p.value&&(p.value=f,l.uniform1f(p.location,f));else if((u.type==="sampler2D"||u.type==="samplerCube"||u.type==="sampler2DArray")&&u.size===1&&!u.isArray)n.texture.bind(f,s),p.value!==s&&(p.value=s,l.uniform1i(p.location,s)),s++;else if(u.type==="mat3"&&u.size===1)d.a!==void 0?l.uniformMatrix3fv(p.location,!1,f.toArray(!0)):l.uniformMatrix3fv(p.location,!1,f);else if(u.type==="vec2"&&u.size===1)d.x!==void 0?(a=p.value,o=f,(a[0]!==o.x||a[1]!==o.y)&&(a[0]=o.x,a[1]=o.y,l.uniform2f(p.location,o.x,o.y))):(a=p.value,o=f,(a[0]!==o[0]||a[1]!==o[1])&&(a[0]=o[0],a[1]=o[1],l.uniform2f(p.location,o[0],o[1])));else if(u.type==="vec4"&&u.size===1)d.width!==void 0?(a=p.value,o=f,(a[0]!==o.x||a[1]!==o.y||a[2]!==o.width||a[3]!==o.height)&&(a[0]=o.x,a[1]=o.y,a[2]=o.width,a[3]=o.height,l.uniform4f(p.location,o.x,o.y,o.width,o.height))):(a=p.value,o=f,(a[0]!==o[0]||a[1]!==o[1]||a[2]!==o[2]||a[3]!==o[3])&&(a[0]=o[0],a[1]=o[1],a[2]=o[2],a[3]=o[3],l.uniform4f(p.location,o[0],o[1],o[2],o[3])));else{var v=u.size===1?_m:xm;v[u.type].call(null,l,p.location,p.value,f)}}}function Pm(e){var t=e.ShaderSystem;if(!t)throw new Error("Unable to patch ShaderSystem, class not found.");Object.assign(t.prototype,{systemCheck:function(){},syncUniforms:function(i,r){var n=this,s=n.shader,o=n.renderer;wm(i,s.program.uniformData,r.uniformData,i.uniforms,o)}})}/*!
637
+ * @pixi/interaction - v6.2.2
638
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
639
+ *
640
+ * @pixi/interaction is licensed under the MIT License.
641
+ * http://www.opensource.org/licenses/mit-license
642
+ */var el=function(){function e(){this.pressure=0,this.rotationAngle=0,this.twist=0,this.tangentialPressure=0,this.global=new H,this.target=null,this.originalEvent=null,this.identifier=null,this.isPrimary=!1,this.button=0,this.buttons=0,this.width=0,this.height=0,this.tiltX=0,this.tiltY=0,this.pointerType=null,this.pressure=0,this.rotationAngle=0,this.twist=0,this.tangentialPressure=0}return Object.defineProperty(e.prototype,"pointerId",{get:function(){return this.identifier},enumerable:!1,configurable:!0}),e.prototype.getLocalPosition=function(t,i,r){return t.worldTransform.applyInverse(r||this.global,i)},e.prototype.copyEvent=function(t){"isPrimary"in t&&t.isPrimary&&(this.isPrimary=!0),this.button="button"in t&&t.button;var i="buttons"in t&&t.buttons;this.buttons=Number.isInteger(i)?i:"which"in t&&t.which,this.width="width"in t&&t.width,this.height="height"in t&&t.height,this.tiltX="tiltX"in t&&t.tiltX,this.tiltY="tiltY"in t&&t.tiltY,this.pointerType="pointerType"in t&&t.pointerType,this.pressure="pressure"in t&&t.pressure,this.rotationAngle="rotationAngle"in t&&t.rotationAngle,this.twist="twist"in t&&t.twist||0,this.tangentialPressure="tangentialPressure"in t&&t.tangentialPressure||0},e.prototype.reset=function(){this.isPrimary=!1},e}();/*! *****************************************************************************
643
+ Copyright (c) Microsoft Corporation. All rights reserved.
644
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
645
+ this file except in compliance with the License. You may obtain a copy of the
646
+ License at http://www.apache.org/licenses/LICENSE-2.0
647
+
648
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
649
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
650
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
651
+ MERCHANTABLITY OR NON-INFRINGEMENT.
652
+
653
+ See the Apache Version 2.0 License for specific language governing permissions
654
+ and limitations under the License.
655
+ ***************************************************************************** */var as=function(e,t){return as=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},as(e,t)};function Tm(e,t){as(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var bm=function(){function e(){this.stopped=!1,this.stopsPropagatingAt=null,this.stopPropagationHint=!1,this.target=null,this.currentTarget=null,this.type=null,this.data=null}return e.prototype.stopPropagation=function(){this.stopped=!0,this.stopPropagationHint=!0,this.stopsPropagatingAt=this.currentTarget},e.prototype.reset=function(){this.stopped=!1,this.stopsPropagatingAt=null,this.stopPropagationHint=!1,this.currentTarget=null,this.target=null},e}(),ls=function(){function e(t){this._pointerId=t,this._flags=e.FLAGS.NONE}return e.prototype._doSet=function(t,i){i?this._flags=this._flags|t:this._flags=this._flags&~t},Object.defineProperty(e.prototype,"pointerId",{get:function(){return this._pointerId},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"flags",{get:function(){return this._flags},set:function(t){this._flags=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"none",{get:function(){return this._flags===e.FLAGS.NONE},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"over",{get:function(){return(this._flags&e.FLAGS.OVER)!==0},set:function(t){this._doSet(e.FLAGS.OVER,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightDown",{get:function(){return(this._flags&e.FLAGS.RIGHT_DOWN)!==0},set:function(t){this._doSet(e.FLAGS.RIGHT_DOWN,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leftDown",{get:function(){return(this._flags&e.FLAGS.LEFT_DOWN)!==0},set:function(t){this._doSet(e.FLAGS.LEFT_DOWN,t)},enumerable:!1,configurable:!0}),e.FLAGS=Object.freeze({NONE:0,OVER:1<<0,LEFT_DOWN:1<<1,RIGHT_DOWN:1<<2}),e}(),Im=function(){function e(){this._tempPoint=new H}return e.prototype.recursiveFindHit=function(t,i,r,n,s){if(!i||!i.visible)return!1;var o=t.data.global;s=i.interactive||s;var a=!1,l=s,h=!0;if(i.hitArea?(n&&(i.worldTransform.applyInverse(o,this._tempPoint),i.hitArea.contains(this._tempPoint.x,this._tempPoint.y)?a=!0:(n=!1,h=!1)),l=!1):i._mask&&n&&(i._mask.containsPoint&&i._mask.containsPoint(o)||(n=!1)),h&&i.interactiveChildren&&i.children)for(var u=i.children,f=u.length-1;f>=0;f--){var p=u[f],d=this.recursiveFindHit(t,p,r,n,l);if(d){if(!p.parent)continue;l=!1,d&&(t.target&&(n=!1),a=!0)}}return s&&(n&&!t.target&&!i.hitArea&&i.containsPoint&&i.containsPoint(o)&&(a=!0),i.interactive&&(a&&!t.target&&(t.target=i),r&&r(t,i,!!a))),a},e.prototype.findHit=function(t,i,r,n){this.recursiveFindHit(t,i,r,n,!1)},e}(),Cm={interactive:!1,interactiveChildren:!0,hitArea:null,get buttonMode(){return this.cursor==="pointer"},set buttonMode(e){e?this.cursor="pointer":this.cursor==="pointer"&&(this.cursor=null)},cursor:null,get trackedPointers(){return this._trackedPointers===void 0&&(this._trackedPointers={}),this._trackedPointers},_trackedPointers:void 0};Gt.mixin(Cm);var pr=1,dr={target:null,data:{global:null}},il=function(e){Tm(t,e);function t(i,r){var n=e.call(this)||this;return r=r||{},n.renderer=i,n.autoPreventDefault=r.autoPreventDefault!==void 0?r.autoPreventDefault:!0,n.interactionFrequency=r.interactionFrequency||10,n.mouse=new el,n.mouse.identifier=pr,n.mouse.global.set(-999999),n.activeInteractionData={},n.activeInteractionData[pr]=n.mouse,n.interactionDataPool=[],n.eventData=new bm,n.interactionDOMElement=null,n.moveWhenInside=!1,n.eventsAdded=!1,n.tickerAdded=!1,n.mouseOverRenderer=!("PointerEvent"in self),n.supportsTouchEvents="ontouchstart"in self,n.supportsPointerEvents=!!self.PointerEvent,n.onPointerUp=n.onPointerUp.bind(n),n.processPointerUp=n.processPointerUp.bind(n),n.onPointerCancel=n.onPointerCancel.bind(n),n.processPointerCancel=n.processPointerCancel.bind(n),n.onPointerDown=n.onPointerDown.bind(n),n.processPointerDown=n.processPointerDown.bind(n),n.onPointerMove=n.onPointerMove.bind(n),n.processPointerMove=n.processPointerMove.bind(n),n.onPointerOut=n.onPointerOut.bind(n),n.processPointerOverOut=n.processPointerOverOut.bind(n),n.onPointerOver=n.onPointerOver.bind(n),n.cursorStyles={default:"inherit",pointer:"pointer"},n.currentCursorMode=null,n.cursor=null,n.resolution=1,n.delayedEvents=[],n.search=new Im,n._tempDisplayObject=new ea,n._eventListenerOptions={capture:!0,passive:!1},n._useSystemTicker=r.useSystemTicker!==void 0?r.useSystemTicker:!0,n.setTargetElement(n.renderer.view,n.renderer.resolution),n}return Object.defineProperty(t.prototype,"useSystemTicker",{get:function(){return this._useSystemTicker},set:function(i){this._useSystemTicker=i,i?this.addTickerListener():this.removeTickerListener()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastObjectRendered",{get:function(){return this.renderer._lastObjectRendered||this._tempDisplayObject},enumerable:!1,configurable:!0}),t.prototype.hitTest=function(i,r){return dr.target=null,dr.data.global=i,r||(r=this.lastObjectRendered),this.processInteractive(dr,r,null,!0),dr.target},t.prototype.setTargetElement=function(i,r){r===void 0&&(r=1),this.removeTickerListener(),this.removeEvents(),this.interactionDOMElement=i,this.resolution=r,this.addEvents(),this.addTickerListener()},t.prototype.addTickerListener=function(){this.tickerAdded||!this.interactionDOMElement||!this._useSystemTicker||(ct.system.add(this.tickerUpdate,this,ce.INTERACTION),this.tickerAdded=!0)},t.prototype.removeTickerListener=function(){!this.tickerAdded||(ct.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)},t.prototype.addEvents=function(){if(!(this.eventsAdded||!this.interactionDOMElement)){var i=this.interactionDOMElement.style;self.navigator.msPointerEnabled?(i.msContentZooming="none",i.msTouchAction="none"):this.supportsPointerEvents&&(i.touchAction="none"),this.supportsPointerEvents?(self.document.addEventListener("pointermove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.addEventListener("pointerdown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener("pointerleave",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.addEventListener("pointerover",this.onPointerOver,this._eventListenerOptions),self.addEventListener("pointercancel",this.onPointerCancel,this._eventListenerOptions),self.addEventListener("pointerup",this.onPointerUp,this._eventListenerOptions)):(self.document.addEventListener("mousemove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.addEventListener("mousedown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener("mouseout",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.addEventListener("mouseover",this.onPointerOver,this._eventListenerOptions),self.addEventListener("mouseup",this.onPointerUp,this._eventListenerOptions)),this.supportsTouchEvents&&(this.interactionDOMElement.addEventListener("touchstart",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.addEventListener("touchcancel",this.onPointerCancel,this._eventListenerOptions),this.interactionDOMElement.addEventListener("touchend",this.onPointerUp,this._eventListenerOptions),this.interactionDOMElement.addEventListener("touchmove",this.onPointerMove,this._eventListenerOptions)),this.eventsAdded=!0}},t.prototype.removeEvents=function(){if(!(!this.eventsAdded||!this.interactionDOMElement)){var i=this.interactionDOMElement.style;self.navigator.msPointerEnabled?(i.msContentZooming="",i.msTouchAction=""):this.supportsPointerEvents&&(i.touchAction=""),this.supportsPointerEvents?(self.document.removeEventListener("pointermove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("pointerdown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("pointerleave",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("pointerover",this.onPointerOver,this._eventListenerOptions),self.removeEventListener("pointercancel",this.onPointerCancel,this._eventListenerOptions),self.removeEventListener("pointerup",this.onPointerUp,this._eventListenerOptions)):(self.document.removeEventListener("mousemove",this.onPointerMove,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("mousedown",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("mouseout",this.onPointerOut,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("mouseover",this.onPointerOver,this._eventListenerOptions),self.removeEventListener("mouseup",this.onPointerUp,this._eventListenerOptions)),this.supportsTouchEvents&&(this.interactionDOMElement.removeEventListener("touchstart",this.onPointerDown,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("touchcancel",this.onPointerCancel,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("touchend",this.onPointerUp,this._eventListenerOptions),this.interactionDOMElement.removeEventListener("touchmove",this.onPointerMove,this._eventListenerOptions)),this.interactionDOMElement=null,this.eventsAdded=!1}},t.prototype.tickerUpdate=function(i){this._deltaTime+=i,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this.update())},t.prototype.update=function(){if(!!this.interactionDOMElement){if(this._didMove){this._didMove=!1;return}this.cursor=null;for(var i in this.activeInteractionData)if(this.activeInteractionData.hasOwnProperty(i)){var r=this.activeInteractionData[i];if(r.originalEvent&&r.pointerType!=="touch"){var n=this.configureInteractionEventForDOMEvent(this.eventData,r.originalEvent,r);this.processInteractive(n,this.lastObjectRendered,this.processPointerOverOut,!0)}}this.setCursorMode(this.cursor)}},t.prototype.setCursorMode=function(i){i=i||"default";var r=!0;if(self.OffscreenCanvas&&this.interactionDOMElement instanceof OffscreenCanvas&&(r=!1),this.currentCursorMode!==i){this.currentCursorMode=i;var n=this.cursorStyles[i];if(n)switch(typeof n){case"string":r&&(this.interactionDOMElement.style.cursor=n);break;case"function":n(i);break;case"object":r&&Object.assign(this.interactionDOMElement.style,n);break}else r&&typeof i=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,i)&&(this.interactionDOMElement.style.cursor=i)}},t.prototype.dispatchEvent=function(i,r,n){(!n.stopPropagationHint||i===n.stopsPropagatingAt)&&(n.currentTarget=i,n.type=r,i.emit(r,n),i[r]&&i[r](n))},t.prototype.delayDispatchEvent=function(i,r,n){this.delayedEvents.push({displayObject:i,eventString:r,eventData:n})},t.prototype.mapPositionToPoint=function(i,r,n){var s;this.interactionDOMElement.parentElement?s=this.interactionDOMElement.getBoundingClientRect():s={x:0,y:0,width:this.interactionDOMElement.width,height:this.interactionDOMElement.height,left:0,top:0};var o=1/this.resolution;i.x=(r-s.left)*(this.interactionDOMElement.width/s.width)*o,i.y=(n-s.top)*(this.interactionDOMElement.height/s.height)*o},t.prototype.processInteractive=function(i,r,n,s){var o=this.search.findHit(i,r,n,s),a=this.delayedEvents;if(!a.length)return o;i.stopPropagationHint=!1;var l=a.length;this.delayedEvents=[];for(var h=0;h<l;h++){var u=a[h],f=u.displayObject,p=u.eventString,d=u.eventData;d.stopsPropagatingAt===f&&(d.stopPropagationHint=!0),this.dispatchEvent(f,p,d)}return o},t.prototype.onPointerDown=function(i){if(!(this.supportsTouchEvents&&i.pointerType==="touch")){var r=this.normalizeToPointerData(i);if(this.autoPreventDefault&&r[0].isNormalized){var n=i.cancelable||!("cancelable"in i);n&&i.preventDefault()}for(var s=r.length,o=0;o<s;o++){var a=r[o],l=this.getInteractionDataForPointerId(a),h=this.configureInteractionEventForDOMEvent(this.eventData,a,l);if(h.data.originalEvent=i,this.processInteractive(h,this.lastObjectRendered,this.processPointerDown,!0),this.emit("pointerdown",h),a.pointerType==="touch")this.emit("touchstart",h);else if(a.pointerType==="mouse"||a.pointerType==="pen"){var u=a.button===2;this.emit(u?"rightdown":"mousedown",this.eventData)}}}},t.prototype.processPointerDown=function(i,r,n){var s=i.data,o=i.data.identifier;if(n){if(r.trackedPointers[o]||(r.trackedPointers[o]=new ls(o)),this.dispatchEvent(r,"pointerdown",i),s.pointerType==="touch")this.dispatchEvent(r,"touchstart",i);else if(s.pointerType==="mouse"||s.pointerType==="pen"){var a=s.button===2;a?r.trackedPointers[o].rightDown=!0:r.trackedPointers[o].leftDown=!0,this.dispatchEvent(r,a?"rightdown":"mousedown",i)}}},t.prototype.onPointerComplete=function(i,r,n){for(var s=this.normalizeToPointerData(i),o=s.length,a=i.target!==this.interactionDOMElement?"outside":"",l=0;l<o;l++){var h=s[l],u=this.getInteractionDataForPointerId(h),f=this.configureInteractionEventForDOMEvent(this.eventData,h,u);if(f.data.originalEvent=i,this.processInteractive(f,this.lastObjectRendered,n,r||!a),this.emit(r?"pointercancel":"pointerup"+a,f),h.pointerType==="mouse"||h.pointerType==="pen"){var p=h.button===2;this.emit(p?"rightup"+a:"mouseup"+a,f)}else h.pointerType==="touch"&&(this.emit(r?"touchcancel":"touchend"+a,f),this.releaseInteractionDataForPointerId(h.pointerId))}},t.prototype.onPointerCancel=function(i){this.supportsTouchEvents&&i.pointerType==="touch"||this.onPointerComplete(i,!0,this.processPointerCancel)},t.prototype.processPointerCancel=function(i,r){var n=i.data,s=i.data.identifier;r.trackedPointers[s]!==void 0&&(delete r.trackedPointers[s],this.dispatchEvent(r,"pointercancel",i),n.pointerType==="touch"&&this.dispatchEvent(r,"touchcancel",i))},t.prototype.onPointerUp=function(i){this.supportsTouchEvents&&i.pointerType==="touch"||this.onPointerComplete(i,!1,this.processPointerUp)},t.prototype.processPointerUp=function(i,r,n){var s=i.data,o=i.data.identifier,a=r.trackedPointers[o],l=s.pointerType==="touch",h=s.pointerType==="mouse"||s.pointerType==="pen",u=!1;if(h){var f=s.button===2,p=ls.FLAGS,d=f?p.RIGHT_DOWN:p.LEFT_DOWN,v=a!==void 0&&a.flags&d;n?(this.dispatchEvent(r,f?"rightup":"mouseup",i),v&&(this.dispatchEvent(r,f?"rightclick":"click",i),u=!0)):v&&this.dispatchEvent(r,f?"rightupoutside":"mouseupoutside",i),a&&(f?a.rightDown=!1:a.leftDown=!1)}n?(this.dispatchEvent(r,"pointerup",i),l&&this.dispatchEvent(r,"touchend",i),a&&((!h||u)&&this.dispatchEvent(r,"pointertap",i),l&&(this.dispatchEvent(r,"tap",i),a.over=!1))):a&&(this.dispatchEvent(r,"pointerupoutside",i),l&&this.dispatchEvent(r,"touchendoutside",i)),a&&a.none&&delete r.trackedPointers[o]},t.prototype.onPointerMove=function(i){if(!(this.supportsTouchEvents&&i.pointerType==="touch")){var r=this.normalizeToPointerData(i);(r[0].pointerType==="mouse"||r[0].pointerType==="pen")&&(this._didMove=!0,this.cursor=null);for(var n=r.length,s=0;s<n;s++){var o=r[s],a=this.getInteractionDataForPointerId(o),l=this.configureInteractionEventForDOMEvent(this.eventData,o,a);l.data.originalEvent=i,this.processInteractive(l,this.lastObjectRendered,this.processPointerMove,!0),this.emit("pointermove",l),o.pointerType==="touch"&&this.emit("touchmove",l),(o.pointerType==="mouse"||o.pointerType==="pen")&&this.emit("mousemove",l)}r[0].pointerType==="mouse"&&this.setCursorMode(this.cursor)}},t.prototype.processPointerMove=function(i,r,n){var s=i.data,o=s.pointerType==="touch",a=s.pointerType==="mouse"||s.pointerType==="pen";a&&this.processPointerOverOut(i,r,n),(!this.moveWhenInside||n)&&(this.dispatchEvent(r,"pointermove",i),o&&this.dispatchEvent(r,"touchmove",i),a&&this.dispatchEvent(r,"mousemove",i))},t.prototype.onPointerOut=function(i){if(!(this.supportsTouchEvents&&i.pointerType==="touch")){var r=this.normalizeToPointerData(i),n=r[0];n.pointerType==="mouse"&&(this.mouseOverRenderer=!1,this.setCursorMode(null));var s=this.getInteractionDataForPointerId(n),o=this.configureInteractionEventForDOMEvent(this.eventData,n,s);o.data.originalEvent=n,this.processInteractive(o,this.lastObjectRendered,this.processPointerOverOut,!1),this.emit("pointerout",o),n.pointerType==="mouse"||n.pointerType==="pen"?this.emit("mouseout",o):this.releaseInteractionDataForPointerId(s.identifier)}},t.prototype.processPointerOverOut=function(i,r,n){var s=i.data,o=i.data.identifier,a=s.pointerType==="mouse"||s.pointerType==="pen",l=r.trackedPointers[o];n&&!l&&(l=r.trackedPointers[o]=new ls(o)),l!==void 0&&(n&&this.mouseOverRenderer?(l.over||(l.over=!0,this.delayDispatchEvent(r,"pointerover",i),a&&this.delayDispatchEvent(r,"mouseover",i)),a&&this.cursor===null&&(this.cursor=r.cursor)):l.over&&(l.over=!1,this.dispatchEvent(r,"pointerout",this.eventData),a&&this.dispatchEvent(r,"mouseout",i),l.none&&delete r.trackedPointers[o]))},t.prototype.onPointerOver=function(i){var r=this.normalizeToPointerData(i),n=r[0],s=this.getInteractionDataForPointerId(n),o=this.configureInteractionEventForDOMEvent(this.eventData,n,s);o.data.originalEvent=n,n.pointerType==="mouse"&&(this.mouseOverRenderer=!0),this.emit("pointerover",o),(n.pointerType==="mouse"||n.pointerType==="pen")&&this.emit("mouseover",o)},t.prototype.getInteractionDataForPointerId=function(i){var r=i.pointerId,n;return r===pr||i.pointerType==="mouse"?n=this.mouse:this.activeInteractionData[r]?n=this.activeInteractionData[r]:(n=this.interactionDataPool.pop()||new el,n.identifier=r,this.activeInteractionData[r]=n),n.copyEvent(i),n},t.prototype.releaseInteractionDataForPointerId=function(i){var r=this.activeInteractionData[i];r&&(delete this.activeInteractionData[i],r.reset(),this.interactionDataPool.push(r))},t.prototype.configureInteractionEventForDOMEvent=function(i,r,n){return i.data=n,this.mapPositionToPoint(n.global,r.clientX,r.clientY),r.pointerType==="touch"&&(r.globalX=n.global.x,r.globalY=n.global.y),n.originalEvent=r,i.reset(),i},t.prototype.normalizeToPointerData=function(i){var r=[];if(this.supportsTouchEvents&&i instanceof TouchEvent)for(var n=0,s=i.changedTouches.length;n<s;n++){var o=i.changedTouches[n];typeof o.button>"u"&&(o.button=i.touches.length?1:0),typeof o.buttons>"u"&&(o.buttons=i.touches.length?1:0),typeof o.isPrimary>"u"&&(o.isPrimary=i.touches.length===1&&i.type==="touchstart"),typeof o.width>"u"&&(o.width=o.radiusX||1),typeof o.height>"u"&&(o.height=o.radiusY||1),typeof o.tiltX>"u"&&(o.tiltX=0),typeof o.tiltY>"u"&&(o.tiltY=0),typeof o.pointerType>"u"&&(o.pointerType="touch"),typeof o.pointerId>"u"&&(o.pointerId=o.identifier||0),typeof o.pressure>"u"&&(o.pressure=o.force||.5),typeof o.twist>"u"&&(o.twist=0),typeof o.tangentialPressure>"u"&&(o.tangentialPressure=0),typeof o.layerX>"u"&&(o.layerX=o.offsetX=o.clientX),typeof o.layerY>"u"&&(o.layerY=o.offsetY=o.clientY),o.isNormalized=!0,r.push(o)}else if(!self.MouseEvent||i instanceof MouseEvent&&(!this.supportsPointerEvents||!(i instanceof self.PointerEvent))){var a=i;typeof a.isPrimary>"u"&&(a.isPrimary=!0),typeof a.width>"u"&&(a.width=1),typeof a.height>"u"&&(a.height=1),typeof a.tiltX>"u"&&(a.tiltX=0),typeof a.tiltY>"u"&&(a.tiltY=0),typeof a.pointerType>"u"&&(a.pointerType="mouse"),typeof a.pointerId>"u"&&(a.pointerId=pr),typeof a.pressure>"u"&&(a.pressure=.5),typeof a.twist>"u"&&(a.twist=0),typeof a.tangentialPressure>"u"&&(a.tangentialPressure=0),a.isNormalized=!0,r.push(a)}else r.push(i);return r},t.prototype.destroy=function(){this.removeEvents(),this.removeTickerListener(),this.removeAllListeners(),this.renderer=null,this.mouse=null,this.eventData=null,this.interactionDOMElement=null,this.onPointerDown=null,this.processPointerDown=null,this.onPointerUp=null,this.processPointerUp=null,this.onPointerCancel=null,this.processPointerCancel=null,this.onPointerMove=null,this.processPointerMove=null,this.onPointerOut=null,this.processPointerOverOut=null,this.onPointerOver=null,this.search=null},t}(pe);/*!
656
+ * @pixi/canvas-renderer - v6.2.2
657
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
658
+ *
659
+ * @pixi/canvas-renderer is licensed under the MIT License.
660
+ * http://www.opensource.org/licenses/mit-license
661
+ *//*! *****************************************************************************
662
+ Copyright (c) Microsoft Corporation. All rights reserved.
663
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
664
+ this file except in compliance with the License. You may obtain a copy of the
665
+ License at http://www.apache.org/licenses/LICENSE-2.0
666
+
667
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
668
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
669
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
670
+ MERCHANTABLITY OR NON-INFRINGEMENT.
671
+
672
+ See the Apache Version 2.0 License for specific language governing permissions
673
+ and limitations under the License.
674
+ ***************************************************************************** */var hs=function(e,t){return hs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},hs(e,t)};function Em(e,t){hs(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var Am=function(){function e(t){this._foundShapes=[],this.renderer=t}return e.prototype.pushMask=function(t){var i=this.renderer,r=t.maskObject||t;i.context.save();var n=this._foundShapes;if(this.recursiveFindShapes(r,n),n.length>0){var s=i.context;s.beginPath();for(var o=0;o<n.length;o++){var a=n[o],l=a.transform.worldTransform;this.renderer.setContextTransform(l),this.renderGraphicsShape(a)}n.length=0,s.clip()}},e.prototype.recursiveFindShapes=function(t,i){t.geometry&&t.geometry.graphicsData&&i.push(t);var r=t.children;if(r)for(var n=0;n<r.length;n++)this.recursiveFindShapes(r[n],i)},e.prototype.renderGraphicsShape=function(t){t.finishPoly();var i=this.renderer.context,r=t.geometry.graphicsData,n=r.length;if(n!==0)for(var s=0;s<n;s++){var o=r[s],a=o.shape;if(a.type===G.POLY){var l=a.points,h=o.holes,u=void 0,f=void 0,p=void 0,d=void 0;i.moveTo(l[0],l[1]);for(var v=1;v<l.length/2;v++)i.lineTo(l[v*2],l[v*2+1]);if(h.length>0){u=0,p=l[0],d=l[1];for(var v=2;v+2<l.length;v+=2)u+=(l[v]-p)*(l[v+3]-d)-(l[v+2]-p)*(l[v+1]-d);for(var y=0;y<h.length;y++)if(l=h[y].shape.points,!!l){f=0,p=l[0],d=l[1];for(var v=2;v+2<l.length;v+=2)f+=(l[v]-p)*(l[v+3]-d)-(l[v+2]-p)*(l[v+1]-d);if(f*u<0){i.moveTo(l[0],l[1]);for(var v=2;v<l.length;v+=2)i.lineTo(l[v],l[v+1])}else{i.moveTo(l[l.length-2],l[l.length-1]);for(var v=l.length-4;v>=0;v-=2)i.lineTo(l[v],l[v+1])}h[y].shape.closeStroke&&i.closePath()}}l[0]===l[l.length-2]&&l[1]===l[l.length-1]&&i.closePath()}else if(a.type===G.RECT)i.rect(a.x,a.y,a.width,a.height),i.closePath();else if(a.type===G.CIRC)i.arc(a.x,a.y,a.radius,0,2*Math.PI),i.closePath();else if(a.type===G.ELIP){var m=a.width*2,g=a.height*2,w=a.x-m/2,_=a.y-g/2,T=.5522848,x=m/2*T,P=g/2*T,A=w+m,k=_+g,C=w+m/2,S=_+g/2;i.moveTo(w,S),i.bezierCurveTo(w,S-P,C-x,_,C,_),i.bezierCurveTo(C+x,_,A,S-P,A,S),i.bezierCurveTo(A,S+P,C+x,k,C,k),i.bezierCurveTo(C-x,k,w,S+P,w,S),i.closePath()}else if(a.type===G.RREC){var M=a.x,N=a.y,R=a.width,$=a.height,E=a.radius,O=Math.min(R,$)/2;E=E>O?O:E,i.moveTo(M,N+E),i.lineTo(M,N+$-E),i.quadraticCurveTo(M,N+$,M+E,N+$),i.lineTo(M+R-E,N+$),i.quadraticCurveTo(M+R,N+$,M+R,N+$-E),i.lineTo(M+R,N+E),i.quadraticCurveTo(M+R,N,M+R-E,N),i.lineTo(M+E,N),i.quadraticCurveTo(M,N,M,N+E),i.closePath()}}},e.prototype.popMask=function(t){t.context.restore(),t.invalidateBlendMode()},e.prototype.destroy=function(){},e}();function rl(e){var t=document.createElement("canvas");t.width=6,t.height=1;var i=t.getContext("2d");return i.fillStyle=e,i.fillRect(0,0,6,1),t}function nl(){if(typeof document>"u")return!1;var e=rl("#ff00ff"),t=rl("#ffff00"),i=document.createElement("canvas");i.width=6,i.height=1;var r=i.getContext("2d");r.globalCompositeOperation="multiply",r.drawImage(e,0,0),r.drawImage(t,2,0);var n=r.getImageData(2,0,1,1);if(!n)return!1;var s=n.data;return s[0]===255&&s[1]===0&&s[2]===0}function Sm(e){return e===void 0&&(e=[]),nl()?(e[b.NORMAL]="source-over",e[b.ADD]="lighter",e[b.MULTIPLY]="multiply",e[b.SCREEN]="screen",e[b.OVERLAY]="overlay",e[b.DARKEN]="darken",e[b.LIGHTEN]="lighten",e[b.COLOR_DODGE]="color-dodge",e[b.COLOR_BURN]="color-burn",e[b.HARD_LIGHT]="hard-light",e[b.SOFT_LIGHT]="soft-light",e[b.DIFFERENCE]="difference",e[b.EXCLUSION]="exclusion",e[b.HUE]="hue",e[b.SATURATION]="saturate",e[b.COLOR]="color",e[b.LUMINOSITY]="luminosity"):(e[b.NORMAL]="source-over",e[b.ADD]="lighter",e[b.MULTIPLY]="source-over",e[b.SCREEN]="source-over",e[b.OVERLAY]="source-over",e[b.DARKEN]="source-over",e[b.LIGHTEN]="source-over",e[b.COLOR_DODGE]="source-over",e[b.COLOR_BURN]="source-over",e[b.HARD_LIGHT]="source-over",e[b.SOFT_LIGHT]="source-over",e[b.DIFFERENCE]="source-over",e[b.EXCLUSION]="source-over",e[b.HUE]="source-over",e[b.SATURATION]="source-over",e[b.COLOR]="source-over",e[b.LUMINOSITY]="source-over"),e[b.NORMAL_NPM]=e[b.NORMAL],e[b.ADD_NPM]=e[b.ADD],e[b.SCREEN_NPM]=e[b.SCREEN],e[b.SRC_IN]="source-in",e[b.SRC_OUT]="source-out",e[b.SRC_ATOP]="source-atop",e[b.DST_OVER]="destination-over",e[b.DST_IN]="destination-in",e[b.DST_OUT]="destination-out",e[b.DST_ATOP]="destination-atop",e[b.XOR]="xor",e[b.SUBTRACT]="source-over",e}var Nm=new Z,re=function(e){Em(t,e);function t(i){var r=e.call(this,ke.CANVAS,i)||this;if(r.refresh=!0,r.maskManager=new Am(r),r.smoothProperty="imageSmoothingEnabled",r.blendModes=Sm(),r.renderingToScreen=!1,r._activeBlendMode=null,r._projTransform=null,r._outerBlend=!1,r.rootContext=r.view.getContext("2d",{alpha:r.useContextAlpha}),r.context=r.rootContext,!r.rootContext.imageSmoothingEnabled){var n=r.rootContext;n.webkitImageSmoothingEnabled?r.smoothProperty="webkitImageSmoothingEnabled":n.mozImageSmoothingEnabled?r.smoothProperty="mozImageSmoothingEnabled":n.oImageSmoothingEnabled?r.smoothProperty="oImageSmoothingEnabled":n.msImageSmoothingEnabled&&(r.smoothProperty="msImageSmoothingEnabled")}return r.initPlugins(t.__plugins),dn("Canvas"),r.resize(r.options.width,r.options.height),r}return t.prototype.render=function(i,r){if(!!this.view){var n,s,o,a;r&&(r instanceof Nt||r instanceof er?(ye("6.0.0","CanvasRenderer#render arguments changed, use options instead."),n=r,s=arguments[2],o=arguments[3],a=arguments[4]):(n=r.renderTexture,s=r.clear,o=r.transform,a=r.skipUpdateTransform)),this.renderingToScreen=!n,this.emit("prerender");var l=this.resolution;n?(n=n.castToBaseTexture(),n._canvasRenderTarget||(n._canvasRenderTarget=new Pn(n.width,n.height,n.resolution),n.resource=new Rn(n._canvasRenderTarget.canvas),n.valid=!0),this.context=n._canvasRenderTarget.context,this.resolution=n._canvasRenderTarget.resolution):this.context=this.rootContext;var h=this.context;if(this._projTransform=o||null,n||(this._lastObjectRendered=i),!a){var u=i.enableTempParent();i.updateTransform(),i.disableTempParent(u)}if(h.save(),h.setTransform(1,0,0,1,0,0),h.globalAlpha=1,this._activeBlendMode=b.NORMAL,this._outerBlend=!1,h.globalCompositeOperation=this.blendModes[b.NORMAL],s!==void 0?s:this.clearBeforeRender)if(this.renderingToScreen)h.clearRect(0,0,this.width,this.height),this.backgroundAlpha>0&&(h.globalAlpha=this.useContextAlpha?this.backgroundAlpha:1,h.fillStyle=this._backgroundColorString,h.fillRect(0,0,this.width,this.height),h.globalAlpha=1);else{n=n,n._canvasRenderTarget.clear();var f=n.clearColor;f[3]>0&&(h.globalAlpha=this.useContextAlpha?f[3]:1,h.fillStyle=hi(ui(f)),h.fillRect(0,0,n.realWidth,n.realHeight),h.globalAlpha=1)}var p=this.context;this.context=h,i.renderCanvas(this),this.context=p,h.restore(),this.resolution=l,this._projTransform=null,this.emit("postrender")}},t.prototype.setContextTransform=function(i,r,n){var s=i,o=this._projTransform,a=this.resolution;n=n||a,o&&(s=Nm,s.copyFrom(i),s.prepend(o)),r?this.context.setTransform(s.a*n,s.b*n,s.c*n,s.d*n,s.tx*a|0,s.ty*a|0):this.context.setTransform(s.a*n,s.b*n,s.c*n,s.d*n,s.tx*a,s.ty*a)},t.prototype.clear=function(i,r){i===void 0&&(i=this._backgroundColorString),r===void 0&&(r=this.backgroundAlpha);var n=this.context;n.clearRect(0,0,this.width,this.height),i&&(n.globalAlpha=this.useContextAlpha?r:1,n.fillStyle=i,n.fillRect(0,0,this.width,this.height),n.globalAlpha=1)},t.prototype.setBlendMode=function(i,r){var n=i===b.SRC_IN||i===b.SRC_OUT||i===b.DST_IN||i===b.DST_ATOP;!r&&n&&(i=b.NORMAL),this._activeBlendMode!==i&&(this._activeBlendMode=i,this._outerBlend=n,this.context.globalCompositeOperation=this.blendModes[i])},t.prototype.destroy=function(i){e.prototype.destroy.call(this,i),this.context=null,this.refresh=!0,this.maskManager.destroy(),this.maskManager=null,this.smoothProperty=null},t.prototype.resize=function(i,r){e.prototype.resize.call(this,i,r),this.smoothProperty&&(this.rootContext[this.smoothProperty]=F.SCALE_MODE===lt.LINEAR)},t.prototype.invalidateBlendMode=function(){this._activeBlendMode=this.blendModes.indexOf(this.context.globalCompositeOperation)},t.registerPlugin=function(i,r){t.__plugins=t.__plugins||{},t.__plugins[i]=r},t}(jn),ft={canvas:null,getTintedCanvas:function(e,t){var i=e.texture;t=ft.roundColor(t);var r="#"+("00000"+(t|0).toString(16)).substr(-6);i.tintCache=i.tintCache||{};var n=i.tintCache[r],s;if(n){if(n.tintId===i._updateID)return i.tintCache[r];s=i.tintCache[r]}else s=document.createElement("canvas");return ft.tintMethod(i,t,s),s.tintId=i._updateID,i.tintCache[r]=s,s},getTintedPattern:function(e,t){t=ft.roundColor(t);var i="#"+("00000"+(t|0).toString(16)).substr(-6);e.patternCache=e.patternCache||{};var r=e.patternCache[i];return r&&r.tintId===e._updateID||(ft.canvas||(ft.canvas=document.createElement("canvas")),ft.tintMethod(e,t,ft.canvas),r=ft.canvas.getContext("2d").createPattern(ft.canvas,"repeat"),r.tintId=e._updateID,e.patternCache[i]=r),r},tintWithMultiply:function(e,t,i){var r=i.getContext("2d"),n=e._frame.clone(),s=e.baseTexture.resolution;n.x*=s,n.y*=s,n.width*=s,n.height*=s,i.width=Math.ceil(n.width),i.height=Math.ceil(n.height),r.save(),r.fillStyle="#"+("00000"+(t|0).toString(16)).substr(-6),r.fillRect(0,0,n.width,n.height),r.globalCompositeOperation="multiply";var o=e.baseTexture.getDrawableSource();r.drawImage(o,n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.globalCompositeOperation="destination-atop",r.drawImage(o,n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.restore()},tintWithOverlay:function(e,t,i){var r=i.getContext("2d"),n=e._frame.clone(),s=e.baseTexture.resolution;n.x*=s,n.y*=s,n.width*=s,n.height*=s,i.width=Math.ceil(n.width),i.height=Math.ceil(n.height),r.save(),r.globalCompositeOperation="copy",r.fillStyle="#"+("00000"+(t|0).toString(16)).substr(-6),r.fillRect(0,0,n.width,n.height),r.globalCompositeOperation="destination-atop",r.drawImage(e.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.restore()},tintWithPerPixel:function(e,t,i){var r=i.getContext("2d"),n=e._frame.clone(),s=e.baseTexture.resolution;n.x*=s,n.y*=s,n.width*=s,n.height*=s,i.width=Math.ceil(n.width),i.height=Math.ceil(n.height),r.save(),r.globalCompositeOperation="copy",r.drawImage(e.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),r.restore();for(var o=ve(t),a=o[0],l=o[1],h=o[2],u=r.getImageData(0,0,n.width,n.height),f=u.data,p=0;p<f.length;p+=4)f[p+0]*=a,f[p+1]*=l,f[p+2]*=h;r.putImageData(u,0,0)},roundColor:function(e){var t=ft.cacheStepsPerColorChannel,i=ve(e);return i[0]=Math.min(255,i[0]/t*t),i[1]=Math.min(255,i[1]/t*t),i[2]=Math.min(255,i[2]/t*t),ui(i)},cacheStepsPerColorChannel:8,convertTintToImage:!1,canUseMultiply:nl(),tintMethod:null};ft.tintMethod=ft.canUseMultiply?ft.tintWithMultiply:ft.tintWithPerPixel;var Lm=be.create;be.create=function(t){var i=t&&t.forceCanvas;if(!i)try{return Lm(t)}catch{}return new re(t)},Y.prototype.getDrawableSource=function(){var t=this.resource;return t?t.bitmap||t.source:null},er.prototype._canvasRenderTarget=null,z.prototype.patternCache=null,z.prototype.tintCache=null;/*!
675
+ * @pixi/canvas-extract - v6.2.2
676
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
677
+ *
678
+ * @pixi/canvas-extract is licensed under the MIT License.
679
+ * http://www.opensource.org/licenses/mit-license
680
+ */var sl=new X,Om=function(){function e(t){this.renderer=t}return e.prototype.image=function(t,i,r){var n=new Image;return n.src=this.base64(t,i,r),n},e.prototype.base64=function(t,i,r){return this.canvas(t).toDataURL(i,r)},e.prototype.canvas=function(t){var i=this.renderer,r,n,s,o;t&&(t instanceof Nt?o=t:o=i.generateTexture(t)),o?(r=o.baseTexture._canvasRenderTarget.context,n=o.baseTexture._canvasRenderTarget.resolution,s=o.frame):(r=i.rootContext,n=i.resolution,s=sl,s.width=this.renderer.width,s.height=this.renderer.height);var a=Math.floor(s.width*n+1e-4),l=Math.floor(s.height*n+1e-4),h=new Pn(a,l,1),u=r.getImageData(s.x*n,s.y*n,a,l);return h.context.putImageData(u,0,0),h.canvas},e.prototype.pixels=function(t){var i=this.renderer,r,n,s,o;t&&(t instanceof Nt?o=t:o=i.generateTexture(t)),o?(r=o.baseTexture._canvasRenderTarget.context,n=o.baseTexture._canvasRenderTarget.resolution,s=o.frame):(r=i.rootContext,n=i.resolution,s=sl,s.width=i.width,s.height=i.height);var a=s.x*n,l=s.y*n,h=s.width*n,u=s.height*n;return r.getImageData(a,l,h,u).data},e.prototype.destroy=function(){this.renderer=null},e}();/*!
681
+ * @pixi/canvas-graphics - v6.2.2
682
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
683
+ *
684
+ * @pixi/canvas-graphics is licensed under the MIT License.
685
+ * http://www.opensource.org/licenses/mit-license
686
+ */var ol=function(){function e(){}return e.offsetPolygon=function(t,i){var r=[],n=t.length;i=e.isPolygonClockwise(t)?i:-1*i;for(var s=0;s<n;s+=2){var o=s-2;o<0&&(o+=n);var a=(s+2)%n,l=t[s]-t[o],h=t[s+1]-t[o+1],u=Math.sqrt(l*l+h*h);l/=u,h/=u,l*=i,h*=i;var f=-h,p=l,d=[t[o]+f,t[o+1]+p],v=[t[s]+f,t[s+1]+p],y=t[a]-t[s],m=t[a+1]-t[s+1];u=Math.sqrt(y*y+m*m),y/=u,m/=u,y*=i,m*=i;var g=-m,w=y,_=[t[s]+g,t[s+1]+w],T=[t[a]+g,t[a+1]+w],x=e.findIntersection(d[0],d[1],v[0],v[1],_[0],_[1],T[0],T[1]);x&&r.push.apply(r,x)}return r},e.findIntersection=function(t,i,r,n,s,o,a,l){var h=(l-o)*(r-t)-(a-s)*(n-i),u=(a-s)*(i-o)-(l-o)*(t-s),f=(r-t)*(i-o)-(n-i)*(t-s);if(h===0)return u===0&&f===0?[(t+r)/2,(i+n)/2]:null;var p=u/h;return[t+p*(r-t),i+p*(n-i)]},e.isPolygonClockwise=function(t){for(var i=0,r=0;r<t.length-2;r+=2)i+=(t[r+2]-t[r])*(t[r+3]+t[r+1]);return i>0},e}(),Rm=function(){function e(t){this._svgMatrix=null,this._tempMatrix=new Z,this.renderer=t}return e.prototype._calcCanvasStyle=function(t,i){var r;return t.texture&&t.texture.baseTexture!==z.WHITE.baseTexture?t.texture.valid?(r=ft.getTintedPattern(t.texture,i),this.setPatternTransform(r,t.matrix||Z.IDENTITY)):r="#808080":r="#"+("00000"+(i|0).toString(16)).substr(-6),r},e.prototype.render=function(t){var i=this.renderer,r=i.context,n=t.worldAlpha,s=t.transform.worldTransform;i.setContextTransform(s),i.setBlendMode(t.blendMode);for(var o=t.geometry.graphicsData,a,l,h=(t.tint>>16&255)/255,u=(t.tint>>8&255)/255,f=(t.tint&255)/255,p=0;p<o.length;p++){var d=o[p],v=d.shape,y=d.fillStyle,m=d.lineStyle,g=d.fillStyle.color|0,w=d.lineStyle.color|0;if(d.matrix&&i.setContextTransform(s.copyTo(this._tempMatrix).append(d.matrix)),y.visible){var _=((g>>16&255)/255*h*255<<16)+((g>>8&255)/255*u*255<<8)+(g&255)/255*f*255;a=this._calcCanvasStyle(y,_)}if(m.visible){var T=((w>>16&255)/255*h*255<<16)+((w>>8&255)/255*u*255<<8)+(w&255)/255*f*255;l=this._calcCanvasStyle(m,T)}if(r.lineWidth=m.width,r.lineCap=m.cap,r.lineJoin=m.join,r.miterLimit=m.miterLimit,d.type===G.POLY){r.beginPath();var x=v,P=x.points,A=d.holes,k=void 0,C=void 0,S=void 0,M=void 0,N=void 0;r.moveTo(P[0],P[1]);for(var R=2;R<P.length;R+=2)r.lineTo(P[R],P[R+1]);if(x.closeStroke&&r.closePath(),A.length>0){N=[],k=0,S=P[0],M=P[1];for(var R=2;R+2<P.length;R+=2)k+=(P[R]-S)*(P[R+3]-M)-(P[R+2]-S)*(P[R+1]-M);for(var $=0;$<A.length;$++)if(P=A[$].shape.points,!!P){C=0,S=P[0],M=P[1];for(var R=2;R+2<P.length;R+=2)C+=(P[R]-S)*(P[R+3]-M)-(P[R+2]-S)*(P[R+1]-M);if(C*k<0){r.moveTo(P[0],P[1]);for(var R=2;R<P.length;R+=2)r.lineTo(P[R],P[R+1])}else{r.moveTo(P[P.length-2],P[P.length-1]);for(var R=P.length-4;R>=0;R-=2)r.lineTo(P[R],P[R+1])}A[$].shape.closeStroke&&r.closePath(),N[$]=C*k<0}}y.visible&&(r.globalAlpha=y.alpha*n,r.fillStyle=a,r.fill()),m.visible&&this.paintPolygonStroke(x,m,l,A,N,n,r)}else if(d.type===G.RECT){var x=v;if(y.visible&&(r.globalAlpha=y.alpha*n,r.fillStyle=a,r.fillRect(x.x,x.y,x.width,x.height)),m.visible){var E=m.width*(.5-(1-m.alignment)),O=x.width+2*E,B=x.height+2*E;r.globalAlpha=m.alpha*n,r.strokeStyle=l,r.strokeRect(x.x-E,x.y-E,O,B)}}else if(d.type===G.CIRC){var x=v;if(r.beginPath(),r.arc(x.x,x.y,x.radius,0,2*Math.PI),r.closePath(),y.visible&&(r.globalAlpha=y.alpha*n,r.fillStyle=a,r.fill()),m.visible){if(m.alignment!==.5){var E=m.width*(.5-(1-m.alignment));r.beginPath(),r.arc(x.x,x.y,x.radius+E,0,2*Math.PI),r.closePath()}r.globalAlpha=m.alpha*n,r.strokeStyle=l,r.stroke()}}else if(d.type===G.ELIP){var x=v,it=m.alignment===1;if(it||this.paintEllipse(x,y,m,a,n,r),m.visible){if(m.alignment!==.5){var Vt=.5522848,E=m.width*(.5-(1-m.alignment)),$t=(x.width+E)*2,qt=(x.height+E)*2,It=x.x-$t/2,Ct=x.y-qt/2,Le=$t/2*Vt,Oe=qt/2*Vt,ae=It+$t,le=Ct+qt,Ft=It+$t/2,pt=Ct+qt/2;r.beginPath(),r.moveTo(It,pt),r.bezierCurveTo(It,pt-Oe,Ft-Le,Ct,Ft,Ct),r.bezierCurveTo(Ft+Le,Ct,ae,pt-Oe,ae,pt),r.bezierCurveTo(ae,pt+Oe,Ft+Le,le,Ft,le),r.bezierCurveTo(Ft-Le,le,It,pt+Oe,It,pt),r.closePath()}r.globalAlpha=m.alpha*n,r.strokeStyle=l,r.stroke()}it&&this.paintEllipse(x,y,m,a,n,r)}else if(d.type===G.RREC){var x=v,it=m.alignment===1;if(it||this.paintRoundedRectangle(x,y,m,a,n,r),m.visible){if(m.alignment!==.5){var O=x.width,B=x.height,E=m.width*(.5-(1-m.alignment)),J=x.x-E,K=x.y-E,rt=x.width+2*E,Et=x.height+2*E,kr=E*(m.alignment>=1?Math.min(rt/O,Et/B):Math.min(O/rt,B/Et)),mt=x.radius+kr,Br=Math.min(rt,Et)/2;mt=mt>Br?Br:mt,r.beginPath(),r.moveTo(J,K+mt),r.lineTo(J,K+Et-mt),r.quadraticCurveTo(J,K+Et,J+mt,K+Et),r.lineTo(J+rt-mt,K+Et),r.quadraticCurveTo(J+rt,K+Et,J+rt,K+Et-mt),r.lineTo(J+rt,K+mt),r.quadraticCurveTo(J+rt,K,J+rt-mt,K),r.lineTo(J+mt,K),r.quadraticCurveTo(J,K,J,K+mt),r.closePath()}r.globalAlpha=m.alpha*n,r.strokeStyle=l,r.stroke()}it&&this.paintRoundedRectangle(x,y,m,a,n,r)}}},e.prototype.paintPolygonStroke=function(t,i,r,n,s,o,a){if(i.alignment!==.5){var l=i.width*(.5-(1-i.alignment)),h=ol.offsetPolygon(t.points,l),u=void 0;a.beginPath(),a.moveTo(h[0],h[1]);for(var f=2;f<h.length;f+=2)a.lineTo(h[f],h[f+1]);t.closeStroke&&a.closePath();for(var p=0;p<n.length;p++){if(u=n[p].shape.points,h=ol.offsetPolygon(u,l),s[p]){a.moveTo(h[0],h[1]);for(var f=2;f<h.length;f+=2)a.lineTo(h[f],h[f+1])}else{a.moveTo(h[h.length-2],h[h.length-1]);for(var f=h.length-4;f>=0;f-=2)a.lineTo(h[f],h[f+1])}n[p].shape.closeStroke&&a.closePath()}}a.globalAlpha=i.alpha*o,a.strokeStyle=r,a.stroke()},e.prototype.paintEllipse=function(t,i,r,n,s,o){var a=t.width*2,l=t.height*2,h=t.x-a/2,u=t.y-l/2,f=.5522848,p=a/2*f,d=l/2*f,v=h+a,y=u+l,m=h+a/2,g=u+l/2;r.alignment===0&&o.save(),o.beginPath(),o.moveTo(h,g),o.bezierCurveTo(h,g-d,m-p,u,m,u),o.bezierCurveTo(m+p,u,v,g-d,v,g),o.bezierCurveTo(v,g+d,m+p,y,m,y),o.bezierCurveTo(m-p,y,h,g+d,h,g),o.closePath(),r.alignment===0&&o.clip(),i.visible&&(o.globalAlpha=i.alpha*s,o.fillStyle=n,o.fill()),r.alignment===0&&o.restore()},e.prototype.paintRoundedRectangle=function(t,i,r,n,s,o){var a=t.x,l=t.y,h=t.width,u=t.height,f=t.radius,p=Math.min(h,u)/2;f=f>p?p:f,r.alignment===0&&o.save(),o.beginPath(),o.moveTo(a,l+f),o.lineTo(a,l+u-f),o.quadraticCurveTo(a,l+u,a+f,l+u),o.lineTo(a+h-f,l+u),o.quadraticCurveTo(a+h,l+u,a+h,l+u-f),o.lineTo(a+h,l+f),o.quadraticCurveTo(a+h,l,a+h-f,l),o.lineTo(a+f,l),o.quadraticCurveTo(a,l,a,l+f),o.closePath(),r.alignment===0&&o.clip(),i.visible&&(o.globalAlpha=i.alpha*s,o.fillStyle=n,o.fill()),r.alignment===0&&o.restore()},e.prototype.setPatternTransform=function(t,i){if(this._svgMatrix!==!1){if(!this._svgMatrix){var r=document.createElementNS("http://www.w3.org/2000/svg","svg");if(r&&r.createSVGMatrix&&(this._svgMatrix=r.createSVGMatrix()),!this._svgMatrix||!t.setTransform){this._svgMatrix=!1;return}}this._svgMatrix.a=i.a,this._svgMatrix.b=i.b,this._svgMatrix.c=i.c,this._svgMatrix.d=i.d,this._svgMatrix.e=i.tx,this._svgMatrix.f=i.ty,t.setTransform(this._svgMatrix.inverse())}},e.prototype.destroy=function(){this.renderer=null,this._svgMatrix=null,this._tempMatrix=null},e}(),us,wi=new Z;tt.prototype.generateCanvasTexture=function(t,i){i===void 0&&(i=1);var r=this.getLocalBounds(),n=Nt.create({width:r.width,height:r.height,scaleMode:t,resolution:i});us||(us=new re),this.transform.updateLocalTransform(),this.transform.localTransform.copyTo(wi),wi.invert(),wi.tx-=r.x,wi.ty-=r.y,us.render(this,{renderTexture:n,clear:!0,transform:wi});var s=z.from(n.baseTexture._canvasRenderTarget.canvas,{scaleMode:t});return s.baseTexture.setResolution(i),s},tt.prototype.cachedGraphicsData=[],tt.prototype._renderCanvas=function(t){this.isMask!==!0&&(this.finishPoly(),t.plugins.graphics.render(this))};/*!
687
+ * @pixi/prepare - v6.2.2
688
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
689
+ *
690
+ * @pixi/prepare is licensed under the MIT License.
691
+ * http://www.opensource.org/licenses/mit-license
692
+ */F.UPLOADS_PER_FRAME=4;/*! *****************************************************************************
693
+ Copyright (c) Microsoft Corporation. All rights reserved.
694
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
695
+ this file except in compliance with the License. You may obtain a copy of the
696
+ License at http://www.apache.org/licenses/LICENSE-2.0
697
+
698
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
699
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
700
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
701
+ MERCHANTABLITY OR NON-INFRINGEMENT.
702
+
703
+ See the Apache Version 2.0 License for specific language governing permissions
704
+ and limitations under the License.
705
+ ***************************************************************************** */var fs=function(e,t){return fs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},fs(e,t)};function Mm(e,t){fs(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var Fm=function(){function e(t){this.maxItemsPerFrame=t,this.itemsLeft=0}return e.prototype.beginFrame=function(){this.itemsLeft=this.maxItemsPerFrame},e.prototype.allowedToUpload=function(){return this.itemsLeft-- >0},e}();function km(e,t){var i=!1;if(e&&e._textures&&e._textures.length){for(var r=0;r<e._textures.length;r++)if(e._textures[r]instanceof z){var n=e._textures[r].baseTexture;t.indexOf(n)===-1&&(t.push(n),i=!0)}}return i}function Bm(e,t){if(e.baseTexture instanceof Y){var i=e.baseTexture;return t.indexOf(i)===-1&&t.push(i),!0}return!1}function Um(e,t){if(e._texture&&e._texture instanceof z){var i=e._texture.baseTexture;return t.indexOf(i)===-1&&t.push(i),!0}return!1}function Dm(e,t){return t instanceof $e?(t.updateText(!0),!0):!1}function Xm(e,t){if(t instanceof Ce){var i=t.toFontString();return wt.measureFont(i),!0}return!1}function Gm(e,t){if(e instanceof $e){t.indexOf(e.style)===-1&&t.push(e.style),t.indexOf(e)===-1&&t.push(e);var i=e._texture.baseTexture;return t.indexOf(i)===-1&&t.push(i),!0}return!1}function Hm(e,t){return e instanceof Ce?(t.indexOf(e)===-1&&t.push(e),!0):!1}var al=function(){function e(t){var i=this;this.limiter=new Fm(F.UPLOADS_PER_FRAME),this.renderer=t,this.uploadHookHelper=null,this.queue=[],this.addHooks=[],this.uploadHooks=[],this.completes=[],this.ticking=!1,this.delayedTick=function(){!i.queue||i.prepareItems()},this.registerFindHook(Gm),this.registerFindHook(Hm),this.registerFindHook(km),this.registerFindHook(Bm),this.registerFindHook(Um),this.registerUploadHook(Dm),this.registerUploadHook(Xm)}return e.prototype.upload=function(t,i){typeof t=="function"&&(i=t,t=null),t&&this.add(t),this.queue.length?(i&&this.completes.push(i),this.ticking||(this.ticking=!0,ct.system.addOnce(this.tick,this,ce.UTILITY))):i&&i()},e.prototype.tick=function(){setTimeout(this.delayedTick,0)},e.prototype.prepareItems=function(){for(this.limiter.beginFrame();this.queue.length&&this.limiter.allowedToUpload();){var t=this.queue[0],i=!1;if(t&&!t._destroyed){for(var r=0,n=this.uploadHooks.length;r<n;r++)if(this.uploadHooks[r](this.uploadHookHelper,t)){this.queue.shift(),i=!0;break}}i||this.queue.shift()}if(this.queue.length)ct.system.addOnce(this.tick,this,ce.UTILITY);else{this.ticking=!1;var s=this.completes.slice(0);this.completes.length=0;for(var r=0,n=s.length;r<n;r++)s[r]()}},e.prototype.registerFindHook=function(t){return t&&this.addHooks.push(t),this},e.prototype.registerUploadHook=function(t){return t&&this.uploadHooks.push(t),this},e.prototype.add=function(t){for(var i=0,r=this.addHooks.length;i<r&&!this.addHooks[i](t,this.queue);i++);if(t instanceof et)for(var i=t.children.length-1;i>=0;i--)this.add(t.children[i]);return this},e.prototype.destroy=function(){this.ticking&&ct.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null},e}();function ll(e,t){return t instanceof Y?(t._glTextures[e.CONTEXT_UID]||e.texture.bind(t),!0):!1}function Wm(e,t){if(!(t instanceof tt))return!1;var i=t.geometry;t.finishPoly(),i.updateBatches();for(var r=i.batches,n=0;n<r.length;n++){var s=r[n].style.texture;s&&ll(e,s.baseTexture)}return i.batchable||e.geometry.bind(i,t._resolveDirectShader(e)),!0}function Ym(e,t){return e instanceof tt?(t.push(e),!0):!1}(function(e){Mm(t,e);function t(i){var r=e.call(this,i)||this;return r.uploadHookHelper=r.renderer,r.registerFindHook(Ym),r.registerUploadHook(ll),r.registerUploadHook(Wm),r}return t})(al);/*!
706
+ * @pixi/canvas-prepare - v6.2.2
707
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
708
+ *
709
+ * @pixi/canvas-prepare is licensed under the MIT License.
710
+ * http://www.opensource.org/licenses/mit-license
711
+ *//*! *****************************************************************************
712
+ Copyright (c) Microsoft Corporation. All rights reserved.
713
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
714
+ this file except in compliance with the License. You may obtain a copy of the
715
+ License at http://www.apache.org/licenses/LICENSE-2.0
716
+
717
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
718
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
719
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
720
+ MERCHANTABLITY OR NON-INFRINGEMENT.
721
+
722
+ See the Apache Version 2.0 License for specific language governing permissions
723
+ and limitations under the License.
724
+ ***************************************************************************** */var cs=function(e,t){return cs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},cs(e,t)};function zm(e,t){cs(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var hl=16;function Vm(e,t){var i=e;if(t instanceof Y){var r=t.source,n=r.width===0?i.canvas.width:Math.min(i.canvas.width,r.width),s=r.height===0?i.canvas.height:Math.min(i.canvas.height,r.height);return i.ctx.drawImage(r,0,0,n,s,0,0,i.canvas.width,i.canvas.height),!0}return!1}var $m=function(e){zm(t,e);function t(i){var r=e.call(this,i)||this;return r.uploadHookHelper=r,r.canvas=document.createElement("canvas"),r.canvas.width=hl,r.canvas.height=hl,r.ctx=r.canvas.getContext("2d"),r.registerUploadHook(Vm),r}return t.prototype.destroy=function(){e.prototype.destroy.call(this),this.ctx=null,this.canvas=null},t}(al);/*!
725
+ * @pixi/canvas-sprite - v6.2.2
726
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
727
+ *
728
+ * @pixi/canvas-sprite is licensed under the MIT License.
729
+ * http://www.opensource.org/licenses/mit-license
730
+ */var ul=new Z,qm=function(){function e(t){this.renderer=t}return e.prototype.render=function(t){var i=t._texture,r=this.renderer,n=r.context;if(!!i.valid){var s=i._frame.width,o=i._frame.height,a=t.transform.worldTransform,l=0,h=0,u=i.baseTexture.getDrawableSource();if(!(i.orig.width<=0||i.orig.height<=0||!i.valid||!u)){r.setBlendMode(t.blendMode,!0),r.context.globalAlpha=t.worldAlpha;var f=i.baseTexture.scaleMode===lt.LINEAR;r.smoothProperty&&r.context[r.smoothProperty]!==f&&(n[r.smoothProperty]=f),i.trim?(l=i.trim.width/2+i.trim.x-t.anchor.x*i.orig.width,h=i.trim.height/2+i.trim.y-t.anchor.y*i.orig.height):(l=(.5-t.anchor.x)*i.orig.width,h=(.5-t.anchor.y)*i.orig.height),i.rotate&&(a.copyTo(ul),a=ul,q.matrixAppendRotationInv(a,i.rotate,l,h),l=0,h=0),l-=s/2,h-=o/2,r.setContextTransform(a,t.roundPixels,1),t.roundPixels&&(l=l|0,h=h|0);var p=i.baseTexture.resolution,d=r._outerBlend;d&&(n.save(),n.beginPath(),n.rect(l*r.resolution,h*r.resolution,s*r.resolution,o*r.resolution),n.clip()),t.tint!==16777215?((t._cachedTint!==t.tint||t._tintedCanvas.tintId!==t._texture._updateID)&&(t._cachedTint=t.tint,t._tintedCanvas=ft.getTintedCanvas(t,t.tint)),n.drawImage(t._tintedCanvas,0,0,Math.floor(s*p),Math.floor(o*p),Math.floor(l*r.resolution),Math.floor(h*r.resolution),Math.floor(s*r.resolution),Math.floor(o*r.resolution))):n.drawImage(u,i._frame.x*p,i._frame.y*p,Math.floor(s*p),Math.floor(o*p),Math.floor(l*r.resolution),Math.floor(h*r.resolution),Math.floor(s*r.resolution),Math.floor(o*r.resolution)),d&&n.restore(),r.setBlendMode(b.NORMAL)}}},e.prototype.destroy=function(){this.renderer=null},e}();Lt.prototype._tintedCanvas=null,Lt.prototype._renderCanvas=function(t){t.plugins.sprite.render(this)};/*!
731
+ * @pixi/filter-color-matrix - v6.2.2
732
+ * Compiled Wed, 26 Jan 2022 16:23:27 UTC
733
+ *
734
+ * @pixi/filter-color-matrix is licensed under the MIT License.
735
+ * http://www.opensource.org/licenses/mit-license
736
+ *//*! *****************************************************************************
737
+ Copyright (c) Microsoft Corporation. All rights reserved.
738
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
739
+ this file except in compliance with the License. You may obtain a copy of the
740
+ License at http://www.apache.org/licenses/LICENSE-2.0
741
+
742
+ THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
743
+ KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
744
+ WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
745
+ MERCHANTABLITY OR NON-INFRINGEMENT.
746
+
747
+ See the Apache Version 2.0 License for specific language governing permissions
748
+ and limitations under the License.
749
+ ***************************************************************************** */var ps=function(e,t){return ps=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,r){i.__proto__=r}||function(i,r){for(var n in r)r.hasOwnProperty(n)&&(i[n]=r[n])},ps(e,t)};function jm(e,t){ps(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}var Zm=`varying vec2 vTextureCoord;
750
+ uniform sampler2D uSampler;
751
+ uniform float m[20];
752
+ uniform float uAlpha;
753
+
754
+ void main(void)
755
+ {
756
+ vec4 c = texture2D(uSampler, vTextureCoord);
757
+
758
+ if (uAlpha == 0.0) {
759
+ gl_FragColor = c;
760
+ return;
761
+ }
762
+
763
+ // Un-premultiply alpha before applying the color matrix. See issue #3539.
764
+ if (c.a > 0.0) {
765
+ c.rgb /= c.a;
766
+ }
767
+
768
+ vec4 result;
769
+
770
+ result.r = (m[0] * c.r);
771
+ result.r += (m[1] * c.g);
772
+ result.r += (m[2] * c.b);
773
+ result.r += (m[3] * c.a);
774
+ result.r += m[4];
775
+
776
+ result.g = (m[5] * c.r);
777
+ result.g += (m[6] * c.g);
778
+ result.g += (m[7] * c.b);
779
+ result.g += (m[8] * c.a);
780
+ result.g += m[9];
781
+
782
+ result.b = (m[10] * c.r);
783
+ result.b += (m[11] * c.g);
784
+ result.b += (m[12] * c.b);
785
+ result.b += (m[13] * c.a);
786
+ result.b += m[14];
787
+
788
+ result.a = (m[15] * c.r);
789
+ result.a += (m[16] * c.g);
790
+ result.a += (m[17] * c.b);
791
+ result.a += (m[18] * c.a);
792
+ result.a += m[19];
793
+
794
+ vec3 rgb = mix(c.rgb, result.rgb, uAlpha);
795
+
796
+ // Premultiply alpha again.
797
+ rgb *= result.a;
798
+
799
+ gl_FragColor = vec4(rgb, result.a);
800
+ }
801
+ `,ds=function(e){jm(t,e);function t(){var i=this,r={m:new Float32Array([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]),uAlpha:1};return i=e.call(this,jv,Zm,r)||this,i.alpha=1,i}return t.prototype._loadMatrix=function(i,r){r===void 0&&(r=!1);var n=i;r&&(this._multiply(n,this.uniforms.m,i),n=this._colorMatrix(n)),this.uniforms.m=n},t.prototype._multiply=function(i,r,n){return i[0]=r[0]*n[0]+r[1]*n[5]+r[2]*n[10]+r[3]*n[15],i[1]=r[0]*n[1]+r[1]*n[6]+r[2]*n[11]+r[3]*n[16],i[2]=r[0]*n[2]+r[1]*n[7]+r[2]*n[12]+r[3]*n[17],i[3]=r[0]*n[3]+r[1]*n[8]+r[2]*n[13]+r[3]*n[18],i[4]=r[0]*n[4]+r[1]*n[9]+r[2]*n[14]+r[3]*n[19]+r[4],i[5]=r[5]*n[0]+r[6]*n[5]+r[7]*n[10]+r[8]*n[15],i[6]=r[5]*n[1]+r[6]*n[6]+r[7]*n[11]+r[8]*n[16],i[7]=r[5]*n[2]+r[6]*n[7]+r[7]*n[12]+r[8]*n[17],i[8]=r[5]*n[3]+r[6]*n[8]+r[7]*n[13]+r[8]*n[18],i[9]=r[5]*n[4]+r[6]*n[9]+r[7]*n[14]+r[8]*n[19]+r[9],i[10]=r[10]*n[0]+r[11]*n[5]+r[12]*n[10]+r[13]*n[15],i[11]=r[10]*n[1]+r[11]*n[6]+r[12]*n[11]+r[13]*n[16],i[12]=r[10]*n[2]+r[11]*n[7]+r[12]*n[12]+r[13]*n[17],i[13]=r[10]*n[3]+r[11]*n[8]+r[12]*n[13]+r[13]*n[18],i[14]=r[10]*n[4]+r[11]*n[9]+r[12]*n[14]+r[13]*n[19]+r[14],i[15]=r[15]*n[0]+r[16]*n[5]+r[17]*n[10]+r[18]*n[15],i[16]=r[15]*n[1]+r[16]*n[6]+r[17]*n[11]+r[18]*n[16],i[17]=r[15]*n[2]+r[16]*n[7]+r[17]*n[12]+r[18]*n[17],i[18]=r[15]*n[3]+r[16]*n[8]+r[17]*n[13]+r[18]*n[18],i[19]=r[15]*n[4]+r[16]*n[9]+r[17]*n[14]+r[18]*n[19]+r[19],i},t.prototype._colorMatrix=function(i){var r=new Float32Array(i);return r[4]/=255,r[9]/=255,r[14]/=255,r[19]/=255,r},t.prototype.brightness=function(i,r){var n=[i,0,0,0,0,0,i,0,0,0,0,0,i,0,0,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.tint=function(i,r){var n=i>>16&255,s=i>>8&255,o=i&255,a=[n/255,0,0,0,0,0,s/255,0,0,0,0,0,o/255,0,0,0,0,0,1,0];this._loadMatrix(a,r)},t.prototype.greyscale=function(i,r){var n=[i,i,i,0,0,i,i,i,0,0,i,i,i,0,0,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.blackAndWhite=function(i){var r=[.3,.6,.1,0,0,.3,.6,.1,0,0,.3,.6,.1,0,0,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.hue=function(i,r){i=(i||0)/180*Math.PI;var n=Math.cos(i),s=Math.sin(i),o=Math.sqrt,a=1/3,l=o(a),h=n+(1-n)*a,u=a*(1-n)-l*s,f=a*(1-n)+l*s,p=a*(1-n)+l*s,d=n+a*(1-n),v=a*(1-n)-l*s,y=a*(1-n)-l*s,m=a*(1-n)+l*s,g=n+a*(1-n),w=[h,u,f,0,0,p,d,v,0,0,y,m,g,0,0,0,0,0,1,0];this._loadMatrix(w,r)},t.prototype.contrast=function(i,r){var n=(i||0)+1,s=-.5*(n-1),o=[n,0,0,0,s,0,n,0,0,s,0,0,n,0,s,0,0,0,1,0];this._loadMatrix(o,r)},t.prototype.saturate=function(i,r){i===void 0&&(i=0);var n=i*2/3+1,s=(n-1)*-.5,o=[n,s,s,0,0,s,n,s,0,0,s,s,n,0,0,0,0,0,1,0];this._loadMatrix(o,r)},t.prototype.desaturate=function(){this.saturate(-1)},t.prototype.negative=function(i){var r=[-1,0,0,1,0,0,-1,0,1,0,0,0,-1,1,0,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.sepia=function(i){var r=[.393,.7689999,.18899999,0,0,.349,.6859999,.16799999,0,0,.272,.5339999,.13099999,0,0,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.technicolor=function(i){var r=[1.9125277891456083,-.8545344976951645,-.09155508482755585,0,11.793603434377337,-.3087833385928097,1.7658908555458428,-.10601743074722245,0,-70.35205161461398,-.231103377548616,-.7501899197440212,1.847597816108189,0,30.950940869491138,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.polaroid=function(i){var r=[1.438,-.062,-.062,0,0,-.122,1.378,-.122,0,0,-.016,-.016,1.483,0,0,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.toBGR=function(i){var r=[0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.kodachrome=function(i){var r=[1.1285582396593525,-.3967382283601348,-.03992559172921793,0,63.72958762196502,-.16404339962244616,1.0835251566291304,-.05498805115633132,0,24.732407896706203,-.16786010706155763,-.5603416277695248,1.6014850761964943,0,35.62982807460946,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.browni=function(i){var r=[.5997023498159715,.34553243048391263,-.2708298674538042,0,47.43192855600873,-.037703249837783157,.8609577587992641,.15059552388459913,0,-36.96841498319127,.24113635128153335,-.07441037908422492,.44972182064877153,0,-7.562075277591283,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.vintage=function(i){var r=[.6279345635605994,.3202183420819367,-.03965408211312453,0,9.651285835294123,.02578397704808868,.6441188644374771,.03259127616149294,0,7.462829176470591,.0466055556782719,-.0851232987247891,.5241648018700465,0,5.159190588235296,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.colorTone=function(i,r,n,s,o){i=i||.2,r=r||.15,n=n||16770432,s=s||3375104;var a=(n>>16&255)/255,l=(n>>8&255)/255,h=(n&255)/255,u=(s>>16&255)/255,f=(s>>8&255)/255,p=(s&255)/255,d=[.3,.59,.11,0,0,a,l,h,i,0,u,f,p,r,0,a-u,l-f,h-p,0,0];this._loadMatrix(d,o)},t.prototype.night=function(i,r){i=i||.1;var n=[i*-2,-i,0,0,0,-i,0,i,0,0,0,i,i*2,0,0,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.predator=function(i,r){var n=[11.224130630493164*i,-4.794486999511719*i,-2.8746118545532227*i,0*i,.40342438220977783*i,-3.6330697536468506*i,9.193157196044922*i,-2.951810836791992*i,0*i,-1.316135048866272*i,-3.2184197902679443*i,-4.2375030517578125*i,7.476448059082031*i,0*i,.8044459223747253*i,0,0,0,1,0];this._loadMatrix(n,r)},t.prototype.lsd=function(i){var r=[2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0];this._loadMatrix(r,i)},t.prototype.reset=function(){var i=[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0];this._loadMatrix(i,!1)},Object.defineProperty(t.prototype,"matrix",{get:function(){return this.uniforms.m},set:function(i){this.uniforms.m=i},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"alpha",{get:function(){return this.uniforms.uAlpha},set:function(i){this.uniforms.uAlpha=i},enumerable:!1,configurable:!0}),t}(Ba);ds.prototype.grayscale=ds.prototype.greyscale;function Jm(e){return function(i){if(!(this._activeParentLayer&&this._activeParentLayer!==i._activeLayer)){if(!this.visible){this.displayOrder=0;return}this.displayOrder=i.incDisplayOrder(),!(this.worldAlpha<=0||!this.renderable)&&(i._activeLayer=null,e.call(this,i),i._activeLayer=this._activeParentLayer)}}}function Km(e){if(!(this._activeParentLayer&&this._activeParentLayer!==e._activeLayer)){if(!this.visible){this.displayOrder=0;return}this.displayOrder=e.incDisplayOrder(),!(this.worldAlpha<=0||!this.renderable)&&(e._activeLayer=null,this.containerRenderWebGL(e),e._activeLayer=this._activeParentLayer)}}function Qm(){if(Gt.prototype.displayOrder!==void 0)return;Object.assign(Gt.prototype,{parentLayer:null,_activeParentLayer:null,parentGroup:null,zOrder:0,zIndex:0,updateOrder:0,displayOrder:0,layerableChildren:!0,isLayer:!1});const e=et.prototype;e.containerRenderWebGL=e.render,e.render=Km}class ty{constructor(){this._tempPoint=new H,this._queue=[[],[]],this._eventDisplayOrder=0,this.worksWithLayers=!0}recursiveFindHit(t,i,r,n,s){if(!i||!i.visible)return 0;let o=0,a=n=i.interactive||n;i.hitArea&&(a=!1),i._activeParentLayer&&(s=!1);const l=i._mask;r<1/0&&l&&l.containsPoint&&!l.containsPoint(t)&&(s=!0),r<1/0&&i.filterArea&&(i.filterArea.contains(t.x,t.y)||(s=!0));const h=i.children;if(i.interactiveChildren&&h)for(let u=h.length-1;u>=0;u--){const f=h[u],p=this.recursiveFindHit(t,f,r,a,s);if(p){if(!f.parent)continue;o=p,r=p}}return n&&(s?i.interactive&&this._queueAdd(i,0):(r<i.displayOrder&&(i.hitArea?(i.worldTransform.applyInverse(t,this._tempPoint),i.hitArea.contains(this._tempPoint.x,this._tempPoint.y)&&(o=i.displayOrder)):i.containsPoint&&i.containsPoint(t)&&(o=i.displayOrder)),i.interactive&&this._queueAdd(i,o===1/0?0:o))),o}findHit(t,i,r,n){const s=t.data.global;this._startInteractionProcess(),this.recursiveFindHit(s,i,n?0:1/0,!1,!1),this._finishInteractionProcess(t,r)}_startInteractionProcess(){this._eventDisplayOrder=1,this._queue||(this._queue=[[],[]]),this._queue[0].length=0,this._queue[1].length=0}_queueAdd(t,i){const r=this._queue;if(i<this._eventDisplayOrder)r[0].push(t);else{if(i>this._eventDisplayOrder){this._eventDisplayOrder=i;const n=r[1];for(let s=0,o=n.length;s<o;s++)r[0].push(n[s]);r[1].length=0}r[1].push(t)}}_finishInteractionProcess(t,i){const r=this._queue;let n=r[0];for(let s=0,o=n.length;s<o;s++)i&&i(t,n[s],!1);n=r[1];for(let s=0,o=n.length;s<o;s++)t.target||(t.target=n[s]),i&&i(t,n[s],!0)}}function ey(e){return function(i,r,n,s,o){(!r||!r.renderTexture&&!r.baseTexture)&&(this._lastDisplayOrder=0),this._activeLayer=null,i.isStage&&i.updateStage(),this.plugins.interaction&&!this.plugins.interaction.search.worksWithLayers&&(this.plugins.interaction.search=new ty),e.call(this,i,r,n,s,o)}}function fl(e){const t=e.prototype;t._oldRender||(Object.assign(t,{_lastDisplayOrder:0,_activeLayer:null,incDisplayOrder(){return++this._lastDisplayOrder},_oldRender:be.prototype.render}),t._oldRender=t.render,t.render=ey(t.render))}function iy(e){if(!e){console.log("@pixi/layers: Canvas mixin was called with empty parameter. Are you sure that you even need this line?");return}fl(e);const t=et.prototype;t.containerRenderCanvas||(t.containerRenderCanvas=t.renderCanvas,t.renderCanvas=Jm(t.renderCanvas))}class _t extends pe{constructor(t=0,i=!1){super(),this.useRenderTexture=!1,this.useDoubleBuffer=!1,this.sortPriority=0,this.clearColor=new Float32Array([0,0,0,0]),this.canDrawWithoutLayer=!1,this.canDrawInParentStage=!0,this._activeLayer=null,this._activeStage=null,this._activeChildren=[],this._lastUpdateId=-1,this.zIndex=t||0,this.enableSort=!!i,typeof i=="function"&&this.on("sort",i)}doSort(t,i){if(this.listeners("sort",!0))for(let r=0;r<i.length;r++)this.emit("sort",i[r]);i.sort(_t.compareZIndex)}static compareZIndex(t,i){return t.zOrder<i.zOrder?-1:t.zOrder>i.zOrder?1:t.updateOrder-i.updateOrder}clear(){this._activeLayer=null,this._activeStage=null,this._activeChildren.length=0}_resolveChildDisplayObject(t,i){this.check(t),i._activeParentLayer=this._activeLayer,this._activeLayer?this._activeLayer._activeChildren.push(i):this._activeChildren.push(i)}_resolveLayer(t,i){this.check(t),this._activeLayer&&_t.conflict(),this._activeLayer=i,this._activeStage=t}check(t){if(this._lastUpdateId<_t._layerUpdateId)this._lastUpdateId=_t._layerUpdateId,this.clear(),this._activeStage=t;else if(this.canDrawInParentStage){let i=this._activeStage;for(;i&&i!==t;)i=i._activeParentStage;this._activeStage=i,i===null&&this.clear()}}static conflict(){_t._lastLayerConflict+5e3<Date.now()&&(_t._lastLayerConflict=Date.now(),console.log("@pixi/layers found two layers with the same group in one stage - that's not healthy. Please place a breakpoint here and debug it"))}}_t._layerUpdateId=0,_t._lastLayerConflict=0;class cl{constructor(t){this.layer=t,this.renderTexture=null,this.doubleBuffer=null,this.currentBufferIndex=0,this._tempRenderTarget=null,this._tempRenderTargetSource=new X,this._tempRenderTargetDestination=new X}init(t){const i=t?t.screen.width:100,r=t?t.screen.height:100,n=t?t.resolution:F.RESOLUTION;this.renderTexture=Nt.create({width:i,height:r,resolution:n}),this.layer.group.useDoubleBuffer&&(this.doubleBuffer=[Nt.create({width:i,height:r,resolution:n}),Nt.create({width:i,height:r,resolution:n})])}getRenderTexture(){return this.renderTexture||this.init(),this.renderTexture}pushTexture(t){const i=t.screen;this.renderTexture||this.init(t);const r=this.renderTexture,n=this.layer.group,s=this.doubleBuffer;if((r.width!==i.width||r.height!==i.height||r.baseTexture.resolution!==t.resolution)&&(r.baseTexture.resolution=t.resolution,r.resize(i.width,i.height),s&&(s[0].baseTexture.resolution=t.resolution,s[0].resize(i.width,i.height),s[1].baseTexture.resolution=t.resolution,s[1].resize(i.width,i.height))),s&&(s[0].framebuffer.multisample=r.framebuffer.multisample,s[1].framebuffer.multisample=r.framebuffer.multisample),this._tempRenderTarget=t.renderTexture.current,this._tempRenderTargetSource.copyFrom(t.renderTexture.sourceFrame),this._tempRenderTargetDestination.copyFrom(t.renderTexture.destinationFrame),t.batch.flush(),n.useDoubleBuffer){let a=s[this.currentBufferIndex];a.baseTexture._glTextures[t.CONTEXT_UID]||(t.renderTexture.bind(a,void 0,void 0),t.texture.bind(a),n.clearColor&&t.renderTexture.clear(n.clearColor)),t.texture.unbind(r.baseTexture),r.baseTexture._glTextures=a.baseTexture._glTextures,r.baseTexture.framebuffer=a.baseTexture.framebuffer,a=s[1-this.currentBufferIndex],t.renderTexture.bind(a,void 0,void 0)}else t.renderTexture.bind(r,void 0,void 0);n.clearColor&&t.renderTexture.clear(n.clearColor);const o=t.filter.defaultFilterStack;o.length>1&&(o[o.length-1].renderTexture=t.renderTexture.current)}popTexture(t){t.batch.flush(),t.framebuffer.blit();const i=t.filter.defaultFilterStack;i.length>1&&(i[i.length-1].renderTexture=this._tempRenderTarget),t.renderTexture.bind(this._tempRenderTarget,this._tempRenderTargetSource,this._tempRenderTargetDestination),this._tempRenderTarget=null;const r=this.renderTexture,n=this.layer.group,s=this.doubleBuffer;if(n.useDoubleBuffer){t.texture.unbind(r.baseTexture),this.currentBufferIndex=1-this.currentBufferIndex;const o=s[this.currentBufferIndex];r.baseTexture._glTextures=o.baseTexture._glTextures,r.baseTexture.framebuffer=o.baseTexture.framebuffer}}destroy(){this.renderTexture&&(this.renderTexture.destroy(),this.doubleBuffer&&(this.doubleBuffer[0].destroy(!0),this.doubleBuffer[1].destroy(!0)))}}class vr extends et{constructor(t=null){super(),this.isLayer=!0,this.group=null,this._activeChildren=[],this._tempChildren=null,this._activeStageParent=null,this._sortedChildren=[],this._tempLayerParent=null,this.insertChildrenBeforeActive=!0,this.insertChildrenAfterActive=!0,t?(this.group=t,this.zIndex=t.zIndex):this.group=new _t(0,!1),this._tempChildren=this.children}get useRenderTexture(){return this.group.useRenderTexture}set useRenderTexture(t){this.group.useRenderTexture=t}get useDoubleBuffer(){return this.group.useDoubleBuffer}set useDoubleBuffer(t){this.group.useDoubleBuffer=t}get clearColor(){return this.group.clearColor}set clearColor(t){this.group.clearColor=t}get sortPriority(){return this.group.sortPriority}set sortPriority(t){this.group.sortPriority=t}getRenderTexture(){return this.textureCache||(this.textureCache=new cl(this)),this.textureCache.getRenderTexture()}doSort(){this.group.doSort(this,this._sortedChildren)}destroy(t){this.textureCache&&(this.textureCache.destroy(),this.textureCache=null),super.destroy(t)}render(t){!this.prerender(t)||(this.group.useRenderTexture&&(this.textureCache||(this.textureCache=new cl(this)),this.textureCache.pushTexture(t)),this.containerRenderWebGL(t),this.postrender(t),this.group.useRenderTexture&&this.textureCache.popTexture(t))}layerRenderCanvas(t){this.prerender(t)&&(this.containerRenderCanvas(t),this.postrender(t))}_onBeginLayerSubtreeTraversal(t){const i=this._activeChildren;this._activeStageParent=t,this.group._resolveLayer(t,this);const r=this.group._activeChildren;i.length=0;for(let n=0;n<r.length;n++)r[n]._activeParentLayer=this,i.push(r[n]);r.length=0}_onEndLayerSubtreeTraversal(){const t=this.children,i=this._activeChildren,r=this._sortedChildren;for(let n=0;n<i.length;n++)this.emit("display",i[n]);if(r.length=0,this.insertChildrenBeforeActive)for(let n=0;n<t.length;n++)r.push(t[n]);for(let n=0;n<i.length;n++)r.push(i[n]);if(!this.insertChildrenBeforeActive&&this.insertChildrenAfterActive)for(let n=0;n<t.length;n++)r.push(t[n]);this.group.enableSort&&this.doSort()}prerender(t){return this._activeParentLayer&&this._activeParentLayer!=t._activeLayer?!1:this.visible?(this.displayOrder=t.incDisplayOrder(),this.worldAlpha<=0||!this.renderable?!1:(this.children!==this._sortedChildren&&this._tempChildren!==this.children&&(this._tempChildren=this.children),this._boundsID++,this.children=this._sortedChildren,this._tempLayerParent=t._activeLayer,t._activeLayer=this,!0)):(this.displayOrder=0,!1)}postrender(t){this.children=this._tempChildren,t._activeLayer=this._tempLayerParent,this._tempLayerParent=null}}vr.prototype.renderCanvas=vr.prototype.layerRenderCanvas;class Pi extends vr{constructor(){super(...arguments),this.isStage=!0,this._tempGroups=[],this._activeLayers=[],this._activeParentStage=null}clear(){this._activeLayers.length=0,this._tempGroups.length=0}destroy(t){this.clear(),super.destroy(t)}updateStage(){this._activeParentStage=null,_t._layerUpdateId++,this._updateStageInner()}updateAsChildStage(t){this._activeParentStage=t,Pi._updateOrderCounter=0,this._updateStageInner()}_updateStageInner(){this.clear(),this._addRecursive(this);const t=this._activeLayers;for(let i=0;i<t.length;i++){const r=t[i];if(r.group.sortPriority){r._onEndLayerSubtreeTraversal();const n=r._sortedChildren;for(let s=0;s<n.length;s++)this._addRecursiveChildren(n[s])}}for(let i=0;i<t.length;i++){const r=t[i];r.group.sortPriority||r._onEndLayerSubtreeTraversal()}}_addRecursive(t){if(!t.visible)return;if(t.isLayer){const s=t;this._activeLayers.push(s),s._onBeginLayerSubtreeTraversal(this)}if(t!==this&&t.isStage){t.updateAsChildStage(this);return}t._activeParentLayer=null;let i=t.parentGroup;i&&i._resolveChildDisplayObject(this,t);const r=t.parentLayer;if(r&&(i=r.group,i._resolveChildDisplayObject(this,t)),t.updateOrder=++Pi._updateOrderCounter,t.alpha<=0||!t.renderable||!t.layerableChildren||i&&i.sortPriority)return;const n=t.children;if(n&&n.length)for(let s=0;s<n.length;s++)this._addRecursive(n[s])}_addRecursiveChildren(t){if(t.alpha<=0||!t.renderable||!t.layerableChildren)return;const i=t.children;if(i&&i.length)for(let r=0;r<i.length;r++)this._addRecursive(i[r])}}Pi._updateOrderCounter=0,Qm(),fl(be);var mr={},Ot={},Ht={},pl;function vs(){if(pl)return Ht;pl=1;var e=kt&&kt.__awaiter||function(o,a,l,h){function u(f){return f instanceof l?f:new l(function(p){p(f)})}return new(l||(l=Promise))(function(f,p){function d(m){try{y(h.next(m))}catch(g){p(g)}}function v(m){try{y(h.throw(m))}catch(g){p(g)}}function y(m){m.done?f(m.value):u(m.value).then(d,v)}y((h=h.apply(o,a||[])).next())})};Object.defineProperty(Ht,"__esModule",{value:!0}),Ht.SpaceApiError=Ht.callSpaceAPIWithConfig=Ht.getRequestHeaders=void 0;const t=ms();function i(o){var a;const l=new Headers;switch(o.type){case"secret":l.set("authorization",`AL-Secret-Token ${o.secretAccessToken}`);break;case"temporary":l.set("authorization",`${(a=o.temporaryAccessToken)===null||a===void 0?void 0:a.authorization}`)}return o.sdkVersion&&l.set("x-sdk-version",o.sdkVersion),l}Ht.getRequestHeaders=i;function r(o){return o.status>=200&&o.status<400?o:o.json().then(a=>{const l=a?.message||a?.error||a;switch(typeof l){case"string":return Promise.reject(new s(l,o.status,void 0));case"object":return Promise.reject(new s(l.message,o.status,l.data));default:return Promise.reject(new s(null,null,a))}})}function n(o,a,l={},h){return e(this,void 0,void 0,function*(){const u=new URL(t.spaceApiUrl+a),f=i(h);let p=!1;switch(h.type==="publishable"&&u.searchParams.set("pubtoken",h.publishableAccessToken),o){case"GET":l&&typeof l=="object"&&Object.entries(l).forEach(([d,v])=>{typeof v<"u"&&u.searchParams.set(d,v.toString())});break;case"POST":case"PUT":f.set("content-type","application/json"),p=!0;break;case"DELETE":break;default:return Promise.reject(new s("Programming error, unsupported method: "+o,void 0,void 0))}return fetch(u.toString(),{method:o,headers:f,body:p?JSON.stringify(l):void 0}).then(r,d=>{throw d}).then(d=>d.json()).catch(d=>Promise.reject(d))})}Ht.callSpaceAPIWithConfig=n;class s extends Error{constructor(a,l,h){super(a||"There was a problem. Please check your internet connection and try again."),this.name="SpaceApiError",this.stack=new Error().stack,this.code=l,this.data=h}}return Ht.SpaceApiError=s,Ht}var dl;function ms(){if(dl)return Ot;dl=1,Object.defineProperty(Ot,"__esModule",{value:!0}),Ot.getTokenConfig=Ot.setSpaceApiUrl=Ot.spaceApiUrl=void 0;const e=vs();Ot.spaceApiUrl="https://api.archilogic.com",Ot.setSpaceApiUrl=i=>{Ot.spaceApiUrl=i};function t(i){let r;if(i.secretAccessToken)r={type:"secret",secretAccessToken:i.secretAccessToken};else if(i.temporaryAccessToken||i.temporaryAccessTokenFunction)r={type:"temporary",temporaryAccessToken:i.temporaryAccessToken};else if(i.publishableAccessToken)r={type:"publishable",publishableAccessToken:i.publishableAccessToken};else throw new e.SpaceApiError("Programming error: token is not provided.",void 0,void 0);return i.sdkVersion&&(r.sdkVersion=i.sdkVersion),r}return Ot.getTokenConfig=t,Ot}var Ti={},ys=kt&&kt.__awaiter||function(e,t,i,r){function n(s){return s instanceof i?s:new i(function(o){o(s)})}return new(i||(i=Promise))(function(s,o){function a(u){try{h(r.next(u))}catch(f){o(f)}}function l(u){try{h(r.throw(u))}catch(f){o(f)}}function h(u){u.done?s(u.value):n(u.value).then(a,l)}h((r=r.apply(e,t||[])).next())})};Object.defineProperty(Ti,"__esModule",{value:!0}),Ti.Connection=void 0;const ry=ms(),bi=vs();class ny{constructor(t){this.tempScopes=[{resource:"floor",action:"readPublic"},{resource:"floor",action:"readPrivate"},{resource:"floor",action:"queryPublic"},{resource:"floor",action:"queryPrivate"},{resource:"floor",action:"archive"},{resource:"customFields",action:"readPublic"},{resource:"customFields",action:"readPrivate"},{resource:"customFields",action:"write"}],this.durationSeconds=3600,this.getTemporaryAccessToken=()=>ys(this,void 0,void 0,function*(){this.temporaryAccessTokenPromise||(this.temporaryAccessTokenPromise=new Promise((i,r)=>ys(this,void 0,void 0,function*(){var n;let s=this.initialTemporaryAccessToken;if(s&&s.expiresAt>new Date().getTime()/1e3?i(s):this.initialTemporaryAccessToken=void 0,this.temporaryAccessTokenFunction&&(s=yield(n=this.temporaryAccessTokenFunction)===null||n===void 0?void 0:n.call(this,{scopes:this.tempScopes,durationSeconds:this.durationSeconds}),s&&s.expiresAt>new Date().getTime()/1e3&&i(s)),s){const o=new Date;o.setTime(s.expiresAt*1e3),r(new bi.SpaceApiError(`Temporary access token expired at ${o.toString()}`,void 0,void 0))}else r(new bi.SpaceApiError("Temporary access token not defined",void 0,void 0))})));try{return yield this.temporaryAccessTokenPromise}catch(i){throw this.temporaryAccessTokenPromise=void 0,i}}),this.config=ry.getTokenConfig(t),(t.temporaryAccessToken||t.temporaryAccessTokenFunction)&&(this.temporaryAccessTokenFunction=t.temporaryAccessTokenFunction,this.initialTemporaryAccessToken=t.temporaryAccessToken),t.temporaryAccessTokenScopes&&(this.tempScopes=t.temporaryAccessTokenScopes)}callSpaceAPI(t,i,r={},n=this.config){return ys(this,void 0,void 0,function*(){switch(n.type){case"secret":return bi.callSpaceAPIWithConfig(t,i,r,n);case"publishable":return bi.callSpaceAPIWithConfig(t,i,r,n);case"temporary":const s=yield this.getTemporaryAccessToken(),o=Object.assign(Object.assign({},n),{temporaryAccessToken:s});return bi.callSpaceAPIWithConfig(t,i,r,o)}})}}Ti.Connection=ny;var yr={};Object.defineProperty(yr,"__esModule",{value:!0}),yr.SpaceAPI=void 0;const sy=Ti;class oy{constructor(t,i={}){this.connection=new sy.Connection(t);for(const[r,n]of Object.entries(i))this[r]=n}getFloorById(t,i=!1){return this.connection.callSpaceAPI("GET",`/v2/floor/${t}/${i?"geo-json":""}`)}queryFloors(t){return this.connection.callSpaceAPI("GET","/v2/floor",t)}getFloorplanImage(t,i){return this.connection.callSpaceAPI("POST",`/v2/floor/${t}/2d-image`,i)}getSceneStructure(t,i=!1){return this.connection.callSpaceAPI("GET",`/v2/floor/${t}/scene-structure`,{includeMetadata:i})}getSpaceById(t,i=!1){return this.connection.callSpaceAPI("GET",`/v2/space/${t}/${i?"geo-json":""}`)}querySpaces(t){return this.connection.callSpaceAPI("GET","/v2/space",t)}getAllSpacesByFloorId(t,i=!1){return this.querySpaces({floorId:t,geometry:i})}getAssetById(t,i=!1){return this.connection.callSpaceAPI("GET",`/v2/asset/${t}/${i?"geo-json":""}`)}queryAssets(t){return this.connection.callSpaceAPI("GET","/v2/asset",t)}getAllAssetsByFloorId(t,i=!1){return this.queryAssets({floorId:t,geometry:i})}getAllAssetsBySpaceId(t,i=!1){return this.queryAssets({spaceId:t,geometry:i})}getCustomField(t,i,r){return this.connection.callSpaceAPI("GET",`/v2/${t}/${i}/custom-field/${r}`)}getAllCustomFields(t,i){return this.connection.callSpaceAPI("GET",`/v2/${t}/${i}/custom-field`)}setCustomField(t,i,r,n){return this.connection.callSpaceAPI("PUT",`/v2/${t}/${i}/custom-field/${r}`,n)}deleteCustomField(t,i,r){return this.connection.callSpaceAPI("DELETE",`/v2/${t}/${i}/custom-field/${r}`)}}yr.SpaceAPI=oy,function(e){var t=kt&&kt.__createBinding||(Object.create?function(r,n,s,o){o===void 0&&(o=s),Object.defineProperty(r,o,{enumerable:!0,get:function(){return n[s]}})}:function(r,n,s,o){o===void 0&&(o=s),r[o]=n[s]}),i=kt&&kt.__exportStar||function(r,n){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(n,s)&&t(n,r,s)};Object.defineProperty(e,"__esModule",{value:!0}),i(ms(),e),i(vs(),e),i(Ti,e),i(yr,e)}(mr);var c={};c.version="6.4.2.2",c.use_lines=!0,c.use_xyz=!1;var vl=function(e,t){var i;if(typeof Object.getOwnPropertyNames>"u"){for(i in t.prototype)(typeof e.prototype[i]>"u"||e.prototype[i]===Object.prototype[i])&&(e.prototype[i]=t.prototype[i]);for(i in t)typeof e[i]>"u"&&(e[i]=t[i]);e.$baseCtor=t}else{for(var r=Object.getOwnPropertyNames(t.prototype),n=0;n<r.length;n++)typeof Object.getOwnPropertyDescriptor(e.prototype,r[n])>"u"&&Object.defineProperty(e.prototype,r[n],Object.getOwnPropertyDescriptor(t.prototype,r[n]));for(i in t)typeof e[i]>"u"&&(e[i]=t[i]);e.$baseCtor=t}};c.Path=function(){return[]},c.Path.prototype.push=Array.prototype.push,c.Paths=function(){return[]},c.Paths.prototype.push=Array.prototype.push,c.PolyNode=function(){this.m_Parent=null,this.m_polygon=new c.Path,this.m_Index=0,this.m_jointype=0,this.m_endtype=0,this.m_Childs=[],this.IsOpen=!1},c.PolyNode.prototype.IsHoleNode=function(){for(var e=!0,t=this.m_Parent;t!==null;)e=!e,t=t.m_Parent;return e},c.PolyNode.prototype.ChildCount=function(){return this.m_Childs.length},c.PolyNode.prototype.Contour=function(){return this.m_polygon},c.PolyNode.prototype.AddChild=function(e){var t=this.m_Childs.length;this.m_Childs.push(e),e.m_Parent=this,e.m_Index=t},c.PolyNode.prototype.GetNext=function(){return this.m_Childs.length>0?this.m_Childs[0]:this.GetNextSiblingUp()},c.PolyNode.prototype.GetNextSiblingUp=function(){return this.m_Parent===null?null:this.m_Index===this.m_Parent.m_Childs.length-1?this.m_Parent.GetNextSiblingUp():this.m_Parent.m_Childs[this.m_Index+1]},c.PolyNode.prototype.Childs=function(){return this.m_Childs},c.PolyNode.prototype.Parent=function(){return this.m_Parent},c.PolyNode.prototype.IsHole=function(){return this.IsHoleNode()},c.PolyTree=function(){this.m_AllPolys=[],c.PolyNode.call(this)},c.PolyTree.prototype.Clear=function(){for(var e=this,t=0,i=this.m_AllPolys.length;t<i;t++)e.m_AllPolys[t]=null;this.m_AllPolys.length=0,this.m_Childs.length=0},c.PolyTree.prototype.GetFirst=function(){return this.m_Childs.length>0?this.m_Childs[0]:null},c.PolyTree.prototype.Total=function(){var e=this.m_AllPolys.length;return e>0&&this.m_Childs[0]!==this.m_AllPolys[0]&&e--,e},vl(c.PolyTree,c.PolyNode),c.Clear=function(e){e.length=0},c.PI=3.141592653589793,c.PI2=2*3.141592653589793,c.FPoint=function(){var e=arguments,t=e.length;if(this.X=0,this.Y=0,c.use_xyz)if(this.Z=0,t===3)this.X=e[0],this.Y=e[1],this.Z=e[2];else if(t===2)this.X=e[0],this.Y=e[1],this.Z=0;else if(t===1)if(e[0]instanceof c.FPoint){var i=e[0];this.X=i.X,this.Y=i.Y,this.Z=0}else{var r=e[0];typeof r.Z>"u"&&(r.Z=0),this.X=r.X,this.Y=r.Y,this.Z=r.Z}else this.X=0,this.Y=0,this.Z=0;else if(t===2)this.X=e[0],this.Y=e[1];else if(t===1)if(e[0]instanceof c.FPoint){var i=e[0];this.X=i.X,this.Y=i.Y}else{var r=e[0];this.X=r.X,this.Y=r.Y}else this.X=0,this.Y=0},c.FPoint.op_Equality=function(e,t){return e.X===t.X&&e.Y===t.Y},c.FPoint.op_Inequality=function(e,t){return e.X!==t.X||e.Y!==t.Y},c.FPoint0=function(){this.X=0,this.Y=0,c.use_xyz&&(this.Z=0)},c.FPoint0.prototype=c.FPoint.prototype,c.FPoint1=function(e){this.X=e.X,this.Y=e.Y,c.use_xyz&&(typeof e.Z>"u"?this.Z=0:this.Z=e.Z)},c.FPoint1.prototype=c.FPoint.prototype,c.FPoint1dp=function(e){this.X=e.X,this.Y=e.Y,c.use_xyz&&(this.Z=0)},c.FPoint1dp.prototype=c.FPoint.prototype,c.FPoint2=function(e,t,i){this.X=e,this.Y=t,c.use_xyz&&(typeof i>"u"?this.Z=0:this.Z=i)},c.FPoint2.prototype=c.FPoint.prototype,c.FRect=function(){var e=arguments,t=e.length;if(t===4)this.left=e[0],this.top=e[1],this.right=e[2],this.bottom=e[3];else if(t===1){var i=e[0];this.left=i.left,this.top=i.top,this.right=i.right,this.bottom=i.bottom}else this.left=0,this.top=0,this.right=0,this.bottom=0},c.FRect0=function(){this.left=0,this.top=0,this.right=0,this.bottom=0},c.FRect0.prototype=c.FRect.prototype,c.FRect1=function(e){this.left=e.left,this.top=e.top,this.right=e.right,this.bottom=e.bottom},c.FRect1.prototype=c.FRect.prototype,c.FRect4=function(e,t,i,r){this.left=e,this.top=t,this.right=i,this.bottom=r},c.FRect4.prototype=c.FRect.prototype,c.ClipType={ctIntersection:0,ctUnion:1,ctDifference:2,ctXor:3},c.PolyType={ptSubject:0,ptClip:1},c.PolyFillType={pftEvenOdd:0,pftNonZero:1,pftPositive:2,pftNegative:3},c.JoinType={jtSquare:0,jtRound:1,jtMiter:2},c.EndType={etOpenSquare:0,etOpenRound:1,etOpenButt:2,etClosedLine:3,etClosedPolygon:4},c.EdgeSide={esLeft:0,esRight:1},c.Direction={dRightToLeft:0,dLeftToRight:1},c.TEdge=function(){this.Bot=new c.FPoint0,this.Curr=new c.FPoint0,this.Top=new c.FPoint0,this.Delta=new c.FPoint0,this.Dx=0,this.PolyTyp=c.PolyType.ptSubject,this.Side=c.EdgeSide.esLeft,this.WindDelta=0,this.WindCnt=0,this.WindCnt2=0,this.OutIdx=0,this.Next=null,this.Prev=null,this.NextInLML=null,this.NextInAEL=null,this.PrevInAEL=null,this.NextInSEL=null,this.PrevInSEL=null},c.IntersectNode=function(){this.Edge1=null,this.Edge2=null,this.Pt=new c.FPoint0},c.MyIntersectNodeSort=function(){},c.MyIntersectNodeSort.Compare=function(e,t){var i=t.Pt.Y-e.Pt.Y;return i>0?1:i<0?-1:0},c.LocalMinima=function(){this.Y=0,this.LeftBound=null,this.RightBound=null,this.Next=null},c.Scanbeam=function(){this.Y=0,this.Next=null},c.Maxima=function(){this.X=0,this.Next=null,this.Prev=null},c.OutRec=function(){this.Idx=0,this.IsHole=!1,this.IsOpen=!1,this.FirstLeft=null,this.Pts=null,this.BottomPt=null,this.PolyNode=null},c.OutPt=function(){this.Idx=0,this.Pt=new c.FPoint0,this.Next=null,this.Prev=null},c.Join=function(){this.OutPt1=null,this.OutPt2=null,this.OffPt=new c.FPoint0},c.ClipperBase=function(){this.m_MinimaList=null,this.m_CurrentLM=null,this.m_edges=new Array,this.m_HasOpenPaths=!1,this.PreserveCollinear=!1,this.m_Scanbeam=null,this.m_PolyOuts=null,this.m_ActiveEdges=null},c.ClipperBase.horizontal=-34e37,c.ClipperBase.Skip=-2,c.ClipperBase.Unassigned=-1,c.ClipperBase.tolerance=1e-20,c.ClipperBase.maxValue=Math.sqrt(Number.MAX_VALUE),c.ClipperBase.minValue=Math.sqrt(Number.MIN_VALUE),c.ClipperBase.near_zero=function(e){return e>-c.ClipperBase.tolerance&&e<c.ClipperBase.tolerance},c.ClipperBase.IsHorizontal=function(e){return e.Delta.Y===0},c.ClipperBase.prototype.PointIsVertex=function(e,t){var i=t;do{if(c.FPoint.op_Equality(i.Pt,e))return!0;i=i.Next}while(i!==t);return!1},c.ClipperBase.prototype.PointOnLineSegment=function(e,t,i){return e.X===t.X&&e.Y===t.Y||e.X===i.X&&e.Y===i.Y||e.X>t.X==e.X<i.X&&e.Y>t.Y==e.Y<i.Y&&(e.X-t.X)*(i.Y-t.Y)===(i.X-t.X)*(e.Y-t.Y)},c.ClipperBase.prototype.PointOnPolygon=function(e,t){for(var i=this,r=t;;){if(i.PointOnLineSegment(e,r.Pt,r.Next.Pt))return!0;if(r=r.Next,r===t)break}return!1},c.ClipperBase.prototype.SlopesEqual=c.ClipperBase.SlopesEqual=function(){var e=arguments,t=e.length,i,r,n,s,o,a;return t===2?(i=e[0],r=e[1],i.Delta.Y*r.Delta.X===i.Delta.X*r.Delta.Y):t===3?(n=e[0],s=e[1],o=e[2],(n.Y-s.Y)*(s.X-o.X)-(n.X-s.X)*(s.Y-o.Y)===0):(n=e[0],s=e[1],o=e[2],a=e[3],(n.Y-s.Y)*(o.X-a.X)-(n.X-s.X)*(o.Y-a.Y)===0)},c.ClipperBase.SlopesEqual3=function(e,t){return e.Delta.Y*t.Delta.X===e.Delta.X*t.Delta.Y},c.ClipperBase.SlopesEqual4=function(e,t,i){return(e.Y-t.Y)*(t.X-i.X)-(e.X-t.X)*(t.Y-i.Y)===0},c.ClipperBase.SlopesEqual5=function(e,t,i,r){return(e.Y-t.Y)*(i.X-r.X)-(e.X-t.X)*(i.Y-r.Y)===0},c.ClipperBase.prototype.Clear=function(){var e=this;this.DisposeLocalMinimaList();for(var t=0,i=this.m_edges.length;t<i;++t){for(var r=0,n=this.m_edges[t].length;r<n;++r)e.m_edges[t][r]=null;c.Clear(e.m_edges[t])}c.Clear(this.m_edges),this.m_HasOpenPaths=!1},c.ClipperBase.prototype.DisposeLocalMinimaList=function(){for(var e=this;this.m_MinimaList!==null;){var t=e.m_MinimaList.Next;e.m_MinimaList=null,e.m_MinimaList=t}this.m_CurrentLM=null},c.ClipperBase.prototype.RangeTest=function(e){(e.X>c.ClipperBase.maxValue||e.X<-c.ClipperBase.maxValue||e.Y>c.ClipperBase.maxValue||e.Y<-c.ClipperBase.maxValue||e.X>0&&e.X<c.ClipperBase.minValue||e.Y>0&&e.Y<c.ClipperBase.minValue||e.X<0&&e.X>-c.ClipperBase.minValue||e.Y<0&&e.Y>-c.ClipperBase.minValue)&&c.Error("Coordinate outside allowed range in RangeTest().")},c.ClipperBase.prototype.InitEdge=function(e,t,i,r){e.Next=t,e.Prev=i,e.Curr.X=r.X,e.Curr.Y=r.Y,c.use_xyz&&(e.Curr.Z=r.Z),e.OutIdx=-1},c.ClipperBase.prototype.InitEdge2=function(e,t){e.Curr.Y>=e.Next.Curr.Y?(e.Bot.X=e.Curr.X,e.Bot.Y=e.Curr.Y,c.use_xyz&&(e.Bot.Z=e.Curr.Z),e.Top.X=e.Next.Curr.X,e.Top.Y=e.Next.Curr.Y,c.use_xyz&&(e.Top.Z=e.Next.Curr.Z)):(e.Top.X=e.Curr.X,e.Top.Y=e.Curr.Y,c.use_xyz&&(e.Top.Z=e.Curr.Z),e.Bot.X=e.Next.Curr.X,e.Bot.Y=e.Next.Curr.Y,c.use_xyz&&(e.Bot.Z=e.Next.Curr.Z)),this.SetDx(e),e.PolyTyp=t},c.ClipperBase.prototype.FindNextLocMin=function(e){for(var t;;){for(;c.FPoint.op_Inequality(e.Bot,e.Prev.Bot)||c.FPoint.op_Equality(e.Curr,e.Top);)e=e.Next;if(e.Dx!==c.ClipperBase.horizontal&&e.Prev.Dx!==c.ClipperBase.horizontal)break;for(;e.Prev.Dx===c.ClipperBase.horizontal;)e=e.Prev;for(t=e;e.Dx===c.ClipperBase.horizontal;)e=e.Next;if(e.Top.Y!==e.Prev.Bot.Y){t.Prev.Bot.X<e.Bot.X&&(e=t);break}}return e},c.ClipperBase.prototype.ProcessBound=function(e,t){var i=this,r,n=e,s;if(n.OutIdx===c.ClipperBase.Skip){if(e=n,t){for(;e.Top.Y===e.Next.Bot.Y;)e=e.Next;for(;e!==n&&e.Dx===c.ClipperBase.horizontal;)e=e.Prev}else{for(;e.Top.Y===e.Prev.Bot.Y;)e=e.Prev;for(;e!==n&&e.Dx===c.ClipperBase.horizontal;)e=e.Next}if(e===n)t?n=e.Next:n=e.Prev;else{t?e=n.Next:e=n.Prev;var o=new c.LocalMinima;o.Next=null,o.Y=e.Bot.Y,o.LeftBound=null,o.RightBound=e,e.WindDelta=0,n=this.ProcessBound(e,t),this.InsertLocalMinima(o)}return n}if(e.Dx===c.ClipperBase.horizontal&&(t?r=e.Prev:r=e.Next,r.Dx===c.ClipperBase.horizontal?r.Bot.X!==e.Bot.X&&r.Top.X!==e.Bot.X&&this.ReverseHorizontal(e):r.Bot.X!==e.Bot.X&&this.ReverseHorizontal(e)),r=e,t){for(;n.Top.Y===n.Next.Bot.Y&&n.Next.OutIdx!==c.ClipperBase.Skip;)n=n.Next;if(n.Dx===c.ClipperBase.horizontal&&n.Next.OutIdx!==c.ClipperBase.Skip){for(s=n;s.Prev.Dx===c.ClipperBase.horizontal;)s=s.Prev;s.Prev.Top.X>n.Next.Top.X&&(n=s.Prev)}for(;e!==n;)e.NextInLML=e.Next,e.Dx===c.ClipperBase.horizontal&&e!==r&&e.Bot.X!==e.Prev.Top.X&&i.ReverseHorizontal(e),e=e.Next;e.Dx===c.ClipperBase.horizontal&&e!==r&&e.Bot.X!==e.Prev.Top.X&&this.ReverseHorizontal(e),n=n.Next}else{for(;n.Top.Y===n.Prev.Bot.Y&&n.Prev.OutIdx!==c.ClipperBase.Skip;)n=n.Prev;if(n.Dx===c.ClipperBase.horizontal&&n.Prev.OutIdx!==c.ClipperBase.Skip){for(s=n;s.Next.Dx===c.ClipperBase.horizontal;)s=s.Next;(s.Next.Top.X===n.Prev.Top.X||s.Next.Top.X>n.Prev.Top.X)&&(n=s.Next)}for(;e!==n;)e.NextInLML=e.Prev,e.Dx===c.ClipperBase.horizontal&&e!==r&&e.Bot.X!==e.Next.Top.X&&i.ReverseHorizontal(e),e=e.Prev;e.Dx===c.ClipperBase.horizontal&&e!==r&&e.Bot.X!==e.Next.Top.X&&this.ReverseHorizontal(e),n=n.Prev}return n},c.ClipperBase.prototype.AddPath=function(e,t,i){var r=this;c.use_lines?!i&&t===c.PolyType.ptClip&&c.Error("AddPath: Open paths must be subject."):i||c.Error("AddPath: Open paths have been disabled.");var n=e.length-1;if(i)for(;n>0&&c.FPoint.op_Equality(e[n],e[0]);)--n;for(;n>0&&c.FPoint.op_Equality(e[n],e[n-1]);)--n;if(i&&n<2||!i&&n<1)return!1;for(var s=new Array,o=0;o<=n;o++)s.push(new c.TEdge);var a=!0;s[1].Curr.X=e[1].X,s[1].Curr.Y=e[1].Y,c.use_xyz&&(s[1].Curr.Z=e[1].Z),this.RangeTest(e[0]),this.RangeTest(e[n]),this.InitEdge(s[0],s[1],s[n],e[0]),this.InitEdge(s[n],s[0],s[n-1],e[n]);for(var o=n-1;o>=1;--o)r.RangeTest(e[o]),r.InitEdge(s[o],s[o+1],s[o-1],e[o]);for(var l=s[0],h=l,u=l;;){if(h.Curr===h.Next.Curr&&(i||h.Next!==l)){if(h===h.Next)break;h===l&&(l=h.Next),h=r.RemoveEdge(h),u=h;continue}if(h.Prev===h.Next)break;if(i&&c.ClipperBase.SlopesEqual4(h.Prev.Curr,h.Curr,h.Next.Curr)&&(!r.PreserveCollinear||!r.Pt2IsBetweenPt1AndPt3(h.Prev.Curr,h.Curr,h.Next.Curr))){h===l&&(l=h.Next),h=r.RemoveEdge(h),h=h.Prev,u=h;continue}if(h=h.Next,h===u||!i&&h.Next===l)break}if(!i&&h===h.Next||i&&h.Prev===h.Next)return!1;i||(this.m_HasOpenPaths=!0,l.Prev.OutIdx=c.ClipperBase.Skip),h=l;do r.InitEdge2(h,t),h=h.Next,a&&h.Curr.Y!==l.Curr.Y&&(a=!1);while(h!==l);if(a){if(i)return!1;h.Prev.OutIdx=c.ClipperBase.Skip;var f=new c.LocalMinima;for(f.Next=null,f.Y=h.Bot.Y,f.LeftBound=null,f.RightBound=h,f.RightBound.Side=c.EdgeSide.esRight,f.RightBound.WindDelta=0;h.Bot.X!==h.Prev.Top.X&&r.ReverseHorizontal(h),h.Next.OutIdx!==c.ClipperBase.Skip;)h.NextInLML=h.Next,h=h.Next;return this.InsertLocalMinima(f),this.m_edges.push(s),!0}this.m_edges.push(s);var p,d=null;for(c.FPoint.op_Equality(h.Prev.Bot,h.Prev.Top)&&(h=h.Next);h=r.FindNextLocMin(h),h!==d;){d===null&&(d=h);var f=new c.LocalMinima;f.Next=null,f.Y=h.Bot.Y,h.Dx<h.Prev.Dx?(f.LeftBound=h.Prev,f.RightBound=h,p=!1):(f.LeftBound=h,f.RightBound=h.Prev,p=!0),f.LeftBound.Side=c.EdgeSide.esLeft,f.RightBound.Side=c.EdgeSide.esRight,i?f.LeftBound.Next===f.RightBound?f.LeftBound.WindDelta=-1:f.LeftBound.WindDelta=1:f.LeftBound.WindDelta=0,f.RightBound.WindDelta=-f.LeftBound.WindDelta,h=r.ProcessBound(f.LeftBound,p),h.OutIdx===c.ClipperBase.Skip&&(h=r.ProcessBound(h,p));var v=r.ProcessBound(f.RightBound,!p);v.OutIdx===c.ClipperBase.Skip&&(v=r.ProcessBound(v,!p)),f.LeftBound.OutIdx===c.ClipperBase.Skip?f.LeftBound=null:f.RightBound.OutIdx===c.ClipperBase.Skip&&(f.RightBound=null),r.InsertLocalMinima(f),p||(h=v)}return!0},c.ClipperBase.prototype.AddPaths=function(e,t,i){for(var r=this,n=!1,s=0,o=e.length;s<o;++s)r.AddPath(e[s],t,i)&&(n=!0);return n},c.ClipperBase.prototype.Pt2IsBetweenPt1AndPt3=function(e,t,i){return c.FPoint.op_Equality(e,i)||c.FPoint.op_Equality(e,t)||c.FPoint.op_Equality(i,t)?!1:e.X!==i.X?t.X>e.X==t.X<i.X:t.Y>e.Y==t.Y<i.Y},c.ClipperBase.prototype.RemoveEdge=function(e){e.Prev.Next=e.Next,e.Next.Prev=e.Prev;var t=e.Next;return e.Prev=null,t},c.ClipperBase.prototype.SetDx=function(e){e.Delta.X=e.Top.X-e.Bot.X,e.Delta.Y=e.Top.Y-e.Bot.Y,e.Delta.Y===0?e.Dx=c.ClipperBase.horizontal:e.Dx=e.Delta.X/e.Delta.Y},c.ClipperBase.prototype.InsertLocalMinima=function(e){if(this.m_MinimaList===null)this.m_MinimaList=e;else if(e.Y>=this.m_MinimaList.Y)e.Next=this.m_MinimaList,this.m_MinimaList=e;else{for(var t=this.m_MinimaList;t.Next!==null&&e.Y<t.Next.Y;)t=t.Next;e.Next=t.Next,t.Next=e}},c.ClipperBase.prototype.PopLocalMinima=function(e,t){return t.v=this.m_CurrentLM,this.m_CurrentLM!==null&&this.m_CurrentLM.Y===e?(this.m_CurrentLM=this.m_CurrentLM.Next,!0):!1},c.ClipperBase.prototype.ReverseHorizontal=function(e){var t=e.Top.X;e.Top.X=e.Bot.X,e.Bot.X=t,c.use_xyz&&(t=e.Top.Z,e.Top.Z=e.Bot.Z,e.Bot.Z=t)},c.ClipperBase.prototype.Reset=function(){var e=this;if(this.m_CurrentLM=this.m_MinimaList,this.m_CurrentLM!==null){this.m_Scanbeam=null;for(var t=this.m_MinimaList;t!==null;){e.InsertScanbeam(t.Y);var i=t.LeftBound;i!==null&&(i.Curr.X=i.Bot.X,i.Curr.Y=i.Bot.Y,c.use_xyz&&(i.Curr.Z=i.Bot.Z),i.OutIdx=c.ClipperBase.Unassigned),i=t.RightBound,i!==null&&(i.Curr.X=i.Bot.X,i.Curr.Y=i.Bot.Y,c.use_xyz&&(i.Curr.Z=i.Bot.Z),i.OutIdx=c.ClipperBase.Unassigned),t=t.Next}this.m_ActiveEdges=null}},c.ClipperBase.prototype.InsertScanbeam=function(e){if(this.m_Scanbeam===null)this.m_Scanbeam=new c.Scanbeam,this.m_Scanbeam.Next=null,this.m_Scanbeam.Y=e;else if(e>this.m_Scanbeam.Y){var t=new c.Scanbeam;t.Y=e,t.Next=this.m_Scanbeam,this.m_Scanbeam=t}else{for(var i=this.m_Scanbeam;i.Next!==null&&e<=i.Next.Y;)i=i.Next;if(e===i.Y)return;var r=new c.Scanbeam;r.Y=e,r.Next=i.Next,i.Next=r}},c.ClipperBase.prototype.PopScanbeam=function(e){return this.m_Scanbeam===null?(e.v=0,!1):(e.v=this.m_Scanbeam.Y,this.m_Scanbeam=this.m_Scanbeam.Next,!0)},c.ClipperBase.prototype.LocalMinimaPending=function(){return this.m_CurrentLM!==null},c.ClipperBase.prototype.CreateOutRec=function(){var e=new c.OutRec;return e.Idx=c.ClipperBase.Unassigned,e.IsHole=!1,e.IsOpen=!1,e.FirstLeft=null,e.Pts=null,e.BottomPt=null,e.PolyNode=null,this.m_PolyOuts.push(e),e.Idx=this.m_PolyOuts.length-1,e},c.ClipperBase.prototype.DisposeOutRec=function(e){var t=this.m_PolyOuts[e];t.Pts=null,t=null,this.m_PolyOuts[e]=null},c.ClipperBase.prototype.UpdateEdgeIntoAEL=function(e){e.NextInLML===null&&c.Error("UpdateEdgeIntoAEL: invalid call");var t=e.PrevInAEL,i=e.NextInAEL;return e.NextInLML.OutIdx=e.OutIdx,t!==null?t.NextInAEL=e.NextInLML:this.m_ActiveEdges=e.NextInLML,i!==null&&(i.PrevInAEL=e.NextInLML),e.NextInLML.Side=e.Side,e.NextInLML.WindDelta=e.WindDelta,e.NextInLML.WindCnt=e.WindCnt,e.NextInLML.WindCnt2=e.WindCnt2,e=e.NextInLML,e.Curr.X=e.Bot.X,e.Curr.Y=e.Bot.Y,e.PrevInAEL=t,e.NextInAEL=i,c.ClipperBase.IsHorizontal(e)||this.InsertScanbeam(e.Top.Y),e},c.ClipperBase.prototype.SwapPositionsInAEL=function(e,t){if(!(e.NextInAEL===e.PrevInAEL||t.NextInAEL===t.PrevInAEL)){if(e.NextInAEL===t){var i=t.NextInAEL;i!==null&&(i.PrevInAEL=e);var r=e.PrevInAEL;r!==null&&(r.NextInAEL=t),t.PrevInAEL=r,t.NextInAEL=e,e.PrevInAEL=t,e.NextInAEL=i}else if(t.NextInAEL===e){var n=e.NextInAEL;n!==null&&(n.PrevInAEL=t);var s=t.PrevInAEL;s!==null&&(s.NextInAEL=e),e.PrevInAEL=s,e.NextInAEL=t,t.PrevInAEL=e,t.NextInAEL=n}else{var o=e.NextInAEL,a=e.PrevInAEL;e.NextInAEL=t.NextInAEL,e.NextInAEL!==null&&(e.NextInAEL.PrevInAEL=e),e.PrevInAEL=t.PrevInAEL,e.PrevInAEL!==null&&(e.PrevInAEL.NextInAEL=e),t.NextInAEL=o,t.NextInAEL!==null&&(t.NextInAEL.PrevInAEL=t),t.PrevInAEL=a,t.PrevInAEL!==null&&(t.PrevInAEL.NextInAEL=t)}e.PrevInAEL===null?this.m_ActiveEdges=e:t.PrevInAEL===null&&(this.m_ActiveEdges=t)}},c.ClipperBase.prototype.DeleteFromAEL=function(e){var t=e.PrevInAEL,i=e.NextInAEL;t===null&&i===null&&e!==this.m_ActiveEdges||(t!==null?t.NextInAEL=i:this.m_ActiveEdges=i,i!==null&&(i.PrevInAEL=t),e.NextInAEL=null,e.PrevInAEL=null)},c.Clipper=function(e){typeof e>"u"&&(e=0),this.m_PolyOuts=null,this.m_ClipType=c.ClipType.ctIntersection,this.m_Scanbeam=null,this.m_Maxima=null,this.m_ActiveEdges=null,this.m_SortedEdges=null,this.m_IntersectList=null,this.m_IntersectNodeComparer=null,this.m_ExecuteLocked=!1,this.m_ClipFillType=c.PolyFillType.pftEvenOdd,this.m_SubjFillType=c.PolyFillType.pftEvenOdd,this.m_Joins=null,this.m_GhostJoins=null,this.m_UsingPolyTree=!1,this.ReverseSolution=!1,this.StrictlySimple=!1,c.ClipperBase.call(this),this.m_Scanbeam=null,this.m_Maxima=null,this.m_ActiveEdges=null,this.m_SortedEdges=null,this.m_IntersectList=new Array,this.m_IntersectNodeComparer=c.MyIntersectNodeSort.Compare,this.m_ExecuteLocked=!1,this.m_UsingPolyTree=!1,this.m_PolyOuts=new Array,this.m_Joins=new Array,this.m_GhostJoins=new Array,this.ReverseSolution=(1&e)!==0,this.StrictlySimple=(2&e)!==0,this.PreserveCollinear=(4&e)!==0,c.use_xyz&&(this.ZFillFunction=null)},c.Clipper.ioReverseSolution=1,c.Clipper.ioStrictlySimple=2,c.Clipper.ioPreserveCollinear=4,c.Clipper.prototype.Clear=function(){this.m_edges.length!==0&&(this.DisposeAllPolyPts(),c.ClipperBase.prototype.Clear.call(this))},c.Clipper.prototype.InsertMaxima=function(e){var t=new c.Maxima;if(t.X=e,this.m_Maxima===null)this.m_Maxima=t,this.m_Maxima.Next=null,this.m_Maxima.Prev=null;else if(e<this.m_Maxima.X)t.Next=this.m_Maxima,t.Prev=null,this.m_Maxima=t;else{for(var i=this.m_Maxima;i.Next!==null&&e>=i.Next.X;)i=i.Next;if(e===i.X)return;t.Next=i.Next,t.Prev=i,i.Next!==null&&(i.Next.Prev=t),i.Next=t}},c.Clipper.prototype.Execute=function(){var e=arguments,t=e.length,i=e[1]instanceof c.PolyTree;if(t===4&&!i){var r=e[0],n=e[1],s=e[2],o=e[3];if(this.m_ExecuteLocked)return!1;this.m_HasOpenPaths&&c.Error("Error: PolyTree struct is needed for open path clipping."),this.m_ExecuteLocked=!0,c.Clear(n),this.m_SubjFillType=s,this.m_ClipFillType=o,this.m_ClipType=r,this.m_UsingPolyTree=!1;try{var a=this.ExecuteInternal();a&&this.BuildResult(n)}finally{this.DisposeAllPolyPts(),this.m_ExecuteLocked=!1}return a}else if(t===4&&i){var r=e[0],l=e[1],s=e[2],o=e[3];if(this.m_ExecuteLocked)return!1;this.m_ExecuteLocked=!0,this.m_SubjFillType=s,this.m_ClipFillType=o,this.m_ClipType=r,this.m_UsingPolyTree=!0;try{var a=this.ExecuteInternal();a&&this.BuildResult2(l)}finally{this.DisposeAllPolyPts(),this.m_ExecuteLocked=!1}return a}else if(t===2&&!i){var r=e[0],n=e[1];return this.Execute(r,n,c.PolyFillType.pftEvenOdd,c.PolyFillType.pftEvenOdd)}else if(t===2&&i){var r=e[0],l=e[1];return this.Execute(r,l,c.PolyFillType.pftEvenOdd,c.PolyFillType.pftEvenOdd)}},c.Clipper.prototype.FixHoleLinkage=function(e){if(!(e.FirstLeft===null||e.IsHole!==e.FirstLeft.IsHole&&e.FirstLeft.Pts!==null)){for(var t=e.FirstLeft;t!==null&&(t.IsHole===e.IsHole||t.Pts===null);)t=t.FirstLeft;e.FirstLeft=t}},c.Clipper.prototype.ExecuteInternal=function(){var e=this;try{this.Reset(),this.m_SortedEdges=null,this.m_Maxima=null;var t={},i={};if(!this.PopScanbeam(t))return!1;for(this.InsertLocalMinimaIntoAEL(t.v);this.PopScanbeam(i)||this.LocalMinimaPending();){if(e.ProcessHorizontals(),e.m_GhostJoins.length=0,!e.ProcessIntersections(i.v))return!1;e.ProcessEdgesAtTopOfScanbeam(i.v),t.v=i.v,e.InsertLocalMinimaIntoAEL(t.v)}var r,n,s;for(n=0,s=this.m_PolyOuts.length;n<s;n++)r=e.m_PolyOuts[n],!(r.Pts===null||r.IsOpen)&&(r.IsHole^e.ReverseSolution)==e.Area$1(r)>0&&e.ReversePolyPtLinks(r.Pts);for(this.JoinCommonEdges(),n=0,s=this.m_PolyOuts.length;n<s;n++)r=e.m_PolyOuts[n],r.Pts!==null&&(r.IsOpen?e.FixupOutPolyline(r):e.FixupOutPolygon(r));return this.StrictlySimple&&this.DoSimplePolygons(),!0}finally{this.m_Joins.length=0,this.m_GhostJoins.length=0}},c.Clipper.prototype.DisposeAllPolyPts=function(){for(var e=this,t=0,i=this.m_PolyOuts.length;t<i;++t)e.DisposeOutRec(t);c.Clear(this.m_PolyOuts)},c.Clipper.prototype.AddJoin=function(e,t,i){var r=new c.Join;r.OutPt1=e,r.OutPt2=t,r.OffPt.X=i.X,r.OffPt.Y=i.Y,c.use_xyz&&(r.OffPt.Z=i.Z),this.m_Joins.push(r)},c.Clipper.prototype.AddGhostJoin=function(e,t){var i=new c.Join;i.OutPt1=e,i.OffPt.X=t.X,i.OffPt.Y=t.Y,c.use_xyz&&(i.OffPt.Z=t.Z),this.m_GhostJoins.push(i)},c.Clipper.prototype.SetZ=function(e,t,i){if(this.ZFillFunction!==null){if(e.Z!==0||this.ZFillFunction===null)return;c.FPoint.op_Equality(e,t.Bot)?e.Z=t.Bot.Z:c.FPoint.op_Equality(e,t.Top)?e.Z=t.Top.Z:c.FPoint.op_Equality(e,i.Bot)?e.Z=i.Bot.Z:c.FPoint.op_Equality(e,i.Top)?e.Z=i.Top.Z:this.ZFillFunction(t.Bot,t.Top,i.Bot,i.Top,e)}},c.Clipper.prototype.InsertLocalMinimaIntoAEL=function(e){for(var t=this,i={},r,n;this.PopLocalMinima(e,i);){r=i.v.LeftBound,n=i.v.RightBound;var s=null;if(r===null?(t.InsertEdgeIntoAEL(n,null),t.SetWindingCount(n),t.IsContributing(n)&&(s=t.AddOutPt(n,n.Bot))):n===null?(t.InsertEdgeIntoAEL(r,null),t.SetWindingCount(r),t.IsContributing(r)&&(s=t.AddOutPt(r,r.Bot)),t.InsertScanbeam(r.Top.Y)):(t.InsertEdgeIntoAEL(r,null),t.InsertEdgeIntoAEL(n,r),t.SetWindingCount(r),n.WindCnt=r.WindCnt,n.WindCnt2=r.WindCnt2,t.IsContributing(r)&&(s=t.AddLocalMinPoly(r,n,r.Bot)),t.InsertScanbeam(r.Top.Y)),n!==null&&(c.ClipperBase.IsHorizontal(n)?(n.NextInLML!==null&&t.InsertScanbeam(n.NextInLML.Top.Y),t.AddEdgeToSEL(n)):t.InsertScanbeam(n.Top.Y)),!(r===null||n===null)){if(s!==null&&c.ClipperBase.IsHorizontal(n)&&t.m_GhostJoins.length>0&&n.WindDelta!==0)for(var o=0,a=this.m_GhostJoins.length;o<a;o++){var l=t.m_GhostJoins[o];t.HorzSegmentsOverlap(l.OutPt1.Pt.X,l.OffPt.X,n.Bot.X,n.Top.X)&&t.AddJoin(l.OutPt1,s,l.OffPt)}if(r.OutIdx>=0&&r.PrevInAEL!==null&&r.PrevInAEL.Curr.X===r.Bot.X&&r.PrevInAEL.OutIdx>=0&&c.ClipperBase.SlopesEqual5(r.PrevInAEL.Curr,r.PrevInAEL.Top,r.Curr,r.Top)&&r.WindDelta!==0&&r.PrevInAEL.WindDelta!==0){var h=t.AddOutPt(r.PrevInAEL,r.Bot);t.AddJoin(s,h,r.Top)}if(r.NextInAEL!==n){if(n.OutIdx>=0&&n.PrevInAEL.OutIdx>=0&&c.ClipperBase.SlopesEqual5(n.PrevInAEL.Curr,n.PrevInAEL.Top,n.Curr,n.Top)&&n.WindDelta!==0&&n.PrevInAEL.WindDelta!==0){var h=t.AddOutPt(n.PrevInAEL,n.Bot);t.AddJoin(s,h,n.Top)}var u=r.NextInAEL;if(u!==null)for(;u!==n;)t.IntersectEdges(n,u,r.Curr),u=u.NextInAEL}}}},c.Clipper.prototype.InsertEdgeIntoAEL=function(e,t){if(this.m_ActiveEdges===null)e.PrevInAEL=null,e.NextInAEL=null,this.m_ActiveEdges=e;else if(t===null&&this.E2InsertsBeforeE1(this.m_ActiveEdges,e))e.PrevInAEL=null,e.NextInAEL=this.m_ActiveEdges,this.m_ActiveEdges.PrevInAEL=e,this.m_ActiveEdges=e;else{for(t===null&&(t=this.m_ActiveEdges);t.NextInAEL!==null&&!this.E2InsertsBeforeE1(t.NextInAEL,e);)t=t.NextInAEL;e.NextInAEL=t.NextInAEL,t.NextInAEL!==null&&(t.NextInAEL.PrevInAEL=e),e.PrevInAEL=t,t.NextInAEL=e}},c.Clipper.prototype.E2InsertsBeforeE1=function(e,t){return t.Curr.X===e.Curr.X?t.Top.Y>e.Top.Y?t.Top.X<c.Clipper.TopX(e,t.Top.Y):e.Top.X>c.Clipper.TopX(t,e.Top.Y):t.Curr.X<e.Curr.X},c.Clipper.prototype.IsEvenOddFillType=function(e){return e.PolyTyp===c.PolyType.ptSubject?this.m_SubjFillType===c.PolyFillType.pftEvenOdd:this.m_ClipFillType===c.PolyFillType.pftEvenOdd},c.Clipper.prototype.IsEvenOddAltFillType=function(e){return e.PolyTyp===c.PolyType.ptSubject?this.m_ClipFillType===c.PolyFillType.pftEvenOdd:this.m_SubjFillType===c.PolyFillType.pftEvenOdd},c.Clipper.prototype.IsContributing=function(e){var t,i;switch(e.PolyTyp===c.PolyType.ptSubject?(t=this.m_SubjFillType,i=this.m_ClipFillType):(t=this.m_ClipFillType,i=this.m_SubjFillType),t){case c.PolyFillType.pftEvenOdd:if(e.WindDelta===0&&e.WindCnt!==1)return!1;break;case c.PolyFillType.pftNonZero:if(Math.abs(e.WindCnt)!==1)return!1;break;case c.PolyFillType.pftPositive:if(e.WindCnt!==1)return!1;break;default:if(e.WindCnt!==-1)return!1;break}switch(this.m_ClipType){case c.ClipType.ctIntersection:switch(i){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return e.WindCnt2!==0;case c.PolyFillType.pftPositive:return e.WindCnt2>0;default:return e.WindCnt2<0}case c.ClipType.ctUnion:switch(i){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return e.WindCnt2===0;case c.PolyFillType.pftPositive:return e.WindCnt2<=0;default:return e.WindCnt2>=0}case c.ClipType.ctDifference:if(e.PolyTyp===c.PolyType.ptSubject)switch(i){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return e.WindCnt2===0;case c.PolyFillType.pftPositive:return e.WindCnt2<=0;default:return e.WindCnt2>=0}else switch(i){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return e.WindCnt2!==0;case c.PolyFillType.pftPositive:return e.WindCnt2>0;default:return e.WindCnt2<0}case c.ClipType.ctXor:if(e.WindDelta===0)switch(i){case c.PolyFillType.pftEvenOdd:case c.PolyFillType.pftNonZero:return e.WindCnt2===0;case c.PolyFillType.pftPositive:return e.WindCnt2<=0;default:return e.WindCnt2>=0}else return!0}return!0},c.Clipper.prototype.SetWindingCount=function(e){for(var t=e.PrevInAEL;t!==null&&(t.PolyTyp!==e.PolyTyp||t.WindDelta===0);)t=t.PrevInAEL;if(t===null){var i=e.PolyTyp===c.PolyType.ptSubject?this.m_SubjFillType:this.m_ClipFillType;e.WindDelta===0?e.WindCnt=i===c.PolyFillType.pftNegative?-1:1:e.WindCnt=e.WindDelta,e.WindCnt2=0,t=this.m_ActiveEdges}else if(e.WindDelta===0&&this.m_ClipType!==c.ClipType.ctUnion)e.WindCnt=1,e.WindCnt2=t.WindCnt2,t=t.NextInAEL;else if(this.IsEvenOddFillType(e)){if(e.WindDelta===0){for(var r=!0,n=t.PrevInAEL;n!==null;)n.PolyTyp===t.PolyTyp&&n.WindDelta!==0&&(r=!r),n=n.PrevInAEL;e.WindCnt=r?0:1}else e.WindCnt=e.WindDelta;e.WindCnt2=t.WindCnt2,t=t.NextInAEL}else t.WindCnt*t.WindDelta<0?Math.abs(t.WindCnt)>1?t.WindDelta*e.WindDelta<0?e.WindCnt=t.WindCnt:e.WindCnt=t.WindCnt+e.WindDelta:e.WindCnt=e.WindDelta===0?1:e.WindDelta:e.WindDelta===0?e.WindCnt=t.WindCnt<0?t.WindCnt-1:t.WindCnt+1:t.WindDelta*e.WindDelta<0?e.WindCnt=t.WindCnt:e.WindCnt=t.WindCnt+e.WindDelta,e.WindCnt2=t.WindCnt2,t=t.NextInAEL;if(this.IsEvenOddAltFillType(e))for(;t!==e;)t.WindDelta!==0&&(e.WindCnt2=e.WindCnt2===0?1:0),t=t.NextInAEL;else for(;t!==e;)e.WindCnt2+=t.WindDelta,t=t.NextInAEL},c.Clipper.prototype.AddEdgeToSEL=function(e){this.m_SortedEdges===null?(this.m_SortedEdges=e,e.PrevInSEL=null,e.NextInSEL=null):(e.NextInSEL=this.m_SortedEdges,e.PrevInSEL=null,this.m_SortedEdges.PrevInSEL=e,this.m_SortedEdges=e)},c.Clipper.prototype.PopEdgeFromSEL=function(e){if(e.v=this.m_SortedEdges,e.v===null)return!1;var t=e.v;return this.m_SortedEdges=e.v.NextInSEL,this.m_SortedEdges!==null&&(this.m_SortedEdges.PrevInSEL=null),t.NextInSEL=null,t.PrevInSEL=null,!0},c.Clipper.prototype.CopyAELToSEL=function(){var e=this.m_ActiveEdges;for(this.m_SortedEdges=e;e!==null;)e.PrevInSEL=e.PrevInAEL,e.NextInSEL=e.NextInAEL,e=e.NextInAEL},c.Clipper.prototype.SwapPositionsInSEL=function(e,t){if(!(e.NextInSEL===null&&e.PrevInSEL===null)&&!(t.NextInSEL===null&&t.PrevInSEL===null)){if(e.NextInSEL===t){var i=t.NextInSEL;i!==null&&(i.PrevInSEL=e);var r=e.PrevInSEL;r!==null&&(r.NextInSEL=t),t.PrevInSEL=r,t.NextInSEL=e,e.PrevInSEL=t,e.NextInSEL=i}else if(t.NextInSEL===e){var i=e.NextInSEL;i!==null&&(i.PrevInSEL=t);var r=t.PrevInSEL;r!==null&&(r.NextInSEL=e),e.PrevInSEL=r,e.NextInSEL=t,t.PrevInSEL=e,t.NextInSEL=i}else{var i=e.NextInSEL,r=e.PrevInSEL;e.NextInSEL=t.NextInSEL,e.NextInSEL!==null&&(e.NextInSEL.PrevInSEL=e),e.PrevInSEL=t.PrevInSEL,e.PrevInSEL!==null&&(e.PrevInSEL.NextInSEL=e),t.NextInSEL=i,t.NextInSEL!==null&&(t.NextInSEL.PrevInSEL=t),t.PrevInSEL=r,t.PrevInSEL!==null&&(t.PrevInSEL.NextInSEL=t)}e.PrevInSEL===null?this.m_SortedEdges=e:t.PrevInSEL===null&&(this.m_SortedEdges=t)}},c.Clipper.prototype.AddLocalMaxPoly=function(e,t,i){this.AddOutPt(e,i),t.WindDelta===0&&this.AddOutPt(t,i),e.OutIdx===t.OutIdx?(e.OutIdx=-1,t.OutIdx=-1):e.OutIdx<t.OutIdx?this.AppendPolygon(e,t):this.AppendPolygon(t,e)},c.Clipper.prototype.AddLocalMinPoly=function(e,t,i){var r,n,s;if(c.ClipperBase.IsHorizontal(t)||e.Dx>t.Dx?(r=this.AddOutPt(e,i),t.OutIdx=e.OutIdx,e.Side=c.EdgeSide.esLeft,t.Side=c.EdgeSide.esRight,n=e,n.PrevInAEL===t?s=t.PrevInAEL:s=n.PrevInAEL):(r=this.AddOutPt(t,i),e.OutIdx=t.OutIdx,e.Side=c.EdgeSide.esRight,t.Side=c.EdgeSide.esLeft,n=t,n.PrevInAEL===e?s=e.PrevInAEL:s=n.PrevInAEL),s!==null&&s.OutIdx>=0&&s.Top.Y<i.Y&&n.Top.Y<i.Y){var o=c.Clipper.TopX(s,i.Y),a=c.Clipper.TopX(n,i.Y);if(o===a&&n.WindDelta!==0&&s.WindDelta!==0&&c.ClipperBase.SlopesEqual5(new c.FPoint2(o,i.Y),s.Top,new c.FPoint2(a,i.Y),n.Top)){var l=this.AddOutPt(s,i);this.AddJoin(r,l,n.Top)}}return r},c.Clipper.prototype.AddOutPt=function(e,t){if(e.OutIdx<0){var i=this.CreateOutRec();i.IsOpen=e.WindDelta===0;var r=new c.OutPt;return i.Pts=r,r.Idx=i.Idx,r.Pt.X=t.X,r.Pt.Y=t.Y,c.use_xyz&&(r.Pt.Z=t.Z),r.Next=r,r.Prev=r,i.IsOpen||this.SetHoleState(e,i),e.OutIdx=i.Idx,r}else{var i=this.m_PolyOuts[e.OutIdx],n=i.Pts,s=e.Side===c.EdgeSide.esLeft;if(s&&c.FPoint.op_Equality(t,n.Pt))return n;if(!s&&c.FPoint.op_Equality(t,n.Prev.Pt))return n.Prev;var r=new c.OutPt;return r.Idx=i.Idx,r.Pt.X=t.X,r.Pt.Y=t.Y,c.use_xyz&&(r.Pt.Z=t.Z),r.Next=n,r.Prev=n.Prev,r.Prev.Next=r,n.Prev=r,s&&(i.Pts=r),r}},c.Clipper.prototype.GetLastOutPt=function(e){var t=this.m_PolyOuts[e.OutIdx];return e.Side===c.EdgeSide.esLeft?t.Pts:t.Pts.Prev},c.Clipper.prototype.SwapPoints=function(e,t){var i=new c.FPoint1(e.Value);e.Value.X=t.Value.X,e.Value.Y=t.Value.Y,c.use_xyz&&(e.Value.Z=t.Value.Z),t.Value.X=i.X,t.Value.Y=i.Y,c.use_xyz&&(t.Value.Z=i.Z)},c.Clipper.prototype.HorzSegmentsOverlap=function(e,t,i,r){var n;return e>t&&(n=e,e=t,t=n),i>r&&(n=i,i=r,r=n),e<r&&i<t},c.Clipper.prototype.SetHoleState=function(e,t){for(var i=e.PrevInAEL,r=null;i!==null;)i.OutIdx>=0&&i.WindDelta!==0&&(r===null?r=i:r.OutIdx===i.OutIdx&&(r=null)),i=i.PrevInAEL;r===null?(t.FirstLeft=null,t.IsHole=!1):(t.FirstLeft=this.m_PolyOuts[r.OutIdx],t.IsHole=!t.FirstLeft.IsHole)},c.Clipper.prototype.GetDx=function(e,t){return e.Y===t.Y?c.ClipperBase.horizontal:(t.X-e.X)/(t.Y-e.Y)},c.Clipper.prototype.FirstIsBottomPt=function(e,t){for(var i=e.Prev;c.FPoint.op_Equality(i.Pt,e.Pt)&&i!==e;)i=i.Prev;var r=Math.abs(this.GetDx(e.Pt,i.Pt));for(i=e.Next;c.FPoint.op_Equality(i.Pt,e.Pt)&&i!==e;)i=i.Next;var n=Math.abs(this.GetDx(e.Pt,i.Pt));for(i=t.Prev;c.FPoint.op_Equality(i.Pt,t.Pt)&&i!==t;)i=i.Prev;var s=Math.abs(this.GetDx(t.Pt,i.Pt));for(i=t.Next;c.FPoint.op_Equality(i.Pt,t.Pt)&&i!==t;)i=i.Next;var o=Math.abs(this.GetDx(t.Pt,i.Pt));return Math.max(r,n)===Math.max(s,o)&&Math.min(r,n)===Math.min(s,o)?this.Area(e)>0:r>=s&&r>=o||n>=s&&n>=o},c.Clipper.prototype.GetBottomPt=function(e){for(var t=this,i=null,r=e.Next;r!==e;)r.Pt.Y>e.Pt.Y?(e=r,i=null):r.Pt.Y===e.Pt.Y&&r.Pt.X<=e.Pt.X&&(r.Pt.X<e.Pt.X?(i=null,e=r):r.Next!==e&&r.Prev!==e&&(i=r)),r=r.Next;if(i!==null)for(;i!==r;)for(t.FirstIsBottomPt(r,i)||(e=i),i=i.Next;c.FPoint.op_Inequality(i.Pt,e.Pt);)i=i.Next;return e},c.Clipper.prototype.GetLowermostRec=function(e,t){e.BottomPt===null&&(e.BottomPt=this.GetBottomPt(e.Pts)),t.BottomPt===null&&(t.BottomPt=this.GetBottomPt(t.Pts));var i=e.BottomPt,r=t.BottomPt;return i.Pt.Y>r.Pt.Y?e:i.Pt.Y<r.Pt.Y?t:i.Pt.X<r.Pt.X?e:i.Pt.X>r.Pt.X||i.Next===i?t:r.Next===r||this.FirstIsBottomPt(i,r)?e:t},c.Clipper.prototype.OutRec1RightOfOutRec2=function(e,t){do if(e=e.FirstLeft,e===t)return!0;while(e!==null);return!1},c.Clipper.prototype.GetOutRec=function(e){for(var t=this,i=this.m_PolyOuts[e];i!==this.m_PolyOuts[i.Idx];)i=t.m_PolyOuts[i.Idx];return i},c.Clipper.prototype.AppendPolygon=function(e,t){var i=this.m_PolyOuts[e.OutIdx],r=this.m_PolyOuts[t.OutIdx],n;this.OutRec1RightOfOutRec2(i,r)?n=r:this.OutRec1RightOfOutRec2(r,i)?n=i:n=this.GetLowermostRec(i,r);var s=i.Pts,o=s.Prev,a=r.Pts,l=a.Prev;e.Side===c.EdgeSide.esLeft?t.Side===c.EdgeSide.esLeft?(this.ReversePolyPtLinks(a),a.Next=s,s.Prev=a,o.Next=l,l.Prev=o,i.Pts=l):(l.Next=s,s.Prev=l,a.Prev=o,o.Next=a,i.Pts=a):t.Side===c.EdgeSide.esRight?(this.ReversePolyPtLinks(a),o.Next=l,l.Prev=o,a.Next=s,s.Prev=a):(o.Next=a,a.Prev=o,s.Prev=l,l.Next=s),i.BottomPt=null,n===r&&(r.FirstLeft!==i&&(i.FirstLeft=r.FirstLeft),i.IsHole=r.IsHole),r.Pts=null,r.BottomPt=null,r.FirstLeft=i;var h=e.OutIdx,u=t.OutIdx;e.OutIdx=-1,t.OutIdx=-1;for(var f=this.m_ActiveEdges;f!==null;){if(f.OutIdx===u){f.OutIdx=h,f.Side=e.Side;break}f=f.NextInAEL}r.Idx=i.Idx},c.Clipper.prototype.ReversePolyPtLinks=function(e){if(e!==null){var t,i;t=e;do i=t.Next,t.Next=t.Prev,t.Prev=i,t=i;while(t!==e)}},c.Clipper.SwapSides=function(e,t){var i=e.Side;e.Side=t.Side,t.Side=i},c.Clipper.SwapPolyIndexes=function(e,t){var i=e.OutIdx;e.OutIdx=t.OutIdx,t.OutIdx=i},c.Clipper.prototype.IntersectEdges=function(e,t,i){var r=e.OutIdx>=0,n=t.OutIdx>=0;if(c.use_xyz&&this.SetZ(i,e,t),c.use_lines&&(e.WindDelta===0||t.WindDelta===0)){if(e.WindDelta===0&&t.WindDelta===0)return;e.PolyTyp===t.PolyTyp&&e.WindDelta!==t.WindDelta&&this.m_ClipType===c.ClipType.ctUnion?e.WindDelta===0?n&&(this.AddOutPt(e,i),r&&(e.OutIdx=-1)):r&&(this.AddOutPt(t,i),n&&(t.OutIdx=-1)):e.PolyTyp!==t.PolyTyp&&(e.WindDelta===0&&Math.abs(t.WindCnt)===1&&(this.m_ClipType!==c.ClipType.ctUnion||t.WindCnt2===0)?(this.AddOutPt(e,i),r&&(e.OutIdx=-1)):t.WindDelta===0&&Math.abs(e.WindCnt)===1&&(this.m_ClipType!==c.ClipType.ctUnion||e.WindCnt2===0)&&(this.AddOutPt(t,i),n&&(t.OutIdx=-1)));return}if(e.PolyTyp===t.PolyTyp)if(this.IsEvenOddFillType(e)){var s=e.WindCnt;e.WindCnt=t.WindCnt,t.WindCnt=s}else e.WindCnt+t.WindDelta===0?e.WindCnt=-e.WindCnt:e.WindCnt+=t.WindDelta,t.WindCnt-e.WindDelta===0?t.WindCnt=-t.WindCnt:t.WindCnt-=e.WindDelta;else this.IsEvenOddFillType(t)?e.WindCnt2=e.WindCnt2===0?1:0:e.WindCnt2+=t.WindDelta,this.IsEvenOddFillType(e)?t.WindCnt2=t.WindCnt2===0?1:0:t.WindCnt2-=e.WindDelta;var o,a,l,h;e.PolyTyp===c.PolyType.ptSubject?(o=this.m_SubjFillType,l=this.m_ClipFillType):(o=this.m_ClipFillType,l=this.m_SubjFillType),t.PolyTyp===c.PolyType.ptSubject?(a=this.m_SubjFillType,h=this.m_ClipFillType):(a=this.m_ClipFillType,h=this.m_SubjFillType);var u,f;switch(o){case c.PolyFillType.pftPositive:u=e.WindCnt;break;case c.PolyFillType.pftNegative:u=-e.WindCnt;break;default:u=Math.abs(e.WindCnt);break}switch(a){case c.PolyFillType.pftPositive:f=t.WindCnt;break;case c.PolyFillType.pftNegative:f=-t.WindCnt;break;default:f=Math.abs(t.WindCnt);break}if(r&&n)u!==0&&u!==1||f!==0&&f!==1||e.PolyTyp!==t.PolyTyp&&this.m_ClipType!==c.ClipType.ctXor?this.AddLocalMaxPoly(e,t,i):(this.AddOutPt(e,i),this.AddOutPt(t,i),c.Clipper.SwapSides(e,t),c.Clipper.SwapPolyIndexes(e,t));else if(r)(f===0||f===1)&&(this.AddOutPt(e,i),c.Clipper.SwapSides(e,t),c.Clipper.SwapPolyIndexes(e,t));else if(n)(u===0||u===1)&&(this.AddOutPt(t,i),c.Clipper.SwapSides(e,t),c.Clipper.SwapPolyIndexes(e,t));else if((u===0||u===1)&&(f===0||f===1)){var p,d;switch(l){case c.PolyFillType.pftPositive:p=e.WindCnt2;break;case c.PolyFillType.pftNegative:p=-e.WindCnt2;break;default:p=Math.abs(e.WindCnt2);break}switch(h){case c.PolyFillType.pftPositive:d=t.WindCnt2;break;case c.PolyFillType.pftNegative:d=-t.WindCnt2;break;default:d=Math.abs(t.WindCnt2);break}if(e.PolyTyp!==t.PolyTyp)this.AddLocalMinPoly(e,t,i);else if(u===1&&f===1)switch(this.m_ClipType){case c.ClipType.ctIntersection:p>0&&d>0&&this.AddLocalMinPoly(e,t,i);break;case c.ClipType.ctUnion:p<=0&&d<=0&&this.AddLocalMinPoly(e,t,i);break;case c.ClipType.ctDifference:(e.PolyTyp===c.PolyType.ptClip&&p>0&&d>0||e.PolyTyp===c.PolyType.ptSubject&&p<=0&&d<=0)&&this.AddLocalMinPoly(e,t,i);break;case c.ClipType.ctXor:this.AddLocalMinPoly(e,t,i);break}else c.Clipper.SwapSides(e,t)}},c.Clipper.prototype.DeleteFromSEL=function(e){var t=e.PrevInSEL,i=e.NextInSEL;t===null&&i===null&&e!==this.m_SortedEdges||(t!==null?t.NextInSEL=i:this.m_SortedEdges=i,i!==null&&(i.PrevInSEL=t),e.NextInSEL=null,e.PrevInSEL=null)},c.Clipper.prototype.ProcessHorizontals=function(){for(var e=this,t={};this.PopEdgeFromSEL(t);)e.ProcessHorizontal(t.v)},c.Clipper.prototype.GetHorzDirection=function(e,t){e.Bot.X<e.Top.X?(t.Left=e.Bot.X,t.Right=e.Top.X,t.Dir=c.Direction.dLeftToRight):(t.Left=e.Top.X,t.Right=e.Bot.X,t.Dir=c.Direction.dRightToLeft)},c.Clipper.prototype.ProcessHorizontal=function(e){var t=this,i={Dir:null,Left:null,Right:null};this.GetHorzDirection(e,i);for(var r=i.Dir,n=i.Left,s=i.Right,o=e.WindDelta===0,a=e,l=null;a.NextInLML!==null&&c.ClipperBase.IsHorizontal(a.NextInLML);)a=a.NextInLML;a.NextInLML===null&&(l=this.GetMaximaPair(a));var h=this.m_Maxima;if(h!==null)if(r===c.Direction.dLeftToRight){for(;h!==null&&h.X<=e.Bot.X;)h=h.Next;h!==null&&h.X>=a.Top.X&&(h=null)}else{for(;h.Next!==null&&h.Next.X<e.Bot.X;)h=h.Next;h.X<=a.Top.X&&(h=null)}for(var u=null;;){for(var f=e===a,p=t.GetNextInAEL(e,r);p!==null;){if(h!==null)if(r===c.Direction.dLeftToRight)for(;h!==null&&h.X<p.Curr.X;)e.OutIdx>=0&&!o&&t.AddOutPt(e,new c.FPoint2(h.X,e.Bot.Y)),h=h.Next;else for(;h!==null&&h.X>p.Curr.X;)e.OutIdx>=0&&!o&&t.AddOutPt(e,new c.FPoint2(h.X,e.Bot.Y)),h=h.Prev;if(r===c.Direction.dLeftToRight&&p.Curr.X>s||r===c.Direction.dRightToLeft&&p.Curr.X<n||p.Curr.X===e.Top.X&&e.NextInLML!==null&&p.Dx<e.NextInLML.Dx)break;if(e.OutIdx>=0&&!o){c.use_xyz&&(r===c.Direction.dLeftToRight?t.SetZ(p.Curr,e,p):t.SetZ(p.Curr,p,e)),u=t.AddOutPt(e,p.Curr);for(var d=t.m_SortedEdges;d!==null;){if(d.OutIdx>=0&&t.HorzSegmentsOverlap(e.Bot.X,e.Top.X,d.Bot.X,d.Top.X)){var v=t.GetLastOutPt(d);t.AddJoin(v,u,d.Top)}d=d.NextInSEL}t.AddGhostJoin(u,e.Bot)}if(p===l&&f){e.OutIdx>=0&&t.AddLocalMaxPoly(e,l,e.Top),t.DeleteFromAEL(e),t.DeleteFromAEL(l);return}if(r===c.Direction.dLeftToRight){var y=new c.FPoint2(p.Curr.X,e.Curr.Y);t.IntersectEdges(e,p,y)}else{var y=new c.FPoint2(p.Curr.X,e.Curr.Y);t.IntersectEdges(p,e,y)}var m=t.GetNextInAEL(p,r);t.SwapPositionsInAEL(e,p),p=m}if(e.NextInLML===null||!c.ClipperBase.IsHorizontal(e.NextInLML))break;e=t.UpdateEdgeIntoAEL(e),e.OutIdx>=0&&t.AddOutPt(e,e.Bot),i={Dir:r,Left:n,Right:s},t.GetHorzDirection(e,i),r=i.Dir,n=i.Left,s=i.Right}if(e.OutIdx>=0&&u===null){u=this.GetLastOutPt(e);for(var d=this.m_SortedEdges;d!==null;){if(d.OutIdx>=0&&t.HorzSegmentsOverlap(e.Bot.X,e.Top.X,d.Bot.X,d.Top.X)){var v=t.GetLastOutPt(d);t.AddJoin(v,u,d.Top)}d=d.NextInSEL}this.AddGhostJoin(u,e.Top)}if(e.NextInLML!==null)if(e.OutIdx>=0){if(u=this.AddOutPt(e,e.Top),e=this.UpdateEdgeIntoAEL(e),e.WindDelta===0)return;var g=e.PrevInAEL,m=e.NextInAEL;if(g!==null&&g.Curr.X===e.Bot.X&&g.Curr.Y===e.Bot.Y&&g.WindDelta===0&&g.OutIdx>=0&&g.Curr.Y>g.Top.Y&&c.ClipperBase.SlopesEqual3(e,g)){var v=this.AddOutPt(g,e.Bot);this.AddJoin(u,v,e.Top)}else if(m!==null&&m.Curr.X===e.Bot.X&&m.Curr.Y===e.Bot.Y&&m.WindDelta!==0&&m.OutIdx>=0&&m.Curr.Y>m.Top.Y&&c.ClipperBase.SlopesEqual3(e,m)){var v=this.AddOutPt(m,e.Bot);this.AddJoin(u,v,e.Top)}}else e=this.UpdateEdgeIntoAEL(e);else e.OutIdx>=0&&this.AddOutPt(e,e.Top),this.DeleteFromAEL(e)},c.Clipper.prototype.GetNextInAEL=function(e,t){return t===c.Direction.dLeftToRight?e.NextInAEL:e.PrevInAEL},c.Clipper.prototype.IsMinima=function(e){return e!==null&&e.Prev.NextInLML!==e&&e.Next.NextInLML!==e},c.Clipper.prototype.IsMaxima=function(e,t){return e!==null&&e.Top.Y===t&&e.NextInLML===null},c.Clipper.prototype.IsIntermediate=function(e,t){return e.Top.Y===t&&e.NextInLML!==null},c.Clipper.prototype.GetMaximaPair=function(e){return c.FPoint.op_Equality(e.Next.Top,e.Top)&&e.Next.NextInLML===null?e.Next:c.FPoint.op_Equality(e.Prev.Top,e.Top)&&e.Prev.NextInLML===null?e.Prev:null},c.Clipper.prototype.GetMaximaPairEx=function(e){var t=this.GetMaximaPair(e);return t===null||t.OutIdx===c.ClipperBase.Skip||t.NextInAEL===t.PrevInAEL&&!c.ClipperBase.IsHorizontal(t)?null:t},c.Clipper.prototype.ProcessIntersections=function(e){if(this.m_ActiveEdges===null)return!0;try{if(this.BuildIntersectList(e),this.m_IntersectList.length===0)return!0;if(this.m_IntersectList.length===1||this.FixupIntersectionOrder())this.ProcessIntersectList();else return!1}catch{this.m_SortedEdges=null,this.m_IntersectList.length=0,c.Error("ProcessIntersections error")}return this.m_SortedEdges=null,!0},c.Clipper.prototype.BuildIntersectList=function(e){var t=this;if(this.m_ActiveEdges!==null){var i=this.m_ActiveEdges;for(this.m_SortedEdges=i;i!==null;)i.PrevInSEL=i.PrevInAEL,i.NextInSEL=i.NextInAEL,i.Curr.X=c.Clipper.TopX(i,e),i=i.NextInAEL;for(var r=!0;r&&this.m_SortedEdges!==null;){for(r=!1,i=t.m_SortedEdges;i.NextInSEL!==null;){var n=i.NextInSEL,s=new c.FPoint0;if(i.Curr.X>n.Curr.X){t.IntersectPoint(i,n,s),s.Y<e&&(s=new c.FPoint2(c.Clipper.TopX(i,e),e));var o=new c.IntersectNode;o.Edge1=i,o.Edge2=n,o.Pt.X=s.X,o.Pt.Y=s.Y,c.use_xyz&&(o.Pt.Z=s.Z),t.m_IntersectList.push(o),t.SwapPositionsInSEL(i,n),r=!0}else i=n}if(i.PrevInSEL!==null)i.PrevInSEL.NextInSEL=null;else break}this.m_SortedEdges=null}},c.Clipper.prototype.EdgesAdjacent=function(e){return e.Edge1.NextInSEL===e.Edge2||e.Edge1.PrevInSEL===e.Edge2},c.Clipper.IntersectNodeSort=function(e,t){return t.Pt.Y-e.Pt.Y},c.Clipper.prototype.FixupIntersectionOrder=function(){var e=this;this.m_IntersectList.sort(this.m_IntersectNodeComparer),this.CopyAELToSEL();for(var t=this.m_IntersectList.length,i=0;i<t;i++){if(!e.EdgesAdjacent(e.m_IntersectList[i])){for(var r=i+1;r<t&&!this.EdgesAdjacent(this.m_IntersectList[r]);)r++;if(r===t)return!1;var n=e.m_IntersectList[i];e.m_IntersectList[i]=e.m_IntersectList[r],e.m_IntersectList[r]=n}e.SwapPositionsInSEL(e.m_IntersectList[i].Edge1,e.m_IntersectList[i].Edge2)}return!0},c.Clipper.prototype.ProcessIntersectList=function(){for(var e=this,t=0,i=this.m_IntersectList.length;t<i;t++){var r=e.m_IntersectList[t];e.IntersectEdges(r.Edge1,r.Edge2,r.Pt),e.SwapPositionsInAEL(r.Edge1,r.Edge2)}this.m_IntersectList.length=0},c.Clipper.TopX=function(e,t){return t===e.Top.Y?e.Top.X:e.Bot.X+e.Dx*(t-e.Bot.Y)},c.Clipper.prototype.IntersectPoint=function(e,t,i){i.X=0,i.Y=0;var r,n;if(e.Dx===t.Dx){i.Y=e.Curr.Y,i.X=c.Clipper.TopX(e,i.Y);return}if(e.Delta.X===0)i.X=e.Bot.X,c.ClipperBase.IsHorizontal(t)?i.Y=t.Bot.Y:(n=t.Bot.Y-t.Bot.X/t.Dx,i.Y=i.X/t.Dx+n);else if(t.Delta.X===0)i.X=t.Bot.X,c.ClipperBase.IsHorizontal(e)?i.Y=e.Bot.Y:(r=e.Bot.Y-e.Bot.X/e.Dx,i.Y=i.X/e.Dx+r);else{r=e.Bot.X-e.Bot.Y*e.Dx,n=t.Bot.X-t.Bot.Y*t.Dx;var s=(n-r)/(e.Dx-t.Dx);i.Y=s,Math.abs(e.Dx)<Math.abs(t.Dx)?i.X=e.Dx*s+r:i.X=t.Dx*s+n}if(i.Y<e.Top.Y||i.Y<t.Top.Y){if(e.Top.Y>t.Top.Y)return i.Y=e.Top.Y,i.X=c.Clipper.TopX(t,e.Top.Y),i.X<e.Top.X;i.Y=t.Top.Y,Math.abs(e.Dx)<Math.abs(t.Dx)?i.X=c.Clipper.TopX(e,i.Y):i.X=c.Clipper.TopX(t,i.Y)}i.Y>e.Curr.Y&&(i.Y=e.Curr.Y,Math.abs(e.Dx)>Math.abs(t.Dx)?i.X=c.Clipper.TopX(t,i.Y):i.X=c.Clipper.TopX(e,i.Y))},c.Clipper.prototype.ProcessEdgesAtTopOfScanbeam=function(e){for(var t=this,i=this.m_ActiveEdges;i!==null;){var r=t.IsMaxima(i,e);if(r){var n=t.GetMaximaPairEx(i);r=n===null||!c.ClipperBase.IsHorizontal(n)}if(r){t.StrictlySimple&&t.InsertMaxima(i.Top.X);var s=i.PrevInAEL;t.DoMaxima(i),s===null?i=t.m_ActiveEdges:i=s.NextInAEL}else{if(t.IsIntermediate(i,e)&&c.ClipperBase.IsHorizontal(i.NextInLML)?(i=t.UpdateEdgeIntoAEL(i),i.OutIdx>=0&&t.AddOutPt(i,i.Bot),t.AddEdgeToSEL(i)):(i.Curr.X=c.Clipper.TopX(i,e),i.Curr.Y=e),c.use_xyz&&(i.Top.Y===e?i.Curr.Z=i.Top.Z:i.Bot.Y===e?i.Curr.Z=i.Bot.Z:i.Curr.Z=0),t.StrictlySimple){var s=i.PrevInAEL;if(i.OutIdx>=0&&i.WindDelta!==0&&s!==null&&s.OutIdx>=0&&s.Curr.X===i.Curr.X&&s.WindDelta!==0){var o=new c.FPoint1(i.Curr);c.use_xyz&&t.SetZ(o,s,i);var a=t.AddOutPt(s,o),l=t.AddOutPt(i,o);t.AddJoin(a,l,o)}}i=i.NextInAEL}}for(this.ProcessHorizontals(),this.m_Maxima=null,i=this.m_ActiveEdges;i!==null;){if(t.IsIntermediate(i,e)){var a=null;i.OutIdx>=0&&(a=t.AddOutPt(i,i.Top)),i=t.UpdateEdgeIntoAEL(i);var s=i.PrevInAEL,h=i.NextInAEL;if(s!==null&&s.Curr.X===i.Bot.X&&s.Curr.Y===i.Bot.Y&&a!==null&&s.OutIdx>=0&&s.Curr.Y===s.Top.Y&&c.ClipperBase.SlopesEqual5(i.Curr,i.Top,s.Curr,s.Top)&&i.WindDelta!==0&&s.WindDelta!==0){var l=t.AddOutPt(ePrev2,i.Bot);t.AddJoin(a,l,i.Top)}else if(h!==null&&h.Curr.X===i.Bot.X&&h.Curr.Y===i.Bot.Y&&a!==null&&h.OutIdx>=0&&h.Curr.Y===h.Top.Y&&c.ClipperBase.SlopesEqual5(i.Curr,i.Top,h.Curr,h.Top)&&i.WindDelta!==0&&h.WindDelta!==0){var l=t.AddOutPt(h,i.Bot);t.AddJoin(a,l,i.Top)}}i=i.NextInAEL}},c.Clipper.prototype.DoMaxima=function(e){var t=this,i=this.GetMaximaPairEx(e);if(i===null){e.OutIdx>=0&&this.AddOutPt(e,e.Top),this.DeleteFromAEL(e);return}for(var r=e.NextInAEL;r!==null&&r!==i;)t.IntersectEdges(e,r,e.Top),t.SwapPositionsInAEL(e,r),r=e.NextInAEL;e.OutIdx===-1&&i.OutIdx===-1?(this.DeleteFromAEL(e),this.DeleteFromAEL(i)):e.OutIdx>=0&&i.OutIdx>=0?(e.OutIdx>=0&&this.AddLocalMaxPoly(e,i,e.Top),this.DeleteFromAEL(e),this.DeleteFromAEL(i)):c.use_lines&&e.WindDelta===0?(e.OutIdx>=0&&(this.AddOutPt(e,e.Top),e.OutIdx=c.ClipperBase.Unassigned),this.DeleteFromAEL(e),i.OutIdx>=0&&(this.AddOutPt(i,e.Top),i.OutIdx=c.ClipperBase.Unassigned),this.DeleteFromAEL(i)):c.Error("DoMaxima error")},c.Clipper.ReversePaths=function(e){for(var t=0,i=e.length;t<i;t++)e[t].reverse()},c.Clipper.Orientation=function(e){return c.Clipper.Area(e)>=0},c.Clipper.prototype.PointCount=function(e){if(e===null)return 0;var t=0,i=e;do t++,i=i.Next;while(i!==e);return t},c.Clipper.prototype.BuildResult=function(e){var t=this;c.Clear(e);for(var i=0,r=this.m_PolyOuts.length;i<r;i++){var n=t.m_PolyOuts[i];if(n.Pts!==null){var s=n.Pts.Prev,o=t.PointCount(s);if(!(o<2)){for(var a=new Array(o),l=0;l<o;l++)a[l]=s.Pt,s=s.Prev;e.push(a)}}}},c.Clipper.prototype.BuildResult2=function(e){var t=this;e.Clear();for(var i=0,r=this.m_PolyOuts.length;i<r;i++){var n=t.m_PolyOuts[i],s=t.PointCount(n.Pts);if(!(n.IsOpen&&s<2||!n.IsOpen&&s<3)){t.FixHoleLinkage(n);var o=new c.PolyNode;e.m_AllPolys.push(o),n.PolyNode=o,o.m_polygon.length=s;for(var a=n.Pts.Prev,l=0;l<s;l++)o.m_polygon[l]=a.Pt,a=a.Prev}}for(var i=0,r=this.m_PolyOuts.length;i<r;i++){var n=t.m_PolyOuts[i];n.PolyNode!==null&&(n.IsOpen?(n.PolyNode.IsOpen=!0,e.AddChild(n.PolyNode)):n.FirstLeft!==null&&n.FirstLeft.PolyNode!==null?n.FirstLeft.PolyNode.AddChild(n.PolyNode):e.AddChild(n.PolyNode))}},c.Clipper.prototype.FixupOutPolyline=function(e){for(var t=e.Pts,i=t.Prev;t!==i;)if(t=t.Next,c.FPoint.op_Equality(t.Pt,t.Prev.Pt)){t===i&&(i=t.Prev);var r=t.Prev;r.Next=t.Next,t.Next.Prev=r,t=r}t===t.Prev&&(e.Pts=null)},c.Clipper.prototype.FixupOutPolygon=function(e){var t=this,i=null;e.BottomPt=null;for(var r=e.Pts,n=this.PreserveCollinear||this.StrictlySimple;;){if(r.Prev===r||r.Prev===r.Next){e.Pts=null;return}if(c.FPoint.op_Equality(r.Pt,r.Next.Pt)||c.FPoint.op_Equality(r.Pt,r.Prev.Pt)||c.ClipperBase.SlopesEqual4(r.Prev.Pt,r.Pt,r.Next.Pt)&&(!n||!t.Pt2IsBetweenPt1AndPt3(r.Prev.Pt,r.Pt,r.Next.Pt)))i=null,r.Prev.Next=r.Next,r.Next.Prev=r.Prev,r=r.Prev;else{if(r===i)break;i===null&&(i=r),r=r.Next}}e.Pts=r},c.Clipper.prototype.DupOutPt=function(e,t){var i=new c.OutPt;return i.Pt.X=e.Pt.X,i.Pt.Y=e.Pt.Y,c.use_xyz&&(i.Pt.Z=e.Pt.Z),i.Idx=e.Idx,t?(i.Next=e.Next,i.Prev=e,e.Next.Prev=i,e.Next=i):(i.Prev=e.Prev,i.Next=e,e.Prev.Next=i,e.Prev=i),i},c.Clipper.prototype.GetOverlap=function(e,t,i,r,n){return e<t?i<r?(n.Left=Math.max(e,i),n.Right=Math.min(t,r)):(n.Left=Math.max(e,r),n.Right=Math.min(t,i)):i<r?(n.Left=Math.max(t,i),n.Right=Math.min(e,r)):(n.Left=Math.max(t,r),n.Right=Math.min(e,i)),n.Left<n.Right},c.Clipper.prototype.JoinHorz=function(e,t,i,r,n,s){var o=e.Pt.X>t.Pt.X?c.Direction.dRightToLeft:c.Direction.dLeftToRight,a=i.Pt.X>r.Pt.X?c.Direction.dRightToLeft:c.Direction.dLeftToRight;if(o===a)return!1;if(o===c.Direction.dLeftToRight){for(;e.Next.Pt.X<=n.X&&e.Next.Pt.X>=e.Pt.X&&e.Next.Pt.Y===n.Y;)e=e.Next;s&&e.Pt.X!==n.X&&(e=e.Next),t=this.DupOutPt(e,!s),c.FPoint.op_Inequality(t.Pt,n)&&(e=t,e.Pt.X=n.X,e.Pt.Y=n.Y,c.use_xyz&&(e.Pt.Z=n.Z),t=this.DupOutPt(e,!s))}else{for(;e.Next.Pt.X>=n.X&&e.Next.Pt.X<=e.Pt.X&&e.Next.Pt.Y===n.Y;)e=e.Next;!s&&e.Pt.X!==n.X&&(e=e.Next),t=this.DupOutPt(e,s),c.FPoint.op_Inequality(t.Pt,n)&&(e=t,e.Pt.X=n.X,e.Pt.Y=n.Y,c.use_xyz&&(e.Pt.Z=n.Z),t=this.DupOutPt(e,s))}if(a===c.Direction.dLeftToRight){for(;i.Next.Pt.X<=n.X&&i.Next.Pt.X>=i.Pt.X&&i.Next.Pt.Y===n.Y;)i=i.Next;s&&i.Pt.X!==n.X&&(i=i.Next),r=this.DupOutPt(i,!s),c.FPoint.op_Inequality(r.Pt,n)&&(i=r,i.Pt.X=n.X,i.Pt.Y=n.Y,c.use_xyz&&(i.Pt.Z=n.Z),r=this.DupOutPt(i,!s))}else{for(;i.Next.Pt.X>=n.X&&i.Next.Pt.X<=i.Pt.X&&i.Next.Pt.Y===n.Y;)i=i.Next;!s&&i.Pt.X!==n.X&&(i=i.Next),r=this.DupOutPt(i,s),c.FPoint.op_Inequality(r.Pt,n)&&(i=r,i.Pt.X=n.X,i.Pt.Y=n.Y,c.use_xyz&&(i.Pt.Z=n.Z),r=this.DupOutPt(i,s))}return o===c.Direction.dLeftToRight===s?(e.Prev=i,i.Next=e,t.Next=r,r.Prev=t):(e.Next=i,i.Prev=e,t.Prev=r,r.Next=t),!0},c.Clipper.prototype.JoinPoints=function(e,t,i){var r=e.OutPt1,n=new c.OutPt,s=e.OutPt2,o=new c.OutPt,a=e.OutPt1.Pt.Y===e.OffPt.Y;if(a&&c.FPoint.op_Equality(e.OffPt,e.OutPt1.Pt)&&c.FPoint.op_Equality(e.OffPt,e.OutPt2.Pt)){if(t!==i)return!1;for(n=e.OutPt1.Next;n!==r&&c.FPoint.op_Equality(n.Pt,e.OffPt);)n=n.Next;var l=n.Pt.Y>e.OffPt.Y;for(o=e.OutPt2.Next;o!==s&&c.FPoint.op_Equality(o.Pt,e.OffPt);)o=o.Next;var h=o.Pt.Y>e.OffPt.Y;return l===h?!1:l?(n=this.DupOutPt(r,!1),o=this.DupOutPt(s,!0),r.Prev=s,s.Next=r,n.Next=o,o.Prev=n,e.OutPt1=r,e.OutPt2=n,!0):(n=this.DupOutPt(r,!0),o=this.DupOutPt(s,!1),r.Next=s,s.Prev=r,n.Prev=o,o.Next=n,e.OutPt1=r,e.OutPt2=n,!0)}else if(a){for(n=r;r.Prev.Pt.Y===r.Pt.Y&&r.Prev!==n&&r.Prev!==s;)r=r.Prev;for(;n.Next.Pt.Y===n.Pt.Y&&n.Next!==r&&n.Next!==s;)n=n.Next;if(n.Next===r||n.Next===s)return!1;for(o=s;s.Prev.Pt.Y===s.Pt.Y&&s.Prev!==o&&s.Prev!==n;)s=s.Prev;for(;o.Next.Pt.Y===o.Pt.Y&&o.Next!==s&&o.Next!==r;)o=o.Next;if(o.Next===s||o.Next===r)return!1;var u={Left:null,Right:null};if(!this.GetOverlap(r.Pt.X,n.Pt.X,s.Pt.X,o.Pt.X,u))return!1;var f=u.Left,p=u.Right,d=new c.FPoint0,v;return r.Pt.X>=f&&r.Pt.X<=p?(d.X=r.Pt.X,d.Y=r.Pt.Y,c.use_xyz&&(d.Z=r.Pt.Z),v=r.Pt.X>n.Pt.X):s.Pt.X>=f&&s.Pt.X<=p?(d.X=s.Pt.X,d.Y=s.Pt.Y,c.use_xyz&&(d.Z=s.Pt.Z),v=s.Pt.X>o.Pt.X):n.Pt.X>=f&&n.Pt.X<=p?(d.X=n.Pt.X,d.Y=n.Pt.Y,c.use_xyz&&(d.Z=n.Pt.Z),v=n.Pt.X>r.Pt.X):(d.X=o.Pt.X,d.Y=o.Pt.Y,c.use_xyz&&(d.Z=o.Pt.Z),v=o.Pt.X>s.Pt.X),e.OutPt1=r,e.OutPt2=s,this.JoinHorz(r,n,s,o,d,v)}else{for(n=r.Next;c.FPoint.op_Equality(n.Pt,r.Pt)&&n!==r;)n=n.Next;var y=n.Pt.Y>r.Pt.Y||!c.ClipperBase.SlopesEqual4(r.Pt,n.Pt,e.OffPt);if(y){for(n=r.Prev;c.FPoint.op_Equality(n.Pt,r.Pt)&&n!==r;)n=n.Prev;if(n.Pt.Y>r.Pt.Y||!c.ClipperBase.SlopesEqual4(r.Pt,n.Pt,e.OffPt))return!1}for(o=s.Next;c.FPoint.op_Equality(o.Pt,s.Pt)&&o!==s;)o=o.Next;var m=o.Pt.Y>s.Pt.Y||!c.ClipperBase.SlopesEqual4(s.Pt,o.Pt,e.OffPt);if(m){for(o=s.Prev;c.FPoint.op_Equality(o.Pt,s.Pt)&&o!==s;)o=o.Prev;if(o.Pt.Y>s.Pt.Y||!c.ClipperBase.SlopesEqual4(s.Pt,o.Pt,e.OffPt))return!1}return n===r||o===s||n===o||t===i&&y===m?!1:y?(n=this.DupOutPt(r,!1),o=this.DupOutPt(s,!0),r.Prev=s,s.Next=r,n.Next=o,o.Prev=n,e.OutPt1=r,e.OutPt2=n,!0):(n=this.DupOutPt(r,!0),o=this.DupOutPt(s,!1),r.Next=s,s.Prev=r,n.Prev=o,o.Next=n,e.OutPt1=r,e.OutPt2=n,!0)}},c.Clipper.GetBounds=function(e){for(var t=0,i=e.length;t<i&&e[t].length===0;)t++;if(t===i)return new c.FRect(0,0,0,0);var r=new c.FRect;for(r.left=e[t][0].X,r.right=r.left,r.top=e[t][0].Y,r.bottom=r.top;t<i;t++)for(var n=0,s=e[t].length;n<s;n++)e[t][n].X<r.left?r.left=e[t][n].X:e[t][n].X>r.right&&(r.right=e[t][n].X),e[t][n].Y<r.top?r.top=e[t][n].Y:e[t][n].Y>r.bottom&&(r.bottom=e[t][n].Y);return r},c.Clipper.prototype.GetBounds2=function(e){var t=e,i=new c.FRect;for(i.left=e.Pt.X,i.right=e.Pt.X,i.top=e.Pt.Y,i.bottom=e.Pt.Y,e=e.Next;e!==t;)e.Pt.X<i.left&&(i.left=e.Pt.X),e.Pt.X>i.right&&(i.right=e.Pt.X),e.Pt.Y<i.top&&(i.top=e.Pt.Y),e.Pt.Y>i.bottom&&(i.bottom=e.Pt.Y),e=e.Next;return i},c.Clipper.PointInPolygon=function(e,t){var i=0,r=t.length;if(r<3)return 0;for(var n=t[0],s=1;s<=r;++s){var o=s===r?t[0]:t[s];if(o.Y===e.Y&&(o.X===e.X||n.Y===e.Y&&o.X>e.X==n.X<e.X))return-1;if(n.Y<e.Y!=o.Y<e.Y){if(n.X>=e.X)if(o.X>e.X)i=1-i;else{var a=(n.X-e.X)*(o.Y-e.Y)-(o.X-e.X)*(n.Y-e.Y);if(a===0)return-1;a>0==o.Y>n.Y&&(i=1-i)}else if(o.X>e.X){var a=(n.X-e.X)*(o.Y-e.Y)-(o.X-e.X)*(n.Y-e.Y);if(a===0)return-1;a>0==o.Y>n.Y&&(i=1-i)}}n=o}return i},c.Clipper.prototype.PointInPolygon=function(e,t){var i=0,r=t,n=e.X,s=e.Y,o=t.Pt.X,a=t.Pt.Y;do{t=t.Next;var l=t.Pt.X,h=t.Pt.Y;if(h===s&&(l===n||a===s&&l>n==o<n))return-1;if(a<s!=h<s){if(o>=n)if(l>n)i=1-i;else{var u=(o-n)*(h-s)-(l-n)*(a-s);if(u===0)return-1;u>0==h>a&&(i=1-i)}else if(l>n){var u=(o-n)*(h-s)-(l-n)*(a-s);if(u===0)return-1;u>0==h>a&&(i=1-i)}}o=l,a=h}while(r!==t);return i},c.Clipper.prototype.Poly2ContainsPoly1=function(e,t){var i=this,r=e;do{var n=i.PointInPolygon(r.Pt,t);if(n>=0)return n>0;r=r.Next}while(r!==e);return!0},c.Clipper.prototype.FixupFirstLefts1=function(e,t){for(var i=this,r,n,s=0,o=this.m_PolyOuts.length;s<o;s++)r=i.m_PolyOuts[s],n=c.Clipper.ParseFirstLeft(r.FirstLeft),r.Pts!==null&&n===e&&i.Poly2ContainsPoly1(r.Pts,t.Pts)&&(r.FirstLeft=t)},c.Clipper.prototype.FixupFirstLefts2=function(e,t){for(var i=this,r=t.FirstLeft,n,s,o=0,a=this.m_PolyOuts.length;o<a;o++)n=i.m_PolyOuts[o],!(n.Pts===null||n===t||n===e)&&(s=c.Clipper.ParseFirstLeft(n.FirstLeft),!(s!==r&&s!==e&&s!==t)&&(i.Poly2ContainsPoly1(n.Pts,e.Pts)?n.FirstLeft=e:i.Poly2ContainsPoly1(n.Pts,t.Pts)?n.FirstLeft=t:(n.FirstLeft===e||n.FirstLeft===t)&&(n.FirstLeft=r)))},c.Clipper.prototype.FixupFirstLefts3=function(e,t){for(var i=this,r,n,s=0,o=this.m_PolyOuts.length;s<o;s++)r=i.m_PolyOuts[s],n=c.Clipper.ParseFirstLeft(r.FirstLeft),r.Pts!==null&&n===e&&(r.FirstLeft=t)},c.Clipper.ParseFirstLeft=function(e){for(;e!==null&&e.Pts===null;)e=e.FirstLeft;return e},c.Clipper.prototype.JoinCommonEdges=function(){for(var e=this,t=0,i=this.m_Joins.length;t<i;t++){var r=e.m_Joins[t],n=e.GetOutRec(r.OutPt1.Idx),s=e.GetOutRec(r.OutPt2.Idx);if(!(n.Pts===null||s.Pts===null)&&!(n.IsOpen||s.IsOpen)){var o;n===s?o=n:e.OutRec1RightOfOutRec2(n,s)?o=s:e.OutRec1RightOfOutRec2(s,n)?o=n:o=e.GetLowermostRec(n,s),e.JoinPoints(r,n,s)&&(n===s?(n.Pts=r.OutPt1,n.BottomPt=null,s=e.CreateOutRec(),s.Pts=r.OutPt2,e.UpdateOutPtIdxs(s),e.Poly2ContainsPoly1(s.Pts,n.Pts)?(s.IsHole=!n.IsHole,s.FirstLeft=n,e.m_UsingPolyTree&&e.FixupFirstLefts2(s,n),(s.IsHole^e.ReverseSolution)==e.Area$1(s)>0&&e.ReversePolyPtLinks(s.Pts)):e.Poly2ContainsPoly1(n.Pts,s.Pts)?(s.IsHole=n.IsHole,n.IsHole=!s.IsHole,s.FirstLeft=n.FirstLeft,n.FirstLeft=s,e.m_UsingPolyTree&&e.FixupFirstLefts2(n,s),(n.IsHole^e.ReverseSolution)==e.Area$1(n)>0&&e.ReversePolyPtLinks(n.Pts)):(s.IsHole=n.IsHole,s.FirstLeft=n.FirstLeft,e.m_UsingPolyTree&&e.FixupFirstLefts1(n,s))):(s.Pts=null,s.BottomPt=null,s.Idx=n.Idx,n.IsHole=o.IsHole,o===s&&(n.FirstLeft=s.FirstLeft),s.FirstLeft=n,e.m_UsingPolyTree&&e.FixupFirstLefts3(s,n)))}}},c.Clipper.prototype.UpdateOutPtIdxs=function(e){var t=e.Pts;do t.Idx=e.Idx,t=t.Prev;while(t!==e.Pts)},c.Clipper.prototype.DoSimplePolygons=function(){for(var e=this,t=0;t<this.m_PolyOuts.length;){var i=e.m_PolyOuts[t++],r=i.Pts;if(!(r===null||i.IsOpen))do{for(var n=r.Next;n!==i.Pts;){if(c.FPoint.op_Equality(r.Pt,n.Pt)&&n.Next!==r&&n.Prev!==r){var s=r.Prev,o=n.Prev;r.Prev=o,o.Next=r,n.Prev=s,s.Next=n,i.Pts=r;var a=e.CreateOutRec();a.Pts=n,e.UpdateOutPtIdxs(a),e.Poly2ContainsPoly1(a.Pts,i.Pts)?(a.IsHole=!i.IsHole,a.FirstLeft=i,e.m_UsingPolyTree&&e.FixupFirstLefts2(a,i)):e.Poly2ContainsPoly1(i.Pts,a.Pts)?(a.IsHole=i.IsHole,i.IsHole=!a.IsHole,a.FirstLeft=i.FirstLeft,i.FirstLeft=a,e.m_UsingPolyTree&&e.FixupFirstLefts2(i,a)):(a.IsHole=i.IsHole,a.FirstLeft=i.FirstLeft,e.m_UsingPolyTree&&e.FixupFirstLefts1(i,a)),n=r}n=n.Next}r=r.Next}while(r!==i.Pts)}},c.Clipper.Area=function(e){if(!Array.isArray(e))return 0;var t=e.length;if(t<3)return 0;for(var i=0,r=0,n=t-1;r<t;++r)i+=(e[n].X+e[r].X)*(e[n].Y-e[r].Y),n=r;return-i*.5},c.Clipper.prototype.Area=function(e){var t=e;if(e===null)return 0;var i=0;do i=i+(e.Prev.Pt.X+e.Pt.X)*(e.Prev.Pt.Y-e.Pt.Y),e=e.Next;while(e!==t);return i*.5},c.Clipper.prototype.Area$1=function(e){return this.Area(e.Pts)},c.Clipper.SimplifyPolygon=function(e,t){var i=new Array,r=new c.Clipper(0);return r.StrictlySimple=!0,r.AddPath(e,c.PolyType.ptSubject,!0),r.Execute(c.ClipType.ctUnion,i,t,t),i},c.Clipper.SimplifyPolygons=function(e,t){typeof t>"u"&&(t=c.PolyFillType.pftEvenOdd);var i=new Array,r=new c.Clipper(0);return r.StrictlySimple=!0,r.AddPaths(e,c.PolyType.ptSubject,!0),r.Execute(c.ClipType.ctUnion,i,t,t),i},c.Clipper.DistanceSqrd=function(e,t){var i=e.X-t.X,r=e.Y-t.Y;return i*i+r*r},c.Clipper.DistanceFromLineSqrd=function(e,t,i){var r=t.Y-i.Y,n=i.X-t.X,s=r*t.X+n*t.Y;return s=r*e.X+n*e.Y-s,s*s/(r*r+n*n)},c.Clipper.SlopesNearCollinear=function(e,t,i,r){return Math.abs(e.X-t.X)>Math.abs(e.Y-t.Y)?e.X>t.X==e.X<i.X?c.Clipper.DistanceFromLineSqrd(e,t,i)<r:t.X>e.X==t.X<i.X?c.Clipper.DistanceFromLineSqrd(t,e,i)<r:c.Clipper.DistanceFromLineSqrd(i,e,t)<r:e.Y>t.Y==e.Y<i.Y?c.Clipper.DistanceFromLineSqrd(e,t,i)<r:t.Y>e.Y==t.Y<i.Y?c.Clipper.DistanceFromLineSqrd(t,e,i)<r:c.Clipper.DistanceFromLineSqrd(i,e,t)<r},c.Clipper.PointsAreClose=function(e,t,i){var r=e.X-t.X,n=e.Y-t.Y;return r*r+n*n<=i},c.Clipper.ExcludeOp=function(e){var t=e.Prev;return t.Next=e.Next,e.Next.Prev=t,t.Idx=0,t},c.Clipper.CleanPolygon=function(e,t){typeof t>"u"&&(t=1.415);var i=e.length;if(i===0)return new Array;for(var r=new Array(i),n=0;n<i;++n)r[n]=new c.OutPt;for(var n=0;n<i;++n)r[n].Pt=e[n],r[n].Next=r[(n+1)%i],r[n].Next.Prev=r[n],r[n].Idx=0;for(var s=t*t,o=r[0];o.Idx===0&&o.Next!==o.Prev;)c.Clipper.PointsAreClose(o.Pt,o.Prev.Pt,s)?(o=c.Clipper.ExcludeOp(o),i--):c.Clipper.PointsAreClose(o.Prev.Pt,o.Next.Pt,s)?(c.Clipper.ExcludeOp(o.Next),o=c.Clipper.ExcludeOp(o),i-=2):c.Clipper.SlopesNearCollinear(o.Prev.Pt,o.Pt,o.Next.Pt,s)?(o=c.Clipper.ExcludeOp(o),i--):(o.Idx=1,o=o.Next);i<3&&(i=0);for(var a=new Array(i),n=0;n<i;++n)a[n]=new c.FPoint1(o.Pt),o=o.Next;return r=null,a},c.Clipper.CleanPolygons=function(e,t){for(var i=new Array(e.length),r=0,n=e.length;r<n;r++)i[r]=c.Clipper.CleanPolygon(e[r],t);return i},c.Clipper.Minkowski=function(e,t,i,r){var n=r?1:0,s=e.length,o=t.length,a=new Array;if(i)for(var l=0;l<o;l++){for(var h=new Array(s),u=0,f=e.length,p=e[u];u<f;u++,p=e[u])h[u]=new c.FPoint2(t[l].X+p.X,t[l].Y+p.Y);a.push(h)}else for(var l=0;l<o;l++){for(var h=new Array(s),u=0,f=e.length,p=e[u];u<f;u++,p=e[u])h[u]=new c.FPoint2(t[l].X-p.X,t[l].Y-p.Y);a.push(h)}for(var d=new Array,l=0;l<o-1+n;l++)for(var u=0;u<s;u++){var v=new Array;v.push(a[l%o][u%s]),v.push(a[(l+1)%o][u%s]),v.push(a[(l+1)%o][(u+1)%s]),v.push(a[l%o][(u+1)%s]),c.Clipper.Orientation(v)||v.reverse(),d.push(v)}return d},c.Clipper.MinkowskiSum=function(e,t,i){if(t[0]instanceof Array){for(var n=t,o=new c.Paths,s=new c.Clipper,a=0;a<n.length;++a){var l=c.Clipper.Minkowski(e,n[a],!0,i);if(s.AddPaths(l,c.PolyType.ptSubject,!0),i){var r=c.Clipper.TranslatePath(n[a],e[0]);s.AddPath(r,c.PolyType.ptClip,!0)}}return s.Execute(c.ClipType.ctUnion,o,c.PolyFillType.pftNonZero,c.PolyFillType.pftNonZero),o}else{var r=t,n=c.Clipper.Minkowski(e,r,!0,i),s=new c.Clipper;return s.AddPaths(n,c.PolyType.ptSubject,!0),s.Execute(c.ClipType.ctUnion,n,c.PolyFillType.pftNonZero,c.PolyFillType.pftNonZero),n}},c.Clipper.TranslatePath=function(e,t){for(var i=new c.Path,r=0;r<e.length;r++)i.push(new c.FPoint2(e[r].X+t.X,e[r].Y+t.Y));return i},c.Clipper.MinkowskiDiff=function(e,t){var i=c.Clipper.Minkowski(e,t,!1,!0),r=new c.Clipper;return r.AddPaths(i,c.PolyType.ptSubject,!0),r.Execute(c.ClipType.ctUnion,i,c.PolyFillType.pftNonZero,c.PolyFillType.pftNonZero),i},c.Clipper.PolyTreeToPaths=function(e){var t=new Array;return c.Clipper.AddPolyNodeToPaths(e,c.Clipper.NodeType.ntAny,t),t},c.Clipper.AddPolyNodeToPaths=function(e,t,i){var r=!0;switch(t){case c.Clipper.NodeType.ntOpen:return;case c.Clipper.NodeType.ntClosed:r=!e.IsOpen;break}e.m_polygon.length>0&&r&&i.push(e.m_polygon);for(var n=0,s=e.Childs(),o=s.length,a=s[n];n<o;n++,a=s[n])c.Clipper.AddPolyNodeToPaths(a,t,i)},c.Clipper.OpenPathsFromPolyTree=function(e){for(var t=new c.Paths,i=0,r=e.ChildCount();i<r;i++)e.Childs()[i].IsOpen&&t.push(e.Childs()[i].m_polygon);return t},c.Clipper.ClosedPathsFromPolyTree=function(e){var t=new c.Paths;return c.Clipper.AddPolyNodeToPaths(e,c.Clipper.NodeType.ntClosed,t),t},vl(c.Clipper,c.ClipperBase),c.Clipper.NodeType={ntAny:0,ntOpen:1,ntClosed:2},c.ClipperOffset=function(e,t){typeof e>"u"&&(e=2),typeof t>"u"&&(t=c.ClipperOffset.def_arc_tolerance),this.m_destPolys=new c.Paths,this.m_srcPoly=new c.Path,this.m_destPoly=new c.Path,this.m_normals=new Array,this.m_delta=0,this.m_sinA=0,this.m_sin=0,this.m_cos=0,this.m_miterLim=0,this.m_StepsPerRad=0,this.m_lowest=new c.FPoint0,this.m_polyNodes=new c.PolyNode,this.MiterLimit=e,this.ArcTolerance=t,this.m_lowest.X=-1},c.ClipperOffset.two_pi=6.28318530717959,c.ClipperOffset.def_arc_tolerance=.25,c.ClipperOffset.prototype.Clear=function(){c.Clear(this.m_polyNodes.Childs()),this.m_lowest.X=-1},c.ClipperOffset.prototype.AddPath=function(e,t,i){var r=e.length-1;if(!(r<0)){var n=new c.PolyNode;if(n.m_jointype=t,n.m_endtype=i,i===c.EndType.etClosedLine||i===c.EndType.etClosedPolygon)for(;r>0&&c.FPoint.op_Equality(e[0],e[r]);)r--;n.m_polygon.push(e[0]);for(var s=0,o=0,a=1;a<=r;a++)c.FPoint.op_Inequality(n.m_polygon[s],e[a])&&(s++,n.m_polygon.push(e[a]),(e[a].Y>n.m_polygon[o].Y||e[a].Y===n.m_polygon[o].Y&&e[a].X<n.m_polygon[o].X)&&(o=s));if(!(i===c.EndType.etClosedPolygon&&s<2)&&(this.m_polyNodes.AddChild(n),i===c.EndType.etClosedPolygon))if(this.m_lowest.X<0)this.m_lowest=new c.FPoint2(this.m_polyNodes.ChildCount()-1,o);else{var l=this.m_polyNodes.Childs()[this.m_lowest.X].m_polygon[this.m_lowest.Y];(n.m_polygon[o].Y>l.Y||n.m_polygon[o].Y===l.Y&&n.m_polygon[o].X<l.X)&&(this.m_lowest=new c.FPoint2(this.m_polyNodes.ChildCount()-1,o))}}},c.ClipperOffset.prototype.AddPaths=function(e,t,i){for(var r=this,n=0,s=e.length;n<s;n++)r.AddPath(e[n],t,i)},c.ClipperOffset.prototype.FixOrientations=function(){var e=this;if(this.m_lowest.X>=0&&!c.Clipper.Orientation(this.m_polyNodes.Childs()[this.m_lowest.X].m_polygon))for(var t=0;t<this.m_polyNodes.ChildCount();t++){var i=e.m_polyNodes.Childs()[t];(i.m_endtype===c.EndType.etClosedPolygon||i.m_endtype===c.EndType.etClosedLine&&c.Clipper.Orientation(i.m_polygon))&&i.m_polygon.reverse()}else for(var t=0;t<this.m_polyNodes.ChildCount();t++){var i=e.m_polyNodes.Childs()[t];i.m_endtype===c.EndType.etClosedLine&&!c.Clipper.Orientation(i.m_polygon)&&i.m_polygon.reverse()}},c.ClipperOffset.GetUnitNormal=function(e,t){var i=t.X-e.X,r=t.Y-e.Y;if(i===0&&r===0)return new c.FPoint2(0,0);var n=1/Math.sqrt(i*i+r*r);return i*=n,r*=n,new c.FPoint2(r,-i)},c.ClipperOffset.prototype.DoOffset=function(e){var t=this;if(this.m_destPolys=new Array,this.m_delta=e,c.ClipperBase.near_zero(e)){for(var i=0;i<this.m_polyNodes.ChildCount();i++){var r=t.m_polyNodes.Childs()[i];r.m_endtype===c.EndType.etClosedPolygon&&t.m_destPolys.push(r.m_polygon)}return}this.MiterLimit>2?this.m_miterLim=2/(this.MiterLimit*this.MiterLimit):this.m_miterLim=.5;var n;this.ArcTolerance<=0?n=c.ClipperOffset.def_arc_tolerance:this.ArcTolerance>Math.abs(e)*c.ClipperOffset.def_arc_tolerance?n=Math.abs(e)*c.ClipperOffset.def_arc_tolerance:n=this.ArcTolerance;var s=3.14159265358979/Math.acos(1-n/Math.abs(e));this.m_sin=Math.sin(c.ClipperOffset.two_pi/s),this.m_cos=Math.cos(c.ClipperOffset.two_pi/s),this.m_StepsPerRad=s/c.ClipperOffset.two_pi,e<0&&(this.m_sin=-this.m_sin);for(var i=0;i<this.m_polyNodes.ChildCount();i++){var r=t.m_polyNodes.Childs()[i];t.m_srcPoly=r.m_polygon;var o=t.m_srcPoly.length;if(!(o===0||e<=0&&(o<3||r.m_endtype!==c.EndType.etClosedPolygon))){if(t.m_destPoly=new Array,o===1){if(r.m_jointype===c.JoinType.jtRound)for(var a=1,l=0,h=1;h<=s;h++){t.m_destPoly.push(new c.FPoint2(t.m_srcPoly[0].X+a*e,t.m_srcPoly[0].Y+l*e));var u=a;a=a*t.m_cos-t.m_sin*l,l=u*t.m_sin+l*t.m_cos}else for(var a=-1,l=-1,h=0;h<4;++h)t.m_destPoly.push(new c.FPoint2(t.m_srcPoly[0].X+a*e,t.m_srcPoly[0].Y+l*e)),a<0?a=1:l<0?l=1:a=-1;t.m_destPolys.push(t.m_destPoly);continue}t.m_normals.length=0;for(var h=0;h<o-1;h++)t.m_normals.push(c.ClipperOffset.GetUnitNormal(t.m_srcPoly[h],t.m_srcPoly[h+1]));if(r.m_endtype===c.EndType.etClosedLine||r.m_endtype===c.EndType.etClosedPolygon?t.m_normals.push(c.ClipperOffset.GetUnitNormal(t.m_srcPoly[o-1],t.m_srcPoly[0])):t.m_normals.push(new c.FPoint1(t.m_normals[o-2])),r.m_endtype===c.EndType.etClosedPolygon){for(var f=o-1,h=0;h<o;h++)f=t.OffsetPoint(h,f,r.m_jointype);t.m_destPolys.push(t.m_destPoly)}else if(r.m_endtype===c.EndType.etClosedLine){for(var f=o-1,h=0;h<o;h++)f=t.OffsetPoint(h,f,r.m_jointype);t.m_destPolys.push(t.m_destPoly),t.m_destPoly=new Array;for(var p=t.m_normals[o-1],h=o-1;h>0;h--)t.m_normals[h]=new c.FPoint2(-t.m_normals[h-1].X,-t.m_normals[h-1].Y);t.m_normals[0]=new c.FPoint2(-p.X,-p.Y),f=0;for(var h=o-1;h>=0;h--)f=t.OffsetPoint(h,f,r.m_jointype);t.m_destPolys.push(t.m_destPoly)}else{for(var f=0,h=1;h<o-1;++h)f=t.OffsetPoint(h,f,r.m_jointype);var d;if(r.m_endtype===c.EndType.etOpenButt){var h=o-1;d=new c.FPoint2(t.m_srcPoly[h].X+t.m_normals[h].X*e,t.m_srcPoly[h].Y+t.m_normals[h].Y*e),t.m_destPoly.push(d),d=new c.FPoint2(t.m_srcPoly[h].X-t.m_normals[h].X*e,t.m_srcPoly[h].Y-t.m_normals[h].Y*e),t.m_destPoly.push(d)}else{var h=o-1;f=o-2,t.m_sinA=0,t.m_normals[h]=new c.FPoint2(-t.m_normals[h].X,-t.m_normals[h].Y),r.m_endtype===c.EndType.etOpenSquare?t.DoSquare(h,f):t.DoRound(h,f)}for(var h=o-1;h>0;h--)t.m_normals[h]=new c.FPoint2(-t.m_normals[h-1].X,-t.m_normals[h-1].Y);t.m_normals[0]=new c.FPoint2(-t.m_normals[1].X,-t.m_normals[1].Y),f=o-1;for(var h=f-1;h>0;--h)f=t.OffsetPoint(h,f,r.m_jointype);r.m_endtype===c.EndType.etOpenButt?(d=new c.FPoint2(t.m_srcPoly[0].X-t.m_normals[0].X*e,t.m_srcPoly[0].Y-t.m_normals[0].Y*e),t.m_destPoly.push(d),d=new c.FPoint2(t.m_srcPoly[0].X+t.m_normals[0].X*e,t.m_srcPoly[0].Y+t.m_normals[0].Y*e),t.m_destPoly.push(d)):(f=1,t.m_sinA=0,r.m_endtype===c.EndType.etOpenSquare?t.DoSquare(0,1):t.DoRound(0,1)),t.m_destPolys.push(t.m_destPoly)}}}},c.ClipperOffset.prototype.Execute=function(){var e=arguments,t=e[0]instanceof c.PolyTree;if(t){var i=e[0],r=e[1];i.Clear(),this.FixOrientations(),this.DoOffset(r);var n=new c.Clipper(0);if(n.AddPaths(this.m_destPolys,c.PolyType.ptSubject,!0),r>0)n.Execute(c.ClipType.ctUnion,i,c.PolyFillType.pftPositive,c.PolyFillType.pftPositive);else{var s=c.Clipper.GetBounds(this.m_destPolys),o=new c.Path;if(o.push(new c.FPoint2(s.left-10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.top-10)),o.push(new c.FPoint2(s.left-10,s.top-10)),n.AddPath(o,c.PolyType.ptSubject,!0),n.ReverseSolution=!0,n.Execute(c.ClipType.ctUnion,i,c.PolyFillType.pftNegative,c.PolyFillType.pftNegative),i.ChildCount()===1&&i.Childs()[0].ChildCount()>0){var a=i.Childs()[0];i.Childs()[0]=a.Childs()[0],i.Childs()[0].m_Parent=i;for(var l=1;l<a.ChildCount();l++)i.AddChild(a.Childs()[l])}else i.Clear()}}else{var i=e[0],r=e[1];c.Clear(i),this.FixOrientations(),this.DoOffset(r);var n=new c.Clipper(0);if(n.AddPaths(this.m_destPolys,c.PolyType.ptSubject,!0),r>0)n.Execute(c.ClipType.ctUnion,i,c.PolyFillType.pftPositive,c.PolyFillType.pftPositive);else{var s=c.Clipper.GetBounds(this.m_destPolys),o=new c.Path;o.push(new c.FPoint2(s.left-10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.bottom+10)),o.push(new c.FPoint2(s.right+10,s.top-10)),o.push(new c.FPoint2(s.left-10,s.top-10)),n.AddPath(o,c.PolyType.ptSubject,!0),n.ReverseSolution=!0,n.Execute(c.ClipType.ctUnion,i,c.PolyFillType.pftNegative,c.PolyFillType.pftNegative),i.length>0&&i.splice(0,1)}}},c.ClipperOffset.prototype.OffsetPoint=function(e,t,i){if(this.m_sinA=this.m_normals[t].X*this.m_normals[e].Y-this.m_normals[e].X*this.m_normals[t].Y,this.m_sinA===0)return t;if(this.m_sinA>1?this.m_sinA=1:this.m_sinA<-1&&(this.m_sinA=-1),this.m_sinA*this.m_delta<0)this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[e].X+this.m_normals[t].X*this.m_delta,this.m_srcPoly[e].Y+this.m_normals[t].Y*this.m_delta)),this.m_destPoly.push(new c.FPoint1(this.m_srcPoly[e])),this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[e].X+this.m_normals[e].X*this.m_delta,this.m_srcPoly[e].Y+this.m_normals[e].Y*this.m_delta));else switch(i){case c.JoinType.jtMiter:var r=1+(this.m_normals[e].X*this.m_normals[t].X+this.m_normals[e].Y*this.m_normals[t].Y);r>=this.m_miterLim?this.DoMiter(e,t,r):this.DoSquare(e,t);break;case c.JoinType.jtSquare:this.DoSquare(e,t);break;case c.JoinType.jtRound:this.DoRound(e,t);break}return t=e,t},c.ClipperOffset.prototype.DoSquare=function(e,t){var i=Math.tan(Math.atan2(this.m_sinA,this.m_normals[t].X*this.m_normals[e].X+this.m_normals[t].Y*this.m_normals[e].Y)/4);this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[e].X+this.m_delta*(this.m_normals[t].X-this.m_normals[t].Y*i),this.m_srcPoly[e].Y+this.m_delta*(this.m_normals[t].Y+this.m_normals[t].X*i))),this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[e].X+this.m_delta*(this.m_normals[e].X+this.m_normals[e].Y*i),this.m_srcPoly[e].Y+this.m_delta*(this.m_normals[e].Y-this.m_normals[e].X*i)))},c.ClipperOffset.prototype.DoMiter=function(e,t,i){var r=this.m_delta/i;this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[e].X+(this.m_normals[t].X+this.m_normals[e].X)*r,this.m_srcPoly[e].Y+(this.m_normals[t].Y+this.m_normals[e].Y)*r))},c.ClipperOffset.prototype.DoRound=function(e,t){for(var i=this,r=Math.atan2(this.m_sinA,this.m_normals[t].X*this.m_normals[e].X+this.m_normals[t].Y*this.m_normals[e].Y),n=Math.max(Math.round(this.m_StepsPerRad*Math.abs(r)),1),s=this.m_normals[t].X,o=this.m_normals[t].Y,a,l=0;l<n;++l)i.m_destPoly.push(new c.FPoint2(i.m_srcPoly[e].X+s*i.m_delta,i.m_srcPoly[e].Y+o*i.m_delta)),a=s,s=s*i.m_cos-i.m_sin*o,o=a*i.m_sin+o*i.m_cos;this.m_destPoly.push(new c.FPoint2(this.m_srcPoly[e].X+this.m_normals[e].X*this.m_delta,this.m_srcPoly[e].Y+this.m_normals[e].Y*this.m_delta))},c.Error=function(e){try{throw new Error(e)}catch(t){alert(t.message)}},c.JS={},c.JS.AreaOfPolygon=function(e){return c.Clipper.Area(e)},c.JS.AreaOfPolygons=function(e){for(var t=0,i=0;i<e.length;i++)t+=c.Clipper.Area(e[i]);return t},c.JS.BoundsOfPath=function(e){return c.JS.BoundsOfPaths([e])},c.JS.BoundsOfPaths=function(e){var t=c.Clipper.GetBounds(e);return t},c.JS.Clean=function(r,t){if(!(r instanceof Array))return[];var i=r[0]instanceof Array,r=c.JS.Clone(r);if(typeof t!="number"||t===null)return c.Error("Delta is not a number in Clean()."),r;if(r.length===0||r.length===1&&r[0].length===0||t<0)return r;i||(r=[r]);for(var n=r.length,s,o,a,l,h,u,f,p=[],d=0;d<n;d++)if(o=r[d],s=o.length,s!==0){if(s<3){a=o,p.push(a);continue}for(a=o,l=t*t,h=o[0],u=1,f=1;f<s;f++)(o[f].X-h.X)*(o[f].X-h.X)+(o[f].Y-h.Y)*(o[f].Y-h.Y)<=l||(a[u]=o[f],h=o[f],u++);h=o[u-1],(o[0].X-h.X)*(o[0].X-h.X)+(o[0].Y-h.Y)*(o[0].Y-h.Y)<=l&&u--,u<s&&a.splice(u,s-u),a.length&&p.push(a)}return!i&&p.length?p=p[0]:!i&&p.length===0?p=[]:i&&p.length===0&&(p=[[]]),p},c.JS.Clone=function(e){if(!(e instanceof Array))return[];if(e.length===0)return[];if(e.length===1&&e[0].length===0)return[[]];var t=e[0]instanceof Array;t||(e=[e]);var i=e.length,r,n,s,o,a=new Array(i);for(n=0;n<i;n++){for(r=e[n].length,o=new Array(r),s=0;s<r;s++)o[s]={X:e[n][s].X,Y:e[n][s].Y};a[n]=o}return t||(a=a[0]),a},c.JS.Lighten=function(e,t){if(!(e instanceof Array))return[];if(typeof t!="number"||t===null)return c.Error("Tolerance is not a number in Lighten()."),c.JS.Clone(e);if(e.length===0||e.length===1&&e[0].length===0||t<0)return c.JS.Clone(e);var i=e[0]instanceof Array;i||(e=[e]);var r,n,s,o,a,l,h,u,f,p,d,v,y,m,g,w,_,T=e.length,x=t*t,P=[];for(r=0;r<T;r++)if(s=e[r],l=s.length,l!==0){for(o=0;o<1e6;o++){for(a=[],l=s.length,s[l-1].X!==s[0].X||s[l-1].Y!==s[0].Y?(v=1,s.push({X:s[0].X,Y:s[0].Y}),l=s.length):v=0,d=[],n=0;n<l-2;n++)h=s[n],f=s[n+1],u=s[n+2],w=h.X,_=h.Y,y=u.X-w,m=u.Y-_,(y!==0||m!==0)&&(g=((f.X-w)*y+(f.Y-_)*m)/(y*y+m*m),g>1?(w=u.X,_=u.Y):g>0&&(w+=y*g,_+=m*g)),y=f.X-w,m=f.Y-_,p=y*y+m*m,p<=x&&(d[n+1]=1,n++);for(a.push({X:s[0].X,Y:s[0].Y}),n=1;n<l-1;n++)d[n]||a.push({X:s[n].X,Y:s[n].Y});if(a.push({X:s[l-1].X,Y:s[l-1].Y}),v&&s.pop(),d.length)s=a;else break}l=a.length,a[l-1].X===a[0].X&&a[l-1].Y===a[0].Y&&a.pop(),a.length>2&&P.push(a)}return i||(P=P[0]),typeof P>"u"&&(P=[]),P},c.JS.PerimeterOfPath=function(e,t){if(typeof e>"u")return 0;var i=Math.sqrt,r=0,n,s,o=0,a=0,l=0,h=0,u=e.length;if(u<2)return 0;for(t&&(e[u]=e[0],u++);--u;)n=e[u],o=n.X,a=n.Y,s=e[u-1],l=s.X,h=s.Y,r+=i((o-l)*(o-l)+(a-h)*(a-h));return t&&e.pop(),r},c.JS.PerimeterOfPaths=function(e,t){for(var i=0,r=0;r<e.length;r++)i+=c.JS.PerimeterOfPath(e[r],t);return i},c.ExPolygons=function(){return[]},c.ExPolygon=function(){this.outer=null,this.holes=null},c.JS.AddOuterPolyNodeToExPolygons=function(e,t){var i=new c.ExPolygon;i.outer=e.Contour();var r=e.Childs(),n=r.length;i.holes=new Array(n);var s,o,a,l,h,u;for(a=0;a<n;a++)for(s=r[a],i.holes[a]=s.Contour(),l=0,h=s.Childs(),u=h.length;l<u;l++)o=h[l],c.JS.AddOuterPolyNodeToExPolygons(o,t);t.push(i)},c.JS.ExPolygonsToPaths=function(e){var t,i,r,n,s=new c.Paths;for(t=0,r=e.length;t<r;t++)for(s.push(e[t].outer),i=0,n=e[t].holes.length;i<n;i++)s.push(e[t].holes[i]);return s},c.JS.PolyTreeToExPolygons=function(e){var t=new c.ExPolygons,i,r,n,s;for(r=0,n=e.Childs(),s=n.length;r<s;r++)i=n[r],c.JS.AddOuterPolyNodeToExPolygons(i,t);return t};var U=c,gs={exports:{}};class ay{constructor(t=[],i=ly){if(this.data=t,this.length=this.data.length,this.compare=i,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(t){this.data.push(t),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const t=this.data[0],i=this.data.pop();return this.length--,this.length>0&&(this.data[0]=i,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:i,compare:r}=this,n=i[t];for(;t>0;){const s=t-1>>1,o=i[s];if(r(n,o)>=0)break;i[t]=o,t=s}i[t]=n}_down(t){const{data:i,compare:r}=this,n=this.length>>1,s=i[t];for(;t<n;){let o=(t<<1)+1,a=i[o];const l=o+1;if(l<this.length&&r(i[l],a)<0&&(o=l,a=i[l]),r(a,s)>=0)break;i[t]=a,t=o}i[t]=s}}function ly(e,t){return e<t?-1:e>t?1:0}var hy=Object.freeze({__proto__:null,default:ay}),uy=$h(hy),gr=uy;gr.default&&(gr=gr.default),gs.exports=ml,gs.exports.default=ml;function ml(e,t,i){t=t||1;for(var r,n,s,o,a=0;a<e[0].length;a++){var l=e[0][a];(!a||l[0]<r)&&(r=l[0]),(!a||l[1]<n)&&(n=l[1]),(!a||l[0]>s)&&(s=l[0]),(!a||l[1]>o)&&(o=l[1])}var h=s-r,u=o-n,f=Math.min(h,u),p=f/2;if(f===0){var d=[r,n];return d.distance=0,d}for(var v=new gr(void 0,fy),y=r;y<s;y+=f)for(var m=n;m<o;m+=f)v.push(new ne(y+p,m+p,p,e));var g=py(e),w=new ne(r+h/2,n+u/2,0,e);w.d>g.d&&(g=w);for(var _=v.length;v.length;){var T=v.pop();T.d>g.d&&(g=T,i&&console.log("found best %d after %d probes",Math.round(1e4*T.d)/1e4,_)),!(T.max-g.d<=t)&&(p=T.h/2,v.push(new ne(T.x-p,T.y-p,p,e)),v.push(new ne(T.x+p,T.y-p,p,e)),v.push(new ne(T.x-p,T.y+p,p,e)),v.push(new ne(T.x+p,T.y+p,p,e)),_+=4)}i&&(console.log("num probes: "+_),console.log("best distance: "+g.d));var x=[g.x,g.y];return x.distance=g.d,x}function fy(e,t){return t.max-e.max}function ne(e,t,i,r){this.x=e,this.y=t,this.h=i,this.d=cy(e,t,r),this.max=this.d+this.h*Math.SQRT2}function cy(e,t,i){for(var r=!1,n=1/0,s=0;s<i.length;s++)for(var o=i[s],a=0,l=o.length,h=l-1;a<l;h=a++){var u=o[a],f=o[h];u[1]>t!=f[1]>t&&e<(f[0]-u[0])*(t-u[1])/(f[1]-u[1])+u[0]&&(r=!r),n=Math.min(n,dy(e,t,u,f))}return n===0?0:(r?1:-1)*Math.sqrt(n)}function py(e){for(var t=0,i=0,r=0,n=e[0],s=0,o=n.length,a=o-1;s<o;a=s++){var l=n[s],h=n[a],u=l[0]*h[1]-h[0]*l[1];i+=(l[0]+h[0])*u,r+=(l[1]+h[1])*u,t+=u*3}return t===0?new ne(n[0][0],n[0][1],0,e):new ne(i/t,r/t,0,e)}function dy(e,t,i,r){var n=i[0],s=i[1],o=r[0]-n,a=r[1]-s;if(o!==0||a!==0){var l=((e-n)*o+(t-s)*a)/(o*o+a*a);l>1?(n=r[0],s=r[1]):l>0&&(n+=o*l,s+=a*l)}return o=e-n,a=t-s,o*o+a*a}var vy=1e-6,vt=typeof Float32Array<"u"?Float32Array:Array;Math.hypot||(Math.hypot=function(){for(var e=0,t=arguments.length;t--;)e+=arguments[t]*arguments[t];return Math.sqrt(e)});function yl(){var e=new vt(6);return vt!=Float32Array&&(e[1]=0,e[2]=0,e[4]=0,e[5]=0),e[0]=1,e[3]=1,e}function my(e,t,i){var r=t[0],n=t[1],s=t[2],o=t[3],a=t[4],l=t[5],h=Math.sin(i),u=Math.cos(i);return e[0]=r*u+s*h,e[1]=n*u+o*h,e[2]=r*-h+s*u,e[3]=n*-h+o*u,e[4]=a,e[5]=l,e}function yy(e,t,i){var r=t[0],n=t[1],s=t[2],o=t[3],a=t[4],l=t[5],h=i[0],u=i[1];return e[0]=r,e[1]=n,e[2]=s,e[3]=o,e[4]=r*h+s*u+a,e[5]=n*h+o*u+l,e}function gy(e,t){var i=Math.sin(t),r=Math.cos(t);return e[0]=r,e[1]=i,e[2]=-i,e[3]=r,e[4]=0,e[5]=0,e}function _y(e,t){return e[0]=1,e[1]=0,e[2]=0,e[3]=1,e[4]=t[0],e[5]=t[1],e}function xy(){var e=new vt(9);return vt!=Float32Array&&(e[1]=0,e[2]=0,e[3]=0,e[5]=0,e[6]=0,e[7]=0),e[0]=1,e[4]=1,e[8]=1,e}function gl(){var e=new vt(3);return vt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e}function wy(e){var t=e[0],i=e[1],r=e[2];return Math.hypot(t,i,r)}function _l(e,t,i){var r=new vt(3);return r[0]=e,r[1]=t,r[2]=i,r}function Py(e,t){var i=t[0],r=t[1],n=t[2],s=i*i+r*r+n*n;return s>0&&(s=1/Math.sqrt(s)),e[0]=t[0]*s,e[1]=t[1]*s,e[2]=t[2]*s,e}function Ty(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function _s(e,t,i){var r=t[0],n=t[1],s=t[2],o=i[0],a=i[1],l=i[2];return e[0]=n*l-s*a,e[1]=s*o-r*l,e[2]=r*a-n*o,e}var by=wy;(function(){var e=gl();return function(t,i,r,n,s,o){var a,l;for(i||(i=3),r||(r=0),n?l=Math.min(n*i+r,t.length):l=t.length,a=r;a<l;a+=i)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],s(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2];return t}})();function Iy(){var e=new vt(4);return vt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0,e[3]=0),e}function Cy(e,t){var i=t[0],r=t[1],n=t[2],s=t[3],o=i*i+r*r+n*n+s*s;return o>0&&(o=1/Math.sqrt(o)),e[0]=i*o,e[1]=r*o,e[2]=n*o,e[3]=s*o,e}(function(){var e=Iy();return function(t,i,r,n,s,o){var a,l;for(i||(i=4),r||(r=0),n?l=Math.min(n*i+r,t.length):l=t.length,a=r;a<l;a+=i)e[0]=t[a],e[1]=t[a+1],e[2]=t[a+2],e[3]=t[a+3],s(e,e,o),t[a]=e[0],t[a+1]=e[1],t[a+2]=e[2],t[a+3]=e[3];return t}})();function xl(){var e=new vt(4);return vt!=Float32Array&&(e[0]=0,e[1]=0,e[2]=0),e[3]=1,e}function Ey(e,t,i){i=i*.5;var r=Math.sin(i);return e[0]=r*t[0],e[1]=r*t[1],e[2]=r*t[2],e[3]=Math.cos(i),e}function xs(e,t,i,r){var n=t[0],s=t[1],o=t[2],a=t[3],l=i[0],h=i[1],u=i[2],f=i[3],p,d,v,y,m;return d=n*l+s*h+o*u+a*f,d<0&&(d=-d,l=-l,h=-h,u=-u,f=-f),1-d>vy?(p=Math.acos(d),v=Math.sin(p),y=Math.sin((1-r)*p)/v,m=Math.sin(r*p)/v):(y=1-r,m=r),e[0]=y*n+m*l,e[1]=y*s+m*h,e[2]=y*o+m*u,e[3]=y*a+m*f,e}function Ay(e,t){var i=t[0]+t[4]+t[8],r;if(i>0)r=Math.sqrt(i+1),e[3]=.5*r,r=.5/r,e[0]=(t[5]-t[7])*r,e[1]=(t[6]-t[2])*r,e[2]=(t[1]-t[3])*r;else{var n=0;t[4]>t[0]&&(n=1),t[8]>t[n*3+n]&&(n=2);var s=(n+1)%3,o=(n+2)%3;r=Math.sqrt(t[n*3+n]-t[s*3+s]-t[o*3+o]+1),e[n]=.5*r,r=.5/r,e[3]=(t[s*3+o]-t[o*3+s])*r,e[s]=(t[s*3+n]+t[n*3+s])*r,e[o]=(t[o*3+n]+t[n*3+o])*r}return e}var wl=Cy;(function(){var e=gl(),t=_l(1,0,0),i=_l(0,1,0);return function(r,n,s){var o=Ty(n,s);return o<-.999999?(_s(e,t,n),by(e)<1e-6&&_s(e,i,n),Py(e,e),Ey(r,e,Math.PI),r):o>.999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(_s(e,n,s),r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=1+o,wl(r,r))}})(),function(){var e=xl(),t=xl();return function(i,r,n,s,o,a){return xs(e,r,o,a),xs(t,n,s,a),xs(i,e,t,2*a*(1-a)),i}}(),function(){var e=xy();return function(t,i,r,n){return e[0]=r[0],e[3]=r[1],e[6]=r[2],e[1]=n[0],e[4]=n[1],e[7]=n[2],e[2]=-i[0],e[5]=-i[1],e[8]=-i[2],wl(t,Ay(t,e))}}();function _r(){var e=new vt(2);return vt!=Float32Array&&(e[0]=0,e[1]=0),e}function xr(e,t){var i=new vt(2);return i[0]=e,i[1]=t,i}function Sy(e,t){return e[0]=-t[0],e[1]=-t[1],e}function Pl(e,t,i){var r=t[0],n=t[1];return e[0]=i[0]*r+i[2]*n+i[4],e[1]=i[1]*r+i[3]*n+i[5],e}(function(){var e=_r();return function(t,i,r,n,s,o){var a,l;for(i||(i=2),r||(r=0),n?l=Math.min(n*i+r,t.length):l=t.length,a=r;a<l;a+=i)e[0]=t[a],e[1]=t[a+1],s(e,e,o),t[a]=e[0],t[a+1]=e[1];return t}})();var Tl={exports:{}};function ws(){}ws.prototype={on:function(e,t,i){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:i}),this},once:function(e,t,i){var r=this;function n(){r.off(e,n),t.apply(i,arguments)}return n._=t,this.on(e,n,i)},emit:function(e){var t=[].slice.call(arguments,1),i=((this.e||(this.e={}))[e]||[]).slice(),r=0,n=i.length;for(r;r<n;r++)i[r].fn.apply(i[r].ctx,t);return this},off:function(e,t){var i=this.e||(this.e={}),r=i[e],n=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&n.push(r[s]);return n.length?i[e]=n:delete i[e],this}},Tl.exports=ws;var Ps=Tl.exports.TinyEmitter=ws,bl={exports:{}};(function(e,t){var i=function(){var r={},n=Math.PI/180,s=180/Math.PI,o=6378137,a=20037508342789244e-9;function l(u){return Number(u)===u&&u%1!==0}function h(u){if(u=u||{},this.size=u.size||256,this.expansion=u.antimeridian===!0?2:1,!r[this.size]){var f=this.size,p=r[this.size]={};p.Bc=[],p.Cc=[],p.zc=[],p.Ac=[];for(var d=0;d<30;d++)p.Bc.push(f/360),p.Cc.push(f/(2*Math.PI)),p.zc.push(f/2),p.Ac.push(f),f*=2}this.Bc=r[this.size].Bc,this.Cc=r[this.size].Cc,this.zc=r[this.size].zc,this.Ac=r[this.size].Ac}return h.prototype.px=function(u,f){if(l(f)){var p=this.size*Math.pow(2,f),d=p/2,v=p/360,y=p/(2*Math.PI),m=p,g=Math.min(Math.max(Math.sin(n*u[1]),-.9999),.9999),w=d+u[0]*v,_=d+.5*Math.log((1+g)/(1-g))*-y;return w>m*this.expansion&&(w=m*this.expansion),_>m&&(_=m),[w,_]}else{var d=this.zc[f],g=Math.min(Math.max(Math.sin(n*u[1]),-.9999),.9999),w=Math.round(d+u[0]*this.Bc[f]),_=Math.round(d+.5*Math.log((1+g)/(1-g))*-this.Cc[f]);return w>this.Ac[f]*this.expansion&&(w=this.Ac[f]*this.expansion),_>this.Ac[f]&&(_=this.Ac[f]),[w,_]}},h.prototype.ll=function(u,f){if(l(f)){var p=this.size*Math.pow(2,f),d=p/360,v=p/(2*Math.PI),y=p/2,m=(u[1]-y)/-v,g=(u[0]-y)/d,w=s*(2*Math.atan(Math.exp(m))-.5*Math.PI);return[g,w]}else{var m=(u[1]-this.zc[f])/-this.Cc[f],g=(u[0]-this.zc[f])/this.Bc[f],w=s*(2*Math.atan(Math.exp(m))-.5*Math.PI);return[g,w]}},h.prototype.bbox=function(u,f,p,d,v){d&&(f=Math.pow(2,p)-1-f);var y=[u*this.size,(+f+1)*this.size],m=[(+u+1)*this.size,f*this.size],g=this.ll(y,p).concat(this.ll(m,p));return v==="900913"?this.convert(g,"900913"):g},h.prototype.xyz=function(u,f,p,d){d==="900913"&&(u=this.convert(u,"WGS84"));var v=[u[0],u[1]],y=[u[2],u[3]],m=this.px(v,f),g=this.px(y,f),w=[Math.floor(m[0]/this.size),Math.floor((g[0]-1)/this.size)],_=[Math.floor(g[1]/this.size),Math.floor((m[1]-1)/this.size)],T={minX:Math.min.apply(Math,w)<0?0:Math.min.apply(Math,w),minY:Math.min.apply(Math,_)<0?0:Math.min.apply(Math,_),maxX:Math.max.apply(Math,w),maxY:Math.max.apply(Math,_)};if(p){var x={minY:Math.pow(2,f)-1-T.maxY,maxY:Math.pow(2,f)-1-T.minY};T.minY=x.minY,T.maxY=x.maxY}return T},h.prototype.convert=function(u,f){return f==="900913"?this.forward(u.slice(0,2)).concat(this.forward(u.slice(2,4))):this.inverse(u.slice(0,2)).concat(this.inverse(u.slice(2,4)))},h.prototype.forward=function(u){var f=[o*u[0]*n,o*Math.log(Math.tan(Math.PI*.25+.5*u[1]*n))];return f[0]>a&&(f[0]=a),f[0]<-a&&(f[0]=-a),f[1]>a&&(f[1]=a),f[1]<-a&&(f[1]=-a),f},h.prototype.inverse=function(u){return[u[0]*s/o,(Math.PI*.5-2*Math.atan(Math.exp(-u[1]/o)))*s]},h}();e.exports=i})(bl);var Ny=bl.exports;function Il(e,t){t||(t={x:0,z:0});const i=Oy(t,e);return Math.sqrt(i.x*i.x+i.z*i.z)}function Cl(e){const t=Il(e);return{x:e.x/t,z:e.z/t}}function Ly(e,t){return e||(e={x:0,z:0}),Ry(Math.atan2(-t.z+e.z,t.x-e.x)*180/Math.PI,2)}function Oy(e,t){return{x:e.x-t.x,z:e.z-t.z}}function Ry(e,t=0){const i=Math.pow(10,t);return Math.round(e*i)/i}function wr(e){const t=Pt(e),i=U.Clipper.GetBounds(t);return{x:i.left,x2:i.right,z:i.top,z2:i.bottom,length:i.right-i.left,width:i.bottom-i.top}}function El(e){if(Array.isArray(e)){if(!e.length||!e[0])throw new Error("Union failed, empty Array")}else throw new Error("Union failed, input not Array");const t=Pt(e),i=[t[0]],r=t.slice(1),n=new U.Clipper;n.AddPaths(i,U.PolyType.ptSubject,!0),n.AddPaths(r,U.PolyType.ptClip,!0);var s=new U.Paths;return n.Execute(U.ClipType.ctUnion,s,U.PolyFillType.pftNonZero,U.PolyFillType.pftNonZero),Ci(s)}var Al;(function(e){e[e.etOpenSquare=0]="etOpenSquare",e[e.etOpenRound=1]="etOpenRound",e[e.etOpenButt=2]="etOpenButt",e[e.etClosedLine=3]="etClosedLine",e[e.etClosedPolygon=4]="etClosedPolygon"})(Al||(Al={}));function Pr(e,t=.1,i,r){if(i===void 0&&(i=U.EndType.etClosedPolygon),e=r?e:Sl(e),!e.length||!e[0].length)return[];t=t&&typeof t=="number"?t:.1;const s=Pt(e),o=new U.ClipperOffset(2),a=new U.Paths;return o.AddPaths(s,U.JoinType.jtMiter,i),o.Execute(a,t),Ci(a)}function My(e,t,i,r){if(Array.isArray(e)){if(!e.length||!e[0])throw new Error("Difference failed, empty Array")}else throw new Error("Difference failed, input not Array");const n=Pt(e),s=Pt(i?Pr(t,i):t),o=new U.Clipper;o.AddPaths(n,U.PolyType.ptSubject,!r),o.AddPaths(s,U.PolyType.ptClip,!0);var a=r?new U.PolyTree:new U.Paths;o.Execute(U.ClipType.ctDifference,a,U.PolyFillType.pftNonZero,U.PolyFillType.pftNonZero);var l=r?U.Clipper.PolyTreeToPaths(a):a;return Ci(l)}function Fy(e=[],t=[],i=!1){if(Array.isArray(e)){if(!e.length||!e[0])throw new Error("Intersection failed, empty Array")}else throw new Error("Intersection failed, input not Array");const r=Pt(e),n=t.length&&Pt(t),s=n?r:[r[0]],o=n||r.slice(1),a=new U.Clipper;a.AddPaths(s,U.PolyType.ptSubject,!i),a.AddPaths(o,U.PolyType.ptClip,!0);var l=U.PolyFillType.pftNonZero,h=U.PolyFillType.pftNonZero,u=U.ClipType.ctIntersection,f=i?new U.PolyTree:new U.Paths;a.Execute(u,f,l,h);var p=i?U.Clipper.PolyTreeToPaths(f):f;return Ci(p)}function qe(e,t,i=[]){const r=new U.FPoint(e[0],e[1]),n=Pt([t])[0];let s=U.Clipper.PointInPolygon(r,n);return i.forEach(o=>{let a=qe(e,o);a===1?s=0:a===-1&&(s=-1)}),s}function Ee(e){let t=Pt([e]);return U.JS.AreaOfPolygon(t[0])}function Ii(e){return Math.abs(Ee(e))}function Sl(e,t=.01){let i=Pt(e);const r=U.Clipper.CleanPolygons(i,t);return Ci(r)}function Nl(e,t=.01){return Sl([e],t)[0]}function Pt(e=[]){let t=[];for(var i=0;i<e.length;i++){var r=e[i]||[];t[i]=[];for(var n=0;n<r.length;n++){var s=r[n];Number.isFinite(s[0])&&Number.isFinite(s[1])?t[i][n]={X:s[0],Y:s[1]}:console.warn("invalid number",s[0],s[1])}}const o=[];for(const a of t)!a.length?console.warn("empty polygon"):o.push(a);if(!o.length)throw new Error("empty polygon invalid input");return o}function Ci(e){let t=[];for(var i=0;i<e.length;i++){var r=e[i]||[];t[i]=[];for(var n=0;n<r.length;n++){var s=r[n];t[i][n]=[s.X,s.Y]}}return t}function ky(e){let t=[1/0,1/0],i=[-1/0,-1/0];return e.forEach(r=>{r[0]<t[0]&&(t[0]=r[0]),r[1]<t[1]&&(t[1]=r[1]),r[0]>i[0]&&(i[0]=r[0]),r[1]>i[1]&&(i[1]=r[1])}),{min:t,max:i}}function By(e,t=!0){let i=0;const r=t?e.length:e.length-1;for(var n=0;n<r;n++){let s={x:e[n][0],z:e[n][1]},o={x:e[n<e.length-1?n+1:0][0],z:e[n<e.length-1?n+1:0][1]};i+=Il(s,o)}return i}function Uy(e){const{min:t,max:i}=ky(e);return[t[0]+(i[0]-t[0])/2,t[1]+(i[1]-t[1])/2]}function Ll(e,t=[]){return Ii(e)<.1?Uy(e):gs.exports([e,...t],.1)}function Ts(e,t,i=!1){let r=0,n=t.x,s=t.z;if(t.controlLine&&t.w&&(r=t.controlLine==="front"?t.w:t.controlLine==="center"?t.w/2:0),r){let v=t.ry/180*Math.PI;n-=r*Math.sin(v),s-=r*Math.cos(v)}const o=e.ry||0,a=t.ry||0,l=xr(e.x,e.z),h=xr(n,s),u=-a*Math.PI/180;let f=yl(),p=_r();_y(f,h),my(f,f,u),Pl(p,l,f);const d={x:p[0],z:p[1],y:e.y+t.y||0,ry:o+a};return i?Object.assign(e,d):Object.assign({},e,d)}function Dy(e,t,i=!1){let r=0,n=t.x,s=t.z;if(t.controlLine&&t.w&&(r=t.controlLine==="front"?t.w:t.controlLine==="center"?t.w/2:0),r){let y=t.ry/180*Math.PI;n-=r*Math.sin(y),s-=r*Math.cos(y)}const o=e.ry||0,a=t.ry||0,l=xr(e.x,e.z),h=xr(n,s),u=a*Math.PI/180;let f=yl(),p=_r(),d=_r();Sy(d,h),gy(f,u),yy(f,f,d),Pl(p,l,f);const v={x:p[0],z:p[1],y:e.y-t.y||0,ry:o-a};return i?Object.assign(e,v):Object.assign({},e,v)}function Xy(e){if(typeof e!="object")throw new Error("Get el data, invalid type");let{x:t,z:i,l:r,ry:n}={...e},s=e.type==="a:helper:spaceDivider";if(!s&&!Number.isFinite(e.w)||!Number.isFinite(r)||!Number.isFinite(t)||!Number.isFinite(i)){let x={type:e.type,id:e.id,x:t,z:i,l:r,ry:n,w:e.w};throw new Error(`Get el vectors, params missing ${JSON.stringify(x)}`)}let o,a,l,h,u,f,p,d,v,y,m,g,w,_,T;return o=n/180*Math.PI,a=e.barCounter?e.w+.25:e.w,s&&(a=0),u={x:a*Math.sin(o),z:a*Math.cos(o)},f=s?u:Cl(u),p={x:r*Math.cos(o),z:-r*Math.sin(o)},d=Cl(p),l=e.barCounter?t+f.x*-.25:t,h=e.barCounter?i+f.z*-.25:i,T=0,e.controlLine==="front"?T=-e.w:e.controlLine==="center"&&(T=-e.w/2),w={x:l,z:h},_={x:l+p.x,z:h+p.z},v={x:w.x+f.x*T,z:w.z+f.z*T},y={x:v.x+p.x,z:v.z+p.z},m={x:v.x+u.x,z:v.z+u.z},g={x:y.x+u.x,z:y.z+u.z},{l1:w,l2:_,p1:v,p2:y,p3:m,p4:g,w:u,l:p,nW:f,nL:d}}function Gy(e){if(e.type!=="column")return;let t=[];if(e.shape==="square"){let i=e.l/2;t=[[-i,-i],[i,-i],[i,i],[-i,i]],t=Rt(e,t)}else if(e.shape==="circle"){const r=Math.PI*2/25;let n=0,s=e.l/2;for(let o=0;o<25;o++)t.push([e.x-s*Math.cos(n),e.z+s*Math.sin(n)]),n+=r}else e.shape==="polygon"&&(t=Rt(e,e.polygon));return t}function bs(e){let t,i,r;return e.type==="column"?i=Gy(e):(t=Xy(e),e.type==="a:helper:spaceDivider"?r=[t.l1,t.l2]:r=[t.p1,t.p2,t.p4,t.p3],i=r.map(n=>[n.x,n.z])),i}function Rt(e,t){return t.map(i=>{let r=Ts({x:i[0],z:i[1]},e);return[r.x,r.z]})}const Is=(e,t={})=>{let i={};const r=t.keepTransient;return Object.keys(e).forEach(n=>{let s=n.slice(0,1)==="_";if(n==="_ryOrg"){i.ry=e[n];return}else{if(s&&!r)return;if(e[n]===null||e[n]===void 0)return;n!=="children"&&(i[n]=e[n])}}),e.children?i.children=e.children.map(n=>Is(n,t)):i.children=[],i};function Hy(e,t){const r=[],n=e.map(Ii),s=t.map(Ii);for(let a=0;a<e.length;a++){let l=e[a];for(let h=0;h<t.length;h++)if(n[a]>s[h]+.1&&qe(t[h][0],l))if(r[h]){const p=n[r[h]],d=n[a];p>d&&(r[h]=a)}else r[h]=a}const o=[];return r.forEach((a,l)=>{o[a]||(o[a]=[]),o[a].push(t[l])}),o}function Wy(e){let t=e.filter(r=>Ee(r)>0),i=e.filter(r=>Ee(r)<0);return{counterClockwise:t,clockwise:i}}function Yy(e){let t=[...e];return Ee(t)<0?t:t.reverse()}function zy(e){let t=[...e];return Ee(t)>0?t:t.reverse()}function Ol({uuid:e,scene:t,node:i}){if(i=i||t.nodesById[e],!i)return[];let r=i.getWorldPosition();if(!r.polygon||!r.polygon.length)throw new Error("Invalid space"+JSON.stringify(r,null,2));let n=zy(r.polygon);if(n=Nl(n),!n||!n.length)return[];let s=r.polygonHoles||[];s=s.map(l=>{let h=Yy(l);return Nl(h)}).filter(l=>l.length),s=s.filter(l=>l.length);let o=Rt(r,n),a=s.map(l=>Rt(r,l));return[o,...a]}function Vy(e){let t=Is(e);return Re(t)}function Rl(e,t="",i=!1,r,n){const s={"a:helper:spaceDivider":["plan","level","group"],wall:["plan","level","group"],interior:["plan","level","interior","group","level"],window:["plan","level","wall"],door:["plan","level","wall"],polyfloor:["plan","level"],group:["plan","level","group"]};let o=i?Vy(e):e;var a=[],l;if(i&&r&&(o=Ts(o,r)),!n&&o.type===t)a.push(o);else if(n&&o.id===n)return[o];let h=0;if(o.children&&(!s[t]||s[t].includes(o.type)))for(var u=0;u<o.children.length;u++){const f=o.children[u];f.type==="level"&&h++,!(h>1)&&(l=Rl(f,t,i,o,n),a=a.concat(l))}return a}function Ml(e,t){return Rl(e,t,!0)}const Tr=["a:helper:spaceDivider","a:reference:externalId","a:reference:ifcElement","a:reference:ifcFile","a:relation:wall","a:settings:display","a:settings:generatedGroup","box","camera-bookmark","closet","column","curtain","door","floor","floorplan","floorplanDxf","group","interior","kitchen","level","object","pic","plan","polybox","polyfloor","railing","stairs","tag","wall","window"],Fl=()=>Tr.reduce((e,t)=>({...e,[t]:[]}),{}),kl=(e,t)=>{if(!t||!t.properties){console.warn(`schema is missing for type ${e}`);return}const i={};return Object.keys(t.properties).forEach(r=>{const n=t.properties[r],s=n.const||n.default;s!==void 0&&(i[r]=s)}),e==="interior"&&!i.src&&(i.src="!7dddc882-1def-4497-80e3-d1de834a1a7b"),Re(i)};function $y(e,t={}){const i=Bl(e,{});return Dl(e,null,null,i),t.exportIdMap&&(e.idMap=i),e}function Bl(e,t){return e.id!==void 0&&(t[e.id]=he()),e.children.forEach(i=>Bl(i,t)),t}const Ul=e=>Object.prototype.toString.call(e)==="[object Object]",qy=e=>Object.prototype.toString.call(e)==="[object Array]";function Dl(e,t,i,r){typeof e=="string"?(t!==void 0&&i!==void 0&&r[e]&&(t[i]=r[e]),typeof i=="string"&&t!==void 0&&i!==void 0&&r[i]&&(t[r[i]]=e,delete t[i])):(Ul(e)||qy(e))&&(Ul(e)&&e.type&&e.id===void 0&&(e.id=he()),Object.entries(e).forEach(([n,s])=>Dl(s,e,n,r)))}const jy={properties:{x:{type:"number"},y:{type:"number"},z:{type:"number"},ry:{type:"number"},id:{type:"string"}}},Zy=(e,t,i,r)=>{let n=i;if(typeof i=="string"&&(n=Number(n),console.log(e.type+"."+t,"converted from string to number")),!Number.isFinite(n))throw new Error(`${e.type}.${t} = ${i} is invalid`);const{minimum:s,maximum:o}=r,a=Number.isFinite(s)&&n<s,l=Number.isFinite(o)&&n>o;if(a||l){let h=a?"min:"+s:"max:"+o;throw new Error(`${e.type}.${t} = ${n} is out of range ${h}`)}return n},Jy=(e,t,i,r)=>{if(typeof i!="string")throw new Error(`${e.type}.${t} = '${i}' is invalid`);if(r.enum&&!r.enum.includes(i))throw new Error(`${e.type}.${t} = '${i}' is invalid`);return i},Ky=(e,t,i,r)=>r.type==="number"?Zy(e,t,i,r):r.type==="string"?Jy(e,t,i,r):i,Xl=(e,t,i)=>{const{properties:r}=i||jy;for(const n in t){const s=r?.[n],o=i&&!s,a=n.startsWith("_");if(o&&!a){delete t[n];continue}e[n]=Ky(e,n,t[n],s||{type:void 0}),a&&!e[n]&&delete e[n]}return e};function Qy({uuid:e,polygons:t,scene:i,interiors:r}){let n;t&&t.length?n=t:n=Ol({uuid:e,scene:i});let s=n[0],o=n.slice(1);return s=Pr([s],.05)[0],r||(r=i.nodesByType.interior.map(l=>l.getWorldPosition())),{interiors:r.filter(l=>{if(!(!l.src||!l.x||!l.z))return qe([l.x,l.z],s,o)})}}const t0=e=>{var t;return((t=e.src)==null?void 0:t.substring(1))||""},Gl={colorDiffuse:{type:"array"},colorSpecular:{type:"array"},wireframeColor:{type:"array"},size:{type:"array"},specularCoef:{type:"number"},opacity:{type:"number"},wireframeOpacity:{type:"number"},wireframeThickness:{type:"number"},wireframeThresholdAngle:{type:"number"},lightEmissionCoef:{type:"number"},bsdfType:{type:"string"},wrap:{type:"string"},receiveRealTimeShadows:{type:"boolean"},hideAfterBaking:{type:"boolean"},castRealTimeShadows:{type:"boolean"},no2dOutline:{type:"boolean"},mapDiffuse:{type:"string"},mapDiffusePreview:{type:"string"},mapDiffuseSource:{type:"string"},mapDiffuseKey:{type:"string"},mapSpecular:{type:"string"},mapSpecularPreview:{type:"string"},mapSpecularSource:{type:"string"},mapSpecularKey:{type:"string"},mapNormal:{type:"string"},mapNormalPreview:{type:"string"},mapNormalSource:{type:"string"},mapNormalKey:{type:"string"},mapAlpha:{type:"string"},mapAlphaPreview:{type:"string"},mapAlphaSource:{type:"string"},mapAlphaKey:{type:"string"}},Hl=e=>{let t=typeof e;return e===null?"null":t==="object"&&Array.isArray(e)?"array":t==="number"&&!Number.isFinite(e)?"undefined":t},e0=Object.keys(Gl),i0=e=>{const t=Hl(e),i=t==="string",r=t==="object"&&Object.keys(e).every(n=>{var s;const o=e0.includes(n),a=o&&Hl(e[n])===((s=Gl[n])==null?void 0:s.type);return o&&a});return i||r};function Wl(e,t){let i=r0(e.materials,t?.colours);return i&&Yl(e.materials[i])}function Yl(e){return!e||typeof e!="string"?"":e.toLowerCase().replace(/[()+&!?;,:_)]/g,"").replace(/\s+/g,"-")}function r0(e={},t=[]){let i=t?.length&&t[0].split(":")[0],r=Object.keys(e);return i&&i!=="default"&&(r=r.filter(n=>n===i)),r.length===1?r[0]:r.filter(s=>!s.toLowerCase().includes("base"))[0]}function n0(e,t){let i=t0(e),r=Wl(e,t);return r?r="_"+r:r="",i+r}const s0={group:"a:settings:generatedGroup"};class o0{}class Ei extends o0{constructor({node:t,parent:i,scene:r,emitter:n,options:s={}}){super();var o;if(typeof t!="object")throw new Error("node has to be type object: "+t);if(!t.type)throw new Error("node invalid, type is missing: "+JSON.stringify(t));s.setDefaults===void 0&&(s.setDefaults=!1),s.regenerateIds===void 0&&(s.regenerateIds=!1),this._scene=r,this._emitter=n;const a=t.children||[];t.children=[],!t.id||s.setDefaults||s.regenerateIds?this._update(a0(t,this.schema,s)):this._update(t),this._parent=i,i&&i.children.push(this),(o=this._scene)!=null&&o.registerNode&&this._scene.registerNode(this);const l="add-child";this._emitter&&this._emitter.emit(l,{node:i,args:this,options:s,event:l}),a.filter(h=>(h.type||console.warn("Prevent import from scene structure: Invalid type",h.type+""),h.type)).forEach(h=>this.addChild(h,s))}get parent(){return this._parent}get scene(){return this._scene}get schema(){var t;return(t=this._scene)==null?void 0:t.schema}_update(t={}){var i,r;Xl(this,t,(r=(i=this._scene)==null?void 0:i.schema)==null?void 0:r[this.type])}set(t={},i={}){if(this.locked&&!i.force){let n=[];for(let s in t)switch(s){case"locked":case"_highlight":case"_isSelected":n.push(s)}if(n.length>0){let s={};for(const o of n)s[o]=t[o];t=s}else{console.log(`Node ID ${this.id} is locked and cannot be altered.`);return}}t.id&&delete t.id,t.src&&delete t.src,t.children&&delete t.children;let r={};for(let n in t)r[n]=this[n];try{this._update(t)}catch(n){console.warn(n.message);return}if(this._emitter){let n=0,s=0;for(let l in t)switch(t[l]===r[l]&&(delete t[l],delete r[l]),n++,l){case"x":case"y":case"z":case"ry":s++;break}const a=s===n?"set-transform":"set";Object.keys(t).length&&this._emitter.emit(a,{node:this,args:t,prevState:r,options:i,event:a})}}setTransform({x:t,y:i,z:r,ry:n}={},s={}){if(this.locked&&!s.force){console.log(`Node ID ${this.id} is locked and cannot be altered.`);return}let o={},a={};if(t!==void 0){let h=Number(t);this.x!==h&&Number.isFinite(h)&&(a.x=this.x,o.x=this.x=h)}if(i!==void 0){let h=Number(i);this.y!==h&&Number.isFinite(h)&&(a.y=this.y,o.y=this.y=h)}if(r!==void 0){let h=Number(r);this.z!==h&&Number.isFinite(h)&&(a.z=this.z,o.z=this.z=h)}if(n!==void 0){let h=Number(n);this.ry!==h&&Number.isFinite(h)&&(a.ry=this.ry,o.ry=this.ry=h)}const l="set-transform";this._emitter&&Object.keys(o).length&&this._emitter.emit(l,{node:this,args:o,prevState:a,options:s,event:l})}setMaterials(t={},i={}){if(this.locked&&!i.force){console.log(`Node ID ${this.id} is locked and cannot set materials.`);return}let r=0,n={};for(let a in t){const l=t[a];i0(l)&&(n[a]=(this.materials||{})[a],t[a],r++)}if(r<1){console.log("no valid material definitions in",t);return}const s={...this.materials||{},...t};try{this._update({materials:s})}catch(a){console.warn(a.message);return}const o="set-materials";this._emitter&&this._emitter.emit(o,{node:this,args:t,prevState:n,options:i,event:o})}setTransient(t={},i={}){let r={},n=0,s={};for(let a in t)a[0]==="_"&&(s[a]=this[a],r[a]=t[a],n++);if(n<1){console.log("no transient values in",t,"use underscore");return}try{this._update({...r})}catch(a){console.warn(a.message);return}const o="set-transient";this._emitter&&this._emitter.emit(o,{node:this,args:t,prevState:s,options:i,event:o})}setHighlight(t={},i={}){let r={_highlight:this._highlight};const{fill:n,fillOpacity:s,outline:o,outlineWidth:a}=t;let l;n&&Array.isArray(n)&&(l={fill:n,fillOpacity:s}),o&&Array.isArray(o)&&(l={...l||{},outline:o,outlineWidth:a});const h={_highlight:l};try{this._update(h)}catch(f){console.warn(f.message);return}const u="set-transient";this._emitter&&this._emitter.emit(u,{node:this,args:h,prevState:r,options:i,event:u})}find(t={}){if(!t.id&&(!t.type||typeof t.type!="string"||!Tr.includes(t.type)))return console.warn("type missing or invalid"),null;let i;return this.traverse(r=>{i||(t.id&&r.id===t.id||t.type&&r.type===t.type)&&(i=r)}),i}findAll(t={}){if(!t.type||typeof t.type!="string"||!Tr.includes(t.type))return console.warn("type missing or invalid"),[];let i=[];return this.traverse(r=>r.type===t.type&&i.push(r)),i}addChild(t,i={}){var r,n,s;if(!t.type||typeof t.type!="string"||!Tr.includes(t.type)){console.warn("type missing or invalid");return}else if(this.locked&&!["level","plan"].includes(this.type)&&!i.force){console.log(`Node ID ${this.id} is locked and cannot add children.`);return}if(t.id&&((n=(r=this.scene)==null?void 0:r.nodesById)==null?void 0:n[t.id])&&!i.regenerateIds){console.warn(`Node with id ${t.id} already exists and can not be added - use options.regenerateIds = true`);return}const o=i.setDefaults!==!1;let a;if(o){const l=(s=this.schema)==null?void 0:s[t.type],h=kl(t.type,l)||{};a=Xl(h,t,l)}else a=t;return new Ei({node:a,parent:this,scene:this._scene,emitter:this._emitter,options:{...i,setDefaults:o}})}removeChild(t,i={}){var r;if(t.id){if(this.locked&&!["level","plan"].includes(this.type)&&!i.force){console.log(`Node ID ${this.id} is locked and cannot remove children.`);return}}else{console.error("not valid");return}let n;for(let l=0;l<this.children.length;l++)if(this.children[l].id===t.id){n=l;break}if(!Number.isFinite(n)){console.warn("Node does not exist or is already removed",t);return}let s=t.children||[];for(let l=s.length-1;l>=0;l--)t instanceof Ei&&s[l]&&t.removeChild(s[l],i);(r=this._scene)!=null&&r.unregisterNode&&this._scene.unregisterNode(t),this.children.splice(n,1);const o="remove-child";this._emitter&&this._emitter.emit(o,{node:this,args:t,options:i,event:o}),(t?.getReferringNodes?t.getReferringNodes():[]).forEach(l=>l.remove(i))}remove(t){if(this.locked&&!t.force){console.warn(`Node ID ${this.id} is locked and cannot be removed.`);return}else this.parent.removeChild(this,t)}getReferringNodes(){var t,i;let r=[],n=(t=this._scene)==null?void 0:t.nodesByType["a:relation:"+this.type];n&&n.forEach(a=>{var l;(l=a?.nodeIds)!=null&&l.hasOwnProperty(this.id)&&r.push(a)});let s=s0[this.type]||"a:settings:"+this.type,o=(i=this._scene)==null?void 0:i.nodesByType[s];return o&&o.forEach(a=>{a?.nodeId==this.id&&r.push(a)}),r}getWorldPosition(){return zl(this)}getLocalPositionFromWorld(t){const i=this.getParents();return i?.length&&i.reverse().forEach(r=>{t=Dy(t,r)}),t}getParents(){return Vl(this)}toJson(t={}){let i=Is(this,t),r=Re(i);return t.regenerateIds&&$y(r,t),r}traverse(t){typeof t=="function"&&(t(this),this.children.forEach(i=>{i.traverse(t)}))}}const zl=(e,t)=>{const i=t?t.parent:e.parent;if(!i)return console.warn("no parent found"),e;let r=Ts(e,i);return i.parent&&(r=zl(r,i)),r},Vl=e=>{let t=[];const i=e.parent;return i&&t.push(i),i?.parent&&(t=t.concat(Vl(i))),t},a0=(e,t,{setDefaults:i,regenerateIds:r})=>{if(!t&&i)throw new Error("schema is missing");if(!e)throw new Error("node missing");const n=t&&t[e.type];let s;if(n&&i){if(s=kl(e.type,n),!s)throw new Error("no defaults found")}else s={};let o=Object.assign({},s,e);if(!o)throw new Error("applying defaults failed");return(!e.id||r)&&(o.id=he()),o};var I;(function(e){e.residential="residential",e.office="office",e.parking="parking"})(I||(I={}));const br={work:{name:"Work",isHidden:!0,description:"space for individual head-down work",spaceUsage:{privateOffice:{name:"Private office",category:[I.office]},focusRoom:{name:"Focus room",category:[I.office]},openWorkspace:{name:"Open workspace",category:[I.office]},enclosedWorkspace:{name:"Enclosed workspace",category:[I.office]},closedWorkspace:{name:"Closed workspace",isDeprecated:!0,category:[I.office]},executiveOffice:{name:"Executive office",isDeprecated:!0,category:[I.office]}}},meet:{name:"Meet",isHidden:!0,spaceUsage:{meetingRoom:{name:"Meeting room",category:[I.office]},hub:{name:"Hub",category:[I.office]},assembly:{name:"Assembly",category:[I.office]},boardRoom:{name:"Board room",category:[I.office]},trainingRoom:{name:"Training room",category:[I.office]},collaboration:{name:"Collaboration",isDeprecated:!0,category:[I.office]}}},live:{name:"live",isHidden:!0,spaceUsage:{living:{name:"Living",category:[I.residential]},dining:{name:"Dining",category:[I.residential]},dining_living:{name:"Living & Dining",category:[I.residential]},homeOffice:{name:"Home office",category:[I.residential]},bedroom:{name:"Bedroom",category:[I.residential]}}},socialize:{name:"Socialize",isHidden:!0,spaceUsage:{lobby:{name:"Lobby",category:[I.office,I.residential]},reception:{name:"Reception",category:[I.office]},lounge:{name:"Lounge",category:[I.office]},cafe:{name:"Cafe",category:[I.office]},canteen:{name:"Canteen",category:[I.office]},pantry:{name:"Pantry",category:[I.office]},terrace:{name:"Terrace",isOutdoor:!0,category:[I.office,I.residential]},balcony:{name:"Balcony",isOutdoor:!0,category:[I.office,I.residential]},rooftop:{name:"Rooftop",isOutdoor:!0,category:[I.office,I.residential]},courtyard:{name:"Courtyard",isOutdoor:!0,category:[I.office,I.residential]},garden:{name:"Garden",isOutdoor:!0,category:[I.residential]},common:{name:"Common",isDeprecated:!0,category:[I.office]}}},support:{name:"Support",isHidden:!0,spaceUsage:{serviceKitchen:{name:"Service kitchen",category:[I.office]},printStation:{name:"Print station",category:[I.office]},storage:{name:"Storage",category:[I.residential,I.office,I.parking]},mailRoom:{name:"Mail room",category:[I.office]},operationalRoom:{name:"Operational room",category:[I.office,I.parking]},serviceRoom:{name:"Service room",category:[I.office]},laundryRoom:{name:"Laundry room",category:[I.residential]},operate:{name:"Operate",isDeprecated:!0,category:[I.office]},services:{name:"Services",isDeprecated:!0,category:[I.office,I.residential]}}},care:{name:"Care",isHidden:!0,spaceUsage:{kitchen:{name:"Kitchen",category:[I.residential]},wellnessRoom:{name:"Wellness room",category:[I.office]},restroom:{name:"Restroom",category:[I.office,I.parking]},bathroom:{name:"Bathroom",category:[I.residential]},shower:{name:"Shower",category:[I.office,I.residential]},toilet:{name:"Toilet",category:[I.residential]}}},circulate:{name:"Circulate",isHidden:!0,spaceUsage:{corridor:{name:"Corridor",category:[I.residential,I.office,I.parking]},foyer:{name:"Foyer",category:[I.residential,I.office,I.parking]},staircase:{name:"Staircase",isVertical:!0,category:[I.residential,I.office,I.parking]},elevator:{name:"Elevator",isVertical:!0,category:[I.residential,I.office,I.parking]}}},drive:{name:"Drive",isHidden:!0,spaceUsage:{parkingSpot:{name:"Parking spot",category:[I.parking]},driveway:{name:"Driveway",category:[I.parking]},garage:{name:"Garage",category:[I.residential]}}},void:{isHidden:!0,name:"Void",spaceUsage:{shaft:{name:"Shaft",isVertical:!0,category:[I.residential,I.office,I.parking]},buildingOpening:{name:"Building opening",isVertical:!0,category:[I.residential,I.office,I.parking]},floorOpening:{name:"Floor opening",isVertical:!0,category:[I.residential,I.office,I.parking]}}},undefined:{isHidden:!0,spaceUsage:{undefined:{name:"Undefined",category:[I.residential,I.office],isHidden:!0}}}},Ae={};Object.keys(br).forEach(e=>{const t=br[e];Ae[e]={name:t.name,type:"program",category:[]},t.isHidden&&(Ae[e].isHidden=t.isHidden);const i={};Object.keys(br[e].spaceUsage).forEach(n=>{const s=br[e].spaceUsage[n];Ae[n]={...s,type:"space",program:e},s.category.forEach(o=>{i[o]=!0})}),Ae[e].category=Object.keys(i)});const $l=(e="")=>{e==="officeWorking"?e="work":e==="officeMeeting"&&(e="meet");let t=Ae[e];return t?t.name:""},Ir=(e="")=>{const t=Ae[e];let i;return t&&(i=t.type==="program"?e:t.program),i};function ql({scene:e,uuid:t}){let i=e.nodesByType.polyfloor;t&&(i=i.filter(s=>s.id===t));const r=e.nodesByType.interior.map(s=>s.getWorldPosition());return i.map(s=>{let o=Ol({node:s});if(!o.length)return;const a=Math.abs(o.reduce((f,p)=>f+Ee(p),0)),l=Ll(o[0],o.slice(1)),h=wr(o),{interiors:u}=Qy({polygons:o,scene:e,interiors:r});return{node:s,boundingBox:h,id:s.id,usage:s.usage,usageName:$l(s.usage),program:Ir(s.usage),polygons:o,interiors:u,area:a,center:l,customId:s.customId,name:s.name}}).flatMap(s=>s?[s]:[])}const Cs=(e,t=!0,i=!1)=>{const r=e.nodesByType.column.map(d=>d.getWorldPosition()),n=e.nodesByType.wall.map(d=>d.getWorldPosition()),s=.001,a=[...n,...r].map(d=>{let v=bs(d);if(t&&(v=Pr([v],s)[0]),i)return[v];let y=Ml(d,"window"),m=Ml(d,"door"),g=y.concat(m);if(g=g.map(w=>(w.w=d.w,w)),g?.length){let w=g.map(bs);return My([v],w,s*2)}else return[v]}).reduce((d,v)=>d.concat(v),[]),l=a.length?El(a):[],{counterClockwise:h,clockwise:u}=Wy(l),f=Hy(h,u);return h.map((d,v)=>[d,...f[v]||[]])},l0={spaceContourAreaThreshold:.1};class h0{constructor({schema:t,options:i={}}={}){this.sceneId=null,this.node=null,this._apiVersion="3.5.2",this.nodesById={},this.nodesByType=Fl(),this.nodesByName={},this.options={...l0,...i},this._schema=t||{},this._emitter=new Ps}get emitter(){return this._emitter}get schema(){return this._schema}set schema(t){typeof t=="object"&&(this._schema=t)}loadSceneStructure(t,i={}){if(this._emitter.emit("scene-structure-loading",this),!t||t.type!=="plan")throw new Error("invalid sceneStructure");this.nodesById={},this.nodesByType=Fl(),this.node=null;let r=Re(t);return Number.isFinite(i.planRotation)&&(r._ryOrg=t.ry,r.ry=i.planRotation),this.node=new Ei({node:r,scene:this,emitter:this.emitter,options:i}),this.setSpaceCategories(),this._emitter.emit("scene-structure-loaded",this),this.node}setSceneType(){this.setSpaceCategories()}_setSceneType(){const t=this.node.class;if(t?.length)t.includes(I.residential)?this.type=I.residential:t.includes("commercial")||t.includes(I.office)?this.type=I.office:t.includes(I.parking)&&(this.type=I.parking);else{const r=this.nodesByType.polyfloor.map(n=>n.usage);r.includes("bedroom")?this.type=I.residential:(r.includes("work")||r.includes("meetingRoom")||r.includes("openWorkspace"))&&(this.type=I.office)}}setSpaceCategories(){let t=[];const i=this.node.class;if(i?.length)t=Array.from(i.reduce((r,n)=>(n==="commercial"?r.add(I.office):I[n]&&r.add(I[n]),r),new Set));else{const n=this.nodesByType.polyfloor.map(s=>s.usage);n.includes("bedroom")&&t.push(I.residential),(n.includes("work")||n.includes("meetingRoom")||n.includes("openWorkspace"))&&t.push(I.office)}this.spaceCategories=t,this._setSceneType()}getFloorArea(){const i=ql({scene:this}).reduce((r,n)=>n.program==="void"?r:r+n.area,0);return Math.round(i*10)/10}registerNode(t){this.nodesById[t.id]&&console.error("Duplicate id",t.id),this.nodesById[t.id]=t,this.nodesByType[t.type]=this.nodesByType[t.type]||[],this.nodesByType[t.type].push(t),t.name&&(this.nodesByName[t.name]=this.nodesByName[t.name]||[],this.nodesByName[t.name].push(t))}unregisterNode(t){t.id&&delete this.nodesById[t.id];const i=(r,n)=>{if(r[t[n]]){let s=r[t[n]].findIndex(o=>o.id===t.id);Number.isFinite(s)&&r[t[n]].splice(s,1)}};i(this.nodesByType,"type"),i(this.nodesByName,"name")}on(t,i,r){t&&i?this._emitter.on(t,i,r):console.log("invalid event listener")}once(t,i,r){t&&i?this._emitter.once(t,i,r):console.log("invalid event listener")}off(t,i){t?this._emitter.off(t,i):console.log("invalid request")}emit(t,i,r,n,s){this._emitter.emit(t,i,r,n,s)}get apiVersion(){return this._apiVersion}}function u0(e){let t=[];return e.shape==="square"?t.push({type:"rectangle",position:[-e.l/2,-e.l/2],dimensions:[e.l,e.l]}):e.shape==="circle"?t.push({type:"circle",position:[0,0],radius:e.l/2}):e.shape==="polygon"&&t.push({type:"polygon",points:e.polygon}),t}function f0(e,t){const i=e.doorType||"singleSwing",r=e.l,n=t.w;let s=[],o=e.doorAngle;const a=e.hinge==="right",l=e.side==="back",h=t.controlLine==="front"?-n:t.controlLine==="center"?-n/2:0;if(o<20&&(o=20),i==="singleSwing"){let u=o*Math.PI/180,f,p,d,v;l?(f=a?0:180-o,p=a?o:180,d=a?[0,h]:[r,h],v=[d[0]+r*Math.cos(u)*(a?1:-1),d[1]+-r*Math.sin(u)]):(f=a?-180:360-o,p=a?-180+o:360,d=a?[r,n+h]:[0,n+h],v=[d[0]+r*Math.cos(u)*(a?-1:1),d[1]+r*Math.sin(u)]),s.push({type:"arc",radius:r,position:d,startAngle:f,endAngle:p},{type:"line",start:d,end:v})}else if(i==="doubleSwing"){const u=o*Math.PI/180;let f,p,d,v,y,m,g,w;l?(f=0,p=o,d=[0,h],v=[d[0]+r/2*Math.cos(u),d[1]+-r/2*Math.sin(u)],g=[r,h],w=[g[0]+-r/2*Math.cos(u),g[1]+-r/2*Math.sin(u)],y=180-o,m=180):(f=360-o,p=360,d=[0,n+h],v=[d[0]+r/2*Math.cos(u),d[1]+r/2*Math.sin(u)],g=[r,n+h],w=[g[0]+-r/2*Math.cos(u),g[1]+r/2*Math.sin(u)],y=180,m=180+o),s.push({type:"arc",radius:r/2,position:d,startAngle:f,endAngle:p},{type:"line",start:d,end:v}),s.push({type:"arc",radius:r/2,position:g,startAngle:y,endAngle:m},{type:"line",start:g,end:w})}return s.push({type:"rectangle",position:[0,h],dimensions:[e.l,n]}),s}function c0(e){let t=[];const i=/90$/g.test(e.cooktopType),r=p0(e),n=d0(e,r,i),s=v0(e,n),o=m0(e,n),a=y0(e,n),l=.25,h=.6;t.push(je([0,e.barCounter?-l:0],e.l,e.barCounter?e.w+l:e.w)),n.forEach(f=>{t.push(Tt([f,e.w],[f,e.w-.075]))}),r&&e.barCounter&&t.push(Tt([e.highCabinetLeft*e.elementLength,0],[e.l-e.highCabinetRight*e.elementLength,0]));for(let f of s){const p=n[f],d=p-h;t.push(Tt([d||0,e.w],[d||0,0]),Tt([d||0,0],[p,e.w]),Tt([d||0,e.w],[p,0]),Tt([p,e.w],[p,0]))}const u={fill:!1};if(o&&n[o-2]){let f={type:"group",position:[n[o-2],0],children:[je([.05,e.w-.5],e.sinkType!=="double"?.5:1.1,.45,u),je([.1,e.w-.4],e.sinkType!=="double"?.4:.35,.3,u),je([e.sinkType!=="double"?e.elementLength/2-.02:.48,e.w-.45],.04,.18,u)]};e.sinkType==="double"&&f.children.push(je([.55,e.w-.4],.35,.3,u),Tt([.95,e.w-.4],[.95,e.w-.1]),Tt([1,e.w-.4],[1,e.w-.1]),Tt([1.05,e.w-.4],[1.05,e.w-.1]),Tt([1.1,e.w-.4],[1.1,e.w-.1])),t.push(f)}if(a&&n[a-2]){let f={type:"group",position:[n[a-2],0],children:[je([.05,e.w-.55],i?.8:.5,.5,u)]};i?f.children.push(Wt([.225,e.w-.4],.08,u),Wt([.675,e.w-.4],.08,u),Wt([.45,e.w-.3],.08,u),Wt([.225,e.w-.2],.08,u),Wt([.675,e.w-.2],.08,u)):f.children.push(Wt([.2,e.w-.4],.08,u),Wt([.4,e.w-.4],.08,u),Wt([.2,e.w-.2],.08,u),Wt([.4,e.w-.2],.08,u)),t.push(f)}return r&&e.wallCabinet&&t.push(Tt([e.highCabinetLeft*e.elementLength,e.wallCabinetWidth],[e.l-e.highCabinetRight*e.elementLength,e.wallCabinetWidth])),t}function p0(e){const t=e.elementLength,i=e.highCabinetLeft*t,r=e.highCabinetRight*t;return Math.max(0,e.l-i-r)}function d0(e,t,i){const r=e.elementLength,n=.9,s=e.highCabinetLeft*r;let o,a=[],l=0,h=0;for(o=0;o<e.highCabinetLeft;o++){let u=e.l-l;l+=u>r?r:u,a[o]=l,h++}for(;l+r<s+t;){let u=h===e.cooktopPos-1&&e.cooktopType!=="none"&&i;l+=u?n:r,h++,a.push(l)}for(o=e.highCabinetRight;o>0;o--)l=e.l-r*o+r,a.push(l);return a=a.map(u=>Math.round(u*10)/10),a}function v0(e,t){let i,r=[];for(i=0;i<e.highCabinetLeft;i++)r.push(i);for(i=0;i<e.highCabinetRight;i++)r.push(t.length-1-i);return r}function m0(e,t){return typeof e.sinkPos=="number"&&e.sinkPos>e.highCabinetLeft&&e.sinkPos<=t.length-e.highCabinetRight&&e.sinkType!=="none"?e.sinkPos:null}function y0(e,t){return typeof e.cooktopPos=="number"&&e.cooktopPos>e.highCabinetLeft&&e.cooktopPos<=t.length-e.highCabinetRight&&e.cooktopType!=="none"?e.cooktopPos:null}function Tt(e,t){return{type:"line",start:e,end:t}}function je(e,t,i,r){return{type:"rectangle",position:e,dimensions:[t,i],style:r}}function Wt(e,t,i){return{type:"circle",position:e,radius:t,style:i}}function g0(e){let t;return e.controlLine==="center"?t=-e.w/2:e.controlLine==="front"?t=-e.w:t=0,[{type:"rectangle",position:[0,t],dimensions:[e.l,e.w]}]}function Ai(e,t,i=.5){let r=[t[0]-e[0],t[1]-e[1]];return[e[0]+r[0]*i,e[1]+r[1]*i]}function _0(e,t,i,r=5){const n=[];let s,o,a,l=0;for(let h=0;h<=r;++h)l=h/r,s=Ai(e,t,l),o=Ai(t,i,l),a=Ai(s,o,l),n.push(a);return n}const x0=48,w0=12,P0=100,jl=(e,t)=>{const i=Math.ceil(x0/(Math.PI*2)*e*t),r=Math.ceil(w0/(Math.PI*2)*e);return Math.min(P0,Math.max(r,i))},Zl=e=>{const t={type:"polygon",points:[]};switch(e.type){case"circle":const i=e.radius,r=jl(Math.PI*2,i),n=e.position,s=Math.PI*2/r;let o=0;for(let l=0;l<r;l++)t.points.push([i*Math.cos(o)+n[0],-i*Math.sin(o)+n[1]]),o+=s;break;case"polygon":t.points=e.points;break;case"rectangle":const a=e.dimensions;t.points=[[0,0],[0,a[1]],[a[0],a[1]],[a[0],0]];break;case"composite":for(const l of e.segments){let h=Es(l);t.points.push(...h.points)}break}return t},Es=e=>{const t={type:"polyline",points:[]};switch(e.type){case"line":t.points=[e.start,e.end];break;case"arc":const i=e.startAngle/180*Math.PI,n=e.endAngle/180*Math.PI-i,s=e.radius,o=jl(Math.abs(n),s),a=e.position,l=n/o;let h=i;for(let u=0;u<o+1;u++)t.points.push([s*Math.cos(h)+a[0],-s*Math.sin(h)+a[1]]),h+=l;break;case"polyline":t.points=e.points;break;case"quadraticBezier":t.points.push(e.points[0]);for(let u=0;u<=e.points.length-3;u++){let f=e.points[u],p=e.points[u+1],d=e.points[u+2],v=u===0?f:Ai(f,p),y=u===e.points.length-3?d:Ai(p,d),m=_0(v,p,y);t.points.push(...m.slice(1))}break}return t};function T0(e,t={}){const i="straight",r=t.style!=="labelled",n=e.circulation==="left",s=.3;let o=e.stairType||i,a=e.l;const l=e.stepWidth;e.stairType==="straightLanding"?a=e.l-1:e.stairType==="lShaped"?a=e.l+e.w-2*l:e.stairType==="winder"?a=e.l+e.w-l:e.stairType==="halfLanding"?a=(e.l-l)*2:e.stairType==="2QuarterLanding"?a=(e.l-l)*2+e.w-l*2:e.stairType==="doubleWinder"&&(a=e.l*2+e.w-l*2);const h=(a/e.h+1.2321)/.10357/100,u=Math.round(a/h),f=!n&&e.railing==="left"||n&&e.railing==="right"||e.railing==="both",p=!n&&e.railing==="right"||n&&e.railing==="left"||e.railing==="both",d=.05;let v=a/u,y={shape:[],runs:[],railings:[]},m,g,w;switch(o){case"straight":case"straightLanding":y.shape=[[0,0],[e.l,0],[e.l,e.w],[0,e.w]];break;case"lShaped":case"winder":y.shape=[[0,0],[e.l,0],[e.l,e.w],[e.l-l,e.w],[e.l-l,l],[0,l]];break;case"halfLanding":case"2QuarterLanding":case"doubleWinder":y.shape=[[0,0],[e.l,0],[e.l,e.w],[0,e.w],[0,e.w-l],[e.l-l,e.w-l],[e.l-l,l],[0,l]];break}if(y.railings=C0(y.shape,d,f,p),r)switch(o){case"straight":y.runs=[{type:"straight",data:[0,0,u,v,0]}];break;case"straightLanding":m=Math.ceil(u/2),g=u-m,y.runs=[{type:"straight",data:[0,0,m,v,0]},{type:"straight",data:[m*v+1,0,g,v,0]}];break;case"lShaped":m=Math.floor((e.l-l)/v),g=u-m,y.runs=[{type:"straight",data:[0,0,m,(e.l-l)/m,0]},{type:"straight",data:[e.l,l,g,(e.w-l)/g,-90]}];break;case"winder":g=2*Math.round((l/2+s)/v),m=Math.round((e.l-l-s)/v),w=u-m-g,y.runs=[{type:"straight",data:[0,0,m,(e.l-l-s)/m,0]},{type:"winder",data:[e.l-l-s,0,g,0]}],w>0&&y.runs.push({type:"straight",data:[e.l,l+s,w,(e.w-l-s)/w,-90]});break;case"halfLanding":m=u/2,g=u/2,y.runs=[{type:"straight",data:[0,0,m,v,0]},{type:"straight",data:[m*v,e.w,g,v,180]}];break;case"2QuarterLanding":m=Math.round((e.l-l)/v),w=m,g=u-m*2,v=(e.l-l)/m,y.runs=[{type:"straight",data:[0,0,m,(e.l-l)/m,0]},{type:"straight",data:[e.l,l,g,(e.w-l*2)/g,-90]},{type:"straight",data:[m*v,e.w,w,(e.l-l)/m,180]}];break;case"doubleWinder":g=4*Math.round((l/2+s)/v),w=Math.round((e.w-(l+s)*2)/v),m=Math.round((u-g-w)/2),y.runs=[],m>0&&y.runs.push({type:"straight",data:[0,0,m,(e.l-l-s)/m,0]}),y.runs.push({type:"winder",data:[e.l-l-s,0,g/2,0]}),w>0&&y.runs.push({type:"straight",data:[e.l,l+s,w,(e.w-(l+s)*2)/w,-90]}),y.runs.push({type:"winder",data:[e.l,e.w-l-s,g/2,-90]}),m>0&&y.runs.push({type:"straight",data:[e.l-l-s,e.w,m,(e.l-l-s)/m,180]});break}let _,T=[];if(t.style!=="labelled"){let A=[[v/2-.06,l/2+.12],[v/2+.06,l/2],[v/2-.06,l/2-.12]];T.push({type:"polyline",points:A})}if(o!=="spiral")_={type:"polygon",points:y.shape},y.runs.forEach(A=>{A.type==="straight"?T=T.concat(b0(...A.data,l)):A.type==="winder"&&(T=T.concat(I0(...A.data,l,s)))});else if(o==="spiral"){const A=e.w,k=A-l,C=k+l/2;let S=e.l/C;const M=S/u;S>2*Math.PI&&(S=2*Math.PI-.01);let N=[0,e.w],R=S/Math.PI*180-90;_={type:"composite",segments:[{type:"arc",radius:A,position:N,startAngle:-R,endAngle:90},{type:"arc",radius:k,position:N,startAngle:90,endAngle:-R}]},y.railings=[];const $=A-d,E=k+d;if(f&&y.railings.push({type:"arc",radius:$,position:N,startAngle:-R,endAngle:90}),p&&y.railings.push({type:"arc",radius:E,position:N,startAngle:-R,endAngle:90}),r){let O=0;for(var x=0;x<u&&!(O>=S);x++){const B=[Math.sin(O)*A,Math.cos(O)*A-A],it=[Math.sin(O)*k,Math.cos(O)*k-A];T.push({type:"polyline",points:[[B[0],-B[1]],[it[0],-it[1]]]}),O+=M}}}let P=[_,...T,...y.railings];return n&&(P=P.map(A=>(A.type==="composite"&&(A=Zl(A)),A.type==="arc"&&(A=Es(A)),(A.type==="polygon"||A.type==="polyline")&&A.points.forEach(k=>{k[1]=-k[1]+e.w}),A))),P}function b0(e,t,i,r,n=0,s){n=n||0;const o=[];for(var a=0;a<i;a++){let l=[[a*r,0],[a*r,s]];l=Rt({x:e,z:t,ry:n},l),o.push({type:"polyline",points:l})}return o}function I0(e,t,i,r,n,s){let o=0,a=0;r=r||0;const l=[];let h=s,u=i/2,f=(n+h)/u,p=h/u,d=0,v=0;for(var y=0;y<u;y++){let m=[[o+d,a+n],[o+v,a]];m=Rt({x:e,z:t,ry:r},m),l.push({type:"polyline",points:m}),d+=p,v+=f}for(o+=d,d=0,v=0,y=0;y<u;y++){let m=[[o,a+n+d],[o+n,a+v]];m=Rt({x:e,z:t,ry:r},m),l.push({type:"polyline",points:m}),d+=p,v+=f}return l}function C0(e,t,i,r){const n=[];if(!i&&!r)return[];let s=[];e.length===4?s=e.map((l,h)=>[l[0],l[1]+(h<2?t:-t)]):e.length===6?s=e.map((l,h)=>{let u=[...l];return h<2?u[1]+=t:h>3&&(u[1]-=t),h===1||h===2?u[0]-=t:(h===3||h===4)&&(u[0]+=t),u}):e.length===8&&(s=e.map((l,h)=>{let u=[...l];return h<2||h>3&&h<6?u[1]+=t:(h<4||h>5)&&(u[1]-=t),(h===1||h===2)&&(u[0]-=t),(h===5||h===6)&&(u[0]+=t),u}));const o=s.slice(0,s.length/2),a=s.slice(s.length/2,s.length);return i&&n.push({type:"polyline",points:o}),r&&n.push({type:"polyline",points:a}),n}new Ny({size:256});function As(e){return new Promise((t,i)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>i(e.error)})}function Jl(e,t){const i=indexedDB.open(e);i.onupgradeneeded=()=>i.result.createObjectStore(t);const r=As(i);return(n,s)=>r.then(o=>s(o.transaction(t,n).objectStore(t)))}let Ss;function Kl(){return Ss||(Ss=Jl("keyval-store","keyval")),Ss}function E0(e,t=Kl()){return t("readonly",i=>As(i.get(e)))}function A0(e,t,i=Kl()){return i("readwrite",r=>(r.put(t,e),As(r.transaction)))}const bt={api:{sdkVersion:"5.0.0-beta.0",productDataCacheAge:24*3600*1e3,productContourCacheAge:10*24*3600*1e3},hideElements:[],panZoom:!0,planRotation:0,preserveViewbox:"center-center",roomStampSize:null,showCeilingLamps:!1,xrayMode:!1,destroyOnDomRemove:!1,ui:{scale:!0,coordinates:!1},spaceLabelMapping:{},theme:{fontFamily:"Avenir, Verdana, sans-serif",background:{color:"#f3f5f8",showGrid:!1},wallContours:!1,showAssetTextures:!1,nativeLines:!0,elements:{roomStamp:{showArea:!0,showUsage:!0}}},units:{system:"metric",areaDecimals:0,lengthDecimals:3,roomDimensions:"area"},zoomRange:[3,300]},S0=e=>"publishableToken"in e?(console.warn("token.publishableToken is deprecated, please use the token.publishableAccessToken option"),mr.getTokenConfig({publishableAccessToken:e.publishableToken,...e})):mr.getTokenConfig(e);let Ns="archilogic/product",Cr="https://storage.3d.io";const N0=e=>{e&&typeof e=="object"&&(bt.api={...bt.api,...e})},L0={async getSceneStructure(e,t){return mr.callSpaceAPIWithConfig("GET",`/v2/floor/${e}/scene-structure`,{},t)}},Er={getProduct(e){return Ql(`${Cr}/${Ns}/json/${e}.json`)},getProductThumbnailUrl(e){return`${Cr}/${Ns}/thumb/${e}.png`},getProductOutline(e){return Ql(`${Cr}/${Ns}/outline/${e}.json`)}};function Ql(e){return fetch(e).then(t=>{if(t.ok)return t.json();throw Error(t.statusText)})}function O0(e){const t=document.createElement("div"),i=document.createElement("div"),r=document.createElement("div"),n=document.createElement("div");return t.classList.add("fpe-err"),i.classList.add("fpe-err__box"),r.classList.add("fpe-err__title"),n.classList.add("fpe-err__msg"),e.append(t),t.append(i),i.append(r),i.append(n),r.textContent="Something went wrong",e.append(t),e}function R0(e,t="Floor plan engine couldn't load properly on this page. For technical details check the browser console."){var i;const r=document.getElementById(e),n=(i=r.querySelector(".fpe-err"))!=null?i:O0(r);n.querySelector(".fpe-err__msg").textContent=t}function M0(e){var t;(t=document.querySelector(`#${e} .fpe-err`))==null||t.remove()}const F0="al-kvs",k0="al-keyval",Ls=typeof window>"u"||typeof process<"u",th=!Ls&&Jl(F0,k0);let eh=!0;async function ih(e,t,i){if(Ls)return Promise.resolve();i=i||30*24*3600*1e3;try{const r={timeStamp:new Date().getTime(),content:t,maxAge:i};return eh&&await A0(e,r,th),e}catch{return}}async function rh(e,t){if(Ls)return Promise.resolve();const i=t||30*24*3600*1e3,r=new Date().getTime();let n;try{eh&&(n=await E0(e,th));const s=r-n.timeStamp,o=Math.min(n.maxAge,i);if(s>o)return;if(n.content)return n.content}catch{return}}function B0(e){const t={10:["ceilingLight","wallLight"],9:["modularMeetingRoom","phoneBooth"],8:["floorLamp","tableLamp","deskDivider","cushion","plant","officeSupply","tableware","decoration","laundry","electronics","kitchen","car"],7:["shelf","cabinet","wardrobe","storageCombination","outdoor","bicycle","people","sink"],6:["highTable","diningTable","conferenceTable","desk"],5:["sofa","armchair","loungeChair","ottoman","sideboard","pedestal"],4:["taskChair","diningChair","conferenceChair","stool","barStool","bench"],3:["shower"],2:["singleBed","doubleBed","daybed","toilet","bathtub"],1:["sideTable","coffeeTable","radiator","nightstand"],0:["rug"]};let i=0;return e.subCategories.forEach(r=>{Object.keys(t).forEach(n=>{let s=parseInt(n);t[n].includes(r)&&s>i&&(i=s)})}),i===1&&e.categories.includes("tables")&&e.boundingBox.height>.6&&(i=6),i}const nh={kitchen:c0,column:u0,stairs:T0,wall:g0,door:f0};function U0(e,t,i){if(nh[e.type])return nh[e.type](e,t);if(Os[e.type])return Os[e.type](e,t,i)}const Os={box:e=>Si(e),curtain:e=>{const t=Math.min(Math.max(e.folds||10,Math.round(e.l*5)),Math.max(1,Math.round(e.l*15))),i=.05,r=e.w,n=e.l/t;let s=[],o=[];var a,l,h,u=0,f=r/2,p=i/2;let d=e.id.replace(/-/gi,""),v=d.length;for(var y=0;y<t;y++){l=p,h=f;let m=parseInt(d[y%v],16)/20;p=i/2+m*i/2*(y%2===0?-1:1),f=r/2+m*r/2*(y%2===0?-1:1),a=u,u=n*(y+1),o.push([a,h]),s.push([a,l]),y===t-1&&(o.push([u,f]),s.push([u,p]))}return[{type:"composite",segments:[{type:"quadraticBezier",points:s},{type:"quadraticBezier",points:o.reverse()}]}]},railing:e=>Si(e),floor:e=>Si(e),window:(e,t)=>Si(e,t),closet:e=>Si(e),interior:(e,t,i)=>{if(!i)return[{type:"circle",position:[0,0],radius:.01}];if(i=i.sort((r,n)=>Ii(r)>Ii(n)?-1:1),!(!i||!i.length))return[{type:"polygon",points:i[0],holes:i.slice(1)}]},polyfloor:e=>[{type:"polygon",points:e.polygon,holes:e.polygonHoles||[]}],polybox:e=>[{type:"polygon",points:e.polygon}],"a:helper:spaceDivider":e=>[{type:"rectangle",position:[0,-.02],dimensions:[e.l,.04]}],floorplan:e=>[{type:"rectangle",position:[-e.l/2,-e.w/2],dimensions:[e.l,e.w],style:{fill:!1}}]};function Si(e,t){let i=0,r=e.w;return e.type==="wall"&&(i=e.controlLine==="front"?e.w:e.controlLine==="center"?e.w/2:0),e.type==="window"&&(r=t.w,i=t.controlLine==="front"?t.w:t.controlLine==="center"?t.w/2:0),[{type:"polygon",points:[[0,0-i],[e.l,0-i],[e.l,r-i],[0,r-i]]}]}const Se=e=>{var t;return((t=e.src)==null?void 0:t.substring(1))||""},D0="fpe-pr1-",sh="fpe-dc2-";class X0 extends Ps{constructor(t,i){var r,n,s;super(),this.productQueue={},this.textureQueue={},this.promiseCache=new Map,this.loadStages={product:!0,productContour:!0,productTexture:!1},this.isSceneStructureLoaded=!1,this.initialLoading=!0,this._loadCounter=0,this.resources=t,this.productContourCacheAge=(r=i.api)==null?void 0:r.productContourCacheAge,this.productDataCacheAge=(n=i.api)==null?void 0:n.productDataCacheAge,this.loadStages.productTexture=!!((s=i.theme)!=null&&s.showAssetTextures)&&i.loadTextures!==!1,this.on("product-load-stage",this.loadStatus,this)}loadStatus({args:t}){const i=Object.values(this.textureQueue).reduce((s,o)=>s+o.nodes.size,0),r=Object.values(this.productQueue).reduce((s,o)=>s+o.nodes.size,0),n=i+r;this._loadCounter++,this.emit("loading-status",{totalCount:n,doneCount:this._loadCounter}),n===this._loadCounter&&this.emit("loading-done",{totalCount:n})}reset(){this.resources.spaces=[],this.resources.assets=[],this.resources.products={},this.resources.productContours={},this.resources.productBoundingBoxes={},this.textureQueue={},this.productQueue={},this._loadCounter=0,this.promiseCache=new Map,this.initialLoading=!0}}async function G0(e,t){if(t.promiseCache||(t.promiseCache=new Map),!e||!e.src)return;const i=Se(e);t.productQueue[i]||(t.productQueue[i]={loadStage:0,nodes:new Set}),t.productQueue[i].nodes.add(e),t.productQueue[i].loadStage<1&&await $0(i,t),t.loadStages.productContour&&H0(e,t)}async function H0(e,t){const i=Se(e),r=t.resources.products[i];if(!r||!t.productQueue[i])return;const n=n0(e,r);if(V0(t.resources,e),!t.textureQueue[n]){const s=Er.getProductThumbnailUrl(n);t.textureQueue[n]={productId:i,loadStage:0,nodes:new Set,textureUrl:s,applyFilter:!0},t.loadStages.productTexture&&t.emit("product-load-texture",{textureId:n,productData:r})}if(t.textureQueue[n].nodes.add(e),t.textureQueue[n].loadStage===2){t.emit("product-load-stage",{node:e,args:{_loadStage:3,_textureId:n}});return}t.resources.productBoundingBoxes[i]||(t.resources.productBoundingBoxes[i]=W0(r),t.productQueue[i].loadStage=2),t.productQueue[i].loadStage===2&&t.emit("product-load-stage",{node:e,args:{_loadStage:2}}),t.resources.productContours[i]||Y0(r,t).then(()=>{var s,o;((s=t.textureQueue[n])==null?void 0:s.loadStage)===1||((o=t.textureQueue[n])==null?void 0:o.error)?t.emit("product-contour",n):t.loadStages.productTexture||t.emit("product-load-stage",{node:e,args:{_loadStage:3}})})}const W0=e=>{const t=e.boundingPoints;let i;if(t)return i=[[t.min[0],t.min[2]],[t.min[0],t.max[2]],[t.max[0],t.max[2]],[t.max[0],t.min[2]]],e._loadStage=1,[i]},Y0=async(e,t)=>{const{productId:i}=e,r=sh+i,n=t.promiseCache.get(r);if(n)return n;const s=q0(i,t).then(o=>{const a=o;t.resources.productContours[i]=a,t.resources.products[i]._shapes=Os.interior({type:"interior"},null,a),t.productQueue[i].loadStage=3}).catch(()=>{});return t.promiseCache.set(r,s),s};function z0(e){if(!e)return;const t=e.subCategories.includes("ceilingLight"),i=e.subCategories.includes("rug"),r=e.productResourceId,n=Er.getProductThumbnailUrl(r);return{preview:e.preview,manufacturer:e.manufacturer,productId:r,name:e.productDisplayName,fileKey:e.fileKey,tags:e.tags,categories:e.categories,subCategories:e.subCategories,boundingPoints:e.boundingPoints,boundingBox:e.boundingBox,seatCapacity:e.seatCapacity,texture:n,materials:[],matColors:e.matColors,colours:e.colours,order:B0(e),isCeilingLamp:t,isCarpet:i,createdAt:e.createdAt,updatedAt:e.updatedAt,link:e.link}}function V0(e,t){if(!t||t.type!=="interior")return;let i=Se(t);if(!i)return;let r=Wl(t,e.products[i]);r&&!e.products[i].materials.includes(r)&&e.products[i].materials.splice(0,0,r)}function $0(e,t){const i=t.productDataCacheAge,r=i||24*3600*1e3;if(!e)return Promise.reject("product id missing");const n=D0+e,s=t.promiseCache.get(n);if(s)return s;const o=rh(n,i).then(a=>!a||!a.matColors?Er.getProduct(e).then(l=>(l.matColors={},l.colours&&l.colours.length&&l.colours.forEach(h=>{if(!h.includes(":"))return;let u=h.split(":"),f=Yl(u[1]);l.matColors[f]=u[2]}),ih(n,l,r),l)):a).then(a=>{const l=z0(a);t.resources.products[e]=l,t.productQueue[e].loadStage=1,t.emit("product-data",{productId:e,data:l})}).catch(a=>{console.warn(a.message)});return t.promiseCache.set(n,o),o}function q0(e,t){const i=t.productContourCacheAge,r=i||10*24*3600*1e3;if(!e)return Promise.reject("product id missing");const n=sh+e,s=t.promiseCache.get(n);if(s)return s;const o=rh(n,i).then(a=>a||Er.getProductOutline(e).then(l=>(ih(n,l,r),l))).catch(a=>{console.warn(a)});return t.promiseCache.set(n,o),o}function oh(e,t){const{node:i,...r}=t;return{...r,resourceType:e,setHighlight:n=>{i.setHighlight(n)},node:i}}function j0(e){return oh("space",e)}function Z0(e){return oh("asset",e)}const ah=e=>{const t=e.scene.nodesByType.interior;return Promise.all(t.map(i=>G0(i,e.loader).catch(r=>console.error(r)))).then(()=>{e.resources.assets=t.map(i=>{const r=Q0(i,e.resources);return r&&Z0(r)}).filter(i=>i)})};function J0(e,t){!e||t.type!=="polyfloor"||(e.usage=t.usage,e.usageName=$l(t.usage),e.program=Ir(t.usage),e.name=t.name,e.customId=t.customId)}function K0(e,t){if(!e)return null;const i=Se(e),r=t.products[i];if(!r)return null;const{boundingPoints:n}=r;if(n){const{min:s,max:o}=n,a=[[s[0],s[2]],[s[0],o[2]],[o[0],o[2]],[o[0],s[2]]];return Rt(e.getWorldPosition(),a)}return null}function Q0(e,t){if(!e)return;const i=Se(e),r=t.products[i];if(!r){console.error("no productData",i,e);return}const n=e.getWorldPosition(),s=K0(e,t),o=s&&wr([s]);return{id:e.id,node:e,polygon:s,boundingBox:o,name:r.name,manufacturer:r.manufacturer,productId:i,tags:r.tags,categories:r.categories,subCategories:r.subCategories,dimensions:r.boundingBox,seatCapacity:r.seatCapacity,position:{x:n.x,y:n.y,z:n.z},rotation:n.ry}}class tg{constructor({options:t={},scene:i}={}){this.settings=Re(bt),this.fpeId="fpe-"+Math.random().toString(36).replace(/[^a-z]+/g,"").substr(0,3),this.resources={spaces:[],assets:[],products:{},productContours:{},productBoundingBoxes:{}},this.computed={wallContours:[],relations:{spaces:[]},snapPoints:[],snapMargin:0},this.isBrowser=typeof process!="object"&&typeof window<"u",this._emitter=new Ps,this.set(t),this.loader=new X0(this.resources,this.settings),this.scene=i||new h0,i&&this.initScene(i),this.version=bt.api.sdkVersion,this.utils={polygonOffset:Pr,polygonIntersection:Fy,pointInPolygon:qe,polygonUnion:El},this.scene.on("scene-structure-loading",()=>{this.loader.isSceneStructureLoaded=!1}),this.scene.on("scene-structure-loaded",this.initScene,this)}on(t,i,r){return this._emitter.on(t,i,r),this}once(t,i,r){return this._emitter.once(t,i,r),this}off(t,i){return this._emitter.off(t,i),this}emit(t,...i){return this._emitter.emit(t,...i),this}initScene(t){this.loader.initialLoading||this.loader.reset(),this.scene||(this.scene=t),this.loader.isSceneStructureLoaded=!0,this.settings.theme.wallContours&&(this.computed.wallContours=Cs(this.scene)),this.getSpaces(),this.loader.emit("spaces-loaded",!0),ah(this).then(()=>{const i=this.settings.hideElements.includes("interior"),r=this.scene.nodesByType.interior.length===0;this.loader.emit("assets-loaded",!0),(i||r)&&this.loader.emit("loading-done",{totalCount:0})}),this.loader.initialLoading=!1}loadScene(t,i=this.settings.api){return new Promise((r,n)=>{(!t||typeof t!="string")&&n(`Expected non-empty string sceneId parameter instead got: "${t}"`);let s;try{s=S0(i)}catch(o){n(o)}return this.loader.once("assets-loaded",r),L0.getSceneStructure(t,s).then(o=>(M0(this.fpeId),this.scene.loadSceneStructure(o.structure,{planRotation:this.settings.planRotation}))).catch(o=>{const a=typeof o=="string"?o:o&&o.message;n(a)})}).catch(r=>{throw R0(this.fpeId,r),r})}getSpaces(){let t=ql({scene:this.scene});this.resources.spaces=t.map(i=>{let r=i.interiors;return delete i.interiors,j0({...i,assets:r.map(n=>n.id)})})}set(t={}){var i,r,n,s,o,a,l;const h=(i=this.settings.hideElements)==null?void 0:i.includes("interior");let u=Re(t);u.theme&&(u.theme=$s(bt.theme,u.theme)),u.ui&&(u.ui={...bt.ui,...u.ui}),u.api&&(u.api={...bt.api,...u.api}),u.units&&(u.units={...bt.units,...u.units});const f=!((r=u.hideElements)!=null&&r.includes("interior"));for(let p in u)this.settings[p]=u[p];if((o=(s=(n=this.settings.theme)==null?void 0:n.elements)==null?void 0:s.space)!=null&&o.program){const p=this.settings.theme.elements.space.program,d={wash:"care",operate:"support",common:"socialize"};Object.keys(p).forEach(v=>{Object.keys(d).includes(v)&&(p[d[v]]=p[v],delete p[v])})}this.scene&&this.scene.node&&(h&&f&&ah(this),((a=u.theme)==null?void 0:a.wallContours)&&!((l=this.computed.wallContours)!=null&&l.length)&&(this.computed.wallContours=Cs(this.scene)),this.scene.node.ry!==u.planRotation&&Number.isFinite(u.planRotation)&&(this.scene.node.set({ry:u.planRotation}),this.computed.wallContours&&(this.computed.wallContours=Cs(this.scene))),this.getSpaces()),this.emit("update-settings",this.settings)}getResourcesFromPosition(t){const i=this.resources.spaces.filter(n=>qe(t,n.polygons[0],n.polygons.slice(1))),r=[];return i.forEach(n=>{let s=this.resources.assets.filter(o=>n.assets.includes(o.id)).filter(o=>{var a;if(!(((a=this.resources.products[o.productId])==null?void 0:a.isCeilingLamp)&&!this.settings.showCeilingLamps)&&!(!o.polygon||!o.polygon.length))return qe(t,o.polygon)});r.push(...s)}),{spaces:i,assets:r}}getElementBoundingBox(t,i=0){if(!t)return;let r,n;if(t instanceof Ei?n=t.getWorldPosition():typeof t=="string"&&(r=this.scene.nodesById[t].find({id:t}),n=r&&r.getWorldPosition()),!n)return;let s;if(n.type==="interior"&&n.src){let a=Se(n),l=this.resources.productBoundingBoxes[a]||this.resources.productContours[a];s=l&&Rt(n,l[0])}else n.type==="polyfloor"?s=Rt(n,n.polygon):n.type!=="group"?s=bs(n):s=[[n.x-2,n.z-2],[n.x+2,n.z-2],[n.x+2,n.z+2],[n.x-2,n.z+2]];const o=wr([s]);return{x:o.x-i,z:o.z-i,x2:o.x2+i,z2:o.z2+i,length:o.length+i*2,width:o.width+i*2}}destroy(){delete this.scene,delete this.resources,delete this.settings,delete this.utils}}const lh=(e,t,i=.15)=>{let r,n,s;for(const o of t)if(r=Math.abs(e[0]-o[0]),!(r>i)&&(n=Math.abs(e[1]-o[1]),r<i&&n<i)){s=o;break}return s};function eg(e,t,i){const r=new MutationObserver(()=>{function n(s){return s.parentNode===t?!1:s.parentNode===null?!0:n(s.parentNode)}n(e)&&(r.disconnect(),i())});r.observe(t,{childList:!0,subtree:!0})}function ig(e,t,i){let{x:r,z:n,x2:s,z2:o,length:a,width:l}=e;const h=t/i;if(a/l>h){const u=l;l=a/h;const f=(u-l)/2;n+=f,o-=f}else{const u=a;a=l*h;const f=(u-a)/2;r+=f,s-=f}return{x:r,x2:s,z:n,z2:o,length:a,width:l}}function rg(e,t){var i,r;if(Ir(e.usage)==="void")return[];let{showUsage:n,showArea:s,roomStampDisplay:o}=((i=t.theme.elements)==null?void 0:i.roomStamp)||{};const a=t.spaceLabelMapping||{};let l;a[e.usage]!==void 0&&(l=a[e.usage]),a[e.id]!==void 0&&(l=a[e.id]);let h;switch(t.units.roomDimensions){case"area":h=zs(e.area,t.units.system,t.units.areaDecimals);break;case"boundingBox":const{length:p,width:d}=e.boundingBox;h=`${ti(p,t.units.system,t.units.lengthDecimals)} x ${ti(d,t.units.system,t.units.lengthDecimals)}`;break;default:h="";break}let u=e.usageName;if(!u&&e.usage!=="undefined"&&(u=Fh(e.usage||"")),l!==void 0&&(typeof l!="string"?console.warn("space label mapping has to be a string"):l.length>50?console.warn("space label mapping has to be less than 50 characters"):u=l),!o){const p=((r=t.theme.elements)==null?void 0:r.roomStamp)!==!1,d=n!==void 0||s!==void 0;o=[],p&&d?(n&&o.push("usage"),s&&o.push("area")):p&&o.push("usage","area")}const f=[];return o.forEach(p=>{var d,v;switch(p){case"name":(d=e.node)!=null&&d.name&&f.push(e.node.name);break;case"customId":(v=e.node)!=null&&v.customId&&f.push(e.node.customId);break;case"usage":f.push(u);break;case"area":f.push(h);break}}),f}function Rs(e,t=0){return({door:31,window:31,column:30,wall:30,closet:20,railing:20,curtain:20,kitchen:20,group:12,box:11,polybox:11,interior:10,"a:helper:spaceDivider":5,stairs:5,floor:0,polyfloor:0}[e]||0)+t}var hh={exports:{}};(function(e,t){(function(){var i,r;r=function(n){return e.exports=n},i={linear:function(n,s,o,a){return o*n/a+s},easeInQuad:function(n,s,o,a){return o*(n/=a)*n+s},easeOutQuad:function(n,s,o,a){return-o*(n/=a)*(n-2)+s},easeInOutQuad:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n+s:-o/2*(--n*(n-2)-1)+s},easeInCubic:function(n,s,o,a){return o*(n/=a)*n*n+s},easeOutCubic:function(n,s,o,a){return o*((n=n/a-1)*n*n+1)+s},easeInOutCubic:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n+s:o/2*((n-=2)*n*n+2)+s},easeInQuart:function(n,s,o,a){return o*(n/=a)*n*n*n+s},easeOutQuart:function(n,s,o,a){return-o*((n=n/a-1)*n*n*n-1)+s},easeInOutQuart:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n*n+s:-o/2*((n-=2)*n*n*n-2)+s},easeInQuint:function(n,s,o,a){return o*(n/=a)*n*n*n*n+s},easeOutQuint:function(n,s,o,a){return o*((n=n/a-1)*n*n*n*n+1)+s},easeInOutQuint:function(n,s,o,a){return(n/=a/2)<1?o/2*n*n*n*n*n+s:o/2*((n-=2)*n*n*n*n+2)+s},easeInSine:function(n,s,o,a){return-o*Math.cos(n/a*(Math.PI/2))+o+s},easeOutSine:function(n,s,o,a){return o*Math.sin(n/a*(Math.PI/2))+s},easeInOutSine:function(n,s,o,a){return-o/2*(Math.cos(Math.PI*n/a)-1)+s},easeInExpo:function(n,s,o,a){return n===0?s:o*Math.pow(2,10*(n/a-1))+s},easeOutExpo:function(n,s,o,a){return n===a?s+o:o*(-Math.pow(2,-10*n/a)+1)+s},easeInOutExpo:function(n,s,o,a){return(n/=a/2)<1?o/2*Math.pow(2,10*(n-1))+s:o/2*(-Math.pow(2,-10*--n)+2)+s},easeInCirc:function(n,s,o,a){return-o*(Math.sqrt(1-(n/=a)*n)-1)+s},easeOutCirc:function(n,s,o,a){return o*Math.sqrt(1-(n=n/a-1)*n)+s},easeInOutCirc:function(n,s,o,a){return(n/=a/2)<1?-o/2*(Math.sqrt(1-n*n)-1)+s:o/2*(Math.sqrt(1-(n-=2)*n)+1)+s},easeInElastic:function(n,s,o,a){var l,h,u;return u=1.70158,h=0,l=o,n===0||(n/=a),h||(h=a*.3),l<Math.abs(o)?(l=o,u=h/4):u=h/(2*Math.PI)*Math.asin(o/l),-(l*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/h))+s},easeOutElastic:function(n,s,o,a){var l,h,u;return u=1.70158,h=0,l=o,n===0||(n/=a),h||(h=a*.3),l<Math.abs(o)?(l=o,u=h/4):u=h/(2*Math.PI)*Math.asin(o/l),l*Math.pow(2,-10*n)*Math.sin((n*a-u)*(2*Math.PI)/h)+o+s},easeInOutElastic:function(n,s,o,a){var l,h,u;return u=1.70158,h=0,l=o,n===0||(n/=a/2),h||(h=a*(.3*1.5)),l<Math.abs(o)?(l=o,u=h/4):u=h/(2*Math.PI)*Math.asin(o/l),n<1?-.5*(l*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/h))+s:l*Math.pow(2,-10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/h)*.5+o+s},easeInBack:function(n,s,o,a,l){return l===void 0&&(l=1.70158),o*(n/=a)*n*((l+1)*n-l)+s},easeOutBack:function(n,s,o,a,l){return l===void 0&&(l=1.70158),o*((n=n/a-1)*n*((l+1)*n+l)+1)+s},easeInOutBack:function(n,s,o,a,l){return l===void 0&&(l=1.70158),(n/=a/2)<1?o/2*(n*n*(((l*=1.525)+1)*n-l))+s:o/2*((n-=2)*n*(((l*=1.525)+1)*n+l)+2)+s},easeInBounce:function(n,s,o,a){var l;return l=i.easeOutBounce(a-n,0,o,a),o-l+s},easeOutBounce:function(n,s,o,a){return(n/=a)<1/2.75?o*(7.5625*n*n)+s:n<2/2.75?o*(7.5625*(n-=1.5/2.75)*n+.75)+s:n<2.5/2.75?o*(7.5625*(n-=2.25/2.75)*n+.9375)+s:o*(7.5625*(n-=2.625/2.75)*n+.984375)+s},easeInOutBounce:function(n,s,o,a){var l;return n<a/2?(l=i.easeInBounce(n*2,0,o,a),l*.5+s):(l=i.easeOutBounce(n*2-a,0,o,a),l*.5+o*.5+s)}},r(i)}).call(kt)})(hh);var Ms=hh.exports;class xt{constructor(t){this.parent=t,this.paused=!1}destroy(){}down(t){return!1}move(t){return!1}up(t){return!1}wheel(t){return!1}update(t){}resize(){}reset(){}pause(){this.paused=!0}resume(){this.paused=!1}}function Ar(e,t){if(e){if(typeof e=="function")return e;if(typeof e=="string")return Ms[e]}else return Ms[t]}const ng={removeOnInterrupt:!1,ease:"linear",time:1e3};class Yt extends xt{__init(){this.startWidth=null}__init2(){this.startHeight=null}__init3(){this.deltaWidth=null}__init4(){this.deltaHeight=null}__init5(){this.width=null}__init6(){this.height=null}__init7(){this.time=0}constructor(t,i={}){super(t),Yt.prototype.__init.call(this),Yt.prototype.__init2.call(this),Yt.prototype.__init3.call(this),Yt.prototype.__init4.call(this),Yt.prototype.__init5.call(this),Yt.prototype.__init6.call(this),Yt.prototype.__init7.call(this),this.options=Object.assign({},ng,i),this.options.ease=Ar(this.options.ease),this.setupPosition(),this.setupZoom(),this.time=0}setupPosition(){typeof this.options.position<"u"?(this.startX=this.parent.center.x,this.startY=this.parent.center.y,this.deltaX=this.options.position.x-this.parent.center.x,this.deltaY=this.options.position.y-this.parent.center.y,this.keepCenter=!1):this.keepCenter=!0}setupZoom(){this.width=null,this.height=null,typeof this.options.scale<"u"?this.width=this.parent.screenWidth/this.options.scale:typeof this.options.scaleX<"u"||typeof this.options.scaleY<"u"?(typeof this.options.scaleX<"u"&&(this.width=this.parent.screenWidth/this.options.scaleX),typeof this.options.scaleY<"u"&&(this.height=this.parent.screenHeight/this.options.scaleY)):(typeof this.options.width<"u"&&(this.width=this.options.width),typeof this.options.height<"u"&&(this.height=this.options.height)),this.width!==null&&(this.startWidth=this.parent.screenWidthInWorldPixels,this.deltaWidth=this.width-this.startWidth),this.height!==null&&(this.startHeight=this.parent.screenHeightInWorldPixels,this.deltaHeight=this.height-this.startHeight)}down(){return this.options.removeOnInterrupt&&this.parent.plugins.remove("animate"),!1}complete(){this.parent.plugins.remove("animate"),this.width!==null&&this.parent.fitWidth(this.width,this.keepCenter,this.height===null),this.height!==null&&this.parent.fitHeight(this.height,this.keepCenter,this.width===null),this.keepCenter||this.parent.moveCenter(this.options.position),this.parent.emit("animate-end",this.parent),this.options.callbackOnComplete&&this.options.callbackOnComplete(this.parent)}update(t){if(!this.paused)if(this.time+=t,this.time>=this.options.time)this.complete();else{const i=new H(this.parent.scale.x,this.parent.scale.y),r=this.options.ease(this.time,0,1,this.options.time);if(this.width!==null){const n=this.startWidth,s=this.deltaWidth;this.parent.fitWidth(n+s*r,this.keepCenter,this.height===null)}if(this.height!==null){const n=this.startHeight,s=this.deltaHeight;this.parent.fitHeight(n+s*r,this.keepCenter,this.width===null)}if(this.width===null?this.parent.scale.x=this.parent.scale.y:this.height===null&&(this.parent.scale.y=this.parent.scale.x),!this.keepCenter){const n=this.startX,s=this.startY,o=this.deltaX,a=this.deltaY,l=new H(this.parent.x,this.parent.y);this.parent.moveCenter(n+o*r,s+a*r),this.parent.emit("moved",{viewport:this.parent,original:l,type:"animate"})}(this.width||this.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:i,type:"animate"})}}}function Sr(e){let t,i=e[0],r=1;for(;r<e.length;){const n=e[r],s=e[r+1];if(r+=2,(n==="optionalAccess"||n==="optionalCall")&&i==null)return;n==="access"||n==="optionalAccess"?(t=i,i=s(i)):(n==="call"||n==="optionalCall")&&(i=s((...o)=>i.call(t,...o)),t=void 0)}return i}const sg={sides:"all",friction:.5,time:150,ease:"easeInOutSine",underflow:"center",bounceBox:null};class og extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},sg,i),this.ease=Ar(this.options.ease,"easeInOutSine"),this.options.sides?this.options.sides==="all"?this.top=this.bottom=this.left=this.right=!0:this.options.sides==="horizontal"?(this.right=this.left=!0,this.top=this.bottom=!1):this.options.sides==="vertical"?(this.left=this.right=!1,this.top=this.bottom=!0):(this.top=this.options.sides.indexOf("top")!==-1,this.bottom=this.options.sides.indexOf("bottom")!==-1,this.left=this.options.sides.indexOf("left")!==-1,this.right=this.options.sides.indexOf("right")!==-1):this.left=this.top=this.right=this.bottom=!1;const r=this.options.underflow.toLowerCase();r==="center"?(this.underflowX=0,this.underflowY=0):(this.underflowX=r.indexOf("left")!==-1?-1:r.indexOf("right")!==-1?1:0,this.underflowY=r.indexOf("top")!==-1?-1:r.indexOf("bottom")!==-1?1:0),this.reset()}isActive(){return this.toX!==null||this.toY!==null}down(){return this.toX=this.toY=null,!1}up(){return this.bounce(),!1}update(t){if(!this.paused){if(this.bounce(),this.toX){const i=this.toX;i.time+=t,this.parent.emit("moved",{viewport:this.parent,type:"bounce-x"}),i.time>=this.options.time?(this.parent.x=i.end,this.toX=null,this.parent.emit("bounce-x-end",this.parent)):this.parent.x=this.ease(i.time,i.start,i.delta,this.options.time)}if(this.toY){const i=this.toY;i.time+=t,this.parent.emit("moved",{viewport:this.parent,type:"bounce-y"}),i.time>=this.options.time?(this.parent.y=i.end,this.toY=null,this.parent.emit("bounce-y-end",this.parent)):this.parent.y=this.ease(i.time,i.start,i.delta,this.options.time)}}}calcUnderflowX(){let t;switch(this.underflowX){case-1:t=0;break;case 1:t=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:t=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}return t}calcUnderflowY(){let t;switch(this.underflowY){case-1:t=0;break;case 1:t=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:t=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}return t}oob(){const t=this.options.bounceBox;if(t){const i=typeof t.x>"u"?0:t.x,r=typeof t.y>"u"?0:t.y,n=typeof t.width>"u"?this.parent.worldWidth:t.width,s=typeof t.height>"u"?this.parent.worldHeight:t.height;return{left:this.parent.left<i,right:this.parent.right>n,top:this.parent.top<r,bottom:this.parent.bottom>s,topLeft:new H(i*this.parent.scale.x,r*this.parent.scale.y),bottomRight:new H(n*this.parent.scale.x-this.parent.screenWidth,s*this.parent.scale.y-this.parent.screenHeight)}}return{left:this.parent.left<0,right:this.parent.right>this.parent.worldWidth,top:this.parent.top<0,bottom:this.parent.bottom>this.parent.worldHeight,topLeft:new H(0,0),bottomRight:new H(this.parent.worldWidth*this.parent.scale.x-this.parent.screenWidth,this.parent.worldHeight*this.parent.scale.y-this.parent.screenHeight)}}bounce(){if(this.paused)return;let t,i=this.parent.plugins.get("decelerate",!0);i&&(i.x||i.y)&&(i.x&&i.percentChangeX===Sr([i,"access",s=>s.options,"optionalAccess",s=>s.friction])||i.y&&i.percentChangeY===Sr([i,"access",s=>s.options,"optionalAccess",s=>s.friction]))&&(t=this.oob(),(t.left&&this.left||t.right&&this.right)&&(i.percentChangeX=this.options.friction),(t.top&&this.top||t.bottom&&this.bottom)&&(i.percentChangeY=this.options.friction));const r=this.parent.plugins.get("drag",!0)||{},n=this.parent.plugins.get("pinch",!0)||{};if(i=i||{},!Sr([r,"optionalAccess",s=>s.active])&&!Sr([n,"optionalAccess",s=>s.active])&&(!this.toX||!this.toY)&&(!i.x||!i.y)){t=t||this.oob();const s=t.topLeft,o=t.bottomRight;if(!this.toX&&!i.x){let a=null;t.left&&this.left?a=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-s.x:t.right&&this.right&&(a=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-o.x),a!==null&&this.parent.x!==a&&(this.toX={time:0,start:this.parent.x,delta:a-this.parent.x,end:a},this.parent.emit("bounce-x-start",this.parent))}if(!this.toY&&!i.y){let a=null;t.top&&this.top?a=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-s.y:t.bottom&&this.bottom&&(a=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-o.y),a!==null&&this.parent.y!==a&&(this.toY={time:0,start:this.parent.y,delta:a-this.parent.y,end:a},this.parent.emit("bounce-y-start",this.parent))}}}reset(){this.toX=this.toY=null,this.bounce()}}const ag={left:!1,right:!1,top:!1,bottom:!1,direction:null,underflow:"center"};class lg extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},ag,i),this.options.direction&&(this.options.left=this.options.direction==="x"||this.options.direction==="all"?!0:null,this.options.right=this.options.direction==="x"||this.options.direction==="all"?!0:null,this.options.top=this.options.direction==="y"||this.options.direction==="all"?!0:null,this.options.bottom=this.options.direction==="y"||this.options.direction==="all"?!0:null),this.parseUnderflow(),this.last={x:null,y:null,scaleX:null,scaleY:null},this.update()}parseUnderflow(){const t=this.options.underflow.toLowerCase();t==="none"?this.noUnderflow=!0:t==="center"?(this.underflowX=this.underflowY=0,this.noUnderflow=!1):(this.underflowX=t.indexOf("left")!==-1?-1:t.indexOf("right")!==-1?1:0,this.underflowY=t.indexOf("top")!==-1?-1:t.indexOf("bottom")!==-1?1:0,this.noUnderflow=!1)}move(){return this.update(),!1}update(){if(this.paused||this.parent.x===this.last.x&&this.parent.y===this.last.y&&this.parent.scale.x===this.last.scaleX&&this.parent.scale.y===this.last.scaleY)return;const t={x:this.parent.x,y:this.parent.y},i=this.parent.plugins.decelerate||{};if(this.options.left!==null||this.options.right!==null){let r=!1;if(!this.noUnderflow&&this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x!==0&&(this.parent.x=0,r=!0);break;case 1:this.parent.x!==this.parent.screenWidth-this.parent.screenWorldWidth&&(this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth,r=!0);break;default:this.parent.x!==(this.parent.screenWidth-this.parent.screenWorldWidth)/2&&(this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2,r=!0)}else this.options.left!==null&&this.parent.left<(this.options.left===!0?0:this.options.left)&&(this.parent.x=-(this.options.left===!0?0:this.options.left)*this.parent.scale.x,i.x=0,r=!0),this.options.right!==null&&this.parent.right>(this.options.right===!0?this.parent.worldWidth:this.options.right)&&(this.parent.x=-(this.options.right===!0?this.parent.worldWidth:this.options.right)*this.parent.scale.x+this.parent.screenWidth,i.x=0,r=!0);r&&this.parent.emit("moved",{viewport:this.parent,original:t,type:"clamp-x"})}if(this.options.top!==null||this.options.bottom!==null){let r=!1;if(!this.noUnderflow&&this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y!==0&&(this.parent.y=0,r=!0);break;case 1:this.parent.y!==this.parent.screenHeight-this.parent.screenWorldHeight&&(this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight,r=!0);break;default:this.parent.y!==(this.parent.screenHeight-this.parent.screenWorldHeight)/2&&(this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2,r=!0)}else this.options.top!==null&&this.parent.top<(this.options.top===!0?0:this.options.top)&&(this.parent.y=-(this.options.top===!0?0:this.options.top)*this.parent.scale.y,i.y=0,r=!0),this.options.bottom!==null&&this.parent.bottom>(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)&&(this.parent.y=-(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)*this.parent.scale.y+this.parent.screenHeight,i.y=0,r=!0);r&&this.parent.emit("moved",{viewport:this.parent,original:t,type:"clamp-y"})}this.last.x=this.parent.x,this.last.y=this.parent.y,this.last.scaleX=this.parent.scale.x,this.last.scaleY=this.parent.scale.y}reset(){this.update()}}const hg={minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,minScale:null,maxScale:null};class ug extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},hg,i),this.clamp()}resize(){this.clamp()}clamp(){if(!this.paused){if(this.options.minWidth||this.options.minHeight||this.options.maxWidth||this.options.maxHeight){let t=this.parent.worldScreenWidth,i=this.parent.worldScreenHeight;if(this.options.minWidth!==null&&t<this.options.minWidth){const r=this.parent.scale.x;this.parent.fitWidth(this.options.minWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/r,t=this.parent.worldScreenWidth,i=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.maxWidth!==null&&t>this.options.maxWidth){const r=this.parent.scale.x;this.parent.fitWidth(this.options.maxWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/r,t=this.parent.worldScreenWidth,i=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.minHeight!==null&&i<this.options.minHeight){const r=this.parent.scale.y;this.parent.fitHeight(this.options.minHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/r,t=this.parent.worldScreenWidth,i=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.maxHeight!==null&&i>this.options.maxHeight){const r=this.parent.scale.y;this.parent.fitHeight(this.options.maxHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/r,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}}else if(this.options.minScale||this.options.maxScale){const t={x:null,y:null},i={x:null,y:null};if(typeof this.options.minScale=="number")t.x=this.options.minScale,t.y=this.options.minScale;else if(this.options.minScale!==null){const s=this.options.minScale;t.x=typeof s.x>"u"?null:s.x,t.y=typeof s.y>"u"?null:s.y}if(typeof this.options.maxScale=="number")i.x=this.options.maxScale,i.y=this.options.maxScale;else if(this.options.maxScale!==null){const s=this.options.maxScale;i.x=typeof s.x>"u"?null:s.x,i.y=typeof s.y>"u"?null:s.y}let r=this.parent.scale.x,n=this.parent.scale.y;t.x!==null&&r<t.x&&(r=t.x),i.x!==null&&r>i.x&&(r=i.x),t.y!==null&&n<t.y&&(n=t.y),i.y!==null&&n>i.y&&(n=i.y),(r!==this.parent.scale.x||n!==this.parent.scale.y)&&(this.parent.scale.set(r,n),this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"}))}}}reset(){this.clamp()}}const fg={friction:.98,bounce:.8,minSpeed:.01},se=16;class cg extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},fg,i),this.saved=[],this.timeSinceRelease=0,this.reset(),this.parent.on("moved",r=>this.moved(r))}down(){return this.saved=[],this.x=this.y=null,!1}isActive(){return!!(this.x||this.y)}move(){if(this.paused)return!1;const t=this.parent.input.count();return(t===1||t>1&&!this.parent.plugins.get("pinch",!0))&&(this.saved.push({x:this.parent.x,y:this.parent.y,time:performance.now()}),this.saved.length>60&&this.saved.splice(0,30)),!1}moved(t){if(this.saved.length){const i=this.saved[this.saved.length-1];t.type==="clamp-x"?i.x===t.original.x&&(i.x=this.parent.x):t.type==="clamp-y"&&i.y===t.original.y&&(i.y=this.parent.y)}}up(){if(this.parent.input.count()===0&&this.saved.length){const t=performance.now();for(const i of this.saved)if(i.time>=t-100){const r=t-i.time;this.x=(this.parent.x-i.x)/r,this.y=(this.parent.y-i.y)/r,this.percentChangeX=this.percentChangeY=this.options.friction,this.timeSinceRelease=0;break}}return!1}activate(t){t=t||{},typeof t.x<"u"&&(this.x=t.x,this.percentChangeX=this.options.friction),typeof t.y<"u"&&(this.y=t.y,this.percentChangeY=this.options.friction)}update(t){if(this.paused)return;const i=this.x||this.y,r=this.timeSinceRelease,n=this.timeSinceRelease+t;if(this.x){const s=this.percentChangeX,o=Math.log(s);this.parent.x+=this.x*se/o*(Math.pow(s,n/se)-Math.pow(s,r/se)),this.x*=Math.pow(this.percentChangeX,t/se)}if(this.y){const s=this.percentChangeY,o=Math.log(s);this.parent.y+=this.y*se/o*(Math.pow(s,n/se)-Math.pow(s,r/se)),this.y*=Math.pow(this.percentChangeY,t/se)}this.timeSinceRelease+=t,this.x&&this.y?Math.abs(this.x)<this.options.minSpeed&&Math.abs(this.y)<this.options.minSpeed&&(this.x=0,this.y=0):(Math.abs(this.x||0)<this.options.minSpeed&&(this.x=0),Math.abs(this.y||0)<this.options.minSpeed&&(this.y=0)),i&&this.parent.emit("moved",{viewport:this.parent,type:"decelerate"})}reset(){this.x=this.y=null}}const pg={direction:"all",pressDrag:!0,wheel:!0,wheelScroll:1,reverse:!1,clampWheel:!1,underflow:"center",factor:1,mouseButtons:"all",keyToPress:null,ignoreKeyToPressOnTouch:!1,lineHeight:20};class dg extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},pg,i),this.moved=!1,this.reverse=this.options.reverse?1:-1,this.xDirection=!this.options.direction||this.options.direction==="all"||this.options.direction==="x",this.yDirection=!this.options.direction||this.options.direction==="all"||this.options.direction==="y",this.keyIsPressed=!1,this.parseUnderflow(),this.mouseButtons(this.options.mouseButtons),this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(t){window.addEventListener("keydown",i=>{t.includes(i.code)&&(this.keyIsPressed=!0)}),window.addEventListener("keyup",i=>{t.includes(i.code)&&(this.keyIsPressed=!1)})}mouseButtons(t){!t||t==="all"?this.mouse=[!0,!0,!0]:this.mouse=[t.indexOf("left")!==-1,t.indexOf("middle")!==-1,t.indexOf("right")!==-1]}parseUnderflow(){const t=this.options.underflow.toLowerCase();t==="center"?(this.underflowX=0,this.underflowY=0):(t.includes("left")?this.underflowX=-1:t.includes("right")?this.underflowX=1:this.underflowX=0,t.includes("top")?this.underflowY=-1:t.includes("bottom")?this.underflowY=1:this.underflowY=0)}checkButtons(t){const i=t.data.pointerType==="mouse",r=this.parent.input.count();return!!((r===1||r>1&&!this.parent.plugins.get("pinch",!0))&&(!i||this.mouse[t.data.button]))}checkKeyPress(t){return!this.options.keyToPress||this.keyIsPressed||this.options.ignoreKeyToPressOnTouch&&t.data.pointerType==="touch"}down(t){return this.paused||!this.options.pressDrag?!1:this.checkButtons(t)&&this.checkKeyPress(t)?(this.last={x:t.data.global.x,y:t.data.global.y},this.current=t.data.pointerId,!0):(this.last=null,!1)}get active(){return this.moved}move(t){if(this.paused||!this.options.pressDrag)return!1;if(this.last&&this.current===t.data.pointerId){const i=t.data.global.x,r=t.data.global.y,n=this.parent.input.count();if(n===1||n>1&&!this.parent.plugins.get("pinch",!0)){const s=i-this.last.x,o=r-this.last.y;if(this.moved||this.xDirection&&this.parent.input.checkThreshold(s)||this.yDirection&&this.parent.input.checkThreshold(o)){const a={x:i,y:r};return this.xDirection&&(this.parent.x+=(a.x-this.last.x)*this.options.factor),this.yDirection&&(this.parent.y+=(a.y-this.last.y)*this.options.factor),this.last=a,this.moved||this.parent.emit("drag-start",{event:t,screen:new H(this.last.x,this.last.y),world:this.parent.toWorld(new H(this.last.x,this.last.y)),viewport:this.parent}),this.moved=!0,this.parent.emit("moved",{viewport:this.parent,type:"drag"}),!0}}else this.moved=!1}return!1}up(t){if(this.paused)return!1;const i=this.parent.input.touches;if(i.length===1){const r=i[0];return r.last&&(this.last={x:r.last.x,y:r.last.y},this.current=r.id),this.moved=!1,!0}else if(this.last&&this.moved){const r=new H(this.last.x,this.last.y);return this.parent.emit("drag-end",{event:t,screen:r,world:this.parent.toWorld(r),viewport:this.parent}),this.last=null,this.moved=!1,!0}return!1}wheel(t){if(this.paused)return!1;if(this.options.wheel){const i=this.parent.plugins.get("wheel",!0);if(!i||!i.options.wheelZoom&&!t.ctrlKey){const r=t.deltaMode?this.options.lineHeight:1;return this.xDirection&&(this.parent.x+=t.deltaX*r*this.options.wheelScroll*this.reverse),this.yDirection&&(this.parent.y+=t.deltaY*r*this.options.wheelScroll*this.reverse),this.options.clampWheel&&this.clamp(),this.parent.emit("wheel-scroll",this.parent),this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.options.passiveWheel||t.preventDefault(),this.parent.options.stopPropagation&&t.stopPropagation(),!0}}return!1}resume(){this.last=null,this.paused=!1}clamp(){const t=this.parent.plugins.get("decelerate",!0)||{};if(this.options.clampWheel!=="y")if(this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x=0;break;case 1:this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}else this.parent.left<0?(this.parent.x=0,t.x=0):this.parent.right>this.parent.worldWidth&&(this.parent.x=-this.parent.worldWidth*this.parent.scale.x+this.parent.screenWidth,t.x=0);if(this.options.clampWheel!=="x")if(this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y=0;break;case 1:this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}else this.parent.top<0&&(this.parent.y=0,t.y=0),this.parent.bottom>this.parent.worldHeight&&(this.parent.y=-this.parent.worldHeight*this.parent.scale.y+this.parent.screenHeight,t.y=0)}}const vg={speed:0,acceleration:null,radius:null};class mg extends xt{constructor(t,i,r={}){super(t),this.target=i,this.options=Object.assign({},vg,r),this.velocity={x:0,y:0}}update(t){if(this.paused)return;const i=this.parent.center;let r=this.target.x,n=this.target.y;if(this.options.radius)if(Math.sqrt(Math.pow(this.target.y-i.y,2)+Math.pow(this.target.x-i.x,2))>this.options.radius){const l=Math.atan2(this.target.y-i.y,this.target.x-i.x);r=this.target.x-Math.cos(l)*this.options.radius,n=this.target.y-Math.sin(l)*this.options.radius}else return;const s=r-i.x,o=n-i.y;if(s||o)if(this.options.speed)if(this.options.acceleration){const a=Math.atan2(n-i.y,r-i.x),l=Math.sqrt(Math.pow(s,2)+Math.pow(o,2));if(l){const h=(Math.pow(this.velocity.x,2)+Math.pow(this.velocity.y,2))/(2*this.options.acceleration);l>h?this.velocity={x:Math.min(this.velocity.x+this.options.acceleration*t,this.options.speed),y:Math.min(this.velocity.y+this.options.acceleration*t,this.options.speed)}:this.velocity={x:Math.max(this.velocity.x-this.options.acceleration*this.options.speed,0),y:Math.max(this.velocity.y-this.options.acceleration*this.options.speed,0)};const u=Math.cos(a)*this.velocity.x,f=Math.sin(a)*this.velocity.y,p=Math.abs(u)>Math.abs(s)?r:i.x+u,d=Math.abs(f)>Math.abs(o)?n:i.y+f;this.parent.moveCenter(p,d),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}}else{const a=Math.atan2(n-i.y,r-i.x),l=Math.cos(a)*this.options.speed,h=Math.sin(a)*this.options.speed,u=Math.abs(l)>Math.abs(s)?r:i.x+l,f=Math.abs(h)>Math.abs(o)?n:i.y+h;this.parent.moveCenter(u,f),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}else this.parent.moveCenter(r,n),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}}const yg={radius:null,distance:null,top:null,bottom:null,left:null,right:null,speed:8,reverse:!1,noDecelerate:!1,linear:!1,allowButtons:!1};class gg extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},yg,i),this.reverse=this.options.reverse?1:-1,this.radiusSquared=typeof this.options.radius=="number"?Math.pow(this.options.radius,2):null,this.resize()}resize(){const t=this.options.distance;t!==null?(this.left=t,this.top=t,this.right=this.parent.worldScreenWidth-t,this.bottom=this.parent.worldScreenHeight-t):this.options.radius||(this.left=this.options.left,this.top=this.options.top,this.right=this.options.right===null?null:this.parent.worldScreenWidth-this.options.right,this.bottom=this.options.bottom===null?null:this.parent.worldScreenHeight-this.options.bottom)}down(){return this.paused||this.options.allowButtons||(this.horizontal=this.vertical=null),!1}move(t){if(this.paused||t.data.pointerType!=="mouse"&&t.data.identifier!==1||!this.options.allowButtons&&t.data.buttons!==0)return!1;const i=t.data.global.x,r=t.data.global.y;if(this.radiusSquared){const n=this.parent.toScreen(this.parent.center);if(Math.pow(n.x-i,2)+Math.pow(n.y-r,2)>=this.radiusSquared){const o=Math.atan2(n.y-r,n.x-i);this.options.linear?(this.horizontal=Math.round(Math.cos(o))*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.round(Math.sin(o))*this.options.speed*this.reverse*(60/1e3)):(this.horizontal=Math.cos(o)*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.sin(o)*this.options.speed*this.reverse*(60/1e3))}else this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=0}else this.left!==null&&i<this.left?this.horizontal=Number(this.reverse)*this.options.speed*(60/1e3):this.right!==null&&i>this.right?this.horizontal=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateHorizontal(),this.horizontal=0),this.top!==null&&r<this.top?this.vertical=Number(this.reverse)*this.options.speed*(60/1e3):this.bottom!==null&&r>this.bottom?this.vertical=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateVertical(),this.vertical=0);return!1}decelerateHorizontal(){const t=this.parent.plugins.get("decelerate",!0);this.horizontal&&t&&!this.options.noDecelerate&&t.activate({x:this.horizontal*this.options.speed*this.reverse/(1e3/60)})}decelerateVertical(){const t=this.parent.plugins.get("decelerate",!0);this.vertical&&t&&!this.options.noDecelerate&&t.activate({y:this.vertical*this.options.speed*this.reverse/(1e3/60)})}up(){return this.paused||(this.horizontal&&this.decelerateHorizontal(),this.vertical&&this.decelerateVertical(),this.horizontal=this.vertical=null),!1}update(){if(!this.paused&&(this.horizontal||this.vertical)){const t=this.parent.center;this.horizontal&&(t.x+=this.horizontal*this.options.speed),this.vertical&&(t.y+=this.vertical*this.options.speed),this.parent.moveCenter(t),this.parent.emit("moved",{viewport:this.parent,type:"mouse-edges"})}}}const _g={noDrag:!1,percent:1,center:null,factor:1,axis:"all"};class Ni extends xt{__init(){this.active=!1}__init2(){this.pinching=!1}__init3(){this.moved=!1}constructor(t,i={}){super(t),Ni.prototype.__init.call(this),Ni.prototype.__init2.call(this),Ni.prototype.__init3.call(this),this.options=Object.assign({},_g,i)}down(){return this.parent.input.count()>=2?(this.active=!0,!0):!1}isAxisX(){return["all","x"].includes(this.options.axis)}isAxisY(){return["all","y"].includes(this.options.axis)}move(t){if(this.paused||!this.active)return!1;const i=t.data.global.x,r=t.data.global.y,n=this.parent.input.touches;if(n.length>=2){const s=n[0],o=n[1],a=s.last&&o.last?Math.sqrt(Math.pow(o.last.x-s.last.x,2)+Math.pow(o.last.y-s.last.y,2)):null;if(s.id===t.data.pointerId?s.last={x:i,y:r,data:t.data}:o.id===t.data.pointerId&&(o.last={x:i,y:r,data:t.data}),a){let l;const h={x:s.last.x+(o.last.x-s.last.x)/2,y:s.last.y+(o.last.y-s.last.y)/2};this.options.center||(l=this.parent.toLocal(h));let u=Math.sqrt(Math.pow(o.last.x-s.last.x,2)+Math.pow(o.last.y-s.last.y,2));u=u===0?u=1e-10:u;const f=(1-a/u)*this.options.percent*(this.isAxisX()?this.parent.scale.x:this.parent.scale.y);this.isAxisX()&&(this.parent.scale.x+=f),this.isAxisY()&&(this.parent.scale.y+=f),this.parent.emit("zoomed",{viewport:this.parent,type:"pinch",center:h});const p=this.parent.plugins.get("clamp-zoom",!0);if(p&&p.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const d=this.parent.toGlobal(l);this.parent.x+=(h.x-d.x)*this.options.factor,this.parent.y+=(h.y-d.y)*this.options.factor,this.parent.emit("moved",{viewport:this.parent,type:"pinch"})}!this.options.noDrag&&this.lastCenter&&(this.parent.x+=(h.x-this.lastCenter.x)*this.options.factor,this.parent.y+=(h.y-this.lastCenter.y)*this.options.factor,this.parent.emit("moved",{viewport:this.parent,type:"pinch"})),this.lastCenter=h,this.moved=!0}else this.pinching||(this.parent.emit("pinch-start",this.parent),this.pinching=!0);return!0}return!1}up(){return this.pinching&&this.parent.input.touches.length<=1?(this.active=!1,this.lastCenter=null,this.pinching=!1,this.moved=!1,this.parent.emit("pinch-end",this.parent),!0):!1}}const xg={topLeft:!1,friction:.8,time:1e3,ease:"easeInOutSine",interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1};class wg extends xt{constructor(t,i,r,n={}){super(t),this.options=Object.assign({},xg,n),this.ease=Ar(n.ease,"easeInOutSine"),this.x=i,this.y=r,this.options.forceStart&&this.snapStart()}snapStart(){this.percent=0,this.snapping={time:0};const t=this.options.topLeft?this.parent.corner:this.parent.center;this.deltaX=this.x-t.x,this.deltaY=this.y-t.y,this.startX=t.x,this.startY=t.y,this.parent.emit("snap-start",this.parent)}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove("snap"),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove("snap"):this.options.interrupt&&(this.snapping=null),!1}up(){if(this.parent.input.count()===0){const t=this.parent.plugins.get("decelerate",!0);t&&(t.x||t.y)&&(t.percentChangeX=t.percentChangeY=this.options.friction)}return!1}update(t){if(!this.paused&&!(this.options.interrupt&&this.parent.input.count()!==0))if(this.snapping){const i=this.snapping;i.time+=t;let r,n,s;const o=this.startX,a=this.startY,l=this.deltaX,h=this.deltaY;if(i.time>this.options.time)r=!0,n=o+l,s=a+h;else{const u=this.ease(i.time,0,1,this.options.time);n=o+l*u,s=a+h*u}this.options.topLeft?this.parent.moveCorner(n,s):this.parent.moveCenter(n,s),this.parent.emit("moved",{viewport:this.parent,type:"snap"}),r&&(this.options.removeOnComplete&&this.parent.plugins.remove("snap"),this.parent.emit("snap-end",this.parent),this.snapping=null)}else{const i=this.options.topLeft?this.parent.corner:this.parent.center;(i.x!==this.x||i.y!==this.y)&&this.snapStart()}}}const Pg={width:0,height:0,time:1e3,ease:"easeInOutSine",center:null,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1,noMove:!1};class Tg extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},Pg,i),this.ease=Ar(this.options.ease),this.xIndependent=!1,this.yIndependent=!1,this.xScale=0,this.yScale=0,this.options.width>0&&(this.xScale=t.screenWidth/this.options.width,this.xIndependent=!0),this.options.height>0&&(this.yScale=t.screenHeight/this.options.height,this.yIndependent=!0),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale,this.options.time===0?(t.container.scale.x=this.xScale,t.container.scale.y=this.yScale,this.options.removeOnComplete&&this.parent.plugins.remove("snap-zoom")):i.forceStart&&this.createSnapping()}createSnapping(){const t=this.parent.worldScreenWidth,i=this.parent.worldScreenHeight,r=this.parent.screenWidth/this.xScale,n=this.parent.screenHeight/this.yScale;this.snapping={time:0,startX:t,startY:i,deltaX:r-t,deltaY:n-i},this.parent.emit("snap-zoom-start",this.parent)}resize(){this.snapping=null,this.options.width>0&&(this.xScale=this.parent.screenWidth/this.options.width),this.options.height>0&&(this.yScale=this.parent.screenHeight/this.options.height),this.xScale=this.xIndependent?this.xScale:this.yScale,this.yScale=this.yIndependent?this.yScale:this.xScale}wheel(){return this.options.removeOnInterrupt&&this.parent.plugins.remove("snap-zoom"),!1}down(){return this.options.removeOnInterrupt?this.parent.plugins.remove("snap-zoom"):this.options.interrupt&&(this.snapping=null),!1}update(t){if(this.paused||this.options.interrupt&&this.parent.input.count()!==0)return;let i;if(!this.options.center&&!this.options.noMove&&(i=this.parent.center),!this.snapping)(this.parent.scale.x!==this.xScale||this.parent.scale.y!==this.yScale)&&this.createSnapping();else if(this.snapping){const r=this.snapping;if(r.time+=t,r.time>=this.options.time)this.parent.scale.set(this.xScale,this.yScale),this.options.removeOnComplete&&this.parent.plugins.remove("snap-zoom"),this.parent.emit("snap-zoom-end",this.parent),this.snapping=null;else{const s=this.snapping,o=this.ease(s.time,s.startX,s.deltaX,this.options.time),a=this.ease(s.time,s.startY,s.deltaY,this.options.time);this.parent.scale.x=this.parent.screenWidth/o,this.parent.scale.y=this.parent.screenHeight/a}const n=this.parent.plugins.get("clamp-zoom",!0);n&&n.clamp(),this.options.noMove||(this.options.center?this.parent.moveCenter(this.options.center):this.parent.moveCenter(i))}}resume(){this.snapping=null,super.resume()}}const bg={percent:.1,smooth:!1,interrupt:!0,reverse:!1,center:null,lineHeight:20,axis:"all",keyToPress:null,trackpadPinch:!1,wheelZoom:!0};class Ig extends xt{constructor(t,i={}){super(t),this.options=Object.assign({},bg,i),this.keyIsPressed=!1,this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(t){window.addEventListener("keydown",i=>{t.includes(i.code)&&(this.keyIsPressed=!0)}),window.addEventListener("keyup",i=>{t.includes(i.code)&&(this.keyIsPressed=!1)})}checkKeyPress(){return!this.options.keyToPress||this.keyIsPressed}down(){return this.options.interrupt&&(this.smoothing=null),!1}isAxisX(){return["all","x"].includes(this.options.axis)}isAxisY(){return["all","y"].includes(this.options.axis)}update(){if(this.smoothing){const t=this.smoothingCenter,i=this.smoothing;let r;this.options.center||(r=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x+=i.x),this.isAxisY()&&(this.parent.scale.y+=i.y),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});const n=this.parent.plugins.get("clamp-zoom",!0);if(n&&n.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const s=this.parent.toGlobal(r);this.parent.x+=t.x-s.x,this.parent.y+=t.y-s.y}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.smoothingCount++,this.smoothingCount>=this.options.smooth&&(this.smoothing=null)}}pinch(t){if(this.paused)return;const i=this.parent.input.getPointerPosition(t),r=-t.deltaY*(t.deltaMode?this.options.lineHeight:1)/200,n=Math.pow(2,(1+this.options.percent)*r);let s;this.options.center||(s=this.parent.toLocal(i)),this.isAxisX()&&(this.parent.scale.x*=n),this.isAxisY()&&(this.parent.scale.y*=n),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});const o=this.parent.plugins.get("clamp-zoom",!0);if(o&&o.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const a=this.parent.toGlobal(s);this.parent.x+=i.x-a.x,this.parent.y+=i.y-a.y}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.emit("wheel",{wheel:{dx:t.deltaX,dy:t.deltaY,dz:t.deltaZ},event:t,viewport:this.parent})}wheel(t){if(this.paused||!this.checkKeyPress())return!1;if(t.ctrlKey&&this.options.trackpadPinch)this.pinch(t);else if(this.options.wheelZoom){const i=this.parent.input.getPointerPosition(t),n=(this.options.reverse?-1:1)*-t.deltaY*(t.deltaMode?this.options.lineHeight:1)/500,s=Math.pow(2,(1+this.options.percent)*n);if(this.options.smooth){const o={x:this.smoothing?this.smoothing.x*(this.options.smooth-this.smoothingCount):0,y:this.smoothing?this.smoothing.y*(this.options.smooth-this.smoothingCount):0};this.smoothing={x:((this.parent.scale.x+o.x)*s-this.parent.scale.x)/this.options.smooth,y:((this.parent.scale.y+o.y)*s-this.parent.scale.y)/this.options.smooth},this.smoothingCount=0,this.smoothingCenter=i}else{let o;this.options.center||(o=this.parent.toLocal(i)),this.isAxisX()&&(this.parent.scale.x*=s),this.isAxisY()&&(this.parent.scale.y*=s),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});const a=this.parent.plugins.get("clamp-zoom",!0);if(a&&a.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{const l=this.parent.toGlobal(o);this.parent.x+=i.x-l.x,this.parent.y+=i.y-l.y}}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.emit("wheel",{wheel:{dx:t.deltaX,dy:t.deltaY,dz:t.deltaZ},event:t,viewport:this.parent})}return!this.parent.options.passiveWheel}}class Cg{constructor(t){this.viewport=t,this.touches=[],this.addListeners()}addListeners(){this.viewport.interactive=!0,this.viewport.forceHitArea||(this.viewport.hitArea=new X(0,0,this.viewport.worldWidth,this.viewport.worldHeight)),this.viewport.on("pointerdown",this.down,this),this.viewport.on("pointermove",this.move,this),this.viewport.on("pointerup",this.up,this),this.viewport.on("pointerupoutside",this.up,this),this.viewport.on("pointercancel",this.up,this),this.viewport.on("pointerout",this.up,this),this.wheelFunction=t=>this.handleWheel(t),this.viewport.options.divWheel.addEventListener("wheel",this.wheelFunction,{passive:this.viewport.options.passiveWheel}),this.isMouseDown=!1}destroy(){this.viewport.options.divWheel.removeEventListener("wheel",this.wheelFunction)}down(t){if(this.viewport.pause||!this.viewport.worldVisible)return;if(t.data.pointerType==="mouse"?this.isMouseDown=!0:this.get(t.data.pointerId)||this.touches.push({id:t.data.pointerId,last:null}),this.count()===1){this.last=t.data.global.clone();const r=this.viewport.plugins.get("decelerate",!0),n=this.viewport.plugins.get("bounce",!0);(!r||!r.isActive())&&(!n||!n.isActive())?this.clickedAvailable=!0:this.clickedAvailable=!1}else this.clickedAvailable=!1;this.viewport.plugins.down(t)&&this.viewport.options.stopPropagation&&t.stopPropagation()}clear(){this.isMouseDown=!1,this.touches=[],this.last=null}checkThreshold(t){return Math.abs(t)>=this.viewport.threshold}move(t){if(this.viewport.pause||!this.viewport.worldVisible)return;const i=this.viewport.plugins.move(t);if(this.clickedAvailable&&this.last){const r=t.data.global.x-this.last.x,n=t.data.global.y-this.last.y;(this.checkThreshold(r)||this.checkThreshold(n))&&(this.clickedAvailable=!1)}i&&this.viewport.options.stopPropagation&&t.stopPropagation()}up(t){if(this.viewport.pause||!this.viewport.worldVisible)return;t.data.pointerType==="mouse"&&(this.isMouseDown=!1),t.data.pointerType!=="mouse"&&this.remove(t.data.pointerId);const i=this.viewport.plugins.up(t);this.clickedAvailable&&this.count()===0&&this.last&&(this.viewport.emit("clicked",{event:t,screen:this.last,world:this.viewport.toWorld(this.last),viewport:this}),this.clickedAvailable=!1),i&&this.viewport.options.stopPropagation&&t.stopPropagation()}getPointerPosition(t){const i=new H;return this.viewport.options.interaction?this.viewport.options.interaction.mapPositionToPoint(i,t.clientX,t.clientY):(i.x=t.clientX,i.y=t.clientY),i}handleWheel(t){if(this.viewport.pause||!this.viewport.worldVisible||this.viewport.options.interaction&&this.viewport.options.interaction.interactionDOMElement!==t.target)return;const i=this.viewport.toLocal(this.getPointerPosition(t));this.viewport.left<=i.x&&i.x<=this.viewport.right&&this.viewport.top<=i.y&&i.y<=this.viewport.bottom&&this.viewport.plugins.wheel(t)&&!this.viewport.options.passiveWheel&&t.preventDefault()}pause(){this.touches=[],this.isMouseDown=!1}get(t){for(const i of this.touches)if(i.id===t)return i;return null}remove(t){for(let i=0;i<this.touches.length;i++)if(this.touches[i].id===t){this.touches.splice(i,1);return}}count(){return(this.isMouseDown?1:0)+this.touches.length}}function Fs(e){let t,i=e[0],r=1;for(;r<e.length;){const n=e[r],s=e[r+1];if(r+=2,(n==="optionalAccess"||n==="optionalCall")&&i==null)return;n==="access"||n==="optionalAccess"?(t=i,i=s(i)):(n==="call"||n==="optionalCall")&&(i=s((...o)=>i.call(t,...o)),t=void 0)}return i}const Li=["drag","pinch","wheel","follow","mouse-edges","decelerate","animate","bounce","snap-zoom","clamp-zoom","snap","clamp"];class Eg{constructor(t){this.viewport=t,this.list=[],this.plugins={}}add(t,i,r=Li.length){this.plugins[t]=i;const n=Li.indexOf(t);n!==-1&&Li.splice(n,1),Li.splice(r,0,t),this.sort()}get(t,i){return i&&Fs([this,"access",r=>r.plugins,"access",r=>r[t],"optionalAccess",r=>r.paused])?null:this.plugins[t]}update(t){for(const i of this.list)i.update(t)}resize(){for(const t of this.list)t.resize()}reset(){for(const t of this.list)t.reset()}removeAll(){this.plugins={},this.sort()}remove(t){this.plugins[t]&&(delete this.plugins[t],this.viewport.emit(`${t}-remove`),this.sort())}pause(t){Fs([this,"access",i=>i.plugins,"access",i=>i[t],"optionalAccess",i=>i.pause,"call",i=>i()])}resume(t){Fs([this,"access",i=>i.plugins,"access",i=>i[t],"optionalAccess",i=>i.resume,"call",i=>i()])}sort(){this.list=[];for(const t of Li)this.plugins[t]&&this.list.push(this.plugins[t])}down(t){let i=!1;for(const r of this.list)r.down(t)&&(i=!0);return i}move(t){let i=!1;for(const r of this.viewport.plugins.list)r.move(t)&&(i=!0);return i}up(t){let i=!1;for(const r of this.list)r.up(t)&&(i=!0);return i}wheel(t){let i=!1;for(const r of this.list)r.wheel(t)&&(i=!0);return i}}const Ag={screenWidth:window.innerWidth,screenHeight:window.innerHeight,worldWidth:null,worldHeight:null,threshold:5,passiveWheel:!0,stopPropagation:!1,forceHitArea:null,noTicker:!1,interaction:null,disableOnContextMenu:!1,ticker:ct.shared};class ks extends et{__init(){this._disableOnContextMenu=t=>t.preventDefault()}constructor(t={}){super(),ks.prototype.__init.call(this),this.options=Object.assign({},{divWheel:document.body},Ag,t),this.screenWidth=this.options.screenWidth,this.screenHeight=this.options.screenHeight,this._worldWidth=this.options.worldWidth,this._worldHeight=this.options.worldHeight,this.forceHitArea=this.options.forceHitArea,this.threshold=this.options.threshold,this.options.divWheel=this.options.divWheel||document.body,this.options.disableOnContextMenu&&this.options.divWheel.addEventListener("contextmenu",this._disableOnContextMenu),this.options.noTicker||(this.tickerFunction=()=>this.update(this.options.ticker.elapsedMS),this.options.ticker.add(this.tickerFunction)),this.input=new Cg(this),this.plugins=new Eg(this)}destroy(t){!this.options.noTicker&&this.tickerFunction&&this.options.ticker.remove(this.tickerFunction),this.options.disableOnContextMenu&&this.options.divWheel.removeEventListener("contextmenu",this._disableOnContextMenu),this.input.destroy(),super.destroy(t)}update(t){this.pause||(this.plugins.update(t),this.lastViewport&&(this.lastViewport.x!==this.x||this.lastViewport.y!==this.y?this.moving=!0:this.moving&&(this.emit("moved-end",this),this.moving=!1),this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y?this.zooming=!0:this.zooming&&(this.emit("zoomed-end",this),this.zooming=!1)),this.forceHitArea||(this._hitAreaDefault=new X(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight),this.hitArea=this._hitAreaDefault),this._dirty=this._dirty||!this.lastViewport||this.lastViewport.x!==this.x||this.lastViewport.y!==this.y||this.lastViewport.scaleX!==this.scale.x||this.lastViewport.scaleY!==this.scale.y,this.lastViewport={x:this.x,y:this.y,scaleX:this.scale.x,scaleY:this.scale.y},this.emit("frame-end",this))}resize(t=window.innerWidth,i=window.innerHeight,r,n){this.screenWidth=t,this.screenHeight=i,typeof r<"u"&&(this._worldWidth=r),typeof n<"u"&&(this._worldHeight=n),this.plugins.resize(),this.dirty=!0}get worldWidth(){return this._worldWidth?this._worldWidth:this.width/this.scale.x}set worldWidth(t){this._worldWidth=t,this.plugins.resize()}get worldHeight(){return this._worldHeight?this._worldHeight:this.height/this.scale.y}set worldHeight(t){this._worldHeight=t,this.plugins.resize()}getVisibleBounds(){return new X(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight)}toWorld(t,i){return arguments.length===2?this.toLocal(new H(t,i)):this.toLocal(t)}toScreen(t,i){return arguments.length===2?this.toGlobal(new H(t,i)):this.toGlobal(t)}get worldScreenWidth(){return this.screenWidth/this.scale.x}get worldScreenHeight(){return this.screenHeight/this.scale.y}get screenWorldWidth(){return this.worldWidth*this.scale.x}get screenWorldHeight(){return this.worldHeight*this.scale.y}get center(){return new H(this.worldScreenWidth/2-this.x/this.scale.x,this.worldScreenHeight/2-this.y/this.scale.y)}set center(t){this.moveCenter(t)}moveCenter(...t){let i,r;typeof t[0]=="number"?(i=t[0],r=t[1]):(i=t[0].x,r=t[0].y);const n=(this.worldScreenWidth/2-i)*this.scale.x,s=(this.worldScreenHeight/2-r)*this.scale.y;return(this.x!==n||this.y!==s)&&(this.position.set(n,s),this.plugins.reset(),this.dirty=!0),this}get corner(){return new H(-this.x/this.scale.x,-this.y/this.scale.y)}set corner(t){this.moveCorner(t)}moveCorner(...t){let i,r;return t.length===1?(i=-t[0].x*this.scale.x,r=-t[0].y*this.scale.y):(i=-t[0]*this.scale.x,r=-t[1]*this.scale.y),(i!==this.x||r!==this.y)&&(this.position.set(i,r),this.plugins.reset(),this.dirty=!0),this}get screenWidthInWorldPixels(){return this.screenWidth/this.scale.x}get screenHeightInWorldPixels(){return this.screenHeight/this.scale.y}findFitWidth(t){return this.screenWidth/t}findFitHeight(t){return this.screenHeight/t}findFit(t,i){const r=this.screenWidth/t,n=this.screenHeight/i;return Math.min(r,n)}findCover(t,i){const r=this.screenWidth/t,n=this.screenHeight/i;return Math.max(r,n)}fitWidth(t=this.worldWidth,i,r=!0,n){let s;i&&(s=this.center),this.scale.x=this.screenWidth/t,r&&(this.scale.y=this.scale.x);const o=this.plugins.get("clamp-zoom",!0);return!n&&o&&o.clamp(),i&&s&&this.moveCenter(s),this}fitHeight(t=this.worldHeight,i,r=!0,n){let s;i&&(s=this.center),this.scale.y=this.screenHeight/t,r&&(this.scale.x=this.scale.y);const o=this.plugins.get("clamp-zoom",!0);return!n&&o&&o.clamp(),i&&s&&this.moveCenter(s),this}fitWorld(t){let i;t&&(i=this.center),this.scale.x=this.screenWidth/this.worldWidth,this.scale.y=this.screenHeight/this.worldHeight,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;const r=this.plugins.get("clamp-zoom",!0);return r&&r.clamp(),t&&i&&this.moveCenter(i),this}fit(t,i=this.worldWidth,r=this.worldHeight){let n;t&&(n=this.center),this.scale.x=this.screenWidth/i,this.scale.y=this.screenHeight/r,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;const s=this.plugins.get("clamp-zoom",!0);return s&&s.clamp(),t&&n&&this.moveCenter(n),this}setZoom(t,i){let r;i&&(r=this.center),this.scale.set(t);const n=this.plugins.get("clamp-zoom",!0);return n&&n.clamp(),i&&r&&this.moveCenter(r),this}zoomPercent(t,i){return this.setZoom(this.scale.x+this.scale.x*t,i)}zoom(t,i){return this.fitWidth(t+this.worldScreenWidth,i),this}get scaled(){return this.scale.x}set scaled(t){this.setZoom(t,!0)}snapZoom(t){return this.plugins.add("snap-zoom",new Tg(this,t)),this}OOB(){return{left:this.left<0,right:this.right>this.worldWidth,top:this.top<0,bottom:this.bottom>this.worldHeight,cornerPoint:new H(this.worldWidth*this.scale.x-this.screenWidth,this.worldHeight*this.scale.y-this.screenHeight)}}get right(){return-this.x/this.scale.x+this.worldScreenWidth}set right(t){this.x=-t*this.scale.x+this.screenWidth,this.plugins.reset()}get left(){return-this.x/this.scale.x}set left(t){this.x=-t*this.scale.x,this.plugins.reset()}get top(){return-this.y/this.scale.y}set top(t){this.y=-t*this.scale.y,this.plugins.reset()}get bottom(){return-this.y/this.scale.y+this.worldScreenHeight}set bottom(t){this.y=-t*this.scale.y+this.screenHeight,this.plugins.reset()}get dirty(){return!!this._dirty}set dirty(t){this._dirty=t}get forceHitArea(){return this._forceHitArea}set forceHitArea(t){t?(this._forceHitArea=t,this.hitArea=t):(this._forceHitArea=null,this.hitArea=new X(0,0,this.worldWidth,this.worldHeight))}drag(t){return this.plugins.add("drag",new dg(this,t)),this}clamp(t){return this.plugins.add("clamp",new lg(this,t)),this}decelerate(t){return this.plugins.add("decelerate",new cg(this,t)),this}bounce(t){return this.plugins.add("bounce",new og(this,t)),this}pinch(t){return this.plugins.add("pinch",new Ni(this,t)),this}snap(t,i,r){return this.plugins.add("snap",new wg(this,t,i,r)),this}follow(t,i){return this.plugins.add("follow",new mg(this,t,i)),this}wheel(t){return this.plugins.add("wheel",new Ig(this,t)),this}animate(t){return this.plugins.add("animate",new Yt(this,t)),this}clampZoom(t){return this.plugins.add("clamp-zoom",new ug(this,t)),this}mouseEdges(t){return this.plugins.add("mouse-edges",new gg(this,t)),this}get pause(){return!!this._pause}set pause(t){this._pause=t,this.lastViewport=null,this.moving=!1,this.zooming=!1,t&&this.input.pause()}ensureVisible(t,i,r,n,s){s&&(r>this.worldScreenWidth||n>this.worldScreenHeight)&&(this.fit(!0,r,n),this.emit("zoomed",{viewport:this,type:"ensureVisible"}));let o=!1;t<this.left?(this.left=t,o=!0):t+r>this.right&&(this.right=t+r,o=!0),i<this.top?(this.top=i,o=!0):i+n>this.bottom&&(this.bottom=i+n,o=!0),o&&this.emit("moved",{viewport:this,type:"ensureVisible"})}}const V=100;var uh={exports:{}};function Bs(){}Bs.prototype={on:function(e,t,i){var r=this.e||(this.e={});return(r[e]||(r[e]=[])).push({fn:t,ctx:i}),this},once:function(e,t,i){var r=this;function n(){r.off(e,n),t.apply(i,arguments)}return n._=t,this.on(e,n,i)},emit:function(e){var t=[].slice.call(arguments,1),i=((this.e||(this.e={}))[e]||[]).slice(),r=0,n=i.length;for(r;r<n;r++)i[r].fn.apply(i[r].ctx,t);return this},off:function(e,t){var i=this.e||(this.e={}),r=i[e],n=[];if(r&&t)for(var s=0,o=r.length;s<o;s++)r[s].fn!==t&&r[s].fn._!==t&&n.push(r[s]);return n.length?i[e]=n:delete i[e],this}},uh.exports=Bs;var fh=uh.exports.TinyEmitter=Bs;class Nr extends fh{constructor({floorPlan:t,helperId:i}){super(),this.floorPlan=t,this.helperId=i}destroy(){delete this.floorPlan.helper[this.helperId],this.floorPlan=null}}class Sg extends Nr{constructor({floorPlan:t,parentEl:i,helperId:r}){super({floorPlan:t,helperId:r}),!(!i||!t)&&(this.data={cursor:["0","0"]},this.floorPlan.on("mousemove",this.update,this),this.mount(i),this.update())}update(){!this.rootEl||this.setData({cursor:[ti(this.floorPlan.interaction.cursor[0],this.floorPlan.settings.units.system,this.floorPlan.settings.units.lengthDecimals),ti(this.floorPlan.interaction.cursor[1],this.floorPlan.settings.units.system,this.floorPlan.settings.units.lengthDecimals)]})}setData(t={}){for(let i in t)this.data[i]=t[i];this.rootEl.innerHTML=this.template(this.data)}template(t={}){return`<span class="fpe-coordinates__unit">x:${t.cursor[0]}</span>
802
+ <span class="fpe-coordinates__unit">z:${t.cursor[1]}</span>`}mount(t){this.rootEl||(this.rootEl=document.createElement("div"),this.rootEl.classList.add("fpe-coordinates"),t.appendChild(this.rootEl))}destroy(){this.floorPlan.off("mousemove",this.update),this.rootEl.remove(),delete this.floorPlan,delete this.data}}class Ng extends Nr{constructor({floorPlan:t,parentEl:i,helperId:r}){super({floorPlan:t,helperId:r}),!(!i||!t)&&(this.data={width:10,height:.4,margin:.2,style:"lines",box:{},scaleStep:null,scaleDisplay:null,steps:[],leftHanded:!1,isImperial:t.settings.units.system==="imperial"},this.floorPlan.view.on("zoom",this.update,this),this.floorPlan.on("update-settings",this.update,this),this.mount(i),this.update())}update(){this.data.isImperial=this.floorPlan.settings.units.system==="imperial";const t=this.data.isImperial?3.28084:1;if(!this.floorPlan.view.viewbox||!this.floorPlan.view.viewbox.length)return;this.data.box=this.floorPlan.view.viewbox;const i=Math.min(this.floorPlan.view.client[0],this.floorPlan.view.client[1]),r=Math.min(this.data.box.length,this.data.box.width),n=i/r;if(!n)return;const s=200/n;r<=2.5/t?this.data.scaleStep=.1/t:r<=5.4/t?this.data.scaleStep=.2/t:r<=12/t?this.data.scaleStep=.5/t:r<=25/t?this.data.scaleStep=1/t:r<=50/t?this.data.scaleStep=2/t:r<=100/t?this.data.scaleStep=5/t:r<=200/t?this.data.scaleStep=10/t:r<=550/t?this.data.scaleStep=20/t:this.data.scaleStep=50/t,this.data.scaleDisplay=this.data.scaleStep*t;const o=this.data.width,a=o*this.data.scaleStep/s,l=this.leftHanded?0:o;let h=0,u=[];if(this.data.leftHanded)for(;h<o-a;){let f=a<o-h?a:o-h;u.push([h+l,f]),h+=a}else for(;h>-o+a;){let f=a;u.push([h+l,-f]),h-=a}this.data.steps=u,this.setData()}setData(t={}){for(let i in t)this.data[i]=t[i];this.rootEl.setAttribute("viewBox",`-${this.data.margin} -${this.data.margin*3} ${this.data.width+this.data.margin*2} ${this.data.height+this.data.margin*2}`),this.rootEl.innerHTML=this.template(this.data)}template(t={}){let i="";return t.steps[0]&&(i+=`<rect
803
+ class="fpe-scale-bar__background"
804
+ style="fill:${this.backgroundClr()}"
805
+ y="${-t.height*2.5}"
806
+ x="${t.width+t.steps[0][1]-t.margin}"
807
+ width="${-t.steps[0][1]+t.margin*2}"
808
+ height="${t.height*4}"
809
+ />`),i+=`<text x="${t.leftHanded?0:t.width}" text-anchor="${t.leftHanded?"start":"end"}" y="-0.3">
810
+ ${t.scaleDisplay} ${t.isImperial?"ft":"m"}
811
+ </text>`,t.style==="lines"&&(i+=`<path d="${this.stepStr(t.steps)}" />`),t.style==="solid"&&(i+="<g>",t.steps.forEach((r,n)=>{i+=`<rect
812
+ class="${n%2!==0?"white":""}"
813
+ x="${r[0]}"
814
+ y="0"
815
+ width="${r[1]}"
816
+ height="0.5"
817
+ />`}),i+="</g>"),i}backgroundClr(){function t(n,s=1){if(Dh(n)){const{r:o,g:a,b:l}=Uh(n);return`rgba(${o},${a},${l},${s})`}}const i="rgba(255, 255, 255, 0.8)";let r=this.floorPlan.settings&&t(this.floorPlan.settings.theme.background.color);return r||(r=i),r+"!important"}stepStr(t){if(!t)return"";let i="",r=this.data.height;return t.forEach((n,s)=>{if(s>=1&&!this.data.leftHanded)return;n=n.map(l=>Math.round(l*1e3)/1e3);let o=s%2===0?0:r,a=s%2===0?r:0;s===0&&(i+=`M ${n[0]} ${r} L ${n[0]} 0`),i+=`L ${n[0]+n[1]} ${o} `,i+=`L ${n[0]+n[1]} ${a} `}),i}mount(t){this.rootEl||(this.rootEl=document.createElementNS("http://www.w3.org/2000/svg","svg"),this.rootEl.classList.add("fpe-scale-bar"),t.appendChild(this.rootEl))}destroy(){this.floorPlan.view.off("viewbox",this.update),this.floorPlan.off("update-settings",this.update),this.rootEl.remove(),delete this.floorPlan.helper.scaleBar,delete this.floorPlan,delete this.data}}const Lg=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 40 40">
818
+ <g fill="none" stroke="#000" stroke-width="1.2" stroke-miterlimit="10">
819
+ <path d="M11.8 11.8l16.4 16.4M11.8 28.2l16.3-16.4" />
820
+ </g>
821
+ </svg>`,ch={w:100,h:80,tip:15};class Og{constructor({width:t,height:i,pos:r=[0,0],html:n="",closeButton:s=!0,floorPlan:o}={}){this._floorPlan=o,this.pos=r,this.html=n,this.closeButton=s,this._anchorPos=null;let a=t||ch.w;this.width=Math.max(100,a);let l=i||ch.h;this.height=Math.max(50,l),this._getPosition=()=>{this._anchorPos=this._floorPlan.getScreenPosition(this.pos),this._updateInfoWindow()},this._getPosition(),this._createInfoWindow(),this._floorPlan.view.on("viewbox",this._getPosition,this),this._floorPlan.view.on("resize-canvas",this._getPosition,this)}_createInfoWindow(){const t=document.querySelector(`#${this._floorPlan.fpeId}.fpe`),i=t.querySelector("canvas");this.el||(this.el=document.createElement("div"),this.el.classList.add("fpe-info-window"),t.appendChild(this.el),this.el.addEventListener("wheel",r=>{let n=new WheelEvent(r.type,r);i.dispatchEvent(n)})),this._setContent(),this._updateInfoWindow()}_setContent(){let t=`<div class="fpe-info-window__content">${this.html}</div>`;this.closeButton&&(t+=`<div class="fpe-info-window__close" @click="infoWindow.remove">${Lg}</div>`),this.el.innerHTML=t;const i=this.el.querySelector(".fpe-info-window__close");i&&i.addEventListener("click",this.remove.bind(this))}_updateInfoWindow(){if(!this.el)return;const t=this._floorPlan.interaction.isPanning?"pointer-events: none;":"",i=this._anchorPos[0]-47,r=this._anchorPos[1]-this.height-15,n=1e3+this.pos[1]*2,s=this.height,o=this.width;this.el.setAttribute("style",`transform: translate(${i}px, ${r}px);${t} height:${s}px; width:${o}px; z-index:${n}`)}set({width:t,height:i,pos:r,html:n,closeButton:s}){r!==void 0&&(this.pos=r),t!==void 0&&(this.width=Math.max(100,t)),i!==void 0&&(this.height=Math.max(50,i)),n!==void 0&&(this.html=n),s!==void 0&&(this.closeButton=s),(n!==void 0||s!==void 0)&&this._setContent(),this._getPosition()}remove(){this._floorPlan.view.off("viewbox",this._getPosition),this._floorPlan.view.off("resize-canvas",this._getPosition),this.el.remove(),this._floorPlan=null}}const Rg=([e,t],i,r=0)=>i.x-r<e&&i.x+i.length+r>e&&i.z-r<t&&i.z+i.width+r>t;class Mg{constructor({pos:t=[0,0],offset:i=[0,0],el:r,floorPlan:n}){if(this._updateHtmlMarker=()=>{!this.el||(this.isHidden=!Rg(this.pos,this._floorPlan.view.viewbox,5),this.el.classList.toggle("fpe-marker--hidden",this.isHidden),this.isHidden||(this._anchorPos=this._floorPlan.getScreenPosition(this.pos),this._updateHtmlMarkerStyle()))},!n)return;if(!(r instanceof HTMLElement)){console.warn("no Element provided");return}this.el=r;const s=document.querySelector(`#${n.fpeId}.fpe`),o=s.querySelector("canvas");s.appendChild(this.el),this.el.classList.add("fpe-marker");const{width:a,height:l}=r.getBoundingClientRect();this.el.addEventListener("wheel",h=>{let u=new WheelEvent(h.type,h);o.dispatchEvent(u)}),this.id=he(),this._floorPlan=n,this.pos=t,this.size=[a,l],this.offset=i,this._updateHtmlMarker(),this._floorPlan.view.on("viewbox",this._updateHtmlMarker),this._floorPlan.on("drag-end",this._updateHtmlMarker),this._floorPlan.view.on("resize-canvas",this._updateHtmlMarker)}_updateHtmlMarkerStyle(){const t=this._floorPlan.interaction.isPanning,i=this.offset?this.offset:[0,0],r=this._anchorPos[0]-this.size[0]/2+i[0],n=this._anchorPos[1]-this.size[1]/2+i[1];this.el.style.pointerEvents=t?"none":"",this.el.style.transform=`translate(${r}px, ${n}px)`}set({pos:t,offset:i}){t!==void 0&&(this.pos=t),i!==void 0&&(this.offset=i),this._updateHtmlMarker()}remove(){this._floorPlan.view.off("viewbox",this._updateHtmlMarker),this._floorPlan.view.off("resize-canvas",this._updateHtmlMarker),this._floorPlan.off("drag-end",this._updateHtmlMarker),this.el.remove(),this._floorPlan=null}}Pm({ShaderSystem:Ha}),be.registerPlugin("batch",tm),be.registerPlugin("interaction",il),re.registerPlugin("extract",Om),re.registerPlugin("graphics",Rm),re.registerPlugin("prepare",$m),re.registerPlugin("sprite",qm),re.registerPlugin("interaction",il);const ph={ColorMatrixFilter:ds};iy(re);const Fg=Object.freeze(Object.defineProperty({__proto__:null,utils:yd,filters:ph,SCALE_MODES:lt,settings:F,Ticker:ct,Container:et,AbstractRenderer:jn,Sprite:Lt,Graphics:tt,Text:$e,TextStyle:Ce},Symbol.toStringTag,{value:"Module"}));class kg{constructor({pos:t,color:i,size:r,floorPlan:n}){this.pos=t,this.color=i,this.size=r,this.floorPlan=n,this.id=he(),this.draw()}draw(){const t=this.size/4e3;this.layer=this.floorPlan.addLayer({id:"fpe-markers"});let i=[{type:"composite",segments:[{type:"arc",position:[0,-27.8],radius:12.4,startAngle:-25,endAngle:205},{type:"line",end:[0,0],start:[-11.2,-22.5]}],style:{fill:Ge(this.color),stroke:6710886,strokeWidth:.5/t}},{type:"circle",position:[0,-28],radius:5,style:{fill:1,fillOpacity:.2}}];this.graphic=this.layer.addGraphic({shapes:i,pos:this.pos,id:"marker_"+this.id,scale:t,scaleOnZoom:!0})}remove(){this.off("click"),this.layer.deleteGraphic(this.graphic),delete this.floorPlan,this.layer.graphics.size===0&&this.layer.destroy()}on(t="click",i,r){this.graphic.gfx.interactive=!0,this.graphic.gfx.on(t,i,r)}off(t="click",i){this.graphic.gfx.off(t,i)}set(t){let i=["pos","color","size"];Object.keys(t).forEach(r=>{i.includes(r)&&(this[r]=t[r])}),this.draw()}}function dh(e,t,i=!1,r=16,n=8){let s=[];for(let y=0;y<t.length-1;y+=2)s.push({x:t[y],y:t[y+1]});let o,a,l,h=0,u=0,f=i?1:0;for(o=0;o<s.length-f;o++){a=s[o],o==s.length-1?l=s[0]:l=s[o+1];let y=l.x-a.x,m=l.y-a.y;var p=Math.sqrt(y*y+m*m),d={x:y/p,y:m/p},v=0;for(e.moveTo(a.x+u*d.x,a.y+u*d.y);v<=p;)v+=u,h>0?v+=h:v+=r,v>p?(h=v-p,v=p):h=0,e.lineTo(a.x+v*d.x,a.y+v*d.y),v+=n,v>p&&h==0?u=v-p:(u=0,e.moveTo(a.x+v*d.x,a.y+v*d.y))}}function Mt(e){if(typeof e=="number")return e;if(typeof e=="string")return Ge(e);if(Array.isArray(e))return ui(e.map(t=>t/255))}function Us(e){return e.stroke?{alpha:e.strokeOpacity||1,color:Mt(e.stroke),native:e.strokeWidth==="native",width:typeof e.strokeWidth=="number"?e.strokeWidth:1}:{}}function Ne({shape:e,settings:t,gfx:i,style:r={}}){var n,s,o;if(!i||!i.lineStyle)return;let a={...r,...e.style||{}};const l=V,h=!["line","polyline","arc"].includes(e.type)&&!!a.fill;if(h&&a.fill&&i.beginFill(Mt(a.fill),a.fillOpacity),i.lineStyle(Us(a)),e.type==="rectangle"){let{position:u,dimensions:f}=e;i.drawRect(u[0]*l,u[1]*l,f[0]*l,f[1]*l)}else if(e.type==="circle"||e.type==="composite"){let u=Zl(e);vh(u.points,[],a,l,i,h)}else if(e.type==="arc"||e.type==="quadraticBezier")Es(e).points.forEach((u,f)=>{f===0?i.moveTo(u[0]*l,u[1]*l):i.lineTo(u[0]*l,u[1]*l)});else if(e.type==="polygon"){let{points:u,holes:f}=e;vh(u,f,a,l,i,h)}else if(e.type==="line"){let{start:u=[],end:f=[]}=e;i.moveTo(u[0]*l,u[1]*l),i.lineTo(f[0]*l,f[1]*l)}else if(e.type==="polyline"){let{points:u}=e;a.dash?dh(i,u.flat().map(f=>f*l),!0):u.forEach((f,p)=>{p===0?i.moveTo(f[0]*l,f[1]*l):i.lineTo(f[0]*l,f[1]*l)})}else if(e.type==="group"){let{position:u=[0,0],rotation:f=0}=e,p=new tt;p.x=u[0]*l,p.y=u[1]*l,p.rotation=-Math.PI/180*f,e.children.forEach(d=>Ne({shape:d,settings:t,gfx:p,style:r})),i.addChild(p)}else if(e.type==="text"){let u=(n=e.style)!=null&&n.fill?Mt(e.style.fill):0,f=(s=e.style)!=null&&s.stroke?Mt(e.style.stroke):16777215,{position:p=[0,0],rotation:d=0,text:v,alignH:y="center",alignV:m="center",fontSize:g=16}=e;const w=new Ce({fontFamily:((o=t?.theme)==null?void 0:o.fontFamily)||bt.theme.fontFamily,fontSize:g,fill:u,align:y,stroke:f,strokeThickness:3});let _=new $e(v,w);_.x=p[0]*l,_.y=p[1]*l,_.rotation=-Math.PI/180*d,_.anchor.x=.5,_.anchor.y=m==="center"?.5:m==="bottom"?1:0,i.addChild(_)}h&&i.endFill()}function vh(e=[],t=[],i={},r=100,n,s){if(!e||!Array.isArray(e)||!e.length)return n;n.lineStyle(Us(i));let o=e.flat().map(a=>a*r);if(i.dash?(dh(n,o),s&&(n.lineStyle(0),n.drawPolygon(o))):n.drawPolygon(o),t.length){s&&n.beginHole();for(const a of t){let l=a.flat().map(h=>h*r);n.drawPolygon(l)}s&&n.endHole()}return n}const oe={fill:16777215,stroke:4605266,strokeWidth:.5,selectFill:15398134,selectStroke:7321278,selectStrokeWidth:1,fillOpacity:1};function Bg({node:e,settings:t}){const i=t?.theme.showAssetTextures;return{wallContour:{strokeWidth:1.5},wall:{fill:5396576,selectFill:9677484,selectStroke:5671825},curtain:{fill:15659510},column:{fill:5396576,selectFill:9677484,selectStroke:5671825},interior:{fill:i?null:15659510,selectFill:i?null:16116704,selectStrokeWidth:2.5},stairs:{fill:15987440},door:{selectStroke:6594727},window:{selectStroke:6594727},railing:{},polyfloor:(()=>{if(e.type!=="polyfloor")return{};const r=e.usage!=="kitchen"&&Ir(e.usage);let n={care:14804201,circulate:15987440,fallback:16777215};const s=r&&n[r]||n.fallback;let o;return r==="void"&&(o=e._isSelected?.5:.05),{fill:s,fillOpacity:o}})(),"a:helper:spaceDivider":{fill:14541549,stroke:14541549,strokeOpacity:.8,strokeWidth:1,selectFill:16116704,selectStroke:11494980,selectStrokeWidth:1},floorplan:{}}[e.type]}const Ug=({settings:e,node:t})=>{var i,r,n,s;let o=e.theme.elements,a=t.type,l;a==="column"&&(a="wall"),(a==="polyfloor"||a==="floor")&&(a="space"),a==="interior"&&(a="asset"),t.class&&(a==="door"&&t.class.includes("entryDoor")?l="entryDoor":a==="window"&&t.class.includes("balconyDoor")?l="balconyDoor":a==="window"&&t.class.includes("slidingDoor")?l="slidingDoor":a==="box"&&t.class.includes("preWall")&&(l="preWall"));let h=o[l]||o[a]||{};if(a==="space"){let y=Ae[t.usage]||{},m=y.type==="program"?t.usage:y.program;h.usage&&h.usage[t.usage]?h=h.usage[t.usage]:h.program&&h.program[m]&&(h=h.program[m])}else a==="stairs"&&!o[a]&&((r=(i=o?.space)==null?void 0:i.usage)!=null&&r.staircase?h=o.space.usage.staircase:(s=(n=o?.space)==null?void 0:n.program)!=null&&s.circulate&&(h=o.space.program.circulate));let{fill:u,fillOpacity:f,stroke:p,strokeWidth:d}=h,v={};return u&&(v.fill=Mt(u),v.selectFill=Mt(u)),p&&(v.stroke=Mt(p)),f&&Number.isFinite(f)&&(v.fillOpacity=Math.max(Math.min(f,1),0)),d&&Number.isFinite(d)&&(v.strokeWidth=d),v},Ds=({isSelected:e,settings:t,node:i})=>{var r,n,s,o,a,l,h,u,f,p,d,v,y;const m=Bg({node:i,settings:t}),g=Ug({node:i,settings:t});let w={};if(((r=i._highlight)==null?void 0:r.fill)&&Array.isArray((n=i._highlight)==null?void 0:n.fill)){let x=i._highlight.fill;Math.max(...x)<=1&&x.forEach(A=>A=Math.round(A*255));const P=Mt(x);w={fill:P,selectFill:P},Number.isFinite((s=i._highlight)==null?void 0:s.fillOpacity)&&(w.fillOpacity=Math.max(Math.min((o=i._highlight)==null?void 0:o.fillOpacity,1),0))}if(((a=i._highlight)==null?void 0:a.outline)&&Array.isArray((l=i._highlight)==null?void 0:l.outline)){const x=i._highlight.outline,P=Mt(x);w={...w,stroke:P,selectStroke:P},Number.isFinite((h=i._highlight)==null?void 0:h.outlineWidth)&&(w.strokeWidth=(u=i._highlight)==null?void 0:u.outlineWidth,w.selectStrokeWidth=(f=i._highlight)==null?void 0:f.outlineWidth)}const _={...m,...g,...w};let T={fill:_.fill!==void 0?_.fill:oe.fill,fillOpacity:_.fillOpacity!==void 0?_.fillOpacity:oe.fillOpacity,stroke:(p=_.stroke)!=null?p:oe.stroke,strokeWidth:(d=_.strokeWidth)!=null?d:oe.strokeWidth};return e&&(T={fill:_.selectFill!==void 0?_.selectFill:oe.selectFill,fillOpacity:_.fillOpacity!==void 0?_.fillOpacity:oe.fillOpacity,stroke:(v=_.selectStroke)!=null?v:oe.selectStroke,strokeWidth:(y=_.selectStrokeWidth)!=null?y:oe.selectStrokeWidth}),t.theme.nativeLines&&(T.strokeWidth="native"),T};function Dg(e,t){t.on("product-load-texture",({textureId:r,productData:n})=>{Gg(t,{textureId:r,productData:n}),mh({view:e,resourceId:r,loader:t})}),t.on("product-contour",r=>Xs(r,e,t));const i=new tt;i.lineStyle({native:!0,color:3355443}),i.drawCircle(0,0,1),e._dummyTexture=e._renderer.generateTexture(i)}function Xg(e){return new Promise((t,i)=>{var r=new Image;r.addEventListener("load",()=>{URL.revokeObjectURL(r.src),t(new z(new Y(r)))}),r.addEventListener("error",()=>{URL.revokeObjectURL(r.src),i("image loading failed: "+e)});const n=e.includes("/storage/get/"),s=e.startsWith("https://")?e:Cr+e;r.src=s,r.crossOrigin=n?"use-credentials":"anonymous"})}function mh({resourceId:e,loader:t,view:i}){var r;if((r=t.textureQueue[e])!=null&&r.texture)return Promise.resolve();if(!t.textureQueue[e])return Promise.reject(`no texture data to load ${e}`);let{textureUrl:n,productId:s}=t.textureQueue[e];return wn(),new Promise(o=>{Xg(n).then(a=>{t.textureQueue[e].imageData=a,t.textureQueue[e].loadStage=1,(!s||t.productQueue[s].loadStage===3)&&Xs(e,i,t),o()}).catch(a=>{t.textureQueue[e].error=a,t.textureQueue[e].loadStage=1,(!s||t.productQueue[s].loadStage===3)&&Xs(e,i,t),o()})})}function Xs(e,t,i){const r=t?._renderer,n=i.textureQueue[e],s=n.error;if(wn(),!n.texture){const o=n?.productId,a=i.resources.products[o],l=new et;let h;if(!s){if(h=new Lt(n.imageData),n.applyFilter){let d=new ph.ColorMatrixFilter;d.matrix=[.7,0,0,0,.25,0,.7,0,0,.25,0,0,.7,0,.25,0,0,0,1,0],h.filters=[d]}l.addChild(h)}let u=new tt,f;const p=o&&i.resources.products[o]._shapes||[];if(p.length){p.forEach(v=>{let y;s?y={strokeWidth:.5,stroke:1,fill:16316664}:y=Ds({settings:{theme:{showAssetTextures:!0,elements:{}}},node:{type:"interior"}}),Ne({shape:v,gfx:u,style:y})}),f=u.generateCanvasTexture(lt.LINEAR,1.5);const d=new Lt(f);if(d.anchor.x=n.anchor.x,d.anchor.y=n.anchor.y,!s){let v=h.width/a.boundingBox.length,y=n?.offset||{x:0,y:0};d.scale.x=h.width/d.width,d.scale.y=h.height/d.height,d.x=h.width/2-y.x*v,d.y=h.height/2-y.y*v}l.addChild(d)}n.texture=r.generateTexture(l,{scaleMode:lt.LINEAR,resolution:1.5}),n.loadStage=2,l.destroy(!0),f&&f.destroy(!0)}n.nodes.forEach(o=>{i.emit("product-load-stage",{node:o,args:{_loadStage:3,_textureId:e}})})}function Gg(e,{textureId:t,productData:i}){if(!i||!i.boundingPoints)return;let r={x:i.boundingPoints.min[0],y:i.boundingPoints.min[2]},n={x:Math.abs(i.boundingPoints.min[0]/i.boundingBox.length),y:Math.abs(i.boundingPoints.min[2]/i.boundingBox.width)},s={x:i.boundingPoints.max[0]-i.boundingBox.length/2,y:i.boundingPoints.max[2]-i.boundingBox.width/2};e.textureQueue[t].offset=s,e.textureQueue[t].anchor=n,e.textureQueue[t].position=r}function zt(e){if(e!=null&&e.children)for(var t=e.children.length-1;t>=0;t--)e.children[t].destroy({children:!0}),e.removeChild(e.children[t])}function yh(e,t,i){const r=new Lt(e);return r.x=0,r.y=0,r.anchor.x=.5,r.anchor.y=.5,r.rotation=0,t&&(r.width=t),i&&(r.height=i),r}function Lr({node:e,ctx:t,parentNode:i,floorPlan:r,update:n=null}){if(!e)return;const{view:s,resources:o,settings:a,loader:l}=r;i=i||e.parent;const h=["plan","level","group"].includes(e.type),u=e.id&&(e._isSelected||e.getParents().some(E=>E._isSelected)),f=e.id&&e._highlight,p=V,d=n&&n.container||new et,v=s.gfxLayers.scene;if(d.x=e.x*p,d.y=e.z*p,d.rotation=-Math.PI/180*e.ry||0,e.type!=="interior"){const E=Rs(e.type);d.parentLayer=v,d.zOrder=E}const{hideElements:y,showCeilingLamps:m,showFloorPlan:g,theme:w,showSpaceDividers:_,xrayMode:T}=a,x=Se(e),P=o.products[x],A=o.productContours[x]||o.productBoundingBoxes[x],k=e.type==="interior"&&P?.isCeilingLamp&&!m||w.wallContours&&["wall","column"].includes(e.type)||y.includes(e.type)||!_&&e.type==="a:helper:spaceDivider",C=s.gfxNodes[e.id],S=e.type!=="interior"||e.type==="interior"&&C?.loadStage===2;let M=!k&&S&&U0(e,i,A)||[],N,R;if(k)N=void 0;else if(e.type==="interior"){n&&zt(d);const E=Rs(e.type,P?.order);if(d.parentLayer=v,d.zOrder=E,C?.loadStage===2)N=new tt;else if(!w.showAssetTextures&&C?.loadStage===3)N=new tt,M=P._shapes||[];else if(C?.loadStage>2&&w.showAssetTextures&&P?.boundingPoints&&C?.textureId){const{texture:O,anchor:B}=l.textureQueue[C.textureId]||{};if(O){let it=P.boundingBox.length*p,Vt=P.boundingBox.width*p;N=yh(O,it,Vt),N.anchor.x=B.x,N.anchor.y=B.y,N.zIndex=1}(u||f)&&(M=P._shapes||[],R=new tt,R.zIndex=5)}else N=new Lt(s._dummyTexture)}else if(e.type==="floorplan"){if(!g)return;const E=e.id;if(d._textureId=E,C!=null&&C.loadStage){const{texture:O}=l.textureQueue[C.textureId]||{};O&&(N=yh(O,e.l*p,e.w*p)),R=new tt,N.zIndex=1,R.zIndex=5}else{const O=e.file;l.textureQueue[E]={loadStage:0,nodes:new Set([e]),textureUrl:O,applyFilter:!1},mh({loader:l,view:s,resourceId:E}),N=new tt}}else h||(n&&zt(d),N=new tt);const $=Ds({settings:a,node:e,isSelected:u});M.forEach(E=>Ne({shape:E,settings:a,gfx:R||N,style:$})),N&&(N.interactive=!0,d.addChild(N),N._nodeId=e.id),R&&d.addChild(R),d.alpha=Hg(e,r,T),(!n||n.updateChildren||e.type==="wall"||e.type==="interior")&&e&&e.children&&e.children.forEach(E=>{Lr({node:E,ctx:d,parentNode:e,floorPlan:r})}),s.gfxNodes[e.id]||(s.gfxNodes[e.id]={}),s.gfxNodes[e.id].nodeContainer=d,n||t.addChild(d)}function Hg(e,t,i){return i&&!["plan","level","floorplan"].includes(e.type)&&!(e.id&&e.getParents().some(r=>r.id===t.activeGroup))?.7:1}function gh(e,t,i,r){var n;const s=t.getChildByName(e.id);if(s?.destroy(!0),r.hideElements.includes("roomStamp"))return;const{text:o,textOutline:a=!0}=((n=r.theme.elements)==null?void 0:n.roomStamp)||{},l=r.theme.background.color,h=l!=="transparent"?l:"#eee",u=o?hi(ui(o.map(v=>v/255))):"#333333",f=new Ce({fontFamily:r.theme.fontFamily||bt.theme.fontFamily,fontSize:16,align:"center",fill:u,stroke:h,strokeThickness:a?3:0});let p=rg(e,r).join(`
822
+ `);const d=new $e(p,f);d.x=e.center[0]*V,d.y=e.center[1]*V,d.anchor.x=.5,d.anchor.y=.5,_h(d,i,e),d.name=e.id,t.addChild(d)}function _h(e,t,i){let r=Math.min(1/t,2);e.scale.x=r,e.scale.y=r,e.visible=i.area>r*1.5}function xh({node:e,event:t,args:i,floorPlan:r}){r=r||this;const{view:n,loader:s}=r;if(!!s.isSceneStructureLoaded&&!!e){if(t==="add-child"){const{nodeContainer:o}=n.gfxNodes[e.id]||{};Lr({node:i,ctx:o,parentNode:e,floorPlan:r})}else if(t==="remove-child"){const{nodeContainer:o}=n.gfxNodes[i.id]||{};o&&(o.parent.removeChild(o),o.destroy({children:!0})),n.viewportNeedsUpdate=!0,n.viewportPaused&&n.startAnimationLoop(),delete n.gfxNodes[i.id]}setTimeout(()=>{this.viewportNeedsUpdate=!0},100)}}function Wg({node:e,args:t,event:i,floorPlan:r}){r=r||this;const{view:n}=r;if(e.type==="stairs"||e.type==="door"){Oi({node:e,args:t,event:i,floorPlan:r});return}const{nodeContainer:s}=n.gfxNodes[e.id]||{};!s||(s.x=e.x*V,s.y=e.z*V,s.rotation=-Math.PI/180*e.ry,n.viewportNeedsUpdate=!0,n.viewportPaused&&n.startAnimationLoop())}function Yg(e,t){Oi({...e,floorPlan:t})}function Oi({node:e,args:t,event:i,floorPlan:r}){r=r||this;const{view:n,resources:s,settings:o}=r;i==="set-materials"&&(t={materials:t});const{nodeContainer:a}=n.gfxNodes[e.id]||{};if(!!a&&!(e.type==="level"||e.type==="plan")){if(t._loadStage&&(n.gfxNodes[e.id].loadStage=t._loadStage),t._textureId&&(n.gfxNodes[e.id].textureId=t._textureId),zt(a),e.type==="polyfloor"){const l=s.spaces.find(h=>h.id===e.id);if(l){J0(l,e);const h=n.layers.get("fpe-room-stamp");h&&gh(l,h.container,n.zoom,o)}else console.warn(`Node with ID=${e.id} has no data in floorPlan.resources.spaces`)}Lr({node:e,ctx:a.parent,floorPlan:r,update:{container:a,args:t,updateChildren:t._isSelected!==void 0}}),n.viewportNeedsUpdate=!0,n.viewportPaused&&n.startAnimationLoop()}}function zg(e,t){t=t||this;const i=Ds({settings:t.settings,node:{type:"wallContour"},isSelected:!1}),r=new tt,n=t.view.gfxLayers.scene,s=Rs("wall");r.parentLayer=n,r.zOrder=s,t.computed.wallContours.forEach(o=>{Ne({shape:{type:"polygon",points:o[0],holes:o.slice(1)},settings:t.settings,gfx:r,style:i})}),e.addChild(r)}function Vg(e="linear"){return Ms[e]}function $g({sceneBoundingBox:e,rectLeft:t,rectTop:i,rectRight:r,rectBottom:n,viewportWidth:s,viewportHeight:o}){if([t,i,r,n].some(a=>a>0)&&s&&o){const a=r-t,l=n-i,h=ig(e,a,l);let{x:u,z:f,length:p,width:d}=h;const v=s/a,y=o/l;return p*=v,d*=y,u-=t/s*p,f-=i/o*d,{x:u,z:f,x2:u+p,z2:f+d,length:p,width:d}}return e}function qg({margin:e=0,animate:t,floorPlan:i,boundingBox:r}){if(!i.view.sceneContainer)return Promise.resolve(!1);if(r)return Or({bb:r,animate:t,view:i.view});let{x:n,z:s,length:o,width:a}=i.getSceneBoundingBox();n-=e,s-=e,o+=e*2,a+=e*2;const l={x:n,z:s,x2:n+o,z2:s+a,length:o,width:a};return Or({bb:l,animate:t,view:i.view})}function Or({bb:e,animate:t=!1,view:i}){const r=i._viewport;if(!r)throw new Error("no viewport");return i.viewportPaused&&i.startAnimationLoop(),new Promise(n=>{Number.isFinite(e.x)||n(!1),Object.keys(e).forEach(a=>{e[a]=e[a]*V});let s=0;typeof t=="number"&&Number.isFinite(t)?s=t:t===!0&&(s=500);let o={x:e.x+e.length/2,y:e.z+e.width/2,width:e.length,height:e.width};if(!s)r.fit(!1,o.width,o.height).moveCenter(o.x,o.y),Rr.bind(i)({type:"animation"}),i.viewportNeedsUpdate=!0,n(!0);else{let a={x:r.center.x,y:r.center.y,width:r.worldScreenWidth,height:r.worldScreenHeight},l={x:a.x-o.x,y:a.y-o.y,width:a.width-o.width,height:a.height-o.height};i._zoomTarget={delta:l,start:a,target:o,time:0,duration:s,destroy:()=>{i.ticker.remove("animateView"),delete i._zoomTarget,n(!0)},ease:Vg("easeInOutQuad"),updateViewport:Rr.bind(i)},i.ticker.add("animateView",jg,i)}})}function jg(e){let t=this._zoomTarget,i=!1;t.time+=e;let r=t.ease(t.time,0,1,t.duration),n={x:t.start.x-t.delta.x*r,y:t.start.y-t.delta.y*r,width:t.start.width-t.delta.width*r,height:t.start.height-t.delta.height*r};t.time>t.duration&&(n=t.target,i=!0),this._viewport.fit(!1,n.width,n.height).moveCenter(n.x,n.y),this.viewportNeedsUpdate=!0,t.updateViewport({type:"animation"});const s=this._viewport.input.count()!==0;(i||s)&&t.destroy()}function Rr(e){this.viewportNeedsUpdate=!0,this.viewportPaused&&this.startAnimationLoop();const t=this._viewport;e.type!=="animation"&&this._zoomTarget&&this._zoomTarget.destroy();const i=V,r=t.scale._x,n=t.left,s=t.top,o=t.worldScreenWidth,a=t.worldScreenHeight;this.viewbox={x:n/i,z:s/i,x2:(n+o)/i,z2:(s+a)/i,length:o/i,width:a/i},this.client=[t.screenWidth,t.screenHeight];const l=this.zoom!==r;this.zoom=r;const h={sourceEvent:{type:e.type},viewbox:this.viewbox,zoom:this.zoom};l?this.emit("zoom",h):this.emit("pan",h),this.emit("viewbox",h)}function Zg({pos:e,nodeId:t}){wh(this.interaction,{cursor:e,cursorTarget:t&&this.scene.nodesById[t]})}function wh(e,t){for(const i in t)e[i]=t[i],i==="cursorAction"&&Jg(t[i])}function Jg(e){let t="";switch(e){case"split-wall":t="var(--fpe-split-cursor) 16 16, pointer";break;case"duplicate":t="var(--fpe-duplicate-cursor) 16 16, pointer";break;case"move":t="move";break;default:t="default";break}document.body.style.cursor=t}function Kg(e){var t,i,r,n;if(((i=(t=e?.data)==null?void 0:t.originalEvent)==null?void 0:i.button)===2)return;if(!this)throw new Error("Viewport context is missing");const s=400,o=10,a=5;let l=this.interaction._dragStart||{x:0,y:0},h=e.data.global||{x:0,y:0},u=Math.abs(h.x-l.x),f=Math.abs(h.y-l.y);if(!(u<a&&f<a))return;let p=new Date().getTime(),d;if(this.interaction.lastClick){let T=p-this.interaction.lastClick.time,x=this.interaction.lastClick.pos&&Math.max(Math.abs(h.x-this.interaction.lastClick.pos.x),Math.abs(h.y-this.interaction.lastClick.pos.y));d=T<s&&x<o}this.interaction.lastClick={time:p,pos:{...h}};const v=d?"dblclick":"click",y=(r=e.target)==null?void 0:r._nodeId,{x:m,y:g}=((n=e.data)==null?void 0:n.global)||{},w=this.getPlanPosition([m,g]);wh(this.interaction,{cursor:[w[0],w[1]]});let _={sourceEvent:e,nodeId:y,pos:w,isDoubleClick:!!d};this.emit(v,_)}function Qg(e){var t;const{x:i,y:r}=e.data.global;this.view.windowPos=[i,r],this.interaction.lastSceneClick=this.getPlanPosition(this.view.windowPos);const n=(t=e.target)==null?void 0:t._nodeId;this.emit("context-menu",{sourceEvent:e,nodeId:n})}const t_=e=>{const{view:t,interaction:i}=e,r=(o,a)=>{!t.viewportInFocus||(i.shiftKey=o.shiftKey,i.ctrlKey=o.ctrlKey,i.altKey=o.altKey,i.metaKey=o.metaKey,e.emit(a,{key:o.key,lowerCaseKey:o.key&&o.key.toLowerCase(),sourceEvent:o}))},n=o=>r(o,"keyup"),s=o=>r(o,"key");document.addEventListener("keydown",s),document.addEventListener("keyup",n)};function Ph(e){e.drag().pinch({percent:4}).wheel()}function e_(e){e.plugins.remove("wheel"),e.plugins.remove("pinch"),e.plugins.remove("drag")}function i_(e){const{settings:t,view:i}=e;t.panZoom&&Ph(i._viewport),i._viewport.on("pointerdown",r_,e).on("pointerup",Th,e).on("pointerup",Kg,e).on("rightup",Qg,e).on("pointerupoutside",Th,e).on("pointermove",n_,e).on("moved",Rr,i).on("zoomed",Rr,i),s_(e),t_(e),e.on("mousemove",Zg,e)}function r_(e){this.interaction._dragStart={x:e.data.global.x,y:e.data.global.y},this.emit("drag-start",{pos:this.interaction.cursor,sourceEvent:e})}function Th(){this.view.resume("drag"),this.emit("drag-end",{pos:this.interaction.cursor,sourceEvent:{}}),this.interaction.isDragging=!1,this.interaction.dragOffset=null}function n_(e){var t;const{srcElement:i}=((t=e?.data)==null?void 0:t.originalEvent)||{};if(!i)return;const r=this.view._viewport.options.divWheel;if(i!==r)return;const n=e.data.getLocalPosition(this.view._viewport);let s=[n.x/V,n.y/V];const o=e.target&&e.target._nodeId;if(this.interaction.cursor=s,this.interaction.isDragging){const a=[n.x,n.y];this.emit("drag-move",{pos:this.interaction.cursor,screenPos:a,sourceEvent:e})}this.emit("mousemove",{sourceEvent:e,nodeId:o,pos:s})}const s_=e=>{const t=document.querySelector(`#${e.fpeId} .fpe__plan`);!t||(t.addEventListener("mouseleave",()=>e.view.emit("focus",!1,e.view)),t.addEventListener("mouseenter",()=>e.view.emit("focus",!0,e.view)),document.addEventListener("visibilitychange",()=>e.view.emit("focus",document.visibilityState==="visible",e.view)),t.addEventListener("contextmenu",function(i){return i.preventDefault(),!1},!1))};function bh({floorPlan:e,update:t=!1}){const{scene:i,view:r,settings:n}=e,{_renderer:s,_viewport:o}=r;let a=n.theme.background.color;a.length===4&&(a=a[0]+a[1]+a[1]+a[2]+a[2]+a[3]+a[3]),s.backgroundColor=Ge(a);const l=r.sceneContainer;zt(l),Lr({node:i.node,ctx:l,floorPlan:e}),n.theme.wallContours&&zg(l,e),Ih(e,!0),r.emit("scene-rendered",{update:t}),r.viewportNeedsUpdate=!0,t&&(n.panZoom?Ph(o):e_(o)),r.viewportPaused&&r.startAnimationLoop()}function Ih(e,t=!1){const{view:i,resources:r,settings:n}=e,s=e.addLayer({id:"fpe-room-stamp",baseLayer:"annotation"});t?(zt(s.container),r.spaces.forEach(o=>gh(o,s.container,i.zoom,n))):s.container.children.forEach(o=>{let a=r.spaces.find(l=>l.id===o.name);_h(o,i.zoom,a)})}class o_ extends ks{}const Mr=(e,t=!1)=>new vr(new _t(e,t)),a_={top:0,left:0,center:.5,right:1,bottom:1};class l_{constructor(){this.methods={},this.add=(t,i,r)=>{this.methods[t]={fn:i,ctx:r}},this.remove=t=>{delete this.methods[t]}}}class h_ extends fh{constructor(t,i,r){var n;super(),this.windowPos=[0,0],this.zoom=1,this.client=[0,0],this.layers=new Map,this.viewbox={x:0,z:0,x2:0,z2:0,length:0,width:0},this.viewportNeedsUpdate=!1,this.viewportPaused=!1,this.viewportInFocus=!1,this.sceneContainer=new et,this.gfxNodes={},this.ticker=new l_,this._oldTime=Date.now(),qo(),this.parentEl=document.getElementById(r);const s=this.parentEl.querySelector(".fpe__plan");let o=this.parentEl.clientWidth,a=this.parentEl.clientHeight;this._settings=i;const l=window.devicePixelRatio||1;let h=i.theme.background.color;const u=h==="transparent";this._renderer=$v({width:o,height:a,view:s,antialias:!0,backgroundAlpha:u?0:1,autoDensity:!0,resolution:l,powerPreference:"high-performance",preserveDrawingBuffer:!0}),this.parentEl.appendChild(this._renderer.view),h.length===4&&(h=h[0]+h[1]+h[1]+h[2]+h[2]+h[3]+h[3]),u||(this._renderer.backgroundColor=Ge(h)),this._stage=new Pi,this._stage.sortableChildren=!0,this._viewport=new o_({screenWidth:o,screenHeight:a,worldWidth:o,worldHeight:a,interaction:this._renderer.plugins.interaction,noTicker:!0,passiveWheel:!1,divWheel:document.querySelector(`#${r} .fpe__plan`)}),this._viewport.addChild(this.sceneContainer),(n=Fg==null?void 0:ct)!=null&&n.system&&ct.system.stop(),this.startAnimationLoop(),this.watchResize(),this._stage.addChild(this._viewport),this.on("focus",f=>{f&&this.viewportPaused?this.startAnimationLoop():f||this.stopAnimationLoop(),this.viewportInFocus=f}),this.gfxLayers=Ch(this._stage,this.parentEl.clientWidth),Dg(this,t)}draw(){var t;const i=Date.now();let r=i-this._oldTime;this._oldTime=i,r<0&&(r=0),r>1e3&&(r=1e3);let n=Object.keys(this.ticker.methods).length;(this.viewportNeedsUpdate||n)&&((t=this.ticker)!=null&&t.methods&&Object.values(this.ticker.methods).forEach(({fn:s,ctx:o})=>{typeof s=="function"&&(o?s.call(o,r):s(r))}),this._viewport.update(r),this._renderer.render(this._stage)),this.viewportPaused||requestAnimationFrame(()=>this.draw()),this.viewportNeedsUpdate=!1}startAnimationLoop(){this._oldTime=Date.now(),this.viewportNeedsUpdate=!0,this.viewportPaused=!1,requestAnimationFrame(()=>this.draw())}stopAnimationLoop(){this.viewportPaused=!0}updateView(){if(!this.parentEl.clientWidth||!this.parentEl.clientHeight)return;const t=this._viewport,i=this._renderer,r=V,n=t.screenWidth,s=t.screenHeight,o=this.parentEl.clientWidth,a=this.parentEl.clientHeight;i.resize(o,a),t.resize(o,a);const l=n-o,h=s-a,u=this._settings.preserveViewbox,[f=.5,p=.5]=u.split("-").map(_=>a_[_]),d=f*l,v=p*h;t.position.set(t.x-d,t.y-v),t.plugins.get("clamp-zoom")||t.clampZoom({minHeight:this._settings.zoomRange[0]*r,maxHeight:this._settings.zoomRange[1]*r}),i.render(this._stage);let y=t.left,m=t.top,g=t.worldScreenWidth,w=t.worldScreenHeight;this.viewbox={x:y/r,z:m/r,x2:(y+g)/r,z2:(m+w)/r,length:g/r,width:w/r},this.client=[t.screenWidth,t.screenHeight]}async watchResize(){new ResizeObserver(()=>{this.updateView(),this.emit("resize-canvas",this.viewbox)}).observe(this.parentEl)}get gfxNodeCount(){return Object.keys(this.gfxNodes).length}reset(){this.gfxNodes={},this.gfxLayers=Ch(this._stage,this.parentEl.clientWidth)}pause(t="drag"){this._viewport.plugins.pause(t)}resume(t="drag"){this._viewport.plugins.resume(t)}}const Ch=(e,t)=>{const i=Mr(0);e.addChild(i);const r=Mr(1,!0);r.width=r.height=t,e.addChild(r);const n=Mr(2);e.addChild(n);const s=Mr(3);return e.addChild(s),{base:i,scene:r,annotation:n,helper:s}};class u_{constructor({shapes:t=[],pos:i=[0,0],alpha:r=1,scale:n=1,clearLayer:s=!1,interactive:o=!1,id:a,isHandler:l=!1,scaleOnZoom:h=!1,baseLayer:u,container:f,floorPlan:p}){if(this.shapes=t,this.gfxScale=n,this.scaleOnZoom=h,this.container=f,this.floorPlan=p,!this.container)return;s&&zt(this.container);let d=new tt;this.gfx=d,d.alpha=r;const v=Math.min(1/this.floorPlan.view.zoom)*this.gfxScale;i&&(d.x=i[0]*V,d.y=i[1]*V),o&&(d.interactive=!0),d._nodeId=a,l&&(d._isHandler=!0),d.parentLayer=u,v&&h&&(d.scale.x=d.scale.y=v),this.container.addChild(d),t.forEach(y=>Ne({shape:y,settings:this.floorPlan.settings,gfx:d})),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}set({pos:t,style:i,shapes:r}={}){const n=Math.min(1/this.floorPlan.view.zoom)*this.gfxScale,s=this.gfx;if(t&&(s.x=t[0]*V,s.y=t[1]*V),r&&(this.shapes=r,s.clear(),zt(s),r.forEach(o=>Ne({shape:o,settings:this.floorPlan.settings,gfx:s}))),n&&this.scaleOnZoom&&(s.scale.x=s.scale.y=n),i){const o=Us(i);i.fill&&(s.geometry.graphicsData[0].fillStyle.color=Mt(i.fill)),s.geometry.graphicsData[0].lineStyle.color=o.color,s.geometry.graphicsData[0].lineStyle.width=o.width,s.geometry.graphicsData[0].lineStyle.native=o.native,s.geometry.invalidate()}this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}on(t,i,r){return this.gfx.interactive=!0,t==="drag"?this.addDragEvent(i,r):this.gfx.on(t,i,r),this}off(t,i){return t==="drag"?this.removeDragEvent():this.gfx.off(t,i),this}destroy(){this.gfx.destroy(),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}addDragEvent(t,i){function r(){this.floorPlan.interaction.isDragging=!0,this.floorPlan.view.pause("drag"),this.floorPlan.on("mousemove",t,i)}function n(){this.floorPlan.interaction.isDragging=!1,this.floorPlan.view.resume("drag"),this.floorPlan.off("mousemove",t)}this.on("pointerdown",r,this),this.on("pointerup",n,this),this.on("pointerupoutside",n,this),this.on("pointercancel",n,this)}removeDragEvent(){this.off("pointerdown"),this.off("pointerup"),this.off("pointerupoutside"),this.off("pointercancel")}}class Eh{constructor(t,i,r){this.graphics=new Set;const n=t.view._viewport;this.container=new et,this.id=r,this.baseLayer=t.view.gfxLayers[i]||t.view.gfxLayers.helper,this.container.parentLayer=this.baseLayer,this.floorPlan=t,n.addChild(this.container)}addGraphic(t){const i=new u_({...t,floorPlan:this.floorPlan,baseLayer:this.baseLayer,container:this.container});return this.graphics.add(i),i}deleteGraphic(t){this.graphics.delete(t),t.destroy()}draw(t){return this.addGraphic(t)}drawImage({url:t,width:i,height:r,mask:n,options:s}){if(s!=null&&s.pixelated?F.SCALE_MODE=lt.NEAREST:F.SCALE_MODE=lt.LINEAR,!this.container)return;zt(this.container);let o=Lt.from(t);if(o.width=i*V,o.height=r*V,o.parentLayer=this.baseLayer,n){let{x:a,z:l,length:h,width:u}=wr([n]);o.x=(a+h/2)*V,o.y=(l+u/2)*V,o.anchor.set(.5);let f=new tt;Ne({shape:{type:"polygon",points:n,style:{fill:16724736}},settings:this.floorPlan.settings,gfx:f}),this.container.addChild(f),o.mask=f}this.container.addChild(o),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop(),setTimeout(()=>{this.floorPlan.view.viewportNeedsUpdate=!0},100)}clear(){zt(this.container),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop()}destroy(){!this.container||(this.floorPlan.view.layers.delete(this.id),this.container.destroy({children:!0,texture:!0,baseTexture:!0}),this.floorPlan.view.viewportNeedsUpdate=!0,this.floorPlan.view.viewportPaused&&this.floorPlan.view.startAnimationLoop(),delete this.container,delete this.floorPlan)}}function f_(e,{format:t="png",quality:i=.95}){return new Promise(r=>{let n;t==="jpg"?n=e.toDataURL("image/jpeg",i):n=e.toDataURL(),r(n)})}function c_(e,{format:t,fileName:i,quality:r}={}){if(t==="svg")return;const n=new Image;n.src=e,n.onload=function(){const s=document.createElement("canvas");s.width=n.naturalWidth,s.height=n.naturalHeight;const o=s.getContext("2d");o.imageSmoothingEnabled=!1,o.drawImage(n,0,0),p_(s,{format:t,fileName:i,quality:r})}}function p_(e,{format:t="png",fileName:i="floorplan",quality:r=.95}){const n=document.createElement("a");n.download=i+"."+t;let s=t==="png"?"image/png":"image/jpeg";e.toBlob(function(o){n.href=URL.createObjectURL(o),n.click()},s,r)}const Fr=22015,d_=6789887,v_=16777215,m_=Fr,y_=Fr,g_=d_,__=Fr,x_=Fr,w_=v_;class P_ extends Nr{constructor({floorPlan:t,helperId:i,mode:r="distance"}){super({floorPlan:t,helperId:i}),this.drawing=!1,this.polygonsOrPolylines=[],this.floorPlan=t,this.mode=r,this.floorPlan.on("mousemove",this.handlePointerMove,this),this.floorPlan.on("click",this.handlePointerDown,this),this.floorPlan.on("dblclick",this.handlePointerDown,this),this.floorPlan.on("update-settings",this.draw,this),this.startDrawing()}get isInAreaMode(){return this.mode==="area"}get isDrawing(){return this.drawing}set({mode:t}){this.mode=t,this.draw()}handlePointerMove(t){this.setSnapCursor(t)}handlePointerDown(t){this.setSnapCursor(t),this.drawPoint(t)}setSnapCursor({pos:t}){this._snapCursor!=null||(this._snapCursor=this.floorPlan.addHelper("snapCursor",{pos:t}));const{snapPoints:i,snapMargin:r}=this.floorPlan.computed;if(!i.length){this._snapCursor.set({pos:t}),this.draw();return}const n=lh(t,i,r);this._snapCursor.isSnapping=!!n,this._snapCursor.set({pos:n||t}),this.draw()}stopDrawing(){this.polygonsOrPolylines[this.polygonsOrPolylines.length-1].points.length>1&&this.drawing&&this.polygonDone()}cancelDrawing(){this.destroy()}startDrawing(){this.drawing=!0,this.polygonsOrPolylines.push({points:[],isClosed:!1,length:0,area:0,areaDisplay:"",lengthDisplay:"",contour:null,label:null,pointGraphics:[]})}removeLastPoint(){var t,i;const r=this.polygonsOrPolylines[this.polygonsOrPolylines.length-1];if(r?.points.length>0){r.points.pop();const n=r.pointGraphics.pop();n&&this.layer.deleteGraphic(n),r.points.length<=1&&(r.contour&&((t=this.layer)==null||t.deleteGraphic(r.contour),r.contour=null),r.label&&((i=this.layer)==null||i.deleteGraphic(r.label),r.label=null)),r.points.length===0?(this.polygonsOrPolylines.pop(),this.drawing=!1):this.draw()}}polygonDone(){this.drawing=!1,this.emit("polygon-done",{}),this.draw()}drawPoint(t){var i;this.drawing||this.startDrawing();const r=this.polygonsOrPolylines.length-1,n=this.polygonsOrPolylines[r];if(((i=t.nodeId)==null?void 0:i.startsWith(`point/${r}/`))||t.isDoubleClick){const u=t.nodeId===`point/${r}/0`;this.mode==="distance"&&u&&(n.isClosed=!0),this.polygonDone();return}const{pos:s}=this._snapCursor;n.points.push([...s]);const o=n.points.length-1,a=`point/${r}/${o}`;this.layer||(this.layer=this.floorPlan.addLayer());const l=this.layer.addGraphic({shapes:[{type:"circle",position:[0,0],radius:.15,style:{fill:__,fillOpacity:.1}},{type:"circle",position:[0,0],radius:.05,style:{stroke:x_,fill:w_,strokeWidth:1.5}}],pos:s,scaleOnZoom:!0,id:a,isHandler:!0});n.pointGraphics[o]=l;function h(){this.updatePolygon(r,o,this.floorPlan.interaction.cursor),l.set({pos:n.points[o]})}l.on("drag",h,this)}updatePolygon(t,i,r){const n=r,{snapPoints:s,snapMargin:o}=this.floorPlan.computed,a=s.length&&lh(n,s,o),l=this.polygonsOrPolylines[t];l.points[i]=a||n,this.draw()}getLengthText(t){const{units:i}=this.floorPlan.settings;return ti(t,i.system,i.lengthDecimals)}getAreaText(t){const{units:i}=this.floorPlan.settings;return zs(t,i.system,i.areaDecimals)}reset(){this.drawing=!1,this.polygonsOrPolylines=[],this.floorPlan.removeHelper("snapCursor"),this._snapCursor=null,this.layer&&(this.layer.destroy(),this.layer=null)}draw(){!this.polygonsOrPolylines.length||(this.layer||(this.layer=this.floorPlan.addLayer()),this.polygonsOrPolylines.forEach((t,i)=>{if(!t.points.length)return;const r=this.drawing&&this._snapCursor&&i===this.polygonsOrPolylines.length-1?[...t.points,this._snapCursor.pos]:t.points;if(r.length<2)return;t.length=By(r,t.isClosed),t.lengthDisplay=this.getLengthText(t.length);const n=r.length<2?0:Ly({x:r[0][0],z:r[0][1]},{x:r[1][0],z:r[1][1]}),s=r.map(v=>v.map(y=>Number(y.toFixed(10)))).slice(0,this.isInAreaMode?void 0:2),o=this.isInAreaMode?Ll(s):[s[0][0]+(s[1][0]-s[0][0])/2,s[0][1]+(s[1][1]-s[0][1])/2];t.area=Math.abs(Ee(r)),t.areaDisplay=this.getAreaText(t.area);const a=this.isInAreaMode||t.isClosed?"polygon":"polyline",l={stroke:g_,dash:!0,strokeWidth:"native"};let h=t.lengthDisplay,u=n;this.isInAreaMode&&(l.fill=y_,l.fillOpacity=.04,h=t.areaDisplay,u=0);const f=[{type:a,points:r,style:l}],p={shapes:[{type:"text",text:h,position:[0,0],rotation:u,alignV:"bottom",fontSize:15,style:{fill:m_}}],id:"text",pos:o,scaleOnZoom:!0};t.contour?t.contour.set({shapes:f}):t.contour=this.layer.addGraphic({shapes:f}),t.label?t.label.set(p):t.label=this.layer.addGraphic(p);const d=this.isInAreaMode?{area:t.area}:{distance:t.length};this.emit("polygon-draw",d)}))}destroy(){this.reset(),this.floorPlan.off("mousemove",this.handlePointerMove),this.floorPlan.off("click",this.handlePointerDown),this.floorPlan.off("dblclick",this.handlePointerDown),this.floorPlan.off("update-settings",this.draw),super.destroy()}}class T_ extends Nr{constructor({floorPlan:t,helperId:i,pos:r}){super({floorPlan:t,helperId:i}),this.pos=[0,0],this.floorPlan.on("mousemove",this.draw,this),this.isSnapping=!1,this.isEdge=!1,r&&(this.pos=r)}draw(){if(this.layer||(this.layer=this.floorPlan.addLayer({id:"fpe-snap-cursor"})),!this.cursor)this.cursor=this.layer.addGraphic({shapes:[{type:"circle",position:[0,0],radius:.06,style:{stroke:6789887,strokeWidth:1.5}}],pos:this.pos,scaleOnZoom:!0});else{const t=this.isSnapping?6789887:12303291,i=this.isSnapping?2:1.5;this.cursor.set({pos:this.pos,style:{stroke:t,strokeWidth:i}})}}set({pos:t,isSnapping:i,isEdge:r,node:n}){this.pos=t,this.isSnapping=i,this.isEdge=r,this.node=n,this.draw()}snapState(){return this.isSnapping?this.isEdge?"edge":"point":""}destroy(){this.floorPlan.off("mousemove",this.draw),this.layer&&this.layer.destroy(),this.layer=void 0,this.cursor=null,super.destroy()}}const b_={lastSceneClick:[0,0],cursor:[0,0],cursorTarget:null,isDragging:!1,altKey:!1,shiftKey:!1,metaKey:!1,ctrlKey:!1,dragOffset:null,cursorAction:"none",isPanning:!1,lastClick:{time:null,pos:{x:0,y:0}},_dragStart:{x:0,y:0}};class I_ extends tg{constructor({container:t,options:i={},scene:r}={}){super({options:i,scene:r}),this.interaction=b_,this.availableHelpers={cursorCoordinates:Sg,scaleBar:Ng},this.helper={},this.version=bt.api.sdkVersion;let n;t instanceof Element?n=t:n=document.body,this.mountFloorPlan(n),this.availableHelpers.polygonHelper=P_,this.availableHelpers.snapCursor=T_}prevent(t){t.preventDefault()}on(t,i,r){return this._emitter.on(t,i,r),this}once(t,i,r){return this._emitter.once(t,i,r),this}off(t,i){return this._emitter.off(t,i),this}emit(t,...i){return this._emitter.emit(t,...i),this}handleDrop(t){var i;t.preventDefault(),t.stopPropagation();const r=[t.offsetX,t.offsetY],n=this.getPlanPosition(r);this.interaction.cursor=[...n];const{spaces:s}=this.getResourcesFromPosition(n),o=((i=s[0])==null?void 0:i.node.y)||0;this.emit("drop",{pos:n,sourceEvent:t,verticalPos:o})}set(t){super.set(t),this.view&&bh({floorPlan:this,update:!0})}mountFloorPlan(t){const i=t.querySelector(".fpe");i&&i.remove();const r=document.createElement("div");r.id=this.fpeId,r.classList.add("fpe"),t.appendChild(r);const n=document.createElement("canvas");n.classList.add("fpe__plan"),r.appendChild(n),this.fpeNode=r,N0(this.settings.api),this.view=new h_(this.loader,this.settings,this.fpeId),this.loader.on("product-load-stage",s=>Yg(s,this)),this.loader.on("spaces-loaded",this.initDrawing,this),n.addEventListener("drop",this.handleDrop.bind(this)),n.addEventListener("gesturestart",this.prevent),n.addEventListener("gesturechange",this.prevent),n.addEventListener("gestureend",this.prevent),n.addEventListener("dragover",this.prevent),this.settings.destroyOnDomRemove&&eg(r,t,()=>this.destroy()),i_(this),this.view.on("scene-rendered",({update:s})=>{s||this.zoomExtents(1,0)}),this.view.on("zoom",()=>{this.view.layers.forEach(s=>{s.graphics.forEach(o=>{o.scaleOnZoom&&!o.gfx.destroyed&&o.set()})}),Ih(this)}),this.generateUi()}initDrawing(){this.loader.initialLoading||this.view.reset(),bh({floorPlan:this}),this.loader.initialLoading&&this.initDrawingEvents()}initDrawingEvents(){this.scene.on("set",Oi,this),this.scene.on("set-transform",Wg,this),this.scene.on("set-transient",Oi,this),this.scene.on("set-materials",Oi,this),this.scene.on("add-child",xh,this),this.scene.on("remove-child",xh,this)}generateUi(){this.settings.ui.coordinates?this.addHelper("cursorCoordinates",{parentEl:this.fpeNode}):this.helper.cursorCoordinates&&this.removeHelper("cursorCoordinates"),this.settings.ui.scale?this.addHelper("scaleBar",{parentEl:this.fpeNode}):this.helper.scaleBar&&this.removeHelper("scaleBar")}getSceneBoundingBox(t=0){var i;if(!((i=this.view)!=null&&i._viewport))return;let r=this.view.sceneContainer;if(!r)return;let{x:n,y:s,width:o,height:a}=r.getLocalBounds(),l=n/V-t,h=s/V-t,u=o/V+t*2,f=a/V+t*2;return{x:l,x2:l+u,z:h,z2:h+f,length:u,width:f}}getZoomExtentsBoundingBox(t,i,r,n,s,o,a){return $g({sceneBoundingBox:t,rectLeft:i,rectTop:r,rectRight:n,rectBottom:s,viewportWidth:o,viewportHeight:a})}zoomExtents(t=1,i=!1,r=null){return qg({margin:t,animate:i,floorPlan:this,boundingBox:r})}zoomToElement(t,i=1,r){const n=this.getElementBoundingBox(t,i);return Or({bb:n,animate:r,view:this.view})}setZoom(t,i=!0){return Or({bb:t,animate:i,view:this.view})}zoomByFactor(t,i=!0){if(!Number.isFinite(t)||t<=0)return Promise.reject("factor is not a positive number");let{x:r,z:n,length:s,width:o}=this.view.viewbox;const a=s/t,l=o/t;r-=(a-s)/2,n-=(l-o)/2;const h=r+s,u=n+o;return this.setZoom({x:r,z:n,length:a,width:l,x2:h,z2:u},i)}addInfoWindow(t={}){return new Og({...t,floorPlan:this})}addHtmlMarker(t={}){return new Mg({...t,floorPlan:this})}addMarker({pos:t=[0,0],color:i="#669cff",size:r=40}={}){return new kg({pos:t,color:i,size:r,floorPlan:this})}getPlanPosition(t){const i=this.view._viewport.toWorld(t[0],t[1]);return[i.x/V,i.y/V]}getScreenPosition(t){const i=t.map(n=>n*V),r=this.view._viewport.toScreen(i[0],i[1]);return[r.x,r.y]}addLayer({id:t,baseLayer:i}={}){if(t||(t=he()),this.view.layers.has(t)){const n=this.view.layers.get(t);if(n!=null&&n.container)return n}const r=new Eh(this,i,t);return this.view.layers.set(t,r),r}getLayer(t){return this.view.layers.get(t)}addPlanGraphic(){return new Eh(this)}addHelper(t,i={}){let r=i?.helperId;return r||(typeof t=="string"?r=t:r=he()),this.helper[r]&&this.removeHelper(r),typeof t=="string"?this.availableHelpers[t]?this.helper[r]=new this.availableHelpers[t]({floorPlan:this,helperId:r,...i}):console.warn(`No helper registered for: ${t}`):this.helper[r]=new t({floorPlan:this,helperId:r,...i}),this.helper[r]}removeHelper(t){var i,r;(r=(i=this.helper[t])==null?void 0:i.destroy)==null||r.call(i),delete this.helper[t]}async exportImage({format:t="png",fileName:i,quality:r=90,output:n="base64",maxWidth:s,download:o=!1}={}){let a={format:t,quality:r,output:n,maxWidth:s};o&&(a.format="png");const l=document.querySelector("#"+this.fpeId+" canvas"),h=await f_(l,a).catch(u=>u);if(o)c_(h,{format:t,fileName:i,quality:r});else return h}destroy(){var t;(t=this.view._viewport)==null||t.destroy(),this.view.reset(),this.loader.reset(),delete this.scene,delete this.resources,delete this.utils,this.fpeNode&&this.fpeNode.remove(),delete this.fpeNode}}return I_});