From 37407c1234515fd8d6701d011f6aa072dd293340 Mon Sep 17 00:00:00 2001 From: koneko Date: Sat, 8 Feb 2025 17:29:40 +0000 Subject: [PATCH] deploy: 1f62c8fdf0872e3f01af12f8348390e253371641 --- TiledTDThree64.png | Bin 0 -> 146850 bytes Tileset.tsx | 2 +- ...-BzpUCeml.js => SharedSystems-BDLhnKJG.js} | 2 +- ...-B1cEC-wN.js => WebGLRenderer-De8XiEKN.js} | 2 +- ...Co8-REvx.js => WebGPURenderer-C3uezquN.js} | 2 +- ...All-w8xss8gu.js => browserAll-C3vN8kSD.js} | 2 +- ...D6WiE-Of.js => colorToUniform-C1jQKuTl.js} | 2 +- assets/creeps/basic/0.png | Bin 10737 -> 10737 bytes assets/creeps/basic/1.png | Bin 10434 -> 10434 bytes assets/creeps/basic/10.png | Bin 9889 -> 9889 bytes assets/creeps/basic/11.png | Bin 10434 -> 10434 bytes assets/creeps/basic/2.png | Bin 9889 -> 9889 bytes assets/creeps/basic/3.png | Bin 9367 -> 9367 bytes assets/creeps/basic/4.png | Bin 9535 -> 9535 bytes assets/creeps/basic/5.png | Bin 9496 -> 9496 bytes assets/creeps/basic/6.png | Bin 9567 -> 9567 bytes assets/creeps/basic/7.png | Bin 9496 -> 9496 bytes assets/creeps/basic/8.png | Bin 9535 -> 9535 bytes assets/creeps/basic/9.png | Bin 9367 -> 9367 bytes assets/creeps/cloaker/0.png | Bin 0 -> 14697 bytes assets/creeps/cloaker/1.png | Bin 0 -> 14380 bytes assets/creeps/cloaker/10.png | Bin 0 -> 13817 bytes assets/creeps/cloaker/11.png | Bin 0 -> 14389 bytes assets/creeps/cloaker/2.png | Bin 0 -> 13710 bytes assets/creeps/cloaker/3.png | Bin 0 -> 13736 bytes assets/creeps/cloaker/4.png | Bin 0 -> 13692 bytes assets/creeps/cloaker/5.png | Bin 0 -> 13725 bytes assets/creeps/cloaker/6.png | Bin 0 -> 13806 bytes assets/creeps/cloaker/7.png | Bin 0 -> 13768 bytes assets/creeps/cloaker/8.png | Bin 0 -> 13700 bytes assets/creeps/cloaker/9.png | Bin 0 -> 13732 bytes assets/creeps/demon/0.png | Bin 0 -> 14564 bytes assets/creeps/demon/1.png | Bin 0 -> 13750 bytes assets/creeps/demon/2.png | Bin 0 -> 12522 bytes assets/creeps/demon/3.png | Bin 0 -> 12583 bytes assets/creeps/demon/4.png | Bin 0 -> 13408 bytes assets/creeps/demon/5.png | Bin 0 -> 12545 bytes assets/creeps/demon/6.png | Bin 0 -> 12464 bytes assets/creeps/demon/7.png | Bin 0 -> 13755 bytes assets/creeps/maker/1.png | Bin 0 -> 14624 bytes assets/creeps/{quick => maker}/10.png | Bin 14001 -> 14001 bytes assets/creeps/{quick => maker}/11.png | Bin 14624 -> 14624 bytes assets/creeps/maker/2.png | Bin 0 -> 14001 bytes assets/creeps/maker/3.png | Bin 0 -> 13536 bytes assets/creeps/maker/4.png | Bin 0 -> 13617 bytes assets/creeps/maker/5.png | Bin 0 -> 13496 bytes assets/creeps/maker/6.png | Bin 0 -> 13664 bytes assets/creeps/maker/7.png | Bin 0 -> 13496 bytes assets/creeps/{quick => maker}/8.png | Bin 13617 -> 13617 bytes assets/creeps/{quick => maker}/9.png | Bin 13536 -> 13536 bytes assets/creeps/quick/0.png | Bin 14848 -> 15486 bytes assets/creeps/quick/1.png | Bin 14624 -> 14827 bytes assets/creeps/quick/2.png | Bin 14001 -> 13631 bytes assets/creeps/quick/3.png | Bin 13536 -> 13882 bytes assets/creeps/quick/4.png | Bin 13617 -> 14322 bytes assets/creeps/quick/5.png | Bin 13496 -> 13710 bytes assets/creeps/quick/6.png | Bin 13664 -> 13639 bytes assets/creeps/quick/7.png | Bin 13496 -> 14883 bytes assets/creeps/tank/0.png | Bin 16119 -> 16119 bytes assets/creeps/tank/1.png | Bin 15927 -> 15927 bytes assets/creeps/tank/10.png | Bin 15449 -> 15449 bytes assets/creeps/tank/11.png | Bin 15927 -> 15927 bytes assets/creeps/tank/2.png | Bin 15449 -> 15449 bytes assets/creeps/tank/3.png | Bin 14810 -> 14810 bytes assets/creeps/tank/4.png | Bin 14620 -> 14620 bytes assets/creeps/tank/5.png | Bin 14627 -> 14627 bytes assets/creeps/tank/6.png | Bin 14817 -> 14817 bytes assets/creeps/tank/7.png | Bin 14627 -> 14627 bytes assets/creeps/tank/8.png | Bin 14620 -> 14620 bytes assets/creeps/tank/9.png | Bin 14810 -> 14810 bytes assets/index-CkdXe05Z.js | 296 ------------------ assets/index-DUfzhg12.js | 296 ++++++++++++++++++ assets/json/Creeps.json | 12 +- assets/json/Gems.json | 26 +- assets/json/Towers.json | 16 +- assets/maps/01_first_steps.png | Bin 0 -> 19612 bytes assets/maps/02_the_turn.png | Bin 0 -> 119007 bytes assets/maps/03_fork_in_the_road.png | Bin 0 -> 76937 bytes assets/maps/04_crossroads.png | Bin 0 -> 134604 bytes assets/maps/05_the_maze.png | Bin 0 -> 187218 bytes assets/maps/06_multiple_fronts.png | Bin 0 -> 149070 bytes assets/maps/07_final_stretch.png | Bin 0 -> 144449 bytes assets/maps/mission_01.png | Bin 122969 -> 0 bytes assets/missions/01_first_steps.json | 76 +++++ assets/missions/02_the_turn.json | 128 ++++++++ assets/missions/03_fork_in_the_road.json | 141 +++++++++ assets/missions/04_crossroads.json | 169 ++++++++++ assets/missions/05_the_maze.json | 263 ++++++++++++++++ assets/missions/06_multiple_fronts.json | 199 ++++++++++++ assets/missions/07_final_stretch.json | 223 +++++++++++++ assets/missions/mission_01.json | 128 -------- ...l-tB1Muq8I.js => webworkerAll-C8kqtn2i.js} | 2 +- favicon.ico | Bin 0 -> 16958 bytes favicon.png | Bin 0 -> 9841 bytes index.html | 5 +- latest_commit | 2 +- maps.tiled-session | 113 ++++++- tiled/01_first_steps.tmx | 25 ++ tiled/02_the_turn.tmx | 25 ++ tiled/03_fork_in_the_road.tmx | 25 ++ tiled/04_crossroads.tmx | 25 ++ tiled/05_the_maze.tmx | 25 ++ tiled/06_multiple_fronts.tmx | 25 ++ tiled/07_final_stretch.tmx | 25 ++ 104 files changed, 1812 insertions(+), 470 deletions(-) create mode 100644 TiledTDThree64.png rename assets/{SharedSystems-BzpUCeml.js => SharedSystems-BDLhnKJG.js} (99%) rename assets/{WebGLRenderer-B1cEC-wN.js => WebGLRenderer-De8XiEKN.js} (99%) rename assets/{WebGPURenderer-Co8-REvx.js => WebGPURenderer-C3uezquN.js} (99%) rename assets/{browserAll-w8xss8gu.js => browserAll-C3vN8kSD.js} (99%) rename assets/{colorToUniform-D6WiE-Of.js => colorToUniform-C1jQKuTl.js} (98%) create mode 100644 assets/creeps/cloaker/0.png create mode 100644 assets/creeps/cloaker/1.png create mode 100644 assets/creeps/cloaker/10.png create mode 100644 assets/creeps/cloaker/11.png create mode 100644 assets/creeps/cloaker/2.png create mode 100644 assets/creeps/cloaker/3.png create mode 100644 assets/creeps/cloaker/4.png create mode 100644 assets/creeps/cloaker/5.png create mode 100644 assets/creeps/cloaker/6.png create mode 100644 assets/creeps/cloaker/7.png create mode 100644 assets/creeps/cloaker/8.png create mode 100644 assets/creeps/cloaker/9.png create mode 100644 assets/creeps/demon/0.png create mode 100644 assets/creeps/demon/1.png create mode 100644 assets/creeps/demon/2.png create mode 100644 assets/creeps/demon/3.png create mode 100644 assets/creeps/demon/4.png create mode 100644 assets/creeps/demon/5.png create mode 100644 assets/creeps/demon/6.png create mode 100644 assets/creeps/demon/7.png create mode 100644 assets/creeps/maker/1.png rename assets/creeps/{quick => maker}/10.png (98%) rename assets/creeps/{quick => maker}/11.png (98%) create mode 100644 assets/creeps/maker/2.png create mode 100644 assets/creeps/maker/3.png create mode 100644 assets/creeps/maker/4.png create mode 100644 assets/creeps/maker/5.png create mode 100644 assets/creeps/maker/6.png create mode 100644 assets/creeps/maker/7.png rename assets/creeps/{quick => maker}/8.png (98%) rename assets/creeps/{quick => maker}/9.png (98%) delete mode 100644 assets/index-CkdXe05Z.js create mode 100644 assets/index-DUfzhg12.js create mode 100644 assets/maps/01_first_steps.png create mode 100644 assets/maps/02_the_turn.png create mode 100644 assets/maps/03_fork_in_the_road.png create mode 100644 assets/maps/04_crossroads.png create mode 100644 assets/maps/05_the_maze.png create mode 100644 assets/maps/06_multiple_fronts.png create mode 100644 assets/maps/07_final_stretch.png delete mode 100644 assets/maps/mission_01.png create mode 100644 assets/missions/01_first_steps.json create mode 100644 assets/missions/02_the_turn.json create mode 100644 assets/missions/03_fork_in_the_road.json create mode 100644 assets/missions/04_crossroads.json create mode 100644 assets/missions/05_the_maze.json create mode 100644 assets/missions/06_multiple_fronts.json create mode 100644 assets/missions/07_final_stretch.json delete mode 100644 assets/missions/mission_01.json rename assets/{webworkerAll-tB1Muq8I.js => webworkerAll-C8kqtn2i.js} (99%) create mode 100644 favicon.ico create mode 100644 favicon.png create mode 100644 tiled/01_first_steps.tmx create mode 100644 tiled/02_the_turn.tmx create mode 100644 tiled/03_fork_in_the_road.tmx create mode 100644 tiled/04_crossroads.tmx create mode 100644 tiled/05_the_maze.tmx create mode 100644 tiled/06_multiple_fronts.tmx create mode 100644 tiled/07_final_stretch.tmx diff --git a/TiledTDThree64.png b/TiledTDThree64.png new file mode 100644 index 0000000000000000000000000000000000000000..2abadf39c53d6eb22d7b821936e09cf3a272ee42 GIT binary patch literal 146850 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 Qf`ETYa%!>_GG@X52eu}TcmMzZ literal 0 HcmV?d00001 diff --git a/Tileset.tsx b/Tileset.tsx index 7f536c1..f109f67 100644 --- a/Tileset.tsx +++ b/Tileset.tsx @@ -1,4 +1,4 @@ - + diff --git a/assets/SharedSystems-BzpUCeml.js b/assets/SharedSystems-BDLhnKJG.js similarity index 99% rename from assets/SharedSystems-BzpUCeml.js rename to assets/SharedSystems-BDLhnKJG.js index 3413e04..883536c 100644 --- a/assets/SharedSystems-BzpUCeml.js +++ b/assets/SharedSystems-BDLhnKJG.js @@ -1,4 +1,4 @@ -import{u as We,G as te,v as re,x as Ve,l as se,M as g,E as u,e as D,y as ne,z as _,F as je,R as E,H as ae,I as ie,J as Ne,a as m,S as p,j as B,w as oe,K as $,L as $e,d as q,B as k,k as U,N as M,T as b,O as S,Q as qe,c as Ke,C as w,V as le,W as ue,X as de,Y as ce,Z as Ye,P as Je,h as Xe,b as K,D as he,_ as Y,$ as Qe,a0 as Ze,a1 as et}from"./index-CkdXe05Z.js";import{S as fe,T as J,B as tt,c as rt}from"./colorToUniform-D6WiE-Of.js";const pe=class A extends We{constructor(e){e={...A.defaultOptions,...e},super(e),this.enabled=!0,this._state=fe.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.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){const{gpu:t,gl:r,...n}=e;let a,i;return t&&(a=te.from(t)),r&&(i=re.from(r)),new A({gpuProgram:a,glProgram:i,...n})}};pe.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1};let st=pe;var nt=`in vec2 vMaskCoord; +import{u as We,G as te,v as re,x as Ve,l as se,M as g,E as u,e as D,y as ne,z as _,F as je,R as E,H as ae,I as ie,J as Ne,a as m,S as p,j as B,w as oe,K as $,L as $e,d as q,B as k,k as U,N as M,T as b,O as S,Q as qe,c as Ke,C as w,V as le,W as ue,X as de,Y as ce,Z as Ye,P as Je,h as Xe,b as K,D as he,_ as Y,$ as Qe,a0 as Ze,a1 as et}from"./index-DUfzhg12.js";import{S as fe,T as J,B as tt,c as rt}from"./colorToUniform-C1jQKuTl.js";const pe=class A extends We{constructor(e){e={...A.defaultOptions,...e},super(e),this.enabled=!0,this._state=fe.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.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){const{gpu:t,gl:r,...n}=e;let a,i;return t&&(a=te.from(t)),r&&(i=re.from(r)),new A({gpuProgram:a,glProgram:i,...n})}};pe.defaultOptions={blendMode:"normal",resolution:1,padding:0,antialias:"off",blendRequired:!1};let st=pe;var nt=`in vec2 vMaskCoord; in vec2 vTextureCoord; uniform sampler2D uTexture; diff --git a/assets/WebGLRenderer-B1cEC-wN.js b/assets/WebGLRenderer-De8XiEKN.js similarity index 99% rename from assets/WebGLRenderer-B1cEC-wN.js rename to assets/WebGLRenderer-De8XiEKN.js index e48e8f7..bf8e13a 100644 --- a/assets/WebGLRenderer-B1cEC-wN.js +++ b/assets/WebGLRenderer-De8XiEKN.js @@ -1,4 +1,4 @@ -import{E as l,B as A,w as m,D as S,K,a2 as Ae,v as Be,u as G,a as p,T as $,S as R,O as L,k as H,j as B,l as U,s as z,M as Y,a3 as q,a4 as Ne,a5 as Ie,a6 as Z,a7 as De,e as x,A as ye,R as Ce}from"./index-CkdXe05Z.js";import{S as O,b as Q}from"./colorToUniform-D6WiE-Of.js";import{e as Ge,G as Ue,c as Oe,b as Pe,U as Fe,R as Me,B as J,d as N,f as Le,S as He,a as we}from"./SharedSystems-BzpUCeml.js";class ee{constructor(){this._didUpload=!1,this._tempState=O.for2d()}init(e){e.renderer.runners.contextChange.add(this)}contextChange(){this._didUpload=!1}start(e,r,s){const n=e.renderer;n.shader.bind(s,this._didUpload),n.shader.updateUniformGroup(n.globalUniforms.uniformGroup),n.geometry.bind(r,s.glProgram)}execute(e,r){const s=e.renderer;this._didUpload=!0,this._tempState.blendMode=r.blendMode,s.state.set(this._tempState);const n=r.textures.textures;for(let i=0;i(t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t))(T||{});class Ve{constructor(e,r){this.buffer=e||null,this.updateID=-1,this.byteLength=-1,this.type=r}}class te{constructor(e){this._gpuBuffers=Object.create(null),this._boundBufferBases=Object.create(null),this._renderer=e}destroy(){this._renderer=null,this._gl=null,this._gpuBuffers=null,this._boundBufferBases=null}contextChange(){this._gpuBuffers=Object.create(null),this._gl=this._renderer.gl}getGlBuffer(e){return this._gpuBuffers[e.uid]||this.createGLBuffer(e)}bind(e){const{_gl:r}=this,s=this.getGlBuffer(e);r.bindBuffer(s.type,s.buffer)}bindBufferBase(e,r){const{_gl:s}=this;if(this._boundBufferBases[r]!==e){const n=this.getGlBuffer(e);this._boundBufferBases[r]=e,s.bindBufferBase(s.UNIFORM_BUFFER,r,n.buffer)}}bindBufferRange(e,r,s){const{_gl:n}=this;s=s||0;const i=this.getGlBuffer(e);n.bindBufferRange(n.UNIFORM_BUFFER,r||0,i.buffer,s*256,256)}updateBuffer(e){const{_gl:r}=this,s=this.getGlBuffer(e);if(e._updateID===s.updateID)return s;s.updateID=e._updateID,r.bindBuffer(s.type,s.buffer);const n=e.data;if(s.byteLength>=e.data.byteLength)r.bufferSubData(s.type,0,n,0,e._updateSize/n.BYTES_PER_ELEMENT);else{const i=e.descriptor.usage&A.STATIC?r.STATIC_DRAW:r.DYNAMIC_DRAW;s.byteLength=n.byteLength,r.bufferData(s.type,n,i)}return s}destroyAll(){const e=this._gl;for(const r in this._gpuBuffers)e.deleteBuffer(this._gpuBuffers[r].buffer);this._gpuBuffers=Object.create(null)}onBufferDestroy(e,r){const s=this._gpuBuffers[e.uid],n=this._gl;r||n.deleteBuffer(s.buffer),this._gpuBuffers[e.uid]=null}createGLBuffer(e){const{_gl:r}=this;let s=T.ARRAY_BUFFER;e.descriptor.usage&A.INDEX?s=T.ELEMENT_ARRAY_BUFFER:e.descriptor.usage&A.UNIFORM&&(s=T.UNIFORM_BUFFER);const n=new Ve(r.createBuffer(),s);return this._gpuBuffers[e.uid]=n,e.on("destroy",this.onBufferDestroy,this),n}}te.extension={type:[l.WebGLSystem],name:"buffer"};const P=class re{constructor(e){this.supports={uint32Indices:!0,uniformBufferObject:!0,vertexArrayObject:!0,srgbTextures:!0,nonPowOf2wrapping:!0,msaa:!0,nonPowOf2mipmaps:!0},this._renderer=e,this.extensions=Object.create(null),this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(e){this.gl=e,this._renderer.gl=e}init(e){e={...re.defaultOptions,...e};let r=this.multiView=e.multiView;if(e.context&&r&&(m("Renderer created with both a context and multiview enabled. Disabling multiView as both cannot work together."),r=!1),r?this.canvas=S.get().createCanvas(this._renderer.canvas.width,this._renderer.canvas.height):this.canvas=this._renderer.view.canvas,e.context)this.initFromContext(e.context);else{const s=this._renderer.background.alpha<1,n=e.premultipliedAlpha??!0,i=e.antialias&&!this._renderer.backBuffer.useBackBuffer;this.createContext(e.preferWebGLVersion,{alpha:s,premultipliedAlpha:n,antialias:i,stencil:!0,preserveDrawingBuffer:e.preserveDrawingBuffer,powerPreference:e.powerPreference??"default"})}}ensureCanvasSize(e){if(!this.multiView){e!==this.canvas&&m("multiView is disabled, but targetCanvas is not the main canvas");return}const{canvas:r}=this;(r.width{var r;this.gl.isContextLost()&&((r=this.extensions.loseContext)==null||r.restoreContext())},0))}handleContextRestored(){this._renderer.runners.contextChange.emit(this.gl)}destroy(){var r;const e=this._renderer.view.canvas;this._renderer=null,e.removeEventListener("webglcontextlost",this.handleContextLost),e.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),(r=this.extensions.loseContext)==null||r.loseContext()}forceContextLoss(){var e;(e=this.extensions.loseContext)==null||e.loseContext(),this._contextLossForced=!0}validateContext(e){const r=e.getContextAttributes();r&&!r.stencil&&m("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const s=this.supports,n=this.webGLVersion===2,i=this.extensions;s.uint32Indices=n||!!i.uint32ElementIndex,s.uniformBufferObject=n,s.vertexArrayObject=n||!!i.vertexArrayObject,s.srgbTextures=n||!!i.srgb,s.nonPowOf2wrapping=n,s.nonPowOf2mipmaps=n,s.msaa=n,s.uint32Indices||m("Provided WebGL context does not support 32 index buffer, large scenes may not render correctly")}};P.extension={type:[l.WebGLSystem],name:"context"};P.defaultOptions={context:null,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:void 0,preferWebGLVersion:2,multiView:!1};let ke=P;var y=(t=>(t[t.RGBA=6408]="RGBA",t[t.RGB=6407]="RGB",t[t.RG=33319]="RG",t[t.RED=6403]="RED",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.ALPHA=6406]="ALPHA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t))(y||{}),se=(t=>(t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t))(se||{}),f=(t=>(t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.BYTE=5120]="BYTE",t[t.SHORT=5122]="SHORT",t[t.INT=5124]="INT",t[t.FLOAT=5126]="FLOAT",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.HALF_FLOAT=36193]="HALF_FLOAT",t))(f||{});const w={uint8x2:f.UNSIGNED_BYTE,uint8x4:f.UNSIGNED_BYTE,sint8x2:f.BYTE,sint8x4:f.BYTE,unorm8x2:f.UNSIGNED_BYTE,unorm8x4:f.UNSIGNED_BYTE,snorm8x2:f.BYTE,snorm8x4:f.BYTE,uint16x2:f.UNSIGNED_SHORT,uint16x4:f.UNSIGNED_SHORT,sint16x2:f.SHORT,sint16x4:f.SHORT,unorm16x2:f.UNSIGNED_SHORT,unorm16x4:f.UNSIGNED_SHORT,snorm16x2:f.SHORT,snorm16x4:f.SHORT,float16x2:f.HALF_FLOAT,float16x4:f.HALF_FLOAT,float32:f.FLOAT,float32x2:f.FLOAT,float32x3:f.FLOAT,float32x4:f.FLOAT,uint32:f.UNSIGNED_INT,uint32x2:f.UNSIGNED_INT,uint32x3:f.UNSIGNED_INT,uint32x4:f.UNSIGNED_INT,sint32:f.INT,sint32x2:f.INT,sint32x3:f.INT,sint32x4:f.INT};function Xe(t){return w[t]??w.float32}const We={"point-list":0,"line-list":1,"line-strip":3,"triangle-list":4,"triangle-strip":5};class ne{constructor(e){this._geometryVaoHash=Object.create(null),this._renderer=e,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0}contextChange(){const e=this.gl=this._renderer.gl;if(!this._renderer.context.supports.vertexArrayObject)throw new Error("[PixiJS] Vertex Array Objects are not supported on this device");const r=this._renderer.context.extensions.vertexArrayObject;r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.bindVertexArray=n=>r.bindVertexArrayOES(n),e.deleteVertexArray=n=>r.deleteVertexArrayOES(n));const s=this._renderer.context.extensions.vertexAttribDivisorANGLE;s&&(e.drawArraysInstanced=(n,i,a,o)=>{s.drawArraysInstancedANGLE(n,i,a,o)},e.drawElementsInstanced=(n,i,a,o,c)=>{s.drawElementsInstancedANGLE(n,i,a,o,c)},e.vertexAttribDivisor=(n,i)=>s.vertexAttribDivisorANGLE(n,i)),this._activeGeometry=null,this._activeVao=null,this._geometryVaoHash=Object.create(null)}bind(e,r){const s=this.gl;this._activeGeometry=e;const n=this.getVao(e,r);this._activeVao!==n&&(this._activeVao=n,s.bindVertexArray(n)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){const e=this._activeGeometry,r=this._renderer.buffer;for(let s=0;s1?i.drawElementsInstanced(o,r||a.indexBuffer.data.length,u,(s||0)*c,n):i.drawElements(o,r||a.indexBuffer.data.length,u,(s||0)*c)}else n>1?i.drawArraysInstanced(o,s||0,r||a.getSize(),n):i.drawArrays(o,s||0,r||a.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this._renderer=null,this.gl=null,this._activeVao=null,this._activeGeometry=null}}ne.extension={type:[l.WebGLSystem],name:"geometry"};const je=new Ae({attributes:{aPosition:[-1,-1,3,-1,-1,3]}}),F=class ie{constructor(e){this.useBackBuffer=!1,this._useBackBufferThisRender=!1,this._renderer=e}init(e={}){const{useBackBuffer:r,antialias:s}={...ie.defaultOptions,...e};this.useBackBuffer=r,this._antialias=s,this._renderer.context.supports.msaa||(m("antialiasing, is not supported on when using the back buffer"),this._antialias=!1),this._state=O.for2d();const n=new Be({vertex:` +import{E as l,B as A,w as m,D as S,K,a2 as Ae,v as Be,u as G,a as p,T as $,S as R,O as L,k as H,j as B,l as U,s as z,M as Y,a3 as q,a4 as Ne,a5 as Ie,a6 as Z,a7 as De,e as x,A as ye,R as Ce}from"./index-DUfzhg12.js";import{S as O,b as Q}from"./colorToUniform-C1jQKuTl.js";import{e as Ge,G as Ue,c as Oe,b as Pe,U as Fe,R as Me,B as J,d as N,f as Le,S as He,a as we}from"./SharedSystems-BDLhnKJG.js";class ee{constructor(){this._didUpload=!1,this._tempState=O.for2d()}init(e){e.renderer.runners.contextChange.add(this)}contextChange(){this._didUpload=!1}start(e,r,s){const n=e.renderer;n.shader.bind(s,this._didUpload),n.shader.updateUniformGroup(n.globalUniforms.uniformGroup),n.geometry.bind(r,s.glProgram)}execute(e,r){const s=e.renderer;this._didUpload=!0,this._tempState.blendMode=r.blendMode,s.state.set(this._tempState);const n=r.textures.textures;for(let i=0;i(t[t.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",t[t.ARRAY_BUFFER=34962]="ARRAY_BUFFER",t[t.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",t))(T||{});class Ve{constructor(e,r){this.buffer=e||null,this.updateID=-1,this.byteLength=-1,this.type=r}}class te{constructor(e){this._gpuBuffers=Object.create(null),this._boundBufferBases=Object.create(null),this._renderer=e}destroy(){this._renderer=null,this._gl=null,this._gpuBuffers=null,this._boundBufferBases=null}contextChange(){this._gpuBuffers=Object.create(null),this._gl=this._renderer.gl}getGlBuffer(e){return this._gpuBuffers[e.uid]||this.createGLBuffer(e)}bind(e){const{_gl:r}=this,s=this.getGlBuffer(e);r.bindBuffer(s.type,s.buffer)}bindBufferBase(e,r){const{_gl:s}=this;if(this._boundBufferBases[r]!==e){const n=this.getGlBuffer(e);this._boundBufferBases[r]=e,s.bindBufferBase(s.UNIFORM_BUFFER,r,n.buffer)}}bindBufferRange(e,r,s){const{_gl:n}=this;s=s||0;const i=this.getGlBuffer(e);n.bindBufferRange(n.UNIFORM_BUFFER,r||0,i.buffer,s*256,256)}updateBuffer(e){const{_gl:r}=this,s=this.getGlBuffer(e);if(e._updateID===s.updateID)return s;s.updateID=e._updateID,r.bindBuffer(s.type,s.buffer);const n=e.data;if(s.byteLength>=e.data.byteLength)r.bufferSubData(s.type,0,n,0,e._updateSize/n.BYTES_PER_ELEMENT);else{const i=e.descriptor.usage&A.STATIC?r.STATIC_DRAW:r.DYNAMIC_DRAW;s.byteLength=n.byteLength,r.bufferData(s.type,n,i)}return s}destroyAll(){const e=this._gl;for(const r in this._gpuBuffers)e.deleteBuffer(this._gpuBuffers[r].buffer);this._gpuBuffers=Object.create(null)}onBufferDestroy(e,r){const s=this._gpuBuffers[e.uid],n=this._gl;r||n.deleteBuffer(s.buffer),this._gpuBuffers[e.uid]=null}createGLBuffer(e){const{_gl:r}=this;let s=T.ARRAY_BUFFER;e.descriptor.usage&A.INDEX?s=T.ELEMENT_ARRAY_BUFFER:e.descriptor.usage&A.UNIFORM&&(s=T.UNIFORM_BUFFER);const n=new Ve(r.createBuffer(),s);return this._gpuBuffers[e.uid]=n,e.on("destroy",this.onBufferDestroy,this),n}}te.extension={type:[l.WebGLSystem],name:"buffer"};const P=class re{constructor(e){this.supports={uint32Indices:!0,uniformBufferObject:!0,vertexArrayObject:!0,srgbTextures:!0,nonPowOf2wrapping:!0,msaa:!0,nonPowOf2mipmaps:!0},this._renderer=e,this.extensions=Object.create(null),this.handleContextLost=this.handleContextLost.bind(this),this.handleContextRestored=this.handleContextRestored.bind(this)}get isLost(){return!this.gl||this.gl.isContextLost()}contextChange(e){this.gl=e,this._renderer.gl=e}init(e){e={...re.defaultOptions,...e};let r=this.multiView=e.multiView;if(e.context&&r&&(m("Renderer created with both a context and multiview enabled. Disabling multiView as both cannot work together."),r=!1),r?this.canvas=S.get().createCanvas(this._renderer.canvas.width,this._renderer.canvas.height):this.canvas=this._renderer.view.canvas,e.context)this.initFromContext(e.context);else{const s=this._renderer.background.alpha<1,n=e.premultipliedAlpha??!0,i=e.antialias&&!this._renderer.backBuffer.useBackBuffer;this.createContext(e.preferWebGLVersion,{alpha:s,premultipliedAlpha:n,antialias:i,stencil:!0,preserveDrawingBuffer:e.preserveDrawingBuffer,powerPreference:e.powerPreference??"default"})}}ensureCanvasSize(e){if(!this.multiView){e!==this.canvas&&m("multiView is disabled, but targetCanvas is not the main canvas");return}const{canvas:r}=this;(r.width{var r;this.gl.isContextLost()&&((r=this.extensions.loseContext)==null||r.restoreContext())},0))}handleContextRestored(){this._renderer.runners.contextChange.emit(this.gl)}destroy(){var r;const e=this._renderer.view.canvas;this._renderer=null,e.removeEventListener("webglcontextlost",this.handleContextLost),e.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),(r=this.extensions.loseContext)==null||r.loseContext()}forceContextLoss(){var e;(e=this.extensions.loseContext)==null||e.loseContext(),this._contextLossForced=!0}validateContext(e){const r=e.getContextAttributes();r&&!r.stencil&&m("Provided WebGL context does not have a stencil buffer, masks may not render correctly");const s=this.supports,n=this.webGLVersion===2,i=this.extensions;s.uint32Indices=n||!!i.uint32ElementIndex,s.uniformBufferObject=n,s.vertexArrayObject=n||!!i.vertexArrayObject,s.srgbTextures=n||!!i.srgb,s.nonPowOf2wrapping=n,s.nonPowOf2mipmaps=n,s.msaa=n,s.uint32Indices||m("Provided WebGL context does not support 32 index buffer, large scenes may not render correctly")}};P.extension={type:[l.WebGLSystem],name:"context"};P.defaultOptions={context:null,premultipliedAlpha:!0,preserveDrawingBuffer:!1,powerPreference:void 0,preferWebGLVersion:2,multiView:!1};let ke=P;var y=(t=>(t[t.RGBA=6408]="RGBA",t[t.RGB=6407]="RGB",t[t.RG=33319]="RG",t[t.RED=6403]="RED",t[t.RGBA_INTEGER=36249]="RGBA_INTEGER",t[t.RGB_INTEGER=36248]="RGB_INTEGER",t[t.RG_INTEGER=33320]="RG_INTEGER",t[t.RED_INTEGER=36244]="RED_INTEGER",t[t.ALPHA=6406]="ALPHA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL",t))(y||{}),se=(t=>(t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",t))(se||{}),f=(t=>(t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.UNSIGNED_INT=5125]="UNSIGNED_INT",t[t.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",t[t.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",t[t.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",t[t.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",t[t.BYTE=5120]="BYTE",t[t.SHORT=5122]="SHORT",t[t.INT=5124]="INT",t[t.FLOAT=5126]="FLOAT",t[t.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",t[t.HALF_FLOAT=36193]="HALF_FLOAT",t))(f||{});const w={uint8x2:f.UNSIGNED_BYTE,uint8x4:f.UNSIGNED_BYTE,sint8x2:f.BYTE,sint8x4:f.BYTE,unorm8x2:f.UNSIGNED_BYTE,unorm8x4:f.UNSIGNED_BYTE,snorm8x2:f.BYTE,snorm8x4:f.BYTE,uint16x2:f.UNSIGNED_SHORT,uint16x4:f.UNSIGNED_SHORT,sint16x2:f.SHORT,sint16x4:f.SHORT,unorm16x2:f.UNSIGNED_SHORT,unorm16x4:f.UNSIGNED_SHORT,snorm16x2:f.SHORT,snorm16x4:f.SHORT,float16x2:f.HALF_FLOAT,float16x4:f.HALF_FLOAT,float32:f.FLOAT,float32x2:f.FLOAT,float32x3:f.FLOAT,float32x4:f.FLOAT,uint32:f.UNSIGNED_INT,uint32x2:f.UNSIGNED_INT,uint32x3:f.UNSIGNED_INT,uint32x4:f.UNSIGNED_INT,sint32:f.INT,sint32x2:f.INT,sint32x3:f.INT,sint32x4:f.INT};function Xe(t){return w[t]??w.float32}const We={"point-list":0,"line-list":1,"line-strip":3,"triangle-list":4,"triangle-strip":5};class ne{constructor(e){this._geometryVaoHash=Object.create(null),this._renderer=e,this._activeGeometry=null,this._activeVao=null,this.hasVao=!0,this.hasInstance=!0}contextChange(){const e=this.gl=this._renderer.gl;if(!this._renderer.context.supports.vertexArrayObject)throw new Error("[PixiJS] Vertex Array Objects are not supported on this device");const r=this._renderer.context.extensions.vertexArrayObject;r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.bindVertexArray=n=>r.bindVertexArrayOES(n),e.deleteVertexArray=n=>r.deleteVertexArrayOES(n));const s=this._renderer.context.extensions.vertexAttribDivisorANGLE;s&&(e.drawArraysInstanced=(n,i,a,o)=>{s.drawArraysInstancedANGLE(n,i,a,o)},e.drawElementsInstanced=(n,i,a,o,c)=>{s.drawElementsInstancedANGLE(n,i,a,o,c)},e.vertexAttribDivisor=(n,i)=>s.vertexAttribDivisorANGLE(n,i)),this._activeGeometry=null,this._activeVao=null,this._geometryVaoHash=Object.create(null)}bind(e,r){const s=this.gl;this._activeGeometry=e;const n=this.getVao(e,r);this._activeVao!==n&&(this._activeVao=n,s.bindVertexArray(n)),this.updateBuffers()}reset(){this.unbind()}updateBuffers(){const e=this._activeGeometry,r=this._renderer.buffer;for(let s=0;s1?i.drawElementsInstanced(o,r||a.indexBuffer.data.length,u,(s||0)*c,n):i.drawElements(o,r||a.indexBuffer.data.length,u,(s||0)*c)}else n>1?i.drawArraysInstanced(o,s||0,r||a.getSize(),n):i.drawArrays(o,s||0,r||a.getSize());return this}unbind(){this.gl.bindVertexArray(null),this._activeVao=null,this._activeGeometry=null}destroy(){this._renderer=null,this.gl=null,this._activeVao=null,this._activeGeometry=null}}ne.extension={type:[l.WebGLSystem],name:"geometry"};const je=new Ae({attributes:{aPosition:[-1,-1,3,-1,-1,3]}}),F=class ie{constructor(e){this.useBackBuffer=!1,this._useBackBufferThisRender=!1,this._renderer=e}init(e={}){const{useBackBuffer:r,antialias:s}={...ie.defaultOptions,...e};this.useBackBuffer=r,this._antialias=s,this._renderer.context.supports.msaa||(m("antialiasing, is not supported on when using the back buffer"),this._antialias=!1),this._state=O.for2d();const n=new Be({vertex:` attribute vec2 aPosition; out vec2 vUv; diff --git a/assets/WebGPURenderer-Co8-REvx.js b/assets/WebGPURenderer-C3uezquN.js similarity index 99% rename from assets/WebGPURenderer-Co8-REvx.js rename to assets/WebGPURenderer-C3uezquN.js index b718e20..e9c8165 100644 --- a/assets/WebGPURenderer-Co8-REvx.js +++ b/assets/WebGPURenderer-C3uezquN.js @@ -1,4 +1,4 @@ -import{g as w,E as l,f as ne,D as P,S as T,B as S,d as oe,h as R,i as C,w as E,j as b,k as ae,T as ue,l as A,m as U,M as k,o as L,p as ce,q as de,s as he,t as D,u as z,a as M,e as G,A as pe,R as le}from"./index-CkdXe05Z.js";import{S as F,l as fe,a as ge}from"./colorToUniform-D6WiE-Of.js";import{c as me,u as _e,U as be,B as ye,G as xe,e as Ge,R as Be,t as Se,S as Pe,a as Te}from"./SharedSystems-BzpUCeml.js";const y=F.for2d();class O{start(e,t,r){const s=e.renderer,i=s.encoder,n=r.gpuProgram;this._shader=r,this._geometry=t,i.setGeometry(t,n),y.blendMode="normal",s.pipeline.getPipeline(t,n,y);const o=s.globalUniforms.bindGroup;i.resetBindGroup(1),i.setBindGroup(0,o,n)}execute(e,t){const r=this._shader.gpuProgram,s=e.renderer,i=s.encoder;if(!t.bindGroup){const u=t.textures;t.bindGroup=w(u.textures,u.count)}y.blendMode=t.blendMode;const n=s.bindGroup.getBindGroup(t.bindGroup,r,1),o=s.pipeline.getPipeline(this._geometry,r,y);t.bindGroup._touch(s.textureGC.count),i.setPipeline(o),i.renderPassEncoder.setBindGroup(1,n),i.renderPassEncoder.drawIndexed(t.size,1,t.start)}}O.extension={type:[l.WebGPUPipesAdaptor],name:"batch"};class H{constructor(e){this._hash=Object.create(null),this._renderer=e}contextChange(e){this._gpu=e}getBindGroup(e,t,r){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,r)}_createBindGroup(e,t,r){const s=this._gpu.device,i=t.layout[r],n=[],o=this._renderer;for(const f in i){const h=e.resources[f]??e.resources[i[f]];let p;if(h._resourceType==="uniformGroup"){const d=h;o.ubo.updateUniformGroup(d);const g=d.buffer;p={buffer:o.buffer.getGPUBuffer(g),offset:0,size:g.descriptor.size}}else if(h._resourceType==="buffer"){const d=h;p={buffer:o.buffer.getGPUBuffer(d),offset:0,size:d.descriptor.size}}else if(h._resourceType==="bufferResource"){const d=h;p={buffer:o.buffer.getGPUBuffer(d.buffer),offset:d.offset,size:d.size}}else if(h._resourceType==="textureSampler"){const d=h;p=o.texture.getGpuSampler(d)}else if(h._resourceType==="textureSource"){const d=h;p=o.texture.getGpuSource(d).createView({})}n.push({binding:i[f],resource:p})}const u=o.shader.getProgramData(t).bindGroups[r],c=s.createBindGroup({layout:u,entries:n});return this._hash[e._key]=c,c}destroy(){for(const e of Object.keys(this._hash))this._hash[e]=null;this._hash=null,this._renderer=null}}H.extension={type:[l.WebGPUSystem],name:"bindGroup"};class W{constructor(){this._gpuBuffers=Object.create(null),this._managedBuffers=[]}contextChange(e){this._gpu=e}getGPUBuffer(e){return this._gpuBuffers[e.uid]||this.createGPUBuffer(e)}updateBuffer(e){const t=this._gpuBuffers[e.uid]||this.createGPUBuffer(e),r=e.data;return e._updateID&&r&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,r.buffer,0,(e._updateSize||r.byteLength)+3&-4)),t}destroyAll(){for(const e in this._gpuBuffers)this._gpuBuffers[e].destroy();this._gpuBuffers={}}createGPUBuffer(e){this._gpuBuffers[e.uid]||(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this),e.on("destroy",this.onBufferDestroy,this),this._managedBuffers.push(e));const t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e.data&&(ne(e.data.buffer,t.getMappedRange()),t.unmap()),this._gpuBuffers[e.uid]=t,t}onBufferChange(e){this._gpuBuffers[e.uid].destroy(),e._updateID=0,this._gpuBuffers[e.uid]=this.createGPUBuffer(e)}onBufferDestroy(e){this._managedBuffers.splice(this._managedBuffers.indexOf(e),1),this._destroyBuffer(e)}destroy(){this._managedBuffers.forEach(e=>this._destroyBuffer(e)),this._managedBuffers=null,this._gpuBuffers=null}_destroyBuffer(e){this._gpuBuffers[e.uid].destroy(),e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this),e.off("destroy",this.onBufferDestroy,this),this._gpuBuffers[e.uid]=null}}W.extension={type:[l.WebGPUSystem],name:"buffer"};class ve{constructor({minUniformOffsetAlignment:e}){this._minUniformOffsetAlignment=256,this.byteIndex=0,this._minUniformOffsetAlignment=e,this.data=new Float32Array(65535)}clear(){this.byteIndex=0}addEmptyGroup(e){if(e>this._minUniformOffsetAlignment/4)throw new Error(`UniformBufferBatch: array is too large: ${e*4}`);const t=this.byteIndex;let r=t+e*4;if(r=Math.ceil(r/this._minUniformOffsetAlignment)*this._minUniformOffsetAlignment,r>this.data.length*4)throw new Error("UniformBufferBatch: ubo batch got too big");return this.byteIndex=r,t}addGroup(e){const t=this.addEmptyGroup(e.length);for(let r=0;r{this.gpu=t,this._renderer.runners.contextChange.emit(this.gpu)}),this._initPromise)}contextChange(e){this._renderer.gpu=e}async _createDeviceAndAdaptor(e){const t=await P.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),r=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(i=>t.features.has(i)),s=await t.requestDevice({requiredFeatures:r});return{adapter:t,device:s}}destroy(){this.gpu=null,this._renderer=null}}v.extension={type:[l.WebGPUSystem],name:"device"};v.defaultOptions={powerPreference:void 0,forceFallbackAdapter:!1};class V{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder()}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor)}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1)}setPipelineFromGeometryProgramAndState(e,t,r,s){const i=this._renderer.pipeline.getPipeline(e,t,r,s);this.setPipeline(i)}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e))}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)))}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;const t=e.data.BYTES_PER_ELEMENT===2?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t)}resetBindGroup(e){this._boundBindGroup[e]=null}setBindGroup(e,t,r){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.textureGC.count);const s=this._renderer.bindGroup.getBindGroup(t,r,e);this.renderPassEncoder.setBindGroup(e,s)}setGeometry(e,t){const r=this._renderer.pipeline.getBufferNamesToBind(e,t);for(const s in r)this._setVertexBuffer(s,e.attributes[r[s]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer)}_setShaderBindGroups(e,t){for(const r in e.groups){const s=e.groups[r];t||this._syncBindGroup(s),this.setBindGroup(r,s,e.gpuProgram)}}_syncBindGroup(e){for(const t in e.resources){const r=e.resources[t];r.isUniformGroup&&this._renderer.ubo.updateUniformGroup(r)}}draw(e){const{geometry:t,shader:r,state:s,topology:i,size:n,start:o,instanceCount:u,skipSync:c}=e;this.setPipelineFromGeometryProgramAndState(t,r.gpuProgram,s,i),this.setGeometry(t,r.gpuProgram),this._setShaderBindGroups(r,c),t.indexBuffer?this.renderPassEncoder.drawIndexed(n||t.indexBuffer.data.length,u||t.instanceCount,o||0):this.renderPassEncoder.draw(n||t.getSize(),u||t.instanceCount,o||0)}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null)}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null}restoreRenderPass(){const e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,!1,[0,0,0,1]);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);const t=this._boundPipeline,r={...this._boundVertexBuffer},s=this._boundIndexBuffer,i={...this._boundBindGroup};this._clearCache();const n=this._renderer.renderTarget.viewport;this.renderPassEncoder.setViewport(n.x,n.y,n.width,n.height,0,1),this.setPipeline(t);for(const o in r)this._setVertexBuffer(o,r[o]);for(const o in i)this.setBindGroup(o,i[o],null);this._setIndexBuffer(s)}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null}contextChange(e){this._gpu=e}}V.extension={type:[l.WebGPUSystem],name:"encoder",priority:1};class N{constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:T.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference)}setStencilMode(e,t){const r=this._renderTargetStencilState[this._activeRenderTarget.uid];r.stencilMode=e,r.stencilReference=t;const s=this._renderer;s.pipeline.setStencilMode(e),s.encoder.renderPassEncoder.setStencilReference(t)}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null}}N.extension={type:[l.WebGPUSystem],name:"stencil"};const x={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2":{align:8,size:8},"vec2":{align:8,size:8},"vec2":{align:8,size:8},"vec2":{align:4,size:4},"vec3":{align:16,size:12},"vec3":{align:16,size:12},"vec3":{align:16,size:12},"vec3":{align:8,size:6},"vec4":{align:16,size:16},"vec4":{align:16,size:16},"vec4":{align:16,size:16},"vec4":{align:8,size:8},"mat2x2":{align:8,size:16},"mat2x2":{align:4,size:8},"mat3x2":{align:8,size:24},"mat3x2":{align:4,size:12},"mat4x2":{align:8,size:32},"mat4x2":{align:4,size:16},"mat2x3":{align:16,size:32},"mat2x3":{align:8,size:16},"mat3x3":{align:16,size:48},"mat3x3":{align:8,size:24},"mat4x3":{align:16,size:64},"mat4x3":{align:8,size:32},"mat2x4":{align:16,size:32},"mat2x4":{align:8,size:16},"mat3x4":{align:16,size:48},"mat3x4":{align:8,size:24},"mat4x4":{align:16,size:64},"mat4x4":{align:8,size:32}};function Ce(a){const e=a.map(r=>({data:r,offset:0,size:0}));let t=0;for(let r=0;r1&&(i=Math.max(i,n)*s.data.size),t=Math.ceil(t/n)*n,s.size=i,s.offset=t,t+=i}return t=Math.ceil(t/16)*16,{uboElements:e,size:t}}function Ue(a,e){const{size:t,align:r}=x[a.data.type],s=(r-t)/4;return` +import{g as w,E as l,f as ne,D as P,S as T,B as S,d as oe,h as R,i as C,w as E,j as b,k as ae,T as ue,l as A,m as U,M as k,o as L,p as ce,q as de,s as he,t as D,u as z,a as M,e as G,A as pe,R as le}from"./index-DUfzhg12.js";import{S as F,l as fe,a as ge}from"./colorToUniform-C1jQKuTl.js";import{c as me,u as _e,U as be,B as ye,G as xe,e as Ge,R as Be,t as Se,S as Pe,a as Te}from"./SharedSystems-BDLhnKJG.js";const y=F.for2d();class O{start(e,t,r){const s=e.renderer,i=s.encoder,n=r.gpuProgram;this._shader=r,this._geometry=t,i.setGeometry(t,n),y.blendMode="normal",s.pipeline.getPipeline(t,n,y);const o=s.globalUniforms.bindGroup;i.resetBindGroup(1),i.setBindGroup(0,o,n)}execute(e,t){const r=this._shader.gpuProgram,s=e.renderer,i=s.encoder;if(!t.bindGroup){const u=t.textures;t.bindGroup=w(u.textures,u.count)}y.blendMode=t.blendMode;const n=s.bindGroup.getBindGroup(t.bindGroup,r,1),o=s.pipeline.getPipeline(this._geometry,r,y);t.bindGroup._touch(s.textureGC.count),i.setPipeline(o),i.renderPassEncoder.setBindGroup(1,n),i.renderPassEncoder.drawIndexed(t.size,1,t.start)}}O.extension={type:[l.WebGPUPipesAdaptor],name:"batch"};class H{constructor(e){this._hash=Object.create(null),this._renderer=e}contextChange(e){this._gpu=e}getBindGroup(e,t,r){return e._updateKey(),this._hash[e._key]||this._createBindGroup(e,t,r)}_createBindGroup(e,t,r){const s=this._gpu.device,i=t.layout[r],n=[],o=this._renderer;for(const f in i){const h=e.resources[f]??e.resources[i[f]];let p;if(h._resourceType==="uniformGroup"){const d=h;o.ubo.updateUniformGroup(d);const g=d.buffer;p={buffer:o.buffer.getGPUBuffer(g),offset:0,size:g.descriptor.size}}else if(h._resourceType==="buffer"){const d=h;p={buffer:o.buffer.getGPUBuffer(d),offset:0,size:d.descriptor.size}}else if(h._resourceType==="bufferResource"){const d=h;p={buffer:o.buffer.getGPUBuffer(d.buffer),offset:d.offset,size:d.size}}else if(h._resourceType==="textureSampler"){const d=h;p=o.texture.getGpuSampler(d)}else if(h._resourceType==="textureSource"){const d=h;p=o.texture.getGpuSource(d).createView({})}n.push({binding:i[f],resource:p})}const u=o.shader.getProgramData(t).bindGroups[r],c=s.createBindGroup({layout:u,entries:n});return this._hash[e._key]=c,c}destroy(){for(const e of Object.keys(this._hash))this._hash[e]=null;this._hash=null,this._renderer=null}}H.extension={type:[l.WebGPUSystem],name:"bindGroup"};class W{constructor(){this._gpuBuffers=Object.create(null),this._managedBuffers=[]}contextChange(e){this._gpu=e}getGPUBuffer(e){return this._gpuBuffers[e.uid]||this.createGPUBuffer(e)}updateBuffer(e){const t=this._gpuBuffers[e.uid]||this.createGPUBuffer(e),r=e.data;return e._updateID&&r&&(e._updateID=0,this._gpu.device.queue.writeBuffer(t,0,r.buffer,0,(e._updateSize||r.byteLength)+3&-4)),t}destroyAll(){for(const e in this._gpuBuffers)this._gpuBuffers[e].destroy();this._gpuBuffers={}}createGPUBuffer(e){this._gpuBuffers[e.uid]||(e.on("update",this.updateBuffer,this),e.on("change",this.onBufferChange,this),e.on("destroy",this.onBufferDestroy,this),this._managedBuffers.push(e));const t=this._gpu.device.createBuffer(e.descriptor);return e._updateID=0,e.data&&(ne(e.data.buffer,t.getMappedRange()),t.unmap()),this._gpuBuffers[e.uid]=t,t}onBufferChange(e){this._gpuBuffers[e.uid].destroy(),e._updateID=0,this._gpuBuffers[e.uid]=this.createGPUBuffer(e)}onBufferDestroy(e){this._managedBuffers.splice(this._managedBuffers.indexOf(e),1),this._destroyBuffer(e)}destroy(){this._managedBuffers.forEach(e=>this._destroyBuffer(e)),this._managedBuffers=null,this._gpuBuffers=null}_destroyBuffer(e){this._gpuBuffers[e.uid].destroy(),e.off("update",this.updateBuffer,this),e.off("change",this.onBufferChange,this),e.off("destroy",this.onBufferDestroy,this),this._gpuBuffers[e.uid]=null}}W.extension={type:[l.WebGPUSystem],name:"buffer"};class ve{constructor({minUniformOffsetAlignment:e}){this._minUniformOffsetAlignment=256,this.byteIndex=0,this._minUniformOffsetAlignment=e,this.data=new Float32Array(65535)}clear(){this.byteIndex=0}addEmptyGroup(e){if(e>this._minUniformOffsetAlignment/4)throw new Error(`UniformBufferBatch: array is too large: ${e*4}`);const t=this.byteIndex;let r=t+e*4;if(r=Math.ceil(r/this._minUniformOffsetAlignment)*this._minUniformOffsetAlignment,r>this.data.length*4)throw new Error("UniformBufferBatch: ubo batch got too big");return this.byteIndex=r,t}addGroup(e){const t=this.addEmptyGroup(e.length);for(let r=0;r{this.gpu=t,this._renderer.runners.contextChange.emit(this.gpu)}),this._initPromise)}contextChange(e){this._renderer.gpu=e}async _createDeviceAndAdaptor(e){const t=await P.get().getNavigator().gpu.requestAdapter({powerPreference:e.powerPreference,forceFallbackAdapter:e.forceFallbackAdapter}),r=["texture-compression-bc","texture-compression-astc","texture-compression-etc2"].filter(i=>t.features.has(i)),s=await t.requestDevice({requiredFeatures:r});return{adapter:t,device:s}}destroy(){this.gpu=null,this._renderer=null}}v.extension={type:[l.WebGPUSystem],name:"device"};v.defaultOptions={powerPreference:void 0,forceFallbackAdapter:!1};class V{constructor(e){this._boundBindGroup=Object.create(null),this._boundVertexBuffer=Object.create(null),this._renderer=e}renderStart(){this.commandFinished=new Promise(e=>{this._resolveCommandFinished=e}),this.commandEncoder=this._renderer.gpu.device.createCommandEncoder()}beginRenderPass(e){this.endRenderPass(),this._clearCache(),this.renderPassEncoder=this.commandEncoder.beginRenderPass(e.descriptor)}endRenderPass(){this.renderPassEncoder&&this.renderPassEncoder.end(),this.renderPassEncoder=null}setViewport(e){this.renderPassEncoder.setViewport(e.x,e.y,e.width,e.height,0,1)}setPipelineFromGeometryProgramAndState(e,t,r,s){const i=this._renderer.pipeline.getPipeline(e,t,r,s);this.setPipeline(i)}setPipeline(e){this._boundPipeline!==e&&(this._boundPipeline=e,this.renderPassEncoder.setPipeline(e))}_setVertexBuffer(e,t){this._boundVertexBuffer[e]!==t&&(this._boundVertexBuffer[e]=t,this.renderPassEncoder.setVertexBuffer(e,this._renderer.buffer.updateBuffer(t)))}_setIndexBuffer(e){if(this._boundIndexBuffer===e)return;this._boundIndexBuffer=e;const t=e.data.BYTES_PER_ELEMENT===2?"uint16":"uint32";this.renderPassEncoder.setIndexBuffer(this._renderer.buffer.updateBuffer(e),t)}resetBindGroup(e){this._boundBindGroup[e]=null}setBindGroup(e,t,r){if(this._boundBindGroup[e]===t)return;this._boundBindGroup[e]=t,t._touch(this._renderer.textureGC.count);const s=this._renderer.bindGroup.getBindGroup(t,r,e);this.renderPassEncoder.setBindGroup(e,s)}setGeometry(e,t){const r=this._renderer.pipeline.getBufferNamesToBind(e,t);for(const s in r)this._setVertexBuffer(s,e.attributes[r[s]].buffer);e.indexBuffer&&this._setIndexBuffer(e.indexBuffer)}_setShaderBindGroups(e,t){for(const r in e.groups){const s=e.groups[r];t||this._syncBindGroup(s),this.setBindGroup(r,s,e.gpuProgram)}}_syncBindGroup(e){for(const t in e.resources){const r=e.resources[t];r.isUniformGroup&&this._renderer.ubo.updateUniformGroup(r)}}draw(e){const{geometry:t,shader:r,state:s,topology:i,size:n,start:o,instanceCount:u,skipSync:c}=e;this.setPipelineFromGeometryProgramAndState(t,r.gpuProgram,s,i),this.setGeometry(t,r.gpuProgram),this._setShaderBindGroups(r,c),t.indexBuffer?this.renderPassEncoder.drawIndexed(n||t.indexBuffer.data.length,u||t.instanceCount,o||0):this.renderPassEncoder.draw(n||t.getSize(),u||t.instanceCount,o||0)}finishRenderPass(){this.renderPassEncoder&&(this.renderPassEncoder.end(),this.renderPassEncoder=null)}postrender(){this.finishRenderPass(),this._gpu.device.queue.submit([this.commandEncoder.finish()]),this._resolveCommandFinished(),this.commandEncoder=null}restoreRenderPass(){const e=this._renderer.renderTarget.adaptor.getDescriptor(this._renderer.renderTarget.renderTarget,!1,[0,0,0,1]);this.renderPassEncoder=this.commandEncoder.beginRenderPass(e);const t=this._boundPipeline,r={...this._boundVertexBuffer},s=this._boundIndexBuffer,i={...this._boundBindGroup};this._clearCache();const n=this._renderer.renderTarget.viewport;this.renderPassEncoder.setViewport(n.x,n.y,n.width,n.height,0,1),this.setPipeline(t);for(const o in r)this._setVertexBuffer(o,r[o]);for(const o in i)this.setBindGroup(o,i[o],null);this._setIndexBuffer(s)}_clearCache(){for(let e=0;e<16;e++)this._boundBindGroup[e]=null,this._boundVertexBuffer[e]=null;this._boundIndexBuffer=null,this._boundPipeline=null}destroy(){this._renderer=null,this._gpu=null,this._boundBindGroup=null,this._boundVertexBuffer=null,this._boundIndexBuffer=null,this._boundPipeline=null}contextChange(e){this._gpu=e}}V.extension={type:[l.WebGPUSystem],name:"encoder",priority:1};class N{constructor(e){this._renderTargetStencilState=Object.create(null),this._renderer=e,e.renderTarget.onRenderTargetChange.add(this)}onRenderTargetChange(e){let t=this._renderTargetStencilState[e.uid];t||(t=this._renderTargetStencilState[e.uid]={stencilMode:T.DISABLED,stencilReference:0}),this._activeRenderTarget=e,this.setStencilMode(t.stencilMode,t.stencilReference)}setStencilMode(e,t){const r=this._renderTargetStencilState[this._activeRenderTarget.uid];r.stencilMode=e,r.stencilReference=t;const s=this._renderer;s.pipeline.setStencilMode(e),s.encoder.renderPassEncoder.setStencilReference(t)}destroy(){this._renderer.renderTarget.onRenderTargetChange.remove(this),this._renderer=null,this._activeRenderTarget=null,this._renderTargetStencilState=null}}N.extension={type:[l.WebGPUSystem],name:"stencil"};const x={i32:{align:4,size:4},u32:{align:4,size:4},f32:{align:4,size:4},f16:{align:2,size:2},"vec2":{align:8,size:8},"vec2":{align:8,size:8},"vec2":{align:8,size:8},"vec2":{align:4,size:4},"vec3":{align:16,size:12},"vec3":{align:16,size:12},"vec3":{align:16,size:12},"vec3":{align:8,size:6},"vec4":{align:16,size:16},"vec4":{align:16,size:16},"vec4":{align:16,size:16},"vec4":{align:8,size:8},"mat2x2":{align:8,size:16},"mat2x2":{align:4,size:8},"mat3x2":{align:8,size:24},"mat3x2":{align:4,size:12},"mat4x2":{align:8,size:32},"mat4x2":{align:4,size:16},"mat2x3":{align:16,size:32},"mat2x3":{align:8,size:16},"mat3x3":{align:16,size:48},"mat3x3":{align:8,size:24},"mat4x3":{align:16,size:64},"mat4x3":{align:8,size:32},"mat2x4":{align:16,size:32},"mat2x4":{align:8,size:16},"mat3x4":{align:16,size:48},"mat3x4":{align:8,size:24},"mat4x4":{align:16,size:64},"mat4x4":{align:8,size:32}};function Ce(a){const e=a.map(r=>({data:r,offset:0,size:0}));let t=0;for(let r=0;r1&&(i=Math.max(i,n)*s.data.size),t=Math.ceil(t/n)*n,s.size=i,s.offset=t,t+=i}return t=Math.ceil(t/16)*16,{uboElements:e,size:t}}function Ue(a,e){const{size:t,align:r}=x[a.data.type],s=(r-t)/4;return` v = uv.${a.data.name}; ${e!==0?`offset += ${e};`:""} diff --git a/assets/browserAll-w8xss8gu.js b/assets/browserAll-C3vN8kSD.js similarity index 99% rename from assets/browserAll-w8xss8gu.js rename to assets/browserAll-C3vN8kSD.js index e70a99c..e5568ee 100644 --- a/assets/browserAll-w8xss8gu.js +++ b/assets/browserAll-C3vN8kSD.js @@ -1 +1 @@ -import{P as m,r as J,E as w,b as L,U as Q,c as ee,w as y,e as z,C as Z}from"./index-CkdXe05Z.js";import"./webworkerAll-tB1Muq8I.js";import"./colorToUniform-D6WiE-Of.js";class M{constructor(e){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=M.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new m,this.page=new m,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(e,t,i){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(e,t,i,n,s){throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}stopImmediatePropagation(){this.propagationImmediatelyStopped=!0}stopPropagation(){this.propagationStopped=!0}}var O=/iPhone/i,C=/iPod/i,S=/iPad/i,U=/\biOS-universal(?:.+)Mac\b/i,k=/\bAndroid(?:.+)Mobile\b/i,H=/Android/i,b=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,A=/Silk/i,g=/Windows Phone/i,X=/\bWindows(?:.+)ARM\b/i,R=/BlackBerry/i,F=/BB10/i,Y=/Opera Mini/i,K=/\b(CriOS|Chrome)(?:.+)Mobile/i,$=/Mobile(?:.+)Firefox\b/i,G=function(r){return typeof r<"u"&&r.platform==="MacIntel"&&typeof r.maxTouchPoints=="number"&&r.maxTouchPoints>1&&typeof MSStream>"u"};function te(r){return function(e){return e.test(r)}}function W(r){var e={userAgent:"",platform:"",maxTouchPoints:0};!r&&typeof navigator<"u"?e={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof r=="string"?e.userAgent=r:r&&r.userAgent&&(e={userAgent:r.userAgent,platform:r.platform,maxTouchPoints:r.maxTouchPoints||0});var t=e.userAgent,i=t.split("[FBAN");typeof i[1]<"u"&&(t=i[0]),i=t.split("Twitter"),typeof i[1]<"u"&&(t=i[0]);var n=te(t),s={apple:{phone:n(O)&&!n(g),ipod:n(C),tablet:!n(O)&&(n(S)||G(e))&&!n(g),universal:n(U),device:(n(O)||n(C)||n(S)||n(U)||G(e))&&!n(g)},amazon:{phone:n(b),tablet:!n(b)&&n(A),device:n(b)||n(A)},android:{phone:!n(g)&&n(b)||!n(g)&&n(k),tablet:!n(g)&&!n(b)&&!n(k)&&(n(A)||n(H)),device:!n(g)&&(n(b)||n(A)||n(k)||n(H))||n(/\bokhttp\b/i)},windows:{phone:n(g),tablet:n(X),device:n(g)||n(X)},other:{blackberry:n(R),blackberry10:n(F),opera:n(Y),firefox:n($),chrome:n(K),device:n(R)||n(F)||n(Y)||n($)||n(K)},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}const ie=W.default??W,ne=ie(globalThis.navigator),se=9,I=100,oe=0,re=0,j=2,N=1,ae=-1e3,he=-1e3,le=2;class V{constructor(e,t=ne){this._mobileInfo=t,this.debug=!1,this._isActive=!1,this._isMobileAccessibility=!1,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(t.tablet||t.phone)&&this._createTouchHook();const i=document.createElement("div");i.style.width=`${I}px`,i.style.height=`${I}px`,i.style.position="absolute",i.style.top=`${oe}px`,i.style.left=`${re}px`,i.style.zIndex=j.toString(),this._div=i,this._renderer=e,this._onKeyDown=this._onKeyDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,!1)}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){const e=document.createElement("button");e.style.width=`${N}px`,e.style.height=`${N}px`,e.style.position="absolute",e.style.top=`${ae}px`,e.style.left=`${he}px`,e.style.zIndex=le.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(){var e;this._isActive||(this._isActive=!0,globalThis.document.addEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.add(this),(e=this._renderer.view.canvas.parentNode)==null||e.appendChild(this._div))}_deactivate(){var e;!this._isActive||this._isMobileAccessibility||(this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.addEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.remove(this),(e=this._div.parentNode)==null||e.removeChild(this._div))}_updateAccessibleObjects(e){if(!e.visible||!e.accessibleChildren)return;e.accessible&&e.isInteractive()&&(e._accessibleActive||this._addChild(e),e._renderId=this._renderId);const t=e.children;if(t)for(let i=0;i title : ${e.title}
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);const{width:t,height:i}=this._renderer;e.x+e.width>t&&(e.width=t-e.x),e.y+e.height>i&&(e.height=i-e.y)}_addChild(e){let t=this._pool.pop();t||(t=document.createElement("button"),t.style.width=`${I}px`,t.style.height=`${I}px`,t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex=j.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._accessibleDiv.tabIndex=e.tabIndex}_dispatchEvent(e,t){const{container:i}=e.target,n=this._renderer.events.rootBoundary,s=Object.assign(new M(n),{target:i});n.rootTarget=this._renderer.lastObjectRendered,t.forEach(o=>n.dispatchEvent(s,o))}_onClick(e){this._dispatchEvent(e,["click","pointertap","tap"])}_onFocus(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","assertive"),this._dispatchEvent(e,["mouseover"])}_onFocusOut(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","polite"),this._dispatchEvent(e,["mouseout"])}_onKeyDown(e){e.keyCode===se&&this._activate()}_onMouseMove(e){e.movementX===0&&e.movementY===0||this._deactivate()}destroy(){this._destroyTouchHook(),this._div=null,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown),this._pool=null,this._children=null,this._renderer=null}}V.extension={type:[w.WebGLSystem,w.WebGPUSystem],name:"accessibility"};const ue={accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:"button",accessiblePointerEvents:"auto",accessibleChildren:!0,_renderId:-1};class de{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||(L.system.add(this._tickerUpdate,this,Q.INTERACTION),this._tickerAdded=!0)}removeTickerListener(){this._tickerAdded&&(L.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}const 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._deltaTimei.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;const t=this.mappingTable[e.type];if(t)for(let i=0,n=t.length;i=0;n--)if(e.currentTarget=i[n],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,i=this._allInteractiveElements){if(i.length===0)return;e.eventPhase=e.BUBBLING_PHASE;const n=Array.isArray(t)?t:[t];for(let s=i.length-1;s>=0;s--)n.forEach(o=>{e.currentTarget=i[s],this.notifyTarget(e,o)})}propagationPath(e){const t=[e];for(let i=0;i=0;h--){const l=v[h],u=this.hitTestMoveRecursive(l,this._isInteractive(t)?t:l.eventMode,i,n,s,o||s(e,i));if(u){if(u.length>0&&!u[u.length-1].parent)continue;const d=e.isInteractive();(u.length>0||d)&&(d&&this._allInteractiveElements.push(e),u.push(e)),this._hitElements.length===0&&(this._hitElements=u),a=!0}}}const c=this._isInteractive(t),p=e.isInteractive();return p&&p&&this._allInteractiveElements.push(e),o||this._hitElements.length>0?null:a?this._hitElements:c&&!s(e,i)&&n(e,i)?p?[e]:[]:null}hitTestRecursive(e,t,i,n,s){if(this._interactivePrune(e)||s(e,i))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(E.pauseUpdate=!1),e.interactiveChildren&&e.children){const c=e.children,p=i;for(let v=c.length-1;v>=0;v--){const h=c[v],l=this.hitTestRecursive(h,this._isInteractive(t)?t:h.eventMode,p,n,s);if(l){if(l.length>0&&!l[l.length-1].parent)continue;const u=e.isInteractive();return(l.length>0||u)&&l.push(e),l}}}const o=this._isInteractive(t),a=e.isInteractive();return o&&n(e,i)?a?[e]:[]:null}_isInteractive(e){return e==="static"||e==="dynamic"}_interactivePrune(e){return!e||!e.visible||!e.renderable||!e.includeInBuild||!e.measurable||e.eventMode==="none"||e.eventMode==="passive"&&!e.interactiveChildren}hitPruneFn(e,t){if(e.hitArea&&(e.worldTransform.applyInverse(t,P),!e.hitArea.contains(P.x,P.y)))return!0;if(e.effects&&e.effects.length)for(let i=0;i0&&s!==t.target){const v=e.type==="mousemove"?"mouseout":"pointerout",h=this.createPointerEvent(e,v,s);if(this.dispatchEvent(h,"pointerout"),i&&this.dispatchEvent(h,"mouseout"),!t.composedPath().includes(s)){const 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),i&&this.notifyTarget(l,"mouseleave"),l.target=l.target.parent;this.freeEvent(l)}this.freeEvent(h)}if(s!==t.target){const v=e.type==="mousemove"?"mouseover":"pointerover",h=this.clonePointerEvent(t,v);this.dispatchEvent(h,"pointerover"),i&&this.dispatchEvent(h,"mouseover");let l=s==null?void 0:s.parent;for(;l&&l!==this.rootTarget.parent&&l!==t.target;)l=l.parent;if(!l||l===this.rootTarget.parent){const d=this.clonePointerEvent(t,"pointerenter");for(d.eventPhase=d.AT_TARGET;d.target&&d.target!==s&&d.target!==this.rootTarget.parent;)d.currentTarget=d.target,this.notifyTarget(d),i&&this.notifyTarget(d,"mouseenter"),d.target=d.target.parent;this.freeEvent(d)}this.freeEvent(h)}const o=[],a=this.enableGlobalMoveEvents??!0;this.moveOnAll?o.push("pointermove"):this.dispatchEvent(t,"pointermove"),a&&o.push("globalpointermove"),t.pointerType==="touch"&&(this.moveOnAll?o.splice(1,0,"touchmove"):this.dispatchEvent(t,"touchmove"),a&&o.push("globaltouchmove")),i&&(this.moveOnAll?o.splice(1,0,"mousemove"):this.dispatchEvent(t,"mousemove"),a&&o.push("globalmousemove"),this.cursor=(p=t.target)==null?void 0:p.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){var o;if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=this.trackingData(e.pointerId),i=this.createPointerEvent(e),n=i.pointerType==="mouse"||i.pointerType==="pen";this.dispatchEvent(i,"pointerover"),n&&this.dispatchEvent(i,"mouseover"),i.pointerType==="mouse"&&(this.cursor=(o=i.target)==null?void 0:o.cursor);const s=this.clonePointerEvent(i,"pointerenter");for(s.eventPhase=s.AT_TARGET;s.target&&s.target!==this.rootTarget.parent;)s.currentTarget=s.target,this.notifyTarget(s),n&&this.notifyTarget(s,"mouseenter"),s.target=s.target.parent;t.overTargets=i.composedPath(),this.freeEvent(i),this.freeEvent(s)}mapPointerOut(e){if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=this.trackingData(e.pointerId);if(t.overTargets){const i=e.pointerType==="mouse"||e.pointerType==="pen",n=this.findMountedTarget(t.overTargets),s=this.createPointerEvent(e,"pointerout",n);this.dispatchEvent(s),i&&this.dispatchEvent(s,"mouseout");const o=this.createPointerEvent(e,"pointerleave",n);for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),i&&this.notifyTarget(o,"mouseleave"),o.target=o.target.parent;t.overTargets=null,this.freeEvent(s),this.freeEvent(o)}this.cursor=null}mapPointerUp(e){if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=performance.now(),i=this.createPointerEvent(e);if(this.dispatchEvent(i,"pointerup"),i.pointerType==="touch")this.dispatchEvent(i,"touchend");else if(i.pointerType==="mouse"||i.pointerType==="pen"){const a=i.button===2;this.dispatchEvent(i,a?"rightup":"mouseup")}const n=this.trackingData(e.pointerId),s=this.findMountedTarget(n.pressTargetsByButton[e.button]);let o=s;if(s&&!i.composedPath().includes(s)){let a=s;for(;a&&!i.composedPath().includes(a);){if(i.currentTarget=a,this.notifyTarget(i,"pointerupoutside"),i.pointerType==="touch")this.notifyTarget(i,"touchendoutside");else if(i.pointerType==="mouse"||i.pointerType==="pen"){const c=i.button===2;this.notifyTarget(i,c?"rightupoutside":"mouseupoutside")}a=a.parent}delete n.pressTargetsByButton[e.button],o=a}if(o){const a=this.clonePointerEvent(i,"click");a.target=o,a.path=null,n.clicksByButton[e.button]||(n.clicksByButton[e.button]={clickCount:0,target:a.target,timeStamp:t});const c=n.clicksByButton[e.button];if(c.target===a.target&&t-c.timeStamp<200?++c.clickCount:c.clickCount=1,c.target=a.target,c.timeStamp=t,a.detail=c.clickCount,a.pointerType==="mouse"){const p=a.button===2;this.dispatchEvent(a,p?"rightclick":"click")}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a)}this.freeEvent(i)}mapPointerUpOutside(e){if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=this.trackingData(e.pointerId),i=this.findMountedTarget(t.pressTargetsByButton[e.button]),n=this.createPointerEvent(e);if(i){let s=i;for(;s;)n.currentTarget=s,this.notifyTarget(n,"pointerupoutside"),n.pointerType==="touch"?this.notifyTarget(n,"touchendoutside"):(n.pointerType==="mouse"||n.pointerType==="pen")&&this.notifyTarget(n,n.button===2?"rightupoutside":"mouseupoutside"),s=s.parent;delete t.pressTargetsByButton[e.button]}this.freeEvent(n)}mapWheel(e){if(!(e instanceof T)){y("EventBoundary cannot map a non-wheel event as a wheel event");return}const t=this.createWheelEvent(e);this.dispatchEvent(t),this.freeEvent(t)}findMountedTarget(e){if(!e)return null;let t=e[0];for(let i=1;i(i==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=n),t[i]=n,!0)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(e){const{canvas:t,resolution:i}=this.renderer;this.setTargetElement(t),this.resolution=i,x._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;const i=this.cursorStyles[e];if(i)switch(typeof i){case"string":t&&(this.domElement.style.cursor=i);break;case"function":i(e);break;case"object":t&&Object.assign(this.domElement.style,i);break}else t&&typeof e=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.domElement.style.cursor=e)}get pointer(){return this._rootPointerEvent}_onPointerDown(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;const t=this._normalizeToPointerData(e);this.autoPreventDefault&&t[0].isNormalized&&(e.cancelable||!("cancelable"in e))&&e.preventDefault();for(let i=0,n=t.length;i0&&(t=e.composedPath()[0]);const i=t!==this.domElement?"outside":"",n=this._normalizeToPointerData(e);for(let s=0,o=n.length;s"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))){const i=e;typeof i.isPrimary>"u"&&(i.isPrimary=!0),typeof i.width>"u"&&(i.width=1),typeof i.height>"u"&&(i.height=1),typeof i.tiltX>"u"&&(i.tiltX=0),typeof i.tiltY>"u"&&(i.tiltY=0),typeof i.pointerType>"u"&&(i.pointerType="mouse"),typeof i.pointerId>"u"&&(i.pointerId=fe),typeof i.pressure>"u"&&(i.pressure=.5),typeof i.twist>"u"&&(i.twist=0),typeof i.tangentialPressure>"u"&&(i.tangentialPressure=0),i.isNormalized=!0,t.push(i)}else t.push(e);return t}normalizeWheelEvent(e){const 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=ge[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}};B.extension={name:"events",type:[w.WebGLSystem,w.CanvasSystem,w.WebGPUSystem],priority:-1};B.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0};let q=B;const me={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(r){this.eventMode=r?"static":"passive"},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??q.defaultEventMode},set eventMode(r){this._internalEventMode=r},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:!0,hitArea:null,addEventListener(r,e,t){const i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof t=="object"?t.signal:void 0,s=typeof t=="object"?t.once===!0:!1,o=typeof e=="function"?void 0:e;r=i?`${r}capture`:r;const a=typeof e=="function"?e:e.handleEvent,c=this;n&&n.addEventListener("abort",()=>{c.off(r,a,o)}),s?c.once(r,a,o):c.on(r,a,o)},removeEventListener(r,e,t){const i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof e=="function"?void 0:e;r=i?`${r}capture`:r,e=typeof e=="function"?e:e.handleEvent,this.off(r,e,n)},dispatchEvent(r){if(!(r instanceof M))throw new Error("Container cannot propagate events outside of the Federated Events API");return r.defaultPrevented=!1,r.path=null,r.target=this,r.manager.dispatchEvent(r),!r.defaultPrevented}};z.add(V);Z.mixin(ue);z.add(q);Z.mixin(me); +import{P as m,r as J,E as w,b as L,U as Q,c as ee,w as y,e as z,C as Z}from"./index-DUfzhg12.js";import"./webworkerAll-C8kqtn2i.js";import"./colorToUniform-C1jQKuTl.js";class M{constructor(e){this.bubbles=!0,this.cancelBubble=!0,this.cancelable=!1,this.composed=!1,this.defaultPrevented=!1,this.eventPhase=M.prototype.NONE,this.propagationStopped=!1,this.propagationImmediatelyStopped=!1,this.layer=new m,this.page=new m,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=e}get layerX(){return this.layer.x}get layerY(){return this.layer.y}get pageX(){return this.page.x}get pageY(){return this.page.y}get data(){return this}composedPath(){return this.manager&&(!this.path||this.path[this.path.length-1]!==this.target)&&(this.path=this.target?this.manager.propagationPath(this.target):[]),this.path}initEvent(e,t,i){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(e,t,i,n,s){throw new Error("initUIEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}preventDefault(){this.nativeEvent instanceof Event&&this.nativeEvent.cancelable&&this.nativeEvent.preventDefault(),this.defaultPrevented=!0}stopImmediatePropagation(){this.propagationImmediatelyStopped=!0}stopPropagation(){this.propagationStopped=!0}}var O=/iPhone/i,C=/iPod/i,S=/iPad/i,U=/\biOS-universal(?:.+)Mac\b/i,k=/\bAndroid(?:.+)Mobile\b/i,H=/Android/i,b=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,A=/Silk/i,g=/Windows Phone/i,X=/\bWindows(?:.+)ARM\b/i,R=/BlackBerry/i,F=/BB10/i,Y=/Opera Mini/i,K=/\b(CriOS|Chrome)(?:.+)Mobile/i,$=/Mobile(?:.+)Firefox\b/i,G=function(r){return typeof r<"u"&&r.platform==="MacIntel"&&typeof r.maxTouchPoints=="number"&&r.maxTouchPoints>1&&typeof MSStream>"u"};function te(r){return function(e){return e.test(r)}}function W(r){var e={userAgent:"",platform:"",maxTouchPoints:0};!r&&typeof navigator<"u"?e={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof r=="string"?e.userAgent=r:r&&r.userAgent&&(e={userAgent:r.userAgent,platform:r.platform,maxTouchPoints:r.maxTouchPoints||0});var t=e.userAgent,i=t.split("[FBAN");typeof i[1]<"u"&&(t=i[0]),i=t.split("Twitter"),typeof i[1]<"u"&&(t=i[0]);var n=te(t),s={apple:{phone:n(O)&&!n(g),ipod:n(C),tablet:!n(O)&&(n(S)||G(e))&&!n(g),universal:n(U),device:(n(O)||n(C)||n(S)||n(U)||G(e))&&!n(g)},amazon:{phone:n(b),tablet:!n(b)&&n(A),device:n(b)||n(A)},android:{phone:!n(g)&&n(b)||!n(g)&&n(k),tablet:!n(g)&&!n(b)&&!n(k)&&(n(A)||n(H)),device:!n(g)&&(n(b)||n(A)||n(k)||n(H))||n(/\bokhttp\b/i)},windows:{phone:n(g),tablet:n(X),device:n(g)||n(X)},other:{blackberry:n(R),blackberry10:n(F),opera:n(Y),firefox:n($),chrome:n(K),device:n(R)||n(F)||n(Y)||n($)||n(K)},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}const ie=W.default??W,ne=ie(globalThis.navigator),se=9,I=100,oe=0,re=0,j=2,N=1,ae=-1e3,he=-1e3,le=2;class V{constructor(e,t=ne){this._mobileInfo=t,this.debug=!1,this._isActive=!1,this._isMobileAccessibility=!1,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(t.tablet||t.phone)&&this._createTouchHook();const i=document.createElement("div");i.style.width=`${I}px`,i.style.height=`${I}px`,i.style.position="absolute",i.style.top=`${oe}px`,i.style.left=`${re}px`,i.style.zIndex=j.toString(),this._div=i,this._renderer=e,this._onKeyDown=this._onKeyDown.bind(this),this._onMouseMove=this._onMouseMove.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,!1)}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){const e=document.createElement("button");e.style.width=`${N}px`,e.style.height=`${N}px`,e.style.position="absolute",e.style.top=`${ae}px`,e.style.left=`${he}px`,e.style.zIndex=le.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(){var e;this._isActive||(this._isActive=!0,globalThis.document.addEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.add(this),(e=this._renderer.view.canvas.parentNode)==null||e.appendChild(this._div))}_deactivate(){var e;!this._isActive||this._isMobileAccessibility||(this._isActive=!1,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.addEventListener("keydown",this._onKeyDown,!1),this._renderer.runners.postrender.remove(this),(e=this._div.parentNode)==null||e.removeChild(this._div))}_updateAccessibleObjects(e){if(!e.visible||!e.accessibleChildren)return;e.accessible&&e.isInteractive()&&(e._accessibleActive||this._addChild(e),e._renderId=this._renderId);const t=e.children;if(t)for(let i=0;i title : ${e.title}
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);const{width:t,height:i}=this._renderer;e.x+e.width>t&&(e.width=t-e.x),e.y+e.height>i&&(e.height=i-e.y)}_addChild(e){let t=this._pool.pop();t||(t=document.createElement("button"),t.style.width=`${I}px`,t.style.height=`${I}px`,t.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",t.style.position="absolute",t.style.zIndex=j.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._accessibleDiv.tabIndex=e.tabIndex}_dispatchEvent(e,t){const{container:i}=e.target,n=this._renderer.events.rootBoundary,s=Object.assign(new M(n),{target:i});n.rootTarget=this._renderer.lastObjectRendered,t.forEach(o=>n.dispatchEvent(s,o))}_onClick(e){this._dispatchEvent(e,["click","pointertap","tap"])}_onFocus(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","assertive"),this._dispatchEvent(e,["mouseover"])}_onFocusOut(e){e.target.getAttribute("aria-live")||e.target.setAttribute("aria-live","polite"),this._dispatchEvent(e,["mouseout"])}_onKeyDown(e){e.keyCode===se&&this._activate()}_onMouseMove(e){e.movementX===0&&e.movementY===0||this._deactivate()}destroy(){this._destroyTouchHook(),this._div=null,globalThis.document.removeEventListener("mousemove",this._onMouseMove,!0),globalThis.removeEventListener("keydown",this._onKeyDown),this._pool=null,this._children=null,this._renderer=null}}V.extension={type:[w.WebGLSystem,w.WebGPUSystem],name:"accessibility"};const ue={accessible:!1,accessibleTitle:null,accessibleHint:null,tabIndex:0,_accessibleActive:!1,_accessibleDiv:null,accessibleType:"button",accessiblePointerEvents:"auto",accessibleChildren:!0,_renderId:-1};class de{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||(L.system.add(this._tickerUpdate,this,Q.INTERACTION),this._tickerAdded=!0)}removeTickerListener(){this._tickerAdded&&(L.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}const 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._deltaTimei.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;const t=this.mappingTable[e.type];if(t)for(let i=0,n=t.length;i=0;n--)if(e.currentTarget=i[n],this.notifyTarget(e,t),e.propagationStopped||e.propagationImmediatelyStopped)return}}all(e,t,i=this._allInteractiveElements){if(i.length===0)return;e.eventPhase=e.BUBBLING_PHASE;const n=Array.isArray(t)?t:[t];for(let s=i.length-1;s>=0;s--)n.forEach(o=>{e.currentTarget=i[s],this.notifyTarget(e,o)})}propagationPath(e){const t=[e];for(let i=0;i=0;h--){const l=v[h],u=this.hitTestMoveRecursive(l,this._isInteractive(t)?t:l.eventMode,i,n,s,o||s(e,i));if(u){if(u.length>0&&!u[u.length-1].parent)continue;const d=e.isInteractive();(u.length>0||d)&&(d&&this._allInteractiveElements.push(e),u.push(e)),this._hitElements.length===0&&(this._hitElements=u),a=!0}}}const c=this._isInteractive(t),p=e.isInteractive();return p&&p&&this._allInteractiveElements.push(e),o||this._hitElements.length>0?null:a?this._hitElements:c&&!s(e,i)&&n(e,i)?p?[e]:[]:null}hitTestRecursive(e,t,i,n,s){if(this._interactivePrune(e)||s(e,i))return null;if((e.eventMode==="dynamic"||t==="dynamic")&&(E.pauseUpdate=!1),e.interactiveChildren&&e.children){const c=e.children,p=i;for(let v=c.length-1;v>=0;v--){const h=c[v],l=this.hitTestRecursive(h,this._isInteractive(t)?t:h.eventMode,p,n,s);if(l){if(l.length>0&&!l[l.length-1].parent)continue;const u=e.isInteractive();return(l.length>0||u)&&l.push(e),l}}}const o=this._isInteractive(t),a=e.isInteractive();return o&&n(e,i)?a?[e]:[]:null}_isInteractive(e){return e==="static"||e==="dynamic"}_interactivePrune(e){return!e||!e.visible||!e.renderable||!e.includeInBuild||!e.measurable||e.eventMode==="none"||e.eventMode==="passive"&&!e.interactiveChildren}hitPruneFn(e,t){if(e.hitArea&&(e.worldTransform.applyInverse(t,P),!e.hitArea.contains(P.x,P.y)))return!0;if(e.effects&&e.effects.length)for(let i=0;i0&&s!==t.target){const v=e.type==="mousemove"?"mouseout":"pointerout",h=this.createPointerEvent(e,v,s);if(this.dispatchEvent(h,"pointerout"),i&&this.dispatchEvent(h,"mouseout"),!t.composedPath().includes(s)){const 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),i&&this.notifyTarget(l,"mouseleave"),l.target=l.target.parent;this.freeEvent(l)}this.freeEvent(h)}if(s!==t.target){const v=e.type==="mousemove"?"mouseover":"pointerover",h=this.clonePointerEvent(t,v);this.dispatchEvent(h,"pointerover"),i&&this.dispatchEvent(h,"mouseover");let l=s==null?void 0:s.parent;for(;l&&l!==this.rootTarget.parent&&l!==t.target;)l=l.parent;if(!l||l===this.rootTarget.parent){const d=this.clonePointerEvent(t,"pointerenter");for(d.eventPhase=d.AT_TARGET;d.target&&d.target!==s&&d.target!==this.rootTarget.parent;)d.currentTarget=d.target,this.notifyTarget(d),i&&this.notifyTarget(d,"mouseenter"),d.target=d.target.parent;this.freeEvent(d)}this.freeEvent(h)}const o=[],a=this.enableGlobalMoveEvents??!0;this.moveOnAll?o.push("pointermove"):this.dispatchEvent(t,"pointermove"),a&&o.push("globalpointermove"),t.pointerType==="touch"&&(this.moveOnAll?o.splice(1,0,"touchmove"):this.dispatchEvent(t,"touchmove"),a&&o.push("globaltouchmove")),i&&(this.moveOnAll?o.splice(1,0,"mousemove"):this.dispatchEvent(t,"mousemove"),a&&o.push("globalmousemove"),this.cursor=(p=t.target)==null?void 0:p.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){var o;if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=this.trackingData(e.pointerId),i=this.createPointerEvent(e),n=i.pointerType==="mouse"||i.pointerType==="pen";this.dispatchEvent(i,"pointerover"),n&&this.dispatchEvent(i,"mouseover"),i.pointerType==="mouse"&&(this.cursor=(o=i.target)==null?void 0:o.cursor);const s=this.clonePointerEvent(i,"pointerenter");for(s.eventPhase=s.AT_TARGET;s.target&&s.target!==this.rootTarget.parent;)s.currentTarget=s.target,this.notifyTarget(s),n&&this.notifyTarget(s,"mouseenter"),s.target=s.target.parent;t.overTargets=i.composedPath(),this.freeEvent(i),this.freeEvent(s)}mapPointerOut(e){if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=this.trackingData(e.pointerId);if(t.overTargets){const i=e.pointerType==="mouse"||e.pointerType==="pen",n=this.findMountedTarget(t.overTargets),s=this.createPointerEvent(e,"pointerout",n);this.dispatchEvent(s),i&&this.dispatchEvent(s,"mouseout");const o=this.createPointerEvent(e,"pointerleave",n);for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),i&&this.notifyTarget(o,"mouseleave"),o.target=o.target.parent;t.overTargets=null,this.freeEvent(s),this.freeEvent(o)}this.cursor=null}mapPointerUp(e){if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=performance.now(),i=this.createPointerEvent(e);if(this.dispatchEvent(i,"pointerup"),i.pointerType==="touch")this.dispatchEvent(i,"touchend");else if(i.pointerType==="mouse"||i.pointerType==="pen"){const a=i.button===2;this.dispatchEvent(i,a?"rightup":"mouseup")}const n=this.trackingData(e.pointerId),s=this.findMountedTarget(n.pressTargetsByButton[e.button]);let o=s;if(s&&!i.composedPath().includes(s)){let a=s;for(;a&&!i.composedPath().includes(a);){if(i.currentTarget=a,this.notifyTarget(i,"pointerupoutside"),i.pointerType==="touch")this.notifyTarget(i,"touchendoutside");else if(i.pointerType==="mouse"||i.pointerType==="pen"){const c=i.button===2;this.notifyTarget(i,c?"rightupoutside":"mouseupoutside")}a=a.parent}delete n.pressTargetsByButton[e.button],o=a}if(o){const a=this.clonePointerEvent(i,"click");a.target=o,a.path=null,n.clicksByButton[e.button]||(n.clicksByButton[e.button]={clickCount:0,target:a.target,timeStamp:t});const c=n.clicksByButton[e.button];if(c.target===a.target&&t-c.timeStamp<200?++c.clickCount:c.clickCount=1,c.target=a.target,c.timeStamp=t,a.detail=c.clickCount,a.pointerType==="mouse"){const p=a.button===2;this.dispatchEvent(a,p?"rightclick":"click")}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a)}this.freeEvent(i)}mapPointerUpOutside(e){if(!(e instanceof f)){y("EventBoundary cannot map a non-pointer event as a pointer event");return}const t=this.trackingData(e.pointerId),i=this.findMountedTarget(t.pressTargetsByButton[e.button]),n=this.createPointerEvent(e);if(i){let s=i;for(;s;)n.currentTarget=s,this.notifyTarget(n,"pointerupoutside"),n.pointerType==="touch"?this.notifyTarget(n,"touchendoutside"):(n.pointerType==="mouse"||n.pointerType==="pen")&&this.notifyTarget(n,n.button===2?"rightupoutside":"mouseupoutside"),s=s.parent;delete t.pressTargetsByButton[e.button]}this.freeEvent(n)}mapWheel(e){if(!(e instanceof T)){y("EventBoundary cannot map a non-wheel event as a wheel event");return}const t=this.createWheelEvent(e);this.dispatchEvent(t),this.freeEvent(t)}findMountedTarget(e){if(!e)return null;let t=e[0];for(let i=1;i(i==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=n),t[i]=n,!0)}),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerUp=this._onPointerUp.bind(this),this._onPointerOverOut=this._onPointerOverOut.bind(this),this.onWheel=this.onWheel.bind(this)}static get defaultEventMode(){return this._defaultEventMode}init(e){const{canvas:t,resolution:i}=this.renderer;this.setTargetElement(t),this.resolution=i,x._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;const i=this.cursorStyles[e];if(i)switch(typeof i){case"string":t&&(this.domElement.style.cursor=i);break;case"function":i(e);break;case"object":t&&Object.assign(this.domElement.style,i);break}else t&&typeof e=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,e)&&(this.domElement.style.cursor=e)}get pointer(){return this._rootPointerEvent}_onPointerDown(e){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;const t=this._normalizeToPointerData(e);this.autoPreventDefault&&t[0].isNormalized&&(e.cancelable||!("cancelable"in e))&&e.preventDefault();for(let i=0,n=t.length;i0&&(t=e.composedPath()[0]);const i=t!==this.domElement?"outside":"",n=this._normalizeToPointerData(e);for(let s=0,o=n.length;s"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))){const i=e;typeof i.isPrimary>"u"&&(i.isPrimary=!0),typeof i.width>"u"&&(i.width=1),typeof i.height>"u"&&(i.height=1),typeof i.tiltX>"u"&&(i.tiltX=0),typeof i.tiltY>"u"&&(i.tiltY=0),typeof i.pointerType>"u"&&(i.pointerType="mouse"),typeof i.pointerId>"u"&&(i.pointerId=fe),typeof i.pressure>"u"&&(i.pressure=.5),typeof i.twist>"u"&&(i.twist=0),typeof i.tangentialPressure>"u"&&(i.tangentialPressure=0),i.isNormalized=!0,t.push(i)}else t.push(e);return t}normalizeWheelEvent(e){const 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=ge[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}};B.extension={name:"events",type:[w.WebGLSystem,w.CanvasSystem,w.WebGPUSystem],priority:-1};B.defaultEventFeatures={move:!0,globalMove:!0,click:!0,wheel:!0};let q=B;const me={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(r){this.eventMode=r?"static":"passive"},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??q.defaultEventMode},set eventMode(r){this._internalEventMode=r},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:!0,hitArea:null,addEventListener(r,e,t){const i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof t=="object"?t.signal:void 0,s=typeof t=="object"?t.once===!0:!1,o=typeof e=="function"?void 0:e;r=i?`${r}capture`:r;const a=typeof e=="function"?e:e.handleEvent,c=this;n&&n.addEventListener("abort",()=>{c.off(r,a,o)}),s?c.once(r,a,o):c.on(r,a,o)},removeEventListener(r,e,t){const i=typeof t=="boolean"&&t||typeof t=="object"&&t.capture,n=typeof e=="function"?void 0:e;r=i?`${r}capture`:r,e=typeof e=="function"?e:e.handleEvent,this.off(r,e,n)},dispatchEvent(r){if(!(r instanceof M))throw new Error("Container cannot propagate events outside of the Federated Events API");return r.defaultPrevented=!1,r.path=null,r.target=this,r.manager.dispatchEvent(r),!r.defaultPrevented}};z.add(V);Z.mixin(ue);z.add(q);Z.mixin(me); diff --git a/assets/colorToUniform-D6WiE-Of.js b/assets/colorToUniform-C1jQKuTl.js similarity index 98% rename from assets/colorToUniform-D6WiE-Of.js rename to assets/colorToUniform-C1jQKuTl.js index b62a162..6afe88b 100644 --- a/assets/colorToUniform-D6WiE-Of.js +++ b/assets/colorToUniform-C1jQKuTl.js @@ -1,4 +1,4 @@ -import{T as _,a as M,n as g}from"./index-CkdXe05Z.js";const P={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},u=0,h=1,c=2,d=3,f=4,p=5,x=class b{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=!0,this.depthMask=!0}get blend(){return!!(this.data&1<, diff --git a/assets/creeps/basic/0.png b/assets/creeps/basic/0.png index aca768d303ecbec092c4e4351f6255591317dc51..05b90b7b363dc8e88a2cdce2d2631160745279c9 100644 GIT binary patch delta 90 zcmewu{4sb!9VZjJxTt2?GlzW}+uv&Nn3!lA7+4t?FeUV?nB1VL%41>-5!g11Yu4nA lnzG79x(4PUM#fe~hE^tq5IIHlPId+$@O1TaS?83{1OO^u8W;co delta 90 zcmewu{4sb!9Veq8ACI=u*`#M1+uv&N7#nCC7+4t?{CTx-(c}hARk%R!c1gL(8#QH> i4RsC8Lkvx<42`Tzj3A2Le<*xp00K`}KbLh*2~7ZdZX9?3 diff --git a/assets/creeps/basic/1.png b/assets/creeps/basic/1.png index b060a5aa103751501937c62e4019a77ae1730117..d978a9abad8ede83d61e7d26ef1587e74b2814aa 100644 GIT binary patch delta 114 zcmX>Ucqni}9VZjJxTt2?GlzW}+xMySn3!lA7+4t?FeUV?m>j5~>SJOI5!g11YZe0o zgGPyKL`h0wNvc&zW^QV6Nn&mRgOP!esjh*Mu7P=ok+GGLp_PdtM316+Cp%CNgQu&X J%Q~loCIIO2AZP#p delta 114 zcmX>Ucqni}9Veq8ACI=u*`#M1+xMyS7#nCC7+4t?{CTx-(d0l4RUeo@?{-N!1_lO= z64!{5l*E!$tCGyz)Z&uF+yVw810z#i14CUy^AJN5D?=kI6Jv-W5Bs%UfqED`UHx3v IIVCg!081t!SpWb4 diff --git a/assets/creeps/basic/10.png b/assets/creeps/basic/10.png index 84e98db5e086d7dd02f9dd3c704b2c9f6ee89c5a..48b4f7de2396501295a32cefef455a4e9cb14585 100644 GIT binary patch delta 90 zcmZ4JyU=$+9VZjJxTt2?GlzW}+vlqCn3!lA7+4t?FeUV?m~5a16flMeY@5Y3YjUER ktg?}=fq96Lv6Ydbm5CulPEoy+odF0uUHx3vIVCg!0JwA*a{vGU delta 90 zcmZ4JyU=$+9Veq8ACI=u*`#M1+vlqC7#nCC7+4t?{CTx-(PRTPgh20hNx8|1YO>0P hx`yTUcqni}9VZjJxTt2?GlzW}+xMySn3!lA7+4t?FeUV?m>j5~>SJOI5!g11YZe0o zgGPyKL`h0wNvc&zW^QV6Nn&mRgOP!esjh*Mu7P=ok+GGLp_PdtM316+Cp%CNgQu&X J%Q~loCIIO2AZP#p delta 114 zcmX>Ucqni}9Veq8ACI=u*`#M1+xMyS7#nCC7+4t?{CTx-(d0l4RUeo@?{-N!1_lO= z64!{5l*E!$tCGyz)Z&uF+yVw810z#i14CUy^AJN5D?=kI6Jv-W5Bs%UfqED`UHx3v IIVCg!081t!SpWb4 diff --git a/assets/creeps/basic/2.png b/assets/creeps/basic/2.png index 84e98db5e086d7dd02f9dd3c704b2c9f6ee89c5a..48b4f7de2396501295a32cefef455a4e9cb14585 100644 GIT binary patch delta 90 zcmZ4JyU=$+9VZjJxTt2?GlzW}+vlqCn3!lA7+4t?FeUV?m~5a16flMeY@5Y3YjUER ktg?}=fq96Lv6Ydbm5CulPEoy+odF0uUHx3vIVCg!0JwA*a{vGU delta 90 zcmZ4JyU=$+9Veq8ACI=u*`#M1+vlqC7#nCC7+4t?{CTx-(PRTPgh20hNx8|1YO>0P hx`yT}46RHIAqo}MJJ}h4z|+;wWt~$(698vu7u^5= delta 90 zcmbR4Io)$Y9Veq8ACI=u*`#M1+b1jY7#nCC7+4t?{CTx-(PT9hRk%R!c1gL(;VQDq ihPsC4A%-SahDKH<#t_91`?XyefWXt$&t;ucLK6V3 diff --git a/assets/creeps/basic/4.png b/assets/creeps/basic/4.png index 4c7cd40e71bdfce041176036a029a2f1ee632f05..139737cebe4e21f1bb59989b12b1ec115208f784 100644 GIT binary patch delta 90 zcmdn*wcl$(9VZjJxTt2?GlzW}+pSf2OiZ*546F-5!g11Yu4od lDzeH(x(4PUM#fe~hE^tq5IIHlPId+$@O1TaS?83{1OVw#8GZl& delta 75 zcmdn*wcl$(9Veq8ACI=u*`#M1+pSf2j19C646F{I!Tp-W!o&SS(9(5 k$SND@8kmO|8Cw|{TA3I^)G4ZWvNHgIr>mdKI;Vst08s)L<^TWy delta 75 zcmbQ?HN$H{9Veq8ACI=u*`#M1+eK7(j19C646FC}39VZjJxTt2?GlzW}+oM%@OiZ*546F-5!g11Yu03W lRas>tT?6wFBV#KgLn{+Qh@7H&Cp!ZWc)I$ztaD0e0s!ro86N-u delta 75 zcmccbb>C}39Veq8ACI=u*`#M1+oM%@j19C646F{I!Tp-W!o&SS(9(5 k$SND@8kmO|8Cw|{TA3I^)G4ZWvNHgIr>mdKI;Vst08s)L<^TWy delta 75 zcmbQ?HN$H{9Veq8ACI=u*`#M1+eK7(j19C646F-5!g11Yu4od lDzeH(x(4PUM#fe~hE^tq5IIHlPId+$@O1TaS?83{1OVw#8GZl& delta 75 zcmdn*wcl$(9Veq8ACI=u*`#M1+pSf2j19C646F}46RHIAqo}MJJ}h4z|+;wWt~$(698vu7u^5= delta 90 zcmbR4Io)$Y9Veq8ACI=u*`#M1+b1jY7#nCC7+4t?{CTx-(PT9hRk%R!c1gL(;VQDq ihPsC4A%-SahDKH<#t_91`?XyefWXt$&t;ucLK6V3 diff --git a/assets/creeps/cloaker/0.png b/assets/creeps/cloaker/0.png new file mode 100644 index 0000000000000000000000000000000000000000..bcbc3af49a793e5f3f5ea40bb987fa442a6a0385 GIT binary patch literal 14697 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 literal 0 HcmV?d00001 diff --git a/assets/creeps/cloaker/1.png b/assets/creeps/cloaker/1.png new file mode 100644 index 0000000000000000000000000000000000000000..200bc9ee9c1ce1cbef5d954e747aa13fb178e3cf GIT binary patch literal 14380 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 rK==Q@;BMn!;pT4Q;QYUAIM@Za*#FyxoHhy$Yy literal 0 HcmV?d00001 diff --git a/assets/creeps/cloaker/10.png b/assets/creeps/cloaker/10.png new file mode 100644 index 0000000000000000000000000000000000000000..3df93f838a2626431e62e34fbbfa4bb716b1ef42 GIT binary patch literal 13817 zcmZX51yCGOv-M&L?(Xg`L4vz`f(5t5f;)@5yDS9Pgg}ri?he7-2?S?xS^V+U`|GcI z@72_up1L!q?)1!+?$do^G}RR_P)Sh%004%PqOA6t4E|3+e)o3n6E`1w6V#T9+G+rR zAH!RH7yxkp`X&zn08efJ;K&RB5XlArh@4YR2jt(LeP^MfAPac?&r#S>k@i-D;-YBa z4gjFx{inbIz2)a2eD!oMdXVDZ|M>;wS#`;}y+bbVH!-@NmT=RME59@AIH zuD@&5Qcr*6Gz&ZI4`vhMgv-K4=A^-Fx7}xGHv1S@7vqZ3eTSnW5B6xssAL0ZSC(x6HpKN9(R=RA9GCi?7shX zNk_Fk34*iN5Q0-%WbyC{O$YwvwxJC%(2*%^$pO!5DC}K1KF?$&4nHowenIIvNL69B z1jV6%gIvD zlXq9{+F*h^uGt5Rp0cd^N1`t3wI#*&5<26Plc$eOx~-UH+sIlt;7p=caaxZK1-@~p zA#|u?#m;s^`14tNqq28zRyPk+|D9PI&4% zp9@~T6j;m@Kb0oe4K{esp$ zi9B2XJLF@*yQ}SmKoRexl#xtLdp9JcUT!zAop`N6$sOt8H5ZYoKlIkA;66T{(hxD^3>GFy98}}mOH!)+C zF_QZ$w&!1nJ{c1h9TS(wkf0Vt^a?3+r~Y1^6CR!Ax;{UNH1T`K=prUOfDX31wNDui zdsFxs_WhH_e!lNuBA02R4s)_eOX^?$vu~EcG9igUFSeJj&zsqY{FalVG66lIJJ7m1 zF2CJNVP-iUP-w1mbGSo|NUlEnAD}l;$FZrbazr|HhBQk=Dl4o>mzib?Bg}uV`Zeb6Eqk^3zu$`gXy`Ip>FVs~o!yTYmPZ5}&fSHJ(TI4Tt_r9K zk3D3;AwMRBqk0Nn$vMdP`d7c=g<*-FfADua$qg)X%C4ncic>X2o z?*v8qm0UV4bvvyO_EQFOy0%YE(kBS>9;(kS@6SVQ+k*DwxCxVy*a5Y4Hq4S82GL0@ zwjp7|&#cbBqoNkGtLDzzf7G6ii9S^Nt*-pO7QLs>sHqV~aVe~WMUpMu%-7;NI5Bhr zwP?FMj}_JfUd~GQ%OZlie8yY@Zi70)K8@}DeWa9@3UmxNo)nAPZyqK=FNBXNT%tqy zUW=p+7r>&0`X^b+2?W-pop_i)m+&z|NRn7p8@LUP_%I$%nXo}%Z{PZ}-QCvvvL7!c z1GVb7*7m&i)lVIs9GSns9g}93zReDAIx{n3U}EC+m=JZ5Wix5el1BWcsOkJ(qa*ho ziUG^VQl=5hdiiO@Y<)GqZo&|lv85f7o)%t<88Zsj?2lwi z-V_`#UF^-Abau~kC{*#ddzmY9bFiaQqf5sv{9AF62L!o}a*a?i|*LH}&J zzjX0m+$ly#Dob{w!f$5bUs?|;xbrW{Hea7)RGTcQPMRgAT;Psgfy*{oiG19P<} zcQwBTp4xw9T$s}}J%M(Na1hph>ZB6zNcd4Bltzw`WztR^F<7GC~0eN+`4 z(>#lfFPiHv6<(Po!1QmkI0R4hi-x+=yKu=x#K;l7kV) z>f_bZG1fwzo!&bD2l<9MKYzg7;n}P8c$JsnE3txM=e!^56D= zf?i~l^Uc_9T!!{sndQ^-=9gj9*Lfqwe!8VyT+p#8wIF}Ic3}=9a)?gd_mBRqy-f=5 ze;F58Oc!aoRW4EHGhNt{qxpNi{;s;JxjGJI+5e{_v1w5EkY= zZ|p;puB`fW+vJYUO~IjOIzIKy8#h-l>0c_t^hqSfVrxXN+KlHh9H)@KK*8(g*>-jb z5p`Mr-52E?p25e*;iUL&{aecM4&``~{@RyKFVRr~tf91}M1=uV**1xmD|4_qcN)yC zwyV4*MLCA&FJX~x{MvTV`UjvT>94+s#k%{ntSzW(4=Ff!N4 zA8N5$dEp7IzXNep3&qoUcVnj82}!TMyxqMTpx9HYXXGNgKV465Vola#8D5N67@LqJ zB%#A4q<|eXs;$d74UCh6HN@xK58NBGVf%i}{i6T0-h zE_V4X8iFn)lmb4Dv%82Y4cwySlIGVAXOh#FtG8^s{Ye!GFdI8%AH5PuKW5z7&%0s^ z*wo1LV_lHC#36^EbH6@aEk8q@EoDn&b8}~(vBZ5Ea>qdOtzXm1Q8ru;SpuHXf(BxS zI0x?-?*GC)2zDy6@YUHeo$Ypl$~MG=2@qEr8bA`%l)+pCnRv}U6)K^J{dWPv9GSlq zTAMrjz38WtCuB$9sI7qM%A8EK_ND&K!)E2^`QGUgyfb!AD~&HpYPr7*jjGnXH{nce zcULvvYP+SWTM|0;0+vzr89+Z-0))?Jm((0 zA`X0VwSYqR^-D^;ecqN5O=Wh2sbRgZzF1U#XDzaHG@^^<9{V2#y}Wf+7u5SgBNSP} zDmVU3JmP(6OH=6mr$rM^?RZ3QN%O_D{wJ5hqDx9D)SQ&Gyaq|T=!j@(CX0?hfCs~A z&sh_72#r2`M@dv7898$Y4~r~ZhLo(WfqBzeespGVV?&|q`JjYe;+kgkZZpV=S8_Fm ziPz_DJ-Z5jBm%8Z{lg>9$F%$J9(iQ|XAyUX&8M09JpY9{fKTH16l6T!6H1Gppw(qY zqs-z~Qo?n%o_o6TtsYR$7WHX+tiv->Y!RjK0}dmJfEH?NWSr<`j=5QTysjB3X-cws zxmkllv!szRdiJRx@{3>Kc?*PTI{fYL>St;gi}p_x(MHtArMg{oZG!Gdddc!AqrbqSGMUaAc3?AA!_ zSjY;qXAF0TB|~5rD4rq=sb22=?A-EN8Ux{nN|i`k<|u!*1PEIUDJd8m88MM*SwL4( zDMvawRFMDr7?!&sdyu=?-+47b7X@dZBtf~`>e%+|Rm{OLl=1l3b(o=iCaYXhC*H$R z5I`mvbp3N~o<2p}g24USDIjHS3)_ZXTFrsL0`sEqB zOVev4i=wwYkr9z$jE<1UU@otak+RskT6SMEWMdjP^Ei!Vsd0WNI{Z4zgV^}xHbSyrJru%d^Mt`> z>EaXjErB7@#4`e;5RFNFl+tRsSxEEx`Y~(Q<2ogSC4{$odyKQ>D&#$Kg|@7b5uVWt zbn~l6{W6#0q7xqchTqFYz>aCn-gVk%>N42}%KH>4w=hsCX)e&DHPpkMubiY=&vFD& zdU3?I9+ofBm(w8eesW{mxC4G$qlq2e7#oEI8IDGViF_thv4|~283*OCadC)wc>^C$ zHT?@NPFm&)b4{%c47oh0Ye%VAp4vcF#`4h&Zt)5UEdOA9_K+j&oPXxHDeg~FxZ8`y zld5#N+Jxuy)kGh;-m9iybmjj1e(m9qEoXBh`s`8h(44?MWP5%=su)5!%ReP>4k}m& zSypeZ_05!BMKkTBUm`h4pX#Qnv(1TUDLks=w9b3zulf|IMvTf`IDQgG4f zT<%XvIaSvmWv9*UR8k{#iHEX$I#>1;T|hC~vC&01ydLic$I@Ox)7c5nZWI)T>|g&< zF-tt1pI8LT?dQkE%WLHiZG~asI(-f75DGwTBEK2|*#hQIqf(CaQ1V0v0G z#U=A3w$TRah~)b-VE0iEFZ5TDWn18UKi)rO%(lol9o*Fm`i>l4WtJm6a|?5dNxf$6 zPo7y@d`=p;GXlMl^3%76lpG=2uIAuLUl52Z6U(d;mdxD^cBnC51l<)y_01Ky#Tp!* z73BPOztrx$=hAb(FjAMr>nXN3++xO&tg@{egu=Z%cNJJcuh!#j z$Nt5A$hm-b76*|C910yi7#@L-qx)$kw+61ns5UoMc-9Kg^uLpkNX&xXbA2NxZ7)ZO z&i2EWyQXgqUZ<0D)KmW{H*j%C%2MxM84Ojn-=U$k=|+BOBn~}hD=vSB>V-~p4q^$n zyB$;B&8qV5Kzjrblv7><&4%7Q)=v^JI8!@E`jr`N)1%|I5f1!YD`-0u{pCLG%gp+7TuojLQ9aiV;>(AO$>gefbxLH6HBF&ESSGFwlylIr7u|(zJ?Qp zxr#IAFu8KsOCf7Uv&T9CGXwS1Z5D*lU?#7h-}8&9`nshG@3869asw!yz_C&Pq$wp$ zqZ4_OEi>q@4MDmf>B-?`Z z!SbIS)vHtEXk^~A%VNF2@?RB4dqKh4=Y6J~!|r5{%_kf`gpdCXu%A{|)P0brC1lKq zm-LtE#?OyBZWe-sISK2se%MWw`(R{YQLI?DZLvz(xzkaq;M%(AGIKF zly0`aH3zy5C*o*brl0`Dv1e>le7S2b-nHZMQ2XWnt2;H5o&v*FRi;l*ide(~SZc{= ziA2V*3onsohZy@lR{p&jJU{5fG8%(S-{p3BC34ldtDA)Cwb&|+37eQksM3UZ0)0C{FgJmETLQ431@mJx`NM8;+!=oMkIawtp>3-UG z?pc)E6RK6Zg~zCjs{3N^3g>4m86w{ssA%NDo$mTq42S2J2Ps8m2o3&QZIX zU8TWukR0SBm1PB{J4(bh^ zERrM;UJVcbyZO{2JmlE2O?<~U&KR^z@{xv;&#o%2AwY^_|66CYifLE0zz@S{Ikkn3 zC5-{MI{`MW$I>)5Y61aGWuDK!>}q0Ww8_dObmTL~_A{CseZ&6jQohqnx1EEou1s{KwIGOCTTU!IFO>_^VeMjg19GglD6 zTY@DvhxZjYe4puAlRATsjQxHt$FqB@IrXA_AaR2os}^e0w_uKbIIBxm0%07Lg@o=r z=rHb}Z)>=ds~x>BulYMdy<`ateYxPB$uj5XAd$FR^G_&eTvRL*YG}*N4|-lK78HWD zX(|jMDB98N;_i;gc5d^0Zmd{P$=*BDExWWj7-g%&lAJk^vJ9S?)xdLdq)%7Z@$W^+ z9c}aGN=|fd*G83@El)4)BT(+C>47)$w&lq{G&Kj4W*jYxi&gS}gYk7Fp~~Q;pHLI9 z8@UbZeK~)Q;LS2R^YV0ZZEHPv7z(22b*3EQo9sV@ertB~xL(Zdy7|eZ$(ne^^;tUt z{s^s6(W<1r`u!&(vKKgRB&_dLh0UOkHmq{yLztV@KcP3M5h@vHOadI5Vwlc^$jK~A z=<#~Msu=3;BYBVDh)1TtWJOvRP{gj%n~(A8L$Y~=QCf{v;L^)=Jt+V2_O?mqX@HA6 ziyf}dY;`g)a&>;5N(|cgxZB?^Up6ONdLqd})BD%y2gmXLZbg2tIN&Dy{W^}W_o|a@ zoLpiH6q3?;78KOdSdB+BT>EjYtebui?SrLo9K%ng-trH8s_hyzJ)OQ$%2GX-(cvDf z5Ta(UvbjBgXSP_8A1MR>EbrI5uNH>SDR&#D~n4{8{EoRj>>L>FnIZaV8~WU#a^2x z_fR<9UjA=17lKOR39N@_3#N!v_p7H{7HRTIAl)9T)&x{wVq_Gb??bC@%LG`6<0?i) zDpsIMn4OQvSI+1tDyoRz+f$Hb{e+Eykt<94x8*&xmhMOVIHJctw$W7n?0*?l@@J)s ze(HM1Oxfs}&ro^U=(mA9zW3S&^%vxO16#!Ltce!&4y3on3dPN|Ea3rm225`TVUV5k zvNUj>HC5u}BL0j`^iol>6ik}x3}PFFEc&mndqXTKAt)n84H!e*ZEQSoquo%>?x-lwujvR?$V+NAFT z4QFM4*Y%!AE#H!`Ez#4ybMoXt7aRV2_1!gq;ZFSymAC}>s6X!zP*oX|6Hi1j3VGkz z)&ItQRdh^DP&z{mt*ShRPxq5~x|isZG~IhqWDN~jGxGD@%Z@p5XqU7bRFMmHsgVfv z+yO+5gTq!(`wQmB@R+jDP^h^-?=X+1RD#sn++jgwVSq$rxSho4NqxyQf1yh4M{sJG-k7X#%?+9 zrAvbI3w+R_RZ}~dKKM{{e81d$RY7OuwzQUI%WXMrNJWb?fAO3%Ka{p0H6_nzc001~ z#8ruCs85BT$UG*pOh(*1xDLSpy#y3{uena0{Y_?y7$oG9kCP4mDE{KL>+1>j%5Dx% zdjA=2z4p|}ddSvQCloKMf`qtX_}>}{NtZS&VrXR%P8B$8qtOc2l!bJgCi3b-;&E8| zSiD>u<<$pg%G6vzx~RxRaufjen-R9KBErf4lL$VA*@TtjuVx-5w7VksF~qy$p(%;T z339z#=a{tDIu*}be;7j_YA>9fXOO-PLseVUUm?ay#9lp3E-9fxGxjl8{87u~mApDh zb$PTk^>lx|=4&ggt22v|_Y>Li_&GKNEkxbySPDjivgNk*ZYx~rLU$dvws)i)-;r!s z$4hkONHts&=B9z(orb%bp@UIUj%WHQr+5q2I4^rx@QavZWmx+Vbw8`?sYQbOoNpiC z`-Dk`f~`)EElsW3z{d?|x(5)Vg1zH@1-t+#gvemxE<^m=2(mBD1SHv&+}TZbReUHp zEAiDk^>if6BJmlb=9-a>unMTZ?yBmit@?B zaT5Bw+;!(BN73-*`|+JbFed5;)=qZBFQ`xGFy3F+ zLCt~JNnN!VZD<~t=|IK9$7{UoSaMwafPaouV`(9)KD<@oTg-~#9)xqB%Yt_r$Li|H zdiTHC#zsccg~0)?TScx{R;s6N&?QB_)|WE0oJHJs(D(lCPH5+yzaic->b?sWY!ChT zskk@inIeXYOkpkl)hp6T~=om7H%E68a{n{c zj$|tl4DW%*#3z6PLn+K+IoF=$7#7=(XN5y#+{Jop`v52nk7kSphW3PxoBb{bj+V`z zH#9t*%Hou}z0vA~Lc$tIOwrz*GY#aJqtk{43PFx%O{jL3DP}p@;RF$o%qY(hU5G;5 zfrIaH^ETU%Ctmd8)DT;HsbU_&N933mXv(aBYf_`ZC_@}rRruyK%))M)uKe?{+g88P z+xc`bQDrbn=m!W(?Chp!R(o$sN$ zzYMjGtlvoYcAhyibpt(-fI>pM%+;_LkwC(6JppD{u`WK}7FHgR&gzD~WQ z0wmF*a9Z=L7BC{w2$C`lUCp*7!n%XtBoH&PWgimZ4S%FsA^IdrcERvgPmR6Y5cE20 zQWDk)0-vReR+i}%Vadu`7ysfhsdb8}6iG;TtfM9_l#|IFz&ph?r#deSKi2`%Xk4ZB z=6yJ$fI4F7SvTofWmJ3AjPE8c)O5jwJ@?`{W^~_^5U@>gx~(htU5-DY5$B)7PIvI) zi8`us0D<$kl_&EM$O=P#devLRX;pqqC?8Sn>bLHZDfsb`YBS&S`LwOOvSyH}Me2l4yH`5T{6PhRc5n%Wv3E?swP$cDX<5hd2V zyOKvSivM_imhIXE4JD?I+DuP=JWF1mbXZ`n{~OCj{L+IZ%J=PSW~OK2u8)O~(cg4y z40e0(?oRU%PaHOV;Lm#XaS%zHkir(|q; z{+Bpo^eMfr*yp+=ihFcy;||hKRc4Sz$4j@Ch*8f)t2oU2 z`Y{r=T>Tlal}oYosemIRPs}GM&&$~(;Z;aOu9BRmX6%>g-6)NJJ~l?ygJ0nFSO?jY zM)?~wSR+^vU1^pCOl*KN%a+8saz&!MarGdyD@xLHEH4s^TfjtZ=VZh1efPyZDq4 z#u=B$D->WFyJKuP2ZlXf&(@+~nCQG4mbk%BAo?N+#Sr9vSwF+fPDtpOflS_rNi6Ug z7Pl~thL$5jF?d=PVpVfu-;;o`+s_g>)*kXB8s~GQxQ8x$17uRD#8WI?dUI(zxd;q~ zY}amGE0BT_LlVAm340{HMLOmI8vGBOm+H{^HNohvn6;KbTho({>)@P0Rax%im^f*CQQs$lboJ$GRvn@?ogMq{9x?CQm_Y zct~n$Cr=cWM9$747a_~CTPzI1G_oY_YnxQTCB%rI2<6NEP0YFk>*;6F>)-LVyV`sH zIlAk`zwS-7aMzXOAI%uviI16EpLb2R87;vh1w5S5d`VFd-`~BWQedfT6d1{{@l7B;K|8dArCHDYD)~z<^E>%GsJ)y|be% zJkQgg6&njpVH5tx;jE#jGkY?P8^dKEM+h>)#L}}0k|+{zaKWt4a{jCsthChT{TA>N zqND3vUbwCPv!BH_WGrCP$YRjr*pWCWv|KC`R36aXB|*7xznR6g<;-PIXN4^C{={st zmMfKOtV;D;EEh==h><w?6zs|eE!yU9K z=jR~lf+zZkpw~O|y3?rnsYapF~^!?vh>bls-nN1bIpK*2W z+!}RmTLFkwl@k(OAUG=F+6?LC{UQl`*s_jrtNcmTMo%Ua3HyqNn(o1yp*dn;b@^dO zF6zs2**5Ic2)*QD11;`-S*H4HSe@gt-uwYD=pfI%`|hI2u_x$yy3b}Dt8MfTgm1!Z ztEyrO9iim+jfb}n%zxCCFakYcOub<8kS*8et8FCJ3j}TPb@nF2V{WVA%w+iEq@&q$ z4JwwzTM|Ph-XGNT)PMm?YGMk4$5ZEE`=qjqhOSj6M$F&`P(W4iUXWB;w?)SAXWfN^o7t9$Ik+RdFP}M!XXEz6ngW&Bfk2=FIs!mQLtKeD zgLZDJ`y<40x%C3FD!MCVyP8;WXFJO7pi)=J(zBO;Lghp-H;D1Iy)+Esk^Xw;kvKsU zRSa$LZ~yb~BKlE2)@qD1Ul$op-~yZNqrK0%*7(!7wSxQ1cN9QZvqKzki8?2(x1( zPR?Cr`2dnTNJN^3U6cl_88@x1`?_Urk(cd|o(t5fY$bnC9tFa^o>v2St2vRBaBgTx z;IoafM&`GYfvOben97mwiKOA!_-veDY<6cAJf5)Wi?kARDNTr|y8e8B8d)UqxM890 zx7?AZ84_Y*yOsz0%i1FEvw6vnYe8F6#@;xc7xL}XT5IcV-Uk>MRCwjfY#G~i7&3}w zz^dnh;{kp(7hR*+*5(nNZ#$yv!V^Fm?yGH_v>n1l_lpsVyq51Vkygn`TMxKn80iv2 zHx;UkG}NXZznqfXHNfwK-PUcKEw-yKAx`WMYx{fj-67$R!*r#auYtv5Svr0Xhm<8n z=8DU=E&0b$Lzf?JMv!*~vM>ozXbvjliXB34K)$?X-G9(>McDS{&s#sKu{&#M;qmc! zCcLQTgk12#>#yN@z`xy|Cb^002~UZ*nh`x$)##=M?==RVhe?pVMOU9kGdbLGwjhg zJ9zRzZ+PCKBVdP;Qj0y^7{e{JrJ(0l?9e~qat==EWmlo~)^@8yy9I%*eWypoJGq;A zX@K{n>Om5I4s5$oRG*6?&|bG}dB;aRHPG|;ET}|KaAa=-B(jH5rnJd+p78cvZ^1Tu z0)t9JGNqO@xLS0;he{NYDAeotOl;|2jRM5i#7T&jTNT~{S7jE{?fiXsgvXF1xc=WR zFePsn7Zssz<*=u#|7h6fcWaP-w&UTQHI9TP{!^|5OB(wd-fSy|okcyJUUD`L21&cQ zCz@WDHHmGtW2ra+BMDD*#5KuBaVuarx>Ib3hnmbR;(a}tP~feJq?*gh^f*wuFktgK zZa`_hvO5kaDdS=(CjnQ8va4SEFE|p_~qNz3_h}q|t9EOI@6_IyPiGjQlP78%{apj0D-WX(rv?iSTLy&2_Q!Q# zxe|2QmMqNl^|?5y4KWfN@e@EQvo`-kn$CT)EGiqjx1$ z*&{7X-pSG6kd|`%x@aj@%HA9L+ETio059}^BUxenrkXgJWtUAPiZlhnM1dEKcN5`17o?2Gbp&;lM!9y+WP4) zkq`OPaNh@v{nfjxv9ulRNeKn^Q{(e;V^GK}h93T#N7zH(rH_%>=IQ>g~|p->_phii$_uh;cJk@s4M4yr-J|- zQMK|^TS=5{D_cJ{kb7w^>`;-%_(x^ zKv!lUecw)b*Zt?>h+{x0HedpfHbqUpAZ@cf7ha!(0aq!!(WRz{#|#I2o)(*f!4 zm??C<^M6ZA7Spr^BgLP{KC-by7_r7IbE8|neXcs>a+1C~I>59n7zccyW33z*9o|UN zB%iEoen6VITj$T6bj;REV+m#vO5@gMAtzaa(imfB5`LDV;io8apyp=or;R~6B>FLAYiM_-|2G{Y@*|9dUCIYlD zh-2+SWDI^j=H^?7XTY?6zcNwH7X?SNIxrXgWlrNc@`1Dm^Zc;CKlamVY+5ZYvwq9e zbwO-9=iC~VF8bvHUHSc|K%!u8&&I=;i86^#Ts$#7)fVz@y+E(Af`n_SpLQ_*bghQT zb&dMiR$F?hvv5*P%NAKx)Pp7m9Zm_cbH;_oB|W4}T7Q)Obb&6aP!mNoy0hH#bLZ1; z>g%Bf)ytUhF)@Ie{N2z!yYf1^8S%R+-B>GLC3;+QAD?W;4`{(v4*UzU-26D~kd z6?AD$EUT2#$b_7RvLNI2xvvFZ=s&GLet)P=#Z|+DbxxkHx8-DKBk%o%G=3TC?uPb= z=Jol<*nW~8#<#bpCR`1%WLwX5E=>pXkaqC27(qRAT5VnssC z4B%_AZ*dVbEm>*lM?YYqJR;tz534Xq785`Veq3uLj~$2nh~>|N}_ zq@Xze!}rT=mnS~aM5D+>xW=fdt1!q(WF+bAw41~JDm(OB%6OSn^gmLI)O5;?>U ztjOYO>|I_fK?*G@+m-i%KHy}TVtRVI?0<`T)}ByDIX@`TWbW2d=oujDi{rv{f4;$* zn!iDm(peUgmesQVzPZ+(Y4e%GKvIoYNhG7R{Gn2ffhAoTJ)y(nhf5iL=h@Dqc;e36 z+fcTi<_dshEb=)Wi{!eWW6h z1vtzq9ogSXxQ=F}YWqqY`ll!o39er|ulZO;SSJ0Hn!uHU^#?jf-L*3fcHEip9CDrl?Y5UbjiKZYino~pYL2xa zw|xL*==LBPhq^G58GIR|%Q^*2+{eT-@=4YOO11%*6h||?AFVcmyd|Ika8dMI=SoE4 zQM=v9F9&Exe8^{~rpsGwBe0he!=NVwzX{;^ojyu4%gYxYGDH%7T_b*azRa?PrcxN7 zyWFi~Cy2ZeJYjD4{OmtK^n5)&oEoCIG^7dGAJjaI6@D;A=(2zObyguWOZ{yl!l_R| z!cUfCIwc|ZYv_o0n@VPTj_#4UYC}AB8VNPmD{{o>+(M_MOkc@croctD384cGP`4S_$PPt$Oj5EjIa!MFR$ zS(5$_`|eb1PN+T+5KQ$-{IvyXbhq0`NW@QK_wqS-q~4mv(9nX}db@S&aUQt3eTwnm4teG$y_w)RZg+x@?-L_uD#SK6;E z%Y`Br6>nRd7(C?kJ*><b0%dUUH;F!J@%;!$Mq9n1A*~4ls2A?>T2r-kX*_lSCTyaR(viLO!MPi>qvPzv0Oyk$oJu;>B$@R*b|5gV3YnS01~=0PreI$gNvG1aZJp{<`YMio1cq^k5i5;WUsX;HD-xuP#b^|H#wEdRRrt-;^N{T@n2V;)Tc z3Du($Bf6{m~00|P3!D)e*_5yJ3DO#YHN08;+RL?%9UeCMzL^feEUHl>%%#b#ab-{k3GopYzo5XW#sSSxQ4b0xl&W1G-b|j^P4&!`wRP| zc@^V~j-7Cq{n8Y<4PUmf1i#S!)*fM`A9yh~bzSMZDuL0ni!v7$87Gp)FLPm++uL}h z7Qdm0JBmZ<-p&NQ4#s#M>~$kR?c`isKuKPp+q{&ufVBRcpt|{dyf~@R)<8;*@5)+1 zpYuBcyVZ`9-rzU1l(9j!V_-&yG<0H3C&>p!j1 zo=4&0yu8p1mg<(p+V@aFfftH{c4r_~=Q~Q>_HBWmU<__E`|6tHqgle*uNH#KS|5BAU<) zp767I4Y#eF|I7S-_tOwTlgx`^`m?8LB==MP$lps=#FL58MmP)rKo!x?c&D9IyRSHNa!+46Tb;IAr^RK;dR*7t zoC&^9u02xA!_8vNRkOh>T~xp)e0II&?ANc3cf$?^86e81G@R8AeC&}~LR|T2?2U-P z=EEs)JiKmU88sg(Sx)DZy|%4a$uZ!%E!_T^HtanBiG)}UN-0S57nC@@dI*i=nfysb zEW=jdq`)ZEga$){GFWo_XcP3A=Qh#zYW^Ydo841lUbDYbdEbOJs>aXPAci&V&&*WE zwzMei@27b3s|fAze!Lw$tuRkXqD?|>KNla?1*8?7)k@a=qVbsEz;HC#hPv$Sy>Hai z130ZlDL(BivF=Q0=)jUCVy2p#EGajJNJ8x4KJHg_6wkiMuEX%~_NZOI)#DTh)R$%L@msL7?z6L}@wgsZeq8^8 z^y5gvJ;O+0_imnH-J9+(mw$4I+qU~WF7_?PC0FzBLfc(`O4|n#UW1z&(cGgr19Y^X zPiVLO+LcgG|GNBPLdXu_P?6i3PE(ANm7jV1yBlB3p>J;I&%C9)PIPRy3!;GrLk+z} z4$d6mflNV9uIpM)``=^%y6umfif<_egCDP3pX;Gib!hw%CPx{h8vS8gOEEXwFt*ut z8(~E2D$-rYyFmNr63cNXJ22pjJGXo(h)NZ{mlbEF!x>APRkW|SYNEjW?L$!XiD(FW z1{wqe6z#JMFcA*${ByXUz`-~a*<}Wr6osFJKg0_?>@TlQ(X-nH~4e4w;4}jxVem9l@O4+PJzrq)&j74 zJGUfwIk${rHBxdrnKR#+m92Y_krkySp`(HByq+j|-sL`W9ZcpyETOuqF_z^ofGY|@ zf9f7|-9X%9>hKgjRIH+3BMmE7oONj+5jE)+9Rfm!!iyEA_B+$ubF1yX28q2O&M#Qo zDK)gw4Lmv+spuHwPH zEiV>{MN?xYWZoVc9^OCHK8_5_8F`XCPx~Fh7>^H(!B)O6wzA)NhpNZEpXx~AvIq=a zp1w3>Om?F({C?o)_Iv*V+7AJ5eWl)2D^31$fSL8-AA4~&#QIgP%!vfAT2;#D25`t! zMK4I&796wpB3E`*fgcLSyVa65)Qy)d+W*!OP)Ny$DN!Z%6TjD4k!UnS_yKueEq?xI z^iauUeEh5P#_UZ2SZVh#$2s7!<0}BbWf&;@JnfIll11%&Gg{u^2`W=|1U;HpHDhm= zn&Djy)EV~k*ZIO^(>h&np5!~cwAy_y^<_KwX5BA#Yk=1C?LGlCHdeX2|>W+GZ)wv=O{ zb3jejgWO*}z&x@WNJOwPAE&{n;yPd6?uIo{;B-$+)Eut25riN z4<~h340`c1hp*nV0%rgTn)3z{TH=Y;HuNyk<2mJ+`vC<7KM85YAavs+&KM{uNX8%N zS4hKIok$8&;%$m;$)`Nd&vwbhDVmysyO1SaIokAPn{zi70a$e&62gi+iBGKR^~c~2U3R{lR&RWK zIL1~uO$)g5i@v@1^1I(B0kB78mRkcz+JgFi6h)rI`U%W-RZV2P5_$9m3f8K$94EFK z+(_dA;X~2I9ZW>gv6=BkQt-oh`rfY3(hSKAvHs+jn)?p+LsTYXq_hDMNLK`cK|b;a zufU|egdQzT9l@m5Zk(f?2;&z(WzUtwXWEcT>Ki+=-ezAWOZMI_$a#Zt(0(nqygjC< zd_+|6N{8#lv-c{}Ruu5UV-KK^u1P7YhEn~es<{zO-P2Dy+|wUDMyg_uFAxo z*|5BsL#5*~!yRO81y3t_1_SMENZ(^LW- z|8X>_lm73(Zslelsqc*d=0`gyAR}=P!2a|O!ZNDgPJ5Wj6TRWg;-x5CoYNi35cL-! z>$)-cnaoiN`m)%X@oCyKljs*r+R2sG6{+KDV~4bo9dJ>XK#Pxs(1g|LjT}PsY{FBN z9D%rh7|=7K-y4d2V>d!z3{)^Vx!eq?>}<{nn3EX<7IeZY0xb_#Ysn0@JZLBk2WB9t znyMK4!!MC7*5;F3l#esbKFqneu(9d_g&$Ubvk3zhJ_Al__bmxK@RYSps&%o}KcmTU z3+?TjGYquWXACbzLjDYhk?dnDLc8|qzT@k)<7dd8l!4)5p~O^637?)|Lz_JRE_ z0=&Cjn8?uR?~#D-FIQ$Ro!2BOGieiQV4586GK)R5D@F9U$Lg5l(v*&jh(kCmDX)g^ zfeg2jla&u+h0aPI=$^$Kd(;m-x^VHl^y|EhqQm#jw?#3&lQa2ek&*O1suKJ&Zz!f( z@odq*Q~h_!3|HUUG=KVZ;He+(q+{PBP4^LJv#sDjheuH&Q>7e?TA)?=_=n$2tFD@PWZ4>`GoGK3Z{3Ckm=LVT5yRxV&tT#%7)8k5gA25Mh zvwut=CS!1e(D&y~5cl}3+}KPmvD3&OZ;|o5$Y#Cu1NOb@H z!C^^)V%>fX)e+GAaV%Szgb|t=`@VzrUwE3oy!>b=7|+Aiyx_XJnC^)gXA5ANm4j!X zIq*yGBhgRlmYoll=5l8xSJMcoJsYf6|I-5GNRedZm)=*Ac`WY;RKfzKOa$5_Dy2b& zlS^C_1no>$6 zUCAb^n*}3}eo#QBnhA4<@pX5+DJ&J@Za^h?c?AE{_rzus?v4;+J;1`%Ila8nReLDw zjiL28Gg#((xY2A~YOtC&G@4PL5mgneiF0L1EkS1k);tKtajmVar5NNXaz<|7Mh)Hr zX1m_AM5`FfBR?ukK0;CHW64H--see-)$~%I_erV&kzbXBD`svXqxOS^-C>!wGX|D_ux`Vg^ zJ3Ohj-e!%TA9Kj|xvMkgL>y6*ys+08&GdQH$D%mvLZlzdX5ZavO#Y@Csc}zE2if{qNW#UprOl+M_P2tMBSMkeqNRDh ziYQHB^xZbRWLJp!h|6+%NUDpA&KKeDV9g2987RKQXALa*hI(a5tQ^}r!SDlh%bAK_D~MrOf%X0x-SsCGetYljdp%>C(TOEz z>uFrvG?B596JX&pF-&!6gJDbAiPU%ex5#4fq}@?{HjbqwIKKLH^Bc5ZGoK(npJ~#m z<$+H;Rc|lLmQZ`KTSV8sT<=cyF3I1i@cyp(vdIQ2>1G@&1Mx+9F-s`=BB8L{ry|n0 znDKwg%?f3iI>CsC6A78ILaFG+s!p2b=0{LT73si7_~F8g3w3EqBz`O(&uFE*h8DFd zlmtBsE|GS;hL*?1)#4_xAROYvuY`u0-_fh)_#+uuOH9imQHd%*At@odM3%Nnm*>p= z=c9n6`XF;%TM?}n&V0uZ$WDzY+86!?b zIb*zyWB@g?ZqAQze=iLrCq`O#b>*|<>N*ZY`q0qYC49t;~ zP?Wfzl>~s^TUaX}koZdOop@=cA_G@|-_x*p%%yS`}TcN2xzaQjj+ND31yr z6<*-J2(^3Qo$)@_+fJholsu2_X-_AA!$_HGA;fK2YN#xU54&)0Zq=NfODt_+RABs$ zi9nRuE>@VRzUwQZy+T{iM2|bZ??Th=k&rl^L6;(MO0G6g^$>)3^VVe@(}=Y$Ir{L& z)lihGjgt~{1y8SW-+kEDc+FzVW6j#d>&c(7KvZMJ0}^te?l-H9rCG4lLLn6v+XS>cu%p%V}|ns#wMK&63+D83gpy-I_HyS{dZc>|-^Br2eAQGZ5fU z+$^tlAtN8sg~;uF=1|_~8ojC>G$)DF2NBZlcy;ikO%Ex@c z_gcgmcVYHag)*4W!+sE=RI#-ca#_r$5HqU(u<+Gw8BuNj+ag>tznKt@@-qcPj|h|b zvT`SrCN9@ciD>+2$>k>M*86;v)Z>D5C}VGUN8^hz1G~GpAt$m}%RXnT$W(kcu^9|p z*0eFcUiX{MSmWaB>qFYX%#88CQ9)pV?~KyF{; zCmIIohF ze%wb@6zrFKR3x_#10`lXjw|8ruG`fWQ2F~Ffh{kf%q7>OOl)ZoiS?m?=|B+`&5^XU zLNsFMb+8{cyjG1~AjJ~;(d+}7o^hB$q7aFGl@w#%gkA^LKw=B@_w7{2(^t^*;mq}r zTv-62?K?{G?|;{%-sb+tT6Hg2@n1qgY`wQObe*IWGrQOKV~v;W?d?uYD@T3>t4M8; zS|ES6p*SK2k%#3UUyZ@srufoT!5aL#?DTS;{-Y$euYaDqH|#dJ$K+Oj4qh-dgn+}I z_ws|PY^9L%>Z=+G`J-sX+8mmQ3EC*VpAW(}XMQwTVRYM<{L;gztWmfA3p#lYcOJwz zvH}7{(RZ9^y(EhacwtP8Tt+9fApk3DjuqF{#zR;Bl($D9*Y=KtjQA$2H}WAR4H!5o zm{0#voLbyP0UI0w8;?pzl_~emc+;XHWXG;u&yX&B)#-hiFO1fv-*SEpezPpK-`nsc zn>GHxH2o?ia)Z&?0V0h8KaB+5lLkDg3Dsdt>(e8bv>t|#b*`+{iwmr^PTK(h*q~0V zj_R1tOsw{+j^&v8i2+Sox$SDK4%ECDyE-NA+^3sTId}7(Nf}59q8h(;_K#wPhFOyY zP)Js=8A`kaU^8eWeVKm4($X?|x^NuvzY_1%cj(jaz}jAN_Vtn}$HKX%qF(?12 zohI*qQ=Yro2pIWd(+v8J41dk-9}yEShpUQHXdt(1h48Uf*&Y`nOt8 z-p`xVhMiRDd%FYPzkq|iY{Eji6L z8Q(+}guN*|Q+KrMTm^x^Muw~-R*dd)AX!08V@>~;lflEOp~xXpymk?R?rStSM-#^T zGDV?wv(&uzJ?qV0rmM1SZCSowkYAMlW8)q|5zl%c8a$-=$pVs4h*CIFd6CSE>(TdUC5;-_+nj&n8fl& zqqHxm>ag>|)K}a;xbD+e$YQZ)vV?$mw_lZyHoH7=FWX~ga<*c9BlU)@B3!ON6Vw4b zG9UViFbN{^8E`}nG=9b94yC?NQ>uM|Hw(v4EZXimRK1kr@xldLo4c6@YS*)G3xkqD zfd%7TmeadKb#4wlBuC{rs4M=&>VW;Fnw@tE`bqXh3TVVIJ|ztDwB4u;v(j7Cmc1rB zqi=fIUP64-7BGPB+{Mtb6hs7O2jyafAeUSjexbMNLt7)Pe}@wkH$iB`$*+8+G^Xyn z8=rIvV zZ!1Ux7m(w#(}YuxSX4_&^gHPa*7t=UmK9YX@464ULv3tl%^Dnv&eBqIvk7d-VVXr< z8S1O(WVht9>M1JaGgHdUG^D!4RPng2BD0Srl<-5lHB;U%MW6{gP{33RiEr1fCt*JG>gjm(-+Z~Zx;?^rzOOUZ1HiNB_9oW_ z{3b^(v3>hpkqQ|9@e}WAgc+(EY8|r`%(ZV=heWj#~l?&rFLjzIP(0C`| z%-?%^w6K#Y%b1J`gGWq3lgGEM+wFv7sxBbx^?!ToWQe$wSErkO=Xx*pa5I@W|NV|2WV;}orZo0Vp9!RtSw zbi=4}Tjt6HDu5Pi>u6tJLY8GN#;l$myK(P#wFqK>Y!~<)9w>=F>_8E!o_2R7&H!Uz zXu5c-)`1PPiTcKS#ck3T01_Q9G;cYsuM(8CSEs|6tuRLnkt7Yr{UJdwJ-5I_adiSy z&c9Ys#;9aS$;VcB^UT}fx%Dpd7%%8l*AagO3IxvqdeeKrBu(vvlk7g|#Wh}t4NN~& z51uu8afDube*=^O0T6GPd?yUGT0Rfte*y>K+ka$-im2IKDuz)&-(!UQOpI5L&MZ>H z<6!6JU=h%LpotF-yLUzg{y37>5_oss`?IHaPn96`@zBbK0yuBKQHYg-oaA~9D?fnP zHFe$X+<;~ufGQ2ns;puy^YZ=NWYfFVVqQ`?vKZDuna@vK z>W#)KMcZxrFAGCTdexA570hS4D;xgOE_*UT*4^Z9eCBi^<^I;32#GTDb7E#@?$Apq zSVzaSRyG?}TGDowKPohka{!w%g%a8#lVpqU=b$RbiNn!a=HJ(Ur2-4B4Mz|%MZf#T zroGGaCXIFvPyh?5DxmHF3*>IXY#ty|*z^~5XLDcf zje)QenVpXjvg{v@P$j)kD$dRjHMI3aQ?#m7DiO>kXRcUf6o%+1QBk$uu(J9PZ*SwL zbysqXBxKM@xS$8QgAQKK$903qIVU?SYd@-P=L-aUuEVN|MfMp1y*1S(52+es5=#-} zk(KUTw6v&7$}_Zuom&w{P+O3Cs4hD^+cCXlKX`?q4x!GWT7+JGZGIuSx>*v39}^V&TH!2yuVpL50Z`YY+6!Cv7)3WFISc|looTS1$afhrZu)!!Wq;j5YH z5~3LD*SGH+XRjN&PJ|(bgG>;`mGEM}vTm4Z_rA%M>TvNIgEj&>e!;>z)wZ9)>gG|Huyn!$2J{S|hCsuvdq6e>vN<7KS(EePsP&%oVocw_#R0&5O%H%w z)4bNsMpDC&o!Bq4`h2#&=6NPdc%JSagGYRpF~S>kJ~)wQG!kDaa`v%PpQ05SG5{iTRd^mx#?YSE`ZhA**&W58Ow ze`xvLZU8=G$6k?p^Is~epSqz(MVF2;kYX_-7)7dt6n5mP ztp6!)@oWv@%Vkf!;#0 zD@jr7FNso(+^3M@pR%#{%ZQKz&5iH|3lxcm`qW!BV+J=83I5U zQ`|~V23}1)aYEmL#`r@hN!H|_BSe4J1bPy60 zs*Ew{-h~W~ZJ*)wQ;;pjr$HI=kR=?CZ-zGuR6qY*l8|(M3&@4z#aV7{_3NFjuQ)}( zpMxw2^j!T$PR8|$e*LspT(URsvNtSL9u*jQh|o=M1o&a3AETy|fz>Vo$)3qzc1&3J zm4Hh#w@NdI{rRcQ{_PwpMweUk6Kl6SVSuwYu6TO7Y;JbE%B~Z`Q!TSSA5UG$srvj1 zCm1X&WJx(Z?xVG=&7R%2GxmdcwiJ^V<4;#1Xt+{bFZdEOyn4Iwzx|21>%y0Q+2kdW z^Lbn2^mKmXCgvpr zS}679v+8~Ora@Wk`tR#6zmtA%;(w%2*xhVxzJ@{iq+_Q1F1vt8%|v&269y;Cvt z^S9aHfhjizD;^BQG%43xZX3|1@v);17Gp|Z$MvuzQKm3#4HzGzi9{lZHDZ5(I?<82cmajU@ocj3QR#4>A;HJSs z$pyoH#{HRlNzSO|0TT20Q)}nS`cDc$*6C9I@0Js6fzPnf(otu-TRvwLJw13RfT136 z-k?PW#@DXwIpdGUwcIb3nqL=fg_n@-W3jV7lhc)Tn@{A_?HjL9#+0sDw4#% zP4XwI_N3xf*CXrxKiP6d4586lksRZ#l!NQMgQ#8Qs$lvpre4@4IIhfGnvXd7@idm^5{kCVy5dnr8p)00qouic$dp+m|aL z-?N|0%;Nbir>HnH1ZDV@kDPd{R{zw~46TRreFE#2`(YQX9uKp>{f?4hnDep36^1q` za&kb^E=TQ<-s1(w1Xi!fYHM_7FHd_RkO(i3*b1ocS)5eTbTg0PJ5kx$qLI=uwW>rs zLgoem{L4HaEUlf#wxVV-!B@|M%$IhS^$R7O^3)vo$+-IF_dHE@nOyiqi{(fbPr+M8z zQ+nGJR)IeOPFHG!dxFv$^OnC;RJxVj-S4@}=XE_d!UExo{UUGxH9hZfgP#S>GT3z$3Qa@2T@xJb&l0Hqr5Xiw=pq8+^7=>-PJ&J<9s{I$|cTuc-ssT&%nEJet zjr?fOs?Iz<#!mlNkksEhVl#JAZu5KdjocBGyOxWeP?gv`IpGD4ySpgX?NOkn{l<&s zud30$mWDBlx3k(DhH;VGa9O(APE0lW#GY%J*u};1x4yo!w4))L6w{BBh3C&x(ev%z z>(komQH5bGy3;iS(BLs1)lSEGDFudfQ~UGiGYjA7V@8v)X_wX437maE+gy;aicb8B zo%B~bc~oE8^)_&b%-_xI`Y%=5N0kZ%=noWl3+!Lc@;E_6bR_gbFXJmHqfd0*+GXF> zWGZR!bke6mf_-S1$2;FJ4YSQnfv(4_5^|s@c({9~%$E$B*tIG^G z=M~A0h><|3#r+pdbk3VCFiRW5o#CJ{>=j znR^D3n&K<}X}Fd==735NVm3{ zuvK!|ZIsz`vLm8nuBvEake3S?y5MHc)E~-AxZm~et`%~$_8W@s;r}GdWHV#a3#*WH z8K(mPkpX)|sg9i((L*(}tL;X(F%>)B?p-A`$s8#M7ys;5bG(NkigD~2;%$Bv+s+iR znKf03PQUo`hu`qzlM(AIaRo^v#%AX>G={aIa1g4SA_FBMxV*6O!-NYeV;42`DY8GWm%d}4h}aOBUt)i^e-prqb^qvArxJ3dkwhK@Q2r=dheVe5g5gEnyFj7hc&-k3JsYv3SF)>22rQkJ| z>WRrD@$M>qnfwjWoUm0!Pr#RwfK8g&Z$yBIKWnNiAq?H_i-V$Pz_QXSU!Qli+|b{Y zc-Zu{Ja3;`U#)&0dJMzc6}m(B;ZeNk^tSktWl%>DUj4&uQ)UdxUr&6y+q?T4z0UA8 zHHC)dzhIwDXBWDPI;-*$3S~2`(8Fw#bX6|9LalJ|#fo5!_7=KP+`O@RB=;X@3~7`( zt=?@2>xAZyUA!jD?KaiP2vMbtj?JN~I9|+)W8Gxmr=7En z+1c^y_baaOn9=eS3FyFa27>m7VQ5F8qCAZRoANRq388Q3C}*K4_Qi&VCI@g98)1#I zOD3dcg$)7{wua301SZ+os$yK_DUS4oCF#S`nsp4K4P*#cm@ca!Ywhwt{;Q zGgn#DSErwRxmQ8KC=U-(oy(KwvW)2-T!uKW!R=->?JzTf&sZ%d*Zo2r7|_r zd0j7^U9*-lpNu<_gWX5rKLc|pa-R7Da=Q;Oi8~veInP*;`P)^+ z>*IENH@dpbB%Z<5R?(t%U92_r?jh29$|MsbHr_gOfz|rcsd9KC2xxjVm z)5UOb^Oh{u;@CW1R+~3?G4{^dtFa0eMU&(_-fXWL5igB!L0i_?nMzxd0NTqTg1w|F zs%Qo5TSW{Rby?FdfO4^kML-RbTG4mx6!hQ?VSTIOzut$*tSR+g+Q)!=eNPTq`h(4zW`;VY`AaA!`JaL95C65==05MJV?F@lli zPqHN(_Gq-$ma(-kRjAjhp*&9CglHXSEek0Jcse}2mThGt#njoCTh?O{TD{OfTFsoF=bKRGR?eU$T5tY|= z!y2FHDg%CG5)8uRj;Yz}JoDunbDZaoQ6n!%weJHF@FJqZW202?^#H}{D^wWVXsS>l zRMG-OW(zcucV#T4d&K|T`e34xy1V;p5WU*XRR$k;AsiZX&8@5=<)|enF)H>M+kZhr z1)zus)Se}il9XsR2JAOrPb!an~B^EEVo@k*z=yf(A9vOIi zH{tmKK*|$oMdaOwfJsfI7;!iIX^`)%DAWYubT@l-Tw*qn_sRkb7g$ML;bUb5zvNz3 zSBHjbv&vI$&ADs6Z=PGMg(%ZR5Zu5K(^$2q9nLMBCsMC2Z%229I4ru8KF%l2{mVNI zNjJ?Dy{`w6hAWy=svw6_=h%D@3BR^f^YXY-RQl&9m)Tma0sbf#3VbWdJG;0zxV@cG zdNjnDg&b~*9`jj~A_LBU-tbbIiLz(NKbcgA3&X+e9H#(LBTanfwElbQ^u15Eih+u9 zYIq!)7pBJc7m-^{_#mlm#=PR_#1xKb#$YzLM&H*H5Qr?p9G8SdIyHDQ$8rI4`rLfx zik;aAS@e~_z-z~>M&HtGtvU^qlWwuo&f1`hJiyK_D{>!#_=;32Zn?iOL%8$Wh@D@p1C zYbZ-FQ#qW4$ta*-AMV-p8Ym)1$aYFo0^}GE>h0HJ^>zo$%$MZpfL0OGVJ{Kd(+?OKfmNdb(fPV?N0IAGkI41JJt3+m?+S7u@F>jb9-wHSPSFS4QCHa=xK z^>6~6v+ToN@55W~KnZyDD(qP+Y{R8lcM{+{ea84xcLL}Y8!>FO_A(px-#^|)uj>c~ z>_#r`zOsz|FuW01K;+j%$w?D6;KKpv$k=@ zGcX1I4x%jGdR;}KU;!!Pu(TorSLlT$+x;g zP_H6u^torTTes3+9nk6Kq{<5Pf&`d=n@^?j`g*_}g$>s!vGD;mey!Qz;WTP-(V>sR9a)7toe!o^aKaw)ZLuCO?K^P^&-ESIXeaJCM zio7SE&SpGf-+FKiLSy}`EcIGsOfHuR2|?70#>Mp!Z6+3L`dskcu4NN_6{^cKr}UV) zN>GpPOHvbJvl7AK=Ke|P!~WCC#=lM7+pa^5dM?DmK2H@!LA(lEXt=74V7SD;TD$Ll zX#k1u#vT`dmVi!RR~z_Ps6{2YNAYC_(~07bIM*yy;dpb)0UOkK54K zcl0o3!rq~@yCqwfI=1!<3!=o0N2M11eDgYTt2;Mhk4Z*xbN_c4F-;b8in0n=nPKPS zHDrV@?hBZ`c;L`{2CPtp{b@{&0Zk#`w`u=Bmy8GA|7gaG1HDo=`!K>~M*i;KrjA(% zO`ADx0kYQ3eMB4;WfVlR8WV(n&(USA|Gi%V$NL#Ie4kYO)@GFLw&~3-V*grMqMfYp zj(#i=Sr`OPjVL-(m>=A?m7wR^7-46YDB?=`YqWcfqN(-EbhEQsP2nmJ)JdIjQC0*A z_{7&XZ%O~`z&^blEj8G!qzS!U38`0onQ2aO+8FxdAlPkuCQp!8`2Zg_wy+pLW*7)L zuY?s7S7>dv@bAFdk*(3qnt%eEcby&S2Z0LjCVT@vGO`#e-E1>!;|f{Hf(qYR4Ru!+ zaQ~KsZ;Ep4pzO~j#%Fok=&_yc>PXb`y0Z|Lf*2JUY7G^+XH~DVHb5S7`zi)n1grgN zm%Lefu(nz~)nHFu`F&zzZPO?3qfR1#DG0Dz&SD69P@ga1>I5#Q=war2QkL1n3^tp))2 z)4#Qc0s!}~Z}I>D@Ztgh4$S}n;S2zP&?VWlU;gb|L<NT&DefOg!OHl`Rt}HiVbY~tsqo%NPO&U}YX6iXiKVMX|A0c%e zgKyK(`l#E>mB1%mU^K={D^FKgqF;UCv+S8d7O+c9!_H1ez)|eIB7D*6UALYKqiglM z%t6eEx9hypzFGBS+=xKjyxcRu7Z!e5WhJPUsu0Z5pY{|hBOdr>L$uOjeKIRkFecC2 zGNxQ23|$HIcz9_TPo8Sxr*U?kg}9@7yKsU!@A^$E*~U0#AzlQ|geLDLEzUQs^=Zy^ z)Sw9YpZ7}-S|-^YN26r(ekBjTqC%lTTuo-(C|qm8TZstt^}%it1Z z8`(^hwV>QvZUcFs?}m;?LgVxEYK6w)6lMoK@*F`k6}~kZK5I-XprWgrGGYpL&7Zjk zl%+@e5!{6z|LN1>G_NT#z!G@{TvR2lb;VoE;LdNnpNtc>xd$gb2FX3p&y+3akR*nh zTtKngoBg`ghS(I~hXdAjr<fC1E(`xFL(e znvw1F zSC>G`1h~&Ayqy~ujV6KI+2Sv57MFVh__wFeai(maE5eY&*+OsIpY;MCU>rrl@5nWt zDb_AE)2ye^;b-c9N>g8H5*gT|Taz_;qF-)%tcbQ(M4p1|MNQSYLce?z^QXITq|JPi z3Y@ECZ0LM#$2ILB6M&RC>?k9`S{xJLJ|OMB&PXIZ!d?d|D=oHfI~iA3!67_A_ac|2 zy?nfQFBEaF6MAF6{)IjZ^N3dAgM~X$ZIESDtb{3P|oeb27`JFH(KvuYu~CUSnN;t6~201 z{~{hi-?%hojPZci#{dONU&;2Jin4w1F}HGVt_R7wndSK}X#L)iDdWFs>AzA34h;1|f|#FH02ovo^gUU?GI4`LE5*2~A+T?G^j3}m0Iw6-Q6{i9Z)*QR`C zdZv6i%Rv+*vU?i}>F;tjBLszGV`ymPJlBf#s#Vq zk{>o=Gdx#j!kjxfbPdv#ay+LKF7m{Hm(MVr+qy)phiBLx(fZEjJSGU45u(7{-w^<# z|F;}yHq7b4gCP^e<~|?XIc~QYVNFFa1$F zFzIz%{pqdy5{m^S2}LL;_^S=kY>sP)9tDvvBt<<)MsS=Zm`B~Hr&^#RF?L)6+hj(P znKuMOTmYyF`&aFoK&p75yP3F_j@pm+OX3Tus(H-$-r(=h^T&m%v3bRW{%R!-F-L@{ zsQ!c+EwaIe;;kH-*nTg4%dOpwr7uT`d9Lr0^nNh8EVvs&UG$d#YJ{JMNKcz1VSIep zj!spqS69X`d{hHg>cY|jkN#|p9ZHE88wc9tx(;z(lfj>CZx#Du@gtJ!@igz|2(ghQ zb2t_%6j$(z>t&!&0r4a+x=Amu=ieHQ1?<`4p8Xd7a}s9!q$oKRM+}ii_rU8&()oH@ zJb)P4s`Wo;(CEq0qu%w==SbDEVdr_SLBK01NrD7LQDw~6NJ@rg-}9{L^>xB27*cPi7(U z4o>Wurf{VLN>epcCWmBm95*x_XsHXSww4LG%%SjFvyaHF*j&6esu&qXDBeh zXV7k@-4xTo+LO(j>j<-SX$~K+4MgA}v39z&v0!H>Y(BV(?{U+IuQFO3?F>A0HV%A= zw!=@WEjIhp5W32~^i5l9ZW&+~cS2f@m15s_D=H=Yi6OYmF znhY&PgQ7e;x+N;DVz{}T?3Vc{s5G5Y;wLFIeg8Y3&D@-c!71$Z^GP_Nbe-ZulEN;L z8B5mMD;V)hYy5nhA6+_Iv<<&=%i_phZF-&o(%C};^dkKA@k4^iOhPKoMgX3I0@2YC zy#R0ACvOJ!TU72+?9PkMt%rGfN@%)ZjYb7oxi>e*Jy$R3WbcMnL&X977oS^BBk>FDoJFI7FMrGv-~c4*f?sDBe|f%c z63Q+uE-F7iLoU(6eOQ^R73ViYgS-f!rjLjuq?K45`56?}#SNj$lUR928d&PeADrei z^p3VZN$f+u06#kx#>X?JBO!L|EZtZ$ zSvT_Qork|(>c5;G#wyWU`tIQL=C|N3H%BUNg3*iV@PJWa zs>k(-drEjn3>`TnvROTf^ah&V2-G@*lU^6}F49YEEAB5|`F1tCzL(mn^SAc6nr_FRqlJY)F}4 zR$l5h@x~G%=}HQ&QohnK0Sy&J@VA(H(lFmLhmeZC+wh!Zm5f=Ayl;XvbR= zse0Xh9as$M(iua*LI(L~H*3ogE2L%Yfl3z16;9#K68{ zv`@P?cP_l&w4VSCFf%Bs%IJFEVyUA>0lh#@X7PIxYInwkt3ED=H4*ED3 z{H#*!CiLVwth{f>`(x8WhHs`AmL^#5f7LJVLuk6TQIcb4(}BE@ruJOJV{AO&n7$_| zI7ZzxPjOYW^)NuBm&Mg45V*Y(J3^?Yfyc#;1Ob6ibF)ExdEr~En1OOf(Xg?y)p5ImME0}_P>H3PdYt(j)}Bey*Eyme6F~=LSi{ARs&Xh zCutM0Dt^I`Lgw6a}@?N{g+{zwI;RV0RL~&n?fHf zA0LQMj*5(b!ZWAxRNcFw*d~9|i58xdfFN(EuL#@xNmOQLlTl!nb5u)Rl+DOXq6wN8 z>Zy4V%?ydPCU!a*$3n}VW$2xW>&=ue+EOYkO{lTAv-{IwH6cksZ;h%p@(2QXdD zE9^@<{$A5k0tI5Z(8l}Jy}GUMpQ88$C|z!^R}KkdT@;iX3OKqkAiijjhk4S9YIT~D zV&kFd)_cGDXL!RT}_ldesRdtS+$vU4W*+NP&p7YAw)+F=M~U+FCa0K z(y$t=?p$A46_qL-Oexq(z_W=xIw?2Bf62=69$`0viQSHtFJ=zDK5hmyKaJJ)@M07v z9l(QsI~#iT@#qoI>jE<%Ob)ci2XG(pLDqEC8T-`QBBTCy(Frsk*?`^sS~t3X4OF_R;xF& z9#5FlCD8c<@>IhPmI_+h2BFr6C#9! zdN!&HJCu8Kfwtx(BuU?*OQnW*kt46DboP~swPmFdoxQkY5+u6c9~3IkSWFq?_TxGj z#hD%6wsz1tAZGOgy}WPs&I1byj&$3%$R&R7j^Un;=QgCnWpTD)@nq8d_F$YUEe*fV zci1b!)f1s?3+4pxx)U_=QH4n=L)@uJi9T0fD$UNCe`JXGAdP%;lkn5cQ9vbqoHj2` zXLQHyuX=uupIaY<;41U{PIWVJ5KYyD)(Szt6ETb}x1P~eEIQRJOKQkx!VJ8*ID?R0 zGNyE>V{S}+9=_P$?hc^ryT3pubE2>8#!dr~SbTHiws?vlS1;PQK+ zCgeN*L00bP8}T22oq$%wqbfFgdjNyRe)IvS9i+5mrKj5|)!L?OSCzTfD$Um;u)WR8 ze+7=+g@^uFOjE%Yb)%;VVDR(0{FnQQ$NNoz)19@~NA5iTrr5eTwVHJ<;qQB1W$Z;Q zEb4kD7{Anh$y#7jMQx&(QuU$to=H-hRg~&Ism7DHxw_e%<ZjY~PG zifu1+-Ma*d7(AUt238k*we#>Wsr!BF&k2E4E&7cdJk2n!4ussuW4&X3f8VBN`bzZ4 z=j!6hgIx5|m~hGanuj+Fv)&G=1q);K=3(pZN`cd?e{&!>srW7bQ|`wJH~uPJqe$&y zNvM*l!jZ7G(JbCU=?Nc?3yGc=fAqsaqI-!$Eu3l_Q5=_I>Bn7)od1`C!4j!mAyKK# z%pvB2plpw2_^9$Jnay6=;v-_-H(cm^4*DTs(2FN0tsjyYK>%Gn_*w1_+zoy@50!?< zkf44MeD;)O=q2Qfe*^iB7rD7_^BluVN!)F$-}wF%y5T3TA<-Vnz7#P3vm$nnA68Q2 z7_~9=WCb02eOI!s(CMFN%YW;>;O8jh_-sKiQCn2NAWuWUkQOKT3Dkwxk+|poCm~kH zn>mf_*dkN4R8iO@U-!b5jB?|FlSnIvgfAyh6!~;p`Lme>0F4y)_!ROd;q!nOA{&{-W>J(;P|dB(=vQ2oQd;1US0D}U=`Nh2 zo&m%|O(L7@aZhX^)h;bN-=VFRmI5*EeteQLYB`<$OT?p&)waE*>ijN8)-Eun1!F8F z5u&#&?$E)ak+0OwrP@a86W>Yo+^AzsVKaw1$Sbu{Hp;NC59sNsMjh72+?qPV5iXtS zEb?%0qK1?Oce93ADo--_>}LwhVAo-Klw$w-O|;GWTiymumi=yZM8wGQ%gbYtN;?1J z!BzGf)-)9!KUb`Prz;|eCBfx|%G)c2D}}33tO@l*)bM6m?~M6fa%k2(%5FX!4I6um zC5-^CVF8r1ulEqy?CiCTxP(<2v08mvNToK+R!rOpw~;HB_LP|M z_7r<4as^lNFofY>ZBY8s%vP%R2~CT?SHo|YwNJ7YSJ1y+iIi(3l@-@cCGcdrPXNHcNqQR~vzM-u>;!@*NUx_WpW`^EaUm*c$9;`_B=EjFr>oF~bl?tCv zOPM>_$F4GA+8DRQWmbOi=KiM1x%T_Qu?t-4(TBUtQGp&-gO^cCqB~amC740pZ&Am9 zComLQj8;xt3(W++A~iadz22~|{pBIFo+5G-Eehg>=ye3;30woMY&<+vF{MxFX&aG{ z*dg&{culVRC)XKgnurmDA9V?{n=mbur7YFrvJROJR8gR~xEx!&n;Ix&@k>bG3${k6 z7Ay}*K$iU4LtHI+agcyh6C2AS+fwbEsX4h@gHEHf$45%cF-Q=n_V*wO$v zPW1IO+mV|dix@%6lY366Ca?bxQU2X_iYzG!vYwun$7b}WF^s)&xHKlvt=sMoqw4Aq{uUccp06z>*$RZS)BnsT*Ik z*e$qcJlC)S@7|;}OiyQKYwt3hg*v%~B7;JKAMHKSn8-0H>y$CM)DJw5Qy2k7#+?*( zbOa-wwJA;=`on-z7^iA+6&l2MGgn?F6gS}L6Z5hk!GXaj! zGZ{P0{-SNevV*b&PD!2ydO8<&TkxCF?P5K@mVTvg7qxW5QHusR`TYSIo8s7iE$q9EbOAkMYPu@=aFVrBx}AujxFp&fDC{N=q_#7q*!*AmU`I?jMjmme;fa5wlG{VA<1p5zC%=i*c3z7{b2(>@ZSTo}cn&4z02&-MHb|l5I9B8DQ zh7n)@t?RTnfFb#l++gi2+WT%UozSnU#9`%H(nAqTF0b*w-HKvN{OHGF;NNSv!mZv( zYk#n92S4OEFMTkAbeUTQhr|2{Z%$W;lA`vk8(j3Ibq`wfiL1B*%tS(x+GJ=frj1B@ zc|%CVJCg?u+-;f-x`+@IG;7-A73I7}EvnWnM8uKnik~KBG#<#wS6*~9sAKzky~QHq z;p9&{A&0mcbkobmEM7hkRxy|8QUn^lkyL;(f{~e93F6Oo`T@Iv3f{ze(=0=lArbKe z&QKC~{41h9_RtPb6na^7<{z|WIqrl>QH0>RA7>wC@}qi(w4D=MG7=o0{l1nJCDCwz+quw8UTGb6V4OoCRW4c46~IBmYeug z;xYdj7I2BKot>;&u3|s=RT*9ia!Gk&B+;nQpF99_dS)zv*uKk(FxBrbav#vi#7F>C z)02`_CDy7l*A&RQg*VdHD3O*vcJSgD%kXVmC7qzE^`F%O3Jd4AJ`2gZ=HWH6dWFYSa*_J z|3s;YVT|kvSi)-hN2O-;0Cc1Z=H(C( z@ul5W_Tc#$Od64waGKcsS*MEa7ijH#nB(m407>{@YWKmSrT`nV@6=`{*?!Qv!oBt( zy272QnRQD&!6CZxpTVy$=|o{-`T4QdbD9)N>`fXwV%J~U>kT%sE*Q8H*NO3VRnm12 zMAzc|k=|79uOARBt@#QY+?k(W`!qxb!-U}I{r*|9>E^^w1966=tQCn(X2sFDy zm_=|UIOEGdrwY7}`D^=(_ow*cUT33&_kdDi7+jHjKp1XLpMyKSSp8Md>Jq_M`(^;Y+m*NI(PDm;Z%>b~ zkF*KE_{nn13IFAN<>%e>e{huWr-(Ih4yNl~{po`MK%x^#|24udB@f_7U1Dq;0k1-N zF2U((zQZ1dqzdzG<#W5KbhesUY&2pjdKSp*w>sZ*rPW-YO+6f$hCH~4H?PiDFy+QiE9-dKb1l4L{kieM`)dNlk+k0cwC$c-#pI1SC&u1f@HEIEup2w`(5a3NV zBUh3To!#A#a7aC8=+ARsEtGEkZ^*=rP~FDhqo(1cB*)%8h>QL8wE_}6faupRB0fIi zF)n$y%1r{5tdz%2E&&-@V~oHYLfaM!v_P~w@v}ohw-VGlop^=}`Drz%oi(de>qQ_Yho=dhaLC*T)|T@v7e;71`9`oU0m3HT1=#?C& z&^!W_I)L8#<5c3PIB9Un0rJjH2JfdKipvb%r^|L7=kXb3x!zY?l2>s&zIVqBC8hR{ zR7Ck^`y`h~TQjDAuzg(zvVUW}|5Ex-t?w&oFePsJV>+&63)&seF860&Y4&TSl#mmR zxKyujnmt6lJ_HTj*_SJ#;8d(BKAIN!pw)s-poV0uY~H`@>`rGklbGX^{*L=y8QQqo z_wZ3}UN%|JcHN?6gSd@z{l5OtR6>HU8gPDQ6lY9lVj=63jhJ-vowr!W&z$(5ke$NQ zqg%rI<&GSZw1Hf^G}c{Vme!ONc;;$F`+uJkiz+50r>W#Zu!(fObLeJi!sMlK;Fhb(Sy=RBi0!M|j675+9|hac$*0^H(+ zdAy<;j>L|5#sMH36F@-vFWHaNcs6W%Q$qXiP@x8RVp7Yq%=b99ZDv*jLI z8EUKN@N<-jYhQAGR&xuB;EO6y_R1v0tQvjgng9SE61kacbKbEOWi2K@SsBEEuc&g* z5>ihU`?RjNpE27YU07u6T^;QJek`KYpnD7CS zMdSQ+7ei!*DufId9#&NE>F5>Wr~X!X#w8 zeU{yP99aA%fLU$wLsvX8fGFxU1{nNVFMMt}X9nGpQWB<^n zlmm(5E+-_MpqDWiF;zjA*~Cv9n4lk(l}g`7_EJquNk>x!{XUAtW+fk!qegI1GM6W0 z8hc2wzPjH_Cz#^lxokT_Afn%Q?#C}0H?Z?`i_3Ih;&3I3?dd$@SBm)I!%>2QivCSs z!0`z$7DPm%fS!*8p(Z|8Jd&O#M!FSYbIWc06E=h_6Cw;cuEPryWwlOLN-D`Op3%pw zf~po|KNc;XjsgfSI~uYT*M1|A4fa+00+7GIsUZlm2Mm+)6ANvQRfUb>H_8emMHoZh@}3{1a~F_FRR2u=2-aX#L6c-&;a- zn|HCkE7Shpf0w?25Omv-+S!S1J=Pz8cK(*MIapU}w@?uiUEaOOe9T)g$9J&kfH&hl7He)u;}b#P`C1r0Il+qm7+*20 z6;qF8r>eA6?Tsd{zL0Z{k6qR17JAcf6Iq#s?#s5 z>g?Vi0i9qN;E6tJtURmYf8t+jYel67qtr?_59~J1Y{Up!wJ|Uyh+8g{pCTy- z0xpIP!Vqhj;J5R9Ln5G^d0CFN*2f7VHy<%D#HQWG@jIftFbVD7fbVKXezmwfRP!r} z!8w);ly~(q%ckS5CcN>VkrZ$cU$n8JE0JPs8gj!J#aT?Vg*rg?Re&C@82fI%xljda z7@cgObS7JbY0u7XF#PqagnUg4YLfaEWpQRu!y7qwywXaYNw>JFZr&Sl@)~$KM!zFi z>m_D>lR)rsKEn(Q%4yNf$OSdq>j+>XNJk9J?ft%3_|2ZrZ(dkj?9;cym}q^!a)}U= zkVDn6r6Nx*HJ%%Hg|HOX z3I_!Zi`KN4r`ahEa-hBZEE)olUZ7h&Dc8wsE}ERt5gV*432}4FD#{I?4-=TUTL-yU zR#aGmI5>lhcHKwPj;cvm z1@T6@7yK_tH?2@PKt(rFuP?sy>#rRZxt-1BY2PZQ>LyT%!Ioch*cn;8l%;{Y$kW!8 zt?nNr3$~LuTG03Y#u1Pyf9660^fKAi&1+meJai_>$oSYthb3Z#iJzk^zrMg|EmjiC zWr`|Y{(Rj8-BP24*Dp+-DcCQSv8=fqX{1k18m@jXEa4wGeIW~?S*mhXGJfXeZ4sc1VU#%8*U3ur`l z!P;JVn6g`MZEDcl3o7s!hoi7RK_$OA)1q4|&mEGwf zpl0A>y>&f3<*Vdc#gTYR-kT#NESRKyGeM=H{W)=UAl}+?ibj_qbagu9jj>W#bf@$~ zQrHdfSNt3#R>3nt7j(PQt}i1~%aT6vwhFx8RzXE{oj({~<}ElKOhd}tEEpg`3L>?i zKaO$c4P9j0qQ&ikjHwSM(iRp?&5k7VK$*Z2Wuf#^`&qi)G$G0SPx=exKOV`3w_o|P zvc4oe-mH{-)W_WTS-Zf$`)M`gwhKP8Z4g#&4glQN4I-ClhaDdIEj2kW39JP+)EeJ9 z4PM80Xk}YhGcS_jz7a@mPPO?AUoOs7c4v(6cY^Xpr@7a)UEc=`I`QA^%=76|Sq9u` z7uai(W7b)K@oR-j!-IUGC`<_1B7>UBnKq&?VG>+tG7Z($PBoth@mkw<`Fs<_W6I-# zMYP>y1@;*KRY@5V{0l)y+U&&)lG}DSD8d_A(l&m{>KE;Bj#?9coW^~K{@IOR#y6vj zU*a)IZ+df}v~*0|G@QB|UGFqAXx!N7o z-_#GS5!1K_yKI7BMXy+1=TH51!6<56qH$UVk@LSN1V~9=snEjp{$A?G?S^K8%Gg}; zizF24o;ES0b)bS?ZWzDnkXL9q$b04TPKN8t-1|s1iH!=lJE_P07#r*UFiTl_Sy^Pr zb*$IhD3J$5qB^Z*!!bMZnFRe?Xs}Jm9MM{A_4&sY3@(1{%JMqG%0&Mh^cuA=d*$mhEp05=YdE!`2gKRS=&ZsKKz~n$1^~qmm z##K~^{bv0k1QhDWAzV#9GpQv_L<8wGyMBF2#5QWVQZ$`jD1rl^PDp56@j$wpFV(F$ z1Z?>EoOMd3g_NTzSGBUk<55tpAw92!2%aXEYK}1xR#AKY^-d=fI_1ULTiCIDXbysw zdbF`wIG$H~OwA#7LuP)T@FQxHqKtG7@%hLMetO%JV~Q^g8m>ysT>oizUV43VC?9VD z4KKUAU68Mv*HE47)m!c7@4wftZ^RvDX9J~q#*7#6MVmnxm4;Cgd=82;yt{L<=V9AZ zCPki!2s=>o5wq(M5)NT|in3~_{0d=UHJ4soVqmEKB|0AlYE$eP{gDBJ^T@Q+X|Cfx~ECQ zTS5Nk;*#x1eTTbT0VmRZSsqP2Sd13(Top&=F$z^CC3-l$Aw4UtK=jmw#7G<%9W z8btmQu^xEb(Oya3J3X+P|QoHr}$MgI+IkTOP<+QXf*4wI_Q2!cO~ z!Nh!s({n^2Emn5!VI%09j&|G16!eU)NL%K(?e4zTyiTL@hbMEOryd^Yu0xGo^y!)&D_(a8yl=a;O`0;jK3=^U-~PJwszLe00~biXykzqj zigi{3|J-W?{zQbgEQ$7&RHF$iMPLMz4GnN%=R1!qdqX{2V%g4SLuPa&WN{ z=Rg1ZMErbc5Y5YJGi!4buIqqOO0-`nOdlG#Rzgo-p2Du6486EIqc>185^IC?KOy(= z(Nw<0cyH<4sV*uES?y)iAJOja(16>)(Z2aqxM+6j+)axq2mUA68veKOEsMBoH|ip3 zh!Fg6Ig0l5RPG1mUm;1XJYTxEI#NZOoin6MPF>w}lI`q(>NdpPnUOkp=uIb661w?s ztVjK(_*)PKuPBJ)d=Cw6un@C_5S|rLZg_fINW4D%cyhXFucWy*y_>AKvxb!F+DYrh z){nTHE_R)25gIti(lQi$i?$}oh@i+(uR)Txgk_ACwjZDzm@Z~z-HoH{W||{DNCUYn z8l1E+DrBQxxJl_{L2l3*ruET?>l`n1Gd5$zXVO(Oj1|wBv}rF#&-K~~`!aExi=ig! zH@dOP@SIwWdmd5{Fki4g+$BRL*zH+)<=B;g%_!IgXUJEZRhhw8aN~ucO6$sM3zVuj z#zo229b}b33Xgic4>^^^f5iV&M)CzqNXIxA~QA`l$hIIiib{lqOu^G$c#unDyxV#_AaeMq?X( zi-y5e0!^vHa`^kOF`P^_E6H@$j7VvPC=7AYPL!*Q^CYBcC1s5Qh515qa zN=*yHfVF$|v){VHADDl+4$&uLWUNf(%&{$`fuh=qm(PX;pG zM2r4b5By6`u_hjOjJY_G^+VcDIfTEWXKj}g%ix&`>e?ky%{1Qsi-rPZX@CWj~>3#*dH==jJppkjw`XL z>`7na9DTA)*Nl%0iCq%2O@aL?q=SOXRdd9Q73)71G^am zy)ba1>3WmsXsu&G{cJJ$cb1-2VdOvt>CTjlCj~{mDR&!U5^S{8vm}f94k|~-?U}7& zy&0o!y=gjw9UZm++(l{3NZWYC3=_9tQWtdf?8Xz*cXCTj2L}gIP_MJ#TmW=oA_$tDVargjjW>>P{&+D?xJ26Q~*nf9`Ns5{c=@Wa*1hI-GM2hLi zk?55y99i$kOc7T^tsyxl-1@Ey3)yIYdptuG)o^>FHq19!$-gFab@g`j7FJ2)>88fT z@z5l1(_S9jI4(4{!>`>^69h1LPRXt5O_jSQc8LdPX0$7Kcl&i|1gDx4=^7ZMDAFNE z_M&5Arl=!Hk&jH;mnWF%zZ2h5_@lalJ#ZoQm|1Gy$Z0GKG9g!1;>CNA9shZ;8uLXn ztw>$9H$NyJl6QJ4`Rgr?%2SfIN`3ag2;3r7c%m6^k<{#JB4N6ws+$kmY@x*Na7jo= zNS@fMsHtH{Q{E8#(B!;@GTcG9pi-V{;cNFzQBamG!y=+e^z>0Yg8L(pHb*)adgyAm zR751J$F59)c~*81`;SVh^lW?;q1LA03d28|?ia&}+DupLk0aQHpOK~N42yMH3Xc4( z?PgSX21F-lQ-(E}@LbD^J)M^Z>Z_>4j{V}|;F0M3$z3tOgn(GB;n<**V%qi(d-<;91Z0Q*RnsW=-qmi zQO80%!f2m$x|ArzR!!?Eb+#CqnUo6dV6~C@Jn(jDi!XoskLbl!!*(o>X!zkFEJ?jH zoo8G#F0O0d(9CCFm=0%hm13Ue@#ZV6_l;#^O?SF+46ab5Gds|R{597FSVQRzn7+jg z)~UjqK=QWTj0p#Gxk0Kkl2D&Q`G$-Y7#Gd`+J5a z5X+AH(xhEhol}A@oir~AwbMtU2<+4VN0O5IP=QNX4wJ~rN-@C?fyb5#b2#KHe_s5F zAPucn!$*oG;8^PgyG36?n8unkb#_+PUU_X$@b!^~*~wxNcsPNB6tG_H68@dwF7Y+k zpi@}Rb}#elDksLdmVxYZh&{t(BbKt>g(&X#uTsE!ro9{w_9Vrxr3|DcbPeTGmpkkG zi|?qo-j4IaIg$R|A?xkEHCws`5R7~;vHOxxkQ%=C6-(E>m8vA7W-nSc0_z=Wc+uyF zM0Jd_GS^Y=$z`%-pB1yeI<9?t#SBq{@B4j_5t* z3_Y#PJ*|Z;-L2mQ0LTU8W9I_0a|!4Id4#!zgn9T_xwwS6xI89Fv;Uidvx}9zjo<%P z;Qqe~lI6ulZwgHRzXwlyXKN2nb7$B8p#$U==H>oBolrAIBfaSWl;qT9YoyIW{tI4Y BxoiLc literal 0 HcmV?d00001 diff --git a/assets/creeps/cloaker/3.png b/assets/creeps/cloaker/3.png new file mode 100644 index 0000000000000000000000000000000000000000..779efea0d6fe4f90cd1be1caebc4580dd582fb44 GIT binary patch literal 13736 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 z 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 literal 0 HcmV?d00001 diff --git a/assets/creeps/cloaker/6.png b/assets/creeps/cloaker/6.png new file mode 100644 index 0000000000000000000000000000000000000000..da52a207131c45a8e7d9ac57885bc9e362037710 GIT binary patch literal 13806 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 YSpTOCDRm^wmkdBg;=6dYm_gA00OlQw1ONa4 literal 0 HcmV?d00001 diff --git a/assets/creeps/cloaker/9.png b/assets/creeps/cloaker/9.png new file mode 100644 index 0000000000000000000000000000000000000000..4ac869089c648ed60388d4feac811d5c265784e9 GIT binary patch literal 13732 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 KC2Pe^LjDgmAleZC literal 0 HcmV?d00001 diff --git a/assets/creeps/demon/0.png b/assets/creeps/demon/0.png new file mode 100644 index 0000000000000000000000000000000000000000..49811867fa54804bb8674f8b7dbe9bd315a29309 GIT binary patch literal 14564 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 iS2q)Tr~e=GjgN!vzc8rNi5XuQfUKmF1W?R42pp literal 0 HcmV?d00001 diff --git a/assets/creeps/demon/1.png b/assets/creeps/demon/1.png new file mode 100644 index 0000000000000000000000000000000000000000..c082f4d191a225893751ab33d096a00b53b94da3 GIT binary patch literal 13750 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 VHwJwwHTx3-kdsoDtQI#7{VxH>BT4`O literal 0 HcmV?d00001 diff --git a/assets/creeps/demon/3.png b/assets/creeps/demon/3.png new file mode 100644 index 0000000000000000000000000000000000000000..22e9cc8db57cc6cd434ebaff812353c4668a3d52 GIT binary patch literal 12583 zcmbVzbxa&i^ye<_PH}g4cXugHDJ(9<9f~b1(&7|%cQ4lB?pB=Q#dUF)r3L_erF-W? z0Dypv00I0bC zbs!)ki}0O^=%J)0hj<8sNPy1_g<``2034S}vQj!ee^0Z0vq(MD-!?q21JtGhrgkQ2 z(@EnYSV*DTNxSlJItG##lCIdU`c_g>Ca(r^k_+&7aM)NtObh~EDxi>zG>%(>{p5JS z_4xIgvF^qO#l~5Bj^&T;vv69=oW)8LF>T}bGPN(%Ii<^~zRmmp({i!2Fj7&O-cFsl zbn&%ym5zkBrUJdPL=6fm3-F*8YUl z2w^iAF{5TpT@&?VXrT8T%w~KhxV!&*5jrdzVO7-W(ggz#d9F1Fd*^XwcD8`H=LBED zRenTx9NW|D-9_Nj%5~sv11$;3cL83?(7gLzR53_Qj4y^9lV0yuuMg`U7QfMSNd<<= zM=fgNQ(fblvVR`86~4YNXB8EiciI|sytM>=zCz7*vxHw?eIuP)zn_UfMa#Mt{iehi zp2Aku6AQsAM=H!=|yJc70-{i=J<)~+|LP)Se0)~rN^TnqWa%F{#! ziNAulp!oH@M#_ zDj9tbsJs>zwASZ}!aHyIuzHDqy}cG{+{}r+3hHWzBZCVI{;@=s6myT`FhY5vM#*#V~C zS49f)mK*{y7N2aYi*{1Kvl*?svl&R5PY}bTf+ja3K4*MA>&m@mYspj3QT-PqP&bvv zHG6W>K0-{~YCssS;wo%(ZP<_kL_g%S#~=b=j43cByaA+DeIJWC$ReJStnc zlL!jq-J`F3PW>t6Uj z&dR<$F21O|(52?_3Rp0q@ON#L>g$>0IDKjT*#9rFs23Q@$u`T2*+l=k#3y-C-SWfW zH_qDr6~@apg$4-(lFK|9Q3?&))`-~G>%I#_T4~m=p&o$-@kEV0wQ_A|X>}VyH9RcWk;t?35kPPgu^!m6zsI+ zFnC~q&0C;arRrita?6fRt3Jbkyns~@p>b2Bjyn%^dOPRZ$`f1YbnS1fNg>oTe?Vst zOQUx*sYEHc(+m0Yxx7I$Tu3llpW4WE6~2BvGib5f39$vWJ@EWt=S_YP&k~3eBOQeF z_(+u=GDb6R}6&>^7 z3TF{$=WvgvE^75|qs4M))p?N@zQP9D!BS%%pet!6?era@njShJg_+s3&5@^-DD-ca z7KsR>T#t^n)K$qIE!$iK-nE4WJ{j?*Ms0)qKiUPH_Y@xv4uaD1r&EDgwd)%71ru6QFjxiJdx2CT-nQD*%>GNOt)#wNaJH9{nxzP>|BVK`w;}FB9 z^GcGfKdGCOrFjh$p=L|tot?F%{LUDEZKgUu%2JaRRHM&3DR>GhgV>lKD~K?HbZHai zDp1DML!p60>Qz81k@g1iR)mH@eWHG7+z6_m$926OmB_6g4re z!{lp}DIeRmDe7}BWxz{;1W|-S{+!4>5_NFofE86U(A41D5KQ7ea`3VNnzKmz7^sLVT9ITRH@sa`lQ>oKWbmM4xwe)=;`CI$kexi>g> z%313%+2SAA$3hm^msXLI;m>C)P2HA}kg_m(c2m1^bAoF@h$guIpi=+X>ZH>*U>a}w zZYNKS_2Ipq)Opb_UZ50O0Do5cy#2Gb@6O91)p@4%$;xUY0nlFeqQ7@OQfM%Cn*KN$ z)Qy<(4MBTQ_b$5PgnB}!7%-Ke!>!m@$eNf|VUgN5x?Q^QG=z;8{?8ubf~{0d*j40M zhNZd*8Dou`5U&G5QUpn~xYFcHwYz9;s->9UU{m=95>UhOO8) zM0hz$bDH=@YEyLJ-nwd|>S5W%$MoE*mJL{S1$sft(;X%$>1=0|`S246pRhT|DM(?ZuWWI!mrKc)NI(My7|9Po={hUjc`f%8Y_F-NRydp%s zm9m71#hn{NzZp|~`IyQU7KTcvIg3tImqF7RB~34EC#fyqa2g*=3GnixnJw|;aixyP zzz_zsQusv=FI4xh{QdB$d~WXK)xIV~BS2W8cxBl7?2hU8#johSVlB6FYr?05z*~d? zQ@9M_ykgXLr?O0>rd_OS$Siy6cfX3)Rrhe}=>>-D1@|{(2X?!CIokav?hJ{X(3tAF z29>|B;W^`6kud7}^f`gT%JgFXjE8xTfMgaute1zWKbM!QupI3!)rzHSfQI9(R%dX< zE+;D1AJQkGLF*PNQqC~TklqOWml9wH><=zri)`l@d#W!!e7v#^j%@bydP57pq-2mm z#g$SMk;Vp0r9ff5TTL+y98^GN3Tvk=uiQK7rKN6py=M#D*{Q(~kOn;9FAX-1uwn?dhRiLDYiR@rBel2Twj%6Y zl)xKfGkWwkPiE0o&HheL=OOtvw1p@kxC0Qh6_=dwT*NkNOX)1l$*__yEVZ22*yo7o z{YR?QRCEnxnYKuuam8I&AIYgd31p>OJPm;OtnW(m9+&t!sTm98BqS<$^Mw07O8seIW?Ko){qn0&ytyZhM<7E3*`E} zPr6SIACeSHqk!}pp;K96pSY`$zRfLFfRG5$#*}kDnn+kcrxd&fUv?9oJMx}REW!Y(uoaQCKi#us;}3TxO$?FoqEx_T%y0plu96=$&oGDNYhh#u9pF}7&a_-e z;?IbFpV`8M|GR`X0w<^xi8mL_w2jn9(pO&iQ3*OV7~urgkuW8mN8q}X{Gi3BXKf!z zW0~GH3Dj=02%af8x#Ta}vOSSMHw3#vs+K+`sApVKT>&si3jN_i$6uSghLdWoluL-| z8B5^8N`?Um8*F@`cBf=$ZU>r95suE%jX>s0%7X+9kZ_^cC&YXK6kl~BuGMt-$dYuQ zj-X9}u7s^TiMNMDdzeoq{s{&$u-2?zRh$zr;3H*kZSJ`e6l1VIpcMCL#v`?Y+8v zhkBlw3KJ##goA$LE4DK8$qg3#5kqozjJOm%yygol+GD%{s|DY*MHGXukeLLU zc6U+SJkKwQeIEG^Cgvy`Z}Ar>Z8BhHHE>j>DO-ch+kmp^6|YQ z!i(P=i(4Nt3(Al>UvK)t9}v+2hm-2yJkDs8_@3O>*73}g#usH#?bE)cil8pDHHV2@ zlDRxf(a7jgIivh0?5|&o^=p}bc3*jqZQV?0NjJ=iFp>%8+HVMfKda?c(r^X3HA3v9 ziZMgH3|-6#&%G=L9~ut1A|uamoIB>L0p>4{8sdQHd@4L+4xE%^%uO#DE2~L?$b@*P zg4T=SpokP3fGw>@M=`}X>~DUt+6Ui|#^cHbmE^8AZ|E_ajp(Zxz<_2(eB4srp}iy; z!J(#P8UPy9SYApnd}3jSy9_MM348?g-=2O8L*1ej$R#HS5E4py3SWiVwF25r7#ZWC zOkQ@Sa#b?*#}fjxk#^)>;}W(2toN4-dlO*z z{rJLiU5A@_1=X4Z>j|r3-Dt6SNA{JKCCpB~epxf<*<##%N=zAm6=xCr!?T(UqfUe{`9Wr^ z3Qo&U0p`x_vOO5qt|Y_$|h8=4{9)BZDGMnldio1K>oHW#;o|(6U?3;amNdvfWV$Ph+KH zAq0t(=<_%J`?UeR>eqNtbF&mPlSW%Tko=XUYVG0=Z}M-O*NwkMH#W5_=_!HW-gW4J zR-JifG$RH*_hd;0`3It|mp@X-a7-A887tM6i*4vJ=a3-Cf*Mh>a|~F@HTVX=i(X&y07fN%D8)F$)2P!M6IC zpE(I?M3@v{55E5R_YZGiK!E_@z)ry5B~d+W5{L#%?u*0T24mun_EkW-k!5x%9eMr0 zDi43O>re4t{jr@5YfJ;jna>^`Qbui-vf7BxL(r|%px~UIxWMcT6!jJIiXe&`FjD%4 z#;F-X(zw?p-u>Q)7B1S*D}FI*gash;lyMdSR;2wJY$YUsa`vhd#LkI^ zi%_sRO`C`>Zw`x#!ad*hTP{CipKJA)qdIbd!`K-&-*QeDZ@c+0guh4<%k$b#~uO+&?!*UUk79tx4hII{0oWR~X$? zR6M$IazL7{W}hR&XQ^JrtG+G?X$wEZMG(ra>$e-J5!G{>fAG|75D{wle5r#2u;yOLk$f*}AY zjyZiR<$k;}rcm6HzJd|XVx92sE#8VQC(D8v$FzU>?B4te&o2>$jy6sMCte?q$wsNj zVLTOi!7GQdp2FLZ$eCP{CtrtS7E6N1u8rHj=dUU3zit*?PJg?+DotZU0uig$(Y(cg znVEyHIUomPB@O>?@bL45DI;wi6VLTG0o3xB;Kg4qI7#rk%6T;~^dD5PtTJV_?1=7{ zK`GOCnp+TV3DGtnzYRmC?I*O_yQ%Va(H=8#gtI(A9wk<{wzh>_Du;$mTRs^-5*^KI z+v@|D1P@_wt^}R)89akZa?l&dl4r29On_*&)3G++%DT&t!fi=f7nmh(WX)8n-@T(1 z-Z#C>{nNaQ7qd?sU=bRIU&fN4(lxYb`S=Q4J@Zr!crl_)bXoWPMqnb?stV@!<5zL& zTGPZUmS}Tc&|yS7dvm9gDq~6>Yj;tN^=}A5`j#Q>Z@ahew>3kji4(7yW57x#JR5Q= z{u^0E*h_A`gC_7dhJ_s93+iSu+qryS-L;Xj$-2dY`xN>;=qvJZhJCC!I@amoR-jxx zDLlLkBln!1Hq-ut*z?I!Zn_Ej#w#gn8eL)OViscVCpaiHL_nY?+}N!I^ccitP+fu~ z?kzfA@#9UOz&b?ugU5B>f_2$R=l)IAn2@S9i~blTL3?s{mmYdu~r4mq5ns4^$~q(8Lf7AT<%(MGwH$Q)QZ!YYbP1ZhLG@q zXdiSGHo%i-188pQ4$nT9s!W>8UkZjuW}plJ4FrkQbC^2(`$DBD@O%_nVw2(X`3tde z$`eNO>;DcNE7NJ7eP&M$x^z0SE3P{aJdP3Afts}49>9VBrO1fQRtTT8+=W?+y}-8g z2EFL7CJXP<)h?c^>b>D5-N<}D^`rqY;o0s6~g5jdct=cC^XUkPA-(h7VJ;INcQxLvv~tnWOZ!2awb*9*U*w zYgtG6MlhV*rzy+tUZh0>B%`A_Y-JYn_1kM&!X$q>C|)&4RuB=+6X>-q<=DRAs7fZ2 z7I=YQ|1$b85pIV2@<*r@RKi zTIDTZdFDlGX!!Tfas7DpjUDq}Hu$1B7V9s!(glaWaocMTuM@#=+v_HpkSEgqbxFTK zasI9@h51G*un(H>S3v391T~ZUb0jQYoF&+_NKdm~g}#y*Z$A#r$2>Y@{PXvzg|kW& zzllep$}`Oopfoc&v_(=7w`&}Je4IPY2wtNd)w`P1Rh$9N+U?T~!Nt;Lx1t{*X;n$b zi{jQ>53D3J7G-kkq7BoiQ#}9ImD}+cHOL=YmS8*r#^x+fFJ-+~MslI?-xYW$u!VGY zebL{=OuK+T8S-p2O-Q7}12doG!HE;cQ;cC@eCI>x=g>DckwBpGs_yexdoGtyExC%N zum+x-SQfFwyAOUfP@+lyGxq$+?FsdF%;vqhw_;20>OYk3uZ6_YE4zMY)Mbp5Xd#3$ zR?v~@0Isi9?Ee(e_<2X!aK=<`Y?A}w%==TzI3nblxaXc~r=%FQ`;VqYKa1WNjkAd- zoEh+NSs?L>#ZI+kUS7Ha$^_Pj2d4ribvyzr^r-nA!!>htpkJ_U@qg00OzCkXOwIxO z@0^fc>H^@NNQh|Q8gGXaI37%dZnm?HXPyv8{4-HdzwEd{|IE)E9*^BKdrb@|C8xS5 z&p%ubwi(Peef|Py3n1Cu%`B@XLj>2G!#5XD>vRQW7uX?#jbrMrU?pLz4cH&%y2-UN z9*hWyf;NK$>AkAT&3+H<`B~wVi6YsPUtrWM8>Vd|KOx|ddnZ*M`&U+ zQpdnSZQ4j3!AfR&e)Sf1G{vUEF_zdkl@!&!*YXm}SzdHASn=+7)UMnfmjWKNDoc?WP^$B~)dP4?7QDS$7PoOJ>?P&?xp=NYhOJgZsD*H!tnb%FQ zw*2*%%U!rBL=Z%xh6EV^^l_Bh!^_F=_^)izjrKzdEOL7Ybsf zOkEwKjD&0QFfimXxhd%r$FFzDKqef|$BBK+AP#%u#i9zxJg6z$EeDp?1QVryjrtJt z(VqiX#HtQoMM{zpGOKe#Lf%Zbdi@N$#O0}hizcXVeGF0L_yERVFJ4KS-_~b4LR!3c(VRx(jqZ4aoW&nd8EH2rY z!JRV3fHT=TY2Yy3pOiA^`gN&%f7=qLxEJIA0Gu29bD^PWy1v{T)o=tHek!bmVk9W< zT5aU=0@;NTCrwazzH}op!p=xVGwi0dD1KHB@Nz4QRDBinNN4jnnkgB;nVvzlC)sMk z-1!vb{jGz1dUxSv4#8R*RF@!u=P>8q3dl(kCmSr}aW=%=bRzjyxIHPN&)?CQ6Krb`G4a-PH$( zsAhkaea{OK74tt>_Zw+oo%_j+lgVFP?eiQH*3scylPOR;iWc_4pnl0bL2(XswhB8O zyZ@&slG)hjTISsL5=z#w-k;%DL_j}mtMw5$vf>?)F(koAWZ_7rD;=%F%0Zi}+0+9w zxiOGW>6KM;#5!4uk8zXsR`y`@GhLEjX*`sb+KLXT6p@ybcc`vGaBfZJuc}?BG{}17 zhlKmGRolb*-Da%FAYZpaal3OMuKO(gTm`chv_qky7~b6_esf;}s_e9qVuOLc8>Pbx z>Ngi}U-yUq45Oo_8>1uWVDRT4^}B4W0uoHD`G=IOiO_CRhl=d)!6Q14UpUzyd*|%@ z*X=!zIr?_we^plri5Kv8bC~9KIr4i&@H6-Nap;TBP@cU+1iE~gka^_Q*3pho)#VI6 zK<{db_}b+VAj&FTYJN|~MOqOrf@ys?fZsZ9D~{Kq=YUuDsev!{eYW;}Xkm5#T;C(; z$w`pVP^_|6_B%EMO?8<*H8gZ%8R66VO7)}5I2-jpnw))AuG(x!)-6!7@ZuP@0TLYa zt}2hOT~{8Sh50o-C1r!`d&@^L91i06@vci{peX_G|YS@Zohv*>qeeRzxsi1t;qxj4AyfYHDKvl_O$+|Q+Qee0^sR>!9_zmlI* zEjvGd%58#AeNqT9$M-+sB@w$sYQIFee>uONt@Aq7%bJX_AR~6c<7zqJW$y4~WK8Sr ztr2!P?)*4}4Cfo`kMLvdB=!V`a>_8;_$FRW3yC!(R_l_q_)_NL{-Vmnc&gd)e2`=t zaKB_XgyD0k2L^ATm6>D zsCiH!t1G`h;V~~&&TzFki0(dJSDe6nMNC6x-92 z*x-!c%AEc|G&ZlnL9if|u5GWEFZ@~qNtJ$s$Wm>Q1t92X5)ymau|150Vyr9Z$$?A* zQ@=#?`Riea=iEt-vOH+&?-V}r`!1w z;o$~?e5Oanz5Qj#IFo3~Y5ol_niCA=hHkhK>PayZ983#2Wf~vscUdtKepQ<*>tE1L z*Y_~%_0z_fLIUe&19k5^vUe{Tz`e4w`=SZdlm8n#x<5i!uCGSe_0Yt_^E$&=%FNA$ z*eNqpx9v@JCc3bK*(yh=Y;-A7OWPC0INc2P&_f&+Hfp)^rOuDBpMd}{TiQ1mGre?A zSMX;WK#!k0nSLW-;dZls;aiFZD=F1eh={a=YDKb0K65g&rt|dWT`YT!CU*h%qz^kH z%vet-DyUM^hLOhZBh;Zj&v1cPB-!uA8DjU4G>cw$Z`l01OhsC4x$n4-Hd1W5;%(LK z^5kD~hr9}b2~&JfQLU!VBLKA%5!&tz6*n5!{kvHY+*7oqLhElP&r@l@TsF{|BK`j5 zv`n$X3c}qg4+a>bzS1nEzeufBt^~08pm(Y93Kz*)4=C*bBPXY7eeys7Dj=H}k*hmG z?Fu3bIH@?(Uu7A_jB*jWt**3=(%U)KF%#9A68BjX-il_Eudh{$%aMDxTmhsWk+PJ; z)qT94-~rzO)_OfxhezinMRQ>5S@F+nQf1|-!97OHDGco3ylz9q>L6;CPr1duwv|bN z8?xHK8A##lpI={nzB1ODyS;n4}%ag_UZ%#($otQtUG_>Q;U>#+6=%EU&jRkA`eTs9ZN#I-CS`_Vsb&zZy9#E=>a8k2?S4)7S#u;;(=nYk5UGL+uZHM>N3? z3gUo&>4%z}fGUI(KyjNn6@P@Ere@kM$6)^90pU&*`1SPpZwotW#q}lHO;naf28_!@`2iiWLpH%m=YV5En+Rv5|*$$Fu!N1_qGXTanfS zpX$286r9AmO*9t(>eAmfEDVbQ+8qz8f_7Y`_-ftdM-FkfANSe%^Ox(s>|NR(%Lksf z_lDeLS{wDbR%QyxFz0Qg9PhvUS6(%_MP7&2*aAj0xdMX}x+qCh)Li=PK;%re(3%L&36l~v z`}}+=X<>AU7pAIDd>G)km=cYMbe^7l7Mq)+cNd5#!EB>act{O%T8gAD9xpzxTu;eJ zKthtvg;(a}9P<3VDESFLSth%H@gk>cV#|V~xhW&7J&Z?3`q^2;g^#2-2{QLU#q)LP zdAUZ6Jvc6T#%`&dsG_o~ySw{cb%=x^&s6SIDO@VFKnbp4K0vXp2q|Gkqf=dns+)g; znZ<#72^@_?kr(rpL<(NBE~Mn(gaP;T;0hiV0aEyeC0?m8PYx4mQ;og)*E(ssXjyX% zYZVIde{zt9sK@*+R;S-zK^CONdiKI^Q5&dX>N~YEf%T^wg*95$2`gG3+n z!g{<=y!^|R6cCZ5R~0{LprP?&W@b^T7^Y~JC(P>5Rc4xm=kR+vTECjP9rCyJG$m(; z>q2>E<;XI27OB}ev~4QVnEJ}%m zOtwKo8@AHoU08E2j*3qROKK`u0&uX%Q8{HjrZdFJJM%ip>4^-RSFPU}60gG%mi{zm zvb7Q0LC@%t)gdK@KBC7XQ(cLdmm&tg>JodTmYR-nT~XuwTaVd=s<(F%sR-fDwG4bv z=;&JFQ}0OG7rh*sIWNEO74pN&=4`Miqg;heZGXr}agQ!3zWBOPQt+>m)sR{RY%>)O zdO=}twSDfSNO`y5Aq=>fty>5pSNr;$zL#2~qct=VZ`keYO}{>q*=CFwU`wcx^g=;W zR=fCFKIT*aR03s+&5BBKu9lPz@Ce{H7IWB+3{99Xyy$uhy(^rT;D$L{X+nqhn#_jrJ0A7u!Wn|I{|QWa`Ulq zaFRl4ugZ|SI;6C=lqNY!At-E-|3slsO-nNaArz!(t!8>Y=wOlDIX(<&hmP$ z001)fe>xN(JD1>N5Z+BeMF#!|8Xg~)@!|p#2mo*~DM(9bd##=2dFC3rcfD^_D6CoYJnkX$Ao`5m<0wq499oj7PuYUVwJsqk>SiF^Cz9sWhQAQ?W3kB}&860hE1? z%{{A|o<2ec5XhcTix4p{qM;L5>V9?Ed*)QY_4r1(;9{|VHkgB`icXWGFD_Bj1+i{jUx`5j#%^;;s-2OCiG<=M}q#F=ffx~2Om?c zojrdTeqLR@RgI@KZDcTYZu0)z2vO^NvSJPpD<2JM|4L1|-fpUzA2YCj%w&do3)`inlJ%JJvYkKI?s3wmL}8E*^oHs53`4Z`--6-UY;J= zx}z8=={ukHIe?E8m5)aiPs@7N93TznIPyS^;r-jdB?9&MH|#&~J*Tr>e0h6&&}v7-ZcHSf9dw=Dd3s((d_A?6JIxn~ z#iQg#9cG_1WCeVm6?U~p3WAiTunP&z|2fY-tT##|PX6HrkXhDhzrLQ@jgNnT!eKK} zb$)O(ySsZ#XTGA-*S8`b+NR!N1R*FL@55N*DNHv4|C{AhT^7w%01U z3qpd_AFC=7L=G9cj%fW33e=9;mi1X+VLglJB|(_kF@Ui1tKM^wf2n2%VTj6*BQ>7o zR@;`k(NVrHjt?g>qgav}z{?A^YDS!zw$C?SzjYNA>z#k*>Y;*jIAP!2mv=-jgnQZg zA1@G}7s`P3y;yzSL=V=Yd%u*F*cOqH@;g{`)vXO0w^vA^0VKG%OuM9{57F9_?(;`r z&%sGhp-pyUdb)AR!M{3{_BJCcX)5cSDs9Aa0sBA@Yyo@>w7Le$Xu#z`@C;fvToq1O z$=o75smR=K*t|ZBxVTGpZ4kYOZ{M-=ivk;qKSjUgl&Y^0>DAf#m5DoUU&qFM{yEEg z3=@IZtwwEH+Q^m{%*pLhOI&)oQ})m{QtfZ!snb;@3^VKNwq?=AgN8s1x;qnZnyO_J zxwiFK>XY9_ESe0TEjbKbVOOTWXRyiTqy^+DUySNDNdcjReH9U;u{^AxLYMB0jAk8QL=W^x~FhlM19h1 zEPV#+pcGNvE#{2h|ndrOo^pv>tbve|lx%jy;WNIo3~q(JsoI5Mg?B&s*A zG7$RfyC)`7Iu*3{1qqpU#tDy|`yK4))@!|EjtKG6$!Opb2!8pwApjQuX|)CD(y0h4 z-1xjll$SvjStQiy*4?ee5vHw8XOYv3wLUTSPbPdTn^h6 ziJ>lU0MvwOiiDI>>~>BvhSB>G3;F@HYQPEy`Id0R7(gr>FEM|fOOsVVN|XdQ^gMl7 z$lNl#NFPRY&=lIZO2`e~5W{$|Ok_D))EE>cMwNCrVRSC`R_A=hXYF2=kRh9m+=Y)h8_`#uulC=aasE0xA^!>vaa9ZX1$;_fwd( z(i96-9$GFx_Hp&jv4QFOdC^wB57NuC$K$M8$QG29;P7Ma*H>{Uf_Bz}j&3AYx=tf7 z(u5aRi&5scr=dn}oD_ykZNvlCpkuR@d7#J;3ehJl>=_%kXk)!Dp5`y0lAAa#b$8Nd zh{Dpcc~v#zMb}yTN&L^BsF&w}143|)wX-9&PIi=}Y^Tv%D@j<#J> zoTlH8UI$)iWIyBI6LK-9A0OXf-`%N|_H@4$$kV=pES;x7&a)tAKO#*h$tki!B+G(c zA}S2|?JE*uUh#RJ<+&agnuO!yZ(dTviPD^U#ekVSj09APx4Mo&(C1(|80zUA5$~Jr zb!BWHNRboZn?j?WIB3u`5-d+8QC}D}eTBtvcoeA%{bh1{x(kbNvwjvK#q?2zx&4Q} zUYFj~lol0RzgNrrl6y(icugH1e;~)pZp~#fL!oC7X4-*Q0DSFQl0d}pRfNkZE_$?x zFVLVP01SQE-xWLoPe!q}7SmRHs?9}K0H+DlqHm}H*YOU`+KGV>ib=R|j@ecqg$}Rh zrS^#uFA})m?51DFKC(AV$i~?&bFUkL$U=&dFqo?N_!bznh1wyC)buIJ%g?X7?={~| zPHsAGj5ZkTf@=6=`M5H%T@&)?fk6mi%?deVNm53q5|8vgDvNNL;UTAo?sb9&8#M+s zPb%82Z+M!}qnNLFPbu#3c@B0R1V;r$^<(dDEp-MC`hbF|$Vbkudp4*#WJ)+`lPm+y z)xrBDS_p@vLGg&0ylC}?P~FgCUeZXxgs~v2$T~Gc;Aa!ql-Hy$L65xbob7qgw-KfW zClohBj!r;~@Nn`wT9$_Ne^hSCCe8&c3mYN|FfLA>?i#)UU z0N_-we#q#Rs|iVqW2eCe6Tr&_{eh)K9Z|Vk;Cf87WG}Kfe707L6nnute?(NSiqM8H z^^oX>lKvteMBEKFSuO;WHm#pb%*s6hM1merp{@t6af#|Xp$%k4HItR`td|Yk9)I)g z?5aW8vX>CffXddQq$CEsozKV>C|pDkVr7Wj%LSnK~vFSW^;X2s(*mvr@jnKJxT5#}?G9fMn7}J)lp* z>rf_Y#B|N#@h2*~BgqI~=scViUDWoRzjaNnAUxQWOZuB$+v56_PYwg)ZfH4m0w6rY zNY?Gur&!2SC%b9o>*`&L)gbC}=pqea-AW{I2mIUr6Le9M8!{>Hj|Y^Y=bcliFq~{> z>3{~tlzQ;zL~eu@n?Z>PATZ3V(P5zXttCUsR)C-n+>XBCbl(w^6k=9x>M3-3OdyF} z``akjT?gIw;X6}?d88VRnSy<)BtLBo;)(7 z*ReftDLT|E%9cqcCvxWi_L{GRmc?HuSybifkZZ|HUrV^FK}w3ATeu=SK(8Y|gjpP> z#riP2MV=CPdJ&xAF?g?2c@Z?0f9lT&ZgJQiBi1tXyNV=+LJGKq(I2>k?Y%kpEZyz^ z$z?}@-Tu?E^MWgIi2}CR<{FiN5oHxBO-WKz1kU{$whMGrrpO1xB0K zeP3FE>&cEN6suW^3F>DL+iTngX7Xqm*Q|FCvMZ8EosW_`0g7|YMSGFimxG(2Ho z-4DHe-@=EYf7$0-4cKsBnVi(gY+7*(@+0^A$F%Ld&%Tvv{uaCzxNWxdZ-oWr=r=>x z^eiD#vp&5`1eQv04D^I<4R5RHGQV0n*v*-UV<&#ihmVSMQTWk+JK+> zXvk_r^{ZAu>D*9wKbLJonJ-S~D+P931hipPoGY%|N#OZ1jCgLtj}X^IrZ0#t3bbML zGHN{hRP|a_$7xjrVClP@WS#H}v+%Ok{Y`j!`lAay(p-e^&)j6Lfb)J9xiQe@>82ps zaVuf}hK1X_X_W$-v!Dye+>SB~NKUQSs)sxH?oCDc>d^ywzNMCd{NU&<=CCa=tJ>HUiGt1}PBj&tMt^ssT&2Y8*oMCo*mq(2<48?xHubV^+rx=O=1xKy_`aP8c z@&@(fO>fRN#h-)bIIjMS%`+!N8UDl1m2WhD#XsF-gAu8w>aZSvgXse-hWXLu`UvB6 zQi8-jja+@Y4U71>h#Q>1?p3P^p8fhO(bTNB)ALi6Ebvb#Yd{q24kebsD~d zha+S~uQ4BgRmg?|NRlZBTlE#Vd5eAexTdwgKnJm*s|wKEz`#taM?Ap?zcH8k8fwZ z^O+=zl463AB@mRn_r9Y!FpMDqMPqJ_aw~4$qKs&r_59mW_eo7xnDnPefQ>(|>tlj^ zAw%0nd2m+HZ?vaCcE+0{UKJu=U*EESPRm7eh=Db;6K?`}H3E0PmThf=CsM@zKw}Kt zYL<&V7Pj9Eyq$E~6F$`HZBLP#b?ySb4TsW4hCL434nS8UZ&H} zwM%E&%pxP)zBXE@qV0jiDxV4u!D!;mh}}d*T{7LFNG{WXR;0q$&~EUNCe|kMI@C`h z!#i(-7kY`}vm@lwaSq8$2vG2k_6ybLh{HK5St%=LJ!#**6jsPi0 zk&1MgVKd9|EjX;c@hEl zBqqYNiSh%9bwrUN=o&5s^47{?eAav(F#hK0nOC0VxF%8b9;7SIn8yJ`hkhr{*{S>E$}|aPSBz7u zy4?nEE}>#rjf z4I~uy!4G?oV9fM(Mp~$30`O3r!Az5^u%)K=%Lg}+OPBjp6e0Tf{tew~M|bQdKR19W zI`r*Pl}W}N!#shKivo^)Td4b$3R5V?GXJ*%e~3`a1w|Ev`mKO`=z_cr+S!6CI2#U6 zi9kky`YgcXB9zS#HX{$c;GF+OxG))0o&|9vWFdC)X%IMSAkC zxA-T{FOfmi)Bqi(7}MKg`si9fP}p%nZP=3G{YS+Jn#jm@*N8M zbXaqpCk7E}yr)4I`03pxT0{S@x4KSFqEelX4V!mFb-&xDnS~k700) zwj4xn)eRv9?*i=@;;uasAPA03G<0an7IXDj?)PYJC%(?-14!pJ7cCbR#u4z{;s;xD zx-g*)kI&#~nyQQ|)9u4BQ_gmM1=y2zig%L~8~`SP<;9;#7X9t9w3rdsS93D$sQ|@} z-uMiUX$l-VM4Zqa$R>pQW}AilaT^9=r-uZ;0>ai`dHwxeM4y{J0V0?^q7YSx$D(g& zS+_GP0@JhwNAdHY1WX{S#D?A+xdG6vkrc+rqdbKMW!7MiNy+&Hw5nJ1ckH*9-rAqA z{B0JT9n%I9@jVzS!4`rOdn!&hcYNe@siJ;2@mJwku+pmdn6S?47I}s2|Ad2T!4_vh z(u$5;oFTgpL9+%2j&Nd(0>W%v zTx3XVOuR##-i>vRjs4&V3@8Xgnu+Eh!8o_~Lu-6HKgV~L>bhh`kP0gEXHiT9zETI< zX0K@HVMFg->XAm`0#w3n(=<~SvxtVV#I&D=F23=OrI+sA)kjD-l17GhG!`;YHc^hCS%1C_ec{i=s$K8E8 zFuglAR|XVoFb9hZBl>qyKJvs9^FK5Z16DS+1Up3?21{loe9`@0Q<^y|$_USWW$P1Z zb0>KozZsGCk?pKM0;7cCj~;QF&MMe8jE}p3Hor9!P!LD)-zarf$tEoh;%Uevs6f) zKYRho(}HZKs4*J+fH%sUOXj^FZ3yWQng>v5bMcNP6G-=avU^Bxk8_%jhR9;EpT^i0 z9z|OA5`oivU}IccRy0)sg|l zoE?|Tmr=)S^#-RY&L`e)Z8@ujysbFAUC1NGSLG-by(OlL*)>g zs@avl&BDp#Cp!e4a#kU{sCGJ$o=%`?=$rsxVIK%OHnXu_UrVx|^f{^T?>*wM4M8jnqHwyYkH zqM2-&O}yY~7-KcMmKRw-|2HThOlh2WwnelhkNp#2?1HhZIq0 zlGzN2TxP|Tz?{QRP7&G8^M;B=a;+)V@LG3W2%oVDjMUV2i~PFf&rnty_lutK)yD)D zJh|3(3Q(?TV~Yj&!)V6#U+HCnXnNeA{nR~4eoco8o0OX-BYkICAJgMTu=WAyq)Fu| z5k{Y&{94am$glZ{*(re4r=As1X>c&c z-<~2yu7g?bO#v%wuGnm7t;wS4@j2$ATmjhCEyf=%=Y6D76ZwXRY_p+Hd)s9`k54xO z(d055VM}ZMsu~z-VyM;yBF9-DR453Zd_+el!mP!ej+=#2d66(i@&_=7oH53NC1{j# z@1+Wlf`!oR-V!LDGD9X)J`)SdP}amH^q%rWP5U}-=E4f*g~`hkvjNcbpnxWjWk#4*$02iiD|s^Mhy3rnh??xNEJ2Ci^rzcX-xkIGxiG;}qcferWjwp#%h#6au*G z=$3xtacMGGGo!sS(x-u^(zQn|74QXKeWvBD?wx*qLQOPCIH0nYZTK+_-P~nC;IZ;& z07lgHVX8bw&a9ux0+LaFzH`6<+gaDxDf{K6Eihb#&`C#&S@}nfik1yiw3i>&#)j+R zh1eJ1cGL{2HVl+@LkF_T30zefp;M4E3RXw>ZMY&Eb(b#(0D6zL?2ctR9;UNgdzti>ogvwQt7 zXuC;dpiHD0-%Ui7!kO)1i(Ke$Y)t|#@NnQSR&86G?s)uqnQons#Qw@>F&K-rA%czO zfz2ZBmv`VZ`ihA}cLYSx^mVgnQw$9`SDhtez#;hEP$2gyEx#&P^D81V*$jUSE~-6Lvo5=?2AtFsg!-@l%K`}#%Xf7>#i4Jovq%2F-um`f&(w^R<8#@WsaS%KN)*cQ zJQsyl9Ua@xX$%*N_@Q%8_>IV10edujBAW3fE|f#m2|Pz)qQ9L^*+~aM0()Rtf!==f z`WNKdHEwPDFH0oTtipNNO0(txR|?8^v)cs_@`Il$Tg7biXgYTIG&Jus^+s&XP6emZ zuP--p@c@$f~e){)k@b|PYRLNJp!7NpD zy+_uZ+TAR5`dB4$J@kiOs#rm|aT%G4HKCNQQELtn_C&pK*Jxr5vXv_?9lk$ordwam ziVL@iTU&((Z7UF|FdqS1?|h7r0Kh}ral!uw$ZoGj1kynhHF!6nXCBCu4=qDu6Qfnk@EGe8U(-^IV@h=CNF+86zRA2zt z;tx~xli1A9e!O%U4Pc2Q&T=@b#<~ZUfV=y)S_kjkR{7xJrpRyK8W#S%(4YLCC>>q3 z9?s^G%lpV*JE6H3`18stA!n}}5v?~{mT|B*Dt{p|^uqJIpv~k|;@mtdhB#XA>bj{i_;K_PsxktnGJ+}{~+X@+QoCf;4{3!3LyqYof*r}Rk z6i%LaT8t`}5^j4C&3EjK?Dw)7i=1l9$GZh zzyx6bsKg3l{#9wr=A$stD(!kh{!#h~@L2yF?L7Lg(F`^f7e+zgQ>oBj?j~u;gnv7g zFDRBS?-Qvw2u8^$p1MQkDdA-K(?T#g-8=t`8hx;9x8Pslr^#C@Js3sYr>y#&HA|6W#hga${oEfMJ)#h&&=c>U~~zU@NNa?eMIL;`>dV^gQ0u{ zG8!$cg?Q!h%i8b;t0ZXxtot5#@aG(q^V)_C%FQ9!8F(ANa9>U>7&?v?Fr|BNmKTe0 z`-9{5Q3OP9>k7S?L2ut+H&1mfYM!);dBiE3gfIQodFhHot4E2o!p^_eot| zD=6m^)owQ4&l$2!=^uT&U#fNT4RKafy;%SucYmR_9N~}_gx6%&czF}b6nkI4eUKB_ z0X|NsjRCww7`Th9B70VnMmG4jD0^Sy>X z*?E=@FgN$dhba4Ux9r(HD|~~PEZ7=wtYW6%}p-TlhAU@#Y2aZ6WHtH z%EHtAo?FZ%(EnE%FE#IHZZY;m%hSqcPxAQ5#qO2J!2VhNK~(AUJO~+YiMMi|rvGS~ zUSE~HlQcMbDqC$KYN6ne!hyEwh^!ps7ZVd=IsLPtOvk}WuJS|T!5wz#x@McG0ZK~> z$0$h=OSy5DdfP>a3!~r56I5Ny5|@ znl4|@4EaypnrCMX(9^h*{&s&lov_fz>B1DsHfF|;`ys`a}8{6{`x^rv$LZ>CN6RW{~MaKg)id0jL;PO)L$if0ueyf)P zqX(W!H(q3MQ~R6s?dbaICIl&OUUna^K!$x)#?^+d=XtA?YfXGI4hF2@klOvF@@}R? z(215Vm3fyu{^70&`I;*Is+8Sq>?5*+ zu00%dcyzrVNw(^=yc9PhlhhZxap1NHD(12g-GH`ENO@Y4yf&1!kUuk1ZqTfK(Mn~7 zL{3CGy)vsvfkkVwh=0R8&L2s&-tdE*&t@RfFs)aM7Ae-)L`5}H?3;b{za(<~bx90w zRlRHXIEl;eco-`ztjEyEbEw$C(Zz><4`!$cHq!)R28(>@J=M(QE^2_-8{BXY?0u!_ zskYm{m~}xaNI@99Vd@{U5)EXi5={VHRU2+0%&-j<(wOut>^1s7LJo7d3`sA@&qQN<6jj4V*TEiL}wcEVIuv8G6) z$nxhau8&m586x$JTa&AeUticA&;0Cx z=iZ-!@%@tn?N`A`1{CJf76=UrwPgLW{rqXzw?1Hs5l{>9SQyqO=KI>_t39gw#OK)k zgDolgTexmCAH>1)7h_vGoY|rSI^yO|Z-^)@3&O`>#(`1vS_2ngIGG zCl#mz*i2=Al2>5S0gW>~%hU6&Eg=SlINqhib(j*Ey7;;wQC_aYFw+~MAe{fXbs*b( zRnoMAHfrH)xK*}#R+Ew8W&GvF_d$?SS(wLSvRT9~C-zQ_y zdI{G&9m-vd9DS%Y?m3_y`52&?VZT7MzWU+8^MWdV92d&BF4m=T7UC6F@p5lSQT-0X zs8VjxNMm&3K~}=YR=m4z>F6Kgibtmi3s&)TmR#*po;Arf?GG-8{9rSbom8It(~h*L z?A#bsRj-dw@qDP}hM`Kgig`|%sygZHtT1u+ktyTV*Z*6a`7wP5J!&dUMMc<$+bpQc z4c2Ngqf`yHDO0JVt@div^`nnT^J*oGw6fOOA+f@rv9y~N40zec?Ol2j2Cy2CAy2V^ zT{fdbZA@LYcbW8MIZ4Z#{%L3)QAEb1GsVQ1mfI$tk7Ce%|qJ_OHA z=4)s=)3!7$vK8sd2V4{`*=Ypy1{i*XqnPkbubMbkMx@8rj>Wl4Igj(OM1K@C1ebVT zqK&UX%x+;#IF_|*SNKTM37N(F9ZZN_ z{pf}qB2CQIFYa4Q%-~Kl>IJK~m+1K&rV9hG=4rpf5X+DJO*N4!g}*_Lqz27jtt#5Y z{tB%o;?E=gF^kV^0B7>DTN&6Y7YX<%Z(owXLsfTYbayw*tvoVOCGVw_4;}yX`F+>M zK4l1TV#5zoTb&8pn;y9)tO4^q+iN?8wCePnJYXQ4HMOY4zG%i&`!nzOSBM- z1al)Ya&coXV-u5LN<_4CY5xo%-wDIsZW@<;Edj~C;#wUY*I3HV9E3(=*Vx+kMyMZ} zmukKxe`AR$RzD`29eEM>^{h5@kPjCV@q=9~>+m~wF-pHH>p}9TIE22d_Te?a^)k}D zTh#Iz8TB`!px)k!uE$+mH@8n-FIO7xx`}vf0OJ5XG+4XkknzRYjQ(2`$iqOG8>UeZ zHV+pv2%+q|P_ol>A1U$^!f4DQ52n#Wp@CnaI92z1p*4y*&UnycDxUpjC<} z1WzgVyJ0M0cM^Yl zw|df49~F`~*|+oQ_I4KV zZSpgc9nFUV^nA_*Y;2O)z|5=>8O9;ydhI>-GN?tztS-`XXWI3Wx!|PHcO8khKSvrG* zNUiuMDv2`%!4wS}NsEAhDxPwobOy*kEwK=n!fo~`j@}_z#HBo`SloCM=4BVZ!Q~*& z`Mm3LnyciEgG@wrTi)${6$4@LcU_}%QK;DKk%W)$tQ-QjjCHXS8uoRmA1Jlb5D={5ty)HC@SvKJPdC{5Hk_>+}2v^7p^@!a3S%{1Q-%_KMN zHTLUqp?te8bz#02`G$d7kX4!xWHh!cD}picK)Bl4hGJe0C(DUf2T=r?#j<8}3y!s=IgMFJJ2 z6h)9J0UjW6YT_}5^OTo~Hx@QlX1w@B*A3NZadm5RVtw7yG@Ev0@8;_9zxkjC}UgL;3NhDb!KUQ(664^W74|^9 zzD-;Kl5KJqiUIA@#ErOxEggv+?dPQ(Vwv$!FY(96YzuRZX*_n|2S?qG^Gd&7Ie7o4 zsmu4bf)``07GUf@T$fspocbuvL{_VemC*^1s>bf`NM?_ozC=PU)sjXG;e1cB^`o%s z>)5$gAcdcC2fy`^!mjyLM)ZxE2~|RlpdPtZ*XKLQe~y2hUa_RpkB*9M|8d<=&S!p@RsBL(@(^9FM!uj= z2_B2nS5$f@PCPKl^29@ZI6AwpQ!WtwC`@Ik@hA1aIym!#zlY71*g|9I)W`t+yuW{G zLm?gi;!x6j?c&%w|NZ5O{VSDW;46WcD7)Yu%EVl^;M4o6wQpsWo-Bp45ZbsZ_l)@R zVrrTZoV+Pv6?iXFEER6&?}TgP>KZ>geW|U+w#J`xY)r}Y8WuzT`xiM>BkwYc^JYs< z1A5?eo>0Q|HJiG|S8VJ2qrG2Rmf`dAw|nGM@|*q-RoWnN?1L3Z__7zJDxZ;JiM(`k`8w!#gyJ zpZI)kV$Lo5-xgW)jy^WJdP}-CzW1?`hQ>`s*UiGz%~H_Z#qz@dIN3RQSlBsP*!i?M zxdb`c1-bc{*x3cy*<<}x!T$%q!O6nb%KQHXaB=+?0IXjB{Q;o=-!r(`I#{~8nL0TC c-xv--ZqEN=FlJM-KQI6V8CB_eNpQ&j0N}NbwEzGB literal 0 HcmV?d00001 diff --git a/assets/creeps/demon/5.png b/assets/creeps/demon/5.png new file mode 100644 index 0000000000000000000000000000000000000000..0590e06cc9a45fbcbd47480d6b95b7c60dc31ca4 GIT binary patch literal 12545 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 literal 0 HcmV?d00001 diff --git a/assets/creeps/demon/6.png b/assets/creeps/demon/6.png new file mode 100644 index 0000000000000000000000000000000000000000..d59ee3e185c35bfe4855daf48e658699eba64044 GIT binary patch literal 12464 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 literal 0 HcmV?d00001 diff --git a/assets/creeps/demon/7.png b/assets/creeps/demon/7.png new file mode 100644 index 0000000000000000000000000000000000000000..f40d8abb7cc40e354bb904270be4714114480381 GIT binary patch literal 13755 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 H83+9r1}nZT literal 0 HcmV?d00001 diff --git a/assets/creeps/maker/1.png b/assets/creeps/maker/1.png new file mode 100644 index 0000000000000000000000000000000000000000..042a58248ccd178c2b84a466199a9010e12ac170 GIT binary patch literal 14624 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 TK$FS;;Q`1=DN9y~n*{$C577Yq literal 0 HcmV?d00001 diff --git a/assets/creeps/quick/10.png b/assets/creeps/maker/10.png similarity index 98% rename from assets/creeps/quick/10.png rename to assets/creeps/maker/10.png index aa2c1c5be874d62e4360f3cc09f822643dcf76dc..55fa573681780932c7b6c9ea6f6fad4205806a33 100644 GIT binary patch delta 90 zcmdm(yD@h{9VZjJxTx0q_kt`N+t-@%n3!lA7+4t?FeUV?nCxJt%41>-5!g11Yu4mK lGg)OLT?6wFBV#KgLn{*_h@8Or$+H-Mz|+;wWt~$(69D3t8Ug?S delta 90 zcmdm(yD@h{9Veq8ACI=u*`#M1+t-@%7#nCC7+4t?{CTx-(PRfRRk%R!c1gL(g=VtK ihPsC4A%-SahDKH<#t_91`?XyefWXt$&t;ucLK6Tw&>JKG diff --git a/assets/creeps/quick/11.png b/assets/creeps/maker/11.png similarity index 98% rename from assets/creeps/quick/11.png rename to assets/creeps/maker/11.png index ebf3fbf5e4f83fccc514cb4e08d274167fd775dd..042a58248ccd178c2b84a466199a9010e12ac170 100644 GIT binary patch delta 90 zcmZ2bw4i809VZjJxTx0q_kt`N+hr_xOiZ*546F-5!g11Yu4lk l7P87lx(4PUM#fe~hE^s<5IKSKlV>pifv2mV%Q~loCIH+l8a@C3 delta 82 zcmZ2bw4i809Veq8ACI=u*`#M1+hr_xj19C646FSTH-;#B*stx%00f?{elF{r5}E*cb{aVV diff --git a/assets/creeps/maker/2.png b/assets/creeps/maker/2.png new file mode 100644 index 0000000000000000000000000000000000000000..55fa573681780932c7b6c9ea6f6fad4205806a33 GIT binary patch literal 14001 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 C^wd)T literal 0 HcmV?d00001 diff --git a/assets/creeps/maker/3.png b/assets/creeps/maker/3.png new file mode 100644 index 0000000000000000000000000000000000000000..59275bc24cce272a62145e5f2fbf676215bbf27b GIT binary patch literal 13536 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∓gtt^bpGs$4-Nqj@z$CvSuV2G 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 literal 0 HcmV?d00001 diff --git a/assets/creeps/maker/6.png b/assets/creeps/maker/6.png new file mode 100644 index 0000000000000000000000000000000000000000..3ded50447c8aac79387d19d6be45046d36cb52c0 GIT binary patch literal 13664 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∓gtt^bpGs$4-Nqj@z$CvSuV2G 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 literal 0 HcmV?d00001 diff --git a/assets/creeps/quick/8.png b/assets/creeps/maker/8.png similarity index 98% rename from assets/creeps/quick/8.png rename to assets/creeps/maker/8.png index fa89fb39739736572f07af1ceb35448e89bfa3e6..e120c5c536a60a02b6031ad6f326a8d599055442 100644 GIT binary patch delta 90 zcmdm(wJ~c#9VZjJxTx0q_kt`N+jUKNOiZ*546F-5!g11Yu4nC lCbG&#x(4PUM#fe~hE^s<5IKSKlV>pifv2mV%Q~loCIIUN8g~Ey delta 90 zcmdm(wJ~c#9Veq8ACI=u*`#M1+jUKNj19C646F-5!g11Yu4li lCbG&#x(4PUM#fe~hE^s<5IKSKlV>pifv2mV%Q~loCIB7u8s7i_ delta 82 zcmaEm`5<#b9Veq8ACI=u*`#M1+wU0j7#nCC7+4t?{CTx-(d2v+Rk%R!c1gL(3ru7u aN0{)48$%R5?ALZ>00K`}KbLh*2~7a5{~DG6 diff --git a/assets/creeps/quick/0.png b/assets/creeps/quick/0.png index 946b1837cc0e9a7e391aad7f7fb0022178c3d50d..516c3c10ddbf6d6d66762bb5934d65c3128c20f7 100644 GIT binary patch literal 15486 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�?wGLlK#|f`hOt>hfDT@Hb3OKO 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 aEyBn1Um5J#^gO5xKv`Zxu3p9>{Qm%b(MWIr delta 14777 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 diff --git a/assets/creeps/quick/1.png b/assets/creeps/quick/1.png index ebf3fbf5e4f83fccc514cb4e08d274167fd775dd..409cd5885f405a4e80df7a4ed70afb3d692bba5d 100644 GIT binary patch literal 14827 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 literal 14624 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 literal 14001 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 diff --git a/assets/creeps/quick/3.png b/assets/creeps/quick/3.png index d5778d85942b98b8ea6b7ad59bd6cf2b12a8257c..83250d437d08315b3e5df8df8b18540e97494d10 100644 GIT binary patch literal 13882 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 NB| diff --git a/assets/creeps/quick/4.png b/assets/creeps/quick/4.png index fa89fb39739736572f07af1ceb35448e89bfa3e6..f3f6d65a61f61b945e90f881263f6c7374ad6163 100644 GIT binary patch literal 14322 zcmb_@Wl$Vl6y@M9!QI`1`=G&{3GN=;ZEy<^+}+(JxZ4DWkN|<;7Tg_%<*VJ=s@?s& z)vx`+40AMJ{%V@s$!T;^Zi0{W?akI(yj>^CAI5GtQgfjsELg!?Y(NFK!BAP47$pGH|+X{OtQr<^UT;%oK z0RS}I|8^Kab}rHTAd-iIiY(G0ED|9;%lY{ScmROES3yQn+h^r8&pY?8XWm=EhOncJ z^|8aWwRa11q7-V#oCsp6Jm^3|F5hRssNV$M$2>RG2A`2b z4Pv2~<>15i(XFX`Xc%sHT5I%LWFzj}C&5tzPXC~Ua;XI0<2`hrTknpMepFP7uG5z_ z9gX=^Q+KKgUf=G~?+ig{X`RljDe#D(V39gXEFtA+G-K{~ zvlT?sU^RG&R6;{L96(K{i5d=Irq|RI#7m^okYMSMN>r%$cX(*IQ=Z}bxCi;udPr}6 zIjA6`-n&jvSGwzUUKF*Sw$>vwe={e26LjB=4!ruo3$xD7EOah<^Ha09{}CgkOzB{E zWwn26Y==+*@=%gAW>Sru5Ypw^%1dyP4K&MAc)eT-U~iVV}{m@>Kd!@6ZTJt1-w^ z+6fY`vUNQxr%!MReDlo)y!GP<-|6BNBrI#GZRPPDqj$I8GYI4v^L{y#F5)6IevlNu zDVpVK38XIE>T;4?AQlM+KwMqOkXD<=_uWdh>@>&W4?Tp{5b0u)8AI*-E*@i$;iY^6 zWNp9XW5@5zE%s#r-yU^D?_UDwQfMufs-M6jx7F3h>FwXeI-so!r7mPse_EnnuQHI> zVW8y^g~eq`FihRMIPBN^IR&lHPk}VtS>^Lf3BpH2PMv#R;xAjQ$OON)1#zfH=r-jB zGu+4whc7m7pO{%tKcJ>zGocn$v$Q#y=@G;`CXHLlkH`^GP*4$&jLZ`YTe869og`>@UPzZH4FMSlsw3gdIg3i#tZ5AIA zFnGAR0XWJF2^*B=gF`z^tTkn2R^(aAIN@`a9NwuZ@|o)v2?67Aqhw8fe5y7F?;k^e zx&MS4Pu6T#Er_PqY0YY8bMyYwptG&*ZoEj~7!vS?Ix-5+{G&JeO8_9h@RjSy=cp)g zx}2EouM!JBq}lD^)ePK6)3Xksr418|&jT(IeW3fy0r~L*aHx!vAP{W#Wa}XM?TPr> z?oVf=j2m*PwiSnW>B4Fbd*|g?#_8>GS*JO|UAf8vypPhwd1n-DLvMNESWp(rh2CEJNO*aJIlCHl&)6g+c5s{2~ zjMEHNP4(PD+tlvPOFowJaZ&^}q&@RrEKeU(f`A|*W2ijc{&rNk+#fd|IG z7`&Ou1A3*5?*L#!Xq@^U`8oO?q>>dBS~uR$v(S)8NeQ!WEFSb*TvT8)k(@GQeZ!xj zMlHxg?<0z(bue#Ys;=I-j;M;^)zH+OE?1c~Th(*PO>C{z+b@<)s2Lq)wiw6BU0k$- z{ie95rB?L(ivD_H^VQ+b&Bo;dO}>gHW(cGckj5E!8QW2>D9Ui*htEx{z)k(bazs4) zyvvE&2ToRlu`{gw_e(SqD(x^F9Zu87e$H|zezPe#JWlkE;D~t`Q6y3UP+4W#FdW-q zwM{q(6Jke|*A{Q@7*Kz3SaF%_O|f`AtA-1Z*yzjqwUb~mli4(IbOtSIJ=F|eQ1z!2 z*Z`vqngSq6J^`r44N{`wPEQq~l%&x(2^jCbTAdG0g$FHL1eL>C33Um7*X@y)i-K~< z^O`c%t#ynFVi=N`^5$)nA!CkQ!1;BS(E8IF?A_U#r1$L1ix8QO@zQzVeRZ#eT*c~I z+`lvNO_ajEB@^|l=Zz9R0WJ5Pxa_s1dxWHEet-;38u--Sgb{~X7MTkjVOaf#HGO@{ z+vbd?5qB0|{7&MuwS2tY1^mUR%&E=ab3)A_C{*?CUOH1 z+|cKjy0H4}{L}LlpkwGtU+^%(c%?$}$+^C?VRm$4@2#MEyl{J&|MM1xu?h0R4L)pl z08e=IrV<|aAsrl?QLrKtUQugnq(mVR-gj*H7^y7Z=6yA>=0E6dd9-BprKPO|lM{`e ztJN>E-A=T$w8v|=$KFg>V&T^r@t_BPY6+K7)M}1iZA!o0BlT$OnwxO7#0_25?98fXZPk*LwBHbtIKqAIK1 zV(L31PhkG?`l+F)KczJ!`aylS?HAcv{r&sd$t#dIl}x%~u)v!qO&kr!QqB!Z+{_zN z*I6>KDm?Sr?m+$7%!W3{3T!$8WKAZt9BY8ly)soK8+2Jp)mU>8c*Tv#<3H5@^!lPPVu8fTB~&u1K0Nfzd@;C%g!S?iWvw?9pR{n&17T{g)D8S+(JqJL-Cd)Z4h zFMA>~6Dd%IpnBuGH(WM*%f0@%aB%*NA)I?7K2!w^usb!uyEnmO>y*z|{(9JIX*!UHa}j6X zXJti9wmd1(8tcH%hv@?Y{-_9hwF9#q{UI_Ek%;IkPAt|=7YB}&VwuYgYFa3o2DVgl zg*%e}eVh5}9p2_B(L=LK^8CT`(~5kBd1~5Xi|stI#lB+cLPenOXbkb45~s$~b-~-t zhr$boY$P5*?ua35Xehn@6zW%=V9G33rz*(KxxB6<6A=t`U{)f1K7RVd?c4=Qdm_`u;sG{*J7wRARvsHUv=Q@{uCJ+whvv z;|AP^Z9F^TATjFdu-ITSZIQ4sIu=(Gjp;!f-aG3_)Rj?PjhN0R9+ZAc zZ7VCEpj*hM&KvQ)js`NjZtgJJAgh_bLZzAth)8V7C?Txy>1oty${%?JmGyjuM(M3m zlzPnFijZWjTnZC_q8F5+R~06>v9ipu;evsCW>Y5IvDr_kJ%K68ER*?b0S@}BL*?J= zM6V7+bnnNs$h`l`^8Vt?bve7d1Y{{Edk7mph<~i&6ZdhVYCV&fR>5|Nyhca+9Q zW=*Pt$f?Ont@t{+y_Yt--gM!=<^~F1)){Ds=4btMWr0y1F758lL4sZ&AtD;`^2zw> z;g?yZ`G^IwO&0r~8*^u|B~6gv$&w-!NG00*Y5nfFqtg#1Xy|z&!Uv6l?^+057m*Sw z?2O5c3!-7=uWtQAlvuLNo+G`^-fkB}{m#Eo1nxp|!P|0zyNMQzrQYAt0`BMCsLM;k zN@mr*p~2HOiIc6;;ADkum?(1#0qPCLE?ioEShhu;cPA{5621lCO3ZtP9^{7A9b0yH zaUCDq(1ue|`8YniAcoT>tTb zk$l2&X?S5kFkt<<(LpV&%%hOF@;v(X9Hw{Rgi|9e+z5e|#69i9FnN zibxz+e1x>m*5iF!Epji{*v1V7&}hHw0j;*Moq67C%3|!~1Cr z49X@yzaUF0MUJOmNF67!lx8zUaYWf46{Hb3nsjqB3QQoJPW@5OZxD|_*cbS0Q(4t8@L>jTVAS%05y}qm+}4ZjJXvvnT>t$x z`gE)2I&?{yh5aY?6)$K6FP5vxKyaPkt4u|hoRO@ao~ZW6Mk*Mo+95twafxq{jN?A`&1x}Ute>mY;CAnrW3TJnSV6^+UK1uHR$_BIUhK|CWq-}I#S;A;<2BT8tTN?m*zMZxGHZ%4<&=e$C}#Os&?b(UTw9-CGJMhF(1*qLx(%8 zvwEX#2{x2|`v|I%`uHE;myT4`X7Ram>VVHf3mw}v1tU9ruBC7Y!R1f3)Clpd%ymrr z+2@91jD0TRIsE-2Z=$Y*?=U}k9KKtmZT=lhrp)ROYA{kpvR>ngFotoer&c*hD8mNv znzC}BHC}Dgj_+@Kcsi0|y`XNYvAmo>&SROg1}Y;OYuTg}@vQzfvc#ACBPX|ogF`As z^I1YRb^QC|f-~^rq)M48D+lJ)_-p`n|3*~e89X~)BhbXiw%+HJq2O&Pp?N!e*yk|~ zvfS*6!NfuCzgSXNmlpT*x>c}$Tn1Vx&Z zy}hR$^*ksq8ZMA0M6J+11=`4w5e*rR=ERkF`^cmPRWXpJ&i%boF!4Jh(PD#jc5&g5 z)k5P=IJG?|JKZ6urOc%T<+PozO+9X7voL`-EHsL4SHBIUezczI>49ErD@sia~QR@lQg$IjP(y!QL0doYaN<$bU1 z`6tivB?bb%fo{VN*KA$qjQFvKA5(!Wq)?g0c){k;ek>1K?4k9(jkV}ay7x>Eh1CHA zFgb{QtONteIBQ($gB;6->ZZs01ZS_O7GHI-RX*OK{JJBpRgiSGODq@i{PykJ++tf! zuGJ3bRT1eI$pwb~AQ#h24+aDYehV|bJEFlmPoc*Hvem%}p~`B+2&c^vnpyFzfk3v< z%nMOhATQ1y}l>k1DL#0zq+D3f!x60aR|~klfn5) z0PK8J-EPu0BN&2CU-`^2sCz~fCsHya82N7_>oDfbYzaFJ_9sB_vg_TBIww)m;MGA9 zxanz>Bbc6T&&qX+C(JT7c0;wTDOB$={Ve%i)!}Z|IDTHUVnd2m5o8Wy=#Z< zFU(_+@sG0ovlwmnQ2F(jhS8eL#=4}Jg9E4Gg{4mMF^gPYPcRRMzNBkb5bT5b&qqlb zdpPQb3WKj zS7<*I4(G)?4WKHA6cT}U`D+oXiUPj~^qEa5T_6^}tGc$cttYi_)#!dso$QwgS)QS!;w`DLaIyyBW}&WI>DuE>~AXRGqybaJFmed>pnQC{3=)m&$bDY$2)LK4ImwbMKs9JZE# zKG>xbKg%l2vje|W=h%HQ{E-p_j>yPg4=!hUM$%QKOJ9cE*O1(t5pQR_L7A$;hyQj$ zib=)8T{J*>+1b*%9Ty(^(_;DAN51G7-nemX2|3_pHD=w-+i+&o)XV*+XIDd3XMnPM z*k^<1uEoFKy39vml!CoIwOtNxmv(YQGIn`pTeIWhdZo$N6j$SW*^Jy!Ar#jkO&}n+kBU^FZ)j%Pkxj&lVlQoL zsFi*2m((m276{TJI*D~Z{(XPFZIP3;))Oj?DTG4jGX-d|t}}gy-^x6R1>rRC{`XF_ z`9E|n?gXM-cvUOw^yG!{_Z|rYgLif%KpK;iLAws?FCKreg5+Ncpof%UfGk4e0f#R` zB0=JZziR|Ycx>9nx}Vj8wxXB7$Hsq@`E!PE{#9n{XGS@H#3MI*Jzjm-tHZh&c7Dt6 zCD-^b7hX_%7BqI&fPO-g6eN>W9M9Gx zpW}^lu?wEa=9bz5#P4t~1Erkrss6M|gZ7j^*9wLW6XXR~`(17Fh|BZlOgA1y`1`)z z0=2|i!V?0`=vg_1ljR*hW|zm`!hagy?7$2#k`}#&2t1y@`NYqp2Y&g2x%G9A@B{j1 zD#MJft_WU!iuhx}69+vdHhu~B>kr|>X>=*WJ(v5mr3+080U?(m#T*zs2~;WMn;}TR z1V@`IrAb+u4ZMJW4gT{ExZ@aBOx=quF_I5>K^Kx!EwhNSuBY|&t*uvqm!-IzrEOjW z25q%P4JAm-An-adn*o?^dOE7vWvl4dV*1v-KM~o*+#g~qpUNmpH+X9Jz@SWvc;N!m z##9|+-^}x%y?fD%;{(B~UFobKAKEle`b^_IWnm??11f{X6YEnn5!;RR*m{4Vo5Yk% z;G1^OI`)v~yeDVU54QI?rBM68b8L@{IEl7GK43wRq>M=zS*V5x+~llaQlHRL+ek#B ze2)bxN8gCOS$_ZifkBFCd$GX-3wW@%*MJQ%bogDpY)e@9{t6iZPphr%=Y=ID5r!OL z)z#XdsIS^z@bG;r8wx_qY(-x#+(lo01kJB>qswX8_JpPU6D&CFv@G~Y)v_d$H(5f#vwNlb@eKH0B9)7TFjx+x`AM zp_ZnmwC^9~&_UExsqa`QU1zj7RV96am%B|-Df{@S@06ONFz%|iL?yQN64}JS0On#n zsR^+%GmD?DN#Be3M;pw};|Ad7V2~OL6?&MF`+mn41%-`&?$Ntcr2MtpQNSlu>ETnR zn4vk-Z*6VUt!;O>$f*}c_6fy*^x{o)CkdVVVAU9R zvBB&dD%O0|KMhmWHD}#UtJ9R=V0QSB|mXX_TrS=+p4cO`GW|fw;-nKhtu}4~;yR z&r0fe7;6{i|BRJ~)qEe7dDnP~-brwftYOYfJccDtbQ40!r`NtE(&EwG1|TwI(fDida3)kr`SxK2;ZXOkFcmxCzqNSq}aWu8Zrw0$vPJvvZlm zS91kP4(ASL&+$6{651^Eh(pad`vC6+s(}ME_m@k`|7O6djE9M12FW|7SjCvXoJ+vP z;d8R~zhnCn$9s}+m$B|}slsD%7S@A{m28u_#m|{%Wz|ybtj{6$tR{~iBB?FC1r{ZX zU(cCgxYa~Mj16K*&Vzc>>{Gw0Sjg7@I^n1U_bo54}D=0_hjp+UFJxc6I82iqVon8_+ubXD` zlsq6D`6jn)@9a}$jZrY`SVc;-LN*66@gZYc%+4jey85^!j>GEZi|&O0YF~Ml42yMB z;P9HmDpVIL$AYRT2yPd*U+nK{=t%~l!##%}VUk>IXb}PmGty~_l;&HhQDkFavt5Yo zoJ;mQc9MdZ>~YAJ!yx0-cx7DZtj=CMq;1>{bW&Qc4lyd6UB$tP@(_B#_I!i>I|co= zGlq=sncamUE`ndvRNXAAW@@shy9A&k+p;zXaJ|fu`Pj*4`9>aIPNN4HAJ|xs=p0Xv zzm7gJ#NjRSVU?BfEH_?Kv^hOr3qBOhwXF2`F2$^`!_PB;pI2P~YVfbexP|42zqy`j z)6=~Qjpd1cpn3ssdH0mku`8>r?^|YDuICxA`aUZfQeP4?piR_dnS555yBJvBRFVuK zpA!hz(b4O1prCR^vxxg1Z#?6IZX64*x3QthpD}ifp<=tcdqBGHM*Pl?0V3o}VL*KU zj#h@&&!%zHzkVQ!Oi*vk6@ATj066a`yuoICWe7Y9;FidB}N#F8)8nuKhK5;5a7 z;tE-mNR{6`OIp3Q$bQNPIs}I*mtBb7v9v^t4Y_0rXyNi2tE%4eP8ZfYQIv1d60zBs z7KWu8aVD@!GKLTApqP^&HuOT#y6*Zu)<1>}uzYX6T4*jSleKPv=jhM<<=yW;7xI>m zD?v)}2`xe$E+iwZsAyIRGQYaR(Q7A(5hnNwx6EX#C~jqsp5c14C5K&G^U33;5Pg)$ zbA6@M4j+{}OKSZYuk%_>=5v~q2hmRS(nsTsPpZgXV+*P2OBN(hlw4WR|d3QUebF@cg1Eq|b)eqrN3~3a8EP8o;Oe=~!A!=YtnOthbNVEUDYu zZ;RR4ecN|;cR#kwzO6b93xECZVF9KTzI4BV&w4sabXUAt$~*%rfu#NQSDI?^Te+rG zw4MJNzx3GTg@ZIuku3x06}bk+;>FLF{|>%+-0@_RnuN7am9#X{{W$zxmWz$DuzA0! zf!Fm@$Z4gSRIE8s7ENdW07F%e9lgrbK(Fi0sjN2uBg=upQu^LPM1kMQFTB3j`CA;P z#FEw*g>lD~zn$%0@9sMOc4rI__DLL7*I<6Rcw>RbHZnS?uEY0J7!QioJ;AZl+v=eA zsil=R>$Qn==K$JKng-fsViy)BlPX-z<Dh zr_MhoFCQx55!hvPux%aFLVy19cpZ z+MvNu1njt>`+lHG@N0AvSg5(3key6?$jLE4-LmC7;2pjFb%hvBWrJoQK&TnNgHM>A z`;h{}&l@kS_pC{-t|J(2raM1I9(TwS@)-dRpPD*H<-L+)wo34x4Z;L5cN#_}=>nri zsK$5I&CUWt4LQUX$5W)ZM1LyS9Ms(0J45hy&a5KMwn2RQZdzkk{-U(nIzf3?SBx6J z>8z|=oqGAEi=t3jSPGjy#ETI;Jr~uY2R;nj!2*75xS>^rz#uwzp_H`UDONO`@6WSu zk&qs|7Y*Cze`$|8wg)5}&_@E60nRS&;cp(fjmDhO;tgU+$LDo8oI5Qp?lJ z{X29ltMF#b@*sn_qK0Y61yzSSS`m@0jON!15Rv`m6Avf7U}k~%1%UfXL*v?}mr5S% zc6izQwe;5QjtIKMzZTQYwK8?Bhd^5J3(hfESeLF>?8Tu1Ylr_i0BKwUPsmF=$@h1pFQwR2_+0&XKsXJ+QO27GWQ|P-&Y3$knZE^ zL|OD`iA+fzI_4>LiYned;y#RA=;^LJ-P6D0RaNJW&p6S23L+6CF+(&9lL&n@>BJ1~ zu#$l}G49g5z+ng%y2EN$>Tck|WE6_a=5!qUpni4kos09w}!+*q&cr1^)_lK+H>V?Ng z0BL0E;qAKz`1|k@OKaf0f5w8%U$f~oBns5>)GmAQ+<5qPMMYZ+H+N2j9Yp&2Mj^H_|5zkJ!((ASJD_jNHunw&5<5OP=@ za=i}!kwPQM!lx{{F3q;6L^H3(K)QO)FmDF3Xo3t^Q2>?Dv8d@cf^j59cFN@DJA9m3 zhwEd@?c^m0L#-mC>f&XUk(Fh)V4Xj-D52-_z#BZX8T$A2xh8Ab4&JFVs}E?}8L{e^A^TlX6!9oo zAGWjaLdFV&1OZJGk`zHz^B(&o3>CgFY+TAOF`=whW>z1$wBv|Fuytg+JAmTfVE;vi z>nhavhHURNYfP>k1}<9JySSu9OCeG3HzYuxn$MSn#}i$CCMx_vEouWvvuD8`xR6*i2brv6Hu>G^H2#~0BkfYCze zU|W!&u6r>An}U~J(PU#G*Bw*z`2ot(^&Mytx|XB(l}s;A~xMYb9eW_)J)NVCFYj%?Jf`oa~|$TDngJVos|MU@K0 zg-UI{p_mwyaP2e_mEol1+Em+^p@1wpuMk0F*&N&3$`7wW5st%pD>!3kxih zrgr@O!#@{t2WDS$P>fZSz)uku8Yz~k?C;;+k@CBefjf(~^I{0l(3dT&ZZxpr@jG%}D?V(Z1{63a>>_suTF?PRjT+tijpD8Y6!lzsx_I9LNYi0j-HIY!ONC) z>RRklXXsXp{K8WNr5O&k>(~pI7k>-UsW|*~jCfy$>+CBgK0NRt)B*zw4IRsT;@DVr z3wdEu6*A^UXTNb`z36~T?Pi-D0@)#b77C7n^I6S=b6QLOOP|4&UYqAh@Nx|#UG^g0 z4I4~OW(imS_fI@-Wg_a*?-TN@ww->}!j)164PU>sd|i17%Y?XOJR+ZOQ`1$*jwnn)6s8%SlgP`qO#M7ZZCut}IMW8F0)M`C$i;PgzLO zsDrq9Ip7>H1DjbQ=YObA{2cX>H{ zltp&Rnth|6<#aJ$j4eqmG`&+%*{FRAo%x`Shsh&~FksPozMi>Z1-}1;h;)rFgI*Gm z#%du$vjG1PyZcK^5=5Qm2jc?McJ345z#oxFvC_psomU0Rj6ADR^_&<}9(uses|v%? z8@L~-n7MbWRhRI)5cycx1UW;K7N3BGVY;g+;jln4)VE8aDZ4+S+p9NZmXI!sh$cfR ztXdH^#HM4PB+CCx$ke&XYrvRT!r#Ad5|O|~9D8E#Ct2SKx}s9e56ejnyx5qZe3hsV zB=|TvbbnqDDV_nJ_b<7-nUouLF81;{RJM}=S4!=FYEirRRHDfdDwnevd!Yeh1!MAW=Kt>V4HjK z=M?w!#Q#kGq77n9$x-8)Q>?7S=#?K8kv7|<4@ohdx@CEHx)z_QrU+Ok@x{7*+3?{C zhqxZhJ5p0TQ$DX2OD$Y7p}JD9&reS(j9ZJCd_6i_S70NU4l=VloVB%kgrj_+`s+5? zitrG-w`j1HBu7?VJt1EgLREvut(Ei%X@`2xn zH!cfG^&Lv3R%&iIzc9GsKoabi5LF{pMplxwTS~=2uhKP>h;3O4mb227)>yVY_@Nl> zcyQG=cCacbJ*>mbOgyv`;<)-QdL^9Pq)JVfa&-mL(%P7=S{-`i>ZvFRTCUGCA+vRd z`ZR}JC42gOBMRwc!9j3r8Fw%t0tr0Kn{qDQdN)-h9&=tjb_(lGm{q5r!!coNYAef1 z>QFJ$pNVvcCKS)@FU!bH&SmdwYFs+%>qDb}FEFaYD1ncYcCas_Ki4pp4B`4;Pm%Zb zsDB=6m13WqEz78Q^3c=&rb~wFFvpD6rnTC-^?_wp{G6)3kJWT}%d6w z^mBL-qkRAq%rv*`t-;`ScpVr`P3|kqPzeUzggDjs)YL*d{u-SPH95I-qi)Ox1OH7< zvyUuGMo1fvs^YCCjixaEcYkHLJ8_oCX`3KBav*%}tjnL>)ppwd5ao^;(qe|tRctyB zM}2bi2ft#UcsZ=w!RP?`RYw2V9t`Y6bNk;_3C?_Kb1rBDoM-nu(3EOk{8Vxo#&{+3 zTDI7AbCf{QOs6h86y{eQB&?~9sXu0t_}TQwde7FIj39@?ns|Se+XQa=DsL1}0>5l~ z@DG=RDJEq0Ua(0Q?eOMZ-VE}6wBkbdd9q_-pKcC#CM64c3F|mxK`$X+&~B{FdTcT) zK@-_kc_drgJu*dsd=vO`SM!<-Mo+|peI_?dMm=d{&z~;44!`u#udMGQUm!Dcxd`qr zL-Jzw337YAO`P5*mDLQj8kH~0FYA9ZfQM}_WWxOB3@rpe{J~&a!wJoWmIOUcbn;Pp z=O+=e9IsUdv9hoVWx-!VMfl>^mK-XdCcuBXT5r4^{&wWlG>9`f9Sq6^Ydnq#TwM-C z5QZM_x4=_};>zJ<#SAeU19kB5wSYwx4a&c~m=C>;R>*V2;-z~U`HS>@5&#a&5ZK}M zA^-Mef(AW3iXU`#lqxWAAv(4WJt<{MW@}wx+x!%ntGYc}Lf6W=Er`}L;Ux)ouJ>z% zv?D}S3B0|zTNs-(ke5z&dSYe;c}eBngw!b=D7R)JL2~I7FeBAhCy}EkKP@>oby?m4 zB?U(|p(0^o!ujfIvKJYq;7yclV0Dc01zr&P09JqaSAsg3A#gDON6A27Aau#T>JaP3 zCmmhA4N#yaVg>+F9aI&Y5BBq#Myeip|)UV-Iv zZEsMYp6U;-Cg}?vr&`f`W-VQ~3Q*9oW+81D!NFCUl>8S*sAdU~smaZ)V-hQ}Fv==} zzwnaN3xS}o$an}76KAEhC#&JZcFI~7lj$a0qF@-!%f~i$*rIh zDYA&Cr5sg-m5!p*ka+%|-1~Zou;%9fZedJMMifrMD$-cKH+wvvq+>=6`~bnx^NloQTCnN_q{aL7Q}n zj!qV0#Rn+;saH*F<)h4lB|Zn_ogy{x;^M`joQ9<+Yr5q2I$s~sQrlw;?}I)``ubyG zKAzZY)tF2Jot(sBhJCV7=DX!|ELGGqVrzP?mi_u`S$;xjy&AkTBhb{!ieW=^Xy>R+j_4>2^+GJ!w3JV^?k@cw$O?z$TX zc&?N4^5@6Z9{_|(x-|3sCoZo>Xfq~=f2V1Zi}jn8zEc$(HhG|tznzb>Cf;kj96=zx zMpHxkvhWBr8!e*%`oT?iqEF^O^RIkQH-IEwaU?GB1VtE-}LPCe0RW!3E~}&`)kphrSY6LUeC$SvH7vPU2b3&6Hc$ zrxFW>9&1JA`95nP{g9N4qOUbXk)sp~c*7#< zd^!^CU@SmSOM8S&rcal)-7Wn3{VHt&ww?ywh^}@h4@4p|j8S6=dCG6o($uxC?+V0jwFM7y z=OOfLx^pA*a&jH#;uxUmZqkDD^KE`|QRyLQP+h2_v~ZrtSi;VI^$gX7%0y zxVgCb*txjbxdgPid4xX-3iI%?a&Za2H!J@S|A&F2v!$K2@BeGS&GSDEr1)NY-wl}l q_Z>X!9If0v%p6_*FB|TU!o1x7(*}DsCHvh5pdhO%Q!iy2`ab{#fWxW) literal 13617 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 diff --git a/assets/creeps/quick/5.png b/assets/creeps/quick/5.png index 5851161137c513ecdb230b357cff69019b8474fc..046d3a4dec70862170c87f9a34559507c01cd47a 100644 GIT binary patch literal 13710 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 P4M0&=O{PZ5Ead+H)rFvT delta 13414 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 u-)kJ4|Fb5+{nD01&P_u3|KHGu-rJx1? literal 13664 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 diff --git a/assets/creeps/quick/7.png b/assets/creeps/quick/7.png index 5851161137c513ecdb230b357cff69019b8474fc..65f4bbe7f3da7af458905b22a820f93f5c5c9b13 100644 GIT binary patch literal 14883 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 WImmVbz2uh+Kvq&oqDIU(_zRk%R!c1gL(-)&`; i4RsC8Lkvx<42`Tzj3J62_G`N`0D-5gpUXO@geCx8c^mcs diff --git a/assets/creeps/tank/10.png b/assets/creeps/tank/10.png index a6529626c72ec7d1001fb9e743a2001d6b65fd2e..c67f03f18b1f4bf4252cb190b273d28529228251 100644 GIT binary patch delta 90 zcmcavakFAV9VZjJxTx0q_kt`N+e58+OiZ*546F-5!g11Yu02* l8(C!|T?6wFBV#KgLn{*_h@8Or$+H-Mz|+;wWt~$(695Q48gT#s delta 75 zcmcavakFAV9Veq8ACI=u*`#M1+e58+j19C646FzRk%R!c1gL(-)&`; i4RsC8Lkvx<42`Tzj3J62_G`N`0D-5gpUXO@geCx8c^mcs diff --git a/assets/creeps/tank/2.png b/assets/creeps/tank/2.png index a6529626c72ec7d1001fb9e743a2001d6b65fd2e..c67f03f18b1f4bf4252cb190b273d28529228251 100644 GIT binary patch delta 90 zcmcavakFAV9VZjJxTx0q_kt`N+e58+OiZ*546F-5!g11Yu02* l8(C!|T?6wFBV#KgLn{*_h@8Or$+H-Mz|+;wWt~$(695Q48gT#s delta 75 zcmcavakFAV9Veq8ACI=u*`#M1+e58+j19C646F;%41>-5!g11Yu4mh lma@u5x(4PUM#fe~hE^s<5IKSKlV>pifv2mV%Q~loCIBDu8sq=~ delta 75 zcmcare5-gu9Veq8ACI=u*`#M1+pk&h7#nCC7+4t?{CTx-(d0}^Rk%R!c1gL(vn*vN XH(Lq|JnYwYWdH(CS3j3^P6=d#Wzp$P!3Mj0;v delta 90 zcmbPJG^c1n9Veq8ACJzSmET=Awo6#>7#nCC7+4t?{CTx-(d5+@s&Ikc?UHhn?^wtx i8|oUGhZvez85&uc7(*04?ALZ>00K`}KbLh*2~7Y{dKH`xfwlxu9U|`TF zag8WRNi0dVD#^@EEiOsSEnqM*Ff!FOFw!+J4>2;fGBUI>F@hK(aDMVEpdJQKS3j3^ HP6=d#Wzp$P#0&>9Q? delta 90 zcmaD@{IGaJ9Veq8ACJzSmET=Aw%@hjF*ejTFt9Q(h?=`fY;u96DqKMOfY7SR3oT`p i4RsC8Lkvx<42`TzOdyI?G(=A`0D-5gpUXO@geCw+`5K)7 diff --git a/assets/creeps/tank/7.png b/assets/creeps/tank/7.png index 537912d1f2c489a15e8898e0990b57d0caae9361..88404b05fa9da699a3bafcbd46c8b60340cb1242 100644 GIT binary patch delta 114 zcmZ2nw76(O9VZjJxTx0q_kt`N+vP2IOiZ*546FH`xfwlxu9U|`TF zag8WRNi0dVD#^@EEiOsSEnqM*Ff!FOFw!+J4>2;fGBUI>F@hK(aDMVEpdJQKS3j3^ HP6=d#Wzp$P!3Mj0;v delta 75 zcmbPJG^c1n9Veq8ACJzSmET=Awo6#>7#nIE7+4t?M9p0#HhHy$DqKMOfY7SRcPwNl XAGHt`P|*-Q%>V?Ru6{1-oD!M;3KuB0H4&LS%TiX^ iNY}tT#K_pn$k58f2%=cv{Nz~-K;Y@>=d#Wzp$P!?VHxQF delta 75 zcmcare5-gu9Veq8ACJzSmET=AwqLX0F*ejTFt9Q(h?=`fY;vZhDqKMOfY7SRvn*vN XH(Lq|sA!0uW&i?DS3j3^P6i.map(i=>d[i]); -var Ca=Object.defineProperty;var Ta=(i,t,e)=>t in i?Ca(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var x=(i,t,e)=>Ta(i,typeof t!="symbol"?t+"":t,e);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const n of r)if(n.type==="childList")for(const a of n.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function e(r){const n={};return r.integrity&&(n.integrity=r.integrity),r.referrerPolicy&&(n.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?n.credentials="include":r.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function s(r){if(r.ep)return;r.ep=!0;const n=e(r);fetch(r.href,n)}})();const Ma="modulepreload",Pa=function(i){return"/"+i},Fs={},ii=function(t,e,s){let r=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(e.map(h=>{if(h=Pa(h),h in Fs)return;Fs[h]=!0;const c=h.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${l}`))return;const d=document.createElement("link");if(d.rel=c?"stylesheet":Ma,c||(d.as="script"),d.crossOrigin="",d.href=h,o&&d.setAttribute("nonce",o),document.head.appendChild(d),c)return new Promise((u,f)=>{d.addEventListener("load",u),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${h}`)))})}))}function n(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return r.then(a=>{for(const o of a||[])o.status==="rejected"&&n(o.reason);return t().catch(n)})};var P=(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))(P||{});const Ni=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},We=(i,t)=>Ni(i).priority??t,ht={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Ni).forEach(t=>{t.type.forEach(e=>{var s,r;return(r=(s=this._removeHandlers)[e])==null?void 0:r.call(s,t)})}),this},add(...i){return i.map(Ni).forEach(t=>{t.type.forEach(e=>{var n,a;const s=this._addHandlers,r=this._queue;s[e]?(a=s[e])==null||a.call(s,t):(r[e]=r[e]||[],(n=r[e])==null||n.push(t))})}),this},handle(i,t,e){var a;const s=this._addHandlers,r=this._removeHandlers;if(s[i]||r[i])throw new Error(`Extension type ${i} already has a handler`);s[i]=t,r[i]=e;const n=this._queue;return n[i]&&((a=n[i])==null||a.forEach(o=>t(o)),delete n[i]),this},handleByMap(i,t){return this.handle(i,e=>{e.name&&(t[e.name]=e.ref)},e=>{e.name&&delete t[e.name]})},handleByNamedList(i,t,e=-1){return this.handle(i,s=>{t.findIndex(n=>n.name===s.name)>=0||(t.push({name:s.name,value:s.ref}),t.sort((n,a)=>We(a.value,e)-We(n.value,e)))},s=>{const r=t.findIndex(n=>n.name===s.name);r!==-1&&t.splice(r,1)})},handleByList(i,t,e=-1){return this.handle(i,s=>{t.includes(s.ref)||(t.push(s.ref),t.sort((r,n)=>We(n,e)-We(r,e)))},s=>{const r=t.indexOf(s.ref);r!==-1&&t.splice(r,1)})}},ka={extension:{type:P.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await ii(()=>import("./browserAll-w8xss8gu.js"),__vite__mapDeps([0,1,2]))}},Ga={extension:{type:P.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await ii(()=>import("./webworkerAll-tB1Muq8I.js"),__vite__mapDeps([1,2]))}};class lt{constructor(t,e,s){this._x=e||0,this._y=s||0,this._observer=t}clone(t){return new lt(t??this._observer,this._x,this._y)}set(t=0,e=t){return(this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this._observer._onUpdate(this)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return`[pixi.js/math:ObservablePoint x=0 y=0 scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this))}}function ds(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Or={exports:{}};(function(i){var t=Object.prototype.hasOwnProperty,e="~";function s(){}Object.create&&(s.prototype=Object.create(null),new s().__proto__||(e=!1));function r(h,c,l){this.fn=h,this.context=c,this.once=l||!1}function n(h,c,l,d,u){if(typeof l!="function")throw new TypeError("The listener must be a function");var f=new r(l,d||h,u),m=e?e+c:c;return h._events[m]?h._events[m].fn?h._events[m]=[h._events[m],f]:h._events[m].push(f):(h._events[m]=f,h._eventsCount++),h}function a(h,c){--h._eventsCount===0?h._events=new s:delete h._events[c]}function o(){this._events=new s,this._eventsCount=0}o.prototype.eventNames=function(){var c=[],l,d;if(this._eventsCount===0)return c;for(d in l=this._events)t.call(l,d)&&c.push(e?d.slice(1):d);return Object.getOwnPropertySymbols?c.concat(Object.getOwnPropertySymbols(l)):c},o.prototype.listeners=function(c){var l=e?e+c:c,d=this._events[l];if(!d)return[];if(d.fn)return[d.fn];for(var u=0,f=d.length,m=new Array(f);u$t[i],uY:i=>Vt[i],vX:i=>Yt[i],vY:i=>Xt[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>Hi[i][t],sub:(i,t)=>Hi[i][V.inv(t)],rotate180:i=>i^4,isVertical:i=>(i&3)===2,byDirection:(i,t)=>Math.abs(i)*2<=Math.abs(t)?t>=0?V.S:V.N:Math.abs(t)*2<=Math.abs(i)?i>0?V.E:V.W:t>0?i>0?V.SE:V.SW:i>0?V.NE:V.NW,matrixAppendRotationInv:(i,t,e=0,s=0)=>{const r=Ur[V.inv(t)];r.tx=e,r.ty=s,i.append(r)}},He=[new ot,new ot,new ot,new ot];class z{constructor(t=0,e=0,s=0,r=0){this.type="rectangle",this.x=Number(t),this.y=Number(e),this.width=Number(s),this.height=Number(r)}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 z(0,0,0,0)}clone(){return new z(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){return this.width<=0||this.height<=0?!1:t>=this.x&&t=this.y&&e=h&&t<=c&&e>=l&&e<=d&&!(t>u&&tm&&et.right?t.right:this.right)<=k)return!1;const A=this.yt.bottom?t.bottom:this.bottom)>A}const s=this.left,r=this.right,n=this.top,a=this.bottom;if(r<=s||a<=n)return!1;const o=He[0].set(t.left,t.top),h=He[1].set(t.left,t.bottom),c=He[2].set(t.right,t.top),l=He[3].set(t.right,t.bottom);if(c.x<=o.x||h.y<=o.y)return!1;const d=Math.sign(e.a*e.d-e.b*e.c);if(d===0||(e.apply(o,o),e.apply(h,h),e.apply(c,c),e.apply(l,l),Math.max(o.x,h.x,c.x,l.x)<=s||Math.min(o.x,h.x,c.x,l.x)>=r||Math.max(o.y,h.y,c.y,l.y)<=n||Math.min(o.y,h.y,c.y,l.y)>=a))return!1;const u=d*(h.y-o.y),f=d*(o.x-h.x),m=u*s+f*n,y=u*r+f*n,g=u*s+f*a,_=u*r+f*a;if(Math.max(m,y,g,_)<=u*o.x+f*o.y||Math.min(m,y,g,_)>=u*l.x+f*l.y)return!1;const w=d*(o.y-c.y),b=d*(c.x-o.x),S=w*s+b*n,C=w*r+b*n,E=w*s+b*a,M=w*r+b*a;return!(Math.max(S,C,E,M)<=w*o.x+b*o.y||Math.min(S,C,E,M)>=w*l.x+b*l.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this}fit(t){const e=Math.max(this.x,t.x),s=Math.min(this.x+this.width,t.x+t.width),r=Math.max(this.y,t.y),n=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(s-e,0),this.y=r,this.height=Math.max(n-r,0),this}ceil(t=1,e=.001){const s=Math.ceil((this.x+this.width-e)*t)/t,r=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=s-this.x,this.height=r-this.y,this}enlarge(t){const e=Math.min(this.x,t.x),s=Math.max(this.x+this.width,t.x+t.width),r=Math.min(this.y,t.y),n=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=s-e,this.y=r,this.height=n-r,this}getBounds(t){return t=t||new z,t.copyFrom(this),t}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}const gi={default:-1};function st(i="default"){return gi[i]===void 0&&(gi[i]=-1),++gi[i]}const Rs={},U="8.0.0",za="8.3.4";function O(i,t,e=3){if(Rs[t])return;let s=new Error().stack;typeof s>"u"?console.warn("PixiJS Deprecation Warning: ",`${t} -Deprecated since v${i}`):(s=s.split(` -`).splice(e).join(` -`),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t} -Deprecated since v${i}`),console.warn(s),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t} -Deprecated since v${i}`),console.warn(s))),Rs[t]=!0}const Wr=()=>{};function Ls(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 Ds(i){return!(i&i-1)&&!!i}function Oa(i){const t={};for(const e in i)i[e]!==void 0&&(t[e]=i[e]);return t}const zs=Object.create(null);function Ua(i){const t=zs[i];return t===void 0&&(zs[i]=st("resource")),t}const Nr=class Hr extends ct{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,t={...Hr.defaultOptions,...t},this.addressMode=t.addressMode,this.addressModeU=t.addressModeU??this.addressModeU,this.addressModeV=t.addressModeV??this.addressModeV,this.addressModeW=t.addressModeW??this.addressModeW,this.scaleMode=t.scaleMode,this.magFilter=t.magFilter??this.magFilter,this.minFilter=t.minFilter??this.minFilter,this.mipmapFilter=t.mipmapFilter??this.mipmapFilter,this.lodMinClamp=t.lodMinClamp,this.lodMaxClamp=t.lodMaxClamp,this.compare=t.compare,this.maxAnisotropy=t.maxAnisotropy??1}set addressMode(t){this.addressModeU=t,this.addressModeV=t,this.addressModeW=t}get addressMode(){return this.addressModeU}set wrapMode(t){O(U,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=t}get wrapMode(){return this.addressMode}set scaleMode(t){this.magFilter=t,this.minFilter=t,this.mipmapFilter=t}get scaleMode(){return this.magFilter}set maxAnisotropy(t){this._maxAnisotropy=Math.min(t,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(){const t=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=Ua(t),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};Nr.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};let Wa=Nr;const $r=class Vr extends ct{constructor(t={}){super(),this.options=t,this.uid=st("textureSource"),this._resourceType="textureSource",this._resourceId=st("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,t={...Vr.defaultOptions,...t},this.label=t.label??"",this.resource=t.resource,this.autoGarbageCollect=t.autoGarbageCollect,this._resolution=t.resolution,t.width?this.pixelWidth=t.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,t.height?this.pixelHeight=t.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=t.format,this.dimension=t.dimensions,this.mipLevelCount=t.mipLevelCount,this.autoGenerateMipmaps=t.autoGenerateMipmaps,this.sampleCount=t.sampleCount,this.antialias=t.antialias,this.alphaMode=t.alphaMode,this.style=new Wa(Oa(t)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(t){var e,s;this.style!==t&&((e=this._style)==null||e.off("change",this._onStyleChange,this),this._style=t,(s=this._style)==null||s.on("change",this._onStyleChange,this),this._onStyleChange())}get addressMode(){return this._style.addressMode}set addressMode(t){this._style.addressMode=t}get repeatMode(){return this._style.addressMode}set repeatMode(t){this._style.addressMode=t}get magFilter(){return this._style.magFilter}set magFilter(t){this._style.magFilter=t}get minFilter(){return this._style.minFilter}set minFilter(t){this._style.minFilter=t}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(t){this._style.mipmapFilter=t}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(t){this._style.lodMinClamp=t}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(t){this._style.lodMaxClamp=t}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){const t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))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=st("resource"),this.emit("change",this),this.emit("unload",this)}get resourceWidth(){const{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){const{resource:t}=this;return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}get resolution(){return this._resolution}set resolution(t){this._resolution!==t&&(this._resolution=t,this.width=this.pixelWidth/t,this.height=this.pixelHeight/t)}resize(t,e,s){s=s||this._resolution,t=t||this.width,e=e||this.height;const r=Math.round(t*s),n=Math.round(e*s);return this.width=r/s,this.height=n/s,this._resolution=s,this.pixelWidth===r&&this.pixelHeight===n?!1:(this._refreshPOT(),this.pixelWidth=r,this.pixelHeight=n,this.emit("resize",this),this._resourceId=st("resource"),this.emit("change",this),!0)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this)}set wrapMode(t){this._style.wrapMode=t}get wrapMode(){return this._style.wrapMode}set scaleMode(t){this._style.scaleMode=t}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=Ds(this.pixelWidth)&&Ds(this.pixelHeight)}static test(t){throw new Error("Unimplemented")}};$r.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};let Gt=$r;class us extends Gt{constructor(t){const e=t.resource||new Float32Array(t.width*t.height*4);let s=t.format;s||(e instanceof Float32Array?s="rgba32float":e instanceof Int32Array||e instanceof Uint32Array?s="rgba32uint":e instanceof Int16Array||e instanceof Uint16Array?s="rgba16uint":(e instanceof Int8Array,s="bgra8unorm")),super({...t,resource:e,format:s}),this.uploadMethodId="buffer"}static test(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}}us.extension=P.TextureSource;const Os=new W;class Na{constructor(t,e){this.mapCoord=new W,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof e>"u"?this.clampMargin=t.width<10?0:.5:this.clampMargin=e,this.isSimple=!1,this.texture=t}get texture(){return this._texture}set texture(t){var e;this.texture!==t&&((e=this._texture)==null||e.removeListener("update",this.update,this),this._texture=t,this._texture.addListener("update",this.update,this),this.update())}multiplyUvs(t,e){e===void 0&&(e=t);const s=this.mapCoord;for(let r=0;rthis.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new z);const t=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(t.x=0,t.y=0,t.width=0,t.height=0):t.copyFromBounds(this),t}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=Us,this}set(t,e,s,r){this.minX=t,this.minY=e,this.maxX=s,this.maxY=r}addFrame(t,e,s,r,n){n||(n=this.matrix);const a=n.a,o=n.b,h=n.c,c=n.d,l=n.tx,d=n.ty;let u=this.minX,f=this.minY,m=this.maxX,y=this.maxY,g=a*t+h*e+l,_=o*t+c*e+d;gm&&(m=g),_>y&&(y=_),g=a*s+h*e+l,_=o*s+c*e+d,gm&&(m=g),_>y&&(y=_),g=a*t+h*r+l,_=o*t+c*r+d,gm&&(m=g),_>y&&(y=_),g=a*s+h*r+l,_=o*s+c*r+d,gm&&(m=g),_>y&&(y=_),this.minX=u,this.minY=f,this.maxX=m,this.maxY=y}addRect(t,e){this.addFrame(t.x,t.y,t.x+t.width,t.y+t.height,e)}addBounds(t,e){this.addFrame(t.minX,t.minY,t.maxX,t.maxY,e)}addBoundsMask(t){this.minX=this.minX>t.minX?this.minX:t.minX,this.minY=this.minY>t.minY?this.minY:t.minY,this.maxX=this.maxXthis.maxX?u:this.maxX,this.maxY=f>this.maxY?f:this.maxY,u=a*e+h*n+l,f=o*e+c*n+d,this.minX=uthis.maxX?u:this.maxX,this.maxY=f>this.maxY?f:this.maxY,u=a*r+h*n+l,f=o*r+c*n+d,this.minX=uthis.maxX?u:this.maxX,this.maxY=f>this.maxY?f:this.maxY}fit(t){return this.minXt.right&&(this.maxX=t.right),this.minYt.bottom&&(this.maxY=t.bottom),this}fitBounds(t,e,s,r){return this.minXe&&(this.maxX=e),this.minYr&&(this.maxY=r),this}pad(t,e=t){return this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e,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 vt(this.minX,this.minY,this.maxX,this.maxY)}scale(t,e=t){return this.minX*=t,this.minY*=e,this.maxX*=t,this.maxY*=e,this}get x(){return this.minX}set x(t){const e=this.maxX-this.minX;this.minX=t,this.maxX=t+e}get y(){return this.minY}set y(t){const e=this.maxY-this.minY;this.minY=t,this.maxY=t+e}get width(){return this.maxX-this.minX}set width(t){this.maxX=this.minX+t}get height(){return this.maxY-this.minY}set height(t){this.maxY=this.minY+t}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(t,e,s,r){let n=this.minX,a=this.minY,o=this.maxX,h=this.maxY;r||(r=this.matrix);const c=r.a,l=r.b,d=r.c,u=r.d,f=r.tx,m=r.ty;for(let y=e;yo?w:o,h=b>h?b:h}this.minX=n,this.minY=a,this.maxX=o,this.maxY=h}containsPoint(t,e){return this.minX<=t&&this.minY<=e&&this.maxX>=t&&this.maxY>=e}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}}var $a={grad:.9,turn:360,rad:360/(2*Math.PI)},Ct=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},nt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},pt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},Yr=function(i){return(i=isFinite(i)?i%360:0)>0?i:i+360},Ws=function(i){return{r:pt(i.r,0,255),g:pt(i.g,0,255),b:pt(i.b,0,255),a:pt(i.a)}},xi=function(i){return{r:nt(i.r),g:nt(i.g),b:nt(i.b),a:nt(i.a,3)}},Va=/^#([0-9a-f]{3,8})$/i,$e=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},Xr=function(i){var t=i.r,e=i.g,s=i.b,r=i.a,n=Math.max(t,e,s),a=n-Math.min(t,e,s),o=a?n===t?(e-s)/a:n===e?2+(s-t)/a:4+(t-e)/a:0;return{h:60*(o<0?o+6:o),s:n?a/n*100:0,v:n/255*100,a:r}},jr=function(i){var t=i.h,e=i.s,s=i.v,r=i.a;t=t/360*6,e/=100,s/=100;var n=Math.floor(t),a=s*(1-e),o=s*(1-(t-n)*e),h=s*(1-(1-t+n)*e),c=n%6;return{r:255*[s,o,a,a,h,s][c],g:255*[h,s,s,o,a,a][c],b:255*[a,a,h,s,s,o][c],a:r}},Ns=function(i){return{h:Yr(i.h),s:pt(i.s,0,100),l:pt(i.l,0,100),a:pt(i.a)}},Hs=function(i){return{h:nt(i.h),s:nt(i.s),l:nt(i.l),a:nt(i.a,3)}},$s=function(i){return jr((e=(t=i).s,{h:t.h,s:(e*=((s=t.l)<50?s:100-s)/100)>0?2*e/(s+e)*100:0,v:s+e,a:t.a}));var t,e,s},Te=function(i){return{h:(t=Xr(i)).h,s:(r=(200-(e=t.s))*(s=t.v)/100)>0&&r<200?e*s/100/(r<=100?r:200-r)*100:0,l:r/2,a:t.a};var t,e,s,r},Ya=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Xa=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ja=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,qa=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,$i={string:[[function(i){var t=Va.exec(i);return t?(i=t[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?nt(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?nt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=ja.exec(i)||qa.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:Ws({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(i){var t=Ya.exec(i)||Xa.exec(i);if(!t)return null;var e,s,r=Ns({h:(e=t[1],s=t[2],s===void 0&&(s="deg"),Number(e)*($a[s]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return $s(r)},"hsl"]],object:[[function(i){var t=i.r,e=i.g,s=i.b,r=i.a,n=r===void 0?1:r;return Ct(t)&&Ct(e)&&Ct(s)?Ws({r:Number(t),g:Number(e),b:Number(s),a:Number(n)}):null},"rgb"],[function(i){var t=i.h,e=i.s,s=i.l,r=i.a,n=r===void 0?1:r;if(!Ct(t)||!Ct(e)||!Ct(s))return null;var a=Ns({h:Number(t),s:Number(e),l:Number(s),a:Number(n)});return $s(a)},"hsl"],[function(i){var t=i.h,e=i.s,s=i.v,r=i.a,n=r===void 0?1:r;if(!Ct(t)||!Ct(e)||!Ct(s))return null;var a=function(o){return{h:Yr(o.h),s:pt(o.s,0,100),v:pt(o.v,0,100),a:pt(o.a)}}({h:Number(t),s:Number(e),v:Number(s),a:Number(n)});return jr(a)},"hsv"]]},Vs=function(i,t){for(var e=0;e=.5},i.prototype.toHex=function(){return t=xi(this.rgba),e=t.r,s=t.g,r=t.b,a=(n=t.a)<1?$e(nt(255*n)):"","#"+$e(e)+$e(s)+$e(r)+a;var t,e,s,r,n,a},i.prototype.toRgb=function(){return xi(this.rgba)},i.prototype.toRgbString=function(){return t=xi(this.rgba),e=t.r,s=t.g,r=t.b,(n=t.a)<1?"rgba("+e+", "+s+", "+r+", "+n+")":"rgb("+e+", "+s+", "+r+")";var t,e,s,r,n},i.prototype.toHsl=function(){return Hs(Te(this.rgba))},i.prototype.toHslString=function(){return t=Hs(Te(this.rgba)),e=t.h,s=t.s,r=t.l,(n=t.a)<1?"hsla("+e+", "+s+"%, "+r+"%, "+n+")":"hsl("+e+", "+s+"%, "+r+"%)";var t,e,s,r,n},i.prototype.toHsv=function(){return t=Xr(this.rgba),{h:nt(t.h),s:nt(t.s),v:nt(t.v),a:nt(t.a,3)};var t},i.prototype.invert=function(){return _t({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},i.prototype.saturate=function(t){return t===void 0&&(t=.1),_t(yi(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),_t(yi(this.rgba,-t))},i.prototype.grayscale=function(){return _t(yi(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),_t(Ys(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),_t(Ys(this.rgba,-t))},i.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},i.prototype.alpha=function(t){return typeof t=="number"?_t({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):nt(this.rgba.a,3);var e},i.prototype.hue=function(t){var e=Te(this.rgba);return typeof t=="number"?_t({h:t,s:e.s,l:e.l,a:e.a}):nt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===_t(t).toHex()},i}(),_t=function(i){return i instanceof Vi?i:new Vi(i)},Xs=[],Za=function(i){i.forEach(function(t){Xs.indexOf(t)<0&&(t(Vi,$i),Xs.push(t))})};function Qa(i,t){var e={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"},s={};for(var r in e)s[e[r]]=r;var n={};i.prototype.toName=function(a){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var o,h,c=s[this.toHex()];if(c)return c;if(a!=null&&a.closest){var l=this.toRgb(),d=1/0,u="black";if(!n.length)for(var f in e)n[f]=new i(e[f]).toRgb();for(var m in e){var y=(o=l,h=n[m],Math.pow(o.r-h.r,2)+Math.pow(o.g-h.g,2)+Math.pow(o.b-h.b,2));yn===e[a]);if(t!==null&&e!==null){const n=Object.keys(t),a=Object.keys(e);return n.length!==a.length?!1:n.every(o=>t[o]===e[o])}return t===e}toRgba(){const[t,e,s,r]=this._components;return{r:t,g:e,b:s,a:r}}toRgb(){const[t,e,s]=this._components;return{r:t,g:e,b:s}}toRgbaString(){const[t,e,s]=this.toUint8RgbArray();return`rgba(${t},${e},${s},${this.alpha})`}toUint8RgbArray(t){const[e,s,r]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t=t||this._arrayRgb,t[0]=Math.round(e*255),t[1]=Math.round(s*255),t[2]=Math.round(r*255),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t=t||this._arrayRgba;const[e,s,r,n]=this._components;return t[0]=e,t[1]=s,t[2]=r,t[3]=n,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t=t||this._arrayRgb;const[e,s,r]=this._components;return t[0]=e,t[1]=s,t[2]=r,t}toNumber(){return this._int}toBgrNumber(){const[t,e,s]=this.toUint8RgbArray();return(s<<16)+(e<<8)+t}toLittleEndianNumber(){const t=this._int;return(t>>16)+(t&65280)+((t&255)<<16)}multiply(t){const[e,s,r,n]=Se._temp.setValue(t)._components;return this._components[0]*=e,this._components[1]*=s,this._components[2]*=r,this._components[3]*=n,this._refreshInt(),this._value=null,this}premultiply(t,e=!0){return e&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this._refreshInt(),this._value=null,this}toPremultiplied(t,e=!0){if(t===1)return(255<<24)+this._int;if(t===0)return e?0:this._int;let s=this._int>>16&255,r=this._int>>8&255,n=this._int&255;return e&&(s=s*t+.5|0,r=r*t+.5|0,n=n*t+.5|0),(t*255<<24)+(s<<16)+(r<<8)+n}toHex(){const t=this._int.toString(16);return`#${"000000".substring(0,6-t.length)+t}`}toHexa(){const e=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-e.length)+e}setAlpha(t){return this._components[3]=this._clamp(t),this}_normalize(t){let e,s,r,n;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){const a=t;e=(a>>16&255)/255,s=(a>>8&255)/255,r=(a&255)/255,n=1}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[e,s,r,n=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[e,s,r,n=255]=t,e/=255,s/=255,r/=255,n/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){const o=Se.HEX_PATTERN.exec(t);o&&(t=`#${o[2]}`)}const a=_t(t);a.isValid()&&({r:e,g:s,b:r,a:n}=a.rgba,e/=255,s/=255,r/=255)}if(e!==void 0)this._components[0]=e,this._components[1]=s,this._components[2]=r,this._components[3]=n,this._refreshInt();else throw new Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);const[t,e,s]=this._components;this._int=(t*255<<16)+(e*255<<8)+(s*255|0)}_clamp(t,e=0,s=1){return typeof t=="number"?Math.min(Math.max(t,e),s):(t.forEach((r,n)=>{t[n]=Math.min(Math.max(r,e),s)}),t)}static isColorLike(t){return typeof t=="number"||typeof t=="string"||t instanceof Number||t instanceof Se||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||t.r!==void 0&&t.g!==void 0&&t.b!==void 0||t.r!==void 0&&t.g!==void 0&&t.b!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0&&t.a!==void 0}};ae.shared=new ae;ae._temp=new ae;ae.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let J=ae;const Ja={cullArea:null,cullable:!1,cullableChildren:!0};class fs{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e)}prepopulate(t){for(let e=0;e0?e=this._pool[--this._index]:e=new this._classType,(s=e.init)==null||s.call(e,t),e}return(t){var e;(e=t.reset)==null||e.call(t),this._pool[this._index++]=t}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}}class to{constructor(){this._poolsByClass=new Map}prepopulate(t,e){this.getPool(t).prepopulate(e)}get(t,e){return this.getPool(t).get(e)}return(t){this.getPool(t.constructor).return(t)}getPool(t){return this._poolsByClass.has(t)||this._poolsByClass.set(t,new fs(t)),this._poolsByClass.get(t)}stats(){const t={};return this._poolsByClass.forEach(e=>{const s=t[e._classType.name]?e._classType.name+e._classType.ID:e._classType.name;t[s]={free:e.totalFree,used:e.totalUsed,size:e.totalSize}}),t}}const Mt=new to;function eo(i,t,e){const s=i.length;let r;if(t>=s||e===0)return;e=t+e>s?s-t:e;const n=s-e;for(r=t;r0&&s<=e){for(let a=e-1;a>=i;a--){const o=this.children[a];o&&(r.push(o),o.parent=null)}eo(this.children,i,e);const n=this.renderGroup||this.parentRenderGroup;n&&n.removeChildren(r);for(let a=0;a=this.children.length)throw new Error(`getChildAt: Index (${i}) does not exist.`);return this.children[i]},setChildIndex(i,t){if(t<0||t>=this.children.length)throw new Error(`The index ${t} supplied is out of bounds ${this.children.length}`);this.getChildIndex(i),this.addChildAt(i,t)},getChildIndex(i){const t=this.children.indexOf(i);if(t===-1)throw new Error("The supplied Container must be a child of the caller");return t},addChildAt(i,t){this.allowChildren||O(U,"addChildAt: Only Containers will be allowed to add children in v8.0.0");const{children:e}=this;if(t<0||t>e.length)throw new Error(`${i}addChildAt: The index ${t} supplied is out of bounds ${e.length}`);if(i.parent){const r=i.parent.children.indexOf(i);if(i.parent===this&&r===t)return i;r!==-1&&i.parent.children.splice(r,1)}t===e.length?e.push(i):e.splice(t,0,i),i.parent=this,i.didChange=!0,i.didViewUpdate=!1,i._updateFlags=15;const s=this.renderGroup||this.parentRenderGroup;return s&&s.addChild(i),this.sortableChildren&&(this.sortDirty=!0),this.emit("childAdded",i,this,t),i.emit("added",this),i},swapChildren(i,t){if(i===t)return;const e=this.getChildIndex(i),s=this.getChildIndex(t);this.children[e]=t,this.children[s]=i;const r=this.renderGroup||this.parentRenderGroup;r&&(r.structureDidChange=!0),this._didContainerChangeTick++},removeFromParent(){var i;(i=this.parent)==null||i.removeChild(this)},reparentChild(...i){return i.length===1?this.reparentChildAt(i[0],this.children.length):(i.forEach(t=>this.reparentChildAt(t,this.children.length)),i[0])},reparentChildAt(i,t){if(i.parent===this)return this.setChildIndex(i,t),i;const e=i.worldTransform.clone();i.removeFromParent(),this.addChildAt(i,t);const s=this.worldTransform.clone();return s.invert(),e.prepend(s),i.setFromMatrix(e),i}};class js{constructor(){this.pipe="filter",this.priority=1}destroy(){for(let t=0;t{this.add({test:t.test,maskClass:t})}))}add(t){this._tests.push(t)}getMaskEffect(t){this._initialized||this.init();for(let e=0;es.priority-r.priority);const e=this.renderGroup||this.parentRenderGroup;e&&(e.structureDidChange=!0),this._updateIsSimple()},removeEffect(i){const t=this.effects.indexOf(i);t!==-1&&(this.effects.splice(t,1),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateIsSimple())},set mask(i){const t=this._maskEffect;(t==null?void 0:t.mask)!==i&&(t&&(this.removeEffect(t),Yi.returnMaskEffect(t),this._maskEffect=null),i!=null&&(this._maskEffect=Yi.getMaskEffect(i),this.addEffect(this._maskEffect)))},get mask(){var i;return(i=this._maskEffect)==null?void 0:i.mask},set filters(i){var n;!Array.isArray(i)&&i&&(i=[i]);const t=this._filterEffect||(this._filterEffect=new js);i=i;const e=(i==null?void 0:i.length)>0,s=((n=t.filters)==null?void 0:n.length)>0,r=e!==s;i=Array.isArray(i)?i.slice(0):i,t.filters=Object.freeze(i),r&&(e?this.addEffect(t):(this.removeEffect(t),t.filters=i??null))},get filters(){var i;return(i=this._filterEffect)==null?void 0:i.filters},set filterArea(i){this._filterEffect||(this._filterEffect=new js),this._filterEffect.filterArea=i},get filterArea(){var i;return(i=this._filterEffect)==null?void 0:i.filterArea}},no={label:null,get name(){return O(U,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){O(U,"Container.name property has been removed, use Container.label instead"),this.label=i},getChildByName(i,t=!1){return this.getChildByLabel(i,t)},getChildByLabel(i,t=!1){const e=this.children;for(let s=0;s-1&&this.renderGroupChildren.splice(e,1),t.renderGroupParent=null}addChild(t){if(this.structureDidChange=!0,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=!0,this.onChildUpdate(t),t.renderGroup){this.addRenderGroupChild(t.renderGroup);return}t._onRender&&this.addOnRender(t);const e=t.children;for(let s=0;s0}addOnRender(t){this._onRenderContainers.push(t)}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1)}runOnRender(){for(let t=0;tthis.addChild(r)),(s=t.parent)==null||s.addChild(this)}static mixin(t){Object.defineProperties(at.prototype,Object.getOwnPropertyDescriptors(t))}set _didChangeId(t){this._didViewChangeTick=t>>12&4095,this._didContainerChangeTick=t&4095}get _didChangeId(){return this._didContainerChangeTick&4095|(this._didViewChangeTick&4095)<<12}addChild(...t){if(this.allowChildren||O(U,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let r=0;r1){for(let r=0;r-1&&(this._didViewChangeTick++,this.children.splice(s,1),this.renderGroup?this.renderGroup.removeChild(e):this.parentRenderGroup&&this.parentRenderGroup.removeChild(e),e.parent=null,this.emit("childRemoved",e,this,s),e.emit("removed",this)),e}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=!0,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this))}set isRenderGroup(t){!!this.renderGroup!==t&&(t?this.enableRenderGroup():this.disableRenderGroup())}get isRenderGroup(){return!!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;const t=this.parentRenderGroup;t==null||t.removeChild(this),this.renderGroup=Mt.get(po,this),this.groupTransform=W.IDENTITY,t==null||t.addChild(this),this._updateIsSimple()}disableRenderGroup(){if(!this.renderGroup)return;const t=this.parentRenderGroup;t==null||t.removeChild(this),Mt.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t==null||t.addChild(this),this._updateIsSimple()}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0}get worldTransform(){return this._worldTransform||(this._worldTransform=new W),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(t){this._position.x=t}get y(){return this._position.y}set y(t){this._position.y=t}get position(){return this._position}set position(t){this._position.copyFrom(t)}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this._skew))}get angle(){return this.rotation*Ea}set angle(t){this.rotation=t*Fa}get pivot(){return this._pivot===Si&&(this._pivot=new lt(this,0,0)),this._pivot}set pivot(t){this._pivot===Si&&(this._pivot=new lt(this,0,0)),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t)}get skew(){return this._skew===bi&&(this._skew=new lt(this,0,0)),this._skew}set skew(t){this._skew===bi&&(this._skew=new lt(this,0,0)),this._skew.copyFrom(t)}get scale(){return this._scale===vi&&(this._scale=new lt(this,1,1)),this._scale}set scale(t){this._scale===vi&&(this._scale=new lt(this,0,0)),typeof t=="number"?this._scale.set(t):this._scale.copyFrom(t)}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){const e=this.getLocalBounds().width;this._setWidth(t,e)}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){const e=this.getLocalBounds().height;this._setHeight(t,e)}getSize(t){t||(t={});const e=this.getLocalBounds();return t.width=Math.abs(this.scale.x*e.width),t.height=Math.abs(this.scale.y*e.height),t}setSize(t,e){const s=this.getLocalBounds();typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,s.width),e!==void 0&&this._setHeight(e,s.height)}_updateSkew(){const t=this._rotation,e=this._skew;this._cx=Math.cos(t+e._y),this._sx=Math.sin(t+e._y),this._cy=-Math.sin(t-e._x),this._sy=Math.cos(t-e._x)}updateTransform(t){return this.position.set(typeof t.x=="number"?t.x:this.position.x,typeof t.y=="number"?t.y:this.position.y),this.scale.set(typeof t.scaleX=="number"?t.scaleX||1:this.scale.x,typeof t.scaleY=="number"?t.scaleY||1:this.scale.y),this.rotation=typeof t.rotation=="number"?t.rotation:this.rotation,this.skew.set(typeof t.skewX=="number"?t.skewX:this.skew.x,typeof t.skewY=="number"?t.skewY:this.skew.y),this.pivot.set(typeof t.pivotX=="number"?t.pivotX:this.pivot.x,typeof t.pivotY=="number"?t.pivotY:this.pivot.y),this}setFromMatrix(t){t.decompose(this)}updateLocalTransform(){const t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;const e=this.localTransform,s=this._scale,r=this._pivot,n=this._position,a=s._x,o=s._y,h=r._x,c=r._y;e.a=this._cx*a,e.b=this._sx*a,e.c=this._cy*o,e.d=this._sy*o,e.tx=n._x-(h*e.a+c*e.c),e.ty=n._y-(h*e.b+c*e.d)}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=Ks,this._onUpdate())}get alpha(){return this.localAlpha}set tint(t){const s=J.shared.setValue(t??16777215).toBgrNumber();s!==this.localColor&&(this.localColor=s,this._updateFlags|=Ks,this._onUpdate())}get tint(){const t=this.localColor;return((t&255)<<16)+(t&65280)+(t>>16&255)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=go,this.localBlendMode=t,this._onUpdate())}get blendMode(){return this.localBlendMode}get visible(){return!!(this.localDisplayStatus&2)}set visible(t){const e=t?2:0;(this.localDisplayStatus&2)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=Ai,this.localDisplayStatus^=2,this._onUpdate())}get culled(){return!(this.localDisplayStatus&4)}set culled(t){const e=t?0:4;(this.localDisplayStatus&4)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=Ai,this.localDisplayStatus^=4,this._onUpdate())}get renderable(){return!!(this.localDisplayStatus&1)}set renderable(t){const e=t?1:0;(this.localDisplayStatus&1)!==e&&(this._updateFlags|=Ai,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._onUpdate())}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(t=!1){var r;if(this.destroyed)return;this.destroyed=!0;const e=this.removeChildren(0,this.children.length);if(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 t=="boolean"?t:t==null?void 0:t.children)for(let n=0;n=e.minX&&s<=e.maxX&&r>=e.minY&&r<=e.maxY}destroy(t){super.destroy(t),this._bounds=null}}class H extends oi{constructor(t=L.EMPTY){t instanceof L&&(t={texture:t});const{texture:e=L.EMPTY,anchor:s,roundPixels:r,width:n,height:a,...o}=t;super({label:"Sprite",...o}),this.renderPipeId="sprite",this.batched=!0,this._didSpriteUpdate=!1,this._sourceBounds={minX:0,maxX:1,minY:0,maxY:0},this._sourceBoundsDirty=!0,this._anchor=new lt({_onUpdate:()=>{this.onViewUpdate()}}),s?this.anchor=s:e.defaultAnchor&&(this.anchor=e.defaultAnchor),this.texture=e,this.allowChildren=!1,this.roundPixels=r??!1,n!==void 0&&(this.width=n),a!==void 0&&(this.height=a)}static from(t,e=!1){return t instanceof L?new H(t):new H(L.from(t,e))}set texture(t){t||(t=L.EMPTY);const e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,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 bounds(){return this._boundsDirty&&(this._updateBounds(),this._boundsDirty=!1),this._bounds}get sourceBounds(){return this._sourceBoundsDirty&&(this._updateSourceBounds(),this._sourceBoundsDirty=!1),this._sourceBounds}containsPoint(t){const e=this.sourceBounds;return t.x>=e.maxX&&t.x<=e.minX&&t.y>=e.maxY&&t.y<=e.minY}addBounds(t){const e=this._texture.trim?this.sourceBounds:this.bounds;t.addFrame(e.minX,e.minY,e.maxX,e.maxY)}onViewUpdate(){if(this._didViewChangeTick++,this._didSpriteUpdate=!0,this._sourceBoundsDirty=this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}_updateBounds(){Ha(this._bounds,this._anchor,this._texture,0)}_updateSourceBounds(){const t=this._anchor,e=this._texture,s=this._sourceBounds,{width:r,height:n}=e.orig;s.maxX=-t._x*r,s.minX=s.maxX+r,s.maxY=-t._y*n,s.minY=s.maxY+n}destroy(t=!1){if(super.destroy(t),typeof t=="boolean"?t:t==null?void 0:t.texture){const s=typeof t=="boolean"?t:t==null?void 0:t.textureSource;this._texture.destroy(s)}this._texture=null,this._bounds=null,this._sourceBounds=null,this._anchor=null}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t)}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this._setWidth(t,this._texture.orig.width),this._width=t}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this._setHeight(t,this._texture.orig.height),this._height=t}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this._texture.orig.width,t.height=Math.abs(this.scale.y)*this._texture.orig.height,t}setSize(t,e){typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,this._texture.orig.width),e!==void 0&&this._setHeight(e,this._texture.orig.height)}}const xo=new vt;function en(i,t,e){const s=xo;i.measurable=!0,qr(i,e,s),t.addBoundsMask(s),i.measurable=!1}function sn(i,t,e){const s=oe.get();i.measurable=!0;const r=Pt.get().identity(),n=rn(i,e,r);Zr(i,s,n),i.measurable=!1,t.addBoundsMask(s),Pt.return(r),oe.return(s)}function rn(i,t,e){return i?(i!==t&&(rn(i.parent,t,e),i.updateLocalTransform(),e.append(i.localTransform)),e):(tt("Mask bounds, renderable is not inside the root container"),e)}class nn{constructor(t){this.priority=0,this.pipe="alphaMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof H),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=!1}reset(){this.mask.measurable=!0,this.mask=null}addBounds(t,e){en(this.mask,t,e)}addLocalBounds(t,e){sn(this.mask,t,e)}containsPoint(t,e){const s=this.mask;return e(s,t)}destroy(){this.reset()}static test(t){return t instanceof H}}nn.extension=P.MaskEffect;class an{constructor(t){this.priority=0,this.pipe="colorMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t}destroy(){}static test(t){return typeof t=="number"}}an.extension=P.MaskEffect;class on{constructor(t){this.priority=0,this.pipe="stencilMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t,this.mask.includeInBuild=!1,this.mask.measurable=!1}reset(){this.mask.measurable=!0,this.mask.includeInBuild=!0,this.mask=null}addBounds(t,e){en(this.mask,t,e)}addLocalBounds(t,e){sn(this.mask,t,e)}containsPoint(t,e){const s=this.mask;return e(s,t)}destroy(){this.reset()}static test(t){return t instanceof at}}on.extension=P.MaskEffect;const yo={createCanvas:(i,t)=>{const e=document.createElement("canvas");return e.width=i,e.height=t,e},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(i,t)=>fetch(i,t),parseXML:i=>new DOMParser().parseFromString(i,"text/xml")};let Zs=yo;const K={get(){return Zs},set(i){Zs=i}};class hn extends Gt{constructor(t){t.resource||(t.resource=K.get().createCanvas()),t.width||(t.width=t.resource.width,t.autoDensity||(t.width/=t.resolution)),t.height||(t.height=t.resource.height,t.autoDensity||(t.height/=t.resolution)),super(t),this.uploadMethodId="image",this.autoDensity=t.autoDensity;const e=t.resource;(this.pixelWidth!==e.width||this.pixelWidth!==e.height)&&this.resizeCanvas(),this.transparent=!!t.transparent}resizeCanvas(){this.autoDensity&&(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(t=this.width,e=this.height,s=this._resolution){const r=super.resize(t,e,s);return r&&this.resizeCanvas(),r}static test(t){return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&t instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}}hn.extension=P.TextureSource;class ce extends Gt{constructor(t){if(t.resource&&globalThis.HTMLImageElement&&t.resource instanceof HTMLImageElement){const e=K.get().createCanvas(t.resource.width,t.resource.height);e.getContext("2d").drawImage(t.resource,0,0,t.resource.width,t.resource.height),t.resource=e,tt("ImageSource: Image element passed, converting to canvas. Use CanvasSource instead.")}super(t),this.uploadMethodId="image",this.autoGarbageCollect=!0}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}}ce.extension=P.TextureSource;var ri=(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))(ri||{});class Ci{constructor(t,e=null,s=0,r=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=t,this._context=e,this.priority=s,this._once=r}match(t,e=null){return this._fn===t&&this._context===e}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));const e=this.next;return this._once&&this.destroy(!0),this._destroyed&&(this.next=null),e}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const e=this.next;return this.next=t?null:e,this.previous=null,e}}const ln=class dt{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 Ci(null,null,1/0),this.deltaMS=1/dt.targetFPMS,this.elapsedMS=1/dt.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),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(t,e,s=ri.NORMAL){return this._addListener(new Ci(t,e,s))}addOnce(t,e,s=ri.NORMAL){return this._addListener(new Ci(t,e,s,!0))}_addListener(t){let e=this._head.next,s=this._head;if(!e)t.connect(s);else{for(;e;){if(t.priority>e.priority){t.connect(s);break}s=e,e=e.next}t.previous||t.connect(s)}return this._startIfPossible(),this}remove(t,e){let s=this._head.next;for(;s;)s.match(t,e)?s=s.destroy():s=s.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(t=performance.now()){let e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){const n=t-this._lastFrame|0;if(n{var a;const t=document.createElement("canvas").getContext("webgl");if(!t)return"premultiply-alpha-on-upload";const e=await new Promise(o=>{const h=document.createElement("video");h.onloadeddata=()=>o(h),h.onerror=()=>o(null),h.autoplay=!1,h.crossOrigin="anonymous",h.preload="auto",h.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",h.load()});if(!e)return"premultiply-alpha-on-upload";const s=t.createTexture();t.bindTexture(t.TEXTURE_2D,s);const r=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,s,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);const n=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,n),t.deleteFramebuffer(r),t.deleteTexture(s),(a=t.getExtension("WEBGL_lose_context"))==null||a.loseContext(),n[0]<=n[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),Ti}const hi=class dn extends Gt{constructor(t){super(t),this.isReady=!1,this.uploadMethodId="video",t={...dn.defaultOptions,...t},this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=t.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=t.autoPlay!==!1,this.alphaMode=t.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),t.autoLoad!==!1&&this.load()}updateFrame(){if(!this.destroyed){if(this._updateFPS){const t=bt.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t)}(!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;const t=this.resource,e=this.options;return(t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=!0),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(e.preload||t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlayThrough),t.addEventListener("error",this._onError,!0)),this.alphaMode=await cn(),this._load=new Promise((s,r)=>{this.isValid?s(this):(this._resolve=s,this._reject=r,e.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${e.preloadTimeoutMs}ms`))})),t.load())}),this._load}_onError(t){this.resource.removeEventListener("error",this._onError,!0),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null)}_isSourcePlaying(){const t=this.resource;return!t.paused&&!t.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(){const t=this.resource;this.isValid&&(this.isReady=!0,this.resize(t.videoWidth,t.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();const t=this.resource;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlayThrough),t.removeEventListener("error",this._onError,!0),t.pause(),t.src="",t.load()),super.destroy()}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(bt.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||(bt.shared.add(this.updateFrame,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(bt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};hi.extension=P.TextureSource;hi.defaultOptions={...Gt.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1};hi.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};let Je=hi;const xt=(i,t,e=!1)=>(Array.isArray(i)||(i=[i]),t?i.map(s=>typeof s=="string"||e?t(s):s):i);class _o{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){const e=this._cache.get(t);return e||tt(`[Assets] Asset id ${t} was not found in the Cache`),e}set(t,e){const s=xt(t);let r;for(let h=0;h{n.set(h,e)});const a=[...n.keys()],o={cacheKeys:a,keys:s};s.forEach(h=>{this._cacheMap.set(h,o)}),a.forEach(h=>{const c=r?r[h]:e;this._cache.has(h)&&this._cache.get(h)!==c&&tt("[Cache] already has key:",h),this._cache.set(h,n.get(h))})}remove(t){if(!this._cacheMap.has(t)){tt(`[Assets] Asset id ${t} was not found in the Cache`);return}const e=this._cacheMap.get(t);e.cacheKeys.forEach(r=>{this._cache.delete(r)}),e.keys.forEach(r=>{this._cacheMap.delete(r)})}get parsers(){return this._parsers}}const Y=new _o,Xi=[];ht.handleByList(P.TextureSource,Xi);function un(i={}){const t=i&&i.resource,e=t?i.resource:i,s=t?i:{resource:i};for(let r=0;r{Y.has(s)&&Y.remove(s)}),t||Y.set(s,n),n}function bo(i,t=!1){return typeof i=="string"?Y.get(i):i instanceof Gt?new L({source:i}):wo(i,t)}L.from=bo;Gt.from=un;ht.add(nn,an,on,Je,ce,hn,us);var Lt=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(Lt||{});function gt(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function ye(i){return i.split("?")[0].split("#")[0]}function So(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function vo(i,t,e){return i.replace(new RegExp(So(t),"g"),e)}function Ao(i,t){let e="",s=0,r=-1,n=0,a=-1;for(let o=0;o<=i.length;++o){if(o2){const h=e.lastIndexOf("/");if(h!==e.length-1){h===-1?(e="",s=0):(e=e.slice(0,h),s=e.length-1-e.lastIndexOf("/")),r=o,n=0;continue}}else if(e.length===2||e.length===1){e="",s=0,r=o,n=0;continue}}}else e.length>0?e+=`/${i.slice(r+1,o)}`:e=i.slice(r+1,o),s=o-r-1;r=o,n=0}else a===46&&n!==-1?++n:n=-1}return e}const ut={toPosix(i){return vo(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){gt(i),i=this.toPosix(i);const t=/^file:\/\/\//.exec(i);if(t)return t[0];const e=/^[^/:]+:\/{0,2}/.exec(i);return e?e[0]:""},toAbsolute(i,t,e){if(gt(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;const s=ye(this.toPosix(t??K.get().getBaseUrl())),r=ye(this.toPosix(e??this.rootname(s)));return i=this.toPosix(i),i.startsWith("/")?ut.join(r,i.slice(1)):this.isAbsolute(i)?i:this.join(s,i)},normalize(i){if(gt(i),i.length===0)return".";if(this.isDataUrl(i)||this.isBlobUrl(i))return i;i=this.toPosix(i);let t="";const e=i.startsWith("/");this.hasProtocol(i)&&(t=this.rootname(i),i=i.slice(t.length));const s=i.endsWith("/");return i=Ao(i),i.length>0&&s&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return gt(i),i=this.toPosix(i),this.hasProtocol(i)?!0:i.startsWith("/")},join(...i){if(i.length===0)return".";let t;for(let e=0;e0)if(t===void 0)t=s;else{const r=i[e-1]??"";this.joinExtensions.includes(this.extname(r).toLowerCase())?t+=`/../${s}`:t+=`/${s}`}}return t===void 0?".":this.normalize(t)},dirname(i){if(gt(i),i.length===0)return".";i=this.toPosix(i);let t=i.charCodeAt(0);const e=t===47;let s=-1,r=!0;const n=this.getProtocol(i),a=i;i=i.slice(n.length);for(let o=i.length-1;o>=1;--o)if(t=i.charCodeAt(o),t===47){if(!r){s=o;break}}else r=!1;return s===-1?e?"/":this.isUrl(a)?n+i:n:e&&s===1?"//":n+i.slice(0,s)},rootname(i){gt(i),i=this.toPosix(i);let t="";if(i.startsWith("/")?t="/":t=this.getProtocol(i),this.isUrl(i)){const e=i.indexOf("/",t.length);e!==-1?t=i.slice(0,e):t=i,t.endsWith("/")||(t+="/")}return t},basename(i,t){gt(i),t&>(t),i=ye(this.toPosix(i));let e=0,s=-1,r=!0,n;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t.length===i.length&&t===i)return"";let a=t.length-1,o=-1;for(n=i.length-1;n>=0;--n){const h=i.charCodeAt(n);if(h===47){if(!r){e=n+1;break}}else o===-1&&(r=!1,o=n+1),a>=0&&(h===t.charCodeAt(a)?--a===-1&&(s=n):(a=-1,s=o))}return e===s?s=o:s===-1&&(s=i.length),i.slice(e,s)}for(n=i.length-1;n>=0;--n)if(i.charCodeAt(n)===47){if(!r){e=n+1;break}}else s===-1&&(r=!1,s=n+1);return s===-1?"":i.slice(e,s)},extname(i){gt(i),i=ye(this.toPosix(i));let t=-1,e=0,s=-1,r=!0,n=0;for(let a=i.length-1;a>=0;--a){const o=i.charCodeAt(a);if(o===47){if(!r){e=a+1;break}continue}s===-1&&(r=!1,s=a+1),o===46?t===-1?t=a:n!==1&&(n=1):t!==-1&&(n=-1)}return t===-1||s===-1||n===0||n===1&&t===s-1&&t===e+1?"":i.slice(t,s)},parse(i){gt(i);const t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=ye(this.toPosix(i));let e=i.charCodeAt(0);const s=this.isAbsolute(i);let r;t.root=this.rootname(i),s||this.hasProtocol(i)?r=1:r=0;let n=-1,a=0,o=-1,h=!0,c=i.length-1,l=0;for(;c>=r;--c){if(e=i.charCodeAt(c),e===47){if(!h){a=c+1;break}continue}o===-1&&(h=!1,o=c+1),e===46?n===-1?n=c:l!==1&&(l=1):n!==-1&&(l=-1)}return n===-1||o===-1||l===0||l===1&&n===o-1&&n===a+1?o!==-1&&(a===0&&s?t.base=t.name=i.slice(1,o):t.base=t.name=i.slice(a,o)):(a===0&&s?(t.name=i.slice(1,n),t.base=i.slice(1,o)):(t.name=i.slice(a,n),t.base=i.slice(a,o)),t.ext=i.slice(n,o)),t.dir=this.dirname(i),t},sep:"/",delimiter:":",joinExtensions:[".html"]};function fn(i,t,e,s,r){const n=t[e];for(let a=0;a{const a=n.substring(1,n.length-1).split(",");r.push(a)}),fn(i,r,0,e,s)}else s.push(i);return s}const ni=i=>!Array.isArray(i);class de{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,e)=>`${t}${this._bundleIdConnector}${e}`,extractAssetIdFromBundle:(t,e)=>e.replace(`${t}${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(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}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(t){if(typeof t=="string")this._defaultSearchParams=t;else{const e=t;this._defaultSearchParams=Object.keys(e).map(s=>`${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`).join("&")}}getAlias(t){const{alias:e,src:s}=t;return xt(e||s,n=>typeof n=="string"?n:Array.isArray(n)?n.map(a=>(a==null?void 0:a.src)??a):n!=null&&n.src?n.src:n,!0)}addManifest(t){this._manifest&&tt("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(e=>{this.addBundle(e.name,e.assets)})}addBundle(t,e){const s=[];let r=e;Array.isArray(e)||(r=Object.entries(e).map(([n,a])=>typeof a=="string"||Array.isArray(a)?{alias:n,src:a}:{alias:n,...a})),r.forEach(n=>{const a=n.src,o=n.alias;let h;if(typeof o=="string"){const c=this._createBundleAssetId(t,o);s.push(c),h=[o,c]}else{const c=o.map(l=>this._createBundleAssetId(t,l));s.push(...c),h=[...o,...c]}this.add({...n,alias:h,src:a})}),this._bundles[t]=s}add(t){const e=[];Array.isArray(t)?e.push(...t):e.push(t);let s;s=n=>{this.hasKey(n)&&tt(`[Resolver] already has key: ${n} overwriting`)},xt(e).forEach(n=>{const{src:a}=n;let{data:o,format:h,loadParser:c}=n;const l=xt(a).map(f=>typeof f=="string"?Co(f):Array.isArray(f)?f:[f]),d=this.getAlias(n);Array.isArray(d)?d.forEach(s):s(d);const u=[];l.forEach(f=>{f.forEach(m=>{let y={};if(typeof m!="object"){y.src=m;for(let g=0;g{this._assetMap[f]=u})})}resolveBundle(t){const e=ni(t);t=xt(t);const s={};return t.forEach(r=>{const n=this._bundles[r];if(n){const a=this.resolve(n),o={};for(const h in a){const c=a[h];o[this._extractAssetIdFromBundle(r,h)]=c}s[r]=o}}),e?s[t[0]]:s}resolveUrl(t){const e=this.resolve(t);if(typeof t!="string"){const s={};for(const r in e)s[r]=e[r].src;return s}return e.src}resolve(t){const e=ni(t);t=xt(t);const s={};return t.forEach(r=>{if(!this._resolverHash[r])if(this._assetMap[r]){let n=this._assetMap[r];const a=this._getPreferredOrder(n);a==null||a.priority.forEach(o=>{a.params[o].forEach(h=>{const c=n.filter(l=>l[o]?l[o]===h:!1);c.length&&(n=c)})}),this._resolverHash[r]=n[0]}else this._resolverHash[r]=this._buildResolvedAsset({alias:[r],src:r},{});s[r]=this._resolverHash[r]}),e?s[t[0]]:s}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let e=0;en.params.format.includes(s.format));if(r)return r}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;const e=/\?/.test(t)?"&":"?";return`${t}${e}${this._defaultSearchParams}`}_buildResolvedAsset(t,e){const{aliases:s,data:r,loadParser:n,format:a}=e;return(this._basePath||this._rootPath)&&(t.src=ut.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=s??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...r||{},...t.data},t.loadParser=n??t.loadParser,t.format=a??t.format??To(t.src),t}}de.RETINA_PREFIX=/@([0-9\.]+)x/;function To(i){return i.split(".").pop().split("?").shift().split("#").shift()}const ji=(i,t)=>{const e=t.split("?")[1];return e&&(i+=`?${e}`),i},pn=class ve{constructor(t,e){this.linkedSheets=[],this._texture=t instanceof L?t:null,this.textureSource=t.source,this.textures={},this.animations={},this.data=e;const s=parseFloat(e.meta.scale);s?(this.resolution=s,t.source.resolution=this.resolution):this.resolution=t.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}parse(){return new Promise(t=>{this._callback=t,this._batchIndex=0,this._frameKeys.length<=ve.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(t){let e=t;const s=ve.BATCH_SIZE;for(;e-t{this._batchIndex*ve.BATCH_SIZE{s[r]=t}),Object.keys(t.textures).forEach(r=>{s[r]=t.textures[r]}),!e){const r=ut.dirname(i[0]);t.linkedSheets.forEach((n,a)=>{const o=mn([`${r}/${t.data.meta.related_multi_packs[a]}`],n,!0);Object.assign(s,o)})}return s}const Po={extension:P.Asset,cache:{test:i=>i instanceof Qs,getCacheableAssets:(i,t)=>mn(i,t,!1)},resolver:{extension:{type:P.ResolveParser,name:"resolveSpritesheet"},test:i=>{const e=i.split("?")[0].split("."),s=e.pop(),r=e.pop();return s==="json"&&Mo.includes(r)},parse:i=>{var e;const t=i.split(".");return{resolution:parseFloat(((e=de.RETINA_PREFIX.exec(i))==null?void 0:e[1])??"1"),format:t[t.length-2],src:i}}},loader:{name:"spritesheetLoader",extension:{type:P.LoadParser,priority:Lt.Normal,name:"spritesheetLoader"},async testParse(i,t){return ut.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){var c,l;const{texture:s,imageFilename:r}=(t==null?void 0:t.data)??{};let n=ut.dirname(t.src);n&&n.lastIndexOf("/")!==n.length-1&&(n+="/");let a;if(s instanceof L)a=s;else{const d=ji(n+(r??i.meta.image),t.src);a=(await e.load([d]))[d]}const o=new Qs(a.source,i);await o.parse();const h=(c=i==null?void 0:i.meta)==null?void 0:c.related_multi_packs;if(Array.isArray(h)){const d=[];for(const f of h){if(typeof f!="string")continue;let m=n+f;(l=t.data)!=null&&l.ignoreMultiPack||(m=ji(m,t.src),d.push(e.load({src:m,data:{ignoreMultiPack:!0}})))}const u=await Promise.all(d);o.linkedSheets=u,u.forEach(f=>{f.linkedSheets=[o].concat(o.linkedSheets.filter(m=>m!==f))})}return o},async unload(i,t,e){await e.unload(i.textureSource._sourceOrigin),i.destroy(!1)}}};ht.add(Po);const Mi=Object.create(null),Js=Object.create(null);function ps(i,t){let e=Js[i];return e===void 0&&(Mi[t]===void 0&&(Mi[t]=1),Js[i]=e=Mi[t]++),e}let Qt;function gn(){return(!Qt||Qt!=null&&Qt.isContextLost())&&(Qt=K.get().createCanvas().getContext("webgl",{})),Qt}let Ve;function ko(){if(!Ve){Ve="mediump";const i=gn();i&&i.getShaderPrecisionFormat&&(Ve=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump")}return Ve}function Go(i,t,e){return t?i:e?(i=i.replace("out vec4 finalColor;",""),` - - #ifdef GL_ES // This checks if it is WebGL1 - #define in varying - #define finalColor gl_FragColor - #define texture texture2D - #endif - ${i} - `):` - - #ifdef GL_ES // This checks if it is WebGL1 - #define in attribute - #define out varying - #endif - ${i} - `}function Io(i,t,e){const s=e?t.maxSupportedFragmentPrecision:t.maxSupportedVertexPrecision;if(i.substring(0,9)!=="precision"){let r=e?t.requestedFragmentPrecision:t.requestedVertexPrecision;return r==="highp"&&s!=="highp"&&(r="mediump"),`precision ${r} float; -${i}`}else if(s!=="highp"&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}function Bo(i,t){return t?`#version 300 es -${i}`:i}const Eo={},Fo={};function Ro(i,{name:t="pixi-program"},e=!0){t=t.replace(/\s+/g,"-"),t+=e?"-fragment":"-vertex";const s=e?Eo:Fo;return s[t]?(s[t]++,t+=`-${s[t]}`):s[t]=1,i.indexOf("#define SHADER_NAME")!==-1?i:`${`#define SHADER_NAME ${t}`} -${i}`}function Lo(i,t){return t?i.replace("#version 300 es",""):i}const Pi={stripVersion:Lo,ensurePrecision:Io,addProgramDefines:Go,setProgramName:Ro,insertVersion:Bo},ki=Object.create(null),xn=class qi{constructor(t){t={...qi.defaultOptions,...t};const e=t.fragment.indexOf("#version 300 es")!==-1,s={stripVersion:e,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:ko()},setProgramName:{name:t.name},addProgramDefines:e,insertVersion:e};let r=t.fragment,n=t.vertex;Object.keys(Pi).forEach(a=>{const o=s[a];r=Pi[a](r,o,!0),n=Pi[a](n,o,!1)}),this.fragment=r,this.vertex=n,this._key=ps(`${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(t){const e=`${t.vertex}:${t.fragment}`;return ki[e]||(ki[e]=new qi(t)),ki[e]}};xn.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};let yn=xn;const tr={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 Do(i){return tr[i]??tr.float32}const zo={f32:"float32","vec2":"float32x2","vec3":"float32x3","vec4":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2":"sint32x2","vec3":"sint32x3","vec4":"sint32x4",u32:"uint32","vec2":"uint32x2","vec3":"uint32x3","vec4":"uint32x4",bool:"uint32","vec2":"uint32x2","vec3":"uint32x3","vec4":"uint32x4"};function Oo({source:i,entryPoint:t}){const e={},s=i.indexOf(`fn ${t}`);if(s!==-1){const r=i.indexOf("->",s);if(r!==-1){const n=i.substring(s,r),a=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|$)/g;let o;for(;(o=a.exec(n))!==null;){const h=zo[o[3]]??"float32";e[o[2]]={location:parseInt(o[1],10),format:h,stride:Do(h).stride,offset:0,instance:!1,start:0}}}}return e}function Gi(i){var d,u;const t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,e=/@group\((\d+)\)/,s=/@binding\((\d+)\)/,r=/var(<[^>]+>)? (\w+)/,n=/:\s*(\w+)/,a=/struct\s+(\w+)\s*{([^}]+)}/g,o=/(\w+)\s*:\s*([\w\<\>]+)/g,h=/struct\s+(\w+)/,c=(d=i.match(t))==null?void 0:d.map(f=>({group:parseInt(f.match(e)[1],10),binding:parseInt(f.match(s)[1],10),name:f.match(r)[2],isUniform:f.match(r)[1]==="",type:f.match(n)[1]}));if(!c)return{groups:[],structs:[]};const l=((u=i.match(a))==null?void 0:u.map(f=>{const m=f.match(h)[1],y=f.match(o).reduce((g,_)=>{const[w,b]=_.split(":");return g[w.trim()]=b.trim(),g},{});return y?{name:m,members:y}:null}).filter(({name:f})=>c.some(m=>m.type===f)))??[];return{groups:c,structs:l}}var Ae=(i=>(i[i.VERTEX=1]="VERTEX",i[i.FRAGMENT=2]="FRAGMENT",i[i.COMPUTE=4]="COMPUTE",i))(Ae||{});function Uo({groups:i}){const t=[];for(let e=0;ee.has(a.name)?!1:(e.add(a.name),!0)),n=[...i.groups,...t.groups].filter(a=>{const o=`${a.name}-${a.binding}`;return s.has(o)?!1:(s.add(o),!0)});return{structs:r,groups:n}}const Ii=Object.create(null);class li{constructor(t){var o,h;this._layoutKey=0,this._attributeLocationsKey=0;const{fragment:e,vertex:s,layout:r,gpuLayout:n,name:a}=t;if(this.name=a,this.fragment=e,this.vertex=s,e.source===s.source){const c=Gi(e.source);this.structsAndGroups=c}else{const c=Gi(s.source),l=Gi(e.source);this.structsAndGroups=No(c,l)}this.layout=r??Wo(this.structsAndGroups),this.gpuLayout=n??Uo(this.structsAndGroups),this.autoAssignGlobalUniforms=((o=this.layout[0])==null?void 0:o.globalUniforms)!==void 0,this.autoAssignLocalUniforms=((h=this.layout[1])==null?void 0:h.localUniforms)!==void 0,this._generateProgramKey()}_generateProgramKey(){const{vertex:t,fragment:e}=this,s=t.source+e.source+t.entryPoint+e.entryPoint;this._layoutKey=ps(s,"program")}get attributeData(){return this._attributeData??(this._attributeData=Oo(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null}static from(t){const e=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return Ii[e]||(Ii[e]=new li(t)),Ii[e]}}const _n=["f32","i32","vec2","vec3","vec4","mat2x2","mat3x3","mat4x4","mat3x2","mat4x2","mat2x3","mat4x3","mat2x4","mat3x4"],Ho=_n.reduce((i,t)=>(i[t]=!0,i),{});function $o(i,t){switch(i){case"f32":return 0;case"vec2":return new Float32Array(2*t);case"vec3":return new Float32Array(3*t);case"vec4":return new Float32Array(4*t);case"mat2x2":return new Float32Array([1,0,0,1]);case"mat3x3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}const wn=class bn{constructor(t,e){this._touched=0,this.uid=st("uniform"),this._resourceType="uniformGroup",this._resourceId=st("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,e={...bn.defaultOptions,...e},this.uniformStructures=t;const s={};for(const r in t){const n=t[r];if(n.name=r,n.size=n.size??1,!Ho[n.type])throw new Error(`Uniform type ${n.type} is not supported. Supported uniform types are: ${_n.join(", ")}`);n.value??(n.value=$o(n.type,n.size)),s[r]=n.value}this.uniforms=s,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=ps(Object.keys(s).map(r=>`${r}-${t[r].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};wn.defaultOptions={ubo:!1,isStatic:!1};let Sn=wn;class ti{constructor(t){this.resources=Object.create(null),this._dirty=!0;let e=0;for(const s in t){const r=t[s];this.setResource(r,e++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;const t=[];let e=0;for(const s in this.resources)t[e++]=this.resources[s]._resourceId;this._key=t.join("|")}setResource(t,e){var r,n;const s=this.resources[e];t!==s&&(s&&((r=t.off)==null||r.call(t,"change",this.onResourceChange,this)),(n=t.on)==null||n.call(t,"change",this.onResourceChange,this),this.resources[e]=t,this._dirty=!0)}getResource(t){return this.resources[t]}_touch(t){const e=this.resources;for(const s in e)e[s]._touched=t}destroy(){var e;const t=this.resources;for(const s in t){const r=t[s];(e=r.off)==null||e.call(r,"change",this.onResourceChange,this)}this.resources=null}onResourceChange(t){if(this._dirty=!0,t.destroyed){const e=this.resources;for(const s in e)e[s]===t&&(e[s]=null)}else this._updateKey()}}var Ki=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(Ki||{});class ms extends ct{constructor(t){super(),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:e,glProgram:s,groups:r,resources:n,compatibleRenderers:a,groupMap:o}=t;this.gpuProgram=e,this.glProgram=s,a===void 0&&(a=0,e&&(a|=Ki.WEBGPU),s&&(a|=Ki.WEBGL)),this.compatibleRenderers=a;const h={};if(!n&&!r&&(n={}),n&&r)throw new Error("[Shader] Cannot have both resources and groups");if(!e&&r&&!o)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!e&&r&&o)for(const c in o)for(const l in o[c]){const d=o[c][l];h[d]={group:c,binding:l,name:d}}else if(e&&r&&!o){const c=e.structsAndGroups.groups;o={},c.forEach(l=>{o[l.group]=o[l.group]||{},o[l.group][l.binding]=l.name,h[l.name]=l})}else if(n){r={},o={},e&&e.structsAndGroups.groups.forEach(d=>{o[d.group]=o[d.group]||{},o[d.group][d.binding]=d.name,h[d.name]=d});let c=0;for(const l in n)h[l]||(r[99]||(r[99]=new ti,this._ownedBindGroups.push(r[99])),h[l]={group:99,binding:c,name:l},o[99]=o[99]||{},o[99][c]=l,c++);for(const l in n){const d=l;let u=n[l];!u.source&&!u._resourceType&&(u=new Sn(u));const f=h[d];f&&(r[f.group]||(r[f.group]=new ti,this._ownedBindGroups.push(r[f.group])),r[f.group].setResource(u,f.binding))}}this.groups=r,this._uniformBindMap=o,this.resources=this._buildResourceAccessor(r,h)}addResource(t,e,s){var r,n;(r=this._uniformBindMap)[e]||(r[e]={}),(n=this._uniformBindMap[e])[s]||(n[s]=t),this.groups[e]||(this.groups[e]=new ti,this._ownedBindGroups.push(this.groups[e]))}_buildResourceAccessor(t,e){const s={};for(const r in e){const n=e[r];Object.defineProperty(s,n.name,{get(){return t[n.group].getResource(n.binding)},set(a){t[n.group].setResource(a,n.binding)}})}return s}destroy(t=!1){var e,s;this.emit("destroy",this),t&&((e=this.gpuProgram)==null||e.destroy(),(s=this.glProgram)==null||s.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(r=>{r.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null}static from(t){const{gpu:e,gl:s,...r}=t;let n,a;return e&&(n=li.from(e)),s&&(a=yn.from(s)),new ms({gpuProgram:n,glProgram:a,...r})}}const Zi=[];ht.handleByNamedList(P.Environment,Zi);async function Vo(i){if(!i)for(let t=0;t80*e){o=c=i[0],h=l=i[1];for(var m=e;mc&&(c=d),u>l&&(l=u);f=Math.max(c-o,l-h),f=f!==0?32767/f:0}return ke(n,a,e,o,h,f,0),a}function vn(i,t,e,s,r){var n,a;if(r===ts(i,t,e,s)>0)for(n=t;n=t;n-=s)a=er(n,i[n],i[n+1],a);return a&&di(a,a.next)&&(Ie(a),a=a.next),a}function Kt(i,t){if(!i)return i;t||(t=i);var e=i,s;do if(s=!1,!e.steiner&&(di(e,e.next)||X(e.prev,e,e.next)===0)){if(Ie(e),e=t=e.prev,e===e.next)break;s=!0}else e=e.next;while(s||e!==t);return t}function ke(i,t,e,s,r,n,a){if(i){!a&&n&&ih(i,s,r,n);for(var o=i,h,c;i.prev!==i.next;){if(h=i.prev,c=i.next,n?jo(i,s,r,n):Xo(i)){t.push(h.i/e|0),t.push(i.i/e|0),t.push(c.i/e|0),Ie(i),i=c.next,o=c.next;continue}if(i=c,i===o){a?a===1?(i=qo(Kt(i),t,e),ke(i,t,e,s,r,n,2)):a===2&&Ko(i,t,e,s,r,n):ke(Kt(i),t,e,s,r,n,1);break}}}}function Xo(i){var t=i.prev,e=i,s=i.next;if(X(t,e,s)>=0)return!1;for(var r=t.x,n=e.x,a=s.x,o=t.y,h=e.y,c=s.y,l=rn?r>a?r:a:n>a?n:a,f=o>h?o>c?o:c:h>c?h:c,m=s.next;m!==t;){if(m.x>=l&&m.x<=u&&m.y>=d&&m.y<=f&&ie(r,o,n,h,a,c,m.x,m.y)&&X(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function jo(i,t,e,s){var r=i.prev,n=i,a=i.next;if(X(r,n,a)>=0)return!1;for(var o=r.x,h=n.x,c=a.x,l=r.y,d=n.y,u=a.y,f=oh?o>c?o:c:h>c?h:c,g=l>d?l>u?l:u:d>u?d:u,_=Qi(f,m,t,e,s),w=Qi(y,g,t,e,s),b=i.prevZ,S=i.nextZ;b&&b.z>=_&&S&&S.z<=w;){if(b.x>=f&&b.x<=y&&b.y>=m&&b.y<=g&&b!==r&&b!==a&&ie(o,l,h,d,c,u,b.x,b.y)&&X(b.prev,b,b.next)>=0||(b=b.prevZ,S.x>=f&&S.x<=y&&S.y>=m&&S.y<=g&&S!==r&&S!==a&&ie(o,l,h,d,c,u,S.x,S.y)&&X(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;b&&b.z>=_;){if(b.x>=f&&b.x<=y&&b.y>=m&&b.y<=g&&b!==r&&b!==a&&ie(o,l,h,d,c,u,b.x,b.y)&&X(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;S&&S.z<=w;){if(S.x>=f&&S.x<=y&&S.y>=m&&S.y<=g&&S!==r&&S!==a&&ie(o,l,h,d,c,u,S.x,S.y)&&X(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function qo(i,t,e){var s=i;do{var r=s.prev,n=s.next.next;!di(r,n)&&An(r,s,s.next,n)&&Ge(r,n)&&Ge(n,r)&&(t.push(r.i/e|0),t.push(s.i/e|0),t.push(n.i/e|0),Ie(s),Ie(s.next),s=i=n),s=s.next}while(s!==i);return Kt(s)}function Ko(i,t,e,s,r,n){var a=i;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&nh(a,o)){var h=Cn(a,o);a=Kt(a,a.next),h=Kt(h,h.next),ke(a,t,e,s,r,n,0),ke(h,t,e,s,r,n,0);return}o=o.next}a=a.next}while(a!==i)}function Zo(i,t,e,s){var r=[],n,a,o,h,c;for(n=0,a=t.length;n=e.next.y&&e.next.y!==e.y){var o=e.x+(r-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(o<=s&&o>n&&(n=o,a=e.x=e.x&&e.x>=c&&s!==e.x&&ie(ra.x||e.x===a.x&&eh(a,e)))&&(a=e,d=u)),e=e.next;while(e!==h);return a}function eh(i,t){return X(i.prev,i,t.prev)<0&&X(t.next,i,i.next)<0}function ih(i,t,e,s){var r=i;do r.z===0&&(r.z=Qi(r.x,r.y,t,e,s)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==i);r.prevZ.nextZ=null,r.prevZ=null,sh(r)}function sh(i){var t,e,s,r,n,a,o,h,c=1;do{for(e=i,i=null,n=null,a=0;e;){for(a++,s=e,o=0,t=0;t0||h>0&&s;)o!==0&&(h===0||!s||e.z<=s.z)?(r=e,e=e.nextZ,o--):(r=s,s=s.nextZ,h--),n?n.nextZ=r:i=r,r.prevZ=n,n=r;e=s}n.nextZ=null,c*=2}while(a>1);return i}function Qi(i,t,e,s,r){return i=(i-e)*r|0,t=(t-s)*r|0,i=(i|i<<8)&16711935,i=(i|i<<4)&252645135,i=(i|i<<2)&858993459,i=(i|i<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,i|t<<1}function rh(i){var t=i,e=i;do(t.x=(i-a)*(n-o)&&(i-a)*(s-o)>=(e-a)*(t-o)&&(e-a)*(n-o)>=(r-a)*(s-o)}function nh(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!ah(i,t)&&(Ge(i,t)&&Ge(t,i)&&oh(i,t)&&(X(i.prev,i,t.prev)||X(i,t.prev,t))||di(i,t)&&X(i.prev,i,i.next)>0&&X(t.prev,t,t.next)>0)}function X(i,t,e){return(t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y)}function di(i,t){return i.x===t.x&&i.y===t.y}function An(i,t,e,s){var r=Xe(X(i,t,e)),n=Xe(X(i,t,s)),a=Xe(X(e,s,i)),o=Xe(X(e,s,t));return!!(r!==n&&a!==o||r===0&&Ye(i,e,t)||n===0&&Ye(i,s,t)||a===0&&Ye(e,i,s)||o===0&&Ye(e,t,s))}function Ye(i,t,e){return t.x<=Math.max(i.x,e.x)&&t.x>=Math.min(i.x,e.x)&&t.y<=Math.max(i.y,e.y)&&t.y>=Math.min(i.y,e.y)}function Xe(i){return i>0?1:i<0?-1:0}function ah(i,t){var e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&An(e,e.next,i,t))return!0;e=e.next}while(e!==i);return!1}function Ge(i,t){return X(i.prev,i,i.next)<0?X(i,t,i.next)>=0&&X(i,i.prev,t)>=0:X(i,t,i.prev)<0||X(i,i.next,t)<0}function oh(i,t){var e=i,s=!1,r=(i.x+t.x)/2,n=(i.y+t.y)/2;do e.y>n!=e.next.y>n&&e.next.y!==e.y&&r<(e.next.x-e.x)*(n-e.y)/(e.next.y-e.y)+e.x&&(s=!s),e=e.next;while(e!==i);return s}function Cn(i,t){var e=new Ji(i.i,i.x,i.y),s=new Ji(t.i,t.x,t.y),r=i.next,n=t.prev;return i.next=t,t.prev=i,e.next=r,r.prev=e,s.next=e,e.prev=s,n.next=s,s.prev=n,s}function er(i,t,e,s){var r=new Ji(i,t,e);return s?(r.next=s.next,r.prev=s,s.next.prev=r,s.next=r):(r.prev=r,r.next=r),r}function Ie(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 Ji(i,t,e){this.i=i,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}ci.deviation=function(i,t,e,s){var r=t&&t.length,n=r?t[0]*e:i.length,a=Math.abs(ts(i,0,n,e));if(r)for(var o=0,h=t.length;o0&&(s+=i[r-1].length,e.holes.push(s))}return e};var hh=gs.exports;const lh=ds(hh);var Tn=(i=>(i[i.NONE=0]="NONE",i[i.COLOR=16384]="COLOR",i[i.STENCIL=1024]="STENCIL",i[i.DEPTH=256]="DEPTH",i[i.COLOR_DEPTH=16640]="COLOR_DEPTH",i[i.COLOR_STENCIL=17408]="COLOR_STENCIL",i[i.DEPTH_STENCIL=1280]="DEPTH_STENCIL",i[i.ALL=17664]="ALL",i))(Tn||{});class ch{constructor(t){this.items=[],this._name=t}emit(t,e,s,r,n,a,o,h){const{name:c,items:l}=this;for(let d=0,u=l.length;d{this.runners[e]=new ch(e)})}_addSystems(t){let e;for(e in t){const s=t[e];this._addSystem(s.value,s.name)}}_addSystem(t,e){const s=new t(this);if(this[e])throw new Error(`Whoops! The name "${e}" is already in use`);this[e]=s,this._systemsHash[e]=s;for(const r in this.runners)this.runners[r].add(s);return this}_addPipes(t,e){const s=e.reduce((r,n)=>(r[n.name]=n.value,r),{});t.forEach(r=>{const n=r.value,a=r.name,o=s[a];this.renderPipes[a]=new n(this,o?new o:null)})}destroy(t=!1){this.runners.destroy.items.reverse(),this.runners.destroy.emit(t),Object.values(this.runners).forEach(e=>{e.destroy()}),this._systemsHash=null,this.renderPipes=null}generateTexture(t){return this.textureGenerator.generateTexture(t)}get roundPixels(){return!!this._roundPixels}_unsafeEvalCheck(){if(!Yo())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}};Mn.defaultOptions={resolution:1,failIfMajorPerformanceCaveat:!1,roundPixels:!1};let kn=Mn,je;function uh(i){return je!==void 0||(je=(()=>{var e;const t={stencil:!0,failIfMajorPerformanceCaveat:i??kn.defaultOptions.failIfMajorPerformanceCaveat};try{if(!K.get().getWebGLRenderingContext())return!1;let r=K.get().createCanvas().getContext("webgl",t);const n=!!((e=r==null?void 0:r.getContextAttributes())!=null&&e.stencil);if(r){const a=r.getExtension("WEBGL_lose_context");a&&a.loseContext()}return r=null,n}catch{return!1}})()),je}let qe;async function fh(i={}){return qe!==void 0||(qe=await(async()=>{const t=K.get().getNavigator().gpu;if(!t)return!1;try{return await(await t.requestAdapter(i)).requestDevice(),!0}catch{return!1}})()),qe}const ir=["webgl","webgpu","canvas"];async function ph(i){let t=[];i.preference?(t.push(i.preference),ir.forEach(n=>{n!==i.preference&&t.push(n)})):t=ir.slice();let e,s={};for(let n=0;n{const{WebGPURenderer:h}=await import("./WebGPURenderer-Co8-REvx.js");return{WebGPURenderer:h}},__vite__mapDeps([3,2,4]));e=o,s={...i,...i.webgpu};break}else if(a==="webgl"&&uh(i.failIfMajorPerformanceCaveat??kn.defaultOptions.failIfMajorPerformanceCaveat)){const{WebGLRenderer:o}=await ii(async()=>{const{WebGLRenderer:h}=await import("./WebGLRenderer-B1cEC-wN.js");return{WebGLRenderer:h}},__vite__mapDeps([5,2,4]));e=o,s={...i,...i.webgl};break}else if(a==="canvas")throw s={...i},new Error("CanvasRenderer is not yet implemented")}if(delete s.webgpu,delete s.webgl,!e)throw new Error("No available renderer for the current environment");const r=new e;return await r.init(s),r}const Gn="8.4.0";class In{static init(){var t;(t=globalThis.__PIXI_APP_INIT__)==null||t.call(globalThis,this,Gn)}static destroy(){}}In.extension=P.Application;class mh{constructor(t){this._renderer=t}init(){var t;(t=globalThis.__PIXI_RENDERER_INIT__)==null||t.call(globalThis,this._renderer,Gn)}destroy(){this._renderer=null}}mh.extension={type:[P.WebGLSystem,P.WebGPUSystem],name:"initHook",priority:-10};const Bn=class es{constructor(...t){this.stage=new at,t[0]!==void 0&&O(U,"Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.renderer=await ph(t),es._plugins.forEach(e=>{e.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return O(U,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(t=!1,e=!1){const s=es._plugins.slice(0);s.reverse(),s.forEach(r=>{r.destroy.call(this)}),this.stage.destroy(e),this.stage=null,this.renderer.destroy(t),this.renderer=null}};Bn._plugins=[];let En=Bn;ht.handleByList(P.Application,En._plugins);ht.add(In);class Fn extends ct{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 O(U,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return O(U,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return O(U,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return O(U,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return O(U,"BitmapFont.distanceFieldType is deprecated, please use BitmapFont.distanceField.type instead."),this.distanceField.type}destroy(t=!1){var e;this.emit("destroy",this),this.removeAllListeners();for(const s in this.chars)(e=this.chars[s].texture)==null||e.destroy();this.chars=null,t&&(this.pages.forEach(s=>s.texture.destroy(!0)),this.pages=null)}}const Rn=class is{constructor(t,e,s,r){this.uid=st("fillGradient"),this.type="linear",this.gradientStops=[],this._styleKey=null,this.x0=t,this.y0=e,this.x1=s,this.y1=r}addColorStop(t,e){return this.gradientStops.push({offset:t,color:J.shared.setValue(e).toHexa()}),this._styleKey=null,this}buildLinearGradient(){const t=is.defaultTextureSize,{gradientStops:e}=this,s=K.get().createCanvas();s.width=t,s.height=t;const r=s.getContext("2d"),n=r.createLinearGradient(0,0,is.defaultTextureSize,1);for(let y=0;y`${r.offset}-${r.color}`).join("-"),e=this.texture.uid,s=this.transform.toArray().join("-");return`fill-gradient-${this.uid}-${t}-${e}-${s}-${this.x0}-${this.y0}-${this.x1}-${this.y1}`}};Rn.defaultTextureSize=256;let Be=Rn;const sr={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"}};class ui{constructor(t,e){this.uid=st("fillPattern"),this.transform=new W,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=sr[e].addressModeU,t.source.style.addressModeV=sr[e].addressModeV)}setTransform(t){const e=this.texture;this.transform.copyFrom(t),this.transform.invert(),this.transform.scale(1/e.frame.width,1/e.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 gh=yh,Bi={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},xh=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function yh(i){var t=[];return i.replace(xh,function(e,s,r){var n=s.toLowerCase();for(r=wh(r),n=="m"&&r.length>2&&(t.push([s].concat(r.splice(0,2))),n="l",s=s=="m"?"l":"L");;){if(r.length==Bi[n])return r.unshift(s),t.push(r);if(r.length0&&(r=s.pop(),r?(n=r.startX,a=r.startY):(n=0,a=0)),r=null;break;default:tt(`Unknown SVG path command: ${c}`)}c!=="Z"&&c!=="z"&&r===null&&(r={startX:n,startY:a},s.push(r))}return t}class xs{constructor(t=0,e=0,s=0){this.type="circle",this.x=t,this.y=e,this.radius=s}clone(){return new xs(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return!1;const s=this.radius*this.radius;let r=this.x-t,n=this.y-e;return r*=r,n*=n,r+n<=s}strokeContains(t,e,s){if(this.radius===0)return!1;const r=this.x-t,n=this.y-e,a=this.radius,o=s/2,h=Math.sqrt(r*r+n*n);return ha-o}getBounds(t){return t=t||new z,t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=this.radius*2,t.height=this.radius*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}class ys{constructor(t=0,e=0,s=0,r=0){this.type="ellipse",this.x=t,this.y=e,this.halfWidth=s,this.halfHeight=r}clone(){return new ys(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,e){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let s=(t-this.x)/this.halfWidth,r=(e-this.y)/this.halfHeight;return s*=s,r*=r,s+r<=1}strokeContains(t,e,s){const{halfWidth:r,halfHeight:n}=this;if(r<=0||n<=0)return!1;const a=s/2,o=r-a,h=n-a,c=r+a,l=n+a,d=t-this.x,u=e-this.y,f=d*d/(o*o)+u*u/(h*h),m=d*d/(c*c)+u*u/(l*l);return f>1&&m<=1}getBounds(t){return t=t||new z,t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=this.halfWidth*2,t.height=this.halfHeight*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}}function vh(i,t,e,s,r,n){const a=i-e,o=t-s,h=r-e,c=n-s,l=a*h+o*c,d=h*h+c*c;let u=-1;d!==0&&(u=l/d);let f,m;u<0?(f=e,m=s):u>1?(f=r,m=n):(f=e+u*h,m=s+u*c);const y=i-f,g=t-m;return y*y+g*g}class Me{constructor(...t){this.type="polygon";let e=Array.isArray(t[0])?t[0]:t;if(typeof e[0]!="number"){const s=[];for(let r=0,n=e.length;re!=l>e&&t<(c-o)*((e-h)/(l-h))+o&&(s=!s)}return s}strokeContains(t,e,s){const r=s/2,n=r*r,{points:a}=this,o=a.length-(this.closePath?0:2);for(let h=0;hr?c:r,n=la?l:a}return t.x=s,t.width=r-s,t.y=n,t.height=a-n,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,e)=>`${t}, ${e}`,"")}]`}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]}}const Ke=(i,t,e,s,r,n)=>{const a=i-e,o=t-s,h=Math.sqrt(a*a+o*o);return h>=r-n&&h<=r+n};class _s{constructor(t=0,e=0,s=0,r=0,n=20){this.type="roundedRectangle",this.x=t,this.y=e,this.width=s,this.height=r,this.radius=n}getBounds(t){return t=t||new z,t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new _s(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){const s=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+s&&e<=this.y+this.height-s||t>=this.x+s&&t<=this.x+this.width-s)return!0;let r=t-(this.x+s),n=e-(this.y+s);const a=s*s;if(r*r+n*n<=a||(r=t-(this.x+this.width-s),r*r+n*n<=a)||(n=e-(this.y+this.height-s),r*r+n*n<=a)||(r=t-(this.x+s),r*r+n*n<=a))return!0}return!1}strokeContains(t,e,s){const{x:r,y:n,width:a,height:o,radius:h}=this,c=s/2,l=r+h,d=n+h,u=a-h*2,f=o-h*2,m=r+a,y=n+o;return(t>=r-c&&t<=r+c||t>=m-c&&t<=m+c)&&e>=d&&e<=d+f||(e>=n-c&&e<=n+c||e>=y-c&&e<=y+c)&&t>=l&&t<=l+u?!0:tm-h&&em-h&&e>y-h&&Ke(t,e,m-h,y-h,h,c)||ty-h&&Ke(t,e,l,y-h,h,c)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}const Ah=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(` -`);function Ch(i){let t="";for(let e=0;e0&&(t+=` -else `),e>>=0;return Dn[e]||Ph(i,t,e)}let Ei=0;function Ph(i,t,e){const s={};let r=0;Ei||(Ei=Ln());for(let a=0;a0){const a=new Uint8Array(i,e*8,n);new Uint8Array(t,e*8,n).set(a)}}const kh={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};var Gh=(i=>(i[i.DISABLED=0]="DISABLED",i[i.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",i[i.MASK_ACTIVE=2]="MASK_ACTIVE",i[i.RENDERING_MASK_REMOVE=3]="RENDERING_MASK_REMOVE",i[i.NONE=4]="NONE",i))(Gh||{});function ar(i,t){return t.alphaMode==="no-premultiply-alpha"&&kh[i]||i}class Ih{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0}clear(){for(let t=0;t0?zn[--ss]:new Bh}function hr(i){zn[ss++]=i}let we=0;const On=class ei{constructor(t={}){this.uid=st("batcher"),this.dirty=!0,this.batchIndex=0,this.batches=[],this._elements=[],ei.defaultOptions.maxTextures=ei.defaultOptions.maxTextures??Ln(),t={...ei.defaultOptions,...t};const{maxTextures:e,attributesInitialSize:s,indicesInitialSize:r}=t;this.attributeBuffer=new rr(s*4),this.indexBuffer=new Uint16Array(r),this.maxTextures=e}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;tthis.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);const o=this.attributeBuffer.float32View,h=this.attributeBuffer.uint32View,c=this.indexBuffer;let l=this._batchIndexSize,d=this._batchIndexStart,u="startBatch";const f=this.maxTextures;for(let m=this.elementStart;m=f||b)&&(this._finishBatch(s,d,l-d,r,a,t,u),u="renderBatch",d=l,a=w,s=or(),r=s.textures,r.clear(),++we),y._textureId=_._textureBindLocation=r.count,r.ids[_.uid]=r.count,r.textures[r.count++]=_,y._batch=s,l+=y.indexSize,y.packAsQuad?(this.packQuadAttributes(y,o,h,y._attributeStart,y._textureId),this.packQuadIndex(c,y._indexStart,y._attributeStart/this.vertexSize)):(this.packAttributes(y,o,h,y._attributeStart,y._textureId),this.packIndex(y,c,y._indexStart,y._attributeStart/this.vertexSize))}r.count>0&&(this._finishBatch(s,d,l-d,r,a,t,u),d=l,++we),this.elementStart=this.elementSize,this._batchIndexStart=d,this._batchIndexSize=l}_finishBatch(t,e,s,r,n,a,o){t.gpuBindGroup=null,t.bindGroup=null,t.action=o,t.batcher=this,t.textures=r,t.blendMode=n,t.start=e,t.size=s,++we,this.batches[this.batchIndex++]=t,a.add(t)}finish(t){this.break(t)}ensureAttributeBuffer(t){t*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(t*4)}ensureIndexBuffer(t){t<=this.indexBuffer.length||this._resizeIndexBuffer(t)}_resizeAttributeBuffer(t){const e=Math.max(t,this.attributeBuffer.size*2),s=new rr(e);nr(this.attributeBuffer.rawBinaryData,s.rawBinaryData),this.attributeBuffer=s}_resizeIndexBuffer(t){const e=this.indexBuffer;let s=Math.max(t,e.length*1.5);s+=s%2;const r=s>65535?new Uint32Array(s):new Uint16Array(s);if(r.BYTES_PER_ELEMENT!==e.BYTES_PER_ELEMENT)for(let n=0;n(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))(Q||{});class Ft extends ct{constructor(t){let{data:e,size:s}=t;const{usage:r,label:n,shrinkToFit:a}=t;super(),this.uid=st("buffer"),this._resourceType="buffer",this._resourceId=st("resource"),this._touched=0,this._updateID=1,this.shrinkToFit=!0,this.destroyed=!1,e instanceof Array&&(e=new Float32Array(e)),this._data=e,s=s??(e==null?void 0:e.byteLength);const o=!!e;this.descriptor={size:s,usage:r,mappedAtCreation:o,label:n},this.shrinkToFit=a??!0}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,!0)}get static(){return!!(this.descriptor.usage&Q.STATIC)}set static(t){t?this.descriptor.usage|=Q.STATIC:this.descriptor.usage&=~Q.STATIC}setDataWithSize(t,e,s){if(this._updateID++,this._updateSize=e*t.BYTES_PER_ELEMENT,this._data===t){s&&this.emit("update",this);return}const r=this._data;if(this._data=t,r.length!==t.length){!this.shrinkToFit&&t.byteLengtho&&(o=f),m>h&&(h=m),fe.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}const Lh=new Float32Array(1),Dh=new Uint32Array(1);class zh extends Wn{constructor(){const e=new Ft({data:Lh,label:"attribute-batch-buffer",usage:Q.VERTEX|Q.COPY_DST,shrinkToFit:!1}),s=new Ft({data:Dh,label:"index-batch-buffer",usage:Q.INDEX|Q.COPY_DST,shrinkToFit:!1}),r=6*4;super({attributes:{aPosition:{buffer:e,format:"float32x2",stride:r,offset:0},aUV:{buffer:e,format:"float32x2",stride:r,offset:2*4},aColor:{buffer:e,format:"unorm8x4",stride:r,offset:4*4},aTextureIdAndRound:{buffer:e,format:"uint16x2",stride:r,offset:5*4}},indexBuffer:s})}}function lr(i,t,e){if(i)for(const s in i){const r=s.toLocaleLowerCase(),n=t[r];if(n){let a=i[s];s==="header"&&(a=a.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),e&&n.push(`//----${e}----//`),n.push(a)}else tt(`${s} placement hook does not exist in shader`)}}const Oh=/\{\{(.*?)\}\}/g;function cr(i){var s;const t={};return(((s=i.match(Oh))==null?void 0:s.map(r=>r.replace(/[{()}]/g,"")))??[]).forEach(r=>{t[r]=[]}),t}function dr(i,t){let e;const s=/@in\s+([^;]+);/g;for(;(e=s.exec(i))!==null;)t.push(e[1])}function ur(i,t,e=!1){const s=[];dr(t,s),i.forEach(o=>{o.header&&dr(o.header,s)});const r=s;e&&r.sort();const n=r.map((o,h)=>` @location(${h}) ${o},`).join(` -`);let a=t.replace(/@in\s+[^;]+;\s*/g,"");return a=a.replace("{{in}}",` -${n} -`),a}function fr(i,t){let e;const s=/@out\s+([^;]+);/g;for(;(e=s.exec(i))!==null;)t.push(e[1])}function Uh(i){const e=/\b(\w+)\s*:/g.exec(i);return e?e[1]:""}function Wh(i){const t=/@.*?\s+/g;return i.replace(t,"")}function Nh(i,t){const e=[];fr(t,e),i.forEach(h=>{h.header&&fr(h.header,e)});let s=0;const r=e.sort().map(h=>h.indexOf("builtin")>-1?h:`@location(${s++}) ${h}`).join(`, -`),n=e.sort().map(h=>` var ${Wh(h)};`).join(` -`),a=`return VSOutput( - ${e.sort().map(h=>` ${Uh(h)}`).join(`, -`)});`;let o=t.replace(/@out\s+[^;]+;\s*/g,"");return o=o.replace("{{struct}}",` -${r} -`),o=o.replace("{{start}}",` -${n} -`),o=o.replace("{{return}}",` -${a} -`),o}function pr(i,t){let e=i;for(const s in t){const r=t[s];r.join(` -`).length?e=e.replace(`{{${s}}}`,`//-----${s} START-----// -${r.join(` -`)} -//----${s} FINISH----//`):e=e.replace(`{{${s}}}`,"")}return e}const Et=Object.create(null),Fi=new Map;let Hh=0;function $h({template:i,bits:t}){const e=Nn(i,t);if(Et[e])return Et[e];const{vertex:s,fragment:r}=Yh(i,t);return Et[e]=Hn(s,r,t),Et[e]}function Vh({template:i,bits:t}){const e=Nn(i,t);return Et[e]||(Et[e]=Hn(i.vertex,i.fragment,t)),Et[e]}function Yh(i,t){const e=t.map(a=>a.vertex).filter(a=>!!a),s=t.map(a=>a.fragment).filter(a=>!!a);let r=ur(e,i.vertex,!0);r=Nh(e,r);const n=ur(s,i.fragment,!0);return{vertex:r,fragment:n}}function Nn(i,t){return t.map(e=>(Fi.has(e)||Fi.set(e,Hh++),Fi.get(e))).sort((e,s)=>e-s).join("-")+i.vertex+i.fragment}function Hn(i,t,e){const s=cr(i),r=cr(t);return e.forEach(n=>{lr(n.vertex,s,n.name),lr(n.fragment,r,n.name)}),{vertex:pr(i,s),fragment:pr(t,r)}}const Xh=` - @in aPosition: vec2; - @in aUV: vec2; - - @out @builtin(position) vPosition: vec4; - @out vUV : vec2; - @out vColor : vec4; - - {{header}} - - struct VSOutput { - {{struct}} - }; - - @vertex - fn main( {{in}} ) -> VSOutput { - - var worldTransformMatrix = globalUniforms.uWorldTransformMatrix; - var modelMatrix = mat3x3( - 1.0, 0.0, 0.0, - 0.0, 1.0, 0.0, - 0.0, 0.0, 1.0 - ); - var position = aPosition; - var uv = aUV; - - {{start}} - - vColor = vec4(1., 1., 1., 1.); - - {{main}} - - vUV = uv; - - var modelViewProjectionMatrix = globalUniforms.uProjectionMatrix * worldTransformMatrix * modelMatrix; - - vPosition = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); - - vColor *= globalUniforms.uWorldColorAlpha; - - {{end}} - - {{return}} - }; -`,jh=` - @in vUV : vec2; - @in vColor : vec4; - - {{header}} - - @fragment - fn main( - {{in}} - ) -> @location(0) vec4 { - - {{start}} - - var outColor:vec4; - - {{main}} - - var finalColor:vec4 = outColor * vColor; - - {{end}} - - return finalColor; - }; -`,qh=` - in vec2 aPosition; - in vec2 aUV; - - out vec4 vColor; - out vec2 vUV; - - {{header}} - - void main(void){ - - mat3 worldTransformMatrix = uWorldTransformMatrix; - mat3 modelMatrix = mat3( - 1.0, 0.0, 0.0, - 0.0, 1.0, 0.0, - 0.0, 0.0, 1.0 - ); - vec2 position = aPosition; - vec2 uv = aUV; - - {{start}} - - vColor = vec4(1.); - - {{main}} - - vUV = uv; - - mat3 modelViewProjectionMatrix = uProjectionMatrix * worldTransformMatrix * modelMatrix; - - gl_Position = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); - - vColor *= uWorldColorAlpha; - - {{end}} - } -`,Kh=` - - in vec4 vColor; - in vec2 vUV; - - out vec4 finalColor; - - {{header}} - - void main(void) { - - {{start}} - - vec4 outColor; - - {{main}} - - finalColor = outColor * vColor; - - {{end}} - } -`,Zh={name:"global-uniforms-bit",vertex:{header:` - struct GlobalUniforms { - uProjectionMatrix:mat3x3, - uWorldTransformMatrix:mat3x3, - uWorldColorAlpha: vec4, - uResolution: vec2, - } - - @group(0) @binding(0) var globalUniforms : GlobalUniforms; - `}},Qh={name:"global-uniforms-bit",vertex:{header:` - uniform mat3 uProjectionMatrix; - uniform mat3 uWorldTransformMatrix; - uniform vec4 uWorldColorAlpha; - uniform vec2 uResolution; - `}};function Jh({bits:i,name:t}){const e=$h({template:{fragment:jh,vertex:Xh},bits:[Zh,...i]});return li.from({name:t,vertex:{source:e.vertex,entryPoint:"main"},fragment:{source:e.fragment,entryPoint:"main"}})}function tl({bits:i,name:t}){return new yn({name:t,...Vh({template:{vertex:qh,fragment:Kh},bits:[Qh,...i]})})}const el={name:"color-bit",vertex:{header:` - @in aColor: vec4; - `,main:` - vColor *= vec4(aColor.rgb * aColor.a, aColor.a); - `}},il={name:"color-bit",vertex:{header:` - in vec4 aColor; - `,main:` - vColor *= vec4(aColor.rgb * aColor.a, aColor.a); - `}},Ri={};function sl(i){const t=[];if(i===1)t.push("@group(1) @binding(0) var textureSource1: texture_2d;"),t.push("@group(1) @binding(1) var textureSampler1: sampler;");else{let e=0;for(let s=0;s;`),t.push(`@group(1) @binding(${e++}) var textureSampler${s+1}: sampler;`)}return t.join(` -`)}function rl(i){const t=[];if(i===1)t.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else{t.push("switch vTextureId {");for(let e=0;e; - @out @interpolate(flat) vTextureId : u32; - `,main:` - vTextureId = aTextureIdAndRound.y; - `,end:` - if(aTextureIdAndRound.x == 1) - { - vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw); - } - `},fragment:{header:` - @in @interpolate(flat) vTextureId: u32; - - ${sl(i)} - `,main:` - var uvDx = dpdx(vUV); - var uvDy = dpdy(vUV); - - ${rl(i)} - `}}),Ri[i]}const Li={};function al(i){const t=[];for(let e=0;e0&&t.push("else"),e, targetSize: vec2) -> vec2 - { - return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0; - } - `}},ll={name:"round-pixels-bit",vertex:{header:` - vec2 roundPixels(vec2 position, vec2 targetSize) - { - return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0; - } - `}},mr={};function cl(i){let t=mr[i];if(t)return t;const e=new Int32Array(i);for(let s=0;s>16&255,s=i>>8&255,r=i&255,n=t>>16&255,a=t>>8&255,o=t&255,h=e*n/255,c=s*a/255,l=r*o/255;return(h<<16)+(c<<8)+l}const gl=new W;class Xn{constructor(){this.packAsQuad=!1,this.batcherName="default",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(){const t=this.baseColor,e=t>>16|t&65280|(t&255)<<16,s=this.renderable;return s?ml(e,s.groupColor)+(this.alpha*s.groupAlpha*255<<24):e+(this.alpha*255<<24)}get transform(){var t;return((t=this.renderable)==null?void 0:t.groupTransform)||gl}copyTo(t){t.indexOffset=this.indexOffset,t.indexSize=this.indexSize,t.attributeOffset=this.attributeOffset,t.attributeSize=this.attributeSize,t.baseColor=this.baseColor,t.alpha=this.alpha,t.texture=this.texture,t.geometryData=this.geometryData}reset(){this.applyTransform=!0}}const Ee={extension:{type:P.ShapeBuilder,name:"circle"},build(i,t){let e,s,r,n,a,o;if(i.type==="circle"){const S=i;e=S.x,s=S.y,a=o=S.radius,r=n=0}else if(i.type==="ellipse"){const S=i;e=S.x,s=S.y,a=S.halfWidth,o=S.halfHeight,r=n=0}else{const S=i,C=S.width/2,E=S.height/2;e=S.x+C,s=S.y+E,a=o=Math.max(0,Math.min(S.radius,Math.min(C,E))),r=C-a,n=E-o}if(!(a>=0&&o>=0&&r>=0&&n>=0))return t;const h=Math.ceil(2.3*Math.sqrt(a+o)),c=h*8+(r?4:0)+(n?4:0);if(c===0)return t;if(h===0)return t[0]=t[6]=e+r,t[1]=t[3]=s+n,t[2]=t[4]=e-r,t[5]=t[7]=s-n,t;let l=0,d=h*4+(r?2:0)+2,u=d,f=c,m=r+a,y=n,g=e+m,_=e-m,w=s+y;if(t[l++]=g,t[l++]=w,t[--d]=w,t[--d]=_,n){const S=s-y;t[u++]=_,t[u++]=S,t[--f]=S,t[--f]=g}for(let S=1;S0&&(r[n++]=h,r[n++]=c,r[n++]=h-1),h++;r[n++]=c+1,r[n++]=c,r[n++]=h-1}},xl={...Ee,extension:{...Ee.extension,name:"ellipse"}},yl={...Ee,extension:{...Ee.extension,name:"roundedRectangle"}},_l=1e-4,xr=1e-4;function wl(i){const t=i.length;if(t<6)return 1;let e=0;for(let s=0,r=i[t-2],n=i[t-1];sd&&(d+=Math.PI*2);let u=l;const f=d-l,m=Math.abs(f),y=Math.sqrt(h*h+c*c),g=(15*m*Math.sqrt(y)/Math.PI>>0)+1,_=f/g;if(u+=_,o){a.push(i,t),a.push(e,s);for(let w=1,b=u;w=0&&(l.join==="round"?w+=Ht(v,A,v-F*G,A-B*G,v-$*G,A-Z*G,g,!1)+4:w+=2,g.push(v-$*R,A-Z*R),g.push(v+$*G,A+Z*G));continue}const Is=(-F+M)*(-B+A)-(-F+v)*(-B+k),Bs=(-$+j)*(-Z+A)-(-$+v)*(-Z+At),Oe=(Bt*Bs-me*Is)/ze,Ue=(ge*Is-pe*Bs)/ze,pi=(Oe-v)*(Oe-v)+(Ue-A)*(Ue-A),Ot=v+(Oe-v)*G,Ut=A+(Ue-A)*G,Wt=v-(Oe-v)*R,Nt=A-(Ue-A)*R,va=Math.min(Bt*Bt+pe*pe,me*me+ge*ge),Es=xe?G:R,Aa=va+Es*Es*C;pi<=Aa?l.join==="bevel"||pi/C>E?(xe?(g.push(Ot,Ut),g.push(v+F*R,A+B*R),g.push(Ot,Ut),g.push(v+$*R,A+Z*R)):(g.push(v-F*G,A-B*G),g.push(Wt,Nt),g.push(v-$*G,A-Z*G),g.push(Wt,Nt)),w+=2):l.join==="round"?xe?(g.push(Ot,Ut),g.push(v+F*R,A+B*R),w+=Ht(v,A,v+F*R,A+B*R,v+$*R,A+Z*R,g,!0)+4,g.push(Ot,Ut),g.push(v+$*R,A+Z*R)):(g.push(v-F*G,A-B*G),g.push(Wt,Nt),w+=Ht(v,A,v-F*G,A-B*G,v-$*G,A-Z*G,g,!1)+4,g.push(v-$*G,A-Z*G),g.push(Wt,Nt)):(g.push(Ot,Ut),g.push(Wt,Nt)):(g.push(v-F*G,A-B*G),g.push(v+F*R,A+B*R),l.join==="round"?xe?w+=Ht(v,A,v+F*R,A+B*R,v+$*R,A+Z*R,g,!0)+2:w+=Ht(v,A,v-F*G,A-B*G,v-$*G,A-Z*G,g,!1)+2:l.join==="miter"&&pi/C<=E&&(xe?(g.push(Wt,Nt),g.push(Wt,Nt)):(g.push(Ot,Ut),g.push(Ot,Ut)),w+=2),g.push(v-$*G,A-Z*G),g.push(v+$*R,A+Z*R),w+=2)}M=i[(_-2)*2],k=i[(_-2)*2+1],v=i[(_-1)*2],A=i[(_-1)*2+1],F=-(k-A),B=M-v,mt=Math.sqrt(F*F+B*B),F/=mt,B/=mt,F*=S,B*=S,g.push(v-F*G,A-B*G),g.push(v+F*R,A+B*R),m||(l.cap==="round"?w+=Ht(v-F*(G-R)*.5,A-B*(G-R)*.5,v-F*G,A-B*G,v+F*R,A+B*R,g,!1)+2:l.cap==="square"&&(w+=yr(v,A,F,B,G,R,!1,g)));const Sa=xr*xr;for(let N=b;N=0&&a>=0&&(t[0]=s,t[1]=r,t[2]=s+n,t[3]=r,t[4]=s+n,t[5]=r+a,t[6]=s,t[7]=r+a),t},triangulate(i,t,e,s,r,n){let a=0;s*=e,t[s+a]=i[0],t[s+a+1]=i[1],a+=e,t[s+a]=i[2],t[s+a+1]=i[3],a+=e,t[s+a]=i[6],t[s+a+1]=i[7],a+=e,t[s+a]=i[4],t[s+a+1]=i[5],a+=e;const o=s/e;r[n++]=o,r[n++]=o+1,r[n++]=o+2,r[n++]=o+1,r[n++]=o+3,r[n++]=o+2}},Cl={extension:{type:P.ShapeBuilder,name:"triangle"},build(i,t){return t[0]=i.x,t[1]=i.y,t[2]=i.x2,t[3]=i.y2,t[4]=i.x3,t[5]=i.y3,t},triangulate(i,t,e,s,r,n){let a=0;s*=e,t[s+a]=i[0],t[s+a+1]=i[1],a+=e,t[s+a]=i[2],t[s+a+1]=i[3],a+=e,t[s+a]=i[4],t[s+a+1]=i[5];const o=s/e;r[n++]=o,r[n++]=o+1,r[n++]=o+2}},fi={};ht.handleByMap(P.ShapeBuilder,fi);ht.add(Al,vl,Cl,Ee,xl,yl);const Tl=new z;function Ml(i,t){const{geometryData:e,batches:s}=t;s.length=0,e.indices.length=0,e.vertices.length=0,e.uvs.length=0;for(let r=0;r{const f=h.length,m=a.length/2,y=[],g=fi[l.type];if(g.build(l,y),d&&Yn(y,d),s){const S=l.closePath??!0;bl(y,t,!1,S,a,2,m,h)}else if(e&&c===u){c!==0&&console.warn("[Pixi Graphics] only the last shape have be cut out");const S=[],C=y.slice();kl(e.shapePath).forEach(M=>{S.push(C.length/2),C.push(...M)}),jn(C,S,a,2,m,h,f)}else g.triangulate(y,a,2,m,h,f);const _=o.length/2,w=t.texture;if(w!==L.WHITE){const S=t.matrix;S&&(d&&S.append(d.clone().invert()),fl(a,2,m,o,_,2,a.length/2-m,S))}else pl(o,_,2,a.length/2-m);const b=Mt.get(Xn);b.indexOffset=f,b.indexSize=h.length-f,b.attributeOffset=m,b.attributeSize=a.length/2-m,b.baseColor=t.color,b.alpha=t.alpha,b.texture=w,b.geometryData=n,r.push(b)})}function kl(i){if(!i)return[];const t=i.shapePrimitives,e=[];for(let s=0;s{Mt.return(s)})}destroy(){for(const t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context)}};ws.extension={type:[P.WebGLSystem,P.WebGPUSystem,P.CanvasSystem],name:"graphicsContext"};ws.defaultOptions={bezierSmoothness:.5};let qn=ws;const Bl=8,Ze=11920929e-14,El=1;function Kn(i,t,e,s,r,n,a,o,h,c){const d=Math.min(.99,Math.max(0,c??qn.defaultOptions.bezierSmoothness));let u=(El-d)/1;return u*=u,Fl(t,e,s,r,n,a,o,h,i,u),i}function Fl(i,t,e,s,r,n,a,o,h,c){ns(i,t,e,s,r,n,a,o,h,c,0),h.push(a,o)}function ns(i,t,e,s,r,n,a,o,h,c,l){if(l>Bl)return;const d=(i+e)/2,u=(t+s)/2,f=(e+r)/2,m=(s+n)/2,y=(r+a)/2,g=(n+o)/2,_=(d+f)/2,w=(u+m)/2,b=(f+y)/2,S=(m+g)/2,C=(_+b)/2,E=(w+S)/2;if(l>0){let M=a-i,k=o-t;const v=Math.abs((e-a)*k-(s-o)*M),A=Math.abs((r-a)*k-(n-o)*M);if(v>Ze&&A>Ze){if((v+A)*(v+A)<=c*(M*M+k*k)){h.push(C,E);return}}else if(v>Ze){if(v*v<=c*(M*M+k*k)){h.push(C,E);return}}else if(A>Ze){if(A*A<=c*(M*M+k*k)){h.push(C,E);return}}else if(M=C-(i+a)/2,k=E-(t+o)/2,M*M+k*k<=c){h.push(C,E);return}}ns(i,t,d,u,_,w,C,E,h,c,l+1),ns(C,E,b,S,y,g,a,o,h,c,l+1)}const Rl=8,Ll=11920929e-14,Dl=1;function zl(i,t,e,s,r,n,a,o){const c=Math.min(.99,Math.max(0,o??qn.defaultOptions.bezierSmoothness));let l=(Dl-c)/1;return l*=l,Ol(t,e,s,r,n,a,i,l),i}function Ol(i,t,e,s,r,n,a,o){as(a,i,t,e,s,r,n,o,0),a.push(r,n)}function as(i,t,e,s,r,n,a,o,h){if(h>Rl)return;const c=(t+s)/2,l=(e+r)/2,d=(s+n)/2,u=(r+a)/2,f=(c+d)/2,m=(l+u)/2;let y=n-t,g=a-e;const _=Math.abs((s-n)*g-(r-a)*y);if(_>Ll){if(_*_<=o*(y*y+g*g)){i.push(f,m);return}}else if(y=f-(t+n)/2,g=m-(e+a)/2,y*y+g*g<=o){i.push(f,m);return}as(i,t,e,c,l,f,m,o,h+1),as(i,f,m,d,u,n,a,o,h+1)}function Zn(i,t,e,s,r,n,a,o){let h=Math.abs(r-n);(!a&&r>n||a&&n>r)&&(h=2*Math.PI-h),o=o||Math.max(6,Math.floor(6*Math.pow(s,1/3)*(h/Math.PI))),o=Math.max(o,3);let c=h/o,l=r;c*=a?-1:1;for(let d=0;dd*h)}const Pe=Math.PI*2,Di={centerX:0,centerY:0,ang1:0,ang2:0},zi=({x:i,y:t},e,s,r,n,a,o,h)=>{i*=e,t*=s;const c=r*i-n*t,l=n*i+r*t;return h.x=c+a,h.y=l+o,h};function Wl(i,t){const e=t===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(t/4),s=t===1.5707963267948966?.551915024494:e,r=Math.cos(i),n=Math.sin(i),a=Math.cos(i+t),o=Math.sin(i+t);return[{x:r-n*s,y:n+r*s},{x:a+o*s,y:o-a*s},{x:a,y:o}]}const wr=(i,t,e,s)=>{const r=i*s-t*e<0?-1:1;let n=i*e+t*s;return n>1&&(n=1),n<-1&&(n=-1),r*Math.acos(n)},Nl=(i,t,e,s,r,n,a,o,h,c,l,d,u)=>{const f=Math.pow(r,2),m=Math.pow(n,2),y=Math.pow(l,2),g=Math.pow(d,2);let _=f*m-f*g-m*y;_<0&&(_=0),_/=f*g+m*y,_=Math.sqrt(_)*(a===o?-1:1);const w=_*r/n*d,b=_*-n/r*l,S=c*w-h*b+(i+e)/2,C=h*w+c*b+(t+s)/2,E=(l-w)/r,M=(d-b)/n,k=(-l-w)/r,v=(-d-b)/n,A=wr(1,0,E,M);let j=wr(E,M,k,v);o===0&&j>0&&(j-=Pe),o===1&&j<0&&(j+=Pe),u.centerX=S,u.centerY=C,u.ang1=A,u.ang2=j};function Hl(i,t,e,s,r,n,a,o=0,h=0,c=0){if(n===0||a===0)return;const l=Math.sin(o*Pe/360),d=Math.cos(o*Pe/360),u=d*(t-s)/2+l*(e-r)/2,f=-l*(t-s)/2+d*(e-r)/2;if(u===0&&f===0)return;n=Math.abs(n),a=Math.abs(a);const m=Math.pow(u,2)/Math.pow(n,2)+Math.pow(f,2)/Math.pow(a,2);m>1&&(n*=Math.sqrt(m),a*=Math.sqrt(m)),Nl(t,e,s,r,n,a,h,c,l,d,u,f,Di);let{ang1:y,ang2:g}=Di;const{centerX:_,centerY:w}=Di;let b=Math.abs(g)/(Pe/4);Math.abs(1-b)<1e-7&&(b=1);const S=Math.max(Math.ceil(b),1);g/=S;let C=i[i.length-2],E=i[i.length-1];const M={x:0,y:0};for(let k=0;k{const h=o.x-a.x,c=o.y-a.y,l=Math.sqrt(h*h+c*c),d=h/l,u=c/l;return{len:l,nx:d,ny:u}},r=(a,o)=>{a===0?i.moveTo(o.x,o.y):i.lineTo(o.x,o.y)};let n=t[t.length-1];for(let a=0;a0&&(f=-1,m=!0);const y=u/2;let g,_=Math.abs(Math.cos(y)*h/Math.sin(y));_>Math.min(l.len/2,d.len/2)?(_=Math.min(l.len/2,d.len/2),g=Math.abs(_*Math.sin(y)/Math.cos(y))):g=h;const w=o.x+d.nx*_+-d.ny*g*f,b=o.y+d.ny*_+d.nx*g*f,S=Math.atan2(l.ny,l.nx)+Math.PI/2*f,C=Math.atan2(d.ny,d.nx)-Math.PI/2*f;a===0&&i.moveTo(w+Math.cos(S)*g,b+Math.sin(S)*g),i.arc(w,b,g,S,C,m),n=o}}function Vl(i,t,e,s){const r=(o,h)=>Math.sqrt((o.x-h.x)**2+(o.y-h.y)**2),n=(o,h,c)=>({x:o.x+(h.x-o.x)*c,y:o.y+(h.y-o.y)*c}),a=t.length;for(let o=0;o=2;d-=2)l[d]===l[d-2]&&l[d-1]===l[d-3]&&l.splice(d-1,2);return this.poly(l,!0,a)}ellipse(t,e,s,r,n){return this.drawShape(new ys(t,e,s,r),n),this}roundRect(t,e,s,r,n,a){return this.drawShape(new _s(t,e,s,r,n),a),this}drawShape(t,e){return this.endPoly(),this.shapePrimitives.push({shape:t,transform:e}),this}startPoly(t,e){let s=this._currentPoly;return s&&this.endPoly(),s=new Me,s.points.push(t,e),this._currentPoly=s,this}endPoly(t=!1){const e=this._currentPoly;return e&&e.points.length>2&&(e.closePath=t,this.shapePrimitives.push({shape:e})),this._currentPoly=null,this}_ensurePoly(t=!0){if(!this._currentPoly&&(this._currentPoly=new Me,t)){const e=this.shapePrimitives[this.shapePrimitives.length-1];if(e){let s=e.shape.x,r=e.shape.y;if(e.transform&&!e.transform.isIdentity()){const n=e.transform,a=s;s=n.a*s+n.c*r+n.tx,r=n.b*a+n.d*r+n.ty}this._currentPoly.points.push(s,r)}else this._currentPoly.points.push(0,0)}}buildPath(){const t=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let e=0;eparseInt(k,10)),t.context.poly(w,!0),e&&t.context.fill(),s&&t.context.stroke();break;case"polyline":b=i.getAttribute("points"),w=b.match(/\d+/g).map(k=>parseInt(k,10)),t.context.poly(w,!1),s&&t.context.stroke();break;case"g":case"svg":break;default:{console.info(`[SVG parser] <${i.nodeName}> elements unsupported`);break}}for(let k=0;k{this._fill=jt({...this._originalFill},ft.defaultFillStyle)})),this._fill=jt(t===0?"black":t,ft.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...ft.defaultStrokeStyle,...t},()=>{this._stroke=ai({...this._originalStroke},ft.defaultStrokeStyle)})),this._stroke=ai(t,ft.defaultStrokeStyle),this.update())}_generateKey(){return this._styleKey=tc(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this)}reset(){const t=ee.defaultTextStyle;for(const e in t)this[e]=t[e]}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new ee({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(t=!1){var s,r,n,a;if(this.removeAllListeners(),typeof t=="boolean"?t:t==null?void 0:t.texture){const o=typeof t=="boolean"?t:t==null?void 0:t.textureSource;(s=this._fill)!=null&&s.texture&&this._fill.texture.destroy(o),(r=this._originalFill)!=null&&r.texture&&this._originalFill.texture.destroy(o),(n=this._stroke)!=null&&n.texture&&this._stroke.texture.destroy(o),(a=this._originalStroke)!=null&&a.texture&&this._originalStroke.texture.destroy(o)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(t,e){return new Proxy(t,{set:(s,r,n)=>(s[r]=n,e==null||e(r,n),this.update(),!0)})}_isFillStyle(t){return(t??null)!==null&&!(J.isColorLike(t)||t instanceof Be||t instanceof ui)}};Ss.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};Ss.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};let et=Ss;function sc(i){const t=i;if(typeof t.dropShadow=="boolean"&&t.dropShadow){const e=et.defaultDropShadow;i.dropShadow={alpha:t.dropShadowAlpha??e.alpha,angle:t.dropShadowAngle??e.angle,blur:t.dropShadowBlur??e.blur,color:t.dropShadowColor??e.color,distance:t.dropShadowDistance??e.distance}}if(t.strokeThickness!==void 0){O(U,"strokeThickness is now a part of stroke");const e=t.stroke;let s={};if(J.isColorLike(e))s.color=e;else if(e instanceof Be||e instanceof ui)s.fill=e;else if(Object.hasOwnProperty.call(e,"color")||Object.hasOwnProperty.call(e,"fill"))s=e;else throw new Error("Invalid stroke value.");i.stroke={...s,width:t.strokeThickness}}if(Array.isArray(t.fillGradientStops)){O(U,"gradient fill is now a fill pattern: `new FillGradient(...)`");let e;i.fontSize==null?i.fontSize=et.defaultTextStyle.fontSize:typeof i.fontSize=="string"?e=parseInt(i.fontSize,10):e=i.fontSize;const s=new Be(0,0,0,e*1.7),r=t.fillGradientStops.map(n=>J.shared.setValue(n).toNumber());r.forEach((n,a)=>{const o=a/(r.length-1);s.addColorStop(o,n)}),i.fill={fill:s}}}class rc{constructor(t){this._canvasPool=Object.create(null),this.canvasOptions=t||{},this.enableFullScreen=!1}_createCanvasAndContext(t,e){const s=K.get().createCanvas();s.width=t,s.height=e;const r=s.getContext("2d");return{canvas:s,context:r}}getOptimalCanvasAndContext(t,e,s=1){t=Math.ceil(t*s-1e-6),e=Math.ceil(e*s-1e-6),t=Ls(t),e=Ls(e);const r=(t<<17)+(e<<1);this._canvasPool[r]||(this._canvasPool[r]=[]);let n=this._canvasPool[r].pop();return n||(n=this._createCanvasAndContext(t,e)),n}returnCanvasAndContext(t){const e=t.canvas,{width:s,height:r}=e,n=(s<<17)+(r<<1);this._canvasPool[n].push(t)}clear(){this._canvasPool={}}}const Mr=new rc,nc=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];function os(i){const t=typeof i.fontSize=="number"?`${i.fontSize}px`:i.fontSize;let e=i.fontFamily;Array.isArray(i.fontFamily)||(e=i.fontFamily.split(","));for(let s=e.length-1;s>=0;s--){let r=e[s].trim();!/([\"\'])[^\'\"]+\1/.test(r)&&!nc.includes(r)&&(r=`"${r}"`),e[s]=r}return`${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${t} ${e.join(",")}`}const Oi={willReadFrequently:!0},yt=class T{static get experimentalLetterSpacingSupported(){let t=T._experimentalLetterSpacingSupported;if(t!==void 0){const e=K.get().getCanvasRenderingContext2D().prototype;t=T._experimentalLetterSpacingSupported="letterSpacing"in e||"textLetterSpacing"in e}return t}constructor(t,e,s,r,n,a,o,h,c){this.text=t,this.style=e,this.width=s,this.height=r,this.lines=n,this.lineWidths=a,this.lineHeight=o,this.maxLineWidth=h,this.fontProperties=c}static measureText(t=" ",e,s=T._canvas,r=e.wordWrap){var w;const n=`${t}:${e.styleKey}`;if(T._measurementCache[n])return T._measurementCache[n];const a=os(e),o=T.measureFont(a);o.fontSize===0&&(o.fontSize=e.fontSize,o.ascent=e.fontSize);const h=T.__context;h.font=a;const l=(r?T._wordWrap(t,e,s):t).split(/(?:\r\n|\r|\n)/),d=new Array(l.length);let u=0;for(let b=0;b0&&(r?n-=e:n+=(T.graphemeSegmenter(t).length-1)*e),n}static _wordWrap(t,e,s=T._canvas){const r=s.getContext("2d",Oi);let n=0,a="",o="";const h=Object.create(null),{letterSpacing:c,whiteSpace:l}=e,d=T._collapseSpaces(l),u=T._collapseNewlines(l);let f=!d;const m=e.wordWrapWidth+c,y=T._tokenize(t);for(let g=0;gm)if(a!==""&&(o+=T._addLine(a),a="",n=0),T.canBreakWords(_,e.breakWords)){const b=T.wordWrapSplit(_);for(let S=0;Sm&&(o+=T._addLine(a),f=!1,a="",n=0),a+=C,n+=k}}else{a.length>0&&(o+=T._addLine(a),a="",n=0);const b=g===y.length-1;o+=T._addLine(_,!b),f=!1,a="",n=0}else w+n>m&&(f=!1,o+=T._addLine(a),a="",n=0),(a.length>0||!T.isBreakingSpace(_)||f)&&(a+=_,n+=w)}return o+=T._addLine(a,!1),o}static _addLine(t,e=!0){return t=T._trimRight(t),t=e?`${t} -`:t,t}static _getFromCache(t,e,s,r){let n=s[t];return typeof n!="number"&&(n=T._measureText(t,e,r)+e,s[t]=n),n}static _collapseSpaces(t){return t==="normal"||t==="pre-line"}static _collapseNewlines(t){return t==="normal"}static _trimRight(t){if(typeof t!="string")return"";for(let e=t.length-1;e>=0;e--){const s=t[e];if(!T.isBreakingSpace(s))break;t=t.slice(0,-1)}return t}static _isNewline(t){return typeof t!="string"?!1:T._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?!1:T._breakingSpaces.includes(t.charCodeAt(0))}static _tokenize(t){const e=[];let s="";if(typeof t!="string")return e;for(let r=0;r{if(typeof(Intl==null?void 0:Intl.Segmenter)=="function"){const i=new Intl.Segmenter;return t=>[...i.segment(t)].map(e=>e.segment)}return i=>[...i]})();yt.experimentalLetterSpacing=!1;yt._fonts={};yt._newlines=[10,13];yt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];yt._measurementCache={};let hs=yt;function Pr(i,t){if(i.texture===L.WHITE&&!i.fill)return J.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof ui){const e=i.fill,s=t.createPattern(e.texture.source.resource,"repeat"),r=e.transform.copyTo(W.shared);return r.scale(e.texture.frame.width,e.texture.frame.height),s.setTransform(r),s}else if(i.fill instanceof Be){const e=i.fill;if(e.type==="linear"){const s=t.createLinearGradient(e.x0,e.y0,e.x1,e.y1);return e.gradientStops.forEach(r=>{s.addColorStop(r.offset,J.shared.setValue(r.color).toHex())}),s}}}else{const e=t.createPattern(i.texture.source.resource,"repeat"),s=i.matrix.copyTo(W.shared);return s.scale(i.texture.frame.width,i.texture.frame.height),e.setTransform(s),e}return tt("FillStyle not recognised",i),"red"}function ta(i){if(i==="")return[];typeof i=="string"&&(i=[i]);const t=[];for(let e=0,s=i.length;e!this._currentChars.includes(_)).filter((_,w,b)=>b.indexOf(_)===w);if(!e.length)return;this._currentChars=[...this._currentChars,...e];let s;this._currentPageIndex===-1?s=this._nextPage():s=this.pages[this._currentPageIndex];let{canvas:r,context:n}=s.canvasAndContext,a=s.texture.source;const o=this._style;let h=this._currentX,c=this._currentY;const l=this.baseRenderedFontSize/this.baseMeasurementFontSize,d=this._padding*l,u=o.fontStyle==="italic"?2:1;let f=0,m=!1;for(let _=0;_this._textureSize&&(c+=f,f=M,h=0,c+f>this._textureSize)){a.update();const v=this._nextPage();r=v.canvasAndContext.canvas,n=v.canvasAndContext.context,a=v.texture.source,c=0}const k=S/l-(((y=o.dropShadow)==null?void 0:y.distance)??0)-(((g=o._stroke)==null?void 0:g.width)??0);if(this.chars[w]={id:w.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:k,kerning:{}},m){this._drawGlyph(n,b,h+d,c+d,l,o);const v=a.width*l,A=a.height*l,j=new z(h/v*a.width,c/A*a.height,E/v*a.width,M/A*a.height);this.chars[w].texture=new L({source:a,frame:j}),h+=Math.ceil(E)}}a.update(),this._currentX=h,this._currentY=c,this._skipKerning&&this._applyKerning(e,n)}get pageTextures(){return O(U,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(t,e){const s=this._measureCache;for(let r=0;r{const y=n.width;for(let g=0;g{let m=n.chars.length-1;if(s){let y=n.chars[m];for(;y===" ";)n.width-=e.chars[y].xAdvance,y=n.chars[--m]}r.width=Math.max(r.width,n.width),n={width:0,charPositions:[],chars:[],spaceWidth:0,spacesIndex:[]},o=!0,r.lines.push(n),r.height+=e.lineHeight},d=e.baseMeasurementFontSize/t.fontSize,u=t.letterSpacing*d,f=t.wordWrapWidth*d;for(let m=0;mf?(l(),c(h),g||n.charPositions.push(0)):(h.start=n.width,c(h),g||n.charPositions.push(0)),y==="\r"||y===` -`)n.width!==0&&l();else if(!g){const C=_.xAdvance+(_.kerning[a]||0)+u;n.width+=C,n.spaceWidth=C,n.spacesIndex.push(n.charPositions.length),n.chars.push(y)}}else{const S=_.kerning[a]||0,C=_.xAdvance+S+u;h.positions[h.index++]=h.width+S,h.chars.push(y),h.width+=C}a=y}return l(),t.align==="center"?oc(r):t.align==="right"?hc(r):t.align==="justify"&&lc(r),r}function oc(i){for(let t=0;t50&&tt("BitmapText",`You have dynamically created ${Qe} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),o.once("destroy",()=>{Qe--,Y.remove(s)}),Y.set(s,o)}const n=Y.get(s);return(a=n.ensureCharacters)==null||a.call(n,t),n}getLayout(t,e,s=!0){const r=this.getFont(t,e);return ac([...t],e,r,s)}measureText(t,e,s=!0){return this.getLayout(t,e,s)}install(...t){var c,l,d,u;let e=t[0];typeof e=="string"&&(e={name:e,style:t[1],chars:(c=t[2])==null?void 0:c.chars,resolution:(l=t[2])==null?void 0:l.resolution,padding:(d=t[2])==null?void 0:d.padding,skipKerning:(u=t[2])==null?void 0:u.skipKerning},O(U,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));const s=e==null?void 0:e.name;if(!s)throw new Error("[BitmapFontManager] Property `name` is required.");e={...this.defaultOptions,...e};const r=e.style,n=r instanceof et?r:new et(r),a=n._fill.fill!==null&&n._fill.fill!==void 0,o=new kr({style:n,overrideFill:a,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:!1}),h=ta(e.chars);return o.ensureCharacters(h.join("")),Y.set(`${s}-bitmap`,o),o.once("destroy",()=>Y.remove(`${s}-bitmap`)),o}uninstall(t){const e=`${t}-bitmap`,s=Y.get(e);s&&(Y.remove(e),s.destroy())}}const Gr=new cc;class sa extends Fn{constructor(t,e){super();const{textures:s,data:r}=t;Object.keys(r.pages).forEach(n=>{const a=r.pages[parseInt(n,10)],o=s[a.id];this.pages.push({texture:o})}),Object.keys(r.chars).forEach(n=>{const a=r.chars[n],{frame:o,source:h}=s[a.page],c=new z(a.x+o.x,a.y+o.y,a.width,a.height),l=new L({source:h,frame:c});this.chars[n]={id:n.codePointAt(0),xOffset:a.xOffset,yOffset:a.yOffset,xAdvance:a.xAdvance,kerning:a.kerning??{},texture:l}}),this.baseRenderedFontSize=r.fontSize,this.baseMeasurementFontSize=r.fontSize,this.fontMetrics={ascent:0,descent:0,fontSize:r.fontSize},this.baseLineOffset=r.baseLineOffset,this.lineHeight=r.lineHeight,this.fontFamily=r.fontFamily,this.distanceField=r.distanceField??{type:"none",range:0},this.url=e}destroy(){super.destroy();for(let t=0;t")?Ir.test(K.get().parseXML(i)):!1},parse(i){return Ir.parse(K.get().parseXML(i))}},dc=[".xml",".fnt"],uc={extension:{type:P.CacheParser,name:"cacheBitmapFont"},test:i=>i instanceof sa,getCacheableAssets(i,t){const e={};return i.forEach(s=>{e[s]=t,e[`${s}-bitmap`]=t}),e[`${t.fontFamily}-bitmap`]=t,e}},fc={extension:{type:P.LoadParser,priority:Lt.Normal},name:"loadBitmapFont",test(i){return dc.includes(ut.extname(i).toLowerCase())},async testParse(i){return Ui.test(i)||Br.test(i)},async parse(i,t,e){const s=Ui.test(i)?Ui.parse(i):Br.parse(i),{src:r}=t,{pages:n}=s,a=[],o=s.distanceField?{scaleMode:"linear",alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:!1,resolution:1}:{};for(let d=0;dh[d.src]);return new sa({data:s,textures:c},r)},async load(i,t){return await(await K.get().fetch(i)).text()},async unload(i,t,e){await Promise.all(i.pages.map(s=>e.unload(s.texture.source._sourceOrigin))),i.destroy()}};class pc{constructor(t,e=!1){this._loader=t,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=e}add(t){t.forEach(e=>{this._assetList.push(e)}),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;const t=[],e=Math.min(this._assetList.length,this._maxConcurrent);for(let s=0;sArray.isArray(i)&&i.every(t=>t instanceof L),getCacheableAssets:(i,t)=>{const e={};return i.forEach(s=>{t.forEach((r,n)=>{e[s+(n===0?"":n+1)]=r})}),e}};async function ra(i){if("Image"in globalThis)return new Promise(t=>{const e=new Image;e.onload=()=>{t(!0)},e.onerror=()=>{t(!1)},e.src=i});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{const t=await(await fetch(i)).blob();await createImageBitmap(t)}catch{return!1}return!0}return!1}const gc={extension:{type:P.DetectionParser,priority:1},test:async()=>ra("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async i=>[...i,"avif"],remove:async i=>i.filter(t=>t!=="avif")},Er=["png","jpg","jpeg"],xc={extension:{type:P.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async i=>[...i,...Er],remove:async i=>i.filter(t=>!Er.includes(t))},yc="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function vs(i){return yc?!1:document.createElement("video").canPlayType(i)!==""}const _c={extension:{type:P.DetectionParser,priority:0},test:async()=>vs("video/mp4"),add:async i=>[...i,"mp4","m4v"],remove:async i=>i.filter(t=>t!=="mp4"&&t!=="m4v")},wc={extension:{type:P.DetectionParser,priority:0},test:async()=>vs("video/ogg"),add:async i=>[...i,"ogv"],remove:async i=>i.filter(t=>t!=="ogv")},bc={extension:{type:P.DetectionParser,priority:0},test:async()=>vs("video/webm"),add:async i=>[...i,"webm"],remove:async i=>i.filter(t=>t!=="webm")},Sc={extension:{type:P.DetectionParser,priority:0},test:async()=>ra("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async i=>[...i,"webp"],remove:async i=>i.filter(t=>t!=="webp")};class vc{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(t,e,s)=>(this._parsersValidated=!1,t[e]=s,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(t,e){const s={promise:null,parser:null};return s.promise=(async()=>{var a,o;let r=null,n=null;if(e.loadParser&&(n=this._parserHash[e.loadParser],n||tt(`[Assets] specified load parser "${e.loadParser}" not found while loading ${t}`)),!n){for(let h=0;h({alias:[c],src:c,data:{}})),o=a.length,h=a.map(async c=>{const l=ut.toAbsolute(c.src);if(!r[c.src])try{this.promiseCache[l]||(this.promiseCache[l]=this._getLoadPromiseAndParser(l,c)),r[c.src]=await this.promiseCache[l].promise,e&&e(++s/o)}catch(d){throw delete this.promiseCache[l],delete r[c.src],new Error(`[Loader.load] Failed to load ${l}. -${d}`)}});return await Promise.all(h),n?r[a[0].src]:r}async unload(t){const s=xt(t,r=>({alias:[r],src:r})).map(async r=>{var o,h;const n=ut.toAbsolute(r.src),a=this.promiseCache[n];if(a){const c=await a.promise;delete this.promiseCache[n],await((h=(o=a.parser)==null?void 0:o.unload)==null?void 0:h.call(o,c,r,this))}});await Promise.all(s)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(t=>t.name).reduce((t,e)=>(e.name?t[e.name]&&tt(`[Assets] loadParser name conflict "${e.name}"`):tt("[Assets] loadParser should have a name"),{...t,[e.name]:e}),{})}}function ue(i,t){if(Array.isArray(t)){for(const e of t)if(i.startsWith(`data:${e}`))return!0;return!1}return i.startsWith(`data:${t}`)}function fe(i,t){const e=i.split("?")[0],s=ut.extname(e).toLowerCase();return Array.isArray(t)?t.includes(s):s===t}const Ac=".json",Cc="application/json",Tc={extension:{type:P.LoadParser,priority:Lt.Low},name:"loadJson",test(i){return ue(i,Cc)||fe(i,Ac)},async load(i){return await(await K.get().fetch(i)).json()}},Mc=".txt",Pc="text/plain",kc={name:"loadTxt",extension:{type:P.LoadParser,priority:Lt.Low,name:"loadTxt"},test(i){return ue(i,Pc)||fe(i,Mc)},async load(i){return await(await K.get().fetch(i)).text()}},Gc=["normal","bold","100","200","300","400","500","600","700","800","900"],Ic=[".ttf",".otf",".woff",".woff2"],Bc=["font/ttf","font/otf","font/woff","font/woff2"],Ec=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;function Fc(i){const t=ut.extname(i),r=ut.basename(i,t).replace(/(-|_)/g," ").toLowerCase().split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1));let n=r.length>0;for(const o of r)if(!o.match(Ec)){n=!1;break}let a=r.join(" ");return n||(a=`"${a.replace(/[\\"]/g,"\\$&")}"`),a}const Rc=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/;function Lc(i){return Rc.test(i)?i:encodeURI(i)}const Dc={extension:{type:P.LoadParser,priority:Lt.Low},name:"loadWebFont",test(i){return ue(i,Bc)||fe(i,Ic)},async load(i,t){var s,r,n;const e=K.get().getFontFaceSet();if(e){const a=[],o=((s=t.data)==null?void 0:s.family)??Fc(i),h=((n=(r=t.data)==null?void 0:r.weights)==null?void 0:n.filter(l=>Gc.includes(l)))??["normal"],c=t.data??{};for(let l=0;l{Y.remove(t.family),K.get().getFontFaceSet().delete(t)})}};function As(i,t=1){var s;const e=(s=de.RETINA_PREFIX)==null?void 0:s.exec(i);return e?parseFloat(e[1]):t}function Cs(i,t,e){i.label=e,i._sourceOrigin=e;const s=new L({source:i,label:e}),r=()=>{delete t.promiseCache[e],Y.has(e)&&Y.remove(e)};return s.source.once("destroy",()=>{t.promiseCache[e]&&(tt("[Assets] A TextureSource managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the TextureSource."),r())}),s.once("destroy",()=>{i.destroyed||(tt("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),r())}),s}const zc=".svg",Oc="image/svg+xml",Uc={extension:{type:P.LoadParser,priority:Lt.Low,name:"loadSVG"},name:"loadSVG",config:{crossOrigin:"anonymous",parseAsGraphicsContext:!1},test(i){return ue(i,Oc)||fe(i,zc)},async load(i,t,e){return t.data.parseAsGraphicsContext??this.config.parseAsGraphicsContext?Nc(i):Wc(i,t,e,this.config.crossOrigin)},unload(i){i.destroy(!0)}};async function Wc(i,t,e,s){var g,_,w;const n=await(await K.get().fetch(i)).blob(),a=URL.createObjectURL(n),o=new Image;o.src=a,o.crossOrigin=s,await o.decode(),URL.revokeObjectURL(a);const h=document.createElement("canvas"),c=h.getContext("2d"),l=((g=t.data)==null?void 0:g.resolution)||As(i),d=((_=t.data)==null?void 0:_.width)??o.width,u=((w=t.data)==null?void 0:w.height)??o.height;h.width=d*l,h.height=u*l,c.drawImage(o,0,0,d*l,u*l);const{parseAsGraphicsContext:f,...m}=t.data,y=new ce({resource:h,alphaMode:"premultiply-alpha-on-upload",resolution:l,...m});return Cs(y,e,i)}async function Nc(i){const e=await(await K.get().fetch(i)).text(),s=new ft;return s.svg(e),s}const Hc=`(function () { - 'use strict'; - - const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII="; - async function checkImageBitmap() { - try { - if (typeof createImageBitmap !== "function") - return false; - const response = await fetch(WHITE_PNG); - const imageBlob = await response.blob(); - const imageBitmap = await createImageBitmap(imageBlob); - return imageBitmap.width === 1 && imageBitmap.height === 1; - } catch (e) { - return false; - } - } - void checkImageBitmap().then((result) => { - self.postMessage(result); - }); - -})(); -`;let re=null,ls=class{constructor(){re||(re=URL.createObjectURL(new Blob([Hc],{type:"application/javascript"}))),this.worker=new Worker(re)}};ls.revokeObjectURL=function(){re&&(URL.revokeObjectURL(re),re=null)};const $c=`(function () { - 'use strict'; - - async function loadImageBitmap(url, alphaMode) { - const response = await fetch(url); - if (!response.ok) { - throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \${response.status} \${response.statusText}\`); - } - const imageBlob = await response.blob(); - return alphaMode === "premultiplied-alpha" ? createImageBitmap(imageBlob, { premultiplyAlpha: "none" }) : createImageBitmap(imageBlob); - } - self.onmessage = async (event) => { - try { - const imageBitmap = await loadImageBitmap(event.data.data[0], event.data.data[1]); - self.postMessage({ - data: imageBitmap, - uuid: event.data.uuid, - id: event.data.id - }, [imageBitmap]); - } catch (e) { - self.postMessage({ - error: e, - uuid: event.data.uuid, - id: event.data.id - }); - } - }; - -})(); -`;let ne=null;class na{constructor(){ne||(ne=URL.createObjectURL(new Blob([$c],{type:"application/javascript"}))),this.worker=new Worker(ne)}}na.revokeObjectURL=function(){ne&&(URL.revokeObjectURL(ne),ne=null)};let Fr=0,Wi;class Vc{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(t=>{const{worker:e}=new ls;e.addEventListener("message",s=>{e.terminate(),ls.revokeObjectURL(),t(s.data)})}),this._isImageBitmapSupported)}loadImageBitmap(t,e){var s;return this._run("loadImageBitmap",[t,(s=e==null?void 0:e.data)==null?void 0:s.alphaMode])}async _initWorkers(){this._initialized||(this._initialized=!0)}_getWorker(){Wi===void 0&&(Wi=navigator.hardwareConcurrency||4);let t=this._workerPool.pop();return!t&&this._createdWorkers{this._complete(e.data),this._returnWorker(e.target),this._next()})),t}_returnWorker(t){this._workerPool.push(t)}_complete(t){t.error!==void 0?this._resolveHash[t.uuid].reject(t.error):this._resolveHash[t.uuid].resolve(t.data),this._resolveHash[t.uuid]=null}async _run(t,e){await this._initWorkers();const s=new Promise((r,n)=>{this._queue.push({id:t,arguments:e,resolve:r,reject:n})});return this._next(),s}_next(){if(!this._queue.length)return;const t=this._getWorker();if(!t)return;const e=this._queue.pop(),s=e.id;this._resolveHash[Fr]={resolve:e.resolve,reject:e.reject},t.postMessage({data:e.arguments,uuid:Fr++,id:s})}}const Rr=new Vc,Yc=[".jpeg",".jpg",".png",".webp",".avif"],Xc=["image/jpeg","image/png","image/webp","image/avif"];async function jc(i,t){var r;const e=await K.get().fetch(i);if(!e.ok)throw new Error(`[loadImageBitmap] Failed to fetch ${i}: ${e.status} ${e.statusText}`);const s=await e.blob();return((r=t==null?void 0:t.data)==null?void 0:r.alphaMode)==="premultiplied-alpha"?createImageBitmap(s,{premultiplyAlpha:"none"}):createImageBitmap(s)}const aa={name:"loadTextures",extension:{type:P.LoadParser,priority:Lt.High,name:"loadTextures"},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test(i){return ue(i,Xc)||fe(i,Yc)},async load(i,t,e){var n;let s=null;globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await Rr.isImageBitmapSupported()?s=await Rr.loadImageBitmap(i,t):s=await jc(i,t):s=await new Promise(a=>{s=new Image,s.crossOrigin=this.config.crossOrigin,s.src=i,s.complete?a(s):s.onload=()=>{a(s)}});const r=new ce({resource:s,alphaMode:"premultiply-alpha-on-upload",resolution:((n=t.data)==null?void 0:n.resolution)||As(i),...t.data});return Cs(r,e,i)},unload(i){i.destroy(!0)}},oa=[".mp4",".m4v",".webm",".ogg",".ogv",".h264",".avi",".mov"],qc=oa.map(i=>`video/${i.substring(1)}`);function Kc(i,t,e){e===void 0&&!t.startsWith("data:")?i.crossOrigin=Qc(t):e!==!1&&(i.crossOrigin=typeof e=="string"?e:"anonymous")}function Zc(i){return new Promise((t,e)=>{i.addEventListener("canplaythrough",s),i.addEventListener("error",r),i.load();function s(){n(),t()}function r(a){n(),e(a)}function n(){i.removeEventListener("canplaythrough",s),i.removeEventListener("error",r)}})}function Qc(i,t=globalThis.location){if(i.startsWith("data:"))return"";t=t||globalThis.location;const e=new URL(i,document.baseURI);return e.hostname!==t.hostname||e.port!==t.port||e.protocol!==t.protocol?"anonymous":""}const Jc={name:"loadVideo",extension:{type:P.LoadParser,name:"loadVideo"},test(i){const t=ue(i,qc),e=fe(i,oa);return t||e},async load(i,t,e){var h,c;const s={...Je.defaultOptions,resolution:((h=t.data)==null?void 0:h.resolution)||As(i),alphaMode:((c=t.data)==null?void 0:c.alphaMode)||await cn(),...t.data},r=document.createElement("video"),n={preload:s.autoLoad!==!1?"auto":void 0,"webkit-playsinline":s.playsinline!==!1?"":void 0,playsinline:s.playsinline!==!1?"":void 0,muted:s.muted===!0?"":void 0,loop:s.loop===!0?"":void 0,autoplay:s.autoPlay!==!1?"":void 0};Object.keys(n).forEach(l=>{const d=n[l];d!==void 0&&r.setAttribute(l,d)}),s.muted===!0&&(r.muted=!0),Kc(r,i,s.crossorigin);const a=document.createElement("source");let o;if(i.startsWith("data:"))o=i.slice(5,i.indexOf(";"));else if(!i.startsWith("blob:")){const l=i.split("?")[0].slice(i.lastIndexOf(".")+1).toLowerCase();o=Je.MIME_TYPES[l]||`video/${l}`}return a.src=i,o&&(a.type=o),new Promise(l=>{const d=async()=>{const u=new Je({...s,resource:r});r.removeEventListener("canplay",d),t.data.preload&&await Zc(r),l(Cs(u,e,i))};r.addEventListener("canplay",d),r.appendChild(a)})},unload(i){i.destroy(!0)}},ha={extension:{type:P.ResolveParser,name:"resolveTexture"},test:aa.test,parse:i=>{var t;return{resolution:parseFloat(((t=de.RETINA_PREFIX.exec(i))==null?void 0:t[1])??"1"),format:i.split(".").pop(),src:i}}},td={extension:{type:P.ResolveParser,priority:-2,name:"resolveJson"},test:i=>de.RETINA_PREFIX.test(i)&&i.endsWith(".json"),parse:ha.parse};class ed{constructor(){this._detections=[],this._initialized=!1,this.resolver=new de,this.loader=new vc,this.cache=Y,this._backgroundLoader=new pc(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(t={}){var n,a;if(this._initialized){tt("[Assets]AssetManager already initialized, did you load before calling this Assets.init()?");return}if(this._initialized=!0,t.defaultSearchParams&&this.resolver.setDefaultSearchParams(t.defaultSearchParams),t.basePath&&(this.resolver.basePath=t.basePath),t.bundleIdentifier&&this.resolver.setBundleIdentifier(t.bundleIdentifier),t.manifest){let o=t.manifest;typeof o=="string"&&(o=await this.load(o)),this.resolver.addManifest(o)}const e=((n=t.texturePreference)==null?void 0:n.resolution)??1,s=typeof e=="number"?[e]:e,r=await this._detectFormats({preferredFormats:(a=t.texturePreference)==null?void 0:a.format,skipDetections:t.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:r,resolution:s}}),t.preferences&&this.setPreferences(t.preferences)}add(t){this.resolver.add(t)}async load(t,e){this._initialized||await this.init();const s=ni(t),r=xt(t).map(o=>{if(typeof o!="string"){const h=this.resolver.getAlias(o);return h.some(c=>!this.resolver.hasKey(c))&&this.add(o),Array.isArray(h)?h[0]:h}return this.resolver.hasKey(o)||this.add({alias:o,src:o}),o}),n=this.resolver.resolve(r),a=await this._mapLoadToResolve(n,e);return s?a[r[0]]:a}addBundle(t,e){this.resolver.addBundle(t,e)}async loadBundle(t,e){this._initialized||await this.init();let s=!1;typeof t=="string"&&(s=!0,t=[t]);const r=this.resolver.resolveBundle(t),n={},a=Object.keys(r);let o=0,h=0;const c=()=>{e==null||e(++o/h)},l=a.map(d=>{const u=r[d];return h+=Object.keys(u).length,this._mapLoadToResolve(u,c).then(f=>{n[d]=f})});return await Promise.all(l),s?n[t[0]]:n}async backgroundLoad(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const e=this.resolver.resolve(t);this._backgroundLoader.add(Object.values(e))}async backgroundLoadBundle(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const e=this.resolver.resolveBundle(t);Object.values(e).forEach(s=>{this._backgroundLoader.add(Object.values(s))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(t){if(typeof t=="string")return Y.get(t);const e={};for(let s=0;s{const o=r[a.src],h=[a.src];a.alias&&h.push(...a.alias),h.forEach(c=>{n[c]=o}),Y.set(h,o)}),n}async unload(t){this._initialized||await this.init();const e=xt(t).map(r=>typeof r!="string"?r.src:r),s=this.resolver.resolve(e);await this._unloadFromResolved(s)}async unloadBundle(t){this._initialized||await this.init(),t=xt(t);const e=this.resolver.resolveBundle(t),s=Object.keys(e).map(r=>this._unloadFromResolved(e[r]));await Promise.all(s)}async _unloadFromResolved(t){const e=Object.values(t);e.forEach(s=>{Y.remove(s.src)}),await this.loader.unload(e)}async _detectFormats(t){let e=[];t.preferredFormats&&(e=Array.isArray(t.preferredFormats)?t.preferredFormats:[t.preferredFormats]);for(const s of t.detections)t.skipDetections||await s.test()?e=await s.add(e):t.skipDetections||(e=await s.remove(e));return e=e.filter((s,r)=>e.indexOf(s)===r),e}get detections(){return this._detections}setPreferences(t){this.loader.parsers.forEach(e=>{e.config&&Object.keys(e.config).filter(s=>s in t).forEach(s=>{e.config[s]=t[s]})})}}const Ce=new ed;ht.handleByList(P.LoadParser,Ce.loader.parsers).handleByList(P.ResolveParser,Ce.resolver.parsers).handleByList(P.CacheParser,Ce.cache.parsers).handleByList(P.DetectionParser,Ce.detections);ht.add(mc,xc,gc,Sc,_c,wc,bc,Tc,kc,Dc,Uc,aa,Jc,fc,uc,ha,td);const Lr={loader:P.LoadParser,resolver:P.ResolveParser,cache:P.CacheParser,detection:P.DetectionParser};ht.handle(P.Asset,i=>{const t=i.ref;Object.entries(Lr).filter(([e])=>!!t[e]).forEach(([e,s])=>ht.add(Object.assign(t[e],{extension:t[e].extension??s})))},i=>{const t=i.ref;Object.keys(Lr).filter(e=>!!t[e]).forEach(e=>ht.remove(t[e]))});class kt extends oi{constructor(t){t instanceof ft&&(t={context:t});const{context:e,roundPixels:s,...r}=t||{};super({label:"Graphics",...r}),this.renderPipeId="graphics",e?this._context=e:this._context=this._ownedContext=new ft,this._context.on("update",this.onViewUpdate,this),this.allowChildren=!1,this.roundPixels=s??!1}set context(t){t!==this._context&&(this._context.off("update",this.onViewUpdate,this),this._context=t,this._context.on("update",this.onViewUpdate,this),this.onViewUpdate())}get context(){return this._context}get bounds(){return this._context.bounds}addBounds(t){t.addBounds(this._context.bounds)}containsPoint(t){return this._context.containsPoint(t)}onViewUpdate(){if(this._didViewChangeTick++,this._didGraphicsUpdate=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}destroy(t){this._ownedContext&&!t?this._ownedContext.destroy(t):(t===!0||(t==null?void 0:t.context)===!0)&&this._context.destroy(t),this._ownedContext=null,this._context=null,super.destroy(t)}_callContextMethod(t,e){return this.context[t](...e),this}setFillStyle(...t){return this._callContextMethod("setFillStyle",t)}setStrokeStyle(...t){return this._callContextMethod("setStrokeStyle",t)}fill(...t){return this._callContextMethod("fill",t)}stroke(...t){return this._callContextMethod("stroke",t)}texture(...t){return this._callContextMethod("texture",t)}beginPath(){return this._callContextMethod("beginPath",[])}cut(){return this._callContextMethod("cut",[])}arc(...t){return this._callContextMethod("arc",t)}arcTo(...t){return this._callContextMethod("arcTo",t)}arcToSvg(...t){return this._callContextMethod("arcToSvg",t)}bezierCurveTo(...t){return this._callContextMethod("bezierCurveTo",t)}closePath(){return this._callContextMethod("closePath",[])}ellipse(...t){return this._callContextMethod("ellipse",t)}circle(...t){return this._callContextMethod("circle",t)}path(...t){return this._callContextMethod("path",t)}lineTo(...t){return this._callContextMethod("lineTo",t)}moveTo(...t){return this._callContextMethod("moveTo",t)}quadraticCurveTo(...t){return this._callContextMethod("quadraticCurveTo",t)}rect(...t){return this._callContextMethod("rect",t)}roundRect(...t){return this._callContextMethod("roundRect",t)}poly(...t){return this._callContextMethod("poly",t)}regularPoly(...t){return this._callContextMethod("regularPoly",t)}roundPoly(...t){return this._callContextMethod("roundPoly",t)}roundShape(...t){return this._callContextMethod("roundShape",t)}filletRect(...t){return this._callContextMethod("filletRect",t)}chamferRect(...t){return this._callContextMethod("chamferRect",t)}star(...t){return this._callContextMethod("star",t)}svg(...t){return this._callContextMethod("svg",t)}restore(...t){return this._callContextMethod("restore",t)}save(){return this._callContextMethod("save",[])}getTransform(){return this.context.getTransform()}resetTransform(){return this._callContextMethod("resetTransform",[])}rotateTransform(...t){return this._callContextMethod("rotate",t)}scaleTransform(...t){return this._callContextMethod("scale",t)}setTransform(...t){return this._callContextMethod("setTransform",t)}transform(...t){return this._callContextMethod("transform",t)}translateTransform(...t){return this._callContextMethod("translate",t)}clear(){return this._callContextMethod("clear",[])}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t}clone(t=!1){return t?new kt(this._context.clone()):(this._ownedContext=null,new kt(this._context))}lineStyle(t,e,s){O(U,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");const r={};return t&&(r.width=t),e&&(r.color=e),s&&(r.alpha=s),this.context.strokeStyle=r,this}beginFill(t,e){O(U,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");const s={};return t&&(s.color=t),e&&(s.alpha=e),this.context.fillStyle=s,this}endFill(){O(U,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();const t=this.context.strokeStyle;return(t.width!==ft.defaultStrokeStyle.width||t.color!==ft.defaultStrokeStyle.color||t.alpha!==ft.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return O(U,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return O(U,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return O(U,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return O(U,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return O(U,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return O(U,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}}const la=class ca extends Wn{constructor(...t){let e=t[0]??{};e instanceof Float32Array&&(O(U,"use new MeshGeometry({ positions, uvs, indices }) instead"),e={positions:e,uvs:t[1],indices:t[2]}),e={...ca.defaultOptions,...e};const s=e.positions||new Float32Array([0,0,1,0,1,1,0,1]),r=e.uvs||new Float32Array([0,0,1,0,1,1,0,1]),n=e.indices||new Uint32Array([0,1,2,0,2,3]),a=e.shrinkBuffersToFit,o=new Ft({data:s,label:"attribute-mesh-positions",shrinkToFit:a,usage:Q.VERTEX|Q.COPY_DST}),h=new Ft({data:r,label:"attribute-mesh-uvs",shrinkToFit:a,usage:Q.VERTEX|Q.COPY_DST}),c=new Ft({data:n,label:"index-mesh-buffer",shrinkToFit:a,usage:Q.INDEX|Q.COPY_DST});super({attributes:{aPosition:{buffer:o,format:"float32x2",stride:2*4,offset:0},aUV:{buffer:h,format:"float32x2",stride:2*4,offset:0}},indexBuffer:c,topology:e.topology}),this.batchMode="auto"}get positions(){return this.attributes.aPosition.buffer.data}set positions(t){this.attributes.aPosition.buffer.data=t}get uvs(){return this.attributes.aUV.buffer.data}set uvs(t){this.attributes.aUV.buffer.data=t}get indices(){return this.indexBuffer.data}set indices(t){this.indexBuffer.data=t}};la.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:!1};let id=la;class Fe extends H{constructor(...t){let e=t[0];Array.isArray(t[0])&&(e={textures:t[0],autoUpdate:t[1]});const{textures:s,autoUpdate:r,...n}=e,[a]=s;super({...n,texture:a instanceof L?a:a.texture}),this._textures=null,this._durations=null,this._autoUpdate=r??!0,this._isConnectedToTicker=!1,this.animationSpeed=1,this.loop=!0,this.updateAnchor=!1,this.onComplete=null,this.onFrameChange=null,this.onLoop=null,this._currentTime=0,this._playing=!1,this._previousFrame=null,this.textures=s}stop(){this._playing&&(this._playing=!1,this._autoUpdate&&this._isConnectedToTicker&&(bt.shared.remove(this.update,this),this._isConnectedToTicker=!1))}play(){this._playing||(this._playing=!0,this._autoUpdate&&!this._isConnectedToTicker&&(bt.shared.add(this.update,this,ri.HIGH),this._isConnectedToTicker=!0))}gotoAndStop(t){this.stop(),this.currentFrame=t}gotoAndPlay(t){this.currentFrame=t,this.play()}update(t){if(!this._playing)return;const e=t.deltaTime,s=this.animationSpeed*e,r=this.currentFrame;if(this._durations!==null){let n=this._currentTime%1*this._durations[this.currentFrame];for(n+=s/60*1e3;n<0;)this._currentTime--,n+=this._durations[this.currentFrame];const a=Math.sign(this.animationSpeed*e);for(this._currentTime=Math.floor(this._currentTime);n>=this._durations[this.currentFrame];)n-=this._durations[this.currentFrame]*a,this._currentTime+=a;this._currentTime+=n/this._durations[this.currentFrame]}else this._currentTime+=s;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()):r!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFramer)&&this.onLoop(),this._updateTexture())}_updateTexture(){const t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this.texture=this._textures[t],this.updateAnchor&&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(t){const e=[];for(let s=0;sthis.totalFrames-1)throw new Error(`[AnimatedSprite]: Invalid frame index value ${t}, expected to be between 0 and totalFrames ${this.totalFrames}.`);const e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this._updateTexture()}get playing(){return this._playing}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(bt.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._playing&&(bt.shared.add(this.update,this),this._isConnectedToTicker=!0))}}class sd extends oi{constructor(t,e){const{text:s,resolution:r,style:n,anchor:a,width:o,height:h,roundPixels:c,...l}=t;super({...l}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=e,this.text=s??"",this.style=n,this.resolution=r??null,this.allowChildren=!1,this._anchor=new lt({_onUpdate:()=>{this.onViewUpdate()}}),a&&(this.anchor=a),this.roundPixels=c??!1,o!==void 0&&(this.width=o),h!==void 0&&(this.height=h)}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t)}set text(t){t=t.toString(),this._text!==t&&(this._text=t,this.onViewUpdate())}get text(){return this._text}set resolution(t){this._autoResolution=t===null,this._resolution=t,this.onViewUpdate()}get resolution(){return this._resolution}get style(){return this._style}set style(t){var e;t=t||{},(e=this._style)==null||e.off("update",this.onViewUpdate,this),t instanceof this._styleClass?this._style=t:this._style=new this._styleClass(t),this._style.on("update",this.onViewUpdate,this),this.onViewUpdate()}get bounds(){return this._boundsDirty&&(this._updateBounds(),this._boundsDirty=!1),this._bounds}get width(){return Math.abs(this.scale.x)*this.bounds.width}set width(t){this._setWidth(t,this.bounds.width)}get height(){return Math.abs(this.scale.y)*this.bounds.height}set height(t){this._setHeight(t,this.bounds.height)}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this.bounds.width,t.height=Math.abs(this.scale.y)*this.bounds.height,t}setSize(t,e){typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,this.bounds.width),e!==void 0&&this._setHeight(e,this.bounds.height)}addBounds(t){const e=this.bounds;t.addFrame(e.minX,e.minY,e.maxX,e.maxY)}containsPoint(t){const e=this.bounds.width,s=this.bounds.height,r=-e*this.anchor.x;let n=0;return t.x>=r&&t.x<=r+e&&(n=-s*this.anchor.y,t.y>=n&&t.y<=n+s)}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0,this._didTextUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}_getKey(){return`${this.text}:${this._style.styleKey}:${this._resolution}`}destroy(t=!1){super.destroy(t),this.owner=null,this._bounds=null,this._anchor=null,(typeof t=="boolean"?t:t!=null&&t.style)&&this._style.destroy(t),this._style=null,this._text=null}}function rd(i,t){let e=i[0]??{};return(typeof e=="string"||i[1])&&(O(U,`use new ${t}({ text: "hi!", style }) instead`),e={text:e,style:i[1]}),e}class q extends sd{constructor(...t){const e=rd(t,"Text");super(e,et),this.renderPipeId="text"}_updateBounds(){const t=this._bounds,e=this._anchor,s=hs.measureText(this._text,this._style),{width:r,height:n}=s;t.minX=-e._x*r,t.maxX=t.minX+r,t.minY=-e._y*n,t.maxY=t.minY+n}}const da=class ua extends id{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(O(U,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),e={width:e,height:t[1],verticesX:t[2],verticesY:t[3]}),this.build(e)}build(t){t={...ua.defaultOptions,...t},this.verticesX=this.verticesX??t.verticesX,this.verticesY=this.verticesY??t.verticesY,this.width=this.width??t.width,this.height=this.height??t.height;const e=this.verticesX*this.verticesY,s=[],r=[],n=[],a=this.verticesX-1,o=this.verticesY-1,h=this.width/a,c=this.height/o;for(let d=0;de?1:this.width/e,r=this._topHeight+this._bottomHeight,n=this.height>r?1:this.height/r,a=Math.min(s,n);t[9]=t[11]=t[13]=t[15]=this._topHeight*a,t[17]=t[19]=t[21]=t[23]=this.height-this._bottomHeight*a,t[25]=t[27]=t[29]=t[31]=this.height,t[2]=t[10]=t[18]=t[26]=this._leftWidth*a,t[4]=t[12]=t[20]=t[28]=this.width-this._rightWidth*a,t[6]=t[14]=t[22]=t[30]=this.width,this.getBuffer("aPosition").update()}updateUvs(){const t=this.uvs;t[0]=t[8]=t[16]=t[24]=0,t[1]=t[3]=t[5]=t[7]=0,t[6]=t[14]=t[22]=t[30]=1,t[25]=t[27]=t[29]=t[31]=1;const e=1/this._originalWidth,s=1/this._originalHeight;t[2]=t[10]=t[18]=t[26]=e*this._leftWidth,t[9]=t[11]=t[13]=t[15]=s*this._topHeight,t[4]=t[12]=t[20]=t[28]=1-e*this._rightWidth,t[17]=t[19]=t[21]=t[23]=1-s*this._bottomHeight,this.getBuffer("aUV").update()}};fa.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};let te=fa;const ma=class ga extends oi{constructor(t){var d,u,f,m;t instanceof L&&(t={texture:t});const{width:e,height:s,leftWidth:r,rightWidth:n,topHeight:a,bottomHeight:o,texture:h,roundPixels:c,...l}=t;super({label:"NineSliceSprite",...l}),this.renderPipeId="nineSliceSprite",this.batched=!0,this._didSpriteUpdate=!0,this._leftWidth=r??((d=h==null?void 0:h.defaultBorders)==null?void 0:d.left)??te.defaultOptions.leftWidth,this._topHeight=a??((u=h==null?void 0:h.defaultBorders)==null?void 0:u.top)??te.defaultOptions.topHeight,this._rightWidth=n??((f=h==null?void 0:h.defaultBorders)==null?void 0:f.right)??te.defaultOptions.rightWidth,this._bottomHeight=o??((m=h==null?void 0:h.defaultBorders)==null?void 0:m.bottom)??te.defaultOptions.bottomHeight,this.bounds.maxX=this._width=e??h.width??te.defaultOptions.width,this.bounds.maxY=this._height=s??h.height??te.defaultOptions.height,this.allowChildren=!1,this.texture=h??ga.defaultOptions.texture,this.roundPixels=c??!1}get bounds(){return this._bounds}get width(){return this._width}set width(t){this.bounds.maxX=this._width=t,this.onViewUpdate()}get height(){return this._height}set height(t){this.bounds.maxY=this._height=t,this.onViewUpdate()}setSize(t,e){typeof t=="object"&&(e=t.height??t.width,t=t.width),this.bounds.maxX=this._width=t,this.bounds.maxY=this._height=e??t,this.onViewUpdate()}getSize(t){return t||(t={}),t.width=this._width,t.height=this._height,t}get leftWidth(){return this._leftWidth}set leftWidth(t){this._leftWidth=t,this.onViewUpdate()}get topHeight(){return this._topHeight}set topHeight(t){this._topHeight=t,this.onViewUpdate()}get rightWidth(){return this._rightWidth}set rightWidth(t){this._rightWidth=t,this.onViewUpdate()}get bottomHeight(){return this._bottomHeight}set bottomHeight(t){this._bottomHeight=t,this.onViewUpdate()}get texture(){return this._texture}set texture(t){t||(t=L.EMPTY);const e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this.onViewUpdate())}get originalWidth(){return this._texture.width}get originalHeight(){return this._texture.height}onViewUpdate(){if(this._didViewChangeTick++,this._didSpriteUpdate=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}addBounds(t){const e=this.bounds;t.addFrame(e.minX,e.minY,e.maxX,e.maxY)}destroy(t){if(super.destroy(t),typeof t=="boolean"?t:t==null?void 0:t.texture){const s=typeof t=="boolean"?t:t==null?void 0:t.textureSource;this._texture.destroy(s)}this._texture=null}};ma.defaultOptions={texture:L.EMPTY};let Dt=ma;ht.add(ka,Ga);const D=class D{static async Load(t){return this.text.text="Loading asset: "+t,await Ce.load({src:t})}static async LoadAssets(){if(this.text){console.warn("Do not call GameAssets.LoadAssets() more than once.");return}console.log("Loading Texture Assets");const t=new q({text:"Loading textures. This might take a while.",style:new et({fill:3355443,fontSize:50})});t.x=p.app.canvas.width/2,t.y=p.app.canvas.height/2,t.anchor.set(.5,.5),p.app.stage.addChild(t),this.text=new q({text:"",style:new et({fill:3355443,fontSize:50})}),this.text.x=p.app.canvas.width/2,this.text.y=p.app.canvas.height/2+50,this.text.anchor.set(.5,.5),p.app.stage.addChild(this.text),await Promise.all([this.Load("./aclonica.woff2"),this.Load("./assets/gui/button_01.png").then(e=>this.Button01Texture=e),this.Load("./assets/gui/button_02.png").then(e=>this.Button02Texture=e),this.Load("./assets/gui/button_small.png").then(e=>this.ButtonSmallTexture=e),this.Load("./assets/gui/frame_01.png").then(e=>this.Frame01Texture=e),this.Load("./assets/gui/frame_02.png").then(e=>this.Frame02Texture=e),this.Load("./assets/gui/frame_03.png").then(e=>this.Frame03Texture=e),this.Load("./assets/gui/frame_04.png").then(e=>this.Frame04Texture=e),this.Load("./assets/gui/frame_05.png").then(e=>this.Frame05Texture=e),this.Load("./assets/gui/frame_inv.png").then(e=>this.FrameInventory=e),this.Load("./assets/gui/background_01.png").then(e=>this.FrameBackground=e),this.Load("./assets/gui/background_02.png").then(e=>this.FrameTowerTab=e),this.Load("./assets/gui/frame_violet.png").then(e=>this.VioletBackground=e),this.Load("./assets/gui/frame_red.png").then(e=>this.RedBackground=e),this.Load("./assets/gui/frame_green.png").then(e=>this.GreenBackground=e),this.Load("./assets/gui/frame_blue.png").then(e=>this.BlueBackground=e),this.Load("./assets/gui/banner_01.png").then(e=>this.BannerGemsmith=e),this.Load("./assets/gui/heart.png").then(e=>this.HealthTexture=e),this.Load("./assets/gui/money.png").then(e=>this.GoldTexture=e),this.Load("./assets/gui/wave.png").then(e=>this.WaveTexture=e),this.Load("./assets/gui/sword_02.png").then(e=>this.SwordsTexture=e),this.Load("./assets/gui/title01.png").then(e=>this.TitleTexture=e),this.Load("./assets/gui/icons/play.png").then(e=>this.PlayIconTexture=e),this.Load("./assets/gui/icons/pause.png").then(e=>this.PauseIconTexture=e),this.Load("./assets/gui/icons/exclamation.png").then(e=>this.ExclamationIconTexture=e),this.Load("./assets/gui/icons/home.png").then(e=>this.HomeIconTexture=e),this.Load("./assets/gui/icons/hammer.png").then(e=>this.HammerIconTexture=e),this.Load("./assets/gui/icons/cross.png").then(e=>this.XIconTexture=e),this.Load("./assets/gui/icons/plus.png").then(e=>this.PlusIconTexture=e),this.LoadMissions(),this.LoadTowers(),this.LoadCreeps(),this.LoadGems()]),t.destroy(),this.text.destroy(),this.text=!0}static async LoadGems(){const e=await(await fetch("./assets/json/Gems.json")).json();this.Gems=e;for(let s=0;s{e.destroy()}),this.currentScene=t,this.currentScene.init()}}class It{constructor(t){x(this,"name",this.constructor.name);x(this,"_container",new at);x(this,"_events",new ct);x(this,"enabled",!0);x(this,"bb",new z);p.GameMaster._CreateGuiObject(this),t&&(this._container.interactive=!0,this._container.onwheel=e=>{this.enabled&&this.onWheel(e)},this._container.onpointerdown=e=>{this.enabled&&this.onClick(e)})}destroy(){this._events.removeAllListeners(),this._container.parent&&this._container.parent.removeChild(this._container),this._container.destroy()}get container(){return this._container}get events(){return this._events}onClick(t){console.warn(`[${this.name} does not implement GuiObject.onClick()]`)}onWheel(t){console.warn(`[${this.name} does not implement GuiObject.onWheel()]`)}setEnabled(t){this.enabled=t}copyContainerToBB(){return this.bb.x=this.container.x,this.bb.y=this.container.y,this.bb.width=this.container.width,this.bb.height=this.container.height,this.bb}copyBBToContainer(){return this.container.x=this.bb.x,this.container.y=this.bb.y,this.container.width=this.bb.width,this.container.height=this.bb.height,this.container}copyPropertiesToObj(t){return t.x=this.bb.x,t.y=this.bb.y,t.width=this.bb.width,t.height=this.bb.height,t}}var Zt=(i=>(i[i.Button01=0]="Button01",i[i.Button02=1]="Button02",i))(Zt||{});class le extends It{constructor(e,s,r,n=!0){super(!0);x(this,"caption");x(this,"bounds");x(this,"buttonTexture");x(this,"buttonSprite");x(this,"buttonText");x(this,"buttonIcon");r==0&&(this.buttonTexture=I.Button01Texture),r==1&&(this.buttonTexture=I.Button02Texture),this.caption=s,this.enabled=n,this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.container.width=this.bounds.width,this.container.height=this.bounds.height,this.buttonSprite=new Dt({texture:this.buttonTexture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100}),this.buttonSprite.x=0,this.buttonSprite.y=0,this.buttonSprite.width=this.bounds.width,this.buttonSprite.height=this.bounds.height,this.container.addChild(this.buttonSprite),this.buttonText=new q({text:this.caption,style:new et({fill:16777215,fontSize:24})}),this.container.addChild(this.buttonText),this.buttonText.anchor.set(.5,.5),this.buttonText.x=this.bounds.width/2,this.buttonText.y=this.bounds.height/2,this.container.x=this.bounds.x,this.container.y=this.bounds.y}setCaption(e){this.caption=e,this.buttonText.text=e}CustomButtonLogic(){console.warn(this.name+" - Button.CustomButtonLogic() is not implemented.")}}class zt{constructor(){x(this,"name",this.constructor.name);x(this,"_container",new at);x(this,"bb",new z);x(this,"_events",new ct)}destroy(){this._events.removeAllListeners(),this._container.parent&&this._container.parent.removeChild(this._container),this._container.destroy()}get container(){return this._container}get events(){return this._events}copyContainerToBB(){return this.bb.x=this.container.x,this.bb.y=this.container.y,this.bb.width=this.container.width,this.bb.height=this.container.height,this.bb}copyBBToContainer(){return this.container.x=this.bb.x,this.container.y=this.bb.y,this.container.width=this.bb.width,this.container.height=this.bb.height,this.container}copyPropertiesToObj(t){return t.x=this.bb.x,t.y=this.bb.y,t.width=this.bb.width,t.height=this.bb.height,t}}var Tt=(i=>(i[i.Restricted=0]="Restricted",i[i.Buildable=1]="Buildable",i[i.Path=9]="Path",i))(Tt||{}),qt=(i=>(i.CreepSpawned="creepSpawned",i.Finished="finished",i.NewWave="newwave",i))(qt||{}),St=(i=>(i.Died="died",i.TakenDamage="takenDamage",i.Escaped="escaped",i.Moved="moved",i))(St||{}),Re=(i=>(i.CellMouseOver="cellmouseover",i.CellMouseLeave="cellmouseleave",i))(Re||{}),Le=(i=>(i.TowerPlacedEvent="towerPlacedEvent",i.TowerSoldEvent="towerSoldEvent",i))(Le||{}),Ts=(i=>(i.GemGivenEvent="gemGivenEvent",i))(Ts||{}),Ms=(i=>(i.TowerPanelSelectGem="towerTabSelectGem",i))(Ms||{});class od extends zt{constructor(e,s,r,n){super();x(this,"type");x(this,"row");x(this,"column");x(this,"isPath",!1);x(this,"g");x(this,"hasTowerPlaced",!1);x(this,"clickDetector");this.type=e,this.row=s,this.column=r,this.isPath=n,this.bb.x=this.column*p.GridCellSize,this.bb.y=this.row*p.GridCellSize,this.bb.width=p.GridCellSize,this.bb.height=p.GridCellSize,p.Grid.container.addChild(this.container),this.container.x=this.bb.x,this.container.y=this.bb.y,this.clickDetector=new kt({zIndex:99,interactive:!0}),this.g=new kt({zIndex:5}),this.clickDetector.rect(0,0,this.bb.width,this.bb.height),this.clickDetector.fill({color:16711680,alpha:0}),this.container.addChild(this.clickDetector),this.container.addChild(this.g),this.clickDetector.on("pointerup",a=>{p.Grid.gridInteractionEnabled&&(p.TowerManager.isPlacingTower?p.Grid.onGridCellClicked(s,r):this.OpenSelectedTowerPanel())}),this.clickDetector.on("pointerenter",a=>{!p.Grid.gridInteractionEnabled||p.GameScene.towerPanel.isShown||p.GameScene.events.emit(Re.CellMouseOver,this)}),this.clickDetector.on("pointerleave",a=>{!p.Grid.gridInteractionEnabled||p.GameScene.towerPanel.isShown||(p.GameScene.events.emit(Re.CellMouseLeave,this),p.Grid.rangePreview.clear())}),p.GameScene.events.on(Le.TowerPlacedEvent,(a,o,h)=>{o==this.row&&h==this.column&&(this.hasTowerPlaced=!0,p.Grid.rangePreview.clear())}),p.GameScene.events.on(Le.TowerSoldEvent,(a,o,h)=>{o==this.row&&h==this.column&&(this.hasTowerPlaced=!1)})}showRangePreview(e,s){let r=16777215;e&&(r=16711680),p.Grid.rangePreview.clear(),p.Grid.rangePreview.circle(this.column*p.GridCellSize+p.GridCellSize/2,this.row*p.GridCellSize+p.GridCellSize/2,s*p.GridCellSize),p.Grid.rangePreview.fill({color:r,alpha:.3})}OpenSelectedTowerPanel(){if(this.hasTowerPlaced){const e=p.TowerManager.GetTowerByRowAndCol(this.row,this.column);p.GameScene.towerPanel.Show(e)}}checkIfCantPlace(){return this.hasTowerPlaced||this.isPath||this.type==Tt.Path||this.type==Tt.Restricted}gDraw(){this.g.rect(0,0,this.bb.width,this.bb.height),this.type==Tt.Restricted?this.g.fill({color:2236962,alpha:.5}):this.hasTowerPlaced?this.g.fill({color:16711680,alpha:.5}):this.type==Tt.Path?this.g.fill({color:2236962,alpha:.5}):this.type==Tt.Buildable&&this.g.stroke({color:65280,alpha:.9})}gClear(){this.g.clear()}update(){}}class hd extends zt{constructor(e,s){super();x(this,"gameMap");x(this,"cells",[]);x(this,"rangePreview");x(this,"creeps",[]);x(this,"gridShown",!1);x(this,"gridInteractionEnabled",!0);this.gameMap=e,p.Grid=this,this.bb.x=0,this.bb.y=0,this.bb.width=p.GridCellSize*p.GridColumns,this.bb.height=p.GridCellSize*p.GridRows,p.GameMaster.currentScene.stage.addChild(this.container);let r=new H(I.MissionBackgrounds[s]);this.container.addChild(r);for(let n=0;nl.some(d=>d[0]===a&&d[1]===n));h&&(o=Tt.Path);let c=new od(o,a,n,h);this.cells.push(c)}this.rangePreview=new kt({zIndex:10}),this.container.addChild(this.rangePreview)}toggleGrid(e){this.cells.forEach(s=>{if(e){e=="hide"?s.gClear():s.gDraw();return}this.gridShown?s.gClear():s.gDraw()}),e=="hide"?this.gridShown=!1:e=="show"?this.gridShown=!0:this.gridShown=!this.gridShown}addCreep(e){this.creeps.push(e),e.events.on(St.Died,s=>{this.onCreepDiedOrEscaped(s)}),e.events.on(St.Escaped,s=>{this.onCreepDiedOrEscaped(s)})}onCreepDiedOrEscaped(e){this.creeps.splice(this.creeps.indexOf(e),1),e.destroy()}update(e){this.creeps.forEach(s=>{s.dead?(this.creeps.splice(this.creeps.indexOf(s),1),s=null):s.update(e)})}getCellByRowAndCol(e,s){return this.cells.filter(r=>r.row==e&&r.column==s)[0]}onGridCellClicked(e,s){}}class ld extends zt{constructor(e,s,r){super();x(this,"id");x(this,"creepType");x(this,"sprite");x(this,"path");x(this,"stats");x(this,"pathIndex",0);x(this,"speed");x(this,"direction",1);x(this,"healthBarGraphics",new kt);x(this,"healthBarWidth",50);x(this,"health");x(this,"maxHealth");x(this,"escaped",!1);x(this,"died",!1);x(this,"x");x(this,"y");x(this,"dead",!1);this.creepType=e,this.stats=structuredClone(I.Creeps[this.creepType].stats),this.sprite=new Fe(I.Creeps[this.creepType].textures),this.sprite.scale.x*=-1,this.sprite.anchor.set(.5,.5),this.sprite.animationSpeed=.3,this.sprite.play(),this.id=r,this.container.x=-70,this.container.y=-50,this.sprite.width=p.GridCellSize,this.sprite.height=p.GridCellSize,this.bb.width=this.sprite.width,this.speed=this.stats.speed/60,this.health=this.stats.health,this.maxHealth=this.stats.health,this.path=s,this.x=s[0][1]*p.GridCellSize+p.GridCellSize/2,this.y=s[0][0]*p.GridCellSize+p.GridCellSize/2,p.GameScene.events.on(St.TakenDamage,(n,a)=>{n==this.id&&(this.health-=a,this.UpdateHealthbar())}),p.Grid.container.addChild(this.container),this.container.addChild(this.healthBarGraphics),this.container.addChild(this.sprite),this.UpdateHealthbar()}UpdateHealthbar(){this.healthBarGraphics.clear();const e=this.health,s=this.maxHealth,r=e/s,n=this.healthBarWidth*r;this.healthBarGraphics.rect(-this.healthBarWidth/2+3,-32,this.healthBarWidth+4,14),this.healthBarGraphics.fill({color:0}),this.healthBarGraphics.rect(-this.healthBarWidth/2+5,-30,n,10),this.healthBarGraphics.fill({color:16711680})}update(e){if(this.dead)return;if(this.health<=0){p.GameScene.events.emit(St.Died,this.maxHealth,this),this.destroy(),this.dead=!0;return}if(this.pathIndex+1==this.path.length){if(this.escaped)return;this.events.emit(St.Escaped,this),this.escaped=!0;return}const s=this.path[this.pathIndex],r=this.path[this.pathIndex+1],n=r[1]*p.GridCellSize+p.GridCellSize/2,a=r[0]*p.GridCellSize+p.GridCellSize/2,o=r[1]-s[1],h=r[0]-s[0];o>0?this.direction!=1&&(this.direction=1,this.sprite.scale.x*=-1):o<0&&this.direction!=-1&&(this.direction=-1,this.sprite.scale.x*=-1);let c=this.speed*e*o,l=this.speed*e*h,d=!1;c>0&&this.x+c>n&&(c=n-this.x,d=!0),c<0&&this.x+c0&&this.y+l>a&&(l=a-this.y,d=!0),l<0&&this.y+l{s+=r.firstCreepSpawnTick,r.creeps.forEach(n=>{const a=new ld(n,this.paths[0],this.internalCreepId);this.internalCreepId++;const o={creep:a,tickToSpawnAt:s,spawned:!1};console.log("CREAWTASEDASD"),s+=r.spawnIntervalTicks,this.creeps.push(o)})}),console.log(this.creeps)}end(){this.started=!1}update(e){this.started!=!1&&(this.ticks+=e,this.creeps.forEach(s=>{!s.spawned&&s.tickToSpawnAt<=this.ticks?(s.spawned=!0,this.events.emit(qt.CreepSpawned,s.creep),console.log("Wave manager creep spawned, ",s,this.ticks),!this.finished&&this.creeps.every(r=>r.spawned)&&(this.finished=!0,console.log("wave maanger finisehd"),this.events.emit(qt.Finished))):s.spawned&&s.creep.update(e)}))}}class zr extends It{constructor(e,s,r,n,a,o,h,c){if(e>3||s>2||e<0||s<0)throw"Index/row out of bounds for TowerButton.";super(!0);x(this,"frameSprite");x(this,"background");x(this,"towerName");x(this,"iconSprite");x(this,"i",0);this.towerName=h,this.container.x=e*r+5,this.container.y=s*n+5,this.background=new H({texture:o}),this.iconSprite=new H({texture:c}),this.background.width=r,this.background.height=n,this.iconSprite.x=r/2,this.iconSprite.y=n/2,this.iconSprite.width=r/2,this.iconSprite.height=n/2,this.iconSprite.anchor.set(.5,.5),this.container.addChild(this.background),this.container.addChild(this.iconSprite),this.frameSprite=new Dt({texture:I.Frame02Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100,roundPixels:!0,height:n,width:r}),this.container.addChild(this.frameSprite),a.addChild(this.container),p.GameScene.events.on(Le.TowerPlacedEvent,l=>{this.resetTint()}),this.container.onpointermove=l=>{p.Grid.gridInteractionEnabled!=!1&&(p.TowerManager.isPlacingTower||this.ShowTooltip())},this.container.onpointerleave=l=>{p.GameScene.tooltip.Hide()}}ShowTooltip(){let e;I.Towers.forEach(s=>{s.name==this.towerName&&(e=s)}),p.GameScene.tooltip.SetContentTower(this.towerName,e.stats.damage,e.stats.cost,e.stats.gemSlotsAmount),p.GameScene.tooltip.Show(p.MouseX,p.MouseY)}onClick(e){p.Grid.gridInteractionEnabled!=!1&&(p.TowerManager.isPlacingTower&&p.TowerManager.selectedTower.name!=this.towerName&&(p.GameScene.sidebar.towerTab.resetTint(),p.TowerManager.ResetChooseTower()),p.GameScene.towerPanel.Hide(),p.GameScene.tooltip.Hide(),this.frameSprite.tint==65280?(this.frameSprite.tint=16777215,this.ShowTooltip()):this.frameSprite.tint=65280,p.TowerManager.ToggleChoosingTowerLocation(this.towerName))}resetTint(){this.frameSprite.tint=16777215}}class dd extends It{constructor(e){super(!1);x(this,"bounds");x(this,"towerTabSprite");x(this,"towerButtons",[]);this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.towerTabSprite=new Dt({texture:I.FrameTowerTab,leftWidth:500,topHeight:500,rightWidth:500,bottomHeight:500,roundPixels:!0}),this.towerTabSprite.width=this.bounds.width,this.towerTabSprite.height=this.bounds.height,this.container.addChild(this.towerTabSprite),this.towerButtons.push(new zr(0,0,70,70,this.container,I.RedBackground,"Basic Tower",I.Towers[0].texture)),this.towerButtons.push(new zr(3,1,70,70,this.container,I.GreenBackground,"Circle Tower",I.Towers[1].texture))}resetTint(){this.towerButtons.forEach(e=>e.resetTint())}}const se=class se{static init(){se.SidebarRect=new z(p.app.canvas.width-360,0,360,p.app.canvas.height),se.ChangeRoundButtonRect=new z(50,p.app.canvas.height-100,310,100)}};x(se,"SidebarRect"),x(se,"ChangeRoundButtonRect");let Rt=se;function ud(i,t){i.projectiles.forEach(e=>{e.deleteMe?(i.damageDealt+=i.computedDamageToDeal,i.projectiles.splice(i.projectiles.indexOf(e),1),e=null):e.update(t)})}function xa(i){let t=0;i.slottedGems.forEach(e=>{t+=e.currentGemImprovement().damageUp}),i.computedDamageToDeal=i.definition.stats.damage+t}function fd(i,t){i.ticksUntilNextShot%2==0&&xa(i),ud(i,t),i.ticksUntilNextShot>0&&i.ticksUntilNextShot--;let e=i.GetCreepsInRange();if(e.length>0){let s=e[0];i.ticksUntilNextShot==0&&(i.ticksUntilNextShot=i.definition.stats.cooldown,i.Shoot(s))}}class De extends It{constructor(e,s,r,n){super(!0);x(this,"iconSprite");x(this,"background");x(this,"frame");x(this,"i",0);x(this,"gem",null);let a;this.i=e,this.container.x=10,this.container.y=e*(p.GridCellSize+6)+300,this.background=new H({texture:I.Frame01Texture}),r==null&&!n?a=I.PlusIconTexture:n=="SELL"?a=I.GoldTexture:n=="UPGRADE"?a=I.PlusIconTexture:(a=r.texture,this.gem=r),this.iconSprite=new H({texture:a,zIndex:10}),this.background.width=p.GridCellSize,this.background.height=p.GridCellSize,r==null&&!n?(this.iconSprite.x=p.GridCellSize/2,this.iconSprite.y=p.GridCellSize/2,this.iconSprite.width=p.GridCellSize/2,this.iconSprite.height=p.GridCellSize/2,this.iconSprite.anchor.set(.5,.5)):n=="SELL"?(this.iconSprite.x=4,this.iconSprite.y=4,this.iconSprite.width=p.GridCellSize-8,this.iconSprite.height=p.GridCellSize-8):n=="UPGRADE"?(this.iconSprite.x=p.GridCellSize/2,this.iconSprite.y=p.GridCellSize/2,this.iconSprite.width=p.GridCellSize/2,this.iconSprite.height=p.GridCellSize/2,this.iconSprite.tint=3012919,this.iconSprite.anchor.set(.5,.5)):(this.iconSprite.x=4,this.iconSprite.y=4,this.iconSprite.width=p.GridCellSize-8,this.iconSprite.height=p.GridCellSize-8),this.frame=new H({texture:I.Frame05Texture,width:64,height:64}),this.container.addChild(this.background),this.container.addChild(this.iconSprite),this.container.addChild(this.frame);let o=r?r.id:"",h=new q({text:o,zIndex:11,style:{fill:"white",stroke:{color:0,width:5}}});this.container.addChild(h),s.addChild(this.container)}setTint(e){this.frame.tint=e}resetTint(){this.frame.tint=16777215}}class pd extends It{constructor(e){super(!1);x(this,"bounds");x(this,"towerPanel");x(this,"closeBtn");x(this,"vGems",[]);x(this,"showingTower",null);x(this,"isShown",!1);x(this,"titleText");x(this,"damageText");x(this,"totalDamage");x(this,"attackSpeedText");this.bounds=e,this.towerPanel=new Dt({texture:I.Frame03Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100}),this.towerPanel.width=this.bounds.width,this.towerPanel.height=this.bounds.height-this.bounds.height/3.5,this.closeBtn=new le(new z(-20,-20,60,60),"",Zt.Button01,!0),this.closeBtn.container.removeFromParent(),this.closeBtn.CustomButtonLogic=()=>{this.closeBtn.buttonIcon=new H({texture:I.XIconTexture,x:this.closeBtn.container.width/2,y:this.closeBtn.container.height/2,scale:.2}),this.closeBtn.buttonIcon.anchor.set(.5,.5),this.closeBtn.container.addChild(this.closeBtn.buttonIcon)},this.closeBtn.onClick=()=>{this.Hide()},this.Hide(),this.closeBtn.CustomButtonLogic(),this.container.y=p.app.canvas.height/2-p.app.canvas.height/2.7,this.container.addChild(this.towerPanel),this.container.addChild(this.closeBtn.container),p.GameMaster.currentScene.stage.addChild(this.container),this.titleText=new q({x:this.bounds.width/3,y:50,zIndex:5,style:new et({fill:16777215,stroke:{color:0,width:2}})}),this.titleText.anchor.set(.5,0),this.container.addChild(this.titleText),this.damageText=new q({x:10,y:100,zIndex:5,style:new et({fill:16753920,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.damageText),this.attackSpeedText=new q({x:100,y:100,zIndex:5,style:new et({fill:16777215,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.attackSpeedText),this.totalDamage=new q({x:10,y:130,zIndex:5,style:new et({fill:16711680,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.totalDamage)}MakeSlots(e){this.vGems.forEach(r=>{r.destroy()}),this.vGems=[];let s=e.definition.stats.gemSlotsAmount;for(let r=0;r{n&&(p.GameScene.tooltip.SetContentGem(n),p.GameScene.tooltip.Show(p.MouseX,p.MouseY))},a.container.onpointerleave=()=>{p.GameScene.tooltip.Hide()},a.onClick=()=>{p.GameScene.tooltip.Hide(),console.warn("EMITTING TOWER PANEL SELECT GEM",n,a.i,r,e),p.GameScene.events.emit(Ms.TowerPanelSelectGem,n,a.i,e),!n&&p.GameScene.sidebar.gemTab.isSelectingGem?a.setTint(65535):a.resetTint()}}}Show(e){this.isShown=!0,xa(e),this.SetContent(e),this.MakeSlots(e),this.showingTower=e,p.GameScene.sidebar.gemTab.selectingGemTowerObject=e,e.container.parent.x<900?this.ShowRight():this.ShowLeft(),e.parent.showRangePreview(!1,e.definition.stats.range)}SetContent(e){this.titleText.text=e.definition.name,this.damageText.text="Deals "+e.computedDamageToDeal+" damage",this.totalDamage.text="Damage dealt: "+e.damageDealt+" damage",this.attackSpeedText.x=this.damageText.width+10,this.attackSpeedText.text=` every ${Math.floor(e.definition.stats.cooldown/60)}s`}ShowLeft(){this.towerPanel.x=-100,this.container.x=0,this.container.alpha=1,this.closeBtn.container.x=this.bounds.width-150}ShowRight(){this.towerPanel.x=-10,this.container.x=Rt.SidebarRect.x-210,this.closeBtn.container.x=-20,this.container.alpha=1}Hide(){this.isShown=!1,this.container.alpha=0,this.container.x=Rt.SidebarRect.x+10,p.Grid.rangePreview.clear()}}class md extends It{constructor(e){super(!1);x(this,"bounds");x(this,"gemTabSprite");x(this,"vGems",[]);x(this,"isSelectingGem",!1);x(this,"selectingGemSlotIndex",-1);x(this,"selectingGemTowerObject",null);x(this,"isDragAndDroppingGem",!1);x(this,"dragAndDroppingGem",null);this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.gemTabSprite=new Dt({texture:I.FrameTowerTab,leftWidth:1e3,topHeight:1e3,rightWidth:1e3,bottomHeight:1e3}),this.gemTabSprite.x=0,this.gemTabSprite.y=0,this.gemTabSprite.width=this.bounds.width,this.gemTabSprite.height=this.bounds.height,this.container.addChild(this.gemTabSprite),p.app.canvas.addEventListener("pointermove",()=>{this.pointerMoveEvent()}),p.GameScene.events.on(Ts.GemGivenEvent,()=>{this.RebuildInventoryVisual()})}TowerPanelSelectingGem(e,s,r){console.log("TOWER PANEL SELECTING GEM "+s),s<0&&console.error("TOWER PANEL SELECTING GEM INDEX IS LESS THAN 0, ",s),this.isSelectingGem?e==null&&(this.isSelectingGem=!1,this.selectingGemSlotIndex=-1,this.selectingGemTowerObject=null):(this.isSelectingGem=!0,e==null?(p.NotificationManager.Notify("Click on any Gem in your inventory to slot it into this Gem slot.","info"),this.selectingGemSlotIndex=s,this.selectingGemTowerObject=r):(r.UnslotGem(s),this.RebuildInventoryVisual(),p.GameScene.towerPanel.Hide(),p.GameScene.towerPanel.Show(r),this.isSelectingGem=!1,this.selectingGemSlotIndex=-1,this.selectingGemTowerObject=null))}pointerMoveEvent(){!this.isDragAndDroppingGem||!this.dragAndDroppingGem||(this.dragAndDroppingGem.container.x=p.MouseX-32,this.dragAndDroppingGem.container.y=p.MouseY-32)}isOverlappingGemsmith(e,s,r){let n=e.copyContainerToBB(),a=s.copyContainerToBB(),o=r.x+a.x+p.GameScene.sidebar.container.x,h=r.y+a.y+p.GameScene.sidebar.container.y,c=new z(o,h,a.width,a.height);if(n.getBounds().intersects(c)&&s&&s.gem==null)return!0}RebuildInventoryVisual(){this.vGems.forEach(e=>e.destroy()),this.vGems=[],p.GameScene.MissionStats.getInventory().forEach((e,s)=>{let r=new De(0,this.container,e),n=10,a=s%4*70+10,o=s;for(;!(o<=3);)n+=66,o-=4;r.container.x=a,r.container.y=n,r.container.onpointermove=()=>{e==null||this.isDragAndDroppingGem||(p.GameScene.tooltip.SetContentGem(e),p.GameScene.tooltip.Show(p.MouseX,p.MouseY))},r.container.onpointerleave=()=>{p.GameScene.tooltip.Hide()},r.container.onpointerdown=()=>{if(p.GameScene.tooltip.Hide(),this.isSelectingGem){this.isSelectingGem=!1;let h=p.GameScene.MissionStats.takeGem(e);this.selectingGemTowerObject.SlotGem(h,this.selectingGemSlotIndex),this.RebuildInventoryVisual()}else this.isDragAndDroppingGem=!0,this.dragAndDroppingGem=r,r.container.removeFromParent(),p.GameScene.stage.addChild(r.container),this.pointerMoveEvent()},r.container.onpointerup=()=>{if(this.isSelectingGem)return;let h=null;if(this.isOverlappingGemsmith(this.dragAndDroppingGem,p.GameScene.sidebar.gemsmith.sellVGem,p.GameScene.sidebar.gemsmith.container)){let d=this.dragAndDroppingGem.gem.definition.initialGemValue+this.dragAndDroppingGem.gem.currentGemImprovement().gemValueUp;p.GameScene.MissionStats.earnGold(Math.ceil(d*.8)),p.NotificationManager.Notify(`Sold Lv. ${this.dragAndDroppingGem.gem.level} ${this.dragAndDroppingGem.gem.definition.name} for ${Math.ceil(d*.8)} gold.`,"info"),p.GameScene.MissionStats.takeGem(this.dragAndDroppingGem.gem),this.isDragAndDroppingGem=!1,this.dragAndDroppingGem=null,this.RebuildInventoryVisual();return}if(this.isOverlappingGemsmith(this.dragAndDroppingGem,p.GameScene.sidebar.gemsmith.upgradeVGem,p.GameScene.sidebar.gemsmith.container)){if(this.dragAndDroppingGem.gem.isMaxLevel())p.NotificationManager.Notify("Gem is max level.","warn");else{let d=this.dragAndDroppingGem.gem.definition.genericImprovements[this.dragAndDroppingGem.gem.level].gemValueUp;p.GameScene.MissionStats.hasEnoughGold(d)?(p.GameScene.MissionStats.spendGold(d),this.dragAndDroppingGem.gem.levelUp(1),p.NotificationManager.Notify(`Spent ${d} gold to upgrade ${this.dragAndDroppingGem.gem.definition.name} Lv. ${this.dragAndDroppingGem.gem.level-1} -> Lv. ${this.dragAndDroppingGem.gem.level}!`,"warn")):p.NotificationManager.Notify("You don't have enough, you need "+d+" gold to upgrade this gem.","warn")}this.isDragAndDroppingGem=!1,this.dragAndDroppingGem=null,this.RebuildInventoryVisual();return}if(p.GameScene.towerPanel.vGems.forEach(d=>{if(h||!this.dragAndDroppingGem)return;let u=this.dragAndDroppingGem.copyContainerToBB(),f=d.copyContainerToBB(),m=p.GameScene.towerPanel.container.x+f.x,y=p.GameScene.towerPanel.container.y+f.y,g=new z(m,y,f.width,f.height);u.getBounds().intersects(g)&&d&&d.gem==null&&(h=d)}),h){let d=p.GameScene.MissionStats.takeGem(e);p.GameScene.towerPanel.showingTower.SlotGem(d,h.i)}this.isDragAndDroppingGem=!1,this.dragAndDroppingGem=null,this.RebuildInventoryVisual()},this.vGems.push(r)})}}class gd extends It{constructor(e){super(!1);x(this,"bounds");x(this,"sellVGem");x(this,"upgradeVGem");this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y;let s=new H({x:0,y:0,width:this.bounds.width,height:this.bounds.height,texture:I.BannerGemsmith});this.container.addChild(s);let r=new q({x:40,y:this.bounds.height/6.5,text:"Sell gem",style:new et({fill:16767744,fontSize:18,stroke:{color:0,width:2}})});this.container.addChild(r);let n=new q({x:155,y:this.bounds.height/6.5,text:"Upgrade gem",style:new et({fill:3012919,fontSize:18,stroke:{color:0,width:2}})});this.container.addChild(n),this.sellVGem=new De(0,this.container,null,"SELL"),this.sellVGem.container.x=45,this.sellVGem.container.y=this.bounds.height/4,this.upgradeVGem=new De(0,this.container,null,"UPGRADE"),this.upgradeVGem.container.x=180,this.upgradeVGem.container.y=this.bounds.height/4}}class xd extends It{constructor(e){super(!1);x(this,"towerTab");x(this,"gemTab");x(this,"gemsmith");x(this,"bounds");x(this,"sidebarSprite");this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.sidebarSprite=new Dt({texture:I.Frame01Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100}),this.sidebarSprite.x=40,this.sidebarSprite.y=-40,this.sidebarSprite.width=this.bounds.width+40,this.sidebarSprite.height=this.bounds.height+80,this.container.addChild(this.sidebarSprite);const s=new z(60,20,this.bounds.width-65,150);this.towerTab=new dd(s),this.container.addChild(this.towerTab.container);const r=new z(60,180,this.bounds.width-65,this.bounds.height-280-255);this.gemTab=new md(r),this.container.addChild(this.gemTab.container);const n=new z(60,185+r.height,this.bounds.width-65,this.bounds.height-840);this.gemsmith=new gd(n),this.container.addChild(this.gemsmith.container)}}class Ps{constructor(){x(this,"stage",new at);x(this,"gui",[]);x(this,"_events",new ct);p.app.stage.addChild(this.stage)}destroy(){this.stage.destroy(),this.gui.forEach(t=>{t.destroy()})}get events(){return this._events}init(){}}class yd extends zt{constructor(e,s){super();x(this,"hp",100);x(this,"gold",0);x(this,"goldText");x(this,"healthText");x(this,"waveText");x(this,"inventory",[]);x(this,"score",0);this.hp=e,this.gold=s,this.container.x=0,this.container.y=20,p.GameMaster.currentScene.stage.addChild(this.container),this.healthText=new q({text:`${this.hp}`,style:new et({fill:"red",fontSize:36,fontWeight:"bold",dropShadow:!0})}),this.goldText=new q({text:`${this.gold}`,style:new et({fill:"gold",fontSize:36,fontWeight:"bold",dropShadow:!0})}),this.waveText=new q({text:`0/${p.GameScene.mission.rounds.length}`,style:new et({fill:"dodgerblue",fontSize:36,fontWeight:"bold",dropShadow:!0})});const r=new H(I.HealthTexture),n=new H(I.GoldTexture),a=new H(I.WaveTexture);this.healthText.x=200,this.healthText.y=-15,r.x=160,r.width=36,r.height=32,r.y=-10,this.goldText.x=200,this.goldText.y=20,n.x=150,n.width=56,n.height=56,n.y=15,this.waveText.x=200,this.waveText.y=55,a.x=155,a.width=46,a.height=32,a.y=65,this.container.addChild(this.healthText),this.container.addChild(this.goldText),this.container.addChild(this.waveText),this.container.addChild(r),this.container.addChild(n),this.container.addChild(a),p.GameScene.events.on(qt.NewWave,o=>{this.waveText.text=`${o}/${p.GameScene.mission.rounds.length}`})}getHP(){return this.hp}hasEnoughGold(e){return e<=this.gold}setHP(e){this.hp=e,this.healthText.text=this.hp}takeDamage(e){this.hp-=e,this.healthText.text=this.hp}setGold(e){this.gold=e,this.goldText.text=this.gold}earnGold(e){this.gold+=e,this.goldText.text=this.gold}spendGold(e){this.gold-=e,this.goldText.text=this.gold}giveGem(e,s){if(this.inventory.length>=32)return p.NotificationManager.Notify("Can't hold more than 32 Gems. Extra Gem was thrown away.","danger");this.inventory.push(e),s||p.NotificationManager.Notify(`Lv. ${e.level} ${e.definition.name} added to your inventory.`,"gemaward"),p.GameScene.events.emit(Ts.GemGivenEvent,e)}takeGem(e){return this.inventory.splice(this.inventory.indexOf(e),1)[0]}getInventory(){return this.inventory}checkIfPlayerHasAnyGems(){return this.inventory.length>0}update(){}}function _d(i,t,e,s){const r=e-i,n=s-t;return Math.atan2(n,r)}class wd extends zt{constructor(e,s,r,n,a,o,h){super();x(this,"deleteMe",!1);x(this,"sprite");x(this,"x");x(this,"y");x(this,"angle");x(this,"speed");x(this,"damage");x(this,"timeToLive",1);x(this,"parent");this.x=e,this.y=s,this.parent=h,this.damage=a,this.sprite=new Fe({textures:r,scale:.25,rotation:n}),this.sprite.anchor.set(.5,.5),this.sprite.play(),this.container.x=this.x,this.container.y=this.y,this.sprite.tint=o,this.container.addChild(this.sprite),p.GameMaster.currentScene.stage.addChild(this.container),this.angle=n,this.speed=.9}destroy(){super.destroy(),this.deleteMe=!0}update(e){if(!this.deleteMe){if(this.x>2e3||this.x<0||this.y>2e3||this.y<0||this.timeToLive<=0)return this.destroy();p.Grid.creeps.forEach(s=>{if(!(this.timeToLive<=0)&&s.container&&this.checkCollision(s)){this.timeToLive--,this.onCollide(s);return}}),this.x+=Math.cos(this.angle)*this.speed*e,this.y+=Math.sin(this.angle)*this.speed*e,this.container.x=this.x,this.container.y=this.y}}onCollide(e){p.GameScene.events.emit(St.TakenDamage,e.id,this.damage)}checkCollision(e){if(e==null)return;let s=this.copyContainerToBB(),r=e.copyContainerToBB();return s.getBounds().intersects(r.getBounds())}}function bd(i,t,e,s){return Math.sqrt((e-i)*(e-i)+(s-t)*(s-t))}class Sd extends zt{constructor(e,s,r,n,a){super();x(this,"row");x(this,"column");x(this,"definition");x(this,"slottedGems",[]);x(this,"damageDealt",0);x(this,"projectiles",[]);x(this,"behaviour");x(this,"sprite");x(this,"ticksUntilNextShot");x(this,"graphics",new kt);x(this,"computedDamageToDeal");x(this,"parent");x(this,"onParentCellEnter",e=>{!p.TowerManager.isPlacingTower&&p.Grid.gridInteractionEnabled&&!p.GameScene.towerPanel.isShown&&this.parent.showRangePreview(!1,this.definition.stats.range)});x(this,"onParentCellLeave",e=>{this.graphics.clear()});this.row=e,this.column=s,this.behaviour=a,this.definition=n,this.ticksUntilNextShot=0,this.parent=p.Grid.getCellByRowAndCol(e,s),this.sprite=new H({texture:r,height:p.GridCellSize,width:p.GridCellSize,zIndex:130}),this.container.addChild(this.sprite),this.computedDamageToDeal=this.definition.stats.damage,this.parent.container.addChild(this.container),this.container.interactiveChildren=!0,this.parent.clickDetector.on("pointerenter",this.onParentCellEnter),this.parent.clickDetector.on("pointerleave",this.onParentCellLeave),p.GameMaster.currentScene.stage.addChild(this.graphics)}SlotGem(e,s){console.log("ATTEMPTING TO SLOT ",e,s),this.slottedGems[s]=e,p.GameScene.towerPanel.Hide(),p.GameScene.towerPanel.Show(this)}UnslotGem(e){const s=this.slottedGems.splice(e,1)[0];p.GameScene.MissionStats.giveGem(s,!0);for(let r=e;rr!=null),p.NotificationManager.Notify(`Lv. ${s.level} ${s.definition.name} unslotted and placed back in your inventory.`,"info")}GetCreepsInRange(){return p.Grid.creeps.filter(s=>{const r=s.x,n=s.y,a=this.column*p.GridCellSize+p.GridCellSize/2,o=this.row*p.GridCellSize+p.GridCellSize/2,h=this.definition.stats.range*p.GridCellSize;return bd(a,o,r,n){o.definition.type.toString()=="Fire"&&(a=16711680)}),this.projectiles.push(new wd(s,r,this.definition.projectileTextures,n,this.computedDamageToDeal,a,this))}update(e){this.behaviour==ya.BasicTowerBehaviour&&fd(this,e)}destroy(){super.destroy(),this.parent.clickDetector.off("pointerenter",this.onParentCellEnter),this.parent.clickDetector.off("pointerleave",this.onParentCellLeave),this.graphics.destroy()}}var ya=(i=>(i.BasicTowerBehaviour="BasicTowerBehaviour",i))(ya||{});class vd{constructor(){x(this,"isPlacingTower",!1);x(this,"canPlaceTowers",!0);x(this,"selectedTower",null);x(this,"previewSprite",new H({parent:p.GameMaster.currentScene.stage,zIndex:10,width:64,height:64,alpha:.8}));x(this,"towers",[]);p.TowerManager=this,p.GameScene.events.on(Re.CellMouseOver,t=>{this.isPlacingTower&&(t.checkIfCantPlace()?(t.showRangePreview(!0,this.selectedTower.stats.range),this.previewSprite.tint=16711680):(t.showRangePreview(!1,this.selectedTower.stats.range),this.previewSprite.tint=16777215),this.previewSprite.x=t.column*p.GridCellSize,this.previewSprite.y=t.row*p.GridCellSize,this.previewSprite.texture=this.selectedTower.texture)}),p.GameScene.events.on(Re.CellMouseLeave,t=>{this.previewSprite.texture=null})}ResetChooseTower(){this.selectedTower=null,this.isPlacingTower=!1,p.Grid.toggleGrid("hide")}ToggleChoosingTowerLocation(t){this.canPlaceTowers&&(p.Grid.toggleGrid(),this.isPlacingTower?(this.previewSprite.texture=null,this.selectedTower=null):I.Towers.forEach(e=>{e.name==t&&(this.selectedTower=e,console.log(this.selectedTower))}),this.isPlacingTower=!this.isPlacingTower)}PlayerClickOnGrid(t,e){if(this.canPlaceTowers&&this.isPlacingTower){if(!this.selectedTower)return p.NotificationManager.Notify("TowerManager.selectedTower is null when trying to place tower.","danger"),console.warn("TowerManager.selectedTower is null when trying to place tower.");this.PlaceTower(this.selectedTower,t,e,this.selectedTower.behaviour)}}GetTowerByRowAndCol(t,e){let s=null;return this.towers.forEach(r=>{r.row==t&&r.column==e&&(s=r)}),s}PlaceTower(t,e,s,r,n){const a=t.texture;if(!p.GameScene.MissionStats.hasEnoughGold(t.stats.cost)&&!n)return p.NotificationManager.Notify("Not enough gold.","warn");if(!this.GetTowerByRowAndCol(e,s)&&p.Grid.getCellByRowAndCol(e,s).type!=Tt.Path&&p.Grid.getCellByRowAndCol(e,s).type!=Tt.Restricted){n||p.GameScene.MissionStats.spendGold(t.stats.cost);let o=new Sd(e,s,a,t,r);this.towers.push(o),this.ToggleChoosingTowerLocation("RESET"),this.selectedTower=null,this.previewSprite.x=-100,p.GameScene.events.emit(Le.TowerPlacedEvent,t.name,e,s)}else p.NotificationManager.Notify("Can not place tower on path or other tower, choose another spot.","warn"),console.warn("Can not place tower on occupied spot or path. Try again.")}update(t){this.towers.forEach(e=>{e.update(t)})}}class Ad extends It{constructor(e){super(!1);x(this,"bounds");x(this,"tooltipSprite");x(this,"titleText");x(this,"costText");x(this,"damageText");x(this,"gemAmount");x(this,"gemAmountSprite");x(this,"title");x(this,"costSprite");x(this,"damageSprite");x(this,"gemDescriptionText");this.bounds=e,this.container.x=-500,this.container.y=-500,this.container.zIndex=150,this.tooltipSprite=new Dt({texture:I.Frame04Texture,leftWidth:200,topHeight:200,rightWidth:200,bottomHeight:200}),this.tooltipSprite.width=this.bounds.width,this.tooltipSprite.height=this.bounds.height,this.titleText=new q({x:this.tooltipSprite.width/2,y:-20,zIndex:5,style:new et({fill:16777215,stroke:{color:0,width:2}})}),this.titleText.anchor.set(.5,0),this.title=new H({x:this.tooltipSprite.width/2,y:-20,width:250,height:40,texture:I.TitleTexture}),this.title.anchor.set(.5,0),this.costSprite=new H({texture:I.GoldTexture,x:10,y:20,width:56,height:50}),this.costText=new q({x:54,y:26,zIndex:5,text:"Something went wrong if you see this.",style:{fill:"gold",fontWeight:"bold",stroke:{color:0,width:5}}}),this.damageText=new q({x:54,y:65,zIndex:5,text:"Something went wrong if you see this.",style:{fill:"red",fontWeight:"bold",stroke:{color:0,width:5}}}),this.damageSprite=new H({texture:I.SwordsTexture,x:22,y:70,width:32,height:32}),this.gemAmountSprite=new H({texture:I.GemAmountIcons[0],x:22,y:110,width:32,height:32}),this.gemAmount=new q({x:54,y:105,zIndex:5,text:"Something went wrong if you see this.",style:{fill:"white",fontWeight:"bold",stroke:{color:0,width:5}}}),this.gemDescriptionText=new q({x:10,y:20,text:"",style:{fontSize:18,wordWrap:!0,wordWrapWidth:this.tooltipSprite.width-30,fill:"white",fontWeight:"bold",fontStyle:"italic",stroke:{color:0,width:5}}}),this.container.addChild(this.tooltipSprite),this.container.addChild(this.title),this.container.addChild(this.costSprite),this.container.addChild(this.damageSprite),this.container.addChild(this.gemAmountSprite),this.container.addChild(this.costText),this.container.addChild(this.titleText),this.container.addChild(this.damageText),this.container.addChild(this.gemAmount),this.container.addChild(this.gemDescriptionText),p.app.stage.addChildAt(this.container,0)}SetContentTower(e,s,r,n){this.costSprite.alpha=1,this.damageSprite.alpha=1,this.gemAmountSprite.alpha=1,this.costText.alpha=1,this.damageText.alpha=1,this.gemAmount.alpha=1,this.gemDescriptionText.alpha=0,this.titleText.text=e,this.gemAmount.text=`Has ${n} Gem slots.`,this.gemAmountSprite.texture=I.GemAmountIcons[n],this.costText.text=`Costs ${r} gold.`,this.damageText.text=`Deals ${s} base damage.`}SetContentGem(e){this.costSprite.alpha=0,this.damageSprite.alpha=0,this.gemAmountSprite.alpha=0,this.costText.alpha=0,this.damageText.alpha=0,this.gemAmount.alpha=0,this.gemDescriptionText.alpha=1,this.titleText.text=`Lv. ${e.level} `+e.definition.name,this.gemDescriptionText.text=`Valued at ${e.definition.initialGemValue+e.currentGemImprovement().gemValueUp} gold. `+e.definition.description}Show(e,s){this.container.alpha=1,e+this.container.width>p.app.canvas.width?this.container.x=e-this.container.width:this.container.x=e,this.container.y=s}Hide(){this.container.alpha=0,this.container.x=-500,this.container.y=-500}}class _a extends Ps{constructor(e){super();x(this,"isGameOver",!1);x(this,"mission");x(this,"missionIndex");x(this,"MissionStats");x(this,"roundMode");x(this,"ticker");x(this,"changeRoundButton");x(this,"sidebar");x(this,"tooltip");x(this,"towerPanel");x(this,"visualGems",[]);x(this,"currentRound",0);x(this,"isWaveManagerFinished",!1);x(this,"playerWon",!1);x(this,"destroyTicker",!1);x(this,"offerGemsSprite");x(this,"dimGraphics",new kt({x:0,y:0,zIndex:120}));p.GameScene=this,I.Missions.forEach((s,r)=>{s.name==e&&(this.mission=s,this.missionIndex=r)})}init(){new hd(this.mission.gameMap,this.missionIndex),new vd,new cd(this.mission.rounds,this.mission.gameMap.paths),p.Grid.onGridCellClicked=(e,s)=>{p.TowerManager.isPlacingTower&&p.TowerManager.PlayerClickOnGrid(e,s)},p.WaveManager.events.on(qt.CreepSpawned,e=>{p.Grid.addCreep(e),e.events.on(St.Escaped,()=>{this.onCreepEscaped(e)})}),p.WaveManager.events.on(qt.Finished,()=>{this.isWaveManagerFinished=!0}),this.events.on(St.Died,(e,s)=>{this.MissionStats.earnGold(e)}),this.towerPanel=new pd(Rt.SidebarRect),this.sidebar=new xd(Rt.SidebarRect),this.changeRoundButton=new le(Rt.ChangeRoundButtonRect,"",Zt.Button01,!0),this.changeRoundButton.container.removeFromParent(),this.sidebar.container.addChild(this.changeRoundButton.container),p.GameMaster.currentScene.stage.addChildAt(this.dimGraphics,0),this.tooltip=new Ad(new z(0,0,350,160)),this.changeRoundButton.CustomButtonLogic=()=>{this.changeRoundButton.buttonIcon=new H({texture:I.PlayIconTexture,x:this.changeRoundButton.container.width/2,y:this.changeRoundButton.container.height/2,scale:.2}),this.changeRoundButton.buttonIcon.anchor.set(.5,.5),this.changeRoundButton.container.addChild(this.changeRoundButton.buttonIcon)},this.changeRoundButton.CustomButtonLogic(),this.changeRoundButton.onClick=()=>{if(this.playerWon)return this.ReturnToMain();if(this.roundMode==1)return p.NotificationManager.Notify("Wave is already in progress.","warn");if(this.isGameOver)return p.NotificationManager.Notify("No more waves.","danger");this.roundMode!=2&&(this.setRoundMode(1),this.changeRoundButton.buttonIcon.texture=I.ExclamationIconTexture,this.events.emit(qt.NewWave,`${this.currentRound+1}`))},this.MissionStats=new yd(100,200),this.events.on(Ms.TowerPanelSelectGem,(e,s,r)=>{if(e==null&&!this.MissionStats.checkIfPlayerHasAnyGems())return p.NotificationManager.Notify("You require atleast 1 Gem in your inventory to slot it in a Gem slot.","warn");this.sidebar.gemTab.TowerPanelSelectingGem(e,s,r)}),this.ticker=new bt,this.ticker.maxFPS=60,this.ticker.minFPS=30,this.tooltip.SetContentTower(0,0,0,0),this.tooltip.Show(p.MouseX,p.MouseY),this.tooltip.Hide(),this.ticker.add(()=>{this.update&&this.update(this.ticker.elapsedMS)}),this.ticker.start()}update(e){if(this.isGameOver){this.destroyTicker&&(this.destroyTicker=!1,this.ticker.destroy());return}p.WaveManager.update(e),p.Grid.update(e),p.TowerManager.update(e),this.isWaveManagerFinished&&p.Grid.creeps.length==0&&(this.isWaveManagerFinished=!1,this.setRoundMode(0),this.changeRoundButton.buttonIcon.texture=I.PlayIconTexture,p.NotificationManager.Notify(`Round ${this.currentRound+1}/${this.mission.rounds.length} completed.`,"info"),this.currentRound+1==this.mission.rounds.length?(p.NotificationManager.Notify("Mission victory!!","reward"),this.changeRoundButton.buttonIcon.texture=I.HomeIconTexture,this.playerWon=!0):(this.OfferPlayerGems(),this.currentRound++)),this.MissionStats.getHP()<=0?(this.isGameOver=!0,this.ShowScoreScreen(!0)):this.playerWon&&(this.isGameOver=!0,this.ShowScoreScreen(!1))}DarkenScreen(){this.dimGraphics.rect(0,0,p.app.canvas.width,p.app.canvas.height),this.dimGraphics.fill({color:0,alpha:.5})}UndarkenScreen(){this.dimGraphics.clear()}OfferPlayerGems(){p.Grid.gridInteractionEnabled=!1,p.GameScene.sidebar.towerTab.resetTint(),p.TowerManager.ResetChooseTower(),this.setRoundMode(2);let e=this.mission.rounds[this.currentRound].offeredGems;this.DarkenScreen(),this.offerGemsSprite=new Dt({width:380,height:150,texture:I.Frame01Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100,zIndex:this.dimGraphics.zIndex+1,x:p.app.canvas.width/2-190,y:p.app.canvas.height/2-75}),p.GameMaster.currentScene.stage.addChildAt(this.offerGemsSprite,0);let s=new q({x:p.app.canvas.width/4,y:p.app.canvas.height/4,zIndex:this.dimGraphics.zIndex+1,text:"Choose a Gem as your reward for beating this round!",style:{fontSize:40,fill:"orange",fontWeight:"bold",stroke:{color:0,width:5}}});p.GameMaster.currentScene.stage.addChildAt(s,0),e.forEach((r,n)=>{let a=new cs(r,!0),o=new De(0,p.app.stage,a);this.visualGems.push(o),o.container.x=this.offerGemsSprite.x-15+69*(n+1),o.container.y=this.offerGemsSprite.y+40,o.container.onpointermove=()=>{p.GameScene.tooltip.SetContentGem(a),p.GameScene.tooltip.Show(p.MouseX,p.MouseY)},o.container.onpointerleave=()=>{p.GameScene.tooltip.Hide()},o.onClick=()=>{p.GameScene.tooltip.Hide(),s.destroy(),this.PlayerPickedGem(new cs(r))}})}PlayerPickedGem(e){this.offerGemsSprite.destroy(),this.UndarkenScreen(),this.visualGems.forEach(s=>s.destroy()),p.Grid.gridInteractionEnabled=!0,this.MissionStats.giveGem(e),this.setRoundMode(0)}ShowScoreScreen(e){console.log(e?"LOSE!":"WIN!")}onCreepEscaped(e){this.MissionStats.takeDamage(e.health)}setRoundMode(e){this.roundMode=e,this.roundMode==1?p.WaveManager.start(this.currentRound):p.WaveManager.end()}destroy(){super.destroy(),this.isGameOver=!0,this.destroyTicker=!0,p.GameScene=null}ReturnToMain(){this.destroy(),p.GameMaster.currentScene.stage.removeChildren(),p.GameMaster.changeScene(new wa)}}class wa extends Ps{init(){const t=new le(new z(0,0,300,60),"Back to main",Zt.Button01);t.onClick=e=>{p.GameMaster.changeScene(new ba)},I.Missions.forEach((e,s)=>{const r=new le(new z(p.app.canvas.width/2-150,p.app.canvas.height/5+s*80,300,60),e.name,Zt.Button01);r.onClick=n=>{p.GameMaster.changeScene(new _a(e.name))}})}}class ba extends Ps{init(){const t={caption:"New Game",rect:new z(p.app.canvas.width/2-150,p.app.canvas.height/5+240,300,60),texture:Zt.Button02},e={caption:"Settings",rect:new z(p.app.canvas.width/2-300/2,p.app.canvas.height/5+4*80,300,60),texture:Zt.Button02};let s=new q({x:p.app.canvas.width/2-300/2,y:p.app.canvas.height/5+1*80,text:"BASTION",style:{fill:16755200,fontFamily:"Aclonica",fontSize:100}});s.x=s.x-s.width/5,p.GameMaster.currentScene.stage.addChild(s);let r=new q({x:0,y:0,text:"Latest commit: "+p.latestCommit,style:{fill:0,fontSize:10,fontWeight:"bold"}});p.GameMaster.currentScene.stage.addChild(r);const n=new le(t.rect,t.caption,t.texture,!0);n.onClick=o=>{p.GameMaster.currentScene.stage.removeChild(s),p.GameMaster.currentScene.stage.removeChild(r),p.GameMaster.changeScene(new wa)};let a=new le(e.rect,e.caption,e.texture,!0);a.onClick=o=>{p.NotificationManager.Notify("Not finished.","info")}}}class Cd{constructor(){x(this,"finished",!1);x(this,"calledBack",!1);x(this,"callbackFn")}Finish(){this.finished=!0}update(t){this.finished}}class Td extends Cd{constructor(e,s,r,n){super();x(this,"fadeType");x(this,"fadeTime");x(this,"pixiObject");x(this,"ticks",0);this.fadeType=e,this.fadeTime=s,this.pixiObject=r,this.callbackFn=n,e=="in"?this.pixiObject.alpha=0:this.pixiObject.alpha=1}update(e){if(super.update(e),this.pixiObject==null)return this.Finish();this.ticks++,this.fadeType=="in"?this.pixiObject.alpha=this.ticks/this.fadeTime:this.pixiObject.alpha-=1/this.fadeTime,this.ticks>=this.fadeTime&&this.Finish()}}class Md{constructor(){x(this,"AnimationQueue",[])}Animate(t){this.AnimationQueue.push(t)}update(t){for(let e=this.AnimationQueue.length-1;e>=0;e--){const s=this.AnimationQueue[e];s.finished?(s.callbackFn(),this.AnimationQueue.splice(e,1)):s.update(t)}}}class Pd{constructor(t,e,s,r,n){x(this,"textObj");x(this,"ticksToFadeAway");x(this,"animating",!1);x(this,"destroyed",!1);let a=16777215;e=="info"?a=2143228:e=="warn"?a=16570144:e=="danger"?a=16517642:e=="reward"?a=14047996:e=="gemaward"&&(a=16777215),this.ticksToFadeAway=n,this.textObj=new q({text:t,style:new et({fill:a,fontSize:36,fontWeight:"bold",dropShadow:!0,align:"center"}),x:s,y:r,zIndex:100}),this.textObj.anchor.set(.5,.5),p.NotificationManager.container.addChild(this.textObj)}destroy(){this.textObj.destroy(),this.destroyed=!0}}class kd extends zt{constructor(){super();x(this,"notifications",[]);x(this,"ticks",0);this.bb.x=p.app.canvas.width/2,this.bb.y=40,this.copyBBToContainer(),this.container.zIndex=200,p.app.stage.addChild(this.container)}Notify(e,s){let r=0,n=this.notifications.length*32;this.notifications.push(new Pd(e,s,r,n,this.ticks+180))}update(e){this.ticks++;for(let s=this.notifications.length-1;s>=0;s--){const r=this.notifications[s];if(r.destroyed){this.notifications.splice(s,1);continue}this.ticks>=r.ticksToFadeAway&&!r.animating&&(r.animating=!0,p.AnimationManager.Animate(new Td("out",300,r.textObj,()=>{r.destroy()})))}}}(async()=>{const i=new En;p.app=i,await i.init({width:1920,height:1080,resolution:1,autoDensity:!0,backgroundColor:16777215,sharedTicker:!0}),document.body.appendChild(i.canvas);function t(){const s=window.innerWidth,r=window.innerHeight,n=s/i.screen.width,a=r/i.screen.height,o=Math.min(n,a),h=Math.round(i.screen.width*o),c=Math.round(i.screen.height*o),l=(s-h)/2,d=(r-c)/2;i.canvas.style.width=`${h}px`,i.canvas.style.height=`${c}px`,i.canvas.style.marginLeft=`${l}px`,i.canvas.style.marginTop=`${d}px`,i.canvas.style.marginRight="0",i.canvas.style.marginBottom="0",i.canvas.style.display="block"}p.latestCommit=await fetch("/latest_commit").then(s=>s.text()),window.addEventListener("resize",t),t(),await I.LoadAssets(),Rt.init(),new ad,p.AnimationManager=new Md,p.NotificationManager=new kd,globalThis.Engine=p,bt.shared.add(s=>{p.NotificationManager.update(s.elapsedMS),p.AnimationManager.update(s.elapsedMS)}),i.canvas.addEventListener("pointermove",function(s){p.MouseX=(s.clientX-i.canvas.offsetLeft)/i.canvas.offsetWidth*1920,p.MouseY=(s.clientY-i.canvas.offsetTop)/i.canvas.offsetHeight*1080}),p.GameMaster.changeScene(new ba),new URLSearchParams(location.href).entries().next().value[1]=="game"&&p.GameMaster.changeScene(new _a("Mission 1")),p.latestCommit!="DEVELOPMENT"?window.onbeforeunload=()=>"You are about to leave.":p.TestSuite()})();export{O as $,kn as A,Q as B,at as C,K as D,P as E,qr as F,li as G,vt as H,js as I,H as J,Do as K,Yo as L,W as M,st as N,z as O,ot as P,ch as Q,Ki as R,Gh as S,Gt as T,ri as U,Ks as V,go as W,Ai as X,J as Y,Zr as Z,Gn as _,L as a,U as a0,mh as a1,Wn as a2,tl as a3,il as a4,ol as a5,ll as a6,cl as a7,oe as a8,et as a9,tc as aa,hs as ab,Xn as ac,ar as ad,te as ae,id as af,Gr as ag,ac as ah,kt as ai,Y as aj,Ha as ak,os as al,Pr as am,qn as an,bt as b,ct as c,Ft as d,ht as e,nr as f,Mh as g,ti as h,ps as i,Tn as j,hn as k,Sn as l,Mr as m,Ls as n,Jh as o,el as p,nl as q,eo as r,Ln as s,hl as t,ms as u,yn as v,tt as w,Na as x,ul as y,Mt as z}; diff --git a/assets/index-DUfzhg12.js b/assets/index-DUfzhg12.js new file mode 100644 index 0000000..8a97154 --- /dev/null +++ b/assets/index-DUfzhg12.js @@ -0,0 +1,296 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/browserAll-C3vN8kSD.js","assets/webworkerAll-C8kqtn2i.js","assets/colorToUniform-C1jQKuTl.js","assets/WebGPURenderer-C3uezquN.js","assets/SharedSystems-BDLhnKJG.js","assets/WebGLRenderer-De8XiEKN.js"])))=>i.map(i=>d[i]); +var Ra=Object.defineProperty;var Fa=(s,t,e)=>t in s?Ra(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e;var g=(s,t,e)=>Fa(s,typeof t!="symbol"?t+"":t,e);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const r of n)if(r.type==="childList")for(const a of r.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&i(a)}).observe(document,{childList:!0,subtree:!0});function e(n){const r={};return n.integrity&&(r.integrity=n.integrity),n.referrerPolicy&&(r.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?r.credentials="include":n.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(n){if(n.ep)return;n.ep=!0;const r=e(n);fetch(n.href,r)}})();const La="modulepreload",Da=function(s){return"/"+s},Ys={},ci=function(t,e,i){let n=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),o=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));n=Promise.allSettled(e.map(h=>{if(h=Da(h),h in Ys)return;Ys[h]=!0;const l=h.endsWith(".css"),c=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${c}`))return;const d=document.createElement("link");if(d.rel=l?"stylesheet":La,l||(d.as="script"),d.crossOrigin="",d.href=h,o&&d.setAttribute("nonce",o),document.head.appendChild(d),l)return new Promise((u,f)=>{d.addEventListener("load",u),d.addEventListener("error",()=>f(new Error(`Unable to preload CSS for ${h}`)))})}))}function r(a){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=a,window.dispatchEvent(o),!o.defaultPrevented)throw a}return n.then(a=>{for(const o of a||[])o.status==="rejected"&&r(o.reason);return t().catch(r)})};var P=(s=>(s.Application="application",s.WebGLPipes="webgl-pipes",s.WebGLPipesAdaptor="webgl-pipes-adaptor",s.WebGLSystem="webgl-system",s.WebGPUPipes="webgpu-pipes",s.WebGPUPipesAdaptor="webgpu-pipes-adaptor",s.WebGPUSystem="webgpu-system",s.CanvasSystem="canvas-system",s.CanvasPipesAdaptor="canvas-pipes-adaptor",s.CanvasPipes="canvas-pipes",s.Asset="asset",s.LoadParser="load-parser",s.ResolveParser="resolve-parser",s.CacheParser="cache-parser",s.DetectionParser="detection-parser",s.MaskEffect="mask-effect",s.BlendMode="blend-mode",s.TextureSource="texture-source",s.Environment="environment",s.ShapeBuilder="shape-builder",s.Batcher="batcher",s))(P||{});const Zi=s=>{if(typeof s=="function"||typeof s=="object"&&s.extension){if(!s.extension)throw new Error("Extension class must have an extension object");s={...typeof s.extension!="object"?{type:s.extension}:s.extension,ref:s}}if(typeof s=="object")s={...s};else throw new Error("Invalid extension type");return typeof s.type=="string"&&(s.type=[s.type]),s},je=(s,t)=>Zi(s).priority??t,ht={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...s){return s.map(Zi).forEach(t=>{t.type.forEach(e=>{var i,n;return(n=(i=this._removeHandlers)[e])==null?void 0:n.call(i,t)})}),this},add(...s){return s.map(Zi).forEach(t=>{t.type.forEach(e=>{var r,a;const i=this._addHandlers,n=this._queue;i[e]?(a=i[e])==null||a.call(i,t):(n[e]=n[e]||[],(r=n[e])==null||r.push(t))})}),this},handle(s,t,e){var a;const i=this._addHandlers,n=this._removeHandlers;if(i[s]||n[s])throw new Error(`Extension type ${s} already has a handler`);i[s]=t,n[s]=e;const r=this._queue;return r[s]&&((a=r[s])==null||a.forEach(o=>t(o)),delete r[s]),this},handleByMap(s,t){return this.handle(s,e=>{e.name&&(t[e.name]=e.ref)},e=>{e.name&&delete t[e.name]})},handleByNamedList(s,t,e=-1){return this.handle(s,i=>{t.findIndex(r=>r.name===i.name)>=0||(t.push({name:i.name,value:i.ref}),t.sort((r,a)=>je(a.value,e)-je(r.value,e)))},i=>{const n=t.findIndex(r=>r.name===i.name);n!==-1&&t.splice(n,1)})},handleByList(s,t,e=-1){return this.handle(s,i=>{t.includes(i.ref)||(t.push(i.ref),t.sort((n,r)=>je(r,e)-je(n,e)))},i=>{const n=t.indexOf(i.ref);n!==-1&&t.splice(n,1)})}},za={extension:{type:P.Environment,name:"browser",priority:-1},test:()=>!0,load:async()=>{await ci(()=>import("./browserAll-C3vN8kSD.js"),__vite__mapDeps([0,1,2]))}},Ua={extension:{type:P.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await ci(()=>import("./webworkerAll-C8kqtn2i.js"),__vite__mapDeps([1,2]))}};class ct{constructor(t,e,i){this._x=e||0,this._y=i||0,this._observer=t}clone(t){return new ct(t??this._observer,this._x,this._y)}set(t=0,e=t){return(this._x!==t||this._y!==e)&&(this._x=t,this._y=e,this._observer._onUpdate(this)),this}copyFrom(t){return(this._x!==t.x||this._y!==t.y)&&(this._x=t.x,this._y=t.y,this._observer._onUpdate(this)),this}copyTo(t){return t.set(this._x,this._y),t}equals(t){return t.x===this._x&&t.y===this._y}toString(){return`[pixi.js/math:ObservablePoint x=0 y=0 scope=${this._observer}]`}get x(){return this._x}set x(t){this._x!==t&&(this._x=t,this._observer._onUpdate(this))}get y(){return this._y}set y(t){this._y!==t&&(this._y=t,this._observer._onUpdate(this))}}function bs(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Qn={exports:{}};(function(s){var t=Object.prototype.hasOwnProperty,e="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(e=!1));function n(h,l,c){this.fn=h,this.context=l,this.once=c||!1}function r(h,l,c,d,u){if(typeof c!="function")throw new TypeError("The listener must be a function");var f=new n(c,d||h,u),m=e?e+l:l;return h._events[m]?h._events[m].fn?h._events[m]=[h._events[m],f]:h._events[m].push(f):(h._events[m]=f,h._eventsCount++),h}function a(h,l){--h._eventsCount===0?h._events=new i:delete h._events[l]}function o(){this._events=new i,this._eventsCount=0}o.prototype.eventNames=function(){var l=[],c,d;if(this._eventsCount===0)return l;for(d in c=this._events)t.call(c,d)&&l.push(e?d.slice(1):d);return Object.getOwnPropertySymbols?l.concat(Object.getOwnPropertySymbols(c)):l},o.prototype.listeners=function(l){var c=e?e+l:l,d=this._events[c];if(!d)return[];if(d.fn)return[d.fn];for(var u=0,f=d.length,m=new Array(f);uqt[s],uY:s=>Kt[s],vX:s=>Zt[s],vY:s=>Qt[s],inv:s=>s&8?s&15:-s&7,add:(s,t)=>Qi[s][t],sub:(s,t)=>Qi[s][Y.inv(t)],rotate180:s=>s^4,isVertical:s=>(s&3)===2,byDirection:(s,t)=>Math.abs(s)*2<=Math.abs(t)?t>=0?Y.S:Y.N:Math.abs(t)*2<=Math.abs(s)?s>0?Y.E:Y.W:t>0?s>0?Y.SE:Y.SW:s>0?Y.NE:Y.NW,matrixAppendRotationInv:(s,t,e=0,i=0)=>{const n=Jn[Y.inv(t)];n.tx=e,n.ty=i,s.append(n)}},Ke=[new ot,new ot,new ot,new ot];class z{constructor(t=0,e=0,i=0,n=0){this.type="rectangle",this.x=Number(t),this.y=Number(e),this.width=Number(i),this.height=Number(n)}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new z(0,0,0,0)}clone(){return new z(this.x,this.y,this.width,this.height)}copyFromBounds(t){return this.x=t.minX,this.y=t.minY,this.width=t.maxX-t.minX,this.height=t.maxY-t.minY,this}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){return this.width<=0||this.height<=0?!1:t>=this.x&&t=this.y&&e=h&&t<=l&&e>=c&&e<=d&&!(t>u&&tm&&et.right?t.right:this.right)<=k)return!1;const C=this.yt.bottom?t.bottom:this.bottom)>C}const i=this.left,n=this.right,r=this.top,a=this.bottom;if(n<=i||a<=r)return!1;const o=Ke[0].set(t.left,t.top),h=Ke[1].set(t.left,t.bottom),l=Ke[2].set(t.right,t.top),c=Ke[3].set(t.right,t.bottom);if(l.x<=o.x||h.y<=o.y)return!1;const d=Math.sign(e.a*e.d-e.b*e.c);if(d===0||(e.apply(o,o),e.apply(h,h),e.apply(l,l),e.apply(c,c),Math.max(o.x,h.x,l.x,c.x)<=i||Math.min(o.x,h.x,l.x,c.x)>=n||Math.max(o.y,h.y,l.y,c.y)<=r||Math.min(o.y,h.y,l.y,c.y)>=a))return!1;const u=d*(h.y-o.y),f=d*(o.x-h.x),m=u*i+f*r,y=u*n+f*r,x=u*i+f*a,_=u*n+f*a;if(Math.max(m,y,x,_)<=u*o.x+f*o.y||Math.min(m,y,x,_)>=u*c.x+f*c.y)return!1;const w=d*(o.y-l.y),b=d*(l.x-o.x),S=w*i+b*r,T=w*n+b*r,E=w*i+b*a,M=w*n+b*a;return!(Math.max(S,T,E,M)<=w*o.x+b*o.y||Math.min(S,T,E,M)>=w*c.x+b*c.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this}fit(t){const e=Math.max(this.x,t.x),i=Math.min(this.x+this.width,t.x+t.width),n=Math.max(this.y,t.y),r=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(i-e,0),this.y=n,this.height=Math.max(r-n,0),this}ceil(t=1,e=.001){const i=Math.ceil((this.x+this.width-e)*t)/t,n=Math.ceil((this.y+this.height-e)*t)/t;return this.x=Math.floor((this.x+e)*t)/t,this.y=Math.floor((this.y+e)*t)/t,this.width=i-this.x,this.height=n-this.y,this}enlarge(t){const e=Math.min(this.x,t.x),i=Math.max(this.x+this.width,t.x+t.width),n=Math.min(this.y,t.y),r=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=i-e,this.y=n,this.height=r-n,this}getBounds(t){return t=t||new z,t.copyFrom(this),t}toString(){return`[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}}const Ti={default:-1};function nt(s="default"){return Ti[s]===void 0&&(Ti[s]=-1),++Ti[s]}const js={},O="8.0.0",Ya="8.3.4";function W(s,t,e=3){if(js[t])return;let i=new Error().stack;typeof i>"u"?console.warn("PixiJS Deprecation Warning: ",`${t} +Deprecated since v${s}`):(i=i.split(` +`).splice(e).join(` +`),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t} +Deprecated since v${s}`),console.warn(i),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t} +Deprecated since v${s}`),console.warn(i))),js[t]=!0}const tr=()=>{};function qs(s){return s+=s===0?1:0,--s,s|=s>>>1,s|=s>>>2,s|=s>>>4,s|=s>>>8,s|=s>>>16,s+1}function Ks(s){return!(s&s-1)&&!!s}function ja(s){const t={};for(const e in s)s[e]!==void 0&&(t[e]=s[e]);return t}const Zs=Object.create(null);function qa(s){const t=Zs[s];return t===void 0&&(Zs[s]=nt("resource")),t}const er=class ir extends dt{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=!1,t={...ir.defaultOptions,...t},this.addressMode=t.addressMode,this.addressModeU=t.addressModeU??this.addressModeU,this.addressModeV=t.addressModeV??this.addressModeV,this.addressModeW=t.addressModeW??this.addressModeW,this.scaleMode=t.scaleMode,this.magFilter=t.magFilter??this.magFilter,this.minFilter=t.minFilter??this.minFilter,this.mipmapFilter=t.mipmapFilter??this.mipmapFilter,this.lodMinClamp=t.lodMinClamp,this.lodMaxClamp=t.lodMaxClamp,this.compare=t.compare,this.maxAnisotropy=t.maxAnisotropy??1}set addressMode(t){this.addressModeU=t,this.addressModeV=t,this.addressModeW=t}get addressMode(){return this.addressModeU}set wrapMode(t){W(O,"TextureStyle.wrapMode is now TextureStyle.addressMode"),this.addressMode=t}get wrapMode(){return this.addressMode}set scaleMode(t){this.magFilter=t,this.minFilter=t,this.mipmapFilter=t}get scaleMode(){return this.magFilter}set maxAnisotropy(t){this._maxAnisotropy=Math.min(t,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(){const t=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=qa(t),this._resourceId}destroy(){this.destroyed=!0,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners()}};er.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};let Ka=er;const sr=class nr extends dt{constructor(t={}){super(),this.options=t,this.uid=nt("textureSource"),this._resourceType="textureSource",this._resourceId=nt("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,t={...nr.defaultOptions,...t},this.label=t.label??"",this.resource=t.resource,this.autoGarbageCollect=t.autoGarbageCollect,this._resolution=t.resolution,t.width?this.pixelWidth=t.width*this._resolution:this.pixelWidth=this.resource?this.resourceWidth??1:1,t.height?this.pixelHeight=t.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=t.format,this.dimension=t.dimensions,this.mipLevelCount=t.mipLevelCount,this.autoGenerateMipmaps=t.autoGenerateMipmaps,this.sampleCount=t.sampleCount,this.antialias=t.antialias,this.alphaMode=t.alphaMode,this.style=new Ka(ja(t)),this.destroyed=!1,this._refreshPOT()}get source(){return this}get style(){return this._style}set style(t){var e,i;this.style!==t&&((e=this._style)==null||e.off("change",this._onStyleChange,this),this._style=t,(i=this._style)==null||i.on("change",this._onStyleChange,this),this._onStyleChange())}get addressMode(){return this._style.addressMode}set addressMode(t){this._style.addressMode=t}get repeatMode(){return this._style.addressMode}set repeatMode(t){this._style.addressMode=t}get magFilter(){return this._style.magFilter}set magFilter(t){this._style.magFilter=t}get minFilter(){return this._style.minFilter}set minFilter(t){this._style.minFilter=t}get mipmapFilter(){return this._style.mipmapFilter}set mipmapFilter(t){this._style.mipmapFilter=t}get lodMinClamp(){return this._style.lodMinClamp}set lodMinClamp(t){this._style.lodMinClamp=t}get lodMaxClamp(){return this._style.lodMaxClamp}set lodMaxClamp(t){this._style.lodMaxClamp=t}_onStyleChange(){this.emit("styleChange",this)}update(){if(this.resource){const t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))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=nt("resource"),this.emit("change",this),this.emit("unload",this)}get resourceWidth(){const{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){const{resource:t}=this;return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}get resolution(){return this._resolution}set resolution(t){this._resolution!==t&&(this._resolution=t,this.width=this.pixelWidth/t,this.height=this.pixelHeight/t)}resize(t,e,i){i=i||this._resolution,t=t||this.width,e=e||this.height;const n=Math.round(t*i),r=Math.round(e*i);return this.width=n/i,this.height=r/i,this._resolution=i,this.pixelWidth===n&&this.pixelHeight===r?!1:(this._refreshPOT(),this.pixelWidth=n,this.pixelHeight=r,this.emit("resize",this),this._resourceId=nt("resource"),this.emit("change",this),!0)}updateMipmaps(){this.autoGenerateMipmaps&&this.mipLevelCount>1&&this.emit("updateMipmaps",this)}set wrapMode(t){this._style.wrapMode=t}get wrapMode(){return this._style.wrapMode}set scaleMode(t){this._style.scaleMode=t}get scaleMode(){return this._style.scaleMode}_refreshPOT(){this.isPowerOfTwo=Ks(this.pixelWidth)&&Ks(this.pixelHeight)}static test(t){throw new Error("Unimplemented")}};sr.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:!1,sampleCount:1,antialias:!1,autoGarbageCollect:!1};let Lt=sr;class Ss extends Lt{constructor(t){const e=t.resource||new Float32Array(t.width*t.height*4);let i=t.format;i||(e instanceof Float32Array?i="rgba32float":e instanceof Int32Array||e instanceof Uint32Array?i="rgba32uint":e instanceof Int16Array||e instanceof Uint16Array?i="rgba16uint":(e instanceof Int8Array,i="bgra8unorm")),super({...t,resource:e,format:i}),this.uploadMethodId="buffer"}static test(t){return t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Float32Array}}Ss.extension=P.TextureSource;const Qs=new H;class Za{constructor(t,e){this.mapCoord=new H,this.uClampFrame=new Float32Array(4),this.uClampOffset=new Float32Array(2),this._textureID=-1,this._updateID=0,this.clampOffset=0,typeof e>"u"?this.clampMargin=t.width<10?0:.5:this.clampMargin=e,this.isSimple=!1,this.texture=t}get texture(){return this._texture}set texture(t){var e;this.texture!==t&&((e=this._texture)==null||e.removeListener("update",this.update,this),this._texture=t,this._texture.addListener("update",this.update,this),this.update())}multiplyUvs(t,e){e===void 0&&(e=t);const i=this.mapCoord;for(let n=0;nthis.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new z);const t=this._rectangle;return this.minX>this.maxX||this.minY>this.maxY?(t.x=0,t.y=0,t.width=0,t.height=0):t.copyFromBounds(this),t}clear(){return this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=Js,this}set(t,e,i,n){this.minX=t,this.minY=e,this.maxX=i,this.maxY=n}addFrame(t,e,i,n,r){r||(r=this.matrix);const a=r.a,o=r.b,h=r.c,l=r.d,c=r.tx,d=r.ty;let u=this.minX,f=this.minY,m=this.maxX,y=this.maxY,x=a*t+h*e+c,_=o*t+l*e+d;xm&&(m=x),_>y&&(y=_),x=a*i+h*e+c,_=o*i+l*e+d,xm&&(m=x),_>y&&(y=_),x=a*t+h*n+c,_=o*t+l*n+d,xm&&(m=x),_>y&&(y=_),x=a*i+h*n+c,_=o*i+l*n+d,xm&&(m=x),_>y&&(y=_),this.minX=u,this.minY=f,this.maxX=m,this.maxY=y}addRect(t,e){this.addFrame(t.x,t.y,t.x+t.width,t.y+t.height,e)}addBounds(t,e){this.addFrame(t.minX,t.minY,t.maxX,t.maxY,e)}addBoundsMask(t){this.minX=this.minX>t.minX?this.minX:t.minX,this.minY=this.minY>t.minY?this.minY:t.minY,this.maxX=this.maxXthis.maxX?u:this.maxX,this.maxY=f>this.maxY?f:this.maxY,u=a*e+h*r+c,f=o*e+l*r+d,this.minX=uthis.maxX?u:this.maxX,this.maxY=f>this.maxY?f:this.maxY,u=a*n+h*r+c,f=o*n+l*r+d,this.minX=uthis.maxX?u:this.maxX,this.maxY=f>this.maxY?f:this.maxY}fit(t){return this.minXt.right&&(this.maxX=t.right),this.minYt.bottom&&(this.maxY=t.bottom),this}fitBounds(t,e,i,n){return this.minXe&&(this.maxX=e),this.minYn&&(this.maxY=n),this}pad(t,e=t){return this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e,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 Pt(this.minX,this.minY,this.maxX,this.maxY)}scale(t,e=t){return this.minX*=t,this.minY*=e,this.maxX*=t,this.maxY*=e,this}get x(){return this.minX}set x(t){const e=this.maxX-this.minX;this.minX=t,this.maxX=t+e}get y(){return this.minY}set y(t){const e=this.maxY-this.minY;this.minY=t,this.maxY=t+e}get width(){return this.maxX-this.minX}set width(t){this.maxX=this.minX+t}get height(){return this.maxY-this.minY}set height(t){this.maxY=this.minY+t}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(t,e,i,n){let r=this.minX,a=this.minY,o=this.maxX,h=this.maxY;n||(n=this.matrix);const l=n.a,c=n.b,d=n.c,u=n.d,f=n.tx,m=n.ty;for(let y=e;yo?w:o,h=b>h?b:h}this.minX=r,this.minY=a,this.maxX=o,this.maxY=h}containsPoint(t,e){return this.minX<=t&&this.minY<=e&&this.maxX>=t&&this.maxY>=e}toString(){return`[pixi.js:Bounds minX=${this.minX} minY=${this.minY} maxX=${this.maxX} maxY=${this.maxY} width=${this.width} height=${this.height}]`}}var Ja={grad:.9,turn:360,rad:360/(2*Math.PI)},Gt=function(s){return typeof s=="string"?s.length>0:typeof s=="number"},at=function(s,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*s)/e+0},gt=function(s,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),s>e?e:s>t?s:t},rr=function(s){return(s=isFinite(s)?s%360:0)>0?s:s+360},tn=function(s){return{r:gt(s.r,0,255),g:gt(s.g,0,255),b:gt(s.b,0,255),a:gt(s.a)}},Ai=function(s){return{r:at(s.r),g:at(s.g),b:at(s.b),a:at(s.a,3)}},to=/^#([0-9a-f]{3,8})$/i,Ze=function(s){var t=s.toString(16);return t.length<2?"0"+t:t},ar=function(s){var t=s.r,e=s.g,i=s.b,n=s.a,r=Math.max(t,e,i),a=r-Math.min(t,e,i),o=a?r===t?(e-i)/a:r===e?2+(i-t)/a:4+(t-e)/a:0;return{h:60*(o<0?o+6:o),s:r?a/r*100:0,v:r/255*100,a:n}},or=function(s){var t=s.h,e=s.s,i=s.v,n=s.a;t=t/360*6,e/=100,i/=100;var r=Math.floor(t),a=i*(1-e),o=i*(1-(t-r)*e),h=i*(1-(1-t+r)*e),l=r%6;return{r:255*[i,o,a,a,h,i][l],g:255*[h,i,i,o,a,a][l],b:255*[a,a,h,i,i,o][l],a:n}},en=function(s){return{h:rr(s.h),s:gt(s.s,0,100),l:gt(s.l,0,100),a:gt(s.a)}},sn=function(s){return{h:at(s.h),s:at(s.s),l:at(s.l),a:at(s.a,3)}},nn=function(s){return or((e=(t=s).s,{h:t.h,s:(e*=((i=t.l)<50?i:100-i)/100)>0?2*e/(i+e)*100:0,v:i+e,a:t.a}));var t,e,i},Ie=function(s){return{h:(t=ar(s)).h,s:(n=(200-(e=t.s))*(i=t.v)/100)>0&&n<200?e*i/100/(n<=100?n:200-n)*100:0,l:n/2,a:t.a};var t,e,i,n},eo=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,io=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,so=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,no=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Ji={string:[[function(s){var t=to.exec(s);return t?(s=t[1]).length<=4?{r:parseInt(s[0]+s[0],16),g:parseInt(s[1]+s[1],16),b:parseInt(s[2]+s[2],16),a:s.length===4?at(parseInt(s[3]+s[3],16)/255,2):1}:s.length===6||s.length===8?{r:parseInt(s.substr(0,2),16),g:parseInt(s.substr(2,2),16),b:parseInt(s.substr(4,2),16),a:s.length===8?at(parseInt(s.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(s){var t=so.exec(s)||no.exec(s);return t?t[2]!==t[4]||t[4]!==t[6]?null:tn({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(s){var t=eo.exec(s)||io.exec(s);if(!t)return null;var e,i,n=en({h:(e=t[1],i=t[2],i===void 0&&(i="deg"),Number(e)*(Ja[i]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return nn(n)},"hsl"]],object:[[function(s){var t=s.r,e=s.g,i=s.b,n=s.a,r=n===void 0?1:n;return Gt(t)&&Gt(e)&&Gt(i)?tn({r:Number(t),g:Number(e),b:Number(i),a:Number(r)}):null},"rgb"],[function(s){var t=s.h,e=s.s,i=s.l,n=s.a,r=n===void 0?1:n;if(!Gt(t)||!Gt(e)||!Gt(i))return null;var a=en({h:Number(t),s:Number(e),l:Number(i),a:Number(r)});return nn(a)},"hsl"],[function(s){var t=s.h,e=s.s,i=s.v,n=s.a,r=n===void 0?1:n;if(!Gt(t)||!Gt(e)||!Gt(i))return null;var a=function(o){return{h:rr(o.h),s:gt(o.s,0,100),v:gt(o.v,0,100),a:gt(o.a)}}({h:Number(t),s:Number(e),v:Number(i),a:Number(r)});return or(a)},"hsv"]]},rn=function(s,t){for(var e=0;e=.5},s.prototype.toHex=function(){return t=Ai(this.rgba),e=t.r,i=t.g,n=t.b,a=(r=t.a)<1?Ze(at(255*r)):"","#"+Ze(e)+Ze(i)+Ze(n)+a;var t,e,i,n,r,a},s.prototype.toRgb=function(){return Ai(this.rgba)},s.prototype.toRgbString=function(){return t=Ai(this.rgba),e=t.r,i=t.g,n=t.b,(r=t.a)<1?"rgba("+e+", "+i+", "+n+", "+r+")":"rgb("+e+", "+i+", "+n+")";var t,e,i,n,r},s.prototype.toHsl=function(){return sn(Ie(this.rgba))},s.prototype.toHslString=function(){return t=sn(Ie(this.rgba)),e=t.h,i=t.s,n=t.l,(r=t.a)<1?"hsla("+e+", "+i+"%, "+n+"%, "+r+")":"hsl("+e+", "+i+"%, "+n+"%)";var t,e,i,n,r},s.prototype.toHsv=function(){return t=ar(this.rgba),{h:at(t.h),s:at(t.s),v:at(t.v),a:at(t.a,3)};var t},s.prototype.invert=function(){return vt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},s.prototype.saturate=function(t){return t===void 0&&(t=.1),vt(Mi(this.rgba,t))},s.prototype.desaturate=function(t){return t===void 0&&(t=.1),vt(Mi(this.rgba,-t))},s.prototype.grayscale=function(){return vt(Mi(this.rgba,-1))},s.prototype.lighten=function(t){return t===void 0&&(t=.1),vt(an(this.rgba,t))},s.prototype.darken=function(t){return t===void 0&&(t=.1),vt(an(this.rgba,-t))},s.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},s.prototype.alpha=function(t){return typeof t=="number"?vt({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):at(this.rgba.a,3);var e},s.prototype.hue=function(t){var e=Ie(this.rgba);return typeof t=="number"?vt({h:t,s:e.s,l:e.l,a:e.a}):at(e.h)},s.prototype.isEqual=function(t){return this.toHex()===vt(t).toHex()},s}(),vt=function(s){return s instanceof ts?s:new ts(s)},on=[],ao=function(s){s.forEach(function(t){on.indexOf(t)<0&&(t(ts,Ji),on.push(t))})};function oo(s,t){var e={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},i={};for(var n in e)i[e[n]]=n;var r={};s.prototype.toName=function(a){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var o,h,l=i[this.toHex()];if(l)return l;if(a!=null&&a.closest){var c=this.toRgb(),d=1/0,u="black";if(!r.length)for(var f in e)r[f]=new s(e[f]).toRgb();for(var m in e){var y=(o=c,h=r[m],Math.pow(o.r-h.r,2)+Math.pow(o.g-h.g,2)+Math.pow(o.b-h.b,2));yr===e[a]);if(t!==null&&e!==null){const r=Object.keys(t),a=Object.keys(e);return r.length!==a.length?!1:r.every(o=>t[o]===e[o])}return t===e}toRgba(){const[t,e,i,n]=this._components;return{r:t,g:e,b:i,a:n}}toRgb(){const[t,e,i]=this._components;return{r:t,g:e,b:i}}toRgbaString(){const[t,e,i]=this.toUint8RgbArray();return`rgba(${t},${e},${i},${this.alpha})`}toUint8RgbArray(t){const[e,i,n]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t=t||this._arrayRgb,t[0]=Math.round(e*255),t[1]=Math.round(i*255),t[2]=Math.round(n*255),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t=t||this._arrayRgba;const[e,i,n,r]=this._components;return t[0]=e,t[1]=i,t[2]=n,t[3]=r,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t=t||this._arrayRgb;const[e,i,n]=this._components;return t[0]=e,t[1]=i,t[2]=n,t}toNumber(){return this._int}toBgrNumber(){const[t,e,i]=this.toUint8RgbArray();return(i<<16)+(e<<8)+t}toLittleEndianNumber(){const t=this._int;return(t>>16)+(t&65280)+((t&255)<<16)}multiply(t){const[e,i,n,r]=Me._temp.setValue(t)._components;return this._components[0]*=e,this._components[1]*=i,this._components[2]*=n,this._components[3]*=r,this._refreshInt(),this._value=null,this}premultiply(t,e=!0){return e&&(this._components[0]*=t,this._components[1]*=t,this._components[2]*=t),this._components[3]=t,this._refreshInt(),this._value=null,this}toPremultiplied(t,e=!0){if(t===1)return(255<<24)+this._int;if(t===0)return e?0:this._int;let i=this._int>>16&255,n=this._int>>8&255,r=this._int&255;return e&&(i=i*t+.5|0,n=n*t+.5|0,r=r*t+.5|0),(t*255<<24)+(i<<16)+(n<<8)+r}toHex(){const t=this._int.toString(16);return`#${"000000".substring(0,6-t.length)+t}`}toHexa(){const e=Math.round(this._components[3]*255).toString(16);return this.toHex()+"00".substring(0,2-e.length)+e}setAlpha(t){return this._components[3]=this._clamp(t),this}_normalize(t){let e,i,n,r;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){const a=t;e=(a>>16&255)/255,i=(a>>8&255)/255,n=(a&255)/255,r=1}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[e,i,n,r=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[e,i,n,r=255]=t,e/=255,i/=255,n/=255,r/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){const o=Me.HEX_PATTERN.exec(t);o&&(t=`#${o[2]}`)}const a=vt(t);a.isValid()&&({r:e,g:i,b:n,a:r}=a.rgba,e/=255,i/=255,n/=255)}if(e!==void 0)this._components[0]=e,this._components[1]=i,this._components[2]=n,this._components[3]=r,this._refreshInt();else throw new Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);const[t,e,i]=this._components;this._int=(t*255<<16)+(e*255<<8)+(i*255|0)}_clamp(t,e=0,i=1){return typeof t=="number"?Math.min(Math.max(t,e),i):(t.forEach((n,r)=>{t[r]=Math.min(Math.max(n,e),i)}),t)}static isColorLike(t){return typeof t=="number"||typeof t=="string"||t instanceof Number||t instanceof Me||Array.isArray(t)||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Float32Array||t.r!==void 0&&t.g!==void 0&&t.b!==void 0||t.r!==void 0&&t.g!==void 0&&t.b!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0||t.h!==void 0&&t.s!==void 0&&t.l!==void 0&&t.a!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0||t.h!==void 0&&t.s!==void 0&&t.v!==void 0&&t.a!==void 0}};de.shared=new de;de._temp=new de;de.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;let Z=de;const ho={cullArea:null,cullable:!1,cullableChildren:!0};class vs{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e)}prepopulate(t){for(let e=0;e0?e=this._pool[--this._index]:e=new this._classType,(i=e.init)==null||i.call(e,t),e}return(t){var e;(e=t.reset)==null||e.call(t),this._pool[this._index++]=t}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}}class lo{constructor(){this._poolsByClass=new Map}prepopulate(t,e){this.getPool(t).prepopulate(e)}get(t,e){return this.getPool(t).get(e)}return(t){this.getPool(t.constructor).return(t)}getPool(t){return this._poolsByClass.has(t)||this._poolsByClass.set(t,new vs(t)),this._poolsByClass.get(t)}stats(){const t={};return this._poolsByClass.forEach(e=>{const i=t[e._classType.name]?e._classType.name+e._classType.ID:e._classType.name;t[i]={free:e.totalFree,used:e.totalUsed,size:e.totalSize}}),t}}const Rt=new lo;function co(s,t,e){const i=s.length;let n;if(t>=i||e===0)return;e=t+e>i?i-t:e;const r=i-e;for(n=t;n0&&i<=e){for(let a=e-1;a>=s;a--){const o=this.children[a];o&&(n.push(o),o.parent=null)}co(this.children,s,e);const r=this.renderGroup||this.parentRenderGroup;r&&r.removeChildren(n);for(let a=0;a=this.children.length)throw new Error(`getChildAt: Index (${s}) does not exist.`);return this.children[s]},setChildIndex(s,t){if(t<0||t>=this.children.length)throw new Error(`The index ${t} supplied is out of bounds ${this.children.length}`);this.getChildIndex(s),this.addChildAt(s,t)},getChildIndex(s){const t=this.children.indexOf(s);if(t===-1)throw new Error("The supplied Container must be a child of the caller");return t},addChildAt(s,t){this.allowChildren||W(O,"addChildAt: Only Containers will be allowed to add children in v8.0.0");const{children:e}=this;if(t<0||t>e.length)throw new Error(`${s}addChildAt: The index ${t} supplied is out of bounds ${e.length}`);if(s.parent){const n=s.parent.children.indexOf(s);if(s.parent===this&&n===t)return s;n!==-1&&s.parent.children.splice(n,1)}t===e.length?e.push(s):e.splice(t,0,s),s.parent=this,s.didChange=!0,s.didViewUpdate=!1,s._updateFlags=15;const i=this.renderGroup||this.parentRenderGroup;return i&&i.addChild(s),this.sortableChildren&&(this.sortDirty=!0),this.emit("childAdded",s,this,t),s.emit("added",this),s},swapChildren(s,t){if(s===t)return;const e=this.getChildIndex(s),i=this.getChildIndex(t);this.children[e]=t,this.children[i]=s;const n=this.renderGroup||this.parentRenderGroup;n&&(n.structureDidChange=!0),this._didContainerChangeTick++},removeFromParent(){var s;(s=this.parent)==null||s.removeChild(this)},reparentChild(...s){return s.length===1?this.reparentChildAt(s[0],this.children.length):(s.forEach(t=>this.reparentChildAt(t,this.children.length)),s[0])},reparentChildAt(s,t){if(s.parent===this)return this.setChildIndex(s,t),s;const e=s.worldTransform.clone();s.removeFromParent(),this.addChildAt(s,t);const i=this.worldTransform.clone();return i.invert(),e.prepend(i),s.setFromMatrix(e),s}};class hn{constructor(){this.pipe="filter",this.priority=1}destroy(){for(let t=0;t{this.add({test:t.test,maskClass:t})}))}add(t){this._tests.push(t)}getMaskEffect(t){this._initialized||this.init();for(let e=0;ei.priority-n.priority);const e=this.renderGroup||this.parentRenderGroup;e&&(e.structureDidChange=!0),this._updateIsSimple()},removeEffect(s){const t=this.effects.indexOf(s);t!==-1&&(this.effects.splice(t,1),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateIsSimple())},set mask(s){const t=this._maskEffect;(t==null?void 0:t.mask)!==s&&(t&&(this.removeEffect(t),es.returnMaskEffect(t),this._maskEffect=null),s!=null&&(this._maskEffect=es.getMaskEffect(s),this.addEffect(this._maskEffect)))},get mask(){var s;return(s=this._maskEffect)==null?void 0:s.mask},set filters(s){var r;!Array.isArray(s)&&s&&(s=[s]);const t=this._filterEffect||(this._filterEffect=new hn);s=s;const e=(s==null?void 0:s.length)>0,i=((r=t.filters)==null?void 0:r.length)>0,n=e!==i;s=Array.isArray(s)?s.slice(0):s,t.filters=Object.freeze(s),n&&(e?this.addEffect(t):(this.removeEffect(t),t.filters=s??null))},get filters(){var s;return(s=this._filterEffect)==null?void 0:s.filters},set filterArea(s){this._filterEffect||(this._filterEffect=new hn),this._filterEffect.filterArea=s},get filterArea(){var s;return(s=this._filterEffect)==null?void 0:s.filterArea}},go={label:null,get name(){return W(O,"Container.name property has been removed, use Container.label instead"),this.label},set name(s){W(O,"Container.name property has been removed, use Container.label instead"),this.label=s},getChildByName(s,t=!1){return this.getChildByLabel(s,t)},getChildByLabel(s,t=!1){const e=this.children;for(let i=0;i-1&&this.renderGroupChildren.splice(e,1),t.renderGroupParent=null}addChild(t){if(this.structureDidChange=!0,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=!0,this.onChildUpdate(t),t.renderGroup){this.addRenderGroupChild(t.renderGroup);return}t._onRender&&this.addOnRender(t);const e=t.children;for(let i=0;i0}addOnRender(t){this._onRenderContainers.push(t)}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1)}runOnRender(){for(let t=0;tthis.addChild(n)),(i=t.parent)==null||i.addChild(this)}static mixin(t){Object.defineProperties(st.prototype,Object.getOwnPropertyDescriptors(t))}set _didChangeId(t){this._didViewChangeTick=t>>12&4095,this._didContainerChangeTick=t&4095}get _didChangeId(){return this._didContainerChangeTick&4095|(this._didViewChangeTick&4095)<<12}addChild(...t){if(this.allowChildren||W(O,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let n=0;n1){for(let n=0;n-1&&(this._didViewChangeTick++,this.children.splice(i,1),this.renderGroup?this.renderGroup.removeChild(e):this.parentRenderGroup&&this.parentRenderGroup.removeChild(e),e.parent=null,this.emit("childRemoved",e,this,i),e.emit("removed",this)),e}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=!0,this.parentRenderGroup&&this.parentRenderGroup.onChildUpdate(this))}set isRenderGroup(t){!!this.renderGroup!==t&&(t?this.enableRenderGroup():this.disableRenderGroup())}get isRenderGroup(){return!!this.renderGroup}enableRenderGroup(){if(this.renderGroup)return;const t=this.parentRenderGroup;t==null||t.removeChild(this),this.renderGroup=Rt.get(vo,this),this.groupTransform=H.IDENTITY,t==null||t.addChild(this),this._updateIsSimple()}disableRenderGroup(){if(!this.renderGroup)return;const t=this.parentRenderGroup;t==null||t.removeChild(this),Rt.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t==null||t.addChild(this),this._updateIsSimple()}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0}get worldTransform(){return this._worldTransform||(this._worldTransform=new H),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(t){this._position.x=t}get y(){return this._position.y}set y(t){this._position.y=t}get position(){return this._position}set position(t){this._position.copyFrom(t)}get rotation(){return this._rotation}set rotation(t){this._rotation!==t&&(this._rotation=t,this._onUpdate(this._skew))}get angle(){return this.rotation*Na}set angle(t){this.rotation=t*Ha}get pivot(){return this._pivot===Ii&&(this._pivot=new ct(this,0,0)),this._pivot}set pivot(t){this._pivot===Ii&&(this._pivot=new ct(this,0,0)),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t)}get skew(){return this._skew===Gi&&(this._skew=new ct(this,0,0)),this._skew}set skew(t){this._skew===Gi&&(this._skew=new ct(this,0,0)),this._skew.copyFrom(t)}get scale(){return this._scale===Bi&&(this._scale=new ct(this,1,1)),this._scale}set scale(t){this._scale===Bi&&(this._scale=new ct(this,0,0)),typeof t=="number"?this._scale.set(t):this._scale.copyFrom(t)}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){const e=this.getLocalBounds().width;this._setWidth(t,e)}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){const e=this.getLocalBounds().height;this._setHeight(t,e)}getSize(t){t||(t={});const e=this.getLocalBounds();return t.width=Math.abs(this.scale.x*e.width),t.height=Math.abs(this.scale.y*e.height),t}setSize(t,e){const i=this.getLocalBounds();typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,i.width),e!==void 0&&this._setHeight(e,i.height)}_updateSkew(){const t=this._rotation,e=this._skew;this._cx=Math.cos(t+e._y),this._sx=Math.sin(t+e._y),this._cy=-Math.sin(t-e._x),this._sy=Math.cos(t-e._x)}updateTransform(t){return this.position.set(typeof t.x=="number"?t.x:this.position.x,typeof t.y=="number"?t.y:this.position.y),this.scale.set(typeof t.scaleX=="number"?t.scaleX||1:this.scale.x,typeof t.scaleY=="number"?t.scaleY||1:this.scale.y),this.rotation=typeof t.rotation=="number"?t.rotation:this.rotation,this.skew.set(typeof t.skewX=="number"?t.skewX:this.skew.x,typeof t.skewY=="number"?t.skewY:this.skew.y),this.pivot.set(typeof t.pivotX=="number"?t.pivotX:this.pivot.x,typeof t.pivotY=="number"?t.pivotY:this.pivot.y),this}setFromMatrix(t){t.decompose(this)}updateLocalTransform(){const t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;const e=this.localTransform,i=this._scale,n=this._pivot,r=this._position,a=i._x,o=i._y,h=n._x,l=n._y;e.a=this._cx*a,e.b=this._sx*a,e.c=this._cy*o,e.d=this._sy*o,e.tx=r._x-(h*e.a+l*e.c),e.ty=r._y-(h*e.b+l*e.d)}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=cn,this._onUpdate())}get alpha(){return this.localAlpha}set tint(t){const i=Z.shared.setValue(t??16777215).toBgrNumber();i!==this.localColor&&(this.localColor=i,this._updateFlags|=cn,this._onUpdate())}get tint(){const t=this.localColor;return((t&255)<<16)+(t&65280)+(t>>16&255)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=To,this.localBlendMode=t,this._onUpdate())}get blendMode(){return this.localBlendMode}get visible(){return!!(this.localDisplayStatus&2)}set visible(t){const e=t?2:0;(this.localDisplayStatus&2)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=Ei,this.localDisplayStatus^=2,this._onUpdate())}get culled(){return!(this.localDisplayStatus&4)}set culled(t){const e=t?0:4;(this.localDisplayStatus&4)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._updateFlags|=Ei,this.localDisplayStatus^=4,this._onUpdate())}get renderable(){return!!(this.localDisplayStatus&1)}set renderable(t){const e=t?1:0;(this.localDisplayStatus&1)!==e&&(this._updateFlags|=Ei,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=!0),this._onUpdate())}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(t=!1){var n;if(this.destroyed)return;this.destroyed=!0;const e=this.removeChildren(0,this.children.length);if(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 t=="boolean"?t:t==null?void 0:t.children)for(let r=0;r=e.minX&&i<=e.maxX&&n>=e.minY&&n<=e.maxY}destroy(t){super.destroy(t),this._bounds=null}}class V extends mi{constructor(t=D.EMPTY){t instanceof D&&(t={texture:t});const{texture:e=D.EMPTY,anchor:i,roundPixels:n,width:r,height:a,...o}=t;super({label:"Sprite",...o}),this.renderPipeId="sprite",this.batched=!0,this._didSpriteUpdate=!1,this._sourceBounds={minX:0,maxX:1,minY:0,maxY:0},this._sourceBoundsDirty=!0,this._anchor=new ct({_onUpdate:()=>{this.onViewUpdate()}}),i?this.anchor=i:e.defaultAnchor&&(this.anchor=e.defaultAnchor),this.texture=e,this.allowChildren=!1,this.roundPixels=n??!1,r!==void 0&&(this.width=r),a!==void 0&&(this.height=a)}static from(t,e=!1){return t instanceof D?new V(t):new V(D.from(t,e))}set texture(t){t||(t=D.EMPTY);const e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,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 bounds(){return this._boundsDirty&&(this._updateBounds(),this._boundsDirty=!1),this._bounds}get sourceBounds(){return this._sourceBoundsDirty&&(this._updateSourceBounds(),this._sourceBoundsDirty=!1),this._sourceBounds}containsPoint(t){const e=this.sourceBounds;return t.x>=e.maxX&&t.x<=e.minX&&t.y>=e.maxY&&t.y<=e.minY}addBounds(t){const e=this._texture.trim?this.sourceBounds:this.bounds;t.addFrame(e.minX,e.minY,e.maxX,e.maxY)}onViewUpdate(){if(this._didViewChangeTick++,this._didSpriteUpdate=!0,this._sourceBoundsDirty=this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}_updateBounds(){Qa(this._bounds,this._anchor,this._texture,0)}_updateSourceBounds(){const t=this._anchor,e=this._texture,i=this._sourceBounds,{width:n,height:r}=e.orig;i.maxX=-t._x*n,i.minX=i.maxX+n,i.maxY=-t._y*r,i.minY=i.maxY+r}destroy(t=!1){if(super.destroy(t),typeof t=="boolean"?t:t==null?void 0:t.texture){const i=typeof t=="boolean"?t:t==null?void 0:t.textureSource;this._texture.destroy(i)}this._texture=null,this._bounds=null,this._sourceBounds=null,this._anchor=null}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t)}get width(){return Math.abs(this.scale.x)*this._texture.orig.width}set width(t){this._setWidth(t,this._texture.orig.width),this._width=t}get height(){return Math.abs(this.scale.y)*this._texture.orig.height}set height(t){this._setHeight(t,this._texture.orig.height),this._height=t}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this._texture.orig.width,t.height=Math.abs(this.scale.y)*this._texture.orig.height,t}setSize(t,e){typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,this._texture.orig.width),e!==void 0&&this._setHeight(e,this._texture.orig.height)}}const Ao=new Pt;function pr(s,t,e){const i=Ao;s.measurable=!0,hr(s,e,i),t.addBoundsMask(i),s.measurable=!1}function gr(s,t,e){const i=ue.get();s.measurable=!0;const n=Ft.get().identity(),r=mr(s,e,n);cr(s,i,r),s.measurable=!1,t.addBoundsMask(i),Ft.return(n),ue.return(i)}function mr(s,t,e){return s?(s!==t&&(mr(s.parent,t,e),s.updateLocalTransform(),e.append(s.localTransform)),e):(it("Mask bounds, renderable is not inside the root container"),e)}class xr{constructor(t){this.priority=0,this.pipe="alphaMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof V),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=!1}reset(){this.mask.measurable=!0,this.mask=null}addBounds(t,e){pr(this.mask,t,e)}addLocalBounds(t,e){gr(this.mask,t,e)}containsPoint(t,e){const i=this.mask;return e(i,t)}destroy(){this.reset()}static test(t){return t instanceof V}}xr.extension=P.MaskEffect;class yr{constructor(t){this.priority=0,this.pipe="colorMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t}destroy(){}static test(t){return typeof t=="number"}}yr.extension=P.MaskEffect;class _r{constructor(t){this.priority=0,this.pipe="stencilMask",t!=null&&t.mask&&this.init(t.mask)}init(t){this.mask=t,this.mask.includeInBuild=!1,this.mask.measurable=!1}reset(){this.mask.measurable=!0,this.mask.includeInBuild=!0,this.mask=null}addBounds(t,e){pr(this.mask,t,e)}addLocalBounds(t,e){gr(this.mask,t,e)}containsPoint(t,e){const i=this.mask;return e(i,t)}destroy(){this.reset()}static test(t){return t instanceof st}}_r.extension=P.MaskEffect;const Mo={createCanvas:(s,t)=>{const e=document.createElement("canvas");return e.width=s,e.height=t,e},getCanvasRenderingContext2D:()=>CanvasRenderingContext2D,getWebGLRenderingContext:()=>WebGLRenderingContext,getNavigator:()=>navigator,getBaseUrl:()=>document.baseURI??window.location.href,getFontFaceSet:()=>document.fonts,fetch:(s,t)=>fetch(s,t),parseXML:s=>new DOMParser().parseFromString(s,"text/xml")};let dn=Mo;const Q={get(){return dn},set(s){dn=s}};class wr extends Lt{constructor(t){t.resource||(t.resource=Q.get().createCanvas()),t.width||(t.width=t.resource.width,t.autoDensity||(t.width/=t.resolution)),t.height||(t.height=t.resource.height,t.autoDensity||(t.height/=t.resolution)),super(t),this.uploadMethodId="image",this.autoDensity=t.autoDensity;const e=t.resource;(this.pixelWidth!==e.width||this.pixelWidth!==e.height)&&this.resizeCanvas(),this.transparent=!!t.transparent}resizeCanvas(){this.autoDensity&&(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(t=this.width,e=this.height,i=this._resolution){const n=super.resize(t,e,i);return n&&this.resizeCanvas(),n}static test(t){return globalThis.HTMLCanvasElement&&t instanceof HTMLCanvasElement||globalThis.OffscreenCanvas&&t instanceof OffscreenCanvas}get context2D(){return this._context2D||(this._context2D=this.resource.getContext("2d"))}}wr.extension=P.TextureSource;class pe extends Lt{constructor(t){if(t.resource&&globalThis.HTMLImageElement&&t.resource instanceof HTMLImageElement){const e=Q.get().createCanvas(t.resource.width,t.resource.height);e.getContext("2d").drawImage(t.resource,0,0,t.resource.width,t.resource.height),t.resource=e,it("ImageSource: Image element passed, converting to canvas. Use CanvasSource instead.")}super(t),this.uploadMethodId="image",this.autoGarbageCollect=!0}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}}pe.extension=P.TextureSource;var ui=(s=>(s[s.INTERACTION=50]="INTERACTION",s[s.HIGH=25]="HIGH",s[s.NORMAL=0]="NORMAL",s[s.LOW=-25]="LOW",s[s.UTILITY=-50]="UTILITY",s))(ui||{});class Ri{constructor(t,e=null,i=0,n=!1){this.next=null,this.previous=null,this._destroyed=!1,this._fn=t,this._context=e,this.priority=i,this._once=n}match(t,e=null){return this._fn===t&&this._context===e}emit(t){this._fn&&(this._context?this._fn.call(this._context,t):this._fn(t));const e=this.next;return this._once&&this.destroy(!0),this._destroyed&&(this.next=null),e}connect(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this}destroy(t=!1){this._destroyed=!0,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);const e=this.next;return this.next=t?null:e,this.previous=null,e}}const br=class ut{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 Ri(null,null,1/0),this.deltaMS=1/ut.targetFPMS,this.elapsedMS=1/ut.targetFPMS,this._tick=t=>{this._requestId=null,this.started&&(this.update(t),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(t,e,i=ui.NORMAL){return this._addListener(new Ri(t,e,i))}addOnce(t,e,i=ui.NORMAL){return this._addListener(new Ri(t,e,i,!0))}_addListener(t){let e=this._head.next,i=this._head;if(!e)t.connect(i);else{for(;e;){if(t.priority>e.priority){t.connect(i);break}i=e,e=e.next}t.previous||t.connect(i)}return this._startIfPossible(),this}remove(t,e){let i=this._head.next;for(;i;)i.match(t,e)?i=i.destroy():i=i.next;return this._head.next||this._cancelIfNeeded(),this}get count(){if(!this._head)return 0;let t=0,e=this._head;for(;e=e.next;)t++;return t}start(){this.started||(this.started=!0,this._requestIfNeeded())}stop(){this.started&&(this.started=!1,this._cancelIfNeeded())}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}}update(t=performance.now()){let e;if(t>this.lastTime){if(e=this.elapsedMS=t-this.lastTime,e>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){const r=t-this._lastFrame|0;if(r{var a;const t=document.createElement("canvas").getContext("webgl");if(!t)return"premultiply-alpha-on-upload";const e=await new Promise(o=>{const h=document.createElement("video");h.onloadeddata=()=>o(h),h.onerror=()=>o(null),h.autoplay=!1,h.crossOrigin="anonymous",h.preload="auto",h.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",h.load()});if(!e)return"premultiply-alpha-on-upload";const i=t.createTexture();t.bindTexture(t.TEXTURE_2D,i);const n=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,n),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,i,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);const r=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,r),t.deleteFramebuffer(n),t.deleteTexture(i),(a=t.getExtension("WEBGL_lose_context"))==null||a.loseContext(),r[0]<=r[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),Fi}const xi=class vr extends Lt{constructor(t){super(t),this.isReady=!1,this.uploadMethodId="video",t={...vr.defaultOptions,...t},this._autoUpdate=!0,this._isConnectedToTicker=!1,this._updateFPS=t.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=t.autoPlay!==!1,this.alphaMode=t.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),t.autoLoad!==!1&&this.load()}updateFrame(){if(!this.destroyed){if(this._updateFPS){const t=At.shared.elapsedMS*this.resource.playbackRate;this._msToNextUpdate=Math.floor(this._msToNextUpdate-t)}(!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;const t=this.resource,e=this.options;return(t.readyState===t.HAVE_ENOUGH_DATA||t.readyState===t.HAVE_FUTURE_DATA)&&t.width&&t.height&&(t.complete=!0),t.addEventListener("play",this._onPlayStart),t.addEventListener("pause",this._onPlayStop),t.addEventListener("seeked",this._onSeeked),this._isSourceReady()?this._mediaReady():(e.preload||t.addEventListener("canplay",this._onCanPlay),t.addEventListener("canplaythrough",this._onCanPlayThrough),t.addEventListener("error",this._onError,!0)),this.alphaMode=await Sr(),this._load=new Promise((i,n)=>{this.isValid?i(this):(this._resolve=i,this._reject=n,e.preloadTimeoutMs!==void 0&&(this._preloadTimeout=setTimeout(()=>{this._onError(new ErrorEvent(`Preload exceeded timeout of ${e.preloadTimeoutMs}ms`))})),t.load())}),this._load}_onError(t){this.resource.removeEventListener("error",this._onError,!0),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null)}_isSourcePlaying(){const t=this.resource;return!t.paused&&!t.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(){const t=this.resource;this.isValid&&(this.isReady=!0,this.resize(t.videoWidth,t.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();const t=this.resource;t&&(t.removeEventListener("play",this._onPlayStart),t.removeEventListener("pause",this._onPlayStop),t.removeEventListener("seeked",this._onSeeked),t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlayThrough),t.removeEventListener("error",this._onError,!0),t.pause(),t.src="",t.load()),super.destroy()}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,this._configureAutoUpdate())}get updateFPS(){return this._updateFPS}set updateFPS(t){t!==this._updateFPS&&(this._updateFPS=t,this._configureAutoUpdate())}_configureAutoUpdate(){this._autoUpdate&&this._isSourcePlaying()?!this._updateFPS&&this.resource.requestVideoFrameCallback?(this._isConnectedToTicker&&(At.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||(At.shared.add(this.updateFrame,this),this._isConnectedToTicker=!0,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(At.shared.remove(this.updateFrame,this),this._isConnectedToTicker=!1,this._msToNextUpdate=0))}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};xi.extension=P.TextureSource;xi.defaultOptions={...Lt.defaultOptions,autoLoad:!0,autoPlay:!0,updateFPS:0,crossorigin:!0,loop:!1,muted:!0,playsinline:!0,preload:!1};xi.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};let ai=xi;const _t=(s,t,e=!1)=>(Array.isArray(s)||(s=[s]),t?s.map(i=>typeof i=="string"||e?t(i):i):s);class Po{constructor(){this._parsers=[],this._cache=new Map,this._cacheMap=new Map}reset(){this._cacheMap.clear(),this._cache.clear()}has(t){return this._cache.has(t)}get(t){const e=this._cache.get(t);return e||it(`[Assets] Asset id ${t} was not found in the Cache`),e}set(t,e){const i=_t(t);let n;for(let h=0;h{r.set(h,e)});const a=[...r.keys()],o={cacheKeys:a,keys:i};i.forEach(h=>{this._cacheMap.set(h,o)}),a.forEach(h=>{const l=n?n[h]:e;this._cache.has(h)&&this._cache.get(h)!==l&&it("[Cache] already has key:",h),this._cache.set(h,r.get(h))})}remove(t){if(!this._cacheMap.has(t)){it(`[Assets] Asset id ${t} was not found in the Cache`);return}const e=this._cacheMap.get(t);e.cacheKeys.forEach(n=>{this._cache.delete(n)}),e.keys.forEach(n=>{this._cacheMap.delete(n)})}get parsers(){return this._parsers}}const j=new Po,is=[];ht.handleByList(P.TextureSource,is);function Cr(s={}){const t=s&&s.resource,e=t?s.resource:s,i=t?s:{resource:s};for(let n=0;n{j.has(i)&&j.remove(i)}),t||j.set(i,r),r}function Go(s,t=!1){return typeof s=="string"?j.get(s):s instanceof Lt?new D({source:s}):ko(s,t)}D.from=Go;Lt.from=Cr;ht.add(xr,yr,_r,ai,pe,wr,Ss);var Nt=(s=>(s[s.Low=0]="Low",s[s.Normal=1]="Normal",s[s.High=2]="High",s))(Nt||{});function yt(s){if(typeof s!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(s)}`)}function Se(s){return s.split("?")[0].split("#")[0]}function Io(s){return s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Bo(s,t,e){return s.replace(new RegExp(Io(t),"g"),e)}function Eo(s,t){let e="",i=0,n=-1,r=0,a=-1;for(let o=0;o<=s.length;++o){if(o2){const h=e.lastIndexOf("/");if(h!==e.length-1){h===-1?(e="",i=0):(e=e.slice(0,h),i=e.length-1-e.lastIndexOf("/")),n=o,r=0;continue}}else if(e.length===2||e.length===1){e="",i=0,n=o,r=0;continue}}}else e.length>0?e+=`/${s.slice(n+1,o)}`:e=s.slice(n+1,o),i=o-n-1;n=o,r=0}else a===46&&r!==-1?++r:r=-1}return e}const ft={toPosix(s){return Bo(s,"\\","/")},isUrl(s){return/^https?:/.test(this.toPosix(s))},isDataUrl(s){return/^data:([a-z]+\/[a-z0-9-+.]+(;[a-z0-9-.!#$%*+.{}|~`]+=[a-z0-9-.!#$%*+.{}()_|~`]+)*)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s<>]*?)$/i.test(s)},isBlobUrl(s){return s.startsWith("blob:")},hasProtocol(s){return/^[^/:]+:/.test(this.toPosix(s))},getProtocol(s){yt(s),s=this.toPosix(s);const t=/^file:\/\/\//.exec(s);if(t)return t[0];const e=/^[^/:]+:\/{0,2}/.exec(s);return e?e[0]:""},toAbsolute(s,t,e){if(yt(s),this.isDataUrl(s)||this.isBlobUrl(s))return s;const i=Se(this.toPosix(t??Q.get().getBaseUrl())),n=Se(this.toPosix(e??this.rootname(i)));return s=this.toPosix(s),s.startsWith("/")?ft.join(n,s.slice(1)):this.isAbsolute(s)?s:this.join(i,s)},normalize(s){if(yt(s),s.length===0)return".";if(this.isDataUrl(s)||this.isBlobUrl(s))return s;s=this.toPosix(s);let t="";const e=s.startsWith("/");this.hasProtocol(s)&&(t=this.rootname(s),s=s.slice(t.length));const i=s.endsWith("/");return s=Eo(s),s.length>0&&i&&(s+="/"),e?`/${s}`:t+s},isAbsolute(s){return yt(s),s=this.toPosix(s),this.hasProtocol(s)?!0:s.startsWith("/")},join(...s){if(s.length===0)return".";let t;for(let e=0;e0)if(t===void 0)t=i;else{const n=s[e-1]??"";this.joinExtensions.includes(this.extname(n).toLowerCase())?t+=`/../${i}`:t+=`/${i}`}}return t===void 0?".":this.normalize(t)},dirname(s){if(yt(s),s.length===0)return".";s=this.toPosix(s);let t=s.charCodeAt(0);const e=t===47;let i=-1,n=!0;const r=this.getProtocol(s),a=s;s=s.slice(r.length);for(let o=s.length-1;o>=1;--o)if(t=s.charCodeAt(o),t===47){if(!n){i=o;break}}else n=!1;return i===-1?e?"/":this.isUrl(a)?r+s:r:e&&i===1?"//":r+s.slice(0,i)},rootname(s){yt(s),s=this.toPosix(s);let t="";if(s.startsWith("/")?t="/":t=this.getProtocol(s),this.isUrl(s)){const e=s.indexOf("/",t.length);e!==-1?t=s.slice(0,e):t=s,t.endsWith("/")||(t+="/")}return t},basename(s,t){yt(s),t&&yt(t),s=Se(this.toPosix(s));let e=0,i=-1,n=!0,r;if(t!==void 0&&t.length>0&&t.length<=s.length){if(t.length===s.length&&t===s)return"";let a=t.length-1,o=-1;for(r=s.length-1;r>=0;--r){const h=s.charCodeAt(r);if(h===47){if(!n){e=r+1;break}}else o===-1&&(n=!1,o=r+1),a>=0&&(h===t.charCodeAt(a)?--a===-1&&(i=r):(a=-1,i=o))}return e===i?i=o:i===-1&&(i=s.length),s.slice(e,i)}for(r=s.length-1;r>=0;--r)if(s.charCodeAt(r)===47){if(!n){e=r+1;break}}else i===-1&&(n=!1,i=r+1);return i===-1?"":s.slice(e,i)},extname(s){yt(s),s=Se(this.toPosix(s));let t=-1,e=0,i=-1,n=!0,r=0;for(let a=s.length-1;a>=0;--a){const o=s.charCodeAt(a);if(o===47){if(!n){e=a+1;break}continue}i===-1&&(n=!1,i=a+1),o===46?t===-1?t=a:r!==1&&(r=1):t!==-1&&(r=-1)}return t===-1||i===-1||r===0||r===1&&t===i-1&&t===e+1?"":s.slice(t,i)},parse(s){yt(s);const t={root:"",dir:"",base:"",ext:"",name:""};if(s.length===0)return t;s=Se(this.toPosix(s));let e=s.charCodeAt(0);const i=this.isAbsolute(s);let n;t.root=this.rootname(s),i||this.hasProtocol(s)?n=1:n=0;let r=-1,a=0,o=-1,h=!0,l=s.length-1,c=0;for(;l>=n;--l){if(e=s.charCodeAt(l),e===47){if(!h){a=l+1;break}continue}o===-1&&(h=!1,o=l+1),e===46?r===-1?r=l:c!==1&&(c=1):r!==-1&&(c=-1)}return r===-1||o===-1||c===0||c===1&&r===o-1&&r===a+1?o!==-1&&(a===0&&i?t.base=t.name=s.slice(1,o):t.base=t.name=s.slice(a,o)):(a===0&&i?(t.name=s.slice(1,r),t.base=s.slice(1,o)):(t.name=s.slice(a,r),t.base=s.slice(a,o)),t.ext=s.slice(r,o)),t.dir=this.dirname(s),t},sep:"/",delimiter:":",joinExtensions:[".html"]};function Tr(s,t,e,i,n){const r=t[e];for(let a=0;a{const a=r.substring(1,r.length-1).split(",");n.push(a)}),Tr(s,n,0,e,i)}else i.push(s);return i}const fi=s=>!Array.isArray(s);class ge{constructor(){this._defaultBundleIdentifierOptions={connector:"-",createBundleAssetId:(t,e)=>`${t}${this._bundleIdConnector}${e}`,extractAssetIdFromBundle:(t,e)=>e.replace(`${t}${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(t){if(this._bundleIdConnector=t.connector??this._bundleIdConnector,this._createBundleAssetId=t.createBundleAssetId??this._createBundleAssetId,this._extractAssetIdFromBundle=t.extractAssetIdFromBundle??this._extractAssetIdFromBundle,this._extractAssetIdFromBundle("foo",this._createBundleAssetId("foo","bar"))!=="bar")throw new Error("[Resolver] GenerateBundleAssetId are not working correctly")}prefer(...t){t.forEach(e=>{this._preferredOrder.push(e),e.priority||(e.priority=Object.keys(e.params))}),this._resolverHash={}}set basePath(t){this._basePath=t}get basePath(){return this._basePath}set rootPath(t){this._rootPath=t}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(t){if(typeof t=="string")this._defaultSearchParams=t;else{const e=t;this._defaultSearchParams=Object.keys(e).map(i=>`${encodeURIComponent(i)}=${encodeURIComponent(e[i])}`).join("&")}}getAlias(t){const{alias:e,src:i}=t;return _t(e||i,r=>typeof r=="string"?r:Array.isArray(r)?r.map(a=>(a==null?void 0:a.src)??a):r!=null&&r.src?r.src:r,!0)}addManifest(t){this._manifest&&it("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(e=>{this.addBundle(e.name,e.assets)})}addBundle(t,e){const i=[];let n=e;Array.isArray(e)||(n=Object.entries(e).map(([r,a])=>typeof a=="string"||Array.isArray(a)?{alias:r,src:a}:{alias:r,...a})),n.forEach(r=>{const a=r.src,o=r.alias;let h;if(typeof o=="string"){const l=this._createBundleAssetId(t,o);i.push(l),h=[o,l]}else{const l=o.map(c=>this._createBundleAssetId(t,c));i.push(...l),h=[...o,...l]}this.add({...r,alias:h,src:a})}),this._bundles[t]=i}add(t){const e=[];Array.isArray(t)?e.push(...t):e.push(t);let i;i=r=>{this.hasKey(r)&&it(`[Resolver] already has key: ${r} overwriting`)},_t(e).forEach(r=>{const{src:a}=r;let{data:o,format:h,loadParser:l}=r;const c=_t(a).map(f=>typeof f=="string"?Ro(f):Array.isArray(f)?f:[f]),d=this.getAlias(r);Array.isArray(d)?d.forEach(i):i(d);const u=[];c.forEach(f=>{f.forEach(m=>{let y={};if(typeof m!="object"){y.src=m;for(let x=0;x{this._assetMap[f]=u})})}resolveBundle(t){const e=fi(t);t=_t(t);const i={};return t.forEach(n=>{const r=this._bundles[n];if(r){const a=this.resolve(r),o={};for(const h in a){const l=a[h];o[this._extractAssetIdFromBundle(n,h)]=l}i[n]=o}}),e?i[t[0]]:i}resolveUrl(t){const e=this.resolve(t);if(typeof t!="string"){const i={};for(const n in e)i[n]=e[n].src;return i}return e.src}resolve(t){const e=fi(t);t=_t(t);const i={};return t.forEach(n=>{if(!this._resolverHash[n])if(this._assetMap[n]){let r=this._assetMap[n];const a=this._getPreferredOrder(r);a==null||a.priority.forEach(o=>{a.params[o].forEach(h=>{const l=r.filter(c=>c[o]?c[o]===h:!1);l.length&&(r=l)})}),this._resolverHash[n]=r[0]}else this._resolverHash[n]=this._buildResolvedAsset({alias:[n],src:n},{});i[n]=this._resolverHash[n]}),e?i[t[0]]:i}hasKey(t){return!!this._assetMap[t]}hasBundle(t){return!!this._bundles[t]}_getPreferredOrder(t){for(let e=0;er.params.format.includes(i.format));if(n)return n}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;const e=/\?/.test(t)?"&":"?";return`${t}${e}${this._defaultSearchParams}`}_buildResolvedAsset(t,e){const{aliases:i,data:n,loadParser:r,format:a}=e;return(this._basePath||this._rootPath)&&(t.src=ft.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=i??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...n||{},...t.data},t.loadParser=r??t.loadParser,t.format=a??t.format??Fo(t.src),t}}ge.RETINA_PREFIX=/@([0-9\.]+)x/;function Fo(s){return s.split(".").pop().split("?").shift().split("#").shift()}const ss=(s,t)=>{const e=t.split("?")[1];return e&&(s+=`?${e}`),s},Ar=class Pe{constructor(t,e){this.linkedSheets=[],this._texture=t instanceof D?t:null,this.textureSource=t.source,this.textures={},this.animations={},this.data=e;const i=parseFloat(e.meta.scale);i?(this.resolution=i,t.source.resolution=this.resolution):this.resolution=t.source._resolution,this._frames=this.data.frames,this._frameKeys=Object.keys(this._frames),this._batchIndex=0,this._callback=null}parse(){return new Promise(t=>{this._callback=t,this._batchIndex=0,this._frameKeys.length<=Pe.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch()})}_processFrames(t){let e=t;const i=Pe.BATCH_SIZE;for(;e-t{this._batchIndex*Pe.BATCH_SIZE{i[n]=t}),Object.keys(t.textures).forEach(n=>{i[n]=t.textures[n]}),!e){const n=ft.dirname(s[0]);t.linkedSheets.forEach((r,a)=>{const o=Mr([`${n}/${t.data.meta.related_multi_packs[a]}`],r,!0);Object.assign(i,o)})}return i}const Do={extension:P.Asset,cache:{test:s=>s instanceof un,getCacheableAssets:(s,t)=>Mr(s,t,!1)},resolver:{extension:{type:P.ResolveParser,name:"resolveSpritesheet"},test:s=>{const e=s.split("?")[0].split("."),i=e.pop(),n=e.pop();return i==="json"&&Lo.includes(n)},parse:s=>{var e;const t=s.split(".");return{resolution:parseFloat(((e=ge.RETINA_PREFIX.exec(s))==null?void 0:e[1])??"1"),format:t[t.length-2],src:s}}},loader:{name:"spritesheetLoader",extension:{type:P.LoadParser,priority:Nt.Normal,name:"spritesheetLoader"},async testParse(s,t){return ft.extname(t.src).toLowerCase()===".json"&&!!s.frames},async parse(s,t,e){var l,c;const{texture:i,imageFilename:n}=(t==null?void 0:t.data)??{};let r=ft.dirname(t.src);r&&r.lastIndexOf("/")!==r.length-1&&(r+="/");let a;if(i instanceof D)a=i;else{const d=ss(r+(n??s.meta.image),t.src);a=(await e.load([d]))[d]}const o=new un(a.source,s);await o.parse();const h=(l=s==null?void 0:s.meta)==null?void 0:l.related_multi_packs;if(Array.isArray(h)){const d=[];for(const f of h){if(typeof f!="string")continue;let m=r+f;(c=t.data)!=null&&c.ignoreMultiPack||(m=ss(m,t.src),d.push(e.load({src:m,data:{ignoreMultiPack:!0}})))}const u=await Promise.all(d);o.linkedSheets=u,u.forEach(f=>{f.linkedSheets=[o].concat(o.linkedSheets.filter(m=>m!==f))})}return o},async unload(s,t,e){await e.unload(s.textureSource._sourceOrigin),s.destroy(!1)}}};ht.add(Do);const Li=Object.create(null),fn=Object.create(null);function Cs(s,t){let e=fn[s];return e===void 0&&(Li[t]===void 0&&(Li[t]=1),fn[s]=e=Li[t]++),e}let ne;function Pr(){return(!ne||ne!=null&&ne.isContextLost())&&(ne=Q.get().createCanvas().getContext("webgl",{})),ne}let Qe;function zo(){if(!Qe){Qe="mediump";const s=Pr();s&&s.getShaderPrecisionFormat&&(Qe=s.getShaderPrecisionFormat(s.FRAGMENT_SHADER,s.HIGH_FLOAT).precision?"highp":"mediump")}return Qe}function Uo(s,t,e){return t?s:e?(s=s.replace("out vec4 finalColor;",""),` + + #ifdef GL_ES // This checks if it is WebGL1 + #define in varying + #define finalColor gl_FragColor + #define texture texture2D + #endif + ${s} + `):` + + #ifdef GL_ES // This checks if it is WebGL1 + #define in attribute + #define out varying + #endif + ${s} + `}function Wo(s,t,e){const i=e?t.maxSupportedFragmentPrecision:t.maxSupportedVertexPrecision;if(s.substring(0,9)!=="precision"){let n=e?t.requestedFragmentPrecision:t.requestedVertexPrecision;return n==="highp"&&i!=="highp"&&(n="mediump"),`precision ${n} float; +${s}`}else if(i!=="highp"&&s.substring(0,15)==="precision highp")return s.replace("precision highp","precision mediump");return s}function Oo(s,t){return t?`#version 300 es +${s}`:s}const No={},Ho={};function $o(s,{name:t="pixi-program"},e=!0){t=t.replace(/\s+/g,"-"),t+=e?"-fragment":"-vertex";const i=e?No:Ho;return i[t]?(i[t]++,t+=`-${i[t]}`):i[t]=1,s.indexOf("#define SHADER_NAME")!==-1?s:`${`#define SHADER_NAME ${t}`} +${s}`}function Vo(s,t){return t?s.replace("#version 300 es",""):s}const Di={stripVersion:Vo,ensurePrecision:Wo,addProgramDefines:Uo,setProgramName:$o,insertVersion:Oo},zi=Object.create(null),kr=class ns{constructor(t){t={...ns.defaultOptions,...t};const e=t.fragment.indexOf("#version 300 es")!==-1,i={stripVersion:e,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:zo()},setProgramName:{name:t.name},addProgramDefines:e,insertVersion:e};let n=t.fragment,r=t.vertex;Object.keys(Di).forEach(a=>{const o=i[a];n=Di[a](n,o,!0),r=Di[a](r,o,!1)}),this.fragment=n,this.vertex=r,this._key=Cs(`${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(t){const e=`${t.vertex}:${t.fragment}`;return zi[e]||(zi[e]=new ns(t)),zi[e]}};kr.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};let Gr=kr;const pn={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 Xo(s){return pn[s]??pn.float32}const Yo={f32:"float32","vec2":"float32x2","vec3":"float32x3","vec4":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2":"sint32x2","vec3":"sint32x3","vec4":"sint32x4",u32:"uint32","vec2":"uint32x2","vec3":"uint32x3","vec4":"uint32x4",bool:"uint32","vec2":"uint32x2","vec3":"uint32x3","vec4":"uint32x4"};function jo({source:s,entryPoint:t}){const e={},i=s.indexOf(`fn ${t}`);if(i!==-1){const n=s.indexOf("->",i);if(n!==-1){const r=s.substring(i,n),a=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|$)/g;let o;for(;(o=a.exec(r))!==null;){const h=Yo[o[3]]??"float32";e[o[2]]={location:parseInt(o[1],10),format:h,stride:Xo(h).stride,offset:0,instance:!1,start:0}}}}return e}function Ui(s){var d,u;const t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,e=/@group\((\d+)\)/,i=/@binding\((\d+)\)/,n=/var(<[^>]+>)? (\w+)/,r=/:\s*(\w+)/,a=/struct\s+(\w+)\s*{([^}]+)}/g,o=/(\w+)\s*:\s*([\w\<\>]+)/g,h=/struct\s+(\w+)/,l=(d=s.match(t))==null?void 0:d.map(f=>({group:parseInt(f.match(e)[1],10),binding:parseInt(f.match(i)[1],10),name:f.match(n)[2],isUniform:f.match(n)[1]==="",type:f.match(r)[1]}));if(!l)return{groups:[],structs:[]};const c=((u=s.match(a))==null?void 0:u.map(f=>{const m=f.match(h)[1],y=f.match(o).reduce((x,_)=>{const[w,b]=_.split(":");return x[w.trim()]=b.trim(),x},{});return y?{name:m,members:y}:null}).filter(({name:f})=>l.some(m=>m.type===f)))??[];return{groups:l,structs:c}}var ke=(s=>(s[s.VERTEX=1]="VERTEX",s[s.FRAGMENT=2]="FRAGMENT",s[s.COMPUTE=4]="COMPUTE",s))(ke||{});function qo({groups:s}){const t=[];for(let e=0;ee.has(a.name)?!1:(e.add(a.name),!0)),r=[...s.groups,...t.groups].filter(a=>{const o=`${a.name}-${a.binding}`;return i.has(o)?!1:(i.add(o),!0)});return{structs:n,groups:r}}const Wi=Object.create(null);class yi{constructor(t){var o,h;this._layoutKey=0,this._attributeLocationsKey=0;const{fragment:e,vertex:i,layout:n,gpuLayout:r,name:a}=t;if(this.name=a,this.fragment=e,this.vertex=i,e.source===i.source){const l=Ui(e.source);this.structsAndGroups=l}else{const l=Ui(i.source),c=Ui(e.source);this.structsAndGroups=Zo(l,c)}this.layout=n??Ko(this.structsAndGroups),this.gpuLayout=r??qo(this.structsAndGroups),this.autoAssignGlobalUniforms=((o=this.layout[0])==null?void 0:o.globalUniforms)!==void 0,this.autoAssignLocalUniforms=((h=this.layout[1])==null?void 0:h.localUniforms)!==void 0,this._generateProgramKey()}_generateProgramKey(){const{vertex:t,fragment:e}=this,i=t.source+e.source+t.entryPoint+e.entryPoint;this._layoutKey=Cs(i,"program")}get attributeData(){return this._attributeData??(this._attributeData=jo(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null}static from(t){const e=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return Wi[e]||(Wi[e]=new yi(t)),Wi[e]}}const Ir=["f32","i32","vec2","vec3","vec4","mat2x2","mat3x3","mat4x4","mat3x2","mat4x2","mat2x3","mat4x3","mat2x4","mat3x4"],Qo=Ir.reduce((s,t)=>(s[t]=!0,s),{});function Jo(s,t){switch(s){case"f32":return 0;case"vec2":return new Float32Array(2*t);case"vec3":return new Float32Array(3*t);case"vec4":return new Float32Array(4*t);case"mat2x2":return new Float32Array([1,0,0,1]);case"mat3x3":return new Float32Array([1,0,0,0,1,0,0,0,1]);case"mat4x4":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}const Br=class Er{constructor(t,e){this._touched=0,this.uid=nt("uniform"),this._resourceType="uniformGroup",this._resourceId=nt("resource"),this.isUniformGroup=!0,this._dirtyId=0,this.destroyed=!1,e={...Er.defaultOptions,...e},this.uniformStructures=t;const i={};for(const n in t){const r=t[n];if(r.name=n,r.size=r.size??1,!Qo[r.type])throw new Error(`Uniform type ${r.type} is not supported. Supported uniform types are: ${Ir.join(", ")}`);r.value??(r.value=Jo(r.type,r.size)),i[n]=r.value}this.uniforms=i,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=Cs(Object.keys(i).map(n=>`${n}-${t[n].type}`).join("-"),"uniform-group")}update(){this._dirtyId++}};Br.defaultOptions={ubo:!1,isStatic:!1};let Rr=Br;class oi{constructor(t){this.resources=Object.create(null),this._dirty=!0;let e=0;for(const i in t){const n=t[i];this.setResource(n,e++)}this._updateKey()}_updateKey(){if(!this._dirty)return;this._dirty=!1;const t=[];let e=0;for(const i in this.resources)t[e++]=this.resources[i]._resourceId;this._key=t.join("|")}setResource(t,e){var n,r;const i=this.resources[e];t!==i&&(i&&((n=t.off)==null||n.call(t,"change",this.onResourceChange,this)),(r=t.on)==null||r.call(t,"change",this.onResourceChange,this),this.resources[e]=t,this._dirty=!0)}getResource(t){return this.resources[t]}_touch(t){const e=this.resources;for(const i in e)e[i]._touched=t}destroy(){var e;const t=this.resources;for(const i in t){const n=t[i];(e=n.off)==null||e.call(n,"change",this.onResourceChange,this)}this.resources=null}onResourceChange(t){if(this._dirty=!0,t.destroyed){const e=this.resources;for(const i in e)e[i]===t&&(e[i]=null)}else this._updateKey()}}var rs=(s=>(s[s.WEBGL=1]="WEBGL",s[s.WEBGPU=2]="WEBGPU",s[s.BOTH=3]="BOTH",s))(rs||{});class Ts extends dt{constructor(t){super(),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:e,glProgram:i,groups:n,resources:r,compatibleRenderers:a,groupMap:o}=t;this.gpuProgram=e,this.glProgram=i,a===void 0&&(a=0,e&&(a|=rs.WEBGPU),i&&(a|=rs.WEBGL)),this.compatibleRenderers=a;const h={};if(!r&&!n&&(r={}),r&&n)throw new Error("[Shader] Cannot have both resources and groups");if(!e&&n&&!o)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!e&&n&&o)for(const l in o)for(const c in o[l]){const d=o[l][c];h[d]={group:l,binding:c,name:d}}else if(e&&n&&!o){const l=e.structsAndGroups.groups;o={},l.forEach(c=>{o[c.group]=o[c.group]||{},o[c.group][c.binding]=c.name,h[c.name]=c})}else if(r){n={},o={},e&&e.structsAndGroups.groups.forEach(d=>{o[d.group]=o[d.group]||{},o[d.group][d.binding]=d.name,h[d.name]=d});let l=0;for(const c in r)h[c]||(n[99]||(n[99]=new oi,this._ownedBindGroups.push(n[99])),h[c]={group:99,binding:l,name:c},o[99]=o[99]||{},o[99][l]=c,l++);for(const c in r){const d=c;let u=r[c];!u.source&&!u._resourceType&&(u=new Rr(u));const f=h[d];f&&(n[f.group]||(n[f.group]=new oi,this._ownedBindGroups.push(n[f.group])),n[f.group].setResource(u,f.binding))}}this.groups=n,this._uniformBindMap=o,this.resources=this._buildResourceAccessor(n,h)}addResource(t,e,i){var n,r;(n=this._uniformBindMap)[e]||(n[e]={}),(r=this._uniformBindMap[e])[i]||(r[i]=t),this.groups[e]||(this.groups[e]=new oi,this._ownedBindGroups.push(this.groups[e]))}_buildResourceAccessor(t,e){const i={};for(const n in e){const r=e[n];Object.defineProperty(i,r.name,{get(){return t[r.group].getResource(r.binding)},set(a){t[r.group].setResource(a,r.binding)}})}return i}destroy(t=!1){var e,i;this.emit("destroy",this),t&&((e=this.gpuProgram)==null||e.destroy(),(i=this.glProgram)==null||i.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(n=>{n.destroy()}),this._ownedBindGroups=null,this.resources=null,this.groups=null}static from(t){const{gpu:e,gl:i,...n}=t;let r,a;return e&&(r=yi.from(e)),i&&(a=Gr.from(i)),new Ts({gpuProgram:r,glProgram:a,...n})}}const as=[];ht.handleByNamedList(P.Environment,as);async function th(s){if(!s)for(let t=0;t80*e){o=l=s[0],h=c=s[1];for(var m=e;ml&&(l=d),u>c&&(c=u);f=Math.max(l-o,c-h),f=f!==0?32767/f:0}return Re(r,a,e,o,h,f,0),a}function Fr(s,t,e,i,n){var r,a;if(n===ls(s,t,e,i)>0)for(r=t;r=t;r-=i)a=gn(r,s[r],s[r+1],a);return a&&wi(a,a.next)&&(Le(a),a=a.next),a}function ie(s,t){if(!s)return s;t||(t=s);var e=s,i;do if(i=!1,!e.steiner&&(wi(e,e.next)||q(e.prev,e,e.next)===0)){if(Le(e),e=t=e.prev,e===e.next)break;i=!0}else e=e.next;while(i||e!==t);return t}function Re(s,t,e,i,n,r,a){if(s){!a&&r&&dh(s,i,n,r);for(var o=s,h,l;s.prev!==s.next;){if(h=s.prev,l=s.next,r?sh(s,i,n,r):ih(s)){t.push(h.i/e|0),t.push(s.i/e|0),t.push(l.i/e|0),Le(s),s=l.next,o=l.next;continue}if(s=l,s===o){a?a===1?(s=nh(ie(s),t,e),Re(s,t,e,i,n,r,2)):a===2&&rh(s,t,e,i,n,r):Re(ie(s),t,e,i,n,r,1);break}}}}function ih(s){var t=s.prev,e=s,i=s.next;if(q(t,e,i)>=0)return!1;for(var n=t.x,r=e.x,a=i.x,o=t.y,h=e.y,l=i.y,c=nr?n>a?n:a:r>a?r:a,f=o>h?o>l?o:l:h>l?h:l,m=i.next;m!==t;){if(m.x>=c&&m.x<=u&&m.y>=d&&m.y<=f&&he(n,o,r,h,a,l,m.x,m.y)&&q(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function sh(s,t,e,i){var n=s.prev,r=s,a=s.next;if(q(n,r,a)>=0)return!1;for(var o=n.x,h=r.x,l=a.x,c=n.y,d=r.y,u=a.y,f=oh?o>l?o:l:h>l?h:l,x=c>d?c>u?c:u:d>u?d:u,_=os(f,m,t,e,i),w=os(y,x,t,e,i),b=s.prevZ,S=s.nextZ;b&&b.z>=_&&S&&S.z<=w;){if(b.x>=f&&b.x<=y&&b.y>=m&&b.y<=x&&b!==n&&b!==a&&he(o,c,h,d,l,u,b.x,b.y)&&q(b.prev,b,b.next)>=0||(b=b.prevZ,S.x>=f&&S.x<=y&&S.y>=m&&S.y<=x&&S!==n&&S!==a&&he(o,c,h,d,l,u,S.x,S.y)&&q(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;b&&b.z>=_;){if(b.x>=f&&b.x<=y&&b.y>=m&&b.y<=x&&b!==n&&b!==a&&he(o,c,h,d,l,u,b.x,b.y)&&q(b.prev,b,b.next)>=0)return!1;b=b.prevZ}for(;S&&S.z<=w;){if(S.x>=f&&S.x<=y&&S.y>=m&&S.y<=x&&S!==n&&S!==a&&he(o,c,h,d,l,u,S.x,S.y)&&q(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function nh(s,t,e){var i=s;do{var n=i.prev,r=i.next.next;!wi(n,r)&&Lr(n,i,i.next,r)&&Fe(n,r)&&Fe(r,n)&&(t.push(n.i/e|0),t.push(i.i/e|0),t.push(r.i/e|0),Le(i),Le(i.next),i=s=r),i=i.next}while(i!==s);return ie(i)}function rh(s,t,e,i,n,r){var a=s;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&ph(a,o)){var h=Dr(a,o);a=ie(a,a.next),h=ie(h,h.next),Re(a,t,e,i,n,r,0),Re(h,t,e,i,n,r,0);return}o=o.next}a=a.next}while(a!==s)}function ah(s,t,e,i){var n=[],r,a,o,h,l;for(r=0,a=t.length;r=e.next.y&&e.next.y!==e.y){var o=e.x+(n-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(o<=i&&o>r&&(r=o,a=e.x=e.x&&e.x>=l&&i!==e.x&&he(na.x||e.x===a.x&&ch(a,e)))&&(a=e,d=u)),e=e.next;while(e!==h);return a}function ch(s,t){return q(s.prev,s,t.prev)<0&&q(t.next,s,s.next)<0}function dh(s,t,e,i){var n=s;do n.z===0&&(n.z=os(n.x,n.y,t,e,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next;while(n!==s);n.prevZ.nextZ=null,n.prevZ=null,uh(n)}function uh(s){var t,e,i,n,r,a,o,h,l=1;do{for(e=s,s=null,r=null,a=0;e;){for(a++,i=e,o=0,t=0;t0||h>0&&i;)o!==0&&(h===0||!i||e.z<=i.z)?(n=e,e=e.nextZ,o--):(n=i,i=i.nextZ,h--),r?r.nextZ=n:s=n,n.prevZ=r,r=n;e=i}r.nextZ=null,l*=2}while(a>1);return s}function os(s,t,e,i,n){return s=(s-e)*n|0,t=(t-i)*n|0,s=(s|s<<8)&16711935,s=(s|s<<4)&252645135,s=(s|s<<2)&858993459,s=(s|s<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,s|t<<1}function fh(s){var t=s,e=s;do(t.x=(s-a)*(r-o)&&(s-a)*(i-o)>=(e-a)*(t-o)&&(e-a)*(r-o)>=(n-a)*(i-o)}function ph(s,t){return s.next.i!==t.i&&s.prev.i!==t.i&&!gh(s,t)&&(Fe(s,t)&&Fe(t,s)&&mh(s,t)&&(q(s.prev,s,t.prev)||q(s,t.prev,t))||wi(s,t)&&q(s.prev,s,s.next)>0&&q(t.prev,t,t.next)>0)}function q(s,t,e){return(t.y-s.y)*(e.x-t.x)-(t.x-s.x)*(e.y-t.y)}function wi(s,t){return s.x===t.x&&s.y===t.y}function Lr(s,t,e,i){var n=ti(q(s,t,e)),r=ti(q(s,t,i)),a=ti(q(e,i,s)),o=ti(q(e,i,t));return!!(n!==r&&a!==o||n===0&&Je(s,e,t)||r===0&&Je(s,i,t)||a===0&&Je(e,s,i)||o===0&&Je(e,t,i))}function Je(s,t,e){return t.x<=Math.max(s.x,e.x)&&t.x>=Math.min(s.x,e.x)&&t.y<=Math.max(s.y,e.y)&&t.y>=Math.min(s.y,e.y)}function ti(s){return s>0?1:s<0?-1:0}function gh(s,t){var e=s;do{if(e.i!==s.i&&e.next.i!==s.i&&e.i!==t.i&&e.next.i!==t.i&&Lr(e,e.next,s,t))return!0;e=e.next}while(e!==s);return!1}function Fe(s,t){return q(s.prev,s,s.next)<0?q(s,t,s.next)>=0&&q(s,s.prev,t)>=0:q(s,t,s.prev)<0||q(s,s.next,t)<0}function mh(s,t){var e=s,i=!1,n=(s.x+t.x)/2,r=(s.y+t.y)/2;do e.y>r!=e.next.y>r&&e.next.y!==e.y&&n<(e.next.x-e.x)*(r-e.y)/(e.next.y-e.y)+e.x&&(i=!i),e=e.next;while(e!==s);return i}function Dr(s,t){var e=new hs(s.i,s.x,s.y),i=new hs(t.i,t.x,t.y),n=s.next,r=t.prev;return s.next=t,t.prev=s,e.next=n,n.prev=e,i.next=e,e.prev=i,r.next=i,i.prev=r,i}function gn(s,t,e,i){var n=new hs(s,t,e);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function Le(s){s.next.prev=s.prev,s.prev.next=s.next,s.prevZ&&(s.prevZ.nextZ=s.nextZ),s.nextZ&&(s.nextZ.prevZ=s.prevZ)}function hs(s,t,e){this.i=s,this.x=t,this.y=e,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}_i.deviation=function(s,t,e,i){var n=t&&t.length,r=n?t[0]*e:s.length,a=Math.abs(ls(s,0,r,e));if(n)for(var o=0,h=t.length;o0&&(i+=s[n-1].length,e.holes.push(i))}return e};var xh=As.exports;const yh=bs(xh);var zr=(s=>(s[s.NONE=0]="NONE",s[s.COLOR=16384]="COLOR",s[s.STENCIL=1024]="STENCIL",s[s.DEPTH=256]="DEPTH",s[s.COLOR_DEPTH=16640]="COLOR_DEPTH",s[s.COLOR_STENCIL=17408]="COLOR_STENCIL",s[s.DEPTH_STENCIL=1280]="DEPTH_STENCIL",s[s.ALL=17664]="ALL",s))(zr||{});class _h{constructor(t){this.items=[],this._name=t}emit(t,e,i,n,r,a,o,h){const{name:l,items:c}=this;for(let d=0,u=c.length;d{this.runners[e]=new _h(e)})}_addSystems(t){let e;for(e in t){const i=t[e];this._addSystem(i.value,i.name)}}_addSystem(t,e){const i=new t(this);if(this[e])throw new Error(`Whoops! The name "${e}" is already in use`);this[e]=i,this._systemsHash[e]=i;for(const n in this.runners)this.runners[n].add(i);return this}_addPipes(t,e){const i=e.reduce((n,r)=>(n[r.name]=r.value,n),{});t.forEach(n=>{const r=n.value,a=n.name,o=i[a];this.renderPipes[a]=new r(this,o?new o:null)})}destroy(t=!1){this.runners.destroy.items.reverse(),this.runners.destroy.emit(t),Object.values(this.runners).forEach(e=>{e.destroy()}),this._systemsHash=null,this.renderPipes=null}generateTexture(t){return this.textureGenerator.generateTexture(t)}get roundPixels(){return!!this._roundPixels}_unsafeEvalCheck(){if(!eh())throw new Error("Current environment does not allow unsafe-eval, please use pixi.js/unsafe-eval module to enable support.")}};Ur.defaultOptions={resolution:1,failIfMajorPerformanceCaveat:!1,roundPixels:!1};let Or=Ur,ei;function bh(s){return ei!==void 0||(ei=(()=>{var e;const t={stencil:!0,failIfMajorPerformanceCaveat:s??Or.defaultOptions.failIfMajorPerformanceCaveat};try{if(!Q.get().getWebGLRenderingContext())return!1;let n=Q.get().createCanvas().getContext("webgl",t);const r=!!((e=n==null?void 0:n.getContextAttributes())!=null&&e.stencil);if(n){const a=n.getExtension("WEBGL_lose_context");a&&a.loseContext()}return n=null,r}catch{return!1}})()),ei}let ii;async function Sh(s={}){return ii!==void 0||(ii=await(async()=>{const t=Q.get().getNavigator().gpu;if(!t)return!1;try{return await(await t.requestAdapter(s)).requestDevice(),!0}catch{return!1}})()),ii}const mn=["webgl","webgpu","canvas"];async function vh(s){let t=[];s.preference?(t.push(s.preference),mn.forEach(r=>{r!==s.preference&&t.push(r)})):t=mn.slice();let e,i={};for(let r=0;r{const{WebGPURenderer:h}=await import("./WebGPURenderer-C3uezquN.js");return{WebGPURenderer:h}},__vite__mapDeps([3,2,4]));e=o,i={...s,...s.webgpu};break}else if(a==="webgl"&&bh(s.failIfMajorPerformanceCaveat??Or.defaultOptions.failIfMajorPerformanceCaveat)){const{WebGLRenderer:o}=await ci(async()=>{const{WebGLRenderer:h}=await import("./WebGLRenderer-De8XiEKN.js");return{WebGLRenderer:h}},__vite__mapDeps([5,2,4]));e=o,i={...s,...s.webgl};break}else if(a==="canvas")throw i={...s},new Error("CanvasRenderer is not yet implemented")}if(delete i.webgpu,delete i.webgl,!e)throw new Error("No available renderer for the current environment");const n=new e;return await n.init(i),n}const Nr="8.4.0";class Hr{static init(){var t;(t=globalThis.__PIXI_APP_INIT__)==null||t.call(globalThis,this,Nr)}static destroy(){}}Hr.extension=P.Application;class Ch{constructor(t){this._renderer=t}init(){var t;(t=globalThis.__PIXI_RENDERER_INIT__)==null||t.call(globalThis,this._renderer,Nr)}destroy(){this._renderer=null}}Ch.extension={type:[P.WebGLSystem,P.WebGPUSystem],name:"initHook",priority:-10};const $r=class cs{constructor(...t){this.stage=new st,t[0]!==void 0&&W(O,"Application constructor options are deprecated, please use Application.init() instead.")}async init(t){t={...t},this.renderer=await vh(t),cs._plugins.forEach(e=>{e.init.call(this,t)})}render(){this.renderer.render({container:this.stage})}get canvas(){return this.renderer.canvas}get view(){return W(O,"Application.view is deprecated, please use Application.canvas instead."),this.renderer.canvas}get screen(){return this.renderer.screen}destroy(t=!1,e=!1){const i=cs._plugins.slice(0);i.reverse(),i.forEach(n=>{n.destroy.call(this)}),this.stage.destroy(e),this.stage=null,this.renderer.destroy(t),this.renderer=null}};$r._plugins=[];let Vr=$r;ht.handleByList(P.Application,Vr._plugins);ht.add(Hr);class Xr extends dt{constructor(){super(...arguments),this.chars=Object.create(null),this.lineHeight=0,this.fontFamily="",this.fontMetrics={fontSize:0,ascent:0,descent:0},this.baseLineOffset=0,this.distanceField={type:"none",range:0},this.pages=[],this.applyFillAsTint=!0,this.baseMeasurementFontSize=100,this.baseRenderedFontSize=100}get font(){return W(O,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return W(O,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return W(O,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return W(O,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return W(O,"BitmapFont.distanceFieldType is deprecated, please use BitmapFont.distanceField.type instead."),this.distanceField.type}destroy(t=!1){var e;this.emit("destroy",this),this.removeAllListeners();for(const i in this.chars)(e=this.chars[i].texture)==null||e.destroy();this.chars=null,t&&(this.pages.forEach(i=>i.texture.destroy(!0)),this.pages=null)}}const Yr=class ds{constructor(t,e,i,n){this.uid=nt("fillGradient"),this.type="linear",this.gradientStops=[],this._styleKey=null,this.x0=t,this.y0=e,this.x1=i,this.y1=n}addColorStop(t,e){return this.gradientStops.push({offset:t,color:Z.shared.setValue(e).toHexa()}),this._styleKey=null,this}buildLinearGradient(){const t=ds.defaultTextureSize,{gradientStops:e}=this,i=Q.get().createCanvas();i.width=t,i.height=t;const n=i.getContext("2d"),r=n.createLinearGradient(0,0,ds.defaultTextureSize,1);for(let y=0;y`${n.offset}-${n.color}`).join("-"),e=this.texture.uid,i=this.transform.toArray().join("-");return`fill-gradient-${this.uid}-${t}-${e}-${i}-${this.x0}-${this.y0}-${this.x1}-${this.y1}`}};Yr.defaultTextureSize=256;let De=Yr;const xn={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"}};class bi{constructor(t,e){this.uid=nt("fillPattern"),this.transform=new H,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=xn[e].addressModeU,t.source.style.addressModeV=xn[e].addressModeV)}setTransform(t){const e=this.texture;this.transform.copyFrom(t),this.transform.invert(),this.transform.scale(1/e.frame.width,1/e.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 Th=Mh,Oi={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Ah=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Mh(s){var t=[];return s.replace(Ah,function(e,i,n){var r=i.toLowerCase();for(n=kh(n),r=="m"&&n.length>2&&(t.push([i].concat(n.splice(0,2))),r="l",i=i=="m"?"l":"L");;){if(n.length==Oi[r])return n.unshift(i),t.push(n);if(n.length0&&(n=i.pop(),n?(r=n.startX,a=n.startY):(r=0,a=0)),n=null;break;default:it(`Unknown SVG path command: ${l}`)}l!=="Z"&&l!=="z"&&n===null&&(n={startX:r,startY:a},i.push(n))}return t}class Ms{constructor(t=0,e=0,i=0){this.type="circle",this.x=t,this.y=e,this.radius=i}clone(){return new Ms(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return!1;const i=this.radius*this.radius;let n=this.x-t,r=this.y-e;return n*=n,r*=r,n+r<=i}strokeContains(t,e,i){if(this.radius===0)return!1;const n=this.x-t,r=this.y-e,a=this.radius,o=i/2,h=Math.sqrt(n*n+r*r);return ha-o}getBounds(t){return t=t||new z,t.x=this.x-this.radius,t.y=this.y-this.radius,t.width=this.radius*2,t.height=this.radius*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.radius=t.radius,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Circle x=${this.x} y=${this.y} radius=${this.radius}]`}}class Ps{constructor(t=0,e=0,i=0,n=0){this.type="ellipse",this.x=t,this.y=e,this.halfWidth=i,this.halfHeight=n}clone(){return new Ps(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,e){if(this.halfWidth<=0||this.halfHeight<=0)return!1;let i=(t-this.x)/this.halfWidth,n=(e-this.y)/this.halfHeight;return i*=i,n*=n,i+n<=1}strokeContains(t,e,i){const{halfWidth:n,halfHeight:r}=this;if(n<=0||r<=0)return!1;const a=i/2,o=n-a,h=r-a,l=n+a,c=r+a,d=t-this.x,u=e-this.y,f=d*d/(o*o)+u*u/(h*h),m=d*d/(l*l)+u*u/(c*c);return f>1&&m<=1}getBounds(t){return t=t||new z,t.x=this.x-this.halfWidth,t.y=this.y-this.halfHeight,t.width=this.halfWidth*2,t.height=this.halfHeight*2,t}copyFrom(t){return this.x=t.x,this.y=t.y,this.halfWidth=t.halfWidth,this.halfHeight=t.halfHeight,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:Ellipse x=${this.x} y=${this.y} halfWidth=${this.halfWidth} halfHeight=${this.halfHeight}]`}}function Bh(s,t,e,i,n,r){const a=s-e,o=t-i,h=n-e,l=r-i,c=a*h+o*l,d=h*h+l*l;let u=-1;d!==0&&(u=c/d);let f,m;u<0?(f=e,m=i):u>1?(f=n,m=r):(f=e+u*h,m=i+u*l);const y=s-f,x=t-m;return y*y+x*x}class Be{constructor(...t){this.type="polygon";let e=Array.isArray(t[0])?t[0]:t;if(typeof e[0]!="number"){const i=[];for(let n=0,r=e.length;ne!=c>e&&t<(l-o)*((e-h)/(c-h))+o&&(i=!i)}return i}strokeContains(t,e,i){const n=i/2,r=n*n,{points:a}=this,o=a.length-(this.closePath?0:2);for(let h=0;hn?l:n,r=ca?c:a}return t.x=i,t.width=n-i,t.y=r,t.height=a-r,t}copyFrom(t){return this.points=t.points.slice(),this.closePath=t.closePath,this}copyTo(t){return t.copyFrom(this),t}toString(){return`[pixi.js/math:PolygoncloseStroke=${this.closePath}points=${this.points.reduce((t,e)=>`${t}, ${e}`,"")}]`}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]}}const si=(s,t,e,i,n,r)=>{const a=s-e,o=t-i,h=Math.sqrt(a*a+o*o);return h>=n-r&&h<=n+r};class ks{constructor(t=0,e=0,i=0,n=0,r=20){this.type="roundedRectangle",this.x=t,this.y=e,this.width=i,this.height=n,this.radius=r}getBounds(t){return t=t||new z,t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new ks(this.x,this.y,this.width,this.height,this.radius)}copyFrom(t){return this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height,this}copyTo(t){return t.copyFrom(this),t}contains(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){const i=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+i&&e<=this.y+this.height-i||t>=this.x+i&&t<=this.x+this.width-i)return!0;let n=t-(this.x+i),r=e-(this.y+i);const a=i*i;if(n*n+r*r<=a||(n=t-(this.x+this.width-i),n*n+r*r<=a)||(r=e-(this.y+this.height-i),n*n+r*r<=a)||(n=t-(this.x+i),n*n+r*r<=a))return!0}return!1}strokeContains(t,e,i){const{x:n,y:r,width:a,height:o,radius:h}=this,l=i/2,c=n+h,d=r+h,u=a-h*2,f=o-h*2,m=n+a,y=r+o;return(t>=n-l&&t<=n+l||t>=m-l&&t<=m+l)&&e>=d&&e<=d+f||(e>=r-l&&e<=r+l||e>=y-l&&e<=y+l)&&t>=c&&t<=c+u?!0:tm-h&&em-h&&e>y-h&&si(t,e,m-h,y-h,h,l)||ty-h&&si(t,e,c,y-h,h,l)}toString(){return`[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}}const Eh=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(` +`);function Rh(s){let t="";for(let e=0;e0&&(t+=` +else `),e>>=0;return qr[e]||Dh(s,t,e)}let Ni=0;function Dh(s,t,e){const i={};let n=0;Ni||(Ni=jr());for(let a=0;a0){const a=new Uint8Array(s,e*8,r);new Uint8Array(t,e*8,r).set(a)}}const zh={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};var Uh=(s=>(s[s.DISABLED=0]="DISABLED",s[s.RENDERING_MASK_ADD=1]="RENDERING_MASK_ADD",s[s.MASK_ACTIVE=2]="MASK_ACTIVE",s[s.RENDERING_MASK_REMOVE=3]="RENDERING_MASK_REMOVE",s[s.NONE=4]="NONE",s))(Uh||{});function wn(s,t){return t.alphaMode==="no-premultiply-alpha"&&zh[s]||s}class Wh{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0}clear(){for(let t=0;t0?Kr[--us]:new Oh}function Sn(s){Kr[us++]=s}let Ce=0;const Zr=class hi{constructor(t={}){this.uid=nt("batcher"),this.dirty=!0,this.batchIndex=0,this.batches=[],this._elements=[],hi.defaultOptions.maxTextures=hi.defaultOptions.maxTextures??jr(),t={...hi.defaultOptions,...t};const{maxTextures:e,attributesInitialSize:i,indicesInitialSize:n}=t;this.attributeBuffer=new yn(i*4),this.indexBuffer=new Uint16Array(n),this.maxTextures=e}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;tthis.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);const o=this.attributeBuffer.float32View,h=this.attributeBuffer.uint32View,l=this.indexBuffer;let c=this._batchIndexSize,d=this._batchIndexStart,u="startBatch";const f=this.maxTextures;for(let m=this.elementStart;m=f||b)&&(this._finishBatch(i,d,c-d,n,a,t,u),u="renderBatch",d=c,a=w,i=bn(),n=i.textures,n.clear(),++Ce),y._textureId=_._textureBindLocation=n.count,n.ids[_.uid]=n.count,n.textures[n.count++]=_,y._batch=i,c+=y.indexSize,y.packAsQuad?(this.packQuadAttributes(y,o,h,y._attributeStart,y._textureId),this.packQuadIndex(l,y._indexStart,y._attributeStart/this.vertexSize)):(this.packAttributes(y,o,h,y._attributeStart,y._textureId),this.packIndex(y,l,y._indexStart,y._attributeStart/this.vertexSize))}n.count>0&&(this._finishBatch(i,d,c-d,n,a,t,u),d=c,++Ce),this.elementStart=this.elementSize,this._batchIndexStart=d,this._batchIndexSize=c}_finishBatch(t,e,i,n,r,a,o){t.gpuBindGroup=null,t.bindGroup=null,t.action=o,t.batcher=this,t.textures=n,t.blendMode=r,t.start=e,t.size=i,++Ce,this.batches[this.batchIndex++]=t,a.add(t)}finish(t){this.break(t)}ensureAttributeBuffer(t){t*4<=this.attributeBuffer.size||this._resizeAttributeBuffer(t*4)}ensureIndexBuffer(t){t<=this.indexBuffer.length||this._resizeIndexBuffer(t)}_resizeAttributeBuffer(t){const e=Math.max(t,this.attributeBuffer.size*2),i=new yn(e);_n(this.attributeBuffer.rawBinaryData,i.rawBinaryData),this.attributeBuffer=i}_resizeIndexBuffer(t){const e=this.indexBuffer;let i=Math.max(t,e.length*1.5);i+=i%2;const n=i>65535?new Uint32Array(i):new Uint16Array(i);if(n.BYTES_PER_ELEMENT!==e.BYTES_PER_ELEMENT)for(let r=0;r(s[s.MAP_READ=1]="MAP_READ",s[s.MAP_WRITE=2]="MAP_WRITE",s[s.COPY_SRC=4]="COPY_SRC",s[s.COPY_DST=8]="COPY_DST",s[s.INDEX=16]="INDEX",s[s.VERTEX=32]="VERTEX",s[s.UNIFORM=64]="UNIFORM",s[s.STORAGE=128]="STORAGE",s[s.INDIRECT=256]="INDIRECT",s[s.QUERY_RESOLVE=512]="QUERY_RESOLVE",s[s.STATIC=1024]="STATIC",s))(et||{});class Ut extends dt{constructor(t){let{data:e,size:i}=t;const{usage:n,label:r,shrinkToFit:a}=t;super(),this.uid=nt("buffer"),this._resourceType="buffer",this._resourceId=nt("resource"),this._touched=0,this._updateID=1,this.shrinkToFit=!0,this.destroyed=!1,e instanceof Array&&(e=new Float32Array(e)),this._data=e,i=i??(e==null?void 0:e.byteLength);const o=!!e;this.descriptor={size:i,usage:n,mappedAtCreation:o,label:r},this.shrinkToFit=a??!0}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,!0)}get static(){return!!(this.descriptor.usage&et.STATIC)}set static(t){t?this.descriptor.usage|=et.STATIC:this.descriptor.usage&=~et.STATIC}setDataWithSize(t,e,i){if(this._updateID++,this._updateSize=e*t.BYTES_PER_ELEMENT,this._data===t){i&&this.emit("update",this);return}const n=this._data;if(this._data=t,n.length!==t.length){!this.shrinkToFit&&t.byteLengtho&&(o=f),m>h&&(h=m),fe.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null}}const Vh=new Float32Array(1),Xh=new Uint32Array(1);class Yh extends Jr{constructor(){const e=new Ut({data:Vh,label:"attribute-batch-buffer",usage:et.VERTEX|et.COPY_DST,shrinkToFit:!1}),i=new Ut({data:Xh,label:"index-batch-buffer",usage:et.INDEX|et.COPY_DST,shrinkToFit:!1}),n=6*4;super({attributes:{aPosition:{buffer:e,format:"float32x2",stride:n,offset:0},aUV:{buffer:e,format:"float32x2",stride:n,offset:2*4},aColor:{buffer:e,format:"unorm8x4",stride:n,offset:4*4},aTextureIdAndRound:{buffer:e,format:"uint16x2",stride:n,offset:5*4}},indexBuffer:i})}}function vn(s,t,e){if(s)for(const i in s){const n=i.toLocaleLowerCase(),r=t[n];if(r){let a=s[i];i==="header"&&(a=a.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),e&&r.push(`//----${e}----//`),r.push(a)}else it(`${i} placement hook does not exist in shader`)}}const jh=/\{\{(.*?)\}\}/g;function Cn(s){var i;const t={};return(((i=s.match(jh))==null?void 0:i.map(n=>n.replace(/[{()}]/g,"")))??[]).forEach(n=>{t[n]=[]}),t}function Tn(s,t){let e;const i=/@in\s+([^;]+);/g;for(;(e=i.exec(s))!==null;)t.push(e[1])}function An(s,t,e=!1){const i=[];Tn(t,i),s.forEach(o=>{o.header&&Tn(o.header,i)});const n=i;e&&n.sort();const r=n.map((o,h)=>` @location(${h}) ${o},`).join(` +`);let a=t.replace(/@in\s+[^;]+;\s*/g,"");return a=a.replace("{{in}}",` +${r} +`),a}function Mn(s,t){let e;const i=/@out\s+([^;]+);/g;for(;(e=i.exec(s))!==null;)t.push(e[1])}function qh(s){const e=/\b(\w+)\s*:/g.exec(s);return e?e[1]:""}function Kh(s){const t=/@.*?\s+/g;return s.replace(t,"")}function Zh(s,t){const e=[];Mn(t,e),s.forEach(h=>{h.header&&Mn(h.header,e)});let i=0;const n=e.sort().map(h=>h.indexOf("builtin")>-1?h:`@location(${i++}) ${h}`).join(`, +`),r=e.sort().map(h=>` var ${Kh(h)};`).join(` +`),a=`return VSOutput( + ${e.sort().map(h=>` ${qh(h)}`).join(`, +`)});`;let o=t.replace(/@out\s+[^;]+;\s*/g,"");return o=o.replace("{{struct}}",` +${n} +`),o=o.replace("{{start}}",` +${r} +`),o=o.replace("{{return}}",` +${a} +`),o}function Pn(s,t){let e=s;for(const i in t){const n=t[i];n.join(` +`).length?e=e.replace(`{{${i}}}`,`//-----${i} START-----// +${n.join(` +`)} +//----${i} FINISH----//`):e=e.replace(`{{${i}}}`,"")}return e}const zt=Object.create(null),Hi=new Map;let Qh=0;function Jh({template:s,bits:t}){const e=ta(s,t);if(zt[e])return zt[e];const{vertex:i,fragment:n}=el(s,t);return zt[e]=ea(i,n,t),zt[e]}function tl({template:s,bits:t}){const e=ta(s,t);return zt[e]||(zt[e]=ea(s.vertex,s.fragment,t)),zt[e]}function el(s,t){const e=t.map(a=>a.vertex).filter(a=>!!a),i=t.map(a=>a.fragment).filter(a=>!!a);let n=An(e,s.vertex,!0);n=Zh(e,n);const r=An(i,s.fragment,!0);return{vertex:n,fragment:r}}function ta(s,t){return t.map(e=>(Hi.has(e)||Hi.set(e,Qh++),Hi.get(e))).sort((e,i)=>e-i).join("-")+s.vertex+s.fragment}function ea(s,t,e){const i=Cn(s),n=Cn(t);return e.forEach(r=>{vn(r.vertex,i,r.name),vn(r.fragment,n,r.name)}),{vertex:Pn(s,i),fragment:Pn(t,n)}}const il=` + @in aPosition: vec2; + @in aUV: vec2; + + @out @builtin(position) vPosition: vec4; + @out vUV : vec2; + @out vColor : vec4; + + {{header}} + + struct VSOutput { + {{struct}} + }; + + @vertex + fn main( {{in}} ) -> VSOutput { + + var worldTransformMatrix = globalUniforms.uWorldTransformMatrix; + var modelMatrix = mat3x3( + 1.0, 0.0, 0.0, + 0.0, 1.0, 0.0, + 0.0, 0.0, 1.0 + ); + var position = aPosition; + var uv = aUV; + + {{start}} + + vColor = vec4(1., 1., 1., 1.); + + {{main}} + + vUV = uv; + + var modelViewProjectionMatrix = globalUniforms.uProjectionMatrix * worldTransformMatrix * modelMatrix; + + vPosition = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); + + vColor *= globalUniforms.uWorldColorAlpha; + + {{end}} + + {{return}} + }; +`,sl=` + @in vUV : vec2; + @in vColor : vec4; + + {{header}} + + @fragment + fn main( + {{in}} + ) -> @location(0) vec4 { + + {{start}} + + var outColor:vec4; + + {{main}} + + var finalColor:vec4 = outColor * vColor; + + {{end}} + + return finalColor; + }; +`,nl=` + in vec2 aPosition; + in vec2 aUV; + + out vec4 vColor; + out vec2 vUV; + + {{header}} + + void main(void){ + + mat3 worldTransformMatrix = uWorldTransformMatrix; + mat3 modelMatrix = mat3( + 1.0, 0.0, 0.0, + 0.0, 1.0, 0.0, + 0.0, 0.0, 1.0 + ); + vec2 position = aPosition; + vec2 uv = aUV; + + {{start}} + + vColor = vec4(1.); + + {{main}} + + vUV = uv; + + mat3 modelViewProjectionMatrix = uProjectionMatrix * worldTransformMatrix * modelMatrix; + + gl_Position = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0); + + vColor *= uWorldColorAlpha; + + {{end}} + } +`,rl=` + + in vec4 vColor; + in vec2 vUV; + + out vec4 finalColor; + + {{header}} + + void main(void) { + + {{start}} + + vec4 outColor; + + {{main}} + + finalColor = outColor * vColor; + + {{end}} + } +`,al={name:"global-uniforms-bit",vertex:{header:` + struct GlobalUniforms { + uProjectionMatrix:mat3x3, + uWorldTransformMatrix:mat3x3, + uWorldColorAlpha: vec4, + uResolution: vec2, + } + + @group(0) @binding(0) var globalUniforms : GlobalUniforms; + `}},ol={name:"global-uniforms-bit",vertex:{header:` + uniform mat3 uProjectionMatrix; + uniform mat3 uWorldTransformMatrix; + uniform vec4 uWorldColorAlpha; + uniform vec2 uResolution; + `}};function hl({bits:s,name:t}){const e=Jh({template:{fragment:sl,vertex:il},bits:[al,...s]});return yi.from({name:t,vertex:{source:e.vertex,entryPoint:"main"},fragment:{source:e.fragment,entryPoint:"main"}})}function ll({bits:s,name:t}){return new Gr({name:t,...tl({template:{vertex:nl,fragment:rl},bits:[ol,...s]})})}const cl={name:"color-bit",vertex:{header:` + @in aColor: vec4; + `,main:` + vColor *= vec4(aColor.rgb * aColor.a, aColor.a); + `}},dl={name:"color-bit",vertex:{header:` + in vec4 aColor; + `,main:` + vColor *= vec4(aColor.rgb * aColor.a, aColor.a); + `}},$i={};function ul(s){const t=[];if(s===1)t.push("@group(1) @binding(0) var textureSource1: texture_2d;"),t.push("@group(1) @binding(1) var textureSampler1: sampler;");else{let e=0;for(let i=0;i;`),t.push(`@group(1) @binding(${e++}) var textureSampler${i+1}: sampler;`)}return t.join(` +`)}function fl(s){const t=[];if(s===1)t.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else{t.push("switch vTextureId {");for(let e=0;e; + @out @interpolate(flat) vTextureId : u32; + `,main:` + vTextureId = aTextureIdAndRound.y; + `,end:` + if(aTextureIdAndRound.x == 1) + { + vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw); + } + `},fragment:{header:` + @in @interpolate(flat) vTextureId: u32; + + ${ul(s)} + `,main:` + var uvDx = dpdx(vUV); + var uvDy = dpdy(vUV); + + ${fl(s)} + `}}),$i[s]}const Vi={};function gl(s){const t=[];for(let e=0;e0&&t.push("else"),e, targetSize: vec2) -> vec2 + { + return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0; + } + `}},yl={name:"round-pixels-bit",vertex:{header:` + vec2 roundPixels(vec2 position, vec2 targetSize) + { + return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0; + } + `}},kn={};function _l(s){let t=kn[s];if(t)return t;const e=new Int32Array(s);for(let i=0;i>16&255,i=s>>8&255,n=s&255,r=t>>16&255,a=t>>8&255,o=t&255,h=e*r/255,l=i*a/255,c=n*o/255;return(h<<16)+(l<<8)+c}const Tl=new H;class ra{constructor(){this.packAsQuad=!1,this.batcherName="default",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(){const t=this.baseColor,e=t>>16|t&65280|(t&255)<<16,i=this.renderable;return i?Cl(e,i.groupColor)+(this.alpha*i.groupAlpha*255<<24):e+(this.alpha*255<<24)}get transform(){var t;return((t=this.renderable)==null?void 0:t.groupTransform)||Tl}copyTo(t){t.indexOffset=this.indexOffset,t.indexSize=this.indexSize,t.attributeOffset=this.attributeOffset,t.attributeSize=this.attributeSize,t.baseColor=this.baseColor,t.alpha=this.alpha,t.texture=this.texture,t.geometryData=this.geometryData}reset(){this.applyTransform=!0}}const ze={extension:{type:P.ShapeBuilder,name:"circle"},build(s,t){let e,i,n,r,a,o;if(s.type==="circle"){const S=s;e=S.x,i=S.y,a=o=S.radius,n=r=0}else if(s.type==="ellipse"){const S=s;e=S.x,i=S.y,a=S.halfWidth,o=S.halfHeight,n=r=0}else{const S=s,T=S.width/2,E=S.height/2;e=S.x+T,i=S.y+E,a=o=Math.max(0,Math.min(S.radius,Math.min(T,E))),n=T-a,r=E-o}if(!(a>=0&&o>=0&&n>=0&&r>=0))return t;const h=Math.ceil(2.3*Math.sqrt(a+o)),l=h*8+(n?4:0)+(r?4:0);if(l===0)return t;if(h===0)return t[0]=t[6]=e+n,t[1]=t[3]=i+r,t[2]=t[4]=e-n,t[5]=t[7]=i-r,t;let c=0,d=h*4+(n?2:0)+2,u=d,f=l,m=n+a,y=r,x=e+m,_=e-m,w=i+y;if(t[c++]=x,t[c++]=w,t[--d]=w,t[--d]=_,r){const S=i-y;t[u++]=_,t[u++]=S,t[--f]=S,t[--f]=x}for(let S=1;S0&&(n[r++]=h,n[r++]=l,n[r++]=h-1),h++;n[r++]=l+1,n[r++]=l,n[r++]=h-1}},Al={...ze,extension:{...ze.extension,name:"ellipse"}},Ml={...ze,extension:{...ze.extension,name:"roundedRectangle"}},Pl=1e-4,In=1e-4;function kl(s){const t=s.length;if(t<6)return 1;let e=0;for(let i=0,n=s[t-2],r=s[t-1];id&&(d+=Math.PI*2);let u=c;const f=d-c,m=Math.abs(f),y=Math.sqrt(h*h+l*l),x=(15*m*Math.sqrt(y)/Math.PI>>0)+1,_=f/x;if(u+=_,o){a.push(s,t),a.push(e,i);for(let w=1,b=u;w=0&&(c.join==="round"?w+=jt(v,C,v-R*I,C-B*I,v-X*I,C-J*I,x,!1)+4:w+=2,x.push(v-X*F,C-J*F),x.push(v+X*I,C+J*I));continue}const $s=(-R+M)*(-B+C)-(-R+v)*(-B+k),Vs=(-X+K)*(-J+C)-(-X+v)*(-J+kt),Xe=(Dt*Vs-_e*$s)/Ve,Ye=(we*$s-ye*Vs)/Ve,vi=(Xe-v)*(Xe-v)+(Ye-C)*(Ye-C),$t=v+(Xe-v)*I,Vt=C+(Ye-C)*I,Xt=v-(Xe-v)*F,Yt=C-(Ye-C)*F,Ba=Math.min(Dt*Dt+ye*ye,_e*_e+we*we),Xs=be?I:F,Ea=Ba+Xs*Xs*T;vi<=Ea?c.join==="bevel"||vi/T>E?(be?(x.push($t,Vt),x.push(v+R*F,C+B*F),x.push($t,Vt),x.push(v+X*F,C+J*F)):(x.push(v-R*I,C-B*I),x.push(Xt,Yt),x.push(v-X*I,C-J*I),x.push(Xt,Yt)),w+=2):c.join==="round"?be?(x.push($t,Vt),x.push(v+R*F,C+B*F),w+=jt(v,C,v+R*F,C+B*F,v+X*F,C+J*F,x,!0)+4,x.push($t,Vt),x.push(v+X*F,C+J*F)):(x.push(v-R*I,C-B*I),x.push(Xt,Yt),w+=jt(v,C,v-R*I,C-B*I,v-X*I,C-J*I,x,!1)+4,x.push(v-X*I,C-J*I),x.push(Xt,Yt)):(x.push($t,Vt),x.push(Xt,Yt)):(x.push(v-R*I,C-B*I),x.push(v+R*F,C+B*F),c.join==="round"?be?w+=jt(v,C,v+R*F,C+B*F,v+X*F,C+J*F,x,!0)+2:w+=jt(v,C,v-R*I,C-B*I,v-X*I,C-J*I,x,!1)+2:c.join==="miter"&&vi/T<=E&&(be?(x.push(Xt,Yt),x.push(Xt,Yt)):(x.push($t,Vt),x.push($t,Vt)),w+=2),x.push(v-X*I,C-J*I),x.push(v+X*F,C+J*F),w+=2)}M=s[(_-2)*2],k=s[(_-2)*2+1],v=s[(_-1)*2],C=s[(_-1)*2+1],R=-(k-C),B=M-v,xt=Math.sqrt(R*R+B*B),R/=xt,B/=xt,R*=S,B*=S,x.push(v-R*I,C-B*I),x.push(v+R*F,C+B*F),m||(c.cap==="round"?w+=jt(v-R*(I-F)*.5,C-B*(I-F)*.5,v-R*I,C-B*I,v+R*F,C+B*F,x,!1)+2:c.cap==="square"&&(w+=Bn(v,C,R,B,I,F,!1,x)));const Ia=In*In;for(let $=b;$=0&&a>=0&&(t[0]=i,t[1]=n,t[2]=i+r,t[3]=n,t[4]=i+r,t[5]=n+a,t[6]=i,t[7]=n+a),t},triangulate(s,t,e,i,n,r){let a=0;i*=e,t[i+a]=s[0],t[i+a+1]=s[1],a+=e,t[i+a]=s[2],t[i+a+1]=s[3],a+=e,t[i+a]=s[6],t[i+a+1]=s[7],a+=e,t[i+a]=s[4],t[i+a+1]=s[5],a+=e;const o=i/e;n[r++]=o,n[r++]=o+1,n[r++]=o+2,n[r++]=o+1,n[r++]=o+3,n[r++]=o+2}},Rl={extension:{type:P.ShapeBuilder,name:"triangle"},build(s,t){return t[0]=s.x,t[1]=s.y,t[2]=s.x2,t[3]=s.y2,t[4]=s.x3,t[5]=s.y3,t},triangulate(s,t,e,i,n,r){let a=0;i*=e,t[i+a]=s[0],t[i+a+1]=s[1],a+=e,t[i+a]=s[2],t[i+a+1]=s[3],a+=e,t[i+a]=s[4],t[i+a+1]=s[5];const o=i/e;n[r++]=o,n[r++]=o+1,n[r++]=o+2}},Si={};ht.handleByMap(P.ShapeBuilder,Si);ht.add(El,Bl,Rl,ze,Al,Ml);const Fl=new z;function Ll(s,t){const{geometryData:e,batches:i}=t;i.length=0,e.indices.length=0,e.vertices.length=0,e.uvs.length=0;for(let n=0;n{const f=h.length,m=a.length/2,y=[],x=Si[c.type];if(x.build(c,y),d&&na(y,d),i){const S=c.closePath??!0;Gl(y,t,!1,S,a,2,m,h)}else if(e&&l===u){l!==0&&console.warn("[Pixi Graphics] only the last shape have be cut out");const S=[],T=y.slice();zl(e.shapePath).forEach(M=>{S.push(T.length/2),T.push(...M)}),aa(T,S,a,2,m,h,f)}else x.triangulate(y,a,2,m,h,f);const _=o.length/2,w=t.texture;if(w!==D.WHITE){const S=t.matrix;S&&(d&&S.append(d.clone().invert()),Sl(a,2,m,o,_,2,a.length/2-m,S))}else vl(o,_,2,a.length/2-m);const b=Rt.get(ra);b.indexOffset=f,b.indexSize=h.length-f,b.attributeOffset=m,b.attributeSize=a.length/2-m,b.baseColor=t.color,b.alpha=t.alpha,b.texture=w,b.geometryData=r,n.push(b)})}function zl(s){if(!s)return[];const t=s.shapePrimitives,e=[];for(let i=0;i{Rt.return(i)})}destroy(){for(const t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context)}};Gs.extension={type:[P.WebGLSystem,P.WebGPUSystem,P.CanvasSystem],name:"graphicsContext"};Gs.defaultOptions={bezierSmoothness:.5};let oa=Gs;const Ol=8,ni=11920929e-14,Nl=1;function ha(s,t,e,i,n,r,a,o,h,l){const d=Math.min(.99,Math.max(0,l??oa.defaultOptions.bezierSmoothness));let u=(Nl-d)/1;return u*=u,Hl(t,e,i,n,r,a,o,h,s,u),s}function Hl(s,t,e,i,n,r,a,o,h,l){ps(s,t,e,i,n,r,a,o,h,l,0),h.push(a,o)}function ps(s,t,e,i,n,r,a,o,h,l,c){if(c>Ol)return;const d=(s+e)/2,u=(t+i)/2,f=(e+n)/2,m=(i+r)/2,y=(n+a)/2,x=(r+o)/2,_=(d+f)/2,w=(u+m)/2,b=(f+y)/2,S=(m+x)/2,T=(_+b)/2,E=(w+S)/2;if(c>0){let M=a-s,k=o-t;const v=Math.abs((e-a)*k-(i-o)*M),C=Math.abs((n-a)*k-(r-o)*M);if(v>ni&&C>ni){if((v+C)*(v+C)<=l*(M*M+k*k)){h.push(T,E);return}}else if(v>ni){if(v*v<=l*(M*M+k*k)){h.push(T,E);return}}else if(C>ni){if(C*C<=l*(M*M+k*k)){h.push(T,E);return}}else if(M=T-(s+a)/2,k=E-(t+o)/2,M*M+k*k<=l){h.push(T,E);return}}ps(s,t,d,u,_,w,T,E,h,l,c+1),ps(T,E,b,S,y,x,a,o,h,l,c+1)}const $l=8,Vl=11920929e-14,Xl=1;function Yl(s,t,e,i,n,r,a,o){const l=Math.min(.99,Math.max(0,o??oa.defaultOptions.bezierSmoothness));let c=(Xl-l)/1;return c*=c,jl(t,e,i,n,r,a,s,c),s}function jl(s,t,e,i,n,r,a,o){gs(a,s,t,e,i,n,r,o,0),a.push(n,r)}function gs(s,t,e,i,n,r,a,o,h){if(h>$l)return;const l=(t+i)/2,c=(e+n)/2,d=(i+r)/2,u=(n+a)/2,f=(l+d)/2,m=(c+u)/2;let y=r-t,x=a-e;const _=Math.abs((i-r)*x-(n-a)*y);if(_>Vl){if(_*_<=o*(y*y+x*x)){s.push(f,m);return}}else if(y=f-(t+r)/2,x=m-(e+a)/2,y*y+x*x<=o){s.push(f,m);return}gs(s,t,e,l,c,f,m,o,h+1),gs(s,f,m,d,u,r,a,o,h+1)}function la(s,t,e,i,n,r,a,o){let h=Math.abs(n-r);(!a&&n>r||a&&r>n)&&(h=2*Math.PI-h),o=o||Math.max(6,Math.floor(6*Math.pow(i,1/3)*(h/Math.PI))),o=Math.max(o,3);let l=h/o,c=n;l*=a?-1:1;for(let d=0;dd*h)}const Ee=Math.PI*2,Xi={centerX:0,centerY:0,ang1:0,ang2:0},Yi=({x:s,y:t},e,i,n,r,a,o,h)=>{s*=e,t*=i;const l=n*s-r*t,c=r*s+n*t;return h.x=l+a,h.y=c+o,h};function Kl(s,t){const e=t===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(t/4),i=t===1.5707963267948966?.551915024494:e,n=Math.cos(s),r=Math.sin(s),a=Math.cos(s+t),o=Math.sin(s+t);return[{x:n-r*i,y:r+n*i},{x:a+o*i,y:o-a*i},{x:a,y:o}]}const Rn=(s,t,e,i)=>{const n=s*i-t*e<0?-1:1;let r=s*e+t*i;return r>1&&(r=1),r<-1&&(r=-1),n*Math.acos(r)},Zl=(s,t,e,i,n,r,a,o,h,l,c,d,u)=>{const f=Math.pow(n,2),m=Math.pow(r,2),y=Math.pow(c,2),x=Math.pow(d,2);let _=f*m-f*x-m*y;_<0&&(_=0),_/=f*x+m*y,_=Math.sqrt(_)*(a===o?-1:1);const w=_*n/r*d,b=_*-r/n*c,S=l*w-h*b+(s+e)/2,T=h*w+l*b+(t+i)/2,E=(c-w)/n,M=(d-b)/r,k=(-c-w)/n,v=(-d-b)/r,C=Rn(1,0,E,M);let K=Rn(E,M,k,v);o===0&&K>0&&(K-=Ee),o===1&&K<0&&(K+=Ee),u.centerX=S,u.centerY=T,u.ang1=C,u.ang2=K};function Ql(s,t,e,i,n,r,a,o=0,h=0,l=0){if(r===0||a===0)return;const c=Math.sin(o*Ee/360),d=Math.cos(o*Ee/360),u=d*(t-i)/2+c*(e-n)/2,f=-c*(t-i)/2+d*(e-n)/2;if(u===0&&f===0)return;r=Math.abs(r),a=Math.abs(a);const m=Math.pow(u,2)/Math.pow(r,2)+Math.pow(f,2)/Math.pow(a,2);m>1&&(r*=Math.sqrt(m),a*=Math.sqrt(m)),Zl(t,e,i,n,r,a,h,l,c,d,u,f,Xi);let{ang1:y,ang2:x}=Xi;const{centerX:_,centerY:w}=Xi;let b=Math.abs(x)/(Ee/4);Math.abs(1-b)<1e-7&&(b=1);const S=Math.max(Math.ceil(b),1);x/=S;let T=s[s.length-2],E=s[s.length-1];const M={x:0,y:0};for(let k=0;k{const h=o.x-a.x,l=o.y-a.y,c=Math.sqrt(h*h+l*l),d=h/c,u=l/c;return{len:c,nx:d,ny:u}},n=(a,o)=>{a===0?s.moveTo(o.x,o.y):s.lineTo(o.x,o.y)};let r=t[t.length-1];for(let a=0;a0&&(f=-1,m=!0);const y=u/2;let x,_=Math.abs(Math.cos(y)*h/Math.sin(y));_>Math.min(c.len/2,d.len/2)?(_=Math.min(c.len/2,d.len/2),x=Math.abs(_*Math.sin(y)/Math.cos(y))):x=h;const w=o.x+d.nx*_+-d.ny*x*f,b=o.y+d.ny*_+d.nx*x*f,S=Math.atan2(c.ny,c.nx)+Math.PI/2*f,T=Math.atan2(d.ny,d.nx)-Math.PI/2*f;a===0&&s.moveTo(w+Math.cos(S)*x,b+Math.sin(S)*x),s.arc(w,b,x,S,T,m),r=o}}function tc(s,t,e,i){const n=(o,h)=>Math.sqrt((o.x-h.x)**2+(o.y-h.y)**2),r=(o,h,l)=>({x:o.x+(h.x-o.x)*l,y:o.y+(h.y-o.y)*l}),a=t.length;for(let o=0;o=2;d-=2)c[d]===c[d-2]&&c[d-1]===c[d-3]&&c.splice(d-1,2);return this.poly(c,!0,a)}ellipse(t,e,i,n,r){return this.drawShape(new Ps(t,e,i,n),r),this}roundRect(t,e,i,n,r,a){return this.drawShape(new ks(t,e,i,n,r),a),this}drawShape(t,e){return this.endPoly(),this.shapePrimitives.push({shape:t,transform:e}),this}startPoly(t,e){let i=this._currentPoly;return i&&this.endPoly(),i=new Be,i.points.push(t,e),this._currentPoly=i,this}endPoly(t=!1){const e=this._currentPoly;return e&&e.points.length>2&&(e.closePath=t,this.shapePrimitives.push({shape:e})),this._currentPoly=null,this}_ensurePoly(t=!0){if(!this._currentPoly&&(this._currentPoly=new Be,t)){const e=this.shapePrimitives[this.shapePrimitives.length-1];if(e){let i=e.shape.x,n=e.shape.y;if(e.transform&&!e.transform.isIdentity()){const r=e.transform,a=i;i=r.a*i+r.c*n+r.tx,n=r.b*a+r.d*n+r.ty}this._currentPoly.points.push(i,n)}else this._currentPoly.points.push(0,0)}}buildPath(){const t=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let e=0;eparseInt(k,10)),t.context.poly(w,!0),e&&t.context.fill(),i&&t.context.stroke();break;case"polyline":b=s.getAttribute("points"),w=b.match(/\d+/g).map(k=>parseInt(k,10)),t.context.poly(w,!1),i&&t.context.stroke();break;case"g":case"svg":break;default:{console.info(`[SVG parser] <${s.nodeName}> elements unsupported`);break}}for(let k=0;k{this._fill=te({...this._originalFill},pt.defaultFillStyle)})),this._fill=te(t===0?"black":t,pt.defaultFillStyle),this.update())}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...pt.defaultStrokeStyle,...t},()=>{this._stroke=pi({...this._originalStroke},pt.defaultStrokeStyle)})),this._stroke=pi(t,pt.defaultStrokeStyle),this.update())}_generateKey(){return this._styleKey=lc(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this)}reset(){const t=oe.defaultTextStyle;for(const e in t)this[e]=t[e]}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new oe({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(t=!1){var i,n,r,a;if(this.removeAllListeners(),typeof t=="boolean"?t:t==null?void 0:t.texture){const o=typeof t=="boolean"?t:t==null?void 0:t.textureSource;(i=this._fill)!=null&&i.texture&&this._fill.texture.destroy(o),(n=this._originalFill)!=null&&n.texture&&this._originalFill.texture.destroy(o),(r=this._stroke)!=null&&r.texture&&this._stroke.texture.destroy(o),(a=this._originalStroke)!=null&&a.texture&&this._originalStroke.texture.destroy(o)}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null}_createProxy(t,e){return new Proxy(t,{set:(i,n,r)=>(i[n]=r,e==null||e(n,r),this.update(),!0)})}_isFillStyle(t){return(t??null)!==null&&!(Z.isColorLike(t)||t instanceof De||t instanceof bi)}};Bs.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};Bs.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};let N=Bs;function uc(s){const t=s;if(typeof t.dropShadow=="boolean"&&t.dropShadow){const e=N.defaultDropShadow;s.dropShadow={alpha:t.dropShadowAlpha??e.alpha,angle:t.dropShadowAngle??e.angle,blur:t.dropShadowBlur??e.blur,color:t.dropShadowColor??e.color,distance:t.dropShadowDistance??e.distance}}if(t.strokeThickness!==void 0){W(O,"strokeThickness is now a part of stroke");const e=t.stroke;let i={};if(Z.isColorLike(e))i.color=e;else if(e instanceof De||e instanceof bi)i.fill=e;else if(Object.hasOwnProperty.call(e,"color")||Object.hasOwnProperty.call(e,"fill"))i=e;else throw new Error("Invalid stroke value.");s.stroke={...i,width:t.strokeThickness}}if(Array.isArray(t.fillGradientStops)){W(O,"gradient fill is now a fill pattern: `new FillGradient(...)`");let e;s.fontSize==null?s.fontSize=N.defaultTextStyle.fontSize:typeof s.fontSize=="string"?e=parseInt(s.fontSize,10):e=s.fontSize;const i=new De(0,0,0,e*1.7),n=t.fillGradientStops.map(r=>Z.shared.setValue(r).toNumber());n.forEach((r,a)=>{const o=a/(n.length-1);i.addColorStop(o,r)}),s.fill={fill:i}}}class fc{constructor(t){this._canvasPool=Object.create(null),this.canvasOptions=t||{},this.enableFullScreen=!1}_createCanvasAndContext(t,e){const i=Q.get().createCanvas();i.width=t,i.height=e;const n=i.getContext("2d");return{canvas:i,context:n}}getOptimalCanvasAndContext(t,e,i=1){t=Math.ceil(t*i-1e-6),e=Math.ceil(e*i-1e-6),t=qs(t),e=qs(e);const n=(t<<17)+(e<<1);this._canvasPool[n]||(this._canvasPool[n]=[]);let r=this._canvasPool[n].pop();return r||(r=this._createCanvasAndContext(t,e)),r}returnCanvasAndContext(t){const e=t.canvas,{width:i,height:n}=e,r=(i<<17)+(n<<1);this._canvasPool[r].push(t)}clear(){this._canvasPool={}}}const On=new fc,pc=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];function ms(s){const t=typeof s.fontSize=="number"?`${s.fontSize}px`:s.fontSize;let e=s.fontFamily;Array.isArray(s.fontFamily)||(e=s.fontFamily.split(","));for(let i=e.length-1;i>=0;i--){let n=e[i].trim();!/([\"\'])[^\'\"]+\1/.test(n)&&!pc.includes(n)&&(n=`"${n}"`),e[i]=n}return`${s.fontStyle} ${s.fontVariant} ${s.fontWeight} ${t} ${e.join(",")}`}const ji={willReadFrequently:!0},bt=class A{static get experimentalLetterSpacingSupported(){let t=A._experimentalLetterSpacingSupported;if(t!==void 0){const e=Q.get().getCanvasRenderingContext2D().prototype;t=A._experimentalLetterSpacingSupported="letterSpacing"in e||"textLetterSpacing"in e}return t}constructor(t,e,i,n,r,a,o,h,l){this.text=t,this.style=e,this.width=i,this.height=n,this.lines=r,this.lineWidths=a,this.lineHeight=o,this.maxLineWidth=h,this.fontProperties=l}static measureText(t=" ",e,i=A._canvas,n=e.wordWrap){var w;const r=`${t}:${e.styleKey}`;if(A._measurementCache[r])return A._measurementCache[r];const a=ms(e),o=A.measureFont(a);o.fontSize===0&&(o.fontSize=e.fontSize,o.ascent=e.fontSize);const h=A.__context;h.font=a;const c=(n?A._wordWrap(t,e,i):t).split(/(?:\r\n|\r|\n)/),d=new Array(c.length);let u=0;for(let b=0;b0&&(n?r-=e:r+=(A.graphemeSegmenter(t).length-1)*e),r}static _wordWrap(t,e,i=A._canvas){const n=i.getContext("2d",ji);let r=0,a="",o="";const h=Object.create(null),{letterSpacing:l,whiteSpace:c}=e,d=A._collapseSpaces(c),u=A._collapseNewlines(c);let f=!d;const m=e.wordWrapWidth+l,y=A._tokenize(t);for(let x=0;xm)if(a!==""&&(o+=A._addLine(a),a="",r=0),A.canBreakWords(_,e.breakWords)){const b=A.wordWrapSplit(_);for(let S=0;Sm&&(o+=A._addLine(a),f=!1,a="",r=0),a+=T,r+=k}}else{a.length>0&&(o+=A._addLine(a),a="",r=0);const b=x===y.length-1;o+=A._addLine(_,!b),f=!1,a="",r=0}else w+r>m&&(f=!1,o+=A._addLine(a),a="",r=0),(a.length>0||!A.isBreakingSpace(_)||f)&&(a+=_,r+=w)}return o+=A._addLine(a,!1),o}static _addLine(t,e=!0){return t=A._trimRight(t),t=e?`${t} +`:t,t}static _getFromCache(t,e,i,n){let r=i[t];return typeof r!="number"&&(r=A._measureText(t,e,n)+e,i[t]=r),r}static _collapseSpaces(t){return t==="normal"||t==="pre-line"}static _collapseNewlines(t){return t==="normal"}static _trimRight(t){if(typeof t!="string")return"";for(let e=t.length-1;e>=0;e--){const i=t[e];if(!A.isBreakingSpace(i))break;t=t.slice(0,-1)}return t}static _isNewline(t){return typeof t!="string"?!1:A._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?!1:A._breakingSpaces.includes(t.charCodeAt(0))}static _tokenize(t){const e=[];let i="";if(typeof t!="string")return e;for(let n=0;n{if(typeof(Intl==null?void 0:Intl.Segmenter)=="function"){const s=new Intl.Segmenter;return t=>[...s.segment(t)].map(e=>e.segment)}return s=>[...s]})();bt.experimentalLetterSpacing=!1;bt._fonts={};bt._newlines=[10,13];bt._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];bt._measurementCache={};let xs=bt;function Nn(s,t){if(s.texture===D.WHITE&&!s.fill)return Z.shared.setValue(s.color).setAlpha(s.alpha??1).toHexa();if(s.fill){if(s.fill instanceof bi){const e=s.fill,i=t.createPattern(e.texture.source.resource,"repeat"),n=e.transform.copyTo(H.shared);return n.scale(e.texture.frame.width,e.texture.frame.height),i.setTransform(n),i}else if(s.fill instanceof De){const e=s.fill;if(e.type==="linear"){const i=t.createLinearGradient(e.x0,e.y0,e.x1,e.y1);return e.gradientStops.forEach(n=>{i.addColorStop(n.offset,Z.shared.setValue(n.color).toHex())}),i}}}else{const e=t.createPattern(s.texture.source.resource,"repeat"),i=s.matrix.copyTo(H.shared);return i.scale(s.texture.frame.width,s.texture.frame.height),e.setTransform(i),e}return it("FillStyle not recognised",s),"red"}function ua(s){if(s==="")return[];typeof s=="string"&&(s=[s]);const t=[];for(let e=0,i=s.length;e!this._currentChars.includes(_)).filter((_,w,b)=>b.indexOf(_)===w);if(!e.length)return;this._currentChars=[...this._currentChars,...e];let i;this._currentPageIndex===-1?i=this._nextPage():i=this.pages[this._currentPageIndex];let{canvas:n,context:r}=i.canvasAndContext,a=i.texture.source;const o=this._style;let h=this._currentX,l=this._currentY;const c=this.baseRenderedFontSize/this.baseMeasurementFontSize,d=this._padding*c,u=o.fontStyle==="italic"?2:1;let f=0,m=!1;for(let _=0;_this._textureSize&&(l+=f,f=M,h=0,l+f>this._textureSize)){a.update();const v=this._nextPage();n=v.canvasAndContext.canvas,r=v.canvasAndContext.context,a=v.texture.source,l=0}const k=S/c-(((y=o.dropShadow)==null?void 0:y.distance)??0)-(((x=o._stroke)==null?void 0:x.width)??0);if(this.chars[w]={id:w.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:k,kerning:{}},m){this._drawGlyph(r,b,h+d,l+d,c,o);const v=a.width*c,C=a.height*c,K=new z(h/v*a.width,l/C*a.height,E/v*a.width,M/C*a.height);this.chars[w].texture=new D({source:a,frame:K}),h+=Math.ceil(E)}}a.update(),this._currentX=h,this._currentY=l,this._skipKerning&&this._applyKerning(e,r)}get pageTextures(){return W(O,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(t,e){const i=this._measureCache;for(let n=0;n{const y=r.width;for(let x=0;x{let m=r.chars.length-1;if(i){let y=r.chars[m];for(;y===" ";)r.width-=e.chars[y].xAdvance,y=r.chars[--m]}n.width=Math.max(n.width,r.width),r={width:0,charPositions:[],chars:[],spaceWidth:0,spacesIndex:[]},o=!0,n.lines.push(r),n.height+=e.lineHeight},d=e.baseMeasurementFontSize/t.fontSize,u=t.letterSpacing*d,f=t.wordWrapWidth*d;for(let m=0;mf?(c(),l(h),x||r.charPositions.push(0)):(h.start=r.width,l(h),x||r.charPositions.push(0)),y==="\r"||y===` +`)r.width!==0&&c();else if(!x){const T=_.xAdvance+(_.kerning[a]||0)+u;r.width+=T,r.spaceWidth=T,r.spacesIndex.push(r.charPositions.length),r.chars.push(y)}}else{const S=_.kerning[a]||0,T=_.xAdvance+S+u;h.positions[h.index++]=h.width+S,h.chars.push(y),h.width+=T}a=y}return c(),t.align==="center"?mc(n):t.align==="right"?xc(n):t.align==="justify"&&yc(n),n}function mc(s){for(let t=0;t50&&it("BitmapText",`You have dynamically created ${ri} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),o.once("destroy",()=>{ri--,j.remove(i)}),j.set(i,o)}const r=j.get(i);return(a=r.ensureCharacters)==null||a.call(r,t),r}getLayout(t,e,i=!0){const n=this.getFont(t,e);return gc([...t],e,n,i)}measureText(t,e,i=!0){return this.getLayout(t,e,i)}install(...t){var l,c,d,u;let e=t[0];typeof e=="string"&&(e={name:e,style:t[1],chars:(l=t[2])==null?void 0:l.chars,resolution:(c=t[2])==null?void 0:c.resolution,padding:(d=t[2])==null?void 0:d.padding,skipKerning:(u=t[2])==null?void 0:u.skipKerning},W(O,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));const i=e==null?void 0:e.name;if(!i)throw new Error("[BitmapFontManager] Property `name` is required.");e={...this.defaultOptions,...e};const n=e.style,r=n instanceof N?n:new N(n),a=r._fill.fill!==null&&r._fill.fill!==void 0,o=new Hn({style:r,overrideFill:a,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:!1}),h=ua(e.chars);return o.ensureCharacters(h.join("")),j.set(`${i}-bitmap`,o),o.once("destroy",()=>j.remove(`${i}-bitmap`)),o}uninstall(t){const e=`${t}-bitmap`,i=j.get(e);i&&(j.remove(e),i.destroy())}}const $n=new _c;class ga extends Xr{constructor(t,e){super();const{textures:i,data:n}=t;Object.keys(n.pages).forEach(r=>{const a=n.pages[parseInt(r,10)],o=i[a.id];this.pages.push({texture:o})}),Object.keys(n.chars).forEach(r=>{const a=n.chars[r],{frame:o,source:h}=i[a.page],l=new z(a.x+o.x,a.y+o.y,a.width,a.height),c=new D({source:h,frame:l});this.chars[r]={id:r.codePointAt(0),xOffset:a.xOffset,yOffset:a.yOffset,xAdvance:a.xAdvance,kerning:a.kerning??{},texture:c}}),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=e}destroy(){super.destroy();for(let t=0;t")?Vn.test(Q.get().parseXML(s)):!1},parse(s){return Vn.parse(Q.get().parseXML(s))}},wc=[".xml",".fnt"],bc={extension:{type:P.CacheParser,name:"cacheBitmapFont"},test:s=>s instanceof ga,getCacheableAssets(s,t){const e={};return s.forEach(i=>{e[i]=t,e[`${i}-bitmap`]=t}),e[`${t.fontFamily}-bitmap`]=t,e}},Sc={extension:{type:P.LoadParser,priority:Nt.Normal},name:"loadBitmapFont",test(s){return wc.includes(ft.extname(s).toLowerCase())},async testParse(s){return qi.test(s)||Xn.test(s)},async parse(s,t,e){const i=qi.test(s)?qi.parse(s):Xn.parse(s),{src:n}=t,{pages:r}=i,a=[],o=i.distanceField?{scaleMode:"linear",alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:!1,resolution:1}:{};for(let d=0;dh[d.src]);return new ga({data:i,textures:l},n)},async load(s,t){return await(await Q.get().fetch(s)).text()},async unload(s,t,e){await Promise.all(s.pages.map(i=>e.unload(i.texture.source._sourceOrigin))),s.destroy()}};class vc{constructor(t,e=!1){this._loader=t,this._assetList=[],this._isLoading=!1,this._maxConcurrent=1,this.verbose=e}add(t){t.forEach(e=>{this._assetList.push(e)}),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;const t=[],e=Math.min(this._assetList.length,this._maxConcurrent);for(let i=0;iArray.isArray(s)&&s.every(t=>t instanceof D),getCacheableAssets:(s,t)=>{const e={};return s.forEach(i=>{t.forEach((n,r)=>{e[i+(r===0?"":r+1)]=n})}),e}};async function ma(s){if("Image"in globalThis)return new Promise(t=>{const e=new Image;e.onload=()=>{t(!0)},e.onerror=()=>{t(!1)},e.src=s});if("createImageBitmap"in globalThis&&"fetch"in globalThis){try{const t=await(await fetch(s)).blob();await createImageBitmap(t)}catch{return!1}return!0}return!1}const Tc={extension:{type:P.DetectionParser,priority:1},test:async()=>ma("data:image/avif;base64,AAAAIGZ0eXBhdmlmAAAAAGF2aWZtaWYxbWlhZk1BMUIAAADybWV0YQAAAAAAAAAoaGRscgAAAAAAAAAAcGljdAAAAAAAAAAAAAAAAGxpYmF2aWYAAAAADnBpdG0AAAAAAAEAAAAeaWxvYwAAAABEAAABAAEAAAABAAABGgAAAB0AAAAoaWluZgAAAAAAAQAAABppbmZlAgAAAAABAABhdjAxQ29sb3IAAAAAamlwcnAAAABLaXBjbwAAABRpc3BlAAAAAAAAAAIAAAACAAAAEHBpeGkAAAAAAwgICAAAAAxhdjFDgQ0MAAAAABNjb2xybmNseAACAAIAAYAAAAAXaXBtYQAAAAAAAAABAAEEAQKDBAAAACVtZGF0EgAKCBgANogQEAwgMg8f8D///8WfhwB8+ErK42A="),add:async s=>[...s,"avif"],remove:async s=>s.filter(t=>t!=="avif")},Yn=["png","jpg","jpeg"],Ac={extension:{type:P.DetectionParser,priority:-1},test:()=>Promise.resolve(!0),add:async s=>[...s,...Yn],remove:async s=>s.filter(t=>!Yn.includes(t))},Mc="WorkerGlobalScope"in globalThis&&globalThis instanceof globalThis.WorkerGlobalScope;function Es(s){return Mc?!1:document.createElement("video").canPlayType(s)!==""}const Pc={extension:{type:P.DetectionParser,priority:0},test:async()=>Es("video/mp4"),add:async s=>[...s,"mp4","m4v"],remove:async s=>s.filter(t=>t!=="mp4"&&t!=="m4v")},kc={extension:{type:P.DetectionParser,priority:0},test:async()=>Es("video/ogg"),add:async s=>[...s,"ogv"],remove:async s=>s.filter(t=>t!=="ogv")},Gc={extension:{type:P.DetectionParser,priority:0},test:async()=>Es("video/webm"),add:async s=>[...s,"webm"],remove:async s=>s.filter(t=>t!=="webm")},Ic={extension:{type:P.DetectionParser,priority:0},test:async()=>ma("data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAAAAAAfQ//73v/+BiOh/AAA="),add:async s=>[...s,"webp"],remove:async s=>s.filter(t=>t!=="webp")};class Bc{constructor(){this._parsers=[],this._parsersValidated=!1,this.parsers=new Proxy(this._parsers,{set:(t,e,i)=>(this._parsersValidated=!1,t[e]=i,!0)}),this.promiseCache={}}reset(){this._parsersValidated=!1,this.promiseCache={}}_getLoadPromiseAndParser(t,e){const i={promise:null,parser:null};return i.promise=(async()=>{var a,o;let n=null,r=null;if(e.loadParser&&(r=this._parserHash[e.loadParser],r||it(`[Assets] specified load parser "${e.loadParser}" not found while loading ${t}`)),!r){for(let h=0;h({alias:[l],src:l,data:{}})),o=a.length,h=a.map(async l=>{const c=ft.toAbsolute(l.src);if(!n[l.src])try{this.promiseCache[c]||(this.promiseCache[c]=this._getLoadPromiseAndParser(c,l)),n[l.src]=await this.promiseCache[c].promise,e&&e(++i/o)}catch(d){throw delete this.promiseCache[c],delete n[l.src],new Error(`[Loader.load] Failed to load ${c}. +${d}`)}});return await Promise.all(h),r?n[a[0].src]:n}async unload(t){const i=_t(t,n=>({alias:[n],src:n})).map(async n=>{var o,h;const r=ft.toAbsolute(n.src),a=this.promiseCache[r];if(a){const l=await a.promise;delete this.promiseCache[r],await((h=(o=a.parser)==null?void 0:o.unload)==null?void 0:h.call(o,l,n,this))}});await Promise.all(i)}_validateParsers(){this._parsersValidated=!0,this._parserHash=this._parsers.filter(t=>t.name).reduce((t,e)=>(e.name?t[e.name]&&it(`[Assets] loadParser name conflict "${e.name}"`):it("[Assets] loadParser should have a name"),{...t,[e.name]:e}),{})}}function me(s,t){if(Array.isArray(t)){for(const e of t)if(s.startsWith(`data:${e}`))return!0;return!1}return s.startsWith(`data:${t}`)}function xe(s,t){const e=s.split("?")[0],i=ft.extname(e).toLowerCase();return Array.isArray(t)?t.includes(i):i===t}const Ec=".json",Rc="application/json",Fc={extension:{type:P.LoadParser,priority:Nt.Low},name:"loadJson",test(s){return me(s,Rc)||xe(s,Ec)},async load(s){return await(await Q.get().fetch(s)).json()}},Lc=".txt",Dc="text/plain",zc={name:"loadTxt",extension:{type:P.LoadParser,priority:Nt.Low,name:"loadTxt"},test(s){return me(s,Dc)||xe(s,Lc)},async load(s){return await(await Q.get().fetch(s)).text()}},Uc=["normal","bold","100","200","300","400","500","600","700","800","900"],Wc=[".ttf",".otf",".woff",".woff2"],Oc=["font/ttf","font/otf","font/woff","font/woff2"],Nc=/^(--|-?[A-Z_])[0-9A-Z_-]*$/i;function Hc(s){const t=ft.extname(s),n=ft.basename(s,t).replace(/(-|_)/g," ").toLowerCase().split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1));let r=n.length>0;for(const o of n)if(!o.match(Nc)){r=!1;break}let a=n.join(" ");return r||(a=`"${a.replace(/[\\"]/g,"\\$&")}"`),a}const $c=/^[0-9A-Za-z%:/?#\[\]@!\$&'()\*\+,;=\-._~]*$/;function Vc(s){return $c.test(s)?s:encodeURI(s)}const Xc={extension:{type:P.LoadParser,priority:Nt.Low},name:"loadWebFont",test(s){return me(s,Oc)||xe(s,Wc)},async load(s,t){var i,n,r;const e=Q.get().getFontFaceSet();if(e){const a=[],o=((i=t.data)==null?void 0:i.family)??Hc(s),h=((r=(n=t.data)==null?void 0:n.weights)==null?void 0:r.filter(c=>Uc.includes(c)))??["normal"],l=t.data??{};for(let c=0;c{j.remove(t.family),Q.get().getFontFaceSet().delete(t)})}};function Rs(s,t=1){var i;const e=(i=ge.RETINA_PREFIX)==null?void 0:i.exec(s);return e?parseFloat(e[1]):t}function Fs(s,t,e){s.label=e,s._sourceOrigin=e;const i=new D({source:s,label:e}),n=()=>{delete t.promiseCache[e],j.has(e)&&j.remove(e)};return i.source.once("destroy",()=>{t.promiseCache[e]&&(it("[Assets] A TextureSource managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the TextureSource."),n())}),i.once("destroy",()=>{s.destroyed||(it("[Assets] A Texture managed by Assets was destroyed instead of unloaded! Use Assets.unload() instead of destroying the Texture."),n())}),i}const Yc=".svg",jc="image/svg+xml",qc={extension:{type:P.LoadParser,priority:Nt.Low,name:"loadSVG"},name:"loadSVG",config:{crossOrigin:"anonymous",parseAsGraphicsContext:!1},test(s){return me(s,jc)||xe(s,Yc)},async load(s,t,e){return t.data.parseAsGraphicsContext??this.config.parseAsGraphicsContext?Zc(s):Kc(s,t,e,this.config.crossOrigin)},unload(s){s.destroy(!0)}};async function Kc(s,t,e,i){var x,_,w;const r=await(await Q.get().fetch(s)).blob(),a=URL.createObjectURL(r),o=new Image;o.src=a,o.crossOrigin=i,await o.decode(),URL.revokeObjectURL(a);const h=document.createElement("canvas"),l=h.getContext("2d"),c=((x=t.data)==null?void 0:x.resolution)||Rs(s),d=((_=t.data)==null?void 0:_.width)??o.width,u=((w=t.data)==null?void 0:w.height)??o.height;h.width=d*c,h.height=u*c,l.drawImage(o,0,0,d*c,u*c);const{parseAsGraphicsContext:f,...m}=t.data,y=new pe({resource:h,alphaMode:"premultiply-alpha-on-upload",resolution:c,...m});return Fs(y,e,s)}async function Zc(s){const e=await(await Q.get().fetch(s)).text(),i=new pt;return i.svg(e),i}const Qc=`(function () { + 'use strict'; + + const WHITE_PNG = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+ip1sAAAAASUVORK5CYII="; + async function checkImageBitmap() { + try { + if (typeof createImageBitmap !== "function") + return false; + const response = await fetch(WHITE_PNG); + const imageBlob = await response.blob(); + const imageBitmap = await createImageBitmap(imageBlob); + return imageBitmap.width === 1 && imageBitmap.height === 1; + } catch (e) { + return false; + } + } + void checkImageBitmap().then((result) => { + self.postMessage(result); + }); + +})(); +`;let le=null,ys=class{constructor(){le||(le=URL.createObjectURL(new Blob([Qc],{type:"application/javascript"}))),this.worker=new Worker(le)}};ys.revokeObjectURL=function(){le&&(URL.revokeObjectURL(le),le=null)};const Jc=`(function () { + 'use strict'; + + async function loadImageBitmap(url, alphaMode) { + const response = await fetch(url); + if (!response.ok) { + throw new Error(\`[WorkerManager.loadImageBitmap] Failed to fetch \${url}: \${response.status} \${response.statusText}\`); + } + const imageBlob = await response.blob(); + return alphaMode === "premultiplied-alpha" ? createImageBitmap(imageBlob, { premultiplyAlpha: "none" }) : createImageBitmap(imageBlob); + } + self.onmessage = async (event) => { + try { + const imageBitmap = await loadImageBitmap(event.data.data[0], event.data.data[1]); + self.postMessage({ + data: imageBitmap, + uuid: event.data.uuid, + id: event.data.id + }, [imageBitmap]); + } catch (e) { + self.postMessage({ + error: e, + uuid: event.data.uuid, + id: event.data.id + }); + } + }; + +})(); +`;let ce=null;class xa{constructor(){ce||(ce=URL.createObjectURL(new Blob([Jc],{type:"application/javascript"}))),this.worker=new Worker(ce)}}xa.revokeObjectURL=function(){ce&&(URL.revokeObjectURL(ce),ce=null)};let jn=0,Ki;class td{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(t=>{const{worker:e}=new ys;e.addEventListener("message",i=>{e.terminate(),ys.revokeObjectURL(),t(i.data)})}),this._isImageBitmapSupported)}loadImageBitmap(t,e){var i;return this._run("loadImageBitmap",[t,(i=e==null?void 0:e.data)==null?void 0:i.alphaMode])}async _initWorkers(){this._initialized||(this._initialized=!0)}_getWorker(){Ki===void 0&&(Ki=navigator.hardwareConcurrency||4);let t=this._workerPool.pop();return!t&&this._createdWorkers{this._complete(e.data),this._returnWorker(e.target),this._next()})),t}_returnWorker(t){this._workerPool.push(t)}_complete(t){t.error!==void 0?this._resolveHash[t.uuid].reject(t.error):this._resolveHash[t.uuid].resolve(t.data),this._resolveHash[t.uuid]=null}async _run(t,e){await this._initWorkers();const i=new Promise((n,r)=>{this._queue.push({id:t,arguments:e,resolve:n,reject:r})});return this._next(),i}_next(){if(!this._queue.length)return;const t=this._getWorker();if(!t)return;const e=this._queue.pop(),i=e.id;this._resolveHash[jn]={resolve:e.resolve,reject:e.reject},t.postMessage({data:e.arguments,uuid:jn++,id:i})}}const qn=new td,ed=[".jpeg",".jpg",".png",".webp",".avif"],id=["image/jpeg","image/png","image/webp","image/avif"];async function sd(s,t){var n;const e=await Q.get().fetch(s);if(!e.ok)throw new Error(`[loadImageBitmap] Failed to fetch ${s}: ${e.status} ${e.statusText}`);const i=await e.blob();return((n=t==null?void 0:t.data)==null?void 0:n.alphaMode)==="premultiplied-alpha"?createImageBitmap(i,{premultiplyAlpha:"none"}):createImageBitmap(i)}const ya={name:"loadTextures",extension:{type:P.LoadParser,priority:Nt.High,name:"loadTextures"},config:{preferWorkers:!0,preferCreateImageBitmap:!0,crossOrigin:"anonymous"},test(s){return me(s,id)||xe(s,ed)},async load(s,t,e){var r;let i=null;globalThis.createImageBitmap&&this.config.preferCreateImageBitmap?this.config.preferWorkers&&await qn.isImageBitmapSupported()?i=await qn.loadImageBitmap(s,t):i=await sd(s,t):i=await new Promise(a=>{i=new Image,i.crossOrigin=this.config.crossOrigin,i.src=s,i.complete?a(i):i.onload=()=>{a(i)}});const n=new pe({resource:i,alphaMode:"premultiply-alpha-on-upload",resolution:((r=t.data)==null?void 0:r.resolution)||Rs(s),...t.data});return Fs(n,e,s)},unload(s){s.destroy(!0)}},_a=[".mp4",".m4v",".webm",".ogg",".ogv",".h264",".avi",".mov"],nd=_a.map(s=>`video/${s.substring(1)}`);function rd(s,t,e){e===void 0&&!t.startsWith("data:")?s.crossOrigin=od(t):e!==!1&&(s.crossOrigin=typeof e=="string"?e:"anonymous")}function ad(s){return new Promise((t,e)=>{s.addEventListener("canplaythrough",i),s.addEventListener("error",n),s.load();function i(){r(),t()}function n(a){r(),e(a)}function r(){s.removeEventListener("canplaythrough",i),s.removeEventListener("error",n)}})}function od(s,t=globalThis.location){if(s.startsWith("data:"))return"";t=t||globalThis.location;const e=new URL(s,document.baseURI);return e.hostname!==t.hostname||e.port!==t.port||e.protocol!==t.protocol?"anonymous":""}const hd={name:"loadVideo",extension:{type:P.LoadParser,name:"loadVideo"},test(s){const t=me(s,nd),e=xe(s,_a);return t||e},async load(s,t,e){var h,l;const i={...ai.defaultOptions,resolution:((h=t.data)==null?void 0:h.resolution)||Rs(s),alphaMode:((l=t.data)==null?void 0:l.alphaMode)||await Sr(),...t.data},n=document.createElement("video"),r={preload:i.autoLoad!==!1?"auto":void 0,"webkit-playsinline":i.playsinline!==!1?"":void 0,playsinline:i.playsinline!==!1?"":void 0,muted:i.muted===!0?"":void 0,loop:i.loop===!0?"":void 0,autoplay:i.autoPlay!==!1?"":void 0};Object.keys(r).forEach(c=>{const d=r[c];d!==void 0&&n.setAttribute(c,d)}),i.muted===!0&&(n.muted=!0),rd(n,s,i.crossorigin);const a=document.createElement("source");let o;if(s.startsWith("data:"))o=s.slice(5,s.indexOf(";"));else if(!s.startsWith("blob:")){const c=s.split("?")[0].slice(s.lastIndexOf(".")+1).toLowerCase();o=ai.MIME_TYPES[c]||`video/${c}`}return a.src=s,o&&(a.type=o),new Promise(c=>{const d=async()=>{const u=new ai({...i,resource:n});n.removeEventListener("canplay",d),t.data.preload&&await ad(n),c(Fs(u,e,s))};n.addEventListener("canplay",d),n.appendChild(a)})},unload(s){s.destroy(!0)}},wa={extension:{type:P.ResolveParser,name:"resolveTexture"},test:ya.test,parse:s=>{var t;return{resolution:parseFloat(((t=ge.RETINA_PREFIX.exec(s))==null?void 0:t[1])??"1"),format:s.split(".").pop(),src:s}}},ld={extension:{type:P.ResolveParser,priority:-2,name:"resolveJson"},test:s=>ge.RETINA_PREFIX.test(s)&&s.endsWith(".json"),parse:wa.parse};class cd{constructor(){this._detections=[],this._initialized=!1,this.resolver=new ge,this.loader=new Bc,this.cache=j,this._backgroundLoader=new vc(this.loader),this._backgroundLoader.active=!0,this.reset()}async init(t={}){var r,a;if(this._initialized){it("[Assets]AssetManager already initialized, did you load before calling this Assets.init()?");return}if(this._initialized=!0,t.defaultSearchParams&&this.resolver.setDefaultSearchParams(t.defaultSearchParams),t.basePath&&(this.resolver.basePath=t.basePath),t.bundleIdentifier&&this.resolver.setBundleIdentifier(t.bundleIdentifier),t.manifest){let o=t.manifest;typeof o=="string"&&(o=await this.load(o)),this.resolver.addManifest(o)}const e=((r=t.texturePreference)==null?void 0:r.resolution)??1,i=typeof e=="number"?[e]:e,n=await this._detectFormats({preferredFormats:(a=t.texturePreference)==null?void 0:a.format,skipDetections:t.skipDetections,detections:this._detections});this.resolver.prefer({params:{format:n,resolution:i}}),t.preferences&&this.setPreferences(t.preferences)}add(t){this.resolver.add(t)}async load(t,e){this._initialized||await this.init();const i=fi(t),n=_t(t).map(o=>{if(typeof o!="string"){const h=this.resolver.getAlias(o);return h.some(l=>!this.resolver.hasKey(l))&&this.add(o),Array.isArray(h)?h[0]:h}return this.resolver.hasKey(o)||this.add({alias:o,src:o}),o}),r=this.resolver.resolve(n),a=await this._mapLoadToResolve(r,e);return i?a[n[0]]:a}addBundle(t,e){this.resolver.addBundle(t,e)}async loadBundle(t,e){this._initialized||await this.init();let i=!1;typeof t=="string"&&(i=!0,t=[t]);const n=this.resolver.resolveBundle(t),r={},a=Object.keys(n);let o=0,h=0;const l=()=>{e==null||e(++o/h)},c=a.map(d=>{const u=n[d];return h+=Object.keys(u).length,this._mapLoadToResolve(u,l).then(f=>{r[d]=f})});return await Promise.all(c),i?r[t[0]]:r}async backgroundLoad(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const e=this.resolver.resolve(t);this._backgroundLoader.add(Object.values(e))}async backgroundLoadBundle(t){this._initialized||await this.init(),typeof t=="string"&&(t=[t]);const e=this.resolver.resolveBundle(t);Object.values(e).forEach(i=>{this._backgroundLoader.add(Object.values(i))})}reset(){this.resolver.reset(),this.loader.reset(),this.cache.reset(),this._initialized=!1}get(t){if(typeof t=="string")return j.get(t);const e={};for(let i=0;i{const o=n[a.src],h=[a.src];a.alias&&h.push(...a.alias),h.forEach(l=>{r[l]=o}),j.set(h,o)}),r}async unload(t){this._initialized||await this.init();const e=_t(t).map(n=>typeof n!="string"?n.src:n),i=this.resolver.resolve(e);await this._unloadFromResolved(i)}async unloadBundle(t){this._initialized||await this.init(),t=_t(t);const e=this.resolver.resolveBundle(t),i=Object.keys(e).map(n=>this._unloadFromResolved(e[n]));await Promise.all(i)}async _unloadFromResolved(t){const e=Object.values(t);e.forEach(i=>{j.remove(i.src)}),await this.loader.unload(e)}async _detectFormats(t){let e=[];t.preferredFormats&&(e=Array.isArray(t.preferredFormats)?t.preferredFormats:[t.preferredFormats]);for(const i of t.detections)t.skipDetections||await i.test()?e=await i.add(e):t.skipDetections||(e=await i.remove(e));return e=e.filter((i,n)=>e.indexOf(i)===n),e}get detections(){return this._detections}setPreferences(t){this.loader.parsers.forEach(e=>{e.config&&Object.keys(e.config).filter(i=>i in t).forEach(i=>{e.config[i]=t[i]})})}}const Ge=new cd;ht.handleByList(P.LoadParser,Ge.loader.parsers).handleByList(P.ResolveParser,Ge.resolver.parsers).handleByList(P.CacheParser,Ge.cache.parsers).handleByList(P.DetectionParser,Ge.detections);ht.add(Cc,Ac,Tc,Ic,Pc,kc,Gc,Fc,zc,Xc,qc,ya,hd,Sc,bc,wa,ld);const Kn={loader:P.LoadParser,resolver:P.ResolveParser,cache:P.CacheParser,detection:P.DetectionParser};ht.handle(P.Asset,s=>{const t=s.ref;Object.entries(Kn).filter(([e])=>!!t[e]).forEach(([e,i])=>ht.add(Object.assign(t[e],{extension:t[e].extension??i})))},s=>{const t=s.ref;Object.keys(Kn).filter(e=>!!t[e]).forEach(e=>ht.remove(t[e]))});class wt extends mi{constructor(t){t instanceof pt&&(t={context:t});const{context:e,roundPixels:i,...n}=t||{};super({label:"Graphics",...n}),this.renderPipeId="graphics",e?this._context=e:this._context=this._ownedContext=new pt,this._context.on("update",this.onViewUpdate,this),this.allowChildren=!1,this.roundPixels=i??!1}set context(t){t!==this._context&&(this._context.off("update",this.onViewUpdate,this),this._context=t,this._context.on("update",this.onViewUpdate,this),this.onViewUpdate())}get context(){return this._context}get bounds(){return this._context.bounds}addBounds(t){t.addBounds(this._context.bounds)}containsPoint(t){return this._context.containsPoint(t)}onViewUpdate(){if(this._didViewChangeTick++,this._didGraphicsUpdate=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}destroy(t){this._ownedContext&&!t?this._ownedContext.destroy(t):(t===!0||(t==null?void 0:t.context)===!0)&&this._context.destroy(t),this._ownedContext=null,this._context=null,super.destroy(t)}_callContextMethod(t,e){return this.context[t](...e),this}setFillStyle(...t){return this._callContextMethod("setFillStyle",t)}setStrokeStyle(...t){return this._callContextMethod("setStrokeStyle",t)}fill(...t){return this._callContextMethod("fill",t)}stroke(...t){return this._callContextMethod("stroke",t)}texture(...t){return this._callContextMethod("texture",t)}beginPath(){return this._callContextMethod("beginPath",[])}cut(){return this._callContextMethod("cut",[])}arc(...t){return this._callContextMethod("arc",t)}arcTo(...t){return this._callContextMethod("arcTo",t)}arcToSvg(...t){return this._callContextMethod("arcToSvg",t)}bezierCurveTo(...t){return this._callContextMethod("bezierCurveTo",t)}closePath(){return this._callContextMethod("closePath",[])}ellipse(...t){return this._callContextMethod("ellipse",t)}circle(...t){return this._callContextMethod("circle",t)}path(...t){return this._callContextMethod("path",t)}lineTo(...t){return this._callContextMethod("lineTo",t)}moveTo(...t){return this._callContextMethod("moveTo",t)}quadraticCurveTo(...t){return this._callContextMethod("quadraticCurveTo",t)}rect(...t){return this._callContextMethod("rect",t)}roundRect(...t){return this._callContextMethod("roundRect",t)}poly(...t){return this._callContextMethod("poly",t)}regularPoly(...t){return this._callContextMethod("regularPoly",t)}roundPoly(...t){return this._callContextMethod("roundPoly",t)}roundShape(...t){return this._callContextMethod("roundShape",t)}filletRect(...t){return this._callContextMethod("filletRect",t)}chamferRect(...t){return this._callContextMethod("chamferRect",t)}star(...t){return this._callContextMethod("star",t)}svg(...t){return this._callContextMethod("svg",t)}restore(...t){return this._callContextMethod("restore",t)}save(){return this._callContextMethod("save",[])}getTransform(){return this.context.getTransform()}resetTransform(){return this._callContextMethod("resetTransform",[])}rotateTransform(...t){return this._callContextMethod("rotate",t)}scaleTransform(...t){return this._callContextMethod("scale",t)}setTransform(...t){return this._callContextMethod("setTransform",t)}transform(...t){return this._callContextMethod("transform",t)}translateTransform(...t){return this._callContextMethod("translate",t)}clear(){return this._callContextMethod("clear",[])}get fillStyle(){return this._context.fillStyle}set fillStyle(t){this._context.fillStyle=t}get strokeStyle(){return this._context.strokeStyle}set strokeStyle(t){this._context.strokeStyle=t}clone(t=!1){return t?new wt(this._context.clone()):(this._ownedContext=null,new wt(this._context))}lineStyle(t,e,i){W(O,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");const n={};return t&&(n.width=t),e&&(n.color=e),i&&(n.alpha=i),this.context.strokeStyle=n,this}beginFill(t,e){W(O,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");const i={};return t&&(i.color=t),e&&(i.alpha=e),this.context.fillStyle=i,this}endFill(){W(O,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();const t=this.context.strokeStyle;return(t.width!==pt.defaultStrokeStyle.width||t.color!==pt.defaultStrokeStyle.color||t.alpha!==pt.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return W(O,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return W(O,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return W(O,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return W(O,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return W(O,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return W(O,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}}const ba=class Sa extends Jr{constructor(...t){let e=t[0]??{};e instanceof Float32Array&&(W(O,"use new MeshGeometry({ positions, uvs, indices }) instead"),e={positions:e,uvs:t[1],indices:t[2]}),e={...Sa.defaultOptions,...e};const i=e.positions||new Float32Array([0,0,1,0,1,1,0,1]),n=e.uvs||new Float32Array([0,0,1,0,1,1,0,1]),r=e.indices||new Uint32Array([0,1,2,0,2,3]),a=e.shrinkBuffersToFit,o=new Ut({data:i,label:"attribute-mesh-positions",shrinkToFit:a,usage:et.VERTEX|et.COPY_DST}),h=new Ut({data:n,label:"attribute-mesh-uvs",shrinkToFit:a,usage:et.VERTEX|et.COPY_DST}),l=new Ut({data:r,label:"index-mesh-buffer",shrinkToFit:a,usage:et.INDEX|et.COPY_DST});super({attributes:{aPosition:{buffer:o,format:"float32x2",stride:2*4,offset:0},aUV:{buffer:h,format:"float32x2",stride:2*4,offset:0}},indexBuffer:l,topology:e.topology}),this.batchMode="auto"}get positions(){return this.attributes.aPosition.buffer.data}set positions(t){this.attributes.aPosition.buffer.data=t}get uvs(){return this.attributes.aUV.buffer.data}set uvs(t){this.attributes.aUV.buffer.data=t}get indices(){return this.indexBuffer.data}set indices(t){this.indexBuffer.data=t}};ba.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:!1};let dd=ba;class Ue extends V{constructor(...t){let e=t[0];Array.isArray(t[0])&&(e={textures:t[0],autoUpdate:t[1]});const{textures:i,autoUpdate:n,...r}=e,[a]=i;super({...r,texture:a instanceof D?a:a.texture}),this._textures=null,this._durations=null,this._autoUpdate=n??!0,this._isConnectedToTicker=!1,this.animationSpeed=1,this.loop=!0,this.updateAnchor=!1,this.onComplete=null,this.onFrameChange=null,this.onLoop=null,this._currentTime=0,this._playing=!1,this._previousFrame=null,this.textures=i}stop(){this._playing&&(this._playing=!1,this._autoUpdate&&this._isConnectedToTicker&&(At.shared.remove(this.update,this),this._isConnectedToTicker=!1))}play(){this._playing||(this._playing=!0,this._autoUpdate&&!this._isConnectedToTicker&&(At.shared.add(this.update,this,ui.HIGH),this._isConnectedToTicker=!0))}gotoAndStop(t){this.stop(),this.currentFrame=t}gotoAndPlay(t){this.currentFrame=t,this.play()}update(t){if(!this._playing)return;const e=t.deltaTime,i=this.animationSpeed*e,n=this.currentFrame;if(this._durations!==null){let r=this._currentTime%1*this._durations[this.currentFrame];for(r+=i/60*1e3;r<0;)this._currentTime--,r+=this._durations[this.currentFrame];const a=Math.sign(this.animationSpeed*e);for(this._currentTime=Math.floor(this._currentTime);r>=this._durations[this.currentFrame];)r-=this._durations[this.currentFrame]*a,this._currentTime+=a;this._currentTime+=r/this._durations[this.currentFrame]}else this._currentTime+=i;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.currentFramen)&&this.onLoop(),this._updateTexture())}_updateTexture(){const t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this.texture=this._textures[t],this.updateAnchor&&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(t){const e=[];for(let i=0;ithis.totalFrames-1)throw new Error(`[AnimatedSprite]: Invalid frame index value ${t}, expected to be between 0 and totalFrames ${this.totalFrames}.`);const e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this._updateTexture()}get playing(){return this._playing}get autoUpdate(){return this._autoUpdate}set autoUpdate(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(At.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._playing&&(At.shared.add(this.update,this),this._isConnectedToTicker=!0))}}class ud extends mi{constructor(t,e){const{text:i,resolution:n,style:r,anchor:a,width:o,height:h,roundPixels:l,...c}=t;super({...c}),this.batched=!0,this._resolution=null,this._autoResolution=!0,this._didTextUpdate=!0,this._styleClass=e,this.text=i??"",this.style=r,this.resolution=n??null,this.allowChildren=!1,this._anchor=new ct({_onUpdate:()=>{this.onViewUpdate()}}),a&&(this.anchor=a),this.roundPixels=l??!1,o!==void 0&&(this.width=o),h!==void 0&&(this.height=h)}get anchor(){return this._anchor}set anchor(t){typeof t=="number"?this._anchor.set(t):this._anchor.copyFrom(t)}set text(t){t=t.toString(),this._text!==t&&(this._text=t,this.onViewUpdate())}get text(){return this._text}set resolution(t){this._autoResolution=t===null,this._resolution=t,this.onViewUpdate()}get resolution(){return this._resolution}get style(){return this._style}set style(t){var e;t=t||{},(e=this._style)==null||e.off("update",this.onViewUpdate,this),t instanceof this._styleClass?this._style=t:this._style=new this._styleClass(t),this._style.on("update",this.onViewUpdate,this),this.onViewUpdate()}get bounds(){return this._boundsDirty&&(this._updateBounds(),this._boundsDirty=!1),this._bounds}get width(){return Math.abs(this.scale.x)*this.bounds.width}set width(t){this._setWidth(t,this.bounds.width)}get height(){return Math.abs(this.scale.y)*this.bounds.height}set height(t){this._setHeight(t,this.bounds.height)}getSize(t){return t||(t={}),t.width=Math.abs(this.scale.x)*this.bounds.width,t.height=Math.abs(this.scale.y)*this.bounds.height,t}setSize(t,e){typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,this.bounds.width),e!==void 0&&this._setHeight(e,this.bounds.height)}addBounds(t){const e=this.bounds;t.addFrame(e.minX,e.minY,e.maxX,e.maxY)}containsPoint(t){const e=this.bounds.width,i=this.bounds.height,n=-e*this.anchor.x;let r=0;return t.x>=n&&t.x<=n+e&&(r=-i*this.anchor.y,t.y>=r&&t.y<=r+i)}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=!0,this.didViewUpdate)return;this.didViewUpdate=!0,this._didTextUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}_getKey(){return`${this.text}:${this._style.styleKey}:${this._resolution}`}destroy(t=!1){super.destroy(t),this.owner=null,this._bounds=null,this._anchor=null,(typeof t=="boolean"?t:t!=null&&t.style)&&this._style.destroy(t),this._style=null,this._text=null}}function fd(s,t){let e=s[0]??{};return(typeof e=="string"||s[1])&&(W(O,`use new ${t}({ text: "hi!", style }) instead`),e={text:e,style:s[1]}),e}class U extends ud{constructor(...t){const e=fd(t,"Text");super(e,N),this.renderPipeId="text"}_updateBounds(){const t=this._bounds,e=this._anchor,i=xs.measureText(this._text,this._style),{width:n,height:r}=i;t.minX=-e._x*n,t.maxX=t.minX+n,t.minY=-e._y*r,t.maxY=t.minY+r}}const va=class Ca extends dd{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(W(O,"PlaneGeometry constructor changed please use { width, height, verticesX, verticesY } instead"),e={width:e,height:t[1],verticesX:t[2],verticesY:t[3]}),this.build(e)}build(t){t={...Ca.defaultOptions,...t},this.verticesX=this.verticesX??t.verticesX,this.verticesY=this.verticesY??t.verticesY,this.width=this.width??t.width,this.height=this.height??t.height;const e=this.verticesX*this.verticesY,i=[],n=[],r=[],a=this.verticesX-1,o=this.verticesY-1,h=this.width/a,l=this.height/o;for(let d=0;de?1:this.width/e,n=this._topHeight+this._bottomHeight,r=this.height>n?1:this.height/n,a=Math.min(i,r);t[9]=t[11]=t[13]=t[15]=this._topHeight*a,t[17]=t[19]=t[21]=t[23]=this.height-this._bottomHeight*a,t[25]=t[27]=t[29]=t[31]=this.height,t[2]=t[10]=t[18]=t[26]=this._leftWidth*a,t[4]=t[12]=t[20]=t[28]=this.width-this._rightWidth*a,t[6]=t[14]=t[22]=t[30]=this.width,this.getBuffer("aPosition").update()}updateUvs(){const t=this.uvs;t[0]=t[8]=t[16]=t[24]=0,t[1]=t[3]=t[5]=t[7]=0,t[6]=t[14]=t[22]=t[30]=1,t[25]=t[27]=t[29]=t[31]=1;const e=1/this._originalWidth,i=1/this._originalHeight;t[2]=t[10]=t[18]=t[26]=e*this._leftWidth,t[9]=t[11]=t[13]=t[15]=i*this._topHeight,t[4]=t[12]=t[20]=t[28]=1-e*this._rightWidth,t[17]=t[19]=t[21]=t[23]=1-i*this._bottomHeight,this.getBuffer("aUV").update()}};Ta.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};let ae=Ta;const Ma=class Pa extends mi{constructor(t){var d,u,f,m;t instanceof D&&(t={texture:t});const{width:e,height:i,leftWidth:n,rightWidth:r,topHeight:a,bottomHeight:o,texture:h,roundPixels:l,...c}=t;super({label:"NineSliceSprite",...c}),this.renderPipeId="nineSliceSprite",this.batched=!0,this._didSpriteUpdate=!0,this._leftWidth=n??((d=h==null?void 0:h.defaultBorders)==null?void 0:d.left)??ae.defaultOptions.leftWidth,this._topHeight=a??((u=h==null?void 0:h.defaultBorders)==null?void 0:u.top)??ae.defaultOptions.topHeight,this._rightWidth=r??((f=h==null?void 0:h.defaultBorders)==null?void 0:f.right)??ae.defaultOptions.rightWidth,this._bottomHeight=o??((m=h==null?void 0:h.defaultBorders)==null?void 0:m.bottom)??ae.defaultOptions.bottomHeight,this.bounds.maxX=this._width=e??h.width??ae.defaultOptions.width,this.bounds.maxY=this._height=i??h.height??ae.defaultOptions.height,this.allowChildren=!1,this.texture=h??Pa.defaultOptions.texture,this.roundPixels=l??!1}get bounds(){return this._bounds}get width(){return this._width}set width(t){this.bounds.maxX=this._width=t,this.onViewUpdate()}get height(){return this._height}set height(t){this.bounds.maxY=this._height=t,this.onViewUpdate()}setSize(t,e){typeof t=="object"&&(e=t.height??t.width,t=t.width),this.bounds.maxX=this._width=t,this.bounds.maxY=this._height=e??t,this.onViewUpdate()}getSize(t){return t||(t={}),t.width=this._width,t.height=this._height,t}get leftWidth(){return this._leftWidth}set leftWidth(t){this._leftWidth=t,this.onViewUpdate()}get topHeight(){return this._topHeight}set topHeight(t){this._topHeight=t,this.onViewUpdate()}get rightWidth(){return this._rightWidth}set rightWidth(t){this._rightWidth=t,this.onViewUpdate()}get bottomHeight(){return this._bottomHeight}set bottomHeight(t){this._bottomHeight=t,this.onViewUpdate()}get texture(){return this._texture}set texture(t){t||(t=D.EMPTY);const e=this._texture;e!==t&&(e&&e.dynamic&&e.off("update",this.onViewUpdate,this),t.dynamic&&t.on("update",this.onViewUpdate,this),this._texture=t,this.onViewUpdate())}get originalWidth(){return this._texture.width}get originalHeight(){return this._texture.height}onViewUpdate(){if(this._didViewChangeTick++,this._didSpriteUpdate=!0,this.didViewUpdate)return;this.didViewUpdate=!0;const t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this)}addBounds(t){const e=this.bounds;t.addFrame(e.minX,e.minY,e.maxX,e.maxY)}destroy(t){if(super.destroy(t),typeof t=="boolean"?t:t==null?void 0:t.texture){const i=typeof t=="boolean"?t:t==null?void 0:t.textureSource;this._texture.destroy(i)}this._texture=null}};Ma.defaultOptions={texture:D.EMPTY};let mt=Ma;ht.add(za,Ua);const L=class L{static async Load(t){return this.text.text="Loading asset: "+t,await Ge.load({src:t})}static async LoadAssets(){if(this.text){console.warn("Do not call GameAssets.LoadAssets() more than once.");return}console.log("Loading Texture Assets");const t=new U({text:"Loading textures. This might take a while.",style:new N({fill:3355443,fontSize:50})});t.x=p.app.canvas.width/2,t.y=p.app.canvas.height/2,t.anchor.set(.5,.5),p.app.stage.addChild(t),this.text=new U({text:"",style:new N({fill:3355443,fontSize:50})}),this.text.x=p.app.canvas.width/2,this.text.y=p.app.canvas.height/2+50,this.text.anchor.set(.5,.5),p.app.stage.addChild(this.text),await Promise.all([this.Load("./aclonica.woff2"),this.Load("./assets/gui/button_01.png").then(e=>this.Button01Texture=e),this.Load("./assets/gui/button_02.png").then(e=>this.Button02Texture=e),this.Load("./assets/gui/button_small.png").then(e=>this.ButtonSmallTexture=e),this.Load("./assets/gui/frame_01.png").then(e=>this.Frame01Texture=e),this.Load("./assets/gui/frame_02.png").then(e=>this.Frame02Texture=e),this.Load("./assets/gui/frame_03.png").then(e=>this.Frame03Texture=e),this.Load("./assets/gui/frame_04.png").then(e=>this.Frame04Texture=e),this.Load("./assets/gui/frame_05.png").then(e=>this.Frame05Texture=e),this.Load("./assets/gui/frame_inv.png").then(e=>this.FrameInventory=e),this.Load("./assets/gui/background_01.png").then(e=>this.FrameBackground=e),this.Load("./assets/gui/background_02.png").then(e=>this.FrameTowerTab=e),this.Load("./assets/gui/frame_violet.png").then(e=>this.VioletBackground=e),this.Load("./assets/gui/frame_red.png").then(e=>this.RedBackground=e),this.Load("./assets/gui/frame_green.png").then(e=>this.GreenBackground=e),this.Load("./assets/gui/frame_blue.png").then(e=>this.BlueBackground=e),this.Load("./assets/gui/banner_01.png").then(e=>this.BannerGemsmith=e),this.Load("./assets/gui/note.png").then(e=>this.EndScreenDialog=e),this.Load("./assets/gui/heart.png").then(e=>this.HealthTexture=e),this.Load("./assets/gui/money.png").then(e=>this.GoldTexture=e),this.Load("./assets/gui/wave.png").then(e=>this.WaveTexture=e),this.Load("./assets/gui/sword_02.png").then(e=>this.SwordsTexture=e),this.Load("./assets/gui/title01.png").then(e=>this.TitleTexture=e),this.Load("./assets/gui/icons/play.png").then(e=>this.PlayIconTexture=e),this.Load("./assets/gui/icons/pause.png").then(e=>this.PauseIconTexture=e),this.Load("./assets/gui/icons/exclamation.png").then(e=>this.ExclamationIconTexture=e),this.Load("./assets/gui/icons/home.png").then(e=>this.HomeIconTexture=e),this.Load("./assets/gui/icons/hammer.png").then(e=>this.HammerIconTexture=e),this.Load("./assets/gui/icons/cross.png").then(e=>this.XIconTexture=e),this.Load("./assets/gui/icons/plus.png").then(e=>this.PlusIconTexture=e),this.LoadMissions(),this.LoadTowers(),this.LoadCreeps(),this.LoadGems()]),t.destroy(),this.text.destroy(),this.text=!0}static async LoadGems(){const e=await(await fetch("./assets/json/Gems.json")).json();this.Gems=e;for(let i=0;i{this.enabled&&this.onWheel(e)},this._container.onpointerdown=e=>{this.enabled&&this.onClick(e)})}destroy(){this._events.removeAllListeners(),this._container.parent&&this._container.parent.removeChild(this._container),this._container.destroy()}get container(){return this._container}get events(){return this._events}onClick(t){console.warn(`[${this.name} does not implement GuiObject.onClick()]`)}onWheel(t){console.warn(`[${this.name} does not implement GuiObject.onWheel()]`)}setEnabled(t){this.enabled=t}copyContainerToBB(){return this.bb.x=this.container.x,this.bb.y=this.container.y,this.bb.width=this.container.width,this.bb.height=this.container.height,this.bb}copyBBToContainer(){return this.container.x=this.bb.x,this.container.y=this.bb.y,this.container.width=this.bb.width,this.container.height=this.bb.height,this.container}copyPropertiesToObj(t){return t.x=this.bb.x,t.y=this.bb.y,t.width=this.bb.width,t.height=this.bb.height,t}}var Ot=(s=>(s[s.Button01=0]="Button01",s[s.Button02=1]="Button02",s))(Ot||{});class se extends St{constructor(e,i,n,r=!0){super(!0);g(this,"caption");g(this,"bounds");g(this,"buttonTexture");g(this,"buttonSprite");g(this,"buttonText");g(this,"buttonIcon");n==0&&(this.buttonTexture=G.Button01Texture),n==1&&(this.buttonTexture=G.Button02Texture),this.caption=i,this.enabled=r,this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.container.width=this.bounds.width,this.container.height=this.bounds.height,this.buttonSprite=new mt({texture:this.buttonTexture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100}),this.buttonSprite.x=0,this.buttonSprite.y=0,this.buttonSprite.width=this.bounds.width,this.buttonSprite.height=this.bounds.height,this.container.addChild(this.buttonSprite),this.buttonText=new U({text:this.caption,style:new N({fill:16777215,fontSize:24})}),this.container.addChild(this.buttonText),this.buttonText.anchor.set(.5,.5),this.buttonText.x=this.bounds.width/2,this.buttonText.y=this.bounds.height/2,this.container.x=this.bounds.x,this.container.y=this.bounds.y}setCaption(e){this.caption=e,this.buttonText.text=e}getCaption(){return this.caption}CustomButtonLogic(){console.warn(this.name+" - Button.CustomButtonLogic() is not implemented.")}}class Ht{constructor(){g(this,"name",this.constructor.name);g(this,"_container",new st);g(this,"bb",new z);g(this,"_events",new dt)}destroy(){this._events.removeAllListeners(),this._container.parent&&this._container.parent.removeChild(this._container),this._container.destroy()}get container(){return this._container}get events(){return this._events}copyContainerToBB(){return this.container==null?null:(this.bb.x=this.container.x,this.bb.y=this.container.y,this.bb.width=this.container.width,this.bb.height=this.container.height,this.bb)}copyBBToContainer(){return this.container.x=this.bb.x,this.container.y=this.bb.y,this.container.width=this.bb.width,this.container.height=this.bb.height,this.container}copyPropertiesToObj(t){return t.x=this.bb.x,t.y=this.bb.y,t.width=this.bb.width,t.height=this.bb.height,t}}var Et=(s=>(s[s.Restricted=0]="Restricted",s[s.Buildable=1]="Buildable",s[s.Path=9]="Path",s))(Et||{}),ee=(s=>(s.CreepSpawned="creepSpawned",s.Finished="finished",s.NewWave="newwave",s))(ee||{}),Mt=(s=>(s.Died="died",s.TakenDamage="takenDamage",s.Escaped="escaped",s.Moved="moved",s))(Mt||{}),We=(s=>(s.CellMouseOver="cellmouseover",s.CellMouseLeave="cellmouseleave",s))(We||{}),Oe=(s=>(s.TowerPlacedEvent="towerPlacedEvent",s.TowerSoldEvent="towerSoldEvent",s))(Oe||{}),Ls=(s=>(s.GemGivenEvent="gemGivenEvent",s))(Ls||{}),Ds=(s=>(s.TowerPanelSelectGem="towerTabSelectGem",s))(Ds||{});class md extends Ht{constructor(e,i,n,r){super();g(this,"type");g(this,"row");g(this,"column");g(this,"isPath",!1);g(this,"g");g(this,"hasTowerPlaced",!1);g(this,"clickDetector");this.type=e,this.row=i,this.column=n,this.isPath=r,this.bb.x=this.column*p.GridCellSize,this.bb.y=this.row*p.GridCellSize,this.bb.width=p.GridCellSize,this.bb.height=p.GridCellSize,p.Grid.container.addChild(this.container),this.container.x=this.bb.x,this.container.y=this.bb.y,this.clickDetector=new wt({zIndex:99,interactive:!0}),this.g=new wt({zIndex:5}),this.clickDetector.rect(0,0,this.bb.width,this.bb.height),this.clickDetector.fill({color:16711680,alpha:0}),this.container.addChild(this.clickDetector),this.container.addChild(this.g),this.clickDetector.on("pointerup",a=>{p.Grid.gridInteractionEnabled&&(p.TowerManager.isPlacingTower?p.Grid.onGridCellClicked(i,n):this.OpenSelectedTowerPanel())}),this.clickDetector.on("pointerenter",a=>{!p.Grid.gridInteractionEnabled||p.GameScene.towerPanel.isShown||p.GameScene.events.emit(We.CellMouseOver,this)}),this.clickDetector.on("pointerleave",a=>{!p.Grid.gridInteractionEnabled||p.GameScene.towerPanel.isShown||(p.GameScene.events.emit(We.CellMouseLeave,this),p.Grid.rangePreview.clear())}),p.GameScene.events.on(Oe.TowerPlacedEvent,(a,o,h)=>{o==this.row&&h==this.column&&(this.hasTowerPlaced=!0,p.Grid.rangePreview.clear())}),p.GameScene.events.on(Oe.TowerSoldEvent,(a,o,h)=>{o==this.row&&h==this.column&&(this.hasTowerPlaced=!1)})}showRangePreview(e,i){let n=16777215;e&&(n=16711680),p.Grid.rangePreview.clear(),p.Grid.rangePreview.circle(this.column*p.GridCellSize+p.GridCellSize/2,this.row*p.GridCellSize+p.GridCellSize/2,i*p.GridCellSize),p.Grid.rangePreview.fill({color:n,alpha:.3})}OpenSelectedTowerPanel(){if(this.hasTowerPlaced){const e=p.TowerManager.GetTowerByRowAndCol(this.row,this.column);p.GameScene.towerPanel.Show(e)}}checkIfCantPlace(){return this.hasTowerPlaced||this.isPath||this.type==Et.Path||this.type==Et.Restricted}gDraw(){this.g.rect(0,0,this.bb.width,this.bb.height),this.type==Et.Restricted?this.g.fill({color:2236962,alpha:.5}):this.hasTowerPlaced?this.g.fill({color:16711680,alpha:.5}):this.type==Et.Path?this.g.fill({color:2236962,alpha:.5}):this.type==Et.Buildable&&this.g.stroke({color:65280,alpha:.9})}gClear(){this.g.clear()}update(){}}class xd extends Ht{constructor(e,i){super();g(this,"gameMap");g(this,"cells",[]);g(this,"rangePreview");g(this,"creeps",[]);g(this,"gridShown",!1);g(this,"gridInteractionEnabled",!0);this.gameMap=e,p.Grid=this,this.bb.x=0,this.bb.y=0,this.bb.width=p.GridCellSize*p.GridColumns,this.bb.height=p.GridCellSize*p.GridRows,p.GameMaster.currentScene.stage.addChild(this.container);let n=new V(G.MissionBackgrounds[i]);this.container.addChild(n);for(let r=0;rc.some(d=>d[1]===a&&d[0]===r));h&&(o=Et.Path);let l=new md(o,a,r,h);this.cells.push(l)}this.rangePreview=new wt({zIndex:10}),this.container.addChild(this.rangePreview)}generateCells(){const e=Array.from({length:this.gameMap.rows},()=>Array(this.gameMap.columns).fill(1));this.cells.forEach(i=>{if(i.isPath){e[i.row][i.column]=9;for(let n=-1;n<=1;n++)for(let r=-1;r<=1;r++){const a=i.row+n,o=i.column+r;a>=0&&a=0&&o{if(e){e=="hide"?i.gClear():i.gDraw();return}this.gridShown?i.gClear():i.gDraw()}),e=="hide"?this.gridShown=!1:e=="show"?this.gridShown=!0:this.gridShown=!this.gridShown}addCreep(e){this.creeps.push(e),e.events.on(Mt.Died,i=>{this.onCreepDiedOrEscaped(i)}),e.events.on(Mt.Escaped,i=>{this.onCreepDiedOrEscaped(i)})}onCreepDiedOrEscaped(e){this.creeps.splice(this.creeps.indexOf(e),1),e.destroy()}update(e){this.creeps.forEach(i=>{i.dead?(this.creeps.splice(this.creeps.indexOf(i),1),i=null):i.update(e)})}getCellByRowAndCol(e,i){return this.cells.filter(n=>n.row==e&&n.column==i)[0]}onGridCellClicked(e,i){}}class yd extends Ht{constructor(e,i,n){super();g(this,"id");g(this,"creepType");g(this,"sprite");g(this,"path");g(this,"stats");g(this,"pathIndex",0);g(this,"speed");g(this,"direction",1);g(this,"healthBarGraphics",new wt);g(this,"healthBarWidth",50);g(this,"health");g(this,"maxHealth");g(this,"escaped",!1);g(this,"died",!1);g(this,"x");g(this,"y");g(this,"dead",!1);this.creepType=e,this.stats=structuredClone(G.Creeps[this.creepType].stats),this.sprite=new Ue(G.Creeps[this.creepType].textures),this.sprite.scale.x*=-1,this.sprite.anchor.set(.5,.5),this.sprite.animationSpeed=.3,this.sprite.play(),this.id=n,this.container.x=-70,this.container.y=-50,this.sprite.width=p.GridCellSize,this.sprite.height=p.GridCellSize,this.bb.width=this.sprite.width,this.speed=this.stats.speed/60,this.health=this.stats.health,this.maxHealth=this.stats.health,this.path=i,this.x=i[0][0]*p.GridCellSize+p.GridCellSize/2,this.y=i[0][1]*p.GridCellSize+p.GridCellSize/2,p.GameScene.events.on(Mt.TakenDamage,(r,a,o)=>{r==this.id&&(this.health-=a+a*(o.physical-this.stats.resistance.physical),o.fire!=0&&(this.health-=Math.max(a*(o.fire-this.stats.resistance.fire),0)),o.ice!=0&&(this.health-=Math.max(a*(o.ice-this.stats.resistance.ice),0)),o.frostfire!=0&&(this.health-=Math.max(a*(o.frostfire-this.stats.resistance.frostfire),0)),o.divine!=0&&(this.health-=Math.max(a*(o.divine-this.stats.resistance.divine),0)),this.UpdateHealthbar())}),p.Grid.container.addChild(this.container),this.container.addChild(this.healthBarGraphics),this.container.addChild(this.sprite),this.UpdateHealthbar()}UpdateHealthbar(){this.healthBarGraphics.clear();const e=this.health,i=this.maxHealth,n=e/i,r=this.healthBarWidth*n;this.healthBarGraphics.rect(-this.healthBarWidth/2+3,-32,this.healthBarWidth+4,14),this.healthBarGraphics.fill({color:0}),this.healthBarGraphics.rect(-this.healthBarWidth/2+5,-30,r,10),this.healthBarGraphics.fill({color:16711680})}update(e){if(this.dead)return;if(this.health<=0){p.GameScene.events.emit(Mt.Died,this.maxHealth,this),this.destroy(),this.dead=!0;return}if(this.pathIndex+1==this.path.length){if(this.escaped)return;this.events.emit(Mt.Escaped,this),this.escaped=!0;return}const i=this.path[this.pathIndex],n=this.path[this.pathIndex+1],r=n[0]*p.GridCellSize+p.GridCellSize/2,a=n[1]*p.GridCellSize+p.GridCellSize/2,o=n[0]-i[0],h=n[1]-i[1];o>0?this.direction!=1&&(this.direction=1,this.sprite.scale.x*=-1):o<0&&this.direction!=-1&&(this.direction=-1,this.sprite.scale.x*=-1);let l=this.speed*e*o,c=this.speed*e*h,d=!1;l>0&&this.x+l>r&&(l=r-this.x,d=!0),l<0&&this.x+l0&&this.y+c>a&&(c=a-this.y,d=!0),c<0&&this.y+c{i+=n.firstCreepSpawnTick,n.creeps.forEach(r=>{const a=new yd(r,this.paths[this.pathsIndex],this.internalCreepId);this.internalCreepId++;const o={creep:a,tickToSpawnAt:i,spawned:!1};i+=n.spawnIntervalTicks,this.creeps.push(o)})}),console.log(this.creeps)}end(){this.started=!1}update(e){this.started!=!1&&(this.ticks+=e,this.creeps.forEach(i=>{!i.spawned&&i.tickToSpawnAt<=this.ticks?(i.spawned=!0,this.events.emit(ee.CreepSpawned,i.creep),!this.finished&&this.creeps.every(n=>n.spawned)&&(this.finished=!0,this.events.emit(ee.Finished))):i.spawned&&i.creep.update(e)}))}}class Zn extends St{constructor(e,i,n,r,a,o,h,l){if(e>3||i>2||e<0||i<0)throw"Index/row out of bounds for TowerButton.";super(!0);g(this,"frameSprite");g(this,"background");g(this,"towerName");g(this,"iconSprite");g(this,"i",0);this.towerName=h,this.container.x=e*n+5,this.container.y=i*r+5,this.background=new V({texture:o}),this.iconSprite=new V({texture:l}),this.background.width=n,this.background.height=r,this.iconSprite.x=n/2,this.iconSprite.y=r/2,this.iconSprite.width=n/2,this.iconSprite.height=r/2,this.iconSprite.anchor.set(.5,.5),this.container.addChild(this.background),this.container.addChild(this.iconSprite),this.frameSprite=new mt({texture:G.Frame02Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100,roundPixels:!0,height:r,width:n}),this.container.addChild(this.frameSprite),a.addChild(this.container),p.GameScene.events.on(Oe.TowerPlacedEvent,c=>{this.resetTint()}),this.container.onpointermove=c=>{p.Grid.gridInteractionEnabled!=!1&&(p.TowerManager.isPlacingTower||this.ShowTooltip())},this.container.onpointerleave=c=>{p.GameScene.tooltip.Hide()}}ShowTooltip(){let e;G.Towers.forEach(i=>{i.name==this.towerName&&(e=i)}),p.GameScene.tooltip.SetContentTower(this.towerName,e.stats.damage,e.stats.cost,e.stats.gemSlotsAmount),p.GameScene.tooltip.Show(p.MouseX,p.MouseY)}onClick(e){p.Grid.gridInteractionEnabled!=!1&&(p.TowerManager.isPlacingTower&&p.TowerManager.selectedTower.name!=this.towerName&&(p.GameScene.sidebar.towerTab.resetTint(),p.TowerManager.ResetChooseTower()),p.GameScene.towerPanel.Hide(),p.GameScene.tooltip.Hide(),this.frameSprite.tint==65280?(this.frameSprite.tint=16777215,this.ShowTooltip()):this.frameSprite.tint=65280,p.TowerManager.ToggleChoosingTowerLocation(this.towerName))}resetTint(){this.frameSprite.tint=16777215}}class wd extends St{constructor(e){super(!1);g(this,"bounds");g(this,"towerTabSprite");g(this,"towerButtons",[]);this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.towerTabSprite=new mt({texture:G.FrameTowerTab,leftWidth:500,topHeight:500,rightWidth:500,bottomHeight:500,roundPixels:!0}),this.towerTabSprite.width=this.bounds.width,this.towerTabSprite.height=this.bounds.height,this.container.addChild(this.towerTabSprite),this.towerButtons.push(new Zn(0,0,70,70,this.container,G.RedBackground,"Basic Tower",G.Towers[0].texture)),this.towerButtons.push(new Zn(3,1,70,70,this.container,G.GreenBackground,"Circle Tower",G.Towers[1].texture))}resetTint(){this.towerButtons.forEach(e=>e.resetTint())}}const Jt=class Jt{static init(){Jt.SidebarRect=new z(p.app.canvas.width-360,0,360,p.app.canvas.height),Jt.ChangeRoundButtonRect=new z(50,p.app.canvas.height-100,310,100)}};g(Jt,"SidebarRect"),g(Jt,"ChangeRoundButtonRect"),g(Jt,"MaximumPlayerNameLength",20);let Wt=Jt;function It(s,t,e,i){const n=e-s,r=i-t;return Math.atan2(r,n)}class bd extends Ht{constructor(e,i,n,r,a,o,h,l,c){super();g(this,"deleteMe",!1);g(this,"sprite");g(this,"x");g(this,"y");g(this,"angle");g(this,"speed");g(this,"damage");g(this,"pierce",1);g(this,"timeToLive");g(this,"parent");g(this,"gemResistanceModifications");g(this,"collidedCreepIDs",[]);this.x=e,this.y=i,this.timeToLive=h,this.pierce=l,this.damage=a,this.gemResistanceModifications=c,this.sprite=new Ue({textures:n,scale:.25,rotation:r}),this.sprite.anchor.set(.5,.5),this.sprite.play(),this.container.x=this.x,this.container.y=this.y,this.sprite.tint=o,this.container.addChild(this.sprite),p.GameMaster.currentScene.stage.addChild(this.container),this.angle=r,this.speed=.9}destroy(){super.destroy(),this.deleteMe=!0}update(e){if(!this.deleteMe){if(this.x>2e3||this.x<0||this.y>2e3||this.y<0||this.pierce<=0||this.timeToLive<=0)return this.destroy();this.timeToLive--,p.Grid.creeps.forEach(i=>{if(!(this.pierce<=0)&&i&&i.container&&this.checkCollision(i)&&!this.collidedCreepIDs.find(r=>i.id==r.id)){this.collidedCreepIDs.push(i),this.pierce--,this.onCollide(i);return}}),this.x+=Math.cos(this.angle)*this.speed*e,this.y+=Math.sin(this.angle)*this.speed*e,this.container.x=this.x,this.container.y=this.y}}onCollide(e){p.GameScene.events.emit(Mt.TakenDamage,e.id,this.damage,this.gemResistanceModifications)}checkCollision(e){if(console.debug(e),e==null||e.container==null||e.container._position==null)return;let i=this.copyContainerToBB(),n=e.copyContainerToBB();return i.getBounds().intersects(n.getBounds())}}function ka(s,t){s.projectiles.forEach(e=>{e.deleteMe?(e.collidedCreepIDs.forEach(()=>{s.damageDealt+=s.computedDamageToDeal}),s.projectiles.splice(s.projectiles.indexOf(e),1),e=null):e.update(t)})}function zs(s){let t=0,e=0,i=0,n=0,r=0;s.totalGemResistanceModifications={fire:0,frostfire:0,divine:0,ice:0,physical:0},s.slottedGems.forEach(a=>{let o=a.currentGemImprovement();t+=o.damageUp,e+=o.attackSpeedUp,i+=o.rangeUp,n+=o.timeToLiveUp,r+=o.pierceUp;let h=a.currentGemResistanceModifications();s.totalGemResistanceModifications.physical+=h.physical,s.totalGemResistanceModifications.ice+=h.ice,s.totalGemResistanceModifications.fire+=h.fire,s.totalGemResistanceModifications.divine+=h.divine,s.totalGemResistanceModifications.frostfire+=h.frostfire}),s.computedDamageToDeal=s.definition.stats.damage+t,s.computedAttackSpeed=s.definition.stats.cooldown-e,s.computedRange=s.definition.stats.range+i,s.computedTimeToLive=s.definition.stats.timeToLive+n,s.computedPierce=s.definition.stats.pierce+r}function Sd(s,t){s.ticksUntilNextShot%2==0&&zs(s),ka(s,t),s.ticksUntilNextShot>0&&s.ticksUntilNextShot--;let e=s.GetCreepsInRange();if(e.length>0){let i=e[0];if(s.ticksUntilNextShot<=0){let n=s.column*p.GridCellSize+p.GridCellSize/2,r=s.row*p.GridCellSize+p.GridCellSize/2;s.ticksUntilNextShot=s.computedAttackSpeed,s.Shoot(It(n,r,i.x,i.y))}}}function vd(s,t){s.ticksUntilNextShot%2==0&&zs(s),ka(s,t),s.ticksUntilNextShot>0&&s.ticksUntilNextShot--;let e=s.GetCreepsInRange();if(e.length>0&&(e[0],s.ticksUntilNextShot<=0)){s.ticksUntilNextShot=s.computedAttackSpeed;let i=s.column*p.GridCellSize+p.GridCellSize/2,n=s.row*p.GridCellSize+p.GridCellSize/2;s.Shoot(It(i,n,i,n+10)),s.Shoot(It(i,n,i+10,n)),s.Shoot(It(i,n,i-10,n)),s.Shoot(It(i,n,i,n-10)),s.Shoot(It(i,n,i+10,n+10)),s.Shoot(It(i,n,i-10,n+10)),s.Shoot(It(i,n,i-10,n-10)),s.Shoot(It(i,n,i+10,n-10))}}class Ne extends St{constructor(e,i,n,r){super(!0);g(this,"iconSprite");g(this,"background");g(this,"frame");g(this,"i",0);g(this,"gem",null);let a;this.i=e,this.container.x=10,this.container.y=e*(p.GridCellSize+6)+300,this.background=new V({texture:G.Frame01Texture}),n==null&&!r?a=G.PlusIconTexture:r=="SELL"?a=G.GoldTexture:r=="UPGRADE"?a=G.PlusIconTexture:(a=n.texture,this.gem=n),this.iconSprite=new V({texture:a,zIndex:10}),this.background.width=p.GridCellSize,this.background.height=p.GridCellSize,n==null&&!r?(this.iconSprite.x=p.GridCellSize/2,this.iconSprite.y=p.GridCellSize/2,this.iconSprite.width=p.GridCellSize/2,this.iconSprite.height=p.GridCellSize/2,this.iconSprite.anchor.set(.5,.5)):r=="SELL"?(this.iconSprite.x=4,this.iconSprite.y=4,this.iconSprite.width=p.GridCellSize-8,this.iconSprite.height=p.GridCellSize-8):r=="UPGRADE"?(this.iconSprite.x=p.GridCellSize/2,this.iconSprite.y=p.GridCellSize/2,this.iconSprite.width=p.GridCellSize/2,this.iconSprite.height=p.GridCellSize/2,this.iconSprite.tint=3012919,this.iconSprite.anchor.set(.5,.5)):(this.iconSprite.x=4,this.iconSprite.y=4,this.iconSprite.width=p.GridCellSize-8,this.iconSprite.height=p.GridCellSize-8),this.frame=new V({texture:G.Frame05Texture,width:64,height:64}),this.container.addChild(this.background),this.container.addChild(this.iconSprite),this.container.addChild(this.frame);let o=n?n.id:"",h=new U({text:o,zIndex:11,style:{fill:"white",stroke:{color:0,width:5}}});this.container.addChild(h),i.addChild(this.container)}setTint(e){this.frame.tint=e}resetTint(){this.frame.tint=16777215}}class Cd extends St{constructor(e){super(!1);g(this,"bounds");g(this,"towerPanel");g(this,"closeBtn");g(this,"vGems",[]);g(this,"showingTower",null);g(this,"isShown",!1);g(this,"titleText");g(this,"damageText");g(this,"totalDamage");g(this,"attackSpeedText");g(this,"fireResDamage");g(this,"iceResDamage");g(this,"frostFireResDamage");g(this,"divineResDamage");g(this,"physicalResDamage");this.bounds=e,this.towerPanel=new mt({texture:G.Frame03Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100}),this.towerPanel.width=this.bounds.width,this.towerPanel.height=this.bounds.height-this.bounds.height/3.5,this.closeBtn=new se(new z(-20,-20,60,60),"",Ot.Button01,!0),this.closeBtn.container.removeFromParent(),this.closeBtn.CustomButtonLogic=()=>{this.closeBtn.buttonIcon=new V({texture:G.XIconTexture,x:this.closeBtn.container.width/2,y:this.closeBtn.container.height/2,scale:.2}),this.closeBtn.buttonIcon.anchor.set(.5,.5),this.closeBtn.container.addChild(this.closeBtn.buttonIcon)},this.closeBtn.onClick=()=>{this.Hide()},this.Hide(),this.closeBtn.CustomButtonLogic(),this.container.y=p.app.canvas.height/2-p.app.canvas.height/2.7,this.container.addChild(this.towerPanel),this.container.addChild(this.closeBtn.container),p.GameMaster.currentScene.stage.addChild(this.container),this.titleText=new U({x:this.bounds.width/3,y:50,zIndex:5,style:new N({fill:16777215,stroke:{color:0,width:2}})}),this.titleText.anchor.set(.5,0),this.container.addChild(this.titleText),this.damageText=new U({x:10,y:100,zIndex:5,style:new N({fill:16753920,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.damageText),this.attackSpeedText=new U({x:100,y:100,zIndex:5,style:new N({fill:16777215,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.attackSpeedText),this.totalDamage=new U({x:10,y:130,zIndex:5,style:new N({fill:16711680,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.totalDamage),this.fireResDamage=new U({x:10,y:170,zIndex:5,style:new N({fill:16536403,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.fireResDamage),this.iceResDamage=new U({x:10,y:190,zIndex:5,style:new N({fill:3335420,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.iceResDamage),this.frostFireResDamage=new U({x:10,y:210,zIndex:5,style:new N({fill:14111740,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.frostFireResDamage),this.divineResDamage=new U({x:10,y:230,zIndex:5,style:new N({fill:16576083,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.divineResDamage),this.physicalResDamage=new U({x:10,y:250,zIndex:5,style:new N({fill:16777215,fontSize:18,stroke:{color:0,width:2}})}),this.container.addChild(this.physicalResDamage)}MakeSlots(e){this.vGems.forEach(n=>{n.destroy()}),this.vGems=[];let i=e.definition.stats.gemSlotsAmount;for(let n=0;n{r&&(p.GameScene.tooltip.SetContentGem(r),p.GameScene.tooltip.Show(p.MouseX,p.MouseY))},a.container.onpointerleave=()=>{p.GameScene.tooltip.Hide()},a.onClick=()=>{p.GameScene.tooltip.Hide(),console.warn("EMITTING TOWER PANEL SELECT GEM",r,a.i,n,e),p.GameScene.events.emit(Ds.TowerPanelSelectGem,r,a.i,e),!r&&p.GameScene.sidebar.gemTab.isSelectingGem?a.setTint(65535):a.resetTint()}}}Show(e){this.isShown=!0,zs(e),this.SetContent(e),this.MakeSlots(e),this.showingTower=e,p.GameScene.sidebar.gemTab.selectingGemTowerObject=e,e.container.parent.x<900?this.ShowRight():this.ShowLeft(),e.parent.showRangePreview(!1,e.computedRange)}SetContent(e){this.titleText.text=e.definition.name,this.damageText.text="Deals "+e.computedDamageToDeal+" damage",this.totalDamage.text="Damage dealt: "+e.damageDealt+" damage",this.attackSpeedText.x=this.damageText.width+10,this.attackSpeedText.text=` every ${Math.floor(e.computedAttackSpeed/60*100)/100}s`,this.fireResDamage.text=`+${e.totalGemResistanceModifications.fire*100}% Fire damage`,this.iceResDamage.text=`+${e.totalGemResistanceModifications.ice*100}% Ice damage`,this.frostFireResDamage.text=`+${e.totalGemResistanceModifications.frostfire*100}% FrostFire damage`,this.divineResDamage.text=`+${e.totalGemResistanceModifications.divine*100}% Divine damage`,this.physicalResDamage.text=`+${e.totalGemResistanceModifications.physical*100}% Physical damage`}ShowLeft(){this.towerPanel.x=-100,this.container.x=0,this.container.alpha=1,this.closeBtn.container.x=this.bounds.width-150}ShowRight(){this.towerPanel.x=-10,this.container.x=Wt.SidebarRect.x-210,this.closeBtn.container.x=-20,this.container.alpha=1}Hide(){this.isShown=!1,this.container.alpha=0,this.container.x=-1e3,p.Grid.rangePreview.clear()}}class Td extends St{constructor(e){super(!1);g(this,"bounds");g(this,"gemTabSprite");g(this,"vGems",[]);g(this,"isSelectingGem",!1);g(this,"selectingGemSlotIndex",-1);g(this,"selectingGemTowerObject",null);g(this,"isDragAndDroppingGem",!1);g(this,"dragAndDroppingGem",null);this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.gemTabSprite=new mt({texture:G.FrameTowerTab,leftWidth:1e3,topHeight:1e3,rightWidth:1e3,bottomHeight:1e3}),this.gemTabSprite.x=0,this.gemTabSprite.y=0,this.gemTabSprite.width=this.bounds.width,this.gemTabSprite.height=this.bounds.height,this.container.addChild(this.gemTabSprite),p.app.canvas.addEventListener("pointermove",()=>{this.pointerMoveEvent()}),p.GameScene.events.on(Ls.GemGivenEvent,()=>{this.RebuildInventoryVisual()})}TowerPanelSelectingGem(e,i,n){console.log("TOWER PANEL SELECTING GEM "+i),i<0&&console.error("TOWER PANEL SELECTING GEM INDEX IS LESS THAN 0, ",i),this.isSelectingGem?e==null&&(this.isSelectingGem=!1,this.selectingGemSlotIndex=-1,this.selectingGemTowerObject=null):(this.isSelectingGem=!0,e==null?(p.NotificationManager.Notify("Click on any Gem in your inventory to slot it into this Gem slot.","info"),this.selectingGemSlotIndex=i,this.selectingGemTowerObject=n):(n.UnslotGem(i),this.RebuildInventoryVisual(),p.GameScene.towerPanel.Hide(),p.GameScene.towerPanel.Show(n),this.isSelectingGem=!1,this.selectingGemSlotIndex=-1,this.selectingGemTowerObject=null))}pointerMoveEvent(){!this.isDragAndDroppingGem||!this.dragAndDroppingGem||(this.dragAndDroppingGem.container.x=p.MouseX-32,this.dragAndDroppingGem.container.y=p.MouseY-32)}isOverlappingGemsmith(e,i,n){let r=e.copyContainerToBB(),a=i.copyContainerToBB(),o=n.x+a.x+p.GameScene.sidebar.container.x,h=n.y+a.y+p.GameScene.sidebar.container.y,l=new z(o,h,a.width,a.height);if(r.getBounds().intersects(l)&&i&&i.gem==null)return!0}RebuildInventoryVisual(){this.vGems.forEach(e=>e.destroy()),this.vGems=[],p.GameScene.MissionStats.getInventory().forEach((e,i)=>{let n=new Ne(0,this.container,e),r=10,a=i%4*70+10,o=i;for(;!(o<=3);)r+=66,o-=4;n.container.x=a,n.container.y=r,n.container.onpointermove=()=>{e==null||this.isDragAndDroppingGem||(p.GameScene.tooltip.SetContentGem(e),p.GameScene.tooltip.Show(p.MouseX,p.MouseY))},n.container.onpointerleave=()=>{p.GameScene.tooltip.Hide()},n.container.onpointerdown=()=>{if(p.GameScene.tooltip.Hide(),this.isSelectingGem){this.isSelectingGem=!1;let h=p.GameScene.MissionStats.takeGem(e);this.selectingGemTowerObject.SlotGem(h,this.selectingGemSlotIndex),this.RebuildInventoryVisual()}else this.isDragAndDroppingGem=!0,this.dragAndDroppingGem=n,n.container.removeFromParent(),p.GameScene.stage.addChild(n.container),this.pointerMoveEvent()},n.container.onpointerup=()=>{if(this.isSelectingGem)return;let h=null;if(this.isOverlappingGemsmith(this.dragAndDroppingGem,p.GameScene.sidebar.gemsmith.sellVGem,p.GameScene.sidebar.gemsmith.container)){let d=this.dragAndDroppingGem.gem.definition.initialGemValue+this.dragAndDroppingGem.gem.currentGemImprovement().gemValueUp;p.GameScene.MissionStats.earnGold(Math.ceil(d*.8)),p.NotificationManager.Notify(`Sold Lv. ${this.dragAndDroppingGem.gem.level} ${this.dragAndDroppingGem.gem.definition.name} for ${Math.ceil(d*.8)} gold.`,"info"),p.GameScene.MissionStats.takeGem(this.dragAndDroppingGem.gem),this.isDragAndDroppingGem=!1,this.dragAndDroppingGem=null,this.RebuildInventoryVisual();return}if(this.isOverlappingGemsmith(this.dragAndDroppingGem,p.GameScene.sidebar.gemsmith.upgradeVGem,p.GameScene.sidebar.gemsmith.container)){if(this.dragAndDroppingGem.gem.isMaxLevel())p.NotificationManager.Notify("Gem is max level.","warn");else{let d=this.dragAndDroppingGem.gem.definition.genericImprovements[this.dragAndDroppingGem.gem.level].gemValueUp;p.GameScene.MissionStats.hasEnoughGold(d)?(p.GameScene.MissionStats.spendGold(d),this.dragAndDroppingGem.gem.levelUp(1),p.NotificationManager.Notify(`Spent ${d} gold to upgrade ${this.dragAndDroppingGem.gem.definition.name} Lv. ${this.dragAndDroppingGem.gem.level-1} -> Lv. ${this.dragAndDroppingGem.gem.level}!`,"warn")):p.NotificationManager.Notify("You don't have enough, you need "+d+" gold to upgrade this gem.","warn")}this.isDragAndDroppingGem=!1,this.dragAndDroppingGem=null,this.RebuildInventoryVisual();return}if(p.GameScene.towerPanel.vGems.forEach(d=>{if(h||!this.dragAndDroppingGem)return;let u=this.dragAndDroppingGem.copyContainerToBB(),f=d.copyContainerToBB(),m=p.GameScene.towerPanel.container.x+f.x,y=p.GameScene.towerPanel.container.y+f.y,x=new z(m,y,f.width,f.height);u.getBounds().intersects(x)&&d&&d.gem==null&&(h=d)}),h){let d=p.GameScene.MissionStats.takeGem(e);p.GameScene.towerPanel.showingTower.SlotGem(d,h.i)}this.isDragAndDroppingGem=!1,this.dragAndDroppingGem=null,this.RebuildInventoryVisual()},this.vGems.push(n)})}}class Ad extends St{constructor(e){super(!1);g(this,"bounds");g(this,"sellVGem");g(this,"upgradeVGem");this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y;let i=new V({x:0,y:0,width:this.bounds.width,height:this.bounds.height,texture:G.BannerGemsmith});this.container.addChild(i);let n=new U({x:40,y:this.bounds.height/6.5,text:"Sell gem",style:new N({fill:16767744,fontSize:18,stroke:{color:0,width:2}})});this.container.addChild(n);let r=new U({x:155,y:this.bounds.height/6.5,text:"Upgrade gem",style:new N({fill:3012919,fontSize:18,stroke:{color:0,width:2}})});this.container.addChild(r),this.sellVGem=new Ne(0,this.container,null,"SELL"),this.sellVGem.container.x=45,this.sellVGem.container.y=this.bounds.height/4,this.upgradeVGem=new Ne(0,this.container,null,"UPGRADE"),this.upgradeVGem.container.x=180,this.upgradeVGem.container.y=this.bounds.height/4}}class Md extends St{constructor(e){super(!1);g(this,"towerTab");g(this,"gemTab");g(this,"gemsmith");g(this,"bounds");g(this,"sidebarSprite");this.bounds=e,this.container.x=this.bounds.x,this.container.y=this.bounds.y,this.sidebarSprite=new mt({texture:G.Frame01Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100}),this.sidebarSprite.x=40,this.sidebarSprite.y=-40,this.sidebarSprite.width=this.bounds.width+40,this.sidebarSprite.height=this.bounds.height+80,this.container.addChild(this.sidebarSprite);const i=new z(60,20,this.bounds.width-65,150);this.towerTab=new wd(i),this.container.addChild(this.towerTab.container);const n=new z(60,180,this.bounds.width-65,this.bounds.height-280-255);this.gemTab=new Td(n),this.container.addChild(this.gemTab.container);const r=new z(60,185+n.height,this.bounds.width-65,this.bounds.height-840);this.gemsmith=new Ad(r),this.container.addChild(this.gemsmith.container)}}class Us{constructor(){g(this,"stage",new st);g(this,"gui",[]);g(this,"_events",new dt);p.app.stage.addChild(this.stage)}destroy(){this.stage.destroy(),this._events.removeAllListeners(),this.gui.forEach(t=>{t.destroy()})}get events(){return this._events}init(){}}class Pd extends Ht{constructor(e,i){super();g(this,"hp",100);g(this,"gold",0);g(this,"goldEarned",0);g(this,"goldSpent",0);g(this,"wavesSurvived",0);g(this,"damageDealt",0);g(this,"creepsKilled",0);g(this,"goldText");g(this,"healthText");g(this,"waveText");g(this,"inventory",[]);this.hp=e,this.gold=i,this.container.x=0,this.container.y=20,p.GameMaster.currentScene.stage.addChild(this.container),this.healthText=new U({text:`${this.hp}`,style:new N({fill:"red",fontSize:36,fontWeight:"bold",dropShadow:!0})}),this.goldText=new U({text:`${this.gold}`,style:new N({fill:"gold",fontSize:36,fontWeight:"bold",dropShadow:!0})}),this.waveText=new U({text:`0/${p.GameScene.mission.rounds.length}`,style:new N({fill:"dodgerblue",fontSize:36,fontWeight:"bold",dropShadow:!0})});const n=new V(G.HealthTexture),r=new V(G.GoldTexture),a=new V(G.WaveTexture);this.healthText.x=200,this.healthText.y=-15,n.x=160,n.width=36,n.height=32,n.y=-10,this.goldText.x=200,this.goldText.y=20,r.x=150,r.width=56,r.height=56,r.y=15,this.waveText.x=200,this.waveText.y=55,a.x=155,a.width=46,a.height=32,a.y=65,this.container.addChild(this.healthText),this.container.addChild(this.goldText),this.container.addChild(this.waveText),this.container.addChild(n),this.container.addChild(r),this.container.addChild(a),p.GameScene.events.on(ee.NewWave,o=>{this.waveText.text=`${o}/${p.GameScene.mission.rounds.length}`})}getHP(){return this.hp}hasEnoughGold(e){return e<=this.gold}setHP(e){this.hp=e,this.healthText.text=this.hp}takeDamage(e){this.hp-=e,this.healthText.text=this.hp}setGold(e){this.gold=e,this.goldText.text=this.gold}earnGold(e){this.gold+=e,this.goldText.text=this.gold}spendGold(e){this.gold-=e,this.goldText.text=this.gold}giveGem(e,i){if(this.inventory.length>=32)return p.NotificationManager.Notify("Can't hold more than 32 Gems. Extra Gem was thrown away.","danger");this.inventory.push(e),i||p.NotificationManager.Notify(`Lv. ${e.level} ${e.definition.name} added to your inventory.`,"gemaward"),p.GameScene.events.emit(Ls.GemGivenEvent,e)}takeGem(e){return this.inventory.splice(this.inventory.indexOf(e),1)[0]}getInventory(){return this.inventory}checkIfPlayerHasAnyGems(){return this.inventory.length>0}getStats(){return{hp:this.hp,gold:this.gold,wavesSurvived:this.wavesSurvived,goldEarned:this.goldEarned,goldSpent:this.goldSpent,score:this.calculateScore()}}calculateScore(){const e=[];for(const i of this.inventory)e.includes(i.definition.name)||e.push(i.definition.name);return this.damageDealt*2+this.hp*10+(this.goldEarned-this.goldSpent)*3+this.wavesSurvived*100+e.length*100}update(){}}function kd(s,t,e,i){return Math.sqrt((e-s)*(e-s)+(i-t)*(i-t))}class Gd extends Ht{constructor(e,i,n,r,a){super();g(this,"row");g(this,"column");g(this,"definition");g(this,"slottedGems",[]);g(this,"damageDealt",0);g(this,"projectiles",[]);g(this,"behaviour");g(this,"sprite");g(this,"ticksUntilNextShot");g(this,"graphics",new wt);g(this,"computedDamageToDeal");g(this,"computedAttackSpeed");g(this,"computedRange");g(this,"computedTimeToLive");g(this,"computedPierce");g(this,"totalGemResistanceModifications");g(this,"parent");g(this,"onParentCellEnter",e=>{!p.TowerManager.isPlacingTower&&p.Grid.gridInteractionEnabled&&!p.GameScene.towerPanel.isShown&&this.parent.showRangePreview(!1,this.computedRange)});g(this,"onParentCellLeave",e=>{this.graphics.clear()});this.row=e,this.column=i,this.behaviour=a,this.definition=r,this.ticksUntilNextShot=0,this.parent=p.Grid.getCellByRowAndCol(e,i),this.sprite=new V({texture:n,height:p.GridCellSize,width:p.GridCellSize,zIndex:130}),this.container.addChild(this.sprite),this.computedDamageToDeal=this.definition.stats.damage,this.parent.container.addChild(this.container),this.container.interactiveChildren=!0,this.parent.clickDetector.on("pointerenter",this.onParentCellEnter),this.parent.clickDetector.on("pointerleave",this.onParentCellLeave),p.GameMaster.currentScene.stage.addChild(this.graphics)}SlotGem(e,i){this.slottedGems[i]=e,p.GameScene.towerPanel.Hide(),p.GameScene.towerPanel.Show(this)}UnslotGem(e){const i=this.slottedGems.splice(e,1)[0];p.GameScene.MissionStats.giveGem(i,!0);for(let n=e;nn!=null),p.NotificationManager.Notify(`Lv. ${i.level} ${i.definition.name} unslotted and placed back in your inventory.`,"info")}GetCreepsInRange(){return p.Grid.creeps.filter(i=>{const n=i.x,r=i.y,a=this.column*p.GridCellSize+p.GridCellSize/2,o=this.row*p.GridCellSize+p.GridCellSize/2,h=this.computedRange*p.GridCellSize;return kd(a,o,n,r)0){let o=new Z(this.slottedGems[0].definition.color);for(let h=1;h(s.BasicTowerBehaviour="BasicTowerBehaviour",s.CircleTowerBehaviour="CircleTowerBehaviour",s))(ws||{});class Id{constructor(){g(this,"isPlacingTower",!1);g(this,"canPlaceTowers",!0);g(this,"selectedTower",null);g(this,"previewSprite",new V({parent:p.GameMaster.currentScene.stage,zIndex:10,width:64,height:64,alpha:.8}));g(this,"towers",[]);p.TowerManager=this,p.GameScene.events.on(We.CellMouseOver,t=>{this.isPlacingTower&&(t.checkIfCantPlace()?(t.showRangePreview(!0,this.selectedTower.stats.range),this.previewSprite.tint=16711680):(t.showRangePreview(!1,this.selectedTower.stats.range),this.previewSprite.tint=16777215),this.previewSprite.x=t.column*p.GridCellSize,this.previewSprite.y=t.row*p.GridCellSize,this.previewSprite.texture=this.selectedTower.texture)}),p.GameScene.events.on(We.CellMouseLeave,t=>{this.previewSprite.texture=null})}ResetChooseTower(){this.selectedTower=null,this.isPlacingTower=!1,p.Grid.toggleGrid("hide")}ToggleChoosingTowerLocation(t){this.canPlaceTowers&&(p.Grid.toggleGrid(),this.isPlacingTower?(this.previewSprite.texture=null,this.selectedTower=null):G.Towers.forEach(e=>{e.name==t&&(this.selectedTower=e,console.log(this.selectedTower))}),this.isPlacingTower=!this.isPlacingTower)}PlayerClickOnGrid(t,e){if(this.canPlaceTowers&&this.isPlacingTower){if(!this.selectedTower)return p.NotificationManager.Notify("TowerManager.selectedTower is null when trying to place tower.","danger"),console.warn("TowerManager.selectedTower is null when trying to place tower.");this.PlaceTower(this.selectedTower,t,e,this.selectedTower.behaviour)}}GetTowerByRowAndCol(t,e){let i=null;return this.towers.forEach(n=>{n.row==t&&n.column==e&&(i=n)}),i}PlaceTower(t,e,i,n,r){const a=t.texture;if(!p.GameScene.MissionStats.hasEnoughGold(t.stats.cost)&&!r)return p.NotificationManager.Notify("Not enough gold.","warn");if(!this.GetTowerByRowAndCol(e,i)&&p.Grid.getCellByRowAndCol(e,i).type!=Et.Path&&p.Grid.getCellByRowAndCol(e,i).type!=Et.Restricted){r||p.GameScene.MissionStats.spendGold(t.stats.cost);let o=new Gd(e,i,a,t,n);this.towers.push(o),this.ToggleChoosingTowerLocation("RESET"),this.selectedTower=null,this.previewSprite.x=-100,p.GameScene.events.emit(Oe.TowerPlacedEvent,t.name,e,i)}else p.NotificationManager.Notify("Can not place tower on path or other tower, choose another spot.","warn"),console.warn("Can not place tower on occupied spot or path. Try again.")}update(t){this.towers.forEach(e=>{e.update(t)})}}class Bd extends St{constructor(e){super(!1);g(this,"bounds");g(this,"tooltipSprite");g(this,"titleText");g(this,"costText");g(this,"damageText");g(this,"gemAmount");g(this,"gemAmountSprite");g(this,"title");g(this,"costSprite");g(this,"damageSprite");g(this,"gemDescriptionText");this.bounds=e,this.container.x=-500,this.container.y=-500,this.container.zIndex=150,this.tooltipSprite=new mt({texture:G.Frame04Texture,leftWidth:200,topHeight:200,rightWidth:200,bottomHeight:200}),this.tooltipSprite.width=this.bounds.width,this.tooltipSprite.height=this.bounds.height,this.titleText=new U({x:this.tooltipSprite.width/2,y:-20,zIndex:5,style:new N({fill:16777215,stroke:{color:0,width:2}})}),this.titleText.anchor.set(.5,0),this.title=new V({x:this.tooltipSprite.width/2,y:-20,width:250,height:40,texture:G.TitleTexture}),this.title.anchor.set(.5,0),this.costSprite=new V({texture:G.GoldTexture,x:10,y:20,width:56,height:50}),this.costText=new U({x:54,y:26,zIndex:5,text:"Something went wrong if you see this.",style:{fill:"gold",fontWeight:"bold",stroke:{color:0,width:5}}}),this.damageText=new U({x:54,y:65,zIndex:5,text:"Something went wrong if you see this.",style:{fill:"red",fontWeight:"bold",stroke:{color:0,width:5}}}),this.damageSprite=new V({texture:G.SwordsTexture,x:22,y:70,width:32,height:32}),this.gemAmountSprite=new V({texture:G.GemAmountIcons[0],x:22,y:110,width:32,height:32}),this.gemAmount=new U({x:54,y:105,zIndex:5,text:"Something went wrong if you see this.",style:{fill:"white",fontWeight:"bold",stroke:{color:0,width:5}}}),this.gemDescriptionText=new U({x:10,y:20,text:"",style:{fontSize:18,wordWrap:!0,wordWrapWidth:this.tooltipSprite.width-30,fill:"white",fontWeight:"bold",fontStyle:"italic",stroke:{color:0,width:5}}}),this.container.addChild(this.tooltipSprite),this.container.addChild(this.title),this.container.addChild(this.costSprite),this.container.addChild(this.damageSprite),this.container.addChild(this.gemAmountSprite),this.container.addChild(this.costText),this.container.addChild(this.titleText),this.container.addChild(this.damageText),this.container.addChild(this.gemAmount),this.container.addChild(this.gemDescriptionText),p.app.stage.addChildAt(this.container,0)}SetContentTower(e,i,n,r){this.costSprite.alpha=1,this.damageSprite.alpha=1,this.gemAmountSprite.alpha=1,this.costText.alpha=1,this.damageText.alpha=1,this.gemAmount.alpha=1,this.gemDescriptionText.alpha=0,this.titleText.text=e,this.gemAmount.text=`Has ${r} Gem slots.`,this.gemAmountSprite.texture=G.GemAmountIcons[r],this.costText.text=`Costs ${n} gold.`,this.damageText.text=`Deals ${i} base damage.`}SetContentGem(e){this.costSprite.alpha=0,this.damageSprite.alpha=0,this.gemAmountSprite.alpha=0,this.costText.alpha=0,this.damageText.alpha=0,this.gemAmount.alpha=0,this.gemDescriptionText.alpha=1,this.titleText.text=`Lv. ${e.level} `+e.definition.name,this.gemDescriptionText.text=`Valued at ${e.definition.initialGemValue+e.currentGemImprovement().gemValueUp} gold. `+e.definition.description}Show(e,i){this.container.alpha=1,e+this.container.width>p.app.canvas.width?this.container.x=e-this.container.width:this.container.x=e,this.container.y=i}Hide(){this.container.alpha=0,this.container.x=-500,this.container.y=-500}}const lt=class lt{static init(){window.addEventListener("keydown",lt.handleKeyDown)}static onKeyPressed(t){return lt.listeners=[...lt.listeners,t],()=>lt.offKey(t)}static offKey(t){const e=lt.listeners.indexOf(t);e>=0&&(lt.listeners=[...lt.listeners.slice(0,e),...lt.listeners.slice(e+1)])}static handleKeyDown(t){if(lt.listeners.length>0){console.log(`Key down: ${t.key}`);for(let e=lt.listeners.length-1;e>=0&&(lt.listeners[e](t),!t.defaultPrevented);e--);}}};g(lt,"listeners",[]);let He=lt;class Ws extends St{constructor(e,i,n){super();g(this,"overlay");g(this,"buttonHeight",65);g(this,"buttonCaptions");g(this,"buttons",[]);g(this,"dialogContent");g(this,"dialogContainer");g(this,"background");g(this,"generated",!1);g(this,"escapeKeyButton");g(this,"enterKeyButton");g(this,"keyboardManagerUnsubscribe");g(this,"onClosed");if(this.buttonCaptions=e,n&&!e.includes(n))throw new Error(`Escape key button "${n}" not found in buttons: ${e}`);if(this.escapeKeyButton=n,i&&!e.includes(i))throw new Error(`Enter key button "${i}" not found in buttons: ${e}`);this.enterKeyButton=i,this.keyboardManagerUnsubscribe=He.onKeyPressed(this.onKeyPress.bind(this))}show(){this.generate();const e=`x: ${Math.round(this.dialogContainer.x)}, y: ${Math.round(this.dialogContainer.y)}, width: ${Math.round(this.dialogContainer.width)}, height: ${Math.round(this.dialogContainer.height)}`,i=`x: ${Math.round(this.dialogContent.x)}, y: ${Math.round(this.dialogContent.y)}, width: ${Math.round(this.dialogContent.width)}, height: ${Math.round(this.dialogContent.height)}`;return console.debug(`ModalDialogBase.show(dialog: ${e}, content: ${i}, buttons: ${this.buttonCaptions})`),new Promise((n,r)=>{p.app.stage.addChild(this.container),this.onClosed=a=>{this.destroy(),n(a)}})}createDialogBackground(){return new mt({texture:G.Frame04Texture,leftWidth:60,topHeight:60,rightWidth:60,bottomHeight:60})}getWidth(){}getHeight(){}generate(){if(this.generated)return;this.generated=!0,this.overlay=new wt,this.overlay.rect(0,0,p.app.canvas.width,p.app.canvas.height),this.overlay.fill({color:0,alpha:.5}),this.overlay.interactive=!0,this.container.addChild(this.overlay);const e=this.buttonCaptions.map(l=>({caption:l,width:l.length*14+60,height:this.buttonHeight,click:()=>this.close(l)}));this.background=this.createDialogBackground(),this.dialogContent=this.createContent();let i=0;for(const l of e)i>0&&(i+=10),i+=l.width;const n=this.buttonCaptions.length>0?this.buttonHeight+10:0;let r=this.getWidth()||Math.max(i,this.dialogContent.width)+this.background.leftWidth+this.background.rightWidth,a=this.getHeight()||this.dialogContent.height+n+this.background.topHeight+this.background.bottomHeight;const o=new z(p.app.canvas.width/2-r/2,p.app.canvas.height/2-a/2,r,a);this.dialogContainer=new st,this.dialogContainer.x=o.x,this.dialogContainer.y=o.y,this.background.width=r,this.background.height=a,this.dialogContainer.addChild(this.background),this.dialogContent.width0&&(r=i[0]),!n&&i.length>0&&(n=i[i.length-1]);super(i,n,r);g(this,"caption");this.caption=e}createContent(){return new U({text:this.caption,style:new N({fill:16777215,fontSize:24})})}static show(e,i,n=0){return new Os(e,i).show()}}const Bt=class Bt{constructor(t){g(this,"missionName");g(this,"scores");this.missionName=t,this.scores=this.loadScores(),this.scores.sort((e,i)=>i.score-e.score||e.timestamp-i.timestamp)}loadScores(){const t=localStorage.getItem(Bt.STORAGE_KEY_PREFIX+this.missionName);return Bt.parseStoredScores(t)}saveScores(){localStorage.setItem(Bt.STORAGE_KEY_PREFIX+this.missionName,JSON.stringify(this.scores))}addScore(t){this.scores.push(t),this.scores.sort((e,i)=>i.score-e.score),this.scores.length>Bt.MAX_SCORES&&(this.scores.length=Bt.MAX_SCORES),this.saveScores()}getScores(){return this.scores}static parseStoredScores(t){if(!t)return[];try{const e=JSON.parse(t);if(Array.isArray(e)&&e.every(i=>typeof i.playerName=="string"&&typeof i.score=="number"&&typeof i.timestamp=="number"))return e.map(i=>({playerName:i.playerName,score:i.score,timestamp:i.timestamp}))}catch(e){console.error("Failed to parse stored scores:",e)}return[]}};g(Bt,"STORAGE_KEY_PREFIX","highscore_"),g(Bt,"MAX_SCORES",10);let gi=Bt;const Ae={Confirm:"OK",Skip:"Skip"};class Rd extends Ws{constructor(e,i,n){super([Ae.Confirm,Ae.Skip],Ae.Confirm,Ae.Skip);g(this,"dialogCaption");g(this,"playerNameTextInput");g(this,"lost");g(this,"highScore");g(this,"missionStats");this.lost=n,this.highScore=new gi(e),this.missionStats=i}generate(){super.generate(),this.dialogCaption=new U({text:this.lost?"You lost!":"You won!",style:new N({fill:16777215,fontSize:36,stroke:{color:0,width:2},dropShadow:{color:0,blur:8,distance:0}})}),this.dialogCaption.anchor.set(.5,.5),this.dialogCaption.x=this.dialogContainer.width/2,this.dialogCaption.y=50,this.dialogContainer.addChild(this.dialogCaption)}createDialogBackground(){return new mt({texture:G.EndScreenDialog,leftWidth:50,topHeight:100,rightWidth:50,bottomHeight:50})}createContent(){const e=new st,i=35,n=this.createText("Mission details:","#fee",!0);e.addChild(n);const r=this.missionStats.getStats(),a=this.getWidth()-this.background.leftWidth-this.background.rightWidth-20,o=[this.createText("HP:"),this.createText("Gold:"),this.createText("Waves Survived:"),this.createText("Gold Earned:"),this.createText("Gold Spent:"),this.createText("----"),this.createText("Score:")],h=[this.createText(r.hp.toString(),"yellow"),this.createText(r.gold.toString(),"yellow"),this.createText(r.wavesSurvived.toString(),"yellow"),this.createText(r.goldEarned.toString(),"yellow"),this.createText(r.goldSpent.toString(),"yellow"),this.createText("----","yellow"),this.createText(r.score.toString(),"yellow")],l=300;for(let u=0;uthis.createText((u+1).toString()))],o=[this.createText("Player","#fee",!0),...r.map(d=>this.createText(d.playerName))],h=[this.createText("Score","#fee",!0),...r.map(d=>this.createText(d.score.toString()))],l=a.reduce((d,u)=>Math.max(d,u.width),0)+20,c=l+o.reduce((d,u)=>Math.max(d,u.width),0)+20;for(let d=0;d{i.name==e&&(this.mission=i,this.missionIndex=n)})}init(){p.latestGemId=0,new xd(this.mission.gameMap,this.missionIndex),new Id,new _d(this.mission.rounds,this.mission.gameMap.paths),p.Grid.onGridCellClicked=(e,i)=>{p.TowerManager.isPlacingTower&&p.TowerManager.PlayerClickOnGrid(e,i)},p.WaveManager.events.on(ee.CreepSpawned,e=>{p.Grid.addCreep(e),e.events.on(Mt.Escaped,()=>{this.onCreepEscaped(e)})}),p.WaveManager.events.on(ee.Finished,()=>{this.isWaveManagerFinished=!0}),this.events.on(Mt.Died,(e,i)=>{this.MissionStats.earnGold(e)}),this.towerPanel=new Cd(Wt.SidebarRect),this.sidebar=new Md(Wt.SidebarRect),this.changeRoundButton=new se(Wt.ChangeRoundButtonRect,"",Ot.Button01,!0),this.changeRoundButton.container.removeFromParent(),this.sidebar.container.addChild(this.changeRoundButton.container),p.GameMaster.currentScene.stage.addChildAt(this.dimGraphics,0),this.tooltip=new Bd(new z(0,0,350,160)),this.changeRoundButton.CustomButtonLogic=()=>{this.changeRoundButton.buttonIcon=new V({texture:G.PlayIconTexture,x:this.changeRoundButton.container.width/2,y:this.changeRoundButton.container.height/2,scale:.2}),this.changeRoundButton.buttonIcon.anchor.set(.5,.5),this.changeRoundButton.container.addChild(this.changeRoundButton.buttonIcon)},this.changeRoundButton.CustomButtonLogic(),this.changeRoundButton.onClick=()=>{if(this.playerWon)return this.ReturnToMain();if(this.roundMode==1)return p.NotificationManager.Notify("Wave is already in progress.","warn");if(this.isGameOver)return p.NotificationManager.Notify("No more waves.","danger");this.roundMode!=2&&(this.setRoundMode(1),this.changeRoundButton.buttonIcon.texture=G.ExclamationIconTexture,this.events.emit(ee.NewWave,`${this.currentRound+1}`))},this.MissionStats=new Pd(100,200),this.events.on(Ds.TowerPanelSelectGem,(e,i,n)=>{if(e==null&&!this.MissionStats.checkIfPlayerHasAnyGems())return p.NotificationManager.Notify("You require atleast 1 Gem in your inventory to slot it in a Gem slot.","warn");this.sidebar.gemTab.TowerPanelSelectingGem(e,i,n)}),this.ticker=new At,this.ticker.maxFPS=60,this.ticker.minFPS=30,this.tooltip.SetContentTower(0,0,0,0),this.tooltip.Show(p.MouseX,p.MouseY),this.tooltip.Hide(),this.ticker.add(()=>{this.update&&this.update(this.ticker.elapsedMS)}),this.ticker.start()}update(e){if(this.isGameOver){this.destroyTicker&&(this.destroyTicker=!1,this.ticker.destroy());return}p.WaveManager.update(e),p.Grid.update(e),p.TowerManager.update(e),this.isWaveManagerFinished&&p.Grid.creeps.length==0&&(this.isWaveManagerFinished=!1,this.setRoundMode(0),this.changeRoundButton.buttonIcon.texture=G.PlayIconTexture,p.NotificationManager.Notify(`Round ${this.currentRound+1}/${this.mission.rounds.length} completed.`,"info"),this.currentRound+1==this.mission.rounds.length?(p.NotificationManager.Notify("Mission victory!!","reward"),this.changeRoundButton.buttonIcon.texture=G.HomeIconTexture,this.playerWon=!0):(this.OfferPlayerGems(),this.currentRound++)),this.MissionStats.getHP()<=0?(this.isGameOver=!0,this.ShowEndgameDialog(!0)):this.playerWon&&(this.isGameOver=!0,this.ShowEndgameDialog(!1))}DarkenScreen(){this.dimGraphics.rect(0,0,p.app.canvas.width,p.app.canvas.height),this.dimGraphics.fill({color:0,alpha:.5})}UndarkenScreen(){this.dimGraphics.clear()}OfferPlayerGems(){p.Grid.gridInteractionEnabled=!1,p.GameScene.sidebar.towerTab.resetTint(),p.TowerManager.ResetChooseTower(),this.setRoundMode(2);let e=this.mission.rounds[this.currentRound].offeredGems;this.DarkenScreen(),this.offerGemsSprite=new mt({width:380,height:150,texture:G.Frame01Texture,leftWidth:100,topHeight:100,rightWidth:100,bottomHeight:100,zIndex:this.dimGraphics.zIndex+1,x:p.app.canvas.width/2-190,y:p.app.canvas.height/2-75}),p.GameMaster.currentScene.stage.addChildAt(this.offerGemsSprite,0);let i=new U({x:p.app.canvas.width/4,y:p.app.canvas.height/4,zIndex:this.dimGraphics.zIndex+1,text:"Choose a Gem as your reward for beating this round!",style:{fontSize:40,fill:"orange",fontWeight:"bold",stroke:{color:0,width:5}}});p.GameMaster.currentScene.stage.addChildAt(i,0),e.forEach((n,r)=>{let a=new _s(n,!0),o=new Ne(0,p.app.stage,a);this.visualGems.push(o),o.container.x=this.offerGemsSprite.x-15+69*(r+1),o.container.y=this.offerGemsSprite.y+40,o.container.onpointermove=()=>{p.GameScene.tooltip.SetContentGem(a),p.GameScene.tooltip.Show(p.MouseX,p.MouseY)},o.container.onpointerleave=()=>{p.GameScene.tooltip.Hide()},o.onClick=()=>{p.GameScene.tooltip.Hide(),i.destroy(),this.PlayerPickedGem(new _s(n))}})}PlayerPickedGem(e){this.offerGemsSprite.destroy(),this.UndarkenScreen(),this.visualGems.forEach(i=>i.destroy()),p.Grid.gridInteractionEnabled=!0,this.MissionStats.giveGem(e),this.setRoundMode(0)}async ShowEndgameDialog(e){await new Rd(this.mission.name,this.MissionStats,e).show();const r=await new Fd(this.mission.name,e,!e&&this.missionIndex+1{p.GameMaster.changeScene(new Ga)},G.Missions.forEach((e,i)=>{const n=new se(new z(p.app.canvas.width/2-150,p.app.canvas.height/5+i*80,300,60),e.name,Ot.Button01);n.onClick=r=>{p.GameMaster.changeScene(new $e(e.name))}})}}class Ga extends Us{init(){const t={caption:"New Game",rect:new z(p.app.canvas.width/2-150,p.app.canvas.height/5+240,300,60),texture:Ot.Button02},e={caption:"Settings",rect:new z(p.app.canvas.width/2-300/2,p.app.canvas.height/5+4*80,300,60),texture:Ot.Button02};let i=new U({x:p.app.canvas.width/2-300/2,y:p.app.canvas.height/5+1*80,text:"BASTION",style:{fill:16755200,fontFamily:"Aclonica",fontSize:100}});i.x=i.x-i.width/5,p.GameMaster.currentScene.stage.addChild(i);let n=new U({x:0,y:0,text:"Latest commit: "+p.latestCommit,style:{fill:0,fontSize:10,fontWeight:"bold"}});p.GameMaster.currentScene.stage.addChild(n);const r=new se(t.rect,t.caption,t.texture,!0);r.onClick=o=>{p.GameMaster.currentScene.stage.removeChild(i),p.GameMaster.currentScene.stage.removeChild(n),p.GameMaster.changeScene(new li)};let a=new se(e.rect,e.caption,e.texture,!0);a.onClick=o=>{p.NotificationManager.Notify("Not finished.","info")}}}class Ld{constructor(){g(this,"finished",!1);g(this,"calledBack",!1);g(this,"callbackFn")}Finish(){this.finished=!0}update(t){this.finished}}class Dd extends Ld{constructor(e,i,n,r){super();g(this,"fadeType");g(this,"fadeTime");g(this,"pixiObject");g(this,"ticks",0);this.fadeType=e,this.fadeTime=i,this.pixiObject=n,this.callbackFn=r,e=="in"?this.pixiObject.alpha=0:this.pixiObject.alpha=1}update(e){if(super.update(e),this.pixiObject==null)return this.Finish();this.ticks++,this.fadeType=="in"?this.pixiObject.alpha=this.ticks/this.fadeTime:this.pixiObject.alpha-=1/this.fadeTime,this.ticks>=this.fadeTime&&this.Finish()}}class zd{constructor(){g(this,"AnimationQueue",[])}Animate(t){this.AnimationQueue.push(t)}update(t){for(let e=this.AnimationQueue.length-1;e>=0;e--){const i=this.AnimationQueue[e];i.finished?(i.callbackFn(),this.AnimationQueue.splice(e,1)):i.update(t)}}}class Ud{constructor(t,e,i,n,r){g(this,"textObj");g(this,"ticksToFadeAway");g(this,"animating",!1);g(this,"destroyed",!1);let a=16777215;e=="info"?a=2143228:e=="warn"?a=16570144:e=="danger"?a=16517642:e=="reward"?a=14047996:e=="gemaward"?a=16777215:e=="green"&&(a=65280),this.ticksToFadeAway=r,this.textObj=new U({text:t,style:new N({fill:a,fontSize:36,fontWeight:"bold",dropShadow:!0,align:"center"}),x:i,y:n,zIndex:100}),this.textObj.anchor.set(.5,.5),p.NotificationManager.container.addChild(this.textObj)}destroy(){this.textObj.destroy(),this.destroyed=!0}}class Wd extends Ht{constructor(){super();g(this,"notifications",[]);g(this,"ticks",0);this.bb.x=p.app.canvas.width/2,this.bb.y=40,this.copyBBToContainer(),this.container.zIndex=200,p.app.stage.addChild(this.container)}Notify(e,i){let n=0,r=this.notifications.length*32;this.notifications.push(new Ud(e,i,n,r,this.ticks+180))}update(e){this.ticks++;for(let i=this.notifications.length-1;i>=0;i--){const n=this.notifications[i];if(n.destroyed){this.notifications.splice(i,1);continue}this.ticks>=n.ticksToFadeAway&&!n.animating&&(n.animating=!0,p.AnimationManager.Animate(new Dd("out",300,n.textObj,()=>{n.destroy()})))}}}(async()=>{const s=new Vr;p.app=s,await s.init({width:1920,height:1080,resolution:1,autoDensity:!0,backgroundColor:16777215,sharedTicker:!0}),document.body.appendChild(s.canvas);function t(){const i=window.innerWidth,n=window.innerHeight,r=i/s.screen.width,a=n/s.screen.height,o=Math.min(r,a),h=Math.round(s.screen.width*o),l=Math.round(s.screen.height*o),c=(i-h)/2,d=(n-l)/2;s.canvas.style.width=`${h}px`,s.canvas.style.height=`${l}px`,s.canvas.style.marginLeft=`${c}px`,s.canvas.style.marginTop=`${d}px`,s.canvas.style.marginRight="0",s.canvas.style.marginBottom="0",s.canvas.style.display="block"}p.latestCommit=await fetch("/latest_commit").then(i=>i.text()),window.addEventListener("resize",t),t(),await G.LoadAssets(),Wt.init(),He.init(),new gd,p.AnimationManager=new zd,p.NotificationManager=new Wd,globalThis.Engine=p,At.shared.add(i=>{p.NotificationManager.update(i.elapsedMS),p.AnimationManager.update(i.elapsedMS)}),s.canvas.addEventListener("pointermove",function(i){p.MouseX=(i.clientX-s.canvas.offsetLeft)/s.canvas.offsetWidth*1920,p.MouseY=(i.clientY-s.canvas.offsetTop)/s.canvas.offsetHeight*1080}),p.GameMaster.changeScene(new Ga),new URLSearchParams(location.href).entries().next().value[1]=="game"&&p.GameMaster.changeScene(new $e("The Turn")),p.latestCommit!="DEVELOPMENT"?window.onbeforeunload=()=>"You are about to leave.":p.TestSuite()})();export{W as $,Or as A,et as B,st as C,Q as D,P as E,hr as F,yi as G,Pt as H,hn as I,V as J,Xo as K,eh as L,H as M,nt as N,z as O,ot as P,_h as Q,rs as R,Uh as S,Lt as T,ui as U,cn as V,To as W,Ei as X,Z as Y,cr as Z,Nr as _,D as a,O as a0,Ch as a1,Jr as a2,ll as a3,dl as a4,ml as a5,yl as a6,_l as a7,ue as a8,N as a9,lc as aa,xs as ab,ra as ac,wn as ad,ae,dd as af,$n as ag,gc as ah,wt as ai,j as aj,Qa as ak,ms as al,Nn as am,oa as an,At as b,dt as c,Ut as d,ht as e,_n as f,Lh as g,oi as h,Cs as i,zr as j,wr as k,Rr as l,On as m,qs as n,hl as o,cl as p,pl as q,co as r,jr as s,xl as t,Ts as u,Gr as v,it as w,Za as x,bl as y,Rt as z}; diff --git a/assets/json/Creeps.json b/assets/json/Creeps.json index 0679b07..7eab6fa 100644 --- a/assets/json/Creeps.json +++ b/assets/json/Creeps.json @@ -5,7 +5,7 @@ "textureArrayLength": 12, "stats": { "health": 5, - "speed": 6, + "speed": 4, "special": null, "resistance": { "physical": 0, @@ -19,10 +19,10 @@ { "name": "quick", "textures": [], - "textureArrayLength": 12, + "textureArrayLength": 8, "stats": { - "health": 7, - "speed": 2.4, + "health": 2, + "speed": 6, "special": null, "resistance": { "physical": 0, @@ -38,8 +38,8 @@ "textures": [], "textureArrayLength": 12, "stats": { - "health": 7, - "speed": 2.4, + "health": 12, + "speed": 2, "special": null, "resistance": { "physical": 0, diff --git a/assets/json/Gems.json b/assets/json/Gems.json index aab44ba..23ef124 100644 --- a/assets/json/Gems.json +++ b/assets/json/Gems.json @@ -2,6 +2,7 @@ { "name": "Fire Gem", "description": "Forged from molten lava, the Fire Gem imbues your tower's attacks and adds 50% extra fire damage. It can be merged with any gem and is common. This text shouldn't be long.", + "color": "red", "type": "Fire", "totalLevels": 2, "textures": [], @@ -11,7 +12,7 @@ "genericImprovements": [ { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, @@ -19,7 +20,7 @@ }, { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, @@ -30,14 +31,14 @@ { "physical": 0, "divine": 0, - "fire": 0.5, + "fire": 0.25, "ice": 0, "frostfire": 0 }, { "physical": 0, "divine": 0, - "fire": 0.5, + "fire": 0.25, "ice": 0, "frostfire": 0 } @@ -46,6 +47,7 @@ { "name": "Yeti Gem", "description": "Yeti gem description. Something something, write this while drunk or something.", + "color": "#32e4fc", "type": "Yeti", "totalLevels": 2, "textures": [], @@ -55,7 +57,7 @@ "genericImprovements": [ { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, @@ -63,7 +65,7 @@ }, { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, @@ -90,6 +92,7 @@ { "name": "Titalium Gem", "description": "Titalium gem description. Something something zombie creeps working for you something something.", + "color": "pink", "type": "Titalium", "totalLevels": 3, "textures": [], @@ -99,7 +102,7 @@ "genericImprovements": [ { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, @@ -107,7 +110,7 @@ }, { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0, "timeToLiveUp": 0, "pierceUp": 1, @@ -115,7 +118,7 @@ }, { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0, "timeToLiveUp": 0, "pierceUp": 1, @@ -149,6 +152,7 @@ { "name": "Soulforge Gem", "description": "Soulforge gem description, have to write later.", + "color": "gray", "type": "Soulforge", "totalLevels": 2, "textures": [], @@ -158,7 +162,7 @@ "genericImprovements": [ { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, @@ -166,7 +170,7 @@ }, { "damageUp": 2, - "attackSpeedUp": 100, + "attackSpeedUp": 10, "rangeUp": 0.5, "timeToLiveUp": 0, "pierceUp": 1, diff --git a/assets/json/Towers.json b/assets/json/Towers.json index 1a609f7..34a088b 100644 --- a/assets/json/Towers.json +++ b/assets/json/Towers.json @@ -9,26 +9,30 @@ "description": "The building block of society, nothing more basic exists.", "stats": { "damage": 2, - "cooldown": 60, + "cooldown": 120, "gemSlotsAmount": 2, "cost": 100, - "range": 3 + "range": 3, + "timeToLive": 120, + "pierce": 1 } }, { "name": "Circle Tower", - "behaviour": "BasicTowerBehaviour", + "behaviour": "CircleTowerBehaviour", "sprite": "circle_tower", "texture": null, "projectileTextures": [], "projectileTexturesArrayLength": 4, "description": "If you feel a little circular.", "stats": { - "damage": 6, - "cooldown": 180, + "damage": 2, + "cooldown": 120, "gemSlotsAmount": 3, "cost": 125, - "range": 3 + "range": 2, + "timeToLive": 8, + "pierce": 30 } } ] diff --git a/assets/maps/01_first_steps.png b/assets/maps/01_first_steps.png new file mode 100644 index 0000000000000000000000000000000000000000..0d50143fe179565317ffb7d5264a3b815ee3a091 GIT binary patch literal 19612 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 literal 0 HcmV?d00001 diff --git a/assets/maps/02_the_turn.png b/assets/maps/02_the_turn.png new file mode 100644 index 0000000000000000000000000000000000000000..cd31cf8d42c99eef28b6319650cea5f8eb412853 GIT binary patch literal 119007 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�>yS`yqfH5Ko?fn)#ub}T4J0k%{__4e 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