@canvasengine/presets 2.0.0-beta.23 → 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 +1148 -0
- package/dist/index.global.js.map +1 -0
- package/dist/index.js +3 -868
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/tsup.config.ts +18 -0
|
@@ -0,0 +1,1148 @@
|
|
|
1
|
+
var CanvasEnginePresets=(()=>{var LO=Object.create;var Ra=Object.defineProperty;var NO=Object.getOwnPropertyDescriptor;var HO=Object.getOwnPropertyNames;var qO=Object.getPrototypeOf,WO=Object.prototype.hasOwnProperty;var C_=i=>{throw TypeError(i)};var jO=(i,e,t)=>e in i?Ra(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t;var Q=(i,e)=>()=>(i&&(e=i(i=0)),e);var D=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),b_=(i,e)=>{for(var t in e)Ra(i,t,{get:e[t],enumerable:!0})},w_=(i,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of HO(e))!WO.call(i,n)&&n!==t&&Ra(i,n,{get:()=>e[n],enumerable:!(r=NO(e,n))||r.enumerable});return i};var zt=(i,e,t)=>(t=i!=null?LO(qO(i)):{},w_(e||!i||!i.__esModule?Ra(t,"default",{value:i,enumerable:!0}):t,i)),YO=i=>w_(Ra({},"__esModule",{value:!0}),i);var xg=(i,e,t)=>jO(i,typeof e!="symbol"?e+"":e,t),Q_=(i,e,t)=>e.has(i)||C_("Cannot "+t);var _g=(i,e,t)=>(Q_(i,e,"read from private field"),t?t.call(i):e.get(i)),S_=(i,e,t)=>e.has(i)?C_("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(i):e.set(i,t),M_=(i,e,t,r)=>(Q_(i,e,"write to private field"),r?r.call(i,t):e.set(i,t),t);var Ye=D(dc=>{"use strict";Object.defineProperty(dc,"__esModule",{value:!0});dc.isFunction=void 0;function KO(i){return typeof i=="function"}dc.isFunction=KO});var tn=D(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.createErrorClass=void 0;function VO(i){var e=function(r){Error.call(r),r.stack=new Error().stack},t=i(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}pc.createErrorClass=VO});var vg=D(gc=>{"use strict";Object.defineProperty(gc,"__esModule",{value:!0});gc.UnsubscriptionError=void 0;var XO=tn();gc.UnsubscriptionError=XO.createErrorClass(function(i){return function(t){i(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
2
|
+
`+t.map(function(r,n){return n+1+") "+r.toString()}).join(`
|
|
3
|
+
`):"",this.name="UnsubscriptionError",this.errors=t}})});var Di=D(mc=>{"use strict";Object.defineProperty(mc,"__esModule",{value:!0});mc.arrRemove=void 0;function zO(i,e){if(i){var t=i.indexOf(e);0<=t&&i.splice(t,1)}}mc.arrRemove=zO});var xr=D(lr=>{"use strict";var P_=lr&&lr.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")},D_=lr&&lr.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},F_=lr&&lr.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(lr,"__esModule",{value:!0});lr.isSubscription=lr.EMPTY_SUBSCRIPTION=lr.Subscription=void 0;var ka=Ye(),Cg=vg(),O_=Di(),bg=function(){function i(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return i.prototype.unsubscribe=function(){var e,t,r,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=P_(o),u=a.next();!u.done;u=a.next()){var c=u.value;c.remove(this)}}catch(y){e={error:y}}finally{try{u&&!u.done&&(t=a.return)&&t.call(a)}finally{if(e)throw e.error}}else o.remove(this);var l=this.initialTeardown;if(ka.isFunction(l))try{l()}catch(y){s=y instanceof Cg.UnsubscriptionError?y.errors:[y]}var A=this._finalizers;if(A){this._finalizers=null;try{for(var h=P_(A),f=h.next();!f.done;f=h.next()){var d=f.value;try{R_(d)}catch(y){s=s??[],y instanceof Cg.UnsubscriptionError?s=F_(F_([],D_(s)),D_(y.errors)):s.push(y)}}}catch(y){r={error:y}}finally{try{f&&!f.done&&(n=h.return)&&n.call(h)}finally{if(r)throw r.error}}}if(s)throw new Cg.UnsubscriptionError(s)}},i.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)R_(e);else{if(e instanceof i){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},i.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},i.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},i.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&O_.arrRemove(t,e)},i.prototype.remove=function(e){var t=this._finalizers;t&&O_.arrRemove(t,e),e instanceof i&&e._removeParent(this)},i.EMPTY=function(){var e=new i;return e.closed=!0,e}(),i}();lr.Subscription=bg;lr.EMPTY_SUBSCRIPTION=bg.EMPTY;function JO(i){return i instanceof bg||i&&"closed"in i&&ka.isFunction(i.remove)&&ka.isFunction(i.add)&&ka.isFunction(i.unsubscribe)}lr.isSubscription=JO;function R_(i){ka.isFunction(i)?i():i.unsubscribe()}});var qs=D(yc=>{"use strict";Object.defineProperty(yc,"__esModule",{value:!0});yc.config=void 0;yc.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var wg=D(li=>{"use strict";var k_=li&&li.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},G_=li&&li.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(li,"__esModule",{value:!0});li.timeoutProvider=void 0;li.timeoutProvider={setTimeout:function(i,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];var n=li.timeoutProvider.delegate;return n?.setTimeout?n.setTimeout.apply(n,G_([i,e],k_(t))):setTimeout.apply(void 0,G_([i,e],k_(t)))},clearTimeout:function(i){var e=li.timeoutProvider.delegate;return(e?.clearTimeout||clearTimeout)(i)},delegate:void 0}});var Qg=D(Ic=>{"use strict";Object.defineProperty(Ic,"__esModule",{value:!0});Ic.reportUnhandledError=void 0;var ZO=qs(),$O=wg();function eR(i){$O.timeoutProvider.setTimeout(function(){var e=ZO.config.onUnhandledError;if(e)e(i);else throw i})}Ic.reportUnhandledError=eR});var Ut=D(Ec=>{"use strict";Object.defineProperty(Ec,"__esModule",{value:!0});Ec.noop=void 0;function tR(){}Ec.noop=tR});var U_=D(ui=>{"use strict";Object.defineProperty(ui,"__esModule",{value:!0});ui.createNotification=ui.nextNotification=ui.errorNotification=ui.COMPLETE_NOTIFICATION=void 0;ui.COMPLETE_NOTIFICATION=function(){return xc("C",void 0,void 0)}();function rR(i){return xc("E",void 0,i)}ui.errorNotification=rR;function iR(i){return xc("N",i,void 0)}ui.nextNotification=iR;function xc(i,e,t){return{kind:i,value:e,error:t}}ui.createNotification=xc});var _c=D(Ws=>{"use strict";Object.defineProperty(Ws,"__esModule",{value:!0});Ws.captureError=Ws.errorContext=void 0;var L_=qs(),Yn=null;function nR(i){if(L_.config.useDeprecatedSynchronousErrorHandling){var e=!Yn;if(e&&(Yn={errorThrown:!1,error:null}),i(),e){var t=Yn,r=t.errorThrown,n=t.error;if(Yn=null,r)throw n}}else i()}Ws.errorContext=nR;function sR(i){L_.config.useDeprecatedSynchronousErrorHandling&&Yn&&(Yn.errorThrown=!0,Yn.error=i)}Ws.captureError=sR});var js=D(Xr=>{"use strict";var q_=Xr&&Xr.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Xr,"__esModule",{value:!0});Xr.EMPTY_OBSERVER=Xr.SafeSubscriber=Xr.Subscriber=void 0;var oR=Ye(),N_=xr(),Pg=qs(),aR=Qg(),H_=Ut(),Sg=U_(),lR=wg(),uR=_c(),W_=function(i){q_(e,i);function e(t){var r=i.call(this)||this;return r.isStopped=!1,t?(r.destination=t,N_.isSubscription(t)&&t.add(r)):r.destination=Xr.EMPTY_OBSERVER,r}return e.create=function(t,r,n){return new j_(t,r,n)},e.prototype.next=function(t){this.isStopped?Tg(Sg.nextNotification(t),this):this._next(t)},e.prototype.error=function(t){this.isStopped?Tg(Sg.errorNotification(t),this):(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped?Tg(Sg.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,i.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}(N_.Subscription);Xr.Subscriber=W_;var cR=Function.prototype.bind;function Mg(i,e){return cR.call(i,e)}var AR=function(){function i(e){this.partialObserver=e}return i.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(r){Bc(r)}},i.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(r){Bc(r)}else Bc(e)},i.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){Bc(t)}},i}(),j_=function(i){q_(e,i);function e(t,r,n){var s=i.call(this)||this,o;if(oR.isFunction(t)||!t)o={next:t??void 0,error:r??void 0,complete:n??void 0};else{var a;s&&Pg.config.useDeprecatedNextContext?(a=Object.create(t),a.unsubscribe=function(){return s.unsubscribe()},o={next:t.next&&Mg(t.next,a),error:t.error&&Mg(t.error,a),complete:t.complete&&Mg(t.complete,a)}):o=t}return s.destination=new AR(o),s}return e}(W_);Xr.SafeSubscriber=j_;function Bc(i){Pg.config.useDeprecatedSynchronousErrorHandling?uR.captureError(i):aR.reportUnhandledError(i)}function hR(i){throw i}function Tg(i,e){var t=Pg.config.onStoppedNotification;t&&lR.timeoutProvider.setTimeout(function(){return t(i,e)})}Xr.EMPTY_OBSERVER={closed:!0,next:H_.noop,error:hR,complete:H_.noop}});var Ga=D(vc=>{"use strict";Object.defineProperty(vc,"__esModule",{value:!0});vc.observable=void 0;vc.observable=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}()});var Lt=D(Cc=>{"use strict";Object.defineProperty(Cc,"__esModule",{value:!0});Cc.identity=void 0;function fR(i){return i}Cc.identity=fR});var Ua=D(Ys=>{"use strict";Object.defineProperty(Ys,"__esModule",{value:!0});Ys.pipeFromArray=Ys.pipe=void 0;var dR=Lt();function pR(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return Y_(i)}Ys.pipe=pR;function Y_(i){return i.length===0?dR.identity:i.length===1?i[0]:function(t){return i.reduce(function(r,n){return n(r)},t)}}Ys.pipeFromArray=Y_});var ze=D(bc=>{"use strict";Object.defineProperty(bc,"__esModule",{value:!0});bc.Observable=void 0;var Fg=js(),gR=xr(),mR=Ga(),yR=Ua(),IR=qs(),Dg=Ye(),ER=_c(),xR=function(){function i(e){e&&(this._subscribe=e)}return i.prototype.lift=function(e){var t=new i;return t.source=this,t.operator=e,t},i.prototype.subscribe=function(e,t,r){var n=this,s=BR(e)?e:new Fg.SafeSubscriber(e,t,r);return ER.errorContext(function(){var o=n,a=o.operator,u=o.source;s.add(a?a.call(s,u):u?n._subscribe(s):n._trySubscribe(s))}),s},i.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},i.prototype.forEach=function(e,t){var r=this;return t=K_(t),new t(function(n,s){var o=new Fg.SafeSubscriber({next:function(a){try{e(a)}catch(u){s(u),o.unsubscribe()}},error:s,complete:n});r.subscribe(o)})},i.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},i.prototype[mR.observable]=function(){return this},i.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return yR.pipeFromArray(e)(this)},i.prototype.toPromise=function(e){var t=this;return e=K_(e),new e(function(r,n){var s;t.subscribe(function(o){return s=o},function(o){return n(o)},function(){return r(s)})})},i.create=function(e){return new i(e)},i}();bc.Observable=xR;function K_(i){var e;return(e=i??IR.config.Promise)!==null&&e!==void 0?e:Promise}function _R(i){return i&&Dg.isFunction(i.next)&&Dg.isFunction(i.error)&&Dg.isFunction(i.complete)}function BR(i){return i&&i instanceof Fg.Subscriber||_R(i)&&gR.isSubscription(i)}});var oe=D(Ks=>{"use strict";Object.defineProperty(Ks,"__esModule",{value:!0});Ks.operate=Ks.hasLift=void 0;var vR=Ye();function V_(i){return vR.isFunction(i?.lift)}Ks.hasLift=V_;function CR(i){return function(e){if(V_(e))return e.lift(function(t){try{return i(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}Ks.operate=CR});var Ae=D(rn=>{"use strict";var bR=rn&&rn.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(rn,"__esModule",{value:!0});rn.OperatorSubscriber=rn.createOperatorSubscriber=void 0;var wR=js();function QR(i,e,t,r,n){return new X_(i,e,t,r,n)}rn.createOperatorSubscriber=QR;var X_=function(i){bR(e,i);function e(t,r,n,s,o,a){var u=i.call(this,t)||this;return u.onFinalize=o,u.shouldUnsubscribe=a,u._next=r?function(c){try{r(c)}catch(l){t.error(l)}}:i.prototype._next,u._error=s?function(c){try{s(c)}catch(l){t.error(l)}finally{this.unsubscribe()}}:i.prototype._error,u._complete=n?function(){try{n()}catch(c){t.error(c)}finally{this.unsubscribe()}}:i.prototype._complete,u}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var r=this.closed;i.prototype.unsubscribe.call(this),!r&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(wR.Subscriber);rn.OperatorSubscriber=X_});var Og=D(wc=>{"use strict";Object.defineProperty(wc,"__esModule",{value:!0});wc.refCount=void 0;var SR=oe(),MR=Ae();function TR(){return SR.operate(function(i,e){var t=null;i._refCount++;var r=MR.createOperatorSubscriber(e,void 0,void 0,void 0,function(){if(!i||i._refCount<=0||0<--i._refCount){t=null;return}var n=i._connection,s=t;t=null,n&&(!s||n===s)&&n.unsubscribe(),e.unsubscribe()});i.subscribe(r),r.closed||(t=i.connect())})}wc.refCount=TR});var La=D(Vs=>{"use strict";var PR=Vs&&Vs.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Vs,"__esModule",{value:!0});Vs.ConnectableObservable=void 0;var DR=ze(),z_=xr(),FR=Og(),OR=Ae(),RR=oe(),kR=function(i){PR(e,i);function e(t,r){var n=i.call(this)||this;return n.source=t,n.subjectFactory=r,n._subject=null,n._refCount=0,n._connection=null,RR.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,r=this._connection;if(!r){r=this._connection=new z_.Subscription;var n=this.getSubject();r.add(this.source.subscribe(OR.createOperatorSubscriber(n,void 0,function(){t._teardown(),n.complete()},function(s){t._teardown(),n.error(s)},function(){return t._teardown()}))),r.closed&&(this._connection=null,r=z_.Subscription.EMPTY)}return r},e.prototype.refCount=function(){return FR.refCount()(this)},e}(DR.Observable);Vs.ConnectableObservable=kR});var J_=D(Na=>{"use strict";Object.defineProperty(Na,"__esModule",{value:!0});Na.performanceTimestampProvider=void 0;Na.performanceTimestampProvider={now:function(){return(Na.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}});var Rg=D(zr=>{"use strict";var Z_=zr&&zr.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},$_=zr&&zr.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(zr,"__esModule",{value:!0});zr.animationFrameProvider=void 0;var GR=xr();zr.animationFrameProvider={schedule:function(i){var e=requestAnimationFrame,t=cancelAnimationFrame,r=zr.animationFrameProvider.delegate;r&&(e=r.requestAnimationFrame,t=r.cancelAnimationFrame);var n=e(function(s){t=void 0,i(s)});return new GR.Subscription(function(){return t?.(n)})},requestAnimationFrame:function(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=zr.animationFrameProvider.delegate;return(t?.requestAnimationFrame||requestAnimationFrame).apply(void 0,$_([],Z_(i)))},cancelAnimationFrame:function(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=zr.animationFrameProvider.delegate;return(t?.cancelAnimationFrame||cancelAnimationFrame).apply(void 0,$_([],Z_(i)))},delegate:void 0}});var rB=D(Qc=>{"use strict";Object.defineProperty(Qc,"__esModule",{value:!0});Qc.animationFrames=void 0;var UR=ze(),LR=J_(),eB=Rg();function NR(i){return i?tB(i):HR}Qc.animationFrames=NR;function tB(i){return new UR.Observable(function(e){var t=i||LR.performanceTimestampProvider,r=t.now(),n=0,s=function(){e.closed||(n=eB.animationFrameProvider.requestAnimationFrame(function(o){n=0;var a=t.now();e.next({timestamp:i?a:o,elapsed:a-r}),s()}))};return s(),function(){n&&eB.animationFrameProvider.cancelAnimationFrame(n)}})}var HR=tB()});var kg=D(Sc=>{"use strict";Object.defineProperty(Sc,"__esModule",{value:!0});Sc.ObjectUnsubscribedError=void 0;var qR=tn();Sc.ObjectUnsubscribedError=qR.createErrorClass(function(i){return function(){i(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})});var Nt=D(ci=>{"use strict";var nB=ci&&ci.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}(),WR=ci&&ci.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(ci,"__esModule",{value:!0});ci.AnonymousSubject=ci.Subject=void 0;var iB=ze(),Ug=xr(),jR=kg(),YR=Di(),Gg=_c(),sB=function(i){nB(e,i);function e(){var t=i.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 r=new Lg(this,this);return r.operator=t,r},e.prototype._throwIfClosed=function(){if(this.closed)throw new jR.ObjectUnsubscribedError},e.prototype.next=function(t){var r=this;Gg.errorContext(function(){var n,s;if(r._throwIfClosed(),!r.isStopped){r.currentObservers||(r.currentObservers=Array.from(r.observers));try{for(var o=WR(r.currentObservers),a=o.next();!a.done;a=o.next()){var u=a.value;u.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 r=this;Gg.errorContext(function(){if(r._throwIfClosed(),!r.isStopped){r.hasError=r.isStopped=!0,r.thrownError=t;for(var n=r.observers;n.length;)n.shift().error(t)}})},e.prototype.complete=function(){var t=this;Gg.errorContext(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var r=t.observers;r.length;)r.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(),i.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 r=this,n=this,s=n.hasError,o=n.isStopped,a=n.observers;return s||o?Ug.EMPTY_SUBSCRIPTION:(this.currentObservers=null,a.push(t),new Ug.Subscription(function(){r.currentObservers=null,YR.arrRemove(a,t)}))},e.prototype._checkFinalizedStatuses=function(t){var r=this,n=r.hasError,s=r.thrownError,o=r.isStopped;n?t.error(s):o&&t.complete()},e.prototype.asObservable=function(){var t=new iB.Observable;return t.source=this,t},e.create=function(t,r){return new Lg(t,r)},e}(iB.Observable);ci.Subject=sB;var Lg=function(i){nB(e,i);function e(t,r){var n=i.call(this)||this;return n.destination=t,n.source=r,n}return e.prototype.next=function(t){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.next)===null||n===void 0||n.call(r,t)},e.prototype.error=function(t){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.error)===null||n===void 0||n.call(r,t)},e.prototype.complete=function(){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||r===void 0||r.call(t)},e.prototype._subscribe=function(t){var r,n;return(n=(r=this.source)===null||r===void 0?void 0:r.subscribe(t))!==null&&n!==void 0?n:Ug.EMPTY_SUBSCRIPTION},e}(sB);ci.AnonymousSubject=Lg});var Ng=D(Xs=>{"use strict";var KR=Xs&&Xs.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Xs,"__esModule",{value:!0});Xs.BehaviorSubject=void 0;var VR=Nt(),XR=function(i){KR(e,i);function e(t){var r=i.call(this)||this;return r._value=t,r}return Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(t){var r=i.prototype._subscribe.call(this,t);return!r.closed&&t.next(this._value),r},e.prototype.getValue=function(){var t=this,r=t.hasError,n=t.thrownError,s=t._value;if(r)throw n;return this._throwIfClosed(),s},e.prototype.next=function(t){i.prototype.next.call(this,this._value=t)},e}(VR.Subject);Xs.BehaviorSubject=XR});var Mc=D(Ha=>{"use strict";Object.defineProperty(Ha,"__esModule",{value:!0});Ha.dateTimestampProvider=void 0;Ha.dateTimestampProvider={now:function(){return(Ha.dateTimestampProvider.delegate||Date).now()},delegate:void 0}});var Tc=D(zs=>{"use strict";var zR=zs&&zs.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(zs,"__esModule",{value:!0});zs.ReplaySubject=void 0;var JR=Nt(),ZR=Mc(),$R=function(i){zR(e,i);function e(t,r,n){t===void 0&&(t=1/0),r===void 0&&(r=1/0),n===void 0&&(n=ZR.dateTimestampProvider);var s=i.call(this)||this;return s._bufferSize=t,s._windowTime=r,s._timestampProvider=n,s._buffer=[],s._infiniteTimeWindow=!0,s._infiniteTimeWindow=r===1/0,s._bufferSize=Math.max(1,t),s._windowTime=Math.max(1,r),s}return e.prototype.next=function(t){var r=this,n=r.isStopped,s=r._buffer,o=r._infiniteTimeWindow,a=r._timestampProvider,u=r._windowTime;n||(s.push(t),!o&&s.push(a.now()+u)),this._trimBuffer(),i.prototype.next.call(this,t)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var r=this._innerSubscribe(t),n=this,s=n._infiniteTimeWindow,o=n._buffer,a=o.slice(),u=0;u<a.length&&!t.closed;u+=s?1:2)t.next(a[u]);return this._checkFinalizedStatuses(t),r},e.prototype._trimBuffer=function(){var t=this,r=t._bufferSize,n=t._timestampProvider,s=t._buffer,o=t._infiniteTimeWindow,a=(o?1:2)*r;if(r<1/0&&a<s.length&&s.splice(0,s.length-a),!o){for(var u=n.now(),c=0,l=1;l<s.length&&s[l]<=u;l+=2)c=l;c&&s.splice(0,c+1)}},e}(JR.Subject);zs.ReplaySubject=$R});var Pc=D(Js=>{"use strict";var ek=Js&&Js.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Js,"__esModule",{value:!0});Js.AsyncSubject=void 0;var tk=Nt(),rk=function(i){ek(e,i);function e(){var t=i!==null&&i.apply(this,arguments)||this;return t._value=null,t._hasValue=!1,t._isComplete=!1,t}return e.prototype._checkFinalizedStatuses=function(t){var r=this,n=r.hasError,s=r._hasValue,o=r._value,a=r.thrownError,u=r.isStopped,c=r._isComplete;n?t.error(a):(u||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,r=t._hasValue,n=t._value,s=t._isComplete;s||(this._isComplete=!0,r&&i.prototype.next.call(this,n),i.prototype.complete.call(this))},e}(tk.Subject);Js.AsyncSubject=rk});var oB=D(Zs=>{"use strict";var ik=Zs&&Zs.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(Zs,"__esModule",{value:!0});Zs.Action=void 0;var nk=xr(),sk=function(i){ik(e,i);function e(t,r){return i.call(this)||this}return e.prototype.schedule=function(t,r){return r===void 0&&(r=0),this},e}(nk.Subscription);Zs.Action=sk});var uB=D(Ai=>{"use strict";var aB=Ai&&Ai.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},lB=Ai&&Ai.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(Ai,"__esModule",{value:!0});Ai.intervalProvider=void 0;Ai.intervalProvider={setInterval:function(i,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];var n=Ai.intervalProvider.delegate;return n?.setInterval?n.setInterval.apply(n,lB([i,e],aB(t))):setInterval.apply(void 0,lB([i,e],aB(t)))},clearInterval:function(i){var e=Ai.intervalProvider.delegate;return(e?.clearInterval||clearInterval)(i)},delegate:void 0}});var eo=D($s=>{"use strict";var ok=$s&&$s.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty($s,"__esModule",{value:!0});$s.AsyncAction=void 0;var ak=oB(),cB=uB(),lk=Di(),uk=function(i){ok(e,i);function e(t,r){var n=i.call(this,t,r)||this;return n.scheduler=t,n.work=r,n.pending=!1,n}return e.prototype.schedule=function(t,r){var n;if(r===void 0&&(r=0),this.closed)return this;this.state=t;var s=this.id,o=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(o,s,r)),this.pending=!0,this.delay=r,this.id=(n=this.id)!==null&&n!==void 0?n:this.requestAsyncId(o,this.id,r),this},e.prototype.requestAsyncId=function(t,r,n){return n===void 0&&(n=0),cB.intervalProvider.setInterval(t.flush.bind(t,this),n)},e.prototype.recycleAsyncId=function(t,r,n){if(n===void 0&&(n=0),n!=null&&this.delay===n&&this.pending===!1)return r;r!=null&&cB.intervalProvider.clearInterval(r)},e.prototype.execute=function(t,r){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(t,r);if(n)return n;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,r){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,r=t.id,n=t.scheduler,s=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,lk.arrRemove(s,this),r!=null&&(this.id=this.recycleAsyncId(n,r,null)),this.delay=null,i.prototype.unsubscribe.call(this)}},e}(ak.Action);$s.AsyncAction=uk});var hB=D(to=>{"use strict";Object.defineProperty(to,"__esModule",{value:!0});to.TestTools=to.Immediate=void 0;var ck=1,Hg,Dc={};function AB(i){return i in Dc?(delete Dc[i],!0):!1}to.Immediate={setImmediate:function(i){var e=ck++;return Dc[e]=!0,Hg||(Hg=Promise.resolve()),Hg.then(function(){return AB(e)&&i()}),e},clearImmediate:function(i){AB(i)}};to.TestTools={pending:function(){return Object.keys(Dc).length}}});var dB=D(hi=>{"use strict";var Ak=hi&&hi.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},hk=hi&&hi.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(hi,"__esModule",{value:!0});hi.immediateProvider=void 0;var fB=hB(),fk=fB.Immediate.setImmediate,dk=fB.Immediate.clearImmediate;hi.immediateProvider={setImmediate:function(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=hi.immediateProvider.delegate;return(t?.setImmediate||fk).apply(void 0,hk([],Ak(i)))},clearImmediate:function(i){var e=hi.immediateProvider.delegate;return(e?.clearImmediate||dk)(i)},delegate:void 0}});var gB=D(ro=>{"use strict";var pk=ro&&ro.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(ro,"__esModule",{value:!0});ro.AsapAction=void 0;var gk=eo(),pB=dB(),mk=function(i){pk(e,i);function e(t,r){var n=i.call(this,t,r)||this;return n.scheduler=t,n.work=r,n}return e.prototype.requestAsyncId=function(t,r,n){return n===void 0&&(n=0),n!==null&&n>0?i.prototype.requestAsyncId.call(this,t,r,n):(t.actions.push(this),t._scheduled||(t._scheduled=pB.immediateProvider.setImmediate(t.flush.bind(t,void 0))))},e.prototype.recycleAsyncId=function(t,r,n){var s;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return i.prototype.recycleAsyncId.call(this,t,r,n);var o=t.actions;r!=null&&((s=o[o.length-1])===null||s===void 0?void 0:s.id)!==r&&(pB.immediateProvider.clearImmediate(r),t._scheduled===r&&(t._scheduled=void 0))},e}(gk.AsyncAction);ro.AsapAction=mk});var qg=D(Fc=>{"use strict";Object.defineProperty(Fc,"__esModule",{value:!0});Fc.Scheduler=void 0;var yk=Mc(),Ik=function(){function i(e,t){t===void 0&&(t=i.now),this.schedulerActionCtor=e,this.now=t}return i.prototype.schedule=function(e,t,r){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(r,t)},i.now=yk.dateTimestampProvider.now,i}();Fc.Scheduler=Ik});var no=D(io=>{"use strict";var Ek=io&&io.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(io,"__esModule",{value:!0});io.AsyncScheduler=void 0;var mB=qg(),xk=function(i){Ek(e,i);function e(t,r){r===void 0&&(r=mB.Scheduler.now);var n=i.call(this,t,r)||this;return n.actions=[],n._active=!1,n}return e.prototype.flush=function(t){var r=this.actions;if(this._active){r.push(t);return}var n;this._active=!0;do if(n=t.execute(t.state,t.delay))break;while(t=r.shift());if(this._active=!1,n){for(;t=r.shift();)t.unsubscribe();throw n}},e}(mB.Scheduler);io.AsyncScheduler=xk});var yB=D(so=>{"use strict";var _k=so&&so.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(so,"__esModule",{value:!0});so.AsapScheduler=void 0;var Bk=no(),vk=function(i){_k(e,i);function e(){return i!==null&&i.apply(this,arguments)||this}return e.prototype.flush=function(t){this._active=!0;var r=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===r&&n.shift());if(this._active=!1,s){for(;(t=n[0])&&t.id===r&&n.shift();)t.unsubscribe();throw s}},e}(Bk.AsyncScheduler);so.AsapScheduler=vk});var IB=D(Kn=>{"use strict";Object.defineProperty(Kn,"__esModule",{value:!0});Kn.asap=Kn.asapScheduler=void 0;var Ck=gB(),bk=yB();Kn.asapScheduler=new bk.AsapScheduler(Ck.AsapAction);Kn.asap=Kn.asapScheduler});var ur=D(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.async=Vn.asyncScheduler=void 0;var wk=eo(),Qk=no();Vn.asyncScheduler=new Qk.AsyncScheduler(wk.AsyncAction);Vn.async=Vn.asyncScheduler});var EB=D(oo=>{"use strict";var Sk=oo&&oo.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(oo,"__esModule",{value:!0});oo.QueueAction=void 0;var Mk=eo(),Tk=function(i){Sk(e,i);function e(t,r){var n=i.call(this,t,r)||this;return n.scheduler=t,n.work=r,n}return e.prototype.schedule=function(t,r){return r===void 0&&(r=0),r>0?i.prototype.schedule.call(this,t,r):(this.delay=r,this.state=t,this.scheduler.flush(this),this)},e.prototype.execute=function(t,r){return r>0||this.closed?i.prototype.execute.call(this,t,r):this._execute(t,r)},e.prototype.requestAsyncId=function(t,r,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?i.prototype.requestAsyncId.call(this,t,r,n):(t.flush(this),0)},e}(Mk.AsyncAction);oo.QueueAction=Tk});var xB=D(ao=>{"use strict";var Pk=ao&&ao.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(ao,"__esModule",{value:!0});ao.QueueScheduler=void 0;var Dk=no(),Fk=function(i){Pk(e,i);function e(){return i!==null&&i.apply(this,arguments)||this}return e}(Dk.AsyncScheduler);ao.QueueScheduler=Fk});var _B=D(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.queue=Xn.queueScheduler=void 0;var Ok=EB(),Rk=xB();Xn.queueScheduler=new Rk.QueueScheduler(Ok.QueueAction);Xn.queue=Xn.queueScheduler});var vB=D(lo=>{"use strict";var kk=lo&&lo.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(lo,"__esModule",{value:!0});lo.AnimationFrameAction=void 0;var Gk=eo(),BB=Rg(),Uk=function(i){kk(e,i);function e(t,r){var n=i.call(this,t,r)||this;return n.scheduler=t,n.work=r,n}return e.prototype.requestAsyncId=function(t,r,n){return n===void 0&&(n=0),n!==null&&n>0?i.prototype.requestAsyncId.call(this,t,r,n):(t.actions.push(this),t._scheduled||(t._scheduled=BB.animationFrameProvider.requestAnimationFrame(function(){return t.flush(void 0)})))},e.prototype.recycleAsyncId=function(t,r,n){var s;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return i.prototype.recycleAsyncId.call(this,t,r,n);var o=t.actions;r!=null&&((s=o[o.length-1])===null||s===void 0?void 0:s.id)!==r&&(BB.animationFrameProvider.cancelAnimationFrame(r),t._scheduled=void 0)},e}(Gk.AsyncAction);lo.AnimationFrameAction=Uk});var CB=D(uo=>{"use strict";var Lk=uo&&uo.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(uo,"__esModule",{value:!0});uo.AnimationFrameScheduler=void 0;var Nk=no(),Hk=function(i){Lk(e,i);function e(){return i!==null&&i.apply(this,arguments)||this}return e.prototype.flush=function(t){this._active=!0;var r=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===r&&n.shift());if(this._active=!1,s){for(;(t=n[0])&&t.id===r&&n.shift();)t.unsubscribe();throw s}},e}(Nk.AsyncScheduler);uo.AnimationFrameScheduler=Hk});var bB=D(zn=>{"use strict";Object.defineProperty(zn,"__esModule",{value:!0});zn.animationFrame=zn.animationFrameScheduler=void 0;var qk=vB(),Wk=CB();zn.animationFrameScheduler=new Wk.AnimationFrameScheduler(qk.AnimationFrameAction);zn.animationFrame=zn.animationFrameScheduler});var SB=D(nn=>{"use strict";var wB=nn&&nn.__extends||function(){var i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[s]=n[s])},i(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");i(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}}();Object.defineProperty(nn,"__esModule",{value:!0});nn.VirtualAction=nn.VirtualTimeScheduler=void 0;var jk=eo(),Yk=xr(),Kk=no(),Vk=function(i){wB(e,i);function e(t,r){t===void 0&&(t=QB),r===void 0&&(r=1/0);var n=i.call(this,t,function(){return n.frame})||this;return n.maxFrames=r,n.frame=0,n.index=-1,n}return e.prototype.flush=function(){for(var t=this,r=t.actions,n=t.maxFrames,s,o;(o=r[0])&&o.delay<=n&&(r.shift(),this.frame=o.delay,!(s=o.execute(o.state,o.delay))););if(s){for(;o=r.shift();)o.unsubscribe();throw s}},e.frameTimeFactor=10,e}(Kk.AsyncScheduler);nn.VirtualTimeScheduler=Vk;var QB=function(i){wB(e,i);function e(t,r,n){n===void 0&&(n=t.index+=1);var s=i.call(this,t,r)||this;return s.scheduler=t,s.work=r,s.index=n,s.active=!0,s.index=t.index=n,s}return e.prototype.schedule=function(t,r){if(r===void 0&&(r=0),Number.isFinite(r)){if(!this.id)return i.prototype.schedule.call(this,t,r);this.active=!1;var n=new e(this.scheduler,this.work);return this.add(n),n.schedule(t,r)}else return Yk.Subscription.EMPTY},e.prototype.requestAsyncId=function(t,r,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,r,n){n===void 0&&(n=0)},e.prototype._execute=function(t,r){if(this.active===!0)return i.prototype._execute.call(this,t,r)},e.sortActions=function(t,r){return t.delay===r.delay?t.index===r.index?0:t.index>r.index?1:-1:t.delay>r.delay?1:-1},e}(jk.AsyncAction);nn.VirtualAction=QB});var Jr=D(Jn=>{"use strict";Object.defineProperty(Jn,"__esModule",{value:!0});Jn.empty=Jn.EMPTY=void 0;var MB=ze();Jn.EMPTY=new MB.Observable(function(i){return i.complete()});function Xk(i){return i?zk(i):Jn.EMPTY}Jn.empty=Xk;function zk(i){return new MB.Observable(function(e){return i.schedule(function(){return e.complete()})})}});var qa=D(Oc=>{"use strict";Object.defineProperty(Oc,"__esModule",{value:!0});Oc.isScheduler=void 0;var Jk=Ye();function Zk(i){return i&&Jk.isFunction(i.schedule)}Oc.isScheduler=Zk});var cr=D(sn=>{"use strict";Object.defineProperty(sn,"__esModule",{value:!0});sn.popNumber=sn.popScheduler=sn.popResultSelector=void 0;var $k=Ye(),e2=qa();function Wg(i){return i[i.length-1]}function t2(i){return $k.isFunction(Wg(i))?i.pop():void 0}sn.popResultSelector=t2;function r2(i){return e2.isScheduler(Wg(i))?i.pop():void 0}sn.popScheduler=r2;function i2(i,e){return typeof Wg(i)=="number"?i.pop():e}sn.popNumber=i2});var kc=D(Rc=>{"use strict";Object.defineProperty(Rc,"__esModule",{value:!0});Rc.isArrayLike=void 0;Rc.isArrayLike=function(i){return i&&typeof i.length=="number"&&typeof i!="function"}});var jg=D(Gc=>{"use strict";Object.defineProperty(Gc,"__esModule",{value:!0});Gc.isPromise=void 0;var n2=Ye();function s2(i){return n2.isFunction(i?.then)}Gc.isPromise=s2});var Yg=D(Uc=>{"use strict";Object.defineProperty(Uc,"__esModule",{value:!0});Uc.isInteropObservable=void 0;var o2=Ga(),a2=Ye();function l2(i){return a2.isFunction(i[o2.observable])}Uc.isInteropObservable=l2});var Kg=D(Lc=>{"use strict";Object.defineProperty(Lc,"__esModule",{value:!0});Lc.isAsyncIterable=void 0;var u2=Ye();function c2(i){return Symbol.asyncIterator&&u2.isFunction(i?.[Symbol.asyncIterator])}Lc.isAsyncIterable=c2});var Vg=D(Nc=>{"use strict";Object.defineProperty(Nc,"__esModule",{value:!0});Nc.createInvalidObservableTypeError=void 0;function A2(i){return new TypeError("You provided "+(i!==null&&typeof i=="object"?"an invalid object":"'"+i+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}Nc.createInvalidObservableTypeError=A2});var Xg=D(co=>{"use strict";Object.defineProperty(co,"__esModule",{value:!0});co.iterator=co.getSymbolIterator=void 0;function TB(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}co.getSymbolIterator=TB;co.iterator=TB()});var zg=D(Hc=>{"use strict";Object.defineProperty(Hc,"__esModule",{value:!0});Hc.isIterable=void 0;var h2=Xg(),f2=Ye();function d2(i){return f2.isFunction(i?.[h2.iterator])}Hc.isIterable=d2});var qc=D(Tr=>{"use strict";var p2=Tr&&Tr.__generator||function(i,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,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(l){return u([c,l])}}function u(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=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(i,t)}catch(l){c=[6,l],n=0}finally{r=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},Ao=Tr&&Tr.__await||function(i){return this instanceof Ao?(this.v=i,this):new Ao(i)},g2=Tr&&Tr.__asyncGenerator||function(i,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t.apply(i,e||[]),n,s=[];return n={},o("next"),o("throw"),o("return"),n[Symbol.asyncIterator]=function(){return this},n;function o(h){r[h]&&(n[h]=function(f){return new Promise(function(d,y){s.push([h,f,d,y])>1||a(h,f)})})}function a(h,f){try{u(r[h](f))}catch(d){A(s[0][3],d)}}function u(h){h.value instanceof Ao?Promise.resolve(h.value.v).then(c,l):A(s[0][2],h)}function c(h){a("next",h)}function l(h){a("throw",h)}function A(h,f){h(f),s.shift(),s.length&&a(s[0][0],s[0][1])}};Object.defineProperty(Tr,"__esModule",{value:!0});Tr.isReadableStreamLike=Tr.readableStreamLikeToAsyncGenerator=void 0;var m2=Ye();function y2(i){return g2(this,arguments,function(){var t,r,n,s;return p2(this,function(o){switch(o.label){case 0:t=i.getReader(),o.label=1;case 1:o.trys.push([1,,9,10]),o.label=2;case 2:return[4,Ao(t.read())];case 3:return r=o.sent(),n=r.value,s=r.done,s?[4,Ao(void 0)]:[3,5];case 4:return[2,o.sent()];case 5:return[4,Ao(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]}})})}Tr.readableStreamLikeToAsyncGenerator=y2;function I2(i){return m2.isFunction(i?.getReader)}Tr.isReadableStreamLike=I2});var ve=D(at=>{"use strict";var E2=at&&at.__awaiter||function(i,e,t,r){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(l){try{c(r.next(l))}catch(A){o(A)}}function u(l){try{c(r.throw(l))}catch(A){o(A)}}function c(l){l.done?s(l.value):n(l.value).then(a,u)}c((r=r.apply(i,e||[])).next())})},x2=at&&at.__generator||function(i,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,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(l){return u([c,l])}}function u(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=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(i,t)}catch(l){c=[6,l],n=0}finally{r=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}},_2=at&&at.__asyncValues||function(i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=i[Symbol.asyncIterator],t;return e?e.call(i):(i=typeof Jg=="function"?Jg(i):i[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(s){t[s]=i[s]&&function(o){return new Promise(function(a,u){o=i[s](o),n(a,u,o.done,o.value)})}}function n(s,o,a,u){Promise.resolve(u).then(function(c){s({value:c,done:a})},o)}},Jg=at&&at.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(at,"__esModule",{value:!0});at.fromReadableStreamLike=at.fromAsyncIterable=at.fromIterable=at.fromPromise=at.fromArrayLike=at.fromInteropObservable=at.innerFrom=void 0;var B2=kc(),v2=jg(),ho=ze(),C2=Yg(),b2=Kg(),w2=Vg(),Q2=zg(),PB=qc(),S2=Ye(),M2=Qg(),T2=Ga();function P2(i){if(i instanceof ho.Observable)return i;if(i!=null){if(C2.isInteropObservable(i))return DB(i);if(B2.isArrayLike(i))return FB(i);if(v2.isPromise(i))return OB(i);if(b2.isAsyncIterable(i))return Zg(i);if(Q2.isIterable(i))return RB(i);if(PB.isReadableStreamLike(i))return kB(i)}throw w2.createInvalidObservableTypeError(i)}at.innerFrom=P2;function DB(i){return new ho.Observable(function(e){var t=i[T2.observable]();if(S2.isFunction(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}at.fromInteropObservable=DB;function FB(i){return new ho.Observable(function(e){for(var t=0;t<i.length&&!e.closed;t++)e.next(i[t]);e.complete()})}at.fromArrayLike=FB;function OB(i){return new ho.Observable(function(e){i.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,M2.reportUnhandledError)})}at.fromPromise=OB;function RB(i){return new ho.Observable(function(e){var t,r;try{for(var n=Jg(i),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&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}e.complete()})}at.fromIterable=RB;function Zg(i){return new ho.Observable(function(e){D2(i,e).catch(function(t){return e.error(t)})})}at.fromAsyncIterable=Zg;function kB(i){return Zg(PB.readableStreamLikeToAsyncGenerator(i))}at.fromReadableStreamLike=kB;function D2(i,e){var t,r,n,s;return E2(this,void 0,void 0,function(){var o,a;return x2(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),t=_2(i),u.label=1;case 1:return[4,t.next()];case 2:if(r=u.sent(),!!r.done)return[3,4];if(o=r.value,e.next(o),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=u.sent(),n={error:a},[3,11];case 6:return u.trys.push([6,,9,10]),r&&!r.done&&(s=t.return)?[4,s.call(t)]:[3,8];case 7:u.sent(),u.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 Fi=D(Wc=>{"use strict";Object.defineProperty(Wc,"__esModule",{value:!0});Wc.executeSchedule=void 0;function F2(i,e,t,r,n){r===void 0&&(r=0),n===void 0&&(n=!1);var s=e.schedule(function(){t(),n?i.add(this.schedule(null,r)):this.unsubscribe()},r);if(i.add(s),!n)return s}Wc.executeSchedule=F2});var Wa=D(jc=>{"use strict";Object.defineProperty(jc,"__esModule",{value:!0});jc.observeOn=void 0;var $g=Fi(),O2=oe(),R2=Ae();function k2(i,e){return e===void 0&&(e=0),O2.operate(function(t,r){t.subscribe(R2.createOperatorSubscriber(r,function(n){return $g.executeSchedule(r,i,function(){return r.next(n)},e)},function(){return $g.executeSchedule(r,i,function(){return r.complete()},e)},function(n){return $g.executeSchedule(r,i,function(){return r.error(n)},e)}))})}jc.observeOn=k2});var ja=D(Yc=>{"use strict";Object.defineProperty(Yc,"__esModule",{value:!0});Yc.subscribeOn=void 0;var G2=oe();function U2(i,e){return e===void 0&&(e=0),G2.operate(function(t,r){r.add(i.schedule(function(){return t.subscribe(r)},e))})}Yc.subscribeOn=U2});var GB=D(Kc=>{"use strict";Object.defineProperty(Kc,"__esModule",{value:!0});Kc.scheduleObservable=void 0;var L2=ve(),N2=Wa(),H2=ja();function q2(i,e){return L2.innerFrom(i).pipe(H2.subscribeOn(e),N2.observeOn(e))}Kc.scheduleObservable=q2});var UB=D(Vc=>{"use strict";Object.defineProperty(Vc,"__esModule",{value:!0});Vc.schedulePromise=void 0;var W2=ve(),j2=Wa(),Y2=ja();function K2(i,e){return W2.innerFrom(i).pipe(Y2.subscribeOn(e),j2.observeOn(e))}Vc.schedulePromise=K2});var LB=D(Xc=>{"use strict";Object.defineProperty(Xc,"__esModule",{value:!0});Xc.scheduleArray=void 0;var V2=ze();function X2(i,e){return new V2.Observable(function(t){var r=0;return e.schedule(function(){r===i.length?t.complete():(t.next(i[r++]),t.closed||this.schedule())})})}Xc.scheduleArray=X2});var em=D(zc=>{"use strict";Object.defineProperty(zc,"__esModule",{value:!0});zc.scheduleIterable=void 0;var z2=ze(),J2=Xg(),Z2=Ye(),NB=Fi();function $2(i,e){return new z2.Observable(function(t){var r;return NB.executeSchedule(t,e,function(){r=i[J2.iterator](),NB.executeSchedule(t,e,function(){var n,s,o;try{n=r.next(),s=n.value,o=n.done}catch(a){t.error(a);return}o?t.complete():t.next(s)},0,!0)}),function(){return Z2.isFunction(r?.return)&&r.return()}})}zc.scheduleIterable=$2});var tm=D(Jc=>{"use strict";Object.defineProperty(Jc,"__esModule",{value:!0});Jc.scheduleAsyncIterable=void 0;var eG=ze(),HB=Fi();function tG(i,e){if(!i)throw new Error("Iterable cannot be null");return new eG.Observable(function(t){HB.executeSchedule(t,e,function(){var r=i[Symbol.asyncIterator]();HB.executeSchedule(t,e,function(){r.next().then(function(n){n.done?t.complete():t.next(n.value)})},0,!0)})})}Jc.scheduleAsyncIterable=tG});var qB=D(Zc=>{"use strict";Object.defineProperty(Zc,"__esModule",{value:!0});Zc.scheduleReadableStreamLike=void 0;var rG=tm(),iG=qc();function nG(i,e){return rG.scheduleAsyncIterable(iG.readableStreamLikeToAsyncGenerator(i),e)}Zc.scheduleReadableStreamLike=nG});var rm=D($c=>{"use strict";Object.defineProperty($c,"__esModule",{value:!0});$c.scheduled=void 0;var sG=GB(),oG=UB(),aG=LB(),lG=em(),uG=tm(),cG=Yg(),AG=jg(),hG=kc(),fG=zg(),dG=Kg(),pG=Vg(),gG=qc(),mG=qB();function yG(i,e){if(i!=null){if(cG.isInteropObservable(i))return sG.scheduleObservable(i,e);if(hG.isArrayLike(i))return aG.scheduleArray(i,e);if(AG.isPromise(i))return oG.schedulePromise(i,e);if(dG.isAsyncIterable(i))return uG.scheduleAsyncIterable(i,e);if(fG.isIterable(i))return lG.scheduleIterable(i,e);if(gG.isReadableStreamLike(i))return mG.scheduleReadableStreamLike(i,e)}throw pG.createInvalidObservableTypeError(i)}$c.scheduled=yG});var Oi=D(eA=>{"use strict";Object.defineProperty(eA,"__esModule",{value:!0});eA.from=void 0;var IG=rm(),EG=ve();function xG(i,e){return e?IG.scheduled(i,e):EG.innerFrom(i)}eA.from=xG});var rA=D(tA=>{"use strict";Object.defineProperty(tA,"__esModule",{value:!0});tA.of=void 0;var _G=cr(),BG=Oi();function vG(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=_G.popScheduler(i);return BG.from(i,t)}tA.of=vG});var im=D(iA=>{"use strict";Object.defineProperty(iA,"__esModule",{value:!0});iA.throwError=void 0;var CG=ze(),bG=Ye();function wG(i,e){var t=bG.isFunction(i)?i:function(){return i},r=function(n){return n.error(t())};return new CG.Observable(e?function(n){return e.schedule(r,0,n)}:r)}iA.throwError=wG});var nA=D(Ri=>{"use strict";Object.defineProperty(Ri,"__esModule",{value:!0});Ri.observeNotification=Ri.Notification=Ri.NotificationKind=void 0;var QG=Jr(),SG=rA(),MG=im(),TG=Ye(),PG;(function(i){i.NEXT="N",i.ERROR="E",i.COMPLETE="C"})(PG=Ri.NotificationKind||(Ri.NotificationKind={}));var DG=function(){function i(e,t,r){this.kind=e,this.value=t,this.error=r,this.hasValue=e==="N"}return i.prototype.observe=function(e){return WB(this,e)},i.prototype.do=function(e,t,r){var n=this,s=n.kind,o=n.value,a=n.error;return s==="N"?e?.(o):s==="E"?t?.(a):r?.()},i.prototype.accept=function(e,t,r){var n;return TG.isFunction((n=e)===null||n===void 0?void 0:n.next)?this.observe(e):this.do(e,t,r)},i.prototype.toObservable=function(){var e=this,t=e.kind,r=e.value,n=e.error,s=t==="N"?SG.of(r):t==="E"?MG.throwError(function(){return n}):t==="C"?QG.EMPTY:0;if(!s)throw new TypeError("Unexpected notification kind "+t);return s},i.createNext=function(e){return new i("N",e)},i.createError=function(e){return new i("E",void 0,e)},i.createComplete=function(){return i.completeNotification},i.completeNotification=new i("C"),i}();Ri.Notification=DG;function WB(i,e){var t,r,n,s=i,o=s.kind,a=s.value,u=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"?(r=e.error)===null||r===void 0||r.call(e,u):(n=e.complete)===null||n===void 0||n.call(e)}Ri.observeNotification=WB});var YB=D(sA=>{"use strict";Object.defineProperty(sA,"__esModule",{value:!0});sA.isObservable=void 0;var FG=ze(),jB=Ye();function OG(i){return!!i&&(i instanceof FG.Observable||jB.isFunction(i.lift)&&jB.isFunction(i.subscribe))}sA.isObservable=OG});var on=D(oA=>{"use strict";Object.defineProperty(oA,"__esModule",{value:!0});oA.EmptyError=void 0;var RG=tn();oA.EmptyError=RG.createErrorClass(function(i){return function(){i(this),this.name="EmptyError",this.message="no elements in sequence"}})});var KB=D(aA=>{"use strict";Object.defineProperty(aA,"__esModule",{value:!0});aA.lastValueFrom=void 0;var kG=on();function GG(i,e){var t=typeof e=="object";return new Promise(function(r,n){var s=!1,o;i.subscribe({next:function(a){o=a,s=!0},error:n,complete:function(){s?r(o):t?r(e.defaultValue):n(new kG.EmptyError)}})})}aA.lastValueFrom=GG});var VB=D(lA=>{"use strict";Object.defineProperty(lA,"__esModule",{value:!0});lA.firstValueFrom=void 0;var UG=on(),LG=js();function NG(i,e){var t=typeof e=="object";return new Promise(function(r,n){var s=new LG.SafeSubscriber({next:function(o){r(o),s.unsubscribe()},error:n,complete:function(){t?r(e.defaultValue):n(new UG.EmptyError)}});i.subscribe(s)})}lA.firstValueFrom=NG});var nm=D(uA=>{"use strict";Object.defineProperty(uA,"__esModule",{value:!0});uA.ArgumentOutOfRangeError=void 0;var HG=tn();uA.ArgumentOutOfRangeError=HG.createErrorClass(function(i){return function(){i(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}})});var sm=D(cA=>{"use strict";Object.defineProperty(cA,"__esModule",{value:!0});cA.NotFoundError=void 0;var qG=tn();cA.NotFoundError=qG.createErrorClass(function(i){return function(t){i(this),this.name="NotFoundError",this.message=t}})});var om=D(AA=>{"use strict";Object.defineProperty(AA,"__esModule",{value:!0});AA.SequenceError=void 0;var WG=tn();AA.SequenceError=WG.createErrorClass(function(i){return function(t){i(this),this.name="SequenceError",this.message=t}})});var fA=D(hA=>{"use strict";Object.defineProperty(hA,"__esModule",{value:!0});hA.isValidDate=void 0;function jG(i){return i instanceof Date&&!isNaN(i)}hA.isValidDate=jG});var dA=D(Zn=>{"use strict";Object.defineProperty(Zn,"__esModule",{value:!0});Zn.timeout=Zn.TimeoutError=void 0;var YG=ur(),KG=fA(),VG=oe(),XG=ve(),zG=tn(),JG=Ae(),ZG=Fi();Zn.TimeoutError=zG.createErrorClass(function(i){return function(t){t===void 0&&(t=null),i(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function $G(i,e){var t=KG.isValidDate(i)?{first:i}:typeof i=="number"?{each:i}:i,r=t.first,n=t.each,s=t.with,o=s===void 0?eU:s,a=t.scheduler,u=a===void 0?e??YG.asyncScheduler:a,c=t.meta,l=c===void 0?null:c;if(r==null&&n==null)throw new TypeError("No timeout provided.");return VG.operate(function(A,h){var f,d,y=null,g=0,E=function(_){d=ZG.executeSchedule(h,u,function(){try{f.unsubscribe(),XG.innerFrom(o({meta:l,lastValue:y,seen:g})).subscribe(h)}catch(x){h.error(x)}},_)};f=A.subscribe(JG.createOperatorSubscriber(h,function(_){d?.unsubscribe(),g++,h.next(y=_),n>0&&E(n)},void 0,void 0,function(){d?.closed||d?.unsubscribe(),y=null})),!g&&E(r!=null?typeof r=="number"?r:+r-u.now():n)})}Zn.timeout=$G;function eU(i){throw new Zn.TimeoutError(i)}});var an=D(pA=>{"use strict";Object.defineProperty(pA,"__esModule",{value:!0});pA.map=void 0;var tU=oe(),rU=Ae();function iU(i,e){return tU.operate(function(t,r){var n=0;t.subscribe(rU.createOperatorSubscriber(r,function(s){r.next(i.call(e,s,n++))}))})}pA.map=iU});var un=D(ln=>{"use strict";var nU=ln&&ln.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},sU=ln&&ln.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(ln,"__esModule",{value:!0});ln.mapOneOrManyArgs=void 0;var oU=an(),aU=Array.isArray;function lU(i,e){return aU(e)?i.apply(void 0,sU([],nU(e))):i(e)}function uU(i){return oU.map(function(e){return lU(i,e)})}ln.mapOneOrManyArgs=uU});var lm=D(cn=>{"use strict";var cU=cn&&cn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},XB=cn&&cn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(cn,"__esModule",{value:!0});cn.bindCallbackInternals=void 0;var AU=qa(),hU=ze(),fU=ja(),dU=un(),pU=Wa(),gU=Pc();function am(i,e,t,r){if(t)if(AU.isScheduler(t))r=t;else return function(){for(var n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];return am(i,e,r).apply(this,n).pipe(dU.mapOneOrManyArgs(t))};return r?function(){for(var n=[],s=0;s<arguments.length;s++)n[s]=arguments[s];return am(i,e).apply(this,n).pipe(fU.subscribeOn(r),pU.observeOn(r))}:function(){for(var n=this,s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];var a=new gU.AsyncSubject,u=!0;return new hU.Observable(function(c){var l=a.subscribe(c);if(u){u=!1;var A=!1,h=!1;e.apply(n,XB(XB([],cU(s)),[function(){for(var f=[],d=0;d<arguments.length;d++)f[d]=arguments[d];if(i){var y=f.shift();if(y!=null){a.error(y);return}}a.next(1<f.length?f:f[0]),h=!0,A&&a.complete()}])),h&&a.complete(),A=!0}return l})}}cn.bindCallbackInternals=am});var zB=D(gA=>{"use strict";Object.defineProperty(gA,"__esModule",{value:!0});gA.bindCallback=void 0;var mU=lm();function yU(i,e,t){return mU.bindCallbackInternals(!1,i,e,t)}gA.bindCallback=yU});var JB=D(mA=>{"use strict";Object.defineProperty(mA,"__esModule",{value:!0});mA.bindNodeCallback=void 0;var IU=lm();function EU(i,e,t){return IU.bindCallbackInternals(!0,i,e,t)}mA.bindNodeCallback=EU});var um=D(yA=>{"use strict";Object.defineProperty(yA,"__esModule",{value:!0});yA.argsArgArrayOrObject=void 0;var xU=Array.isArray,_U=Object.getPrototypeOf,BU=Object.prototype,vU=Object.keys;function CU(i){if(i.length===1){var e=i[0];if(xU(e))return{args:e,keys:null};if(bU(e)){var t=vU(e);return{args:t.map(function(r){return e[r]}),keys:t}}}return{args:i,keys:null}}yA.argsArgArrayOrObject=CU;function bU(i){return i&&typeof i=="object"&&_U(i)===BU}});var cm=D(IA=>{"use strict";Object.defineProperty(IA,"__esModule",{value:!0});IA.createObject=void 0;function wU(i,e){return i.reduce(function(t,r,n){return t[r]=e[n],t},{})}IA.createObject=wU});var EA=D(fo=>{"use strict";Object.defineProperty(fo,"__esModule",{value:!0});fo.combineLatestInit=fo.combineLatest=void 0;var QU=ze(),SU=um(),ev=Oi(),tv=Lt(),MU=un(),ZB=cr(),TU=cm(),PU=Ae(),DU=Fi();function FU(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=ZB.popScheduler(i),r=ZB.popResultSelector(i),n=SU.argsArgArrayOrObject(i),s=n.args,o=n.keys;if(s.length===0)return ev.from([],t);var a=new QU.Observable(rv(s,t,o?function(u){return TU.createObject(o,u)}:tv.identity));return r?a.pipe(MU.mapOneOrManyArgs(r)):a}fo.combineLatest=FU;function rv(i,e,t){return t===void 0&&(t=tv.identity),function(r){$B(e,function(){for(var n=i.length,s=new Array(n),o=n,a=n,u=function(l){$B(e,function(){var A=ev.from(i[l],e),h=!1;A.subscribe(PU.createOperatorSubscriber(r,function(f){s[l]=f,h||(h=!0,a--),a||r.next(t(s.slice()))},function(){--o||r.complete()}))},r)},c=0;c<n;c++)u(c)},r)}}fo.combineLatestInit=rv;function $B(i,e,t){i?DU.executeSchedule(t,i,e):e()}});var _A=D(xA=>{"use strict";Object.defineProperty(xA,"__esModule",{value:!0});xA.mergeInternals=void 0;var OU=ve(),RU=Fi(),iv=Ae();function kU(i,e,t,r,n,s,o,a){var u=[],c=0,l=0,A=!1,h=function(){A&&!u.length&&!c&&e.complete()},f=function(y){return c<r?d(y):u.push(y)},d=function(y){s&&e.next(y),c++;var g=!1;OU.innerFrom(t(y,l++)).subscribe(iv.createOperatorSubscriber(e,function(E){n?.(E),s?f(E):e.next(E)},function(){g=!0},void 0,function(){if(g)try{c--;for(var E=function(){var _=u.shift();o?RU.executeSchedule(e,o,function(){return d(_)}):d(_)};u.length&&c<r;)E();h()}catch(_){e.error(_)}}))};return i.subscribe(iv.createOperatorSubscriber(e,f,function(){A=!0,h()})),function(){a?.()}}xA.mergeInternals=kU});var ki=D(BA=>{"use strict";Object.defineProperty(BA,"__esModule",{value:!0});BA.mergeMap=void 0;var GU=an(),UU=ve(),LU=oe(),NU=_A(),HU=Ye();function nv(i,e,t){return t===void 0&&(t=1/0),HU.isFunction(e)?nv(function(r,n){return GU.map(function(s,o){return e(r,s,n,o)})(UU.innerFrom(i(r,n)))},t):(typeof e=="number"&&(t=e),LU.operate(function(r,n){return NU.mergeInternals(r,n,i,t)}))}BA.mergeMap=nv});var Ya=D(vA=>{"use strict";Object.defineProperty(vA,"__esModule",{value:!0});vA.mergeAll=void 0;var qU=ki(),WU=Lt();function jU(i){return i===void 0&&(i=1/0),qU.mergeMap(WU.identity,i)}vA.mergeAll=jU});var bA=D(CA=>{"use strict";Object.defineProperty(CA,"__esModule",{value:!0});CA.concatAll=void 0;var YU=Ya();function KU(){return YU.mergeAll(1)}CA.concatAll=KU});var Ka=D(wA=>{"use strict";Object.defineProperty(wA,"__esModule",{value:!0});wA.concat=void 0;var VU=bA(),XU=cr(),zU=Oi();function JU(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return VU.concatAll()(zU.from(i,XU.popScheduler(i)))}wA.concat=JU});var Va=D(QA=>{"use strict";Object.defineProperty(QA,"__esModule",{value:!0});QA.defer=void 0;var ZU=ze(),$U=ve();function eL(i){return new ZU.Observable(function(e){$U.innerFrom(i()).subscribe(e)})}QA.defer=eL});var sv=D(SA=>{"use strict";Object.defineProperty(SA,"__esModule",{value:!0});SA.connectable=void 0;var tL=Nt(),rL=ze(),iL=Va(),nL={connector:function(){return new tL.Subject},resetOnDisconnect:!0};function sL(i,e){e===void 0&&(e=nL);var t=null,r=e.connector,n=e.resetOnDisconnect,s=n===void 0?!0:n,o=r(),a=new rL.Observable(function(u){return o.subscribe(u)});return a.connect=function(){return(!t||t.closed)&&(t=iL.defer(function(){return i}).subscribe(o),s&&t.add(function(){return o=r()})),t},a}SA.connectable=sL});var ov=D(MA=>{"use strict";Object.defineProperty(MA,"__esModule",{value:!0});MA.forkJoin=void 0;var oL=ze(),aL=um(),lL=ve(),uL=cr(),cL=Ae(),AL=un(),hL=cm();function fL(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=uL.popResultSelector(i),r=aL.argsArgArrayOrObject(i),n=r.args,s=r.keys,o=new oL.Observable(function(a){var u=n.length;if(!u){a.complete();return}for(var c=new Array(u),l=u,A=u,h=function(d){var y=!1;lL.innerFrom(n[d]).subscribe(cL.createOperatorSubscriber(a,function(g){y||(y=!0,A--),c[d]=g},function(){return l--},void 0,function(){(!l||!y)&&(A||a.next(s?hL.createObject(s,c):c),a.complete())}))},f=0;f<u;f++)h(f)});return t?o.pipe(AL.mapOneOrManyArgs(t)):o}MA.forkJoin=fL});var lv=D(po=>{"use strict";var dL=po&&po.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s};Object.defineProperty(po,"__esModule",{value:!0});po.fromEvent=void 0;var pL=ve(),gL=ze(),mL=ki(),yL=kc(),$n=Ye(),IL=un(),EL=["addListener","removeListener"],xL=["addEventListener","removeEventListener"],_L=["on","off"];function Am(i,e,t,r){if($n.isFunction(t)&&(r=t,t=void 0),r)return Am(i,e,t).pipe(IL.mapOneOrManyArgs(r));var n=dL(CL(i)?xL.map(function(a){return function(u){return i[a](e,u,t)}}):BL(i)?EL.map(av(i,e)):vL(i)?_L.map(av(i,e)):[],2),s=n[0],o=n[1];if(!s&&yL.isArrayLike(i))return mL.mergeMap(function(a){return Am(a,e,t)})(pL.innerFrom(i));if(!s)throw new TypeError("Invalid event target");return new gL.Observable(function(a){var u=function(){for(var c=[],l=0;l<arguments.length;l++)c[l]=arguments[l];return a.next(1<c.length?c:c[0])};return s(u),function(){return o(u)}})}po.fromEvent=Am;function av(i,e){return function(t){return function(r){return i[t](e,r)}}}function BL(i){return $n.isFunction(i.addListener)&&$n.isFunction(i.removeListener)}function vL(i){return $n.isFunction(i.on)&&$n.isFunction(i.off)}function CL(i){return $n.isFunction(i.addEventListener)&&$n.isFunction(i.removeEventListener)}});var cv=D(TA=>{"use strict";Object.defineProperty(TA,"__esModule",{value:!0});TA.fromEventPattern=void 0;var bL=ze(),wL=Ye(),QL=un();function uv(i,e,t){return t?uv(i,e).pipe(QL.mapOneOrManyArgs(t)):new bL.Observable(function(r){var n=function(){for(var o=[],a=0;a<arguments.length;a++)o[a]=arguments[a];return r.next(o.length===1?o[0]:o)},s=i(n);return wL.isFunction(e)?function(){return e(n,s)}:void 0})}TA.fromEventPattern=uv});var hv=D(go=>{"use strict";var SL=go&&go.__generator||function(i,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},r,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(l){return u([c,l])}}function u(c){if(r)throw new TypeError("Generator is already executing.");for(;t;)try{if(r=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(i,t)}catch(l){c=[6,l],n=0}finally{r=s=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}};Object.defineProperty(go,"__esModule",{value:!0});go.generate=void 0;var Av=Lt(),ML=qa(),TL=Va(),PL=em();function DL(i,e,t,r,n){var s,o,a,u;arguments.length===1?(s=i,u=s.initialState,e=s.condition,t=s.iterate,o=s.resultSelector,a=o===void 0?Av.identity:o,n=s.scheduler):(u=i,!r||ML.isScheduler(r)?(a=Av.identity,n=r):a=r);function c(){var l;return SL(this,function(A){switch(A.label){case 0:l=u,A.label=1;case 1:return!e||e(l)?[4,a(l)]:[3,4];case 2:A.sent(),A.label=3;case 3:return l=t(l),[3,1];case 4:return[2]}})}return TL.defer(n?function(){return PL.scheduleIterable(c(),n)}:c)}go.generate=DL});var fv=D(PA=>{"use strict";Object.defineProperty(PA,"__esModule",{value:!0});PA.iif=void 0;var FL=Va();function OL(i,e,t){return FL.defer(function(){return i()?e:t})}PA.iif=OL});var An=D(DA=>{"use strict";Object.defineProperty(DA,"__esModule",{value:!0});DA.timer=void 0;var RL=ze(),kL=ur(),GL=qa(),UL=fA();function LL(i,e,t){i===void 0&&(i=0),t===void 0&&(t=kL.async);var r=-1;return e!=null&&(GL.isScheduler(e)?t=e:r=e),new RL.Observable(function(n){var s=UL.isValidDate(i)?+i-t.now():i;s<0&&(s=0);var o=0;return t.schedule(function(){n.closed||(n.next(o++),0<=r?this.schedule(void 0,r):n.complete())},s)})}DA.timer=LL});var hm=D(FA=>{"use strict";Object.defineProperty(FA,"__esModule",{value:!0});FA.interval=void 0;var NL=ur(),HL=An();function qL(i,e){return i===void 0&&(i=0),e===void 0&&(e=NL.asyncScheduler),i<0&&(i=0),HL.timer(i,i,e)}FA.interval=qL});var pv=D(OA=>{"use strict";Object.defineProperty(OA,"__esModule",{value:!0});OA.merge=void 0;var WL=Ya(),jL=ve(),YL=Jr(),dv=cr(),KL=Oi();function VL(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=dv.popScheduler(i),r=dv.popNumber(i,1/0),n=i;return n.length?n.length===1?jL.innerFrom(n[0]):WL.mergeAll(r)(KL.from(n,t)):YL.EMPTY}OA.merge=VL});var fm=D(es=>{"use strict";Object.defineProperty(es,"__esModule",{value:!0});es.never=es.NEVER=void 0;var XL=ze(),zL=Ut();es.NEVER=new XL.Observable(zL.noop);function JL(){return es.NEVER}es.never=JL});var ts=D(RA=>{"use strict";Object.defineProperty(RA,"__esModule",{value:!0});RA.argsOrArgArray=void 0;var ZL=Array.isArray;function $L(i){return i.length===1&&ZL(i[0])?i[0]:i}RA.argsOrArgArray=$L});var dm=D(kA=>{"use strict";Object.defineProperty(kA,"__esModule",{value:!0});kA.onErrorResumeNext=void 0;var eN=ze(),tN=ts(),rN=Ae(),gv=Ut(),iN=ve();function nN(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=tN.argsOrArgArray(i);return new eN.Observable(function(r){var n=0,s=function(){if(n<t.length){var o=void 0;try{o=iN.innerFrom(t[n++])}catch{s();return}var a=new rN.OperatorSubscriber(r,void 0,gv.noop,gv.noop);o.subscribe(a),a.add(s)}else r.complete()};s()})}kA.onErrorResumeNext=nN});var mv=D(GA=>{"use strict";Object.defineProperty(GA,"__esModule",{value:!0});GA.pairs=void 0;var sN=Oi();function oN(i,e){return sN.from(Object.entries(i),e)}GA.pairs=oN});var yv=D(UA=>{"use strict";Object.defineProperty(UA,"__esModule",{value:!0});UA.not=void 0;function aN(i,e){return function(t,r){return!i.call(e,t,r)}}UA.not=aN});var rs=D(LA=>{"use strict";Object.defineProperty(LA,"__esModule",{value:!0});LA.filter=void 0;var lN=oe(),uN=Ae();function cN(i,e){return lN.operate(function(t,r){var n=0;t.subscribe(uN.createOperatorSubscriber(r,function(s){return i.call(e,s,n++)&&r.next(s)}))})}LA.filter=cN});var xv=D(NA=>{"use strict";Object.defineProperty(NA,"__esModule",{value:!0});NA.partition=void 0;var AN=yv(),Iv=rs(),Ev=ve();function hN(i,e,t){return[Iv.filter(e,t)(Ev.innerFrom(i)),Iv.filter(AN.not(e,t))(Ev.innerFrom(i))]}NA.partition=hN});var pm=D(mo=>{"use strict";Object.defineProperty(mo,"__esModule",{value:!0});mo.raceInit=mo.race=void 0;var fN=ze(),_v=ve(),dN=ts(),pN=Ae();function gN(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return i=dN.argsOrArgArray(i),i.length===1?_v.innerFrom(i[0]):new fN.Observable(Bv(i))}mo.race=gN;function Bv(i){return function(e){for(var t=[],r=function(s){t.push(_v.innerFrom(i[s]).subscribe(pN.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<i.length;n++)r(n)}}mo.raceInit=Bv});var vv=D(HA=>{"use strict";Object.defineProperty(HA,"__esModule",{value:!0});HA.range=void 0;var mN=ze(),yN=Jr();function IN(i,e,t){if(e==null&&(e=i,i=0),e<=0)return yN.EMPTY;var r=e+i;return new mN.Observable(t?function(n){var s=i;return t.schedule(function(){s<r?(n.next(s++),this.schedule()):n.complete()})}:function(n){for(var s=i;s<r&&!n.closed;)n.next(s++);n.complete()})}HA.range=IN});var Cv=D(qA=>{"use strict";Object.defineProperty(qA,"__esModule",{value:!0});qA.using=void 0;var EN=ze(),xN=ve(),_N=Jr();function BN(i,e){return new EN.Observable(function(t){var r=i(),n=e(r),s=n?xN.innerFrom(n):_N.EMPTY;return s.subscribe(t),function(){r&&r.unsubscribe()}})}qA.using=BN});var WA=D(hn=>{"use strict";var vN=hn&&hn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},CN=hn&&hn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(hn,"__esModule",{value:!0});hn.zip=void 0;var bN=ze(),wN=ve(),QN=ts(),SN=Jr(),MN=Ae(),TN=cr();function PN(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=TN.popResultSelector(i),r=QN.argsOrArgArray(i);return r.length?new bN.Observable(function(n){var s=r.map(function(){return[]}),o=r.map(function(){return!1});n.add(function(){s=o=null});for(var a=function(c){wN.innerFrom(r[c]).subscribe(MN.createOperatorSubscriber(n,function(l){if(s[c].push(l),s.every(function(h){return h.length})){var A=s.map(function(h){return h.shift()});n.next(t?t.apply(void 0,CN([],vN(A))):A),s.some(function(h,f){return!h.length&&o[f]})&&n.complete()}},function(){o[c]=!0,!s[c].length&&n.complete()}))},u=0;!n.closed&&u<r.length;u++)a(u);return function(){s=o=null}}):SN.EMPTY}hn.zip=PN});var wv=D(bv=>{"use strict";Object.defineProperty(bv,"__esModule",{value:!0})});var gm=D(jA=>{"use strict";Object.defineProperty(jA,"__esModule",{value:!0});jA.audit=void 0;var DN=oe(),FN=ve(),Qv=Ae();function ON(i){return DN.operate(function(e,t){var r=!1,n=null,s=null,o=!1,a=function(){if(s?.unsubscribe(),s=null,r){r=!1;var c=n;n=null,t.next(c)}o&&t.complete()},u=function(){s=null,o&&t.complete()};e.subscribe(Qv.createOperatorSubscriber(t,function(c){r=!0,n=c,s||FN.innerFrom(i(c)).subscribe(s=Qv.createOperatorSubscriber(t,a,u))},function(){o=!0,(!r||!s||s.closed)&&t.complete()}))})}jA.audit=ON});var Sv=D(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.auditTime=void 0;var RN=ur(),kN=gm(),GN=An();function UN(i,e){return e===void 0&&(e=RN.asyncScheduler),kN.audit(function(){return GN.timer(i,e)})}YA.auditTime=UN});var Tv=D(KA=>{"use strict";Object.defineProperty(KA,"__esModule",{value:!0});KA.buffer=void 0;var LN=oe(),NN=Ut(),Mv=Ae(),HN=ve();function qN(i){return LN.operate(function(e,t){var r=[];return e.subscribe(Mv.createOperatorSubscriber(t,function(n){return r.push(n)},function(){t.next(r),t.complete()})),HN.innerFrom(i).subscribe(Mv.createOperatorSubscriber(t,function(){var n=r;r=[],t.next(n)},NN.noop)),function(){r=null}})}KA.buffer=qN});var Pv=D(yo=>{"use strict";var mm=yo&&yo.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(yo,"__esModule",{value:!0});yo.bufferCount=void 0;var WN=oe(),jN=Ae(),YN=Di();function KN(i,e){return e===void 0&&(e=null),e=e??i,WN.operate(function(t,r){var n=[],s=0;t.subscribe(jN.createOperatorSubscriber(r,function(o){var a,u,c,l,A=null;s++%e===0&&n.push([]);try{for(var h=mm(n),f=h.next();!f.done;f=h.next()){var d=f.value;d.push(o),i<=d.length&&(A=A??[],A.push(d))}}catch(E){a={error:E}}finally{try{f&&!f.done&&(u=h.return)&&u.call(h)}finally{if(a)throw a.error}}if(A)try{for(var y=mm(A),g=y.next();!g.done;g=y.next()){var d=g.value;YN.arrRemove(n,d),r.next(d)}}catch(E){c={error:E}}finally{try{g&&!g.done&&(l=y.return)&&l.call(y)}finally{if(c)throw c.error}}},function(){var o,a;try{for(var u=mm(n),c=u.next();!c.done;c=u.next()){var l=c.value;r.next(l)}}catch(A){o={error:A}}finally{try{c&&!c.done&&(a=u.return)&&a.call(u)}finally{if(o)throw o.error}}r.complete()},void 0,function(){n=null}))})}yo.bufferCount=KN});var Fv=D(Io=>{"use strict";var VN=Io&&Io.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Io,"__esModule",{value:!0});Io.bufferTime=void 0;var XN=xr(),zN=oe(),JN=Ae(),ZN=Di(),$N=ur(),eH=cr(),Dv=Fi();function tH(i){for(var e,t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var s=(e=eH.popScheduler(r))!==null&&e!==void 0?e:$N.asyncScheduler,o=(t=r[0])!==null&&t!==void 0?t:null,a=r[1]||1/0;return zN.operate(function(u,c){var l=[],A=!1,h=function(y){var g=y.buffer,E=y.subs;E.unsubscribe(),ZN.arrRemove(l,y),c.next(g),A&&f()},f=function(){if(l){var y=new XN.Subscription;c.add(y);var g=[],E={buffer:g,subs:y};l.push(E),Dv.executeSchedule(y,s,function(){return h(E)},i)}};o!==null&&o>=0?Dv.executeSchedule(c,s,f,o,!0):A=!0,f();var d=JN.createOperatorSubscriber(c,function(y){var g,E,_=l.slice();try{for(var x=VN(_),I=x.next();!I.done;I=x.next()){var P=I.value,F=P.buffer;F.push(y),a<=F.length&&h(P)}}catch(G){g={error:G}}finally{try{I&&!I.done&&(E=x.return)&&E.call(x)}finally{if(g)throw g.error}}},function(){for(;l?.length;)c.next(l.shift().buffer);d?.unsubscribe(),c.complete(),c.unsubscribe()},void 0,function(){return l=null});u.subscribe(d)})}Io.bufferTime=tH});var kv=D(Eo=>{"use strict";var rH=Eo&&Eo.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Eo,"__esModule",{value:!0});Eo.bufferToggle=void 0;var iH=xr(),nH=oe(),Ov=ve(),ym=Ae(),Rv=Ut(),sH=Di();function oH(i,e){return nH.operate(function(t,r){var n=[];Ov.innerFrom(i).subscribe(ym.createOperatorSubscriber(r,function(s){var o=[];n.push(o);var a=new iH.Subscription,u=function(){sH.arrRemove(n,o),r.next(o),a.unsubscribe()};a.add(Ov.innerFrom(e(s)).subscribe(ym.createOperatorSubscriber(r,u,Rv.noop)))},Rv.noop)),t.subscribe(ym.createOperatorSubscriber(r,function(s){var o,a;try{for(var u=rH(n),c=u.next();!c.done;c=u.next()){var l=c.value;l.push(s)}}catch(A){o={error:A}}finally{try{c&&!c.done&&(a=u.return)&&a.call(u)}finally{if(o)throw o.error}}},function(){for(;n.length>0;)r.next(n.shift());r.complete()}))})}Eo.bufferToggle=oH});var Uv=D(VA=>{"use strict";Object.defineProperty(VA,"__esModule",{value:!0});VA.bufferWhen=void 0;var aH=oe(),lH=Ut(),Gv=Ae(),uH=ve();function cH(i){return aH.operate(function(e,t){var r=null,n=null,s=function(){n?.unsubscribe();var o=r;r=[],o&&t.next(o),uH.innerFrom(i()).subscribe(n=Gv.createOperatorSubscriber(t,s,lH.noop))};s(),e.subscribe(Gv.createOperatorSubscriber(t,function(o){return r?.push(o)},function(){r&&t.next(r),t.complete()},void 0,function(){return r=n=null}))})}VA.bufferWhen=cH});var Nv=D(XA=>{"use strict";Object.defineProperty(XA,"__esModule",{value:!0});XA.catchError=void 0;var AH=ve(),hH=Ae(),fH=oe();function Lv(i){return fH.operate(function(e,t){var r=null,n=!1,s;r=e.subscribe(hH.createOperatorSubscriber(t,void 0,void 0,function(o){s=AH.innerFrom(i(o,Lv(i)(e))),r?(r.unsubscribe(),r=null,s.subscribe(t)):n=!0})),n&&(r.unsubscribe(),r=null,s.subscribe(t))})}XA.catchError=Lv});var Im=D(zA=>{"use strict";Object.defineProperty(zA,"__esModule",{value:!0});zA.scanInternals=void 0;var dH=Ae();function pH(i,e,t,r,n){return function(s,o){var a=t,u=e,c=0;s.subscribe(dH.createOperatorSubscriber(o,function(l){var A=c++;u=a?i(u,l,A):(a=!0,l),r&&o.next(u)},n&&function(){a&&o.next(u),o.complete()}))}}zA.scanInternals=pH});var xo=D(JA=>{"use strict";Object.defineProperty(JA,"__esModule",{value:!0});JA.reduce=void 0;var gH=Im(),mH=oe();function yH(i,e){return mH.operate(gH.scanInternals(i,e,arguments.length>=2,!1,!0))}JA.reduce=yH});var Em=D(ZA=>{"use strict";Object.defineProperty(ZA,"__esModule",{value:!0});ZA.toArray=void 0;var IH=xo(),EH=oe(),xH=function(i,e){return i.push(e),i};function _H(){return EH.operate(function(i,e){IH.reduce(xH,[])(i).subscribe(e)})}ZA.toArray=_H});var xm=D($A=>{"use strict";Object.defineProperty($A,"__esModule",{value:!0});$A.joinAllInternals=void 0;var BH=Lt(),vH=un(),CH=Ua(),bH=ki(),wH=Em();function QH(i,e){return CH.pipe(wH.toArray(),bH.mergeMap(function(t){return i(t)}),e?vH.mapOneOrManyArgs(e):BH.identity)}$A.joinAllInternals=QH});var _m=D(eh=>{"use strict";Object.defineProperty(eh,"__esModule",{value:!0});eh.combineLatestAll=void 0;var SH=EA(),MH=xm();function TH(i){return MH.joinAllInternals(SH.combineLatest,i)}eh.combineLatestAll=TH});var Hv=D(th=>{"use strict";Object.defineProperty(th,"__esModule",{value:!0});th.combineAll=void 0;var PH=_m();th.combineAll=PH.combineLatestAll});var Yv=D(fn=>{"use strict";var qv=fn&&fn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},Wv=fn&&fn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(fn,"__esModule",{value:!0});fn.combineLatest=void 0;var DH=EA(),FH=oe(),OH=ts(),RH=un(),kH=Ua(),GH=cr();function jv(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=GH.popResultSelector(i);return t?kH.pipe(jv.apply(void 0,Wv([],qv(i))),RH.mapOneOrManyArgs(t)):FH.operate(function(r,n){DH.combineLatestInit(Wv([r],qv(OH.argsOrArgArray(i))))(n)})}fn.combineLatest=jv});var Kv=D(dn=>{"use strict";var UH=dn&&dn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},LH=dn&&dn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(dn,"__esModule",{value:!0});dn.combineLatestWith=void 0;var NH=Yv();function HH(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return NH.combineLatest.apply(void 0,LH([],UH(i)))}dn.combineLatestWith=HH});var Bm=D(rh=>{"use strict";Object.defineProperty(rh,"__esModule",{value:!0});rh.concatMap=void 0;var Vv=ki(),qH=Ye();function WH(i,e){return qH.isFunction(e)?Vv.mergeMap(i,e,1):Vv.mergeMap(i,1)}rh.concatMap=WH});var zv=D(ih=>{"use strict";Object.defineProperty(ih,"__esModule",{value:!0});ih.concatMapTo=void 0;var Xv=Bm(),jH=Ye();function YH(i,e){return jH.isFunction(e)?Xv.concatMap(function(){return i},e):Xv.concatMap(function(){return i})}ih.concatMapTo=YH});var Jv=D(pn=>{"use strict";var KH=pn&&pn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},VH=pn&&pn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(pn,"__esModule",{value:!0});pn.concat=void 0;var XH=oe(),zH=bA(),JH=cr(),ZH=Oi();function $H(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=JH.popScheduler(i);return XH.operate(function(r,n){zH.concatAll()(ZH.from(VH([r],KH(i)),t)).subscribe(n)})}pn.concat=$H});var Zv=D(gn=>{"use strict";var eq=gn&&gn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},tq=gn&&gn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(gn,"__esModule",{value:!0});gn.concatWith=void 0;var rq=Jv();function iq(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return rq.concat.apply(void 0,tq([],eq(i)))}gn.concatWith=iq});var $v=D(nh=>{"use strict";Object.defineProperty(nh,"__esModule",{value:!0});nh.fromSubscribable=void 0;var nq=ze();function sq(i){return new nq.Observable(function(e){return i.subscribe(e)})}nh.fromSubscribable=sq});var oh=D(sh=>{"use strict";Object.defineProperty(sh,"__esModule",{value:!0});sh.connect=void 0;var oq=Nt(),aq=ve(),lq=oe(),uq=$v(),cq={connector:function(){return new oq.Subject}};function Aq(i,e){e===void 0&&(e=cq);var t=e.connector;return lq.operate(function(r,n){var s=t();aq.innerFrom(i(uq.fromSubscribable(s))).subscribe(n),n.add(r.subscribe(s))})}sh.connect=Aq});var eC=D(ah=>{"use strict";Object.defineProperty(ah,"__esModule",{value:!0});ah.count=void 0;var hq=xo();function fq(i){return hq.reduce(function(e,t,r){return!i||i(t,r)?e+1:e},0)}ah.count=fq});var rC=D(lh=>{"use strict";Object.defineProperty(lh,"__esModule",{value:!0});lh.debounce=void 0;var dq=oe(),pq=Ut(),tC=Ae(),gq=ve();function mq(i){return dq.operate(function(e,t){var r=!1,n=null,s=null,o=function(){if(s?.unsubscribe(),s=null,r){r=!1;var a=n;n=null,t.next(a)}};e.subscribe(tC.createOperatorSubscriber(t,function(a){s?.unsubscribe(),r=!0,n=a,s=tC.createOperatorSubscriber(t,o,pq.noop),gq.innerFrom(i(a)).subscribe(s)},function(){o(),t.complete()},void 0,function(){n=s=null}))})}lh.debounce=mq});var iC=D(uh=>{"use strict";Object.defineProperty(uh,"__esModule",{value:!0});uh.debounceTime=void 0;var yq=ur(),Iq=oe(),Eq=Ae();function xq(i,e){return e===void 0&&(e=yq.asyncScheduler),Iq.operate(function(t,r){var n=null,s=null,o=null,a=function(){if(n){n.unsubscribe(),n=null;var c=s;s=null,r.next(c)}};function u(){var c=o+i,l=e.now();if(l<c){n=this.schedule(void 0,c-l),r.add(n);return}a()}t.subscribe(Eq.createOperatorSubscriber(r,function(c){s=c,o=e.now(),n||(n=e.schedule(u,i),r.add(n))},function(){a(),r.complete()},void 0,function(){s=n=null}))})}uh.debounceTime=xq});var Xa=D(ch=>{"use strict";Object.defineProperty(ch,"__esModule",{value:!0});ch.defaultIfEmpty=void 0;var _q=oe(),Bq=Ae();function vq(i){return _q.operate(function(e,t){var r=!1;e.subscribe(Bq.createOperatorSubscriber(t,function(n){r=!0,t.next(n)},function(){r||t.next(i),t.complete()}))})}ch.defaultIfEmpty=vq});var za=D(Ah=>{"use strict";Object.defineProperty(Ah,"__esModule",{value:!0});Ah.take=void 0;var Cq=Jr(),bq=oe(),wq=Ae();function Qq(i){return i<=0?function(){return Cq.EMPTY}:bq.operate(function(e,t){var r=0;e.subscribe(wq.createOperatorSubscriber(t,function(n){++r<=i&&(t.next(n),i<=r&&t.complete())}))})}Ah.take=Qq});var vm=D(hh=>{"use strict";Object.defineProperty(hh,"__esModule",{value:!0});hh.ignoreElements=void 0;var Sq=oe(),Mq=Ae(),Tq=Ut();function Pq(){return Sq.operate(function(i,e){i.subscribe(Mq.createOperatorSubscriber(e,Tq.noop))})}hh.ignoreElements=Pq});var Cm=D(fh=>{"use strict";Object.defineProperty(fh,"__esModule",{value:!0});fh.mapTo=void 0;var Dq=an();function Fq(i){return Dq.map(function(){return i})}fh.mapTo=Fq});var bm=D(dh=>{"use strict";Object.defineProperty(dh,"__esModule",{value:!0});dh.delayWhen=void 0;var Oq=Ka(),nC=za(),Rq=vm(),kq=Cm(),Gq=ki(),Uq=ve();function sC(i,e){return e?function(t){return Oq.concat(e.pipe(nC.take(1),Rq.ignoreElements()),t.pipe(sC(i)))}:Gq.mergeMap(function(t,r){return Uq.innerFrom(i(t,r)).pipe(nC.take(1),kq.mapTo(t))})}dh.delayWhen=sC});var oC=D(ph=>{"use strict";Object.defineProperty(ph,"__esModule",{value:!0});ph.delay=void 0;var Lq=ur(),Nq=bm(),Hq=An();function qq(i,e){e===void 0&&(e=Lq.asyncScheduler);var t=Hq.timer(i,e);return Nq.delayWhen(function(){return t})}ph.delay=qq});var aC=D(gh=>{"use strict";Object.defineProperty(gh,"__esModule",{value:!0});gh.dematerialize=void 0;var Wq=nA(),jq=oe(),Yq=Ae();function Kq(){return jq.operate(function(i,e){i.subscribe(Yq.createOperatorSubscriber(e,function(t){return Wq.observeNotification(t,e)}))})}gh.dematerialize=Kq});var uC=D(mh=>{"use strict";Object.defineProperty(mh,"__esModule",{value:!0});mh.distinct=void 0;var Vq=oe(),lC=Ae(),Xq=Ut(),zq=ve();function Jq(i,e){return Vq.operate(function(t,r){var n=new Set;t.subscribe(lC.createOperatorSubscriber(r,function(s){var o=i?i(s):s;n.has(o)||(n.add(o),r.next(s))})),e&&zq.innerFrom(e).subscribe(lC.createOperatorSubscriber(r,function(){return n.clear()},Xq.noop))})}mh.distinct=Jq});var wm=D(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.distinctUntilChanged=void 0;var Zq=Lt(),$q=oe(),eW=Ae();function tW(i,e){return e===void 0&&(e=Zq.identity),i=i??rW,$q.operate(function(t,r){var n,s=!0;t.subscribe(eW.createOperatorSubscriber(r,function(o){var a=e(o);(s||!i(n,a))&&(s=!1,n=a,r.next(o))}))})}yh.distinctUntilChanged=tW;function rW(i,e){return i===e}});var cC=D(Ih=>{"use strict";Object.defineProperty(Ih,"__esModule",{value:!0});Ih.distinctUntilKeyChanged=void 0;var iW=wm();function nW(i,e){return iW.distinctUntilChanged(function(t,r){return e?e(t[i],r[i]):t[i]===r[i]})}Ih.distinctUntilKeyChanged=nW});var Ja=D(Eh=>{"use strict";Object.defineProperty(Eh,"__esModule",{value:!0});Eh.throwIfEmpty=void 0;var sW=on(),oW=oe(),aW=Ae();function lW(i){return i===void 0&&(i=uW),oW.operate(function(e,t){var r=!1;e.subscribe(aW.createOperatorSubscriber(t,function(n){r=!0,t.next(n)},function(){return r?t.complete():t.error(i())}))})}Eh.throwIfEmpty=lW;function uW(){return new sW.EmptyError}});var hC=D(xh=>{"use strict";Object.defineProperty(xh,"__esModule",{value:!0});xh.elementAt=void 0;var AC=nm(),cW=rs(),AW=Ja(),hW=Xa(),fW=za();function dW(i,e){if(i<0)throw new AC.ArgumentOutOfRangeError;var t=arguments.length>=2;return function(r){return r.pipe(cW.filter(function(n,s){return s===i}),fW.take(1),t?hW.defaultIfEmpty(e):AW.throwIfEmpty(function(){return new AC.ArgumentOutOfRangeError}))}}xh.elementAt=dW});var fC=D(mn=>{"use strict";var pW=mn&&mn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},gW=mn&&mn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(mn,"__esModule",{value:!0});mn.endWith=void 0;var mW=Ka(),yW=rA();function IW(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return function(t){return mW.concat(t,yW.of.apply(void 0,gW([],pW(i))))}}mn.endWith=IW});var dC=D(_h=>{"use strict";Object.defineProperty(_h,"__esModule",{value:!0});_h.every=void 0;var EW=oe(),xW=Ae();function _W(i,e){return EW.operate(function(t,r){var n=0;t.subscribe(xW.createOperatorSubscriber(r,function(s){i.call(e,s,n++,t)||(r.next(!1),r.complete())},function(){r.next(!0),r.complete()}))})}_h.every=_W});var Qm=D(Bh=>{"use strict";Object.defineProperty(Bh,"__esModule",{value:!0});Bh.exhaustMap=void 0;var BW=an(),pC=ve(),vW=oe(),gC=Ae();function mC(i,e){return e?function(t){return t.pipe(mC(function(r,n){return pC.innerFrom(i(r,n)).pipe(BW.map(function(s,o){return e(r,s,n,o)}))}))}:vW.operate(function(t,r){var n=0,s=null,o=!1;t.subscribe(gC.createOperatorSubscriber(r,function(a){s||(s=gC.createOperatorSubscriber(r,void 0,function(){s=null,o&&r.complete()}),pC.innerFrom(i(a,n++)).subscribe(s))},function(){o=!0,!s&&r.complete()}))})}Bh.exhaustMap=mC});var Sm=D(vh=>{"use strict";Object.defineProperty(vh,"__esModule",{value:!0});vh.exhaustAll=void 0;var CW=Qm(),bW=Lt();function wW(){return CW.exhaustMap(bW.identity)}vh.exhaustAll=wW});var yC=D(Ch=>{"use strict";Object.defineProperty(Ch,"__esModule",{value:!0});Ch.exhaust=void 0;var QW=Sm();Ch.exhaust=QW.exhaustAll});var IC=D(bh=>{"use strict";Object.defineProperty(bh,"__esModule",{value:!0});bh.expand=void 0;var SW=oe(),MW=_A();function TW(i,e,t){return e===void 0&&(e=1/0),e=(e||0)<1?1/0:e,SW.operate(function(r,n){return MW.mergeInternals(r,n,i,e,void 0,!0,t)})}bh.expand=TW});var EC=D(wh=>{"use strict";Object.defineProperty(wh,"__esModule",{value:!0});wh.finalize=void 0;var PW=oe();function DW(i){return PW.operate(function(e,t){try{e.subscribe(t)}finally{t.add(i)}})}wh.finalize=DW});var Mm=D(_o=>{"use strict";Object.defineProperty(_o,"__esModule",{value:!0});_o.createFind=_o.find=void 0;var FW=oe(),OW=Ae();function RW(i,e){return FW.operate(xC(i,e,"value"))}_o.find=RW;function xC(i,e,t){var r=t==="index";return function(n,s){var o=0;n.subscribe(OW.createOperatorSubscriber(s,function(a){var u=o++;i.call(e,a,u,n)&&(s.next(r?u:a),s.complete())},function(){s.next(r?-1:void 0),s.complete()}))}}_o.createFind=xC});var _C=D(Qh=>{"use strict";Object.defineProperty(Qh,"__esModule",{value:!0});Qh.findIndex=void 0;var kW=oe(),GW=Mm();function UW(i,e){return kW.operate(GW.createFind(i,e,"index"))}Qh.findIndex=UW});var BC=D(Sh=>{"use strict";Object.defineProperty(Sh,"__esModule",{value:!0});Sh.first=void 0;var LW=on(),NW=rs(),HW=za(),qW=Xa(),WW=Ja(),jW=Lt();function YW(i,e){var t=arguments.length>=2;return function(r){return r.pipe(i?NW.filter(function(n,s){return i(n,s,r)}):jW.identity,HW.take(1),t?qW.defaultIfEmpty(e):WW.throwIfEmpty(function(){return new LW.EmptyError}))}}Sh.first=YW});var CC=D(Mh=>{"use strict";Object.defineProperty(Mh,"__esModule",{value:!0});Mh.groupBy=void 0;var KW=ze(),VW=ve(),XW=Nt(),zW=oe(),vC=Ae();function JW(i,e,t,r){return zW.operate(function(n,s){var o;!e||typeof e=="function"?o=e:(t=e.duration,o=e.element,r=e.connector);var a=new Map,u=function(d){a.forEach(d),d(s)},c=function(d){return u(function(y){return y.error(d)})},l=0,A=!1,h=new vC.OperatorSubscriber(s,function(d){try{var y=i(d),g=a.get(y);if(!g){a.set(y,g=r?r():new XW.Subject);var E=f(y,g);if(s.next(E),t){var _=vC.createOperatorSubscriber(g,function(){g.complete(),_?.unsubscribe()},void 0,void 0,function(){return a.delete(y)});h.add(VW.innerFrom(t(E)).subscribe(_))}}g.next(o?o(d):d)}catch(x){c(x)}},function(){return u(function(d){return d.complete()})},c,function(){return a.clear()},function(){return A=!0,l===0});n.subscribe(h);function f(d,y){var g=new KW.Observable(function(E){l++;var _=y.subscribe(E);return function(){_.unsubscribe(),--l===0&&A&&h.unsubscribe()}});return g.key=d,g}})}Mh.groupBy=JW});var bC=D(Th=>{"use strict";Object.defineProperty(Th,"__esModule",{value:!0});Th.isEmpty=void 0;var ZW=oe(),$W=Ae();function e3(){return ZW.operate(function(i,e){i.subscribe($W.createOperatorSubscriber(e,function(){e.next(!1),e.complete()},function(){e.next(!0),e.complete()}))})}Th.isEmpty=e3});var Tm=D(Bo=>{"use strict";var t3=Bo&&Bo.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Bo,"__esModule",{value:!0});Bo.takeLast=void 0;var r3=Jr(),i3=oe(),n3=Ae();function s3(i){return i<=0?function(){return r3.EMPTY}:i3.operate(function(e,t){var r=[];e.subscribe(n3.createOperatorSubscriber(t,function(n){r.push(n),i<r.length&&r.shift()},function(){var n,s;try{for(var o=t3(r),a=o.next();!a.done;a=o.next()){var u=a.value;t.next(u)}}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(){r=null}))})}Bo.takeLast=s3});var wC=D(Ph=>{"use strict";Object.defineProperty(Ph,"__esModule",{value:!0});Ph.last=void 0;var o3=on(),a3=rs(),l3=Tm(),u3=Ja(),c3=Xa(),A3=Lt();function h3(i,e){var t=arguments.length>=2;return function(r){return r.pipe(i?a3.filter(function(n,s){return i(n,s,r)}):A3.identity,l3.takeLast(1),t?c3.defaultIfEmpty(e):u3.throwIfEmpty(function(){return new o3.EmptyError}))}}Ph.last=h3});var QC=D(Dh=>{"use strict";Object.defineProperty(Dh,"__esModule",{value:!0});Dh.materialize=void 0;var Pm=nA(),f3=oe(),d3=Ae();function p3(){return f3.operate(function(i,e){i.subscribe(d3.createOperatorSubscriber(e,function(t){e.next(Pm.Notification.createNext(t))},function(){e.next(Pm.Notification.createComplete()),e.complete()},function(t){e.next(Pm.Notification.createError(t)),e.complete()}))})}Dh.materialize=p3});var SC=D(Fh=>{"use strict";Object.defineProperty(Fh,"__esModule",{value:!0});Fh.max=void 0;var g3=xo(),m3=Ye();function y3(i){return g3.reduce(m3.isFunction(i)?function(e,t){return i(e,t)>0?e:t}:function(e,t){return e>t?e:t})}Fh.max=y3});var MC=D(Oh=>{"use strict";Object.defineProperty(Oh,"__esModule",{value:!0});Oh.flatMap=void 0;var I3=ki();Oh.flatMap=I3.mergeMap});var PC=D(Rh=>{"use strict";Object.defineProperty(Rh,"__esModule",{value:!0});Rh.mergeMapTo=void 0;var TC=ki(),E3=Ye();function x3(i,e,t){return t===void 0&&(t=1/0),E3.isFunction(e)?TC.mergeMap(function(){return i},e,t):(typeof e=="number"&&(t=e),TC.mergeMap(function(){return i},t))}Rh.mergeMapTo=x3});var DC=D(kh=>{"use strict";Object.defineProperty(kh,"__esModule",{value:!0});kh.mergeScan=void 0;var _3=oe(),B3=_A();function v3(i,e,t){return t===void 0&&(t=1/0),_3.operate(function(r,n){var s=e;return B3.mergeInternals(r,n,function(o,a){return i(s,o,a)},t,function(o){s=o},!1,void 0,function(){return s=null})})}kh.mergeScan=v3});var OC=D(yn=>{"use strict";var C3=yn&&yn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},b3=yn&&yn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(yn,"__esModule",{value:!0});yn.merge=void 0;var w3=oe(),Q3=ts(),S3=Ya(),FC=cr(),M3=Oi();function T3(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=FC.popScheduler(i),r=FC.popNumber(i,1/0);return i=Q3.argsOrArgArray(i),w3.operate(function(n,s){S3.mergeAll(r)(M3.from(b3([n],C3(i)),t)).subscribe(s)})}yn.merge=T3});var RC=D(In=>{"use strict";var P3=In&&In.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},D3=In&&In.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(In,"__esModule",{value:!0});In.mergeWith=void 0;var F3=OC();function O3(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return F3.merge.apply(void 0,D3([],P3(i)))}In.mergeWith=O3});var kC=D(Gh=>{"use strict";Object.defineProperty(Gh,"__esModule",{value:!0});Gh.min=void 0;var R3=xo(),k3=Ye();function G3(i){return R3.reduce(k3.isFunction(i)?function(e,t){return i(e,t)<0?e:t}:function(e,t){return e<t?e:t})}Gh.min=G3});var Lh=D(Uh=>{"use strict";Object.defineProperty(Uh,"__esModule",{value:!0});Uh.multicast=void 0;var U3=La(),GC=Ye(),L3=oh();function N3(i,e){var t=GC.isFunction(i)?i:function(){return i};return GC.isFunction(e)?L3.connect(e,{connector:t}):function(r){return new U3.ConnectableObservable(r,t)}}Uh.multicast=N3});var LC=D(fi=>{"use strict";var H3=fi&&fi.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},q3=fi&&fi.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(fi,"__esModule",{value:!0});fi.onErrorResumeNext=fi.onErrorResumeNextWith=void 0;var W3=ts(),j3=dm();function UC(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=W3.argsOrArgArray(i);return function(r){return j3.onErrorResumeNext.apply(void 0,q3([r],H3(t)))}}fi.onErrorResumeNextWith=UC;fi.onErrorResumeNext=UC});var NC=D(Nh=>{"use strict";Object.defineProperty(Nh,"__esModule",{value:!0});Nh.pairwise=void 0;var Y3=oe(),K3=Ae();function V3(){return Y3.operate(function(i,e){var t,r=!1;i.subscribe(K3.createOperatorSubscriber(e,function(n){var s=t;t=n,r&&e.next([s,n]),r=!0}))})}Nh.pairwise=V3});var HC=D(Hh=>{"use strict";Object.defineProperty(Hh,"__esModule",{value:!0});Hh.pluck=void 0;var X3=an();function z3(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=i.length;if(t===0)throw new Error("list of properties cannot be empty.");return X3.map(function(r){for(var n=r,s=0;s<t;s++){var o=n?.[i[s]];if(typeof o<"u")n=o;else return}return n})}Hh.pluck=z3});var qC=D(qh=>{"use strict";Object.defineProperty(qh,"__esModule",{value:!0});qh.publish=void 0;var J3=Nt(),Z3=Lh(),$3=oh();function ej(i){return i?function(e){return $3.connect(i)(e)}:function(e){return Z3.multicast(new J3.Subject)(e)}}qh.publish=ej});var WC=D(Wh=>{"use strict";Object.defineProperty(Wh,"__esModule",{value:!0});Wh.publishBehavior=void 0;var tj=Ng(),rj=La();function ij(i){return function(e){var t=new tj.BehaviorSubject(i);return new rj.ConnectableObservable(e,function(){return t})}}Wh.publishBehavior=ij});var jC=D(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});jh.publishLast=void 0;var nj=Pc(),sj=La();function oj(){return function(i){var e=new nj.AsyncSubject;return new sj.ConnectableObservable(i,function(){return e})}}jh.publishLast=oj});var KC=D(Yh=>{"use strict";Object.defineProperty(Yh,"__esModule",{value:!0});Yh.publishReplay=void 0;var aj=Tc(),lj=Lh(),YC=Ye();function uj(i,e,t,r){t&&!YC.isFunction(t)&&(r=t);var n=YC.isFunction(t)?t:void 0;return function(s){return lj.multicast(new aj.ReplaySubject(i,e,r),n)(s)}}Yh.publishReplay=uj});var VC=D(En=>{"use strict";var cj=En&&En.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},Aj=En&&En.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(En,"__esModule",{value:!0});En.raceWith=void 0;var hj=pm(),fj=oe(),dj=Lt();function pj(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return i.length?fj.operate(function(t,r){hj.raceInit(Aj([t],cj(i)))(r)}):dj.identity}En.raceWith=pj});var zC=D(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});Kh.repeat=void 0;var gj=Jr(),mj=oe(),XC=Ae(),yj=ve(),Ij=An();function Ej(i){var e,t=1/0,r;return i!=null&&(typeof i=="object"?(e=i.count,t=e===void 0?1/0:e,r=i.delay):t=i),t<=0?function(){return gj.EMPTY}:mj.operate(function(n,s){var o=0,a,u=function(){if(a?.unsubscribe(),a=null,r!=null){var l=typeof r=="number"?Ij.timer(r):yj.innerFrom(r(o)),A=XC.createOperatorSubscriber(s,function(){A.unsubscribe(),c()});l.subscribe(A)}else c()},c=function(){var l=!1;a=n.subscribe(XC.createOperatorSubscriber(s,void 0,function(){++o<t?a?u():l=!0:s.complete()})),l&&u()};c()})}Kh.repeat=Ej});var ZC=D(Vh=>{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});Vh.repeatWhen=void 0;var xj=ve(),_j=Nt(),Bj=oe(),JC=Ae();function vj(i){return Bj.operate(function(e,t){var r,n=!1,s,o=!1,a=!1,u=function(){return a&&o&&(t.complete(),!0)},c=function(){return s||(s=new _j.Subject,xj.innerFrom(i(s)).subscribe(JC.createOperatorSubscriber(t,function(){r?l():n=!0},function(){o=!0,u()}))),s},l=function(){a=!1,r=e.subscribe(JC.createOperatorSubscriber(t,void 0,function(){a=!0,!u()&&c().next()})),n&&(r.unsubscribe(),r=null,n=!1,l())};l()})}Vh.repeatWhen=vj});var e0=D(Xh=>{"use strict";Object.defineProperty(Xh,"__esModule",{value:!0});Xh.retry=void 0;var Cj=oe(),$C=Ae(),bj=Lt(),wj=An(),Qj=ve();function Sj(i){i===void 0&&(i=1/0);var e;i&&typeof i=="object"?e=i:e={count:i};var t=e.count,r=t===void 0?1/0:t,n=e.delay,s=e.resetOnSuccess,o=s===void 0?!1:s;return r<=0?bj.identity:Cj.operate(function(a,u){var c=0,l,A=function(){var h=!1;l=a.subscribe($C.createOperatorSubscriber(u,function(f){o&&(c=0),u.next(f)},void 0,function(f){if(c++<r){var d=function(){l?(l.unsubscribe(),l=null,A()):h=!0};if(n!=null){var y=typeof n=="number"?wj.timer(n):Qj.innerFrom(n(f,c)),g=$C.createOperatorSubscriber(u,function(){g.unsubscribe(),d()},function(){u.complete()});y.subscribe(g)}else d()}else u.error(f)})),h&&(l.unsubscribe(),l=null,A())};A()})}Xh.retry=Sj});var r0=D(zh=>{"use strict";Object.defineProperty(zh,"__esModule",{value:!0});zh.retryWhen=void 0;var Mj=ve(),Tj=Nt(),Pj=oe(),t0=Ae();function Dj(i){return Pj.operate(function(e,t){var r,n=!1,s,o=function(){r=e.subscribe(t0.createOperatorSubscriber(t,void 0,void 0,function(a){s||(s=new Tj.Subject,Mj.innerFrom(i(s)).subscribe(t0.createOperatorSubscriber(t,function(){return r?o():n=!0}))),s&&s.next(a)})),n&&(r.unsubscribe(),r=null,n=!1,o())};o()})}zh.retryWhen=Dj});var Dm=D(Jh=>{"use strict";Object.defineProperty(Jh,"__esModule",{value:!0});Jh.sample=void 0;var Fj=ve(),Oj=oe(),Rj=Ut(),i0=Ae();function kj(i){return Oj.operate(function(e,t){var r=!1,n=null;e.subscribe(i0.createOperatorSubscriber(t,function(s){r=!0,n=s})),Fj.innerFrom(i).subscribe(i0.createOperatorSubscriber(t,function(){if(r){r=!1;var s=n;n=null,t.next(s)}},Rj.noop))})}Jh.sample=kj});var n0=D(Zh=>{"use strict";Object.defineProperty(Zh,"__esModule",{value:!0});Zh.sampleTime=void 0;var Gj=ur(),Uj=Dm(),Lj=hm();function Nj(i,e){return e===void 0&&(e=Gj.asyncScheduler),Uj.sample(Lj.interval(i,e))}Zh.sampleTime=Nj});var s0=D($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});$h.scan=void 0;var Hj=oe(),qj=Im();function Wj(i,e){return Hj.operate(qj.scanInternals(i,e,arguments.length>=2,!0))}$h.scan=Wj});var a0=D(ef=>{"use strict";Object.defineProperty(ef,"__esModule",{value:!0});ef.sequenceEqual=void 0;var jj=oe(),Yj=Ae(),Kj=ve();function Vj(i,e){return e===void 0&&(e=function(t,r){return t===r}),jj.operate(function(t,r){var n=o0(),s=o0(),o=function(u){r.next(u),r.complete()},a=function(u,c){var l=Yj.createOperatorSubscriber(r,function(A){var h=c.buffer,f=c.complete;h.length===0?f?o(!1):u.buffer.push(A):!e(A,h.shift())&&o(!1)},function(){u.complete=!0;var A=c.complete,h=c.buffer;A&&o(h.length===0),l?.unsubscribe()});return l};t.subscribe(a(n,s)),Kj.innerFrom(i).subscribe(a(s,n))})}ef.sequenceEqual=Vj;function o0(){return{buffer:[],complete:!1}}});var Om=D(xn=>{"use strict";var Xj=xn&&xn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},zj=xn&&xn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(xn,"__esModule",{value:!0});xn.share=void 0;var l0=ve(),Jj=Nt(),u0=js(),Zj=oe();function $j(i){i===void 0&&(i={});var e=i.connector,t=e===void 0?function(){return new Jj.Subject}:e,r=i.resetOnError,n=r===void 0?!0:r,s=i.resetOnComplete,o=s===void 0?!0:s,a=i.resetOnRefCountZero,u=a===void 0?!0:a;return function(c){var l,A,h,f=0,d=!1,y=!1,g=function(){A?.unsubscribe(),A=void 0},E=function(){g(),l=h=void 0,d=y=!1},_=function(){var x=l;E(),x?.unsubscribe()};return Zj.operate(function(x,I){f++,!y&&!d&&g();var P=h=h??t();I.add(function(){f--,f===0&&!y&&!d&&(A=Fm(_,u))}),P.subscribe(I),!l&&f>0&&(l=new u0.SafeSubscriber({next:function(F){return P.next(F)},error:function(F){y=!0,g(),A=Fm(E,n,F),P.error(F)},complete:function(){d=!0,g(),A=Fm(E,o),P.complete()}}),l0.innerFrom(x).subscribe(l))})(c)}}xn.share=$j;function Fm(i,e){for(var t=[],r=2;r<arguments.length;r++)t[r-2]=arguments[r];if(e===!0){i();return}if(e!==!1){var n=new u0.SafeSubscriber({next:function(){n.unsubscribe(),i()}});return l0.innerFrom(e.apply(void 0,zj([],Xj(t)))).subscribe(n)}}});var c0=D(tf=>{"use strict";Object.defineProperty(tf,"__esModule",{value:!0});tf.shareReplay=void 0;var eY=Tc(),tY=Om();function rY(i,e,t){var r,n,s,o,a=!1;return i&&typeof i=="object"?(r=i.bufferSize,o=r===void 0?1/0:r,n=i.windowTime,e=n===void 0?1/0:n,s=i.refCount,a=s===void 0?!1:s,t=i.scheduler):o=i??1/0,tY.share({connector:function(){return new eY.ReplaySubject(o,e,t)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}tf.shareReplay=rY});var A0=D(rf=>{"use strict";Object.defineProperty(rf,"__esModule",{value:!0});rf.single=void 0;var iY=on(),nY=om(),sY=sm(),oY=oe(),aY=Ae();function lY(i){return oY.operate(function(e,t){var r=!1,n,s=!1,o=0;e.subscribe(aY.createOperatorSubscriber(t,function(a){s=!0,(!i||i(a,o++,e))&&(r&&t.error(new nY.SequenceError("Too many matching values")),r=!0,n=a)},function(){r?(t.next(n),t.complete()):t.error(s?new sY.NotFoundError("No matching values"):new iY.EmptyError)}))})}rf.single=lY});var h0=D(nf=>{"use strict";Object.defineProperty(nf,"__esModule",{value:!0});nf.skip=void 0;var uY=rs();function cY(i){return uY.filter(function(e,t){return i<=t})}nf.skip=cY});var f0=D(sf=>{"use strict";Object.defineProperty(sf,"__esModule",{value:!0});sf.skipLast=void 0;var AY=Lt(),hY=oe(),fY=Ae();function dY(i){return i<=0?AY.identity:hY.operate(function(e,t){var r=new Array(i),n=0;return e.subscribe(fY.createOperatorSubscriber(t,function(s){var o=n++;if(o<i)r[o]=s;else{var a=o%i,u=r[a];r[a]=s,t.next(u)}})),function(){r=null}})}sf.skipLast=dY});var p0=D(of=>{"use strict";Object.defineProperty(of,"__esModule",{value:!0});of.skipUntil=void 0;var pY=oe(),d0=Ae(),gY=ve(),mY=Ut();function yY(i){return pY.operate(function(e,t){var r=!1,n=d0.createOperatorSubscriber(t,function(){n?.unsubscribe(),r=!0},mY.noop);gY.innerFrom(i).subscribe(n),e.subscribe(d0.createOperatorSubscriber(t,function(s){return r&&t.next(s)}))})}of.skipUntil=yY});var g0=D(af=>{"use strict";Object.defineProperty(af,"__esModule",{value:!0});af.skipWhile=void 0;var IY=oe(),EY=Ae();function xY(i){return IY.operate(function(e,t){var r=!1,n=0;e.subscribe(EY.createOperatorSubscriber(t,function(s){return(r||(r=!i(s,n++)))&&t.next(s)}))})}af.skipWhile=xY});var y0=D(lf=>{"use strict";Object.defineProperty(lf,"__esModule",{value:!0});lf.startWith=void 0;var m0=Ka(),_Y=cr(),BY=oe();function vY(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=_Y.popScheduler(i);return BY.operate(function(r,n){(t?m0.concat(i,r,t):m0.concat(i,r)).subscribe(n)})}lf.startWith=vY});var Za=D(uf=>{"use strict";Object.defineProperty(uf,"__esModule",{value:!0});uf.switchMap=void 0;var CY=ve(),bY=oe(),I0=Ae();function wY(i,e){return bY.operate(function(t,r){var n=null,s=0,o=!1,a=function(){return o&&!n&&r.complete()};t.subscribe(I0.createOperatorSubscriber(r,function(u){n?.unsubscribe();var c=0,l=s++;CY.innerFrom(i(u,l)).subscribe(n=I0.createOperatorSubscriber(r,function(A){return r.next(e?e(u,A,l,c++):A)},function(){n=null,a()}))},function(){o=!0,a()}))})}uf.switchMap=wY});var E0=D(cf=>{"use strict";Object.defineProperty(cf,"__esModule",{value:!0});cf.switchAll=void 0;var QY=Za(),SY=Lt();function MY(){return QY.switchMap(SY.identity)}cf.switchAll=MY});var _0=D(Af=>{"use strict";Object.defineProperty(Af,"__esModule",{value:!0});Af.switchMapTo=void 0;var x0=Za(),TY=Ye();function PY(i,e){return TY.isFunction(e)?x0.switchMap(function(){return i},e):x0.switchMap(function(){return i})}Af.switchMapTo=PY});var B0=D(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.switchScan=void 0;var DY=Za(),FY=oe();function OY(i,e){return FY.operate(function(t,r){var n=e;return DY.switchMap(function(s,o){return i(n,s,o)},function(s,o){return n=o,o})(t).subscribe(r),function(){n=null}})}hf.switchScan=OY});var v0=D(ff=>{"use strict";Object.defineProperty(ff,"__esModule",{value:!0});ff.takeUntil=void 0;var RY=oe(),kY=Ae(),GY=ve(),UY=Ut();function LY(i){return RY.operate(function(e,t){GY.innerFrom(i).subscribe(kY.createOperatorSubscriber(t,function(){return t.complete()},UY.noop)),!t.closed&&e.subscribe(t)})}ff.takeUntil=LY});var C0=D(df=>{"use strict";Object.defineProperty(df,"__esModule",{value:!0});df.takeWhile=void 0;var NY=oe(),HY=Ae();function qY(i,e){return e===void 0&&(e=!1),NY.operate(function(t,r){var n=0;t.subscribe(HY.createOperatorSubscriber(r,function(s){var o=i(s,n++);(o||e)&&r.next(s),!o&&r.complete()}))})}df.takeWhile=qY});var b0=D(pf=>{"use strict";Object.defineProperty(pf,"__esModule",{value:!0});pf.tap=void 0;var WY=Ye(),jY=oe(),YY=Ae(),KY=Lt();function VY(i,e,t){var r=WY.isFunction(i)||e||t?{next:i,error:e,complete:t}:i;return r?jY.operate(function(n,s){var o;(o=r.subscribe)===null||o===void 0||o.call(r);var a=!0;n.subscribe(YY.createOperatorSubscriber(s,function(u){var c;(c=r.next)===null||c===void 0||c.call(r,u),s.next(u)},function(){var u;a=!1,(u=r.complete)===null||u===void 0||u.call(r),s.complete()},function(u){var c;a=!1,(c=r.error)===null||c===void 0||c.call(r,u),s.error(u)},function(){var u,c;a&&((u=r.unsubscribe)===null||u===void 0||u.call(r)),(c=r.finalize)===null||c===void 0||c.call(r)}))}):KY.identity}pf.tap=VY});var Rm=D(gf=>{"use strict";Object.defineProperty(gf,"__esModule",{value:!0});gf.throttle=void 0;var XY=oe(),w0=Ae(),zY=ve();function JY(i,e){return XY.operate(function(t,r){var n=e??{},s=n.leading,o=s===void 0?!0:s,a=n.trailing,u=a===void 0?!1:a,c=!1,l=null,A=null,h=!1,f=function(){A?.unsubscribe(),A=null,u&&(g(),h&&r.complete())},d=function(){A=null,h&&r.complete()},y=function(E){return A=zY.innerFrom(i(E)).subscribe(w0.createOperatorSubscriber(r,f,d))},g=function(){if(c){c=!1;var E=l;l=null,r.next(E),!h&&y(E)}};t.subscribe(w0.createOperatorSubscriber(r,function(E){c=!0,l=E,!(A&&!A.closed)&&(o?g():y(E))},function(){h=!0,!(u&&c&&A&&!A.closed)&&r.complete()}))})}gf.throttle=JY});var Q0=D(mf=>{"use strict";Object.defineProperty(mf,"__esModule",{value:!0});mf.throttleTime=void 0;var ZY=ur(),$Y=Rm(),e4=An();function t4(i,e,t){e===void 0&&(e=ZY.asyncScheduler);var r=e4.timer(i,e);return $Y.throttle(function(){return r},t)}mf.throttleTime=t4});var M0=D(vo=>{"use strict";Object.defineProperty(vo,"__esModule",{value:!0});vo.TimeInterval=vo.timeInterval=void 0;var r4=ur(),i4=oe(),n4=Ae();function s4(i){return i===void 0&&(i=r4.asyncScheduler),i4.operate(function(e,t){var r=i.now();e.subscribe(n4.createOperatorSubscriber(t,function(n){var s=i.now(),o=s-r;r=s,t.next(new S0(n,o))}))})}vo.timeInterval=s4;var S0=function(){function i(e,t){this.value=e,this.interval=t}return i}();vo.TimeInterval=S0});var T0=D(yf=>{"use strict";Object.defineProperty(yf,"__esModule",{value:!0});yf.timeoutWith=void 0;var o4=ur(),a4=fA(),l4=dA();function u4(i,e,t){var r,n,s;if(t=t??o4.async,a4.isValidDate(i)?r=i:typeof i=="number"&&(n=i),e)s=function(){return e};else throw new TypeError("No observable provided to switch to");if(r==null&&n==null)throw new TypeError("No timeout provided.");return l4.timeout({first:r,each:n,scheduler:t,with:s})}yf.timeoutWith=u4});var P0=D(If=>{"use strict";Object.defineProperty(If,"__esModule",{value:!0});If.timestamp=void 0;var c4=Mc(),A4=an();function h4(i){return i===void 0&&(i=c4.dateTimestampProvider),A4.map(function(e){return{value:e,timestamp:i.now()}})}If.timestamp=h4});var O0=D(Ef=>{"use strict";Object.defineProperty(Ef,"__esModule",{value:!0});Ef.window=void 0;var D0=Nt(),f4=oe(),F0=Ae(),d4=Ut(),p4=ve();function g4(i){return f4.operate(function(e,t){var r=new D0.Subject;t.next(r.asObservable());var n=function(s){r.error(s),t.error(s)};return e.subscribe(F0.createOperatorSubscriber(t,function(s){return r?.next(s)},function(){r.complete(),t.complete()},n)),p4.innerFrom(i).subscribe(F0.createOperatorSubscriber(t,function(){r.complete(),t.next(r=new D0.Subject)},d4.noop,n)),function(){r?.unsubscribe(),r=null}})}Ef.window=g4});var k0=D(Co=>{"use strict";var m4=Co&&Co.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Co,"__esModule",{value:!0});Co.windowCount=void 0;var R0=Nt(),y4=oe(),I4=Ae();function E4(i,e){e===void 0&&(e=0);var t=e>0?e:i;return y4.operate(function(r,n){var s=[new R0.Subject],o=[],a=0;n.next(s[0].asObservable()),r.subscribe(I4.createOperatorSubscriber(n,function(u){var c,l;try{for(var A=m4(s),h=A.next();!h.done;h=A.next()){var f=h.value;f.next(u)}}catch(g){c={error:g}}finally{try{h&&!h.done&&(l=A.return)&&l.call(A)}finally{if(c)throw c.error}}var d=a-i+1;if(d>=0&&d%t===0&&s.shift().complete(),++a%t===0){var y=new R0.Subject;s.push(y),n.next(y.asObservable())}},function(){for(;s.length>0;)s.shift().complete();n.complete()},function(u){for(;s.length>0;)s.shift().error(u);n.error(u)},function(){o=null,s=null}))})}Co.windowCount=E4});var U0=D(xf=>{"use strict";Object.defineProperty(xf,"__esModule",{value:!0});xf.windowTime=void 0;var x4=Nt(),_4=ur(),B4=xr(),v4=oe(),C4=Ae(),b4=Di(),w4=cr(),G0=Fi();function Q4(i){for(var e,t,r=[],n=1;n<arguments.length;n++)r[n-1]=arguments[n];var s=(e=w4.popScheduler(r))!==null&&e!==void 0?e:_4.asyncScheduler,o=(t=r[0])!==null&&t!==void 0?t:null,a=r[1]||1/0;return v4.operate(function(u,c){var l=[],A=!1,h=function(g){var E=g.window,_=g.subs;E.complete(),_.unsubscribe(),b4.arrRemove(l,g),A&&f()},f=function(){if(l){var g=new B4.Subscription;c.add(g);var E=new x4.Subject,_={window:E,subs:g,seen:0};l.push(_),c.next(E.asObservable()),G0.executeSchedule(g,s,function(){return h(_)},i)}};o!==null&&o>=0?G0.executeSchedule(c,s,f,o,!0):A=!0,f();var d=function(g){return l.slice().forEach(g)},y=function(g){d(function(E){var _=E.window;return g(_)}),g(c),c.unsubscribe()};return u.subscribe(C4.createOperatorSubscriber(c,function(g){d(function(E){E.window.next(g),a<=++E.seen&&h(E)})},function(){return y(function(g){return g.complete()})},function(g){return y(function(E){return E.error(g)})})),function(){l=null}})}xf.windowTime=Q4});var H0=D(bo=>{"use strict";var S4=bo&&bo.__values||function(i){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&i[e],r=0;if(t)return t.call(i);if(i&&typeof i.length=="number")return{next:function(){return i&&r>=i.length&&(i=void 0),{value:i&&i[r++],done:!i}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(bo,"__esModule",{value:!0});bo.windowToggle=void 0;var M4=Nt(),T4=xr(),P4=oe(),L0=ve(),km=Ae(),N0=Ut(),D4=Di();function F4(i,e){return P4.operate(function(t,r){var n=[],s=function(o){for(;0<n.length;)n.shift().error(o);r.error(o)};L0.innerFrom(i).subscribe(km.createOperatorSubscriber(r,function(o){var a=new M4.Subject;n.push(a);var u=new T4.Subscription,c=function(){D4.arrRemove(n,a),a.complete(),u.unsubscribe()},l;try{l=L0.innerFrom(e(o))}catch(A){s(A);return}r.next(a.asObservable()),u.add(l.subscribe(km.createOperatorSubscriber(r,c,N0.noop,s)))},N0.noop)),t.subscribe(km.createOperatorSubscriber(r,function(o){var a,u,c=n.slice();try{for(var l=S4(c),A=l.next();!A.done;A=l.next()){var h=A.value;h.next(o)}}catch(f){a={error:f}}finally{try{A&&!A.done&&(u=l.return)&&u.call(l)}finally{if(a)throw a.error}}},function(){for(;0<n.length;)n.shift().complete();r.complete()},s,function(){for(;0<n.length;)n.shift().unsubscribe()}))})}bo.windowToggle=F4});var W0=D(_f=>{"use strict";Object.defineProperty(_f,"__esModule",{value:!0});_f.windowWhen=void 0;var O4=Nt(),R4=oe(),q0=Ae(),k4=ve();function G4(i){return R4.operate(function(e,t){var r,n,s=function(a){r.error(a),t.error(a)},o=function(){n?.unsubscribe(),r?.complete(),r=new O4.Subject,t.next(r.asObservable());var a;try{a=k4.innerFrom(i())}catch(u){s(u);return}a.subscribe(n=q0.createOperatorSubscriber(t,o,o,s))};o(),e.subscribe(q0.createOperatorSubscriber(t,function(a){return r.next(a)},function(){r.complete(),t.complete()},s,function(){n?.unsubscribe(),r=null}))})}_f.windowWhen=G4});var V0=D(_n=>{"use strict";var j0=_n&&_n.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},Y0=_n&&_n.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(_n,"__esModule",{value:!0});_n.withLatestFrom=void 0;var U4=oe(),K0=Ae(),L4=ve(),N4=Lt(),H4=Ut(),q4=cr();function W4(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];var t=q4.popResultSelector(i);return U4.operate(function(r,n){for(var s=i.length,o=new Array(s),a=i.map(function(){return!1}),u=!1,c=function(A){L4.innerFrom(i[A]).subscribe(K0.createOperatorSubscriber(n,function(h){o[A]=h,!u&&!a[A]&&(a[A]=!0,(u=a.every(N4.identity))&&(a=null))},H4.noop))},l=0;l<s;l++)c(l);r.subscribe(K0.createOperatorSubscriber(n,function(A){if(u){var h=Y0([A],j0(o));n.next(t?t.apply(void 0,Y0([],j0(h))):h)}}))})}_n.withLatestFrom=W4});var X0=D(Bf=>{"use strict";Object.defineProperty(Bf,"__esModule",{value:!0});Bf.zipAll=void 0;var j4=WA(),Y4=xm();function K4(i){return Y4.joinAllInternals(j4.zip,i)}Bf.zipAll=K4});var z0=D(Bn=>{"use strict";var V4=Bn&&Bn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},X4=Bn&&Bn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(Bn,"__esModule",{value:!0});Bn.zip=void 0;var z4=WA(),J4=oe();function Z4(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return J4.operate(function(t,r){z4.zip.apply(void 0,X4([t],V4(i))).subscribe(r)})}Bn.zip=Z4});var J0=D(vn=>{"use strict";var $4=vn&&vn.__read||function(i,e){var t=typeof Symbol=="function"&&i[Symbol.iterator];if(!t)return i;var r=t.call(i),n,s=[],o;try{for(;(e===void 0||e-- >0)&&!(n=r.next()).done;)s.push(n.value)}catch(a){o={error:a}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(o)throw o.error}}return s},e8=vn&&vn.__spreadArray||function(i,e){for(var t=0,r=e.length,n=i.length;t<r;t++,n++)i[n]=e[t];return i};Object.defineProperty(vn,"__esModule",{value:!0});vn.zipWith=void 0;var t8=z0();function r8(){for(var i=[],e=0;e<arguments.length;e++)i[e]=arguments[e];return t8.zip.apply(void 0,e8([],$4(i)))}vn.zipWith=r8});var Cn=D(C=>{"use strict";var i8=C&&C.__createBinding||(Object.create?function(i,e,t,r){r===void 0&&(r=t),Object.defineProperty(i,r,{enumerable:!0,get:function(){return e[t]}})}:function(i,e,t,r){r===void 0&&(r=t),i[r]=e[t]}),n8=C&&C.__exportStar||function(i,e){for(var t in i)t!=="default"&&!Object.prototype.hasOwnProperty.call(e,t)&&i8(e,i,t)};Object.defineProperty(C,"__esModule",{value:!0});C.interval=C.iif=C.generate=C.fromEventPattern=C.fromEvent=C.from=C.forkJoin=C.empty=C.defer=C.connectable=C.concat=C.combineLatest=C.bindNodeCallback=C.bindCallback=C.UnsubscriptionError=C.TimeoutError=C.SequenceError=C.ObjectUnsubscribedError=C.NotFoundError=C.EmptyError=C.ArgumentOutOfRangeError=C.firstValueFrom=C.lastValueFrom=C.isObservable=C.identity=C.noop=C.pipe=C.NotificationKind=C.Notification=C.Subscriber=C.Subscription=C.Scheduler=C.VirtualAction=C.VirtualTimeScheduler=C.animationFrameScheduler=C.animationFrame=C.queueScheduler=C.queue=C.asyncScheduler=C.async=C.asapScheduler=C.asap=C.AsyncSubject=C.ReplaySubject=C.BehaviorSubject=C.Subject=C.animationFrames=C.observable=C.ConnectableObservable=C.Observable=void 0;C.filter=C.expand=C.exhaustMap=C.exhaustAll=C.exhaust=C.every=C.endWith=C.elementAt=C.distinctUntilKeyChanged=C.distinctUntilChanged=C.distinct=C.dematerialize=C.delayWhen=C.delay=C.defaultIfEmpty=C.debounceTime=C.debounce=C.count=C.connect=C.concatWith=C.concatMapTo=C.concatMap=C.concatAll=C.combineLatestWith=C.combineLatestAll=C.combineAll=C.catchError=C.bufferWhen=C.bufferToggle=C.bufferTime=C.bufferCount=C.buffer=C.auditTime=C.audit=C.config=C.NEVER=C.EMPTY=C.scheduled=C.zip=C.using=C.timer=C.throwError=C.range=C.race=C.partition=C.pairs=C.onErrorResumeNext=C.of=C.never=C.merge=void 0;C.switchMap=C.switchAll=C.subscribeOn=C.startWith=C.skipWhile=C.skipUntil=C.skipLast=C.skip=C.single=C.shareReplay=C.share=C.sequenceEqual=C.scan=C.sampleTime=C.sample=C.refCount=C.retryWhen=C.retry=C.repeatWhen=C.repeat=C.reduce=C.raceWith=C.publishReplay=C.publishLast=C.publishBehavior=C.publish=C.pluck=C.pairwise=C.onErrorResumeNextWith=C.observeOn=C.multicast=C.min=C.mergeWith=C.mergeScan=C.mergeMapTo=C.mergeMap=C.flatMap=C.mergeAll=C.max=C.materialize=C.mapTo=C.map=C.last=C.isEmpty=C.ignoreElements=C.groupBy=C.first=C.findIndex=C.find=C.finalize=void 0;C.zipWith=C.zipAll=C.withLatestFrom=C.windowWhen=C.windowToggle=C.windowTime=C.windowCount=C.window=C.toArray=C.timestamp=C.timeoutWith=C.timeout=C.timeInterval=C.throwIfEmpty=C.throttleTime=C.throttle=C.tap=C.takeWhile=C.takeUntil=C.takeLast=C.take=C.switchScan=C.switchMapTo=void 0;var s8=ze();Object.defineProperty(C,"Observable",{enumerable:!0,get:function(){return s8.Observable}});var o8=La();Object.defineProperty(C,"ConnectableObservable",{enumerable:!0,get:function(){return o8.ConnectableObservable}});var a8=Ga();Object.defineProperty(C,"observable",{enumerable:!0,get:function(){return a8.observable}});var l8=rB();Object.defineProperty(C,"animationFrames",{enumerable:!0,get:function(){return l8.animationFrames}});var u8=Nt();Object.defineProperty(C,"Subject",{enumerable:!0,get:function(){return u8.Subject}});var c8=Ng();Object.defineProperty(C,"BehaviorSubject",{enumerable:!0,get:function(){return c8.BehaviorSubject}});var A8=Tc();Object.defineProperty(C,"ReplaySubject",{enumerable:!0,get:function(){return A8.ReplaySubject}});var h8=Pc();Object.defineProperty(C,"AsyncSubject",{enumerable:!0,get:function(){return h8.AsyncSubject}});var Z0=IB();Object.defineProperty(C,"asap",{enumerable:!0,get:function(){return Z0.asap}});Object.defineProperty(C,"asapScheduler",{enumerable:!0,get:function(){return Z0.asapScheduler}});var $0=ur();Object.defineProperty(C,"async",{enumerable:!0,get:function(){return $0.async}});Object.defineProperty(C,"asyncScheduler",{enumerable:!0,get:function(){return $0.asyncScheduler}});var eb=_B();Object.defineProperty(C,"queue",{enumerable:!0,get:function(){return eb.queue}});Object.defineProperty(C,"queueScheduler",{enumerable:!0,get:function(){return eb.queueScheduler}});var tb=bB();Object.defineProperty(C,"animationFrame",{enumerable:!0,get:function(){return tb.animationFrame}});Object.defineProperty(C,"animationFrameScheduler",{enumerable:!0,get:function(){return tb.animationFrameScheduler}});var rb=SB();Object.defineProperty(C,"VirtualTimeScheduler",{enumerable:!0,get:function(){return rb.VirtualTimeScheduler}});Object.defineProperty(C,"VirtualAction",{enumerable:!0,get:function(){return rb.VirtualAction}});var f8=qg();Object.defineProperty(C,"Scheduler",{enumerable:!0,get:function(){return f8.Scheduler}});var d8=xr();Object.defineProperty(C,"Subscription",{enumerable:!0,get:function(){return d8.Subscription}});var p8=js();Object.defineProperty(C,"Subscriber",{enumerable:!0,get:function(){return p8.Subscriber}});var ib=nA();Object.defineProperty(C,"Notification",{enumerable:!0,get:function(){return ib.Notification}});Object.defineProperty(C,"NotificationKind",{enumerable:!0,get:function(){return ib.NotificationKind}});var g8=Ua();Object.defineProperty(C,"pipe",{enumerable:!0,get:function(){return g8.pipe}});var m8=Ut();Object.defineProperty(C,"noop",{enumerable:!0,get:function(){return m8.noop}});var y8=Lt();Object.defineProperty(C,"identity",{enumerable:!0,get:function(){return y8.identity}});var I8=YB();Object.defineProperty(C,"isObservable",{enumerable:!0,get:function(){return I8.isObservable}});var E8=KB();Object.defineProperty(C,"lastValueFrom",{enumerable:!0,get:function(){return E8.lastValueFrom}});var x8=VB();Object.defineProperty(C,"firstValueFrom",{enumerable:!0,get:function(){return x8.firstValueFrom}});var _8=nm();Object.defineProperty(C,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return _8.ArgumentOutOfRangeError}});var B8=on();Object.defineProperty(C,"EmptyError",{enumerable:!0,get:function(){return B8.EmptyError}});var v8=sm();Object.defineProperty(C,"NotFoundError",{enumerable:!0,get:function(){return v8.NotFoundError}});var C8=kg();Object.defineProperty(C,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return C8.ObjectUnsubscribedError}});var b8=om();Object.defineProperty(C,"SequenceError",{enumerable:!0,get:function(){return b8.SequenceError}});var w8=dA();Object.defineProperty(C,"TimeoutError",{enumerable:!0,get:function(){return w8.TimeoutError}});var Q8=vg();Object.defineProperty(C,"UnsubscriptionError",{enumerable:!0,get:function(){return Q8.UnsubscriptionError}});var S8=zB();Object.defineProperty(C,"bindCallback",{enumerable:!0,get:function(){return S8.bindCallback}});var M8=JB();Object.defineProperty(C,"bindNodeCallback",{enumerable:!0,get:function(){return M8.bindNodeCallback}});var T8=EA();Object.defineProperty(C,"combineLatest",{enumerable:!0,get:function(){return T8.combineLatest}});var P8=Ka();Object.defineProperty(C,"concat",{enumerable:!0,get:function(){return P8.concat}});var D8=sv();Object.defineProperty(C,"connectable",{enumerable:!0,get:function(){return D8.connectable}});var F8=Va();Object.defineProperty(C,"defer",{enumerable:!0,get:function(){return F8.defer}});var O8=Jr();Object.defineProperty(C,"empty",{enumerable:!0,get:function(){return O8.empty}});var R8=ov();Object.defineProperty(C,"forkJoin",{enumerable:!0,get:function(){return R8.forkJoin}});var k8=Oi();Object.defineProperty(C,"from",{enumerable:!0,get:function(){return k8.from}});var G8=lv();Object.defineProperty(C,"fromEvent",{enumerable:!0,get:function(){return G8.fromEvent}});var U8=cv();Object.defineProperty(C,"fromEventPattern",{enumerable:!0,get:function(){return U8.fromEventPattern}});var L8=hv();Object.defineProperty(C,"generate",{enumerable:!0,get:function(){return L8.generate}});var N8=fv();Object.defineProperty(C,"iif",{enumerable:!0,get:function(){return N8.iif}});var H8=hm();Object.defineProperty(C,"interval",{enumerable:!0,get:function(){return H8.interval}});var q8=pv();Object.defineProperty(C,"merge",{enumerable:!0,get:function(){return q8.merge}});var W8=fm();Object.defineProperty(C,"never",{enumerable:!0,get:function(){return W8.never}});var j8=rA();Object.defineProperty(C,"of",{enumerable:!0,get:function(){return j8.of}});var Y8=dm();Object.defineProperty(C,"onErrorResumeNext",{enumerable:!0,get:function(){return Y8.onErrorResumeNext}});var K8=mv();Object.defineProperty(C,"pairs",{enumerable:!0,get:function(){return K8.pairs}});var V8=xv();Object.defineProperty(C,"partition",{enumerable:!0,get:function(){return V8.partition}});var X8=pm();Object.defineProperty(C,"race",{enumerable:!0,get:function(){return X8.race}});var z8=vv();Object.defineProperty(C,"range",{enumerable:!0,get:function(){return z8.range}});var J8=im();Object.defineProperty(C,"throwError",{enumerable:!0,get:function(){return J8.throwError}});var Z8=An();Object.defineProperty(C,"timer",{enumerable:!0,get:function(){return Z8.timer}});var $8=Cv();Object.defineProperty(C,"using",{enumerable:!0,get:function(){return $8.using}});var eK=WA();Object.defineProperty(C,"zip",{enumerable:!0,get:function(){return eK.zip}});var tK=rm();Object.defineProperty(C,"scheduled",{enumerable:!0,get:function(){return tK.scheduled}});var rK=Jr();Object.defineProperty(C,"EMPTY",{enumerable:!0,get:function(){return rK.EMPTY}});var iK=fm();Object.defineProperty(C,"NEVER",{enumerable:!0,get:function(){return iK.NEVER}});n8(wv(),C);var nK=qs();Object.defineProperty(C,"config",{enumerable:!0,get:function(){return nK.config}});var sK=gm();Object.defineProperty(C,"audit",{enumerable:!0,get:function(){return sK.audit}});var oK=Sv();Object.defineProperty(C,"auditTime",{enumerable:!0,get:function(){return oK.auditTime}});var aK=Tv();Object.defineProperty(C,"buffer",{enumerable:!0,get:function(){return aK.buffer}});var lK=Pv();Object.defineProperty(C,"bufferCount",{enumerable:!0,get:function(){return lK.bufferCount}});var uK=Fv();Object.defineProperty(C,"bufferTime",{enumerable:!0,get:function(){return uK.bufferTime}});var cK=kv();Object.defineProperty(C,"bufferToggle",{enumerable:!0,get:function(){return cK.bufferToggle}});var AK=Uv();Object.defineProperty(C,"bufferWhen",{enumerable:!0,get:function(){return AK.bufferWhen}});var hK=Nv();Object.defineProperty(C,"catchError",{enumerable:!0,get:function(){return hK.catchError}});var fK=Hv();Object.defineProperty(C,"combineAll",{enumerable:!0,get:function(){return fK.combineAll}});var dK=_m();Object.defineProperty(C,"combineLatestAll",{enumerable:!0,get:function(){return dK.combineLatestAll}});var pK=Kv();Object.defineProperty(C,"combineLatestWith",{enumerable:!0,get:function(){return pK.combineLatestWith}});var gK=bA();Object.defineProperty(C,"concatAll",{enumerable:!0,get:function(){return gK.concatAll}});var mK=Bm();Object.defineProperty(C,"concatMap",{enumerable:!0,get:function(){return mK.concatMap}});var yK=zv();Object.defineProperty(C,"concatMapTo",{enumerable:!0,get:function(){return yK.concatMapTo}});var IK=Zv();Object.defineProperty(C,"concatWith",{enumerable:!0,get:function(){return IK.concatWith}});var EK=oh();Object.defineProperty(C,"connect",{enumerable:!0,get:function(){return EK.connect}});var xK=eC();Object.defineProperty(C,"count",{enumerable:!0,get:function(){return xK.count}});var _K=rC();Object.defineProperty(C,"debounce",{enumerable:!0,get:function(){return _K.debounce}});var BK=iC();Object.defineProperty(C,"debounceTime",{enumerable:!0,get:function(){return BK.debounceTime}});var vK=Xa();Object.defineProperty(C,"defaultIfEmpty",{enumerable:!0,get:function(){return vK.defaultIfEmpty}});var CK=oC();Object.defineProperty(C,"delay",{enumerable:!0,get:function(){return CK.delay}});var bK=bm();Object.defineProperty(C,"delayWhen",{enumerable:!0,get:function(){return bK.delayWhen}});var wK=aC();Object.defineProperty(C,"dematerialize",{enumerable:!0,get:function(){return wK.dematerialize}});var QK=uC();Object.defineProperty(C,"distinct",{enumerable:!0,get:function(){return QK.distinct}});var SK=wm();Object.defineProperty(C,"distinctUntilChanged",{enumerable:!0,get:function(){return SK.distinctUntilChanged}});var MK=cC();Object.defineProperty(C,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return MK.distinctUntilKeyChanged}});var TK=hC();Object.defineProperty(C,"elementAt",{enumerable:!0,get:function(){return TK.elementAt}});var PK=fC();Object.defineProperty(C,"endWith",{enumerable:!0,get:function(){return PK.endWith}});var DK=dC();Object.defineProperty(C,"every",{enumerable:!0,get:function(){return DK.every}});var FK=yC();Object.defineProperty(C,"exhaust",{enumerable:!0,get:function(){return FK.exhaust}});var OK=Sm();Object.defineProperty(C,"exhaustAll",{enumerable:!0,get:function(){return OK.exhaustAll}});var RK=Qm();Object.defineProperty(C,"exhaustMap",{enumerable:!0,get:function(){return RK.exhaustMap}});var kK=IC();Object.defineProperty(C,"expand",{enumerable:!0,get:function(){return kK.expand}});var GK=rs();Object.defineProperty(C,"filter",{enumerable:!0,get:function(){return GK.filter}});var UK=EC();Object.defineProperty(C,"finalize",{enumerable:!0,get:function(){return UK.finalize}});var LK=Mm();Object.defineProperty(C,"find",{enumerable:!0,get:function(){return LK.find}});var NK=_C();Object.defineProperty(C,"findIndex",{enumerable:!0,get:function(){return NK.findIndex}});var HK=BC();Object.defineProperty(C,"first",{enumerable:!0,get:function(){return HK.first}});var qK=CC();Object.defineProperty(C,"groupBy",{enumerable:!0,get:function(){return qK.groupBy}});var WK=vm();Object.defineProperty(C,"ignoreElements",{enumerable:!0,get:function(){return WK.ignoreElements}});var jK=bC();Object.defineProperty(C,"isEmpty",{enumerable:!0,get:function(){return jK.isEmpty}});var YK=wC();Object.defineProperty(C,"last",{enumerable:!0,get:function(){return YK.last}});var KK=an();Object.defineProperty(C,"map",{enumerable:!0,get:function(){return KK.map}});var VK=Cm();Object.defineProperty(C,"mapTo",{enumerable:!0,get:function(){return VK.mapTo}});var XK=QC();Object.defineProperty(C,"materialize",{enumerable:!0,get:function(){return XK.materialize}});var zK=SC();Object.defineProperty(C,"max",{enumerable:!0,get:function(){return zK.max}});var JK=Ya();Object.defineProperty(C,"mergeAll",{enumerable:!0,get:function(){return JK.mergeAll}});var ZK=MC();Object.defineProperty(C,"flatMap",{enumerable:!0,get:function(){return ZK.flatMap}});var $K=ki();Object.defineProperty(C,"mergeMap",{enumerable:!0,get:function(){return $K.mergeMap}});var eV=PC();Object.defineProperty(C,"mergeMapTo",{enumerable:!0,get:function(){return eV.mergeMapTo}});var tV=DC();Object.defineProperty(C,"mergeScan",{enumerable:!0,get:function(){return tV.mergeScan}});var rV=RC();Object.defineProperty(C,"mergeWith",{enumerable:!0,get:function(){return rV.mergeWith}});var iV=kC();Object.defineProperty(C,"min",{enumerable:!0,get:function(){return iV.min}});var nV=Lh();Object.defineProperty(C,"multicast",{enumerable:!0,get:function(){return nV.multicast}});var sV=Wa();Object.defineProperty(C,"observeOn",{enumerable:!0,get:function(){return sV.observeOn}});var oV=LC();Object.defineProperty(C,"onErrorResumeNextWith",{enumerable:!0,get:function(){return oV.onErrorResumeNextWith}});var aV=NC();Object.defineProperty(C,"pairwise",{enumerable:!0,get:function(){return aV.pairwise}});var lV=HC();Object.defineProperty(C,"pluck",{enumerable:!0,get:function(){return lV.pluck}});var uV=qC();Object.defineProperty(C,"publish",{enumerable:!0,get:function(){return uV.publish}});var cV=WC();Object.defineProperty(C,"publishBehavior",{enumerable:!0,get:function(){return cV.publishBehavior}});var AV=jC();Object.defineProperty(C,"publishLast",{enumerable:!0,get:function(){return AV.publishLast}});var hV=KC();Object.defineProperty(C,"publishReplay",{enumerable:!0,get:function(){return hV.publishReplay}});var fV=VC();Object.defineProperty(C,"raceWith",{enumerable:!0,get:function(){return fV.raceWith}});var dV=xo();Object.defineProperty(C,"reduce",{enumerable:!0,get:function(){return dV.reduce}});var pV=zC();Object.defineProperty(C,"repeat",{enumerable:!0,get:function(){return pV.repeat}});var gV=ZC();Object.defineProperty(C,"repeatWhen",{enumerable:!0,get:function(){return gV.repeatWhen}});var mV=e0();Object.defineProperty(C,"retry",{enumerable:!0,get:function(){return mV.retry}});var yV=r0();Object.defineProperty(C,"retryWhen",{enumerable:!0,get:function(){return yV.retryWhen}});var IV=Og();Object.defineProperty(C,"refCount",{enumerable:!0,get:function(){return IV.refCount}});var EV=Dm();Object.defineProperty(C,"sample",{enumerable:!0,get:function(){return EV.sample}});var xV=n0();Object.defineProperty(C,"sampleTime",{enumerable:!0,get:function(){return xV.sampleTime}});var _V=s0();Object.defineProperty(C,"scan",{enumerable:!0,get:function(){return _V.scan}});var BV=a0();Object.defineProperty(C,"sequenceEqual",{enumerable:!0,get:function(){return BV.sequenceEqual}});var vV=Om();Object.defineProperty(C,"share",{enumerable:!0,get:function(){return vV.share}});var CV=c0();Object.defineProperty(C,"shareReplay",{enumerable:!0,get:function(){return CV.shareReplay}});var bV=A0();Object.defineProperty(C,"single",{enumerable:!0,get:function(){return bV.single}});var wV=h0();Object.defineProperty(C,"skip",{enumerable:!0,get:function(){return wV.skip}});var QV=f0();Object.defineProperty(C,"skipLast",{enumerable:!0,get:function(){return QV.skipLast}});var SV=p0();Object.defineProperty(C,"skipUntil",{enumerable:!0,get:function(){return SV.skipUntil}});var MV=g0();Object.defineProperty(C,"skipWhile",{enumerable:!0,get:function(){return MV.skipWhile}});var TV=y0();Object.defineProperty(C,"startWith",{enumerable:!0,get:function(){return TV.startWith}});var PV=ja();Object.defineProperty(C,"subscribeOn",{enumerable:!0,get:function(){return PV.subscribeOn}});var DV=E0();Object.defineProperty(C,"switchAll",{enumerable:!0,get:function(){return DV.switchAll}});var FV=Za();Object.defineProperty(C,"switchMap",{enumerable:!0,get:function(){return FV.switchMap}});var OV=_0();Object.defineProperty(C,"switchMapTo",{enumerable:!0,get:function(){return OV.switchMapTo}});var RV=B0();Object.defineProperty(C,"switchScan",{enumerable:!0,get:function(){return RV.switchScan}});var kV=za();Object.defineProperty(C,"take",{enumerable:!0,get:function(){return kV.take}});var GV=Tm();Object.defineProperty(C,"takeLast",{enumerable:!0,get:function(){return GV.takeLast}});var UV=v0();Object.defineProperty(C,"takeUntil",{enumerable:!0,get:function(){return UV.takeUntil}});var LV=C0();Object.defineProperty(C,"takeWhile",{enumerable:!0,get:function(){return LV.takeWhile}});var NV=b0();Object.defineProperty(C,"tap",{enumerable:!0,get:function(){return NV.tap}});var HV=Rm();Object.defineProperty(C,"throttle",{enumerable:!0,get:function(){return HV.throttle}});var qV=Q0();Object.defineProperty(C,"throttleTime",{enumerable:!0,get:function(){return qV.throttleTime}});var WV=Ja();Object.defineProperty(C,"throwIfEmpty",{enumerable:!0,get:function(){return WV.throwIfEmpty}});var jV=M0();Object.defineProperty(C,"timeInterval",{enumerable:!0,get:function(){return jV.timeInterval}});var YV=dA();Object.defineProperty(C,"timeout",{enumerable:!0,get:function(){return YV.timeout}});var KV=T0();Object.defineProperty(C,"timeoutWith",{enumerable:!0,get:function(){return KV.timeoutWith}});var VV=P0();Object.defineProperty(C,"timestamp",{enumerable:!0,get:function(){return VV.timestamp}});var XV=Em();Object.defineProperty(C,"toArray",{enumerable:!0,get:function(){return XV.toArray}});var zV=O0();Object.defineProperty(C,"window",{enumerable:!0,get:function(){return zV.window}});var JV=k0();Object.defineProperty(C,"windowCount",{enumerable:!0,get:function(){return JV.windowCount}});var ZV=U0();Object.defineProperty(C,"windowTime",{enumerable:!0,get:function(){return ZV.windowTime}});var $V=H0();Object.defineProperty(C,"windowToggle",{enumerable:!0,get:function(){return $V.windowToggle}});var eX=W0();Object.defineProperty(C,"windowWhen",{enumerable:!0,get:function(){return eX.windowWhen}});var tX=V0();Object.defineProperty(C,"withLatestFrom",{enumerable:!0,get:function(){return tX.withLatestFrom}});var rX=X0();Object.defineProperty(C,"zipAll",{enumerable:!0,get:function(){return rX.zipAll}});var iX=J0();Object.defineProperty(C,"zipWith",{enumerable:!0,get:function(){return iX.zipWith}})});var tl=D(Mf=>{(function(){"use strict";var i=function(){this.init()};i.prototype={init:function(){var l=this||e;return l._counter=1e3,l._html5AudioPool=[],l.html5PoolSize=10,l._codecs={},l._howls=[],l._muted=!1,l._volume=1,l._canPlayEvent="canplaythrough",l._navigator=typeof window<"u"&&window.navigator?window.navigator:null,l.masterGain=null,l.noAudio=!1,l.usingWebAudio=!0,l.autoSuspend=!0,l.ctx=null,l.autoUnlock=!0,l._setup(),l},volume:function(l){var A=this||e;if(l=parseFloat(l),A.ctx||c(),typeof l<"u"&&l>=0&&l<=1){if(A._volume=l,A._muted)return A;A.usingWebAudio&&A.masterGain.gain.setValueAtTime(l,e.ctx.currentTime);for(var h=0;h<A._howls.length;h++)if(!A._howls[h]._webAudio)for(var f=A._howls[h]._getSoundIds(),d=0;d<f.length;d++){var y=A._howls[h]._soundById(f[d]);y&&y._node&&(y._node.volume=y._volume*l)}return A}return A._volume},mute:function(l){var A=this||e;A.ctx||c(),A._muted=l,A.usingWebAudio&&A.masterGain.gain.setValueAtTime(l?0:A._volume,e.ctx.currentTime);for(var h=0;h<A._howls.length;h++)if(!A._howls[h]._webAudio)for(var f=A._howls[h]._getSoundIds(),d=0;d<f.length;d++){var y=A._howls[h]._soundById(f[d]);y&&y._node&&(y._node.muted=l?!0:y._muted)}return A},stop:function(){for(var l=this||e,A=0;A<l._howls.length;A++)l._howls[A].stop();return l},unload:function(){for(var l=this||e,A=l._howls.length-1;A>=0;A--)l._howls[A].unload();return l.usingWebAudio&&l.ctx&&typeof l.ctx.close<"u"&&(l.ctx.close(),l.ctx=null,c()),l},codecs:function(l){return(this||e)._codecs[l.replace(/^x-/,"")]},_setup:function(){var l=this||e;if(l.state=l.ctx&&l.ctx.state||"suspended",l._autoSuspend(),!l.usingWebAudio)if(typeof Audio<"u")try{var A=new Audio;typeof A.oncanplaythrough>"u"&&(l._canPlayEvent="canplay")}catch{l.noAudio=!0}else l.noAudio=!0;try{var A=new Audio;A.muted&&(l.noAudio=!0)}catch{}return l.noAudio||l._setupCodecs(),l},_setupCodecs:function(){var l=this||e,A=null;try{A=typeof Audio<"u"?new Audio:null}catch{return l}if(!A||typeof A.canPlayType!="function")return l;var h=A.canPlayType("audio/mpeg;").replace(/^no$/,""),f=l._navigator?l._navigator.userAgent:"",d=f.match(/OPR\/(\d+)/g),y=d&&parseInt(d[0].split("/")[1],10)<33,g=f.indexOf("Safari")!==-1&&f.indexOf("Chrome")===-1,E=f.match(/Version\/(.*?) /),_=g&&E&&parseInt(E[1],10)<15;return l._codecs={mp3:!!(!y&&(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:!!(!_&&A.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,"")),webm:!!(!_&&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$/,"")},l},_unlockAudio:function(){var l=this||e;if(!(l._audioUnlocked||!l.ctx)){l._audioUnlocked=!1,l.autoUnlock=!1,!l._mobileUnloaded&&l.ctx.sampleRate!==44100&&(l._mobileUnloaded=!0,l.unload()),l._scratchBuffer=l.ctx.createBuffer(1,1,22050);var A=function(h){for(;l._html5AudioPool.length<l.html5PoolSize;)try{var f=new Audio;f._unlocked=!0,l._releaseHtml5Audio(f)}catch{l.noAudio=!0;break}for(var d=0;d<l._howls.length;d++)if(!l._howls[d]._webAudio)for(var y=l._howls[d]._getSoundIds(),g=0;g<y.length;g++){var E=l._howls[d]._soundById(y[g]);E&&E._node&&!E._node._unlocked&&(E._node._unlocked=!0,E._node.load())}l._autoResume();var _=l.ctx.createBufferSource();_.buffer=l._scratchBuffer,_.connect(l.ctx.destination),typeof _.start>"u"?_.noteOn(0):_.start(0),typeof l.ctx.resume=="function"&&l.ctx.resume(),_.onended=function(){_.disconnect(0),l._audioUnlocked=!0,document.removeEventListener("touchstart",A,!0),document.removeEventListener("touchend",A,!0),document.removeEventListener("click",A,!0),document.removeEventListener("keydown",A,!0);for(var x=0;x<l._howls.length;x++)l._howls[x]._emit("unlock")}};return document.addEventListener("touchstart",A,!0),document.addEventListener("touchend",A,!0),document.addEventListener("click",A,!0),document.addEventListener("keydown",A,!0),l}},_obtainHtml5Audio:function(){var l=this||e;if(l._html5AudioPool.length)return l._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(l){var A=this||e;return l._unlocked&&A._html5AudioPool.push(l),A},_autoSuspend:function(){var l=this;if(!(!l.autoSuspend||!l.ctx||typeof l.ctx.suspend>"u"||!e.usingWebAudio)){for(var A=0;A<l._howls.length;A++)if(l._howls[A]._webAudio){for(var h=0;h<l._howls[A]._sounds.length;h++)if(!l._howls[A]._sounds[h]._paused)return l}return l._suspendTimer&&clearTimeout(l._suspendTimer),l._suspendTimer=setTimeout(function(){if(l.autoSuspend){l._suspendTimer=null,l.state="suspending";var f=function(){l.state="suspended",l._resumeAfterSuspend&&(delete l._resumeAfterSuspend,l._autoResume())};l.ctx.suspend().then(f,f)}},3e4),l}},_autoResume:function(){var l=this;if(!(!l.ctx||typeof l.ctx.resume>"u"||!e.usingWebAudio))return l.state==="running"&&l.ctx.state!=="interrupted"&&l._suspendTimer?(clearTimeout(l._suspendTimer),l._suspendTimer=null):l.state==="suspended"||l.state==="running"&&l.ctx.state==="interrupted"?(l.ctx.resume().then(function(){l.state="running";for(var A=0;A<l._howls.length;A++)l._howls[A]._emit("resume")}),l._suspendTimer&&(clearTimeout(l._suspendTimer),l._suspendTimer=null)):l.state==="suspending"&&(l._resumeAfterSuspend=!0),l}};var e=new i,t=function(l){var A=this;if(!l.src||l.src.length===0){console.error("An array of source files must be passed with any new Howl.");return}A.init(l)};t.prototype={init:function(l){var A=this;return e.ctx||c(),A._autoplay=l.autoplay||!1,A._format=typeof l.format!="string"?l.format:[l.format],A._html5=l.html5||!1,A._muted=l.mute||!1,A._loop=l.loop||!1,A._pool=l.pool||5,A._preload=typeof l.preload=="boolean"||l.preload==="metadata"?l.preload:!0,A._rate=l.rate||1,A._sprite=l.sprite||{},A._src=typeof l.src!="string"?l.src:[l.src],A._volume=l.volume!==void 0?l.volume:1,A._xhr={method:l.xhr&&l.xhr.method?l.xhr.method:"GET",headers:l.xhr&&l.xhr.headers?l.xhr.headers:null,withCredentials:l.xhr&&l.xhr.withCredentials?l.xhr.withCredentials:!1},A._duration=0,A._state="unloaded",A._sounds=[],A._endTimers={},A._queue=[],A._playLock=!1,A._onend=l.onend?[{fn:l.onend}]:[],A._onfade=l.onfade?[{fn:l.onfade}]:[],A._onload=l.onload?[{fn:l.onload}]:[],A._onloaderror=l.onloaderror?[{fn:l.onloaderror}]:[],A._onplayerror=l.onplayerror?[{fn:l.onplayerror}]:[],A._onpause=l.onpause?[{fn:l.onpause}]:[],A._onplay=l.onplay?[{fn:l.onplay}]:[],A._onstop=l.onstop?[{fn:l.onstop}]:[],A._onmute=l.onmute?[{fn:l.onmute}]:[],A._onvolume=l.onvolume?[{fn:l.onvolume}]:[],A._onrate=l.onrate?[{fn:l.onrate}]:[],A._onseek=l.onseek?[{fn:l.onseek}]:[],A._onunlock=l.onunlock?[{fn:l.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 l=this,A=null;if(e.noAudio){l._emit("loaderror",null,"No audio support.");return}typeof l._src=="string"&&(l._src=[l._src]);for(var h=0;h<l._src.length;h++){var f,d;if(l._format&&l._format[h])f=l._format[h];else{if(d=l._src[h],typeof d!="string"){l._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}f=/^data:audio\/([^;,]+);/i.exec(d),f||(f=/\.([^.]+)$/.exec(d.split("?",1)[0])),f&&(f=f[1].toLowerCase())}if(f||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),f&&e.codecs(f)){A=l._src[h];break}}if(!A){l._emit("loaderror",null,"No codec support for selected audio sources.");return}return l._src=A,l._state="loading",window.location.protocol==="https:"&&A.slice(0,5)==="http:"&&(l._html5=!0,l._webAudio=!1),new r(l),l._webAudio&&s(l),l},play:function(l,A){var h=this,f=null;if(typeof l=="number")f=l,l=null;else{if(typeof l=="string"&&h._state==="loaded"&&!h._sprite[l])return null;if(typeof l>"u"&&(l="__default",!h._playLock)){for(var d=0,y=0;y<h._sounds.length;y++)h._sounds[y]._paused&&!h._sounds[y]._ended&&(d++,f=h._sounds[y]._id);d===1?l=null:f=null}}var g=f?h._soundById(f):h._inactiveSound();if(!g)return null;if(f&&!l&&(l=g._sprite||"__default"),h._state!=="loaded"){g._sprite=l,g._ended=!1;var E=g._id;return h._queue.push({event:"play",action:function(){h.play(E)}}),E}if(f&&!g._paused)return A||h._loadQueue("play"),g._id;h._webAudio&&e._autoResume();var _=Math.max(0,g._seek>0?g._seek:h._sprite[l][0]/1e3),x=Math.max(0,(h._sprite[l][0]+h._sprite[l][1])/1e3-_),I=x*1e3/Math.abs(g._rate),P=h._sprite[l][0]/1e3,F=(h._sprite[l][0]+h._sprite[l][1])/1e3;g._sprite=l,g._ended=!1;var G=function(){g._paused=!1,g._seek=_,g._start=P,g._stop=F,g._loop=!!(g._loop||h._sprite[l][2])};if(_>=F){h._ended(g);return}var q=g._node;if(h._webAudio){var T=function(){h._playLock=!1,G(),h._refreshBuffer(g);var ue=g._muted||h._muted?0:g._volume;q.gain.setValueAtTime(ue,e.ctx.currentTime),g._playStart=e.ctx.currentTime,typeof q.bufferSource.start>"u"?g._loop?q.bufferSource.noteGrainOn(0,_,86400):q.bufferSource.noteGrainOn(0,_,x):g._loop?q.bufferSource.start(0,_,86400):q.bufferSource.start(0,_,x),I!==1/0&&(h._endTimers[g._id]=setTimeout(h._ended.bind(h,g),I)),A||setTimeout(function(){h._emit("play",g._id),h._loadQueue()},0)};e.state==="running"&&e.ctx.state!=="interrupted"?T():(h._playLock=!0,h.once("resume",T),h._clearTimer(g._id))}else{var K=function(){q.currentTime=_,q.muted=g._muted||h._muted||e._muted||q.muted,q.volume=g._volume*e.volume(),q.playbackRate=g._rate;try{var ue=q.play();if(ue&&typeof Promise<"u"&&(ue instanceof Promise||typeof ue.then=="function")?(h._playLock=!0,G(),ue.then(function(){h._playLock=!1,q._unlocked=!0,A?h._loadQueue():h._emit("play",g._id)}).catch(function(){h._playLock=!1,h._emit("playerror",g._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."),g._ended=!0,g._paused=!0})):A||(h._playLock=!1,G(),h._emit("play",g._id)),q.playbackRate=g._rate,q.paused){h._emit("playerror",g._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}l!=="__default"||g._loop?h._endTimers[g._id]=setTimeout(h._ended.bind(h,g),I):(h._endTimers[g._id]=function(){h._ended(g),q.removeEventListener("ended",h._endTimers[g._id],!1)},q.addEventListener("ended",h._endTimers[g._id],!1))}catch(_e){h._emit("playerror",g._id,_e)}};q.src==="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"&&(q.src=h._src,q.load());var J=window&&window.ejecta||!q.readyState&&e._navigator.isCocoonJS;if(q.readyState>=3||J)K();else{h._playLock=!0,h._state="loading";var $=function(){h._state="loaded",K(),q.removeEventListener(e._canPlayEvent,$,!1)};q.addEventListener(e._canPlayEvent,$,!1),h._clearTimer(g._id)}}return g._id},pause:function(l){var A=this;if(A._state!=="loaded"||A._playLock)return A._queue.push({event:"pause",action:function(){A.pause(l)}}),A;for(var h=A._getSoundIds(l),f=0;f<h.length;f++){A._clearTimer(h[f]);var d=A._soundById(h[f]);if(d&&!d._paused&&(d._seek=A.seek(h[f]),d._rateSeek=0,d._paused=!0,A._stopFade(h[f]),d._node))if(A._webAudio){if(!d._node.bufferSource)continue;typeof d._node.bufferSource.stop>"u"?d._node.bufferSource.noteOff(0):d._node.bufferSource.stop(0),A._cleanBuffer(d._node)}else(!isNaN(d._node.duration)||d._node.duration===1/0)&&d._node.pause();arguments[1]||A._emit("pause",d?d._id:null)}return A},stop:function(l,A){var h=this;if(h._state!=="loaded"||h._playLock)return h._queue.push({event:"stop",action:function(){h.stop(l)}}),h;for(var f=h._getSoundIds(l),d=0;d<f.length;d++){h._clearTimer(f[d]);var y=h._soundById(f[d]);y&&(y._seek=y._start||0,y._rateSeek=0,y._paused=!0,y._ended=!0,h._stopFade(f[d]),y._node&&(h._webAudio?y._node.bufferSource&&(typeof y._node.bufferSource.stop>"u"?y._node.bufferSource.noteOff(0):y._node.bufferSource.stop(0),h._cleanBuffer(y._node)):(!isNaN(y._node.duration)||y._node.duration===1/0)&&(y._node.currentTime=y._start||0,y._node.pause(),y._node.duration===1/0&&h._clearSound(y._node))),A||h._emit("stop",y._id))}return h},mute:function(l,A){var h=this;if(h._state!=="loaded"||h._playLock)return h._queue.push({event:"mute",action:function(){h.mute(l,A)}}),h;if(typeof A>"u")if(typeof l=="boolean")h._muted=l;else return h._muted;for(var f=h._getSoundIds(A),d=0;d<f.length;d++){var y=h._soundById(f[d]);y&&(y._muted=l,y._interval&&h._stopFade(y._id),h._webAudio&&y._node?y._node.gain.setValueAtTime(l?0:y._volume,e.ctx.currentTime):y._node&&(y._node.muted=e._muted?!0:l),h._emit("mute",y._id))}return h},volume:function(){var l=this,A=arguments,h,f;if(A.length===0)return l._volume;if(A.length===1||A.length===2&&typeof A[1]>"u"){var d=l._getSoundIds(),y=d.indexOf(A[0]);y>=0?f=parseInt(A[0],10):h=parseFloat(A[0])}else A.length>=2&&(h=parseFloat(A[0]),f=parseInt(A[1],10));var g;if(typeof h<"u"&&h>=0&&h<=1){if(l._state!=="loaded"||l._playLock)return l._queue.push({event:"volume",action:function(){l.volume.apply(l,A)}}),l;typeof f>"u"&&(l._volume=h),f=l._getSoundIds(f);for(var E=0;E<f.length;E++)g=l._soundById(f[E]),g&&(g._volume=h,A[2]||l._stopFade(f[E]),l._webAudio&&g._node&&!g._muted?g._node.gain.setValueAtTime(h,e.ctx.currentTime):g._node&&!g._muted&&(g._node.volume=h*e.volume()),l._emit("volume",g._id))}else return g=f?l._soundById(f):l._sounds[0],g?g._volume:0;return l},fade:function(l,A,h,f){var d=this;if(d._state!=="loaded"||d._playLock)return d._queue.push({event:"fade",action:function(){d.fade(l,A,h,f)}}),d;l=Math.min(Math.max(0,parseFloat(l)),1),A=Math.min(Math.max(0,parseFloat(A)),1),h=parseFloat(h),d.volume(l,f);for(var y=d._getSoundIds(f),g=0;g<y.length;g++){var E=d._soundById(y[g]);if(E){if(f||d._stopFade(y[g]),d._webAudio&&!E._muted){var _=e.ctx.currentTime,x=_+h/1e3;E._volume=l,E._node.gain.setValueAtTime(l,_),E._node.gain.linearRampToValueAtTime(A,x)}d._startFadeInterval(E,l,A,h,y[g],typeof f>"u")}}return d},_startFadeInterval:function(l,A,h,f,d,y){var g=this,E=A,_=h-A,x=Math.abs(_/.01),I=Math.max(4,x>0?f/x:f),P=Date.now();l._fadeTo=h,l._interval=setInterval(function(){var F=(Date.now()-P)/f;P=Date.now(),E+=_*F,E=Math.round(E*100)/100,_<0?E=Math.max(h,E):E=Math.min(h,E),g._webAudio?l._volume=E:g.volume(E,l._id,!0),y&&(g._volume=E),(h<A&&E<=h||h>A&&E>=h)&&(clearInterval(l._interval),l._interval=null,l._fadeTo=null,g.volume(h,l._id),g._emit("fade",l._id))},I)},_stopFade:function(l){var A=this,h=A._soundById(l);return h&&h._interval&&(A._webAudio&&h._node.gain.cancelScheduledValues(e.ctx.currentTime),clearInterval(h._interval),h._interval=null,A.volume(h._fadeTo,l),h._fadeTo=null,A._emit("fade",l)),A},loop:function(){var l=this,A=arguments,h,f,d;if(A.length===0)return l._loop;if(A.length===1)if(typeof A[0]=="boolean")h=A[0],l._loop=h;else return d=l._soundById(parseInt(A[0],10)),d?d._loop:!1;else A.length===2&&(h=A[0],f=parseInt(A[1],10));for(var y=l._getSoundIds(f),g=0;g<y.length;g++)d=l._soundById(y[g]),d&&(d._loop=h,l._webAudio&&d._node&&d._node.bufferSource&&(d._node.bufferSource.loop=h,h&&(d._node.bufferSource.loopStart=d._start||0,d._node.bufferSource.loopEnd=d._stop,l.playing(y[g])&&(l.pause(y[g],!0),l.play(y[g],!0)))));return l},rate:function(){var l=this,A=arguments,h,f;if(A.length===0)f=l._sounds[0]._id;else if(A.length===1){var d=l._getSoundIds(),y=d.indexOf(A[0]);y>=0?f=parseInt(A[0],10):h=parseFloat(A[0])}else A.length===2&&(h=parseFloat(A[0]),f=parseInt(A[1],10));var g;if(typeof h=="number"){if(l._state!=="loaded"||l._playLock)return l._queue.push({event:"rate",action:function(){l.rate.apply(l,A)}}),l;typeof f>"u"&&(l._rate=h),f=l._getSoundIds(f);for(var E=0;E<f.length;E++)if(g=l._soundById(f[E]),g){l.playing(f[E])&&(g._rateSeek=l.seek(f[E]),g._playStart=l._webAudio?e.ctx.currentTime:g._playStart),g._rate=h,l._webAudio&&g._node&&g._node.bufferSource?g._node.bufferSource.playbackRate.setValueAtTime(h,e.ctx.currentTime):g._node&&(g._node.playbackRate=h);var _=l.seek(f[E]),x=(l._sprite[g._sprite][0]+l._sprite[g._sprite][1])/1e3-_,I=x*1e3/Math.abs(g._rate);(l._endTimers[f[E]]||!g._paused)&&(l._clearTimer(f[E]),l._endTimers[f[E]]=setTimeout(l._ended.bind(l,g),I)),l._emit("rate",g._id)}}else return g=l._soundById(f),g?g._rate:l._rate;return l},seek:function(){var l=this,A=arguments,h,f;if(A.length===0)l._sounds.length&&(f=l._sounds[0]._id);else if(A.length===1){var d=l._getSoundIds(),y=d.indexOf(A[0]);y>=0?f=parseInt(A[0],10):l._sounds.length&&(f=l._sounds[0]._id,h=parseFloat(A[0]))}else A.length===2&&(h=parseFloat(A[0]),f=parseInt(A[1],10));if(typeof f>"u")return 0;if(typeof h=="number"&&(l._state!=="loaded"||l._playLock))return l._queue.push({event:"seek",action:function(){l.seek.apply(l,A)}}),l;var g=l._soundById(f);if(g)if(typeof h=="number"&&h>=0){var E=l.playing(f);E&&l.pause(f,!0),g._seek=h,g._ended=!1,l._clearTimer(f),!l._webAudio&&g._node&&!isNaN(g._node.duration)&&(g._node.currentTime=h);var _=function(){E&&l.play(f,!0),l._emit("seek",f)};if(E&&!l._webAudio){var x=function(){l._playLock?setTimeout(x,0):_()};setTimeout(x,0)}else _()}else if(l._webAudio){var I=l.playing(f)?e.ctx.currentTime-g._playStart:0,P=g._rateSeek?g._rateSeek-g._seek:0;return g._seek+(P+I*Math.abs(g._rate))}else return g._node.currentTime;return l},playing:function(l){var A=this;if(typeof l=="number"){var h=A._soundById(l);return h?!h._paused:!1}for(var f=0;f<A._sounds.length;f++)if(!A._sounds[f]._paused)return!0;return!1},duration:function(l){var A=this,h=A._duration,f=A._soundById(l);return f&&(h=A._sprite[f._sprite][1]/1e3),h},state:function(){return this._state},unload:function(){for(var l=this,A=l._sounds,h=0;h<A.length;h++)A[h]._paused||l.stop(A[h]._id),l._webAudio||(l._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,l._clearTimer(A[h]._id);var f=e._howls.indexOf(l);f>=0&&e._howls.splice(f,1);var d=!0;for(h=0;h<e._howls.length;h++)if(e._howls[h]._src===l._src||l._src.indexOf(e._howls[h]._src)>=0){d=!1;break}return n&&d&&delete n[l._src],e.noAudio=!1,l._state="unloaded",l._sounds=[],l=null,null},on:function(l,A,h,f){var d=this,y=d["_on"+l];return typeof A=="function"&&y.push(f?{id:h,fn:A,once:f}:{id:h,fn:A}),d},off:function(l,A,h){var f=this,d=f["_on"+l],y=0;if(typeof A=="number"&&(h=A,A=null),A||h)for(y=0;y<d.length;y++){var g=h===d[y].id;if(A===d[y].fn&&g||!A&&g){d.splice(y,1);break}}else if(l)f["_on"+l]=[];else{var E=Object.keys(f);for(y=0;y<E.length;y++)E[y].indexOf("_on")===0&&Array.isArray(f[E[y]])&&(f[E[y]]=[])}return f},once:function(l,A,h){var f=this;return f.on(l,A,h,1),f},_emit:function(l,A,h){for(var f=this,d=f["_on"+l],y=d.length-1;y>=0;y--)(!d[y].id||d[y].id===A||l==="load")&&(setTimeout(function(g){g.call(this,A,h)}.bind(f,d[y].fn),0),d[y].once&&f.off(l,d[y].fn,d[y].id));return f._loadQueue(l),f},_loadQueue:function(l){var A=this;if(A._queue.length>0){var h=A._queue[0];h.event===l&&(A._queue.shift(),A._loadQueue()),l||h.action()}return A},_ended:function(l){var A=this,h=l._sprite;if(!A._webAudio&&l._node&&!l._node.paused&&!l._node.ended&&l._node.currentTime<l._stop)return setTimeout(A._ended.bind(A,l),100),A;var f=!!(l._loop||A._sprite[h][2]);if(A._emit("end",l._id),!A._webAudio&&f&&A.stop(l._id,!0).play(l._id),A._webAudio&&f){A._emit("play",l._id),l._seek=l._start||0,l._rateSeek=0,l._playStart=e.ctx.currentTime;var d=(l._stop-l._start)*1e3/Math.abs(l._rate);A._endTimers[l._id]=setTimeout(A._ended.bind(A,l),d)}return A._webAudio&&!f&&(l._paused=!0,l._ended=!0,l._seek=l._start||0,l._rateSeek=0,A._clearTimer(l._id),A._cleanBuffer(l._node),e._autoSuspend()),!A._webAudio&&!f&&A.stop(l._id,!0),A},_clearTimer:function(l){var A=this;if(A._endTimers[l]){if(typeof A._endTimers[l]!="function")clearTimeout(A._endTimers[l]);else{var h=A._soundById(l);h&&h._node&&h._node.removeEventListener("ended",A._endTimers[l],!1)}delete A._endTimers[l]}return A},_soundById:function(l){for(var A=this,h=0;h<A._sounds.length;h++)if(l===A._sounds[h]._id)return A._sounds[h];return null},_inactiveSound:function(){var l=this;l._drain();for(var A=0;A<l._sounds.length;A++)if(l._sounds[A]._ended)return l._sounds[A].reset();return new r(l)},_drain:function(){var l=this,A=l._pool,h=0,f=0;if(!(l._sounds.length<A)){for(f=0;f<l._sounds.length;f++)l._sounds[f]._ended&&h++;for(f=l._sounds.length-1;f>=0;f--){if(h<=A)return;l._sounds[f]._ended&&(l._webAudio&&l._sounds[f]._node&&l._sounds[f]._node.disconnect(0),l._sounds.splice(f,1),h--)}}},_getSoundIds:function(l){var A=this;if(typeof l>"u"){for(var h=[],f=0;f<A._sounds.length;f++)h.push(A._sounds[f]._id);return h}else return[l]},_refreshBuffer:function(l){var A=this;return l._node.bufferSource=e.ctx.createBufferSource(),l._node.bufferSource.buffer=n[A._src],l._panner?l._node.bufferSource.connect(l._panner):l._node.bufferSource.connect(l._node),l._node.bufferSource.loop=l._loop,l._loop&&(l._node.bufferSource.loopStart=l._start||0,l._node.bufferSource.loopEnd=l._stop||0),l._node.bufferSource.playbackRate.setValueAtTime(l._rate,e.ctx.currentTime),A},_cleanBuffer:function(l){var A=this,h=e._navigator&&e._navigator.vendor.indexOf("Apple")>=0;if(!l.bufferSource)return A;if(e._scratchBuffer&&l.bufferSource&&(l.bufferSource.onended=null,l.bufferSource.disconnect(0),h))try{l.bufferSource.buffer=e._scratchBuffer}catch{}return l.bufferSource=null,A},_clearSound:function(l){var A=/MSIE |Trident\//.test(e._navigator&&e._navigator.userAgent);A||(l.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA")}};var r=function(l){this._parent=l,this.init()};r.prototype={init:function(){var l=this,A=l._parent;return l._muted=A._muted,l._loop=A._loop,l._volume=A._volume,l._rate=A._rate,l._seek=0,l._paused=!0,l._ended=!0,l._sprite="__default",l._id=++e._counter,A._sounds.push(l),l.create(),l},create:function(){var l=this,A=l._parent,h=e._muted||l._muted||l._parent._muted?0:l._volume;return A._webAudio?(l._node=typeof e.ctx.createGain>"u"?e.ctx.createGainNode():e.ctx.createGain(),l._node.gain.setValueAtTime(h,e.ctx.currentTime),l._node.paused=!0,l._node.connect(e.masterGain)):e.noAudio||(l._node=e._obtainHtml5Audio(),l._errorFn=l._errorListener.bind(l),l._node.addEventListener("error",l._errorFn,!1),l._loadFn=l._loadListener.bind(l),l._node.addEventListener(e._canPlayEvent,l._loadFn,!1),l._endFn=l._endListener.bind(l),l._node.addEventListener("ended",l._endFn,!1),l._node.src=A._src,l._node.preload=A._preload===!0?"auto":A._preload,l._node.volume=h*e.volume(),l._node.load()),l},reset:function(){var l=this,A=l._parent;return l._muted=A._muted,l._loop=A._loop,l._volume=A._volume,l._rate=A._rate,l._seek=0,l._rateSeek=0,l._paused=!0,l._ended=!0,l._sprite="__default",l._id=++e._counter,l},_errorListener:function(){var l=this;l._parent._emit("loaderror",l._id,l._node.error?l._node.error.code:0),l._node.removeEventListener("error",l._errorFn,!1)},_loadListener:function(){var l=this,A=l._parent;A._duration=Math.ceil(l._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()),l._node.removeEventListener(e._canPlayEvent,l._loadFn,!1)},_endListener:function(){var l=this,A=l._parent;A._duration===1/0&&(A._duration=Math.ceil(l._node.duration*10)/10,A._sprite.__default[1]===1/0&&(A._sprite.__default[1]=A._duration*1e3),A._ended(l)),l._node.removeEventListener("ended",l._endFn,!1)}};var n={},s=function(l){var A=l._src;if(n[A]){l._duration=n[A].duration,u(l);return}if(/^data:[^;]+;base64,/.test(A)){for(var h=atob(A.split(",")[1]),f=new Uint8Array(h.length),d=0;d<h.length;++d)f[d]=h.charCodeAt(d);a(f.buffer,l)}else{var y=new XMLHttpRequest;y.open(l._xhr.method,A,!0),y.withCredentials=l._xhr.withCredentials,y.responseType="arraybuffer",l._xhr.headers&&Object.keys(l._xhr.headers).forEach(function(g){y.setRequestHeader(g,l._xhr.headers[g])}),y.onload=function(){var g=(y.status+"")[0];if(g!=="0"&&g!=="2"&&g!=="3"){l._emit("loaderror",null,"Failed loading audio file with status: "+y.status+".");return}a(y.response,l)},y.onerror=function(){l._webAudio&&(l._html5=!0,l._webAudio=!1,l._sounds=[],delete n[A],l.load())},o(y)}},o=function(l){try{l.send()}catch{l.onerror()}},a=function(l,A){var h=function(){A._emit("loaderror",null,"Decoding audio data failed.")},f=function(d){d&&A._sounds.length>0?(n[A._src]=d,u(A,d)):h()};typeof Promise<"u"&&e.ctx.decodeAudioData.length===1?e.ctx.decodeAudioData(l).then(f).catch(h):e.ctx.decodeAudioData(l,f,h)},u=function(l,A){A&&!l._duration&&(l._duration=A.duration),Object.keys(l._sprite).length===0&&(l._sprite={__default:[0,l._duration*1e3]}),l._state!=="loaded"&&(l._state="loaded",l._emit("load"),l._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 l=/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(l&&h&&h<9){var f=/safari/.test(e._navigator&&e._navigator.userAgent.toLowerCase());e._navigator&&!f&&(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 Mf<"u"&&(Mf.Howler=e,Mf.Howl=t),typeof global<"u"?(global.HowlerGlobal=i,global.Howler=e,global.Howl=t,global.Sound=r):typeof window<"u"&&(window.HowlerGlobal=i,window.Howler=e,window.Howl=t,window.Sound=r)})();(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 r=t._howls.length-1;r>=0;r--)t._howls[r].stereo(e);return t},HowlerGlobal.prototype.pos=function(e,t,r){var n=this;if(!n.ctx||!n.ctx.listener)return n;if(t=typeof t!="number"?n._pos[1]:t,r=typeof r!="number"?n._pos[2]:r,typeof e=="number")n._pos=[e,t,r],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,r,n,s,o){var a=this;if(!a.ctx||!a.ctx.listener)return a;var u=a._orientation;if(t=typeof t!="number"?u[1]:t,r=typeof r!="number"?u[2]:r,n=typeof n!="number"?u[3]:n,s=typeof s!="number"?u[4]:s,o=typeof o!="number"?u[5]:o,typeof e=="number")a._orientation=[e,t,r,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(r,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,r,n,s,o);else return u;return a},Howl.prototype.init=function(e){return function(t){var r=this;return r._orientation=t.orientation||[1,0,0],r._stereo=t.stereo||null,r._pos=t.pos||null,r._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},r._onstereo=t.onstereo?[{fn:t.onstereo}]:[],r._onpos=t.onpos?[{fn:t.onpos}]:[],r._onorientation=t.onorientation?[{fn:t.onorientation}]:[],e.call(this,t)}}(Howl.prototype.init),Howl.prototype.stereo=function(e,t){var r=this;if(!r._webAudio)return r;if(r._state!=="loaded")return r._queue.push({event:"stereo",action:function(){r.stereo(e,t)}}),r;var n=typeof Howler.ctx.createStereoPanner>"u"?"spatial":"stereo";if(typeof t>"u")if(typeof e=="number")r._stereo=e,r._pos=[e,0,0];else return r._stereo;for(var s=r._getSoundIds(t),o=0;o<s.length;o++){var a=r._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)&&i(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)),r._emit("stereo",a._id);else return a._stereo}return r},Howl.prototype.pos=function(e,t,r,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,r,n)}}),s;if(t=typeof t!="number"?0:t,r=typeof r!="number"?-.5:r,typeof n>"u")if(typeof e=="number")s._pos=[e,t,r];else return s._pos;for(var o=s._getSoundIds(n),a=0;a<o.length;a++){var u=s._soundById(o[a]);if(u)if(typeof e=="number")u._pos=[e,t,r],u._node&&((!u._panner||u._panner.pan)&&i(u,"spatial"),typeof u._panner.positionX<"u"?(u._panner.positionX.setValueAtTime(e,Howler.ctx.currentTime),u._panner.positionY.setValueAtTime(t,Howler.ctx.currentTime),u._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime)):u._panner.setPosition(e,t,r)),s._emit("pos",u._id);else return u._pos}return s},Howl.prototype.orientation=function(e,t,r,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,r,n)}}),s;if(t=typeof t!="number"?s._orientation[1]:t,r=typeof r!="number"?s._orientation[2]:r,typeof n>"u")if(typeof e=="number")s._orientation=[e,t,r];else return s._orientation;for(var o=s._getSoundIds(n),a=0;a<o.length;a++){var u=s._soundById(o[a]);if(u)if(typeof e=="number")u._orientation=[e,t,r],u._node&&(u._panner||(u._pos||(u._pos=s._pos||[0,0,-.5]),i(u,"spatial")),typeof u._panner.orientationX<"u"?(u._panner.orientationX.setValueAtTime(e,Howler.ctx.currentTime),u._panner.orientationY.setValueAtTime(t,Howler.ctx.currentTime),u._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime)):u._panner.setOrientation(e,t,r)),s._emit("orientation",u._id);else return u._orientation}return s},Howl.prototype.pannerAttr=function(){var e=this,t=arguments,r,n,s;if(!e._webAudio)return e;if(t.length===0)return e._pannerAttr;if(t.length===1)if(typeof t[0]=="object")r=t[0],typeof n>"u"&&(r.pannerAttr||(r.pannerAttr={coneInnerAngle:r.coneInnerAngle,coneOuterAngle:r.coneOuterAngle,coneOuterGain:r.coneOuterGain,distanceModel:r.distanceModel,maxDistance:r.maxDistance,refDistance:r.refDistance,rolloffFactor:r.rolloffFactor,panningModel:r.panningModel}),e._pannerAttr={coneInnerAngle:typeof r.pannerAttr.coneInnerAngle<"u"?r.pannerAttr.coneInnerAngle:e._coneInnerAngle,coneOuterAngle:typeof r.pannerAttr.coneOuterAngle<"u"?r.pannerAttr.coneOuterAngle:e._coneOuterAngle,coneOuterGain:typeof r.pannerAttr.coneOuterGain<"u"?r.pannerAttr.coneOuterGain:e._coneOuterGain,distanceModel:typeof r.pannerAttr.distanceModel<"u"?r.pannerAttr.distanceModel:e._distanceModel,maxDistance:typeof r.pannerAttr.maxDistance<"u"?r.pannerAttr.maxDistance:e._maxDistance,refDistance:typeof r.pannerAttr.refDistance<"u"?r.pannerAttr.refDistance:e._refDistance,rolloffFactor:typeof r.pannerAttr.rolloffFactor<"u"?r.pannerAttr.rolloffFactor:e._rolloffFactor,panningModel:typeof r.pannerAttr.panningModel<"u"?r.pannerAttr.panningModel:e._panningModel});else return s=e._soundById(parseInt(t[0],10)),s?s._pannerAttr:e._pannerAttr;else t.length===2&&(r=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 u=s._pannerAttr;u={coneInnerAngle:typeof r.coneInnerAngle<"u"?r.coneInnerAngle:u.coneInnerAngle,coneOuterAngle:typeof r.coneOuterAngle<"u"?r.coneOuterAngle:u.coneOuterAngle,coneOuterGain:typeof r.coneOuterGain<"u"?r.coneOuterGain:u.coneOuterGain,distanceModel:typeof r.distanceModel<"u"?r.distanceModel:u.distanceModel,maxDistance:typeof r.maxDistance<"u"?r.maxDistance:u.maxDistance,refDistance:typeof r.refDistance<"u"?r.refDistance:u.refDistance,rolloffFactor:typeof r.rolloffFactor<"u"?r.rolloffFactor:u.rolloffFactor,panningModel:typeof r.panningModel<"u"?r.panningModel:u.panningModel};var c=s._panner;c||(s._pos||(s._pos=e._pos||[0,0,-.5]),i(s,"spatial"),c=s._panner),c.coneInnerAngle=u.coneInnerAngle,c.coneOuterAngle=u.coneOuterAngle,c.coneOuterGain=u.coneOuterGain,c.distanceModel=u.distanceModel,c.maxDistance=u.maxDistance,c.refDistance=u.refDistance,c.rolloffFactor=u.rolloffFactor,c.panningModel=u.panningModel}return e},Sound.prototype.init=function(e){return function(){var t=this,r=t._parent;t._orientation=r._orientation,t._stereo=r._stereo,t._pos=r._pos,t._pannerAttr=r._pannerAttr,e.call(this),t._stereo?r.stereo(t._stereo):t._pos&&r.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,r=t._parent;return t._orientation=r._orientation,t._stereo=r._stereo,t._pos=r._pos,t._pannerAttr=r._pannerAttr,t._stereo?r.stereo(t._stereo):t._pos?r.pos(t._pos[0],t._pos[1],t._pos[2],t._id):t._panner&&(t._panner.disconnect(0),t._panner=void 0,r._refreshBuffer(t)),e.call(this)}}(Sound.prototype.reset);var i=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 L,Ym,rl,le,ne=Q(()=>{"use strict";L=(i=>(i.Application="application",i.WebGLPipes="webgl-pipes",i.WebGLPipesAdaptor="webgl-pipes-adaptor",i.WebGLSystem="webgl-system",i.WebGPUPipes="webgpu-pipes",i.WebGPUPipesAdaptor="webgpu-pipes-adaptor",i.WebGPUSystem="webgpu-system",i.CanvasSystem="canvas-system",i.CanvasPipesAdaptor="canvas-pipes-adaptor",i.CanvasPipes="canvas-pipes",i.Asset="asset",i.LoadParser="load-parser",i.ResolveParser="resolve-parser",i.CacheParser="cache-parser",i.DetectionParser="detection-parser",i.MaskEffect="mask-effect",i.BlendMode="blend-mode",i.TextureSource="texture-source",i.Environment="environment",i.ShapeBuilder="shape-builder",i.Batcher="batcher",i))(L||{}),Ym=i=>{if(typeof i=="function"||typeof i=="object"&&i.extension){if(!i.extension)throw new Error("Extension class must have an extension object");i={...typeof i.extension!="object"?{type:i.extension}:i.extension,ref:i}}if(typeof i=="object")i={...i};else throw new Error("Invalid extension type");return typeof i.type=="string"&&(i.type=[i.type]),i},rl=(i,e)=>Ym(i).priority??e,le={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Ym).forEach(e=>{e.type.forEach(t=>this._removeHandlers[t]?.(e))}),this},add(...i){return i.map(Ym).forEach(e=>{e.type.forEach(t=>{let r=this._addHandlers,n=this._queue;r[t]?r[t]?.(e):(n[t]=n[t]||[],n[t]?.push(e))})}),this},handle(i,e,t){let r=this._addHandlers,n=this._removeHandlers;if(r[i]||n[i])throw new Error(`Extension type ${i} already has a handler`);r[i]=e,n[i]=t;let s=this._queue;return s[i]&&(s[i]?.forEach(o=>e(o)),delete s[i]),this},handleByMap(i,e){return this.handle(i,t=>{t.name&&(e[t.name]=t.ref)},t=>{t.name&&delete e[t.name]})},handleByNamedList(i,e,t=-1){return this.handle(i,r=>{e.findIndex(s=>s.name===r.name)>=0||(e.push({name:r.name,value:r.ref}),e.sort((s,o)=>rl(o.value,t)-rl(s.value,t)))},r=>{let n=e.findIndex(s=>s.name===r.name);n!==-1&&e.splice(n,1)})},handleByList(i,e,t=-1){return this.handle(i,r=>{e.includes(r.ref)||(e.push(r.ref),e.sort((n,s)=>rl(s,t)-rl(n,t)))},r=>{let n=e.indexOf(r.ref);n!==-1&&e.splice(n,1)})},mixin(i,...e){for(let t of e)Object.defineProperties(i.prototype,Object.getOwnPropertyDescriptors(t))}}});var _b=D((gte,Km)=>{"use strict";var lX=Object.prototype.hasOwnProperty,Jt="~";function il(){}Object.create&&(il.prototype=Object.create(null),new il().__proto__||(Jt=!1));function uX(i,e,t){this.fn=i,this.context=e,this.once=t||!1}function xb(i,e,t,r,n){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new uX(t,r||i,n),o=Jt?Jt+e:e;return i._events[o]?i._events[o].fn?i._events[o]=[i._events[o],s]:i._events[o].push(s):(i._events[o]=s,i._eventsCount++),i}function Tf(i,e){--i._eventsCount===0?i._events=new il:delete i._events[e]}function Xt(){this._events=new il,this._eventsCount=0}Xt.prototype.eventNames=function(){var e=[],t,r;if(this._eventsCount===0)return e;for(r in t=this._events)lX.call(t,r)&&e.push(Jt?r.slice(1):r);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Xt.prototype.listeners=function(e){var t=Jt?Jt+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var n=0,s=r.length,o=new Array(s);n<s;n++)o[n]=r[n].fn;return o};Xt.prototype.listenerCount=function(e){var t=Jt?Jt+e:e,r=this._events[t];return r?r.fn?1:r.length:0};Xt.prototype.emit=function(e,t,r,n,s,o){var a=Jt?Jt+e:e;if(!this._events[a])return!1;var u=this._events[a],c=arguments.length,l,A;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,n),!0;case 5:return u.fn.call(u.context,t,r,n,s),!0;case 6:return u.fn.call(u.context,t,r,n,s,o),!0}for(A=1,l=new Array(c-1);A<c;A++)l[A-1]=arguments[A];u.fn.apply(u.context,l)}else{var h=u.length,f;for(A=0;A<h;A++)switch(u[A].once&&this.removeListener(e,u[A].fn,void 0,!0),c){case 1:u[A].fn.call(u[A].context);break;case 2:u[A].fn.call(u[A].context,t);break;case 3:u[A].fn.call(u[A].context,t,r);break;case 4:u[A].fn.call(u[A].context,t,r,n);break;default:if(!l)for(f=1,l=new Array(c-1);f<c;f++)l[f-1]=arguments[f];u[A].fn.apply(u[A].context,l)}}return!0};Xt.prototype.on=function(e,t,r){return xb(this,e,t,r,!1)};Xt.prototype.once=function(e,t,r){return xb(this,e,t,r,!0)};Xt.prototype.removeListener=function(e,t,r,n){var s=Jt?Jt+e:e;if(!this._events[s])return this;if(!t)return Tf(this,s),this;var o=this._events[s];if(o.fn)o.fn===t&&(!n||o.once)&&(!r||o.context===r)&&Tf(this,s);else{for(var a=0,u=[],c=o.length;a<c;a++)(o[a].fn!==t||n&&!o[a].once||r&&o[a].context!==r)&&u.push(o[a]);u.length?this._events[s]=u.length===1?u[0]:u:Tf(this,s)}return this};Xt.prototype.removeAllListeners=function(e){var t;return e?(t=Jt?Jt+e:e,this._events[t]&&Tf(this,t)):(this._events=new il,this._eventsCount=0),this};Xt.prototype.off=Xt.prototype.removeListener;Xt.prototype.addListener=Xt.prototype.on;Xt.prefixed=Jt;Xt.EventEmitter=Xt;typeof Km<"u"&&(Km.exports=Xt)});var Bb,At,_r=Q(()=>{Bb=zt(_b(),1),At=Bb.default});var cX,Gi,Rt,Dr,Tb,vb,Vm,AX,Pf,Pb,Db,Cb,bb,wb,nl,hX,fX,dX,pX,Jm,Qb,gX,Xm,zm,Sb,Zm,$r,Mb,Fb,Ob=Q(()=>{cX={grad:.9,turn:360,rad:360/(2*Math.PI)},Gi=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},Rt=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=Math.pow(10,e)),Math.round(t*i)/t+0},Dr=function(i,e,t){return e===void 0&&(e=0),t===void 0&&(t=1),i>t?t:i>e?i:e},Tb=function(i){return(i=isFinite(i)?i%360:0)>0?i:i+360},vb=function(i){return{r:Dr(i.r,0,255),g:Dr(i.g,0,255),b:Dr(i.b,0,255),a:Dr(i.a)}},Vm=function(i){return{r:Rt(i.r),g:Rt(i.g),b:Rt(i.b),a:Rt(i.a,3)}},AX=/^#([0-9a-f]{3,8})$/i,Pf=function(i){var e=i.toString(16);return e.length<2?"0"+e:e},Pb=function(i){var e=i.r,t=i.g,r=i.b,n=i.a,s=Math.max(e,t,r),o=s-Math.min(e,t,r),a=o?s===e?(t-r)/o:s===t?2+(r-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}},Db=function(i){var e=i.h,t=i.s,r=i.v,n=i.a;e=e/360*6,t/=100,r/=100;var s=Math.floor(e),o=r*(1-t),a=r*(1-(e-s)*t),u=r*(1-(1-e+s)*t),c=s%6;return{r:255*[r,a,o,o,u,r][c],g:255*[u,r,r,a,o,o][c],b:255*[o,o,u,r,r,a][c],a:n}},Cb=function(i){return{h:Tb(i.h),s:Dr(i.s,0,100),l:Dr(i.l,0,100),a:Dr(i.a)}},bb=function(i){return{h:Rt(i.h),s:Rt(i.s),l:Rt(i.l),a:Rt(i.a,3)}},wb=function(i){return Db((t=(e=i).s,{h:e.h,s:(t*=((r=e.l)<50?r:100-r)/100)>0?2*t/(r+t)*100:0,v:r+t,a:e.a}));var e,t,r},nl=function(i){return{h:(e=Pb(i)).h,s:(n=(200-(t=e.s))*(r=e.v)/100)>0&&n<200?t*r/100/(n<=100?n:200-n)*100:0,l:n/2,a:e.a};var e,t,r,n},hX=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,fX=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,dX=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,pX=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Jm={string:[[function(i){var e=AX.exec(i);return e?(i=e[1]).length<=4?{r:parseInt(i[0]+i[0],16),g:parseInt(i[1]+i[1],16),b:parseInt(i[2]+i[2],16),a:i.length===4?Rt(parseInt(i[3]+i[3],16)/255,2):1}:i.length===6||i.length===8?{r:parseInt(i.substr(0,2),16),g:parseInt(i.substr(2,2),16),b:parseInt(i.substr(4,2),16),a:i.length===8?Rt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var e=dX.exec(i)||pX.exec(i);return e?e[2]!==e[4]||e[4]!==e[6]?null:vb({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(i){var e=hX.exec(i)||fX.exec(i);if(!e)return null;var t,r,n=Cb({h:(t=e[1],r=e[2],r===void 0&&(r="deg"),Number(t)*(cX[r]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return wb(n)},"hsl"]],object:[[function(i){var e=i.r,t=i.g,r=i.b,n=i.a,s=n===void 0?1:n;return Gi(e)&&Gi(t)&&Gi(r)?vb({r:Number(e),g:Number(t),b:Number(r),a:Number(s)}):null},"rgb"],[function(i){var e=i.h,t=i.s,r=i.l,n=i.a,s=n===void 0?1:n;if(!Gi(e)||!Gi(t)||!Gi(r))return null;var o=Cb({h:Number(e),s:Number(t),l:Number(r),a:Number(s)});return wb(o)},"hsl"],[function(i){var e=i.h,t=i.s,r=i.v,n=i.a,s=n===void 0?1:n;if(!Gi(e)||!Gi(t)||!Gi(r))return null;var o=function(a){return{h:Tb(a.h),s:Dr(a.s,0,100),v:Dr(a.v,0,100),a:Dr(a.a)}}({h:Number(e),s:Number(t),v:Number(r),a:Number(s)});return Db(o)},"hsv"]]},Qb=function(i,e){for(var t=0;t<e.length;t++){var r=e[t][0](i);if(r)return[r,e[t][1]]}return[null,void 0]},gX=function(i){return typeof i=="string"?Qb(i.trim(),Jm.string):typeof i=="object"&&i!==null?Qb(i,Jm.object):[null,void 0]},Xm=function(i,e){var t=nl(i);return{h:t.h,s:Dr(t.s+100*e,0,100),l:t.l,a:t.a}},zm=function(i){return(299*i.r+587*i.g+114*i.b)/1e3/255},Sb=function(i,e){var t=nl(i);return{h:t.h,s:t.s,l:Dr(t.l+100*e,0,100),a:t.a}},Zm=function(){function i(e){this.parsed=gX(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return i.prototype.isValid=function(){return this.parsed!==null},i.prototype.brightness=function(){return Rt(zm(this.rgba),2)},i.prototype.isDark=function(){return zm(this.rgba)<.5},i.prototype.isLight=function(){return zm(this.rgba)>=.5},i.prototype.toHex=function(){return e=Vm(this.rgba),t=e.r,r=e.g,n=e.b,o=(s=e.a)<1?Pf(Rt(255*s)):"","#"+Pf(t)+Pf(r)+Pf(n)+o;var e,t,r,n,s,o},i.prototype.toRgb=function(){return Vm(this.rgba)},i.prototype.toRgbString=function(){return e=Vm(this.rgba),t=e.r,r=e.g,n=e.b,(s=e.a)<1?"rgba("+t+", "+r+", "+n+", "+s+")":"rgb("+t+", "+r+", "+n+")";var e,t,r,n,s},i.prototype.toHsl=function(){return bb(nl(this.rgba))},i.prototype.toHslString=function(){return e=bb(nl(this.rgba)),t=e.h,r=e.s,n=e.l,(s=e.a)<1?"hsla("+t+", "+r+"%, "+n+"%, "+s+")":"hsl("+t+", "+r+"%, "+n+"%)";var e,t,r,n,s},i.prototype.toHsv=function(){return e=Pb(this.rgba),{h:Rt(e.h),s:Rt(e.s),v:Rt(e.v),a:Rt(e.a,3)};var e},i.prototype.invert=function(){return $r({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},i.prototype.saturate=function(e){return e===void 0&&(e=.1),$r(Xm(this.rgba,e))},i.prototype.desaturate=function(e){return e===void 0&&(e=.1),$r(Xm(this.rgba,-e))},i.prototype.grayscale=function(){return $r(Xm(this.rgba,-1))},i.prototype.lighten=function(e){return e===void 0&&(e=.1),$r(Sb(this.rgba,e))},i.prototype.darken=function(e){return e===void 0&&(e=.1),$r(Sb(this.rgba,-e))},i.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},i.prototype.alpha=function(e){return typeof e=="number"?$r({r:(t=this.rgba).r,g:t.g,b:t.b,a:e}):Rt(this.rgba.a,3);var t},i.prototype.hue=function(e){var t=nl(this.rgba);return typeof e=="number"?$r({h:e,s:t.s,l:t.l,a:t.a}):Rt(t.h)},i.prototype.isEqual=function(e){return this.toHex()===$r(e).toHex()},i}(),$r=function(i){return i instanceof Zm?i:new Zm(i)},Mb=[],Fb=function(i){i.forEach(function(e){Mb.indexOf(e)<0&&(e(Zm,Jm),Mb.push(e))})}});function Rb(i,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"},r={};for(var n in t)r[t[n]]=n;var s={};i.prototype.toName=function(o){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,u,c=r[this.toHex()];if(c)return c;if(o?.closest){var l=this.toRgb(),A=1/0,h="black";if(!s.length)for(var f in t)s[f]=new i(t[f]).toRgb();for(var d in t){var y=(a=l,u=s[d],Math.pow(a.r-u.r,2)+Math.pow(a.g-u.g,2)+Math.pow(a.b-u.b,2));y<A&&(A=y,h=d)}return h}},e.string.push([function(o){var a=o.toLowerCase(),u=a==="transparent"?"#0000":t[a];return u?new i(u).toRgb():null},"name"])}var kb=Q(()=>{});var Po,De,Ar=Q(()=>{Ob();kb();Fb([Rb]);Po=class sl{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 sl)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 r=typeof e;if(r!==typeof t)return!1;if(r==="number"||r==="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,r,n]=this._components;return{r:e,g:t,b:r,a:n}}toRgb(){let[e,t,r]=this._components;return{r:e,g:t,b:r}}toRgbaString(){let[e,t,r]=this.toUint8RgbArray();return`rgba(${e},${t},${r},${this.alpha})`}toUint8RgbArray(e){let[t,r,n]=this._components;return this._arrayRgb||(this._arrayRgb=[]),e||(e=this._arrayRgb),e[0]=Math.round(t*255),e[1]=Math.round(r*255),e[2]=Math.round(n*255),e}toArray(e){this._arrayRgba||(this._arrayRgba=[]),e||(e=this._arrayRgba);let[t,r,n,s]=this._components;return e[0]=t,e[1]=r,e[2]=n,e[3]=s,e}toRgbArray(e){this._arrayRgb||(this._arrayRgb=[]),e||(e=this._arrayRgb);let[t,r,n]=this._components;return e[0]=t,e[1]=r,e[2]=n,e}toNumber(){return this._int}toBgrNumber(){let[e,t,r]=this.toUint8RgbArray();return(r<<16)+(t<<8)+e}toLittleEndianNumber(){let e=this._int;return(e>>16)+(e&65280)+((e&255)<<16)}multiply(e){let[t,r,n,s]=sl._temp.setValue(e)._components;return this._components[0]*=t,this._components[1]*=r,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 r=this._int>>16&255,n=this._int>>8&255,s=this._int&255;return t&&(r=r*e+.5|0,n=n*e+.5|0,s=s*e+.5|0),(e*255<<24)+(r<<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,r,n,s;if((typeof e=="number"||e instanceof Number)&&e>=0&&e<=16777215){let o=e;t=(o>>16&255)/255,r=(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,r,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,r,n,s=255]=e,t/=255,r/=255,n/=255,s/=255;else if(typeof e=="string"||typeof e=="object"){if(typeof e=="string"){let a=sl.HEX_PATTERN.exec(e);a&&(e=`#${a[2]}`)}let o=$r(e);o.isValid()&&({r:t,g:r,b:n,a:s}=o.rgba,t/=255,r/=255,n/=255)}if(t!==void 0)this._components[0]=t,this._components[1]=r,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,r]=this._components;this._int=(e*255<<16)+(t*255<<8)+(r*255|0)}_clamp(e,t=0,r=1){return typeof e=="number"?Math.min(Math.max(e,t),r):(e.forEach((n,s)=>{e[s]=Math.min(Math.max(n,t),r)}),e)}static isColorLike(e){return typeof e=="number"||typeof e=="string"||e instanceof Number||e instanceof sl||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}};Po.shared=new Po;Po._temp=new Po;Po.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;De=Po});var Gb,Ub=Q(()=>{"use strict";Gb={cullArea:null,cullable:!1,cullableChildren:!0}});var Lb,Nb,Hb,$m=Q(()=>{"use strict";Lb=Math.PI*2,Nb=180/Math.PI,Hb=Math.PI/180});var re,ey,hr=Q(()=>{"use strict";re=class i{constructor(e=0,t=0){this.x=0,this.y=0,this.x=e,this.y=t}clone(){return new i(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 ey.x=0,ey.y=0,ey}},ey=new re});var ie,mX,yX,Je=Q(()=>{$m();hr();ie=class i{constructor(e=1,t=0,r=0,n=1,s=0,o=0){this.array=null,this.a=e,this.b=t,this.c=r,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,r,n,s,o){return this.a=e,this.b=t,this.c=r,this.d=n,this.tx=s,this.ty=o,this}toArray(e,t){this.array||(this.array=new Float32Array(9));let r=t||this.array;return e?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r}apply(e,t){t=t||new re;let r=e.x,n=e.y;return t.x=this.a*r+this.c*n+this.tx,t.y=this.b*r+this.d*n+this.ty,t}applyInverse(e,t){t=t||new re;let r=this.a,n=this.b,s=this.c,o=this.d,a=this.tx,u=this.ty,c=1/(r*o+s*-n),l=e.x,A=e.y;return t.x=o*c*l+-s*c*A+(u*s-a*o)*c,t.y=r*c*A+-n*c*l+(-u*r+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),r=Math.sin(e),n=this.a,s=this.c,o=this.tx;return this.a=n*t-this.b*r,this.b=n*r+this.b*t,this.c=s*t-this.d*r,this.d=s*r+this.d*t,this.tx=o*t-this.ty*r,this.ty=o*r+this.ty*t,this}append(e){let t=this.a,r=this.b,n=this.c,s=this.d;return this.a=e.a*t+e.b*n,this.b=e.a*r+e.b*s,this.c=e.c*t+e.d*n,this.d=e.c*r+e.d*s,this.tx=e.tx*t+e.ty*n+this.tx,this.ty=e.tx*r+e.ty*s+this.ty,this}appendFrom(e,t){let r=e.a,n=e.b,s=e.c,o=e.d,a=e.tx,u=e.ty,c=t.a,l=t.b,A=t.c,h=t.d;return this.a=r*c+n*A,this.b=r*l+n*h,this.c=s*c+o*A,this.d=s*l+o*h,this.tx=a*c+u*A+t.tx,this.ty=a*l+u*h+t.ty,this}setTransform(e,t,r,n,s,o,a,u,c){return this.a=Math.cos(a+c)*s,this.b=Math.sin(a+c)*s,this.c=-Math.sin(a-u)*o,this.d=Math.cos(a-u)*o,this.tx=e-(r*this.a+n*this.c),this.ty=t-(r*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 r=this.a,n=this.c;this.a=r*e.a+this.b*e.c,this.b=r*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,r=this.b,n=this.c,s=this.d,o=e.pivot,a=-Math.atan2(-n,s),u=Math.atan2(r,t),c=Math.abs(a+u);return c<1e-5||Math.abs(Lb-c)<1e-5?(e.rotation=u,e.skew.x=e.skew.y=0):(e.rotation=0,e.skew.x=a,e.skew.y=u),e.scale.x=Math.sqrt(t*t+r*r),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*r+o.y*s),e}invert(){let e=this.a,t=this.b,r=this.c,n=this.d,s=this.tx,o=e*n-t*r;return this.a=n/o,this.b=-t/o,this.c=-r/o,this.d=e/o,this.tx=(r*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 i;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 yX.identity()}static get shared(){return mX.identity()}},mX=new ie,yX=new ie});var Ke,bn=Q(()=>{"use strict";Ke=class i{constructor(e,t,r){this._x=t||0,this._y=r||0,this._observer=e}clone(e){return new i(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 ke(i="default"){return ty[i]===void 0&&(ty[i]=-1),++ty[i]}var ty,Zt=Q(()=>{"use strict";ty={default:-1}});function se(i,e,t=3){if(qb[e])return;let r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",`${e}
|
|
4
|
+
Deprecated since v${i}`):(r=r.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${i}`),console.warn(r),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${e}
|
|
8
|
+
Deprecated since v${i}`),console.warn(r))),qb[e]=!0}var qb,de,Wb,st=Q(()=>{"use strict";qb={},de="8.0.0",Wb="8.3.4"});var ns,ry=Q(()=>{"use strict";ns=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 Df,Be,Br=Q(()=>{ry();Df=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 ns(e)),this._poolsByClass.get(e)}stats(){let e={};return this._poolsByClass.forEach(t=>{let r=e[t._classType.name]?t._classType.name+t._classType.ID:t._classType.name;e[r]={free:t.totalFree,used:t.totalUsed,size:t.totalSize}}),e}},Be=new Df});var jb,Yb=Q(()=>{st();jb={get isCachedAsTexture(){return!!this.renderGroup?.isCachedAsTexture},cacheAsTexture(i){typeof i=="boolean"&&i===!1?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(i===!0?{}:i))},updateCacheTexture(){this.renderGroup?.updateCacheTexture()},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(i){se("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(i)}}});function Ff(i,e,t){let r=i.length,n;if(e>=r||t===0)return;t=e+t>r?r-e:t;let s=r-t;for(n=e;n<s;++n)i[n]=i[n+t];i.length=s}var iy=Q(()=>{"use strict"});var Kb,Vb=Q(()=>{iy();st();Kb={allowChildren:!0,removeChildren(i=0,e){let t=e??this.children.length,r=t-i,n=[];if(r>0&&r<=t){for(let o=t-1;o>=i;o--){let a=this.children[o];a&&(n.push(a),a.parent=null)}Ff(this.children,i,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(r===0&&this.children.length===0)return n;throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(i){let e=this.getChildAt(i);return this.removeChild(e)},getChildAt(i){if(i<0||i>=this.children.length)throw new Error(`getChildAt: Index (${i}) does not exist.`);return this.children[i]},setChildIndex(i,e){if(e<0||e>=this.children.length)throw new Error(`The index ${e} supplied is out of bounds ${this.children.length}`);this.getChildIndex(i),this.addChildAt(i,e)},getChildIndex(i){let e=this.children.indexOf(i);if(e===-1)throw new Error("The supplied Container must be a child of the caller");return e},addChildAt(i,e){this.allowChildren||se(de,"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(`${i}addChildAt: The index ${e} supplied is out of bounds ${t.length}`);if(i.parent){let n=i.parent.children.indexOf(i);if(i.parent===this&&n===e)return i;n!==-1&&i.parent.children.splice(n,1)}e===t.length?t.push(i):t.splice(e,0,i),i.parent=this,i.didChange=!0,i._updateFlags=15;let r=this.renderGroup||this.parentRenderGroup;return r&&r.addChild(i),this.sortableChildren&&(this.sortDirty=!0),this.emit("childAdded",i,this,e),i.emit("added",this),i},swapChildren(i,e){if(i===e)return;let t=this.getChildIndex(i),r=this.getChildIndex(e);this.children[t]=e,this.children[r]=i;let n=this.renderGroup||this.parentRenderGroup;n&&(n.structureDidChange=!0),this._didContainerChangeTick++},removeFromParent(){this.parent?.removeChild(this)},reparentChild(...i){return i.length===1?this.reparentChildAt(i[0],this.children.length):(i.forEach(e=>this.reparentChildAt(e,this.children.length)),i[0])},reparentChildAt(i,e){if(i.parent===this)return this.setChildIndex(i,e),i;let t=i.worldTransform.clone();i.removeFromParent(),this.addChildAt(i,e);let r=this.worldTransform.clone();return r.invert(),t.prepend(r),i.setFromMatrix(t),i}}});var Xb,zb=Q(()=>{"use strict";Xb={collectRenderables(i,e,t){this.parentRenderLayer&&this.parentRenderLayer!==t||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(i,e,t):this.renderGroup?e.renderPipes.renderGroup.addRenderGroup(this.renderGroup,i):this.collectRenderablesWithEffects(i,e,t))},collectRenderablesSimple(i,e,t){let r=this.children,n=r.length;for(let s=0;s<n;s++)r[s].collectRenderables(i,e,t)},collectRenderablesWithEffects(i,e,t){let{renderPipes:r}=e;for(let n=0;n<this.effects.length;n++){let s=this.effects[n];r[s.pipe].push(s,this,i)}this.collectRenderablesSimple(i,e,t);for(let n=this.effects.length-1;n>=0;n--){let s=this.effects[n];r[s.pipe].pop(s,this,i)}}}});var ol,Jb=Q(()=>{"use strict";ol=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 ny,Of,Zb=Q(()=>{ne();Br();ny=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 r=this._tests[t];if(r.test(e))return Be.get(r.maskClass,e)}return e}returnMaskEffect(e){Be.return(e)}},Of=new ny;le.handleByList(L.MaskEffect,Of._effectClasses)});var $b,ew=Q(()=>{Jb();Zb();$b={_maskEffect:null,_maskOptions:{inverse:!1},_filterEffect:null,effects:[],_markStructureAsChanged(){let i=this.renderGroup||this.parentRenderGroup;i&&(i.structureDidChange=!0)},addEffect(i){this.effects.indexOf(i)===-1&&(this.effects.push(i),this.effects.sort((t,r)=>t.priority-r.priority),this._markStructureAsChanged(),this._updateIsSimple())},removeEffect(i){let e=this.effects.indexOf(i);e!==-1&&(this.effects.splice(e,1),this._markStructureAsChanged(),this._updateIsSimple())},set mask(i){let e=this._maskEffect;e?.mask!==i&&(e&&(this.removeEffect(e),Of.returnMaskEffect(e),this._maskEffect=null),i!=null&&(this._maskEffect=Of.getMaskEffect(i),this.addEffect(this._maskEffect)))},setMask(i){this._maskOptions={...this._maskOptions,...i},i.mask&&(this.mask=i.mask),this._markStructureAsChanged()},get mask(){return this._maskEffect?.mask},set filters(i){!Array.isArray(i)&&i&&(i=[i]);let e=this._filterEffect||(this._filterEffect=new ol);i=i;let t=i?.length>0,r=e.filters?.length>0,n=t!==r;i=Array.isArray(i)?i.slice(0):i,e.filters=Object.freeze(i),n&&(t?this.addEffect(e):(this.removeEffect(e),e.filters=i??null))},get filters(){return this._filterEffect?.filters},set filterArea(i){this._filterEffect||(this._filterEffect=new ol),this._filterEffect.filterArea=i},get filterArea(){return this._filterEffect?.filterArea}}});var tw,rw=Q(()=>{st();tw={label:null,get name(){return se(de,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){se(de,"Container.name property has been removed, use Container.label instead"),this.label=i},getChildByName(i,e=!1){return this.getChildByLabel(i,e)},getChildByLabel(i,e=!1){let t=this.children;for(let r=0;r<t.length;r++){let n=t[r];if(n.label===i||i instanceof RegExp&&i.test(n.label))return n}if(e)for(let r=0;r<t.length;r++){let s=t[r].getChildByLabel(i,!0);if(s)return s}return null},getChildrenByLabel(i,e=!1,t=[]){let r=this.children;for(let n=0;n<r.length;n++){let s=r[n];(s.label===i||i instanceof RegExp&&i.test(s.label))&&t.push(s)}if(e)for(let n=0;n<r.length;n++)r[n].getChildrenByLabel(i,!0,t);return t}}});var Rf,pe,$t=Q(()=>{hr();Rf=[new re,new re,new re,new re],pe=class i{constructor(e=0,t=0,r=0,n=0){this.type="rectangle",this.x=Number(e),this.y=Number(t),this.width=Number(r),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 i(0,0,0,0)}clone(){return new i(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,r,n=.5){let{width:s,height:o}=this;if(s<=0||o<=0)return!1;let a=this.x,u=this.y,c=r*(1-n),l=r-c,A=a-c,h=a+s+c,f=u-c,d=u+o+c,y=a+l,g=a+s-l,E=u+l,_=u+o-l;return e>=A&&e<=h&&t>=f&&t<=d&&!(e>y&&e<g&&t>E&&t<_)}intersects(e,t){if(!t){let q=this.x<e.x?e.x:this.x;if((this.right>e.right?e.right:this.right)<=q)return!1;let K=this.y<e.y?e.y:this.y;return(this.bottom>e.bottom?e.bottom:this.bottom)>K}let r=this.left,n=this.right,s=this.top,o=this.bottom;if(n<=r||o<=s)return!1;let a=Rf[0].set(e.left,e.top),u=Rf[1].set(e.left,e.bottom),c=Rf[2].set(e.right,e.top),l=Rf[3].set(e.right,e.bottom);if(c.x<=a.x||u.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(u,u),t.apply(c,c),t.apply(l,l),Math.max(a.x,u.x,c.x,l.x)<=r||Math.min(a.x,u.x,c.x,l.x)>=n||Math.max(a.y,u.y,c.y,l.y)<=s||Math.min(a.y,u.y,c.y,l.y)>=o))return!1;let h=A*(u.y-a.y),f=A*(a.x-u.x),d=h*r+f*s,y=h*n+f*s,g=h*r+f*o,E=h*n+f*o;if(Math.max(d,y,g,E)<=h*a.x+f*a.y||Math.min(d,y,g,E)>=h*l.x+f*l.y)return!1;let _=A*(a.y-c.y),x=A*(c.x-a.x),I=_*r+x*s,P=_*n+x*s,F=_*r+x*o,G=_*n+x*o;return!(Math.max(I,P,F,G)<=_*a.x+x*a.y||Math.min(I,P,F,G)>=_*l.x+x*l.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),r=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(r-t,0),this.y=n,this.height=Math.max(s-n,0),this}ceil(e=1,t=.001){let r=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=r-this.x,this.height=n-this.y,this}enlarge(e){let t=Math.min(this.x,e.x),r=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=r-t,this.y=n,this.height=s-n,this}getBounds(e){return e||(e=new i),e.copyFrom(this),e}containsRect(e){if(this.width<=0||this.height<=0)return!1;let t=e.x,r=e.y,n=e.x+e.width,s=e.y+e.height;return t>=this.x&&t<this.x+this.width&&r>=this.y&&r<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 iw,We,Fr=Q(()=>{Je();$t();iw=new ie,We=class i{constructor(e=1/0,t=1/0,r=-1/0,n=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=iw,this.minX=e,this.minY=t,this.maxX=r,this.maxY=n}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new pe);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=iw,this}set(e,t,r,n){this.minX=e,this.minY=t,this.maxX=r,this.maxY=n}addFrame(e,t,r,n,s){s||(s=this.matrix);let o=s.a,a=s.b,u=s.c,c=s.d,l=s.tx,A=s.ty,h=this.minX,f=this.minY,d=this.maxX,y=this.maxY,g=o*e+u*t+l,E=a*e+c*t+A;g<h&&(h=g),E<f&&(f=E),g>d&&(d=g),E>y&&(y=E),g=o*r+u*t+l,E=a*r+c*t+A,g<h&&(h=g),E<f&&(f=E),g>d&&(d=g),E>y&&(y=E),g=o*e+u*n+l,E=a*e+c*n+A,g<h&&(h=g),E<f&&(f=E),g>d&&(d=g),E>y&&(y=E),g=o*r+u*n+l,E=a*r+c*n+A,g<h&&(h=g),E<f&&(f=E),g>d&&(d=g),E>y&&(y=E),this.minX=h,this.minY=f,this.maxX=d,this.maxY=y}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,r=this.minY,n=this.maxX,s=this.maxY,{a:o,b:a,c:u,d:c,tx:l,ty:A}=e,h=o*t+u*r+l,f=a*t+c*r+A;this.minX=h,this.minY=f,this.maxX=h,this.maxY=f,h=o*n+u*r+l,f=a*n+c*r+A,this.minX=h<this.minX?h:this.minX,this.minY=f<this.minY?f:this.minY,this.maxX=h>this.maxX?h:this.maxX,this.maxY=f>this.maxY?f:this.maxY,h=o*t+u*s+l,f=a*t+c*s+A,this.minX=h<this.minX?h:this.minX,this.minY=f<this.minY?f:this.minY,this.maxX=h>this.maxX?h:this.maxX,this.maxY=f>this.maxY?f:this.maxY,h=o*n+u*s+l,f=a*n+c*s+A,this.minX=h<this.minX?h:this.minX,this.minY=f<this.minY?f:this.minY,this.maxX=h>this.maxX?h:this.maxX,this.maxY=f>this.maxY?f: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,r,n){return this.minX<e&&(this.minX=e),this.maxX>t&&(this.maxX=t),this.minY<r&&(this.minY=r),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 i(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,r,n){let s=this.minX,o=this.minY,a=this.maxX,u=this.maxY;n||(n=this.matrix);let c=n.a,l=n.b,A=n.c,h=n.d,f=n.tx,d=n.ty;for(let y=t;y<r;y+=2){let g=e[y],E=e[y+1],_=c*g+A*E+f,x=l*g+h*E+d;s=_<s?_:s,o=x<o?x:o,a=_>a?_:a,u=x>u?x:u}this.minX=s,this.minY=o,this.maxX=a,this.maxY=u}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 wt,vr,ss=Q(()=>{Je();ry();Fr();wt=new ns(ie),vr=new ns(We)});var IX,nw,sw=Q(()=>{Je();Fr();ss();IX=new ie,nw={getFastGlobalBounds(i,e){e||(e=new We),e.clear(),this._getGlobalBoundsRecursive(!!i,e,this.parentRenderLayer),e.isValid||e.set(0,0,0,0);let t=this.renderGroup||this.parentRenderGroup;return e.applyMatrix(t.worldTransform),e},_getGlobalBoundsRecursive(i,e,t){let r=e;if(i&&this.parentRenderLayer&&this.parentRenderLayer!==t||this.localDisplayStatus!==7||!this.measurable)return;let n=!!this.effects.length;if((this.renderGroup||n)&&(r=vr.get().clear()),this.boundsArea)e.addRect(this.boundsArea,this.worldTransform);else{if(this.renderPipeId){let o=this.bounds;r.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(i,r,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,r.applyMatrix(o.worldTransform)),this.effects[a].addBounds(r,!0));s&&(r.applyMatrix(o.worldTransform.copyTo(IX).invert()),e.addBounds(r,this.relativeGroupTransform)),e.addBounds(r),vr.return(r)}else this.renderGroup&&(e.addBounds(r,this.relativeGroupTransform),vr.return(r))}}});function kf(i,e,t){t.clear();let r,n;return i.parent?e?r=i.parent.worldTransform:(n=wt.get().identity(),r=Gf(i,n)):r=ie.IDENTITY,ow(i,t,r,e),n&&wt.return(n),t.isValid||t.set(0,0,0,0),t}function ow(i,e,t,r){if(!i.visible||!i.measurable)return;let n;r?n=i.worldTransform:(i.updateLocalTransform(),n=wt.get(),n.appendFrom(i.localTransform,t));let s=e,o=!!i.effects.length;if(o&&(e=vr.get().clear()),i.boundsArea)e.addRect(i.boundsArea,n);else{i.bounds&&(e.matrix=n,e.addBounds(i.bounds));for(let a=0;a<i.children.length;a++)ow(i.children[a],e,n,r)}if(o){for(let a=0;a<i.effects.length;a++)i.effects[a].addBounds?.(e);s.addBounds(e,ie.IDENTITY),vr.return(e)}r||wt.return(n)}function Gf(i,e){let t=i.parent;return t&&(Gf(t,e),t.updateLocalTransform(),e.append(t.localTransform)),e}var Uf=Q(()=>{Je();ss()});function Lf(i,e){if(i===16777215||!e)return e;if(e===16777215||!i)return i;let t=i>>16&255,r=i>>8&255,n=i&255,s=e>>16&255,o=e>>8&255,a=e&255,u=t*s/255|0,c=r*o/255|0,l=n*a/255|0;return(u<<16)+(c<<8)+l}var sy=Q(()=>{"use strict"});function oy(i,e){return i===aw?e:e===aw?i:Lf(i,e)}var aw,lw=Q(()=>{sy();aw=16777215});function al(i){return((i&255)<<16)+(i&65280)+(i>>16&255)}var uw,cw=Q(()=>{Uf();ss();lw();uw={getGlobalAlpha(i){if(i)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(i,e){if(e)return i.copyFrom(this.worldTransform);this.updateLocalTransform();let t=Gf(this,wt.get().identity());return i.appendFrom(this.localTransform,t),wt.return(t),i},getGlobalTint(i){if(i)return this.renderGroup?al(this.renderGroup.worldColor):this.parentRenderGroup?al(oy(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let e=this.localColor,t=this.parent;for(;t;)e=oy(e,t.localColor),t=t.parent;return al(e)}}});function fe(...i){ay!==Aw&&(ay++,ay===Aw?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...i))}var ay,Aw,xt=Q(()=>{"use strict";ay=0,Aw=500});function Nf(i,e,t){return e.clear(),t||(t=ie.IDENTITY),hw(i,e,t,i,!0),e.isValid||e.set(0,0,0,0),e}function hw(i,e,t,r,n){let s;if(n)s=wt.get(),s=t.copyTo(s);else{if(!i.visible||!i.measurable)return;i.updateLocalTransform();let u=i.localTransform;s=wt.get(),s.appendFrom(u,t)}let o=e,a=!!i.effects.length;if(a&&(e=vr.get().clear()),i.boundsArea)e.addRect(i.boundsArea,s);else{i.renderPipeId&&(e.matrix=s,e.addBounds(i.bounds));let u=i.children;for(let c=0;c<u.length;c++)hw(u[c],e,s,r,!1)}if(a){for(let u=0;u<i.effects.length;u++)i.effects[u].addLocalBounds?.(e,r);o.addBounds(e,ie.IDENTITY),vr.return(e)}wt.return(s)}var ly=Q(()=>{Je();ss()});function uy(i,e){let t=i.children;for(let r=0;r<t.length;r++){let n=t[r],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&&uy(n,e)}return e.didChange}var fw=Q(()=>{"use strict"});var EX,dw,pw=Q(()=>{Je();Fr();Uf();ly();fw();EX=new ie,dw={_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(i,e){let t=Math.sign(this.scale.x)||1;e!==0?this.scale.x=i/e*t:this.scale.x=t},_setHeight(i,e){let t=Math.sign(this.scale.y)||1;e!==0?this.scale.y=i/e*t:this.scale.y=t},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:!1,localBounds:new We});let i=this._localBoundsCacheData;return i.index=1,i.didChange=!1,i.data[0]!==this._didViewChangeTick&&(i.didChange=!0,i.data[0]=this._didViewChangeTick),uy(this,i),i.didChange&&Nf(this,i.localBounds,EX),i.localBounds},getBounds(i,e){return kf(this,i,e||new We)}}});var gw,mw=Q(()=>{"use strict";gw={_onRender:null,set onRender(i){let e=this.renderGroup||this.parentRenderGroup;if(!i){this._onRender&&e?.removeOnRender(this),this._onRender=null;return}this._onRender||e?.addOnRender(this),this._onRender=i},get onRender(){return this._onRender}}});function xX(i,e){return i._zIndex-e._zIndex}var yw,Iw=Q(()=>{"use strict";yw={_zIndex:0,sortDirty:!1,sortableChildren:!1,get zIndex(){return this._zIndex},set zIndex(i){this._zIndex!==i&&(this._zIndex=i,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(xX))}}});var Ew,xw=Q(()=>{hr();ss();Ew={getGlobalPosition(i=new re,e=!1){return this.parent?this.parent.toGlobal(this._position,i,e):(i.x=this._position.x,i.y=this._position.y),i},toGlobal(i,e,t=!1){let r=this.getGlobalTransform(wt.get(),t);return e=r.apply(i,e),wt.return(r),e},toLocal(i,e,t,r){e&&(i=e.toGlobal(i,t,r));let n=this.getGlobalTransform(wt.get(),r);return t=n.applyInverse(i,t),wt.return(n),t}}});var Do,cy=Q(()=>{Zt();Do=class{constructor(){this.uid=ke("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 Ui(i){return i+=i===0?1:0,--i,i|=i>>>1,i|=i>>>2,i|=i>>>4,i|=i>>>8,i|=i>>>16,i+1}function Ay(i){return!(i&i-1)&&!!i}var ll=Q(()=>{"use strict"});function Hf(i){let e={};for(let t in i)i[t]!==void 0&&(e[t]=i[t]);return e}var hy=Q(()=>{"use strict"});function _X(i){let e=_w[i];return e===void 0&&(_w[i]=ke("resource")),e}var _w,Bw,qf,fy=Q(()=>{_r();Zt();st();_w=Object.create(null);Bw=class vw extends At{constructor(e={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,e={...vw.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){se(de,"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=_X(e),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};Bw.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};qf=Bw});var Cw,Qt,Li=Q(()=>{_r();ll();hy();Zt();fy();Cw=class bw extends At{constructor(e={}){super(),this.options=e,this.uid=ke("textureSource"),this._resourceType="textureSource",this._resourceId=ke("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={...bw.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 qf(Hf(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=ke("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,r){r||(r=this._resolution),e||(e=this.width),t||(t=this.height);let n=Math.round(e*r),s=Math.round(t*r);return this.width=n/r,this.height=s/r,this._resolution=r,this.pixelWidth===n&&this.pixelHeight===s?!1:(this._refreshPOT(),this.pixelWidth=n,this.pixelHeight=s,this.emit("resize",this),this._resourceId=ke("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=Ay(this.pixelWidth)&&Ay(this.pixelHeight)}static test(e){throw new Error("Unimplemented")}};Cw.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};Qt=Cw});function BX(){for(let i=0;i<16;i++){let e=[];dy.push(e);for(let t=0;t<16;t++){let r=Wf(os[i]*os[t]+ls[i]*as[t]),n=Wf(as[i]*os[t]+us[i]*as[t]),s=Wf(os[i]*ls[t]+ls[i]*us[t]),o=Wf(as[i]*ls[t]+us[i]*us[t]);for(let a=0;a<16;a++)if(os[a]===r&&as[a]===n&&ls[a]===s&&us[a]===o){e.push(a);break}}}for(let i=0;i<16;i++){let e=new ie;e.set(os[i],as[i],ls[i],us[i],0,0),ww.push(e)}}var os,as,ls,us,dy,ww,Wf,Ee,py=Q(()=>{Je();os=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],as=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],ls=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],us=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],dy=[],ww=[],Wf=Math.sign;BX();Ee={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:i=>os[i],uY:i=>as[i],vX:i=>ls[i],vY:i=>us[i],inv:i=>i&8?i&15:-i&7,add:(i,e)=>dy[i][e],sub:(i,e)=>dy[i][Ee.inv(e)],rotate180:i=>i^4,isVertical:i=>(i&3)===2,byDirection:(i,e)=>Math.abs(i)*2<=Math.abs(e)?e>=0?Ee.S:Ee.N:Math.abs(e)*2<=Math.abs(i)?i>0?Ee.E:Ee.W:e>0?i>0?Ee.SE:Ee.SW:i>0?Ee.NE:Ee.NW,matrixAppendRotationInv:(i,e,t=0,r=0)=>{let n=ww[Ee.inv(e)];n.tx=t,n.ty=r,i.append(n)}}});var Fo,gy=Q(()=>{"use strict";Fo=()=>{}});var cs,my=Q(()=>{ne();Li();cs=class extends Qt{constructor(e){let t=e.resource||new Float32Array(e.width*e.height*4),r=e.format;r||(t instanceof Float32Array?r="rgba32float":t instanceof Int32Array||t instanceof Uint32Array?r="rgba32uint":t instanceof Int16Array||t instanceof Uint16Array?r="rgba16uint":(t instanceof Int8Array,r="bgra8unorm")),super({...e,resource:t,format:r}),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}};cs.extension=L.TextureSource});var Qw,jf,Sw=Q(()=>{Je();Qw=new ie,jf=class{constructor(e,t){this.mapCoord=new ie,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 r=this.mapCoord;for(let n=0;n<e.length;n+=2){let s=e[n],o=e[n+1];t[n]=s*r.a+o*r.c+r.tx,t[n+1]=s*r.b+o*r.d+r.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 r=e.orig,n=e.trim;n&&(Qw.set(r.width/n.width,0,0,r.height/n.height,-n.x/n.width,-n.y/n.height),this.mapCoord.append(Qw));let s=e.source,o=this.uClampFrame,a=this.clampMargin/s._resolution,u=this.clampOffset/s._resolution;return o[0]=(e.frame.x+a+u)/s.width,o[1]=(e.frame.y+a+u)/s.height,o[2]=(e.frame.x+e.frame.width-a+u)/s.width,o[3]=(e.frame.y+e.frame.height-a+u)/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 V,ot=Q(()=>{_r();py();$t();Zt();st();gy();my();Li();Sw();V=class extends At{constructor({source:e,label:t,frame:r,orig:n,trim:s,defaultAnchor:o,defaultBorders:a,rotate:u,dynamic:c}={}){if(super(),this.uid=ke("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new pe,this.noFrame=!1,this.dynamic=!1,this.isTexture=!0,this.label=t,this.source=e?.source??new Qt,this.noFrame=!r,r)this.frame.copyFrom(r);else{let{width:l,height:A}=this._source;this.frame.width=l,this.frame.height=A}this.orig=n||this.frame,this.trim=s,this.rotate=u??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 jf(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:e,frame:t}=this,{width:r,height:n}=this._source,s=t.x/r,o=t.y/n,a=t.width/r,u=t.height/n,c=this.rotate;if(c){let l=a/2,A=u/2,h=s+l,f=o+A;c=Ee.add(c,Ee.NW),e.x0=h+l*Ee.uX(c),e.y0=f+A*Ee.uY(c),c=Ee.add(c,2),e.x1=h+l*Ee.uX(c),e.y1=f+A*Ee.uY(c),c=Ee.add(c,2),e.x2=h+l*Ee.uX(c),e.y2=f+A*Ee.uY(c),c=Ee.add(c,2),e.x3=h+l*Ee.uX(c),e.y3=f+A*Ee.uY(c)}else e.x0=s,e.y0=o,e.x1=s+a,e.y1=o,e.x2=s+a,e.y2=o+u,e.x3=s,e.y3=o+u}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 se(de,"Texture.baseTexture is now Texture.source"),this._source}};V.EMPTY=new V({label:"EMPTY",source:new Qt({label:"EMPTY"})});V.EMPTY.destroy=Fo;V.WHITE=new V({source:new cs({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});V.WHITE.destroy=Fo});var vX,yy,mt,wn=Q(()=>{ll();Li();ot();vX=0,yy=class{constructor(e){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=e||{},this.enableFullScreen=!1}createTexture(e,t,r){let n=new Qt({...this.textureOptions,width:e,height:t,resolution:1,antialias:r,autoGarbageCollect:!1});return new V({source:n,label:`texturePool_${vX++}`})}getOptimalTexture(e,t,r=1,n){let s=Math.ceil(e*r-1e-6),o=Math.ceil(t*r-1e-6);s=Ui(s),o=Ui(o);let a=(s<<17)+(o<<1)+(n?1:0);this._texturePool[a]||(this._texturePool[a]=[]);let u=this._texturePool[a].pop();return u||(u=this.createTexture(s,o,n)),u.source._resolution=r,u.source.width=s/r,u.source.height=o/r,u.source.pixelWidth=s,u.source.pixelHeight=o,u.frame.x=0,u.frame.y=0,u.frame.width=e,u.frame.height=t,u.updateUvs(),this._poolKeyHash[u.uid]=a,u}getSameSizeTexture(e,t=!1){let r=e.source;return this.getOptimalTexture(e.width,e.height,r._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 r=this._texturePool[t];if(r)for(let n=0;n<r.length;n++)r[n].destroy(!0)}this._texturePool={}}},mt=new yy});var Yf,Mw=Q(()=>{Je();cy();wn();Yf=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=!1,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new ie,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 Do,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 r=0;r<t.length;r++){let n=t[r];n._updateFlags=15,this.addChild(n)}}enableCacheAsTexture(e={}){this.textureOptions=e,this.isCachedAsTexture=!0,this.textureNeedsUpdate=!0}disableCacheAsTexture(){this.isCachedAsTexture=!1,this.texture&&(mt.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 r=0;r<t.length;r++)this.addChild(t[r])}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 r=0;r<t.length;r++)this.removeChild(t[r])}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 r=0;r<t.length;r++)this._getChildren(t[r],e);return e}_getChildren(e,t=[]){if(t.push(e),e.renderGroup)return t;let r=e.children;for(let n=0;n<r.length;n++)this._getChildren(r[n],t);return t}invalidateMatrices(){this._matrixDirty=7}get inverseWorldTransform(){return this._matrixDirty&1?(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new ie),this._inverseWorldTransform.copyFrom(this.worldTransform).invert()):this._inverseWorldTransform}get textureOffsetInverseTransform(){return this._matrixDirty&2?(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new ie),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 ie),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 Tw(i,e,t={}){for(let r in e)!t[r]&&e[r]!==void 0&&(i[r]=e[r])}var Pw=Q(()=>{"use strict"});var Iy,Ey,xy,_y,Dw,Kf,Ue,Oo=Q(()=>{_r();Ar();Ub();ne();Je();$m();bn();Zt();st();Br();Yb();Vb();zb();ew();rw();sw();cw();pw();mw();Iw();xw();Mw();Pw();Iy=new Ke(null),Ey=new Ke(null),xy=new Ke(null,1,1),_y=1,Dw=2,Kf=4,Ue=class i extends At{constructor(e={}){super(),this.uid=ke("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 ie,this.relativeGroupTransform=new ie,this.groupTransform=this.relativeGroupTransform,this.destroyed=!1,this._position=new Ke(this,0,0),this._scale=xy,this._pivot=Ey,this._skew=Iy,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=[],Tw(this,e,{children:!0,parent:!0,effects:!0}),e.children?.forEach(t=>this.addChild(t)),e.parent?.addChild(this)}static mixin(e){se("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),le.mixin(i,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||se(de,"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],r=this.renderGroup||this.parentRenderGroup;return t.parent===this?(this.children.splice(this.children.indexOf(t),1),this.children.push(t),r&&(r.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,r&&r.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],r=this.children.indexOf(t);return r>-1&&(this._didViewChangeTick++,this.children.splice(r,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,r),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=Be.get(Yf,this),this.groupTransform=ie.IDENTITY,e?.addChild(this),this._updateIsSimple()}disableRenderGroup(){if(!this.renderGroup)return;let e=this.parentRenderGroup;e?.removeChild(this),Be.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 ie),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*Nb}set angle(e){this.rotation=e*Hb}get pivot(){return this._pivot===Ey&&(this._pivot=new Ke(this,0,0)),this._pivot}set pivot(e){this._pivot===Ey&&(this._pivot=new Ke(this,0,0)),typeof e=="number"?this._pivot.set(e):this._pivot.copyFrom(e)}get skew(){return this._skew===Iy&&(this._skew=new Ke(this,0,0)),this._skew}set skew(e){this._skew===Iy&&(this._skew=new Ke(this,0,0)),this._skew.copyFrom(e)}get scale(){return this._scale===xy&&(this._scale=new Ke(this,1,1)),this._scale}set scale(e){this._scale===xy&&(this._scale=new Ke(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 r=this.getLocalBounds();typeof e=="object"?(t=e.height??e.width,e=e.width):t??(t=e),e!==void 0&&this._setWidth(e,r.width),t!==void 0&&this._setHeight(t,r.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,r=this._scale,n=this._pivot,s=this._position,o=r._x,a=r._y,u=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-(u*t.a+c*t.c),t.ty=s._y-(u*t.b+c*t.d)}set alpha(e){e!==this.localAlpha&&(this.localAlpha=e,this._updateFlags|=_y,this._onUpdate())}get alpha(){return this.localAlpha}set tint(e){let r=De.shared.setValue(e??16777215).toBgrNumber();r!==this.localColor&&(this.localColor=r,this._updateFlags|=_y,this._onUpdate())}get tint(){return al(this.localColor)}set blendMode(e){this.localBlendMode!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=Dw,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|=Kf,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|=Kf,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|=Kf,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}};le.mixin(Ue,Kb,nw,Ew,gw,dw,$b,tw,yw,Gb,jb,uw,Xb)});var Qn,Vf=Q(()=>{hr();Qn=class i{constructor(e){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=i.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new re,this.page=new re,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,r){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(e,t,r,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 CX(i){return function(e){return e.test(i)}}function ul(i){var e={userAgent:"",platform:"",maxTouchPoints:0};!i&&typeof navigator<"u"?e={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof i=="string"?e.userAgent=i:i&&i.userAgent&&(e={userAgent:i.userAgent,platform:i.platform,maxTouchPoints:i.maxTouchPoints||0});var t=e.userAgent,r=t.split("[FBAN");typeof r[1]<"u"&&(t=r[0]),r=t.split("Twitter"),typeof r[1]<"u"&&(t=r[0]);var n=CX(t),s={apple:{phone:n(By)&&!n(Ni),ipod:n(Fw),tablet:!n(By)&&(n(Ow)||Ww(e))&&!n(Ni),universal:n(Rw),device:(n(By)||n(Fw)||n(Ow)||n(Rw)||Ww(e))&&!n(Ni)},amazon:{phone:n(Ro),tablet:!n(Ro)&&n(Xf),device:n(Ro)||n(Xf)},android:{phone:!n(Ni)&&n(Ro)||!n(Ni)&&n(vy),tablet:!n(Ni)&&!n(Ro)&&!n(vy)&&(n(Xf)||n(kw)),device:!n(Ni)&&(n(Ro)||n(Xf)||n(vy)||n(kw))||n(/\bokhttp\b/i)},windows:{phone:n(Ni),tablet:n(Gw),device:n(Ni)||n(Gw)},other:{blackberry:n(Uw),blackberry10:n(Lw),opera:n(Nw),firefox:n(qw),chrome:n(Hw),device:n(Uw)||n(Lw)||n(Nw)||n(qw)||n(Hw)},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 By,Fw,Ow,Rw,vy,kw,Ro,Xf,Ni,Gw,Uw,Lw,Nw,Hw,qw,Ww,Cy=Q(()=>{By=/iPhone/i,Fw=/iPod/i,Ow=/iPad/i,Rw=/\biOS-universal(?:.+)Mac\b/i,vy=/\bAndroid(?:.+)Mobile\b/i,kw=/Android/i,Ro=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,Xf=/Silk/i,Ni=/Windows Phone/i,Gw=/\bWindows(?:.+)ARM\b/i,Uw=/BlackBerry/i,Lw=/BB10/i,Nw=/Opera Mini/i,Hw=/\b(CriOS|Chrome)(?:.+)Mobile/i,qw=/Mobile(?:.+)Firefox\b/i,Ww=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"}});var jw=Q(()=>{Cy();Cy()});var bX,Yw,Kw=Q(()=>{jw();bX=ul.default??ul,Yw=bX(globalThis.navigator)});var wX,zf,QX,SX,Vw,Xw,MX,TX,PX,by,Jw,Zw=Q(()=>{Vf();ne();Kw();iy();wX=9,zf=100,QX=0,SX=0,Vw=2,Xw=1,MX=-1e3,TX=-1e3,PX=2,by=class zw{constructor(e,t=Yw){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=`${Xw}px`,e.style.height=`${Xw}px`,e.style.position="absolute",e.style.top=`${MX}px`,e.style.left=`${TX}px`,e.style.zIndex=PX.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=`${zf}px`,this._div.style.height=`${zf}px`,this._div.style.position="absolute",this._div.style.top=`${QX}px`,this._div.style.left=`${SX}px`,this._div.style.zIndex=Vw.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 r=0;r<t.length;r++)this._updateAccessibleObjects(t[r])}init(e){let r={accessibilityOptions:{...zw.defaultOptions,...e?.accessibilityOptions||{}}};this.debug=r.accessibilityOptions.debug,this._activateOnTab=r.accessibilityOptions.activateOnTab,this._deactivateOnMouseMove=r.accessibilityOptions.deactivateOnMouseMove,r.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 r of this._children)r._renderId===this._renderId&&t.add(this._children.indexOf(r))}for(let r=this._children.length-1;r>=0;r--){let n=this._children[r];t.has(r)||(n._accessibleDiv&&n._accessibleDiv.parentNode&&(n._accessibleDiv.parentNode.removeChild(n._accessibleDiv),this._pool.push(n._accessibleDiv),n._accessibleDiv=null),n._accessibleActive=!1,Ff(this._children,r,1))}if(this._renderer.renderingToScreen){let{x:r,y:n,width:s,height:o}=this._renderer.screen,a=this._div;a.style.left=`${r}px`,a.style.top=`${n}px`,a.style.width=`${s}px`,a.style.height=`${o}px`}for(let r=0;r<this._children.length;r++){let n=this._children[r];if(!n._accessibleActive||!n._accessibleDiv)continue;let s=n._accessibleDiv,o=n.hitArea||n.getBounds().rectangle;if(n.hitArea){let a=n.worldTransform,u=this._renderer.resolution,c=this._renderer.resolution;s.style.left=`${(a.tx+o.x*a.a)*u}px`,s.style.top=`${(a.ty+o.y*a.d)*c}px`,s.style.width=`${o.width*a.a*u}px`,s.style.height=`${o.height*a.d*c}px`}else{this._capHitArea(o);let a=this._renderer.resolution,u=this._renderer.resolution;s.style.left=`${o.x*a}px`,s.style.top=`${o.y*u}px`,s.style.width=`${o.width*a}px`,s.style.height=`${o.height*u}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:r}=this._renderer;e.x+e.width>t&&(e.width=t-e.x),e.y+e.height>r&&(e.height=r-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=`${zf}px`,t.style.height=`${zf}px`,t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex=Vw.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:r}=e.target,n=this._renderer.events.rootBoundary,s=Object.assign(new Qn(n),{target:r});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!==wX||!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()}};by.extension={type:[L.WebGLSystem,L.WebGPUSystem],name:"accessibility"};by.defaultOptions={enabledByDefault:!1,debug:!1,activateOnTab:!0,deactivateOnMouseMove:!0};Jw=by});var $w,eQ=Q(()=>{"use strict";$w={accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:!0,_renderId:-1}});var tQ=Q(()=>{ne();Oo();Zw();eQ();le.add(Jw);le.mixin(Ue,$w)});var cl,rQ=Q(()=>{ne();cl=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,r;if(this._resizeTo===globalThis.window)t=globalThis.innerWidth,r=globalThis.innerHeight;else{let{clientWidth:n,clientHeight:s}=this._resizeTo;t=n,r=s}this.renderer.resize(t,r),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}};cl.extension=L.Application});var di,Al=Q(()=>{"use strict";di=(i=>(i[i.INTERACTION=50]="INTERACTION",i[i.HIGH=25]="HIGH",i[i.NORMAL=0]="NORMAL",i[i.LOW=-25]="LOW",i[i.UTILITY=-50]="UTILITY",i))(di||{})});var ko,iQ=Q(()=>{"use strict";ko=class{constructor(e,t=null,r=0,n=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=e,this._context=t,this.priority=r,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 nQ,_t,Go=Q(()=>{Al();iQ();nQ=class Cr{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 ko(null,null,1/0),this.deltaMS=1/Cr.targetFPMS,this.elapsedMS=1/Cr.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,r=di.NORMAL){return this._addListener(new ko(e,t,r))}addOnce(e,t,r=di.NORMAL){return this._addListener(new ko(e,t,r,!0))}_addListener(e){let t=this._head.next,r=this._head;if(!t)e.connect(r);else{for(;t;){if(e.priority>t.priority){e.connect(r);break}r=t,t=t.next}e.previous||e.connect(r)}return this._startIfPossible(),this}remove(e,t){let r=this._head.next;for(;r;)r.match(e,t)?r=r.destroy():r=r.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*Cr.targetFPMS;let r=this._head,n=r.next;for(;n;)n=n.emit(this);r.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),r=Math.min(Math.max(0,t)/1e3,Cr.targetFPMS);this._maxElapsedMS=1/r}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(!Cr._shared){let e=Cr._shared=new Cr;e.autoStart=!0,e._protected=!0}return Cr._shared}static get system(){if(!Cr._system){let e=Cr._system=new Cr;e.autoStart=!0,e._protected=!0}return Cr._system}};nQ.targetFPMS=.06;_t=nQ});var hl,sQ=Q(()=>{ne();Al();Go();hl=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,di.LOW)},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop()},this.start=()=>{this._ticker.start()},this._ticker=null,this.ticker=e.sharedTicker?_t.shared:new _t,e.autoStart&&this.start()}static destroy(){if(this._ticker){let e=this._ticker;this.ticker=null,e.destroy()}}};hl.extension=L.Application});var wy=Q(()=>{ne();rQ();sQ();le.add(cl);le.add(hl)});var Qy,pi,Sy=Q(()=>{Al();Go();Qy=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||(_t.system.add(this._tickerUpdate,this,di.INTERACTION),this._tickerAdded=!0)}removeTickerListener(){this._tickerAdded&&(_t.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())}},pi=new Qy});var Hi,Jf=Q(()=>{hr();Vf();Hi=class extends Qn{constructor(){super(...arguments),this.client=new re,this.movement=new re,this.offset=new re,this.global=new re,this.screen=new re}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,r){return e.worldTransform.applyInverse(r||this.global,t)}getModifierState(e){return"getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(e)}initMouseEvent(e,t,r,n,s,o,a,u,c,l,A,h,f,d,y){throw new Error("Method not implemented.")}}});var er,My=Q(()=>{Jf();er=class extends Hi{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 gi,Ty=Q(()=>{Jf();gi=class extends Hi{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2}};gi.DOM_DELTA_PIXEL=0;gi.DOM_DELTA_LINE=1;gi.DOM_DELTA_PAGE=2});var DX,FX,fl,Zf,oQ=Q(()=>{_r();hr();xt();Sy();Jf();My();Ty();DX=2048,FX=new re,fl=new re,Zf=class{constructor(e){this.dispatch=new At,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((r,n)=>r.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 r=0,n=t.length;r<n;r++)t[r].fn(e);else fe(`[EventBoundary]: Event mapping not defined for ${e.type}`)}hitTest(e,t){pi.pauseUpdate=!0;let n=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",s=this[n](this.rootTarget,this.rootTarget.eventMode,FX.set(e,t),this.hitTestFn,this.hitPruneFn);return s&&s[0]}propagate(e,t){if(!e.target)return;let r=e.composedPath();e.eventPhase=e.CAPTURING_PHASE;for(let n=0,s=r.length-1;n<s;n++)if(e.currentTarget=r[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=r.length-2;n>=0;n--)if(e.currentTarget=r[n],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,r=this._allInteractiveElements){if(r.length===0)return;e.eventPhase=e.BUBBLING_PHASE;let n=Array.isArray(t)?t:[t];for(let s=r.length-1;s>=0;s--)n.forEach(o=>{e.currentTarget=r[s],this.notifyTarget(e,o)})}propagationPath(e){let t=[e];for(let r=0;r<DX&&e!==this.rootTarget&&e.parent;r++){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,r,n,s,o=!1){let a=!1;if(this._interactivePrune(e))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(pi.pauseUpdate=!1),e.interactiveChildren&&e.children){let l=e.children;for(let A=l.length-1;A>=0;A--){let h=l[A],f=this.hitTestMoveRecursive(h,this._isInteractive(t)?t:h.eventMode,r,n,s,o||s(e,r));if(f){if(f.length>0&&!f[f.length-1].parent)continue;let d=e.isInteractive();(f.length>0||d)&&(d&&this._allInteractiveElements.push(e),f.push(e)),this._hitElements.length===0&&(this._hitElements=f),a=!0}}}let u=this._isInteractive(t),c=e.isInteractive();return c&&c&&this._allInteractiveElements.push(e),o||this._hitElements.length>0?null:a?this._hitElements:u&&!s(e,r)&&n(e,r)?c?[e]:[]:null}hitTestRecursive(e,t,r,n,s){if(this._interactivePrune(e)||s(e,r))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(pi.pauseUpdate=!1),e.interactiveChildren&&e.children){let u=e.children,c=r;for(let l=u.length-1;l>=0;l--){let A=u[l],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 f=e.isInteractive();return(h.length>0||f)&&h.push(e),h}}}let o=this._isInteractive(t),a=e.isInteractive();return o&&n(e,r)?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,fl),!e.hitArea.contains(fl.x,fl.y)))return!0;if(e.effects&&e.effects.length)for(let r=0;r<e.effects.length;r++){let n=e.effects[r];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,fl),e.containsPoint(fl)):!1}notifyTarget(e,t){if(!e.currentTarget.isInteractive())return;t??(t=e.type);let r=`on${t}`;e.currentTarget[r]?.(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 er)){fe("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 r=this.trackingData(e.pointerId);r.pressTargetsByButton[e.button]=t.composedPath(),this.freeEvent(t)}mapPointerMove(e){if(!(e instanceof er)){fe("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 r=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 u=e.type==="mousemove"?"mouseout":"pointerout",c=this.createPointerEvent(e,u,s);if(this.dispatchEvent(c,"pointerout"),r&&this.dispatchEvent(c,"mouseout"),!t.composedPath().includes(s)){let l=this.createPointerEvent(e,"pointerleave",s);for(l.eventPhase=l.AT_TARGET;l.target&&!t.composedPath().includes(l.target);)l.currentTarget=l.target,this.notifyTarget(l),r&&this.notifyTarget(l,"mouseleave"),l.target=l.target.parent;this.freeEvent(l)}this.freeEvent(c)}if(s!==t.target){let u=e.type==="mousemove"?"mouseover":"pointerover",c=this.clonePointerEvent(t,u);this.dispatchEvent(c,"pointerover"),r&&this.dispatchEvent(c,"mouseover");let l=s?.parent;for(;l&&l!==this.rootTarget.parent&&l!==t.target;)l=l.parent;if(!l||l===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),r&&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")),r&&(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 er)){fe("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId),r=this.createPointerEvent(e),n=r.pointerType==="mouse"||r.pointerType==="pen";this.dispatchEvent(r,"pointerover"),n&&this.dispatchEvent(r,"mouseover"),r.pointerType==="mouse"&&(this.cursor=r.target?.cursor);let s=this.clonePointerEvent(r,"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=r.composedPath(),this.freeEvent(r),this.freeEvent(s)}mapPointerOut(e){if(!(e instanceof er)){fe("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId);if(t.overTargets){let r=e.pointerType==="mouse"||e.pointerType==="pen",n=this.findMountedTarget(t.overTargets),s=this.createPointerEvent(e,"pointerout",n);this.dispatchEvent(s),r&&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),r&&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 er)){fe("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=performance.now(),r=this.createPointerEvent(e);if(this.dispatchEvent(r,"pointerup"),r.pointerType==="touch")this.dispatchEvent(r,"touchend");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let a=r.button===2;this.dispatchEvent(r,a?"rightup":"mouseup")}let n=this.trackingData(e.pointerId),s=this.findMountedTarget(n.pressTargetsByButton[e.button]),o=s;if(s&&!r.composedPath().includes(s)){let a=s;for(;a&&!r.composedPath().includes(a);){if(r.currentTarget=a,this.notifyTarget(r,"pointerupoutside"),r.pointerType==="touch")this.notifyTarget(r,"touchendoutside");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let u=r.button===2;this.notifyTarget(r,u?"rightupoutside":"mouseupoutside")}a=a.parent}delete n.pressTargetsByButton[e.button],o=a}if(o){let a=this.clonePointerEvent(r,"click");a.target=o,a.path=null,n.clicksByButton[e.button]||(n.clicksByButton[e.button]={clickCount:0,target:a.target,timeStamp:t});let u=n.clicksByButton[e.button];if(u.target===a.target&&t-u.timeStamp<200?++u.clickCount:u.clickCount=1,u.target=a.target,u.timeStamp=t,a.detail=u.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(r)}mapPointerUpOutside(e){if(!(e instanceof er)){fe("EventBoundary cannot map a non-pointer event as a pointer event");return}let t=this.trackingData(e.pointerId),r=this.findMountedTarget(t.pressTargetsByButton[e.button]),n=this.createPointerEvent(e);if(r){let s=r;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 gi)){fe("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 r=1;r<e.length&&e[r].parent===t;r++)t=e[r];return t}createPointerEvent(e,t,r){let n=this.allocateEvent(er);return this.copyPointerData(e,n),this.copyMouseData(e,n),this.copyData(e,n),n.nativeEvent=e.nativeEvent,n.originalEvent=e,n.target=r??this.hitTest(n.global.x,n.global.y)??this._hitElements[0],typeof t=="string"&&(n.type=t),n}createWheelEvent(e){let t=this.allocateEvent(gi);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 r=this.allocateEvent(er);return r.nativeEvent=e.nativeEvent,r.originalEvent=e.originalEvent,this.copyPointerData(e,r),this.copyMouseData(e,r),this.copyData(e,r),r.target=e.target,r.path=e.composedPath().slice(),r.type=t??r.type,r}copyWheelData(e,t){t.deltaMode=e.deltaMode,t.deltaX=e.deltaX,t.deltaY=e.deltaY,t.deltaZ=e.deltaZ}copyPointerData(e,t){e instanceof er&&t instanceof er&&(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 Hi&&t instanceof Hi&&(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 r=e.currentTarget._events[t];if(r)if("fn"in r)r.once&&e.currentTarget.removeListener(t,r.fn,void 0,!0),r.fn.call(r.context,e);else for(let n=0,s=r.length;n<s&&!e.propagationImmediatelyStopped;n++)r[n].once&&e.currentTarget.removeListener(t,r[n].fn,void 0,!0),r[n].fn.call(r[n].context,e)}}});var OX,RX,Dy,$f,Fy=Q(()=>{ne();oQ();Sy();My();Ty();OX=1,RX={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Dy=class Py{constructor(e){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=e,this.rootBoundary=new Zf(null),pi.init(this),this.autoPreventDefault=!0,this._eventsAdded=!1,this._rootPointerEvent=new er(null),this._rootWheelEvent=new gi(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...Py.defaultEventFeatures},{set:(t,r,n)=>(r==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=n),t[r]=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:r}=this.renderer;this.setTargetElement(t),this.resolution=r,Py._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 r=this.cursorStyles[e];if(r)switch(typeof r){case"string":t&&(this.domElement.style.cursor=r);break;case"function":r(e);break;case"object":t&&Object.assign(this.domElement.style,r);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 r=0,n=t.length;r<n;r++){let s=t[r],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,pi.pointerMoved();let t=this._normalizeToPointerData(e);for(let r=0,n=t.length;r<n;r++){let s=this._bootstrapEvent(this._rootPointerEvent,t[r]);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 r=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+=r,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 r=0,n=t.length;r<n;r++){let s=this._bootstrapEvent(this._rootPointerEvent,t[r]);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,pi.domElement=e,this._addEvents()}_addEvents(){if(this._eventsAdded||!this.domElement)return;pi.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;pi.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,r){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=(r-n.top)*(this.domElement.height/n.height)*s}_normalizeToPointerData(e){let t=[];if(this.supportsTouchEvents&&e instanceof TouchEvent)for(let r=0,n=e.changedTouches.length;r<n;r++){let s=e.changedTouches[r];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 r=e;typeof r.isPrimary>"u"&&(r.isPrimary=!0),typeof r.width>"u"&&(r.width=1),typeof r.height>"u"&&(r.height=1),typeof r.tiltX>"u"&&(r.tiltX=0),typeof r.tiltY>"u"&&(r.tiltY=0),typeof r.pointerType>"u"&&(r.pointerType="mouse"),typeof r.pointerId>"u"&&(r.pointerId=OX),typeof r.pressure>"u"&&(r.pressure=.5),typeof r.twist>"u"&&(r.twist=0),typeof r.tangentialPressure>"u"&&(r.tangentialPressure=0),r.isNormalized=!0,t.push(r)}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=RX[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}};Dy.extension={name:"events",type:[L.WebGLSystem,L.CanvasSystem,L.WebGPUSystem],priority:-1};Dy.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0};$f=Dy});var aQ,lQ=Q(()=>{Fy();Vf();aQ={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(i){this.eventMode=i?"static":"passive"},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??$f.defaultEventMode},set eventMode(i){this._internalEventMode=i},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:!0,hitArea:null,addEventListener(i,e,t){let r=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;i=r?`${i}capture`:i;let a=typeof e=="function"?e:e.handleEvent,u=this;n&&n.addEventListener("abort",()=>{u.off(i,a,o)}),s?u.once(i,a,o):u.on(i,a,o)},removeEventListener(i,e,t){let r=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof e=="function"?void 0:e;i=r?`${i}capture`:i,e=typeof e=="function"?e:e.handleEvent,this.off(i,e,n)},dispatchEvent(i){if(!(i instanceof Qn))throw new Error("Container cannot propagate events outside of the Federated Events API");return i.defaultPrevented=!1,i.path=null,i.target=this,i.manager.dispatchEvent(i),!i.defaultPrevented}}});var uQ=Q(()=>{ne();Oo();Fy();lQ();le.add($f);le.mixin(Ue,aQ)});var dl,cQ=Q(()=>{ne();dl=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 r=0;r<e.length;r++){let n=e[r],s=n.element;if(!n.parent||n.globalDisplayStatus<7)s.remove(),e.splice(r,1),r--;else{this._domElement.contains(s)||(s.style.position="absolute",s.style.pointerEvents="auto",this._domElement.appendChild(s));let o=n.worldTransform,a=n._anchor,u=n.width*a.x,c=n.height*a.y;s.style.transformOrigin=`${u}px ${c}px`,s.style.transform=`matrix(${o.a}, ${o.b}, ${o.c}, ${o.d}, ${o.tx-u}, ${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}};dl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"dom"}});var ht,qi=Q(()=>{Fr();Oo();ht=class extends Ue{constructor(e){super(e),this.canBundle=!0,this.allowChildren=!1,this._roundPixels=0,this._lastUsed=-1,this._bounds=new We(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:r,y:n}=e;return r>=t.minX&&r<=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,r){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,u=a.length;for(let c=0;c<u;c++)a[c].collectRenderables(e,t,r)}}});var pl,AQ=Q(()=>{hr();qi();pl=class extends ht{constructor(e={}){let{element:t,anchor:r,...n}=e;super({label:"DOMContainer",...n}),this.renderPipeId="dom",this.batched=!1,this._anchor=new re(0,0),r&&(this.anchor=r),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:r,offsetHeight:n}=t;e.minX=0,e.maxX=r,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 hQ=Q(()=>{ne();cQ();le.add(dl)});var tr,Sn=Q(()=>{"use strict";tr=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(tr||{})});var fQ,dQ=Q(()=>{"use strict";fQ={createCanvas:(i,e)=>{let t=document.createElement("canvas");return t.width=i,t.height=e,t},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(i,e)=>fetch(i,e),parseXML:i=>new DOMParser().parseFromString(i,"text/xml")}});var pQ,Se,kt=Q(()=>{dQ();pQ=fQ,Se={get(){return pQ},set(i){pQ=i}}});function ei(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function gl(i){return i.split("?")[0].split("#")[0]}function kX(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function GX(i,e,t){return i.replace(new RegExp(kX(e),"g"),t)}function UX(i,e){let t="",r=0,n=-1,s=0,o=-1;for(let a=0;a<=i.length;++a){if(a<i.length)o=i.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||r!==2||t.charCodeAt(t.length-1)!==46||t.charCodeAt(t.length-2)!==46){if(t.length>2){let u=t.lastIndexOf("/");if(u!==t.length-1){u===-1?(t="",r=0):(t=t.slice(0,u),r=t.length-1-t.lastIndexOf("/")),n=a,s=0;continue}}else if(t.length===2||t.length===1){t="",r=0,n=a,s=0;continue}}e&&(t.length>0?t+="/..":t="..",r=2)}else t.length>0?t+=`/${i.slice(n+1,a)}`:t=i.slice(n+1,a),r=a-n-1;n=a,s=0}else o===46&&s!==-1?++s:s=-1}return t}var Mt,As=Q(()=>{kt();Mt={toPosix(i){return GX(i,"\\","/")},isUrl(i){return/^https?:/.test(this.toPosix(i))},isDataUrl(i){return/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(i)},isBlobUrl(i){return i.startsWith("blob:")},hasProtocol(i){return/^[^/:]+:/.test(this.toPosix(i))},getProtocol(i){ei(i),i=this.toPosix(i);let e=/^file:\/\/\//.exec(i);if(e)return e[0];let t=/^[^/:]+:\/{0,2}/.exec(i);return t?t[0]:""},toAbsolute(i,e,t){if(ei(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;let r=gl(this.toPosix(e??Se.get().getBaseUrl())),n=gl(this.toPosix(t??this.rootname(r)));return i=this.toPosix(i),i.startsWith("/")?Mt.join(n,i.slice(1)):this.isAbsolute(i)?i:this.join(r,i)},normalize(i){if(ei(i),i.length===0)return".";if(this.isDataUrl(i)||this.isBlobUrl(i))return i;i=this.toPosix(i);let e="",t=i.startsWith("/");this.hasProtocol(i)&&(e=this.rootname(i),i=i.slice(e.length));let r=i.endsWith("/");return i=UX(i,!1),i.length>0&&r&&(i+="/"),t?`/${i}`:e+i},isAbsolute(i){return ei(i),i=this.toPosix(i),this.hasProtocol(i)?!0:i.startsWith("/")},join(...i){if(i.length===0)return".";let e;for(let t=0;t<i.length;++t){let r=i[t];if(ei(r),r.length>0)if(e===void 0)e=r;else{let n=i[t-1]??"";this.joinExtensions.includes(this.extname(n).toLowerCase())?e+=`/../${r}`:e+=`/${r}`}}return e===void 0?".":this.normalize(e)},dirname(i){if(ei(i),i.length===0)return".";i=this.toPosix(i);let e=i.charCodeAt(0),t=e===47,r=-1,n=!0,s=this.getProtocol(i),o=i;i=i.slice(s.length);for(let a=i.length-1;a>=1;--a)if(e=i.charCodeAt(a),e===47){if(!n){r=a;break}}else n=!1;return r===-1?t?"/":this.isUrl(o)?s+i:s:t&&r===1?"//":s+i.slice(0,r)},rootname(i){ei(i),i=this.toPosix(i);let e="";if(i.startsWith("/")?e="/":e=this.getProtocol(i),this.isUrl(i)){let t=i.indexOf("/",e.length);t!==-1?e=i.slice(0,t):e=i,e.endsWith("/")||(e+="/")}return e},basename(i,e){ei(i),e&&ei(e),i=gl(this.toPosix(i));let t=0,r=-1,n=!0,s;if(e!==void 0&&e.length>0&&e.length<=i.length){if(e.length===i.length&&e===i)return"";let o=e.length-1,a=-1;for(s=i.length-1;s>=0;--s){let u=i.charCodeAt(s);if(u===47){if(!n){t=s+1;break}}else a===-1&&(n=!1,a=s+1),o>=0&&(u===e.charCodeAt(o)?--o===-1&&(r=s):(o=-1,r=a))}return t===r?r=a:r===-1&&(r=i.length),i.slice(t,r)}for(s=i.length-1;s>=0;--s)if(i.charCodeAt(s)===47){if(!n){t=s+1;break}}else r===-1&&(n=!1,r=s+1);return r===-1?"":i.slice(t,r)},extname(i){ei(i),i=gl(this.toPosix(i));let e=-1,t=0,r=-1,n=!0,s=0;for(let o=i.length-1;o>=0;--o){let a=i.charCodeAt(o);if(a===47){if(!n){t=o+1;break}continue}r===-1&&(n=!1,r=o+1),a===46?e===-1?e=o:s!==1&&(s=1):e!==-1&&(s=-1)}return e===-1||r===-1||s===0||s===1&&e===r-1&&e===t+1?"":i.slice(e,r)},parse(i){ei(i);let e={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return e;i=gl(this.toPosix(i));let t=i.charCodeAt(0),r=this.isAbsolute(i),n,s="";e.root=this.rootname(i),r||this.hasProtocol(i)?n=1:n=0;let o=-1,a=0,u=-1,c=!0,l=i.length-1,A=0;for(;l>=n;--l){if(t=i.charCodeAt(l),t===47){if(!c){a=l+1;break}continue}u===-1&&(c=!1,u=l+1),t===46?o===-1?o=l:A!==1&&(A=1):o!==-1&&(A=-1)}return o===-1||u===-1||A===0||A===1&&o===u-1&&o===a+1?u!==-1&&(a===0&&r?e.base=e.name=i.slice(1,u):e.base=e.name=i.slice(a,u)):(a===0&&r?(e.name=i.slice(1,o),e.base=i.slice(1,u)):(e.name=i.slice(a,o),e.base=i.slice(a,u)),e.ext=i.slice(o,u)),e.dir=this.dirname(i),s&&(e.dir=s+e.dir),e},sep:"/",delimiter:":",joinExtensions:[".html"]}});var rr,ml=Q(()=>{"use strict";rr=(i,e,t=!1)=>(Array.isArray(i)||(i=[i]),e?i.map(r=>typeof r=="string"||t?e(r):r):i)});function gQ(i,e,t,r,n){let s=e[t];for(let o=0;o<s.length;o++){let a=s[o];t<e.length-1?gQ(i.replace(r[t],a),e,t+1,r,n):n.push(i.replace(r[t],a))}}function mQ(i){let e=/\{(.*?)\}/g,t=i.match(e),r=[];if(t){let n=[];t.forEach(s=>{let o=s.substring(1,s.length-1).split(",");n.push(o)}),gQ(i,n,0,t,r)}else r.push(i);return r}var yQ=Q(()=>{"use strict"});var hs,ed=Q(()=>{"use strict";hs=i=>!Array.isArray(i)});function LX(i){return i.split(".").pop().split("?").shift().split("#").shift()}var br,Uo=Q(()=>{xt();As();ml();yQ();ed();br=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(r=>`${encodeURIComponent(r)}=${encodeURIComponent(t[r])}`).join("&")}}getAlias(e){let{alias:t,src:r}=e;return rr(t||r,s=>typeof s=="string"?s:Array.isArray(s)?s.map(o=>o?.src??o):s?.src?s.src:s,!0)}addManifest(e){this._manifest&&fe("[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 r=[],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,u;if(typeof a=="string"){let c=this._createBundleAssetId(e,a);r.push(c),u=[a,c]}else{let c=a.map(l=>this._createBundleAssetId(e,l));r.push(...c),u=[...a,...c]}this.add({...s,alias:u,src:o})}),this._bundles[e]=r}add(e){let t=[];Array.isArray(e)?t.push(...e):t.push(e);let r;r=s=>{this.hasKey(s)&&fe(`[Resolver] already has key: ${s} overwriting`)},rr(t).forEach(s=>{let{src:o}=s,{data:a,format:u,loadParser:c}=s,l=rr(o).map(f=>typeof f=="string"?mQ(f):Array.isArray(f)?f:[f]),A=this.getAlias(s);Array.isArray(A)?A.forEach(r):r(A);let h=[];l.forEach(f=>{f.forEach(d=>{let y={};if(typeof d!="object"){y.src=d;for(let g=0;g<this._parsers.length;g++){let E=this._parsers[g];if(E.test(d)){y=E.parse(d);break}}}else a=d.data??a,u=d.format??u,c=d.loadParser??c,y={...y,...d};if(!A)throw new Error(`[Resolver] alias is undefined for this asset: ${y.src}`);y=this._buildResolvedAsset(y,{aliases:A,data:a,format:u,loadParser:c}),h.push(y)})}),A.forEach(f=>{this._assetMap[f]=h})})}resolveBundle(e){let t=hs(e);e=rr(e);let r={};return e.forEach(n=>{let s=this._bundles[n];if(s){let o=this.resolve(s),a={};for(let u in o){let c=o[u];a[this._extractAssetIdFromBundle(n,u)]=c}r[n]=a}}),t?r[e[0]]:r}resolveUrl(e){let t=this.resolve(e);if(typeof e!="string"){let r={};for(let n in t)r[n]=t[n].src;return r}return t.src}resolve(e){let t=hs(e);e=rr(e);let r={};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(u=>{let c=s.filter(l=>l[a]?l[a]===u:!1);c.length&&(s=c)})}),this._resolverHash[n]=s[0]}else this._resolverHash[n]=this._buildResolvedAsset({alias:[n],src:n},{});r[n]=this._resolverHash[n]}),t?r[e[0]]:r}hasKey(e){return!!this._assetMap[e]}hasBundle(e){return!!this._bundles[e]}_getPreferredOrder(e){for(let t=0;t<e.length;t++){let r=e[t],n=this._preferredOrder.find(s=>s.params.format.includes(r.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:r,data:n,loadParser:s,format:o}=t;return(this._basePath||this._rootPath)&&(e.src=Mt.toAbsolute(e.src,this._basePath,this._rootPath)),e.alias=r??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??LX(e.src),e}};br.RETINA_PREFIX=/@([0-9\.]+)x/});var yl,Oy=Q(()=>{"use strict";yl=(i,e)=>{let t=e.split("?")[1];return t&&(i+=`?${t}`),i}});var IQ,Ry,EQ=Q(()=>{$t();ot();IQ=class Il{constructor(e,t){this.linkedSheets=[],this._texture=e instanceof V?e:null,this.textureSource=e.source,this.textures={},this.animations={},this.data=t;let r=parseFloat(t.meta.scale);r?(this.resolution=r,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<=Il.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(e){let t=e,r=Il.BATCH_SIZE;for(;t-e<r&&t<this._frameKeys.length;){let n=this._frameKeys[t],s=this._frames[n],o=s.frame;if(o){let a=null,u=null,c=s.trimmed!==!1&&s.sourceSize?s.sourceSize:s.frame,l=new pe(0,0,Math.floor(c.w)/this.resolution,Math.floor(c.h)/this.resolution);s.rotated?a=new pe(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 pe(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&&(u=new pe(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 V({source:this.textureSource,frame:a,orig:l,trim:u,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 r=0;r<e[t].length;r++){let n=e[t][r];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*Il.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*Il.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=[]}};IQ.BATCH_SIZE=1e3;Ry=IQ});function xQ(i,e,t){let r={};if(i.forEach(n=>{r[n]=e}),Object.keys(e.textures).forEach(n=>{r[n]=e.textures[n]}),!t){let n=Mt.dirname(i[0]);e.linkedSheets.forEach((s,o)=>{let a=xQ([`${n}/${e.data.meta.related_multi_packs[o]}`],s,!0);Object.assign(r,a)})}return r}var NX,_Q,BQ=Q(()=>{Sn();Uo();Oy();ne();ot();As();EQ();NX=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];_Q={extension:L.Asset,cache:{test:i=>i instanceof Ry,getCacheableAssets:(i,e)=>xQ(i,e,!1)},resolver:{extension:{type:L.ResolveParser,name:"resolveSpritesheet"},test:i=>{let t=i.split("?")[0].split("."),r=t.pop(),n=t.pop();return r==="json"&&NX.includes(n)},parse:i=>{let e=i.split(".");return{resolution:parseFloat(br.RETINA_PREFIX.exec(i)?.[1]??"1"),format:e[e.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:L.LoadParser,priority:tr.Normal,name:"spritesheetLoader"},async testParse(i,e){return Mt.extname(e.src).toLowerCase()===".json"&&!!i.frames},async parse(i,e,t){let{texture:r,imageFilename:n,textureOptions:s}=e?.data??{},o=Mt.dirname(e.src);o&&o.lastIndexOf("/")!==o.length-1&&(o+="/");let a;if(r instanceof V)a=r;else{let l=yl(o+(n??i.meta.image),e.src);a=(await t.load([{src:l,data:s}]))[l]}let u=new Ry(a.source,i);await u.parse();let c=i?.meta?.related_multi_packs;if(Array.isArray(c)){let l=[];for(let h of c){if(typeof h!="string")continue;let f=o+h;e.data?.ignoreMultiPack||(f=yl(f,e.src),l.push(t.load({src:f,data:{textureOptions:s,ignoreMultiPack:!0}})))}let A=await Promise.all(l);u.linkedSheets=A,A.forEach(h=>{h.linkedSheets=[u].concat(u.linkedSheets.filter(f=>f!==h))})}return u},async unload(i,e,t){await t.unload(i.textureSource._sourceOrigin),i.destroy(!1)}}}});var td=Q(()=>{ne();BQ();le.add(_Q)});function rd(i,e,t){let{width:r,height:n}=t.orig,s=t.trim;if(s){let o=s.width,a=s.height;i.minX=s.x-e._x*r,i.maxX=i.minX+o,i.minY=s.y-e._y*n,i.maxY=i.minY+a}else i.minX=-e._x*r,i.maxX=i.minX+r,i.minY=-e._y*n,i.maxY=i.minY+n}var ky=Q(()=>{"use strict"});var Tt,El=Q(()=>{bn();ot();ky();st();qi();Tt=class i extends ht{constructor(e=V.EMPTY){e instanceof V&&(e={texture:e});let{texture:t=V.EMPTY,anchor:r,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 Ke({_onUpdate:()=>{this.onViewUpdate()}}),r?this.anchor=r: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 V?new i(e):new i(V.from(e,t))}set texture(e){e||(e=V.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 rd(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return se("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let e=this._anchor,t=this._texture,r=this._bounds,{width:n,height:s}=t.orig;r.minX=-e._x*n,r.maxX=r.minX+n,r.minY=-e._y*s,r.maxY=r.minY+s}destroy(e=!1){if(super.destroy(e),typeof e=="boolean"?e:e?.texture){let r=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(r)}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 id(i,e,t){let r=HX;i.measurable=!0,kf(i,t,r),e.addBoundsMask(r),i.measurable=!1}var HX,Gy=Q(()=>{Fr();Uf();HX=new We});function nd(i,e,t){let r=vr.get();i.measurable=!0;let n=wt.get().identity(),s=vQ(i,t,n);Nf(i,r,s),i.measurable=!1,e.addBoundsMask(r),wt.return(n),vr.return(r)}function vQ(i,e,t){return i?(i!==e&&(vQ(i.parent,e,t),i.updateLocalTransform(),t.append(i.localTransform)),t):(fe("Mask bounds, renderable is not inside the root container"),t)}var Uy=Q(()=>{ly();ss();xt()});var xl,CQ=Q(()=>{ne();El();Gy();Uy();xl=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 Tt),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||id(this.mask,e,t)}addLocalBounds(e,t){nd(this.mask,e,t)}containsPoint(e,t){let r=this.mask;return t(r,e)}destroy(){this.reset()}static test(e){return e instanceof Tt}};xl.extension=L.MaskEffect});var _l,bQ=Q(()=>{ne();_l=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"}};_l.extension=L.MaskEffect});var Bl,wQ=Q(()=>{ne();Oo();Gy();Uy();Bl=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){id(this.mask,e,t)}addLocalBounds(e,t){nd(this.mask,e,t)}containsPoint(e,t){let r=this.mask;return t(r,e)}destroy(){this.reset()}static test(e){return e instanceof Ue}};Bl.extension=L.MaskEffect});var vl,QQ=Q(()=>{kt();ne();Li();vl=class extends Qt{constructor(e){e.resource||(e.resource=Se.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,r=this._resolution){let n=super.resize(e,t,r);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"))}};vl.extension=L.TextureSource});var qt,fs=Q(()=>{kt();ne();xt();Li();qt=class extends Qt{constructor(e){if(e.resource&&globalThis.HTMLImageElement&&e.resource instanceof HTMLImageElement){let t=Se.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,fe("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}};qt.extension=L.TextureSource});async function sd(){return Ly??(Ly=(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 r=e.createTexture();e.bindTexture(e.TEXTURE_2D,r);let n=e.createFramebuffer();e.bindFramebuffer(e.FRAMEBUFFER,n),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,r,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(r),e.getExtension("WEBGL_lose_context")?.loseContext(),s[0]<=s[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),Ly}var Ly,Ny=Q(()=>{"use strict"});var od,Lo,Hy=Q(()=>{ne();Go();Ny();Li();od=class SQ extends Qt{constructor(e){super(e),this.isReady=!1,this.uploadMethodId="video",e={...SQ.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=_t.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 sd(),this._load=new Promise((r,n)=>{this.isValid?r(this):(this._resolve=r,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&&(_t.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||(_t.shared.add(this.updateFrame,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(_t.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(e){return globalThis.HTMLVideoElement&&e instanceof HTMLVideoElement}};od.extension=L.TextureSource;od.defaultOptions={...Qt.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1};od.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};Lo=od});var qy,Fe,mi=Q(()=>{xt();ml();qy=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||fe(`[Assets] Asset id ${e} was not found in the Cache`),t}set(e,t){let r=rr(e),n;for(let u=0;u<this.parsers.length;u++){let c=this.parsers[u];if(c.test(t)){n=c.getCacheableAssets(r,t);break}}let s=new Map(Object.entries(n||{}));n||r.forEach(u=>{s.set(u,t)});let o=[...s.keys()],a={cacheKeys:o,keys:r};r.forEach(u=>{this._cacheMap.set(u,a)}),o.forEach(u=>{let c=n?n[u]:t;this._cache.has(u)&&this._cache.get(u)!==c&&fe("[Cache] already has key:",u),this._cache.set(u,s.get(u))})}remove(e){if(!this._cacheMap.has(e)){fe(`[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}},Fe=new qy});function MQ(i={}){let e=i&&i.resource,t=e?i.resource:i,r=e?i:{resource:i};for(let n=0;n<Wy.length;n++){let s=Wy[n];if(s.test(t))return new s(r)}throw new Error(`Could not find a source type for resource: ${r.resource}`)}function TQ(i={},e=!1){let t=i&&i.resource,r=t?i.resource:i,n=t?i:{resource:i};if(!e&&Fe.has(r))return Fe.get(r);let s=new V({source:MQ(n)});return s.on("destroy",()=>{Fe.has(r)&&Fe.remove(r)}),e||Fe.set(r,s),s}function PQ(i,e=!1){return typeof i=="string"?Fe.get(i):i instanceof Qt?new V({source:i}):TQ(i,e)}var Wy,jy=Q(()=>{mi();ne();Li();ot();Wy=[];le.handleByList(L.TextureSource,Wy);V.from=PQ;Qt.from=MQ});var ad=Q(()=>{ne();CQ();bQ();wQ();my();QQ();fs();Hy();jy();le.add(xl,_l,Bl,Lo,qt,vl,cs)});var Wt,No=Q(()=>{"use strict";Wt=class{constructor(e){this.resources=Object.create(null),this._dirty=!0;let t=0;for(let r in e){let n=e[r];this.setResource(n,t++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;let e=[],t=0;for(let r in this.resources)e[t++]=this.resources[r]._resourceId;this._key=e.join("|")}setResource(e,t){let r=this.resources[t];e!==r&&(r&&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 r in t)t[r]._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 r in t)t[r]===e&&(t[r]=null)}else this._updateKey()}}});function ud(){return(!ld||ld?.isContextLost())&&(ld=Se.get().createCanvas().getContext("webgl",{})),ld}var ld,Yy=Q(()=>{kt()});function WX(i){let e="";for(let t=0;t<i;++t)t>0&&(e+=`
|
|
22
|
+
else `),t<i-1&&(e+=`if(test == ${t}.0){}`);return e}function DQ(i,e){if(i===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let t=e.createShader(e.FRAGMENT_SHADER);try{for(;;){let r=qX.replace(/%forloop%/gi,WX(i));if(e.shaderSource(t,r),e.compileShader(t),!e.getShaderParameter(t,e.COMPILE_STATUS))i=i/2|0;else break}}finally{e.deleteShader(t)}return i}var qX,FQ=Q(()=>{"use strict";qX=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
|
|
23
|
+
`)});function qo(){if(Ho)return Ho;let i=ud();return Ho=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),Ho=DQ(Ho,i),i.getExtension("WEBGL_lose_context")?.loseContext(),Ho}var Ho,cd=Q(()=>{Yy();FQ();Ho=null});function RQ(i,e){let t=2166136261;for(let r=0;r<e;r++)t^=i[r].uid,t=Math.imul(t,16777619),t>>>=0;return OQ[t]||jX(i,e,t)}function jX(i,e,t){let r={},n=0;Ky||(Ky=qo());for(let o=0;o<Ky;o++){let a=o<e?i[o]:V.EMPTY.source;r[n++]=a.source,r[n++]=a.style}let s=new Wt(r);return OQ[t]=s,s}var OQ,Ky,kQ=Q(()=>{No();ot();cd();OQ={};Ky=0});var yi,Vy=Q(()=>{"use strict";yi=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 Xy(i,e){let t=i.byteLength/8|0,r=new Float64Array(i,0,t);new Float64Array(e,0,t).set(r);let s=i.byteLength-t*8;if(s>0){let o=new Uint8Array(i,t*8,s);new Uint8Array(e,t*8,s).set(o)}}var GQ=Q(()=>{"use strict"});var UQ,LQ=Q(()=>{"use strict";UQ={normal:"normal-npm",add:"add-npm",screen:"screen-npm"}});function Wi(i,e){return e.alphaMode==="no-premultiply-alpha"&&UQ[i]||i}var Cl=Q(()=>{LQ()});var Ad,NQ=Q(()=>{"use strict";Ad=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 HQ(){return Jy>0?WQ[--Jy]:new zy}function qQ(i){WQ[Jy++]=i}var zy,WQ,Jy,bl,jQ,YQ,KQ=Q(()=>{Zt();Vy();GQ();Cl();cd();NQ();zy=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Ad,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=!0}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null}},WQ=[],Jy=0;bl=0,jQ=class hd{constructor(e={}){this.uid=ke("batcher"),this.dirty=!0,this.batchIndex=0,this.batches=[],this._elements=[],hd.defaultOptions.maxTextures=hd.defaultOptions.maxTextures??qo(),e={...hd.defaultOptions,...e};let{maxTextures:t,attributesInitialSize:r,indicesInitialSize:n}=e;this.attributeBuffer=new yi(r*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++)qQ(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 r=e._batch.textures.ids[t._source.uid];return!r&&r!==0?!1:(e._textureId=r,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 r=HQ(),n=r.textures;n.clear();let s=t[this.elementStart],o=Wi(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 u=this.attributeBuffer.float32View,c=this.attributeBuffer.uint32View,l=this.indexBuffer,A=this._batchIndexSize,h=this._batchIndexStart,f="startBatch",d=this.maxTextures;for(let y=this.elementStart;y<this.elementSize;++y){let g=t[y];t[y]=null;let _=g.texture._source,x=Wi(g.blendMode,_),I=o!==x||a!==g.topology;if(_._batchTick===bl&&!I){g._textureId=_._textureBindLocation,A+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,u,c,g._attributeStart,g._textureId),this.packQuadIndex(l,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,u,c,g._attributeStart,g._textureId),this.packIndex(g,l,g._indexStart,g._attributeStart/this.vertexSize)),g._batch=r;continue}_._batchTick=bl,(n.count>=d||I)&&(this._finishBatch(r,h,A-h,n,o,a,e,f),f="renderBatch",h=A,o=x,a=g.topology,r=HQ(),n=r.textures,n.clear(),++bl),g._textureId=_._textureBindLocation=n.count,n.ids[_.uid]=n.count,n.textures[n.count++]=_,g._batch=r,A+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,u,c,g._attributeStart,g._textureId),this.packQuadIndex(l,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,u,c,g._attributeStart,g._textureId),this.packIndex(g,l,g._indexStart,g._attributeStart/this.vertexSize))}n.count>0&&(this._finishBatch(r,h,A-h,n,o,a,e,f),h=A,++bl),this.elementStart=this.elementSize,this._batchIndexStart=h,this._batchIndexSize=A}_finishBatch(e,t,r,n,s,o,a,u){e.gpuBindGroup=null,e.bindGroup=null,e.action=u,e.batcher=this,e.textures=n,e.blendMode=s,e.topology=o,e.start=t,e.size=r,++bl,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),r=new yi(t);Xy(this.attributeBuffer.rawBinaryData,r.rawBinaryData),this.attributeBuffer=r}_resizeIndexBuffer(e){let t=this.indexBuffer,r=Math.max(e,t.length*1.5);r+=r%2;let n=r>65535?new Uint32Array(r):new Uint16Array(r);if(n.BYTES_PER_ELEMENT!==t.BYTES_PER_ELEMENT)for(let s=0;s<t.length;s++)n[s]=t[s];else Xy(t.buffer,n.buffer);this.indexBuffer=n}packQuadIndex(e,t,r){e[t]=r+0,e[t+1]=r+1,e[t+2]=r+2,e[t+3]=r+0,e[t+4]=r+2,e[t+5]=r+3}packIndex(e,t,r,n){let s=e.indices,o=e.indexSize,a=e.indexOffset,u=e.attributeOffset;for(let c=0;c<o;c++)t[r++]=n+s[c+a]-u}destroy(){for(let e=0;e<this.batches.length;e++)qQ(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}};jQ.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};YQ=jQ});var Te,ds=Q(()=>{"use strict";Te=(i=>(i[i.MAP_READ=1]="MAP_READ",i[i.MAP_WRITE=2]="MAP_WRITE",i[i.COPY_SRC=4]="COPY_SRC",i[i.COPY_DST=8]="COPY_DST",i[i.INDEX=16]="INDEX",i[i.VERTEX=32]="VERTEX",i[i.UNIFORM=64]="UNIFORM",i[i.STORAGE=128]="STORAGE",i[i.INDIRECT=256]="INDIRECT",i[i.QUERY_RESOLVE=512]="QUERY_RESOLVE",i[i.STATIC=1024]="STATIC",i))(Te||{})});var lt,ps=Q(()=>{_r();Zt();ds();lt=class extends At{constructor(e){let{data:t,size:r}=e,{usage:n,label:s,shrinkToFit:o}=e;super(),this.uid=ke("buffer"),this._resourceType="buffer",this._resourceId=ke("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,r??(r=t?.byteLength);let a=!!t;this.descriptor={size:r,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&Te.STATIC)}set static(e){e?this.descriptor.usage|=Te.STATIC:this.descriptor.usage&=~Te.STATIC}setDataWithSize(e,t,r){if(this._updateID++,this._updateSize=t*e.BYTES_PER_ELEMENT,this._data===e){r&&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?r&&this.emit("update",this):(this.descriptor.size=e.byteLength,this._resourceId=ke("resource"),this.emit("change",this));return}r&&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 Zy(i,e){if(!(i instanceof lt)){let t=e?Te.INDEX:Te.VERTEX;i instanceof Array&&(e?(i=new Uint32Array(i),t=Te.INDEX|Te.COPY_DST):(i=new Float32Array(i),t=Te.VERTEX|Te.COPY_DST)),i=new lt({data:i,label:e?"index-mesh-buffer":"vertex-mesh-buffer",usage:t})}return i}var VQ=Q(()=>{ps();ds()});function XQ(i,e,t){let r=i.getAttribute(e);if(!r)return t.minX=0,t.minY=0,t.maxX=0,t.maxY=0,t;let n=r.buffer.data,s=1/0,o=1/0,a=-1/0,u=-1/0,c=n.BYTES_PER_ELEMENT,l=(r.offset||0)/c,A=(r.stride||2*4)/c;for(let h=l;h<n.length;h+=A){let f=n[h],d=n[h+1];f>a&&(a=f),d>u&&(u=d),f<s&&(s=f),d<o&&(o=d)}return t.minX=s,t.minY=o,t.maxX=a,t.maxY=u,t}var zQ=Q(()=>{"use strict"});function YX(i){return(i instanceof lt||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=Zy(i.buffer,!1),i}var Pt,gs=Q(()=>{_r();Fr();Zt();ps();VQ();zQ();Pt=class extends At{constructor(e={}){super(),this.uid=ke("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new We,this._boundsDirty=!0;let{attributes:t,indexBuffer:r,topology:n}=e;if(this.buffers=[],this.attributes={},t)for(let s in t)this.addAttribute(s,t[s]);this.instanceCount=e.instanceCount??1,r&&this.addIndex(r),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 r=YX(t);this.buffers.indexOf(r.buffer)===-1&&(this.buffers.push(r.buffer),r.buffer.on("update",this.onBufferUpdate,this),r.buffer.on("change",this.onBufferUpdate,this)),this.attributes[e]=r}addIndex(e){this.indexBuffer=Zy(e,!0),this.buffers.push(this.indexBuffer)}get bounds(){return this._boundsDirty?(this._boundsDirty=!1,XQ(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 KX,VX,fd,JQ=Q(()=>{ps();ds();gs();KX=new Float32Array(1),VX=new Uint32Array(1),fd=class extends Pt{constructor(){let t=new lt({data:KX,label:"attribute-batch-buffer",usage:Te.VERTEX|Te.COPY_DST,shrinkToFit:!1}),r=new lt({data:VX,label:"index-batch-buffer",usage:Te.INDEX|Te.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:r})}}});function Wo(i,e){let t=ZQ[i];return t===void 0&&($y[e]===void 0&&($y[e]=1),ZQ[i]=t=$y[e]++),t}var $y,ZQ,dd=Q(()=>{"use strict";$y=Object.create(null),ZQ=Object.create(null)});function $Q(){if(!pd){pd="mediump";let i=ud();i&&i.getShaderPrecisionFormat&&(pd=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump")}return pd}var pd,eS=Q(()=>{Yy()});function tS(i,e,t){return e?i:t?(i=i.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
|
+
${i}
|
|
31
|
+
`):`
|
|
32
|
+
|
|
33
|
+
#ifdef GL_ES // This checks if it is WebGL1
|
|
34
|
+
#define in attribute
|
|
35
|
+
#define out varying
|
|
36
|
+
#endif
|
|
37
|
+
${i}
|
|
38
|
+
`}var rS=Q(()=>{"use strict"});function iS(i,e,t){let r=t?e.maxSupportedFragmentPrecision:e.maxSupportedVertexPrecision;if(i.substring(0,9)!=="precision"){let n=t?e.requestedFragmentPrecision:e.requestedVertexPrecision;return n==="highp"&&r!=="highp"&&(n="mediump"),`precision ${n} float;
|
|
39
|
+
${i}`}else if(r!=="highp"&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}var nS=Q(()=>{"use strict"});function sS(i,e){return e?`#version 300 es
|
|
40
|
+
${i}`:i}var oS=Q(()=>{"use strict"});function aS(i,{name:e="pixi-program"},t=!0){e=e.replace(/\s+/g,"-"),e+=t?"-fragment":"-vertex";let r=t?XX:zX;return r[e]?(r[e]++,e+=`-${r[e]}`):r[e]=1,i.indexOf("#define SHADER_NAME")!==-1?i:`${`#define SHADER_NAME ${e}`}
|
|
41
|
+
${i}`}var XX,zX,lS=Q(()=>{"use strict";XX={},zX={}});function uS(i,e){return e?i.replace("#version 300 es",""):i}var cS=Q(()=>{"use strict"});var eI,tI,AS,jt,Mn=Q(()=>{dd();eS();rS();nS();oS();lS();cS();eI={stripVersion:uS,ensurePrecision:iS,addProgramDefines:tS,setProgramName:aS,insertVersion:sS},tI=Object.create(null),AS=class rI{constructor(e){e={...rI.defaultOptions,...e};let t=e.fragment.indexOf("#version 300 es")!==-1,r={stripVersion:t,ensurePrecision:{requestedFragmentPrecision:e.preferredFragmentPrecision,requestedVertexPrecision:e.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:$Q()},setProgramName:{name:e.name},addProgramDefines:t,insertVersion:t},n=e.fragment,s=e.vertex;Object.keys(eI).forEach(o=>{let a=r[o];n=eI[o](n,a,!0),s=eI[o](s,a,!1)}),this.fragment=n,this.vertex=s,this.transformFeedbackVaryings=e.transformFeedbackVaryings,this._key=Wo(`${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 tI[t]||(tI[t]=new rI(e)),tI[t]}};AS.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};jt=AS});function ms(i){return hS[i]??hS.float32}var hS,gd=Q(()=>{"use strict";hS={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 fS({source:i,entryPoint:e}){let t={},r=i.indexOf(`fn ${e}`);if(r!==-1){let n=i.indexOf("->",r);if(n!==-1){let s=i.substring(r,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 u=JX[a[3]]??"float32";t[a[2]]={location:parseInt(a[1],10),format:u,stride:ms(u).stride,offset:0,instance:!1,start:0}}}}return t}var JX,dS=Q(()=>{gd();JX={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 md(i){let e=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,t=/@group\((\d+)\)/,r=/@binding\((\d+)\)/,n=/var(<[^>]+>)? (\w+)/,s=/:\s*(\w+)/,o=/struct\s+(\w+)\s*{([^}]+)}/g,a=/(\w+)\s*:\s*([\w\<\>]+)/g,u=/struct\s+(\w+)/,c=i.match(e)?.map(A=>({group:parseInt(A.match(t)[1],10),binding:parseInt(A.match(r)[1],10),name:A.match(n)[2],isUniform:A.match(n)[1]==="<uniform>",type:A.match(s)[1]}));if(!c)return{groups:[],structs:[]};let l=i.match(o)?.map(A=>{let h=A.match(u)[1],f=A.match(a).reduce((d,y)=>{let[g,E]=y.split(":");return d[g.trim()]=E.trim(),d},{});return f?{name:h,members:f}:null}).filter(({name:A})=>c.some(h=>h.type===A))??[];return{groups:c,structs:l}}var pS=Q(()=>{"use strict"});var jo,gS=Q(()=>{"use strict";jo=(i=>(i[i.VERTEX=1]="VERTEX",i[i.FRAGMENT=2]="FRAGMENT",i[i.COMPUTE=4]="COMPUTE",i))(jo||{})});function mS({groups:i}){let e=[];for(let t=0;t<i.length;t++){let r=i[t];e[r.group]||(e[r.group]=[]),r.isUniform?e[r.group].push({binding:r.binding,visibility:jo.VERTEX|jo.FRAGMENT,buffer:{type:"uniform"}}):r.type==="sampler"?e[r.group].push({binding:r.binding,visibility:jo.FRAGMENT,sampler:{type:"filtering"}}):r.type==="texture_2d"&&e[r.group].push({binding:r.binding,visibility:jo.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:!1}})}return e}var yS=Q(()=>{gS()});function IS({groups:i}){let e=[];for(let t=0;t<i.length;t++){let r=i[t];e[r.group]||(e[r.group]={}),e[r.group][r.name]=r.binding}return e}var ES=Q(()=>{"use strict"});function xS(i,e){let t=new Set,r=new Set,n=[...i.structs,...e.structs].filter(o=>t.has(o.name)?!1:(t.add(o.name),!0)),s=[...i.groups,...e.groups].filter(o=>{let a=`${o.name}-${o.binding}`;return r.has(a)?!1:(r.add(a),!0)});return{structs:n,groups:s}}var _S=Q(()=>{"use strict"});var iI,Yt,Tn=Q(()=>{dd();dS();pS();yS();ES();_S();iI=Object.create(null),Yt=class i{constructor(e){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:t,vertex:r,layout:n,gpuLayout:s,name:o}=e;if(this.name=o,this.fragment=t,this.vertex=r,t.source===r.source){let a=md(t.source);this.structsAndGroups=a}else{let a=md(r.source),u=md(t.source);this.structsAndGroups=xS(a,u)}this.layout=n??IS(this.structsAndGroups),this.gpuLayout=s??mS(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,r=e.source+t.source+e.entryPoint+t.entryPoint;this._layoutKey=Wo(r,"program")}get attributeData(){return this._attributeData??(this._attributeData=fS(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 iI[t]||(iI[t]=new i(e)),iI[t]}}});function nI(i,e,t){if(i)for(let r in i){let n=r.toLocaleLowerCase(),s=e[n];if(s){let o=i[r];r==="header"&&(o=o.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),t&&s.push(`//----${t}----//`),s.push(o)}else fe(`${r} placement hook does not exist in shader`)}}var BS=Q(()=>{xt()});function sI(i){let e={};return(i.match(ZX)?.map(r=>r.replace(/[{()}]/g,""))??[]).forEach(r=>{e[r]=[]}),e}var ZX,vS=Q(()=>{"use strict";ZX=/\{\{(.*?)\}\}/g});function CS(i,e){let t,r=/@in\s+([^;]+);/g;for(;(t=r.exec(i))!==null;)e.push(t[1])}function oI(i,e,t=!1){let r=[];CS(e,r),i.forEach(a=>{a.header&&CS(a.header,r)});let n=r;t&&n.sort();let s=n.map((a,u)=>` @location(${u}) ${a},`).join(`
|
|
42
|
+
`),o=e.replace(/@in\s+[^;]+;\s*/g,"");return o=o.replace("{{in}}",`
|
|
43
|
+
${s}
|
|
44
|
+
`),o}var bS=Q(()=>{"use strict"});function wS(i,e){let t,r=/@out\s+([^;]+);/g;for(;(t=r.exec(i))!==null;)e.push(t[1])}function $X(i){let t=/\b(\w+)\s*:/g.exec(i);return t?t[1]:""}function ez(i){let e=/@.*?\s+/g;return i.replace(e,"")}function QS(i,e){let t=[];wS(e,t),i.forEach(u=>{u.header&&wS(u.header,t)});let r=0,n=t.sort().map(u=>u.indexOf("builtin")>-1?u:`@location(${r++}) ${u}`).join(`,
|
|
45
|
+
`),s=t.sort().map(u=>` var ${ez(u)};`).join(`
|
|
46
|
+
`),o=`return VSOutput(
|
|
47
|
+
${t.sort().map(u=>` ${$X(u)}`).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 SS=Q(()=>{"use strict"});function aI(i,e){let t=i;for(let r in e){let n=e[r];n.join(`
|
|
55
|
+
`).length?t=t.replace(`{{${r}}}`,`//-----${r} START-----//
|
|
56
|
+
${n.join(`
|
|
57
|
+
`)}
|
|
58
|
+
//----${r} FINISH----//`):t=t.replace(`{{${r}}}`,"")}return t}var MS=Q(()=>{"use strict"});function TS({template:i,bits:e}){let t=DS(i,e);if(Pn[t])return Pn[t];let{vertex:r,fragment:n}=rz(i,e);return Pn[t]=FS(r,n,e),Pn[t]}function PS({template:i,bits:e}){let t=DS(i,e);return Pn[t]||(Pn[t]=FS(i.vertex,i.fragment,e)),Pn[t]}function rz(i,e){let t=e.map(o=>o.vertex).filter(o=>!!o),r=e.map(o=>o.fragment).filter(o=>!!o),n=oI(t,i.vertex,!0);n=QS(t,n);let s=oI(r,i.fragment,!0);return{vertex:n,fragment:s}}function DS(i,e){return e.map(t=>(lI.has(t)||lI.set(t,tz++),lI.get(t))).sort((t,r)=>t-r).join("-")+i.vertex+i.fragment}function FS(i,e,t){let r=sI(i),n=sI(e);return t.forEach(s=>{nI(s.vertex,r,s.name),nI(s.fragment,n,s.name)}),{vertex:aI(i,r),fragment:aI(e,n)}}var Pn,lI,tz,OS=Q(()=>{BS();vS();bS();SS();MS();Pn=Object.create(null),lI=new Map,tz=0});var RS,kS,GS,US,LS=Q(()=>{"use strict";RS=`
|
|
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
|
+
`,kS=`
|
|
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
|
+
`,GS=`
|
|
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
|
+
`,US=`
|
|
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 NS,HS,qS=Q(()=>{"use strict";NS={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
|
+
`}},HS={name:"global-uniforms-bit",vertex:{header:`
|
|
192
|
+
uniform mat3 uProjectionMatrix;
|
|
193
|
+
uniform mat3 uWorldTransformMatrix;
|
|
194
|
+
uniform vec4 uWorldColorAlpha;
|
|
195
|
+
uniform vec2 uResolution;
|
|
196
|
+
`}}});function Yo({bits:i,name:e}){let t=TS({template:{fragment:kS,vertex:RS},bits:[NS,...i]});return Yt.from({name:e,vertex:{source:t.vertex,entryPoint:"main"},fragment:{source:t.fragment,entryPoint:"main"}})}function Ko({bits:i,name:e}){return new jt({name:e,...PS({template:{vertex:GS,fragment:US},bits:[HS,...i]})})}var yd=Q(()=>{Mn();Tn();OS();LS();qS()});var Id,Ed,uI=Q(()=>{"use strict";Id={name:"color-bit",vertex:{header:`
|
|
197
|
+
@in aColor: vec4<f32>;
|
|
198
|
+
`,main:`
|
|
199
|
+
vColor *= vec4<f32>(aColor.rgb * aColor.a, aColor.a);
|
|
200
|
+
`}},Ed={name:"color-bit",vertex:{header:`
|
|
201
|
+
in vec4 aColor;
|
|
202
|
+
`,main:`
|
|
203
|
+
vColor *= vec4(aColor.rgb * aColor.a, aColor.a);
|
|
204
|
+
`}}});function iz(i){let e=[];if(i===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 r=0;r<i;r++)e.push(`@group(1) @binding(${t++}) var textureSource${r+1}: texture_2d<f32>;`),e.push(`@group(1) @binding(${t++}) var textureSampler${r+1}: sampler;`)}return e.join(`
|
|
205
|
+
`)}function nz(i){let e=[];if(i===1)e.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else{e.push("switch vTextureId {");for(let t=0;t<i;t++)t===i-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 xd(i){return cI[i]||(cI[i]={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
|
+
${iz(i)}
|
|
220
|
+
`,main:`
|
|
221
|
+
var uvDx = dpdx(vUV);
|
|
222
|
+
var uvDy = dpdy(vUV);
|
|
223
|
+
|
|
224
|
+
${nz(i)}
|
|
225
|
+
`}}),cI[i]}function sz(i){let e=[];for(let t=0;t<i;t++)t>0&&e.push("else"),t<i-1&&e.push(`if(vTextureId < ${t}.5)`),e.push("{"),e.push(` outColor = texture(uTextures[${t}], vUV);`),e.push("}");return e.join(`
|
|
226
|
+
`)}function _d(i){return AI[i]||(AI[i]={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[${i}];
|
|
241
|
+
|
|
242
|
+
`,main:`
|
|
243
|
+
|
|
244
|
+
${sz(i)}
|
|
245
|
+
`}}),AI[i]}var cI,AI,hI=Q(()=>{"use strict";cI={};AI={}});var Vo,Xo,Bd=Q(()=>{"use strict";Vo={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
|
+
`}},Xo={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 fI,WS,jS=Q(()=>{"use strict";fI=["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>"],WS=fI.reduce((i,e)=>(i[e]=!0,i),{})});function YS(i,e){switch(i){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 KS=Q(()=>{"use strict"});var VS,it,Ii=Q(()=>{Zt();dd();jS();KS();VS=class XS{constructor(e,t){this._touched=0,this.uid=ke("uniform"),this._resourceType="uniformGroup",this._resourceId=ke("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,t={...XS.defaultOptions,...t},this.uniformStructures=e;let r={};for(let n in e){let s=e[n];if(s.name=n,s.size=s.size??1,!WS[s.type])throw new Error(`Uniform type ${s.type} is not supported. Supported uniform types are: ${fI.join(", ")}`);s.value??(s.value=YS(s.type,s.size)),r[n]=s.value}this.uniforms=r,this._dirtyId=1,this.ubo=t.ubo,this.isStatic=t.isStatic,this._signature=Wo(Object.keys(r).map(n=>`${n}-${e[n].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};VS.defaultOptions={ubo:!1,isStatic:!1};it=VS});function vd(i){let e=zS[i];if(e)return e;let t=new Int32Array(i);for(let r=0;r<i;r++)t[r]=r;return e=zS[i]=new it({uTextures:{value:t,type:"i32",size:i}},{isStatic:!0}),e}var zS,dI=Q(()=>{Ii();zS={}});var fr,ys=Q(()=>{"use strict";fr=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(fr||{})});var Dt,Is=Q(()=>{_r();Zt();Mn();No();Tn();ys();Ii();Dt=class i extends At{constructor(e){super(),this.uid=ke("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:t,glProgram:r,groups:n,resources:s,compatibleRenderers:o,groupMap:a}=e;this.gpuProgram=t,this.glProgram=r,o===void 0&&(o=0,t&&(o|=fr.WEBGPU),r&&(o|=fr.WEBGL)),this.compatibleRenderers=o;let u={};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 l in a[c]){let A=a[c][l];u[A]={group:c,binding:l,name:A}}else if(t&&n&&!a){let c=t.structsAndGroups.groups;a={},c.forEach(l=>{a[l.group]=a[l.group]||{},a[l.group][l.binding]=l.name,u[l.name]=l})}else if(s){n={},a={},t&&t.structsAndGroups.groups.forEach(A=>{a[A.group]=a[A.group]||{},a[A.group][A.binding]=A.name,u[A.name]=A});let c=0;for(let l in s)u[l]||(n[99]||(n[99]=new Wt,this._ownedBindGroups.push(n[99])),u[l]={group:99,binding:c,name:l},a[99]=a[99]||{},a[99][c]=l,c++);for(let l in s){let A=l,h=s[l];!h.source&&!h._resourceType&&(h=new it(h));let f=u[A];f&&(n[f.group]||(n[f.group]=new Wt,this._ownedBindGroups.push(n[f.group])),n[f.group].setResource(h,f.binding))}}this.groups=n,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(n,u)}addResource(e,t,r){var n,s;(n=this._uniformBindMap)[t]||(n[t]={}),(s=this._uniformBindMap[t])[r]||(s[r]=e),this.groups[t]||(this.groups[t]=new Wt,this._ownedBindGroups.push(this.groups[t]))}_buildResourceAccessor(e,t){let r={};for(let n in t){let s=t[n];Object.defineProperty(r,s.name,{get(){return e[s.group].getResource(s.binding)},set(o){e[s.group].setResource(o,s.binding)}})}return r}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:r,...n}=e,s,o;return t&&(s=Yt.from(t)),r&&(o=jt.from(r)),new i({gpuProgram:s,glProgram:o,...n})}}});var Cd,JS=Q(()=>{yd();uI();hI();Bd();dI();Is();Cd=class extends Dt{constructor(e){let t=Ko({name:"batch",bits:[Ed,_d(e),Xo]}),r=Yo({name:"batch",bits:[Id,xd(e),Vo]});super({glProgram:t,gpuProgram:r,resources:{batchSamplers:vd(e)}})}}});var ZS,$S,t1,r1=Q(()=>{ne();KQ();JQ();JS();ZS=null,$S=class e1 extends YQ{constructor(){super(...arguments),this.geometry=new fd,this.shader=ZS||(ZS=new Cd(this.maxTextures)),this.name=e1.extension.name,this.vertexSize=6}packAttributes(e,t,r,n,s){let o=s<<16|e.roundPixels&65535,a=e.transform,u=a.a,c=a.b,l=a.c,A=a.d,h=a.tx,f=a.ty,{positions:d,uvs:y}=e,g=e.color,E=e.attributeOffset,_=E+e.attributeSize;for(let x=E;x<_;x++){let I=x*2,P=d[I],F=d[I+1];t[n++]=u*P+l*F+h,t[n++]=A*F+c*P+f,t[n++]=y[I],t[n++]=y[I+1],r[n++]=g,r[n++]=o}}packQuadAttributes(e,t,r,n,s){let o=e.texture,a=e.transform,u=a.a,c=a.b,l=a.c,A=a.d,h=a.tx,f=a.ty,d=e.bounds,y=d.maxX,g=d.minX,E=d.maxY,_=d.minY,x=o.uvs,I=e.color,P=s<<16|e.roundPixels&65535;t[n+0]=u*g+l*_+h,t[n+1]=A*_+c*g+f,t[n+2]=x.x0,t[n+3]=x.y0,r[n+4]=I,r[n+5]=P,t[n+6]=u*y+l*_+h,t[n+7]=A*_+c*y+f,t[n+8]=x.x1,t[n+9]=x.y1,r[n+10]=I,r[n+11]=P,t[n+12]=u*y+l*E+h,t[n+13]=A*E+c*y+f,t[n+14]=x.x2,t[n+15]=x.y2,r[n+16]=I,r[n+17]=P,t[n+18]=u*g+l*E+h,t[n+19]=A*E+c*g+f,t[n+20]=x.x3,t[n+21]=x.y3,r[n+22]=I,r[n+23]=P}};$S.extension={type:[L.Batcher],name:"default"};t1=$S});function i1(i,e,t,r,n,s,o,a=null){let u=0;t*=e,n*=s;let c=a.a,l=a.b,A=a.c,h=a.d,f=a.tx,d=a.ty;for(;u<o;){let y=i[t],g=i[t+1];r[n]=c*y+A*g+f,r[n+1]=l*y+h*g+d,n+=s,t+=e,u++}}function n1(i,e,t,r){let n=0;for(e*=t;n<r;)i[e]=0,i[e+1]=0,e+=t,n++}var s1=Q(()=>{"use strict"});function pI(i,e,t,r,n){let s=e.a,o=e.b,a=e.c,u=e.d,c=e.tx,l=e.ty;t||(t=0),r||(r=2),n||(n=i.length/r-t);let A=t*r;for(let h=0;h<n;h++){let f=i[A],d=i[A+1];i[A]=s*f+a*d+c,i[A+1]=o*f+u*d+l,A+=r}}var o1=Q(()=>{"use strict"});var oz,Es,gI=Q(()=>{Je();sy();oz=new ie,Es=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,r=this.renderable;return r?Lf(t,r.groupColor)+(this.alpha*r.groupAlpha*255<<24):t+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||oz}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 zo,a1,l1,u1=Q(()=>{ne();zo={extension:{type:L.ShapeBuilder,name:"circle"},build(i,e){let t,r,n,s,o,a;if(i.type==="circle"){let I=i;t=I.x,r=I.y,o=a=I.radius,n=s=0}else if(i.type==="ellipse"){let I=i;t=I.x,r=I.y,o=I.halfWidth,a=I.halfHeight,n=s=0}else{let I=i,P=I.width/2,F=I.height/2;t=I.x+P,r=I.y+F,o=a=Math.max(0,Math.min(I.radius,Math.min(P,F))),n=P-o,s=F-a}if(!(o>=0&&a>=0&&n>=0&&s>=0))return e;let u=Math.ceil(2.3*Math.sqrt(o+a)),c=u*8+(n?4:0)+(s?4:0);if(c===0)return e;if(u===0)return e[0]=e[6]=t+n,e[1]=e[3]=r+s,e[2]=e[4]=t-n,e[5]=e[7]=r-s,e;let l=0,A=u*4+(n?2:0)+2,h=A,f=c,d=n+o,y=s,g=t+d,E=t-d,_=r+y;if(e[l++]=g,e[l++]=_,e[--A]=_,e[--A]=E,s){let I=r-y;e[h++]=E,e[h++]=I,e[--f]=I,e[--f]=g}for(let I=1;I<u;I++){let P=Math.PI/2*(I/u),F=n+Math.cos(P)*o,G=s+Math.sin(P)*a,q=t+F,T=t-F,K=r+G,J=r-G;e[l++]=q,e[l++]=K,e[--A]=K,e[--A]=T,e[h++]=T,e[h++]=J,e[--f]=J,e[--f]=q}d=n,y=s+a,g=t+d,E=t-d,_=r+y;let x=r-y;return e[l++]=g,e[l++]=_,e[--f]=x,e[--f]=g,n&&(e[l++]=E,e[l++]=_,e[--f]=x,e[--f]=E),e},triangulate(i,e,t,r,n,s){if(i.length===0)return;let o=0,a=0;for(let l=0;l<i.length;l+=2)o+=i[l],a+=i[l+1];o/=i.length/2,a/=i.length/2;let u=r;e[u*t]=o,e[u*t+1]=a;let c=u++;for(let l=0;l<i.length;l+=2)e[u*t]=i[l],e[u*t+1]=i[l+1],l>0&&(n[s++]=u,n[s++]=c,n[s++]=u-1),u++;n[s++]=c+1,n[s++]=c,n[s++]=u-1}},a1={...zo,extension:{...zo.extension,name:"ellipse"}},l1={...zo,extension:{...zo.extension,name:"roundedRectangle"}}});function c1(i){let e=i.length;if(e<6)return 1;let t=0;for(let r=0,n=i[e-2],s=i[e-1];r<e;r+=2){let o=i[r],a=i[r+1];t+=(o-n)*(a+s),n=o,s=a}return t<0?-1:1}var A1=Q(()=>{"use strict"});function h1(i,e,t,r,n,s,o,a){let u=i-t*n,c=e-r*n,l=i+t*s,A=e+r*s,h,f;o?(h=r,f=-t):(h=-r,f=t);let d=u+h,y=c+f,g=l+h,E=A+f;return a.push(d,y),a.push(g,E),2}function xs(i,e,t,r,n,s,o,a){let u=t-i,c=r-e,l=Math.atan2(u,c),A=Math.atan2(n-i,s-e);a&&l<A?l+=Math.PI*2:!a&&l>A&&(A+=Math.PI*2);let h=l,f=A-l,d=Math.abs(f),y=Math.sqrt(u*u+c*c),g=(15*d*Math.sqrt(y)/Math.PI>>0)+1,E=f/g;if(h+=E,a){o.push(i,e),o.push(t,r);for(let _=1,x=h;_<g;_++,x+=E)o.push(i,e),o.push(i+Math.sin(x)*y,e+Math.cos(x)*y);o.push(i,e),o.push(n,s)}else{o.push(t,r),o.push(i,e);for(let _=1,x=h;_<g;_++,x+=E)o.push(i+Math.sin(x)*y,e+Math.cos(x)*y),o.push(i,e);o.push(n,s),o.push(i,e)}return g*2}function f1(i,e,t,r,n,s){let o=1e-4;if(i.length===0)return;let a=e,u=a.alignment;if(e.alignment!==.5){let Me=c1(i);t&&(Me*=-1),u=(u-.5)*Me+.5}let c=new re(i[0],i[1]),l=new re(i[i.length-2],i[i.length-1]),A=r,h=Math.abs(c.x-l.x)<o&&Math.abs(c.y-l.y)<o;if(A){i=i.slice(),h&&(i.pop(),i.pop(),l.set(i[i.length-2],i[i.length-1]));let Me=(c.x+l.x)*.5,Et=(l.y+c.y)*.5;i.unshift(Me,Et),i.push(Me,Et)}let f=n,d=i.length/2,y=i.length,g=f.length/2,E=a.width/2,_=E*E,x=a.miterLimit*a.miterLimit,I=i[0],P=i[1],F=i[2],G=i[3],q=0,T=0,K=-(P-G),J=I-F,$=0,ue=0,_e=Math.sqrt(K*K+J*J);K/=_e,J/=_e,K*=E,J*=E;let Ze=u,ce=(1-Ze)*2,te=Ze*2;A||(a.cap==="round"?y+=xs(I-K*(ce-te)*.5,P-J*(ce-te)*.5,I-K*ce,P-J*ce,I+K*te,P+J*te,f,!0)+2:a.cap==="square"&&(y+=h1(I,P,K,J,ce,te,!0,f))),f.push(I-K*ce,P-J*ce),f.push(I+K*te,P+J*te);for(let Me=1;Me<d-1;++Me){I=i[(Me-1)*2],P=i[(Me-1)*2+1],F=i[Me*2],G=i[Me*2+1],q=i[(Me+1)*2],T=i[(Me+1)*2+1],K=-(P-G),J=I-F,_e=Math.sqrt(K*K+J*J),K/=_e,J/=_e,K*=E,J*=E,$=-(G-T),ue=F-q,_e=Math.sqrt($*$+ue*ue),$/=_e,ue/=_e,$*=E,ue*=E;let Et=F-I,Ce=P-G,Re=F-q,Ot=T-G,Gt=Et*Re+Ce*Ot,pt=Ce*Re-Ot*Et,sr=pt<0;if(Math.abs(pt)<.001*Math.abs(Gt)){f.push(F-K*ce,G-J*ce),f.push(F+K*te,G+J*te),Gt>=0&&(a.join==="round"?y+=xs(F,G,F-K*ce,G-J*ce,F-$*ce,G-ue*ce,f,!1)+4:y+=2,f.push(F-$*te,G-ue*te),f.push(F+$*ce,G+ue*ce));continue}let S=(-K+I)*(-J+G)-(-K+F)*(-J+P),B=(-$+q)*(-ue+G)-(-$+F)*(-ue+T),H=(Et*B-Re*S)/pt,U=(Ot*S-Ce*B)/pt,we=(H-F)*(H-F)+(U-G)*(U-G),Ge=F+(H-F)*ce,Pe=G+(U-G)*ce,ye=F-(H-F)*te,He=G-(U-G)*te,or=Math.min(Et*Et+Ce*Ce,Re*Re+Ot*Ot),qe=sr?ce:te,ct=or+qe*qe*_;we<=ct?a.join==="bevel"||we/_>x?(sr?(f.push(Ge,Pe),f.push(F+K*te,G+J*te),f.push(Ge,Pe),f.push(F+$*te,G+ue*te)):(f.push(F-K*ce,G-J*ce),f.push(ye,He),f.push(F-$*ce,G-ue*ce),f.push(ye,He)),y+=2):a.join==="round"?sr?(f.push(Ge,Pe),f.push(F+K*te,G+J*te),y+=xs(F,G,F+K*te,G+J*te,F+$*te,G+ue*te,f,!0)+4,f.push(Ge,Pe),f.push(F+$*te,G+ue*te)):(f.push(F-K*ce,G-J*ce),f.push(ye,He),y+=xs(F,G,F-K*ce,G-J*ce,F-$*ce,G-ue*ce,f,!1)+4,f.push(F-$*ce,G-ue*ce),f.push(ye,He)):(f.push(Ge,Pe),f.push(ye,He)):(f.push(F-K*ce,G-J*ce),f.push(F+K*te,G+J*te),a.join==="round"?sr?y+=xs(F,G,F+K*te,G+J*te,F+$*te,G+ue*te,f,!0)+2:y+=xs(F,G,F-K*ce,G-J*ce,F-$*ce,G-ue*ce,f,!1)+2:a.join==="miter"&&we/_<=x&&(sr?(f.push(ye,He),f.push(ye,He)):(f.push(Ge,Pe),f.push(Ge,Pe)),y+=2),f.push(F-$*ce,G-ue*ce),f.push(F+$*te,G+ue*te),y+=2)}I=i[(d-2)*2],P=i[(d-2)*2+1],F=i[(d-1)*2],G=i[(d-1)*2+1],K=-(P-G),J=I-F,_e=Math.sqrt(K*K+J*J),K/=_e,J/=_e,K*=E,J*=E,f.push(F-K*ce,G-J*ce),f.push(F+K*te,G+J*te),A||(a.cap==="round"?y+=xs(F-K*(ce-te)*.5,G-J*(ce-te)*.5,F-K*ce,G-J*ce,F+K*te,G+J*te,f,!1)+2:a.cap==="square"&&(y+=h1(F,G,K,J,ce,te,!1,f)));let vt=1e-4*1e-4;for(let Me=g;Me<y+g-2;++Me)I=f[Me*2],P=f[Me*2+1],F=f[(Me+1)*2],G=f[(Me+1)*2+1],q=f[(Me+2)*2],T=f[(Me+2)*2+1],!(Math.abs(I*(G-T)+F*(T-P)+q*(P-G))<vt)&&s.push(Me,Me+1,Me+2)}var d1=Q(()=>{hr();A1()});function p1(i,e,t,r){let n=1e-4;if(i.length===0)return;let s=i[0],o=i[1],a=i[i.length-2],u=i[i.length-1],c=e||Math.abs(s-a)<n&&Math.abs(o-u)<n,l=t,A=i.length/2,h=l.length/2;for(let f=0;f<A;f++)l.push(i[f*2]),l.push(i[f*2+1]);for(let f=0;f<A-1;f++)r.push(h+f,h+f+1);c&&r.push(h+A-1,h)}var g1=Q(()=>{});var xI=D((Cue,EI)=>{"use strict";EI.exports=Qd;EI.exports.default=Qd;function Qd(i,e,t){t=t||2;var r=e&&e.length,n=r?e[0]*t:i.length,s=y1(i,0,n,t,!0),o=[];if(!s||s.next===s.prev)return o;var a,u,c,l,A,h,f;if(r&&(s=fz(i,e,s,t)),i.length>80*t){a=c=i[0],u=l=i[1];for(var d=t;d<n;d+=t)A=i[d],h=i[d+1],A<a&&(a=A),h<u&&(u=h),A>c&&(c=A),h>l&&(l=h);f=Math.max(c-a,l-u),f=f!==0?32767/f:0}return wl(s,o,t,a,u,f,0),o}function y1(i,e,t,r,n){var s,o;if(n===II(i,e,t,r)>0)for(s=e;s<t;s+=r)o=m1(s,i[s],i[s+1],o);else for(s=t-r;s>=e;s-=r)o=m1(s,i[s],i[s+1],o);return o&&Sd(o,o.next)&&(Sl(o),o=o.next),o}function _s(i,e){if(!i)return i;e||(e=i);var t=i,r;do if(r=!1,!t.steiner&&(Sd(t,t.next)||ft(t.prev,t,t.next)===0)){if(Sl(t),t=e=t.prev,t===t.next)break;r=!0}else t=t.next;while(r||t!==e);return e}function wl(i,e,t,r,n,s,o){if(i){!o&&s&&yz(i,r,n,s);for(var a=i,u,c;i.prev!==i.next;){if(u=i.prev,c=i.next,s?cz(i,r,n,s):uz(i)){e.push(u.i/t|0),e.push(i.i/t|0),e.push(c.i/t|0),Sl(i),i=c.next,a=c.next;continue}if(i=c,i===a){o?o===1?(i=Az(_s(i),e,t),wl(i,e,t,r,n,s,2)):o===2&&hz(i,e,t,r,n,s):wl(_s(i),e,t,r,n,s,1);break}}}}function uz(i){var e=i.prev,t=i,r=i.next;if(ft(e,t,r)>=0)return!1;for(var n=e.x,s=t.x,o=r.x,a=e.y,u=t.y,c=r.y,l=n<s?n<o?n:o:s<o?s:o,A=a<u?a<c?a:c:u<c?u:c,h=n>s?n>o?n:o:s>o?s:o,f=a>u?a>c?a:c:u>c?u:c,d=r.next;d!==e;){if(d.x>=l&&d.x<=h&&d.y>=A&&d.y<=f&&Jo(n,a,s,u,o,c,d.x,d.y)&&ft(d.prev,d,d.next)>=0)return!1;d=d.next}return!0}function cz(i,e,t,r){var n=i.prev,s=i,o=i.next;if(ft(n,s,o)>=0)return!1;for(var a=n.x,u=s.x,c=o.x,l=n.y,A=s.y,h=o.y,f=a<u?a<c?a:c:u<c?u:c,d=l<A?l<h?l:h:A<h?A:h,y=a>u?a>c?a:c:u>c?u:c,g=l>A?l>h?l:h:A>h?A:h,E=mI(f,d,e,t,r),_=mI(y,g,e,t,r),x=i.prevZ,I=i.nextZ;x&&x.z>=E&&I&&I.z<=_;){if(x.x>=f&&x.x<=y&&x.y>=d&&x.y<=g&&x!==n&&x!==o&&Jo(a,l,u,A,c,h,x.x,x.y)&&ft(x.prev,x,x.next)>=0||(x=x.prevZ,I.x>=f&&I.x<=y&&I.y>=d&&I.y<=g&&I!==n&&I!==o&&Jo(a,l,u,A,c,h,I.x,I.y)&&ft(I.prev,I,I.next)>=0))return!1;I=I.nextZ}for(;x&&x.z>=E;){if(x.x>=f&&x.x<=y&&x.y>=d&&x.y<=g&&x!==n&&x!==o&&Jo(a,l,u,A,c,h,x.x,x.y)&&ft(x.prev,x,x.next)>=0)return!1;x=x.prevZ}for(;I&&I.z<=_;){if(I.x>=f&&I.x<=y&&I.y>=d&&I.y<=g&&I!==n&&I!==o&&Jo(a,l,u,A,c,h,I.x,I.y)&&ft(I.prev,I,I.next)>=0)return!1;I=I.nextZ}return!0}function Az(i,e,t){var r=i;do{var n=r.prev,s=r.next.next;!Sd(n,s)&&I1(n,r,r.next,s)&&Ql(n,s)&&Ql(s,n)&&(e.push(n.i/t|0),e.push(r.i/t|0),e.push(s.i/t|0),Sl(r),Sl(r.next),r=i=s),r=r.next}while(r!==i);return _s(r)}function hz(i,e,t,r,n,s){var o=i;do{for(var a=o.next.next;a!==o.prev;){if(o.i!==a.i&&xz(o,a)){var u=E1(o,a);o=_s(o,o.next),u=_s(u,u.next),wl(o,e,t,r,n,s,0),wl(u,e,t,r,n,s,0);return}a=a.next}o=o.next}while(o!==i)}function fz(i,e,t,r){var n=[],s,o,a,u,c;for(s=0,o=e.length;s<o;s++)a=e[s]*r,u=s<o-1?e[s+1]*r:i.length,c=y1(i,a,u,r,!1),c===c.next&&(c.steiner=!0),n.push(Ez(c));for(n.sort(dz),s=0;s<n.length;s++)t=pz(n[s],t);return t}function dz(i,e){return i.x-e.x}function pz(i,e){var t=gz(i,e);if(!t)return e;var r=E1(t,i);return _s(r,r.next),_s(t,t.next)}function gz(i,e){var t=e,r=i.x,n=i.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<=r&&a>s&&(s=a,o=t.x<t.next.x?t:t.next,a===r))return o}t=t.next}while(t!==e);if(!o)return null;var u=o,c=o.x,l=o.y,A=1/0,h;t=o;do r>=t.x&&t.x>=c&&r!==t.x&&Jo(n<l?r:s,n,c,l,n<l?s:r,n,t.x,t.y)&&(h=Math.abs(n-t.y)/(r-t.x),Ql(t,i)&&(h<A||h===A&&(t.x>o.x||t.x===o.x&&mz(o,t)))&&(o=t,A=h)),t=t.next;while(t!==u);return o}function mz(i,e){return ft(i.prev,i,e.prev)<0&&ft(e.next,i,i.next)<0}function yz(i,e,t,r){var n=i;do n.z===0&&(n.z=mI(n.x,n.y,e,t,r)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==i);n.prevZ.nextZ=null,n.prevZ=null,Iz(n)}function Iz(i){var e,t,r,n,s,o,a,u,c=1;do{for(t=i,i=null,s=null,o=0;t;){for(o++,r=t,a=0,e=0;e<c&&(a++,r=r.nextZ,!!r);e++);for(u=c;a>0||u>0&&r;)a!==0&&(u===0||!r||t.z<=r.z)?(n=t,t=t.nextZ,a--):(n=r,r=r.nextZ,u--),s?s.nextZ=n:i=n,n.prevZ=s,s=n;t=r}s.nextZ=null,c*=2}while(o>1);return i}function mI(i,e,t,r,n){return i=(i-t)*n|0,e=(e-r)*n|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,i|e<<1}function Ez(i){var e=i,t=i;do(e.x<t.x||e.x===t.x&&e.y<t.y)&&(t=e),e=e.next;while(e!==i);return t}function Jo(i,e,t,r,n,s,o,a){return(n-o)*(e-a)>=(i-o)*(s-a)&&(i-o)*(r-a)>=(t-o)*(e-a)&&(t-o)*(s-a)>=(n-o)*(r-a)}function xz(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!_z(i,e)&&(Ql(i,e)&&Ql(e,i)&&Bz(i,e)&&(ft(i.prev,i,e.prev)||ft(i,e.prev,e))||Sd(i,e)&&ft(i.prev,i,i.next)>0&&ft(e.prev,e,e.next)>0)}function ft(i,e,t){return(e.y-i.y)*(t.x-e.x)-(e.x-i.x)*(t.y-e.y)}function Sd(i,e){return i.x===e.x&&i.y===e.y}function I1(i,e,t,r){var n=wd(ft(i,e,t)),s=wd(ft(i,e,r)),o=wd(ft(t,r,i)),a=wd(ft(t,r,e));return!!(n!==s&&o!==a||n===0&&bd(i,t,e)||s===0&&bd(i,r,e)||o===0&&bd(t,i,r)||a===0&&bd(t,e,r))}function bd(i,e,t){return e.x<=Math.max(i.x,t.x)&&e.x>=Math.min(i.x,t.x)&&e.y<=Math.max(i.y,t.y)&&e.y>=Math.min(i.y,t.y)}function wd(i){return i>0?1:i<0?-1:0}function _z(i,e){var t=i;do{if(t.i!==i.i&&t.next.i!==i.i&&t.i!==e.i&&t.next.i!==e.i&&I1(t,t.next,i,e))return!0;t=t.next}while(t!==i);return!1}function Ql(i,e){return ft(i.prev,i,i.next)<0?ft(i,e,i.next)>=0&&ft(i,i.prev,e)>=0:ft(i,e,i.prev)<0||ft(i,i.next,e)<0}function Bz(i,e){var t=i,r=!1,n=(i.x+e.x)/2,s=(i.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&&(r=!r),t=t.next;while(t!==i);return r}function E1(i,e){var t=new yI(i.i,i.x,i.y),r=new yI(e.i,e.x,e.y),n=i.next,s=e.prev;return i.next=e,e.prev=i,t.next=n,n.prev=t,r.next=t,t.prev=r,s.next=r,r.prev=s,r}function m1(i,e,t,r){var n=new yI(i,e,t);return r?(n.next=r.next,n.prev=r,r.next.prev=n,r.next=n):(n.prev=n,n.next=n),n}function Sl(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function yI(i,e,t){this.i=i,this.x=e,this.y=t,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}Qd.deviation=function(i,e,t,r){var n=e&&e.length,s=n?e[0]*t:i.length,o=Math.abs(II(i,0,s,t));if(n)for(var a=0,u=e.length;a<u;a++){var c=e[a]*t,l=a<u-1?e[a+1]*t:i.length;o-=Math.abs(II(i,c,l,t))}var A=0;for(a=0;a<r.length;a+=3){var h=r[a]*t,f=r[a+1]*t,d=r[a+2]*t;A+=Math.abs((i[h]-i[d])*(i[f+1]-i[h+1])-(i[h]-i[f])*(i[d+1]-i[h+1]))}return o===0&&A===0?0:Math.abs((A-o)/o)};function II(i,e,t,r){for(var n=0,s=e,o=t-r;s<t;s+=r)n+=(i[o]-i[s])*(i[s+1]+i[o+1]),o=s;return n}Qd.flatten=function(i){for(var e=i[0][0].length,t={vertices:[],holes:[],dimensions:e},r=0,n=0;n<i.length;n++){for(var s=0;s<i[n].length;s++)for(var o=0;o<e;o++)t.vertices.push(i[n][s][o]);n>0&&(r+=i[n-1].length,t.holes.push(r))}return t}});function Md(i,e,t,r,n,s,o){let a=(0,x1.default)(i,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 u=n*r;for(let c=0;c<i.length;c+=2)t[u]=i[c],t[u+1]=i[c+1],u+=r}var x1,_I=Q(()=>{x1=zt(xI(),1)});var vz,_1,B1=Q(()=>{ne();_I();vz=[],_1={extension:{type:L.ShapeBuilder,name:"polygon"},build(i,e){for(let t=0;t<i.points.length;t++)e[t]=i.points[t];return e},triangulate(i,e,t,r,n,s){Md(i,vz,e,t,r,n,s)}}});var v1,C1=Q(()=>{ne();v1={extension:{type:L.ShapeBuilder,name:"rectangle"},build(i,e){let t=i,r=t.x,n=t.y,s=t.width,o=t.height;return s>=0&&o>=0&&(e[0]=r,e[1]=n,e[2]=r+s,e[3]=n,e[4]=r+s,e[5]=n+o,e[6]=r,e[7]=n+o),e},triangulate(i,e,t,r,n,s){let o=0;r*=t,e[r+o]=i[0],e[r+o+1]=i[1],o+=t,e[r+o]=i[2],e[r+o+1]=i[3],o+=t,e[r+o]=i[6],e[r+o+1]=i[7],o+=t,e[r+o]=i[4],e[r+o+1]=i[5],o+=t;let a=r/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 b1,w1=Q(()=>{ne();b1={extension:{type:L.ShapeBuilder,name:"triangle"},build(i,e){return e[0]=i.x,e[1]=i.y,e[2]=i.x2,e[3]=i.y2,e[4]=i.x3,e[5]=i.y3,e},triangulate(i,e,t,r,n,s){let o=0;r*=t,e[r+o]=i[0],e[r+o+1]=i[1],o+=t,e[r+o]=i[2],e[r+o+1]=i[3],o+=t,e[r+o]=i[4],e[r+o+1]=i[5];let a=r/t;n[s++]=a,n[s++]=a+1,n[s++]=a+2}}});function S1(i,e){for(let t=0;t<e.length;t++){let r=e[t];i.addColorStop(r.offset,r.color)}}function M1(i,e){let t=Se.get().createCanvas(i,e),r=t.getContext("2d");return{canvas:t,context:r}}function Cz(i){let e=i[0]??{};return(typeof e=="number"||i[1])&&(se("8.5.2","use options object instead"),e={type:"linear",start:{x:i[0],y:i[1]},end:{x:i[2],y:i[3]},textureSpace:i[4],textureSize:i[5]??dr.defaultLinearOptions.textureSize}),e}var Q1,vI,dr,Zo=Q(()=>{Ar();kt();Je();fs();ot();Zt();st();hy();Q1=[{offset:0,color:"white"},{offset:1,color:"black"}],vI=class BI{constructor(...e){this.uid=ke("fillGradient"),this.type="linear",this.colorStops=[];let t=Cz(e);t={...t.type==="radial"?BI.defaultRadialOptions:BI.defaultLinearOptions,...Hf(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:De.shared.setValue(t).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:e,y:t}=this.start,{x:r,y:n}=this.end,s=r-e,o=n-t,a=s<0||o<0;if(this._wrapMode==="clamp-to-edge"){if(s<0){let g=e;e=r,r=g,s*=-1}if(o<0){let g=t;t=n,n=g,o*=-1}}let u=this.colorStops.length?this.colorStops:Q1,c=this._textureSize,{canvas:l,context:A}=M1(c,1),h=a?A.createLinearGradient(this._textureSize,0,0,0):A.createLinearGradient(0,0,this._textureSize,0);S1(h,u),A.fillStyle=h,A.fillRect(0,0,c,1),this.texture=new V({source:new qt({resource:l,addressMode:this._wrapMode})});let f=Math.sqrt(s*s+o*o),d=Math.atan2(o,s),y=new ie;y.scale(f/c,1),y.rotate(d),y.translate(e,t),this.textureSpace==="local"&&y.scale(c,c),this.transform=y}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient()}buildRadialGradient(){if(this.texture)return;let e=this.colorStops.length?this.colorStops:Q1,t=this._textureSize,{canvas:r,context:n}=M1(t,t),{x:s,y:o}=this.center,{x:a,y:u}=this.outerCenter,c=this.innerRadius,l=this.outerRadius,A=a-l,h=u-l,f=t/(l*2),d=(s-A)*f,y=(o-h)*f,g=n.createRadialGradient(d,y,c*f,(a-A)*f,(u-h)*f,l*f);S1(g,e),n.fillStyle=e[e.length-1].color,n.fillRect(0,0,t,t),n.fillStyle=g,n.translate(d,y),n.rotate(this.rotation),n.scale(1,this.scale),n.translate(-d,-y),n.fillRect(0,0,t,t),this.texture=new V({source:new qt({resource:r,addressMode:this._wrapMode})});let E=new ie;E.scale(1/f,1/f),E.translate(A,h),this.textureSpace==="local"&&E.scale(t,t),this.transform=E}get styleKey(){return this.uid}destroy(){this.texture?.destroy(!0),this.texture=null}};vI.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};vI.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};dr=vI});function T1(i,e,t,r){let n=e.matrix?i.copyFrom(e.matrix).invert():i.identity();if(e.textureSpace==="local"){let o=t.getBounds(wz);e.width&&o.pad(e.width);let{x:a,y:u}=o,c=1/o.width,l=1/o.height,A=-a*c,h=-u*l,f=n.a,d=n.b,y=n.c,g=n.d;n.a*=c,n.b*=c,n.c*=l,n.d*=l,n.tx=A*f+h*y+n.tx,n.ty=A*d+h*g+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 dr)&&s.addressMode==="clamp-to-edge"&&(s.addressMode="repeat",s.update()),r&&n.append(bz.copyFrom(r).invert()),n}var bz,wz,P1=Q(()=>{Je();$t();Zo();bz=new ie,wz=new pe});function F1(i,e){let{geometryData:t,batches:r}=e;r.length=0,t.indices.length=0,t.vertices.length=0,t.uvs.length=0;for(let n=0;n<i.instructions.length;n++){let s=i.instructions[n];if(s.action==="texture")Mz(s.data,r,t);else if(s.action==="fill"||s.action==="stroke"){let o=s.action==="stroke",a=s.data.path.shapePath,u=s.data.style,c=s.data.hole;o&&c&&D1(c.shapePath,u,!0,r,t),c&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=c.shapePath.shapePrimitives),D1(a,u,o,r,t)}}}function Mz(i,e,t){let{vertices:r,uvs:n,indices:s}=t,o=s.length,a=r.length/2,u=[],c=Td.rectangle,l=Qz,A=i.image;l.x=i.dx,l.y=i.dy,l.width=i.dw,l.height=i.dh;let h=i.transform;c.build(l,u),h&&pI(u,h),c.triangulate(u,r,2,a,s,o);let f=A.uvs;n.push(f.x0,f.y0,f.x1,f.y1,f.x3,f.y3,f.x2,f.y2);let d=Be.get(Es);d.indexOffset=o,d.indexSize=s.length-o,d.attributeOffset=a,d.attributeSize=r.length/2-a,d.baseColor=i.style,d.alpha=i.alpha,d.texture=A,d.geometryData=t,e.push(d)}function D1(i,e,t,r,n){let{vertices:s,uvs:o,indices:a}=n;i.shapePrimitives.forEach(({shape:u,transform:c,holes:l})=>{let A=a.length,h=s.length/2,f=[],d=Td[u.type],y="triangle-list";if(d.build(u,f),c&&pI(f,c),t){let x=u.closePath??!0,I=e;I.pixelLine?(p1(f,x,s,a),y="line-list"):f1(f,I,!1,x,s,a)}else if(l){let x=[],I=f.slice();Tz(l).forEach(F=>{x.push(I.length/2),I.push(...F)}),Md(I,x,s,2,h,a,A)}else d.triangulate(f,s,2,h,a,A);let g=o.length/2,E=e.texture;if(E!==V.WHITE){let x=T1(Sz,e,u,c);i1(s,2,h,o,g,2,s.length/2-h,x)}else n1(o,g,2,s.length/2-h);let _=Be.get(Es);_.indexOffset=A,_.indexSize=a.length-A,_.attributeOffset=h,_.attributeSize=s.length/2-h,_.baseColor=e.color,_.alpha=e.alpha,_.texture=E,_.geometryData=n,_.topology=y,r.push(_)})}function Tz(i){let e=[];for(let t=0;t<i.length;t++){let r=i[t].shape,n=[];Td[r.type].build(r,n),e.push(n)}return e}var Td,Qz,Sz,O1=Q(()=>{ne();Je();$t();s1();o1();ot();Br();gI();u1();d1();g1();B1();C1();w1();P1();_I();Td={};le.handleByMap(L.ShapeBuilder,Td);le.add(v1,_1,b1,zo,a1,l1);Qz=new pe,Sz=new ie});var CI,bI,QI,$o,Pd=Q(()=>{ne();kQ();r1();cy();st();Br();O1();CI=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]}}},bI=class{constructor(){this.batcher=new t1,this.instructions=new Do}init(){this.instructions.reset()}get geometry(){return se(Wb,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},QI=class wI{constructor(e){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),e.renderableGC.addManagedHash(this,"_gpuContextHash"),e.renderableGC.addManagedHash(this,"_graphicsDataContextHash")}init(e){wI.defaultOptions.bezierSmoothness=e?.bezierSmoothness??wI.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),F1(e,t);let r=e.batchMode;e.customShader||r==="no-batch"?t.isBatchable=!1:r==="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=Be.get(bI),{batches:r,geometryData:n}=this._gpuContextHash[e.uid],s=n.vertices.length,o=n.indices.length;for(let l=0;l<r.length;l++)r[l].applyTransform=!1;let a=t.batcher;a.ensureAttributeBuffer(s),a.ensureIndexBuffer(o),a.begin();for(let l=0;l<r.length;l++){let A=r[l];a.add(A)}a.finish(t.instructions);let u=a.geometry;u.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,!0),u.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,!0);let c=a.batches;for(let l=0;l<c.length;l++){let A=c[l];A.bindGroup=RQ(A.textures.textures,A.textures.count)}return this._graphicsDataContextHash[e.uid]=t,t}_initContext(e){let t=new CI;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]&&(Be.return(this.getContextRenderData(e)),this._graphicsDataContextHash[e.uid]=null),t.batches&&t.batches.forEach(r=>{Be.return(r)})}destroy(){for(let e in this._gpuContextHash)this._gpuContextHash[e]&&this.onGraphicsContextDestroy(this._gpuContextHash[e].context)}};QI.extension={type:[L.WebGLSystem,L.WebGPUSystem,L.CanvasSystem],name:"graphicsContext"};QI.defaultOptions={bezierSmoothness:.5};$o=QI});var Pz,SI,MI,TI,PI,DI,FI,OI,pr,Bs=Q(()=>{"use strict";Pz={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},SI=0,MI=1,TI=2,PI=3,DI=4,FI=5,OI=class R1{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(this.data&1<<SI)}set blend(e){!!(this.data&1<<SI)!==e&&(this.data^=1<<SI)}get offsets(){return!!(this.data&1<<MI)}set offsets(e){!!(this.data&1<<MI)!==e&&(this.data^=1<<MI)}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<<TI)}set culling(e){!!(this.data&1<<TI)!==e&&(this.data^=1<<TI)}get depthTest(){return!!(this.data&1<<PI)}set depthTest(e){!!(this.data&1<<PI)!==e&&(this.data^=1<<PI)}get depthMask(){return!!(this.data&1<<FI)}set depthMask(e){!!(this.data&1<<FI)!==e&&(this.data^=1<<FI)}get clockwiseFrontFace(){return!!(this.data&1<<DI)}set clockwiseFrontFace(e){!!(this.data&1<<DI)!==e&&(this.data^=1<<DI)}get blendMode(){return this._blendMode}set blendMode(e){this.blend=e!=="none",this._blendMode=e,this._blendModeId=Pz[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 R1;return e.depthTest=!1,e.blend=!0,e}};OI.default2d=OI.for2d();pr=OI});function Dn(i,e,t){let r=(i>>24&255)/255;e[t++]=(i&255)/255*r,e[t++]=(i>>8&255)/255*r,e[t++]=(i>>16&255)/255*r,e[t++]=r}var Ml=Q(()=>{"use strict"});var Tl,k1=Q(()=>{ne();Bs();Br();Ml();gI();Tl=class{constructor(e,t){this.state=pr.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,r=!!this._graphicsBatchesHash[e.uid],n=this.renderer.graphicsContext.updateGpuContext(t);return!!(n.isBatchable||r!==n.isBatchable)}addRenderable(e,t){let r=this.renderer.graphicsContext.updateGpuContext(e.context);e.didViewUpdate&&this._rebuild(e),r.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 r=0;r<t.length;r++){let n=t[r];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,r=e.context;if(!t.graphicsContext.getGpuContext(r).batches.length)return;let s=r.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,Dn(e.groupColorAlpha,o.uColor,0),this._adaptor.execute(this,e)}_rebuild(e){let t=!!this._graphicsBatchesHash[e.uid],r=this.renderer.graphicsContext.updateGpuContext(e.context);t&&this._removeBatchForRenderable(e.uid),r.isBatchable&&this._initBatchesForRenderable(e),e.batched=r.isBatchable}_addToBatcher(e,t){let r=this.renderer.renderPipes.batch,n=this._getBatchesForRenderable(e);for(let s=0;s<n.length;s++){let o=n[s];r.addToBatch(o,t)}}_getBatchesForRenderable(e){return this._graphicsBatchesHash[e.uid]||this._initBatchesForRenderable(e)}_initBatchesForRenderable(e){let t=e.context,r=this.renderer.graphicsContext.getGpuContext(t),n=this.renderer._roundPixels|e._roundPixels,s=r.batches.map(o=>{let a=Be.get(Es);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=>{Be.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}};Tl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"graphics"}});var RI=Q(()=>{ne();Pd();k1();le.add(Tl);le.add($o)});var Fn,Dd=Q(()=>{"use strict";Fn=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"),r=t.data,n=r,s=this.texture.textureMatrix;return s.isSimple||(n=this._transformedUvs,(this._textureMatrixUpdateId!==s._updateID||this._uvUpdateId!==t._updateID)&&((!n||n.length<r.length)&&(n=this._transformedUvs=new Float32Array(r.length)),this._textureMatrixUpdateId=s._updateID,this._uvUpdateId=t._updateID,s.multiplyUvs(r,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 Pl,G1=Q(()=>{ne();Je();No();Ii();Cl();Br();Ml();Dd();Pl=class{constructor(e,t){this.localUniforms=new it({uTransformMatrix:{value:new ie,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new Wt({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),r=t.batched,n=e.batched;if(t.batched=n,r!==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 r=this.renderer.renderPipes.batch,{batched:n}=this._getMeshData(e);if(n){let s=this._getBatchableMesh(e);s.setTexture(e._texture),s.geometry=e._geometry,r.addToBatch(s,t)}else r.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&&(Be.return(t),this._gpuBatchableMeshHash[e.uid]=null),e.off("destroyed",this._destroyRenderableBound)}execute(e){if(!e.isRenderable)return;e.state.blendMode=Wi(e.groupBlendMode,e.texture._source);let t=this.localUniforms;t.uniforms.uTransformMatrix=e.groupTransform,t.uniforms.uRound=this.renderer._roundPixels|e._roundPixels,t.update(),Dn(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=Be.get(Fn);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]&&Be.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}};Pl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"mesh"}});var kI=Q(()=>{ne();G1();le.add(Pl)});var Fd,U1=Q(()=>{"use strict";Fd=class{execute(e,t){let r=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(r),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 GI(i,e=null){let t=i*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 r=0,n=0;r<t;r+=6,n+=4)e[r+0]=n+0,e[r+1]=n+1,e[r+2]=n+2,e[r+3]=n+0,e[r+4]=n+2,e[r+5]=n+3;return e}var L1=Q(()=>{"use strict"});function H1(i){return{dynamicUpdate:N1(i,!0),staticUpdate:N1(i,!1)}}function N1(i,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 r=0;for(let s in i){let o=i[s];if(e!==o.dynamic)continue;t.push(`offset = index + ${r}`),t.push(o.code);let a=ms(o.format);r+=a.stride/4}t.push(`
|
|
264
|
+
index += stride * 4;
|
|
265
|
+
}
|
|
266
|
+
`),t.unshift(`
|
|
267
|
+
var stride = ${r};
|
|
268
|
+
`);let n=t.join(`
|
|
269
|
+
`);return new Function("ps","f32v","u32v",n)}var q1=Q(()=>{gd()});function Dz(i){let e=[];for(let t in i){let r=i[t];e.push(t,r.code,r.dynamic?"d":"s")}return e.join("_")}var Od,W1=Q(()=>{ps();ds();gs();gd();Vy();L1();q1();Od=class{constructor(e){this._size=0,this._generateParticleUpdateCache={};let t=this._size=e.size??1e3,r=e.properties,n=0,s=0;for(let l in r){let A=r[l],h=ms(A.format);A.dynamic?s+=h.stride:n+=h.stride}this._dynamicStride=s/4,this._staticStride=n/4,this.staticAttributeBuffer=new yi(t*4*n),this.dynamicAttributeBuffer=new yi(t*4*s),this.indexBuffer=GI(t);let o=new Pt,a=0,u=0;this._staticBuffer=new lt({data:new Float32Array(1),label:"static-particle-buffer",shrinkToFit:!1,usage:Te.VERTEX|Te.COPY_DST}),this._dynamicBuffer=new lt({data:new Float32Array(1),label:"dynamic-particle-buffer",shrinkToFit:!1,usage:Te.VERTEX|Te.COPY_DST});for(let l in r){let A=r[l],h=ms(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:u*4,format:A.format}),u+=h.size)}o.addIndex(this.indexBuffer);let c=this.getParticleUpdate(r);this._dynamicUpload=c.dynamicUpdate,this._staticUpload=c.staticUpdate,this.geometry=o}getParticleUpdate(e){let t=Dz(e);return this._generateParticleUpdateCache[t]?this._generateParticleUpdateCache[t]:(this._generateParticleUpdateCache[t]=this.generateParticleUpdate(e),this._generateParticleUpdateCache[t])}generateParticleUpdate(e){return H1(e)}update(e,t){e.length>this._size&&(t=!0,this._size=Math.max(e.length,this._size*1.5|0),this.staticAttributeBuffer=new yi(this._size*this._staticStride*4*4),this.dynamicAttributeBuffer=new yi(this._size*this._dynamicStride*4*4),this.indexBuffer=GI(this._size),this.geometry.indexBuffer.setDataWithSize(this.indexBuffer,this.indexBuffer.byteLength,!0));let r=this.dynamicAttributeBuffer;if(this._dynamicUpload(e,r.float32View,r.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 j1,Y1=Q(()=>{j1=`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 K1,V1=Q(()=>{K1=`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 UI,X1=Q(()=>{UI=`
|
|
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 Rd,z1=Q(()=>{Ar();Je();Mn();Tn();Is();ot();fy();Y1();V1();X1();Rd=class extends Dt{constructor(){let e=jt.from({vertex:K1,fragment:j1}),t=Yt.from({fragment:{source:UI,entryPoint:"mainFragment"},vertex:{source:UI,entryPoint:"mainVertex"}});super({glProgram:e,gpuProgram:t,resources:{uTexture:V.WHITE.source,uSampler:new qf({}),uniforms:{uTranslationMatrix:{value:new ie,type:"mat3x3<f32>"},uColor:{value:new De(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}})}}});var ea,LI=Q(()=>{Je();Ii();Cl();Bs();Ml();W1();z1();ea=class{constructor(e,t){this.state=pr.for2d(),this._gpuBufferHash=Object.create(null),this._destroyRenderableBound=this.destroyRenderable.bind(this),this.localUniforms=new it({uTranslationMatrix:{value:new ie,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 Rd,this.state=pr.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 Od({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 r=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=Wi(e.blendMode,e.texture._source);let o=this.localUniforms.uniforms,a=o.uTranslationMatrix;e.worldTransform.copyTo(a),a.prepend(r.globalUniforms.globalUniformData.projectionMatrix),o.uResolution=r.globalUniforms.globalUniformData.resolution,o.uRound=r._roundPixels|e._roundPixels,Dn(e.groupColorAlpha,o.uColor,0),this.adaptor.execute(this,e)}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null)}}});var Dl,J1=Q(()=>{ne();U1();LI();Dl=class extends ea{constructor(e){super(e,new Fd)}};Dl.extension={type:[L.WebGLPipes],name:"particle"}});var kd,Z1=Q(()=>{"use strict";kd=class{execute(e,t){let r=e.renderer,n=t.shader||e.defaultShader;n.groups[0]=r.renderPipes.uniformBatch.getUniformBindGroup(e.localUniforms,!0),n.groups[1]=r.texture.getTextureBindGroup(t.texture);let s=e.state,o=e.getBuffers(t);r.encoder.draw({geometry:o.geometry,shader:t.shader||e.defaultShader,state:s,size:t.particleChildren.length*6})}}});var Fl,$1=Q(()=>{ne();Z1();LI();Fl=class extends ea{constructor(e){super(e,new kd)}};Fl.extension={type:[L.WebGPUPipes],name:"particle"}});var NI=Q(()=>{ne();J1();$1();le.add(Dl);le.add(Fl)});var ta,HI=Q(()=>{"use strict";ta=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 Ol(i,e){let{texture:t,bounds:r}=i;rd(r,e._anchor,t);let n=e._style.padding;r.minX-=n,r.minY-=n,r.maxX-=n,r.maxY-=n}var qI=Q(()=>{ky()});var Rl,eM=Q(()=>{ne();Br();HI();qI();Rl=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 r=t.batchableSprite.renderable;r._autoResolution&&(r._resolution=this._renderer.resolution,r.onViewUpdate())}}validateRenderable(e){let t=this._getGpuText(e),r=e._getKey();return t.currentKey!==r}addRenderable(e,t){let n=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),this._renderer.renderPipes.batch.addToBatch(n,t)}updateRenderable(e){let r=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),r._batcher.updateElement(r)}destroyRenderable(e){e.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(e.uid)}_destroyRenderableById(e){let t=this._gpuText[e];this._renderer.canvasText.decreaseReferenceCount(t.currentKey),Be.return(t.batchableSprite),this._gpuText[e]=null}_updateText(e){let t=e._getKey(),r=this._getGpuText(e),n=r.batchableSprite;r.currentKey!==t&&this._updateGpuText(e),e._didTextUpdate=!1,Ol(n,e)}_updateGpuText(e){let t=this._getGpuText(e),r=t.batchableSprite;t.texture&&this._renderer.canvasText.decreaseReferenceCount(t.currentKey),t.texture=r.texture=this._renderer.canvasText.getManagedTexture(e),t.currentKey=e._getKey(),r.texture=t.texture}_getGpuText(e){return this._gpuText[e.uid]||this.initGpuText(e)}initGpuText(e){let t={texture:null,currentKey:"--",batchableSprite:Be.get(ta)};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}};Rl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"text"}});var WI,ti,kl=Q(()=>{kt();ll();WI=class{constructor(e){this._canvasPool=Object.create(null),this.canvasOptions=e||{},this.enableFullScreen=!1}_createCanvasAndContext(e,t){let r=Se.get().createCanvas();r.width=e,r.height=t;let n=r.getContext("2d");return{canvas:r,context:n}}getOptimalCanvasAndContext(e,t,r=1){e=Math.ceil(e*r-1e-6),t=Math.ceil(t*r-1e-6),e=Ui(e),t=Ui(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:r,height:n}=t,s=(r<<17)+(n<<1);e.context.clearRect(0,0,r,n),this._canvasPool[s].push(e)}clear(){this._canvasPool={}}},ti=new WI});function tM(i,e,t){for(let r=0,n=4*t*e;r<e;++r,n+=4)if(i[n+3]!==0)return!1;return!0}function rM(i,e,t,r,n){let s=4*e;for(let o=r,a=r*s+4*t;o<=n;++o,a+=s)if(i[a+3]!==0)return!1;return!0}function iM(i,e=1){let{width:t,height:r}=i,n=i.getContext("2d",{willReadFrequently:!0});if(n===null)throw new TypeError("Failed to get canvas 2D context");let o=n.getImageData(0,0,t,r).data,a=0,u=0,c=t-1,l=r-1;for(;u<r&&tM(o,t,u);)++u;if(u===r)return pe.EMPTY;for(;tM(o,t,l);)--l;for(;rM(o,t,a,u,l);)++a;for(;rM(o,t,c,u,l);)--c;return++c,++l,new pe(a/e,u/e,(c-a)/e,(l-u)/e)}var nM=Q(()=>{$t()});var sM,ji,Gd=Q(()=>{Je();Zt();sM={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"}},ji=class{constructor(e,t){this.uid=ke("fillPattern"),this.transform=new ie,this._styleKey=null,this.texture=e,this.transform.scale(1/e.frame.width,1/e.frame.height),t&&(e.source.style.addressModeU=sM[t].addressModeU,e.source.style.addressModeV=sM[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 aM=D((XAe,oM)=>{oM.exports=Oz;var jI={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Fz=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Oz(i){var e=[];return i.replace(Fz,function(t,r,n){var s=r.toLowerCase();for(n=kz(n),s=="m"&&n.length>2&&(e.push([r].concat(n.splice(0,2))),s="l",r=r=="m"?"l":"L");;){if(n.length==jI[s])return n.unshift(r),e.push(n);if(n.length<jI[s])throw new Error("malformed path data");e.push([r].concat(n.splice(0,jI[s])))}}),e}var Rz=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function kz(i){var e=i.match(Rz);return e?e.map(Number):[]}});function uM(i,e){let t=(0,lM.default)(i),r=[],n=null,s=0,o=0;for(let a=0;a<t.length;a++){let u=t[a],c=u[0],l=u;switch(c){case"M":s=l[1],o=l[2],e.moveTo(s,o);break;case"m":s+=l[1],o+=l[2],e.moveTo(s,o);break;case"H":s=l[1],e.lineTo(s,o);break;case"h":s+=l[1],e.lineTo(s,o);break;case"V":o=l[1],e.lineTo(s,o);break;case"v":o+=l[1],e.lineTo(s,o);break;case"L":s=l[1],o=l[2],e.lineTo(s,o);break;case"l":s+=l[1],o+=l[2],e.lineTo(s,o);break;case"C":s=l[5],o=l[6],e.bezierCurveTo(l[1],l[2],l[3],l[4],s,o);break;case"c":e.bezierCurveTo(s+l[1],o+l[2],s+l[3],o+l[4],s+l[5],o+l[6]),s+=l[5],o+=l[6];break;case"S":s=l[3],o=l[4],e.bezierCurveToShort(l[1],l[2],s,o);break;case"s":e.bezierCurveToShort(s+l[1],o+l[2],s+l[3],o+l[4]),s+=l[3],o+=l[4];break;case"Q":s=l[3],o=l[4],e.quadraticCurveTo(l[1],l[2],s,o);break;case"q":e.quadraticCurveTo(s+l[1],o+l[2],s+l[3],o+l[4]),s+=l[3],o+=l[4];break;case"T":s=l[1],o=l[2],e.quadraticCurveToShort(s,o);break;case"t":s+=l[1],o+=l[2],e.quadraticCurveToShort(s,o);break;case"A":s=l[6],o=l[7],e.arcToSvg(l[1],l[2],l[3],l[4],l[5],s,o);break;case"a":s+=l[6],o+=l[7],e.arcToSvg(l[1],l[2],l[3],l[4],l[5],s,o);break;case"Z":case"z":e.closePath(),r.length>0&&(n=r.pop(),n?(s=n.startX,o=n.startY):(s=0,o=0)),n=null;break;default:fe(`Unknown SVG path command: ${c}`)}c!=="Z"&&c!=="z"&&n===null&&(n={startX:s,startY:o},r.push(n))}return e}var lM,cM=Q(()=>{lM=zt(aM(),1);xt()});var Ud,AM=Q(()=>{$t();Ud=class i{constructor(e=0,t=0,r=0){this.type="circle",this.x=e,this.y=t,this.radius=r}clone(){return new i(this.x,this.y,this.radius)}contains(e,t){if(this.radius<=0)return!1;let r=this.radius*this.radius,n=this.x-e,s=this.y-t;return n*=n,s*=s,n+s<=r}strokeContains(e,t,r,n=.5){if(this.radius===0)return!1;let s=this.x-e,o=this.y-t,a=this.radius,u=(1-n)*r,c=Math.sqrt(s*s+o*o);return c<=a+u&&c>a-(r-u)}getBounds(e){return e||(e=new pe),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 Ld,hM=Q(()=>{$t();Ld=class i{constructor(e=0,t=0,r=0,n=0){this.type="ellipse",this.x=e,this.y=t,this.halfWidth=r,this.halfHeight=n}clone(){return new i(this.x,this.y,this.halfWidth,this.halfHeight)}contains(e,t){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let r=(e-this.x)/this.halfWidth,n=(t-this.y)/this.halfHeight;return r*=r,n*=n,r+n<=1}strokeContains(e,t,r,n=.5){let{halfWidth:s,halfHeight:o}=this;if(s<=0||o<=0)return!1;let a=r*(1-n),u=r-a,c=s-u,l=o-u,A=s+a,h=o+a,f=e-this.x,d=t-this.y,y=f*f/(c*c)+d*d/(l*l),g=f*f/(A*A)+d*d/(h*h);return y>1&&g<=1}getBounds(e){return e||(e=new pe),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 fM(i,e,t,r,n,s){let o=i-t,a=e-r,u=n-t,c=s-r,l=o*u+a*c,A=u*u+c*c,h=-1;A!==0&&(h=l/A);let f,d;h<0?(f=t,d=r):h>1?(f=n,d=s):(f=t+h*u,d=r+h*c);let y=i-f,g=e-d;return y*y+g*g}var dM=Q(()=>{"use strict"});var Gz,Uz,ra,pM=Q(()=>{dM();$t();ra=class i{constructor(...e){this.type="polygon";let t=Array.isArray(e[0])?e[0]:e;if(typeof t[0]!="number"){let r=[];for(let n=0,s=t.length;n<s;n++)r.push(t[n].x,t[n].y);t=r}this.points=t,this.closePath=!0}isClockwise(){let e=0,t=this.points,r=t.length;for(let n=0;n<r;n+=2){let s=t[n],o=t[n+1],a=t[(n+2)%r],u=t[(n+3)%r];e+=(a-s)*(u+o)}return e<0}containsPolygon(e){let t=this.getBounds(Gz),r=e.getBounds(Uz);if(!t.containsRect(r))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 i(e);return t.closePath=this.closePath,t}contains(e,t){let r=!1,n=this.points.length/2;for(let s=0,o=n-1;s<n;o=s++){let a=this.points[s*2],u=this.points[s*2+1],c=this.points[o*2],l=this.points[o*2+1];u>t!=l>t&&e<(c-a)*((t-u)/(l-u))+a&&(r=!r)}return r}strokeContains(e,t,r,n=.5){let s=r*r,o=s*(1-n),a=s-o,{points:u}=this,c=u.length-(this.closePath?0:2);for(let l=0;l<c;l+=2){let A=u[l],h=u[l+1],f=u[(l+2)%u.length],d=u[(l+3)%u.length],y=fM(e,t,A,h,f,d),g=Math.sign((f-A)*(t-h)-(d-h)*(e-A));if(y<=(g<0?a:o))return!0}return!1}getBounds(e){e||(e=new pe);let t=this.points,r=1/0,n=-1/0,s=1/0,o=-1/0;for(let a=0,u=t.length;a<u;a+=2){let c=t[a],l=t[a+1];r=c<r?c:r,n=c>n?c:n,s=l<s?l:s,o=l>o?l:o}return e.x=r,e.width=n-r,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 Nd,Hd,gM=Q(()=>{$t();Nd=(i,e,t,r,n,s,o)=>{let a=i-t,u=e-r,c=Math.sqrt(a*a+u*u);return c>=n-s&&c<=n+o},Hd=class i{constructor(e=0,t=0,r=0,n=0,s=20){this.type="roundedRectangle",this.x=e,this.y=t,this.width=r,this.height=n,this.radius=s}getBounds(e){return e||(e=new pe),e.x=this.x,e.y=this.y,e.width=this.width,e.height=this.height,e}clone(){return new i(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 r=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(t>=this.y+r&&t<=this.y+this.height-r||e>=this.x+r&&e<=this.x+this.width-r)return!0;let n=e-(this.x+r),s=t-(this.y+r),o=r*r;if(n*n+s*s<=o||(n=e-(this.x+this.width-r),n*n+s*s<=o)||(s=t-(this.y+this.height-r),n*n+s*s<=o)||(n=e-(this.x+r),n*n+s*s<=o))return!0}return!1}strokeContains(e,t,r,n=.5){let{x:s,y:o,width:a,height:u,radius:c}=this,l=r*(1-n),A=r-l,h=s+c,f=o+c,d=a-c*2,y=u-c*2,g=s+a,E=o+u;return(e>=s-l&&e<=s+A||e>=g-A&&e<=g+l)&&t>=f&&t<=f+y||(t>=o-l&&t<=o+A||t>=E-A&&t<=E+l)&&e>=h&&e<=h+d?!0:e<h&&t<f&&Nd(e,t,h,f,c,A,l)||e>g-c&&t<f&&Nd(e,t,g-c,f,c,A,l)||e>g-c&&t>E-c&&Nd(e,t,g-c,E-c,c,A,l)||e<h&&t>E-c&&Nd(e,t,h,E-c,c,A,l)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}});function Wd(i,e,t,r,n,s,o,a,u,c){let A=Math.min(.99,Math.max(0,c??$o.defaultOptions.bezierSmoothness)),h=(Nz-A)/1;return h*=h,Hz(e,t,r,n,s,o,a,u,i,h),i}function Hz(i,e,t,r,n,s,o,a,u,c){KI(i,e,t,r,n,s,o,a,u,c,0),u.push(o,a)}function KI(i,e,t,r,n,s,o,a,u,c,l){if(l>Lz)return;let A=Math.PI,h=(i+t)/2,f=(e+r)/2,d=(t+n)/2,y=(r+s)/2,g=(n+o)/2,E=(s+a)/2,_=(h+d)/2,x=(f+y)/2,I=(d+g)/2,P=(y+E)/2,F=(_+I)/2,G=(x+P)/2;if(l>0){let q=o-i,T=a-e,K=Math.abs((t-o)*T-(r-a)*q),J=Math.abs((n-o)*T-(s-a)*q),$,ue;if(K>qd&&J>qd){if((K+J)*(K+J)<=c*(q*q+T*T)){if(ia<YI){u.push(F,G);return}let _e=Math.atan2(s-r,n-t);if($=Math.abs(_e-Math.atan2(r-e,t-i)),ue=Math.abs(Math.atan2(a-s,o-n)-_e),$>=A&&($=2*A-$),ue>=A&&(ue=2*A-ue),$+ue<ia){u.push(F,G);return}if(vs!==0){if($>vs){u.push(t,r);return}if(ue>vs){u.push(n,s);return}}}}else if(K>qd){if(K*K<=c*(q*q+T*T)){if(ia<YI){u.push(F,G);return}if($=Math.abs(Math.atan2(s-r,n-t)-Math.atan2(r-e,t-i)),$>=A&&($=2*A-$),$<ia){u.push(t,r),u.push(n,s);return}if(vs!==0&&$>vs){u.push(t,r);return}}}else if(J>qd){if(J*J<=c*(q*q+T*T)){if(ia<YI){u.push(F,G);return}if($=Math.abs(Math.atan2(a-s,o-n)-Math.atan2(s-r,n-t)),$>=A&&($=2*A-$),$<ia){u.push(t,r),u.push(n,s);return}if(vs!==0&&$>vs){u.push(n,s);return}}}else if(q=F-(i+o)/2,T=G-(e+a)/2,q*q+T*T<=c){u.push(F,G);return}}KI(i,e,h,f,_,x,F,G,u,c,l+1),KI(F,G,I,P,g,E,o,a,u,c,l+1)}var Lz,qd,Nz,YI,ia,vs,VI=Q(()=>{Pd();Lz=8,qd=11920929e-14,Nz=1,YI=.01,ia=0,vs=0});function yM(i,e,t,r,n,s,o,a){let c=Math.min(.99,Math.max(0,a??$o.defaultOptions.bezierSmoothness)),l=(jz-c)/1;return l*=l,Kz(e,t,r,n,s,o,i,l),i}function Kz(i,e,t,r,n,s,o,a){XI(o,i,e,t,r,n,s,a,0),o.push(n,s)}function XI(i,e,t,r,n,s,o,a,u){if(u>qz)return;let c=Math.PI,l=(e+r)/2,A=(t+n)/2,h=(r+s)/2,f=(n+o)/2,d=(l+h)/2,y=(A+f)/2,g=s-e,E=o-t,_=Math.abs((r-s)*E-(n-o)*g);if(_>Wz){if(_*_<=a*(g*g+E*E)){if(mM<Yz){i.push(d,y);return}let x=Math.abs(Math.atan2(o-n,s-r)-Math.atan2(n-t,r-e));if(x>=c&&(x=2*c-x),x<mM){i.push(d,y);return}}}else if(g=d-(e+s)/2,E=y-(t+o)/2,g*g+E*E<=a){i.push(d,y);return}XI(i,e,t,l,A,d,y,a,u+1),XI(i,d,y,h,f,s,o,a,u+1)}var qz,Wz,jz,Yz,mM,IM=Q(()=>{Pd();qz=8,Wz=11920929e-14,jz=1,Yz=.01,mM=0});function jd(i,e,t,r,n,s,o,a){let u=Math.abs(n-s);(!o&&n>s||o&&s>n)&&(u=2*Math.PI-u),a||(a=Math.max(6,Math.floor(6*Math.pow(r,1/3)*(u/Math.PI)))),a=Math.max(a,3);let c=u/a,l=n;c*=o?-1:1;for(let A=0;A<a+1;A++){let h=Math.cos(l),f=Math.sin(l),d=e+h*r,y=t+f*r;i.push(d,y),l+=c}}var zI=Q(()=>{"use strict"});function EM(i,e,t,r,n,s){let o=i[i.length-2],u=i[i.length-1]-t,c=o-e,l=n-t,A=r-e,h=Math.abs(u*A-c*l);if(h<1e-8||s===0){(i[i.length-2]!==e||i[i.length-1]!==t)&&i.push(e,t);return}let f=u*u+c*c,d=l*l+A*A,y=u*l+c*A,g=s*Math.sqrt(f)/h,E=s*Math.sqrt(d)/h,_=g*y/f,x=E*y/d,I=g*A+E*c,P=g*l+E*u,F=c*(E+_),G=u*(E+_),q=A*(g+x),T=l*(g+x),K=Math.atan2(G-P,F-I),J=Math.atan2(T-P,q-I);jd(i,I+e,P+t,s,K,J,c*l>A*u)}var xM=Q(()=>{zI()});function Vz(i,e){let t=e===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(e/4),r=e===1.5707963267948966?.551915024494:t,n=Math.cos(i),s=Math.sin(i),o=Math.cos(i+e),a=Math.sin(i+e);return[{x:n-s*r,y:s+n*r},{x:o+a*r,y:a-o*r},{x:o,y:a}]}function BM(i,e,t,r,n,s,o,a=0,u=0,c=0){if(s===0||o===0)return;let l=Math.sin(a*Gl/360),A=Math.cos(a*Gl/360),h=A*(e-r)/2+l*(t-n)/2,f=-l*(e-r)/2+A*(t-n)/2;if(h===0&&f===0)return;s=Math.abs(s),o=Math.abs(o);let d=Math.pow(h,2)/Math.pow(s,2)+Math.pow(f,2)/Math.pow(o,2);d>1&&(s*=Math.sqrt(d),o*=Math.sqrt(d)),Xz(e,t,r,n,s,o,u,c,l,A,h,f,JI);let{ang1:y,ang2:g}=JI,{centerX:E,centerY:_}=JI,x=Math.abs(g)/(Gl/4);Math.abs(1-x)<1e-7&&(x=1);let I=Math.max(Math.ceil(x),1);g/=I;let P=i[i.length-2],F=i[i.length-1],G={x:0,y:0};for(let q=0;q<I;q++){let T=Vz(y,g),{x:K,y:J}=ZI(T[0],s,o,A,l,E,_,G),{x:$,y:ue}=ZI(T[1],s,o,A,l,E,_,G),{x:_e,y:Ze}=ZI(T[2],s,o,A,l,E,_,G);Wd(i,P,F,K,J,$,ue,_e,Ze),P=_e,F=Ze,y+=g}}var Gl,JI,ZI,_M,Xz,vM=Q(()=>{VI();Gl=Math.PI*2,JI={centerX:0,centerY:0,ang1:0,ang2:0},ZI=({x:i,y:e},t,r,n,s,o,a,u)=>{i*=t,e*=r;let c=n*i-s*e,l=s*i+n*e;return u.x=c+o,u.y=l+a,u};_M=(i,e,t,r)=>{let n=i*r-e*t<0?-1:1,s=i*t+e*r;return s>1&&(s=1),s<-1&&(s=-1),n*Math.acos(s)},Xz=(i,e,t,r,n,s,o,a,u,c,l,A,h)=>{let f=Math.pow(n,2),d=Math.pow(s,2),y=Math.pow(l,2),g=Math.pow(A,2),E=f*d-f*g-d*y;E<0&&(E=0),E/=f*g+d*y,E=Math.sqrt(E)*(o===a?-1:1);let _=E*n/s*A,x=E*-s/n*l,I=c*_-u*x+(i+t)/2,P=u*_+c*x+(e+r)/2,F=(l-_)/n,G=(A-x)/s,q=(-l-_)/n,T=(-A-x)/s,K=_M(1,0,F,G),J=_M(F,G,q,T);a===0&&J>0&&(J-=Gl),a===1&&J<0&&(J+=Gl),h.centerX=I,h.centerY=P,h.ang1=K,h.ang2=J}});function CM(i,e,t){let r=(o,a)=>{let u=a.x-o.x,c=a.y-o.y,l=Math.sqrt(u*u+c*c),A=u/l,h=c/l;return{len:l,nx:A,ny:h}},n=(o,a)=>{o===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y)},s=e[e.length-1];for(let o=0;o<e.length;o++){let a=e[o%e.length],u=a.radius??t;if(u<=0){n(o,a),s=a;continue}let c=e[(o+1)%e.length],l=r(a,s),A=r(a,c);if(l.len<1e-4||A.len<1e-4){n(o,a),s=a;continue}let h=Math.asin(l.nx*A.ny-l.ny*A.nx),f=1,d=!1;l.nx*A.nx-l.ny*-A.ny<0?h<0?h=Math.PI+h:(h=Math.PI-h,f=-1,d=!0):h>0&&(f=-1,d=!0);let y=h/2,g,E=Math.abs(Math.cos(y)*u/Math.sin(y));E>Math.min(l.len/2,A.len/2)?(E=Math.min(l.len/2,A.len/2),g=Math.abs(E*Math.sin(y)/Math.cos(y))):g=u;let _=a.x+A.nx*E+-A.ny*g*f,x=a.y+A.ny*E+A.nx*g*f,I=Math.atan2(l.ny,l.nx)+Math.PI/2*f,P=Math.atan2(A.ny,A.nx)-Math.PI/2*f;o===0&&i.moveTo(_+Math.cos(I)*g,x+Math.sin(I)*g),i.arc(_,x,g,I,P,d),s=a}}function bM(i,e,t,r){let n=(a,u)=>Math.sqrt((a.x-u.x)**2+(a.y-u.y)**2),s=(a,u,c)=>({x:a.x+(u.x-a.x)*c,y:a.y+(u.y-a.y)*c}),o=e.length;for(let a=0;a<o;a++){let u=e[(a+1)%o],c=u.radius??t;if(c<=0){a===0?i.moveTo(u.x,u.y):i.lineTo(u.x,u.y);continue}let l=e[a],A=e[(a+2)%o],h=n(l,u),f;if(h<1e-4)f=u;else{let g=Math.min(h/2,c);f=s(u,l,g/h)}let d=n(A,u),y;if(d<1e-4)y=u;else{let g=Math.min(d/2,c);y=s(u,A,g/d)}a===0?i.moveTo(f.x,f.y):i.lineTo(f.x,f.y),i.quadraticCurveTo(u.x,u.y,y.x,y.y,r)}}var wM=Q(()=>{"use strict"});var zz,Yd,QM=Q(()=>{AM();hM();pM();$t();gM();Fr();VI();IM();zI();xM();vM();wM();zz=new pe,Yd=class{constructor(e){this.shapePrimitives=[],this._currentPoly=null,this._bounds=new We,this._graphicsPath2D=e,this.signed=e.checkForHoles}moveTo(e,t){return this.startPoly(e,t),this}lineTo(e,t){this._ensurePoly();let r=this._currentPoly.points,n=r[r.length-2],s=r[r.length-1];return(n!==e||s!==t)&&r.push(e,t),this}arc(e,t,r,n,s,o){this._ensurePoly(!1);let a=this._currentPoly.points;return jd(a,e,t,r,n,s,o),this}arcTo(e,t,r,n,s){this._ensurePoly();let o=this._currentPoly.points;return EM(o,e,t,r,n,s),this}arcToSvg(e,t,r,n,s,o,a){let u=this._currentPoly.points;return BM(u,this._currentPoly.lastX,this._currentPoly.lastY,o,a,e,t,r,n,s),this}bezierCurveTo(e,t,r,n,s,o,a){this._ensurePoly();let u=this._currentPoly;return Wd(this._currentPoly.points,u.lastX,u.lastY,e,t,r,n,s,o,a),this}quadraticCurveTo(e,t,r,n,s){this._ensurePoly();let o=this._currentPoly;return yM(this._currentPoly.points,o.lastX,o.lastY,e,t,r,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 r=this.shapePrimitives,n=r.length;for(let s=0;s<e.instructions.length;s++){let o=e.instructions[s];this[o.action](...o.data)}if(e.checkForHoles&&r.length-n>1){let s=null;for(let o=n;o<r.length;o++){let a=r[o];if(a.shape.type==="polygon"){let u=a.shape,c=s?.shape;c&&c.containsPolygon(u)?(s.holes||(s.holes=[]),s.holes.push(a),r.copyWithin(o,o+1),r.length--,o--):s=a}}}return this}finish(e=!1){this.endPoly(e)}rect(e,t,r,n,s){return this.drawShape(new pe(e,t,r,n),s),this}circle(e,t,r,n){return this.drawShape(new Ud(e,t,r),n),this}poly(e,t,r){let n=new ra(e);return n.closePath=t,this.drawShape(n,r),this}regularPoly(e,t,r,n,s=0,o){n=Math.max(n|0,3);let a=-1*Math.PI/2+s,u=Math.PI*2/n,c=[];for(let l=0;l<n;l++){let A=a-l*u;c.push(e+r*Math.cos(A),t+r*Math.sin(A))}return this.poly(c,!0,o),this}roundPoly(e,t,r,n,s,o=0,a){if(n=Math.max(n|0,3),s<=0)return this.regularPoly(e,t,r,n,o);let u=r*Math.sin(Math.PI/n)-.001;s=Math.min(s,u);let c=-1*Math.PI/2+o,l=Math.PI*2/n,A=(n-2)*Math.PI/n/2;for(let h=0;h<n;h++){let f=h*l+c,d=e+r*Math.cos(f),y=t+r*Math.sin(f),g=f+Math.PI+A,E=f-Math.PI-A,_=d+s*Math.cos(g),x=y+s*Math.sin(g),I=d+s*Math.cos(E),P=y+s*Math.sin(E);h===0?this.moveTo(_,x):this.lineTo(_,x),this.quadraticCurveTo(d,y,I,P,a)}return this.closePath()}roundShape(e,t,r=!1,n){return e.length<3?this:(r?bM(this,e,t,n):CM(this,e,t),this.closePath())}filletRect(e,t,r,n,s){if(s===0)return this.rect(e,t,r,n);let o=Math.min(r,n)/2,a=Math.min(o,Math.max(-o,s)),u=e+r,c=t+n,l=a<0?-a:0,A=Math.abs(a);return this.moveTo(e,t+A).arcTo(e+l,t+l,e+A,t,A).lineTo(u-A,t).arcTo(u-l,t+l,u,t+A,A).lineTo(u,c-A).arcTo(u-l,c-l,e+r-A,c,A).lineTo(e+A,c).arcTo(e+l,c-l,e,c-A,A).closePath()}chamferRect(e,t,r,n,s,o){if(s<=0)return this.rect(e,t,r,n);let a=Math.min(s,Math.min(r,n)/2),u=e+r,c=t+n,l=[e+a,t,u-a,t,u,t+a,u,c-a,u-a,c,e+a,c,e,c-a,e,t+a];for(let A=l.length-1;A>=2;A-=2)l[A]===l[A-2]&&l[A-1]===l[A-3]&&l.splice(A-1,2);return this.poly(l,!0,o)}ellipse(e,t,r,n,s){return this.drawShape(new Ld(e,t,r,n),s),this}roundRect(e,t,r,n,s,o){return this.drawShape(new Hd(e,t,r,n,s),o),this}drawShape(e,t){return this.endPoly(),this.shapePrimitives.push({shape:e,transform:t}),this}startPoly(e,t){let r=this._currentPoly;return r&&this.endPoly(),r=new ra,r.points.push(e,t),this._currentPoly=r,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 ra,e)){let t=this.shapePrimitives[this.shapePrimitives.length-1];if(t){let r=t.shape.x,n=t.shape.y;if(t.transform&&!t.transform.isIdentity()){let s=t.transform,o=r;r=s.a*r+s.c*n+s.tx,n=s.b*o+s.d*n+s.ty}this._currentPoly.points.push(r,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 r=e.instructions[t];this[r.action](...r.data)}this.finish()}get bounds(){let e=this._bounds;e.clear();let t=this.shapePrimitives;for(let r=0;r<t.length;r++){let n=t[r],s=n.shape.getBounds(zz);n.transform?e.addRect(s,n.transform):e.addRect(s)}return e}}});function Ul(i,e){return i?i.prepend(e):e.clone()}var On,$I=Q(()=>{hr();Zt();xt();cM();QM();On=class i{constructor(e,t=!1){this.instructions=[],this.uid=ke("graphicsPath"),this._dirty=!0,this.checkForHoles=t,typeof e=="string"?uM(e,this):this.instructions=e?.slice()??[]}get shapePath(){return this._shapePath||(this._shapePath=new Yd(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,r,n,s){let o=this.instructions[this.instructions.length-1],a=this.getLastPoint(re.shared),u=0,c=0;if(!o||o.action!=="bezierCurveTo")u=a.x,c=a.y;else{u=o.data[2],c=o.data[3];let l=a.x,A=a.y;u=l+(l-u),c=A+(A-c)}return this.instructions.push({action:"bezierCurveTo",data:[u,c,e,t,r,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,r){let n=this.instructions[this.instructions.length-1],s=this.getLastPoint(re.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 u=s.x,c=s.y;o=u+(u-o),a=c+(c-a)}return this.instructions.push({action:"quadraticCurveTo",data:[o,a,e,t,r]}),this._dirty=!0,this}rect(e,t,r,n,s){return this.instructions.push({action:"rect",data:[e,t,r,n,s]}),this._dirty=!0,this}circle(e,t,r,n){return this.instructions.push({action:"circle",data:[e,t,r,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,r,n,s,o,a){s||(s=n/2);let u=-1*Math.PI/2+o,c=r*2,l=Math.PI*2/c,A=[];for(let h=0;h<c;h++){let f=h%2?s:n,d=h*l+u;A.push(e+f*Math.cos(d),t+f*Math.sin(d))}return this.poly(A,!0,a),this}clone(e=!1){let t=new i;if(t.checkForHoles=this.checkForHoles,!e)t.instructions=this.instructions.slice();else for(let r=0;r<this.instructions.length;r++){let n=this.instructions[r];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,r=e.b,n=e.c,s=e.d,o=e.tx,a=e.ty,u=0,c=0,l=0,A=0,h=0,f=0,d=0,y=0;for(let g=0;g<this.instructions.length;g++){let E=this.instructions[g],_=E.data;switch(E.action){case"moveTo":case"lineTo":u=_[0],c=_[1],_[0]=t*u+n*c+o,_[1]=r*u+s*c+a;break;case"bezierCurveTo":l=_[0],A=_[1],h=_[2],f=_[3],u=_[4],c=_[5],_[0]=t*l+n*A+o,_[1]=r*l+s*A+a,_[2]=t*h+n*f+o,_[3]=r*h+s*f+a,_[4]=t*u+n*c+o,_[5]=r*u+s*c+a;break;case"quadraticCurveTo":l=_[0],A=_[1],u=_[2],c=_[3],_[0]=t*l+n*A+o,_[1]=r*l+s*A+a,_[2]=t*u+n*c+o,_[3]=r*u+s*c+a;break;case"arcToSvg":u=_[5],c=_[6],d=_[0],y=_[1],_[0]=t*d+n*y,_[1]=r*d+s*y,_[5]=t*u+n*c+o,_[6]=r*u+s*c+a;break;case"circle":_[4]=Ul(_[3],e);break;case"rect":_[4]=Ul(_[4],e);break;case"ellipse":_[8]=Ul(_[8],e);break;case"roundRect":_[5]=Ul(_[5],e);break;case"addPath":_[0].transform(e);break;case"poly":_[2]=Ul(_[2],e);break;default:fe("unknown transform action",E.action);break}}return this._dirty=!0,this}get bounds(){return this.shapePath.bounds}getLastPoint(e){let t=this.instructions.length-1,r=this.instructions[t];if(!r)return e.x=0,e.y=0,e;for(;r.action==="closePath";){if(t--,t<0)return e.x=0,e.y=0,e;r=this.instructions[t]}switch(r.action){case"moveTo":case"lineTo":e.x=r.data[0],e.y=r.data[1];break;case"quadraticCurveTo":e.x=r.data[2],e.y=r.data[3];break;case"bezierCurveTo":e.x=r.data[4],e.y=r.data[5];break;case"arc":case"arcToSvg":e.x=r.data[5],e.y=r.data[6];break;case"addPath":r.data[0].getLastPoint(e);break}return e}}});function ut(i,e,t){let r=i.getAttribute(e);return r?Number(r):t}var eE=Q(()=>{"use strict"});function SM(i,e){let t=i.querySelectorAll("defs");for(let r=0;r<t.length;r++){let n=t[r];for(let s=0;s<n.children.length;s++){let o=n.children[s];switch(o.nodeName.toLowerCase()){case"lineargradient":e.defs[o.id]=Jz(o);break;case"radialgradient":e.defs[o.id]=Zz(o);break;default:break}}}}function Jz(i){let e=ut(i,"x1",0),t=ut(i,"y1",0),r=ut(i,"x2",1),n=ut(i,"y2",0),s=i.getAttribute("gradientUnits")||"objectBoundingBox",o=new dr(e,t,r,n,s==="objectBoundingBox"?"local":"global");for(let a=0;a<i.children.length;a++){let u=i.children[a],c=ut(u,"offset",0),l=De.shared.setValue(u.getAttribute("stop-color")).toNumber();o.addColorStop(c,l)}return o}function Zz(i){return fe("[SVG Parser] Radial gradients are not yet supported"),new dr(0,0,1,0)}var MM=Q(()=>{Ar();xt();Zo();eE()});function tE(i){let e=i.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return e?e[1]:""}var TM=Q(()=>{"use strict"});function rE(i,e){let t=i.getAttribute("style"),r={},n={},s={strokeStyle:r,fillStyle:n,useFill:!1,useStroke:!1};for(let o in PM){let a=i.getAttribute(o);a&&DM(e,s,o,a.trim())}if(t){let o=t.split(";");for(let a=0;a<o.length;a++){let u=o[a].trim(),[c,l]=u.split(":");PM[c]&&DM(e,s,c,l.trim())}}return{strokeStyle:s.useStroke?r:null,fillStyle:s.useFill?n:null,useFill:s.useFill,useStroke:s.useStroke}}function DM(i,e,t,r){switch(t){case"stroke":if(r!=="none"){if(r.startsWith("url(")){let n=tE(r);e.strokeStyle.fill=i.defs[n]}else e.strokeStyle.color=De.shared.setValue(r).toNumber();e.useStroke=!0}break;case"stroke-width":e.strokeStyle.width=Number(r);break;case"fill":if(r!=="none"){if(r.startsWith("url(")){let n=tE(r);e.fillStyle.fill=i.defs[n]}else e.fillStyle.color=De.shared.setValue(r).toNumber();e.useFill=!0}break;case"fill-opacity":e.fillStyle.alpha=Number(r);break;case"stroke-opacity":e.strokeStyle.alpha=Number(r);break;case"opacity":e.fillStyle.alpha=Number(r),e.strokeStyle.alpha=Number(r);break}}var PM,FM=Q(()=>{Ar();TM();PM={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 OM(i,e){if(typeof i=="string"){let o=document.createElement("div");o.innerHTML=i.trim(),i=o.querySelector("svg")}let t={context:e,defs:{},path:new On};SM(i,t);let r=i.children,{fillStyle:n,strokeStyle:s}=rE(i,t);for(let o=0;o<r.length;o++){let a=r[o];a.nodeName.toLowerCase()!=="defs"&&RM(a,t,n,s)}return e}function RM(i,e,t,r){let n=i.children,{fillStyle:s,strokeStyle:o}=rE(i,e);s&&t?t={...t,...s}:s&&(t=s),o&&r?r={...r,...o}:o&&(r=o);let a=!t&&!r;a&&(t={color:0});let u,c,l,A,h,f,d,y,g,E,_,x,I,P,F,G,q;switch(i.nodeName.toLowerCase()){case"path":P=i.getAttribute("d"),i.getAttribute("fill-rule")==="evenodd"&&fe("SVG Evenodd fill rule not supported, your svg may render incorrectly"),F=new On(P,!0),e.context.path(F),t&&e.context.fill(t),r&&e.context.stroke(r);break;case"circle":d=ut(i,"cx",0),y=ut(i,"cy",0),g=ut(i,"r",0),e.context.ellipse(d,y,g,g),t&&e.context.fill(t),r&&e.context.stroke(r);break;case"rect":u=ut(i,"x",0),c=ut(i,"y",0),G=ut(i,"width",0),q=ut(i,"height",0),E=ut(i,"rx",0),_=ut(i,"ry",0),E||_?e.context.roundRect(u,c,G,q,E||_):e.context.rect(u,c,G,q),t&&e.context.fill(t),r&&e.context.stroke(r);break;case"ellipse":d=ut(i,"cx",0),y=ut(i,"cy",0),E=ut(i,"rx",0),_=ut(i,"ry",0),e.context.beginPath(),e.context.ellipse(d,y,E,_),t&&e.context.fill(t),r&&e.context.stroke(r);break;case"line":l=ut(i,"x1",0),A=ut(i,"y1",0),h=ut(i,"x2",0),f=ut(i,"y2",0),e.context.beginPath(),e.context.moveTo(l,A),e.context.lineTo(h,f),r&&e.context.stroke(r);break;case"polygon":I=i.getAttribute("points"),x=I.match(/\d+/g).map(T=>parseInt(T,10)),e.context.poly(x,!0),t&&e.context.fill(t),r&&e.context.stroke(r);break;case"polyline":I=i.getAttribute("points"),x=I.match(/\d+/g).map(T=>parseInt(T,10)),e.context.poly(x,!1),r&&e.context.stroke(r);break;case"g":case"svg":break;default:{fe(`[SVG parser] <${i.nodeName}> elements unsupported`);break}}a&&(t=null);for(let T=0;T<n.length;T++)RM(n[T],e,t,r)}var kM=Q(()=>{xt();$I();MM();eE();FM()});function $z(i){return De.isColorLike(i)}function GM(i){return i instanceof ji}function UM(i){return i instanceof dr}function eJ(i){return i instanceof V}function tJ(i,e,t){let r=De.shared.setValue(e??0);return i.color=r.toNumber(),i.alpha=r.alpha===1?t.alpha:r.alpha,i.texture=V.WHITE,{...t,...i}}function rJ(i,e,t){return i.texture=e,{...t,...i}}function LM(i,e,t){return i.fill=e,i.color=16777215,i.texture=e.texture,i.matrix=e.transform,{...t,...i}}function NM(i,e,t){return e.buildGradient(),i.fill=e,i.color=16777215,i.texture=e.texture,i.matrix=e.transform,i.textureSpace=e.textureSpace,{...t,...i}}function iJ(i,e){let t={...e,...i},r=De.shared.setValue(t.color);return t.alpha*=r.alpha,t.color=r.toNumber(),t}function Yi(i,e){if(i==null)return null;let t={},r=i;return $z(i)?tJ(t,i,e):eJ(i)?rJ(t,i,e):GM(i)?LM(t,i,e):UM(i)?NM(t,i,e):r.fill&&GM(r.fill)?LM(r,r.fill,e):r.fill&&UM(r.fill)?NM(r,r.fill,e):iJ(r,e)}function na(i,e){let{width:t,alignment:r,miterLimit:n,cap:s,join:o,pixelLine:a,...u}=e,c=Yi(i,u);return c?{width:t,alignment:r,miterLimit:n,cap:s,join:o,pixelLine:a,...c}:null}var iE=Q(()=>{Ar();ot();Zo();Gd()});var nJ,HM,nE,ir,Kd=Q(()=>{_r();Ar();Je();hr();ot();Zt();st();Fr();$I();kM();iE();nJ=new re,HM=new ie,nE=class Ei extends At{constructor(){super(...arguments),this.uid=ke("graphicsContext"),this.dirty=!0,this.batchMode="auto",this.instructions=[],this._activePath=new On,this._transform=new ie,this._fillStyle={...Ei.defaultFillStyle},this._strokeStyle={...Ei.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new We,this._boundsDirty=!0}clone(){let e=new Ei;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=Yi(e,Ei.defaultFillStyle)}get strokeStyle(){return this._strokeStyle}set strokeStyle(e){this._strokeStyle=na(e,Ei.defaultStrokeStyle)}setFillStyle(e){return this._fillStyle=Yi(e,Ei.defaultFillStyle),this}setStrokeStyle(e){return this._strokeStyle=Yi(e,Ei.defaultStrokeStyle),this}texture(e,t,r,n,s,o){return this.instructions.push({action:"texture",data:{image:e,dx:r||0,dy:n||0,dw:s||e.frame.width,dh:o||e.frame.height,transform:this._transform.clone(),alpha:this._fillStyle.alpha,style:t?De.shared.setValue(t).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new On,this}fill(e,t){let r,n=this.instructions[this.instructions.length-1];return this._tick===0&&n&&n.action==="stroke"?r=n.data.path:r=this._activePath.clone(),r?(e!=null&&(t!==void 0&&typeof e=="number"&&(se(de,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),e={color:e,alpha:t}),this._fillStyle=Yi(e,Ei.defaultFillStyle)),this.instructions.push({action:"fill",data:{style:this.fillStyle,path:r}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}_initNextPathLocation(){let{x:e,y:t}=this._activePath.getLastPoint(re.shared);this._activePath.clear(),this._activePath.moveTo(e,t)}stroke(e){let t,r=this.instructions[this.instructions.length-1];return this._tick===0&&r&&r.action==="fill"?t=r.data.path:t=this._activePath.clone(),t?(e!=null&&(this._strokeStyle=na(e,Ei.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],r=this._activePath.clone();if(t&&(t.action==="stroke"||t.action==="fill"))if(t.data.hole)t.data.hole.addPath(r);else{t.data.hole=r;break}}return this._initNextPathLocation(),this}arc(e,t,r,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,r,n,s,o),this}arcTo(e,t,r,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*r+o.c*n+o.tx,o.b*r+o.d*n+o.ty,s),this}arcToSvg(e,t,r,n,s,o,a){this._tick++;let u=this._transform;return this._activePath.arcToSvg(e,t,r,n,s,u.a*o+u.c*a+u.tx,u.b*o+u.d*a+u.ty),this}bezierCurveTo(e,t,r,n,s,o,a){this._tick++;let u=this._transform;return this._activePath.bezierCurveTo(u.a*e+u.c*t+u.tx,u.b*e+u.d*t+u.ty,u.a*r+u.c*n+u.tx,u.b*r+u.d*n+u.ty,u.a*s+u.c*o+u.tx,u.b*s+u.d*o+u.ty,a),this}closePath(){return this._tick++,this._activePath?.closePath(),this}ellipse(e,t,r,n){return this._tick++,this._activePath.ellipse(e,t,r,n,this._transform.clone()),this}circle(e,t,r){return this._tick++,this._activePath.circle(e,t,r,this._transform.clone()),this}path(e){return this._tick++,this._activePath.addPath(e,this._transform.clone()),this}lineTo(e,t){this._tick++;let r=this._transform;return this._activePath.lineTo(r.a*e+r.c*t+r.tx,r.b*e+r.d*t+r.ty),this}moveTo(e,t){this._tick++;let r=this._transform,n=this._activePath.instructions,s=r.a*e+r.c*t+r.tx,o=r.b*e+r.d*t+r.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,r,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*r+o.c*n+o.tx,o.b*r+o.d*n+o.ty,s),this}rect(e,t,r,n){return this._tick++,this._activePath.rect(e,t,r,n,this._transform.clone()),this}roundRect(e,t,r,n,s){return this._tick++,this._activePath.roundRect(e,t,r,n,s,this._transform.clone()),this}poly(e,t){return this._tick++,this._activePath.poly(e,t,this._transform.clone()),this}regularPoly(e,t,r,n,s=0,o){return this._tick++,this._activePath.regularPoly(e,t,r,n,s,o),this}roundPoly(e,t,r,n,s,o){return this._tick++,this._activePath.roundPoly(e,t,r,n,s,o),this}roundShape(e,t,r,n){return this._tick++,this._activePath.roundShape(e,t,r,n),this}filletRect(e,t,r,n,s){return this._tick++,this._activePath.filletRect(e,t,r,n,s),this}chamferRect(e,t,r,n,s,o){return this._tick++,this._activePath.chamferRect(e,t,r,n,s,o),this}star(e,t,r,n,s=0,o=0){return this._tick++,this._activePath.star(e,t,r,n,s,o,this._transform.clone()),this}svg(e){return this._tick++,OM(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,r,n,s,o){return e instanceof ie?(this._transform.set(e.a,e.b,e.c,e.d,e.tx,e.ty),this):(this._transform.set(e,t,r,n,s,o),this)}transform(e,t,r,n,s,o){return e instanceof ie?(this._transform.append(e),this):(HM.set(e,t,r,n,s,o),this._transform.append(HM),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 r=this.instructions[t],n=r.action;if(n==="fill"){let s=r.data;e.addBounds(s.path.bounds)}else if(n==="texture"){let s=r.data;e.addFrame(s.dx,s.dy,s.dx+s.dw,s.dy+s.dh,s.transform)}if(n==="stroke"){let s=r.data,o=s.style.alignment,a=s.style.width*(1-o),u=s.path.bounds;e.addFrame(u.minX-a,u.minY-a,u.maxX+a,u.maxY+a)}}return e}containsPoint(e){if(!this.bounds.containsPoint(e.x,e.y))return!1;let t=this.instructions,r=!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 u=o.style,c=a.shapePath.shapePrimitives;for(let l=0;l<c.length;l++){let A=c[l].shape;if(!u||!A)continue;let h=c[l].transform,f=h?h.applyInverse(e,nJ):e;if(s.action==="fill")r=A.contains(f.x,f.y);else{let y=u;r=A.strokeContains(f.x,f.y,y.width,y.alignment)}let d=o.hole;if(d){let y=d.shapePath?.shapePrimitives;if(y)for(let g=0;g<y.length;g++)y[g].shape.contains(f.x,f.y)&&(r=!1)}if(r)return!0}}return r}destroy(e=!1){if(this._stateStack.length=0,this._transform=null,this.emit("destroy",this),this.removeAllListeners(),typeof e=="boolean"?e:e?.texture){let r=typeof e=="boolean"?e:e?.textureSource;this._fillStyle.texture&&this._fillStyle.texture.destroy(r),this._strokeStyle.texture&&this._strokeStyle.texture.destroy(r)}this._fillStyle=null,this._strokeStyle=null,this.instructions=null,this._activePath=null,this._bounds=null,this._stateStack=null,this.customShader=null,this._transform=null}};nE.defaultFillStyle={color:16777215,alpha:1,texture:V.WHITE,matrix:null,fill:null,textureSpace:"local"};nE.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:V.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:!1};ir=nE});function Vd(i){let e=[],t=0;for(let r=0;r<qM.length;r++){let n=`_${qM[r]}`;e[t++]=i[n]}return t=WM(i._fill,e,t),t=sJ(i._stroke,e,t),t=oJ(i.dropShadow,e,t),e.join("-")}function WM(i,e,t){return i&&(e[t++]=i.color,e[t++]=i.alpha,e[t++]=i.fill?.styleKey),t}function sJ(i,e,t){return i&&(t=WM(i,e,t),e[t++]=i.width,e[t++]=i.alignment,e[t++]=i.cap,e[t++]=i.join,e[t++]=i.miterLimit),t}function oJ(i,e,t){return i&&(e[t++]=i.alpha,e[t++]=i.angle,e[t++]=i.blur,e[t++]=i.distance,e[t++]=De.shared.setValue(i.color).toNumber()),t}var qM,sE=Q(()=>{Ar();qM=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"]});function aJ(i){let e=i;if(typeof e.dropShadow=="boolean"&&e.dropShadow){let t=gr.defaultDropShadow;i.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){se(de,"strokeThickness is now a part of stroke");let t=e.stroke,r={};if(De.isColorLike(t))r.color=t;else if(t instanceof dr||t instanceof ji)r.fill=t;else if(Object.hasOwnProperty.call(t,"color")||Object.hasOwnProperty.call(t,"fill"))r=t;else throw new Error("Invalid stroke value.");i.stroke={...r,width:e.strokeThickness}}if(Array.isArray(e.fillGradientStops)){se(de,"gradient fill is now a fill pattern: `new FillGradient(...)`");let t;i.fontSize==null?i.fontSize=gr.defaultTextStyle.fontSize:typeof i.fontSize=="string"?t=parseInt(i.fontSize,10):t=i.fontSize;let r=new dr({start:{x:0,y:0},end:{x:0,y:(t||0)*1.7}}),n=e.fillGradientStops.map(s=>De.shared.setValue(s).toNumber());n.forEach((s,o)=>{let a=o/(n.length-1);r.addColorStop(a,s)}),i.fill={fill:r}}}var oE,gr,oa=Q(()=>{_r();Ar();st();Zo();Gd();Kd();iE();sE();oE=class sa extends At{constructor(e={}){super(),aJ(e);let t={...sa.defaultTextStyle,...e};for(let r in t){let n=r;this[n]=t[r]}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({...sa.defaultDropShadow,...e}):this._dropShadow=e?this._createProxy({...sa.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({...ir.defaultFillStyle,...e},()=>{this._fill=Yi({...this._originalFill},ir.defaultFillStyle)})),this._fill=Yi(e===0?"black":e,ir.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(e){e!==this._originalStroke&&(this._originalStroke=e,this._isFillStyle(e)&&(this._originalStroke=this._createProxy({...ir.defaultStrokeStyle,...e},()=>{this._stroke=na({...this._originalStroke},ir.defaultStrokeStyle)})),this._stroke=na(e,ir.defaultStrokeStyle),this.update())}_generateKey(){return this._styleKey=Vd(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this)}reset(){let e=sa.defaultTextStyle;for(let t in e)this[t]=e[t]}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new sa({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 r=typeof e=="boolean"?e:e?.textureSource;this._fill?.texture&&this._fill.texture.destroy(r),this._originalFill?.texture&&this._originalFill.texture.destroy(r),this._stroke?.texture&&this._stroke.texture.destroy(r),this._originalStroke?.texture&&this._originalStroke.texture.destroy(r)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(e,t){return new Proxy(e,{set:(r,n,s)=>(r[n]=s,t?.(n,s),this.update(),!0)})}_isFillStyle(e){return(e??null)!==null&&!(De.isColorLike(e)||e instanceof dr||e instanceof ji)}};oE.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};oE.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};gr=oE});function Xd(i,e,t,r){let n=lJ;n.minX=0,n.minY=0,n.maxX=i.width/r|0,n.maxY=i.height/r|0;let s=mt.getOptimalTexture(n.width,n.height,r,!1);return s.source.uploadMethodId="image",s.source.resource=i,s.source.alphaMode="premultiply-alpha-on-upload",s.frame.width=e/r,s.frame.height=t/r,s.source.emit("update",s.source),s.updateUvs(),s}var lJ,aE=Q(()=>{wn();Fr();lJ=new We});function Cs(i){let e=typeof i.fontSize=="number"?`${i.fontSize}px`:i.fontSize,t=i.fontFamily;Array.isArray(i.fontFamily)||(t=i.fontFamily.split(","));for(let r=t.length-1;r>=0;r--){let n=t[r].trim();!/([\"\'])[^\'\"]+\1/.test(n)&&!uJ.includes(n)&&(n=`"${n}"`),t[r]=n}return`${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${e} ${t.join(",")}`}var uJ,zd=Q(()=>{"use strict";uJ=["serif","sans-serif","monospace","cursive","fantasy","system-ui"]});var lE,ri,Or,Jd=Q(()=>{kt();zd();lE={willReadFrequently:!0},ri=class he{static get experimentalLetterSpacingSupported(){let e=he._experimentalLetterSpacingSupported;if(e!==void 0){let t=Se.get().getCanvasRenderingContext2D().prototype;e=he._experimentalLetterSpacingSupported="letterSpacing"in t||"textLetterSpacing"in t}return e}constructor(e,t,r,n,s,o,a,u,c){this.text=e,this.style=t,this.width=r,this.height=n,this.lines=s,this.lineWidths=o,this.lineHeight=a,this.maxLineWidth=u,this.fontProperties=c}static measureText(e=" ",t,r=he._canvas,n=t.wordWrap){let s=`${e}:${t.styleKey}`;if(he._measurementCache[s])return he._measurementCache[s];let o=Cs(t),a=he.measureFont(o);a.fontSize===0&&(a.fontSize=t.fontSize,a.ascent=t.fontSize);let u=he.__context;u.font=o;let l=(n?he._wordWrap(e,t,r):e).split(/(?:\r\n|\r|\n)/),A=new Array(l.length),h=0;for(let _=0;_<l.length;_++){let x=he._measureText(l[_],t.letterSpacing,u);A[_]=x,h=Math.max(h,x)}let f=t._stroke?.width||0,d=h+f;t.dropShadow&&(d+=t.dropShadow.distance);let y=t.lineHeight||a.fontSize,g=Math.max(y,a.fontSize+f)+(l.length-1)*(y+t.leading);return t.dropShadow&&(g+=t.dropShadow.distance),new he(e,t,d,g,l,A,y+t.leading,h,a)}static _measureText(e,t,r){let n=!1;he.experimentalLetterSpacingSupported&&(he.experimentalLetterSpacing?(r.letterSpacing=`${t}px`,r.textLetterSpacing=`${t}px`,n=!0):(r.letterSpacing="0px",r.textLetterSpacing="0px"));let s=r.measureText(e),o=s.width,a=-s.actualBoundingBoxLeft,c=s.actualBoundingBoxRight-a;if(o>0)if(n)o-=t,c-=t;else{let l=(he.graphemeSegmenter(e).length-1)*t;o+=l,c+=l}return Math.max(o,c)}static _wordWrap(e,t,r=he._canvas){let n=r.getContext("2d",lE),s=0,o="",a="",u=Object.create(null),{letterSpacing:c,whiteSpace:l}=t,A=he._collapseSpaces(l),h=he._collapseNewlines(l),f=!A,d=t.wordWrapWidth+c,y=he._tokenize(e);for(let g=0;g<y.length;g++){let E=y[g];if(he._isNewline(E)){if(!h){a+=he._addLine(o),f=!A,o="",s=0;continue}E=" "}if(A){let x=he.isBreakingSpace(E),I=he.isBreakingSpace(o[o.length-1]);if(x&&I)continue}let _=he._getFromCache(E,c,u,n);if(_>d)if(o!==""&&(a+=he._addLine(o),o="",s=0),he.canBreakWords(E,t.breakWords)){let x=he.wordWrapSplit(E);for(let I=0;I<x.length;I++){let P=x[I],F=P,G=1;for(;x[I+G];){let T=x[I+G];if(!he.canBreakChars(F,T,E,I,t.breakWords))P+=T;else break;F=T,G++}I+=G-1;let q=he._getFromCache(P,c,u,n);q+s>d&&(a+=he._addLine(o),f=!1,o="",s=0),o+=P,s+=q}}else{o.length>0&&(a+=he._addLine(o),o="",s=0);let x=g===y.length-1;a+=he._addLine(E,!x),f=!1,o="",s=0}else _+s>d&&(f=!1,a+=he._addLine(o),o="",s=0),(o.length>0||!he.isBreakingSpace(E)||f)&&(o+=E,s+=_)}return a+=he._addLine(o,!1),a}static _addLine(e,t=!0){return e=he._trimRight(e),e=t?`${e}
|
|
370
|
+
`:e,e}static _getFromCache(e,t,r,n){let s=r[e];return typeof s!="number"&&(s=he._measureText(e,t,n)+t,r[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 r=e[t];if(!he.isBreakingSpace(r))break;e=e.slice(0,-1)}return e}static _isNewline(e){return typeof e!="string"?!1:he._newlines.includes(e.charCodeAt(0))}static isBreakingSpace(e,t){return typeof e!="string"?!1:he._breakingSpaces.includes(e.charCodeAt(0))}static _tokenize(e){let t=[],r="";if(typeof e!="string")return t;for(let n=0;n<e.length;n++){let s=e[n],o=e[n+1];if(he.isBreakingSpace(s,o)||he._isNewline(s)){r!==""&&(t.push(r),r=""),t.push(s);continue}r+=s}return r!==""&&t.push(r),t}static canBreakWords(e,t){return t}static canBreakChars(e,t,r,n,s){return!0}static wordWrapSplit(e){return he.graphemeSegmenter(e)}static measureFont(e){if(he._fonts[e])return he._fonts[e];let t=he._context;t.font=e;let r=t.measureText(he.METRICS_STRING+he.BASELINE_SYMBOL),n={ascent:r.actualBoundingBoxAscent,descent:r.actualBoundingBoxDescent,fontSize:r.actualBoundingBoxAscent+r.actualBoundingBoxDescent};return he._fonts[e]=n,n}static clearMetrics(e=""){e?delete he._fonts[e]:he._fonts={}}static get _canvas(){if(!he.__canvas){let e;try{let t=new OffscreenCanvas(0,0);if(t.getContext("2d",lE)?.measureText)return he.__canvas=t,t;e=Se.get().createCanvas()}catch{e=Se.get().createCanvas()}e.width=e.height=10,he.__canvas=e}return he.__canvas}static get _context(){return he.__context||(he.__context=he._canvas.getContext("2d",lE)),he.__context}};ri.METRICS_STRING="|\xC9q\xC5";ri.BASELINE_SYMBOL="M";ri.BASELINE_MULTIPLIER=1.4;ri.HEIGHT_MULTIPLIER=2;ri.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let i=new Intl.Segmenter;return e=>[...i.segment(e)].map(t=>t.segment)}return i=>[...i]})();ri.experimentalLetterSpacing=!1;ri._fonts={};ri._newlines=[10,13];ri._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];ri._measurementCache={};Or=ri});function aa(i,e,t,r=0){if(i.texture===V.WHITE&&!i.fill)return De.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof ji){let n=i.fill,s=e.createPattern(n.texture.source.resource,"repeat"),o=n.transform.copyTo(ie.shared);return o.scale(n.texture.frame.width,n.texture.frame.height),s.setTransform(o),s}else if(i.fill instanceof dr){let n=i.fill,s=n.type==="linear",o=n.textureSpace==="local",a=1,u=1;o&&t&&(a=t.width+r,u=t.height+r);let c,l=!1;if(s){let{start:A,end:h}=n;c=e.createLinearGradient(A.x*a,A.y*u,h.x*a,h.y*u),l=Math.abs(h.x-A.x)<Math.abs((h.y-A.y)*.1)}else{let{center:A,innerRadius:h,outerCenter:f,outerRadius:d}=n;c=e.createRadialGradient(A.x*a,A.y*u,h*a,f.x*a,f.y*u,d*a)}if(l&&o&&t){let A=t.lineHeight/u;for(let h=0;h<t.lines.length;h++){let f=(h*t.lineHeight+r/2)/u;n.colorStops.forEach(d=>{let y=f+d.offset*A;c.addColorStop(Math.floor(y*jM)/jM,De.shared.setValue(d.color).toHex())})}}else n.colorStops.forEach(A=>{c.addColorStop(A.offset,De.shared.setValue(A.color).toHex())});return c}}else{let n=e.createPattern(i.texture.source.resource,"repeat"),s=i.matrix.copyTo(ie.shared);return s.scale(i.texture.frame.width,i.texture.frame.height),n.setTransform(s),n}return fe("FillStyle not recognised",i),"red"}var jM,uE=Q(()=>{Ar();Je();ot();xt();Zo();Gd();jM=1e5});var Ll,YM=Q(()=>{Ar();ne();ll();kl();wn();nM();st();oa();aE();Jd();zd();uE();Ll=class{constructor(e){this._activeTextures={},this._renderer=e}getTextureSize(e,t,r){let n=Or.measureText(e||" ",r),s=Math.ceil(Math.ceil(Math.max(1,n.width)+r.padding*2)*t),o=Math.ceil(Math.ceil(Math.max(1,n.height)+r.padding*2)*t);return s=Math.ceil(s-1e-6),o=Math.ceil(o-1e-6),s=Ui(s),o=Ui(o),{width:s,height:o}}getTexture(e,t,r,n){typeof e=="string"&&(se("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),e={text:e,style:r,resolution:t}),e.style instanceof gr||(e.style=new gr(e.style));let{texture:s,canvasAndContext:o}=this.createTextureAndCanvas(e);return this._renderer.texture.initSource(s._source),ti.returnCanvasAndContext(o),s}createTextureAndCanvas(e){let{text:t,style:r}=e,n=e.resolution??this._renderer.resolution,s=Or.measureText(t||" ",r),o=Math.ceil(Math.ceil(Math.max(1,s.width)+r.padding*2)*n),a=Math.ceil(Math.ceil(Math.max(1,s.height)+r.padding*2)*n),u=ti.getOptimalCanvasAndContext(o,a),{canvas:c}=u;this.renderTextToCanvas(t,r,n,u);let l=Xd(c,o,a,n);if(r.trim){let A=iM(c,n);l.frame.copyFrom(A),l.updateUvs()}return{texture:l,canvasAndContext:u}}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:r,canvasAndContext:n}=this.createTextureAndCanvas(e);return this._activeTextures[t]={canvasAndContext:n,texture:r,usageCount:1},r}_increaseReferenceCount(e){this._activeTextures[e].usageCount++}returnTexture(e){let t=e.source;t.resource=null,t.uploadMethodId="unknown",t.alphaMode="no-premultiply-alpha",mt.returnTexture(e)}decreaseReferenceCount(e){let t=this._activeTextures[e];t.usageCount--,t.usageCount===0&&(ti.returnCanvasAndContext(t.canvasAndContext),this.returnTexture(t.texture),this._activeTextures[e]=null)}getReferenceCount(e){return this._activeTextures[e].usageCount}renderTextToCanvas(e,t,r,n){let{canvas:s,context:o}=n,a=Cs(t),u=Or.measureText(e||" ",t),c=u.lines,l=u.lineHeight,A=u.lineWidths,h=u.maxLineWidth,f=u.fontProperties,d=s.height;if(o.resetTransform(),o.scale(r,r),o.textBaseline=t.textBaseline,t._stroke?.width){let _=t._stroke;o.lineWidth=_.width,o.miterLimit=_.miterLimit,o.lineJoin=_.join,o.lineCap=_.cap}o.font=a;let y,g,E=t.dropShadow?2:1;for(let _=0;_<E;++_){let x=t.dropShadow&&_===0,I=x?Math.ceil(Math.max(1,d)+t.padding*2):0,P=I*r;if(x){o.fillStyle="black",o.strokeStyle="black";let q=t.dropShadow,T=q.color,K=q.alpha;o.shadowColor=De.shared.setValue(T).setAlpha(K).toRgbaString();let J=q.blur*r,$=q.distance*r;o.shadowBlur=J,o.shadowOffsetX=Math.cos(q.angle)*$,o.shadowOffsetY=Math.sin(q.angle)*$+P}else{if(o.fillStyle=t._fill?aa(t._fill,o,u):null,t._stroke?.width){let q=t._stroke.width*t._stroke.alignment;o.strokeStyle=aa(t._stroke,o,u,q)}o.shadowColor="black"}let F=(l-f.fontSize)/2;l-f.fontSize<0&&(F=0);let G=t._stroke?.width??0;for(let q=0;q<c.length;q++)y=G/2,g=G/2+q*l+f.ascent+F,t.align==="right"?y+=h-A[q]:t.align==="center"&&(y+=(h-A[q])/2),t._stroke?.width&&this._drawLetterSpacing(c[q],t,n,y+t.padding,g+t.padding-I,!0),t._fill!==void 0&&this._drawLetterSpacing(c[q],t,n,y+t.padding,g+t.padding-I)}}_drawLetterSpacing(e,t,r,n,s,o=!1){let{context:a}=r,u=t.letterSpacing,c=!1;if(Or.experimentalLetterSpacingSupported&&(Or.experimentalLetterSpacing?(a.letterSpacing=`${u}px`,a.textLetterSpacing=`${u}px`,c=!0):(a.letterSpacing="0px",a.textLetterSpacing="0px")),u===0||c){o?a.strokeText(e,n,s):a.fillText(e,n,s);return}let l=n,A=Or.graphemeSegmenter(e),h=a.measureText(e).width,f=0;for(let d=0;d<A.length;++d){let y=A[d];o?a.strokeText(y,l,s):a.fillText(y,l,s);let g="";for(let E=d+1;E<A.length;++E)g+=A[E];f=a.measureText(g).width,l+=h-f+u,h=f}}destroy(){this._activeTextures=null}};Ll.extension={type:[L.WebGLSystem,L.WebGPUSystem,L.CanvasSystem],name:"canvasText"}});var cE=Q(()=>{ne();eM();YM();le.add(Ll);le.add(Rl)});var xi,AE=Q(()=>{st();qi();Kd();xi=class i extends ht{constructor(e){e instanceof ir&&(e={context:e});let{context:t,roundPixels:r,...n}=e||{};super({label:"Graphics",...n}),this.renderPipeId="graphics",t?this._context=t:this._context=this._ownedContext=new ir,this._context.on("update",this.onViewUpdate,this),this.allowChildren=!1,this.roundPixels=r??!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 i(this._context.clone()):(this._ownedContext=null,new i(this._context))}lineStyle(e,t,r){se(de,"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),r&&(n.alpha=r),this.context.strokeStyle=n,this}beginFill(e,t){se(de,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");let r={};return e!==void 0&&(r.color=e),t!==void 0&&(r.alpha=t),this.context.fillStyle=r,this}endFill(){se(de,"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!==ir.defaultStrokeStyle.width||e.color!==ir.defaultStrokeStyle.color||e.alpha!==ir.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...e){return se(de,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",e)}drawEllipse(...e){return se(de,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",e)}drawPolygon(...e){return se(de,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",e)}drawRect(...e){return se(de,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",e)}drawRoundedRect(...e){return se(de,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",e)}drawStar(...e){return se(de,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",e)}}});var KM,VM,XM=Q(()=>{"use strict";KM={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
|
+
`}},VM={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 zM,JM,ZM=Q(()=>{"use strict";zM={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
|
+
`}},JM={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 hE,fE,Zd,$M=Q(()=>{Je();cd();yd();uI();hI();Bd();dI();Is();Ii();XM();ZM();Zd=class extends Dt{constructor(){let e=new it({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new ie,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}}),t=qo();hE??(hE=Yo({name:"sdf-shader",bits:[Id,xd(t),KM,zM,Vo]})),fE??(fE=Ko({name:"sdf-shader",bits:[Ed,_d(t),VM,JM,Xo]})),super({glProgram:fE,gpuProgram:hE,resources:{localUniforms:e,batchSamplers:vd(t)}})}}});var la,dE=Q(()=>{_r();st();la=class extends At{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 se(de,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return se(de,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return se(de,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return se(de,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return se(de,"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 $d(i){if(i==="")return[];typeof i=="string"&&(i=[i]);let e=[];for(let t=0,r=i.length;t<r;t++){let n=i[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,u=o;a<=u;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 pE=Q(()=>{"use strict"});var eT,gE,rT=Q(()=>{Ar();$t();kl();fs();ot();st();Jd();zd();uE();oa();dE();pE();eT=class tT extends la{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={...tT.defaultOptions,...e};this._textureSize=t.textureSize,this._mipmap=t.mipmap;let r=t.style.clone();t.overrideFill&&(r._fill.color=16777215,r._fill.alpha=1,r._fill.texture=V.WHITE,r._fill.fill=null),this.applyFillAsTint=t.overrideFill;let n=r.fontSize;r.fontSize=this.baseMeasurementFontSize;let s=Cs(r);t.overrideSize?r._stroke&&(r._stroke.width*=this.baseRenderedFontSize/n):r.fontSize=this.baseRenderedFontSize=n,this._style=r,this._skipKerning=t.skipKerning??!1,this.resolution=t.resolution??1,this._padding=t.padding??4,this.fontMetrics=Or.measureFont(s),this.lineHeight=r.lineHeight||this.fontMetrics.fontSize||r.fontSize}ensureCharacters(e){let t=$d(e).filter(g=>!this._currentChars.includes(g)).filter((g,E,_)=>_.indexOf(g)===E);if(!t.length)return;this._currentChars=[...this._currentChars,...t];let r;this._currentPageIndex===-1?r=this._nextPage():r=this.pages[this._currentPageIndex];let{canvas:n,context:s}=r.canvasAndContext,o=r.texture.source,a=this._style,u=this._currentX,c=this._currentY,l=this.baseRenderedFontSize/this.baseMeasurementFontSize,A=this._padding*l,h=0,f=!1,d=n.width/this.resolution,y=n.height/this.resolution;for(let g=0;g<t.length;g++){let E=t[g],_=Or.measureText(E,a,n,!1);_.lineHeight=_.height;let x=_.width*l,I=Math.ceil((a.fontStyle==="italic"?2:1)*x),P=_.height*l,F=I+A*2,G=P+A*2;if(f=!1,E!==`
|
|
468
|
+
`&&E!=="\r"&&E!==" "&&E!==" "&&(f=!0,h=Math.ceil(Math.max(G,h))),u+F>d&&(c+=h,h=G,u=0,c+h>y)){o.update();let T=this._nextPage();n=T.canvasAndContext.canvas,s=T.canvasAndContext.context,o=T.texture.source,c=0}let q=x/l-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[E]={id:E.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:q,kerning:{}},f){this._drawGlyph(s,_,u+A,c+A,l,a);let T=o.width*l,K=o.height*l,J=new pe(u/T*o.width,c/K*o.height,F/T*o.width,G/K*o.height);this.chars[E].texture=new V({source:o,frame:J}),u+=Math.ceil(F)}}o.update(),this._currentX=u,this._currentY=c,this._skipKerning&&this._applyKerning(t,s)}get pageTextures(){return se(de,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(e,t){let r=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],u=r[s];u||(u=r[s]=t.measureText(s).width);let c=r[a];c||(c=r[a]=t.measureText(a).width);let l=t.measureText(s+a).width,A=l-(u+c);A&&(this.chars[s].kerning[a]=A),l=t.measureText(s+a).width,A=l-(u+c),A&&(this.chars[a].kerning[s]=A)}}}_nextPage(){this._currentPageIndex++;let e=this.resolution,t=ti.getOptimalCanvasAndContext(this._textureSize,this._textureSize,e);this._setupContext(t.context,this._style,e);let r=e*(this.baseRenderedFontSize/this.baseMeasurementFontSize),n=new V({source:new qt({resource:t.canvas,resolution:r,alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:this._mipmap})}),s={canvasAndContext:t,texture:n};return this.pages[this._currentPageIndex]=s,s}_setupContext(e,t,r){t.fontSize=this.baseRenderedFontSize,e.scale(r,r),e.font=Cs(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=aa(n,e)),t._fill&&(e.fillStyle=aa(t._fill,e)),t.dropShadow){let o=t.dropShadow,a=De.shared.setValue(o.color).toArray(),u=o.blur*r,c=o.distance*r;e.shadowColor=`rgba(${a[0]*255},${a[1]*255},${a[2]*255},${o.alpha})`,e.shadowBlur=u,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,r,n,s,o){let a=t.text,u=t.fontProperties,l=(o._stroke?.width??0)*s,A=r+l/2,h=n-l/2,f=u.descent*s,d=t.lineHeight*s;o.stroke&&l&&e.strokeText(a,A,h+d-f),o._fill&&e.fillText(a,A,h+d-f)}destroy(){super.destroy();for(let e=0;e<this.pages.length;e++){let{canvasAndContext:t,texture:r}=this.pages[e];ti.returnCanvasAndContext(t),r.destroy(!0)}this.pages=null}};eT.defaultOptions={textureSize:512,style:new gr,mipmap:!0};gE=eT});function ep(i,e,t,r){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,u={spaceWord:!1,width:0,start:0,index:0,positions:[],chars:[]},c=d=>{let y=s.width;for(let g=0;g<u.index;g++){let E=d.positions[g];s.chars.push(d.chars[g]),s.charPositions.push(E+y)}s.width+=d.width,a=!1,u.width=0,u.index=0,u.chars.length=0},l=()=>{let d=s.chars.length-1;if(r){let y=s.chars[d];for(;y===" ";)s.width-=t.chars[y].xAdvance,y=s.chars[--d]}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,f=e.wordWrapWidth*A;for(let d=0;d<i.length+1;d++){let y,g=d===i.length;g||(y=i[d]);let E=t.chars[y]||t.chars[" "];if(/(?:\s)/.test(y)||y==="\r"||y===`
|
|
469
|
+
`||g){if(!a&&e.wordWrap&&s.width+u.width-h>f?(l(),c(u),g||s.charPositions.push(0)):(u.start=s.width,c(u),g||s.charPositions.push(0)),y==="\r"||y===`
|
|
470
|
+
`)s.width!==0&&l();else if(!g){let P=E.xAdvance+(E.kerning[o]||0)+h;s.width+=P,s.spaceWidth=P,s.spacesIndex.push(s.charPositions.length),s.chars.push(y)}}else{let I=E.kerning[o]||0,P=E.xAdvance+I+h;u.positions[u.index++]=u.width+I,u.chars.push(y),u.width+=P}o=y}return l(),e.align==="center"?cJ(n):e.align==="right"?AJ(n):e.align==="justify"&&hJ(n),n}function cJ(i){for(let e=0;e<i.lines.length;e++){let t=i.lines[e],r=i.width/2-t.width/2;for(let n=0;n<t.charPositions.length;n++)t.charPositions[n]+=r}}function AJ(i){for(let e=0;e<i.lines.length;e++){let t=i.lines[e],r=i.width-t.width;for(let n=0;n<t.charPositions.length;n++)t.charPositions[n]+=r}}function hJ(i){let e=i.width;for(let t=0;t<i.lines.length;t++){let r=i.lines[t],n=0,s=r.spacesIndex[n++],o=0,a=r.spacesIndex.length,c=(e-r.width)/a;for(let l=0;l<r.charPositions.length;l++)l===s&&(s=r.spacesIndex[n++],o+=c),r.charPositions[l]+=o}}var mE=Q(()=>{"use strict"});var tp,yE,Nl,IE=Q(()=>{mi();st();xt();oa();rT();mE();pE();tp=0,yE=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 r=`${t.fontFamily}-bitmap`,n=!0;if(t._fill.fill&&!t._stroke)r+=t._fill.fill.styleKey,n=!1;else if(t._stroke||t.dropShadow){let o=t.styleKey;o=o.substring(0,o.lastIndexOf("-")),r=`${o}-bitmap`,n=!1}if(!Fe.has(r)){let o=new gE({style:t,overrideFill:n,overrideSize:!0,...this.defaultOptions});tp++,tp>50&&fe("BitmapText",`You have dynamically created ${tp} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),o.once("destroy",()=>{tp--,Fe.remove(r)}),Fe.set(r,o)}let s=Fe.get(r);return s.ensureCharacters?.(e),s}getLayout(e,t,r=!0){let n=this.getFont(e,t);return ep([...e],t,n,r)}measureText(e,t,r=!0){return this.getLayout(e,t,r)}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},se(de,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));let r=t?.name;if(!r)throw new Error("[BitmapFontManager] Property `name` is required.");t={...this.defaultOptions,...t};let n=t.style,s=n instanceof gr?n:new gr(n),o=s._fill.fill!==null&&s._fill.fill!==void 0,a=new gE({style:s,overrideFill:o,skipKerning:t.skipKerning,padding:t.padding,resolution:t.resolution,overrideSize:!1}),u=$d(t.chars);return a.ensureCharacters(u.join("")),Fe.set(`${r}-bitmap`,a),a.once("destroy",()=>Fe.remove(`${r}-bitmap`)),a}uninstall(e){let t=`${e}-bitmap`,r=Fe.get(t);r&&r.destroy()}},Nl=new yE});function iT(i,e){e.groupTransform=i.groupTransform,e.groupColorAlpha=i.groupColorAlpha,e.groupColor=i.groupColor,e.groupBlendMode=i.groupBlendMode,e.globalDisplayStatus=i.globalDisplayStatus,e.groupTransform=i.groupTransform,e.localDisplayStatus=i.localDisplayStatus,e.groupAlpha=i.groupAlpha,e._roundPixels=i._roundPixels}var Hl,nT=Q(()=>{mi();ne();Br();AE();$M();IE();mE();Hl=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 r=this._getGpuBitmapText(e);iT(e,r),e._didTextUpdate&&(e._didTextUpdate=!1,this._updateContext(e,r)),this._renderer.renderPipes.graphics.addRenderable(r,t),r.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&&(Be.return(t.customShader),t.customShader=null),Be.return(this._gpuBitmapText[e]),this._gpuBitmapText[e]=null}updateRenderable(e){let t=this._getGpuBitmapText(e);iT(e,t),this._renderer.renderPipes.graphics.updateRenderable(t),t.context.customShader&&this._updateDistanceField(e)}_updateContext(e,t){let{context:r}=t,n=Nl.getFont(e.text,e._style);r.clear(),n.distanceField.type!=="none"&&(r.customShader||(r.customShader=Be.get(Zd)));let s=Array.from(e.text),o=e._style,a=n.baseLineOffset,u=ep(s,o,n,!0),c=0,l=o.padding,A=u.scale,h=u.width,f=u.height+u.offsetY;o._stroke&&(h+=o._stroke.width/A,f+=o._stroke.width/A),r.translate(-e._anchor._x*h-l,-e._anchor._y*f-l).scale(A,A);let d=n.applyFillAsTint?o._fill.color:16777215;for(let y=0;y<u.lines.length;y++){let g=u.lines[y];for(let E=0;E<g.charPositions.length;E++){let _=s[c++],x=n.chars[_];x?.texture&&r.texture(x.texture,d||"black",Math.round(g.charPositions[E]+x.xOffset),Math.round(a+x.yOffset))}a+=n.lineHeight}}_getGpuBitmapText(e){return this._gpuBitmapText[e.uid]||this.initGpuText(e)}initGpuText(e){let t=Be.get(xi);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,r=e._style.fontFamily,n=Fe.get(`${r}-bitmap`),{a:s,b:o,c:a,d:u}=e.groupTransform,c=Math.sqrt(s*s+o*o),l=Math.sqrt(a*a+u*u),A=(Math.abs(c)+Math.abs(l))/2,h=n.baseRenderedFontSize/e._style.fontSize,f=A*n.distanceField.range*(1/h);t.customShader.resources.localUniforms.uniforms.uDistance=f}destroy(){for(let e in this._gpuBitmapText)this._destroyRenderableByUid(e);this._gpuBitmapText=null,this._renderer=null}};Hl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"bitmapText"}});var EE=Q(()=>{ne();nT();le.add(Hl)});var ql,sT=Q(()=>{ne();ot();Br();HI();qI();ql=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 r=t.batchableSprite.renderable;r._autoResolution&&(r._resolution=this._renderer.resolution,r.onViewUpdate())}}validateRenderable(e){let t=this._getGpuText(e),r=e._getKey();return t.textureNeedsUploading?(t.textureNeedsUploading=!1,!0):t.currentKey!==r}addRenderable(e,t){let n=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),this._renderer.renderPipes.batch.addToBatch(n,t)}updateRenderable(e){let r=this._getGpuText(e).batchableSprite;e._didTextUpdate&&this._updateText(e),r._batcher.updateElement(r)}destroyRenderable(e){e.off("destroyed",this._destroyRenderableBound),this._destroyRenderableById(e.uid)}_destroyRenderableById(e){let t=this._gpuText[e];this._renderer.htmlText.decreaseReferenceCount(t.currentKey),Be.return(t.batchableSprite),this._gpuText[e]=null}_updateText(e){let t=e._getKey(),r=this._getGpuText(e),n=r.batchableSprite;r.currentKey!==t&&this._updateGpuText(e).catch(s=>{console.error(s)}),e._didTextUpdate=!1,Ol(n,e)}async _updateGpuText(e){e._didTextUpdate=!1;let t=this._getGpuText(e);if(t.generatingTexture)return;let r=e._getKey();this._renderer.htmlText.decreaseReferenceCount(t.currentKey),t.generatingTexture=!0,t.currentKey=r;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(),Ol(o,e)}_getGpuText(e){return this._gpuText[e.uid]||this.initGpuText(e)}initGpuText(e){let t={texture:V.EMPTY,currentKey:"--",batchableSprite:Be.get(ta),textureNeedsUploading:!1,generatingTexture:!1},r=t.batchableSprite;return r.renderable=e,r.transform=e.groupTransform,r.texture=V.EMPTY,r.bounds={minX:0,maxX:1,minY:0,maxY:0},r.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}};ql.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"htmlText"}});function oT(){let{userAgent:i}=Se.get().getNavigator();return/^((?!chrome|android).)*safari/i.test(i)}var aT=Q(()=>{kt()});var lT,uT,ua,xE=Q(()=>{"use strict";lT="http://www.w3.org/2000/svg",uT="http://www.w3.org/1999/xhtml",ua=class{constructor(){this.svgRoot=document.createElementNS(lT,"svg"),this.foreignObject=document.createElementNS(lT,"foreignObject"),this.domElement=document.createElementNS(uT,"div"),this.styleElement=document.createElementNS(uT,"style"),this.image=new Image;let{foreignObject:e,svgRoot:t,styleElement:r,domElement:n}=this;e.setAttribute("width","10000"),e.setAttribute("height","10000"),e.style.overflow="hidden",t.appendChild(e),e.appendChild(r),e.appendChild(n)}}});function hT(i){let e=i._stroke,t=i._fill,n=[`div { ${[`color: ${De.shared.setValue(t.color).toHex()}`,`font-size: ${i.fontSize}px`,`font-family: ${i.fontFamily}`,`font-weight: ${i.fontWeight}`,`font-style: ${i.fontStyle}`,`font-variant: ${i.fontVariant}`,`letter-spacing: ${i.letterSpacing}px`,`text-align: ${i.align}`,`padding: ${i.padding}px`,`white-space: ${i.whiteSpace==="pre"&&i.wordWrap?"pre-wrap":i.whiteSpace}`,...i.lineHeight?[`line-height: ${i.lineHeight}px`]:[],...i.wordWrap?[`word-wrap: ${i.breakWords?"break-all":"break-word"}`,`max-width: ${i.wordWrapWidth}px`]:[],...e?[dT(e)]:[],...i.dropShadow?[fT(i.dropShadow)]:[],...i.cssOverrides].join(";")} }`];return fJ(i.tagStyles,n),n.join(" ")}function fT(i){let e=De.shared.setValue(i.color).setAlpha(i.alpha).toHexa(),t=Math.round(Math.cos(i.angle)*i.distance),r=Math.round(Math.sin(i.angle)*i.distance),n=`${t}px ${r}px`;return i.blur>0?`text-shadow: ${n} ${i.blur}px ${e}`:`text-shadow: ${n} ${e}`}function dT(i){return[`-webkit-text-stroke-width: ${i.width}px`,`-webkit-text-stroke-color: ${De.shared.setValue(i.color).toHex()}`,`text-stroke-width: ${i.width}px`,`text-stroke-color: ${De.shared.setValue(i.color).toHex()}`,"paint-order: stroke"].join(";")}function fJ(i,e){for(let t in i){let r=i[t],n=[];for(let s in r)AT[s]?n.push(AT[s](r[s])):cT[s]&&n.push(cT[s].replace("{{VALUE}}",r[s]));e.push(`${t} { ${n.join(";")} }`)}}var cT,AT,pT=Q(()=>{Ar();cT={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"},AT={fill:i=>`color: ${De.shared.setValue(i).toHex()}`,breakWords:i=>`word-wrap: ${i?"break-all":"break-word"}`,stroke:dT,dropShadow:fT}});var rp,gT=Q(()=>{xt();oa();sE();pT();rp=class i extends gr{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=Vd(this)+this._cssOverrides.join("-"),this._styleKey}update(){this._cssStyle=null,super.update()}clone(){return new i({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=hT(this)),this._cssStyle}addOverride(...e){let t=e.filter(r=>!this.cssOverrides.includes(r));t.length>0&&(this.cssOverrides.push(...t),this.update())}removeOverride(...e){let t=e.filter(r=>this.cssOverrides.includes(r));t.length>0&&(this.cssOverrides=this.cssOverrides.filter(r=>!t.includes(r)),this.update())}set fill(e){typeof e!="string"&&typeof e!="number"&&fe("[HTMLTextStyle] only color fill is not supported by HTMLText"),super.fill=e}set stroke(e){e&&typeof e!="string"&&typeof e!="number"&&fe("[HTMLTextStyle] only color stroke is not supported by HTMLText"),super.stroke=e}}});function mT(i,e){let t=e.fontFamily,r=[],n={},s=/font-family:([^;"\s]+)/g,o=i.match(s);function a(u){n[u]||(r.push(u),n[u]=!0)}if(Array.isArray(t))for(let u=0;u<t.length;u++)a(t[u]);else a(t);o&&o.forEach(u=>{let c=u.split(":")[1].trim();a(c)});for(let u in e.tagStyles){let c=e.tagStyles[u].fontFamily;a(c)}return r}var yT=Q(()=>{"use strict"});async function IT(i){let t=await(await Se.get().fetch(i)).blob(),r=new FileReader;return await new Promise((s,o)=>{r.onloadend=()=>s(r.result),r.onerror=o,r.readAsDataURL(t)})}var ET=Q(()=>{kt()});async function _E(i,e){let t=await IT(e);return`@font-face {
|
|
471
|
+
font-family: "${i.fontFamily}";
|
|
472
|
+
src: url('${t}');
|
|
473
|
+
font-weight: ${i.fontWeight};
|
|
474
|
+
font-style: ${i.fontStyle};
|
|
475
|
+
}`}var xT=Q(()=>{ET()});async function _T(i,e,t){let r=i.filter(n=>Fe.has(`${n}-and-url`)).map((n,s)=>{if(!ip.has(n)){let{url:o}=Fe.get(`${n}-and-url`);s===0?ip.set(n,_E({fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontFamily:n},o)):ip.set(n,_E({fontWeight:t.fontWeight,fontStyle:t.fontStyle,fontFamily:n},o))}return ip.get(n)});return(await Promise.all(r)).join(`
|
|
476
|
+
`)}var ip,BT=Q(()=>{mi();xT();ip=new Map});function vT(i,e,t,r,n){let{domElement:s,styleElement:o,svgRoot:a}=n;s.innerHTML=`<style>${e.cssStyle}</style><div style='padding:0;'>${i}</div>`,s.setAttribute("style",`transform: scale(${t});transform-origin: top left; display: inline-block`),o.textContent=r;let{width:u,height:c}=n.image;return a.setAttribute("width",u.toString()),a.setAttribute("height",c.toString()),new XMLSerializer().serializeToString(a)}var CT=Q(()=>{"use strict"});function bT(i,e){let t=ti.getOptimalCanvasAndContext(i.width,i.height,e),{context:r}=t;return r.clearRect(0,0,i.width,i.height),r.drawImage(i,0,0),t}var wT=Q(()=>{kl()});function QT(i,e,t){return new Promise(async r=>{t&&await new Promise(n=>setTimeout(n,100)),i.onload=()=>{r()},i.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(e)}`,i.crossOrigin="anonymous"})}var ST=Q(()=>{"use strict"});function TT(i,e,t,r){r||(r=MT||(MT=new ua));let{domElement:n,styleElement:s,svgRoot:o}=r;n.innerHTML=`<style>${e.cssStyle};</style><div style='padding:0'>${i}</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 u=e.padding*2;return{width:a.width-u,height:a.height-u}}var MT,PT=Q(()=>{xE()});var ca,DT=Q(()=>{ne();kl();wn();ys();aT();xt();Br();aE();xE();gT();yT();BT();CT();wT();ST();PT();ca=class{constructor(e){this._activeTextures={},this._renderer=e,this._createCanvas=e.type===fr.WEBGPU}getTexture(e){return this._buildTexturePromise(e.text,e.resolution,e.style)}getManagedTexture(e,t,r,n){if(this._activeTextures[n])return this._increaseReferenceCount(n),this._activeTextures[n].promise;let s=this._buildTexturePromise(e,t,r).then(o=>(this._activeTextures[n].texture=o,o));return this._activeTextures[n]={texture:null,promise:s,usageCount:1},s}async _buildTexturePromise(e,t,r){let n=Be.get(ua),s=mT(e,r),o=await _T(s,r,rp.defaultTextStyle),a=TT(e,r,o,n),u=Math.ceil(Math.ceil(Math.max(1,a.width)+r.padding*2)*t),c=Math.ceil(Math.ceil(Math.max(1,a.height)+r.padding*2)*t),l=n.image,A=2;l.width=(u|0)+A,l.height=(c|0)+A;let h=vT(e,r,t,o,n);await QT(l,h,oT()&&s.length>0);let f=l,d;this._createCanvas&&(d=bT(l,t));let y=Xd(d?d.canvas:f,l.width-A,l.height-A,t);return this._createCanvas&&(this._renderer.texture.initSource(y.source),ti.returnCanvasAndContext(d)),Be.return(n),y}_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(r=>{t.texture=r,this._cleanUp(t)}).catch(()=>{fe("HTMLTextSystem: Failed to clean texture")}),this._activeTextures[e]=null))}_cleanUp(e){mt.returnTexture(e.texture),e.texture.source.resource=null,e.texture.source.uploadMethodId="unknown"}getReferenceCount(e){return this._activeTextures[e].usageCount}destroy(){this._activeTextures=null}};ca.extension={type:[L.WebGLSystem,L.WebGPUSystem,L.CanvasSystem],name:"htmlText"};ca.defaultFontOptions={fontFamily:"Arial",fontStyle:"normal",fontWeight:"normal"}});var BE=Q(()=>{ne();sT();DT();le.add(ca);le.add(ql)});var FT,Rn,Wl=Q(()=>{ps();ds();gs();st();FT=class OT extends Pt{constructor(...e){let t=e[0]??{};t instanceof Float32Array&&(se(de,"use new MeshGeometry({ positions, uvs, indices }) instead"),t={positions:t,uvs:e[1],indices:e[2]}),t={...OT.defaultOptions,...t};let r=t.positions||new Float32Array([0,0,1,0,1,1,0,1]),n=t.uvs;n||(t.positions?n=new Float32Array(r.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 lt({data:r,label:"attribute-mesh-positions",shrinkToFit:o,usage:Te.VERTEX|Te.COPY_DST}),u=new lt({data:n,label:"attribute-mesh-uvs",shrinkToFit:o,usage:Te.VERTEX|Te.COPY_DST}),c=new lt({data:s,label:"index-mesh-buffer",shrinkToFit:o,usage:Te.INDEX|Te.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:2*4,offset:0},aUV:{buffer:u,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}};FT.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:!1};Rn=FT});var jl,nge,RT,kT=Q(()=>{"use strict";jl={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
|
+
`}},nge={...jl,vertex:{...jl.vertex,header:jl.vertex.header.replace("group(1)","group(2)")}},RT={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 GT,UT,LT=Q(()=>{"use strict";GT={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
|
+
`}},UT={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 vE,CE,np,NT=Q(()=>{Je();yd();kT();Bd();Is();Ii();ot();LT();np=class extends Dt{constructor(){vE??(vE=Yo({name:"tiling-sprite-shader",bits:[jl,GT,Vo]})),CE??(CE=Ko({name:"tiling-sprite-shader",bits:[RT,UT,Xo]}));let e=new it({uMapCoord:{value:new ie,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 ie,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:CE,gpuProgram:vE,resources:{localUniforms:new it({uTransformMatrix:{value:new ie,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:e,uTexture:V.EMPTY.source,uSampler:V.EMPTY.source.style}})}updateUniforms(e,t,r,n,s,o){let a=this.resources.tilingUniforms,u=o.width,c=o.height,l=o.textureMatrix,A=a.uniforms.uTextureTransform;A.set(r.a*u/e,r.b*u/t,r.c*c/e,r.d*c/t,r.tx/e,r.ty/t),A.invert(),a.uniforms.uMapCoord=l.mapCoord,a.uniforms.uClampFrame=l.uClampFrame,a.uniforms.uClampOffset=l.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 sp,HT=Q(()=>{Wl();sp=class extends Rn{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 qT(i,e){let t=i.anchor.x,r=i.anchor.y;e[0]=-t*i.width,e[1]=-r*i.height,e[2]=(1-t)*i.width,e[3]=-r*i.height,e[4]=(1-t)*i.width,e[5]=(1-r)*i.height,e[6]=-t*i.width,e[7]=(1-r)*i.height}var WT=Q(()=>{"use strict"});function jT(i,e,t,r){let n=0,s=i.length/(e||2),o=r.a,a=r.b,u=r.c,c=r.d,l=r.tx,A=r.ty;for(t*=e;n<s;){let h=i[t],f=i[t+1];i[t]=o*h+u*f+l,i[t+1]=a*h+c*f+A,t+=e,n++}}var YT=Q(()=>{"use strict"});function KT(i,e){let t=i.texture,r=t.frame.width,n=t.frame.height,s=0,o=0;i.applyAnchorToTexture&&(s=i.anchor.x,o=i.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=ie.shared;a.copyFrom(i._tileTransform.matrix),a.tx/=i.width,a.ty/=i.height,a.invert(),a.scale(i.width/r,i.height/n),jT(e,2,0,a)}var VT=Q(()=>{Je();YT()});var op,Yl,XT=Q(()=>{ne();Cl();Bs();ys();Ml();Dd();Wl();NT();HT();WT();VT();op=new sp,Yl=class{constructor(e){this._state=pr.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),r=t.canBatch;this._updateCanBatch(e);let n=t.canBatch;if(n&&n===r){let{batchableMesh:s}=t;return!s._batcher.checkAndUpdateTexture(s,e.texture)}return r!==n}addRenderable(e,t){let r=this._renderer.renderPipes.batch;this._updateCanBatch(e);let n=this._getTilingSpriteData(e),{geometry:s,canBatch:o}=n;if(o){n.batchableMesh||(n.batchableMesh=new Fn);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,r.addToBatch(a,t)}else r.break(t),n.shader||(n.shader=new np),this.updateRenderable(e),t.add(e)}execute(e){let{shader:t}=this._tilingSpriteDataHash[e.uid];t.groups[0]=this._renderer.globalUniforms.bindGroup;let r=t.resources.localUniforms.uniforms;r.uTransformMatrix=e.groupTransform,r.uRound=this._renderer._roundPixels|e._roundPixels,Dn(e.groupColorAlpha,r.uColor,0),this._state.blendMode=Wi(e.groupBlendMode,e.texture._source),this._renderer.encoder.draw({geometry:op,shader:t,state:this._state})}updateRenderable(e){let t=this._getTilingSpriteData(e),{canBatch:r}=t;if(r){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 Rn({indices:op.indices,positions:op.positions.slice(),uvs:op.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:r}=t,n=e.texture.source.style;n.addressMode!=="repeat"&&(n.addressMode="repeat",n.update()),KT(e,r.uvs),qT(e,r.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),r=e.texture,n=!0;return this._renderer.type===fr.WEBGL&&(n=this._renderer.context.supports.nonPowOf2wrapping),t.canBatch=r.textureMatrix.isSimple&&(n||r.source.isPowerOfTwo),t.canBatch}};Yl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"tilingSprite"}});var bE=Q(()=>{ne();XT();le.add(Yl)});var zT,ZT,$T=Q(()=>{st();Wl();zT=class JT extends Rn{constructor(...e){super({});let t=e[0]??{};typeof t=="number"&&(se(de,"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={...JT.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,r=[],n=[],s=[],o=this.verticesX-1,a=this.verticesY-1,u=this.width/o,c=this.height/a;for(let A=0;A<t;A++){let h=A%this.verticesX,f=A/this.verticesX|0;r.push(h*u,f*c),n.push(h/o,f/a)}let l=o*a;for(let A=0;A<l;A++){let h=A%o,f=A/o|0,d=f*this.verticesX+h,y=f*this.verticesX+h+1,g=(f+1)*this.verticesX+h,E=(f+1)*this.verticesX+h+1;s.push(d,y,g,y,E,g)}this.buffers[0].data=new Float32Array(r),this.buffers[1].data=new Float32Array(n),this.indexBuffer.data=new Uint32Array(s),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update()}};zT.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};ZT=zT});var eP,Ki,wE=Q(()=>{$T();eP=class tP extends ZT{constructor(e={}){e={...tP.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:r,_leftWidth:n,_rightWidth:s,_topHeight:o,_bottomHeight:a,_anchorX:u,_anchorY:c}=this,l=n+s,A=t>l?1:t/l,h=o+a,f=r>h?1:r/h,d=Math.min(A,f),y=u*t,g=c*r;e[0]=e[8]=e[16]=e[24]=-y,e[2]=e[10]=e[18]=e[26]=n*d-y,e[4]=e[12]=e[20]=e[28]=t-s*d-y,e[6]=e[14]=e[22]=e[30]=t-y,e[1]=e[3]=e[5]=e[7]=-g,e[9]=e[11]=e[13]=e[15]=o*d-g,e[17]=e[19]=e[21]=e[23]=r-a*d-g,e[25]=e[27]=e[29]=e[31]=r-g,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,r=1/this._originalHeight;e[2]=e[10]=e[18]=e[26]=t*this._leftWidth,e[9]=e[11]=e[13]=e[15]=r*this._topHeight,e[4]=e[12]=e[20]=e[28]=1-t*this._rightWidth,e[17]=e[19]=e[21]=e[23]=1-r*this._bottomHeight,this.getBuffer("aUV").update()}};eP.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Ki=eP});var Kl,rP=Q(()=>{ne();Br();Dd();wE();Kl=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 r=this._getGpuSprite(e);e.didViewUpdate&&this._updateBatchableSprite(e,r),this._renderer.renderPipes.batch.addToBatch(r,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];Be.return(t.geometry),Be.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=Be.get(Fn);return t.geometry=Be.get(Ki),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}};Kl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"nineSliceSprite"}});var QE=Q(()=>{ne();rP();le.add(Kl)});var Vl,iP=Q(()=>{ne();Vl=class{constructor(e){this._renderer=e}push(e,t,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",canBundle:!1,action:"pushFilter",container:t,filterEffect:e})}pop(e,t,r){this._renderer.renderPipes.batch.break(r),r.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}};Vl.extension={type:[L.WebGLPipes,L.WebGPUPipes,L.CanvasPipes],name:"filter"}});function nP(i,e){e.clear();let t=e.matrix;for(let r=0;r<i.length;r++){let n=i[r];n.globalDisplayStatus<7||(e.matrix=n.worldTransform,e.addBounds(n.bounds))}return e.matrix=t,e}var sP=Q(()=>{"use strict"});var dJ,Xl,oP=Q(()=>{ne();Je();hr();No();gs();Ii();ot();wn();ys();Fr();sP();xt();dJ=new Pt({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])}),Xl=class{constructor(e){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new it({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 Wt({}),this.renderer=e}get activeBackTexture(){return this._activeFilterData?.backTexture}push(e){let t=this.renderer,r=e.filterEffect.filters;this._filterStack[this._filterStackIndex]||(this._filterStack[this._filterStackIndex]=this._getFilterData());let n=this._filterStack[this._filterStackIndex];if(this._filterStackIndex++,r.length===0){n.skip=!0;return}let s=n.bounds;if(e.renderables?nP(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 d=(e.container.renderGroup||e.container.parentRenderGroup).cacheToLocalTransform;d&&s.applyMatrix(d)}let o=t.renderTarget.renderTarget.colorTexture.source,a=1/0,u=0,c=!0,l=!1,A=!1,h=!0;for(let f=0;f<r.length;f++){let d=r[f];if(a=Math.min(a,d.resolution==="inherit"?o._resolution:d.resolution),u+=d.padding,d.antialias==="off"?c=!1:d.antialias==="inherit"&&c&&(c=o.antialias),d.clipToViewport||(h=!1),!!!(d.compatibleRenderers&t.type)){A=!1;break}if(d.blendRequired&&!(t.backBuffer?.useBackBuffer??!0)){fe("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),A=!1;break}A=d.enabled||A,l||(l=d.blendRequired)}if(!A){n.skip=!0;return}if(h){let f=t.renderTarget.rootViewPort,d=t.renderTarget.renderTarget.resolution;s.fitBounds(0,f.width/d,0,f.height/d)}if(s.scale(a).ceil().scale(1/a).pad(u|0),!s.isPositive){n.skip=!0;return}n.skip=!1,n.bounds=s,n.blendRequired=l,n.container=e.container,n.filterEffect=e.filterEffect,n.previousRenderSurface=t.renderTarget.renderSurface,n.inputTexture=mt.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 r=t.inputTexture,n=t.bounds,s=V.EMPTY;if(e.renderTarget.finishRenderPass(),t.blendRequired){let a=this._filterStackIndex>0?this._filterStack[this._filterStackIndex-1].bounds:null,u=e.renderTarget.getRenderTarget(t.previousRenderSurface);s=this.getBackTexture(u,n,a)}t.backTexture=s;let o=t.filterEffect.filters;if(this._globalFilterBindGroup.setResource(r.source.style,2),this._globalFilterBindGroup.setResource(s.source,3),e.globalUniforms.pop(),o.length===1)o[0].apply(this,r,t.previousRenderSurface,!1),mt.returnTexture(r);else{let a=t.inputTexture,u=mt.getOptimalTexture(n.width,n.height,a.source._resolution,!1),c=0;for(c=0;c<o.length-1;++c){o[c].apply(this,a,u,!0);let A=a;a=u,u=A}o[c].apply(this,a,t.previousRenderSurface,!1),mt.returnTexture(a),mt.returnTexture(u)}t.blendRequired&&mt.returnTexture(s)}getBackTexture(e,t,r){let n=e.colorTexture.source._resolution,s=mt.getOptimalTexture(t.width,t.height,n,!1),o=t.minX,a=t.minY;r&&(o-=r.minX,a-=r.minY),o=Math.floor(o*n),a=Math.floor(a*n);let u=Math.ceil(t.width*n),c=Math.ceil(t.height*n);return this.renderer.renderTarget.copyToTexture(e,s,{x:o,y:a},{width:u,height:c},{x:0,y:0}),s}applyFilter(e,t,r,n){let s=this.renderer,o=this._filterStack[this._filterStackIndex],a=o.bounds,u=re.shared,l=o.previousRenderSurface===r,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 f=this._filterGlobalUniforms,d=f.uniforms,y=d.uOutputFrame,g=d.uInputSize,E=d.uInputPixel,_=d.uInputClamp,x=d.uGlobalFrame,I=d.uOutputTexture;if(l){let G=this._filterStackIndex;for(;G>0;){G--;let q=this._filterStack[this._filterStackIndex-1];if(!q.skip){u.x=q.bounds.minX,u.y=q.bounds.minY;break}}y[0]=a.minX-u.x,y[1]=a.minY-u.y}else y[0]=0,y[1]=0;y[2]=t.frame.width,y[3]=t.frame.height,g[0]=t.source.width,g[1]=t.source.height,g[2]=1/g[0],g[3]=1/g[1],E[0]=t.source.pixelWidth,E[1]=t.source.pixelHeight,E[2]=1/E[0],E[3]=1/E[1],_[0]=.5*E[2],_[1]=.5*E[3],_[2]=t.frame.width*g[2]-.5*E[2],_[3]=t.frame.height*g[3]-.5*E[3];let P=this.renderer.renderTarget.rootRenderTarget.colorTexture;x[0]=u.x*A,x[1]=u.y*A,x[2]=P.source.width*A,x[3]=P.source.height*A;let F=this.renderer.renderTarget.getRenderTarget(r);if(s.renderTarget.bind(r,!!n),r instanceof V?(I[0]=r.frame.width,I[1]=r.frame.height):(I[0]=F.width,I[1]=F.height),I[2]=F.isRoot?-1:1,f.update(),s.renderPipes.uniformBatch){let G=s.renderPipes.uniformBatch.getUboResource(f);this._globalFilterBindGroup.setResource(G,0)}else this._globalFilterBindGroup.setResource(f,0);this._globalFilterBindGroup.setResource(t.source,1),this._globalFilterBindGroup.setResource(t.source.style,2),e.groups[0]=this._globalFilterBindGroup,s.encoder.draw({geometry:dJ,shader:e,state:e._state,topology:"triangle-list"}),s.type===fr.WEBGL&&s.renderTarget.finishRenderPass()}_getFilterData(){return{skip:!1,inputTexture:null,bounds:new We,container:null,filterEffect:null,blendRequired:!1,previousRenderSurface:null}}calculateSpriteMatrix(e,t){let r=this._activeFilterData,n=e.set(r.inputTexture._source.width,0,0,r.inputTexture._source.height,r.bounds.minX,r.bounds.minY),s=t.worldTransform.copyTo(ie.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}};Xl.extension={type:[L.WebGLSystem,L.WebGPUSystem],name:"filter"}});var SE=Q(()=>{ne();iP();oP();le.add(Xl);le.add(Vl)});var pJ={};var aP=Q(()=>{tQ();wy();uQ();hQ();td();ad();RI();kI();NI();cE();EE();BE();bE();QE();SE()});var lP,uP=Q(()=>{ne();lP={extension:{type:L.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await Promise.resolve().then(()=>(aP(),pJ))}}});var gJ={};var cP=Q(()=>{wy();td();ad();RI();kI();NI();cE();EE();BE();bE();QE();SE()});var AP,hP=Q(()=>{ne();AP={extension:{type:L.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(cP(),gJ))}}});var fP,Aa,ap=Q(()=>{Mn();Tn();Is();Bs();fP=class ME extends Dt{constructor(e){e={...ME.defaultOptions,...e},super(e),this.enabled=!0,this._state=pr.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,r,n){e.applyFilter(this,t,r,n)}get blendMode(){return this._state.blendMode}set blendMode(e){this._state.blendMode=e}static from(e){let{gpu:t,gl:r,...n}=e,s,o;return t&&(s=Yt.from(t)),r&&(o=jt.from(r)),new ME({gpuProgram:s,glProgram:o,...n})}};fP.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1,clipToViewport:!0};Aa=fP});var zl,dP=Q(()=>{$t();ot();dE();IE();zl=class extends la{constructor(e,t){super();let{textures:r,data:n}=e;Object.keys(n.pages).forEach(s=>{let o=n.pages[parseInt(s,10)],a=r[o.id];this.pages.push({texture:a})}),Object.keys(n.chars).forEach(s=>{let o=n.chars[s],{frame:a,source:u}=r[o.page],c=new pe(o.x+a.x,o.y+a.y,o.width,o.height),l=new V({source:u,frame:c});this.chars[s]={id:s.codePointAt(0),xOffset:o.xOffset,yOffset:o.yOffset,xAdvance:o.xAdvance,kerning:o.kerning??{},texture:l}}),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){Nl.install(e)}static uninstall(e){Nl.uninstall(e)}}});var lp,pP=Q(()=>{"use strict";lp={test(i){return typeof i=="string"&&i.startsWith("info face=")},parse(i){let e=i.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],f=e[A].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),d={};for(let y in f){let g=f[y].split("="),E=g[0],_=g[1].replace(/"/gm,""),x=parseFloat(_),I=isNaN(x)?_:x;d[E]=I}t[h].push(d)}let r={chars:{},pages:[],lineHeight:0,fontSize:0,fontFamily:"",distanceField:null,baseLineOffset:0},[n]=t.info,[s]=t.common,[o]=t.distanceField??[];o&&(r.distanceField={range:parseInt(o.distanceRange,10),type:o.fieldType}),r.fontSize=parseInt(n.size,10),r.fontFamily=n.face,r.lineHeight=parseInt(s.lineHeight,10);let a=t.page;for(let A=0;A<a.length;A++)r.pages.push({id:parseInt(a[A].id,10)||0,file:a[A].file});let u={};r.baseLineOffset=r.lineHeight-parseInt(s.base,10);let c=t.char;for(let A=0;A<c.length;A++){let h=c[A],f=parseInt(h.id,10),d=h.letter??h.char??String.fromCharCode(f);d==="space"&&(d=" "),u[f]=d,r.chars[d]={id:f,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 l=t.kerning||[];for(let A=0;A<l.length;A++){let h=parseInt(l[A].first,10),f=parseInt(l[A].second,10),d=parseInt(l[A].amount,10);r.chars[u[f]].kerning[u[h]]=d}return r}}});var TE,gP=Q(()=>{"use strict";TE={test(i){let e=i;return typeof e!="string"&&"getElementsByTagName"in e&&e.getElementsByTagName("page").length&&e.getElementsByTagName("info")[0].getAttribute("face")!==null},parse(i){let e={chars:{},pages:[],lineHeight:0,fontSize:0,fontFamily:"",distanceField:null,baseLineOffset:0},t=i.getElementsByTagName("info")[0],r=i.getElementsByTagName("common")[0],n=i.getElementsByTagName("distanceField")[0];n&&(e.distanceField={type:n.getAttribute("fieldType"),range:parseInt(n.getAttribute("distanceRange"),10)});let s=i.getElementsByTagName("page"),o=i.getElementsByTagName("char"),a=i.getElementsByTagName("kerning");e.fontSize=parseInt(t.getAttribute("size"),10),e.fontFamily=t.getAttribute("face"),e.lineHeight=parseInt(r.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 u={};e.baseLineOffset=e.lineHeight-parseInt(r.getAttribute("base"),10);for(let c=0;c<o.length;c++){let l=o[c],A=parseInt(l.getAttribute("id"),10),h=l.getAttribute("letter")??l.getAttribute("char")??String.fromCharCode(A);h==="space"&&(h=" "),u[A]=h,e.chars[h]={id:A,page:parseInt(l.getAttribute("page"),10)||0,x:parseInt(l.getAttribute("x"),10),y:parseInt(l.getAttribute("y"),10),width:parseInt(l.getAttribute("width"),10),height:parseInt(l.getAttribute("height"),10),xOffset:parseInt(l.getAttribute("xoffset"),10),yOffset:parseInt(l.getAttribute("yoffset"),10),xAdvance:parseInt(l.getAttribute("xadvance"),10),kerning:{}}}for(let c=0;c<a.length;c++){let l=parseInt(a[c].getAttribute("first"),10),A=parseInt(a[c].getAttribute("second"),10),h=parseInt(a[c].getAttribute("amount"),10);e.chars[u[A]].kerning[u[l]]=h}return e}}});var PE,mP=Q(()=>{kt();gP();PE={test(i){return typeof i=="string"&&i.includes("<font>")?TE.test(Se.get().parseXML(i)):!1},parse(i){return TE.parse(Se.get().parseXML(i))}}});var mJ,yP,IP,EP=Q(()=>{Sn();Oy();kt();ne();As();dP();pP();mP();mJ=[".xml",".fnt"],yP={extension:{type:L.CacheParser,name:"cacheBitmapFont"},test:i=>i instanceof zl,getCacheableAssets(i,e){let t={};return i.forEach(r=>{t[r]=e,t[`${r}-bitmap`]=e}),t[`${e.fontFamily}-bitmap`]=e,t}},IP={extension:{type:L.LoadParser,priority:tr.Normal},name:"loadBitmapFont",test(i){return mJ.includes(Mt.extname(i).toLowerCase())},async testParse(i){return lp.test(i)||PE.test(i)},async parse(i,e,t){let r=lp.test(i)?lp.parse(i):PE.parse(i),{src:n}=e,{pages:s}=r,o=[],a=r.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,f=Mt.join(Mt.dirname(n),h);f=yl(f,n),o.push({src:f,data:a})}let u=await t.load(o),c=o.map(A=>u[A.src]);return new zl({data:r,textures:c},n)},async load(i,e){return await(await Se.get().fetch(i)).text()},async unload(i,e,t){await Promise.all(i.pages.map(r=>t.unload(r.texture.source._sourceOrigin))),i.destroy()}}});var up,xP=Q(()=>{"use strict";up=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 r=0;r<t;r++)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 _P,BP=Q(()=>{ne();ot();_P={extension:{type:L.CacheParser,name:"cacheTextureArray"},test:i=>Array.isArray(i)&&i.every(e=>e instanceof V),getCacheableAssets:(i,e)=>{let t={};return i.forEach(r=>{e.forEach((n,s)=>{t[r+(s===0?"":s+1)]=n})}),t}}});async function cp(i){if("Image"in globalThis)return new Promise(e=>{let t=new Image;t.onload=()=>{e(!0)},t.onerror=()=>{e(!1)},t.src=i});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{let e=await(await fetch(i)).blob();await createImageBitmap(e)}catch{return!1}return!0}return!1}var DE=Q(()=>{"use strict"});var vP,CP=Q(()=>{ne();DE();vP={extension:{type:L.DetectionParser,priority:1},test:async()=>cp("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async i=>[...i,"avif"],remove:async i=>i.filter(e=>e!=="avif")}});var bP,wP,QP=Q(()=>{ne();bP=["png","jpg","jpeg"],wP={extension:{type:L.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async i=>[...i,...bP],remove:async i=>i.filter(e=>!bP.includes(e))}});function ha(i){return yJ?!1:document.createElement("video").canPlayType(i)!==""}var yJ,Ap=Q(()=>{"use strict";yJ="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope});var SP,MP=Q(()=>{ne();Ap();SP={extension:{type:L.DetectionParser,priority:0},test:async()=>ha("video/mp4"),add:async i=>[...i,"mp4","m4v"],remove:async i=>i.filter(e=>e!=="mp4"&&e!=="m4v")}});var TP,PP=Q(()=>{ne();Ap();TP={extension:{type:L.DetectionParser,priority:0},test:async()=>ha("video/ogg"),add:async i=>[...i,"ogv"],remove:async i=>i.filter(e=>e!=="ogv")}});var DP,FP=Q(()=>{ne();Ap();DP={extension:{type:L.DetectionParser,priority:0},test:async()=>ha("video/webm"),add:async i=>[...i,"webm"],remove:async i=>i.filter(e=>e!=="webm")}});var OP,RP=Q(()=>{ne();DE();OP={extension:{type:L.DetectionParser,priority:0},test:async()=>cp("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async i=>[...i,"webp"],remove:async i=>i.filter(e=>e!=="webp")}});var hp,kP=Q(()=>{xt();As();ml();ed();hp=class{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(e,t,r)=>(this._parsersValidated=!1,e[t]=r,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(e,t){let r={promise:null,parser:null};return r.promise=(async()=>{let n=null,s=null;if(t.loadParser&&(s=this._parserHash[t.loadParser],s||fe(`[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 fe(`[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),r.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,r.parser=a)}return n})(),r}async load(e,t){this._parsersValidated||this._validateParsers();let r=0,n={},s=hs(e),o=rr(e,c=>({alias:[c],src:c,data:{}})),a=o.length,u=o.map(async c=>{let l=Mt.toAbsolute(c.src);if(!n[c.src])try{this.promiseCache[l]||(this.promiseCache[l]=this._getLoadPromiseAndParser(l,c)),n[c.src]=await this.promiseCache[l].promise,t&&t(++r/a)}catch(A){throw delete this.promiseCache[l],delete n[c.src],new Error(`[Loader.load] Failed to load ${l}.
|
|
572
|
+
${A}`)}});return await Promise.all(u),s?n[o[0].src]:n}async unload(e){let r=rr(e,n=>({alias:[n],src:n})).map(async n=>{let s=Mt.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(r)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(e=>e.name).reduce((e,t)=>(t.name?e[t.name]&&fe(`[Assets] loadParser name conflict "${t.name}"`):fe("[Assets] loadParser should have a name"),{...e,[t.name]:t}),{})}}});function Rr(i,e){if(Array.isArray(e)){for(let t of e)if(i.startsWith(`data:${t}`))return!0;return!1}return i.startsWith(`data:${e}`)}var bs=Q(()=>{"use strict"});function kr(i,e){let t=i.split("?")[0],r=Mt.extname(t).toLowerCase();return Array.isArray(e)?e.includes(r):r===e}var ws=Q(()=>{As()});var IJ,EJ,GP,UP=Q(()=>{kt();ne();bs();ws();Sn();IJ=".json",EJ="application/json",GP={extension:{type:L.LoadParser,priority:tr.Low},name:"loadJson",test(i){return Rr(i,EJ)||kr(i,IJ)},async load(i){return await(await Se.get().fetch(i)).json()}}});var xJ,_J,LP,NP=Q(()=>{kt();ne();bs();ws();Sn();xJ=".txt",_J="text/plain",LP={name:"loadTxt",extension:{type:L.LoadParser,priority:tr.Low,name:"loadTxt"},test(i){return Rr(i,_J)||kr(i,xJ)},async load(i){return await(await Se.get().fetch(i)).text()}}});function wJ(i){let e=Mt.extname(i),n=Mt.basename(i,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(bJ)){s=!1;break}let o=n.join(" ");return s||(o=`"${o.replace(/[\\"]/g,"\\$&")}"`),o}function SJ(i){return QJ.test(i)?i:encodeURI(i)}var BJ,vJ,CJ,bJ,QJ,HP,qP=Q(()=>{kt();ne();xt();As();mi();bs();ws();Sn();BJ=["normal","bold","100","200","300","400","500","600","700","800","900"],vJ=[".ttf",".otf",".woff",".woff2"],CJ=["font/ttf","font/otf","font/woff","font/woff2"],bJ=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;QJ=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/;HP={extension:{type:L.LoadParser,priority:tr.Low},name:"loadWebFont",test(i){return Rr(i,CJ)||kr(i,vJ)},async load(i,e){let t=Se.get().getFontFaceSet();if(t){let r=[],n=e.data?.family??wJ(i),s=e.data?.weights?.filter(a=>BJ.includes(a))??["normal"],o=e.data??{};for(let a=0;a<s.length;a++){let u=s[a],c=new FontFace(n,`url(${SJ(i)})`,{...o,weight:u});await c.load(),t.add(c),r.push(c)}return Fe.set(`${n}-and-url`,{url:i,fontFaces:r}),r.length===1?r[0]:r}return fe("[loadWebFont] FontFace API is not supported. Skipping loading font"),null},unload(i){(Array.isArray(i)?i:[i]).forEach(e=>{Fe.remove(`${e.family}-and-url`),Se.get().getFontFaceSet().delete(e)})}}});function fa(i,e=1){let t=br.RETINA_PREFIX?.exec(i);return t?parseFloat(t[1]):e}var fp=Q(()=>{Uo()});function da(i,e,t){i.label=t,i._sourceOrigin=t;let r=new V({source:i,label:t}),n=()=>{delete e.promiseCache[t],Fe.has(t)&&Fe.remove(t)};return r.source.once("destroy",()=>{e.promiseCache[t]&&(fe("[Assets] A TextureSource managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the TextureSource."),n())}),r.once("destroy",()=>{i.destroyed||(fe("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),n())}),r}var dp=Q(()=>{ot();xt();mi()});async function PJ(i,e,t,r){let s=await(await Se.get().fetch(i)).blob(),o=URL.createObjectURL(s),a=new Image;a.src=o,a.crossOrigin=r,await a.decode(),URL.revokeObjectURL(o);let u=document.createElement("canvas"),c=u.getContext("2d"),l=e.data?.resolution||fa(i),A=e.data?.width??a.width,h=e.data?.height??a.height;u.width=A*l,u.height=h*l,c.drawImage(a,0,0,A*l,h*l);let{parseAsGraphicsContext:f,...d}=e.data??{},y=new qt({resource:u,alphaMode:"premultiply-alpha-on-upload",resolution:l,...d});return da(y,t,i)}async function DJ(i){let t=await(await Se.get().fetch(i)).text(),r=new ir;return r.svg(t),r}var MJ,TJ,WP,jP=Q(()=>{kt();ne();fs();Kd();fp();bs();ws();Sn();dp();MJ=".svg",TJ="image/svg+xml",WP={extension:{type:L.LoadParser,priority:tr.Low,name:"loadSVG"},name:"loadSVG",config:{crossOrigin:"anonymous",parseAsGraphicsContext:!1},test(i){return Rr(i,TJ)||kr(i,MJ)},async load(i,e,t){return e.data?.parseAsGraphicsContext??this.config.parseAsGraphicsContext?DJ(i):PJ(i,e,t,this.config.crossOrigin)},unload(i){i.destroy(!0)}}});var FJ,pa,ga,YP=Q(()=>{FJ=`(function () {
|
|
573
|
+
'use strict';
|
|
574
|
+
|
|
575
|
+
const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII=";
|
|
576
|
+
async function checkImageBitmap() {
|
|
577
|
+
try {
|
|
578
|
+
if (typeof createImageBitmap !== "function")
|
|
579
|
+
return false;
|
|
580
|
+
const response = await fetch(WHITE_PNG);
|
|
581
|
+
const imageBlob = await response.blob();
|
|
582
|
+
const imageBitmap = await createImageBitmap(imageBlob);
|
|
583
|
+
return imageBitmap.width === 1 && imageBitmap.height === 1;
|
|
584
|
+
} catch (_e) {
|
|
585
|
+
return false;
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
void checkImageBitmap().then((result) => {
|
|
589
|
+
self.postMessage(result);
|
|
590
|
+
});
|
|
591
|
+
|
|
592
|
+
})();
|
|
593
|
+
`,pa=null,ga=class{constructor(){pa||(pa=URL.createObjectURL(new Blob([FJ],{type:"application/javascript"}))),this.worker=new Worker(pa)}};ga.revokeObjectURL=function(){pa&&(URL.revokeObjectURL(pa),pa=null)}});var OJ,ma,Jl,KP=Q(()=>{OJ=`(function () {
|
|
594
|
+
'use strict';
|
|
595
|
+
|
|
596
|
+
async function loadImageBitmap(url, alphaMode) {
|
|
597
|
+
const response = await fetch(url);
|
|
598
|
+
if (!response.ok) {
|
|
599
|
+
throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \${response.status} \${response.statusText}\`);
|
|
600
|
+
}
|
|
601
|
+
const imageBlob = await response.blob();
|
|
602
|
+
return alphaMode === "premultiplied-alpha" ? createImageBitmap(imageBlob, { premultiplyAlpha: "none" }) : createImageBitmap(imageBlob);
|
|
603
|
+
}
|
|
604
|
+
self.onmessage = async (event) => {
|
|
605
|
+
try {
|
|
606
|
+
const imageBitmap = await loadImageBitmap(event.data.data[0], event.data.data[1]);
|
|
607
|
+
self.postMessage({
|
|
608
|
+
data: imageBitmap,
|
|
609
|
+
uuid: event.data.uuid,
|
|
610
|
+
id: event.data.id
|
|
611
|
+
}, [imageBitmap]);
|
|
612
|
+
} catch (e) {
|
|
613
|
+
self.postMessage({
|
|
614
|
+
error: e,
|
|
615
|
+
uuid: event.data.uuid,
|
|
616
|
+
id: event.data.id
|
|
617
|
+
});
|
|
618
|
+
}
|
|
619
|
+
};
|
|
620
|
+
|
|
621
|
+
})();
|
|
622
|
+
`,ma=null,Jl=class{constructor(){ma||(ma=URL.createObjectURL(new Blob([OJ],{type:"application/javascript"}))),this.worker=new Worker(ma)}};Jl.revokeObjectURL=function(){ma&&(URL.revokeObjectURL(ma),ma=null)}});var VP,FE,OE,RE,XP=Q(()=>{YP();KP();VP=0,OE=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 ga;t.addEventListener("message",r=>{t.terminate(),ga.revokeObjectURL(),e(r.data)})}),this._isImageBitmapSupported)}loadImageBitmap(e,t){return this._run("loadImageBitmap",[e,t?.data?.alphaMode])}async _initWorkers(){this._initialized||(this._initialized=!0)}_getWorker(){FE===void 0&&(FE=navigator.hardwareConcurrency||4);let e=this._workerPool.pop();return!e&&this._createdWorkers<FE&&(this._createdWorkers++,e=new Jl().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 r=new Promise((n,s)=>{this._queue.push({id:e,arguments:t,resolve:n,reject:s})});return this._next(),r}_next(){if(!this._queue.length)return;let e=this._getWorker();if(!e)return;let t=this._queue.pop(),r=t.id;this._resolveHash[VP]={resolve:t.resolve,reject:t.reject},e.postMessage({data:t.arguments,uuid:VP++,id:r})}},RE=new OE});async function GJ(i,e){let t=await Se.get().fetch(i);if(!t.ok)throw new Error(`[loadImageBitmap] Failed to fetch ${i}: ${t.status} ${t.statusText}`);let r=await t.blob();return e?.data?.alphaMode==="premultiplied-alpha"?createImageBitmap(r,{premultiplyAlpha:"none"}):createImageBitmap(r)}var RJ,kJ,pp,kE=Q(()=>{kt();ne();fs();fp();bs();ws();XP();Sn();dp();RJ=[".jpeg",".jpg",".png",".webp",".avif"],kJ=["image/jpeg","image/png","image/webp","image/avif"];pp={name:"loadTextures",extension:{type:L.LoadParser,priority:tr.High,name:"loadTextures"},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test(i){return Rr(i,kJ)||kr(i,RJ)},async load(i,e,t){let r=null;globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await RE.isImageBitmapSupported()?r=await RE.loadImageBitmap(i,e):r=await GJ(i,e):r=await new Promise((s,o)=>{r=new Image,r.crossOrigin=this.config.crossOrigin,r.src=i,r.complete?s(r):(r.onload=()=>{s(r)},r.onerror=o)});let n=new qt({resource:r,alphaMode:"premultiply-alpha-on-upload",resolution:e.data?.resolution||fa(i),...e.data});return da(n,t,i)},unload(i){i.destroy(!0)}}});function LJ(i,e,t){t===void 0&&!e.startsWith("data:")?i.crossOrigin=HJ(e):t!==!1&&(i.crossOrigin=typeof t=="string"?t:"anonymous")}function NJ(i){return new Promise((e,t)=>{i.addEventListener("canplaythrough",r),i.addEventListener("error",n),i.load();function r(){s(),e()}function n(o){s(),t(o)}function s(){i.removeEventListener("canplaythrough",r),i.removeEventListener("error",n)}})}function HJ(i,e=globalThis.location){if(i.startsWith("data:"))return"";e||(e=globalThis.location);let t=new URL(i,document.baseURI);return t.hostname!==e.hostname||t.port!==e.port||t.protocol!==e.protocol?"anonymous":""}var zP,UJ,JP,ZP=Q(()=>{ne();Hy();Ny();fp();bs();ws();dp();zP=[".mp4",".m4v",".webm",".ogg",".ogv",".h264",".avi",".mov"],UJ=zP.map(i=>`video/${i.substring(1)}`);JP={name:"loadVideo",extension:{type:L.LoadParser,name:"loadVideo"},test(i){let e=Rr(i,UJ),t=kr(i,zP);return e||t},async load(i,e,t){let r={...Lo.defaultOptions,resolution:e.data?.resolution||fa(i),alphaMode:e.data?.alphaMode||await sd(),...e.data},n=document.createElement("video"),s={preload:r.autoLoad!==!1?"auto":void 0,"webkit-playsinline":r.playsinline!==!1?"":void 0,playsinline:r.playsinline!==!1?"":void 0,muted:r.muted===!0?"":void 0,loop:r.loop===!0?"":void 0,autoplay:r.autoPlay!==!1?"":void 0};Object.keys(s).forEach(u=>{let c=s[u];c!==void 0&&n.setAttribute(u,c)}),r.muted===!0&&(n.muted=!0),LJ(n,i,r.crossorigin);let o=document.createElement("source"),a;if(i.startsWith("data:"))a=i.slice(5,i.indexOf(";"));else if(!i.startsWith("blob:")){let u=i.split("?")[0].slice(i.lastIndexOf(".")+1).toLowerCase();a=Lo.MIME_TYPES[u]||`video/${u}`}return o.src=i,a&&(o.type=a),new Promise(u=>{let c=async()=>{let l=new Lo({...r,resource:n});n.removeEventListener("canplay",c),e.data.preload&&await NJ(n),u(da(l,t,i))};n.addEventListener("canplay",c),n.appendChild(o)})},unload(i){i.destroy(!0)}}});var gp,GE=Q(()=>{ne();kE();Uo();gp={extension:{type:L.ResolveParser,name:"resolveTexture"},test:pp.test,parse:i=>({resolution:parseFloat(br.RETINA_PREFIX.exec(i)?.[1]??"1"),format:i.split(".").pop(),src:i})}});var $P,eD=Q(()=>{ne();Uo();GE();$P={extension:{type:L.ResolveParser,priority:-2,name:"resolveJson"},test:i=>br.RETINA_PREFIX.test(i)&&i.endsWith(".json"),parse:gp.parse}});var mp,dt,tD,rD=Q(()=>{ne();EP();xt();xP();mi();BP();CP();QP();MP();PP();FP();RP();kP();UP();NP();qP();jP();kE();ZP();eD();GE();Uo();ml();ed();mp=class{constructor(){this._detections=[],this._initialized=!1,this.resolver=new br,this.loader=new hp,this.cache=Fe,this._backgroundLoader=new up(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(e={}){if(this._initialized){fe("[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,r=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:r}}),e.preferences&&this.setPreferences(e.preferences)}add(e){this.resolver.add(e)}async load(e,t){this._initialized||await this.init();let r=hs(e),n=rr(e).map(a=>{if(typeof a!="string"){let u=this.resolver.getAlias(a);return u.some(c=>!this.resolver.hasKey(c))&&this.add(a),Array.isArray(u)?u[0]:u}return this.resolver.hasKey(a)||this.add({alias:a,src:a}),a}),s=this.resolver.resolve(n),o=await this._mapLoadToResolve(s,t);return r?o[n[0]]:o}addBundle(e,t){this.resolver.addBundle(e,t)}async loadBundle(e,t){this._initialized||await this.init();let r=!1;typeof e=="string"&&(r=!0,e=[e]);let n=this.resolver.resolveBundle(e),s={},o=Object.keys(n),a=0,u=0,c=()=>{t?.(++a/u)},l=o.map(A=>{let h=n[A];return u+=Object.keys(h).length,this._mapLoadToResolve(h,c).then(f=>{s[A]=f})});return await Promise.all(l),r?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(r=>{this._backgroundLoader.add(Object.values(r))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(e){if(typeof e=="string")return Fe.get(e);let t={};for(let r=0;r<e.length;r++)t[r]=Fe.get(e[r]);return t}async _mapLoadToResolve(e,t){let r=[...new Set(Object.values(e))];this._backgroundLoader.active=!1;let n=await this.loader.load(r,t);this._backgroundLoader.active=!0;let s={};return r.forEach(o=>{let a=n[o.src],u=[o.src];o.alias&&u.push(...o.alias),u.forEach(c=>{s[c]=a}),Fe.set(u,a)}),s}async unload(e){this._initialized||await this.init();let t=rr(e).map(n=>typeof n!="string"?n.src:n),r=this.resolver.resolve(t);await this._unloadFromResolved(r)}async unloadBundle(e){this._initialized||await this.init(),e=rr(e);let t=this.resolver.resolveBundle(e),r=Object.keys(t).map(n=>this._unloadFromResolved(t[n]));await Promise.all(r)}async _unloadFromResolved(e){let t=Object.values(e);t.forEach(r=>{Fe.remove(r.src)}),await this.loader.unload(t)}async _detectFormats(e){let t=[];e.preferredFormats&&(t=Array.isArray(e.preferredFormats)?e.preferredFormats:[e.preferredFormats]);for(let r of e.detections)e.skipDetections||await r.test()?t=await r.add(t):e.skipDetections||(t=await r.remove(t));return t=t.filter((r,n)=>t.indexOf(r)===n),t}get detections(){return this._detections}setPreferences(e){this.loader.parsers.forEach(t=>{t.config&&Object.keys(t.config).filter(r=>r in e).forEach(r=>{t.config[r]=e[r]})})}},dt=new mp;le.handleByList(L.LoadParser,dt.loader.parsers).handleByList(L.ResolveParser,dt.resolver.parsers).handleByList(L.CacheParser,dt.cache.parsers).handleByList(L.DetectionParser,dt.detections);le.add(_P,wP,vP,OP,SP,TP,DP,GP,LP,HP,WP,pp,JP,IP,yP,gp,$P);tD={loader:L.LoadParser,resolver:L.ResolveParser,cache:L.CacheParser,detection:L.DetectionParser};le.handle(L.Asset,i=>{let e=i.ref;Object.entries(tD).filter(([t])=>!!e[t]).forEach(([t,r])=>le.add(Object.assign(e[t],{extension:e[t].extension??r})))},i=>{let e=i.ref;Object.keys(tD).filter(t=>!!e[t]).forEach(t=>le.remove(e[t]))})});var yp,UE=Q(()=>{"use strict";yp={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 iD(i){let e=yp[i],t=e.length,r=qJ,n="",s="finalColor += texture(uTexture, vBlurTexCoords[%index%]) * %value%;",o;for(let a=0;a<i;a++){let u=s.replace("%index%",a.toString());o=a,a>=t&&(o=i-a-1),u=u.replace("%value%",e[o].toString()),n+=u,n+=`
|
|
623
|
+
`}return r=r.replace("%blur%",n),r=r.replace("%size%",i.toString()),r}var qJ,nD=Q(()=>{UE();qJ=["in vec2 vBlurTexCoords[%size%];","uniform sampler2D uTexture;","out vec4 finalColor;","void main(void)","{"," finalColor = vec4(0.0);"," %blur%","}"].join(`
|
|
624
|
+
`)});function sD(i,e){let t=Math.ceil(i/2),r=WJ,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<i;o++){let a=s.replace("%index%",o.toString());a=a.replace("%sampleIndex%",`${o-(t-1)}.0`),n+=a,n+=`
|
|
625
|
+
`}return r=r.replace("%blur%",n),r=r.replace("%size%",i.toString()),r=r.replace("%dimension%",e?"z":"w"),r}var WJ,oD=Q(()=>{"use strict";WJ=`
|
|
626
|
+
in vec2 aPosition;
|
|
627
|
+
|
|
628
|
+
uniform float uStrength;
|
|
629
|
+
|
|
630
|
+
out vec2 vBlurTexCoords[%size%];
|
|
631
|
+
|
|
632
|
+
uniform vec4 uInputSize;
|
|
633
|
+
uniform vec4 uOutputFrame;
|
|
634
|
+
uniform vec4 uOutputTexture;
|
|
635
|
+
|
|
636
|
+
vec4 filterVertexPosition( void )
|
|
637
|
+
{
|
|
638
|
+
vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
|
|
639
|
+
|
|
640
|
+
position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
|
|
641
|
+
position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
|
|
642
|
+
|
|
643
|
+
return vec4(position, 0.0, 1.0);
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
vec2 filterTextureCoord( void )
|
|
647
|
+
{
|
|
648
|
+
return aPosition * (uOutputFrame.zw * uInputSize.zw);
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
void main(void)
|
|
652
|
+
{
|
|
653
|
+
gl_Position = filterVertexPosition();
|
|
654
|
+
|
|
655
|
+
float pixelStrength = uInputSize.%dimension% * uStrength;
|
|
656
|
+
|
|
657
|
+
vec2 textureCoord = filterTextureCoord();
|
|
658
|
+
%blur%
|
|
659
|
+
}`});function aD(i,e){let t=sD(e,i),r=iD(e);return jt.from({vertex:t,fragment:r,name:`blur-${i?"horizontal":"vertical"}-pass-filter`})}var lD=Q(()=>{Mn();nD();oD()});var uD,cD=Q(()=>{uD=`
|
|
660
|
+
|
|
661
|
+
struct GlobalFilterUniforms {
|
|
662
|
+
uInputSize:vec4<f32>,
|
|
663
|
+
uInputPixel:vec4<f32>,
|
|
664
|
+
uInputClamp:vec4<f32>,
|
|
665
|
+
uOutputFrame:vec4<f32>,
|
|
666
|
+
uGlobalFrame:vec4<f32>,
|
|
667
|
+
uOutputTexture:vec4<f32>,
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
struct BlurUniforms {
|
|
671
|
+
uStrength:f32,
|
|
672
|
+
};
|
|
673
|
+
|
|
674
|
+
@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
|
|
675
|
+
@group(0) @binding(1) var uTexture: texture_2d<f32>;
|
|
676
|
+
@group(0) @binding(2) var uSampler : sampler;
|
|
677
|
+
|
|
678
|
+
@group(1) @binding(0) var<uniform> blurUniforms : BlurUniforms;
|
|
679
|
+
|
|
680
|
+
|
|
681
|
+
struct VSOutput {
|
|
682
|
+
@builtin(position) position: vec4<f32>,
|
|
683
|
+
%blur-struct%
|
|
684
|
+
};
|
|
685
|
+
|
|
686
|
+
fn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>
|
|
687
|
+
{
|
|
688
|
+
var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
|
|
689
|
+
|
|
690
|
+
position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
|
|
691
|
+
position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
|
|
692
|
+
|
|
693
|
+
return vec4(position, 0.0, 1.0);
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
fn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
697
|
+
{
|
|
698
|
+
return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
fn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
702
|
+
{
|
|
703
|
+
return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
fn getSize() -> vec2<f32>
|
|
707
|
+
{
|
|
708
|
+
return gfu.uGlobalFrame.zw;
|
|
709
|
+
}
|
|
710
|
+
|
|
711
|
+
|
|
712
|
+
@vertex
|
|
713
|
+
fn mainVertex(
|
|
714
|
+
@location(0) aPosition : vec2<f32>,
|
|
715
|
+
) -> VSOutput {
|
|
716
|
+
|
|
717
|
+
let filteredCord = filterTextureCoord(aPosition);
|
|
718
|
+
|
|
719
|
+
let pixelStrength = gfu.uInputSize.%dimension% * blurUniforms.uStrength;
|
|
720
|
+
|
|
721
|
+
return VSOutput(
|
|
722
|
+
filterVertexPosition(aPosition),
|
|
723
|
+
%blur-vertex-out%
|
|
724
|
+
);
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
@fragment
|
|
728
|
+
fn mainFragment(
|
|
729
|
+
@builtin(position) position: vec4<f32>,
|
|
730
|
+
%blur-fragment-in%
|
|
731
|
+
) -> @location(0) vec4<f32> {
|
|
732
|
+
|
|
733
|
+
var finalColor = vec4(0.0);
|
|
734
|
+
|
|
735
|
+
%blur-sampling%
|
|
736
|
+
|
|
737
|
+
return finalColor;
|
|
738
|
+
}`});function AD(i,e){let t=yp[e],r=t.length,n=[],s=[],o=[];for(let A=0;A<e;A++){n[A]=`@location(${A}) offset${A}: vec2<f32>,`,i?s[A]=`filteredCord + vec2(${A-r+1} * pixelStrength, 0.0),`:s[A]=`filteredCord + vec2(0.0, ${A-r+1} * pixelStrength),`;let h=A<r?A:e-A-1,f=t[h].toString();o[A]=`finalColor += textureSample(uTexture, uSampler, offset${A}) * ${f};`}let a=n.join(`
|
|
739
|
+
`),u=s.join(`
|
|
740
|
+
`),c=o.join(`
|
|
741
|
+
`),l=uD.replace("%blur-struct%",a).replace("%blur-vertex-out%",u).replace("%blur-fragment-in%",a).replace("%blur-sampling%",c).replace("%dimension%",i?"z":"w");return Yt.from({vertex:{source:l,entryPoint:"mainVertex"},fragment:{source:l,entryPoint:"mainFragment"}})}var hD=Q(()=>{Tn();UE();cD()});var fD,Ip,pD=Q(()=>{wn();ys();ap();lD();hD();fD=class dD extends Aa{constructor(e){e={...dD.defaultOptions,...e};let t=aD(e.horizontal,e.kernelSize),r=AD(e.horizontal,e.kernelSize);super({glProgram:t,gpuProgram:r,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,r,n){if(this._uniforms.uStrength=this.strength/this.passes,this.passes===1)e.applyFilter(this,t,r,n);else{let s=mt.getSameSizeTexture(t),o=t,a=s;this._state.blend=!1;let u=e.renderer.type===fr.WEBGPU;for(let c=0;c<this.passes-1;c++){e.applyFilter(this,o,a,c===0?!0:u);let l=a;a=o,o=l}this._state.blend=!0,e.applyFilter(this,o,r,n),mt.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}};fD.defaultOptions={strength:8,quality:4,kernelSize:5};Ip=fD});var Qs,gD=Q(()=>{wn();ys();st();ap();pD();Qs=class extends Aa{constructor(...e){let t=e[0]??{};typeof t=="number"&&(se(de,"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={...Ip.defaultOptions,...t};let{strength:r,strengthX:n,strengthY:s,quality:o,...a}=t;super({...a,compatibleRenderers:fr.BOTH,resources:{}}),this._repeatEdgePixels=!1,this.blurXFilter=new Ip({horizontal:!0,...t}),this.blurYFilter=new Ip({horizontal:!1,...t}),this.quality=o,this.strengthX=n??r,this.strengthY=s??r,this.repeatEdgePixels=!1}apply(e,t,r,n){let s=Math.abs(this.blurXFilter.strength),o=Math.abs(this.blurYFilter.strength);if(s&&o){let a=mt.getSameSizeTexture(t);this.blurXFilter.blendMode="normal",this.blurXFilter.apply(e,t,a,!0),this.blurYFilter.blendMode=this.blendMode,this.blurYFilter.apply(e,a,r,n),mt.returnTexture(a)}else o?(this.blurYFilter.blendMode=this.blendMode,this.blurYFilter.apply(e,t,r,n)):(this.blurXFilter.blendMode=this.blendMode,this.blurXFilter.apply(e,t,r,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 se("8.3.0","BlurFilter.blur is deprecated, please use BlurFilter.strength instead."),this.strength}set blur(e){se("8.3.0","BlurFilter.blur is deprecated, please use BlurFilter.strength instead."),this.strength=e}get blurX(){return se("8.3.0","BlurFilter.blurX is deprecated, please use BlurFilter.strengthX instead."),this.strengthX}set blurX(e){se("8.3.0","BlurFilter.blurX is deprecated, please use BlurFilter.strengthX instead."),this.strengthX=e}get blurY(){return se("8.3.0","BlurFilter.blurY is deprecated, please use BlurFilter.strengthY instead."),this.strengthY}set blurY(e){se("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()}};Qs.defaultOptions={strength:8,quality:4,kernelSize:5}});var mD,yD=Q(()=>{mD=`
|
|
742
|
+
in vec2 vTextureCoord;
|
|
743
|
+
in vec2 vFilterUv;
|
|
744
|
+
|
|
745
|
+
out vec4 finalColor;
|
|
746
|
+
|
|
747
|
+
uniform sampler2D uTexture;
|
|
748
|
+
uniform sampler2D uMapTexture;
|
|
749
|
+
|
|
750
|
+
uniform vec4 uInputClamp;
|
|
751
|
+
uniform highp vec4 uInputSize;
|
|
752
|
+
uniform mat2 uRotation;
|
|
753
|
+
uniform vec2 uScale;
|
|
754
|
+
|
|
755
|
+
void main()
|
|
756
|
+
{
|
|
757
|
+
vec4 map = texture(uMapTexture, vFilterUv);
|
|
758
|
+
|
|
759
|
+
vec2 offset = uInputSize.zw * (uRotation * (map.xy - 0.5)) * uScale;
|
|
760
|
+
|
|
761
|
+
finalColor = texture(uTexture, clamp(vTextureCoord + offset, uInputClamp.xy, uInputClamp.zw));
|
|
762
|
+
}
|
|
763
|
+
`});var ID,ED=Q(()=>{ID=`in vec2 aPosition;
|
|
764
|
+
out vec2 vTextureCoord;
|
|
765
|
+
out vec2 vFilterUv;
|
|
766
|
+
|
|
767
|
+
|
|
768
|
+
uniform vec4 uInputSize;
|
|
769
|
+
uniform vec4 uOutputFrame;
|
|
770
|
+
uniform vec4 uOutputTexture;
|
|
771
|
+
|
|
772
|
+
uniform mat3 uFilterMatrix;
|
|
773
|
+
|
|
774
|
+
vec4 filterVertexPosition( void )
|
|
775
|
+
{
|
|
776
|
+
vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
|
|
777
|
+
|
|
778
|
+
position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
|
|
779
|
+
position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
|
|
780
|
+
|
|
781
|
+
return vec4(position, 0.0, 1.0);
|
|
782
|
+
}
|
|
783
|
+
|
|
784
|
+
vec2 filterTextureCoord( void )
|
|
785
|
+
{
|
|
786
|
+
return aPosition * (uOutputFrame.zw * uInputSize.zw);
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
vec2 getFilterCoord( void )
|
|
790
|
+
{
|
|
791
|
+
return ( uFilterMatrix * vec3( filterTextureCoord(), 1.0) ).xy;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
|
+
|
|
795
|
+
void main(void)
|
|
796
|
+
{
|
|
797
|
+
gl_Position = filterVertexPosition();
|
|
798
|
+
vTextureCoord = filterTextureCoord();
|
|
799
|
+
vFilterUv = getFilterCoord();
|
|
800
|
+
}
|
|
801
|
+
`});var LE,xD=Q(()=>{LE=`
|
|
802
|
+
struct GlobalFilterUniforms {
|
|
803
|
+
uInputSize:vec4<f32>,
|
|
804
|
+
uInputPixel:vec4<f32>,
|
|
805
|
+
uInputClamp:vec4<f32>,
|
|
806
|
+
uOutputFrame:vec4<f32>,
|
|
807
|
+
uGlobalFrame:vec4<f32>,
|
|
808
|
+
uOutputTexture:vec4<f32>,
|
|
809
|
+
};
|
|
810
|
+
|
|
811
|
+
struct DisplacementUniforms {
|
|
812
|
+
uFilterMatrix:mat3x3<f32>,
|
|
813
|
+
uScale:vec2<f32>,
|
|
814
|
+
uRotation:mat2x2<f32>
|
|
815
|
+
};
|
|
816
|
+
|
|
817
|
+
|
|
818
|
+
|
|
819
|
+
@group(0) @binding(0) var<uniform> gfu: GlobalFilterUniforms;
|
|
820
|
+
@group(0) @binding(1) var uTexture: texture_2d<f32>;
|
|
821
|
+
@group(0) @binding(2) var uSampler : sampler;
|
|
822
|
+
|
|
823
|
+
@group(1) @binding(0) var<uniform> filterUniforms : DisplacementUniforms;
|
|
824
|
+
@group(1) @binding(1) var uMapTexture: texture_2d<f32>;
|
|
825
|
+
@group(1) @binding(2) var uMapSampler : sampler;
|
|
826
|
+
|
|
827
|
+
struct VSOutput {
|
|
828
|
+
@builtin(position) position: vec4<f32>,
|
|
829
|
+
@location(0) uv : vec2<f32>,
|
|
830
|
+
@location(1) filterUv : vec2<f32>,
|
|
831
|
+
};
|
|
832
|
+
|
|
833
|
+
fn filterVertexPosition(aPosition:vec2<f32>) -> vec4<f32>
|
|
834
|
+
{
|
|
835
|
+
var position = aPosition * gfu.uOutputFrame.zw + gfu.uOutputFrame.xy;
|
|
836
|
+
|
|
837
|
+
position.x = position.x * (2.0 / gfu.uOutputTexture.x) - 1.0;
|
|
838
|
+
position.y = position.y * (2.0*gfu.uOutputTexture.z / gfu.uOutputTexture.y) - gfu.uOutputTexture.z;
|
|
839
|
+
|
|
840
|
+
return vec4(position, 0.0, 1.0);
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
fn filterTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
844
|
+
{
|
|
845
|
+
return aPosition * (gfu.uOutputFrame.zw * gfu.uInputSize.zw);
|
|
846
|
+
}
|
|
847
|
+
|
|
848
|
+
fn globalTextureCoord( aPosition:vec2<f32> ) -> vec2<f32>
|
|
849
|
+
{
|
|
850
|
+
return (aPosition.xy / gfu.uGlobalFrame.zw) + (gfu.uGlobalFrame.xy / gfu.uGlobalFrame.zw);
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
fn getFilterCoord(aPosition:vec2<f32> ) -> vec2<f32>
|
|
854
|
+
{
|
|
855
|
+
return ( filterUniforms.uFilterMatrix * vec3( filterTextureCoord(aPosition), 1.0) ).xy;
|
|
856
|
+
}
|
|
857
|
+
|
|
858
|
+
fn getSize() -> vec2<f32>
|
|
859
|
+
{
|
|
860
|
+
|
|
861
|
+
|
|
862
|
+
return gfu.uGlobalFrame.zw;
|
|
863
|
+
}
|
|
864
|
+
|
|
865
|
+
@vertex
|
|
866
|
+
fn mainVertex(
|
|
867
|
+
@location(0) aPosition : vec2<f32>,
|
|
868
|
+
) -> VSOutput {
|
|
869
|
+
return VSOutput(
|
|
870
|
+
filterVertexPosition(aPosition),
|
|
871
|
+
filterTextureCoord(aPosition),
|
|
872
|
+
getFilterCoord(aPosition)
|
|
873
|
+
);
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
@fragment
|
|
877
|
+
fn mainFragment(
|
|
878
|
+
@location(0) uv: vec2<f32>,
|
|
879
|
+
@location(1) filterUv: vec2<f32>,
|
|
880
|
+
@builtin(position) position: vec4<f32>
|
|
881
|
+
) -> @location(0) vec4<f32> {
|
|
882
|
+
|
|
883
|
+
var map = textureSample(uMapTexture, uMapSampler, filterUv);
|
|
884
|
+
|
|
885
|
+
var offset = gfu.uInputSize.zw * (filterUniforms.uRotation * (map.xy - 0.5)) * filterUniforms.uScale;
|
|
886
|
+
|
|
887
|
+
return textureSample(uTexture, uSampler, clamp(uv + offset, gfu.uInputClamp.xy, gfu.uInputClamp.zw));
|
|
888
|
+
}`});var Zl,_D=Q(()=>{Je();hr();Mn();Tn();Ii();El();st();ap();yD();ED();xD();Zl=class extends Aa{constructor(...e){let t=e[0];t instanceof Tt&&(e[1]&&se(de,"DisplacementFilter now uses options object instead of params. {sprite, scale}"),t={sprite:t,scale:e[1]});let{sprite:r,scale:n,...s}=t,o=n??20;typeof o=="number"&&(o=new re(o,o));let a=new it({uFilterMatrix:{value:new ie,type:"mat3x3<f32>"},uScale:{value:o,type:"vec2<f32>"},uRotation:{value:new Float32Array([0,0,0,0]),type:"mat2x2<f32>"}}),u=jt.from({vertex:ID,fragment:mD,name:"displacement-filter"}),c=Yt.from({vertex:{source:LE,entryPoint:"mainVertex"},fragment:{source:LE,entryPoint:"mainFragment"}}),l=r.texture.source;super({...s,gpuProgram:c,glProgram:u,resources:{filterUniforms:a,uMapTexture:l,uMapSampler:l.style}}),this._sprite=t.sprite,this._sprite.renderable=!1}apply(e,t,r,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),u=Math.sqrt(o.c*o.c+o.d*o.d);a!==0&&u!==0&&(s.uRotation[0]=o.a/a,s.uRotation[1]=o.b/a,s.uRotation[2]=o.c/u,s.uRotation[3]=o.d/u),this.resources.uMapTexture=this._sprite.texture.source,e.applyFilter(this,t,r,n)}get scale(){return this.resources.filterUniforms.uniforms.uScale}}});function NE(i,e,t,r,n,s,o,a){let u=o-t,c=a-r,l=n-t,A=s-r,h=i-t,f=e-r,d=u*u+c*c,y=u*l+c*A,g=u*h+c*f,E=l*l+A*A,_=l*h+A*f,x=1/(d*E-y*y),I=(E*g-y*_)*x,P=(d*_-y*g)*x;return I>=0&&P>=0&&I+P<1}var BD=Q(()=>{"use strict"});var $l,vD=Q(()=>{BD();gs();Bs();ot();st();qi();Wl();$l=class extends ht{constructor(...e){let t=e[0];t instanceof Pt&&(se(de,"Mesh: use new Mesh({ geometry, shader }) instead"),t={geometry:t,shader:e[1]},e[3]&&(se(de,"Mesh: drawMode argument has been removed, use geometry.topology instead"),t.geometry.topology=e[3]));let{geometry:r,shader:n,texture:s,roundPixels:o,state:a,...u}=t;super({label:"Mesh",...u}),this.renderPipeId="mesh",this._shader=null,this.allowChildren=!1,this.shader=n??null,this.texture=s??n?.texture??V.WHITE,this.state=a??pr.for2d(),this._geometry=r,this._geometry.on("update",this.onViewUpdate,this),this.roundPixels=o??!1}get material(){return se(de,"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=V.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 Rn?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:r}=e;if(!this.bounds.containsPoint(t,r))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 u=0;u+2<a;u+=s){let c=o[u]*2,l=o[u+1]*2,A=o[u+2]*2;if(NE(t,r,n[c],n[c+1],n[l],n[l+1],n[A],n[A+1]))return!0}}else{let o=n.length/2;for(let a=0;a+2<o;a+=s){let u=a*2,c=(a+1)*2,l=(a+2)*2;if(NE(t,r,n[u],n[u+1],n[c],n[c+1],n[l],n[l+1]))return!0}}return!1}destroy(e){if(super.destroy(e),typeof e=="boolean"?e:e?.texture){let r=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(r)}this._geometry?.off("update",this.onViewUpdate,this),this._texture=null,this._geometry=null,this._shader=null}}});var Ss,CD=Q(()=>{ot();Al();Go();El();Ss=class i extends Tt{constructor(...e){let t=e[0];Array.isArray(e[0])&&(t={textures:e[0],autoUpdate:e[1]});let{animationSpeed:r=1,autoPlay:n=!1,autoUpdate:s=!0,loop:o=!0,onComplete:a=null,onFrameChange:u=null,onLoop:c=null,textures:l,updateAnchor:A=!1,...h}=t,[f]=l;super({...h,texture:f instanceof V?f:f.texture}),this._textures=null,this._durations=null,this._autoUpdate=s,this._isConnectedToTicker=!1,this.animationSpeed=r,this.loop=o,this.updateAnchor=A,this.onComplete=a,this.onFrameChange=u,this.onLoop=c,this._currentTime=0,this._playing=!1,this._previousFrame=null,this.textures=l,n&&this.play()}stop(){this._playing&&(this._playing=!1,this._autoUpdate&&this._isConnectedToTicker&&(_t.shared.remove(this.update,this),this._isConnectedToTicker=!1))}play(){this._playing||(this._playing=!0,this._autoUpdate&&!this._isConnectedToTicker&&(_t.shared.add(this.update,this,di.HIGH),this._isConnectedToTicker=!0))}gotoAndStop(e){this.stop(),this.currentFrame=e}gotoAndPlay(e){this.currentFrame=e,this.play()}update(e){if(!this._playing)return;let t=e.deltaTime,r=this.animationSpeed*t,n=this.currentFrame;if(this._durations!==null){let s=this._currentTime%1*this._durations[this.currentFrame];for(s+=r/60*1e3;s<0;)this._currentTime--,s+=this._durations[this.currentFrame];let o=Math.sign(this.animationSpeed*t);for(this._currentTime=Math.floor(this._currentTime);s>=this._durations[this.currentFrame];)s-=this._durations[this.currentFrame]*o,this._currentTime+=o;this._currentTime+=s/this._durations[this.currentFrame]}else this._currentTime+=r;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):n!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFrame<n||this.animationSpeed<0&&this.currentFrame>n)&&this.onLoop(),this._updateTexture())}_updateTexture(){let e=this.currentFrame;this._previousFrame!==e&&(this._previousFrame=e,this.texture=this._textures[e],this.updateAnchor&&this.texture.defaultAnchor&&this.anchor.copyFrom(this.texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame))}destroy(){this.stop(),super.destroy(),this.onComplete=null,this.onFrameChange=null,this.onLoop=null}static fromFrames(e){let t=[];for(let r=0;r<e.length;++r)t.push(V.from(e[r]));return new i(t)}static fromImages(e){let t=[];for(let r=0;r<e.length;++r)t.push(V.from(e[r]));return new i(t)}get totalFrames(){return this._textures.length}get textures(){return this._textures}set textures(e){if(e[0]instanceof V)this._textures=e,this._durations=null;else{this._textures=[],this._durations=[];for(let t=0;t<e.length;t++)this._textures.push(e[t].texture),this._durations.push(e[t].time)}this._previousFrame=null,this.gotoAndStop(0),this._updateTexture()}get currentFrame(){let e=Math.floor(this._currentTime)%this._textures.length;return e<0&&(e+=this._textures.length),e}set currentFrame(e){if(e<0||e>this.totalFrames-1)throw new Error(`[AnimatedSprite]: Invalid frame index value ${e}, expected to be between 0 and totalFrames ${this.totalFrames}.`);let t=this.currentFrame;this._currentTime=e,t!==this.currentFrame&&this._updateTexture()}get playing(){return this._playing}get autoUpdate(){return this._autoUpdate}set autoUpdate(e){e!==this._autoUpdate&&(this._autoUpdate=e,!this._autoUpdate&&this._isConnectedToTicker?(_t.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._playing&&(_t.shared.add(this.update,this),this._isConnectedToTicker=!0))}}});var Ep,bD=Q(()=>{Je();bn();Ep=class{constructor({matrix:e,observer:t}={}){this.dirty=!0,this._matrix=e??new ie,this.observer=t,this.position=new Ke(this,0,0),this.scale=new Ke(this,1,1),this.pivot=new Ke(this,0,0),this.skew=new Ke(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 wD,eu,QD=Q(()=>{mi();bn();ot();st();xt();bD();qi();wD=class xp extends ht{constructor(...e){let t=e[0]||{};t instanceof V&&(t={texture:t}),e.length>1&&(se(de,"use new TilingSprite({ texture, width:100, height:100 }) instead"),t.width=e[1],t.height=e[2]),t={...xp.defaultOptions,...t};let{texture:r,anchor:n,tilePosition:s,tileScale:o,tileRotation:a,width:u,height:c,applyAnchorToTexture:l,roundPixels:A,...h}=t??{};super({label:"TilingSprite",...h}),this.renderPipeId="tilingSprite",this.batched=!0,this.allowChildren=!1,this._anchor=new Ke({_onUpdate:()=>{this.onViewUpdate()}}),this.applyAnchorToTexture=l,this.texture=r,this._width=u??r.width,this._height=c??r.height,this._tileTransform=new Ep({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 xp({texture:Fe.get(e),...t}):new xp({texture:e,...t})}get uvRespectAnchor(){return fe("uvRespectAnchor is deprecated, please use applyAnchorToTexture instead"),this.applyAnchorToTexture}set uvRespectAnchor(e){fe("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=V.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,r=this._width,n=this._height;e.minX=-t._x*r,e.maxX=e.minX+r,e.minY=-t._y*n,e.maxY=e.minY+n}containsPoint(e){let t=this._width,r=this._height,n=-t*this._anchor._x,s=0;return e.x>=n&&e.x<=n+t&&(s=-r*this._anchor._y,e.y>=s&&e.y<=s+r)}destroy(e=!1){if(super.destroy(e),this._anchor=null,this._tileTransform=null,this._bounds=null,typeof e=="boolean"?e:e?.texture){let r=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(r)}this._texture=null}};wD.defaultOptions={texture:V.EMPTY,anchor:{x:0,y:0},tilePosition:{x:0,y:0},tileScale:{x:1,y:1},tileRotation:0,applyAnchorToTexture:!1};eu=wD});function HE(i,e){let t=i[0]??{};return(typeof t=="string"||i[1])&&(se(de,`use new ${e}({ text: "hi!", style }) instead`),t={text:t,style:i[1]}),t}var Vi,qE=Q(()=>{bn();st();qi();Vi=class extends ht{constructor(e,t){let{text:r,resolution:n,style:s,anchor:o,width:a,height:u,roundPixels:c,...l}=e;super({...l}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=t,this.text=r??"",this.style=s,this.resolution=n??null,this.allowChildren=!1,this._anchor=new Ke({_onUpdate:()=>{this.onViewUpdate()}}),o&&(this.anchor=o),this.roundPixels=c??!1,a!==void 0&&(this.width=a),u!==void 0&&(this.height=u)}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,r=this.bounds.height,n=-t*this.anchor.x,s=0;return e.x>=n&&e.x<=n+t&&(s=-r*this.anchor.y,e.y>=s&&e.y<=s+r)}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 tu,SD=Q(()=>{qE();Jd();oa();tu=class extends Vi{constructor(...e){let t=HE(e,"Text");super(t,gr),this.renderPipeId="text"}updateBounds(){let e=this._bounds,t=this._anchor,r=Or.measureText(this._text,this._style),{width:n,height:s}=r;e.minX=-t._x*n,e.maxX=e.minX+n,e.minY=-t._y*s,e.maxY=e.minY+s}}});var _p,WE,Bp,jJ,MD=Q(()=>{st();_p=(i=>(i.CLAMP="clamp-to-edge",i.REPEAT="repeat",i.MIRRORED_REPEAT="mirror-repeat",i))(_p||{}),WE=new Proxy(_p,{get(i,e){return se(de,`DRAW_MODES.${e} is deprecated, use '${_p[e]}' instead`),i[e]}}),Bp=(i=>(i.NEAREST="nearest",i.LINEAR="linear",i))(Bp||{}),jJ=new Proxy(Bp,{get(i,e){return se(de,`DRAW_MODES.${e} is deprecated, use '${Bp[e]}' instead`),i[e]}})});var TD,ru,DD=Q(()=>{bn();ot();qi();wE();TD=class PD extends ht{constructor(e){e instanceof V&&(e={texture:e});let{width:t,height:r,anchor:n,leftWidth:s,rightWidth:o,topHeight:a,bottomHeight:u,texture:c,roundPixels:l,...A}=e;super({label:"NineSliceSprite",...A}),this.renderPipeId="nineSliceSprite",this.batched=!0,this._leftWidth=s??c?.defaultBorders?.left??Ki.defaultOptions.leftWidth,this._topHeight=a??c?.defaultBorders?.top??Ki.defaultOptions.topHeight,this._rightWidth=o??c?.defaultBorders?.right??Ki.defaultOptions.rightWidth,this._bottomHeight=u??c?.defaultBorders?.bottom??Ki.defaultOptions.bottomHeight,this._width=t??c.width??Ki.defaultOptions.width,this._height=r??c.height??Ki.defaultOptions.height,this.allowChildren=!1,this.texture=c??PD.defaultOptions.texture,this.roundPixels=l??!1,this._anchor=new Ke({_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=V.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 r=typeof e=="boolean"?e:e?.textureSource;this._texture.destroy(r)}this._texture=null}updateBounds(){let e=this._bounds,t=this._anchor,r=this._width,n=this._height;e.minX=-t._x*r,e.maxX=e.minX+r,e.minY=-t._y*n,e.maxY=e.minY+n}};TD.defaultOptions={texture:V.EMPTY};ru=TD});var YJ,xe=Q(()=>{uP();hP();ne();ne();ad();td();rD();mi();AQ();kt();gD();_D();py();Je();bn();hr();$t();Mn();No();Tn();ps();ds();gs();Is();Ii();Bs();MD();fs();Li();ot();jy();Fr();Oo();AE();vD();CD();DD();QD();El();qE();SD();qi();Go();_r();gy();Br();YJ=zt(xI(),1);le.add(lP,AP)});var c6,u6,CF,bF=Q(()=>{c6={},u6=(()=>{var i=c6.url;return function(e){e=e||{};var t;t||(t=typeof e<"u"?e:{});var r,n;t.ready=new Promise(function(v,w){r=v,n=w});var s=Object.assign({},t),o="";typeof document<"u"&&document.currentScript&&(o=document.currentScript.src),i&&(o=i),o.indexOf("blob:")!==0?o=o.substr(0,o.replace(/[?#].*/,"").lastIndexOf("/")+1):o="";var a=t.print||console.log.bind(console),u=t.printErr||console.warn.bind(console);Object.assign(t,s),s=null;var c;t.wasmBinary&&(c=t.wasmBinary);var l=t.noExitRuntime||!0;typeof WebAssembly!="object"&&ce("no native wasm support detected");var A,h=!1;function f(v,w,O){O=w+O;for(var k="";!(w>=O);){var N=v[w++];if(!N)break;if(N&128){var j=v[w++]&63;if((N&224)==192)k+=String.fromCharCode((N&31)<<6|j);else{var X=v[w++]&63;N=(N&240)==224?(N&15)<<12|j<<6|X:(N&7)<<18|j<<12|X<<6|v[w++]&63,65536>N?k+=String.fromCharCode(N):(N-=65536,k+=String.fromCharCode(55296|N>>10,56320|N&1023))}}else k+=String.fromCharCode(N)}return k}var d,y,g,E,_,x,I,P,F;function G(){var v=A.buffer;d=v,t.HEAP8=y=new Int8Array(v),t.HEAP16=E=new Int16Array(v),t.HEAP32=x=new Int32Array(v),t.HEAPU8=g=new Uint8Array(v),t.HEAPU16=_=new Uint16Array(v),t.HEAPU32=I=new Uint32Array(v),t.HEAPF32=P=new Float32Array(v),t.HEAPF64=F=new Float64Array(v)}var q,T=[],K=[],J=[];function $(){var v=t.preRun.shift();T.unshift(v)}var ue=0,_e=null,Ze=null;function ce(v){throw t.onAbort&&t.onAbort(v),v="Aborted("+v+")",u(v),h=!0,v=new WebAssembly.RuntimeError(v+". Build with -sASSERTIONS for more info."),n(v),v}function te(v){return v.startsWith("data:application/octet-stream;base64,")}var vt;if(vt="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/ArUBHgFhAWEAHwFhAWIAAwFhAWMACQFhAWQAFgFhAWUAEQFhAWYAIAFhAWcAAAFhAWgAIQFhAWkAAwFhAWoAAAFhAWsAFwFhAWwACgFhAW0ABQFhAW4AAwFhAW8AAQFhAXAAFwFhAXEABgFhAXIAAAFhAXMAIgFhAXQACgFhAXUADQFhAXYAFgFhAXcAAgFhAXgAAwFhAXkAGAFhAXoAAgFhAUEAAQFhAUIAEQFhAUMAAQFhAUQAAAOiAqACAgMSBwcACRkDAAoRBgYKEwAPDxMBBiMTCgcHGgMUASQFJRQHAwMKCgMmAQYYDxobFAAKBw8KBwMDAgkCAAAFGwACBwIHBgIDAQMIDAABKAkHBQURACkZASoAAAIrLAIALQcHBy4HLwkFCgMCMA0xAgMJAgACAQYKAQIBBQEACQIFAQEABQAODQ0GFQIBHBUGAgkCEAAAAAUyDzMMBQYINAUCAwUODg41AgMCAgIDBgICNgIBDAwMAQsLCwsLCx0CAAIAAAABABABBQICAQMCEgMMCwEBAQEBAQsLAQICAwICAgICAgIDAgIICAEICAgEBAQEBAQEBAQABAQABAQEBAAE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GiABQQA2AvADIAFCADcC6AMgAigC7AMiAyACKALoAyIERwRAIAMgBGsiBEEASA0FIAEgBBAeIgM2AuwDIAEgAzYC6AMgASADIARqNgLwAyACKALoAyIEIAIoAuwDIghHBEADQCADIAQoAgA2AgAgA0EEaiEDIARBBGoiBCAIRw0ACwsgASADNgLsAwsgASACKQL0AzcC9AMgASACKAKEBDYChAQgASACKQL8AzcC/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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",!te(vt)){var Me=vt;vt=t.locateFile?t.locateFile(Me,o):o+Me}function Et(){var v=vt;try{if(v==vt&&c)return new Uint8Array(c);if(te(v))try{var w=GO(v.slice(37)),O=new Uint8Array(w.length);for(v=0;v<w.length;++v)O[v]=w.charCodeAt(v);var k=O}catch{throw Error("Converting base64 string to bytes failed.")}else k=void 0;var N=k;if(N)return N;throw"both async and sync fetching of the wasm failed"}catch(j){ce(j)}}function Ce(){return c||typeof fetch!="function"?Promise.resolve().then(function(){return Et()}):fetch(vt,{credentials:"same-origin"}).then(function(v){if(!v.ok)throw"failed to load wasm binary file at '"+vt+"'";return v.arrayBuffer()}).catch(function(){return Et()})}function Re(v){for(;0<v.length;)v.shift()(t)}function Ot(v){if(v===void 0)return"_unknown";v=v.replace(/[^a-zA-Z0-9_]/g,"$");var w=v.charCodeAt(0);return 48<=w&&57>=w?"_"+v:v}function Gt(v,w){return v=Ot(v),function(){return w.apply(this,arguments)}}var pt=[{},{value:void 0},{value:null},{value:!0},{value:!1}],sr=[];function S(v){var w=Error,O=Gt(v,function(k){this.name=v,this.message=k,k=Error(k).stack,k!==void 0&&(this.stack=this.toString()+`
|
|
889
|
+
`+k.replace(/^Error(:[^\n]*)?\n/,""))});return O.prototype=Object.create(w.prototype),O.prototype.constructor=O,O.prototype.toString=function(){return this.message===void 0?this.name:this.name+": "+this.message},O}var B=void 0;function H(v){throw new B(v)}var U=v=>(v||H("Cannot use deleted val. handle = "+v),pt[v].value),we=v=>{switch(v){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var w=sr.length?sr.pop():pt.length;return pt[w]={ga:1,value:v},w}},Ge=void 0,Pe=void 0;function ye(v){for(var w="";g[v];)w+=Pe[g[v++]];return w}var He=[];function or(){for(;He.length;){var v=He.pop();v.M.$=!1,v.delete()}}var qe=void 0,ct={};function Zi(v,w){for(w===void 0&&H("ptr should not be undefined");v.R;)w=v.ba(w),v=v.R;return w}var Ir={};function jr(v){v=x_(v);var w=ye(v);return Ti(v),w}function Kt(v,w){var O=Ir[v];return O===void 0&&H(w+" has unknown type "+jr(v)),O}function $i(){}var Fa=!1;function Yr(v){--v.count.value,v.count.value===0&&(v.T?v.U.W(v.T):v.P.N.W(v.O))}function uc(v,w,O){return w===O?v:O.R===void 0?null:(v=uc(v,w,O.R),v===null?null:O.na(v))}var b={};function p(v,w){return w=Zi(v,w),ct[w]}var m=void 0;function M(v){throw new m(v)}function R(v,w){return w.P&&w.O||M("makeClassHandle requires ptr and ptrType"),!!w.U!=!!w.T&&M("Both smartPtrType and smartPtr must be specified"),w.count={value:1},W(Object.create(v,{M:{value:w}}))}function W(v){return typeof FinalizationRegistry>"u"?(W=w=>w,v):(Fa=new FinalizationRegistry(w=>{Yr(w.M)}),W=w=>{var O=w.M;return O.T&&Fa.register(w,{M:O},w),w},$i=w=>{Fa.unregister(w)},W(v))}var Y={};function be(v){for(;v.length;){var w=v.pop();v.pop()(w)}}function Xe(v){return this.fromWireType(x[v>>2])}var Ne={},$e={};function Oe(v,w,O){function k(z){z=O(z),z.length!==v.length&&M("Mismatched type converter count");for(var ee=0;ee<v.length;++ee)Si(v[ee],z[ee])}v.forEach(function(z){$e[z]=w});var N=Array(w.length),j=[],X=0;w.forEach((z,ee)=>{Ir.hasOwnProperty(z)?N[ee]=Ir[z]:(j.push(z),Ne.hasOwnProperty(z)||(Ne[z]=[]),Ne[z].push(()=>{N[ee]=Ir[z],++X,X===j.length&&k(N)}))}),j.length===0&&k(N)}function hg(v){switch(v){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+v)}}function Si(v,w,O={}){if(!("argPackAdvance"in w))throw new TypeError("registerType registeredInstance requires argPackAdvance");var k=w.name;if(v||H('type "'+k+'" must have a positive integer typeid pointer'),Ir.hasOwnProperty(v)){if(O.ua)return;H("Cannot register type '"+k+"' twice")}Ir[v]=w,delete $e[v],Ne.hasOwnProperty(v)&&(w=Ne[v],delete Ne[v],w.forEach(N=>N()))}function fg(v){H(v.M.P.N.name+" instance already deleted")}function en(){}function dg(v,w,O){if(v[w].S===void 0){var k=v[w];v[w]=function(){return v[w].S.hasOwnProperty(arguments.length)||H("Function '"+O+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+v[w].S+")!"),v[w].S[arguments.length].apply(this,arguments)},v[w].S=[],v[w].S[k.Z]=k}}function IO(v,w){t.hasOwnProperty(v)?(H("Cannot register public name '"+v+"' twice"),dg(t,v,v),t.hasOwnProperty(void 0)&&H("Cannot register multiple overloads of a function with the same number of arguments (undefined)!"),t[v].S[void 0]=w):t[v]=w}function EO(v,w,O,k,N,j,X,z){this.name=v,this.constructor=w,this.X=O,this.W=k,this.R=N,this.pa=j,this.ba=X,this.na=z,this.ja=[]}function pg(v,w,O){for(;w!==O;)w.ba||H("Expected null or instance of "+O.name+", got an instance of "+w.name),v=w.ba(v),w=w.R;return v}function xO(v,w){return w===null?(this.ea&&H("null is not a valid "+this.name),0):(w.M||H('Cannot pass "'+Ig(w)+'" as a '+this.name),w.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),pg(w.M.O,w.M.P.N,this.N))}function _O(v,w){if(w===null){if(this.ea&&H("null is not a valid "+this.name),this.da){var O=this.fa();return v!==null&&v.push(this.W,O),O}return 0}if(w.M||H('Cannot pass "'+Ig(w)+'" as a '+this.name),w.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),!this.ca&&w.M.P.ca&&H("Cannot convert argument of type "+(w.M.U?w.M.U.name:w.M.P.name)+" to parameter type "+this.name),O=pg(w.M.O,w.M.P.N,this.N),this.da)switch(w.M.T===void 0&&H("Passing raw pointer to smart pointer is illegal"),this.Ba){case 0:w.M.U===this?O=w.M.T:H("Cannot convert argument of type "+(w.M.U?w.M.U.name:w.M.P.name)+" to parameter type "+this.name);break;case 1:O=w.M.T;break;case 2:if(w.M.U===this)O=w.M.T;else{var k=w.clone();O=this.xa(O,we(function(){k.delete()})),v!==null&&v.push(this.W,O)}break;default:H("Unsupporting sharing policy")}return O}function BO(v,w){return w===null?(this.ea&&H("null is not a valid "+this.name),0):(w.M||H('Cannot pass "'+Ig(w)+'" as a '+this.name),w.M.O||H("Cannot pass deleted object as a pointer of type "+this.name),w.M.P.ca&&H("Cannot convert argument of type "+w.M.P.name+" to parameter type "+this.name),pg(w.M.O,w.M.P.N,this.N))}function Mi(v,w,O,k){this.name=v,this.N=w,this.ea=O,this.ca=k,this.da=!1,this.W=this.xa=this.fa=this.ka=this.Ba=this.wa=void 0,w.R!==void 0?this.toWireType=_O:(this.toWireType=k?xO:BO,this.V=null)}function vO(v,w){t.hasOwnProperty(v)||M("Replacing nonexistant public symbol"),t[v]=w,t[v].Z=void 0}function CO(v,w){var O=[];return function(){if(O.length=0,Object.assign(O,arguments),v.includes("j")){var k=t["dynCall_"+v];k=O&&O.length?k.apply(null,[w].concat(O)):k.call(null,w)}else k=q.get(w).apply(null,O);return k}}function Kr(v,w){v=ye(v);var O=v.includes("j")?CO(v,w):q.get(w);return typeof O!="function"&&H("unknown function pointer with signature "+v+": "+w),O}var m_=void 0;function cc(v,w){function O(j){N[j]||Ir[j]||($e[j]?$e[j].forEach(O):(k.push(j),N[j]=!0))}var k=[],N={};throw w.forEach(O),new m_(v+": "+k.map(jr).join([", "]))}function gg(v,w,O,k,N){var j=w.length;2>j&&H("argTypes array size mismatch! Must at least get return value and 'this' types!");var X=w[1]!==null&&O!==null,z=!1;for(O=1;O<w.length;++O)if(w[O]!==null&&w[O].V===void 0){z=!0;break}var ee=w[0].name!=="void",Z=j-2,ae=Array(Z),me=[],Le=[];return function(){if(arguments.length!==Z&&H("function "+v+" called with "+arguments.length+" arguments, expected "+Z+" args!"),Le.length=0,me.length=X?2:1,me[0]=N,X){var Ct=w[1].toWireType(Le,this);me[1]=Ct}for(var je=0;je<Z;++je)ae[je]=w[je+2].toWireType(Le,arguments[je]),me.push(ae[je]);if(je=k.apply(null,me),z)be(Le);else for(var Er=X?1:2;Er<w.length;Er++){var Vr=Er===1?Ct:ae[Er-2];w[Er].V!==null&&w[Er].V(Vr)}return Ct=ee?w[0].fromWireType(je):void 0,Ct}}function mg(v,w){for(var O=[],k=0;k<v;k++)O.push(I[w+4*k>>2]);return O}function yg(v){4<v&&--pt[v].ga===0&&(pt[v]=void 0,sr.push(v))}function Ig(v){if(v===null)return"null";var w=typeof v;return w==="object"||w==="array"||w==="function"?v.toString():""+v}function bO(v,w){switch(w){case 2:return function(O){return this.fromWireType(P[O>>2])};case 3:return function(O){return this.fromWireType(F[O>>3])};default:throw new TypeError("Unknown float type: "+v)}}function wO(v,w,O){switch(w){case 0:return O?function(k){return y[k]}:function(k){return g[k]};case 1:return O?function(k){return E[k>>1]}:function(k){return _[k>>1]};case 2:return O?function(k){return x[k>>2]}:function(k){return I[k>>2]};default:throw new TypeError("Unknown integer type: "+v)}}function QO(v,w){for(var O="",k=0;!(k>=w/2);++k){var N=E[v+2*k>>1];if(N==0)break;O+=String.fromCharCode(N)}return O}function SO(v,w,O){if(O===void 0&&(O=2147483647),2>O)return 0;O-=2;var k=w;O=O<2*v.length?O/2:v.length;for(var N=0;N<O;++N)E[w>>1]=v.charCodeAt(N),w+=2;return E[w>>1]=0,w-k}function MO(v){return 2*v.length}function TO(v,w){for(var O=0,k="";!(O>=w/4);){var N=x[v+4*O>>2];if(N==0)break;++O,65536<=N?(N-=65536,k+=String.fromCharCode(55296|N>>10,56320|N&1023)):k+=String.fromCharCode(N)}return k}function PO(v,w,O){if(O===void 0&&(O=2147483647),4>O)return 0;var k=w;O=k+O-4;for(var N=0;N<v.length;++N){var j=v.charCodeAt(N);if(55296<=j&&57343>=j){var X=v.charCodeAt(++N);j=65536+((j&1023)<<10)|X&1023}if(x[w>>2]=j,w+=4,w+4>O)break}return x[w>>2]=0,w-k}function DO(v){for(var w=0,O=0;O<v.length;++O){var k=v.charCodeAt(O);55296<=k&&57343>=k&&++O,w+=4}return w}var FO={};function y_(v){var w=FO[v];return w===void 0?ye(v):w}var Ac=[];function OO(v){var w=Ac.length;return Ac.push(v),w}function RO(v,w){for(var O=Array(v),k=0;k<v;++k)O[k]=Kt(I[w+4*k>>2],"parameter "+k);return O}var I_=[],kO=[null,[],[]];B=t.BindingError=S("BindingError"),t.count_emval_handles=function(){for(var v=0,w=5;w<pt.length;++w)pt[w]!==void 0&&++v;return v},t.get_first_emval=function(){for(var v=5;v<pt.length;++v)if(pt[v]!==void 0)return pt[v];return null},Ge=t.PureVirtualError=S("PureVirtualError");for(var E_=Array(256),hc=0;256>hc;++hc)E_[hc]=String.fromCharCode(hc);Pe=E_,t.getInheritedInstanceCount=function(){return Object.keys(ct).length},t.getLiveInheritedInstances=function(){var v=[],w;for(w in ct)ct.hasOwnProperty(w)&&v.push(ct[w]);return v},t.flushPendingDeletes=or,t.setDelayFunction=function(v){qe=v,He.length&&qe&&qe(or)},m=t.InternalError=S("InternalError"),en.prototype.isAliasOf=function(v){if(!(this instanceof en&&v instanceof en))return!1;var w=this.M.P.N,O=this.M.O,k=v.M.P.N;for(v=v.M.O;w.R;)O=w.ba(O),w=w.R;for(;k.R;)v=k.ba(v),k=k.R;return w===k&&O===v},en.prototype.clone=function(){if(this.M.O||fg(this),this.M.aa)return this.M.count.value+=1,this;var v=W,w=Object,O=w.create,k=Object.getPrototypeOf(this),N=this.M;return v=v(O.call(w,k,{M:{value:{count:N.count,$:N.$,aa:N.aa,O:N.O,P:N.P,T:N.T,U:N.U}}})),v.M.count.value+=1,v.M.$=!1,v},en.prototype.delete=function(){this.M.O||fg(this),this.M.$&&!this.M.aa&&H("Object already scheduled for deletion"),$i(this),Yr(this.M),this.M.aa||(this.M.T=void 0,this.M.O=void 0)},en.prototype.isDeleted=function(){return!this.M.O},en.prototype.deleteLater=function(){return this.M.O||fg(this),this.M.$&&!this.M.aa&&H("Object already scheduled for deletion"),He.push(this),He.length===1&&qe&&qe(or),this.M.$=!0,this},Mi.prototype.qa=function(v){return this.ka&&(v=this.ka(v)),v},Mi.prototype.ha=function(v){this.W&&this.W(v)},Mi.prototype.argPackAdvance=8,Mi.prototype.readValueFromPointer=Xe,Mi.prototype.deleteObject=function(v){v!==null&&v.delete()},Mi.prototype.fromWireType=function(v){function w(){return this.da?R(this.N.X,{P:this.wa,O,U:this,T:v}):R(this.N.X,{P:this,O:v})}var O=this.qa(v);if(!O)return this.ha(v),null;var k=p(this.N,O);if(k!==void 0)return k.M.count.value===0?(k.M.O=O,k.M.T=v,k.clone()):(k=k.clone(),this.ha(v),k);if(k=this.N.pa(O),k=b[k],!k)return w.call(this);k=this.ca?k.la:k.pointerType;var N=uc(O,this.N,k.N);return N===null?w.call(this):this.da?R(k.N.X,{P:k,O:N,U:this,T:v}):R(k.N.X,{P:k,O:N})},m_=t.UnboundTypeError=S("UnboundTypeError");var GO=typeof atob=="function"?atob:function(v){var w="",O=0;v=v.replace(/[^A-Za-z0-9\+\/=]/g,"");do{var k="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(O++)),N="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(O++)),j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(O++)),X="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(v.charAt(O++));k=k<<2|N>>4,N=(N&15)<<4|j>>2;var z=(j&3)<<6|X;w+=String.fromCharCode(k),j!==64&&(w+=String.fromCharCode(N)),X!==64&&(w+=String.fromCharCode(z))}while(O<v.length);return w},UO={l:function(v,w,O,k){ce("Assertion failed: "+(v?f(g,v):"")+", at: "+[w?w?f(g,w):"":"unknown filename",O,k?k?f(g,k):"":"unknown function"])},q:function(v,w,O){v=ye(v),w=Kt(w,"wrapper"),O=U(O);var k=[].slice,N=w.N,j=N.X,X=N.R.X,z=N.R.constructor;v=Gt(v,function(){N.R.ja.forEach(function(Z){if(this[Z]===X[Z])throw new Ge("Pure virtual function "+Z+" must be implemented in JavaScript")}.bind(this)),Object.defineProperty(this,"__parent",{value:j}),this.__construct.apply(this,k.call(arguments))}),j.__construct=function(){this===j&&H("Pass correct 'this' to __construct");var Z=z.implement.apply(void 0,[this].concat(k.call(arguments)));$i(Z);var ae=Z.M;Z.notifyOnDestruction(),ae.aa=!0,Object.defineProperties(this,{M:{value:ae}}),W(this),Z=ae.O,Z=Zi(N,Z),ct.hasOwnProperty(Z)?H("Tried to register registered instance: "+Z):ct[Z]=this},j.__destruct=function(){this===j&&H("Pass correct 'this' to __destruct"),$i(this);var Z=this.M.O;Z=Zi(N,Z),ct.hasOwnProperty(Z)?delete ct[Z]:H("Tried to unregister unregistered instance: "+Z)},v.prototype=Object.create(j);for(var ee in O)v.prototype[ee]=O[ee];return we(v)},j:function(v){var w=Y[v];delete Y[v];var O=w.fa,k=w.W,N=w.ia,j=N.map(X=>X.ta).concat(N.map(X=>X.za));Oe([v],j,X=>{var z={};return N.forEach((ee,Z)=>{var ae=X[Z],me=ee.ra,Le=ee.sa,Ct=X[Z+N.length],je=ee.ya,Er=ee.Aa;z[ee.oa]={read:Vr=>ae.fromWireType(me(Le,Vr)),write:(Vr,Oa)=>{var Pi=[];je(Er,Vr,Ct.toWireType(Pi,Oa)),be(Pi)}}}),[{name:w.name,fromWireType:function(ee){var Z={},ae;for(ae in z)Z[ae]=z[ae].read(ee);return k(ee),Z},toWireType:function(ee,Z){for(var ae in z)if(!(ae in Z))throw new TypeError('Missing field: "'+ae+'"');var me=O();for(ae in z)z[ae].write(me,Z[ae]);return ee!==null&&ee.push(k,me),me},argPackAdvance:8,readValueFromPointer:Xe,V:k}]})},v:function(){},B:function(v,w,O,k,N){var j=hg(O);w=ye(w),Si(v,{name:w,fromWireType:function(X){return!!X},toWireType:function(X,z){return z?k:N},argPackAdvance:8,readValueFromPointer:function(X){if(O===1)var z=y;else if(O===2)z=E;else if(O===4)z=x;else throw new TypeError("Unknown boolean type size: "+w);return this.fromWireType(z[X>>j])},V:null})},f:function(v,w,O,k,N,j,X,z,ee,Z,ae,me,Le){ae=ye(ae),j=Kr(N,j),z&&(z=Kr(X,z)),Z&&(Z=Kr(ee,Z)),Le=Kr(me,Le);var Ct=Ot(ae);IO(Ct,function(){cc("Cannot construct "+ae+" due to unbound types",[k])}),Oe([v,w,O],k?[k]:[],function(je){if(je=je[0],k)var Er=je.N,Vr=Er.X;else Vr=en.prototype;je=Gt(Ct,function(){if(Object.getPrototypeOf(this)!==Oa)throw new B("Use 'new' to construct "+ae);if(Pi.Y===void 0)throw new B(ae+" has no accessible constructor");var v_=Pi.Y[arguments.length];if(v_===void 0)throw new B("Tried to invoke ctor of "+ae+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(Pi.Y).toString()+") parameters instead!");return v_.apply(this,arguments)});var Oa=Object.create(Vr,{constructor:{value:je}});je.prototype=Oa;var Pi=new EO(ae,je,Oa,Le,Er,j,z,Z);Er=new Mi(ae,Pi,!0,!1),Vr=new Mi(ae+"*",Pi,!1,!1);var B_=new Mi(ae+" const*",Pi,!1,!0);return b[v]={pointerType:Vr,la:B_},vO(Ct,je),[Er,Vr,B_]})},d:function(v,w,O,k,N,j,X){var z=mg(O,k);w=ye(w),j=Kr(N,j),Oe([],[v],function(ee){function Z(){cc("Cannot call "+ae+" due to unbound types",z)}ee=ee[0];var ae=ee.name+"."+w;w.startsWith("@@")&&(w=Symbol[w.substring(2)]);var me=ee.N.constructor;return me[w]===void 0?(Z.Z=O-1,me[w]=Z):(dg(me,w,ae),me[w].S[O-1]=Z),Oe([],z,function(Le){return Le=gg(ae,[Le[0],null].concat(Le.slice(1)),null,j,X),me[w].S===void 0?(Le.Z=O-1,me[w]=Le):me[w].S[O-1]=Le,[]}),[]})},p:function(v,w,O,k,N,j){0<w||ce();var X=mg(w,O);N=Kr(k,N),Oe([],[v],function(z){z=z[0];var ee="constructor "+z.name;if(z.N.Y===void 0&&(z.N.Y=[]),z.N.Y[w-1]!==void 0)throw new B("Cannot register multiple constructors with identical number of parameters ("+(w-1)+") for class '"+z.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return z.N.Y[w-1]=()=>{cc("Cannot construct "+z.name+" due to unbound types",X)},Oe([],X,function(Z){return Z.splice(1,0,null),z.N.Y[w-1]=gg(ee,Z,null,N,j),[]}),[]})},a:function(v,w,O,k,N,j,X,z){var ee=mg(O,k);w=ye(w),j=Kr(N,j),Oe([],[v],function(Z){function ae(){cc("Cannot call "+me+" due to unbound types",ee)}Z=Z[0];var me=Z.name+"."+w;w.startsWith("@@")&&(w=Symbol[w.substring(2)]),z&&Z.N.ja.push(w);var Le=Z.N.X,Ct=Le[w];return Ct===void 0||Ct.S===void 0&&Ct.className!==Z.name&&Ct.Z===O-2?(ae.Z=O-2,ae.className=Z.name,Le[w]=ae):(dg(Le,w,me),Le[w].S[O-2]=ae),Oe([],ee,function(je){return je=gg(me,je,Z,j,X),Le[w].S===void 0?(je.Z=O-2,Le[w]=je):Le[w].S[O-2]=je,[]}),[]})},A:function(v,w){w=ye(w),Si(v,{name:w,fromWireType:function(O){var k=U(O);return yg(O),k},toWireType:function(O,k){return we(k)},argPackAdvance:8,readValueFromPointer:Xe,V:null})},n:function(v,w,O){O=hg(O),w=ye(w),Si(v,{name:w,fromWireType:function(k){return k},toWireType:function(k,N){return N},argPackAdvance:8,readValueFromPointer:bO(w,O),V:null})},e:function(v,w,O,k,N){w=ye(w),N===-1&&(N=4294967295),N=hg(O);var j=z=>z;if(k===0){var X=32-8*O;j=z=>z<<X>>>X}O=w.includes("unsigned")?function(z,ee){return ee>>>0}:function(z,ee){return ee},Si(v,{name:w,fromWireType:j,toWireType:O,argPackAdvance:8,readValueFromPointer:wO(w,N,k!==0),V:null})},b:function(v,w,O){function k(j){j>>=2;var X=I;return new N(d,X[j+1],X[j])}var N=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][w];O=ye(O),Si(v,{name:O,fromWireType:k,argPackAdvance:8,readValueFromPointer:k},{ua:!0})},o:function(v,w){w=ye(w);var O=w==="std::string";Si(v,{name:w,fromWireType:function(k){var N=I[k>>2],j=k+4;if(O)for(var X=j,z=0;z<=N;++z){var ee=j+z;if(z==N||g[ee]==0){if(X=X?f(g,X,ee-X):"",Z===void 0)var Z=X;else Z+="\0",Z+=X;X=ee+1}}else{for(Z=Array(N),z=0;z<N;++z)Z[z]=String.fromCharCode(g[j+z]);Z=Z.join("")}return Ti(k),Z},toWireType:function(k,N){N instanceof ArrayBuffer&&(N=new Uint8Array(N));var j,X=typeof N=="string";if(X||N instanceof Uint8Array||N instanceof Uint8ClampedArray||N instanceof Int8Array||H("Cannot pass non-string to std::string"),O&&X){var z=0;for(j=0;j<N.length;++j){var ee=N.charCodeAt(j);127>=ee?z++:2047>=ee?z+=2:55296<=ee&&57343>=ee?(z+=4,++j):z+=3}j=z}else j=N.length;if(z=Eg(4+j+1),ee=z+4,I[z>>2]=j,O&&X){if(X=ee,ee=j+1,j=g,0<ee){ee=X+ee-1;for(var Z=0;Z<N.length;++Z){var ae=N.charCodeAt(Z);if(55296<=ae&&57343>=ae){var me=N.charCodeAt(++Z);ae=65536+((ae&1023)<<10)|me&1023}if(127>=ae){if(X>=ee)break;j[X++]=ae}else{if(2047>=ae){if(X+1>=ee)break;j[X++]=192|ae>>6}else{if(65535>=ae){if(X+2>=ee)break;j[X++]=224|ae>>12}else{if(X+3>=ee)break;j[X++]=240|ae>>18,j[X++]=128|ae>>12&63}j[X++]=128|ae>>6&63}j[X++]=128|ae&63}}j[X]=0}}else if(X)for(X=0;X<j;++X)Z=N.charCodeAt(X),255<Z&&(Ti(ee),H("String has UTF-16 code units that do not fit in 8 bits")),g[ee+X]=Z;else for(X=0;X<j;++X)g[ee+X]=N[X];return k!==null&&k.push(Ti,z),z},argPackAdvance:8,readValueFromPointer:Xe,V:function(k){Ti(k)}})},i:function(v,w,O){if(O=ye(O),w===2)var k=QO,N=SO,j=MO,X=()=>_,z=1;else w===4&&(k=TO,N=PO,j=DO,X=()=>I,z=2);Si(v,{name:O,fromWireType:function(ee){for(var Z=I[ee>>2],ae=X(),me,Le=ee+4,Ct=0;Ct<=Z;++Ct){var je=ee+4+Ct*w;(Ct==Z||ae[je>>z]==0)&&(Le=k(Le,je-Le),me===void 0?me=Le:(me+="\0",me+=Le),Le=je+w)}return Ti(ee),me},toWireType:function(ee,Z){typeof Z!="string"&&H("Cannot pass non-string to C++ string type "+O);var ae=j(Z),me=Eg(4+ae+w);return I[me>>2]=ae>>z,N(Z,me+4,ae+w),ee!==null&&ee.push(Ti,me),me},argPackAdvance:8,readValueFromPointer:Xe,V:function(ee){Ti(ee)}})},k:function(v,w,O,k,N,j){Y[v]={name:ye(w),fa:Kr(O,k),W:Kr(N,j),ia:[]}},h:function(v,w,O,k,N,j,X,z,ee,Z){Y[v].ia.push({oa:ye(w),ta:O,ra:Kr(k,N),sa:j,za:X,ya:Kr(z,ee),Aa:Z})},C:function(v,w){w=ye(w),Si(v,{va:!0,name:w,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},s:function(v,w,O,k,N){v=Ac[v],w=U(w),O=y_(O);var j=[];return I[k>>2]=we(j),v(w,O,j,N)},t:function(v,w,O,k){v=Ac[v],w=U(w),O=y_(O),v(w,O,null,k)},g:yg,m:function(v,w){var O=RO(v,w),k=O[0];w=k.name+"_$"+O.slice(1).map(function(X){return X.name}).join("_")+"$";var N=I_[w];if(N!==void 0)return N;var j=Array(v-1);return N=OO((X,z,ee,Z)=>{for(var ae=0,me=0;me<v-1;++me)j[me]=O[me+1].readValueFromPointer(Z+ae),ae+=O[me+1].argPackAdvance;for(X=X[z].apply(X,j),me=0;me<v-1;++me)O[me+1].ma&&O[me+1].ma(j[me]);if(!k.va)return k.toWireType(ee,X)}),I_[w]=N},D:function(v){4<v&&(pt[v].ga+=1)},r:function(v){var w=U(v);be(w),yg(v)},c:function(){ce("")},x:function(v,w,O){g.copyWithin(v,w,w+O)},w:function(v){var w=g.length;if(v>>>=0,2147483648<v)return!1;for(var O=1;4>=O;O*=2){var k=w*(1+.2/O);k=Math.min(k,v+100663296);var N=Math;k=Math.max(v,k),N=N.min.call(N,2147483648,k+(65536-k%65536)%65536);e:{try{A.grow(N-d.byteLength+65535>>>16),G();var j=1;break e}catch{}j=void 0}if(j)return!0}return!1},z:function(){return 52},u:function(){return 70},y:function(v,w,O,k){for(var N=0,j=0;j<O;j++){var X=I[w>>2],z=I[w+4>>2];w+=8;for(var ee=0;ee<z;ee++){var Z=g[X+ee],ae=kO[v];Z===0||Z===10?((v===1?a:u)(f(ae,0)),ae.length=0):ae.push(Z)}N+=z}return I[k>>2]=N,0}};(function(){function v(N){t.asm=N.exports,A=t.asm.E,G(),q=t.asm.J,K.unshift(t.asm.F),ue--,t.monitorRunDependencies&&t.monitorRunDependencies(ue),ue==0&&(_e!==null&&(clearInterval(_e),_e=null),Ze&&(N=Ze,Ze=null,N()))}function w(N){v(N.instance)}function O(N){return Ce().then(function(j){return WebAssembly.instantiate(j,k)}).then(function(j){return j}).then(N,function(j){u("failed to asynchronously prepare wasm: "+j),ce(j)})}var k={a:UO};if(ue++,t.monitorRunDependencies&&t.monitorRunDependencies(ue),t.instantiateWasm)try{return t.instantiateWasm(k,v)}catch(N){u("Module.instantiateWasm callback failed with error: "+N),n(N)}return function(){return c||typeof WebAssembly.instantiateStreaming!="function"||te(vt)||typeof fetch!="function"?O(w):fetch(vt,{credentials:"same-origin"}).then(function(N){return WebAssembly.instantiateStreaming(N,k).then(w,function(j){return u("wasm streaming compile failed: "+j),u("falling back to ArrayBuffer instantiation"),O(w)})})}().catch(n),{}})(),t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.F).apply(null,arguments)};var x_=t.___getTypeName=function(){return(x_=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 Eg=t._malloc=function(){return(Eg=t._malloc=t.asm.I).apply(null,arguments)},Ti=t._free=function(){return(Ti=t._free=t.asm.K).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.L).apply(null,arguments)};var fc;Ze=function v(){fc||__(),fc||(Ze=v)};function __(){function v(){if(!fc&&(fc=!0,t.calledRun=!0,!h)){if(Re(K),r(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;){var w=t.postRun.shift();J.unshift(w)}Re(J)}}if(!(0<ue)){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)$();Re(T),0<ue||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),v()},1)):v())}}if(t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();return __(),e.ready}})(),CF=u6});var It,Uu,wF,bi,Ds,ge,Sa,A6,Ur,Fs,Qr,Ma,Gx,QF,Os,Rs,ii,ks,h6,SF,jp=Q(()=>{It=function(i){return i[i.Auto=0]="Auto",i[i.FlexStart=1]="FlexStart",i[i.Center=2]="Center",i[i.FlexEnd=3]="FlexEnd",i[i.Stretch=4]="Stretch",i[i.Baseline=5]="Baseline",i[i.SpaceBetween=6]="SpaceBetween",i[i.SpaceAround=7]="SpaceAround",i[i.SpaceEvenly=8]="SpaceEvenly",i}({}),Uu=function(i){return i[i.BorderBox=0]="BorderBox",i[i.ContentBox=1]="ContentBox",i}({}),wF=function(i){return i[i.Width=0]="Width",i[i.Height=1]="Height",i}({}),bi=function(i){return i[i.Inherit=0]="Inherit",i[i.LTR=1]="LTR",i[i.RTL=2]="RTL",i}({}),Ds=function(i){return i[i.Flex=0]="Flex",i[i.None=1]="None",i[i.Contents=2]="Contents",i}({}),ge=function(i){return i[i.Left=0]="Left",i[i.Top=1]="Top",i[i.Right=2]="Right",i[i.Bottom=3]="Bottom",i[i.Start=4]="Start",i[i.End=5]="End",i[i.Horizontal=6]="Horizontal",i[i.Vertical=7]="Vertical",i[i.All=8]="All",i}({}),Sa=function(i){return i[i.None=0]="None",i[i.StretchFlexBasis=1]="StretchFlexBasis",i[i.AbsolutePositionWithoutInsetsExcludesPadding=2]="AbsolutePositionWithoutInsetsExcludesPadding",i[i.AbsolutePercentAgainstInnerSize=4]="AbsolutePercentAgainstInnerSize",i[i.All=2147483647]="All",i[i.Classic=2147483646]="Classic",i}({}),A6=function(i){return i[i.WebFlexBasis=0]="WebFlexBasis",i}({}),Ur=function(i){return i[i.Column=0]="Column",i[i.ColumnReverse=1]="ColumnReverse",i[i.Row=2]="Row",i[i.RowReverse=3]="RowReverse",i}({}),Fs=function(i){return i[i.Column=0]="Column",i[i.Row=1]="Row",i[i.All=2]="All",i}({}),Qr=function(i){return i[i.FlexStart=0]="FlexStart",i[i.Center=1]="Center",i[i.FlexEnd=2]="FlexEnd",i[i.SpaceBetween=3]="SpaceBetween",i[i.SpaceAround=4]="SpaceAround",i[i.SpaceEvenly=5]="SpaceEvenly",i}({}),Ma=function(i){return i[i.Error=0]="Error",i[i.Warn=1]="Warn",i[i.Info=2]="Info",i[i.Debug=3]="Debug",i[i.Verbose=4]="Verbose",i[i.Fatal=5]="Fatal",i}({}),Gx=function(i){return i[i.Undefined=0]="Undefined",i[i.Exactly=1]="Exactly",i[i.AtMost=2]="AtMost",i}({}),QF=function(i){return i[i.Default=0]="Default",i[i.Text=1]="Text",i}({}),Os=function(i){return i[i.Visible=0]="Visible",i[i.Hidden=1]="Hidden",i[i.Scroll=2]="Scroll",i}({}),Rs=function(i){return i[i.Static=0]="Static",i[i.Relative=1]="Relative",i[i.Absolute=2]="Absolute",i}({}),ii=function(i){return i[i.Undefined=0]="Undefined",i[i.Point=1]="Point",i[i.Percent=2]="Percent",i[i.Auto=3]="Auto",i}({}),ks=function(i){return i[i.NoWrap=0]="NoWrap",i[i.Wrap=1]="Wrap",i[i.WrapReverse=2]="WrapReverse",i}({}),h6={ALIGN_AUTO:It.Auto,ALIGN_FLEX_START:It.FlexStart,ALIGN_CENTER:It.Center,ALIGN_FLEX_END:It.FlexEnd,ALIGN_STRETCH:It.Stretch,ALIGN_BASELINE:It.Baseline,ALIGN_SPACE_BETWEEN:It.SpaceBetween,ALIGN_SPACE_AROUND:It.SpaceAround,ALIGN_SPACE_EVENLY:It.SpaceEvenly,BOX_SIZING_BORDER_BOX:Uu.BorderBox,BOX_SIZING_CONTENT_BOX:Uu.ContentBox,DIMENSION_WIDTH:wF.Width,DIMENSION_HEIGHT:wF.Height,DIRECTION_INHERIT:bi.Inherit,DIRECTION_LTR:bi.LTR,DIRECTION_RTL:bi.RTL,DISPLAY_FLEX:Ds.Flex,DISPLAY_NONE:Ds.None,DISPLAY_CONTENTS:Ds.Contents,EDGE_LEFT:ge.Left,EDGE_TOP:ge.Top,EDGE_RIGHT:ge.Right,EDGE_BOTTOM:ge.Bottom,EDGE_START:ge.Start,EDGE_END:ge.End,EDGE_HORIZONTAL:ge.Horizontal,EDGE_VERTICAL:ge.Vertical,EDGE_ALL:ge.All,ERRATA_NONE:Sa.None,ERRATA_STRETCH_FLEX_BASIS:Sa.StretchFlexBasis,ERRATA_ABSOLUTE_POSITION_WITHOUT_INSETS_EXCLUDES_PADDING:Sa.AbsolutePositionWithoutInsetsExcludesPadding,ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE:Sa.AbsolutePercentAgainstInnerSize,ERRATA_ALL:Sa.All,ERRATA_CLASSIC:Sa.Classic,EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS:A6.WebFlexBasis,FLEX_DIRECTION_COLUMN:Ur.Column,FLEX_DIRECTION_COLUMN_REVERSE:Ur.ColumnReverse,FLEX_DIRECTION_ROW:Ur.Row,FLEX_DIRECTION_ROW_REVERSE:Ur.RowReverse,GUTTER_COLUMN:Fs.Column,GUTTER_ROW:Fs.Row,GUTTER_ALL:Fs.All,JUSTIFY_FLEX_START:Qr.FlexStart,JUSTIFY_CENTER:Qr.Center,JUSTIFY_FLEX_END:Qr.FlexEnd,JUSTIFY_SPACE_BETWEEN:Qr.SpaceBetween,JUSTIFY_SPACE_AROUND:Qr.SpaceAround,JUSTIFY_SPACE_EVENLY:Qr.SpaceEvenly,LOG_LEVEL_ERROR:Ma.Error,LOG_LEVEL_WARN:Ma.Warn,LOG_LEVEL_INFO:Ma.Info,LOG_LEVEL_DEBUG:Ma.Debug,LOG_LEVEL_VERBOSE:Ma.Verbose,LOG_LEVEL_FATAL:Ma.Fatal,MEASURE_MODE_UNDEFINED:Gx.Undefined,MEASURE_MODE_EXACTLY:Gx.Exactly,MEASURE_MODE_AT_MOST:Gx.AtMost,NODE_TYPE_DEFAULT:QF.Default,NODE_TYPE_TEXT:QF.Text,OVERFLOW_VISIBLE:Os.Visible,OVERFLOW_HIDDEN:Os.Hidden,OVERFLOW_SCROLL:Os.Scroll,POSITION_TYPE_STATIC:Rs.Static,POSITION_TYPE_RELATIVE:Rs.Relative,POSITION_TYPE_ABSOLUTE:Rs.Absolute,UNIT_UNDEFINED:ii.Undefined,UNIT_POINT:ii.Point,UNIT_PERCENT:ii.Percent,UNIT_AUTO:ii.Auto,WRAP_NO_WRAP:ks.NoWrap,WRAP_WRAP:ks.Wrap,WRAP_WRAP_REVERSE:ks.WrapReverse},SF=h6});function Ux(i){function e(n,s,o){let a=n[s];n[s]=function(){for(var u=arguments.length,c=new Array(u),l=0;l<u;l++)c[l]=arguments[l];return o.call(this,a,...c)}}for(let n of["setPosition","setMargin","setFlexBasis","setWidth","setHeight","setMinWidth","setMinHeight","setMaxWidth","setMaxHeight","setPadding","setGap"]){let s={[ii.Point]:i.Node.prototype[n],[ii.Percent]:i.Node.prototype[`${n}Percent`],[ii.Auto]:i.Node.prototype[`${n}Auto`]};e(i.Node.prototype,n,function(o){for(var a=arguments.length,u=new Array(a>1?a-1:0),c=1;c<a;c++)u[c-1]=arguments[c];let l=u.pop(),A,h;if(l==="auto")A=ii.Auto,h=void 0;else if(typeof l=="object")A=l.unit,h=l.valueOf();else if(A=typeof l=="string"&&l.endsWith("%")?ii.Percent:ii.Point,h=parseFloat(l),l!==void 0&&!Number.isNaN(l)&&Number.isNaN(h))throw new Error(`Invalid value ${l} for ${n}`);if(!s[A])throw new Error(`Failed to execute "${n}": Unsupported unit '${l}'`);return h!==void 0?s[A].call(this,...u,h):s[A].call(this,...u)})}function t(n){return i.MeasureCallback.implement({measure:function(){let{width:s,height:o}=n(...arguments);return{width:s??NaN,height:o??NaN}}})}e(i.Node.prototype,"setMeasureFunc",function(n,s){return s?n.call(this,t(s)):this.unsetMeasureFunc()});function r(n){return i.DirtiedCallback.implement({dirtied:n})}return e(i.Node.prototype,"setDirtiedFunc",function(n,s){n.call(this,r(s))}),e(i.Config.prototype,"free",function(){i.Config.destroy(this)}),e(i.Node,"create",(n,s)=>s?i.Node.createWithConfig(s):i.Node.createDefault()),e(i.Node.prototype,"free",function(){i.Node.destroy(this)}),e(i.Node.prototype,"freeRecursive",function(){for(let n=0,s=this.getChildCount();n<s;++n)this.getChild(0).freeRecursive();this.free()}),e(i.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]:bi.LTR;return n.call(this,s,o,a)}),{Config:i.Config,Node:i.Node,...SF}}var MF=Q(()=>{jp();jp()});async function TF(){return Ux(await CF())}var Yp=Q(()=>{bF();MF();jp()});function qx(i,e){let t=`getComputed${e.charAt(0).toUpperCase()+e.slice(1)}`;return{top:i.yoga[t](ge.Top),right:i.yoga[t](ge.Right),bottom:i.yoga[t](ge.Bottom),left:i.yoga[t](ge.Left)}}function kF(i,e){let{width:t,height:r}=i.computedLayout,n=qx(i,"margin"),s=qx(i,"border"),o=qx(i,"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=r+n.top+n.bottom,a.inner.x=0,a.inner.y=0,a.inner.width=t,a.inner.height=r;let u=e.get("border");u.outer.x=0,u.outer.y=0,u.outer.width=t,u.outer.height=r,u.inner.x=s.left,u.inner.y=s.top,u.inner.width=t-s.left-s.right,u.inner.height=r-s.top-s.bottom;let c=e.get("padding");c.outer.copyFrom(u.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=r-o.top-o.bottom-s.top-s.bottom,d6(i,e)}function d6(i,e){var t;let r=e.get("flex"),n=e.get("padding");r.outer.copyFrom(n.inner);let s=new We,o=i.yoga.getChildCount();for(let u=0;u<o;u++){let l=i.yoga.getChild(u).getComputedLayout();s.addRect(new pe(l.left,l.top,l.width,l.height))}let a=i.yoga.getFlexDirection();a===Ur.Column||a===Ur.ColumnReverse?(s.width=r.outer.width,s.x=r.outer.x):(s.height=r.outer.height,s.y=r.outer.y),(t=r.inner)==null||t.copyFrom(s.rectangle),e.get("content").outer.copyFrom(s.rectangle)}var Lr,Wx=Q(()=>{xe();Yp();Lr=(i=>(i.Margin="margin",i.Padding="padding",i.Border="border",i.Flex="flex",i.Content="content",i))(Lr||{})});function m6(i,e,t){let r=Math.round(i[0]+(e[0]-i[0])*t),n=Math.round(i[1]+(e[1]-i[1])*t),s=Math.round(i[2]+(e[2]-i[2])*t);return`rgb(${r},${n},${s})`}var p6,g6,GF,Jp,UF=Q(()=>{xe();Wx();p6=Object.defineProperty,g6=(i,e,t)=>e in i?p6(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,GF=(i,e,t)=>g6(i,typeof e!="symbol"?e+"":e,t);Jp=class extends Ue{constructor(){super(),GF(this,"graphics"),GF(this,"heatGraphics"),this.graphics=new Map,Object.values(Lr).forEach(e=>{let t=new xi;this.graphics.set(e,t),this.addChild(t)}),this.heatGraphics=new xi,this.addChild(this.heatGraphics)}init(e){let{target:t,alpha:r,heat:n}=e;e.heatOnly||Object.entries(e).forEach(([a,u])=>{if(a==="target"||a==="alpha"||a==="heat"||a==="heatOnly")return;u=u;let c=this.graphics.get(a);if(!(!c||!u.draw))if(u.inner)this.drawCutBox(c,u.outer,u.inner,u.color,r);else{let{x:l,y:A,width:h,height:f}=u.outer;c.rect(l,A,h,Math.max(f,1)),c.fill({color:u.color,alpha:r})}});let{invalidationCount:s,draw:o}=n;if(s>0&&o){let u=Math.min(s/20,1),c=e[Lr.Margin],h=m6([255,255,0],[255,0,0],u);this.heatGraphics.rect(c.outer.x,c.outer.y,c.outer.width,c.outer.height),this.heatGraphics.fill({color:h,alpha:Math.min(.3,u)}),this.heatGraphics.stroke({color:h,alpha:Math.max(.3,u),pixelLine:!0})}this.position.set(t.x,t.y)}reset(){this.graphics.forEach(e=>e.clear()),this.heatGraphics.clear(),this.removeFromParent()}drawCutBox(e,t,r,n,s){let{x:o,y:a,width:u,height:c}=t,{x:l,y:A,width:h,height:f}=r;e.rect(o,a,u,c),e.fill({color:n,alpha:s}),e.rect(l,A,h,f),e.cut()}}});var LF={};b_(LF,{DebugRenderer:()=>$p});var y6,I6,Zp,$p,jx=Q(()=>{xe();Wx();UF();y6=Object.defineProperty,I6=(i,e,t)=>e in i?y6(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Zp=(i,e,t)=>I6(i,typeof e!="symbol"?e+"":e,t),$p=class{constructor(){Zp(this,"holder",new Ue),Zp(this,"regions",new Map),Zp(this,"colors",{[Lr.Margin]:"#B68655",[Lr.Padding]:"#BAC57F",[Lr.Border]:"#E7C583",[Lr.Content]:"#89B1BE",[Lr.Flex]:"#6E28D9"}),Zp(this,"alpha",.75),Object.values(Lr).forEach(e=>{this.regions.set(e,{outer:new pe,inner:new pe})}),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];Be.return(t)}}render(e){kF(e,this.regions);let t=Object.values(Lr).reduce((a,u)=>{let c=this.regions.get(u);if(!c)return a;let l=`debugDraw${u.charAt(0).toUpperCase()}${u.slice(1)}`;return a[u]={...c,color:this.colors[u],draw:e._styles.custom[l]??!0},a},{}),{left:r,top:n}=e.computedLayout,s=e.target.getGlobalPosition(),o=Be.get(Jp,{...t,target:{x:s.x+r,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 Q9={};b_(Q9,{Bar:()=>U6,Direction:()=>eO,Joystick:()=>W6,LightSpot:()=>H6,NightAmbiant:()=>q6,Particle:()=>N6,TiledMap:()=>mO,Weather:()=>w9,WeatherEffect:()=>yO});var Bg={},Vt=class{};function ar(i,e){Bg[i]=e}function T_(i,e){if(!Bg[e])return null;let t=new Bg[e];return t.onInit?.(i),t}var nb=zt(Cn(),1);function sb(){return typeof window<"u"}function wo(){return typeof performance<"u"?performance.now():Date.now()}function Qo(i){return 1e3/i}function ob(i){return i&&i instanceof Promise}function vf(i,e){if(i.length!==e.length)return!1;for(let t=0;t<i.length;t++){let r=i[t],n=e[t];if(typeof r=="object"&&r!==null){if(typeof n!="object"||n===null)return!1;if(Array.isArray(r)){if(!Array.isArray(n)||!vf(r,n))return!1}else if(!ab(r,n))return!1}else if(r!==n)return!1}return!0}function ab(i,e){let t=Object.keys(i),r=Object.keys(e);if(t.length!==r.length)return!1;for(let n of t)if(!e.hasOwnProperty(n)||!nX(i[n],e[n]))return!1;return!0}function nX(i,e){return i===e?!0:typeof i!=typeof e?!1:typeof i=="object"&&i!==null?Array.isArray(i)?Array.isArray(e)&&vf(i,e):ab(i,e):!1}function lb(i){return{}.toString.call(i)==="[object Function]"}function ub(i){return typeof i=="object"&&i!=null&&!Array.isArray(i)&&i.constructor===Object}function cb(i){return i instanceof nb.Observable}function Gm(i,e,t,r=!1){if(Object(i)!==i)return i;typeof e=="string"&&(e=e.split("."));let n=e.length;if(!n)return i;let s=i;for(let o=0;o<n-1;o++){let a=e[o],u=e[o+1],c=!isNaN(Number(u))&&isFinite(Number(u));(!s[a]||typeof s[a]!="object")&&(s[a]=c&&!r?[]:{}),s=s[a]}return s[e[n-1]]=t,i}function Cf(i){console.error(i)}function is(i,e){typeof e=="number"?i.set(e):Array.isArray(e)?i.set(e[0],e[1]):i.set(e.x,e.y)}function Ab(i,e,t,r){let n=i-t,s=e-r;return Math.sqrt(n*n+s*s)}var db={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"},sX=i=>{let e={};for(let t in i){let r=i[t];e[r]=t}return e},fb=sX(db),Um=class extends Vt{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 r=t.props.controls.value??t.props.controls;r&&(this.setupListeners(),this.setInputs(r),this.interval=setInterval(()=>{this.preStep()},Qo(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 r=this.boundKeys[t];if(r){let{keyDown:n}=r.options;n&&this.applyInput(t)}}else{let r=Object.keys(this.boundKeys);for(let n of r)this.applyInput(n)}}applyInput(t){let r=this.keyState[t];if(!r)return;let{isDown:n,count:s}=r;if(n){let{repeat:o,keyDown:a}=this.boundKeys[t].options;if(o||s==0){let u=this.boundKeys[t].parameters;typeof u=="function"&&(u=u()),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,r,n,s){Array.isArray(t)||(t=[t]);let o=Object.assign({repeat:!1},n);t.forEach(a=>{this.boundKeys[a]={actionName:r,options:o,parameters:s}})}applyKeyDown(t){let r=fb[t],n=new Event("keydown");n.keyCode=r,this.onKeyChange(n,!0)}applyKeyUp(t){let r=fb[t],n=new Event("keyup");n.keyCode=r,this.onKeyChange(n,!1)}applyKeyPress(t){return new Promise(r=>{this.applyKeyDown(t),setTimeout(()=>{this.applyKeyUp(t),r()},200)})}onKeyChange(t,r){t=t||window.event;let n=db[t.keyCode];if(n&&this.boundKeys[n]){if(this.keyState[n]==null&&(this.keyState[n]={count:0,isDown:!0}),this.keyState[n].isDown=r,!r){this.keyState[n].count=0;let{keyUp:s}=this.boundKeys[n].options;s&&s(this.boundKeys[n])}this.lastKeyPressed=r?t.keyCode:null}n&&this.updateDirectionState(n,r)}updateDirectionState(t,r){switch(t){case"up":this.directionState.up=r;break;case"down":this.directionState.down=r;break;case"left":this.directionState.left=r;break;case"right":this.directionState.right=r;break}}getDirection(){let{up:t,down:r,left:n,right:s}=this.directionState;return t&&n?"up_left":t&&s?"up_right":r&&n?"down_left":r&&s?"down_right":t?"up":r?"down":n?"left":s?"right":"none"}getControl(t){return this.boundKeys[t]}getControls(){return this.boundKeys}async applyControl(t,r){let n=this._controlsOptions[t];if(n){let s=Array.isArray(n.bind)?n.bind[0]:n.bind;r===void 0?await this.applyKeyPress(s):r?this.applyKeyDown(s):this.applyKeyUp(s)}}stopInputs(){this.stop=!0}listenInputs(){this.stop=!1,this.keyState={}}setInputs(t){if(!t)return;this.boundKeys={};let r={};for(let n in t){let s=t[n],{bind:o}=s,a=o;Array.isArray(a)||(a=[o]);for(let u of a)this.bindKey(u,n,s)}this._controlsOptions=t}get options(){return this._controlsOptions}};ar("controls",Um);var Lm=class extends Vt{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=wo()-this.timestamp,this.timestamp=t,this.tick.set({timestamp:this.timestamp,deltaTime:this.deltaTime,frame:this.frame,deltaRatio:~~this.deltaTime/~~Qo(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 r=n=>{sb()?window.requestAnimationFrame(n.bind(this)):setTimeout(()=>{this.requestedDelay=0,n(wo())},Qo(this.fps)+this.requestedDelay)};if(this.maxFps){let n=Qo(this.maxFps),s=wo(),o=wo(),a=u=>{if(this._stop)return;r(a),s=wo();let c=s-o;c>n&&(o=s-c%n,this.nextTick(u))};r(a)}else{let n=s=>{r(n),this.nextTick(s)};r(n)}return this}stop(){this._stop=!0}};ar("tick",Lm);var pb=zt(Cn(),1),gb=zt(Cn(),1),Zr=zt(Cn(),1);var oX=Object.defineProperty,Ht=(i,e)=>oX(i,"name",{value:e,configurable:!0}),Mo,bf=(Mo=class extends pb.BehaviorSubject{constructor(t=[]){super({type:"init",items:t});xg(this,"_items",[]);this.createProxy(t)}createProxy(t){this._items=new Proxy(t,{get:Ht((r,n,s)=>{let o=r[n];return typeof o=="function"?(...a)=>{let u="update",c,l=!1,A=[],h=!0;switch(n){case"push":c=r.length,u="add",l=!0;break;case"pop":c=r.length-1,u="remove",l=!0;break;case"unshift":c=0,u="add",l=!0;break;case"shift":c=0,u="remove",l=!0;break;case"splice":c=a[0];let d=a[1],y=a.slice(2);A=y,d>0&&y.length===0?u="remove":d===0&&y.length>0?u="add":d===0&&y.length===0?h=!1:u="update",l=!0;break}let f=o.apply(r,a);return l&&h&&(n==="splice"?this.next({type:u,index:c,items:A}):this.next({type:u,index:c,items:a})),f}:Reflect.get(r,n,s)},"get"),set:Ht((r,n,s)=>{let o=isNaN(Number(n))?void 0:Number(n);return r[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})}},Ht(Mo,"ArraySubject"),Mo);var To,wf=(To=class extends gb.BehaviorSubject{constructor(t={}){super({type:"init",value:t});xg(this,"_obj");this.createProxy(t)}createProxy(t){this._obj=new Proxy(t,{get:Ht((r,n,s)=>Reflect.get(r,n,s),"get"),set:Ht((r,n,s,o)=>{let a=n,u=a in r?"update":"add";return r[a]=s,this.next({type:u,key:a,value:s}),!0},"set"),deleteProperty:Ht((r,n)=>{let s=n;if(s in r){let o=r[s];return delete r[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})}},Ht(To,"ObjectSubject"),To);var aX=Ht(()=>{let i="__REACTIVE_STORE__";if(typeof globalThis<"u")return globalThis[i]||(globalThis[i]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),globalThis[i];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[i]||(e[i]={currentDependencyTracker:null,currentSubscriptionsTracker:null}),e[i]},"getGlobalReactiveStore"),So=aX(),mb=Ht(i=>{So.currentDependencyTracker&&So.currentDependencyTracker(i)},"trackDependency");function Qe(i){let e;Array.isArray(i)?e=new bf(i):typeof i=="object"&&i!==null?e=new wf(i):e=new Zr.BehaviorSubject(i);let t=Ht(()=>e instanceof bf?e.items:e instanceof wf?e.obj:e.value,"getValue"),r=Ht(function(){return mb(r),t()},"fn");return r.set=n=>{e instanceof bf?e.items=n:e instanceof wf?e.obj=n:e.next(n)},r._isFrozen=!1,r.freeze=()=>{r._isFrozen=!0},r.unfreeze=()=>{r._isFrozen=!1,e instanceof bf?e.next({type:"init",items:e.items}):e instanceof wf?e.next({type:"init",value:e.obj}):e.next(e.value)},r.mutate=n=>{let s=t();n(s)},r.update=n=>{let s=n(t());r.set(s)},r.observable=e.asObservable().pipe((0,Zr.filter)(()=>!r._isFrozen)),r._subject=e,r}Ht(Qe,"signal");function tt(i){return!!(i&&i.observable)}Ht(tt,"isSignal");function $a(i){return tt(i)&&!!i.dependencies}Ht($a,"isComputed");function Qf(i,e){let t=new Set,r=!0,n,s=So.currentDependencyTracker;So.currentDependencyTracker=u=>{t.add(u)},n=i(),i.isEffect&&(e=n),So.currentDependencyTracker=s;let o=(0,Zr.combineLatest)([...t].map(u=>u.observable)).pipe((0,Zr.filter)(()=>!r),(0,Zr.map)(()=>i()),(0,Zr.finalize)(()=>e?.())),a=Ht(function(){return mb(a),n},"fn");return a.observable=o,a.subscription=o.subscribe(u=>{n=u}),a.dependencies=t,So.currentSubscriptionsTracker?.(a.subscription),r=!1,a}Ht(Qf,"computed");function gt(i){return i.isEffect=!0,Qf(i)}Ht(gt,"effect");var Pr=zt(Cn(),1);var Nm={},el=i=>i&&typeof i=="object"&&"tag"in i&&"props"in i&&"componentInstance"in i,Hm=i=>typeof i=="string"||typeof i=="number"||typeof i=="boolean"||i===null||i===void 0;function rt(i,e){Nm[i]=e}function Sf(i){if(Array.isArray(i)){i.forEach(e=>Sf(e));return}if(i){if(i.props?.children)for(let e of i.props.children)Sf(e);for(let e in i.directives)i.directives[e].onDestroy?.(i);i.componentInstance&&i.componentInstance.onDestroy?i.componentInstance.onDestroy(i.parent,()=>{i.propSubscriptions?.forEach(e=>e.unsubscribe()),i.effectSubscriptions?.forEach(e=>e.unsubscribe()),i.effectUnmounts?.forEach(e=>e?.())}):(i.propSubscriptions?.forEach(e=>e.unsubscribe()),i.effectSubscriptions?.forEach(e=>e.unsubscribe()),i.effectUnmounts?.forEach(e=>e?.()))}}function bt(i,e){if(!Nm[i])throw new Error(`Component ${i} is not registered`);let t=new Nm[i],r={tag:i,props:{},componentInstance:t,propSubscriptions:[],propObservables:e,parent:null,directives:{},effectUnmounts:[],effectSubscriptions:[],effectMounts:[],destroy(){Sf(this)},allElements:new Pr.Subject};if(e){let u=(c,l="")=>{let A=(h,f,d)=>{if(h==""){r.props[f]=d;return}Gm(r.props,h+"."+f,d)};Object.entries(c).forEach(([h,f])=>{if(tt(f)){let d=f;if("dependencies"in d&&d.dependencies.size==0){A(l,h,d());return}r.propSubscriptions.push(d.observable.subscribe(y=>{A(l,h,y),r.directives[h]&&r.directives[h].onUpdate?.(y,r),h!="tick"&&t.onUpdate?.(l==""?{[h]:y}:Gm({},l+"."+h,y))}))}else ub(f)&&h!="context"&&!el(f)?u(f,(l?l+".":"")+h):A(l,h,f)})};u(e)}t.onInit?.(r.props);let n=new Pr.Subject;if(e?.isRoot&&(r.allElements=n,r.props.context.rootElement=r,r.componentInstance.onMount?.(r),o(r)),e)for(let u in e){let c=T_(r,u);c&&(r.directives[u]=c)}function s(u,c,l){c.props.context=u.props.context,c.parent=u,c.componentInstance.onMount?.(c,l);for(let A in c.directives)c.directives[A].onMount?.(c);c.effectMounts.forEach(A=>{c.effectUnmounts.push(A(c))})}async function o(u){if(u.props.attach&&(tt(u.propObservables?.attach)?await new Promise(l=>{let A=null;u.propSubscriptions.push(u.propObservables.attach.observable.subscribe(async h=>{let f=h?.value??h;if(!f)throw new Error(`attach in ${u.tag} is undefined or null, add a component`);A&&Sf(A),A=f,await a(u,f),l(void 0)}))}):u.props.children.push(u.props.attach)),!!u.props.children)for(let c of u.props.children)c&&await a(u,c)}async function a(u,c){ob(c)&&(c=await c),c instanceof Pr.Observable?c.subscribe(({elements:l,prev:A})=>{let h=l.filter(f=>f!==null);if(A){h.forEach(f=>{let d=u.props.children.indexOf(A.props.key);s(u,f,d+1),o(f)});return}h.forEach(f=>{Array.isArray(f)?f.forEach(d=>{s(u,d),o(d)}):(s(u,f),o(f))}),n.next(void 0)}):(s(u,c),await o(c))}return r}function yb(i,e){return $a(i)&&i.dependencies.size==0?i=Qe(i()):tt(i)||(i=Qe(i)),(0,Pr.defer)(()=>{let t=[],r=new Map,n=!0,s=o=>Array.isArray(o());return new Pr.Observable(o=>s(i)?i.observable.subscribe(u=>{if(n){n=!1,t.forEach(l=>l.destroy()),t=[],r.clear();let c=i();c&&c.forEach((l,A)=>{let h=e(l,A);h&&(t.push(h),r.set(A,h))}),o.next({elements:[...t]});return}if(u.type==="init"||u.type==="reset"){t.forEach(l=>l.destroy()),t=[],r.clear();let c=i();c&&c.forEach((l,A)=>{let h=e(l,A);h&&(t.push(h),r.set(A,h))})}else if(u.type==="add"&&u.index!==void 0){let c=u.items.map((l,A)=>{let h=e(l,u.index+A);return h&&r.set(u.index+A,h),h}).filter(l=>l!==null);t.splice(u.index,0,...c)}else if(u.type==="remove"&&u.index!==void 0)t.splice(u.index,1).forEach(l=>{l.destroy(),r.delete(u.index)});else if(u.type==="update"&&u.index!==void 0&&u.items.length===1){let c=u.index,l=u.items[0];if(c>=t.length||t[c]===void 0||!r.has(c)){let A=e(l,c);A?(t.splice(c,0,A),r.set(c,A)):console.warn(`Element creation returned null for index ${c} during add-like update.`)}else{t[c].destroy();let h=e(l,c);h?(t[c]=h,r.set(c,h)):(t.splice(c,1),r.delete(c))}}o.next({elements:[...t]})}):i.observable.subscribe(u=>{let c=u.key;if(n){n=!1,t.forEach(A=>A.destroy()),t=[],r.clear();let l=i();l&&Object.entries(l).forEach(([A,h])=>{let f=e(h,A);f&&(t.push(f),r.set(A,f))}),o.next({elements:[...t]});return}if(u.type==="init"||u.type==="reset"){t.forEach(A=>A.destroy()),t=[],r.clear();let l=i();l&&Object.entries(l).forEach(([A,h])=>{let f=e(h,A);f&&(t.push(f),r.set(A,f))})}else if(u.type==="add"&&u.key&&u.value!==void 0){let l=e(u.value,c);l&&(t.push(l),r.set(c,l))}else if(u.type==="remove"&&u.key){let l=t.findIndex(A=>r.get(c)===A);if(l!==-1){let[A]=t.splice(l,1);A.destroy(),r.delete(c)}}else if(u.type==="update"&&u.key&&u.value!==void 0){let l=t.findIndex(A=>r.get(c)===A);if(l!==-1){t[l].destroy();let h=e(u.value,c);h&&(t[l]=h,r.set(c,h))}}o.next({elements:[...t]})}))})}var St=(i,e={})=>{if(tt(i))return i();let t={};for(let r in i){let n=i[r];t[r]=Hm(n)?Qe(n):n}for(let r in e)r in t||(t[r]=Hm(e[r])?Qe(e[r]):e[r]);return t};var qm=class extends Vt{onInit(e){}onMount(e){this.onUpdate(e.props.viewportFollow,e)}onUpdate(e,t){let{viewport:r}=t.props.context;if(!r)throw Cf("ViewportFollow directive requires a Viewport component to be mounted in the same context");if(e)if(e===!0)r.follow(t.componentInstance);else{let n=St(e,{speed:void 0,acceleration:void 0,radius:void 0});r.follow(t.componentInstance,{speed:n.speed(),acceleration:n.acceleration(),radius:n.radius()})}else e===null&&r.plugins.remove("follow")}onDestroy(e){let{viewportFollow:t}=e.props,{viewport:r}=e.props.context;t&&r.plugins.remove("follow")}};ar("viewportFollow",qm);var Eb=zt(tl(),1);var Ib=["load","loaderror","playerror","play","end","pause","stop","mute","volume","rate","seek","fade","unlock"],Wm=class extends Vt{constructor(){super(...arguments);this.sounds=[];this.eventsFn=[];this.maxVolume=1;this.maxDistance=100}onInit(t){}onMount(t){let{props:r}=t,n=r.context.tick,s=r.sound.value??r.sound;if(!s.src)return;let{src:o,autoplay:a,loop:u,volume:c,spatial:l}=s,A=Array.isArray(o)?o:[o];for(let h of A){if(!h)continue;let f=new Eb.Howl({src:h,autoplay:a,loop:u,volume:c});for(let d of Ib){if(!s[d])continue;let y=s[d];this.eventsFn.push(y),f.on(d,y)}this.sounds.push(f)}if(l&&this.sounds.length>0){let{soundListenerPosition:h}=r.context;if(!h)throw new Cf("SoundListenerPosition directive is required for spatial sound in component parent");let{x:f,y:d}=h;this.tickSubscription=gt(()=>{n();let{x:y,y:g}=t.componentInstance,E=Ab(y,g,f(),d()),_=Math.max(this.maxVolume-E/this.maxDistance,0);this.sounds.forEach(x=>x.volume(_))}).subscription}this.onUpdate(s)}onUpdate(t){let r=t.value??t,{volume:n,loop:s,mute:o,seek:a,playing:u,rate:c,spatial:l}=r;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),u!==void 0&&(u?A.play():A.pause()),c!==void 0&&A.rate(c)}),l&&(this.maxVolume=l.maxVolume??this.maxVolume,this.maxDistance=l.maxDistance??this.maxDistance)}onDestroy(){this.sounds.forEach(t=>{t.stop();for(let r of Ib){let n=this.eventsFn.find(s=>s===this.eventsFn[r]);n&&t.off(r,n)}}),this.sounds=[],this.eventsFn=[],this.tickSubscription?.unsubscribe()}},jm=class extends Vt{onMount(e){e.props.context.soundListenerPosition=e.propObservables?.soundListenerPosition}onInit(e){}onUpdate(e){}onDestroy(){}};ar("sound",Wm);ar("soundListenerPosition",jm);xe();function vp(i,e){var t={};for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&e.indexOf(r)<0&&(t[r]=i[r]);if(i!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,r=Object.getOwnPropertySymbols(i);n<r.length;n++)e.indexOf(r[n])<0&&Object.prototype.propertyIsEnumerable.call(i,r[n])&&(t[r[n]]=i[r[n]]);return t}var Cp=function(){},ya=function(){};var iu=(i,e,t)=>Math.min(Math.max(t,i),e);var jE=.001,KJ=.01,FD=10,VJ=.05,XJ=1;function OD({duration:i=800,bounce:e=.25,velocity:t=0,mass:r=1}){let n,s;Cp(i<=FD*1e3,"Spring duration must be 10 seconds or less");let o=1-e;o=iu(VJ,XJ,o),i=iu(KJ,FD,i/1e3),o<1?(n=c=>{let l=c*o,A=l*i,h=l-t,f=bp(c,o),d=Math.exp(-A);return jE-h/f*d},s=c=>{let A=c*o*i,h=A*t+t,f=Math.pow(o,2)*Math.pow(c,2)*i,d=Math.exp(-A),y=bp(Math.pow(c,2),o);return(-n(c)+jE>0?-1:1)*((h-f)*d)/y}):(n=c=>{let l=Math.exp(-c*i),A=(c-t)*i+1;return-jE+l*A},s=c=>{let l=Math.exp(-c*i),A=(t-c)*(i*i);return l*A});let a=5/i,u=JJ(n,s,a);if(i=i*1e3,isNaN(u))return{stiffness:100,damping:10,duration:i};{let c=Math.pow(u,2)*r;return{stiffness:c,damping:o*2*Math.sqrt(r*c),duration:i}}}var zJ=12;function JJ(i,e,t){let r=t;for(let n=1;n<zJ;n++)r=r-i(r)/e(r);return r}function bp(i,e){return i*Math.sqrt(1-e*e)}var ZJ=["duration","bounce"],$J=["stiffness","damping","mass"];function RD(i,e){return e.some(t=>i[t]!==void 0)}function e5(i){let e=Object.assign({velocity:0,stiffness:100,damping:10,mass:1,isResolvedFromDuration:!1},i);if(!RD(i,$J)&&RD(i,ZJ)){let t=OD(i);e=Object.assign(Object.assign(Object.assign({},e),t),{velocity:0,mass:1}),e.isResolvedFromDuration=!0}return e}function wp(i){var{from:e=0,to:t=1,restSpeed:r=2,restDelta:n}=i,s=vp(i,["from","to","restSpeed","restDelta"]);let o={done:!1,value:e},{stiffness:a,damping:u,mass:c,velocity:l,duration:A,isResolvedFromDuration:h}=e5(s),f=kD,d=kD;function y(){let g=l?-(l/1e3):0,E=t-e,_=u/(2*Math.sqrt(a*c)),x=Math.sqrt(a/c)/1e3;if(n===void 0&&(n=Math.min(Math.abs(t-e)/100,.4)),_<1){let I=bp(x,_);f=P=>{let F=Math.exp(-_*x*P);return t-F*((g+_*x*E)/I*Math.sin(I*P)+E*Math.cos(I*P))},d=P=>{let F=Math.exp(-_*x*P);return _*x*F*(Math.sin(I*P)*(g+_*x*E)/I+E*Math.cos(I*P))-F*(Math.cos(I*P)*(g+_*x*E)-I*E*Math.sin(I*P))}}else if(_===1)f=I=>t-Math.exp(-x*I)*(E+(g+x*E)*I);else{let I=x*Math.sqrt(_*_-1);f=P=>{let F=Math.exp(-_*x*P),G=Math.min(I*P,300);return t-F*((g+_*x*E)*Math.sinh(G)+I*E*Math.cosh(G))/I}}}return y(),{next:g=>{let E=f(g);if(h)o.done=g>=A;else{let _=d(g)*1e3,x=Math.abs(_)<=r,I=Math.abs(t-E)<=n;o.done=x&&I}return o.value=o.done?t:E,o},flipTarget:()=>{l=-l,[e,t]=[t,e],y()}}}wp.needsInterpolation=(i,e)=>typeof i=="string"||typeof e=="string";var kD=i=>0;var YE=(i,e,t)=>{let r=e-i;return r===0?1:(t-i)/r};var Ia=(i,e,t)=>-t*i+t*e+i;var Qp=(i,e)=>t=>Math.max(Math.min(t,e),i),Gn=i=>i%1?Number(i.toFixed(5)):i,Ea=/(-)?([\d]*\.?[\d])+/g,Sp=/(#[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,GD=/^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?\((-?[\d\.]+%?[,\s]+){2}(-?[\d\.]+%?)\s*[\,\/]?\s*[\d\.]*%?\))$/i;function Xi(i){return typeof i=="string"}var xa={test:i=>typeof i=="number",parse:parseFloat,transform:i=>i},Mp=Object.assign(Object.assign({},xa),{transform:Qp(0,1)}),hBe=Object.assign(Object.assign({},xa),{default:1});var nu=i=>({test:e=>Xi(e)&&e.endsWith(i)&&e.split(" ").length===1,parse:parseFloat,transform:e=>`${e}${i}`}),pBe=nu("deg"),_a=nu("%"),gBe=nu("px"),mBe=nu("vh"),yBe=nu("vw"),IBe=Object.assign(Object.assign({},_a),{parse:i=>_a.parse(i)/100,transform:i=>_a.transform(i*100)});var Ba=(i,e)=>t=>!!(Xi(t)&&GD.test(t)&&t.startsWith(i)||e&&Object.prototype.hasOwnProperty.call(t,e)),Tp=(i,e,t)=>r=>{if(!Xi(r))return r;let[n,s,o,a]=r.match(Ea);return{[i]:parseFloat(n),[e]:parseFloat(s),[t]:parseFloat(o),alpha:a!==void 0?parseFloat(a):1}};var _i={test:Ba("hsl","hue"),parse:Tp("hue","saturation","lightness"),transform:({hue:i,saturation:e,lightness:t,alpha:r=1})=>"hsla("+Math.round(i)+", "+_a.transform(Gn(e))+", "+_a.transform(Gn(t))+", "+Gn(Mp.transform(r))+")"};var t5=Qp(0,255),Pp=Object.assign(Object.assign({},xa),{transform:i=>Math.round(t5(i))}),Gr={test:Ba("rgb","red"),parse:Tp("red","green","blue"),transform:({red:i,green:e,blue:t,alpha:r=1})=>"rgba("+Pp.transform(i)+", "+Pp.transform(e)+", "+Pp.transform(t)+", "+Gn(Mp.transform(r))+")"};function r5(i){let e="",t="",r="",n="";return i.length>5?(e=i.substr(1,2),t=i.substr(3,2),r=i.substr(5,2),n=i.substr(7,2)):(e=i.substr(1,1),t=i.substr(2,1),r=i.substr(3,1),n=i.substr(4,1),e+=e,t+=t,r+=r,n+=n),{red:parseInt(e,16),green:parseInt(t,16),blue:parseInt(r,16),alpha:n?parseInt(n,16)/255:1}}var va={test:Ba("#"),parse:r5,transform:Gr.transform};var Un={test:i=>Gr.test(i)||va.test(i)||_i.test(i),parse:i=>Gr.test(i)?Gr.parse(i):_i.test(i)?_i.parse(i):va.parse(i),transform:i=>Xi(i)?i:i.hasOwnProperty("red")?Gr.transform(i):_i.transform(i)};var UD="${c}",LD="${n}";function i5(i){var e,t,r,n;return isNaN(i)&&Xi(i)&&((t=(e=i.match(Ea))===null||e===void 0?void 0:e.length)!==null&&t!==void 0?t:0)+((n=(r=i.match(Sp))===null||r===void 0?void 0:r.length)!==null&&n!==void 0?n:0)>0}function ND(i){typeof i=="number"&&(i=`${i}`);let e=[],t=0,r=i.match(Sp);r&&(t=r.length,i=i.replace(Sp,UD),e.push(...r.map(Un.parse)));let n=i.match(Ea);return n&&(i=i.replace(Ea,LD),e.push(...n.map(xa.parse))),{values:e,numColors:t,tokenised:i}}function HD(i){return ND(i).values}function qD(i){let{values:e,numColors:t,tokenised:r}=ND(i),n=e.length;return s=>{let o=r;for(let a=0;a<n;a++)o=o.replace(a<t?UD:LD,a<t?Un.transform(s[a]):Gn(s[a]));return o}}var n5=i=>typeof i=="number"?0:i;function s5(i){let e=HD(i);return qD(i)(e.map(n5))}var Dp={test:i5,parse:HD,createTransformer:qD,getAnimatableNone:s5};function KE(i,e,t){return t<0&&(t+=1),t>1&&(t-=1),t<1/6?i+(e-i)*6*t:t<1/2?e:t<2/3?i+(e-i)*(2/3-t)*6:i}function VE({hue:i,saturation:e,lightness:t,alpha:r}){i/=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,u=2*t-a;n=KE(u,a,i+1/3),s=KE(u,a,i),o=KE(u,a,i-1/3)}return{red:Math.round(n*255),green:Math.round(s*255),blue:Math.round(o*255),alpha:r}}var o5=(i,e,t)=>{let r=i*i,n=e*e;return Math.sqrt(Math.max(0,t*(n-r)+r))},a5=[va,Gr,_i],WD=i=>a5.find(e=>e.test(i)),jD=i=>`'${i}' is not an animatable color. Use the equivalent color code instead.`,Fp=(i,e)=>{let t=WD(i),r=WD(e);ya(!!t,jD(i)),ya(!!r,jD(e));let n=t.parse(i),s=r.parse(e);t===_i&&(n=VE(n),t=Gr),r===_i&&(s=VE(s),r=Gr);let o=Object.assign({},n);return a=>{for(let u in o)u!=="alpha"&&(o[u]=o5(n[u],s[u],a));return o.alpha=Ia(n.alpha,s.alpha,a),t.transform(o)}};var YD=i=>typeof i=="number";var l5=(i,e)=>t=>e(i(t)),Op=(...i)=>i.reduce(l5);function VD(i,e){return YD(i)?t=>Ia(i,e,t):Un.test(i)?Fp(i,e):zE(i,e)}var XE=(i,e)=>{let t=[...i],r=t.length,n=i.map((s,o)=>VD(s,e[o]));return s=>{for(let o=0;o<r;o++)t[o]=n[o](s);return t}},XD=(i,e)=>{let t=Object.assign(Object.assign({},i),e),r={};for(let n in t)i[n]!==void 0&&e[n]!==void 0&&(r[n]=VD(i[n],e[n]));return n=>{for(let s in r)t[s]=r[s](n);return t}};function KD(i){let e=Dp.parse(i),t=e.length,r=0,n=0,s=0;for(let o=0;o<t;o++)r||typeof e[o]=="number"?r++:e[o].hue!==void 0?s++:n++;return{parsed:e,numNumbers:r,numRGB:n,numHSL:s}}var zE=(i,e)=>{let t=Dp.createTransformer(e),r=KD(i),n=KD(e);return r.numHSL===n.numHSL&&r.numRGB===n.numRGB&&r.numNumbers>=n.numNumbers?Op(XE(r.parsed,n.parsed),t):(Cp(!0,`Complex values '${i}' 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:i}`)};var u5=(i,e)=>t=>Ia(i,e,t);function c5(i){if(typeof i=="number")return u5;if(typeof i=="string")return Un.test(i)?Fp:zE;if(Array.isArray(i))return XE;if(typeof i=="object")return XD}function A5(i,e,t){let r=[],n=t||c5(i[0]),s=i.length-1;for(let o=0;o<s;o++){let a=n(i[o],i[o+1]);if(e){let u=Array.isArray(e)?e[o]:e;a=Op(u,a)}r.push(a)}return r}function h5([i,e],[t]){return r=>t(YE(i,e,r))}function f5(i,e){let t=i.length,r=t-1;return n=>{let s=0,o=!1;if(n<=i[0]?o=!0:n>=i[r]&&(s=r-1,o=!0),!o){let u=1;for(;u<t&&!(i[u]>n||u===r);u++);s=u-1}let a=YE(i[s],i[s+1],n);return e[s](a)}}function Rp(i,e,{clamp:t=!0,ease:r,mixer:n}={}){let s=i.length;ya(s===e.length,"Both input and output ranges must be the same length"),ya(!r||!Array.isArray(r)||r.length===s-1,"Array of easing functions must be of length `input.length - 1`, as it applies to the transitions **between** the defined values."),i[0]>i[s-1]&&(i=[].concat(i),e=[].concat(e),i.reverse(),e.reverse());let o=A5(e,r,n),a=s===2?h5(i,o):f5(i,o);return t?u=>a(iu(i[0],i[s-1],u)):a}var su=i=>e=>1-i(1-e),kp=i=>e=>e<=.5?i(2*e)/2:(2-i(2*(1-e)))/2,zD=i=>e=>Math.pow(e,i),JE=i=>e=>e*e*((i+1)*e-i),JD=i=>{let e=JE(i);return t=>(t*=2)<1?.5*e(t):.5*(2-Math.pow(2,-10*(t-1)))};var ZD=1.525,d5=4/11,p5=8/11,g5=9/10;var $D=zD(2),_ve=su($D),eF=kp($D),m5=i=>1-Math.sin(Math.acos(i)),y5=su(m5),Bve=kp(y5),tF=JE(ZD),vve=su(tF),Cve=kp(tF),bve=JD(ZD),I5=4356/361,E5=35442/1805,x5=16061/1805,_5=i=>{if(i===1||i===0)return i;let e=i*i;return i<d5?7.5625*e:i<p5?9.075*e-9.9*i+3.4:i<g5?I5*e-E5*i+x5:10.8*i*i-20.52*i+10.72},wve=su(_5);function B5(i,e){return i.map(()=>e||eF).splice(0,i.length-1)}function v5(i){let e=i.length;return i.map((t,r)=>r!==0?r/(e-1):0)}function C5(i,e){return i.map(t=>t*e)}function ou({from:i=0,to:e=1,ease:t,offset:r,duration:n=300}){let s={done:!1,value:i},o=Array.isArray(e)?e:[i,e],a=C5(r&&r.length===o.length?r:v5(o),n);function u(){return Rp(a,o,{ease:Array.isArray(t)?t:B5(o,t)})}let c=u();return{next:l=>(s.value=c(l),s.done=l>=n,s),flipTarget:()=>{o.reverse(),c=u()}}}function rF({velocity:i=0,from:e=0,power:t=.8,timeConstant:r=350,restDelta:n=.5,modifyTarget:s}){let o={done:!1,value:e},a=t*i,u=e+a,c=s===void 0?u:s(u);return c!==u&&(a=c-e),{next:l=>{let A=-a*Math.exp(-l/r);return o.done=!(A>n||A<-n),o.value=o.done?c:c+A,o},flipTarget:()=>{}}}var iF={keyframes:ou,spring:wp,decay:rF};function nF(i){if(Array.isArray(i.to))return ou;if(iF[i.type])return iF[i.type];let e=new Set(Object.keys(i));return e.has("ease")||e.has("duration")&&!e.has("dampingRatio")?ou:e.has("dampingRatio")||e.has("stiffness")||e.has("mass")||e.has("damping")||e.has("restSpeed")||e.has("restDelta")?wp:ou}var ZE=16.666666666666668,b5=typeof performance<"u"?()=>performance.now():()=>Date.now(),$E=typeof window<"u"?i=>window.requestAnimationFrame(i):i=>setTimeout(()=>i(b5()),ZE);function sF(i){let e=[],t=[],r=0,n=!1,s=!1,o=new WeakSet,a={schedule:(u,c=!1,l=!1)=>{let A=l&&n,h=A?e:t;return c&&o.add(u),h.indexOf(u)===-1&&(h.push(u),A&&n&&(r=e.length)),u},cancel:u=>{let c=t.indexOf(u);c!==-1&&t.splice(c,1),o.delete(u)},process:u=>{if(n){s=!0;return}if(n=!0,[e,t]=[t,e],t.length=0,r=e.length,r)for(let c=0;c<r;c++){let l=e[c];l(u),o.has(l)&&(a.schedule(l),i())}n=!1,s&&(s=!1,a.process(u))}};return a}var w5=40,ex=!0,lu=!1,tx=!1,au={delta:0,timestamp:0},uu=["read","update","preRender","render","postRender"],Gp=uu.reduce((i,e)=>(i[e]=sF(()=>lu=!0),i),{}),Q5=uu.reduce((i,e)=>{let t=Gp[e];return i[e]=(r,n=!1,s=!1)=>(lu||M5(),t.schedule(r,n,s)),i},{}),oF=uu.reduce((i,e)=>(i[e]=Gp[e].cancel,i),{}),Nve=uu.reduce((i,e)=>(i[e]=()=>Gp[e].process(au),i),{}),S5=i=>Gp[i].process(au),aF=i=>{lu=!1,au.delta=ex?ZE:Math.max(Math.min(i-au.timestamp,w5),1),au.timestamp=i,tx=!0,uu.forEach(S5),tx=!1,lu&&(ex=!1,$E(aF))},M5=()=>{lu=!0,ex=!0,tx||$E(aF)};var lF=Q5;function rx(i,e,t=0){return i-e-t}function uF(i,e,t=0,r=!0){return r?rx(e+-i,e,t):e-(i-e)+t}function cF(i,e,t,r){return r?i>=e+t:i<=-t}var T5=i=>{let e=({delta:t})=>i(t);return{start:()=>lF.update(e,!0),stop:()=>oF.update(e)}};function cu(i){var e,t,{from:r,autoplay:n=!0,driver:s=T5,elapsed:o=0,repeat:a=0,repeatType:u="loop",repeatDelay:c=0,onPlay:l,onStop:A,onComplete:h,onRepeat:f,onUpdate:d}=i,y=vp(i,["from","autoplay","driver","elapsed","repeat","repeatType","repeatDelay","onPlay","onStop","onComplete","onRepeat","onUpdate"]);let{to:g}=y,E,_=0,x=y.duration,I,P=!1,F=!0,G,q=nF(y);!((t=(e=q).needsInterpolation)===null||t===void 0)&&t.call(e,r,g)&&(G=Rp([0,100],[r,g],{clamp:!1}),r=0,g=100);let T=q(Object.assign(Object.assign({},y),{from:r,to:g}));function K(){_++,u==="reverse"?(F=_%2===0,o=uF(o,x,c,F)):(o=rx(o,x,c),u==="mirror"&&T.flipTarget()),P=!1,f&&f()}function J(){E.stop(),h&&h()}function $(_e){if(F||(_e=-_e),o+=_e,!P){let Ze=T.next(Math.max(0,o));I=Ze.value,G&&(I=G(I)),P=F?Ze.done:o<=0}d?.(I),P&&(_===0&&(x??(x=o)),_<a?cF(o,x,c,F)&&K():J())}function ue(){l?.(),E=s($),E.start()}return n&&ue(),{stop:()=>{A?.(),E.stop()}}}var ix=i=>{if(typeof i=="number")return e=>Math.round(e/i)*i;{let e=0,t=i.length;return r=>{let n=Math.abs(i[0]-r);for(e=1;e<t;e++){let s=i[e],o=Math.abs(s-r);if(o===0)return s;if(o>n)return i[e-1];if(e===t-1)return s;n=o}}}};var AF=(i,e,t)=>{i.props.context={...i.props.context??{},[e]:t}};var nx=class extends Vt{constructor(){super(...arguments);this.elementRef=null}onInit(t){this.elementRef=t}onMount(t){AF(t,"drop",t)}onUpdate(){}onDestroy(){this.elementRef=null}},sx=class extends Vt{constructor(){super(...arguments);this.elementRef=null;this.stageRef=null;this.offsetInParent=new re;this.isDragging=!1;this.viewport=null;this.animationFrameId=null;this.lastPointerPosition=new re;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:r,canvasSize:n,viewport:s,tick:o}=t.props.context,a=t.componentInstance,u=this.dragProps;if(Object.keys(u).length===0){this.onDestroy();return}if(!a||(this.stageRef=r.componentInstance,!this.stageRef))return;this.viewport=s,a.eventMode="static",this.stageRef.eventMode="static";let l=gt(()=>{this.stageRef&&(this.stageRef.hitArea=new pe(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=u.keyToPress?u.keyToPress:[];window.addEventListener("keydown",this.onKeyDownHandler),window.addEventListener("keyup",this.onKeyUpHandler),this.subscriptions=[o.observable.subscribe(()=>{this.isDragging&&this.viewport&&this.updateViewportPosition(this.lastPointerPosition)}),l.subscription]}get dragProps(){let t=this.elementRef?.props.drag,r=St(t?.value??t,{snap:0,viewport:{},direction:"all",keyToPress:[]});return r.viewport=St(r.viewport,{edgeThreshold:300,maxSpeed:40}),r}get axis(){let t=this.dragProps.direction(),r={x:!0,y:!0};return t==="x"&&(r.y=!1),t==="y"&&(r.x=!1),r}onDragMove(t){if(!this.isDragging||!this.elementRef?.componentInstance||!this.elementRef.componentInstance.parent)return;let r=this.elementRef.componentInstance,n=r.parent,s=this.dragProps,o=this.elementRef.propObservables,a=ix(s?.snap()??0);s?.move?.(t);let u=n.toLocal(t.global),c=u.x-this.offsetInParent.x,l=u.y-this.offsetInParent.y;s?.snap()?(r.position.x=a(c),r.position.y=a(l)):(this.axis.x&&(r.position.x=c),this.axis.y&&(r.position.y=l)),this.lastPointerPosition.copyFrom(t.global);let{x:A,y:h}=o,f=(d,y)=>{$a(d)?d.dependencies.forEach(g=>{g.set(y)}):tt(d)&&d.set(y)};A!==void 0&&f(A,r.position.x),h!==void 0&&f(h,r.position.y)}updateViewportPosition(t){if(!this.viewport||!this.elementRef)return;let r=this.dragProps,n=r?.viewport?.edgeThreshold(),s=r?.viewport?.maxSpeed(),o=0,a=this.viewport.screenWidth,u=0,c=this.viewport.screenHeight,l=this.elementRef.componentInstance,A=t.x-o,h=a-t.x,f=t.y-u,d=c-t.y,y=0,g=0;if(A<n?y=-(s*(1-A/n)):h<n&&(y=s*(1-h/n)),f<n?g=-(s*(1-f/n)):d<n&&(g=s*(1-d/n)),y!==0||g!==0){let E=this.viewport.center;this.viewport.moveCenter(this.viewport.center.x+y,this.viewport.center.y+g),this.axis.x&&E.x!==this.viewport.center.x&&(l.position.x+=y),this.axis.y&&E.y!==this.viewport.center.y&&(l.position.y+=g)}}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(r=>this.pressedKeys.has(r)?!0:r.toLowerCase()==="space"?this.pressedKeys.has("Space")||this.pressedKeys.has(" "):r.toLowerCase()==="shift"?this.pressedKeys.has("ShiftLeft")||this.pressedKeys.has("ShiftRight"):r.toLowerCase()==="control"||r.toLowerCase()==="ctrl"?this.pressedKeys.has("ControlLeft")||this.pressedKeys.has("ControlRight"):r.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 r=this.elementRef.componentInstance,s=r.parent.toLocal(t.global);this.offsetInParent.x=s.x-r.position.x,this.offsetInParent.y=s.y-r.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(r=>r.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}};ar("drag",sx);ar("drop",nx);xe();var ox=class extends Vt{onInit(e){}onMount(e){let{image:t}=e.props.transition,r=new Tt(V.from(t));r.texture.baseTexture.wrapMode=WE.REPEAT;let n=new Zl(r),s=e.componentInstance;s.filters=[n],s.addChild(r),setTimeout(()=>{cu({from:0,to:1,duration:500,onUpdate:o=>{n.scale.x=o,n.scale.y=o}})},5e3)}onUpdate(e){}onDestroy(){}};ar("transition",ox);var k6=zt(tl(),1);xe();xe();function Ca(i){return i&&typeof i=="string"?i.endsWith("%"):!1}var hF=zt(Cn(),1);var P5=["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 yt(i){var e,t;return t=class extends i{constructor(){super(...arguments);S_(this,e,null);this.isFlex=!1;this.fullProps={};this.isMounted=!1;this._anchorPoints=new Ke({_onUpdate:()=>{}},0,0);this.isCustomAnchor=!1;this.displayWidth=Qe(0);this.displayHeight=Qe(0);this.overrideProps=[];this.layout=null;this.onBeforeDestroy=null;this.onAfterMount=null;this.subjectInit=new hF.BehaviorSubject(null);this.disableLayout=!1}get deltaRatio(){return _g(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 P5)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"||Ca(s.width)||Ca(s.height)||s.isRoot)&&(this.layout={},this.isFlex=!0),this.subjectInit.next(this)}async onMount({parent:s,props:o},a){if(M_(this,e,o.context),s){let u=s.componentInstance;if(u.isFlex&&!this.layout&&!this.disableLayout)try{this.layout={}}catch(c){console.warn("Failed to set layout:",c)}a===void 0?u.addChild(this):u.addChildAt(this,a),this.isMounted=!0,this.onUpdate(o),this.onAfterMount&&await this.onAfterMount()}}onUpdate(s){if(this.fullProps={...this.fullProps,...s},!_g(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&&is(this.scale,s.scale),s.anchor!==void 0&&!this.isCustomAnchor&&is(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&&is(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&&is(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&&el(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(u=>u instanceof Qs);if(!a){let u=typeof s.blur=="number"?{strength:s.blur}:s.blur;a=new Qs(u),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}rt("Canvas",class extends yt(Ue){});xe();var Au=class extends yt(Ue){constructor(){super(...arguments);this.isCustomAnchor=!0}onUpdate(t){t.anchor&&(is(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:r,props:n}=t,{pixiChildren:s}=n;s&&s.forEach(o=>{r.addChild(o)})}};rt("Container",Au);var wr=i=>bt("Container",i);xe();var ax=class extends yt(xi){async onInit(e){await super.onInit(e)}async onMount(e,t){await super.onMount(e,t);let{props:r,propObservables:n}=e,s=tt(n?.width)?n.width:Qe(r.width||0),o=tt(n?.height)?n.height:Qe(r.height||0);this.width=s,this.height=o;let a=Ca(s()),u=Ca(o());r.draw&&(this.clearEffect=gt(()=>{let c=s(),l=o();typeof c=="string"||typeof l=="string"||c==0||l==0||(this.clear(),r.draw?.(this,c,l),this.subjectInit.next(this))})),this.on("layout",c=>{let l=c.computedLayout;a&&tt(s)&&s.set(l.width),u&&tt(o)&&o.set(l.height)})}onUpdate(e){super.onUpdate(e),e.width!==void 0&&this.width&&(tt(e.width)?this.width=e.width:this.width.set(e.width)),e.height!==void 0&&this.height&&(tt(e.height)?this.height=e.height:this.height.set(e.height))}async onDestroy(e,t){let r=async()=>{this.clearEffect.subscription.unsubscribe(),t()};await super.onDestroy(e,r)}};rt("Graphics",ax);function Bi(i){return bt("Graphics",i)}xe();var lx=class extends yt($l){constructor(){super({geometry:new Pt})}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 dt.load(e.texture):this.texture=e.texture:e.image&&(this.texture=await dt.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 r=async()=>{t()};await super.onDestroy(e,r)}};rt("Mesh",lx);var ux=i=>bt("Mesh",i);var fF=null,cx=null;function ba(i){cx?.(i)}function Up(i){ba(e=>{let{context:t}=e.props,r;return t.tick&&(r=t.tick.observable.subscribe(({value:n})=>{i(n,e)})),()=>{r?.unsubscribe()}})}function Ve(i,e={},...t){let r=new Set,n=new Set;fF=o=>{r.add(o)},cx=o=>{n.add(o)},t[0]instanceof Array&&(t=t[0]);let s=i({...e,children:t});return s||(s={}),s.effectSubscriptions=Array.from(r),s.effectMounts=[...Array.from(n),...s.effectMounts??[]],s instanceof Promise&&s.then(o=>{o.props.isRoot&&n.forEach(a=>a(o))}),fF=null,cx=null,s}xe();var fu=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 r=e[t],n=r[0];for(let s=1;s<r.length;++s){let o=r[s];this.segments.push({p1:n,p2:o,l:0}),n=o}}else{let t=e[0];for(let r=1;r<e.length;++r){let n=e[r];this.segments.push({p1:t,p2:n,l:0}),t=n}}for(let t=0;t<this.segments.length;++t){let{p1:r,p2:n}=this.segments[t],s=Math.sqrt((n.x-r.x)*(n.x-r.x)+(n.y-r.y)*(n.y-r.y));this.segments[t].l=s,this.totalLength+=s,this.countingLengths.push(this.totalLength)}}getRandPos(e){let t=Math.random()*this.totalLength,r,n;if(this.segments.length===1)r=this.segments[0],n=t;else for(let a=0;a<this.countingLengths.length;++a)if(t<this.countingLengths[a]){r=this.segments[a],n=a===0?t:t-this.countingLengths[a-1];break}n/=r.l||1;let{p1:s,p2:o}=r;e.x=s.x+n*(o.x-s.x),e.y=s.y+n*(o.y-s.y)}};fu.type="polygonalChain";fu.editorConfig=null;var du=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}};du.type="rect";du.editorConfig=null;var Ts=class i{constructor(e,t,r){this.value=e,this.time=t,this.next=null,this.isStepped=!1,r?this.ease=typeof r=="function"?r:gF(r):this.ease=null}static createList(e){if("list"in e){let r=e.list,n,{value:s,time:o}=r[0],a=n=new i(typeof s=="string"?Lp(s):s,o,e.ease);if(r.length>2||r.length===2&&r[1].value!==s)for(let u=1;u<r.length;++u){let{value:c,time:l}=r[u];n.next=new i(typeof c=="string"?Lp(c):c,l),n=n.next}return a.isStepped=!!e.isStepped,a}let t=new i(typeof e.start=="string"?Lp(e.start):e.start,0);return e.end!==e.start&&(t.next=new i(typeof e.end=="string"?Lp(e.end):e.end,1)),t}},pu=V.from;var vi=Math.PI/180;function zi(i,e){if(!i)return;let t=Math.sin(i),r=Math.cos(i),n=e.x*r-e.y*t,s=e.x*t+e.y*r;e.x=n,e.y=s}function Np(i,e,t){return i<<16|e<<8|t}function dF(i){return Math.sqrt(i.x*i.x+i.y*i.y)}function D5(i){let e=1/dF(i);i.x*=e,i.y*=e}function pF(i,e){i.x*=e,i.y*=e}function Lp(i,e){e||(e={}),i.charAt(0)==="#"?i=i.substr(1):i.indexOf("0x")===0&&(i=i.substr(2));let t;return i.length===8&&(t=i.substr(0,2),i=i.substr(2)),e.r=parseInt(i.substr(0,2),16),e.g=parseInt(i.substr(2,2),16),e.b=parseInt(i.substr(4,2),16),t&&(e.a=parseInt(t,16)),e}function gF(i){let e=i.length,t=1/e;return function(r){let n=e*r|0,s=(r-n*t)*e,o=i[n]||i[e-1];return o.s+s*(2*(1-s)*(o.cp-o.s)+s*(o.e-o.s))}}function F5(i){return i||"normal"}var Qa=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),zi(t,e.position),e.position.x+=this.x,e.position.y+=this.y}};Qa.type="torus";Qa.editorConfig=null;var nt;(function(i){i[i.Spawn=0]="Spawn",i[i.Normal=2]="Normal",i[i.Late=5]="Late"})(nt||(nt={}));var gu=class{constructor(e){this.order=nt.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 r=Math.random()*(this.maxStart-this.minStart)+this.minStart;t.config.velocity?t.config.velocity.set(r,0):t.config.velocity=new re(r,0),zi(t.rotation,t.config.velocity),t=t.next}}updateParticle(e,t){let r=e.config.velocity,n=r.x,s=r.y;if(r.x+=this.accel.x*t,r.y+=this.accel.y*t,this.maxSpeed){let o=dF(r);o>this.maxSpeed&&pF(r,this.maxSpeed/o)}e.x+=(n+r.x)/2*t,e.y+=(s+r.y)/2*t,this.rotate&&(e.rotation=Math.atan2(r.y,r.x))}};gu.type="moveAcceleration";gu.editorConfig=null;function O5(i){return this.ease&&(i=this.ease(i)),(this.first.next.value-this.first.value)*i+this.first.value}function R5(i){this.ease&&(i=this.ease(i));let e=this.first.value,t=this.first.next.value,r=(t.r-e.r)*i+e.r,n=(t.g-e.g)*i+e.g,s=(t.b-e.b)*i+e.b;return Np(r,n,s)}function k5(i){this.ease&&(i=this.ease(i));let e=this.first,t=e.next;for(;i>t.time;)e=t,t=t.next;return i=(i-e.time)/(t.time-e.time),(t.value-e.value)*i+e.value}function G5(i){this.ease&&(i=this.ease(i));let e=this.first,t=e.next;for(;i>t.time;)e=t,t=t.next;i=(i-e.time)/(t.time-e.time);let r=e.value,n=t.value,s=(n.r-r.r)*i+r.r,o=(n.g-r.g)*i+r.g,a=(n.b-r.b)*i+r.b;return Np(s,o,a)}function U5(i){this.ease&&(i=this.ease(i));let e=this.first;for(;e.next&&i>e.next.time;)e=e.next;return e.value}function L5(i){this.ease&&(i=this.ease(i));let e=this.first;for(;e.next&&i>e.next.time;)e=e.next;let t=e.value;return Np(t.r,t.g,t.b)}var Ps=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?R5:O5:e.isStepped?this.interpolate=this.isColor?L5:U5:this.interpolate=this.isColor?G5:k5,this.ease=this.first.ease}},mu=class{constructor(e){this.order=nt.Normal,this.list=new Ps(!1),this.list.reset(Ts.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)}};mu.type="alpha";mu.editorConfig=null;var yu=class{constructor(e){this.order=nt.Normal,this.value=e.alpha}initParticles(e){let t=e;for(;t;)t.alpha=this.value,t=t.next}};yu.type="alphaStatic";yu.editorConfig=null;function mF(i){let e=[];for(let t=0;t<i.length;++t){let r=i[t];if(typeof r=="string")e.push(pu(r));else if(r instanceof V)e.push(r);else{let n=r.count||1;for(typeof r.texture=="string"?r=pu(r.texture):r=r.texture;n>0;--n)e.push(r)}}return e}var Iu=class{constructor(e){this.order=nt.Normal,this.anims=[];for(let t=0;t<e.anims.length;++t){let r=e.anims[t],n=mF(r.textures),s=r.framerate<0?-1:r.framerate>0?r.framerate:60,o={textures:n,duration:s>0?n.length/s:0,framerate:s,loop:s>0?!!r.loop:!1};this.anims.push(o)}}initParticles(e){let t=e;for(;t;){let r=Math.floor(Math.random()*this.anims.length),n=t.config.anim=this.anims[r];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 r=e.config,n=r.anim;r.animElapsed+=t,r.animElapsed>=r.animDuration&&(r.anim.loop?r.animElapsed=r.animElapsed%r.animDuration:r.animElapsed=r.animDuration-1e-6);let s=r.animElapsed*r.animFramerate+1e-7|0;e.texture=n.textures[s]||n.textures[n.textures.length-1]||V.EMPTY}};Iu.type="animatedRandom";Iu.editorConfig=null;var Eu=class{constructor(e){this.order=nt.Normal;let t=e.anim,r=mF(t.textures),n=t.framerate<0?-1:t.framerate>0?t.framerate:60;this.anim={textures:r,duration:n>0?r.length/n:0,framerate:n,loop:n>0?!!t.loop:!1}}initParticles(e){let t=e,r=this.anim;for(;t;)t.texture=r.textures[0],t.config.animElapsed=0,r.framerate===-1?(t.config.animDuration=t.maxLife,t.config.animFramerate=r.textures.length/t.maxLife):(t.config.animDuration=r.duration,t.config.animFramerate=r.framerate),t=t.next}updateParticle(e,t){let r=this.anim,n=e.config;n.animElapsed+=t,n.animElapsed>=n.animDuration&&(r.loop?n.animElapsed=n.animElapsed%n.animDuration:n.animElapsed=n.animDuration-1e-6);let s=n.animElapsed*n.animFramerate+1e-7|0;e.texture=r.textures[s]||r.textures[r.textures.length-1]||V.EMPTY}};Eu.type="animatedSingle";Eu.editorConfig=null;var xu=class{constructor(e){this.order=nt.Normal,this.value=e.blendMode}initParticles(e){let t=e;for(;t;)t.blendMode=F5(this.value),t=t.next}};xu.type="blendMode";xu.editorConfig=null;var _u=class{constructor(e){this.order=nt.Spawn,this.spacing=e.spacing*vi,this.start=e.start*vi,this.distance=e.distance}initParticles(e){let t=0,r=e;for(;r;){let n;this.spacing?n=this.start+this.spacing*t:n=Math.random()*Math.PI*2,r.rotation=n,this.distance&&(r.position.x=this.distance,zi(n,r.position)),r=r.next,++t}}};_u.type="spawnBurst";_u.editorConfig=null;var Bu=class{constructor(e){this.order=nt.Normal,this.list=new Ps(!0),this.list.reset(Ts.createList(e.color))}initParticles(e){let t=e,r=this.list.first.value,n=Np(r.r,r.g,r.b);for(;t;)t.tint=n,t=t.next}updateParticle(e){e.tint=this.list.interpolate(e.agePercent)}};Bu.type="color";Bu.editorConfig=null;var vu=class{constructor(e){this.order=nt.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}};vu.type="colorStatic";vu.editorConfig=null;var Cu=class{constructor(e){this.order=nt.Normal,this.index=0,this.textures=e.textures.map(t=>typeof t=="string"?pu(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}};Cu.type="textureOrdered";Cu.editorConfig=null;var wa=new re,yF=["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"],N5=new RegExp(["[01234567890\\.\\*\\-\\+\\/\\(\\)x ,]"].concat(yF).join("|"),"g");function H5(i){let e=i.match(N5);for(let t=e.length-1;t>=0;--t)yF.indexOf(e[t])>=0&&(e[t]=`Math.${e[t]}`);return i=e.join(""),new Function("x",`return ${i};`)}var bu=class{constructor(e){if(this.order=nt.Late,e.path)if(typeof e.path=="function")this.path=e.path;else try{this.path=H5(e.path)}catch{this.path=null}else this.path=t=>t;this.list=new Ps(!1),this.list.reset(Ts.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 re(t.x,t.y),t.config.movement=0;let r=Math.random()*(1-this.minMult)+this.minMult;t.config.speedMult=r,t=t.next}}updateParticle(e,t){let r=this.list.interpolate(e.agePercent)*e.config.speedMult;e.config.movement+=r*t,wa.x=e.config.movement,wa.y=this.path(wa.x),zi(e.config.initRotation,wa),e.position.x=e.config.initPosition.x+wa.x,e.position.y=e.config.initPosition.y+wa.y}};bu.type="movePath";bu.editorConfig=null;var wu=class{constructor(){this.order=nt.Spawn}initParticles(e){}};wu.type="spawnPoint";wu.editorConfig=null;var Qu=class{constructor(e){this.order=nt.Normal,this.textures=e.textures.map(t=>typeof t=="string"?pu(t):t)}initParticles(e){let t=e;for(;t;){let r=Math.floor(Math.random()*this.textures.length);t.texture=this.textures[r],t=t.next}}};Qu.type="textureRandom";Qu.editorConfig=null;var Su=class{constructor(e){this.order=nt.Normal,this.minStart=e.minStart*vi,this.maxStart=e.maxStart*vi,this.minSpeed=e.minSpeed*vi,this.maxSpeed=e.maxSpeed*vi,this.accel=e.accel*vi}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 r=e.config.rotSpeed;e.config.rotSpeed+=this.accel*t,e.rotation+=(e.config.rotSpeed+r)/2*t}else e.rotation+=e.config.rotSpeed*t}};Su.type="rotation";Su.editorConfig=null;var Mu=class{constructor(e){this.order=nt.Normal,this.min=e.min*vi,this.max=e.max*vi}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}};Mu.type="rotationStatic";Mu.editorConfig=null;var Tu=class{constructor(e){this.order=nt.Late+1,this.rotation=(e.rotation||0)*vi}initParticles(e){let t=e;for(;t;)t.rotation=this.rotation,t=t.next}};Tu.type="noRotation";Tu.editorConfig=null;var Pu=class{constructor(e){this.order=nt.Normal,this.list=new Ps(!1),this.list.reset(Ts.createList(e.scale)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){let r=Math.random()*(1-this.minMult)+this.minMult;t.config.scaleMult=r,t.scale.x=t.scale.y=this.list.first.value*r,t=t.next}}updateParticle(e){e.scale.x=e.scale.y=this.list.interpolate(e.agePercent)*e.config.scaleMult}};Pu.type="scale";Pu.editorConfig=null;var Du=class{constructor(e){this.order=nt.Normal,this.min=e.min,this.max=e.max}initParticles(e){let t=e;for(;t;){let r=Math.random()*(this.max-this.min)+this.min;t.scale.x=t.scale.y=r,t=t.next}}};Du.type="scaleStatic";Du.editorConfig=null;var Ci=class i{static registerShape(e,t){i.shapes[t||e.type]=e}constructor(e){this.order=nt.Spawn;let t=i.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}};Ci.type="spawnShape";Ci.editorConfig=null;Ci.shapes={};Ci.registerShape(fu);Ci.registerShape(du);Ci.registerShape(Qa);Ci.registerShape(Qa,"circle");var Fu=class{constructor(e){this.order=nt.Normal,this.texture=typeof e.texture=="string"?pu(e.texture):e.texture}initParticles(e){let t=e;for(;t;)t.texture=this.texture,t=t.next}};Fu.type="textureSingle";Fu.editorConfig=null;var Ou=class{constructor(e){this.order=nt.Late,this.list=new Ps(!1),this.list.reset(Ts.createList(e.speed)),this.minMult=e.minMult??1}initParticles(e){let t=e;for(;t;){let r=Math.random()*(1-this.minMult)+this.minMult;t.config.speedMult=r,t.config.velocity?t.config.velocity.set(this.list.first.value*r,0):t.config.velocity=new re(this.list.first.value*r,0),zi(t.rotation,t.config.velocity),t=t.next}}updateParticle(e,t){let r=this.list.interpolate(e.agePercent)*e.config.speedMult,n=e.config.velocity;D5(n),pF(n,r),e.x+=n.x*t,e.y+=n.y*t}};Ou.type="moveSpeed";Ou.editorConfig=null;var Ru=class{constructor(e){this.order=nt.Late,this.min=e.min,this.max=e.max}initParticles(e){let t=e;for(;t;){let r=Math.random()*(this.max-this.min)+this.min;t.config.velocity?t.config.velocity.set(r,0):t.config.velocity=new re(r,0),zi(t.rotation,t.config.velocity),t=t.next}}updateParticle(e,t){let r=e.config.velocity;e.x+=r.x*t,e.y+=r.y*t}};Ru.type="moveSpeedStatic";Ru.editorConfig=null;var hu=class extends Tt{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()}},Ax=_t.shared,Ms=Symbol("Position particle per emitter position"),et=class i{static registerBehavior(e){i.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 re,this.particlesPerWave=1,this.rotation=0,this.ownerPos=new re,this._prevEmitterPos=new re,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:gF(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(r=>{let n=i.knownBehaviors[r.type];return n?new n(r.config):(console.error(`Unknown behavior: ${r.type}`),null)}).filter(r=>!!r);t.push(Ms),t.sort((r,n)=>r===Ms?n.order===nt.Spawn?1:-1:n===Ms?r.order===nt.Spawn?-1:1:r.order-n.order),this.initBehaviors=t.slice(),this.updateBehaviors=t.filter(r=>r!==Ms&&r.updateParticle),this.recycleBehaviors=t.filter(r=>r!==Ms&&r.recycleParticle)}getBehavior(e){return i.knownBehaviors[e]&&this.initBehaviors.find(t=>t instanceof i.knownBehaviors[e])||null}fillPool(e){for(;e>0;--e){let t=new hu(this);t.next=this._poolFirst,this._poolFirst=t}}recycle(e,t=!1){for(let r=0;r<this.recycleBehaviors.length;++r)this.recycleBehaviors[r].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,zi(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?Ax.remove(this.update,this):!this._autoUpdate&&e&&Ax.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=Ax.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 u=o.age*o.oneOverLife;this.customEase&&(this.customEase.length===4?u=this.customEase(u,0,1,1):u=this.customEase(u)),o.agePercent=u;for(let c=0;c<this.updateBehaviors.length;++c)if(this.updateBehaviors[c].updateParticle(o,e)){this.recycle(o);break}}let t,r;this._prevPosIsValid&&(t=this._prevEmitterPos.x,r=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 l=1+this._spawnTimer/e;o=(n-t)*l+t,a=(s-r)*l+r}else o=n,a=s;let u=null,c=null;for(let l=Math.min(this.particlesPerWave,this.maxParticles-this.particleCount),A=0;A<l;++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 f;this._poolFirst?(f=this._poolFirst,this._poolFirst=this._poolFirst.next,f.next=null):f=new hu(this),f.init(h),this.addAtBack?this._parent.addChildAt(f,0):this._parent.addChild(f),u?(c.next=f,f.prev=c,c=f):c=u=f,++this.particleCount}if(u){this._activeParticlesLast?(this._activeParticlesLast.next=u,u.prev=this._activeParticlesLast,this._activeParticlesLast=c):(this._activeParticlesFirst=u,this._activeParticlesLast=c);for(let l=0;l<this.initBehaviors.length;++l){let A=this.initBehaviors[l];if(A===Ms)for(let h=u,f;h;h=f){f=h.next,this.rotation!==0&&(zi(this.rotation,h.position),h.rotation+=this.rotation),h.position.x+=o,h.position.y+=a,h.age+=-this._spawnTimer;let d=h.age*h.oneOverLife;this.customEase&&(this.customEase.length===4?d=this.customEase(d,0,1,1):d=this.customEase(d)),h.agePercent=d}else A.initParticles(u)}for(let l=u,A;l;l=A){A=l.next;for(let h=0;h<this.updateBehaviors.length;++h)if(this.updateBehaviors[h].updateParticle(l,-this._spawnTimer)){this.recycle(l);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,r=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 hu(this);let u;this.minLifetime===this.maxLifetime?u=this.minLifetime:u=Math.random()*(this.maxLifetime-this.minLifetime)+this.minLifetime,a.init(u),this.addAtBack?this._parent.addChildAt(a,0):this._parent.addChild(a),r?(n.next=a,a.prev=n,n=a):n=r=a,++this.particleCount}if(r){this._activeParticlesLast?(this._activeParticlesLast.next=r,r.prev=this._activeParticlesLast,this._activeParticlesLast=n):(this._activeParticlesFirst=r,this._activeParticlesLast=n);for(let s=0;s<this.initBehaviors.length;++s){let o=this.initBehaviors[s];if(o===Ms)for(let a=r,u;a;a=u)u=a.next,this.rotation!==0&&(zi(this.rotation,a.position),a.rotation+=this.rotation),a.position.x+=e,a.position.y+=t;else o.initParticles(r)}}}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}};et.knownBehaviors={};et.registerBehavior(gu);et.registerBehavior(mu);et.registerBehavior(yu);et.registerBehavior(Iu);et.registerBehavior(Eu);et.registerBehavior(xu);et.registerBehavior(_u);et.registerBehavior(Bu);et.registerBehavior(vu);et.registerBehavior(Cu);et.registerBehavior(bu);et.registerBehavior(wu);et.registerBehavior(Qu);et.registerBehavior(Su);et.registerBehavior(Mu);et.registerBehavior(Tu);et.registerBehavior(Pu);et.registerBehavior(Du);et.registerBehavior(Ci);et.registerBehavior(Fu);et.registerBehavior(Ou);et.registerBehavior(Ru);var hx=class extends Au{constructor(){super(...arguments);this.elapsed=Date.now()}async onMount(t){await super.onMount(t);let{props:r}=t,n=r.context.tick;this.emitter=new et(this,r.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,r){let n=async()=>{this.emitter?.destroy(),this.emitter=null,this.subscriptionTick.unsubscribe(),r()};await super.onDestroy(t,n)}};rt("ParticlesEmitter",hx);var xF=zt(tl(),1);xe();function fx(i){return i.animatedState!==void 0}function IF(i,e={}){let t={current:i,start:i,end:i},r,n=Qe(i),s=Qe(t);gt(()=>{let u=s();n.set(u.current)});function o(u,c={}){if(u===void 0)return s();let l=s(),A={current:l.current,start:l.current,end:u};s.set(A),r&&r.stop(),r=cu({duration:20,...e,...c,from:l.current,to:u,onUpdate:h=>{s.update(f=>({...f,current:h})),e.onUpdate&&e.onUpdate(h)}})}let a=function(){return s().current};for(let u in n)a[u]=n[u];return a.animatedState=s,a.update=u=>{o(u(s().current))},a.set=async(u,c={})=>new Promise(l=>{o(u,{...c,onComplete:l})}),a}var EF=console.log;var dx=class extends yt(Tt){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:r,height:n,framesHeight:s,framesWidth:o,image:a,offset:u}=t;if(!a||typeof a!="string"||a.trim()==="")return console.warn("Invalid image path provided to createTextures:",a),[];let c=await dt.load(a),l=t.spriteWidth,A=t.spriteHeight,h=[],f=u&&u.x||0,d=u&&u.y||0;for(let y=0;y<s;y++){h[y]=[];for(let g=0;g<o;g++){let E=g*l+f,_=y*A+d;if(_>n)throw EF(`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(E>r)throw EF(`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[y].push(new V({source:c.source,frame:new pe(E,_,l,A)}))}}return h}async createAnimations(){let{textures:t}=this.spritesheet;if(t)for(let r in t){let o={...["width","height","framesHeight","framesWidth","rectWidth","rectHeight","offset","image","sound"].reduce((f,d)=>({...f,[d]:this.spritesheet[d]}),{}),...t[r]},{rectWidth:a,width:u=0,framesWidth:c=1,rectHeight:l,height:A=0,framesHeight:h=1}=o;o.spriteWidth=a||u/c,o.spriteHeight=l||A/h,this.animations.set(r,{frames:await this.createTextures(o),name:r,animations:t[r].animations,params:[],data:o,sprites:[]})}}async onMount(t){let{props:r,propObservables:n}=t,s=r.context.tick,o=r.sheet??{};if(this.app=r.context.app(),o?.onFinish&&(this.onFinish=o.onFinish),this.subscriptionTick=s.observable.subscribe(u=>{this.update(u)}),r.sheet?.definition&&(this.spritesheet=r.sheet.definition,await this.createAnimations()),o.params)for(let u in n?.sheet.params){let c=n?.sheet.params[u];tt(c)?this.subscriptionSheet.push(c.observable.subscribe(l=>{this.animations.size!=0&&this.play(this.sheetCurrentAnimation,[{[u]:l}])})):this.play(this.sheetCurrentAnimation,[{[u]:c}])}let a=Qf(()=>{let{x:u,y:c}=n??{};if(!u||!c)return!1;let l=u,A=c,h=fx(l)&&l.animatedState().current!==l.animatedState().end,f=fx(A)&&A.animatedState().current!==A.animatedState().end;return h||f});gt(()=>{let u=a();this.isMounted&&(u?this.sheetCurrentAnimation="walk":this.sheetCurrentAnimation="stand",this.spritesheet&&this.play(this.sheetCurrentAnimation,[this.sheetParams]))}),super.onMount(t)}async onUpdate(t){super.onUpdate(t);let r=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 dt.load(s,u=>{if(o&&o(u),u==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 r(this.fullProps.image);s&&(this.texture=s)}else t.texture&&(el(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:u}=t.rectangle?.value??t.rectangle,c=await r(this.fullProps.image);c&&(this.texture=new V({source:c.source,frame:new pe(s,o,a,u)}))}}async onDestroy(t,r){await super.onDestroy(t),this.subscriptionSheet.forEach(n=>n.unsubscribe()),this.subscriptionTick.unsubscribe(),this.currentAnimationContainer&&this.parent instanceof Ue&&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,r=[]){let n=this.currentAnimation?.params;if(this.isPlaying(t)&&vf(r,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(r);this.removeChildren(),s.sprites=[],this.currentAnimation=s,this.currentAnimation.params=o,this.time=0,this.frameIndex=0;let a=s.animations;a=lb(a)?a(...o):a,this.currentAnimationContainer=new Ue;for(let c of a){let l=new Tt;for(let A of c)this.currentAnimation.sprites.push(A);this.currentAnimationContainer.addChild(l)}let u=this.currentAnimation.data.sound;u&&new xF.Howl({src:u,autoplay:!0,loop:!1,volume:1}),this.update({deltaRatio:1})}update({deltaRatio:t}){if(!this.isPlaying()||!this.currentAnimation||!this.currentAnimationContainer)return;let r=this,{frames:n,sprites:s,data:o}=this.currentAnimation,a=s[this.frameIndex],u=s[this.frameIndex+1];for(let c of this.currentAnimationContainer.children){let f=function(_,x){let P=A(x||_);P!==void 0&&(r[_]=P)},l=c;if(!a||a.frameY==null||a.frameX==null)continue;this.texture=n[a.frameY][a.frameX];let A=_=>a[_]??o[_]??this.spritesheet[_],h=_=>{let x=A(_);x&&this[_].set(...x)};this.applyTransform&&(a={...a,...this.applyTransform(a,o,this.spritesheet)});let d=A("spriteRealSize"),y=typeof d=="number"?d:d?.height,g=typeof d=="number"?d:d?.width,E=()=>{if(y&&this.hitbox){let{spriteWidth:_,spriteHeight:x}=o,I=(_-this.hitbox.w)/2/_,P=(x-y)/2,F=(x-this.hitbox.h-P)/x;this.anchor.set(I,F)}};a.sound,E(),h("anchor"),h("scale"),h("skew"),h("pivot"),f("alpha","opacity"),f("x"),f("y"),f("angle"),f("rotation"),f("visible")}if(!u){this.time=0,this.frameIndex=0,this.onFinish&&s.length>1&&this.onFinish();return}this.time+=t??1,this.time>=u.time&&this.frameIndex++}};rt("Sprite",dx);var ku=i=>bt("Sprite",i);xe();function px(i){return i?.start&&i?.listen}function Hp(i,e){if(!px(i))throw new Error("In 'on(arg)' must have a trigger signal type");gt(()=>{let t=i.listen();if(t?.seed.value){let r=e(t?.seed.config);r&&typeof r.then=="function"&&r.then(t?.seed.resolve)}})}var gx=class extends yt(tu){constructor(){super(...arguments);this.fullText="";this.currentIndex=0;this.typewriterSpeed=1;this._wordWrapWidth=0;this.typewriterOptions={}}async onMount(t,r){let{props:n}=t;await super.onMount(t,r);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&&px(this.typewriterOptions.skip)&&Hp(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 r in t.style)this.style[r]=t.style[r];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,r){let n=async()=>{this.subscriptionTick&&this.subscriptionTick.unsubscribe(),r&&r()};await super.onDestroy(t,n)}};rt("Text",gx);xe();var mx=class extends yt(eu){onUpdate(e){super.onUpdate(e),e.image&&(this.texture=V.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)}};rt("TilingSprite",mx);function yx(i){return bt("TilingSprite",i)}xe();var j5=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Y5(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var BF={exports:{}};(function(i,e){(function(){var t,r;r=function(n){return i.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 u,c,l;return l=1.70158,c=0,u=o,n===0||(n/=a),c||(c=a*.3),u<Math.abs(o)?(u=o,l=c/4):l=c/(2*Math.PI)*Math.asin(o/u),-(u*Math.pow(2,10*(n-=1))*Math.sin((n*a-l)*(2*Math.PI)/c))+s},easeOutElastic:function(n,s,o,a){var u,c,l;return l=1.70158,c=0,u=o,n===0||(n/=a),c||(c=a*.3),u<Math.abs(o)?(u=o,l=c/4):l=c/(2*Math.PI)*Math.asin(o/u),u*Math.pow(2,-10*n)*Math.sin((n*a-l)*(2*Math.PI)/c)+o+s},easeInOutElastic:function(n,s,o,a){var u,c,l;return l=1.70158,c=0,u=o,n===0||(n/=a/2),c||(c=a*(.3*1.5)),u<Math.abs(o)?(u=o,l=c/4):l=c/(2*Math.PI)*Math.asin(o/u),n<1?-.5*(u*Math.pow(2,10*(n-=1))*Math.sin((n*a-l)*(2*Math.PI)/c))+s:u*Math.pow(2,-10*(n-=1))*Math.sin((n*a-l)*(2*Math.PI)/c)*.5+o+s},easeInBack:function(n,s,o,a,u){return u===void 0&&(u=1.70158),o*(n/=a)*n*((u+1)*n-u)+s},easeOutBack:function(n,s,o,a,u){return u===void 0&&(u=1.70158),o*((n=n/a-1)*n*((u+1)*n+u)+1)+s},easeInOutBack:function(n,s,o,a,u){return u===void 0&&(u=1.70158),(n/=a/2)<1?o/2*(n*n*(((u*=1.525)+1)*n-u))+s:o/2*((n-=2)*n*(((u*=1.525)+1)*n+u)+2)+s},easeInBounce:function(n,s,o,a){var u;return u=t.easeOutBounce(a-n,0,o,a),o-u+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 u;return n<a/2?(u=t.easeInBounce(n*2,0,o,a),u*.5+s):(u=t.easeOutBounce(n*2-a,0,o,a),u*.5+o*.5+s)}},r(t)}).call(j5)})(BF);var K5=BF.exports,_F=Y5(K5);function Wp(i,e){if(i){if(typeof i=="function")return i;if(typeof i=="string")return _F[i]}else return _F[e]}var Ix=class{constructor(e){this.viewport=e,this.touches=[],this.addListeners()}addListeners(){this.viewport.eventMode="static",this.viewport.forceHitArea||(this.viewport.hitArea=new pe(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),r=this.viewport.plugins.get("bounce",!0);(!t||!t.isActive())&&(!r||!r.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 r=e.global.x-this.last.x,n=e.global.y-this.last.y;(this.checkThreshold(r)||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 re;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}},Gu=["drag","pinch","wheel","follow","mouse-edges","decelerate","animate","bounce","snap-zoom","clamp-zoom","snap","clamp"],Ex=class{constructor(e){this.viewport=e,this.list=[],this.plugins={}}add(e,t,r=Gu.length){let n=this.plugins[e];n&&n.destroy(),this.plugins[e]=t;let s=Gu.indexOf(e);s!==-1&&Gu.splice(s,1),Gu.splice(r,0,e),this.sort()}get(e,t){var r;return t&&(r=this.plugins[e])!=null&&r.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 Gu)this.plugins[e]&&this.list.push(this.plugins[e])}down(e){let t=!1;for(let r of this.list)r.down(e)&&(t=!0);return t}move(e){let t=!1;for(let r of this.viewport.plugins.list)r.move(e)&&(t=!0);return t}up(e){let t=!1;for(let r of this.list)r.up(e)&&(t=!0);return t}wheel(e){let t=!1;for(let r of this.list)r.wheel(e)&&(t=!0);return t}},mr=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}},V5={removeOnInterrupt:!1,ease:"linear",time:1e3},xx=class extends mr{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({},V5,t),this.options.ease=Wp(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 re(this.parent.scale.x,this.parent.scale.y);if(this.time>=this.options.time){let r=this.parent.width,n=this.parent.height;this.complete(),(r!==this.parent.width||n!==this.parent.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:t,type:"animate"})}else{let r=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*r,this.keepCenter,this.height===null)}if(this.height!==null){let n=this.startHeight,s=this.deltaHeight;this.parent.fitHeight(n+s*r,this.keepCenter,this.width===null)}if(this.width===null?this.parent.scale.x=this.parent.scale.y:this.height===null&&(this.parent.scale.y=this.parent.scale.x),!this.keepCenter){let n=this.startX,s=this.startY,o=this.deltaX,a=this.deltaY,u=new re(this.parent.x,this.parent.y);this.parent.moveCenter(n+o*r,s+a*r),this.parent.emit("moved",{viewport:this.parent,original:u,type:"animate"})}(this.width||this.height)&&this.parent.emit("zoomed",{viewport:this.parent,original:t,type:"animate"})}}},X5={sides:"all",friction:.5,time:150,ease:"easeInOutSine",underflow:"center",bounceBox:null},_x=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},X5,t),this.ease=Wp(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 r=this.options.underflow.toLowerCase();r==="center"?(this.underflowX=0,this.underflowY=0):(this.underflowX=r.indexOf("left")!==-1?-1:r.indexOf("right")!==-1?1:0,this.underflowY=r.indexOf("top")!==-1?-1:r.indexOf("bottom")!==-1?1:0),this.reset()}isActive(){return this.toX!==null||this.toY!==null}down(){return this.toX=this.toY=null,!1}up(){return this.bounce(),!1}update(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,r=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<r,bottom:this.parent.bottom>s,topLeft:new re(t*this.parent.scale.x,r*this.parent.scale.y),bottomRight:new re(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 re(0,0),bottomRight:new re(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 r,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))&&(r=this.oob(),(r.left&&this.left||r.right&&this.right)&&(n.percentChangeX=this.options.friction),(r.top&&this.top||r.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)){r=r||this.oob();let a=r.topLeft,u=r.bottomRight;if(!this.toX&&!n.x){let c=null;r.left&&this.left?c=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-a.x:r.right&&this.right&&(c=this.parent.screenWorldWidth<this.parent.screenWidth?this.calcUnderflowX():-u.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;r.top&&this.top?c=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-a.y:r.bottom&&this.bottom&&(c=this.parent.screenWorldHeight<this.parent.screenHeight?this.calcUnderflowY():-u.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()}},z5={left:!1,right:!1,top:!1,bottom:!1,direction:null,underflow:"center"},Bx=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},z5,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 re(this.parent.x,this.parent.y),t=this.parent.plugins.decelerate||{};if(this.options.left!==null||this.options.right!==null){let r=!1;if(!this.noUnderflow&&this.parent.screenWorldWidth<this.parent.screenWidth)switch(this.underflowX){case-1:this.parent.x!==0&&(this.parent.x=0,r=!0);break;case 1:this.parent.x!==this.parent.screenWidth-this.parent.screenWorldWidth&&(this.parent.x=this.parent.screenWidth-this.parent.screenWorldWidth,r=!0);break;default:this.parent.x!==(this.parent.screenWidth-this.parent.screenWorldWidth)/2&&(this.parent.x=(this.parent.screenWidth-this.parent.screenWorldWidth)/2,r=!0)}else this.options.left!==null&&this.parent.left<(this.options.left===!0?0:this.options.left)&&(this.parent.x=-(this.options.left===!0?0:this.options.left)*this.parent.scale.x,t.x=0,r=!0),this.options.right!==null&&this.parent.right>(this.options.right===!0?this.parent.worldWidth:this.options.right)&&(this.parent.x=-(this.options.right===!0?this.parent.worldWidth:this.options.right)*this.parent.scale.x+this.parent.screenWidth,t.x=0,r=!0);r&&this.parent.emit("moved",{viewport:this.parent,original:e,type:"clamp-x"})}if(this.options.top!==null||this.options.bottom!==null){let r=!1;if(!this.noUnderflow&&this.parent.screenWorldHeight<this.parent.screenHeight)switch(this.underflowY){case-1:this.parent.y!==0&&(this.parent.y=0,r=!0);break;case 1:this.parent.y!==this.parent.screenHeight-this.parent.screenWorldHeight&&(this.parent.y=this.parent.screenHeight-this.parent.screenWorldHeight,r=!0);break;default:this.parent.y!==(this.parent.screenHeight-this.parent.screenWorldHeight)/2&&(this.parent.y=(this.parent.screenHeight-this.parent.screenWorldHeight)/2,r=!0)}else this.options.top!==null&&this.parent.top<(this.options.top===!0?0:this.options.top)&&(this.parent.y=-(this.options.top===!0?0:this.options.top)*this.parent.scale.y,t.y=0,r=!0),this.options.bottom!==null&&this.parent.bottom>(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)&&(this.parent.y=-(this.options.bottom===!0?this.parent.worldHeight:this.options.bottom)*this.parent.scale.y+this.parent.screenHeight,t.y=0,r=!0);r&&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()}},J5={minWidth:null,minHeight:null,maxWidth:null,maxHeight:null,minScale:null,maxScale:null},vx=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},J5,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 r=this.parent.scale.x;this.parent.fitWidth(this.options.minWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/r,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 r=this.parent.scale.x;this.parent.fitWidth(this.options.maxWidth,!1,!1,!0),this.parent.scale.y*=this.parent.scale.x/r,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 r=this.parent.scale.y;this.parent.fitHeight(this.options.minHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/r,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 r=this.parent.scale.y;this.parent.fitHeight(this.options.maxHeight,!1,!1,!0),this.parent.scale.x*=this.parent.scale.y/r,this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"})}}else if(this.options.minScale||this.options.maxScale){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 r=this.parent.scale.x,n=this.parent.scale.y;e.x!==null&&r<e.x&&(r=e.x),t.x!==null&&r>t.x&&(r=t.x),e.y!==null&&n<e.y&&(n=e.y),t.y!==null&&n>t.y&&(n=t.y),(r!==this.parent.scale.x||n!==this.parent.scale.y)&&(this.parent.scale.set(r,n),this.parent.emit("zoomed",{viewport:this.parent,type:"clamp-zoom"}))}}}reset(){this.clamp()}},Z5={friction:.98,bounce:.8,minSpeed:.01},Ln=16,Cx=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},Z5,t),this.saved=[],this.timeSinceRelease=0,this.reset(),this.parent.on("moved",r=>this.handleMoved(r))}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 r=e-t.time;this.x=(this.parent.x-t.x)/r,this.y=(this.parent.y-t.y)/r,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,r=this.timeSinceRelease,n=this.timeSinceRelease+e;if(this.x){let s=this.percentChangeX,o=Math.log(s);this.parent.x+=this.x*Ln/o*(Math.pow(s,n/Ln)-Math.pow(s,r/Ln)),this.x*=Math.pow(this.percentChangeX,e/Ln)}if(this.y){let s=this.percentChangeY,o=Math.log(s);this.parent.y+=this.y*Ln/o*(Math.pow(s,n/Ln)-Math.pow(s,r/Ln)),this.y*=Math.pow(this.percentChangeY,e/Ln)}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}},$5={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},bx=class extends mr{constructor(e,t={}){super(e),this.windowEventHandlers=[],this.options=Object.assign({},$5,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)},r=n=>{e.includes(n.code)&&(this.keyIsPressed=!1)};this.addWindowEventHandler("keyup",r),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",r=this.parent.input.count();return!!((r===1||r>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,r=e.global.y,n=this.parent.input.count();if(n===1||n>1&&!this.parent.plugins.get("pinch",!0)){let s={x:t,y:r};(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 re(this.last.x,this.last.y),world:this.parent.toWorld(new re(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 r=t[0];return r.last&&(this.last={x:r.last.x,y:r.last.y},this.current=r.id),this.moved=!1,!0}else if(this.last&&this.moved){let r=new re(this.last.x,this.last.y);return(this.parent.parent||this.parent).toGlobal(r,r,!0),this.parent.emit("drag-end",{event:e,screen:r,world:this.parent.toWorld(r),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 r=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*r*this.options.wheelScroll*this.reverse),this.yDirection&&(this.parent.y+=o*r*this.options.wheelScroll*this.reverse),this.options.clampWheel&&this.clamp(),this.parent.emit("wheel-scroll",this.parent),this.parent.emit("moved",{viewport:this.parent,type:"wheel"}),this.parent.options.passiveWheel||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)}},e6={speed:0,acceleration:null,radius:null},wx=class extends mr{constructor(e,t,r={}){super(e),this.target=t,this.options=Object.assign({},e6,r),this.velocity={x:0,y:0}}update(e){if(this.paused)return;let t=this.parent.center,r=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);r=this.target.x-Math.cos(a)*this.options.radius,n=this.target.y-Math.sin(a)*this.options.radius}else return;let s=r-t.x,o=n-t.y;if(s||o)if(this.options.speed)if(this.options.acceleration){let a=Math.atan2(n-t.y,r-t.x),u=Math.sqrt(Math.pow(s,2)+Math.pow(o,2));if(u){let c=(Math.pow(this.velocity.x,2)+Math.pow(this.velocity.y,2))/(2*this.options.acceleration);u>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 l=Math.cos(a)*this.velocity.x,A=Math.sin(a)*this.velocity.y,h=Math.abs(l)>Math.abs(s)?r:t.x+l,f=Math.abs(A)>Math.abs(o)?n:t.y+A;this.parent.moveCenter(h,f),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}}else{let a=Math.atan2(n-t.y,r-t.x),u=Math.cos(a)*this.options.speed,c=Math.sin(a)*this.options.speed,l=Math.abs(u)>Math.abs(s)?r:t.x+u,A=Math.abs(c)>Math.abs(o)?n:t.y+c;this.parent.moveCenter(l,A),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}else this.parent.moveCenter(r,n),this.parent.emit("moved",{viewport:this.parent,type:"follow"})}},t6={radius:null,distance:null,top:null,bottom:null,left:null,right:null,speed:8,reverse:!1,noDecelerate:!1,linear:!1,allowButtons:!1},Qx=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},t6,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,r=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-r,2)>=this.radiusSquared){let s=Math.atan2(n.y-r,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&&r<this.top?this.vertical=Number(this.reverse)*this.options.speed*(60/1e3):this.bottom!==null&&r>this.bottom?this.vertical=-1*this.reverse*this.options.speed*(60/1e3):(this.decelerateVertical(),this.vertical=0);return!1}decelerateHorizontal(){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"})}}},r6={noDrag:!1,percent:1,center:null,factor:1,axis:"all"},i6=new re,Sx=class extends mr{constructor(e,t={}){super(e),this.active=!1,this.pinching=!1,this.moved=!1,this.options=Object.assign({},r6,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:r}=(this.parent.parent||this.parent).toLocal(e.global,void 0,i6),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:r,data:e}:o.id===e.pointerId&&(o.last={x:t,y:r,data:e}),a){let u,c=new re(s.last.x+(o.last.x-s.last.x)/2,s.last.y+(o.last.y-s.last.y)/2);this.options.center||(u=this.parent.toLocal(c,this.parent.parent||this.parent));let l=Math.sqrt(Math.pow(o.last.x-s.last.x,2)+Math.pow(o.last.y-s.last.y,2));l=l===0?l=1e-10:l;let A=(1-a/l)*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 f=(this.parent.parent||this.parent).toLocal(u,this.parent);this.parent.x+=(c.x-f.x)*this.options.factor,this.parent.y+=(c.y-f.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}},n6={topLeft:!1,friction:.8,time:1e3,ease:"easeInOutSine",interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1},Mx=class extends mr{constructor(e,t,r,n={}){super(e),this.options=Object.assign({},n6,n),this.ease=Wp(n.ease,"easeInOutSine"),this.x=t,this.y=r,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 r,n,s,o=this.startX,a=this.startY,u=this.deltaX,c=this.deltaY;if(t.time>this.options.time)r=!0,n=o+u,s=a+c;else{let l=this.ease(t.time,0,1,this.options.time);n=o+u*l,s=a+c*l}this.options.topLeft?this.parent.moveCorner(n,s):this.parent.moveCenter(n,s),this.parent.emit("moved",{viewport:this.parent,type:"snap"}),r&&(this.options.removeOnComplete&&this.parent.plugins.remove("snap"),this.parent.emit("snap-end",this.parent),this.snapping=null)}else{let t=this.options.topLeft?this.parent.corner:this.parent.center;(t.x!==this.x||t.y!==this.y)&&this.snapStart()}}},s6={width:0,height:0,time:1e3,ease:"easeInOutSine",center:null,interrupt:!0,removeOnComplete:!1,removeOnInterrupt:!1,forceStart:!1,noMove:!1},Tx=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},s6,t),this.ease=Wp(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,r=this.parent.screenWidth/this.xScale,n=this.parent.screenHeight/this.yScale;this.snapping={time:0,startX:e,startY:t,deltaX:r-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 r=this.snapping;if(r.time+=e,r.time>=this.options.time)this.parent.scale.set(this.xScale,this.yScale),this.options.removeOnComplete&&this.parent.plugins.remove("snap-zoom"),this.parent.emit("snap-zoom-end",this.parent),this.snapping=null;else{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()}},o6={percent:.1,smooth:!1,interrupt:!0,reverse:!1,center:null,lineHeight:20,axis:"all",keyToPress:null,trackpadPinch:!1,wheelZoom:!0},Px=class extends mr{constructor(e,t={}){super(e),this.options=Object.assign({},o6,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,r;this.options.center||(r=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(r,this.parent,r);let o=s.toLocal(e);this.parent.x+=o.x-r.x,this.parent.y+=o.y-r.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),r=-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/200,n=Math.pow(2,(1+this.options.percent)*r),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 u=a.toLocal(t);this.parent.x+=u.x-s.x,this.parent.y+=u.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),r=(this.options.reverse?-1:1)*-e.deltaY*(e.deltaMode?this.options.lineHeight:1)/500,n=Math.pow(2,(1+this.options.percent)*r);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 u=a.toLocal(t);this.parent.x+=u.x-s.x,this.parent.y+=u.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}},a6={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:_t.shared,allowPreserveDragOutside:!1},qp=class extends Ue{constructor(e){super(),this._disableOnContextMenu=t=>t.preventDefault(),this.options={...a6,...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 Ix(this),this.plugins=new Ex(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 pe(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,r,n){this.screenWidth=e,this.screenHeight=t,typeof r<"u"&&(this._worldWidth=r),typeof n<"u"&&(this._worldHeight=n),this.plugins.resize(),this.dirty=!0}get worldWidth(){return this._worldWidth?this._worldWidth:this.width/this.scale.x}set worldWidth(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 pe(this.left,this.top,this.worldScreenWidth,this.worldScreenHeight)}toWorld(e,t){return arguments.length===2?this.toLocal(new re(e,t)):this.toLocal(e)}toScreen(e,t){return arguments.length===2?this.toGlobal(new re(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 re(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,r;typeof e[0]=="number"?(t=e[0],r=e[1]):(t=e[0].x,r=e[0].y);let n=(this.worldScreenWidth/2-t)*this.scale.x,s=(this.worldScreenHeight/2-r)*this.scale.y;return(this.x!==n||this.y!==s)&&(this.position.set(n,s),this.plugins.reset(),this.dirty=!0),this}get corner(){return new re(-this.x/this.scale.x,-this.y/this.scale.y)}set corner(e){this.moveCorner(e)}moveCorner(...e){let t,r;return e.length===1?(t=-e[0].x*this.scale.x,r=-e[0].y*this.scale.y):(t=-e[0]*this.scale.x,r=-e[1]*this.scale.y),(t!==this.x||r!==this.y)&&(this.position.set(t,r),this.plugins.reset(),this.dirty=!0),this}get screenWidthInWorldPixels(){return this.screenWidth/this.scale.x}get screenHeightInWorldPixels(){return this.screenHeight/this.scale.y}findFitWidth(e){return this.screenWidth/e}findFitHeight(e){return this.screenHeight/e}findFit(e,t){let r=this.screenWidth/e,n=this.screenHeight/t;return Math.min(r,n)}findCover(e,t){let r=this.screenWidth/e,n=this.screenHeight/t;return Math.max(r,n)}fitWidth(e=this.worldWidth,t,r=!0,n){let s;t&&(s=this.center),this.scale.x=this.screenWidth/e,r&&(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,r=!0,n){let s;t&&(s=this.center),this.scale.y=this.screenHeight/e,r&&(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 r=this.plugins.get("clamp-zoom",!0);return r&&r.clamp(),e&&t&&this.moveCenter(t),this}fit(e,t=this.worldWidth,r=this.worldHeight){let n;e&&(n=this.center),this.scale.x=this.screenWidth/t,this.scale.y=this.screenHeight/r,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 r;t&&(r=this.center),this.scale.set(e);let n=this.plugins.get("clamp-zoom",!0);return n&&n.clamp(),t&&r&&this.moveCenter(r),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 Tx(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 re(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 pe(0,0,this.worldWidth,this.worldHeight))}drag(e){return this.plugins.add("drag",new bx(this,e)),this}clamp(e){return this.plugins.add("clamp",new Bx(this,e)),this}decelerate(e){return this.plugins.add("decelerate",new Cx(this,e)),this}bounce(e){return this.plugins.add("bounce",new _x(this,e)),this}pinch(e){return this.plugins.add("pinch",new Sx(this,e)),this}snap(e,t,r){return this.plugins.add("snap",new Mx(this,e,t,r)),this}follow(e,t){return this.plugins.add("follow",new wx(this,e,t)),this}wheel(e){return this.plugins.add("wheel",new Px(this,e)),this}animate(e){return this.plugins.add("animate",new xx(this,e)),this}clampZoom(e){return this.plugins.add("clamp-zoom",new vx(this,e)),this}mouseEdges(e){return this.plugins.add("mouse-edges",new Qx(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,r,n,s){s&&(r>this.worldScreenWidth||n>this.worldScreenHeight)&&(this.fit(!0,r,n),this.emit("zoomed",{viewport:this,type:"ensureVisible"}));let o=!1;e<this.left?(this.left=e,o=!0):e+r>this.right&&(this.right=e+r,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 l6=["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"],Dx=class extends yt(qp){constructor(){super({noTicker:!0,events:{domElement:{addEventListener:()=>{}}}});this.overrideProps=["wheel"]}onInit(t){super.onInit(t);for(let r of l6)t[r]&&this.on(r,t[r])}async onMount(t,r){await super.onMount(t,r);let{props:n}=t,{tick:s,app:o,canvasSize:a}=n.context,u=!1;gt(()=>{this.screenWidth=a().width,this.screenHeight=a().height}),gt(()=>{let c=o();if(!c)return;let l=c.renderer;l.events.domElement.addEventListener("wheel",this.input.wheelFunction),this.options.events=l.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,r){let n=async()=>{this.tickSubscription.unsubscribe(),r()};await super.onDestroy(t,n)}};rt("Viewport",Dx);xe();var Fx=class extends yt(ru){constructor(){super({width:0,height:0})}async onUpdate(e){for(let[t,r]of Object.entries(e))r!==void 0&&(t==="image"?this.texture=await dt.load(r):t in this&&(this[t]=r))}};rt("NineSliceSprite",Fx);xe();var vF=["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"],Ox=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 vF)if(e.attrs?.[t]){let r=n=>{if(t==="submit"&&this.element.tagName.toLowerCase()==="form"){n.preventDefault();let s=new FormData(this.element),o={};s.forEach((a,u)=>{o[u]?Array.isArray(o[u])?o[u].push(a):o[u]=[o[u],a]:o[u]=a}),e.attrs[t]?.(n,o)}else e.attrs[t]?.(n)};this.eventListeners.set(t,r),this.element.addEventListener(t,r,!1)}if(e.children)for(let t of e.children)cb(t)?t.subscribe(({elements:r})=>{for(let n of r)this.element.appendChild(n.componentInstance.element)}):this.element.appendChild(t.componentInstance.element);this.onUpdate(e)}onMount(e){let r=e.propObservables.attrs;if(this.isFormElementType&&r?.value&&tt(r.value)){this.valueSignal=r.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,r]of Object.entries(e.attrs||{}))if(t==="class"){let n=r.items||r.value||r;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=r.items||r.value||r;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(tt(r)){let n=this.element.value,s=r();n!==s&&(this.element.value=s)}else this.element.value=r;else vF.includes(t)||this.element.setAttribute(t,r);e.textContent&&(this.element.textContent=e.textContent)}}async onDestroy(e,t){if(this.element){this.onBeforeDestroy&&await this.onBeforeDestroy();for(let[r,n]of this.eventListeners)this.element.removeEventListener(r,n,!1);this.eventListeners.clear(),this.element.remove(),t&&t()}}};rt("DOMElement",Ox);var Rx=i=>bt("DOMElement",i);var kx=class extends yt(pl){constructor(){super(...arguments);this.disableLayout=!0}onInit(t){let r=Ve(Rx,{element:"div"},t.children);this.element=r.componentInstance.element}};rt("DOMContainer",kx);xe();xe();Yp();var PF;function Lx(){return PF}function Nx(i){PF=i}function Nn(i,e){return i?typeof i=="number"?i:typeof i=="string"&&i.endsWith("%")?(e??(e=1),e*(parseFloat(i)/100)):Number.isNaN(parseFloat(i))?0:parseFloat(i):0}function ni(i){return typeof i=="number"?"number":i.endsWith("%")?"percentage":Number.isNaN(parseInt(i,10))?"keyword":"number"}function Kp(i,e,t){return(e[i]-t[i])/2}function DF(i,e,t,r,n){let s=e==="percentage"?r[t]-n[t]:1;return Nn(i)*s}function Vp(i,e,t){let[r,n]=i,s=ni(r),o=ni(n),a={x:void 0,y:void 0};switch(r){case"top":a.y=0;break;case"bottom":a.y=e.height-t.height;break;case"center":n==="left"||n==="right"?a.y=Kp("height",e,t):a.x=Kp("width",e,t);break;case"left":a.x=0;break;case"right":a.x=e.width-t.width;break;default:{let u=n==="top"||n==="bottom"||o!=="keyword"?"width":"height",c=u==="width"?"x":"y";a[c]=DF(r,s,u,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=Kp("height",e,t):a.x=Kp("width",e,t);break;case"left":a.x=0;break;case"right":a.x=e.width-t.width;break;default:{let u=a.y===void 0?"y":"x",c=u==="y"?"height":"width";a[u]=DF(n,o,c,e,t)}}return a}function Xp(i,e,t,r){let n=i==="right"||i==="bottom",s=t==="percentage"?e*r:e;return n?-s:s}function FF(i,e,t){let[r,n,s,o]=i,a=ni(r),u=ni(n),c=ni(s),l=ni(o);if(u==="keyword"||l==="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=Vp([r,s],e,t),h={...A},f=Nn(n),d=Nn(o);return r==="left"||r==="right"?h.x=A.x+Xp(r,f,u,t.width):(r==="top"||r==="bottom")&&(h.y=A.y+Xp(r,f,u,t.height)),s==="left"||s==="right"?h.x=A.x+Xp(s,d,l,t.width):(s==="top"||s==="bottom")&&(h.y=A.y+Xp(s,d,l,t.height)),h}function OF(i,e,t){let r=i[0],n={x:void 0,y:void 0};switch(r){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=ni(r)==="percentage"?e.width-t.width:1;n.x=Nn(r)*o,n.y=(e.height-t.height)/2}}return n}function Ta(i,e,t){if(!i)return{x:0,y:0};let r=typeof i=="string"?i.split(" "):[i];switch(r.length){case 1:return OF(r,e,t);case 2:return Vp(r,e,t);case 4:return FF(r,e,t);default:throw new Error("Invalid objectPosition value: must have 1, 2, or 4 values")}}xe();var f6=new We,Hx={width:0,height:0};function Lu(i){let e=i.target.getLocalBounds(f6),t=i.target.scale;return Hx.width=Math.abs(e.width*t.x),Hx.height=Math.abs(e.height*t.y),Hx}function zp(i,e,t=.49){return Math.abs(i-e)<t}var Nu=new Map;function RF(i,e=100,t){if(!Nu.has(i)){let r=null,n=(...s)=>{if(Nu.get(i).args=s,r)return;let o=()=>{r=null;let a=Nu.get(i).args;i(...a)};e===0?o():r=setTimeout(o,e)};Nu.set(i,{throttledFunction:n,args:null})}return Nu.get(i).throttledFunction}var E6=Object.defineProperty,x6=(i,e,t)=>e in i?E6(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Gs=(i,e,t)=>x6(i,typeof e!="symbol"?e+"":e,t),Hu=class{constructor(){Gs(this,"autoUpdate",!0),Gs(this,"_debugEnabled",!1),Gs(this,"_debugRenderer",null),Gs(this,"_throttledUpdateSize"),Gs(this,"_throttle",100),Gs(this,"_modificationCount",50)}async init(e){Nx(await TF());let{layout:t}=e??{},{autoUpdate:r,enableDebug:n,throttle:s,debugModificationCount:o}=t??{};n&&this.enableDebug(!0),r!==void 0&&(this.autoUpdate=r),this._throttle=s??this._throttle,this._throttledUpdateSize=RF(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(()=>(jx(),LF));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 r=t.style;if(r.width==="intrinsic"||r.height==="intrinsic"){let n=Lu(t);if(r.width==="intrinsic"){let s=t.yoga.getWidth().value;zp(s,n.width)||(t.yoga.setWidth(n.width),t.invalidateRoot())}if(r.height==="intrinsic"){let s=t.yoga.getHeight().value;zp(s,n.height)||(t.yoga.setHeight(n.height),t.invalidateRoot())}}if(!e.visible){t._onChildRemoved();return}}for(let r=0;r<e.children.length;r++)this._updateSize(e.children[r])}updateLayout(e){var t,r,n,s;let o=e._layout;if(e.visible){if(o){let a=o.yoga,u=o.style,c=(t=e.parent)==null?void 0:t.isOverflowContainer;if(!((r=e.parent)==null?void 0:r._layout)&&!c&&o._isDirty&&(o._isDirty=!1,a.calculateLayout(u.width,u.height,a.getDirection()??bi.LTR)),a.hasNewLayout()||o._forceUpdate){a.markLayoutSeen(),o._forceUpdate=!1,o._computedLayout=a.getComputedLayout();let A=Ta(u.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()}};Gs(Hu,"extension",{type:[L.WebGLSystem,L.WebGPUSystem],name:"layout"});xe();Yp();var NF={"flex-start":It.FlexStart,"flex-end":It.FlexEnd,center:It.Center,stretch:It.Stretch,"space-between":It.SpaceBetween,"space-around":It.SpaceAround,"space-evenly":It.SpaceEvenly},HF={"flex-start":It.FlexStart,"flex-end":It.FlexEnd,center:It.Center,stretch:It.Stretch,baseline:It.Baseline},qF={"border-box":Uu.BorderBox,"content-box":Uu.ContentBox},WF={ltr:bi.LTR,rtl:bi.RTL},jF={none:Ds.None,flex:Ds.Flex,contents:Ds.Contents},YF={row:Ur.Row,column:Ur.Column,"row-reverse":Ur.RowReverse,"column-reverse":Ur.ColumnReverse},KF={wrap:ks.Wrap,nowrap:ks.NoWrap,"wrap-reverse":ks.WrapReverse},VF={"flex-start":Qr.FlexStart,"flex-end":Qr.FlexEnd,center:Qr.Center,"space-between":Qr.SpaceBetween,"space-around":Qr.SpaceAround,"space-evenly":Qr.SpaceEvenly},XF={visible:Os.Visible,hidden:Os.Hidden,scroll:Os.Scroll},zF={absolute:Rs.Absolute,relative:Rs.Relative,static:Rs.Static},_6={alignContent:(i,e)=>i.setAlignContent(B6(e)),alignItems:(i,e)=>i.setAlignItems(JF(e)),alignSelf:(i,e)=>i.setAlignSelf(JF(e)),aspectRatio:(i,e)=>i.setAspectRatio(e),borderBottomWidth:(i,e)=>i.setBorder(ge.Bottom,e),borderEndWidth:(i,e)=>i.setBorder(ge.End,e),borderLeftWidth:(i,e)=>i.setBorder(ge.Left,e),borderRightWidth:(i,e)=>i.setBorder(ge.Right,e),borderStartWidth:(i,e)=>i.setBorder(ge.Start,e),borderTopWidth:(i,e)=>i.setBorder(ge.Top,e),borderWidth:(i,e)=>i.setBorder(ge.All,e),borderInlineWidth:(i,e)=>i.setBorder(ge.Horizontal,e),borderBlockWidth:(i,e)=>i.setBorder(ge.Vertical,e),bottom:(i,e)=>i.setPosition(ge.Bottom,e),boxSizing:(i,e)=>i.setBoxSizing(v6(e)),direction:(i,e)=>i.setDirection(C6(e)),display:(i,e)=>i.setDisplay(b6(e)),end:(i,e)=>i.setPosition(ge.End,e),flex:(i,e)=>i.setFlex(e),flexBasis:(i,e)=>i.setFlexBasis(e),flexDirection:(i,e)=>i.setFlexDirection(w6(e)),rowGap:(i,e)=>i.setGap(Fs.Row,e),gap:(i,e)=>i.setGap(Fs.All,e),columnGap:(i,e)=>i.setGap(Fs.Column,e),flexGrow:(i,e)=>i.setFlexGrow(e),flexShrink:(i,e)=>i.setFlexShrink(e),flexWrap:(i,e)=>i.setFlexWrap(Q6(e)),height:(i,e)=>i.setHeight(e),justifyContent:(i,e)=>i.setJustifyContent(S6(e)),left:(i,e)=>i.setPosition(ge.Left,e),margin:(i,e)=>i.setMargin(ge.All,e),marginBottom:(i,e)=>i.setMargin(ge.Bottom,e),marginEnd:(i,e)=>i.setMargin(ge.End,e),marginLeft:(i,e)=>i.setMargin(ge.Left,e),marginRight:(i,e)=>i.setMargin(ge.Right,e),marginStart:(i,e)=>i.setMargin(ge.Start,e),marginTop:(i,e)=>i.setMargin(ge.Top,e),marginInline:(i,e)=>i.setMargin(ge.Horizontal,e),marginBlock:(i,e)=>i.setMargin(ge.Vertical,e),maxHeight:(i,e)=>i.setMaxHeight(e),maxWidth:(i,e)=>i.setMaxWidth(e),minHeight:(i,e)=>i.setMinHeight(e),minWidth:(i,e)=>i.setMinWidth(e),overflow:(i,e)=>i.setOverflow(M6(e)),padding:(i,e)=>i.setPadding(ge.All,e),paddingBottom:(i,e)=>i.setPadding(ge.Bottom,e),paddingEnd:(i,e)=>i.setPadding(ge.End,e),paddingLeft:(i,e)=>i.setPadding(ge.Left,e),paddingRight:(i,e)=>i.setPadding(ge.Right,e),paddingStart:(i,e)=>i.setPadding(ge.Start,e),paddingTop:(i,e)=>i.setPadding(ge.Top,e),paddingInline:(i,e)=>i.setPadding(ge.Horizontal,e),paddingBlock:(i,e)=>i.setPadding(ge.Vertical,e),position:(i,e)=>i.setPositionType(T6(e)),right:(i,e)=>i.setPosition(ge.Right,e),start:(i,e)=>i.setPosition(ge.Start,e),top:(i,e)=>i.setPosition(ge.Top,e),insetInline:(i,e)=>i.setPosition(ge.Horizontal,e),insetBlock:(i,e)=>i.setPosition(ge.Vertical,e),inset:(i,e)=>i.setPosition(ge.All,e),width:(i,e)=>i.setWidth(e)};function B6(i){if(i in NF)return NF[i];throw new Error(`"${i}" is not a valid value for alignContent`)}function JF(i){if(i in HF)return HF[i];throw new Error(`"${i}" is not a valid value for alignItems`)}function v6(i){if(i in qF)return qF[i];throw new Error(`"${i}" is not a valid value for boxSizing`)}function C6(i){if(i in WF)return WF[i];throw new Error(`"${i}" is not a valid value for direction`)}function b6(i){if(i in jF)return jF[i];throw new Error(`"${i}" is not a valid value for display`)}function w6(i){if(i in YF)return YF[i];throw new Error(`"${i}" is not a valid value for flexDirection`)}function Q6(i){if(i in KF)return KF[i];throw new Error(`"${i}" is not a valid value for flexWrap`)}function S6(i){if(i in VF)return VF[i];throw new Error(`"${i}" is not a valid value for justifyContent`)}function M6(i){if(i in XF)return XF[i];throw new Error(`"${i}" is not a valid value for overflow`)}function T6(i){if(i in zF)return zF[i];throw new Error(`"${i}" is not a valid value for position`)}function Yx(i,e={}){for(let[t,r]of Object.entries(e))try{let n=_6[t];n&&n(i,r)}catch{}if(e.width!==void 0){let t=e.left!==void 0&&e.right!==void 0?"auto":e.width;i.setWidth(t)}if(e.height!==void 0){let t=e.top!==void 0&&e.bottom!==void 0?"auto":e.height;i.setHeight(t)}}xe();function Kx(i,e){let r={...i._styles.custom,...e};r={...{...si.defaultStyle.shared,...i.target instanceof ht||r.isLeaf||si.defaultStyle.shared.isLeaf?si.defaultStyle.leaf:si.defaultStyle.container},...r};let s={...r},o=r.width==="intrinsic",a=r.height==="intrinsic";if(o||a){let{width:u,height:c}=Lu(i);o&&(s.width=u),a&&(s.height=c)}return{custom:r,yoga:s}}function Vx(i,e){var t;let r=e.layout,n=-1;if(!r&&e.isOverflowContainer&&(r=(t=e.parent)==null?void 0:t.layout,n=e.children.indexOf(i.target),e=e.parent),r){let s=i.yoga.getParent();if(s&&s.removeChild(i.yoga),e.children.indexOf(i.target)===e.children.length-1&&n===-1){r.yoga.insertChild(i.yoga,r.yoga.getChildCount());return}for(let o=0;o<e.children.length;o++){let a=e.children[o];if(a.layout&&a.visible&&n++,a===i.target)break}r.yoga.insertChild(i.yoga,n)}}function Xx(i){let e=i.yoga.getParent();e&&e.removeChild(i.yoga)}var P6=Object.defineProperty,D6=(i,e,t)=>e in i?P6(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,oi=(i,e,t)=>D6(i,typeof e!="symbol"?e+"":e,t),si=class{constructor({target:e}){oi(this,"yoga"),oi(this,"target"),oi(this,"_isDirty",!1),oi(this,"_computedPixiLayout",{x:0,y:0,offsetX:0,offsetY:0,scaleX:1,scaleY:1,originX:0,originY:0}),oi(this,"_computedLayout",{left:0,right:0,top:0,bottom:0,width:0,height:0}),oi(this,"_styles",{custom:{},yoga:{}}),oi(this,"_modificationCount",0),oi(this,"_forceUpdate",!1),oi(this,"hasParent",!1),oi(this,"_trackedStyleKeys",["borderRadius","borderColor","backgroundColor","objectFit","objectPosition","transformOrigin","isLeaf"]),this.target=e,this.yoga=Lx().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=Kx(this,e),r=JSON.stringify(this._styles.custom)!==JSON.stringify(t.custom),n=JSON.stringify(this._styles.yoga)!==JSON.stringify(t.yoga),s=r||n,o=this._trackedStyleKeys.some(a=>t.custom[a]!==this._styles.custom[a]);this._styles=t,o&&(this._forceUpdate=!0),s&&(Yx(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 r=this.target;for(;(e=r.parent)!=null&&e._layout||(t=r.parent)!=null&&t.isOverflowContainer;)r=r.parent,r.isOverflowContainer&&(r=r.parent);return r}_onChildAdded(e){this.hasParent||(this.hasParent=!0,this.invalidateRoot(),Vx(this,e))}_onChildRemoved(){this.hasParent&&(this.hasParent=!1,this.invalidateRoot(),Xx(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}};oi(si,"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"}});xe();function eg(i,e,t){let r=1,n=1;switch(i){case"fill":r=e.width/t.width,n=e.height/t.height;break;case"contain":{let s=Math.min(e.width/t.width,e.height/t.height);r=s,n=s;break}case"cover":{let s=Math.max(e.width/t.width,e.height/t.height);r=s,n=s;break}case"none":r=1,n=1;break;case"scale-down":{let s=Math.min(1,e.width/t.width,e.height/t.height);r=s,n=s;break}}return{offsetScaleX:r,offsetScaleY:n}}function tg(i,e,t,r){let n=i.getLocalBounds(),s=i.layout.style.objectFit||t,{offsetScaleX:o,offsetScaleY:a}=eg(s,e,n),u={width:n.width*o,height:n.height*a},{x:c,y:l}=Ta(i.layout.style.objectPosition,e,u);r?(c+=n.width*o*r._x,l+=n.height*a*r._y):(c-=n.minX*o,l-=n.minY*a);let A=i.layout.style.applySizeDirectly;return(A===!0||A==null&&(i instanceof eu||i instanceof ru))&&(i.width=n.width*o,i.height=n.height*a,o=1,a=1),{x:e.left,y:e.top,offsetX:c,offsetY:l,scaleX:o,scaleY:a}}var zx=Object.getOwnPropertyDescriptor(Ue.prototype,"visible"),F6={_layout:null,get layout(){return this._layout??null},set layout(i){if(i=i===!0?{}:i,!i){this._layout&&(this._layout.destroy(),this._layout=null,this.updateLocalTransform=Ue.prototype.updateLocalTransform,Object.defineProperty(Ue.prototype,"visible",zx));return}this._layout||(this._layout=new si({target:this}),Object.defineProperty(Ue.prototype,"visible",{...zx,set(e){zx.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(i),this.updateLocalTransform=this.updateLocalTransformWithLayout,this._onUpdate()},updateLocalTransformWithLayout(){let i=this._didContainerChangeTick;if(this._didLocalTransformChangeId===i)return;this._didLocalTransformChangeId=i;let e=this._layout,{x:t,y:r,offsetX:n,offsetY:s,scaleX:o,scaleY:a,originX:u,originY:c}=e._computedPixiLayout,l=this.localTransform,{rotation:A,skew:h,scale:f,position:d}=this,y=A+h._y,g=A-h._x,E=Math.cos(y)*f._x,_=Math.sin(y)*f._x,x=-Math.sin(g)*f._y,I=Math.cos(g)*f._y,P=d._x+t-u*E-c*x,F=d._y+r-u*_-c*I;l.a=E*o,l.b=_*o,l.c=x*a,l.d=I*a,l.tx=P+(n*E+s*x)+u,l.ty=F+(n*_+s*I)+c},computeLayoutData(i){let e=this._layout,{isLeaf:t}=e._styles.custom;return t?tg(this,i,"fill"):{x:i.left,y:i.top,offsetX:0,offsetY:0,scaleX:1,scaleY:1}}};le.mixin(Ue,F6);xe();var ZF=new re(0,0),O6={computeLayoutData(i){let e=this._style;ZF.copyFrom(this.scale),this.scale=1,e.wordWrap&&(e.wordWrapWidth=i.width);let t=this.getLocalBounds(),r=this.layout.style.objectFit||"scale-down",{offsetScaleX:n,offsetScaleY:s}=eg(r,i,t);e.wordWrap&&(e.wordWrapWidth=i.width/Math.min(1,Math.max(n,s))),t=this.getLocalBounds();let o={width:t.width*n,height:t.height*s},{x:a,y:u}=Ta(this.layout.style.objectPosition,i,o);return a+=t.width*n*this.anchor._x,u+=t.height*s*this.anchor._y,this.layout.style.applySizeDirectly===!0&&(this.width=t.width*n,this.height=t.height*s),this.scale.copyFrom(ZF),{x:i.left,y:i.top,offsetX:a,offsetY:u,scaleX:n,scaleY:s}}};le.mixin(Vi,O6);var Jx=Object.getOwnPropertyDescriptor(Vi.prototype,"text");Object.defineProperty(Vi.prototype,"text",{...Jx,set(i){var e;let t=Jx.get.call(this);Jx.set.call(this,i),t!==i&&((e=this.layout)==null||e.forceUpdate())}});xe();var R6={computeLayoutData(i){return tg(this,i,"fill",this._anchor)}};le.mixin(ht,R6);jx();le.add(Hu);xe();xe();var rg=class{constructor(e,t,r,n,s,o,a=0){this.x0=e;this.y0=t;this.x1=r;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 u=this.size*.5;this.canvas=Se.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(u*(1-a),u,0,u,u,u-.5))}addColorStop(e,t){this.gradient&&this.gradient.addColorStop(e,t)}render({translate:e}={}){let{x0:t,y0:r,x1:n,y1:s,x2:o,y2:a,focalPoint:u}=this,c=this.size;if(this.ctx&&this.gradient){this.ctx.fillStyle=this.gradient,this.ctx.fillRect(0,0,c,c),this.texture=new V({source:new qt({resource:this.canvas,addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"})});let l=new ie,A=Math.sqrt((n-t)*(n-t)+(s-r)*(s-r)),h=Math.sqrt((o-t)*(o-t)+(a-r)*(a-r)),f=Math.atan2(s-r,n-t),d=A/c,y=h/c;l.rotate(-f),l.scale(d,y),e&&l.translate(e.x,e.y),this.transform=l}return{texture:this.texture,matrix:this.transform}}};var Zx=zt(Cn(),1),fSe=zt(tl(),1);function $x(i){var e=i.toString(16);return e.length==1?"0"+e:e}function G6(i,e,t){return"#"+$x(i)+$x(e)+$x(t)}function U6(i){let{width:e,height:t,value:r,maxValue:n,backgroundColor:s,foregroundColor:o,border:a,innerMargin:u,borderRadius:c}=St(i,{backgroundColor:"#000000",foregroundColor:"#FFFFFF",innerMargin:0,borderRadius:0});return Ve(Bi,{...i,width:e,height:t,draw(l){c()?l.roundRect(0,0,e(),t(),c()):l.rect(0,0,e(),t()),a&&l.stroke(a),l.fill(s())}},Ve(Bi,{width:e,height:t,draw(l){let A=u(),h=c(),f=Math.max(0,Math.min(e()-2*A,r()/n()*(e()-2*A))),d=t()-2*A;c?l.roundRect(A,A,f,d,h):l.rect(A,A,f,d);let y=o();if(y.startsWith("rgba")){let[g,E,_,x]=y.match(/\d+(\.\d+)?/g).map(Number);l.fill({color:G6(g,E,_),alpha:x})}else l.fill(y)}}))}xe();xe();var ai=class{constructor(){this.__length=0}get length(){return this.__length}add(e){return this.first==null?this.first=this.last=e:(e.prev=this.last,this.last.next=e,this.last=e),e.list=this,this.__length++,this}remove(e){if(e.list!=null)return this.first===this.last?this.first=this.last=null:this.__length>0&&(e===this.last?(e.prev.next=null,this.last=e.prev):e===this.first?(e.next.prev=null,this.first=e.next):(e.next.prev=e.prev,e.prev.next=e.next)),e.next=e.prev=e.list=null,this.__length--,this}clear(){if(!this.first)return;let e=this.first;for(;e;){let t=e.next;e.next=e.prev=e.list=null,e=t}this.first=this.last=null}toArray(){let e=[];if(!this.first)return e;let t=this.first;for(;t;)e.push(t),t=t.next;return e}},Sr=class{constructor(e){this.data=e}update(e){}dispose(){}};var Us=class extends Sr{constructor(e){super(),this.componentId=e,this.exhausted=!1,this.completed=!1,this.name="",this.endTime=0,this._x=0,this._y=0,this._rotation=0,this._alpha=0,this._scale=new re,this._time=0,this._active=!1,this.__recycled=!0}update(e){}recycle(){}get active(){return this._active}get scale(){return this._scale}set scale(e){this._scale=e}get alpha(){return this._alpha}set alpha(e){this._alpha=e}set rotation(e){this._rotation=e}get rotation(){return this._rotation}get y(){return this._y}set y(e){this._y=e}get x(){return this._x}set x(e){this._x=e}__applySettings(e){}};var qu;(function(i){i[i.Sprite=0]="Sprite",i[i.MovieClip=1]="MovieClip"})(qu||(qu={}));var Ji=class{constructor(e){this.type=e,this._dx=0,this._dy=0,this._rotation=0}init(e){this.emitter=e,this._settings=e.settings.core.params,this.x=this.__x=e.x,this.y=this.__y=e.y,this.rotation=e.rotation}emit(e){}prepare(e){this._posInterpolationStep=1/e,this._t=this._posInterpolationStep*.5}step(){this.__x=this.x,this.__y=this.y}recycle(){this.emitter=null,this._settings=null}dispose(){this.recycle(),this.emitter=null,this._settings=null}get rotation(){return this._rotation}set rotation(e){this._rotation=e,this._dx=Math.cos(e),this._dy=Math.sin(e)}};var Ie=class{static float(e,t){return Math.random()*(t-e)+e}static bool(e=.5){return Math.random()<e}static sign(e=.5){return Math.random()<e?1:-1}static bit(e=.5){return Math.random()<e?1:0}static integer(e,t){return Math.floor(Math.random()*(t-e)+e)}};var Hn;(function(i){i.Circle="circle",i.Box="box",i.Ring="ring"})(Hn||(Hn={}));var Wu=class extends Ji{constructor(){super(Hn.Box)}emit(e){let t=this._settings,r=this.emitter,n=t.width*.5*this.__scaleMod,s=t.height*.5*this.__scaleMod,o=r.rotation,a=Ie.float(-n,n),u=Ie.float(-s,s);o!=0?(e.component.x=this.__x+this._t*(this.x-this.__x)+a*Math.cos(o)-u*Math.sin(o),e.component.y=this.__y+this._t*(this.y-this.__y)+a*Math.sin(o)+u*Math.cos(o)):(e.component.x=this.__x+this._t*(this.x-this.__x)+a,e.component.y=this.__y+this._t*(this.y-this.__y)+u),t.radial?(o+=Math.atan2(u,a),e.dx=Math.cos(o),e.dy=Math.sin(o)):(e.dx=this._dx,e.dy=this._dy),e.component.rotation=o,this._t+=this._posInterpolationStep}};var ju=class extends Ji{constructor(){super(Hn.Circle)}emit(e){let t=this._settings,r=this.emitter,n;if(t.angle?n=Ie.float(-t.angle*.5,t.angle*.5)+r.rotation:n=Ie.float(0,6.28319)+r.rotation,t.radius>0){let s=Ie.float(0,t.radius)*this.__scaleMod;e.component.x=this.__x+this._t*(this.x-this.__x)+Math.cos(n)*s,e.component.y=this.__y+this._t*(this.y-this.__y)+Math.sin(n)*s}else e.component.x=this.__x+this._t*(this.x-this.__x),e.component.y=this.__y+this._t*(this.y-this.__y);t.radial?(e.dx=Math.cos(n),e.dy=Math.sin(n),e.component.rotation=n):(e.dx=this._dx,e.dy=this._dy,e.component.rotation=r.rotation),this._t+=this._posInterpolationStep}};var Yu=class extends Ji{constructor(){super(Hn.Ring)}prepare(e){super.prepare(e);let t=this._settings.angle;2*Math.PI-t<.1?(this._uniformStep=t/e,this._angle=t):(this._uniformStep=t/(e-1),this._angle=-t*.5)}emit(e){let t=this._settings,r=this.emitter,n;t.uniform?(n=this._angle+r.rotation,this._angle+=this._uniformStep):n=Ie.float(-t.angle*.5,t.angle*.5)+r.rotation;let s=t.radius*this.__scaleMod;e.component.x=this.__x+this._t*(this.x-this.__x)+Math.cos(n)*s,e.component.y=this.__y+this._t*(this.y-this.__y)+Math.sin(n)*s,t.radial?(e.dx=Math.cos(n),e.dy=Math.sin(n),e.component.rotation=n):(e.dx=this._dx,e.dy=this._dy,e.component.rotation=r.rotation),this._t+=this._posInterpolationStep}};var Mr;(function(i){i[i.Sprite=0]="Sprite",i[i.MovieClip=1]="MovieClip",i[i.Emitter=2]="Emitter",i[i.Trigger=3]="Trigger"})(Mr||(Mr={}));xe();xe();var Ku=class extends Ss{constructor(e,t,r,n){let s=[],o=t.length;for(let a=0;a<o;a++)s.push(V.from(t[a]));super(s),this.componentId=e,this.anchor.set(.5,.5),this.loop=!1,this.__sequenceEndTime=0}recycle(){this.alpha=1,this.tint=16777215,this.rotation=0,this.scale.set(1),this.parent&&this.parent.removeChild(this),this.gotoAndStop(0),this.__fx.__recycleMovieClip(this.componentId,this)}dispose(){this.parent&&this.parent.removeChild(this),this.gotoAndStop(0),this.destroy()}};var Vu=class{constructor(){}setRgb(e,t){this.startRgb=this.rgb=e,this.r=this.sR=e>>16&255,this.g=this.sG=e>>8&255,this.b=this.sB=e&255,this.targetRgb=t,this.dR=(t>>16&255)-this.r,this.dG=(t>>8&255)-this.g,this.dB=(t&255)-this.b}tween(e,t,r){return e?(this.r=e(t,this.sR,this.dR,r),this.g=e(t,this.sG,this.dG,r),this.b=e(t,this.sB,this.dB,r)):(t/=r,this.r=this.dR*t+this.sR,this.g=this.dG*t+this.sG,this.b=this.dB*t+this.sB),this.rgb=this.r<<16|this.g<<8|this.b,this.rgb}};var $F;(function(i){i.Linear="linear",i.EaseInQuad="easeInQuad",i.EaseOutQuad="easeOutQuad",i.EaseInOutQuad="easeInOutQuad",i.EaseInCubic="easeInCubic",i.EaseOutCubic="easeOutCubic",i.EaseInOutCubic="easeInOutCubic",i.EaseInQuart="easeInQuart",i.EaseOutQuart="easeOutQuart",i.EaseInOutQuart="easeInOutQuart",i.EaseInQuint="easeInQuint",i.EaseOutQuint="easeOutQuint",i.EaseInOutQuint="easeInOutQuint",i.EaseInSine="easeInSine",i.EaseOutSine="easeOutSine",i.EaseInOutSine="easeInOutSine",i.EaseInExpo="easeInExpo",i.EaseOutExpo="easeOutExpo",i.EaseInOutExpo="easeInOutExpo",i.EaseInCirc="easeInCirc",i.EaseOutCirc="easeOutCirc",i.EaseInOutCirc="easeInOutCirc",i.EaseInElastic="easeInElastic",i.EaseOutElastic="easeOutElastic",i.EaseInOutElastic="easeInOutElastic",i.EaseInBack="easeInBack",i.EaseOutBack="easeOutBack",i.EaseInOutBack="easeInOutBack",i.EaseInBounce="easeInBounce",i.EaseOutBounce="easeOutBounce",i.EaseInOutBounce="easeInOutBounce"})($F||($F={}));var Nr=class i{static linear(e,t,r,n){return r*e/n+t}static easeInQuad(e,t,r,n){return r*(e/=n)*e+t}static easeOutQuad(e,t,r,n){return-r*(e/=n)*(e-2)+t}static easeInOutQuad(e,t,r,n){return(e/=n/2)<1?r/2*e*e+t:-r/2*(--e*(e-2)-1)+t}static easeInCubic(e,t,r,n){return r*(e/=n)*e*e+t}static easeOutCubic(e,t,r,n){return r*((e=e/n-1)*e*e+1)+t}static easeInOutCubic(e,t,r,n){return(e/=n/2)<1?r/2*e*e*e+t:r/2*((e-=2)*e*e+2)+t}static easeInQuart(e,t,r,n){return r*(e/=n)*e*e*e+t}static easeOutQuart(e,t,r,n){return-r*((e=e/n-1)*e*e*e-1)+t}static easeInOutQuart(e,t,r,n){return(e/=n/2)<1?r/2*e*e*e*e+t:-r/2*((e-=2)*e*e*e-2)+t}static easeInQuint(e,t,r,n){return r*(e/=n)*e*e*e*e+t}static easeOutQuint(e,t,r,n){return r*((e=e/n-1)*e*e*e*e+1)+t}static easeInOutQuint(e,t,r,n){return(e/=n/2)<1?r/2*e*e*e*e*e+t:r/2*((e-=2)*e*e*e*e+2)+t}static easeInSine(e,t,r,n){return-r*Math.cos(e/n*(Math.PI/2))+r+t}static easeOutSine(e,t,r,n){return r*Math.sin(e/n*(Math.PI/2))+t}static easeInOutSine(e,t,r,n){return-r/2*(Math.cos(Math.PI*e/n)-1)+t}static easeInExpo(e,t,r,n){return e===0?t:r*Math.pow(2,10*(e/n-1))+t}static easeOutExpo(e,t,r,n){return e===n?t+r:r*(-Math.pow(2,-10*e/n)+1)+t}static easeInOutExpo(e,t,r,n){return e===n&&t+r,(e/=n/2)<1?r/2*Math.pow(2,10*(e-1))+t:r/2*(-Math.pow(2,-10*--e)+2)+t}static easeInCirc(e,t,r,n){return-r*(Math.sqrt(1-(e/=n)*e)-1)+t}static easeOutCirc(e,t,r,n){return r*Math.sqrt(1-(e=e/n-1)*e)+t}static easeInOutCirc(e,t,r,n){return(e/=n/2)<1?-r/2*(Math.sqrt(1-e*e)-1)+t:r/2*(Math.sqrt(1-(e-=2)*e)+1)+t}static easeInElastic(e,t,r,n){let s,o,a;return a=1.70158,o=0,s=r,e===0||(e/=n)===1&&t+r,o||(o=n*.3),s<Math.abs(r)?(s=r,a=o/4):a=o/(2*Math.PI)*Math.asin(r/s),-(s*Math.pow(2,10*(e-=1))*Math.sin((e*n-a)*(2*Math.PI)/o))+t}static easeOutElastic(e,t,r,n){let s,o,a;return a=1.70158,o=0,s=r,e===0||(e/=n)===1&&t+r,o||(o=n*.3),s<Math.abs(r)?(s=r,a=o/4):a=o/(2*Math.PI)*Math.asin(r/s),s*Math.pow(2,-10*e)*Math.sin((e*n-a)*(2*Math.PI)/o)+r+t}static easeInOutElastic(e,t,r,n){let s,o,a;return a=1.70158,o=0,s=r,e===0||(e/=n/2)===2&&t+r,o||(o=n*(.3*1.5)),s<Math.abs(r)?(s=r,a=o/4):a=o/(2*Math.PI)*Math.asin(r/s),e<1?-.5*(s*Math.pow(2,10*(e-=1))*Math.sin((e*n-a)*(2*Math.PI)/o))+t:s*Math.pow(2,-10*(e-=1))*Math.sin((e*n-a)*(2*Math.PI)/o)*.5+r+t}static easeInBack(e,t,r,n,s){return s===void 0&&(s=1.70158),r*(e/=n)*e*((s+1)*e-s)+t}static easeOutBack(e,t,r,n,s){return s===void 0&&(s=1.70158),r*((e=e/n-1)*e*((s+1)*e+s)+1)+t}static easeInOutBack(e,t,r,n,s){return s===void 0&&(s=1.70158),(e/=n/2)<1?r/2*(e*e*(((s*=1.525)+1)*e-s))+t:r/2*((e-=2)*e*(((s*=1.525)+1)*e+s)+2)+t}static easeInBounce(e,t,r,n){let s;return s=i.easeOutBounce(n-e,0,r,n),r-s+t}static easeOutBounce(e,t,r,n){return(e/=n)<1/2.75?r*(7.5625*e*e)+t:e<2/2.75?r*(7.5625*(e-=1.5/2.75)*e+.75)+t:e<2.5/2.75?r*(7.5625*(e-=2.25/2.75)*e+.9375)+t:r*(7.5625*(e-=2.625/2.75)*e+.984375)+t}static easeInOutBounce(e,t,r,n){let s;return e<n/2?(s=i.easeInBounce(e*2,0,r,n),s*.5+t):(s=i.easeOutBounce(e*2-n,0,r,n),s*.5+r*.5+t)}};var Bt=class{constructor(){this.__hasCallback=!1,this._list=new ai}add(e,t,r){this._list.add(new Sr(new ig(e,t,!1,r))),this.__hasCallback=!0}addOnce(e,t){this._list.add(new Sr(new ig(e,t,!0))),this.__hasCallback=!0}dispatch(...e){let t=this._list,r=t.first,n;for(;r;){n=r.next;let s=!0,o=r.data;o.callRate&&o.calls%o.callRate!=0&&(s=!1),s&&(o.callback.apply(o.scope,e),o.once&&t.remove(r)),r=n}this.__hasCallback=t.__length>0}remove(e){let t=this._list,r=t.first,n;for(;r;){if(n=r.next,r.data.callback===e){t.remove(r);return}r=n}this.__hasCallback=t.__length>0}removeAll(){this._list.clear(),this.__hasCallback=!1}},ig=class{constructor(e,t,r,n){this.callback=e,this.scope=t,this.once=r,this.callRate=n,this.calls=0}};var Xu=class extends Sr{constructor(){super(),this.dx=0,this.dy=0,this._childEmitters=[],this._hasChildEmitters=!1,this._spawnOnHalfway=!1,this.__recycled=!0,this.__on={died:new Bt,bounced:new Bt,updated:new Bt},this._color=new Vu}init(e,t,r){let n=this.component,s=this.__fx;this.emitter=e,this.settings=t;let o=this.duration=Ie.float(t.durationMin,t.durationMax)*r;if(this._dt=1/this.duration,this.time=0,this.__recycled=!1,t.addOnTop?e.container.addChild(n):e.container.addChildAt(n,0),n.blendMode=s.__getBlendMode(t.blendMode),this.startX=n.x,this.startY=n.y,this.useGravity=e.settings.useGravity,this.useScale=t.useScale,this.useRotation=t.useRotation,this.useAlpha=t.useAlpha,this.useTint=t.useTint,this.useSpawns=t.useSpawns,this.useChilds=t.useChilds,this.useMotion=t.useMotion,this.useGravity)if(this.gravity=e.settings.gravity,this.useFloor=e.settings.useFloor,this.floorY=e.settings.floorY,this.bounceFac=Ie.float(t.bounceFacMin,t.bounceFacMax)*r,this.friction=1-Ie.float(t.frictionMin,t.frictionMax)*r,this._spawnOnBounce=t.spawn.onBounce.length>0,this.useAlign=t.align,t.useMotion){let a=Ie.float(t.moveSpeedMin,t.moveSpeedMax);this.moveSpeedX=a*this.dx*r,this.moveSpeedY=a*this.dy*r}else this.moveSpeedX=this.moveSpeedY=0;else if(t.useMotion){let a=this.distance=Ie.integer(t.distanceMin,t.distanceMax)*.8*r;this.deltaX=(n.x+a*this.dx-this.startX)*.8,this.deltaY=(n.y+a*this.dy-this.startY)*.8,this.distanceEase=Nr[t.distanceEase],this.useAlign=!1}else n.x=this.startX,n.y=this.startY;if(t.useRotation&&t.randomStartRotation&&!this.useAlign&&(n.rotation=Ie.float(0,6.28319)),t.useAlpha&&(this.alphaStart=n.alpha=Ie.float(t.alphaStartMin,t.alphaStartMax),this.alphaDelta=Ie.float(t.alphaEndMin,t.alphaEndMax)-this.alphaStart,this.alphaEase=Nr[t.alphaEase]||null,this.useFadeIn=t.fadeIn,t.fadeIn&&(this.alphaDuration=o*(1-t.fadeInDurationFac),this.fadeInDuration=o*t.fadeInDurationFac,this.fadeInEase=Nr[t.fadeInEase||"easeInSine"])),t.useScale&&(this.uniformScale=t.uniformScale,this.useScaleIn=t.scaleIn,t.useScale?(this.uniformScale=t.uniformScale,this.scaleEase=Nr[t.scaleEase],t.uniformScale?(this.scaleStart=n.scale.x=n.scale.y=Ie.float(t.scaleStartMin,t.scaleStartMax)*r,this.scaleDelta=(Ie.float(t.scaleEndMin,t.scaleEndMax)-this.scaleStart)*r):(this.scaleXStart=n.scale.x=Ie.float(t.scaleXStartMin,t.scaleXStartMax)*r,this.scaleXDelta=(Ie.float(t.scaleXEndMin,t.scaleXEndMax)-this.scaleXStart)*r,this.scaleXEase=Nr[t.scaleXEase],this.scaleYStart=n.scale.y=Ie.float(t.scaleYStartMin,t.scaleYStartMax)*r,this.scaleYDelta=(Ie.float(t.scaleYEndMin,t.scaleYEndMax)-this.scaleYStart)*r,this.scaleYEase=Nr[t.scaleYEase]),t.scaleIn&&(this.scaleDuration=o*(1-t.scaleInDurationFac),this.scaleInDuration=o*t.scaleInDurationFac,this.scaleInEase=Nr[t.scaleInEase||"easeInSine"])):t.uniformScale?(n.scale.x=t.scaleStartMin,n.scale.y=t.scaleStartMin):(n.scale.x=t.scaleXStartMin,n.scale.y=t.scaleYStartMin)),t.useRotation&&(this.rotationSpeed=Ie.float(t.rotationSpeedMin,t.rotationSpeedMax)*r,t.randomRotationDirection&&(this.rotationSpeed*=Ie.sign())),t.useTint&&(this.tintEase=Nr[t.tintEase],this._color.setRgb(t.tintStart,t.tintEnd)),t.useChilds){this._childEmitters.length=0;let a=t.childs.length;if(this._hasChildEmitters=a>0,this._childEmitters)for(;--a>-1;){let u=t.childs[a],c=s.getParticleEmitterById(u.id);c.init(e.container,!0,(u.scale||1)*(r||1)),u.adoptRotation&&(c.rotation=n.rotation,c.__adoptRotation=!0),c.__parent=this,this._childEmitters.push(c)}}return t.useSpawns&&(t.spawn.onStart.length>0&&e.__subSpawn(this,t.spawn.onStart),this._spawnOnHalfway=t.spawn.onHalfway.length>0),e.__on.particleSpawned.__hasCallback&&e.__on.particleSpawned.dispatch(this),this}update(e){let t=this.time+=e,r=this.duration;if(t>=r){this.emitter.__removeParticle(this);return}let n=this.component,s=t*e;if(this.useGravity){let o=e/.0166666;if(n.x+=this.moveSpeedX*o,n.y+=this.moveSpeedY*o,this.moveSpeedY+=this.gravity*o,this.useAlign&&(n.rotation=Math.atan2(this.moveSpeedY,this.moveSpeedX)),this.useFloor&&this.floorY>0&&n.y>this.floorY){n.y=this.floorY,this.moveSpeedY*=-this.bounceFac,this.moveSpeedX*=this.friction,this.useSpawns&&this._spawnOnBounce&&this.emitter.__subSpawn(this,this.settings.spawn.onBounce);let a=this.emitter;a.__on.particleBounced.__hasCallback&&a.__on.particleBounced.dispatch(this),this.__on.bounced.__hasCallback&&this.__on.bounced.dispatch(this),this.settings.stopOnBounce&&a.__removeParticle(this);return}}else this.useMotion&&(this.distanceEase?(n.x=this.distanceEase(t,this.startX,this.deltaX,r),n.y=this.distanceEase(t,this.startY,this.deltaY,r)):(n.x=this.deltaX*s+this.startX,n.y=this.deltaY*s+this.startY));if(this.useAlpha&&(this.useFadeIn?t<this.fadeInDuration?n.alpha=this.fadeInEase(t,0,this.alphaStart,this.fadeInDuration):n.alpha=this.alphaEase(t-this.fadeInDuration,this.alphaStart,this.alphaDelta,this.alphaDuration):this.alphaEase?n.alpha=this.alphaEase(t,this.alphaStart,this.alphaDelta,r):n.alpha=this.alphaDelta*s+this.alphaStart),this.useRotation&&(n.rotation+=this.rotationSpeed),this.useScale&&(this.uniformScale?this.useScaleIn?t<this.scaleInDuration?n.scale.x=n.scale.y=this.scaleInEase(t,0,this.scaleStart,this.scaleInDuration):n.scale.x=n.scale.y=this.scaleEase(t-this.scaleInDuration,this.scaleStart,this.scaleDelta,this.scaleDuration):this.scaleEase?(n.scale.x=this.scaleEase(t,this.scaleStart,this.scaleDelta,r),n.scale.y=this.scaleEase(t,this.scaleStart,this.scaleDelta,r)):n.scale.x=n.scale.y=this.scaleDelta*s+this.scaleStart:this.useScaleIn?t<this.scaleInDuration?(n.scale.x=this.scaleInEase(t,0,this.scaleXStart,this.scaleInDuration),n.scale.y=this.scaleInEase(t,0,this.scaleYStart,this.scaleInDuration)):(n.scale.x=this.scaleEase(t-this.scaleInDuration,this.scaleXStart,this.scaleXDelta,this.scaleDuration),n.scale.y=this.scaleEase(t-this.scaleInDuration,this.scaleYStart,this.scaleYDelta,this.scaleDuration)):(this.scaleXEase?n.scale.x=this.scaleXEase(t,this.scaleXStart,this.scaleXDelta,r):n.scale.x=this.scaleXDelta*s+this.scaleXStart,this.scaleYEase?n.scale.y=this.scaleYEase(t,this.scaleYStart,this.scaleYDelta,r):n.scale.y=this.scaleYDelta*s+this.scaleYStart)),this.useTint&&(n.tint=this._color.tween(this.tintEase,t,r)),this._spawnOnHalfway&&t>=.5&&(this._spawnOnHalfway=!1,this.emitter.__subSpawn(this,this.settings.spawn.onHalfway)),this.useChilds&&this._hasChildEmitters){let o=this._childEmitters,a=o.length;for(;--a>-1;){let u=o[a];u.__recycled||(u.x=n.position.x,u.y=n.position.y,u.__adoptRotation&&(u.rotation=n.rotation))}}this.emitter.__on.particleUpdated.__hasCallback&&this.emitter.__on.particleUpdated.dispatch(this),this.__on.updated.__hasCallback&&this.__on.updated.dispatch(this)}stop(){this.time=this.duration}recycle(){this.emitter.__on.particleDied.__hasCallback&&this.emitter.__on.particleDied.dispatch(this);let e=this.__on;if(e.died.__hasCallback&&(e.died.dispatch(this),e.died.removeAll()),e.updated.__hasCallback&&e.updated.removeAll(),e.bounced.__hasCallback&&e.bounced.removeAll(),this._hasChildEmitters){let t=this._childEmitters,r=t.length;for(;--r>-1;)t[r].stop(!0);this._childEmitters.length=0,this._hasChildEmitters=!1}this.component.recycle(),this.__fx.__recycleParticle(this),this.dx=this.dy=this.deltaX=this.deltaY=0,this.component=null,this.emitter=null,this.settings=null,this.__recycled=!0}dispose(){this.recycle(),this.__fx=null}get x(){return this.component.x}get y(){return this.component.y}get on(){return this.__on}__removeChildEmitter(e){let t=this._childEmitters.indexOf(e);t>-1&&(this._childEmitters.splice(t,1),this._childEmitters.length==0&&(this._hasChildEmitters=!1))}};var zu=class i{static sanitizeBundle(e){for(let t of e.emitters){let r=i._presetStructure.emitter;i.parse(t,r,i._presetStructure.emitterSpawn)}for(let t of e.sequences){let r=i._presetStructure.sequence;i.parse(t,r,i._presetStructure.sequenceEffect)}}static parse(e,t,r){for(let n in t)if(e[n]==null)e[n]=t[n];else{let s=e[n];if(typeof s!="object")continue;let o=t[n];if(!s.hasOwnProperty("length"))i.parse(s,o,r);else for(let a of s)for(let u in r)a[u]==null&&(a[u]=r[u])}}};zu._presetStructure={sequence:{id:0,name:"",type:1,delay:0,scaleMin:1,scaleMax:1,effects:[]},sequenceEffect:{id:0,componentId:null,componentType:0,delay:0,componentParams:{animationSpeedMin:1,animationSpeedMax:1,anchorX:.5,anchorY:.5,loop:!1},scaleMin:1,scaleMax:1,alphaMin:1,alphaMax:1,rotationMin:0,rotationMax:0,blendMode:0,duration:.1,tint:16777215,containerId:"",triggerValue:""},emitter:{id:0,name:"",type:0,core:{type:"circle",params:{radius:100,radial:!0,angle:6.28318530718,uniform:!1,width:100,height:100}},spawnFrequencyMin:.1,spawnFrequencyMax:.1,maxParticles:1e3,spawnCountMin:1,spawnCountMax:1,duration:0,infinite:!0,useGravity:!1,gravity:0,useFloor:!1,floorY:700,rotation:0,autoRotation:0,particleSettings:{componentType:0,componentId:"",componentParams:{animationSpeedMin:1,animationSpeedMax:1,anchorX:.5,anchorY:.5,loop:!1},durationMin:1,durationMax:2,distanceMin:0,distanceMax:0,distanceEase:"linear",moveSpeedMin:0,moveSpeedMax:0,bounceFacMin:0,bounceFacMax:0,frictionMin:0,frictionMax:0,useMotion:!1,useRotation:!1,useAlpha:!1,useScale:!1,useTint:!1,useChilds:!1,useSpawns:!1,stopOnBounce:!1,align:!1,blendMode:1,addOnTop:!0,rotationSpeedMin:0,rotationSpeedMax:0,randomRotationDirection:!1,randomStartRotation:!1,fadeIn:!0,fadeInDurationFac:.1,fadeInEase:"linear",alphaStartMin:.7,alphaStartMax:.9,alphaEndMin:.7,alphaEndMax:.8,alphaEase:"linear",tintStart:16777215,tintEnd:16777215,tintEase:"linear",scaleIn:!1,scaleInDurationFac:.2,scaleInEase:"linear",uniformScale:!0,scaleXStartMin:1,scaleXStartMax:1,scaleXEndMin:1,scaleXEndMax:1,scaleXEase:"linear",scaleYStartMin:1,scaleYStartMax:1,scaleYEndMin:1,scaleYEndMax:1,scaleYEase:"linear",scaleStartMin:1,scaleStartMax:1,scaleEndMin:1,scaleEndMax:1,scaleEase:"linear",childs:[],spawn:{onComplete:[],onBounce:[],onHalfway:[],onStart:[]}},childs:[]},emitterSpawn:{type:0,id:0,scale:1,adoptRotation:!0,containerId:""}};xe();var Ju=class extends Tt{constructor(e,t,r,n){super(V.from(t)),this.componentId=e,this.anchor.set(r||.5,n||.5),this.__sequenceEndTime=null}recycle(){this.tint=16777215,this.alpha=1,this.rotation=0,this.scale.set(1),this.parent&&this.parent.removeChild(this),this.__fx.__recycleSprite(this.componentId,this)}dispose(){this.__fx=null,this.recycle(),this.destroy(!1)}};function wi(i){if(typeof i!="object"||i===null)return i;let e=Array.isArray(i)?[]:{};for(let t in i){let r=i[t];e[t]=wi(r)}return e}var L6=function(i,e,t,r){function n(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function a(l){try{c(r.next(l))}catch(A){o(A)}}function u(l){try{c(r.throw(l))}catch(A){o(A)}}function c(l){l.done?s(l.value):n(l.value).then(a,u)}c((r=r.apply(i,e||[])).next())})},Hr=class i{constructor(){this.useBlendModes=!0,this.particleCount=0,this.emitterCount=0,this.effectSequenceCount=0,this.maxParticles=5e3,this.particleFac=1,this._active=!1,this._effects=new ai,this.__containers={},this.clearCache(),this.start()}start(){this._active=!0,this._timeElapsed=Date.now()}pause(){this._active=!1}update(e=1){if(!this.active)return;let t=Date.now(),r=(t-this._timeElapsed)*.001;r*=e;let s=this._effects.first,o;for(;s;)o=s.next,s.update(r),s=o;this._timeElapsed=t}clearCache(){this._cache={particles:[],mcs:[],sprites:[],effectSequences:[],emitters:[],cores:{}},this._settingsCache={mcs:{},sprites:{},emitters:{},effectSequences:{}},this._nameMaps={emitters:{},effectSequences:{}}}setFloorY(e){let t=this._settingsCache.emitters;for(let r in t)t[r].floorY=e}dispose(){let e=this._effects,t=e.first;for(;t;)t.dispose(),t=t.next;e.clear(),this.clearCache()}loadBundleFiles(e,t,r="",n=[]){return new Promise((s,o)=>L6(this,void 0,void 0,function*(){let a={rfx_spritesheet:t,rfx_bundleSettings:e};for(var u in n)a[u]=n[u];dt.addBundle("rfx_assets",a);let c=yield dt.loadBundle("rfx_assets");s(this.initBundle(c.rfx_bundleSettings))}))}initBundle(e,t){if(e.__h!==i._bundleHash)throw new Error("Invalid settings file.");if(e.__v!=i.settingsVersion)throw new Error("Settings version mismatch.");zu.sanitizeBundle(e),t&&this.clearCache();for(let r in e.emitters){let n=e.emitters[r];this.addParticleEmitter(n.id,n)}for(let r in e.sequences){let n=e.sequences[r];this.addEffectSequence(n.id,n)}return this.useBlendModes=e.useBlendModes,this.maxParticles=e.maxParticles,this.parseTextureCache(e.spritesheetFilter)}addParticleEmitter(e,t){if(this._settingsCache.emitters[e])throw new Error(`ComponentId '${e}' already exists.`);return this._settingsCache.emitters[e]=t,this._nameMaps.emitters[t.name]=t,this}addEffectSequence(e,t){if(this._settingsCache.effectSequences[e])throw new Error(`ComponentId '${e}' already exists.`);return this._settingsCache.effectSequences[e]=t,this._nameMaps.effectSequences[t.name]=t,this}initSprite(e,t){if(this._settingsCache.sprites[e])throw new Error(`ComponentId '${e}' already exists.`);return this._settingsCache.sprites[e]=t,this}initMovieClip(e,t){if(this._settingsCache.mcs[e])throw new Error(`ComponentId '${e}' already exists.`);return this._settingsCache.mcs[e]=t,this}getMovieClips(){return this._settingsCache.mcs}getSprites(){return this._settingsCache.sprites}addContainer(e,t){this.__containers[e]=t}getEffectSequence(e,t=!1){let r=this._nameMaps.effectSequences[e];if(!r)throw new Error(`Settings not defined for '${e}'`);return this.getEffectSequenceById(r.id,t)}getEffectSequenceById(e,t=!1){let r=this._cache.effectSequences,n,s=this._settingsCache.effectSequences[e];if(!s)throw new Error(`Settings not defined for '${e}'`);return r.length==0?(n=new Pa(e),n.__fx=this):n=r.pop(),t&&(s=wi(s),s.__isClone=!0),n.__applySettings(s),n}getParticleEmitter(e,t=!0,r=!1){let n=this._nameMaps.emitters[e];if(!n)throw new Error(`Settings not defined for '${e}'`);return this.getParticleEmitterById(n.id,t,r)}getParticleEmitterById(e,t=!0,r=!1){let n=this._cache.emitters,s,o=this._settingsCache.emitters[e];if(!o)throw new Error(`Settings not defined for '${e}'`);return n.length==0?(s=new qn(e),s.__fx=this):s=n.pop(),r&&(o=wi(o),o.__isClone=!0),s.autoRecycleOnComplete=t,s.__applySettings(o),s}createParticleEmitterFrom(e,t=!0){let r=this._cache.emitters,n;return r.length==0?(n=new qn(e.id),n.__fx=this):n=r.pop(),n.autoRecycleOnComplete=t,n.__applySettings(e),n}createEffectSequenceEmitterFrom(e){let t=this._cache.effectSequences,r;return t.length==0?(r=new Pa(e.id),r.__fx=this):r=t.pop(),r.__applySettings(e),r}stopEmitter(e,t=!1){e.list===this._effects&&this._effects.remove(e),t?e.dispose():this.__recycleEmitter(e)}stopAllEffects(){let e=this._effects.toArray();for(let t of e)t.recycle()}parseSpriteSheet(e,t){return this.parseObject(e.data.frames,t)}parseTextureCache(e){return this.parseObject(Fe._cache,e)}get active(){return this._active}__addActiveEffect(e){this._effects.add(e)}__removeActiveEffect(e){this._effects.remove(e)}__getSprite(e){let t=this._cache.sprites,r=t[e];if(t[e]==null&&(r=t[e]=[]),r.length==0){let n=this._settingsCache.sprites[e];if(n==null)throw new Error(`Settings not defined for '${e}'`);let s=new Ju(e,n.texture,n.anchorX,n.anchorY);return s.__fx=this,s}return r.pop()}__getMovieClip(e){let t=this._cache.mcs,r=t[e];if(t[e]==null&&(r=t[e]=[]),r.length==0){let n=this._settingsCache.mcs[e];if(n==null)throw new Error(`Settings not defined for '${e}'`);let s=new Ku(e,n.textures,n.anchorX,n.anchorY);return s.__fx=this,s}return r.pop()}__getParticle(){let e=this._cache,t=e.particles;if(t.length==0){let r=new Xu;return r.__fx=this,r}return t.pop()}__getEmitterCore(e,t){let r=this._cache.cores,n=r[e];return n==null&&(n=r[e]=[]),n.length==0?new i.__emitterCores[e](e):n.pop()}__recycleParticle(e){this._cache.particles.push(e)}__recycleSprite(e,t){this._cache.sprites[e].push(t)}__recycleMovieClip(e,t){this._cache.mcs[e].push(t)}__recycleEmitter(e){this._effects.remove(e),this.__recycleEmitterCore(e.core),this._cache.emitters.push(e)}__recycleEffectSequence(e){this._effects.remove(e),this._cache.effectSequences.push(e)}__recycleEmitterCore(e){this._cache.cores[e.type].push(e)}__getBlendMode(e){return void 0===void 0&&typeof e=="number"?this.useBlendModes?i._blendModes[e]:"normal":e}__getSequenceSettings(e){let t=this._settingsCache.effectSequences[e];if(!t)throw new Error(`Settings not defined for '${e}'`);return t}__getEmitterSettings(e){let t=this._settingsCache.emitters[e];if(!t)throw new Error(`Settings not defined for '${e}'`);return t}parseObject(e,t){let r;if(e instanceof Map){r=new Map;let o=e,a=o.values();for(let[u,c]of o)c instanceof V&&(r[u]=c)}else r=e;let n={},s={sprites:[],movieClips:[]};for(let o in r)if(!(t&&o.indexOf(t)==-1)&&(this.initSprite(o,{texture:o,anchorX:.5,anchorY:.5}),s.sprites.push(o),o.substr(0,3)=="mc_")){let u=o.split("_")[1];n[u]==null&&(n[u]=[]),n[u].push(o)}for(let o in n){let a=n[o];s.movieClips.push(o),this.initMovieClip(o,{textures:a,anchorX:.5,anchorY:.5})}return s}};Hr.settingsVersion=0;Hr.version="1.3.4";Hr._bundleHash="80c6df7fb0d3d898f34ce0031c037fef";Hr.ComponentType=qu;Hr.EffectSequenceComponentType=Mr;Hr._blendModes=["normal","add","multiply","screen"];Hr.__emitterCores={circle:ju,box:Wu,ring:Yu};var Ls;(function(i){i[i.ParticleEmitter=0]="ParticleEmitter",i[i.EffectSequence=1]="EffectSequence"})(Ls||(Ls={}));var qn=class extends Us{constructor(e){super(e),this.targetOffset=0,this.autoRecycleOnComplete=!0,this._particles=new ai,this._particleCount=0,this._childEmitters=[],this._hasChildEmitters=!1,this._paused=!1,this.__adoptRotation=!1,this.__on={started:new Bt,completed:new Bt,exhausted:new Bt,particleUpdated:new Bt,particleSpawned:new Bt,particleBounced:new Bt,particleDied:new Bt}}init(e,t=!0,r=1){return this.container=e,this.core.__scaleMod=this._scaleMod=r,t&&this.start(),this}start(){if(this._active)return this;let e=Date.now(),t=this.settings,r=this.__fx;r.emitterCount++,this.infinite=t.infinite,this._time=Number.MAX_VALUE,t.duration>0?this.endTime=e+t.duration*1e3:this.endTime=t.duration,this._nextSpawnTime=0,this._particleCount=0,this._active=!0,this.exhausted=this.completed=!1,r.__addActiveEffect(this);let n=t.childs.length;if(this._hasChildEmitters=n>0,this._hasChildEmitters)for(;--n>-1;){let s=t.childs[n],o=this.settings.__isClone?r.createParticleEmitterFrom(s.settings):r.getParticleEmitterById(s.id),a=r.__containers[o.settings.containerId]||this.container;o.init(a,!0,(s.scale||1)*(this._scaleMod||1)),s.adoptRotation&&(o.rotation=this._rotation,o.__adoptRotation=!0),o.__parent=this,this._childEmitters.push(o)}return this.rotation=this._rotation,this.__on.started.__hasCallback&&this.__on.started.dispatch(this),this}stop(e=!0){e?(this.exhausted=!0,this._hasChildEmitters&&this.stopChildEmitters(!0)):(this.__on.completed.__hasCallback&&this.__on.completed.dispatch(this),this.autoRecycleOnComplete?this.recycle():(this.recycleParticles(),this.completed=!0,this._active=!1,this.__fx.__removeActiveEffect(this)))}update(e){if(!this._active)return this;let t=Date.now(),r=this.settings;this.exhausted?this._particleCount==0&&(this._active=!1,this.completed=!0,this.__on.completed.__hasCallback&&this.__on.completed.dispatch(this),this.__fx.__removeActiveEffect(this),this.autoRecycleOnComplete&&this.recycle()):(this.settings.autoRotation!==0&&(this.rotation+=r.autoRotation*(e/.016666)),this.target&&(this.rotation=this.target.rotation,this.targetOffset==0?(this.x=this.target.x,this.y=this.target.y):(this.x=this.target.x+Math.cos(this._rotation)*this.targetOffset,this.y=this.target.y+Math.sin(this._rotation)*this.targetOffset)),this.endTime==0&&!this.infinite?(this.spawn(),this.exhausted=!0):this.infinite||t<this.endTime?(this._time+=e,this._time>=this._nextSpawnTime&&(this._time=0,this.spawn(),this._nextSpawnTime=this._time+Ie.float(r.spawnFrequencyMin,r.spawnFrequencyMax))):(this.exhausted=!0,this.__on.exhausted.__hasCallback&&this.__on.exhausted.dispatch(this)));let s=this._particles.first,o;for(;s;)o=s.next,s.update(e),s=o;return this}spawn(){if(this._paused)return this;let e=this.settings,t=this.__fx,r=Ie.integer(e.spawnCountMin,e.spawnCountMax)*t.particleFac;for(this.core.prepare(r);--r>-1;){if(this._particleCount>=e.maxParticles||t.particleCount>=t.maxParticles)return this;let n=e.particleSettings,s=t.__getParticle(),o;switch(n.componentType){case 0:s.componentId=n.componentId,o=t.__getSprite(s.componentId);break;case 1:s.componentId=n.componentId,o=t.__getMovieClip(s.componentId),n.componentParams&&(o.loop=!(n.componentParams.loop==null||!n.componentParams.loop),o.animationSpeed=Ie.float(n.componentParams.animationSpeedMin||1,n.componentParams.animationSpeedMax||1)),o.gotoAndPlay(0);break}o.anchor.set(n.componentParams.anchorX,n.componentParams.anchorY),s.component=o,this.core.emit(s),s.init(this,n,this._scaleMod),this._particles.add(s),this._particleCount++,t.particleCount++}return this.core.step(),this._nextSpawnTime=Ie.float(e.spawnFrequencyMin,e.spawnFrequencyMax),this}recycle(){if(this.__recycled)return;this.__parent&&(this.__parent.__removeChildEmitter(this),this.__parent=void 0),this.recycleParticles(),this.settings=void 0,this._active=!1,this._paused=!1,this.completed=!0,this._x=this._y=this._rotation=0,this._hasChildEmitters&&(this.stopChildEmitters(!0),this._childEmitters.length=0,this._hasChildEmitters=!1),this.__fx.emitterCount--,this.__fx.__recycleEmitter(this),this.__recycled=!0,this.__adoptRotation=!1,this.core=null,this.target=null,this.name=null;let e=this.__on;e.completed.__hasCallback&&e.completed.removeAll(),e.started.__hasCallback&&e.started.removeAll(),e.exhausted.__hasCallback&&e.exhausted.removeAll(),e.particleBounced.__hasCallback&&e.particleBounced.removeAll(),e.particleDied.__hasCallback&&e.particleDied.removeAll(),e.particleSpawned.__hasCallback&&e.particleSpawned.removeAll(),e.particleUpdated.__hasCallback&&e.particleUpdated.removeAll()}dispose(){let e=this._particles,t=e.first,r;for(;t;)r=t.next,t.recycle(),t=r;e.clear(),this.__recycled=!0,this._hasChildEmitters&&this.stopChildEmitters(!1),this.__fx.particleCount-=this._particleCount,this._particles=null,this.componentId=null,this.settings=null,this._active=!1,this.completed=!0,this._childEmitters=null,this.core&&this.core.dispose(),this.core=null,this.target=null,this.name=null;let n=this.__on;n.completed.removeAll(),n.started.removeAll(),n.exhausted.removeAll(),n.particleBounced.removeAll(),n.particleDied.removeAll(),n.particleSpawned.removeAll(),n.particleUpdated.removeAll(),this.__parent=null,this.__fx.__removeActiveEffect(this),this.__fx=null}get x(){return this._x}set x(e){if(this._x=this.core.x=e,this._xPosIntialized||(this.core.__x=e,this._xPosIntialized=!0),this._hasChildEmitters){let t=this._childEmitters,r=t.length;for(;--r>-1;)t[r].x=e}}get y(){return this._y}set y(e){if(this._y=this.core.y=e,this._yPosIntialized||(this.core.__y=e,this._yPosIntialized=!0),this._hasChildEmitters){let t=this._childEmitters,r=t.length;for(;--r>-1;)t[r].y=e}}set rotation(e){if(this._rotation=this.core.rotation=e,this._hasChildEmitters){let t=this._childEmitters,r=t.length;for(;--r>-1;){let n=t[r];n.__adoptRotation&&(n.rotation=n.settings.rotation+e)}}}get rotation(){return this._rotation}get paused(){return this._paused}set paused(e){if(this._paused=e,this._hasChildEmitters){let t=this._childEmitters,r=t.length;for(;--r>-1;)t[r].paused=e}}get on(){return this.__on}recycleParticles(){let e=this._particles.first,t;for(;e;)t=e.next,e.recycle(),e=t;this._particles.clear(),this.__fx.particleCount-=this._particleCount}stopChildEmitters(e){let t=this._childEmitters,r=t.length;for(;--r>-1;)t[r].stop(e)}__removeParticle(e){e.useSpawns&&this._spawnOnComplete&&this.__subSpawn(e,this.settings.particleSettings.spawn.onComplete),this._particles.remove(e),this._particleCount--,this.__fx.particleCount--,e.recycle()}__removeChildEmitter(e){let t=this._childEmitters.indexOf(e);t>-1&&(this._childEmitters.splice(t,1),this._childEmitters.length==0&&(this._hasChildEmitters=!1))}__subSpawn(e,t){let r=this.__fx;if(t){let n=t.length;for(;--n>-1;){let s=t[n],o,a;switch(s.type){case 0:o=this.settings.__isClone?r.createParticleEmitterFrom(s.settings):r.getParticleEmitterById(s.id),a=r.__containers[o.settings.containerId]||this.container,o.init(a,!0,(s.scale||1)*this._scaleMod),s.adoptRotation?(o.rotation=e.component.rotation+o.settings.rotation,o.__adoptRotation=!0):o.rotation=o.settings.rotation;break;case 1:o=this.settings.__isClone?r.createEffectSequenceEmitterFrom(s.settings):r.getEffectSequenceById(s.id),a=r.__containers[o.settings.containerId]||this.container,o.init(a,0,!0,(s.scale||1)*this._scaleMod),s.adoptRotation&&(o.rotation=e.component.rotation);break}o.x=e.component.x,o.y=e.component.y}}}__applySettings(e){let t=this.__fx;if(this.__recycled=this._xPosIntialized=this._yPosIntialized=!1,this.settings=e,this.core=t.__getEmitterCore(e.core.type,this),this.core.init(this),this.rotation=e.rotation,this.name=e.name,this._spawnOnComplete=e.particleSettings.spawn.onComplete.length>0,this._childEmitters.length=0,e.__isClone){let r=e.particleSettings.spawn;for(let s in r){let o=r[s];for(let a of o){switch(a.type){case Ls.ParticleEmitter:a.settings=wi(t.__getEmitterSettings(a.id));break;case Ls.EffectSequence:a.settings=wi(t.__getSequenceSettings(a.id));break}a.settings.__isClone=!0}}let n=e.childs;for(let s of n){switch(s.type){case Ls.ParticleEmitter:s.settings=wi(t.__getEmitterSettings(s.id));break;case Ls.EffectSequence:s.settings=wi(t.__getSequenceSettings(s.id));break}s.settings.__isClone=!0}}}__setCore(e){this.core=this.__fx.__getEmitterCore(e,this),this.core.init(this),this.core.__scaleMod=this._scaleMod,this._xPosIntialized=this._yPosIntialized=!1}};var Pa=class extends Us{constructor(e){super(e),this._list=[],this._elements=new ai,this.__on={started:new Bt,completed:new Bt,exhausted:new Bt,effectSpawned:new Bt,triggerActivated:new Bt}}init(e,t=0,r=!0,n=1){return this.container=e,this._scaleMod=n,this._delay=t*1e3,r&&this.start(),this}start(){if(!this._active)return this._startTime=Date.now()+(this.settings.delay?this.settings.delay*1e3:0)+this._delay,this._index=0,this._list.length==0?(this._active=!1,this.__on.exhausted.__hasCallback&&this.__on.exhausted.dispatch(this),this.__on.completed.__hasCallback&&this.__on.completed.dispatch(this),this.recycle(),this):(this.exhausted=this.completed=!1,this.setNextEffect(),this.__fx.effectSequenceCount++,this.__fx.__addActiveEffect(this),this.__on.started.__hasCallback&&this.__on.started.dispatch(this),this)}update(e){let t=Date.now();if(t<this._startTime)return;if(this._time+=e,!this.exhausted&&t>=this._effectStartTime){let s=this.__fx,o=this._nextEffectSettings,a,u,c;switch(o.componentType){case Mr.Sprite:a=s.__getSprite(o.componentId),c=s.__containers[o.containerId]||this.container,c.addChild(a),a.blendMode=s.__getBlendMode(o.blendMode),a.tint=o.tint,a.scale.set(Ie.float(o.scaleMin,o.scaleMax)*Ie.float(this.settings.scaleMin,this.settings.scaleMax)*this._scaleMod),a.alpha=Ie.float(o.alphaMin,o.alphaMax),a.anchor.set(o.componentParams.anchorX,o.componentParams.anchorY),u=new Sr({component:a,endTime:t+o.duration*1e3}),this._elements.add(u),a.x=this._x,a.y=this._y,a.rotation=this._rotation+Ie.float(o.rotationMin,o.rotationMax),this.__on.effectSpawned.__hasCallback&&this.__on.effectSpawned.dispatch(Mr.Sprite,a);break;case Mr.MovieClip:if(a=s.__getMovieClip(o.componentId),o.componentParams.loop)a.animationSpeed=Ie.float(o.componentParams.animationSpeedMin||1,o.componentParams.animationSpeedMax||1),a.loop=o.componentParams.loop||!1;else{let l=o.duration}a.anchor.set(o.componentParams.anchorX,o.componentParams.anchorY),a.gotoAndPlay(0),c=s.__containers[o.containerId]||this.container,c.addChild(a),a.blendMode=s.__getBlendMode(o.blendMode),a.tint=o.tint,a.scale.set(Ie.float(o.scaleMin,o.scaleMax)*Ie.float(this.settings.scaleMin,this.settings.scaleMax)*this._scaleMod),a.alpha=Ie.float(o.alphaMin,o.alphaMax),u=new Sr({component:a,endTime:t+o.duration*1e3}),this._elements.add(u),a.x=this._x,a.y=this._y,a.rotation=this._rotation+Ie.float(o.rotationMin,o.rotationMax),this.__on.effectSpawned.__hasCallback&&this.__on.effectSpawned.dispatch(Mr.MovieClip,a);break;case Mr.Emitter:a=s.getParticleEmitterById(o.componentId),c=s.__containers[o.containerId]||this.container,a.init(c,!0,Ie.float(o.scaleMin,o.scaleMax)*Ie.float(this.settings.scaleMin,this.settings.scaleMax)*this._scaleMod),u=new Sr({component:a,endTime:a.endTime}),this._elements.add(u),a.x=this._x,a.y=this._y,a.rotation=this._rotation+a.settings.rotation,this.__on.effectSpawned.__hasCallback&&this.__on.effectSpawned.dispatch(Mr.Emitter,a);break;case Mr.Trigger:this.__on.triggerActivated.__hasCallback&&this.__on.triggerActivated.dispatch(o.triggerValue);break}this._index==this._list.length?(this.exhausted=!0,this.__on.exhausted.__hasCallback&&this.__on.exhausted.dispatch(this)):this.setNextEffect()}let r=this._elements,n=r.first;for(;n;){if(n.update(e),t>n.data.endTime){let s=n.data.component;s instanceof qn?s.completed&&r.remove(n):(r.remove(n),s.recycle())}n=n.next}this.exhausted&&r.length==0&&(this._active=!1,this.completed=!0,this.__on.completed.__hasCallback&&this.__on.completed.dispatch(this),this.recycle())}stop(){this.recycle()}recycle(){if(this.__recycled)return;let e=this._elements,t=e.first,r;for(;t;)r=t.next,t.data.component.recycle(),t=r;let n=this.__on;n.completed.__hasCallback&&n.completed.removeAll(),n.started.__hasCallback&&n.started.removeAll(),n.exhausted.__hasCallback&&n.exhausted.removeAll(),n.effectSpawned.__hasCallback&&n.effectSpawned.removeAll(),n.triggerActivated.__hasCallback&&n.triggerActivated.removeAll(),e.clear(),this.__recycled=!0,this._x=this._y=this._rotation=0,this.__fx.effectSequenceCount--,this.__fx.__recycleEffectSequence(this)}dispose(){this._elements.clear(),this.__fx=void 0;let e=this.__on;e.completed=e.started=e.exhausted=e.effectSpawned=e.triggerActivated=void 0}set rotation(e){this._rotation=e;let r=this._elements.first,n;for(;r;)n=r.next,r.data.rotation=e,r=n}get x(){return this._x}set x(e){this._x=e;let r=this._elements.first,n;for(;r;)n=r.next,r.data.x=e,r=n}get y(){return this._y}set y(e){this._y=e;let r=this._elements.first,n;for(;r;)n=r.next,r.data.y=e,r=n}get rotation(){return this._rotation}get on(){return this.__on}setNextEffect(){if(this.exhausted)return;let e=this._nextEffectSettings=this._list[this._index++];this._effectStartTime=this._startTime+e.delay*1e3}__applySettings(e){this.settings=e,this.name=e.name,this._list=e.effects.slice(),this.__recycled=!1}};function N6(i){let{emit:e,settings:t={}}=i,{name:r}=St(i),n=new Hr,s;return dt.add({alias:"fx_settings",src:"/default-bundle.json"}),dt.add({alias:"fx_spritesheet",src:"/revoltfx-spritesheet.json"}),Up(({deltaRatio:o})=>{n.update(o)}),ba(async o=>{s=o;let u={...(await dt.load(["fx_settings","fx_spritesheet"])).fx_settings};if(t.emitters){let l=t.emitters.map((A,h)=>({...A,id:1e4+h}));u.emitters=[...u.emitters,...l]}n.initBundle(u,!0)}),Hp(e,()=>{n.getParticleEmitter(r()).init(s.componentInstance)}),Ve(wr)}function H6(i){let{radius:e}=St(i),t=IF(1),r=1,n=2,s=.001,o=()=>{let u=Date.now()*s,c=(Math.sin(u)+Math.sin(u*1.3)+Math.sin(u*.7))/3,l=r+(n-r)*(c*.5+.5);t.update(()=>l),requestAnimationFrame(o)};return o(),Ve(Bi,{draw:u=>{let c=e()*2,l=new rg(c,c,0,c,c,0);l.addColorStop(0,"rgba(255, 255, 0, 1)"),l.addColorStop(.5,"rgba(255, 255, 0, 0.3)"),l.addColorStop(.8,"rgba(255, 255, 0, 0)");let A=c/2;u.rect(-A,-A,c,c).fill(l.render({translate:{x:A,y:A}}))},...i,scale:t})}function q6(i){let{children:e}=i,t,r=Qe(0),n=Qe(0),s,o=a=>{a.rect(-80,-80,r()+80*2,n()+80*2),a.fill(0);let c=l=>{let A=tt(l.propObservables.x)?l.propObservables.x():l.props.x,h=tt(l.propObservables.y)?l.propObservables.y():l.props.y,f=tt(l.propObservables.radius)?l.propObservables.radius():l.props.radius;a.circle(A,h,f),a.cut()};for(let l of e){if((0,Zx.isObservable)(l)){s&&s.unsubscribe(),s=l.subscribe(A=>{for(let h of A.fullElements)c(h)});return}c(l)}};return ba(a=>{gt(()=>{let{displayWidth:u,displayHeight:c}=a.componentInstance,l=+u(),A=+c();setTimeout(()=>{r.update(()=>l),n.update(()=>A)},0)})}),Ve(wr,{width:"100%",height:"100%",...i},Ve(Bi,{draw:o,alpha:.8,blur:80}),...e)}xe();var eO=(u=>(u.LEFT="left",u.TOP="top",u.BOTTOM="bottom",u.RIGHT="right",u.TOP_LEFT="top_left",u.TOP_RIGHT="top_right",u.BOTTOM_LEFT="bottom_left",u.BOTTOM_RIGHT="bottom_right",u))(eO||{});function W6(i={}){let e=Object.assign({outerScale:{x:1,y:1},innerScale:{x:1,y:1}},i),t=70,r=10,n=.5,s=!1,o=null,a=0,u=Qe(0),c=Qe(0),l=Qe(n);function A(x){let I=x.x-0,P=x.y-0;return Math.min(1,Math.sqrt(I*I+P*P)/t)}function h(x){let I=Math.atan2(x.y,x.x);return I>=-Math.PI/8&&I<0||I>=0&&I<Math.PI/8?"right":I>=Math.PI/8&&I<3*Math.PI/8?"bottom_right":I>=3*Math.PI/8&&I<5*Math.PI/8?"bottom":I>=5*Math.PI/8&&I<7*Math.PI/8?"bottom_left":I>=7*Math.PI/8&&I<Math.PI||I>=-Math.PI&&I<-7*Math.PI/8?"left":I>=-7*Math.PI/8&&I<-5*Math.PI/8?"top_left":I>=-5*Math.PI/8&&I<-3*Math.PI/8?"top":"top_right"}function f(x){o=x.getLocalPosition(this),s=!0,l.set(1),e.onStart?.()}function d(){s&&(u.set(0),c.set(0),s=!1,l.set(n),e.onEnd?.())}function y(x){if(s==!1)return;let I=x.getLocalPosition(this),P=I.x-(o?.x??0),F=I.y-(o?.y??0),G=new re(0,0),q=0;if(P==0&&F==0)return;let T=0;P*P+F*F>=t*t?T=t:T=t-r;let K="left";if(P==0){F>0?(G.set(0,F>t?t:F),q=270,K="bottom"):(G.set(0,-(Math.abs(F)>t?t:Math.abs(F))),q=90,K="top"),u.set(G.x),c.set(G.y),a=A(G),e.onChange?.({angle:q,direction:K,power:a});return}if(F==0){P>0?(G.set(Math.abs(P)>t?t:Math.abs(P),0),q=0,K="left"):(G.set(-(Math.abs(P)>t?t:Math.abs(P)),0),q=180,K="right"),u.set(G.x),c.set(G.y),a=A(G),e.onChange?.({angle:q,direction:K,power:a});return}let J=Math.abs(F/P),$=Math.atan(J);q=$*180/Math.PI;let ue=0,_e=0;P*P+F*F>=t*t?(ue=t*Math.cos($),_e=t*Math.sin($)):(ue=Math.abs(P)>t?t:Math.abs(P),_e=Math.abs(F)>t?t:Math.abs(F)),F<0&&(_e=-Math.abs(_e)),P<0&&(ue=-Math.abs(ue)),P>0&&F<0||(P<0&&F<0?q=180-q:P<0&&F>0?q=q+180:P>0&&F>0&&(q=360-q)),G.set(ue,_e),a=A(G),K=h(G),u.set(G.x),c.set(G.y),e.onChange?.({angle:q,direction:K,power:a})}let g,E;e.outer?E=Ve(ku,{image:e.outer,anchor:{x:.5,y:.5},scale:e.outerScale}):E=Ve(Bi,{draw:x=>{x.circle(0,0,t).fill(0)},alpha:.5});let _={scale:e.innerScale,x:u,y:c,alpha:l};return e.inner?g=Ve(ku,{image:e.inner,anchor:{x:.5,y:.5},..._}):g=Ve(Bi,{draw:x=>{x.circle(0,0,r*2.5).fill(0)},..._}),Ve(wr,{...i,pointerdown:f,pointerup:d,pointerupoutside:d,pointermove:y},E,g)}var Ns=(i=>(i.Tile="tilelayer",i.ObjectGroup="objectgroup",i.Image="imagelayer",i.Group="group",i))(Ns||{});function sg(...i){return i.filter(e=>e&&e.length>0).join("/").replace(/\/+/g,"/")}function j6(i){return i.substring(0,i.lastIndexOf("/")+1)}function Y6(i){if(Object.prototype.hasOwnProperty.call(i,"__esModule"))return i;var e=i.default;if(typeof e=="function"){var t=function r(){return this instanceof r?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};t.prototype=e.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(i).forEach(function(r){var n=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return i[r]}})}),t}var e_={},K6={},V6=Object.freeze(Object.defineProperty({__proto__:null,default:K6},Symbol.toStringTag,{value:"Module"})),tO=Y6(V6),rO;function X6(){return rO||(rO=1,function(i){(function(e){e.parser=function(S,B){return new r(S,B)},e.SAXParser=r,e.SAXStream=l,e.createStream=c,e.MAX_BUFFER_LENGTH=64*1024;var t=["comment","sgmlDecl","textNode","tagName","doctype","procInstName","procInstBody","entity","attribName","attribValue","cdata","script"];e.EVENTS=["text","processinginstruction","sgmldeclaration","doctype","comment","opentagstart","attribute","opentag","closetag","opencdata","cdata","closecdata","error","end","ready","script","opennamespace","closenamespace"];function r(S,B){if(!(this instanceof r))return new r(S,B);var H=this;s(H),H.q=H.c="",H.bufferCheckPosition=e.MAX_BUFFER_LENGTH,H.opt=B||{},H.opt.lowercase=H.opt.lowercase||H.opt.lowercasetags,H.looseCase=H.opt.lowercase?"toLowerCase":"toUpperCase",H.tags=[],H.closed=H.closedRoot=H.sawRoot=!1,H.tag=H.error=null,H.strict=!!S,H.noscript=!!(S||H.opt.noscript),H.state=T.BEGIN,H.strictEntities=H.opt.strictEntities,H.ENTITIES=H.strictEntities?Object.create(e.XML_ENTITIES):Object.create(e.ENTITIES),H.attribList=[],H.opt.xmlns&&(H.ns=Object.create(y)),H.opt.unquotedAttributeValues===void 0&&(H.opt.unquotedAttributeValues=!S),H.trackPosition=H.opt.position!==!1,H.trackPosition&&(H.position=H.line=H.column=0),J(H,"onready")}Object.create||(Object.create=function(S){function B(){}B.prototype=S;var H=new B;return H}),Object.keys||(Object.keys=function(S){var B=[];for(var H in S)S.hasOwnProperty(H)&&B.push(H);return B});function n(S){for(var B=Math.max(e.MAX_BUFFER_LENGTH,10),H=0,U=0,we=t.length;U<we;U++){var Ge=S[t[U]].length;if(Ge>B)switch(t[U]){case"textNode":ue(S);break;case"cdata":$(S,"oncdata",S.cdata),S.cdata="";break;case"script":$(S,"onscript",S.script),S.script="";break;default:Ze(S,"Max buffer length exceeded: "+t[U])}H=Math.max(H,Ge)}var Pe=e.MAX_BUFFER_LENGTH-H;S.bufferCheckPosition=Pe+S.position}function s(S){for(var B=0,H=t.length;B<H;B++)S[t[B]]=""}function o(S){ue(S),S.cdata!==""&&($(S,"oncdata",S.cdata),S.cdata=""),S.script!==""&&($(S,"onscript",S.script),S.script="")}r.prototype={end:function(){ce(this)},write:sr,resume:function(){return this.error=null,this},close:function(){return this.write(null)},flush:function(){o(this)}};var a;try{a=tO.Stream}catch{a=function(){}}a||(a=function(){});var u=e.EVENTS.filter(function(S){return S!=="error"&&S!=="end"});function c(S,B){return new l(S,B)}function l(S,B){if(!(this instanceof l))return new l(S,B);a.apply(this),this._parser=new r(S,B),this.writable=!0,this.readable=!0;var H=this;this._parser.onend=function(){H.emit("end")},this._parser.onerror=function(U){H.emit("error",U),H._parser.error=null},this._decoder=null,u.forEach(function(U){Object.defineProperty(H,"on"+U,{get:function(){return H._parser["on"+U]},set:function(we){if(!we)return H.removeAllListeners(U),H._parser["on"+U]=we,we;H.on(U,we)},enumerable:!0,configurable:!1})})}l.prototype=Object.create(a.prototype,{constructor:{value:l}}),l.prototype.write=function(S){if(typeof Buffer=="function"&&typeof Buffer.isBuffer=="function"&&Buffer.isBuffer(S)){if(!this._decoder){var B=tO.StringDecoder;this._decoder=new B("utf8")}S=this._decoder.write(S)}return this._parser.write(S.toString()),this.emit("data",S),!0},l.prototype.end=function(S){return S&&S.length&&this.write(S),this._parser.end(),!0},l.prototype.on=function(S,B){var H=this;return!H._parser["on"+S]&&u.indexOf(S)!==-1&&(H._parser["on"+S]=function(){var U=arguments.length===1?[arguments[0]]:Array.apply(null,arguments);U.splice(0,0,S),H.emit.apply(H,U)}),a.prototype.on.call(H,S,B)};var A="[CDATA[",h="DOCTYPE",f="http://www.w3.org/XML/1998/namespace",d="http://www.w3.org/2000/xmlns/",y={xml:f,xmlns:d},g=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,E=/[:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/,_=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,x=/[#:_A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\u00B7\u0300-\u036F\u203F-\u2040.\d-]/;function I(S){return S===" "||S===`
|
|
890
|
+
`||S==="\r"||S===" "}function P(S){return S==='"'||S==="'"}function F(S){return S===">"||I(S)}function G(S,B){return S.test(B)}function q(S,B){return!G(S,B)}var T=0;e.STATE={BEGIN:T++,BEGIN_WHITESPACE:T++,TEXT:T++,TEXT_ENTITY:T++,OPEN_WAKA:T++,SGML_DECL:T++,SGML_DECL_QUOTED:T++,DOCTYPE:T++,DOCTYPE_QUOTED:T++,DOCTYPE_DTD:T++,DOCTYPE_DTD_QUOTED:T++,COMMENT_STARTING:T++,COMMENT:T++,COMMENT_ENDING:T++,COMMENT_ENDED:T++,CDATA:T++,CDATA_ENDING:T++,CDATA_ENDING_2:T++,PROC_INST:T++,PROC_INST_BODY:T++,PROC_INST_ENDING:T++,OPEN_TAG:T++,OPEN_TAG_SLASH:T++,ATTRIB:T++,ATTRIB_NAME:T++,ATTRIB_NAME_SAW_WHITE:T++,ATTRIB_VALUE:T++,ATTRIB_VALUE_QUOTED:T++,ATTRIB_VALUE_CLOSED:T++,ATTRIB_VALUE_UNQUOTED:T++,ATTRIB_VALUE_ENTITY_Q:T++,ATTRIB_VALUE_ENTITY_U:T++,CLOSE_TAG:T++,CLOSE_TAG_SAW_WHITE:T++,SCRIPT:T++,SCRIPT_ENDING:T++},e.XML_ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'"},e.ENTITIES={amp:"&",gt:">",lt:"<",quot:'"',apos:"'",AElig:198,Aacute:193,Acirc:194,Agrave:192,Aring:197,Atilde:195,Auml:196,Ccedil:199,ETH:208,Eacute:201,Ecirc:202,Egrave:200,Euml:203,Iacute:205,Icirc:206,Igrave:204,Iuml:207,Ntilde:209,Oacute:211,Ocirc:212,Ograve:210,Oslash:216,Otilde:213,Ouml:214,THORN:222,Uacute:218,Ucirc:219,Ugrave:217,Uuml:220,Yacute:221,aacute:225,acirc:226,aelig:230,agrave:224,aring:229,atilde:227,auml:228,ccedil:231,eacute:233,ecirc:234,egrave:232,eth:240,euml:235,iacute:237,icirc:238,igrave:236,iuml:239,ntilde:241,oacute:243,ocirc:244,ograve:242,oslash:248,otilde:245,ouml:246,szlig:223,thorn:254,uacute:250,ucirc:251,ugrave:249,uuml:252,yacute:253,yuml:255,copy:169,reg:174,nbsp:160,iexcl:161,cent:162,pound:163,curren:164,yen:165,brvbar:166,sect:167,uml:168,ordf:170,laquo:171,not:172,shy:173,macr:175,deg:176,plusmn:177,sup1:185,sup2:178,sup3:179,acute:180,micro:181,para:182,middot:183,cedil:184,ordm:186,raquo:187,frac14:188,frac12:189,frac34:190,iquest:191,times:215,divide:247,OElig:338,oelig:339,Scaron:352,scaron:353,Yuml:376,fnof:402,circ:710,tilde:732,Alpha:913,Beta:914,Gamma:915,Delta:916,Epsilon:917,Zeta:918,Eta:919,Theta:920,Iota:921,Kappa:922,Lambda:923,Mu:924,Nu:925,Xi:926,Omicron:927,Pi:928,Rho:929,Sigma:931,Tau:932,Upsilon:933,Phi:934,Chi:935,Psi:936,Omega:937,alpha:945,beta:946,gamma:947,delta:948,epsilon:949,zeta:950,eta:951,theta:952,iota:953,kappa:954,lambda:955,mu:956,nu:957,xi:958,omicron:959,pi:960,rho:961,sigmaf:962,sigma:963,tau:964,upsilon:965,phi:966,chi:967,psi:968,omega:969,thetasym:977,upsih:978,piv:982,ensp:8194,emsp:8195,thinsp:8201,zwnj:8204,zwj:8205,lrm:8206,rlm:8207,ndash:8211,mdash:8212,lsquo:8216,rsquo:8217,sbquo:8218,ldquo:8220,rdquo:8221,bdquo:8222,dagger:8224,Dagger:8225,bull:8226,hellip:8230,permil:8240,prime:8242,Prime:8243,lsaquo:8249,rsaquo:8250,oline:8254,frasl:8260,euro:8364,image:8465,weierp:8472,real:8476,trade:8482,alefsym:8501,larr:8592,uarr:8593,rarr:8594,darr:8595,harr:8596,crarr:8629,lArr:8656,uArr:8657,rArr:8658,dArr:8659,hArr:8660,forall:8704,part:8706,exist:8707,empty:8709,nabla:8711,isin:8712,notin:8713,ni:8715,prod:8719,sum:8721,minus:8722,lowast:8727,radic:8730,prop:8733,infin:8734,ang:8736,and:8743,or:8744,cap:8745,cup:8746,int:8747,there4:8756,sim:8764,cong:8773,asymp:8776,ne:8800,equiv:8801,le:8804,ge:8805,sub:8834,sup:8835,nsub:8836,sube:8838,supe:8839,oplus:8853,otimes:8855,perp:8869,sdot:8901,lceil:8968,rceil:8969,lfloor:8970,rfloor:8971,lang:9001,rang:9002,loz:9674,spades:9824,clubs:9827,hearts:9829,diams:9830},Object.keys(e.ENTITIES).forEach(function(S){var B=e.ENTITIES[S],H=typeof B=="number"?String.fromCharCode(B):B;e.ENTITIES[S]=H});for(var K in e.STATE)e.STATE[e.STATE[K]]=K;T=e.STATE;function J(S,B,H){S[B]&&S[B](H)}function $(S,B,H){S.textNode&&ue(S),J(S,B,H)}function ue(S){S.textNode=_e(S.opt,S.textNode),S.textNode&&J(S,"ontext",S.textNode),S.textNode=""}function _e(S,B){return S.trim&&(B=B.trim()),S.normalize&&(B=B.replace(/\s+/g," ")),B}function Ze(S,B){return ue(S),S.trackPosition&&(B+=`
|
|
891
|
+
Line: `+S.line+`
|
|
892
|
+
Column: `+S.column+`
|
|
893
|
+
Char: `+S.c),B=new Error(B),S.error=B,J(S,"onerror",B),S}function ce(S){return S.sawRoot&&!S.closedRoot&&te(S,"Unclosed root tag"),S.state!==T.BEGIN&&S.state!==T.BEGIN_WHITESPACE&&S.state!==T.TEXT&&Ze(S,"Unexpected end"),ue(S),S.c="",S.closed=!0,J(S,"onend"),r.call(S,S.strict,S.opt),S}function te(S,B){if(typeof S!="object"||!(S instanceof r))throw new Error("bad call to strictFail");S.strict&&Ze(S,B)}function vt(S){S.strict||(S.tagName=S.tagName[S.looseCase]());var B=S.tags[S.tags.length-1]||S,H=S.tag={name:S.tagName,attributes:{}};S.opt.xmlns&&(H.ns=B.ns),S.attribList.length=0,$(S,"onopentagstart",H)}function Me(S,B){var H=S.indexOf(":"),U=H<0?["",S]:S.split(":"),we=U[0],Ge=U[1];return B&&S==="xmlns"&&(we="xmlns",Ge=""),{prefix:we,local:Ge}}function Et(S){if(S.strict||(S.attribName=S.attribName[S.looseCase]()),S.attribList.indexOf(S.attribName)!==-1||S.tag.attributes.hasOwnProperty(S.attribName)){S.attribName=S.attribValue="";return}if(S.opt.xmlns){var B=Me(S.attribName,!0),H=B.prefix,U=B.local;if(H==="xmlns")if(U==="xml"&&S.attribValue!==f)te(S,"xml: prefix must be bound to "+f+`
|
|
894
|
+
Actual: `+S.attribValue);else if(U==="xmlns"&&S.attribValue!==d)te(S,"xmlns: prefix must be bound to "+d+`
|
|
895
|
+
Actual: `+S.attribValue);else{var we=S.tag,Ge=S.tags[S.tags.length-1]||S;we.ns===Ge.ns&&(we.ns=Object.create(Ge.ns)),we.ns[U]=S.attribValue}S.attribList.push([S.attribName,S.attribValue])}else S.tag.attributes[S.attribName]=S.attribValue,$(S,"onattribute",{name:S.attribName,value:S.attribValue});S.attribName=S.attribValue=""}function Ce(S,B){if(S.opt.xmlns){var H=S.tag,U=Me(S.tagName);H.prefix=U.prefix,H.local=U.local,H.uri=H.ns[U.prefix]||"",H.prefix&&!H.uri&&(te(S,"Unbound namespace prefix: "+JSON.stringify(S.tagName)),H.uri=U.prefix);var we=S.tags[S.tags.length-1]||S;H.ns&&we.ns!==H.ns&&Object.keys(H.ns).forEach(function(Kt){$(S,"onopennamespace",{prefix:Kt,uri:H.ns[Kt]})});for(var Ge=0,Pe=S.attribList.length;Ge<Pe;Ge++){var ye=S.attribList[Ge],He=ye[0],or=ye[1],qe=Me(He,!0),ct=qe.prefix,Zi=qe.local,Ir=ct===""?"":H.ns[ct]||"",jr={name:He,value:or,prefix:ct,local:Zi,uri:Ir};ct&&ct!=="xmlns"&&!Ir&&(te(S,"Unbound namespace prefix: "+JSON.stringify(ct)),jr.uri=ct),S.tag.attributes[He]=jr,$(S,"onattribute",jr)}S.attribList.length=0}S.tag.isSelfClosing=!!B,S.sawRoot=!0,S.tags.push(S.tag),$(S,"onopentag",S.tag),B||(!S.noscript&&S.tagName.toLowerCase()==="script"?S.state=T.SCRIPT:S.state=T.TEXT,S.tag=null,S.tagName=""),S.attribName=S.attribValue="",S.attribList.length=0}function Re(S){if(!S.tagName){te(S,"Weird empty close tag."),S.textNode+="</>",S.state=T.TEXT;return}if(S.script){if(S.tagName!=="script"){S.script+="</"+S.tagName+">",S.tagName="",S.state=T.SCRIPT;return}$(S,"onscript",S.script),S.script=""}var B=S.tags.length,H=S.tagName;S.strict||(H=H[S.looseCase]());for(var U=H;B--;){var we=S.tags[B];if(we.name!==U)te(S,"Unexpected close tag");else break}if(B<0){te(S,"Unmatched closing tag: "+S.tagName),S.textNode+="</"+S.tagName+">",S.state=T.TEXT;return}S.tagName=H;for(var Ge=S.tags.length;Ge-- >B;){var Pe=S.tag=S.tags.pop();S.tagName=S.tag.name,$(S,"onclosetag",S.tagName);var ye={};for(var He in Pe.ns)ye[He]=Pe.ns[He];var or=S.tags[S.tags.length-1]||S;S.opt.xmlns&&Pe.ns!==or.ns&&Object.keys(Pe.ns).forEach(function(qe){var ct=Pe.ns[qe];$(S,"onclosenamespace",{prefix:qe,uri:ct})})}B===0&&(S.closedRoot=!0),S.tagName=S.attribValue=S.attribName="",S.attribList.length=0,S.state=T.TEXT}function Ot(S){var B=S.entity,H=B.toLowerCase(),U,we="";return S.ENTITIES[B]?S.ENTITIES[B]:S.ENTITIES[H]?S.ENTITIES[H]:(B=H,B.charAt(0)==="#"&&(B.charAt(1)==="x"?(B=B.slice(2),U=parseInt(B,16),we=U.toString(16)):(B=B.slice(1),U=parseInt(B,10),we=U.toString(10))),B=B.replace(/^0+/,""),isNaN(U)||we.toLowerCase()!==B?(te(S,"Invalid character entity"),"&"+S.entity+";"):String.fromCodePoint(U))}function Gt(S,B){B==="<"?(S.state=T.OPEN_WAKA,S.startTagPosition=S.position):I(B)||(te(S,"Non-whitespace before first tag."),S.textNode=B,S.state=T.TEXT)}function pt(S,B){var H="";return B<S.length&&(H=S.charAt(B)),H}function sr(S){var B=this;if(this.error)throw this.error;if(B.closed)return Ze(B,"Cannot write after close. Assign an onready handler.");if(S===null)return ce(B);typeof S=="object"&&(S=S.toString());for(var H=0,U="";U=pt(S,H++),B.c=U,!!U;)switch(B.trackPosition&&(B.position++,U===`
|
|
896
|
+
`?(B.line++,B.column=0):B.column++),B.state){case T.BEGIN:if(B.state=T.BEGIN_WHITESPACE,U==="\uFEFF")continue;Gt(B,U);continue;case T.BEGIN_WHITESPACE:Gt(B,U);continue;case T.TEXT:if(B.sawRoot&&!B.closedRoot){for(var we=H-1;U&&U!=="<"&&U!=="&";)U=pt(S,H++),U&&B.trackPosition&&(B.position++,U===`
|
|
897
|
+
`?(B.line++,B.column=0):B.column++);B.textNode+=S.substring(we,H-1)}U==="<"&&!(B.sawRoot&&B.closedRoot&&!B.strict)?(B.state=T.OPEN_WAKA,B.startTagPosition=B.position):(!I(U)&&(!B.sawRoot||B.closedRoot)&&te(B,"Text data outside of root node."),U==="&"?B.state=T.TEXT_ENTITY:B.textNode+=U);continue;case T.SCRIPT:U==="<"?B.state=T.SCRIPT_ENDING:B.script+=U;continue;case T.SCRIPT_ENDING:U==="/"?B.state=T.CLOSE_TAG:(B.script+="<"+U,B.state=T.SCRIPT);continue;case T.OPEN_WAKA:if(U==="!")B.state=T.SGML_DECL,B.sgmlDecl="";else if(!I(U))if(G(g,U))B.state=T.OPEN_TAG,B.tagName=U;else if(U==="/")B.state=T.CLOSE_TAG,B.tagName="";else if(U==="?")B.state=T.PROC_INST,B.procInstName=B.procInstBody="";else{if(te(B,"Unencoded <"),B.startTagPosition+1<B.position){var Ge=B.position-B.startTagPosition;U=new Array(Ge).join(" ")+U}B.textNode+="<"+U,B.state=T.TEXT}continue;case T.SGML_DECL:if(B.sgmlDecl+U==="--"){B.state=T.COMMENT,B.comment="",B.sgmlDecl="";continue}B.doctype&&B.doctype!==!0&&B.sgmlDecl?(B.state=T.DOCTYPE_DTD,B.doctype+="<!"+B.sgmlDecl+U,B.sgmlDecl=""):(B.sgmlDecl+U).toUpperCase()===A?($(B,"onopencdata"),B.state=T.CDATA,B.sgmlDecl="",B.cdata=""):(B.sgmlDecl+U).toUpperCase()===h?(B.state=T.DOCTYPE,(B.doctype||B.sawRoot)&&te(B,"Inappropriately located doctype declaration"),B.doctype="",B.sgmlDecl=""):U===">"?($(B,"onsgmldeclaration",B.sgmlDecl),B.sgmlDecl="",B.state=T.TEXT):(P(U)&&(B.state=T.SGML_DECL_QUOTED),B.sgmlDecl+=U);continue;case T.SGML_DECL_QUOTED:U===B.q&&(B.state=T.SGML_DECL,B.q=""),B.sgmlDecl+=U;continue;case T.DOCTYPE:U===">"?(B.state=T.TEXT,$(B,"ondoctype",B.doctype),B.doctype=!0):(B.doctype+=U,U==="["?B.state=T.DOCTYPE_DTD:P(U)&&(B.state=T.DOCTYPE_QUOTED,B.q=U));continue;case T.DOCTYPE_QUOTED:B.doctype+=U,U===B.q&&(B.q="",B.state=T.DOCTYPE);continue;case T.DOCTYPE_DTD:U==="]"?(B.doctype+=U,B.state=T.DOCTYPE):U==="<"?(B.state=T.OPEN_WAKA,B.startTagPosition=B.position):P(U)?(B.doctype+=U,B.state=T.DOCTYPE_DTD_QUOTED,B.q=U):B.doctype+=U;continue;case T.DOCTYPE_DTD_QUOTED:B.doctype+=U,U===B.q&&(B.state=T.DOCTYPE_DTD,B.q="");continue;case T.COMMENT:U==="-"?B.state=T.COMMENT_ENDING:B.comment+=U;continue;case T.COMMENT_ENDING:U==="-"?(B.state=T.COMMENT_ENDED,B.comment=_e(B.opt,B.comment),B.comment&&$(B,"oncomment",B.comment),B.comment=""):(B.comment+="-"+U,B.state=T.COMMENT);continue;case T.COMMENT_ENDED:U!==">"?(te(B,"Malformed comment"),B.comment+="--"+U,B.state=T.COMMENT):B.doctype&&B.doctype!==!0?B.state=T.DOCTYPE_DTD:B.state=T.TEXT;continue;case T.CDATA:U==="]"?B.state=T.CDATA_ENDING:B.cdata+=U;continue;case T.CDATA_ENDING:U==="]"?B.state=T.CDATA_ENDING_2:(B.cdata+="]"+U,B.state=T.CDATA);continue;case T.CDATA_ENDING_2:U===">"?(B.cdata&&$(B,"oncdata",B.cdata),$(B,"onclosecdata"),B.cdata="",B.state=T.TEXT):U==="]"?B.cdata+="]":(B.cdata+="]]"+U,B.state=T.CDATA);continue;case T.PROC_INST:U==="?"?B.state=T.PROC_INST_ENDING:I(U)?B.state=T.PROC_INST_BODY:B.procInstName+=U;continue;case T.PROC_INST_BODY:if(!B.procInstBody&&I(U))continue;U==="?"?B.state=T.PROC_INST_ENDING:B.procInstBody+=U;continue;case T.PROC_INST_ENDING:U===">"?($(B,"onprocessinginstruction",{name:B.procInstName,body:B.procInstBody}),B.procInstName=B.procInstBody="",B.state=T.TEXT):(B.procInstBody+="?"+U,B.state=T.PROC_INST_BODY);continue;case T.OPEN_TAG:G(E,U)?B.tagName+=U:(vt(B),U===">"?Ce(B):U==="/"?B.state=T.OPEN_TAG_SLASH:(I(U)||te(B,"Invalid character in tag name"),B.state=T.ATTRIB));continue;case T.OPEN_TAG_SLASH:U===">"?(Ce(B,!0),Re(B)):(te(B,"Forward-slash in opening tag not followed by >"),B.state=T.ATTRIB);continue;case T.ATTRIB:if(I(U))continue;U===">"?Ce(B):U==="/"?B.state=T.OPEN_TAG_SLASH:G(g,U)?(B.attribName=U,B.attribValue="",B.state=T.ATTRIB_NAME):te(B,"Invalid attribute name");continue;case T.ATTRIB_NAME:U==="="?B.state=T.ATTRIB_VALUE:U===">"?(te(B,"Attribute without value"),B.attribValue=B.attribName,Et(B),Ce(B)):I(U)?B.state=T.ATTRIB_NAME_SAW_WHITE:G(E,U)?B.attribName+=U:te(B,"Invalid attribute name");continue;case T.ATTRIB_NAME_SAW_WHITE:if(U==="=")B.state=T.ATTRIB_VALUE;else{if(I(U))continue;te(B,"Attribute without value"),B.tag.attributes[B.attribName]="",B.attribValue="",$(B,"onattribute",{name:B.attribName,value:""}),B.attribName="",U===">"?Ce(B):G(g,U)?(B.attribName=U,B.state=T.ATTRIB_NAME):(te(B,"Invalid attribute name"),B.state=T.ATTRIB)}continue;case T.ATTRIB_VALUE:if(I(U))continue;P(U)?(B.q=U,B.state=T.ATTRIB_VALUE_QUOTED):(B.opt.unquotedAttributeValues||Ze(B,"Unquoted attribute value"),B.state=T.ATTRIB_VALUE_UNQUOTED,B.attribValue=U);continue;case T.ATTRIB_VALUE_QUOTED:if(U!==B.q){U==="&"?B.state=T.ATTRIB_VALUE_ENTITY_Q:B.attribValue+=U;continue}Et(B),B.q="",B.state=T.ATTRIB_VALUE_CLOSED;continue;case T.ATTRIB_VALUE_CLOSED:I(U)?B.state=T.ATTRIB:U===">"?Ce(B):U==="/"?B.state=T.OPEN_TAG_SLASH:G(g,U)?(te(B,"No whitespace between attributes"),B.attribName=U,B.attribValue="",B.state=T.ATTRIB_NAME):te(B,"Invalid attribute name");continue;case T.ATTRIB_VALUE_UNQUOTED:if(!F(U)){U==="&"?B.state=T.ATTRIB_VALUE_ENTITY_U:B.attribValue+=U;continue}Et(B),U===">"?Ce(B):B.state=T.ATTRIB;continue;case T.CLOSE_TAG:if(B.tagName)U===">"?Re(B):G(E,U)?B.tagName+=U:B.script?(B.script+="</"+B.tagName,B.tagName="",B.state=T.SCRIPT):(I(U)||te(B,"Invalid tagname in closing tag"),B.state=T.CLOSE_TAG_SAW_WHITE);else{if(I(U))continue;q(g,U)?B.script?(B.script+="</"+U,B.state=T.SCRIPT):te(B,"Invalid tagname in closing tag."):B.tagName=U}continue;case T.CLOSE_TAG_SAW_WHITE:if(I(U))continue;U===">"?Re(B):te(B,"Invalid characters in closing tag");continue;case T.TEXT_ENTITY:case T.ATTRIB_VALUE_ENTITY_Q:case T.ATTRIB_VALUE_ENTITY_U:var Pe,ye;switch(B.state){case T.TEXT_ENTITY:Pe=T.TEXT,ye="textNode";break;case T.ATTRIB_VALUE_ENTITY_Q:Pe=T.ATTRIB_VALUE_QUOTED,ye="attribValue";break;case T.ATTRIB_VALUE_ENTITY_U:Pe=T.ATTRIB_VALUE_UNQUOTED,ye="attribValue";break}if(U===";"){var He=Ot(B);B.opt.unparsedEntities&&!Object.values(e.XML_ENTITIES).includes(He)?(B.entity="",B.state=Pe,B.write(He)):(B[ye]+=He,B.entity="",B.state=Pe)}else G(B.entity.length?x:_,U)?B.entity+=U:(te(B,"Invalid character in entity name"),B[ye]+="&"+B.entity+U,B.entity="",B.state=Pe);continue;default:throw new Error(B,"Unknown state: "+B.state)}return B.position>=B.bufferCheckPosition&&n(B),B}String.fromCodePoint||function(){var S=String.fromCharCode,B=Math.floor,H=function(){var U=16384,we=[],Ge,Pe,ye=-1,He=arguments.length;if(!He)return"";for(var or="";++ye<He;){var qe=Number(arguments[ye]);if(!isFinite(qe)||qe<0||qe>1114111||B(qe)!==qe)throw RangeError("Invalid code point: "+qe);qe<=65535?we.push(qe):(qe-=65536,Ge=(qe>>10)+55296,Pe=qe%1024+56320,we.push(Ge,Pe)),(ye+1===He||we.length>U)&&(or+=S.apply(null,we),we.length=0)}return or};Object.defineProperty?Object.defineProperty(String,"fromCodePoint",{value:H,configurable:!0,writable:!0}):String.fromCodePoint=H}()})(i)}(e_)),e_}var t_,iO;function h_(){return iO||(iO=1,t_={isArray:function(i){return Array.isArray?Array.isArray(i):Object.prototype.toString.call(i)==="[object Array]"}}),t_}var r_,nO;function f_(){if(nO)return r_;nO=1;var i=h_().isArray;return r_={copyOptions:function(e){var t,r={};for(t in e)e.hasOwnProperty(t)&&(r[t]=e[t]);return r},ensureFlagExists:function(e,t){(!(e in t)||typeof t[e]!="boolean")&&(t[e]=!1)},ensureSpacesExists:function(e){(!("spaces"in e)||typeof e.spaces!="number"&&typeof e.spaces!="string")&&(e.spaces=0)},ensureAlwaysArrayExists:function(e){(!("alwaysArray"in e)||typeof e.alwaysArray!="boolean"&&!i(e.alwaysArray))&&(e.alwaysArray=!1)},ensureKeyExists:function(e,t){(!(e+"Key"in t)||typeof t[e+"Key"]!="string")&&(t[e+"Key"]=t.compact?"_"+e:e)},checkFnExists:function(e,t){return e+"Fn"in t}},r_}var i_,sO;function fO(){if(sO)return i_;sO=1;var i=X6(),e=f_(),t=h_().isArray,r,n;function s(E){return r=e.copyOptions(E),e.ensureFlagExists("ignoreDeclaration",r),e.ensureFlagExists("ignoreInstruction",r),e.ensureFlagExists("ignoreAttributes",r),e.ensureFlagExists("ignoreText",r),e.ensureFlagExists("ignoreComment",r),e.ensureFlagExists("ignoreCdata",r),e.ensureFlagExists("ignoreDoctype",r),e.ensureFlagExists("compact",r),e.ensureFlagExists("alwaysChildren",r),e.ensureFlagExists("addParent",r),e.ensureFlagExists("trim",r),e.ensureFlagExists("nativeType",r),e.ensureFlagExists("nativeTypeAttributes",r),e.ensureFlagExists("sanitize",r),e.ensureFlagExists("instructionHasAttributes",r),e.ensureFlagExists("captureSpacesBetweenElements",r),e.ensureAlwaysArrayExists(r),e.ensureKeyExists("declaration",r),e.ensureKeyExists("instruction",r),e.ensureKeyExists("attributes",r),e.ensureKeyExists("text",r),e.ensureKeyExists("comment",r),e.ensureKeyExists("cdata",r),e.ensureKeyExists("doctype",r),e.ensureKeyExists("type",r),e.ensureKeyExists("name",r),e.ensureKeyExists("elements",r),e.ensureKeyExists("parent",r),e.checkFnExists("doctype",r),e.checkFnExists("instruction",r),e.checkFnExists("cdata",r),e.checkFnExists("comment",r),e.checkFnExists("text",r),e.checkFnExists("instructionName",r),e.checkFnExists("elementName",r),e.checkFnExists("attributeName",r),e.checkFnExists("attributeValue",r),e.checkFnExists("attributes",r),r}function o(E){var _=Number(E);if(!isNaN(_))return _;var x=E.toLowerCase();return x==="true"?!0:x==="false"?!1:E}function a(E,_){var x;if(r.compact){if(!n[r[E+"Key"]]&&(t(r.alwaysArray)?r.alwaysArray.indexOf(r[E+"Key"])!==-1:r.alwaysArray)&&(n[r[E+"Key"]]=[]),n[r[E+"Key"]]&&!t(n[r[E+"Key"]])&&(n[r[E+"Key"]]=[n[r[E+"Key"]]]),E+"Fn"in r&&typeof _=="string"&&(_=r[E+"Fn"](_,n)),E==="instruction"&&("instructionFn"in r||"instructionNameFn"in r)){for(x in _)if(_.hasOwnProperty(x))if("instructionFn"in r)_[x]=r.instructionFn(_[x],x,n);else{var I=_[x];delete _[x],_[r.instructionNameFn(x,I,n)]=I}}t(n[r[E+"Key"]])?n[r[E+"Key"]].push(_):n[r[E+"Key"]]=_}else{n[r.elementsKey]||(n[r.elementsKey]=[]);var P={};if(P[r.typeKey]=E,E==="instruction"){for(x in _)if(_.hasOwnProperty(x))break;P[r.nameKey]="instructionNameFn"in r?r.instructionNameFn(x,_,n):x,r.instructionHasAttributes?(P[r.attributesKey]=_[x][r.attributesKey],"instructionFn"in r&&(P[r.attributesKey]=r.instructionFn(P[r.attributesKey],x,n))):("instructionFn"in r&&(_[x]=r.instructionFn(_[x],x,n)),P[r.instructionKey]=_[x])}else E+"Fn"in r&&(_=r[E+"Fn"](_,n)),P[r[E+"Key"]]=_;r.addParent&&(P[r.parentKey]=n),n[r.elementsKey].push(P)}}function u(E){if("attributesFn"in r&&E&&(E=r.attributesFn(E,n)),(r.trim||"attributeValueFn"in r||"attributeNameFn"in r||r.nativeTypeAttributes)&&E){var _;for(_ in E)if(E.hasOwnProperty(_)&&(r.trim&&(E[_]=E[_].trim()),r.nativeTypeAttributes&&(E[_]=o(E[_])),"attributeValueFn"in r&&(E[_]=r.attributeValueFn(E[_],_,n)),"attributeNameFn"in r)){var x=E[_];delete E[_],E[r.attributeNameFn(_,E[_],n)]=x}}return E}function c(E){var _={};if(E.body&&(E.name.toLowerCase()==="xml"||r.instructionHasAttributes)){for(var x=/([\w:-]+)\s*=\s*(?:"([^"]*)"|'([^']*)'|(\w+))\s*/g,I;(I=x.exec(E.body))!==null;)_[I[1]]=I[2]||I[3]||I[4];_=u(_)}if(E.name.toLowerCase()==="xml"){if(r.ignoreDeclaration)return;n[r.declarationKey]={},Object.keys(_).length&&(n[r.declarationKey][r.attributesKey]=_),r.addParent&&(n[r.declarationKey][r.parentKey]=n)}else{if(r.ignoreInstruction)return;r.trim&&(E.body=E.body.trim());var P={};r.instructionHasAttributes&&Object.keys(_).length?(P[E.name]={},P[E.name][r.attributesKey]=_):P[E.name]=E.body,a("instruction",P)}}function l(E,_){var x;if(typeof E=="object"&&(_=E.attributes,E=E.name),_=u(_),"elementNameFn"in r&&(E=r.elementNameFn(E,n)),r.compact){if(x={},!r.ignoreAttributes&&_&&Object.keys(_).length){x[r.attributesKey]={};var I;for(I in _)_.hasOwnProperty(I)&&(x[r.attributesKey][I]=_[I])}!(E in n)&&(t(r.alwaysArray)?r.alwaysArray.indexOf(E)!==-1:r.alwaysArray)&&(n[E]=[]),n[E]&&!t(n[E])&&(n[E]=[n[E]]),t(n[E])?n[E].push(x):n[E]=x}else n[r.elementsKey]||(n[r.elementsKey]=[]),x={},x[r.typeKey]="element",x[r.nameKey]=E,!r.ignoreAttributes&&_&&Object.keys(_).length&&(x[r.attributesKey]=_),r.alwaysChildren&&(x[r.elementsKey]=[]),n[r.elementsKey].push(x);x[r.parentKey]=n,n=x}function A(E){r.ignoreText||!E.trim()&&!r.captureSpacesBetweenElements||(r.trim&&(E=E.trim()),r.nativeType&&(E=o(E)),r.sanitize&&(E=E.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")),a("text",E))}function h(E){r.ignoreComment||(r.trim&&(E=E.trim()),a("comment",E))}function f(E){var _=n[r.parentKey];r.addParent||delete n[r.parentKey],n=_}function d(E){r.ignoreCdata||(r.trim&&(E=E.trim()),a("cdata",E))}function y(E){r.ignoreDoctype||(E=E.replace(/^ /,""),r.trim&&(E=E.trim()),a("doctype",E))}function g(E){E.note=E}return i_=function(E,_){var x=i.parser(!0,{}),I={};if(n=I,r=s(_),x.opt={strictEntities:!0},x.onopentag=l,x.ontext=A,x.oncomment=h,x.onclosetag=f,x.onerror=g,x.oncdata=d,x.ondoctype=y,x.onprocessinginstruction=c,x.write(E).close(),I[r.elementsKey]){var P=I[r.elementsKey];delete I[r.elementsKey],I[r.elementsKey]=P,delete I.text}return I},i_}var n_,oO;function z6(){if(oO)return n_;oO=1;var i=f_(),e=fO();function t(r){var n=i.copyOptions(r);return i.ensureSpacesExists(n),n}return n_=function(r,n){var s,o,a,u;return s=t(n),o=e(r,s),u="compact"in s&&s.compact?"_parent":"parent","addParent"in s&&s.addParent?a=JSON.stringify(o,function(c,l){return c===u?"_":l},s.spaces):a=JSON.stringify(o,null,s.spaces),a.replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")},n_}var s_,aO;function dO(){if(aO)return s_;aO=1;var i=f_(),e=h_().isArray,t,r;function n(x){var I=i.copyOptions(x);return i.ensureFlagExists("ignoreDeclaration",I),i.ensureFlagExists("ignoreInstruction",I),i.ensureFlagExists("ignoreAttributes",I),i.ensureFlagExists("ignoreText",I),i.ensureFlagExists("ignoreComment",I),i.ensureFlagExists("ignoreCdata",I),i.ensureFlagExists("ignoreDoctype",I),i.ensureFlagExists("compact",I),i.ensureFlagExists("indentText",I),i.ensureFlagExists("indentCdata",I),i.ensureFlagExists("indentAttributes",I),i.ensureFlagExists("indentInstruction",I),i.ensureFlagExists("fullTagEmptyElement",I),i.ensureFlagExists("noQuotesForNativeAttributes",I),i.ensureSpacesExists(I),typeof I.spaces=="number"&&(I.spaces=Array(I.spaces+1).join(" ")),i.ensureKeyExists("declaration",I),i.ensureKeyExists("instruction",I),i.ensureKeyExists("attributes",I),i.ensureKeyExists("text",I),i.ensureKeyExists("comment",I),i.ensureKeyExists("cdata",I),i.ensureKeyExists("doctype",I),i.ensureKeyExists("type",I),i.ensureKeyExists("name",I),i.ensureKeyExists("elements",I),i.checkFnExists("doctype",I),i.checkFnExists("instruction",I),i.checkFnExists("cdata",I),i.checkFnExists("comment",I),i.checkFnExists("text",I),i.checkFnExists("instructionName",I),i.checkFnExists("elementName",I),i.checkFnExists("attributeName",I),i.checkFnExists("attributeValue",I),i.checkFnExists("attributes",I),i.checkFnExists("fullTagEmptyElement",I),I}function s(x,I,P){return(!P&&x.spaces?`
|
|
898
|
+
`:"")+Array(I+1).join(x.spaces)}function o(x,I,P){if(I.ignoreAttributes)return"";"attributesFn"in I&&(x=I.attributesFn(x,r,t));var F,G,q,T,K=[];for(F in x)x.hasOwnProperty(F)&&x[F]!==null&&x[F]!==void 0&&(T=I.noQuotesForNativeAttributes&&typeof x[F]!="string"?"":'"',G=""+x[F],G=G.replace(/"/g,"""),q="attributeNameFn"in I?I.attributeNameFn(F,G,r,t):F,K.push(I.spaces&&I.indentAttributes?s(I,P+1,!1):" "),K.push(q+"="+T+("attributeValueFn"in I?I.attributeValueFn(G,F,r,t):G)+T));return x&&Object.keys(x).length&&I.spaces&&I.indentAttributes&&K.push(s(I,P,!1)),K.join("")}function a(x,I,P){return t=x,r="xml",I.ignoreDeclaration?"":"<?xml"+o(x[I.attributesKey],I,P)+"?>"}function u(x,I,P){if(I.ignoreInstruction)return"";var F;for(F in x)if(x.hasOwnProperty(F))break;var G="instructionNameFn"in I?I.instructionNameFn(F,x[F],r,t):F;if(typeof x[F]=="object")return t=x,r=G,"<?"+G+o(x[F][I.attributesKey],I,P)+"?>";var q=x[F]?x[F]:"";return"instructionFn"in I&&(q=I.instructionFn(q,F,r,t)),"<?"+G+(q?" "+q:"")+"?>"}function c(x,I){return I.ignoreComment?"":"<!--"+("commentFn"in I?I.commentFn(x,r,t):x)+"-->"}function l(x,I){return I.ignoreCdata?"":"<![CDATA["+("cdataFn"in I?I.cdataFn(x,r,t):x.replace("]]>","]]]]><![CDATA[>"))+"]]>"}function A(x,I){return I.ignoreDoctype?"":"<!DOCTYPE "+("doctypeFn"in I?I.doctypeFn(x,r,t):x)+">"}function h(x,I){return I.ignoreText?"":(x=""+x,x=x.replace(/&/g,"&"),x=x.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),"textFn"in I?I.textFn(x,r,t):x)}function f(x,I){var P;if(x.elements&&x.elements.length)for(P=0;P<x.elements.length;++P)switch(x.elements[P][I.typeKey]){case"text":if(I.indentText)return!0;break;case"cdata":if(I.indentCdata)return!0;break;case"instruction":if(I.indentInstruction)return!0;break;case"doctype":case"comment":case"element":return!0;default:return!0}return!1}function d(x,I,P){t=x,r=x.name;var F=[],G="elementNameFn"in I?I.elementNameFn(x.name,x):x.name;F.push("<"+G),x[I.attributesKey]&&F.push(o(x[I.attributesKey],I,P));var q=x[I.elementsKey]&&x[I.elementsKey].length||x[I.attributesKey]&&x[I.attributesKey]["xml:space"]==="preserve";return q||("fullTagEmptyElementFn"in I?q=I.fullTagEmptyElementFn(x.name,x):q=I.fullTagEmptyElement),q?(F.push(">"),x[I.elementsKey]&&x[I.elementsKey].length&&(F.push(y(x[I.elementsKey],I,P+1)),t=x,r=x.name),F.push(I.spaces&&f(x,I)?`
|
|
899
|
+
`+Array(P+1).join(I.spaces):""),F.push("</"+G+">")):F.push("/>"),F.join("")}function y(x,I,P,F){return x.reduce(function(G,q){var T=s(I,P,F&&!G);switch(q.type){case"element":return G+T+d(q,I,P);case"comment":return G+T+c(q[I.commentKey],I);case"doctype":return G+T+A(q[I.doctypeKey],I);case"cdata":return G+(I.indentCdata?T:"")+l(q[I.cdataKey],I);case"text":return G+(I.indentText?T:"")+h(q[I.textKey],I);case"instruction":var K={};return K[q[I.nameKey]]=q[I.attributesKey]?q:q[I.instructionKey],G+(I.indentInstruction?T:"")+u(K,I,P)}},"")}function g(x,I,P){var F;for(F in x)if(x.hasOwnProperty(F))switch(F){case I.parentKey:case I.attributesKey:break;case I.textKey:if(I.indentText||P)return!0;break;case I.cdataKey:if(I.indentCdata||P)return!0;break;case I.instructionKey:if(I.indentInstruction||P)return!0;break;case I.doctypeKey:case I.commentKey:return!0;default:return!0}return!1}function E(x,I,P,F,G){t=x,r=I;var q="elementNameFn"in P?P.elementNameFn(I,x):I;if(typeof x>"u"||x===null||x==="")return"fullTagEmptyElementFn"in P&&P.fullTagEmptyElementFn(I,x)||P.fullTagEmptyElement?"<"+q+"></"+q+">":"<"+q+"/>";var T=[];if(I){if(T.push("<"+q),typeof x!="object")return T.push(">"+h(x,P)+"</"+q+">"),T.join("");x[P.attributesKey]&&T.push(o(x[P.attributesKey],P,F));var K=g(x,P,!0)||x[P.attributesKey]&&x[P.attributesKey]["xml:space"]==="preserve";if(K||("fullTagEmptyElementFn"in P?K=P.fullTagEmptyElementFn(I,x):K=P.fullTagEmptyElement),K)T.push(">");else return T.push("/>"),T.join("")}return T.push(_(x,P,F+1,!1)),t=x,r=I,I&&T.push((G?s(P,F,!1):"")+"</"+q+">"),T.join("")}function _(x,I,P,F){var G,q,T,K=[];for(q in x)if(x.hasOwnProperty(q))for(T=e(x[q])?x[q]:[x[q]],G=0;G<T.length;++G){switch(q){case I.declarationKey:K.push(a(T[G],I,P));break;case I.instructionKey:K.push((I.indentInstruction?s(I,P,F):"")+u(T[G],I,P));break;case I.attributesKey:case I.parentKey:break;case I.textKey:K.push((I.indentText?s(I,P,F):"")+h(T[G],I));break;case I.cdataKey:K.push((I.indentCdata?s(I,P,F):"")+l(T[G],I));break;case I.doctypeKey:K.push(s(I,P,F)+A(T[G],I));break;case I.commentKey:K.push(s(I,P,F)+c(T[G],I));break;default:K.push(s(I,P,F)+E(T[G],q,I,P,g(T[G],I)))}F=F&&!K.length}return K.join("")}return s_=function(x,I){I=n(I);var P=[];return t=x,r="_root_",I.compact?P.push(_(x,I,0,!0)):(x[I.declarationKey]&&P.push(a(x[I.declarationKey],I,0)),x[I.elementsKey]&&x[I.elementsKey].length&&P.push(y(x[I.elementsKey],I,0,!P.length))),P.join("")},s_}var o_,lO;function J6(){if(lO)return o_;lO=1;var i=dO();return o_=function(e,t){e instanceof Buffer&&(e=e.toString());var r=null;if(typeof e=="string")try{r=JSON.parse(e)}catch{throw new Error("The JSON structure is invalid")}else r=e;return i(r,t)},o_}var a_,uO;function Z6(){if(uO)return a_;uO=1;var i=fO(),e=z6(),t=dO(),r=J6();return a_={xml2js:i,xml2json:e,js2xml:t,json2xml:r},a_}var l_=Z6(),u_={},Zu={},cO;function $6(){if(cO)return Zu;cO=1,Zu.byteLength=a,Zu.toByteArray=c,Zu.fromByteArray=h;for(var i=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",n=0,s=r.length;n<s;++n)i[n]=r[n],e[r.charCodeAt(n)]=n;e[45]=62,e[95]=63;function o(f){var d=f.length;if(d%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var y=f.indexOf("=");y===-1&&(y=d);var g=y===d?0:4-y%4;return[y,g]}function a(f){var d=o(f),y=d[0],g=d[1];return(y+g)*3/4-g}function u(f,d,y){return(d+y)*3/4-y}function c(f){var d,y=o(f),g=y[0],E=y[1],_=new t(u(f,g,E)),x=0,I=E>0?g-4:g,P;for(P=0;P<I;P+=4)d=e[f.charCodeAt(P)]<<18|e[f.charCodeAt(P+1)]<<12|e[f.charCodeAt(P+2)]<<6|e[f.charCodeAt(P+3)],_[x++]=d>>16&255,_[x++]=d>>8&255,_[x++]=d&255;return E===2&&(d=e[f.charCodeAt(P)]<<2|e[f.charCodeAt(P+1)]>>4,_[x++]=d&255),E===1&&(d=e[f.charCodeAt(P)]<<10|e[f.charCodeAt(P+1)]<<4|e[f.charCodeAt(P+2)]>>2,_[x++]=d>>8&255,_[x++]=d&255),_}function l(f){return i[f>>18&63]+i[f>>12&63]+i[f>>6&63]+i[f&63]}function A(f,d,y){for(var g,E=[],_=d;_<y;_+=3)g=(f[_]<<16&16711680)+(f[_+1]<<8&65280)+(f[_+2]&255),E.push(l(g));return E.join("")}function h(f){for(var d,y=f.length,g=y%3,E=[],_=16383,x=0,I=y-g;x<I;x+=_)E.push(A(f,x,x+_>I?I:x+_));return g===1?(d=f[y-1],E.push(i[d>>2]+i[d<<4&63]+"==")):g===2&&(d=(f[y-2]<<8)+f[y-1],E.push(i[d>>10]+i[d>>4&63]+i[d<<2&63]+"=")),E.join("")}return Zu}var ng={};var AO;function e9(){return AO||(AO=1,ng.read=function(i,e,t,r,n){var s,o,a=n*8-r-1,u=(1<<a)-1,c=u>>1,l=-7,A=t?n-1:0,h=t?-1:1,f=i[e+A];for(A+=h,s=f&(1<<-l)-1,f>>=-l,l+=a;l>0;s=s*256+i[e+A],A+=h,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=r;l>0;o=o*256+i[e+A],A+=h,l-=8);if(s===0)s=1-c;else{if(s===u)return o?NaN:(f?-1:1)*(1/0);o=o+Math.pow(2,r),s=s-c}return(f?-1:1)*o*Math.pow(2,s-r)},ng.write=function(i,e,t,r,n,s){var o,a,u,c=s*8-n-1,l=(1<<c)-1,A=l>>1,h=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,f=r?0:s-1,d=r?1:-1,y=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-o))<1&&(o--,u*=2),o+A>=1?e+=h/u:e+=h*Math.pow(2,1-A),e*u>=2&&(o++,u/=2),o+A>=l?(a=0,o=l):o+A>=1?(a=(e*u-1)*Math.pow(2,n),o=o+A):(a=e*Math.pow(2,A-1)*Math.pow(2,n),o=0));n>=8;i[t+f]=a&255,f+=d,a/=256,n-=8);for(o=o<<n|a,c+=n;c>0;i[t+f]=o&255,f+=d,o/=256,c-=8);i[t+f-d]|=y*128}),ng}var hO;function t9(){return hO||(hO=1,function(i){let e=$6(),t=e9(),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;i.Buffer=a,i.SlowBuffer=_,i.INSPECT_MAX_BYTES=50;let n=2147483647;i.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=s(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function s(){try{let b=new Uint8Array(1),p={foo:function(){return 42}};return Object.setPrototypeOf(p,Uint8Array.prototype),Object.setPrototypeOf(b,p),b.foo()===42}catch{return!1}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset}});function o(b){if(b>n)throw new RangeError('The value "'+b+'" is invalid for option "size"');let p=new Uint8Array(b);return Object.setPrototypeOf(p,a.prototype),p}function a(b,p,m){if(typeof b=="number"){if(typeof p=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return A(b)}return u(b,p,m)}a.poolSize=8192;function u(b,p,m){if(typeof b=="string")return h(b,p);if(ArrayBuffer.isView(b))return d(b);if(b==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof b);if(Kt(b,ArrayBuffer)||b&&Kt(b.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Kt(b,SharedArrayBuffer)||b&&Kt(b.buffer,SharedArrayBuffer)))return y(b,p,m);if(typeof b=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let M=b.valueOf&&b.valueOf();if(M!=null&&M!==b)return a.from(M,p,m);let R=g(b);if(R)return R;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof b[Symbol.toPrimitive]=="function")return a.from(b[Symbol.toPrimitive]("string"),p,m);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof b)}a.from=function(b,p,m){return u(b,p,m)},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function c(b){if(typeof b!="number")throw new TypeError('"size" argument must be of type number');if(b<0)throw new RangeError('The value "'+b+'" is invalid for option "size"')}function l(b,p,m){return c(b),b<=0?o(b):p!==void 0?typeof m=="string"?o(b).fill(p,m):o(b).fill(p):o(b)}a.alloc=function(b,p,m){return l(b,p,m)};function A(b){return c(b),o(b<0?0:E(b)|0)}a.allocUnsafe=function(b){return A(b)},a.allocUnsafeSlow=function(b){return A(b)};function h(b,p){if((typeof p!="string"||p==="")&&(p="utf8"),!a.isEncoding(p))throw new TypeError("Unknown encoding: "+p);let m=x(b,p)|0,M=o(m),R=M.write(b,p);return R!==m&&(M=M.slice(0,R)),M}function f(b){let p=b.length<0?0:E(b.length)|0,m=o(p);for(let M=0;M<p;M+=1)m[M]=b[M]&255;return m}function d(b){if(Kt(b,Uint8Array)){let p=new Uint8Array(b);return y(p.buffer,p.byteOffset,p.byteLength)}return f(b)}function y(b,p,m){if(p<0||b.byteLength<p)throw new RangeError('"offset" is outside of buffer bounds');if(b.byteLength<p+(m||0))throw new RangeError('"length" is outside of buffer bounds');let M;return p===void 0&&m===void 0?M=new Uint8Array(b):m===void 0?M=new Uint8Array(b,p):M=new Uint8Array(b,p,m),Object.setPrototypeOf(M,a.prototype),M}function g(b){if(a.isBuffer(b)){let p=E(b.length)|0,m=o(p);return m.length===0||b.copy(m,0,0,p),m}if(b.length!==void 0)return typeof b.length!="number"||$i(b.length)?o(0):f(b);if(b.type==="Buffer"&&Array.isArray(b.data))return f(b.data)}function E(b){if(b>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return b|0}function _(b){return+b!=b&&(b=0),a.alloc(+b)}a.isBuffer=function(p){return p!=null&&p._isBuffer===!0&&p!==a.prototype},a.compare=function(p,m){if(Kt(p,Uint8Array)&&(p=a.from(p,p.offset,p.byteLength)),Kt(m,Uint8Array)&&(m=a.from(m,m.offset,m.byteLength)),!a.isBuffer(p)||!a.isBuffer(m))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(p===m)return 0;let M=p.length,R=m.length;for(let W=0,Y=Math.min(M,R);W<Y;++W)if(p[W]!==m[W]){M=p[W],R=m[W];break}return M<R?-1:R<M?1:0},a.isEncoding=function(p){switch(String(p).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},a.concat=function(p,m){if(!Array.isArray(p))throw new TypeError('"list" argument must be an Array of Buffers');if(p.length===0)return a.alloc(0);let M;if(m===void 0)for(m=0,M=0;M<p.length;++M)m+=p[M].length;let R=a.allocUnsafe(m),W=0;for(M=0;M<p.length;++M){let Y=p[M];if(Kt(Y,Uint8Array))W+Y.length>R.length?(a.isBuffer(Y)||(Y=a.from(Y)),Y.copy(R,W)):Uint8Array.prototype.set.call(R,Y,W);else if(a.isBuffer(Y))Y.copy(R,W);else throw new TypeError('"list" argument must be an Array of Buffers');W+=Y.length}return R};function x(b,p){if(a.isBuffer(b))return b.length;if(ArrayBuffer.isView(b)||Kt(b,ArrayBuffer))return b.byteLength;if(typeof b!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof b);let m=b.length,M=arguments.length>2&&arguments[2]===!0;if(!M&&m===0)return 0;let R=!1;for(;;)switch(p){case"ascii":case"latin1":case"binary":return m;case"utf8":case"utf-8":return qe(b).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m*2;case"hex":return m>>>1;case"base64":return Ir(b).length;default:if(R)return M?-1:qe(b).length;p=(""+p).toLowerCase(),R=!0}}a.byteLength=x;function I(b,p,m){let M=!1;if((p===void 0||p<0)&&(p=0),p>this.length||((m===void 0||m>this.length)&&(m=this.length),m<=0)||(m>>>=0,p>>>=0,m<=p))return"";for(b||(b="utf8");;)switch(b){case"hex":return Me(this,p,m);case"utf8":case"utf-8":return _e(this,p,m);case"ascii":return te(this,p,m);case"latin1":case"binary":return vt(this,p,m);case"base64":return ue(this,p,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Et(this,p,m);default:if(M)throw new TypeError("Unknown encoding: "+b);b=(b+"").toLowerCase(),M=!0}}a.prototype._isBuffer=!0;function P(b,p,m){let M=b[p];b[p]=b[m],b[m]=M}a.prototype.swap16=function(){let p=this.length;if(p%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let m=0;m<p;m+=2)P(this,m,m+1);return this},a.prototype.swap32=function(){let p=this.length;if(p%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let m=0;m<p;m+=4)P(this,m,m+3),P(this,m+1,m+2);return this},a.prototype.swap64=function(){let p=this.length;if(p%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let m=0;m<p;m+=8)P(this,m,m+7),P(this,m+1,m+6),P(this,m+2,m+5),P(this,m+3,m+4);return this},a.prototype.toString=function(){let p=this.length;return p===0?"":arguments.length===0?_e(this,0,p):I.apply(this,arguments)},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(p){if(!a.isBuffer(p))throw new TypeError("Argument must be a Buffer");return this===p?!0:a.compare(this,p)===0},a.prototype.inspect=function(){let p="",m=i.INSPECT_MAX_BYTES;return p=this.toString("hex",0,m).replace(/(.{2})/g,"$1 ").trim(),this.length>m&&(p+=" ... "),"<Buffer "+p+">"},r&&(a.prototype[r]=a.prototype.inspect),a.prototype.compare=function(p,m,M,R,W){if(Kt(p,Uint8Array)&&(p=a.from(p,p.offset,p.byteLength)),!a.isBuffer(p))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof p);if(m===void 0&&(m=0),M===void 0&&(M=p?p.length:0),R===void 0&&(R=0),W===void 0&&(W=this.length),m<0||M>p.length||R<0||W>this.length)throw new RangeError("out of range index");if(R>=W&&m>=M)return 0;if(R>=W)return-1;if(m>=M)return 1;if(m>>>=0,M>>>=0,R>>>=0,W>>>=0,this===p)return 0;let Y=W-R,be=M-m,Xe=Math.min(Y,be),Ne=this.slice(R,W),$e=p.slice(m,M);for(let Oe=0;Oe<Xe;++Oe)if(Ne[Oe]!==$e[Oe]){Y=Ne[Oe],be=$e[Oe];break}return Y<be?-1:be<Y?1:0};function F(b,p,m,M,R){if(b.length===0)return-1;if(typeof m=="string"?(M=m,m=0):m>2147483647?m=2147483647:m<-2147483648&&(m=-2147483648),m=+m,$i(m)&&(m=R?0:b.length-1),m<0&&(m=b.length+m),m>=b.length){if(R)return-1;m=b.length-1}else if(m<0)if(R)m=0;else return-1;if(typeof p=="string"&&(p=a.from(p,M)),a.isBuffer(p))return p.length===0?-1:G(b,p,m,M,R);if(typeof p=="number")return p=p&255,typeof Uint8Array.prototype.indexOf=="function"?R?Uint8Array.prototype.indexOf.call(b,p,m):Uint8Array.prototype.lastIndexOf.call(b,p,m):G(b,[p],m,M,R);throw new TypeError("val must be string, number or Buffer")}function G(b,p,m,M,R){let W=1,Y=b.length,be=p.length;if(M!==void 0&&(M=String(M).toLowerCase(),M==="ucs2"||M==="ucs-2"||M==="utf16le"||M==="utf-16le")){if(b.length<2||p.length<2)return-1;W=2,Y/=2,be/=2,m/=2}function Xe($e,Oe){return W===1?$e[Oe]:$e.readUInt16BE(Oe*W)}let Ne;if(R){let $e=-1;for(Ne=m;Ne<Y;Ne++)if(Xe(b,Ne)===Xe(p,$e===-1?0:Ne-$e)){if($e===-1&&($e=Ne),Ne-$e+1===be)return $e*W}else $e!==-1&&(Ne-=Ne-$e),$e=-1}else for(m+be>Y&&(m=Y-be),Ne=m;Ne>=0;Ne--){let $e=!0;for(let Oe=0;Oe<be;Oe++)if(Xe(b,Ne+Oe)!==Xe(p,Oe)){$e=!1;break}if($e)return Ne}return-1}a.prototype.includes=function(p,m,M){return this.indexOf(p,m,M)!==-1},a.prototype.indexOf=function(p,m,M){return F(this,p,m,M,!0)},a.prototype.lastIndexOf=function(p,m,M){return F(this,p,m,M,!1)};function q(b,p,m,M){m=Number(m)||0;let R=b.length-m;M?(M=Number(M),M>R&&(M=R)):M=R;let W=p.length;M>W/2&&(M=W/2);let Y;for(Y=0;Y<M;++Y){let be=parseInt(p.substr(Y*2,2),16);if($i(be))return Y;b[m+Y]=be}return Y}function T(b,p,m,M){return jr(qe(p,b.length-m),b,m,M)}function K(b,p,m,M){return jr(ct(p),b,m,M)}function J(b,p,m,M){return jr(Ir(p),b,m,M)}function $(b,p,m,M){return jr(Zi(p,b.length-m),b,m,M)}a.prototype.write=function(p,m,M,R){if(m===void 0)R="utf8",M=this.length,m=0;else if(M===void 0&&typeof m=="string")R=m,M=this.length,m=0;else if(isFinite(m))m=m>>>0,isFinite(M)?(M=M>>>0,R===void 0&&(R="utf8")):(R=M,M=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let W=this.length-m;if((M===void 0||M>W)&&(M=W),p.length>0&&(M<0||m<0)||m>this.length)throw new RangeError("Attempt to write outside buffer bounds");R||(R="utf8");let Y=!1;for(;;)switch(R){case"hex":return q(this,p,m,M);case"utf8":case"utf-8":return T(this,p,m,M);case"ascii":case"latin1":case"binary":return K(this,p,m,M);case"base64":return J(this,p,m,M);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $(this,p,m,M);default:if(Y)throw new TypeError("Unknown encoding: "+R);R=(""+R).toLowerCase(),Y=!0}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ue(b,p,m){return p===0&&m===b.length?e.fromByteArray(b):e.fromByteArray(b.slice(p,m))}function _e(b,p,m){m=Math.min(b.length,m);let M=[],R=p;for(;R<m;){let W=b[R],Y=null,be=W>239?4:W>223?3:W>191?2:1;if(R+be<=m){let Xe,Ne,$e,Oe;switch(be){case 1:W<128&&(Y=W);break;case 2:Xe=b[R+1],(Xe&192)===128&&(Oe=(W&31)<<6|Xe&63,Oe>127&&(Y=Oe));break;case 3:Xe=b[R+1],Ne=b[R+2],(Xe&192)===128&&(Ne&192)===128&&(Oe=(W&15)<<12|(Xe&63)<<6|Ne&63,Oe>2047&&(Oe<55296||Oe>57343)&&(Y=Oe));break;case 4:Xe=b[R+1],Ne=b[R+2],$e=b[R+3],(Xe&192)===128&&(Ne&192)===128&&($e&192)===128&&(Oe=(W&15)<<18|(Xe&63)<<12|(Ne&63)<<6|$e&63,Oe>65535&&Oe<1114112&&(Y=Oe))}}Y===null?(Y=65533,be=1):Y>65535&&(Y-=65536,M.push(Y>>>10&1023|55296),Y=56320|Y&1023),M.push(Y),R+=be}return ce(M)}let Ze=4096;function ce(b){let p=b.length;if(p<=Ze)return String.fromCharCode.apply(String,b);let m="",M=0;for(;M<p;)m+=String.fromCharCode.apply(String,b.slice(M,M+=Ze));return m}function te(b,p,m){let M="";m=Math.min(b.length,m);for(let R=p;R<m;++R)M+=String.fromCharCode(b[R]&127);return M}function vt(b,p,m){let M="";m=Math.min(b.length,m);for(let R=p;R<m;++R)M+=String.fromCharCode(b[R]);return M}function Me(b,p,m){let M=b.length;(!p||p<0)&&(p=0),(!m||m<0||m>M)&&(m=M);let R="";for(let W=p;W<m;++W)R+=Fa[b[W]];return R}function Et(b,p,m){let M=b.slice(p,m),R="";for(let W=0;W<M.length-1;W+=2)R+=String.fromCharCode(M[W]+M[W+1]*256);return R}a.prototype.slice=function(p,m){let M=this.length;p=~~p,m=m===void 0?M:~~m,p<0?(p+=M,p<0&&(p=0)):p>M&&(p=M),m<0?(m+=M,m<0&&(m=0)):m>M&&(m=M),m<p&&(m=p);let R=this.subarray(p,m);return Object.setPrototypeOf(R,a.prototype),R};function Ce(b,p,m){if(b%1!==0||b<0)throw new RangeError("offset is not uint");if(b+p>m)throw new RangeError("Trying to access beyond buffer length")}a.prototype.readUintLE=a.prototype.readUIntLE=function(p,m,M){p=p>>>0,m=m>>>0,M||Ce(p,m,this.length);let R=this[p],W=1,Y=0;for(;++Y<m&&(W*=256);)R+=this[p+Y]*W;return R},a.prototype.readUintBE=a.prototype.readUIntBE=function(p,m,M){p=p>>>0,m=m>>>0,M||Ce(p,m,this.length);let R=this[p+--m],W=1;for(;m>0&&(W*=256);)R+=this[p+--m]*W;return R},a.prototype.readUint8=a.prototype.readUInt8=function(p,m){return p=p>>>0,m||Ce(p,1,this.length),this[p]},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(p,m){return p=p>>>0,m||Ce(p,2,this.length),this[p]|this[p+1]<<8},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(p,m){return p=p>>>0,m||Ce(p,2,this.length),this[p]<<8|this[p+1]},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(p,m){return p=p>>>0,m||Ce(p,4,this.length),(this[p]|this[p+1]<<8|this[p+2]<<16)+this[p+3]*16777216},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(p,m){return p=p>>>0,m||Ce(p,4,this.length),this[p]*16777216+(this[p+1]<<16|this[p+2]<<8|this[p+3])},a.prototype.readBigUInt64LE=Yr(function(p){p=p>>>0,Pe(p,"offset");let m=this[p],M=this[p+7];(m===void 0||M===void 0)&&ye(p,this.length-8);let R=m+this[++p]*2**8+this[++p]*2**16+this[++p]*2**24,W=this[++p]+this[++p]*2**8+this[++p]*2**16+M*2**24;return BigInt(R)+(BigInt(W)<<BigInt(32))}),a.prototype.readBigUInt64BE=Yr(function(p){p=p>>>0,Pe(p,"offset");let m=this[p],M=this[p+7];(m===void 0||M===void 0)&&ye(p,this.length-8);let R=m*2**24+this[++p]*2**16+this[++p]*2**8+this[++p],W=this[++p]*2**24+this[++p]*2**16+this[++p]*2**8+M;return(BigInt(R)<<BigInt(32))+BigInt(W)}),a.prototype.readIntLE=function(p,m,M){p=p>>>0,m=m>>>0,M||Ce(p,m,this.length);let R=this[p],W=1,Y=0;for(;++Y<m&&(W*=256);)R+=this[p+Y]*W;return W*=128,R>=W&&(R-=Math.pow(2,8*m)),R},a.prototype.readIntBE=function(p,m,M){p=p>>>0,m=m>>>0,M||Ce(p,m,this.length);let R=m,W=1,Y=this[p+--R];for(;R>0&&(W*=256);)Y+=this[p+--R]*W;return W*=128,Y>=W&&(Y-=Math.pow(2,8*m)),Y},a.prototype.readInt8=function(p,m){return p=p>>>0,m||Ce(p,1,this.length),this[p]&128?(255-this[p]+1)*-1:this[p]},a.prototype.readInt16LE=function(p,m){p=p>>>0,m||Ce(p,2,this.length);let M=this[p]|this[p+1]<<8;return M&32768?M|4294901760:M},a.prototype.readInt16BE=function(p,m){p=p>>>0,m||Ce(p,2,this.length);let M=this[p+1]|this[p]<<8;return M&32768?M|4294901760:M},a.prototype.readInt32LE=function(p,m){return p=p>>>0,m||Ce(p,4,this.length),this[p]|this[p+1]<<8|this[p+2]<<16|this[p+3]<<24},a.prototype.readInt32BE=function(p,m){return p=p>>>0,m||Ce(p,4,this.length),this[p]<<24|this[p+1]<<16|this[p+2]<<8|this[p+3]},a.prototype.readBigInt64LE=Yr(function(p){p=p>>>0,Pe(p,"offset");let m=this[p],M=this[p+7];(m===void 0||M===void 0)&&ye(p,this.length-8);let R=this[p+4]+this[p+5]*2**8+this[p+6]*2**16+(M<<24);return(BigInt(R)<<BigInt(32))+BigInt(m+this[++p]*2**8+this[++p]*2**16+this[++p]*2**24)}),a.prototype.readBigInt64BE=Yr(function(p){p=p>>>0,Pe(p,"offset");let m=this[p],M=this[p+7];(m===void 0||M===void 0)&&ye(p,this.length-8);let R=(m<<24)+this[++p]*2**16+this[++p]*2**8+this[++p];return(BigInt(R)<<BigInt(32))+BigInt(this[++p]*2**24+this[++p]*2**16+this[++p]*2**8+M)}),a.prototype.readFloatLE=function(p,m){return p=p>>>0,m||Ce(p,4,this.length),t.read(this,p,!0,23,4)},a.prototype.readFloatBE=function(p,m){return p=p>>>0,m||Ce(p,4,this.length),t.read(this,p,!1,23,4)},a.prototype.readDoubleLE=function(p,m){return p=p>>>0,m||Ce(p,8,this.length),t.read(this,p,!0,52,8)},a.prototype.readDoubleBE=function(p,m){return p=p>>>0,m||Ce(p,8,this.length),t.read(this,p,!1,52,8)};function Re(b,p,m,M,R,W){if(!a.isBuffer(b))throw new TypeError('"buffer" argument must be a Buffer instance');if(p>R||p<W)throw new RangeError('"value" argument is out of bounds');if(m+M>b.length)throw new RangeError("Index out of range")}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(p,m,M,R){if(p=+p,m=m>>>0,M=M>>>0,!R){let be=Math.pow(2,8*M)-1;Re(this,p,m,M,be,0)}let W=1,Y=0;for(this[m]=p&255;++Y<M&&(W*=256);)this[m+Y]=p/W&255;return m+M},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(p,m,M,R){if(p=+p,m=m>>>0,M=M>>>0,!R){let be=Math.pow(2,8*M)-1;Re(this,p,m,M,be,0)}let W=M-1,Y=1;for(this[m+W]=p&255;--W>=0&&(Y*=256);)this[m+W]=p/Y&255;return m+M},a.prototype.writeUint8=a.prototype.writeUInt8=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,1,255,0),this[m]=p&255,m+1},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,2,65535,0),this[m]=p&255,this[m+1]=p>>>8,m+2},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,2,65535,0),this[m]=p>>>8,this[m+1]=p&255,m+2},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,4,4294967295,0),this[m+3]=p>>>24,this[m+2]=p>>>16,this[m+1]=p>>>8,this[m]=p&255,m+4},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,4,4294967295,0),this[m]=p>>>24,this[m+1]=p>>>16,this[m+2]=p>>>8,this[m+3]=p&255,m+4};function Ot(b,p,m,M,R){Ge(p,M,R,b,m,7);let W=Number(p&BigInt(4294967295));b[m++]=W,W=W>>8,b[m++]=W,W=W>>8,b[m++]=W,W=W>>8,b[m++]=W;let Y=Number(p>>BigInt(32)&BigInt(4294967295));return b[m++]=Y,Y=Y>>8,b[m++]=Y,Y=Y>>8,b[m++]=Y,Y=Y>>8,b[m++]=Y,m}function Gt(b,p,m,M,R){Ge(p,M,R,b,m,7);let W=Number(p&BigInt(4294967295));b[m+7]=W,W=W>>8,b[m+6]=W,W=W>>8,b[m+5]=W,W=W>>8,b[m+4]=W;let Y=Number(p>>BigInt(32)&BigInt(4294967295));return b[m+3]=Y,Y=Y>>8,b[m+2]=Y,Y=Y>>8,b[m+1]=Y,Y=Y>>8,b[m]=Y,m+8}a.prototype.writeBigUInt64LE=Yr(function(p,m=0){return Ot(this,p,m,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeBigUInt64BE=Yr(function(p,m=0){return Gt(this,p,m,BigInt(0),BigInt("0xffffffffffffffff"))}),a.prototype.writeIntLE=function(p,m,M,R){if(p=+p,m=m>>>0,!R){let Xe=Math.pow(2,8*M-1);Re(this,p,m,M,Xe-1,-Xe)}let W=0,Y=1,be=0;for(this[m]=p&255;++W<M&&(Y*=256);)p<0&&be===0&&this[m+W-1]!==0&&(be=1),this[m+W]=(p/Y>>0)-be&255;return m+M},a.prototype.writeIntBE=function(p,m,M,R){if(p=+p,m=m>>>0,!R){let Xe=Math.pow(2,8*M-1);Re(this,p,m,M,Xe-1,-Xe)}let W=M-1,Y=1,be=0;for(this[m+W]=p&255;--W>=0&&(Y*=256);)p<0&&be===0&&this[m+W+1]!==0&&(be=1),this[m+W]=(p/Y>>0)-be&255;return m+M},a.prototype.writeInt8=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,1,127,-128),p<0&&(p=255+p+1),this[m]=p&255,m+1},a.prototype.writeInt16LE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,2,32767,-32768),this[m]=p&255,this[m+1]=p>>>8,m+2},a.prototype.writeInt16BE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,2,32767,-32768),this[m]=p>>>8,this[m+1]=p&255,m+2},a.prototype.writeInt32LE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,4,2147483647,-2147483648),this[m]=p&255,this[m+1]=p>>>8,this[m+2]=p>>>16,this[m+3]=p>>>24,m+4},a.prototype.writeInt32BE=function(p,m,M){return p=+p,m=m>>>0,M||Re(this,p,m,4,2147483647,-2147483648),p<0&&(p=4294967295+p+1),this[m]=p>>>24,this[m+1]=p>>>16,this[m+2]=p>>>8,this[m+3]=p&255,m+4},a.prototype.writeBigInt64LE=Yr(function(p,m=0){return Ot(this,p,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),a.prototype.writeBigInt64BE=Yr(function(p,m=0){return Gt(this,p,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function pt(b,p,m,M,R,W){if(m+M>b.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("Index out of range")}function sr(b,p,m,M,R){return p=+p,m=m>>>0,R||pt(b,p,m,4),t.write(b,p,m,M,23,4),m+4}a.prototype.writeFloatLE=function(p,m,M){return sr(this,p,m,!0,M)},a.prototype.writeFloatBE=function(p,m,M){return sr(this,p,m,!1,M)};function S(b,p,m,M,R){return p=+p,m=m>>>0,R||pt(b,p,m,8),t.write(b,p,m,M,52,8),m+8}a.prototype.writeDoubleLE=function(p,m,M){return S(this,p,m,!0,M)},a.prototype.writeDoubleBE=function(p,m,M){return S(this,p,m,!1,M)},a.prototype.copy=function(p,m,M,R){if(!a.isBuffer(p))throw new TypeError("argument should be a Buffer");if(M||(M=0),!R&&R!==0&&(R=this.length),m>=p.length&&(m=p.length),m||(m=0),R>0&&R<M&&(R=M),R===M||p.length===0||this.length===0)return 0;if(m<0)throw new RangeError("targetStart out of bounds");if(M<0||M>=this.length)throw new RangeError("Index out of range");if(R<0)throw new RangeError("sourceEnd out of bounds");R>this.length&&(R=this.length),p.length-m<R-M&&(R=p.length-m+M);let W=R-M;return this===p&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(m,M,R):Uint8Array.prototype.set.call(p,this.subarray(M,R),m),W},a.prototype.fill=function(p,m,M,R){if(typeof p=="string"){if(typeof m=="string"?(R=m,m=0,M=this.length):typeof M=="string"&&(R=M,M=this.length),R!==void 0&&typeof R!="string")throw new TypeError("encoding must be a string");if(typeof R=="string"&&!a.isEncoding(R))throw new TypeError("Unknown encoding: "+R);if(p.length===1){let Y=p.charCodeAt(0);(R==="utf8"&&Y<128||R==="latin1")&&(p=Y)}}else typeof p=="number"?p=p&255:typeof p=="boolean"&&(p=Number(p));if(m<0||this.length<m||this.length<M)throw new RangeError("Out of range index");if(M<=m)return this;m=m>>>0,M=M===void 0?this.length:M>>>0,p||(p=0);let W;if(typeof p=="number")for(W=m;W<M;++W)this[W]=p;else{let Y=a.isBuffer(p)?p:a.from(p,R),be=Y.length;if(be===0)throw new TypeError('The value "'+p+'" is invalid for argument "value"');for(W=0;W<M-m;++W)this[W+m]=Y[W%be]}return this};let B={};function H(b,p,m){B[b]=class extends m{constructor(){super(),Object.defineProperty(this,"message",{value:p.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${b}]`,this.stack,delete this.name}get code(){return b}set code(R){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:R,writable:!0})}toString(){return`${this.name} [${b}]: ${this.message}`}}}H("ERR_BUFFER_OUT_OF_BOUNDS",function(b){return b?`${b} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),H("ERR_INVALID_ARG_TYPE",function(b,p){return`The "${b}" argument must be of type number. Received type ${typeof p}`},TypeError),H("ERR_OUT_OF_RANGE",function(b,p,m){let M=`The value of "${b}" is out of range.`,R=m;return Number.isInteger(m)&&Math.abs(m)>2**32?R=U(String(m)):typeof m=="bigint"&&(R=String(m),(m>BigInt(2)**BigInt(32)||m<-(BigInt(2)**BigInt(32)))&&(R=U(R)),R+="n"),M+=` It must be ${p}. Received ${R}`,M},RangeError);function U(b){let p="",m=b.length,M=b[0]==="-"?1:0;for(;m>=M+4;m-=3)p=`_${b.slice(m-3,m)}${p}`;return`${b.slice(0,m)}${p}`}function we(b,p,m){Pe(p,"offset"),(b[p]===void 0||b[p+m]===void 0)&&ye(p,b.length-(m+1))}function Ge(b,p,m,M,R,W){if(b>m||b<p){let Y=typeof p=="bigint"?"n":"",be;throw p===0||p===BigInt(0)?be=`>= 0${Y} and < 2${Y} ** ${(W+1)*8}${Y}`:be=`>= -(2${Y} ** ${(W+1)*8-1}${Y}) and < 2 ** ${(W+1)*8-1}${Y}`,new B.ERR_OUT_OF_RANGE("value",be,b)}we(M,R,W)}function Pe(b,p){if(typeof b!="number")throw new B.ERR_INVALID_ARG_TYPE(p,"number",b)}function ye(b,p,m){throw Math.floor(b)!==b?(Pe(b,m),new B.ERR_OUT_OF_RANGE("offset","an integer",b)):p<0?new B.ERR_BUFFER_OUT_OF_BOUNDS:new B.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${p}`,b)}let He=/[^+/0-9A-Za-z-_]/g;function or(b){if(b=b.split("=")[0],b=b.trim().replace(He,""),b.length<2)return"";for(;b.length%4!==0;)b=b+"=";return b}function qe(b,p){p=p||1/0;let m,M=b.length,R=null,W=[];for(let Y=0;Y<M;++Y){if(m=b.charCodeAt(Y),m>55295&&m<57344){if(!R){if(m>56319){(p-=3)>-1&&W.push(239,191,189);continue}else if(Y+1===M){(p-=3)>-1&&W.push(239,191,189);continue}R=m;continue}if(m<56320){(p-=3)>-1&&W.push(239,191,189),R=m;continue}m=(R-55296<<10|m-56320)+65536}else R&&(p-=3)>-1&&W.push(239,191,189);if(R=null,m<128){if((p-=1)<0)break;W.push(m)}else if(m<2048){if((p-=2)<0)break;W.push(m>>6|192,m&63|128)}else if(m<65536){if((p-=3)<0)break;W.push(m>>12|224,m>>6&63|128,m&63|128)}else if(m<1114112){if((p-=4)<0)break;W.push(m>>18|240,m>>12&63|128,m>>6&63|128,m&63|128)}else throw new Error("Invalid code point")}return W}function ct(b){let p=[];for(let m=0;m<b.length;++m)p.push(b.charCodeAt(m)&255);return p}function Zi(b,p){let m,M,R,W=[];for(let Y=0;Y<b.length&&!((p-=2)<0);++Y)m=b.charCodeAt(Y),M=m>>8,R=m%256,W.push(R),W.push(M);return W}function Ir(b){return e.toByteArray(or(b))}function jr(b,p,m,M){let R;for(R=0;R<M&&!(R+m>=p.length||R>=b.length);++R)p[R+m]=b[R];return R}function Kt(b,p){return b instanceof p||b!=null&&b.constructor!=null&&b.constructor.name!=null&&b.constructor.name===p.name}function $i(b){return b!==b}let Fa=function(){let b="0123456789abcdef",p=new Array(256);for(let m=0;m<16;++m){let M=m*16;for(let R=0;R<16;++R)p[M+R]=b[m]+b[R]}return p}();function Yr(b){return typeof BigInt>"u"?uc:b}function uc(){throw new Error("BigInt not supported")}}(u_)),u_}var r9=t9(),yr=class yr{constructor(e,t=""){this.xml=e,this.filePath=t,this.layers=new Map,this.transform=r=>{if(!r)return;let n=r.attributes||r._attributes;if(!n)return r;let s={...r,...n,...yr.propToNumber(n,["version","width","height","tilewidth","tileheight","nextlayerid","nextobjectid","hexsidelength","opacity","x","y","offsetx","offsety","startx","starty","id","firstgid","imageheight","imagewidth","margin","columns","rows","tilecount","rotation","gid","tileid","duration","parallaxx","parallaxy","repeatx","repeaty","pixelsize"]),...yr.propToBool(n,["visible","infinite","locked","bold","italic","kerning","strikeout","underline","wrap"])};if(s.properties){let a=yr.toArray(s.properties.property),u={};for(let c of a){let l=c._attributes;if(!l)continue;let A;switch(l.type){case"file":A=this.getImagePath(l.value);break;case"object":case"float":case"int":A=+l.value;break;case"bool":A=l.value=="true";break;case"class":A={...this.transform(c)?.properties??{},_classname:l.propertytype};break;default:A=l.value}u[l.name]=A}s.properties=u}s.polygon&&(s.polygon=this.transform(s.polygon)),s.polyline&&(s.polyline=this.transform(s.polyline)),s.points&&(s=s.points.split(" ").map(a=>{let u=a.split(",");return{x:+u[0],y:+u[1]}})),s.point&&(s.point=!0),s.ellipse&&(s.ellipse=!0),s.text&&(s.text={text:s.text._text,...this.transform(s.text)},delete s.text._text),s.image&&(s.image=this.transform(s.image)),s.source&&(s.source=this.getImagePath(s.source));let o=s.object||s.objectgroup?.object;return o&&(s.objects=yr.toArray(o).map(a=>this.transform(a))),delete s._attributes,delete s.attributes,delete s.object,delete s.objectgroup,s}}static toArray(e){return e?Array.isArray(e)?e:[e]:[]}getImagePath(e){let t=j6(this.filePath);return this.filePath.startsWith("http")?new URL(e,this.filePath).href:sg(t,e)}static unpackTileBytes(e,t){let r=t*4;if(e.length!==r)throw new Error("Expected "+r+" bytes of tile data; received "+e.length);let n=0,s=[];for(let o=0;o<r;o+=4)s[n]=e.readUInt32LE(o),n++;return s}static decode(e,t){let{encoding:r,data:n}=e;return r=="base64"?yr.unpackTileBytes(r9.Buffer.from(n.trim(),"base64"),t):r=="csv"?n.trim().split(",").map(s=>+s):n}parseMap(){let e=l_.xml2js(this.xml,{compact:!0}),t=l_.xml2js(this.xml),r=e.map.tileset;e.map.group;let n=c=>{let{objectgroup:l,group:A,layer:h,imagelayer:f}=c,d=y=>{y&&yr.toArray(y).forEach(g=>{if(this.layers.has(+g._attributes.id))throw new Error(`Tiled Parser Error: Layer with id ${g._attributes.id} already exists`);this.layers.set(+g._attributes.id,g)})};d(l),d(h),d(A),d(f),A&&n(A)};n(e.map);let s=(c,l=[])=>{if(!c)return l;for(let A of c){let{name:h}=A;if(!["layer","group","imagelayer","objectgroup"].includes(h))continue;let f=A.elements?.find(y=>y.name=="data");A.layer=this.layers.get(+A.attributes.id);let d={...this.transform(f)??{},...this.transform(A),...this.transform(A.layer),layers:s(A.elements),data:f?f.elements[0].text:void 0,type:h=="layer"?"tilelayer":h};delete d.elements,delete d.layer,d.data&&(d.data=yr.decode(d,d.width*d.height)),l.push(d)}return l},o=s(t.elements[0].elements),a=yr.toArray(r).map(c=>this.transform(c)),u={...this.transform(e.map),layers:o,tilesets:a};return delete u.layer,delete u.tileset,delete u.group,delete u.imagelayer,u}parseTileset(){let e=l_.xml2js(this.xml,{compact:!0}),{tileset:t}=e,r={...this.transform(t),image:this.transform(t.image),tiles:yr.toArray(t.tile).map(n=>{let s=this.transform(n);return n.animation&&(s.animations=yr.toArray(n.animation.frame).map(this.transform)),delete s.animation,s})};return delete r.tile,r}};yr.propToNumber=(e,t)=>{for(let r of t)e[r]!==void 0&&(e[r]=+e[r]);return e},yr.propToBool=(e,t)=>{for(let r of t)e[r]!==void 0&&(e[r]=e[r]=="true"||e[r]=="1");return e};var c_=yr,$u=class{constructor(e){this.properties={},this.properties=e?.properties??{}}getProperty(e,t){let r=this.properties[e];return r===void 0?t:r}hasProperty(e){return!!this.properties[e]}setProperty(e,t){this.properties[e]=t}getType(){return this.class||this.type}},i9=2147483648,n9=1073741824,s9=536870912,o9=268435456,ec=class i extends $u{constructor(e){super(e),this.obj=e,this._gid=e?.gid}static getRealGid(e){return e&268435455}get horizontalFlip(){return!!(this._gid&i9)}get verticalFlip(){return!!(this._gid&n9)}get diagonalFlip(){return!!(this._gid&s9)}get rotatedHex120(){return!!(this._gid&o9)}get gid(){return i.getRealGid(this._gid)}set gid(e){this._gid=e}},tc=class extends ec{constructor(e){super(e),this.tile=e;let t=this.properties;Reflect.deleteProperty(e,"gid"),Object.assign(this,e),t&&Object.keys(t).length>0&&(this.properties={...t,...this.properties})}},A_=class extends ec{constructor(e){super(e),this.layerName="",Object.assign(this,e),e?.gid&&(this.y-=this.height)}},og=class i extends $u{constructor(e,t,r){super(e),this.tilesets=t,this.parent=r,this.cacheTiles=!1,this.tiles=[],Object.assign(this,e),this.mapObjects(),this.mergePropertiesWithParent(),this.cacheTiles=this.getProperty("cache-tiles",!1),this.cacheTiles&&this.propertiesTiles()}get size(){return this.data.length}createTile(e,t,r){if(e==0)return;let n=ec.getRealGid(e),s=i.findTileSet(n,this.tilesets);if(!s)return;let o=s.getTile(n-s.firstgid);return o?new tc({...o.tile,gid:e,index:t,layerIndex:r}):new tc({gid:e,index:t,layerIndex:r})}mergePropertiesWithParent(){let e=this.getLayerParent();if(this.properties||(this.properties={}),!!e){for(let t in e.properties){let r=e.properties[t];if(this.properties[t]===void 0)this.properties[t]=r;else if(t=="z")this.properties[t]+=r;else continue}this.opacity=Math.round((e.opacity??1)*(this.opacity??1)*100)/100,this.offsetx=(e.offsetx??0)+(this.offsetx??0),this.offsety=(e.offsety??0)+(this.offsety??0),this.locked=e.locked??!1}}propertiesTiles(){if(!this.data)return;let e=this.data;for(let t=0;t<e.length;t++){let r=e[t];this.tiles.push(this.createTile(r,t))}}mapObjects(){this.objects&&(this.objects=this.objects.map(e=>{let t=new A_(e);return t.layerName=this.name,t}))}getTileByIndex(e){return this.cacheTiles?this.tiles[e]:this.createTile(this.data[e],e)}static findTileSet(e,t){let r;for(let n=t.length-1;n>=0&&(r=t[n],!(r.firstgid&&r.firstgid<=e));n--);return r}getLayerParent(){return this.parent}tilesForEach(e){for(let t=0;t<this.data.length;t++){if(this.cacheTiles){e(this.tiles[t],t);continue}e(this.createTile(this.data[t],t),t)}}setData(e,t){this.data[e]=t}},ag=class extends $u{constructor(e){super(e),this.tileset=e,this.cacheTileId=new Map,Object.assign(this,e),this.margin=this.margin??0,this.spacing=this.spacing??0;let t=e.tiles||e.tile||[];for(let r of t)this.addTile(r);Reflect.deleteProperty(this,"tiles"),Reflect.deleteProperty(this,"tile")}addTile(e){let t=new tc(e);return this.cacheTileId.set(t.id,t),t}getTile(e){return this.cacheTileId.get(+e)}},lg=class i{constructor(e,{basePath:t="",staticDir:r="",relativePath:n=""}={}){this.file=e,this.basePath=t,this.staticDir=r,this.relativePath=n}static isBrowser(){return typeof window<"u"&&!window.useFileSystem}static typeOfFile(e){e=e.trim();let t=typeof e=="string",r={isXml:t&&e.startsWith("<?xml"),isObject:!!e.version,isHttp:t&&e.startsWith("http")};return{...r,isPath:!r.isXml&&!r.isObject&&!r.isHttp}}_parseFile(e,t,r){let n=a=>i.typeOfFile(a).isXml,s=a=>{if(!a)return r(null);if(n(a)){let u=new c_(a,this.staticDir?"":n(e)?this.relativePath:e);if(t=="map"){let c=u.parseMap();return r(c)}else if(t=="tileset"){let c=u.parseTileset();return r(c)}}return r(JSON.parse(a))};if(i.typeOfFile(e).isObject)return r(e);let{isHttp:o}=i.typeOfFile(e);if(n(e))s(e);else if(o||i.isBrowser()){let a=o?e:sg(this.basePath,this.staticDir,e);i.isBrowser()&&window.urlCache&&(a=window.urlCache[e]),fetch(a).then(u=>u.text()).then(s).catch(u=>r(null,u))}else{e.startsWith("/")&&sg(this.basePath?this.basePath:"",e),this.staticDir&&sg(this.staticDir,e);return}}parseFile(e,t={}){let{getOnlyBasename:r}=t,n=s=>s.substring(s.lastIndexOf("/")+1);r&&i.typeOfFile(this.file).isPath&&(this.file=n(this.file)),this._parseFile(this.file,"map",(s,o)=>{let a=!1;if(o)return e(null,o);if(s.tilesets){let u=[],c=()=>{l++,l==s.tilesets.length&&!a&&(s.tilesets=u,e(s))},l=0;for(let A=0;A<s.tilesets.length;A++){let h=s.tilesets[A];if(!h.source){u[A]=h,c();continue}r&&i.typeOfFile(h.source).isPath&&(h.source=n(h.source)),this._parseFile(h.source,"tileset",(f,d)=>{if(d)return a=!0,e(null,d);u[A]={...f,firstgid:h.firstgid},c()})}}})}parseFilePromise(e={}){return new Promise((t,r)=>{this.parseFile((n,s)=>{n?t(n):r(s)},e)})}};xe();xe();var nr={TEXTURES_PER_TILEMAP:16,TEXTILE_SCALE_MODE:"linear",use32bitIndex:!1};xe();xe();var a9=Object.defineProperty,l9=(i,e,t)=>e in i?a9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Wn=(i,e,t)=>(l9(i,typeof e!="symbol"?e+"":e,t),t),ic=class rc extends Pt{constructor(e){let t=new lt({data:new Float32Array(2),label:"tilemap-buffer",usage:Te.VERTEX|Te.COPY_DST,shrinkToFit:!1}),r=rc.stride;super({indexBuffer:e,attributes:{aVertexPosition:{buffer:t,format:"float32x2",stride:r,offset:0},aTextureCoord:{buffer:t,format:"float32x2",stride:r,offset:2*4},aFrame:{buffer:t,format:"float32x4",stride:r,offset:4*4},aAnim:{buffer:t,format:"float32x2",stride:r,offset:8*4},aTextureId:{buffer:t,format:"sint32",stride:r,offset:10*4},aAnimDivisor:{buffer:t,format:"float32",stride:r,offset:11*4},aAlpha:{buffer:t,format:"float32",stride:r,offset:12*4}}}),Wn(this,"lastTimeAccess",0),Wn(this,"vertSize",rc.vertSize),Wn(this,"vertPerQuad",rc.vertPerQuad),Wn(this,"stride",rc.stride),Wn(this,"buf"),this.buf=t}};Wn(ic,"vertSize",13);Wn(ic,"vertPerQuad",4);Wn(ic,"stride",ic.vertSize*4);var d_=ic;var u9=Object.defineProperty,c9=(i,e,t)=>e in i?u9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,jn=(i,e,t)=>(c9(i,typeof e!="symbol"?e+"":e,t),t),Hs=class{constructor(){jn(this,"pipe_uniforms",new it({u_proj_trans:{value:new ie,type:"mat3x3<f32>"},u_anim_frame:{value:new Float32Array(2),type:"vec2<f32>"}}))}},nc=class{constructor(e,t){jn(this,"renderer"),jn(this,"tileAnim",[0,0]),jn(this,"ibLen",0),jn(this,"indexBuffer",null),jn(this,"shader"),jn(this,"adaptor"),this.renderer=e,this.adaptor=t,this.adaptor.init(),this.indexBuffer=new lt({data:new Uint16Array([0,1,2,0,2,3]),label:"index-tilemap-buffer",usage:Te.INDEX|Te.COPY_DST}),this.indexBuffer.destroy=Fo,this.checkIndexBuffer(2e3)}start(){}createVb(){let e=new d_(this.indexBuffer);return e.lastTimeAccess=Date.now(),e}getShader(){return this.shader}destroy(){this.shader=null}checkIndexBuffer(e){let t=e*6;t<=this.ibLen||(this.ibLen=t,this.indexBuffer.data=A9(e,nr.use32bitIndex?new Uint32Array(t):new Uint16Array(t)))}destroyRenderable(e){e.vb.destroy(!0),e.vb=null}addRenderable(e,t){let r=this.renderer.renderPipes.batch;e.updateBuffer(this),e.checkValid(),e.getTileset().update(),e.is_valid&&(r.break(t),t.add(e._instruction))}updateRenderable(e,t){e.updateBuffer(this),e.getTileset().update()}validateRenderable(e){return e.checkValid()}execute({tilemap:e}){if(!e.isRenderable)return;e.state.blendMode=e.groupBlendMode;let{pipe_uniforms:t}=this.adaptor,r=t.uniforms.u_proj_trans,n=this.renderer.globalUniforms._activeUniforms.at(-1).uniforms,s=this.tileAnim,{u_anim_frame:o}=t.uniforms;n.uProjectionMatrix.copyTo(r).append(n.uWorldTransformMatrix).append(e.worldTransform),e.compositeParent&&(s=e.parent.tileAnim||s),o[0]=s[0],o[1]=s[1],t.update(),this.adaptor.execute(this,e)}};jn(nc,"extension",{type:[L.WebGLPipes,L.WebGPUPipes],name:"tilemap"});function A9(i,e){let t=i*6;if(e.length!==t)throw new Error(`Out buffer length is incorrect, got ${e.length} and expected ${t}`);for(let r=0,n=0;r<t;r+=6,n+=4)e[r+0]=n+0,e[r+1]=n+1,e[r+2]=n+2,e[r+3]=n+0,e[r+4]=n+2,e[r+5]=n+3;return e}xe();var h9=Object.defineProperty,f9=(i,e,t)=>e in i?h9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Qi=(i,e,t)=>(f9(i,typeof e!="symbol"?e+"":e,t),t),qr=class{constructor(e){Qi(this,"max_textures"),Qi(this,"arr",[]),Qi(this,"count",0),Qi(this,"dirty",!1),Qi(this,"dirty_gpu",!1),Qi(this,"bind_group",null),Qi(this,"bind_group_resources",{}),Qi(this,"tex_sizes",null),Qi(this,"null_color",new Float32Array([0,0,0,.5])),Qi(this,"tex_buf",null),this.max_textures=e,this.tex_sizes=new Float32Array(this.max_textures*4+4),this.tex_buf=new lt({usage:Te.UNIFORM|Te.COPY_DST})}get length(){return this.count}push(e){this.arr[this.count++]=e,this.dirty=!0}at(e){return this.arr[e]}update(){if(!this.dirty)return;this.dirty=!1,this.dirty_gpu=!0;let{tex_sizes:e,arr:t,count:r,max_textures:n,null_color:s}=this;for(let o=0;o<r;o++){let a=t[o];a&&(e[o*4]=a.pixelWidth,e[o*4+1]=a.pixelHeight,e[o*4+2]=1/a.pixelWidth,e[o*4+3]=1/a.pixelHeight)}e[n*4]=s[0],e[n*4+1]=s[1],e[n*4+2]=s[2],e[n*4+3]=s[3]}markDirty(){this.dirty=!0}getBindGroup(){if(this.update(),!this.dirty_gpu)return this.bind_group;let{bind_group_resources:e,max_textures:t,arr:r,count:n}=this,s=0;e[s++]=new it({u_texture_size:{value:this.tex_sizes,type:"vec4<f32>",size:t},u_null_color:{value:this.null_color,type:"vec4<f32>"}});for(let o=0;o<t;o++){let a=(o<n?r[o]:null)||V.EMPTY.source;e[s++]=a.source,e[s++]=a.style}return this.bind_group||(this.bind_group=new Wt(e)),this.bind_group}static generate_gpu_textures(e){let t=[];t.push("struct TextureArrayFields {"),t.push(` u_texture_size: array<vec4f, ${e}>,`),t.push(" u_null_color: vec4f"),t.push("}"),t.push("@group(1) @binding(0) var<uniform> taf: TextureArrayFields;");for(let r=0;r<e;r++)t.push(`@group(1) @binding(${r*2+1}) var u_texture_${r}: texture_2d<f32>;`),t.push(`@group(1) @binding(${r*2+2}) var u_sampler_${r}: sampler;`);t.push("fn sampleMultiTexture(texture_id: i32, uv: vec2f, dx: vec2f, dy: vec2f) -> vec4f {"),t.push("switch texture_id {");for(let r=0;r<e;r++)t.push(` case ${r}: { return textureSampleGrad(u_texture_${r}, u_sampler_${r}, uv, dx, dy); }`);return t.push(" default: { return taf.u_null_color; }"),t.push("} }"),t.join(`
|
|
900
|
+
`)}static generate_gl_textures(e){let t=[];t.push(`uniform vec4 u_texture_size[${e+1}];`),t.push(`uniform sampler2D u_textures[${e}];`),t.push("uniform vec4 u_null_color;"),t.push("vec4 sampleMultiTexture(float texture_id, vec2 uv) {"),t.push(`if(texture_id < -0.5) return u_texture_size[${e}];`);for(let r=0;r<e;r++)t.push(`if(texture_id < ${r}.5) return texture(u_textures[${r}], uv * u_texture_size[${r}].zw);`);return t.push(`return u_texture_size[${e}];`),t.push("}"),t.join(`
|
|
901
|
+
`)}static gl_gen_resources(e){let t=[];for(let n=0;n<e;n++)t[n]=n;let r=[];for(let n=0;n<e;n++)r.push(2048),r.push(2048),r.push(1/2048),r.push(1/2048);return{u_textures:{value:t,type:"i32",size:e},u_texture_size:{value:r,type:"vec4<f32>",size:e}}}};var d9=Object.defineProperty,p9=(i,e,t)=>e in i?d9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,p_=(i,e,t)=>(p9(i,typeof e!="symbol"?e+"":e,t),t),g9=`
|
|
902
|
+
in vec2 aVertexPosition;
|
|
903
|
+
in vec2 aTextureCoord;
|
|
904
|
+
in vec4 aFrame;
|
|
905
|
+
in vec2 aAnim;
|
|
906
|
+
in float aAnimDivisor;
|
|
907
|
+
in float aTextureId;
|
|
908
|
+
in float aAlpha;
|
|
909
|
+
|
|
910
|
+
uniform mat3 u_proj_trans;
|
|
911
|
+
uniform vec2 u_anim_frame;
|
|
912
|
+
|
|
913
|
+
out vec2 vTextureCoord;
|
|
914
|
+
out float vTextureId;
|
|
915
|
+
out vec4 vFrame;
|
|
916
|
+
out float vAlpha;
|
|
917
|
+
|
|
918
|
+
void main(void)
|
|
919
|
+
{
|
|
920
|
+
gl_Position = vec4((u_proj_trans * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
921
|
+
vec2 animCount = floor((aAnim + 0.5) / 2048.0);
|
|
922
|
+
vec2 animFrameOffset = aAnim - animCount * 2048.0;
|
|
923
|
+
vec2 currentFrame = floor(u_anim_frame / aAnimDivisor);
|
|
924
|
+
vec2 loop_num = floor((currentFrame + 0.5) / animCount);
|
|
925
|
+
vec2 animOffset = animFrameOffset * floor(currentFrame - loop_num * animCount);
|
|
926
|
+
|
|
927
|
+
vTextureCoord = aTextureCoord + animOffset;
|
|
928
|
+
vFrame = aFrame + vec4(animOffset, animOffset);
|
|
929
|
+
vTextureId = aTextureId;
|
|
930
|
+
vAlpha = aAlpha;
|
|
931
|
+
}
|
|
932
|
+
`,m9=`
|
|
933
|
+
#ifdef GL_FRAGMENT_PRECISION_HIGH
|
|
934
|
+
precision highp float;
|
|
935
|
+
#else
|
|
936
|
+
precision mediump float;
|
|
937
|
+
#endif
|
|
938
|
+
in vec2 vTextureCoord;
|
|
939
|
+
in vec4 vFrame;
|
|
940
|
+
in float vTextureId;
|
|
941
|
+
in float vAlpha;
|
|
942
|
+
|
|
943
|
+
//include_textures
|
|
944
|
+
|
|
945
|
+
void main(void)
|
|
946
|
+
{
|
|
947
|
+
float textureId = floor(vTextureId + 0.5);
|
|
948
|
+
vec2 textureCoord = clamp(vTextureCoord, vFrame.xy, vFrame.zw);
|
|
949
|
+
vec4 color = sampleMultiTexture(textureId, textureCoord);
|
|
950
|
+
finalColor = color * vAlpha;
|
|
951
|
+
}
|
|
952
|
+
`,sc=class extends Hs{constructor(){super(...arguments),p_(this,"_shader",null),p_(this,"max_textures",nr.TEXTURES_PER_TILEMAP)}destroy(){this._shader.destroy(!0),this._shader=null}execute(e,t){let r=e.renderer,n=this._shader,s=t.getTileset(),o=n.resources.texture_uniforms;o.uniforms.u_texture_size!==s.tex_sizes&&(o.uniforms.u_texture_size=s.tex_sizes,o.update());for(let a=0;a<s.length;a++)r.texture.bind(s.arr[a],a);r.encoder.draw({geometry:t.vb,shader:n,state:t.state,size:t.rects_count*6})}init(){this._shader=new Dt({glProgram:jt.from({vertex:g9,fragment:m9.replace("//include_textures",qr.generate_gl_textures(this.max_textures))}),resources:{texture_uniforms:new it(qr.gl_gen_resources(this.max_textures),{isStatic:!0}),pipe_uniforms:this.pipe_uniforms.uniformStructures}})}};p_(sc,"extension",{type:[L.WebGLPipesAdaptor],name:"tilemap"});xe();var y9=Object.defineProperty,I9=(i,e,t)=>e in i?y9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,ug=(i,e,t)=>(I9(i,typeof e!="symbol"?e+"":e,t),t),E9=`
|
|
953
|
+
struct GlobalUniforms {
|
|
954
|
+
uProjectionMatrix:mat3x3f,
|
|
955
|
+
uWorldTransformMatrix:mat3x3f,
|
|
956
|
+
uWorldColorAlpha: vec4f,
|
|
957
|
+
uResolution: vec2f,
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
struct TilemapUniforms {
|
|
961
|
+
u_proj_trans:mat3x3f,
|
|
962
|
+
u_anim_frame:vec2f
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
@group(0) @binding(0) var<uniform> globalUniforms : GlobalUniforms;
|
|
966
|
+
@group(2) @binding(0) var<uniform> loc: TilemapUniforms;
|
|
967
|
+
|
|
968
|
+
struct VSOutput {
|
|
969
|
+
@builtin(position) vPosition: vec4f,
|
|
970
|
+
@location(0) @interpolate(flat) vTextureId : i32,
|
|
971
|
+
@location(1) vTextureCoord : vec2f,
|
|
972
|
+
@location(2) @interpolate(flat) vFrame : vec4f,
|
|
973
|
+
@location(3) vAlpha : f32
|
|
974
|
+
};
|
|
975
|
+
|
|
976
|
+
@vertex
|
|
977
|
+
fn mainVert(
|
|
978
|
+
@location(6) aVertexPosition: vec2f,
|
|
979
|
+
@location(4) aTextureCoord: vec2f,
|
|
980
|
+
@location(3) aFrame: vec4f,
|
|
981
|
+
@location(1) aAnim: vec2f,
|
|
982
|
+
@location(2) aAnimDivisor: f32,
|
|
983
|
+
@location(5) aTextureId: i32,
|
|
984
|
+
@location(0) aAlpha: f32,
|
|
985
|
+
) -> VSOutput {
|
|
986
|
+
|
|
987
|
+
var vPosition = vec4((loc.u_proj_trans * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);
|
|
988
|
+
var animCount = floor((aAnim + 0.5) / 2048.0);
|
|
989
|
+
var animFrameOffset = aAnim - animCount * 2048.0;
|
|
990
|
+
var currentFrame = floor(loc.u_anim_frame / aAnimDivisor);
|
|
991
|
+
var loop_num = floor((currentFrame + 0.5) / animCount);
|
|
992
|
+
var animOffset = animFrameOffset * floor(currentFrame - loop_num * animCount);
|
|
993
|
+
var vTextureCoord = aTextureCoord + animOffset;
|
|
994
|
+
var vFrame = aFrame + vec4(animOffset, animOffset);
|
|
995
|
+
|
|
996
|
+
return VSOutput(vPosition, aTextureId, vTextureCoord, vFrame, aAlpha);
|
|
997
|
+
};
|
|
998
|
+
`,x9=`
|
|
999
|
+
//include_textures
|
|
1000
|
+
|
|
1001
|
+
@fragment
|
|
1002
|
+
fn mainFrag(
|
|
1003
|
+
@location(0) @interpolate(flat) vTextureId : i32,
|
|
1004
|
+
@location(1) vTextureCoord : vec2f,
|
|
1005
|
+
@location(2) @interpolate(flat) vFrame : vec4f,
|
|
1006
|
+
@location(3) vAlpha : f32,
|
|
1007
|
+
) -> @location(0) vec4f {
|
|
1008
|
+
var textureCoord = clamp(vTextureCoord, vFrame.xy, vFrame.zw);
|
|
1009
|
+
var uv = textureCoord * taf.u_texture_size[vTextureId].zw;
|
|
1010
|
+
var dx = dpdx(uv);
|
|
1011
|
+
var dy = dpdy(uv);
|
|
1012
|
+
var color = sampleMultiTexture(vTextureId, uv, dx, dy);
|
|
1013
|
+
return color * vAlpha;
|
|
1014
|
+
};
|
|
1015
|
+
`,oc=class extends Hs{constructor(){super(...arguments),ug(this,"_shader",null),ug(this,"max_textures",nr.TEXTURES_PER_TILEMAP),ug(this,"bind_group",null)}destroy(){this._shader.destroy(!0),this._shader=null}execute(e,t){let r=e.renderer,n=this._shader;n.groups[0]=r.globalUniforms.bindGroup,n.groups[1]=t.getTileset().getBindGroup(),n.groups[2]=this.bind_group,r.encoder.draw({geometry:t.vb,shader:n,state:t.state,size:t.rects_count*6})}init(){this._shader=new Dt({gpuProgram:Yt.from({vertex:{source:E9,entryPoint:"mainVert"},fragment:{source:x9.replace("//include_textures",qr.generate_gpu_textures(this.max_textures))}})}),this.bind_group=new Wt({ut:this.pipe_uniforms})}};ug(oc,"extension",{type:[L.WebGPUPipesAdaptor],name:"tilemap"});xe();xe();var _9=Object.defineProperty,B9=(i,e,t)=>e in i?_9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,Ft=(i,e,t)=>(B9(i,typeof e!="symbol"?e+"":e,t),t),pO=(i=>(i[i.U=0]="U",i[i.V=1]="V",i[i.X=2]="X",i[i.Y=3]="Y",i[i.TILE_WIDTH=4]="TILE_WIDTH",i[i.TILE_HEIGHT=5]="TILE_HEIGHT",i[i.ROTATE=6]="ROTATE",i[i.ANIM_X=7]="ANIM_X",i[i.ANIM_Y=8]="ANIM_Y",i[i.TEXTURE_INDEX=9]="TEXTURE_INDEX",i[i.ANIM_COUNT_X=10]="ANIM_COUNT_X",i[i.ANIM_COUNT_Y=11]="ANIM_COUNT_Y",i[i.ANIM_DIVISOR=12]="ANIM_DIVISOR",i[i.ALPHA=13]="ALPHA",i))(pO||{}),Wr=Object.keys(pO).length/2,Da=class extends ht{constructor(e){super({}),Ft(this,"shadowColor",new Float32Array([0,0,0,.5])),Ft(this,"state",pr.for2d()),Ft(this,"is_valid",!1),Ft(this,"renderPipeId","tilemap"),Ft(this,"canBundle",!0),Ft(this,"_instruction",{renderPipeId:"tilemap",tilemap:this}),Ft(this,"tileAnim",null),Ft(this,"rects_count",0),Ft(this,"compositeParent",!1),Ft(this,"tileset",new qr(nr.TEXTURES_PER_TILEMAP)),Ft(this,"tilemapBounds",new We),Ft(this,"hasAnimatedTile",!1),Ft(this,"pointsBuf",[]),Ft(this,"batched"),Ft(this,"vbId",0),Ft(this,"vb",null),Ft(this,"vbBuffer",null),Ft(this,"vbArray",null),Ft(this,"vbInts",null),this.setTileset(e)}checkValid(){let e=this.tileset.count>0&&this.pointsBuf.length>0,t=this.is_valid!==e;return this.is_valid=e,t!==e}updateBounds(){let e=this.tilemapBounds;this._bounds.minX=e.minX,this._bounds.maxX=e.maxX,this._bounds.minY=e.minY,this._bounds.maxY=e.maxY}getTileset(){return this.tileset}setTileset(e=[]){let t=this.tileset;if(e instanceof qr)this.tileset=e,this.didViewUpdate=!0;else if(e instanceof Qt){if(t.count===1&&t.arr[0]===e)return this;t=this.tileset=new qr(nr.TEXTURES_PER_TILEMAP),t.push(e),this.didViewUpdate=!0}else{if(e.length===t.count){let r=!0;for(let n=0;n<e.length;n++)if(e[n]?.source!==t.arr[n]){r=!1;break}if(r)return this}t=this.tileset=new qr(nr.TEXTURES_PER_TILEMAP);for(let r=0;r<e.length;r++)t.push(e[r]?.source);this.didViewUpdate=!0}return this}clear(){return this.pointsBuf.length=0,this.rects_count=0,this.tilemapBounds.clear(),this.hasAnimatedTile=!1,this}tile(e,t,r,n={}){this.didViewUpdate=!0;let s,o=-1,a=!1;if(typeof e=="number")o=e,a=!0,s=this.tileset.arr[o];else{let I;typeof e=="string"?I=V.from(e):I=e;let P=this.tileset;for(let F=0;F<P.count;F++)if(P.arr[F]===I.source){o=F;break}"frame"in I&&(n.u=n.u??I.frame.x,n.v=n.v??I.frame.y,n.tileWidth=n.tileWidth??I.orig.width,n.tileHeight=n.tileHeight??I.orig.height),s=I.source}if(!a&&!s)return console.error("The tile texture was not found in the tilemap tileset."),this;let{u=0,v:c=0,tileWidth:l=s.width,tileHeight:A=s.height,animX:h=0,animY:f=0,rotate:d=0,animCountX:y=1024,animCountY:g=1024,animDivisor:E=1,alpha:_=1}=n,x=this.pointsBuf;return this.hasAnimatedTile=this.hasAnimatedTile||h>0||f>0,x.push(u),x.push(c),x.push(t),x.push(r),x.push(l),x.push(A),x.push(d),x.push(h|0),x.push(f|0),x.push(o),x.push(y),x.push(g),x.push(E),x.push(_),this.tilemapBounds.addFrame(t,r,t+l,r+A),this}tileRotate(e){let t=this.pointsBuf;t[t.length-(Wr-9)]=e}tileAnimX(e,t){let r=this.pointsBuf;r[r.length-(Wr-7)]=e,r[r.length-(Wr-10)]=t}tileAnimY(e,t){let r=this.pointsBuf;r[r.length-(Wr-8)]=e,r[r.length-(Wr-11)]=t}tileAnimDivisor(e){let t=this.pointsBuf;t[t.length-(Wr-12)]=e}tileAlpha(e){let t=this.pointsBuf;t[t.length-(Wr-13)]=e}destroyVb(){this.vb&&(this.vb.destroy(),this.vb=null)}updateBuffer(e){let t=this.pointsBuf,r=t.length/Wr,n=this.vb;if(this.tileset.count===0||r===0||this.rects_count===r&&n)return;this.rects_count=r,n||(n=e.createVb(),this.vb=n,this.vbId=n.id,this.vbBuffer=null);let s=r*n.vertPerQuad;e.checkIndexBuffer(r);let o=n.getBuffer("aVertexPosition"),a=n.stride*s;if(!this.vbBuffer||this.vbBuffer.byteLength<a){let h=n.stride;for(;h<a;)h*=2;this.vbBuffer=new ArrayBuffer(h),this.vbArray=new Float32Array(this.vbBuffer),this.vbInts=new Uint32Array(this.vbBuffer)}let u=this.vbArray,c=this.vbInts,l=0,A=0;for(let h=0;h<t.length;h+=Wr){this.compositeParent&&(A=t[h+9]);let d=t[h+2],y=t[h+3],g=t[h+4],E=t[h+5],_=t[h+0],x=t[h+1],I=t[h+6],P=t[h+7],F=t[h+8],G=t[h+10]||1024,q=t[h+11]||1024,T=P+G*2048,K=F+q*2048,J=t[h+12],$=t[h+13],ue,_e,Ze,ce,te,vt,Me,Et;if(I===0)ue=_,_e=x,Ze=_+g,ce=x,te=_+g,vt=x+E,Me=_,Et=x+E;else{let Ce=g/2,Re=E/2;I%4!==0&&(Ce=E/2,Re=g/2);let Ot=_+Ce,Gt=x+Re;I=Ee.add(I,Ee.NW),ue=Ot+Ce*Ee.uX(I),_e=Gt+Re*Ee.uY(I),I=Ee.add(I,2),Ze=Ot+Ce*Ee.uX(I),ce=Gt+Re*Ee.uY(I),I=Ee.add(I,2),te=Ot+Ce*Ee.uX(I),vt=Gt+Re*Ee.uY(I),I=Ee.add(I,2),Me=Ot+Ce*Ee.uX(I),Et=Gt+Re*Ee.uY(I)}u[l++]=d,u[l++]=y,u[l++]=ue,u[l++]=_e,u[l++]=_+.5,u[l++]=x+.5,u[l++]=_+g-.5,u[l++]=x+E-.5,u[l++]=T,u[l++]=K,c[l++]=A,u[l++]=J,u[l++]=$,u[l++]=d+g,u[l++]=y,u[l++]=Ze,u[l++]=ce,u[l++]=_+.5,u[l++]=x+.5,u[l++]=_+g-.5,u[l++]=x+E-.5,u[l++]=T,u[l++]=K,c[l++]=A,u[l++]=J,u[l++]=$,u[l++]=d+g,u[l++]=y+E,u[l++]=te,u[l++]=vt,u[l++]=_+.5,u[l++]=x+.5,u[l++]=_+g-.5,u[l++]=x+E-.5,u[l++]=T,u[l++]=K,c[l++]=A,u[l++]=J,u[l++]=$,u[l++]=d,u[l++]=y+E,u[l++]=Me,u[l++]=Et,u[l++]=_+.5,u[l++]=x+.5,u[l++]=_+g-.5,u[l++]=x+E-.5,u[l++]=T,u[l++]=K,c[l++]=A,u[l++]=J,u[l++]=$}o.data=u}isModified(e){return!!(this.rects_count*Wr!==this.pointsBuf.length||e&&this.hasAnimatedTile)}clearModify(){this.rects_count=this.pointsBuf.length/Wr}addBounds(e){let t=this.tilemapBounds;e.addFrame(t.minX,t.minY,t.maxX,t.maxY)}get bounds(){return this.tilemapBounds}destroy(e){super.destroy(e),this.destroyVb()}addFrame(e,t,r,n,s){return this.tile(e,t,r,{animX:n,animY:s}),!0}addRect(e,t,r,n,s,o,a,u=0,c=0,l=0,A=1024,h=1024,f=1,d=1){return this.tile(e,n,s,{u:t,v:r,tileWidth:o,tileHeight:a,animX:u,animY:c,rotate:l,animCountX:A,animCountY:h,animDivisor:f,alpha:d})}};var v9=Object.defineProperty,C9=(i,e,t)=>e in i?v9(i,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):i[e]=t,ac=(i,e,t)=>(C9(i,typeof e!="symbol"?e+"":e,t),t),lc=class extends Ue{constructor(e){super(),ac(this,"texturesPerTilemap"),ac(this,"tileAnim",null),ac(this,"lastModifiedTilemap",null),ac(this,"modificationMarker",0),ac(this,"setBitmaps",this.tileset),this.texturesPerTilemap=nr.TEXTURES_PER_TILEMAP,this.tileset(e)}tileset(e){e||(e=[]);let t=this.texturesPerTilemap,r=this.children.length,n=Math.ceil(e.length/t);for(let s=0;s<Math.min(r,n);s++)this.children[s].setTileset(e.slice(s*t,(s+1)*t));for(let s=r;s<n;s++){let o=new Da(e.slice(s*t,(s+1)*t));o.compositeParent=!0,this.addChild(o)}return this}clear(){for(let e=0;e<this.children.length;e++)this.children[e].clear();return this.modificationMarker=0,this}tileRotate(e){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileRotate(e),this}tileAnimX(e,t){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileAnimX(e,t),this}tileAnimY(e,t){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileAnimY(e,t),this}tileAnimDivisor(e){return this.lastModifiedTilemap&&this.lastModifiedTilemap.tileAnimDivisor(e),this}tile(e,t,r,n={}){let s=null,o=this.children;if(this.lastModifiedTilemap=null,typeof e=="number"){let a=e/this.texturesPerTilemap>>0,u=0;if(s=o[a],s)u=e%this.texturesPerTilemap;else{if(s=o[0],!s)return this;u=0}s.tile(u,t,r,n)}else{typeof e=="string"&&(e=V.from(e));for(let a=0;a<o.length;a++){let u=o[a],c=u.getTileset().arr;for(let l=0;l<c.length;l++)if(c[l]===e.source){s=u;break}if(s)break}if(!s){for(let a=o.length-1;a>=0;a--){let u=o[a];if(u.getTileset().count<this.texturesPerTilemap){s=u,u.getTileset().push(e.source);break}}s||(s=new Da(e.source),s.compositeParent=!0,this.addChild(s))}s.tile(e,t,r,n)}return this.lastModifiedTilemap=s,this}isModified(e){let t=this.children;if(this.modificationMarker!==t.length)return!0;for(let r=0;r<t.length;r++)if(t[r].isModified(e))return!0;return!1}clearModify(){let e=this.children;this.modificationMarker=e.length;for(let t=0;t<e.length;t++)e[t].clearModify()}addFrame(e,t,r,n,s,o,a,u,c){return this.tile(e,t,r,{animX:n,animY:s,animCountX:o,animCountY:a,animDivisor:u,alpha:c})}addRect(e,t,r,n,s,o,a,u,c,l,A,h){let f=e/this.texturesPerTilemap>>0,d=e%this.texturesPerTilemap;return this.children[f]&&this.children[f].getTileset().count>0?(this.lastModifiedTilemap=this.children[f],this.lastModifiedTilemap.addRect(d,t,r,n,s,o,a,u,c,l,A,h)):this.lastModifiedTilemap=null,this}get texPerChild(){return this.texturesPerTilemap}};le.add(nc);le.add(sc);le.add(oc);xe();var cg=class i extends Ss{constructor(t,r){super(i.getTextures(t,r));this.tile=t;this.tileSet=r;this.animations=[];this._x=0;this._y=0;this.properties={};this.animations=t.animations||[],this.properties=t.properties,this.textures=i.getTextures(t,r),this.texture=this.textures[0],this.flip()}static getTextures(t,r){let n=[];return t.animations&&t.animations.length?t.animations.forEach(s=>{n.push(r.textures[s.tileid])}):n.push(r.textures[t.gid-r.firstgid]),n}get z(){return this.properties.z??0}get gid(){return this.tile.gid}setAnimation(t){let r=this.animations.length;if(r>1){let n=(this.animations[1].tileid-this.animations[0].tileid)*this.width;t.tileAnimX(n,r)}}flip(){let t,r=0,n=s=>{r++,t?t=Ee.add(t,s):t=s};this.tile.horizontalFlip&&n(Ee.MIRROR_HORIZONTAL),this.tile.verticalFlip&&n(Ee.MIRROR_VERTICAL),this.tile.diagonalFlip&&(r%2==0?n(Ee.MAIN_DIAGONAL):n(Ee.REVERSE_DIAGONAL))}};nr.use32bitIndex=!0;var g_=class i extends yt(lc){constructor(){super(...arguments);this._tiles={};this.frameTile=0;this.frameRateAnimation=10}static findTileSet(t,r){let n;for(let s=r.length-1;s>=0&&(n=r[s],!(n.firstgid&&n.firstgid<=t));s--);return n}createTile(t,r,n={}){let{real:s,filter:o}=n,{tilewidth:a,tileheight:u,width:c}=this._layer;s&&(t=Math.floor(t/a),r=Math.floor(r/u));let l=t+r*c,A=this._layer.getTileByIndex(l);if(!A||A&&A.gid==0)return;let h=i.findTileSet(A.gid,this.tileSets);if(!h)return;let f=new cg(A,h);if(f.x=t*a,f.y=r*u+(u-f.texture.height),f._x=t,f._y=r,h.tileoffset&&(f.x+=h.tileoffset.x??0,f.y+=h.tileoffset.y??0),!(o&&!o(f)))return f}_addFrame(t,r,n){let s=this.tile(t.texture,t.x,t.y,{rotate:t.texture.rotate});t.setAnimation(s),this._tiles[r+";"+n]=t}async onMount(t){let{props:r}=t;this.tileSets=r.tilesets,this._layer=new og({...r},this.tileSets);let n=r.context.tick;this.subscriptionTick=n.observable.subscribe(({value:s})=>{s.frame%this.frameRateAnimation==0&&(this.tileAnim=[this.frameTile,this.frameTile],this.frameTile++)}),super.onMount(t)}onUpdate(t){if(super.onUpdate(t),!!this.isMounted){t.tileheight&&(this._layer.tileheight=t.tileheight),t.tilewidth&&(this._layer.tilewidth=t.tilewidth),t.width&&(this._layer.width=t.width),t.height&&(this._layer.height=t.height),t.parallaxX&&(this._layer.parallaxX=t.parallaxx),t.parallaxY&&(this._layer.parallaxY=t.parallaxy),this.removeChildren();for(let r=0;r<this._layer.height;r++)for(let n=0;n<this._layer.width;n++){let s=this.createTile(n,r);s&&this._addFrame(s,n,r)}}}async onDestroy(t){this.subscriptionTick.unsubscribe(),await super.onDestroy(t)}};rt("CompositeTileLayer",g_);function gO(i){return bt("CompositeTileLayer",i)}xe();var Ag=class extends ag{constructor(t){super(t);this.textures=[];this.tileGroups={}}loadGroup(){}async load(t){let r=await dt.load(t);for(let n=this.margin;n<this.image.height;n+=this.tileheight+this.spacing)for(let s=this.margin;s<this.image.width;s+=this.tilewidth+this.spacing)this.textures.push(new V({source:r.source,frame:new pe(+s,+n,+this.tilewidth,+this.tileheight)}));return this.loadGroup(),this}};function b9(i,e,t){let r=[];for(let n of i){if(n.type!==Ns.Tile){r.push(n);continue}let s=new Map,o;if(Array.isArray(n.data))o=n.data.map(l=>typeof l=="number"?l:parseInt(String(l),10));else{r.push(n);continue}let a=0,u=0;for(let l=0;l<o.length;l++){let A=o[l];if(A===0)continue;a++;let h;for(let g=e.length-1;g>=0;g--)if(e[g].firstgid&&e[g].firstgid<=A){h=e[g];break}if(!h){s.has(0)||s.set(0,new Array(o.length).fill(0)),s.get(0)[l]=A;continue}let f=A-h.firstgid,d=h.tileset.tiles?.[f]?.properties,y=d?.z??0;d?.z!==void 0&&u++,s.has(y)||s.set(y,new Array(o.length).fill(0)),s.get(y)[l]=A}let c=Array.from(s.keys()).sort((l,A)=>l-A);for(let l of c){let A=s.get(l);if(A.some(h=>h!==0)){let h={...n,name:`${n.name}_z${l}`,data:A,properties:{...n.properties,z:l}};r.push(h)}}}return r.sort((n,s)=>{let o=n.properties?.z??.5,a=s.properties?.z??.5;return o-a}),r}function mO(i){let{map:e,basePath:t,createLayersPerTilesZ:r}=St(i,{createLayersPerTilesZ:!1,basePath:""}),n=Qe([]),s=i.objectLayer,o=[],a={},u=async(l,A="")=>typeof l!="string"?l:await new lg(l,{basePath:"",staticDir:"",relativePath:A}).parseFilePromise({getOnlyBasename:!1});gt(async()=>{let l=e();if(l){a=await u(l,t()),o=[];for(let h of a.tilesets)h.tile&&(h.tiles=h.tile),h.tiles||(h.tiles=[]),o.push(await new Ag(h).load(h.image.source));let A=a.layers;r()&&(A=b9(a.layers,o,a)),n.set(A)}});let c=(l,A={})=>Ve(wr,A,yb(l,h=>{switch(h.type){case Ns.Tile:return Ve(gO,{tilewidth:a.tilewidth,tileheight:a.tileheight,width:a.width,height:a.height,...h,tilesets:o});case Ns.Image:let{width:f,height:d,source:y}=h.image;return Ve(yx,{image:y,...h,width:h.repeatx?h.width*h.tilewidth:f,height:h.repeaty?h.height*h.tileheight:d});case Ns.Group:return c(Qe(h.layers),h);case Ns.ObjectGroup:let g=s?.(h);return Ve(wr,h,g);default:return Ve(wr)}}));return Ve(wr,i,c(n))}xe();var yO=i=>{let{speed:e=Qe(.5),windDirection:t=Qe(0),windStrength:r=Qe(.2),density:n=Qe(180),resolution:s=Qe([1e3,1e3])}=St(i),o=typeof e=="function"?e:Qe(e),a=typeof t=="function"?t:Qe(t),u=typeof r=="function"?r:Qe(r),c=typeof n=="function"?n:Qe(n),l=typeof s=="function"?s:Qe(s),A=`
|
|
1016
|
+
precision mediump float;
|
|
1017
|
+
attribute vec2 aPosition;
|
|
1018
|
+
attribute vec2 aUV;
|
|
1019
|
+
varying vec2 vUV;
|
|
1020
|
+
void main() {
|
|
1021
|
+
vUV = aUV;
|
|
1022
|
+
gl_Position = vec4(aPosition, 0.0, 1.0);
|
|
1023
|
+
}
|
|
1024
|
+
`,h=`
|
|
1025
|
+
precision mediump float;
|
|
1026
|
+
varying vec2 vUV;
|
|
1027
|
+
uniform float uTime;
|
|
1028
|
+
uniform vec2 uResolution;
|
|
1029
|
+
uniform float uRainSpeed;
|
|
1030
|
+
uniform float uWindDirection;
|
|
1031
|
+
uniform float uWindStrength;
|
|
1032
|
+
uniform float uRainDensity;
|
|
1033
|
+
|
|
1034
|
+
// Hash function for pseudo-random number generation
|
|
1035
|
+
float hash(float n){ return fract(sin(n)*43758.5453); }
|
|
1036
|
+
|
|
1037
|
+
// Generate a single raindrop at given UV coordinates
|
|
1038
|
+
float rainDrop(vec2 uv, float t, float seed) {
|
|
1039
|
+
// Random X position with wider coverage for screen edges
|
|
1040
|
+
float x = hash(seed) * 2.4 - 1.2;
|
|
1041
|
+
|
|
1042
|
+
// Falling speed with variation per drop
|
|
1043
|
+
float baseSpeed = 1.0 + hash(seed + 1.0) * 1.5;
|
|
1044
|
+
float speed = baseSpeed * uRainSpeed;
|
|
1045
|
+
|
|
1046
|
+
// Y position falling from top (1.0) to bottom (-1.0)
|
|
1047
|
+
float y = 1.2 - fract(t * speed + hash(seed + 2.0)) * 2.4;
|
|
1048
|
+
|
|
1049
|
+
// Wind effect: more drift as drop falls further
|
|
1050
|
+
float fallProgress = (1.2 - y) / 2.4; // 0 = top, 1 = bottom
|
|
1051
|
+
float windOffset = uWindDirection * uWindStrength * fallProgress * 0.5;
|
|
1052
|
+
x += windOffset;
|
|
1053
|
+
|
|
1054
|
+
vec2 dropPos = vec2(x, y);
|
|
1055
|
+
vec2 diff = uv - dropPos;
|
|
1056
|
+
|
|
1057
|
+
// Raindrop shape (thin streaks)
|
|
1058
|
+
float dropWidth = 0.0015 + hash(seed + 3.0) * 0.0005;
|
|
1059
|
+
float dropLength = 0.025 + hash(seed + 4.0) * 0.015;
|
|
1060
|
+
|
|
1061
|
+
// Slight tilt based on wind
|
|
1062
|
+
float windAngle = uWindDirection * uWindStrength * 0.2;
|
|
1063
|
+
float cosA = cos(windAngle);
|
|
1064
|
+
float sinA = sin(windAngle);
|
|
1065
|
+
vec2 rotatedDiff = vec2(
|
|
1066
|
+
diff.x * cosA - diff.y * sinA,
|
|
1067
|
+
diff.x * sinA + diff.y * cosA
|
|
1068
|
+
);
|
|
1069
|
+
|
|
1070
|
+
// Distance calculation for thin streaks
|
|
1071
|
+
float distX = abs(rotatedDiff.x) / dropWidth;
|
|
1072
|
+
float distY = abs(rotatedDiff.y) / dropLength;
|
|
1073
|
+
float dist = max(distX, distY * 0.4);
|
|
1074
|
+
|
|
1075
|
+
// Intensity with fade and variation (Zelda-style)
|
|
1076
|
+
float intensity = 1.0 - smoothstep(0.0, 1.2, dist);
|
|
1077
|
+
intensity *= 0.7 + 0.3 * hash(seed + 5.0);
|
|
1078
|
+
|
|
1079
|
+
// Natural fade at top and bottom edges
|
|
1080
|
+
intensity *= smoothstep(-1.2, -0.8, y) * smoothstep(1.2, 0.8, y);
|
|
1081
|
+
|
|
1082
|
+
return intensity;
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
void main(){
|
|
1086
|
+
// Normalized UV coordinates centered on screen
|
|
1087
|
+
vec2 uv = (gl_FragCoord.xy - 0.5 * uResolution.xy) / min(uResolution.x, uResolution.y);
|
|
1088
|
+
|
|
1089
|
+
float rain = 0.0;
|
|
1090
|
+
|
|
1091
|
+
// Generate multiple raindrops
|
|
1092
|
+
for(float i = 0.0; i < 200.0; i++) {
|
|
1093
|
+
rain += rainDrop(uv, uTime, i * 12.34);
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
// Adjust intensity based on density setting
|
|
1097
|
+
rain *= (uRainDensity / 200.0);
|
|
1098
|
+
|
|
1099
|
+
// Zelda-style rain color (bright and visible)
|
|
1100
|
+
vec3 rainColor = vec3(0.85, 0.9, 1.0);
|
|
1101
|
+
|
|
1102
|
+
gl_FragColor = vec4(rainColor * rain, rain * 0.8);
|
|
1103
|
+
}
|
|
1104
|
+
`,f=new jt({vertex:A,fragment:h}),d=new it({uTime:{value:0,type:"f32"},uResolution:{value:l(),type:"vec2<f32>"},uRainSpeed:{value:o(),type:"f32"},uWindDirection:{value:a(),type:"f32"},uWindStrength:{value:u(),type:"f32"},uRainDensity:{value:c(),type:"f32"}}),y=new Dt({glProgram:f,resources:{uniforms:d}}),g=new Pt({attributes:{aPosition:[-1,-1,1,-1,1,1,-1,1],aUV:[0,0,1,0,1,1,0,1]},indexBuffer:[0,1,2,0,2,3]});return Up(({deltaTime:E})=>{d.uniforms.uTime+=E,d.uniforms.uRainSpeed=o(),d.uniforms.uWindDirection=a(),d.uniforms.uWindStrength=u(),d.uniforms.uRainDensity=c(),d.uniforms.uResolution=l()}),Ve(ux,{geometry:g,shader:y})},w9=yO;return YO(Q9);})();
|
|
1105
|
+
/*! Bundled license information:
|
|
1106
|
+
|
|
1107
|
+
howler/dist/howler.js:
|
|
1108
|
+
(*!
|
|
1109
|
+
* howler.js v2.2.4
|
|
1110
|
+
* howlerjs.com
|
|
1111
|
+
*
|
|
1112
|
+
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
1113
|
+
* goldfirestudios.com
|
|
1114
|
+
*
|
|
1115
|
+
* MIT License
|
|
1116
|
+
*)
|
|
1117
|
+
(*!
|
|
1118
|
+
* Spatial Plugin - Adds support for stereo and 3D audio where Web Audio is supported.
|
|
1119
|
+
*
|
|
1120
|
+
* howler.js v2.2.4
|
|
1121
|
+
* howlerjs.com
|
|
1122
|
+
*
|
|
1123
|
+
* (c) 2013-2020, James Simpson of GoldFire Studios
|
|
1124
|
+
* goldfirestudios.com
|
|
1125
|
+
*
|
|
1126
|
+
* MIT License
|
|
1127
|
+
*)
|
|
1128
|
+
|
|
1129
|
+
@barvynkoa/particle-emitter/lib/particle-emitter.es.js:
|
|
1130
|
+
(*!
|
|
1131
|
+
* @barvynkoa/particle-emitter - v6.0.0
|
|
1132
|
+
* Compiled Mon, 27 May 2024 12:15:21 UTC
|
|
1133
|
+
*
|
|
1134
|
+
* @barvynkoa/particle-emitter is licensed under the MIT License.
|
|
1135
|
+
* http://www.opensource.org/licenses/mit-license
|
|
1136
|
+
*)
|
|
1137
|
+
|
|
1138
|
+
@rpgjs/tiled/dist/index.js:
|
|
1139
|
+
(*! http://mths.be/fromcodepoint v0.1.0 by @mathias *)
|
|
1140
|
+
(*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> *)
|
|
1141
|
+
(*!
|
|
1142
|
+
* The buffer module from node.js, for the browser.
|
|
1143
|
+
*
|
|
1144
|
+
* @author Feross Aboukhadijeh <https://feross.org>
|
|
1145
|
+
* @license MIT
|
|
1146
|
+
*)
|
|
1147
|
+
*/
|
|
1148
|
+
//# sourceMappingURL=index.global.js.map
|