canvasengine 2.0.0-beta.22 → 2.0.0-beta.24
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.
- package/dist/index.global.js +1443 -0
- package/dist/index.global.js.map +1 -0
- package/dist/index.js +1 -4258
- package/dist/index.js.map +1 -1
- package/package.json +4 -2
- package/tsup.config.ts +18 -0
|
@@ -0,0 +1,1443 @@
|
|
|
1
|
+
var CanvasEngine=(()=>{var kU=Object.create;var Oa=Object.defineProperty;var OU=Object.getOwnPropertyDescriptor;var GU=Object.getOwnPropertyNames;var UU=Object.getPrototypeOf,LU=Object.prototype.hasOwnProperty;var IB=r=>{throw TypeError(r)};var NU=(r,e,t)=>e in r?Oa(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var m=(r,e)=>()=>(r&&(e=r(r=0)),e);var C=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ga=(r,e)=>{for(var t in e)Oa(r,t,{get:e[t],enumerable:!0})},vB=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of GU(e))!LU.call(r,n)&&n!==t&&Oa(r,n,{get:()=>e[n],enumerable:!(i=OU(e,n))||i.enumerable});return r};var St=(r,e,t)=>(t=r!=null?kU(UU(r)):{},vB(e||!r||!r.__esModule?Oa(t,"default",{value:r,enumerable:!0}):t,r)),HU=r=>vB(Oa({},"__esModule",{value:!0}),r);var Sm=(r,e,t)=>NU(r,typeof e!="symbol"?e+"":e,t),xB=(r,e,t)=>e.has(r)||IB("Cannot "+t);var Tm=(r,e,t)=>(xB(r,e,"read from private field"),t?t.call(r):e.get(r)),BB=(r,e,t)=>e.has(r)?IB("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),CB=(r,e,t,i)=>(xB(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var we=C(aA=>{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.isFunction=void 0;function WU(r){return typeof r=="function"}aA.isFunction=WU});var Li=C(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.createErrorClass=void 0;function qU(r){var e=function(i){Error.call(i),i.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}uA.createErrorClass=qU});var Pm=C(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});lA.UnsubscriptionError=void 0;var jU=Li();lA.UnsubscriptionError=jU.createErrorClass(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
2
|
+
`+t.map(function(i,n){return n+1+") "+i.toString()}).join(`
|
|
3
|
+
`):"",this.name="UnsubscriptionError",this.errors=t}})});var Ai=C(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.arrRemove=void 0;function VU(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}cA.arrRemove=VU});var Zt=C(Nt=>{"use strict";var wB=Nt&&Nt.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},QB=Nt&&Nt.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},SB=Nt&&Nt.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Nt,"__esModule",{value:!0});Nt.isSubscription=Nt.EMPTY_SUBSCRIPTION=Nt.Subscription=void 0;var Ua=we(),Dm=Pm(),TB=Ai(),Rm=function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,i,n,s;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var a=wB(o),l=a.next();!l.done;l=a.next()){var c=l.value;c.remove(this)}}catch(g){e={error:g}}finally{try{l&&!l.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var u=this.initialTeardown;if(Ua.isFunction(u))try{u()}catch(g){s=g instanceof Dm.UnsubscriptionError?g.errors:[g]}var A=this._finalizers;if(A){this._finalizers=null;try{for(var h=wB(A),d=h.next();!d.done;d=h.next()){var f=d.value;try{MB(f)}catch(g){s=s??[],g instanceof Dm.UnsubscriptionError?s=SB(SB([],QB(s)),QB(g.errors)):s.push(g)}}}catch(g){i={error:g}}finally{try{d&&!d.done&&(n=h.return)&&n.call(h)}finally{if(i)throw i.error}}}if(s)throw new Dm.UnsubscriptionError(s)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)MB(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&TB.arrRemove(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&TB.arrRemove(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}();Nt.Subscription=Rm;Nt.EMPTY_SUBSCRIPTION=Rm.EMPTY;function YU(r){return r instanceof Rm||r&&"closed"in r&&Ua.isFunction(r.remove)&&Ua.isFunction(r.add)&&Ua.isFunction(r.unsubscribe)}Nt.isSubscription=YU;function MB(r){Ua.isFunction(r)?r():r.unsubscribe()}});var Ps=C(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.config=void 0;AA.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var Fm=C(kr=>{"use strict";var PB=kr&&kr.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},DB=kr&&kr.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(kr,"__esModule",{value:!0});kr.timeoutProvider=void 0;kr.timeoutProvider={setTimeout:function(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];var n=kr.timeoutProvider.delegate;return n?.setTimeout?n.setTimeout.apply(n,DB([r,e],PB(t))):setTimeout.apply(void 0,DB([r,e],PB(t)))},clearTimeout:function(r){var e=kr.timeoutProvider.delegate;return(e?.clearTimeout||clearTimeout)(r)},delegate:void 0}});var km=C(hA=>{"use strict";Object.defineProperty(hA,"__esModule",{value:!0});hA.reportUnhandledError=void 0;var KU=Ps(),zU=Fm();function XU(r){zU.timeoutProvider.setTimeout(function(){var e=KU.config.onUnhandledError;if(e)e(r);else throw r})}hA.reportUnhandledError=XU});var At=C(dA=>{"use strict";Object.defineProperty(dA,"__esModule",{value:!0});dA.noop=void 0;function JU(){}dA.noop=JU});var RB=C(Or=>{"use strict";Object.defineProperty(Or,"__esModule",{value:!0});Or.createNotification=Or.nextNotification=Or.errorNotification=Or.COMPLETE_NOTIFICATION=void 0;Or.COMPLETE_NOTIFICATION=function(){return fA("C",void 0,void 0)}();function ZU(r){return fA("E",void 0,r)}Or.errorNotification=ZU;function $U(r){return fA("N",r,void 0)}Or.nextNotification=$U;function fA(r,e,t){return{kind:r,value:e,error:t}}Or.createNotification=fA});var pA=C(Ds=>{"use strict";Object.defineProperty(Ds,"__esModule",{value:!0});Ds.captureError=Ds.errorContext=void 0;var FB=Ps(),On=null;function eL(r){if(FB.config.useDeprecatedSynchronousErrorHandling){var e=!On;if(e&&(On={errorThrown:!1,error:null}),r(),e){var t=On,i=t.errorThrown,n=t.error;if(On=null,i)throw n}}else r()}Ds.errorContext=eL;function tL(r){FB.config.useDeprecatedSynchronousErrorHandling&&On&&(On.errorThrown=!0,On.error=r)}Ds.captureError=tL});var Rs=C(Er=>{"use strict";var GB=Er&&Er.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Er,"__esModule",{value:!0});Er.EMPTY_OBSERVER=Er.SafeSubscriber=Er.Subscriber=void 0;var rL=we(),kB=Zt(),Lm=Ps(),iL=km(),OB=At(),Om=RB(),nL=Fm(),sL=pA(),UB=function(r){GB(e,r);function e(t){var i=r.call(this)||this;return i.isStopped=!1,t?(i.destination=t,kB.isSubscription(t)&&t.add(i)):i.destination=Er.EMPTY_OBSERVER,i}return e.create=function(t,i,n){return new LB(t,i,n)},e.prototype.next=function(t){this.isStopped?Um(Om.nextNotification(t),this):this._next(t)},e.prototype.error=function(t){this.isStopped?Um(Om.errorNotification(t),this):(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped?Um(Om.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(kB.Subscription);Er.Subscriber=UB;var oL=Function.prototype.bind;function Gm(r,e){return oL.call(r,e)}var aL=function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(i){gA(i)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(i){gA(i)}else gA(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){gA(t)}},r}(),LB=function(r){GB(e,r);function e(t,i,n){var s=r.call(this)||this,o;if(rL.isFunction(t)||!t)o={next:t??void 0,error:i??void 0,complete:n??void 0};else{var a;s&&Lm.config.useDeprecatedNextContext?(a=Object.create(t),a.unsubscribe=function(){return s.unsubscribe()},o={next:t.next&&Gm(t.next,a),error:t.error&&Gm(t.error,a),complete:t.complete&&Gm(t.complete,a)}):o=t}return s.destination=new aL(o),s}return e}(UB);Er.SafeSubscriber=LB;function gA(r){Lm.config.useDeprecatedSynchronousErrorHandling?sL.captureError(r):iL.reportUnhandledError(r)}function uL(r){throw r}function Um(r,e){var t=Lm.config.onStoppedNotification;t&&nL.timeoutProvider.setTimeout(function(){return t(r,e)})}Er.EMPTY_OBSERVER={closed:!0,next:OB.noop,error:uL,complete:OB.noop}});var La=C(mA=>{"use strict";Object.defineProperty(mA,"__esModule",{value:!0});mA.observable=void 0;mA.observable=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}()});var ht=C(yA=>{"use strict";Object.defineProperty(yA,"__esModule",{value:!0});yA.identity=void 0;function lL(r){return r}yA.identity=lL});var Na=C(Fs=>{"use strict";Object.defineProperty(Fs,"__esModule",{value:!0});Fs.pipeFromArray=Fs.pipe=void 0;var cL=ht();function AL(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return NB(r)}Fs.pipe=AL;function NB(r){return r.length===0?cL.identity:r.length===1?r[0]:function(t){return r.reduce(function(i,n){return n(i)},t)}}Fs.pipeFromArray=NB});var Te=C(EA=>{"use strict";Object.defineProperty(EA,"__esModule",{value:!0});EA.Observable=void 0;var Hm=Rs(),hL=Zt(),dL=La(),fL=Na(),pL=Ps(),Nm=we(),gL=pA(),mL=function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,i){var n=this,s=EL(e)?e:new Hm.SafeSubscriber(e,t,i);return gL.errorContext(function(){var o=n,a=o.operator,l=o.source;s.add(a?a.call(s,l):l?n._subscribe(s):n._trySubscribe(s))}),s},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var i=this;return t=HB(t),new t(function(n,s){var o=new Hm.SafeSubscriber({next:function(a){try{e(a)}catch(l){s(l),o.unsubscribe()}},error:s,complete:n});i.subscribe(o)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[dL.observable]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return fL.pipeFromArray(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=HB(e),new e(function(i,n){var s;t.subscribe(function(o){return s=o},function(o){return n(o)},function(){return i(s)})})},r.create=function(e){return new r(e)},r}();EA.Observable=mL;function HB(r){var e;return(e=r??pL.config.Promise)!==null&&e!==void 0?e:Promise}function yL(r){return r&&Nm.isFunction(r.next)&&Nm.isFunction(r.error)&&Nm.isFunction(r.complete)}function EL(r){return r&&r instanceof Hm.Subscriber||yL(r)&&hL.isSubscription(r)}});var K=C(ks=>{"use strict";Object.defineProperty(ks,"__esModule",{value:!0});ks.operate=ks.hasLift=void 0;var _L=we();function WB(r){return _L.isFunction(r?.lift)}ks.hasLift=WB;function IL(r){return function(e){if(WB(e))return e.lift(function(t){try{return r(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}ks.operate=IL});var $=C(Ni=>{"use strict";var vL=Ni&&Ni.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ni,"__esModule",{value:!0});Ni.OperatorSubscriber=Ni.createOperatorSubscriber=void 0;var xL=Rs();function BL(r,e,t,i,n){return new qB(r,e,t,i,n)}Ni.createOperatorSubscriber=BL;var qB=function(r){vL(e,r);function e(t,i,n,s,o,a){var l=r.call(this,t)||this;return l.onFinalize=o,l.shouldUnsubscribe=a,l._next=i?function(c){try{i(c)}catch(u){t.error(u)}}:r.prototype._next,l._error=s?function(c){try{s(c)}catch(u){t.error(u)}finally{this.unsubscribe()}}:r.prototype._error,l._complete=n?function(){try{n()}catch(c){t.error(c)}finally{this.unsubscribe()}}:r.prototype._complete,l}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var i=this.closed;r.prototype.unsubscribe.call(this),!i&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(xL.Subscriber);Ni.OperatorSubscriber=qB});var Wm=C(_A=>{"use strict";Object.defineProperty(_A,"__esModule",{value:!0});_A.refCount=void 0;var CL=K(),bL=$();function wL(){return CL.operate(function(r,e){var t=null;r._refCount++;var i=bL.createOperatorSubscriber(e,void 0,void 0,void 0,function(){if(!r||r._refCount<=0||0<--r._refCount){t=null;return}var n=r._connection,s=t;t=null,n&&(!s||n===s)&&n.unsubscribe(),e.unsubscribe()});r.subscribe(i),i.closed||(t=r.connect())})}_A.refCount=wL});var Ha=C(Os=>{"use strict";var QL=Os&&Os.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Os,"__esModule",{value:!0});Os.ConnectableObservable=void 0;var SL=Te(),jB=Zt(),TL=Wm(),ML=$(),PL=K(),DL=function(r){QL(e,r);function e(t,i){var n=r.call(this)||this;return n.source=t,n.subjectFactory=i,n._subject=null,n._refCount=0,n._connection=null,PL.hasLift(t)&&(n.lift=t.lift),n}return e.prototype._subscribe=function(t){return this.getSubject().subscribe(t)},e.prototype.getSubject=function(){var t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject},e.prototype._teardown=function(){this._refCount=0;var t=this._connection;this._subject=this._connection=null,t?.unsubscribe()},e.prototype.connect=function(){var t=this,i=this._connection;if(!i){i=this._connection=new jB.Subscription;var n=this.getSubject();i.add(this.source.subscribe(ML.createOperatorSubscriber(n,void 0,function(){t._teardown(),n.complete()},function(s){t._teardown(),n.error(s)},function(){return t._teardown()}))),i.closed&&(this._connection=null,i=jB.Subscription.EMPTY)}return i},e.prototype.refCount=function(){return TL.refCount()(this)},e}(SL.Observable);Os.ConnectableObservable=DL});var VB=C(Wa=>{"use strict";Object.defineProperty(Wa,"__esModule",{value:!0});Wa.performanceTimestampProvider=void 0;Wa.performanceTimestampProvider={now:function(){return(Wa.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}});var qm=C(_r=>{"use strict";var YB=_r&&_r.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},KB=_r&&_r.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(_r,"__esModule",{value:!0});_r.animationFrameProvider=void 0;var RL=Zt();_r.animationFrameProvider={schedule:function(r){var e=requestAnimationFrame,t=cancelAnimationFrame,i=_r.animationFrameProvider.delegate;i&&(e=i.requestAnimationFrame,t=i.cancelAnimationFrame);var n=e(function(s){t=void 0,r(s)});return new RL.Subscription(function(){return t?.(n)})},requestAnimationFrame:function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=_r.animationFrameProvider.delegate;return(t?.requestAnimationFrame||requestAnimationFrame).apply(void 0,KB([],YB(r)))},cancelAnimationFrame:function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=_r.animationFrameProvider.delegate;return(t?.cancelAnimationFrame||cancelAnimationFrame).apply(void 0,KB([],YB(r)))},delegate:void 0}});var JB=C(IA=>{"use strict";Object.defineProperty(IA,"__esModule",{value:!0});IA.animationFrames=void 0;var FL=Te(),kL=VB(),zB=qm();function OL(r){return r?XB(r):GL}IA.animationFrames=OL;function XB(r){return new FL.Observable(function(e){var t=r||kL.performanceTimestampProvider,i=t.now(),n=0,s=function(){e.closed||(n=zB.animationFrameProvider.requestAnimationFrame(function(o){n=0;var a=t.now();e.next({timestamp:r?a:o,elapsed:a-i}),s()}))};return s(),function(){n&&zB.animationFrameProvider.cancelAnimationFrame(n)}})}var GL=XB()});var jm=C(vA=>{"use strict";Object.defineProperty(vA,"__esModule",{value:!0});vA.ObjectUnsubscribedError=void 0;var UL=Li();vA.ObjectUnsubscribedError=UL.createErrorClass(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})});var dt=C(Gr=>{"use strict";var $B=Gr&&Gr.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}(),LL=Gr&&Gr.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Gr,"__esModule",{value:!0});Gr.AnonymousSubject=Gr.Subject=void 0;var ZB=Te(),Ym=Zt(),NL=jm(),HL=Ai(),Vm=pA(),eC=function(r){$B(e,r);function e(){var t=r.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var i=new Km(this,this);return i.operator=t,i},e.prototype._throwIfClosed=function(){if(this.closed)throw new NL.ObjectUnsubscribedError},e.prototype.next=function(t){var i=this;Vm.errorContext(function(){var n,s;if(i._throwIfClosed(),!i.isStopped){i.currentObservers||(i.currentObservers=Array.from(i.observers));try{for(var o=LL(i.currentObservers),a=o.next();!a.done;a=o.next()){var l=a.value;l.next(t)}}catch(c){n={error:c}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(n)throw n.error}}}})},e.prototype.error=function(t){var i=this;Vm.errorContext(function(){if(i._throwIfClosed(),!i.isStopped){i.hasError=i.isStopped=!0,i.thrownError=t;for(var n=i.observers;n.length;)n.shift().error(t)}})},e.prototype.complete=function(){var t=this;Vm.errorContext(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var i=t.observers;i.length;)i.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var i=this,n=this,s=n.hasError,o=n.isStopped,a=n.observers;return s||o?Ym.EMPTY_SUBSCRIPTION:(this.currentObservers=null,a.push(t),new Ym.Subscription(function(){i.currentObservers=null,HL.arrRemove(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var i=this,n=i.hasError,s=i.thrownError,o=i.isStopped;n?t.error(s):o&&t.complete()},e.prototype.asObservable=function(){var t=new ZB.Observable;return t.source=this,t},e.create=function(t,i){return new Km(t,i)},e}(ZB.Observable);Gr.Subject=eC;var Km=function(r){$B(e,r);function e(t,i){var n=r.call(this)||this;return n.destination=t,n.source=i,n}return e.prototype.next=function(t){var i,n;(n=(i=this.destination)===null||i===void 0?void 0:i.next)===null||n===void 0||n.call(i,t)},e.prototype.error=function(t){var i,n;(n=(i=this.destination)===null||i===void 0?void 0:i.error)===null||n===void 0||n.call(i,t)},e.prototype.complete=function(){var t,i;(i=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||i===void 0||i.call(t)},e.prototype._subscribe=function(t){var i,n;return(n=(i=this.source)===null||i===void 0?void 0:i.subscribe(t))!==null&&n!==void 0?n:Ym.EMPTY_SUBSCRIPTION},e}(eC);Gr.AnonymousSubject=Km});var zm=C(Gs=>{"use strict";var WL=Gs&&Gs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Gs,"__esModule",{value:!0});Gs.BehaviorSubject=void 0;var qL=dt(),jL=function(r){WL(e,r);function e(t){var i=r.call(this)||this;return i._value=t,i}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var i=r.prototype._subscribe.call(this,t);return!i.closed&&t.next(this._value),i},e.prototype.getValue=function(){var t=this,i=t.hasError,n=t.thrownError,s=t._value;if(i)throw n;return this._throwIfClosed(),s},e.prototype.next=function(t){r.prototype.next.call(this,this._value=t)},e}(qL.Subject);Gs.BehaviorSubject=jL});var xA=C(qa=>{"use strict";Object.defineProperty(qa,"__esModule",{value:!0});qa.dateTimestampProvider=void 0;qa.dateTimestampProvider={now:function(){return(qa.dateTimestampProvider.delegate||Date).now()},delegate:void 0}});var BA=C(Us=>{"use strict";var VL=Us&&Us.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Us,"__esModule",{value:!0});Us.ReplaySubject=void 0;var YL=dt(),KL=xA(),zL=function(r){VL(e,r);function e(t,i,n){t===void 0&&(t=1/0),i===void 0&&(i=1/0),n===void 0&&(n=KL.dateTimestampProvider);var s=r.call(this)||this;return s._bufferSize=t,s._windowTime=i,s._timestampProvider=n,s._buffer=[],s._infiniteTimeWindow=!0,s._infiniteTimeWindow=i===1/0,s._bufferSize=Math.max(1,t),s._windowTime=Math.max(1,i),s}return e.prototype.next=function(t){var i=this,n=i.isStopped,s=i._buffer,o=i._infiniteTimeWindow,a=i._timestampProvider,l=i._windowTime;n||(s.push(t),!o&&s.push(a.now()+l)),this._trimBuffer(),r.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var i=this._innerSubscribe(t),n=this,s=n._infiniteTimeWindow,o=n._buffer,a=o.slice(),l=0;l<a.length&&!t.closed;l+=s?1:2)t.next(a[l]);return this._checkFinalizedStatuses(t),i},e.prototype._trimBuffer=function(){var t=this,i=t._bufferSize,n=t._timestampProvider,s=t._buffer,o=t._infiniteTimeWindow,a=(o?1:2)*i;if(i<1/0&&a<s.length&&s.splice(0,s.length-a),!o){for(var l=n.now(),c=0,u=1;u<s.length&&s[u]<=l;u+=2)c=u;c&&s.splice(0,c+1)}},e}(YL.Subject);Us.ReplaySubject=zL});var CA=C(Ls=>{"use strict";var XL=Ls&&Ls.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ls,"__esModule",{value:!0});Ls.AsyncSubject=void 0;var JL=dt(),ZL=function(r){XL(e,r);function e(){var t=r!==null&&r.apply(this,arguments)||this;return t._value=null,t._hasValue=!1,t._isComplete=!1,t}return e.prototype._checkFinalizedStatuses=function(t){var i=this,n=i.hasError,s=i._hasValue,o=i._value,a=i.thrownError,l=i.isStopped,c=i._isComplete;n?t.error(a):(l||c)&&(s&&t.next(o),t.complete())},e.prototype.next=function(t){this.isStopped||(this._value=t,this._hasValue=!0)},e.prototype.complete=function(){var t=this,i=t._hasValue,n=t._value,s=t._isComplete;s||(this._isComplete=!0,i&&r.prototype.next.call(this,n),r.prototype.complete.call(this))},e}(JL.Subject);Ls.AsyncSubject=ZL});var tC=C(Ns=>{"use strict";var $L=Ns&&Ns.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ns,"__esModule",{value:!0});Ns.Action=void 0;var eN=Zt(),tN=function(r){$L(e,r);function e(t,i){return r.call(this)||this}return e.prototype.schedule=function(t,i){return i===void 0&&(i=0),this},e}(eN.Subscription);Ns.Action=tN});var nC=C(Ur=>{"use strict";var rC=Ur&&Ur.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},iC=Ur&&Ur.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Ur,"__esModule",{value:!0});Ur.intervalProvider=void 0;Ur.intervalProvider={setInterval:function(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];var n=Ur.intervalProvider.delegate;return n?.setInterval?n.setInterval.apply(n,iC([r,e],rC(t))):setInterval.apply(void 0,iC([r,e],rC(t)))},clearInterval:function(r){var e=Ur.intervalProvider.delegate;return(e?.clearInterval||clearInterval)(r)},delegate:void 0}});var Ws=C(Hs=>{"use strict";var rN=Hs&&Hs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Hs,"__esModule",{value:!0});Hs.AsyncAction=void 0;var iN=tC(),sC=nC(),nN=Ai(),sN=function(r){rN(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.scheduler=t,n.work=i,n.pending=!1,n}return e.prototype.schedule=function(t,i){var n;if(i===void 0&&(i=0),this.closed)return this;this.state=t;var s=this.id,o=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(o,s,i)),this.pending=!0,this.delay=i,this.id=(n=this.id)!==null&&n!==void 0?n:this.requestAsyncId(o,this.id,i),this},e.prototype.requestAsyncId=function(t,i,n){return n===void 0&&(n=0),sC.intervalProvider.setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,i,n){if(n===void 0&&(n=0),n!=null&&this.delay===n&&this.pending===!1)return i;i!=null&&sC.intervalProvider.clearInterval(i)},e.prototype.execute=function(t,i){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,i);if(n)return n;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,i){var n=!1,s;try{this.work(t)}catch(o){n=!0,s=o||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,i=t.id,n=t.scheduler,s=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,nN.arrRemove(s,this),i!=null&&(this.id=this.recycleAsyncId(n,i,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(iN.Action);Hs.AsyncAction=sN});var aC=C(qs=>{"use strict";Object.defineProperty(qs,"__esModule",{value:!0});qs.TestTools=qs.Immediate=void 0;var oN=1,Xm,bA={};function oC(r){return r in bA?(delete bA[r],!0):!1}qs.Immediate={setImmediate:function(r){var e=oN++;return bA[e]=!0,Xm||(Xm=Promise.resolve()),Xm.then(function(){return oC(e)&&r()}),e},clearImmediate:function(r){oC(r)}};qs.TestTools={pending:function(){return Object.keys(bA).length}}});var lC=C(Lr=>{"use strict";var aN=Lr&&Lr.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},uN=Lr&&Lr.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Lr,"__esModule",{value:!0});Lr.immediateProvider=void 0;var uC=aC(),lN=uC.Immediate.setImmediate,cN=uC.Immediate.clearImmediate;Lr.immediateProvider={setImmediate:function(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=Lr.immediateProvider.delegate;return(t?.setImmediate||lN).apply(void 0,uN([],aN(r)))},clearImmediate:function(r){var e=Lr.immediateProvider.delegate;return(e?.clearImmediate||cN)(r)},delegate:void 0}});var AC=C(js=>{"use strict";var AN=js&&js.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(js,"__esModule",{value:!0});js.AsapAction=void 0;var hN=Ws(),cC=lC(),dN=function(r){AN(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.scheduler=t,n.work=i,n}return e.prototype.requestAsyncId=function(t,i,n){return n===void 0&&(n=0),n!==null&&n>0?r.prototype.requestAsyncId.call(this,t,i,n):(t.actions.push(this),t._scheduled||(t._scheduled=cC.immediateProvider.setImmediate(t.flush.bind(t,void 0))))},e.prototype.recycleAsyncId=function(t,i,n){var s;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return r.prototype.recycleAsyncId.call(this,t,i,n);var o=t.actions;i!=null&&((s=o[o.length-1])===null||s===void 0?void 0:s.id)!==i&&(cC.immediateProvider.clearImmediate(i),t._scheduled===i&&(t._scheduled=void 0))},e}(hN.AsyncAction);js.AsapAction=dN});var Jm=C(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});wA.Scheduler=void 0;var fN=xA(),pN=function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,i){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(i,t)},r.now=fN.dateTimestampProvider.now,r}();wA.Scheduler=pN});var Ys=C(Vs=>{"use strict";var gN=Vs&&Vs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Vs,"__esModule",{value:!0});Vs.AsyncScheduler=void 0;var hC=Jm(),mN=function(r){gN(e,r);function e(t,i){i===void 0&&(i=hC.Scheduler.now);var n=r.call(this,t,i)||this;return n.actions=[],n._active=!1,n}return e.prototype.flush=function(t){var i=this.actions;if(this._active){i.push(t);return}var n;this._active=!0;do if(n=t.execute(t.state,t.delay))break;while(t=i.shift());if(this._active=!1,n){for(;t=i.shift();)t.unsubscribe();throw n}},e}(hC.Scheduler);Vs.AsyncScheduler=mN});var dC=C(Ks=>{"use strict";var yN=Ks&&Ks.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Ks,"__esModule",{value:!0});Ks.AsapScheduler=void 0;var EN=Ys(),_N=function(r){yN(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.flush=function(t){this._active=!0;var i=this._scheduled;this._scheduled=void 0;var n=this.actions,s;t=t||n.shift();do if(s=t.execute(t.state,t.delay))break;while((t=n[0])&&t.id===i&&n.shift());if(this._active=!1,s){for(;(t=n[0])&&t.id===i&&n.shift();)t.unsubscribe();throw s}},e}(EN.AsyncScheduler);Ks.AsapScheduler=_N});var fC=C(Gn=>{"use strict";Object.defineProperty(Gn,"__esModule",{value:!0});Gn.asap=Gn.asapScheduler=void 0;var IN=AC(),vN=dC();Gn.asapScheduler=new vN.AsapScheduler(IN.AsapAction);Gn.asap=Gn.asapScheduler});var Ht=C(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.async=Un.asyncScheduler=void 0;var xN=Ws(),BN=Ys();Un.asyncScheduler=new BN.AsyncScheduler(xN.AsyncAction);Un.async=Un.asyncScheduler});var pC=C(zs=>{"use strict";var CN=zs&&zs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(zs,"__esModule",{value:!0});zs.QueueAction=void 0;var bN=Ws(),wN=function(r){CN(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.scheduler=t,n.work=i,n}return e.prototype.schedule=function(t,i){return i===void 0&&(i=0),i>0?r.prototype.schedule.call(this,t,i):(this.delay=i,this.state=t,this.scheduler.flush(this),this)},e.prototype.execute=function(t,i){return i>0||this.closed?r.prototype.execute.call(this,t,i):this._execute(t,i)},e.prototype.requestAsyncId=function(t,i,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?r.prototype.requestAsyncId.call(this,t,i,n):(t.flush(this),0)},e}(bN.AsyncAction);zs.QueueAction=wN});var gC=C(Xs=>{"use strict";var QN=Xs&&Xs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Xs,"__esModule",{value:!0});Xs.QueueScheduler=void 0;var SN=Ys(),TN=function(r){QN(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e}(SN.AsyncScheduler);Xs.QueueScheduler=TN});var mC=C(Ln=>{"use strict";Object.defineProperty(Ln,"__esModule",{value:!0});Ln.queue=Ln.queueScheduler=void 0;var MN=pC(),PN=gC();Ln.queueScheduler=new PN.QueueScheduler(MN.QueueAction);Ln.queue=Ln.queueScheduler});var EC=C(Js=>{"use strict";var DN=Js&&Js.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Js,"__esModule",{value:!0});Js.AnimationFrameAction=void 0;var RN=Ws(),yC=qm(),FN=function(r){DN(e,r);function e(t,i){var n=r.call(this,t,i)||this;return n.scheduler=t,n.work=i,n}return e.prototype.requestAsyncId=function(t,i,n){return n===void 0&&(n=0),n!==null&&n>0?r.prototype.requestAsyncId.call(this,t,i,n):(t.actions.push(this),t._scheduled||(t._scheduled=yC.animationFrameProvider.requestAnimationFrame(function(){return t.flush(void 0)})))},e.prototype.recycleAsyncId=function(t,i,n){var s;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return r.prototype.recycleAsyncId.call(this,t,i,n);var o=t.actions;i!=null&&((s=o[o.length-1])===null||s===void 0?void 0:s.id)!==i&&(yC.animationFrameProvider.cancelAnimationFrame(i),t._scheduled=void 0)},e}(RN.AsyncAction);Js.AnimationFrameAction=FN});var _C=C(Zs=>{"use strict";var kN=Zs&&Zs.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Zs,"__esModule",{value:!0});Zs.AnimationFrameScheduler=void 0;var ON=Ys(),GN=function(r){kN(e,r);function e(){return r!==null&&r.apply(this,arguments)||this}return e.prototype.flush=function(t){this._active=!0;var i=this._scheduled;this._scheduled=void 0;var n=this.actions,s;t=t||n.shift();do if(s=t.execute(t.state,t.delay))break;while((t=n[0])&&t.id===i&&n.shift());if(this._active=!1,s){for(;(t=n[0])&&t.id===i&&n.shift();)t.unsubscribe();throw s}},e}(ON.AsyncScheduler);Zs.AnimationFrameScheduler=GN});var IC=C(Nn=>{"use strict";Object.defineProperty(Nn,"__esModule",{value:!0});Nn.animationFrame=Nn.animationFrameScheduler=void 0;var UN=EC(),LN=_C();Nn.animationFrameScheduler=new LN.AnimationFrameScheduler(UN.AnimationFrameAction);Nn.animationFrame=Nn.animationFrameScheduler});var BC=C(Hi=>{"use strict";var vC=Hi&&Hi.__extends||function(){var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,n){i.__proto__=n}||function(i,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(i[s]=n[s])},r(e,t)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function i(){this.constructor=e}e.prototype=t===null?Object.create(t):(i.prototype=t.prototype,new i)}}();Object.defineProperty(Hi,"__esModule",{value:!0});Hi.VirtualAction=Hi.VirtualTimeScheduler=void 0;var NN=Ws(),HN=Zt(),WN=Ys(),qN=function(r){vC(e,r);function e(t,i){t===void 0&&(t=xC),i===void 0&&(i=1/0);var n=r.call(this,t,function(){return n.frame})||this;return n.maxFrames=i,n.frame=0,n.index=-1,n}return e.prototype.flush=function(){for(var t=this,i=t.actions,n=t.maxFrames,s,o;(o=i[0])&&o.delay<=n&&(i.shift(),this.frame=o.delay,!(s=o.execute(o.state,o.delay))););if(s){for(;o=i.shift();)o.unsubscribe();throw s}},e.frameTimeFactor=10,e}(WN.AsyncScheduler);Hi.VirtualTimeScheduler=qN;var xC=function(r){vC(e,r);function e(t,i,n){n===void 0&&(n=t.index+=1);var s=r.call(this,t,i)||this;return s.scheduler=t,s.work=i,s.index=n,s.active=!0,s.index=t.index=n,s}return e.prototype.schedule=function(t,i){if(i===void 0&&(i=0),Number.isFinite(i)){if(!this.id)return r.prototype.schedule.call(this,t,i);this.active=!1;var n=new e(this.scheduler,this.work);return this.add(n),n.schedule(t,i)}else return HN.Subscription.EMPTY},e.prototype.requestAsyncId=function(t,i,n){n===void 0&&(n=0),this.delay=t.frame+n;var s=t.actions;return s.push(this),s.sort(e.sortActions),1},e.prototype.recycleAsyncId=function(t,i,n){n===void 0&&(n=0)},e.prototype._execute=function(t,i){if(this.active===!0)return r.prototype._execute.call(this,t,i)},e.sortActions=function(t,i){return t.delay===i.delay?t.index===i.index?0:t.index>i.index?1:-1:t.delay>i.delay?1:-1},e}(NN.AsyncAction);Hi.VirtualAction=xC});var Ir=C(Hn=>{"use strict";Object.defineProperty(Hn,"__esModule",{value:!0});Hn.empty=Hn.EMPTY=void 0;var CC=Te();Hn.EMPTY=new CC.Observable(function(r){return r.complete()});function jN(r){return r?VN(r):Hn.EMPTY}Hn.empty=jN;function VN(r){return new CC.Observable(function(e){return r.schedule(function(){return e.complete()})})}});var ja=C(QA=>{"use strict";Object.defineProperty(QA,"__esModule",{value:!0});QA.isScheduler=void 0;var YN=we();function KN(r){return r&&YN.isFunction(r.schedule)}QA.isScheduler=KN});var Wt=C(Wi=>{"use strict";Object.defineProperty(Wi,"__esModule",{value:!0});Wi.popNumber=Wi.popScheduler=Wi.popResultSelector=void 0;var zN=we(),XN=ja();function Zm(r){return r[r.length-1]}function JN(r){return zN.isFunction(Zm(r))?r.pop():void 0}Wi.popResultSelector=JN;function ZN(r){return XN.isScheduler(Zm(r))?r.pop():void 0}Wi.popScheduler=ZN;function $N(r,e){return typeof Zm(r)=="number"?r.pop():e}Wi.popNumber=$N});var TA=C(SA=>{"use strict";Object.defineProperty(SA,"__esModule",{value:!0});SA.isArrayLike=void 0;SA.isArrayLike=function(r){return r&&typeof r.length=="number"&&typeof r!="function"}});var $m=C(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.isPromise=void 0;var eH=we();function tH(r){return eH.isFunction(r?.then)}MA.isPromise=tH});var ey=C(PA=>{"use strict";Object.defineProperty(PA,"__esModule",{value:!0});PA.isInteropObservable=void 0;var rH=La(),iH=we();function nH(r){return iH.isFunction(r[rH.observable])}PA.isInteropObservable=nH});var ty=C(DA=>{"use strict";Object.defineProperty(DA,"__esModule",{value:!0});DA.isAsyncIterable=void 0;var sH=we();function oH(r){return Symbol.asyncIterator&&sH.isFunction(r?.[Symbol.asyncIterator])}DA.isAsyncIterable=oH});var ry=C(RA=>{"use strict";Object.defineProperty(RA,"__esModule",{value:!0});RA.createInvalidObservableTypeError=void 0;function aH(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}RA.createInvalidObservableTypeError=aH});var iy=C($s=>{"use strict";Object.defineProperty($s,"__esModule",{value:!0});$s.iterator=$s.getSymbolIterator=void 0;function bC(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}$s.getSymbolIterator=bC;$s.iterator=bC()});var ny=C(FA=>{"use strict";Object.defineProperty(FA,"__esModule",{value:!0});FA.isIterable=void 0;var uH=iy(),lH=we();function cH(r){return lH.isFunction(r?.[uH.iterator])}FA.isIterable=cH});var kA=C(nr=>{"use strict";var AH=nr&&nr.__generator||function(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=c[0]&2?n.return:c[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,c[1])).done)return s;switch(n=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,n=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(r,t)}catch(u){c=[6,u],n=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},eo=nr&&nr.__await||function(r){return this instanceof eo?(this.v=r,this):new eo(r)},hH=nr&&nr.__asyncGenerator||function(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=t.apply(r,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(h){i[h]&&(n[h]=function(d){return new Promise(function(f,g){s.push([h,d,f,g])>1||a(h,d)})})}function a(h,d){try{l(i[h](d))}catch(f){A(s[0][3],f)}}function l(h){h.value instanceof eo?Promise.resolve(h.value.v).then(c,u):A(s[0][2],h)}function c(h){a("next",h)}function u(h){a("throw",h)}function A(h,d){h(d),s.shift(),s.length&&a(s[0][0],s[0][1])}};Object.defineProperty(nr,"__esModule",{value:!0});nr.isReadableStreamLike=nr.readableStreamLikeToAsyncGenerator=void 0;var dH=we();function fH(r){return hH(this,arguments,function(){var t,i,n,s;return AH(this,function(o){switch(o.label){case 0:t=r.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,eo(t.read())];case 3:return i=o.sent(),n=i.value,s=i.done,s?[4,eo(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,eo(n)];case 6:return[4,o.sent()];case 7:return o.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}nr.readableStreamLikeToAsyncGenerator=fH;function pH(r){return dH.isFunction(r?.getReader)}nr.isReadableStreamLike=pH});var ce=C(We=>{"use strict";var gH=We&&We.__awaiter||function(r,e,t,i){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(A){o(A)}}function l(u){try{c(i.throw(u))}catch(A){o(A)}}function c(u){u.done?s(u.value):n(u.value).then(a,l)}c((i=i.apply(r,e||[])).next())})},mH=We&&We.__generator||function(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=c[0]&2?n.return:c[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,c[1])).done)return s;switch(n=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,n=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(r,t)}catch(u){c=[6,u],n=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},yH=We&&We.__asyncValues||function(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof sy=="function"?sy(r):r[Symbol.iterator](),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=r[s]&&function(o){return new Promise(function(a,l){o=r[s](o),n(a,l,o.done,o.value)})}}function n(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}},sy=We&&We.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(We,"__esModule",{value:!0});We.fromReadableStreamLike=We.fromAsyncIterable=We.fromIterable=We.fromPromise=We.fromArrayLike=We.fromInteropObservable=We.innerFrom=void 0;var EH=TA(),_H=$m(),to=Te(),IH=ey(),vH=ty(),xH=ry(),BH=ny(),wC=kA(),CH=we(),bH=km(),wH=La();function QH(r){if(r instanceof to.Observable)return r;if(r!=null){if(IH.isInteropObservable(r))return QC(r);if(EH.isArrayLike(r))return SC(r);if(_H.isPromise(r))return TC(r);if(vH.isAsyncIterable(r))return oy(r);if(BH.isIterable(r))return MC(r);if(wC.isReadableStreamLike(r))return PC(r)}throw xH.createInvalidObservableTypeError(r)}We.innerFrom=QH;function QC(r){return new to.Observable(function(e){var t=r[wH.observable]();if(CH.isFunction(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}We.fromInteropObservable=QC;function SC(r){return new to.Observable(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}We.fromArrayLike=SC;function TC(r){return new to.Observable(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,bH.reportUnhandledError)})}We.fromPromise=TC;function MC(r){return new to.Observable(function(e){var t,i;try{for(var n=sy(r),s=n.next();!s.done;s=n.next()){var o=s.value;if(e.next(o),e.closed)return}}catch(a){t={error:a}}finally{try{s&&!s.done&&(i=n.return)&&i.call(n)}finally{if(t)throw t.error}}e.complete()})}We.fromIterable=MC;function oy(r){return new to.Observable(function(e){SH(r,e).catch(function(t){return e.error(t)})})}We.fromAsyncIterable=oy;function PC(r){return oy(wC.readableStreamLikeToAsyncGenerator(r))}We.fromReadableStreamLike=PC;function SH(r,e){var t,i,n,s;return gH(this,void 0,void 0,function(){var o,a;return mH(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),t=yH(r),l.label=1;case 1:return[4,t.next()];case 2:if(i=l.sent(),!!i.done)return[3,4];if(o=i.value,e.next(o),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=l.sent(),n={error:a},[3,11];case 6:return l.trys.push([6,,9,10]),i&&!i.done&&(s=t.return)?[4,s.call(t)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(n)throw n.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}});var hi=C(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.executeSchedule=void 0;function TH(r,e,t,i,n){i===void 0&&(i=0),n===void 0&&(n=!1);var s=e.schedule(function(){t(),n?r.add(this.schedule(null,i)):this.unsubscribe()},i);if(r.add(s),!n)return s}OA.executeSchedule=TH});var Va=C(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.observeOn=void 0;var ay=hi(),MH=K(),PH=$();function DH(r,e){return e===void 0&&(e=0),MH.operate(function(t,i){t.subscribe(PH.createOperatorSubscriber(i,function(n){return ay.executeSchedule(i,r,function(){return i.next(n)},e)},function(){return ay.executeSchedule(i,r,function(){return i.complete()},e)},function(n){return ay.executeSchedule(i,r,function(){return i.error(n)},e)}))})}GA.observeOn=DH});var Ya=C(UA=>{"use strict";Object.defineProperty(UA,"__esModule",{value:!0});UA.subscribeOn=void 0;var RH=K();function FH(r,e){return e===void 0&&(e=0),RH.operate(function(t,i){i.add(r.schedule(function(){return t.subscribe(i)},e))})}UA.subscribeOn=FH});var DC=C(LA=>{"use strict";Object.defineProperty(LA,"__esModule",{value:!0});LA.scheduleObservable=void 0;var kH=ce(),OH=Va(),GH=Ya();function UH(r,e){return kH.innerFrom(r).pipe(GH.subscribeOn(e),OH.observeOn(e))}LA.scheduleObservable=UH});var RC=C(NA=>{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.schedulePromise=void 0;var LH=ce(),NH=Va(),HH=Ya();function WH(r,e){return LH.innerFrom(r).pipe(HH.subscribeOn(e),NH.observeOn(e))}NA.schedulePromise=WH});var FC=C(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.scheduleArray=void 0;var qH=Te();function jH(r,e){return new qH.Observable(function(t){var i=0;return e.schedule(function(){i===r.length?t.complete():(t.next(r[i++]),t.closed||this.schedule())})})}HA.scheduleArray=jH});var uy=C(WA=>{"use strict";Object.defineProperty(WA,"__esModule",{value:!0});WA.scheduleIterable=void 0;var VH=Te(),YH=iy(),KH=we(),kC=hi();function zH(r,e){return new VH.Observable(function(t){var i;return kC.executeSchedule(t,e,function(){i=r[YH.iterator](),kC.executeSchedule(t,e,function(){var n,s,o;try{n=i.next(),s=n.value,o=n.done}catch(a){t.error(a);return}o?t.complete():t.next(s)},0,!0)}),function(){return KH.isFunction(i?.return)&&i.return()}})}WA.scheduleIterable=zH});var ly=C(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.scheduleAsyncIterable=void 0;var XH=Te(),OC=hi();function JH(r,e){if(!r)throw new Error("Iterable cannot be null");return new XH.Observable(function(t){OC.executeSchedule(t,e,function(){var i=r[Symbol.asyncIterator]();OC.executeSchedule(t,e,function(){i.next().then(function(n){n.done?t.complete():t.next(n.value)})},0,!0)})})}qA.scheduleAsyncIterable=JH});var GC=C(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.scheduleReadableStreamLike=void 0;var ZH=ly(),$H=kA();function e3(r,e){return ZH.scheduleAsyncIterable($H.readableStreamLikeToAsyncGenerator(r),e)}jA.scheduleReadableStreamLike=e3});var cy=C(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.scheduled=void 0;var t3=DC(),r3=RC(),i3=FC(),n3=uy(),s3=ly(),o3=ey(),a3=$m(),u3=TA(),l3=ny(),c3=ty(),A3=ry(),h3=kA(),d3=GC();function f3(r,e){if(r!=null){if(o3.isInteropObservable(r))return t3.scheduleObservable(r,e);if(u3.isArrayLike(r))return i3.scheduleArray(r,e);if(a3.isPromise(r))return r3.schedulePromise(r,e);if(c3.isAsyncIterable(r))return s3.scheduleAsyncIterable(r,e);if(l3.isIterable(r))return n3.scheduleIterable(r,e);if(h3.isReadableStreamLike(r))return d3.scheduleReadableStreamLike(r,e)}throw A3.createInvalidObservableTypeError(r)}VA.scheduled=f3});var di=C(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.from=void 0;var p3=cy(),g3=ce();function m3(r,e){return e?p3.scheduled(r,e):g3.innerFrom(r)}YA.from=m3});var zA=C(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.of=void 0;var y3=Wt(),E3=di();function _3(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=y3.popScheduler(r);return E3.from(r,t)}KA.of=_3});var Ay=C(XA=>{"use strict";Object.defineProperty(XA,"__esModule",{value:!0});XA.throwError=void 0;var I3=Te(),v3=we();function x3(r,e){var t=v3.isFunction(r)?r:function(){return r},i=function(n){return n.error(t())};return new I3.Observable(e?function(n){return e.schedule(i,0,n)}:i)}XA.throwError=x3});var JA=C(fi=>{"use strict";Object.defineProperty(fi,"__esModule",{value:!0});fi.observeNotification=fi.Notification=fi.NotificationKind=void 0;var B3=Ir(),C3=zA(),b3=Ay(),w3=we(),Q3;(function(r){r.NEXT="N",r.ERROR="E",r.COMPLETE="C"})(Q3=fi.NotificationKind||(fi.NotificationKind={}));var S3=function(){function r(e,t,i){this.kind=e,this.value=t,this.error=i,this.hasValue=e==="N"}return r.prototype.observe=function(e){return UC(this,e)},r.prototype.do=function(e,t,i){var n=this,s=n.kind,o=n.value,a=n.error;return s==="N"?e?.(o):s==="E"?t?.(a):i?.()},r.prototype.accept=function(e,t,i){var n;return w3.isFunction((n=e)===null||n===void 0?void 0:n.next)?this.observe(e):this.do(e,t,i)},r.prototype.toObservable=function(){var e=this,t=e.kind,i=e.value,n=e.error,s=t==="N"?C3.of(i):t==="E"?b3.throwError(function(){return n}):t==="C"?B3.EMPTY:0;if(!s)throw new TypeError("Unexpected notification kind "+t);return s},r.createNext=function(e){return new r("N",e)},r.createError=function(e){return new r("E",void 0,e)},r.createComplete=function(){return r.completeNotification},r.completeNotification=new r("C"),r}();fi.Notification=S3;function UC(r,e){var t,i,n,s=r,o=s.kind,a=s.value,l=s.error;if(typeof o!="string")throw new TypeError('Invalid notification, missing "kind"');o==="N"?(t=e.next)===null||t===void 0||t.call(e,a):o==="E"?(i=e.error)===null||i===void 0||i.call(e,l):(n=e.complete)===null||n===void 0||n.call(e)}fi.observeNotification=UC});var NC=C(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.isObservable=void 0;var T3=Te(),LC=we();function M3(r){return!!r&&(r instanceof T3.Observable||LC.isFunction(r.lift)&&LC.isFunction(r.subscribe))}ZA.isObservable=M3});var qi=C($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.EmptyError=void 0;var P3=Li();$A.EmptyError=P3.createErrorClass(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}})});var HC=C(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.lastValueFrom=void 0;var D3=qi();function R3(r,e){var t=typeof e=="object";return new Promise(function(i,n){var s=!1,o;r.subscribe({next:function(a){o=a,s=!0},error:n,complete:function(){s?i(o):t?i(e.defaultValue):n(new D3.EmptyError)}})})}eh.lastValueFrom=R3});var WC=C(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.firstValueFrom=void 0;var F3=qi(),k3=Rs();function O3(r,e){var t=typeof e=="object";return new Promise(function(i,n){var s=new k3.SafeSubscriber({next:function(o){i(o),s.unsubscribe()},error:n,complete:function(){t?i(e.defaultValue):n(new F3.EmptyError)}});r.subscribe(s)})}th.firstValueFrom=O3});var hy=C(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.ArgumentOutOfRangeError=void 0;var G3=Li();rh.ArgumentOutOfRangeError=G3.createErrorClass(function(r){return function(){r(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}})});var dy=C(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});ih.NotFoundError=void 0;var U3=Li();ih.NotFoundError=U3.createErrorClass(function(r){return function(t){r(this),this.name="NotFoundError",this.message=t}})});var fy=C(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.SequenceError=void 0;var L3=Li();nh.SequenceError=L3.createErrorClass(function(r){return function(t){r(this),this.name="SequenceError",this.message=t}})});var oh=C(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.isValidDate=void 0;function N3(r){return r instanceof Date&&!isNaN(r)}sh.isValidDate=N3});var ah=C(Wn=>{"use strict";Object.defineProperty(Wn,"__esModule",{value:!0});Wn.timeout=Wn.TimeoutError=void 0;var H3=Ht(),W3=oh(),q3=K(),j3=ce(),V3=Li(),Y3=$(),K3=hi();Wn.TimeoutError=V3.createErrorClass(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function z3(r,e){var t=W3.isValidDate(r)?{first:r}:typeof r=="number"?{each:r}:r,i=t.first,n=t.each,s=t.with,o=s===void 0?X3:s,a=t.scheduler,l=a===void 0?e??H3.asyncScheduler:a,c=t.meta,u=c===void 0?null:c;if(i==null&&n==null)throw new TypeError("No timeout provided.");return q3.operate(function(A,h){var d,f,g=null,p=0,I=function(x){f=K3.executeSchedule(h,l,function(){try{d.unsubscribe(),j3.innerFrom(o({meta:u,lastValue:g,seen:p})).subscribe(h)}catch(B){h.error(B)}},x)};d=A.subscribe(Y3.createOperatorSubscriber(h,function(x){f?.unsubscribe(),p++,h.next(g=x),n>0&&I(n)},void 0,void 0,function(){f?.closed||f?.unsubscribe(),g=null})),!p&&I(i!=null?typeof i=="number"?i:+i-l.now():n)})}Wn.timeout=z3;function X3(r){throw new Wn.TimeoutError(r)}});var ji=C(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});uh.map=void 0;var J3=K(),Z3=$();function $3(r,e){return J3.operate(function(t,i){var n=0;t.subscribe(Z3.createOperatorSubscriber(i,function(s){i.next(r.call(e,s,n++))}))})}uh.map=$3});var Yi=C(Vi=>{"use strict";var eW=Vi&&Vi.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},tW=Vi&&Vi.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Vi,"__esModule",{value:!0});Vi.mapOneOrManyArgs=void 0;var rW=ji(),iW=Array.isArray;function nW(r,e){return iW(e)?r.apply(void 0,tW([],eW(e))):r(e)}function sW(r){return rW.map(function(e){return nW(r,e)})}Vi.mapOneOrManyArgs=sW});var gy=C(Ki=>{"use strict";var oW=Ki&&Ki.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},qC=Ki&&Ki.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Ki,"__esModule",{value:!0});Ki.bindCallbackInternals=void 0;var aW=ja(),uW=Te(),lW=Ya(),cW=Yi(),AW=Va(),hW=CA();function py(r,e,t,i){if(t)if(aW.isScheduler(t))i=t;else return function(){for(var n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];return py(r,e,i).apply(this,n).pipe(cW.mapOneOrManyArgs(t))};return i?function(){for(var n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];return py(r,e).apply(this,n).pipe(lW.subscribeOn(i),AW.observeOn(i))}:function(){for(var n=this,s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];var a=new hW.AsyncSubject,l=!0;return new uW.Observable(function(c){var u=a.subscribe(c);if(l){l=!1;var A=!1,h=!1;e.apply(n,qC(qC([],oW(s)),[function(){for(var d=[],f=0;f<arguments.length;f++)d[f]=arguments[f];if(r){var g=d.shift();if(g!=null){a.error(g);return}}a.next(1<d.length?d:d[0]),h=!0,A&&a.complete()}])),h&&a.complete(),A=!0}return u})}}Ki.bindCallbackInternals=py});var jC=C(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});lh.bindCallback=void 0;var dW=gy();function fW(r,e,t){return dW.bindCallbackInternals(!1,r,e,t)}lh.bindCallback=fW});var VC=C(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});ch.bindNodeCallback=void 0;var pW=gy();function gW(r,e,t){return pW.bindCallbackInternals(!0,r,e,t)}ch.bindNodeCallback=gW});var my=C(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});Ah.argsArgArrayOrObject=void 0;var mW=Array.isArray,yW=Object.getPrototypeOf,EW=Object.prototype,_W=Object.keys;function IW(r){if(r.length===1){var e=r[0];if(mW(e))return{args:e,keys:null};if(vW(e)){var t=_W(e);return{args:t.map(function(i){return e[i]}),keys:t}}}return{args:r,keys:null}}Ah.argsArgArrayOrObject=IW;function vW(r){return r&&typeof r=="object"&&yW(r)===EW}});var yy=C(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});hh.createObject=void 0;function xW(r,e){return r.reduce(function(t,i,n){return t[i]=e[n],t},{})}hh.createObject=xW});var dh=C(ro=>{"use strict";Object.defineProperty(ro,"__esModule",{value:!0});ro.combineLatestInit=ro.combineLatest=void 0;var BW=Te(),CW=my(),zC=di(),XC=ht(),bW=Yi(),YC=Wt(),wW=yy(),QW=$(),SW=hi();function TW(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=YC.popScheduler(r),i=YC.popResultSelector(r),n=CW.argsArgArrayOrObject(r),s=n.args,o=n.keys;if(s.length===0)return zC.from([],t);var a=new BW.Observable(JC(s,t,o?function(l){return wW.createObject(o,l)}:XC.identity));return i?a.pipe(bW.mapOneOrManyArgs(i)):a}ro.combineLatest=TW;function JC(r,e,t){return t===void 0&&(t=XC.identity),function(i){KC(e,function(){for(var n=r.length,s=new Array(n),o=n,a=n,l=function(u){KC(e,function(){var A=zC.from(r[u],e),h=!1;A.subscribe(QW.createOperatorSubscriber(i,function(d){s[u]=d,h||(h=!0,a--),a||i.next(t(s.slice()))},function(){--o||i.complete()}))},i)},c=0;c<n;c++)l(c)},i)}}ro.combineLatestInit=JC;function KC(r,e,t){r?SW.executeSchedule(t,r,e):e()}});var ph=C(fh=>{"use strict";Object.defineProperty(fh,"__esModule",{value:!0});fh.mergeInternals=void 0;var MW=ce(),PW=hi(),ZC=$();function DW(r,e,t,i,n,s,o,a){var l=[],c=0,u=0,A=!1,h=function(){A&&!l.length&&!c&&e.complete()},d=function(g){return c<i?f(g):l.push(g)},f=function(g){s&&e.next(g),c++;var p=!1;MW.innerFrom(t(g,u++)).subscribe(ZC.createOperatorSubscriber(e,function(I){n?.(I),s?d(I):e.next(I)},function(){p=!0},void 0,function(){if(p)try{c--;for(var I=function(){var x=l.shift();o?PW.executeSchedule(e,o,function(){return f(x)}):f(x)};l.length&&c<i;)I();h()}catch(x){e.error(x)}}))};return r.subscribe(ZC.createOperatorSubscriber(e,d,function(){A=!0,h()})),function(){a?.()}}fh.mergeInternals=DW});var pi=C(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});gh.mergeMap=void 0;var RW=ji(),FW=ce(),kW=K(),OW=ph(),GW=we();function $C(r,e,t){return t===void 0&&(t=1/0),GW.isFunction(e)?$C(function(i,n){return RW.map(function(s,o){return e(i,s,n,o)})(FW.innerFrom(r(i,n)))},t):(typeof e=="number"&&(t=e),kW.operate(function(i,n){return OW.mergeInternals(i,n,r,t)}))}gh.mergeMap=$C});var Ka=C(mh=>{"use strict";Object.defineProperty(mh,"__esModule",{value:!0});mh.mergeAll=void 0;var UW=pi(),LW=ht();function NW(r){return r===void 0&&(r=1/0),UW.mergeMap(LW.identity,r)}mh.mergeAll=NW});var Eh=C(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.concatAll=void 0;var HW=Ka();function WW(){return HW.mergeAll(1)}yh.concatAll=WW});var za=C(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});_h.concat=void 0;var qW=Eh(),jW=Wt(),VW=di();function YW(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return qW.concatAll()(VW.from(r,jW.popScheduler(r)))}_h.concat=YW});var Xa=C(Ih=>{"use strict";Object.defineProperty(Ih,"__esModule",{value:!0});Ih.defer=void 0;var KW=Te(),zW=ce();function XW(r){return new KW.Observable(function(e){zW.innerFrom(r()).subscribe(e)})}Ih.defer=XW});var eb=C(vh=>{"use strict";Object.defineProperty(vh,"__esModule",{value:!0});vh.connectable=void 0;var JW=dt(),ZW=Te(),$W=Xa(),eq={connector:function(){return new JW.Subject},resetOnDisconnect:!0};function tq(r,e){e===void 0&&(e=eq);var t=null,i=e.connector,n=e.resetOnDisconnect,s=n===void 0?!0:n,o=i(),a=new ZW.Observable(function(l){return o.subscribe(l)});return a.connect=function(){return(!t||t.closed)&&(t=$W.defer(function(){return r}).subscribe(o),s&&t.add(function(){return o=i()})),t},a}vh.connectable=tq});var tb=C(xh=>{"use strict";Object.defineProperty(xh,"__esModule",{value:!0});xh.forkJoin=void 0;var rq=Te(),iq=my(),nq=ce(),sq=Wt(),oq=$(),aq=Yi(),uq=yy();function lq(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=sq.popResultSelector(r),i=iq.argsArgArrayOrObject(r),n=i.args,s=i.keys,o=new rq.Observable(function(a){var l=n.length;if(!l){a.complete();return}for(var c=new Array(l),u=l,A=l,h=function(f){var g=!1;nq.innerFrom(n[f]).subscribe(oq.createOperatorSubscriber(a,function(p){g||(g=!0,A--),c[f]=p},function(){return u--},void 0,function(){(!u||!g)&&(A||a.next(s?uq.createObject(s,c):c),a.complete())}))},d=0;d<l;d++)h(d)});return t?o.pipe(aq.mapOneOrManyArgs(t)):o}xh.forkJoin=lq});var ib=C(io=>{"use strict";var cq=io&&io.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s};Object.defineProperty(io,"__esModule",{value:!0});io.fromEvent=void 0;var Aq=ce(),hq=Te(),dq=pi(),fq=TA(),qn=we(),pq=Yi(),gq=["addListener","removeListener"],mq=["addEventListener","removeEventListener"],yq=["on","off"];function Ey(r,e,t,i){if(qn.isFunction(t)&&(i=t,t=void 0),i)return Ey(r,e,t).pipe(pq.mapOneOrManyArgs(i));var n=cq(Iq(r)?mq.map(function(a){return function(l){return r[a](e,l,t)}}):Eq(r)?gq.map(rb(r,e)):_q(r)?yq.map(rb(r,e)):[],2),s=n[0],o=n[1];if(!s&&fq.isArrayLike(r))return dq.mergeMap(function(a){return Ey(a,e,t)})(Aq.innerFrom(r));if(!s)throw new TypeError("Invalid event target");return new hq.Observable(function(a){var l=function(){for(var c=[],u=0;u<arguments.length;u++)c[u]=arguments[u];return a.next(1<c.length?c:c[0])};return s(l),function(){return o(l)}})}io.fromEvent=Ey;function rb(r,e){return function(t){return function(i){return r[t](e,i)}}}function Eq(r){return qn.isFunction(r.addListener)&&qn.isFunction(r.removeListener)}function _q(r){return qn.isFunction(r.on)&&qn.isFunction(r.off)}function Iq(r){return qn.isFunction(r.addEventListener)&&qn.isFunction(r.removeEventListener)}});var sb=C(Bh=>{"use strict";Object.defineProperty(Bh,"__esModule",{value:!0});Bh.fromEventPattern=void 0;var vq=Te(),xq=we(),Bq=Yi();function nb(r,e,t){return t?nb(r,e).pipe(Bq.mapOneOrManyArgs(t)):new vq.Observable(function(i){var n=function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];return i.next(o.length===1?o[0]:o)},s=r(n);return xq.isFunction(e)?function(){return e(n,s)}:void 0})}Bh.fromEventPattern=nb});var ab=C(no=>{"use strict";var Cq=no&&no.__generator||function(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,n,s,o;return o={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function a(c){return function(u){return l([c,u])}}function l(c){if(i)throw new TypeError("Generator is already executing.");for(;t;)try{if(i=1,n&&(s=c[0]&2?n.return:c[0]?n.throw||((s=n.return)&&s.call(n),0):n.next)&&!(s=s.call(n,c[1])).done)return s;switch(n=0,s&&(c=[c[0]&2,s.value]),c[0]){case 0:case 1:s=c;break;case 4:return t.label++,{value:c[1],done:!1};case 5:t.label++,n=c[1],c=[0];continue;case 7:c=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(c[0]===6||c[0]===2)){t=0;continue}if(c[0]===3&&(!s||c[1]>s[0]&&c[1]<s[3])){t.label=c[1];break}if(c[0]===6&&t.label<s[1]){t.label=s[1],s=c;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(c);break}s[2]&&t.ops.pop(),t.trys.pop();continue}c=e.call(r,t)}catch(u){c=[6,u],n=0}finally{i=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}};Object.defineProperty(no,"__esModule",{value:!0});no.generate=void 0;var ob=ht(),bq=ja(),wq=Xa(),Qq=uy();function Sq(r,e,t,i,n){var s,o,a,l;arguments.length===1?(s=r,l=s.initialState,e=s.condition,t=s.iterate,o=s.resultSelector,a=o===void 0?ob.identity:o,n=s.scheduler):(l=r,!i||bq.isScheduler(i)?(a=ob.identity,n=i):a=i);function c(){var u;return Cq(this,function(A){switch(A.label){case 0:u=l,A.label=1;case 1:return!e||e(u)?[4,a(u)]:[3,4];case 2:A.sent(),A.label=3;case 3:return u=t(u),[3,1];case 4:return[2]}})}return wq.defer(n?function(){return Qq.scheduleIterable(c(),n)}:c)}no.generate=Sq});var ub=C(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});Ch.iif=void 0;var Tq=Xa();function Mq(r,e,t){return Tq.defer(function(){return r()?e:t})}Ch.iif=Mq});var zi=C(bh=>{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});bh.timer=void 0;var Pq=Te(),Dq=Ht(),Rq=ja(),Fq=oh();function kq(r,e,t){r===void 0&&(r=0),t===void 0&&(t=Dq.async);var i=-1;return e!=null&&(Rq.isScheduler(e)?t=e:i=e),new Pq.Observable(function(n){var s=Fq.isValidDate(r)?+r-t.now():r;s<0&&(s=0);var o=0;return t.schedule(function(){n.closed||(n.next(o++),0<=i?this.schedule(void 0,i):n.complete())},s)})}bh.timer=kq});var _y=C(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});wh.interval=void 0;var Oq=Ht(),Gq=zi();function Uq(r,e){return r===void 0&&(r=0),e===void 0&&(e=Oq.asyncScheduler),r<0&&(r=0),Gq.timer(r,r,e)}wh.interval=Uq});var cb=C(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});Qh.merge=void 0;var Lq=Ka(),Nq=ce(),Hq=Ir(),lb=Wt(),Wq=di();function qq(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=lb.popScheduler(r),i=lb.popNumber(r,1/0),n=r;return n.length?n.length===1?Nq.innerFrom(n[0]):Lq.mergeAll(i)(Wq.from(n,t)):Hq.EMPTY}Qh.merge=qq});var Iy=C(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.never=jn.NEVER=void 0;var jq=Te(),Vq=At();jn.NEVER=new jq.Observable(Vq.noop);function Yq(){return jn.NEVER}jn.never=Yq});var Vn=C(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.argsOrArgArray=void 0;var Kq=Array.isArray;function zq(r){return r.length===1&&Kq(r[0])?r[0]:r}Sh.argsOrArgArray=zq});var vy=C(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});Th.onErrorResumeNext=void 0;var Xq=Te(),Jq=Vn(),Zq=$(),Ab=At(),$q=ce();function ej(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=Jq.argsOrArgArray(r);return new Xq.Observable(function(i){var n=0,s=function(){if(n<t.length){var o=void 0;try{o=$q.innerFrom(t[n++])}catch{s();return}var a=new Zq.OperatorSubscriber(i,void 0,Ab.noop,Ab.noop);o.subscribe(a),a.add(s)}else i.complete()};s()})}Th.onErrorResumeNext=ej});var hb=C(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});Mh.pairs=void 0;var tj=di();function rj(r,e){return tj.from(Object.entries(r),e)}Mh.pairs=rj});var db=C(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.not=void 0;function ij(r,e){return function(t,i){return!r.call(e,t,i)}}Ph.not=ij});var Yn=C(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.filter=void 0;var nj=K(),sj=$();function oj(r,e){return nj.operate(function(t,i){var n=0;t.subscribe(sj.createOperatorSubscriber(i,function(s){return r.call(e,s,n++)&&i.next(s)}))})}Dh.filter=oj});var gb=C(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.partition=void 0;var aj=db(),fb=Yn(),pb=ce();function uj(r,e,t){return[fb.filter(e,t)(pb.innerFrom(r)),fb.filter(aj.not(e,t))(pb.innerFrom(r))]}Rh.partition=uj});var xy=C(so=>{"use strict";Object.defineProperty(so,"__esModule",{value:!0});so.raceInit=so.race=void 0;var lj=Te(),mb=ce(),cj=Vn(),Aj=$();function hj(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return r=cj.argsOrArgArray(r),r.length===1?mb.innerFrom(r[0]):new lj.Observable(yb(r))}so.race=hj;function yb(r){return function(e){for(var t=[],i=function(s){t.push(mb.innerFrom(r[s]).subscribe(Aj.createOperatorSubscriber(e,function(o){if(t){for(var a=0;a<t.length;a++)a!==s&&t[a].unsubscribe();t=null}e.next(o)})))},n=0;t&&!e.closed&&n<r.length;n++)i(n)}}so.raceInit=yb});var Eb=C(Fh=>{"use strict";Object.defineProperty(Fh,"__esModule",{value:!0});Fh.range=void 0;var dj=Te(),fj=Ir();function pj(r,e,t){if(e==null&&(e=r,r=0),e<=0)return fj.EMPTY;var i=e+r;return new dj.Observable(t?function(n){var s=r;return t.schedule(function(){s<i?(n.next(s++),this.schedule()):n.complete()})}:function(n){for(var s=r;s<i&&!n.closed;)n.next(s++);n.complete()})}Fh.range=pj});var _b=C(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});kh.using=void 0;var gj=Te(),mj=ce(),yj=Ir();function Ej(r,e){return new gj.Observable(function(t){var i=r(),n=e(i),s=n?mj.innerFrom(n):yj.EMPTY;return s.subscribe(t),function(){i&&i.unsubscribe()}})}kh.using=Ej});var Oh=C(Xi=>{"use strict";var _j=Xi&&Xi.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},Ij=Xi&&Xi.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Xi,"__esModule",{value:!0});Xi.zip=void 0;var vj=Te(),xj=ce(),Bj=Vn(),Cj=Ir(),bj=$(),wj=Wt();function Qj(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=wj.popResultSelector(r),i=Bj.argsOrArgArray(r);return i.length?new vj.Observable(function(n){var s=i.map(function(){return[]}),o=i.map(function(){return!1});n.add(function(){s=o=null});for(var a=function(c){xj.innerFrom(i[c]).subscribe(bj.createOperatorSubscriber(n,function(u){if(s[c].push(u),s.every(function(h){return h.length})){var A=s.map(function(h){return h.shift()});n.next(t?t.apply(void 0,Ij([],_j(A))):A),s.some(function(h,d){return!h.length&&o[d]})&&n.complete()}},function(){o[c]=!0,!s[c].length&&n.complete()}))},l=0;!n.closed&&l<i.length;l++)a(l);return function(){s=o=null}}):Cj.EMPTY}Xi.zip=Qj});var vb=C(Ib=>{"use strict";Object.defineProperty(Ib,"__esModule",{value:!0})});var By=C(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});Gh.audit=void 0;var Sj=K(),Tj=ce(),xb=$();function Mj(r){return Sj.operate(function(e,t){var i=!1,n=null,s=null,o=!1,a=function(){if(s?.unsubscribe(),s=null,i){i=!1;var c=n;n=null,t.next(c)}o&&t.complete()},l=function(){s=null,o&&t.complete()};e.subscribe(xb.createOperatorSubscriber(t,function(c){i=!0,n=c,s||Tj.innerFrom(r(c)).subscribe(s=xb.createOperatorSubscriber(t,a,l))},function(){o=!0,(!i||!s||s.closed)&&t.complete()}))})}Gh.audit=Mj});var Bb=C(Uh=>{"use strict";Object.defineProperty(Uh,"__esModule",{value:!0});Uh.auditTime=void 0;var Pj=Ht(),Dj=By(),Rj=zi();function Fj(r,e){return e===void 0&&(e=Pj.asyncScheduler),Dj.audit(function(){return Rj.timer(r,e)})}Uh.auditTime=Fj});var bb=C(Lh=>{"use strict";Object.defineProperty(Lh,"__esModule",{value:!0});Lh.buffer=void 0;var kj=K(),Oj=At(),Cb=$(),Gj=ce();function Uj(r){return kj.operate(function(e,t){var i=[];return e.subscribe(Cb.createOperatorSubscriber(t,function(n){return i.push(n)},function(){t.next(i),t.complete()})),Gj.innerFrom(r).subscribe(Cb.createOperatorSubscriber(t,function(){var n=i;i=[],t.next(n)},Oj.noop)),function(){i=null}})}Lh.buffer=Uj});var wb=C(oo=>{"use strict";var Cy=oo&&oo.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(oo,"__esModule",{value:!0});oo.bufferCount=void 0;var Lj=K(),Nj=$(),Hj=Ai();function Wj(r,e){return e===void 0&&(e=null),e=e??r,Lj.operate(function(t,i){var n=[],s=0;t.subscribe(Nj.createOperatorSubscriber(i,function(o){var a,l,c,u,A=null;s++%e===0&&n.push([]);try{for(var h=Cy(n),d=h.next();!d.done;d=h.next()){var f=d.value;f.push(o),r<=f.length&&(A=A??[],A.push(f))}}catch(I){a={error:I}}finally{try{d&&!d.done&&(l=h.return)&&l.call(h)}finally{if(a)throw a.error}}if(A)try{for(var g=Cy(A),p=g.next();!p.done;p=g.next()){var f=p.value;Hj.arrRemove(n,f),i.next(f)}}catch(I){c={error:I}}finally{try{p&&!p.done&&(u=g.return)&&u.call(g)}finally{if(c)throw c.error}}},function(){var o,a;try{for(var l=Cy(n),c=l.next();!c.done;c=l.next()){var u=c.value;i.next(u)}}catch(A){o={error:A}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}i.complete()},void 0,function(){n=null}))})}oo.bufferCount=Wj});var Sb=C(ao=>{"use strict";var qj=ao&&ao.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ao,"__esModule",{value:!0});ao.bufferTime=void 0;var jj=Zt(),Vj=K(),Yj=$(),Kj=Ai(),zj=Ht(),Xj=Wt(),Qb=hi();function Jj(r){for(var e,t,i=[],n=1;n<arguments.length;n++)i[n-1]=arguments[n];var s=(e=Xj.popScheduler(i))!==null&&e!==void 0?e:zj.asyncScheduler,o=(t=i[0])!==null&&t!==void 0?t:null,a=i[1]||1/0;return Vj.operate(function(l,c){var u=[],A=!1,h=function(g){var p=g.buffer,I=g.subs;I.unsubscribe(),Kj.arrRemove(u,g),c.next(p),A&&d()},d=function(){if(u){var g=new jj.Subscription;c.add(g);var p=[],I={buffer:p,subs:g};u.push(I),Qb.executeSchedule(g,s,function(){return h(I)},r)}};o!==null&&o>=0?Qb.executeSchedule(c,s,d,o,!0):A=!0,d();var f=Yj.createOperatorSubscriber(c,function(g){var p,I,x=u.slice();try{for(var B=qj(x),w=B.next();!w.done;w=B.next()){var D=w.value,T=D.buffer;T.push(g),a<=T.length&&h(D)}}catch(R){p={error:R}}finally{try{w&&!w.done&&(I=B.return)&&I.call(B)}finally{if(p)throw p.error}}},function(){for(;u?.length;)c.next(u.shift().buffer);f?.unsubscribe(),c.complete(),c.unsubscribe()},void 0,function(){return u=null});l.subscribe(f)})}ao.bufferTime=Jj});var Pb=C(uo=>{"use strict";var Zj=uo&&uo.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(uo,"__esModule",{value:!0});uo.bufferToggle=void 0;var $j=Zt(),e4=K(),Tb=ce(),by=$(),Mb=At(),t4=Ai();function r4(r,e){return e4.operate(function(t,i){var n=[];Tb.innerFrom(r).subscribe(by.createOperatorSubscriber(i,function(s){var o=[];n.push(o);var a=new $j.Subscription,l=function(){t4.arrRemove(n,o),i.next(o),a.unsubscribe()};a.add(Tb.innerFrom(e(s)).subscribe(by.createOperatorSubscriber(i,l,Mb.noop)))},Mb.noop)),t.subscribe(by.createOperatorSubscriber(i,function(s){var o,a;try{for(var l=Zj(n),c=l.next();!c.done;c=l.next()){var u=c.value;u.push(s)}}catch(A){o={error:A}}finally{try{c&&!c.done&&(a=l.return)&&a.call(l)}finally{if(o)throw o.error}}},function(){for(;n.length>0;)i.next(n.shift());i.complete()}))})}uo.bufferToggle=r4});var Rb=C(Nh=>{"use strict";Object.defineProperty(Nh,"__esModule",{value:!0});Nh.bufferWhen=void 0;var i4=K(),n4=At(),Db=$(),s4=ce();function o4(r){return i4.operate(function(e,t){var i=null,n=null,s=function(){n?.unsubscribe();var o=i;i=[],o&&t.next(o),s4.innerFrom(r()).subscribe(n=Db.createOperatorSubscriber(t,s,n4.noop))};s(),e.subscribe(Db.createOperatorSubscriber(t,function(o){return i?.push(o)},function(){i&&t.next(i),t.complete()},void 0,function(){return i=n=null}))})}Nh.bufferWhen=o4});var kb=C(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.catchError=void 0;var a4=ce(),u4=$(),l4=K();function Fb(r){return l4.operate(function(e,t){var i=null,n=!1,s;i=e.subscribe(u4.createOperatorSubscriber(t,void 0,void 0,function(o){s=a4.innerFrom(r(o,Fb(r)(e))),i?(i.unsubscribe(),i=null,s.subscribe(t)):n=!0})),n&&(i.unsubscribe(),i=null,s.subscribe(t))})}Hh.catchError=Fb});var wy=C(Wh=>{"use strict";Object.defineProperty(Wh,"__esModule",{value:!0});Wh.scanInternals=void 0;var c4=$();function A4(r,e,t,i,n){return function(s,o){var a=t,l=e,c=0;s.subscribe(c4.createOperatorSubscriber(o,function(u){var A=c++;l=a?r(l,u,A):(a=!0,u),i&&o.next(l)},n&&function(){a&&o.next(l),o.complete()}))}}Wh.scanInternals=A4});var lo=C(qh=>{"use strict";Object.defineProperty(qh,"__esModule",{value:!0});qh.reduce=void 0;var h4=wy(),d4=K();function f4(r,e){return d4.operate(h4.scanInternals(r,e,arguments.length>=2,!1,!0))}qh.reduce=f4});var Qy=C(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});jh.toArray=void 0;var p4=lo(),g4=K(),m4=function(r,e){return r.push(e),r};function y4(){return g4.operate(function(r,e){p4.reduce(m4,[])(r).subscribe(e)})}jh.toArray=y4});var Sy=C(Vh=>{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});Vh.joinAllInternals=void 0;var E4=ht(),_4=Yi(),I4=Na(),v4=pi(),x4=Qy();function B4(r,e){return I4.pipe(x4.toArray(),v4.mergeMap(function(t){return r(t)}),e?_4.mapOneOrManyArgs(e):E4.identity)}Vh.joinAllInternals=B4});var Ty=C(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0});Yh.combineLatestAll=void 0;var C4=dh(),b4=Sy();function w4(r){return b4.joinAllInternals(C4.combineLatest,r)}Yh.combineLatestAll=w4});var Ob=C(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});Kh.combineAll=void 0;var Q4=Ty();Kh.combineAll=Q4.combineLatestAll});var Nb=C(Ji=>{"use strict";var Gb=Ji&&Ji.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},Ub=Ji&&Ji.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Ji,"__esModule",{value:!0});Ji.combineLatest=void 0;var S4=dh(),T4=K(),M4=Vn(),P4=Yi(),D4=Na(),R4=Wt();function Lb(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=R4.popResultSelector(r);return t?D4.pipe(Lb.apply(void 0,Ub([],Gb(r))),P4.mapOneOrManyArgs(t)):T4.operate(function(i,n){S4.combineLatestInit(Ub([i],Gb(M4.argsOrArgArray(r))))(n)})}Ji.combineLatest=Lb});var Hb=C(Zi=>{"use strict";var F4=Zi&&Zi.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},k4=Zi&&Zi.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Zi,"__esModule",{value:!0});Zi.combineLatestWith=void 0;var O4=Nb();function G4(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return O4.combineLatest.apply(void 0,k4([],F4(r)))}Zi.combineLatestWith=G4});var My=C(zh=>{"use strict";Object.defineProperty(zh,"__esModule",{value:!0});zh.concatMap=void 0;var Wb=pi(),U4=we();function L4(r,e){return U4.isFunction(e)?Wb.mergeMap(r,e,1):Wb.mergeMap(r,1)}zh.concatMap=L4});var jb=C(Xh=>{"use strict";Object.defineProperty(Xh,"__esModule",{value:!0});Xh.concatMapTo=void 0;var qb=My(),N4=we();function H4(r,e){return N4.isFunction(e)?qb.concatMap(function(){return r},e):qb.concatMap(function(){return r})}Xh.concatMapTo=H4});var Vb=C($i=>{"use strict";var W4=$i&&$i.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},q4=$i&&$i.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty($i,"__esModule",{value:!0});$i.concat=void 0;var j4=K(),V4=Eh(),Y4=Wt(),K4=di();function z4(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=Y4.popScheduler(r);return j4.operate(function(i,n){V4.concatAll()(K4.from(q4([i],W4(r)),t)).subscribe(n)})}$i.concat=z4});var Yb=C(en=>{"use strict";var X4=en&&en.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},J4=en&&en.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(en,"__esModule",{value:!0});en.concatWith=void 0;var Z4=Vb();function $4(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return Z4.concat.apply(void 0,J4([],X4(r)))}en.concatWith=$4});var Kb=C(Jh=>{"use strict";Object.defineProperty(Jh,"__esModule",{value:!0});Jh.fromSubscribable=void 0;var eV=Te();function tV(r){return new eV.Observable(function(e){return r.subscribe(e)})}Jh.fromSubscribable=tV});var $h=C(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.connect=void 0;var rV=dt(),iV=ce(),nV=K(),sV=Kb(),oV={connector:function(){return new rV.Subject}};function aV(r,e){e===void 0&&(e=oV);var t=e.connector;return nV.operate(function(i,n){var s=t();iV.innerFrom(r(sV.fromSubscribable(s))).subscribe(n),n.add(i.subscribe(s))})}Zh.connect=aV});var zb=C(ed=>{"use strict";Object.defineProperty(ed,"__esModule",{value:!0});ed.count=void 0;var uV=lo();function lV(r){return uV.reduce(function(e,t,i){return!r||r(t,i)?e+1:e},0)}ed.count=lV});var Jb=C(td=>{"use strict";Object.defineProperty(td,"__esModule",{value:!0});td.debounce=void 0;var cV=K(),AV=At(),Xb=$(),hV=ce();function dV(r){return cV.operate(function(e,t){var i=!1,n=null,s=null,o=function(){if(s?.unsubscribe(),s=null,i){i=!1;var a=n;n=null,t.next(a)}};e.subscribe(Xb.createOperatorSubscriber(t,function(a){s?.unsubscribe(),i=!0,n=a,s=Xb.createOperatorSubscriber(t,o,AV.noop),hV.innerFrom(r(a)).subscribe(s)},function(){o(),t.complete()},void 0,function(){n=s=null}))})}td.debounce=dV});var Zb=C(rd=>{"use strict";Object.defineProperty(rd,"__esModule",{value:!0});rd.debounceTime=void 0;var fV=Ht(),pV=K(),gV=$();function mV(r,e){return e===void 0&&(e=fV.asyncScheduler),pV.operate(function(t,i){var n=null,s=null,o=null,a=function(){if(n){n.unsubscribe(),n=null;var c=s;s=null,i.next(c)}};function l(){var c=o+r,u=e.now();if(u<c){n=this.schedule(void 0,c-u),i.add(n);return}a()}t.subscribe(gV.createOperatorSubscriber(i,function(c){s=c,o=e.now(),n||(n=e.schedule(l,r),i.add(n))},function(){a(),i.complete()},void 0,function(){s=n=null}))})}rd.debounceTime=mV});var Ja=C(id=>{"use strict";Object.defineProperty(id,"__esModule",{value:!0});id.defaultIfEmpty=void 0;var yV=K(),EV=$();function _V(r){return yV.operate(function(e,t){var i=!1;e.subscribe(EV.createOperatorSubscriber(t,function(n){i=!0,t.next(n)},function(){i||t.next(r),t.complete()}))})}id.defaultIfEmpty=_V});var Za=C(nd=>{"use strict";Object.defineProperty(nd,"__esModule",{value:!0});nd.take=void 0;var IV=Ir(),vV=K(),xV=$();function BV(r){return r<=0?function(){return IV.EMPTY}:vV.operate(function(e,t){var i=0;e.subscribe(xV.createOperatorSubscriber(t,function(n){++i<=r&&(t.next(n),r<=i&&t.complete())}))})}nd.take=BV});var Py=C(sd=>{"use strict";Object.defineProperty(sd,"__esModule",{value:!0});sd.ignoreElements=void 0;var CV=K(),bV=$(),wV=At();function QV(){return CV.operate(function(r,e){r.subscribe(bV.createOperatorSubscriber(e,wV.noop))})}sd.ignoreElements=QV});var Dy=C(od=>{"use strict";Object.defineProperty(od,"__esModule",{value:!0});od.mapTo=void 0;var SV=ji();function TV(r){return SV.map(function(){return r})}od.mapTo=TV});var Ry=C(ad=>{"use strict";Object.defineProperty(ad,"__esModule",{value:!0});ad.delayWhen=void 0;var MV=za(),$b=Za(),PV=Py(),DV=Dy(),RV=pi(),FV=ce();function e0(r,e){return e?function(t){return MV.concat(e.pipe($b.take(1),PV.ignoreElements()),t.pipe(e0(r)))}:RV.mergeMap(function(t,i){return FV.innerFrom(r(t,i)).pipe($b.take(1),DV.mapTo(t))})}ad.delayWhen=e0});var t0=C(ud=>{"use strict";Object.defineProperty(ud,"__esModule",{value:!0});ud.delay=void 0;var kV=Ht(),OV=Ry(),GV=zi();function UV(r,e){e===void 0&&(e=kV.asyncScheduler);var t=GV.timer(r,e);return OV.delayWhen(function(){return t})}ud.delay=UV});var r0=C(ld=>{"use strict";Object.defineProperty(ld,"__esModule",{value:!0});ld.dematerialize=void 0;var LV=JA(),NV=K(),HV=$();function WV(){return NV.operate(function(r,e){r.subscribe(HV.createOperatorSubscriber(e,function(t){return LV.observeNotification(t,e)}))})}ld.dematerialize=WV});var n0=C(cd=>{"use strict";Object.defineProperty(cd,"__esModule",{value:!0});cd.distinct=void 0;var qV=K(),i0=$(),jV=At(),VV=ce();function YV(r,e){return qV.operate(function(t,i){var n=new Set;t.subscribe(i0.createOperatorSubscriber(i,function(s){var o=r?r(s):s;n.has(o)||(n.add(o),i.next(s))})),e&&VV.innerFrom(e).subscribe(i0.createOperatorSubscriber(i,function(){return n.clear()},jV.noop))})}cd.distinct=YV});var Fy=C(Ad=>{"use strict";Object.defineProperty(Ad,"__esModule",{value:!0});Ad.distinctUntilChanged=void 0;var KV=ht(),zV=K(),XV=$();function JV(r,e){return e===void 0&&(e=KV.identity),r=r??ZV,zV.operate(function(t,i){var n,s=!0;t.subscribe(XV.createOperatorSubscriber(i,function(o){var a=e(o);(s||!r(n,a))&&(s=!1,n=a,i.next(o))}))})}Ad.distinctUntilChanged=JV;function ZV(r,e){return r===e}});var s0=C(hd=>{"use strict";Object.defineProperty(hd,"__esModule",{value:!0});hd.distinctUntilKeyChanged=void 0;var $V=Fy();function eY(r,e){return $V.distinctUntilChanged(function(t,i){return e?e(t[r],i[r]):t[r]===i[r]})}hd.distinctUntilKeyChanged=eY});var $a=C(dd=>{"use strict";Object.defineProperty(dd,"__esModule",{value:!0});dd.throwIfEmpty=void 0;var tY=qi(),rY=K(),iY=$();function nY(r){return r===void 0&&(r=sY),rY.operate(function(e,t){var i=!1;e.subscribe(iY.createOperatorSubscriber(t,function(n){i=!0,t.next(n)},function(){return i?t.complete():t.error(r())}))})}dd.throwIfEmpty=nY;function sY(){return new tY.EmptyError}});var a0=C(fd=>{"use strict";Object.defineProperty(fd,"__esModule",{value:!0});fd.elementAt=void 0;var o0=hy(),oY=Yn(),aY=$a(),uY=Ja(),lY=Za();function cY(r,e){if(r<0)throw new o0.ArgumentOutOfRangeError;var t=arguments.length>=2;return function(i){return i.pipe(oY.filter(function(n,s){return s===r}),lY.take(1),t?uY.defaultIfEmpty(e):aY.throwIfEmpty(function(){return new o0.ArgumentOutOfRangeError}))}}fd.elementAt=cY});var u0=C(tn=>{"use strict";var AY=tn&&tn.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},hY=tn&&tn.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(tn,"__esModule",{value:!0});tn.endWith=void 0;var dY=za(),fY=zA();function pY(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return function(t){return dY.concat(t,fY.of.apply(void 0,hY([],AY(r))))}}tn.endWith=pY});var l0=C(pd=>{"use strict";Object.defineProperty(pd,"__esModule",{value:!0});pd.every=void 0;var gY=K(),mY=$();function yY(r,e){return gY.operate(function(t,i){var n=0;t.subscribe(mY.createOperatorSubscriber(i,function(s){r.call(e,s,n++,t)||(i.next(!1),i.complete())},function(){i.next(!0),i.complete()}))})}pd.every=yY});var ky=C(gd=>{"use strict";Object.defineProperty(gd,"__esModule",{value:!0});gd.exhaustMap=void 0;var EY=ji(),c0=ce(),_Y=K(),A0=$();function h0(r,e){return e?function(t){return t.pipe(h0(function(i,n){return c0.innerFrom(r(i,n)).pipe(EY.map(function(s,o){return e(i,s,n,o)}))}))}:_Y.operate(function(t,i){var n=0,s=null,o=!1;t.subscribe(A0.createOperatorSubscriber(i,function(a){s||(s=A0.createOperatorSubscriber(i,void 0,function(){s=null,o&&i.complete()}),c0.innerFrom(r(a,n++)).subscribe(s))},function(){o=!0,!s&&i.complete()}))})}gd.exhaustMap=h0});var Oy=C(md=>{"use strict";Object.defineProperty(md,"__esModule",{value:!0});md.exhaustAll=void 0;var IY=ky(),vY=ht();function xY(){return IY.exhaustMap(vY.identity)}md.exhaustAll=xY});var d0=C(yd=>{"use strict";Object.defineProperty(yd,"__esModule",{value:!0});yd.exhaust=void 0;var BY=Oy();yd.exhaust=BY.exhaustAll});var f0=C(Ed=>{"use strict";Object.defineProperty(Ed,"__esModule",{value:!0});Ed.expand=void 0;var CY=K(),bY=ph();function wY(r,e,t){return e===void 0&&(e=1/0),e=(e||0)<1?1/0:e,CY.operate(function(i,n){return bY.mergeInternals(i,n,r,e,void 0,!0,t)})}Ed.expand=wY});var p0=C(_d=>{"use strict";Object.defineProperty(_d,"__esModule",{value:!0});_d.finalize=void 0;var QY=K();function SY(r){return QY.operate(function(e,t){try{e.subscribe(t)}finally{t.add(r)}})}_d.finalize=SY});var Gy=C(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.createFind=co.find=void 0;var TY=K(),MY=$();function PY(r,e){return TY.operate(g0(r,e,"value"))}co.find=PY;function g0(r,e,t){var i=t==="index";return function(n,s){var o=0;n.subscribe(MY.createOperatorSubscriber(s,function(a){var l=o++;r.call(e,a,l,n)&&(s.next(i?l:a),s.complete())},function(){s.next(i?-1:void 0),s.complete()}))}}co.createFind=g0});var m0=C(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.findIndex=void 0;var DY=K(),RY=Gy();function FY(r,e){return DY.operate(RY.createFind(r,e,"index"))}Id.findIndex=FY});var y0=C(vd=>{"use strict";Object.defineProperty(vd,"__esModule",{value:!0});vd.first=void 0;var kY=qi(),OY=Yn(),GY=Za(),UY=Ja(),LY=$a(),NY=ht();function HY(r,e){var t=arguments.length>=2;return function(i){return i.pipe(r?OY.filter(function(n,s){return r(n,s,i)}):NY.identity,GY.take(1),t?UY.defaultIfEmpty(e):LY.throwIfEmpty(function(){return new kY.EmptyError}))}}vd.first=HY});var _0=C(xd=>{"use strict";Object.defineProperty(xd,"__esModule",{value:!0});xd.groupBy=void 0;var WY=Te(),qY=ce(),jY=dt(),VY=K(),E0=$();function YY(r,e,t,i){return VY.operate(function(n,s){var o;!e||typeof e=="function"?o=e:(t=e.duration,o=e.element,i=e.connector);var a=new Map,l=function(f){a.forEach(f),f(s)},c=function(f){return l(function(g){return g.error(f)})},u=0,A=!1,h=new E0.OperatorSubscriber(s,function(f){try{var g=r(f),p=a.get(g);if(!p){a.set(g,p=i?i():new jY.Subject);var I=d(g,p);if(s.next(I),t){var x=E0.createOperatorSubscriber(p,function(){p.complete(),x?.unsubscribe()},void 0,void 0,function(){return a.delete(g)});h.add(qY.innerFrom(t(I)).subscribe(x))}}p.next(o?o(f):f)}catch(B){c(B)}},function(){return l(function(f){return f.complete()})},c,function(){return a.clear()},function(){return A=!0,u===0});n.subscribe(h);function d(f,g){var p=new WY.Observable(function(I){u++;var x=g.subscribe(I);return function(){x.unsubscribe(),--u===0&&A&&h.unsubscribe()}});return p.key=f,p}})}xd.groupBy=YY});var I0=C(Bd=>{"use strict";Object.defineProperty(Bd,"__esModule",{value:!0});Bd.isEmpty=void 0;var KY=K(),zY=$();function XY(){return KY.operate(function(r,e){r.subscribe(zY.createOperatorSubscriber(e,function(){e.next(!1),e.complete()},function(){e.next(!0),e.complete()}))})}Bd.isEmpty=XY});var Uy=C(Ao=>{"use strict";var JY=Ao&&Ao.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Ao,"__esModule",{value:!0});Ao.takeLast=void 0;var ZY=Ir(),$Y=K(),eK=$();function tK(r){return r<=0?function(){return ZY.EMPTY}:$Y.operate(function(e,t){var i=[];e.subscribe(eK.createOperatorSubscriber(t,function(n){i.push(n),r<i.length&&i.shift()},function(){var n,s;try{for(var o=JY(i),a=o.next();!a.done;a=o.next()){var l=a.value;t.next(l)}}catch(c){n={error:c}}finally{try{a&&!a.done&&(s=o.return)&&s.call(o)}finally{if(n)throw n.error}}t.complete()},void 0,function(){i=null}))})}Ao.takeLast=tK});var v0=C(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.last=void 0;var rK=qi(),iK=Yn(),nK=Uy(),sK=$a(),oK=Ja(),aK=ht();function uK(r,e){var t=arguments.length>=2;return function(i){return i.pipe(r?iK.filter(function(n,s){return r(n,s,i)}):aK.identity,nK.takeLast(1),t?oK.defaultIfEmpty(e):sK.throwIfEmpty(function(){return new rK.EmptyError}))}}Cd.last=uK});var x0=C(bd=>{"use strict";Object.defineProperty(bd,"__esModule",{value:!0});bd.materialize=void 0;var Ly=JA(),lK=K(),cK=$();function AK(){return lK.operate(function(r,e){r.subscribe(cK.createOperatorSubscriber(e,function(t){e.next(Ly.Notification.createNext(t))},function(){e.next(Ly.Notification.createComplete()),e.complete()},function(t){e.next(Ly.Notification.createError(t)),e.complete()}))})}bd.materialize=AK});var B0=C(wd=>{"use strict";Object.defineProperty(wd,"__esModule",{value:!0});wd.max=void 0;var hK=lo(),dK=we();function fK(r){return hK.reduce(dK.isFunction(r)?function(e,t){return r(e,t)>0?e:t}:function(e,t){return e>t?e:t})}wd.max=fK});var C0=C(Qd=>{"use strict";Object.defineProperty(Qd,"__esModule",{value:!0});Qd.flatMap=void 0;var pK=pi();Qd.flatMap=pK.mergeMap});var w0=C(Sd=>{"use strict";Object.defineProperty(Sd,"__esModule",{value:!0});Sd.mergeMapTo=void 0;var b0=pi(),gK=we();function mK(r,e,t){return t===void 0&&(t=1/0),gK.isFunction(e)?b0.mergeMap(function(){return r},e,t):(typeof e=="number"&&(t=e),b0.mergeMap(function(){return r},t))}Sd.mergeMapTo=mK});var Q0=C(Td=>{"use strict";Object.defineProperty(Td,"__esModule",{value:!0});Td.mergeScan=void 0;var yK=K(),EK=ph();function _K(r,e,t){return t===void 0&&(t=1/0),yK.operate(function(i,n){var s=e;return EK.mergeInternals(i,n,function(o,a){return r(s,o,a)},t,function(o){s=o},!1,void 0,function(){return s=null})})}Td.mergeScan=_K});var T0=C(rn=>{"use strict";var IK=rn&&rn.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},vK=rn&&rn.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(rn,"__esModule",{value:!0});rn.merge=void 0;var xK=K(),BK=Vn(),CK=Ka(),S0=Wt(),bK=di();function wK(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=S0.popScheduler(r),i=S0.popNumber(r,1/0);return r=BK.argsOrArgArray(r),xK.operate(function(n,s){CK.mergeAll(i)(bK.from(vK([n],IK(r)),t)).subscribe(s)})}rn.merge=wK});var M0=C(nn=>{"use strict";var QK=nn&&nn.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},SK=nn&&nn.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(nn,"__esModule",{value:!0});nn.mergeWith=void 0;var TK=T0();function MK(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return TK.merge.apply(void 0,SK([],QK(r)))}nn.mergeWith=MK});var P0=C(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});Md.min=void 0;var PK=lo(),DK=we();function RK(r){return PK.reduce(DK.isFunction(r)?function(e,t){return r(e,t)<0?e:t}:function(e,t){return e<t?e:t})}Md.min=RK});var Dd=C(Pd=>{"use strict";Object.defineProperty(Pd,"__esModule",{value:!0});Pd.multicast=void 0;var FK=Ha(),D0=we(),kK=$h();function OK(r,e){var t=D0.isFunction(r)?r:function(){return r};return D0.isFunction(e)?kK.connect(e,{connector:t}):function(i){return new FK.ConnectableObservable(i,t)}}Pd.multicast=OK});var F0=C(Nr=>{"use strict";var GK=Nr&&Nr.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},UK=Nr&&Nr.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(Nr,"__esModule",{value:!0});Nr.onErrorResumeNext=Nr.onErrorResumeNextWith=void 0;var LK=Vn(),NK=vy();function R0(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=LK.argsOrArgArray(r);return function(i){return NK.onErrorResumeNext.apply(void 0,UK([i],GK(t)))}}Nr.onErrorResumeNextWith=R0;Nr.onErrorResumeNext=R0});var k0=C(Rd=>{"use strict";Object.defineProperty(Rd,"__esModule",{value:!0});Rd.pairwise=void 0;var HK=K(),WK=$();function qK(){return HK.operate(function(r,e){var t,i=!1;r.subscribe(WK.createOperatorSubscriber(e,function(n){var s=t;t=n,i&&e.next([s,n]),i=!0}))})}Rd.pairwise=qK});var O0=C(Fd=>{"use strict";Object.defineProperty(Fd,"__esModule",{value:!0});Fd.pluck=void 0;var jK=ji();function VK(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=r.length;if(t===0)throw new Error("list of properties cannot be empty.");return jK.map(function(i){for(var n=i,s=0;s<t;s++){var o=n?.[r[s]];if(typeof o<"u")n=o;else return}return n})}Fd.pluck=VK});var G0=C(kd=>{"use strict";Object.defineProperty(kd,"__esModule",{value:!0});kd.publish=void 0;var YK=dt(),KK=Dd(),zK=$h();function XK(r){return r?function(e){return zK.connect(r)(e)}:function(e){return KK.multicast(new YK.Subject)(e)}}kd.publish=XK});var U0=C(Od=>{"use strict";Object.defineProperty(Od,"__esModule",{value:!0});Od.publishBehavior=void 0;var JK=zm(),ZK=Ha();function $K(r){return function(e){var t=new JK.BehaviorSubject(r);return new ZK.ConnectableObservable(e,function(){return t})}}Od.publishBehavior=$K});var L0=C(Gd=>{"use strict";Object.defineProperty(Gd,"__esModule",{value:!0});Gd.publishLast=void 0;var ez=CA(),tz=Ha();function rz(){return function(r){var e=new ez.AsyncSubject;return new tz.ConnectableObservable(r,function(){return e})}}Gd.publishLast=rz});var H0=C(Ud=>{"use strict";Object.defineProperty(Ud,"__esModule",{value:!0});Ud.publishReplay=void 0;var iz=BA(),nz=Dd(),N0=we();function sz(r,e,t,i){t&&!N0.isFunction(t)&&(i=t);var n=N0.isFunction(t)?t:void 0;return function(s){return nz.multicast(new iz.ReplaySubject(r,e,i),n)(s)}}Ud.publishReplay=sz});var W0=C(sn=>{"use strict";var oz=sn&&sn.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},az=sn&&sn.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(sn,"__esModule",{value:!0});sn.raceWith=void 0;var uz=xy(),lz=K(),cz=ht();function Az(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return r.length?lz.operate(function(t,i){uz.raceInit(az([t],oz(r)))(i)}):cz.identity}sn.raceWith=Az});var j0=C(Ld=>{"use strict";Object.defineProperty(Ld,"__esModule",{value:!0});Ld.repeat=void 0;var hz=Ir(),dz=K(),q0=$(),fz=ce(),pz=zi();function gz(r){var e,t=1/0,i;return r!=null&&(typeof r=="object"?(e=r.count,t=e===void 0?1/0:e,i=r.delay):t=r),t<=0?function(){return hz.EMPTY}:dz.operate(function(n,s){var o=0,a,l=function(){if(a?.unsubscribe(),a=null,i!=null){var u=typeof i=="number"?pz.timer(i):fz.innerFrom(i(o)),A=q0.createOperatorSubscriber(s,function(){A.unsubscribe(),c()});u.subscribe(A)}else c()},c=function(){var u=!1;a=n.subscribe(q0.createOperatorSubscriber(s,void 0,function(){++o<t?a?l():u=!0:s.complete()})),u&&l()};c()})}Ld.repeat=gz});var Y0=C(Nd=>{"use strict";Object.defineProperty(Nd,"__esModule",{value:!0});Nd.repeatWhen=void 0;var mz=ce(),yz=dt(),Ez=K(),V0=$();function _z(r){return Ez.operate(function(e,t){var i,n=!1,s,o=!1,a=!1,l=function(){return a&&o&&(t.complete(),!0)},c=function(){return s||(s=new yz.Subject,mz.innerFrom(r(s)).subscribe(V0.createOperatorSubscriber(t,function(){i?u():n=!0},function(){o=!0,l()}))),s},u=function(){a=!1,i=e.subscribe(V0.createOperatorSubscriber(t,void 0,function(){a=!0,!l()&&c().next()})),n&&(i.unsubscribe(),i=null,n=!1,u())};u()})}Nd.repeatWhen=_z});var z0=C(Hd=>{"use strict";Object.defineProperty(Hd,"__esModule",{value:!0});Hd.retry=void 0;var Iz=K(),K0=$(),vz=ht(),xz=zi(),Bz=ce();function Cz(r){r===void 0&&(r=1/0);var e;r&&typeof r=="object"?e=r:e={count:r};var t=e.count,i=t===void 0?1/0:t,n=e.delay,s=e.resetOnSuccess,o=s===void 0?!1:s;return i<=0?vz.identity:Iz.operate(function(a,l){var c=0,u,A=function(){var h=!1;u=a.subscribe(K0.createOperatorSubscriber(l,function(d){o&&(c=0),l.next(d)},void 0,function(d){if(c++<i){var f=function(){u?(u.unsubscribe(),u=null,A()):h=!0};if(n!=null){var g=typeof n=="number"?xz.timer(n):Bz.innerFrom(n(d,c)),p=K0.createOperatorSubscriber(l,function(){p.unsubscribe(),f()},function(){l.complete()});g.subscribe(p)}else f()}else l.error(d)})),h&&(u.unsubscribe(),u=null,A())};A()})}Hd.retry=Cz});var J0=C(Wd=>{"use strict";Object.defineProperty(Wd,"__esModule",{value:!0});Wd.retryWhen=void 0;var bz=ce(),wz=dt(),Qz=K(),X0=$();function Sz(r){return Qz.operate(function(e,t){var i,n=!1,s,o=function(){i=e.subscribe(X0.createOperatorSubscriber(t,void 0,void 0,function(a){s||(s=new wz.Subject,bz.innerFrom(r(s)).subscribe(X0.createOperatorSubscriber(t,function(){return i?o():n=!0}))),s&&s.next(a)})),n&&(i.unsubscribe(),i=null,n=!1,o())};o()})}Wd.retryWhen=Sz});var Ny=C(qd=>{"use strict";Object.defineProperty(qd,"__esModule",{value:!0});qd.sample=void 0;var Tz=ce(),Mz=K(),Pz=At(),Z0=$();function Dz(r){return Mz.operate(function(e,t){var i=!1,n=null;e.subscribe(Z0.createOperatorSubscriber(t,function(s){i=!0,n=s})),Tz.innerFrom(r).subscribe(Z0.createOperatorSubscriber(t,function(){if(i){i=!1;var s=n;n=null,t.next(s)}},Pz.noop))})}qd.sample=Dz});var $0=C(jd=>{"use strict";Object.defineProperty(jd,"__esModule",{value:!0});jd.sampleTime=void 0;var Rz=Ht(),Fz=Ny(),kz=_y();function Oz(r,e){return e===void 0&&(e=Rz.asyncScheduler),Fz.sample(kz.interval(r,e))}jd.sampleTime=Oz});var ew=C(Vd=>{"use strict";Object.defineProperty(Vd,"__esModule",{value:!0});Vd.scan=void 0;var Gz=K(),Uz=wy();function Lz(r,e){return Gz.operate(Uz.scanInternals(r,e,arguments.length>=2,!0))}Vd.scan=Lz});var rw=C(Yd=>{"use strict";Object.defineProperty(Yd,"__esModule",{value:!0});Yd.sequenceEqual=void 0;var Nz=K(),Hz=$(),Wz=ce();function qz(r,e){return e===void 0&&(e=function(t,i){return t===i}),Nz.operate(function(t,i){var n=tw(),s=tw(),o=function(l){i.next(l),i.complete()},a=function(l,c){var u=Hz.createOperatorSubscriber(i,function(A){var h=c.buffer,d=c.complete;h.length===0?d?o(!1):l.buffer.push(A):!e(A,h.shift())&&o(!1)},function(){l.complete=!0;var A=c.complete,h=c.buffer;A&&o(h.length===0),u?.unsubscribe()});return u};t.subscribe(a(n,s)),Wz.innerFrom(r).subscribe(a(s,n))})}Yd.sequenceEqual=qz;function tw(){return{buffer:[],complete:!1}}});var Wy=C(on=>{"use strict";var jz=on&&on.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},Vz=on&&on.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(on,"__esModule",{value:!0});on.share=void 0;var iw=ce(),Yz=dt(),nw=Rs(),Kz=K();function zz(r){r===void 0&&(r={});var e=r.connector,t=e===void 0?function(){return new Yz.Subject}:e,i=r.resetOnError,n=i===void 0?!0:i,s=r.resetOnComplete,o=s===void 0?!0:s,a=r.resetOnRefCountZero,l=a===void 0?!0:a;return function(c){var u,A,h,d=0,f=!1,g=!1,p=function(){A?.unsubscribe(),A=void 0},I=function(){p(),u=h=void 0,f=g=!1},x=function(){var B=u;I(),B?.unsubscribe()};return Kz.operate(function(B,w){d++,!g&&!f&&p();var D=h=h??t();w.add(function(){d--,d===0&&!g&&!f&&(A=Hy(x,l))}),D.subscribe(w),!u&&d>0&&(u=new nw.SafeSubscriber({next:function(T){return D.next(T)},error:function(T){g=!0,p(),A=Hy(I,n,T),D.error(T)},complete:function(){f=!0,p(),A=Hy(I,o),D.complete()}}),iw.innerFrom(B).subscribe(u))})(c)}}on.share=zz;function Hy(r,e){for(var t=[],i=2;i<arguments.length;i++)t[i-2]=arguments[i];if(e===!0){r();return}if(e!==!1){var n=new nw.SafeSubscriber({next:function(){n.unsubscribe(),r()}});return iw.innerFrom(e.apply(void 0,Vz([],jz(t)))).subscribe(n)}}});var sw=C(Kd=>{"use strict";Object.defineProperty(Kd,"__esModule",{value:!0});Kd.shareReplay=void 0;var Xz=BA(),Jz=Wy();function Zz(r,e,t){var i,n,s,o,a=!1;return r&&typeof r=="object"?(i=r.bufferSize,o=i===void 0?1/0:i,n=r.windowTime,e=n===void 0?1/0:n,s=r.refCount,a=s===void 0?!1:s,t=r.scheduler):o=r??1/0,Jz.share({connector:function(){return new Xz.ReplaySubject(o,e,t)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}Kd.shareReplay=Zz});var ow=C(zd=>{"use strict";Object.defineProperty(zd,"__esModule",{value:!0});zd.single=void 0;var $z=qi(),e8=fy(),t8=dy(),r8=K(),i8=$();function n8(r){return r8.operate(function(e,t){var i=!1,n,s=!1,o=0;e.subscribe(i8.createOperatorSubscriber(t,function(a){s=!0,(!r||r(a,o++,e))&&(i&&t.error(new e8.SequenceError("Too many matching values")),i=!0,n=a)},function(){i?(t.next(n),t.complete()):t.error(s?new t8.NotFoundError("No matching values"):new $z.EmptyError)}))})}zd.single=n8});var aw=C(Xd=>{"use strict";Object.defineProperty(Xd,"__esModule",{value:!0});Xd.skip=void 0;var s8=Yn();function o8(r){return s8.filter(function(e,t){return r<=t})}Xd.skip=o8});var uw=C(Jd=>{"use strict";Object.defineProperty(Jd,"__esModule",{value:!0});Jd.skipLast=void 0;var a8=ht(),u8=K(),l8=$();function c8(r){return r<=0?a8.identity:u8.operate(function(e,t){var i=new Array(r),n=0;return e.subscribe(l8.createOperatorSubscriber(t,function(s){var o=n++;if(o<r)i[o]=s;else{var a=o%r,l=i[a];i[a]=s,t.next(l)}})),function(){i=null}})}Jd.skipLast=c8});var cw=C(Zd=>{"use strict";Object.defineProperty(Zd,"__esModule",{value:!0});Zd.skipUntil=void 0;var A8=K(),lw=$(),h8=ce(),d8=At();function f8(r){return A8.operate(function(e,t){var i=!1,n=lw.createOperatorSubscriber(t,function(){n?.unsubscribe(),i=!0},d8.noop);h8.innerFrom(r).subscribe(n),e.subscribe(lw.createOperatorSubscriber(t,function(s){return i&&t.next(s)}))})}Zd.skipUntil=f8});var Aw=C($d=>{"use strict";Object.defineProperty($d,"__esModule",{value:!0});$d.skipWhile=void 0;var p8=K(),g8=$();function m8(r){return p8.operate(function(e,t){var i=!1,n=0;e.subscribe(g8.createOperatorSubscriber(t,function(s){return(i||(i=!r(s,n++)))&&t.next(s)}))})}$d.skipWhile=m8});var dw=C(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});ef.startWith=void 0;var hw=za(),y8=Wt(),E8=K();function _8(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=y8.popScheduler(r);return E8.operate(function(i,n){(t?hw.concat(r,i,t):hw.concat(r,i)).subscribe(n)})}ef.startWith=_8});var eu=C(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});tf.switchMap=void 0;var I8=ce(),v8=K(),fw=$();function x8(r,e){return v8.operate(function(t,i){var n=null,s=0,o=!1,a=function(){return o&&!n&&i.complete()};t.subscribe(fw.createOperatorSubscriber(i,function(l){n?.unsubscribe();var c=0,u=s++;I8.innerFrom(r(l,u)).subscribe(n=fw.createOperatorSubscriber(i,function(A){return i.next(e?e(l,A,u,c++):A)},function(){n=null,a()}))},function(){o=!0,a()}))})}tf.switchMap=x8});var pw=C(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.switchAll=void 0;var B8=eu(),C8=ht();function b8(){return B8.switchMap(C8.identity)}rf.switchAll=b8});var mw=C(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});nf.switchMapTo=void 0;var gw=eu(),w8=we();function Q8(r,e){return w8.isFunction(e)?gw.switchMap(function(){return r},e):gw.switchMap(function(){return r})}nf.switchMapTo=Q8});var yw=C(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.switchScan=void 0;var S8=eu(),T8=K();function M8(r,e){return T8.operate(function(t,i){var n=e;return S8.switchMap(function(s,o){return r(n,s,o)},function(s,o){return n=o,o})(t).subscribe(i),function(){n=null}})}sf.switchScan=M8});var Ew=C(of=>{"use strict";Object.defineProperty(of,"__esModule",{value:!0});of.takeUntil=void 0;var P8=K(),D8=$(),R8=ce(),F8=At();function k8(r){return P8.operate(function(e,t){R8.innerFrom(r).subscribe(D8.createOperatorSubscriber(t,function(){return t.complete()},F8.noop)),!t.closed&&e.subscribe(t)})}of.takeUntil=k8});var _w=C(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0});af.takeWhile=void 0;var O8=K(),G8=$();function U8(r,e){return e===void 0&&(e=!1),O8.operate(function(t,i){var n=0;t.subscribe(G8.createOperatorSubscriber(i,function(s){var o=r(s,n++);(o||e)&&i.next(s),!o&&i.complete()}))})}af.takeWhile=U8});var Iw=C(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});uf.tap=void 0;var L8=we(),N8=K(),H8=$(),W8=ht();function q8(r,e,t){var i=L8.isFunction(r)||e||t?{next:r,error:e,complete:t}:r;return i?N8.operate(function(n,s){var o;(o=i.subscribe)===null||o===void 0||o.call(i);var a=!0;n.subscribe(H8.createOperatorSubscriber(s,function(l){var c;(c=i.next)===null||c===void 0||c.call(i,l),s.next(l)},function(){var l;a=!1,(l=i.complete)===null||l===void 0||l.call(i),s.complete()},function(l){var c;a=!1,(c=i.error)===null||c===void 0||c.call(i,l),s.error(l)},function(){var l,c;a&&((l=i.unsubscribe)===null||l===void 0||l.call(i)),(c=i.finalize)===null||c===void 0||c.call(i)}))}):W8.identity}uf.tap=q8});var qy=C(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});lf.throttle=void 0;var j8=K(),vw=$(),V8=ce();function Y8(r,e){return j8.operate(function(t,i){var n=e??{},s=n.leading,o=s===void 0?!0:s,a=n.trailing,l=a===void 0?!1:a,c=!1,u=null,A=null,h=!1,d=function(){A?.unsubscribe(),A=null,l&&(p(),h&&i.complete())},f=function(){A=null,h&&i.complete()},g=function(I){return A=V8.innerFrom(r(I)).subscribe(vw.createOperatorSubscriber(i,d,f))},p=function(){if(c){c=!1;var I=u;u=null,i.next(I),!h&&g(I)}};t.subscribe(vw.createOperatorSubscriber(i,function(I){c=!0,u=I,!(A&&!A.closed)&&(o?p():g(I))},function(){h=!0,!(l&&c&&A&&!A.closed)&&i.complete()}))})}lf.throttle=Y8});var xw=C(cf=>{"use strict";Object.defineProperty(cf,"__esModule",{value:!0});cf.throttleTime=void 0;var K8=Ht(),z8=qy(),X8=zi();function J8(r,e,t){e===void 0&&(e=K8.asyncScheduler);var i=X8.timer(r,e);return z8.throttle(function(){return i},t)}cf.throttleTime=J8});var Cw=C(ho=>{"use strict";Object.defineProperty(ho,"__esModule",{value:!0});ho.TimeInterval=ho.timeInterval=void 0;var Z8=Ht(),$8=K(),eX=$();function tX(r){return r===void 0&&(r=Z8.asyncScheduler),$8.operate(function(e,t){var i=r.now();e.subscribe(eX.createOperatorSubscriber(t,function(n){var s=r.now(),o=s-i;i=s,t.next(new Bw(n,o))}))})}ho.timeInterval=tX;var Bw=function(){function r(e,t){this.value=e,this.interval=t}return r}();ho.TimeInterval=Bw});var bw=C(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});Af.timeoutWith=void 0;var rX=Ht(),iX=oh(),nX=ah();function sX(r,e,t){var i,n,s;if(t=t??rX.async,iX.isValidDate(r)?i=r:typeof r=="number"&&(n=r),e)s=function(){return e};else throw new TypeError("No observable provided to switch to");if(i==null&&n==null)throw new TypeError("No timeout provided.");return nX.timeout({first:i,each:n,scheduler:t,with:s})}Af.timeoutWith=sX});var ww=C(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.timestamp=void 0;var oX=xA(),aX=ji();function uX(r){return r===void 0&&(r=oX.dateTimestampProvider),aX.map(function(e){return{value:e,timestamp:r.now()}})}hf.timestamp=uX});var Tw=C(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.window=void 0;var Qw=dt(),lX=K(),Sw=$(),cX=At(),AX=ce();function hX(r){return lX.operate(function(e,t){var i=new Qw.Subject;t.next(i.asObservable());var n=function(s){i.error(s),t.error(s)};return e.subscribe(Sw.createOperatorSubscriber(t,function(s){return i?.next(s)},function(){i.complete(),t.complete()},n)),AX.innerFrom(r).subscribe(Sw.createOperatorSubscriber(t,function(){i.complete(),t.next(i=new Qw.Subject)},cX.noop,n)),function(){i?.unsubscribe(),i=null}})}df.window=hX});var Pw=C(fo=>{"use strict";var dX=fo&&fo.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(fo,"__esModule",{value:!0});fo.windowCount=void 0;var Mw=dt(),fX=K(),pX=$();function gX(r,e){e===void 0&&(e=0);var t=e>0?e:r;return fX.operate(function(i,n){var s=[new Mw.Subject],o=[],a=0;n.next(s[0].asObservable()),i.subscribe(pX.createOperatorSubscriber(n,function(l){var c,u;try{for(var A=dX(s),h=A.next();!h.done;h=A.next()){var d=h.value;d.next(l)}}catch(p){c={error:p}}finally{try{h&&!h.done&&(u=A.return)&&u.call(A)}finally{if(c)throw c.error}}var f=a-r+1;if(f>=0&&f%t===0&&s.shift().complete(),++a%t===0){var g=new Mw.Subject;s.push(g),n.next(g.asObservable())}},function(){for(;s.length>0;)s.shift().complete();n.complete()},function(l){for(;s.length>0;)s.shift().error(l);n.error(l)},function(){o=null,s=null}))})}fo.windowCount=gX});var Rw=C(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});ff.windowTime=void 0;var mX=dt(),yX=Ht(),EX=Zt(),_X=K(),IX=$(),vX=Ai(),xX=Wt(),Dw=hi();function BX(r){for(var e,t,i=[],n=1;n<arguments.length;n++)i[n-1]=arguments[n];var s=(e=xX.popScheduler(i))!==null&&e!==void 0?e:yX.asyncScheduler,o=(t=i[0])!==null&&t!==void 0?t:null,a=i[1]||1/0;return _X.operate(function(l,c){var u=[],A=!1,h=function(p){var I=p.window,x=p.subs;I.complete(),x.unsubscribe(),vX.arrRemove(u,p),A&&d()},d=function(){if(u){var p=new EX.Subscription;c.add(p);var I=new mX.Subject,x={window:I,subs:p,seen:0};u.push(x),c.next(I.asObservable()),Dw.executeSchedule(p,s,function(){return h(x)},r)}};o!==null&&o>=0?Dw.executeSchedule(c,s,d,o,!0):A=!0,d();var f=function(p){return u.slice().forEach(p)},g=function(p){f(function(I){var x=I.window;return p(x)}),p(c),c.unsubscribe()};return l.subscribe(IX.createOperatorSubscriber(c,function(p){f(function(I){I.window.next(p),a<=++I.seen&&h(I)})},function(){return g(function(p){return p.complete()})},function(p){return g(function(I){return I.error(p)})})),function(){u=null}})}ff.windowTime=BX});var Ow=C(po=>{"use strict";var CX=po&&po.__values||function(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],i=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&i>=r.length&&(r=void 0),{value:r&&r[i++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(po,"__esModule",{value:!0});po.windowToggle=void 0;var bX=dt(),wX=Zt(),QX=K(),Fw=ce(),jy=$(),kw=At(),SX=Ai();function TX(r,e){return QX.operate(function(t,i){var n=[],s=function(o){for(;0<n.length;)n.shift().error(o);i.error(o)};Fw.innerFrom(r).subscribe(jy.createOperatorSubscriber(i,function(o){var a=new bX.Subject;n.push(a);var l=new wX.Subscription,c=function(){SX.arrRemove(n,a),a.complete(),l.unsubscribe()},u;try{u=Fw.innerFrom(e(o))}catch(A){s(A);return}i.next(a.asObservable()),l.add(u.subscribe(jy.createOperatorSubscriber(i,c,kw.noop,s)))},kw.noop)),t.subscribe(jy.createOperatorSubscriber(i,function(o){var a,l,c=n.slice();try{for(var u=CX(c),A=u.next();!A.done;A=u.next()){var h=A.value;h.next(o)}}catch(d){a={error:d}}finally{try{A&&!A.done&&(l=u.return)&&l.call(u)}finally{if(a)throw a.error}}},function(){for(;0<n.length;)n.shift().complete();i.complete()},s,function(){for(;0<n.length;)n.shift().unsubscribe()}))})}po.windowToggle=TX});var Uw=C(pf=>{"use strict";Object.defineProperty(pf,"__esModule",{value:!0});pf.windowWhen=void 0;var MX=dt(),PX=K(),Gw=$(),DX=ce();function RX(r){return PX.operate(function(e,t){var i,n,s=function(a){i.error(a),t.error(a)},o=function(){n?.unsubscribe(),i?.complete(),i=new MX.Subject,t.next(i.asObservable());var a;try{a=DX.innerFrom(r())}catch(l){s(l);return}a.subscribe(n=Gw.createOperatorSubscriber(t,o,o,s))};o(),e.subscribe(Gw.createOperatorSubscriber(t,function(a){return i.next(a)},function(){i.complete(),t.complete()},s,function(){n?.unsubscribe(),i=null}))})}pf.windowWhen=RX});var Ww=C(an=>{"use strict";var Lw=an&&an.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},Nw=an&&an.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(an,"__esModule",{value:!0});an.withLatestFrom=void 0;var FX=K(),Hw=$(),kX=ce(),OX=ht(),GX=At(),UX=Wt();function LX(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];var t=UX.popResultSelector(r);return FX.operate(function(i,n){for(var s=r.length,o=new Array(s),a=r.map(function(){return!1}),l=!1,c=function(A){kX.innerFrom(r[A]).subscribe(Hw.createOperatorSubscriber(n,function(h){o[A]=h,!l&&!a[A]&&(a[A]=!0,(l=a.every(OX.identity))&&(a=null))},GX.noop))},u=0;u<s;u++)c(u);i.subscribe(Hw.createOperatorSubscriber(n,function(A){if(l){var h=Nw([A],Lw(o));n.next(t?t.apply(void 0,Nw([],Lw(h))):h)}}))})}an.withLatestFrom=LX});var qw=C(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.zipAll=void 0;var NX=Oh(),HX=Sy();function WX(r){return HX.joinAllInternals(NX.zip,r)}gf.zipAll=WX});var jw=C(un=>{"use strict";var qX=un&&un.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},jX=un&&un.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(un,"__esModule",{value:!0});un.zip=void 0;var VX=Oh(),YX=K();function KX(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return YX.operate(function(t,i){VX.zip.apply(void 0,jX([t],qX(r))).subscribe(i)})}un.zip=KX});var Vw=C(ln=>{"use strict";var zX=ln&&ln.__read||function(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var i=t.call(r),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s},XX=ln&&ln.__spreadArray||function(r,e){for(var t=0,i=e.length,n=r.length;t<i;t++,n++)r[n]=e[t];return r};Object.defineProperty(ln,"__esModule",{value:!0});ln.zipWith=void 0;var JX=jw();function ZX(){for(var r=[],e=0;e<arguments.length;e++)r[e]=arguments[e];return JX.zip.apply(void 0,XX([],zX(r)))}ln.zipWith=ZX});var cn=C(E=>{"use strict";var $X=E&&E.__createBinding||(Object.create?function(r,e,t,i){i===void 0&&(i=t),Object.defineProperty(r,i,{enumerable:!0,get:function(){return e[t]}})}:function(r,e,t,i){i===void 0&&(i=t),r[i]=e[t]}),eJ=E&&E.__exportStar||function(r,e){for(var t in r)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&$X(e,r,t)};Object.defineProperty(E,"__esModule",{value:!0});E.interval=E.iif=E.generate=E.fromEventPattern=E.fromEvent=E.from=E.forkJoin=E.empty=E.defer=E.connectable=E.concat=E.combineLatest=E.bindNodeCallback=E.bindCallback=E.UnsubscriptionError=E.TimeoutError=E.SequenceError=E.ObjectUnsubscribedError=E.NotFoundError=E.EmptyError=E.ArgumentOutOfRangeError=E.firstValueFrom=E.lastValueFrom=E.isObservable=E.identity=E.noop=E.pipe=E.NotificationKind=E.Notification=E.Subscriber=E.Subscription=E.Scheduler=E.VirtualAction=E.VirtualTimeScheduler=E.animationFrameScheduler=E.animationFrame=E.queueScheduler=E.queue=E.asyncScheduler=E.async=E.asapScheduler=E.asap=E.AsyncSubject=E.ReplaySubject=E.BehaviorSubject=E.Subject=E.animationFrames=E.observable=E.ConnectableObservable=E.Observable=void 0;E.filter=E.expand=E.exhaustMap=E.exhaustAll=E.exhaust=E.every=E.endWith=E.elementAt=E.distinctUntilKeyChanged=E.distinctUntilChanged=E.distinct=E.dematerialize=E.delayWhen=E.delay=E.defaultIfEmpty=E.debounceTime=E.debounce=E.count=E.connect=E.concatWith=E.concatMapTo=E.concatMap=E.concatAll=E.combineLatestWith=E.combineLatestAll=E.combineAll=E.catchError=E.bufferWhen=E.bufferToggle=E.bufferTime=E.bufferCount=E.buffer=E.auditTime=E.audit=E.config=E.NEVER=E.EMPTY=E.scheduled=E.zip=E.using=E.timer=E.throwError=E.range=E.race=E.partition=E.pairs=E.onErrorResumeNext=E.of=E.never=E.merge=void 0;E.switchMap=E.switchAll=E.subscribeOn=E.startWith=E.skipWhile=E.skipUntil=E.skipLast=E.skip=E.single=E.shareReplay=E.share=E.sequenceEqual=E.scan=E.sampleTime=E.sample=E.refCount=E.retryWhen=E.retry=E.repeatWhen=E.repeat=E.reduce=E.raceWith=E.publishReplay=E.publishLast=E.publishBehavior=E.publish=E.pluck=E.pairwise=E.onErrorResumeNextWith=E.observeOn=E.multicast=E.min=E.mergeWith=E.mergeScan=E.mergeMapTo=E.mergeMap=E.flatMap=E.mergeAll=E.max=E.materialize=E.mapTo=E.map=E.last=E.isEmpty=E.ignoreElements=E.groupBy=E.first=E.findIndex=E.find=E.finalize=void 0;E.zipWith=E.zipAll=E.withLatestFrom=E.windowWhen=E.windowToggle=E.windowTime=E.windowCount=E.window=E.toArray=E.timestamp=E.timeoutWith=E.timeout=E.timeInterval=E.throwIfEmpty=E.throttleTime=E.throttle=E.tap=E.takeWhile=E.takeUntil=E.takeLast=E.take=E.switchScan=E.switchMapTo=void 0;var tJ=Te();Object.defineProperty(E,"Observable",{enumerable:!0,get:function(){return tJ.Observable}});var rJ=Ha();Object.defineProperty(E,"ConnectableObservable",{enumerable:!0,get:function(){return rJ.ConnectableObservable}});var iJ=La();Object.defineProperty(E,"observable",{enumerable:!0,get:function(){return iJ.observable}});var nJ=JB();Object.defineProperty(E,"animationFrames",{enumerable:!0,get:function(){return nJ.animationFrames}});var sJ=dt();Object.defineProperty(E,"Subject",{enumerable:!0,get:function(){return sJ.Subject}});var oJ=zm();Object.defineProperty(E,"BehaviorSubject",{enumerable:!0,get:function(){return oJ.BehaviorSubject}});var aJ=BA();Object.defineProperty(E,"ReplaySubject",{enumerable:!0,get:function(){return aJ.ReplaySubject}});var uJ=CA();Object.defineProperty(E,"AsyncSubject",{enumerable:!0,get:function(){return uJ.AsyncSubject}});var Yw=fC();Object.defineProperty(E,"asap",{enumerable:!0,get:function(){return Yw.asap}});Object.defineProperty(E,"asapScheduler",{enumerable:!0,get:function(){return Yw.asapScheduler}});var Kw=Ht();Object.defineProperty(E,"async",{enumerable:!0,get:function(){return Kw.async}});Object.defineProperty(E,"asyncScheduler",{enumerable:!0,get:function(){return Kw.asyncScheduler}});var zw=mC();Object.defineProperty(E,"queue",{enumerable:!0,get:function(){return zw.queue}});Object.defineProperty(E,"queueScheduler",{enumerable:!0,get:function(){return zw.queueScheduler}});var Xw=IC();Object.defineProperty(E,"animationFrame",{enumerable:!0,get:function(){return Xw.animationFrame}});Object.defineProperty(E,"animationFrameScheduler",{enumerable:!0,get:function(){return Xw.animationFrameScheduler}});var Jw=BC();Object.defineProperty(E,"VirtualTimeScheduler",{enumerable:!0,get:function(){return Jw.VirtualTimeScheduler}});Object.defineProperty(E,"VirtualAction",{enumerable:!0,get:function(){return Jw.VirtualAction}});var lJ=Jm();Object.defineProperty(E,"Scheduler",{enumerable:!0,get:function(){return lJ.Scheduler}});var cJ=Zt();Object.defineProperty(E,"Subscription",{enumerable:!0,get:function(){return cJ.Subscription}});var AJ=Rs();Object.defineProperty(E,"Subscriber",{enumerable:!0,get:function(){return AJ.Subscriber}});var Zw=JA();Object.defineProperty(E,"Notification",{enumerable:!0,get:function(){return Zw.Notification}});Object.defineProperty(E,"NotificationKind",{enumerable:!0,get:function(){return Zw.NotificationKind}});var hJ=Na();Object.defineProperty(E,"pipe",{enumerable:!0,get:function(){return hJ.pipe}});var dJ=At();Object.defineProperty(E,"noop",{enumerable:!0,get:function(){return dJ.noop}});var fJ=ht();Object.defineProperty(E,"identity",{enumerable:!0,get:function(){return fJ.identity}});var pJ=NC();Object.defineProperty(E,"isObservable",{enumerable:!0,get:function(){return pJ.isObservable}});var gJ=HC();Object.defineProperty(E,"lastValueFrom",{enumerable:!0,get:function(){return gJ.lastValueFrom}});var mJ=WC();Object.defineProperty(E,"firstValueFrom",{enumerable:!0,get:function(){return mJ.firstValueFrom}});var yJ=hy();Object.defineProperty(E,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return yJ.ArgumentOutOfRangeError}});var EJ=qi();Object.defineProperty(E,"EmptyError",{enumerable:!0,get:function(){return EJ.EmptyError}});var _J=dy();Object.defineProperty(E,"NotFoundError",{enumerable:!0,get:function(){return _J.NotFoundError}});var IJ=jm();Object.defineProperty(E,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return IJ.ObjectUnsubscribedError}});var vJ=fy();Object.defineProperty(E,"SequenceError",{enumerable:!0,get:function(){return vJ.SequenceError}});var xJ=ah();Object.defineProperty(E,"TimeoutError",{enumerable:!0,get:function(){return xJ.TimeoutError}});var BJ=Pm();Object.defineProperty(E,"UnsubscriptionError",{enumerable:!0,get:function(){return BJ.UnsubscriptionError}});var CJ=jC();Object.defineProperty(E,"bindCallback",{enumerable:!0,get:function(){return CJ.bindCallback}});var bJ=VC();Object.defineProperty(E,"bindNodeCallback",{enumerable:!0,get:function(){return bJ.bindNodeCallback}});var wJ=dh();Object.defineProperty(E,"combineLatest",{enumerable:!0,get:function(){return wJ.combineLatest}});var QJ=za();Object.defineProperty(E,"concat",{enumerable:!0,get:function(){return QJ.concat}});var SJ=eb();Object.defineProperty(E,"connectable",{enumerable:!0,get:function(){return SJ.connectable}});var TJ=Xa();Object.defineProperty(E,"defer",{enumerable:!0,get:function(){return TJ.defer}});var MJ=Ir();Object.defineProperty(E,"empty",{enumerable:!0,get:function(){return MJ.empty}});var PJ=tb();Object.defineProperty(E,"forkJoin",{enumerable:!0,get:function(){return PJ.forkJoin}});var DJ=di();Object.defineProperty(E,"from",{enumerable:!0,get:function(){return DJ.from}});var RJ=ib();Object.defineProperty(E,"fromEvent",{enumerable:!0,get:function(){return RJ.fromEvent}});var FJ=sb();Object.defineProperty(E,"fromEventPattern",{enumerable:!0,get:function(){return FJ.fromEventPattern}});var kJ=ab();Object.defineProperty(E,"generate",{enumerable:!0,get:function(){return kJ.generate}});var OJ=ub();Object.defineProperty(E,"iif",{enumerable:!0,get:function(){return OJ.iif}});var GJ=_y();Object.defineProperty(E,"interval",{enumerable:!0,get:function(){return GJ.interval}});var UJ=cb();Object.defineProperty(E,"merge",{enumerable:!0,get:function(){return UJ.merge}});var LJ=Iy();Object.defineProperty(E,"never",{enumerable:!0,get:function(){return LJ.never}});var NJ=zA();Object.defineProperty(E,"of",{enumerable:!0,get:function(){return NJ.of}});var HJ=vy();Object.defineProperty(E,"onErrorResumeNext",{enumerable:!0,get:function(){return HJ.onErrorResumeNext}});var WJ=hb();Object.defineProperty(E,"pairs",{enumerable:!0,get:function(){return WJ.pairs}});var qJ=gb();Object.defineProperty(E,"partition",{enumerable:!0,get:function(){return qJ.partition}});var jJ=xy();Object.defineProperty(E,"race",{enumerable:!0,get:function(){return jJ.race}});var VJ=Eb();Object.defineProperty(E,"range",{enumerable:!0,get:function(){return VJ.range}});var YJ=Ay();Object.defineProperty(E,"throwError",{enumerable:!0,get:function(){return YJ.throwError}});var KJ=zi();Object.defineProperty(E,"timer",{enumerable:!0,get:function(){return KJ.timer}});var zJ=_b();Object.defineProperty(E,"using",{enumerable:!0,get:function(){return zJ.using}});var XJ=Oh();Object.defineProperty(E,"zip",{enumerable:!0,get:function(){return XJ.zip}});var JJ=cy();Object.defineProperty(E,"scheduled",{enumerable:!0,get:function(){return JJ.scheduled}});var ZJ=Ir();Object.defineProperty(E,"EMPTY",{enumerable:!0,get:function(){return ZJ.EMPTY}});var $J=Iy();Object.defineProperty(E,"NEVER",{enumerable:!0,get:function(){return $J.NEVER}});eJ(vb(),E);var e5=Ps();Object.defineProperty(E,"config",{enumerable:!0,get:function(){return e5.config}});var t5=By();Object.defineProperty(E,"audit",{enumerable:!0,get:function(){return t5.audit}});var r5=Bb();Object.defineProperty(E,"auditTime",{enumerable:!0,get:function(){return r5.auditTime}});var i5=bb();Object.defineProperty(E,"buffer",{enumerable:!0,get:function(){return i5.buffer}});var n5=wb();Object.defineProperty(E,"bufferCount",{enumerable:!0,get:function(){return n5.bufferCount}});var s5=Sb();Object.defineProperty(E,"bufferTime",{enumerable:!0,get:function(){return s5.bufferTime}});var o5=Pb();Object.defineProperty(E,"bufferToggle",{enumerable:!0,get:function(){return o5.bufferToggle}});var a5=Rb();Object.defineProperty(E,"bufferWhen",{enumerable:!0,get:function(){return a5.bufferWhen}});var u5=kb();Object.defineProperty(E,"catchError",{enumerable:!0,get:function(){return u5.catchError}});var l5=Ob();Object.defineProperty(E,"combineAll",{enumerable:!0,get:function(){return l5.combineAll}});var c5=Ty();Object.defineProperty(E,"combineLatestAll",{enumerable:!0,get:function(){return c5.combineLatestAll}});var A5=Hb();Object.defineProperty(E,"combineLatestWith",{enumerable:!0,get:function(){return A5.combineLatestWith}});var h5=Eh();Object.defineProperty(E,"concatAll",{enumerable:!0,get:function(){return h5.concatAll}});var d5=My();Object.defineProperty(E,"concatMap",{enumerable:!0,get:function(){return d5.concatMap}});var f5=jb();Object.defineProperty(E,"concatMapTo",{enumerable:!0,get:function(){return f5.concatMapTo}});var p5=Yb();Object.defineProperty(E,"concatWith",{enumerable:!0,get:function(){return p5.concatWith}});var g5=$h();Object.defineProperty(E,"connect",{enumerable:!0,get:function(){return g5.connect}});var m5=zb();Object.defineProperty(E,"count",{enumerable:!0,get:function(){return m5.count}});var y5=Jb();Object.defineProperty(E,"debounce",{enumerable:!0,get:function(){return y5.debounce}});var E5=Zb();Object.defineProperty(E,"debounceTime",{enumerable:!0,get:function(){return E5.debounceTime}});var _5=Ja();Object.defineProperty(E,"defaultIfEmpty",{enumerable:!0,get:function(){return _5.defaultIfEmpty}});var I5=t0();Object.defineProperty(E,"delay",{enumerable:!0,get:function(){return I5.delay}});var v5=Ry();Object.defineProperty(E,"delayWhen",{enumerable:!0,get:function(){return v5.delayWhen}});var x5=r0();Object.defineProperty(E,"dematerialize",{enumerable:!0,get:function(){return x5.dematerialize}});var B5=n0();Object.defineProperty(E,"distinct",{enumerable:!0,get:function(){return B5.distinct}});var C5=Fy();Object.defineProperty(E,"distinctUntilChanged",{enumerable:!0,get:function(){return C5.distinctUntilChanged}});var b5=s0();Object.defineProperty(E,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return b5.distinctUntilKeyChanged}});var w5=a0();Object.defineProperty(E,"elementAt",{enumerable:!0,get:function(){return w5.elementAt}});var Q5=u0();Object.defineProperty(E,"endWith",{enumerable:!0,get:function(){return Q5.endWith}});var S5=l0();Object.defineProperty(E,"every",{enumerable:!0,get:function(){return S5.every}});var T5=d0();Object.defineProperty(E,"exhaust",{enumerable:!0,get:function(){return T5.exhaust}});var M5=Oy();Object.defineProperty(E,"exhaustAll",{enumerable:!0,get:function(){return M5.exhaustAll}});var P5=ky();Object.defineProperty(E,"exhaustMap",{enumerable:!0,get:function(){return P5.exhaustMap}});var D5=f0();Object.defineProperty(E,"expand",{enumerable:!0,get:function(){return D5.expand}});var R5=Yn();Object.defineProperty(E,"filter",{enumerable:!0,get:function(){return R5.filter}});var F5=p0();Object.defineProperty(E,"finalize",{enumerable:!0,get:function(){return F5.finalize}});var k5=Gy();Object.defineProperty(E,"find",{enumerable:!0,get:function(){return k5.find}});var O5=m0();Object.defineProperty(E,"findIndex",{enumerable:!0,get:function(){return O5.findIndex}});var G5=y0();Object.defineProperty(E,"first",{enumerable:!0,get:function(){return G5.first}});var U5=_0();Object.defineProperty(E,"groupBy",{enumerable:!0,get:function(){return U5.groupBy}});var L5=Py();Object.defineProperty(E,"ignoreElements",{enumerable:!0,get:function(){return L5.ignoreElements}});var N5=I0();Object.defineProperty(E,"isEmpty",{enumerable:!0,get:function(){return N5.isEmpty}});var H5=v0();Object.defineProperty(E,"last",{enumerable:!0,get:function(){return H5.last}});var W5=ji();Object.defineProperty(E,"map",{enumerable:!0,get:function(){return W5.map}});var q5=Dy();Object.defineProperty(E,"mapTo",{enumerable:!0,get:function(){return q5.mapTo}});var j5=x0();Object.defineProperty(E,"materialize",{enumerable:!0,get:function(){return j5.materialize}});var V5=B0();Object.defineProperty(E,"max",{enumerable:!0,get:function(){return V5.max}});var Y5=Ka();Object.defineProperty(E,"mergeAll",{enumerable:!0,get:function(){return Y5.mergeAll}});var K5=C0();Object.defineProperty(E,"flatMap",{enumerable:!0,get:function(){return K5.flatMap}});var z5=pi();Object.defineProperty(E,"mergeMap",{enumerable:!0,get:function(){return z5.mergeMap}});var X5=w0();Object.defineProperty(E,"mergeMapTo",{enumerable:!0,get:function(){return X5.mergeMapTo}});var J5=Q0();Object.defineProperty(E,"mergeScan",{enumerable:!0,get:function(){return J5.mergeScan}});var Z5=M0();Object.defineProperty(E,"mergeWith",{enumerable:!0,get:function(){return Z5.mergeWith}});var $5=P0();Object.defineProperty(E,"min",{enumerable:!0,get:function(){return $5.min}});var e6=Dd();Object.defineProperty(E,"multicast",{enumerable:!0,get:function(){return e6.multicast}});var t6=Va();Object.defineProperty(E,"observeOn",{enumerable:!0,get:function(){return t6.observeOn}});var r6=F0();Object.defineProperty(E,"onErrorResumeNextWith",{enumerable:!0,get:function(){return r6.onErrorResumeNextWith}});var i6=k0();Object.defineProperty(E,"pairwise",{enumerable:!0,get:function(){return i6.pairwise}});var n6=O0();Object.defineProperty(E,"pluck",{enumerable:!0,get:function(){return n6.pluck}});var s6=G0();Object.defineProperty(E,"publish",{enumerable:!0,get:function(){return s6.publish}});var o6=U0();Object.defineProperty(E,"publishBehavior",{enumerable:!0,get:function(){return o6.publishBehavior}});var a6=L0();Object.defineProperty(E,"publishLast",{enumerable:!0,get:function(){return a6.publishLast}});var u6=H0();Object.defineProperty(E,"publishReplay",{enumerable:!0,get:function(){return u6.publishReplay}});var l6=W0();Object.defineProperty(E,"raceWith",{enumerable:!0,get:function(){return l6.raceWith}});var c6=lo();Object.defineProperty(E,"reduce",{enumerable:!0,get:function(){return c6.reduce}});var A6=j0();Object.defineProperty(E,"repeat",{enumerable:!0,get:function(){return A6.repeat}});var h6=Y0();Object.defineProperty(E,"repeatWhen",{enumerable:!0,get:function(){return h6.repeatWhen}});var d6=z0();Object.defineProperty(E,"retry",{enumerable:!0,get:function(){return d6.retry}});var f6=J0();Object.defineProperty(E,"retryWhen",{enumerable:!0,get:function(){return f6.retryWhen}});var p6=Wm();Object.defineProperty(E,"refCount",{enumerable:!0,get:function(){return p6.refCount}});var g6=Ny();Object.defineProperty(E,"sample",{enumerable:!0,get:function(){return g6.sample}});var m6=$0();Object.defineProperty(E,"sampleTime",{enumerable:!0,get:function(){return m6.sampleTime}});var y6=ew();Object.defineProperty(E,"scan",{enumerable:!0,get:function(){return y6.scan}});var E6=rw();Object.defineProperty(E,"sequenceEqual",{enumerable:!0,get:function(){return E6.sequenceEqual}});var _6=Wy();Object.defineProperty(E,"share",{enumerable:!0,get:function(){return _6.share}});var I6=sw();Object.defineProperty(E,"shareReplay",{enumerable:!0,get:function(){return I6.shareReplay}});var v6=ow();Object.defineProperty(E,"single",{enumerable:!0,get:function(){return v6.single}});var x6=aw();Object.defineProperty(E,"skip",{enumerable:!0,get:function(){return x6.skip}});var B6=uw();Object.defineProperty(E,"skipLast",{enumerable:!0,get:function(){return B6.skipLast}});var C6=cw();Object.defineProperty(E,"skipUntil",{enumerable:!0,get:function(){return C6.skipUntil}});var b6=Aw();Object.defineProperty(E,"skipWhile",{enumerable:!0,get:function(){return b6.skipWhile}});var w6=dw();Object.defineProperty(E,"startWith",{enumerable:!0,get:function(){return w6.startWith}});var Q6=Ya();Object.defineProperty(E,"subscribeOn",{enumerable:!0,get:function(){return Q6.subscribeOn}});var S6=pw();Object.defineProperty(E,"switchAll",{enumerable:!0,get:function(){return S6.switchAll}});var T6=eu();Object.defineProperty(E,"switchMap",{enumerable:!0,get:function(){return T6.switchMap}});var M6=mw();Object.defineProperty(E,"switchMapTo",{enumerable:!0,get:function(){return M6.switchMapTo}});var P6=yw();Object.defineProperty(E,"switchScan",{enumerable:!0,get:function(){return P6.switchScan}});var D6=Za();Object.defineProperty(E,"take",{enumerable:!0,get:function(){return D6.take}});var R6=Uy();Object.defineProperty(E,"takeLast",{enumerable:!0,get:function(){return R6.takeLast}});var F6=Ew();Object.defineProperty(E,"takeUntil",{enumerable:!0,get:function(){return F6.takeUntil}});var k6=_w();Object.defineProperty(E,"takeWhile",{enumerable:!0,get:function(){return k6.takeWhile}});var O6=Iw();Object.defineProperty(E,"tap",{enumerable:!0,get:function(){return O6.tap}});var G6=qy();Object.defineProperty(E,"throttle",{enumerable:!0,get:function(){return G6.throttle}});var U6=xw();Object.defineProperty(E,"throttleTime",{enumerable:!0,get:function(){return U6.throttleTime}});var L6=$a();Object.defineProperty(E,"throwIfEmpty",{enumerable:!0,get:function(){return L6.throwIfEmpty}});var N6=Cw();Object.defineProperty(E,"timeInterval",{enumerable:!0,get:function(){return N6.timeInterval}});var H6=ah();Object.defineProperty(E,"timeout",{enumerable:!0,get:function(){return H6.timeout}});var W6=bw();Object.defineProperty(E,"timeoutWith",{enumerable:!0,get:function(){return W6.timeoutWith}});var q6=ww();Object.defineProperty(E,"timestamp",{enumerable:!0,get:function(){return q6.timestamp}});var j6=Qy();Object.defineProperty(E,"toArray",{enumerable:!0,get:function(){return j6.toArray}});var V6=Tw();Object.defineProperty(E,"window",{enumerable:!0,get:function(){return V6.window}});var Y6=Pw();Object.defineProperty(E,"windowCount",{enumerable:!0,get:function(){return Y6.windowCount}});var K6=Rw();Object.defineProperty(E,"windowTime",{enumerable:!0,get:function(){return K6.windowTime}});var z6=Ow();Object.defineProperty(E,"windowToggle",{enumerable:!0,get:function(){return z6.windowToggle}});var X6=Uw();Object.defineProperty(E,"windowWhen",{enumerable:!0,get:function(){return X6.windowWhen}});var J6=Ww();Object.defineProperty(E,"withLatestFrom",{enumerable:!0,get:function(){return J6.withLatestFrom}});var Z6=qw();Object.defineProperty(E,"zipAll",{enumerable:!0,get:function(){return Z6.zipAll}});var $6=Vw();Object.defineProperty(E,"zipWith",{enumerable:!0,get:function(){return $6.zipWith}})});var uu=C(If=>{(function(){"use strict";var r=function(){this.init()};r.prototype={init:function(){var u=this||e;return u._counter=1e3,u._html5AudioPool=[],u.html5PoolSize=10,u._codecs={},u._howls=[],u._muted=!1,u._volume=1,u._canPlayEvent="canplaythrough",u._navigator=typeof window<"u"&&window.navigator?window.navigator:null,u.masterGain=null,u.noAudio=!1,u.usingWebAudio=!0,u.autoSuspend=!0,u.ctx=null,u.autoUnlock=!0,u._setup(),u},volume:function(u){var A=this||e;if(u=parseFloat(u),A.ctx||c(),typeof u<"u"&&u>=0&&u<=1){if(A._volume=u,A._muted)return A;A.usingWebAudio&&A.masterGain.gain.setValueAtTime(u,e.ctx.currentTime);for(var h=0;h<A._howls.length;h++)if(!A._howls[h]._webAudio)for(var d=A._howls[h]._getSoundIds(),f=0;f<d.length;f++){var g=A._howls[h]._soundById(d[f]);g&&g._node&&(g._node.volume=g._volume*u)}return A}return A._volume},mute:function(u){var A=this||e;A.ctx||c(),A._muted=u,A.usingWebAudio&&A.masterGain.gain.setValueAtTime(u?0:A._volume,e.ctx.currentTime);for(var h=0;h<A._howls.length;h++)if(!A._howls[h]._webAudio)for(var d=A._howls[h]._getSoundIds(),f=0;f<d.length;f++){var g=A._howls[h]._soundById(d[f]);g&&g._node&&(g._node.muted=u?!0:g._muted)}return A},stop:function(){for(var u=this||e,A=0;A<u._howls.length;A++)u._howls[A].stop();return u},unload:function(){for(var u=this||e,A=u._howls.length-1;A>=0;A--)u._howls[A].unload();return u.usingWebAudio&&u.ctx&&typeof u.ctx.close<"u"&&(u.ctx.close(),u.ctx=null,c()),u},codecs:function(u){return(this||e)._codecs[u.replace(/^x-/,"")]},_setup:function(){var u=this||e;if(u.state=u.ctx&&u.ctx.state||"suspended",u._autoSuspend(),!u.usingWebAudio)if(typeof Audio<"u")try{var A=new Audio;typeof A.oncanplaythrough>"u"&&(u._canPlayEvent="canplay")}catch{u.noAudio=!0}else u.noAudio=!0;try{var A=new Audio;A.muted&&(u.noAudio=!0)}catch{}return u.noAudio||u._setupCodecs(),u},_setupCodecs:function(){var u=this||e,A=null;try{A=typeof Audio<"u"?new Audio:null}catch{return u}if(!A||typeof A.canPlayType!="function")return u;var h=A.canPlayType("audio/mpeg;").replace(/^no$/,""),d=u._navigator?u._navigator.userAgent:"",f=d.match(/OPR\/(\d+)/g),g=f&&parseInt(f[0].split("/")[1],10)<33,p=d.indexOf("Safari")!==-1&&d.indexOf("Chrome")===-1,I=d.match(/Version\/(.*?) /),x=p&&I&&parseInt(I[1],10)<15;return u._codecs={mp3:!!(!g&&(h||A.canPlayType("audio/mp3;").replace(/^no$/,""))),mpeg:!!h,opus:!!A.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!A.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!A.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!(A.canPlayType('audio/wav; codecs="1"')||A.canPlayType("audio/wav")).replace(/^no$/,""),aac:!!A.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!A.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(A.canPlayType("audio/x-m4a;")||A.canPlayType("audio/m4a;")||A.canPlayType("audio/aac;")).replace(/^no$/,""),m4b:!!(A.canPlayType("audio/x-m4b;")||A.canPlayType("audio/m4b;")||A.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(A.canPlayType("audio/x-mp4;")||A.canPlayType("audio/mp4;")||A.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!(!x&&A.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!x&&A.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),dolby:!!A.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(A.canPlayType("audio/x-flac;")||A.canPlayType("audio/flac;")).replace(/^no$/,"")},u},_unlockAudio:function(){var u=this||e;if(!(u._audioUnlocked||!u.ctx)){u._audioUnlocked=!1,u.autoUnlock=!1,!u._mobileUnloaded&&u.ctx.sampleRate!==44100&&(u._mobileUnloaded=!0,u.unload()),u._scratchBuffer=u.ctx.createBuffer(1,1,22050);var A=function(h){for(;u._html5AudioPool.length<u.html5PoolSize;)try{var d=new Audio;d._unlocked=!0,u._releaseHtml5Audio(d)}catch{u.noAudio=!0;break}for(var f=0;f<u._howls.length;f++)if(!u._howls[f]._webAudio)for(var g=u._howls[f]._getSoundIds(),p=0;p<g.length;p++){var I=u._howls[f]._soundById(g[p]);I&&I._node&&!I._node._unlocked&&(I._node._unlocked=!0,I._node.load())}u._autoResume();var x=u.ctx.createBufferSource();x.buffer=u._scratchBuffer,x.connect(u.ctx.destination),typeof x.start>"u"?x.noteOn(0):x.start(0),typeof u.ctx.resume=="function"&&u.ctx.resume(),x.onended=function(){x.disconnect(0),u._audioUnlocked=!0,document.removeEventListener("touchstart",A,!0),document.removeEventListener("touchend",A,!0),document.removeEventListener("click",A,!0),document.removeEventListener("keydown",A,!0);for(var B=0;B<u._howls.length;B++)u._howls[B]._emit("unlock")}};return document.addEventListener("touchstart",A,!0),document.addEventListener("touchend",A,!0),document.addEventListener("click",A,!0),document.addEventListener("keydown",A,!0),u}},_obtainHtml5Audio:function(){var u=this||e;if(u._html5AudioPool.length)return u._html5AudioPool.pop();var A=new Audio().play();return A&&typeof Promise<"u"&&(A instanceof Promise||typeof A.then=="function")&&A.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(u){var A=this||e;return u._unlocked&&A._html5AudioPool.push(u),A},_autoSuspend:function(){var u=this;if(!(!u.autoSuspend||!u.ctx||typeof u.ctx.suspend>"u"||!e.usingWebAudio)){for(var A=0;A<u._howls.length;A++)if(u._howls[A]._webAudio){for(var h=0;h<u._howls[A]._sounds.length;h++)if(!u._howls[A]._sounds[h]._paused)return u}return u._suspendTimer&&clearTimeout(u._suspendTimer),u._suspendTimer=setTimeout(function(){if(u.autoSuspend){u._suspendTimer=null,u.state="suspending";var d=function(){u.state="suspended",u._resumeAfterSuspend&&(delete u._resumeAfterSuspend,u._autoResume())};u.ctx.suspend().then(d,d)}},3e4),u}},_autoResume:function(){var u=this;if(!(!u.ctx||typeof u.ctx.resume>"u"||!e.usingWebAudio))return u.state==="running"&&u.ctx.state!=="interrupted"&&u._suspendTimer?(clearTimeout(u._suspendTimer),u._suspendTimer=null):u.state==="suspended"||u.state==="running"&&u.ctx.state==="interrupted"?(u.ctx.resume().then(function(){u.state="running";for(var A=0;A<u._howls.length;A++)u._howls[A]._emit("resume")}),u._suspendTimer&&(clearTimeout(u._suspendTimer),u._suspendTimer=null)):u.state==="suspending"&&(u._resumeAfterSuspend=!0),u}};var e=new r,t=function(u){var A=this;if(!u.src||u.src.length===0){console.error("An array of source files must be passed with any new Howl.");return}A.init(u)};t.prototype={init:function(u){var A=this;return e.ctx||c(),A._autoplay=u.autoplay||!1,A._format=typeof u.format!="string"?u.format:[u.format],A._html5=u.html5||!1,A._muted=u.mute||!1,A._loop=u.loop||!1,A._pool=u.pool||5,A._preload=typeof u.preload=="boolean"||u.preload==="metadata"?u.preload:!0,A._rate=u.rate||1,A._sprite=u.sprite||{},A._src=typeof u.src!="string"?u.src:[u.src],A._volume=u.volume!==void 0?u.volume:1,A._xhr={method:u.xhr&&u.xhr.method?u.xhr.method:"GET",headers:u.xhr&&u.xhr.headers?u.xhr.headers:null,withCredentials:u.xhr&&u.xhr.withCredentials?u.xhr.withCredentials:!1},A._duration=0,A._state="unloaded",A._sounds=[],A._endTimers={},A._queue=[],A._playLock=!1,A._onend=u.onend?[{fn:u.onend}]:[],A._onfade=u.onfade?[{fn:u.onfade}]:[],A._onload=u.onload?[{fn:u.onload}]:[],A._onloaderror=u.onloaderror?[{fn:u.onloaderror}]:[],A._onplayerror=u.onplayerror?[{fn:u.onplayerror}]:[],A._onpause=u.onpause?[{fn:u.onpause}]:[],A._onplay=u.onplay?[{fn:u.onplay}]:[],A._onstop=u.onstop?[{fn:u.onstop}]:[],A._onmute=u.onmute?[{fn:u.onmute}]:[],A._onvolume=u.onvolume?[{fn:u.onvolume}]:[],A._onrate=u.onrate?[{fn:u.onrate}]:[],A._onseek=u.onseek?[{fn:u.onseek}]:[],A._onunlock=u.onunlock?[{fn:u.onunlock}]:[],A._onresume=[],A._webAudio=e.usingWebAudio&&!A._html5,typeof e.ctx<"u"&&e.ctx&&e.autoUnlock&&e._unlockAudio(),e._howls.push(A),A._autoplay&&A._queue.push({event:"play",action:function(){A.play()}}),A._preload&&A._preload!=="none"&&A.load(),A},load:function(){var u=this,A=null;if(e.noAudio){u._emit("loaderror",null,"No audio support.");return}typeof u._src=="string"&&(u._src=[u._src]);for(var h=0;h<u._src.length;h++){var d,f;if(u._format&&u._format[h])d=u._format[h];else{if(f=u._src[h],typeof f!="string"){u._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}d=/^data:audio\/([^;,]+);/i.exec(f),d||(d=/\.([^.]+)$/.exec(f.split("?",1)[0])),d&&(d=d[1].toLowerCase())}if(d||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),d&&e.codecs(d)){A=u._src[h];break}}if(!A){u._emit("loaderror",null,"No codec support for selected audio sources.");return}return u._src=A,u._state="loading",window.location.protocol==="https:"&&A.slice(0,5)==="http:"&&(u._html5=!0,u._webAudio=!1),new i(u),u._webAudio&&s(u),u},play:function(u,A){var h=this,d=null;if(typeof u=="number")d=u,u=null;else{if(typeof u=="string"&&h._state==="loaded"&&!h._sprite[u])return null;if(typeof u>"u"&&(u="__default",!h._playLock)){for(var f=0,g=0;g<h._sounds.length;g++)h._sounds[g]._paused&&!h._sounds[g]._ended&&(f++,d=h._sounds[g]._id);f===1?u=null:d=null}}var p=d?h._soundById(d):h._inactiveSound();if(!p)return null;if(d&&!u&&(u=p._sprite||"__default"),h._state!=="loaded"){p._sprite=u,p._ended=!1;var I=p._id;return h._queue.push({event:"play",action:function(){h.play(I)}}),I}if(d&&!p._paused)return A||h._loadQueue("play"),p._id;h._webAudio&&e._autoResume();var x=Math.max(0,p._seek>0?p._seek:h._sprite[u][0]/1e3),B=Math.max(0,(h._sprite[u][0]+h._sprite[u][1])/1e3-x),w=B*1e3/Math.abs(p._rate),D=h._sprite[u][0]/1e3,T=(h._sprite[u][0]+h._sprite[u][1])/1e3;p._sprite=u,p._ended=!1;var R=function(){p._paused=!1,p._seek=x,p._start=D,p._stop=T,p._loop=!!(p._loop||h._sprite[u][2])};if(x>=T){h._ended(p);return}var U=p._node;if(h._webAudio){var Z=function(){h._playLock=!1,R(),h._refreshBuffer(p);var ae=p._muted||h._muted?0:p._volume;U.gain.setValueAtTime(ae,e.ctx.currentTime),p._playStart=e.ctx.currentTime,typeof U.bufferSource.start>"u"?p._loop?U.bufferSource.noteGrainOn(0,x,86400):U.bufferSource.noteGrainOn(0,x,B):p._loop?U.bufferSource.start(0,x,86400):U.bufferSource.start(0,x,B),w!==1/0&&(h._endTimers[p._id]=setTimeout(h._ended.bind(h,p),w)),A||setTimeout(function(){h._emit("play",p._id),h._loadQueue()},0)};e.state==="running"&&e.ctx.state!=="interrupted"?Z():(h._playLock=!0,h.once("resume",Z),h._clearTimer(p._id))}else{var Y=function(){U.currentTime=x,U.muted=p._muted||h._muted||e._muted||U.muted,U.volume=p._volume*e.volume(),U.playbackRate=p._rate;try{var ae=U.play();if(ae&&typeof Promise<"u"&&(ae instanceof Promise||typeof ae.then=="function")?(h._playLock=!0,R(),ae.then(function(){h._playLock=!1,U._unlocked=!0,A?h._loadQueue():h._emit("play",p._id)}).catch(function(){h._playLock=!1,h._emit("playerror",p._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),p._ended=!0,p._paused=!0})):A||(h._playLock=!1,R(),h._emit("play",p._id)),U.playbackRate=p._rate,U.paused){h._emit("playerror",p._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");return}u!=="__default"||p._loop?h._endTimers[p._id]=setTimeout(h._ended.bind(h,p),w):(h._endTimers[p._id]=function(){h._ended(p),U.removeEventListener("ended",h._endTimers[p._id],!1)},U.addEventListener("ended",h._endTimers[p._id],!1))}catch(Fe){h._emit("playerror",p._id,Fe)}};U.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(U.src=h._src,U.load());var V=window&&window.ejecta||!U.readyState&&e._navigator.isCocoonJS;if(U.readyState>=3||V)Y();else{h._playLock=!0,h._state="loading";var ne=function(){h._state="loaded",Y(),U.removeEventListener(e._canPlayEvent,ne,!1)};U.addEventListener(e._canPlayEvent,ne,!1),h._clearTimer(p._id)}}return p._id},pause:function(u){var A=this;if(A._state!=="loaded"||A._playLock)return A._queue.push({event:"pause",action:function(){A.pause(u)}}),A;for(var h=A._getSoundIds(u),d=0;d<h.length;d++){A._clearTimer(h[d]);var f=A._soundById(h[d]);if(f&&!f._paused&&(f._seek=A.seek(h[d]),f._rateSeek=0,f._paused=!0,A._stopFade(h[d]),f._node))if(A._webAudio){if(!f._node.bufferSource)continue;typeof f._node.bufferSource.stop>"u"?f._node.bufferSource.noteOff(0):f._node.bufferSource.stop(0),A._cleanBuffer(f._node)}else(!isNaN(f._node.duration)||f._node.duration===1/0)&&f._node.pause();arguments[1]||A._emit("pause",f?f._id:null)}return A},stop:function(u,A){var h=this;if(h._state!=="loaded"||h._playLock)return h._queue.push({event:"stop",action:function(){h.stop(u)}}),h;for(var d=h._getSoundIds(u),f=0;f<d.length;f++){h._clearTimer(d[f]);var g=h._soundById(d[f]);g&&(g._seek=g._start||0,g._rateSeek=0,g._paused=!0,g._ended=!0,h._stopFade(d[f]),g._node&&(h._webAudio?g._node.bufferSource&&(typeof g._node.bufferSource.stop>"u"?g._node.bufferSource.noteOff(0):g._node.bufferSource.stop(0),h._cleanBuffer(g._node)):(!isNaN(g._node.duration)||g._node.duration===1/0)&&(g._node.currentTime=g._start||0,g._node.pause(),g._node.duration===1/0&&h._clearSound(g._node))),A||h._emit("stop",g._id))}return h},mute:function(u,A){var h=this;if(h._state!=="loaded"||h._playLock)return h._queue.push({event:"mute",action:function(){h.mute(u,A)}}),h;if(typeof A>"u")if(typeof u=="boolean")h._muted=u;else return h._muted;for(var d=h._getSoundIds(A),f=0;f<d.length;f++){var g=h._soundById(d[f]);g&&(g._muted=u,g._interval&&h._stopFade(g._id),h._webAudio&&g._node?g._node.gain.setValueAtTime(u?0:g._volume,e.ctx.currentTime):g._node&&(g._node.muted=e._muted?!0:u),h._emit("mute",g._id))}return h},volume:function(){var u=this,A=arguments,h,d;if(A.length===0)return u._volume;if(A.length===1||A.length===2&&typeof A[1]>"u"){var f=u._getSoundIds(),g=f.indexOf(A[0]);g>=0?d=parseInt(A[0],10):h=parseFloat(A[0])}else A.length>=2&&(h=parseFloat(A[0]),d=parseInt(A[1],10));var p;if(typeof h<"u"&&h>=0&&h<=1){if(u._state!=="loaded"||u._playLock)return u._queue.push({event:"volume",action:function(){u.volume.apply(u,A)}}),u;typeof d>"u"&&(u._volume=h),d=u._getSoundIds(d);for(var I=0;I<d.length;I++)p=u._soundById(d[I]),p&&(p._volume=h,A[2]||u._stopFade(d[I]),u._webAudio&&p._node&&!p._muted?p._node.gain.setValueAtTime(h,e.ctx.currentTime):p._node&&!p._muted&&(p._node.volume=h*e.volume()),u._emit("volume",p._id))}else return p=d?u._soundById(d):u._sounds[0],p?p._volume:0;return u},fade:function(u,A,h,d){var f=this;if(f._state!=="loaded"||f._playLock)return f._queue.push({event:"fade",action:function(){f.fade(u,A,h,d)}}),f;u=Math.min(Math.max(0,parseFloat(u)),1),A=Math.min(Math.max(0,parseFloat(A)),1),h=parseFloat(h),f.volume(u,d);for(var g=f._getSoundIds(d),p=0;p<g.length;p++){var I=f._soundById(g[p]);if(I){if(d||f._stopFade(g[p]),f._webAudio&&!I._muted){var x=e.ctx.currentTime,B=x+h/1e3;I._volume=u,I._node.gain.setValueAtTime(u,x),I._node.gain.linearRampToValueAtTime(A,B)}f._startFadeInterval(I,u,A,h,g[p],typeof d>"u")}}return f},_startFadeInterval:function(u,A,h,d,f,g){var p=this,I=A,x=h-A,B=Math.abs(x/.01),w=Math.max(4,B>0?d/B:d),D=Date.now();u._fadeTo=h,u._interval=setInterval(function(){var T=(Date.now()-D)/d;D=Date.now(),I+=x*T,I=Math.round(I*100)/100,x<0?I=Math.max(h,I):I=Math.min(h,I),p._webAudio?u._volume=I:p.volume(I,u._id,!0),g&&(p._volume=I),(h<A&&I<=h||h>A&&I>=h)&&(clearInterval(u._interval),u._interval=null,u._fadeTo=null,p.volume(h,u._id),p._emit("fade",u._id))},w)},_stopFade:function(u){var A=this,h=A._soundById(u);return h&&h._interval&&(A._webAudio&&h._node.gain.cancelScheduledValues(e.ctx.currentTime),clearInterval(h._interval),h._interval=null,A.volume(h._fadeTo,u),h._fadeTo=null,A._emit("fade",u)),A},loop:function(){var u=this,A=arguments,h,d,f;if(A.length===0)return u._loop;if(A.length===1)if(typeof A[0]=="boolean")h=A[0],u._loop=h;else return f=u._soundById(parseInt(A[0],10)),f?f._loop:!1;else A.length===2&&(h=A[0],d=parseInt(A[1],10));for(var g=u._getSoundIds(d),p=0;p<g.length;p++)f=u._soundById(g[p]),f&&(f._loop=h,u._webAudio&&f._node&&f._node.bufferSource&&(f._node.bufferSource.loop=h,h&&(f._node.bufferSource.loopStart=f._start||0,f._node.bufferSource.loopEnd=f._stop,u.playing(g[p])&&(u.pause(g[p],!0),u.play(g[p],!0)))));return u},rate:function(){var u=this,A=arguments,h,d;if(A.length===0)d=u._sounds[0]._id;else if(A.length===1){var f=u._getSoundIds(),g=f.indexOf(A[0]);g>=0?d=parseInt(A[0],10):h=parseFloat(A[0])}else A.length===2&&(h=parseFloat(A[0]),d=parseInt(A[1],10));var p;if(typeof h=="number"){if(u._state!=="loaded"||u._playLock)return u._queue.push({event:"rate",action:function(){u.rate.apply(u,A)}}),u;typeof d>"u"&&(u._rate=h),d=u._getSoundIds(d);for(var I=0;I<d.length;I++)if(p=u._soundById(d[I]),p){u.playing(d[I])&&(p._rateSeek=u.seek(d[I]),p._playStart=u._webAudio?e.ctx.currentTime:p._playStart),p._rate=h,u._webAudio&&p._node&&p._node.bufferSource?p._node.bufferSource.playbackRate.setValueAtTime(h,e.ctx.currentTime):p._node&&(p._node.playbackRate=h);var x=u.seek(d[I]),B=(u._sprite[p._sprite][0]+u._sprite[p._sprite][1])/1e3-x,w=B*1e3/Math.abs(p._rate);(u._endTimers[d[I]]||!p._paused)&&(u._clearTimer(d[I]),u._endTimers[d[I]]=setTimeout(u._ended.bind(u,p),w)),u._emit("rate",p._id)}}else return p=u._soundById(d),p?p._rate:u._rate;return u},seek:function(){var u=this,A=arguments,h,d;if(A.length===0)u._sounds.length&&(d=u._sounds[0]._id);else if(A.length===1){var f=u._getSoundIds(),g=f.indexOf(A[0]);g>=0?d=parseInt(A[0],10):u._sounds.length&&(d=u._sounds[0]._id,h=parseFloat(A[0]))}else A.length===2&&(h=parseFloat(A[0]),d=parseInt(A[1],10));if(typeof d>"u")return 0;if(typeof h=="number"&&(u._state!=="loaded"||u._playLock))return u._queue.push({event:"seek",action:function(){u.seek.apply(u,A)}}),u;var p=u._soundById(d);if(p)if(typeof h=="number"&&h>=0){var I=u.playing(d);I&&u.pause(d,!0),p._seek=h,p._ended=!1,u._clearTimer(d),!u._webAudio&&p._node&&!isNaN(p._node.duration)&&(p._node.currentTime=h);var x=function(){I&&u.play(d,!0),u._emit("seek",d)};if(I&&!u._webAudio){var B=function(){u._playLock?setTimeout(B,0):x()};setTimeout(B,0)}else x()}else if(u._webAudio){var w=u.playing(d)?e.ctx.currentTime-p._playStart:0,D=p._rateSeek?p._rateSeek-p._seek:0;return p._seek+(D+w*Math.abs(p._rate))}else return p._node.currentTime;return u},playing:function(u){var A=this;if(typeof u=="number"){var h=A._soundById(u);return h?!h._paused:!1}for(var d=0;d<A._sounds.length;d++)if(!A._sounds[d]._paused)return!0;return!1},duration:function(u){var A=this,h=A._duration,d=A._soundById(u);return d&&(h=A._sprite[d._sprite][1]/1e3),h},state:function(){return this._state},unload:function(){for(var u=this,A=u._sounds,h=0;h<A.length;h++)A[h]._paused||u.stop(A[h]._id),u._webAudio||(u._clearSound(A[h]._node),A[h]._node.removeEventListener("error",A[h]._errorFn,!1),A[h]._node.removeEventListener(e._canPlayEvent,A[h]._loadFn,!1),A[h]._node.removeEventListener("ended",A[h]._endFn,!1),e._releaseHtml5Audio(A[h]._node)),delete A[h]._node,u._clearTimer(A[h]._id);var d=e._howls.indexOf(u);d>=0&&e._howls.splice(d,1);var f=!0;for(h=0;h<e._howls.length;h++)if(e._howls[h]._src===u._src||u._src.indexOf(e._howls[h]._src)>=0){f=!1;break}return n&&f&&delete n[u._src],e.noAudio=!1,u._state="unloaded",u._sounds=[],u=null,null},on:function(u,A,h,d){var f=this,g=f["_on"+u];return typeof A=="function"&&g.push(d?{id:h,fn:A,once:d}:{id:h,fn:A}),f},off:function(u,A,h){var d=this,f=d["_on"+u],g=0;if(typeof A=="number"&&(h=A,A=null),A||h)for(g=0;g<f.length;g++){var p=h===f[g].id;if(A===f[g].fn&&p||!A&&p){f.splice(g,1);break}}else if(u)d["_on"+u]=[];else{var I=Object.keys(d);for(g=0;g<I.length;g++)I[g].indexOf("_on")===0&&Array.isArray(d[I[g]])&&(d[I[g]]=[])}return d},once:function(u,A,h){var d=this;return d.on(u,A,h,1),d},_emit:function(u,A,h){for(var d=this,f=d["_on"+u],g=f.length-1;g>=0;g--)(!f[g].id||f[g].id===A||u==="load")&&(setTimeout(function(p){p.call(this,A,h)}.bind(d,f[g].fn),0),f[g].once&&d.off(u,f[g].fn,f[g].id));return d._loadQueue(u),d},_loadQueue:function(u){var A=this;if(A._queue.length>0){var h=A._queue[0];h.event===u&&(A._queue.shift(),A._loadQueue()),u||h.action()}return A},_ended:function(u){var A=this,h=u._sprite;if(!A._webAudio&&u._node&&!u._node.paused&&!u._node.ended&&u._node.currentTime<u._stop)return setTimeout(A._ended.bind(A,u),100),A;var d=!!(u._loop||A._sprite[h][2]);if(A._emit("end",u._id),!A._webAudio&&d&&A.stop(u._id,!0).play(u._id),A._webAudio&&d){A._emit("play",u._id),u._seek=u._start||0,u._rateSeek=0,u._playStart=e.ctx.currentTime;var f=(u._stop-u._start)*1e3/Math.abs(u._rate);A._endTimers[u._id]=setTimeout(A._ended.bind(A,u),f)}return A._webAudio&&!d&&(u._paused=!0,u._ended=!0,u._seek=u._start||0,u._rateSeek=0,A._clearTimer(u._id),A._cleanBuffer(u._node),e._autoSuspend()),!A._webAudio&&!d&&A.stop(u._id,!0),A},_clearTimer:function(u){var A=this;if(A._endTimers[u]){if(typeof A._endTimers[u]!="function")clearTimeout(A._endTimers[u]);else{var h=A._soundById(u);h&&h._node&&h._node.removeEventListener("ended",A._endTimers[u],!1)}delete A._endTimers[u]}return A},_soundById:function(u){for(var A=this,h=0;h<A._sounds.length;h++)if(u===A._sounds[h]._id)return A._sounds[h];return null},_inactiveSound:function(){var u=this;u._drain();for(var A=0;A<u._sounds.length;A++)if(u._sounds[A]._ended)return u._sounds[A].reset();return new i(u)},_drain:function(){var u=this,A=u._pool,h=0,d=0;if(!(u._sounds.length<A)){for(d=0;d<u._sounds.length;d++)u._sounds[d]._ended&&h++;for(d=u._sounds.length-1;d>=0;d--){if(h<=A)return;u._sounds[d]._ended&&(u._webAudio&&u._sounds[d]._node&&u._sounds[d]._node.disconnect(0),u._sounds.splice(d,1),h--)}}},_getSoundIds:function(u){var A=this;if(typeof u>"u"){for(var h=[],d=0;d<A._sounds.length;d++)h.push(A._sounds[d]._id);return h}else return[u]},_refreshBuffer:function(u){var A=this;return u._node.bufferSource=e.ctx.createBufferSource(),u._node.bufferSource.buffer=n[A._src],u._panner?u._node.bufferSource.connect(u._panner):u._node.bufferSource.connect(u._node),u._node.bufferSource.loop=u._loop,u._loop&&(u._node.bufferSource.loopStart=u._start||0,u._node.bufferSource.loopEnd=u._stop||0),u._node.bufferSource.playbackRate.setValueAtTime(u._rate,e.ctx.currentTime),A},_cleanBuffer:function(u){var A=this,h=e._navigator&&e._navigator.vendor.indexOf("Apple")>=0;if(!u.bufferSource)return A;if(e._scratchBuffer&&u.bufferSource&&(u.bufferSource.onended=null,u.bufferSource.disconnect(0),h))try{u.bufferSource.buffer=e._scratchBuffer}catch{}return u.bufferSource=null,A},_clearSound:function(u){var A=/MSIE |Trident\//.test(e._navigator&&e._navigator.userAgent);A||(u.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var i=function(u){this._parent=u,this.init()};i.prototype={init:function(){var u=this,A=u._parent;return u._muted=A._muted,u._loop=A._loop,u._volume=A._volume,u._rate=A._rate,u._seek=0,u._paused=!0,u._ended=!0,u._sprite="__default",u._id=++e._counter,A._sounds.push(u),u.create(),u},create:function(){var u=this,A=u._parent,h=e._muted||u._muted||u._parent._muted?0:u._volume;return A._webAudio?(u._node=typeof e.ctx.createGain>"u"?e.ctx.createGainNode():e.ctx.createGain(),u._node.gain.setValueAtTime(h,e.ctx.currentTime),u._node.paused=!0,u._node.connect(e.masterGain)):e.noAudio||(u._node=e._obtainHtml5Audio(),u._errorFn=u._errorListener.bind(u),u._node.addEventListener("error",u._errorFn,!1),u._loadFn=u._loadListener.bind(u),u._node.addEventListener(e._canPlayEvent,u._loadFn,!1),u._endFn=u._endListener.bind(u),u._node.addEventListener("ended",u._endFn,!1),u._node.src=A._src,u._node.preload=A._preload===!0?"auto":A._preload,u._node.volume=h*e.volume(),u._node.load()),u},reset:function(){var u=this,A=u._parent;return u._muted=A._muted,u._loop=A._loop,u._volume=A._volume,u._rate=A._rate,u._seek=0,u._rateSeek=0,u._paused=!0,u._ended=!0,u._sprite="__default",u._id=++e._counter,u},_errorListener:function(){var u=this;u._parent._emit("loaderror",u._id,u._node.error?u._node.error.code:0),u._node.removeEventListener("error",u._errorFn,!1)},_loadListener:function(){var u=this,A=u._parent;A._duration=Math.ceil(u._node.duration*10)/10,Object.keys(A._sprite).length===0&&(A._sprite={__default:[0,A._duration*1e3]}),A._state!=="loaded"&&(A._state="loaded",A._emit("load"),A._loadQueue()),u._node.removeEventListener(e._canPlayEvent,u._loadFn,!1)},_endListener:function(){var u=this,A=u._parent;A._duration===1/0&&(A._duration=Math.ceil(u._node.duration*10)/10,A._sprite.__default[1]===1/0&&(A._sprite.__default[1]=A._duration*1e3),A._ended(u)),u._node.removeEventListener("ended",u._endFn,!1)}};var n={},s=function(u){var A=u._src;if(n[A]){u._duration=n[A].duration,l(u);return}if(/^data:[^;]+;base64,/.test(A)){for(var h=atob(A.split(",")[1]),d=new Uint8Array(h.length),f=0;f<h.length;++f)d[f]=h.charCodeAt(f);a(d.buffer,u)}else{var g=new XMLHttpRequest;g.open(u._xhr.method,A,!0),g.withCredentials=u._xhr.withCredentials,g.responseType="arraybuffer",u._xhr.headers&&Object.keys(u._xhr.headers).forEach(function(p){g.setRequestHeader(p,u._xhr.headers[p])}),g.onload=function(){var p=(g.status+"")[0];if(p!=="0"&&p!=="2"&&p!=="3"){u._emit("loaderror",null,"Failed loading audio file with status: "+g.status+".");return}a(g.response,u)},g.onerror=function(){u._webAudio&&(u._html5=!0,u._webAudio=!1,u._sounds=[],delete n[A],u.load())},o(g)}},o=function(u){try{u.send()}catch{u.onerror()}},a=function(u,A){var h=function(){A._emit("loaderror",null,"Decoding audio data failed.")},d=function(f){f&&A._sounds.length>0?(n[A._src]=f,l(A,f)):h()};typeof Promise<"u"&&e.ctx.decodeAudioData.length===1?e.ctx.decodeAudioData(u).then(d).catch(h):e.ctx.decodeAudioData(u,d,h)},l=function(u,A){A&&!u._duration&&(u._duration=A.duration),Object.keys(u._sprite).length===0&&(u._sprite={__default:[0,u._duration*1e3]}),u._state!=="loaded"&&(u._state="loaded",u._emit("load"),u._loadQueue())},c=function(){if(e.usingWebAudio){try{typeof AudioContext<"u"?e.ctx=new AudioContext:typeof webkitAudioContext<"u"?e.ctx=new webkitAudioContext:e.usingWebAudio=!1}catch{e.usingWebAudio=!1}e.ctx||(e.usingWebAudio=!1);var u=/iP(hone|od|ad)/.test(e._navigator&&e._navigator.platform),A=e._navigator&&e._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),h=A?parseInt(A[1],10):null;if(u&&h&&h<9){var d=/safari/.test(e._navigator&&e._navigator.userAgent.toLowerCase());e._navigator&&!d&&(e.usingWebAudio=!1)}e.usingWebAudio&&(e.masterGain=typeof e.ctx.createGain>"u"?e.ctx.createGainNode():e.ctx.createGain(),e.masterGain.gain.setValueAtTime(e._muted?0:e._volume,e.ctx.currentTime),e.masterGain.connect(e.ctx.destination)),e._setup()}};typeof define=="function"&&define.amd&&define([],function(){return{Howler:e,Howl:t}}),typeof If<"u"&&(If.Howler=e,If.Howl=t),typeof global<"u"?(global.HowlerGlobal=r,global.Howler=e,global.Howl=t,global.Sound=i):typeof window<"u"&&(window.HowlerGlobal=r,window.Howler=e,window.Howl=t,window.Sound=i)})();(function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var t=this;if(!t.ctx||!t.ctx.listener)return t;for(var i=t._howls.length-1;i>=0;i--)t._howls[i].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,i){var n=this;if(!n.ctx||!n.ctx.listener)return n;if(t=typeof t!="number"?n._pos[1]:t,i=typeof i!="number"?n._pos[2]:i,typeof e=="number")n._pos=[e,t,i],typeof n.ctx.listener.positionX<"u"?(n.ctx.listener.positionX.setTargetAtTime(n._pos[0],Howler.ctx.currentTime,.1),n.ctx.listener.positionY.setTargetAtTime(n._pos[1],Howler.ctx.currentTime,.1),n.ctx.listener.positionZ.setTargetAtTime(n._pos[2],Howler.ctx.currentTime,.1)):n.ctx.listener.setPosition(n._pos[0],n._pos[1],n._pos[2]);else return n._pos;return n},HowlerGlobal.prototype.orientation=function(e,t,i,n,s,o){var a=this;if(!a.ctx||!a.ctx.listener)return a;var l=a._orientation;if(t=typeof t!="number"?l[1]:t,i=typeof i!="number"?l[2]:i,n=typeof n!="number"?l[3]:n,s=typeof s!="number"?l[4]:s,o=typeof o!="number"?l[5]:o,typeof e=="number")a._orientation=[e,t,i,n,s,o],typeof a.ctx.listener.forwardX<"u"?(a.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.forwardY.setTargetAtTime(t,Howler.ctx.currentTime,.1),a.ctx.listener.forwardZ.setTargetAtTime(i,Howler.ctx.currentTime,.1),a.ctx.listener.upX.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.upY.setTargetAtTime(s,Howler.ctx.currentTime,.1),a.ctx.listener.upZ.setTargetAtTime(o,Howler.ctx.currentTime,.1)):a.ctx.listener.setOrientation(e,t,i,n,s,o);else return l;return a},Howl.prototype.init=function(e){return function(t){var i=this;return i._orientation=t.orientation||[1,0,0],i._stereo=t.stereo||null,i._pos=t.pos||null,i._pannerAttr={coneInnerAngle:typeof t.coneInnerAngle<"u"?t.coneInnerAngle:360,coneOuterAngle:typeof t.coneOuterAngle<"u"?t.coneOuterAngle:360,coneOuterGain:typeof t.coneOuterGain<"u"?t.coneOuterGain:0,distanceModel:typeof t.distanceModel<"u"?t.distanceModel:"inverse",maxDistance:typeof t.maxDistance<"u"?t.maxDistance:1e4,panningModel:typeof t.panningModel<"u"?t.panningModel:"HRTF",refDistance:typeof t.refDistance<"u"?t.refDistance:1,rolloffFactor:typeof t.rolloffFactor<"u"?t.rolloffFactor:1},i._onstereo=t.onstereo?[{fn:t.onstereo}]:[],i._onpos=t.onpos?[{fn:t.onpos}]:[],i._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}}(Howl.prototype.init),Howl.prototype.stereo=function(e,t){var i=this;if(!i._webAudio)return i;if(i._state!=="loaded")return i._queue.push({event:"stereo",action:function(){i.stereo(e,t)}}),i;var n=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof t>"u")if(typeof e=="number")i._stereo=e,i._pos=[e,0,0];else return i._stereo;for(var s=i._getSoundIds(t),o=0;o<s.length;o++){var a=i._soundById(s[o]);if(a)if(typeof e=="number")a._stereo=e,a._pos=[e,0,0],a._node&&(a._pannerAttr.panningModel="equalpower",(!a._panner||!a._panner.pan)&&r(a,n),n==="spatial"?typeof a._panner.positionX<"u"?(a._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),a._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),a._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):a._panner.setPosition(e,0,0):a._panner.pan.setValueAtTime(e,Howler.ctx.currentTime)),i._emit("stereo",a._id);else return a._stereo}return i},Howl.prototype.pos=function(e,t,i,n){var s=this;if(!s._webAudio)return s;if(s._state!=="loaded")return s._queue.push({event:"pos",action:function(){s.pos(e,t,i,n)}}),s;if(t=typeof t!="number"?0:t,i=typeof i!="number"?-.5:i,typeof n>"u")if(typeof e=="number")s._pos=[e,t,i];else return s._pos;for(var o=s._getSoundIds(n),a=0;a<o.length;a++){var l=s._soundById(o[a]);if(l)if(typeof e=="number")l._pos=[e,t,i],l._node&&((!l._panner||l._panner.pan)&&r(l,"spatial"),typeof l._panner.positionX<"u"?(l._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),l._panner.positionY.setValueAtTime(t,Howler.ctx.currentTime),l._panner.positionZ.setValueAtTime(i,Howler.ctx.currentTime)):l._panner.setPosition(e,t,i)),s._emit("pos",l._id);else return l._pos}return s},Howl.prototype.orientation=function(e,t,i,n){var s=this;if(!s._webAudio)return s;if(s._state!=="loaded")return s._queue.push({event:"orientation",action:function(){s.orientation(e,t,i,n)}}),s;if(t=typeof t!="number"?s._orientation[1]:t,i=typeof i!="number"?s._orientation[2]:i,typeof n>"u")if(typeof e=="number")s._orientation=[e,t,i];else return s._orientation;for(var o=s._getSoundIds(n),a=0;a<o.length;a++){var l=s._soundById(o[a]);if(l)if(typeof e=="number")l._orientation=[e,t,i],l._node&&(l._panner||(l._pos||(l._pos=s._pos||[0,0,-.5]),r(l,"spatial")),typeof l._panner.orientationX<"u"?(l._panner.orientationX.setValueAtTime(e,Howler.ctx.currentTime),l._panner.orientationY.setValueAtTime(t,Howler.ctx.currentTime),l._panner.orientationZ.setValueAtTime(i,Howler.ctx.currentTime)):l._panner.setOrientation(e,t,i)),s._emit("orientation",l._id);else return l._orientation}return s},Howl.prototype.pannerAttr=function(){var e=this,t=arguments,i,n,s;if(!e._webAudio)return e;if(t.length===0)return e._pannerAttr;if(t.length===1)if(typeof t[0]=="object")i=t[0],typeof n>"u"&&(i.pannerAttr||(i.pannerAttr={coneInnerAngle:i.coneInnerAngle,coneOuterAngle:i.coneOuterAngle,coneOuterGain:i.coneOuterGain,distanceModel:i.distanceModel,maxDistance:i.maxDistance,refDistance:i.refDistance,rolloffFactor:i.rolloffFactor,panningModel:i.panningModel}),e._pannerAttr={coneInnerAngle:typeof i.pannerAttr.coneInnerAngle<"u"?i.pannerAttr.coneInnerAngle:e._coneInnerAngle,coneOuterAngle:typeof i.pannerAttr.coneOuterAngle<"u"?i.pannerAttr.coneOuterAngle:e._coneOuterAngle,coneOuterGain:typeof i.pannerAttr.coneOuterGain<"u"?i.pannerAttr.coneOuterGain:e._coneOuterGain,distanceModel:typeof i.pannerAttr.distanceModel<"u"?i.pannerAttr.distanceModel:e._distanceModel,maxDistance:typeof i.pannerAttr.maxDistance<"u"?i.pannerAttr.maxDistance:e._maxDistance,refDistance:typeof i.pannerAttr.refDistance<"u"?i.pannerAttr.refDistance:e._refDistance,rolloffFactor:typeof i.pannerAttr.rolloffFactor<"u"?i.pannerAttr.rolloffFactor:e._rolloffFactor,panningModel:typeof i.pannerAttr.panningModel<"u"?i.pannerAttr.panningModel:e._panningModel});else return s=e._soundById(parseInt(t[0],10)),s?s._pannerAttr:e._pannerAttr;else t.length===2&&(i=t[0],n=parseInt(t[1],10));for(var o=e._getSoundIds(n),a=0;a<o.length;a++)if(s=e._soundById(o[a]),s){var l=s._pannerAttr;l={coneInnerAngle:typeof i.coneInnerAngle<"u"?i.coneInnerAngle:l.coneInnerAngle,coneOuterAngle:typeof i.coneOuterAngle<"u"?i.coneOuterAngle:l.coneOuterAngle,coneOuterGain:typeof i.coneOuterGain<"u"?i.coneOuterGain:l.coneOuterGain,distanceModel:typeof i.distanceModel<"u"?i.distanceModel:l.distanceModel,maxDistance:typeof i.maxDistance<"u"?i.maxDistance:l.maxDistance,refDistance:typeof i.refDistance<"u"?i.refDistance:l.refDistance,rolloffFactor:typeof i.rolloffFactor<"u"?i.rolloffFactor:l.rolloffFactor,panningModel:typeof i.panningModel<"u"?i.panningModel:l.panningModel};var c=s._panner;c||(s._pos||(s._pos=e._pos||[0,0,-.5]),r(s,"spatial"),c=s._panner),c.coneInnerAngle=l.coneInnerAngle,c.coneOuterAngle=l.coneOuterAngle,c.coneOuterGain=l.coneOuterGain,c.distanceModel=l.distanceModel,c.maxDistance=l.maxDistance,c.refDistance=l.refDistance,c.rolloffFactor=l.rolloffFactor,c.panningModel=l.panningModel}return e},Sound.prototype.init=function(e){return function(){var t=this,i=t._parent;t._orientation=i._orientation,t._stereo=i._stereo,t._pos=i._pos,t._pannerAttr=i._pannerAttr,e.call(this),t._stereo?i.stereo(t._stereo):t._pos&&i.pos(t._pos[0],t._pos[1],t._pos[2],t._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var t=this,i=t._parent;return t._orientation=i._orientation,t._stereo=i._stereo,t._pos=i._pos,t._pannerAttr=i._pannerAttr,t._stereo?i.stereo(t._stereo):t._pos?i.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,i._refreshBuffer(t)),e.call(this)}}(Sound.prototype.reset);var r=function(e,t){t=t||"spatial",t==="spatial"?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,typeof e._panner.positionX<"u"?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),typeof e._panner.orientationX<"u"?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}})()});var v,nE,lu,N,M=m(()=>{"use strict";v=(r=>(r.Application="application",r.WebGLPipes="webgl-pipes",r.WebGLPipesAdaptor="webgl-pipes-adaptor",r.WebGLSystem="webgl-system",r.WebGPUPipes="webgpu-pipes",r.WebGPUPipesAdaptor="webgpu-pipes-adaptor",r.WebGPUSystem="webgpu-system",r.CanvasSystem="canvas-system",r.CanvasPipesAdaptor="canvas-pipes-adaptor",r.CanvasPipes="canvas-pipes",r.Asset="asset",r.LoadParser="load-parser",r.ResolveParser="resolve-parser",r.CacheParser="cache-parser",r.DetectionParser="detection-parser",r.MaskEffect="mask-effect",r.BlendMode="blend-mode",r.TextureSource="texture-source",r.Environment="environment",r.ShapeBuilder="shape-builder",r.Batcher="batcher",r))(v||{}),nE=r=>{if(typeof r=="function"||typeof r=="object"&&r.extension){if(!r.extension)throw new Error("Extension class must have an extension object");r={...typeof r.extension!="object"?{type:r.extension}:r.extension,ref:r}}if(typeof r=="object")r={...r};else throw new Error("Invalid extension type");return typeof r.type=="string"&&(r.type=[r.type]),r},lu=(r,e)=>nE(r).priority??e,N={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...r){return r.map(nE).forEach(e=>{e.type.forEach(t=>this._removeHandlers[t]?.(e))}),this},add(...r){return r.map(nE).forEach(e=>{e.type.forEach(t=>{let i=this._addHandlers,n=this._queue;i[t]?i[t]?.(e):(n[t]=n[t]||[],n[t]?.push(e))})}),this},handle(r,e,t){let i=this._addHandlers,n=this._removeHandlers;if(i[r]||n[r])throw new Error(`Extension type ${r} already has a handler`);i[r]=e,n[r]=t;let s=this._queue;return s[r]&&(s[r]?.forEach(o=>e(o)),delete s[r]),this},handleByMap(r,e){return this.handle(r,t=>{t.name&&(e[t.name]=t.ref)},t=>{t.name&&delete e[t.name]})},handleByNamedList(r,e,t=-1){return this.handle(r,i=>{e.findIndex(s=>s.name===i.name)>=0||(e.push({name:i.name,value:i.ref}),e.sort((s,o)=>lu(o.value,t)-lu(s.value,t)))},i=>{let n=e.findIndex(s=>s.name===i.name);n!==-1&&e.splice(n,1)})},handleByList(r,e,t=-1){return this.handle(r,i=>{e.includes(i.ref)||(e.push(i.ref),e.sort((n,s)=>lu(s,t)-lu(n,t)))},i=>{let n=e.indexOf(i.ref);n!==-1&&e.splice(n,1)})},mixin(r,...e){for(let t of e)Object.defineProperties(r.prototype,Object.getOwnPropertyDescriptors(t))}}});var lQ=C((uoe,sE)=>{"use strict";var cZ=Object.prototype.hasOwnProperty,Tt="~";function cu(){}Object.create&&(cu.prototype=Object.create(null),new cu().__proto__||(Tt=!1));function AZ(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function uQ(r,e,t,i,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new AZ(t,i||r,n),o=Tt?Tt+e:e;return r._events[o]?r._events[o].fn?r._events[o]=[r._events[o],s]:r._events[o].push(s):(r._events[o]=s,r._eventsCount++),r}function vf(r,e){--r._eventsCount===0?r._events=new cu:delete r._events[e]}function vt(){this._events=new cu,this._eventsCount=0}vt.prototype.eventNames=function(){var e=[],t,i;if(this._eventsCount===0)return e;for(i in t=this._events)cZ.call(t,i)&&e.push(Tt?i.slice(1):i);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};vt.prototype.listeners=function(e){var t=Tt?Tt+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,s=i.length,o=new Array(s);n<s;n++)o[n]=i[n].fn;return o};vt.prototype.listenerCount=function(e){var t=Tt?Tt+e:e,i=this._events[t];return i?i.fn?1:i.length:0};vt.prototype.emit=function(e,t,i,n,s,o){var a=Tt?Tt+e:e;if(!this._events[a])return!1;var l=this._events[a],c=arguments.length,u,A;if(l.fn){switch(l.once&&this.removeListener(e,l.fn,void 0,!0),c){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,t),!0;case 3:return l.fn.call(l.context,t,i),!0;case 4:return l.fn.call(l.context,t,i,n),!0;case 5:return l.fn.call(l.context,t,i,n,s),!0;case 6:return l.fn.call(l.context,t,i,n,s,o),!0}for(A=1,u=new Array(c-1);A<c;A++)u[A-1]=arguments[A];l.fn.apply(l.context,u)}else{var h=l.length,d;for(A=0;A<h;A++)switch(l[A].once&&this.removeListener(e,l[A].fn,void 0,!0),c){case 1:l[A].fn.call(l[A].context);break;case 2:l[A].fn.call(l[A].context,t);break;case 3:l[A].fn.call(l[A].context,t,i);break;case 4:l[A].fn.call(l[A].context,t,i,n);break;default:if(!u)for(d=1,u=new Array(c-1);d<c;d++)u[d-1]=arguments[d];l[A].fn.apply(l[A].context,u)}}return!0};vt.prototype.on=function(e,t,i){return uQ(this,e,t,i,!1)};vt.prototype.once=function(e,t,i){return uQ(this,e,t,i,!0)};vt.prototype.removeListener=function(e,t,i,n){var s=Tt?Tt+e:e;if(!this._events[s])return this;if(!t)return vf(this,s),this;var o=this._events[s];if(o.fn)o.fn===t&&(!n||o.once)&&(!i||o.context===i)&&vf(this,s);else{for(var a=0,l=[],c=o.length;a<c;a++)(o[a].fn!==t||n&&!o[a].once||i&&o[a].context!==i)&&l.push(o[a]);l.length?this._events[s]=l.length===1?l[0]:l:vf(this,s)}return this};vt.prototype.removeAllListeners=function(e){var t;return e?(t=Tt?Tt+e:e,this._events[t]&&vf(this,t)):(this._events=new cu,this._eventsCount=0),this};vt.prototype.off=vt.prototype.removeListener;vt.prototype.addListener=vt.prototype.on;vt.prefixed=Tt;vt.EventEmitter=vt;typeof sE<"u"&&(sE.exports=vt)});var cQ,Me,xt=m(()=>{cQ=St(lQ(),1),Me=cQ.default});var hZ,gi,ut,sr,yQ,AQ,oE,dZ,xf,EQ,_Q,hQ,dQ,fQ,Au,fZ,pZ,gZ,mZ,lE,pQ,yZ,aE,uE,gQ,cE,xr,mQ,IQ,vQ=m(()=>{hZ={grad:.9,turn:360,rad:360/(2*Math.PI)},gi=function(r){return typeof r=="string"?r.length>0:typeof r=="number"},ut=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*r)/t+0},sr=function(r,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),r>t?t:r>e?r:e},yQ=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},AQ=function(r){return{r:sr(r.r,0,255),g:sr(r.g,0,255),b:sr(r.b,0,255),a:sr(r.a)}},oE=function(r){return{r:ut(r.r),g:ut(r.g),b:ut(r.b),a:ut(r.a,3)}},dZ=/^#([0-9a-f]{3,8})$/i,xf=function(r){var e=r.toString(16);return e.length<2?"0"+e:e},EQ=function(r){var e=r.r,t=r.g,i=r.b,n=r.a,s=Math.max(e,t,i),o=s-Math.min(e,t,i),a=o?s===e?(t-i)/o:s===t?2+(i-e)/o:4+(e-t)/o:0;return{h:60*(a<0?a+6:a),s:s?o/s*100:0,v:s/255*100,a:n}},_Q=function(r){var e=r.h,t=r.s,i=r.v,n=r.a;e=e/360*6,t/=100,i/=100;var s=Math.floor(e),o=i*(1-t),a=i*(1-(e-s)*t),l=i*(1-(1-e+s)*t),c=s%6;return{r:255*[i,a,o,o,l,i][c],g:255*[l,i,i,a,o,o][c],b:255*[o,o,l,i,i,a][c],a:n}},hQ=function(r){return{h:yQ(r.h),s:sr(r.s,0,100),l:sr(r.l,0,100),a:sr(r.a)}},dQ=function(r){return{h:ut(r.h),s:ut(r.s),l:ut(r.l),a:ut(r.a,3)}},fQ=function(r){return _Q((t=(e=r).s,{h:e.h,s:(t*=((i=e.l)<50?i:100-i)/100)>0?2*t/(i+t)*100:0,v:i+t,a:e.a}));var e,t,i},Au=function(r){return{h:(e=EQ(r)).h,s:(n=(200-(t=e.s))*(i=e.v)/100)>0&&n<200?t*i/100/(n<=100?n:200-n)*100:0,l:n/2,a:e.a};var e,t,i,n},fZ=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,pZ=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,gZ=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,mZ=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,lE={string:[[function(r){var e=dZ.exec(r);return e?(r=e[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:r.length===4?ut(parseInt(r[3]+r[3],16)/255,2):1}:r.length===6||r.length===8?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:r.length===8?ut(parseInt(r.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(r){var e=gZ.exec(r)||mZ.exec(r);return e?e[2]!==e[4]||e[4]!==e[6]?null:AQ({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(r){var e=fZ.exec(r)||pZ.exec(r);if(!e)return null;var t,i,n=hQ({h:(t=e[1],i=e[2],i===void 0&&(i="deg"),Number(t)*(hZ[i]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return fQ(n)},"hsl"]],object:[[function(r){var e=r.r,t=r.g,i=r.b,n=r.a,s=n===void 0?1:n;return gi(e)&&gi(t)&&gi(i)?AQ({r:Number(e),g:Number(t),b:Number(i),a:Number(s)}):null},"rgb"],[function(r){var e=r.h,t=r.s,i=r.l,n=r.a,s=n===void 0?1:n;if(!gi(e)||!gi(t)||!gi(i))return null;var o=hQ({h:Number(e),s:Number(t),l:Number(i),a:Number(s)});return fQ(o)},"hsl"],[function(r){var e=r.h,t=r.s,i=r.v,n=r.a,s=n===void 0?1:n;if(!gi(e)||!gi(t)||!gi(i))return null;var o=function(a){return{h:yQ(a.h),s:sr(a.s,0,100),v:sr(a.v,0,100),a:sr(a.a)}}({h:Number(e),s:Number(t),v:Number(i),a:Number(s)});return _Q(o)},"hsv"]]},pQ=function(r,e){for(var t=0;t<e.length;t++){var i=e[t][0](r);if(i)return[i,e[t][1]]}return[null,void 0]},yZ=function(r){return typeof r=="string"?pQ(r.trim(),lE.string):typeof r=="object"&&r!==null?pQ(r,lE.object):[null,void 0]},aE=function(r,e){var t=Au(r);return{h:t.h,s:sr(t.s+100*e,0,100),l:t.l,a:t.a}},uE=function(r){return(299*r.r+587*r.g+114*r.b)/1e3/255},gQ=function(r,e){var t=Au(r);return{h:t.h,s:t.s,l:sr(t.l+100*e,0,100),a:t.a}},cE=function(){function r(e){this.parsed=yZ(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return r.prototype.isValid=function(){return this.parsed!==null},r.prototype.brightness=function(){return ut(uE(this.rgba),2)},r.prototype.isDark=function(){return uE(this.rgba)<.5},r.prototype.isLight=function(){return uE(this.rgba)>=.5},r.prototype.toHex=function(){return e=oE(this.rgba),t=e.r,i=e.g,n=e.b,o=(s=e.a)<1?xf(ut(255*s)):"","#"+xf(t)+xf(i)+xf(n)+o;var e,t,i,n,s,o},r.prototype.toRgb=function(){return oE(this.rgba)},r.prototype.toRgbString=function(){return e=oE(this.rgba),t=e.r,i=e.g,n=e.b,(s=e.a)<1?"rgba("+t+", "+i+", "+n+", "+s+")":"rgb("+t+", "+i+", "+n+")";var e,t,i,n,s},r.prototype.toHsl=function(){return dQ(Au(this.rgba))},r.prototype.toHslString=function(){return e=dQ(Au(this.rgba)),t=e.h,i=e.s,n=e.l,(s=e.a)<1?"hsla("+t+", "+i+"%, "+n+"%, "+s+")":"hsl("+t+", "+i+"%, "+n+"%)";var e,t,i,n,s},r.prototype.toHsv=function(){return e=EQ(this.rgba),{h:ut(e.h),s:ut(e.s),v:ut(e.v),a:ut(e.a,3)};var e},r.prototype.invert=function(){return xr({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},r.prototype.saturate=function(e){return e===void 0&&(e=.1),xr(aE(this.rgba,e))},r.prototype.desaturate=function(e){return e===void 0&&(e=.1),xr(aE(this.rgba,-e))},r.prototype.grayscale=function(){return xr(aE(this.rgba,-1))},r.prototype.lighten=function(e){return e===void 0&&(e=.1),xr(gQ(this.rgba,e))},r.prototype.darken=function(e){return e===void 0&&(e=.1),xr(gQ(this.rgba,-e))},r.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},r.prototype.alpha=function(e){return typeof e=="number"?xr({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):ut(this.rgba.a,3);var t},r.prototype.hue=function(e){var t=Au(this.rgba);return typeof e=="number"?xr({h:e,s:t.s,l:t.l,a:t.a}):ut(t.h)},r.prototype.isEqual=function(e){return this.toHex()===xr(e).toHex()},r}(),xr=function(r){return r instanceof cE?r:new cE(r)},mQ=[],IQ=function(r){r.forEach(function(e){mQ.indexOf(e)<0&&(e(cE,lE),mQ.push(e))})}});function xQ(r,e){var t={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var n in t)i[t[n]]=n;var s={};r.prototype.toName=function(o){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,l,c=i[this.toHex()];if(c)return c;if(o?.closest){var u=this.toRgb(),A=1/0,h="black";if(!s.length)for(var d in t)s[d]=new r(t[d]).toRgb();for(var f in t){var g=(a=u,l=s[f],Math.pow(a.r-l.r,2)+Math.pow(a.g-l.g,2)+Math.pow(a.b-l.b,2));g<A&&(A=g,h=f)}return h}},e.string.push([function(o){var a=o.toLowerCase(),l=a==="transparent"?"#0000":t[a];return l?new r(l).toRgb():null},"name"])}var BQ=m(()=>{});var Io,le,pt=m(()=>{vQ();BQ();IQ([xQ]);Io=class hu{constructor(e=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=e}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(e){return this.value=e,this}set value(e){if(e instanceof hu)this._value=this._cloneSource(e._value),this._int=e._int,this._components.set(e._components);else{if(e===null)throw new Error("Cannot set Color#value to null");(this._value===null||!this._isSourceEqual(this._value,e))&&(this._value=this._cloneSource(e),this._normalize(this._value))}}get value(){return this._value}_cloneSource(e){return typeof e=="string"||typeof e=="number"||e instanceof Number||e===null?e:Array.isArray(e)||ArrayBuffer.isView(e)?e.slice(0):typeof e=="object"&&e!==null?{...e}:e}_isSourceEqual(e,t){let i=typeof e;if(i!==typeof t)return!1;if(i==="number"||i==="string"||e instanceof Number)return e===t;if(Array.isArray(e)&&Array.isArray(t)||ArrayBuffer.isView(e)&&ArrayBuffer.isView(t))return e.length!==t.length?!1:e.every((s,o)=>s===t[o]);if(e!==null&&t!==null){let s=Object.keys(e),o=Object.keys(t);return s.length!==o.length?!1:s.every(a=>e[a]===t[a])}return e===t}toRgba(){let[e,t,i,n]=this._components;return{r:e,g:t,b:i,a:n}}toRgb(){let[e,t,i]=this._components;return{r:e,g:t,b:i}}toRgbaString(){let[e,t,i]=this.toUint8RgbArray();return`rgba(${e},${t},${i},${this.alpha})`}toUint8RgbArray(e){let[t,i,n]=this._components;return this._arrayRgb||(this._arrayRgb=[]),e||(e=this._arrayRgb),e[0]=Math.round(t*255),e[1]=Math.round(i*255),e[2]=Math.round(n*255),e}toArray(e){this._arrayRgba||(this._arrayRgba=[]),e||(e=this._arrayRgba);let[t,i,n,s]=this._components;return e[0]=t,e[1]=i,e[2]=n,e[3]=s,e}toRgbArray(e){this._arrayRgb||(this._arrayRgb=[]),e||(e=this._arrayRgb);let[t,i,n]=this._components;return e[0]=t,e[1]=i,e[2]=n,e}toNumber(){return this._int}toBgrNumber(){let[e,t,i]=this.toUint8RgbArray();return(i<<16)+(t<<8)+e}toLittleEndianNumber(){let e=this._int;return(e>>16)+(e&65280)+((e&255)<<16)}multiply(e){let[t,i,n,s]=hu._temp.setValue(e)._components;return this._components[0]*=t,this._components[1]*=i,this._components[2]*=n,this._components[3]*=s,this._refreshInt(),this._value=null,this}premultiply(e,t=!0){return t&&(this._components[0]*=e,this._components[1]*=e,this._components[2]*=e),this._components[3]=e,this._refreshInt(),this._value=null,this}toPremultiplied(e,t=!0){if(e===1)return(255<<24)+this._int;if(e===0)return t?0:this._int;let i=this._int>>16&255,n=this._int>>8&255,s=this._int&255;return t&&(i=i*e+.5|0,n=n*e+.5|0,s=s*e+.5|0),(e*255<<24)+(i<<16)+(n<<8)+s}toHex(){let e=this._int.toString(16);return`#${"000000".substring(0,6-e.length)+e}`}toHexa(){let t=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-t.length)+t}setAlpha(e){return this._components[3]=this._clamp(e),this}_normalize(e){let t,i,n,s;if((typeof e=="number"||e instanceof Number)&&e>=0&&e<=16777215){let o=e;t=(o>>16&255)/255,i=(o>>8&255)/255,n=(o&255)/255,s=1}else if((Array.isArray(e)||e instanceof Float32Array)&&e.length>=3&&e.length<=4)e=this._clamp(e),[t,i,n,s=1]=e;else if((e instanceof Uint8Array||e instanceof Uint8ClampedArray)&&e.length>=3&&e.length<=4)e=this._clamp(e,0,255),[t,i,n,s=255]=e,t/=255,i/=255,n/=255,s/=255;else if(typeof e=="string"||typeof e=="object"){if(typeof e=="string"){let a=hu.HEX_PATTERN.exec(e);a&&(e=`#${a[2]}`)}let o=xr(e);o.isValid()&&({r:t,g:i,b:n,a:s}=o.rgba,t/=255,i/=255,n/=255)}if(t!==void 0)this._components[0]=t,this._components[1]=i,this._components[2]=n,this._components[3]=s,this._refreshInt();else throw new Error(`Unable to convert color ${e}`)}_refreshInt(){this._clamp(this._components);let[e,t,i]=this._components;this._int=(e*255<<16)+(t*255<<8)+(i*255|0)}_clamp(e,t=0,i=1){return typeof e=="number"?Math.min(Math.max(e,t),i):(e.forEach((n,s)=>{e[s]=Math.min(Math.max(n,t),i)}),e)}static isColorLike(e){return typeof e=="number"||typeof e=="string"||e instanceof Number||e instanceof hu||Array.isArray(e)||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Float32Array||e.r!==void 0&&e.g!==void 0&&e.b!==void 0||e.r!==void 0&&e.g!==void 0&&e.b!==void 0&&e.a!==void 0||e.h!==void 0&&e.s!==void 0&&e.l!==void 0||e.h!==void 0&&e.s!==void 0&&e.l!==void 0&&e.a!==void 0||e.h!==void 0&&e.s!==void 0&&e.v!==void 0||e.h!==void 0&&e.s!==void 0&&e.v!==void 0&&e.a!==void 0}};Io.shared=new Io;Io._temp=new Io;Io.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;le=Io});var CQ,bQ=m(()=>{"use strict";CQ={cullArea:null,cullable:!1,cullableChildren:!0}});var wQ,QQ,SQ,AE=m(()=>{"use strict";wQ=Math.PI*2,QQ=180/Math.PI,SQ=Math.PI/180});var j,hE,Mt=m(()=>{"use strict";j=class r{constructor(e=0,t=0){this.x=0,this.y=0,this.x=e,this.y=t}clone(){return new r(this.x,this.y)}copyFrom(e){return this.set(e.x,e.y),this}copyTo(e){return e.set(this.x,this.y),e}equals(e){return e.x===this.x&&e.y===this.y}set(e=0,t=e){return this.x=e,this.y=t,this}toString(){return`[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return hE.x=0,hE.y=0,hE}},hE=new j});var O,EZ,_Z,pe=m(()=>{AE();Mt();O=class r{constructor(e=1,t=0,i=0,n=1,s=0,o=0){this.array=null,this.a=e,this.b=t,this.c=i,this.d=n,this.tx=s,this.ty=o}fromArray(e){this.a=e[0],this.b=e[1],this.c=e[3],this.d=e[4],this.tx=e[2],this.ty=e[5]}set(e,t,i,n,s,o){return this.a=e,this.b=t,this.c=i,this.d=n,this.tx=s,this.ty=o,this}toArray(e,t){this.array||(this.array=new Float32Array(9));let i=t||this.array;return e?(i[0]=this.a,i[1]=this.b,i[2]=0,i[3]=this.c,i[4]=this.d,i[5]=0,i[6]=this.tx,i[7]=this.ty,i[8]=1):(i[0]=this.a,i[1]=this.c,i[2]=this.tx,i[3]=this.b,i[4]=this.d,i[5]=this.ty,i[6]=0,i[7]=0,i[8]=1),i}apply(e,t){t=t||new j;let i=e.x,n=e.y;return t.x=this.a*i+this.c*n+this.tx,t.y=this.b*i+this.d*n+this.ty,t}applyInverse(e,t){t=t||new j;let i=this.a,n=this.b,s=this.c,o=this.d,a=this.tx,l=this.ty,c=1/(i*o+s*-n),u=e.x,A=e.y;return t.x=o*c*u+-s*c*A+(l*s-a*o)*c,t.y=i*c*A+-n*c*u+(-l*i+a*n)*c,t}translate(e,t){return this.tx+=e,this.ty+=t,this}scale(e,t){return this.a*=e,this.d*=t,this.c*=e,this.b*=t,this.tx*=e,this.ty*=t,this}rotate(e){let t=Math.cos(e),i=Math.sin(e),n=this.a,s=this.c,o=this.tx;return this.a=n*t-this.b*i,this.b=n*i+this.b*t,this.c=s*t-this.d*i,this.d=s*i+this.d*t,this.tx=o*t-this.ty*i,this.ty=o*i+this.ty*t,this}append(e){let t=this.a,i=this.b,n=this.c,s=this.d;return this.a=e.a*t+e.b*n,this.b=e.a*i+e.b*s,this.c=e.c*t+e.d*n,this.d=e.c*i+e.d*s,this.tx=e.tx*t+e.ty*n+this.tx,this.ty=e.tx*i+e.ty*s+this.ty,this}appendFrom(e,t){let i=e.a,n=e.b,s=e.c,o=e.d,a=e.tx,l=e.ty,c=t.a,u=t.b,A=t.c,h=t.d;return this.a=i*c+n*A,this.b=i*u+n*h,this.c=s*c+o*A,this.d=s*u+o*h,this.tx=a*c+l*A+t.tx,this.ty=a*u+l*h+t.ty,this}setTransform(e,t,i,n,s,o,a,l,c){return this.a=Math.cos(a+c)*s,this.b=Math.sin(a+c)*s,this.c=-Math.sin(a-l)*o,this.d=Math.cos(a-l)*o,this.tx=e-(i*this.a+n*this.c),this.ty=t-(i*this.b+n*this.d),this}prepend(e){let t=this.tx;if(e.a!==1||e.b!==0||e.c!==0||e.d!==1){let i=this.a,n=this.c;this.a=i*e.a+this.b*e.c,this.b=i*e.b+this.b*e.d,this.c=n*e.a+this.d*e.c,this.d=n*e.b+this.d*e.d}return this.tx=t*e.a+this.ty*e.c+e.tx,this.ty=t*e.b+this.ty*e.d+e.ty,this}decompose(e){let t=this.a,i=this.b,n=this.c,s=this.d,o=e.pivot,a=-Math.atan2(-n,s),l=Math.atan2(i,t),c=Math.abs(a+l);return c<1e-5||Math.abs(wQ-c)<1e-5?(e.rotation=l,e.skew.x=e.skew.y=0):(e.rotation=0,e.skew.x=a,e.skew.y=l),e.scale.x=Math.sqrt(t*t+i*i),e.scale.y=Math.sqrt(n*n+s*s),e.position.x=this.tx+(o.x*t+o.y*n),e.position.y=this.ty+(o.x*i+o.y*s),e}invert(){let e=this.a,t=this.b,i=this.c,n=this.d,s=this.tx,o=e*n-t*i;return this.a=n/o,this.b=-t/o,this.c=-i/o,this.d=e/o,this.tx=(i*this.ty-n*s)/o,this.ty=-(e*this.ty-t*s)/o,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let e=new r;return e.a=this.a,e.b=this.b,e.c=this.c,e.d=this.d,e.tx=this.tx,e.ty=this.ty,e}copyTo(e){return e.a=this.a,e.b=this.b,e.c=this.c,e.d=this.d,e.tx=this.tx,e.ty=this.ty,e}copyFrom(e){return this.a=e.a,this.b=e.b,this.c=e.c,this.d=e.d,this.tx=e.tx,this.ty=e.ty,this}equals(e){return e.a===this.a&&e.b===this.b&&e.c===this.c&&e.d===this.d&&e.tx===this.tx&&e.ty===this.ty}toString(){return`[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return _Z.identity()}static get shared(){return EZ.identity()}},EZ=new O,_Z=new O});var Qe,hn=m(()=>{"use strict";Qe=class r{constructor(e,t,i){this._x=t||0,this._y=i||0,this._observer=e}clone(e){return new r(e??this._observer,this._x,this._y)}set(e=0,t=e){return(this._x!==e||this._y!==t)&&(this._x=e,this._y=t,this._observer._onUpdate(this)),this}copyFrom(e){return(this._x!==e.x||this._y!==e.y)&&(this._x=e.x,this._y=e.y,this._observer._onUpdate(this)),this}copyTo(e){return e.set(this._x,this._y),e}equals(e){return e.x===this._x&&e.y===this._y}toString(){return`[pixi.js/math:ObservablePoint x=0 y=0 scope=${this._observer}]`}get x(){return this._x}set x(e){this._x!==e&&(this._x=e,this._observer._onUpdate(this))}get y(){return this._y}set y(e){this._y!==e&&(this._y=e,this._observer._onUpdate(this))}}});function fe(r="default"){return dE[r]===void 0&&(dE[r]=-1),++dE[r]}var dE,gt=m(()=>{"use strict";dE={default:-1}});function W(r,e,t=3){if(TQ[e])return;let i=new Error().stack;typeof i>"u"?console.warn("PixiJS Deprecation Warning: ",`${e}
|
|
4
|
+
Deprecated since v${r}`):(i=i.split(`
|
|
5
|
+
`).splice(t).join(`
|
|
6
|
+
`),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${e}
|
|
7
|
+
Deprecated since v${r}`),console.warn(i),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${e}
|
|
8
|
+
Deprecated since v${r}`),console.warn(i))),TQ[e]=!0}var TQ,J,MQ,Pe=m(()=>{"use strict";TQ={},J="8.0.0",MQ="8.3.4"});var Xn,fE=m(()=>{"use strict";Xn=class{constructor(e,t){this._pool=[],this._count=0,this._index=0,this._classType=e,t&&this.prepopulate(t)}prepopulate(e){for(let t=0;t<e;t++)this._pool[this._index++]=new this._classType;this._count+=e}get(e){let t;return this._index>0?t=this._pool[--this._index]:t=new this._classType,t.init?.(e),t}return(e){e.reset?.(),this._pool[this._index++]=e}get totalSize(){return this._count}get totalFree(){return this._index}get totalUsed(){return this._count-this._index}clear(){this._pool.length=0,this._index=0}}});var Bf,re,Bt=m(()=>{fE();Bf=class{constructor(){this._poolsByClass=new Map}prepopulate(e,t){this.getPool(e).prepopulate(t)}get(e,t){return this.getPool(e).get(t)}return(e){this.getPool(e.constructor).return(e)}getPool(e){return this._poolsByClass.has(e)||this._poolsByClass.set(e,new Xn(e)),this._poolsByClass.get(e)}stats(){let e={};return this._poolsByClass.forEach(t=>{let i=e[t._classType.name]?t._classType.name+t._classType.ID:t._classType.name;e[i]={free:t.totalFree,used:t.totalUsed,size:t.totalSize}}),e}},re=new Bf});var PQ,DQ=m(()=>{Pe();PQ={get isCachedAsTexture(){return!!this.renderGroup?.isCachedAsTexture},cacheAsTexture(r){typeof r=="boolean"&&r===!1?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(r===!0?{}:r))},updateCacheTexture(){this.renderGroup?.updateCacheTexture()},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(r){W("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(r)}}});function Cf(r,e,t){let i=r.length,n;if(e>=i||t===0)return;t=e+t>i?i-e:t;let s=i-t;for(n=e;n<s;++n)r[n]=r[n+t];r.length=s}var pE=m(()=>{"use strict"});var RQ,FQ=m(()=>{pE();Pe();RQ={allowChildren:!0,removeChildren(r=0,e){let t=e??this.children.length,i=t-r,n=[];if(i>0&&i<=t){for(let o=t-1;o>=r;o--){let a=this.children[o];a&&(n.push(a),a.parent=null)}Cf(this.children,r,t);let s=this.renderGroup||this.parentRenderGroup;s&&s.removeChildren(n);for(let o=0;o<n.length;++o){let a=n[o];a.parentRenderLayer?.detach(a),this.emit("childRemoved",a,this,o),n[o].emit("removed",this)}return n.length>0&&this._didViewChangeTick++,n}else if(i===0&&this.children.length===0)return n;throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(r){let e=this.getChildAt(r);return this.removeChild(e)},getChildAt(r){if(r<0||r>=this.children.length)throw new Error(`getChildAt: Index (${r}) does not exist.`);return this.children[r]},setChildIndex(r,e){if(e<0||e>=this.children.length)throw new Error(`The index ${e} supplied is out of bounds ${this.children.length}`);this.getChildIndex(r),this.addChildAt(r,e)},getChildIndex(r){let e=this.children.indexOf(r);if(e===-1)throw new Error("The supplied Container must be a child of the caller");return e},addChildAt(r,e){this.allowChildren||W(J,"addChildAt: Only Containers will be allowed to add children in v8.0.0");let{children:t}=this;if(e<0||e>t.length)throw new Error(`${r}addChildAt: The index ${e} supplied is out of bounds ${t.length}`);if(r.parent){let n=r.parent.children.indexOf(r);if(r.parent===this&&n===e)return r;n!==-1&&r.parent.children.splice(n,1)}e===t.length?t.push(r):t.splice(e,0,r),r.parent=this,r.didChange=!0,r._updateFlags=15;let i=this.renderGroup||this.parentRenderGroup;return i&&i.addChild(r),this.sortableChildren&&(this.sortDirty=!0),this.emit("childAdded",r,this,e),r.emit("added",this),r},swapChildren(r,e){if(r===e)return;let t=this.getChildIndex(r),i=this.getChildIndex(e);this.children[t]=e,this.children[i]=r;let n=this.renderGroup||this.parentRenderGroup;n&&(n.structureDidChange=!0),this._didContainerChangeTick++},removeFromParent(){this.parent?.removeChild(this)},reparentChild(...r){return r.length===1?this.reparentChildAt(r[0],this.children.length):(r.forEach(e=>this.reparentChildAt(e,this.children.length)),r[0])},reparentChildAt(r,e){if(r.parent===this)return this.setChildIndex(r,e),r;let t=r.worldTransform.clone();r.removeFromParent(),this.addChildAt(r,e);let i=this.worldTransform.clone();return i.invert(),t.prepend(i),r.setFromMatrix(t),r}}});var kQ,OQ=m(()=>{"use strict";kQ={collectRenderables(r,e,t){this.parentRenderLayer&&this.parentRenderLayer!==t||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(r,e,t):this.renderGroup?e.renderPipes.renderGroup.addRenderGroup(this.renderGroup,r):this.collectRenderablesWithEffects(r,e,t))},collectRenderablesSimple(r,e,t){let i=this.children,n=i.length;for(let s=0;s<n;s++)i[s].collectRenderables(r,e,t)},collectRenderablesWithEffects(r,e,t){let{renderPipes:i}=e;for(let n=0;n<this.effects.length;n++){let s=this.effects[n];i[s.pipe].push(s,this,r)}this.collectRenderablesSimple(r,e,t);for(let n=this.effects.length-1;n>=0;n--){let s=this.effects[n];i[s.pipe].pop(s,this,r)}}}});var mi,bf=m(()=>{"use strict";mi=class{constructor(){this.pipe="filter",this.priority=1}destroy(){for(let e=0;e<this.filters.length;e++)this.filters[e].destroy();this.filters=null,this.filterArea=null}}});var gE,wf,GQ=m(()=>{M();Bt();gE=class{constructor(){this._effectClasses=[],this._tests=[],this._initialized=!1}init(){this._initialized||(this._initialized=!0,this._effectClasses.forEach(e=>{this.add({test:e.test,maskClass:e})}))}add(e){this._tests.push(e)}getMaskEffect(e){this._initialized||this.init();for(let t=0;t<this._tests.length;t++){let i=this._tests[t];if(i.test(e))return re.get(i.maskClass,e)}return e}returnMaskEffect(e){re.return(e)}},wf=new gE;N.handleByList(v.MaskEffect,wf._effectClasses)});var UQ,LQ=m(()=>{bf();GQ();UQ={_maskEffect:null,_maskOptions:{inverse:!1},_filterEffect:null,effects:[],_markStructureAsChanged(){let r=this.renderGroup||this.parentRenderGroup;r&&(r.structureDidChange=!0)},addEffect(r){this.effects.indexOf(r)===-1&&(this.effects.push(r),this.effects.sort((t,i)=>t.priority-i.priority),this._markStructureAsChanged(),this._updateIsSimple())},removeEffect(r){let e=this.effects.indexOf(r);e!==-1&&(this.effects.splice(e,1),this._markStructureAsChanged(),this._updateIsSimple())},set mask(r){let e=this._maskEffect;e?.mask!==r&&(e&&(this.removeEffect(e),wf.returnMaskEffect(e),this._maskEffect=null),r!=null&&(this._maskEffect=wf.getMaskEffect(r),this.addEffect(this._maskEffect)))},setMask(r){this._maskOptions={...this._maskOptions,...r},r.mask&&(this.mask=r.mask),this._markStructureAsChanged()},get mask(){return this._maskEffect?.mask},set filters(r){!Array.isArray(r)&&r&&(r=[r]);let e=this._filterEffect||(this._filterEffect=new mi);r=r;let t=r?.length>0,i=e.filters?.length>0,n=t!==i;r=Array.isArray(r)?r.slice(0):r,e.filters=Object.freeze(r),n&&(t?this.addEffect(e):(this.removeEffect(e),e.filters=r??null))},get filters(){return this._filterEffect?.filters},set filterArea(r){this._filterEffect||(this._filterEffect=new mi),this._filterEffect.filterArea=r},get filterArea(){return this._filterEffect?.filterArea}}});var NQ,HQ=m(()=>{Pe();NQ={label:null,get name(){return W(J,"Container.name property has been removed, use Container.label instead"),this.label},set name(r){W(J,"Container.name property has been removed, use Container.label instead"),this.label=r},getChildByName(r,e=!1){return this.getChildByLabel(r,e)},getChildByLabel(r,e=!1){let t=this.children;for(let i=0;i<t.length;i++){let n=t[i];if(n.label===r||r instanceof RegExp&&r.test(n.label))return n}if(e)for(let i=0;i<t.length;i++){let s=t[i].getChildByLabel(r,!0);if(s)return s}return null},getChildrenByLabel(r,e=!1,t=[]){let i=this.children;for(let n=0;n<i.length;n++){let s=i[n];(s.label===r||r instanceof RegExp&&r.test(s.label))&&t.push(s)}if(e)for(let n=0;n<i.length;n++)i[n].getChildrenByLabel(r,!0,t);return t}}});var Qf,ee,st=m(()=>{Mt();Qf=[new j,new j,new j,new j],ee=class r{constructor(e=0,t=0,i=0,n=0){this.type="rectangle",this.x=Number(e),this.y=Number(t),this.width=Number(i),this.height=Number(n)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new r(0,0,0,0)}clone(){return new r(this.x,this.y,this.width,this.height)}copyFromBounds(e){return this.x=e.minX,this.y=e.minY,this.width=e.maxX-e.minX,this.height=e.maxY-e.minY,this}copyFrom(e){return this.x=e.x,this.y=e.y,this.width=e.width,this.height=e.height,this}copyTo(e){return e.copyFrom(this),e}contains(e,t){return this.width<=0||this.height<=0?!1:e>=this.x&&e<this.x+this.width&&t>=this.y&&t<this.y+this.height}strokeContains(e,t,i,n=.5){let{width:s,height:o}=this;if(s<=0||o<=0)return!1;let a=this.x,l=this.y,c=i*(1-n),u=i-c,A=a-c,h=a+s+c,d=l-c,f=l+o+c,g=a+u,p=a+s-u,I=l+u,x=l+o-u;return e>=A&&e<=h&&t>=d&&t<=f&&!(e>g&&e<p&&t>I&&t<x)}intersects(e,t){if(!t){let U=this.x<e.x?e.x:this.x;if((this.right>e.right?e.right:this.right)<=U)return!1;let Y=this.y<e.y?e.y:this.y;return(this.bottom>e.bottom?e.bottom:this.bottom)>Y}let i=this.left,n=this.right,s=this.top,o=this.bottom;if(n<=i||o<=s)return!1;let a=Qf[0].set(e.left,e.top),l=Qf[1].set(e.left,e.bottom),c=Qf[2].set(e.right,e.top),u=Qf[3].set(e.right,e.bottom);if(c.x<=a.x||l.y<=a.y)return!1;let A=Math.sign(t.a*t.d-t.b*t.c);if(A===0||(t.apply(a,a),t.apply(l,l),t.apply(c,c),t.apply(u,u),Math.max(a.x,l.x,c.x,u.x)<=i||Math.min(a.x,l.x,c.x,u.x)>=n||Math.max(a.y,l.y,c.y,u.y)<=s||Math.min(a.y,l.y,c.y,u.y)>=o))return!1;let h=A*(l.y-a.y),d=A*(a.x-l.x),f=h*i+d*s,g=h*n+d*s,p=h*i+d*o,I=h*n+d*o;if(Math.max(f,g,p,I)<=h*a.x+d*a.y||Math.min(f,g,p,I)>=h*u.x+d*u.y)return!1;let x=A*(a.y-c.y),B=A*(c.x-a.x),w=x*i+B*s,D=x*n+B*s,T=x*i+B*o,R=x*n+B*o;return!(Math.max(w,D,T,R)<=x*a.x+B*a.y||Math.min(w,D,T,R)>=x*u.x+B*u.y)}pad(e=0,t=e){return this.x-=e,this.y-=t,this.width+=e*2,this.height+=t*2,this}fit(e){let t=Math.max(this.x,e.x),i=Math.min(this.x+this.width,e.x+e.width),n=Math.max(this.y,e.y),s=Math.min(this.y+this.height,e.y+e.height);return this.x=t,this.width=Math.max(i-t,0),this.y=n,this.height=Math.max(s-n,0),this}ceil(e=1,t=.001){let i=Math.ceil((this.x+this.width-t)*e)/e,n=Math.ceil((this.y+this.height-t)*e)/e;return this.x=Math.floor((this.x+t)*e)/e,this.y=Math.floor((this.y+t)*e)/e,this.width=i-this.x,this.height=n-this.y,this}enlarge(e){let t=Math.min(this.x,e.x),i=Math.max(this.x+this.width,e.x+e.width),n=Math.min(this.y,e.y),s=Math.max(this.y+this.height,e.y+e.height);return this.x=t,this.width=i-t,this.y=n,this.height=s-n,this}getBounds(e){return e||(e=new r),e.copyFrom(this),e}containsRect(e){if(this.width<=0||this.height<=0)return!1;let t=e.x,i=e.y,n=e.x+e.width,s=e.y+e.height;return t>=this.x&&t<this.x+this.width&&i>=this.y&&i<this.y+this.height&&n>=this.x&&n<this.x+this.width&&s>=this.y&&s<this.y+this.height}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}});var WQ,ge,Pt=m(()=>{pe();st();WQ=new O,ge=class r{constructor(e=1/0,t=1/0,i=-1/0,n=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=WQ,this.minX=e,this.minY=t,this.maxX=i,this.maxY=n}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new ee);let e=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(e.x=0,e.y=0,e.width=0,e.height=0):e.copyFromBounds(this),e}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=WQ,this}set(e,t,i,n){this.minX=e,this.minY=t,this.maxX=i,this.maxY=n}addFrame(e,t,i,n,s){s||(s=this.matrix);let o=s.a,a=s.b,l=s.c,c=s.d,u=s.tx,A=s.ty,h=this.minX,d=this.minY,f=this.maxX,g=this.maxY,p=o*e+l*t+u,I=a*e+c*t+A;p<h&&(h=p),I<d&&(d=I),p>f&&(f=p),I>g&&(g=I),p=o*i+l*t+u,I=a*i+c*t+A,p<h&&(h=p),I<d&&(d=I),p>f&&(f=p),I>g&&(g=I),p=o*e+l*n+u,I=a*e+c*n+A,p<h&&(h=p),I<d&&(d=I),p>f&&(f=p),I>g&&(g=I),p=o*i+l*n+u,I=a*i+c*n+A,p<h&&(h=p),I<d&&(d=I),p>f&&(f=p),I>g&&(g=I),this.minX=h,this.minY=d,this.maxX=f,this.maxY=g}addRect(e,t){this.addFrame(e.x,e.y,e.x+e.width,e.y+e.height,t)}addBounds(e,t){this.addFrame(e.minX,e.minY,e.maxX,e.maxY,t)}addBoundsMask(e){this.minX=this.minX>e.minX?this.minX:e.minX,this.minY=this.minY>e.minY?this.minY:e.minY,this.maxX=this.maxX<e.maxX?this.maxX:e.maxX,this.maxY=this.maxY<e.maxY?this.maxY:e.maxY}applyMatrix(e){let t=this.minX,i=this.minY,n=this.maxX,s=this.maxY,{a:o,b:a,c:l,d:c,tx:u,ty:A}=e,h=o*t+l*i+u,d=a*t+c*i+A;this.minX=h,this.minY=d,this.maxX=h,this.maxY=d,h=o*n+l*i+u,d=a*n+c*i+A,this.minX=h<this.minX?h:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=h>this.maxX?h:this.maxX,this.maxY=d>this.maxY?d:this.maxY,h=o*t+l*s+u,d=a*t+c*s+A,this.minX=h<this.minX?h:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=h>this.maxX?h:this.maxX,this.maxY=d>this.maxY?d:this.maxY,h=o*n+l*s+u,d=a*n+c*s+A,this.minX=h<this.minX?h:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=h>this.maxX?h:this.maxX,this.maxY=d>this.maxY?d:this.maxY}fit(e){return this.minX<e.left&&(this.minX=e.left),this.maxX>e.right&&(this.maxX=e.right),this.minY<e.top&&(this.minY=e.top),this.maxY>e.bottom&&(this.maxY=e.bottom),this}fitBounds(e,t,i,n){return this.minX<e&&(this.minX=e),this.maxX>t&&(this.maxX=t),this.minY<i&&(this.minY=i),this.maxY>n&&(this.maxY=n),this}pad(e,t=e){return this.minX-=e,this.maxX+=e,this.minY-=t,this.maxY+=t,this}ceil(){return this.minX=Math.floor(this.minX),this.minY=Math.floor(this.minY),this.maxX=Math.ceil(this.maxX),this.maxY=Math.ceil(this.maxY),this}clone(){return new r(this.minX,this.minY,this.maxX,this.maxY)}scale(e,t=e){return this.minX*=e,this.minY*=t,this.maxX*=e,this.maxY*=t,this}get x(){return this.minX}set x(e){let t=this.maxX-this.minX;this.minX=e,this.maxX=e+t}get y(){return this.minY}set y(e){let t=this.maxY-this.minY;this.minY=e,this.maxY=e+t}get width(){return this.maxX-this.minX}set width(e){this.maxX=this.minX+e}get height(){return this.maxY-this.minY}set height(e){this.maxY=this.minY+e}get left(){return this.minX}get right(){return this.maxX}get top(){return this.minY}get bottom(){return this.maxY}get isPositive(){return this.maxX-this.minX>0&&this.maxY-this.minY>0}get isValid(){return this.minX+this.minY!==1/0}addVertexData(e,t,i,n){let s=this.minX,o=this.minY,a=this.maxX,l=this.maxY;n||(n=this.matrix);let c=n.a,u=n.b,A=n.c,h=n.d,d=n.tx,f=n.ty;for(let g=t;g<i;g+=2){let p=e[g],I=e[g+1],x=c*p+A*I+d,B=u*p+h*I+f;s=x<s?x:s,o=B<o?B:o,a=x>a?x:a,l=B>l?B:l}this.minX=s,this.minY=o,this.maxX=a,this.maxY=l}containsPoint(e,t){return this.minX<=e&&this.minY<=t&&this.maxX>=e&&this.maxY>=t}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}copyFrom(e){return this.minX=e.minX,this.minY=e.minY,this.maxX=e.maxX,this.maxY=e.maxY,this}}});var rt,$t,Jn=m(()=>{pe();fE();Pt();rt=new Xn(O),$t=new Xn(ge)});var IZ,qQ,jQ=m(()=>{pe();Pt();Jn();IZ=new O,qQ={getFastGlobalBounds(r,e){e||(e=new ge),e.clear(),this._getGlobalBoundsRecursive(!!r,e,this.parentRenderLayer),e.isValid||e.set(0,0,0,0);let t=this.renderGroup||this.parentRenderGroup;return e.applyMatrix(t.worldTransform),e},_getGlobalBoundsRecursive(r,e,t){let i=e;if(r&&this.parentRenderLayer&&this.parentRenderLayer!==t||this.localDisplayStatus!==7||!this.measurable)return;let n=!!this.effects.length;if((this.renderGroup||n)&&(i=$t.get().clear()),this.boundsArea)e.addRect(this.boundsArea,this.worldTransform);else{if(this.renderPipeId){let o=this.bounds;i.addFrame(o.minX,o.minY,o.maxX,o.maxY,this.groupTransform)}let s=this.children;for(let o=0;o<s.length;o++)s[o]._getGlobalBoundsRecursive(r,i,t)}if(n){let s=!1,o=this.renderGroup||this.parentRenderGroup;for(let a=0;a<this.effects.length;a++)this.effects[a].addBounds&&(s||(s=!0,i.applyMatrix(o.worldTransform)),this.effects[a].addBounds(i,!0));s&&(i.applyMatrix(o.worldTransform.copyTo(IZ).invert()),e.addBounds(i,this.relativeGroupTransform)),e.addBounds(i),$t.return(i)}else this.renderGroup&&(e.addBounds(i,this.relativeGroupTransform),$t.return(i))}}});function vo(r,e,t){t.clear();let i,n;return r.parent?e?i=r.parent.worldTransform:(n=rt.get().identity(),i=Sf(r,n)):i=O.IDENTITY,VQ(r,t,i,e),n&&rt.return(n),t.isValid||t.set(0,0,0,0),t}function VQ(r,e,t,i){if(!r.visible||!r.measurable)return;let n;i?n=r.worldTransform:(r.updateLocalTransform(),n=rt.get(),n.appendFrom(r.localTransform,t));let s=e,o=!!r.effects.length;if(o&&(e=$t.get().clear()),r.boundsArea)e.addRect(r.boundsArea,n);else{r.bounds&&(e.matrix=n,e.addBounds(r.bounds));for(let a=0;a<r.children.length;a++)VQ(r.children[a],e,n,i)}if(o){for(let a=0;a<r.effects.length;a++)r.effects[a].addBounds?.(e);s.addBounds(e,O.IDENTITY),$t.return(e)}i||rt.return(n)}function Sf(r,e){let t=r.parent;return t&&(Sf(t,e),t.updateLocalTransform(),e.append(t.localTransform)),e}var du=m(()=>{pe();Jn()});function Tf(r,e){if(r===16777215||!e)return e;if(e===16777215||!r)return r;let t=r>>16&255,i=r>>8&255,n=r&255,s=e>>16&255,o=e>>8&255,a=e&255,l=t*s/255|0,c=i*o/255|0,u=n*a/255|0;return(l<<16)+(c<<8)+u}var mE=m(()=>{"use strict"});function xo(r,e){return r===YQ?e:e===YQ?r:Tf(r,e)}var YQ,yE=m(()=>{mE();YQ=16777215});function fu(r){return((r&255)<<16)+(r&65280)+(r>>16&255)}var KQ,zQ=m(()=>{du();Jn();yE();KQ={getGlobalAlpha(r){if(r)return this.renderGroup?this.renderGroup.worldAlpha:this.parentRenderGroup?this.parentRenderGroup.worldAlpha*this.alpha:this.alpha;let e=this.alpha,t=this.parent;for(;t;)e*=t.alpha,t=t.parent;return e},getGlobalTransform(r,e){if(e)return r.copyFrom(this.worldTransform);this.updateLocalTransform();let t=Sf(this,rt.get().identity());return r.appendFrom(this.localTransform,t),rt.return(t),r},getGlobalTint(r){if(r)return this.renderGroup?fu(this.renderGroup.worldColor):this.parentRenderGroup?fu(xo(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let e=this.localColor,t=this.parent;for(;t;)e=xo(e,t.localColor),t=t.parent;return fu(e)}}});function q(...r){EE!==XQ&&(EE++,EE===XQ?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...r))}var EE,XQ,Be=m(()=>{"use strict";EE=0,XQ=500});function Bo(r,e,t){return e.clear(),t||(t=O.IDENTITY),JQ(r,e,t,r,!0),e.isValid||e.set(0,0,0,0),e}function JQ(r,e,t,i,n){let s;if(n)s=rt.get(),s=t.copyTo(s);else{if(!r.visible||!r.measurable)return;r.updateLocalTransform();let l=r.localTransform;s=rt.get(),s.appendFrom(l,t)}let o=e,a=!!r.effects.length;if(a&&(e=$t.get().clear()),r.boundsArea)e.addRect(r.boundsArea,s);else{r.renderPipeId&&(e.matrix=s,e.addBounds(r.bounds));let l=r.children;for(let c=0;c<l.length;c++)JQ(l[c],e,s,i,!1)}if(a){for(let l=0;l<r.effects.length;l++)r.effects[l].addLocalBounds?.(e,i);o.addBounds(e,O.IDENTITY),$t.return(e)}rt.return(s)}var Mf=m(()=>{pe();Jn()});function _E(r,e){let t=r.children;for(let i=0;i<t.length;i++){let n=t[i],s=n.uid,o=(n._didViewChangeTick&65535)<<16|n._didContainerChangeTick&65535,a=e.index;(e.data[a]!==s||e.data[a+1]!==o)&&(e.data[e.index]=s,e.data[e.index+1]=o,e.didChange=!0),e.index=a+2,n.children.length&&_E(n,e)}return e.didChange}var ZQ=m(()=>{"use strict"});var vZ,$Q,eS=m(()=>{pe();Pt();du();Mf();ZQ();vZ=new O,$Q={_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(r,e){let t=Math.sign(this.scale.x)||1;e!==0?this.scale.x=r/e*t:this.scale.x=t},_setHeight(r,e){let t=Math.sign(this.scale.y)||1;e!==0?this.scale.y=r/e*t:this.scale.y=t},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:!1,localBounds:new ge});let r=this._localBoundsCacheData;return r.index=1,r.didChange=!1,r.data[0]!==this._didViewChangeTick&&(r.didChange=!0,r.data[0]=this._didViewChangeTick),_E(this,r),r.didChange&&Bo(this,r.localBounds,vZ),r.localBounds},getBounds(r,e){return vo(this,r,e||new ge)}}});var tS,rS=m(()=>{"use strict";tS={_onRender:null,set onRender(r){let e=this.renderGroup||this.parentRenderGroup;if(!r){this._onRender&&e?.removeOnRender(this),this._onRender=null;return}this._onRender||e?.addOnRender(this),this._onRender=r},get onRender(){return this._onRender}}});function xZ(r,e){return r._zIndex-e._zIndex}var iS,nS=m(()=>{"use strict";iS={_zIndex:0,sortDirty:!1,sortableChildren:!1,get zIndex(){return this._zIndex},set zIndex(r){this._zIndex!==r&&(this._zIndex=r,this.depthOfChildModified())},depthOfChildModified(){this.parent&&(this.parent.sortableChildren=!0,this.parent.sortDirty=!0),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0)},sortChildren(){this.sortDirty&&(this.sortDirty=!1,this.children.sort(xZ))}}});var sS,oS=m(()=>{Mt();Jn();sS={getGlobalPosition(r=new j,e=!1){return this.parent?this.parent.toGlobal(this._position,r,e):(r.x=this._position.x,r.y=this._position.y),r},toGlobal(r,e,t=!1){let i=this.getGlobalTransform(rt.get(),t);return e=i.apply(r,e),rt.return(i),e},toLocal(r,e,t,i){e&&(r=e.toGlobal(r,t,i));let n=this.getGlobalTransform(rt.get(),i);return t=n.applyInverse(r,t),rt.return(n),t}}});var Co,IE=m(()=>{gt();Co=class{constructor(){this.uid=fe("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0}reset(){this.instructionSize=0}add(e){this.instructions[this.instructionSize++]=e}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"])}}});function yi(r){return r+=r===0?1:0,--r,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r+1}function vE(r){return!(r&r-1)&&!!r}var pu=m(()=>{"use strict"});function Pf(r){let e={};for(let t in r)r[t]!==void 0&&(e[t]=r[t]);return e}var xE=m(()=>{"use strict"});function BZ(r){let e=aS[r];return e===void 0&&(aS[r]=fe("resource")),e}var aS,uS,Df,BE=m(()=>{xt();gt();Pe();aS=Object.create(null);uS=class lS extends Me{constructor(e={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,e={...lS.defaultOptions,...e},this.addressMode=e.addressMode,this.addressModeU=e.addressModeU??this.addressModeU,this.addressModeV=e.addressModeV??this.addressModeV,this.addressModeW=e.addressModeW??this.addressModeW,this.scaleMode=e.scaleMode,this.magFilter=e.magFilter??this.magFilter,this.minFilter=e.minFilter??this.minFilter,this.mipmapFilter=e.mipmapFilter??this.mipmapFilter,this.lodMinClamp=e.lodMinClamp,this.lodMaxClamp=e.lodMaxClamp,this.compare=e.compare,this.maxAnisotropy=e.maxAnisotropy??1}set addressMode(e){this.addressModeU=e,this.addressModeV=e,this.addressModeW=e}get addressMode(){return this.addressModeU}set wrapMode(e){W(J,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=e}get wrapMode(){return this.addressMode}set scaleMode(e){this.magFilter=e,this.minFilter=e,this.mipmapFilter=e}get scaleMode(){return this.magFilter}set maxAnisotropy(e){this._maxAnisotropy=Math.min(e,16),this._maxAnisotropy>1&&(this.scaleMode="linear")}get maxAnisotropy(){return this._maxAnisotropy}get _resourceId(){return this._sharedResourceId||this._generateResourceId()}update(){this.emit("change",this),this._sharedResourceId=null}_generateResourceId(){let e=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=BZ(e),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};uS.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};Df=uS});var cS,Ie,qt=m(()=>{xt();pu();xE();gt();BE();cS=class AS extends Me{constructor(e={}){super(),this.options=e,this.uid=fe("textureSource"),this._resourceType="textureSource",this._resourceId=fe("resource"),this.uploadMethodId="unknown",this._resolution=1,this.pixelWidth=1,this.pixelHeight=1,this.width=1,this.height=1,this.sampleCount=1,this.mipLevelCount=1,this.autoGenerateMipmaps=!1,this.format="rgba8unorm",this.dimension="2d",this.antialias=!1,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,e={...AS.defaultOptions,...e},this.label=e.label??"",this.resource=e.resource,this.autoGarbageCollect=e.autoGarbageCollect,this._resolution=e.resolution,e.width?this.pixelWidth=e.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,e.height?this.pixelHeight=e.height*this._resolution:this.pixelHeight=this.resource?this.resourceHeight??1:1,this.width=this.pixelWidth/this._resolution,this.height=this.pixelHeight/this._resolution,this.format=e.format,this.dimension=e.dimensions,this.mipLevelCount=e.mipLevelCount,this.autoGenerateMipmaps=e.autoGenerateMipmaps,this.sampleCount=e.sampleCount,this.antialias=e.antialias,this.alphaMode=e.alphaMode,this.style=new Df(Pf(e)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(e){this.style!==e&&(this._style?.off("change",this._onStyleChange,this),this._style=e,this._style?.on("change",this._onStyleChange,this),this._onStyleChange())}get addressMode(){return this._style.addressMode}set addressMode(e){this._style.addressMode=e}get repeatMode(){return this._style.addressMode}set repeatMode(e){this._style.addressMode=e}get magFilter(){return this._style.magFilter}set magFilter(e){this._style.magFilter=e}get minFilter(){return this._style.minFilter}set minFilter(e){this._style.minFilter=e}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(e){this._style.mipmapFilter=e}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(e){this._style.lodMinClamp=e}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(e){this._style.lodMaxClamp=e}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){let e=this._resolution;if(this.resize(this.resourceWidth/e,this.resourceHeight/e))return}this.emit("update",this)}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this._style&&(this._style.destroy(),this._style=null),this.uploadMethodId=null,this.resource=null,this.removeAllListeners()}unload(){this._resourceId=fe("resource"),this.emit("change",this),this.emit("unload",this)}get resourceWidth(){let{resource:e}=this;return e.naturalWidth||e.videoWidth||e.displayWidth||e.width}get resourceHeight(){let{resource:e}=this;return e.naturalHeight||e.videoHeight||e.displayHeight||e.height}get resolution(){return this._resolution}set resolution(e){this._resolution!==e&&(this._resolution=e,this.width=this.pixelWidth/e,this.height=this.pixelHeight/e)}resize(e,t,i){i||(i=this._resolution),e||(e=this.width),t||(t=this.height);let n=Math.round(e*i),s=Math.round(t*i);return this.width=n/i,this.height=s/i,this._resolution=i,this.pixelWidth===n&&this.pixelHeight===s?!1:(this._refreshPOT(),this.pixelWidth=n,this.pixelHeight=s,this.emit("resize",this),this._resourceId=fe("resource"),this.emit("change",this),!0)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this)}set wrapMode(e){this._style.wrapMode=e}get wrapMode(){return this._style.wrapMode}set scaleMode(e){this._style.scaleMode=e}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=vE(this.pixelWidth)&&vE(this.pixelHeight)}static test(e){throw new Error("Unimplemented")}};cS.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};Ie=cS});function CZ(){for(let r=0;r<16;r++){let e=[];CE.push(e);for(let t=0;t<16;t++){let i=Rf(Zn[r]*Zn[t]+es[r]*$n[t]),n=Rf($n[r]*Zn[t]+ts[r]*$n[t]),s=Rf(Zn[r]*es[t]+es[r]*ts[t]),o=Rf($n[r]*es[t]+ts[r]*ts[t]);for(let a=0;a<16;a++)if(Zn[a]===i&&$n[a]===n&&es[a]===s&&ts[a]===o){e.push(a);break}}}for(let r=0;r<16;r++){let e=new O;e.set(Zn[r],$n[r],es[r],ts[r],0,0),hS.push(e)}}var Zn,$n,es,ts,CE,hS,Rf,qe,dS=m(()=>{pe();Zn=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],$n=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],es=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],ts=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],CE=[],hS=[],Rf=Math.sign;CZ();qe={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:r=>Zn[r],uY:r=>$n[r],vX:r=>es[r],vY:r=>ts[r],inv:r=>r&8?r&15:-r&7,add:(r,e)=>CE[r][e],sub:(r,e)=>CE[r][qe.inv(e)],rotate180:r=>r^4,isVertical:r=>(r&3)===2,byDirection:(r,e)=>Math.abs(r)*2<=Math.abs(e)?e>=0?qe.S:qe.N:Math.abs(e)*2<=Math.abs(r)?r>0?qe.E:qe.W:e>0?r>0?qe.SE:qe.SW:r>0?qe.NE:qe.NW,matrixAppendRotationInv:(r,e,t=0,i=0)=>{let n=hS[qe.inv(e)];n.tx=t,n.ty=i,r.append(n)}}});var bE,fS=m(()=>{"use strict";bE=()=>{}});var rs,wE=m(()=>{M();qt();rs=class extends Ie{constructor(e){let t=e.resource||new Float32Array(e.width*e.height*4),i=e.format;i||(t instanceof Float32Array?i="rgba32float":t instanceof Int32Array||t instanceof Uint32Array?i="rgba32uint":t instanceof Int16Array||t instanceof Uint16Array?i="rgba16uint":(t instanceof Int8Array,i="bgra8unorm")),super({...e,resource:t,format:i}),this.uploadMethodId="buffer"}static test(e){return e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array}};rs.extension=v.TextureSource});var pS,bo,QE=m(()=>{pe();pS=new O,bo=class{constructor(e,t){this.mapCoord=new O,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof t>"u"?this.clampMargin=e.width<10?0:.5:this.clampMargin=t,this.isSimple=!1,this.texture=e}get texture(){return this._texture}set texture(e){this.texture!==e&&(this._texture?.removeListener("update",this.update,this),this._texture=e,this._texture.addListener("update",this.update,this),this.update())}multiplyUvs(e,t){t===void 0&&(t=e);let i=this.mapCoord;for(let n=0;n<e.length;n+=2){let s=e[n],o=e[n+1];t[n]=s*i.a+o*i.c+i.tx,t[n+1]=s*i.b+o*i.d+i.ty}return t}update(){let e=this._texture;this._updateID++;let t=e.uvs;this.mapCoord.set(t.x1-t.x0,t.y1-t.y0,t.x3-t.x0,t.y3-t.y0,t.x0,t.y0);let i=e.orig,n=e.trim;n&&(pS.set(i.width/n.width,0,0,i.height/n.height,-n.x/n.width,-n.y/n.height),this.mapCoord.append(pS));let s=e.source,o=this.uClampFrame,a=this.clampMargin/s._resolution,l=this.clampOffset/s._resolution;return o[0]=(e.frame.x+a+l)/s.width,o[1]=(e.frame.y+a+l)/s.height,o[2]=(e.frame.x+e.frame.width-a+l)/s.width,o[3]=(e.frame.y+e.frame.height-a+l)/s.height,this.uClampOffset[0]=this.clampOffset/s.pixelWidth,this.uClampOffset[1]=this.clampOffset/s.pixelHeight,this.isSimple=e.frame.width===s.width&&e.frame.height===s.height&&e.rotate===0,!0}}});var F,me=m(()=>{xt();dS();st();gt();Pe();fS();wE();qt();QE();F=class extends Me{constructor({source:e,label:t,frame:i,orig:n,trim:s,defaultAnchor:o,defaultBorders:a,rotate:l,dynamic:c}={}){if(super(),this.uid=fe("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new ee,this.noFrame=!1,this.dynamic=!1,this.isTexture=!0,this.label=t,this.source=e?.source??new Ie,this.noFrame=!i,i)this.frame.copyFrom(i);else{let{width:u,height:A}=this._source;this.frame.width=u,this.frame.height=A}this.orig=n||this.frame,this.trim=s,this.rotate=l??0,this.defaultAnchor=o,this.defaultBorders=a,this.destroyed=!1,this.dynamic=c||!1,this.updateUvs()}set source(e){this._source&&this._source.off("resize",this.update,this),this._source=e,e.on("resize",this.update,this),this.emit("update",this)}get source(){return this._source}get textureMatrix(){return this._textureMatrix||(this._textureMatrix=new bo(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:e,frame:t}=this,{width:i,height:n}=this._source,s=t.x/i,o=t.y/n,a=t.width/i,l=t.height/n,c=this.rotate;if(c){let u=a/2,A=l/2,h=s+u,d=o+A;c=qe.add(c,qe.NW),e.x0=h+u*qe.uX(c),e.y0=d+A*qe.uY(c),c=qe.add(c,2),e.x1=h+u*qe.uX(c),e.y1=d+A*qe.uY(c),c=qe.add(c,2),e.x2=h+u*qe.uX(c),e.y2=d+A*qe.uY(c),c=qe.add(c,2),e.x3=h+u*qe.uX(c),e.y3=d+A*qe.uY(c)}else e.x0=s,e.y0=o,e.x1=s+a,e.y1=o,e.x2=s+a,e.y2=o+l,e.x3=s,e.y3=o+l}destroy(e=!1){this._source&&e&&(this._source.destroy(),this._source=null),this._textureMatrix=null,this.destroyed=!0,this.emit("destroy",this),this.removeAllListeners()}update(){this.noFrame&&(this.frame.width=this._source.width,this.frame.height=this._source.height),this.updateUvs(),this.emit("update",this)}get baseTexture(){return W(J,"Texture.baseTexture is now Texture.source"),this._source}};F.EMPTY=new F({label:"EMPTY",source:new Ie({label:"EMPTY"})});F.EMPTY.destroy=bE;F.WHITE=new F({source:new rs({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});F.WHITE.destroy=bE});var bZ,SE,Se,Hr=m(()=>{pu();qt();me();bZ=0,SE=class{constructor(e){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=e||{},this.enableFullScreen=!1}createTexture(e,t,i){let n=new Ie({...this.textureOptions,width:e,height:t,resolution:1,antialias:i,autoGarbageCollect:!1});return new F({source:n,label:`texturePool_${bZ++}`})}getOptimalTexture(e,t,i=1,n){let s=Math.ceil(e*i-1e-6),o=Math.ceil(t*i-1e-6);s=yi(s),o=yi(o);let a=(s<<17)+(o<<1)+(n?1:0);this._texturePool[a]||(this._texturePool[a]=[]);let l=this._texturePool[a].pop();return l||(l=this.createTexture(s,o,n)),l.source._resolution=i,l.source.width=s/i,l.source.height=o/i,l.source.pixelWidth=s,l.source.pixelHeight=o,l.frame.x=0,l.frame.y=0,l.frame.width=e,l.frame.height=t,l.updateUvs(),this._poolKeyHash[l.uid]=a,l}getSameSizeTexture(e,t=!1){let i=e.source;return this.getOptimalTexture(e.width,e.height,i._resolution,t)}returnTexture(e){let t=this._poolKeyHash[e.uid];this._texturePool[t].push(e)}clear(e){if(e=e!==!1,e)for(let t in this._texturePool){let i=this._texturePool[t];if(i)for(let n=0;n<i.length;n++)i[n].destroy(!0)}this._texturePool={}}},Se=new SE});var Ff,gS=m(()=>{pe();IE();Hr();Ff=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=!1,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new O,this.worldColorAlpha=4294967295,this.worldColor=16777215,this.worldAlpha=1,this.childrenToUpdate=Object.create(null),this.updateTick=0,this.gcTick=0,this.childrenRenderablesToUpdate={list:[],index:0},this.structureDidChange=!0,this.instructionSet=new Co,this._onRenderContainers=[],this.textureNeedsUpdate=!0,this.isCachedAsTexture=!1,this._matrixDirty=7}init(e){this.root=e,e._onRender&&this.addOnRender(e),e.didChange=!0;let t=e.children;for(let i=0;i<t.length;i++){let n=t[i];n._updateFlags=15,this.addChild(n)}}enableCacheAsTexture(e={}){this.textureOptions=e,this.isCachedAsTexture=!0,this.textureNeedsUpdate=!0}disableCacheAsTexture(){this.isCachedAsTexture=!1,this.texture&&(Se.returnTexture(this.texture),this.texture=null)}updateCacheTexture(){this.textureNeedsUpdate=!0}reset(){this.renderGroupChildren.length=0;for(let e in this.childrenToUpdate){let t=this.childrenToUpdate[e];t.list.fill(null),t.index=0}this.childrenRenderablesToUpdate.index=0,this.childrenRenderablesToUpdate.list.fill(null),this.root=null,this.updateTick=0,this.structureDidChange=!0,this._onRenderContainers.length=0,this.renderGroupParent=null,this.disableCacheAsTexture()}get localTransform(){return this.root.localTransform}addRenderGroupChild(e){e.renderGroupParent&&e.renderGroupParent._removeRenderGroupChild(e),e.renderGroupParent=this,this.renderGroupChildren.push(e)}_removeRenderGroupChild(e){let t=this.renderGroupChildren.indexOf(e);t>-1&&this.renderGroupChildren.splice(t,1),e.renderGroupParent=null}addChild(e){if(this.structureDidChange=!0,e.parentRenderGroup=this,e.updateTick=-1,e.parent===this.root?e.relativeRenderGroupDepth=1:e.relativeRenderGroupDepth=e.parent.relativeRenderGroupDepth+1,e.didChange=!0,this.onChildUpdate(e),e.renderGroup){this.addRenderGroupChild(e.renderGroup);return}e._onRender&&this.addOnRender(e);let t=e.children;for(let i=0;i<t.length;i++)this.addChild(t[i])}removeChild(e){if(this.structureDidChange=!0,e._onRender&&(e.renderGroup||this.removeOnRender(e)),e.parentRenderGroup=null,e.renderGroup){this._removeRenderGroupChild(e.renderGroup);return}let t=e.children;for(let i=0;i<t.length;i++)this.removeChild(t[i])}removeChildren(e){for(let t=0;t<e.length;t++)this.removeChild(e[t])}onChildUpdate(e){let t=this.childrenToUpdate[e.relativeRenderGroupDepth];t||(t=this.childrenToUpdate[e.relativeRenderGroupDepth]={index:0,list:[]}),t.list[t.index++]=e}updateRenderable(e){e.globalDisplayStatus<7||(this.instructionSet.renderPipes[e.renderPipeId].updateRenderable(e),e.didViewUpdate=!1)}onChildViewUpdate(e){this.childrenRenderablesToUpdate.list[this.childrenRenderablesToUpdate.index++]=e}get isRenderable(){return this.root.localDisplayStatus===7&&this.worldAlpha>0}addOnRender(e){this._onRenderContainers.push(e)}removeOnRender(e){this._onRenderContainers.splice(this._onRenderContainers.indexOf(e),1)}runOnRender(e){for(let t=0;t<this._onRenderContainers.length;t++)this._onRenderContainers[t]._onRender(e)}destroy(){this.disableCacheAsTexture(),this.renderGroupParent=null,this.root=null,this.childrenRenderablesToUpdate=null,this.childrenToUpdate=null,this.renderGroupChildren=null,this._onRenderContainers=null,this.instructionSet=null}getChildren(e=[]){let t=this.root.children;for(let i=0;i<t.length;i++)this._getChildren(t[i],e);return e}_getChildren(e,t=[]){if(t.push(e),e.renderGroup)return t;let i=e.children;for(let n=0;n<i.length;n++)this._getChildren(i[n],t);return t}invalidateMatrices(){this._matrixDirty=7}get inverseWorldTransform(){return this._matrixDirty&1?(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new O),this._inverseWorldTransform.copyFrom(this.worldTransform).invert()):this._inverseWorldTransform}get textureOffsetInverseTransform(){return this._matrixDirty&2?(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new O),this._textureOffsetInverseTransform.copyFrom(this.inverseWorldTransform).translate(-this._textureBounds.x,-this._textureBounds.y)):this._textureOffsetInverseTransform}get inverseParentTextureTransform(){if(!(this._matrixDirty&4))return this._inverseParentTextureTransform;this._matrixDirty&=-5;let e=this._parentCacheAsTextureRenderGroup;return e?(this._inverseParentTextureTransform||(this._inverseParentTextureTransform=new O),this._inverseParentTextureTransform.copyFrom(this.worldTransform).prepend(e.inverseWorldTransform).translate(-e._textureBounds.x,-e._textureBounds.y)):this.worldTransform}get cacheToLocalTransform(){return this._parentCacheAsTextureRenderGroup?this._parentCacheAsTextureRenderGroup.textureOffsetInverseTransform:null}}});function mS(r,e,t={}){for(let i in e)!t[i]&&e[i]!==void 0&&(r[i]=e[i])}var yS=m(()=>{"use strict"});var TE,ME,PE,wo,gu,is,Ae,Br=m(()=>{xt();pt();bQ();M();pe();AE();hn();gt();Pe();Bt();DQ();FQ();OQ();LQ();HQ();jQ();zQ();eS();rS();nS();oS();gS();yS();TE=new Qe(null),ME=new Qe(null),PE=new Qe(null,1,1),wo=1,gu=2,is=4,Ae=class r extends Me{constructor(e={}){super(),this.uid=fe("renderable"),this._updateFlags=15,this.renderGroup=null,this.parentRenderGroup=null,this.parentRenderGroupIndex=0,this.didChange=!1,this.didViewUpdate=!1,this.relativeRenderGroupDepth=0,this.children=[],this.parent=null,this.includeInBuild=!0,this.measurable=!0,this.isSimple=!0,this.updateTick=-1,this.localTransform=new O,this.relativeGroupTransform=new O,this.groupTransform=this.relativeGroupTransform,this.destroyed=!1,this._position=new Qe(this,0,0),this._scale=PE,this._pivot=ME,this._skew=TE,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._rotation=0,this.localColor=16777215,this.localAlpha=1,this.groupAlpha=1,this.groupColor=16777215,this.groupColorAlpha=4294967295,this.localBlendMode="inherit",this.groupBlendMode="normal",this.localDisplayStatus=7,this.globalDisplayStatus=7,this._didContainerChangeTick=0,this._didViewChangeTick=0,this._didLocalTransformChangeId=-1,this.effects=[],mS(this,e,{children:!0,parent:!0,effects:!0}),e.children?.forEach(t=>this.addChild(t)),e.parent?.addChild(this)}static mixin(e){W("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),N.mixin(r,e)}set _didChangeId(e){this._didViewChangeTick=e>>12&4095,this._didContainerChangeTick=e&4095}get _didChangeId(){return this._didContainerChangeTick&4095|(this._didViewChangeTick&4095)<<12}addChild(...e){if(this.allowChildren||W(J,"addChild: Only Containers will be allowed to add children in v8.0.0"),e.length>1){for(let n=0;n<e.length;n++)this.addChild(e[n]);return e[0]}let t=e[0],i=this.renderGroup||this.parentRenderGroup;return t.parent===this?(this.children.splice(this.children.indexOf(t),1),this.children.push(t),i&&(i.structureDidChange=!0),t):(t.parent&&t.parent.removeChild(t),this.children.push(t),this.sortableChildren&&(this.sortDirty=!0),t.parent=this,t.didChange=!0,t._updateFlags=15,i&&i.addChild(t),this.emit("childAdded",t,this,this.children.length-1),t.emit("added",this),this._didViewChangeTick++,t._zIndex!==0&&t.depthOfChildModified(),t)}removeChild(...e){if(e.length>1){for(let n=0;n<e.length;n++)this.removeChild(e[n]);return e[0]}let t=e[0],i=this.children.indexOf(t);return i>-1&&(this._didViewChangeTick++,this.children.splice(i,1),this.renderGroup?this.renderGroup.removeChild(t):this.parentRenderGroup&&this.parentRenderGroup.removeChild(t),t.parentRenderLayer&&t.parentRenderLayer.detach(t),t.parent=null,this.emit("childRemoved",t,this,i),t.emit("removed",this)),t}_onUpdate(e){e&&e===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=!0,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this))}set isRenderGroup(e){!!this.renderGroup!==e&&(e?this.enableRenderGroup():this.disableRenderGroup())}get isRenderGroup(){return!!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;let e=this.parentRenderGroup;e?.removeChild(this),this.renderGroup=re.get(Ff,this),this.groupTransform=O.IDENTITY,e?.addChild(this),this._updateIsSimple()}disableRenderGroup(){if(!this.renderGroup)return;let e=this.parentRenderGroup;e?.removeChild(this),re.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,e?.addChild(this),this._updateIsSimple()}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0}get worldTransform(){return this._worldTransform||(this._worldTransform=new O),this.renderGroup?this._worldTransform.copyFrom(this.renderGroup.worldTransform):this.parentRenderGroup&&this._worldTransform.appendFrom(this.relativeGroupTransform,this.parentRenderGroup.worldTransform),this._worldTransform}get x(){return this._position.x}set x(e){this._position.x=e}get y(){return this._position.y}set y(e){this._position.y=e}get position(){return this._position}set position(e){this._position.copyFrom(e)}get rotation(){return this._rotation}set rotation(e){this._rotation!==e&&(this._rotation=e,this._onUpdate(this._skew))}get angle(){return this.rotation*QQ}set angle(e){this.rotation=e*SQ}get pivot(){return this._pivot===ME&&(this._pivot=new Qe(this,0,0)),this._pivot}set pivot(e){this._pivot===ME&&(this._pivot=new Qe(this,0,0)),typeof e=="number"?this._pivot.set(e):this._pivot.copyFrom(e)}get skew(){return this._skew===TE&&(this._skew=new Qe(this,0,0)),this._skew}set skew(e){this._skew===TE&&(this._skew=new Qe(this,0,0)),this._skew.copyFrom(e)}get scale(){return this._scale===PE&&(this._scale=new Qe(this,1,1)),this._scale}set scale(e){this._scale===PE&&(this._scale=new Qe(this,0,0)),typeof e=="number"?this._scale.set(e):this._scale.copyFrom(e)}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(e){let t=this.getLocalBounds().width;this._setWidth(e,t)}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(e){let t=this.getLocalBounds().height;this._setHeight(e,t)}getSize(e){e||(e={});let t=this.getLocalBounds();return e.width=Math.abs(this.scale.x*t.width),e.height=Math.abs(this.scale.y*t.height),e}setSize(e,t){let i=this.getLocalBounds();typeof e=="object"?(t=e.height??e.width,e=e.width):t??(t=e),e!==void 0&&this._setWidth(e,i.width),t!==void 0&&this._setHeight(t,i.height)}_updateSkew(){let e=this._rotation,t=this._skew;this._cx=Math.cos(e+t._y),this._sx=Math.sin(e+t._y),this._cy=-Math.sin(e-t._x),this._sy=Math.cos(e-t._x)}updateTransform(e){return this.position.set(typeof e.x=="number"?e.x:this.position.x,typeof e.y=="number"?e.y:this.position.y),this.scale.set(typeof e.scaleX=="number"?e.scaleX||1:this.scale.x,typeof e.scaleY=="number"?e.scaleY||1:this.scale.y),this.rotation=typeof e.rotation=="number"?e.rotation:this.rotation,this.skew.set(typeof e.skewX=="number"?e.skewX:this.skew.x,typeof e.skewY=="number"?e.skewY:this.skew.y),this.pivot.set(typeof e.pivotX=="number"?e.pivotX:this.pivot.x,typeof e.pivotY=="number"?e.pivotY:this.pivot.y),this}setFromMatrix(e){e.decompose(this)}updateLocalTransform(){let e=this._didContainerChangeTick;if(this._didLocalTransformChangeId===e)return;this._didLocalTransformChangeId=e;let t=this.localTransform,i=this._scale,n=this._pivot,s=this._position,o=i._x,a=i._y,l=n._x,c=n._y;t.a=this._cx*o,t.b=this._sx*o,t.c=this._cy*a,t.d=this._sy*a,t.tx=s._x-(l*t.a+c*t.c),t.ty=s._y-(l*t.b+c*t.d)}set alpha(e){e!==this.localAlpha&&(this.localAlpha=e,this._updateFlags|=wo,this._onUpdate())}get alpha(){return this.localAlpha}set tint(e){let i=le.shared.setValue(e??16777215).toBgrNumber();i!==this.localColor&&(this.localColor=i,this._updateFlags|=wo,this._onUpdate())}get tint(){return fu(this.localColor)}set blendMode(e){this.localBlendMode!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=gu,this.localBlendMode=e,this._onUpdate())}get blendMode(){return this.localBlendMode}get visible(){return!!(this.localDisplayStatus&2)}set visible(e){let t=e?2:0;(this.localDisplayStatus&2)!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=is,this.localDisplayStatus^=2,this._onUpdate())}get culled(){return!(this.localDisplayStatus&4)}set culled(e){let t=e?0:4;(this.localDisplayStatus&4)!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=is,this.localDisplayStatus^=4,this._onUpdate())}get renderable(){return!!(this.localDisplayStatus&1)}set renderable(e){let t=e?1:0;(this.localDisplayStatus&1)!==t&&(this._updateFlags|=is,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._onUpdate())}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(e=!1){if(this.destroyed)return;this.destroyed=!0;let t;if(this.children.length&&(t=this.removeChildren(0,this.children.length)),this.removeFromParent(),this.parent=null,this._maskEffect=null,this._filterEffect=null,this.effects=null,this._position=null,this._scale=null,this._pivot=null,this._skew=null,this.emit("destroyed",this),this.removeAllListeners(),(typeof e=="boolean"?e:e?.children)&&t)for(let n=0;n<t.length;++n)t[n].destroy(e);this.renderGroup?.destroy(),this.renderGroup=null}};N.mixin(Ae,RQ,qQ,sS,tS,$Q,UQ,NQ,iS,CQ,PQ,KQ,kQ)});var dn,kf=m(()=>{Mt();dn=class r{constructor(e){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=r.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new j,this.page=new j,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(e,t,i){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(e,t,i,n,s){throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}stopImmediatePropagation(){this.propagationImmediatelyStopped=!0}stopPropagation(){this.propagationStopped=!0}}});function wZ(r){return function(e){return e.test(r)}}function mu(r){var e={userAgent:"",platform:"",maxTouchPoints:0};!r&&typeof navigator<"u"?e={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof r=="string"?e.userAgent=r:r&&r.userAgent&&(e={userAgent:r.userAgent,platform:r.platform,maxTouchPoints:r.maxTouchPoints||0});var t=e.userAgent,i=t.split("[FBAN");typeof i[1]<"u"&&(t=i[0]),i=t.split("Twitter"),typeof i[1]<"u"&&(t=i[0]);var n=wZ(t),s={apple:{phone:n(DE)&&!n(Ei),ipod:n(ES),tablet:!n(DE)&&(n(_S)||SS(e))&&!n(Ei),universal:n(IS),device:(n(DE)||n(ES)||n(_S)||n(IS)||SS(e))&&!n(Ei)},amazon:{phone:n(Qo),tablet:!n(Qo)&&n(Of),device:n(Qo)||n(Of)},android:{phone:!n(Ei)&&n(Qo)||!n(Ei)&&n(RE),tablet:!n(Ei)&&!n(Qo)&&!n(RE)&&(n(Of)||n(vS)),device:!n(Ei)&&(n(Qo)||n(Of)||n(RE)||n(vS))||n(/\bokhttp\b/i)},windows:{phone:n(Ei),tablet:n(xS),device:n(Ei)||n(xS)},other:{blackberry:n(BS),blackberry10:n(CS),opera:n(bS),firefox:n(QS),chrome:n(wS),device:n(BS)||n(CS)||n(bS)||n(QS)||n(wS)},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}var DE,ES,_S,IS,RE,vS,Qo,Of,Ei,xS,BS,CS,bS,wS,QS,SS,FE=m(()=>{DE=/iPhone/i,ES=/iPod/i,_S=/iPad/i,IS=/\biOS-universal(?:.+)Mac\b/i,RE=/\bAndroid(?:.+)Mobile\b/i,vS=/Android/i,Qo=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,Of=/Silk/i,Ei=/Windows Phone/i,xS=/\bWindows(?:.+)ARM\b/i,BS=/BlackBerry/i,CS=/BB10/i,bS=/Opera Mini/i,wS=/\b(CriOS|Chrome)(?:.+)Mobile/i,QS=/Mobile(?:.+)Firefox\b/i,SS=function(r){return typeof r<"u"&&r.platform==="MacIntel"&&typeof r.maxTouchPoints=="number"&&r.maxTouchPoints>1&&typeof MSStream>"u"}});var TS=m(()=>{FE();FE()});var QZ,MS,PS=m(()=>{TS();QZ=mu.default??mu,MS=QZ(globalThis.navigator)});var SZ,Gf,TZ,MZ,DS,RS,PZ,DZ,RZ,kE,kS,OS=m(()=>{kf();M();PS();pE();SZ=9,Gf=100,TZ=0,MZ=0,DS=2,RS=1,PZ=-1e3,DZ=-1e3,RZ=2,kE=class FS{constructor(e,t=MS){this._mobileInfo=t,this.debug=!1,this._activateOnTab=!0,this._deactivateOnMouseMove=!0,this._isActive=!1,this._isMobileAccessibility=!1,this._div=null,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(t.tablet||t.phone)&&this._createTouchHook(),this._renderer=e}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){let e=document.createElement("button");e.style.width=`${RS}px`,e.style.height=`${RS}px`,e.style.position="absolute",e.style.top=`${PZ}px`,e.style.left=`${DZ}px`,e.style.zIndex=RZ.toString(),e.style.backgroundColor="#FF0000",e.title="select to enable accessibility for this content",e.addEventListener("focus",()=>{this._isMobileAccessibility=!0,this._activate(),this._destroyTouchHook()}),document.body.appendChild(e),this._hookDiv=e}_destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null)}_activate(){if(this._isActive)return;this._isActive=!0,this._div||(this._div=document.createElement("div"),this._div.style.width=`${Gf}px`,this._div.style.height=`${Gf}px`,this._div.style.position="absolute",this._div.style.top=`${TZ}px`,this._div.style.left=`${MZ}px`,this._div.style.zIndex=DS.toString(),this._div.style.pointerEvents="none"),this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,!1)),this._deactivateOnMouseMove&&(this._onMouseMove=this._onMouseMove.bind(this),globalThis.document.addEventListener("mousemove",this._onMouseMove,!0));let e=this._renderer.view.canvas;if(e.parentNode)e.parentNode.appendChild(this._div),this._initAccessibilitySetup();else{let t=new MutationObserver(()=>{e.parentNode&&(e.parentNode.appendChild(this._div),t.disconnect(),this._initAccessibilitySetup())});t.observe(document.body,{childList:!0,subtree:!0})}}_initAccessibilitySetup(){this._renderer.runners.postrender.add(this),this._renderer.lastObjectRendered&&this._updateAccessibleObjects(this._renderer.lastObjectRendered)}_deactivate(){if(!(!this._isActive||this._isMobileAccessibility)){this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),this._activateOnTab&&globalThis.addEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.remove(this);for(let e of this._children)e._accessibleDiv&&e._accessibleDiv.parentNode&&(e._accessibleDiv.parentNode.removeChild(e._accessibleDiv),e._accessibleDiv=null),e._accessibleActive=!1;this._pool.forEach(e=>{e.parentNode&&e.parentNode.removeChild(e)}),this._div&&this._div.parentNode&&this._div.parentNode.removeChild(this._div),this._pool=[],this._children=[]}}_updateAccessibleObjects(e){if(!e.visible||!e.accessibleChildren)return;e.accessible&&(e._accessibleActive||this._addChild(e),e._renderId=this._renderId);let t=e.children;if(t)for(let i=0;i<t.length;i++)this._updateAccessibleObjects(t[i])}init(e){let i={accessibilityOptions:{...FS.defaultOptions,...e?.accessibilityOptions||{}}};this.debug=i.accessibilityOptions.debug,this._activateOnTab=i.accessibilityOptions.activateOnTab,this._deactivateOnMouseMove=i.accessibilityOptions.deactivateOnMouseMove,i.accessibilityOptions.enabledByDefault?this._activate():this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,!1)),this._renderer.runners.postrender.remove(this)}postrender(){let e=performance.now();if(this._mobileInfo.android.device&&e<this._androidUpdateCount||(this._androidUpdateCount=e+this._androidUpdateFrequency,!this._renderer.renderingToScreen||!this._renderer.view.canvas))return;let t=new Set;if(this._renderer.lastObjectRendered){this._updateAccessibleObjects(this._renderer.lastObjectRendered);for(let i of this._children)i._renderId===this._renderId&&t.add(this._children.indexOf(i))}for(let i=this._children.length-1;i>=0;i--){let n=this._children[i];t.has(i)||(n._accessibleDiv&&n._accessibleDiv.parentNode&&(n._accessibleDiv.parentNode.removeChild(n._accessibleDiv),this._pool.push(n._accessibleDiv),n._accessibleDiv=null),n._accessibleActive=!1,Cf(this._children,i,1))}if(this._renderer.renderingToScreen){let{x:i,y:n,width:s,height:o}=this._renderer.screen,a=this._div;a.style.left=`${i}px`,a.style.top=`${n}px`,a.style.width=`${s}px`,a.style.height=`${o}px`}for(let i=0;i<this._children.length;i++){let n=this._children[i];if(!n._accessibleActive||!n._accessibleDiv)continue;let s=n._accessibleDiv,o=n.hitArea||n.getBounds().rectangle;if(n.hitArea){let a=n.worldTransform,l=this._renderer.resolution,c=this._renderer.resolution;s.style.left=`${(a.tx+o.x*a.a)*l}px`,s.style.top=`${(a.ty+o.y*a.d)*c}px`,s.style.width=`${o.width*a.a*l}px`,s.style.height=`${o.height*a.d*c}px`}else{this._capHitArea(o);let a=this._renderer.resolution,l=this._renderer.resolution;s.style.left=`${o.x*a}px`,s.style.top=`${o.y*l}px`,s.style.width=`${o.width*a}px`,s.style.height=`${o.height*l}px`}}this._renderId++}_updateDebugHTML(e){e.innerHTML=`type: ${e.type}</br> title : ${e.title}</br> tabIndex: ${e.tabIndex}`}_capHitArea(e){e.x<0&&(e.width+=e.x,e.x=0),e.y<0&&(e.height+=e.y,e.y=0);let{width:t,height:i}=this._renderer;e.x+e.width>t&&(e.width=t-e.x),e.y+e.height>i&&(e.height=i-e.y)}_addChild(e){let t=this._pool.pop();t||(e.accessibleType==="button"?t=document.createElement("button"):(t=document.createElement(e.accessibleType),t.style.cssText=`
|
|
9
|
+
color: transparent;
|
|
10
|
+
pointer-events: none;
|
|
11
|
+
padding: 0;
|
|
12
|
+
margin: 0;
|
|
13
|
+
border: 0;
|
|
14
|
+
outline: 0;
|
|
15
|
+
background: transparent;
|
|
16
|
+
box-sizing: border-box;
|
|
17
|
+
user-select: none;
|
|
18
|
+
-webkit-user-select: none;
|
|
19
|
+
-moz-user-select: none;
|
|
20
|
+
-ms-user-select: none;
|
|
21
|
+
`,e.accessibleText&&(t.innerText=e.accessibleText)),t.style.width=`${Gf}px`,t.style.height=`${Gf}px`,t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex=DS.toString(),t.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?t.setAttribute("aria-live","off"):t.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?t.setAttribute("aria-relevant","additions"):t.setAttribute("aria-relevant","text"),t.addEventListener("click",this._onClick.bind(this)),t.addEventListener("focus",this._onFocus.bind(this)),t.addEventListener("focusout",this._onFocusOut.bind(this))),t.style.pointerEvents=e.accessiblePointerEvents,t.type=e.accessibleType,e.accessibleTitle&&e.accessibleTitle!==null?t.title=e.accessibleTitle:(!e.accessibleHint||e.accessibleHint===null)&&(t.title=`container ${e.tabIndex}`),e.accessibleHint&&e.accessibleHint!==null&&t.setAttribute("aria-label",e.accessibleHint),this.debug&&this._updateDebugHTML(t),e._accessibleActive=!0,e._accessibleDiv=t,t.container=e,this._children.push(e),this._div.appendChild(e._accessibleDiv),e.interactive&&(e._accessibleDiv.tabIndex=e.tabIndex)}_dispatchEvent(e,t){let{container:i}=e.target,n=this._renderer.events.rootBoundary,s=Object.assign(new dn(n),{target:i});n.rootTarget=this._renderer.lastObjectRendered,t.forEach(o=>n.dispatchEvent(s,o))}_onClick(e){this._dispatchEvent(e,["click","pointertap","tap"])}_onFocus(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","assertive"),this._dispatchEvent(e,["mouseover"])}_onFocusOut(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","polite"),this._dispatchEvent(e,["mouseout"])}_onKeyDown(e){e.keyCode!==SZ||!this._activateOnTab||this._activate()}_onMouseMove(e){e.movementX===0&&e.movementY===0||this._deactivate()}destroy(){this._deactivate(),this._destroyTouchHook(),this._div=null,this._pool=null,this._children=null,this._renderer=null,this._activateOnTab&&globalThis.removeEventListener("keydown",this._onKeyDown)}setAccessibilityEnabled(e){e?this._activate():this._deactivate()}};kE.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"accessibility"};kE.defaultOptions={enabledByDefault:!1,debug:!1,activateOnTab:!0,deactivateOnMouseMove:!0};kS=kE});var GS,US=m(()=>{"use strict";GS={accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:!0,_renderId:-1}});var LS=m(()=>{M();Br();OS();US();N.add(kS);N.mixin(Ae,GS)});var yu,NS=m(()=>{M();yu=class{static init(e){Object.defineProperty(this,"resizeTo",{set(t){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=t,t&&(globalThis.addEventListener("resize",this.queueResize),this.resize())},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()))},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null)},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let t,i;if(this._resizeTo===globalThis.window)t=globalThis.innerWidth,i=globalThis.innerHeight;else{let{clientWidth:n,clientHeight:s}=this._resizeTo;t=n,i=s}this.renderer.resize(t,i),this.render()},this._resizeId=null,this._resizeTo=null,this.resizeTo=e.resizeTo||null}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null}};yu.extension=v.Application});var fn,Uf=m(()=>{"use strict";fn=(r=>(r[r.INTERACTION=50]="INTERACTION",r[r.HIGH=25]="HIGH",r[r.NORMAL=0]="NORMAL",r[r.LOW=-25]="LOW",r[r.UTILITY=-50]="UTILITY",r))(fn||{})});var So,HS=m(()=>{"use strict";So=class{constructor(e,t=null,i=0,n=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=e,this._context=t,this.priority=i,this._once=n}match(e,t=null){return this._fn===e&&this._context===t}emit(e){this._fn&&(this._context?this._fn.call(this._context,e):this._fn(e));let t=this.next;return this._once&&this.destroy(!0),this._destroyed&&(this.next=null),t}connect(e){this.previous=e,e.next&&(e.next.previous=this),this.next=e.next,e.next=this}destroy(e=!1){this._destroyed=!0,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let t=this.next;return this.next=e?null:t,this.previous=null,t}}});var WS,ot,To=m(()=>{Uf();HS();WS=class er{constructor(){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 So(null,null,1/0),this.deltaMS=1/er.targetFPMS,this.elapsedMS=1/er.targetFPMS,this._tick=e=>{this._requestId=null,this.started&&(this.update(e),this.started&&this._requestId===null&&this._head.next&&(this._requestId=requestAnimationFrame(this._tick)))}}_requestIfNeeded(){this._requestId===null&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))}_cancelIfNeeded(){this._requestId!==null&&(cancelAnimationFrame(this._requestId),this._requestId=null)}_startIfPossible(){this.started?this._requestIfNeeded():this.autoStart&&this.start()}add(e,t,i=fn.NORMAL){return this._addListener(new So(e,t,i))}addOnce(e,t,i=fn.NORMAL){return this._addListener(new So(e,t,i,!0))}_addListener(e){let t=this._head.next,i=this._head;if(!t)e.connect(i);else{for(;t;){if(e.priority>t.priority){e.connect(i);break}i=t,t=t.next}e.previous||e.connect(i)}return this._startIfPossible(),this}remove(e,t){let i=this._head.next;for(;i;)i.match(e,t)?i=i.destroy():i=i.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let e=0,t=this._head;for(;t=t.next;)e++;return e}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let e=this._head.next;for(;e;)e=e.destroy(!0);this._head.destroy(),this._head=null}}update(e=performance.now()){let t;if(e>this.lastTime){if(t=this.elapsedMS=e-this.lastTime,t>this._maxElapsedMS&&(t=this._maxElapsedMS),t*=this.speed,this._minElapsedMS){let s=e-this._lastFrame|0;if(s<this._minElapsedMS)return;this._lastFrame=e-s%this._minElapsedMS}this.deltaMS=t,this.deltaTime=this.deltaMS*er.targetFPMS;let i=this._head,n=i.next;for(;n;)n=n.emit(this);i.next||this._cancelIfNeeded()}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=e}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(e){let t=Math.min(this.maxFPS,e),i=Math.min(Math.max(0,t)/1e3,er.targetFPMS);this._maxElapsedMS=1/i}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(e){if(e===0)this._minElapsedMS=0;else{let t=Math.max(this.minFPS,e);this._minElapsedMS=1/(t/1e3)}}static get shared(){if(!er._shared){let e=er._shared=new er;e.autoStart=!0,e._protected=!0}return er._shared}static get system(){if(!er._system){let e=er._system=new er;e.autoStart=!0,e._protected=!0}return er._system}};WS.targetFPMS=.06;ot=WS});var Eu,qS=m(()=>{M();Uf();To();Eu=class{static init(e){e=Object.assign({autoStart:!0,sharedTicker:!1},e),Object.defineProperty(this,"ticker",{set(t){this._ticker&&this._ticker.remove(this.render,this),this._ticker=t,t&&t.add(this.render,this,fn.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=e.sharedTicker?ot.shared:new ot,e.autoStart&&this.start()}static destroy(){if(this._ticker){let e=this._ticker;this.ticker=null,e.destroy()}}};Eu.extension=v.Application});var OE=m(()=>{M();NS();qS();N.add(yu);N.add(Eu)});var GE,Wr,UE=m(()=>{Uf();To();GE=class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this._tickerAdded=!1,this._pauseUpdate=!0}init(e){this.removeTickerListener(),this.events=e,this.interactionFrequency=10,this._deltaTime=0,this._didMove=!1,this._tickerAdded=!1,this._pauseUpdate=!0}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(e){this._pauseUpdate=e}addTickerListener(){this._tickerAdded||!this.domElement||(ot.system.add(this._tickerUpdate,this,fn.INTERACTION),this._tickerAdded=!0)}removeTickerListener(){this._tickerAdded&&(ot.system.remove(this._tickerUpdate,this),this._tickerAdded=!1)}pointerMoved(){this._didMove=!0}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=!1;return}let e=this.events._rootPointerEvent;this.events.supportsTouchEvents&&e.pointerType==="touch"||globalThis.document.dispatchEvent(new PointerEvent("pointermove",{clientX:e.clientX,clientY:e.clientY,pointerType:e.pointerType,pointerId:e.pointerId}))}_tickerUpdate(e){this._deltaTime+=e.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update())}},Wr=new GE});var _i,Lf=m(()=>{Mt();kf();_i=class extends dn{constructor(){super(...arguments),this.client=new j,this.movement=new j,this.offset=new j,this.global=new j,this.screen=new j}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(e,t,i){return e.worldTransform.applyInverse(i||this.global,t)}getModifierState(e){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(e)}initMouseEvent(e,t,i,n,s,o,a,l,c,u,A,h,d,f,g){throw new Error("Method not implemented.")}}});var Dt,LE=m(()=>{Lf();Dt=class extends _i{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=!1}getCoalescedEvents(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}getPredictedEvents(){throw new Error("getPredictedEvents is not supported!")}}});var qr,NE=m(()=>{Lf();qr=class extends _i{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2}};qr.DOM_DELTA_PIXEL=0;qr.DOM_DELTA_LINE=1;qr.DOM_DELTA_PAGE=2});var FZ,kZ,_u,Nf,jS=m(()=>{xt();Mt();Be();UE();Lf();LE();NE();FZ=2048,kZ=new j,_u=new j,Nf=class{constructor(e){this.dispatch=new Me,this.moveOnAll=!1,this.enableGlobalMoveEvents=!0,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=!1,this.rootTarget=e,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping("pointerdown",this.mapPointerDown),this.addEventMapping("pointermove",this.mapPointerMove),this.addEventMapping("pointerout",this.mapPointerOut),this.addEventMapping("pointerleave",this.mapPointerOut),this.addEventMapping("pointerover",this.mapPointerOver),this.addEventMapping("pointerup",this.mapPointerUp),this.addEventMapping("pointerupoutside",this.mapPointerUpOutside),this.addEventMapping("wheel",this.mapWheel)}addEventMapping(e,t){this.mappingTable[e]||(this.mappingTable[e]=[]),this.mappingTable[e].push({fn:t,priority:0}),this.mappingTable[e].sort((i,n)=>i.priority-n.priority)}dispatchEvent(e,t){e.propagationStopped=!1,e.propagationImmediatelyStopped=!1,this.propagate(e,t),this.dispatch.emit(t||e.type,e)}mapEvent(e){if(!this.rootTarget)return;let t=this.mappingTable[e.type];if(t)for(let i=0,n=t.length;i<n;i++)t[i].fn(e);else q(`[EventBoundary]: Event mapping not defined for ${e.type}`)}hitTest(e,t){Wr.pauseUpdate=!0;let n=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",s=this[n](this.rootTarget,this.rootTarget.eventMode,kZ.set(e,t),this.hitTestFn,this.hitPruneFn);return s&&s[0]}propagate(e,t){if(!e.target)return;let i=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(let n=0,s=i.length-1;n<s;n++)if(e.currentTarget=i[n],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return;if(e.eventPhase=e.AT_TARGET,e.currentTarget=e.target,this.notifyTarget(e,t),!(e.propagationStopped||e.propagationImmediatelyStopped)){e.eventPhase=e.BUBBLING_PHASE;for(let n=i.length-2;n>=0;n--)if(e.currentTarget=i[n],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,i=this._allInteractiveElements){if(i.length===0)return;e.eventPhase=e.BUBBLING_PHASE;let n=Array.isArray(t)?t:[t];for(let s=i.length-1;s>=0;s--)n.forEach(o=>{e.currentTarget=i[s],this.notifyTarget(e,o)})}propagationPath(e){let t=[e];for(let i=0;i<FZ&&e!==this.rootTarget&&e.parent;i++){if(!e.parent)throw new Error("Cannot find propagation path to disconnected target");t.push(e.parent),e=e.parent}return t.reverse(),t}hitTestMoveRecursive(e,t,i,n,s,o=!1){let a=!1;if(this._interactivePrune(e))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(Wr.pauseUpdate=!1),e.interactiveChildren&&e.children){let u=e.children;for(let A=u.length-1;A>=0;A--){let h=u[A],d=this.hitTestMoveRecursive(h,this._isInteractive(t)?t:h.eventMode,i,n,s,o||s(e,i));if(d){if(d.length>0&&!d[d.length-1].parent)continue;let f=e.isInteractive();(d.length>0||f)&&(f&&this._allInteractiveElements.push(e),d.push(e)),this._hitElements.length===0&&(this._hitElements=d),a=!0}}}let l=this._isInteractive(t),c=e.isInteractive();return c&&c&&this._allInteractiveElements.push(e),o||this._hitElements.length>0?null:a?this._hitElements:l&&!s(e,i)&&n(e,i)?c?[e]:[]:null}hitTestRecursive(e,t,i,n,s){if(this._interactivePrune(e)||s(e,i))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(Wr.pauseUpdate=!1),e.interactiveChildren&&e.children){let l=e.children,c=i;for(let u=l.length-1;u>=0;u--){let A=l[u],h=this.hitTestRecursive(A,this._isInteractive(t)?t:A.eventMode,c,n,s);if(h){if(h.length>0&&!h[h.length-1].parent)continue;let d=e.isInteractive();return(h.length>0||d)&&h.push(e),h}}}let o=this._isInteractive(t),a=e.isInteractive();return o&&n(e,i)?a?[e]:[]:null}_isInteractive(e){return e==="static"||e==="dynamic"}_interactivePrune(e){return!e||!e.visible||!e.renderable||!e.measurable||e.eventMode==="none"||e.eventMode==="passive"&&!e.interactiveChildren}hitPruneFn(e,t){if(e.hitArea&&(e.worldTransform.applyInverse(t,_u),!e.hitArea.contains(_u.x,_u.y)))return!0;if(e.effects&&e.effects.length)for(let i=0;i<e.effects.length;i++){let n=e.effects[i];if(n.containsPoint&&!n.containsPoint(t,this.hitTestFn))return!0}return!1}hitTestFn(e,t){return e.hitArea?!0:e?.containsPoint?(e.worldTransform.applyInverse(t,_u),e.containsPoint(_u)):!1}notifyTarget(e,t){if(!e.currentTarget.isInteractive())return;t??(t=e.type);let i=`on${t}`;e.currentTarget[i]?.(e);let n=e.eventPhase===e.CAPTURING_PHASE||e.eventPhase===e.AT_TARGET?`${t}capture`:t;this._notifyListeners(e,n),e.eventPhase===e.AT_TARGET&&this._notifyListeners(e,t)}mapPointerDown(e){if(!(e instanceof Dt)){q("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.createPointerEvent(e);if(this.dispatchEvent(t,"pointerdown"),t.pointerType==="touch")this.dispatchEvent(t,"touchstart");else if(t.pointerType==="mouse"||t.pointerType==="pen"){let n=t.button===2;this.dispatchEvent(t,n?"rightdown":"mousedown")}let i=this.trackingData(e.pointerId);i.pressTargetsByButton[e.button]=t.composedPath(),this.freeEvent(t)}mapPointerMove(e){if(!(e instanceof Dt)){q("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=!0;let t=this.createPointerEvent(e);this._isPointerMoveEvent=!1;let i=t.pointerType==="mouse"||t.pointerType==="pen",n=this.trackingData(e.pointerId),s=this.findMountedTarget(n.overTargets);if(n.overTargets?.length>0&&s!==t.target){let l=e.type==="mousemove"?"mouseout":"pointerout",c=this.createPointerEvent(e,l,s);if(this.dispatchEvent(c,"pointerout"),i&&this.dispatchEvent(c,"mouseout"),!t.composedPath().includes(s)){let u=this.createPointerEvent(e,"pointerleave",s);for(u.eventPhase=u.AT_TARGET;u.target&&!t.composedPath().includes(u.target);)u.currentTarget=u.target,this.notifyTarget(u),i&&this.notifyTarget(u,"mouseleave"),u.target=u.target.parent;this.freeEvent(u)}this.freeEvent(c)}if(s!==t.target){let l=e.type==="mousemove"?"mouseover":"pointerover",c=this.clonePointerEvent(t,l);this.dispatchEvent(c,"pointerover"),i&&this.dispatchEvent(c,"mouseover");let u=s?.parent;for(;u&&u!==this.rootTarget.parent&&u!==t.target;)u=u.parent;if(!u||u===this.rootTarget.parent){let h=this.clonePointerEvent(t,"pointerenter");for(h.eventPhase=h.AT_TARGET;h.target&&h.target!==s&&h.target!==this.rootTarget.parent;)h.currentTarget=h.target,this.notifyTarget(h),i&&this.notifyTarget(h,"mouseenter"),h.target=h.target.parent;this.freeEvent(h)}this.freeEvent(c)}let o=[],a=this.enableGlobalMoveEvents??!0;this.moveOnAll?o.push("pointermove"):this.dispatchEvent(t,"pointermove"),a&&o.push("globalpointermove"),t.pointerType==="touch"&&(this.moveOnAll?o.splice(1,0,"touchmove"):this.dispatchEvent(t,"touchmove"),a&&o.push("globaltouchmove")),i&&(this.moveOnAll?o.splice(1,0,"mousemove"):this.dispatchEvent(t,"mousemove"),a&&o.push("globalmousemove"),this.cursor=t.target?.cursor),o.length>0&&this.all(t,o),this._allInteractiveElements.length=0,this._hitElements.length=0,n.overTargets=t.composedPath(),this.freeEvent(t)}mapPointerOver(e){if(!(e instanceof Dt)){q("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId),i=this.createPointerEvent(e),n=i.pointerType==="mouse"||i.pointerType==="pen";this.dispatchEvent(i,"pointerover"),n&&this.dispatchEvent(i,"mouseover"),i.pointerType==="mouse"&&(this.cursor=i.target?.cursor);let s=this.clonePointerEvent(i,"pointerenter");for(s.eventPhase=s.AT_TARGET;s.target&&s.target!==this.rootTarget.parent;)s.currentTarget=s.target,this.notifyTarget(s),n&&this.notifyTarget(s,"mouseenter"),s.target=s.target.parent;t.overTargets=i.composedPath(),this.freeEvent(i),this.freeEvent(s)}mapPointerOut(e){if(!(e instanceof Dt)){q("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId);if(t.overTargets){let i=e.pointerType==="mouse"||e.pointerType==="pen",n=this.findMountedTarget(t.overTargets),s=this.createPointerEvent(e,"pointerout",n);this.dispatchEvent(s),i&&this.dispatchEvent(s,"mouseout");let o=this.createPointerEvent(e,"pointerleave",n);for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),i&&this.notifyTarget(o,"mouseleave"),o.target=o.target.parent;t.overTargets=null,this.freeEvent(s),this.freeEvent(o)}this.cursor=null}mapPointerUp(e){if(!(e instanceof Dt)){q("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=performance.now(),i=this.createPointerEvent(e);if(this.dispatchEvent(i,"pointerup"),i.pointerType==="touch")this.dispatchEvent(i,"touchend");else if(i.pointerType==="mouse"||i.pointerType==="pen"){let a=i.button===2;this.dispatchEvent(i,a?"rightup":"mouseup")}let n=this.trackingData(e.pointerId),s=this.findMountedTarget(n.pressTargetsByButton[e.button]),o=s;if(s&&!i.composedPath().includes(s)){let a=s;for(;a&&!i.composedPath().includes(a);){if(i.currentTarget=a,this.notifyTarget(i,"pointerupoutside"),i.pointerType==="touch")this.notifyTarget(i,"touchendoutside");else if(i.pointerType==="mouse"||i.pointerType==="pen"){let l=i.button===2;this.notifyTarget(i,l?"rightupoutside":"mouseupoutside")}a=a.parent}delete n.pressTargetsByButton[e.button],o=a}if(o){let a=this.clonePointerEvent(i,"click");a.target=o,a.path=null,n.clicksByButton[e.button]||(n.clicksByButton[e.button]={clickCount:0,target:a.target,timeStamp:t});let l=n.clicksByButton[e.button];if(l.target===a.target&&t-l.timeStamp<200?++l.clickCount:l.clickCount=1,l.target=a.target,l.timeStamp=t,a.detail=l.clickCount,a.pointerType==="mouse"){let c=a.button===2;this.dispatchEvent(a,c?"rightclick":"click")}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a)}this.freeEvent(i)}mapPointerUpOutside(e){if(!(e instanceof Dt)){q("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId),i=this.findMountedTarget(t.pressTargetsByButton[e.button]),n=this.createPointerEvent(e);if(i){let s=i;for(;s;)n.currentTarget=s,this.notifyTarget(n,"pointerupoutside"),n.pointerType==="touch"?this.notifyTarget(n,"touchendoutside"):(n.pointerType==="mouse"||n.pointerType==="pen")&&this.notifyTarget(n,n.button===2?"rightupoutside":"mouseupoutside"),s=s.parent;delete t.pressTargetsByButton[e.button]}this.freeEvent(n)}mapWheel(e){if(!(e instanceof qr)){q("EventBoundary cannot map a non-wheel event as a wheel event");return}let t=this.createWheelEvent(e);this.dispatchEvent(t),this.freeEvent(t)}findMountedTarget(e){if(!e)return null;let t=e[0];for(let i=1;i<e.length&&e[i].parent===t;i++)t=e[i];return t}createPointerEvent(e,t,i){let n=this.allocateEvent(Dt);return this.copyPointerData(e,n),this.copyMouseData(e,n),this.copyData(e,n),n.nativeEvent=e.nativeEvent,n.originalEvent=e,n.target=i??this.hitTest(n.global.x,n.global.y)??this._hitElements[0],typeof t=="string"&&(n.type=t),n}createWheelEvent(e){let t=this.allocateEvent(qr);return this.copyWheelData(e,t),this.copyMouseData(e,t),this.copyData(e,t),t.nativeEvent=e.nativeEvent,t.originalEvent=e,t.target=this.hitTest(t.global.x,t.global.y),t}clonePointerEvent(e,t){let i=this.allocateEvent(Dt);return i.nativeEvent=e.nativeEvent,i.originalEvent=e.originalEvent,this.copyPointerData(e,i),this.copyMouseData(e,i),this.copyData(e,i),i.target=e.target,i.path=e.composedPath().slice(),i.type=t??i.type,i}copyWheelData(e,t){t.deltaMode=e.deltaMode,t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ}copyPointerData(e,t){e instanceof Dt&&t instanceof Dt&&(t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist)}copyMouseData(e,t){e instanceof _i&&t instanceof _i&&(t.altKey=e.altKey,t.button=e.button,t.buttons=e.buttons,t.client.copyFrom(e.client),t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.movement.copyFrom(e.movement),t.screen.copyFrom(e.screen),t.shiftKey=e.shiftKey,t.global.copyFrom(e.global))}copyData(e,t){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.detail=e.detail,t.view=e.view,t.which=e.which,t.layer.copyFrom(e.layer),t.page.copyFrom(e.page)}trackingData(e){return this.mappingState.trackingData[e]||(this.mappingState.trackingData[e]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[e]}allocateEvent(e){this.eventPool.has(e)||this.eventPool.set(e,[]);let t=this.eventPool.get(e).pop()||new e(this);return t.eventPhase=t.NONE,t.currentTarget=null,t.defaultPrevented=!1,t.path=null,t.target=null,t}freeEvent(e){if(e.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");let t=e.constructor;this.eventPool.has(t)||this.eventPool.set(t,[]),this.eventPool.get(t).push(e)}_notifyListeners(e,t){let i=e.currentTarget._events[t];if(i)if("fn"in i)i.once&&e.currentTarget.removeListener(t,i.fn,void 0,!0),i.fn.call(i.context,e);else for(let n=0,s=i.length;n<s&&!e.propagationImmediatelyStopped;n++)i[n].once&&e.currentTarget.removeListener(t,i[n].fn,void 0,!0),i[n].fn.call(i[n].context,e)}}});var OZ,GZ,WE,Hf,qE=m(()=>{M();jS();UE();LE();NE();OZ=1,GZ={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},WE=class HE{constructor(e){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=e,this.rootBoundary=new Nf(null),Wr.init(this),this.autoPreventDefault=!0,this._eventsAdded=!1,this._rootPointerEvent=new Dt(null),this._rootWheelEvent=new qr(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...HE.defaultEventFeatures},{set:(t,i,n)=>(i==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=n),t[i]=n,!0)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(e){let{canvas:t,resolution:i}=this.renderer;this.setTargetElement(t),this.resolution=i,HE._defaultEventMode=e.eventMode??"passive",Object.assign(this.features,e.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove}resolutionChange(e){this.resolution=e}destroy(){this.setTargetElement(null),this.renderer=null,this._currentCursor=null}setCursor(e){e||(e="default");let t=!0;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(t=!1),this._currentCursor===e)return;this._currentCursor=e;let i=this.cursorStyles[e];if(i)switch(typeof i){case"string":t&&(this.domElement.style.cursor=i);break;case"function":i(e);break;case"object":t&&Object.assign(this.domElement.style,i);break}else t&&typeof e=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.domElement.style.cursor=e)}get pointer(){return this._rootPointerEvent}_onPointerDown(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=this._normalizeToPointerData(e);this.autoPreventDefault&&t[0].isNormalized&&(e.cancelable||!("cancelable"in e))&&e.preventDefault();for(let i=0,n=t.length;i<n;i++){let s=t[i],o=this._bootstrapEvent(this._rootPointerEvent,s);this.rootBoundary.mapEvent(o)}this.setCursor(this.rootBoundary.cursor)}_onPointerMove(e){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,Wr.pointerMoved();let t=this._normalizeToPointerData(e);for(let i=0,n=t.length;i<n;i++){let s=this._bootstrapEvent(this._rootPointerEvent,t[i]);this.rootBoundary.mapEvent(s)}this.setCursor(this.rootBoundary.cursor)}_onPointerUp(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=e.target;e.composedPath&&e.composedPath().length>0&&(t=e.composedPath()[0]);let i=t!==this.domElement?"outside":"",n=this._normalizeToPointerData(e);for(let s=0,o=n.length;s<o;s++){let a=this._bootstrapEvent(this._rootPointerEvent,n[s]);a.type+=i,this.rootBoundary.mapEvent(a)}this.setCursor(this.rootBoundary.cursor)}_onPointerOverOut(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let t=this._normalizeToPointerData(e);for(let i=0,n=t.length;i<n;i++){let s=this._bootstrapEvent(this._rootPointerEvent,t[i]);this.rootBoundary.mapEvent(s)}this.setCursor(this.rootBoundary.cursor)}onWheel(e){if(!this.features.wheel)return;let t=this.normalizeWheelEvent(e);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(t)}setTargetElement(e){this._removeEvents(),this.domElement=e,Wr.domElement=e,this._addEvents()}_addEvents(){if(this._eventsAdded||!this.domElement)return;Wr.addTickerListener();let e=this.domElement.style;e&&(globalThis.navigator.msPointerEnabled?(e.msContentZooming="none",e.msTouchAction="none"):this.supportsPointerEvents&&(e.touchAction="none")),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this._onPointerMove,!0),this.domElement.addEventListener("pointerdown",this._onPointerDown,!0),this.domElement.addEventListener("pointerleave",this._onPointerOverOut,!0),this.domElement.addEventListener("pointerover",this._onPointerOverOut,!0),globalThis.addEventListener("pointerup",this._onPointerUp,!0)):(globalThis.document.addEventListener("mousemove",this._onPointerMove,!0),this.domElement.addEventListener("mousedown",this._onPointerDown,!0),this.domElement.addEventListener("mouseout",this._onPointerOverOut,!0),this.domElement.addEventListener("mouseover",this._onPointerOverOut,!0),globalThis.addEventListener("mouseup",this._onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this._onPointerDown,!0),this.domElement.addEventListener("touchend",this._onPointerUp,!0),this.domElement.addEventListener("touchmove",this._onPointerMove,!0))),this.domElement.addEventListener("wheel",this.onWheel,{passive:!0,capture:!0}),this._eventsAdded=!0}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;Wr.removeTickerListener();let e=this.domElement.style;e&&(globalThis.navigator.msPointerEnabled?(e.msContentZooming="",e.msTouchAction=""):this.supportsPointerEvents&&(e.touchAction="")),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this._onPointerMove,!0),this.domElement.removeEventListener("pointerdown",this._onPointerDown,!0),this.domElement.removeEventListener("pointerleave",this._onPointerOverOut,!0),this.domElement.removeEventListener("pointerover",this._onPointerOverOut,!0),globalThis.removeEventListener("pointerup",this._onPointerUp,!0)):(globalThis.document.removeEventListener("mousemove",this._onPointerMove,!0),this.domElement.removeEventListener("mousedown",this._onPointerDown,!0),this.domElement.removeEventListener("mouseout",this._onPointerOverOut,!0),this.domElement.removeEventListener("mouseover",this._onPointerOverOut,!0),globalThis.removeEventListener("mouseup",this._onPointerUp,!0),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this._onPointerDown,!0),this.domElement.removeEventListener("touchend",this._onPointerUp,!0),this.domElement.removeEventListener("touchmove",this._onPointerMove,!0))),this.domElement.removeEventListener("wheel",this.onWheel,!0),this.domElement=null,this._eventsAdded=!1}mapPositionToPoint(e,t,i){let n=this.domElement.isConnected?this.domElement.getBoundingClientRect():{x:0,y:0,width:this.domElement.width,height:this.domElement.height,left:0,top:0},s=1/this.resolution;e.x=(t-n.left)*(this.domElement.width/n.width)*s,e.y=(i-n.top)*(this.domElement.height/n.height)*s}_normalizeToPointerData(e){let t=[];if(this.supportsTouchEvents&&e instanceof TouchEvent)for(let i=0,n=e.changedTouches.length;i<n;i++){let s=e.changedTouches[i];typeof s.button>"u"&&(s.button=0),typeof s.buttons>"u"&&(s.buttons=1),typeof s.isPrimary>"u"&&(s.isPrimary=e.touches.length===1&&e.type==="touchstart"),typeof s.width>"u"&&(s.width=s.radiusX||1),typeof s.height>"u"&&(s.height=s.radiusY||1),typeof s.tiltX>"u"&&(s.tiltX=0),typeof s.tiltY>"u"&&(s.tiltY=0),typeof s.pointerType>"u"&&(s.pointerType="touch"),typeof s.pointerId>"u"&&(s.pointerId=s.identifier||0),typeof s.pressure>"u"&&(s.pressure=s.force||.5),typeof s.twist>"u"&&(s.twist=0),typeof s.tangentialPressure>"u"&&(s.tangentialPressure=0),typeof s.layerX>"u"&&(s.layerX=s.offsetX=s.clientX),typeof s.layerY>"u"&&(s.layerY=s.offsetY=s.clientY),s.isNormalized=!0,s.type=e.type,t.push(s)}else if(!globalThis.MouseEvent||e instanceof MouseEvent&&(!this.supportsPointerEvents||!(e instanceof globalThis.PointerEvent))){let i=e;typeof i.isPrimary>"u"&&(i.isPrimary=!0),typeof i.width>"u"&&(i.width=1),typeof i.height>"u"&&(i.height=1),typeof i.tiltX>"u"&&(i.tiltX=0),typeof i.tiltY>"u"&&(i.tiltY=0),typeof i.pointerType>"u"&&(i.pointerType="mouse"),typeof i.pointerId>"u"&&(i.pointerId=OZ),typeof i.pressure>"u"&&(i.pressure=.5),typeof i.twist>"u"&&(i.twist=0),typeof i.tangentialPressure>"u"&&(i.tangentialPressure=0),i.isNormalized=!0,t.push(i)}else t.push(e);return t}normalizeWheelEvent(e){let t=this._rootWheelEvent;return this._transferMouseData(t,e),t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ,t.deltaMode=e.deltaMode,this.mapPositionToPoint(t.screen,e.clientX,e.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.nativeEvent=e,t.type=e.type,t}_bootstrapEvent(e,t){return e.originalEvent=null,e.nativeEvent=t,e.pointerId=t.pointerId,e.width=t.width,e.height=t.height,e.isPrimary=t.isPrimary,e.pointerType=t.pointerType,e.pressure=t.pressure,e.tangentialPressure=t.tangentialPressure,e.tiltX=t.tiltX,e.tiltY=t.tiltY,e.twist=t.twist,this._transferMouseData(e,t),this.mapPositionToPoint(e.screen,t.clientX,t.clientY),e.global.copyFrom(e.screen),e.offset.copyFrom(e.screen),e.isTrusted=t.isTrusted,e.type==="pointerleave"&&(e.type="pointerout"),e.type.startsWith("mouse")&&(e.type=e.type.replace("mouse","pointer")),e.type.startsWith("touch")&&(e.type=GZ[e.type]||e.type),e}_transferMouseData(e,t){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.altKey=t.altKey,e.button=t.button,e.buttons=t.buttons,e.client.x=t.clientX,e.client.y=t.clientY,e.ctrlKey=t.ctrlKey,e.metaKey=t.metaKey,e.movement.x=t.movementX,e.movement.y=t.movementY,e.page.x=t.pageX,e.page.y=t.pageY,e.relatedTarget=null,e.shiftKey=t.shiftKey}};WE.extension={name:"events",type:[v.WebGLSystem,v.CanvasSystem,v.WebGPUSystem],priority:-1};WE.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0};Hf=WE});var VS,YS=m(()=>{qE();kf();VS={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(r){this.eventMode=r?"static":"passive"},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??Hf.defaultEventMode},set eventMode(r){this._internalEventMode=r},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:!0,hitArea:null,addEventListener(r,e,t){let i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof t=="object"?t.signal:void 0,s=typeof t=="object"?t.once===!0:!1,o=typeof e=="function"?void 0:e;r=i?`${r}capture`:r;let a=typeof e=="function"?e:e.handleEvent,l=this;n&&n.addEventListener("abort",()=>{l.off(r,a,o)}),s?l.once(r,a,o):l.on(r,a,o)},removeEventListener(r,e,t){let i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof e=="function"?void 0:e;r=i?`${r}capture`:r,e=typeof e=="function"?e:e.handleEvent,this.off(r,e,n)},dispatchEvent(r){if(!(r instanceof dn))throw new Error("Container cannot propagate events outside of the Federated Events API");return r.defaultPrevented=!1,r.path=null,r.target=this,r.manager.dispatchEvent(r),!r.defaultPrevented}}});var KS=m(()=>{M();Br();qE();YS();N.add(Hf);N.mixin(Ae,VS)});var Iu,zS=m(()=>{M();Iu=class{constructor(e){this._destroyRenderableBound=this.destroyRenderable.bind(this),this._attachedDomElements=[],this._renderer=e,this._renderer.runners.postrender.add(this),this._domElement=document.createElement("div"),this._domElement.style.position="absolute",this._domElement.style.top="0",this._domElement.style.left="0",this._domElement.style.pointerEvents="none",this._domElement.style.zIndex="1000"}addRenderable(e,t){this._attachedDomElements.includes(e)||(this._attachedDomElements.push(e),e.on("destroyed",this._destroyRenderableBound))}updateRenderable(e){}validateRenderable(e){return!0}destroyRenderable(e){let t=this._attachedDomElements.indexOf(e);t!==-1&&this._attachedDomElements.splice(t,1),e.off("destroyed",this._destroyRenderableBound)}postrender(){let e=this._attachedDomElements;if(e.length===0){this._domElement.remove();return}let t=this._renderer.view.canvas;this._domElement.parentNode!==t.parentNode&&t.parentNode?.appendChild(this._domElement),this._domElement.style.transform=`translate(${t.offsetLeft}px, ${t.offsetTop}px)`;for(let i=0;i<e.length;i++){let n=e[i],s=n.element;if(!n.parent||n.globalDisplayStatus<7)s.remove(),e.splice(i,1),i--;else{this._domElement.contains(s)||(s.style.position="absolute",s.style.pointerEvents="auto",this._domElement.appendChild(s));let o=n.worldTransform,a=n._anchor,l=n.width*a.x,c=n.height*a.y;s.style.transformOrigin=`${l}px ${c}px`,s.style.transform=`matrix(${o.a}, ${o.b}, ${o.c}, ${o.d}, ${o.tx-l}, ${o.ty-c})`,s.style.opacity=n.groupAlpha.toString()}}}destroy(){this._renderer.runners.postrender.remove(this);for(let e=0;e<this._attachedDomElements.length;e++){let t=this._attachedDomElements[e];t.off("destroyed",this._destroyRenderableBound),t.element.remove()}this._attachedDomElements.length=0,this._domElement.remove(),this._renderer=null}};Iu.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"dom"}});var $e,Ii=m(()=>{Pt();Br();$e=class extends Ae{constructor(e){super(e),this.canBundle=!0,this.allowChildren=!1,this._roundPixels=0,this._lastUsed=-1,this._bounds=new ge(0,1,0,0),this._boundsDirty=!0}get bounds(){return this._boundsDirty?(this.updateBounds(),this._boundsDirty=!1,this._bounds):this._bounds}get roundPixels(){return!!this._roundPixels}set roundPixels(e){this._roundPixels=e?1:0}containsPoint(e){let t=this.bounds,{x:i,y:n}=e;return i>=t.minX&&i<=t.maxX&&n>=t.minY&&n<=t.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0;let e=this.renderGroup||this.parentRenderGroup;e&&e.onChildViewUpdate(this)}destroy(e){super.destroy(e),this._bounds=null}collectRenderablesSimple(e,t,i){let{renderPipes:n,renderableGC:s}=t;n.blendMode.setBlendMode(this,this.groupBlendMode,e),n[this.renderPipeId].addRenderable(this,e),s.addRenderable(this),this.didViewUpdate=!1;let a=this.children,l=a.length;for(let c=0;c<l;c++)a[c].collectRenderables(e,t,i)}}});var vu,XS=m(()=>{Mt();Ii();vu=class extends $e{constructor(e={}){let{element:t,anchor:i,...n}=e;super({label:"DOMContainer",...n}),this.renderPipeId="dom",this.batched=!1,this._anchor=new j(0,0),i&&(this.anchor=i),this.element=e.element||document.createElement("div")}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e)}set element(e){this._element!==e&&(this._element=e,this.onViewUpdate())}get element(){return this._element}updateBounds(){let e=this._bounds,t=this._element;if(!t){e.minX=0,e.minY=0,e.maxX=0,e.maxY=0;return}let{offsetWidth:i,offsetHeight:n}=t;e.minX=0,e.maxX=i,e.minY=0,e.maxY=n}destroy(e=!1){super.destroy(e),this._element?.parentNode?.removeChild(this._element),this._element=null,this._anchor=null}}});var JS=m(()=>{M();zS();N.add(Iu)});var Rt,pn=m(()=>{"use strict";Rt=(r=>(r[r.Low=0]="Low",r[r.Normal=1]="Normal",r[r.High=2]="High",r))(Rt||{})});var ZS,$S=m(()=>{"use strict";ZS={createCanvas:(r,e)=>{let t=document.createElement("canvas");return t.width=r,t.height=e,t},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(r,e)=>fetch(r,e),parseXML:r=>new DOMParser().parseFromString(r,"text/xml")}});var eT,X,De=m(()=>{$S();eT=ZS,X={get(){return eT},set(r){eT=r}}});function Cr(r){if(typeof r!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(r)}`)}function xu(r){return r.split("?")[0].split("#")[0]}function UZ(r){return r.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function LZ(r,e,t){return r.replace(new RegExp(UZ(e),"g"),t)}function NZ(r,e){let t="",i=0,n=-1,s=0,o=-1;for(let a=0;a<=r.length;++a){if(a<r.length)o=r.charCodeAt(a);else{if(o===47)break;o=47}if(o===47){if(!(n===a-1||s===1))if(n!==a-1&&s===2){if(t.length<2||i!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){let l=t.lastIndexOf("/");if(l!==t.length-1){l===-1?(t="",i=0):(t=t.slice(0,l),i=t.length-1-t.lastIndexOf("/")),n=a,s=0;continue}}else if(t.length===2||t.length===1){t="",i=0,n=a,s=0;continue}}e&&(t.length>0?t+="/..":t="..",i=2)}else t.length>0?t+=`/${r.slice(n+1,a)}`:t=r.slice(n+1,a),i=a-n-1;n=a,s=0}else o===46&&s!==-1?++s:s=-1}return t}var at,ns=m(()=>{De();at={toPosix(r){return LZ(r,"\\","/")},isUrl(r){return/^https?:/.test(this.toPosix(r))},isDataUrl(r){return/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(r)},isBlobUrl(r){return r.startsWith("blob:")},hasProtocol(r){return/^[^/:]+:/.test(this.toPosix(r))},getProtocol(r){Cr(r),r=this.toPosix(r);let e=/^file:\/\/\//.exec(r);if(e)return e[0];let t=/^[^/:]+:\/{0,2}/.exec(r);return t?t[0]:""},toAbsolute(r,e,t){if(Cr(r),this.isDataUrl(r)||this.isBlobUrl(r))return r;let i=xu(this.toPosix(e??X.get().getBaseUrl())),n=xu(this.toPosix(t??this.rootname(i)));return r=this.toPosix(r),r.startsWith("/")?at.join(n,r.slice(1)):this.isAbsolute(r)?r:this.join(i,r)},normalize(r){if(Cr(r),r.length===0)return".";if(this.isDataUrl(r)||this.isBlobUrl(r))return r;r=this.toPosix(r);let e="",t=r.startsWith("/");this.hasProtocol(r)&&(e=this.rootname(r),r=r.slice(e.length));let i=r.endsWith("/");return r=NZ(r,!1),r.length>0&&i&&(r+="/"),t?`/${r}`:e+r},isAbsolute(r){return Cr(r),r=this.toPosix(r),this.hasProtocol(r)?!0:r.startsWith("/")},join(...r){if(r.length===0)return".";let e;for(let t=0;t<r.length;++t){let i=r[t];if(Cr(i),i.length>0)if(e===void 0)e=i;else{let n=r[t-1]??"";this.joinExtensions.includes(this.extname(n).toLowerCase())?e+=`/../${i}`:e+=`/${i}`}}return e===void 0?".":this.normalize(e)},dirname(r){if(Cr(r),r.length===0)return".";r=this.toPosix(r);let e=r.charCodeAt(0),t=e===47,i=-1,n=!0,s=this.getProtocol(r),o=r;r=r.slice(s.length);for(let a=r.length-1;a>=1;--a)if(e=r.charCodeAt(a),e===47){if(!n){i=a;break}}else n=!1;return i===-1?t?"/":this.isUrl(o)?s+r:s:t&&i===1?"//":s+r.slice(0,i)},rootname(r){Cr(r),r=this.toPosix(r);let e="";if(r.startsWith("/")?e="/":e=this.getProtocol(r),this.isUrl(r)){let t=r.indexOf("/",e.length);t!==-1?e=r.slice(0,t):e=r,e.endsWith("/")||(e+="/")}return e},basename(r,e){Cr(r),e&&Cr(e),r=xu(this.toPosix(r));let t=0,i=-1,n=!0,s;if(e!==void 0&&e.length>0&&e.length<=r.length){if(e.length===r.length&&e===r)return"";let o=e.length-1,a=-1;for(s=r.length-1;s>=0;--s){let l=r.charCodeAt(s);if(l===47){if(!n){t=s+1;break}}else a===-1&&(n=!1,a=s+1),o>=0&&(l===e.charCodeAt(o)?--o===-1&&(i=s):(o=-1,i=a))}return t===i?i=a:i===-1&&(i=r.length),r.slice(t,i)}for(s=r.length-1;s>=0;--s)if(r.charCodeAt(s)===47){if(!n){t=s+1;break}}else i===-1&&(n=!1,i=s+1);return i===-1?"":r.slice(t,i)},extname(r){Cr(r),r=xu(this.toPosix(r));let e=-1,t=0,i=-1,n=!0,s=0;for(let o=r.length-1;o>=0;--o){let a=r.charCodeAt(o);if(a===47){if(!n){t=o+1;break}continue}i===-1&&(n=!1,i=o+1),a===46?e===-1?e=o:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||i===-1||s===0||s===1&&e===i-1&&e===t+1?"":r.slice(e,i)},parse(r){Cr(r);let e={root:"",dir:"",base:"",ext:"",name:""};if(r.length===0)return e;r=xu(this.toPosix(r));let t=r.charCodeAt(0),i=this.isAbsolute(r),n,s="";e.root=this.rootname(r),i||this.hasProtocol(r)?n=1:n=0;let o=-1,a=0,l=-1,c=!0,u=r.length-1,A=0;for(;u>=n;--u){if(t=r.charCodeAt(u),t===47){if(!c){a=u+1;break}continue}l===-1&&(c=!1,l=u+1),t===46?o===-1?o=u:A!==1&&(A=1):o!==-1&&(A=-1)}return o===-1||l===-1||A===0||A===1&&o===l-1&&o===a+1?l!==-1&&(a===0&&i?e.base=e.name=r.slice(1,l):e.base=e.name=r.slice(a,l)):(a===0&&i?(e.name=r.slice(1,o),e.base=r.slice(1,l)):(e.name=r.slice(a,o),e.base=r.slice(a,l)),e.ext=r.slice(o,l)),e.dir=this.dirname(r),s&&(e.dir=s+e.dir),e},sep:"/",delimiter:":",joinExtensions:[".html"]}});var Ft,Bu=m(()=>{"use strict";Ft=(r,e,t=!1)=>(Array.isArray(r)||(r=[r]),e?r.map(i=>typeof i=="string"||t?e(i):i):r)});function tT(r,e,t,i,n){let s=e[t];for(let o=0;o<s.length;o++){let a=s[o];t<e.length-1?tT(r.replace(i[t],a),e,t+1,i,n):n.push(r.replace(i[t],a))}}function rT(r){let e=/\{(.*?)\}/g,t=r.match(e),i=[];if(t){let n=[];t.forEach(s=>{let o=s.substring(1,s.length-1).split(",");n.push(o)}),tT(r,n,0,t,i)}else i.push(r);return i}var iT=m(()=>{"use strict"});var ss,Wf=m(()=>{"use strict";ss=r=>!Array.isArray(r)});function HZ(r){return r.split(".").pop().split("?").shift().split("#").shift()}var tr,Mo=m(()=>{Be();ns();Bu();iT();Wf();tr=class{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(e,t)=>`${e}${this._bundleIdConnector}${t}`,extractAssetIdFromBundle:(e,t)=>t.replace(`${e}${this._bundleIdConnector}`,"")},this._bundleIdConnector=this._defaultBundleIdentifierOptions.connector,this._createBundleAssetId=this._defaultBundleIdentifierOptions.createBundleAssetId,this._extractAssetIdFromBundle=this._defaultBundleIdentifierOptions.extractAssetIdFromBundle,this._assetMap={},this._preferredOrder=[],this._parsers=[],this._resolverHash={},this._bundles={}}setBundleIdentifier(e){if(this._bundleIdConnector=e.connector??this._bundleIdConnector,this._createBundleAssetId=e.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=e.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...e){e.forEach(t=>{this._preferredOrder.push(t),t.priority||(t.priority=Object.keys(t.params))}),this._resolverHash={}}set basePath(e){this._basePath=e}get basePath(){return this._basePath}set rootPath(e){this._rootPath=e}get rootPath(){return this._rootPath}get parsers(){return this._parsers}reset(){this.setBundleIdentifier(this._defaultBundleIdentifierOptions),this._assetMap={},this._preferredOrder=[],this._resolverHash={},this._rootPath=null,this._basePath=null,this._manifest=null,this._bundles={},this._defaultSearchParams=null}setDefaultSearchParams(e){if(typeof e=="string")this._defaultSearchParams=e;else{let t=e;this._defaultSearchParams=Object.keys(t).map(i=>`${encodeURIComponent(i)}=${encodeURIComponent(t[i])}`).join("&")}}getAlias(e){let{alias:t,src:i}=e;return Ft(t||i,s=>typeof s=="string"?s:Array.isArray(s)?s.map(o=>o?.src??o):s?.src?s.src:s,!0)}addManifest(e){this._manifest&&q("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=e,e.bundles.forEach(t=>{this.addBundle(t.name,t.assets)})}addBundle(e,t){let i=[],n=t;Array.isArray(t)||(n=Object.entries(t).map(([s,o])=>typeof o=="string"||Array.isArray(o)?{alias:s,src:o}:{alias:s,...o})),n.forEach(s=>{let o=s.src,a=s.alias,l;if(typeof a=="string"){let c=this._createBundleAssetId(e,a);i.push(c),l=[a,c]}else{let c=a.map(u=>this._createBundleAssetId(e,u));i.push(...c),l=[...a,...c]}this.add({...s,alias:l,src:o})}),this._bundles[e]=i}add(e){let t=[];Array.isArray(e)?t.push(...e):t.push(e);let i;i=s=>{this.hasKey(s)&&q(`[Resolver] already has key: ${s} overwriting`)},Ft(t).forEach(s=>{let{src:o}=s,{data:a,format:l,loadParser:c}=s,u=Ft(o).map(d=>typeof d=="string"?rT(d):Array.isArray(d)?d:[d]),A=this.getAlias(s);Array.isArray(A)?A.forEach(i):i(A);let h=[];u.forEach(d=>{d.forEach(f=>{let g={};if(typeof f!="object"){g.src=f;for(let p=0;p<this._parsers.length;p++){let I=this._parsers[p];if(I.test(f)){g=I.parse(f);break}}}else a=f.data??a,l=f.format??l,c=f.loadParser??c,g={...g,...f};if(!A)throw new Error(`[Resolver] alias is undefined for this asset: ${g.src}`);g=this._buildResolvedAsset(g,{aliases:A,data:a,format:l,loadParser:c}),h.push(g)})}),A.forEach(d=>{this._assetMap[d]=h})})}resolveBundle(e){let t=ss(e);e=Ft(e);let i={};return e.forEach(n=>{let s=this._bundles[n];if(s){let o=this.resolve(s),a={};for(let l in o){let c=o[l];a[this._extractAssetIdFromBundle(n,l)]=c}i[n]=a}}),t?i[e[0]]:i}resolveUrl(e){let t=this.resolve(e);if(typeof e!="string"){let i={};for(let n in t)i[n]=t[n].src;return i}return t.src}resolve(e){let t=ss(e);e=Ft(e);let i={};return e.forEach(n=>{if(!this._resolverHash[n])if(this._assetMap[n]){let s=this._assetMap[n],o=this._getPreferredOrder(s);o?.priority.forEach(a=>{o.params[a].forEach(l=>{let c=s.filter(u=>u[a]?u[a]===l:!1);c.length&&(s=c)})}),this._resolverHash[n]=s[0]}else this._resolverHash[n]=this._buildResolvedAsset({alias:[n],src:n},{});i[n]=this._resolverHash[n]}),t?i[e[0]]:i}hasKey(e){return!!this._assetMap[e]}hasBundle(e){return!!this._bundles[e]}_getPreferredOrder(e){for(let t=0;t<e.length;t++){let i=e[t],n=this._preferredOrder.find(s=>s.params.format.includes(i.format));if(n)return n}return this._preferredOrder[0]}_appendDefaultSearchParams(e){if(!this._defaultSearchParams)return e;let t=/\?/.test(e)?"&":"?";return`${e}${t}${this._defaultSearchParams}`}_buildResolvedAsset(e,t){let{aliases:i,data:n,loadParser:s,format:o}=t;return(this._basePath||this._rootPath)&&(e.src=at.toAbsolute(e.src,this._basePath,this._rootPath)),e.alias=i??e.alias??[e.src],e.src=this._appendDefaultSearchParams(e.src),e.data={...n||{},...e.data},e.loadParser=s??e.loadParser,e.format=o??e.format??HZ(e.src),e}};tr.RETINA_PREFIX=/@([0-9\.]+)x/});var Cu,jE=m(()=>{"use strict";Cu=(r,e)=>{let t=e.split("?")[1];return t&&(r+=`?${t}`),r}});var nT,VE,sT=m(()=>{st();me();nT=class bu{constructor(e,t){this.linkedSheets=[],this._texture=e instanceof F?e:null,this.textureSource=e.source,this.textures={},this.animations={},this.data=t;let i=parseFloat(t.meta.scale);i?(this.resolution=i,e.source.resolution=this.resolution):this.resolution=e.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}parse(){return new Promise(e=>{this._callback=e,this._batchIndex=0,this._frameKeys.length<=bu.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(e){let t=e,i=bu.BATCH_SIZE;for(;t-e<i&&t<this._frameKeys.length;){let n=this._frameKeys[t],s=this._frames[n],o=s.frame;if(o){let a=null,l=null,c=s.trimmed!==!1&&s.sourceSize?s.sourceSize:s.frame,u=new ee(0,0,Math.floor(c.w)/this.resolution,Math.floor(c.h)/this.resolution);s.rotated?a=new ee(Math.floor(o.x)/this.resolution,Math.floor(o.y)/this.resolution,Math.floor(o.h)/this.resolution,Math.floor(o.w)/this.resolution):a=new ee(Math.floor(o.x)/this.resolution,Math.floor(o.y)/this.resolution,Math.floor(o.w)/this.resolution,Math.floor(o.h)/this.resolution),s.trimmed!==!1&&s.spriteSourceSize&&(l=new ee(Math.floor(s.spriteSourceSize.x)/this.resolution,Math.floor(s.spriteSourceSize.y)/this.resolution,Math.floor(o.w)/this.resolution,Math.floor(o.h)/this.resolution)),this.textures[n]=new F({source:this.textureSource,frame:a,orig:u,trim:l,rotate:s.rotated?2:0,defaultAnchor:s.anchor,defaultBorders:s.borders,label:n.toString()})}t++}}_processAnimations(){let e=this.data.animations||{};for(let t in e){this.animations[t]=[];for(let i=0;i<e[t].length;i++){let n=e[t][i];this.animations[t].push(this.textures[n])}}}_parseComplete(){let e=this._callback;this._callback=null,this._batchIndex=0,e.call(this,this.textures)}_nextBatch(){this._processFrames(this._batchIndex*bu.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*bu.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete())},0)}destroy(e=!1){for(let t in this.textures)this.textures[t].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,e&&(this._texture?.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[]}};nT.BATCH_SIZE=1e3;VE=nT});function oT(r,e,t){let i={};if(r.forEach(n=>{i[n]=e}),Object.keys(e.textures).forEach(n=>{i[n]=e.textures[n]}),!t){let n=at.dirname(r[0]);e.linkedSheets.forEach((s,o)=>{let a=oT([`${n}/${e.data.meta.related_multi_packs[o]}`],s,!0);Object.assign(i,a)})}return i}var WZ,aT,uT=m(()=>{pn();Mo();jE();M();me();ns();sT();WZ=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];aT={extension:v.Asset,cache:{test:r=>r instanceof VE,getCacheableAssets:(r,e)=>oT(r,e,!1)},resolver:{extension:{type:v.ResolveParser,name:"resolveSpritesheet"},test:r=>{let t=r.split("?")[0].split("."),i=t.pop(),n=t.pop();return i==="json"&&WZ.includes(n)},parse:r=>{let e=r.split(".");return{resolution:parseFloat(tr.RETINA_PREFIX.exec(r)?.[1]??"1"),format:e[e.length-2],src:r}}},loader:{name:"spritesheetLoader",extension:{type:v.LoadParser,priority:Rt.Normal,name:"spritesheetLoader"},async testParse(r,e){return at.extname(e.src).toLowerCase()===".json"&&!!r.frames},async parse(r,e,t){let{texture:i,imageFilename:n,textureOptions:s}=e?.data??{},o=at.dirname(e.src);o&&o.lastIndexOf("/")!==o.length-1&&(o+="/");let a;if(i instanceof F)a=i;else{let u=Cu(o+(n??r.meta.image),e.src);a=(await t.load([{src:u,data:s}]))[u]}let l=new VE(a.source,r);await l.parse();let c=r?.meta?.related_multi_packs;if(Array.isArray(c)){let u=[];for(let h of c){if(typeof h!="string")continue;let d=o+h;e.data?.ignoreMultiPack||(d=Cu(d,e.src),u.push(t.load({src:d,data:{textureOptions:s,ignoreMultiPack:!0}})))}let A=await Promise.all(u);l.linkedSheets=A,A.forEach(h=>{h.linkedSheets=[l].concat(l.linkedSheets.filter(d=>d!==h))})}return l},async unload(r,e,t){await t.unload(r.textureSource._sourceOrigin),r.destroy(!1)}}}});var qf=m(()=>{M();uT();N.add(aT)});function jf(r,e,t){let{width:i,height:n}=t.orig,s=t.trim;if(s){let o=s.width,a=s.height;r.minX=s.x-e._x*i,r.maxX=r.minX+o,r.minY=s.y-e._y*n,r.maxY=r.minY+a}else r.minX=-e._x*i,r.maxX=r.minX+i,r.minY=-e._y*n,r.maxY=r.minY+n}var YE=m(()=>{"use strict"});var mt,wu=m(()=>{hn();me();YE();Pe();Ii();mt=class r extends $e{constructor(e=F.EMPTY){e instanceof F&&(e={texture:e});let{texture:t=F.EMPTY,anchor:i,roundPixels:n,width:s,height:o,...a}=e;super({label:"Sprite",...a}),this.renderPipeId="sprite",this.batched=!0,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new Qe({_onUpdate:()=>{this.onViewUpdate()}}),i?this.anchor=i:t.defaultAnchor&&(this.anchor=t.defaultAnchor),this.texture=t,this.allowChildren=!1,this.roundPixels=n??!1,s!==void 0&&(this.width=s),o!==void 0&&(this.height=o)}static from(e,t=!1){return e instanceof F?new r(e):new r(F.from(e,t))}set texture(e){e||(e=F.EMPTY);let t=this._texture;t!==e&&(t&&t.dynamic&&t.off("update",this.onViewUpdate,this),e.dynamic&&e.on("update",this.onViewUpdate,this),this._texture=e,this._width&&this._setWidth(this._width,this._texture.orig.width),this._height&&this._setHeight(this._height,this._texture.orig.height),this.onViewUpdate())}get texture(){return this._texture}get visualBounds(){return jf(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return W("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let e=this._anchor,t=this._texture,i=this._bounds,{width:n,height:s}=t.orig;i.minX=-e._x*n,i.maxX=i.minX+n,i.minY=-e._y*s,i.maxY=i.minY+s}destroy(e=!1){if(super.destroy(e),typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(i)}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e)}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(e){this._setWidth(e,this._texture.orig.width),this._width=e}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(e){this._setHeight(e,this._texture.orig.height),this._height=e}getSize(e){return e||(e={}),e.width=Math.abs(this.scale.x)*this._texture.orig.width,e.height=Math.abs(this.scale.y)*this._texture.orig.height,e}setSize(e,t){typeof e=="object"?(t=e.height??e.width,e=e.width):t??(t=e),e!==void 0&&this._setWidth(e,this._texture.orig.width),t!==void 0&&this._setHeight(t,this._texture.orig.height)}}});function Vf(r,e,t){let i=qZ;r.measurable=!0,vo(r,t,i),e.addBoundsMask(i),r.measurable=!1}var qZ,KE=m(()=>{Pt();du();qZ=new ge});function Yf(r,e,t){let i=$t.get();r.measurable=!0;let n=rt.get().identity(),s=lT(r,t,n);Bo(r,i,s),r.measurable=!1,e.addBoundsMask(i),rt.return(n),$t.return(i)}function lT(r,e,t){return r?(r!==e&&(lT(r.parent,e,t),r.updateLocalTransform(),t.append(r.localTransform)),t):(q("Mask bounds, renderable is not inside the root container"),t)}var zE=m(()=>{Mf();Jn();Be()});var Qu,cT=m(()=>{M();wu();KE();zE();Qu=class{constructor(e){this.priority=0,this.inverse=!1,this.pipe="alphaMask",e?.mask&&this.init(e.mask)}init(e){this.mask=e,this.renderMaskToTexture=!(e instanceof mt),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=!1}reset(){this.mask.measurable=!0,this.mask=null}addBounds(e,t){this.inverse||Vf(this.mask,e,t)}addLocalBounds(e,t){Yf(this.mask,e,t)}containsPoint(e,t){let i=this.mask;return t(i,e)}destroy(){this.reset()}static test(e){return e instanceof mt}};Qu.extension=v.MaskEffect});var Su,AT=m(()=>{M();Su=class{constructor(e){this.priority=0,this.pipe="colorMask",e?.mask&&this.init(e.mask)}init(e){this.mask=e}destroy(){}static test(e){return typeof e=="number"}};Su.extension=v.MaskEffect});var Tu,hT=m(()=>{M();Br();KE();zE();Tu=class{constructor(e){this.priority=0,this.pipe="stencilMask",e?.mask&&this.init(e.mask)}init(e){this.mask=e,this.mask.includeInBuild=!1,this.mask.measurable=!1}reset(){this.mask.measurable=!0,this.mask.includeInBuild=!0,this.mask=null}addBounds(e,t){Vf(this.mask,e,t)}addLocalBounds(e,t){Yf(this.mask,e,t)}containsPoint(e,t){let i=this.mask;return t(i,e)}destroy(){this.reset()}static test(e){return e instanceof Ae}};Tu.extension=v.MaskEffect});var Ct,Po=m(()=>{De();M();qt();Ct=class extends Ie{constructor(e){e.resource||(e.resource=X.get().createCanvas()),e.width||(e.width=e.resource.width,e.autoDensity||(e.width/=e.resolution)),e.height||(e.height=e.resource.height,e.autoDensity||(e.height/=e.resolution)),super(e),this.uploadMethodId="image",this.autoDensity=e.autoDensity,this.resizeCanvas(),this.transparent=!!e.transparent}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight)}resize(e=this.width,t=this.height,i=this._resolution){let n=super.resize(e,t,i);return n&&this.resizeCanvas(),n}static test(e){return globalThis.HTMLCanvasElement&&e instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&e instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}};Ct.extension=v.TextureSource});var yt,os=m(()=>{De();M();Be();qt();yt=class extends Ie{constructor(e){if(e.resource&&globalThis.HTMLImageElement&&e.resource instanceof HTMLImageElement){let t=X.get().createCanvas(e.resource.width,e.resource.height);t.getContext("2d").drawImage(e.resource,0,0,e.resource.width,e.resource.height),e.resource=t,q("ImageSource: Image element passed, converting to canvas. Use CanvasSource instead.")}super(e),this.uploadMethodId="image",this.autoGarbageCollect=!0}static test(e){return globalThis.HTMLImageElement&&e instanceof HTMLImageElement||typeof ImageBitmap<"u"&&e instanceof ImageBitmap||globalThis.VideoFrame&&e instanceof VideoFrame}};yt.extension=v.TextureSource});async function Kf(){return XE??(XE=(async()=>{let e=document.createElement("canvas").getContext("webgl");if(!e)return"premultiply-alpha-on-upload";let t=await new Promise(o=>{let a=document.createElement("video");a.onloadeddata=()=>o(a),a.onerror=()=>o(null),a.autoplay=!1,a.crossOrigin="anonymous",a.preload="auto",a.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",a.load()});if(!t)return"premultiply-alpha-on-upload";let i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i);let n=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.NONE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t);let s=new Uint8Array(4);return e.readPixels(0,0,1,1,e.RGBA,e.UNSIGNED_BYTE,s),e.deleteFramebuffer(n),e.deleteTexture(i),e.getExtension("WEBGL_lose_context")?.loseContext(),s[0]<=s[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),XE}var XE,JE=m(()=>{"use strict"});var zf,Do,ZE=m(()=>{M();To();JE();qt();zf=class dT extends Ie{constructor(e){super(e),this.isReady=!1,this.uploadMethodId="video",e={...dT.defaultOptions,...e},this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=e.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=e.autoPlay!==!1,this.alphaMode=e.alphaMode??"premultiply-alpha-on-upload",this._videoFrameRequestCallback=this._videoFrameRequestCallback.bind(this),this._videoFrameRequestCallbackHandle=null,this._load=null,this._resolve=null,this._reject=null,this._onCanPlay=this._onCanPlay.bind(this),this._onCanPlayThrough=this._onCanPlayThrough.bind(this),this._onError=this._onError.bind(this),this._onPlayStart=this._onPlayStart.bind(this),this._onPlayStop=this._onPlayStop.bind(this),this._onSeeked=this._onSeeked.bind(this),e.autoLoad!==!1&&this.load()}updateFrame(){if(!this.destroyed){if(this._updateFPS){let e=ot.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-e)}(!this._updateFPS||this._msToNextUpdate<=0)&&(this._msToNextUpdate=this._updateFPS?Math.floor(1e3/this._updateFPS):0),this.isValid&&this.update()}}_videoFrameRequestCallback(){this.updateFrame(),this.destroyed?this._videoFrameRequestCallbackHandle=null:this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback)}get isValid(){return!!this.resource.videoWidth&&!!this.resource.videoHeight}async load(){if(this._load)return this._load;let e=this.resource,t=this.options;return(e.readyState===e.HAVE_ENOUGH_DATA||e.readyState===e.HAVE_FUTURE_DATA)&&e.width&&e.height&&(e.complete=!0),e.addEventListener("play",this._onPlayStart),e.addEventListener("pause",this._onPlayStop),e.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(t.preload||e.addEventListener("canplay",this._onCanPlay),e.addEventListener("canplaythrough",this._onCanPlayThrough),e.addEventListener("error",this._onError,!0)),this.alphaMode=await Kf(),this._load=new Promise((i,n)=>{this.isValid?i(this):(this._resolve=i,this._reject=n,t.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${t.preloadTimeoutMs}ms`))})),e.load())}),this._load}_onError(e){this.resource.removeEventListener("error",this._onError,!0),this.emit("error",e),this._reject&&(this._reject(e),this._reject=null,this._resolve=null)}_isSourcePlaying(){let e=this.resource;return!e.paused&&!e.ended}_isSourceReady(){return this.resource.readyState>2}_onPlayStart(){this.isValid||this._mediaReady(),this._configureAutoUpdate()}_onPlayStop(){this._configureAutoUpdate()}_onSeeked(){this._autoUpdate&&!this._isSourcePlaying()&&(this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0)}_onCanPlay(){this.resource.removeEventListener("canplay",this._onCanPlay),this._mediaReady()}_onCanPlayThrough(){this.resource.removeEventListener("canplaythrough",this._onCanPlay),this._preloadTimeout&&(clearTimeout(this._preloadTimeout),this._preloadTimeout=void 0),this._mediaReady()}_mediaReady(){let e=this.resource;this.isValid&&(this.isReady=!0,this.resize(e.videoWidth,e.videoHeight)),this._msToNextUpdate=0,this.updateFrame(),this._msToNextUpdate=0,this._resolve&&(this._resolve(this),this._resolve=null,this._reject=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&this.resource.play()}destroy(){this._configureAutoUpdate();let e=this.resource;e&&(e.removeEventListener("play",this._onPlayStart),e.removeEventListener("pause",this._onPlayStop),e.removeEventListener("seeked",this._onSeeked),e.removeEventListener("canplay",this._onCanPlay),e.removeEventListener("canplaythrough",this._onCanPlayThrough),e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load()),super.destroy()}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){e!==this._autoUpdate&&(this._autoUpdate=e,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(e){e!==this._updateFPS&&(this._updateFPS=e,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(ot.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0),this._videoFrameRequestCallbackHandle===null&&(this._videoFrameRequestCallbackHandle=this.resource.requestVideoFrameCallback(this._videoFrameRequestCallback))):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker||(ot.shared.add(this.updateFrame,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(ot.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(e){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement}};zf.extension=v.TextureSource;zf.defaultOptions={...Ie.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1};zf.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};Do=zf});var $E,ye,vi=m(()=>{Be();Bu();$E=class{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(e){return this._cache.has(e)}get(e){let t=this._cache.get(e);return t||q(`[Assets] Asset id ${e} was not found in the Cache`),t}set(e,t){let i=Ft(e),n;for(let l=0;l<this.parsers.length;l++){let c=this.parsers[l];if(c.test(t)){n=c.getCacheableAssets(i,t);break}}let s=new Map(Object.entries(n||{}));n||i.forEach(l=>{s.set(l,t)});let o=[...s.keys()],a={cacheKeys:o,keys:i};i.forEach(l=>{this._cacheMap.set(l,a)}),o.forEach(l=>{let c=n?n[l]:t;this._cache.has(l)&&this._cache.get(l)!==c&&q("[Cache] already has key:",l),this._cache.set(l,s.get(l))})}remove(e){if(!this._cacheMap.has(e)){q(`[Assets] Asset id ${e} was not found in the Cache`);return}let t=this._cacheMap.get(e);t.cacheKeys.forEach(n=>{this._cache.delete(n)}),t.keys.forEach(n=>{this._cacheMap.delete(n)})}get parsers(){return this._parsers}},ye=new $E});function fT(r={}){let e=r&&r.resource,t=e?r.resource:r,i=e?r:{resource:r};for(let n=0;n<e_.length;n++){let s=e_[n];if(s.test(t))return new s(i)}throw new Error(`Could not find a source type for resource: ${i.resource}`)}function pT(r={},e=!1){let t=r&&r.resource,i=t?r.resource:r,n=t?r:{resource:r};if(!e&&ye.has(i))return ye.get(i);let s=new F({source:fT(n)});return s.on("destroy",()=>{ye.has(i)&&ye.remove(i)}),e||ye.set(i,s),s}function gT(r,e=!1){return typeof r=="string"?ye.get(r):r instanceof Ie?new F({source:r}):pT(r,e)}var e_,t_=m(()=>{vi();M();qt();me();e_=[];N.handleByList(v.TextureSource,e_);F.from=gT;Ie.from=fT});var Xf=m(()=>{M();cT();AT();hT();wE();Po();os();ZE();t_();N.add(Qu,Su,Tu,Do,yt,Ct,rs)});var lt,gn=m(()=>{"use strict";lt=class{constructor(e){this.resources=Object.create(null),this._dirty=!0;let t=0;for(let i in e){let n=e[i];this.setResource(n,t++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;let e=[],t=0;for(let i in this.resources)e[t++]=this.resources[i]._resourceId;this._key=e.join("|")}setResource(e,t){let i=this.resources[t];e!==i&&(i&&e.off?.("change",this.onResourceChange,this),e.on?.("change",this.onResourceChange,this),this.resources[t]=e,this._dirty=!0)}getResource(e){return this.resources[e]}_touch(e){let t=this.resources;for(let i in t)t[i]._touched=e}destroy(){let e=this.resources;for(let t in e)e[t].off?.("change",this.onResourceChange,this);this.resources=null}onResourceChange(e){if(this._dirty=!0,e.destroyed){let t=this.resources;for(let i in t)t[i]===e&&(t[i]=null)}else this._updateKey()}}});function Zf(){return(!Jf||Jf?.isContextLost())&&(Jf=X.get().createCanvas().getContext("webgl",{})),Jf}var Jf,r_=m(()=>{De()});function VZ(r){let e="";for(let t=0;t<r;++t)t>0&&(e+=`
|
|
22
|
+
else `),t<r-1&&(e+=`if(test == ${t}.0){}`);return e}function mT(r,e){if(r===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let t=e.createShader(e.FRAGMENT_SHADER);try{for(;;){let i=jZ.replace(/%forloop%/gi,VZ(r));if(e.shaderSource(t,i),e.compileShader(t),!e.getShaderParameter(t,e.COMPILE_STATUS))r=r/2|0;else break}}finally{e.deleteShader(t)}return r}var jZ,yT=m(()=>{"use strict";jZ=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
|
|
23
|
+
`)});function or(){if(Ro)return Ro;let r=Zf();return Ro=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),Ro=mT(Ro,r),r.getExtension("WEBGL_lose_context")?.loseContext(),Ro}var Ro,as=m(()=>{r_();yT();Ro=null});function Fo(r,e){let t=2166136261;for(let i=0;i<e;i++)t^=r[i].uid,t=Math.imul(t,16777619),t>>>=0;return ET[t]||YZ(r,e,t)}function YZ(r,e,t){let i={},n=0;i_||(i_=or());for(let o=0;o<i_;o++){let a=o<e?r[o]:F.EMPTY.source;i[n++]=a.source,i[n++]=a.style}let s=new lt(i);return ET[t]=s,s}var ET,i_,$f=m(()=>{gn();me();as();ET={};i_=0});var jr,n_=m(()=>{"use strict";jr=class{constructor(e){typeof e=="number"?this.rawBinaryData=new ArrayBuffer(e):e instanceof Uint8Array?this.rawBinaryData=e.buffer:this.rawBinaryData=e,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(e){return this[`${e}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this.uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null}static sizeOf(e){switch(e){case"int8":case"uint8":return 1;case"int16":case"uint16":return 2;case"int32":case"uint32":case"float32":return 4;default:throw new Error(`${e} isn't a valid view type`)}}}});function Mu(r,e){let t=r.byteLength/8|0,i=new Float64Array(r,0,t);new Float64Array(e,0,t).set(i);let s=r.byteLength-t*8;if(s>0){let o=new Uint8Array(r,t*8,s);new Uint8Array(e,t*8,s).set(o)}}var s_=m(()=>{"use strict"});var _T,Ge,us=m(()=>{"use strict";_T={normal:"normal-npm",add:"add-npm",screen:"screen-npm"},Ge=(r=>(r[r.DISABLED=0]="DISABLED",r[r.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",r[r.MASK_ACTIVE=2]="MASK_ACTIVE",r[r.INVERSE_MASK_ACTIVE=3]="INVERSE_MASK_ACTIVE",r[r.RENDERING_MASK_REMOVE=4]="RENDERING_MASK_REMOVE",r[r.NONE=5]="NONE",r))(Ge||{})});function xi(r,e){return e.alphaMode==="no-premultiply-alpha"&&_T[r]||r}var Pu=m(()=>{us()});var ep,IT=m(()=>{"use strict";ep=class{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0}clear(){for(let e=0;e<this.count;e++){let t=this.textures[e];this.textures[e]=null,this.ids[t.uid]=null}this.count=0}}});function vT(){return a_>0?BT[--a_]:new o_}function xT(r){BT[a_++]=r}var o_,BT,a_,Du,CT,bT,wT=m(()=>{gt();n_();s_();Pu();as();IT();o_=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new ep,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=!0}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null}},BT=[],a_=0;Du=0,CT=class tp{constructor(e={}){this.uid=fe("batcher"),this.dirty=!0,this.batchIndex=0,this.batches=[],this._elements=[],tp.defaultOptions.maxTextures=tp.defaultOptions.maxTextures??or(),e={...tp.defaultOptions,...e};let{maxTextures:t,attributesInitialSize:i,indicesInitialSize:n}=e;this.attributeBuffer=new jr(i*4),this.indexBuffer=new Uint16Array(n),this.maxTextures=t}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let e=0;e<this.batchIndex;e++)xT(this.batches[e]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=!0}add(e){this._elements[this.elementSize++]=e,e._indexStart=this.indexSize,e._attributeStart=this.attributeSize,e._batcher=this,this.indexSize+=e.indexSize,this.attributeSize+=e.attributeSize*this.vertexSize}checkAndUpdateTexture(e,t){let i=e._batch.textures.ids[t._source.uid];return!i&&i!==0?!1:(e._textureId=i,e.texture=t,!0)}updateElement(e){this.dirty=!0;let t=this.attributeBuffer;e.packAsQuad?this.packQuadAttributes(e,t.float32View,t.uint32View,e._attributeStart,e._textureId):this.packAttributes(e,t.float32View,t.uint32View,e._attributeStart,e._textureId)}break(e){let t=this._elements;if(!t[this.elementStart])return;let i=vT(),n=i.textures;n.clear();let s=t[this.elementStart],o=xi(s.blendMode,s.texture._source),a=s.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let l=this.attributeBuffer.float32View,c=this.attributeBuffer.uint32View,u=this.indexBuffer,A=this._batchIndexSize,h=this._batchIndexStart,d="startBatch",f=this.maxTextures;for(let g=this.elementStart;g<this.elementSize;++g){let p=t[g];t[g]=null;let x=p.texture._source,B=xi(p.blendMode,x),w=o!==B||a!==p.topology;if(x._batchTick===Du&&!w){p._textureId=x._textureBindLocation,A+=p.indexSize,p.packAsQuad?(this.packQuadAttributes(p,l,c,p._attributeStart,p._textureId),this.packQuadIndex(u,p._indexStart,p._attributeStart/this.vertexSize)):(this.packAttributes(p,l,c,p._attributeStart,p._textureId),this.packIndex(p,u,p._indexStart,p._attributeStart/this.vertexSize)),p._batch=i;continue}x._batchTick=Du,(n.count>=f||w)&&(this._finishBatch(i,h,A-h,n,o,a,e,d),d="renderBatch",h=A,o=B,a=p.topology,i=vT(),n=i.textures,n.clear(),++Du),p._textureId=x._textureBindLocation=n.count,n.ids[x.uid]=n.count,n.textures[n.count++]=x,p._batch=i,A+=p.indexSize,p.packAsQuad?(this.packQuadAttributes(p,l,c,p._attributeStart,p._textureId),this.packQuadIndex(u,p._indexStart,p._attributeStart/this.vertexSize)):(this.packAttributes(p,l,c,p._attributeStart,p._textureId),this.packIndex(p,u,p._indexStart,p._attributeStart/this.vertexSize))}n.count>0&&(this._finishBatch(i,h,A-h,n,o,a,e,d),h=A,++Du),this.elementStart=this.elementSize,this._batchIndexStart=h,this._batchIndexSize=A}_finishBatch(e,t,i,n,s,o,a,l){e.gpuBindGroup=null,e.bindGroup=null,e.action=l,e.batcher=this,e.textures=n,e.blendMode=s,e.topology=o,e.start=t,e.size=i,++Du,this.batches[this.batchIndex++]=e,a.add(e)}finish(e){this.break(e)}ensureAttributeBuffer(e){e*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(e*4)}ensureIndexBuffer(e){e<=this.indexBuffer.length||this._resizeIndexBuffer(e)}_resizeAttributeBuffer(e){let t=Math.max(e,this.attributeBuffer.size*2),i=new jr(t);Mu(this.attributeBuffer.rawBinaryData,i.rawBinaryData),this.attributeBuffer=i}_resizeIndexBuffer(e){let t=this.indexBuffer,i=Math.max(e,t.length*1.5);i+=i%2;let n=i>65535?new Uint32Array(i):new Uint16Array(i);if(n.BYTES_PER_ELEMENT!==t.BYTES_PER_ELEMENT)for(let s=0;s<t.length;s++)n[s]=t[s];else Mu(t.buffer,n.buffer);this.indexBuffer=n}packQuadIndex(e,t,i){e[t]=i+0,e[t+1]=i+1,e[t+2]=i+2,e[t+3]=i+0,e[t+4]=i+2,e[t+5]=i+3}packIndex(e,t,i,n){let s=e.indices,o=e.indexSize,a=e.indexOffset,l=e.attributeOffset;for(let c=0;c<o;c++)t[i++]=n+s[c+a]-l}destroy(){for(let e=0;e<this.batches.length;e++)xT(this.batches[e]);this.batches=null;for(let e=0;e<this._elements.length;e++)this._elements[e]._batch=null;this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null}};CT.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};bT=CT});var he,Bi=m(()=>{"use strict";he=(r=>(r[r.MAP_READ=1]="MAP_READ",r[r.MAP_WRITE=2]="MAP_WRITE",r[r.COPY_SRC=4]="COPY_SRC",r[r.COPY_DST=8]="COPY_DST",r[r.INDEX=16]="INDEX",r[r.VERTEX=32]="VERTEX",r[r.UNIFORM=64]="UNIFORM",r[r.STORAGE=128]="STORAGE",r[r.INDIRECT=256]="INDIRECT",r[r.QUERY_RESOLVE=512]="QUERY_RESOLVE",r[r.STATIC=1024]="STATIC",r))(he||{})});var Xe,mn=m(()=>{xt();gt();Bi();Xe=class extends Me{constructor(e){let{data:t,size:i}=e,{usage:n,label:s,shrinkToFit:o}=e;super(),this.uid=fe("buffer"),this._resourceType="buffer",this._resourceId=fe("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=!0,this.destroyed=!1,t instanceof Array&&(t=new Float32Array(t)),this._data=t,i??(i=t?.byteLength);let a=!!t;this.descriptor={size:i,usage:n,mappedAtCreation:a,label:s},this.shrinkToFit=o??!0}get data(){return this._data}set data(e){this.setDataWithSize(e,e.length,!0)}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}get static(){return!!(this.descriptor.usage&he.STATIC)}set static(e){e?this.descriptor.usage|=he.STATIC:this.descriptor.usage&=~he.STATIC}setDataWithSize(e,t,i){if(this._updateID++,this._updateSize=t*e.BYTES_PER_ELEMENT,this._data===e){i&&this.emit("update",this);return}let n=this._data;if(this._data=e,this._dataInt32=null,!n||n.length!==e.length){!this.shrinkToFit&&n&&e.byteLength<n.byteLength?i&&this.emit("update",this):(this.descriptor.size=e.byteLength,this._resourceId=fe("resource"),this.emit("change",this));return}i&&this.emit("update",this)}update(e){this._updateSize=e??this._updateSize,this._updateID++,this.emit("update",this)}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners()}}});function u_(r,e){if(!(r instanceof Xe)){let t=e?he.INDEX:he.VERTEX;r instanceof Array&&(e?(r=new Uint32Array(r),t=he.INDEX|he.COPY_DST):(r=new Float32Array(r),t=he.VERTEX|he.COPY_DST)),r=new Xe({data:r,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:t})}return r}var QT=m(()=>{mn();Bi()});function ST(r,e,t){let i=r.getAttribute(e);if(!i)return t.minX=0,t.minY=0,t.maxX=0,t.maxY=0,t;let n=i.buffer.data,s=1/0,o=1/0,a=-1/0,l=-1/0,c=n.BYTES_PER_ELEMENT,u=(i.offset||0)/c,A=(i.stride||2*4)/c;for(let h=u;h<n.length;h+=A){let d=n[h],f=n[h+1];d>a&&(a=d),f>l&&(l=f),d<s&&(s=d),f<o&&(o=f)}return t.minX=s,t.minY=o,t.maxX=a,t.maxY=l,t}var TT=m(()=>{"use strict"});function KZ(r){return(r instanceof Xe||Array.isArray(r)||r.BYTES_PER_ELEMENT)&&(r={buffer:r}),r.buffer=u_(r.buffer,!1),r}var Et,yn=m(()=>{xt();Pt();gt();mn();QT();TT();Et=class extends Me{constructor(e={}){super(),this.uid=fe("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new ge,this._boundsDirty=!0;let{attributes:t,indexBuffer:i,topology:n}=e;if(this.buffers=[],this.attributes={},t)for(let s in t)this.addAttribute(s,t[s]);this.instanceCount=e.instanceCount??1,i&&this.addIndex(i),this.topology=n||"triangle-list"}onBufferUpdate(){this._boundsDirty=!0,this.emit("update",this)}getAttribute(e){return this.attributes[e]}getIndex(){return this.indexBuffer}getBuffer(e){return this.getAttribute(e).buffer}getSize(){for(let e in this.attributes){let t=this.attributes[e];return t.buffer.data.length/(t.stride/4||t.size)}return 0}addAttribute(e,t){let i=KZ(t);this.buffers.indexOf(i.buffer)===-1&&(this.buffers.push(i.buffer),i.buffer.on("update",this.onBufferUpdate,this),i.buffer.on("change",this.onBufferUpdate,this)),this.attributes[e]=i}addIndex(e){this.indexBuffer=u_(e,!0),this.buffers.push(this.indexBuffer)}get bounds(){return this._boundsDirty?(this._boundsDirty=!1,ST(this,"aPosition",this._bounds)):this._bounds}destroy(e=!1){this.emit("destroy",this),this.removeAllListeners(),e&&this.buffers.forEach(t=>t.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}});var zZ,XZ,rp,MT=m(()=>{mn();Bi();yn();zZ=new Float32Array(1),XZ=new Uint32Array(1),rp=class extends Et{constructor(){let t=new Xe({data:zZ,label:"attribute-batch-buffer",usage:he.VERTEX|he.COPY_DST,shrinkToFit:!1}),i=new Xe({data:XZ,label:"index-batch-buffer",usage:he.INDEX|he.COPY_DST,shrinkToFit:!1}),n=6*4;super({attributes:{aPosition:{buffer:t,format:"float32x2",stride:n,offset:0},aUV:{buffer:t,format:"float32x2",stride:n,offset:2*4},aColor:{buffer:t,format:"unorm8x4",stride:n,offset:4*4},aTextureIdAndRound:{buffer:t,format:"uint16x2",stride:n,offset:5*4}},indexBuffer:i})}}});function Ci(r,e){let t=PT[r];return t===void 0&&(l_[e]===void 0&&(l_[e]=1),PT[r]=t=l_[e]++),t}var l_,PT,Ru=m(()=>{"use strict";l_=Object.create(null),PT=Object.create(null)});function DT(){if(!ip){ip="mediump";let r=Zf();r&&r.getShaderPrecisionFormat&&(ip=r.getShaderPrecisionFormat(r.FRAGMENT_SHADER,r.HIGH_FLOAT).precision?"highp":"mediump")}return ip}var ip,RT=m(()=>{r_()});function FT(r,e,t){return e?r:t?(r=r.replace("out vec4 finalColor;",""),`
|
|
24
|
+
|
|
25
|
+
#ifdef GL_ES // This checks if it is WebGL1
|
|
26
|
+
#define in varying
|
|
27
|
+
#define finalColor gl_FragColor
|
|
28
|
+
#define texture texture2D
|
|
29
|
+
#endif
|
|
30
|
+
${r}
|
|
31
|
+
`):`
|
|
32
|
+
|
|
33
|
+
#ifdef GL_ES // This checks if it is WebGL1
|
|
34
|
+
#define in attribute
|
|
35
|
+
#define out varying
|
|
36
|
+
#endif
|
|
37
|
+
${r}
|
|
38
|
+
`}var kT=m(()=>{"use strict"});function OT(r,e,t){let i=t?e.maxSupportedFragmentPrecision:e.maxSupportedVertexPrecision;if(r.substring(0,9)!=="precision"){let n=t?e.requestedFragmentPrecision:e.requestedVertexPrecision;return n==="highp"&&i!=="highp"&&(n="mediump"),`precision ${n} float;
|
|
39
|
+
${r}`}else if(i!=="highp"&&r.substring(0,15)==="precision highp")return r.replace("precision highp","precision mediump");return r}var GT=m(()=>{"use strict"});function UT(r,e){return e?`#version 300 es
|
|
40
|
+
${r}`:r}var LT=m(()=>{"use strict"});function NT(r,{name:e="pixi-program"},t=!0){e=e.replace(/\s+/g,"-"),e+=t?"-fragment":"-vertex";let i=t?JZ:ZZ;return i[e]?(i[e]++,e+=`-${i[e]}`):i[e]=1,r.indexOf("#define SHADER_NAME")!==-1?r:`${`#define SHADER_NAME ${e}`}
|
|
41
|
+
${r}`}var JZ,ZZ,HT=m(()=>{"use strict";JZ={},ZZ={}});function WT(r,e){return e?r.replace("#version 300 es",""):r}var qT=m(()=>{"use strict"});var c_,A_,jT,bt,bi=m(()=>{Ru();RT();kT();GT();LT();HT();qT();c_={stripVersion:WT,ensurePrecision:OT,addProgramDefines:FT,setProgramName:NT,insertVersion:UT},A_=Object.create(null),jT=class h_{constructor(e){e={...h_.defaultOptions,...e};let t=e.fragment.indexOf("#version 300 es")!==-1,i={stripVersion:t,ensurePrecision:{requestedFragmentPrecision:e.preferredFragmentPrecision,requestedVertexPrecision:e.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:DT()},setProgramName:{name:e.name},addProgramDefines:t,insertVersion:t},n=e.fragment,s=e.vertex;Object.keys(c_).forEach(o=>{let a=i[o];n=c_[o](n,a,!0),s=c_[o](s,a,!1)}),this.fragment=n,this.vertex=s,this.transformFeedbackVaryings=e.transformFeedbackVaryings,this._key=Ci(`${this.vertex}:${this.fragment}`,"gl-program")}destroy(){this.fragment=null,this.vertex=null,this._attributeData=null,this._uniformData=null,this._uniformBlockData=null,this.transformFeedbackVaryings=null}static from(e){let t=`${e.vertex}:${e.fragment}`;return A_[t]||(A_[t]=new h_(e)),A_[t]}};jT.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};bt=jT});function jt(r){return VT[r]??VT.float32}var VT,ls=m(()=>{"use strict";VT={uint8x2:{size:2,stride:2,normalised:!1},uint8x4:{size:4,stride:4,normalised:!1},sint8x2:{size:2,stride:2,normalised:!1},sint8x4:{size:4,stride:4,normalised:!1},unorm8x2:{size:2,stride:2,normalised:!0},unorm8x4:{size:4,stride:4,normalised:!0},snorm8x2:{size:2,stride:2,normalised:!0},snorm8x4:{size:4,stride:4,normalised:!0},uint16x2:{size:2,stride:4,normalised:!1},uint16x4:{size:4,stride:8,normalised:!1},sint16x2:{size:2,stride:4,normalised:!1},sint16x4:{size:4,stride:8,normalised:!1},unorm16x2:{size:2,stride:4,normalised:!0},unorm16x4:{size:4,stride:8,normalised:!0},snorm16x2:{size:2,stride:4,normalised:!0},snorm16x4:{size:4,stride:8,normalised:!0},float16x2:{size:2,stride:4,normalised:!1},float16x4:{size:4,stride:8,normalised:!1},float32:{size:1,stride:4,normalised:!1},float32x2:{size:2,stride:8,normalised:!1},float32x3:{size:3,stride:12,normalised:!1},float32x4:{size:4,stride:16,normalised:!1},uint32:{size:1,stride:4,normalised:!1},uint32x2:{size:2,stride:8,normalised:!1},uint32x3:{size:3,stride:12,normalised:!1},uint32x4:{size:4,stride:16,normalised:!1},sint32:{size:1,stride:4,normalised:!1},sint32x2:{size:2,stride:8,normalised:!1},sint32x3:{size:3,stride:12,normalised:!1},sint32x4:{size:4,stride:16,normalised:!1}}});function YT({source:r,entryPoint:e}){let t={},i=r.indexOf(`fn ${e}`);if(i!==-1){let n=r.indexOf("->",i);if(n!==-1){let s=r.substring(i,n),o=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|$)/g,a;for(;(a=o.exec(s))!==null;){let l=$Z[a[3]]??"float32";t[a[2]]={location:parseInt(a[1],10),format:l,stride:jt(l).stride,offset:0,instance:!1,start:0}}}}return t}var $Z,KT=m(()=>{ls();$Z={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"}});function np(r){let e=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,t=/@group\((\d+)\)/,i=/@binding\((\d+)\)/,n=/var(<[^>]+>)? (\w+)/,s=/:\s*(\w+)/,o=/struct\s+(\w+)\s*{([^}]+)}/g,a=/(\w+)\s*:\s*([\w\<\>]+)/g,l=/struct\s+(\w+)/,c=r.match(e)?.map(A=>({group:parseInt(A.match(t)[1],10),binding:parseInt(A.match(i)[1],10),name:A.match(n)[2],isUniform:A.match(n)[1]==="<uniform>",type:A.match(s)[1]}));if(!c)return{groups:[],structs:[]};let u=r.match(o)?.map(A=>{let h=A.match(l)[1],d=A.match(a).reduce((f,g)=>{let[p,I]=g.split(":");return f[p.trim()]=I.trim(),f},{});return d?{name:h,members:d}:null}).filter(({name:A})=>c.some(h=>h.type===A))??[];return{groups:c,structs:u}}var zT=m(()=>{"use strict"});var ko,XT=m(()=>{"use strict";ko=(r=>(r[r.VERTEX=1]="VERTEX",r[r.FRAGMENT=2]="FRAGMENT",r[r.COMPUTE=4]="COMPUTE",r))(ko||{})});function JT({groups:r}){let e=[];for(let t=0;t<r.length;t++){let i=r[t];e[i.group]||(e[i.group]=[]),i.isUniform?e[i.group].push({binding:i.binding,visibility:ko.VERTEX|ko.FRAGMENT,buffer:{type:"uniform"}}):i.type==="sampler"?e[i.group].push({binding:i.binding,visibility:ko.FRAGMENT,sampler:{type:"filtering"}}):i.type==="texture_2d"&&e[i.group].push({binding:i.binding,visibility:ko.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}})}return e}var ZT=m(()=>{XT()});function $T({groups:r}){let e=[];for(let t=0;t<r.length;t++){let i=r[t];e[i.group]||(e[i.group]={}),e[i.group][i.name]=i.binding}return e}var eM=m(()=>{"use strict"});function tM(r,e){let t=new Set,i=new Set,n=[...r.structs,...e.structs].filter(o=>t.has(o.name)?!1:(t.add(o.name),!0)),s=[...r.groups,...e.groups].filter(o=>{let a=`${o.name}-${o.binding}`;return i.has(a)?!1:(i.add(a),!0)});return{structs:n,groups:s}}var rM=m(()=>{"use strict"});var d_,wt,En=m(()=>{Ru();KT();zT();ZT();eM();rM();d_=Object.create(null),wt=class r{constructor(e){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:t,vertex:i,layout:n,gpuLayout:s,name:o}=e;if(this.name=o,this.fragment=t,this.vertex=i,t.source===i.source){let a=np(t.source);this.structsAndGroups=a}else{let a=np(i.source),l=np(t.source);this.structsAndGroups=tM(a,l)}this.layout=n??$T(this.structsAndGroups),this.gpuLayout=s??JT(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey()}_generateProgramKey(){let{vertex:e,fragment:t}=this,i=e.source+t.source+e.entryPoint+t.entryPoint;this._layoutKey=Ci(i,"program")}get attributeData(){return this._attributeData??(this._attributeData=YT(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null}static from(e){let t=`${e.vertex.source}:${e.fragment.source}:${e.fragment.entryPoint}:${e.vertex.entryPoint}`;return d_[t]||(d_[t]=new r(e)),d_[t]}}});function f_(r,e,t){if(r)for(let i in r){let n=i.toLocaleLowerCase(),s=e[n];if(s){let o=r[i];i==="header"&&(o=o.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),t&&s.push(`//----${t}----//`),s.push(o)}else q(`${i} placement hook does not exist in shader`)}}var iM=m(()=>{Be()});function p_(r){let e={};return(r.match(e9)?.map(i=>i.replace(/[{()}]/g,""))??[]).forEach(i=>{e[i]=[]}),e}var e9,nM=m(()=>{"use strict";e9=/\{\{(.*?)\}\}/g});function sM(r,e){let t,i=/@in\s+([^;]+);/g;for(;(t=i.exec(r))!==null;)e.push(t[1])}function g_(r,e,t=!1){let i=[];sM(e,i),r.forEach(a=>{a.header&&sM(a.header,i)});let n=i;t&&n.sort();let s=n.map((a,l)=>` @location(${l}) ${a},`).join(`
|
|
42
|
+
`),o=e.replace(/@in\s+[^;]+;\s*/g,"");return o=o.replace("{{in}}",`
|
|
43
|
+
${s}
|
|
44
|
+
`),o}var oM=m(()=>{"use strict"});function aM(r,e){let t,i=/@out\s+([^;]+);/g;for(;(t=i.exec(r))!==null;)e.push(t[1])}function t9(r){let t=/\b(\w+)\s*:/g.exec(r);return t?t[1]:""}function r9(r){let e=/@.*?\s+/g;return r.replace(e,"")}function uM(r,e){let t=[];aM(e,t),r.forEach(l=>{l.header&&aM(l.header,t)});let i=0,n=t.sort().map(l=>l.indexOf("builtin")>-1?l:`@location(${i++}) ${l}`).join(`,
|
|
45
|
+
`),s=t.sort().map(l=>` var ${r9(l)};`).join(`
|
|
46
|
+
`),o=`return VSOutput(
|
|
47
|
+
${t.sort().map(l=>` ${t9(l)}`).join(`,
|
|
48
|
+
`)});`,a=e.replace(/@out\s+[^;]+;\s*/g,"");return a=a.replace("{{struct}}",`
|
|
49
|
+
${n}
|
|
50
|
+
`),a=a.replace("{{start}}",`
|
|
51
|
+
${s}
|
|
52
|
+
`),a=a.replace("{{return}}",`
|
|
53
|
+
${o}
|
|
54
|
+
`),a}var lM=m(()=>{"use strict"});function m_(r,e){let t=r;for(let i in e){let n=e[i];n.join(`
|
|
55
|
+
`).length?t=t.replace(`{{${i}}}`,`//-----${i} START-----//
|
|
56
|
+
${n.join(`
|
|
57
|
+
`)}
|
|
58
|
+
//----${i} FINISH----//`):t=t.replace(`{{${i}}}`,"")}return t}var cM=m(()=>{"use strict"});function AM({template:r,bits:e}){let t=dM(r,e);if(_n[t])return _n[t];let{vertex:i,fragment:n}=n9(r,e);return _n[t]=fM(i,n,e),_n[t]}function hM({template:r,bits:e}){let t=dM(r,e);return _n[t]||(_n[t]=fM(r.vertex,r.fragment,e)),_n[t]}function n9(r,e){let t=e.map(o=>o.vertex).filter(o=>!!o),i=e.map(o=>o.fragment).filter(o=>!!o),n=g_(t,r.vertex,!0);n=uM(t,n);let s=g_(i,r.fragment,!0);return{vertex:n,fragment:s}}function dM(r,e){return e.map(t=>(y_.has(t)||y_.set(t,i9++),y_.get(t))).sort((t,i)=>t-i).join("-")+r.vertex+r.fragment}function fM(r,e,t){let i=p_(r),n=p_(e);return t.forEach(s=>{f_(s.vertex,i,s.name),f_(s.fragment,n,s.name)}),{vertex:m_(r,i),fragment:m_(e,n)}}var _n,y_,i9,pM=m(()=>{iM();nM();oM();lM();cM();_n=Object.create(null),y_=new Map,i9=0});var gM,mM,yM,EM,_M=m(()=>{"use strict";gM=`
|
|
59
|
+
@in aPosition: vec2<f32>;
|
|
60
|
+
@in aUV: vec2<f32>;
|
|
61
|
+
|
|
62
|
+
@out @builtin(position) vPosition: vec4<f32>;
|
|
63
|
+
@out vUV : vec2<f32>;
|
|
64
|
+
@out vColor : vec4<f32>;
|
|
65
|
+
|
|
66
|
+
{{header}}
|
|
67
|
+
|
|
68
|
+
struct VSOutput {
|
|
69
|
+
{{struct}}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
@vertex
|
|
73
|
+
fn main( {{in}} ) -> VSOutput {
|
|
74
|
+
|
|
75
|
+
var worldTransformMatrix = globalUniforms.uWorldTransformMatrix;
|
|
76
|
+
var modelMatrix = mat3x3<f32>(
|
|
77
|
+
1.0, 0.0, 0.0,
|
|
78
|
+
0.0, 1.0, 0.0,
|
|
79
|
+
0.0, 0.0, 1.0
|
|
80
|
+
);
|
|
81
|
+
var position = aPosition;
|
|
82
|
+
var uv = aUV;
|
|
83
|
+
|
|
84
|
+
{{start}}
|
|
85
|
+
|
|
86
|
+
vColor = vec4<f32>(1., 1., 1., 1.);
|
|
87
|
+
|
|
88
|
+
{{main}}
|
|
89
|
+
|
|
90
|
+
vUV = uv;
|
|
91
|
+
|
|
92
|
+
var modelViewProjectionMatrix = globalUniforms.uProjectionMatrix * worldTransformMatrix * modelMatrix;
|
|
93
|
+
|
|
94
|
+
vPosition = vec4<f32>((modelViewProjectionMatrix * vec3<f32>(position, 1.0)).xy, 0.0, 1.0);
|
|
95
|
+
|
|
96
|
+
vColor *= globalUniforms.uWorldColorAlpha;
|
|
97
|
+
|
|
98
|
+
{{end}}
|
|
99
|
+
|
|
100
|
+
{{return}}
|
|
101
|
+
};
|
|
102
|
+
`,mM=`
|
|
103
|
+
@in vUV : vec2<f32>;
|
|
104
|
+
@in vColor : vec4<f32>;
|
|
105
|
+
|
|
106
|
+
{{header}}
|
|
107
|
+
|
|
108
|
+
@fragment
|
|
109
|
+
fn main(
|
|
110
|
+
{{in}}
|
|
111
|
+
) -> @location(0) vec4<f32> {
|
|
112
|
+
|
|
113
|
+
{{start}}
|
|
114
|
+
|
|
115
|
+
var outColor:vec4<f32>;
|
|
116
|
+
|
|
117
|
+
{{main}}
|
|
118
|
+
|
|
119
|
+
var finalColor:vec4<f32> = outColor * vColor;
|
|
120
|
+
|
|
121
|
+
{{end}}
|
|
122
|
+
|
|
123
|
+
return finalColor;
|
|
124
|
+
};
|
|
125
|
+
`,yM=`
|
|
126
|
+
in vec2 aPosition;
|
|
127
|
+
in vec2 aUV;
|
|
128
|
+
|
|
129
|
+
out vec4 vColor;
|
|
130
|
+
out vec2 vUV;
|
|
131
|
+
|
|
132
|
+
{{header}}
|
|
133
|
+
|
|
134
|
+
void main(void){
|
|
135
|
+
|
|
136
|
+
mat3 worldTransformMatrix = uWorldTransformMatrix;
|
|
137
|
+
mat3 modelMatrix = mat3(
|
|
138
|
+
1.0, 0.0, 0.0,
|
|
139
|
+
0.0, 1.0, 0.0,
|
|
140
|
+
0.0, 0.0, 1.0
|
|
141
|
+
);
|
|
142
|
+
vec2 position = aPosition;
|
|
143
|
+
vec2 uv = aUV;
|
|
144
|
+
|
|
145
|
+
{{start}}
|
|
146
|
+
|
|
147
|
+
vColor = vec4(1.);
|
|
148
|
+
|
|
149
|
+
{{main}}
|
|
150
|
+
|
|
151
|
+
vUV = uv;
|
|
152
|
+
|
|
153
|
+
mat3 modelViewProjectionMatrix = uProjectionMatrix * worldTransformMatrix * modelMatrix;
|
|
154
|
+
|
|
155
|
+
gl_Position = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
|
|
156
|
+
|
|
157
|
+
vColor *= uWorldColorAlpha;
|
|
158
|
+
|
|
159
|
+
{{end}}
|
|
160
|
+
}
|
|
161
|
+
`,EM=`
|
|
162
|
+
|
|
163
|
+
in vec4 vColor;
|
|
164
|
+
in vec2 vUV;
|
|
165
|
+
|
|
166
|
+
out vec4 finalColor;
|
|
167
|
+
|
|
168
|
+
{{header}}
|
|
169
|
+
|
|
170
|
+
void main(void) {
|
|
171
|
+
|
|
172
|
+
{{start}}
|
|
173
|
+
|
|
174
|
+
vec4 outColor;
|
|
175
|
+
|
|
176
|
+
{{main}}
|
|
177
|
+
|
|
178
|
+
finalColor = outColor * vColor;
|
|
179
|
+
|
|
180
|
+
{{end}}
|
|
181
|
+
}
|
|
182
|
+
`});var IM,vM,xM=m(()=>{"use strict";IM={name:"global-uniforms-bit",vertex:{header:`
|
|
183
|
+
struct GlobalUniforms {
|
|
184
|
+
uProjectionMatrix:mat3x3<f32>,
|
|
185
|
+
uWorldTransformMatrix:mat3x3<f32>,
|
|
186
|
+
uWorldColorAlpha: vec4<f32>,
|
|
187
|
+
uResolution: vec2<f32>,
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
@group(0) @binding(0) var<uniform> globalUniforms : GlobalUniforms;
|
|
191
|
+
`}},vM={name:"global-uniforms-bit",vertex:{header:`
|
|
192
|
+
uniform mat3 uProjectionMatrix;
|
|
193
|
+
uniform mat3 uWorldTransformMatrix;
|
|
194
|
+
uniform vec4 uWorldColorAlpha;
|
|
195
|
+
uniform vec2 uResolution;
|
|
196
|
+
`}}});function Vr({bits:r,name:e}){let t=AM({template:{fragment:mM,vertex:gM},bits:[IM,...r]});return wt.from({name:e,vertex:{source:t.vertex,entryPoint:"main"},fragment:{source:t.fragment,entryPoint:"main"}})}function Yr({bits:r,name:e}){return new bt({name:e,...hM({template:{vertex:yM,fragment:EM},bits:[vM,...r]})})}var In=m(()=>{bi();En();pM();_M();xM()});var Oo,Go,Fu=m(()=>{"use strict";Oo={name:"color-bit",vertex:{header:`
|
|
197
|
+
@in aColor: vec4<f32>;
|
|
198
|
+
`,main:`
|
|
199
|
+
vColor *= vec4<f32>(aColor.rgb * aColor.a, aColor.a);
|
|
200
|
+
`}},Go={name:"color-bit",vertex:{header:`
|
|
201
|
+
in vec4 aColor;
|
|
202
|
+
`,main:`
|
|
203
|
+
vColor *= vec4(aColor.rgb * aColor.a, aColor.a);
|
|
204
|
+
`}}});function s9(r){let e=[];if(r===1)e.push("@group(1) @binding(0) var textureSource1: texture_2d<f32>;"),e.push("@group(1) @binding(1) var textureSampler1: sampler;");else{let t=0;for(let i=0;i<r;i++)e.push(`@group(1) @binding(${t++}) var textureSource${i+1}: texture_2d<f32>;`),e.push(`@group(1) @binding(${t++}) var textureSampler${i+1}: sampler;`)}return e.join(`
|
|
205
|
+
`)}function o9(r){let e=[];if(r===1)e.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else{e.push("switch vTextureId {");for(let t=0;t<r;t++)t===r-1?e.push(" default:{"):e.push(` case ${t}:{`),e.push(` outColor = textureSampleGrad(textureSource${t+1}, textureSampler${t+1}, vUV, uvDx, uvDy);`),e.push(" break;}");e.push("}")}return e.join(`
|
|
206
|
+
`)}function Uo(r){return E_[r]||(E_[r]={name:"texture-batch-bit",vertex:{header:`
|
|
207
|
+
@in aTextureIdAndRound: vec2<u32>;
|
|
208
|
+
@out @interpolate(flat) vTextureId : u32;
|
|
209
|
+
`,main:`
|
|
210
|
+
vTextureId = aTextureIdAndRound.y;
|
|
211
|
+
`,end:`
|
|
212
|
+
if(aTextureIdAndRound.x == 1)
|
|
213
|
+
{
|
|
214
|
+
vPosition = vec4<f32>(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
215
|
+
}
|
|
216
|
+
`},fragment:{header:`
|
|
217
|
+
@in @interpolate(flat) vTextureId: u32;
|
|
218
|
+
|
|
219
|
+
${s9(r)}
|
|
220
|
+
`,main:`
|
|
221
|
+
var uvDx = dpdx(vUV);
|
|
222
|
+
var uvDy = dpdy(vUV);
|
|
223
|
+
|
|
224
|
+
${o9(r)}
|
|
225
|
+
`}}),E_[r]}function a9(r){let e=[];for(let t=0;t<r;t++)t>0&&e.push("else"),t<r-1&&e.push(`if(vTextureId < ${t}.5)`),e.push("{"),e.push(` outColor = texture(uTextures[${t}], vUV);`),e.push("}");return e.join(`
|
|
226
|
+
`)}function Lo(r){return __[r]||(__[r]={name:"texture-batch-bit",vertex:{header:`
|
|
227
|
+
in vec2 aTextureIdAndRound;
|
|
228
|
+
out float vTextureId;
|
|
229
|
+
|
|
230
|
+
`,main:`
|
|
231
|
+
vTextureId = aTextureIdAndRound.y;
|
|
232
|
+
`,end:`
|
|
233
|
+
if(aTextureIdAndRound.x == 1.)
|
|
234
|
+
{
|
|
235
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
236
|
+
}
|
|
237
|
+
`},fragment:{header:`
|
|
238
|
+
in float vTextureId;
|
|
239
|
+
|
|
240
|
+
uniform sampler2D uTextures[${r}];
|
|
241
|
+
|
|
242
|
+
`,main:`
|
|
243
|
+
|
|
244
|
+
${a9(r)}
|
|
245
|
+
`}}),__[r]}var E_,__,ku=m(()=>{"use strict";E_={};__={}});var Kr,zr,vn=m(()=>{"use strict";Kr={name:"round-pixels-bit",vertex:{header:`
|
|
246
|
+
fn roundPixels(position: vec2<f32>, targetSize: vec2<f32>) -> vec2<f32>
|
|
247
|
+
{
|
|
248
|
+
return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
|
|
249
|
+
}
|
|
250
|
+
`}},zr={name:"round-pixels-bit",vertex:{header:`
|
|
251
|
+
vec2 roundPixels(vec2 position, vec2 targetSize)
|
|
252
|
+
{
|
|
253
|
+
return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
|
|
254
|
+
}
|
|
255
|
+
`}}});var I_,BM,CM=m(()=>{"use strict";I_=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],BM=I_.reduce((r,e)=>(r[e]=!0,r),{})});function bM(r,e){switch(r){case"f32":return 0;case"vec2<f32>":return new Float32Array(2*e);case"vec3<f32>":return new Float32Array(3*e);case"vec4<f32>":return new Float32Array(4*e);case"mat2x2<f32>":return new Float32Array([1,0,0,1]);case"mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var wM=m(()=>{"use strict"});var QM,ve,Qt=m(()=>{gt();Ru();CM();wM();QM=class SM{constructor(e,t){this._touched=0,this.uid=fe("uniform"),this._resourceType="uniformGroup",this._resourceId=fe("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,t={...SM.defaultOptions,...t},this.uniformStructures=e;let i={};for(let n in e){let s=e[n];if(s.name=n,s.size=s.size??1,!BM[s.type])throw new Error(`Uniform type ${s.type} is not supported. Supported uniform types are: ${I_.join(", ")}`);s.value??(s.value=bM(s.type,s.size)),i[n]=s.value}this.uniforms=i,this._dirtyId=1,this.ubo=t.ubo,this.isStatic=t.isStatic,this._signature=Ci(Object.keys(i).map(n=>`${n}-${e[n].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};QM.defaultOptions={ubo:!1,isStatic:!1};ve=QM});function No(r){let e=TM[r];if(e)return e;let t=new Int32Array(r);for(let i=0;i<r;i++)t[i]=i;return e=TM[r]=new ve({uTextures:{value:t,type:"i32",size:r}},{isStatic:!0}),e}var TM,sp=m(()=>{Qt();TM={}});var je,ar=m(()=>{"use strict";je=(r=>(r[r.WEBGL=1]="WEBGL",r[r.WEBGPU=2]="WEBGPU",r[r.BOTH=3]="BOTH",r))(je||{})});var Je,br=m(()=>{xt();gt();bi();gn();En();ar();Qt();Je=class r extends Me{constructor(e){super(),this.uid=fe("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:t,glProgram:i,groups:n,resources:s,compatibleRenderers:o,groupMap:a}=e;this.gpuProgram=t,this.glProgram=i,o===void 0&&(o=0,t&&(o|=je.WEBGPU),i&&(o|=je.WEBGL)),this.compatibleRenderers=o;let l={};if(!s&&!n&&(s={}),s&&n)throw new Error("[Shader] Cannot have both resources and groups");if(!t&&n&&!a)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!t&&n&&a)for(let c in a)for(let u in a[c]){let A=a[c][u];l[A]={group:c,binding:u,name:A}}else if(t&&n&&!a){let c=t.structsAndGroups.groups;a={},c.forEach(u=>{a[u.group]=a[u.group]||{},a[u.group][u.binding]=u.name,l[u.name]=u})}else if(s){n={},a={},t&&t.structsAndGroups.groups.forEach(A=>{a[A.group]=a[A.group]||{},a[A.group][A.binding]=A.name,l[A.name]=A});let c=0;for(let u in s)l[u]||(n[99]||(n[99]=new lt,this._ownedBindGroups.push(n[99])),l[u]={group:99,binding:c,name:u},a[99]=a[99]||{},a[99][c]=u,c++);for(let u in s){let A=u,h=s[u];!h.source&&!h._resourceType&&(h=new ve(h));let d=l[A];d&&(n[d.group]||(n[d.group]=new lt,this._ownedBindGroups.push(n[d.group])),n[d.group].setResource(h,d.binding))}}this.groups=n,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(n,l)}addResource(e,t,i){var n,s;(n=this._uniformBindMap)[t]||(n[t]={}),(s=this._uniformBindMap[t])[i]||(s[i]=e),this.groups[t]||(this.groups[t]=new lt,this._ownedBindGroups.push(this.groups[t]))}_buildResourceAccessor(e,t){let i={};for(let n in t){let s=t[n];Object.defineProperty(i,s.name,{get(){return e[s.group].getResource(s.binding)},set(o){e[s.group].setResource(o,s.binding)}})}return i}destroy(e=!1){this.emit("destroy",this),e&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(t=>{t.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null}static from(e){let{gpu:t,gl:i,...n}=e,s,o;return t&&(s=wt.from(t)),i&&(o=bt.from(i)),new r({gpuProgram:s,glProgram:o,...n})}}});var op,MM=m(()=>{In();Fu();ku();vn();sp();br();op=class extends Je{constructor(e){let t=Yr({name:"batch",bits:[Go,Lo(e),zr]}),i=Vr({name:"batch",bits:[Oo,Uo(e),Kr]});super({glProgram:t,gpuProgram:i,resources:{batchSamplers:No(e)}})}}});var PM,DM,Ou,v_=m(()=>{M();wT();MT();MM();PM=null,DM=class RM extends bT{constructor(){super(...arguments),this.geometry=new rp,this.shader=PM||(PM=new op(this.maxTextures)),this.name=RM.extension.name,this.vertexSize=6}packAttributes(e,t,i,n,s){let o=s<<16|e.roundPixels&65535,a=e.transform,l=a.a,c=a.b,u=a.c,A=a.d,h=a.tx,d=a.ty,{positions:f,uvs:g}=e,p=e.color,I=e.attributeOffset,x=I+e.attributeSize;for(let B=I;B<x;B++){let w=B*2,D=f[w],T=f[w+1];t[n++]=l*D+u*T+h,t[n++]=A*T+c*D+d,t[n++]=g[w],t[n++]=g[w+1],i[n++]=p,i[n++]=o}}packQuadAttributes(e,t,i,n,s){let o=e.texture,a=e.transform,l=a.a,c=a.b,u=a.c,A=a.d,h=a.tx,d=a.ty,f=e.bounds,g=f.maxX,p=f.minX,I=f.maxY,x=f.minY,B=o.uvs,w=e.color,D=s<<16|e.roundPixels&65535;t[n+0]=l*p+u*x+h,t[n+1]=A*x+c*p+d,t[n+2]=B.x0,t[n+3]=B.y0,i[n+4]=w,i[n+5]=D,t[n+6]=l*g+u*x+h,t[n+7]=A*x+c*g+d,t[n+8]=B.x1,t[n+9]=B.y1,i[n+10]=w,i[n+11]=D,t[n+12]=l*g+u*I+h,t[n+13]=A*I+c*g+d,t[n+14]=B.x2,t[n+15]=B.y2,i[n+16]=w,i[n+17]=D,t[n+18]=l*p+u*I+h,t[n+19]=A*I+c*p+d,t[n+20]=B.x3,t[n+21]=B.y3,i[n+22]=w,i[n+23]=D}};DM.extension={type:[v.Batcher],name:"default"};Ou=DM});function FM(r,e,t,i,n,s,o,a=null){let l=0;t*=e,n*=s;let c=a.a,u=a.b,A=a.c,h=a.d,d=a.tx,f=a.ty;for(;l<o;){let g=r[t],p=r[t+1];i[n]=c*g+A*p+d,i[n+1]=u*g+h*p+f,n+=s,t+=e,l++}}function kM(r,e,t,i){let n=0;for(e*=t;n<i;)r[e]=0,r[e+1]=0,e+=t,n++}var OM=m(()=>{"use strict"});function x_(r,e,t,i,n){let s=e.a,o=e.b,a=e.c,l=e.d,c=e.tx,u=e.ty;t||(t=0),i||(i=2),n||(n=r.length/i-t);let A=t*i;for(let h=0;h<n;h++){let d=r[A],f=r[A+1];r[A]=s*d+a*f+c,r[A+1]=o*d+l*f+u,A+=i}}var GM=m(()=>{"use strict"});var u9,cs,B_=m(()=>{pe();mE();u9=new O,cs=class{constructor(){this.packAsQuad=!1,this.batcherName="default",this.topology="triangle-list",this.applyTransform=!0,this.roundPixels=0,this._batcher=null,this._batch=null}get uvs(){return this.geometryData.uvs}get positions(){return this.geometryData.vertices}get indices(){return this.geometryData.indices}get blendMode(){return this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let e=this.baseColor,t=e>>16|e&65280|(e&255)<<16,i=this.renderable;return i?Tf(t,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):t+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||u9}copyTo(e){e.indexOffset=this.indexOffset,e.indexSize=this.indexSize,e.attributeOffset=this.attributeOffset,e.attributeSize=this.attributeSize,e.baseColor=this.baseColor,e.alpha=this.alpha,e.texture=this.texture,e.geometryData=this.geometryData,e.topology=this.topology}reset(){this.applyTransform=!0,this.renderable=null,this.topology="triangle-list"}}});var Ho,UM,LM,NM=m(()=>{M();Ho={extension:{type:v.ShapeBuilder,name:"circle"},build(r,e){let t,i,n,s,o,a;if(r.type==="circle"){let w=r;t=w.x,i=w.y,o=a=w.radius,n=s=0}else if(r.type==="ellipse"){let w=r;t=w.x,i=w.y,o=w.halfWidth,a=w.halfHeight,n=s=0}else{let w=r,D=w.width/2,T=w.height/2;t=w.x+D,i=w.y+T,o=a=Math.max(0,Math.min(w.radius,Math.min(D,T))),n=D-o,s=T-a}if(!(o>=0&&a>=0&&n>=0&&s>=0))return e;let l=Math.ceil(2.3*Math.sqrt(o+a)),c=l*8+(n?4:0)+(s?4:0);if(c===0)return e;if(l===0)return e[0]=e[6]=t+n,e[1]=e[3]=i+s,e[2]=e[4]=t-n,e[5]=e[7]=i-s,e;let u=0,A=l*4+(n?2:0)+2,h=A,d=c,f=n+o,g=s,p=t+f,I=t-f,x=i+g;if(e[u++]=p,e[u++]=x,e[--A]=x,e[--A]=I,s){let w=i-g;e[h++]=I,e[h++]=w,e[--d]=w,e[--d]=p}for(let w=1;w<l;w++){let D=Math.PI/2*(w/l),T=n+Math.cos(D)*o,R=s+Math.sin(D)*a,U=t+T,Z=t-T,Y=i+R,V=i-R;e[u++]=U,e[u++]=Y,e[--A]=Y,e[--A]=Z,e[h++]=Z,e[h++]=V,e[--d]=V,e[--d]=U}f=n,g=s+a,p=t+f,I=t-f,x=i+g;let B=i-g;return e[u++]=p,e[u++]=x,e[--d]=B,e[--d]=p,n&&(e[u++]=I,e[u++]=x,e[--d]=B,e[--d]=I),e},triangulate(r,e,t,i,n,s){if(r.length===0)return;let o=0,a=0;for(let u=0;u<r.length;u+=2)o+=r[u],a+=r[u+1];o/=r.length/2,a/=r.length/2;let l=i;e[l*t]=o,e[l*t+1]=a;let c=l++;for(let u=0;u<r.length;u+=2)e[l*t]=r[u],e[l*t+1]=r[u+1],u>0&&(n[s++]=l,n[s++]=c,n[s++]=l-1),l++;n[s++]=c+1,n[s++]=c,n[s++]=l-1}},UM={...Ho,extension:{...Ho.extension,name:"ellipse"}},LM={...Ho,extension:{...Ho.extension,name:"roundedRectangle"}}});function HM(r){let e=r.length;if(e<6)return 1;let t=0;for(let i=0,n=r[e-2],s=r[e-1];i<e;i+=2){let o=r[i],a=r[i+1];t+=(o-n)*(a+s),n=o,s=a}return t<0?-1:1}var WM=m(()=>{"use strict"});function qM(r,e,t,i,n,s,o,a){let l=r-t*n,c=e-i*n,u=r+t*s,A=e+i*s,h,d;o?(h=i,d=-t):(h=-i,d=t);let f=l+h,g=c+d,p=u+h,I=A+d;return a.push(f,g),a.push(p,I),2}function As(r,e,t,i,n,s,o,a){let l=t-r,c=i-e,u=Math.atan2(l,c),A=Math.atan2(n-r,s-e);a&&u<A?u+=Math.PI*2:!a&&u>A&&(A+=Math.PI*2);let h=u,d=A-u,f=Math.abs(d),g=Math.sqrt(l*l+c*c),p=(15*f*Math.sqrt(g)/Math.PI>>0)+1,I=d/p;if(h+=I,a){o.push(r,e),o.push(t,i);for(let x=1,B=h;x<p;x++,B+=I)o.push(r,e),o.push(r+Math.sin(B)*g,e+Math.cos(B)*g);o.push(r,e),o.push(n,s)}else{o.push(t,i),o.push(r,e);for(let x=1,B=h;x<p;x++,B+=I)o.push(r+Math.sin(B)*g,e+Math.cos(B)*g),o.push(r,e);o.push(n,s),o.push(r,e)}return p*2}function jM(r,e,t,i,n,s){let o=1e-4;if(r.length===0)return;let a=e,l=a.alignment;if(e.alignment!==.5){let Ce=HM(r);t&&(Ce*=-1),l=(l-.5)*Ce+.5}let c=new j(r[0],r[1]),u=new j(r[r.length-2],r[r.length-1]),A=i,h=Math.abs(c.x-u.x)<o&&Math.abs(c.y-u.y)<o;if(A){r=r.slice(),h&&(r.pop(),r.pop(),u.set(r[r.length-2],r[r.length-1]));let Ce=(c.x+u.x)*.5,pr=(u.y+c.y)*.5;r.unshift(Ce,pr),r.push(Ce,pr)}let d=n,f=r.length/2,g=r.length,p=d.length/2,I=a.width/2,x=I*I,B=a.miterLimit*a.miterLimit,w=r[0],D=r[1],T=r[2],R=r[3],U=0,Z=0,Y=-(D-R),V=w-T,ne=0,ae=0,Fe=Math.sqrt(Y*Y+V*V);Y/=Fe,V/=Fe,Y*=I,V*=I;let Ut=l,ie=(1-Ut)*2,ue=Ut*2;A||(a.cap==="round"?g+=As(w-Y*(ie-ue)*.5,D-V*(ie-ue)*.5,w-Y*ie,D-V*ie,w+Y*ue,D+V*ue,d,!0)+2:a.cap==="square"&&(g+=qM(w,D,Y,V,ie,ue,!0,d))),d.push(w-Y*ie,D-V*ie),d.push(w+Y*ue,D+V*ue);for(let Ce=1;Ce<f-1;++Ce){w=r[(Ce-1)*2],D=r[(Ce-1)*2+1],T=r[Ce*2],R=r[Ce*2+1],U=r[(Ce+1)*2],Z=r[(Ce+1)*2+1],Y=-(D-R),V=w-T,Fe=Math.sqrt(Y*Y+V*V),Y/=Fe,V/=Fe,Y*=I,V*=I,ne=-(R-Z),ae=T-U,Fe=Math.sqrt(ne*ne+ae*ae),ne/=Fe,ae/=Fe,ne*=I,ae*=I;let pr=T-w,Rn=D-R,ni=T-U,Fi=Z-R,Ss=pr*ni+Rn*Fi,_t=Rn*ni-Fi*pr,si=_t<0;if(Math.abs(_t)<.001*Math.abs(Ss)){d.push(T-Y*ie,R-V*ie),d.push(T+Y*ue,R+V*ue),Ss>=0&&(a.join==="round"?g+=As(T,R,T-Y*ie,R-V*ie,T-ne*ie,R-ae*ie,d,!1)+4:g+=2,d.push(T-ne*ue,R-ae*ue),d.push(T+ne*ie,R+ae*ie));continue}let Fn=(-Y+w)*(-V+R)-(-Y+T)*(-V+D),oi=(-ne+U)*(-ae+R)-(-ne+T)*(-ae+Z),de=(pr*oi-ni*Fn)/_t,Dr=(Fi*Fn-Rn*oi)/_t,ki=(de-T)*(de-T)+(Dr-R)*(Dr-R),Rr=T+(de-T)*ie,Fr=R+(Dr-R)*ie,Le=T-(de-T)*ue,Xt=R-(Dr-R)*ue,Ra=Math.min(pr*pr+Rn*Rn,ni*ni+Fi*Fi),Oi=si?ie:ue,gr=Ra+Oi*Oi*x;ki<=gr?a.join==="bevel"||ki/x>B?(si?(d.push(Rr,Fr),d.push(T+Y*ue,R+V*ue),d.push(Rr,Fr),d.push(T+ne*ue,R+ae*ue)):(d.push(T-Y*ie,R-V*ie),d.push(Le,Xt),d.push(T-ne*ie,R-ae*ie),d.push(Le,Xt)),g+=2):a.join==="round"?si?(d.push(Rr,Fr),d.push(T+Y*ue,R+V*ue),g+=As(T,R,T+Y*ue,R+V*ue,T+ne*ue,R+ae*ue,d,!0)+4,d.push(Rr,Fr),d.push(T+ne*ue,R+ae*ue)):(d.push(T-Y*ie,R-V*ie),d.push(Le,Xt),g+=As(T,R,T-Y*ie,R-V*ie,T-ne*ie,R-ae*ie,d,!1)+4,d.push(T-ne*ie,R-ae*ie),d.push(Le,Xt)):(d.push(Rr,Fr),d.push(Le,Xt)):(d.push(T-Y*ie,R-V*ie),d.push(T+Y*ue,R+V*ue),a.join==="round"?si?g+=As(T,R,T+Y*ue,R+V*ue,T+ne*ue,R+ae*ue,d,!0)+2:g+=As(T,R,T-Y*ie,R-V*ie,T-ne*ie,R-ae*ie,d,!1)+2:a.join==="miter"&&ki/x<=B&&(si?(d.push(Le,Xt),d.push(Le,Xt)):(d.push(Rr,Fr),d.push(Rr,Fr)),g+=2),d.push(T-ne*ie,R-ae*ie),d.push(T+ne*ue,R+ae*ue),g+=2)}w=r[(f-2)*2],D=r[(f-2)*2+1],T=r[(f-1)*2],R=r[(f-1)*2+1],Y=-(D-R),V=w-T,Fe=Math.sqrt(Y*Y+V*V),Y/=Fe,V/=Fe,Y*=I,V*=I,d.push(T-Y*ie,R-V*ie),d.push(T+Y*ue,R+V*ue),A||(a.cap==="round"?g+=As(T-Y*(ie-ue)*.5,R-V*(ie-ue)*.5,T-Y*ie,R-V*ie,T+Y*ue,R+V*ue,d,!1)+2:a.cap==="square"&&(g+=qM(T,R,Y,V,ie,ue,!1,d)));let ir=1e-4*1e-4;for(let Ce=p;Ce<g+p-2;++Ce)w=d[Ce*2],D=d[Ce*2+1],T=d[(Ce+1)*2],R=d[(Ce+1)*2+1],U=d[(Ce+2)*2],Z=d[(Ce+2)*2+1],!(Math.abs(w*(R-Z)+T*(Z-D)+U*(D-R))<ir)&&s.push(Ce,Ce+1,Ce+2)}var VM=m(()=>{Mt();WM()});function YM(r,e,t,i){let n=1e-4;if(r.length===0)return;let s=r[0],o=r[1],a=r[r.length-2],l=r[r.length-1],c=e||Math.abs(s-a)<n&&Math.abs(o-l)<n,u=t,A=r.length/2,h=u.length/2;for(let d=0;d<A;d++)u.push(r[d*2]),u.push(r[d*2+1]);for(let d=0;d<A-1;d++)i.push(h+d,h+d+1);c&&i.push(h+A-1,h)}var KM=m(()=>{});var S_=C((mfe,Q_)=>{"use strict";Q_.exports=lp;Q_.exports.default=lp;function lp(r,e,t){t=t||2;var i=e&&e.length,n=i?e[0]*t:r.length,s=XM(r,0,n,t,!0),o=[];if(!s||s.next===s.prev)return o;var a,l,c,u,A,h,d;if(i&&(s=p9(r,e,s,t)),r.length>80*t){a=c=r[0],l=u=r[1];for(var f=t;f<n;f+=t)A=r[f],h=r[f+1],A<a&&(a=A),h<l&&(l=h),A>c&&(c=A),h>u&&(u=h);d=Math.max(c-a,u-l),d=d!==0?32767/d:0}return Gu(s,o,t,a,l,d,0),o}function XM(r,e,t,i,n){var s,o;if(n===w_(r,e,t,i)>0)for(s=e;s<t;s+=i)o=zM(s,r[s],r[s+1],o);else for(s=t-i;s>=e;s-=i)o=zM(s,r[s],r[s+1],o);return o&&cp(o,o.next)&&(Lu(o),o=o.next),o}function hs(r,e){if(!r)return r;e||(e=r);var t=r,i;do if(i=!1,!t.steiner&&(cp(t,t.next)||Ke(t.prev,t,t.next)===0)){if(Lu(t),t=e=t.prev,t===t.next)break;i=!0}else t=t.next;while(i||t!==e);return e}function Gu(r,e,t,i,n,s,o){if(r){!o&&s&&_9(r,i,n,s);for(var a=r,l,c;r.prev!==r.next;){if(l=r.prev,c=r.next,s?h9(r,i,n,s):A9(r)){e.push(l.i/t|0),e.push(r.i/t|0),e.push(c.i/t|0),Lu(r),r=c.next,a=c.next;continue}if(r=c,r===a){o?o===1?(r=d9(hs(r),e,t),Gu(r,e,t,i,n,s,2)):o===2&&f9(r,e,t,i,n,s):Gu(hs(r),e,t,i,n,s,1);break}}}}function A9(r){var e=r.prev,t=r,i=r.next;if(Ke(e,t,i)>=0)return!1;for(var n=e.x,s=t.x,o=i.x,a=e.y,l=t.y,c=i.y,u=n<s?n<o?n:o:s<o?s:o,A=a<l?a<c?a:c:l<c?l:c,h=n>s?n>o?n:o:s>o?s:o,d=a>l?a>c?a:c:l>c?l:c,f=i.next;f!==e;){if(f.x>=u&&f.x<=h&&f.y>=A&&f.y<=d&&Wo(n,a,s,l,o,c,f.x,f.y)&&Ke(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function h9(r,e,t,i){var n=r.prev,s=r,o=r.next;if(Ke(n,s,o)>=0)return!1;for(var a=n.x,l=s.x,c=o.x,u=n.y,A=s.y,h=o.y,d=a<l?a<c?a:c:l<c?l:c,f=u<A?u<h?u:h:A<h?A:h,g=a>l?a>c?a:c:l>c?l:c,p=u>A?u>h?u:h:A>h?A:h,I=C_(d,f,e,t,i),x=C_(g,p,e,t,i),B=r.prevZ,w=r.nextZ;B&&B.z>=I&&w&&w.z<=x;){if(B.x>=d&&B.x<=g&&B.y>=f&&B.y<=p&&B!==n&&B!==o&&Wo(a,u,l,A,c,h,B.x,B.y)&&Ke(B.prev,B,B.next)>=0||(B=B.prevZ,w.x>=d&&w.x<=g&&w.y>=f&&w.y<=p&&w!==n&&w!==o&&Wo(a,u,l,A,c,h,w.x,w.y)&&Ke(w.prev,w,w.next)>=0))return!1;w=w.nextZ}for(;B&&B.z>=I;){if(B.x>=d&&B.x<=g&&B.y>=f&&B.y<=p&&B!==n&&B!==o&&Wo(a,u,l,A,c,h,B.x,B.y)&&Ke(B.prev,B,B.next)>=0)return!1;B=B.prevZ}for(;w&&w.z<=x;){if(w.x>=d&&w.x<=g&&w.y>=f&&w.y<=p&&w!==n&&w!==o&&Wo(a,u,l,A,c,h,w.x,w.y)&&Ke(w.prev,w,w.next)>=0)return!1;w=w.nextZ}return!0}function d9(r,e,t){var i=r;do{var n=i.prev,s=i.next.next;!cp(n,s)&&JM(n,i,i.next,s)&&Uu(n,s)&&Uu(s,n)&&(e.push(n.i/t|0),e.push(i.i/t|0),e.push(s.i/t|0),Lu(i),Lu(i.next),i=r=s),i=i.next}while(i!==r);return hs(i)}function f9(r,e,t,i,n,s){var o=r;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&x9(o,a)){var l=ZM(o,a);o=hs(o,o.next),l=hs(l,l.next),Gu(o,e,t,i,n,s,0),Gu(l,e,t,i,n,s,0);return}a=a.next}o=o.next}while(o!==r)}function p9(r,e,t,i){var n=[],s,o,a,l,c;for(s=0,o=e.length;s<o;s++)a=e[s]*i,l=s<o-1?e[s+1]*i:r.length,c=XM(r,a,l,i,!1),c===c.next&&(c.steiner=!0),n.push(v9(c));for(n.sort(g9),s=0;s<n.length;s++)t=m9(n[s],t);return t}function g9(r,e){return r.x-e.x}function m9(r,e){var t=y9(r,e);if(!t)return e;var i=ZM(t,r);return hs(i,i.next),hs(t,t.next)}function y9(r,e){var t=e,i=r.x,n=r.y,s=-1/0,o;do{if(n<=t.y&&n>=t.next.y&&t.next.y!==t.y){var a=t.x+(n-t.y)*(t.next.x-t.x)/(t.next.y-t.y);if(a<=i&&a>s&&(s=a,o=t.x<t.next.x?t:t.next,a===i))return o}t=t.next}while(t!==e);if(!o)return null;var l=o,c=o.x,u=o.y,A=1/0,h;t=o;do i>=t.x&&t.x>=c&&i!==t.x&&Wo(n<u?i:s,n,c,u,n<u?s:i,n,t.x,t.y)&&(h=Math.abs(n-t.y)/(i-t.x),Uu(t,r)&&(h<A||h===A&&(t.x>o.x||t.x===o.x&&E9(o,t)))&&(o=t,A=h)),t=t.next;while(t!==l);return o}function E9(r,e){return Ke(r.prev,r,e.prev)<0&&Ke(e.next,r,r.next)<0}function _9(r,e,t,i){var n=r;do n.z===0&&(n.z=C_(n.x,n.y,e,t,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==r);n.prevZ.nextZ=null,n.prevZ=null,I9(n)}function I9(r){var e,t,i,n,s,o,a,l,c=1;do{for(t=r,r=null,s=null,o=0;t;){for(o++,i=t,a=0,e=0;e<c&&(a++,i=i.nextZ,!!i);e++);for(l=c;a>0||l>0&&i;)a!==0&&(l===0||!i||t.z<=i.z)?(n=t,t=t.nextZ,a--):(n=i,i=i.nextZ,l--),s?s.nextZ=n:r=n,n.prevZ=s,s=n;t=i}s.nextZ=null,c*=2}while(o>1);return r}function C_(r,e,t,i,n){return r=(r-t)*n|0,e=(e-i)*n|0,r=(r|r<<8)&16711935,r=(r|r<<4)&252645135,r=(r|r<<2)&858993459,r=(r|r<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,r|e<<1}function v9(r){var e=r,t=r;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==r);return t}function Wo(r,e,t,i,n,s,o,a){return(n-o)*(e-a)>=(r-o)*(s-a)&&(r-o)*(i-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(n-o)*(i-a)}function x9(r,e){return r.next.i!==e.i&&r.prev.i!==e.i&&!B9(r,e)&&(Uu(r,e)&&Uu(e,r)&&C9(r,e)&&(Ke(r.prev,r,e.prev)||Ke(r,e.prev,e))||cp(r,e)&&Ke(r.prev,r,r.next)>0&&Ke(e.prev,e,e.next)>0)}function Ke(r,e,t){return(e.y-r.y)*(t.x-e.x)-(e.x-r.x)*(t.y-e.y)}function cp(r,e){return r.x===e.x&&r.y===e.y}function JM(r,e,t,i){var n=up(Ke(r,e,t)),s=up(Ke(r,e,i)),o=up(Ke(t,i,r)),a=up(Ke(t,i,e));return!!(n!==s&&o!==a||n===0&&ap(r,t,e)||s===0&&ap(r,i,e)||o===0&&ap(t,r,i)||a===0&&ap(t,e,i))}function ap(r,e,t){return e.x<=Math.max(r.x,t.x)&&e.x>=Math.min(r.x,t.x)&&e.y<=Math.max(r.y,t.y)&&e.y>=Math.min(r.y,t.y)}function up(r){return r>0?1:r<0?-1:0}function B9(r,e){var t=r;do{if(t.i!==r.i&&t.next.i!==r.i&&t.i!==e.i&&t.next.i!==e.i&&JM(t,t.next,r,e))return!0;t=t.next}while(t!==r);return!1}function Uu(r,e){return Ke(r.prev,r,r.next)<0?Ke(r,e,r.next)>=0&&Ke(r,r.prev,e)>=0:Ke(r,e,r.prev)<0||Ke(r,r.next,e)<0}function C9(r,e){var t=r,i=!1,n=(r.x+e.x)/2,s=(r.y+e.y)/2;do t.y>s!=t.next.y>s&&t.next.y!==t.y&&n<(t.next.x-t.x)*(s-t.y)/(t.next.y-t.y)+t.x&&(i=!i),t=t.next;while(t!==r);return i}function ZM(r,e){var t=new b_(r.i,r.x,r.y),i=new b_(e.i,e.x,e.y),n=r.next,s=e.prev;return r.next=e,e.prev=r,t.next=n,n.prev=t,i.next=t,t.prev=i,s.next=i,i.prev=s,i}function zM(r,e,t,i){var n=new b_(r,e,t);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function Lu(r){r.next.prev=r.prev,r.prev.next=r.next,r.prevZ&&(r.prevZ.nextZ=r.nextZ),r.nextZ&&(r.nextZ.prevZ=r.prevZ)}function b_(r,e,t){this.i=r,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}lp.deviation=function(r,e,t,i){var n=e&&e.length,s=n?e[0]*t:r.length,o=Math.abs(w_(r,0,s,t));if(n)for(var a=0,l=e.length;a<l;a++){var c=e[a]*t,u=a<l-1?e[a+1]*t:r.length;o-=Math.abs(w_(r,c,u,t))}var A=0;for(a=0;a<i.length;a+=3){var h=i[a]*t,d=i[a+1]*t,f=i[a+2]*t;A+=Math.abs((r[h]-r[f])*(r[d+1]-r[h+1])-(r[h]-r[d])*(r[f+1]-r[h+1]))}return o===0&&A===0?0:Math.abs((A-o)/o)};function w_(r,e,t,i){for(var n=0,s=e,o=t-i;s<t;s+=i)n+=(r[o]-r[s])*(r[s+1]+r[o+1]),o=s;return n}lp.flatten=function(r){for(var e=r[0][0].length,t={vertices:[],holes:[],dimensions:e},i=0,n=0;n<r.length;n++){for(var s=0;s<r[n].length;s++)for(var o=0;o<e;o++)t.vertices.push(r[n][s][o]);n>0&&(i+=r[n-1].length,t.holes.push(i))}return t}});function Ap(r,e,t,i,n,s,o){let a=(0,$M.default)(r,e,2);if(!a)return;for(let c=0;c<a.length;c+=3)s[o++]=a[c]+n,s[o++]=a[c+1]+n,s[o++]=a[c+2]+n;let l=n*i;for(let c=0;c<r.length;c+=2)t[l]=r[c],t[l+1]=r[c+1],l+=i}var $M,T_=m(()=>{$M=St(S_(),1)});var b9,e1,t1=m(()=>{M();T_();b9=[],e1={extension:{type:v.ShapeBuilder,name:"polygon"},build(r,e){for(let t=0;t<r.points.length;t++)e[t]=r.points[t];return e},triangulate(r,e,t,i,n,s){Ap(r,b9,e,t,i,n,s)}}});var r1,i1=m(()=>{M();r1={extension:{type:v.ShapeBuilder,name:"rectangle"},build(r,e){let t=r,i=t.x,n=t.y,s=t.width,o=t.height;return s>=0&&o>=0&&(e[0]=i,e[1]=n,e[2]=i+s,e[3]=n,e[4]=i+s,e[5]=n+o,e[6]=i,e[7]=n+o),e},triangulate(r,e,t,i,n,s){let o=0;i*=t,e[i+o]=r[0],e[i+o+1]=r[1],o+=t,e[i+o]=r[2],e[i+o+1]=r[3],o+=t,e[i+o]=r[6],e[i+o+1]=r[7],o+=t,e[i+o]=r[4],e[i+o+1]=r[5],o+=t;let a=i/t;n[s++]=a,n[s++]=a+1,n[s++]=a+2,n[s++]=a+1,n[s++]=a+3,n[s++]=a+2}}});var n1,s1=m(()=>{M();n1={extension:{type:v.ShapeBuilder,name:"triangle"},build(r,e){return e[0]=r.x,e[1]=r.y,e[2]=r.x2,e[3]=r.y2,e[4]=r.x3,e[5]=r.y3,e},triangulate(r,e,t,i,n,s){let o=0;i*=t,e[i+o]=r[0],e[i+o+1]=r[1],o+=t,e[i+o]=r[2],e[i+o+1]=r[3],o+=t,e[i+o]=r[4],e[i+o+1]=r[5];let a=i/t;n[s++]=a,n[s++]=a+1,n[s++]=a+2}}});function a1(r,e){for(let t=0;t<e.length;t++){let i=e[t];r.addColorStop(i.offset,i.color)}}function u1(r,e){let t=X.get().createCanvas(r,e),i=t.getContext("2d");return{canvas:t,context:i}}function w9(r){let e=r[0]??{};return(typeof e=="number"||r[1])&&(W("8.5.2","use options object instead"),e={type:"linear",start:{x:r[0],y:r[1]},end:{x:r[2],y:r[3]},textureSpace:r[4],textureSize:r[5]??Vt.defaultLinearOptions.textureSize}),e}var o1,P_,Vt,qo=m(()=>{pt();De();pe();os();me();gt();Pe();xE();o1=[{offset:0,color:"white"},{offset:1,color:"black"}],P_=class M_{constructor(...e){this.uid=fe("fillGradient"),this.type="linear",this.colorStops=[];let t=w9(e);t={...t.type==="radial"?M_.defaultRadialOptions:M_.defaultLinearOptions,...Pf(t)},this._textureSize=t.textureSize,this._wrapMode=t.wrapMode,t.type==="radial"?(this.center=t.center,this.outerCenter=t.outerCenter??this.center,this.innerRadius=t.innerRadius,this.outerRadius=t.outerRadius,this.scale=t.scale,this.rotation=t.rotation):(this.start=t.start,this.end=t.end),this.textureSpace=t.textureSpace,this.type=t.type,t.colorStops.forEach(n=>{this.addColorStop(n.offset,n.color)})}addColorStop(e,t){return this.colorStops.push({offset:e,color:le.shared.setValue(t).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:e,y:t}=this.start,{x:i,y:n}=this.end,s=i-e,o=n-t,a=s<0||o<0;if(this._wrapMode==="clamp-to-edge"){if(s<0){let p=e;e=i,i=p,s*=-1}if(o<0){let p=t;t=n,n=p,o*=-1}}let l=this.colorStops.length?this.colorStops:o1,c=this._textureSize,{canvas:u,context:A}=u1(c,1),h=a?A.createLinearGradient(this._textureSize,0,0,0):A.createLinearGradient(0,0,this._textureSize,0);a1(h,l),A.fillStyle=h,A.fillRect(0,0,c,1),this.texture=new F({source:new yt({resource:u,addressMode:this._wrapMode})});let d=Math.sqrt(s*s+o*o),f=Math.atan2(o,s),g=new O;g.scale(d/c,1),g.rotate(f),g.translate(e,t),this.textureSpace==="local"&&g.scale(c,c),this.transform=g}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient()}buildRadialGradient(){if(this.texture)return;let e=this.colorStops.length?this.colorStops:o1,t=this._textureSize,{canvas:i,context:n}=u1(t,t),{x:s,y:o}=this.center,{x:a,y:l}=this.outerCenter,c=this.innerRadius,u=this.outerRadius,A=a-u,h=l-u,d=t/(u*2),f=(s-A)*d,g=(o-h)*d,p=n.createRadialGradient(f,g,c*d,(a-A)*d,(l-h)*d,u*d);a1(p,e),n.fillStyle=e[e.length-1].color,n.fillRect(0,0,t,t),n.fillStyle=p,n.translate(f,g),n.rotate(this.rotation),n.scale(1,this.scale),n.translate(-f,-g),n.fillRect(0,0,t,t),this.texture=new F({source:new yt({resource:i,addressMode:this._wrapMode})});let I=new O;I.scale(1/d,1/d),I.translate(A,h),this.textureSpace==="local"&&I.scale(t,t),this.transform=I}get styleKey(){return this.uid}destroy(){this.texture?.destroy(!0),this.texture=null}};P_.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};P_.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};Vt=P_});function l1(r,e,t,i){let n=e.matrix?r.copyFrom(e.matrix).invert():r.identity();if(e.textureSpace==="local"){let o=t.getBounds(S9);e.width&&o.pad(e.width);let{x:a,y:l}=o,c=1/o.width,u=1/o.height,A=-a*c,h=-l*u,d=n.a,f=n.b,g=n.c,p=n.d;n.a*=c,n.b*=c,n.c*=u,n.d*=u,n.tx=A*d+h*g+n.tx,n.ty=A*f+h*p+n.ty}else n.translate(e.texture.frame.x,e.texture.frame.y),n.scale(1/e.texture.source.width,1/e.texture.source.height);let s=e.texture.source.style;return!(e.fill instanceof Vt)&&s.addressMode==="clamp-to-edge"&&(s.addressMode="repeat",s.update()),i&&n.append(Q9.copyFrom(i).invert()),n}var Q9,S9,c1=m(()=>{pe();st();qo();Q9=new O,S9=new ee});function h1(r,e){let{geometryData:t,batches:i}=e;i.length=0,t.indices.length=0,t.vertices.length=0,t.uvs.length=0;for(let n=0;n<r.instructions.length;n++){let s=r.instructions[n];if(s.action==="texture")P9(s.data,i,t);else if(s.action==="fill"||s.action==="stroke"){let o=s.action==="stroke",a=s.data.path.shapePath,l=s.data.style,c=s.data.hole;o&&c&&A1(c.shapePath,l,!0,i,t),c&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=c.shapePath.shapePrimitives),A1(a,l,o,i,t)}}}function P9(r,e,t){let{vertices:i,uvs:n,indices:s}=t,o=s.length,a=i.length/2,l=[],c=hp.rectangle,u=T9,A=r.image;u.x=r.dx,u.y=r.dy,u.width=r.dw,u.height=r.dh;let h=r.transform;c.build(u,l),h&&x_(l,h),c.triangulate(l,i,2,a,s,o);let d=A.uvs;n.push(d.x0,d.y0,d.x1,d.y1,d.x3,d.y3,d.x2,d.y2);let f=re.get(cs);f.indexOffset=o,f.indexSize=s.length-o,f.attributeOffset=a,f.attributeSize=i.length/2-a,f.baseColor=r.style,f.alpha=r.alpha,f.texture=A,f.geometryData=t,e.push(f)}function A1(r,e,t,i,n){let{vertices:s,uvs:o,indices:a}=n;r.shapePrimitives.forEach(({shape:l,transform:c,holes:u})=>{let A=a.length,h=s.length/2,d=[],f=hp[l.type],g="triangle-list";if(f.build(l,d),c&&x_(d,c),t){let B=l.closePath??!0,w=e;w.pixelLine?(YM(d,B,s,a),g="line-list"):jM(d,w,!1,B,s,a)}else if(u){let B=[],w=d.slice();D9(u).forEach(T=>{B.push(w.length/2),w.push(...T)}),Ap(w,B,s,2,h,a,A)}else f.triangulate(d,s,2,h,a,A);let p=o.length/2,I=e.texture;if(I!==F.WHITE){let B=l1(M9,e,l,c);FM(s,2,h,o,p,2,s.length/2-h,B)}else kM(o,p,2,s.length/2-h);let x=re.get(cs);x.indexOffset=A,x.indexSize=a.length-A,x.attributeOffset=h,x.attributeSize=s.length/2-h,x.baseColor=e.color,x.alpha=e.alpha,x.texture=I,x.geometryData=n,x.topology=g,i.push(x)})}function D9(r){let e=[];for(let t=0;t<r.length;t++){let i=r[t].shape,n=[];hp[i.type].build(i,n),e.push(n)}return e}var hp,T9,M9,d1=m(()=>{M();pe();st();OM();GM();me();Bt();B_();NM();VM();KM();t1();i1();s1();c1();T_();hp={};N.handleByMap(v.ShapeBuilder,hp);N.add(r1,e1,n1,Ho,UM,LM);T9=new ee,M9=new O});var D_,R_,k_,jo,dp=m(()=>{M();$f();v_();IE();Pe();Bt();d1();D_=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]}}},R_=class{constructor(){this.batcher=new Ou,this.instructions=new Co}init(){this.instructions.reset()}get geometry(){return W(MQ,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},k_=class F_{constructor(e){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),e.renderableGC.addManagedHash(this,"_gpuContextHash"),e.renderableGC.addManagedHash(this,"_graphicsDataContextHash")}init(e){F_.defaultOptions.bezierSmoothness=e?.bezierSmoothness??F_.defaultOptions.bezierSmoothness}getContextRenderData(e){return this._graphicsDataContextHash[e.uid]||this._initContextRenderData(e)}updateGpuContext(e){let t=this._gpuContextHash[e.uid]||this._initContext(e);if(e.dirty){t?this._cleanGraphicsContextData(e):t=this._initContext(e),h1(e,t);let i=e.batchMode;e.customShader||i==="no-batch"?t.isBatchable=!1:i==="auto"&&(t.isBatchable=t.geometryData.vertices.length<400),e.dirty=!1}return t}getGpuContext(e){return this._gpuContextHash[e.uid]||this._initContext(e)}_initContextRenderData(e){let t=re.get(R_),{batches:i,geometryData:n}=this._gpuContextHash[e.uid],s=n.vertices.length,o=n.indices.length;for(let u=0;u<i.length;u++)i[u].applyTransform=!1;let a=t.batcher;a.ensureAttributeBuffer(s),a.ensureIndexBuffer(o),a.begin();for(let u=0;u<i.length;u++){let A=i[u];a.add(A)}a.finish(t.instructions);let l=a.geometry;l.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,!0),l.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,!0);let c=a.batches;for(let u=0;u<c.length;u++){let A=c[u];A.bindGroup=Fo(A.textures.textures,A.textures.count)}return this._graphicsDataContextHash[e.uid]=t,t}_initContext(e){let t=new D_;return t.context=e,this._gpuContextHash[e.uid]=t,e.on("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[e.uid]}onGraphicsContextDestroy(e){this._cleanGraphicsContextData(e),e.off("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[e.uid]=null}_cleanGraphicsContextData(e){let t=this._gpuContextHash[e.uid];t.isBatchable||this._graphicsDataContextHash[e.uid]&&(re.return(this.getContextRenderData(e)),this._graphicsDataContextHash[e.uid]=null),t.batches&&t.batches.forEach(i=>{re.return(i)})}destroy(){for(let e in this._gpuContextHash)this._gpuContextHash[e]&&this.onGraphicsContextDestroy(this._gpuContextHash[e].context)}};k_.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"graphicsContext"};k_.defaultOptions={bezierSmoothness:.5};jo=k_});var R9,O_,G_,U_,L_,N_,H_,W_,ze,ur=m(()=>{"use strict";R9={normal:0,add:1,multiply:2,screen:3,overlay:4,erase:5,"normal-npm":6,"add-npm":7,"screen-npm":8,min:9,max:10},O_=0,G_=1,U_=2,L_=3,N_=4,H_=5,W_=class f1{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(this.data&1<<O_)}set blend(e){!!(this.data&1<<O_)!==e&&(this.data^=1<<O_)}get offsets(){return!!(this.data&1<<G_)}set offsets(e){!!(this.data&1<<G_)!==e&&(this.data^=1<<G_)}set cullMode(e){if(e==="none"){this.culling=!1;return}this.culling=!0,this.clockwiseFrontFace=e==="front"}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return!!(this.data&1<<U_)}set culling(e){!!(this.data&1<<U_)!==e&&(this.data^=1<<U_)}get depthTest(){return!!(this.data&1<<L_)}set depthTest(e){!!(this.data&1<<L_)!==e&&(this.data^=1<<L_)}get depthMask(){return!!(this.data&1<<H_)}set depthMask(e){!!(this.data&1<<H_)!==e&&(this.data^=1<<H_)}get clockwiseFrontFace(){return!!(this.data&1<<N_)}set clockwiseFrontFace(e){!!(this.data&1<<N_)!==e&&(this.data^=1<<N_)}get blendMode(){return this._blendMode}set blendMode(e){this.blend=e!=="none",this._blendMode=e,this._blendModeId=R9[e]||0}get polygonOffset(){return this._polygonOffset}set polygonOffset(e){this.offsets=!!e,this._polygonOffset=e}toString(){return`[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let e=new f1;return e.depthTest=!1,e.blend=!0,e}};W_.default2d=W_.for2d();ze=W_});function Xr(r,e,t){let i=(r>>24&255)/255;e[t++]=(r&255)/255*i,e[t++]=(r>>8&255)/255*i,e[t++]=(r>>16&255)/255*i,e[t++]=i}var Vo=m(()=>{"use strict"});var Nu,p1=m(()=>{M();ur();Bt();Vo();B_();Nu=class{constructor(e,t){this.state=ze.for2d(),this._graphicsBatchesHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.renderer=e,this._adaptor=t,this._adaptor.init(),this.renderer.renderableGC.addManagedHash(this,"_graphicsBatchesHash")}validateRenderable(e){let t=e.context,i=!!this._graphicsBatchesHash[e.uid],n=this.renderer.graphicsContext.updateGpuContext(t);return!!(n.isBatchable||i!==n.isBatchable)}addRenderable(e,t){let i=this.renderer.graphicsContext.updateGpuContext(e.context);e.didViewUpdate&&this._rebuild(e),i.isBatchable?this._addToBatcher(e,t):(this.renderer.renderPipes.batch.break(t),t.add(e))}updateRenderable(e){let t=this._graphicsBatchesHash[e.uid];if(t)for(let i=0;i<t.length;i++){let n=t[i];n._batcher.updateElement(n)}}destroyRenderable(e){this._graphicsBatchesHash[e.uid]&&this._removeBatchForRenderable(e.uid),e.off("destroyed",this._destroyRenderableBound)}execute(e){if(!e.isRenderable)return;let t=this.renderer,i=e.context;if(!t.graphicsContext.getGpuContext(i).batches.length)return;let s=i.customShader||this._adaptor.shader;this.state.blendMode=e.groupBlendMode;let o=s.resources.localUniforms.uniforms;o.uTransformMatrix=e.groupTransform,o.uRound=t._roundPixels|e._roundPixels,Xr(e.groupColorAlpha,o.uColor,0),this._adaptor.execute(this,e)}_rebuild(e){let t=!!this._graphicsBatchesHash[e.uid],i=this.renderer.graphicsContext.updateGpuContext(e.context);t&&this._removeBatchForRenderable(e.uid),i.isBatchable&&this._initBatchesForRenderable(e),e.batched=i.isBatchable}_addToBatcher(e,t){let i=this.renderer.renderPipes.batch,n=this._getBatchesForRenderable(e);for(let s=0;s<n.length;s++){let o=n[s];i.addToBatch(o,t)}}_getBatchesForRenderable(e){return this._graphicsBatchesHash[e.uid]||this._initBatchesForRenderable(e)}_initBatchesForRenderable(e){let t=e.context,i=this.renderer.graphicsContext.getGpuContext(t),n=this.renderer._roundPixels|e._roundPixels,s=i.batches.map(o=>{let a=re.get(cs);return o.copyTo(a),a.renderable=e,a.roundPixels=n,a});return this._graphicsBatchesHash[e.uid]===void 0&&e.on("destroyed",this._destroyRenderableBound),this._graphicsBatchesHash[e.uid]=s,s}_removeBatchForRenderable(e){this._graphicsBatchesHash[e].forEach(t=>{re.return(t)}),this._graphicsBatchesHash[e]=null}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;for(let e in this._graphicsBatchesHash)this._removeBatchForRenderable(e);this._graphicsBatchesHash=null}};Nu.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"graphics"}});var q_=m(()=>{M();dp();p1();N.add(Nu);N.add(jo)});var xn,fp=m(()=>{"use strict";xn=class{constructor(){this.batcherName="default",this.packAsQuad=!1,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(e){this._topology=e}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1}setTexture(e){this.texture!==e&&(this.texture=e,this._textureMatrixUpdateId=-1)}get uvs(){let t=this.geometry.getBuffer("aUV"),i=t.data,n=i,s=this.texture.textureMatrix;return s.isSimple||(n=this._transformedUvs,(this._textureMatrixUpdateId!==s._updateID||this._uvUpdateId!==t._updateID)&&((!n||n.length<i.length)&&(n=this._transformedUvs=new Float32Array(i.length)),this._textureMatrixUpdateId=s._updateID,this._uvUpdateId=t._updateID,s.multiplyUvs(i,n))),n}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}}});var Hu,g1=m(()=>{M();pe();gn();Qt();Pu();Bt();Vo();fp();Hu=class{constructor(e,t){this.localUniforms=new ve({uTransformMatrix:{value:new O,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new lt({0:this.localUniforms}),this._meshDataHash=Object.create(null),this._gpuBatchableMeshHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.renderer=e,this._adaptor=t,this._adaptor.init(),e.renderableGC.addManagedHash(this,"_gpuBatchableMeshHash"),e.renderableGC.addManagedHash(this,"_meshDataHash")}validateRenderable(e){let t=this._getMeshData(e),i=t.batched,n=e.batched;if(t.batched=n,i!==n)return!0;if(n){let s=e._geometry;if(s.indices.length!==t.indexSize||s.positions.length!==t.vertexSize)return t.indexSize=s.indices.length,t.vertexSize=s.positions.length,!0;let o=this._getBatchableMesh(e);return o.texture.uid!==e._texture.uid&&(o._textureMatrixUpdateId=-1),!o._batcher.checkAndUpdateTexture(o,e._texture)}return!1}addRenderable(e,t){let i=this.renderer.renderPipes.batch,{batched:n}=this._getMeshData(e);if(n){let s=this._getBatchableMesh(e);s.setTexture(e._texture),s.geometry=e._geometry,i.addToBatch(s,t)}else i.break(t),t.add(e)}updateRenderable(e){if(e.batched){let t=this._gpuBatchableMeshHash[e.uid];t.setTexture(e._texture),t.geometry=e._geometry,t._batcher.updateElement(t)}}destroyRenderable(e){this._meshDataHash[e.uid]=null;let t=this._gpuBatchableMeshHash[e.uid];t&&(re.return(t),this._gpuBatchableMeshHash[e.uid]=null),e.off("destroyed",this._destroyRenderableBound)}execute(e){if(!e.isRenderable)return;e.state.blendMode=xi(e.groupBlendMode,e.texture._source);let t=this.localUniforms;t.uniforms.uTransformMatrix=e.groupTransform,t.uniforms.uRound=this.renderer._roundPixels|e._roundPixels,t.update(),Xr(e.groupColorAlpha,t.uniforms.uColor,0),this._adaptor.execute(this,e)}_getMeshData(e){return this._meshDataHash[e.uid]||this._initMeshData(e)}_initMeshData(e){return this._meshDataHash[e.uid]={batched:e.batched,indexSize:e._geometry.indices?.length,vertexSize:e._geometry.positions?.length},e.on("destroyed",this._destroyRenderableBound),this._meshDataHash[e.uid]}_getBatchableMesh(e){return this._gpuBatchableMeshHash[e.uid]||this._initBatchableMesh(e)}_initBatchableMesh(e){let t=re.get(xn);return t.renderable=e,t.setTexture(e._texture),t.transform=e.groupTransform,t.roundPixels=this.renderer._roundPixels|e._roundPixels,this._gpuBatchableMeshHash[e.uid]=t,t}destroy(){for(let e in this._gpuBatchableMeshHash)this._gpuBatchableMeshHash[e]&&re.return(this._gpuBatchableMeshHash[e]);this._gpuBatchableMeshHash=null,this._meshDataHash=null,this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null}};Hu.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"mesh"}});var j_=m(()=>{M();g1();N.add(Hu)});var pp,m1=m(()=>{"use strict";pp=class{execute(e,t){let i=e.state,n=e.renderer,s=t.shader||e.defaultShader;s.resources.uTexture=t.texture._source,s.resources.uniforms=e.localUniforms;let o=n.gl,a=e.getBuffers(t);n.shader.bind(s),n.state.set(i),n.geometry.bind(a.geometry,s.glProgram);let c=a.geometry.indexBuffer.data.BYTES_PER_ELEMENT===2?o.UNSIGNED_SHORT:o.UNSIGNED_INT;o.drawElements(o.TRIANGLES,t.particleChildren.length*6,c,0)}}});function V_(r,e=null){let t=r*6;if(t>65535?e||(e=new Uint32Array(t)):e||(e=new Uint16Array(t)),e.length!==t)throw new Error(`Out buffer length is incorrect, got ${e.length} and expected ${t}`);for(let i=0,n=0;i<t;i+=6,n+=4)e[i+0]=n+0,e[i+1]=n+1,e[i+2]=n+2,e[i+3]=n+0,e[i+4]=n+2,e[i+5]=n+3;return e}var y1=m(()=>{"use strict"});function _1(r){return{dynamicUpdate:E1(r,!0),staticUpdate:E1(r,!1)}}function E1(r,e){let t=[];t.push(`
|
|
256
|
+
|
|
257
|
+
var index = 0;
|
|
258
|
+
|
|
259
|
+
for (let i = 0; i < ps.length; ++i)
|
|
260
|
+
{
|
|
261
|
+
const p = ps[i];
|
|
262
|
+
|
|
263
|
+
`);let i=0;for(let s in r){let o=r[s];if(e!==o.dynamic)continue;t.push(`offset = index + ${i}`),t.push(o.code);let a=jt(o.format);i+=a.stride/4}t.push(`
|
|
264
|
+
index += stride * 4;
|
|
265
|
+
}
|
|
266
|
+
`),t.unshift(`
|
|
267
|
+
var stride = ${i};
|
|
268
|
+
`);let n=t.join(`
|
|
269
|
+
`);return new Function("ps","f32v","u32v",n)}var I1=m(()=>{ls()});function F9(r){let e=[];for(let t in r){let i=r[t];e.push(t,i.code,i.dynamic?"d":"s")}return e.join("_")}var gp,v1=m(()=>{mn();Bi();yn();ls();n_();y1();I1();gp=class{constructor(e){this._size=0,this._generateParticleUpdateCache={};let t=this._size=e.size??1e3,i=e.properties,n=0,s=0;for(let u in i){let A=i[u],h=jt(A.format);A.dynamic?s+=h.stride:n+=h.stride}this._dynamicStride=s/4,this._staticStride=n/4,this.staticAttributeBuffer=new jr(t*4*n),this.dynamicAttributeBuffer=new jr(t*4*s),this.indexBuffer=V_(t);let o=new Et,a=0,l=0;this._staticBuffer=new Xe({data:new Float32Array(1),label:"static-particle-buffer",shrinkToFit:!1,usage:he.VERTEX|he.COPY_DST}),this._dynamicBuffer=new Xe({data:new Float32Array(1),label:"dynamic-particle-buffer",shrinkToFit:!1,usage:he.VERTEX|he.COPY_DST});for(let u in i){let A=i[u],h=jt(A.format);A.dynamic?(o.addAttribute(A.attributeName,{buffer:this._dynamicBuffer,stride:this._dynamicStride*4,offset:a*4,format:A.format}),a+=h.size):(o.addAttribute(A.attributeName,{buffer:this._staticBuffer,stride:this._staticStride*4,offset:l*4,format:A.format}),l+=h.size)}o.addIndex(this.indexBuffer);let c=this.getParticleUpdate(i);this._dynamicUpload=c.dynamicUpdate,this._staticUpload=c.staticUpdate,this.geometry=o}getParticleUpdate(e){let t=F9(e);return this._generateParticleUpdateCache[t]?this._generateParticleUpdateCache[t]:(this._generateParticleUpdateCache[t]=this.generateParticleUpdate(e),this._generateParticleUpdateCache[t])}generateParticleUpdate(e){return _1(e)}update(e,t){e.length>this._size&&(t=!0,this._size=Math.max(e.length,this._size*1.5|0),this.staticAttributeBuffer=new jr(this._size*this._staticStride*4*4),this.dynamicAttributeBuffer=new jr(this._size*this._dynamicStride*4*4),this.indexBuffer=V_(this._size),this.geometry.indexBuffer.setDataWithSize(this.indexBuffer,this.indexBuffer.byteLength,!0));let i=this.dynamicAttributeBuffer;if(this._dynamicUpload(e,i.float32View,i.uint32View),this._dynamicBuffer.setDataWithSize(this.dynamicAttributeBuffer.float32View,e.length*this._dynamicStride*4,!0),t){let n=this.staticAttributeBuffer;this._staticUpload(e,n.float32View,n.uint32View),this._staticBuffer.setDataWithSize(n.float32View,e.length*this._staticStride*4,!0)}}destroy(){this._staticBuffer.destroy(),this._dynamicBuffer.destroy(),this.geometry.destroy()}}});var x1,B1=m(()=>{x1=`varying vec2 vUV;
|
|
270
|
+
varying vec4 vColor;
|
|
271
|
+
|
|
272
|
+
uniform sampler2D uTexture;
|
|
273
|
+
|
|
274
|
+
void main(void){
|
|
275
|
+
vec4 color = texture2D(uTexture, vUV) * vColor;
|
|
276
|
+
gl_FragColor = color;
|
|
277
|
+
}`});var C1,b1=m(()=>{C1=`attribute vec2 aVertex;
|
|
278
|
+
attribute vec2 aUV;
|
|
279
|
+
attribute vec4 aColor;
|
|
280
|
+
|
|
281
|
+
attribute vec2 aPosition;
|
|
282
|
+
attribute float aRotation;
|
|
283
|
+
|
|
284
|
+
uniform mat3 uTranslationMatrix;
|
|
285
|
+
uniform float uRound;
|
|
286
|
+
uniform vec2 uResolution;
|
|
287
|
+
uniform vec4 uColor;
|
|
288
|
+
|
|
289
|
+
varying vec2 vUV;
|
|
290
|
+
varying vec4 vColor;
|
|
291
|
+
|
|
292
|
+
vec2 roundPixels(vec2 position, vec2 targetSize)
|
|
293
|
+
{
|
|
294
|
+
return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
void main(void){
|
|
298
|
+
float cosRotation = cos(aRotation);
|
|
299
|
+
float sinRotation = sin(aRotation);
|
|
300
|
+
float x = aVertex.x * cosRotation - aVertex.y * sinRotation;
|
|
301
|
+
float y = aVertex.x * sinRotation + aVertex.y * cosRotation;
|
|
302
|
+
|
|
303
|
+
vec2 v = vec2(x, y);
|
|
304
|
+
v = v + aPosition;
|
|
305
|
+
|
|
306
|
+
gl_Position = vec4((uTranslationMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);
|
|
307
|
+
|
|
308
|
+
if(uRound == 1.0)
|
|
309
|
+
{
|
|
310
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
vUV = aUV;
|
|
314
|
+
vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uColor;
|
|
315
|
+
}
|
|
316
|
+
`});var Y_,w1=m(()=>{Y_=`
|
|
317
|
+
struct ParticleUniforms {
|
|
318
|
+
uProjectionMatrix:mat3x3<f32>,
|
|
319
|
+
uColor:vec4<f32>,
|
|
320
|
+
uResolution:vec2<f32>,
|
|
321
|
+
uRoundPixels:f32,
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
@group(0) @binding(0) var<uniform> uniforms: ParticleUniforms;
|
|
325
|
+
|
|
326
|
+
@group(1) @binding(0) var uTexture: texture_2d<f32>;
|
|
327
|
+
@group(1) @binding(1) var uSampler : sampler;
|
|
328
|
+
|
|
329
|
+
struct VSOutput {
|
|
330
|
+
@builtin(position) position: vec4<f32>,
|
|
331
|
+
@location(0) uv : vec2<f32>,
|
|
332
|
+
@location(1) color : vec4<f32>,
|
|
333
|
+
};
|
|
334
|
+
@vertex
|
|
335
|
+
fn mainVertex(
|
|
336
|
+
@location(0) aVertex: vec2<f32>,
|
|
337
|
+
@location(1) aPosition: vec2<f32>,
|
|
338
|
+
@location(2) aUV: vec2<f32>,
|
|
339
|
+
@location(3) aColor: vec4<f32>,
|
|
340
|
+
@location(4) aRotation: f32,
|
|
341
|
+
) -> VSOutput {
|
|
342
|
+
|
|
343
|
+
let v = vec2(
|
|
344
|
+
aVertex.x * cos(aRotation) - aVertex.y * sin(aRotation),
|
|
345
|
+
aVertex.x * sin(aRotation) + aVertex.y * cos(aRotation)
|
|
346
|
+
) + aPosition;
|
|
347
|
+
|
|
348
|
+
let position = vec4((uniforms.uProjectionMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);
|
|
349
|
+
|
|
350
|
+
let vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uniforms.uColor;
|
|
351
|
+
|
|
352
|
+
return VSOutput(
|
|
353
|
+
position,
|
|
354
|
+
aUV,
|
|
355
|
+
vColor,
|
|
356
|
+
);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
@fragment
|
|
360
|
+
fn mainFragment(
|
|
361
|
+
@location(0) uv: vec2<f32>,
|
|
362
|
+
@location(1) color: vec4<f32>,
|
|
363
|
+
@builtin(position) position: vec4<f32>,
|
|
364
|
+
) -> @location(0) vec4<f32> {
|
|
365
|
+
|
|
366
|
+
var sample = textureSample(uTexture, uSampler, uv) * color;
|
|
367
|
+
|
|
368
|
+
return sample;
|
|
369
|
+
}`});var mp,Q1=m(()=>{pt();pe();bi();En();br();me();BE();B1();b1();w1();mp=class extends Je{constructor(){let e=bt.from({vertex:C1,fragment:x1}),t=wt.from({fragment:{source:Y_,entryPoint:"mainFragment"},vertex:{source:Y_,entryPoint:"mainVertex"}});super({glProgram:e,gpuProgram:t,resources:{uTexture:F.WHITE.source,uSampler:new Df({}),uniforms:{uTranslationMatrix:{value:new O,type:"mat3x3<f32>"},uColor:{value:new le(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}})}}});var Yo,K_=m(()=>{pe();Qt();Pu();ur();Vo();v1();Q1();Yo=class{constructor(e,t){this.state=ze.for2d(),this._gpuBufferHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.localUniforms=new ve({uTranslationMatrix:{value:new O,type:"mat3x3<f32>"},uColor:{value:new Float32Array(4),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}),this.renderer=e,this.adaptor=t,this.defaultShader=new mp,this.state=ze.for2d()}validateRenderable(e){return!1}addRenderable(e,t){this.renderer.renderPipes.batch.break(t),t.add(e)}getBuffers(e){return this._gpuBufferHash[e.uid]||this._initBuffer(e)}_initBuffer(e){return this._gpuBufferHash[e.uid]=new gp({size:e.particleChildren.length,properties:e._properties}),e.on("destroyed",this._destroyRenderableBound),this._gpuBufferHash[e.uid]}updateRenderable(e){}destroyRenderable(e){this._gpuBufferHash[e.uid].destroy(),this._gpuBufferHash[e.uid]=null,e.off("destroyed",this._destroyRenderableBound)}execute(e){let t=e.particleChildren;if(t.length===0)return;let i=this.renderer,n=this.getBuffers(e);e.texture||(e.texture=t[0].texture);let s=this.state;n.update(t,e._childrenDirty),e._childrenDirty=!1,s.blendMode=xi(e.blendMode,e.texture._source);let o=this.localUniforms.uniforms,a=o.uTranslationMatrix;e.worldTransform.copyTo(a),a.prepend(i.globalUniforms.globalUniformData.projectionMatrix),o.uResolution=i.globalUniforms.globalUniformData.resolution,o.uRound=i._roundPixels|e._roundPixels,Xr(e.groupColorAlpha,o.uColor,0),this.adaptor.execute(this,e)}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null)}}});var Wu,S1=m(()=>{M();m1();K_();Wu=class extends Yo{constructor(e){super(e,new pp)}};Wu.extension={type:[v.WebGLPipes],name:"particle"}});var yp,T1=m(()=>{"use strict";yp=class{execute(e,t){let i=e.renderer,n=t.shader||e.defaultShader;n.groups[0]=i.renderPipes.uniformBatch.getUniformBindGroup(e.localUniforms,!0),n.groups[1]=i.texture.getTextureBindGroup(t.texture);let s=e.state,o=e.getBuffers(t);i.encoder.draw({geometry:o.geometry,shader:t.shader||e.defaultShader,state:s,size:t.particleChildren.length*6})}}});var qu,M1=m(()=>{M();T1();K_();qu=class extends Yo{constructor(e){super(e,new yp)}};qu.extension={type:[v.WebGPUPipes],name:"particle"}});var z_=m(()=>{M();S1();M1();N.add(Wu);N.add(qu)});var Jr,ju=m(()=>{"use strict";Jr=class{constructor(){this.batcherName="default",this.topology="triangle-list",this.attributeSize=4,this.indexSize=6,this.packAsQuad=!0,this.roundPixels=0,this._attributeStart=0,this._batcher=null,this._batch=null}get blendMode(){return this.renderable.groupBlendMode}get color(){return this.renderable.groupColorAlpha}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.bounds=null}}});function Vu(r,e){let{texture:t,bounds:i}=r;jf(i,e._anchor,t);let n=e._style.padding;i.minX-=n,i.minY-=n,i.maxX-=n,i.maxY-=n}var X_=m(()=>{YE()});var Yu,P1=m(()=>{M();Bt();ju();X_();Yu=class{constructor(e){this._gpuText=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e,this._renderer.runners.resolutionChange.add(this),this._renderer.renderableGC.addManagedHash(this,"_gpuText")}resolutionChange(){for(let e in this._gpuText){let t=this._gpuText[e];if(!t)continue;let i=t.batchableSprite.renderable;i._autoResolution&&(i._resolution=this._renderer.resolution,i.onViewUpdate())}}validateRenderable(e){let t=this._getGpuText(e),i=e._getKey();return t.currentKey!==i}addRenderable(e,t){let n=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),this._renderer.renderPipes.batch.addToBatch(n,t)}updateRenderable(e){let i=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),i._batcher.updateElement(i)}destroyRenderable(e){e.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(e.uid)}_destroyRenderableById(e){let t=this._gpuText[e];this._renderer.canvasText.decreaseReferenceCount(t.currentKey),re.return(t.batchableSprite),this._gpuText[e]=null}_updateText(e){let t=e._getKey(),i=this._getGpuText(e),n=i.batchableSprite;i.currentKey!==t&&this._updateGpuText(e),e._didTextUpdate=!1,Vu(n,e)}_updateGpuText(e){let t=this._getGpuText(e),i=t.batchableSprite;t.texture&&this._renderer.canvasText.decreaseReferenceCount(t.currentKey),t.texture=i.texture=this._renderer.canvasText.getManagedTexture(e),t.currentKey=e._getKey(),i.texture=t.texture}_getGpuText(e){return this._gpuText[e.uid]||this.initGpuText(e)}initGpuText(e){let t={texture:null,currentKey:"--",batchableSprite:re.get(Jr)};return t.batchableSprite.renderable=e,t.batchableSprite.transform=e.groupTransform,t.batchableSprite.bounds={minX:0,maxX:1,minY:0,maxY:0},t.batchableSprite.roundPixels=this._renderer._roundPixels|e._roundPixels,this._gpuText[e.uid]=t,e._resolution=e._autoResolution?this._renderer.resolution:e.resolution,this._updateText(e),e.on("destroyed",this._destroyRenderableBound),t}destroy(){for(let e in this._gpuText)this._destroyRenderableById(e);this._gpuText=null,this._renderer=null}};Yu.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"text"}});var J_,Yt,Ko=m(()=>{De();pu();J_=class{constructor(e){this._canvasPool=Object.create(null),this.canvasOptions=e||{},this.enableFullScreen=!1}_createCanvasAndContext(e,t){let i=X.get().createCanvas();i.width=e,i.height=t;let n=i.getContext("2d");return{canvas:i,context:n}}getOptimalCanvasAndContext(e,t,i=1){e=Math.ceil(e*i-1e-6),t=Math.ceil(t*i-1e-6),e=yi(e),t=yi(t);let n=(e<<17)+(t<<1);this._canvasPool[n]||(this._canvasPool[n]=[]);let s=this._canvasPool[n].pop();return s||(s=this._createCanvasAndContext(e,t)),s}returnCanvasAndContext(e){let t=e.canvas,{width:i,height:n}=t,s=(i<<17)+(n<<1);e.context.clearRect(0,0,i,n),this._canvasPool[s].push(e)}clear(){this._canvasPool={}}},Yt=new J_});function D1(r,e,t){for(let i=0,n=4*t*e;i<e;++i,n+=4)if(r[n+3]!==0)return!1;return!0}function R1(r,e,t,i,n){let s=4*e;for(let o=i,a=i*s+4*t;o<=n;++o,a+=s)if(r[a+3]!==0)return!1;return!0}function F1(r,e=1){let{width:t,height:i}=r,n=r.getContext("2d",{willReadFrequently:!0});if(n===null)throw new TypeError("Failed to get canvas 2D context");let o=n.getImageData(0,0,t,i).data,a=0,l=0,c=t-1,u=i-1;for(;l<i&&D1(o,t,l);)++l;if(l===i)return ee.EMPTY;for(;D1(o,t,u);)--u;for(;R1(o,t,a,l,u);)++a;for(;R1(o,t,c,l,u);)--c;return++c,++u,new ee(a/e,l/e,(c-a)/e,(u-l)/e)}var k1=m(()=>{st()});var O1,wi,Ep=m(()=>{pe();gt();O1={repeat:{addressModeU:"repeat",addressModeV:"repeat"},"repeat-x":{addressModeU:"repeat",addressModeV:"clamp-to-edge"},"repeat-y":{addressModeU:"clamp-to-edge",addressModeV:"repeat"},"no-repeat":{addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}},wi=class{constructor(e,t){this.uid=fe("fillPattern"),this.transform=new O,this._styleKey=null,this.texture=e,this.transform.scale(1/e.frame.width,1/e.frame.height),t&&(e.source.style.addressModeU=O1[t].addressModeU,e.source.style.addressModeV=O1[t].addressModeV)}setTransform(e){let t=this.texture;this.transform.copyFrom(e),this.transform.invert(),this.transform.scale(1/t.frame.width,1/t.frame.height),this._styleKey=null}get styleKey(){return this._styleKey?this._styleKey:(this._styleKey=`fill-pattern-${this.uid}-${this.texture.uid}-${this.transform.toArray().join("-")}`,this._styleKey)}}});var U1=C((Nge,G1)=>{G1.exports=O9;var Z_={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},k9=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function O9(r){var e=[];return r.replace(k9,function(t,i,n){var s=i.toLowerCase();for(n=U9(n),s=="m"&&n.length>2&&(e.push([i].concat(n.splice(0,2))),s="l",i=i=="m"?"l":"L");;){if(n.length==Z_[s])return n.unshift(i),e.push(n);if(n.length<Z_[s])throw new Error("malformed path data");e.push([i].concat(n.splice(0,Z_[s])))}}),e}var G9=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function U9(r){var e=r.match(G9);return e?e.map(Number):[]}});function N1(r,e){let t=(0,L1.default)(r),i=[],n=null,s=0,o=0;for(let a=0;a<t.length;a++){let l=t[a],c=l[0],u=l;switch(c){case"M":s=u[1],o=u[2],e.moveTo(s,o);break;case"m":s+=u[1],o+=u[2],e.moveTo(s,o);break;case"H":s=u[1],e.lineTo(s,o);break;case"h":s+=u[1],e.lineTo(s,o);break;case"V":o=u[1],e.lineTo(s,o);break;case"v":o+=u[1],e.lineTo(s,o);break;case"L":s=u[1],o=u[2],e.lineTo(s,o);break;case"l":s+=u[1],o+=u[2],e.lineTo(s,o);break;case"C":s=u[5],o=u[6],e.bezierCurveTo(u[1],u[2],u[3],u[4],s,o);break;case"c":e.bezierCurveTo(s+u[1],o+u[2],s+u[3],o+u[4],s+u[5],o+u[6]),s+=u[5],o+=u[6];break;case"S":s=u[3],o=u[4],e.bezierCurveToShort(u[1],u[2],s,o);break;case"s":e.bezierCurveToShort(s+u[1],o+u[2],s+u[3],o+u[4]),s+=u[3],o+=u[4];break;case"Q":s=u[3],o=u[4],e.quadraticCurveTo(u[1],u[2],s,o);break;case"q":e.quadraticCurveTo(s+u[1],o+u[2],s+u[3],o+u[4]),s+=u[3],o+=u[4];break;case"T":s=u[1],o=u[2],e.quadraticCurveToShort(s,o);break;case"t":s+=u[1],o+=u[2],e.quadraticCurveToShort(s,o);break;case"A":s=u[6],o=u[7],e.arcToSvg(u[1],u[2],u[3],u[4],u[5],s,o);break;case"a":s+=u[6],o+=u[7],e.arcToSvg(u[1],u[2],u[3],u[4],u[5],s,o);break;case"Z":case"z":e.closePath(),i.length>0&&(n=i.pop(),n?(s=n.startX,o=n.startY):(s=0,o=0)),n=null;break;default:q(`Unknown SVG path command: ${c}`)}c!=="Z"&&c!=="z"&&n===null&&(n={startX:s,startY:o},i.push(n))}return e}var L1,H1=m(()=>{L1=St(U1(),1);Be()});var _p,W1=m(()=>{st();_p=class r{constructor(e=0,t=0,i=0){this.type="circle",this.x=e,this.y=t,this.radius=i}clone(){return new r(this.x,this.y,this.radius)}contains(e,t){if(this.radius<=0)return!1;let i=this.radius*this.radius,n=this.x-e,s=this.y-t;return n*=n,s*=s,n+s<=i}strokeContains(e,t,i,n=.5){if(this.radius===0)return!1;let s=this.x-e,o=this.y-t,a=this.radius,l=(1-n)*i,c=Math.sqrt(s*s+o*o);return c<=a+l&&c>a-(i-l)}getBounds(e){return e||(e=new ee),e.x=this.x-this.radius,e.y=this.y-this.radius,e.width=this.radius*2,e.height=this.radius*2,e}copyFrom(e){return this.x=e.x,this.y=e.y,this.radius=e.radius,this}copyTo(e){return e.copyFrom(this),e}toString(){return`[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}});var Ip,q1=m(()=>{st();Ip=class r{constructor(e=0,t=0,i=0,n=0){this.type="ellipse",this.x=e,this.y=t,this.halfWidth=i,this.halfHeight=n}clone(){return new r(this.x,this.y,this.halfWidth,this.halfHeight)}contains(e,t){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let i=(e-this.x)/this.halfWidth,n=(t-this.y)/this.halfHeight;return i*=i,n*=n,i+n<=1}strokeContains(e,t,i,n=.5){let{halfWidth:s,halfHeight:o}=this;if(s<=0||o<=0)return!1;let a=i*(1-n),l=i-a,c=s-l,u=o-l,A=s+a,h=o+a,d=e-this.x,f=t-this.y,g=d*d/(c*c)+f*f/(u*u),p=d*d/(A*A)+f*f/(h*h);return g>1&&p<=1}getBounds(e){return e||(e=new ee),e.x=this.x-this.halfWidth,e.y=this.y-this.halfHeight,e.width=this.halfWidth*2,e.height=this.halfHeight*2,e}copyFrom(e){return this.x=e.x,this.y=e.y,this.halfWidth=e.halfWidth,this.halfHeight=e.halfHeight,this}copyTo(e){return e.copyFrom(this),e}toString(){return`[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}}});function j1(r,e,t,i,n,s){let o=r-t,a=e-i,l=n-t,c=s-i,u=o*l+a*c,A=l*l+c*c,h=-1;A!==0&&(h=u/A);let d,f;h<0?(d=t,f=i):h>1?(d=n,f=s):(d=t+h*l,f=i+h*c);let g=r-d,p=e-f;return g*g+p*p}var V1=m(()=>{"use strict"});var L9,N9,zo,Y1=m(()=>{V1();st();zo=class r{constructor(...e){this.type="polygon";let t=Array.isArray(e[0])?e[0]:e;if(typeof t[0]!="number"){let i=[];for(let n=0,s=t.length;n<s;n++)i.push(t[n].x,t[n].y);t=i}this.points=t,this.closePath=!0}isClockwise(){let e=0,t=this.points,i=t.length;for(let n=0;n<i;n+=2){let s=t[n],o=t[n+1],a=t[(n+2)%i],l=t[(n+3)%i];e+=(a-s)*(l+o)}return e<0}containsPolygon(e){let t=this.getBounds(L9),i=e.getBounds(N9);if(!t.containsRect(i))return!1;let n=e.points;for(let s=0;s<n.length;s+=2){let o=n[s],a=n[s+1];if(!this.contains(o,a))return!1}return!0}clone(){let e=this.points.slice(),t=new r(e);return t.closePath=this.closePath,t}contains(e,t){let i=!1,n=this.points.length/2;for(let s=0,o=n-1;s<n;o=s++){let a=this.points[s*2],l=this.points[s*2+1],c=this.points[o*2],u=this.points[o*2+1];l>t!=u>t&&e<(c-a)*((t-l)/(u-l))+a&&(i=!i)}return i}strokeContains(e,t,i,n=.5){let s=i*i,o=s*(1-n),a=s-o,{points:l}=this,c=l.length-(this.closePath?0:2);for(let u=0;u<c;u+=2){let A=l[u],h=l[u+1],d=l[(u+2)%l.length],f=l[(u+3)%l.length],g=j1(e,t,A,h,d,f),p=Math.sign((d-A)*(t-h)-(f-h)*(e-A));if(g<=(p<0?a:o))return!0}return!1}getBounds(e){e||(e=new ee);let t=this.points,i=1/0,n=-1/0,s=1/0,o=-1/0;for(let a=0,l=t.length;a<l;a+=2){let c=t[a],u=t[a+1];i=c<i?c:i,n=c>n?c:n,s=u<s?u:s,o=u>o?u:o}return e.x=i,e.width=n-i,e.y=s,e.height=o-s,e}copyFrom(e){return this.points=e.points.slice(),this.closePath=e.closePath,this}copyTo(e){return e.copyFrom(this),e}toString(){return`[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((e,t)=>`${e}, ${t}`,"")}]`}get lastX(){return this.points[this.points.length-2]}get lastY(){return this.points[this.points.length-1]}get x(){return this.points[this.points.length-2]}get y(){return this.points[this.points.length-1]}}});var vp,xp,K1=m(()=>{st();vp=(r,e,t,i,n,s,o)=>{let a=r-t,l=e-i,c=Math.sqrt(a*a+l*l);return c>=n-s&&c<=n+o},xp=class r{constructor(e=0,t=0,i=0,n=0,s=20){this.type="roundedRectangle",this.x=e,this.y=t,this.width=i,this.height=n,this.radius=s}getBounds(e){return e||(e=new ee),e.x=this.x,e.y=this.y,e.width=this.width,e.height=this.height,e}clone(){return new r(this.x,this.y,this.width,this.height,this.radius)}copyFrom(e){return this.x=e.x,this.y=e.y,this.width=e.width,this.height=e.height,this}copyTo(e){return e.copyFrom(this),e}contains(e,t){if(this.width<=0||this.height<=0)return!1;if(e>=this.x&&e<=this.x+this.width&&t>=this.y&&t<=this.y+this.height){let i=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(t>=this.y+i&&t<=this.y+this.height-i||e>=this.x+i&&e<=this.x+this.width-i)return!0;let n=e-(this.x+i),s=t-(this.y+i),o=i*i;if(n*n+s*s<=o||(n=e-(this.x+this.width-i),n*n+s*s<=o)||(s=t-(this.y+this.height-i),n*n+s*s<=o)||(n=e-(this.x+i),n*n+s*s<=o))return!0}return!1}strokeContains(e,t,i,n=.5){let{x:s,y:o,width:a,height:l,radius:c}=this,u=i*(1-n),A=i-u,h=s+c,d=o+c,f=a-c*2,g=l-c*2,p=s+a,I=o+l;return(e>=s-u&&e<=s+A||e>=p-A&&e<=p+u)&&t>=d&&t<=d+g||(t>=o-u&&t<=o+A||t>=I-A&&t<=I+u)&&e>=h&&e<=h+f?!0:e<h&&t<d&&vp(e,t,h,d,c,A,u)||e>p-c&&t<d&&vp(e,t,p-c,d,c,A,u)||e>p-c&&t>I-c&&vp(e,t,p-c,I-c,c,A,u)||e<h&&t>I-c&&vp(e,t,h,I-c,c,A,u)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}});function Cp(r,e,t,i,n,s,o,a,l,c){let A=Math.min(.99,Math.max(0,c??jo.defaultOptions.bezierSmoothness)),h=(W9-A)/1;return h*=h,q9(e,t,i,n,s,o,a,l,r,h),r}function q9(r,e,t,i,n,s,o,a,l,c){eI(r,e,t,i,n,s,o,a,l,c,0),l.push(o,a)}function eI(r,e,t,i,n,s,o,a,l,c,u){if(u>H9)return;let A=Math.PI,h=(r+t)/2,d=(e+i)/2,f=(t+n)/2,g=(i+s)/2,p=(n+o)/2,I=(s+a)/2,x=(h+f)/2,B=(d+g)/2,w=(f+p)/2,D=(g+I)/2,T=(x+w)/2,R=(B+D)/2;if(u>0){let U=o-r,Z=a-e,Y=Math.abs((t-o)*Z-(i-a)*U),V=Math.abs((n-o)*Z-(s-a)*U),ne,ae;if(Y>Bp&&V>Bp){if((Y+V)*(Y+V)<=c*(U*U+Z*Z)){if(Xo<$_){l.push(T,R);return}let Fe=Math.atan2(s-i,n-t);if(ne=Math.abs(Fe-Math.atan2(i-e,t-r)),ae=Math.abs(Math.atan2(a-s,o-n)-Fe),ne>=A&&(ne=2*A-ne),ae>=A&&(ae=2*A-ae),ne+ae<Xo){l.push(T,R);return}if(ds!==0){if(ne>ds){l.push(t,i);return}if(ae>ds){l.push(n,s);return}}}}else if(Y>Bp){if(Y*Y<=c*(U*U+Z*Z)){if(Xo<$_){l.push(T,R);return}if(ne=Math.abs(Math.atan2(s-i,n-t)-Math.atan2(i-e,t-r)),ne>=A&&(ne=2*A-ne),ne<Xo){l.push(t,i),l.push(n,s);return}if(ds!==0&&ne>ds){l.push(t,i);return}}}else if(V>Bp){if(V*V<=c*(U*U+Z*Z)){if(Xo<$_){l.push(T,R);return}if(ne=Math.abs(Math.atan2(a-s,o-n)-Math.atan2(s-i,n-t)),ne>=A&&(ne=2*A-ne),ne<Xo){l.push(t,i),l.push(n,s);return}if(ds!==0&&ne>ds){l.push(n,s);return}}}else if(U=T-(r+o)/2,Z=R-(e+a)/2,U*U+Z*Z<=c){l.push(T,R);return}}eI(r,e,h,d,x,B,T,R,l,c,u+1),eI(T,R,w,D,p,I,o,a,l,c,u+1)}var H9,Bp,W9,$_,Xo,ds,tI=m(()=>{dp();H9=8,Bp=11920929e-14,W9=1,$_=.01,Xo=0,ds=0});function X1(r,e,t,i,n,s,o,a){let c=Math.min(.99,Math.max(0,a??jo.defaultOptions.bezierSmoothness)),u=(Y9-c)/1;return u*=u,z9(e,t,i,n,s,o,r,u),r}function z9(r,e,t,i,n,s,o,a){rI(o,r,e,t,i,n,s,a,0),o.push(n,s)}function rI(r,e,t,i,n,s,o,a,l){if(l>j9)return;let c=Math.PI,u=(e+i)/2,A=(t+n)/2,h=(i+s)/2,d=(n+o)/2,f=(u+h)/2,g=(A+d)/2,p=s-e,I=o-t,x=Math.abs((i-s)*I-(n-o)*p);if(x>V9){if(x*x<=a*(p*p+I*I)){if(z1<K9){r.push(f,g);return}let B=Math.abs(Math.atan2(o-n,s-i)-Math.atan2(n-t,i-e));if(B>=c&&(B=2*c-B),B<z1){r.push(f,g);return}}}else if(p=f-(e+s)/2,I=g-(t+o)/2,p*p+I*I<=a){r.push(f,g);return}rI(r,e,t,u,A,f,g,a,l+1),rI(r,f,g,h,d,s,o,a,l+1)}var j9,V9,Y9,K9,z1,J1=m(()=>{dp();j9=8,V9=11920929e-14,Y9=1,K9=.01,z1=0});function bp(r,e,t,i,n,s,o,a){let l=Math.abs(n-s);(!o&&n>s||o&&s>n)&&(l=2*Math.PI-l),a||(a=Math.max(6,Math.floor(6*Math.pow(i,1/3)*(l/Math.PI)))),a=Math.max(a,3);let c=l/a,u=n;c*=o?-1:1;for(let A=0;A<a+1;A++){let h=Math.cos(u),d=Math.sin(u),f=e+h*i,g=t+d*i;r.push(f,g),u+=c}}var iI=m(()=>{"use strict"});function Z1(r,e,t,i,n,s){let o=r[r.length-2],l=r[r.length-1]-t,c=o-e,u=n-t,A=i-e,h=Math.abs(l*A-c*u);if(h<1e-8||s===0){(r[r.length-2]!==e||r[r.length-1]!==t)&&r.push(e,t);return}let d=l*l+c*c,f=u*u+A*A,g=l*u+c*A,p=s*Math.sqrt(d)/h,I=s*Math.sqrt(f)/h,x=p*g/d,B=I*g/f,w=p*A+I*c,D=p*u+I*l,T=c*(I+x),R=l*(I+x),U=A*(p+B),Z=u*(p+B),Y=Math.atan2(R-D,T-w),V=Math.atan2(Z-D,U-w);bp(r,w+e,D+t,s,Y,V,c*u>A*l)}var $1=m(()=>{iI()});function X9(r,e){let t=e===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(e/4),i=e===1.5707963267948966?.551915024494:t,n=Math.cos(r),s=Math.sin(r),o=Math.cos(r+e),a=Math.sin(r+e);return[{x:n-s*i,y:s+n*i},{x:o+a*i,y:a-o*i},{x:o,y:a}]}function tP(r,e,t,i,n,s,o,a=0,l=0,c=0){if(s===0||o===0)return;let u=Math.sin(a*Ku/360),A=Math.cos(a*Ku/360),h=A*(e-i)/2+u*(t-n)/2,d=-u*(e-i)/2+A*(t-n)/2;if(h===0&&d===0)return;s=Math.abs(s),o=Math.abs(o);let f=Math.pow(h,2)/Math.pow(s,2)+Math.pow(d,2)/Math.pow(o,2);f>1&&(s*=Math.sqrt(f),o*=Math.sqrt(f)),J9(e,t,i,n,s,o,l,c,u,A,h,d,nI);let{ang1:g,ang2:p}=nI,{centerX:I,centerY:x}=nI,B=Math.abs(p)/(Ku/4);Math.abs(1-B)<1e-7&&(B=1);let w=Math.max(Math.ceil(B),1);p/=w;let D=r[r.length-2],T=r[r.length-1],R={x:0,y:0};for(let U=0;U<w;U++){let Z=X9(g,p),{x:Y,y:V}=sI(Z[0],s,o,A,u,I,x,R),{x:ne,y:ae}=sI(Z[1],s,o,A,u,I,x,R),{x:Fe,y:Ut}=sI(Z[2],s,o,A,u,I,x,R);Cp(r,D,T,Y,V,ne,ae,Fe,Ut),D=Fe,T=Ut,g+=p}}var Ku,nI,sI,eP,J9,rP=m(()=>{tI();Ku=Math.PI*2,nI={centerX:0,centerY:0,ang1:0,ang2:0},sI=({x:r,y:e},t,i,n,s,o,a,l)=>{r*=t,e*=i;let c=n*r-s*e,u=s*r+n*e;return l.x=c+o,l.y=u+a,l};eP=(r,e,t,i)=>{let n=r*i-e*t<0?-1:1,s=r*t+e*i;return s>1&&(s=1),s<-1&&(s=-1),n*Math.acos(s)},J9=(r,e,t,i,n,s,o,a,l,c,u,A,h)=>{let d=Math.pow(n,2),f=Math.pow(s,2),g=Math.pow(u,2),p=Math.pow(A,2),I=d*f-d*p-f*g;I<0&&(I=0),I/=d*p+f*g,I=Math.sqrt(I)*(o===a?-1:1);let x=I*n/s*A,B=I*-s/n*u,w=c*x-l*B+(r+t)/2,D=l*x+c*B+(e+i)/2,T=(u-x)/n,R=(A-B)/s,U=(-u-x)/n,Z=(-A-B)/s,Y=eP(1,0,T,R),V=eP(T,R,U,Z);a===0&&V>0&&(V-=Ku),a===1&&V<0&&(V+=Ku),h.centerX=w,h.centerY=D,h.ang1=Y,h.ang2=V}});function iP(r,e,t){let i=(o,a)=>{let l=a.x-o.x,c=a.y-o.y,u=Math.sqrt(l*l+c*c),A=l/u,h=c/u;return{len:u,nx:A,ny:h}},n=(o,a)=>{o===0?r.moveTo(a.x,a.y):r.lineTo(a.x,a.y)},s=e[e.length-1];for(let o=0;o<e.length;o++){let a=e[o%e.length],l=a.radius??t;if(l<=0){n(o,a),s=a;continue}let c=e[(o+1)%e.length],u=i(a,s),A=i(a,c);if(u.len<1e-4||A.len<1e-4){n(o,a),s=a;continue}let h=Math.asin(u.nx*A.ny-u.ny*A.nx),d=1,f=!1;u.nx*A.nx-u.ny*-A.ny<0?h<0?h=Math.PI+h:(h=Math.PI-h,d=-1,f=!0):h>0&&(d=-1,f=!0);let g=h/2,p,I=Math.abs(Math.cos(g)*l/Math.sin(g));I>Math.min(u.len/2,A.len/2)?(I=Math.min(u.len/2,A.len/2),p=Math.abs(I*Math.sin(g)/Math.cos(g))):p=l;let x=a.x+A.nx*I+-A.ny*p*d,B=a.y+A.ny*I+A.nx*p*d,w=Math.atan2(u.ny,u.nx)+Math.PI/2*d,D=Math.atan2(A.ny,A.nx)-Math.PI/2*d;o===0&&r.moveTo(x+Math.cos(w)*p,B+Math.sin(w)*p),r.arc(x,B,p,w,D,f),s=a}}function nP(r,e,t,i){let n=(a,l)=>Math.sqrt((a.x-l.x)**2+(a.y-l.y)**2),s=(a,l,c)=>({x:a.x+(l.x-a.x)*c,y:a.y+(l.y-a.y)*c}),o=e.length;for(let a=0;a<o;a++){let l=e[(a+1)%o],c=l.radius??t;if(c<=0){a===0?r.moveTo(l.x,l.y):r.lineTo(l.x,l.y);continue}let u=e[a],A=e[(a+2)%o],h=n(u,l),d;if(h<1e-4)d=l;else{let p=Math.min(h/2,c);d=s(l,u,p/h)}let f=n(A,l),g;if(f<1e-4)g=l;else{let p=Math.min(f/2,c);g=s(l,A,p/f)}a===0?r.moveTo(d.x,d.y):r.lineTo(d.x,d.y),r.quadraticCurveTo(l.x,l.y,g.x,g.y,i)}}var sP=m(()=>{"use strict"});var Z9,wp,oP=m(()=>{W1();q1();Y1();st();K1();Pt();tI();J1();iI();$1();rP();sP();Z9=new ee,wp=class{constructor(e){this.shapePrimitives=[],this._currentPoly=null,this._bounds=new ge,this._graphicsPath2D=e,this.signed=e.checkForHoles}moveTo(e,t){return this.startPoly(e,t),this}lineTo(e,t){this._ensurePoly();let i=this._currentPoly.points,n=i[i.length-2],s=i[i.length-1];return(n!==e||s!==t)&&i.push(e,t),this}arc(e,t,i,n,s,o){this._ensurePoly(!1);let a=this._currentPoly.points;return bp(a,e,t,i,n,s,o),this}arcTo(e,t,i,n,s){this._ensurePoly();let o=this._currentPoly.points;return Z1(o,e,t,i,n,s),this}arcToSvg(e,t,i,n,s,o,a){let l=this._currentPoly.points;return tP(l,this._currentPoly.lastX,this._currentPoly.lastY,o,a,e,t,i,n,s),this}bezierCurveTo(e,t,i,n,s,o,a){this._ensurePoly();let l=this._currentPoly;return Cp(this._currentPoly.points,l.lastX,l.lastY,e,t,i,n,s,o,a),this}quadraticCurveTo(e,t,i,n,s){this._ensurePoly();let o=this._currentPoly;return X1(this._currentPoly.points,o.lastX,o.lastY,e,t,i,n,s),this}closePath(){return this.endPoly(!0),this}addPath(e,t){this.endPoly(),t&&!t.isIdentity()&&(e=e.clone(!0),e.transform(t));let i=this.shapePrimitives,n=i.length;for(let s=0;s<e.instructions.length;s++){let o=e.instructions[s];this[o.action](...o.data)}if(e.checkForHoles&&i.length-n>1){let s=null;for(let o=n;o<i.length;o++){let a=i[o];if(a.shape.type==="polygon"){let l=a.shape,c=s?.shape;c&&c.containsPolygon(l)?(s.holes||(s.holes=[]),s.holes.push(a),i.copyWithin(o,o+1),i.length--,o--):s=a}}}return this}finish(e=!1){this.endPoly(e)}rect(e,t,i,n,s){return this.drawShape(new ee(e,t,i,n),s),this}circle(e,t,i,n){return this.drawShape(new _p(e,t,i),n),this}poly(e,t,i){let n=new zo(e);return n.closePath=t,this.drawShape(n,i),this}regularPoly(e,t,i,n,s=0,o){n=Math.max(n|0,3);let a=-1*Math.PI/2+s,l=Math.PI*2/n,c=[];for(let u=0;u<n;u++){let A=a-u*l;c.push(e+i*Math.cos(A),t+i*Math.sin(A))}return this.poly(c,!0,o),this}roundPoly(e,t,i,n,s,o=0,a){if(n=Math.max(n|0,3),s<=0)return this.regularPoly(e,t,i,n,o);let l=i*Math.sin(Math.PI/n)-.001;s=Math.min(s,l);let c=-1*Math.PI/2+o,u=Math.PI*2/n,A=(n-2)*Math.PI/n/2;for(let h=0;h<n;h++){let d=h*u+c,f=e+i*Math.cos(d),g=t+i*Math.sin(d),p=d+Math.PI+A,I=d-Math.PI-A,x=f+s*Math.cos(p),B=g+s*Math.sin(p),w=f+s*Math.cos(I),D=g+s*Math.sin(I);h===0?this.moveTo(x,B):this.lineTo(x,B),this.quadraticCurveTo(f,g,w,D,a)}return this.closePath()}roundShape(e,t,i=!1,n){return e.length<3?this:(i?nP(this,e,t,n):iP(this,e,t),this.closePath())}filletRect(e,t,i,n,s){if(s===0)return this.rect(e,t,i,n);let o=Math.min(i,n)/2,a=Math.min(o,Math.max(-o,s)),l=e+i,c=t+n,u=a<0?-a:0,A=Math.abs(a);return this.moveTo(e,t+A).arcTo(e+u,t+u,e+A,t,A).lineTo(l-A,t).arcTo(l-u,t+u,l,t+A,A).lineTo(l,c-A).arcTo(l-u,c-u,e+i-A,c,A).lineTo(e+A,c).arcTo(e+u,c-u,e,c-A,A).closePath()}chamferRect(e,t,i,n,s,o){if(s<=0)return this.rect(e,t,i,n);let a=Math.min(s,Math.min(i,n)/2),l=e+i,c=t+n,u=[e+a,t,l-a,t,l,t+a,l,c-a,l-a,c,e+a,c,e,c-a,e,t+a];for(let A=u.length-1;A>=2;A-=2)u[A]===u[A-2]&&u[A-1]===u[A-3]&&u.splice(A-1,2);return this.poly(u,!0,o)}ellipse(e,t,i,n,s){return this.drawShape(new Ip(e,t,i,n),s),this}roundRect(e,t,i,n,s,o){return this.drawShape(new xp(e,t,i,n,s),o),this}drawShape(e,t){return this.endPoly(),this.shapePrimitives.push({shape:e,transform:t}),this}startPoly(e,t){let i=this._currentPoly;return i&&this.endPoly(),i=new zo,i.points.push(e,t),this._currentPoly=i,this}endPoly(e=!1){let t=this._currentPoly;return t&&t.points.length>2&&(t.closePath=e,this.shapePrimitives.push({shape:t})),this._currentPoly=null,this}_ensurePoly(e=!0){if(!this._currentPoly&&(this._currentPoly=new zo,e)){let t=this.shapePrimitives[this.shapePrimitives.length-1];if(t){let i=t.shape.x,n=t.shape.y;if(t.transform&&!t.transform.isIdentity()){let s=t.transform,o=i;i=s.a*i+s.c*n+s.tx,n=s.b*o+s.d*n+s.ty}this._currentPoly.points.push(i,n)}else this._currentPoly.points.push(0,0)}}buildPath(){let e=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let t=0;t<e.instructions.length;t++){let i=e.instructions[t];this[i.action](...i.data)}this.finish()}get bounds(){let e=this._bounds;e.clear();let t=this.shapePrimitives;for(let i=0;i<t.length;i++){let n=t[i],s=n.shape.getBounds(Z9);n.transform?e.addRect(s,n.transform):e.addRect(s)}return e}}});function zu(r,e){return r?r.prepend(e):e.clone()}var Bn,oI=m(()=>{Mt();gt();Be();H1();oP();Bn=class r{constructor(e,t=!1){this.instructions=[],this.uid=fe("graphicsPath"),this._dirty=!0,this.checkForHoles=t,typeof e=="string"?N1(e,this):this.instructions=e?.slice()??[]}get shapePath(){return this._shapePath||(this._shapePath=new wp(this)),this._dirty&&(this._dirty=!1,this._shapePath.buildPath()),this._shapePath}addPath(e,t){return e=e.clone(),this.instructions.push({action:"addPath",data:[e,t]}),this._dirty=!0,this}arc(...e){return this.instructions.push({action:"arc",data:e}),this._dirty=!0,this}arcTo(...e){return this.instructions.push({action:"arcTo",data:e}),this._dirty=!0,this}arcToSvg(...e){return this.instructions.push({action:"arcToSvg",data:e}),this._dirty=!0,this}bezierCurveTo(...e){return this.instructions.push({action:"bezierCurveTo",data:e}),this._dirty=!0,this}bezierCurveToShort(e,t,i,n,s){let o=this.instructions[this.instructions.length-1],a=this.getLastPoint(j.shared),l=0,c=0;if(!o||o.action!=="bezierCurveTo")l=a.x,c=a.y;else{l=o.data[2],c=o.data[3];let u=a.x,A=a.y;l=u+(u-l),c=A+(A-c)}return this.instructions.push({action:"bezierCurveTo",data:[l,c,e,t,i,n,s]}),this._dirty=!0,this}closePath(){return this.instructions.push({action:"closePath",data:[]}),this._dirty=!0,this}ellipse(...e){return this.instructions.push({action:"ellipse",data:e}),this._dirty=!0,this}lineTo(...e){return this.instructions.push({action:"lineTo",data:e}),this._dirty=!0,this}moveTo(...e){return this.instructions.push({action:"moveTo",data:e}),this}quadraticCurveTo(...e){return this.instructions.push({action:"quadraticCurveTo",data:e}),this._dirty=!0,this}quadraticCurveToShort(e,t,i){let n=this.instructions[this.instructions.length-1],s=this.getLastPoint(j.shared),o=0,a=0;if(!n||n.action!=="quadraticCurveTo")o=s.x,a=s.y;else{o=n.data[0],a=n.data[1];let l=s.x,c=s.y;o=l+(l-o),a=c+(c-a)}return this.instructions.push({action:"quadraticCurveTo",data:[o,a,e,t,i]}),this._dirty=!0,this}rect(e,t,i,n,s){return this.instructions.push({action:"rect",data:[e,t,i,n,s]}),this._dirty=!0,this}circle(e,t,i,n){return this.instructions.push({action:"circle",data:[e,t,i,n]}),this._dirty=!0,this}roundRect(...e){return this.instructions.push({action:"roundRect",data:e}),this._dirty=!0,this}poly(...e){return this.instructions.push({action:"poly",data:e}),this._dirty=!0,this}regularPoly(...e){return this.instructions.push({action:"regularPoly",data:e}),this._dirty=!0,this}roundPoly(...e){return this.instructions.push({action:"roundPoly",data:e}),this._dirty=!0,this}roundShape(...e){return this.instructions.push({action:"roundShape",data:e}),this._dirty=!0,this}filletRect(...e){return this.instructions.push({action:"filletRect",data:e}),this._dirty=!0,this}chamferRect(...e){return this.instructions.push({action:"chamferRect",data:e}),this._dirty=!0,this}star(e,t,i,n,s,o,a){s||(s=n/2);let l=-1*Math.PI/2+o,c=i*2,u=Math.PI*2/c,A=[];for(let h=0;h<c;h++){let d=h%2?s:n,f=h*u+l;A.push(e+d*Math.cos(f),t+d*Math.sin(f))}return this.poly(A,!0,a),this}clone(e=!1){let t=new r;if(t.checkForHoles=this.checkForHoles,!e)t.instructions=this.instructions.slice();else for(let i=0;i<this.instructions.length;i++){let n=this.instructions[i];t.instructions.push({action:n.action,data:n.data.slice()})}return t}clear(){return this.instructions.length=0,this._dirty=!0,this}transform(e){if(e.isIdentity())return this;let t=e.a,i=e.b,n=e.c,s=e.d,o=e.tx,a=e.ty,l=0,c=0,u=0,A=0,h=0,d=0,f=0,g=0;for(let p=0;p<this.instructions.length;p++){let I=this.instructions[p],x=I.data;switch(I.action){case"moveTo":case"lineTo":l=x[0],c=x[1],x[0]=t*l+n*c+o,x[1]=i*l+s*c+a;break;case"bezierCurveTo":u=x[0],A=x[1],h=x[2],d=x[3],l=x[4],c=x[5],x[0]=t*u+n*A+o,x[1]=i*u+s*A+a,x[2]=t*h+n*d+o,x[3]=i*h+s*d+a,x[4]=t*l+n*c+o,x[5]=i*l+s*c+a;break;case"quadraticCurveTo":u=x[0],A=x[1],l=x[2],c=x[3],x[0]=t*u+n*A+o,x[1]=i*u+s*A+a,x[2]=t*l+n*c+o,x[3]=i*l+s*c+a;break;case"arcToSvg":l=x[5],c=x[6],f=x[0],g=x[1],x[0]=t*f+n*g,x[1]=i*f+s*g,x[5]=t*l+n*c+o,x[6]=i*l+s*c+a;break;case"circle":x[4]=zu(x[3],e);break;case"rect":x[4]=zu(x[4],e);break;case"ellipse":x[8]=zu(x[8],e);break;case"roundRect":x[5]=zu(x[5],e);break;case"addPath":x[0].transform(e);break;case"poly":x[2]=zu(x[2],e);break;default:q("unknown transform action",I.action);break}}return this._dirty=!0,this}get bounds(){return this.shapePath.bounds}getLastPoint(e){let t=this.instructions.length-1,i=this.instructions[t];if(!i)return e.x=0,e.y=0,e;for(;i.action==="closePath";){if(t--,t<0)return e.x=0,e.y=0,e;i=this.instructions[t]}switch(i.action){case"moveTo":case"lineTo":e.x=i.data[0],e.y=i.data[1];break;case"quadraticCurveTo":e.x=i.data[2],e.y=i.data[3];break;case"bezierCurveTo":e.x=i.data[4],e.y=i.data[5];break;case"arc":case"arcToSvg":e.x=i.data[5],e.y=i.data[6];break;case"addPath":i.data[0].getLastPoint(e);break}return e}}});function Ve(r,e,t){let i=r.getAttribute(e);return i?Number(i):t}var aI=m(()=>{"use strict"});function aP(r,e){let t=r.querySelectorAll("defs");for(let i=0;i<t.length;i++){let n=t[i];for(let s=0;s<n.children.length;s++){let o=n.children[s];switch(o.nodeName.toLowerCase()){case"lineargradient":e.defs[o.id]=$9(o);break;case"radialgradient":e.defs[o.id]=e7(o);break;default:break}}}}function $9(r){let e=Ve(r,"x1",0),t=Ve(r,"y1",0),i=Ve(r,"x2",1),n=Ve(r,"y2",0),s=r.getAttribute("gradientUnits")||"objectBoundingBox",o=new Vt(e,t,i,n,s==="objectBoundingBox"?"local":"global");for(let a=0;a<r.children.length;a++){let l=r.children[a],c=Ve(l,"offset",0),u=le.shared.setValue(l.getAttribute("stop-color")).toNumber();o.addColorStop(c,u)}return o}function e7(r){return q("[SVG Parser] Radial gradients are not yet supported"),new Vt(0,0,1,0)}var uP=m(()=>{pt();Be();qo();aI()});function uI(r){let e=r.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return e?e[1]:""}var lP=m(()=>{"use strict"});function lI(r,e){let t=r.getAttribute("style"),i={},n={},s={strokeStyle:i,fillStyle:n,useFill:!1,useStroke:!1};for(let o in cP){let a=r.getAttribute(o);a&&AP(e,s,o,a.trim())}if(t){let o=t.split(";");for(let a=0;a<o.length;a++){let l=o[a].trim(),[c,u]=l.split(":");cP[c]&&AP(e,s,c,u.trim())}}return{strokeStyle:s.useStroke?i:null,fillStyle:s.useFill?n:null,useFill:s.useFill,useStroke:s.useStroke}}function AP(r,e,t,i){switch(t){case"stroke":if(i!=="none"){if(i.startsWith("url(")){let n=uI(i);e.strokeStyle.fill=r.defs[n]}else e.strokeStyle.color=le.shared.setValue(i).toNumber();e.useStroke=!0}break;case"stroke-width":e.strokeStyle.width=Number(i);break;case"fill":if(i!=="none"){if(i.startsWith("url(")){let n=uI(i);e.fillStyle.fill=r.defs[n]}else e.fillStyle.color=le.shared.setValue(i).toNumber();e.useFill=!0}break;case"fill-opacity":e.fillStyle.alpha=Number(i);break;case"stroke-opacity":e.strokeStyle.alpha=Number(i);break;case"opacity":e.fillStyle.alpha=Number(i),e.strokeStyle.alpha=Number(i);break}}var cP,hP=m(()=>{pt();lP();cP={fill:{type:"paint",default:0},"fill-opacity":{type:"number",default:1},stroke:{type:"paint",default:0},"stroke-width":{type:"number",default:1},"stroke-opacity":{type:"number",default:1},"stroke-linecap":{type:"string",default:"butt"},"stroke-linejoin":{type:"string",default:"miter"},"stroke-miterlimit":{type:"number",default:10},"stroke-dasharray":{type:"string",default:"none"},"stroke-dashoffset":{type:"number",default:0},opacity:{type:"number",default:1}}});function dP(r,e){if(typeof r=="string"){let o=document.createElement("div");o.innerHTML=r.trim(),r=o.querySelector("svg")}let t={context:e,defs:{},path:new Bn};aP(r,t);let i=r.children,{fillStyle:n,strokeStyle:s}=lI(r,t);for(let o=0;o<i.length;o++){let a=i[o];a.nodeName.toLowerCase()!=="defs"&&fP(a,t,n,s)}return e}function fP(r,e,t,i){let n=r.children,{fillStyle:s,strokeStyle:o}=lI(r,e);s&&t?t={...t,...s}:s&&(t=s),o&&i?i={...i,...o}:o&&(i=o);let a=!t&&!i;a&&(t={color:0});let l,c,u,A,h,d,f,g,p,I,x,B,w,D,T,R,U;switch(r.nodeName.toLowerCase()){case"path":D=r.getAttribute("d"),r.getAttribute("fill-rule")==="evenodd"&&q("SVG Evenodd fill rule not supported, your svg may render incorrectly"),T=new Bn(D,!0),e.context.path(T),t&&e.context.fill(t),i&&e.context.stroke(i);break;case"circle":f=Ve(r,"cx",0),g=Ve(r,"cy",0),p=Ve(r,"r",0),e.context.ellipse(f,g,p,p),t&&e.context.fill(t),i&&e.context.stroke(i);break;case"rect":l=Ve(r,"x",0),c=Ve(r,"y",0),R=Ve(r,"width",0),U=Ve(r,"height",0),I=Ve(r,"rx",0),x=Ve(r,"ry",0),I||x?e.context.roundRect(l,c,R,U,I||x):e.context.rect(l,c,R,U),t&&e.context.fill(t),i&&e.context.stroke(i);break;case"ellipse":f=Ve(r,"cx",0),g=Ve(r,"cy",0),I=Ve(r,"rx",0),x=Ve(r,"ry",0),e.context.beginPath(),e.context.ellipse(f,g,I,x),t&&e.context.fill(t),i&&e.context.stroke(i);break;case"line":u=Ve(r,"x1",0),A=Ve(r,"y1",0),h=Ve(r,"x2",0),d=Ve(r,"y2",0),e.context.beginPath(),e.context.moveTo(u,A),e.context.lineTo(h,d),i&&e.context.stroke(i);break;case"polygon":w=r.getAttribute("points"),B=w.match(/\d+/g).map(Z=>parseInt(Z,10)),e.context.poly(B,!0),t&&e.context.fill(t),i&&e.context.stroke(i);break;case"polyline":w=r.getAttribute("points"),B=w.match(/\d+/g).map(Z=>parseInt(Z,10)),e.context.poly(B,!1),i&&e.context.stroke(i);break;case"g":case"svg":break;default:{q(`[SVG parser] <${r.nodeName}> elements unsupported`);break}}a&&(t=null);for(let Z=0;Z<n.length;Z++)fP(n[Z],e,t,i)}var pP=m(()=>{Be();oI();uP();aI();hP()});function t7(r){return le.isColorLike(r)}function gP(r){return r instanceof wi}function mP(r){return r instanceof Vt}function r7(r){return r instanceof F}function i7(r,e,t){let i=le.shared.setValue(e??0);return r.color=i.toNumber(),r.alpha=i.alpha===1?t.alpha:i.alpha,r.texture=F.WHITE,{...t,...r}}function n7(r,e,t){return r.texture=e,{...t,...r}}function yP(r,e,t){return r.fill=e,r.color=16777215,r.texture=e.texture,r.matrix=e.transform,{...t,...r}}function EP(r,e,t){return e.buildGradient(),r.fill=e,r.color=16777215,r.texture=e.texture,r.matrix=e.transform,r.textureSpace=e.textureSpace,{...t,...r}}function s7(r,e){let t={...e,...r},i=le.shared.setValue(t.color);return t.alpha*=i.alpha,t.color=i.toNumber(),t}function Qi(r,e){if(r==null)return null;let t={},i=r;return t7(r)?i7(t,r,e):r7(r)?n7(t,r,e):gP(r)?yP(t,r,e):mP(r)?EP(t,r,e):i.fill&&gP(i.fill)?yP(i,i.fill,e):i.fill&&mP(i.fill)?EP(i,i.fill,e):s7(i,e)}function Jo(r,e){let{width:t,alignment:i,miterLimit:n,cap:s,join:o,pixelLine:a,...l}=e,c=Qi(r,l);return c?{width:t,alignment:i,miterLimit:n,cap:s,join:o,pixelLine:a,...c}:null}var cI=m(()=>{pt();me();qo();Ep()});var o7,_P,AI,kt,Qp=m(()=>{xt();pt();pe();Mt();me();gt();Pe();Pt();oI();pP();cI();o7=new j,_P=new O,AI=class Zr extends Me{constructor(){super(...arguments),this.uid=fe("graphicsContext"),this.dirty=!0,this.batchMode="auto",this.instructions=[],this._activePath=new Bn,this._transform=new O,this._fillStyle={...Zr.defaultFillStyle},this._strokeStyle={...Zr.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new ge,this._boundsDirty=!0}clone(){let e=new Zr;return e.batchMode=this.batchMode,e.instructions=this.instructions.slice(),e._activePath=this._activePath.clone(),e._transform=this._transform.clone(),e._fillStyle={...this._fillStyle},e._strokeStyle={...this._strokeStyle},e._stateStack=this._stateStack.slice(),e._bounds=this._bounds.clone(),e._boundsDirty=!0,e}get fillStyle(){return this._fillStyle}set fillStyle(e){this._fillStyle=Qi(e,Zr.defaultFillStyle)}get strokeStyle(){return this._strokeStyle}set strokeStyle(e){this._strokeStyle=Jo(e,Zr.defaultStrokeStyle)}setFillStyle(e){return this._fillStyle=Qi(e,Zr.defaultFillStyle),this}setStrokeStyle(e){return this._strokeStyle=Qi(e,Zr.defaultStrokeStyle),this}texture(e,t,i,n,s,o){return this.instructions.push({action:"texture",data:{image:e,dx:i||0,dy:n||0,dw:s||e.frame.width,dh:o||e.frame.height,transform:this._transform.clone(),alpha:this._fillStyle.alpha,style:t?le.shared.setValue(t).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new Bn,this}fill(e,t){let i,n=this.instructions[this.instructions.length-1];return this._tick===0&&n&&n.action==="stroke"?i=n.data.path:i=this._activePath.clone(),i?(e!=null&&(t!==void 0&&typeof e=="number"&&(W(J,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),e={color:e,alpha:t}),this._fillStyle=Qi(e,Zr.defaultFillStyle)),this.instructions.push({action:"fill",data:{style:this.fillStyle,path:i}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}_initNextPathLocation(){let{x:e,y:t}=this._activePath.getLastPoint(j.shared);this._activePath.clear(),this._activePath.moveTo(e,t)}stroke(e){let t,i=this.instructions[this.instructions.length-1];return this._tick===0&&i&&i.action==="fill"?t=i.data.path:t=this._activePath.clone(),t?(e!=null&&(this._strokeStyle=Jo(e,Zr.defaultStrokeStyle)),this.instructions.push({action:"stroke",data:{style:this.strokeStyle,path:t}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}cut(){for(let e=0;e<2;e++){let t=this.instructions[this.instructions.length-1-e],i=this._activePath.clone();if(t&&(t.action==="stroke"||t.action==="fill"))if(t.data.hole)t.data.hole.addPath(i);else{t.data.hole=i;break}}return this._initNextPathLocation(),this}arc(e,t,i,n,s,o){this._tick++;let a=this._transform;return this._activePath.arc(a.a*e+a.c*t+a.tx,a.b*e+a.d*t+a.ty,i,n,s,o),this}arcTo(e,t,i,n,s){this._tick++;let o=this._transform;return this._activePath.arcTo(o.a*e+o.c*t+o.tx,o.b*e+o.d*t+o.ty,o.a*i+o.c*n+o.tx,o.b*i+o.d*n+o.ty,s),this}arcToSvg(e,t,i,n,s,o,a){this._tick++;let l=this._transform;return this._activePath.arcToSvg(e,t,i,n,s,l.a*o+l.c*a+l.tx,l.b*o+l.d*a+l.ty),this}bezierCurveTo(e,t,i,n,s,o,a){this._tick++;let l=this._transform;return this._activePath.bezierCurveTo(l.a*e+l.c*t+l.tx,l.b*e+l.d*t+l.ty,l.a*i+l.c*n+l.tx,l.b*i+l.d*n+l.ty,l.a*s+l.c*o+l.tx,l.b*s+l.d*o+l.ty,a),this}closePath(){return this._tick++,this._activePath?.closePath(),this}ellipse(e,t,i,n){return this._tick++,this._activePath.ellipse(e,t,i,n,this._transform.clone()),this}circle(e,t,i){return this._tick++,this._activePath.circle(e,t,i,this._transform.clone()),this}path(e){return this._tick++,this._activePath.addPath(e,this._transform.clone()),this}lineTo(e,t){this._tick++;let i=this._transform;return this._activePath.lineTo(i.a*e+i.c*t+i.tx,i.b*e+i.d*t+i.ty),this}moveTo(e,t){this._tick++;let i=this._transform,n=this._activePath.instructions,s=i.a*e+i.c*t+i.tx,o=i.b*e+i.d*t+i.ty;return n.length===1&&n[0].action==="moveTo"?(n[0].data[0]=s,n[0].data[1]=o,this):(this._activePath.moveTo(s,o),this)}quadraticCurveTo(e,t,i,n,s){this._tick++;let o=this._transform;return this._activePath.quadraticCurveTo(o.a*e+o.c*t+o.tx,o.b*e+o.d*t+o.ty,o.a*i+o.c*n+o.tx,o.b*i+o.d*n+o.ty,s),this}rect(e,t,i,n){return this._tick++,this._activePath.rect(e,t,i,n,this._transform.clone()),this}roundRect(e,t,i,n,s){return this._tick++,this._activePath.roundRect(e,t,i,n,s,this._transform.clone()),this}poly(e,t){return this._tick++,this._activePath.poly(e,t,this._transform.clone()),this}regularPoly(e,t,i,n,s=0,o){return this._tick++,this._activePath.regularPoly(e,t,i,n,s,o),this}roundPoly(e,t,i,n,s,o){return this._tick++,this._activePath.roundPoly(e,t,i,n,s,o),this}roundShape(e,t,i,n){return this._tick++,this._activePath.roundShape(e,t,i,n),this}filletRect(e,t,i,n,s){return this._tick++,this._activePath.filletRect(e,t,i,n,s),this}chamferRect(e,t,i,n,s,o){return this._tick++,this._activePath.chamferRect(e,t,i,n,s,o),this}star(e,t,i,n,s=0,o=0){return this._tick++,this._activePath.star(e,t,i,n,s,o,this._transform.clone()),this}svg(e){return this._tick++,dP(e,this),this}restore(){let e=this._stateStack.pop();return e&&(this._transform=e.transform,this._fillStyle=e.fillStyle,this._strokeStyle=e.strokeStyle),this}save(){return this._stateStack.push({transform:this._transform.clone(),fillStyle:{...this._fillStyle},strokeStyle:{...this._strokeStyle}}),this}getTransform(){return this._transform}resetTransform(){return this._transform.identity(),this}rotate(e){return this._transform.rotate(e),this}scale(e,t=e){return this._transform.scale(e,t),this}setTransform(e,t,i,n,s,o){return e instanceof O?(this._transform.set(e.a,e.b,e.c,e.d,e.tx,e.ty),this):(this._transform.set(e,t,i,n,s,o),this)}transform(e,t,i,n,s,o){return e instanceof O?(this._transform.append(e),this):(_P.set(e,t,i,n,s,o),this._transform.append(_P),this)}translate(e,t=e){return this._transform.translate(e,t),this}clear(){return this._activePath.clear(),this.instructions.length=0,this.resetTransform(),this.onUpdate(),this}onUpdate(){this.dirty||(this.emit("update",this,16),this.dirty=!0,this._boundsDirty=!0)}get bounds(){if(!this._boundsDirty)return this._bounds;let e=this._bounds;e.clear();for(let t=0;t<this.instructions.length;t++){let i=this.instructions[t],n=i.action;if(n==="fill"){let s=i.data;e.addBounds(s.path.bounds)}else if(n==="texture"){let s=i.data;e.addFrame(s.dx,s.dy,s.dx+s.dw,s.dy+s.dh,s.transform)}if(n==="stroke"){let s=i.data,o=s.style.alignment,a=s.style.width*(1-o),l=s.path.bounds;e.addFrame(l.minX-a,l.minY-a,l.maxX+a,l.maxY+a)}}return e}containsPoint(e){if(!this.bounds.containsPoint(e.x,e.y))return!1;let t=this.instructions,i=!1;for(let n=0;n<t.length;n++){let s=t[n],o=s.data,a=o.path;if(!s.action||!a)continue;let l=o.style,c=a.shapePath.shapePrimitives;for(let u=0;u<c.length;u++){let A=c[u].shape;if(!l||!A)continue;let h=c[u].transform,d=h?h.applyInverse(e,o7):e;if(s.action==="fill")i=A.contains(d.x,d.y);else{let g=l;i=A.strokeContains(d.x,d.y,g.width,g.alignment)}let f=o.hole;if(f){let g=f.shapePath?.shapePrimitives;if(g)for(let p=0;p<g.length;p++)g[p].shape.contains(d.x,d.y)&&(i=!1)}if(i)return!0}}return i}destroy(e=!1){if(this._stateStack.length=0,this._transform=null,this.emit("destroy",this),this.removeAllListeners(),typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._fillStyle.texture&&this._fillStyle.texture.destroy(i),this._strokeStyle.texture&&this._strokeStyle.texture.destroy(i)}this._fillStyle=null,this._strokeStyle=null,this.instructions=null,this._activePath=null,this._bounds=null,this._stateStack=null,this.customShader=null,this._transform=null}};AI.defaultFillStyle={color:16777215,alpha:1,texture:F.WHITE,matrix:null,fill:null,textureSpace:"local"};AI.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:F.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:!1};kt=AI});function Sp(r){let e=[],t=0;for(let i=0;i<IP.length;i++){let n=`_${IP[i]}`;e[t++]=r[n]}return t=vP(r._fill,e,t),t=a7(r._stroke,e,t),t=u7(r.dropShadow,e,t),e.join("-")}function vP(r,e,t){return r&&(e[t++]=r.color,e[t++]=r.alpha,e[t++]=r.fill?.styleKey),t}function a7(r,e,t){return r&&(t=vP(r,e,t),e[t++]=r.width,e[t++]=r.alignment,e[t++]=r.cap,e[t++]=r.join,e[t++]=r.miterLimit),t}function u7(r,e,t){return r&&(e[t++]=r.alpha,e[t++]=r.angle,e[t++]=r.blur,e[t++]=r.distance,e[t++]=le.shared.setValue(r.color).toNumber()),t}var IP,hI=m(()=>{pt();IP=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"]});function l7(r){let e=r;if(typeof e.dropShadow=="boolean"&&e.dropShadow){let t=Kt.defaultDropShadow;r.dropShadow={alpha:e.dropShadowAlpha??t.alpha,angle:e.dropShadowAngle??t.angle,blur:e.dropShadowBlur??t.blur,color:e.dropShadowColor??t.color,distance:e.dropShadowDistance??t.distance}}if(e.strokeThickness!==void 0){W(J,"strokeThickness is now a part of stroke");let t=e.stroke,i={};if(le.isColorLike(t))i.color=t;else if(t instanceof Vt||t instanceof wi)i.fill=t;else if(Object.hasOwnProperty.call(t,"color")||Object.hasOwnProperty.call(t,"fill"))i=t;else throw new Error("Invalid stroke value.");r.stroke={...i,width:e.strokeThickness}}if(Array.isArray(e.fillGradientStops)){W(J,"gradient fill is now a fill pattern: `new FillGradient(...)`");let t;r.fontSize==null?r.fontSize=Kt.defaultTextStyle.fontSize:typeof r.fontSize=="string"?t=parseInt(r.fontSize,10):t=r.fontSize;let i=new Vt({start:{x:0,y:0},end:{x:0,y:(t||0)*1.7}}),n=e.fillGradientStops.map(s=>le.shared.setValue(s).toNumber());n.forEach((s,o)=>{let a=o/(n.length-1);i.addColorStop(a,s)}),r.fill={fill:i}}}var dI,Kt,$o=m(()=>{xt();pt();Pe();qo();Ep();Qp();cI();hI();dI=class Zo extends Me{constructor(e={}){super(),l7(e);let t={...Zo.defaultTextStyle,...e};for(let i in t){let n=i;this[n]=t[i]}this.update()}get align(){return this._align}set align(e){this._align=e,this.update()}get breakWords(){return this._breakWords}set breakWords(e){this._breakWords=e,this.update()}get dropShadow(){return this._dropShadow}set dropShadow(e){e!==null&&typeof e=="object"?this._dropShadow=this._createProxy({...Zo.defaultDropShadow,...e}):this._dropShadow=e?this._createProxy({...Zo.defaultDropShadow}):null,this.update()}get fontFamily(){return this._fontFamily}set fontFamily(e){this._fontFamily=e,this.update()}get fontSize(){return this._fontSize}set fontSize(e){typeof e=="string"?this._fontSize=parseInt(e,10):this._fontSize=e,this.update()}get fontStyle(){return this._fontStyle}set fontStyle(e){this._fontStyle=e.toLowerCase(),this.update()}get fontVariant(){return this._fontVariant}set fontVariant(e){this._fontVariant=e,this.update()}get fontWeight(){return this._fontWeight}set fontWeight(e){this._fontWeight=e,this.update()}get leading(){return this._leading}set leading(e){this._leading=e,this.update()}get letterSpacing(){return this._letterSpacing}set letterSpacing(e){this._letterSpacing=e,this.update()}get lineHeight(){return this._lineHeight}set lineHeight(e){this._lineHeight=e,this.update()}get padding(){return this._padding}set padding(e){this._padding=e,this.update()}get trim(){return this._trim}set trim(e){this._trim=e,this.update()}get textBaseline(){return this._textBaseline}set textBaseline(e){this._textBaseline=e,this.update()}get whiteSpace(){return this._whiteSpace}set whiteSpace(e){this._whiteSpace=e,this.update()}get wordWrap(){return this._wordWrap}set wordWrap(e){this._wordWrap=e,this.update()}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(e){this._wordWrapWidth=e,this.update()}get fill(){return this._originalFill}set fill(e){e!==this._originalFill&&(this._originalFill=e,this._isFillStyle(e)&&(this._originalFill=this._createProxy({...kt.defaultFillStyle,...e},()=>{this._fill=Qi({...this._originalFill},kt.defaultFillStyle)})),this._fill=Qi(e===0?"black":e,kt.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(e){e!==this._originalStroke&&(this._originalStroke=e,this._isFillStyle(e)&&(this._originalStroke=this._createProxy({...kt.defaultStrokeStyle,...e},()=>{this._stroke=Jo({...this._originalStroke},kt.defaultStrokeStyle)})),this._stroke=Jo(e,kt.defaultStrokeStyle),this.update())}_generateKey(){return this._styleKey=Sp(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this)}reset(){let e=Zo.defaultTextStyle;for(let t in e)this[t]=e[t]}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new Zo({align:this.align,breakWords:this.breakWords,dropShadow:this._dropShadow?{...this._dropShadow}:null,fill:this._fill,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,leading:this.leading,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke,textBaseline:this.textBaseline,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth})}destroy(e=!1){if(this.removeAllListeners(),typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._fill?.texture&&this._fill.texture.destroy(i),this._originalFill?.texture&&this._originalFill.texture.destroy(i),this._stroke?.texture&&this._stroke.texture.destroy(i),this._originalStroke?.texture&&this._originalStroke.texture.destroy(i)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(e,t){return new Proxy(e,{set:(i,n,s)=>(i[n]=s,t?.(n,s),this.update(),!0)})}_isFillStyle(e){return(e??null)!==null&&!(le.isColorLike(e)||e instanceof Vt||e instanceof wi)}};dI.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};dI.defaultTextStyle={align:"left",breakWords:!1,dropShadow:null,fill:"black",fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",leading:0,letterSpacing:0,lineHeight:0,padding:0,stroke:null,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100};Kt=dI});function Tp(r,e,t,i){let n=c7;n.minX=0,n.minY=0,n.maxX=r.width/i|0,n.maxY=r.height/i|0;let s=Se.getOptimalTexture(n.width,n.height,i,!1);return s.source.uploadMethodId="image",s.source.resource=r,s.source.alphaMode="premultiply-alpha-on-upload",s.frame.width=e/i,s.frame.height=t/i,s.source.emit("update",s.source),s.updateUvs(),s}var c7,fI=m(()=>{Hr();Pt();c7=new ge});function fs(r){let e=typeof r.fontSize=="number"?`${r.fontSize}px`:r.fontSize,t=r.fontFamily;Array.isArray(r.fontFamily)||(t=r.fontFamily.split(","));for(let i=t.length-1;i>=0;i--){let n=t[i].trim();!/([\"\'])[^\'\"]+\1/.test(n)&&!A7.includes(n)&&(n=`"${n}"`),t[i]=n}return`${r.fontStyle} ${r.fontVariant} ${r.fontWeight} ${e} ${t.join(",")}`}var A7,Mp=m(()=>{"use strict";A7=["serif","sans-serif","monospace","cursive","fantasy","system-ui"]});var pI,wr,lr,Pp=m(()=>{De();Mp();pI={willReadFrequently:!0},wr=class te{static get experimentalLetterSpacingSupported(){let e=te._experimentalLetterSpacingSupported;if(e!==void 0){let t=X.get().getCanvasRenderingContext2D().prototype;e=te._experimentalLetterSpacingSupported="letterSpacing"in t||"textLetterSpacing"in t}return e}constructor(e,t,i,n,s,o,a,l,c){this.text=e,this.style=t,this.width=i,this.height=n,this.lines=s,this.lineWidths=o,this.lineHeight=a,this.maxLineWidth=l,this.fontProperties=c}static measureText(e=" ",t,i=te._canvas,n=t.wordWrap){let s=`${e}:${t.styleKey}`;if(te._measurementCache[s])return te._measurementCache[s];let o=fs(t),a=te.measureFont(o);a.fontSize===0&&(a.fontSize=t.fontSize,a.ascent=t.fontSize);let l=te.__context;l.font=o;let u=(n?te._wordWrap(e,t,i):e).split(/(?:\r\n|\r|\n)/),A=new Array(u.length),h=0;for(let x=0;x<u.length;x++){let B=te._measureText(u[x],t.letterSpacing,l);A[x]=B,h=Math.max(h,B)}let d=t._stroke?.width||0,f=h+d;t.dropShadow&&(f+=t.dropShadow.distance);let g=t.lineHeight||a.fontSize,p=Math.max(g,a.fontSize+d)+(u.length-1)*(g+t.leading);return t.dropShadow&&(p+=t.dropShadow.distance),new te(e,t,f,p,u,A,g+t.leading,h,a)}static _measureText(e,t,i){let n=!1;te.experimentalLetterSpacingSupported&&(te.experimentalLetterSpacing?(i.letterSpacing=`${t}px`,i.textLetterSpacing=`${t}px`,n=!0):(i.letterSpacing="0px",i.textLetterSpacing="0px"));let s=i.measureText(e),o=s.width,a=-s.actualBoundingBoxLeft,c=s.actualBoundingBoxRight-a;if(o>0)if(n)o-=t,c-=t;else{let u=(te.graphemeSegmenter(e).length-1)*t;o+=u,c+=u}return Math.max(o,c)}static _wordWrap(e,t,i=te._canvas){let n=i.getContext("2d",pI),s=0,o="",a="",l=Object.create(null),{letterSpacing:c,whiteSpace:u}=t,A=te._collapseSpaces(u),h=te._collapseNewlines(u),d=!A,f=t.wordWrapWidth+c,g=te._tokenize(e);for(let p=0;p<g.length;p++){let I=g[p];if(te._isNewline(I)){if(!h){a+=te._addLine(o),d=!A,o="",s=0;continue}I=" "}if(A){let B=te.isBreakingSpace(I),w=te.isBreakingSpace(o[o.length-1]);if(B&&w)continue}let x=te._getFromCache(I,c,l,n);if(x>f)if(o!==""&&(a+=te._addLine(o),o="",s=0),te.canBreakWords(I,t.breakWords)){let B=te.wordWrapSplit(I);for(let w=0;w<B.length;w++){let D=B[w],T=D,R=1;for(;B[w+R];){let Z=B[w+R];if(!te.canBreakChars(T,Z,I,w,t.breakWords))D+=Z;else break;T=Z,R++}w+=R-1;let U=te._getFromCache(D,c,l,n);U+s>f&&(a+=te._addLine(o),d=!1,o="",s=0),o+=D,s+=U}}else{o.length>0&&(a+=te._addLine(o),o="",s=0);let B=p===g.length-1;a+=te._addLine(I,!B),d=!1,o="",s=0}else x+s>f&&(d=!1,a+=te._addLine(o),o="",s=0),(o.length>0||!te.isBreakingSpace(I)||d)&&(o+=I,s+=x)}return a+=te._addLine(o,!1),a}static _addLine(e,t=!0){return e=te._trimRight(e),e=t?`${e}
|
|
370
|
+
`:e,e}static _getFromCache(e,t,i,n){let s=i[e];return typeof s!="number"&&(s=te._measureText(e,t,n)+t,i[e]=s),s}static _collapseSpaces(e){return e==="normal"||e==="pre-line"}static _collapseNewlines(e){return e==="normal"}static _trimRight(e){if(typeof e!="string")return"";for(let t=e.length-1;t>=0;t--){let i=e[t];if(!te.isBreakingSpace(i))break;e=e.slice(0,-1)}return e}static _isNewline(e){return typeof e!="string"?!1:te._newlines.includes(e.charCodeAt(0))}static isBreakingSpace(e,t){return typeof e!="string"?!1:te._breakingSpaces.includes(e.charCodeAt(0))}static _tokenize(e){let t=[],i="";if(typeof e!="string")return t;for(let n=0;n<e.length;n++){let s=e[n],o=e[n+1];if(te.isBreakingSpace(s,o)||te._isNewline(s)){i!==""&&(t.push(i),i=""),t.push(s);continue}i+=s}return i!==""&&t.push(i),t}static canBreakWords(e,t){return t}static canBreakChars(e,t,i,n,s){return!0}static wordWrapSplit(e){return te.graphemeSegmenter(e)}static measureFont(e){if(te._fonts[e])return te._fonts[e];let t=te._context;t.font=e;let i=t.measureText(te.METRICS_STRING+te.BASELINE_SYMBOL),n={ascent:i.actualBoundingBoxAscent,descent:i.actualBoundingBoxDescent,fontSize:i.actualBoundingBoxAscent+i.actualBoundingBoxDescent};return te._fonts[e]=n,n}static clearMetrics(e=""){e?delete te._fonts[e]:te._fonts={}}static get _canvas(){if(!te.__canvas){let e;try{let t=new OffscreenCanvas(0,0);if(t.getContext("2d",pI)?.measureText)return te.__canvas=t,t;e=X.get().createCanvas()}catch{e=X.get().createCanvas()}e.width=e.height=10,te.__canvas=e}return te.__canvas}static get _context(){return te.__context||(te.__context=te._canvas.getContext("2d",pI)),te.__context}};wr.METRICS_STRING="|\xC9q\xC5";wr.BASELINE_SYMBOL="M";wr.BASELINE_MULTIPLIER=1.4;wr.HEIGHT_MULTIPLIER=2;wr.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let r=new Intl.Segmenter;return e=>[...r.segment(e)].map(t=>t.segment)}return r=>[...r]})();wr.experimentalLetterSpacing=!1;wr._fonts={};wr._newlines=[10,13];wr._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];wr._measurementCache={};lr=wr});function ea(r,e,t,i=0){if(r.texture===F.WHITE&&!r.fill)return le.shared.setValue(r.color).setAlpha(r.alpha??1).toHexa();if(r.fill){if(r.fill instanceof wi){let n=r.fill,s=e.createPattern(n.texture.source.resource,"repeat"),o=n.transform.copyTo(O.shared);return o.scale(n.texture.frame.width,n.texture.frame.height),s.setTransform(o),s}else if(r.fill instanceof Vt){let n=r.fill,s=n.type==="linear",o=n.textureSpace==="local",a=1,l=1;o&&t&&(a=t.width+i,l=t.height+i);let c,u=!1;if(s){let{start:A,end:h}=n;c=e.createLinearGradient(A.x*a,A.y*l,h.x*a,h.y*l),u=Math.abs(h.x-A.x)<Math.abs((h.y-A.y)*.1)}else{let{center:A,innerRadius:h,outerCenter:d,outerRadius:f}=n;c=e.createRadialGradient(A.x*a,A.y*l,h*a,d.x*a,d.y*l,f*a)}if(u&&o&&t){let A=t.lineHeight/l;for(let h=0;h<t.lines.length;h++){let d=(h*t.lineHeight+i/2)/l;n.colorStops.forEach(f=>{let g=d+f.offset*A;c.addColorStop(Math.floor(g*xP)/xP,le.shared.setValue(f.color).toHex())})}}else n.colorStops.forEach(A=>{c.addColorStop(A.offset,le.shared.setValue(A.color).toHex())});return c}}else{let n=e.createPattern(r.texture.source.resource,"repeat"),s=r.matrix.copyTo(O.shared);return s.scale(r.texture.frame.width,r.texture.frame.height),n.setTransform(s),n}return q("FillStyle not recognised",r),"red"}var xP,gI=m(()=>{pt();pe();me();Be();qo();Ep();xP=1e5});var Xu,BP=m(()=>{pt();M();pu();Ko();Hr();k1();Pe();$o();fI();Pp();Mp();gI();Xu=class{constructor(e){this._activeTextures={},this._renderer=e}getTextureSize(e,t,i){let n=lr.measureText(e||" ",i),s=Math.ceil(Math.ceil(Math.max(1,n.width)+i.padding*2)*t),o=Math.ceil(Math.ceil(Math.max(1,n.height)+i.padding*2)*t);return s=Math.ceil(s-1e-6),o=Math.ceil(o-1e-6),s=yi(s),o=yi(o),{width:s,height:o}}getTexture(e,t,i,n){typeof e=="string"&&(W("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),e={text:e,style:i,resolution:t}),e.style instanceof Kt||(e.style=new Kt(e.style));let{texture:s,canvasAndContext:o}=this.createTextureAndCanvas(e);return this._renderer.texture.initSource(s._source),Yt.returnCanvasAndContext(o),s}createTextureAndCanvas(e){let{text:t,style:i}=e,n=e.resolution??this._renderer.resolution,s=lr.measureText(t||" ",i),o=Math.ceil(Math.ceil(Math.max(1,s.width)+i.padding*2)*n),a=Math.ceil(Math.ceil(Math.max(1,s.height)+i.padding*2)*n),l=Yt.getOptimalCanvasAndContext(o,a),{canvas:c}=l;this.renderTextToCanvas(t,i,n,l);let u=Tp(c,o,a,n);if(i.trim){let A=F1(c,n);u.frame.copyFrom(A),u.updateUvs()}return{texture:u,canvasAndContext:l}}getManagedTexture(e){e._resolution=e._autoResolution?this._renderer.resolution:e.resolution;let t=e._getKey();if(this._activeTextures[t])return this._increaseReferenceCount(t),this._activeTextures[t].texture;let{texture:i,canvasAndContext:n}=this.createTextureAndCanvas(e);return this._activeTextures[t]={canvasAndContext:n,texture:i,usageCount:1},i}_increaseReferenceCount(e){this._activeTextures[e].usageCount++}returnTexture(e){let t=e.source;t.resource=null,t.uploadMethodId="unknown",t.alphaMode="no-premultiply-alpha",Se.returnTexture(e)}decreaseReferenceCount(e){let t=this._activeTextures[e];t.usageCount--,t.usageCount===0&&(Yt.returnCanvasAndContext(t.canvasAndContext),this.returnTexture(t.texture),this._activeTextures[e]=null)}getReferenceCount(e){return this._activeTextures[e].usageCount}renderTextToCanvas(e,t,i,n){let{canvas:s,context:o}=n,a=fs(t),l=lr.measureText(e||" ",t),c=l.lines,u=l.lineHeight,A=l.lineWidths,h=l.maxLineWidth,d=l.fontProperties,f=s.height;if(o.resetTransform(),o.scale(i,i),o.textBaseline=t.textBaseline,t._stroke?.width){let x=t._stroke;o.lineWidth=x.width,o.miterLimit=x.miterLimit,o.lineJoin=x.join,o.lineCap=x.cap}o.font=a;let g,p,I=t.dropShadow?2:1;for(let x=0;x<I;++x){let B=t.dropShadow&&x===0,w=B?Math.ceil(Math.max(1,f)+t.padding*2):0,D=w*i;if(B){o.fillStyle="black",o.strokeStyle="black";let U=t.dropShadow,Z=U.color,Y=U.alpha;o.shadowColor=le.shared.setValue(Z).setAlpha(Y).toRgbaString();let V=U.blur*i,ne=U.distance*i;o.shadowBlur=V,o.shadowOffsetX=Math.cos(U.angle)*ne,o.shadowOffsetY=Math.sin(U.angle)*ne+D}else{if(o.fillStyle=t._fill?ea(t._fill,o,l):null,t._stroke?.width){let U=t._stroke.width*t._stroke.alignment;o.strokeStyle=ea(t._stroke,o,l,U)}o.shadowColor="black"}let T=(u-d.fontSize)/2;u-d.fontSize<0&&(T=0);let R=t._stroke?.width??0;for(let U=0;U<c.length;U++)g=R/2,p=R/2+U*u+d.ascent+T,t.align==="right"?g+=h-A[U]:t.align==="center"&&(g+=(h-A[U])/2),t._stroke?.width&&this._drawLetterSpacing(c[U],t,n,g+t.padding,p+t.padding-w,!0),t._fill!==void 0&&this._drawLetterSpacing(c[U],t,n,g+t.padding,p+t.padding-w)}}_drawLetterSpacing(e,t,i,n,s,o=!1){let{context:a}=i,l=t.letterSpacing,c=!1;if(lr.experimentalLetterSpacingSupported&&(lr.experimentalLetterSpacing?(a.letterSpacing=`${l}px`,a.textLetterSpacing=`${l}px`,c=!0):(a.letterSpacing="0px",a.textLetterSpacing="0px")),l===0||c){o?a.strokeText(e,n,s):a.fillText(e,n,s);return}let u=n,A=lr.graphemeSegmenter(e),h=a.measureText(e).width,d=0;for(let f=0;f<A.length;++f){let g=A[f];o?a.strokeText(g,u,s):a.fillText(g,u,s);let p="";for(let I=f+1;I<A.length;++I)p+=A[I];d=a.measureText(p).width,u+=h-d+l,h=d}}destroy(){this._activeTextures=null}};Xu.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"canvasText"}});var mI=m(()=>{M();P1();BP();N.add(Xu);N.add(Yu)});var Qr,yI=m(()=>{Pe();Ii();Qp();Qr=class r extends $e{constructor(e){e instanceof kt&&(e={context:e});let{context:t,roundPixels:i,...n}=e||{};super({label:"Graphics",...n}),this.renderPipeId="graphics",t?this._context=t:this._context=this._ownedContext=new kt,this._context.on("update",this.onViewUpdate,this),this.allowChildren=!1,this.roundPixels=i??!1}set context(e){e!==this._context&&(this._context.off("update",this.onViewUpdate,this),this._context=e,this._context.on("update",this.onViewUpdate,this),this.onViewUpdate())}get context(){return this._context}get bounds(){return this._context.bounds}updateBounds(){}containsPoint(e){return this._context.containsPoint(e)}destroy(e){this._ownedContext&&!e?this._ownedContext.destroy(e):(e===!0||e?.context===!0)&&this._context.destroy(e),this._ownedContext=null,this._context=null,super.destroy(e)}_callContextMethod(e,t){return this.context[e](...t),this}setFillStyle(...e){return this._callContextMethod("setFillStyle",e)}setStrokeStyle(...e){return this._callContextMethod("setStrokeStyle",e)}fill(...e){return this._callContextMethod("fill",e)}stroke(...e){return this._callContextMethod("stroke",e)}texture(...e){return this._callContextMethod("texture",e)}beginPath(){return this._callContextMethod("beginPath",[])}cut(){return this._callContextMethod("cut",[])}arc(...e){return this._callContextMethod("arc",e)}arcTo(...e){return this._callContextMethod("arcTo",e)}arcToSvg(...e){return this._callContextMethod("arcToSvg",e)}bezierCurveTo(...e){return this._callContextMethod("bezierCurveTo",e)}closePath(){return this._callContextMethod("closePath",[])}ellipse(...e){return this._callContextMethod("ellipse",e)}circle(...e){return this._callContextMethod("circle",e)}path(...e){return this._callContextMethod("path",e)}lineTo(...e){return this._callContextMethod("lineTo",e)}moveTo(...e){return this._callContextMethod("moveTo",e)}quadraticCurveTo(...e){return this._callContextMethod("quadraticCurveTo",e)}rect(...e){return this._callContextMethod("rect",e)}roundRect(...e){return this._callContextMethod("roundRect",e)}poly(...e){return this._callContextMethod("poly",e)}regularPoly(...e){return this._callContextMethod("regularPoly",e)}roundPoly(...e){return this._callContextMethod("roundPoly",e)}roundShape(...e){return this._callContextMethod("roundShape",e)}filletRect(...e){return this._callContextMethod("filletRect",e)}chamferRect(...e){return this._callContextMethod("chamferRect",e)}star(...e){return this._callContextMethod("star",e)}svg(...e){return this._callContextMethod("svg",e)}restore(...e){return this._callContextMethod("restore",e)}save(){return this._callContextMethod("save",[])}getTransform(){return this.context.getTransform()}resetTransform(){return this._callContextMethod("resetTransform",[])}rotateTransform(...e){return this._callContextMethod("rotate",e)}scaleTransform(...e){return this._callContextMethod("scale",e)}setTransform(...e){return this._callContextMethod("setTransform",e)}transform(...e){return this._callContextMethod("transform",e)}translateTransform(...e){return this._callContextMethod("translate",e)}clear(){return this._callContextMethod("clear",[])}get fillStyle(){return this._context.fillStyle}set fillStyle(e){this._context.fillStyle=e}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(e){this._context.strokeStyle=e}clone(e=!1){return e?new r(this._context.clone()):(this._ownedContext=null,new r(this._context))}lineStyle(e,t,i){W(J,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");let n={};return e&&(n.width=e),t&&(n.color=t),i&&(n.alpha=i),this.context.strokeStyle=n,this}beginFill(e,t){W(J,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");let i={};return e!==void 0&&(i.color=e),t!==void 0&&(i.alpha=t),this.context.fillStyle=i,this}endFill(){W(J,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();let e=this.context.strokeStyle;return(e.width!==kt.defaultStrokeStyle.width||e.color!==kt.defaultStrokeStyle.color||e.alpha!==kt.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...e){return W(J,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",e)}drawEllipse(...e){return W(J,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",e)}drawPolygon(...e){return W(J,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",e)}drawRect(...e){return W(J,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",e)}drawRoundedRect(...e){return W(J,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",e)}drawStar(...e){return W(J,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",e)}}});var CP,bP,wP=m(()=>{"use strict";CP={name:"local-uniform-msdf-bit",vertex:{header:`
|
|
371
|
+
struct LocalUniforms {
|
|
372
|
+
uColor:vec4<f32>,
|
|
373
|
+
uTransformMatrix:mat3x3<f32>,
|
|
374
|
+
uDistance: f32,
|
|
375
|
+
uRound:f32,
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
@group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
379
|
+
`,main:`
|
|
380
|
+
vColor *= localUniforms.uColor;
|
|
381
|
+
modelMatrix *= localUniforms.uTransformMatrix;
|
|
382
|
+
`,end:`
|
|
383
|
+
if(localUniforms.uRound == 1)
|
|
384
|
+
{
|
|
385
|
+
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
386
|
+
}
|
|
387
|
+
`},fragment:{header:`
|
|
388
|
+
struct LocalUniforms {
|
|
389
|
+
uColor:vec4<f32>,
|
|
390
|
+
uTransformMatrix:mat3x3<f32>,
|
|
391
|
+
uDistance: f32
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
@group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
395
|
+
`,main:`
|
|
396
|
+
outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));
|
|
397
|
+
`}},bP={name:"local-uniform-msdf-bit",vertex:{header:`
|
|
398
|
+
uniform mat3 uTransformMatrix;
|
|
399
|
+
uniform vec4 uColor;
|
|
400
|
+
uniform float uRound;
|
|
401
|
+
`,main:`
|
|
402
|
+
vColor *= uColor;
|
|
403
|
+
modelMatrix *= uTransformMatrix;
|
|
404
|
+
`,end:`
|
|
405
|
+
if(uRound == 1.)
|
|
406
|
+
{
|
|
407
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
408
|
+
}
|
|
409
|
+
`},fragment:{header:`
|
|
410
|
+
uniform float uDistance;
|
|
411
|
+
`,main:`
|
|
412
|
+
outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));
|
|
413
|
+
`}}});var QP,SP,TP=m(()=>{"use strict";QP={name:"msdf-bit",fragment:{header:`
|
|
414
|
+
fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {
|
|
415
|
+
|
|
416
|
+
// MSDF
|
|
417
|
+
var median = msdfColor.r + msdfColor.g + msdfColor.b -
|
|
418
|
+
min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
|
|
419
|
+
max(msdfColor.r, max(msdfColor.g, msdfColor.b));
|
|
420
|
+
|
|
421
|
+
// SDF
|
|
422
|
+
median = min(median, msdfColor.a);
|
|
423
|
+
|
|
424
|
+
var screenPxDistance = distance * (median - 0.5);
|
|
425
|
+
var alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
|
|
426
|
+
if (median < 0.01) {
|
|
427
|
+
alpha = 0.0;
|
|
428
|
+
} else if (median > 0.99) {
|
|
429
|
+
alpha = 1.0;
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
// Gamma correction for coverage-like alpha
|
|
433
|
+
var luma: f32 = dot(shapeColor.rgb, vec3<f32>(0.299, 0.587, 0.114));
|
|
434
|
+
var gamma: f32 = mix(1.0, 1.0 / 2.2, luma);
|
|
435
|
+
var coverage: f32 = pow(shapeColor.a * alpha, gamma);
|
|
436
|
+
|
|
437
|
+
return coverage;
|
|
438
|
+
|
|
439
|
+
}
|
|
440
|
+
`}},SP={name:"msdf-bit",fragment:{header:`
|
|
441
|
+
float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {
|
|
442
|
+
|
|
443
|
+
// MSDF
|
|
444
|
+
float median = msdfColor.r + msdfColor.g + msdfColor.b -
|
|
445
|
+
min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
|
|
446
|
+
max(msdfColor.r, max(msdfColor.g, msdfColor.b));
|
|
447
|
+
|
|
448
|
+
// SDF
|
|
449
|
+
median = min(median, msdfColor.a);
|
|
450
|
+
|
|
451
|
+
float screenPxDistance = distance * (median - 0.5);
|
|
452
|
+
float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
|
|
453
|
+
|
|
454
|
+
if (median < 0.01) {
|
|
455
|
+
alpha = 0.0;
|
|
456
|
+
} else if (median > 0.99) {
|
|
457
|
+
alpha = 1.0;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
// Gamma correction for coverage-like alpha
|
|
461
|
+
float luma = dot(shapeColor.rgb, vec3(0.299, 0.587, 0.114));
|
|
462
|
+
float gamma = mix(1.0, 1.0 / 2.2, luma);
|
|
463
|
+
float coverage = pow(shapeColor.a * alpha, gamma);
|
|
464
|
+
|
|
465
|
+
return coverage;
|
|
466
|
+
}
|
|
467
|
+
`}}});var EI,_I,Dp,MP=m(()=>{pe();as();In();Fu();ku();vn();sp();br();Qt();wP();TP();Dp=class extends Je{constructor(){let e=new ve({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new O,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}}),t=or();EI??(EI=Vr({name:"sdf-shader",bits:[Oo,Uo(t),CP,QP,Kr]})),_I??(_I=Yr({name:"sdf-shader",bits:[Go,Lo(t),bP,SP,zr]})),super({glProgram:_I,gpuProgram:EI,resources:{localUniforms:e,batchSamplers:No(t)}})}}});var ta,II=m(()=>{xt();Pe();ta=class extends Me{constructor(){super(...arguments),this.chars=Object.create(null),this.lineHeight=0,this.fontFamily="",this.fontMetrics={fontSize:0,ascent:0,descent:0},this.baseLineOffset=0,this.distanceField={type:"none",range:0},this.pages=[],this.applyFillAsTint=!0,this.baseMeasurementFontSize=100,this.baseRenderedFontSize=100}get font(){return W(J,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return W(J,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return W(J,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return W(J,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return W(J,"BitmapFont.distanceFieldType is deprecated, please use BitmapFont.distanceField.type instead."),this.distanceField.type}destroy(e=!1){this.emit("destroy",this),this.removeAllListeners();for(let t in this.chars)this.chars[t].texture?.destroy();this.chars=null,e&&(this.pages.forEach(t=>t.texture.destroy(!0)),this.pages=null)}}});function Rp(r){if(r==="")return[];typeof r=="string"&&(r=[r]);let e=[];for(let t=0,i=r.length;t<i;t++){let n=r[t];if(Array.isArray(n)){if(n.length!==2)throw new Error(`[BitmapFont]: Invalid character range length, expecting 2 got ${n.length}.`);if(n[0].length===0||n[1].length===0)throw new Error("[BitmapFont]: Invalid character delimiter.");let s=n[0].charCodeAt(0),o=n[1].charCodeAt(0);if(o<s)throw new Error("[BitmapFont]: Invalid character range.");for(let a=s,l=o;a<=l;a++)e.push(String.fromCharCode(a))}else e.push(...Array.from(n))}if(e.length===0)throw new Error("[BitmapFont]: Empty set when resolving characters.");return e}var vI=m(()=>{"use strict"});var PP,xI,RP=m(()=>{pt();st();Ko();os();me();Pe();Pp();Mp();gI();$o();II();vI();PP=class DP extends ta{constructor(e){super(),this.resolution=1,this.pages=[],this._padding=0,this._measureCache=Object.create(null),this._currentChars=[],this._currentX=0,this._currentY=0,this._currentPageIndex=-1,this._skipKerning=!1;let t={...DP.defaultOptions,...e};this._textureSize=t.textureSize,this._mipmap=t.mipmap;let i=t.style.clone();t.overrideFill&&(i._fill.color=16777215,i._fill.alpha=1,i._fill.texture=F.WHITE,i._fill.fill=null),this.applyFillAsTint=t.overrideFill;let n=i.fontSize;i.fontSize=this.baseMeasurementFontSize;let s=fs(i);t.overrideSize?i._stroke&&(i._stroke.width*=this.baseRenderedFontSize/n):i.fontSize=this.baseRenderedFontSize=n,this._style=i,this._skipKerning=t.skipKerning??!1,this.resolution=t.resolution??1,this._padding=t.padding??4,this.fontMetrics=lr.measureFont(s),this.lineHeight=i.lineHeight||this.fontMetrics.fontSize||i.fontSize}ensureCharacters(e){let t=Rp(e).filter(p=>!this._currentChars.includes(p)).filter((p,I,x)=>x.indexOf(p)===I);if(!t.length)return;this._currentChars=[...this._currentChars,...t];let i;this._currentPageIndex===-1?i=this._nextPage():i=this.pages[this._currentPageIndex];let{canvas:n,context:s}=i.canvasAndContext,o=i.texture.source,a=this._style,l=this._currentX,c=this._currentY,u=this.baseRenderedFontSize/this.baseMeasurementFontSize,A=this._padding*u,h=0,d=!1,f=n.width/this.resolution,g=n.height/this.resolution;for(let p=0;p<t.length;p++){let I=t[p],x=lr.measureText(I,a,n,!1);x.lineHeight=x.height;let B=x.width*u,w=Math.ceil((a.fontStyle==="italic"?2:1)*B),D=x.height*u,T=w+A*2,R=D+A*2;if(d=!1,I!==`
|
|
468
|
+
`&&I!=="\r"&&I!==" "&&I!==" "&&(d=!0,h=Math.ceil(Math.max(R,h))),l+T>f&&(c+=h,h=R,l=0,c+h>g)){o.update();let Z=this._nextPage();n=Z.canvasAndContext.canvas,s=Z.canvasAndContext.context,o=Z.texture.source,c=0}let U=B/u-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[I]={id:I.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:U,kerning:{}},d){this._drawGlyph(s,x,l+A,c+A,u,a);let Z=o.width*u,Y=o.height*u,V=new ee(l/Z*o.width,c/Y*o.height,T/Z*o.width,R/Y*o.height);this.chars[I].texture=new F({source:o,frame:V}),l+=Math.ceil(T)}}o.update(),this._currentX=l,this._currentY=c,this._skipKerning&&this._applyKerning(t,s)}get pageTextures(){return W(J,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(e,t){let i=this._measureCache;for(let n=0;n<e.length;n++){let s=e[n];for(let o=0;o<this._currentChars.length;o++){let a=this._currentChars[o],l=i[s];l||(l=i[s]=t.measureText(s).width);let c=i[a];c||(c=i[a]=t.measureText(a).width);let u=t.measureText(s+a).width,A=u-(l+c);A&&(this.chars[s].kerning[a]=A),u=t.measureText(s+a).width,A=u-(l+c),A&&(this.chars[a].kerning[s]=A)}}}_nextPage(){this._currentPageIndex++;let e=this.resolution,t=Yt.getOptimalCanvasAndContext(this._textureSize,this._textureSize,e);this._setupContext(t.context,this._style,e);let i=e*(this.baseRenderedFontSize/this.baseMeasurementFontSize),n=new F({source:new yt({resource:t.canvas,resolution:i,alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:this._mipmap})}),s={canvasAndContext:t,texture:n};return this.pages[this._currentPageIndex]=s,s}_setupContext(e,t,i){t.fontSize=this.baseRenderedFontSize,e.scale(i,i),e.font=fs(t),t.fontSize=this.baseMeasurementFontSize,e.textBaseline=t.textBaseline;let n=t._stroke,s=n?.width??0;if(n&&(e.lineWidth=s,e.lineJoin=n.join,e.miterLimit=n.miterLimit,e.strokeStyle=ea(n,e)),t._fill&&(e.fillStyle=ea(t._fill,e)),t.dropShadow){let o=t.dropShadow,a=le.shared.setValue(o.color).toArray(),l=o.blur*i,c=o.distance*i;e.shadowColor=`rgba(${a[0]*255},${a[1]*255},${a[2]*255},${o.alpha})`,e.shadowBlur=l,e.shadowOffsetX=Math.cos(o.angle)*c,e.shadowOffsetY=Math.sin(o.angle)*c}else e.shadowColor="black",e.shadowBlur=0,e.shadowOffsetX=0,e.shadowOffsetY=0}_drawGlyph(e,t,i,n,s,o){let a=t.text,l=t.fontProperties,u=(o._stroke?.width??0)*s,A=i+u/2,h=n-u/2,d=l.descent*s,f=t.lineHeight*s;o.stroke&&u&&e.strokeText(a,A,h+f-d),o._fill&&e.fillText(a,A,h+f-d)}destroy(){super.destroy();for(let e=0;e<this.pages.length;e++){let{canvasAndContext:t,texture:i}=this.pages[e];Yt.returnCanvasAndContext(t),i.destroy(!0)}this.pages=null}};PP.defaultOptions={textureSize:512,style:new Kt,mipmap:!0};xI=PP});function Fp(r,e,t,i){let n={width:0,height:0,offsetY:0,scale:e.fontSize/t.baseMeasurementFontSize,lines:[{width:0,charPositions:[],spaceWidth:0,spacesIndex:[],chars:[]}]};n.offsetY=t.baseLineOffset;let s=n.lines[0],o=null,a=!0,l={spaceWord:!1,width:0,start:0,index:0,positions:[],chars:[]},c=f=>{let g=s.width;for(let p=0;p<l.index;p++){let I=f.positions[p];s.chars.push(f.chars[p]),s.charPositions.push(I+g)}s.width+=f.width,a=!1,l.width=0,l.index=0,l.chars.length=0},u=()=>{let f=s.chars.length-1;if(i){let g=s.chars[f];for(;g===" ";)s.width-=t.chars[g].xAdvance,g=s.chars[--f]}n.width=Math.max(n.width,s.width),s={width:0,charPositions:[],chars:[],spaceWidth:0,spacesIndex:[]},a=!0,n.lines.push(s),n.height+=t.lineHeight},A=t.baseMeasurementFontSize/e.fontSize,h=e.letterSpacing*A,d=e.wordWrapWidth*A;for(let f=0;f<r.length+1;f++){let g,p=f===r.length;p||(g=r[f]);let I=t.chars[g]||t.chars[" "];if(/(?:\s)/.test(g)||g==="\r"||g===`
|
|
469
|
+
`||p){if(!a&&e.wordWrap&&s.width+l.width-h>d?(u(),c(l),p||s.charPositions.push(0)):(l.start=s.width,c(l),p||s.charPositions.push(0)),g==="\r"||g===`
|
|
470
|
+
`)s.width!==0&&u();else if(!p){let D=I.xAdvance+(I.kerning[o]||0)+h;s.width+=D,s.spaceWidth=D,s.spacesIndex.push(s.charPositions.length),s.chars.push(g)}}else{let w=I.kerning[o]||0,D=I.xAdvance+w+h;l.positions[l.index++]=l.width+w,l.chars.push(g),l.width+=D}o=g}return u(),e.align==="center"?h7(n):e.align==="right"?d7(n):e.align==="justify"&&f7(n),n}function h7(r){for(let e=0;e<r.lines.length;e++){let t=r.lines[e],i=r.width/2-t.width/2;for(let n=0;n<t.charPositions.length;n++)t.charPositions[n]+=i}}function d7(r){for(let e=0;e<r.lines.length;e++){let t=r.lines[e],i=r.width-t.width;for(let n=0;n<t.charPositions.length;n++)t.charPositions[n]+=i}}function f7(r){let e=r.width;for(let t=0;t<r.lines.length;t++){let i=r.lines[t],n=0,s=i.spacesIndex[n++],o=0,a=i.spacesIndex.length,c=(e-i.width)/a;for(let u=0;u<i.charPositions.length;u++)u===s&&(s=i.spacesIndex[n++],o+=c),i.charPositions[u]+=o}}var BI=m(()=>{"use strict"});var kp,CI,Ju,bI=m(()=>{vi();Pe();Be();$o();RP();BI();vI();kp=0,CI=class{constructor(){this.ALPHA=[["a","z"],["A","Z"]," "],this.NUMERIC=[["0","9"]],this.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],this.ASCII=[[" ","~"]],this.defaultOptions={chars:this.ALPHANUMERIC,resolution:1,padding:4,skipKerning:!1}}getFont(e,t){let i=`${t.fontFamily}-bitmap`,n=!0;if(t._fill.fill&&!t._stroke)i+=t._fill.fill.styleKey,n=!1;else if(t._stroke||t.dropShadow){let o=t.styleKey;o=o.substring(0,o.lastIndexOf("-")),i=`${o}-bitmap`,n=!1}if(!ye.has(i)){let o=new xI({style:t,overrideFill:n,overrideSize:!0,...this.defaultOptions});kp++,kp>50&&q("BitmapText",`You have dynamically created ${kp} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),o.once("destroy",()=>{kp--,ye.remove(i)}),ye.set(i,o)}let s=ye.get(i);return s.ensureCharacters?.(e),s}getLayout(e,t,i=!0){let n=this.getFont(e,t);return Fp([...e],t,n,i)}measureText(e,t,i=!0){return this.getLayout(e,t,i)}install(...e){let t=e[0];typeof t=="string"&&(t={name:t,style:e[1],chars:e[2]?.chars,resolution:e[2]?.resolution,padding:e[2]?.padding,skipKerning:e[2]?.skipKerning},W(J,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));let i=t?.name;if(!i)throw new Error("[BitmapFontManager] Property `name` is required.");t={...this.defaultOptions,...t};let n=t.style,s=n instanceof Kt?n:new Kt(n),o=s._fill.fill!==null&&s._fill.fill!==void 0,a=new xI({style:s,overrideFill:o,skipKerning:t.skipKerning,padding:t.padding,resolution:t.resolution,overrideSize:!1}),l=Rp(t.chars);return a.ensureCharacters(l.join("")),ye.set(`${i}-bitmap`,a),a.once("destroy",()=>ye.remove(`${i}-bitmap`)),a}uninstall(e){let t=`${e}-bitmap`,i=ye.get(t);i&&i.destroy()}},Ju=new CI});function FP(r,e){e.groupTransform=r.groupTransform,e.groupColorAlpha=r.groupColorAlpha,e.groupColor=r.groupColor,e.groupBlendMode=r.groupBlendMode,e.globalDisplayStatus=r.globalDisplayStatus,e.groupTransform=r.groupTransform,e.localDisplayStatus=r.localDisplayStatus,e.groupAlpha=r.groupAlpha,e._roundPixels=r._roundPixels}var Zu,kP=m(()=>{vi();M();Bt();yI();MP();bI();BI();Zu=class{constructor(e){this._gpuBitmapText={},this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_gpuBitmapText")}validateRenderable(e){let t=this._getGpuBitmapText(e);return e._didTextUpdate&&(e._didTextUpdate=!1,this._updateContext(e,t)),this._renderer.renderPipes.graphics.validateRenderable(t)}addRenderable(e,t){let i=this._getGpuBitmapText(e);FP(e,i),e._didTextUpdate&&(e._didTextUpdate=!1,this._updateContext(e,i)),this._renderer.renderPipes.graphics.addRenderable(i,t),i.context.customShader&&this._updateDistanceField(e)}destroyRenderable(e){e.off("destroyed",this._destroyRenderableBound),this._destroyRenderableByUid(e.uid)}_destroyRenderableByUid(e){let t=this._gpuBitmapText[e].context;t.customShader&&(re.return(t.customShader),t.customShader=null),re.return(this._gpuBitmapText[e]),this._gpuBitmapText[e]=null}updateRenderable(e){let t=this._getGpuBitmapText(e);FP(e,t),this._renderer.renderPipes.graphics.updateRenderable(t),t.context.customShader&&this._updateDistanceField(e)}_updateContext(e,t){let{context:i}=t,n=Ju.getFont(e.text,e._style);i.clear(),n.distanceField.type!=="none"&&(i.customShader||(i.customShader=re.get(Dp)));let s=Array.from(e.text),o=e._style,a=n.baseLineOffset,l=Fp(s,o,n,!0),c=0,u=o.padding,A=l.scale,h=l.width,d=l.height+l.offsetY;o._stroke&&(h+=o._stroke.width/A,d+=o._stroke.width/A),i.translate(-e._anchor._x*h-u,-e._anchor._y*d-u).scale(A,A);let f=n.applyFillAsTint?o._fill.color:16777215;for(let g=0;g<l.lines.length;g++){let p=l.lines[g];for(let I=0;I<p.charPositions.length;I++){let x=s[c++],B=n.chars[x];B?.texture&&i.texture(B.texture,f||"black",Math.round(p.charPositions[I]+B.xOffset),Math.round(a+B.yOffset))}a+=n.lineHeight}}_getGpuBitmapText(e){return this._gpuBitmapText[e.uid]||this.initGpuText(e)}initGpuText(e){let t=re.get(Qr);return this._gpuBitmapText[e.uid]=t,this._updateContext(e,t),e.on("destroyed",this._destroyRenderableBound),this._gpuBitmapText[e.uid]}_updateDistanceField(e){let t=this._getGpuBitmapText(e).context,i=e._style.fontFamily,n=ye.get(`${i}-bitmap`),{a:s,b:o,c:a,d:l}=e.groupTransform,c=Math.sqrt(s*s+o*o),u=Math.sqrt(a*a+l*l),A=(Math.abs(c)+Math.abs(u))/2,h=n.baseRenderedFontSize/e._style.fontSize,d=A*n.distanceField.range*(1/h);t.customShader.resources.localUniforms.uniforms.uDistance=d}destroy(){for(let e in this._gpuBitmapText)this._destroyRenderableByUid(e);this._gpuBitmapText=null,this._renderer=null}};Zu.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"bitmapText"}});var wI=m(()=>{M();kP();N.add(Zu)});var $u,OP=m(()=>{M();me();Bt();ju();X_();$u=class{constructor(e){this._gpuText=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e,this._renderer.runners.resolutionChange.add(this),this._renderer.renderableGC.addManagedHash(this,"_gpuText")}resolutionChange(){for(let e in this._gpuText){let t=this._gpuText[e];if(!t)continue;let i=t.batchableSprite.renderable;i._autoResolution&&(i._resolution=this._renderer.resolution,i.onViewUpdate())}}validateRenderable(e){let t=this._getGpuText(e),i=e._getKey();return t.textureNeedsUploading?(t.textureNeedsUploading=!1,!0):t.currentKey!==i}addRenderable(e,t){let n=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),this._renderer.renderPipes.batch.addToBatch(n,t)}updateRenderable(e){let i=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),i._batcher.updateElement(i)}destroyRenderable(e){e.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(e.uid)}_destroyRenderableById(e){let t=this._gpuText[e];this._renderer.htmlText.decreaseReferenceCount(t.currentKey),re.return(t.batchableSprite),this._gpuText[e]=null}_updateText(e){let t=e._getKey(),i=this._getGpuText(e),n=i.batchableSprite;i.currentKey!==t&&this._updateGpuText(e).catch(s=>{console.error(s)}),e._didTextUpdate=!1,Vu(n,e)}async _updateGpuText(e){e._didTextUpdate=!1;let t=this._getGpuText(e);if(t.generatingTexture)return;let i=e._getKey();this._renderer.htmlText.decreaseReferenceCount(t.currentKey),t.generatingTexture=!0,t.currentKey=i;let n=e.resolution??this._renderer.resolution,s=await this._renderer.htmlText.getManagedTexture(e.text,n,e._style,e._getKey()),o=t.batchableSprite;o.texture=t.texture=s,t.generatingTexture=!1,t.textureNeedsUploading=!0,e.onViewUpdate(),Vu(o,e)}_getGpuText(e){return this._gpuText[e.uid]||this.initGpuText(e)}initGpuText(e){let t={texture:F.EMPTY,currentKey:"--",batchableSprite:re.get(Jr),textureNeedsUploading:!1,generatingTexture:!1},i=t.batchableSprite;return i.renderable=e,i.transform=e.groupTransform,i.texture=F.EMPTY,i.bounds={minX:0,maxX:1,minY:0,maxY:0},i.roundPixels=this._renderer._roundPixels|e._roundPixels,e._resolution=e._autoResolution?this._renderer.resolution:e.resolution,this._gpuText[e.uid]=t,e.on("destroyed",this._destroyRenderableBound),t}destroy(){for(let e in this._gpuText)this._destroyRenderableById(e);this._gpuText=null,this._renderer=null}};$u.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"htmlText"}});function GP(){let{userAgent:r}=X.get().getNavigator();return/^((?!chrome|android).)*safari/i.test(r)}var UP=m(()=>{De()});var LP,NP,ra,QI=m(()=>{"use strict";LP="http://www.w3.org/2000/svg",NP="http://www.w3.org/1999/xhtml",ra=class{constructor(){this.svgRoot=document.createElementNS(LP,"svg"),this.foreignObject=document.createElementNS(LP,"foreignObject"),this.domElement=document.createElementNS(NP,"div"),this.styleElement=document.createElementNS(NP,"style"),this.image=new Image;let{foreignObject:e,svgRoot:t,styleElement:i,domElement:n}=this;e.setAttribute("width","10000"),e.setAttribute("height","10000"),e.style.overflow="hidden",t.appendChild(e),e.appendChild(i),e.appendChild(n)}}});function qP(r){let e=r._stroke,t=r._fill,n=[`div { ${[`color: ${le.shared.setValue(t.color).toHex()}`,`font-size: ${r.fontSize}px`,`font-family: ${r.fontFamily}`,`font-weight: ${r.fontWeight}`,`font-style: ${r.fontStyle}`,`font-variant: ${r.fontVariant}`,`letter-spacing: ${r.letterSpacing}px`,`text-align: ${r.align}`,`padding: ${r.padding}px`,`white-space: ${r.whiteSpace==="pre"&&r.wordWrap?"pre-wrap":r.whiteSpace}`,...r.lineHeight?[`line-height: ${r.lineHeight}px`]:[],...r.wordWrap?[`word-wrap: ${r.breakWords?"break-all":"break-word"}`,`max-width: ${r.wordWrapWidth}px`]:[],...e?[VP(e)]:[],...r.dropShadow?[jP(r.dropShadow)]:[],...r.cssOverrides].join(";")} }`];return p7(r.tagStyles,n),n.join(" ")}function jP(r){let e=le.shared.setValue(r.color).setAlpha(r.alpha).toHexa(),t=Math.round(Math.cos(r.angle)*r.distance),i=Math.round(Math.sin(r.angle)*r.distance),n=`${t}px ${i}px`;return r.blur>0?`text-shadow: ${n} ${r.blur}px ${e}`:`text-shadow: ${n} ${e}`}function VP(r){return[`-webkit-text-stroke-width: ${r.width}px`,`-webkit-text-stroke-color: ${le.shared.setValue(r.color).toHex()}`,`text-stroke-width: ${r.width}px`,`text-stroke-color: ${le.shared.setValue(r.color).toHex()}`,"paint-order: stroke"].join(";")}function p7(r,e){for(let t in r){let i=r[t],n=[];for(let s in i)WP[s]?n.push(WP[s](i[s])):HP[s]&&n.push(HP[s].replace("{{VALUE}}",i[s]));e.push(`${t} { ${n.join(";")} }`)}}var HP,WP,YP=m(()=>{pt();HP={fontSize:"font-size: {{VALUE}}px",fontFamily:"font-family: {{VALUE}}",fontWeight:"font-weight: {{VALUE}}",fontStyle:"font-style: {{VALUE}}",fontVariant:"font-variant: {{VALUE}}",letterSpacing:"letter-spacing: {{VALUE}}px",align:"text-align: {{VALUE}}",padding:"padding: {{VALUE}}px",whiteSpace:"white-space: {{VALUE}}",lineHeight:"line-height: {{VALUE}}px",wordWrapWidth:"max-width: {{VALUE}}px"},WP={fill:r=>`color: ${le.shared.setValue(r).toHex()}`,breakWords:r=>`word-wrap: ${r?"break-all":"break-word"}`,stroke:VP,dropShadow:jP}});var Op,KP=m(()=>{Be();$o();hI();YP();Op=class r extends Kt{constructor(e={}){super(e),this._cssOverrides=[],this.cssOverrides??(this.cssOverrides=e.cssOverrides),this.tagStyles=e.tagStyles??{}}set cssOverrides(e){this._cssOverrides=e instanceof Array?e:[e],this.update()}get cssOverrides(){return this._cssOverrides}_generateKey(){return this._styleKey=Sp(this)+this._cssOverrides.join("-"),this._styleKey}update(){this._cssStyle=null,super.update()}clone(){return new r({align:this.align,breakWords:this.breakWords,dropShadow:this.dropShadow?{...this.dropShadow}:null,fill:this._fill,fontFamily:this.fontFamily,fontSize:this.fontSize,fontStyle:this.fontStyle,fontVariant:this.fontVariant,fontWeight:this.fontWeight,letterSpacing:this.letterSpacing,lineHeight:this.lineHeight,padding:this.padding,stroke:this._stroke,whiteSpace:this.whiteSpace,wordWrap:this.wordWrap,wordWrapWidth:this.wordWrapWidth,cssOverrides:this.cssOverrides})}get cssStyle(){return this._cssStyle||(this._cssStyle=qP(this)),this._cssStyle}addOverride(...e){let t=e.filter(i=>!this.cssOverrides.includes(i));t.length>0&&(this.cssOverrides.push(...t),this.update())}removeOverride(...e){let t=e.filter(i=>this.cssOverrides.includes(i));t.length>0&&(this.cssOverrides=this.cssOverrides.filter(i=>!t.includes(i)),this.update())}set fill(e){typeof e!="string"&&typeof e!="number"&&q("[HTMLTextStyle] only color fill is not supported by HTMLText"),super.fill=e}set stroke(e){e&&typeof e!="string"&&typeof e!="number"&&q("[HTMLTextStyle] only color stroke is not supported by HTMLText"),super.stroke=e}}});function zP(r,e){let t=e.fontFamily,i=[],n={},s=/font-family:([^;"\s]+)/g,o=r.match(s);function a(l){n[l]||(i.push(l),n[l]=!0)}if(Array.isArray(t))for(let l=0;l<t.length;l++)a(t[l]);else a(t);o&&o.forEach(l=>{let c=l.split(":")[1].trim();a(c)});for(let l in e.tagStyles){let c=e.tagStyles[l].fontFamily;a(c)}return i}var XP=m(()=>{"use strict"});async function JP(r){let t=await(await X.get().fetch(r)).blob(),i=new FileReader;return await new Promise((s,o)=>{i.onloadend=()=>s(i.result),i.onerror=o,i.readAsDataURL(t)})}var ZP=m(()=>{De()});async function SI(r,e){let t=await JP(e);return`@font-face {
|
|
471
|
+
font-family: "${r.fontFamily}";
|
|
472
|
+
src: url('${t}');
|
|
473
|
+
font-weight: ${r.fontWeight};
|
|
474
|
+
font-style: ${r.fontStyle};
|
|
475
|
+
}`}var $P=m(()=>{ZP()});async function eD(r,e,t){let i=r.filter(n=>ye.has(`${n}-and-url`)).map((n,s)=>{if(!Gp.has(n)){let{url:o}=ye.get(`${n}-and-url`);s===0?Gp.set(n,SI({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:n},o)):Gp.set(n,SI({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:n},o))}return Gp.get(n)});return(await Promise.all(i)).join(`
|
|
476
|
+
`)}var Gp,tD=m(()=>{vi();$P();Gp=new Map});function rD(r,e,t,i,n){let{domElement:s,styleElement:o,svgRoot:a}=n;s.innerHTML=`<style>${e.cssStyle}</style><div style='padding:0;'>${r}</div>`,s.setAttribute("style",`transform: scale(${t});transform-origin: top left; display: inline-block`),o.textContent=i;let{width:l,height:c}=n.image;return a.setAttribute("width",l.toString()),a.setAttribute("height",c.toString()),new XMLSerializer().serializeToString(a)}var iD=m(()=>{"use strict"});function nD(r,e){let t=Yt.getOptimalCanvasAndContext(r.width,r.height,e),{context:i}=t;return i.clearRect(0,0,r.width,r.height),i.drawImage(r,0,0),t}var sD=m(()=>{Ko()});function oD(r,e,t){return new Promise(async i=>{t&&await new Promise(n=>setTimeout(n,100)),r.onload=()=>{i()},r.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(e)}`,r.crossOrigin="anonymous"})}var aD=m(()=>{"use strict"});function lD(r,e,t,i){i||(i=uD||(uD=new ra));let{domElement:n,styleElement:s,svgRoot:o}=i;n.innerHTML=`<style>${e.cssStyle};</style><div style='padding:0'>${r}</div>`,n.setAttribute("style","transform-origin: top left; display: inline-block"),t&&(s.textContent=t),document.body.appendChild(o);let a=n.getBoundingClientRect();o.remove();let l=e.padding*2;return{width:a.width-l,height:a.height-l}}var uD,cD=m(()=>{QI()});var ia,AD=m(()=>{M();Ko();Hr();ar();UP();Be();Bt();fI();QI();KP();XP();tD();iD();sD();aD();cD();ia=class{constructor(e){this._activeTextures={},this._renderer=e,this._createCanvas=e.type===je.WEBGPU}getTexture(e){return this._buildTexturePromise(e.text,e.resolution,e.style)}getManagedTexture(e,t,i,n){if(this._activeTextures[n])return this._increaseReferenceCount(n),this._activeTextures[n].promise;let s=this._buildTexturePromise(e,t,i).then(o=>(this._activeTextures[n].texture=o,o));return this._activeTextures[n]={texture:null,promise:s,usageCount:1},s}async _buildTexturePromise(e,t,i){let n=re.get(ra),s=zP(e,i),o=await eD(s,i,Op.defaultTextStyle),a=lD(e,i,o,n),l=Math.ceil(Math.ceil(Math.max(1,a.width)+i.padding*2)*t),c=Math.ceil(Math.ceil(Math.max(1,a.height)+i.padding*2)*t),u=n.image,A=2;u.width=(l|0)+A,u.height=(c|0)+A;let h=rD(e,i,t,o,n);await oD(u,h,GP()&&s.length>0);let d=u,f;this._createCanvas&&(f=nD(u,t));let g=Tp(f?f.canvas:d,u.width-A,u.height-A,t);return this._createCanvas&&(this._renderer.texture.initSource(g.source),Yt.returnCanvasAndContext(f)),re.return(n),g}_increaseReferenceCount(e){this._activeTextures[e].usageCount++}decreaseReferenceCount(e){let t=this._activeTextures[e];t&&(t.usageCount--,t.usageCount===0&&(t.texture?this._cleanUp(t):t.promise.then(i=>{t.texture=i,this._cleanUp(t)}).catch(()=>{q("HTMLTextSystem: Failed to clean texture")}),this._activeTextures[e]=null))}_cleanUp(e){Se.returnTexture(e.texture),e.texture.source.resource=null,e.texture.source.uploadMethodId="unknown"}getReferenceCount(e){return this._activeTextures[e].usageCount}destroy(){this._activeTextures=null}};ia.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"htmlText"};ia.defaultFontOptions={fontFamily:"Arial",fontStyle:"normal",fontWeight:"normal"}});var TI=m(()=>{M();OP();AD();N.add(ia);N.add($u)});var hD,Cn,el=m(()=>{mn();Bi();yn();Pe();hD=class dD extends Et{constructor(...e){let t=e[0]??{};t instanceof Float32Array&&(W(J,"use new MeshGeometry({ positions, uvs, indices }) instead"),t={positions:t,uvs:e[1],indices:e[2]}),t={...dD.defaultOptions,...t};let i=t.positions||new Float32Array([0,0,1,0,1,1,0,1]),n=t.uvs;n||(t.positions?n=new Float32Array(i.length):n=new Float32Array([0,0,1,0,1,1,0,1]));let s=t.indices||new Uint32Array([0,1,2,0,2,3]),o=t.shrinkBuffersToFit,a=new Xe({data:i,label:"attribute-mesh-positions",shrinkToFit:o,usage:he.VERTEX|he.COPY_DST}),l=new Xe({data:n,label:"attribute-mesh-uvs",shrinkToFit:o,usage:he.VERTEX|he.COPY_DST}),c=new Xe({data:s,label:"index-mesh-buffer",shrinkToFit:o,usage:he.INDEX|he.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:2*4,offset:0},aUV:{buffer:l,format:"float32x2",stride:2*4,offset:0}},indexBuffer:c,topology:t.topology}),this.batchMode="auto"}get positions(){return this.attributes.aPosition.buffer.data}set positions(e){this.attributes.aPosition.buffer.data=e}get uvs(){return this.attributes.aUV.buffer.data}set uvs(e){this.attributes.aUV.buffer.data=e}get indices(){return this.indexBuffer.data}set indices(e){this.indexBuffer.data=e}};hD.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:!1};Cn=hD});var ps,fD,na,sa=m(()=>{"use strict";ps={name:"local-uniform-bit",vertex:{header:`
|
|
477
|
+
|
|
478
|
+
struct LocalUniforms {
|
|
479
|
+
uTransformMatrix:mat3x3<f32>,
|
|
480
|
+
uColor:vec4<f32>,
|
|
481
|
+
uRound:f32,
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
@group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
|
|
485
|
+
`,main:`
|
|
486
|
+
vColor *= localUniforms.uColor;
|
|
487
|
+
modelMatrix *= localUniforms.uTransformMatrix;
|
|
488
|
+
`,end:`
|
|
489
|
+
if(localUniforms.uRound == 1)
|
|
490
|
+
{
|
|
491
|
+
vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
|
|
492
|
+
}
|
|
493
|
+
`}},fD={...ps,vertex:{...ps.vertex,header:ps.vertex.header.replace("group(1)","group(2)")}},na={name:"local-uniform-bit",vertex:{header:`
|
|
494
|
+
|
|
495
|
+
uniform mat3 uTransformMatrix;
|
|
496
|
+
uniform vec4 uColor;
|
|
497
|
+
uniform float uRound;
|
|
498
|
+
`,main:`
|
|
499
|
+
vColor *= uColor;
|
|
500
|
+
modelMatrix = uTransformMatrix;
|
|
501
|
+
`,end:`
|
|
502
|
+
if(uRound == 1.)
|
|
503
|
+
{
|
|
504
|
+
gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
|
|
505
|
+
}
|
|
506
|
+
`}}});var pD,gD,mD=m(()=>{"use strict";pD={name:"tiling-bit",vertex:{header:`
|
|
507
|
+
struct TilingUniforms {
|
|
508
|
+
uMapCoord:mat3x3<f32>,
|
|
509
|
+
uClampFrame:vec4<f32>,
|
|
510
|
+
uClampOffset:vec2<f32>,
|
|
511
|
+
uTextureTransform:mat3x3<f32>,
|
|
512
|
+
uSizeAnchor:vec4<f32>
|
|
513
|
+
};
|
|
514
|
+
|
|
515
|
+
@group(2) @binding(0) var<uniform> tilingUniforms: TilingUniforms;
|
|
516
|
+
@group(2) @binding(1) var uTexture: texture_2d<f32>;
|
|
517
|
+
@group(2) @binding(2) var uSampler: sampler;
|
|
518
|
+
`,main:`
|
|
519
|
+
uv = (tilingUniforms.uTextureTransform * vec3(uv, 1.0)).xy;
|
|
520
|
+
|
|
521
|
+
position = (position - tilingUniforms.uSizeAnchor.zw) * tilingUniforms.uSizeAnchor.xy;
|
|
522
|
+
`},fragment:{header:`
|
|
523
|
+
struct TilingUniforms {
|
|
524
|
+
uMapCoord:mat3x3<f32>,
|
|
525
|
+
uClampFrame:vec4<f32>,
|
|
526
|
+
uClampOffset:vec2<f32>,
|
|
527
|
+
uTextureTransform:mat3x3<f32>,
|
|
528
|
+
uSizeAnchor:vec4<f32>
|
|
529
|
+
};
|
|
530
|
+
|
|
531
|
+
@group(2) @binding(0) var<uniform> tilingUniforms: TilingUniforms;
|
|
532
|
+
@group(2) @binding(1) var uTexture: texture_2d<f32>;
|
|
533
|
+
@group(2) @binding(2) var uSampler: sampler;
|
|
534
|
+
`,main:`
|
|
535
|
+
|
|
536
|
+
var coord = vUV + ceil(tilingUniforms.uClampOffset - vUV);
|
|
537
|
+
coord = (tilingUniforms.uMapCoord * vec3(coord, 1.0)).xy;
|
|
538
|
+
var unclamped = coord;
|
|
539
|
+
coord = clamp(coord, tilingUniforms.uClampFrame.xy, tilingUniforms.uClampFrame.zw);
|
|
540
|
+
|
|
541
|
+
var bias = 0.;
|
|
542
|
+
|
|
543
|
+
if(unclamped.x == coord.x && unclamped.y == coord.y)
|
|
544
|
+
{
|
|
545
|
+
bias = -32.;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
outColor = textureSampleBias(uTexture, uSampler, coord, bias);
|
|
549
|
+
`}},gD={name:"tiling-bit",vertex:{header:`
|
|
550
|
+
uniform mat3 uTextureTransform;
|
|
551
|
+
uniform vec4 uSizeAnchor;
|
|
552
|
+
|
|
553
|
+
`,main:`
|
|
554
|
+
uv = (uTextureTransform * vec3(aUV, 1.0)).xy;
|
|
555
|
+
|
|
556
|
+
position = (position - uSizeAnchor.zw) * uSizeAnchor.xy;
|
|
557
|
+
`},fragment:{header:`
|
|
558
|
+
uniform sampler2D uTexture;
|
|
559
|
+
uniform mat3 uMapCoord;
|
|
560
|
+
uniform vec4 uClampFrame;
|
|
561
|
+
uniform vec2 uClampOffset;
|
|
562
|
+
`,main:`
|
|
563
|
+
|
|
564
|
+
vec2 coord = vUV + ceil(uClampOffset - vUV);
|
|
565
|
+
coord = (uMapCoord * vec3(coord, 1.0)).xy;
|
|
566
|
+
vec2 unclamped = coord;
|
|
567
|
+
coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);
|
|
568
|
+
|
|
569
|
+
outColor = texture(uTexture, coord, unclamped == coord ? 0.0 : -32.0);// lod-bias very negative to force lod 0
|
|
570
|
+
|
|
571
|
+
`}}});var MI,PI,Up,yD=m(()=>{pe();In();sa();vn();br();Qt();me();mD();Up=class extends Je{constructor(){MI??(MI=Vr({name:"tiling-sprite-shader",bits:[ps,pD,Kr]})),PI??(PI=Yr({name:"tiling-sprite-shader",bits:[na,gD,zr]}));let e=new ve({uMapCoord:{value:new O,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new O,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:PI,gpuProgram:MI,resources:{localUniforms:new ve({uTransformMatrix:{value:new O,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:e,uTexture:F.EMPTY.source,uSampler:F.EMPTY.source.style}})}updateUniforms(e,t,i,n,s,o){let a=this.resources.tilingUniforms,l=o.width,c=o.height,u=o.textureMatrix,A=a.uniforms.uTextureTransform;A.set(i.a*l/e,i.b*l/t,i.c*c/e,i.d*c/t,i.tx/e,i.ty/t),A.invert(),a.uniforms.uMapCoord=u.mapCoord,a.uniforms.uClampFrame=u.uClampFrame,a.uniforms.uClampOffset=u.uClampOffset,a.uniforms.uTextureTransform=A,a.uniforms.uSizeAnchor[0]=e,a.uniforms.uSizeAnchor[1]=t,a.uniforms.uSizeAnchor[2]=n,a.uniforms.uSizeAnchor[3]=s,o&&(this.resources.uTexture=o.source,this.resources.uSampler=o.source.style)}}});var Lp,ED=m(()=>{el();Lp=class extends Cn{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])})}}});function _D(r,e){let t=r.anchor.x,i=r.anchor.y;e[0]=-t*r.width,e[1]=-i*r.height,e[2]=(1-t)*r.width,e[3]=-i*r.height,e[4]=(1-t)*r.width,e[5]=(1-i)*r.height,e[6]=-t*r.width,e[7]=(1-i)*r.height}var ID=m(()=>{"use strict"});function vD(r,e,t,i){let n=0,s=r.length/(e||2),o=i.a,a=i.b,l=i.c,c=i.d,u=i.tx,A=i.ty;for(t*=e;n<s;){let h=r[t],d=r[t+1];r[t]=o*h+l*d+u,r[t+1]=a*h+c*d+A,t+=e,n++}}var xD=m(()=>{"use strict"});function BD(r,e){let t=r.texture,i=t.frame.width,n=t.frame.height,s=0,o=0;r.applyAnchorToTexture&&(s=r.anchor.x,o=r.anchor.y),e[0]=e[6]=-s,e[2]=e[4]=1-s,e[1]=e[3]=-o,e[5]=e[7]=1-o;let a=O.shared;a.copyFrom(r._tileTransform.matrix),a.tx/=r.width,a.ty/=r.height,a.invert(),a.scale(r.width/i,r.height/n),vD(e,2,0,a)}var CD=m(()=>{pe();xD()});var Np,tl,bD=m(()=>{M();Pu();ur();ar();Vo();fp();el();yD();ED();ID();CD();Np=new Lp,tl=class{constructor(e){this._state=ze.default2d,this._tilingSpriteDataHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_tilingSpriteDataHash")}validateRenderable(e){let t=this._getTilingSpriteData(e),i=t.canBatch;this._updateCanBatch(e);let n=t.canBatch;if(n&&n===i){let{batchableMesh:s}=t;return!s._batcher.checkAndUpdateTexture(s,e.texture)}return i!==n}addRenderable(e,t){let i=this._renderer.renderPipes.batch;this._updateCanBatch(e);let n=this._getTilingSpriteData(e),{geometry:s,canBatch:o}=n;if(o){n.batchableMesh||(n.batchableMesh=new xn);let a=n.batchableMesh;e.didViewUpdate&&(this._updateBatchableMesh(e),a.geometry=s,a.renderable=e,a.transform=e.groupTransform,a.setTexture(e._texture)),a.roundPixels=this._renderer._roundPixels|e._roundPixels,i.addToBatch(a,t)}else i.break(t),n.shader||(n.shader=new Up),this.updateRenderable(e),t.add(e)}execute(e){let{shader:t}=this._tilingSpriteDataHash[e.uid];t.groups[0]=this._renderer.globalUniforms.bindGroup;let i=t.resources.localUniforms.uniforms;i.uTransformMatrix=e.groupTransform,i.uRound=this._renderer._roundPixels|e._roundPixels,Xr(e.groupColorAlpha,i.uColor,0),this._state.blendMode=xi(e.groupBlendMode,e.texture._source),this._renderer.encoder.draw({geometry:Np,shader:t,state:this._state})}updateRenderable(e){let t=this._getTilingSpriteData(e),{canBatch:i}=t;if(i){let{batchableMesh:n}=t;e.didViewUpdate&&this._updateBatchableMesh(e),n._batcher.updateElement(n)}else if(e.didViewUpdate){let{shader:n}=t;n.updateUniforms(e.width,e.height,e._tileTransform.matrix,e.anchor.x,e.anchor.y,e.texture)}}destroyRenderable(e){let t=this._getTilingSpriteData(e);t.batchableMesh=null,t.shader?.destroy(),this._tilingSpriteDataHash[e.uid]=null,e.off("destroyed",this._destroyRenderableBound)}_getTilingSpriteData(e){return this._tilingSpriteDataHash[e.uid]||this._initTilingSpriteData(e)}_initTilingSpriteData(e){let t=new Cn({indices:Np.indices,positions:Np.positions.slice(),uvs:Np.uvs.slice()});return this._tilingSpriteDataHash[e.uid]={canBatch:!0,renderable:e,geometry:t},e.on("destroyed",this._destroyRenderableBound),this._tilingSpriteDataHash[e.uid]}_updateBatchableMesh(e){let t=this._getTilingSpriteData(e),{geometry:i}=t,n=e.texture.source.style;n.addressMode!=="repeat"&&(n.addressMode="repeat",n.update()),BD(e,i.uvs),_D(e,i.positions)}destroy(){for(let e in this._tilingSpriteDataHash)this.destroyRenderable(this._tilingSpriteDataHash[e].renderable);this._tilingSpriteDataHash=null,this._renderer=null}_updateCanBatch(e){let t=this._getTilingSpriteData(e),i=e.texture,n=!0;return this._renderer.type===je.WEBGL&&(n=this._renderer.context.supports.nonPowOf2wrapping),t.canBatch=i.textureMatrix.isSimple&&(n||i.source.isPowerOfTwo),t.canBatch}};tl.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"tilingSprite"}});var DI=m(()=>{M();bD();N.add(tl)});var wD,SD,TD=m(()=>{Pe();el();wD=class QD extends Cn{constructor(...e){super({});let t=e[0]??{};typeof t=="number"&&(W(J,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),t={width:t,height:e[1],verticesX:e[2],verticesY:e[3]}),this.build(t)}build(e){e={...QD.defaultOptions,...e},this.verticesX=this.verticesX??e.verticesX,this.verticesY=this.verticesY??e.verticesY,this.width=this.width??e.width,this.height=this.height??e.height;let t=this.verticesX*this.verticesY,i=[],n=[],s=[],o=this.verticesX-1,a=this.verticesY-1,l=this.width/o,c=this.height/a;for(let A=0;A<t;A++){let h=A%this.verticesX,d=A/this.verticesX|0;i.push(h*l,d*c),n.push(h/o,d/a)}let u=o*a;for(let A=0;A<u;A++){let h=A%o,d=A/o|0,f=d*this.verticesX+h,g=d*this.verticesX+h+1,p=(d+1)*this.verticesX+h,I=(d+1)*this.verticesX+h+1;s.push(f,g,p,g,I,p)}this.buffers[0].data=new Float32Array(i),this.buffers[1].data=new Float32Array(n),this.indexBuffer.data=new Uint32Array(s),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update()}};wD.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};SD=wD});var MD,Si,RI=m(()=>{TD();MD=class PD extends SD{constructor(e={}){e={...PD.defaultOptions,...e},super({width:e.width,height:e.height,verticesX:4,verticesY:4}),this.update(e)}update(e){this.width=e.width??this.width,this.height=e.height??this.height,this._originalWidth=e.originalWidth??this._originalWidth,this._originalHeight=e.originalHeight??this._originalHeight,this._leftWidth=e.leftWidth??this._leftWidth,this._rightWidth=e.rightWidth??this._rightWidth,this._topHeight=e.topHeight??this._topHeight,this._bottomHeight=e.bottomHeight??this._bottomHeight,this._anchorX=e.anchor?.x,this._anchorY=e.anchor?.y,this.updateUvs(),this.updatePositions()}updatePositions(){let e=this.positions,{width:t,height:i,_leftWidth:n,_rightWidth:s,_topHeight:o,_bottomHeight:a,_anchorX:l,_anchorY:c}=this,u=n+s,A=t>u?1:t/u,h=o+a,d=i>h?1:i/h,f=Math.min(A,d),g=l*t,p=c*i;e[0]=e[8]=e[16]=e[24]=-g,e[2]=e[10]=e[18]=e[26]=n*f-g,e[4]=e[12]=e[20]=e[28]=t-s*f-g,e[6]=e[14]=e[22]=e[30]=t-g,e[1]=e[3]=e[5]=e[7]=-p,e[9]=e[11]=e[13]=e[15]=o*f-p,e[17]=e[19]=e[21]=e[23]=i-a*f-p,e[25]=e[27]=e[29]=e[31]=i-p,this.getBuffer("aPosition").update()}updateUvs(){let e=this.uvs;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1;let t=1/this._originalWidth,i=1/this._originalHeight;e[2]=e[10]=e[18]=e[26]=t*this._leftWidth,e[9]=e[11]=e[13]=e[15]=i*this._topHeight,e[4]=e[12]=e[20]=e[28]=1-t*this._rightWidth,e[17]=e[19]=e[21]=e[23]=1-i*this._bottomHeight,this.getBuffer("aUV").update()}};MD.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Si=MD});var rl,DD=m(()=>{M();Bt();fp();RI();rl=class{constructor(e){this._gpuSpriteHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_gpuSpriteHash")}addRenderable(e,t){let i=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,i),this._renderer.renderPipes.batch.addToBatch(i,t)}updateRenderable(e){let t=this._gpuSpriteHash[e.uid];e.didViewUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t)}validateRenderable(e){let t=this._getGpuSprite(e);return!t._batcher.checkAndUpdateTexture(t,e._texture)}destroyRenderable(e){let t=this._gpuSpriteHash[e.uid];re.return(t.geometry),re.return(t),this._gpuSpriteHash[e.uid]=null,e.off("destroyed",this._destroyRenderableBound)}_updateBatchableSprite(e,t){t.geometry.update(e),t.setTexture(e._texture)}_getGpuSprite(e){return this._gpuSpriteHash[e.uid]||this._initGPUSprite(e)}_initGPUSprite(e){let t=re.get(xn);return t.geometry=re.get(Si),t.renderable=e,t.transform=e.groupTransform,t.texture=e._texture,t.roundPixels=this._renderer._roundPixels|e._roundPixels,this._gpuSpriteHash[e.uid]=t,e.didViewUpdate||this._updateBatchableSprite(e,t),e.on("destroyed",this._destroyRenderableBound),t}destroy(){for(let e in this._gpuSpriteHash)this._gpuSpriteHash[e].geometry.destroy();this._gpuSpriteHash=null,this._renderer=null}};rl.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"nineSliceSprite"}});var FI=m(()=>{M();DD();N.add(rl)});var il,RD=m(()=>{M();il=class{constructor(e){this._renderer=e}push(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"filter",canBundle:!1,action:"pushFilter",container:t,filterEffect:e})}pop(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"filter",action:"popFilter",canBundle:!1})}execute(e){e.action==="pushFilter"?this._renderer.filter.push(e):e.action==="popFilter"&&this._renderer.filter.pop()}destroy(){this._renderer=null}};il.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"filter"}});function FD(r,e){e.clear();let t=e.matrix;for(let i=0;i<r.length;i++){let n=r[i];n.globalDisplayStatus<7||(e.matrix=n.worldTransform,e.addBounds(n.bounds))}return e.matrix=t,e}var kD=m(()=>{"use strict"});var g7,nl,OD=m(()=>{M();pe();Mt();gn();yn();Qt();me();Hr();ar();Pt();kD();Be();g7=new Et({attributes:{aPosition:{buffer:new Float32Array([0,0,1,0,1,1,0,1]),format:"float32x2",stride:2*4,offset:0}},indexBuffer:new Uint32Array([0,1,2,0,2,3])}),nl=class{constructor(e){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new ve({uInputSize:{value:new Float32Array(4),type:"vec4<f32>"},uInputPixel:{value:new Float32Array(4),type:"vec4<f32>"},uInputClamp:{value:new Float32Array(4),type:"vec4<f32>"},uOutputFrame:{value:new Float32Array(4),type:"vec4<f32>"},uGlobalFrame:{value:new Float32Array(4),type:"vec4<f32>"},uOutputTexture:{value:new Float32Array(4),type:"vec4<f32>"}}),this._globalFilterBindGroup=new lt({}),this.renderer=e}get activeBackTexture(){return this._activeFilterData?.backTexture}push(e){let t=this.renderer,i=e.filterEffect.filters;this._filterStack[this._filterStackIndex]||(this._filterStack[this._filterStackIndex]=this._getFilterData());let n=this._filterStack[this._filterStackIndex];if(this._filterStackIndex++,i.length===0){n.skip=!0;return}let s=n.bounds;if(e.renderables?FD(e.renderables,s):e.filterEffect.filterArea?(s.clear(),s.addRect(e.filterEffect.filterArea),s.applyMatrix(e.container.worldTransform)):e.container.getFastGlobalBounds(!0,s),e.container){let f=(e.container.renderGroup||e.container.parentRenderGroup).cacheToLocalTransform;f&&s.applyMatrix(f)}let o=t.renderTarget.renderTarget.colorTexture.source,a=1/0,l=0,c=!0,u=!1,A=!1,h=!0;for(let d=0;d<i.length;d++){let f=i[d];if(a=Math.min(a,f.resolution==="inherit"?o._resolution:f.resolution),l+=f.padding,f.antialias==="off"?c=!1:f.antialias==="inherit"&&c&&(c=o.antialias),f.clipToViewport||(h=!1),!!!(f.compatibleRenderers&t.type)){A=!1;break}if(f.blendRequired&&!(t.backBuffer?.useBackBuffer??!0)){q("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),A=!1;break}A=f.enabled||A,u||(u=f.blendRequired)}if(!A){n.skip=!0;return}if(h){let d=t.renderTarget.rootViewPort,f=t.renderTarget.renderTarget.resolution;s.fitBounds(0,d.width/f,0,d.height/f)}if(s.scale(a).ceil().scale(1/a).pad(l|0),!s.isPositive){n.skip=!0;return}n.skip=!1,n.bounds=s,n.blendRequired=u,n.container=e.container,n.filterEffect=e.filterEffect,n.previousRenderSurface=t.renderTarget.renderSurface,n.inputTexture=Se.getOptimalTexture(s.width,s.height,a,c),t.renderTarget.bind(n.inputTexture,!0),t.globalUniforms.push({offset:s})}pop(){let e=this.renderer;this._filterStackIndex--;let t=this._filterStack[this._filterStackIndex];if(t.skip)return;this._activeFilterData=t;let i=t.inputTexture,n=t.bounds,s=F.EMPTY;if(e.renderTarget.finishRenderPass(),t.blendRequired){let a=this._filterStackIndex>0?this._filterStack[this._filterStackIndex-1].bounds:null,l=e.renderTarget.getRenderTarget(t.previousRenderSurface);s=this.getBackTexture(l,n,a)}t.backTexture=s;let o=t.filterEffect.filters;if(this._globalFilterBindGroup.setResource(i.source.style,2),this._globalFilterBindGroup.setResource(s.source,3),e.globalUniforms.pop(),o.length===1)o[0].apply(this,i,t.previousRenderSurface,!1),Se.returnTexture(i);else{let a=t.inputTexture,l=Se.getOptimalTexture(n.width,n.height,a.source._resolution,!1),c=0;for(c=0;c<o.length-1;++c){o[c].apply(this,a,l,!0);let A=a;a=l,l=A}o[c].apply(this,a,t.previousRenderSurface,!1),Se.returnTexture(a),Se.returnTexture(l)}t.blendRequired&&Se.returnTexture(s)}getBackTexture(e,t,i){let n=e.colorTexture.source._resolution,s=Se.getOptimalTexture(t.width,t.height,n,!1),o=t.minX,a=t.minY;i&&(o-=i.minX,a-=i.minY),o=Math.floor(o*n),a=Math.floor(a*n);let l=Math.ceil(t.width*n),c=Math.ceil(t.height*n);return this.renderer.renderTarget.copyToTexture(e,s,{x:o,y:a},{width:l,height:c},{x:0,y:0}),s}applyFilter(e,t,i,n){let s=this.renderer,o=this._filterStack[this._filterStackIndex],a=o.bounds,l=j.shared,u=o.previousRenderSurface===i,A=this.renderer.renderTarget.rootRenderTarget.colorTexture.source._resolution,h=this._filterStackIndex-1;for(;h>0&&this._filterStack[h].skip;)--h;h>0&&(A=this._filterStack[h].inputTexture.source._resolution);let d=this._filterGlobalUniforms,f=d.uniforms,g=f.uOutputFrame,p=f.uInputSize,I=f.uInputPixel,x=f.uInputClamp,B=f.uGlobalFrame,w=f.uOutputTexture;if(u){let R=this._filterStackIndex;for(;R>0;){R--;let U=this._filterStack[this._filterStackIndex-1];if(!U.skip){l.x=U.bounds.minX,l.y=U.bounds.minY;break}}g[0]=a.minX-l.x,g[1]=a.minY-l.y}else g[0]=0,g[1]=0;g[2]=t.frame.width,g[3]=t.frame.height,p[0]=t.source.width,p[1]=t.source.height,p[2]=1/p[0],p[3]=1/p[1],I[0]=t.source.pixelWidth,I[1]=t.source.pixelHeight,I[2]=1/I[0],I[3]=1/I[1],x[0]=.5*I[2],x[1]=.5*I[3],x[2]=t.frame.width*p[2]-.5*I[2],x[3]=t.frame.height*p[3]-.5*I[3];let D=this.renderer.renderTarget.rootRenderTarget.colorTexture;B[0]=l.x*A,B[1]=l.y*A,B[2]=D.source.width*A,B[3]=D.source.height*A;let T=this.renderer.renderTarget.getRenderTarget(i);if(s.renderTarget.bind(i,!!n),i instanceof F?(w[0]=i.frame.width,w[1]=i.frame.height):(w[0]=T.width,w[1]=T.height),w[2]=T.isRoot?-1:1,d.update(),s.renderPipes.uniformBatch){let R=s.renderPipes.uniformBatch.getUboResource(d);this._globalFilterBindGroup.setResource(R,0)}else this._globalFilterBindGroup.setResource(d,0);this._globalFilterBindGroup.setResource(t.source,1),this._globalFilterBindGroup.setResource(t.source.style,2),e.groups[0]=this._globalFilterBindGroup,s.encoder.draw({geometry:g7,shader:e,state:e._state,topology:"triangle-list"}),s.type===je.WEBGL&&s.renderTarget.finishRenderPass()}_getFilterData(){return{skip:!1,inputTexture:null,bounds:new ge,container:null,filterEffect:null,blendRequired:!1,previousRenderSurface:null}}calculateSpriteMatrix(e,t){let i=this._activeFilterData,n=e.set(i.inputTexture._source.width,0,0,i.inputTexture._source.height,i.bounds.minX,i.bounds.minY),s=t.worldTransform.copyTo(O.shared),o=t.renderGroup||t.parentRenderGroup;return o&&o.cacheToLocalTransform&&s.prepend(o.cacheToLocalTransform),s.invert(),n.prepend(s),n.scale(1/t.texture.frame.width,1/t.texture.frame.height),n.translate(t.anchor.x,t.anchor.y),n}};nl.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"filter"}});var kI=m(()=>{M();RD();OD();N.add(nl);N.add(il)});var m7={};var GD=m(()=>{LS();OE();KS();JS();qf();Xf();q_();j_();z_();mI();wI();TI();DI();FI();kI()});var UD,LD=m(()=>{M();UD={extension:{type:v.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Promise.resolve().then(()=>(GD(),m7))}}});var y7={};var ND=m(()=>{OE();qf();Xf();q_();j_();z_();mI();wI();TI();DI();FI();kI()});var HD,WD=m(()=>{M();HD={extension:{type:v.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(ND(),y7))}}});var qD,bn,sl=m(()=>{bi();En();br();ur();qD=class OI extends Je{constructor(e){e={...OI.defaultOptions,...e},super(e),this.enabled=!0,this._state=ze.for2d(),this.blendMode=e.blendMode,this.padding=e.padding,typeof e.antialias=="boolean"?this.antialias=e.antialias?"on":"off":this.antialias=e.antialias,this.resolution=e.resolution,this.blendRequired=e.blendRequired,this.clipToViewport=e.clipToViewport,this.addResource("uTexture",0,1)}apply(e,t,i,n){e.applyFilter(this,t,i,n)}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e}static from(e){let{gpu:t,gl:i,...n}=e,s,o;return t&&(s=wt.from(t)),i&&(o=bt.from(i)),new OI({gpuProgram:s,glProgram:o,...n})}};qD.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1,clipToViewport:!0};bn=qD});async function jD(r){if(!r)for(let e=0;e<GI.length;e++){let t=GI[e];if(t.value.test()){await t.value.load();return}}}var GI,VD=m(()=>{M();GI=[];N.handleByNamedList(v.Environment,GI)});function Hp(){if(typeof ol=="boolean")return ol;try{ol=new Function("param1","param2","param3","return param1[param2] === param3;")({a:"b"},"a","b")===!0}catch{ol=!1}return ol}var ol,UI=m(()=>{"use strict"});var ct,oa=m(()=>{"use strict";ct=(r=>(r[r.NONE=0]="NONE",r[r.COLOR=16384]="COLOR",r[r.STENCIL=1024]="STENCIL",r[r.DEPTH=256]="DEPTH",r[r.COLOR_DEPTH=16640]="COLOR_DEPTH",r[r.COLOR_STENCIL=17408]="COLOR_STENCIL",r[r.DEPTH_STENCIL=1280]="DEPTH_STENCIL",r[r.ALL=17664]="ALL",r))(ct||{})});var aa,LI=m(()=>{"use strict";aa=class{constructor(e){this.items=[],this._name=e}emit(e,t,i,n,s,o,a,l){let{name:c,items:u}=this;for(let A=0,h=u.length;A<h;A++)u[A][c](e,t,i,n,s,o,a,l);return this}add(e){return e[this._name]&&(this.remove(e),this.items.push(e)),this}remove(e){let t=this.items.indexOf(e);return t!==-1&&this.items.splice(t,1),this}contains(e){return this.items.indexOf(e)!==-1}removeAll(){return this.items.length=0,this}destroy(){this.removeAll(),this.items=null,this._name=null}get empty(){return this.items.length===0}get name(){return this._name}}});var E7,YD,wn,al=m(()=>{pt();VD();Br();UI();Pe();oa();LI();xt();E7=["init","destroy","contextChange","resolutionChange","resetState","renderEnd","renderStart","render","update","postrender","prerender"],YD=class KD extends Me{constructor(e){super(),this.runners=Object.create(null),this.renderPipes=Object.create(null),this._initOptions={},this._systemsHash=Object.create(null),this.type=e.type,this.name=e.name,this.config=e;let t=[...E7,...this.config.runners??[]];this._addRunners(...t),this._unsafeEvalCheck()}async init(e={}){let t=e.skipExtensionImports===!0?!0:e.manageImports===!1;await jD(t),this._addSystems(this.config.systems),this._addPipes(this.config.renderPipes,this.config.renderPipeAdaptors);for(let i in this._systemsHash)e={...this._systemsHash[i].constructor.defaultOptions,...e};e={...KD.defaultOptions,...e},this._roundPixels=e.roundPixels?1:0;for(let i=0;i<this.runners.init.items.length;i++)await this.runners.init.items[i].init(e);this._initOptions=e}render(e,t){let i=e;if(i instanceof Ae&&(i={container:i},t&&(W(J,"passing a second argument is deprecated, please use render options instead"),i.target=t.renderTexture)),i.target||(i.target=this.view.renderTarget),i.target===this.view.renderTarget&&(this._lastObjectRendered=i.container,i.clearColor??(i.clearColor=this.background.colorRgba),i.clear??(i.clear=this.background.clearBeforeRender)),i.clearColor){let n=Array.isArray(i.clearColor)&&i.clearColor.length===4;i.clearColor=n?i.clearColor:le.shared.setValue(i.clearColor).toArray()}i.transform||(i.container.updateLocalTransform(),i.transform=i.container.localTransform),i.container.enableRenderGroup(),this.runners.prerender.emit(i),this.runners.renderStart.emit(i),this.runners.render.emit(i),this.runners.renderEnd.emit(i),this.runners.postrender.emit(i)}resize(e,t,i){let n=this.view.resolution;this.view.resize(e,t,i),this.emit("resize",this.view.screen.width,this.view.screen.height,this.view.resolution),i!==void 0&&i!==n&&this.runners.resolutionChange.emit(i)}clear(e={}){let t=this;e.target||(e.target=t.renderTarget.renderTarget),e.clearColor||(e.clearColor=this.background.colorRgba),e.clear??(e.clear=ct.ALL);let{clear:i,clearColor:n,target:s}=e;le.shared.setValue(n??this.background.colorRgba),t.renderTarget.clear(s,i,le.shared.toArray())}get resolution(){return this.view.resolution}set resolution(e){this.view.resolution=e,this.runners.resolutionChange.emit(e)}get width(){return this.view.texture.frame.width}get height(){return this.view.texture.frame.height}get canvas(){return this.view.canvas}get lastObjectRendered(){return this._lastObjectRendered}get renderingToScreen(){return this.renderTarget.renderingToScreen}get screen(){return this.view.screen}_addRunners(...e){e.forEach(t=>{this.runners[t]=new aa(t)})}_addSystems(e){let t;for(t in e){let i=e[t];this._addSystem(i.value,i.name)}}_addSystem(e,t){let i=new e(this);if(this[t])throw new Error(`Whoops! The name "${t}" is already in use`);this[t]=i,this._systemsHash[t]=i;for(let n in this.runners)this.runners[n].add(i);return this}_addPipes(e,t){let i=t.reduce((n,s)=>(n[s.name]=s.value,n),{});e.forEach(n=>{let s=n.value,o=n.name,a=i[o];this.renderPipes[o]=new s(this,a?new a:null)})}destroy(e=!1){this.runners.destroy.items.reverse(),this.runners.destroy.emit(e),Object.values(this.runners).forEach(t=>{t.destroy()}),this._systemsHash=null,this.renderPipes=null}generateTexture(e){return this.textureGenerator.generateTexture(e)}get roundPixels(){return!!this._roundPixels}_unsafeEvalCheck(){if(!Hp())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}resetState(){this.runners.resetState.emit()}};YD.defaultOptions={resolution:1,failIfMajorPerformanceCaveat:!1,roundPixels:!1};wn=YD});function zD(r){return Wp!==void 0||(Wp=(()=>{let e={stencil:!0,failIfMajorPerformanceCaveat:r??wn.defaultOptions.failIfMajorPerformanceCaveat};try{if(!X.get().getWebGLRenderingContext())return!1;let i=X.get().createCanvas().getContext("webgl",e),n=!!i?.getContextAttributes()?.stencil;if(i){let s=i.getExtension("WEBGL_lose_context");s&&s.loseContext()}return i=null,n}catch{return!1}})()),Wp}var Wp,XD=m(()=>{De();al()});async function JD(r={}){return qp!==void 0||(qp=await(async()=>{let e=X.get().getNavigator().gpu;if(!e)return!1;try{return await(await e.requestAdapter(r)).requestDevice(),!0}catch{return!1}})()),qp}var qp,ZD=m(()=>{De()});var ul,$D=m(()=>{M();pe();as();$f();In();Fu();ku();sa();vn();br();Qt();ul=class{init(){let e=new ve({uTransformMatrix:{value:new O,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),t=Vr({name:"graphics",bits:[Oo,Uo(or()),fD,Kr]});this.shader=new Je({gpuProgram:t,resources:{localUniforms:e}})}execute(e,t){let i=t.context,n=i.customShader||this.shader,s=e.renderer,o=s.graphicsContext,{batcher:a,instructions:l}=o.getContextRenderData(i),c=s.encoder;c.setGeometry(a.geometry,n.gpuProgram);let u=s.globalUniforms.bindGroup;c.setBindGroup(0,u,n.gpuProgram);let A=s.renderPipes.uniformBatch.getUniformBindGroup(n.resources.localUniforms,!0);c.setBindGroup(2,A,n.gpuProgram);let h=l.instructions,d=null;for(let f=0;f<l.instructionSize;f++){let g=h[f];if(g.topology!==d&&(d=g.topology,c.setPipelineFromGeometryProgramAndState(a.geometry,n.gpuProgram,e.state,g.topology)),n.groups[1]=g.bindGroup,!g.gpuBindGroup){let p=g.textures;g.bindGroup=Fo(p.textures,p.count),g.gpuBindGroup=s.bindGroup.getBindGroup(g.bindGroup,n.gpuProgram,1)}c.setBindGroup(1,g.bindGroup,n.gpuProgram),c.renderPassEncoder.drawIndexed(g.size,1,g.start)}}destroy(){this.shader.destroy(!0),this.shader=null}};ul.extension={type:[v.WebGPUPipesAdaptor],name:"graphics"}});var eR,tR,NI=m(()=>{"use strict";eR={name:"texture-bit",vertex:{header:`
|
|
572
|
+
|
|
573
|
+
struct TextureUniforms {
|
|
574
|
+
uTextureMatrix:mat3x3<f32>,
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
@group(2) @binding(2) var<uniform> textureUniforms : TextureUniforms;
|
|
578
|
+
`,main:`
|
|
579
|
+
uv = (textureUniforms.uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
580
|
+
`},fragment:{header:`
|
|
581
|
+
@group(2) @binding(0) var uTexture: texture_2d<f32>;
|
|
582
|
+
@group(2) @binding(1) var uSampler: sampler;
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
`,main:`
|
|
586
|
+
outColor = textureSample(uTexture, uSampler, vUV);
|
|
587
|
+
`}},tR={name:"texture-bit",vertex:{header:`
|
|
588
|
+
uniform mat3 uTextureMatrix;
|
|
589
|
+
`,main:`
|
|
590
|
+
uv = (uTextureMatrix * vec3(uv, 1.0)).xy;
|
|
591
|
+
`},fragment:{header:`
|
|
592
|
+
uniform sampler2D uTexture;
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
`,main:`
|
|
596
|
+
outColor = texture(uTexture, vUV);
|
|
597
|
+
`}}});var ll,rR=m(()=>{M();pe();In();sa();vn();NI();br();me();Be();ll=class{init(){let e=Vr({name:"mesh",bits:[ps,eR,Kr]});this._shader=new Je({gpuProgram:e,resources:{uTexture:F.EMPTY._source,uSampler:F.EMPTY._source.style,textureUniforms:{uTextureMatrix:{type:"mat3x3<f32>",value:new O}}}})}execute(e,t){let i=e.renderer,n=t._shader;if(!n)n=this._shader,n.groups[2]=i.texture.getTextureBindGroup(t.texture);else if(!n.gpuProgram){q("Mesh shader has no gpuProgram",t.shader);return}let s=n.gpuProgram;if(s.autoAssignGlobalUniforms&&(n.groups[0]=i.globalUniforms.bindGroup),s.autoAssignLocalUniforms){let o=e.localUniforms;n.groups[1]=i.renderPipes.uniformBatch.getUniformBindGroup(o,!0)}i.encoder.draw({geometry:t._geometry,shader:n,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}};ll.extension={type:[v.WebGPUPipesAdaptor],name:"mesh"}});var jp,cl,iR=m(()=>{M();ur();$f();jp=ze.for2d(),cl=class{start(e,t,i){let n=e.renderer,s=n.encoder,o=i.gpuProgram;this._shader=i,this._geometry=t,s.setGeometry(t,o),jp.blendMode="normal",n.pipeline.getPipeline(t,o,jp);let a=n.globalUniforms.bindGroup;s.resetBindGroup(1),s.setBindGroup(0,a,o)}execute(e,t){let i=this._shader.gpuProgram,n=e.renderer,s=n.encoder;if(!t.bindGroup){let l=t.textures;t.bindGroup=Fo(l.textures,l.count)}jp.blendMode=t.blendMode;let o=n.bindGroup.getBindGroup(t.bindGroup,i,1),a=n.pipeline.getPipeline(this._geometry,i,jp,t.topology);t.bindGroup._touch(n.textureGC.count),s.setPipeline(a),s.renderPassEncoder.setBindGroup(1,o),s.renderPassEncoder.drawIndexed(t.size,1,t.start)}};cl.extension={type:[v.WebGPUPipesAdaptor],name:"batch"}});var Al,nR=m(()=>{M();Al=class{constructor(e){this._renderer=e}updateRenderable(){}destroyRenderable(){}validateRenderable(){return!1}addRenderable(e,t){this._renderer.renderPipes.batch.break(t),t.add(e)}execute(e){e.isRenderable&&e.render(this._renderer)}destroy(){this._renderer=null}};Al.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"customRender"}});function hl(r,e){let t=r.instructionSet,i=t.instructions;for(let n=0;n<t.instructionSize;n++){let s=i[n];e[s.renderPipeId].execute(s)}}var HI=m(()=>{"use strict"});var _7,dl,sR=m(()=>{M();pe();Bt();ju();HI();_7=new O,dl=class{constructor(e){this._renderer=e}addRenderGroup(e,t){e.isCachedAsTexture?this._addRenderableCacheAsTexture(e,t):this._addRenderableDirect(e,t)}execute(e){e.isRenderable&&(e.isCachedAsTexture?this._executeCacheAsTexture(e):this._executeDirect(e))}destroy(){this._renderer=null}_addRenderableDirect(e,t){this._renderer.renderPipes.batch.break(t),e._batchableRenderGroup&&(re.return(e._batchableRenderGroup),e._batchableRenderGroup=null),t.add(e)}_addRenderableCacheAsTexture(e,t){let i=e._batchableRenderGroup??(e._batchableRenderGroup=re.get(Jr));i.renderable=e.root,i.transform=e.root.relativeGroupTransform,i.texture=e.texture,i.bounds=e._textureBounds,t.add(e),this._renderer.renderPipes.batch.addToBatch(i,t)}_executeCacheAsTexture(e){if(e.textureNeedsUpdate){e.textureNeedsUpdate=!1;let t=_7.identity().translate(-e._textureBounds.x,-e._textureBounds.y);this._renderer.renderTarget.push(e.texture,!0,null,e.texture.frame),this._renderer.globalUniforms.push({worldTransformMatrix:t,worldColor:4294967295}),hl(e,this._renderer.renderPipes),this._renderer.renderTarget.finishRenderPass(),this._renderer.renderTarget.pop(),this._renderer.globalUniforms.pop()}e._batchableRenderGroup._batcher.updateElement(e._batchableRenderGroup),e._batchableRenderGroup._batcher.geometry.buffers[0].update()}_executeDirect(e){this._renderer.globalUniforms.push({worldTransformMatrix:e.inverseParentTextureTransform,worldColor:e.worldColorAlpha}),hl(e,this._renderer.renderPipes),this._renderer.globalUniforms.pop()}};dl.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"renderGroup"}});function fl(r,e){e||(e=0);for(let t=e;t<r.length&&r[t];t++)r[t]=null}var WI=m(()=>{"use strict"});function qI(r,e=!1){v7(r);let t=r.childrenToUpdate,i=r.updateTick++;for(let n in t){let s=Number(n),o=t[n],a=o.list,l=o.index;for(let c=0;c<l;c++){let u=a[c];u.parentRenderGroup===r&&u.relativeRenderGroupDepth===s&&uR(u,i,0)}fl(a,l),o.index=0}if(e)for(let n=0;n<r.renderGroupChildren.length;n++)qI(r.renderGroupChildren[n],e)}function v7(r){let e=r.root,t;if(r.renderGroupParent){let i=r.renderGroupParent;r.worldTransform.appendFrom(e.relativeGroupTransform,i.worldTransform),r.worldColor=xo(e.groupColor,i.worldColor),t=e.groupAlpha*i.worldAlpha}else r.worldTransform.copyFrom(e.localTransform),r.worldColor=e.localColor,t=e.localAlpha;t=t<0?0:t>1?1:t,r.worldAlpha=t,r.worldColorAlpha=r.worldColor+((t*255|0)<<24)}function uR(r,e,t){if(e===r.updateTick)return;r.updateTick=e,r.didChange=!1;let i=r.localTransform;r.updateLocalTransform();let n=r.parent;if(n&&!n.renderGroup?(t|=r._updateFlags,r.relativeGroupTransform.appendFrom(i,n.relativeGroupTransform),t&oR&&aR(r,n,t)):(t=r._updateFlags,r.relativeGroupTransform.copyFrom(i),t&oR&&aR(r,I7,t)),!r.renderGroup){let s=r.children,o=s.length;for(let c=0;c<o;c++)uR(s[c],e,t);let a=r.parentRenderGroup,l=r;l.renderPipeId&&!a.structureDidChange&&a.updateRenderable(l)}}function aR(r,e,t){if(t&wo){r.groupColor=xo(r.localColor,e.groupColor);let i=r.localAlpha*e.groupAlpha;i=i<0?0:i>1?1:i,r.groupAlpha=i,r.groupColorAlpha=r.groupColor+((i*255|0)<<24)}t&gu&&(r.groupBlendMode=r.localBlendMode==="inherit"?e.groupBlendMode:r.localBlendMode),t&is&&(r.globalDisplayStatus=r.localDisplayStatus&e.globalDisplayStatus),r._updateFlags=0}var I7,oR,lR=m(()=>{Br();WI();yE();I7=new Ae,oR=is|wo|gu});function cR(r,e){let{list:t,index:i}=r.childrenRenderablesToUpdate,n=!1;for(let s=0;s<i;s++){let o=t[s];if(n=e[o.renderPipeId].validateRenderable(o),n)break}return r.structureDidChange=n,n}var AR=m(()=>{"use strict"});var x7,pl,hR=m(()=>{M();pe();Hr();Pt();WI();HI();lR();AR();x7=new O,pl=class{constructor(e){this._renderer=e}render({container:e,transform:t}){let i=e.parent,n=e.renderGroup.renderGroupParent;e.parent=null,e.renderGroup.renderGroupParent=null;let s=this._renderer,o=x7;t&&(o=o.copyFrom(e.renderGroup.localTransform),e.renderGroup.localTransform.copyFrom(t));let a=s.renderPipes;this._updateCachedRenderGroups(e.renderGroup,null),this._updateRenderGroups(e.renderGroup),s.globalUniforms.start({worldTransformMatrix:t?e.renderGroup.localTransform:e.renderGroup.worldTransform,worldColor:e.renderGroup.worldColorAlpha}),hl(e.renderGroup,a),a.uniformBatch&&a.uniformBatch.renderEnd(),t&&e.renderGroup.localTransform.copyFrom(o),e.parent=i,e.renderGroup.renderGroupParent=n}destroy(){this._renderer=null}_updateCachedRenderGroups(e,t){if(e.isCachedAsTexture){if(!e.updateCacheTexture)return;t=e}e._parentCacheAsTextureRenderGroup=t;for(let i=e.renderGroupChildren.length-1;i>=0;i--)this._updateCachedRenderGroups(e.renderGroupChildren[i],t);if(e.invalidateMatrices(),e.isCachedAsTexture){if(e.textureNeedsUpdate){let i=e.root.getLocalBounds();i.ceil();let n=e.texture;e.texture&&Se.returnTexture(e.texture);let s=this._renderer,o=e.textureOptions.resolution||s.view.resolution,a=e.textureOptions.antialias??s.view.antialias;e.texture=Se.getOptimalTexture(i.width,i.height,o,a),e._textureBounds||(e._textureBounds=new ge),e._textureBounds.copyFrom(i),n!==e.texture&&e.renderGroupParent&&(e.renderGroupParent.structureDidChange=!0)}}else e.texture&&(Se.returnTexture(e.texture),e.texture=null)}_updateRenderGroups(e){let t=this._renderer,i=t.renderPipes;if(e.runOnRender(t),e.instructionSet.renderPipes=i,e.structureDidChange?fl(e.childrenRenderablesToUpdate.list,0):cR(e,i),qI(e),e.structureDidChange?(e.structureDidChange=!1,this._buildInstructions(e,t)):this._updateRenderables(e),e.childrenRenderablesToUpdate.index=0,t.renderPipes.batch.upload(e.instructionSet),!(e.isCachedAsTexture&&!e.textureNeedsUpdate))for(let n=0;n<e.renderGroupChildren.length;n++)this._updateRenderGroups(e.renderGroupChildren[n])}_updateRenderables(e){let{list:t,index:i}=e.childrenRenderablesToUpdate;for(let n=0;n<i;n++){let s=t[n];s.didViewUpdate&&e.updateRenderable(s)}fl(t,i)}_buildInstructions(e,t){let i=e.root,n=e.instructionSet;n.reset();let s=t.renderPipes?t:t.batch.renderer,o=s.renderPipes;o.batch.buildStart(n),o.blendMode.buildStart(),o.colorMask.buildStart(),i.sortableChildren&&i.sortChildren(),i.collectRenderablesWithEffects(n,s,null),o.batch.buildEnd(n),o.blendMode.buildEnd(n)}};pl.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"renderGroup"}});var gl,dR=m(()=>{M();Bt();ju();gl=class{constructor(e){this._gpuSpriteHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_gpuSpriteHash")}addRenderable(e,t){let i=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,i),this._renderer.renderPipes.batch.addToBatch(i,t)}updateRenderable(e){let t=this._gpuSpriteHash[e.uid];e.didViewUpdate&&this._updateBatchableSprite(e,t),t._batcher.updateElement(t)}validateRenderable(e){let t=this._getGpuSprite(e);return!t._batcher.checkAndUpdateTexture(t,e._texture)}destroyRenderable(e){let t=this._gpuSpriteHash[e.uid];re.return(t),this._gpuSpriteHash[e.uid]=null,e.off("destroyed",this._destroyRenderableBound)}_updateBatchableSprite(e,t){t.bounds=e.visualBounds,t.texture=e._texture}_getGpuSprite(e){return this._gpuSpriteHash[e.uid]||this._initGPUSprite(e)}_initGPUSprite(e){let t=re.get(Jr);return t.renderable=e,t.transform=e.groupTransform,t.texture=e._texture,t.bounds=e.visualBounds,t.roundPixels=this._renderer._roundPixels|e._roundPixels,this._gpuSpriteHash[e.uid]=t,e.on("destroyed",this._destroyRenderableBound),t}destroy(){for(let e in this._gpuSpriteHash)re.return(this._gpuSpriteHash[e]);this._gpuSpriteHash=null,this._renderer=null}};gl.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"sprite"}});var ua,jI=m(()=>{xt();ua="8.9.2"});var ml,yl,VI=m(()=>{M();jI();ml=class{static init(){globalThis.__PIXI_APP_INIT__?.(this,ua)}static destroy(){}};ml.extension=v.Application;yl=class{constructor(e){this._renderer=e}init(){globalThis.__PIXI_RENDERER_INIT__?.(this._renderer,ua)}destroy(){this._renderer=null}};yl.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"initHook",priority:-10}});var YI,KI,pR=m(()=>{M();ur();v_();YI=class fR{constructor(e,t){this.state=ze.for2d(),this._batchersByInstructionSet=Object.create(null),this._activeBatches=Object.create(null),this.renderer=e,this._adaptor=t,this._adaptor.init?.(this)}static getBatcher(e){return new this._availableBatchers[e]}buildStart(e){let t=this._batchersByInstructionSet[e.uid];t||(t=this._batchersByInstructionSet[e.uid]=Object.create(null),t.default||(t.default=new Ou)),this._activeBatches=t,this._activeBatch=this._activeBatches.default;for(let i in this._activeBatches)this._activeBatches[i].begin()}addToBatch(e,t){if(this._activeBatch.name!==e.batcherName){this._activeBatch.break(t);let i=this._activeBatches[e.batcherName];i||(i=this._activeBatches[e.batcherName]=fR.getBatcher(e.batcherName),i.begin()),this._activeBatch=i}this._activeBatch.add(e)}break(e){this._activeBatch.break(e)}buildEnd(e){this._activeBatch.break(e);let t=this._activeBatches;for(let i in t){let n=t[i],s=n.geometry;s.indexBuffer.setDataWithSize(n.indexBuffer,n.indexSize,!0),s.buffers[0].setDataWithSize(n.attributeBuffer.float32View,n.attributeSize,!1)}}upload(e){let t=this._batchersByInstructionSet[e.uid];for(let i in t){let n=t[i],s=n.geometry;n.dirty&&(n.dirty=!1,s.buffers[0].update(n.attributeSize*4))}}execute(e){if(e.action==="startBatch"){let t=e.batcher,i=t.geometry,n=t.shader;this._adaptor.start(this,i,n)}this._adaptor.execute(this,e)}destroy(){this.state=null,this.renderer=null,this._adaptor=null;for(let e in this._activeBatches)this._activeBatches[e].destroy();this._activeBatches=null}};YI.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"batch"};YI._availableBatchers=Object.create(null);KI=YI;N.handleByMap(v.Batcher,KI._availableBatchers);N.add(Ou)});var gR,mR=m(()=>{gR=`in vec2 vMaskCoord;
|
|
598
|
+
in vec2 vTextureCoord;
|
|
599
|
+
|
|
600
|
+
uniform sampler2D uTexture;
|
|
601
|
+
uniform sampler2D uMaskTexture;
|
|
602
|
+
|
|
603
|
+
uniform float uAlpha;
|
|
604
|
+
uniform vec4 uMaskClamp;
|
|
605
|
+
uniform float uInverse;
|
|
606
|
+
|
|
607
|
+
out vec4 finalColor;
|
|
608
|
+
|
|
609
|
+
void main(void)
|
|
610
|
+
{
|
|
611
|
+
float clip = step(3.5,
|
|
612
|
+
step(uMaskClamp.x, vMaskCoord.x) +
|
|
613
|
+
step(uMaskClamp.y, vMaskCoord.y) +
|
|
614
|
+
step(vMaskCoord.x, uMaskClamp.z) +
|
|
615
|
+
step(vMaskCoord.y, uMaskClamp.w));
|
|
616
|
+
|
|
617
|
+
// TODO look into why this is needed
|
|
618
|
+
float npmAlpha = uAlpha;
|
|
619
|
+
vec4 original = texture(uTexture, vTextureCoord);
|
|
620
|
+
vec4 masky = texture(uMaskTexture, vMaskCoord);
|
|
621
|
+
float alphaMul = 1.0 - npmAlpha * (1.0 - masky.a);
|
|
622
|
+
|
|
623
|
+
float a = alphaMul * masky.r * npmAlpha * clip;
|
|
624
|
+
|
|
625
|
+
if (uInverse == 1.0) {
|
|
626
|
+
a = 1.0 - a;
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
finalColor = original * a;
|
|
630
|
+
}
|
|
631
|
+
`});var yR,ER=m(()=>{yR=`in vec2 aPosition;
|
|
632
|
+
|
|
633
|
+
out vec2 vTextureCoord;
|
|
634
|
+
out vec2 vMaskCoord;
|
|
635
|
+
|
|
636
|
+
|
|
637
|
+
uniform vec4 uInputSize;
|
|
638
|
+
uniform vec4 uOutputFrame;
|
|
639
|
+
uniform vec4 uOutputTexture;
|
|
640
|
+
uniform mat3 uFilterMatrix;
|
|
641
|
+
|
|
642
|
+
vec4 filterVertexPosition( vec2 aPosition )
|
|
643
|
+
{
|
|
644
|
+
vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
|
|
645
|
+
|
|
646
|
+
position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
|
|
647
|
+
position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
|
|
648
|
+
|
|
649
|
+
return vec4(position, 0.0, 1.0);
|
|
650
|
+
}
|
|
651
|
+
|
|
652
|
+
vec2 filterTextureCoord( vec2 aPosition )
|
|
653
|
+
{
|
|
654
|
+
return aPosition * (uOutputFrame.zw * uInputSize.zw);
|
|
655
|
+
}
|
|
656
|
+
|
|
657
|
+
vec2 getFilterCoord( vec2 aPosition )
|
|
658
|
+
{
|
|
659
|
+
return ( uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
void main(void)
|
|
663
|
+
{
|
|
664
|
+
gl_Position = filterVertexPosition(aPosition);
|
|
665
|
+
vTextureCoord = filterTextureCoord(aPosition);
|
|
666
|
+
vMaskCoord = getFilterCoord(aPosition);
|
|
667
|
+
}
|
|
668
|
+
`});var zI,_R=m(()=>{zI=`struct GlobalFilterUniforms {
|
|
669
|
+
uInputSize:vec4<f32>,
|
|
670
|
+
uInputPixel:vec4<f32>,
|
|
671
|
+
uInputClamp:vec4<f32>,
|
|
672
|
+
uOutputFrame:vec4<f32>,
|
|
673
|
+
uGlobalFrame:vec4<f32>,
|
|
674
|
+
uOutputTexture:vec4<f32>,
|
|
675
|
+
};
|
|
676
|
+
|
|
677
|
+
struct MaskUniforms {
|
|
678
|
+
uFilterMatrix:mat3x3<f32>,
|
|
679
|
+
uMaskClamp:vec4<f32>,
|
|
680
|
+
uAlpha:f32,
|
|
681
|
+
uInverse:f32,
|
|
682
|
+
};
|
|
683
|
+
|
|
684
|
+
@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
|
|
685
|
+
@group(0) @binding(1) var uTexture: texture_2d<f32>;
|
|
686
|
+
@group(0) @binding(2) var uSampler : sampler;
|
|
687
|
+
|
|
688
|
+
@group(1) @binding(0) var<uniform> filterUniforms : MaskUniforms;
|
|
689
|
+
@group(1) @binding(1) var uMaskTexture: texture_2d<f32>;
|
|
690
|
+
|
|
691
|
+
struct VSOutput {
|
|
692
|
+
@builtin(position) position: vec4<f32>,
|
|
693
|
+
@location(0) uv : vec2<f32>,
|
|
694
|
+
@location(1) filterUv : vec2<f32>,
|
|
695
|
+
};
|
|
696
|
+
|
|
697
|
+
fn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>
|
|
698
|
+
{
|
|
699
|
+
var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
|
|
700
|
+
|
|
701
|
+
position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
|
|
702
|
+
position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
|
|
703
|
+
|
|
704
|
+
return vec4(position, 0.0, 1.0);
|
|
705
|
+
}
|
|
706
|
+
|
|
707
|
+
fn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
708
|
+
{
|
|
709
|
+
return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
|
|
710
|
+
}
|
|
711
|
+
|
|
712
|
+
fn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
713
|
+
{
|
|
714
|
+
return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
fn getFilterCoord(aPosition:vec2<f32> ) -> vec2<f32>
|
|
718
|
+
{
|
|
719
|
+
return ( filterUniforms.uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
fn getSize() -> vec2<f32>
|
|
723
|
+
{
|
|
724
|
+
return gfu.uGlobalFrame.zw;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
@vertex
|
|
728
|
+
fn mainVertex(
|
|
729
|
+
@location(0) aPosition : vec2<f32>,
|
|
730
|
+
) -> VSOutput {
|
|
731
|
+
return VSOutput(
|
|
732
|
+
filterVertexPosition(aPosition),
|
|
733
|
+
filterTextureCoord(aPosition),
|
|
734
|
+
getFilterCoord(aPosition)
|
|
735
|
+
);
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
@fragment
|
|
739
|
+
fn mainFragment(
|
|
740
|
+
@location(0) uv: vec2<f32>,
|
|
741
|
+
@location(1) filterUv: vec2<f32>,
|
|
742
|
+
@builtin(position) position: vec4<f32>
|
|
743
|
+
) -> @location(0) vec4<f32> {
|
|
744
|
+
|
|
745
|
+
var maskClamp = filterUniforms.uMaskClamp;
|
|
746
|
+
var uAlpha = filterUniforms.uAlpha;
|
|
747
|
+
|
|
748
|
+
var clip = step(3.5,
|
|
749
|
+
step(maskClamp.x, filterUv.x) +
|
|
750
|
+
step(maskClamp.y, filterUv.y) +
|
|
751
|
+
step(filterUv.x, maskClamp.z) +
|
|
752
|
+
step(filterUv.y, maskClamp.w));
|
|
753
|
+
|
|
754
|
+
var mask = textureSample(uMaskTexture, uSampler, filterUv);
|
|
755
|
+
var source = textureSample(uTexture, uSampler, uv);
|
|
756
|
+
var alphaMul = 1.0 - uAlpha * (1.0 - mask.a);
|
|
757
|
+
|
|
758
|
+
var a: f32 = alphaMul * mask.r * uAlpha * clip;
|
|
759
|
+
|
|
760
|
+
if (filterUniforms.uInverse == 1.0) {
|
|
761
|
+
a = 1.0 - a;
|
|
762
|
+
}
|
|
763
|
+
|
|
764
|
+
return source * a;
|
|
765
|
+
}
|
|
766
|
+
`});var Vp,IR=m(()=>{pe();bi();En();Qt();QE();sl();mR();ER();_R();Vp=class extends bn{constructor(e){let{sprite:t,...i}=e,n=new bo(t.texture),s=new ve({uFilterMatrix:{value:new O,type:"mat3x3<f32>"},uMaskClamp:{value:n.uClampFrame,type:"vec4<f32>"},uAlpha:{value:1,type:"f32"},uInverse:{value:e.inverse?1:0,type:"f32"}}),o=wt.from({vertex:{source:zI,entryPoint:"mainVertex"},fragment:{source:zI,entryPoint:"mainFragment"}}),a=bt.from({vertex:yR,fragment:gR,name:"mask-filter"});super({...i,gpuProgram:o,glProgram:a,resources:{filterUniforms:s,uMaskTexture:t.texture.source}}),this.sprite=t,this._textureMatrix=n}set inverse(e){this.resources.filterUniforms.uniforms.uInverse=e?1:0}get inverse(){return this.resources.filterUniforms.uniforms.uInverse===1}apply(e,t,i,n){this._textureMatrix.texture=this.sprite.texture,e.calculateSpriteMatrix(this.resources.filterUniforms.uniforms.uFilterMatrix,this.sprite).prepend(this._textureMatrix.mapCoord),this.resources.uMaskTexture=this.sprite.texture.source,e.applyFilter(this,t,i,n)}}});var B7,XI,El,vR=m(()=>{M();bf();IR();Pt();du();wu();Bt();me();Hr();ar();B7=new ge,XI=class extends mi{constructor(){super(),this.filters=[new Vp({sprite:new mt(F.EMPTY),inverse:!1,resolution:"inherit",antialias:"inherit"})]}get sprite(){return this.filters[0].sprite}set sprite(e){this.filters[0].sprite=e}get inverse(){return this.filters[0].inverse}set inverse(e){this.filters[0].inverse=e}},El=class{constructor(e){this._activeMaskStage=[],this._renderer=e}push(e,t,i){let n=this._renderer;if(n.renderPipes.batch.break(i),i.add({renderPipeId:"alphaMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1,maskedContainer:t}),e.inverse=t._maskOptions.inverse,e.renderMaskToTexture){let s=e.mask;s.includeInBuild=!0,s.collectRenderables(i,n,null),s.includeInBuild=!1}n.renderPipes.batch.break(i),i.add({renderPipeId:"alphaMask",action:"pushMaskEnd",mask:e,maskedContainer:t,inverse:t._maskOptions.inverse,canBundle:!1})}pop(e,t,i){this._renderer.renderPipes.batch.break(i),i.add({renderPipeId:"alphaMask",action:"popMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1})}execute(e){let t=this._renderer,i=e.mask.renderMaskToTexture;if(e.action==="pushMaskBegin"){let n=re.get(XI);if(n.inverse=e.inverse,i){e.mask.mask.measurable=!0;let s=vo(e.mask.mask,!0,B7);e.mask.mask.measurable=!1,s.ceil();let o=t.renderTarget.renderTarget.colorTexture.source,a=Se.getOptimalTexture(s.width,s.height,o._resolution,o.antialias);t.renderTarget.push(a,!0),t.globalUniforms.push({offset:s,worldColor:4294967295});let l=n.sprite;l.texture=a,l.worldTransform.tx=s.minX,l.worldTransform.ty=s.minY,this._activeMaskStage.push({filterEffect:n,maskedContainer:e.maskedContainer,filterTexture:a})}else n.sprite=e.mask.mask,this._activeMaskStage.push({filterEffect:n,maskedContainer:e.maskedContainer})}else if(e.action==="pushMaskEnd"){let n=this._activeMaskStage[this._activeMaskStage.length-1];i&&(t.type===je.WEBGL&&t.renderTarget.finishRenderPass(),t.renderTarget.pop(),t.globalUniforms.pop()),t.filter.push({renderPipeId:"filter",action:"pushFilter",container:n.maskedContainer,filterEffect:n.filterEffect,canBundle:!1})}else if(e.action==="popMaskEnd"){t.filter.pop();let n=this._activeMaskStage.pop();i&&Se.returnTexture(n.filterTexture),re.return(n.filterEffect)}}destroy(){this._renderer=null,this._activeMaskStage=null}};El.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"alphaMask"}});var _l,xR=m(()=>{M();_l=class{constructor(e){this._colorStack=[],this._colorStackIndex=0,this._currentColor=0,this._renderer=e}buildStart(){this._colorStack[0]=15,this._colorStackIndex=1,this._currentColor=15}push(e,t,i){this._renderer.renderPipes.batch.break(i);let s=this._colorStack;s[this._colorStackIndex]=s[this._colorStackIndex-1]&e.mask;let o=this._colorStack[this._colorStackIndex];o!==this._currentColor&&(this._currentColor=o,i.add({renderPipeId:"colorMask",colorMask:o,canBundle:!1})),this._colorStackIndex++}pop(e,t,i){this._renderer.renderPipes.batch.break(i);let s=this._colorStack;this._colorStackIndex--;let o=s[this._colorStackIndex-1];o!==this._currentColor&&(this._currentColor=o,i.add({renderPipeId:"colorMask",colorMask:o,canBundle:!1}))}execute(e){this._renderer.colorMask.setMask(e.colorMask)}destroy(){this._colorStack=null}};_l.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"colorMask"}});var Il,BR=m(()=>{M();oa();us();Il=class{constructor(e){this._maskStackHash={},this._maskHash=new WeakMap,this._renderer=e}push(e,t,i){var n;let s=e,o=this._renderer;o.renderPipes.batch.break(i),o.renderPipes.blendMode.setBlendMode(s.mask,"none",i),i.add({renderPipeId:"stencilMask",action:"pushMaskBegin",mask:e,inverse:t._maskOptions.inverse,canBundle:!1});let a=s.mask;a.includeInBuild=!0,this._maskHash.has(s)||this._maskHash.set(s,{instructionsStart:0,instructionsLength:0});let l=this._maskHash.get(s);l.instructionsStart=i.instructionSize,a.collectRenderables(i,o,null),a.includeInBuild=!1,o.renderPipes.batch.break(i),i.add({renderPipeId:"stencilMask",action:"pushMaskEnd",mask:e,inverse:t._maskOptions.inverse,canBundle:!1});let c=i.instructionSize-l.instructionsStart-1;l.instructionsLength=c;let u=o.renderTarget.renderTarget.uid;(n=this._maskStackHash)[u]??(n[u]=0)}pop(e,t,i){let n=e,s=this._renderer;s.renderPipes.batch.break(i),s.renderPipes.blendMode.setBlendMode(n.mask,"none",i),i.add({renderPipeId:"stencilMask",action:"popMaskBegin",inverse:t._maskOptions.inverse,canBundle:!1});let o=this._maskHash.get(e);for(let a=0;a<o.instructionsLength;a++)i.instructions[i.instructionSize++]=i.instructions[o.instructionsStart++];i.add({renderPipeId:"stencilMask",action:"popMaskEnd",canBundle:!1})}execute(e){var t;let i=this._renderer,n=i.renderTarget.renderTarget.uid,s=(t=this._maskStackHash)[n]??(t[n]=0);e.action==="pushMaskBegin"?(i.renderTarget.ensureDepthStencil(),i.stencil.setStencilMode(Ge.RENDERING_MASK_ADD,s),s++,i.colorMask.setMask(0)):e.action==="pushMaskEnd"?(e.inverse?i.stencil.setStencilMode(Ge.INVERSE_MASK_ACTIVE,s):i.stencil.setStencilMode(Ge.MASK_ACTIVE,s),i.colorMask.setMask(15)):e.action==="popMaskBegin"?(i.colorMask.setMask(0),s!==0?i.stencil.setStencilMode(Ge.RENDERING_MASK_REMOVE,s):(i.renderTarget.clear(null,ct.STENCIL),i.stencil.setStencilMode(Ge.DISABLED,s)),s--):e.action==="popMaskEnd"&&(e.inverse?i.stencil.setStencilMode(Ge.INVERSE_MASK_ACTIVE,s):i.stencil.setStencilMode(Ge.MASK_ACTIVE,s),i.colorMask.setMask(15)),this._maskStackHash[n]=s}destroy(){this._renderer=null,this._maskStackHash=null,this._maskHash=null}};Il.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"stencilMask"}});var JI,bR,wR=m(()=>{pt();M();JI=class CR{constructor(){this.clearBeforeRender=!0,this._backgroundColor=new le(0),this.color=this._backgroundColor,this.alpha=1}init(e){e={...CR.defaultOptions,...e},this.clearBeforeRender=e.clearBeforeRender,this.color=e.background||e.backgroundColor||this._backgroundColor,this.alpha=e.backgroundAlpha,this._backgroundColor.setAlpha(e.backgroundAlpha)}get color(){return this._backgroundColor}set color(e){this._backgroundColor.setValue(e)}get alpha(){return this._backgroundColor.alpha}set alpha(e){this._backgroundColor.setAlpha(e)}get colorRgba(){return this._backgroundColor.toArray()}destroy(){}};JI.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"background",priority:0};JI.defaultOptions={backgroundAlpha:1,backgroundColor:0,clearBeforeRender:!0};bR=JI});var vl,xl,QR=m(()=>{M();bf();Be();vl={};N.handle(v.BlendMode,r=>{if(!r.name)throw new Error("BlendMode extension must have a name property");vl[r.name]=r.ref},r=>{delete vl[r.name]});xl=class{constructor(e){this._isAdvanced=!1,this._filterHash=Object.create(null),this._renderer=e,this._renderer.runners.prerender.add(this)}prerender(){this._activeBlendMode="normal",this._isAdvanced=!1}setBlendMode(e,t,i){if(this._activeBlendMode===t){this._isAdvanced&&this._renderableList.push(e);return}this._activeBlendMode=t,this._isAdvanced&&this._endAdvancedBlendMode(i),this._isAdvanced=!!vl[t],this._isAdvanced&&(this._beginAdvancedBlendMode(i),this._renderableList.push(e))}_beginAdvancedBlendMode(e){this._renderer.renderPipes.batch.break(e);let t=this._activeBlendMode;if(!vl[t]){q(`Unable to assign BlendMode: '${t}'. You may want to include: import 'pixi.js/advanced-blend-modes'`);return}let i=this._filterHash[t];i||(i=this._filterHash[t]=new mi,i.filters=[new vl[t]]);let n={renderPipeId:"filter",action:"pushFilter",renderables:[],filterEffect:i,canBundle:!1};this._renderableList=n.renderables,e.add(n)}_endAdvancedBlendMode(e){this._renderableList=null,this._renderer.renderPipes.batch.break(e),e.add({renderPipeId:"filter",action:"popFilter",canBundle:!1})}buildStart(){this._isAdvanced=!1}buildEnd(e){this._isAdvanced&&this._endAdvancedBlendMode(e)}destroy(){this._renderer=null,this._renderableList=null;for(let e in this._filterHash)this._filterHash[e].destroy();this._filterHash=null}};xl.extension={type:[v.WebGLPipes,v.WebGPUPipes,v.CanvasPipes],name:"blendMode"}});var ZI,$I,TR,MR=m(()=>{M();Br();me();ZI={png:"image/png",jpg:"image/jpeg",webp:"image/webp"},$I=class SR{constructor(e){this._renderer=e}_normalizeOptions(e,t={}){return e instanceof Ae||e instanceof F?{target:e,...t}:{...t,...e}}async image(e){let t=new Image;return t.src=await this.base64(e),t}async base64(e){e=this._normalizeOptions(e,SR.defaultImageOptions);let{format:t,quality:i}=e,n=this.canvas(e);if(n.toBlob!==void 0)return new Promise((s,o)=>{n.toBlob(a=>{if(!a){o(new Error("ICanvas.toBlob failed!"));return}let l=new FileReader;l.onload=()=>s(l.result),l.onerror=o,l.readAsDataURL(a)},ZI[t],i)});if(n.toDataURL!==void 0)return n.toDataURL(ZI[t],i);if(n.convertToBlob!==void 0){let s=await n.convertToBlob({type:ZI[t],quality:i});return new Promise((o,a)=>{let l=new FileReader;l.onload=()=>o(l.result),l.onerror=a,l.readAsDataURL(s)})}throw new Error("Extract.base64() requires ICanvas.toDataURL, ICanvas.toBlob, or ICanvas.convertToBlob to be implemented")}canvas(e){e=this._normalizeOptions(e);let t=e.target,i=this._renderer;if(t instanceof F)return i.texture.generateCanvas(t);let n=i.textureGenerator.generateTexture(e),s=i.texture.generateCanvas(n);return n.destroy(!0),s}pixels(e){e=this._normalizeOptions(e);let t=e.target,i=this._renderer,n=t instanceof F?t:i.textureGenerator.generateTexture(e),s=i.texture.getPixels(n);return t instanceof Ae&&n.destroy(!0),s}texture(e){return e=this._normalizeOptions(e),e.target instanceof F?e.target:this._renderer.textureGenerator.generateTexture(e)}download(e){e=this._normalizeOptions(e);let t=this.canvas(e),i=document.createElement("a");i.download=e.filename??"image.png",i.href=t.toDataURL("image/png"),document.body.appendChild(i),i.click(),document.body.removeChild(i)}log(e){let t=e.width??200;e=this._normalizeOptions(e);let i=this.canvas(e),n=i.toDataURL();console.log(`[Pixi Texture] ${i.width}px ${i.height}px`);let s=["font-size: 1px;",`padding: ${t}px 300px;`,`background: url(${n}) no-repeat;`,"background-size: contain;"].join(" ");console.log("%c ",s)}destroy(){this._renderer=null}};$I.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"extract"};$I.defaultImageOptions={format:"png",quality:1};TR=$I});var Yp,PR=m(()=>{qt();me();Yp=class r extends F{static create(e){return new r({source:new Ie(e)})}resize(e,t,i){return this.source.resize(e,t,i),this}}});var C7,b7,w7,Bl,DR=m(()=>{pt();M();pe();st();Pt();Mf();Br();PR();C7=new ee,b7=new ge,w7=[0,0,0,0],Bl=class{constructor(e){this._renderer=e}generateTexture(e){e instanceof Ae&&(e={target:e,frame:void 0,textureSourceOptions:{},resolution:void 0});let t=e.resolution||this._renderer.resolution,i=e.antialias||this._renderer.view.antialias,n=e.target,s=e.clearColor;s?s=Array.isArray(s)&&s.length===4?s:le.shared.setValue(s).toArray():s=w7;let o=e.frame?.copyTo(C7)||Bo(n,b7).rectangle;o.width=Math.max(o.width,1/t)|0,o.height=Math.max(o.height,1/t)|0;let a=Yp.create({...e.textureSourceOptions,width:o.width,height:o.height,resolution:t,antialias:i}),l=O.shared.translate(-o.x,-o.y);return this._renderer.render({container:n,transform:l,target:a,clearColor:s}),a.source.updateMipmaps(),a}destroy(){this._renderer=null}};Bl.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"textureGenerator"}});var Cl,RR=m(()=>{M();pe();Mt();Vo();gn();ar();Qt();Cl=class{constructor(e){this._stackIndex=0,this._globalUniformDataStack=[],this._uniformsPool=[],this._activeUniforms=[],this._bindGroupPool=[],this._activeBindGroups=[],this._renderer=e}reset(){this._stackIndex=0;for(let e=0;e<this._activeUniforms.length;e++)this._uniformsPool.push(this._activeUniforms[e]);for(let e=0;e<this._activeBindGroups.length;e++)this._bindGroupPool.push(this._activeBindGroups[e]);this._activeUniforms.length=0,this._activeBindGroups.length=0}start(e){this.reset(),this.push(e)}bind({size:e,projectionMatrix:t,worldTransformMatrix:i,worldColor:n,offset:s}){let o=this._renderer.renderTarget.renderTarget,a=this._stackIndex?this._globalUniformDataStack[this._stackIndex-1]:{projectionData:o,worldTransformMatrix:new O,worldColor:4294967295,offset:new j},l={projectionMatrix:t||this._renderer.renderTarget.projectionMatrix,resolution:e||o.size,worldTransformMatrix:i||a.worldTransformMatrix,worldColor:n||a.worldColor,offset:s||a.offset,bindGroup:null},c=this._uniformsPool.pop()||this._createUniforms();this._activeUniforms.push(c);let u=c.uniforms;u.uProjectionMatrix=l.projectionMatrix,u.uResolution=l.resolution,u.uWorldTransformMatrix.copyFrom(l.worldTransformMatrix),u.uWorldTransformMatrix.tx-=l.offset.x,u.uWorldTransformMatrix.ty-=l.offset.y,Xr(l.worldColor,u.uWorldColorAlpha,0),c.update();let A;this._renderer.renderPipes.uniformBatch?A=this._renderer.renderPipes.uniformBatch.getUniformBindGroup(c,!1):(A=this._bindGroupPool.pop()||new lt,this._activeBindGroups.push(A),A.setResource(c,0)),l.bindGroup=A,this._currentGlobalUniformData=l}push(e){this.bind(e),this._globalUniformDataStack[this._stackIndex++]=this._currentGlobalUniformData}pop(){this._currentGlobalUniformData=this._globalUniformDataStack[--this._stackIndex-1],this._renderer.type===je.WEBGL&&this._currentGlobalUniformData.bindGroup.resources[0].update()}get bindGroup(){return this._currentGlobalUniformData.bindGroup}get globalUniformData(){return this._currentGlobalUniformData}get uniformGroup(){return this._currentGlobalUniformData.bindGroup.resources[0]}_createUniforms(){return new ve({uProjectionMatrix:{value:new O,type:"mat3x3<f32>"},uWorldTransformMatrix:{value:new O,type:"mat3x3<f32>"},uWorldColorAlpha:{value:new Float32Array(4),type:"vec4<f32>"},uResolution:{value:[0,0],type:"vec2<f32>"}},{isStatic:!0})}destroy(){this._renderer=null}};Cl.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"globalUniforms"}});var Q7,bl,FR=m(()=>{M();To();Q7=1,bl=class{constructor(){this._tasks=[],this._offset=0}init(){ot.system.add(this._update,this)}repeat(e,t,i=!0){let n=Q7++,s=0;return i&&(this._offset+=1e3,s=this._offset),this._tasks.push({func:e,duration:t,start:performance.now(),offset:s,last:performance.now(),repeat:!0,id:n}),n}cancel(e){for(let t=0;t<this._tasks.length;t++)if(this._tasks[t].id===e){this._tasks.splice(t,1);return}}_update(){let e=performance.now();for(let t=0;t<this._tasks.length;t++){let i=this._tasks[t];if(e-i.offset-i.last>=i.duration){let n=e-i.start;i.func(n),i.last=e}}}destroy(){ot.system.remove(this._update,this),this._tasks.length=0}};bl.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"scheduler",priority:0}});function OR(r){if(!kR){if(X.get().getNavigator().userAgent.toLowerCase().indexOf("chrome")>-1){let e=[`%c %c %c %c %c PixiJS %c v${ua} (${r}) http://www.pixijs.com/
|
|
767
|
+
|
|
768
|
+
`,"background: #E72264; padding:5px 0;","background: #6CA2EA; padding:5px 0;","background: #B5D33D; padding:5px 0;","background: #FED23F; padding:5px 0;","color: #FFFFFF; background: #E72264; padding:5px 0;","color: #E72264; background: #FFFFFF; padding:5px 0;"];globalThis.console.log(...e)}else globalThis.console&&globalThis.console.log(`PixiJS ${ua} - ${r} - http://www.pixijs.com/`);kR=!0}}var kR,GR=m(()=>{De();jI();kR=!1});var la,UR=m(()=>{M();GR();ar();la=class{constructor(e){this._renderer=e}init(e){if(e.hello){let t=this._renderer.name;this._renderer.type===je.WEBGL&&(t+=` ${this._renderer.context.webGLVersion}`),OR(t)}}};la.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"hello",priority:-2};la.defaultOptions={hello:!1}});function LR(r){let e=!1;for(let i in r)if(r[i]==null){e=!0;break}if(!e)return r;let t=Object.create(null);for(let i in r){let n=r[i];n&&(t[i]=n)}return t}function NR(r){let e=0;for(let t=0;t<r.length;t++)r[t]==null?e++:r[t-e]=r[t];return r.length-=e,r}var HR=m(()=>{"use strict"});var S7,ev,qR,jR=m(()=>{M();HR();S7=0,ev=class WR{constructor(e){this._managedRenderables=[],this._managedHashes=[],this._managedArrays=[],this._renderer=e}init(e){e={...WR.defaultOptions,...e},this.maxUnusedTime=e.renderableGCMaxUnusedTime,this._frequency=e.renderableGCFrequency,this.enabled=e.renderableGCActive}get enabled(){return!!this._handler}set enabled(e){this.enabled!==e&&(e?(this._handler=this._renderer.scheduler.repeat(()=>this.run(),this._frequency,!1),this._hashHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedHashes)t.context[t.hash]=LR(t.context[t.hash])},this._frequency),this._arrayHandler=this._renderer.scheduler.repeat(()=>{for(let t of this._managedArrays)NR(t.context[t.hash])},this._frequency)):(this._renderer.scheduler.cancel(this._handler),this._renderer.scheduler.cancel(this._hashHandler),this._renderer.scheduler.cancel(this._arrayHandler)))}addManagedHash(e,t){this._managedHashes.push({context:e,hash:t})}addManagedArray(e,t){this._managedArrays.push({context:e,hash:t})}prerender({container:e}){this._now=performance.now(),e.renderGroup.gcTick=S7++,this._updateInstructionGCTick(e.renderGroup,e.renderGroup.gcTick)}addRenderable(e){this.enabled&&(e._lastUsed===-1&&(this._managedRenderables.push(e),e.once("destroyed",this._removeRenderable,this)),e._lastUsed=this._now)}run(){let e=this._now,t=this._managedRenderables,i=this._renderer.renderPipes,n=0;for(let s=0;s<t.length;s++){let o=t[s];if(o===null){n++;continue}let a=o.renderGroup??o.parentRenderGroup,l=a?.instructionSet?.gcTick??-1;if((a?.gcTick??0)===l&&(o._lastUsed=e),e-o._lastUsed>this.maxUnusedTime){if(!o.destroyed){let c=i;a&&(a.structureDidChange=!0),c[o.renderPipeId].destroyRenderable(o)}o._lastUsed=-1,n++,o.off("destroyed",this._removeRenderable,this)}else t[s-n]=o}t.length-=n}destroy(){this.enabled=!1,this._renderer=null,this._managedRenderables.length=0,this._managedHashes.length=0,this._managedArrays.length=0}_removeRenderable(e){let t=this._managedRenderables.indexOf(e);t>=0&&(e.off("destroyed",this._removeRenderable,this),this._managedRenderables[t]=null)}_updateInstructionGCTick(e,t){e.instructionSet.gcTick=t;for(let i of e.renderGroupChildren)this._updateInstructionGCTick(i,t)}};ev.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"renderableGC",priority:0};ev.defaultOptions={renderableGCActive:!0,renderableGCMaxUnusedTime:6e4,renderableGCFrequency:3e4};qR=ev});var tv,YR,KR=m(()=>{M();tv=class VR{constructor(e){this._renderer=e,this.count=0,this.checkCount=0}init(e){e={...VR.defaultOptions,...e},this.checkCountMax=e.textureGCCheckCountMax,this.maxIdle=e.textureGCAMaxIdle??e.textureGCMaxIdle,this.active=e.textureGCActive}postrender(){this._renderer.renderingToScreen&&(this.count++,this.active&&(this.checkCount++,this.checkCount>this.checkCountMax&&(this.checkCount=0,this.run())))}run(){let e=this._renderer.texture.managedTextures;for(let t=0;t<e.length;t++){let i=e[t];i.autoGarbageCollect&&i.resource&&i._touched>-1&&this.count-i._touched>this.maxIdle&&(i._touched=-1,i.unload())}}destroy(){this._renderer=null}};tv.extension={type:[v.WebGLSystem,v.WebGPUSystem],name:"textureGC"};tv.defaultOptions={textureGCActive:!0,textureGCAMaxIdle:null,textureGCMaxIdle:60*60,textureGCCheckCountMax:600};YR=tv});var zR,wl,rv=m(()=>{gt();qt();me();zR=class XR{constructor(e={}){if(this.uid=fe("renderTarget"),this.colorTextures=[],this.dirtyId=0,this.isRoot=!1,this._size=new Float32Array(2),this._managedColorTextures=!1,e={...XR.defaultOptions,...e},this.stencil=e.stencil,this.depth=e.depth,this.isRoot=e.isRoot,typeof e.colorTextures=="number"){this._managedColorTextures=!0;for(let t=0;t<e.colorTextures;t++)this.colorTextures.push(new Ie({width:e.width,height:e.height,resolution:e.resolution,antialias:e.antialias}))}else{this.colorTextures=[...e.colorTextures.map(i=>i.source)];let t=this.colorTexture.source;this.resize(t.width,t.height,t._resolution)}this.colorTexture.source.on("resize",this.onSourceResize,this),(e.depthStencilTexture||this.stencil)&&(e.depthStencilTexture instanceof F||e.depthStencilTexture instanceof Ie?this.depthStencilTexture=e.depthStencilTexture.source:this.ensureDepthStencilTexture())}get size(){let e=this._size;return e[0]=this.pixelWidth,e[1]=this.pixelHeight,e}get width(){return this.colorTexture.source.width}get height(){return this.colorTexture.source.height}get pixelWidth(){return this.colorTexture.source.pixelWidth}get pixelHeight(){return this.colorTexture.source.pixelHeight}get resolution(){return this.colorTexture.source._resolution}get colorTexture(){return this.colorTextures[0]}onSourceResize(e){this.resize(e.width,e.height,e._resolution,!0)}ensureDepthStencilTexture(){this.depthStencilTexture||(this.depthStencilTexture=new Ie({width:this.width,height:this.height,resolution:this.resolution,format:"depth24plus-stencil8",autoGenerateMipmaps:!1,antialias:!1,mipLevelCount:1}))}resize(e,t,i=this.resolution,n=!1){this.dirtyId++,this.colorTextures.forEach((s,o)=>{n&&o===0||s.source.resize(e,t,i)}),this.depthStencilTexture&&this.depthStencilTexture.source.resize(e,t,i)}destroy(){this.colorTexture.source.off("resize",this.onSourceResize,this),this._managedColorTextures&&this.colorTextures.forEach(e=>{e.destroy()}),this.depthStencilTexture&&(this.depthStencilTexture.destroy(),delete this.depthStencilTexture)}};zR.defaultOptions={width:0,height:0,resolution:1,colorTextures:1,stencil:!1,depth:!1,antialias:!1,isRoot:!1};wl=zR});function Kp(r,e){if(!Ql.has(r)){let t=new F({source:new Ct({resource:r,...e})}),i=()=>{Ql.get(r)===t&&Ql.delete(r)};t.once("destroy",i),t.source.once("destroy",i),Ql.set(r,t)}return Ql.get(r)}var Ql,iv=m(()=>{Po();me();Ql=new Map});var nv,ZR,$R=m(()=>{De();M();st();Pe();rv();iv();nv=class JR{get autoDensity(){return this.texture.source.autoDensity}set autoDensity(e){this.texture.source.autoDensity=e}get resolution(){return this.texture.source._resolution}set resolution(e){this.texture.source.resize(this.texture.source.width,this.texture.source.height,e)}init(e){e={...JR.defaultOptions,...e},e.view&&(W(J,"ViewSystem.view has been renamed to ViewSystem.canvas"),e.canvas=e.view),this.screen=new ee(0,0,e.width,e.height),this.canvas=e.canvas||X.get().createCanvas(),this.antialias=!!e.antialias,this.texture=Kp(this.canvas,e),this.renderTarget=new wl({colorTextures:[this.texture],depth:!!e.depth,isRoot:!0}),this.texture.source.transparent=e.backgroundAlpha<1,this.resolution=e.resolution}resize(e,t,i){this.texture.source.resize(e,t,i),this.screen.width=this.texture.frame.width,this.screen.height=this.texture.frame.height}destroy(e=!1){(typeof e=="boolean"?e:!!e?.removeView)&&this.canvas.parentNode&&this.canvas.parentNode.removeChild(this.canvas)}};nv.extension={type:[v.WebGLSystem,v.WebGPUSystem,v.CanvasSystem],name:"view",priority:0};nv.defaultOptions={width:800,height:600,autoDensity:!1,antialias:!1};ZR=nv});var zp,Xp,sv=m(()=>{nR();sR();hR();dR();VI();pR();vR();xR();BR();wR();QR();MR();DR();RR();FR();UR();jR();KR();$R();zp=[bR,Cl,la,ZR,pl,YR,Bl,TR,yl,qR,bl],Xp=[xl,KI,gl,dl,El,Il,_l,Al]});var Sl,eF=m(()=>{M();Sl=class{constructor(e){this._hash=Object.create(null),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_hash")}contextChange(e){this._gpu=e}getBindGroup(e,t,i){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,i)}_createBindGroup(e,t,i){let n=this._gpu.device,s=t.layout[i],o=[],a=this._renderer;for(let u in s){let A=e.resources[u]??e.resources[s[u]],h;if(A._resourceType==="uniformGroup"){let d=A;a.ubo.updateUniformGroup(d);let f=d.buffer;h={buffer:a.buffer.getGPUBuffer(f),offset:0,size:f.descriptor.size}}else if(A._resourceType==="buffer"){let d=A;h={buffer:a.buffer.getGPUBuffer(d),offset:0,size:d.descriptor.size}}else if(A._resourceType==="bufferResource"){let d=A;h={buffer:a.buffer.getGPUBuffer(d.buffer),offset:d.offset,size:d.size}}else if(A._resourceType==="textureSampler"){let d=A;h=a.texture.getGpuSampler(d)}else if(A._resourceType==="textureSource"){let d=A;h=a.texture.getGpuSource(d).createView({})}o.push({binding:s[u],resource:h})}let l=a.shader.getProgramData(t).bindGroups[i],c=n.createBindGroup({layout:l,entries:o});return this._hash[e._key]=c,c}destroy(){for(let e of Object.keys(this._hash))this._hash[e]=null;this._hash=null,this._renderer=null}};Sl.extension={type:[v.WebGPUSystem],name:"bindGroup"}});var Tl,tF=m(()=>{M();s_();Tl=class{constructor(e){this._gpuBuffers=Object.create(null),this._managedBuffers=[],e.renderableGC.addManagedHash(this,"_gpuBuffers")}contextChange(e){this._gpu=e}getGPUBuffer(e){return this._gpuBuffers[e.uid]||this.createGPUBuffer(e)}updateBuffer(e){let t=this._gpuBuffers[e.uid]||this.createGPUBuffer(e),i=e.data;return e._updateID&&i&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,i.buffer,0,(e._updateSize||i.byteLength)+3&-4)),t}destroyAll(){for(let e in this._gpuBuffers)this._gpuBuffers[e].destroy();this._gpuBuffers={}}createGPUBuffer(e){this._gpuBuffers[e.uid]||(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this),e.on("destroy",this.onBufferDestroy,this),this._managedBuffers.push(e));let t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e.data&&(Mu(e.data.buffer,t.getMappedRange()),t.unmap()),this._gpuBuffers[e.uid]=t,t}onBufferChange(e){this._gpuBuffers[e.uid].destroy(),e._updateID=0,this._gpuBuffers[e.uid]=this.createGPUBuffer(e)}onBufferDestroy(e){this._managedBuffers.splice(this._managedBuffers.indexOf(e),1),this._destroyBuffer(e)}destroy(){this._managedBuffers.forEach(e=>this._destroyBuffer(e)),this._managedBuffers=null,this._gpuBuffers=null}_destroyBuffer(e){this._gpuBuffers[e.uid].destroy(),e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this),e.off("destroy",this.onBufferDestroy,this),this._gpuBuffers[e.uid]=null}};Tl.extension={type:[v.WebGPUSystem],name:"buffer"}});var Ml,rF=m(()=>{M();Ml=class{constructor(e){this._colorMaskCache=15,this._renderer=e}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.pipeline.setColorMask(e))}destroy(){this._renderer=null,this._colorMaskCache=null}};Ml.extension={type:[v.WebGPUSystem],name:"colorMask"}});var ca,iF=m(()=>{De();M();ca=class{constructor(e){this._renderer=e}async init(e){return this._initPromise?this._initPromise:(this._initPromise=this._createDeviceAndAdaptor(e).then(t=>{this.gpu=t,this._renderer.runners.contextChange.emit(this.gpu)}),this._initPromise)}contextChange(e){this._renderer.gpu=e}async _createDeviceAndAdaptor(e){let t=await X.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),i=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(s=>t.features.has(s)),n=await t.requestDevice({requiredFeatures:i});return{adapter:t,device:n}}destroy(){this.gpu=null,this._renderer=null}};ca.extension={type:[v.WebGPUSystem],name:"device"};ca.defaultOptions={powerPreference:void 0,forceFallbackAdapter:!1}});var Pl,nF=m(()=>{M();Pl=class{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder()}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor)}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1)}setPipelineFromGeometryProgramAndState(e,t,i,n){let s=this._renderer.pipeline.getPipeline(e,t,i,n);this.setPipeline(s)}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e))}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)))}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;let t=e.data.BYTES_PER_ELEMENT===2?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t)}resetBindGroup(e){this._boundBindGroup[e]=null}setBindGroup(e,t,i){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.textureGC.count);let n=this._renderer.bindGroup.getBindGroup(t,i,e);this.renderPassEncoder.setBindGroup(e,n)}setGeometry(e,t){let i=this._renderer.pipeline.getBufferNamesToBind(e,t);for(let n in i)this._setVertexBuffer(n,e.attributes[i[n]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer)}_setShaderBindGroups(e,t){for(let i in e.groups){let n=e.groups[i];t||this._syncBindGroup(n),this.setBindGroup(i,n,e.gpuProgram)}}_syncBindGroup(e){for(let t in e.resources){let i=e.resources[t];i.isUniformGroup&&this._renderer.ubo.updateUniformGroup(i)}}draw(e){let{geometry:t,shader:i,state:n,topology:s,size:o,start:a,instanceCount:l,skipSync:c}=e;this.setPipelineFromGeometryProgramAndState(t,i.gpuProgram,n,s),this.setGeometry(t,i.gpuProgram),this._setShaderBindGroups(i,c),t.indexBuffer?this.renderPassEncoder.drawIndexed(o||t.indexBuffer.data.length,l??t.instanceCount,a||0):this.renderPassEncoder.draw(o||t.getSize(),l??t.instanceCount,a||0)}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null)}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null}restoreRenderPass(){let e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,!1,[0,0,0,1]);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);let t=this._boundPipeline,i={...this._boundVertexBuffer},n=this._boundIndexBuffer,s={...this._boundBindGroup};this._clearCache();let o=this._renderer.renderTarget.viewport;this.renderPassEncoder.setViewport(o.x,o.y,o.width,o.height,0,1),this.setPipeline(t);for(let a in i)this._setVertexBuffer(a,i[a]);for(let a in s)this.setBindGroup(a,s[a],null);this._setIndexBuffer(n)}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null}contextChange(e){this._gpu=e}};Pl.extension={type:[v.WebGPUSystem],name:"encoder",priority:1}});var Dl,sF=m(()=>{M();us();Dl=class{constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:Ge.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference)}setStencilMode(e,t){let i=this._renderTargetStencilState[this._activeRenderTarget.uid];i.stencilMode=e,i.stencilReference=t;let n=this._renderer;n.pipeline.setStencilMode(e),n.encoder.renderPassEncoder.setStencilReference(t)}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null}};Dl.extension={type:[v.WebGPUSystem],name:"stencil"}});var Aa,ov=m(()=>{UI();mn();Bi();Aa=class{constructor(e){this._syncFunctionHash=Object.create(null),this._adaptor=e,this._systemCheck()}_systemCheck(){if(!Hp())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}ensureUniformGroup(e){let t=this.getUniformGroupData(e);e.buffer||(e.buffer=new Xe({data:new Float32Array(t.layout.size/4),usage:he.UNIFORM|he.COPY_DST}))}getUniformGroupData(e){return this._syncFunctionHash[e._signature]||this._initUniformGroup(e)}_initUniformGroup(e){let t=e._signature,i=this._syncFunctionHash[t];if(!i){let n=Object.keys(e.uniformStructures).map(a=>e.uniformStructures[a]),s=this._adaptor.createUboElements(n),o=this._generateUboSync(s.uboElements);i=this._syncFunctionHash[t]={layout:s,syncFunction:o}}return this._syncFunctionHash[t]}_generateUboSync(e){return this._adaptor.generateUboSync(e)}syncUniformGroup(e,t,i){let n=this.getUniformGroupData(e);e.buffer||(e.buffer=new Xe({data:new Float32Array(n.layout.size/4),usage:he.UNIFORM|he.COPY_DST}));let s=null;return t||(t=e.buffer.data,s=e.buffer.dataInt32),i||(i=0),n.syncFunction(e.uniforms,t,s,i),!0}updateUniformGroup(e){if(e.isStatic&&!e._dirtyId)return!1;e._dirtyId=0;let t=this.syncUniformGroup(e);return e.buffer.update(),t}destroy(){this._syncFunctionHash=null}}});function oF(r){let e=r.map(i=>({data:i,offset:0,size:0})),t=0;for(let i=0;i<e.length;i++){let n=e[i],s=Rl[n.data.type].size,o=Rl[n.data.type].align;if(!Rl[n.data.type])throw new Error(`[Pixi.js] WebGPU UniformBuffer: Unknown type ${n.data.type}`);n.data.size>1&&(s=Math.max(s,o)*n.data.size),t=Math.ceil(t/o)*o,n.size=s,n.offset=t,t+=s}return t=Math.ceil(t/16)*16,{uboElements:e,size:t}}var Rl,av=m(()=>{"use strict";Rl={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2<i32>":{align:8,size:8},"vec2<u32>":{align:8,size:8},"vec2<f32>":{align:8,size:8},"vec2<f16>":{align:4,size:4},"vec3<i32>":{align:16,size:12},"vec3<u32>":{align:16,size:12},"vec3<f32>":{align:16,size:12},"vec3<f16>":{align:8,size:6},"vec4<i32>":{align:16,size:16},"vec4<u32>":{align:16,size:16},"vec4<f32>":{align:16,size:16},"vec4<f16>":{align:8,size:8},"mat2x2<f32>":{align:8,size:16},"mat2x2<f16>":{align:4,size:8},"mat3x2<f32>":{align:8,size:24},"mat3x2<f16>":{align:4,size:12},"mat4x2<f32>":{align:8,size:32},"mat4x2<f16>":{align:4,size:16},"mat2x3<f32>":{align:16,size:32},"mat2x3<f16>":{align:8,size:16},"mat3x3<f32>":{align:16,size:48},"mat3x3<f16>":{align:8,size:24},"mat4x3<f32>":{align:16,size:64},"mat4x3<f16>":{align:8,size:32},"mat2x4<f32>":{align:16,size:32},"mat2x4<f16>":{align:8,size:16},"mat3x4<f32>":{align:16,size:48},"mat3x4<f16>":{align:8,size:24},"mat4x4<f32>":{align:16,size:64},"mat4x4<f16>":{align:8,size:32}}});var Ti,uv=m(()=>{"use strict";Ti=[{type:"mat3x3<f32>",test:r=>r.value.a!==void 0,ubo:`
|
|
769
|
+
var matrix = uv[name].toArray(true);
|
|
770
|
+
data[offset] = matrix[0];
|
|
771
|
+
data[offset + 1] = matrix[1];
|
|
772
|
+
data[offset + 2] = matrix[2];
|
|
773
|
+
data[offset + 4] = matrix[3];
|
|
774
|
+
data[offset + 5] = matrix[4];
|
|
775
|
+
data[offset + 6] = matrix[5];
|
|
776
|
+
data[offset + 8] = matrix[6];
|
|
777
|
+
data[offset + 9] = matrix[7];
|
|
778
|
+
data[offset + 10] = matrix[8];
|
|
779
|
+
`,uniform:`
|
|
780
|
+
gl.uniformMatrix3fv(ud[name].location, false, uv[name].toArray(true));
|
|
781
|
+
`},{type:"vec4<f32>",test:r=>r.type==="vec4<f32>"&&r.size===1&&r.value.width!==void 0,ubo:`
|
|
782
|
+
v = uv[name];
|
|
783
|
+
data[offset] = v.x;
|
|
784
|
+
data[offset + 1] = v.y;
|
|
785
|
+
data[offset + 2] = v.width;
|
|
786
|
+
data[offset + 3] = v.height;
|
|
787
|
+
`,uniform:`
|
|
788
|
+
cv = ud[name].value;
|
|
789
|
+
v = uv[name];
|
|
790
|
+
if (cv[0] !== v.x || cv[1] !== v.y || cv[2] !== v.width || cv[3] !== v.height) {
|
|
791
|
+
cv[0] = v.x;
|
|
792
|
+
cv[1] = v.y;
|
|
793
|
+
cv[2] = v.width;
|
|
794
|
+
cv[3] = v.height;
|
|
795
|
+
gl.uniform4f(ud[name].location, v.x, v.y, v.width, v.height);
|
|
796
|
+
}
|
|
797
|
+
`},{type:"vec2<f32>",test:r=>r.type==="vec2<f32>"&&r.size===1&&r.value.x!==void 0,ubo:`
|
|
798
|
+
v = uv[name];
|
|
799
|
+
data[offset] = v.x;
|
|
800
|
+
data[offset + 1] = v.y;
|
|
801
|
+
`,uniform:`
|
|
802
|
+
cv = ud[name].value;
|
|
803
|
+
v = uv[name];
|
|
804
|
+
if (cv[0] !== v.x || cv[1] !== v.y) {
|
|
805
|
+
cv[0] = v.x;
|
|
806
|
+
cv[1] = v.y;
|
|
807
|
+
gl.uniform2f(ud[name].location, v.x, v.y);
|
|
808
|
+
}
|
|
809
|
+
`},{type:"vec4<f32>",test:r=>r.type==="vec4<f32>"&&r.size===1&&r.value.red!==void 0,ubo:`
|
|
810
|
+
v = uv[name];
|
|
811
|
+
data[offset] = v.red;
|
|
812
|
+
data[offset + 1] = v.green;
|
|
813
|
+
data[offset + 2] = v.blue;
|
|
814
|
+
data[offset + 3] = v.alpha;
|
|
815
|
+
`,uniform:`
|
|
816
|
+
cv = ud[name].value;
|
|
817
|
+
v = uv[name];
|
|
818
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue || cv[3] !== v.alpha) {
|
|
819
|
+
cv[0] = v.red;
|
|
820
|
+
cv[1] = v.green;
|
|
821
|
+
cv[2] = v.blue;
|
|
822
|
+
cv[3] = v.alpha;
|
|
823
|
+
gl.uniform4f(ud[name].location, v.red, v.green, v.blue, v.alpha);
|
|
824
|
+
}
|
|
825
|
+
`},{type:"vec3<f32>",test:r=>r.type==="vec3<f32>"&&r.size===1&&r.value.red!==void 0,ubo:`
|
|
826
|
+
v = uv[name];
|
|
827
|
+
data[offset] = v.red;
|
|
828
|
+
data[offset + 1] = v.green;
|
|
829
|
+
data[offset + 2] = v.blue;
|
|
830
|
+
`,uniform:`
|
|
831
|
+
cv = ud[name].value;
|
|
832
|
+
v = uv[name];
|
|
833
|
+
if (cv[0] !== v.red || cv[1] !== v.green || cv[2] !== v.blue) {
|
|
834
|
+
cv[0] = v.red;
|
|
835
|
+
cv[1] = v.green;
|
|
836
|
+
cv[2] = v.blue;
|
|
837
|
+
gl.uniform3f(ud[name].location, v.red, v.green, v.blue);
|
|
838
|
+
}
|
|
839
|
+
`}]});function Jp(r,e,t,i){let n=[`
|
|
840
|
+
var v = null;
|
|
841
|
+
var v2 = null;
|
|
842
|
+
var t = 0;
|
|
843
|
+
var index = 0;
|
|
844
|
+
var name = null;
|
|
845
|
+
var arrayOffset = null;
|
|
846
|
+
`],s=0;for(let a=0;a<r.length;a++){let l=r[a],c=l.data.name,u=!1,A=0;for(let h=0;h<Ti.length;h++)if(Ti[h].test(l.data)){A=l.offset/4,n.push(`name = "${c}";`,`offset += ${A-s};`,Ti[h][e]||Ti[h].ubo),u=!0;break}if(!u)if(l.data.size>1)A=l.offset/4,n.push(t(l,A-s));else{let h=i[l.data.type];A=l.offset/4,n.push(`
|
|
847
|
+
v = uv.${c};
|
|
848
|
+
offset += ${A-s};
|
|
849
|
+
${h};
|
|
850
|
+
`)}s=A}let o=n.join(`
|
|
851
|
+
`);return new Function("uv","data","dataInt32","offset",o)}var lv=m(()=>{uv()});function ha(r,e){return`
|
|
852
|
+
for (let i = 0; i < ${r*e}; i++) {
|
|
853
|
+
data[offset + (((i / ${r})|0) * 4) + (i % ${r})] = v[i];
|
|
854
|
+
}
|
|
855
|
+
`}var cv,aF,Av=m(()=>{"use strict";cv={f32:`
|
|
856
|
+
data[offset] = v;`,i32:`
|
|
857
|
+
dataInt32[offset] = v;`,"vec2<f32>":`
|
|
858
|
+
data[offset] = v[0];
|
|
859
|
+
data[offset + 1] = v[1];`,"vec3<f32>":`
|
|
860
|
+
data[offset] = v[0];
|
|
861
|
+
data[offset + 1] = v[1];
|
|
862
|
+
data[offset + 2] = v[2];`,"vec4<f32>":`
|
|
863
|
+
data[offset] = v[0];
|
|
864
|
+
data[offset + 1] = v[1];
|
|
865
|
+
data[offset + 2] = v[2];
|
|
866
|
+
data[offset + 3] = v[3];`,"vec2<i32>":`
|
|
867
|
+
dataInt32[offset] = v[0];
|
|
868
|
+
dataInt32[offset + 1] = v[1];`,"vec3<i32>":`
|
|
869
|
+
dataInt32[offset] = v[0];
|
|
870
|
+
dataInt32[offset + 1] = v[1];
|
|
871
|
+
dataInt32[offset + 2] = v[2];`,"vec4<i32>":`
|
|
872
|
+
dataInt32[offset] = v[0];
|
|
873
|
+
dataInt32[offset + 1] = v[1];
|
|
874
|
+
dataInt32[offset + 2] = v[2];
|
|
875
|
+
dataInt32[offset + 3] = v[3];`,"mat2x2<f32>":`
|
|
876
|
+
data[offset] = v[0];
|
|
877
|
+
data[offset + 1] = v[1];
|
|
878
|
+
data[offset + 4] = v[2];
|
|
879
|
+
data[offset + 5] = v[3];`,"mat3x3<f32>":`
|
|
880
|
+
data[offset] = v[0];
|
|
881
|
+
data[offset + 1] = v[1];
|
|
882
|
+
data[offset + 2] = v[2];
|
|
883
|
+
data[offset + 4] = v[3];
|
|
884
|
+
data[offset + 5] = v[4];
|
|
885
|
+
data[offset + 6] = v[5];
|
|
886
|
+
data[offset + 8] = v[6];
|
|
887
|
+
data[offset + 9] = v[7];
|
|
888
|
+
data[offset + 10] = v[8];`,"mat4x4<f32>":`
|
|
889
|
+
for (let i = 0; i < 16; i++) {
|
|
890
|
+
data[offset + i] = v[i];
|
|
891
|
+
}`,"mat3x2<f32>":ha(3,2),"mat4x2<f32>":ha(4,2),"mat2x3<f32>":ha(2,3),"mat4x3<f32>":ha(4,3),"mat2x4<f32>":ha(2,4),"mat3x4<f32>":ha(3,4)},aF={...cv,"mat2x2<f32>":`
|
|
892
|
+
data[offset] = v[0];
|
|
893
|
+
data[offset + 1] = v[1];
|
|
894
|
+
data[offset + 2] = v[2];
|
|
895
|
+
data[offset + 3] = v[3];
|
|
896
|
+
`}});function uF(r,e){let{size:t,align:i}=Rl[r.data.type],n=(i-t)/4,s=r.data.type.indexOf("i32")>=0?"dataInt32":"data";return`
|
|
897
|
+
v = uv.${r.data.name};
|
|
898
|
+
${e!==0?`offset += ${e};`:""}
|
|
899
|
+
|
|
900
|
+
arrayOffset = offset;
|
|
901
|
+
|
|
902
|
+
t = 0;
|
|
903
|
+
|
|
904
|
+
for(var i=0; i < ${r.data.size*(t/4)}; i++)
|
|
905
|
+
{
|
|
906
|
+
for(var j = 0; j < ${t/4}; j++)
|
|
907
|
+
{
|
|
908
|
+
${s}[arrayOffset++] = v[t++];
|
|
909
|
+
}
|
|
910
|
+
${n!==0?`arrayOffset += ${n};`:""}
|
|
911
|
+
}
|
|
912
|
+
`}var lF=m(()=>{av()});function cF(r){return Jp(r,"uboWgsl",uF,aF)}var AF=m(()=>{lv();Av();lF()});var Fl,hF=m(()=>{M();ov();av();AF();Fl=class extends Aa{constructor(){super({createUboElements:oF,generateUboSync:cF})}};Fl.extension={type:[v.WebGPUSystem],name:"ubo"}});var Qn,Zp=m(()=>{xt();gt();Qn=class extends Me{constructor({buffer:e,offset:t,size:i}){super(),this.uid=fe("buffer"),this._resourceType="bufferResource",this._touched=0,this._resourceId=fe("resource"),this._bufferResource=!0,this.destroyed=!1,this.buffer=e,this.offset=t|0,this.size=i,this.buffer.on("change",this.onBufferChange,this)}onBufferChange(){this._resourceId=fe("resource"),this.emit("change",this)}destroy(e=!1){this.destroyed=!0,e&&this.buffer.destroy(),this.emit("change",this),this.buffer=null}}});var $p,dF=m(()=>{"use strict";$p=class{constructor({minUniformOffsetAlignment:e}){this._minUniformOffsetAlignment=256,this.byteIndex=0,this._minUniformOffsetAlignment=e,this.data=new Float32Array(65535)}clear(){this.byteIndex=0}addEmptyGroup(e){if(e>this._minUniformOffsetAlignment/4)throw new Error(`UniformBufferBatch: array is too large: ${e*4}`);let t=this.byteIndex,i=t+e*4;if(i=Math.ceil(i/this._minUniformOffsetAlignment)*this._minUniformOffsetAlignment,i>this.data.length*4)throw new Error("UniformBufferBatch: ubo batch got too big");return this.byteIndex=i,t}addGroup(e){let t=this.addEmptyGroup(e.length);for(let i=0;i<e.length;i++)this.data[t/4+i]=e[i];return t}destroy(){this.data=null}}});var Sn,kl,fF=m(()=>{M();mn();Zp();Bi();dF();gn();Sn=128,kl=class{constructor(e){this._bindGroupHash=Object.create(null),this._buffers=[],this._bindGroups=[],this._bufferResources=[],this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_bindGroupHash"),this._batchBuffer=new $p({minUniformOffsetAlignment:Sn});let t=256/Sn;for(let i=0;i<t;i++){let n=he.UNIFORM|he.COPY_DST;i===0&&(n|=he.COPY_SRC),this._buffers.push(new Xe({data:this._batchBuffer.data,usage:n}))}}renderEnd(){this._uploadBindGroups(),this._resetBindGroups()}_resetBindGroups(){for(let e in this._bindGroupHash)this._bindGroupHash[e]=null;this._batchBuffer.clear()}getUniformBindGroup(e,t){if(!t&&this._bindGroupHash[e.uid])return this._bindGroupHash[e.uid];this._renderer.ubo.ensureUniformGroup(e);let i=e.buffer.data,n=this._batchBuffer.addEmptyGroup(i.length);return this._renderer.ubo.syncUniformGroup(e,this._batchBuffer.data,n/4),this._bindGroupHash[e.uid]=this._getBindGroup(n/Sn),this._bindGroupHash[e.uid]}getUboResource(e){this._renderer.ubo.updateUniformGroup(e);let t=e.buffer.data,i=this._batchBuffer.addGroup(t);return this._getBufferResource(i/Sn)}getArrayBindGroup(e){let t=this._batchBuffer.addGroup(e);return this._getBindGroup(t/Sn)}getArrayBufferResource(e){let i=this._batchBuffer.addGroup(e)/Sn;return this._getBufferResource(i)}_getBufferResource(e){if(!this._bufferResources[e]){let t=this._buffers[e%2];this._bufferResources[e]=new Qn({buffer:t,offset:(e/2|0)*256,size:Sn})}return this._bufferResources[e]}_getBindGroup(e){if(!this._bindGroups[e]){let t=new lt({0:this._getBufferResource(e)});this._bindGroups[e]=t}return this._bindGroups[e]}_uploadBindGroups(){let e=this._renderer.buffer,t=this._buffers[0];t.update(this._batchBuffer.byteIndex),e.updateBuffer(t);let i=this._renderer.gpu.device.createCommandEncoder();for(let n=1;n<this._buffers.length;n++){let s=this._buffers[n];i.copyBufferToBuffer(e.getGPUBuffer(t),Sn,e.getGPUBuffer(s),0,this._batchBuffer.byteIndex)}this._renderer.gpu.device.queue.submit([i.finish()])}destroy(){for(let e=0;e<this._bindGroups.length;e++)this._bindGroups[e].destroy();this._bindGroups=null,this._bindGroupHash=null;for(let e=0;e<this._buffers.length;e++)this._buffers[e].destroy();this._buffers=null;for(let e=0;e<this._bufferResources.length;e++)this._bufferResources[e].destroy();this._bufferResources=null,this._batchBuffer.destroy(),this._bindGroupHash=null,this._renderer=null}};kl.extension={type:[v.WebGPUPipes],name:"uniformBatch"}});function eg(r,e){for(let t in r.attributes){let i=r.attributes[t],n=e[t];n?(i.format??(i.format=n.format),i.offset??(i.offset=n.offset),i.instance??(i.instance=n.instance)):q(`Attribute ${t} is not present in the shader, but is present in the geometry. Unable to infer attribute details.`)}T7(r)}function T7(r){let{buffers:e,attributes:t}=r,i={},n={};for(let s in e){let o=e[s];i[o.uid]=0,n[o.uid]=0}for(let s in t){let o=t[s];i[o.buffer.uid]+=jt(o.format).stride}for(let s in t){let o=t[s];o.stride??(o.stride=i[o.buffer.uid]),o.start??(o.start=n[o.buffer.uid]),n[o.buffer.uid]+=jt(o.format).stride}}var hv=m(()=>{Be();ls()});var $r,dv=m(()=>{us();$r=[];$r[Ge.NONE]=void 0;$r[Ge.DISABLED]={stencilWriteMask:0,stencilReadMask:0};$r[Ge.RENDERING_MASK_ADD]={stencilFront:{compare:"equal",passOp:"increment-clamp"},stencilBack:{compare:"equal",passOp:"increment-clamp"}};$r[Ge.RENDERING_MASK_REMOVE]={stencilFront:{compare:"equal",passOp:"decrement-clamp"},stencilBack:{compare:"equal",passOp:"decrement-clamp"}};$r[Ge.MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"equal",passOp:"keep"},stencilBack:{compare:"equal",passOp:"keep"}};$r[Ge.INVERSE_MASK_ACTIVE]={stencilWriteMask:0,stencilFront:{compare:"not-equal",passOp:"replace"},stencilBack:{compare:"not-equal",passOp:"replace"}}});function P7(r,e,t,i,n){return r<<24|e<<16|t<<10|i<<5|n}function D7(r,e,t,i){return t<<6|r<<3|i<<1|e}var M7,Ol,pF=m(()=>{M();Be();hv();us();Ru();dv();M7={"point-list":0,"line-list":1,"line-strip":2,"triangle-list":3,"triangle-strip":4};Ol=class{constructor(e){this._moduleCache=Object.create(null),this._bufferLayoutsCache=Object.create(null),this._bindingNamesCache=Object.create(null),this._pipeCache=Object.create(null),this._pipeStateCaches=Object.create(null),this._colorMask=15,this._multisampleCount=1,this._renderer=e}contextChange(e){this._gpu=e,this.setStencilMode(Ge.DISABLED),this._updatePipeHash()}setMultisampleCount(e){this._multisampleCount!==e&&(this._multisampleCount=e,this._updatePipeHash())}setRenderTarget(e){this._multisampleCount=e.msaaSamples,this._depthStencilAttachment=e.descriptor.depthStencilAttachment?1:0,this._updatePipeHash()}setColorMask(e){this._colorMask!==e&&(this._colorMask=e,this._updatePipeHash())}setStencilMode(e){this._stencilMode!==e&&(this._stencilMode=e,this._stencilState=$r[e],this._updatePipeHash())}setPipeline(e,t,i,n){let s=this.getPipeline(e,t,i);n.setPipeline(s)}getPipeline(e,t,i,n){e._layoutKey||(eg(e,t.attributeData),this._generateBufferKey(e)),n||(n=e.topology);let s=P7(e._layoutKey,t._layoutKey,i.data,i._blendModeId,M7[n]);return this._pipeCache[s]?this._pipeCache[s]:(this._pipeCache[s]=this._createPipeline(e,t,i,n),this._pipeCache[s])}_createPipeline(e,t,i,n){let s=this._gpu.device,o=this._createVertexBufferLayouts(e,t),a=this._renderer.state.getColorTargets(i);a[0].writeMask=this._stencilMode===Ge.RENDERING_MASK_ADD?0:this._colorMask;let l=this._renderer.shader.getProgramData(t).pipeline,c={vertex:{module:this._getModule(t.vertex.source),entryPoint:t.vertex.entryPoint,buffers:o},fragment:{module:this._getModule(t.fragment.source),entryPoint:t.fragment.entryPoint,targets:a},primitive:{topology:n,cullMode:i.cullMode},layout:l,multisample:{count:this._multisampleCount},label:"PIXI Pipeline"};return this._depthStencilAttachment&&(c.depthStencil={...this._stencilState,format:"depth24plus-stencil8",depthWriteEnabled:i.depthTest,depthCompare:i.depthTest?"less":"always"}),s.createRenderPipeline(c)}_getModule(e){return this._moduleCache[e]||this._createModule(e)}_createModule(e){let t=this._gpu.device;return this._moduleCache[e]=t.createShaderModule({code:e}),this._moduleCache[e]}_generateBufferKey(e){let t=[],i=0,n=Object.keys(e.attributes).sort();for(let o=0;o<n.length;o++){let a=e.attributes[n[o]];t[i++]=a.offset,t[i++]=a.format,t[i++]=a.stride,t[i++]=a.instance}let s=t.join("|");return e._layoutKey=Ci(s,"geometry"),e._layoutKey}_generateAttributeLocationsKey(e){let t=[],i=0,n=Object.keys(e.attributeData).sort();for(let o=0;o<n.length;o++){let a=e.attributeData[n[o]];t[i++]=a.location}let s=t.join("|");return e._attributeLocationsKey=Ci(s,"programAttributes"),e._attributeLocationsKey}getBufferNamesToBind(e,t){let i=e._layoutKey<<16|t._attributeLocationsKey;if(this._bindingNamesCache[i])return this._bindingNamesCache[i];let n=this._createVertexBufferLayouts(e,t),s=Object.create(null),o=t.attributeData;for(let a=0;a<n.length;a++){let c=Object.values(n[a].attributes)[0].shaderLocation;for(let u in o)if(o[u].location===c){s[a]=u;break}}return this._bindingNamesCache[i]=s,s}_createVertexBufferLayouts(e,t){t._attributeLocationsKey||this._generateAttributeLocationsKey(t);let i=e._layoutKey<<16|t._attributeLocationsKey;if(this._bufferLayoutsCache[i])return this._bufferLayoutsCache[i];let n=[];return e.buffers.forEach(s=>{let o={arrayStride:0,stepMode:"vertex",attributes:[]},a=o.attributes;for(let l in t.attributeData){let c=e.attributes[l];(c.divisor??1)!==1&&q(`Attribute ${l} has an invalid divisor value of '${c.divisor}'. WebGPU only supports a divisor value of 1`),c.buffer===s&&(o.arrayStride=c.stride,o.stepMode=c.instance?"instance":"vertex",a.push({shaderLocation:t.attributeData[l].location,offset:c.offset,format:c.format}))}a.length&&n.push(o)}),this._bufferLayoutsCache[i]=n,n}_updatePipeHash(){let e=D7(this._stencilMode,this._multisampleCount,this._colorMask,this._depthStencilAttachment);this._pipeStateCaches[e]||(this._pipeStateCaches[e]=Object.create(null)),this._pipeCache=this._pipeStateCaches[e]}destroy(){this._renderer=null,this._bufferLayoutsCache=null}};Ol.extension={type:[v.WebGPUSystem],name:"pipeline"}});function gF(r,e,t,i,n,s){let o=s?1:-1;return r.identity(),r.a=1/i*2,r.d=o*(1/n*2),r.tx=-1-e*r.a,r.ty=-o-t*r.d,r}var mF=m(()=>{"use strict"});function yF(r){let e=r.colorTexture.source.resource;return globalThis.HTMLCanvasElement&&e instanceof HTMLCanvasElement&&document.body.contains(e)}var EF=m(()=>{"use strict"});var da,fv=m(()=>{pe();st();oa();mF();LI();Po();qt();me();iv();EF();rv();da=class{constructor(e){this.rootViewPort=new ee,this.viewport=new ee,this.onRenderTargetChange=new aa("onRenderTargetChange"),this.projectionMatrix=new O,this.defaultClearColor=[0,0,0,0],this._renderSurfaceToRenderTargetHash=new Map,this._gpuRenderTargetHash=Object.create(null),this._renderTargetStack=[],this._renderer=e,e.renderableGC.addManagedHash(this,"_gpuRenderTargetHash")}finishRenderPass(){this.adaptor.finishRenderPass(this.renderTarget)}renderStart({target:e,clear:t,clearColor:i,frame:n}){this._renderTargetStack.length=0,this.push(e,t,i,n),this.rootViewPort.copyFrom(this.viewport),this.rootRenderTarget=this.renderTarget,this.renderingToScreen=yF(this.rootRenderTarget),this.adaptor.prerender?.(this.rootRenderTarget)}postrender(){this.adaptor.postrender?.(this.rootRenderTarget)}bind(e,t=!0,i,n){let s=this.getRenderTarget(e),o=this.renderTarget!==s;this.renderTarget=s,this.renderSurface=e;let a=this.getGpuRenderTarget(s);(s.pixelWidth!==a.width||s.pixelHeight!==a.height)&&(this.adaptor.resizeGpuRenderTarget(s),a.width=s.pixelWidth,a.height=s.pixelHeight);let l=s.colorTexture,c=this.viewport,u=l.pixelWidth,A=l.pixelHeight;if(!n&&e instanceof F&&(n=e.frame),n){let h=l._resolution;c.x=n.x*h+.5|0,c.y=n.y*h+.5|0,c.width=n.width*h+.5|0,c.height=n.height*h+.5|0}else c.x=0,c.y=0,c.width=u,c.height=A;return gF(this.projectionMatrix,0,0,c.width/l.resolution,c.height/l.resolution,!s.isRoot),this.adaptor.startRenderPass(s,t,i,c),o&&this.onRenderTargetChange.emit(s),s}clear(e,t=ct.ALL,i){t&&(e&&(e=this.getRenderTarget(e)),this.adaptor.clear(e||this.renderTarget,t,i,this.viewport))}contextChange(){this._gpuRenderTargetHash=Object.create(null)}push(e,t=ct.ALL,i,n){let s=this.bind(e,t,i,n);return this._renderTargetStack.push({renderTarget:s,frame:n}),s}pop(){this._renderTargetStack.pop();let e=this._renderTargetStack[this._renderTargetStack.length-1];this.bind(e.renderTarget,!1,null,e.frame)}getRenderTarget(e){return e.isTexture&&(e=e.source),this._renderSurfaceToRenderTargetHash.get(e)??this._initRenderTarget(e)}copyToTexture(e,t,i,n,s){i.x<0&&(n.width+=i.x,s.x-=i.x,i.x=0),i.y<0&&(n.height+=i.y,s.y-=i.y,i.y=0);let{pixelWidth:o,pixelHeight:a}=e;return n.width=Math.min(n.width,o-i.x),n.height=Math.min(n.height,a-i.y),this.adaptor.copyToTexture(e,t,i,n,s)}ensureDepthStencil(){this.renderTarget.stencil||(this.renderTarget.stencil=!0,this.adaptor.startRenderPass(this.renderTarget,!1,null,this.viewport))}destroy(){this._renderer=null,this._renderSurfaceToRenderTargetHash.forEach((e,t)=>{e!==t&&e.destroy()}),this._renderSurfaceToRenderTargetHash.clear(),this._gpuRenderTargetHash=Object.create(null)}_initRenderTarget(e){let t=null;return Ct.test(e)&&(e=Kp(e).source),e instanceof wl?t=e:e instanceof Ie&&(t=new wl({colorTextures:[e]}),Ct.test(e.source.resource)&&(t.isRoot=!0),e.once("destroy",()=>{t.destroy(),this._renderSurfaceToRenderTargetHash.delete(e);let i=this._gpuRenderTargetHash[t.uid];i&&(this._gpuRenderTargetHash[t.uid]=null,this.adaptor.destroyGpuRenderTarget(i))})),this._renderSurfaceToRenderTargetHash.set(e,t),t}getGpuRenderTarget(e){return this._gpuRenderTargetHash[e.uid]||(this._gpuRenderTargetHash[e.uid]=this.adaptor.initGpuRenderTarget(e))}resetState(){this.renderTarget=null,this.renderSurface=null}}});var tg,_F=m(()=>{"use strict";tg=class{constructor(){this.contexts=[],this.msaaTextures=[],this.msaaSamples=1}}});var rg,IF=m(()=>{oa();Po();qt();_F();rg=class{init(e,t){this._renderer=e,this._renderTargetSystem=t}copyToTexture(e,t,i,n,s){let o=this._renderer,a=this._getGpuColorTexture(e),l=o.texture.getGpuSource(t.source);return o.encoder.commandEncoder.copyTextureToTexture({texture:a,origin:i},{texture:l,origin:s},n),t}startRenderPass(e,t=!0,i,n){let o=this._renderTargetSystem.getGpuRenderTarget(e),a=this.getDescriptor(e,t,i);o.descriptor=a,this._renderer.pipeline.setRenderTarget(o),this._renderer.encoder.beginRenderPass(o),this._renderer.encoder.setViewport(n)}finishRenderPass(){this._renderer.encoder.endRenderPass()}_getGpuColorTexture(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);return t.contexts[0]?t.contexts[0].getCurrentTexture():this._renderer.texture.getGpuSource(e.colorTextures[0].source)}getDescriptor(e,t,i){typeof t=="boolean"&&(t=t?ct.ALL:ct.NONE);let n=this._renderTargetSystem,s=n.getGpuRenderTarget(e),o=e.colorTextures.map((c,u)=>{let A=s.contexts[u],h,d;A?h=A.getCurrentTexture().createView():h=this._renderer.texture.getGpuSource(c).createView({mipLevelCount:1}),s.msaaTextures[u]&&(d=h,h=this._renderer.texture.getTextureView(s.msaaTextures[u]));let f=t&ct.COLOR?"clear":"load";return i??(i=n.defaultClearColor),{view:h,resolveTarget:d,clearValue:i,storeOp:"store",loadOp:f}}),a;if((e.stencil||e.depth)&&!e.depthStencilTexture&&(e.ensureDepthStencilTexture(),e.depthStencilTexture.source.sampleCount=s.msaa?4:1),e.depthStencilTexture){let c=t&ct.STENCIL?"clear":"load",u=t&ct.DEPTH?"clear":"load";a={view:this._renderer.texture.getGpuSource(e.depthStencilTexture.source).createView(),stencilStoreOp:"store",stencilLoadOp:c,depthClearValue:1,depthLoadOp:u,depthStoreOp:"store"}}return{colorAttachments:o,depthStencilAttachment:a}}clear(e,t=!0,i,n){if(!t)return;let{gpu:s,encoder:o}=this._renderer,a=s.device;if(o.commandEncoder===null){let c=a.createCommandEncoder(),u=this.getDescriptor(e,t,i),A=c.beginRenderPass(u);A.setViewport(n.x,n.y,n.width,n.height,0,1),A.end();let h=c.finish();a.queue.submit([h])}else this.startRenderPass(e,t,i,n)}initGpuRenderTarget(e){e.isRoot=!0;let t=new tg;return e.colorTextures.forEach((i,n)=>{if(Ct.test(i.resource)){let s=i.resource.getContext("webgpu"),o=i.transparent?"premultiplied":"opaque";try{s.configure({device:this._renderer.gpu.device,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.COPY_SRC,format:"bgra8unorm",alphaMode:o})}catch(a){console.error(a)}t.contexts[n]=s}if(t.msaa=i.source.antialias,i.source.antialias){let s=new Ie({width:0,height:0,sampleCount:4});t.msaaTextures[n]=s}}),t.msaa&&(t.msaaSamples=4,e.depthStencilTexture&&(e.depthStencilTexture.source.sampleCount=4)),t}destroyGpuRenderTarget(e){e.contexts.forEach(t=>{t.unconfigure()}),e.msaaTextures.forEach(t=>{t.destroy()}),e.msaaTextures.length=0,e.contexts.length=0}ensureDepthStencilTexture(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);e.depthStencilTexture&&t.msaa&&(e.depthStencilTexture.source.sampleCount=4)}resizeGpuRenderTarget(e){let t=this._renderTargetSystem.getGpuRenderTarget(e);t.width=e.width,t.height=e.height,t.msaa&&e.colorTextures.forEach((i,n)=>{t.msaaTextures[n]?.resize(i.source.width,i.source.height,i.source._resolution)})}}});var Gl,vF=m(()=>{M();fv();IF();Gl=class extends da{constructor(e){super(e),this.adaptor=new rg,this.adaptor.init(e,this)}};Gl.extension={type:[v.WebGPUSystem],name:"renderTarget"}});var Ul,xF=m(()=>{M();Ul=class{constructor(){this._gpuProgramData=Object.create(null)}contextChange(e){this._gpu=e,this.maxTextures=e.device.limits.maxSampledTexturesPerShaderStage}getProgramData(e){return this._gpuProgramData[e._layoutKey]||this._createGPUProgramData(e)}_createGPUProgramData(e){let t=this._gpu.device,i=e.gpuLayout.map(s=>t.createBindGroupLayout({entries:s})),n={bindGroupLayouts:i};return this._gpuProgramData[e._layoutKey]={bindGroups:i,pipeline:t.createPipelineLayout(n)},this._gpuProgramData[e._layoutKey]}destroy(){this._gpu=null,this._gpuProgramData=null}};Ul.extension={type:[v.WebGPUSystem],name:"shader"}});var Ot,BF=m(()=>{"use strict";Ot={};Ot.normal={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"}};Ot.add={alpha:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one",operation:"add"}};Ot.multiply={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"dst",dstFactor:"one-minus-src-alpha",operation:"add"}};Ot.screen={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src",operation:"add"}};Ot.overlay={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"one",dstFactor:"one-minus-src",operation:"add"}};Ot.none={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"zero",dstFactor:"zero",operation:"add"}};Ot["normal-npm"]={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one-minus-src-alpha",operation:"add"}};Ot["add-npm"]={alpha:{srcFactor:"one",dstFactor:"one",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one",operation:"add"}};Ot["screen-npm"]={alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"src-alpha",dstFactor:"one-minus-src",operation:"add"}};Ot.erase={alpha:{srcFactor:"zero",dstFactor:"one-minus-src-alpha",operation:"add"},color:{srcFactor:"zero",dstFactor:"one-minus-src",operation:"add"}};Ot.min={alpha:{srcFactor:"one",dstFactor:"one",operation:"min"},color:{srcFactor:"one",dstFactor:"one",operation:"min"}};Ot.max={alpha:{srcFactor:"one",dstFactor:"one",operation:"max"},color:{srcFactor:"one",dstFactor:"one",operation:"max"}}});var Ll,CF=m(()=>{M();ur();BF();Ll=class{constructor(){this.defaultState=new ze,this.defaultState.blend=!0}contextChange(e){this.gpu=e}getColorTargets(e){return[{format:"bgra8unorm",writeMask:0,blend:Ot[e.blendMode]||Ot.normal}]}destroy(){this.gpu=null}};Ll.extension={type:[v.WebGPUSystem],name:"state"}});var bF,wF=m(()=>{"use strict";bF={type:"image",upload(r,e,t){let i=r.resource,n=(r.pixelWidth|0)*(r.pixelHeight|0),s=i.byteLength/n;t.device.queue.writeTexture({texture:e},i,{offset:0,rowsPerImage:r.pixelHeight,bytesPerRow:r.pixelHeight*s},{width:r.pixelWidth,height:r.pixelHeight,depthOrArrayLayers:1})}}});var pv,R7,QF,SF=m(()=>{"use strict";pv={"bc1-rgba-unorm":{blockBytes:8,blockWidth:4,blockHeight:4},"bc2-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"bc3-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"bc7-rgba-unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"etc1-rgb-unorm":{blockBytes:8,blockWidth:4,blockHeight:4},"etc2-rgba8unorm":{blockBytes:16,blockWidth:4,blockHeight:4},"astc-4x4-unorm":{blockBytes:16,blockWidth:4,blockHeight:4}},R7={blockBytes:4,blockWidth:1,blockHeight:1},QF={type:"compressed",upload(r,e,t){let i=r.pixelWidth,n=r.pixelHeight,s=pv[r.format]||R7;for(let o=0;o<r.resource.length;o++){let a=r.resource[o],l=Math.ceil(i/s.blockWidth)*s.blockBytes;t.device.queue.writeTexture({texture:e,mipLevel:o},a,{offset:0,bytesPerRow:l},{width:Math.ceil(i/s.blockWidth)*s.blockWidth,height:Math.ceil(n/s.blockHeight)*s.blockHeight,depthOrArrayLayers:1}),i=Math.max(i>>1,1),n=Math.max(n>>1,1)}}}});var ig,gv=m(()=>{"use strict";ig={type:"image",upload(r,e,t){let i=r.resource;if(!i)return;let n=Math.min(e.width,r.resourceWidth||r.pixelWidth),s=Math.min(e.height,r.resourceHeight||r.pixelHeight),o=r.alphaMode==="premultiply-alpha-on-upload";t.device.queue.copyExternalImageToTexture({source:i},{texture:e,premultipliedAlpha:o},{width:n,height:s})}}});var TF,MF=m(()=>{gv();TF={type:"video",upload(r,e,t){ig.upload(r,e,t)}}});var ng,PF=m(()=>{"use strict";ng=class{constructor(e){this.device=e,this.sampler=e.createSampler({minFilter:"linear"}),this.pipelines={}}_getMipmapPipeline(e){let t=this.pipelines[e];return t||(this.mipmapShaderModule||(this.mipmapShaderModule=this.device.createShaderModule({code:`
|
|
913
|
+
var<private> pos : array<vec2<f32>, 3> = array<vec2<f32>, 3>(
|
|
914
|
+
vec2<f32>(-1.0, -1.0), vec2<f32>(-1.0, 3.0), vec2<f32>(3.0, -1.0));
|
|
915
|
+
|
|
916
|
+
struct VertexOutput {
|
|
917
|
+
@builtin(position) position : vec4<f32>,
|
|
918
|
+
@location(0) texCoord : vec2<f32>,
|
|
919
|
+
};
|
|
920
|
+
|
|
921
|
+
@vertex
|
|
922
|
+
fn vertexMain(@builtin(vertex_index) vertexIndex : u32) -> VertexOutput {
|
|
923
|
+
var output : VertexOutput;
|
|
924
|
+
output.texCoord = pos[vertexIndex] * vec2<f32>(0.5, -0.5) + vec2<f32>(0.5);
|
|
925
|
+
output.position = vec4<f32>(pos[vertexIndex], 0.0, 1.0);
|
|
926
|
+
return output;
|
|
927
|
+
}
|
|
928
|
+
|
|
929
|
+
@group(0) @binding(0) var imgSampler : sampler;
|
|
930
|
+
@group(0) @binding(1) var img : texture_2d<f32>;
|
|
931
|
+
|
|
932
|
+
@fragment
|
|
933
|
+
fn fragmentMain(@location(0) texCoord : vec2<f32>) -> @location(0) vec4<f32> {
|
|
934
|
+
return textureSample(img, imgSampler, texCoord);
|
|
935
|
+
}
|
|
936
|
+
`})),t=this.device.createRenderPipeline({layout:"auto",vertex:{module:this.mipmapShaderModule,entryPoint:"vertexMain"},fragment:{module:this.mipmapShaderModule,entryPoint:"fragmentMain",targets:[{format:e}]}}),this.pipelines[e]=t),t}generateMipmap(e){let t=this._getMipmapPipeline(e.format);if(e.dimension==="3d"||e.dimension==="1d")throw new Error("Generating mipmaps for non-2d textures is currently unsupported!");let i=e,n=e.depthOrArrayLayers||1,s=e.usage&GPUTextureUsage.RENDER_ATTACHMENT;if(!s){let l={size:{width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:n},format:e.format,usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT,mipLevelCount:e.mipLevelCount-1};i=this.device.createTexture(l)}let o=this.device.createCommandEncoder({}),a=t.getBindGroupLayout(0);for(let l=0;l<n;++l){let c=e.createView({baseMipLevel:0,mipLevelCount:1,dimension:"2d",baseArrayLayer:l,arrayLayerCount:1}),u=s?1:0;for(let A=1;A<e.mipLevelCount;++A){let h=i.createView({baseMipLevel:u++,mipLevelCount:1,dimension:"2d",baseArrayLayer:l,arrayLayerCount:1}),d=o.beginRenderPass({colorAttachments:[{view:h,storeOp:"store",loadOp:"clear",clearValue:{r:0,g:0,b:0,a:0}}]}),f=this.device.createBindGroup({layout:a,entries:[{binding:0,resource:this.sampler},{binding:1,resource:c}]});d.setPipeline(t),d.setBindGroup(0,f),d.draw(3,1,0,0),d.end(),c=h}}if(!s){let l={width:Math.ceil(e.width/2),height:Math.ceil(e.height/2),depthOrArrayLayers:n};for(let c=1;c<e.mipLevelCount;++c)o.copyTextureToTexture({texture:i,mipLevel:c-1},{texture:e,mipLevel:c},l),l.width=Math.ceil(l.width/2),l.height=Math.ceil(l.height/2)}return this.device.queue.submit([o.finish()]),s||i.destroy(),e}}});var Nl,DF=m(()=>{De();M();Qt();Ko();gn();wF();SF();gv();MF();PF();Nl=class{constructor(e){this.managedTextures=[],this._gpuSources=Object.create(null),this._gpuSamplers=Object.create(null),this._bindGroupHash=Object.create(null),this._textureViewHash=Object.create(null),this._uploads={image:ig,buffer:bF,video:TF,compressed:QF},this._renderer=e,e.renderableGC.addManagedHash(this,"_gpuSources"),e.renderableGC.addManagedHash(this,"_gpuSamplers"),e.renderableGC.addManagedHash(this,"_bindGroupHash"),e.renderableGC.addManagedHash(this,"_textureViewHash")}contextChange(e){this._gpu=e}initSource(e){if(e.autoGenerateMipmaps){let l=Math.max(e.pixelWidth,e.pixelHeight);e.mipLevelCount=Math.floor(Math.log2(l))+1}let t=GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST;e.uploadMethodId!=="compressed"&&(t|=GPUTextureUsage.RENDER_ATTACHMENT,t|=GPUTextureUsage.COPY_SRC);let i=pv[e.format]||{blockBytes:4,blockWidth:1,blockHeight:1},n=Math.ceil(e.pixelWidth/i.blockWidth)*i.blockWidth,s=Math.ceil(e.pixelHeight/i.blockHeight)*i.blockHeight,o={label:e.label,size:{width:n,height:s},format:e.format,sampleCount:e.sampleCount,mipLevelCount:e.mipLevelCount,dimension:e.dimension,usage:t},a=this._gpu.device.createTexture(o);return this._gpuSources[e.uid]=a,this.managedTextures.includes(e)||(e.on("update",this.onSourceUpdate,this),e.on("resize",this.onSourceResize,this),e.on("destroy",this.onSourceDestroy,this),e.on("unload",this.onSourceUnload,this),e.on("updateMipmaps",this.onUpdateMipmaps,this),this.managedTextures.push(e)),this.onSourceUpdate(e),a}onSourceUpdate(e){let t=this.getGpuSource(e);t&&(this._uploads[e.uploadMethodId]&&this._uploads[e.uploadMethodId].upload(e,t,this._gpu),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e))}onSourceUnload(e){let t=this._gpuSources[e.uid];t&&(this._gpuSources[e.uid]=null,t.destroy())}onUpdateMipmaps(e){this._mipmapGenerator||(this._mipmapGenerator=new ng(this._gpu.device));let t=this.getGpuSource(e);this._mipmapGenerator.generateMipmap(t)}onSourceDestroy(e){e.off("update",this.onSourceUpdate,this),e.off("unload",this.onSourceUnload,this),e.off("destroy",this.onSourceDestroy,this),e.off("resize",this.onSourceResize,this),e.off("updateMipmaps",this.onUpdateMipmaps,this),this.managedTextures.splice(this.managedTextures.indexOf(e),1),this.onSourceUnload(e)}onSourceResize(e){let t=this._gpuSources[e.uid];t?(t.width!==e.pixelWidth||t.height!==e.pixelHeight)&&(this._textureViewHash[e.uid]=null,this._bindGroupHash[e.uid]=null,this.onSourceUnload(e),this.initSource(e)):this.initSource(e)}_initSampler(e){return this._gpuSamplers[e._resourceId]=this._gpu.device.createSampler(e),this._gpuSamplers[e._resourceId]}getGpuSampler(e){return this._gpuSamplers[e._resourceId]||this._initSampler(e)}getGpuSource(e){return this._gpuSources[e.uid]||this.initSource(e)}getTextureBindGroup(e){return this._bindGroupHash[e.uid]??this._createTextureBindGroup(e)}_createTextureBindGroup(e){let t=e.source;return this._bindGroupHash[e.uid]=new lt({0:t,1:t.style,2:new ve({uTextureMatrix:{type:"mat3x3<f32>",value:e.textureMatrix.mapCoord}})}),this._bindGroupHash[e.uid]}getTextureView(e){let t=e.source;return this._textureViewHash[t.uid]??this._createTextureView(t)}_createTextureView(e){return this._textureViewHash[e.uid]=this.getGpuSource(e).createView(),this._textureViewHash[e.uid]}generateCanvas(e){let t=this._renderer,i=t.gpu.device.createCommandEncoder(),n=X.get().createCanvas();n.width=e.source.pixelWidth,n.height=e.source.pixelHeight;let s=n.getContext("webgpu");return s.configure({device:t.gpu.device,usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.COPY_SRC,format:X.get().getNavigator().gpu.getPreferredCanvasFormat(),alphaMode:"premultiplied"}),i.copyTextureToTexture({texture:t.texture.getGpuSource(e.source),origin:{x:0,y:0}},{texture:s.getCurrentTexture()},{width:n.width,height:n.height}),t.gpu.device.queue.submit([i.finish()]),n}getPixels(e){let t=this.generateCanvas(e),i=Yt.getOptimalCanvasAndContext(t.width,t.height),n=i.context;n.drawImage(t,0,0);let{width:s,height:o}=t,a=n.getImageData(0,0,s,o),l=new Uint8ClampedArray(a.data.buffer);return Yt.returnCanvasAndContext(i),{pixels:l,width:s,height:o}}destroy(){this.managedTextures.slice().forEach(e=>this.onSourceDestroy(e)),this.managedTextures=null;for(let e of Object.keys(this._bindGroupHash)){let t=Number(e);this._bindGroupHash[t]?.destroy(),this._bindGroupHash[t]=null}this._gpu=null,this._mipmapGenerator=null,this._gpuSources=null,this._bindGroupHash=null,this._textureViewHash=null,this._gpuSamplers=null}};Nl.extension={type:[v.WebGPUSystem],name:"texture"}});var OF={};Ga(OF,{WebGPURenderer:()=>mv});var F7,k7,O7,RF,FF,kF,mv,GF=m(()=>{M();$D();rR();iR();al();sv();ar();eF();tF();rF();iF();nF();sF();hF();fF();pF();vF();xF();CF();DF();F7=[...zp,Fl,Pl,ca,Tl,Nl,Gl,Ul,Ll,Ol,Ml,Dl,Sl],k7=[...Xp,kl],O7=[cl,ll,ul],RF=[],FF=[],kF=[];N.handleByNamedList(v.WebGPUSystem,RF);N.handleByNamedList(v.WebGPUPipes,FF);N.handleByNamedList(v.WebGPUPipesAdaptor,kF);N.add(...F7,...k7,...O7);mv=class extends wn{constructor(){let e={name:"webgpu",type:je.WEBGPU,systems:RF,renderPipes:FF,renderPipeAdaptors:kF};super(e)}}});var Hl,UF=m(()=>{M();pe();as();In();Fu();ku();sa();vn();sp();br();Qt();Hl=class{init(){let e=new ve({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new O,type:"mat3x3<f32>"},uRound:{value:0,type:"f32"}}),t=or(),i=Yr({name:"graphics",bits:[Go,Lo(t),na,zr]});this.shader=new Je({glProgram:i,resources:{localUniforms:e,batchSamplers:No(t)}})}execute(e,t){let i=t.context,n=i.customShader||this.shader,s=e.renderer,o=s.graphicsContext,{batcher:a,instructions:l}=o.getContextRenderData(i);n.groups[0]=s.globalUniforms.bindGroup,s.state.set(e.state),s.shader.bind(n),s.geometry.bind(a.geometry,n.glProgram);let c=l.instructions;for(let u=0;u<l.instructionSize;u++){let A=c[u];if(A.size){for(let h=0;h<A.textures.count;h++)s.texture.bind(A.textures.textures[h],h);s.geometry.draw(A.topology,A.size,A.start)}}}destroy(){this.shader.destroy(!0),this.shader=null}};Hl.extension={type:[v.WebGLPipesAdaptor],name:"graphics"}});var Wl,LF=m(()=>{M();pe();In();sa();vn();NI();br();me();Be();Wl=class{init(){let e=Yr({name:"mesh",bits:[na,tR,zr]});this._shader=new Je({glProgram:e,resources:{uTexture:F.EMPTY.source,textureUniforms:{uTextureMatrix:{type:"mat3x3<f32>",value:new O}}}})}execute(e,t){let i=e.renderer,n=t._shader;if(n){if(!n.glProgram){q("Mesh shader has no glProgram",t.shader);return}}else{n=this._shader;let s=t.texture,o=s.source;n.resources.uTexture=o,n.resources.uSampler=o.style,n.resources.textureUniforms.uniforms.uTextureMatrix=s.textureMatrix.mapCoord}n.groups[100]=i.globalUniforms.bindGroup,n.groups[101]=e.localUniformsBindGroup,i.encoder.draw({geometry:t._geometry,shader:n,state:t.state})}destroy(){this._shader.destroy(!0),this._shader=null}};Wl.extension={type:[v.WebGLPipesAdaptor],name:"mesh"}});var ql,NF=m(()=>{M();ur();ql=class{constructor(){this._tempState=ze.for2d(),this._didUploadHash={}}init(e){e.renderer.runners.contextChange.add(this)}contextChange(){this._didUploadHash={}}start(e,t,i){let n=e.renderer,s=this._didUploadHash[i.uid];n.shader.bind(i,s),s||(this._didUploadHash[i.uid]=!0),n.shader.updateUniformGroup(n.globalUniforms.uniformGroup),n.geometry.bind(t,i.glProgram)}execute(e,t){let i=e.renderer;this._tempState.blendMode=t.blendMode,i.state.set(this._tempState);let n=t.textures.textures;for(let s=0;s<t.textures.count;s++)i.texture.bind(n[s],s);i.geometry.draw(t.topology,t.size,t.start)}};ql.extension={type:[v.WebGLPipesAdaptor],name:"batch"}});var jl,HF=m(()=>{"use strict";jl=(r=>(r[r.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",r[r.ARRAY_BUFFER=34962]="ARRAY_BUFFER",r[r.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",r))(jl||{})});var sg,WF=m(()=>{"use strict";sg=class{constructor(e,t){this._lastBindBaseLocation=-1,this._lastBindCallId=-1,this.buffer=e||null,this.updateID=-1,this.byteLength=-1,this.type=t}}});var Vl,qF=m(()=>{M();Bi();HF();WF();Vl=class{constructor(e){this._gpuBuffers=Object.create(null),this._boundBufferBases=Object.create(null),this._minBaseLocation=0,this._nextBindBaseIndex=this._minBaseLocation,this._bindCallId=0,this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_gpuBuffers")}destroy(){this._renderer=null,this._gl=null,this._gpuBuffers=null,this._boundBufferBases=null}contextChange(){let e=this._gl=this._renderer.gl;this._gpuBuffers=Object.create(null),this._maxBindings=e.MAX_UNIFORM_BUFFER_BINDINGS?e.getParameter(e.MAX_UNIFORM_BUFFER_BINDINGS):0}getGlBuffer(e){return this._gpuBuffers[e.uid]||this.createGLBuffer(e)}bind(e){let{_gl:t}=this,i=this.getGlBuffer(e);t.bindBuffer(i.type,i.buffer)}bindBufferBase(e,t){let{_gl:i}=this;this._boundBufferBases[t]!==e&&(this._boundBufferBases[t]=e,e._lastBindBaseLocation=t,i.bindBufferBase(i.UNIFORM_BUFFER,t,e.buffer))}nextBindBase(e){this._bindCallId++,this._minBaseLocation=0,e&&(this._boundBufferBases[0]=null,this._minBaseLocation=1,this._nextBindBaseIndex<1&&(this._nextBindBaseIndex=1))}freeLocationForBufferBase(e){let t=this.getLastBindBaseLocation(e);if(t>=this._minBaseLocation)return e._lastBindCallId=this._bindCallId,t;let i=0,n=this._nextBindBaseIndex;for(;i<2;){n>=this._maxBindings&&(n=this._minBaseLocation,i++);let s=this._boundBufferBases[n];if(s&&s._lastBindCallId===this._bindCallId){n++;continue}break}return t=n,this._nextBindBaseIndex=n+1,i>=2?-1:(e._lastBindCallId=this._bindCallId,this._boundBufferBases[t]=null,t)}getLastBindBaseLocation(e){let t=e._lastBindBaseLocation;return this._boundBufferBases[t]===e?t:-1}bindBufferRange(e,t,i,n){let{_gl:s}=this;i||(i=0),t||(t=0),this._boundBufferBases[t]=null,s.bindBufferRange(s.UNIFORM_BUFFER,t||0,e.buffer,i*256,n||256)}updateBuffer(e){let{_gl:t}=this,i=this.getGlBuffer(e);if(e._updateID===i.updateID)return i;i.updateID=e._updateID,t.bindBuffer(i.type,i.buffer);let n=e.data,s=e.descriptor.usage&he.STATIC?t.STATIC_DRAW:t.DYNAMIC_DRAW;return n?i.byteLength>=n.byteLength?t.bufferSubData(i.type,0,n,0,e._updateSize/n.BYTES_PER_ELEMENT):(i.byteLength=n.byteLength,t.bufferData(i.type,n,s)):(i.byteLength=e.descriptor.size,t.bufferData(i.type,i.byteLength,s)),i}destroyAll(){let e=this._gl;for(let t in this._gpuBuffers)e.deleteBuffer(this._gpuBuffers[t].buffer);this._gpuBuffers=Object.create(null)}onBufferDestroy(e,t){let i=this._gpuBuffers[e.uid],n=this._gl;t||n.deleteBuffer(i.buffer),this._gpuBuffers[e.uid]=null}createGLBuffer(e){let{_gl:t}=this,i=jl.ARRAY_BUFFER;e.descriptor.usage&he.INDEX?i=jl.ELEMENT_ARRAY_BUFFER:e.descriptor.usage&he.UNIFORM&&(i=jl.UNIFORM_BUFFER);let n=new sg(t.createBuffer(),i);return this._gpuBuffers[e.uid]=n,e.on("destroy",this.onBufferDestroy,this),n}resetState(){this._boundBufferBases=Object.create(null)}};Vl.extension={type:[v.WebGLSystem],name:"buffer"}});var yv,VF,YF=m(()=>{De();M();Be();yv=class jF{constructor(e){this.supports={uint32Indices:!0,uniformBufferObject:!0,vertexArrayObject:!0,srgbTextures:!0,nonPowOf2wrapping:!0,msaa:!0,nonPowOf2mipmaps:!0},this._renderer=e,this.extensions=Object.create(null),this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(e){this.gl=e,this._renderer.gl=e}init(e){e={...jF.defaultOptions,...e};let t=this.multiView=e.multiView;if(e.context&&t&&(q("Renderer created with both a context and multiview enabled. Disabling multiView as both cannot work together."),t=!1),t?this.canvas=X.get().createCanvas(this._renderer.canvas.width,this._renderer.canvas.height):this.canvas=this._renderer.view.canvas,e.context)this.initFromContext(e.context);else{let i=this._renderer.background.alpha<1,n=e.premultipliedAlpha??!0,s=e.antialias&&!this._renderer.backBuffer.useBackBuffer;this.createContext(e.preferWebGLVersion,{alpha:i,premultipliedAlpha:n,antialias:s,stencil:!0,preserveDrawingBuffer:e.preserveDrawingBuffer,powerPreference:e.powerPreference??"default"})}}ensureCanvasSize(e){if(!this.multiView){e!==this.canvas&&q("multiView is disabled, but targetCanvas is not the main canvas");return}let{canvas:t}=this;(t.width<e.width||t.height<e.height)&&(t.width=Math.max(e.width,e.width),t.height=Math.max(e.height,e.height))}initFromContext(e){this.gl=e,this.webGLVersion=e instanceof X.get().getWebGLRenderingContext()?1:2,this.getExtensions(),this.validateContext(e),this._renderer.runners.contextChange.emit(e);let t=this._renderer.view.canvas;t.addEventListener("webglcontextlost",this.handleContextLost,!1),t.addEventListener("webglcontextrestored",this.handleContextRestored,!1)}createContext(e,t){let i,n=this.canvas;if(e===2&&(i=n.getContext("webgl2",t)),!i&&(i=n.getContext("webgl",t),!i))throw new Error("This browser does not support WebGL. Try using the canvas renderer");this.gl=i,this.initFromContext(this.gl)}getExtensions(){let{gl:e}=this,t={anisotropicFiltering:e.getExtension("EXT_texture_filter_anisotropic"),floatTextureLinear:e.getExtension("OES_texture_float_linear"),s3tc:e.getExtension("WEBGL_compressed_texture_s3tc"),s3tc_sRGB:e.getExtension("WEBGL_compressed_texture_s3tc_srgb"),etc:e.getExtension("WEBGL_compressed_texture_etc"),etc1:e.getExtension("WEBGL_compressed_texture_etc1"),pvrtc:e.getExtension("WEBGL_compressed_texture_pvrtc")||e.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"),atc:e.getExtension("WEBGL_compressed_texture_atc"),astc:e.getExtension("WEBGL_compressed_texture_astc"),bptc:e.getExtension("EXT_texture_compression_bptc"),rgtc:e.getExtension("EXT_texture_compression_rgtc"),loseContext:e.getExtension("WEBGL_lose_context")};if(this.webGLVersion===1)this.extensions={...t,drawBuffers:e.getExtension("WEBGL_draw_buffers"),depthTexture:e.getExtension("WEBGL_depth_texture"),vertexArrayObject:e.getExtension("OES_vertex_array_object")||e.getExtension("MOZ_OES_vertex_array_object")||e.getExtension("WEBKIT_OES_vertex_array_object"),uint32ElementIndex:e.getExtension("OES_element_index_uint"),floatTexture:e.getExtension("OES_texture_float"),floatTextureLinear:e.getExtension("OES_texture_float_linear"),textureHalfFloat:e.getExtension("OES_texture_half_float"),textureHalfFloatLinear:e.getExtension("OES_texture_half_float_linear"),vertexAttribDivisorANGLE:e.getExtension("ANGLE_instanced_arrays"),srgb:e.getExtension("EXT_sRGB")};else{this.extensions={...t,colorBufferFloat:e.getExtension("EXT_color_buffer_float")};let i=e.getExtension("WEBGL_provoking_vertex");i&&i.provokingVertexWEBGL(i.FIRST_VERTEX_CONVENTION_WEBGL)}}handleContextLost(e){e.preventDefault(),this._contextLossForced&&(this._contextLossForced=!1,setTimeout(()=>{this.gl.isContextLost()&&this.extensions.loseContext?.restoreContext()},0))}handleContextRestored(){this.getExtensions(),this._renderer.runners.contextChange.emit(this.gl)}destroy(){let e=this._renderer.view.canvas;this._renderer=null,e.removeEventListener("webglcontextlost",this.handleContextLost),e.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext?.loseContext()}forceContextLoss(){this.extensions.loseContext?.loseContext(),this._contextLossForced=!0}validateContext(e){let t=e.getContextAttributes();t&&!t.stencil&&q("Provided WebGL context does not have a stencil buffer, masks may not render correctly");let i=this.supports,n=this.webGLVersion===2,s=this.extensions;i.uint32Indices=n||!!s.uint32ElementIndex,i.uniformBufferObject=n,i.vertexArrayObject=n||!!s.vertexArrayObject,i.srgbTextures=n||!!s.srgb,i.nonPowOf2wrapping=n,i.nonPowOf2mipmaps=n,i.msaa=n,i.uint32Indices||q("Provided WebGL context does not support 32 index buffer, large scenes may not render correctly")}};yv.extension={type:[v.WebGLSystem],name:"context"};yv.defaultOptions={context:null,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:void 0,preferWebGLVersion:2,multiView:!1};VF=yv});var og,Ev,Ee,_v=m(()=>{"use strict";og=(r=>(r[r.RGBA=6408]="RGBA",r[r.RGB=6407]="RGB",r[r.RG=33319]="RG",r[r.RED=6403]="RED",r[r.RGBA_INTEGER=36249]="RGBA_INTEGER",r[r.RGB_INTEGER=36248]="RGB_INTEGER",r[r.RG_INTEGER=33320]="RG_INTEGER",r[r.RED_INTEGER=36244]="RED_INTEGER",r[r.ALPHA=6406]="ALPHA",r[r.LUMINANCE=6409]="LUMINANCE",r[r.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",r[r.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",r[r.DEPTH_STENCIL=34041]="DEPTH_STENCIL",r))(og||{}),Ev=(r=>(r[r.TEXTURE_2D=3553]="TEXTURE_2D",r[r.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",r[r.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",r[r.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",r[r.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",r[r.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",r[r.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",r[r.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",r[r.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",r))(Ev||{}),Ee=(r=>(r[r.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",r[r.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",r[r.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",r[r.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",r[r.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",r[r.UNSIGNED_INT=5125]="UNSIGNED_INT",r[r.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",r[r.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",r[r.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",r[r.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",r[r.BYTE=5120]="BYTE",r[r.SHORT=5122]="SHORT",r[r.INT=5124]="INT",r[r.FLOAT=5126]="FLOAT",r[r.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",r[r.HALF_FLOAT=36193]="HALF_FLOAT",r))(Ee||{})});function zF(r){return KF[r]??KF.float32}var KF,XF=m(()=>{_v();KF={uint8x2:Ee.UNSIGNED_BYTE,uint8x4:Ee.UNSIGNED_BYTE,sint8x2:Ee.BYTE,sint8x4:Ee.BYTE,unorm8x2:Ee.UNSIGNED_BYTE,unorm8x4:Ee.UNSIGNED_BYTE,snorm8x2:Ee.BYTE,snorm8x4:Ee.BYTE,uint16x2:Ee.UNSIGNED_SHORT,uint16x4:Ee.UNSIGNED_SHORT,sint16x2:Ee.SHORT,sint16x4:Ee.SHORT,unorm16x2:Ee.UNSIGNED_SHORT,unorm16x4:Ee.UNSIGNED_SHORT,snorm16x2:Ee.SHORT,snorm16x4:Ee.SHORT,float16x2:Ee.HALF_FLOAT,float16x4:Ee.HALF_FLOAT,float32:Ee.FLOAT,float32x2:Ee.FLOAT,float32x3:Ee.FLOAT,float32x4:Ee.FLOAT,uint32:Ee.UNSIGNED_INT,uint32x2:Ee.UNSIGNED_INT,uint32x3:Ee.UNSIGNED_INT,uint32x4:Ee.UNSIGNED_INT,sint32:Ee.INT,sint32x2:Ee.INT,sint32x3:Ee.INT,sint32x4:Ee.INT}});var G7,Yl,JF=m(()=>{M();ls();hv();XF();G7={"point-list":0,"line-list":1,"line-strip":3,"triangle-list":4,"triangle-strip":5},Yl=class{constructor(e){this._geometryVaoHash=Object.create(null),this._renderer=e,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0,this._renderer.renderableGC.addManagedHash(this,"_geometryVaoHash")}contextChange(){let e=this.gl=this._renderer.gl;if(!this._renderer.context.supports.vertexArrayObject)throw new Error("[PixiJS] Vertex Array Objects are not supported on this device");let t=this._renderer.context.extensions.vertexArrayObject;t&&(e.createVertexArray=()=>t.createVertexArrayOES(),e.bindVertexArray=n=>t.bindVertexArrayOES(n),e.deleteVertexArray=n=>t.deleteVertexArrayOES(n));let i=this._renderer.context.extensions.vertexAttribDivisorANGLE;i&&(e.drawArraysInstanced=(n,s,o,a)=>{i.drawArraysInstancedANGLE(n,s,o,a)},e.drawElementsInstanced=(n,s,o,a,l)=>{i.drawElementsInstancedANGLE(n,s,o,a,l)},e.vertexAttribDivisor=(n,s)=>i.vertexAttribDivisorANGLE(n,s)),this._activeGeometry=null,this._activeVao=null,this._geometryVaoHash=Object.create(null)}bind(e,t){let i=this.gl;this._activeGeometry=e;let n=this.getVao(e,t);this._activeVao!==n&&(this._activeVao=n,i.bindVertexArray(n)),this.updateBuffers()}resetState(){this.unbind()}updateBuffers(){let e=this._activeGeometry,t=this._renderer.buffer;for(let i=0;i<e.buffers.length;i++){let n=e.buffers[i];t.updateBuffer(n)}}checkCompatibility(e,t){let i=e.attributes,n=t._attributeData;for(let s in n)if(!i[s])throw new Error(`shader and geometry incompatible, geometry missing the "${s}" attribute`)}getSignature(e,t){let i=e.attributes,n=t._attributeData,s=["g",e.uid];for(let o in i)n[o]&&s.push(o,n[o].location);return s.join("-")}getVao(e,t){return this._geometryVaoHash[e.uid]?.[t._key]||this.initGeometryVao(e,t)}initGeometryVao(e,t,i=!0){let n=this._renderer.gl,s=this._renderer.buffer;this._renderer.shader._getProgramData(t),this.checkCompatibility(e,t);let o=this.getSignature(e,t);this._geometryVaoHash[e.uid]||(this._geometryVaoHash[e.uid]=Object.create(null),e.on("destroy",this.onGeometryDestroy,this));let a=this._geometryVaoHash[e.uid],l=a[o];if(l)return a[t._key]=l,l;eg(e,t._attributeData);let c=e.buffers;l=n.createVertexArray(),n.bindVertexArray(l);for(let u=0;u<c.length;u++){let A=c[u];s.bind(A)}return this.activateVao(e,t),a[t._key]=l,a[o]=l,n.bindVertexArray(null),l}onGeometryDestroy(e,t){let i=this._geometryVaoHash[e.uid],n=this.gl;if(i){if(t)for(let s in i)this._activeVao!==i[s]&&this.unbind(),n.deleteVertexArray(i[s]);this._geometryVaoHash[e.uid]=null}}destroyAll(e=!1){let t=this.gl;for(let i in this._geometryVaoHash){if(e)for(let n in this._geometryVaoHash[i]){let s=this._geometryVaoHash[i];this._activeVao!==s&&this.unbind(),t.deleteVertexArray(s[n])}this._geometryVaoHash[i]=null}}activateVao(e,t){let i=this._renderer.gl,n=this._renderer.buffer,s=e.attributes;e.indexBuffer&&n.bind(e.indexBuffer);let o=null;for(let a in s){let l=s[a],c=l.buffer,u=n.getGlBuffer(c),A=t._attributeData[a];if(A){o!==u&&(n.bind(c),o=u);let h=A.location;i.enableVertexAttribArray(h);let d=jt(l.format),f=zF(l.format);if(A.format?.substring(1,4)==="int"?i.vertexAttribIPointer(h,d.size,f,l.stride,l.offset):i.vertexAttribPointer(h,d.size,f,d.normalised,l.stride,l.offset),l.instance)if(this.hasInstance){let g=l.divisor??1;i.vertexAttribDivisor(h,g)}else throw new Error("geometry error, GPU Instancing is not supported on this device")}}}draw(e,t,i,n){let{gl:s}=this._renderer,o=this._activeGeometry,a=G7[e||o.topology];if(n??(n=o.instanceCount),o.indexBuffer){let l=o.indexBuffer.data.BYTES_PER_ELEMENT,c=l===2?s.UNSIGNED_SHORT:s.UNSIGNED_INT;n>1?s.drawElementsInstanced(a,t||o.indexBuffer.data.length,c,(i||0)*l,n):s.drawElements(a,t||o.indexBuffer.data.length,c,(i||0)*l)}else n>1?s.drawArraysInstanced(a,i||0,t||o.getSize(),n):s.drawArrays(a,i||0,t||o.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this._renderer=null,this.gl=null,this._activeVao=null,this._activeGeometry=null}};Yl.extension={type:[v.WebGLSystem],name:"geometry"}});var U7,Iv,$F,ek=m(()=>{M();Be();yn();br();ur();qt();me();bi();U7=new Et({attributes:{aPosition:[-1,-1,3,-1,-1,3]}}),Iv=class ZF{constructor(e){this.useBackBuffer=!1,this._useBackBufferThisRender=!1,this._renderer=e}init(e={}){let{useBackBuffer:t,antialias:i}={...ZF.defaultOptions,...e};this.useBackBuffer=t,this._antialias=i,this._renderer.context.supports.msaa||(q("antialiasing, is not supported on when using the back buffer"),this._antialias=!1),this._state=ze.for2d();let n=new bt({vertex:`
|
|
937
|
+
attribute vec2 aPosition;
|
|
938
|
+
out vec2 vUv;
|
|
939
|
+
|
|
940
|
+
void main() {
|
|
941
|
+
gl_Position = vec4(aPosition, 0.0, 1.0);
|
|
942
|
+
|
|
943
|
+
vUv = (aPosition + 1.0) / 2.0;
|
|
944
|
+
|
|
945
|
+
// flip dem UVs
|
|
946
|
+
vUv.y = 1.0 - vUv.y;
|
|
947
|
+
}`,fragment:`
|
|
948
|
+
in vec2 vUv;
|
|
949
|
+
out vec4 finalColor;
|
|
950
|
+
|
|
951
|
+
uniform sampler2D uTexture;
|
|
952
|
+
|
|
953
|
+
void main() {
|
|
954
|
+
finalColor = texture(uTexture, vUv);
|
|
955
|
+
}`,name:"big-triangle"});this._bigTriangleShader=new Je({glProgram:n,resources:{uTexture:F.WHITE.source}})}renderStart(e){let t=this._renderer.renderTarget.getRenderTarget(e.target);if(this._useBackBufferThisRender=this.useBackBuffer&&!!t.isRoot,this._useBackBufferThisRender){let i=this._renderer.renderTarget.getRenderTarget(e.target);this._targetTexture=i.colorTexture,e.target=this._getBackBufferTexture(i.colorTexture)}}renderEnd(){this._presentBackBuffer()}_presentBackBuffer(){let e=this._renderer;e.renderTarget.finishRenderPass(),this._useBackBufferThisRender&&(e.renderTarget.bind(this._targetTexture,!1),this._bigTriangleShader.resources.uTexture=this._backBufferTexture.source,e.encoder.draw({geometry:U7,shader:this._bigTriangleShader,state:this._state}))}_getBackBufferTexture(e){return this._backBufferTexture=this._backBufferTexture||new F({source:new Ie({width:e.width,height:e.height,resolution:e._resolution,antialias:this._antialias})}),this._backBufferTexture.source.resize(e.width,e.height,e._resolution),this._backBufferTexture}destroy(){this._backBufferTexture&&(this._backBufferTexture.destroy(),this._backBufferTexture=null)}};Iv.extension={type:[v.WebGLSystem],name:"backBuffer",priority:1};Iv.defaultOptions={useBackBuffer:!1};$F=Iv});var Kl,tk=m(()=>{M();Kl=class{constructor(e){this._colorMaskCache=15,this._renderer=e}setMask(e){this._colorMaskCache!==e&&(this._colorMaskCache=e,this._renderer.gl.colorMask(!!(e&8),!!(e&4),!!(e&2),!!(e&1)))}};Kl.extension={type:[v.WebGLSystem],name:"colorMask"}});var zl,rk=m(()=>{M();zl=class{constructor(e){this.commandFinished=Promise.resolve(),this._renderer=e}setGeometry(e,t){this._renderer.geometry.bind(e,t.glProgram)}finishRenderPass(){}draw(e){let t=this._renderer,{geometry:i,shader:n,state:s,skipSync:o,topology:a,size:l,start:c,instanceCount:u}=e;t.shader.bind(n,o),t.geometry.bind(i,t.shader._activeProgram),s&&t.state.set(s),t.geometry.draw(a,l,c,u??i.instanceCount)}destroy(){this._renderer=null}};zl.extension={type:[v.WebGLSystem],name:"encoder"}});var Xl,ik=m(()=>{M();dv();us();Xl=class{constructor(e){this._stencilCache={enabled:!1,stencilReference:0,stencilMode:Ge.NONE},this._renderTargetStencilState=Object.create(null),e.renderTarget.onRenderTargetChange.add(this)}contextChange(e){this._gl=e,this._comparisonFuncMapping={always:e.ALWAYS,never:e.NEVER,equal:e.EQUAL,"not-equal":e.NOTEQUAL,less:e.LESS,"less-equal":e.LEQUAL,greater:e.GREATER,"greater-equal":e.GEQUAL},this._stencilOpsMapping={keep:e.KEEP,zero:e.ZERO,replace:e.REPLACE,invert:e.INVERT,"increment-clamp":e.INCR,"decrement-clamp":e.DECR,"increment-wrap":e.INCR_WRAP,"decrement-wrap":e.DECR_WRAP},this.resetState()}onRenderTargetChange(e){if(this._activeRenderTarget===e)return;this._activeRenderTarget=e;let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:Ge.DISABLED,stencilReference:0}),this.setStencilMode(t.stencilMode,t.stencilReference)}resetState(){this._stencilCache.enabled=!1,this._stencilCache.stencilMode=Ge.NONE,this._stencilCache.stencilReference=0}setStencilMode(e,t){let i=this._renderTargetStencilState[this._activeRenderTarget.uid],n=this._gl,s=$r[e],o=this._stencilCache;if(i.stencilMode=e,i.stencilReference=t,e===Ge.DISABLED){this._stencilCache.enabled&&(this._stencilCache.enabled=!1,n.disable(n.STENCIL_TEST));return}this._stencilCache.enabled||(this._stencilCache.enabled=!0,n.enable(n.STENCIL_TEST)),(e!==o.stencilMode||o.stencilReference!==t)&&(o.stencilMode=e,o.stencilReference=t,n.stencilFunc(this._comparisonFuncMapping[s.stencilBack.compare],t,255),n.stencilOp(n.KEEP,n.KEEP,this._stencilOpsMapping[s.stencilBack.passOp]))}};Xl.extension={type:[v.WebGLSystem],name:"stencil"}});function nk(r){let e=r.map(s=>({data:s,offset:0,size:0})),t=16,i=0,n=0;for(let s=0;s<e.length;s++){let o=e[s];if(i=vv[o.data.type],!i)throw new Error(`Unknown type ${o.data.type}`);o.data.size>1&&(i=Math.max(i,t)*o.data.size);let a=i===12?16:i;o.size=i;let l=n%t;l>0&&t-l<a?n+=(t-l)%16:n+=(i-l%i)%i,o.offset=n,n+=i}return n=Math.ceil(n/16)*16,{uboElements:e,size:n}}var vv,xv=m(()=>{"use strict";vv={f32:4,i32:4,"vec2<f32>":8,"vec3<f32>":12,"vec4<f32>":16,"vec2<i32>":8,"vec3<i32>":12,"vec4<i32>":16,"mat2x2<f32>":32,"mat3x3<f32>":48,"mat4x4<f32>":64}});function sk(r,e){let t=Math.max(vv[r.data.type]/16,1),i=r.data.value.length/r.data.size,n=(4-i%4)%4,s=r.data.type.indexOf("i32")>=0?"dataInt32":"data";return`
|
|
956
|
+
v = uv.${r.data.name};
|
|
957
|
+
offset += ${e};
|
|
958
|
+
|
|
959
|
+
arrayOffset = offset;
|
|
960
|
+
|
|
961
|
+
t = 0;
|
|
962
|
+
|
|
963
|
+
for(var i=0; i < ${r.data.size*t}; i++)
|
|
964
|
+
{
|
|
965
|
+
for(var j = 0; j < ${i}; j++)
|
|
966
|
+
{
|
|
967
|
+
${s}[arrayOffset++] = v[t++];
|
|
968
|
+
}
|
|
969
|
+
${n!==0?`arrayOffset += ${n};`:""}
|
|
970
|
+
}
|
|
971
|
+
`}var ok=m(()=>{xv()});function ak(r){return Jp(r,"uboStd40",sk,cv)}var uk=m(()=>{lv();Av();ok()});var Jl,lk=m(()=>{M();ov();xv();uk();Jl=class extends Aa{constructor(){super({createUboElements:nk,generateUboSync:ak})}};Jl.extension={type:[v.WebGLSystem],name:"ubo"}});var ag,ck=m(()=>{"use strict";ag=class{constructor(){this.width=-1,this.height=-1,this.msaa=!1,this.msaaRenderBuffer=[]}}});var ug,Ak=m(()=>{st();Be();Po();oa();ck();ug=class{constructor(){this._clearColorCache=[0,0,0,0],this._viewPortCache=new ee}init(e,t){this._renderer=e,this._renderTargetSystem=t,e.runners.contextChange.add(this)}contextChange(){this._clearColorCache=[0,0,0,0],this._viewPortCache=new ee}copyToTexture(e,t,i,n,s){let o=this._renderTargetSystem,a=this._renderer,l=o.getGpuRenderTarget(e),c=a.gl;return this.finishRenderPass(e),c.bindFramebuffer(c.FRAMEBUFFER,l.resolveTargetFramebuffer),a.texture.bind(t,0),c.copyTexSubImage2D(c.TEXTURE_2D,0,s.x,s.y,i.x,i.y,n.width,n.height),t}startRenderPass(e,t=!0,i,n){let s=this._renderTargetSystem,o=e.colorTexture,a=s.getGpuRenderTarget(e),l=n.y;e.isRoot&&(l=o.pixelHeight-n.height),e.colorTextures.forEach(A=>{this._renderer.texture.unbind(A)});let c=this._renderer.gl;c.bindFramebuffer(c.FRAMEBUFFER,a.framebuffer);let u=this._viewPortCache;(u.x!==n.x||u.y!==l||u.width!==n.width||u.height!==n.height)&&(u.x=n.x,u.y=l,u.width=n.width,u.height=n.height,c.viewport(n.x,l,n.width,n.height)),!a.depthStencilRenderBuffer&&(e.stencil||e.depth)&&this._initStencil(a),this.clear(e,t,i)}finishRenderPass(e){let i=this._renderTargetSystem.getGpuRenderTarget(e);if(!i.msaa)return;let n=this._renderer.gl;n.bindFramebuffer(n.FRAMEBUFFER,i.resolveTargetFramebuffer),n.bindFramebuffer(n.READ_FRAMEBUFFER,i.framebuffer),n.blitFramebuffer(0,0,i.width,i.height,0,0,i.width,i.height,n.COLOR_BUFFER_BIT,n.NEAREST),n.bindFramebuffer(n.FRAMEBUFFER,i.framebuffer)}initGpuRenderTarget(e){let i=this._renderer.gl,n=new ag,s=e.colorTexture;return Ct.test(s.resource)?(this._renderer.context.ensureCanvasSize(e.colorTexture.resource),n.framebuffer=null,n):(this._initColor(e,n),i.bindFramebuffer(i.FRAMEBUFFER,null),n)}destroyGpuRenderTarget(e){let t=this._renderer.gl;e.framebuffer&&(t.deleteFramebuffer(e.framebuffer),e.framebuffer=null),e.resolveTargetFramebuffer&&(t.deleteFramebuffer(e.resolveTargetFramebuffer),e.resolveTargetFramebuffer=null),e.depthStencilRenderBuffer&&(t.deleteRenderbuffer(e.depthStencilRenderBuffer),e.depthStencilRenderBuffer=null),e.msaaRenderBuffer.forEach(i=>{t.deleteRenderbuffer(i)}),e.msaaRenderBuffer=null}clear(e,t,i){if(!t)return;let n=this._renderTargetSystem;typeof t=="boolean"&&(t=t?ct.ALL:ct.NONE);let s=this._renderer.gl;if(t&ct.COLOR){i??(i=n.defaultClearColor);let o=this._clearColorCache,a=i;(o[0]!==a[0]||o[1]!==a[1]||o[2]!==a[2]||o[3]!==a[3])&&(o[0]=a[0],o[1]=a[1],o[2]=a[2],o[3]=a[3],s.clearColor(a[0],a[1],a[2],a[3]))}s.clear(t)}resizeGpuRenderTarget(e){if(e.isRoot)return;let i=this._renderTargetSystem.getGpuRenderTarget(e);this._resizeColor(e,i),(e.stencil||e.depth)&&this._resizeStencil(i)}_initColor(e,t){let i=this._renderer,n=i.gl,s=n.createFramebuffer();if(t.resolveTargetFramebuffer=s,n.bindFramebuffer(n.FRAMEBUFFER,s),t.width=e.colorTexture.source.pixelWidth,t.height=e.colorTexture.source.pixelHeight,e.colorTextures.forEach((o,a)=>{let l=o.source;l.antialias&&(i.context.supports.msaa?t.msaa=!0:q("[RenderTexture] Antialiasing on textures is not supported in WebGL1")),i.texture.bindSource(l,0);let u=i.texture.getGlSource(l).texture;n.framebufferTexture2D(n.FRAMEBUFFER,n.COLOR_ATTACHMENT0+a,3553,u,0)}),t.msaa){let o=n.createFramebuffer();t.framebuffer=o,n.bindFramebuffer(n.FRAMEBUFFER,o),e.colorTextures.forEach((a,l)=>{let c=n.createRenderbuffer();t.msaaRenderBuffer[l]=c})}else t.framebuffer=s;this._resizeColor(e,t)}_resizeColor(e,t){let i=e.colorTexture.source;if(t.width=i.pixelWidth,t.height=i.pixelHeight,e.colorTextures.forEach((n,s)=>{s!==0&&n.source.resize(i.width,i.height,i._resolution)}),t.msaa){let n=this._renderer,s=n.gl,o=t.framebuffer;s.bindFramebuffer(s.FRAMEBUFFER,o),e.colorTextures.forEach((a,l)=>{let c=a.source;n.texture.bindSource(c,0);let A=n.texture.getGlSource(c).internalFormat,h=t.msaaRenderBuffer[l];s.bindRenderbuffer(s.RENDERBUFFER,h),s.renderbufferStorageMultisample(s.RENDERBUFFER,4,A,c.pixelWidth,c.pixelHeight),s.framebufferRenderbuffer(s.FRAMEBUFFER,s.COLOR_ATTACHMENT0+l,s.RENDERBUFFER,h)})}}_initStencil(e){if(e.framebuffer===null)return;let t=this._renderer.gl,i=t.createRenderbuffer();e.depthStencilRenderBuffer=i,t.bindRenderbuffer(t.RENDERBUFFER,i),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,i),this._resizeStencil(e)}_resizeStencil(e){let t=this._renderer.gl;t.bindRenderbuffer(t.RENDERBUFFER,e.depthStencilRenderBuffer),e.msaa?t.renderbufferStorageMultisample(t.RENDERBUFFER,4,t.DEPTH24_STENCIL8,e.width,e.height):t.renderbufferStorage(t.RENDERBUFFER,this._renderer.context.webGLVersion===2?t.DEPTH24_STENCIL8:t.DEPTH_STENCIL,e.width,e.height)}prerender(e){let t=e.colorTexture.resource;this._renderer.context.multiView&&Ct.test(t)&&this._renderer.context.ensureCanvasSize(t)}postrender(e){if(this._renderer.context.multiView&&Ct.test(e.colorTexture.resource)){let t=this._renderer.context.canvas,i=e.colorTexture;i.context2D.drawImage(t,0,i.pixelHeight-t.height)}}}});var Zl,hk=m(()=>{M();fv();Ak();Zl=class extends da{constructor(e){super(e),this.adaptor=new ug,this.adaptor.init(e,this)}};Zl.extension={type:[v.WebGLSystem],name:"renderTarget"}});function dk(r,e){let t=[],i=[`
|
|
972
|
+
var g = s.groups;
|
|
973
|
+
var sS = r.shader;
|
|
974
|
+
var p = s.glProgram;
|
|
975
|
+
var ugS = r.uniformGroup;
|
|
976
|
+
var resources;
|
|
977
|
+
`],n=!1,s=0,o=e._getProgramData(r.glProgram);for(let l in r.groups){let c=r.groups[l];t.push(`
|
|
978
|
+
resources = g[${l}].resources;
|
|
979
|
+
`);for(let u in c.resources){let A=c.resources[u];if(A instanceof ve)if(A.ubo){let h=r._uniformBindMap[l][Number(u)];t.push(`
|
|
980
|
+
sS.bindUniformBlock(
|
|
981
|
+
resources[${u}],
|
|
982
|
+
'${h}',
|
|
983
|
+
${r.glProgram._uniformBlockData[h].index}
|
|
984
|
+
);
|
|
985
|
+
`)}else t.push(`
|
|
986
|
+
ugS.updateUniformGroup(resources[${u}], p, sD);
|
|
987
|
+
`);else if(A instanceof Qn){let h=r._uniformBindMap[l][Number(u)];t.push(`
|
|
988
|
+
sS.bindUniformBlock(
|
|
989
|
+
resources[${u}],
|
|
990
|
+
'${h}',
|
|
991
|
+
${r.glProgram._uniformBlockData[h].index}
|
|
992
|
+
);
|
|
993
|
+
`)}else if(A instanceof Ie){let h=r._uniformBindMap[l][u],d=o.uniformData[h];d&&(n||(n=!0,i.push(`
|
|
994
|
+
var tS = r.texture;
|
|
995
|
+
`)),e._gl.uniform1i(d.location,s),t.push(`
|
|
996
|
+
tS.bind(resources[${u}], ${s});
|
|
997
|
+
`),s++)}}}let a=[...i,...t].join(`
|
|
998
|
+
`);return new Function("r","s","sD",a)}var fk=m(()=>{Zp();Qt();qt()});var lg,pk=m(()=>{"use strict";lg=class{constructor(e,t){this.program=e,this.uniformData=t,this.uniformGroups={},this.uniformDirtyGroups={},this.uniformBlockBindings={}}destroy(){this.uniformData=null,this.uniformGroups=null,this.uniformDirtyGroups=null,this.uniformBlockBindings=null,this.program=null}}});function Bv(r,e,t){let i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}var gk=m(()=>{"use strict"});function Cv(r){let e=new Array(r);for(let t=0;t<e.length;t++)e[t]=!1;return e}function cg(r,e){switch(r){case"float":return 0;case"vec2":return new Float32Array(2*e);case"vec3":return new Float32Array(3*e);case"vec4":return new Float32Array(4*e);case"int":case"uint":case"sampler2D":case"sampler2DArray":return 0;case"ivec2":return new Int32Array(2*e);case"ivec3":return new Int32Array(3*e);case"ivec4":return new Int32Array(4*e);case"uvec2":return new Uint32Array(2*e);case"uvec3":return new Uint32Array(3*e);case"uvec4":return new Uint32Array(4*e);case"bool":return!1;case"bvec2":return Cv(2*e);case"bvec3":return Cv(3*e);case"bvec4":return Cv(4*e);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 bv=m(()=>{"use strict"});function wv(r,e){if(!Ag){let t=Object.keys(mk);Ag={};for(let i=0;i<t.length;++i){let n=t[i];Ag[r[n]]=mk[n]}}return Ag[e]}function yk(r,e){let t=wv(r,e);return L7[t]||"float32"}var Ag,mk,L7,Qv=m(()=>{"use strict";Ag=null,mk={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"},L7={float:"float32",vec2:"float32x2",vec3:"float32x3",vec4:"float32x4",int:"sint32",ivec2:"sint32x2",ivec3:"sint32x3",ivec4:"sint32x4",uint:"uint32",uvec2:"uint32x2",uvec3:"uint32x3",uvec4:"uint32x4",bool:"uint32",bvec2:"uint32x2",bvec3:"uint32x3",bvec4:"uint32x4"}});function Ek(r,e,t=!1){let i={},n=e.getProgramParameter(r,e.ACTIVE_ATTRIBUTES);for(let o=0;o<n;o++){let a=e.getActiveAttrib(r,o);if(a.name.startsWith("gl_"))continue;let l=yk(e,a.type);i[a.name]={location:0,format:l,stride:jt(l).stride,offset:0,instance:!1,start:0}}let s=Object.keys(i);if(t){s.sort((o,a)=>o>a?1:-1);for(let o=0;o<s.length;o++)i[s[o]].location=o,e.bindAttribLocation(r,o,s[o]);e.linkProgram(r)}else for(let o=0;o<s.length;o++)i[s[o]].location=e.getAttribLocation(r,s[o]);return i}var _k=m(()=>{ls();Qv()});function Ik(r,e){if(!e.ACTIVE_UNIFORM_BLOCKS)return{};let t={},i=e.getProgramParameter(r,e.ACTIVE_UNIFORM_BLOCKS);for(let n=0;n<i;n++){let s=e.getActiveUniformBlockName(r,n),o=e.getUniformBlockIndex(r,s),a=e.getActiveUniformBlockParameter(r,n,e.UNIFORM_BLOCK_DATA_SIZE);t[s]={name:s,index:o,size:a}}return t}var vk=m(()=>{"use strict"});function xk(r,e){let t={},i=e.getProgramParameter(r,e.ACTIVE_UNIFORMS);for(let n=0;n<i;n++){let s=e.getActiveUniform(r,n),o=s.name.replace(/\[.*?\]$/,""),a=!!s.name.match(/\[.*?\]$/),l=wv(e,s.type);t[o]={name:o,index:n,type:l,size:s.size,isArray:a,value:cg(l,s.size)}}return t}var Bk=m(()=>{bv();Qv()});function Ck(r,e){let t=r.getShaderSource(e).split(`
|
|
999
|
+
`).map((c,u)=>`${u}: ${c}`),i=r.getShaderInfoLog(e),n=i.split(`
|
|
1000
|
+
`),s={},o=n.map(c=>parseFloat(c.replace(/^ERROR\: 0\:([\d]+)\:.*$/,"$1"))).filter(c=>c&&!s[c]?(s[c]=!0,!0):!1),a=[""];o.forEach(c=>{t[c-1]=`%c${t[c-1]}%c`,a.push("background: #FF0000; color:#FFFFFF; font-size: 10px","font-size: 10px")});let l=t.join(`
|
|
1001
|
+
`);a[0]=l,console.error(i),console.groupCollapsed("click to view full shader code"),console.warn(...a),console.groupEnd()}function bk(r,e,t,i){r.getProgramParameter(e,r.LINK_STATUS)||(r.getShaderParameter(t,r.COMPILE_STATUS)||Ck(r,t),r.getShaderParameter(i,r.COMPILE_STATUS)||Ck(r,i),console.error("PixiJS Error: Could not initialize shader."),r.getProgramInfoLog(e)!==""&&console.warn("PixiJS Warning: gl.getProgramInfoLog()",r.getProgramInfoLog(e)))}var wk=m(()=>{"use strict"});function Qk(r,e){let t=Bv(r,r.VERTEX_SHADER,e.vertex),i=Bv(r,r.FRAGMENT_SHADER,e.fragment),n=r.createProgram();r.attachShader(n,t),r.attachShader(n,i);let s=e.transformFeedbackVaryings;s&&(typeof r.transformFeedbackVaryings!="function"?q("TransformFeedback is not supported but TransformFeedbackVaryings are given."):r.transformFeedbackVaryings(n,s.names,s.bufferMode==="separate"?r.SEPARATE_ATTRIBS:r.INTERLEAVED_ATTRIBS)),r.linkProgram(n),r.getProgramParameter(n,r.LINK_STATUS)||bk(r,n,t,i),e._attributeData=Ek(n,r,!/^[ \t]*#[ \t]*version[ \t]+300[ \t]+es[ \t]*$/m.test(e.vertex)),e._uniformData=xk(n,r),e._uniformBlockData=Ik(n,r),r.deleteShader(t),r.deleteShader(i);let o={};for(let l in e._uniformData){let c=e._uniformData[l];o[l]={location:r.getUniformLocation(n,l),value:cg(c.type,c.size)}}return new lg(n,o)}var Sk=m(()=>{Be();pk();gk();bv();_k();vk();Bk();wk()});var hg,$l,Tk=m(()=>{M();as();fk();Sk();hg={textureCount:0,blockIndex:0},$l=class{constructor(e){this._activeProgram=null,this._programDataHash=Object.create(null),this._shaderSyncFunctions=Object.create(null),this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_programDataHash")}contextChange(e){this._gl=e,this._programDataHash=Object.create(null),this._shaderSyncFunctions=Object.create(null),this._activeProgram=null,this.maxTextures=or()}bind(e,t){if(this._setProgram(e.glProgram),t)return;hg.textureCount=0,hg.blockIndex=0;let i=this._shaderSyncFunctions[e.glProgram._key];i||(i=this._shaderSyncFunctions[e.glProgram._key]=this._generateShaderSync(e,this)),this._renderer.buffer.nextBindBase(!!e.glProgram.transformFeedbackVaryings),i(this._renderer,e,hg)}updateUniformGroup(e){this._renderer.uniformGroup.updateUniformGroup(e,this._activeProgram,hg)}bindUniformBlock(e,t,i=0){let n=this._renderer.buffer,s=this._getProgramData(this._activeProgram),o=e._bufferResource;o||this._renderer.ubo.updateUniformGroup(e);let a=e.buffer,l=n.updateBuffer(a),c=n.freeLocationForBufferBase(l);if(o){let{offset:A,size:h}=e;A===0&&h===a.data.byteLength?n.bindBufferBase(l,c):n.bindBufferRange(l,c,A)}else n.getLastBindBaseLocation(l)!==c&&n.bindBufferBase(l,c);let u=this._activeProgram._uniformBlockData[t].index;s.uniformBlockBindings[i]!==c&&(s.uniformBlockBindings[i]=c,this._renderer.gl.uniformBlockBinding(s.program,u,c))}_setProgram(e){if(this._activeProgram===e)return;this._activeProgram=e;let t=this._getProgramData(e);this._gl.useProgram(t.program)}_getProgramData(e){return this._programDataHash[e._key]||this._createProgramData(e)}_createProgramData(e){let t=e._key;return this._programDataHash[t]=Qk(this._gl,e),this._programDataHash[t]}destroy(){for(let e of Object.keys(this._programDataHash))this._programDataHash[e].destroy(),this._programDataHash[e]=null;this._programDataHash=null}_generateShaderSync(e,t){return dk(e,t)}resetState(){this._activeProgram=null}};$l.extension={type:[v.WebGLSystem],name:"shader"}});var Mk,Pk,Dk=m(()=>{"use strict";Mk={f32:`if (cv !== v) {
|
|
1002
|
+
cu.value = v;
|
|
1003
|
+
gl.uniform1f(location, v);
|
|
1004
|
+
}`,"vec2<f32>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
|
|
1005
|
+
cv[0] = v[0];
|
|
1006
|
+
cv[1] = v[1];
|
|
1007
|
+
gl.uniform2f(location, v[0], v[1]);
|
|
1008
|
+
}`,"vec3<f32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
|
|
1009
|
+
cv[0] = v[0];
|
|
1010
|
+
cv[1] = v[1];
|
|
1011
|
+
cv[2] = v[2];
|
|
1012
|
+
gl.uniform3f(location, v[0], v[1], v[2]);
|
|
1013
|
+
}`,"vec4<f32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
|
|
1014
|
+
cv[0] = v[0];
|
|
1015
|
+
cv[1] = v[1];
|
|
1016
|
+
cv[2] = v[2];
|
|
1017
|
+
cv[3] = v[3];
|
|
1018
|
+
gl.uniform4f(location, v[0], v[1], v[2], v[3]);
|
|
1019
|
+
}`,i32:`if (cv !== v) {
|
|
1020
|
+
cu.value = v;
|
|
1021
|
+
gl.uniform1i(location, v);
|
|
1022
|
+
}`,"vec2<i32>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
|
|
1023
|
+
cv[0] = v[0];
|
|
1024
|
+
cv[1] = v[1];
|
|
1025
|
+
gl.uniform2i(location, v[0], v[1]);
|
|
1026
|
+
}`,"vec3<i32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
|
|
1027
|
+
cv[0] = v[0];
|
|
1028
|
+
cv[1] = v[1];
|
|
1029
|
+
cv[2] = v[2];
|
|
1030
|
+
gl.uniform3i(location, v[0], v[1], v[2]);
|
|
1031
|
+
}`,"vec4<i32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
|
|
1032
|
+
cv[0] = v[0];
|
|
1033
|
+
cv[1] = v[1];
|
|
1034
|
+
cv[2] = v[2];
|
|
1035
|
+
cv[3] = v[3];
|
|
1036
|
+
gl.uniform4i(location, v[0], v[1], v[2], v[3]);
|
|
1037
|
+
}`,u32:`if (cv !== v) {
|
|
1038
|
+
cu.value = v;
|
|
1039
|
+
gl.uniform1ui(location, v);
|
|
1040
|
+
}`,"vec2<u32>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
|
|
1041
|
+
cv[0] = v[0];
|
|
1042
|
+
cv[1] = v[1];
|
|
1043
|
+
gl.uniform2ui(location, v[0], v[1]);
|
|
1044
|
+
}`,"vec3<u32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
|
|
1045
|
+
cv[0] = v[0];
|
|
1046
|
+
cv[1] = v[1];
|
|
1047
|
+
cv[2] = v[2];
|
|
1048
|
+
gl.uniform3ui(location, v[0], v[1], v[2]);
|
|
1049
|
+
}`,"vec4<u32>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
|
|
1050
|
+
cv[0] = v[0];
|
|
1051
|
+
cv[1] = v[1];
|
|
1052
|
+
cv[2] = v[2];
|
|
1053
|
+
cv[3] = v[3];
|
|
1054
|
+
gl.uniform4ui(location, v[0], v[1], v[2], v[3]);
|
|
1055
|
+
}`,bool:`if (cv !== v) {
|
|
1056
|
+
cu.value = v;
|
|
1057
|
+
gl.uniform1i(location, v);
|
|
1058
|
+
}`,"vec2<bool>":`if (cv[0] !== v[0] || cv[1] !== v[1]) {
|
|
1059
|
+
cv[0] = v[0];
|
|
1060
|
+
cv[1] = v[1];
|
|
1061
|
+
gl.uniform2i(location, v[0], v[1]);
|
|
1062
|
+
}`,"vec3<bool>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2]) {
|
|
1063
|
+
cv[0] = v[0];
|
|
1064
|
+
cv[1] = v[1];
|
|
1065
|
+
cv[2] = v[2];
|
|
1066
|
+
gl.uniform3i(location, v[0], v[1], v[2]);
|
|
1067
|
+
}`,"vec4<bool>":`if (cv[0] !== v[0] || cv[1] !== v[1] || cv[2] !== v[2] || cv[3] !== v[3]) {
|
|
1068
|
+
cv[0] = v[0];
|
|
1069
|
+
cv[1] = v[1];
|
|
1070
|
+
cv[2] = v[2];
|
|
1071
|
+
cv[3] = v[3];
|
|
1072
|
+
gl.uniform4i(location, v[0], v[1], v[2], v[3]);
|
|
1073
|
+
}`,"mat2x2<f32>":"gl.uniformMatrix2fv(location, false, v);","mat3x3<f32>":"gl.uniformMatrix3fv(location, false, v);","mat4x4<f32>":"gl.uniformMatrix4fv(location, false, v);"},Pk={f32:"gl.uniform1fv(location, v);","vec2<f32>":"gl.uniform2fv(location, v);","vec3<f32>":"gl.uniform3fv(location, v);","vec4<f32>":"gl.uniform4fv(location, v);","mat2x2<f32>":"gl.uniformMatrix2fv(location, false, v);","mat3x3<f32>":"gl.uniformMatrix3fv(location, false, v);","mat4x4<f32>":"gl.uniformMatrix4fv(location, false, v);",i32:"gl.uniform1iv(location, v);","vec2<i32>":"gl.uniform2iv(location, v);","vec3<i32>":"gl.uniform3iv(location, v);","vec4<i32>":"gl.uniform4iv(location, v);",u32:"gl.uniform1iv(location, v);","vec2<u32>":"gl.uniform2iv(location, v);","vec3<u32>":"gl.uniform3iv(location, v);","vec4<u32>":"gl.uniform4iv(location, v);",bool:"gl.uniform1iv(location, v);","vec2<bool>":"gl.uniform2iv(location, v);","vec3<bool>":"gl.uniform3iv(location, v);","vec4<bool>":"gl.uniform4iv(location, v);"}});function Rk(r,e){let t=[`
|
|
1074
|
+
var v = null;
|
|
1075
|
+
var cv = null;
|
|
1076
|
+
var cu = null;
|
|
1077
|
+
var t = 0;
|
|
1078
|
+
var gl = renderer.gl;
|
|
1079
|
+
var name = null;
|
|
1080
|
+
`];for(let i in r.uniforms){if(!e[i]){r.uniforms[i]instanceof ve?r.uniforms[i].ubo?t.push(`
|
|
1081
|
+
renderer.shader.bindUniformBlock(uv.${i}, "${i}");
|
|
1082
|
+
`):t.push(`
|
|
1083
|
+
renderer.shader.updateUniformGroup(uv.${i});
|
|
1084
|
+
`):r.uniforms[i]instanceof Qn&&t.push(`
|
|
1085
|
+
renderer.shader.bindBufferResource(uv.${i}, "${i}");
|
|
1086
|
+
`);continue}let n=r.uniformStructures[i],s=!1;for(let o=0;o<Ti.length;o++){let a=Ti[o];if(n.type===a.type&&a.test(n)){t.push(`name = "${i}";`,Ti[o].uniform),s=!0;break}}if(!s){let a=(n.size===1?Mk:Pk)[n.type].replace("location",`ud["${i}"].location`);t.push(`
|
|
1087
|
+
cu = ud["${i}"];
|
|
1088
|
+
cv = cu.value;
|
|
1089
|
+
v = uv["${i}"];
|
|
1090
|
+
${a};`)}}return new Function("ud","uv","renderer","syncData",t.join(`
|
|
1091
|
+
`))}var Fk=m(()=>{Zp();Qt();uv();Dk()});var ec,kk=m(()=>{M();Fk();ec=class{constructor(e){this._cache={},this._uniformGroupSyncHash={},this._renderer=e,this.gl=null,this._cache={}}contextChange(e){this.gl=e}updateUniformGroup(e,t,i){let n=this._renderer.shader._getProgramData(t);(!e.isStatic||e._dirtyId!==n.uniformDirtyGroups[e.uid])&&(n.uniformDirtyGroups[e.uid]=e._dirtyId,this._getUniformSyncFunction(e,t)(n.uniformData,e.uniforms,this._renderer,i))}_getUniformSyncFunction(e,t){return this._uniformGroupSyncHash[e._signature]?.[t._key]||this._createUniformSyncFunction(e,t)}_createUniformSyncFunction(e,t){let i=this._uniformGroupSyncHash[e._signature]||(this._uniformGroupSyncHash[e._signature]={}),n=this._getSignature(e,t._uniformData,"u");return this._cache[n]||(this._cache[n]=this._generateUniformsSync(e,t._uniformData)),i[t._key]=this._cache[n],i[t._key]}_generateUniformsSync(e,t){return Rk(e,t)}_getSignature(e,t,i){let n=e.uniforms,s=[`${i}-`];for(let o in n)s.push(o),t[o]&&s.push(t[o].type);return s.join("-")}destroy(){this._renderer=null,this._cache=null}};ec.extension={type:[v.WebGLSystem],name:"uniformGroup"}});function Ok(r){let e={};if(e.normal=[r.ONE,r.ONE_MINUS_SRC_ALPHA],e.add=[r.ONE,r.ONE],e.multiply=[r.DST_COLOR,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA],e.screen=[r.ONE,r.ONE_MINUS_SRC_COLOR,r.ONE,r.ONE_MINUS_SRC_ALPHA],e.none=[0,0],e["normal-npm"]=[r.SRC_ALPHA,r.ONE_MINUS_SRC_ALPHA,r.ONE,r.ONE_MINUS_SRC_ALPHA],e["add-npm"]=[r.SRC_ALPHA,r.ONE,r.ONE,r.ONE],e["screen-npm"]=[r.SRC_ALPHA,r.ONE_MINUS_SRC_COLOR,r.ONE,r.ONE_MINUS_SRC_ALPHA],e.erase=[r.ZERO,r.ONE_MINUS_SRC_ALPHA],!(r instanceof X.get().getWebGLRenderingContext()))e.min=[r.ONE,r.ONE,r.ONE,r.ONE,r.MIN,r.MIN],e.max=[r.ONE,r.ONE,r.ONE,r.ONE,r.MAX,r.MAX];else{let i=r.getExtension("EXT_blend_minmax");i&&(e.min=[r.ONE,r.ONE,r.ONE,r.ONE,i.MIN_EXT,i.MIN_EXT],e.max=[r.ONE,r.ONE,r.ONE,r.ONE,i.MAX_EXT,i.MAX_EXT])}return e}var Gk=m(()=>{De()});var N7,H7,W7,q7,j7,V7,Uk,Lk,Nk=m(()=>{M();ur();Gk();N7=0,H7=1,W7=2,q7=3,j7=4,V7=5,Uk=class Sv{constructor(e){this._invertFrontFace=!1,this.gl=null,this.stateId=0,this.polygonOffset=0,this.blendMode="none",this._blendEq=!1,this.map=[],this.map[N7]=this.setBlend,this.map[H7]=this.setOffset,this.map[W7]=this.setCullFace,this.map[q7]=this.setDepthTest,this.map[j7]=this.setFrontFace,this.map[V7]=this.setDepthMask,this.checks=[],this.defaultState=ze.for2d(),e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){this._invertFrontFace=!e.isRoot,this._cullFace?this.setFrontFace(this._frontFace):this._frontFaceDirty=!0}contextChange(e){this.gl=e,this.blendModesMap=Ok(e),this.resetState()}set(e){if(e||(e=this.defaultState),this.stateId!==e.data){let t=this.stateId^e.data,i=0;for(;t;)t&1&&this.map[i].call(this,!!(e.data&1<<i)),t>>=1,i++;this.stateId=e.data}for(let t=0;t<this.checks.length;t++)this.checks[t](this,e)}forceState(e){e||(e=this.defaultState);for(let t=0;t<this.map.length;t++)this.map[t].call(this,!!(e.data&1<<t));for(let t=0;t<this.checks.length;t++)this.checks[t](this,e);this.stateId=e.data}setBlend(e){this._updateCheck(Sv._checkBlendMode,e),this.gl[e?"enable":"disable"](this.gl.BLEND)}setOffset(e){this._updateCheck(Sv._checkPolygonOffset,e),this.gl[e?"enable":"disable"](this.gl.POLYGON_OFFSET_FILL)}setDepthTest(e){this.gl[e?"enable":"disable"](this.gl.DEPTH_TEST)}setDepthMask(e){this.gl.depthMask(e)}setCullFace(e){this._cullFace=e,this.gl[e?"enable":"disable"](this.gl.CULL_FACE),this._cullFace&&this._frontFaceDirty&&this.setFrontFace(this._frontFace)}setFrontFace(e){this._frontFace=e,this._frontFaceDirty=!1;let t=this._invertFrontFace?!e:e;this._glFrontFace!==t&&(this._glFrontFace=t,this.gl.frontFace(this.gl[t?"CW":"CCW"]))}setBlendMode(e){if(this.blendModesMap[e]||(e="normal"),e===this.blendMode)return;this.blendMode=e;let t=this.blendModesMap[e],i=this.gl;t.length===2?i.blendFunc(t[0],t[1]):i.blendFuncSeparate(t[0],t[1],t[2],t[3]),t.length===6?(this._blendEq=!0,i.blendEquationSeparate(t[4],t[5])):this._blendEq&&(this._blendEq=!1,i.blendEquationSeparate(i.FUNC_ADD,i.FUNC_ADD))}setPolygonOffset(e,t){this.gl.polygonOffset(e,t)}resetState(){this._glFrontFace=!1,this._frontFace=!1,this._cullFace=!1,this._frontFaceDirty=!1,this._invertFrontFace=!1,this.gl.frontFace(this.gl.CCW),this.gl.pixelStorei(this.gl.UNPACK_FLIP_Y_WEBGL,!1),this.forceState(this.defaultState),this._blendEq=!0,this.blendMode="",this.setBlendMode("normal")}_updateCheck(e,t){let i=this.checks.indexOf(e);t&&i===-1?this.checks.push(e):!t&&i!==-1&&this.checks.splice(i,1)}static _checkBlendMode(e,t){e.setBlendMode(t.blendMode)}static _checkPolygonOffset(e,t){e.setPolygonOffset(1,t.polygonOffset)}destroy(){this.gl=null,this.checks.length=0}};Uk.extension={type:[v.WebGLSystem],name:"state"};Lk=Uk});var dg,Hk=m(()=>{_v();dg=class{constructor(e){this.target=Ev.TEXTURE_2D,this.texture=e,this.width=-1,this.height=-1,this.type=Ee.UNSIGNED_BYTE,this.internalFormat=og.RGBA,this.format=og.RGBA,this.samplerType=0}}});var Wk,qk=m(()=>{"use strict";Wk={id:"buffer",upload(r,e,t){e.width===r.width||e.height===r.height?t.texSubImage2D(t.TEXTURE_2D,0,0,0,r.width,r.height,e.format,e.type,r.resource):t.texImage2D(e.target,0,e.internalFormat,r.width,r.height,0,e.format,e.type,r.resource),e.width=r.width,e.height=r.height}}});var Y7,jk,Vk=m(()=>{"use strict";Y7={"bc1-rgba-unorm":!0,"bc1-rgba-unorm-srgb":!0,"bc2-rgba-unorm":!0,"bc2-rgba-unorm-srgb":!0,"bc3-rgba-unorm":!0,"bc3-rgba-unorm-srgb":!0,"bc4-r-unorm":!0,"bc4-r-snorm":!0,"bc5-rg-unorm":!0,"bc5-rg-snorm":!0,"bc6h-rgb-ufloat":!0,"bc6h-rgb-float":!0,"bc7-rgba-unorm":!0,"bc7-rgba-unorm-srgb":!0,"etc2-rgb8unorm":!0,"etc2-rgb8unorm-srgb":!0,"etc2-rgb8a1unorm":!0,"etc2-rgb8a1unorm-srgb":!0,"etc2-rgba8unorm":!0,"etc2-rgba8unorm-srgb":!0,"eac-r11unorm":!0,"eac-r11snorm":!0,"eac-rg11unorm":!0,"eac-rg11snorm":!0,"astc-4x4-unorm":!0,"astc-4x4-unorm-srgb":!0,"astc-5x4-unorm":!0,"astc-5x4-unorm-srgb":!0,"astc-5x5-unorm":!0,"astc-5x5-unorm-srgb":!0,"astc-6x5-unorm":!0,"astc-6x5-unorm-srgb":!0,"astc-6x6-unorm":!0,"astc-6x6-unorm-srgb":!0,"astc-8x5-unorm":!0,"astc-8x5-unorm-srgb":!0,"astc-8x6-unorm":!0,"astc-8x6-unorm-srgb":!0,"astc-8x8-unorm":!0,"astc-8x8-unorm-srgb":!0,"astc-10x5-unorm":!0,"astc-10x5-unorm-srgb":!0,"astc-10x6-unorm":!0,"astc-10x6-unorm-srgb":!0,"astc-10x8-unorm":!0,"astc-10x8-unorm-srgb":!0,"astc-10x10-unorm":!0,"astc-10x10-unorm-srgb":!0,"astc-12x10-unorm":!0,"astc-12x10-unorm-srgb":!0,"astc-12x12-unorm":!0,"astc-12x12-unorm-srgb":!0},jk={id:"compressed",upload(r,e,t){t.pixelStorei(t.UNPACK_ALIGNMENT,4);let i=r.pixelWidth,n=r.pixelHeight,s=!!Y7[r.format];for(let o=0;o<r.resource.length;o++){let a=r.resource[o];s?t.compressedTexImage2D(t.TEXTURE_2D,o,e.internalFormat,i,n,0,a):t.texImage2D(t.TEXTURE_2D,o,e.internalFormat,i,n,0,e.format,e.type,a),i=Math.max(i>>1,1),n=Math.max(n>>1,1)}}}});var fg,Tv=m(()=>{"use strict";fg={id:"image",upload(r,e,t,i){let n=e.width,s=e.height,o=r.pixelWidth,a=r.pixelHeight,l=r.resourceWidth,c=r.resourceHeight;l<o||c<a?((n!==o||s!==a)&&t.texImage2D(e.target,0,e.internalFormat,o,a,0,e.format,e.type,null),i===2?t.texSubImage2D(t.TEXTURE_2D,0,0,0,l,c,e.format,e.type,r.resource):t.texSubImage2D(t.TEXTURE_2D,0,0,0,e.format,e.type,r.resource)):n===o&&s===a?t.texSubImage2D(t.TEXTURE_2D,0,0,0,e.format,e.type,r.resource):i===2?t.texImage2D(e.target,0,e.internalFormat,o,a,0,e.format,e.type,r.resource):t.texImage2D(e.target,0,e.internalFormat,e.format,e.type,r.resource),e.width=o,e.height=a}}});var Yk,Kk=m(()=>{Tv();Yk={id:"video",upload(r,e,t,i){if(!r.isValid){t.texImage2D(e.target,0,e.internalFormat,1,1,0,e.format,e.type,null);return}fg.upload(r,e,t,i)}}});var Mv,zk,pg,Xk,Jk=m(()=>{"use strict";Mv={linear:9729,nearest:9728},zk={linear:{linear:9987,nearest:9985},nearest:{linear:9986,nearest:9984}},pg={"clamp-to-edge":33071,repeat:10497,"mirror-repeat":33648},Xk={never:512,less:513,equal:514,"less-equal":515,greater:516,"not-equal":517,"greater-equal":518,always:519}});function Pv(r,e,t,i,n,s,o,a){let l=s;if(!a||r.addressModeU!=="repeat"||r.addressModeV!=="repeat"||r.addressModeW!=="repeat"){let c=pg[o?"clamp-to-edge":r.addressModeU],u=pg[o?"clamp-to-edge":r.addressModeV],A=pg[o?"clamp-to-edge":r.addressModeW];e[n](l,e.TEXTURE_WRAP_S,c),e[n](l,e.TEXTURE_WRAP_T,u),e.TEXTURE_WRAP_R&&e[n](l,e.TEXTURE_WRAP_R,A)}if((!a||r.magFilter!=="linear")&&e[n](l,e.TEXTURE_MAG_FILTER,Mv[r.magFilter]),t){if(!a||r.mipmapFilter!=="linear"){let c=zk[r.minFilter][r.mipmapFilter];e[n](l,e.TEXTURE_MIN_FILTER,c)}}else e[n](l,e.TEXTURE_MIN_FILTER,Mv[r.minFilter]);if(i&&r.maxAnisotropy>1){let c=Math.min(r.maxAnisotropy,e.getParameter(i.MAX_TEXTURE_MAX_ANISOTROPY_EXT));e[n](l,i.TEXTURE_MAX_ANISOTROPY_EXT,c)}r.compare&&e[n](l,e.TEXTURE_COMPARE_FUNC,Xk[r.compare])}var Zk=m(()=>{Jk()});function $k(r){return{r8unorm:r.RED,r8snorm:r.RED,r8uint:r.RED,r8sint:r.RED,r16uint:r.RED,r16sint:r.RED,r16float:r.RED,rg8unorm:r.RG,rg8snorm:r.RG,rg8uint:r.RG,rg8sint:r.RG,r32uint:r.RED,r32sint:r.RED,r32float:r.RED,rg16uint:r.RG,rg16sint:r.RG,rg16float:r.RG,rgba8unorm:r.RGBA,"rgba8unorm-srgb":r.RGBA,rgba8snorm:r.RGBA,rgba8uint:r.RGBA,rgba8sint:r.RGBA,bgra8unorm:r.RGBA,"bgra8unorm-srgb":r.RGBA,rgb9e5ufloat:r.RGB,rgb10a2unorm:r.RGBA,rg11b10ufloat:r.RGB,rg32uint:r.RG,rg32sint:r.RG,rg32float:r.RG,rgba16uint:r.RGBA,rgba16sint:r.RGBA,rgba16float:r.RGBA,rgba32uint:r.RGBA,rgba32sint:r.RGBA,rgba32float:r.RGBA,stencil8:r.STENCIL_INDEX8,depth16unorm:r.DEPTH_COMPONENT,depth24plus:r.DEPTH_COMPONENT,"depth24plus-stencil8":r.DEPTH_STENCIL,depth32float:r.DEPTH_COMPONENT,"depth32float-stencil8":r.DEPTH_STENCIL}}var eO=m(()=>{"use strict"});function tO(r,e){let t={},i=r.RGBA;return r instanceof X.get().getWebGLRenderingContext()?e.srgb&&(t={"rgba8unorm-srgb":e.srgb.SRGB8_ALPHA8_EXT,"bgra8unorm-srgb":e.srgb.SRGB8_ALPHA8_EXT}):(t={"rgba8unorm-srgb":r.SRGB8_ALPHA8,"bgra8unorm-srgb":r.SRGB8_ALPHA8},i=r.RGBA8),{r8unorm:r.R8,r8snorm:r.R8_SNORM,r8uint:r.R8UI,r8sint:r.R8I,r16uint:r.R16UI,r16sint:r.R16I,r16float:r.R16F,rg8unorm:r.RG8,rg8snorm:r.RG8_SNORM,rg8uint:r.RG8UI,rg8sint:r.RG8I,r32uint:r.R32UI,r32sint:r.R32I,r32float:r.R32F,rg16uint:r.RG16UI,rg16sint:r.RG16I,rg16float:r.RG16F,rgba8unorm:r.RGBA,...t,rgba8snorm:r.RGBA8_SNORM,rgba8uint:r.RGBA8UI,rgba8sint:r.RGBA8I,bgra8unorm:i,rgb9e5ufloat:r.RGB9_E5,rgb10a2unorm:r.RGB10_A2,rg11b10ufloat:r.R11F_G11F_B10F,rg32uint:r.RG32UI,rg32sint:r.RG32I,rg32float:r.RG32F,rgba16uint:r.RGBA16UI,rgba16sint:r.RGBA16I,rgba16float:r.RGBA16F,rgba32uint:r.RGBA32UI,rgba32sint:r.RGBA32I,rgba32float:r.RGBA32F,stencil8:r.STENCIL_INDEX8,depth16unorm:r.DEPTH_COMPONENT16,depth24plus:r.DEPTH_COMPONENT24,"depth24plus-stencil8":r.DEPTH24_STENCIL8,depth32float:r.DEPTH_COMPONENT32F,"depth32float-stencil8":r.DEPTH32F_STENCIL8,...e.s3tc?{"bc1-rgba-unorm":e.s3tc.COMPRESSED_RGBA_S3TC_DXT1_EXT,"bc2-rgba-unorm":e.s3tc.COMPRESSED_RGBA_S3TC_DXT3_EXT,"bc3-rgba-unorm":e.s3tc.COMPRESSED_RGBA_S3TC_DXT5_EXT}:{},...e.s3tc_sRGB?{"bc1-rgba-unorm-srgb":e.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,"bc2-rgba-unorm-srgb":e.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,"bc3-rgba-unorm-srgb":e.s3tc_sRGB.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT}:{},...e.rgtc?{"bc4-r-unorm":e.rgtc.COMPRESSED_RED_RGTC1_EXT,"bc4-r-snorm":e.rgtc.COMPRESSED_SIGNED_RED_RGTC1_EXT,"bc5-rg-unorm":e.rgtc.COMPRESSED_RED_GREEN_RGTC2_EXT,"bc5-rg-snorm":e.rgtc.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT}:{},...e.bptc?{"bc6h-rgb-float":e.bptc.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT,"bc6h-rgb-ufloat":e.bptc.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT,"bc7-rgba-unorm":e.bptc.COMPRESSED_RGBA_BPTC_UNORM_EXT,"bc7-rgba-unorm-srgb":e.bptc.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT}:{},...e.etc?{"etc2-rgb8unorm":e.etc.COMPRESSED_RGB8_ETC2,"etc2-rgb8unorm-srgb":e.etc.COMPRESSED_SRGB8_ETC2,"etc2-rgb8a1unorm":e.etc.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,"etc2-rgb8a1unorm-srgb":e.etc.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,"etc2-rgba8unorm":e.etc.COMPRESSED_RGBA8_ETC2_EAC,"etc2-rgba8unorm-srgb":e.etc.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,"eac-r11unorm":e.etc.COMPRESSED_R11_EAC,"eac-rg11unorm":e.etc.COMPRESSED_SIGNED_RG11_EAC}:{},...e.astc?{"astc-4x4-unorm":e.astc.COMPRESSED_RGBA_ASTC_4x4_KHR,"astc-4x4-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,"astc-5x4-unorm":e.astc.COMPRESSED_RGBA_ASTC_5x4_KHR,"astc-5x4-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR,"astc-5x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_5x5_KHR,"astc-5x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,"astc-6x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_6x5_KHR,"astc-6x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,"astc-6x6-unorm":e.astc.COMPRESSED_RGBA_ASTC_6x6_KHR,"astc-6x6-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,"astc-8x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_8x5_KHR,"astc-8x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,"astc-8x6-unorm":e.astc.COMPRESSED_RGBA_ASTC_8x6_KHR,"astc-8x6-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,"astc-8x8-unorm":e.astc.COMPRESSED_RGBA_ASTC_8x8_KHR,"astc-8x8-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,"astc-10x5-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x5_KHR,"astc-10x5-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,"astc-10x6-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x6_KHR,"astc-10x6-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,"astc-10x8-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x8_KHR,"astc-10x8-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,"astc-10x10-unorm":e.astc.COMPRESSED_RGBA_ASTC_10x10_KHR,"astc-10x10-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,"astc-12x10-unorm":e.astc.COMPRESSED_RGBA_ASTC_12x10_KHR,"astc-12x10-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,"astc-12x12-unorm":e.astc.COMPRESSED_RGBA_ASTC_12x12_KHR,"astc-12x12-unorm-srgb":e.astc.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR}:{}}}var rO=m(()=>{De()});function iO(r){return{r8unorm:r.UNSIGNED_BYTE,r8snorm:r.BYTE,r8uint:r.UNSIGNED_BYTE,r8sint:r.BYTE,r16uint:r.UNSIGNED_SHORT,r16sint:r.SHORT,r16float:r.HALF_FLOAT,rg8unorm:r.UNSIGNED_BYTE,rg8snorm:r.BYTE,rg8uint:r.UNSIGNED_BYTE,rg8sint:r.BYTE,r32uint:r.UNSIGNED_INT,r32sint:r.INT,r32float:r.FLOAT,rg16uint:r.UNSIGNED_SHORT,rg16sint:r.SHORT,rg16float:r.HALF_FLOAT,rgba8unorm:r.UNSIGNED_BYTE,"rgba8unorm-srgb":r.UNSIGNED_BYTE,rgba8snorm:r.BYTE,rgba8uint:r.UNSIGNED_BYTE,rgba8sint:r.BYTE,bgra8unorm:r.UNSIGNED_BYTE,"bgra8unorm-srgb":r.UNSIGNED_BYTE,rgb9e5ufloat:r.UNSIGNED_INT_5_9_9_9_REV,rgb10a2unorm:r.UNSIGNED_INT_2_10_10_10_REV,rg11b10ufloat:r.UNSIGNED_INT_10F_11F_11F_REV,rg32uint:r.UNSIGNED_INT,rg32sint:r.INT,rg32float:r.FLOAT,rgba16uint:r.UNSIGNED_SHORT,rgba16sint:r.SHORT,rgba16float:r.HALF_FLOAT,rgba32uint:r.UNSIGNED_INT,rgba32sint:r.INT,rgba32float:r.FLOAT,stencil8:r.UNSIGNED_BYTE,depth16unorm:r.UNSIGNED_SHORT,depth24plus:r.UNSIGNED_INT,"depth24plus-stencil8":r.UNSIGNED_INT_24_8,depth32float:r.FLOAT,"depth32float-stencil8":r.FLOAT_32_UNSIGNED_INT_24_8_REV}}var nO=m(()=>{"use strict"});var K7,tc,sO=m(()=>{De();M();me();Hk();qk();Vk();Tv();Kk();Zk();eO();rO();nO();K7=4,tc=class{constructor(e){this.managedTextures=[],this._glTextures=Object.create(null),this._glSamplers=Object.create(null),this._boundTextures=[],this._activeTextureLocation=-1,this._boundSamplers=Object.create(null),this._uploads={image:fg,buffer:Wk,video:Yk,compressed:jk},this._premultiplyAlpha=!1,this._useSeparateSamplers=!1,this._renderer=e,this._renderer.renderableGC.addManagedHash(this,"_glTextures"),this._renderer.renderableGC.addManagedHash(this,"_glSamplers")}contextChange(e){this._gl=e,this._mapFormatToInternalFormat||(this._mapFormatToInternalFormat=tO(e,this._renderer.context.extensions),this._mapFormatToType=iO(e),this._mapFormatToFormat=$k(e)),this._glTextures=Object.create(null),this._glSamplers=Object.create(null),this._boundSamplers=Object.create(null),this._premultiplyAlpha=!1;for(let t=0;t<16;t++)this.bind(F.EMPTY,t)}initSource(e){this.bind(e)}bind(e,t=0){let i=e.source;e?(this.bindSource(i,t),this._useSeparateSamplers&&this._bindSampler(i.style,t)):(this.bindSource(null,t),this._useSeparateSamplers&&this._bindSampler(null,t))}bindSource(e,t=0){let i=this._gl;if(e._touched=this._renderer.textureGC.count,this._boundTextures[t]!==e){this._boundTextures[t]=e,this._activateLocation(t),e||(e=F.EMPTY.source);let n=this.getGlSource(e);i.bindTexture(n.target,n.texture)}}_bindSampler(e,t=0){let i=this._gl;if(!e){this._boundSamplers[t]=null,i.bindSampler(t,null);return}let n=this._getGlSampler(e);this._boundSamplers[t]!==n&&(this._boundSamplers[t]=n,i.bindSampler(t,n))}unbind(e){let t=e.source,i=this._boundTextures,n=this._gl;for(let s=0;s<i.length;s++)if(i[s]===t){this._activateLocation(s);let o=this.getGlSource(t);n.bindTexture(o.target,null),i[s]=null}}_activateLocation(e){this._activeTextureLocation!==e&&(this._activeTextureLocation=e,this._gl.activeTexture(this._gl.TEXTURE0+e))}_initSource(e){let t=this._gl,i=new dg(t.createTexture());if(i.type=this._mapFormatToType[e.format],i.internalFormat=this._mapFormatToInternalFormat[e.format],i.format=this._mapFormatToFormat[e.format],e.autoGenerateMipmaps&&(this._renderer.context.supports.nonPowOf2mipmaps||e.isPowerOfTwo)){let n=Math.max(e.width,e.height);e.mipLevelCount=Math.floor(Math.log2(n))+1}return this._glTextures[e.uid]=i,this.managedTextures.includes(e)||(e.on("update",this.onSourceUpdate,this),e.on("resize",this.onSourceUpdate,this),e.on("styleChange",this.onStyleChange,this),e.on("destroy",this.onSourceDestroy,this),e.on("unload",this.onSourceUnload,this),e.on("updateMipmaps",this.onUpdateMipmaps,this),this.managedTextures.push(e)),this.onSourceUpdate(e),this.updateStyle(e,!1),i}onStyleChange(e){this.updateStyle(e,!1)}updateStyle(e,t){let i=this._gl,n=this.getGlSource(e);i.bindTexture(i.TEXTURE_2D,n.texture),this._boundTextures[this._activeTextureLocation]=e,Pv(e.style,i,e.mipLevelCount>1,this._renderer.context.extensions.anisotropicFiltering,"texParameteri",i.TEXTURE_2D,!this._renderer.context.supports.nonPowOf2wrapping&&!e.isPowerOfTwo,t)}onSourceUnload(e){let t=this._glTextures[e.uid];t&&(this.unbind(e),this._glTextures[e.uid]=null,this._gl.deleteTexture(t.texture))}onSourceUpdate(e){let t=this._gl,i=this.getGlSource(e);t.bindTexture(t.TEXTURE_2D,i.texture),this._boundTextures[this._activeTextureLocation]=e;let n=e.alphaMode==="premultiply-alpha-on-upload";this._premultiplyAlpha!==n&&(this._premultiplyAlpha=n,t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,n)),this._uploads[e.uploadMethodId]?this._uploads[e.uploadMethodId].upload(e,i,t,this._renderer.context.webGLVersion):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e.pixelWidth,e.pixelHeight,0,t.RGBA,t.UNSIGNED_BYTE,null),e.autoGenerateMipmaps&&e.mipLevelCount>1&&this.onUpdateMipmaps(e,!1)}onUpdateMipmaps(e,t=!0){t&&this.bindSource(e,0);let i=this.getGlSource(e);this._gl.generateMipmap(i.target)}onSourceDestroy(e){e.off("destroy",this.onSourceDestroy,this),e.off("update",this.onSourceUpdate,this),e.off("resize",this.onSourceUpdate,this),e.off("unload",this.onSourceUnload,this),e.off("styleChange",this.onStyleChange,this),e.off("updateMipmaps",this.onUpdateMipmaps,this),this.managedTextures.splice(this.managedTextures.indexOf(e),1),this.onSourceUnload(e)}_initSampler(e){let t=this._gl,i=this._gl.createSampler();return this._glSamplers[e._resourceId]=i,Pv(e,t,this._boundTextures[this._activeTextureLocation].mipLevelCount>1,this._renderer.context.extensions.anisotropicFiltering,"samplerParameteri",i,!1,!0),this._glSamplers[e._resourceId]}_getGlSampler(e){return this._glSamplers[e._resourceId]||this._initSampler(e)}getGlSource(e){return this._glTextures[e.uid]||this._initSource(e)}generateCanvas(e){let{pixels:t,width:i,height:n}=this.getPixels(e),s=X.get().createCanvas();s.width=i,s.height=n;let o=s.getContext("2d");if(o){let a=o.createImageData(i,n);a.data.set(t),o.putImageData(a,0,0)}return s}getPixels(e){let t=e.source.resolution,i=e.frame,n=Math.max(Math.round(i.width*t),1),s=Math.max(Math.round(i.height*t),1),o=new Uint8Array(K7*n*s),a=this._renderer,l=a.renderTarget.getRenderTarget(e),c=a.renderTarget.getGpuRenderTarget(l),u=a.gl;return u.bindFramebuffer(u.FRAMEBUFFER,c.resolveTargetFramebuffer),u.readPixels(Math.round(i.x*t),Math.round(i.y*t),n,s,u.RGBA,u.UNSIGNED_BYTE,o),{pixels:new Uint8ClampedArray(o.buffer),width:n,height:s}}destroy(){this.managedTextures.slice().forEach(e=>this.onSourceDestroy(e)),this.managedTextures=null,this._renderer=null}resetState(){this._activeTextureLocation=-1,this._boundTextures.fill(F.EMPTY.source),this._boundSamplers=Object.create(null);let e=this._gl;this._premultiplyAlpha=!1,e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,this._premultiplyAlpha)}};tc.extension={type:[v.WebGLSystem],name:"texture"}});var lO={};Ga(lO,{WebGLRenderer:()=>Dv});var z7,X7,J7,oO,aO,uO,Dv,cO=m(()=>{M();UF();LF();NF();al();sv();ar();qF();YF();JF();ek();tk();rk();ik();lk();hk();Tk();kk();Nk();sO();z7=[...zp,Jl,$F,VF,Vl,tc,Zl,Yl,ec,$l,zl,Lk,Xl,Kl],X7=[...Xp],J7=[ql,Wl,Hl],oO=[],aO=[],uO=[];N.handleByNamedList(v.WebGLSystem,oO);N.handleByNamedList(v.WebGLPipes,aO);N.handleByNamedList(v.WebGLPipesAdaptor,uO);N.add(...z7,...X7,...J7);Dv=class extends wn{constructor(){let e={name:"webgl",type:je.WEBGL,systems:oO,renderPipes:aO,renderPipeAdaptors:uO};super(e)}}});async function hO(r){let e=[];r.preference?(e.push(r.preference),AO.forEach(s=>{s!==r.preference&&e.push(s)})):e=AO.slice();let t,i={};for(let s=0;s<e.length;s++){let o=e[s];if(o==="webgpu"&&await JD()){let{WebGPURenderer:a}=await Promise.resolve().then(()=>(GF(),OF));t=a,i={...r,...r.webgpu};break}else if(o==="webgl"&&zD(r.failIfMajorPerformanceCaveat??wn.defaultOptions.failIfMajorPerformanceCaveat)){let{WebGLRenderer:a}=await Promise.resolve().then(()=>(cO(),lO));t=a,i={...r,...r.webgl};break}else if(o==="canvas")throw i={...r},new Error("CanvasRenderer is not yet implemented")}if(delete i.webgpu,delete i.webgl,!t)throw new Error("No available renderer for the current environment");let n=new t;return await n.init(i),n}var AO,dO=m(()=>{XD();ZD();al();AO=["webgl","webgpu","canvas"]});var fO,gg,pO=m(()=>{M();dO();Br();VI();Pe();fO=class Rv{constructor(...e){this.stage=new Ae,e[0]!==void 0&&W(J,"Application constructor options are deprecated, please use Application.init() instead.")}async init(e){e={...e},this.renderer=await hO(e),Rv._plugins.forEach(t=>{t.init.call(this,e)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return W(J,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(e=!1,t=!1){let i=Rv._plugins.slice(0);i.reverse(),i.forEach(n=>{n.destroy.call(this)}),this.stage.destroy(t),this.stage=null,this.renderer.destroy(e),this.renderer=null}};fO._plugins=[];gg=fO;N.handleByList(v.Application,gg._plugins);N.add(ml)});var rc,gO=m(()=>{st();me();II();bI();rc=class extends ta{constructor(e,t){super();let{textures:i,data:n}=e;Object.keys(n.pages).forEach(s=>{let o=n.pages[parseInt(s,10)],a=i[o.id];this.pages.push({texture:a})}),Object.keys(n.chars).forEach(s=>{let o=n.chars[s],{frame:a,source:l}=i[o.page],c=new ee(o.x+a.x,o.y+a.y,o.width,o.height),u=new F({source:l,frame:c});this.chars[s]={id:s.codePointAt(0),xOffset:o.xOffset,yOffset:o.yOffset,xAdvance:o.xAdvance,kerning:o.kerning??{},texture:u}}),this.baseRenderedFontSize=n.fontSize,this.baseMeasurementFontSize=n.fontSize,this.fontMetrics={ascent:0,descent:0,fontSize:n.fontSize},this.baseLineOffset=n.baseLineOffset,this.lineHeight=n.lineHeight,this.fontFamily=n.fontFamily,this.distanceField=n.distanceField??{type:"none",range:0},this.url=t}destroy(){super.destroy();for(let e=0;e<this.pages.length;e++){let{texture:t}=this.pages[e];t.destroy(!0)}this.pages=null}static install(e){Ju.install(e)}static uninstall(e){Ju.uninstall(e)}}});var mg,mO=m(()=>{"use strict";mg={test(r){return typeof r=="string"&&r.startsWith("info face=")},parse(r){let e=r.match(/^[a-z]+\s+.+$/gm),t={info:[],common:[],page:[],char:[],chars:[],kerning:[],kernings:[],distanceField:[]};for(let A in e){let h=e[A].match(/^[a-z]+/gm)[0],d=e[A].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),f={};for(let g in d){let p=d[g].split("="),I=p[0],x=p[1].replace(/"/gm,""),B=parseFloat(x),w=isNaN(B)?x:B;f[I]=w}t[h].push(f)}let i={chars:{},pages:[],lineHeight:0,fontSize:0,fontFamily:"",distanceField:null,baseLineOffset:0},[n]=t.info,[s]=t.common,[o]=t.distanceField??[];o&&(i.distanceField={range:parseInt(o.distanceRange,10),type:o.fieldType}),i.fontSize=parseInt(n.size,10),i.fontFamily=n.face,i.lineHeight=parseInt(s.lineHeight,10);let a=t.page;for(let A=0;A<a.length;A++)i.pages.push({id:parseInt(a[A].id,10)||0,file:a[A].file});let l={};i.baseLineOffset=i.lineHeight-parseInt(s.base,10);let c=t.char;for(let A=0;A<c.length;A++){let h=c[A],d=parseInt(h.id,10),f=h.letter??h.char??String.fromCharCode(d);f==="space"&&(f=" "),l[d]=f,i.chars[f]={id:d,page:parseInt(h.page,10)||0,x:parseInt(h.x,10),y:parseInt(h.y,10),width:parseInt(h.width,10),height:parseInt(h.height,10),xOffset:parseInt(h.xoffset,10),yOffset:parseInt(h.yoffset,10),xAdvance:parseInt(h.xadvance,10),kerning:{}}}let u=t.kerning||[];for(let A=0;A<u.length;A++){let h=parseInt(u[A].first,10),d=parseInt(u[A].second,10),f=parseInt(u[A].amount,10);i.chars[l[d]].kerning[l[h]]=f}return i}}});var Fv,yO=m(()=>{"use strict";Fv={test(r){let e=r;return typeof e!="string"&&"getElementsByTagName"in e&&e.getElementsByTagName("page").length&&e.getElementsByTagName("info")[0].getAttribute("face")!==null},parse(r){let e={chars:{},pages:[],lineHeight:0,fontSize:0,fontFamily:"",distanceField:null,baseLineOffset:0},t=r.getElementsByTagName("info")[0],i=r.getElementsByTagName("common")[0],n=r.getElementsByTagName("distanceField")[0];n&&(e.distanceField={type:n.getAttribute("fieldType"),range:parseInt(n.getAttribute("distanceRange"),10)});let s=r.getElementsByTagName("page"),o=r.getElementsByTagName("char"),a=r.getElementsByTagName("kerning");e.fontSize=parseInt(t.getAttribute("size"),10),e.fontFamily=t.getAttribute("face"),e.lineHeight=parseInt(i.getAttribute("lineHeight"),10);for(let c=0;c<s.length;c++)e.pages.push({id:parseInt(s[c].getAttribute("id"),10)||0,file:s[c].getAttribute("file")});let l={};e.baseLineOffset=e.lineHeight-parseInt(i.getAttribute("base"),10);for(let c=0;c<o.length;c++){let u=o[c],A=parseInt(u.getAttribute("id"),10),h=u.getAttribute("letter")??u.getAttribute("char")??String.fromCharCode(A);h==="space"&&(h=" "),l[A]=h,e.chars[h]={id:A,page:parseInt(u.getAttribute("page"),10)||0,x:parseInt(u.getAttribute("x"),10),y:parseInt(u.getAttribute("y"),10),width:parseInt(u.getAttribute("width"),10),height:parseInt(u.getAttribute("height"),10),xOffset:parseInt(u.getAttribute("xoffset"),10),yOffset:parseInt(u.getAttribute("yoffset"),10),xAdvance:parseInt(u.getAttribute("xadvance"),10),kerning:{}}}for(let c=0;c<a.length;c++){let u=parseInt(a[c].getAttribute("first"),10),A=parseInt(a[c].getAttribute("second"),10),h=parseInt(a[c].getAttribute("amount"),10);e.chars[l[A]].kerning[l[u]]=h}return e}}});var kv,EO=m(()=>{De();yO();kv={test(r){return typeof r=="string"&&r.includes("<font>")?Fv.test(X.get().parseXML(r)):!1},parse(r){return Fv.parse(X.get().parseXML(r))}}});var Z7,_O,IO,vO=m(()=>{pn();jE();De();M();ns();gO();mO();EO();Z7=[".xml",".fnt"],_O={extension:{type:v.CacheParser,name:"cacheBitmapFont"},test:r=>r instanceof rc,getCacheableAssets(r,e){let t={};return r.forEach(i=>{t[i]=e,t[`${i}-bitmap`]=e}),t[`${e.fontFamily}-bitmap`]=e,t}},IO={extension:{type:v.LoadParser,priority:Rt.Normal},name:"loadBitmapFont",test(r){return Z7.includes(at.extname(r).toLowerCase())},async testParse(r){return mg.test(r)||kv.test(r)},async parse(r,e,t){let i=mg.test(r)?mg.parse(r):kv.parse(r),{src:n}=e,{pages:s}=i,o=[],a=i.distanceField?{scaleMode:"linear",alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:!1,resolution:1}:{};for(let A=0;A<s.length;++A){let h=s[A].file,d=at.join(at.dirname(n),h);d=Cu(d,n),o.push({src:d,data:a})}let l=await t.load(o),c=o.map(A=>l[A.src]);return new rc({data:i,textures:c},n)},async load(r,e){return await(await X.get().fetch(r)).text()},async unload(r,e,t){await Promise.all(r.pages.map(i=>t.unload(i.texture.source._sourceOrigin))),r.destroy()}}});var yg,xO=m(()=>{"use strict";yg=class{constructor(e,t=!1){this._loader=e,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=t}add(e){e.forEach(t=>{this._assetList.push(t)}),this.verbose&&console.log("[BackgroundLoader] assets: ",this._assetList),this._isActive&&!this._isLoading&&this._next()}async _next(){if(this._assetList.length&&this._isActive){this._isLoading=!0;let e=[],t=Math.min(this._assetList.length,this._maxConcurrent);for(let i=0;i<t;i++)e.push(this._assetList.pop());await this._loader.load(e),this._isLoading=!1,this._next()}}get active(){return this._isActive}set active(e){this._isActive!==e&&(this._isActive=e,e&&!this._isLoading&&this._next())}}});var BO,CO=m(()=>{M();me();BO={extension:{type:v.CacheParser,name:"cacheTextureArray"},test:r=>Array.isArray(r)&&r.every(e=>e instanceof F),getCacheableAssets:(r,e)=>{let t={};return r.forEach(i=>{e.forEach((n,s)=>{t[i+(s===0?"":s+1)]=n})}),t}}});async function Eg(r){if("Image"in globalThis)return new Promise(e=>{let t=new Image;t.onload=()=>{e(!0)},t.onerror=()=>{e(!1)},t.src=r});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{let e=await(await fetch(r)).blob();await createImageBitmap(e)}catch{return!1}return!0}return!1}var Ov=m(()=>{"use strict"});var bO,wO=m(()=>{M();Ov();bO={extension:{type:v.DetectionParser,priority:1},test:async()=>Eg("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async r=>[...r,"avif"],remove:async r=>r.filter(e=>e!=="avif")}});var QO,SO,TO=m(()=>{M();QO=["png","jpg","jpeg"],SO={extension:{type:v.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async r=>[...r,...QO],remove:async r=>r.filter(e=>!QO.includes(e))}});function fa(r){return $7?!1:document.createElement("video").canPlayType(r)!==""}var $7,_g=m(()=>{"use strict";$7="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope});var MO,PO=m(()=>{M();_g();MO={extension:{type:v.DetectionParser,priority:0},test:async()=>fa("video/mp4"),add:async r=>[...r,"mp4","m4v"],remove:async r=>r.filter(e=>e!=="mp4"&&e!=="m4v")}});var DO,RO=m(()=>{M();_g();DO={extension:{type:v.DetectionParser,priority:0},test:async()=>fa("video/ogg"),add:async r=>[...r,"ogv"],remove:async r=>r.filter(e=>e!=="ogv")}});var FO,kO=m(()=>{M();_g();FO={extension:{type:v.DetectionParser,priority:0},test:async()=>fa("video/webm"),add:async r=>[...r,"webm"],remove:async r=>r.filter(e=>e!=="webm")}});var OO,GO=m(()=>{M();Ov();OO={extension:{type:v.DetectionParser,priority:0},test:async()=>Eg("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async r=>[...r,"webp"],remove:async r=>r.filter(e=>e!=="webp")}});var Ig,UO=m(()=>{Be();ns();Bu();Wf();Ig=class{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(e,t,i)=>(this._parsersValidated=!1,e[t]=i,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(e,t){let i={promise:null,parser:null};return i.promise=(async()=>{let n=null,s=null;if(t.loadParser&&(s=this._parserHash[t.loadParser],s||q(`[Assets] specified load parser "${t.loadParser}" not found while loading ${e}`)),!s){for(let o=0;o<this.parsers.length;o++){let a=this.parsers[o];if(a.load&&a.test?.(e,t,this)){s=a;break}}if(!s)return q(`[Assets] ${e} could not be loaded as we don't know how to parse it, ensure the correct parser has been added`),null}n=await s.load(e,t,this),i.parser=s;for(let o=0;o<this.parsers.length;o++){let a=this.parsers[o];a.parse&&a.parse&&await a.testParse?.(n,t,this)&&(n=await a.parse(n,t,this)||n,i.parser=a)}return n})(),i}async load(e,t){this._parsersValidated||this._validateParsers();let i=0,n={},s=ss(e),o=Ft(e,c=>({alias:[c],src:c,data:{}})),a=o.length,l=o.map(async c=>{let u=at.toAbsolute(c.src);if(!n[c.src])try{this.promiseCache[u]||(this.promiseCache[u]=this._getLoadPromiseAndParser(u,c)),n[c.src]=await this.promiseCache[u].promise,t&&t(++i/a)}catch(A){throw delete this.promiseCache[u],delete n[c.src],new Error(`[Loader.load] Failed to load ${u}.
|
|
1092
|
+
${A}`)}});return await Promise.all(l),s?n[o[0].src]:n}async unload(e){let i=Ft(e,n=>({alias:[n],src:n})).map(async n=>{let s=at.toAbsolute(n.src),o=this.promiseCache[s];if(o){let a=await o.promise;delete this.promiseCache[s],await o.parser?.unload?.(a,n,this)}});await Promise.all(i)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(e=>e.name).reduce((e,t)=>(t.name?e[t.name]&&q(`[Assets] loadParser name conflict "${t.name}"`):q("[Assets] loadParser should have a name"),{...e,[t.name]:t}),{})}}});function cr(r,e){if(Array.isArray(e)){for(let t of e)if(r.startsWith(`data:${t}`))return!0;return!1}return r.startsWith(`data:${e}`)}var gs=m(()=>{"use strict"});function Ar(r,e){let t=r.split("?")[0],i=at.extname(t).toLowerCase();return Array.isArray(e)?e.includes(i):i===e}var ms=m(()=>{ns()});var e$,t$,LO,NO=m(()=>{De();M();gs();ms();pn();e$=".json",t$="application/json",LO={extension:{type:v.LoadParser,priority:Rt.Low},name:"loadJson",test(r){return cr(r,t$)||Ar(r,e$)},async load(r){return await(await X.get().fetch(r)).json()}}});var r$,i$,HO,WO=m(()=>{De();M();gs();ms();pn();r$=".txt",i$="text/plain",HO={name:"loadTxt",extension:{type:v.LoadParser,priority:Rt.Low,name:"loadTxt"},test(r){return cr(r,i$)||Ar(r,r$)},async load(r){return await(await X.get().fetch(r)).text()}}});function u$(r){let e=at.extname(r),n=at.basename(r,e).replace(/(-|_)/g," ").toLowerCase().split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1)),s=n.length>0;for(let a of n)if(!a.match(a$)){s=!1;break}let o=n.join(" ");return s||(o=`"${o.replace(/[\\"]/g,"\\$&")}"`),o}function c$(r){return l$.test(r)?r:encodeURI(r)}var n$,s$,o$,a$,l$,qO,jO=m(()=>{De();M();Be();ns();vi();gs();ms();pn();n$=["normal","bold","100","200","300","400","500","600","700","800","900"],s$=[".ttf",".otf",".woff",".woff2"],o$=["font/ttf","font/otf","font/woff","font/woff2"],a$=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;l$=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/;qO={extension:{type:v.LoadParser,priority:Rt.Low},name:"loadWebFont",test(r){return cr(r,o$)||Ar(r,s$)},async load(r,e){let t=X.get().getFontFaceSet();if(t){let i=[],n=e.data?.family??u$(r),s=e.data?.weights?.filter(a=>n$.includes(a))??["normal"],o=e.data??{};for(let a=0;a<s.length;a++){let l=s[a],c=new FontFace(n,`url(${c$(r)})`,{...o,weight:l});await c.load(),t.add(c),i.push(c)}return ye.set(`${n}-and-url`,{url:r,fontFaces:i}),i.length===1?i[0]:i}return q("[loadWebFont] FontFace API is not supported. Skipping loading font"),null},unload(r){(Array.isArray(r)?r:[r]).forEach(e=>{ye.remove(`${e.family}-and-url`),X.get().getFontFaceSet().delete(e)})}}});function pa(r,e=1){let t=tr.RETINA_PREFIX?.exec(r);return t?parseFloat(t[1]):e}var vg=m(()=>{Mo()});function ga(r,e,t){r.label=t,r._sourceOrigin=t;let i=new F({source:r,label:t}),n=()=>{delete e.promiseCache[t],ye.has(t)&&ye.remove(t)};return i.source.once("destroy",()=>{e.promiseCache[t]&&(q("[Assets] A TextureSource managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the TextureSource."),n())}),i.once("destroy",()=>{r.destroyed||(q("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),n())}),i}var xg=m(()=>{me();Be();vi()});async function d$(r,e,t,i){let s=await(await X.get().fetch(r)).blob(),o=URL.createObjectURL(s),a=new Image;a.src=o,a.crossOrigin=i,await a.decode(),URL.revokeObjectURL(o);let l=document.createElement("canvas"),c=l.getContext("2d"),u=e.data?.resolution||pa(r),A=e.data?.width??a.width,h=e.data?.height??a.height;l.width=A*u,l.height=h*u,c.drawImage(a,0,0,A*u,h*u);let{parseAsGraphicsContext:d,...f}=e.data??{},g=new yt({resource:l,alphaMode:"premultiply-alpha-on-upload",resolution:u,...f});return ga(g,t,r)}async function f$(r){let t=await(await X.get().fetch(r)).text(),i=new kt;return i.svg(t),i}var A$,h$,VO,YO=m(()=>{De();M();os();Qp();vg();gs();ms();pn();xg();A$=".svg",h$="image/svg+xml",VO={extension:{type:v.LoadParser,priority:Rt.Low,name:"loadSVG"},name:"loadSVG",config:{crossOrigin:"anonymous",parseAsGraphicsContext:!1},test(r){return cr(r,h$)||Ar(r,A$)},async load(r,e,t){return e.data?.parseAsGraphicsContext??this.config.parseAsGraphicsContext?f$(r):d$(r,e,t,this.config.crossOrigin)},unload(r){r.destroy(!0)}}});var p$,ma,ya,KO=m(()=>{p$=`(function () {
|
|
1093
|
+
'use strict';
|
|
1094
|
+
|
|
1095
|
+
const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=";
|
|
1096
|
+
async function checkImageBitmap() {
|
|
1097
|
+
try {
|
|
1098
|
+
if (typeof createImageBitmap !== "function")
|
|
1099
|
+
return false;
|
|
1100
|
+
const response = await fetch(WHITE_PNG);
|
|
1101
|
+
const imageBlob = await response.blob();
|
|
1102
|
+
const imageBitmap = await createImageBitmap(imageBlob);
|
|
1103
|
+
return imageBitmap.width === 1 && imageBitmap.height === 1;
|
|
1104
|
+
} catch (_e) {
|
|
1105
|
+
return false;
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
void checkImageBitmap().then((result) => {
|
|
1109
|
+
self.postMessage(result);
|
|
1110
|
+
});
|
|
1111
|
+
|
|
1112
|
+
})();
|
|
1113
|
+
`,ma=null,ya=class{constructor(){ma||(ma=URL.createObjectURL(new Blob([p$],{type:"application/javascript"}))),this.worker=new Worker(ma)}};ya.revokeObjectURL=function(){ma&&(URL.revokeObjectURL(ma),ma=null)}});var g$,Ea,ic,zO=m(()=>{g$=`(function () {
|
|
1114
|
+
'use strict';
|
|
1115
|
+
|
|
1116
|
+
async function loadImageBitmap(url, alphaMode) {
|
|
1117
|
+
const response = await fetch(url);
|
|
1118
|
+
if (!response.ok) {
|
|
1119
|
+
throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \${response.status} \${response.statusText}\`);
|
|
1120
|
+
}
|
|
1121
|
+
const imageBlob = await response.blob();
|
|
1122
|
+
return alphaMode === "premultiplied-alpha" ? createImageBitmap(imageBlob, { premultiplyAlpha: "none" }) : createImageBitmap(imageBlob);
|
|
1123
|
+
}
|
|
1124
|
+
self.onmessage = async (event) => {
|
|
1125
|
+
try {
|
|
1126
|
+
const imageBitmap = await loadImageBitmap(event.data.data[0], event.data.data[1]);
|
|
1127
|
+
self.postMessage({
|
|
1128
|
+
data: imageBitmap,
|
|
1129
|
+
uuid: event.data.uuid,
|
|
1130
|
+
id: event.data.id
|
|
1131
|
+
}, [imageBitmap]);
|
|
1132
|
+
} catch (e) {
|
|
1133
|
+
self.postMessage({
|
|
1134
|
+
error: e,
|
|
1135
|
+
uuid: event.data.uuid,
|
|
1136
|
+
id: event.data.id
|
|
1137
|
+
});
|
|
1138
|
+
}
|
|
1139
|
+
};
|
|
1140
|
+
|
|
1141
|
+
})();
|
|
1142
|
+
`,Ea=null,ic=class{constructor(){Ea||(Ea=URL.createObjectURL(new Blob([g$],{type:"application/javascript"}))),this.worker=new Worker(Ea)}};ic.revokeObjectURL=function(){Ea&&(URL.revokeObjectURL(Ea),Ea=null)}});var XO,Gv,Uv,Lv,JO=m(()=>{KO();zO();XO=0,Uv=class{constructor(){this._initialized=!1,this._createdWorkers=0,this._workerPool=[],this._queue=[],this._resolveHash={}}isImageBitmapSupported(){return this._isImageBitmapSupported!==void 0?this._isImageBitmapSupported:(this._isImageBitmapSupported=new Promise(e=>{let{worker:t}=new ya;t.addEventListener("message",i=>{t.terminate(),ya.revokeObjectURL(),e(i.data)})}),this._isImageBitmapSupported)}loadImageBitmap(e,t){return this._run("loadImageBitmap",[e,t?.data?.alphaMode])}async _initWorkers(){this._initialized||(this._initialized=!0)}_getWorker(){Gv===void 0&&(Gv=navigator.hardwareConcurrency||4);let e=this._workerPool.pop();return!e&&this._createdWorkers<Gv&&(this._createdWorkers++,e=new ic().worker,e.addEventListener("message",t=>{this._complete(t.data),this._returnWorker(t.target),this._next()})),e}_returnWorker(e){this._workerPool.push(e)}_complete(e){e.error!==void 0?this._resolveHash[e.uuid].reject(e.error):this._resolveHash[e.uuid].resolve(e.data),this._resolveHash[e.uuid]=null}async _run(e,t){await this._initWorkers();let i=new Promise((n,s)=>{this._queue.push({id:e,arguments:t,resolve:n,reject:s})});return this._next(),i}_next(){if(!this._queue.length)return;let e=this._getWorker();if(!e)return;let t=this._queue.pop(),i=t.id;this._resolveHash[XO]={resolve:t.resolve,reject:t.reject},e.postMessage({data:t.arguments,uuid:XO++,id:i})}},Lv=new Uv});async function E$(r,e){let t=await X.get().fetch(r);if(!t.ok)throw new Error(`[loadImageBitmap] Failed to fetch ${r}: ${t.status} ${t.statusText}`);let i=await t.blob();return e?.data?.alphaMode==="premultiplied-alpha"?createImageBitmap(i,{premultiplyAlpha:"none"}):createImageBitmap(i)}var m$,y$,Bg,Nv=m(()=>{De();M();os();vg();gs();ms();JO();pn();xg();m$=[".jpeg",".jpg",".png",".webp",".avif"],y$=["image/jpeg","image/png","image/webp","image/avif"];Bg={name:"loadTextures",extension:{type:v.LoadParser,priority:Rt.High,name:"loadTextures"},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test(r){return cr(r,y$)||Ar(r,m$)},async load(r,e,t){let i=null;globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await Lv.isImageBitmapSupported()?i=await Lv.loadImageBitmap(r,e):i=await E$(r,e):i=await new Promise((s,o)=>{i=new Image,i.crossOrigin=this.config.crossOrigin,i.src=r,i.complete?s(i):(i.onload=()=>{s(i)},i.onerror=o)});let n=new yt({resource:i,alphaMode:"premultiply-alpha-on-upload",resolution:e.data?.resolution||pa(r),...e.data});return ga(n,t,r)},unload(r){r.destroy(!0)}}});function I$(r,e,t){t===void 0&&!e.startsWith("data:")?r.crossOrigin=x$(e):t!==!1&&(r.crossOrigin=typeof t=="string"?t:"anonymous")}function v$(r){return new Promise((e,t)=>{r.addEventListener("canplaythrough",i),r.addEventListener("error",n),r.load();function i(){s(),e()}function n(o){s(),t(o)}function s(){r.removeEventListener("canplaythrough",i),r.removeEventListener("error",n)}})}function x$(r,e=globalThis.location){if(r.startsWith("data:"))return"";e||(e=globalThis.location);let t=new URL(r,document.baseURI);return t.hostname!==e.hostname||t.port!==e.port||t.protocol!==e.protocol?"anonymous":""}var ZO,_$,$O,eG=m(()=>{M();ZE();JE();vg();gs();ms();xg();ZO=[".mp4",".m4v",".webm",".ogg",".ogv",".h264",".avi",".mov"],_$=ZO.map(r=>`video/${r.substring(1)}`);$O={name:"loadVideo",extension:{type:v.LoadParser,name:"loadVideo"},test(r){let e=cr(r,_$),t=Ar(r,ZO);return e||t},async load(r,e,t){let i={...Do.defaultOptions,resolution:e.data?.resolution||pa(r),alphaMode:e.data?.alphaMode||await Kf(),...e.data},n=document.createElement("video"),s={preload:i.autoLoad!==!1?"auto":void 0,"webkit-playsinline":i.playsinline!==!1?"":void 0,playsinline:i.playsinline!==!1?"":void 0,muted:i.muted===!0?"":void 0,loop:i.loop===!0?"":void 0,autoplay:i.autoPlay!==!1?"":void 0};Object.keys(s).forEach(l=>{let c=s[l];c!==void 0&&n.setAttribute(l,c)}),i.muted===!0&&(n.muted=!0),I$(n,r,i.crossorigin);let o=document.createElement("source"),a;if(r.startsWith("data:"))a=r.slice(5,r.indexOf(";"));else if(!r.startsWith("blob:")){let l=r.split("?")[0].slice(r.lastIndexOf(".")+1).toLowerCase();a=Do.MIME_TYPES[l]||`video/${l}`}return o.src=r,a&&(o.type=a),new Promise(l=>{let c=async()=>{let u=new Do({...i,resource:n});n.removeEventListener("canplay",c),e.data.preload&&await v$(n),l(ga(u,t,r))};n.addEventListener("canplay",c),n.appendChild(o)})},unload(r){r.destroy(!0)}}});var Cg,Hv=m(()=>{M();Nv();Mo();Cg={extension:{type:v.ResolveParser,name:"resolveTexture"},test:Bg.test,parse:r=>({resolution:parseFloat(tr.RETINA_PREFIX.exec(r)?.[1]??"1"),format:r.split(".").pop(),src:r})}});var tG,rG=m(()=>{M();Mo();Hv();tG={extension:{type:v.ResolveParser,priority:-2,name:"resolveJson"},test:r=>tr.RETINA_PREFIX.test(r)&&r.endsWith(".json"),parse:Cg.parse}});var bg,Gt,iG,nG=m(()=>{M();vO();Be();xO();vi();CO();wO();TO();PO();RO();kO();GO();UO();NO();WO();jO();YO();Nv();eG();rG();Hv();Mo();Bu();Wf();bg=class{constructor(){this._detections=[],this._initialized=!1,this.resolver=new tr,this.loader=new Ig,this.cache=ye,this._backgroundLoader=new yg(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(e={}){if(this._initialized){q("[Assets]AssetManager already initialized, did you load before calling this Assets.init()?");return}if(this._initialized=!0,e.defaultSearchParams&&this.resolver.setDefaultSearchParams(e.defaultSearchParams),e.basePath&&(this.resolver.basePath=e.basePath),e.bundleIdentifier&&this.resolver.setBundleIdentifier(e.bundleIdentifier),e.manifest){let s=e.manifest;typeof s=="string"&&(s=await this.load(s)),this.resolver.addManifest(s)}let t=e.texturePreference?.resolution??1,i=typeof t=="number"?[t]:t,n=await this._detectFormats({preferredFormats:e.texturePreference?.format,skipDetections:e.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:n,resolution:i}}),e.preferences&&this.setPreferences(e.preferences)}add(e){this.resolver.add(e)}async load(e,t){this._initialized||await this.init();let i=ss(e),n=Ft(e).map(a=>{if(typeof a!="string"){let l=this.resolver.getAlias(a);return l.some(c=>!this.resolver.hasKey(c))&&this.add(a),Array.isArray(l)?l[0]:l}return this.resolver.hasKey(a)||this.add({alias:a,src:a}),a}),s=this.resolver.resolve(n),o=await this._mapLoadToResolve(s,t);return i?o[n[0]]:o}addBundle(e,t){this.resolver.addBundle(e,t)}async loadBundle(e,t){this._initialized||await this.init();let i=!1;typeof e=="string"&&(i=!0,e=[e]);let n=this.resolver.resolveBundle(e),s={},o=Object.keys(n),a=0,l=0,c=()=>{t?.(++a/l)},u=o.map(A=>{let h=n[A];return l+=Object.keys(h).length,this._mapLoadToResolve(h,c).then(d=>{s[A]=d})});return await Promise.all(u),i?s[e[0]]:s}async backgroundLoad(e){this._initialized||await this.init(),typeof e=="string"&&(e=[e]);let t=this.resolver.resolve(e);this._backgroundLoader.add(Object.values(t))}async backgroundLoadBundle(e){this._initialized||await this.init(),typeof e=="string"&&(e=[e]);let t=this.resolver.resolveBundle(e);Object.values(t).forEach(i=>{this._backgroundLoader.add(Object.values(i))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(e){if(typeof e=="string")return ye.get(e);let t={};for(let i=0;i<e.length;i++)t[i]=ye.get(e[i]);return t}async _mapLoadToResolve(e,t){let i=[...new Set(Object.values(e))];this._backgroundLoader.active=!1;let n=await this.loader.load(i,t);this._backgroundLoader.active=!0;let s={};return i.forEach(o=>{let a=n[o.src],l=[o.src];o.alias&&l.push(...o.alias),l.forEach(c=>{s[c]=a}),ye.set(l,a)}),s}async unload(e){this._initialized||await this.init();let t=Ft(e).map(n=>typeof n!="string"?n.src:n),i=this.resolver.resolve(t);await this._unloadFromResolved(i)}async unloadBundle(e){this._initialized||await this.init(),e=Ft(e);let t=this.resolver.resolveBundle(e),i=Object.keys(t).map(n=>this._unloadFromResolved(t[n]));await Promise.all(i)}async _unloadFromResolved(e){let t=Object.values(e);t.forEach(i=>{ye.remove(i.src)}),await this.loader.unload(t)}async _detectFormats(e){let t=[];e.preferredFormats&&(t=Array.isArray(e.preferredFormats)?e.preferredFormats:[e.preferredFormats]);for(let i of e.detections)e.skipDetections||await i.test()?t=await i.add(t):e.skipDetections||(t=await i.remove(t));return t=t.filter((i,n)=>t.indexOf(i)===n),t}get detections(){return this._detections}setPreferences(e){this.loader.parsers.forEach(t=>{t.config&&Object.keys(t.config).filter(i=>i in e).forEach(i=>{t.config[i]=e[i]})})}},Gt=new bg;N.handleByList(v.LoadParser,Gt.loader.parsers).handleByList(v.ResolveParser,Gt.resolver.parsers).handleByList(v.CacheParser,Gt.cache.parsers).handleByList(v.DetectionParser,Gt.detections);N.add(BO,SO,bO,OO,MO,DO,FO,LO,HO,qO,VO,Bg,$O,IO,_O,Cg,tG);iG={loader:v.LoadParser,resolver:v.ResolveParser,cache:v.CacheParser,detection:v.DetectionParser};N.handle(v.Asset,r=>{let e=r.ref;Object.entries(iG).filter(([t])=>!!e[t]).forEach(([t,i])=>N.add(Object.assign(e[t],{extension:e[t].extension??i})))},r=>{let e=r.ref;Object.keys(iG).filter(t=>!!e[t]).forEach(t=>N.remove(e[t]))})});var wg,Wv=m(()=>{"use strict";wg={5:[.153388,.221461,.250301],7:[.071303,.131514,.189879,.214607],9:[.028532,.067234,.124009,.179044,.20236],11:[.0093,.028002,.065984,.121703,.175713,.198596],13:[.002406,.009255,.027867,.065666,.121117,.174868,.197641],15:[489e-6,.002403,.009246,.02784,.065602,.120999,.174697,.197448]}});function sG(r){let e=wg[r],t=e.length,i=B$,n="",s="finalColor += texture(uTexture, vBlurTexCoords[%index%]) * %value%;",o;for(let a=0;a<r;a++){let l=s.replace("%index%",a.toString());o=a,a>=t&&(o=r-a-1),l=l.replace("%value%",e[o].toString()),n+=l,n+=`
|
|
1143
|
+
`}return i=i.replace("%blur%",n),i=i.replace("%size%",r.toString()),i}var B$,oG=m(()=>{Wv();B$=["in vec2 vBlurTexCoords[%size%];","uniform sampler2D uTexture;","out vec4 finalColor;","void main(void)","{"," finalColor = vec4(0.0);"," %blur%","}"].join(`
|
|
1144
|
+
`)});function aG(r,e){let t=Math.ceil(r/2),i=C$,n="",s;e?s="vBlurTexCoords[%index%] = textureCoord + vec2(%sampleIndex% * pixelStrength, 0.0);":s="vBlurTexCoords[%index%] = textureCoord + vec2(0.0, %sampleIndex% * pixelStrength);";for(let o=0;o<r;o++){let a=s.replace("%index%",o.toString());a=a.replace("%sampleIndex%",`${o-(t-1)}.0`),n+=a,n+=`
|
|
1145
|
+
`}return i=i.replace("%blur%",n),i=i.replace("%size%",r.toString()),i=i.replace("%dimension%",e?"z":"w"),i}var C$,uG=m(()=>{"use strict";C$=`
|
|
1146
|
+
in vec2 aPosition;
|
|
1147
|
+
|
|
1148
|
+
uniform float uStrength;
|
|
1149
|
+
|
|
1150
|
+
out vec2 vBlurTexCoords[%size%];
|
|
1151
|
+
|
|
1152
|
+
uniform vec4 uInputSize;
|
|
1153
|
+
uniform vec4 uOutputFrame;
|
|
1154
|
+
uniform vec4 uOutputTexture;
|
|
1155
|
+
|
|
1156
|
+
vec4 filterVertexPosition( void )
|
|
1157
|
+
{
|
|
1158
|
+
vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
|
|
1159
|
+
|
|
1160
|
+
position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
|
|
1161
|
+
position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
|
|
1162
|
+
|
|
1163
|
+
return vec4(position, 0.0, 1.0);
|
|
1164
|
+
}
|
|
1165
|
+
|
|
1166
|
+
vec2 filterTextureCoord( void )
|
|
1167
|
+
{
|
|
1168
|
+
return aPosition * (uOutputFrame.zw * uInputSize.zw);
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1171
|
+
void main(void)
|
|
1172
|
+
{
|
|
1173
|
+
gl_Position = filterVertexPosition();
|
|
1174
|
+
|
|
1175
|
+
float pixelStrength = uInputSize.%dimension% * uStrength;
|
|
1176
|
+
|
|
1177
|
+
vec2 textureCoord = filterTextureCoord();
|
|
1178
|
+
%blur%
|
|
1179
|
+
}`});function lG(r,e){let t=aG(e,r),i=sG(e);return bt.from({vertex:t,fragment:i,name:`blur-${r?"horizontal":"vertical"}-pass-filter`})}var cG=m(()=>{bi();oG();uG()});var AG,hG=m(()=>{AG=`
|
|
1180
|
+
|
|
1181
|
+
struct GlobalFilterUniforms {
|
|
1182
|
+
uInputSize:vec4<f32>,
|
|
1183
|
+
uInputPixel:vec4<f32>,
|
|
1184
|
+
uInputClamp:vec4<f32>,
|
|
1185
|
+
uOutputFrame:vec4<f32>,
|
|
1186
|
+
uGlobalFrame:vec4<f32>,
|
|
1187
|
+
uOutputTexture:vec4<f32>,
|
|
1188
|
+
};
|
|
1189
|
+
|
|
1190
|
+
struct BlurUniforms {
|
|
1191
|
+
uStrength:f32,
|
|
1192
|
+
};
|
|
1193
|
+
|
|
1194
|
+
@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
|
|
1195
|
+
@group(0) @binding(1) var uTexture: texture_2d<f32>;
|
|
1196
|
+
@group(0) @binding(2) var uSampler : sampler;
|
|
1197
|
+
|
|
1198
|
+
@group(1) @binding(0) var<uniform> blurUniforms : BlurUniforms;
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
struct VSOutput {
|
|
1202
|
+
@builtin(position) position: vec4<f32>,
|
|
1203
|
+
%blur-struct%
|
|
1204
|
+
};
|
|
1205
|
+
|
|
1206
|
+
fn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>
|
|
1207
|
+
{
|
|
1208
|
+
var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
|
|
1209
|
+
|
|
1210
|
+
position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
|
|
1211
|
+
position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
|
|
1212
|
+
|
|
1213
|
+
return vec4(position, 0.0, 1.0);
|
|
1214
|
+
}
|
|
1215
|
+
|
|
1216
|
+
fn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
1217
|
+
{
|
|
1218
|
+
return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
fn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
1222
|
+
{
|
|
1223
|
+
return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
fn getSize() -> vec2<f32>
|
|
1227
|
+
{
|
|
1228
|
+
return gfu.uGlobalFrame.zw;
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1231
|
+
|
|
1232
|
+
@vertex
|
|
1233
|
+
fn mainVertex(
|
|
1234
|
+
@location(0) aPosition : vec2<f32>,
|
|
1235
|
+
) -> VSOutput {
|
|
1236
|
+
|
|
1237
|
+
let filteredCord = filterTextureCoord(aPosition);
|
|
1238
|
+
|
|
1239
|
+
let pixelStrength = gfu.uInputSize.%dimension% * blurUniforms.uStrength;
|
|
1240
|
+
|
|
1241
|
+
return VSOutput(
|
|
1242
|
+
filterVertexPosition(aPosition),
|
|
1243
|
+
%blur-vertex-out%
|
|
1244
|
+
);
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
@fragment
|
|
1248
|
+
fn mainFragment(
|
|
1249
|
+
@builtin(position) position: vec4<f32>,
|
|
1250
|
+
%blur-fragment-in%
|
|
1251
|
+
) -> @location(0) vec4<f32> {
|
|
1252
|
+
|
|
1253
|
+
var finalColor = vec4(0.0);
|
|
1254
|
+
|
|
1255
|
+
%blur-sampling%
|
|
1256
|
+
|
|
1257
|
+
return finalColor;
|
|
1258
|
+
}`});function dG(r,e){let t=wg[e],i=t.length,n=[],s=[],o=[];for(let A=0;A<e;A++){n[A]=`@location(${A}) offset${A}: vec2<f32>,`,r?s[A]=`filteredCord + vec2(${A-i+1} * pixelStrength, 0.0),`:s[A]=`filteredCord + vec2(0.0, ${A-i+1} * pixelStrength),`;let h=A<i?A:e-A-1,d=t[h].toString();o[A]=`finalColor += textureSample(uTexture, uSampler, offset${A}) * ${d};`}let a=n.join(`
|
|
1259
|
+
`),l=s.join(`
|
|
1260
|
+
`),c=o.join(`
|
|
1261
|
+
`),u=AG.replace("%blur-struct%",a).replace("%blur-vertex-out%",l).replace("%blur-fragment-in%",a).replace("%blur-sampling%",c).replace("%dimension%",r?"z":"w");return wt.from({vertex:{source:u,entryPoint:"mainVertex"},fragment:{source:u,entryPoint:"mainFragment"}})}var fG=m(()=>{En();Wv();hG()});var pG,Qg,mG=m(()=>{Hr();ar();sl();cG();fG();pG=class gG extends bn{constructor(e){e={...gG.defaultOptions,...e};let t=lG(e.horizontal,e.kernelSize),i=dG(e.horizontal,e.kernelSize);super({glProgram:t,gpuProgram:i,resources:{blurUniforms:{uStrength:{value:0,type:"f32"}}},...e}),this.horizontal=e.horizontal,this._quality=0,this.quality=e.quality,this.blur=e.strength,this._uniforms=this.resources.blurUniforms.uniforms}apply(e,t,i,n){if(this._uniforms.uStrength=this.strength/this.passes,this.passes===1)e.applyFilter(this,t,i,n);else{let s=Se.getSameSizeTexture(t),o=t,a=s;this._state.blend=!1;let l=e.renderer.type===je.WEBGPU;for(let c=0;c<this.passes-1;c++){e.applyFilter(this,o,a,c===0?!0:l);let u=a;a=o,o=u}this._state.blend=!0,e.applyFilter(this,o,i,n),Se.returnTexture(s)}}get blur(){return this.strength}set blur(e){this.padding=1+Math.abs(e)*2,this.strength=e}get quality(){return this._quality}set quality(e){this._quality=e,this.passes=e}};pG.defaultOptions={strength:8,quality:4,kernelSize:5};Qg=pG});var ys,yG=m(()=>{Hr();ar();Pe();sl();mG();ys=class extends bn{constructor(...e){let t=e[0]??{};typeof t=="number"&&(W(J,"BlurFilter constructor params are now options object. See params: { strength, quality, resolution, kernelSize }"),t={strength:t},e[1]!==void 0&&(t.quality=e[1]),e[2]!==void 0&&(t.resolution=e[2]||"inherit"),e[3]!==void 0&&(t.kernelSize=e[3])),t={...Qg.defaultOptions,...t};let{strength:i,strengthX:n,strengthY:s,quality:o,...a}=t;super({...a,compatibleRenderers:je.BOTH,resources:{}}),this._repeatEdgePixels=!1,this.blurXFilter=new Qg({horizontal:!0,...t}),this.blurYFilter=new Qg({horizontal:!1,...t}),this.quality=o,this.strengthX=n??i,this.strengthY=s??i,this.repeatEdgePixels=!1}apply(e,t,i,n){let s=Math.abs(this.blurXFilter.strength),o=Math.abs(this.blurYFilter.strength);if(s&&o){let a=Se.getSameSizeTexture(t);this.blurXFilter.blendMode="normal",this.blurXFilter.apply(e,t,a,!0),this.blurYFilter.blendMode=this.blendMode,this.blurYFilter.apply(e,a,i,n),Se.returnTexture(a)}else o?(this.blurYFilter.blendMode=this.blendMode,this.blurYFilter.apply(e,t,i,n)):(this.blurXFilter.blendMode=this.blendMode,this.blurXFilter.apply(e,t,i,n))}updatePadding(){this._repeatEdgePixels?this.padding=0:this.padding=Math.max(Math.abs(this.blurXFilter.blur),Math.abs(this.blurYFilter.blur))*2}get strength(){if(this.strengthX!==this.strengthY)throw new Error("BlurFilter's strengthX and strengthY are different");return this.strengthX}set strength(e){this.blurXFilter.blur=this.blurYFilter.blur=e,this.updatePadding()}get quality(){return this.blurXFilter.quality}set quality(e){this.blurXFilter.quality=this.blurYFilter.quality=e}get strengthX(){return this.blurXFilter.blur}set strengthX(e){this.blurXFilter.blur=e,this.updatePadding()}get strengthY(){return this.blurYFilter.blur}set strengthY(e){this.blurYFilter.blur=e,this.updatePadding()}get blur(){return W("8.3.0","BlurFilter.blur is deprecated, please use BlurFilter.strength instead."),this.strength}set blur(e){W("8.3.0","BlurFilter.blur is deprecated, please use BlurFilter.strength instead."),this.strength=e}get blurX(){return W("8.3.0","BlurFilter.blurX is deprecated, please use BlurFilter.strengthX instead."),this.strengthX}set blurX(e){W("8.3.0","BlurFilter.blurX is deprecated, please use BlurFilter.strengthX instead."),this.strengthX=e}get blurY(){return W("8.3.0","BlurFilter.blurY is deprecated, please use BlurFilter.strengthY instead."),this.strengthY}set blurY(e){W("8.3.0","BlurFilter.blurY is deprecated, please use BlurFilter.strengthY instead."),this.strengthY=e}get repeatEdgePixels(){return this._repeatEdgePixels}set repeatEdgePixels(e){this._repeatEdgePixels=e,this.updatePadding()}};ys.defaultOptions={strength:8,quality:4,kernelSize:5}});var EG,_G=m(()=>{EG=`
|
|
1262
|
+
in vec2 vTextureCoord;
|
|
1263
|
+
in vec2 vFilterUv;
|
|
1264
|
+
|
|
1265
|
+
out vec4 finalColor;
|
|
1266
|
+
|
|
1267
|
+
uniform sampler2D uTexture;
|
|
1268
|
+
uniform sampler2D uMapTexture;
|
|
1269
|
+
|
|
1270
|
+
uniform vec4 uInputClamp;
|
|
1271
|
+
uniform highp vec4 uInputSize;
|
|
1272
|
+
uniform mat2 uRotation;
|
|
1273
|
+
uniform vec2 uScale;
|
|
1274
|
+
|
|
1275
|
+
void main()
|
|
1276
|
+
{
|
|
1277
|
+
vec4 map = texture(uMapTexture, vFilterUv);
|
|
1278
|
+
|
|
1279
|
+
vec2 offset = uInputSize.zw * (uRotation * (map.xy - 0.5)) * uScale;
|
|
1280
|
+
|
|
1281
|
+
finalColor = texture(uTexture, clamp(vTextureCoord + offset, uInputClamp.xy, uInputClamp.zw));
|
|
1282
|
+
}
|
|
1283
|
+
`});var IG,vG=m(()=>{IG=`in vec2 aPosition;
|
|
1284
|
+
out vec2 vTextureCoord;
|
|
1285
|
+
out vec2 vFilterUv;
|
|
1286
|
+
|
|
1287
|
+
|
|
1288
|
+
uniform vec4 uInputSize;
|
|
1289
|
+
uniform vec4 uOutputFrame;
|
|
1290
|
+
uniform vec4 uOutputTexture;
|
|
1291
|
+
|
|
1292
|
+
uniform mat3 uFilterMatrix;
|
|
1293
|
+
|
|
1294
|
+
vec4 filterVertexPosition( void )
|
|
1295
|
+
{
|
|
1296
|
+
vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
|
|
1297
|
+
|
|
1298
|
+
position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
|
|
1299
|
+
position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
|
|
1300
|
+
|
|
1301
|
+
return vec4(position, 0.0, 1.0);
|
|
1302
|
+
}
|
|
1303
|
+
|
|
1304
|
+
vec2 filterTextureCoord( void )
|
|
1305
|
+
{
|
|
1306
|
+
return aPosition * (uOutputFrame.zw * uInputSize.zw);
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1309
|
+
vec2 getFilterCoord( void )
|
|
1310
|
+
{
|
|
1311
|
+
return ( uFilterMatrix * vec3( filterTextureCoord(), 1.0) ).xy;
|
|
1312
|
+
}
|
|
1313
|
+
|
|
1314
|
+
|
|
1315
|
+
void main(void)
|
|
1316
|
+
{
|
|
1317
|
+
gl_Position = filterVertexPosition();
|
|
1318
|
+
vTextureCoord = filterTextureCoord();
|
|
1319
|
+
vFilterUv = getFilterCoord();
|
|
1320
|
+
}
|
|
1321
|
+
`});var qv,xG=m(()=>{qv=`
|
|
1322
|
+
struct GlobalFilterUniforms {
|
|
1323
|
+
uInputSize:vec4<f32>,
|
|
1324
|
+
uInputPixel:vec4<f32>,
|
|
1325
|
+
uInputClamp:vec4<f32>,
|
|
1326
|
+
uOutputFrame:vec4<f32>,
|
|
1327
|
+
uGlobalFrame:vec4<f32>,
|
|
1328
|
+
uOutputTexture:vec4<f32>,
|
|
1329
|
+
};
|
|
1330
|
+
|
|
1331
|
+
struct DisplacementUniforms {
|
|
1332
|
+
uFilterMatrix:mat3x3<f32>,
|
|
1333
|
+
uScale:vec2<f32>,
|
|
1334
|
+
uRotation:mat2x2<f32>
|
|
1335
|
+
};
|
|
1336
|
+
|
|
1337
|
+
|
|
1338
|
+
|
|
1339
|
+
@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
|
|
1340
|
+
@group(0) @binding(1) var uTexture: texture_2d<f32>;
|
|
1341
|
+
@group(0) @binding(2) var uSampler : sampler;
|
|
1342
|
+
|
|
1343
|
+
@group(1) @binding(0) var<uniform> filterUniforms : DisplacementUniforms;
|
|
1344
|
+
@group(1) @binding(1) var uMapTexture: texture_2d<f32>;
|
|
1345
|
+
@group(1) @binding(2) var uMapSampler : sampler;
|
|
1346
|
+
|
|
1347
|
+
struct VSOutput {
|
|
1348
|
+
@builtin(position) position: vec4<f32>,
|
|
1349
|
+
@location(0) uv : vec2<f32>,
|
|
1350
|
+
@location(1) filterUv : vec2<f32>,
|
|
1351
|
+
};
|
|
1352
|
+
|
|
1353
|
+
fn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>
|
|
1354
|
+
{
|
|
1355
|
+
var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
|
|
1356
|
+
|
|
1357
|
+
position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
|
|
1358
|
+
position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
|
|
1359
|
+
|
|
1360
|
+
return vec4(position, 0.0, 1.0);
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
fn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
1364
|
+
{
|
|
1365
|
+
return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
|
|
1366
|
+
}
|
|
1367
|
+
|
|
1368
|
+
fn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
1369
|
+
{
|
|
1370
|
+
return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
|
|
1371
|
+
}
|
|
1372
|
+
|
|
1373
|
+
fn getFilterCoord(aPosition:vec2<f32> ) -> vec2<f32>
|
|
1374
|
+
{
|
|
1375
|
+
return ( filterUniforms.uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
fn getSize() -> vec2<f32>
|
|
1379
|
+
{
|
|
1380
|
+
|
|
1381
|
+
|
|
1382
|
+
return gfu.uGlobalFrame.zw;
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1385
|
+
@vertex
|
|
1386
|
+
fn mainVertex(
|
|
1387
|
+
@location(0) aPosition : vec2<f32>,
|
|
1388
|
+
) -> VSOutput {
|
|
1389
|
+
return VSOutput(
|
|
1390
|
+
filterVertexPosition(aPosition),
|
|
1391
|
+
filterTextureCoord(aPosition),
|
|
1392
|
+
getFilterCoord(aPosition)
|
|
1393
|
+
);
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
@fragment
|
|
1397
|
+
fn mainFragment(
|
|
1398
|
+
@location(0) uv: vec2<f32>,
|
|
1399
|
+
@location(1) filterUv: vec2<f32>,
|
|
1400
|
+
@builtin(position) position: vec4<f32>
|
|
1401
|
+
) -> @location(0) vec4<f32> {
|
|
1402
|
+
|
|
1403
|
+
var map = textureSample(uMapTexture, uMapSampler, filterUv);
|
|
1404
|
+
|
|
1405
|
+
var offset = gfu.uInputSize.zw * (filterUniforms.uRotation * (map.xy - 0.5)) * filterUniforms.uScale;
|
|
1406
|
+
|
|
1407
|
+
return textureSample(uTexture, uSampler, clamp(uv + offset, gfu.uInputClamp.xy, gfu.uInputClamp.zw));
|
|
1408
|
+
}`});var nc,BG=m(()=>{pe();Mt();bi();En();Qt();wu();Pe();sl();_G();vG();xG();nc=class extends bn{constructor(...e){let t=e[0];t instanceof mt&&(e[1]&&W(J,"DisplacementFilter now uses options object instead of params. {sprite, scale}"),t={sprite:t,scale:e[1]});let{sprite:i,scale:n,...s}=t,o=n??20;typeof o=="number"&&(o=new j(o,o));let a=new ve({uFilterMatrix:{value:new O,type:"mat3x3<f32>"},uScale:{value:o,type:"vec2<f32>"},uRotation:{value:new Float32Array([0,0,0,0]),type:"mat2x2<f32>"}}),l=bt.from({vertex:IG,fragment:EG,name:"displacement-filter"}),c=wt.from({vertex:{source:qv,entryPoint:"mainVertex"},fragment:{source:qv,entryPoint:"mainFragment"}}),u=i.texture.source;super({...s,gpuProgram:c,glProgram:l,resources:{filterUniforms:a,uMapTexture:u,uMapSampler:u.style}}),this._sprite=t.sprite,this._sprite.renderable=!1}apply(e,t,i,n){let s=this.resources.filterUniforms.uniforms;e.calculateSpriteMatrix(s.uFilterMatrix,this._sprite);let o=this._sprite.worldTransform,a=Math.sqrt(o.a*o.a+o.b*o.b),l=Math.sqrt(o.c*o.c+o.d*o.d);a!==0&&l!==0&&(s.uRotation[0]=o.a/a,s.uRotation[1]=o.b/a,s.uRotation[2]=o.c/l,s.uRotation[3]=o.d/l),this.resources.uMapTexture=this._sprite.texture.source,e.applyFilter(this,t,i,n)}get scale(){return this.resources.filterUniforms.uniforms.uScale}}});function jv(r,e,t,i,n,s,o,a){let l=o-t,c=a-i,u=n-t,A=s-i,h=r-t,d=e-i,f=l*l+c*c,g=l*u+c*A,p=l*h+c*d,I=u*u+A*A,x=u*h+A*d,B=1/(f*I-g*g),w=(I*p-g*x)*B,D=(f*x-g*p)*B;return w>=0&&D>=0&&w+D<1}var CG=m(()=>{"use strict"});var sc,bG=m(()=>{CG();yn();ur();me();Pe();Ii();el();sc=class extends $e{constructor(...e){let t=e[0];t instanceof Et&&(W(J,"Mesh: use new Mesh({ geometry, shader }) instead"),t={geometry:t,shader:e[1]},e[3]&&(W(J,"Mesh: drawMode argument has been removed, use geometry.topology instead"),t.geometry.topology=e[3]));let{geometry:i,shader:n,texture:s,roundPixels:o,state:a,...l}=t;super({label:"Mesh",...l}),this.renderPipeId="mesh",this._shader=null,this.allowChildren=!1,this.shader=n??null,this.texture=s??n?.texture??F.WHITE,this.state=a??ze.for2d(),this._geometry=i,this._geometry.on("update",this.onViewUpdate,this),this.roundPixels=o??!1}get material(){return W(J,"mesh.material property has been removed, use mesh.shader instead"),this._shader}set shader(e){this._shader!==e&&(this._shader=e,this.onViewUpdate())}get shader(){return this._shader}set geometry(e){this._geometry!==e&&(this._geometry?.off("update",this.onViewUpdate,this),e.on("update",this.onViewUpdate,this),this._geometry=e,this.onViewUpdate())}get geometry(){return this._geometry}set texture(e){e||(e=F.EMPTY);let t=this._texture;t!==e&&(t&&t.dynamic&&t.off("update",this.onViewUpdate,this),e.dynamic&&e.on("update",this.onViewUpdate,this),this.shader&&(this.shader.texture=e),this._texture=e,this.onViewUpdate())}get texture(){return this._texture}get batched(){return this._shader||this.state.data&12?!1:this._geometry instanceof Cn?this._geometry.batchMode==="auto"?this._geometry.positions.length/2<=100:this._geometry.batchMode==="batch":!1}get bounds(){return this._geometry.bounds}updateBounds(){this._bounds=this._geometry.bounds}containsPoint(e){let{x:t,y:i}=e;if(!this.bounds.containsPoint(t,i))return!1;let n=this.geometry.getBuffer("aPosition").data,s=this.geometry.topology==="triangle-strip"?3:1;if(this.geometry.getIndex()){let o=this.geometry.getIndex().data,a=o.length;for(let l=0;l+2<a;l+=s){let c=o[l]*2,u=o[l+1]*2,A=o[l+2]*2;if(jv(t,i,n[c],n[c+1],n[u],n[u+1],n[A],n[A+1]))return!0}}else{let o=n.length/2;for(let a=0;a+2<o;a+=s){let l=a*2,c=(a+1)*2,u=(a+2)*2;if(jv(t,i,n[l],n[l+1],n[c],n[c+1],n[u],n[u+1]))return!0}}return!1}destroy(e){if(super.destroy(e),typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(i)}this._geometry?.off("update",this.onViewUpdate,this),this._texture=null,this._geometry=null,this._shader=null}}});var Sg,wG=m(()=>{pe();hn();Sg=class{constructor({matrix:e,observer:t}={}){this.dirty=!0,this._matrix=e??new O,this.observer=t,this.position=new Qe(this,0,0),this.scale=new Qe(this,1,1),this.pivot=new Qe(this,0,0),this.skew=new Qe(this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1}get matrix(){let e=this._matrix;return this.dirty&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this.dirty=!1),e}_onUpdate(e){this.dirty=!0,e===this.skew&&this.updateSkew(),this.observer?._onUpdate(this)}updateSkew(){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.dirty=!0}toString(){return`[pixi.js/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}) ]`}setFromMatrix(e){e.decompose(this),this.dirty=!0}get rotation(){return this._rotation}set rotation(e){this._rotation!==e&&(this._rotation=e,this._onUpdate(this.skew))}}});var QG,oc,SG=m(()=>{vi();hn();me();Pe();Be();wG();Ii();QG=class Tg extends $e{constructor(...e){let t=e[0]||{};t instanceof F&&(t={texture:t}),e.length>1&&(W(J,"use new TilingSprite({ texture, width:100, height:100 }) instead"),t.width=e[1],t.height=e[2]),t={...Tg.defaultOptions,...t};let{texture:i,anchor:n,tilePosition:s,tileScale:o,tileRotation:a,width:l,height:c,applyAnchorToTexture:u,roundPixels:A,...h}=t??{};super({label:"TilingSprite",...h}),this.renderPipeId="tilingSprite",this.batched=!0,this.allowChildren=!1,this._anchor=new Qe({_onUpdate:()=>{this.onViewUpdate()}}),this.applyAnchorToTexture=u,this.texture=i,this._width=l??i.width,this._height=c??i.height,this._tileTransform=new Sg({observer:{_onUpdate:()=>this.onViewUpdate()}}),n&&(this.anchor=n),this.tilePosition=s,this.tileScale=o,this.tileRotation=a,this.roundPixels=A??!1}static from(e,t={}){return typeof e=="string"?new Tg({texture:ye.get(e),...t}):new Tg({texture:e,...t})}get uvRespectAnchor(){return q("uvRespectAnchor is deprecated, please use applyAnchorToTexture instead"),this.applyAnchorToTexture}set uvRespectAnchor(e){q("uvRespectAnchor is deprecated, please use applyAnchorToTexture instead"),this.applyAnchorToTexture=e}get clampMargin(){return this._texture.textureMatrix.clampMargin}set clampMargin(e){this._texture.textureMatrix.clampMargin=e}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e)}get tilePosition(){return this._tileTransform.position}set tilePosition(e){this._tileTransform.position.copyFrom(e)}get tileScale(){return this._tileTransform.scale}set tileScale(e){typeof e=="number"?this._tileTransform.scale.set(e):this._tileTransform.scale.copyFrom(e)}set tileRotation(e){this._tileTransform.rotation=e}get tileRotation(){return this._tileTransform.rotation}get tileTransform(){return this._tileTransform}set texture(e){e||(e=F.EMPTY);let t=this._texture;t!==e&&(t&&t.dynamic&&t.off("update",this.onViewUpdate,this),e.dynamic&&e.on("update",this.onViewUpdate,this),this._texture=e,this.onViewUpdate())}get texture(){return this._texture}set width(e){this._width=e,this.onViewUpdate()}get width(){return this._width}set height(e){this._height=e,this.onViewUpdate()}get height(){return this._height}setSize(e,t){typeof e=="object"&&(t=e.height??e.width,e=e.width),this._width=e,this._height=t??e,this.onViewUpdate()}getSize(e){return e||(e={}),e.width=this._width,e.height=this._height,e}updateBounds(){let e=this._bounds,t=this._anchor,i=this._width,n=this._height;e.minX=-t._x*i,e.maxX=e.minX+i,e.minY=-t._y*n,e.maxY=e.minY+n}containsPoint(e){let t=this._width,i=this._height,n=-t*this._anchor._x,s=0;return e.x>=n&&e.x<=n+t&&(s=-i*this._anchor._y,e.y>=s&&e.y<=s+i)}destroy(e=!1){if(super.destroy(e),this._anchor=null,this._tileTransform=null,this._bounds=null,typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(i)}this._texture=null}};QG.defaultOptions={texture:F.EMPTY,anchor:{x:0,y:0},tilePosition:{x:0,y:0},tileScale:{x:1,y:1},tileRotation:0,applyAnchorToTexture:!1};oc=QG});function Vv(r,e){let t=r[0]??{};return(typeof t=="string"||r[1])&&(W(J,`use new ${e}({ text: "hi!", style }) instead`),t={text:t,style:r[1]}),t}var Mi,Yv=m(()=>{hn();Pe();Ii();Mi=class extends $e{constructor(e,t){let{text:i,resolution:n,style:s,anchor:o,width:a,height:l,roundPixels:c,...u}=e;super({...u}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=t,this.text=i??"",this.style=s,this.resolution=n??null,this.allowChildren=!1,this._anchor=new Qe({_onUpdate:()=>{this.onViewUpdate()}}),o&&(this.anchor=o),this.roundPixels=c??!1,a!==void 0&&(this.width=a),l!==void 0&&(this.height=l)}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e)}set text(e){e=e.toString(),this._text!==e&&(this._text=e,this.onViewUpdate())}get text(){return this._text}set resolution(e){this._autoResolution=e===null,this._resolution=e,this.onViewUpdate()}get resolution(){return this._resolution}get style(){return this._style}set style(e){e||(e={}),this._style?.off("update",this.onViewUpdate,this),e instanceof this._styleClass?this._style=e:this._style=new this._styleClass(e),this._style.on("update",this.onViewUpdate,this),this.onViewUpdate()}get width(){return Math.abs(this.scale.x)*this.bounds.width}set width(e){this._setWidth(e,this.bounds.width)}get height(){return Math.abs(this.scale.y)*this.bounds.height}set height(e){this._setHeight(e,this.bounds.height)}getSize(e){return e||(e={}),e.width=Math.abs(this.scale.x)*this.bounds.width,e.height=Math.abs(this.scale.y)*this.bounds.height,e}setSize(e,t){typeof e=="object"?(t=e.height??e.width,e=e.width):t??(t=e),e!==void 0&&this._setWidth(e,this.bounds.width),t!==void 0&&this._setHeight(t,this.bounds.height)}containsPoint(e){let t=this.bounds.width,i=this.bounds.height,n=-t*this.anchor.x,s=0;return e.x>=n&&e.x<=n+t&&(s=-i*this.anchor.y,e.y>=s&&e.y<=s+i)}onViewUpdate(){this.didViewUpdate||(this._didTextUpdate=!0),super.onViewUpdate()}_getKey(){return`${this.text}:${this._style.styleKey}:${this._resolution}`}destroy(e=!1){super.destroy(e),this.owner=null,this._bounds=null,this._anchor=null,(typeof e=="boolean"?e:e?.style)&&this._style.destroy(e),this._style=null,this._text=null}}});var ac,TG=m(()=>{Yv();Pp();$o();ac=class extends Mi{constructor(...e){let t=Vv(e,"Text");super(t,Kt),this.renderPipeId="text"}updateBounds(){let e=this._bounds,t=this._anchor,i=lr.measureText(this._text,this._style),{width:n,height:s}=i;e.minX=-t._x*n,e.maxX=e.minX+n,e.minY=-t._y*s,e.maxY=e.minY+s}}});var Mg,Kv,Pg,b$,MG=m(()=>{Pe();Mg=(r=>(r.CLAMP="clamp-to-edge",r.REPEAT="repeat",r.MIRRORED_REPEAT="mirror-repeat",r))(Mg||{}),Kv=new Proxy(Mg,{get(r,e){return W(J,`DRAW_MODES.${e} is deprecated, use '${Mg[e]}' instead`),r[e]}}),Pg=(r=>(r.NEAREST="nearest",r.LINEAR="linear",r))(Pg||{}),b$=new Proxy(Pg,{get(r,e){return W(J,`DRAW_MODES.${e} is deprecated, use '${Pg[e]}' instead`),r[e]}})});var PG,uc,RG=m(()=>{hn();me();Ii();RI();PG=class DG extends $e{constructor(e){e instanceof F&&(e={texture:e});let{width:t,height:i,anchor:n,leftWidth:s,rightWidth:o,topHeight:a,bottomHeight:l,texture:c,roundPixels:u,...A}=e;super({label:"NineSliceSprite",...A}),this.renderPipeId="nineSliceSprite",this.batched=!0,this._leftWidth=s??c?.defaultBorders?.left??Si.defaultOptions.leftWidth,this._topHeight=a??c?.defaultBorders?.top??Si.defaultOptions.topHeight,this._rightWidth=o??c?.defaultBorders?.right??Si.defaultOptions.rightWidth,this._bottomHeight=l??c?.defaultBorders?.bottom??Si.defaultOptions.bottomHeight,this._width=t??c.width??Si.defaultOptions.width,this._height=i??c.height??Si.defaultOptions.height,this.allowChildren=!1,this.texture=c??DG.defaultOptions.texture,this.roundPixels=u??!1,this._anchor=new Qe({_onUpdate:()=>{this.onViewUpdate()}}),n?this.anchor=n:this.texture.defaultAnchor&&(this.anchor=this.texture.defaultAnchor)}get anchor(){return this._anchor}set anchor(e){typeof e=="number"?this._anchor.set(e):this._anchor.copyFrom(e)}get width(){return this._width}set width(e){this._width=e,this.onViewUpdate()}get height(){return this._height}set height(e){this._height=e,this.onViewUpdate()}setSize(e,t){typeof e=="object"&&(t=e.height??e.width,e=e.width),this._width=e,this._height=t??e,this.onViewUpdate()}getSize(e){return e||(e={}),e.width=this._width,e.height=this._height,e}get leftWidth(){return this._leftWidth}set leftWidth(e){this._leftWidth=e,this.onViewUpdate()}get topHeight(){return this._topHeight}set topHeight(e){this._topHeight=e,this.onViewUpdate()}get rightWidth(){return this._rightWidth}set rightWidth(e){this._rightWidth=e,this.onViewUpdate()}get bottomHeight(){return this._bottomHeight}set bottomHeight(e){this._bottomHeight=e,this.onViewUpdate()}get texture(){return this._texture}set texture(e){e||(e=F.EMPTY);let t=this._texture;t!==e&&(t&&t.dynamic&&t.off("update",this.onViewUpdate,this),e.dynamic&&e.on("update",this.onViewUpdate,this),this._texture=e,this.onViewUpdate())}get originalWidth(){return this._texture.width}get originalHeight(){return this._texture.height}destroy(e){if(super.destroy(e),typeof e=="boolean"?e:e?.texture){let i=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(i)}this._texture=null}updateBounds(){let e=this._bounds,t=this._anchor,i=this._width,n=this._height;e.minX=-t._x*i,e.maxX=e.minX+i,e.minY=-t._y*n,e.maxY=e.minY+n}};PG.defaultOptions={texture:F.EMPTY};uc=PG});var w$,Re=m(()=>{LD();WD();M();M();Xf();qf();pO();nG();XS();De();yG();BG();pe();hn();Mt();st();yn();MG();os();me();t_();Pt();Br();yI();bG();RG();SG();wu();Yv();TG();Ii();To();xt();Bt();w$=St(S_(),1);N.add(UD,HD)});var qee,Wee,G2,U2=m(()=>{qee={},Wee=(()=>{var r=qee.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var i,n;t.ready=new Promise(function(y,_){i=y,n=_});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),r&&(o=r),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),l=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var c;t.wasmBinary&&(c=t.wasmBinary);var u=t.noExitRuntime||!0;typeof WebAssembly!="object"&&ie("no native wasm support detected");var A,h=!1;function d(y,_,b){b=_+b;for(var Q="";!(_>=b);){var S=y[_++];if(!S)break;if(S&128){var P=y[_++]&63;if((S&224)==192)Q+=String.fromCharCode((S&31)<<6|P);else{var k=y[_++]&63;S=(S&240)==224?(S&15)<<12|P<<6|k:(S&7)<<18|P<<12|k<<6|y[_++]&63,65536>S?Q+=String.fromCharCode(S):(S-=65536,Q+=String.fromCharCode(55296|S>>10,56320|S&1023))}}else Q+=String.fromCharCode(S)}return Q}var f,g,p,I,x,B,w,D,T;function R(){var y=A.buffer;f=y,t.HEAP8=g=new Int8Array(y),t.HEAP16=I=new Int16Array(y),t.HEAP32=B=new Int32Array(y),t.HEAPU8=p=new Uint8Array(y),t.HEAPU16=x=new Uint16Array(y),t.HEAPU32=w=new Uint32Array(y),t.HEAPF32=D=new Float32Array(y),t.HEAPF64=T=new Float64Array(y)}var U,Z=[],Y=[],V=[];function ne(){var y=t.preRun.shift();Z.unshift(y)}var ae=0,Fe=null,Ut=null;function ie(y){throw t.onAbort&&t.onAbort(y),y="Aborted("+y+")",l(y),h=!0,y=new WebAssembly.RuntimeError(y+". Build with -sASSERTIONS for more info."),n(y),y}function ue(y){return y.startsWith("data:application/octet-stream;base64,")}var ir;if(ir="data:application/octet-stream;base64,AGFzbQEAAAABugM3YAF/AGACf38AYAF/AX9gA39/fwBgAn98AGACf38Bf2ADf39/AX9gBH9/f30BfWADf398AGAAAGAEf39/fwBgAX8BfGACf38BfGAFf39/f38Bf2AAAX9gA39/fwF9YAZ/f31/fX8AYAV/f39/fwBgAn9/AX1gBX9/f319AX1gAX8BfWADf35/AX5gB39/f39/f38AYAZ/f39/f38AYAR/f39/AX9gBn9/f319fQF9YAR/f31/AGADf399AX1gBn98f39/fwF/YAR/fHx/AGACf30AYAh/f39/f39/fwBgDX9/f39/f39/f39/f38AYAp/f39/f39/f39/AGAFf39/f38BfGAEfHx/fwF9YA1/fX1/f399fX9/f39/AX9gB39/f319f38AYAJ+fwF/YAN/fX0BfWABfAF8YAN/fHwAYAR/f319AGAHf39/fX19fQF9YA1/fX99f31/fX19fX1/AX9gC39/f39/f399fX19AX9gCH9/f39/f319AGAEf39+fgBgB39/f39/f38Bf2ACfH8BfGAFf398fH8AYAN/f38BfGAEf39/fABgA39/fQBgBn9/fX99fwF/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAEBAQBAQEICAEBAQEBAQEBCAgBAQEAAg4CAgUBAR4DBAcBcAHUAdQBBQcBAYACgIACBg0CfwFBkMQEC38BQQALByQIAUUCAAFGAG0BRwCwAQFIAK8BAUkAYQFKAQABSwAjAUwApgEJjQMBAEEBC9MBqwGqAaUB5QHiAZwB0AFazwHOAVlZWpsBmgGZAc0BzAHLAcoBWpgByQFZWVqbAZoBmQHIAccBxgGjAZcBpAGWAaMBvQKVAbwCxQG7Ajq6Ajq5ApQBuAI+twI+xAFqwwFqwgFqaWjBAcABvwGhAZcBtgK+AbUClgGhAbQCmAGzAjqxAjqwAr0BrwKuAq0CrAKrAqoCqAKnAqYCpQKkAqMCogKhArwBoAKfAp4CnQKcApsCmgKZApgClwKWApUClAKTApICkQKQAo8CjgKyAo0CjAKLAooCiAKHAqkChQI+hAK7AYMCggKBAoAC/gH9AfwB+QG6AfgBuQH3AfYB9QH0AfMB8gHxAYYC8AHvAbgB+wH6Ae4B7QG3AesBlQHqATrpAT7oAT7nAZQB0QE67AE+iQLmATrkAeMBOuEB4AHfAT7eAd0B3AG2AdsB2gHZAdgB1wHWAdUBtQHUAdMB0gH/AWloaWiPAZABsgGxAZEBhQGSAbQBswGRAa4BrQGsAakBqAGnAYUBCtj+A6ACMwEBfyAAQQEgABshAAJAA0AgABBhIgENAUGIxAAoAgAiAQRAIAERCQAMAQsLEAIACyABC+0BAgJ9A39DAADAfyEEAkACQAJAAkAgAkEHcSIGDgUCAQEBAAELQQMhBQwBCyAGQQFrQQJPDQEgAkHw/wNxQQR2IQcCfSACQQhxBEAgASAHEJ4BvgwBC0EAIAdB/w9xIgFrIAEgAsFBAEgbsgshAyAGQQFGBEAgAyADXA0BQwAAwH8gAyADQwAAgH9bIANDAACA/1tyIgEbIQQgAUUhBQwBCyADIANcDQBBAEECIANDAACAf1sgA0MAAID/W3IiARshBUMAAMB/IAMgARshBAsgACAFOgAEIAAgBDgCAA8LQfQNQakYQTpB+RYQCwALZwIBfQF/QwAAwH8hAgJAAkACQCABQQdxDgQCAAABAAtBxBJBqRhByQBBuhIQCwALIAFB8P8DcUEEdiEDIAFBCHEEQCAAIAMQngG+DwtBACADQf8PcSIAayAAIAHBQQBIG7IhAgsgAgt4AgF/AX0jAEEQayIEJAAgBEEIaiAAQQMgAkECR0EBdCABQf4BcUECRxsgAhAoQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAAAgBSAFWxsLeAIBfwF9IwBBEGsiBCQAIARBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQKEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAIAUgBVsbC8wCAQV/IAAEQCAAQQRrIgEoAgAiBSEDIAEhAiAAQQhrKAIAIgAgAEF+cSIERwRAIAEgBGsiAigCBCIAIAIoAgg2AgggAigCCCAANgIEIAQgBWohAwsgASAFaiIEKAIAIgEgASAEakEEaygCAEcEQCAEKAIEIgAgBCgCCDYCCCAEKAIIIAA2AgQgASADaiEDCyACIAM2AgAgA0F8cSACakEEayADQQFyNgIAIAICfyACKAIAQQhrIgFB/wBNBEAgAUEDdkEBawwBCyABQR0gAWciAGt2QQRzIABBAnRrQe4AaiABQf8fTQ0AGkE/IAFBHiAAa3ZBAnMgAEEBdGtBxwBqIgAgAEE/TxsLIgFBBHQiAEHgMmo2AgQgAiAAQegyaiIAKAIANgIIIAAgAjYCACACKAIIIAI2AgRB6DpB6DopAwBCASABrYaENwMACwsOAEHYMigCABEJABBYAAunAQIBfQJ/IABBFGoiByACIAFBAkkiCCAEIAUQNSEGAkAgByACIAggBCAFEC0iBEMAAAAAYCADIARecQ0AIAZDAAAAAGBFBEAgAyEEDAELIAYgAyADIAZdGyEECyAAQRRqIgAgASACIAUQOCAAIAEgAhAwkiAAIAEgAiAFEDcgACABIAIQL5KSIgMgBCADIAReGyADIAQgBCAEXBsgBCAEWyADIANbcRsLvwEBA38gAC0AAEEgcUUEQAJAIAEhAwJAIAIgACIBKAIQIgAEfyAABSABEJ0BDQEgASgCEAsgASgCFCIFa0sEQCABIAMgAiABKAIkEQYAGgwCCwJAIAEoAlBBAEgNACACIQADQCAAIgRFDQEgAyAEQQFrIgBqLQAAQQpHDQALIAEgAyAEIAEoAiQRBgAgBEkNASADIARqIQMgAiAEayECIAEoAhQhBQsgBSADIAIQKxogASABKAIUIAJqNgIUCwsLCwYAIAAQIwtQAAJAAkACQAJAAkAgAg4EBAABAgMLIAAgASABQQxqEEMPCyAAIAEgAUEMaiADEEQPCyAAIAEgAUEMahBCDwsQJAALIAAgASABQQxqIAMQRQttAQF/IwBBgAJrIgUkACAEQYDABHEgAiADTHJFBEAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiARsQKhogAUUEQANAIAAgBUGAAhAmIANBgAJrIgNB/wFLDQALCyAAIAUgAxAmCyAFQYACaiQAC/ICAgJ/AX4CQCACRQ0AIAAgAToAACAAIAJqIgNBAWsgAToAACACQQNJDQAgACABOgACIAAgAToAASADQQNrIAE6AAAgA0ECayABOgAAIAJBB0kNACAAIAE6AAMgA0EEayABOgAAIAJBCUkNACAAQQAgAGtBA3EiBGoiAyABQf8BcUGBgoQIbCIBNgIAIAMgAiAEa0F8cSIEaiICQQRrIAE2AgAgBEEJSQ0AIAMgATYCCCADIAE2AgQgAkEIayABNgIAIAJBDGsgATYCACAEQRlJDQAgAyABNgIYIAMgATYCFCADIAE2AhAgAyABNgIMIAJBEGsgATYCACACQRRrIAE2AgAgAkEYayABNgIAIAJBHGsgATYCACAEIANBBHFBGHIiBGsiAkEgSQ0AIAGtQoGAgIAQfiEFIAMgBGohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkEgayICQR9LDQALCyAAC4AEAQN/IAJBgARPBEAgACABIAIQFyAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAtIAQF/IwBBEGsiBCQAIAQgAzYCDAJAIABFBEBBAEEAIAEgAiAEKAIMEHEMAQsgACgC9AMgACABIAIgBCgCDBBxCyAEQRBqJAALkwECAX0BfyMAQRBrIgYkACAGQQhqIABB6ABqIAAgAkEBdGovAWIQH0MAAMB/IQUCQAJAAkAgBi0ADEEBaw4CAAECCyAGKgIIIQUMAQsgBioCCCADlEMK1yM8lCEFCyAALQADQRB0QYCAwABxBEAgBSAAIAEgAiAEEFQiA0MAAAAAIAMgA1sbkiEFCyAGQRBqJAAgBQu1AQECfyAAKAIEQQFqIgEgACgCACICKALsAyACKALoAyICa0ECdU8EQANAIAAoAggiAUUEQCAAQQA2AgggAEIANwIADwsgACABKAIENgIAIAAgASgCCDYCBCAAIAEoAgA2AgggARAjIAAoAgRBAWoiASAAKAIAIgIoAuwDIAIoAugDIgJrQQJ1Tw0ACwsgACABNgIEIAIgAUECdGooAgAtABdBEHRBgIAwcUGAgCBGBEAgABB9CwuBAQIBfwF9IwBBEGsiAyQAIANBCGogAEEDIAJBAkdBAXQgAUH+AXFBAkcbIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC4EBAgF/AX0jAEEQayIDJAAgA0EIaiAAQQEgAkECRkEBdCABQf4BcUECRxsgAhBTQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLeAICfQF/IAAgAkEDdGoiByoC+AMhBkMAAMB/IQUCQAJAAkAgBy0A/ANBAWsOAgABAgsgBiEFDAELIAYgA5RDCtcjPJQhBQsgAC0AF0EQdEGAgMAAcQR9IAUgAEEUaiABIAIgBBBUIgNDAAAAACADIANbG5IFIAULC1EBAX8CQCABKALoAyICIAEoAuwDRwRAIABCADcCBCAAIAE2AgAgAigCAC0AF0EQdEGAgDBxQYCAIEcNASAAEH0PCyAAQgA3AgAgAEEANgIICwvoAgECfwJAIAAgAUYNACABIAAgAmoiBGtBACACQQF0a00EQCAAIAEgAhArDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAwRAIAAhAwwDCyAAQQNxRQRAIAAhAwwCCyAAIQMDQCACRQ0EIAMgAS0AADoAACABQQFqIQEgAkEBayECIANBAWoiA0EDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkEBayICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQQRrIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkEBayICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AA0AgAyABKAIANgIAIAFBBGohASADQQRqIQMgAkEEayICQQNLDQALCyACRQ0AA0AgAyABLQAAOgAAIANBAWohAyABQQFqIQEgAkEBayICDQALCyAAC5QCAgF8AX8CQCAAIAGiIgAQbCIERAAAAAAAAPA/oCAEIAREAAAAAAAAAABjGyIEIARiIgUgBJlELUMc6+I2Gj9jRXJFBEAgACAEoSEADAELIAUgBEQAAAAAAADwv6CZRC1DHOviNho/Y0VyRQRAIAAgBKFEAAAAAAAA8D+gIQAMAQsgACAEoSEAIAIEQCAARAAAAAAAAPA/oCEADAELIAMNACAAAnxEAAAAAAAAAAAgBQ0AGkQAAAAAAADwPyAERAAAAAAAAOA/ZA0AGkQAAAAAAADwP0QAAAAAAAAAACAERAAAAAAAAOC/oJlELUMc6+I2Gj9jGwugIQALIAAgAGIgASABYnIEQEMAAMB/DwsgACABo7YLkwECAX0BfyMAQRBrIgYkACAGQQhqIABB6ABqIAAgAkEBdGovAV4QH0MAAMB/IQUCQAJAAkAgBi0ADEEBaw4CAAECCyAGKgIIIQUMAQsgBioCCCADlEMK1yM8lCEFCyAALQADQRB0QYCAwABxBEAgBSAAIAEgAiAEEFQiA0MAAAAAIAMgA1sbkiEFCyAGQRBqJAAgBQtQAAJAAkACQAJAAkAgAg4EBAABAgMLIAAgASABQR5qEEMPCyAAIAEgAUEeaiADEEQPCyAAIAEgAUEeahBCDwsQJAALIAAgASABQR5qIAMQRQt+AgF/AX0jAEEQayIEJAAgBEEIaiAAQQMgAkECR0EBdCABQf4BcUECRxsgAhBQQwAAwH8hBQJAAkACQCAELQAMQQFrDgIAAQILIAQqAgghBQwBCyAEKgIIIAOUQwrXIzyUIQULIARBEGokACAFQwAAAACXQwAAAAAgBSAFWxsLfgIBfwF9IwBBEGsiBCQAIARBCGogAEEBIAJBAkZBAXQgAUH+AXFBAkcbIAIQUEMAAMB/IQUCQAJAAkAgBC0ADEEBaw4CAAECCyAEKgIIIQUMAQsgBCoCCCADlEMK1yM8lCEFCyAEQRBqJAAgBUMAAAAAl0MAAAAAIAUgBVsbC08AAkACQAJAIANB/wFxIgMOBAACAgECCyABIAEvAABB+P8DcTsAAA8LIAEgAS8AAEH4/wNxQQRyOwAADwsgACABIAJBAUECIANBAUYbEEwLNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEBAAtiAgJ9An8CQCAAKALkA0UNACAAQfwAaiIDIABBGmoiBC8BABAgIgIgAlwEQCADIABBGGoiBC8BABAgIgIgAlwNASADIAAvARgQIEMAAAAAXkUNAQsgAyAELwEAECAhAQsgAQtfAQN/IAEEQEEMEB4iAyABKQIENwIEIAMhAiABKAIAIgEEQCADIQQDQEEMEB4iAiABKQIENwIEIAQgAjYCACACIQQgASgCACIBDQALCyACIAAoAgA2AgAgACADNgIACwvXawMtfxx9AX4CfwJAIAAtAABBBHEEQCAAKAKgASAMRw0BCyAAKAKkASAAKAL0AygCDEcNAEEAIAAtAKgBIANGDQEaCyAAQoCAgPyLgIDAv383AoADIABCgYCAgBA3AvgCIABCgICA/IuAgMC/fzcC8AIgAEEANgKsAUEBCyErAkACQAJAAkAgACgCCARAIABBFGoiDkECQQEgBhAiIT4gDkECQQEgBhAhITwgDkEAQQEgBhAiITsgDkEAQQEgBhAhIUAgBCABIAUgAiAAKAL4AiAAQfACaiIOKgIAIAAoAvwCIAAqAvQCIAAqAoADIAAqAoQDID4gPJIiPiA7IECSIjwgACgC9AMiEBB7DQEgACgCrAEiEUUNAyAAQbABaiETA0AgBCABIAUgAiATIB1BGGxqIg4oAgggDioCACAOKAIMIA4qAgQgDioCECAOKgIUID4gPCAQEHsNAiAdQQFqIh0gEUcNAAsMAgsgCEUEQCAAKAKsASITRQ0CIABBsAFqIRADQAJAAkAgECAdQRhsIhFqIg4qAgAiPiA+XCABIAFcckUEQCA+IAGTi0MXt9E4XQ0BDAILIAEgAVsgPiA+W3INAQsCQCAQIBFqIhEqAgQiPiA+XCACIAJcckUEQCA+IAKTi0MXt9E4XQ0BDAILIAIgAlsgPiA+W3INAQsgESgCCCAERw0AIBEoAgwgBUYNAwsgEyAdQQFqIh1HDQALDAILAkAgAEHwAmoiDioCACI+ID5cIAEgAVxyRQRAID4gAZOLQxe30ThdDQEMBAsgASABWyA+ID5bcg0DCyAOQQAgACgC/AIgBUYbQQAgACgC+AIgBEYbQQACfyACIAJcIg4gACoC9AIiPiA+XHJFBEAgPiACk4tDF7fROF0MAQtBACA+ID5bDQAaIA4LGyEOCyAORSArcgRAIA4hHQwCCyAAIA4qAhA4ApQDIAAgDioCFDgCmAMgCkEMQRAgCBtqIgMgAygCAEEBajYCACAOIR0MAgtBACEdCyAGIUAgByFHIAtBAWohIiMAQaABayINJAACQAJAIARBAUYgASABW3JFBEAgDUGqCzYCICAAQQVB2CUgDUEgahAsDAELIAVBAUYgAiACW3JFBEAgDUHZCjYCECAAQQVB2CUgDUEQahAsDAELIApBAEEEIAgbaiILIAsoAgBBAWo2AgAgACAALQCIA0H8AXEgAC0AFEEDcSILIANBASADGyIsIAsbIg9BA3FyOgCIAyAAQawDaiIQIA9BAUdBA3QiC2ogAEEUaiIUQQNBAiAPQQJGGyIRIA8gQBAiIgY4AgAgECAPQQFGQQN0Ig5qIBQgESAPIEAQISIHOAIAIAAgFEEAIA8gQBAiIjw4ArADIAAgFEEAIA8gQBAhIjs4ArgDIABBvANqIhAgC2ogFCARIA8QMDgCACAOIBBqIBQgESAPEC84AgAgACAUQQAgDxAwOALAAyAAIBRBACAPEC84AsgDIAsgAEHMA2oiC2ogFCARIA8gQBA4OAIAIAsgDmogFCARIA8gQBA3OAIAIAAgFEEAIA8gQBA4OALQAyAAIBRBACAPIEAQNyI6OALYAyAGIAeSIT4gPCA7kiE8AkACQCAAKAIIIgsEQEMAAMB/IAEgPpMgBEEBRhshBkMAAMB/IAIgPJMgBUEBRhshPiAAAn0gBCAFckUEQCAAIABBAiAPIAYgQCBAECU4ApQDIABBACAPID4gRyBAECUMAQsgBEEDTyAFQQNPcg0EIA1BiAFqIAAgBiAGIAAqAswDIAAqAtQDkiAAKgK8A5IgACoCxAOSIjyTIgdDAAAAACAHQwAAAABeGyAGIAZcG0GBgAggBEEDdEH4//8HcXZB/wFxID4gPiAAKgLQAyA6kiAAKgLAA5IgACoCyAOSIjuTIgdDAAAAACAHQwAAAABeGyA+ID5cG0GBgAggBUEDdEH4//8HcXZB/wFxIAsREAAgDSoCjAEiPUMAAAAAYCANKgKIASIHQwAAAABgcUUEQCANID27OQMIIA0gB7s5AwAgAEEBQdwdIA0QLCANKgKMASIHQwAAAAAgB0MAAAAAXhshPSANKgKIASIHQwAAAAAgB0MAAAAAXhshBwsgCiAKKAIUQQFqNgIUIAogCUECdGoiCSAJKAIYQQFqNgIYIAAgAEECIA8gPCAHkiAGIARBAWtBAkkbIEAgQBAlOAKUAyAAQQAgDyA7ID2SID4gBUEBa0ECSRsgRyBAECULOAKYAwwBCwJAIAAoAuADRQRAIAAoAuwDIAAoAugDa0ECdSELDAELIA1BiAFqIAAQMgJAIA0oAogBRQRAQQAhCyANKAKMAUUNAQsgDUGAAWohEEEAIQsDQCANQQA2AoABIA0gDSkDiAE3A3ggECANKAKQARA8IA1BiAFqEC4gDSgCgAEiCQRAA0AgCSgCACEOIAkQJyAOIgkNAAsLIAtBAWohCyANQQA2AoABIA0oAowBIA0oAogBcg0ACwsgDSgCkAEiCUUNAANAIAkoAgAhDiAJECcgDiIJDQALCyALRQRAIAAgAEECIA8gBEEBa0EBSwR9IAEgPpMFIAAqAswDIAAqAtQDkiAAKgK8A5IgACoCxAOSCyBAIEAQJTgClAMgACAAQQAgDyAFQQFrQQFLBH0gAiA8kwUgACoC0AMgACoC2AOSIAAqAsADkiAAKgLIA5ILIEcgQBAlOAKYAwwBCwJAIAgNACAFQQJGIAIgPJMiBiAGW3EgBkMAAAAAX3EgBCAFckUgBEECRiABID6TIgdDAAAAAF9xcnJFDQAgACAAQQIgD0MAAAAAQwAAAAAgByAHQwAAAABdGyAHIARBAkYbIAcgB1wbIEAgQBAlOAKUAyAAIABBACAPQwAAAABDAAAAACAGIAZDAAAAAF0bIAYgBUECRhsgBiAGXBsgRyBAECU4ApgDDAELIAAQTyAAIAAtAIgDQfsBcToAiAMgABBeQQMhEyAALQAUQQJ2QQNxIQkCQAJAIA9BAkcNAAJAIAlBAmsOAgIAAQtBAiETDAELIAkhEwsgAC8AFSEnIBQgEyAPIEAQOCEGIBQgEyAPEDAhByAUIBMgDyBAEDchOyAUIBMgDxAvITpBACEQIBQgEUEAIBNBAkkbIhYgDyBAEDghPyAUIBYgDxAwIT0gFCAWIA8gQBA3IUEgFCAWIA8QLyFEIBQgFiAPIEAQYCFCIBQgFiAPEEshQyAAIA9BACABID6TIlAgBiAHkiA7IDqSkiJKID8gPZIgQSBEkpIiRiATQQFLIhkbIEAgQBB6ITsgACAPQQEgAiA8kyJRIEYgSiAZGyBHIEAQeiFFAkACQCAEIAUgGRsiHA0AIA1BiAFqIAAQMgJAAkAgDSgCiAEiDiANKAKMASIJckUNAANAIA4oAuwDIA4oAugDIg5rQQJ1IAlNDQQCQCAOIAlBAnRqKAIAIgkQeUUNACAQDQIgCRA7IgYgBlsgBotDF7fROF1xDQIgCRBAIgYgBlwEQCAJIRAMAQsgCSEQIAaLQxe30ThdDQILIA1BiAFqEC4gDSgCjAEiCSANKAKIASIOcg0ACwwBC0EAIRALIA0oApABIglFDQADQCAJKAIAIQ4gCRAnIA4iCQ0ACwsgDUGIAWogABAyIA0oAowBIQkCQCANKAKIASIORQRAQwAAAAAhPSAJRQ0BCyBFIEVcIiMgBUEAR3IhKCA7IDtcIiQgBEEAR3IhKUMAAAAAIT0DQCAOKALsAyAOKALoAyIOa0ECdSAJTQ0CIA4gCUECdGooAgAiDhB4AkAgDi8AFSAOLQAXQRB0ciIJQYCAMHFBgIAQRgRAIA4QdyAOIA4tAAAiCUEBciIOQfsBcSAOIAlBBHEbOgAADAELIAgEfyAOIA4tABRBA3EiCSAPIAkbIDsgRRB2IA4vABUgDi0AF0EQdHIFIAkLQYDgAHFBgMAARg0AIA5BFGohEQJAIA4gEEYEQCAQQQA2ApwBIBAgDDYCmAFDAAAAACEHDAELIBQtAABBAnZBA3EhCQJAAkAgD0ECRw0AQQMhEgJAIAlBAmsOAgIAAQtBAiESDAELIAkhEgsgDUGAgID+BzYCaCANQYCAgP4HNgJQIA1B+ABqIA5B/ABqIhcgDi8BHhAfIDsgRSASQQFLIh4bIT4CQAJAAkACQCANLQB8IgkOBAABAQABCwJAIBcgDi8BGBAgIgYgBlwNACAXIA4vARgQIEMAAAAAXkUNACAOKAL0Ay0ACEEBcSIJDQBDAADAf0MAAAAAIAkbIQcMAgtDAADAfyEGDAILIA0qAnghB0MAAMB/IQYCQCAJQQFrDgIBAAILIAcgPpRDCtcjPJQhBgwBCyAHIQYLIA4tABdBEHRBgIDAAHEEQCAGIBEgD0GBAiASQQN0dkEBcSA7EFQiBkMAAAAAIAYgBlsbkiEGCyAOKgL4AyEHQQAhH0EAIRgCQAJAAkAgDi0A/ANBAWsOAgEAAgsgOyAHlEMK1yM8lCEHCyAHIAdcDQAgB0MAAAAAYCEYCyAOKgKABCEHAkACQAJAIA4tAIQEQQFrDgIBAAILIEUgB5RDCtcjPJQhBwsgByAHXA0AIAdDAAAAAGAhHwsCQCAOAn0gBiAGXCIJID4gPlxyRQRAIA4qApwBIgcgB1sEQCAOKAL0Ay0AEEEBcUUNAyAOKAKYASAMRg0DCyARIBIgDyA7EDggESASIA8QMJIgESASIA8gOxA3IBEgEiAPEC+SkiIHIAYgBiAHXRsgByAGIAkbIAYgBlsgByAHW3EbDAELIBggHnEEQCARQQIgDyA7EDggEUECIA8QMJIgEUECIA8gOxA3IBFBAiAPEC+SkiIHIA4gD0EAIDsgOxAxIgYgBiAHXRsgByAGIAYgBlwbIAYgBlsgByAHW3EbDAELIB4gH0VyRQRAIBFBACAPIDsQOCARQQAgDxAwkiARQQAgDyA7EDcgEUEAIA8QL5KSIgcgDiAPQQEgRSA7EDEiBiAGIAddGyAHIAYgBiAGXBsgBiAGWyAHIAdbcRsMAQtBASEaIA1BATYCZCANQQE2AnggEUECQQEgOxAiIBFBAkEBIDsQIZIhPiARQQBBASA7ECIhPCARQQBBASA7ECEhOkMAAMB/IQdBASEVQwAAwH8hBiAYBEAgDiAPQQAgOyA7EDEhBiANQQA2AnggDSA+IAaSIgY4AmhBACEVCyA8IDqSITwgHwRAIA4gD0EBIEUgOxAxIQcgDUEANgJkIA0gPCAHkiIHOAJQQQAhGgsCQAJAAkAgAC0AF0EQdEGAgAxxQYCACEYiCSASQQJJIiBxRQRAIAkgJHINAiAGIAZcDQEMAgsgJCAGIAZbcg0CC0ECIRUgDUECNgJ4IA0gOzgCaCA7IQYLAkAgIEEBIAkbBEAgCSAjcg0CIAcgB1wNAQwCCyAjIAcgB1tyDQELQQIhGiANQQI2AmQgDSBFOAJQIEUhBwsCQCAXIA4vAXoQICI6IDpcDQACfyAVIB5yRQRAIBcgDi8BehAgIQcgDUEANgJkIA0gPCAGID6TIAeVkjgCUEEADAELIBogIHINASAXIA4vAXoQICEGIA1BADYCeCANIAYgByA8k5QgPpI4AmhBAAshGkEAIRULIA4vABZBD3EiCUUEQCAALQAVQQR2IQkLAkAgFUUgCUEFRiAeciAYIClyIAlBBEdycnINACANQQA2AnggDSA7OAJoIBcgDi8BehAgIgYgBlwNAEEAIRogFyAOLwF6ECAhBiANQQA2AmQgDSA7ID6TIAaVOAJQCyAOLwAWQQ9xIhhFBEAgAC0AFUEEdiEYCwJAICAgKHIgH3IgGEEFRnIgGkUgGEEER3JyDQAgDUEANgJkIA0gRTgCUCAXIA4vAXoQICIGIAZcDQAgFyAOLwF6ECAhBiANQQA2AnggDSAGIEUgPJOUOAJoCyAOIA9BAiA7IDsgDUH4AGogDUHoAGoQPyAOIA9BACBFIDsgDUHkAGogDUHQAGoQPyAOIA0qAmggDSoCUCAPIA0oAnggDSgCZCA7IEVBAEEFIAogIiAMED0aIA4gEkECdEH8JWooAgBBAnRqKgKUAyEGIBEgEiAPIDsQOCARIBIgDxAwkiARIBIgDyA7EDcgESASIA8QL5KSIgcgBiAGIAddGyAHIAYgBiAGXBsgBiAGWyAHIAdbcRsLIgc4ApwBCyAOIAw2ApgBCyA9IAcgESATQQEgOxAiIBEgE0EBIDsQIZKSkiE9CyANQYgBahAuIA0oAowBIgkgDSgCiAEiDnINAAsLIA0oApABIgkEQANAIAkoAgAhDiAJECcgDiIJDQALCyA7IEUgGRshByA9QwAAAACSIQYgC0ECTwRAIBQgEyAHEE0gC0EBa7OUIAaSIQYLIEIgQ5IhPiAFIAQgGRshGiBHIEAgGRshTSBAIEcgGRshSSANQdAAaiAAEDJBACAcIAYgB14iCxsgHCAcQQJGGyAcICdBgIADcSIfGyEeIBQgFiBFIDsgGRsiRBBNIU8gDSgCVCIRIA0oAlAiCXIEQEEBQQIgRCBEXCIpGyEtIAtFIBxBAUZyIS4gE0ECSSEZIABB8gBqIS8gAEH8AGohMCATQQJ0IgtB7CVqITEgC0HcJWohMiAWQQJ0Ig5B7CVqIRwgDkHcJWohICALQfwlaiEkIA5B/CVqISMgGkEARyIzIAhyITQgGkUiNSAIQQFzcSE2IBogH3JFITcgDUHwAGohOCANQYABaiEnQYECIBNBA3R2Qf8BcSEoIBpBAWtBAkkhOQNAIA1BADYCgAEgDUIANwN4AkAgACgC7AMiCyAAKALoAyIORg0AIAsgDmsiC0EASA0DIA1BiAFqIAtBAnVBACAnEEohECANKAKMASANKAJ8IA0oAngiC2siDmsgCyAOEDMhDiANIA0oAngiCzYCjAEgDSAONgJ4IA0pA5ABIVYgDSANKAJ8Ig42ApABIA0oAoABIRIgDSBWNwJ8IA0gEjYClAEgECALNgIAIAsgDkcEQCANIA4gCyAOa0EDakF8cWo2ApABCyALRQ0AIAsQJwsgFC0AACIOQQJ2QQNxIQsCQAJAIA5BA3EiDiAsIA4bIhJBAkcNAEEDIRACQCALQQJrDgICAAELQQIhEAwBCyALIRALIAAvABUhCyAUIBAgBxBNIT8CQCAJIBFyRQRAQwAAAAAhQ0EAIRFDAAAAACFCQwAAAAAhQUEAIRUMAQsgC0GAgANxISUgEEECSSEYIBBBAnQiC0HsJWohISALQdwlaiEqQQAhFUMAAAAAIUEgESEOQwAAAAAhQkMAAAAAIUNBACEXQwAAAAAhPQNAIAkoAuwDIAkoAugDIglrQQJ1IA5NDQQCQCAJIA5BAnRqKAIAIgkvABUgCS0AF0EQdHIiC0GAgDBxQYCAEEYgC0GA4ABxQYDAAEZyDQAgDUGIAWoiESAJQRRqIgsgKigCACADECggDS0AjAEhJiARIAsgISgCACADECggDS0AjAEhESAJIBs2AtwDIBUgJkEDRmohFSARQQNGIREgCyAQQQEgOxAiIUsgCyAQQQEgOxAhIU4gCSAXIAkgFxsiF0YhJiAJKgKcASE8IAsgEiAYIEkgQBA1IToCQCALIBIgGCBJIEAQLSIGQwAAAABgIAYgPF1xDQAgOkMAAAAAYEUEQCA8IQYMAQsgOiA8IDogPF4bIQYLIBEgFWohFQJAICVFQwAAAAAgPyAmGyI8IEsgTpIiOiA9IAaSkpIgB15Fcg0AIA0oAnggDSgCfEYNACAOIREMAwsgCRB5BEAgQiAJEDuSIUIgQyAJEEAgCSoCnAGUkyFDCyBBIDwgOiAGkpIiBpIhQSA9IAaSIT0gDSgCfCILIA0oAoABRwRAIAsgCTYCACANIAtBBGo2AnwMAQsgCyANKAJ4ayILQQJ1IhFBAWoiDkGAgICABE8NBSANQYgBakH/////AyALQQF1IiYgDiAOICZJGyALQfz///8HTxsgESAnEEohDiANKAKQASAJNgIAIA0gDSgCkAFBBGo2ApABIA0oAowBIA0oAnwgDSgCeCIJayILayAJIAsQMyELIA0gDSgCeCIJNgKMASANIAs2AnggDSkDkAEhViANIA0oAnwiCzYCkAEgDSgCgAEhESANIFY3AnwgDSARNgKUASAOIAk2AgAgCSALRwRAIA0gCyAJIAtrQQNqQXxxajYCkAELIAlFDQAgCRAnCyANQQA2AnAgDSANKQNQNwNoIDggDSgCWBA8IA1B0ABqEC4gDSgCcCIJBEADQCAJKAIAIQsgCRAnIAsiCQ0ACwtBACERIA1BADYCcCANKAJUIg4gDSgCUCIJcg0ACwtDAACAPyBCIEJDAACAP10bIEIgQkMAAAAAXhshPCANKAJ8IRcgDSgCeCEJAn0CQAJ9AkACQAJAIB5FDQAgFCAPQQAgQCBAEDUhBiAUIA9BACBAIEAQLSE6IBQgD0EBIEcgQBA1IT8gFCAPQQEgRyBAEC0hPSAGID8gE0EBSyILGyBKkyIGIAZbIAYgQV5xDQEgOiA9IAsbIEqTIgYgBlsgBiBBXXENASAAKAL0Ay0AFEEBcQ0AIEEgPEMAAAAAWw0DGiAAEDsiBiAGXA0CIEEgABA7QwAAAABbDQMaDAILIAchBgsgBiAGWw0CIAYhBwsgBwshBiBBjEMAAAAAIEFDAAAAAF0bIT8gBgwBCyAGIEGTIT8gBgshByA2RQRAAkAgCSAXRgRAQwAAAAAhQQwBC0MAAIA/IEMgQ0MAAIA/XRsgQyBDQwAAAABeGyE9QwAAAAAhQSAJIQ4DQCAOKAIAIgsqApwBITogC0EUaiIQIA8gGSBJIEAQNSFCAkAgECAPIBkgSSBAEC0iBkMAAAAAYCAGIDpdcQ0AIEJDAAAAAGBFBEAgOiEGDAELIEIgOiA6IEJdGyEGCwJAID9DAAAAAF0EQCAGIAsQQIyUIjpDAAAAAF4gOkMAAAAAXXJFDQEgCyATIA8gPyA9lSA6lCAGkiJCIAcgOxAlITogQiBCXCA6IDpcciA6IEJbcg0BIEEgOiAGk5IhQSALEEAgCyoCnAGUID2SIT0MAQsgP0MAAAAAXkUNACALEDsiQkMAAAAAXiBCQwAAAABdckUNACALIBMgDyA/IDyVIEKUIAaSIkMgByA7ECUhOiBDIENcIDogOlxyIDogQ1tyDQAgPCBCkyE8IEEgOiAGk5IhQQsgDkEEaiIOIBdHDQALID8gQZMiQiA9lSFLIEIgPJUhTiAALwAVQYCAA3FFIC5yISVDAAAAACFBIAkhCwNAIAsoAgAiDioCnAEhPCAOQRRqIhggDyAZIEkgQBA1IToCQCAYIA8gGSBJIEAQLSIGQwAAAABgIAYgPF1xDQAgOkMAAAAAYEUEQCA8IQYMAQsgOiA8IDogPF4bIQYLAn0gDiATIA8CfSBCQwAAAABdBEAgBiAGIA4QQIyUIjxDAAAAAFsNAhogBiA8kiA9QwAAAABbDQEaIEsgPJQgBpIMAQsgBiBCQwAAAABeRQ0BGiAGIA4QOyI8QwAAAABeIDxDAAAAAF1yRQ0BGiBOIDyUIAaSCyAHIDsQJQshQyAYIBNBASA7ECIhPCAYIBNBASA7ECEhOiAYIBZBASA7ECIhUiAYIBZBASA7ECEhUyANIEMgPCA6kiJUkiJVOAJoIA1BADYCYCBSIFOSITwCQCAOQfwAaiIQIA4vAXoQICI6IDpbBEAgECAOLwF6ECAhOiANQQA2AmQgDSA8IFUgVJMiPCA6lCA8IDqVIBkbkjgCeAwBCyAjKAIAIRACQCApDQAgDiAQQQN0aiIhKgL4AyE6QQAhEgJAAkACQCAhLQD8A0EBaw4CAQACCyBEIDqUQwrXIzyUIToLIDogOlwNACA6QwAAAABgIRILICUgNSASQQFzcXFFDQAgDi8AFkEPcSISBH8gEgUgAC0AFUEEdgtBBEcNACANQYgBaiAYICAoAgAgDxAoIA0tAIwBQQNGDQAgDUGIAWogGCAcKAIAIA8QKCANLQCMAUEDRg0AIA1BADYCZCANIEQ4AngMAQsgDkH4A2oiEiAQQQN0aiIQKgIAIToCQAJAAkACQCAQLQAEQQFrDgIBAAILIEQgOpRDCtcjPJQhOgsgOkMAAAAAYA0BCyANIC02AmQgDSBEOAJ4DAELAkACfwJAAkACQCAWQQJrDgICAAELIDwgDiAPQQAgRCA7EDGSITpBAAwCC0EBIRAgDSA8IA4gD0EBIEQgOxAxkiI6OAJ4IBNBAU0NDAwCCyA8IA4gD0EAIEQgOxAxkiE6QQALIRAgDSA6OAJ4CyANIDMgEiAQQQN0ajEABEIghkKAgICAIFFxIDogOlxyNgJkCyAOIA8gEyAHIDsgDUHgAGogDUHoAGoQPyAOIA8gFiBEIDsgDUHkAGogDUH4AGoQPyAOICMoAgBBA3RqIhAqAvgDIToCQAJAAkACQCAQLQD8A0EBaw4CAQACCyBEIDqUQwrXIzyUIToLQQEhECA6QwAAAABgDQELQQEhECAOLwAWQQ9xIhIEfyASBSAALQAVQQR2C0EERw0AIA1BiAFqIBggICgCACAPECggDS0AjAFBA0YNACANQYgBaiAYIBwoAgAgDxAoIA0tAIwBQQNGIRALIA4gDSoCaCI8IA0qAngiOiATQQFLIhIbIDogPCASGyAALQCIA0EDcSANKAJgIhggDSgCZCIhIBIbICEgGCASGyA7IEUgCCAQcSIQQQRBByAQGyAKICIgDBA9GiBBIEMgBpOSIUEgAAJ/IAAtAIgDIhBBBHFFBEBBACAOLQCIA0EEcUUNARoLQQQLIBBB+wFxcjoAiAMgC0EEaiILIBdHDQALCyA/IEGTIT8LIAAgAC0AiAMiC0H7AXFBBCA/QwAAAABdQQJ0IAtBBHFBAnYbcjoAiAMgFCATIA8gQBBgIBQgEyAPEEuSITogFCATIA8gQBB/IBQgEyAPEFKSIUsgFCATIAcQTSFCAn8CQAJ9ID9DAAAAAF5FIB5BAkdyRQRAIA1BiAFqIDAgLyAkKAIAQQF0ai8BABAfAkAgDS0AjAEEQCAUIA8gKCBJIEAQNSIGIAZbDQELQwAAAAAMAgtDAAAAACAUIA8gKCBJIEAQNSA6kyBLkyAHID+TkyI/QwAAAABeRQ0BGgsgP0MAAAAAYEUNASA/CyE8IBQtAABBBHZBB3EMAQsgPyE8IBQtAABBBHZBB3EiC0EAIAtBA2tBA08bCyELQwAAAAAhBgJAAkAgFQ0AQwAAAAAhPQJAAkACQAJAAkAgC0EBaw4FAAECBAMGCyA8QwAAAD+UIT0MBQsgPCE9DAQLIBcgCWsiC0EFSQ0CIEIgPCALQQJ1QQFrs5WSIUIMAgsgQiA8IBcgCWtBAnVBAWqzlSI9kiFCDAILIDxDAAAAP5QgFyAJa0ECdbOVIj0gPZIgQpIhQgwBC0MAAAAAIT0LIDogPZIhPSAAEHwhEgJAIAkgF0YiGARAQwAAAAAhP0MAAAAAIToMAQsgF0EEayElIDwgFbOVIU4gMigCACEhQwAAAAAhOkMAAAAAIT8gCSELA0AgDUGIAWogCygCACIOQRRqIhAgISAPECggPUMAAACAIE5DAAAAgCA8QwAAAABeGyJBIA0tAIwBQQNHG5IhPSAIBEACfwJAAkACQAJAIBNBAWsOAwECAwALQQEhFSAOQaADagwDC0EDIRUgDkGoA2oMAgtBACEVIA5BnANqDAELQQIhFSAOQaQDagshKiAOIBVBAnRqICoqAgAgPZI4ApwDCyAlKAIAIRUgDUGIAWogECAxKAIAIA8QKCA9QwAAAIAgQiAOIBVGG5JDAAAAgCBBIA0tAIwBQQNHG5IhPQJAIDRFBEAgPSAQIBNBASA7ECIgECATQQEgOxAhkiAOKgKcAZKSIT0gRCEGDAELIA4gEyA7EF0gPZIhPSASBEAgDhBOIUEgEEEAIA8gOxBBIUMgDioCmAMgEEEAQQEgOxAiIBBBAEEBIDsQIZKSIEEgQ5IiQZMiQyA/ID8gQ10bIEMgPyA/ID9cGyA/ID9bIEMgQ1txGyE/IEEgOiA6IEFdGyBBIDogOiA6XBsgOiA6WyBBIEFbcRshOgwBCyAOIBYgOxBdIkEgBiAGIEFdGyBBIAYgBiAGXBsgBiAGWyBBIEFbcRshBgsgC0EEaiILIBdHDQALCyA/IDqSIAYgEhshQQJ9IDkEQCAAIBYgDyBGIEGSIE0gQBAlIEaTDAELIEQgQSA3GyFBIEQLIT8gH0UEQCAAIBYgDyBGIEGSIE0gQBAlIEaTIUELIEsgPZIhPAJAIAhFDQAgCSELIBgNAANAIAsoAgAiFS8AFkEPcSIORQRAIAAtABVBBHYhDgsCQAJAAkACQCAOQQRrDgIAAQILIA1BiAFqIBVBFGoiECAgKAIAIA8QKEEEIQ4gDS0AjAFBA0YNASANQYgBaiAQIBwoAgAgDxAoIA0tAIwBQQNGDQEgFSAjKAIAQQN0aiIOKgL4AyE9AkACQAJAIA4tAPwDQQFrDgIBAAILIEQgPZRDCtcjPJQhPQsgPiEGID1DAAAAAGANAwsgFSAkKAIAQQJ0aioClAMhBiANIBVB/ABqIg4gFS8BehAgIjogOlsEfSAQIBZBASA7ECIgECAWQQEgOxAhkiAGIA4gFS8BehAgIjqUIAYgOpUgGRuSBSBBCzgCeCANIAYgECATQQEgOxAiIBAgE0EBIDsQIZKSOAKIASANQQA2AmggDUEANgJkIBUgDyATIAcgOyANQegAaiANQYgBahA/IBUgDyAWIEQgOyANQeQAaiANQfgAahA/IA0qAngiOiANKgKIASI9IBNBAUsiGCIOGyEGIB9BAEcgAC8AFUEPcUEER3EiECAZcSA9IDogDhsiOiA6XHIhDiAVIDogBiAPIA4gECAYcSAGIAZcciA7IEVBAUECIAogIiAMED0aID4hBgwCC0EFQQEgFC0AAEEIcRshDgsgFSAWIDsQXSEGIA1BiAFqIBVBFGoiECAgKAIAIhggDxAoID8gBpMhOgJAIA0tAIwBQQNHBEAgHCgCACESDAELIA1BiAFqIBAgHCgCACISIA8QKCANLQCMAUEDRw0AID4gOkMAAAA/lCIGQwAAAAAgBkMAAAAAXhuSIQYMAQsgDUGIAWogECASIA8QKCA+IQYgDS0AjAFBA0YNACANQYgBaiAQIBggDxAoIA0tAIwBQQNGBEAgPiA6QwAAAAAgOkMAAAAAXhuSIQYMAQsCQAJAIA5BAWsOAgIAAQsgPiA6QwAAAD+UkiEGDAELID4gOpIhBgsCfwJAAkACQAJAIBZBAWsOAwECAwALQQEhECAVQaADagwDC0EDIRAgFUGoA2oMAgtBACEQIBVBnANqDAELQQIhECAVQaQDagshDiAVIBBBAnRqIAYgTCAOKgIAkpI4ApwDIAtBBGoiCyAXRw0ACwsgCQRAIAkQJwsgPCBIIDwgSF4bIDwgSCBIIEhcGyBIIEhbIDwgPFtxGyFIIEwgT0MAAAAAIBsbIEGSkiFMIBtBAWohGyANKAJQIgkgEXINAAsLAkAgCEUNACAfRQRAIAAQfEUNAQsgACAWIA8CfSBGIESSIBpFDQAaIAAgFkECdEH8JWooAgBBA3RqIgkqAvgDIQYCQAJAAkAgCS0A/ANBAWsOAgEAAgsgTSAGlEMK1yM8lCEGCyAGQwAAAABgRQ0AIAAgD0GBAiAWQQN0dkEBcSBNIEAQMQwBCyBGIEySCyBHIEAQJSEGQwAAAAAhPCAALwAVQQ9xIQkCQAJAAkACQAJAAkACQAJAAkAgBiBGkyBMkyIGQwAAAABgRQRAQwAAAAAhQyAJQQJrDgICAQcLQwAAAAAhQyAJQQJrDgcBAAUGBAIDBgsgPiAGkiE+DAULID4gBkMAAAA/lJIhPgwECyAGIBuzIjqVITwgPiAGIDogOpKVkiE+DAMLID4gBiAbQQFqs5UiPJIhPgwCCyAbQQJJBEAMAgsgDUGIAWogABAyIAYgG0EBa7OVITwMAgsgBiAbs5UhQwsgDUGIAWogABAyIBtFDQELIBZBAnQiCUHcJWohECAJQfwlaiERIA1BOGohGCANQcgAaiEZIA1B8ABqIRUgDUGQAWohHCANQYABaiEfQQAhEgNAIA1BADYCgAEgDSANKQOIATcDeCAfIA0oApABEDwgDUEANgJwIA0gDSkDeCJWNwNoIBUgDSgCgAEiCxA8IA0oAmwhCQJAAkAgDSgCaCIOBEBDAAAAACE6QwAAAAAhP0MAAAAAIQYMAQtDAAAAACE6QwAAAAAhP0MAAAAAIQYgCUUNAQsDQCAOKALsAyAOKALoAyIOa0ECdSAJTQ0FAkAgDiAJQQJ0aigCACIJLwAVIAktABdBEHRyIhdBgIAwcUGAgBBGIBdBgOAAcUGAwABGcg0AIAkoAtwDIBJHDQIgCUEUaiEOIAkgESgCAEECdGoqApQDIj1DAAAAAGAEfyA9IA4gFkEBIDsQIiAOIBZBASA7ECGSkiI9IAYgBiA9XRsgPSAGIAYgBlwbIAYgBlsgPSA9W3EbIQYgCS0AFgUgF0EIdgtBD3EiFwR/IBcFIAAtABVBBHYLQQVHDQAgFC0AAEEIcUUNACAJEE4gDkEAIA8gOxBBkiI9ID8gPSA/XhsgPSA/ID8gP1wbID8gP1sgPSA9W3EbIj8gCSoCmAMgDkEAQQEgOxAiIA5BAEEBIDsQIZKSID2TIj0gOiA6ID1dGyA9IDogOiA6XBsgOiA6WyA9ID1bcRsiOpIiPSAGIAYgPV0bID0gBiAGIAZcGyAGIAZbID0gPVtxGyEGCyANQQA2AkggDSANKQNoNwNAIBkgDSgCcBA8IA1B6ABqEC4gDSgCSCIJBEADQCAJKAIAIQ4gCRAnIA4iCQ0ACwsgDUEANgJIIA0oAmwiCSANKAJoIg5yDQALCyANIA0pA2g3A4gBIBwgDSgCcBB1IA0gVjcDaCAVIAsQdSA+IE9DAAAAACASG5IhPiBDIAaSIT0gDSgCbCEJAkAgDSgCaCIOIA0oAogBRgRAIAkgDSgCjAFGDQELID4gP5IhQiA+ID2SIUsgPCA9kiEGA0AgDigC7AMgDigC6AMiDmtBAnUgCU0NBQJAIA4gCUECdGooAgAiCS8AFSAJLQAXQRB0ciIXQYCAMHFBgIAQRiAXQYDgAHFBgMAARnINACAJQRRqIQ4CQAJAAkACQAJAAkAgF0EIdkEPcSIXBH8gFwUgAC0AFUEEdgtBAWsOBQEDAgQABgsgFC0AAEEIcQ0ECyAOIBYgDyA7EFEhOiAJIBAoAgBBAnRqID4gOpI4ApwDDAQLIA4gFiAPIDsQYiE/AkACQAJAAkAgFkECaw4CAgABCyAJKgKUAyE6QQIhDgwCC0EBIQ4gCSoCmAMhOgJAIBYOAgIADwtBAyEODAELIAkqApQDITpBACEOCyAJIA5BAnRqIEsgP5MgOpM4ApwDDAMLAkACQAJAAkAgFkECaw4CAgABCyAJKgKUAyE/QQIhDgwCC0EBIQ4gCSoCmAMhPwJAIBYOAgIADgtBAyEODAELIAkqApQDIT9BACEOCyAJIA5BAnRqID4gPSA/k0MAAAA/lJI4ApwDDAILIA4gFiAPIDsQQSE6IAkgECgCAEECdGogPiA6kjgCnAMgCSARKAIAQQN0aiIXKgL4AyE/AkACQAJAIBctAPwDQQFrDgIBAAILIEQgP5RDCtcjPJQhPwsgP0MAAAAAYA0CCwJAAkACfSATQQFNBEAgCSoCmAMgDiAWQQEgOxAiIA4gFkEBIDsQIZKSITogBgwBCyAGITogCSoClAMgDiATQQEgOxAiIA4gE0EBIDsQIZKSCyI/ID9cIAkqApQDIkEgQVxyRQRAID8gQZOLQxe30ThdDQEMAgsgPyA/WyBBIEFbcg0BCyAJKgKYAyJBIEFcIg4gOiA6XHJFBEAgOiBBk4tDF7fROF1FDQEMAwsgOiA6Ww0AIA4NAgsgCSA/IDogD0EAQQAgOyBFQQFBAyAKICIgDBA9GgwBCyAJIEIgCRBOkyAOQQAgDyBEEFGSOAKgAwsgDUEANgI4IA0gDSkDaDcDMCAYIA0oAnAQPCANQegAahAuIA0oAjgiCQRAA0AgCSgCACEOIAkQJyAOIgkNAAsLIA1BADYCOCANKAJsIQkgDSgCaCIOIA0oAogBRw0AIAkgDSgCjAFHDQALCyANKAJwIgkEQANAIAkoAgAhDiAJECcgDiIJDQALCyALBEADQCALKAIAIQkgCxAnIAkiCw0ACwsgPCA+kiA9kiE+IBJBAWoiEiAbRw0ACwsgDSgCkAEiCUUNAANAIAkoAgAhCyAJECcgCyIJDQALCyAAQZQDaiIQIABBAiAPIFAgQCBAECU4AgAgAEGYA2oiESAAQQAgDyBRIEcgQBAlOAIAAkAgEEGBAiATQQN0dkEBcUECdGoCfQJAIB5BAUcEQCAALQAXQQNxIglBAkYgHkECR3INAQsgACATIA8gSCBJIEAQJQwBCyAeQQJHIAlBAkdyDQEgSiAAIA8gEyBIIEkgQBB0Ij4gSiAHkiIGIAYgPl4bID4gBiAGIAZcGyAGIAZbID4gPltxGyIGIAYgSl0bIEogBiAGIAZcGyAGIAZbIEogSltxGws4AgALAkAgEEGBAiAWQQN0dkEBcUECdGoCfQJAIBpBAUcEQCAaQQJHIgkgAC0AF0EDcSILQQJGcg0BCyAAIBYgDyBGIEySIE0gQBAlDAELIAkgC0ECR3INASBGIAAgDyAWIEYgTJIgTSBAEHQiByBGIESSIgYgBiAHXhsgByAGIAYgBlwbIAYgBlsgByAHW3EbIgYgBiBGXRsgRiAGIAYgBlwbIAYgBlsgRiBGW3EbCzgCAAsCQCAIRQ0AAkAgAC8AFUGAgANxQYCAAkcNACANQYgBaiAAEDIDQCANKAKMASIJIA0oAogBIgtyRQRAIA0oApABIglFDQIDQCAJKAIAIQsgCRAnIAsiCQ0ACwwCCyALKALsAyALKALoAyILa0ECdSAJTQ0DIAsgCUECdGooAgAiCS8AFUGA4ABxQYDAAEcEQCAJAn8CQAJAAkAgFkECaw4CAAECCyAJQZQDaiEOIBAqAgAgCSoCnAOTIQZBAAwCCyAJQZQDaiEOIBAqAgAgCSoCpAOTIQZBAgwBCyARKgIAIQYCQAJAIBYOAgABCgsgCUGYA2ohDiAGIAkqAqADkyEGQQEMAQsgCUGYA2ohDiAGIAkqAqgDkyEGQQMLQQJ0aiAGIA4qAgCTOAKcAwsgDUGIAWoQLgwACwALAkAgEyAWckEBcUUNACAWQQFxIRQgE0EBcSEVIA1BiAFqIAAQMgNAIA0oAowBIgkgDSgCiAEiC3JFBEAgDSgCkAEiCUUNAgNAIAkoAgAhCyAJECcgCyIJDQALDAILIAsoAuwDIAsoAugDIgtrQQJ1IAlNDQMCQCALIAlBAnRqKAIAIgkvABUgCS0AF0EQdHIiC0GAgDBxQYCAEEYgC0GA4ABxQYDAAEZyDQAgFQRAAn8CfwJAAkACQCATQQFrDgMAAQINCyAJQZgDaiEOIAlBqANqIQtBASESIBEMAwsgCUGUA2ohDkECIRIgCUGcA2oMAQsgCUGUA2ohDkEAIRIgCUGkA2oLIQsgEAshGyAJIBJBAnRqIBsqAgAgDioCAJMgCyoCAJM4ApwDCyAURQ0AAn8CfwJAAkACQCAWQQFrDgMAAQIMCyAJQZgDaiELIAlBqANqIRJBASEXIBEMAwsgCUGUA2ohCyAJQZwDaiESQQIMAQsgCUGUA2ohCyAJQaQDaiESQQALIRcgEAshDiAJIBdBAnRqIA4qAgAgCyoCAJMgEioCAJM4ApwDCyANQYgBahAuDAALAAsgAC8AFUGA4ABxICJBAUZyRQRAIAAtAABBCHFFDQELIAAgACAeIAQgE0EBSxsgDyAKICIgDEMAAAAAQwAAAAAgOyBFEH4aCyANKAJYIglFDQIDQCAJKAIAIQsgCRAnIAsiCQ0ACwwCCxACAAsgABBeCyANQaABaiQADAELECQACyAAIAM6AKgBIAAgACgC9AMoAgw2AqQBIB0NACAKIAooAggiAyAAKAKsASIOQQFqIgkgAyAJSxs2AgggDkEIRgRAIABBADYCrAFBACEOCyAIBH8gAEHwAmoFIAAgDkEBajYCrAEgACAOQRhsakGwAWoLIgMgBTYCDCADIAQ2AgggAyACOAIEIAMgATgCACADIAAqApQDOAIQIAMgACoCmAM4AhRBACEdCyAIBEAgACAAKQKUAzcCjAMgACAALQAAIgNBAXIiBEH7AXEgBCADQQRxGzoAAAsgACAMNgKgASArIB1Fcgs1AQF/IAEgACgCBCICQQF1aiEBIAAoAgAhACABIAJBAXEEfyABKAIAIABqKAIABSAACxECAAt9ACAAQRRqIgAgAUGBAiACQQN0dkH/AXEgAyAEEC0gACACQQEgBBAiIAAgAkEBIAQQIZKSIQQCQAJAAkACQCAFKAIADgMAAQADCyAGKgIAIgMgAyAEIAMgBF0bIAQgBFwbIQQMAQsgBCAEXA0BIAVBAjYCAAsgBiAEOAIACwuMAQIBfwF9IAAoAuQDRQRAQwAAAAAPCyAAQfwAaiIBIAAvARwQICICIAJbBEAgASAALwEcECAPCwJAIAAoAvQDLQAIQQFxDQAgASAALwEYECAiAiACXA0AIAEgAC8BGBAgQwAAAABdRQ0AIAEgAC8BGBAgjA8LQwAAgD9DAAAAACAAKAL0Ay0ACEEBcRsLcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEChDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwtHAQF/IAIvAAYiA0EHcQRAIAAgAUHoAGogAxAfDwsgAUHoAGohASACLwAOIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHwtHAQF/IAIvAAIiA0EHcQRAIAAgAUHoAGogAxAfDwsgAUHoAGohASACLwAOIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHwt7AAJAAkACQAJAIANBAWsOAgABAgsgAi8ACiIDQQdxRQ0BDAILIAIvAAgiA0EHcUUNAAwBCyACLwAEIgNBB3EEQAwBCyABQegAaiEBIAIvAAwiA0EHcQRAIAAgASADEB8PCyAAIAEgAi8AEBAfDwsgACABQegAaiADEB8LewACQAJAAkACQCADQQFrDgIAAQILIAIvAAgiA0EHcUUNAQwCCyACLwAKIgNBB3FFDQAMAQsgAi8AACIDQQdxBEAMAQsgAUHoAGohASACLwAMIgNBB3EEQCAAIAEgAxAfDwsgACABIAIvABAQHw8LIAAgAUHoAGogAxAfC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQe4AaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAuFAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgAEIKgCIFQvYBfiAAfKdBMHI6AAAgAEL/////nwFWIQIgBSEAIAINAAsLIAWnIgIEQANAIAFBAWsiASACQQpuIgNB9gFsIAJqQTByOgAAIAJBCUshBCADIQIgBA0ACwsgAQs3AQJ/QQQQHiICIAE2AgBBBBAeIgMgATYCAEHBOyAAQeI7QfooQb8BIAJB4jtB/ihBwAEgAxAHCw8AIAAgASACQQFBAhCLAQteAQF/IABBADYCDCAAIAM2AhACQCABBEAgAUGAgICABE8NASABQQJ0EB4hBAsgACAENgIAIAAgBCACQQJ0aiICNgIIIAAgBCABQQJ0ajYCDCAAIAI2AgQgAA8LEFgAC3kCAX8BfSMAQRBrIgMkACADQQhqIAAgAUECdEHcJWooAgAgAhBTQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIQwAAAACUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsLnAoBC38jAEEQayIIJAAgASABLwAAQXhxIANyIgM7AAACQAJAAkACQAJAAkACQAJAAkACQCADQQhxBEAgA0H//wNxIgZBBHYhBCAGQT9NBH8gACAEQQJ0akEEagUgBEEEayIEIAAoAhgiACgCBCAAKAIAIgBrQQJ1Tw0CIAAgBEECdGoLIAI4AgAMCgsCfyACi0MAAABPXQRAIAKoDAELQYCAgIB4CyIEQf8PakH+H0sgBLIgAlxyRQRAIANBD3FBACAEa0GAEHIgBCACQwAAAABdG0EEdHIhAwwKCyAAIAAvAQAiC0EBajsBACALQYAgTw0DIAtBA00EQCAAIAtBAnRqIAI4AgQMCQsgACgCGCIDRQRAQRgQHiIDQgA3AgAgA0IANwIQIANCADcCCCAAIAM2AhgLAkAgAygCBCIEIAMoAghHBEAgBCACOAIAIAMgBEEEajYCBAwBCyAEIAMoAgAiB2siBEECdSIJQQFqIgZBgICAgARPDQECf0H/////AyAEQQF1IgUgBiAFIAZLGyAEQfz///8HTxsiBkUEQEEAIQUgCQwBCyAGQYCAgIAETw0GIAZBAnQQHiEFIAMoAgQgAygCACIHayIEQQJ1CyEKIAUgCUECdGoiCSACOAIAIAkgCkECdGsgByAEEDMhByADIAUgBkECdGo2AgggAyAJQQRqNgIEIAMoAgAhBCADIAc2AgAgBEUNACAEECMLIAAoAhgiBigCECIDIAYoAhQiAEEFdEcNByADQQFqQQBIDQAgA0H+////A0sNASADIABBBnQiACADQWBxQSBqIgQgACAESxsiAE8NByAAQQBODQILEAIAC0H/////ByEAIANB/////wdPDQULIAhBADYCCCAIQgA3AwAgCCAAEJ8BIAYoAgwhBCAIIAgoAgQiByAGKAIQIgBBH3FqIABBYHFqIgM2AgQgB0UEQCADQQFrIQUMAwsgA0EBayIFIAdBAWtzQR9LDQIgCCgCACEKDAMLQZUlQeEXQSJB3BcQCwALEFgACyAIKAIAIgogBUEFdkEAIANBIU8bQQJ0akEANgIACyAKIAdBA3ZB/P///wFxaiEDAkAgB0EfcSIHRQRAIABBAEwNASAAQSBtIQUgAEEfakE/TwRAIAMgBCAFQQJ0EDMaCyAAIAVBBXRrIgBBAEwNASADIAVBAnQiBWoiAyADKAIAQX9BICAAa3YiAEF/c3EgBCAFaigCACAAcXI2AgAMAQsgAEEATA0AQX8gB3QhDEEgIAdrIQkgAEEgTgRAIAxBf3MhDSADKAIAIQUDQCADIAUgDXEgBCgCACIFIAd0cjYCACADIAMoAgQgDHEgBSAJdnIiBTYCBCAEQQRqIQQgA0EEaiEDIABBP0shDiAAQSBrIQAgDg0ACyAAQQBMDQELIAMgAygCAEF/IAkgCSAAIAAgCUobIgVrdiAMcUF/c3EgBCgCAEF/QSAgAGt2cSIEIAd0cjYCACAAIAVrIgBBAEwNACADIAUgB2pBA3ZB/P///wFxaiIDIAMoAgBBf0EgIABrdkF/c3EgBCAFdnI2AgALIAYoAgwhACAGIAo2AgwgBiAIKAIEIgM2AhAgBiAIKAIINgIUIABFDQAgABAjIAYoAhAhAwsgBiADQQFqNgIQIAYoAgwgA0EDdkH8////AXFqIgAgACgCAEF+IAN3cTYCACABLwAAIQMLIANBB3EgC0EEdHJBCHIhAwsgASADOwAAIAhBEGokAAuPAQIBfwF9IwBBEGsiAyQAIANBCGogAEHoAGogAEHUAEHWACABQf4BcUECRhtqLwEAIgEgAC8BWCABQQdxGxAfQwAAwH8hBAJAAkACQCADLQAMQQFrDgIAAQILIAMqAgghBAwBCyADKgIIIAKUQwrXIzyUIQQLIANBEGokACAEQwAAAACXQwAAAAAgBCAEWxsL2AICBH8BfSMAQSBrIgMkAAJAIAAoAgwiAQRAIAAgACoClAMgACoCmAMgAREnACIFIAVbDQEgA0GqHjYCACAAQQVB2CUgAxAsECQACyADQRBqIAAQMgJAIAMoAhAiAiADKAIUIgFyRQ0AAkADQCABIAIoAuwDIAIoAugDIgJrQQJ1SQRAIAIgAUECdGooAgAiASgC3AMNAyABLwAVIAEtABdBEHRyIgJBgOAAcUGAwABHBEAgAkEIdkEPcSICBH8gAgUgAC0AFUEEdgtBBUYEQCAALQAUQQhxDQQLIAEtAABBAnENAyAEIAEgBBshBAsgA0EQahAuIAMoAhQiASADKAIQIgJyDQEMAwsLEAIACyABIQQLIAMoAhgiAQRAA0AgASgCACECIAEQIyACIgENAAsLIARFBEAgACoCmAMhBQwBCyAEEE4gBCoCoAOSIQULIANBIGokACAFC6EDAQh/AkAgACgC6AMiBSAAKALsAyIHRwRAA0AgACAFKAIAIgIoAuQDRwRAAkAgACgC9AMoAgAiAQRAIAIgACAGIAERBgAiAQ0BC0GIBBAeIgEgAigCEDYCECABIAIpAgg3AgggASACKQIANwIAIAFBFGogAkEUakHoABArGiABQgA3AoABIAFB/ABqIgNBADsBACABQgA3AogBIAFCADcCkAEgAyACQfwAahCgASABQZgBaiACQZgBakHQAhArGiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/AMgAUEANgLkAwsgBSABNgIAIAEgADYC5AMLIAZBAWohBiAFQQRqIgUgB0cNAAsLDwsQAgALUAACQAJAAkACQAJAIAIOBAQAAQIDCyAAIAEgAUEwahBDDwsgACABIAFBMGogAxBEDwsgACABIAFBMGoQQg8LECQACyAAIAEgAUEwaiADEEULcAIBfwF9IwBBEGsiBCQAIARBCGogACABQQJ0QdwlaigCACACEDZDAADAfyEFAkACQAJAIAQtAAxBAWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwt5AgF/AX0jAEEQayIDJAAgA0EIaiAAIAFBAnRB7CVqKAIAIAIQU0MAAMB/IQQCQAJAAkAgAy0ADEEBaw4CAAECCyADKgIIIQQMAQsgAyoCCEMAAAAAlEMK1yM8lCEECyADQRBqJAAgBEMAAAAAl0MAAAAAIAQgBFsbC1QAAkACQAJAAkACQCACDgQEAAECAwsgACABIAFBwgBqEEMPCyAAIAEgAUHCAGogAxBEDwsgACABIAFBwgBqEEIPCxAkAAsgACABIAFBwgBqIAMQRQsvACAAIAJFQQF0IgIgASADEGAgACACIAEQS5IgACACIAEgAxB/IAAgAiABEFKSkgvOAQIDfwJ9IwBBEGsiAyQAQQEhBCADQQhqIABB/ABqIgUgACABQQF0akH2AGoiAS8BABAfAkACQCADKgIIIgcgAioCACIGXARAIAcgB1sEQCACLQAEIQIMAgsgBiAGXCEECyACLQAEIQIgBEUNACADLQAMIAJB/wFxRg0BCyAFIAEgBiACEDkDQCAALQAAIgFBBHENASAAIAFBBHI6AAAgACgCECIBBEAgACABEQAACyAAQYCAgP4HNgKcASAAKALkAyIADQALCyADQRBqJAALzgECA38CfSMAQRBrIgMk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AWsOAgABAgsgBCoCCCEFDAELIAQqAgggA5RDCtcjPJQhBQsgBEEQaiQAIAVDAAAAACAFIAVbGwscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAVCwUAEFgACzkAIABFBEBBAA8LAn8gAUGAf3FBgL8DRiABQf8ATXJFBEBB/DtBGTYCAEF/DAELIAAgAToAAEEBCwvEAgACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABQQlrDhIACgsMCgsCAwQFDAsMDAoLBwgJCyACIAIoAgAiAUEEajYCACAAIAEoAgA2AgAPCwALIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LAAsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKwMAOQMADwsgACACIAMRAQALDwsgAiACKAIAIgFBBGo2AgAgACABNAIANwMADwsgAiACKAIAIgFBBGo2AgAgACABNQIANwMADwsgAiACKAIAQQdqQXhxIgFBCGo2AgAgACABKQMANwMAC84BAgN/An0jAEEQayIDJABBASEEIANBCGogAEH8AGoiBSAAIAFBAXRqQegAaiIBLwEAEB8CQAJAIAMqAggiByACKgIAIgZcBEAgByAHWwRAIAItAAQhAgwCCyAGIAZcIQQLIAItAAQhAiAERQ0AIAMtAAwgAkH/AXFGDQELIAUgASAGIAIQOQNAIAAtAAAiAUEEcQ0BIAAgAUEEcjoAACAAKAIQIgEEQCAAIAERAAALIABBgICA/gc2ApwBIAAoAuQDIgANAAsLIANBEGokAAtdAQR/IAAoAgAhAgNAIAIsAAAiAxBXBEBBfyEEIAAgAkEBaiICNgIAIAFBzJmz5gBNBH9BfyADQTBrIgMgAUEKbCIEaiADIARB/////wdzShsFIAQLIQEMAQsLIAELrhQCEn8BfiMAQdAAayIIJAAgCCABNgJMIAhBN2ohFyAIQThqIRQCQAJAAkACQANAIAEhDSAHIA5B/////wdzSg0BIAcgDmohDgJAAkACQCANIgctAAAiCQRAA0ACQAJAIAlB/wFxIgFFBEAgByEBDAELIAFBJUcNASAH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IQEgAEIANwIEIAAgATYCACABIAA2AgQgAkEQaiQAIAALGwEBfyAABEAgACgCACIBBEAgARAjCyAAECMLC0kBAn9BBBAeIQFBIBAeIgBBADYCHCAAQoCAgICAgIDAPzcCFCAAQgA3AgwgAEEAOgAIIABBAzYCBCAAQQA2AgAgASAANgIAIAELIAAgAkEFR0EAIAIbRQRAQbgwIAMgBBBJDwsgAyAEEHALIgEBfiABIAKtIAOtQiCGhCAEIAARFQAiBUIgiKckASAFpwuoAQEFfyAAKAJUIgMoAgAhBSADKAIEIgQgACgCFCAAKAIcIgdrIgYgBCAGSRsiBgRAIAUgByAGECsaIAMgAygCACAGaiIFNgIAIAMgAygCBCAGayIENgIECyAEIAIgAiAESxsiBARAIAUgASAEECsaIAMgAygCACAEaiIFNgIAIAMgAygCBCAEazYCBAsgBUEAOgAAIAAgACgCLCIBNgIcIAAgATYCFCACCwQAQgALBABBAAuKBQIGfgJ/IAEgASgCAEEHakF4cSIBQRBqNgIAIAAhCSABKQMAIQMgASkDCCEGIwBBIGsiCCQAAkAgBkL///////////8AgyIEQoCAgICAgMCAPH0gBEKAgICAgIDA/8MAfVQEQCAGQgSGIANCPIiEIQQgA0L//////////w+DIgNCgYCAgICAgIAIWgRAIARCgYCAgICAgIDAAHwhAgwCCyAEQoCAgICAgICAQH0hAiADQoCAgICAgICACFINASACIARCAYN8IQIMAQsgA1AgBEKAgICAgIDA//8AVCAEQoCAgICAgMD//wBRG0UEQCAGQgSGIANCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiAEQv///////7//wwBWDQBCACECIARCMIinIgBBkfcASQ0AIAMhAiAGQv///////z+DQoCAgICAgMAAhCIFIQcCQCAAQYH3AGsiAUHAAHEEQCACIAFBQGqthiEHQgAhAgwBCyABRQ0AIAcgAa0iBIYgAkHAACABa62IhCEHIAIgBIYhAgsgCCACNwMQIAggBzcDGAJAQYH4ACAAayIAQcAAcQRAIAUgAEFAaq2IIQNCACEFDAELIABFDQAgBUHAACAAa62GIAMgAK0iAoiEIQMgBSACiCEFCyAIIAM3AwAgCCAF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ASAAKAIAIQAgASACQQFxBH8gASgCACAAaigCAAUgAAsRCwALYQECfyMAQRBrIgIkACABIAAoAgQiA0EBdWohASAAKAIAIQAgAiABIANBAXEEfyABKAIAIABqKAIABSAACxEBAEEQEB4iACACKQMINwMIIAAgAikDADcDACACQRBqJAAgAAtjAQJ/IwBBEGsiAyQAIAEgACgCBCIEQQF1aiEBIAAoAgAhACADIAEgAiAEQQFxBH8gASgCACAAaigCAAUgAAsRAwBBEBAeIgAgAykDCDcDCCAAIAMpAwA3AwAgA0EQaiQAIAALNwEBfyABIAAoAgQiA0EBdWohASAAKAIAIQAgASACIANBAXEEfyABKAIAIABqKAIABSAACxEEAAs5AQF/IAEgACgCBCIEQQF1aiEBIAAoAgAhACABIAIgAyAEQQFxBH8gASgCACAAaigCAAUgAAsRCAALCQAgASAAEQIACwUAQcM7Cw8AIAEgACgCAGogAjYCAAsNACABIAAoAgBqKAIACxgBAX9BEBAeIgBCADcDCCAAQQA2AgAgAAsYAQF/QRAQHiIAQgA3AwAgAEIANwMIIAALDABBMBAeQQBBMBAqCzcBAX8gASAAKAIEIgNBAXVqIQEgACgCACEAIAEgAiADQQFxBH8gASgCACAAaigCAAUgAAsRHgALBQBBvjsLIQAgACABKAIAIAEgASwAC0EASBtBuzsgAigCABAQNgIACyoBAX9BDBAeIgFBADoABCABIAAoAgA2AgggAEEANgIAIAFB2Cc2AgAgAQsFAEG7OwsFAEG4OwshACAAIAEoAgAgASABLAALQQBIG0GkOyACKAIAEBA2AgAL2AEBBH8jAEEgayIDJAAgASgCACIEQfD///8HSQRAAkACQCAEQQtPBEAgBEEPckEBaiIFEB4hBiADIAVBgICAgHhyNgIQIAMgBjYCCCADIAQ2AgwgBCAGaiEFDAELIAMgBDoAEyADQQhqIgYgBGohBSAERQ0BCyAGIAFBBGogBBArGgsgBUEAOgAAIAMgAjYCACADQRhqIANBCGogAyAAEQMAIAMoAhgQHSADKAIYIgAQBiADKAIAEAYgAywAE0EASARAIAMoAggQIwsgA0EgaiQAIAAPCxACAAsqAQF/QQwQHiIBQQA6AAQgASAAKAIANgIIIABBADYCACABQeAmNgIA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AkEIaiAIIAYQHyACIAcgAC8AABAfQQEhAyACKgIIIgogAioCACILXAR/IAogClsNAyALIAtcBSADC0UNAiACLQAMIAItAARHDQILIABBAmohAEEBIQMgBCEGQQEhBCAGRQ0ACyABLwB6IgBBB3FFBEAgBS0AekEHcUUNAgsgCCAAECAiCiAHIAUvAHoQICILWw0BIAogClsNACALIAtcDQELIAFBFGogBUEUakHoABArGiABQfwAaiAFQfwAahCgAQNAIAEtAAAiAEEEcQ0BIAEgAEEEcjoAACABKAIQIgAEQCABIAARAAALIAFBgICA/gc2ApwBIAEoAuQDIgENAAsLIAJBEGokAAvGAwEEfyMAQaAEayICJAAgACgCBCEBIABBADYCBCABBEAgASABKAIAKAIEEQAACyAAKAIIIQEgAEEANgIIIAEEQCABIAEoAgAoAgQRAAALAkAgACgCACIAKALoAyAAKALsA0YEQCAAKALkAw0BIAAgAkEYaiAAKAL0AxBcIgEpAgA3AgAgACABKAIQNgIQIAAgASkCCDcCCCAAQRRqIAFBFGpB6AAQKxogACABKQKMATcCjAEgACABKQKEATcChAEgACABKQJ8NwJ8IAEoApQBIQQgAUEANgKUASAAKAKUASEDIAAgBDYClAEgAwRAIAMQWwsgAEGYAWogAUGYAWpB0AIQKxogACgC6AMiAwRAIAAgAzYC7AMgAxAjCyAAIAEoAugDNgLoAyAAIAEoAuwDNgLsAyAAIAEoAvADNgLwAyABQQA2AvADIAFCADcC6AMgACABKQL8AzcC/AMgACABKQL0AzcC9AMgACABKAKEBDYChAQgASgClAEhACABQQA2ApQBIAAEQCAAEFsLIAJBoARqJAAPCyACQfAcNgIQIABBBUHYJSACQRBqECwQJAALIAJB5hE2AgAgAEEFQdglIAIQLBAkAAsLAEEMEB4gABCiAQsLAEEMEB5BABCiAQsNACAAKAIALQAIQQFxCwoAIAAoAgAoAhQLGQAgAUH/AXEEQBACAAsgACgCACgCEEEBcQsYACAAKAIAIgAgAC0ACEH+AXEgAXI6AAgLJgAgASAAKAIAIgAoAhRHBEAgACABNgIUIAAgACgCDEEBajYCDAsLkgEBAn8jAEEQayICJAAgACgCACEAIAFDAAAAAGAEQCABIAAqAhhcBEAgACABOAIYIAAgACgCDEEBajYCDAsgAkEQaiQADwsgAkGIFDYCACMAQRBrIgMkACADIAI2AgwCQCAARQRAQbgwQdglIAIQSRoMAQsgAEEAQQVB2CUgAiAAKAIEEQ0AGgsgA0EQaiQAECQACz8AIAFB/wFxRQRAIAIgACgCACIAKAIQIgFBAXFHBEAgACABQX5xIAJyNgIQIAAgACgCDEEBajYCDAsPCxACAAsL4CYjAEGACAuBHk9ubHkgbGVhZiBub2RlcyB3aXRoIGN1c3RvbSBtZWFzdXJlIGZ1bmN0aW9ucyBzaG91bGQgbWFudWFsbHkgbWFyayB0aGVtc2VsdmVzIGFzIGRpcnR5AGlzRGlydHkAbWFya0RpcnR5AGRlc3Ryb3kAc2V0RGlzcGxheQBnZXREaXNwbGF5AHNldEZsZXgALSsgICAwWDB4AC0wWCswWCAwWC0weCsweCAweABzZXRGbGV4R3JvdwBnZXRGbGV4R3JvdwBzZXRPdmVyZmxvdwBnZXRPdmVyZmxvdwBoYXNOZXdMYXlvdXQAY2FsY3VsYXRlTGF5b3V0AGdldENvbXB1dGVkTGF5b3V0AHVuc2lnbmVkIHNob3J0AGdldENoaWxkQ291bnQAdW5zaWduZWQgaW50AHNldEp1c3RpZnlDb250ZW50AGdldEp1c3RpZnlDb250ZW50AGF2YWlsYWJsZUhlaWdodCBpcyBpbmRlZmluaXRlIHNvIGhlaWdodFNpemluZ01vZGUgbXVzdCBiZSBTaXppbmdNb2RlOjpNYXhDb250ZW50AGF2YWlsYWJsZVdpZHRoIGlzIGluZGVmaW5pdGUgc28gd2lkdGhTaXppbmdNb2RlIG11c3QgYmUgU2l6aW5nTW9kZTo6TWF4Q29udGVudABzZXRBbGlnbkNvbnRlbnQAZ2V0QWxpZ25Db250ZW50AGdldFBhcmVudABpbXBsZW1lbnQAc2V0TWF4SGVpZ2h0UGVyY2VudABzZXRIZWlnaHRQZXJjZW50AHNldE1pbkhlaWdodFBlcmNlbnQAc2V0RmxleEJhc2lzUGVyY2VudABzZXRHYXBQZXJjZW50AHNldFBvc2l0aW9uUGVyY2VudABzZXRNYXJnaW5QZXJjZW50AHNldE1heFdpZHRoUGVyY2VudABzZXRXaWR0aFBlcmNlbnQAc2V0TWluV2lkdGhQZXJjZW50AHNldFBhZGRpbmdQZXJjZW50AGhhbmRsZS50eXBlKCkgPT0gU3R5bGVWYWx1ZUhhbmRsZTo6VHlwZTo6UG9pbnQgfHwgaGFuZGxlLnR5cGUoKSA9PSBTdHlsZVZhbHVlSGFuZGxlOjpUeXBlOjpQZXJjZW50AGNyZWF0ZURlZmF1bHQAdW5pdAByaWdodABoZWlnaHQAc2V0TWF4SGVpZ2h0AGdldE1heEhlaWdodABzZXRIZWlnaHQAZ2V0SGVpZ2h0AHNldE1pbkhlaWdodABnZXRNaW5IZWlnaHQAZ2V0Q29tcHV0ZWRIZWlnaHQAZ2V0Q29tcHV0ZWRSaWdodABsZWZ0AGdldENvbXB1dGVkTGVmdAByZXNldABfX2Rlc3RydWN0AGZsb2F0AHVpbnQ2NF90AHVzZVdlYkRlZmF1bHRzAHNldFVzZVdlYkRlZmF1bHRzAHNldEFsaWduSXRlbXMAZ2V0QWxpZ25JdGVtcwBzZXRGbGV4QmFzaXMAZ2V0RmxleEJhc2lzAENhbm5vdCBnZXQgbGF5b3V0IHByb3BlcnRpZXMgb2YgbXVsdGktZWRnZSBzaG9ydGhhbmRzAHNldFBvaW50U2NhbGVGYWN0b3IATWVhc3VyZUNhbGxiYWNrV3JhcHBlcgBEaXJ0aWVkQ2FsbGJhY2tXcmFwcGVyAENhbm5vdCByZXNldCBhIG5vZGUgc3RpbGwgYXR0YWNoZWQgdG8gYSBvd25lcgBzZXRCb3JkZXIAZ2V0Qm9yZGVyAGdldENvbXB1dGVkQm9yZGVyAGdldE51bWJlcgBoYW5kbGUudHlwZSgpID09IFN0eWxlVmFsdWVIYW5kbGU6OlR5cGU6Ok51bWJlcgB1bnNpZ25lZCBjaGFyAHRvcABnZXRDb21wdXRlZFRvcABzZXRGbGV4V3JhcABnZXRGbGV4V3JhcABzZXRHYXAAZ2V0R2FwACVwAHNldEhlaWdodEF1dG8Ac2V0RmxleEJhc2lzQXV0bwBzZXRQb3NpdGlvbkF1dG8Ac2V0TWFyZ2luQXV0bwBzZXRXaWR0aEF1dG8AU2NhbGUgZmFjdG9yIHNob3VsZCBub3QgYmUgbGVzcyB0aGFuIHplcm8Ac2V0QXNwZWN0UmF0aW8AZ2V0QXNwZWN0UmF0aW8Ac2V0UG9zaXRpb24AZ2V0UG9zaXRpb24Abm90aWZ5T25EZXN0cnVjdGlvbgBzZXRGbGV4RGlyZWN0aW9uAGdldEZsZXhEaXJlY3Rpb24Ac2V0RGlyZWN0aW9uAGdldERpcmVjdGlvbgBzZXRNYXJnaW4AZ2V0TWFyZ2luAGdldENvbXB1dGVkTWFyZ2luAG1hcmtMYXlvdXRTZWVuAG5hbgBib3R0b20AZ2V0Q29tcHV0ZWRCb3R0b20AYm9vbABlbXNjcmlwdGVuOjp2YWwAc2V0RmxleFNocmluawBnZXRGbGV4U2hyaW5rAHNldEFsd2F5c0Zvcm1zQ29udGFpbmluZ0Jsb2NrAE1lYXN1cmVDYWxsYmFjawBEaXJ0aWVkQ2FsbGJhY2sAZ2V0TGVuZ3RoAHdpZHRoAHNldE1heFdpZHRoAGdldE1heFdpZHRoAHNldFdpZHRoAGdldFdpZHRoAHNldE1pbldpZHRoAGdldE1pbldpZHRoAGdldENvbXB1dGVkV2lkdGgAcHVzaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1NtYWxsVmFsdWVCdWZmZXIuaAAvaG9tZS9ydW5uZXIvd29yay95b2dhL3lvZ2EvamF2YXNjcmlwdC8uLi95b2dhL3N0eWxlL1N0eWxlVmFsdWVQb29sLmgAdW5zaWduZWQgbG9uZwBzZXRCb3hTaXppbmcAZ2V0Qm94U2l6aW5nAHN0ZDo6d3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBzZXRQYWRkaW5nAGdldFBhZGRpbmcAZ2V0Q29tcHV0ZWRQYWRkaW5nAFRyaWVkIHRvIGNvbnN0cnVjdCBZR05vZGUgd2l0aCBudWxsIGNvbmZpZwBBdHRlbXB0aW5nIHRvIGNvbnN0cnVjdCBOb2RlIHdpdGggbnVsbCBjb25maWcAY3JlYXRlV2l0aENvbmZpZwBpbmYAc2V0QWxpZ25TZWxmAGdldEFsaWduU2VsZgBTaXplAHZhbHVlAFZhbHVlAGNyZWF0ZQBtZWFzdXJlAHNldFBvc2l0aW9uVHlwZQBnZXRQb3NpdGlvblR5cGUAaXNSZWZlcmVuY2VCYXNlbGluZQBzZXRJc1JlZmVyZW5jZUJhc2VsaW5lAGNvcHlTdHlsZQBkb3VibGUATm9kZQBleHRlbmQAaW5zZXJ0Q2hpbGQAZ2V0Q2hpbGQAcmVtb3ZlQ2hpbGQAdm9pZABzZXRFeHBlcmltZW50YWxGZWF0dXJlRW5hYmxlZABpc0V4cGVyaW1lbnRhbEZlYXR1cmVFbmFibGVkAGRpcnRpZWQAQ2Fubm90IHJlc2V0IGEgbm9kZSB3aGljaCBzdGlsbCBoYXMgY2hpbGRyZW4gYXR0YWNoZWQAdW5zZXRNZWFzdXJlRnVuYwB1bnNldERpcnRpZWRGdW5jAHNldEVycmF0YQBnZXRFcnJhdGEATWVhc3VyZSBmdW5jdGlvbiByZXR1cm5lZCBhbiBpbnZhbGlkIGRpbWVuc2lvbiB0byBZb2dhOiBbd2lkdGg9JWYsIGhlaWdodD0lZl0ARXhwZWN0IGN1c3RvbSBiYXNlbGluZSBmdW5jdGlvbiB0byBub3QgcmV0dXJuIE5hTgBOQU4ASU5GAGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8Y2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4Ac3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2lnbmVk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",!ue(ir)){var Ce=ir;ir=t.locateFile?t.locateFile(Ce,o):o+Ce}function pr(){var y=ir;try{if(y==ir&&c)return new Uint8Array(c);if(ue(y))try{var _=RU(y.slice(37)),b=new Uint8Array(_.length);for(y=0;y<_.length;++y)b[y]=_.charCodeAt(y);var Q=b}catch{throw Error("Converting base64 string to bytes failed.")}else Q=void 0;var S=Q;if(S)return S;throw"both async and sync fetching of the wasm failed"}catch(P){ie(P)}}function Rn(){return c||typeof fetch!="function"?Promise.resolve().then(function(){return pr()}):fetch(ir,{credentials:"same-origin"}).then(function(y){if(!y.ok)throw"failed to load wasm binary file at '"+ir+"'";return y.arrayBuffer()}).catch(function(){return pr()})}function ni(y){for(;0<y.length;)y.shift()(t)}function Fi(y){if(y===void 0)return"_unknown";y=y.replace(/[^a-zA-Z0-9_]/g,"$");var _=y.charCodeAt(0);return 48<=_&&57>=_?"_"+y:y}function Ss(y,_){return y=Fi(y),function(){return _.apply(this,arguments)}}var _t=[{},{value:void 0},{value:null},{value:!0},{value:!1}],si=[];function Fn(y){var _=Error,b=Ss(y,function(Q){this.name=y,this.message=Q,Q=Error(Q).stack,Q!==void 0&&(this.stack=this.toString()+`
|
|
1409
|
+
`+Q.replace(/^Error(:[^\n]*)?\n/,""))});return b.prototype=Object.create(_.prototype),b.prototype.constructor=b,b.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},b}var oi=void 0;function de(y){throw new oi(y)}var Dr=y=>(y||de("Cannot use deleted val. handle = "+y),_t[y].value),ki=y=>{switch(y){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var _=si.length?si.pop():_t.length;return _t[_]={ga:1,value:y},_}},Rr=void 0,Fr=void 0;function Le(y){for(var _="";p[y];)_+=Fr[p[y++]];return _}var Xt=[];function Ra(){for(;Xt.length;){var y=Xt.pop();y.M.$=!1,y.delete()}}var Oi=void 0,gr={};function Jc(y,_){for(_===void 0&&de("ptr should not be undefined");y.R;)_=y.ba(_),y=y.R;return _}var kn={};function aB(y){y=mB(y);var _=Le(y);return li(y),_}function uB(y,_){var b=kn[y];return b===void 0&&de(_+" has unknown type "+aB(y)),b}function Zc(){}var ym=!1;function lB(y){--y.count.value,y.count.value===0&&(y.T?y.U.W(y.T):y.P.N.W(y.O))}function cB(y,_,b){return _===b?y:b.R===void 0?null:(y=cB(y,_,b.R),y===null?null:b.na(y))}var AB={};function fU(y,_){return _=Jc(y,_),gr[_]}var hB=void 0;function $c(y){throw new hB(y)}function eA(y,_){return _.P&&_.O||$c("makeClassHandle requires ptr and ptrType"),!!_.U!=!!_.T&&$c("Both smartPtrType and smartPtr must be specified"),_.count={value:1},Ts(Object.create(y,{M:{value:_}}))}function Ts(y){return typeof FinalizationRegistry>"u"?(Ts=_=>_,y):(ym=new FinalizationRegistry(_=>{lB(_.M)}),Ts=_=>{var b=_.M;return b.T&&ym.register(_,{M:b},_),_},Zc=_=>{ym.unregister(_)},Ts(y))}var tA={};function Em(y){for(;y.length;){var _=y.pop();y.pop()(_)}}function Fa(y){return this.fromWireType(B[y>>2])}var Ms={},rA={};function Gi(y,_,b){function Q(G){G=b(G),G.length!==y.length&&$c("Mismatched type converter count");for(var H=0;H<y.length;++H)ai(y[H],G[H])}y.forEach(function(G){rA[G]=_});var S=Array(_.length),P=[],k=0;_.forEach((G,H)=>{kn.hasOwnProperty(G)?S[H]=kn[G]:(P.push(G),Ms.hasOwnProperty(G)||(Ms[G]=[]),Ms[G].push(()=>{S[H]=kn[G],++k,k===P.length&&Q(S)}))}),P.length===0&&Q(S)}function _m(y){switch(y){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+y)}}function ai(y,_,b={}){if(!("argPackAdvance"in _))throw new TypeError("registerType registeredInstance requires argPackAdvance");var Q=_.name;if(y||de('type "'+Q+'" must have a positive integer typeid pointer'),kn.hasOwnProperty(y)){if(b.ua)return;de("Cannot register type '"+Q+"' twice")}kn[y]=_,delete rA[y],Ms.hasOwnProperty(y)&&(_=Ms[y],delete Ms[y],_.forEach(S=>S()))}function Im(y){de(y.M.P.N.name+" instance already deleted")}function Ui(){}function vm(y,_,b){if(y[_].S===void 0){var Q=y[_];y[_]=function(){return y[_].S.hasOwnProperty(arguments.length)||de("Function '"+b+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+y[_].S+")!"),y[_].S[arguments.length].apply(this,arguments)},y[_].S=[],y[_].S[Q.Z]=Q}}function pU(y,_){t.hasOwnProperty(y)?(de("Cannot register public name '"+y+"' twice"),vm(t,y,y),t.hasOwnProperty(void 0)&&de("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[y].S[void 0]=_):t[y]=_}function gU(y,_,b,Q,S,P,k,G){this.name=y,this.constructor=_,this.X=b,this.W=Q,this.R=S,this.pa=P,this.ba=k,this.na=G,this.ja=[]}function xm(y,_,b){for(;_!==b;)_.ba||de("Expected null or instance of "+b.name+", got an instance of "+_.name),y=_.ba(y),_=_.R;return y}function mU(y,_){return _===null?(this.ea&&de("null is not a valid "+this.name),0):(_.M||de('Cannot pass "'+wm(_)+'" as a '+this.name),_.M.O||de("Cannot pass deleted object as a pointer of type "+this.name),xm(_.M.O,_.M.P.N,this.N))}function yU(y,_){if(_===null){if(this.ea&&de("null is not a valid "+this.name),this.da){var b=this.fa();return y!==null&&y.push(this.W,b),b}return 0}if(_.M||de('Cannot pass "'+wm(_)+'" as a '+this.name),_.M.O||de("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&_.M.P.ca&&de("Cannot convert argument of type "+(_.M.U?_.M.U.name:_.M.P.name)+" to parameter type "+this.name),b=xm(_.M.O,_.M.P.N,this.N),this.da)switch(_.M.T===void 0&&de("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:_.M.U===this?b=_.M.T:de("Cannot convert argument of type "+(_.M.U?_.M.U.name:_.M.P.name)+" to parameter type "+this.name);break;case 1:b=_.M.T;break;case 2:if(_.M.U===this)b=_.M.T;else{var Q=_.clone();b=this.xa(b,ki(function(){Q.delete()})),y!==null&&y.push(this.W,b)}break;default:de("Unsupporting sharing policy")}return b}function EU(y,_){return _===null?(this.ea&&de("null is not a valid "+this.name),0):(_.M||de('Cannot pass "'+wm(_)+'" as a '+this.name),_.M.O||de("Cannot pass deleted object as a pointer of type "+this.name),_.M.P.ca&&de("Cannot convert argument of type "+_.M.P.name+" to parameter type "+this.name),xm(_.M.O,_.M.P.N,this.N))}function ui(y,_,b,Q){this.name=y,this.N=_,this.ea=b,this.ca=Q,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,_.R!==void 0?this.toWireType=yU:(this.toWireType=Q?mU:EU,this.V=null)}function _U(y,_){t.hasOwnProperty(y)||$c("Replacing nonexistant public symbol"),t[y]=_,t[y].Z=void 0}function IU(y,_){var b=[];return function(){if(b.length=0,Object.assign(b,arguments),y.includes("j")){var Q=t["dynCall_"+y];Q=b&&b.length?Q.apply(null,[_].concat(b)):Q.call(null,_)}else Q=U.get(_).apply(null,b);return Q}}function mr(y,_){y=Le(y);var b=y.includes("j")?IU(y,_):U.get(_);return typeof b!="function"&&de("unknown function pointer with signature "+y+": "+_),b}var dB=void 0;function iA(y,_){function b(P){S[P]||kn[P]||(rA[P]?rA[P].forEach(b):(Q.push(P),S[P]=!0))}var Q=[],S={};throw _.forEach(b),new dB(y+": "+Q.map(aB).join([", "]))}function Bm(y,_,b,Q,S){var P=_.length;2>P&&de("argTypes array size mismatch! Must at least get return value and 'this' types!");var k=_[1]!==null&&b!==null,G=!1;for(b=1;b<_.length;++b)if(_[b]!==null&&_[b].V===void 0){G=!0;break}var H=_[0].name!=="void",L=P-2,z=Array(L),oe=[],_e=[];return function(){if(arguments.length!==L&&de("function "+y+" called with "+arguments.length+" arguments, expected "+L+" args!"),_e.length=0,oe.length=k?2:1,oe[0]=S,k){var tt=_[1].toWireType(_e,this);oe[1]=tt}for(var be=0;be<L;++be)z[be]=_[be+2].toWireType(_e,arguments[be]),oe.push(z[be]);if(be=Q.apply(null,oe),G)Em(_e);else for(var Jt=k?1:2;Jt<_.length;Jt++){var yr=Jt===1?tt:z[Jt-2];_[Jt].V!==null&&_[Jt].V(yr)}return tt=H?_[0].fromWireType(be):void 0,tt}}function Cm(y,_){for(var b=[],Q=0;Q<y;Q++)b.push(w[_+4*Q>>2]);return b}function bm(y){4<y&&--_t[y].ga===0&&(_t[y]=void 0,si.push(y))}function wm(y){if(y===null)return"null";var _=typeof y;return _==="object"||_==="array"||_==="function"?y.toString():""+y}function vU(y,_){switch(_){case 2:return function(b){return this.fromWireType(D[b>>2])};case 3:return function(b){return this.fromWireType(T[b>>3])};default:throw new TypeError("Unknown float type: "+y)}}function xU(y,_,b){switch(_){case 0:return b?function(Q){return g[Q]}:function(Q){return p[Q]};case 1:return b?function(Q){return I[Q>>1]}:function(Q){return x[Q>>1]};case 2:return b?function(Q){return B[Q>>2]}:function(Q){return w[Q>>2]};default:throw new TypeError("Unknown integer type: "+y)}}function BU(y,_){for(var b="",Q=0;!(Q>=_/2);++Q){var S=I[y+2*Q>>1];if(S==0)break;b+=String.fromCharCode(S)}return b}function CU(y,_,b){if(b===void 0&&(b=2147483647),2>b)return 0;b-=2;var Q=_;b=b<2*y.length?b/2:y.length;for(var S=0;S<b;++S)I[_>>1]=y.charCodeAt(S),_+=2;return I[_>>1]=0,_-Q}function bU(y){return 2*y.length}function wU(y,_){for(var b=0,Q="";!(b>=_/4);){var S=B[y+4*b>>2];if(S==0)break;++b,65536<=S?(S-=65536,Q+=String.fromCharCode(55296|S>>10,56320|S&1023)):Q+=String.fromCharCode(S)}return Q}function QU(y,_,b){if(b===void 0&&(b=2147483647),4>b)return 0;var Q=_;b=Q+b-4;for(var S=0;S<y.length;++S){var P=y.charCodeAt(S);if(55296<=P&&57343>=P){var k=y.charCodeAt(++S);P=65536+((P&1023)<<10)|k&1023}if(B[_>>2]=P,_+=4,_+4>b)break}return B[_>>2]=0,_-Q}function SU(y){for(var _=0,b=0;b<y.length;++b){var Q=y.charCodeAt(b);55296<=Q&&57343>=Q&&++b,_+=4}return _}var TU={};function fB(y){var _=TU[y];return _===void 0?Le(y):_}var nA=[];function MU(y){var _=nA.length;return nA.push(y),_}function PU(y,_){for(var b=Array(y),Q=0;Q<y;++Q)b[Q]=uB(w[_+4*Q>>2],"parameter "+Q);return b}var pB=[],DU=[null,[],[]];oi=t.BindingError=Fn("BindingError"),t.count_emval_handles=function(){for(var y=0,_=5;_<_t.length;++_)_t[_]!==void 0&&++y;return y},t.get_first_emval=function(){for(var y=5;y<_t.length;++y)if(_t[y]!==void 0)return _t[y];return null},Rr=t.PureVirtualError=Fn("PureVirtualError");for(var gB=Array(256),sA=0;256>sA;++sA)gB[sA]=String.fromCharCode(sA);Fr=gB,t.getInheritedInstanceCount=function(){return Object.keys(gr).length},t.getLiveInheritedInstances=function(){var y=[],_;for(_ in gr)gr.hasOwnProperty(_)&&y.push(gr[_]);return y},t.flushPendingDeletes=Ra,t.setDelayFunction=function(y){Oi=y,Xt.length&&Oi&&Oi(Ra)},hB=t.InternalError=Fn("InternalError"),Ui.prototype.isAliasOf=function(y){if(!(this instanceof Ui&&y instanceof Ui))return!1;var _=this.M.P.N,b=this.M.O,Q=y.M.P.N;for(y=y.M.O;_.R;)b=_.ba(b),_=_.R;for(;Q.R;)y=Q.ba(y),Q=Q.R;return _===Q&&b===y},Ui.prototype.clone=function(){if(this.M.O||Im(this),this.M.aa)return this.M.count.value+=1,this;var y=Ts,_=Object,b=_.create,Q=Object.getPrototypeOf(this),S=this.M;return y=y(b.call(_,Q,{M:{value:{count:S.count,$:S.$,aa:S.aa,O:S.O,P:S.P,T:S.T,U:S.U}}})),y.M.count.value+=1,y.M.$=!1,y},Ui.prototype.delete=function(){this.M.O||Im(this),this.M.$&&!this.M.aa&&de("Object already scheduled for deletion"),Zc(this),lB(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},Ui.prototype.isDeleted=function(){return!this.M.O},Ui.prototype.deleteLater=function(){return this.M.O||Im(this),this.M.$&&!this.M.aa&&de("Object already scheduled for deletion"),Xt.push(this),Xt.length===1&&Oi&&Oi(Ra),this.M.$=!0,this},ui.prototype.qa=function(y){return this.ka&&(y=this.ka(y)),y},ui.prototype.ha=function(y){this.W&&this.W(y)},ui.prototype.argPackAdvance=8,ui.prototype.readValueFromPointer=Fa,ui.prototype.deleteObject=function(y){y!==null&&y.delete()},ui.prototype.fromWireType=function(y){function _(){return this.da?eA(this.N.X,{P:this.wa,O:b,U:this,T:y}):eA(this.N.X,{P:this,O:y})}var b=this.qa(y);if(!b)return this.ha(y),null;var Q=fU(this.N,b);if(Q!==void 0)return Q.M.count.value===0?(Q.M.O=b,Q.M.T=y,Q.clone()):(Q=Q.clone(),this.ha(y),Q);if(Q=this.N.pa(b),Q=AB[Q],!Q)return _.call(this);Q=this.ca?Q.la:Q.pointerType;var S=cB(b,this.N,Q.N);return S===null?_.call(this):this.da?eA(Q.N.X,{P:Q,O:S,U:this,T:y}):eA(Q.N.X,{P:Q,O:S})},dB=t.UnboundTypeError=Fn("UnboundTypeError");var RU=typeof atob=="function"?atob:function(y){var _="",b=0;y=y.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var Q="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(y.charAt(b++)),S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(y.charAt(b++)),P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(y.charAt(b++)),k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(y.charAt(b++));Q=Q<<2|S>>4,S=(S&15)<<4|P>>2;var G=(P&3)<<6|k;_+=String.fromCharCode(Q),P!==64&&(_+=String.fromCharCode(S)),k!==64&&(_+=String.fromCharCode(G))}while(b<y.length);return _},FU={l:function(y,_,b,Q){ie("Assertion failed: "+(y?d(p,y):"")+", at: "+[_?_?d(p,_):"":"unknown filename",b,Q?Q?d(p,Q):"":"unknown function"])},q:function(y,_,b){y=Le(y),_=uB(_,"wrapper"),b=Dr(b);var Q=[].slice,S=_.N,P=S.X,k=S.R.X,G=S.R.constructor;y=Ss(y,function(){S.R.ja.forEach(function(L){if(this[L]===k[L])throw new Rr("Pure virtual function "+L+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:P}),this.__construct.apply(this,Q.call(arguments))}),P.__construct=function(){this===P&&de("Pass correct 'this' to __construct");var L=G.implement.apply(void 0,[this].concat(Q.call(arguments)));Zc(L);var z=L.M;L.notifyOnDestruction(),z.aa=!0,Object.defineProperties(this,{M:{value:z}}),Ts(this),L=z.O,L=Jc(S,L),gr.hasOwnProperty(L)?de("Tried to register registered instance: "+L):gr[L]=this},P.__destruct=function(){this===P&&de("Pass correct 'this' to __destruct"),Zc(this);var L=this.M.O;L=Jc(S,L),gr.hasOwnProperty(L)?delete gr[L]:de("Tried to unregister unregistered instance: "+L)},y.prototype=Object.create(P);for(var H in b)y.prototype[H]=b[H];return ki(y)},j:function(y){var _=tA[y];delete tA[y];var b=_.fa,Q=_.W,S=_.ia,P=S.map(k=>k.ta).concat(S.map(k=>k.za));Gi([y],P,k=>{var G={};return S.forEach((H,L)=>{var z=k[L],oe=H.ra,_e=H.sa,tt=k[L+S.length],be=H.ya,Jt=H.Aa;G[H.oa]={read:yr=>z.fromWireType(oe(_e,yr)),write:(yr,ka)=>{var ci=[];be(Jt,yr,tt.toWireType(ci,ka)),Em(ci)}}}),[{name:_.name,fromWireType:function(H){var L={},z;for(z in G)L[z]=G[z].read(H);return Q(H),L},toWireType:function(H,L){for(var z in G)if(!(z in L))throw new TypeError('Missing field: "'+z+'"');var oe=b();for(z in G)G[z].write(oe,L[z]);return H!==null&&H.push(Q,oe),oe},argPackAdvance:8,readValueFromPointer:Fa,V:Q}]})},v:function(){},B:function(y,_,b,Q,S){var P=_m(b);_=Le(_),ai(y,{name:_,fromWireType:function(k){return!!k},toWireType:function(k,G){return G?Q:S},argPackAdvance:8,readValueFromPointer:function(k){if(b===1)var G=g;else if(b===2)G=I;else if(b===4)G=B;else throw new TypeError("Unknown boolean type size: "+_);return this.fromWireType(G[k>>P])},V:null})},f:function(y,_,b,Q,S,P,k,G,H,L,z,oe,_e){z=Le(z),P=mr(S,P),G&&(G=mr(k,G)),L&&(L=mr(H,L)),_e=mr(oe,_e);var tt=Fi(z);pU(tt,function(){iA("Cannot construct "+z+" due to unbound types",[Q])}),Gi([y,_,b],Q?[Q]:[],function(be){if(be=be[0],Q)var Jt=be.N,yr=Jt.X;else yr=Ui.prototype;be=Ss(tt,function(){if(Object.getPrototypeOf(this)!==ka)throw new oi("Use 'new' to construct "+z);if(ci.Y===void 0)throw new oi(z+" has no accessible constructor");var _B=ci.Y[arguments.length];if(_B===void 0)throw new oi("Tried to invoke ctor of "+z+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(ci.Y).toString()+") parameters instead!");return _B.apply(this,arguments)});var ka=Object.create(yr,{constructor:{value:be}});be.prototype=ka;var ci=new gU(z,be,ka,_e,Jt,P,G,L);Jt=new ui(z,ci,!0,!1),yr=new ui(z+"*",ci,!1,!1);var EB=new ui(z+" const*",ci,!1,!0);return AB[y]={pointerType:yr,la:EB},_U(tt,be),[Jt,yr,EB]})},d:function(y,_,b,Q,S,P,k){var G=Cm(b,Q);_=Le(_),P=mr(S,P),Gi([],[y],function(H){function L(){iA("Cannot call "+z+" due to unbound types",G)}H=H[0];var z=H.name+"."+_;_.startsWith("@@")&&(_=Symbol[_.substring(2)]);var oe=H.N.constructor;return oe[_]===void 0?(L.Z=b-1,oe[_]=L):(vm(oe,_,z),oe[_].S[b-1]=L),Gi([],G,function(_e){return _e=Bm(z,[_e[0],null].concat(_e.slice(1)),null,P,k),oe[_].S===void 0?(_e.Z=b-1,oe[_]=_e):oe[_].S[b-1]=_e,[]}),[]})},p:function(y,_,b,Q,S,P){0<_||ie();var k=Cm(_,b);S=mr(Q,S),Gi([],[y],function(G){G=G[0];var H="constructor "+G.name;if(G.N.Y===void 0&&(G.N.Y=[]),G.N.Y[_-1]!==void 0)throw new oi("Cannot register multiple constructors with identical number of parameters ("+(_-1)+") for class '"+G.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return G.N.Y[_-1]=()=>{iA("Cannot construct "+G.name+" due to unbound types",k)},Gi([],k,function(L){return L.splice(1,0,null),G.N.Y[_-1]=Bm(H,L,null,S,P),[]}),[]})},a:function(y,_,b,Q,S,P,k,G){var H=Cm(b,Q);_=Le(_),P=mr(S,P),Gi([],[y],function(L){function z(){iA("Cannot call "+oe+" due to unbound types",H)}L=L[0];var oe=L.name+"."+_;_.startsWith("@@")&&(_=Symbol[_.substring(2)]),G&&L.N.ja.push(_);var _e=L.N.X,tt=_e[_];return tt===void 0||tt.S===void 0&&tt.className!==L.name&&tt.Z===b-2?(z.Z=b-2,z.className=L.name,_e[_]=z):(vm(_e,_,oe),_e[_].S[b-2]=z),Gi([],H,function(be){return be=Bm(oe,be,L,P,k),_e[_].S===void 0?(be.Z=b-2,_e[_]=be):_e[_].S[b-2]=be,[]}),[]})},A:function(y,_){_=Le(_),ai(y,{name:_,fromWireType:function(b){var Q=Dr(b);return bm(b),Q},toWireType:function(b,Q){return ki(Q)},argPackAdvance:8,readValueFromPointer:Fa,V:null})},n:function(y,_,b){b=_m(b),_=Le(_),ai(y,{name:_,fromWireType:function(Q){return Q},toWireType:function(Q,S){return S},argPackAdvance:8,readValueFromPointer:vU(_,b),V:null})},e:function(y,_,b,Q,S){_=Le(_),S===-1&&(S=4294967295),S=_m(b);var P=G=>G;if(Q===0){var k=32-8*b;P=G=>G<<k>>>k}b=_.includes("unsigned")?function(G,H){return H>>>0}:function(G,H){return H},ai(y,{name:_,fromWireType:P,toWireType:b,argPackAdvance:8,readValueFromPointer:xU(_,S,Q!==0),V:null})},b:function(y,_,b){function Q(P){P>>=2;var k=w;return new S(f,k[P+1],k[P])}var S=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][_];b=Le(b),ai(y,{name:b,fromWireType:Q,argPackAdvance:8,readValueFromPointer:Q},{ua:!0})},o:function(y,_){_=Le(_);var b=_==="std::string";ai(y,{name:_,fromWireType:function(Q){var S=w[Q>>2],P=Q+4;if(b)for(var k=P,G=0;G<=S;++G){var H=P+G;if(G==S||p[H]==0){if(k=k?d(p,k,H-k):"",L===void 0)var L=k;else L+="\0",L+=k;k=H+1}}else{for(L=Array(S),G=0;G<S;++G)L[G]=String.fromCharCode(p[P+G]);L=L.join("")}return li(Q),L},toWireType:function(Q,S){S instanceof ArrayBuffer&&(S=new Uint8Array(S));var P,k=typeof S=="string";if(k||S instanceof Uint8Array||S instanceof Uint8ClampedArray||S instanceof Int8Array||de("Cannot pass non-string to std::string"),b&&k){var G=0;for(P=0;P<S.length;++P){var H=S.charCodeAt(P);127>=H?G++:2047>=H?G+=2:55296<=H&&57343>=H?(G+=4,++P):G+=3}P=G}else P=S.length;if(G=Qm(4+P+1),H=G+4,w[G>>2]=P,b&&k){if(k=H,H=P+1,P=p,0<H){H=k+H-1;for(var L=0;L<S.length;++L){var z=S.charCodeAt(L);if(55296<=z&&57343>=z){var oe=S.charCodeAt(++L);z=65536+((z&1023)<<10)|oe&1023}if(127>=z){if(k>=H)break;P[k++]=z}else{if(2047>=z){if(k+1>=H)break;P[k++]=192|z>>6}else{if(65535>=z){if(k+2>=H)break;P[k++]=224|z>>12}else{if(k+3>=H)break;P[k++]=240|z>>18,P[k++]=128|z>>12&63}P[k++]=128|z>>6&63}P[k++]=128|z&63}}P[k]=0}}else if(k)for(k=0;k<P;++k)L=S.charCodeAt(k),255<L&&(li(H),de("String has UTF-16 code units that do not fit in 8 bits")),p[H+k]=L;else for(k=0;k<P;++k)p[H+k]=S[k];return Q!==null&&Q.push(li,G),G},argPackAdvance:8,readValueFromPointer:Fa,V:function(Q){li(Q)}})},i:function(y,_,b){if(b=Le(b),_===2)var Q=BU,S=CU,P=bU,k=()=>x,G=1;else _===4&&(Q=wU,S=QU,P=SU,k=()=>w,G=2);ai(y,{name:b,fromWireType:function(H){for(var L=w[H>>2],z=k(),oe,_e=H+4,tt=0;tt<=L;++tt){var be=H+4+tt*_;(tt==L||z[be>>G]==0)&&(_e=Q(_e,be-_e),oe===void 0?oe=_e:(oe+="\0",oe+=_e),_e=be+_)}return li(H),oe},toWireType:function(H,L){typeof L!="string"&&de("Cannot pass non-string to C++ string type "+b);var z=P(L),oe=Qm(4+z+_);return w[oe>>2]=z>>G,S(L,oe+4,z+_),H!==null&&H.push(li,oe),oe},argPackAdvance:8,readValueFromPointer:Fa,V:function(H){li(H)}})},k:function(y,_,b,Q,S,P){tA[y]={name:Le(_),fa:mr(b,Q),W:mr(S,P),ia:[]}},h:function(y,_,b,Q,S,P,k,G,H,L){tA[y].ia.push({oa:Le(_),ta:b,ra:mr(Q,S),sa:P,za:k,ya:mr(G,H),Aa:L})},C:function(y,_){_=Le(_),ai(y,{va:!0,name:_,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(y,_,b,Q,S){y=nA[y],_=Dr(_),b=fB(b);var P=[];return w[Q>>2]=ki(P),y(_,b,P,S)},t:function(y,_,b,Q){y=nA[y],_=Dr(_),b=fB(b),y(_,b,null,Q)},g:bm,m:function(y,_){var b=PU(y,_),Q=b[0];_=Q.name+"_$"+b.slice(1).map(function(k){return k.name}).join("_")+"$";var S=pB[_];if(S!==void 0)return S;var P=Array(y-1);return S=MU((k,G,H,L)=>{for(var z=0,oe=0;oe<y-1;++oe)P[oe]=b[oe+1].readValueFromPointer(L+z),z+=b[oe+1].argPackAdvance;for(k=k[G].apply(k,P),oe=0;oe<y-1;++oe)b[oe+1].ma&&b[oe+1].ma(P[oe]);if(!Q.va)return Q.toWireType(H,k)}),pB[_]=S},D:function(y){4<y&&(_t[y].ga+=1)},r:function(y){var _=Dr(y);Em(_),bm(y)},c:function(){ie("")},x:function(y,_,b){p.copyWithin(y,_,_+b)},w:function(y){var _=p.length;if(y>>>=0,2147483648<y)return!1;for(var b=1;4>=b;b*=2){var Q=_*(1+.2/b);Q=Math.min(Q,y+100663296);var S=Math;Q=Math.max(y,Q),S=S.min.call(S,2147483648,Q+(65536-Q%65536)%65536);e:{try{A.grow(S-f.byteLength+65535>>>16),R();var P=1;break e}catch{}P=void 0}if(P)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(y,_,b,Q){for(var S=0,P=0;P<b;P++){var k=w[_>>2],G=w[_+4>>2];_+=8;for(var H=0;H<G;H++){var L=p[k+H],z=DU[y];L===0||L===10?((y===1?a:l)(d(z,0)),z.length=0):z.push(L)}S+=G}return w[Q>>2]=S,0}};(function(){function y(S){t.asm=S.exports,A=t.asm.E,R(),U=t.asm.J,Y.unshift(t.asm.F),ae--,t.monitorRunDependencies&&t.monitorRunDependencies(ae),ae==0&&(Fe!==null&&(clearInterval(Fe),Fe=null),Ut&&(S=Ut,Ut=null,S()))}function _(S){y(S.instance)}function b(S){return Rn().then(function(P){return WebAssembly.instantiate(P,Q)}).then(function(P){return P}).then(S,function(P){l("failed to asynchronously prepare wasm: "+P),ie(P)})}var Q={a:FU};if(ae++,t.monitorRunDependencies&&t.monitorRunDependencies(ae),t.instantiateWasm)try{return t.instantiateWasm(Q,y)}catch(S){l("Module.instantiateWasm callback failed with error: "+S),n(S)}return function(){return c||typeof WebAssembly.instantiateStreaming!="function"||ue(ir)||typeof fetch!="function"?b(_):fetch(ir,{credentials:"same-origin"}).then(function(S){return WebAssembly.instantiateStreaming(S,Q).then(_,function(P){return l("wasm streaming compile failed: "+P),l("falling back to ArrayBuffer instantiation"),b(_)})})}().catch(n),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var mB=t.___getTypeName=function(){return(mB=t.___getTypeName=t.asm.G).apply(null,arguments)};t.__embind_initialize_bindings=function(){return(t.__embind_initialize_bindings=t.asm.H).apply(null,arguments)};var Qm=t._malloc=function(){return(Qm=t._malloc=t.asm.I).apply(null,arguments)},li=t._free=function(){return(li=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var oA;Ut=function y(){oA||yB(),oA||(Ut=y)};function yB(){function y(){if(!oA&&(oA=!0,t.calledRun=!0,!h)){if(ni(Y),i(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var _=t.postRun.shift();V.unshift(_)}ni(V)}}if(!(0<ae)){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)ne();ni(Z),0<ae||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),y()},1)):y())}}if(t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return yB(),e.ready}})(),G2=Wee});var Ze,Yc,L2,ii,xs,se,Ma,jee,dr,Bs,rr,Pa,Vx,N2,Cs,bs,Sr,ws,Vee,H2,am=m(()=>{Ze=function(r){return r[r.Auto=0]="Auto",r[r.FlexStart=1]="FlexStart",r[r.Center=2]="Center",r[r.FlexEnd=3]="FlexEnd",r[r.Stretch=4]="Stretch",r[r.Baseline=5]="Baseline",r[r.SpaceBetween=6]="SpaceBetween",r[r.SpaceAround=7]="SpaceAround",r[r.SpaceEvenly=8]="SpaceEvenly",r}({}),Yc=function(r){return r[r.BorderBox=0]="BorderBox",r[r.ContentBox=1]="ContentBox",r}({}),L2=function(r){return r[r.Width=0]="Width",r[r.Height=1]="Height",r}({}),ii=function(r){return r[r.Inherit=0]="Inherit",r[r.LTR=1]="LTR",r[r.RTL=2]="RTL",r}({}),xs=function(r){return r[r.Flex=0]="Flex",r[r.None=1]="None",r[r.Contents=2]="Contents",r}({}),se=function(r){return r[r.Left=0]="Left",r[r.Top=1]="Top",r[r.Right=2]="Right",r[r.Bottom=3]="Bottom",r[r.Start=4]="Start",r[r.End=5]="End",r[r.Horizontal=6]="Horizontal",r[r.Vertical=7]="Vertical",r[r.All=8]="All",r}({}),Ma=function(r){return r[r.None=0]="None",r[r.StretchFlexBasis=1]="StretchFlexBasis",r[r.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",r[r.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",r[r.All=2147483647]="All",r[r.Classic=2147483646]="Classic",r}({}),jee=function(r){return r[r.WebFlexBasis=0]="WebFlexBasis",r}({}),dr=function(r){return r[r.Column=0]="Column",r[r.ColumnReverse=1]="ColumnReverse",r[r.Row=2]="Row",r[r.RowReverse=3]="RowReverse",r}({}),Bs=function(r){return r[r.Column=0]="Column",r[r.Row=1]="Row",r[r.All=2]="All",r}({}),rr=function(r){return r[r.FlexStart=0]="FlexStart",r[r.Center=1]="Center",r[r.FlexEnd=2]="FlexEnd",r[r.SpaceBetween=3]="SpaceBetween",r[r.SpaceAround=4]="SpaceAround",r[r.SpaceEvenly=5]="SpaceEvenly",r}({}),Pa=function(r){return r[r.Error=0]="Error",r[r.Warn=1]="Warn",r[r.Info=2]="Info",r[r.Debug=3]="Debug",r[r.Verbose=4]="Verbose",r[r.Fatal=5]="Fatal",r}({}),Vx=function(r){return r[r.Undefined=0]="Undefined",r[r.Exactly=1]="Exactly",r[r.AtMost=2]="AtMost",r}({}),N2=function(r){return r[r.Default=0]="Default",r[r.Text=1]="Text",r}({}),Cs=function(r){return r[r.Visible=0]="Visible",r[r.Hidden=1]="Hidden",r[r.Scroll=2]="Scroll",r}({}),bs=function(r){return r[r.Static=0]="Static",r[r.Relative=1]="Relative",r[r.Absolute=2]="Absolute",r}({}),Sr=function(r){return r[r.Undefined=0]="Undefined",r[r.Point=1]="Point",r[r.Percent=2]="Percent",r[r.Auto=3]="Auto",r}({}),ws=function(r){return r[r.NoWrap=0]="NoWrap",r[r.Wrap=1]="Wrap",r[r.WrapReverse=2]="WrapReverse",r}({}),Vee={ALIGN_AUTO:Ze.Auto,ALIGN_FLEX_START:Ze.FlexStart,ALIGN_CENTER:Ze.Center,ALIGN_FLEX_END:Ze.FlexEnd,ALIGN_STRETCH:Ze.Stretch,ALIGN_BASELINE:Ze.Baseline,ALIGN_SPACE_BETWEEN:Ze.SpaceBetween,ALIGN_SPACE_AROUND:Ze.SpaceAround,ALIGN_SPACE_EVENLY:Ze.SpaceEvenly,BOX_SIZING_BORDER_BOX:Yc.BorderBox,BOX_SIZING_CONTENT_BOX:Yc.ContentBox,DIMENSION_WIDTH:L2.Width,DIMENSION_HEIGHT:L2.Height,DIRECTION_INHERIT:ii.Inherit,DIRECTION_LTR:ii.LTR,DIRECTION_RTL:ii.RTL,DISPLAY_FLEX:xs.Flex,DISPLAY_NONE:xs.None,DISPLAY_CONTENTS:xs.Contents,EDGE_LEFT:se.Left,EDGE_TOP:se.Top,EDGE_RIGHT:se.Right,EDGE_BOTTOM:se.Bottom,EDGE_START:se.Start,EDGE_END:se.End,EDGE_HORIZONTAL:se.Horizontal,EDGE_VERTICAL:se.Vertical,EDGE_ALL:se.All,ERRATA_NONE:Ma.None,ERRATA_STRETCH_FLEX_BASIS:Ma.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:Ma.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:Ma.AbsolutePercentAgainstInnerSize,ERRATA_ALL:Ma.All,ERRATA_CLASSIC:Ma.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:jee.WebFlexBasis,FLEX_DIRECTION_COLUMN:dr.Column,FLEX_DIRECTION_COLUMN_REVERSE:dr.ColumnReverse,FLEX_DIRECTION_ROW:dr.Row,FLEX_DIRECTION_ROW_REVERSE:dr.RowReverse,GUTTER_COLUMN:Bs.Column,GUTTER_ROW:Bs.Row,GUTTER_ALL:Bs.All,JUSTIFY_FLEX_START:rr.FlexStart,JUSTIFY_CENTER:rr.Center,JUSTIFY_FLEX_END:rr.FlexEnd,JUSTIFY_SPACE_BETWEEN:rr.SpaceBetween,JUSTIFY_SPACE_AROUND:rr.SpaceAround,JUSTIFY_SPACE_EVENLY:rr.SpaceEvenly,LOG_LEVEL_ERROR:Pa.Error,LOG_LEVEL_WARN:Pa.Warn,LOG_LEVEL_INFO:Pa.Info,LOG_LEVEL_DEBUG:Pa.Debug,LOG_LEVEL_VERBOSE:Pa.Verbose,LOG_LEVEL_FATAL:Pa.Fatal,MEASURE_MODE_UNDEFINED:Vx.Undefined,MEASURE_MODE_EXACTLY:Vx.Exactly,MEASURE_MODE_AT_MOST:Vx.AtMost,NODE_TYPE_DEFAULT:N2.Default,NODE_TYPE_TEXT:N2.Text,OVERFLOW_VISIBLE:Cs.Visible,OVERFLOW_HIDDEN:Cs.Hidden,OVERFLOW_SCROLL:Cs.Scroll,POSITION_TYPE_STATIC:bs.Static,POSITION_TYPE_RELATIVE:bs.Relative,POSITION_TYPE_ABSOLUTE:bs.Absolute,UNIT_UNDEFINED:Sr.Undefined,UNIT_POINT:Sr.Point,UNIT_PERCENT:Sr.Percent,UNIT_AUTO:Sr.Auto,WRAP_NO_WRAP:ws.NoWrap,WRAP_WRAP:ws.Wrap,WRAP_WRAP_REVERSE:ws.WrapReverse},H2=Vee});function Yx(r){function e(n,s,o){let a=n[s];n[s]=function(){for(var l=arguments.length,c=new Array(l),u=0;u<l;u++)c[u]=arguments[u];return o.call(this,a,...c)}}for(let n of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){let s={[Sr.Point]:r.Node.prototype[n],[Sr.Percent]:r.Node.prototype[`${n}Percent`],[Sr.Auto]:r.Node.prototype[`${n}Auto`]};e(r.Node.prototype,n,function(o){for(var a=arguments.length,l=new Array(a>1?a-1:0),c=1;c<a;c++)l[c-1]=arguments[c];let u=l.pop(),A,h;if(u==="auto")A=Sr.Auto,h=void 0;else if(typeof u=="object")A=u.unit,h=u.valueOf();else if(A=typeof u=="string"&&u.endsWith("%")?Sr.Percent:Sr.Point,h=parseFloat(u),u!==void 0&&!Number.isNaN(u)&&Number.isNaN(h))throw new Error(`Invalid value ${u} for ${n}`);if(!s[A])throw new Error(`Failed to execute "${n}": Unsupported unit '${u}'`);return h!==void 0?s[A].call(this,...l,h):s[A].call(this,...l)})}function t(n){return r.MeasureCallback.implement({measure:function(){let{width:s,height:o}=n(...arguments);return{width:s??NaN,height:o??NaN}}})}e(r.Node.prototype,"setMeasureFunc",function(n,s){return s?n.call(this,t(s)):this.unsetMeasureFunc()});function i(n){return r.DirtiedCallback.implement({dirtied:n})}return e(r.Node.prototype,"setDirtiedFunc",function(n,s){n.call(this,i(s))}),e(r.Config.prototype,"free",function(){r.Config.destroy(this)}),e(r.Node,"create",(n,s)=>s?r.Node.createWithConfig(s):r.Node.createDefault()),e(r.Node.prototype,"free",function(){r.Node.destroy(this)}),e(r.Node.prototype,"freeRecursive",function(){for(let n=0,s=this.getChildCount();n<s;++n)this.getChild(0).freeRecursive();this.free()}),e(r.Node.prototype,"calculateLayout",function(n){let s=arguments.length>1&&arguments[1]!==void 0?arguments[1]:NaN,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:NaN,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:ii.LTR;return n.call(this,s,o,a)}),{Config:r.Config,Node:r.Node,...H2}}var W2=m(()=>{am();am()});async function q2(){return Yx(await G2())}var um=m(()=>{U2();W2();am()});function Jx(r,e){let t=`getComputed${e.charAt(0).toUpperCase()+e.slice(1)}`;return{top:r.yoga[t](se.Top),right:r.yoga[t](se.Right),bottom:r.yoga[t](se.Bottom),left:r.yoga[t](se.Left)}}function X2(r,e){let{width:t,height:i}=r.computedLayout,n=Jx(r,"margin"),s=Jx(r,"border"),o=Jx(r,"padding"),a=e.get("margin");a.outer.x=-n.left,a.outer.y=-n.top,a.outer.width=t+n.left+n.right,a.outer.height=i+n.top+n.bottom,a.inner.x=0,a.inner.y=0,a.inner.width=t,a.inner.height=i;let l=e.get("border");l.outer.x=0,l.outer.y=0,l.outer.width=t,l.outer.height=i,l.inner.x=s.left,l.inner.y=s.top,l.inner.width=t-s.left-s.right,l.inner.height=i-s.top-s.bottom;let c=e.get("padding");c.outer.copyFrom(l.inner),c.inner.x=o.left+s.left,c.inner.y=o.top+s.top,c.inner.width=t-o.left-o.right-s.left-s.right,c.inner.height=i-o.top-o.bottom-s.top-s.bottom,Kee(r,e)}function Kee(r,e){var t;let i=e.get("flex"),n=e.get("padding");i.outer.copyFrom(n.inner);let s=new ge,o=r.yoga.getChildCount();for(let l=0;l<o;l++){let u=r.yoga.getChild(l).getComputedLayout();s.addRect(new ee(u.left,u.top,u.width,u.height))}let a=r.yoga.getFlexDirection();a===dr.Column||a===dr.ColumnReverse?(s.width=i.outer.width,s.x=i.outer.x):(s.height=i.outer.height,s.y=i.outer.y),(t=i.inner)==null||t.copyFrom(s.rectangle),e.get("content").outer.copyFrom(s.rectangle)}var fr,Zx=m(()=>{Re();um();fr=(r=>(r.Margin="margin",r.Padding="padding",r.Border="border",r.Flex="flex",r.Content="content",r))(fr||{})});function Jee(r,e,t){let i=Math.round(r[0]+(e[0]-r[0])*t),n=Math.round(r[1]+(e[1]-r[1])*t),s=Math.round(r[2]+(e[2]-r[2])*t);return`rgb(${i},${n},${s})`}var zee,Xee,J2,dm,Z2=m(()=>{Re();Zx();zee=Object.defineProperty,Xee=(r,e,t)=>e in r?zee(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,J2=(r,e,t)=>Xee(r,typeof e!="symbol"?e+"":e,t);dm=class extends Ae{constructor(){super(),J2(this,"graphics"),J2(this,"heatGraphics"),this.graphics=new Map,Object.values(fr).forEach(e=>{let t=new Qr;this.graphics.set(e,t),this.addChild(t)}),this.heatGraphics=new Qr,this.addChild(this.heatGraphics)}init(e){let{target:t,alpha:i,heat:n}=e;e.heatOnly||Object.entries(e).forEach(([a,l])=>{if(a==="target"||a==="alpha"||a==="heat"||a==="heatOnly")return;l=l;let c=this.graphics.get(a);if(!(!c||!l.draw))if(l.inner)this.drawCutBox(c,l.outer,l.inner,l.color,i);else{let{x:u,y:A,width:h,height:d}=l.outer;c.rect(u,A,h,Math.max(d,1)),c.fill({color:l.color,alpha:i})}});let{invalidationCount:s,draw:o}=n;if(s>0&&o){let l=Math.min(s/20,1),c=e[fr.Margin],h=Jee([255,255,0],[255,0,0],l);this.heatGraphics.rect(c.outer.x,c.outer.y,c.outer.width,c.outer.height),this.heatGraphics.fill({color:h,alpha:Math.min(.3,l)}),this.heatGraphics.stroke({color:h,alpha:Math.max(.3,l),pixelLine:!0})}this.position.set(t.x,t.y)}reset(){this.graphics.forEach(e=>e.clear()),this.heatGraphics.clear(),this.removeFromParent()}drawCutBox(e,t,i,n,s){let{x:o,y:a,width:l,height:c}=t,{x:u,y:A,width:h,height:d}=i;e.rect(o,a,l,c),e.fill({color:n,alpha:s}),e.rect(u,A,h,d),e.cut()}}});var $2={};Ga($2,{DebugRenderer:()=>pm});var Zee,$ee,fm,pm,$x=m(()=>{Re();Zx();Z2();Zee=Object.defineProperty,$ee=(r,e,t)=>e in r?Zee(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,fm=(r,e,t)=>$ee(r,typeof e!="symbol"?e+"":e,t),pm=class{constructor(){fm(this,"holder",new Ae),fm(this,"regions",new Map),fm(this,"colors",{[fr.Margin]:"#B68655",[fr.Padding]:"#BAC57F",[fr.Border]:"#E7C583",[fr.Content]:"#89B1BE",[fr.Flex]:"#6E28D9"}),fm(this,"alpha",.75),Object.values(fr).forEach(e=>{this.regions.set(e,{outer:new ee,inner:new ee})}),this.holder.__devtoolIgnore=!0,this.holder.__devtoolIgnoreChildren=!0,this.holder.eventMode="none",this.holder.interactiveChildren=!1}reset(){for(let e=this.holder.children.length-1;e>=0;e--){let t=this.holder.children[e];re.return(t)}}render(e){X2(e,this.regions);let t=Object.values(fr).reduce((a,l)=>{let c=this.regions.get(l);if(!c)return a;let u=`debugDraw${l.charAt(0).toUpperCase()}${l.slice(1)}`;return a[l]={...c,color:this.colors[l],draw:e._styles.custom[u]??!0},a},{}),{left:i,top:n}=e.computedLayout,s=e.target.getGlobalPosition(),o=re.get(dm,{...t,target:{x:s.x+i,y:s.y+n},alpha:this.alpha,heat:{invalidationCount:e._modificationCount,draw:e._styles.custom.debugHeat!==!1},heatOnly:!e._styles.custom.debug});this.holder.addChildAt(o,0)}destroy(){this.reset(),this.holder.destroy(),this.regions.clear()}}});var Ete={};Ga(Ete,{ArraySubject:()=>nu,Canvas:()=>h2,Circle:()=>p2,Container:()=>Xg,DOMContainer:()=>O2,DOMElement:()=>om,DisplayObject:()=>et,EVENTS:()=>A2,Easing:()=>yte,Ellipse:()=>g2,Graphics:()=>Es,Howl:()=>_te,Howler:()=>hU.Howler,Mesh:()=>E2,NineSliceSprite:()=>F2,ObjectSubject:()=>su,ParticlesEmitter:()=>b2,RadialGradient:()=>oB,Rect:()=>d2,Scene:()=>_2,Sprite:()=>rm,Svg:()=>y2,Text:()=>T2,TilingSprite:()=>M2,Triangle:()=>m2,Utils:()=>yf,Video:()=>S2,Viewport:()=>R2,animatedSequence:()=>xee,animatedSignal:()=>vee,bootstrapCanvas:()=>mte,computed:()=>ou,cond:()=>lZ,createComponent:()=>He,currentSubscriptionsTracker:()=>Ix,effect:()=>Ye,h:()=>Di,isAnimatedSignal:()=>tm,isArraySubject:()=>sZ,isComputed:()=>Eo,isElement:()=>_o,isObjectSubject:()=>oZ,isObservable:()=>dU.isObservable,isPrimitive:()=>Ef,isSignal:()=>ke,isTrigger:()=>im,loop:()=>uZ,mount:()=>Zg,mountTracker:()=>Jg,on:()=>Cx,registerComponent:()=>Ne,signal:()=>xe,tick:()=>cee,trigger:()=>Bee,useDefineProps:()=>_f,useProps:()=>ft});var Mm={},It=class{};function Lt(r,e){Mm[r]=e}function bB(r,e){if(!Mm[e])return null;let t=new Mm[e];return t.onInit?.(r),t}var yf={};Ga(yf,{arrayEquals:()=>ru,calculateDistance:()=>Xy,error:()=>iu,fps2ms:()=>zn,get:()=>tZ,isBrowser:()=>Vy,isFunction:()=>Yy,isObject:()=>Ky,isObservable:()=>zy,isPromise:()=>tu,log:()=>rZ,preciseNow:()=>Kn,set:()=>mf,setObservablePoint:()=>An});var $w=St(cn(),1);function Vy(){return typeof window<"u"}function Kn(){return typeof performance<"u"?performance.now():Date.now()}function zn(r){return 1e3/r}function tu(r){return r&&r instanceof Promise}function ru(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++){let i=r[t],n=e[t];if(typeof i=="object"&&i!==null){if(typeof n!="object"||n===null)return!1;if(Array.isArray(i)){if(!Array.isArray(n)||!ru(i,n))return!1}else if(!eQ(i,n))return!1}else if(i!==n)return!1}return!0}function eQ(r,e){let t=Object.keys(r),i=Object.keys(e);if(t.length!==i.length)return!1;for(let n of t)if(!e.hasOwnProperty(n)||!eZ(r[n],e[n]))return!1;return!0}function eZ(r,e){return r===e?!0:typeof r!=typeof e?!1:typeof r=="object"&&r!==null?Array.isArray(r)?Array.isArray(e)&&ru(r,e):eQ(r,e):!1}function Yy(r){return{}.toString.call(r)==="[object Function]"}function Ky(r){return typeof r=="object"&&r!=null&&!Array.isArray(r)&&r.constructor===Object}function zy(r){return r instanceof $w.Observable}function mf(r,e,t,i=!1){if(Object(r)!==r)return r;typeof e=="string"&&(e=e.split("."));let n=e.length;if(!n)return r;let s=r;for(let o=0;o<n-1;o++){let a=e[o],l=e[o+1],c=!isNaN(Number(l))&&isFinite(Number(l));(!s[a]||typeof s[a]!="object")&&(s[a]=c&&!i?[]:{}),s=s[a]}return s[e[n-1]]=t,r}function tZ(r,e){let t=e.split("."),i=r;for(let n of t){if(i[n]===void 0)return;i=i[n]}return i}function rZ(r){console.log(r)}function iu(r){console.error(r)}function An(r,e){typeof e=="number"?r.set(e):Array.isArray(e)?r.set(e[0],e[1]):r.set(e.x,e.y)}function Xy(r,e,t,i){let n=r-t,s=e-i;return Math.sqrt(n*n+s*s)}var rQ={3:"break",8:"backspace",9:"tab",12:"clear",13:"enter",16:"shift",17:"ctrl",18:"alt",19:"pause/break",20:"caps lock",27:"escape",28:"conversion",29:"non-conversion",32:"space",33:"page up",34:"page down",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down",41:"select",42:"print",43:"execute",44:"Print Screen",45:"insert",46:"delete",48:"n0",49:"n1",50:"n2",51:"n3",52:"n4",53:"n5",54:"n6",55:"n7",56:"n8",57:"n9",58:":",59:"semicolon (firefox), equals",60:"<",61:"equals (firefox)",63:"\xDF",64:"@",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",91:"Windows Key / Left \u2318 / Chromebook Search key",92:"right window key",93:"Windows Menu / Right \u2318",96:"numpad 0",97:"numpad 1",98:"numpad 2",99:"numpad 3",100:"numpad 4",101:"numpad 5",102:"numpad 6",103:"numpad 7",104:"numpad 8",105:"numpad 9",106:"multiply",107:"add",108:"numpad period (firefox)",109:"subtract",110:"decimal point",111:"divide",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12",124:"f13",125:"f14",126:"f15",127:"f16",128:"f17",129:"f18",130:"f19",131:"f20",132:"f21",133:"f22",134:"f23",135:"f24",144:"num lock",145:"scroll lock",160:"^",161:"!",163:"#",164:"$",165:"\xF9",166:"page backward",167:"page forward",169:"closing paren (AZERTY)",170:"*",171:"~ + * key",173:"minus (firefox), mute/unmute",174:"decrease volume level",175:"increase volume level",176:"next",177:"previous",178:"stop",179:"play/pause",180:"e-mail",181:"mute/unmute (firefox)",182:"decrease volume level (firefox)",183:"increase volume level (firefox)",186:"semi-colon / \xF1",187:"equal sign",188:"comma",189:"dash",190:"period",191:"forward slash / \xE7",192:"grave accent / \xF1 / \xE6",193:"?, / or \xB0",194:"numpad period (chrome)",219:"open bracket",220:"back slash",221:"close bracket / \xE5",222:"single quote / \xF8",223:"`",224:"left or right \u2318 key (firefox)",225:"altgr",226:"< /git >",230:"GNOME Compose Key",231:"\xE7",233:"XF86Forward",234:"XF86Back",240:"alphanumeric",242:"hiragana/katakana",243:"half-width/full-width",244:"kanji",255:"toggle touchpad"},iZ=r=>{let e={};for(let t in r){let i=r[t];e[i]=t}return e},tQ=iZ(rQ),Jy=class extends It{constructor(){super(...arguments);this.keyState={};this.boundKeys={};this.stop=!1;this.lastKeyPressed=null;this._controlsOptions={};this.serverFps=60;this.directionState={up:!1,down:!1,left:!1,right:!1}}onInit(t){let i=t.props.controls.value??t.props.controls;i&&(this.setupListeners(),this.setInputs(i),this.interval=setInterval(()=>{this.preStep()},zn(this.serverFps??60)))}onMount(t){}onUpdate(t){this.setInputs(t)}onDestroy(){clearInterval(this.interval),document.removeEventListener("keydown",t=>{this.onKeyChange(t,!0)}),document.removeEventListener("keyup",t=>{this.onKeyChange(t,!1)})}preStep(){if(this.stop)return;let t=this.getDirection();if(t!=="none"){let i=this.boundKeys[t];if(i){let{keyDown:n}=i.options;n&&this.applyInput(t)}}else{let i=Object.keys(this.boundKeys);for(let n of i)this.applyInput(n)}}applyInput(t){let i=this.keyState[t];if(!i)return;let{isDown:n,count:s}=i;if(n){let{repeat:o,keyDown:a}=this.boundKeys[t].options;if(o||s==0){let l=this.boundKeys[t].parameters;typeof l=="function"&&(l=l()),a&&a(this.boundKeys[t]),this.keyState[t].count++}}}setupListeners(){document.addEventListener("keydown",t=>{this.onKeyChange(t,!0)}),document.addEventListener("keyup",t=>{this.onKeyChange(t,!1)})}bindKey(t,i,n,s){Array.isArray(t)||(t=[t]);let o=Object.assign({repeat:!1},n);t.forEach(a=>{this.boundKeys[a]={actionName:i,options:o,parameters:s}})}applyKeyDown(t){let i=tQ[t],n=new Event("keydown");n.keyCode=i,this.onKeyChange(n,!0)}applyKeyUp(t){let i=tQ[t],n=new Event("keyup");n.keyCode=i,this.onKeyChange(n,!1)}applyKeyPress(t){return new Promise(i=>{this.applyKeyDown(t),setTimeout(()=>{this.applyKeyUp(t),i()},200)})}onKeyChange(t,i){t=t||window.event;let n=rQ[t.keyCode];if(n&&this.boundKeys[n]){if(this.keyState[n]==null&&(this.keyState[n]={count:0,isDown:!0}),this.keyState[n].isDown=i,!i){this.keyState[n].count=0;let{keyUp:s}=this.boundKeys[n].options;s&&s(this.boundKeys[n])}this.lastKeyPressed=i?t.keyCode:null}n&&this.updateDirectionState(n,i)}updateDirectionState(t,i){switch(t){case"up":this.directionState.up=i;break;case"down":this.directionState.down=i;break;case"left":this.directionState.left=i;break;case"right":this.directionState.right=i;break}}getDirection(){let{up:t,down:i,left:n,right:s}=this.directionState;return t&&n?"up_left":t&&s?"up_right":i&&n?"down_left":i&&s?"down_right":t?"up":i?"down":n?"left":s?"right":"none"}getControl(t){return this.boundKeys[t]}getControls(){return this.boundKeys}async applyControl(t,i){let n=this._controlsOptions[t];if(n){let s=Array.isArray(n.bind)?n.bind[0]:n.bind;i===void 0?await this.applyKeyPress(s):i?this.applyKeyDown(s):this.applyKeyUp(s)}}stopInputs(){this.stop=!0}listenInputs(){this.stop=!1,this.keyState={}}setInputs(t){if(!t)return;this.boundKeys={};let i={};for(let n in t){let s=t[n],{bind:o}=s,a=o;Array.isArray(a)||(a=[o]);for(let l of a)this.bindKey(l,n,s)}this._controlsOptions=t}get options(){return this._controlsOptions}};Lt("controls",Jy);var Zy=class extends It{constructor(){super(...arguments);this.fps=60;this.deltaTime=0;this.frame=0;this.timestamp=0;this.requestedDelay=0;this.lastTimestamp=0;this._stop=!1}onInit(t){this.tick=t.propObservables?.tick}onDestroy(){}onMount(t){}onUpdate(t){}nextTick(t){this.lastTimestamp=this.lastTimestamp||this.timestamp,this.deltaTime=Kn()-this.timestamp,this.timestamp=t,this.tick.set({timestamp:this.timestamp,deltaTime:this.deltaTime,frame:this.frame,deltaRatio:~~this.deltaTime/~~zn(this.fps)}),this.lastTimestamp=this.timestamp,this.frame++}start(t={}){t.maxFps&&(this.maxFps=t.maxFps),t.fps&&(this.fps=t.fps),t.delay&&(this.requestedDelay=t.delay);let i=n=>{Vy()?window.requestAnimationFrame(n.bind(this)):setTimeout(()=>{this.requestedDelay=0,n(Kn())},zn(this.fps)+this.requestedDelay)};if(this.maxFps){let n=zn(this.maxFps),s=Kn(),o=Kn(),a=l=>{if(this._stop)return;i(a),s=Kn();let c=s-o;c>n&&(o=s-c%n,this.nextTick(l))};i(a)}else{let n=s=>{i(n),this.nextTick(s)};i(n)}return this}stop(){this._stop=!0}};Lt("tick",Zy);var iQ=St(cn(),1),nQ=St(cn(),1),vr=St(cn(),1);var nZ=Object.defineProperty,it=(r,e)=>nZ(r,"name",{value:e,configurable:!0}),mo,nu=(mo=class extends iQ.BehaviorSubject{constructor(t=[]){super({type:"init",items:t});Sm(this,"_items",[]);this.createProxy(t)}createProxy(t){this._items=new Proxy(t,{get:it((i,n,s)=>{let o=i[n];return typeof o=="function"?(...a)=>{let l="update",c,u=!1,A=[],h=!0;switch(n){case"push":c=i.length,l="add",u=!0;break;case"pop":c=i.length-1,l="remove",u=!0;break;case"unshift":c=0,l="add",u=!0;break;case"shift":c=0,l="remove",u=!0;break;case"splice":c=a[0];let f=a[1],g=a.slice(2);A=g,f>0&&g.length===0?l="remove":f===0&&g.length>0?l="add":f===0&&g.length===0?h=!1:l="update",u=!0;break}let d=o.apply(i,a);return u&&h&&(n==="splice"?this.next({type:l,index:c,items:A}):this.next({type:l,index:c,items:a})),d}:Reflect.get(i,n,s)},"get"),set:it((i,n,s)=>{let o=isNaN(Number(n))?void 0:Number(n);return i[n]=s,this.next({type:"update",index:o,items:[s]}),!0},"set")})}get items(){return this._items}set items(t){this.createProxy(t),this.next({type:"reset",items:t})}},it(mo,"ArraySubject"),mo),sZ=it(r=>"_items"in r,"isArraySubject"),yo,su=(yo=class extends nQ.BehaviorSubject{constructor(t={}){super({type:"init",value:t});Sm(this,"_obj");this.createProxy(t)}createProxy(t){this._obj=new Proxy(t,{get:it((i,n,s)=>Reflect.get(i,n,s),"get"),set:it((i,n,s,o)=>{let a=n,l=a in i?"update":"add";return i[a]=s,this.next({type:l,key:a,value:s}),!0},"set"),deleteProperty:it((i,n)=>{let s=n;if(s in i){let o=i[s];return delete i[s],this.next({type:"remove",key:s,value:o}),!0}return!1},"deleteProperty")})}get obj(){return this._obj}set obj(t){this.createProxy(t),this.next({type:"reset",value:t})}},it(yo,"ObjectSubject"),yo),oZ=it(r=>"_obj"in r,"isObjectSubject"),aZ=it(()=>{let r="__REACTIVE_STORE__";if(typeof globalThis<"u")return globalThis[r]||(globalThis[r]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),globalThis[r];let e;if(typeof window<"u")e=window;else if(typeof process<"u"&&process.versions&&process.versions.node)e=Function("return this")();else if(typeof self<"u")e=self;else return console.warn("Unable to find global object, using local instance"),{currentDependencyTracker:null,currentSubscriptionsTracker:null};return e[r]||(e[r]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),e[r]},"getGlobalReactiveStore"),go=aZ(),sQ=it(r=>{go.currentDependencyTracker&&go.currentDependencyTracker(r)},"trackDependency");function xe(r){let e;Array.isArray(r)?e=new nu(r):typeof r=="object"&&r!==null?e=new su(r):e=new vr.BehaviorSubject(r);let t=it(()=>e instanceof nu?e.items:e instanceof su?e.obj:e.value,"getValue"),i=it(function(){return sQ(i),t()},"fn");return i.set=n=>{e instanceof nu?e.items=n:e instanceof su?e.obj=n:e.next(n)},i._isFrozen=!1,i.freeze=()=>{i._isFrozen=!0},i.unfreeze=()=>{i._isFrozen=!1,e instanceof nu?e.next({type:"init",items:e.items}):e instanceof su?e.next({type:"init",value:e.obj}):e.next(e.value)},i.mutate=n=>{let s=t();n(s)},i.update=n=>{let s=n(t());i.set(s)},i.observable=e.asObservable().pipe((0,vr.filter)(()=>!i._isFrozen)),i._subject=e,i}it(xe,"signal");function ke(r){return!!(r&&r.observable)}it(ke,"isSignal");function Eo(r){return ke(r)&&!!r.dependencies}it(Eo,"isComputed");function ou(r,e){let t=new Set,i=!0,n,s=go.currentDependencyTracker;go.currentDependencyTracker=l=>{t.add(l)},n=r(),r.isEffect&&(e=n),go.currentDependencyTracker=s;let o=(0,vr.combineLatest)([...t].map(l=>l.observable)).pipe((0,vr.filter)(()=>!i),(0,vr.map)(()=>r()),(0,vr.finalize)(()=>e?.())),a=it(function(){return sQ(a),n},"fn");return a.observable=o,a.subscription=o.subscribe(l=>{n=l}),a.dependencies=t,go.currentSubscriptionsTracker?.(a.subscription),i=!1,a}it(ou,"computed");function Ye(r){return r.isEffect=!0,ou(r)}it(Ye,"effect");var nt=St(cn(),1);var $y={},_o=r=>r&&typeof r=="object"&&"tag"in r&&"props"in r&&"componentInstance"in r,Ef=r=>typeof r=="string"||typeof r=="number"||typeof r=="boolean"||r===null||r===void 0;function Ne(r,e){$y[r]=e}function au(r){if(Array.isArray(r)){r.forEach(e=>au(e));return}if(r){if(r.props?.children)for(let e of r.props.children)au(e);for(let e in r.directives)r.directives[e].onDestroy?.(r);r.componentInstance&&r.componentInstance.onDestroy?r.componentInstance.onDestroy(r.parent,()=>{r.propSubscriptions?.forEach(e=>e.unsubscribe()),r.effectSubscriptions?.forEach(e=>e.unsubscribe()),r.effectUnmounts?.forEach(e=>e?.())}):(r.propSubscriptions?.forEach(e=>e.unsubscribe()),r.effectSubscriptions?.forEach(e=>e.unsubscribe()),r.effectUnmounts?.forEach(e=>e?.()))}}function He(r,e){if(!$y[r])throw new Error(`Component ${r} is not registered`);let t=new $y[r],i={tag:r,props:{},componentInstance:t,propSubscriptions:[],propObservables:e,parent:null,directives:{},effectUnmounts:[],effectSubscriptions:[],effectMounts:[],destroy(){au(this)},allElements:new nt.Subject};if(e){let l=(c,u="")=>{let A=(h,d,f)=>{if(h==""){i.props[d]=f;return}mf(i.props,h+"."+d,f)};Object.entries(c).forEach(([h,d])=>{if(ke(d)){let f=d;if("dependencies"in f&&f.dependencies.size==0){A(u,h,f());return}i.propSubscriptions.push(f.observable.subscribe(g=>{A(u,h,g),i.directives[h]&&i.directives[h].onUpdate?.(g,i),h!="tick"&&t.onUpdate?.(u==""?{[h]:g}:mf({},u+"."+h,g))}))}else Ky(d)&&h!="context"&&!_o(d)?l(d,(u?u+".":"")+h):A(u,h,d)})};l(e)}t.onInit?.(i.props);let n=new nt.Subject;if(e?.isRoot&&(i.allElements=n,i.props.context.rootElement=i,i.componentInstance.onMount?.(i),o(i)),e)for(let l in e){let c=bB(i,l);c&&(i.directives[l]=c)}function s(l,c,u){c.props.context=l.props.context,c.parent=l,c.componentInstance.onMount?.(c,u);for(let A in c.directives)c.directives[A].onMount?.(c);c.effectMounts.forEach(A=>{c.effectUnmounts.push(A(c))})}async function o(l){if(l.props.attach&&(ke(l.propObservables?.attach)?await new Promise(u=>{let A=null;l.propSubscriptions.push(l.propObservables.attach.observable.subscribe(async h=>{let d=h?.value??h;if(!d)throw new Error(`attach in ${l.tag} is undefined or null, add a component`);A&&au(A),A=d,await a(l,d),u(void 0)}))}):l.props.children.push(l.props.attach)),!!l.props.children)for(let c of l.props.children)c&&await a(l,c)}async function a(l,c){tu(c)&&(c=await c),c instanceof nt.Observable?c.subscribe(({elements:u,prev:A})=>{let h=u.filter(d=>d!==null);if(A){h.forEach(d=>{let f=l.props.children.indexOf(A.props.key);s(l,d,f+1),o(d)});return}h.forEach(d=>{Array.isArray(d)?d.forEach(f=>{s(l,f),o(f)}):(s(l,d),o(d))}),n.next(void 0)}):(s(l,c),await o(c))}return i}function uZ(r,e){return Eo(r)&&r.dependencies.size==0?r=xe(r()):ke(r)||(r=xe(r)),(0,nt.defer)(()=>{let t=[],i=new Map,n=!0,s=o=>Array.isArray(o());return new nt.Observable(o=>s(r)?r.observable.subscribe(l=>{if(n){n=!1,t.forEach(u=>u.destroy()),t=[],i.clear();let c=r();c&&c.forEach((u,A)=>{let h=e(u,A);h&&(t.push(h),i.set(A,h))}),o.next({elements:[...t]});return}if(l.type==="init"||l.type==="reset"){t.forEach(u=>u.destroy()),t=[],i.clear();let c=r();c&&c.forEach((u,A)=>{let h=e(u,A);h&&(t.push(h),i.set(A,h))})}else if(l.type==="add"&&l.index!==void 0){let c=l.items.map((u,A)=>{let h=e(u,l.index+A);return h&&i.set(l.index+A,h),h}).filter(u=>u!==null);t.splice(l.index,0,...c)}else if(l.type==="remove"&&l.index!==void 0)t.splice(l.index,1).forEach(u=>{u.destroy(),i.delete(l.index)});else if(l.type==="update"&&l.index!==void 0&&l.items.length===1){let c=l.index,u=l.items[0];if(c>=t.length||t[c]===void 0||!i.has(c)){let A=e(u,c);A?(t.splice(c,0,A),i.set(c,A)):console.warn(`Element creation returned null for index ${c} during add-like update.`)}else{t[c].destroy();let h=e(u,c);h?(t[c]=h,i.set(c,h)):(t.splice(c,1),i.delete(c))}}o.next({elements:[...t]})}):r.observable.subscribe(l=>{let c=l.key;if(n){n=!1,t.forEach(A=>A.destroy()),t=[],i.clear();let u=r();u&&Object.entries(u).forEach(([A,h])=>{let d=e(h,A);d&&(t.push(d),i.set(A,d))}),o.next({elements:[...t]});return}if(l.type==="init"||l.type==="reset"){t.forEach(A=>A.destroy()),t=[],i.clear();let u=r();u&&Object.entries(u).forEach(([A,h])=>{let d=e(h,A);d&&(t.push(d),i.set(A,d))})}else if(l.type==="add"&&l.key&&l.value!==void 0){let u=e(l.value,c);u&&(t.push(u),i.set(c,u))}else if(l.type==="remove"&&l.key){let u=t.findIndex(A=>i.get(c)===A);if(u!==-1){let[A]=t.splice(u,1);A.destroy(),i.delete(c)}}else if(l.type==="update"&&l.key&&l.value!==void 0){let u=t.findIndex(A=>i.get(c)===A);if(u!==-1){t[u].destroy();let h=e(l.value,c);h&&(t[u]=h,i.set(c,h))}}o.next({elements:[...t]})}))})}function lZ(r,e){let t=null;if(ke(r)){let i=r;return new nt.Observable(n=>i.observable.subscribe(s=>{if(s){let o=e();tu(o)?(0,nt.from)(o).subscribe(a=>{t=a,n.next({type:"init",elements:[a]})}):(t=o,n.next({type:"init",elements:[t]}))}else t?(au(t),n.next({elements:[]})):n.next({elements:[]})})).pipe((0,nt.share)())}else{if(r){let i=e();return tu(i)?(0,nt.from)(i).pipe((0,nt.map)(n=>({type:"init",elements:[n]}))):(0,nt.of)({type:"init",elements:[i]})}return(0,nt.of)({elements:[]})}}var ft=(r,e={})=>{if(ke(r))return r();let t={};for(let i in r){let n=r[i];t[i]=Ef(n)?xe(n):n}for(let i in e)i in t||(t[i]=Ef(e[i])?xe(e[i]):e[i]);return t},_f=r=>e=>{let t=ke(r)?r():r,i={};for(let n in e){let s=e[n],o=t[n],a;if(typeof s=="function")eE(n,o,[s]),a=o;else if(Array.isArray(s))eE(n,o,s),a=o;else if(s&&typeof s=="object"){if(s.required&&o===void 0)throw new Error(`Missing required prop: ${n}`);if(s.type){let l=Array.isArray(s.type)?s.type:[s.type];eE(n,o,l)}if(s.validator&&!s.validator(o,t))throw new Error(`Invalid prop: custom validation failed for prop "${n}"`);o===void 0&&"default"in s?a=typeof s.default=="function"?s.default(t):s.default:a=o}i[n]=ke(a)?a:xe(a)}return{...ft(t),...i}};function eE(r,e,t){if(e==null)return;let i=ke(e)?e():e;if(!t.some(s=>s===Number?typeof i=="number":s===String?typeof i=="string":s===Boolean?typeof i=="boolean":s===Function?typeof i=="function":s===Object?typeof i=="object":s===Array?Array.isArray(i):s===null?i===null:i instanceof s))throw new Error(`Invalid prop: type check failed for prop "${r}". Expected ${t.map(s=>s.name).join(" or ")}`)}var tE=class extends It{onInit(e){}onMount(e){this.onUpdate(e.props.viewportFollow,e)}onUpdate(e,t){let{viewport:i}=t.props.context;if(!i)throw iu("ViewportFollow directive requires a Viewport component to be mounted in the same context");if(e)if(e===!0)i.follow(t.componentInstance);else{let n=ft(e,{speed:void 0,acceleration:void 0,radius:void 0});i.follow(t.componentInstance,{speed:n.speed(),acceleration:n.acceleration(),radius:n.radius()})}else e===null&&i.plugins.remove("follow")}onDestroy(e){let{viewportFollow:t}=e.props,{viewport:i}=e.props.context;t&&i.plugins.remove("follow")}};Lt("viewportFollow",tE);var aQ=St(uu(),1);var oQ=["load","loaderror","playerror","play","end","pause","stop","mute","volume","rate","seek","fade","unlock"],rE=class extends It{constructor(){super(...arguments);this.sounds=[];this.eventsFn=[];this.maxVolume=1;this.maxDistance=100}onInit(t){}onMount(t){let{props:i}=t,n=i.context.tick,s=i.sound.value??i.sound;if(!s.src)return;let{src:o,autoplay:a,loop:l,volume:c,spatial:u}=s,A=Array.isArray(o)?o:[o];for(let h of A){if(!h)continue;let d=new aQ.Howl({src:h,autoplay:a,loop:l,volume:c});for(let f of oQ){if(!s[f])continue;let g=s[f];this.eventsFn.push(g),d.on(f,g)}this.sounds.push(d)}if(u&&this.sounds.length>0){let{soundListenerPosition:h}=i.context;if(!h)throw new iu("SoundListenerPosition directive is required for spatial sound in component parent");let{x:d,y:f}=h;this.tickSubscription=Ye(()=>{n();let{x:g,y:p}=t.componentInstance,I=Xy(g,p,d(),f()),x=Math.max(this.maxVolume-I/this.maxDistance,0);this.sounds.forEach(B=>B.volume(x))}).subscription}this.onUpdate(s)}onUpdate(t){let i=t.value??t,{volume:n,loop:s,mute:o,seek:a,playing:l,rate:c,spatial:u}=i;this.sounds.forEach(A=>{n!==void 0&&A.volume(n),s!==void 0&&A.loop(s),o!==void 0&&A.mute(o),a!==void 0&&A.seek(a),l!==void 0&&(l?A.play():A.pause()),c!==void 0&&A.rate(c)}),u&&(this.maxVolume=u.maxVolume??this.maxVolume,this.maxDistance=u.maxDistance??this.maxDistance)}onDestroy(){this.sounds.forEach(t=>{t.stop();for(let i of oQ){let n=this.eventsFn.find(s=>s===this.eventsFn[i]);n&&t.off(i,n)}}),this.sounds=[],this.eventsFn=[],this.tickSubscription?.unsubscribe()}},iE=class extends It{onMount(e){e.props.context.soundListenerPosition=e.propObservables?.soundListenerPosition}onInit(e){}onUpdate(e){}onDestroy(){}};Lt("sound",rE);Lt("soundListenerPosition",iE);Re();function Dg(r,e){var t={};for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&e.indexOf(i)<0&&(t[i]=r[i]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(r);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(r,i[n])&&(t[i[n]]=r[i[n]]);return t}var Rg=function(){},_a=function(){};var lc=(r,e,t)=>Math.min(Math.max(t,r),e);var zv=.001,Q$=.01,FG=10,S$=.05,T$=1;function kG({duration:r=800,bounce:e=.25,velocity:t=0,mass:i=1}){let n,s;Rg(r<=FG*1e3,"Spring duration must be 10 seconds or less");let o=1-e;o=lc(S$,T$,o),r=lc(Q$,FG,r/1e3),o<1?(n=c=>{let u=c*o,A=u*r,h=u-t,d=Fg(c,o),f=Math.exp(-A);return zv-h/d*f},s=c=>{let A=c*o*r,h=A*t+t,d=Math.pow(o,2)*Math.pow(c,2)*r,f=Math.exp(-A),g=Fg(Math.pow(c,2),o);return(-n(c)+zv>0?-1:1)*((h-d)*f)/g}):(n=c=>{let u=Math.exp(-c*r),A=(c-t)*r+1;return-zv+u*A},s=c=>{let u=Math.exp(-c*r),A=(t-c)*(r*r);return u*A});let a=5/r,l=P$(n,s,a);if(r=r*1e3,isNaN(l))return{stiffness:100,damping:10,duration:r};{let c=Math.pow(l,2)*i;return{stiffness:c,damping:o*2*Math.sqrt(i*c),duration:r}}}var M$=12;function P$(r,e,t){let i=t;for(let n=1;n<M$;n++)i=i-r(i)/e(i);return i}function Fg(r,e){return r*Math.sqrt(1-e*e)}var D$=["duration","bounce"],R$=["stiffness","damping","mass"];function OG(r,e){return e.some(t=>r[t]!==void 0)}function F$(r){let e=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},r);if(!OG(r,R$)&&OG(r,D$)){let t=kG(r);e=Object.assign(Object.assign(Object.assign({},e),t),{velocity:0,mass:1}),e.isResolvedFromDuration=!0}return e}function kg(r){var{from:e=0,to:t=1,restSpeed:i=2,restDelta:n}=r,s=Dg(r,["from","to","restSpeed","restDelta"]);let o={done:!1,value:e},{stiffness:a,damping:l,mass:c,velocity:u,duration:A,isResolvedFromDuration:h}=F$(s),d=GG,f=GG;function g(){let p=u?-(u/1e3):0,I=t-e,x=l/(2*Math.sqrt(a*c)),B=Math.sqrt(a/c)/1e3;if(n===void 0&&(n=Math.min(Math.abs(t-e)/100,.4)),x<1){let w=Fg(B,x);d=D=>{let T=Math.exp(-x*B*D);return t-T*((p+x*B*I)/w*Math.sin(w*D)+I*Math.cos(w*D))},f=D=>{let T=Math.exp(-x*B*D);return x*B*T*(Math.sin(w*D)*(p+x*B*I)/w+I*Math.cos(w*D))-T*(Math.cos(w*D)*(p+x*B*I)-w*I*Math.sin(w*D))}}else if(x===1)d=w=>t-Math.exp(-B*w)*(I+(p+B*I)*w);else{let w=B*Math.sqrt(x*x-1);d=D=>{let T=Math.exp(-x*B*D),R=Math.min(w*D,300);return t-T*((p+x*B*I)*Math.sinh(R)+w*I*Math.cosh(R))/w}}}return g(),{next:p=>{let I=d(p);if(h)o.done=p>=A;else{let x=f(p)*1e3,B=Math.abs(x)<=i,w=Math.abs(t-I)<=n;o.done=B&&w}return o.value=o.done?t:I,o},flipTarget:()=>{u=-u,[e,t]=[t,e],g()}}}kg.needsInterpolation=(r,e)=>typeof r=="string"||typeof e=="string";var GG=r=>0;var Xv=(r,e,t)=>{let i=e-r;return i===0?1:(t-r)/i};var Ia=(r,e,t)=>-t*r+t*e+r;var Og=(r,e)=>t=>Math.max(Math.min(t,e),r),Tn=r=>r%1?Number(r.toFixed(5)):r,va=/(-)?([\d]*\.?[\d])+/g,Gg=/(#[0-9a-f]{6}|#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))/gi,UG=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Pi(r){return typeof r=="string"}var xa={test:r=>typeof r=="number",parse:parseFloat,transform:r=>r},Ug=Object.assign(Object.assign({},xa),{transform:Og(0,1)}),aFe=Object.assign(Object.assign({},xa),{default:1});var cc=r=>({test:e=>Pi(e)&&e.endsWith(r)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${r}`}),cFe=cc("deg"),Ba=cc("%"),AFe=cc("px"),hFe=cc("vh"),dFe=cc("vw"),fFe=Object.assign(Object.assign({},Ba),{parse:r=>Ba.parse(r)/100,transform:r=>Ba.transform(r*100)});var Ca=(r,e)=>t=>!!(Pi(t)&&UG.test(t)&&t.startsWith(r)||e&&Object.prototype.hasOwnProperty.call(t,e)),Lg=(r,e,t)=>i=>{if(!Pi(i))return i;let[n,s,o,a]=i.match(va);return{[r]:parseFloat(n),[e]:parseFloat(s),[t]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}};var ei={test:Ca("hsl","hue"),parse:Lg("hue","saturation","lightness"),transform:({hue:r,saturation:e,lightness:t,alpha:i=1})=>"hsla("+Math.round(r)+", "+Ba.transform(Tn(e))+", "+Ba.transform(Tn(t))+", "+Tn(Ug.transform(i))+")"};var k$=Og(0,255),Ng=Object.assign(Object.assign({},xa),{transform:r=>Math.round(k$(r))}),hr={test:Ca("rgb","red"),parse:Lg("red","green","blue"),transform:({red:r,green:e,blue:t,alpha:i=1})=>"rgba("+Ng.transform(r)+", "+Ng.transform(e)+", "+Ng.transform(t)+", "+Tn(Ug.transform(i))+")"};function O$(r){let e="",t="",i="",n="";return r.length>5?(e=r.substr(1,2),t=r.substr(3,2),i=r.substr(5,2),n=r.substr(7,2)):(e=r.substr(1,1),t=r.substr(2,1),i=r.substr(3,1),n=r.substr(4,1),e+=e,t+=t,i+=i,n+=n),{red:parseInt(e,16),green:parseInt(t,16),blue:parseInt(i,16),alpha:n?parseInt(n,16)/255:1}}var ba={test:Ca("#"),parse:O$,transform:hr.transform};var Mn={test:r=>hr.test(r)||ba.test(r)||ei.test(r),parse:r=>hr.test(r)?hr.parse(r):ei.test(r)?ei.parse(r):ba.parse(r),transform:r=>Pi(r)?r:r.hasOwnProperty("red")?hr.transform(r):ei.transform(r)};var LG="${c}",NG="${n}";function G$(r){var e,t,i,n;return isNaN(r)&&Pi(r)&&((t=(e=r.match(va))===null||e===void 0?void 0:e.length)!==null&&t!==void 0?t:0)+((n=(i=r.match(Gg))===null||i===void 0?void 0:i.length)!==null&&n!==void 0?n:0)>0}function HG(r){typeof r=="number"&&(r=`${r}`);let e=[],t=0,i=r.match(Gg);i&&(t=i.length,r=r.replace(Gg,LG),e.push(...i.map(Mn.parse)));let n=r.match(va);return n&&(r=r.replace(va,NG),e.push(...n.map(xa.parse))),{values:e,numColors:t,tokenised:r}}function WG(r){return HG(r).values}function qG(r){let{values:e,numColors:t,tokenised:i}=HG(r),n=e.length;return s=>{let o=i;for(let a=0;a<n;a++)o=o.replace(a<t?LG:NG,a<t?Mn.transform(s[a]):Tn(s[a]));return o}}var U$=r=>typeof r=="number"?0:r;function L$(r){let e=WG(r);return qG(r)(e.map(U$))}var Hg={test:G$,parse:WG,createTransformer:qG,getAnimatableNone:L$};function Jv(r,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?r+(e-r)*6*t:t<1/2?e:t<2/3?r+(e-r)*(2/3-t)*6:r}function Zv({hue:r,saturation:e,lightness:t,alpha:i}){r/=360,e/=100,t/=100;let n=0,s=0,o=0;if(!e)n=s=o=t;else{let a=t<.5?t*(1+e):t+e-t*e,l=2*t-a;n=Jv(l,a,r+1/3),s=Jv(l,a,r),o=Jv(l,a,r-1/3)}return{red:Math.round(n*255),green:Math.round(s*255),blue:Math.round(o*255),alpha:i}}var N$=(r,e,t)=>{let i=r*r,n=e*e;return Math.sqrt(Math.max(0,t*(n-i)+i))},H$=[ba,hr,ei],jG=r=>H$.find(e=>e.test(r)),VG=r=>`'${r}' is not an animatable color. Use the equivalent color code instead.`,Wg=(r,e)=>{let t=jG(r),i=jG(e);_a(!!t,VG(r)),_a(!!i,VG(e));let n=t.parse(r),s=i.parse(e);t===ei&&(n=Zv(n),t=hr),i===ei&&(s=Zv(s),i=hr);let o=Object.assign({},n);return a=>{for(let l in o)l!=="alpha"&&(o[l]=N$(n[l],s[l],a));return o.alpha=Ia(n.alpha,s.alpha,a),t.transform(o)}};var YG=r=>typeof r=="number";var W$=(r,e)=>t=>e(r(t)),qg=(...r)=>r.reduce(W$);function zG(r,e){return YG(r)?t=>Ia(r,e,t):Mn.test(r)?Wg(r,e):ex(r,e)}var $v=(r,e)=>{let t=[...r],i=t.length,n=r.map((s,o)=>zG(s,e[o]));return s=>{for(let o=0;o<i;o++)t[o]=n[o](s);return t}},XG=(r,e)=>{let t=Object.assign(Object.assign({},r),e),i={};for(let n in t)r[n]!==void 0&&e[n]!==void 0&&(i[n]=zG(r[n],e[n]));return n=>{for(let s in i)t[s]=i[s](n);return t}};function KG(r){let e=Hg.parse(r),t=e.length,i=0,n=0,s=0;for(let o=0;o<t;o++)i||typeof e[o]=="number"?i++:e[o].hue!==void 0?s++:n++;return{parsed:e,numNumbers:i,numRGB:n,numHSL:s}}var ex=(r,e)=>{let t=Hg.createTransformer(e),i=KG(r),n=KG(e);return i.numHSL===n.numHSL&&i.numRGB===n.numRGB&&i.numNumbers>=n.numNumbers?qg($v(i.parsed,n.parsed),t):(Rg(!0,`Complex values '${r}' and '${e}' too different to mix. Ensure all colors are of the same type, and that each contains the same quantity of number and color values. Falling back to instant transition.`),o=>`${o>0?e:r}`)};var q$=(r,e)=>t=>Ia(r,e,t);function j$(r){if(typeof r=="number")return q$;if(typeof r=="string")return Mn.test(r)?Wg:ex;if(Array.isArray(r))return $v;if(typeof r=="object")return XG}function V$(r,e,t){let i=[],n=t||j$(r[0]),s=r.length-1;for(let o=0;o<s;o++){let a=n(r[o],r[o+1]);if(e){let l=Array.isArray(e)?e[o]:e;a=qg(l,a)}i.push(a)}return i}function Y$([r,e],[t]){return i=>t(Xv(r,e,i))}function K$(r,e){let t=r.length,i=t-1;return n=>{let s=0,o=!1;if(n<=r[0]?o=!0:n>=r[i]&&(s=i-1,o=!0),!o){let l=1;for(;l<t&&!(r[l]>n||l===i);l++);s=l-1}let a=Xv(r[s],r[s+1],n);return e[s](a)}}function jg(r,e,{clamp:t=!0,ease:i,mixer:n}={}){let s=r.length;_a(s===e.length,"Both input and output ranges must be the same length"),_a(!i||!Array.isArray(i)||i.length===s-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),r[0]>r[s-1]&&(r=[].concat(r),e=[].concat(e),r.reverse(),e.reverse());let o=V$(e,i,n),a=s===2?Y$(r,o):K$(r,o);return t?l=>a(lc(r[0],r[s-1],l)):a}var Ac=r=>e=>1-r(1-e),Vg=r=>e=>e<=.5?r(2*e)/2:(2-r(2*(1-e)))/2,JG=r=>e=>Math.pow(e,r),tx=r=>e=>e*e*((r+1)*e-r),ZG=r=>{let e=tx(r);return t=>(t*=2)<1?.5*e(t):.5*(2-Math.pow(2,-10*(t-1)))};var $G=1.525,z$=4/11,X$=8/11,J$=9/10,rx=r=>r,hc=JG(2),ix=Ac(hc),dc=Vg(hc),Yg=r=>1-Math.sin(Math.acos(r)),Kg=Ac(Yg),nx=Vg(Kg),fc=tx($G),sx=Ac(fc),ox=Vg(fc),ax=ZG($G),Z$=4356/361,$$=35442/1805,eee=16061/1805,wa=r=>{if(r===1||r===0)return r;let e=r*r;return r<z$?7.5625*e:r<X$?9.075*e-9.9*r+3.4:r<J$?Z$*e-$$*r+eee:10.8*r*r-20.52*r+10.72},ux=Ac(wa),lx=r=>r<.5?.5*(1-wa(1-r*2)):.5*wa(r*2-1)+.5;function tee(r,e){return r.map(()=>e||dc).splice(0,r.length-1)}function ree(r){let e=r.length;return r.map((t,i)=>i!==0?i/(e-1):0)}function iee(r,e){return r.map(t=>t*e)}function pc({from:r=0,to:e=1,ease:t,offset:i,duration:n=300}){let s={done:!1,value:r},o=Array.isArray(e)?e:[r,e],a=iee(i&&i.length===o.length?i:ree(o),n);function l(){return jg(a,o,{ease:Array.isArray(t)?t:tee(o,t)})}let c=l();return{next:u=>(s.value=c(u),s.done=u>=n,s),flipTarget:()=>{o.reverse(),c=l()}}}function e2({velocity:r=0,from:e=0,power:t=.8,timeConstant:i=350,restDelta:n=.5,modifyTarget:s}){let o={done:!1,value:e},a=t*r,l=e+a,c=s===void 0?l:s(l);return c!==l&&(a=c-e),{next:u=>{let A=-a*Math.exp(-u/i);return o.done=!(A>n||A<-n),o.value=o.done?c:c+A,o},flipTarget:()=>{}}}var t2={keyframes:pc,spring:kg,decay:e2};function r2(r){if(Array.isArray(r.to))return pc;if(t2[r.type])return t2[r.type];let e=new Set(Object.keys(r));return e.has("ease")||e.has("duration")&&!e.has("dampingRatio")?pc:e.has("dampingRatio")||e.has("stiffness")||e.has("mass")||e.has("damping")||e.has("restSpeed")||e.has("restDelta")?kg:pc}var cx=16.666666666666668,nee=typeof performance<"u"?()=>performance.now():()=>Date.now(),Ax=typeof window<"u"?r=>window.requestAnimationFrame(r):r=>setTimeout(()=>r(nee()),cx);function i2(r){let e=[],t=[],i=0,n=!1,s=!1,o=new WeakSet,a={schedule:(l,c=!1,u=!1)=>{let A=u&&n,h=A?e:t;return c&&o.add(l),h.indexOf(l)===-1&&(h.push(l),A&&n&&(i=e.length)),l},cancel:l=>{let c=t.indexOf(l);c!==-1&&t.splice(c,1),o.delete(l)},process:l=>{if(n){s=!0;return}if(n=!0,[e,t]=[t,e],t.length=0,i=e.length,i)for(let c=0;c<i;c++){let u=e[c];u(l),o.has(u)&&(a.schedule(u),r())}n=!1,s&&(s=!1,a.process(l))}};return a}var see=40,hx=!0,mc=!1,dx=!1,gc={delta:0,timestamp:0},yc=["read","update","preRender","render","postRender"],zg=yc.reduce((r,e)=>(r[e]=i2(()=>mc=!0),r),{}),oee=yc.reduce((r,e)=>{let t=zg[e];return r[e]=(i,n=!1,s=!1)=>(mc||uee(),t.schedule(i,n,s)),r},{}),n2=yc.reduce((r,e)=>(r[e]=zg[e].cancel,r),{}),Tke=yc.reduce((r,e)=>(r[e]=()=>zg[e].process(gc),r),{}),aee=r=>zg[r].process(gc),s2=r=>{mc=!1,gc.delta=hx?cx:Math.max(Math.min(r-gc.timestamp,see),1),gc.timestamp=r,dx=!0,yc.forEach(aee),dx=!1,mc&&(hx=!1,Ax(s2))},uee=()=>{mc=!0,hx=!0,dx||Ax(s2)};var o2=oee;function fx(r,e,t=0){return r-e-t}function a2(r,e,t=0,i=!0){return i?fx(e+-r,e,t):e-(r-e)+t}function u2(r,e,t,i){return i?r>=e+t:r<=-t}var lee=r=>{let e=({delta:t})=>r(t);return{start:()=>o2.update(e,!0),stop:()=>n2.update(e)}};function Ec(r){var e,t,{from:i,autoplay:n=!0,driver:s=lee,elapsed:o=0,repeat:a=0,repeatType:l="loop",repeatDelay:c=0,onPlay:u,onStop:A,onComplete:h,onRepeat:d,onUpdate:f}=r,g=Dg(r,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]);let{to:p}=g,I,x=0,B=g.duration,w,D=!1,T=!0,R,U=r2(g);!((t=(e=U).needsInterpolation)===null||t===void 0)&&t.call(e,i,p)&&(R=jg([0,100],[i,p],{clamp:!1}),i=0,p=100);let Z=U(Object.assign(Object.assign({},g),{from:i,to:p}));function Y(){x++,l==="reverse"?(T=x%2===0,o=a2(o,B,c,T)):(o=fx(o,B,c),l==="mirror"&&Z.flipTarget()),D=!1,d&&d()}function V(){I.stop(),h&&h()}function ne(Fe){if(T||(Fe=-Fe),o+=Fe,!D){let Ut=Z.next(Math.max(0,o));w=Ut.value,R&&(w=R(w)),D=T?Ut.done:o<=0}f?.(w),D&&(x===0&&(B??(B=o)),x<a?u2(o,B,c,T)&&Y():V())}function ae(){u?.(),I=s(ne),I.start()}return n&&ae(),{stop:()=>{A?.(),I.stop()}}}var px=r=>{if(typeof r=="number")return e=>Math.round(e/r)*r;{let e=0,t=r.length;return i=>{let n=Math.abs(r[0]-i);for(e=1;e<t;e++){let s=r[e],o=Math.abs(s-i);if(o===0)return s;if(o>n)return r[e-1];if(e===t-1)return s;n=o}}}};var l2=(r,e,t)=>{r.props.context={...r.props.context??{},[e]:t}};var gx=class extends It{constructor(){super(...arguments);this.elementRef=null}onInit(t){this.elementRef=t}onMount(t){l2(t,"drop",t)}onUpdate(){}onDestroy(){this.elementRef=null}},mx=class extends It{constructor(){super(...arguments);this.elementRef=null;this.stageRef=null;this.offsetInParent=new j;this.isDragging=!1;this.viewport=null;this.animationFrameId=null;this.lastPointerPosition=new j;this.pressedKeys=new Set;this.pointerIsDown=!1;this.onDragMoveHandler=()=>{};this.onDragEndHandler=()=>{};this.onDragStartHandler=()=>{};this.onKeyDownHandler=()=>{};this.onKeyUpHandler=()=>{};this.subscriptions=[]}onInit(t){this.elementRef=t,this.onDragMoveHandler=this.onDragMove.bind(this),this.onDragEndHandler=this.onDragEnd.bind(this),this.onDragStartHandler=this.onPointerDown.bind(this),this.onKeyDownHandler=this.onKeyDown.bind(this),this.onKeyUpHandler=this.onKeyUp.bind(this)}onMount(t){let{rootElement:i,canvasSize:n,viewport:s,tick:o}=t.props.context,a=t.componentInstance,l=this.dragProps;if(Object.keys(l).length===0){this.onDestroy();return}if(!a||(this.stageRef=i.componentInstance,!this.stageRef))return;this.viewport=s,a.eventMode="static",this.stageRef.eventMode="static";let u=Ye(()=>{this.stageRef&&(this.stageRef.hitArea=new ee(0,0,n().width,n().height))});a.on("pointerdown",this.onDragStartHandler),this.stageRef.on("pointerup",this.onDragEndHandler),this.stageRef.on("pointerupoutside",this.onDragEndHandler);let A=l.keyToPress?l.keyToPress:[];window.addEventListener("keydown",this.onKeyDownHandler),window.addEventListener("keyup",this.onKeyUpHandler),this.subscriptions=[o.observable.subscribe(()=>{this.isDragging&&this.viewport&&this.updateViewportPosition(this.lastPointerPosition)}),u.subscription]}get dragProps(){let t=this.elementRef?.props.drag,i=ft(t?.value??t,{snap:0,viewport:{},direction:"all",keyToPress:[]});return i.viewport=ft(i.viewport,{edgeThreshold:300,maxSpeed:40}),i}get axis(){let t=this.dragProps.direction(),i={x:!0,y:!0};return t==="x"&&(i.y=!1),t==="y"&&(i.x=!1),i}onDragMove(t){if(!this.isDragging||!this.elementRef?.componentInstance||!this.elementRef.componentInstance.parent)return;let i=this.elementRef.componentInstance,n=i.parent,s=this.dragProps,o=this.elementRef.propObservables,a=px(s?.snap()??0);s?.move?.(t);let l=n.toLocal(t.global),c=l.x-this.offsetInParent.x,u=l.y-this.offsetInParent.y;s?.snap()?(i.position.x=a(c),i.position.y=a(u)):(this.axis.x&&(i.position.x=c),this.axis.y&&(i.position.y=u)),this.lastPointerPosition.copyFrom(t.global);let{x:A,y:h}=o,d=(f,g)=>{Eo(f)?f.dependencies.forEach(p=>{p.set(g)}):ke(f)&&f.set(g)};A!==void 0&&d(A,i.position.x),h!==void 0&&d(h,i.position.y)}updateViewportPosition(t){if(!this.viewport||!this.elementRef)return;let i=this.dragProps,n=i?.viewport?.edgeThreshold(),s=i?.viewport?.maxSpeed(),o=0,a=this.viewport.screenWidth,l=0,c=this.viewport.screenHeight,u=this.elementRef.componentInstance,A=t.x-o,h=a-t.x,d=t.y-l,f=c-t.y,g=0,p=0;if(A<n?g=-(s*(1-A/n)):h<n&&(g=s*(1-h/n)),d<n?p=-(s*(1-d/n)):f<n&&(p=s*(1-f/n)),g!==0||p!==0){let I=this.viewport.center;this.viewport.moveCenter(this.viewport.center.x+g,this.viewport.center.y+p),this.axis.x&&I.x!==this.viewport.center.x&&(u.position.x+=g),this.axis.y&&I.y!==this.viewport.center.y&&(u.position.y+=p)}}onDragEnd(){if(this.pointerIsDown=!1,!this.isDragging)return;let t=this.dragProps;this.isDragging=!1,t?.end?.(),this.stageRef&&this.stageRef.off("pointermove",this.onDragMoveHandler)}onKeyDown(t){this.pressedKeys.add(t.code),this.pressedKeys.add(t.key.toLowerCase()),this.pointerIsDown&&!this.isDragging&&this.areRequiredKeysPressed()&&this.startDrag()}onKeyUp(t){this.pressedKeys.delete(t.code),this.pressedKeys.delete(t.key.toLowerCase()),this.isDragging&&!this.areRequiredKeysPressed()&&this.onDragEnd()}areRequiredKeysPressed(){let t=this.dragProps.keyToPress?this.dragProps.keyToPress:[];return!t||t.length===0?!0:t.some(i=>this.pressedKeys.has(i)?!0:i.toLowerCase()==="space"?this.pressedKeys.has("Space")||this.pressedKeys.has(" "):i.toLowerCase()==="shift"?this.pressedKeys.has("ShiftLeft")||this.pressedKeys.has("ShiftRight"):i.toLowerCase()==="control"||i.toLowerCase()==="ctrl"?this.pressedKeys.has("ControlLeft")||this.pressedKeys.has("ControlRight"):i.toLowerCase()==="alt"?this.pressedKeys.has("AltLeft")||this.pressedKeys.has("AltRight"):!1)}onPointerDown(t){if(!this.elementRef?.componentInstance||!this.stageRef||!this.elementRef.componentInstance.parent)return;this.pointerIsDown=!0;let i=this.elementRef.componentInstance,s=i.parent.toLocal(t.global);this.offsetInParent.x=s.x-i.position.x,this.offsetInParent.y=s.y-i.position.y,this.lastPointerPosition.copyFrom(t.global),this.areRequiredKeysPressed()&&this.startDrag()}startDrag(){if(this.isDragging||!this.stageRef)return;this.isDragging=!0,this.dragProps?.start?.(),this.stageRef.on("pointermove",this.onDragMoveHandler)}onUpdate(t){t.type&&t.type==="reset"&&(this.onDestroy(),this.onMount(this.elementRef))}onDestroy(){this.subscriptions.forEach(i=>i.unsubscribe());let t=this.elementRef?.componentInstance;t&&t.off("pointerdown",this.onDragStartHandler),this.stageRef&&(this.stageRef.off("pointermove",this.onDragMoveHandler),this.stageRef.off("pointerup",this.onDragEndHandler),this.stageRef.off("pointerupoutside",this.onDragEndHandler)),window.removeEventListener("keydown",this.onKeyDownHandler),window.removeEventListener("keyup",this.onKeyUpHandler),this.stageRef=null,this.viewport=null,this.pressedKeys.clear(),this.pointerIsDown=!1}};Lt("drag",mx);Lt("drop",gx);Re();var yx=class extends It{onInit(e){}onMount(e){let{image:t}=e.props.transition,i=new mt(F.from(t));i.texture.baseTexture.wrapMode=Kv.REPEAT;let n=new nc(i),s=e.componentInstance;s.filters=[n],s.addChild(i),setTimeout(()=>{Ec({from:0,to:1,duration:500,onUpdate:o=>{n.scale.x=o,n.scale.y=o}})},5e3)}onUpdate(e){}onDestroy(){}};Lt("transition",yx);var hU=St(uu(),1);Re();Re();function Qa(r){return r&&typeof r=="string"?r.endsWith("%"):!1}var c2=St(cn(),1);var A2=["added","childAdded","childRemoved","click","clickcapture","destroyed","globalmousemove","globalpointermove","globaltouchmove","mousedown","mousedowncapture","mouseenter","mouseentercapture","mouseleave","mouseleavecapture","mousemove","mousemovecapture","mouseout","mouseoutcapture","mouseover","mouseovercapture","mouseup","mouseupcapture","mouseupoutside","mouseupoutsidecapture","pointercancel","pointercancelcapture","pointerdown","pointerdowncapture","pointerenter","pointerentercapture","pointerleave","pointerleavecapture","pointermove","pointermovecapture","pointerout","pointeroutcapture","pointerover","pointerovercapture","pointertap","pointertapcapture","pointerup","pointerupcapture","pointerupoutside","pointerupoutsidecapture","removed","rightclick","rightclickcapture","rightdown","rightdowncapture","rightup","rightupcapture","rightupoutside","rightupoutsidecapture","tap","tapcapture","touchcancel","touchcancelcapture","touchend","touchendcapture","touchendoutside","touchendoutsidecapture","touchmove","touchmovecapture","touchstart","touchstartcapture","wheel","wheelcapture"];function et(r){var e,t;return t=class extends r{constructor(){super(...arguments);BB(this,e,null);this.isFlex=!1;this.fullProps={};this.isMounted=!1;this._anchorPoints=new Qe({_onUpdate:()=>{}},0,0);this.isCustomAnchor=!1;this.displayWidth=xe(0);this.displayHeight=xe(0);this.overrideProps=[];this.layout=null;this.onBeforeDestroy=null;this.onAfterMount=null;this.subjectInit=new c2.BehaviorSubject(null);this.disableLayout=!1}get deltaRatio(){return Tm(this,e)?.scheduler?.tick.value.deltaRatio}get parentIsFlex(){return this.disableLayout?!1:this.parent?.isFlex}onInit(s){this._id=s.id;for(let o of A2)s[o]&&!this.overrideProps.includes(o)&&(this.eventMode="static",this.on(o,s[o]));(s.onBeforeDestroy||s["on-before-destroy"])&&(this.onBeforeDestroy=s.onBeforeDestroy||s["on-before-destroy"]),(s.onAfterMount||s["on-after-mount"])&&(this.onAfterMount=s.onAfterMount||s["on-after-mount"]),(s.justifyContent||s.alignItems||s.flexDirection||s.flexWrap||s.alignContent||s.display=="flex"||Qa(s.width)||Qa(s.height)||s.isRoot)&&(this.layout={},this.isFlex=!0),this.subjectInit.next(this)}async onMount({parent:s,props:o},a){if(CB(this,e,o.context),s){let l=s.componentInstance;if(l.isFlex&&!this.layout&&!this.disableLayout)try{this.layout={}}catch(c){console.warn("Failed to set layout:",c)}a===void 0?l.addChild(this):l.addChildAt(this,a),this.isMounted=!0,this.onUpdate(o),this.onAfterMount&&await this.onAfterMount()}}onUpdate(s){if(this.fullProps={...this.fullProps,...s},!Tm(this,e)||!this.parent)return;s.x!==void 0&&this.setX(s.x),s.y!==void 0&&this.setY(s.y),s.scale!==void 0&&An(this.scale,s.scale),s.anchor!==void 0&&!this.isCustomAnchor&&An(this.anchor,s.anchor),s.width!==void 0&&this.setWidth(s.width),s.height!==void 0&&this.setHeight(s.height),s.minWidth!==void 0&&this.setMinWidth(s.minWidth),s.minHeight!==void 0&&this.setMinHeight(s.minHeight),s.maxWidth!==void 0&&this.setMaxWidth(s.maxWidth),s.maxHeight!==void 0&&this.setMaxHeight(s.maxHeight),s.aspectRatio!==void 0&&this.setAspectRatio(s.aspectRatio),s.flexGrow!==void 0&&this.setFlexGrow(s.flexGrow),s.flexShrink!==void 0&&this.setFlexShrink(s.flexShrink),s.flexBasis!==void 0&&this.setFlexBasis(s.flexBasis),s.rowGap!==void 0&&this.setRowGap(s.rowGap),s.columnGap!==void 0&&this.setColumnGap(s.columnGap),s.top!==void 0&&this.setTop(s.top),s.left!==void 0&&this.setLeft(s.left),s.right!==void 0&&this.setRight(s.right),s.bottom!==void 0&&this.setBottom(s.bottom),s.objectFit!==void 0&&this.setObjectFit(s.objectFit),s.objectPosition!==void 0&&this.setObjectPosition(s.objectPosition),s.transformOrigin!==void 0&&this.setTransformOrigin(s.transformOrigin),s.skew!==void 0&&An(this.skew,s.skew),s.tint&&(this.tint=s.tint),s.rotation!==void 0&&(this.rotation=s.rotation),s.angle!==void 0&&(this.angle=s.angle),s.zIndex!==void 0&&(this.zIndex=s.zIndex),s.roundPixels!==void 0&&(this.roundPixels=s.roundPixels),s.cursor&&(this.cursor=s.cursor),s.visible!==void 0&&(this.visible=s.visible),s.alpha!==void 0&&(this.alpha=s.alpha),s.pivot&&An(this.pivot,s.pivot),s.flexDirection&&this.setFlexDirection(s.flexDirection),s.flexWrap&&this.setFlexWrap(s.flexWrap),s.justifyContent&&this.setJustifyContent(s.justifyContent),s.alignItems&&this.setAlignItems(s.alignItems),s.alignContent&&this.setAlignContent(s.alignContent),s.alignSelf&&this.setAlignSelf(s.alignSelf),s.margin&&this.setMargin(s.margin),s.padding&&this.setPadding(s.padding),s.gap&&this.setGap(s.gap),s.border&&this.setBorder(s.border),s.positionType&&this.setPositionType(s.positionType),s.filters&&(this.filters=s.filters),s.maskOf&&_o(s.maskOf)&&(s.maskOf.componentInstance.mask=this),s.blendMode&&(this.blendMode=s.blendMode),s.filterArea&&(this.filterArea=s.filterArea);let o=this.filters||[];if(s.blur){let a=o.find(l=>l instanceof ys);if(!a){let l=typeof s.blur=="number"?{strength:s.blur}:s.blur;a=new ys(l),o.push(a)}Object.assign(a,s.blur)}this.filters=o}async onDestroy(s,o){this.onBeforeDestroy&&await this.onBeforeDestroy(),super.destroy(),o&&o()}setFlexDirection(s){this.layout={flexDirection:s}}setFlexWrap(s){this.layout={flexWrap:s}}setAlignContent(s){this.layout={alignContent:s}}setAlignSelf(s){this.layout={alignSelf:s}}setAlignItems(s){this.layout={alignItems:s}}setJustifyContent(s){this.layout={justifyContent:s}}setPosition(s){s instanceof Array?s.length===2?this.layout={positionY:s[0],positionX:s[1]}:s.length===4&&(this.layout={positionTop:s[0],positionRight:s[1],positionBottom:s[2],positionLeft:s[3]}):this.layout={position:s}}setX(s){s=s+this.getWidth()*this._anchorPoints.x,this.parentIsFlex?(this.x=s,this.layout={x:s}):this.x=s}setY(s){s=s+this.getHeight()*this._anchorPoints.y,this.parentIsFlex?(this.y=s,this.layout={y:s}):this.y=s}setPadding(s){s instanceof Array?s.length===2?this.layout={paddingVertical:s[0],paddingHorizontal:s[1]}:s.length===4&&(this.layout={paddingTop:s[0],paddingRight:s[1],paddingBottom:s[2],paddingLeft:s[3]}):this.layout={padding:s}}setMargin(s){s instanceof Array?s.length===2?this.layout={marginVertical:s[0],marginHorizontal:s[1]}:s.length===4&&(this.layout={marginTop:s[0],marginRight:s[1],marginBottom:s[2],marginLeft:s[3]}):this.layout={margin:s}}setGap(s){this.layout={gap:s}}setBorder(s){s instanceof Array?s.length===2?this.layout={borderVertical:s[0],borderHorizontal:s[1]}:s.length===4&&(this.layout={borderTop:s[0],borderRight:s[1],borderBottom:s[2],borderLeft:s[3]}):this.layout={border:s}}setPositionType(s){this.layout={position:s}}setWidth(s){this.displayWidth.set(s),this.parentIsFlex?this.layout={width:s}:this.width=s}setHeight(s){this.displayHeight.set(s),this.parentIsFlex?this.layout={height:s}:this.height=s}getWidth(){return this.displayWidth()}getHeight(){return this.displayHeight()}setMinWidth(s){this.layout={minWidth:s}}setMinHeight(s){this.layout={minHeight:s}}setMaxWidth(s){this.layout={maxWidth:s}}setMaxHeight(s){this.layout={maxHeight:s}}setAspectRatio(s){this.layout={aspectRatio:s}}setFlexGrow(s){this.layout={flexGrow:s}}setFlexShrink(s){this.layout={flexShrink:s}}setFlexBasis(s){this.layout={flexBasis:s}}setRowGap(s){this.layout={rowGap:s}}setColumnGap(s){this.layout={columnGap:s}}setTop(s){this.layout={top:s}}setLeft(s){this.layout={left:s}}setRight(s){this.layout={right:s}}setBottom(s){this.layout={bottom:s}}setObjectFit(s){this.layout={objectFit:s}}setObjectPosition(s){this.layout={objectPosition:s}}setTransformOrigin(s){this.layout={transformOrigin:s}}},e=new WeakMap,t}Ne("Canvas",class extends et(Ae){});var h2=async(r={})=>{let{cursorStyles:e,width:t,height:i,class:n}=ft(r);r.width||(t=xe(800)),r.height||(i=xe(600));let s=xe({width:0,height:0});r.isRoot=!0;let o={...r,context:{canvasSize:s,app:xe(null)},width:t?.(),height:i?.()};r.tick||(o.context.tick=o.tick=xe({timestamp:0,deltaTime:0,frame:0,deltaRatio:1}));let a=He("Canvas",o);return a.render=(l,c)=>{if(!c)return;let u=c.renderer,A=u.view.canvas;globalThis.__PIXI_STAGE__=a.componentInstance,globalThis.__PIXI_RENDERER__=u,r.tickStart!==!1&&a.directives.tick.start(),Ye(()=>{a.propObservables.tick(),u.render(a.componentInstance)}),c.stage=a.componentInstance,c.stage.layout={width:c.screen.width,height:c.screen.height,justifyContent:r.justifyContent,alignItems:r.alignItems},s.set({width:c.screen.width,height:c.screen.height}),c.renderer.on("resize",(d,f)=>{s.set({width:d,height:f}),c.stage.layout&&(c.stage.layout={width:d,height:f})}),r.tickStart!==!1&&a.directives.tick.start(),c.ticker.add(()=>{a.propObservables.tick()}),e&&Ye(()=>{u.events.cursorStyles=e()}),n&&Ye(()=>{A.classList.add(n())});let h=l.querySelector("canvas");h?l.replaceChild(A,h):l.appendChild(A),o.context.app.set(c)},a};Re();var _c=class extends et(Ae){constructor(){super(...arguments);this.isCustomAnchor=!0}onUpdate(t){t.anchor&&(An(this._anchorPoints,t.anchor),t.pivot=[this.getWidth()*this._anchorPoints.x,this.getHeight()*this._anchorPoints.y]),super.onUpdate(t),t.sortableChildren!=null&&(this.sortableChildren=t.sortableChildren)}async onMount(t){await super.onMount(t);let{componentInstance:i,props:n}=t,{pixiChildren:s}=n;s&&s.forEach(o=>{i.addChild(o)})}};Ne("Container",_c);var Xg=r=>He("Container",r);Re();var Ex=class extends et(Qr){async onInit(e){await super.onInit(e)}async onMount(e,t){await super.onMount(e,t);let{props:i,propObservables:n}=e,s=ke(n?.width)?n.width:xe(i.width||0),o=ke(n?.height)?n.height:xe(i.height||0);this.width=s,this.height=o;let a=Qa(s()),l=Qa(o());i.draw&&(this.clearEffect=Ye(()=>{let c=s(),u=o();typeof c=="string"||typeof u=="string"||c==0||u==0||(this.clear(),i.draw?.(this,c,u),this.subjectInit.next(this))})),this.on("layout",c=>{let u=c.computedLayout;a&&ke(s)&&s.set(u.width),l&&ke(o)&&o.set(u.height)})}onUpdate(e){super.onUpdate(e),e.width!==void 0&&this.width&&(ke(e.width)?this.width=e.width:this.width.set(e.width)),e.height!==void 0&&this.height&&(ke(e.height)?this.height=e.height:this.height.set(e.height))}async onDestroy(e,t){let i=async()=>{this.clearEffect.subscription.unsubscribe(),t()};await super.onDestroy(e,i)}};Ne("Graphics",Ex);function Es(r){return He("Graphics",r)}function d2(r){let{color:e,borderRadius:t,border:i}=ft(r,{borderRadius:null,border:null});return Es({draw:(n,s,o)=>{t()?n.roundRect(0,0,s,o,t()):n.rect(0,0,s,o),i&&n.stroke(i),n.fill(e())},...r})}function f2(r,e,t){let{color:i,border:n}=t;"radius"in t?r.circle(0,0,t.radius()):r.ellipse(0,0,t.width()/2,t.height()/2),n()&&r.stroke(n()),r.fill(i())}function p2(r){let{radius:e,color:t,border:i}=ft(r,{border:null});return Es({draw:n=>f2(n,"circle",{radius:e,color:t,border:i}),...r})}function g2(r){let{width:e,height:t,color:i,border:n}=ft(r,{border:null});return Es({draw:(s,o,a)=>f2(s,"ellipse",{width:xe(o),height:xe(a),color:i,border:n}),...r})}function m2(r){let{width:e,height:t,color:i,border:n}=ft(r,{border:null,color:"#000"});return Es({draw:(s,o,a)=>{s.moveTo(0,a),s.lineTo(o/2,0),s.lineTo(o,a),s.lineTo(0,a),s.fill(i()),n&&s.stroke(n)},...r})}function y2(r){return Es({draw:async e=>{if(r.src){let t=await Gt.load({src:r.src,data:{parseAsGraphicsContext:!0}}),i=new Qr(t);e.context=i.context}else r.content?e.svg(r.content):r.svg&&e.svg(r.svg)},...r})}Re();var _x=class extends et(sc){constructor(){super({geometry:new Et})}onInit(e){if(super.onInit(e),e.geometry)try{this.geometry=e.geometry}catch(t){console.warn("Failed to set geometry:",t)}e.shader&&(this.shader=e.shader)}async onUpdate(e){if(super.onUpdate(e),e.geometry)try{this.geometry=e.geometry}catch(t){console.warn("Failed to update geometry:",t)}e.shader&&(this.shader=e.shader),e.texture?typeof e.texture=="string"?this.texture=await Gt.load(e.texture):this.texture=e.texture:e.image&&(this.texture=await Gt.load(e.image)),e.tint!==void 0&&(this.tint=e.tint),e.blendMode!==void 0&&(this.blendMode=e.blendMode),e.roundPixels!==void 0&&(this.roundPixels=e.roundPixels)}async onDestroy(e,t){let i=async()=>{t()};await super.onDestroy(e,i)}};Ne("Mesh",_x);var E2=r=>He("Mesh",r);var Ix=null,Jg=null;function Zg(r){Jg?.(r)}function cee(r){Zg(e=>{let{context:t}=e.props,i;return t.tick&&(i=t.tick.observable.subscribe(({value:n})=>{r(n,e)})),()=>{i?.unsubscribe()}})}function Di(r,e={},...t){let i=new Set,n=new Set;Ix=o=>{i.add(o)},Jg=o=>{n.add(o)},t[0]instanceof Array&&(t=t[0]);let s=r({...e,children:t});return s||(s={}),s.effectSubscriptions=Array.from(i),s.effectMounts=[...Array.from(n),...s.effectMounts??[]],s instanceof Promise&&s.then(o=>{o.props.isRoot&&n.forEach(a=>a(o))}),Ix=null,Jg=null,s}function _2(r){return Di(Xg)}Re();var vc=class{constructor(e){this.segments=[],this.countingLengths=[],this.totalLength=0,this.init(e)}init(e){if(!e||!e.length)this.segments.push({p1:{x:0,y:0},p2:{x:0,y:0},l:0});else if(Array.isArray(e[0]))for(let t=0;t<e.length;++t){let i=e[t],n=i[0];for(let s=1;s<i.length;++s){let o=i[s];this.segments.push({p1:n,p2:o,l:0}),n=o}}else{let t=e[0];for(let i=1;i<e.length;++i){let n=e[i];this.segments.push({p1:t,p2:n,l:0}),t=n}}for(let t=0;t<this.segments.length;++t){let{p1:i,p2:n}=this.segments[t],s=Math.sqrt((n.x-i.x)*(n.x-i.x)+(n.y-i.y)*(n.y-i.y));this.segments[t].l=s,this.totalLength+=s,this.countingLengths.push(this.totalLength)}}getRandPos(e){let t=Math.random()*this.totalLength,i,n;if(this.segments.length===1)i=this.segments[0],n=t;else for(let a=0;a<this.countingLengths.length;++a)if(t<this.countingLengths[a]){i=this.segments[a],n=a===0?t:t-this.countingLengths[a-1];break}n/=i.l||1;let{p1:s,p2:o}=i;e.x=s.x+n*(o.x-s.x),e.y=s.y+n*(o.y-s.y)}};vc.type="polygonalChain";vc.editorConfig=null;var xc=class{constructor(e){this.x=e.x,this.y=e.y,this.w=e.w,this.h=e.h}getRandPos(e){e.x=Math.random()*this.w+this.x,e.y=Math.random()*this.h+this.y}};xc.type="rect";xc.editorConfig=null;var Is=class r{constructor(e,t,i){this.value=e,this.time=t,this.next=null,this.isStepped=!1,i?this.ease=typeof i=="function"?i:x2(i):this.ease=null}static createList(e){if("list"in e){let i=e.list,n,{value:s,time:o}=i[0],a=n=new r(typeof s=="string"?$g(s):s,o,e.ease);if(i.length>2||i.length===2&&i[1].value!==s)for(let l=1;l<i.length;++l){let{value:c,time:u}=i[l];n.next=new r(typeof c=="string"?$g(c):c,u),n=n.next}return a.isStepped=!!e.isStepped,a}let t=new r(typeof e.start=="string"?$g(e.start):e.start,0);return e.end!==e.start&&(t.next=new r(typeof e.end=="string"?$g(e.end):e.end,1)),t}},Bc=F.from;var ti=Math.PI/180;function Ri(r,e){if(!r)return;let t=Math.sin(r),i=Math.cos(r),n=e.x*i-e.y*t,s=e.x*t+e.y*i;e.x=n,e.y=s}function em(r,e,t){return r<<16|e<<8|t}function I2(r){return Math.sqrt(r.x*r.x+r.y*r.y)}function Aee(r){let e=1/I2(r);r.x*=e,r.y*=e}function v2(r,e){r.x*=e,r.y*=e}function $g(r,e){e||(e={}),r.charAt(0)==="#"?r=r.substr(1):r.indexOf("0x")===0&&(r=r.substr(2));let t;return r.length===8&&(t=r.substr(0,2),r=r.substr(2)),e.r=parseInt(r.substr(0,2),16),e.g=parseInt(r.substr(2,2),16),e.b=parseInt(r.substr(4,2),16),t&&(e.a=parseInt(t,16)),e}function x2(r){let e=r.length,t=1/e;return function(i){let n=e*i|0,s=(i-n*t)*e,o=r[n]||r[e-1];return o.s+s*(2*(1-s)*(o.cp-o.s)+s*(o.e-o.s))}}function hee(r){return r||"normal"}var Ta=class{constructor(e){this.x=e.x||0,this.y=e.y||0,this.radius=e.radius,this.innerRadius=e.innerRadius||0,this.rotation=!!e.affectRotation}getRandPos(e){this.innerRadius!==this.radius?e.x=Math.random()*(this.radius-this.innerRadius)+this.innerRadius:e.x=this.radius,e.y=0;let t=Math.random()*Math.PI*2;this.rotation&&(e.rotation+=t),Ri(t,e.position),e.position.x+=this.x,e.position.y+=this.y}};Ta.type="torus";Ta.editorConfig=null;var Ue;(function(r){r[r.Spawn=0]="Spawn",r[r.Normal=2]="Normal",r[r.Late=5]="Late"})(Ue||(Ue={}));var Cc=class{constructor(e){this.order=Ue.Late,this.minStart=e.minStart,this.maxStart=e.maxStart,this.accel=e.accel,this.rotate=!!e.rotate,this.maxSpeed=e.maxSpeed??0}initParticles(e){let t=e;for(;t;){let i=Math.random()*(this.maxStart-this.minStart)+this.minStart;t.config.velocity?t.config.velocity.set(i,0):t.config.velocity=new j(i,0),Ri(t.rotation,t.config.velocity),t=t.next}}updateParticle(e,t){let i=e.config.velocity,n=i.x,s=i.y;if(i.x+=this.accel.x*t,i.y+=this.accel.y*t,this.maxSpeed){let o=I2(i);o>this.maxSpeed&&v2(i,this.maxSpeed/o)}e.x+=(n+i.x)/2*t,e.y+=(s+i.y)/2*t,this.rotate&&(e.rotation=Math.atan2(i.y,i.x))}};Cc.type="moveAcceleration";Cc.editorConfig=null;function dee(r){return this.ease&&(r=this.ease(r)),(this.first.next.value-this.first.value)*r+this.first.value}function fee(r){this.ease&&(r=this.ease(r));let e=this.first.value,t=this.first.next.value,i=(t.r-e.r)*r+e.r,n=(t.g-e.g)*r+e.g,s=(t.b-e.b)*r+e.b;return em(i,n,s)}function pee(r){this.ease&&(r=this.ease(r));let e=this.first,t=e.next;for(;r>t.time;)e=t,t=t.next;return r=(r-e.time)/(t.time-e.time),(t.value-e.value)*r+e.value}function gee(r){this.ease&&(r=this.ease(r));let e=this.first,t=e.next;for(;r>t.time;)e=t,t=t.next;r=(r-e.time)/(t.time-e.time);let i=e.value,n=t.value,s=(n.r-i.r)*r+i.r,o=(n.g-i.g)*r+i.g,a=(n.b-i.b)*r+i.b;return em(s,o,a)}function mee(r){this.ease&&(r=this.ease(r));let e=this.first;for(;e.next&&r>e.next.time;)e=e.next;return e.value}function yee(r){this.ease&&(r=this.ease(r));let e=this.first;for(;e.next&&r>e.next.time;)e=e.next;let t=e.value;return em(t.r,t.g,t.b)}var vs=class{constructor(e=!1){this.first=null,this.isColor=!!e,this.interpolate=null,this.ease=null}reset(e){this.first=e,e.next&&e.next.time>=1?this.interpolate=this.isColor?fee:dee:e.isStepped?this.interpolate=this.isColor?yee:mee:this.interpolate=this.isColor?gee:pee,this.ease=this.first.ease}},bc=class{constructor(e){this.order=Ue.Normal,this.list=new vs(!1),this.list.reset(Is.createList(e.alpha))}initParticles(e){let t=e;for(;t;)t.alpha=this.list.first.value,t=t.next}updateParticle(e){e.alpha=this.list.interpolate(e.agePercent)}};bc.type="alpha";bc.editorConfig=null;var wc=class{constructor(e){this.order=Ue.Normal,this.value=e.alpha}initParticles(e){let t=e;for(;t;)t.alpha=this.value,t=t.next}};wc.type="alphaStatic";wc.editorConfig=null;function B2(r){let e=[];for(let t=0;t<r.length;++t){let i=r[t];if(typeof i=="string")e.push(Bc(i));else if(i instanceof F)e.push(i);else{let n=i.count||1;for(typeof i.texture=="string"?i=Bc(i.texture):i=i.texture;n>0;--n)e.push(i)}}return e}var Qc=class{constructor(e){this.order=Ue.Normal,this.anims=[];for(let t=0;t<e.anims.length;++t){let i=e.anims[t],n=B2(i.textures),s=i.framerate<0?-1:i.framerate>0?i.framerate:60,o={textures:n,duration:s>0?n.length/s:0,framerate:s,loop:s>0?!!i.loop:!1};this.anims.push(o)}}initParticles(e){let t=e;for(;t;){let i=Math.floor(Math.random()*this.anims.length),n=t.config.anim=this.anims[i];t.texture=n.textures[0],t.config.animElapsed=0,n.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=n.textures.length/t.maxLife):(t.config.animDuration=n.duration,t.config.animFramerate=n.framerate),t=t.next}}updateParticle(e,t){let i=e.config,n=i.anim;i.animElapsed+=t,i.animElapsed>=i.animDuration&&(i.anim.loop?i.animElapsed=i.animElapsed%i.animDuration:i.animElapsed=i.animDuration-1e-6);let s=i.animElapsed*i.animFramerate+1e-7|0;e.texture=n.textures[s]||n.textures[n.textures.length-1]||F.EMPTY}};Qc.type="animatedRandom";Qc.editorConfig=null;var Sc=class{constructor(e){this.order=Ue.Normal;let t=e.anim,i=B2(t.textures),n=t.framerate<0?-1:t.framerate>0?t.framerate:60;this.anim={textures:i,duration:n>0?i.length/n:0,framerate:n,loop:n>0?!!t.loop:!1}}initParticles(e){let t=e,i=this.anim;for(;t;)t.texture=i.textures[0],t.config.animElapsed=0,i.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=i.textures.length/t.maxLife):(t.config.animDuration=i.duration,t.config.animFramerate=i.framerate),t=t.next}updateParticle(e,t){let i=this.anim,n=e.config;n.animElapsed+=t,n.animElapsed>=n.animDuration&&(i.loop?n.animElapsed=n.animElapsed%n.animDuration:n.animElapsed=n.animDuration-1e-6);let s=n.animElapsed*n.animFramerate+1e-7|0;e.texture=i.textures[s]||i.textures[i.textures.length-1]||F.EMPTY}};Sc.type="animatedSingle";Sc.editorConfig=null;var Tc=class{constructor(e){this.order=Ue.Normal,this.value=e.blendMode}initParticles(e){let t=e;for(;t;)t.blendMode=hee(this.value),t=t.next}};Tc.type="blendMode";Tc.editorConfig=null;var Mc=class{constructor(e){this.order=Ue.Spawn,this.spacing=e.spacing*ti,this.start=e.start*ti,this.distance=e.distance}initParticles(e){let t=0,i=e;for(;i;){let n;this.spacing?n=this.start+this.spacing*t:n=Math.random()*Math.PI*2,i.rotation=n,this.distance&&(i.position.x=this.distance,Ri(n,i.position)),i=i.next,++t}}};Mc.type="spawnBurst";Mc.editorConfig=null;var Pc=class{constructor(e){this.order=Ue.Normal,this.list=new vs(!0),this.list.reset(Is.createList(e.color))}initParticles(e){let t=e,i=this.list.first.value,n=em(i.r,i.g,i.b);for(;t;)t.tint=n,t=t.next}updateParticle(e){e.tint=this.list.interpolate(e.agePercent)}};Pc.type="color";Pc.editorConfig=null;var Dc=class{constructor(e){this.order=Ue.Normal;let t=e.color;t.charAt(0)==="#"?t=t.substr(1):t.indexOf("0x")===0&&(t=t.substr(2)),this.value=parseInt(t,16)}initParticles(e){let t=e;for(;t;)t.tint=this.value,t=t.next}};Dc.type="colorStatic";Dc.editorConfig=null;var Rc=class{constructor(e){this.order=Ue.Normal,this.index=0,this.textures=e.textures.map(t=>typeof t=="string"?Bc(t):t)}initParticles(e){let t=e;for(;t;)t.texture=this.textures[this.index],++this.index>=this.textures.length&&(this.index=0),t=t.next}};Rc.type="textureOrdered";Rc.editorConfig=null;var Sa=new j,C2=["E","LN2","LN10","LOG2E","LOG10E","PI","SQRT1_2","SQRT2","abs","acos","acosh","asin","asinh","atan","atanh","atan2","cbrt","ceil","cos","cosh","exp","expm1","floor","fround","hypot","log","log1p","log10","log2","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh"],Eee=new RegExp(["[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]"].concat(C2).join("|"),"g");function _ee(r){let e=r.match(Eee);for(let t=e.length-1;t>=0;--t)C2.indexOf(e[t])>=0&&(e[t]=`Math.${e[t]}`);return r=e.join(""),new Function("x",`return ${r};`)}var Fc=class{constructor(e){if(this.order=Ue.Late,e.path)if(typeof e.path=="function")this.path=e.path;else try{this.path=_ee(e.path)}catch{this.path=null}else this.path=t=>t;this.list=new vs(!1),this.list.reset(Is.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){t.config.initRotation=t.rotation,t.config.initPosition?t.config.initPosition.copyFrom(t.position):t.config.initPosition=new j(t.x,t.y),t.config.movement=0;let i=Math.random()*(1-this.minMult)+this.minMult;t.config.speedMult=i,t=t.next}}updateParticle(e,t){let i=this.list.interpolate(e.agePercent)*e.config.speedMult;e.config.movement+=i*t,Sa.x=e.config.movement,Sa.y=this.path(Sa.x),Ri(e.config.initRotation,Sa),e.position.x=e.config.initPosition.x+Sa.x,e.position.y=e.config.initPosition.y+Sa.y}};Fc.type="movePath";Fc.editorConfig=null;var kc=class{constructor(){this.order=Ue.Spawn}initParticles(e){}};kc.type="spawnPoint";kc.editorConfig=null;var Oc=class{constructor(e){this.order=Ue.Normal,this.textures=e.textures.map(t=>typeof t=="string"?Bc(t):t)}initParticles(e){let t=e;for(;t;){let i=Math.floor(Math.random()*this.textures.length);t.texture=this.textures[i],t=t.next}}};Oc.type="textureRandom";Oc.editorConfig=null;var Gc=class{constructor(e){this.order=Ue.Normal,this.minStart=e.minStart*ti,this.maxStart=e.maxStart*ti,this.minSpeed=e.minSpeed*ti,this.maxSpeed=e.maxSpeed*ti,this.accel=e.accel*ti}initParticles(e){let t=e;for(;t;)this.minStart===this.maxStart?t.rotation+=this.maxStart:t.rotation+=Math.random()*(this.maxStart-this.minStart)+this.minStart,t.config.rotSpeed=Math.random()*(this.maxSpeed-this.minSpeed)+this.minSpeed,t=t.next}updateParticle(e,t){if(this.accel){let i=e.config.rotSpeed;e.config.rotSpeed+=this.accel*t,e.rotation+=(e.config.rotSpeed+i)/2*t}else e.rotation+=e.config.rotSpeed*t}};Gc.type="rotation";Gc.editorConfig=null;var Uc=class{constructor(e){this.order=Ue.Normal,this.min=e.min*ti,this.max=e.max*ti}initParticles(e){let t=e;for(;t;)this.min===this.max?t.rotation+=this.max:t.rotation+=Math.random()*(this.max-this.min)+this.min,t=t.next}};Uc.type="rotationStatic";Uc.editorConfig=null;var Lc=class{constructor(e){this.order=Ue.Late+1,this.rotation=(e.rotation||0)*ti}initParticles(e){let t=e;for(;t;)t.rotation=this.rotation,t=t.next}};Lc.type="noRotation";Lc.editorConfig=null;var Nc=class{constructor(e){this.order=Ue.Normal,this.list=new vs(!1),this.list.reset(Is.createList(e.scale)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){let i=Math.random()*(1-this.minMult)+this.minMult;t.config.scaleMult=i,t.scale.x=t.scale.y=this.list.first.value*i,t=t.next}}updateParticle(e){e.scale.x=e.scale.y=this.list.interpolate(e.agePercent)*e.config.scaleMult}};Nc.type="scale";Nc.editorConfig=null;var Hc=class{constructor(e){this.order=Ue.Normal,this.min=e.min,this.max=e.max}initParticles(e){let t=e;for(;t;){let i=Math.random()*(this.max-this.min)+this.min;t.scale.x=t.scale.y=i,t=t.next}}};Hc.type="scaleStatic";Hc.editorConfig=null;var ri=class r{static registerShape(e,t){r.shapes[t||e.type]=e}constructor(e){this.order=Ue.Spawn;let t=r.shapes[e.type];if(!t)throw new Error(`No shape found with type '${e.type}'`);this.shape=new t(e.data)}initParticles(e){let t=e;for(;t;)this.shape.getRandPos(t),t=t.next}};ri.type="spawnShape";ri.editorConfig=null;ri.shapes={};ri.registerShape(vc);ri.registerShape(xc);ri.registerShape(Ta);ri.registerShape(Ta,"circle");var Wc=class{constructor(e){this.order=Ue.Normal,this.texture=typeof e.texture=="string"?Bc(e.texture):e.texture}initParticles(e){let t=e;for(;t;)t.texture=this.texture,t=t.next}};Wc.type="textureSingle";Wc.editorConfig=null;var qc=class{constructor(e){this.order=Ue.Late,this.list=new vs(!1),this.list.reset(Is.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){let i=Math.random()*(1-this.minMult)+this.minMult;t.config.speedMult=i,t.config.velocity?t.config.velocity.set(this.list.first.value*i,0):t.config.velocity=new j(this.list.first.value*i,0),Ri(t.rotation,t.config.velocity),t=t.next}}updateParticle(e,t){let i=this.list.interpolate(e.agePercent)*e.config.speedMult,n=e.config.velocity;Aee(n),v2(n,i),e.x+=n.x*t,e.y+=n.y*t}};qc.type="moveSpeed";qc.editorConfig=null;var jc=class{constructor(e){this.order=Ue.Late,this.min=e.min,this.max=e.max}initParticles(e){let t=e;for(;t;){let i=Math.random()*(this.max-this.min)+this.min;t.config.velocity?t.config.velocity.set(i,0):t.config.velocity=new j(i,0),Ri(t.rotation,t.config.velocity),t=t.next}}updateParticle(e,t){let i=e.config.velocity;e.x+=i.x*t,e.y+=i.y*t}};jc.type="moveSpeedStatic";jc.editorConfig=null;var Ic=class extends mt{constructor(e){super(),this.prevChild=this.nextChild=null,this.emitter=e,this.config={},this.anchor.x=this.anchor.y=.5,this.maxLife=0,this.age=0,this.agePercent=0,this.oneOverLife=0,this.next=null,this.prev=null,this.init=this.init,this.kill=this.kill}init(e){this.maxLife=e,this.age=this.agePercent=0,this.rotation=0,this.position.x=this.position.y=0,this.scale.x=this.scale.y=1,this.tint=16777215,this.alpha=1,this.oneOverLife=1/this.maxLife,this.visible=!0}kill(){this.emitter.recycle(this)}destroy(){this.parent&&this.parent.removeChild(this),this.emitter=this.next=this.prev=null,super.destroy()}},vx=ot.shared,_s=Symbol("Position particle per emitter position"),Oe=class r{static registerBehavior(e){r.knownBehaviors[e.type]=e}constructor(e,t){this.initBehaviors=[],this.updateBehaviors=[],this.recycleBehaviors=[],this.minLifetime=0,this.maxLifetime=0,this.customEase=null,this._frequency=1,this.spawnChance=1,this.maxParticles=1e3,this.emitterLifetime=-1,this.spawnPos=new j,this.particlesPerWave=1,this.rotation=0,this.ownerPos=new j,this._prevEmitterPos=new j,this._prevPosIsValid=!1,this._posChanged=!1,this._parent=null,this.addAtBack=!1,this.particleCount=0,this._emit=!1,this._spawnTimer=0,this._emitterLife=-1,this._activeParticlesFirst=null,this._activeParticlesLast=null,this._poolFirst=null,this._origConfig=null,this._autoUpdate=!1,this._destroyWhenComplete=!1,this._completeCallback=null,this.parent=e,t&&this.init(t),this.recycle=this.recycle,this.update=this.update,this.rotate=this.rotate,this.updateSpawnPos=this.updateSpawnPos,this.updateOwnerPos=this.updateOwnerPos}get frequency(){return this._frequency}set frequency(e){typeof e=="number"&&e>0?this._frequency=e:this._frequency=1}get parent(){return this._parent}set parent(e){this.cleanup(),this._parent=e}init(e){if(!e)return;this.cleanup(),this._origConfig=e,this.minLifetime=e.lifetime.min,this.maxLifetime=e.lifetime.max,e.ease?this.customEase=typeof e.ease=="function"?e.ease:x2(e.ease):this.customEase=null,this.particlesPerWave=1,e.particlesPerWave&&e.particlesPerWave>1&&(this.particlesPerWave=e.particlesPerWave),this.frequency=e.frequency,this.spawnChance=typeof e.spawnChance=="number"&&e.spawnChance>0?e.spawnChance:1,this.emitterLifetime=e.emitterLifetime||-1,this.maxParticles=e.maxParticles>0?e.maxParticles:1e3,this.addAtBack=!!e.addAtBack,this.rotation=0,this.ownerPos.set(0),e.pos?this.spawnPos.copyFrom(e.pos):this.spawnPos.set(0),this._prevEmitterPos.copyFrom(this.spawnPos),this._prevPosIsValid=!1,this._spawnTimer=0,this.emit=e.emit===void 0?!0:!!e.emit,this.autoUpdate=!!e.autoUpdate;let t=e.behaviors.map(i=>{let n=r.knownBehaviors[i.type];return n?new n(i.config):(console.error(`Unknown behavior: ${i.type}`),null)}).filter(i=>!!i);t.push(_s),t.sort((i,n)=>i===_s?n.order===Ue.Spawn?1:-1:n===_s?i.order===Ue.Spawn?-1:1:i.order-n.order),this.initBehaviors=t.slice(),this.updateBehaviors=t.filter(i=>i!==_s&&i.updateParticle),this.recycleBehaviors=t.filter(i=>i!==_s&&i.recycleParticle)}getBehavior(e){return r.knownBehaviors[e]&&this.initBehaviors.find(t=>t instanceof r.knownBehaviors[e])||null}fillPool(e){for(;e>0;--e){let t=new Ic(this);t.next=this._poolFirst,this._poolFirst=t}}recycle(e,t=!1){for(let i=0;i<this.recycleBehaviors.length;++i)this.recycleBehaviors[i].recycleParticle(e,!t);e.next&&(e.next.prev=e.prev),e.prev&&(e.prev.next=e.next),e===this._activeParticlesLast&&(this._activeParticlesLast=e.prev),e===this._activeParticlesFirst&&(this._activeParticlesFirst=e.next),e.prev=null,e.next=this._poolFirst,this._poolFirst=e,e.parent&&e.parent.removeChild(e),--this.particleCount}rotate(e){if(this.rotation===e)return;let t=e-this.rotation;this.rotation=e,Ri(t,this.spawnPos),this._posChanged=!0}updateSpawnPos(e,t){this._posChanged=!0,this.spawnPos.x=e,this.spawnPos.y=t}updateOwnerPos(e,t){this._posChanged=!0,this.ownerPos.x=e,this.ownerPos.y=t}resetPositionTracking(){this._prevPosIsValid=!1}get emit(){return this._emit}set emit(e){this._emit=!!e,this._emitterLife=this.emitterLifetime}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){this._autoUpdate&&!e?vx.remove(this.update,this):!this._autoUpdate&&e&&vx.add(this.update,this),this._autoUpdate=!!e}playOnceAndDestroy(e){this.autoUpdate=!0,this.emit=!0,this._destroyWhenComplete=!0,this._completeCallback=e}playOnce(e){this.emit=!0,this._completeCallback=e}update(e){if(typeof e!="number"&&(e=e.deltaTime),this._autoUpdate&&(e=vx.elapsedMS*.001),!this._parent)return;for(let o=this._activeParticlesFirst,a;o;o=a)if(a=o.next,o.age+=e,o.age>o.maxLife||o.age<0)this.recycle(o);else{let l=o.age*o.oneOverLife;this.customEase&&(this.customEase.length===4?l=this.customEase(l,0,1,1):l=this.customEase(l)),o.agePercent=l;for(let c=0;c<this.updateBehaviors.length;++c)if(this.updateBehaviors[c].updateParticle(o,e)){this.recycle(o);break}}let t,i;this._prevPosIsValid&&(t=this._prevEmitterPos.x,i=this._prevEmitterPos.y);let n=this.ownerPos.x+this.spawnPos.x,s=this.ownerPos.y+this.spawnPos.y;if(this._emit)for(this._spawnTimer-=e<0?0:e;this._spawnTimer<=0;){if(this._emitterLife>=0&&(this._emitterLife-=this._frequency,this._emitterLife<=0)){this._spawnTimer=0,this._emitterLife=0,this.emit=!1;break}if(this.particleCount>=this.maxParticles){this._spawnTimer+=this._frequency;continue}let o,a;if(this._prevPosIsValid&&this._posChanged){let u=1+this._spawnTimer/e;o=(n-t)*u+t,a=(s-i)*u+i}else o=n,a=s;let l=null,c=null;for(let u=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),A=0;A<u;++A){if(this.spawnChance<1&&Math.random()>=this.spawnChance)continue;let h;if(this.minLifetime===this.maxLifetime?h=this.minLifetime:h=Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,-this._spawnTimer>=h)continue;let d;this._poolFirst?(d=this._poolFirst,this._poolFirst=this._poolFirst.next,d.next=null):d=new Ic(this),d.init(h),this.addAtBack?this._parent.addChildAt(d,0):this._parent.addChild(d),l?(c.next=d,d.prev=c,c=d):c=l=d,++this.particleCount}if(l){this._activeParticlesLast?(this._activeParticlesLast.next=l,l.prev=this._activeParticlesLast,this._activeParticlesLast=c):(this._activeParticlesFirst=l,this._activeParticlesLast=c);for(let u=0;u<this.initBehaviors.length;++u){let A=this.initBehaviors[u];if(A===_s)for(let h=l,d;h;h=d){d=h.next,this.rotation!==0&&(Ri(this.rotation,h.position),h.rotation+=this.rotation),h.position.x+=o,h.position.y+=a,h.age+=-this._spawnTimer;let f=h.age*h.oneOverLife;this.customEase&&(this.customEase.length===4?f=this.customEase(f,0,1,1):f=this.customEase(f)),h.agePercent=f}else A.initParticles(l)}for(let u=l,A;u;u=A){A=u.next;for(let h=0;h<this.updateBehaviors.length;++h)if(this.updateBehaviors[h].updateParticle(u,-this._spawnTimer)){this.recycle(u);break}}}this._spawnTimer+=this._frequency}if(this._posChanged&&(this._prevEmitterPos.x=n,this._prevEmitterPos.y=s,this._prevPosIsValid=!0,this._posChanged=!1),!this._emit&&!this._activeParticlesFirst){if(this._completeCallback){let o=this._completeCallback;this._completeCallback=null,o()}this._destroyWhenComplete&&this.destroy()}}emitNow(){let e=this.ownerPos.x+this.spawnPos.x,t=this.ownerPos.y+this.spawnPos.y,i=null,n=null;for(let s=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),o=0;o<s;++o){if(this.spawnChance<1&&Math.random()>=this.spawnChance)continue;let a;this._poolFirst?(a=this._poolFirst,this._poolFirst=this._poolFirst.next,a.next=null):a=new Ic(this);let l;this.minLifetime===this.maxLifetime?l=this.minLifetime:l=Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,a.init(l),this.addAtBack?this._parent.addChildAt(a,0):this._parent.addChild(a),i?(n.next=a,a.prev=n,n=a):n=i=a,++this.particleCount}if(i){this._activeParticlesLast?(this._activeParticlesLast.next=i,i.prev=this._activeParticlesLast,this._activeParticlesLast=n):(this._activeParticlesFirst=i,this._activeParticlesLast=n);for(let s=0;s<this.initBehaviors.length;++s){let o=this.initBehaviors[s];if(o===_s)for(let a=i,l;a;a=l)l=a.next,this.rotation!==0&&(Ri(this.rotation,a.position),a.rotation+=this.rotation),a.position.x+=e,a.position.y+=t;else o.initParticles(i)}}}cleanup(){let e,t;for(e=this._activeParticlesFirst;e;e=t)t=e.next,this.recycle(e,!0);this._activeParticlesFirst=this._activeParticlesLast=null,this.particleCount=0}get destroyed(){return!(this._parent&&this.initBehaviors.length)}destroy(){this.autoUpdate=!1,this.cleanup();let e;for(let t=this._poolFirst;t;t=e)e=t.next,t.destroy();this._poolFirst=this._parent=this.spawnPos=this.ownerPos=this.customEase=this._completeCallback=null,this.initBehaviors.length=this.updateBehaviors.length=this.recycleBehaviors.length=0}};Oe.knownBehaviors={};Oe.registerBehavior(Cc);Oe.registerBehavior(bc);Oe.registerBehavior(wc);Oe.registerBehavior(Qc);Oe.registerBehavior(Sc);Oe.registerBehavior(Tc);Oe.registerBehavior(Mc);Oe.registerBehavior(Pc);Oe.registerBehavior(Dc);Oe.registerBehavior(Rc);Oe.registerBehavior(Fc);Oe.registerBehavior(kc);Oe.registerBehavior(Oc);Oe.registerBehavior(Gc);Oe.registerBehavior(Uc);Oe.registerBehavior(Lc);Oe.registerBehavior(Nc);Oe.registerBehavior(Hc);Oe.registerBehavior(ri);Oe.registerBehavior(Wc);Oe.registerBehavior(qc);Oe.registerBehavior(jc);var xx=class extends _c{constructor(){super(...arguments);this.elapsed=Date.now()}async onMount(t){await super.onMount(t);let{props:i}=t,n=i.context.tick;this.emitter=new Oe(this,i.config),this.subscriptionTick=n.observable.subscribe(s=>{if(!this.emitter)return;let o=Date.now();this.emitter.update((o-this.elapsed)*.001),this.elapsed=o})}onUpdate(t){}async onDestroy(t,i){let n=async()=>{this.emitter?.destroy(),this.emitter=null,this.subscriptionTick.unsubscribe(),i()};await super.onDestroy(t,n)}};Ne("ParticlesEmitter",xx);function b2(r){return He("ParticlesEmitter",r)}var Q2=St(uu(),1);Re();function tm(r){return r.animatedState!==void 0}function vee(r,e={}){let t={current:r,start:r,end:r},i,n=xe(r),s=xe(t);Ye(()=>{let l=s();n.set(l.current)});function o(l,c={}){if(l===void 0)return s();let u=s(),A={current:u.current,start:u.current,end:l};s.set(A),i&&i.stop(),i=Ec({duration:20,...e,...c,from:u.current,to:l,onUpdate:h=>{s.update(d=>({...d,current:h})),e.onUpdate&&e.onUpdate(h)}})}let a=function(){return s().current};for(let l in n)a[l]=n[l];return a.animatedState=s,a.update=l=>{o(l(s().current))},a.set=async(l,c={})=>new Promise(u=>{o(l,{...c,onComplete:u})}),a}async function xee(r){for(let e of r)Array.isArray(e)?await Promise.all(e.map(t=>t())):await e()}var w2=console.log;var Bx=class extends et(mt){constructor(){super(...arguments);this.currentAnimation=null;this.time=0;this.frameIndex=0;this.animations=new Map;this.subscriptionSheet=[];this.sheetParams={};this.sheetCurrentAnimation="stand";this.app=null;this.currentAnimationContainer=null}get renderer(){return this.app?.renderer}async createTextures(t){let{width:i,height:n,framesHeight:s,framesWidth:o,image:a,offset:l}=t;if(!a||typeof a!="string"||a.trim()==="")return console.warn("Invalid image path provided to createTextures:",a),[];let c=await Gt.load(a),u=t.spriteWidth,A=t.spriteHeight,h=[],d=l&&l.x||0,f=l&&l.y||0;for(let g=0;g<s;g++){h[g]=[];for(let p=0;p<o;p++){let I=p*u+d,x=g*A+f;if(x>n)throw w2(`Warning, there is a problem with the height of the "${this.id}" spritesheet. When cutting into frames, the frame exceeds the height of the image.`);if(I>i)throw w2(`Warning, there is a problem with the width of the "${this.id}" spritesheet. When cutting into frames, the frame exceeds the width of the image.`);h[g].push(new F({source:c.source,frame:new ee(I,x,u,A)}))}}return h}async createAnimations(){let{textures:t}=this.spritesheet;if(t)for(let i in t){let o={...["width","height","framesHeight","framesWidth","rectWidth","rectHeight","offset","image","sound"].reduce((d,f)=>({...d,[f]:this.spritesheet[f]}),{}),...t[i]},{rectWidth:a,width:l=0,framesWidth:c=1,rectHeight:u,height:A=0,framesHeight:h=1}=o;o.spriteWidth=a||l/c,o.spriteHeight=u||A/h,this.animations.set(i,{frames:await this.createTextures(o),name:i,animations:t[i].animations,params:[],data:o,sprites:[]})}}async onMount(t){let{props:i,propObservables:n}=t,s=i.context.tick,o=i.sheet??{};if(this.app=i.context.app(),o?.onFinish&&(this.onFinish=o.onFinish),this.subscriptionTick=s.observable.subscribe(l=>{this.update(l)}),i.sheet?.definition&&(this.spritesheet=i.sheet.definition,await this.createAnimations()),o.params)for(let l in n?.sheet.params){let c=n?.sheet.params[l];ke(c)?this.subscriptionSheet.push(c.observable.subscribe(u=>{this.animations.size!=0&&this.play(this.sheetCurrentAnimation,[{[l]:u}])})):this.play(this.sheetCurrentAnimation,[{[l]:c}])}let a=ou(()=>{let{x:l,y:c}=n??{};if(!l||!c)return!1;let u=l,A=c,h=tm(u)&&u.animatedState().current!==u.animatedState().end,d=tm(A)&&A.animatedState().current!==A.animatedState().end;return h||d});Ye(()=>{let l=a();this.isMounted&&(l?this.sheetCurrentAnimation="walk":this.sheetCurrentAnimation="stand",this.spritesheet&&this.play(this.sheetCurrentAnimation,[this.sheetParams]))}),super.onMount(t)}async onUpdate(t){super.onUpdate(t);let i=async s=>{if(!s||typeof s!="string"||s.trim()==="")return console.warn("Invalid image path provided to setTexture:",s),null;let o=this.fullProps.loader?.onProgress,a=await Gt.load(s,l=>{if(o&&o(l),l==1){let c=this.fullProps.loader?.onComplete;c&&setTimeout(()=>{c(a)})}});return a},n=t.sheet;if(n?.params&&(this.sheetParams=n?.params),n?.playing&&this.isMounted&&(this.sheetCurrentAnimation=n?.playing,this.play(this.sheetCurrentAnimation,[this.sheetParams])),t.hitbox&&(this.hitbox=t.hitbox),t.scaleMode)this.baseTexture.scaleMode=t.scaleMode;else if(t.image&&this.fullProps.rectangle===void 0){let s=await i(this.fullProps.image);s&&(this.texture=s)}else t.texture&&(_o(t.texture)?(t.texture.componentInstance.subjectInit.subscribe(o=>{console.log("a",o?.width)}),this.texture=this.renderer?.generateTexture(t.texture.componentInstance)):this.texture=t.texture);if(t.rectangle!==void 0){let{x:s,y:o,width:a,height:l}=t.rectangle?.value??t.rectangle,c=await i(this.fullProps.image);c&&(this.texture=new F({source:c.source,frame:new ee(s,o,a,l)}))}}async onDestroy(t,i){await super.onDestroy(t),this.subscriptionSheet.forEach(n=>n.unsubscribe()),this.subscriptionTick.unsubscribe(),this.currentAnimationContainer&&this.parent instanceof Ae&&this.parent.removeChild(this.currentAnimationContainer)}has(t){return this.animations.has(t)}get(t){return this.animations.get(t)}isPlaying(t){return t?this.currentAnimation==null?!1:this.currentAnimation.name==t:!!this.currentAnimation}stop(){this.currentAnimation=null,this.destroy()}play(t,i=[]){let n=this.currentAnimation?.params;if(this.isPlaying(t)&&ru(i,n||[]))return;let s=this.get(t);if(!s)throw new Error(`Impossible to play the ${t} animation because it doesn't exist on the "${this.id}" spritesheet`);let o=structuredClone(i);this.removeChildren(),s.sprites=[],this.currentAnimation=s,this.currentAnimation.params=o,this.time=0,this.frameIndex=0;let a=s.animations;a=Yy(a)?a(...o):a,this.currentAnimationContainer=new Ae;for(let c of a){let u=new mt;for(let A of c)this.currentAnimation.sprites.push(A);this.currentAnimationContainer.addChild(u)}let l=this.currentAnimation.data.sound;l&&new Q2.Howl({src:l,autoplay:!0,loop:!1,volume:1}),this.update({deltaRatio:1})}update({deltaRatio:t}){if(!this.isPlaying()||!this.currentAnimation||!this.currentAnimationContainer)return;let i=this,{frames:n,sprites:s,data:o}=this.currentAnimation,a=s[this.frameIndex],l=s[this.frameIndex+1];for(let c of this.currentAnimationContainer.children){let d=function(x,B){let D=A(B||x);D!==void 0&&(i[x]=D)},u=c;if(!a||a.frameY==null||a.frameX==null)continue;this.texture=n[a.frameY][a.frameX];let A=x=>a[x]??o[x]??this.spritesheet[x],h=x=>{let B=A(x);B&&this[x].set(...B)};this.applyTransform&&(a={...a,...this.applyTransform(a,o,this.spritesheet)});let f=A("spriteRealSize"),g=typeof f=="number"?f:f?.height,p=typeof f=="number"?f:f?.width,I=()=>{if(g&&this.hitbox){let{spriteWidth:x,spriteHeight:B}=o,w=(x-this.hitbox.w)/2/x,D=(B-g)/2,T=(B-this.hitbox.h-D)/B;this.anchor.set(w,T)}};a.sound,I(),h("anchor"),h("scale"),h("skew"),h("pivot"),d("alpha","opacity"),d("x"),d("y"),d("angle"),d("rotation"),d("visible")}if(!l){this.time=0,this.frameIndex=0,this.onFinish&&s.length>1&&this.onFinish();return}this.time+=t??1,this.time>=l.time&&this.frameIndex++}};Ne("Sprite",Bx);var rm=r=>He("Sprite",r);function S2(r){let e={audioprocess:null,canplay:null,canplaythrough:null,complete:null,durationchange:null,emptied:null,ended:null,loadeddata:null,loadedmetadata:null,pause:null,play:null,playing:null,progress:null,ratechange:null,seeked:null,seeking:null,stalled:null,suspend:null,timeupdate:null,volumechange:null,waiting:null},t=xe(null),i=_f(r),{play:n,loop:s,muted:o}=i({play:{type:Boolean,default:!0},loop:{type:Boolean,default:!1},muted:{type:Boolean,default:!1}});return Ye(()=>{let a=t(),l=n();a&&l!==void 0&&(l?a.play():a.pause()),a&&s()&&(a.loop=s()),a&&o()&&(a.muted=o())}),Zg(()=>()=>{for(let a in e)e[a]&&t().removeEventListener(a,e[a])}),Di(rm,{...r,image:r.src,loader:{onComplete:a=>{let l=a.source.resource;t.set(l),r?.loader?.onComplete&&r.loader.onComplete(a);for(let c in e)if(r[c]){let u=A=>{r[c](A)};e[c]=u,l.addEventListener(c,u)}}}})}Re();function im(r){return r?.start&&r?.listen}function Bee(r){let e=xe({config:r,value:0,resolve:t=>{}});return{start:t=>new Promise(i=>{e.set({config:{...r,...t},resolve:i,value:Math.random()})}),listen:()=>({config:r,seed:e()})}}function Cx(r,e){if(!im(r))throw new Error("In 'on(arg)' must have a trigger signal type");Ye(()=>{let t=r.listen();if(t?.seed.value){let i=e(t?.seed.config);i&&typeof i.then=="function"&&i.then(t?.seed.resolve)}})}var bx=class extends et(ac){constructor(){super(...arguments);this.fullText="";this.currentIndex=0;this.typewriterSpeed=1;this._wordWrapWidth=0;this.typewriterOptions={}}async onMount(t,i){let{props:n}=t;await super.onMount(t,i);let s=n.context.tick;n.text&&n.typewriter&&(this.fullText=n.text,this.text="",this.currentIndex=0,n.typewriter&&(this.typewriterOptions=n.typewriter,this.typewriterOptions.skip&&im(this.typewriterOptions.skip)&&Cx(this.typewriterOptions.skip,()=>{this.skipTypewriter()}))),this.subscriptionTick=s.observable.subscribe(()=>{n.typewriter&&this.typewriterEffect()})}onUpdate(t){if(super.onUpdate(t),t.typewriter&&t.typewriter&&(this.typewriterOptions=t.typewriter),t.text!==void 0&&(this.text=""+t.text),t.text!==void 0&&t.text!==this.fullText&&this.fullProps.typewriter&&(this.text="",this.currentIndex=0,this.fullText=t.text),t.style){for(let i in t.style)this.style[i]=t.style[i];t.style.wordWrapWidth&&(this._wordWrapWidth=t.style.wordWrapWidth)}t.color&&(this.style.fill=t.color),t.size&&(this.style.fontSize=t.size),t.fontFamily&&(this.style.fontFamily=t.fontFamily),this._wordWrapWidth?this.setWidth(this._wordWrapWidth):this.setWidth(this.width),this.setHeight(this.height)}get onCompleteCallback(){return this.typewriterOptions.onComplete}typewriterEffect(){if(this.currentIndex<this.fullText.length){let t=Math.min(this.currentIndex+(this.typewriterOptions.speed??1),this.fullText.length);this.text=this.fullText.slice(0,t),this.currentIndex=t,this.currentIndex===this.fullText.length&&this.onCompleteCallback&&this.onCompleteCallback()}}skipTypewriter(){this.skipSignal&&this.skipSignal(),this.text=this.fullText,this.currentIndex=this.fullText.length}async onDestroy(t,i){let n=async()=>{this.subscriptionTick&&this.subscriptionTick.unsubscribe(),i&&i()};await super.onDestroy(t,n)}};Ne("Text",bx);function T2(r){return He("Text",r)}Re();var wx=class extends et(oc){onUpdate(e){super.onUpdate(e),e.image&&(this.texture=F.from(e.image)),e.tileScale&&this.tileScale.set(e.tileScale.x,e.tileScale.y),e.tilePosition&&this.tilePosition.set(e.tilePosition.x,e.tilePosition.y),e.width!==void 0&&(this.width=e.width),e.height!==void 0&&(this.height=e.height)}};Ne("TilingSprite",wx);function M2(r){return He("TilingSprite",r)}Re();var Cee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function bee(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var D2={exports:{}};(function(r,e){(function(){var t,i;i=function(n){return r.exports=n},t={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,c,u;return u=1.70158,c=0,l=o,n===0||(n/=a),c||(c=a*.3),l<Math.abs(o)?(l=o,u=c/4):u=c/(2*Math.PI)*Math.asin(o/l),-(l*Math.pow(2,10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/c))+s},easeOutElastic:function(n,s,o,a){var l,c,u;return u=1.70158,c=0,l=o,n===0||(n/=a),c||(c=a*.3),l<Math.abs(o)?(l=o,u=c/4):u=c/(2*Math.PI)*Math.asin(o/l),l*Math.pow(2,-10*n)*Math.sin((n*a-u)*(2*Math.PI)/c)+o+s},easeInOutElastic:function(n,s,o,a){var l,c,u;return u=1.70158,c=0,l=o,n===0||(n/=a/2),c||(c=a*(.3*1.5)),l<Math.abs(o)?(l=o,u=c/4):u=c/(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)/c))+s:l*Math.pow(2,-10*(n-=1))*Math.sin((n*a-u)*(2*Math.PI)/c)*.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=t.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=t.easeInBounce(n*2,0,o,a),l*.5+s):(l=t.easeOutBounce(n*2-a,0,o,a),l*.5+o*.5+s)}},i(t)}).call(Cee)})(D2);var wee=D2.exports,P2=bee(wee);function sm(r,e){if(r){if(typeof r=="function")return r;if(typeof r=="string")return P2[r]}else return P2[e]}var Qx=class{constructor(e){this.viewport=e,this.touches=[],this.addListeners()}addListeners(){this.viewport.eventMode="static",this.viewport.forceHitArea||(this.viewport.hitArea=new ee(0,0,this.viewport.worldWidth,this.viewport.worldHeight)),this.viewport.on("pointerdown",this.down,this),this.viewport.options.allowPreserveDragOutside?this.viewport.on("globalpointermove",this.move,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.options.allowPreserveDragOutside||this.viewport.on("pointerleave",this.up,this),this.wheelFunction=e=>this.handleWheel(e),this.viewport.options.events.domElement.addEventListener("wheel",this.wheelFunction,{passive:this.viewport.options.passiveWheel}),this.isMouseDown=!1}destroy(){var e;(e=this.viewport.options.events.domElement)==null||e.removeEventListener("wheel",this.wheelFunction)}down(e){if(!(this.viewport.pause||!this.viewport.visible)){if(e.pointerType==="mouse"?this.isMouseDown=!0:this.get(e.pointerId)||this.touches.push({id:e.pointerId,last:null}),this.count()===1){this.last=e.global.clone();let t=this.viewport.plugins.get("decelerate",!0),i=this.viewport.plugins.get("bounce",!0);(!t||!t.isActive())&&(!i||!i.isActive())?this.clickedAvailable=!0:this.clickedAvailable=!1}else this.clickedAvailable=!1;this.viewport.plugins.down(e)&&this.viewport.options.stopPropagation&&e.stopPropagation()}}clear(){this.isMouseDown=!1,this.touches=[],this.last=null}checkThreshold(e){return Math.abs(e)>=this.viewport.threshold}move(e){if(this.viewport.pause||!this.viewport.visible)return;let t=this.viewport.plugins.move(e);if(this.clickedAvailable&&this.last){let i=e.global.x-this.last.x,n=e.global.y-this.last.y;(this.checkThreshold(i)||this.checkThreshold(n))&&(this.clickedAvailable=!1)}t&&this.viewport.options.stopPropagation&&e.stopPropagation()}up(e){if(this.viewport.pause||!this.viewport.visible)return;e.pointerType==="mouse"&&(this.isMouseDown=!1),e.pointerType!=="mouse"&&this.remove(e.pointerId);let t=this.viewport.plugins.up(e);this.clickedAvailable&&this.count()===0&&this.last&&(this.viewport.emit("clicked",{event:e,screen:this.last,world:this.viewport.toWorld(this.last),viewport:this.viewport}),this.clickedAvailable=!1),t&&this.viewport.options.stopPropagation&&e.stopPropagation()}getPointerPosition(e){let t=new j;return this.viewport.options.events.mapPositionToPoint(t,e.clientX,e.clientY),t}handleWheel(e){if(this.viewport.pause||!this.viewport.visible)return;let t=this.viewport.toLocal(this.getPointerPosition(e));this.viewport.left<=t.x&&t.x<=this.viewport.right&&this.viewport.top<=t.y&&t.y<=this.viewport.bottom&&this.viewport.plugins.wheel(e)&&!this.viewport.options.passiveWheel&&e.preventDefault()}pause(){this.touches=[],this.isMouseDown=!1}get(e){for(let t of this.touches)if(t.id===e)return t;return null}remove(e){for(let t=0;t<this.touches.length;t++)if(this.touches[t].id===e){this.touches.splice(t,1);return}}count(){return(this.isMouseDown?1:0)+this.touches.length}},Vc=["drag","pinch","wheel","follow","mouse-edges","decelerate","animate","bounce","snap-zoom","clamp-zoom","snap","clamp"],Sx=class{constructor(e){this.viewport=e,this.list=[],this.plugins={}}add(e,t,i=Vc.length){let n=this.plugins[e];n&&n.destroy(),this.plugins[e]=t;let s=Vc.indexOf(e);s!==-1&&Vc.splice(s,1),Vc.splice(i,0,e),this.sort()}get(e,t){var i;return t&&(i=this.plugins[e])!=null&&i.paused?null:this.plugins[e]}update(e){for(let t of this.list)t.update(e)}resize(){for(let e of this.list)e.resize()}reset(){for(let e of this.list)e.reset()}removeAll(){this.list.forEach(e=>{e.destroy()}),this.plugins={},this.sort()}remove(e){var t;this.plugins[e]&&((t=this.plugins[e])==null||t.destroy(),delete this.plugins[e],this.viewport.emit("plugin-remove",e),this.sort())}pause(e){var t;(t=this.plugins[e])==null||t.pause()}resume(e){var t;(t=this.plugins[e])==null||t.resume()}sort(){this.list=[];for(let e of Vc)this.plugins[e]&&this.list.push(this.plugins[e])}down(e){let t=!1;for(let i of this.list)i.down(e)&&(t=!0);return t}move(e){let t=!1;for(let i of this.viewport.plugins.list)i.move(e)&&(t=!0);return t}up(e){let t=!1;for(let i of this.list)i.up(e)&&(t=!0);return t}wheel(e){let t=!1;for(let i of this.list)i.wheel(e)&&(t=!0);return t}},zt=class{constructor(e){this.parent=e,this.paused=!1}destroy(){}down(e){return!1}move(e){return!1}up(e){return!1}wheel(e){return!1}update(e){}resize(){}reset(){}pause(){this.paused=!0}resume(){this.paused=!1}},Qee={removeOnInterrupt:!1,ease:"linear",time:1e3},Tx=class extends zt{constructor(e,t={}){super(e),this.startWidth=null,this.startHeight=null,this.deltaWidth=null,this.deltaHeight=null,this.width=null,this.height=null,this.time=0,this.options=Object.assign({},Qee,t),this.options.ease=sm(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.options.position&&this.parent.moveCenter(this.options.position),this.parent.emit("animate-end",this.parent),this.options.callbackOnComplete&&this.options.callbackOnComplete(this.parent)}update(e){if(this.paused)return;this.time+=e;let t=new j(this.parent.scale.x,this.parent.scale.y);if(this.time>=this.options.time){let i=this.parent.width,n=this.parent.height;this.complete(),(i!==this.parent.width||n!==this.parent.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:t,type:"animate"})}else{let i=this.options.ease(this.time,0,1,this.options.time);if(this.width!==null){let n=this.startWidth,s=this.deltaWidth;this.parent.fitWidth(n+s*i,this.keepCenter,this.height===null)}if(this.height!==null){let n=this.startHeight,s=this.deltaHeight;this.parent.fitHeight(n+s*i,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){let n=this.startX,s=this.startY,o=this.deltaX,a=this.deltaY,l=new j(this.parent.x,this.parent.y);this.parent.moveCenter(n+o*i,s+a*i),this.parent.emit("moved",{viewport:this.parent,original:l,type:"animate"})}(this.width||this.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:t,type:"animate"})}}},See={sides:"all",friction:.5,time:150,ease:"easeInOutSine",underflow:"center",bounceBox:null},Mx=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},See,t),this.ease=sm(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;let i=this.options.underflow.toLowerCase();i==="center"?(this.underflowX=0,this.underflowY=0):(this.underflowX=i.indexOf("left")!==-1?-1:i.indexOf("right")!==-1?1:0,this.underflowY=i.indexOf("top")!==-1?-1:i.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(e){if(!this.paused){if(this.bounce(),this.toX){let t=this.toX;t.time+=e,this.parent.emit("moved",{viewport:this.parent,type:"bounce-x"}),t.time>=this.options.time?(this.parent.x=t.end,this.toX=null,this.parent.emit("bounce-x-end",this.parent)):this.parent.x=this.ease(t.time,t.start,t.delta,this.options.time)}if(this.toY){let t=this.toY;t.time+=e,this.parent.emit("moved",{viewport:this.parent,type:"bounce-y"}),t.time>=this.options.time?(this.parent.y=t.end,this.toY=null,this.parent.emit("bounce-y-end",this.parent)):this.parent.y=this.ease(t.time,t.start,t.delta,this.options.time)}}}calcUnderflowX(){let e;switch(this.underflowX){case-1:e=0;break;case 1:e=this.parent.screenWidth-this.parent.screenWorldWidth;break;default:e=(this.parent.screenWidth-this.parent.screenWorldWidth)/2}return e}calcUnderflowY(){let e;switch(this.underflowY){case-1:e=0;break;case 1:e=this.parent.screenHeight-this.parent.screenWorldHeight;break;default:e=(this.parent.screenHeight-this.parent.screenWorldHeight)/2}return e}oob(){let e=this.options.bounceBox;if(e){let t=typeof e.x>"u"?0:e.x,i=typeof e.y>"u"?0:e.y,n=typeof e.width>"u"?this.parent.worldWidth:e.width,s=typeof e.height>"u"?this.parent.worldHeight:e.height;return{left:this.parent.left<t,right:this.parent.right>n,top:this.parent.top<i,bottom:this.parent.bottom>s,topLeft:new j(t*this.parent.scale.x,i*this.parent.scale.y),bottomRight:new j(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 j(0,0),bottomRight:new j(this.parent.worldWidth*this.parent.scale.x-this.parent.screenWidth,this.parent.worldHeight*this.parent.scale.y-this.parent.screenHeight)}}bounce(){var e,t;if(this.paused)return;let i,n=this.parent.plugins.get("decelerate",!0);n&&(n.x||n.y)&&(n.x&&n.percentChangeX===((e=n.options)==null?void 0:e.friction)||n.y&&n.percentChangeY===((t=n.options)==null?void 0:t.friction))&&(i=this.oob(),(i.left&&this.left||i.right&&this.right)&&(n.percentChangeX=this.options.friction),(i.top&&this.top||i.bottom&&this.bottom)&&(n.percentChangeY=this.options.friction));let s=this.parent.plugins.get("drag",!0)||{},o=this.parent.plugins.get("pinch",!0)||{};if(n=n||{},!(s!=null&&s.active)&&!(o!=null&&o.active)&&(!this.toX||!this.toY)&&(!n.x||!n.y)){i=i||this.oob();let a=i.topLeft,l=i.bottomRight;if(!this.toX&&!n.x){let c=null;i.left&&this.left?c=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-a.x:i.right&&this.right&&(c=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-l.x),c!==null&&this.parent.x!==c&&(this.toX={time:0,start:this.parent.x,delta:c-this.parent.x,end:c},this.parent.emit("bounce-x-start",this.parent))}if(!this.toY&&!n.y){let c=null;i.top&&this.top?c=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-a.y:i.bottom&&this.bottom&&(c=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-l.y),c!==null&&this.parent.y!==c&&(this.toY={time:0,start:this.parent.y,delta:c-this.parent.y,end:c},this.parent.emit("bounce-y-start",this.parent))}}}reset(){this.toX=this.toY=null,this.bounce()}},Tee={left:!1,right:!1,top:!1,bottom:!1,direction:null,underflow:"center"},Px=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},Tee,t),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(){let e=this.options.underflow.toLowerCase();e==="none"?this.noUnderflow=!0:e==="center"?(this.underflowX=this.underflowY=0,this.noUnderflow=!1):(this.underflowX=e.indexOf("left")!==-1?-1:e.indexOf("right")!==-1?1:0,this.underflowY=e.indexOf("top")!==-1?-1:e.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;let e=new j(this.parent.x,this.parent.y),t=this.parent.plugins.decelerate||{};if(this.options.left!==null||this.options.right!==null){let i=!1;if(!this.noUnderflow&&this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x!==0&&(this.parent.x=0,i=!0);break;case 1:this.parent.x!==this.parent.screenWidth-this.parent.screenWorldWidth&&(this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth,i=!0);break;default:this.parent.x!==(this.parent.screenWidth-this.parent.screenWorldWidth)/2&&(this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2,i=!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,t.x=0,i=!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,t.x=0,i=!0);i&&this.parent.emit("moved",{viewport:this.parent,original:e,type:"clamp-x"})}if(this.options.top!==null||this.options.bottom!==null){let i=!1;if(!this.noUnderflow&&this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y!==0&&(this.parent.y=0,i=!0);break;case 1:this.parent.y!==this.parent.screenHeight-this.parent.screenWorldHeight&&(this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight,i=!0);break;default:this.parent.y!==(this.parent.screenHeight-this.parent.screenWorldHeight)/2&&(this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2,i=!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,t.y=0,i=!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,t.y=0,i=!0);i&&this.parent.emit("moved",{viewport:this.parent,original:e,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()}},Mee={minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,minScale:null,maxScale:null},Dx=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},Mee,t),this.clamp()}resize(){this.clamp()}clamp(){if(!this.paused){if(this.options.minWidth||this.options.minHeight||this.options.maxWidth||this.options.maxHeight){let e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight;if(this.options.minWidth!==null&&e<this.options.minWidth){let i=this.parent.scale.x;this.parent.fitWidth(this.options.minWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/i,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.maxWidth!==null&&e>this.options.maxWidth){let i=this.parent.scale.x;this.parent.fitWidth(this.options.maxWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/i,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.minHeight!==null&&t<this.options.minHeight){let i=this.parent.scale.y;this.parent.fitHeight(this.options.minHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/i,e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}if(this.options.maxHeight!==null&&t>this.options.maxHeight){let i=this.parent.scale.y;this.parent.fitHeight(this.options.maxHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/i,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}}else if(this.options.minScale||this.options.maxScale){let e={x:null,y:null},t={x:null,y:null};if(typeof this.options.minScale=="number")e.x=this.options.minScale,e.y=this.options.minScale;else if(this.options.minScale!==null){let s=this.options.minScale;e.x=typeof s.x>"u"?null:s.x,e.y=typeof s.y>"u"?null:s.y}if(typeof this.options.maxScale=="number")t.x=this.options.maxScale,t.y=this.options.maxScale;else if(this.options.maxScale!==null){let s=this.options.maxScale;t.x=typeof s.x>"u"?null:s.x,t.y=typeof s.y>"u"?null:s.y}let i=this.parent.scale.x,n=this.parent.scale.y;e.x!==null&&i<e.x&&(i=e.x),t.x!==null&&i>t.x&&(i=t.x),e.y!==null&&n<e.y&&(n=e.y),t.y!==null&&n>t.y&&(n=t.y),(i!==this.parent.scale.x||n!==this.parent.scale.y)&&(this.parent.scale.set(i,n),this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"}))}}}reset(){this.clamp()}},Pee={friction:.98,bounce:.8,minSpeed:.01},Pn=16,Rx=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},Pee,t),this.saved=[],this.timeSinceRelease=0,this.reset(),this.parent.on("moved",i=>this.handleMoved(i))}down(){return this.saved=[],this.x=this.y=null,!1}isActive(){return!!(this.x||this.y)}move(){if(this.paused)return!1;let e=this.parent.input.count();return(e===1||e>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}handleMoved(e){if(this.saved.length){let t=this.saved[this.saved.length-1];e.type==="clamp-x"&&e.original?t.x===e.original.x&&(t.x=this.parent.x):e.type==="clamp-y"&&e.original&&t.y===e.original.y&&(t.y=this.parent.y)}}up(){if(this.parent.input.count()===0&&this.saved.length){let e=performance.now();for(let t of this.saved)if(t.time>=e-100){let i=e-t.time;this.x=(this.parent.x-t.x)/i,this.y=(this.parent.y-t.y)/i,this.percentChangeX=this.percentChangeY=this.options.friction,this.timeSinceRelease=0;break}}return!1}activate(e){e=e||{},typeof e.x<"u"&&(this.x=e.x,this.percentChangeX=this.options.friction),typeof e.y<"u"&&(this.y=e.y,this.percentChangeY=this.options.friction)}update(e){if(this.paused)return;let t=this.x||this.y,i=this.timeSinceRelease,n=this.timeSinceRelease+e;if(this.x){let s=this.percentChangeX,o=Math.log(s);this.parent.x+=this.x*Pn/o*(Math.pow(s,n/Pn)-Math.pow(s,i/Pn)),this.x*=Math.pow(this.percentChangeX,e/Pn)}if(this.y){let s=this.percentChangeY,o=Math.log(s);this.parent.y+=this.y*Pn/o*(Math.pow(s,n/Pn)-Math.pow(s,i/Pn)),this.y*=Math.pow(this.percentChangeY,e/Pn)}this.timeSinceRelease+=e,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)),t&&this.parent.emit("moved",{viewport:this.parent,type:"decelerate"})}reset(){this.x=this.y=null}},Dee={direction:"all",pressDrag:!0,wheel:!0,wheelScroll:1,reverse:!1,clampWheel:!1,underflow:"center",factor:1,mouseButtons:"all",keyToPress:null,ignoreKeyToPressOnTouch:!1,lineHeight:20,wheelSwapAxes:!1},Fx=class extends zt{constructor(e,t={}){super(e),this.windowEventHandlers=[],this.options=Object.assign({},Dee,t),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(e){let t=n=>{e.includes(n.code)&&(this.keyIsPressed=!0)},i=n=>{e.includes(n.code)&&(this.keyIsPressed=!1)};this.addWindowEventHandler("keyup",i),this.addWindowEventHandler("keydown",t)}addWindowEventHandler(e,t){typeof window>"u"||(window.addEventListener(e,t),this.windowEventHandlers.push({event:e,handler:t}))}destroy(){typeof window>"u"||this.windowEventHandlers.forEach(({event:e,handler:t})=>{window.removeEventListener(e,t)})}mouseButtons(e){!e||e==="all"?this.mouse=[!0,!0,!0]:this.mouse=[e.indexOf("left")!==-1,e.indexOf("middle")!==-1,e.indexOf("right")!==-1]}parseUnderflow(){let e=this.options.underflow.toLowerCase();e==="center"?(this.underflowX=0,this.underflowY=0):(e.includes("left")?this.underflowX=-1:e.includes("right")?this.underflowX=1:this.underflowX=0,e.includes("top")?this.underflowY=-1:e.includes("bottom")?this.underflowY=1:this.underflowY=0)}checkButtons(e){let t=e.pointerType==="mouse",i=this.parent.input.count();return!!((i===1||i>1&&!this.parent.plugins.get("pinch",!0))&&(!t||this.mouse[e.button]))}checkKeyPress(e){return!this.options.keyToPress||this.keyIsPressed||this.options.ignoreKeyToPressOnTouch&&e.data.pointerType==="touch"}down(e){return this.paused||!this.options.pressDrag?!1:this.checkButtons(e)&&this.checkKeyPress(e)?(this.last={x:e.global.x,y:e.global.y},(this.parent.parent||this.parent).toLocal(this.last,void 0,this.last),this.current=e.pointerId,!0):(this.last=null,!1)}get active(){return this.moved}move(e){if(this.paused||!this.options.pressDrag)return!1;if(this.last&&this.current===e.data.pointerId){let t=e.global.x,i=e.global.y,n=this.parent.input.count();if(n===1||n>1&&!this.parent.plugins.get("pinch",!0)){let s={x:t,y:i};(this.parent.parent||this.parent).toLocal(s,void 0,s);let o=s.x-this.last.x,a=s.y-this.last.y;if(this.moved||this.xDirection&&this.parent.input.checkThreshold(o)||this.yDirection&&this.parent.input.checkThreshold(a))return this.xDirection&&(this.parent.x+=(s.x-this.last.x)*this.options.factor),this.yDirection&&(this.parent.y+=(s.y-this.last.y)*this.options.factor),this.last=s,this.moved||this.parent.emit("drag-start",{event:e,screen:new j(this.last.x,this.last.y),world:this.parent.toWorld(new j(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(e){if(this.paused)return!1;let t=this.parent.input.touches;if(t.length===1){let i=t[0];return i.last&&(this.last={x:i.last.x,y:i.last.y},this.current=i.id),this.moved=!1,!0}else if(this.last&&this.moved){let i=new j(this.last.x,this.last.y);return(this.parent.parent||this.parent).toGlobal(i,i,!0),this.parent.emit("drag-end",{event:e,screen:i,world:this.parent.toWorld(i),viewport:this.parent}),this.last=null,this.moved=!1,!0}return!1}wheel(e){if(this.paused)return!1;if(this.options.wheel){let t=this.parent.plugins.get("wheel",!0);if(!t||!t.options.wheelZoom&&!e.ctrlKey){let i=e.deltaMode?this.options.lineHeight:1,n=[e.deltaX,e.deltaY],[s,o]=this.options.wheelSwapAxes?n.reverse():n;return this.xDirection&&(this.parent.x+=s*i*this.options.wheelScroll*this.reverse),this.yDirection&&(this.parent.y+=o*i*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||e.preventDefault(),this.parent.options.stopPropagation&&e.stopPropagation(),!0}}return!1}resume(){this.last=null,this.paused=!1}clamp(){let e=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,e.x=0):this.parent.right>this.parent.worldWidth&&(this.parent.x=-this.parent.worldWidth*this.parent.scale.x+this.parent.screenWidth,e.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,e.y=0),this.parent.bottom>this.parent.worldHeight&&(this.parent.y=-this.parent.worldHeight*this.parent.scale.y+this.parent.screenHeight,e.y=0)}},Ree={speed:0,acceleration:null,radius:null},kx=class extends zt{constructor(e,t,i={}){super(e),this.target=t,this.options=Object.assign({},Ree,i),this.velocity={x:0,y:0}}update(e){if(this.paused)return;let t=this.parent.center,i=this.target.x,n=this.target.y;if(this.options.radius)if(Math.sqrt(Math.pow(this.target.y-t.y,2)+Math.pow(this.target.x-t.x,2))>this.options.radius){let a=Math.atan2(this.target.y-t.y,this.target.x-t.x);i=this.target.x-Math.cos(a)*this.options.radius,n=this.target.y-Math.sin(a)*this.options.radius}else return;let s=i-t.x,o=n-t.y;if(s||o)if(this.options.speed)if(this.options.acceleration){let a=Math.atan2(n-t.y,i-t.x),l=Math.sqrt(Math.pow(s,2)+Math.pow(o,2));if(l){let c=(Math.pow(this.velocity.x,2)+Math.pow(this.velocity.y,2))/(2*this.options.acceleration);l>c?this.velocity={x:Math.min(this.velocity.x+(this.options.acceleration*e,this.options.speed)),y:Math.min(this.velocity.y+(this.options.acceleration*e,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)};let u=Math.cos(a)*this.velocity.x,A=Math.sin(a)*this.velocity.y,h=Math.abs(u)>Math.abs(s)?i:t.x+u,d=Math.abs(A)>Math.abs(o)?n:t.y+A;this.parent.moveCenter(h,d),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}}else{let a=Math.atan2(n-t.y,i-t.x),l=Math.cos(a)*this.options.speed,c=Math.sin(a)*this.options.speed,u=Math.abs(l)>Math.abs(s)?i:t.x+l,A=Math.abs(c)>Math.abs(o)?n:t.y+c;this.parent.moveCenter(u,A),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}else this.parent.moveCenter(i,n),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}},Fee={radius:null,distance:null,top:null,bottom:null,left:null,right:null,speed:8,reverse:!1,noDecelerate:!1,linear:!1,allowButtons:!1},Ox=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},Fee,t),this.reverse=this.options.reverse?1:-1,this.radiusSquared=typeof this.options.radius=="number"?Math.pow(this.options.radius,2):null,this.resize()}resize(){let e=this.options.distance;e!==null?(this.left=e,this.top=e,this.right=this.parent.screenWidth-e,this.bottom=this.parent.screenHeight-e):this.options.radius||(this.left=this.options.left,this.top=this.options.top,this.right=this.options.right===null?null:this.parent.screenWidth-this.options.right,this.bottom=this.options.bottom===null?null:this.parent.screenHeight-this.options.bottom)}down(){return this.paused||this.options.allowButtons||(this.horizontal=this.vertical=null),!1}move(e){if(this.paused||e.pointerType!=="mouse"&&e.pointerId!==1||!this.options.allowButtons&&e.buttons!==0)return!1;let t=e.global.x,i=e.global.y;if(this.radiusSquared){let n=this.parent.toScreen(this.parent.center);if(Math.pow(n.x-t,2)+Math.pow(n.y-i,2)>=this.radiusSquared){let s=Math.atan2(n.y-i,n.x-t);this.options.linear?(this.horizontal=Math.round(Math.cos(s))*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.round(Math.sin(s))*this.options.speed*this.reverse*(60/1e3)):(this.horizontal=Math.cos(s)*this.options.speed*this.reverse*(60/1e3),this.vertical=Math.sin(s)*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&&t<this.left?this.horizontal=Number(this.reverse)*this.options.speed*(60/1e3):this.right!==null&&t>this.right?this.horizontal=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateHorizontal(),this.horizontal=0),this.top!==null&&i<this.top?this.vertical=Number(this.reverse)*this.options.speed*(60/1e3):this.bottom!==null&&i>this.bottom?this.vertical=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateVertical(),this.vertical=0);return!1}decelerateHorizontal(){let e=this.parent.plugins.get("decelerate",!0);this.horizontal&&e&&!this.options.noDecelerate&&e.activate({x:this.horizontal*this.options.speed*this.reverse/(1e3/60)})}decelerateVertical(){let e=this.parent.plugins.get("decelerate",!0);this.vertical&&e&&!this.options.noDecelerate&&e.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)){let e=this.parent.center;this.horizontal&&(e.x+=this.horizontal*this.options.speed),this.vertical&&(e.y+=this.vertical*this.options.speed),this.parent.moveCenter(e),this.parent.emit("moved",{viewport:this.parent,type:"mouse-edges"})}}},kee={noDrag:!1,percent:1,center:null,factor:1,axis:"all"},Oee=new j,Gx=class extends zt{constructor(e,t={}){super(e),this.active=!1,this.pinching=!1,this.moved=!1,this.options=Object.assign({},kee,t)}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(e){if(this.paused||!this.active)return!1;let{x:t,y:i}=(this.parent.parent||this.parent).toLocal(e.global,void 0,Oee),n=this.parent.input.touches;if(n.length>=2){let 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===e.pointerId?s.last={x:t,y:i,data:e}:o.id===e.pointerId&&(o.last={x:t,y:i,data:e}),a){let l,c=new j(s.last.x+(o.last.x-s.last.x)/2,s.last.y+(o.last.y-s.last.y)/2);this.options.center||(l=this.parent.toLocal(c,this.parent.parent||this.parent));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;let A=(1-a/u)*this.options.percent*(this.isAxisX()?this.parent.scale.x:this.parent.scale.y);this.isAxisX()&&(this.parent.scale.x+=A),this.isAxisY()&&(this.parent.scale.y+=A),this.parent.emit("zoomed",{viewport:this.parent,type:"pinch",center:c});let h=this.parent.plugins.get("clamp-zoom",!0);if(h&&h.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let d=(this.parent.parent||this.parent).toLocal(l,this.parent);this.parent.x+=(c.x-d.x)*this.options.factor,this.parent.y+=(c.y-d.y)*this.options.factor,this.parent.emit("moved",{viewport:this.parent,type:"pinch"})}!this.options.noDrag&&this.lastCenter&&(this.parent.x+=(c.x-this.lastCenter.x)*this.options.factor,this.parent.y+=(c.y-this.lastCenter.y)*this.options.factor,this.parent.emit("moved",{viewport:this.parent,type:"pinch"})),this.lastCenter=c,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}},Gee={topLeft:!1,friction:.8,time:1e3,ease:"easeInOutSine",interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1},Ux=class extends zt{constructor(e,t,i,n={}){super(e),this.options=Object.assign({},Gee,n),this.ease=sm(n.ease,"easeInOutSine"),this.x=t,this.y=i,this.options.forceStart&&this.snapStart()}snapStart(){this.percent=0,this.snapping={time:0};let e=this.options.topLeft?this.parent.corner:this.parent.center;this.deltaX=this.x-e.x,this.deltaY=this.y-e.y,this.startX=e.x,this.startY=e.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){let e=this.parent.plugins.get("decelerate",!0);e&&(e.x||e.y)&&(e.percentChangeX=e.percentChangeY=this.options.friction)}return!1}update(e){if(!this.paused&&!(this.options.interrupt&&this.parent.input.count()!==0))if(this.snapping){let t=this.snapping;t.time+=e;let i,n,s,o=this.startX,a=this.startY,l=this.deltaX,c=this.deltaY;if(t.time>this.options.time)i=!0,n=o+l,s=a+c;else{let u=this.ease(t.time,0,1,this.options.time);n=o+l*u,s=a+c*u}this.options.topLeft?this.parent.moveCorner(n,s):this.parent.moveCenter(n,s),this.parent.emit("moved",{viewport:this.parent,type:"snap"}),i&&(this.options.removeOnComplete&&this.parent.plugins.remove("snap"),this.parent.emit("snap-end",this.parent),this.snapping=null)}else{let t=this.options.topLeft?this.parent.corner:this.parent.center;(t.x!==this.x||t.y!==this.y)&&this.snapStart()}}},Uee={width:0,height:0,time:1e3,ease:"easeInOutSine",center:null,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1,noMove:!1},Lx=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},Uee,t),this.ease=sm(this.options.ease),this.xIndependent=!1,this.yIndependent=!1,this.xScale=0,this.yScale=0,this.options.width>0&&(this.xScale=e.screenWidth/this.options.width,this.xIndependent=!0),this.options.height>0&&(this.yScale=e.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?(e.container.scale.x=this.xScale,e.container.scale.y=this.yScale,this.options.removeOnComplete&&this.parent.plugins.remove("snap-zoom")):t.forceStart&&this.createSnapping()}createSnapping(){let e=this.parent.worldScreenWidth,t=this.parent.worldScreenHeight,i=this.parent.screenWidth/this.xScale,n=this.parent.screenHeight/this.yScale;this.snapping={time:0,startX:e,startY:t,deltaX:i-e,deltaY:n-t},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(e){if(this.paused||this.options.interrupt&&this.parent.input.count()!==0)return;let t;if(!this.options.center&&!this.options.noMove&&(t=this.parent.center),!this.snapping)(this.parent.scale.x!==this.xScale||this.parent.scale.y!==this.yScale)&&this.createSnapping();else if(this.snapping){let i=this.snapping;if(i.time+=e,i.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{let 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}let 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(t))}}resume(){this.snapping=null,super.resume()}},Lee={percent:.1,smooth:!1,interrupt:!0,reverse:!1,center:null,lineHeight:20,axis:"all",keyToPress:null,trackpadPinch:!1,wheelZoom:!0},Nx=class extends zt{constructor(e,t={}){super(e),this.options=Object.assign({},Lee,t),this.keyIsPressed=!1,this.options.keyToPress&&this.handleKeyPresses(this.options.keyToPress)}handleKeyPresses(e){typeof window>"u"||(window.addEventListener("keydown",t=>{e.includes(t.code)&&(this.keyIsPressed=!0)}),window.addEventListener("keyup",t=>{e.includes(t.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){let e=this.smoothingCenter,t=this.smoothing,i;this.options.center||(i=this.parent.toLocal(e)),this.isAxisX()&&(this.parent.scale.x+=t.x),this.isAxisY()&&(this.parent.scale.y+=t.y),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});let n=this.parent.plugins.get("clamp-zoom",!0);if(n&&n.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let s=this.parent.parent||this.parent;s.toLocal(i,this.parent,i);let o=s.toLocal(e);this.parent.x+=o.x-i.x,this.parent.y+=o.y-i.y}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.smoothingCount++,typeof this.options.smooth=="number"&&this.smoothingCount>=this.options.smooth&&(this.smoothing=null)}}pinch(e){if(this.paused)return;let t=this.parent.input.getPointerPosition(e),i=-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/200,n=Math.pow(2,(1+this.options.percent)*i),s;this.options.center||(s=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x*=n),this.isAxisY()&&(this.parent.scale.y*=n),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});let o=this.parent.plugins.get("clamp-zoom",!0);if(o&&o.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let a=this.parent.parent||this.parent;a.toLocal(s,this.parent,s);let l=a.toLocal(t);this.parent.x+=l.x-s.x,this.parent.y+=l.y-s.y}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.emit("wheel-start",{event:e,viewport:this.parent})}wheel(e){if(this.paused||!this.checkKeyPress())return!1;if(e.ctrlKey&&this.options.trackpadPinch)this.pinch(e);else if(this.options.wheelZoom){let t=this.parent.input.getPointerPosition(e),i=(this.options.reverse?-1:1)*-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/500,n=Math.pow(2,(1+this.options.percent)*i);if(this.options.smooth){let s={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+s.x)*n-this.parent.scale.x)/this.options.smooth,y:((this.parent.scale.y+s.y)*n-this.parent.scale.y)/this.options.smooth},this.smoothingCount=0,this.smoothingCenter=t}else{let s;this.options.center||(s=this.parent.toLocal(t)),this.isAxisX()&&(this.parent.scale.x*=n),this.isAxisY()&&(this.parent.scale.y*=n),this.parent.emit("zoomed",{viewport:this.parent,type:"wheel"});let o=this.parent.plugins.get("clamp-zoom",!0);if(o&&o.clamp(),this.options.center)this.parent.moveCenter(this.options.center);else{let a=this.parent.parent||this.parent;a.toLocal(s,this.parent,s);let l=a.toLocal(t);this.parent.x+=l.x-s.x,this.parent.y+=l.y-s.y}}this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.emit("wheel-start",{event:e,viewport:this.parent})}return!this.parent.options.passiveWheel}},Nee={screenWidth:typeof window>"u"?0:window.innerWidth,screenHeight:typeof window>"u"?0:window.innerHeight,worldWidth:null,worldHeight:null,threshold:5,passiveWheel:!0,stopPropagation:!1,forceHitArea:null,noTicker:!1,disableOnContextMenu:!1,ticker:ot.shared,allowPreserveDragOutside:!1},nm=class extends Ae{constructor(e){super(),this._disableOnContextMenu=t=>t.preventDefault(),this.options={...Nee,...e},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.disableOnContextMenu&&this.options.events.domElement.addEventListener("contextmenu",this._disableOnContextMenu),this.options.noTicker||(this.tickerFunction=()=>this.update(this.options.ticker.elapsedMS),this.options.ticker.add(this.tickerFunction)),this.input=new Qx(this),this.plugins=new Sx(this)}destroy(e){var t;!this.options.noTicker&&this.tickerFunction&&this.options.ticker.remove(this.tickerFunction),this.options.disableOnContextMenu&&((t=this.options.events.domElement)==null||t.removeEventListener("contextmenu",this._disableOnContextMenu)),this.input.destroy(),super.destroy(e)}update(e){this.pause||(this.plugins.update(e),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 ee(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(e=typeof window>"u"?0:window.innerWidth,t=typeof window>"u"?0:window.innerHeight,i,n){this.screenWidth=e,this.screenHeight=t,typeof i<"u"&&(this._worldWidth=i),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(e){this._worldWidth=e,this.plugins.resize()}get worldHeight(){return this._worldHeight?this._worldHeight:this.height/this.scale.y}set worldHeight(e){this._worldHeight=e,this.plugins.resize()}getVisibleBounds(){return new ee(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight)}toWorld(e,t){return arguments.length===2?this.toLocal(new j(e,t)):this.toLocal(e)}toScreen(e,t){return arguments.length===2?this.toGlobal(new j(e,t)):this.toGlobal(e)}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 j(this.worldScreenWidth/2-this.x/this.scale.x,this.worldScreenHeight/2-this.y/this.scale.y)}set center(e){this.moveCenter(e)}moveCenter(...e){let t,i;typeof e[0]=="number"?(t=e[0],i=e[1]):(t=e[0].x,i=e[0].y);let n=(this.worldScreenWidth/2-t)*this.scale.x,s=(this.worldScreenHeight/2-i)*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 j(-this.x/this.scale.x,-this.y/this.scale.y)}set corner(e){this.moveCorner(e)}moveCorner(...e){let t,i;return e.length===1?(t=-e[0].x*this.scale.x,i=-e[0].y*this.scale.y):(t=-e[0]*this.scale.x,i=-e[1]*this.scale.y),(t!==this.x||i!==this.y)&&(this.position.set(t,i),this.plugins.reset(),this.dirty=!0),this}get screenWidthInWorldPixels(){return this.screenWidth/this.scale.x}get screenHeightInWorldPixels(){return this.screenHeight/this.scale.y}findFitWidth(e){return this.screenWidth/e}findFitHeight(e){return this.screenHeight/e}findFit(e,t){let i=this.screenWidth/e,n=this.screenHeight/t;return Math.min(i,n)}findCover(e,t){let i=this.screenWidth/e,n=this.screenHeight/t;return Math.max(i,n)}fitWidth(e=this.worldWidth,t,i=!0,n){let s;t&&(s=this.center),this.scale.x=this.screenWidth/e,i&&(this.scale.y=this.scale.x);let o=this.plugins.get("clamp-zoom",!0);return!n&&o&&o.clamp(),t&&s&&this.moveCenter(s),this}fitHeight(e=this.worldHeight,t,i=!0,n){let s;t&&(s=this.center),this.scale.y=this.screenHeight/e,i&&(this.scale.x=this.scale.y);let o=this.plugins.get("clamp-zoom",!0);return!n&&o&&o.clamp(),t&&s&&this.moveCenter(s),this}fitWorld(e){let t;e&&(t=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;let i=this.plugins.get("clamp-zoom",!0);return i&&i.clamp(),e&&t&&this.moveCenter(t),this}fit(e,t=this.worldWidth,i=this.worldHeight){let n;e&&(n=this.center),this.scale.x=this.screenWidth/t,this.scale.y=this.screenHeight/i,this.scale.x<this.scale.y?this.scale.y=this.scale.x:this.scale.x=this.scale.y;let s=this.plugins.get("clamp-zoom",!0);return s&&s.clamp(),e&&n&&this.moveCenter(n),this}setZoom(e,t){let i;t&&(i=this.center),this.scale.set(e);let n=this.plugins.get("clamp-zoom",!0);return n&&n.clamp(),t&&i&&this.moveCenter(i),this}zoomPercent(e,t){return this.setZoom(this.scale.x+this.scale.x*e,t)}zoom(e,t){return this.fitWidth(e+this.worldScreenWidth,t),this}get scaled(){return this.scale.x}set scaled(e){this.setZoom(e,!0)}snapZoom(e){return this.plugins.add("snap-zoom",new Lx(this,e)),this}OOB(){return{left:this.left<0,right:this.right>this.worldWidth,top:this.top<0,bottom:this.bottom>this.worldHeight,cornerPoint:new j(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(e){this.x=-e*this.scale.x+this.screenWidth,this.plugins.reset()}get left(){return-this.x/this.scale.x}set left(e){this.x=-e*this.scale.x,this.plugins.reset()}get top(){return-this.y/this.scale.y}set top(e){this.y=-e*this.scale.y,this.plugins.reset()}get bottom(){return-this.y/this.scale.y+this.worldScreenHeight}set bottom(e){this.y=-e*this.scale.y+this.screenHeight,this.plugins.reset()}get dirty(){return!!this._dirty}set dirty(e){this._dirty=e}get forceHitArea(){return this._forceHitArea}set forceHitArea(e){e?(this._forceHitArea=e,this.hitArea=e):(this._forceHitArea=null,this.hitArea=new ee(0,0,this.worldWidth,this.worldHeight))}drag(e){return this.plugins.add("drag",new Fx(this,e)),this}clamp(e){return this.plugins.add("clamp",new Px(this,e)),this}decelerate(e){return this.plugins.add("decelerate",new Rx(this,e)),this}bounce(e){return this.plugins.add("bounce",new Mx(this,e)),this}pinch(e){return this.plugins.add("pinch",new Gx(this,e)),this}snap(e,t,i){return this.plugins.add("snap",new Ux(this,e,t,i)),this}follow(e,t){return this.plugins.add("follow",new kx(this,e,t)),this}wheel(e){return this.plugins.add("wheel",new Nx(this,e)),this}animate(e){return this.plugins.add("animate",new Tx(this,e)),this}clampZoom(e){return this.plugins.add("clamp-zoom",new Dx(this,e)),this}mouseEdges(e){return this.plugins.add("mouse-edges",new Ox(this,e)),this}get pause(){return!!this._pause}set pause(e){this._pause=e,this.lastViewport=null,this.moving=!1,this.zooming=!1,e&&this.input.pause()}ensureVisible(e,t,i,n,s){s&&(i>this.worldScreenWidth||n>this.worldScreenHeight)&&(this.fit(!0,i,n),this.emit("zoomed",{viewport:this,type:"ensureVisible"}));let o=!1;e<this.left?(this.left=e,o=!0):e+i>this.right&&(this.right=e+i,o=!0),t<this.top?(this.top=t,o=!0):t+n>this.bottom&&(this.bottom=t+n,o=!0),o&&this.emit("moved",{viewport:this,type:"ensureVisible"})}};var Hee=["bounce-x-end","bounce-x-start","bounce-y-end","bounce-y-start","clicked","drag-end","drag-start","frame-end","mouse-edge-end","mouse-edge-start","moved","moved-end","pinch-end","pinch-start","snap-end","snap-start","snap-zoom-end","snap-zoom-start","wheel-scroll","zoomed","zoomed-end"],Hx=class extends et(nm){constructor(){super({noTicker:!0,events:{domElement:{addEventListener:()=>{}}}});this.overrideProps=["wheel"]}onInit(t){super.onInit(t);for(let i of Hee)t[i]&&this.on(i,t[i])}async onMount(t,i){await super.onMount(t,i);let{props:n}=t,{tick:s,app:o,canvasSize:a}=n.context,l=!1;Ye(()=>{this.screenWidth=a().width,this.screenHeight=a().height}),Ye(()=>{let c=o();if(!c)return;let u=c.renderer;u.events.domElement.addEventListener("wheel",this.input.wheelFunction),this.options.events=u.events}),this.tickSubscription=s.observable.subscribe(({value:c})=>{this.update(c.timestamp)}),t.props.context.viewport=this,this.updateViewportSettings(n)}onUpdate(t){super.onUpdate(t),this.updateViewportSettings(t)}updateViewportSettings(t){t.screenWidth!==void 0&&(this.screenWidth=t.screenWidth),t.screenHeight!==void 0&&(this.screenHeight=t.screenHeight),t.worldWidth!==void 0&&(this.worldWidth=t.worldWidth),t.worldHeight!==void 0&&(this.worldHeight=t.worldHeight),t.drag&&this.drag(t.drag),t.clamp&&this.clamp(t.clamp.value??t.clamp),t.wheel&&(t.wheel===!0?this.wheel():this.wheel(t.wheel)),t.decelerate&&(t.decelerate===!0?this.decelerate():this.decelerate(t.decelerate)),t.pinch&&(t.pinch===!0?this.pinch():this.pinch(t.pinch))}async onDestroy(t,i){let n=async()=>{this.tickSubscription.unsubscribe(),i()};await super.onDestroy(t,n)}};Ne("Viewport",Hx);function R2(r){return He("Viewport",r)}Re();var Wx=class extends et(uc){constructor(){super({width:0,height:0})}async onUpdate(e){for(let[t,i]of Object.entries(e))i!==void 0&&(t==="image"?this.texture=await Gt.load(i):t in this&&(this[t]=i))}};Ne("NineSliceSprite",Wx);function F2(r){return He("NineSliceSprite",r)}Re();var k2=["click","mouseover","mouseout","mouseenter","mouseleave","mousemove","mouseup","mousedown","touchstart","touchend","touchmove","touchcancel","wheel","scroll","resize","focus","blur","change","input","submit","reset","keydown","keyup","keypress","contextmenu","drag","dragend","dragenter","dragleave","dragover","drop","dragstart","select","selectstart","selectend","selectall","selectnone"],qx=class{constructor(){this.eventListeners=new Map;this.onBeforeDestroy=null;this.valueSignal=null;this.isFormElementType=!1}isFormElement(e){return["input","textarea","select"].includes(e.toLowerCase())}onInit(e){typeof e.element=="string"?(this.element=document.createElement(e.element),this.isFormElementType=this.isFormElement(e.element)):(this.element=e.element.value,this.isFormElementType=this.isFormElement(this.element.tagName)),(e.onBeforeDestroy||e["on-before-destroy"])&&(this.onBeforeDestroy=e.onBeforeDestroy||e["on-before-destroy"]);for(let t of k2)if(e.attrs?.[t]){let i=n=>{if(t==="submit"&&this.element.tagName.toLowerCase()==="form"){n.preventDefault();let s=new FormData(this.element),o={};s.forEach((a,l)=>{o[l]?Array.isArray(o[l])?o[l].push(a):o[l]=[o[l],a]:o[l]=a}),e.attrs[t]?.(n,o)}else e.attrs[t]?.(n)};this.eventListeners.set(t,i),this.element.addEventListener(t,i,!1)}if(e.children)for(let t of e.children)zy(t)?t.subscribe(({elements:i})=>{for(let n of i)this.element.appendChild(n.componentInstance.element)}):this.element.appendChild(t.componentInstance.element);this.onUpdate(e)}onMount(e){let i=e.propObservables.attrs;if(this.isFormElementType&&i?.value&&ke(i.value)){this.valueSignal=i.value,this.element.value=this.valueSignal();let n=s=>{let o=s.target;this.valueSignal.set(o.value)};this.eventListeners.set("input",n),this.element.addEventListener("input",n,!1)}}onUpdate(e){if(this.element){for(let[t,i]of Object.entries(e.attrs||{}))if(t==="class"){let n=i.items||i.value||i;if(this.element.className="",typeof n=="string")this.element.className=n;else if(Array.isArray(n))this.element.classList.add(...n);else if(typeof n=="object"&&n!==null)for(let[s,o]of Object.entries(n))o&&this.element.classList.add(s)}else if(t==="style"){let n=i.items||i.value||i;if(typeof n=="string")this.element.setAttribute("style",n);else if(typeof n=="object"&&n!==null)for(let[s,o]of Object.entries(n))o!=null&&(this.element.style[s]=o)}else if(t==="value"&&this.isFormElementType)if(ke(i)){let n=this.element.value,s=i();n!==s&&(this.element.value=s)}else this.element.value=i;else k2.includes(t)||this.element.setAttribute(t,i);e.textContent&&(this.element.textContent=e.textContent)}}async onDestroy(e,t){if(this.element){this.onBeforeDestroy&&await this.onBeforeDestroy();for(let[i,n]of this.eventListeners)this.element.removeEventListener(i,n,!1);this.eventListeners.clear(),this.element.remove(),t&&t()}}};Ne("DOMElement",qx);var om=r=>He("DOMElement",r);var jx=class extends et(vu){constructor(){super(...arguments);this.disableLayout=!0}onInit(t){let i=Di(om,{element:"div"},t.children);this.element=i.componentInstance.element}};Ne("DOMContainer",jx);var O2=r=>He("DOMContainer",r);Re();Re();um();var j2;function Kx(){return j2}function zx(r){j2=r}function Dn(r,e){return r?typeof r=="number"?r:typeof r=="string"&&r.endsWith("%")?(e??(e=1),e*(parseFloat(r)/100)):Number.isNaN(parseFloat(r))?0:parseFloat(r):0}function Tr(r){return typeof r=="number"?"number":r.endsWith("%")?"percentage":Number.isNaN(parseInt(r,10))?"keyword":"number"}function lm(r,e,t){return(e[r]-t[r])/2}function V2(r,e,t,i,n){let s=e==="percentage"?i[t]-n[t]:1;return Dn(r)*s}function cm(r,e,t){let[i,n]=r,s=Tr(i),o=Tr(n),a={x:void 0,y:void 0};switch(i){case"top":a.y=0;break;case"bottom":a.y=e.height-t.height;break;case"center":n==="left"||n==="right"?a.y=lm("height",e,t):a.x=lm("width",e,t);break;case"left":a.x=0;break;case"right":a.x=e.width-t.width;break;default:{let l=n==="top"||n==="bottom"||o!=="keyword"?"width":"height",c=l==="width"?"x":"y";a[c]=V2(i,s,l,e,t)}}switch(n){case"top":a.y=0;break;case"bottom":a.y=e.height-t.height;break;case"center":a.y===void 0?a.y=lm("height",e,t):a.x=lm("width",e,t);break;case"left":a.x=0;break;case"right":a.x=e.width-t.width;break;default:{let l=a.y===void 0?"y":"x",c=l==="y"?"height":"width";a[l]=V2(n,o,c,e,t)}}return a}function Am(r,e,t,i){let n=r==="right"||r==="bottom",s=t==="percentage"?e*i:e;return n?-s:s}function Y2(r,e,t){let[i,n,s,o]=r,a=Tr(i),l=Tr(n),c=Tr(s),u=Tr(o);if(l==="keyword"||u==="keyword")throw new Error("Invalid objectPosition value: second and fourth values must be numbers or percentages");if(a!=="keyword"||c!=="keyword")throw new Error("Invalid objectPosition value: first and third values must be keywords");let A=cm([i,s],e,t),h={...A},d=Dn(n),f=Dn(o);return i==="left"||i==="right"?h.x=A.x+Am(i,d,l,t.width):(i==="top"||i==="bottom")&&(h.y=A.y+Am(i,d,l,t.height)),s==="left"||s==="right"?h.x=A.x+Am(s,f,u,t.width):(s==="top"||s==="bottom")&&(h.y=A.y+Am(s,f,u,t.height)),h}function K2(r,e,t){let i=r[0],n={x:void 0,y:void 0};switch(i){case"top":n.y=0,n.x=(e.width-t.width)/2;break;case"bottom":n.y=e.height-t.height,n.x=(e.width-t.width)/2;break;case"left":n.x=0,n.y=(e.height-t.height)/2;break;case"right":n.x=e.width-t.width,n.y=(e.height-t.height)/2;break;case"center":n.x=(e.width-t.width)/2,n.y=(e.height-t.height)/2;break;default:{let o=Tr(i)==="percentage"?e.width-t.width:1;n.x=Dn(i)*o,n.y=(e.height-t.height)/2}}return n}function Da(r,e,t){if(!r)return{x:0,y:0};let i=typeof r=="string"?r.split(" "):[r];switch(i.length){case 1:return K2(i,e,t);case 2:return cm(i,e,t);case 4:return Y2(i,e,t);default:throw new Error("Invalid objectPosition value: must have 1, 2, or 4 values")}}Re();var Yee=new ge,Xx={width:0,height:0};function Kc(r){let e=r.target.getLocalBounds(Yee),t=r.target.scale;return Xx.width=Math.abs(e.width*t.x),Xx.height=Math.abs(e.height*t.y),Xx}function hm(r,e,t=.49){return Math.abs(r-e)<t}var zc=new Map;function z2(r,e=100,t){if(!zc.has(r)){let i=null,n=(...s)=>{if(zc.get(r).args=s,i)return;let o=()=>{i=null;let a=zc.get(r).args;r(...a)};e===0?o():i=setTimeout(o,e)};zc.set(r,{throttledFunction:n,args:null})}return zc.get(r).throttledFunction}var ete=Object.defineProperty,tte=(r,e,t)=>e in r?ete(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Qs=(r,e,t)=>tte(r,typeof e!="symbol"?e+"":e,t),Xc=class{constructor(){Qs(this,"autoUpdate",!0),Qs(this,"_debugEnabled",!1),Qs(this,"_debugRenderer",null),Qs(this,"_throttledUpdateSize"),Qs(this,"_throttle",100),Qs(this,"_modificationCount",50)}async init(e){zx(await q2());let{layout:t}=e??{},{autoUpdate:i,enableDebug:n,throttle:s,debugModificationCount:o}=t??{};n&&this.enableDebug(!0),i!==void 0&&(this.autoUpdate=i),this._throttle=s??this._throttle,this._throttledUpdateSize=z2(a=>this._updateSize(a),this._throttle),this._modificationCount=o??this._modificationCount}async enableDebug(e=!this._debugEnabled){if(this._debugEnabled=e,!this._debugRenderer){let t=await Promise.resolve().then(()=>($x(),$2));this._debugRenderer=new t.DebugRenderer}this._debugEnabled||this._debugRenderer.reset()}update(e){this._debugEnabled&&this._debugRenderer&&(this._debugRenderer.reset(),e.addChild(this._debugRenderer.holder)),this._throttledUpdateSize(e),this.updateLayout(e)}prerender({container:e}){this.autoUpdate&&this.update(e)}_updateSize(e){let t=e._layout;if(t){let i=t.style;if(i.width==="intrinsic"||i.height==="intrinsic"){let n=Kc(t);if(i.width==="intrinsic"){let s=t.yoga.getWidth().value;hm(s,n.width)||(t.yoga.setWidth(n.width),t.invalidateRoot())}if(i.height==="intrinsic"){let s=t.yoga.getHeight().value;hm(s,n.height)||(t.yoga.setHeight(n.height),t.invalidateRoot())}}if(!e.visible){t._onChildRemoved();return}}for(let i=0;i<e.children.length;i++)this._updateSize(e.children[i])}updateLayout(e){var t,i,n,s;let o=e._layout;if(e.visible){if(o){let a=o.yoga,l=o.style,c=(t=e.parent)==null?void 0:t.isOverflowContainer;if(!((i=e.parent)==null?void 0:i._layout)&&!c&&o._isDirty&&(o._isDirty=!1,a.calculateLayout(l.width,l.height,a.getDirection()??ii.LTR)),a.hasNewLayout()||o._forceUpdate){a.markLayoutSeen(),o._forceUpdate=!1,o._computedLayout=a.getComputedLayout();let A=Da(l.transformOrigin,o._computedLayout,{width:0,height:0});o._computedPixiLayout={...e.computeLayoutData(o._computedLayout),originX:A.x,originY:A.y},e.emit("layout",o),(n=e.onLayout)==null||n.call(e,o),e._onUpdate()}this._debugEnabled&&(o._styles.custom.debug||o._modificationCount>this._modificationCount&&o._styles.custom.debugHeat!==!1)&&((s=this._debugRenderer)==null||s.render(o))}for(let a=0;a<e.children.length;a++)this.updateLayout(e.children[a])}}destroy(){!this._debugEnabled&&this._debugRenderer&&this._debugRenderer.destroy()}};Qs(Xc,"extension",{type:[v.WebGLSystem,v.WebGPUSystem],name:"layout"});Re();um();var eU={"flex-start":Ze.FlexStart,"flex-end":Ze.FlexEnd,center:Ze.Center,stretch:Ze.Stretch,"space-between":Ze.SpaceBetween,"space-around":Ze.SpaceAround,"space-evenly":Ze.SpaceEvenly},tU={"flex-start":Ze.FlexStart,"flex-end":Ze.FlexEnd,center:Ze.Center,stretch:Ze.Stretch,baseline:Ze.Baseline},rU={"border-box":Yc.BorderBox,"content-box":Yc.ContentBox},iU={ltr:ii.LTR,rtl:ii.RTL},nU={none:xs.None,flex:xs.Flex,contents:xs.Contents},sU={row:dr.Row,column:dr.Column,"row-reverse":dr.RowReverse,"column-reverse":dr.ColumnReverse},oU={wrap:ws.Wrap,nowrap:ws.NoWrap,"wrap-reverse":ws.WrapReverse},aU={"flex-start":rr.FlexStart,"flex-end":rr.FlexEnd,center:rr.Center,"space-between":rr.SpaceBetween,"space-around":rr.SpaceAround,"space-evenly":rr.SpaceEvenly},uU={visible:Cs.Visible,hidden:Cs.Hidden,scroll:Cs.Scroll},lU={absolute:bs.Absolute,relative:bs.Relative,static:bs.Static},rte={alignContent:(r,e)=>r.setAlignContent(ite(e)),alignItems:(r,e)=>r.setAlignItems(cU(e)),alignSelf:(r,e)=>r.setAlignSelf(cU(e)),aspectRatio:(r,e)=>r.setAspectRatio(e),borderBottomWidth:(r,e)=>r.setBorder(se.Bottom,e),borderEndWidth:(r,e)=>r.setBorder(se.End,e),borderLeftWidth:(r,e)=>r.setBorder(se.Left,e),borderRightWidth:(r,e)=>r.setBorder(se.Right,e),borderStartWidth:(r,e)=>r.setBorder(se.Start,e),borderTopWidth:(r,e)=>r.setBorder(se.Top,e),borderWidth:(r,e)=>r.setBorder(se.All,e),borderInlineWidth:(r,e)=>r.setBorder(se.Horizontal,e),borderBlockWidth:(r,e)=>r.setBorder(se.Vertical,e),bottom:(r,e)=>r.setPosition(se.Bottom,e),boxSizing:(r,e)=>r.setBoxSizing(nte(e)),direction:(r,e)=>r.setDirection(ste(e)),display:(r,e)=>r.setDisplay(ote(e)),end:(r,e)=>r.setPosition(se.End,e),flex:(r,e)=>r.setFlex(e),flexBasis:(r,e)=>r.setFlexBasis(e),flexDirection:(r,e)=>r.setFlexDirection(ate(e)),rowGap:(r,e)=>r.setGap(Bs.Row,e),gap:(r,e)=>r.setGap(Bs.All,e),columnGap:(r,e)=>r.setGap(Bs.Column,e),flexGrow:(r,e)=>r.setFlexGrow(e),flexShrink:(r,e)=>r.setFlexShrink(e),flexWrap:(r,e)=>r.setFlexWrap(ute(e)),height:(r,e)=>r.setHeight(e),justifyContent:(r,e)=>r.setJustifyContent(lte(e)),left:(r,e)=>r.setPosition(se.Left,e),margin:(r,e)=>r.setMargin(se.All,e),marginBottom:(r,e)=>r.setMargin(se.Bottom,e),marginEnd:(r,e)=>r.setMargin(se.End,e),marginLeft:(r,e)=>r.setMargin(se.Left,e),marginRight:(r,e)=>r.setMargin(se.Right,e),marginStart:(r,e)=>r.setMargin(se.Start,e),marginTop:(r,e)=>r.setMargin(se.Top,e),marginInline:(r,e)=>r.setMargin(se.Horizontal,e),marginBlock:(r,e)=>r.setMargin(se.Vertical,e),maxHeight:(r,e)=>r.setMaxHeight(e),maxWidth:(r,e)=>r.setMaxWidth(e),minHeight:(r,e)=>r.setMinHeight(e),minWidth:(r,e)=>r.setMinWidth(e),overflow:(r,e)=>r.setOverflow(cte(e)),padding:(r,e)=>r.setPadding(se.All,e),paddingBottom:(r,e)=>r.setPadding(se.Bottom,e),paddingEnd:(r,e)=>r.setPadding(se.End,e),paddingLeft:(r,e)=>r.setPadding(se.Left,e),paddingRight:(r,e)=>r.setPadding(se.Right,e),paddingStart:(r,e)=>r.setPadding(se.Start,e),paddingTop:(r,e)=>r.setPadding(se.Top,e),paddingInline:(r,e)=>r.setPadding(se.Horizontal,e),paddingBlock:(r,e)=>r.setPadding(se.Vertical,e),position:(r,e)=>r.setPositionType(Ate(e)),right:(r,e)=>r.setPosition(se.Right,e),start:(r,e)=>r.setPosition(se.Start,e),top:(r,e)=>r.setPosition(se.Top,e),insetInline:(r,e)=>r.setPosition(se.Horizontal,e),insetBlock:(r,e)=>r.setPosition(se.Vertical,e),inset:(r,e)=>r.setPosition(se.All,e),width:(r,e)=>r.setWidth(e)};function ite(r){if(r in eU)return eU[r];throw new Error(`"${r}" is not a valid value for alignContent`)}function cU(r){if(r in tU)return tU[r];throw new Error(`"${r}" is not a valid value for alignItems`)}function nte(r){if(r in rU)return rU[r];throw new Error(`"${r}" is not a valid value for boxSizing`)}function ste(r){if(r in iU)return iU[r];throw new Error(`"${r}" is not a valid value for direction`)}function ote(r){if(r in nU)return nU[r];throw new Error(`"${r}" is not a valid value for display`)}function ate(r){if(r in sU)return sU[r];throw new Error(`"${r}" is not a valid value for flexDirection`)}function ute(r){if(r in oU)return oU[r];throw new Error(`"${r}" is not a valid value for flexWrap`)}function lte(r){if(r in aU)return aU[r];throw new Error(`"${r}" is not a valid value for justifyContent`)}function cte(r){if(r in uU)return uU[r];throw new Error(`"${r}" is not a valid value for overflow`)}function Ate(r){if(r in lU)return lU[r];throw new Error(`"${r}" is not a valid value for position`)}function eB(r,e={}){for(let[t,i]of Object.entries(e))try{let n=rte[t];n&&n(r,i)}catch{}if(e.width!==void 0){let t=e.left!==void 0&&e.right!==void 0?"auto":e.width;r.setWidth(t)}if(e.height!==void 0){let t=e.top!==void 0&&e.bottom!==void 0?"auto":e.height;r.setHeight(t)}}Re();function tB(r,e){let i={...r._styles.custom,...e};i={...{...Mr.defaultStyle.shared,...r.target instanceof $e||i.isLeaf||Mr.defaultStyle.shared.isLeaf?Mr.defaultStyle.leaf:Mr.defaultStyle.container},...i};let s={...i},o=i.width==="intrinsic",a=i.height==="intrinsic";if(o||a){let{width:l,height:c}=Kc(r);o&&(s.width=l),a&&(s.height=c)}return{custom:i,yoga:s}}function rB(r,e){var t;let i=e.layout,n=-1;if(!i&&e.isOverflowContainer&&(i=(t=e.parent)==null?void 0:t.layout,n=e.children.indexOf(r.target),e=e.parent),i){let s=r.yoga.getParent();if(s&&s.removeChild(r.yoga),e.children.indexOf(r.target)===e.children.length-1&&n===-1){i.yoga.insertChild(r.yoga,i.yoga.getChildCount());return}for(let o=0;o<e.children.length;o++){let a=e.children[o];if(a.layout&&a.visible&&n++,a===r.target)break}i.yoga.insertChild(r.yoga,n)}}function iB(r){let e=r.yoga.getParent();e&&e.removeChild(r.yoga)}var hte=Object.defineProperty,dte=(r,e,t)=>e in r?hte(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e,t)=>dte(r,typeof e!="symbol"?e+"":e,t),Mr=class{constructor({target:e}){Pr(this,"yoga"),Pr(this,"target"),Pr(this,"_isDirty",!1),Pr(this,"_computedPixiLayout",{x:0,y:0,offsetX:0,offsetY:0,scaleX:1,scaleY:1,originX:0,originY:0}),Pr(this,"_computedLayout",{left:0,right:0,top:0,bottom:0,width:0,height:0}),Pr(this,"_styles",{custom:{},yoga:{}}),Pr(this,"_modificationCount",0),Pr(this,"_forceUpdate",!1),Pr(this,"hasParent",!1),Pr(this,"_trackedStyleKeys",["borderRadius","borderColor","backgroundColor","objectFit","objectPosition","transformOrigin","isLeaf"]),this.target=e,this.yoga=Kx().Node.create(),e.on("added",this._onChildAdded,this),e.on("removed",this._onChildRemoved,this),e.on("destroyed",this.destroy,this)}get style(){return this._styles.custom}get computedLayout(){return this._computedLayout}get computedPixiLayout(){return this._computedPixiLayout}get realX(){return this.target.localTransform.tx}get realY(){return this.target.localTransform.ty}get realScaleX(){return this.target.localTransform.a}get realScaleY(){return this.target.localTransform.d}setStyle(e){let t=tB(this,e),i=JSON.stringify(this._styles.custom)!==JSON.stringify(t.custom),n=JSON.stringify(this._styles.yoga)!==JSON.stringify(t.yoga),s=i||n,o=this._trackedStyleKeys.some(a=>t.custom[a]!==this._styles.custom[a]);this._styles=t,o&&(this._forceUpdate=!0),s&&(eB(this.yoga,this._styles.yoga),this.target._onUpdate(),this.invalidateRoot())}invalidateRoot(){let e=this.getRoot();e._layout._isDirty=!0,e._onUpdate(),this._modificationCount++}forceUpdate(){this._forceUpdate=!0}getRoot(){var e,t;let i=this.target;for(;(e=i.parent)!=null&&e._layout||(t=i.parent)!=null&&t.isOverflowContainer;)i=i.parent,i.isOverflowContainer&&(i=i.parent);return i}_onChildAdded(e){this.hasParent||(this.hasParent=!0,this.invalidateRoot(),rB(this,e))}_onChildRemoved(){this.hasParent&&(this.hasParent=!1,this.invalidateRoot(),iB(this))}destroy(){this.invalidateRoot(),this.yoga.free(),this.target.off("added",this._onChildAdded,this),this.target.off("removed",this._onChildRemoved,this),this._styles=null,this._computedPixiLayout=null,this._computedLayout=null,this.target=null,this.hasParent=!1}};Pr(Mr,"defaultStyle",{leaf:{width:"intrinsic",height:"intrinsic"},container:{width:"auto",height:"auto"},shared:{transformOrigin:"50%",objectPosition:"center",flexShrink:1,flexDirection:"row",alignContent:"stretch",flexWrap:"nowrap",overflow:"visible"}});Re();function gm(r,e,t){let i=1,n=1;switch(r){case"fill":i=e.width/t.width,n=e.height/t.height;break;case"contain":{let s=Math.min(e.width/t.width,e.height/t.height);i=s,n=s;break}case"cover":{let s=Math.max(e.width/t.width,e.height/t.height);i=s,n=s;break}case"none":i=1,n=1;break;case"scale-down":{let s=Math.min(1,e.width/t.width,e.height/t.height);i=s,n=s;break}}return{offsetScaleX:i,offsetScaleY:n}}function mm(r,e,t,i){let n=r.getLocalBounds(),s=r.layout.style.objectFit||t,{offsetScaleX:o,offsetScaleY:a}=gm(s,e,n),l={width:n.width*o,height:n.height*a},{x:c,y:u}=Da(r.layout.style.objectPosition,e,l);i?(c+=n.width*o*i._x,u+=n.height*a*i._y):(c-=n.minX*o,u-=n.minY*a);let A=r.layout.style.applySizeDirectly;return(A===!0||A==null&&(r instanceof oc||r instanceof uc))&&(r.width=n.width*o,r.height=n.height*a,o=1,a=1),{x:e.left,y:e.top,offsetX:c,offsetY:u,scaleX:o,scaleY:a}}var nB=Object.getOwnPropertyDescriptor(Ae.prototype,"visible"),fte={_layout:null,get layout(){return this._layout??null},set layout(r){if(r=r===!0?{}:r,!r){this._layout&&(this._layout.destroy(),this._layout=null,this.updateLocalTransform=Ae.prototype.updateLocalTransform,Object.defineProperty(Ae.prototype,"visible",nB));return}this._layout||(this._layout=new Mr({target:this}),Object.defineProperty(Ae.prototype,"visible",{...nB,set(e){nB.set.call(this,e),this.layout&&(e&&this.parent?this.layout._onChildAdded(this.parent):this.layout._onChildRemoved())}}),this.parent&&this.visible&&this._layout._onChildAdded(this.parent)),this._layout.setStyle(r),this.updateLocalTransform=this.updateLocalTransformWithLayout,this._onUpdate()},updateLocalTransformWithLayout(){let r=this._didContainerChangeTick;if(this._didLocalTransformChangeId===r)return;this._didLocalTransformChangeId=r;let e=this._layout,{x:t,y:i,offsetX:n,offsetY:s,scaleX:o,scaleY:a,originX:l,originY:c}=e._computedPixiLayout,u=this.localTransform,{rotation:A,skew:h,scale:d,position:f}=this,g=A+h._y,p=A-h._x,I=Math.cos(g)*d._x,x=Math.sin(g)*d._x,B=-Math.sin(p)*d._y,w=Math.cos(p)*d._y,D=f._x+t-l*I-c*B,T=f._y+i-l*x-c*w;u.a=I*o,u.b=x*o,u.c=B*a,u.d=w*a,u.tx=D+(n*I+s*B)+l,u.ty=T+(n*x+s*w)+c},computeLayoutData(r){let e=this._layout,{isLeaf:t}=e._styles.custom;return t?mm(this,r,"fill"):{x:r.left,y:r.top,offsetX:0,offsetY:0,scaleX:1,scaleY:1}}};N.mixin(Ae,fte);Re();var AU=new j(0,0),pte={computeLayoutData(r){let e=this._style;AU.copyFrom(this.scale),this.scale=1,e.wordWrap&&(e.wordWrapWidth=r.width);let t=this.getLocalBounds(),i=this.layout.style.objectFit||"scale-down",{offsetScaleX:n,offsetScaleY:s}=gm(i,r,t);e.wordWrap&&(e.wordWrapWidth=r.width/Math.min(1,Math.max(n,s))),t=this.getLocalBounds();let o={width:t.width*n,height:t.height*s},{x:a,y:l}=Da(this.layout.style.objectPosition,r,o);return a+=t.width*n*this.anchor._x,l+=t.height*s*this.anchor._y,this.layout.style.applySizeDirectly===!0&&(this.width=t.width*n,this.height=t.height*s),this.scale.copyFrom(AU),{x:r.left,y:r.top,offsetX:a,offsetY:l,scaleX:n,scaleY:s}}};N.mixin(Mi,pte);var sB=Object.getOwnPropertyDescriptor(Mi.prototype,"text");Object.defineProperty(Mi.prototype,"text",{...sB,set(r){var e;let t=sB.get.call(this);sB.set.call(this,r),t!==r&&((e=this.layout)==null||e.forceUpdate())}});Re();var gte={computeLayoutData(r){return mm(this,r,"fill",this._anchor)}};N.mixin($e,gte);$x();N.add(Xc);Re();var mte=async(r,e,t)=>{let i=new gg;await i.init({resizeTo:r,autoStart:!1,...t??{}});let n=await Di(e);if(n.tag!="Canvas")throw new Error("Canvas is required");n.render(r,i);let{backgroundColor:s}=ft(n.props,{backgroundColor:"black"});return i.renderer.background.color=s(),{canvasElement:n,app:i}};var yte={linear:rx,easeIn:hc,easeInOut:dc,easeOut:ix,circIn:Yg,circInOut:nx,circOut:Kg,backIn:fc,backInOut:ox,backOut:sx,anticipate:ax,bounceIn:ux,bounceInOut:lx,bounceOut:wa};Re();var oB=class{constructor(e,t,i,n,s,o,a=0){this.x0=e;this.y0=t;this.x1=i;this.y1=n;this.x2=s;this.y2=o;this.focalPoint=a;this.gradient=null;this.texture=null;this.size=600;this.size=e;let l=this.size*.5;this.canvas=X.get().createCanvas(),this.canvas.width=this.size,this.canvas.height=this.size,this.ctx=this.canvas.getContext("2d"),this.ctx&&(this.gradient=this.ctx.createRadialGradient(l*(1-a),l,0,l,l,l-.5))}addColorStop(e,t){this.gradient&&this.gradient.addColorStop(e,t)}render({translate:e}={}){let{x0:t,y0:i,x1:n,y1:s,x2:o,y2:a,focalPoint:l}=this,c=this.size;if(this.ctx&&this.gradient){this.ctx.fillStyle=this.gradient,this.ctx.fillRect(0,0,c,c),this.texture=new F({source:new yt({resource:this.canvas,addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})});let u=new O,A=Math.sqrt((n-t)*(n-t)+(s-i)*(s-i)),h=Math.sqrt((o-t)*(o-t)+(a-i)*(a-i)),d=Math.atan2(s-i,n-t),f=A/c,g=h/c;u.rotate(-d),u.scale(f,g),e&&u.translate(e.x,e.y),this.transform=u}return{texture:this.texture,matrix:this.transform}}};var dU=St(cn(),1),_te=St(uu(),1);return HU(Ete);})();
|
|
1410
|
+
/*! Bundled license information:
|
|
1411
|
+
|
|
1412
|
+
howler/dist/howler.js:
|
|
1413
|
+
(*!
|
|
1414
|
+
* howler.js v2.2.4
|
|
1415
|
+
* howlerjs.com
|
|
1416
|
+
*
|
|
1417
|
+
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
1418
|
+
* goldfirestudios.com
|
|
1419
|
+
*
|
|
1420
|
+
* MIT License
|
|
1421
|
+
*)
|
|
1422
|
+
(*!
|
|
1423
|
+
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
|
|
1424
|
+
*
|
|
1425
|
+
* howler.js v2.2.4
|
|
1426
|
+
* howlerjs.com
|
|
1427
|
+
*
|
|
1428
|
+
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
1429
|
+
* goldfirestudios.com
|
|
1430
|
+
*
|
|
1431
|
+
* MIT License
|
|
1432
|
+
*)
|
|
1433
|
+
|
|
1434
|
+
@barvynkoa/particle-emitter/lib/particle-emitter.es.js:
|
|
1435
|
+
(*!
|
|
1436
|
+
* @barvynkoa/particle-emitter - v6.0.0
|
|
1437
|
+
* Compiled Mon, 27 May 2024 12:15:21 UTC
|
|
1438
|
+
*
|
|
1439
|
+
* @barvynkoa/particle-emitter is licensed under the MIT License.
|
|
1440
|
+
* http://www.opensource.org/licenses/mit-license
|
|
1441
|
+
*)
|
|
1442
|
+
*/
|
|
1443
|
+
//# sourceMappingURL=index.global.js.map
|