@drincs/pixi-vn 1.3.13 → 1.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/dist/{classes/index.d.cts → CachedMap-DZLvJAnA.d.cts} +1 -1
  2. package/dist/{classes/index.d.ts → CachedMap-DZLvJAnA.d.ts} +1 -1
  3. package/dist/{OpenedLabel-DxlOwJKw.d.ts → HistoryChoiceMenuOption-BjnxDyK5.d.cts} +47 -2
  4. package/dist/{OpenedLabel-Dgkgemkv.d.cts → HistoryChoiceMenuOption-ZdrL_kYX.d.ts} +47 -2
  5. package/dist/{StorageElementType-DTGcnkzF.d.ts → StorageElementType-dAIVJeiw.d.cts} +1 -1
  6. package/dist/{StorageElementType-DTGcnkzF.d.cts → StorageElementType-dAIVJeiw.d.ts} +1 -1
  7. package/dist/history.cjs +1 -0
  8. package/dist/{history/index.d.ts → history.d.cts} +14 -8
  9. package/dist/{history/index.d.cts → history.d.ts} +14 -8
  10. package/dist/history.mjs +1 -0
  11. package/dist/index.cjs +143 -143
  12. package/dist/index.d.cts +3076 -216
  13. package/dist/index.d.ts +3076 -216
  14. package/dist/index.mjs +143 -143
  15. package/dist/narration.cjs +2 -0
  16. package/dist/{index-_rD16ks5.d.ts → narration.d.cts} +27 -44
  17. package/dist/{index-Bl9hiHQR.d.cts → narration.d.ts} +27 -44
  18. package/dist/narration.mjs +2 -0
  19. package/dist/storage.cjs +1 -0
  20. package/dist/{storage/index.d.ts → storage.d.cts} +75 -6
  21. package/dist/{storage/index.d.cts → storage.d.ts} +75 -6
  22. package/dist/storage.mjs +1 -0
  23. package/dist/unifier.cjs +1 -0
  24. package/dist/unifier.d.cts +230 -0
  25. package/dist/unifier.d.ts +230 -0
  26. package/dist/unifier.mjs +1 -0
  27. package/package.json +29 -2
  28. package/dist/ContainerMemory-CrY9QSo2.d.cts +0 -106
  29. package/dist/ContainerMemory-DrijxCcD.d.ts +0 -106
  30. package/dist/HistoryChoiceMenuOption-Kj_P28ke.d.ts +0 -49
  31. package/dist/HistoryChoiceMenuOption-unaLLfKR.d.cts +0 -49
  32. package/dist/HistoryGameState-i_gx3rGM.d.ts +0 -12
  33. package/dist/HistoryGameState-qeIMl_DH.d.cts +0 -12
  34. package/dist/NarrationGameState-CqDh48n_.d.ts +0 -24
  35. package/dist/NarrationGameState-Cu-OYzph.d.cts +0 -24
  36. package/dist/SoundGameState-BG_iPwjt.d.cts +0 -85
  37. package/dist/SoundGameState-BG_iPwjt.d.ts +0 -85
  38. package/dist/StorageGameState-B2kz-u_2.d.cts +0 -19
  39. package/dist/StorageGameState-Cnfj75sk.d.ts +0 -19
  40. package/dist/StoredClassModel-CjdhvNgB.d.cts +0 -56
  41. package/dist/StoredClassModel-CjdhvNgB.d.ts +0 -56
  42. package/dist/TickersSequence-Cf1Vcu22.d.cts +0 -133
  43. package/dist/TickersSequence-Cf1Vcu22.d.ts +0 -133
  44. package/dist/canvas/index.cjs +0 -3316
  45. package/dist/canvas/index.d.cts +0 -8
  46. package/dist/canvas/index.d.ts +0 -8
  47. package/dist/canvas/index.mjs +0 -3316
  48. package/dist/canvas/tickers/index.cjs +0 -3316
  49. package/dist/canvas/tickers/index.d.cts +0 -467
  50. package/dist/canvas/tickers/index.d.ts +0 -467
  51. package/dist/canvas/tickers/index.mjs +0 -3316
  52. package/dist/character/index.cjs +0 -572
  53. package/dist/character/index.d.cts +0 -3
  54. package/dist/character/index.d.ts +0 -3
  55. package/dist/character/index.mjs +0 -572
  56. package/dist/classes/index.cjs +0 -1
  57. package/dist/classes/index.mjs +0 -1
  58. package/dist/history/index.cjs +0 -1
  59. package/dist/history/index.mjs +0 -1
  60. package/dist/index-B4F3XaWz.d.cts +0 -1767
  61. package/dist/index-Cax-mGq_.d.cts +0 -216
  62. package/dist/index-Cvdua0o-.d.ts +0 -216
  63. package/dist/index-Czfdktw9.d.ts +0 -93
  64. package/dist/index-DZ1shoNp.d.cts +0 -93
  65. package/dist/index-DvpfJ2VQ.d.ts +0 -1767
  66. package/dist/interfaces/index.cjs +0 -1
  67. package/dist/interfaces/index.d.cts +0 -55
  68. package/dist/interfaces/index.d.ts +0 -55
  69. package/dist/interfaces/index.mjs +0 -0
  70. package/dist/narration/index.cjs +0 -573
  71. package/dist/narration/index.d.cts +0 -8
  72. package/dist/narration/index.d.ts +0 -8
  73. package/dist/narration/index.mjs +0 -573
  74. package/dist/sound/index.cjs +0 -572
  75. package/dist/sound/index.d.cts +0 -3
  76. package/dist/sound/index.d.ts +0 -3
  77. package/dist/sound/index.mjs +0 -572
  78. package/dist/storage/index.cjs +0 -1
  79. package/dist/storage/index.mjs +0 -1
  80. package/dist/utils/index.cjs +0 -1
  81. package/dist/utils/index.d.cts +0 -8
  82. package/dist/utils/index.d.ts +0 -8
  83. package/dist/utils/index.mjs +0 -1
@@ -1,572 +0,0 @@
1
- var Zm=Object.create;var $i=Object.defineProperty;var Qm=Object.getOwnPropertyDescriptor;var Jm=Object.getOwnPropertyNames;var tg=Object.getPrototypeOf,eg=Object.prototype.hasOwnProperty;var rg=(i,t,e)=>t in i?$i(i,t,{enumerable:true,configurable:true,writable:true,value:e}):i[t]=e;var p=(i,t)=>()=>(i&&(t=i(i=0)),t);var Ml=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),ig=(i,t)=>{for(var e in t)$i(i,e,{get:t[e],enumerable:true});},sg=(i,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of Jm(t))!eg.call(i,s)&&s!==e&&$i(i,s,{get:()=>t[s],enumerable:!(r=Qm(t,s))||r.enumerable});return i};var Al=(i,t,e)=>(e=i!=null?Zm(tg(i)):{},sg($i(e,"default",{value:i,enumerable:true}),i));var st=(i,t,e)=>rg(i,typeof t!="symbol"?t+"":t,e);var S,Io,Or,I,k=p(()=>{S=(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))(S||{}),Io=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},Or=(i,t)=>Io(i).priority??t,I={_addHandlers:{},_removeHandlers:{},_queue:{},remove(...i){return i.map(Io).forEach(t=>{t.type.forEach(e=>this._removeHandlers[e]?.(t));}),this},add(...i){return i.map(Io).forEach(t=>{t.type.forEach(e=>{let r=this._addHandlers,s=this._queue;r[e]?r[e]?.(t):(s[e]=s[e]||[],s[e]?.push(t));});}),this},handle(i,t,e){let r=this._addHandlers,s=this._removeHandlers;if(r[i]||s[i])throw new Error(`Extension type ${i} already has a handler`);r[i]=t,s[i]=e;let o=this._queue;return o[i]&&(o[i]?.forEach(n=>t(n)),delete o[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,r=>{t.findIndex(o=>o.name===r.name)>=0||(t.push({name:r.name,value:r.ref}),t.sort((o,n)=>Or(n.value,e)-Or(o.value,e)));},r=>{let s=t.findIndex(o=>o.name===r.name);s!==-1&&t.splice(s,1);})},handleByList(i,t,e=-1){return this.handle(i,r=>{t.includes(r.ref)||(t.push(r.ref),t.sort((s,o)=>Or(o,e)-Or(s,e)));},r=>{let s=t.indexOf(r.ref);s!==-1&&t.splice(s,1);})},mixin(i,...t){for(let e of t)Object.defineProperties(i.prototype,Object.getOwnPropertyDescriptors(e));}};});var Bl=Ml((ly,Ro)=>{var og=Object.prototype.hasOwnProperty,Pt="~";function zr(){}Object.create&&(zr.prototype=Object.create(null),new zr().__proto__||(Pt=false));function ng(i,t,e){this.fn=i,this.context=t,this.once=e||false;}function Fl(i,t,e,r,s){if(typeof e!="function")throw new TypeError("The listener must be a function");var o=new ng(e,r||i,s),n=Pt?Pt+t:t;return i._events[n]?i._events[n].fn?i._events[n]=[i._events[n],o]:i._events[n].push(o):(i._events[n]=o,i._eventsCount++),i}function ts(i,t){--i._eventsCount===0?i._events=new zr:delete i._events[t];}function St(){this._events=new zr,this._eventsCount=0;}St.prototype.eventNames=function(){var t=[],e,r;if(this._eventsCount===0)return t;for(r in e=this._events)og.call(e,r)&&t.push(Pt?r.slice(1):r);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t};St.prototype.listeners=function(t){var e=Pt?Pt+t:t,r=this._events[e];if(!r)return [];if(r.fn)return [r.fn];for(var s=0,o=r.length,n=new Array(o);s<o;s++)n[s]=r[s].fn;return n};St.prototype.listenerCount=function(t){var e=Pt?Pt+t:t,r=this._events[e];return r?r.fn?1:r.length:0};St.prototype.emit=function(t,e,r,s,o,n){var a=Pt?Pt+t:t;if(!this._events[a])return false;var l=this._events[a],h=arguments.length,u,c;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,true),h){case 1:return l.fn.call(l.context),true;case 2:return l.fn.call(l.context,e),true;case 3:return l.fn.call(l.context,e,r),true;case 4:return l.fn.call(l.context,e,r,s),true;case 5:return l.fn.call(l.context,e,r,s,o),true;case 6:return l.fn.call(l.context,e,r,s,o,n),true}for(c=1,u=new Array(h-1);c<h;c++)u[c-1]=arguments[c];l.fn.apply(l.context,u);}else {var f=l.length,d;for(c=0;c<f;c++)switch(l[c].once&&this.removeListener(t,l[c].fn,void 0,true),h){case 1:l[c].fn.call(l[c].context);break;case 2:l[c].fn.call(l[c].context,e);break;case 3:l[c].fn.call(l[c].context,e,r);break;case 4:l[c].fn.call(l[c].context,e,r,s);break;default:if(!u)for(d=1,u=new Array(h-1);d<h;d++)u[d-1]=arguments[d];l[c].fn.apply(l[c].context,u);}}return true};St.prototype.on=function(t,e,r){return Fl(this,t,e,r,false)};St.prototype.once=function(t,e,r){return Fl(this,t,e,r,true)};St.prototype.removeListener=function(t,e,r,s){var o=Pt?Pt+t:t;if(!this._events[o])return this;if(!e)return ts(this,o),this;var n=this._events[o];if(n.fn)n.fn===e&&(!s||n.once)&&(!r||n.context===r)&&ts(this,o);else {for(var a=0,l=[],h=n.length;a<h;a++)(n[a].fn!==e||s&&!n[a].once||r&&n[a].context!==r)&&l.push(n[a]);l.length?this._events[o]=l.length===1?l[0]:l:ts(this,o);}return this};St.prototype.removeAllListeners=function(t){var e;return t?(e=Pt?Pt+t:t,this._events[e]&&ts(this,e)):(this._events=new zr,this._eventsCount=0),this};St.prototype.off=St.prototype.removeListener;St.prototype.addListener=St.prototype.on;St.prefixed=Pt;St.EventEmitter=St;typeof Ro<"u"&&(Ro.exports=St);});var kl,H,Et=p(()=>{kl=Al(Bl()),H=kl.default;});var ag,ae,xt,Wt,zl,Gl,Do,lg,es,Wl,Vl,Il,Rl,Dl,Wr,hg,ug,cg,dg,Oo,Ul,fg,Uo,Lo,Ll,zo,Nt,Ol,Hl,Nl=p(()=>{ag={grad:.9,turn:360,rad:360/(2*Math.PI)},ae=function(i){return typeof i=="string"?i.length>0:typeof i=="number"},xt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=Math.pow(10,t)),Math.round(e*i)/e+0},Wt=function(i,t,e){return t===void 0&&(t=0),e===void 0&&(e=1),i>e?e:i>t?i:t},zl=function(i){return (i=isFinite(i)?i%360:0)>0?i:i+360},Gl=function(i){return {r:Wt(i.r,0,255),g:Wt(i.g,0,255),b:Wt(i.b,0,255),a:Wt(i.a)}},Do=function(i){return {r:xt(i.r),g:xt(i.g),b:xt(i.b),a:xt(i.a,3)}},lg=/^#([0-9a-f]{3,8})$/i,es=function(i){var t=i.toString(16);return t.length<2?"0"+t:t},Wl=function(i){var t=i.r,e=i.g,r=i.b,s=i.a,o=Math.max(t,e,r),n=o-Math.min(t,e,r),a=n?o===t?(e-r)/n:o===e?2+(r-t)/n:4+(t-e)/n:0;return {h:60*(a<0?a+6:a),s:o?n/o*100:0,v:o/255*100,a:s}},Vl=function(i){var t=i.h,e=i.s,r=i.v,s=i.a;t=t/360*6,e/=100,r/=100;var o=Math.floor(t),n=r*(1-e),a=r*(1-(t-o)*e),l=r*(1-(1-t+o)*e),h=o%6;return {r:255*[r,a,n,n,l,r][h],g:255*[l,r,r,a,n,n][h],b:255*[n,n,l,r,r,a][h],a:s}},Il=function(i){return {h:zl(i.h),s:Wt(i.s,0,100),l:Wt(i.l,0,100),a:Wt(i.a)}},Rl=function(i){return {h:xt(i.h),s:xt(i.s),l:xt(i.l),a:xt(i.a,3)}},Dl=function(i){return Vl((e=(t=i).s,{h:t.h,s:(e*=((r=t.l)<50?r:100-r)/100)>0?2*e/(r+e)*100:0,v:r+e,a:t.a}));var t,e,r;},Wr=function(i){return {h:(t=Wl(i)).h,s:(s=(200-(e=t.s))*(r=t.v)/100)>0&&s<200?e*r/100/(s<=100?s:200-s)*100:0,l:s/2,a:t.a};var t,e,r,s;},hg=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ug=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,cg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,dg=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,Oo={string:[[function(i){var t=lg.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?xt(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?xt(parseInt(i.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(i){var t=cg.exec(i)||dg.exec(i);return t?t[2]!==t[4]||t[4]!==t[6]?null:Gl({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=hg.exec(i)||ug.exec(i);if(!t)return null;var e,r,s=Il({h:(e=t[1],r=t[2],r===void 0&&(r="deg"),Number(e)*(ag[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return Dl(s)},"hsl"]],object:[[function(i){var t=i.r,e=i.g,r=i.b,s=i.a,o=s===void 0?1:s;return ae(t)&&ae(e)&&ae(r)?Gl({r:Number(t),g:Number(e),b:Number(r),a:Number(o)}):null},"rgb"],[function(i){var t=i.h,e=i.s,r=i.l,s=i.a,o=s===void 0?1:s;if(!ae(t)||!ae(e)||!ae(r))return null;var n=Il({h:Number(t),s:Number(e),l:Number(r),a:Number(o)});return Dl(n)},"hsl"],[function(i){var t=i.h,e=i.s,r=i.v,s=i.a,o=s===void 0?1:s;if(!ae(t)||!ae(e)||!ae(r))return null;var n=(function(a){return {h:zl(a.h),s:Wt(a.s,0,100),v:Wt(a.v,0,100),a:Wt(a.a)}})({h:Number(t),s:Number(e),v:Number(r),a:Number(o)});return Vl(n)},"hsv"]]},Ul=function(i,t){for(var e=0;e<t.length;e++){var r=t[e][0](i);if(r)return [r,t[e][1]]}return [null,void 0]},fg=function(i){return typeof i=="string"?Ul(i.trim(),Oo.string):typeof i=="object"&&i!==null?Ul(i,Oo.object):[null,void 0]},Uo=function(i,t){var e=Wr(i);return {h:e.h,s:Wt(e.s+100*t,0,100),l:e.l,a:e.a}},Lo=function(i){return (299*i.r+587*i.g+114*i.b)/1e3/255},Ll=function(i,t){var e=Wr(i);return {h:e.h,s:e.s,l:Wt(e.l+100*t,0,100),a:e.a}},zo=(function(){function i(t){this.parsed=fg(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1};}return i.prototype.isValid=function(){return this.parsed!==null},i.prototype.brightness=function(){return xt(Lo(this.rgba),2)},i.prototype.isDark=function(){return Lo(this.rgba)<.5},i.prototype.isLight=function(){return Lo(this.rgba)>=.5},i.prototype.toHex=function(){return t=Do(this.rgba),e=t.r,r=t.g,s=t.b,n=(o=t.a)<1?es(xt(255*o)):"","#"+es(e)+es(r)+es(s)+n;var t,e,r,s,o,n;},i.prototype.toRgb=function(){return Do(this.rgba)},i.prototype.toRgbString=function(){return t=Do(this.rgba),e=t.r,r=t.g,s=t.b,(o=t.a)<1?"rgba("+e+", "+r+", "+s+", "+o+")":"rgb("+e+", "+r+", "+s+")";var t,e,r,s,o;},i.prototype.toHsl=function(){return Rl(Wr(this.rgba))},i.prototype.toHslString=function(){return t=Rl(Wr(this.rgba)),e=t.h,r=t.s,s=t.l,(o=t.a)<1?"hsla("+e+", "+r+"%, "+s+"%, "+o+")":"hsl("+e+", "+r+"%, "+s+"%)";var t,e,r,s,o;},i.prototype.toHsv=function(){return t=Wl(this.rgba),{h:xt(t.h),s:xt(t.s),v:xt(t.v),a:xt(t.a,3)};var t;},i.prototype.invert=function(){return Nt({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),Nt(Uo(this.rgba,t))},i.prototype.desaturate=function(t){return t===void 0&&(t=.1),Nt(Uo(this.rgba,-t))},i.prototype.grayscale=function(){return Nt(Uo(this.rgba,-1))},i.prototype.lighten=function(t){return t===void 0&&(t=.1),Nt(Ll(this.rgba,t))},i.prototype.darken=function(t){return t===void 0&&(t=.1),Nt(Ll(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"?Nt({r:(e=this.rgba).r,g:e.g,b:e.b,a:t}):xt(this.rgba.a,3);var e;},i.prototype.hue=function(t){var e=Wr(this.rgba);return typeof t=="number"?Nt({h:t,s:e.s,l:e.l,a:e.a}):xt(e.h)},i.prototype.isEqual=function(t){return this.toHex()===Nt(t).toHex()},i})(),Nt=function(i){return i instanceof zo?i:new zo(i)},Ol=[],Hl=function(i){i.forEach(function(t){Ol.indexOf(t)<0&&(t(zo,Oo),Ol.push(t));});};});function Yl(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"},r={};for(var s in e)r[e[s]]=s;var o={};i.prototype.toName=function(n){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return "transparent";var a,l,h=r[this.toHex()];if(h)return h;if(n?.closest){var u=this.toRgb(),c=1/0,f="black";if(!o.length)for(var d in e)o[d]=new i(e[d]).toRgb();for(var m in e){var x=(a=u,l=o[m],Math.pow(a.r-l.r,2)+Math.pow(a.g-l.g,2)+Math.pow(a.b-l.b,2));x<c&&(c=x,f=m);}return f}},t.string.push([function(n){var a=n.toLowerCase(),l=a==="transparent"?"#0000":e[a];return l?new i(l).toRgb():null},"name"]);}var Xl=p(()=>{});var Ze,Z,It=p(()=>{Nl();Xl();Hl([Yl]);Ze=class Vr{constructor(t=16777215){this._value=null,this._components=new Float32Array(4),this._components.fill(1),this._int=16777215,this.value=t;}get red(){return this._components[0]}get green(){return this._components[1]}get blue(){return this._components[2]}get alpha(){return this._components[3]}setValue(t){return this.value=t,this}set value(t){if(t instanceof Vr)this._value=this._cloneSource(t._value),this._int=t._int,this._components.set(t._components);else {if(t===null)throw new Error("Cannot set Color#value to null");(this._value===null||!this._isSourceEqual(this._value,t))&&(this._value=this._cloneSource(t),this._normalize(this._value));}}get value(){return this._value}_cloneSource(t){return typeof t=="string"||typeof t=="number"||t instanceof Number||t===null?t:Array.isArray(t)||ArrayBuffer.isView(t)?t.slice(0):typeof t=="object"&&t!==null?{...t}:t}_isSourceEqual(t,e){let r=typeof t;if(r!==typeof e)return false;if(r==="number"||r==="string"||t instanceof Number)return t===e;if(Array.isArray(t)&&Array.isArray(e)||ArrayBuffer.isView(t)&&ArrayBuffer.isView(e))return t.length!==e.length?false:t.every((o,n)=>o===e[n]);if(t!==null&&e!==null){let o=Object.keys(t),n=Object.keys(e);return o.length!==n.length?false:o.every(a=>t[a]===e[a])}return t===e}toRgba(){let[t,e,r,s]=this._components;return {r:t,g:e,b:r,a:s}}toRgb(){let[t,e,r]=this._components;return {r:t,g:e,b:r}}toRgbaString(){let[t,e,r]=this.toUint8RgbArray();return `rgba(${t},${e},${r},${this.alpha})`}toUint8RgbArray(t){let[e,r,s]=this._components;return this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb),t[0]=Math.round(e*255),t[1]=Math.round(r*255),t[2]=Math.round(s*255),t}toArray(t){this._arrayRgba||(this._arrayRgba=[]),t||(t=this._arrayRgba);let[e,r,s,o]=this._components;return t[0]=e,t[1]=r,t[2]=s,t[3]=o,t}toRgbArray(t){this._arrayRgb||(this._arrayRgb=[]),t||(t=this._arrayRgb);let[e,r,s]=this._components;return t[0]=e,t[1]=r,t[2]=s,t}toNumber(){return this._int}toBgrNumber(){let[t,e,r]=this.toUint8RgbArray();return (r<<16)+(e<<8)+t}toLittleEndianNumber(){let t=this._int;return (t>>16)+(t&65280)+((t&255)<<16)}multiply(t){let[e,r,s,o]=Vr._temp.setValue(t)._components;return this._components[0]*=e,this._components[1]*=r,this._components[2]*=s,this._components[3]*=o,this._refreshInt(),this._value=null,this}premultiply(t,e=true){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=true){if(t===1)return (255<<24)+this._int;if(t===0)return e?0:this._int;let r=this._int>>16&255,s=this._int>>8&255,o=this._int&255;return e&&(r=r*t+.5|0,s=s*t+.5|0,o=o*t+.5|0),(t*255<<24)+(r<<16)+(s<<8)+o}toHex(){let t=this._int.toString(16);return `#${"000000".substring(0,6-t.length)+t}`}toHexa(){let 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,r,s,o;if((typeof t=="number"||t instanceof Number)&&t>=0&&t<=16777215){let n=t;e=(n>>16&255)/255,r=(n>>8&255)/255,s=(n&255)/255,o=1;}else if((Array.isArray(t)||t instanceof Float32Array)&&t.length>=3&&t.length<=4)t=this._clamp(t),[e,r,s,o=1]=t;else if((t instanceof Uint8Array||t instanceof Uint8ClampedArray)&&t.length>=3&&t.length<=4)t=this._clamp(t,0,255),[e,r,s,o=255]=t,e/=255,r/=255,s/=255,o/=255;else if(typeof t=="string"||typeof t=="object"){if(typeof t=="string"){let a=Vr.HEX_PATTERN.exec(t);a&&(t=`#${a[2]}`);}let n=Nt(t);n.isValid()&&({r:e,g:r,b:s,a:o}=n.rgba,e/=255,r/=255,s/=255);}if(e!==void 0)this._components[0]=e,this._components[1]=r,this._components[2]=s,this._components[3]=o,this._refreshInt();else throw new Error(`Unable to convert color ${t}`)}_refreshInt(){this._clamp(this._components);let[t,e,r]=this._components;this._int=(t*255<<16)+(e*255<<8)+(r*255|0);}_clamp(t,e=0,r=1){return typeof t=="number"?Math.min(Math.max(t,e),r):(t.forEach((s,o)=>{t[o]=Math.min(Math.max(s,e),r);}),t)}static isColorLike(t){return typeof t=="number"||typeof t=="string"||t instanceof Number||t instanceof Vr||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}};Ze.shared=new Ze;Ze._temp=new Ze;Ze.HEX_PATTERN=/^(#|0x)?(([a-f0-9]{3}){1,2}([a-f0-9]{2})?)$/i;Z=Ze;});var $l,jl=p(()=>{$l={cullArea:null,cullable:false,cullableChildren:true};});var ql,Kl,Zl,Wo=p(()=>{ql=Math.PI*2,Kl=180/Math.PI,Zl=Math.PI/180;});var N,Vo,jt=p(()=>{N=class i{constructor(t=0,e=0){this.x=0,this.y=0,this.x=t,this.y=e;}clone(){return new i(this.x,this.y)}copyFrom(t){return this.set(t.x,t.y),this}copyTo(t){return t.set(this.x,this.y),t}equals(t){return t.x===this.x&&t.y===this.y}set(t=0,e=t){return this.x=t,this.y=e,this}toString(){return `[pixi.js/math:Point x=${this.x} y=${this.y}]`}static get shared(){return Vo.x=0,Vo.y=0,Vo}},Vo=new N;});var M,pg,mg,rt=p(()=>{Wo();jt();M=class i{constructor(t=1,e=0,r=0,s=1,o=0,n=0){this.array=null,this.a=t,this.b=e,this.c=r,this.d=s,this.tx=o,this.ty=n;}fromArray(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5];}set(t,e,r,s,o,n){return this.a=t,this.b=e,this.c=r,this.d=s,this.tx=o,this.ty=n,this}toArray(t,e){this.array||(this.array=new Float32Array(9));let r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r}apply(t,e){e=e||new N;let r=t.x,s=t.y;return e.x=this.a*r+this.c*s+this.tx,e.y=this.b*r+this.d*s+this.ty,e}applyInverse(t,e){e=e||new N;let r=this.a,s=this.b,o=this.c,n=this.d,a=this.tx,l=this.ty,h=1/(r*n+o*-s),u=t.x,c=t.y;return e.x=n*h*u+-o*h*c+(l*o-a*n)*h,e.y=r*h*c+-s*h*u+(-l*r+a*s)*h,e}translate(t,e){return this.tx+=t,this.ty+=e,this}scale(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this}rotate(t){let e=Math.cos(t),r=Math.sin(t),s=this.a,o=this.c,n=this.tx;return this.a=s*e-this.b*r,this.b=s*r+this.b*e,this.c=o*e-this.d*r,this.d=o*r+this.d*e,this.tx=n*e-this.ty*r,this.ty=n*r+this.ty*e,this}append(t){let e=this.a,r=this.b,s=this.c,o=this.d;return this.a=t.a*e+t.b*s,this.b=t.a*r+t.b*o,this.c=t.c*e+t.d*s,this.d=t.c*r+t.d*o,this.tx=t.tx*e+t.ty*s+this.tx,this.ty=t.tx*r+t.ty*o+this.ty,this}appendFrom(t,e){let r=t.a,s=t.b,o=t.c,n=t.d,a=t.tx,l=t.ty,h=e.a,u=e.b,c=e.c,f=e.d;return this.a=r*h+s*c,this.b=r*u+s*f,this.c=o*h+n*c,this.d=o*u+n*f,this.tx=a*h+l*c+e.tx,this.ty=a*u+l*f+e.ty,this}setTransform(t,e,r,s,o,n,a,l,h){return this.a=Math.cos(a+h)*o,this.b=Math.sin(a+h)*o,this.c=-Math.sin(a-l)*n,this.d=Math.cos(a-l)*n,this.tx=t-(r*this.a+s*this.c),this.ty=e-(r*this.b+s*this.d),this}prepend(t){let e=this.tx;if(t.a!==1||t.b!==0||t.c!==0||t.d!==1){let r=this.a,s=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=s*t.a+this.d*t.c,this.d=s*t.b+this.d*t.d;}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this}decompose(t){let e=this.a,r=this.b,s=this.c,o=this.d,n=t.pivot,a=-Math.atan2(-s,o),l=Math.atan2(r,e),h=Math.abs(a+l);return h<1e-5||Math.abs(ql-h)<1e-5?(t.rotation=l,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=a,t.skew.y=l),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(s*s+o*o),t.position.x=this.tx+(n.x*e+n.y*s),t.position.y=this.ty+(n.x*r+n.y*o),t}invert(){let t=this.a,e=this.b,r=this.c,s=this.d,o=this.tx,n=t*s-e*r;return this.a=s/n,this.b=-e/n,this.c=-r/n,this.d=t/n,this.tx=(r*this.ty-s*o)/n,this.ty=-(t*this.ty-e*o)/n,this}isIdentity(){return this.a===1&&this.b===0&&this.c===0&&this.d===1&&this.tx===0&&this.ty===0}identity(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this}clone(){let t=new i;return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyTo(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t}copyFrom(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this}equals(t){return t.a===this.a&&t.b===this.b&&t.c===this.c&&t.d===this.d&&t.tx===this.tx&&t.ty===this.ty}toString(){return `[pixi.js:Matrix a=${this.a} b=${this.b} c=${this.c} d=${this.d} tx=${this.tx} ty=${this.ty}]`}static get IDENTITY(){return mg.identity()}static get shared(){return pg.identity()}},pg=new M,mg=new M;});var _t,Ho=p(()=>{_t=class i{constructor(t,e,r){this._x=e||0,this._y=r||0,this._observer=t;}clone(t){return new i(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=${this._x} y=${this._y} 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 Y(i="default"){return No[i]===void 0&&(No[i]=-1),++No[i]}var No,Mt=p(()=>{No={default:-1};});function F(i,t,e=3){if(Ql[t])return;let r=new Error().stack;typeof r>"u"?console.warn("PixiJS Deprecation Warning: ",`${t}
2
- Deprecated since v${i}`):(r=r.split(`
3
- `).splice(e).join(`
4
- `),console.groupCollapsed?(console.groupCollapsed("%cPixiJS Deprecation Warning: %c%s","color:#614108;background:#fffbe6","font-weight:normal;color:#614108;background:#fffbe6",`${t}
5
- Deprecated since v${i}`),console.warn(r),console.groupEnd()):(console.warn("PixiJS Deprecation Warning: ",`${t}
6
- Deprecated since v${i}`),console.warn(r))),Ql[t]=true;}var Ql,V,Jl,ht=p(()=>{Ql={},V="8.0.0",Jl="8.3.4";});function z(...i){Yo!==th&&(Yo++,Yo===th?console.warn("PixiJS Warning: too many warnings, no more warnings will be reported to the console by PixiJS."):console.warn("PixiJS Warning: ",...i));}var Yo,th,Tt=p(()=>{Yo=0,th=500;});var Fe,Xo=p(()=>{Fe=class{constructor(t,e){this._pool=[],this._count=0,this._index=0,this._classType=t,e&&this.prepopulate(e);}prepopulate(t){for(let e=0;e<t;e++)this._pool[this._index++]=new this._classType;this._count+=t;}get(t){let e;return this._index>0?e=this._pool[--this._index]:e=new this._classType,e.init?.(t),e}return(t){t.reset?.(),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;}};});var $o,mt,Be=p(()=>{Xo();$o=class{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 Fe(t)),this._poolsByClass.get(t)}stats(){let t={};return this._poolsByClass.forEach(e=>{let r=t[e._classType.name]?e._classType.name+e._classType.ID:e._classType.name;t[r]={free:e.totalFree,used:e.totalUsed,size:e.totalSize};}),t}},mt=new $o;});var eh,rh=p(()=>{ht();eh={get isCachedAsTexture(){return !!this.renderGroup?.isCachedAsTexture},cacheAsTexture(i){typeof i=="boolean"&&i===false?this.disableRenderGroup():(this.enableRenderGroup(),this.renderGroup.enableCacheAsTexture(i===true?{}:i));},updateCacheTexture(){this.renderGroup?.updateCacheTexture();},get cacheAsBitmap(){return this.isCachedAsTexture},set cacheAsBitmap(i){F("v8.6.0","cacheAsBitmap is deprecated, use cacheAsTexture instead."),this.cacheAsTexture(i);}};});function rs(i,t,e){let r=i.length,s;if(t>=r||e===0)return;e=t+e>r?r-t:e;let o=r-e;for(s=t;s<o;++s)i[s]=i[s+e];i.length=o;}var jo=p(()=>{});var ih,sh=p(()=>{jo();ht();ih={allowChildren:true,removeChildren(i=0,t){let e=t??this.children.length,r=e-i,s=[];if(r>0&&r<=e){for(let n=e-1;n>=i;n--){let a=this.children[n];a&&(s.push(a),a.parent=null);}rs(this.children,i,e);let o=this.renderGroup||this.parentRenderGroup;o&&o.removeChildren(s);for(let n=0;n<s.length;++n){let a=s[n];a.parentRenderLayer?.detach(a),this.emit("childRemoved",a,this,n),s[n].emit("removed",this);}return s.length>0&&this._didViewChangeTick++,s}else if(r===0&&this.children.length===0)return s;throw new RangeError("removeChildren: numeric values are outside the acceptable range.")},removeChildAt(i){let t=this.getChildAt(i);return this.removeChild(t)},getChildAt(i){if(i<0||i>=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){let 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||F(V,"addChildAt: Only Containers will be allowed to add children in v8.0.0");let{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){let s=i.parent.children.indexOf(i);if(i.parent===this&&s===t)return i;s!==-1&&i.parent.children.splice(s,1);}t===e.length?e.push(i):e.splice(t,0,i),i.parent=this,i.didChange=true,i._updateFlags=15;let r=this.renderGroup||this.parentRenderGroup;return r&&r.addChild(i),this.sortableChildren&&(this.sortDirty=true),this.emit("childAdded",i,this,t),i.emit("added",this),i},swapChildren(i,t){if(i===t)return;let e=this.getChildIndex(i),r=this.getChildIndex(t);this.children[e]=t,this.children[r]=i;let s=this.renderGroup||this.parentRenderGroup;s&&(s.structureDidChange=true),this._didContainerChangeTick++;},removeFromParent(){this.parent?.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;let e=i.worldTransform.clone();i.removeFromParent(),this.addChildAt(i,t);let r=this.worldTransform.clone();return r.invert(),e.prepend(r),i.setFromMatrix(e),i},replaceChild(i,t){i.updateLocalTransform(),this.addChildAt(t,this.getChildIndex(i)),t.setFromMatrix(i.localTransform),t.updateLocalTransform(),this.removeChild(i);}};});var oh,nh=p(()=>{oh={collectRenderables(i,t,e){this.parentRenderLayer&&this.parentRenderLayer!==e||this.globalDisplayStatus<7||!this.includeInBuild||(this.sortableChildren&&this.sortChildren(),this.isSimple?this.collectRenderablesSimple(i,t,e):this.renderGroup?t.renderPipes.renderGroup.addRenderGroup(this.renderGroup,i):this.collectRenderablesWithEffects(i,t,e));},collectRenderablesSimple(i,t,e){let r=this.children,s=r.length;for(let o=0;o<s;o++)r[o].collectRenderables(i,t,e);},collectRenderablesWithEffects(i,t,e){let{renderPipes:r}=t;for(let s=0;s<this.effects.length;s++){let o=this.effects[s];r[o.pipe].push(o,this,i);}this.collectRenderablesSimple(i,t,e);for(let s=this.effects.length-1;s>=0;s--){let o=this.effects[s];r[o.pipe].pop(o,this,i);}}};});var Hr,ah=p(()=>{Hr=class{constructor(){this.pipe="filter",this.priority=1;}destroy(){for(let t=0;t<this.filters.length;t++)this.filters[t].destroy();this.filters=null,this.filterArea=null;}};});var qo,is,lh=p(()=>{k();Be();qo=class{constructor(){this._effectClasses=[],this._tests=[],this._initialized=false;}init(){this._initialized||(this._initialized=true,this._effectClasses.forEach(t=>{this.add({test:t.test,maskClass:t});}));}add(t){this._tests.push(t);}getMaskEffect(t){this._initialized||this.init();for(let e=0;e<this._tests.length;e++){let r=this._tests[e];if(r.test(t))return mt.get(r.maskClass,t)}return t}returnMaskEffect(t){mt.return(t);}},is=new qo;I.handleByList(S.MaskEffect,is._effectClasses);});var hh,uh=p(()=>{ah();lh();hh={_maskEffect:null,_maskOptions:{inverse:false},_filterEffect:null,effects:[],_markStructureAsChanged(){let i=this.renderGroup||this.parentRenderGroup;i&&(i.structureDidChange=true);},addEffect(i){this.effects.indexOf(i)===-1&&(this.effects.push(i),this.effects.sort((e,r)=>e.priority-r.priority),this._markStructureAsChanged(),this._updateIsSimple());},removeEffect(i){let t=this.effects.indexOf(i);t!==-1&&(this.effects.splice(t,1),this._markStructureAsChanged(),this._updateIsSimple());},set mask(i){let t=this._maskEffect;t?.mask!==i&&(t&&(this.removeEffect(t),is.returnMaskEffect(t),this._maskEffect=null),i!=null&&(this._maskEffect=is.getMaskEffect(i),this.addEffect(this._maskEffect)));},get mask(){return this._maskEffect?.mask},setMask(i){this._maskOptions={...this._maskOptions,...i},i.mask&&(this.mask=i.mask),this._markStructureAsChanged();},set filters(i){!Array.isArray(i)&&i&&(i=[i]);let t=this._filterEffect||(this._filterEffect=new Hr);i=i;let e=i?.length>0,r=t.filters?.length>0,s=e!==r;i=Array.isArray(i)?i.slice(0):i,t.filters=Object.freeze(i),s&&(e?this.addEffect(t):(this.removeEffect(t),t.filters=i??null));},get filters(){return this._filterEffect?.filters},set filterArea(i){this._filterEffect||(this._filterEffect=new Hr),this._filterEffect.filterArea=i;},get filterArea(){return this._filterEffect?.filterArea}};});var ch,dh=p(()=>{ht();ch={label:null,get name(){return F(V,"Container.name property has been removed, use Container.label instead"),this.label},set name(i){F(V,"Container.name property has been removed, use Container.label instead"),this.label=i;},getChildByName(i,t=false){return this.getChildByLabel(i,t)},getChildByLabel(i,t=false){let e=this.children;for(let r=0;r<e.length;r++){let s=e[r];if(s.label===i||i instanceof RegExp&&i.test(s.label))return s}if(t)for(let r=0;r<e.length;r++){let o=e[r].getChildByLabel(i,true);if(o)return o}return null},getChildrenByLabel(i,t=false,e=[]){let r=this.children;for(let s=0;s<r.length;s++){let o=r[s];(o.label===i||i instanceof RegExp&&i.test(o.label))&&e.push(o);}if(t)for(let s=0;s<r.length;s++)r[s].getChildrenByLabel(i,true,e);return e}};});var ss,$,Ft=p(()=>{jt();ss=[new N,new N,new N,new N],$=class i{constructor(t=0,e=0,r=0,s=0){this.type="rectangle",this.x=Number(t),this.y=Number(e),this.width=Number(r),this.height=Number(s);}get left(){return this.x}get right(){return this.x+this.width}get top(){return this.y}get bottom(){return this.y+this.height}isEmpty(){return this.left===this.right||this.top===this.bottom}static get EMPTY(){return new i(0,0,0,0)}clone(){return new i(this.x,this.y,this.width,this.height)}copyFromBounds(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?false:t>=this.x&&t<this.x+this.width&&e>=this.y&&e<this.y+this.height}strokeContains(t,e,r,s=.5){let{width:o,height:n}=this;if(o<=0||n<=0)return false;let a=this.x,l=this.y,h=r*(1-s),u=r-h,c=a-h,f=a+o+h,d=l-h,m=l+n+h,x=a+u,g=a+o-u,_=l+u,y=l+n-u;return t>=c&&t<=f&&e>=d&&e<=m&&!(t>x&&t<g&&e>_&&e<y)}intersects(t,e){if(!e){let D=this.x<t.x?t.x:this.x;if((this.right>t.right?t.right:this.right)<=D)return false;let E=this.y<t.y?t.y:this.y;return (this.bottom>t.bottom?t.bottom:this.bottom)>E}let r=this.left,s=this.right,o=this.top,n=this.bottom;if(s<=r||n<=o)return false;let a=ss[0].set(t.left,t.top),l=ss[1].set(t.left,t.bottom),h=ss[2].set(t.right,t.top),u=ss[3].set(t.right,t.bottom);if(h.x<=a.x||l.y<=a.y)return false;let c=Math.sign(e.a*e.d-e.b*e.c);if(c===0||(e.apply(a,a),e.apply(l,l),e.apply(h,h),e.apply(u,u),Math.max(a.x,l.x,h.x,u.x)<=r||Math.min(a.x,l.x,h.x,u.x)>=s||Math.max(a.y,l.y,h.y,u.y)<=o||Math.min(a.y,l.y,h.y,u.y)>=n))return false;let f=c*(l.y-a.y),d=c*(a.x-l.x),m=f*r+d*o,x=f*s+d*o,g=f*r+d*n,_=f*s+d*n;if(Math.max(m,x,g,_)<=f*a.x+d*a.y||Math.min(m,x,g,_)>=f*u.x+d*u.y)return false;let y=c*(a.y-h.y),b=c*(h.x-a.x),v=y*r+b*o,P=y*s+b*o,T=y*r+b*n,w=y*s+b*n;return !(Math.max(v,P,T,w)<=y*a.x+b*a.y||Math.min(v,P,T,w)>=y*u.x+b*u.y)}pad(t=0,e=t){return this.x-=t,this.y-=e,this.width+=t*2,this.height+=e*2,this}fit(t){let e=Math.max(this.x,t.x),r=Math.min(this.x+this.width,t.x+t.width),s=Math.max(this.y,t.y),o=Math.min(this.y+this.height,t.y+t.height);return this.x=e,this.width=Math.max(r-e,0),this.y=s,this.height=Math.max(o-s,0),this}ceil(t=1,e=.001){let r=Math.ceil((this.x+this.width-e)*t)/t,s=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=r-this.x,this.height=s-this.y,this}scale(t,e=t){return this.x*=t,this.y*=e,this.width*=t,this.height*=e,this}enlarge(t){let e=Math.min(this.x,t.x),r=Math.max(this.x+this.width,t.x+t.width),s=Math.min(this.y,t.y),o=Math.max(this.y+this.height,t.y+t.height);return this.x=e,this.width=r-e,this.y=s,this.height=o-s,this}getBounds(t){return t||(t=new i),t.copyFrom(this),t}containsRect(t){if(this.width<=0||this.height<=0)return false;let e=t.x,r=t.y,s=t.x+t.width,o=t.y+t.height;return e>=this.x&&e<this.x+this.width&&r>=this.y&&r<this.y+this.height&&s>=this.x&&s<this.x+this.width&&o>=this.y&&o<this.y+this.height}set(t,e,r,s){return this.x=t,this.y=e,this.width=r,this.height=s,this}toString(){return `[pixi.js/math:Rectangle x=${this.x} y=${this.y} width=${this.width} height=${this.height}]`}};});var fh,nt,Yt=p(()=>{rt();Ft();fh=new M,nt=class i{constructor(t=1/0,e=1/0,r=-1/0,s=-1/0){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.matrix=fh,this.minX=t,this.minY=e,this.maxX=r,this.maxY=s;}isEmpty(){return this.minX>this.maxX||this.minY>this.maxY}get rectangle(){this._rectangle||(this._rectangle=new $);let 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=fh,this}set(t,e,r,s){this.minX=t,this.minY=e,this.maxX=r,this.maxY=s;}addFrame(t,e,r,s,o){o||(o=this.matrix);let n=o.a,a=o.b,l=o.c,h=o.d,u=o.tx,c=o.ty,f=this.minX,d=this.minY,m=this.maxX,x=this.maxY,g=n*t+l*e+u,_=a*t+h*e+c;g<f&&(f=g),_<d&&(d=_),g>m&&(m=g),_>x&&(x=_),g=n*r+l*e+u,_=a*r+h*e+c,g<f&&(f=g),_<d&&(d=_),g>m&&(m=g),_>x&&(x=_),g=n*t+l*s+u,_=a*t+h*s+c,g<f&&(f=g),_<d&&(d=_),g>m&&(m=g),_>x&&(x=_),g=n*r+l*s+u,_=a*r+h*s+c,g<f&&(f=g),_<d&&(d=_),g>m&&(m=g),_>x&&(x=_),this.minX=f,this.minY=d,this.maxX=m,this.maxY=x;}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.maxX<t.maxX?this.maxX:t.maxX,this.maxY=this.maxY<t.maxY?this.maxY:t.maxY;}applyMatrix(t){let e=this.minX,r=this.minY,s=this.maxX,o=this.maxY,{a:n,b:a,c:l,d:h,tx:u,ty:c}=t,f=n*e+l*r+u,d=a*e+h*r+c;this.minX=f,this.minY=d,this.maxX=f,this.maxY=d,f=n*s+l*r+u,d=a*s+h*r+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY,f=n*e+l*o+u,d=a*e+h*o+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY,f=n*s+l*o+u,d=a*s+h*o+c,this.minX=f<this.minX?f:this.minX,this.minY=d<this.minY?d:this.minY,this.maxX=f>this.maxX?f:this.maxX,this.maxY=d>this.maxY?d:this.maxY;}fit(t){return this.minX<t.left&&(this.minX=t.left),this.maxX>t.right&&(this.maxX=t.right),this.minY<t.top&&(this.minY=t.top),this.maxY>t.bottom&&(this.maxY=t.bottom),this}fitBounds(t,e,r,s){return this.minX<t&&(this.minX=t),this.maxX>e&&(this.maxX=e),this.minY<r&&(this.minY=r),this.maxY>s&&(this.maxY=s),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 i(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){let e=this.maxX-this.minX;this.minX=t,this.maxX=t+e;}get y(){return this.minY}set y(t){let 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,r,s){let o=this.minX,n=this.minY,a=this.maxX,l=this.maxY;s||(s=this.matrix);let h=s.a,u=s.b,c=s.c,f=s.d,d=s.tx,m=s.ty;for(let x=e;x<r;x+=2){let g=t[x],_=t[x+1],y=h*g+c*_+d,b=u*g+f*_+m;o=y<o?y:o,n=b<n?b:n,a=y>a?y:a,l=b>l?b:l;}this.minX=o,this.minY=n,this.maxX=a,this.maxY=l;}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}]`}copyFrom(t){return this.minX=t.minX,this.minY=t.minY,this.maxX=t.maxX,this.maxY=t.maxY,this}};});var ct,Rt,ke=p(()=>{rt();Xo();Yt();ct=new Fe(M),Rt=new Fe(nt);});var gg,ph,mh=p(()=>{rt();Yt();ke();gg=new M,ph={getFastGlobalBounds(i,t){t||(t=new nt),t.clear(),this._getGlobalBoundsRecursive(!!i,t,this.parentRenderLayer),t.isValid||t.set(0,0,0,0);let e=this.renderGroup||this.parentRenderGroup;return t.applyMatrix(e.worldTransform),t},_getGlobalBoundsRecursive(i,t,e){let r=t;if(i&&this.parentRenderLayer&&this.parentRenderLayer!==e||this.localDisplayStatus!==7||!this.measurable)return;let s=!!this.effects.length;if((this.renderGroup||s)&&(r=Rt.get().clear()),this.boundsArea)t.addRect(this.boundsArea,this.worldTransform);else {if(this.renderPipeId){let n=this.bounds;r.addFrame(n.minX,n.minY,n.maxX,n.maxY,this.groupTransform);}let o=this.children;for(let n=0;n<o.length;n++)o[n]._getGlobalBoundsRecursive(i,r,e);}if(s){let o=false,n=this.renderGroup||this.parentRenderGroup;for(let a=0;a<this.effects.length;a++)this.effects[a].addBounds&&(o||(o=true,r.applyMatrix(n.worldTransform)),this.effects[a].addBounds(r,true));o&&r.applyMatrix(n.worldTransform.copyTo(gg).invert()),t.addBounds(r),Rt.return(r);}else this.renderGroup&&(t.addBounds(r,this.relativeGroupTransform),Rt.return(r));}};});function os(i,t,e){e.clear();let r,s;return i.parent?t?r=i.parent.worldTransform:(s=ct.get().identity(),r=ns(i,s)):r=M.IDENTITY,gh(i,e,r,t),s&&ct.return(s),e.isValid||e.set(0,0,0,0),e}function gh(i,t,e,r){if(!i.visible||!i.measurable)return;let s;r?s=i.worldTransform:(i.updateLocalTransform(),s=ct.get(),s.appendFrom(i.localTransform,e));let o=t,n=!!i.effects.length;if(n&&(t=Rt.get().clear()),i.boundsArea)t.addRect(i.boundsArea,s);else {i.bounds&&(t.matrix=s,t.addBounds(i.bounds));for(let a=0;a<i.children.length;a++)gh(i.children[a],t,s,r);}if(n){for(let a=0;a<i.effects.length;a++)i.effects[a].addBounds?.(t);o.addBounds(t,M.IDENTITY),Rt.return(t);}r||ct.return(s);}function ns(i,t){let e=i.parent;return e&&(ns(e,t),e.updateLocalTransform(),t.append(e.localTransform)),t}var as=p(()=>{rt();ke();});function ls(i,t){if(i===16777215||!t)return t;if(t===16777215||!i)return i;let e=i>>16&255,r=i>>8&255,s=i&255,o=t>>16&255,n=t>>8&255,a=t&255,l=e*o/255|0,h=r*n/255|0,u=s*a/255|0;return (l<<16)+(h<<8)+u}var Ko=p(()=>{});function Zo(i,t){return i===xh?t:t===xh?i:ls(i,t)}var xh,_h=p(()=>{Ko();xh=16777215;});function Nr(i){return ((i&255)<<16)+(i&65280)+(i>>16&255)}var yh,bh=p(()=>{rt();as();ke();_h();yh={getGlobalAlpha(i){if(i)return this.renderGroup?this.renderGroup.worldAlpha:this.parentRenderGroup?this.parentRenderGroup.worldAlpha*this.alpha:this.alpha;let t=this.alpha,e=this.parent;for(;e;)t*=e.alpha,e=e.parent;return t},getGlobalTransform(i=new M,t){if(t)return i.copyFrom(this.worldTransform);this.updateLocalTransform();let e=ns(this,ct.get().identity());return i.appendFrom(this.localTransform,e),ct.return(e),i},getGlobalTint(i){if(i)return this.renderGroup?Nr(this.renderGroup.worldColor):this.parentRenderGroup?Nr(Zo(this.localColor,this.parentRenderGroup.worldColor)):this.tint;let t=this.localColor,e=this.parent;for(;e;)t=Zo(t,e.localColor),e=e.parent;return Nr(t)}};});function hs(i,t,e){return t.clear(),e||(e=M.IDENTITY),vh(i,t,e,i,true),t.isValid||t.set(0,0,0,0),t}function vh(i,t,e,r,s){let o;if(s)o=ct.get(),o=e.copyTo(o);else {if(!i.visible||!i.measurable)return;i.updateLocalTransform();let l=i.localTransform;o=ct.get(),o.appendFrom(l,e);}let n=t,a=!!i.effects.length;if(a&&(t=Rt.get().clear()),i.boundsArea)t.addRect(i.boundsArea,o);else {i.renderPipeId&&(t.matrix=o,t.addBounds(i.bounds));let l=i.children;for(let h=0;h<l.length;h++)vh(l[h],t,o,r,false);}if(a){for(let l=0;l<i.effects.length;l++)i.effects[l].addLocalBounds?.(t,r);n.addBounds(t,M.IDENTITY),Rt.return(t);}ct.return(o);}var Qo=p(()=>{rt();ke();});function Jo(i,t){let e=i.children;for(let r=0;r<e.length;r++){let s=e[r],o=s.uid,n=(s._didViewChangeTick&65535)<<16|s._didContainerChangeTick&65535,a=t.index;(t.data[a]!==o||t.data[a+1]!==n)&&(t.data[t.index]=o,t.data[t.index+1]=n,t.didChange=true),t.index=a+2,s.children.length&&Jo(s,t);}return t.didChange}var Sh=p(()=>{});var xg,Th,wh=p(()=>{rt();Yt();as();Qo();Sh();xg=new M,Th={_localBoundsCacheId:-1,_localBoundsCacheData:null,_setWidth(i,t){let e=Math.sign(this.scale.x)||1;t!==0?this.scale.x=i/t*e:this.scale.x=e;},_setHeight(i,t){let e=Math.sign(this.scale.y)||1;t!==0?this.scale.y=i/t*e:this.scale.y=e;},getLocalBounds(){this._localBoundsCacheData||(this._localBoundsCacheData={data:[],index:1,didChange:false,localBounds:new nt});let i=this._localBoundsCacheData;return i.index=1,i.didChange=false,i.data[0]!==this._didViewChangeTick&&(i.didChange=true,i.data[0]=this._didViewChangeTick),Jo(this,i),i.didChange&&hs(this,i.localBounds,xg),i.localBounds},getBounds(i,t){return os(this,i,t||new nt)}};});var Ph,Mh=p(()=>{Ph={_onRender:null,set onRender(i){let t=this.renderGroup||this.parentRenderGroup;if(!i){this._onRender&&t?.removeOnRender(this),this._onRender=null;return}this._onRender||t?.addOnRender(this),this._onRender=i;},get onRender(){return this._onRender}};});function _g(i,t){return i._zIndex-t._zIndex}var Ah,Ch=p(()=>{Ah={_zIndex:0,sortDirty:false,sortableChildren:false,get zIndex(){return this._zIndex},set zIndex(i){this._zIndex!==i&&(this._zIndex=i,this.depthOfChildModified());},depthOfChildModified(){this.parent&&(this.parent.sortableChildren=true,this.parent.sortDirty=true),this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true);},sortChildren(){this.sortDirty&&(this.sortDirty=false,this.children.sort(_g));}};});var Eh,Fh=p(()=>{jt();ke();Eh={getGlobalPosition(i=new N,t=false){return this.parent?this.parent.toGlobal(this._position,i,t):(i.x=this._position.x,i.y=this._position.y),i},toGlobal(i,t,e=false){let r=this.getGlobalTransform(ct.get(),e);return t=r.apply(i,t),ct.return(r),t},toLocal(i,t,e,r){t&&(i=t.toGlobal(i,e,r));let s=this.getGlobalTransform(ct.get(),r);return e=s.applyInverse(i,e),ct.return(s),e}};});var Qe,tn=p(()=>{Mt();Qe=class{constructor(){this.uid=Y("instructionSet"),this.instructions=[],this.instructionSize=0,this.renderables=[],this.gcTick=0;}reset(){this.instructionSize=0;}add(t){this.instructions[this.instructionSize++]=t;}log(){this.instructions.length=this.instructionSize,console.table(this.instructions,["type","action"]);}};});function le(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 en(i){return !(i&i-1)&&!!i}var Yr=p(()=>{});function us(i){let t={};for(let e in i)i[e]!==void 0&&(t[e]=i[e]);return t}var rn=p(()=>{});function yg(i){let t=Bh[i];return t===void 0&&(Bh[i]=Y("resource")),t}var Bh,kh,Vt,Je=p(()=>{Et();Mt();ht();Bh=Object.create(null);kh=class Gh extends H{constructor(t={}){super(),this._resourceType="textureSampler",this._touched=0,this._maxAnisotropy=1,this.destroyed=false,t={...Gh.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){F(V,"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(){let t=`${this.addressModeU}-${this.addressModeV}-${this.addressModeW}-${this.magFilter}-${this.minFilter}-${this.mipmapFilter}-${this.lodMinClamp}-${this.lodMaxClamp}-${this.compare}-${this._maxAnisotropy}`;return this._sharedResourceId=yg(t),this._resourceId}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this.removeAllListeners();}};kh.defaultOptions={addressMode:"clamp-to-edge",scaleMode:"linear"};Vt=kh;});var Ih,gt,he=p(()=>{Et();Yr();rn();Mt();Je();Ih=class Rh extends H{constructor(t={}){super(),this.options=t,this.uid=Y("textureSource"),this._resourceType="textureSource",this._resourceId=Y("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=false,this.format="rgba8unorm",this.dimension="2d",this.antialias=false,this._touched=0,this._batchTick=-1,this._textureBindLocation=-1,t={...Rh.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 Vt(us(t)),this.destroyed=false,this._refreshPOT();}get source(){return this}get style(){return this._style}set style(t){this.style!==t&&(this._style?.off("change",this._onStyleChange,this),this._style=t,this._style?.on("change",this._onStyleChange,this),this._onStyleChange());}set maxAnisotropy(t){this._style.maxAnisotropy=t;}get maxAnisotropy(){return this._style.maxAnisotropy}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){let t=this._resolution;if(this.resize(this.resourceWidth/t,this.resourceHeight/t))return}this.emit("update",this);}destroy(){this.destroyed=true,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=Y("resource"),this.emit("change",this),this.emit("unload",this);}get resourceWidth(){let{resource:t}=this;return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}get resourceHeight(){let{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,r){r||(r=this._resolution),t||(t=this.width),e||(e=this.height);let s=Math.round(t*r),o=Math.round(e*r);return this.width=s/r,this.height=o/r,this._resolution=r,this.pixelWidth===s&&this.pixelHeight===o?false:(this._refreshPOT(),this.pixelWidth=s,this.pixelHeight=o,this.emit("resize",this),this._resourceId=Y("resource"),this.emit("change",this),true)}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=en(this.pixelWidth)&&en(this.pixelHeight);}static test(t){throw new Error("Unimplemented")}};Ih.defaultOptions={resolution:1,format:"bgra8unorm",alphaMode:"premultiply-alpha-on-upload",dimensions:"2d",mipLevelCount:1,autoGenerateMipmaps:false,sampleCount:1,antialias:false,autoGarbageCollect:false};gt=Ih;});function bg(){for(let i=0;i<16;i++){let t=[];sn.push(t);for(let e=0;e<16;e++){let r=cs(Ge[i]*Ge[e]+Re[i]*Ie[e]),s=cs(Ie[i]*Ge[e]+De[i]*Ie[e]),o=cs(Ge[i]*Re[e]+Re[i]*De[e]),n=cs(Ie[i]*Re[e]+De[i]*De[e]);for(let a=0;a<16;a++)if(Ge[a]===r&&Ie[a]===s&&Re[a]===o&&De[a]===n){t.push(a);break}}}for(let i=0;i<16;i++){let t=new M;t.set(Ge[i],Ie[i],Re[i],De[i],0,0),Dh.push(t);}}var Ge,Ie,Re,De,sn,Dh,cs,J,Uh=p(()=>{rt();Ge=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Ie=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Re=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],De=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],sn=[],Dh=[],cs=Math.sign;bg();J={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:i=>Ge[i],uY:i=>Ie[i],vX:i=>Re[i],vY:i=>De[i],inv:i=>i&8?i&15:-i&7,add:(i,t)=>sn[i][t],sub:(i,t)=>sn[i][J.inv(t)],rotate180:i=>i^4,isVertical:i=>(i&3)===2,byDirection:(i,t)=>Math.abs(i)*2<=Math.abs(t)?t>=0?J.S:J.N:Math.abs(t)*2<=Math.abs(i)?i>0?J.E:J.W:t>0?i>0?J.SE:J.SW:i>0?J.NE:J.NW,matrixAppendRotationInv:(i,t,e=0,r=0)=>{let s=Dh[J.inv(t)];s.tx=e,s.ty=r,i.append(s);},transformRectCoords:(i,t,e,r)=>{let{x:s,y:o,width:n,height:a}=i,{x:l,y:h,width:u,height:c}=t;return e===J.E?(r.set(s+l,o+h,n,a),r):e===J.S?r.set(u-o-a+l,s+h,a,n):e===J.W?r.set(u-s-n+l,c-o-a+h,n,a):e===J.N?r.set(o+l,c-s-n+h,a,n):r.set(s+l,o+h,n,a)}};});var on,Lh=p(()=>{on=()=>{};});var Ue,nn=p(()=>{k();he();Ue=class extends gt{constructor(t){let e=t.resource||new Float32Array(t.width*t.height*4),r=t.format;r||(e instanceof Float32Array?r="rgba32float":e instanceof Int32Array||e instanceof Uint32Array?r="rgba32uint":e instanceof Int16Array||e instanceof Uint16Array?r="rgba16uint":(r="bgra8unorm")),super({...t,resource:e,format:r}),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}};Ue.extension=S.TextureSource;});var Oh,ds,zh=p(()=>{rt();Oh=new M,ds=class{constructor(t,e){this.mapCoord=new M,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=false,this.texture=t;}get texture(){return this._texture}set texture(t){this.texture!==t&&(this._texture?.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);let r=this.mapCoord;for(let s=0;s<t.length;s+=2){let o=t[s],n=t[s+1];e[s]=o*r.a+n*r.c+r.tx,e[s+1]=o*r.b+n*r.d+r.ty;}return e}update(){let t=this._texture;this._updateID++;let e=t.uvs;this.mapCoord.set(e.x1-e.x0,e.y1-e.y0,e.x3-e.x0,e.y3-e.y0,e.x0,e.y0);let r=t.orig,s=t.trim;s&&(Oh.set(r.width/s.width,0,0,r.height/s.height,-s.x/s.width,-s.y/s.height),this.mapCoord.append(Oh));let o=t.source,n=this.uClampFrame,a=this.clampMargin/o._resolution,l=this.clampOffset/o._resolution;return n[0]=(t.frame.x+a+l)/o.width,n[1]=(t.frame.y+a+l)/o.height,n[2]=(t.frame.x+t.frame.width-a+l)/o.width,n[3]=(t.frame.y+t.frame.height-a+l)/o.height,this.uClampOffset[0]=this.clampOffset/o.pixelWidth,this.uClampOffset[1]=this.clampOffset/o.pixelHeight,this.isSimple=t.frame.width===o.width&&t.frame.height===o.height&&t.rotate===0,true}};});var B,bt=p(()=>{Et();Uh();Ft();Mt();ht();Lh();nn();he();zh();B=class extends H{constructor({source:t,label:e,frame:r,orig:s,trim:o,defaultAnchor:n,defaultBorders:a,rotate:l,dynamic:h}={}){if(super(),this.uid=Y("texture"),this.uvs={x0:0,y0:0,x1:0,y1:0,x2:0,y2:0,x3:0,y3:0},this.frame=new $,this.noFrame=false,this.dynamic=false,this.isTexture=true,this.label=e,this.source=t?.source??new gt,this.noFrame=!r,r)this.frame.copyFrom(r);else {let{width:u,height:c}=this._source;this.frame.width=u,this.frame.height=c;}this.orig=s||this.frame,this.trim=o,this.rotate=l??0,this.defaultAnchor=n,this.defaultBorders=a,this.destroyed=false,this.dynamic=h||false,this.updateUvs();}set source(t){this._source&&this._source.off("resize",this.update,this),this._source=t,t.on("resize",this.update,this),this.emit("update",this);}get source(){return this._source}get textureMatrix(){return this._textureMatrix||(this._textureMatrix=new ds(this)),this._textureMatrix}get width(){return this.orig.width}get height(){return this.orig.height}updateUvs(){let{uvs:t,frame:e}=this,{width:r,height:s}=this._source,o=e.x/r,n=e.y/s,a=e.width/r,l=e.height/s,h=this.rotate;if(h){let u=a/2,c=l/2,f=o+u,d=n+c;h=J.add(h,J.NW),t.x0=f+u*J.uX(h),t.y0=d+c*J.uY(h),h=J.add(h,2),t.x1=f+u*J.uX(h),t.y1=d+c*J.uY(h),h=J.add(h,2),t.x2=f+u*J.uX(h),t.y2=d+c*J.uY(h),h=J.add(h,2),t.x3=f+u*J.uX(h),t.y3=d+c*J.uY(h);}else t.x0=o,t.y0=n,t.x1=o+a,t.y1=n,t.x2=o+a,t.y2=n+l,t.x3=o,t.y3=n+l;}destroy(t=false){this._source&&t&&(this._source.destroy(),this._source=null),this._textureMatrix=null,this.destroyed=true,this.emit("destroy",this),this.removeAllListeners();}update(){this.noFrame&&(this.frame.width=this._source.width,this.frame.height=this._source.height),this.updateUvs(),this.emit("update",this);}get baseTexture(){return F(V,"Texture.baseTexture is now Texture.source"),this._source}};B.EMPTY=new B({label:"EMPTY",source:new gt({label:"EMPTY"})});B.EMPTY.destroy=on;B.WHITE=new B({source:new Ue({resource:new Uint8Array([255,255,255,255]),width:1,height:1,alphaMode:"premultiply-alpha-on-upload",label:"WHITE"}),label:"WHITE"});B.WHITE.destroy=on;});var vg,an,wt,tr=p(()=>{Yr();he();bt();Je();vg=0,an=class{constructor(t){this._poolKeyHash=Object.create(null),this._texturePool={},this.textureOptions=t||{},this.enableFullScreen=false,this.textureStyle=new Vt(this.textureOptions);}createTexture(t,e,r){let s=new gt({...this.textureOptions,width:t,height:e,resolution:1,antialias:r,autoGarbageCollect:false});return new B({source:s,label:`texturePool_${vg++}`})}getOptimalTexture(t,e,r=1,s){let o=Math.ceil(t*r-1e-6),n=Math.ceil(e*r-1e-6);o=le(o),n=le(n);let a=(o<<17)+(n<<1)+(s?1:0);this._texturePool[a]||(this._texturePool[a]=[]);let l=this._texturePool[a].pop();return l||(l=this.createTexture(o,n,s)),l.source._resolution=r,l.source.width=o/r,l.source.height=n/r,l.source.pixelWidth=o,l.source.pixelHeight=n,l.frame.x=0,l.frame.y=0,l.frame.width=t,l.frame.height=e,l.updateUvs(),this._poolKeyHash[l.uid]=a,l}getSameSizeTexture(t,e=false){let r=t.source;return this.getOptimalTexture(t.width,t.height,r._resolution,e)}returnTexture(t,e=false){let r=this._poolKeyHash[t.uid];e&&(t.source.style=this.textureStyle),this._texturePool[r].push(t);}clear(t){if(t=t!==false,t)for(let e in this._texturePool){let r=this._texturePool[e];if(r)for(let s=0;s<r.length;s++)r[s].destroy(true);}this._texturePool={};}},wt=new an;});var fs,Wh=p(()=>{rt();tn();tr();fs=class{constructor(){this.renderPipeId="renderGroup",this.root=null,this.canBundle=false,this.renderGroupParent=null,this.renderGroupChildren=[],this.worldTransform=new M,this.worldColorAlpha=4294967295,this.worldColor=16777215,this.worldAlpha=1,this.childrenToUpdate=Object.create(null),this.updateTick=0,this.gcTick=0,this.childrenRenderablesToUpdate={list:[],index:0},this.structureDidChange=true,this.instructionSet=new Qe,this._onRenderContainers=[],this.textureNeedsUpdate=true,this.isCachedAsTexture=false,this._matrixDirty=7;}init(t){this.root=t,t._onRender&&this.addOnRender(t),t.didChange=true;let e=t.children;for(let r=0;r<e.length;r++){let s=e[r];s._updateFlags=15,this.addChild(s);}}enableCacheAsTexture(t={}){this.textureOptions=t,this.isCachedAsTexture=true,this.textureNeedsUpdate=true;}disableCacheAsTexture(){this.isCachedAsTexture=false,this.texture&&(wt.returnTexture(this.texture,true),this.texture=null);}updateCacheTexture(){this.textureNeedsUpdate=true;}reset(){this.renderGroupChildren.length=0;for(let t in this.childrenToUpdate){let e=this.childrenToUpdate[t];e.list.fill(null),e.index=0;}this.childrenRenderablesToUpdate.index=0,this.childrenRenderablesToUpdate.list.fill(null),this.root=null,this.updateTick=0,this.structureDidChange=true,this._onRenderContainers.length=0,this.renderGroupParent=null,this.disableCacheAsTexture();}get localTransform(){return this.root.localTransform}addRenderGroupChild(t){t.renderGroupParent&&t.renderGroupParent._removeRenderGroupChild(t),t.renderGroupParent=this,this.renderGroupChildren.push(t);}_removeRenderGroupChild(t){let e=this.renderGroupChildren.indexOf(t);e>-1&&this.renderGroupChildren.splice(e,1),t.renderGroupParent=null;}addChild(t){if(this.structureDidChange=true,t.parentRenderGroup=this,t.updateTick=-1,t.parent===this.root?t.relativeRenderGroupDepth=1:t.relativeRenderGroupDepth=t.parent.relativeRenderGroupDepth+1,t.didChange=true,this.onChildUpdate(t),t.renderGroup){this.addRenderGroupChild(t.renderGroup);return}t._onRender&&this.addOnRender(t);let e=t.children;for(let r=0;r<e.length;r++)this.addChild(e[r]);}removeChild(t){if(this.structureDidChange=true,t._onRender&&(t.renderGroup||this.removeOnRender(t)),t.parentRenderGroup=null,t.renderGroup){this._removeRenderGroupChild(t.renderGroup);return}let e=t.children;for(let r=0;r<e.length;r++)this.removeChild(e[r]);}removeChildren(t){for(let e=0;e<t.length;e++)this.removeChild(t[e]);}onChildUpdate(t){let e=this.childrenToUpdate[t.relativeRenderGroupDepth];e||(e=this.childrenToUpdate[t.relativeRenderGroupDepth]={index:0,list:[]}),e.list[e.index++]=t;}updateRenderable(t){t.globalDisplayStatus<7||(this.instructionSet.renderPipes[t.renderPipeId].updateRenderable(t),t.didViewUpdate=false);}onChildViewUpdate(t){this.childrenRenderablesToUpdate.list[this.childrenRenderablesToUpdate.index++]=t;}get isRenderable(){return this.root.localDisplayStatus===7&&this.worldAlpha>0}addOnRender(t){this._onRenderContainers.push(t);}removeOnRender(t){this._onRenderContainers.splice(this._onRenderContainers.indexOf(t),1);}runOnRender(t){for(let e=0;e<this._onRenderContainers.length;e++)this._onRenderContainers[e]._onRender(t);}destroy(){this.disableCacheAsTexture(),this.renderGroupParent=null,this.root=null,this.childrenRenderablesToUpdate=null,this.childrenToUpdate=null,this.renderGroupChildren=null,this._onRenderContainers=null,this.instructionSet=null;}getChildren(t=[]){let e=this.root.children;for(let r=0;r<e.length;r++)this._getChildren(e[r],t);return t}_getChildren(t,e=[]){if(e.push(t),t.renderGroup)return e;let r=t.children;for(let s=0;s<r.length;s++)this._getChildren(r[s],e);return e}invalidateMatrices(){this._matrixDirty=7;}get inverseWorldTransform(){return (this._matrixDirty&1)===0?this._inverseWorldTransform:(this._matrixDirty&=-2,this._inverseWorldTransform||(this._inverseWorldTransform=new M),this._inverseWorldTransform.copyFrom(this.worldTransform).invert())}get textureOffsetInverseTransform(){return (this._matrixDirty&2)===0?this._textureOffsetInverseTransform:(this._matrixDirty&=-3,this._textureOffsetInverseTransform||(this._textureOffsetInverseTransform=new M),this._textureOffsetInverseTransform.copyFrom(this.inverseWorldTransform).translate(-this._textureBounds.x,-this._textureBounds.y))}get inverseParentTextureTransform(){if((this._matrixDirty&4)===0)return this._inverseParentTextureTransform;this._matrixDirty&=-5;let t=this._parentCacheAsTextureRenderGroup;return t?(this._inverseParentTextureTransform||(this._inverseParentTextureTransform=new M),this._inverseParentTextureTransform.copyFrom(this.worldTransform).prepend(t.inverseWorldTransform).translate(-t._textureBounds.x,-t._textureBounds.y)):this.worldTransform}get cacheToLocalTransform(){return this._parentCacheAsTextureRenderGroup?this._parentCacheAsTextureRenderGroup.textureOffsetInverseTransform:null}};});function Vh(i,t,e={}){for(let r in t)!e[r]&&t[r]!==void 0&&(i[r]=t[r]);}var Hh=p(()=>{});var ln,ps,hn,ms,Nh,Sg,un,Xt,Xr=p(()=>{Et();It();jl();k();rt();Wo();Ho();Mt();ht();Tt();Be();rh();sh();nh();uh();dh();mh();bh();wh();Mh();Ch();Fh();Wh();Hh();ln=new _t(null),ps=new _t(null),hn=new _t(null,1,1),ms=new _t(null),Nh=1,Sg=2,un=4,Xt=class i extends H{constructor(t={}){super(),this.uid=Y("renderable"),this._updateFlags=15,this.renderGroup=null,this.parentRenderGroup=null,this.parentRenderGroupIndex=0,this.didChange=false,this.didViewUpdate=false,this.relativeRenderGroupDepth=0,this.children=[],this.parent=null,this.includeInBuild=true,this.measurable=true,this.isSimple=true,this.updateTick=-1,this.localTransform=new M,this.relativeGroupTransform=new M,this.groupTransform=this.relativeGroupTransform,this.destroyed=false,this._position=new _t(this,0,0),this._scale=hn,this._pivot=ps,this._origin=ms,this._skew=ln,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._rotation=0,this.localColor=16777215,this.localAlpha=1,this.groupAlpha=1,this.groupColor=16777215,this.groupColorAlpha=4294967295,this.localBlendMode="inherit",this.groupBlendMode="normal",this.localDisplayStatus=7,this.globalDisplayStatus=7,this._didContainerChangeTick=0,this._didViewChangeTick=0,this._didLocalTransformChangeId=-1,this.effects=[],Vh(this,t,{children:true,parent:true,effects:true}),t.children?.forEach(e=>this.addChild(e)),t.parent?.addChild(this);}static mixin(t){F("8.8.0","Container.mixin is deprecated, please use extensions.mixin instead."),I.mixin(i,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||F(V,"addChild: Only Containers will be allowed to add children in v8.0.0"),t.length>1){for(let s=0;s<t.length;s++)this.addChild(t[s]);return t[0]}let e=t[0],r=this.renderGroup||this.parentRenderGroup;return e.parent===this?(this.children.splice(this.children.indexOf(e),1),this.children.push(e),r&&(r.structureDidChange=true),e):(e.parent&&e.parent.removeChild(e),this.children.push(e),this.sortableChildren&&(this.sortDirty=true),e.parent=this,e.didChange=true,e._updateFlags=15,r&&r.addChild(e),this.emit("childAdded",e,this,this.children.length-1),e.emit("added",this),this._didViewChangeTick++,e._zIndex!==0&&e.depthOfChildModified(),e)}removeChild(...t){if(t.length>1){for(let s=0;s<t.length;s++)this.removeChild(t[s]);return t[0]}let e=t[0],r=this.children.indexOf(e);return r>-1&&(this._didViewChangeTick++,this.children.splice(r,1),this.renderGroup?this.renderGroup.removeChild(e):this.parentRenderGroup&&this.parentRenderGroup.removeChild(e),e.parentRenderLayer&&e.parentRenderLayer.detach(e),e.parent=null,this.emit("childRemoved",e,this,r),e.emit("removed",this)),e}_onUpdate(t){t&&t===this._skew&&this._updateSkew(),this._didContainerChangeTick++,!this.didChange&&(this.didChange=true,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;let t=this.parentRenderGroup;t?.removeChild(this),this.renderGroup=mt.get(fs,this),this.groupTransform=M.IDENTITY,t?.addChild(this),this._updateIsSimple();}disableRenderGroup(){if(!this.renderGroup)return;let t=this.parentRenderGroup;t?.removeChild(this),mt.return(this.renderGroup),this.renderGroup=null,this.groupTransform=this.relativeGroupTransform,t?.addChild(this),this._updateIsSimple();}_updateIsSimple(){this.isSimple=!this.renderGroup&&this.effects.length===0;}get worldTransform(){return this._worldTransform||(this._worldTransform=new M),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*Kl}set angle(t){this.rotation=t*Zl;}get pivot(){return this._pivot===ps&&(this._pivot=new _t(this,0,0)),this._pivot}set pivot(t){this._pivot===ps&&(this._pivot=new _t(this,0,0),this._origin!==ms&&z("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),typeof t=="number"?this._pivot.set(t):this._pivot.copyFrom(t);}get skew(){return this._skew===ln&&(this._skew=new _t(this,0,0)),this._skew}set skew(t){this._skew===ln&&(this._skew=new _t(this,0,0)),this._skew.copyFrom(t);}get scale(){return this._scale===hn&&(this._scale=new _t(this,1,1)),this._scale}set scale(t){this._scale===hn&&(this._scale=new _t(this,0,0)),typeof t=="string"&&(t=parseFloat(t)),typeof t=="number"?this._scale.set(t):this._scale.copyFrom(t);}get origin(){return this._origin===ms&&(this._origin=new _t(this,0,0)),this._origin}set origin(t){this._origin===ms&&(this._origin=new _t(this,0,0),this._pivot!==ps&&z("Setting both a pivot and origin on a Container is not recommended. This can lead to unexpected behavior if not handled carefully.")),typeof t=="number"?this._origin.set(t):this._origin.copyFrom(t);}get width(){return Math.abs(this.scale.x*this.getLocalBounds().width)}set width(t){let e=this.getLocalBounds().width;this._setWidth(t,e);}get height(){return Math.abs(this.scale.y*this.getLocalBounds().height)}set height(t){let e=this.getLocalBounds().height;this._setHeight(t,e);}getSize(t){t||(t={});let 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){let r=this.getLocalBounds();typeof t=="object"?(e=t.height??t.width,t=t.width):e??(e=t),t!==void 0&&this._setWidth(t,r.width),e!==void 0&&this._setHeight(e,r.height);}_updateSkew(){let 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.origin.set(typeof t.originX=="number"?t.originX:this.origin.x,typeof t.originY=="number"?t.originY:this.origin.y),this}setFromMatrix(t){t.decompose(this);}updateLocalTransform(){let t=this._didContainerChangeTick;if(this._didLocalTransformChangeId===t)return;this._didLocalTransformChangeId=t;let e=this.localTransform,r=this._scale,s=this._pivot,o=this._origin,n=this._position,a=r._x,l=r._y,h=s._x,u=s._y,c=-o._x,f=-o._y;e.a=this._cx*a,e.b=this._sx*a,e.c=this._cy*l,e.d=this._sy*l,e.tx=n._x-(h*e.a+u*e.c)+(c*e.a+f*e.c)-c,e.ty=n._y-(h*e.b+u*e.d)+(c*e.b+f*e.d)-f;}set alpha(t){t!==this.localAlpha&&(this.localAlpha=t,this._updateFlags|=Nh,this._onUpdate());}get alpha(){return this.localAlpha}set tint(t){let r=Z.shared.setValue(t??16777215).toBgrNumber();r!==this.localColor&&(this.localColor=r,this._updateFlags|=Nh,this._onUpdate());}get tint(){return Nr(this.localColor)}set blendMode(t){this.localBlendMode!==t&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=Sg,this.localBlendMode=t,this._onUpdate());}get blendMode(){return this.localBlendMode}get visible(){return !!(this.localDisplayStatus&2)}set visible(t){let e=t?2:0;(this.localDisplayStatus&2)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=un,this.localDisplayStatus^=2,this._onUpdate());}get culled(){return !(this.localDisplayStatus&4)}set culled(t){let e=t?0:4;(this.localDisplayStatus&4)!==e&&(this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._updateFlags|=un,this.localDisplayStatus^=4,this._onUpdate());}get renderable(){return !!(this.localDisplayStatus&1)}set renderable(t){let e=t?1:0;(this.localDisplayStatus&1)!==e&&(this._updateFlags|=un,this.localDisplayStatus^=1,this.parentRenderGroup&&(this.parentRenderGroup.structureDidChange=true),this._onUpdate());}get isRenderable(){return this.localDisplayStatus===7&&this.groupAlpha>0}destroy(t=false){if(this.destroyed)return;this.destroyed=true;let e;if(this.children.length&&(e=this.removeChildren(0,this.children.length)),this.removeFromParent(),this.parent=null,this._maskEffect=null,this._filterEffect=null,this.effects=null,this._position=null,this._scale=null,this._pivot=null,this._origin=null,this._skew=null,this.emit("destroyed",this),this.removeAllListeners(),(typeof t=="boolean"?t:t?.children)&&e)for(let s=0;s<e.length;++s)e[s].destroy(t);this.renderGroup?.destroy(),this.renderGroup=null;}};I.mixin(Xt,ih,ph,Eh,Ph,Th,hh,ch,Ah,$l,eh,yh,oh);});var qt,$r=p(()=>{qt=(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))(qt||{});});var er,Yh=p(()=>{er=class{constructor(t,e=null,r=0,s=false){this.next=null,this.previous=null,this._destroyed=false,this._fn=t,this._context=e,this.priority=r,this._once=s;}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));let e=this.next;return this._once&&this.destroy(true),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=false){this._destroyed=true,this._fn=null,this._context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);let e=this.next;return this.next=t?null:e,this.previous=null,e}};});var Xh,lt,rr=p(()=>{$r();Yh();Xh=class Dt{constructor(){this.autoStart=false,this.deltaTime=1,this.lastTime=-1,this.speed=1,this.started=false,this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this._protected=false,this._lastFrame=-1,this._head=new er(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,r=qt.NORMAL){return this._addListener(new er(t,e,r))}addOnce(t,e,r=qt.NORMAL){return this._addListener(new er(t,e,r,true))}_addListener(t){let e=this._head.next,r=this._head;if(!e)t.connect(r);else {for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next;}t.previous||t.connect(r);}return this._startIfPossible(),this}remove(t,e){let r=this._head.next;for(;r;)r.match(t,e)?r=r.destroy():r=r.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=true,this._requestIfNeeded());}stop(){this.started&&(this.started=false,this._cancelIfNeeded());}destroy(){if(!this._protected){this.stop();let t=this._head.next;for(;t;)t=t.destroy(true);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){let o=t-this._lastFrame|0;if(o<this._minElapsedMS)return;this._lastFrame=t-o%this._minElapsedMS;}this.deltaMS=e,this.deltaTime=this.deltaMS*Dt.targetFPMS;let r=this._head,s=r.next;for(;s;)s=s.emit(this);r.next||this._cancelIfNeeded();}else this.deltaTime=this.deltaMS=this.elapsedMS=0;this.lastTime=t;}get FPS(){return 1e3/this.elapsedMS}get minFPS(){return 1e3/this._maxElapsedMS}set minFPS(t){let e=Math.min(this.maxFPS,t),r=Math.min(Math.max(0,e)/1e3,Dt.targetFPMS);this._maxElapsedMS=1/r;}get maxFPS(){return this._minElapsedMS?Math.round(1e3/this._minElapsedMS):0}set maxFPS(t){if(t===0)this._minElapsedMS=0;else {let e=Math.max(this.minFPS,t);this._minElapsedMS=1/(e/1e3);}}static get shared(){if(!Dt._shared){let t=Dt._shared=new Dt;t.autoStart=true,t._protected=true;}return Dt._shared}static get system(){if(!Dt._system){let t=Dt._system=new Dt;t.autoStart=true,t._protected=true;}return Dt._system}};Xh.targetFPMS=.06;lt=Xh;});var ir,cn=p(()=>{$r();rr();ir=class{constructor(t){this._lastTransform="",this._observer=null,this._tickerAttached=false,this.updateTranslation=()=>{if(!this._canvas)return;let e=this._canvas.getBoundingClientRect(),r=this._canvas.width,s=this._canvas.height,o=e.width/r*this._renderer.resolution,n=e.height/s*this._renderer.resolution,a=e.left,l=e.top,h=`translate(${a}px, ${l}px) scale(${o}, ${n})`;h!==this._lastTransform&&(this._domElement.style.transform=h,this._lastTransform=h);},this._domElement=t.domElement,this._renderer=t.renderer,!(globalThis.OffscreenCanvas&&this._renderer.canvas instanceof OffscreenCanvas)&&(this._canvas=this._renderer.canvas,this._attachObserver());}get canvas(){return this._canvas}ensureAttached(){!this._domElement.parentNode&&this._canvas.parentNode&&(this._canvas.parentNode.appendChild(this._domElement),this.updateTranslation());}_attachObserver(){"ResizeObserver"in globalThis?(this._observer&&(this._observer.disconnect(),this._observer=null),this._observer=new ResizeObserver(t=>{for(let e of t){if(e.target!==this._canvas)continue;let r=this.canvas.width,s=this.canvas.height,o=e.contentRect.width/r*this._renderer.resolution,n=e.contentRect.height/s*this._renderer.resolution;(this._lastScaleX!==o||this._lastScaleY!==n)&&(this.updateTranslation(),this._lastScaleX=o,this._lastScaleY=n);}}),this._observer.observe(this._canvas)):this._tickerAttached||lt.shared.add(this.updateTranslation,this,qt.HIGH);}destroy(){this._observer?(this._observer.disconnect(),this._observer=null):this._tickerAttached&&lt.shared.remove(this.updateTranslation),this._domElement=null,this._renderer=null,this._canvas=null,this._tickerAttached=false,this._lastTransform="",this._lastScaleX=null,this._lastScaleY=null;}};});var _e,gs=p(()=>{jt();_e=class i{constructor(t){this.bubbles=true,this.cancelBubble=true,this.cancelable=false,this.composed=false,this.defaultPrevented=false,this.eventPhase=i.prototype.NONE,this.propagationStopped=false,this.propagationImmediatelyStopped=false,this.layer=new N,this.page=new N,this.NONE=0,this.CAPTURING_PHASE=1,this.AT_TARGET=2,this.BUBBLING_PHASE=3,this.manager=t;}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(t,e,r){throw new Error("initEvent() is a legacy DOM API. It is not implemented in the Federated Events API.")}initUIEvent(t,e,r,s,o){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=true;}stopImmediatePropagation(){this.propagationImmediatelyStopped=true;}stopPropagation(){this.propagationStopped=true;}};});function Tg(i){return function(t){return t.test(i)}}function jr(i){var t={userAgent:"",platform:"",maxTouchPoints:0};!i&&typeof navigator<"u"?t={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0}:typeof i=="string"?t.userAgent=i:i&&i.userAgent&&(t={userAgent:i.userAgent,platform:i.platform,maxTouchPoints:i.maxTouchPoints||0});var e=t.userAgent,r=e.split("[FBAN");typeof r[1]<"u"&&(e=r[0]),r=e.split("Twitter"),typeof r[1]<"u"&&(e=r[0]);var s=Tg(e),o={apple:{phone:s(dn)&&!s(ue),ipod:s($h),tablet:!s(dn)&&(s(jh)||iu(t))&&!s(ue),universal:s(qh),device:(s(dn)||s($h)||s(jh)||s(qh)||iu(t))&&!s(ue)},amazon:{phone:s(sr),tablet:!s(sr)&&s(xs),device:s(sr)||s(xs)},android:{phone:!s(ue)&&s(sr)||!s(ue)&&s(fn),tablet:!s(ue)&&!s(sr)&&!s(fn)&&(s(xs)||s(Kh)),device:!s(ue)&&(s(sr)||s(xs)||s(fn)||s(Kh))||s(/\bokhttp\b/i)},windows:{phone:s(ue),tablet:s(Zh),device:s(ue)||s(Zh)},other:{blackberry:s(Qh),blackberry10:s(Jh),opera:s(tu),firefox:s(ru),chrome:s(eu),device:s(Qh)||s(Jh)||s(tu)||s(ru)||s(eu)},any:false,phone:false,tablet:false};return o.any=o.apple.device||o.android.device||o.windows.device||o.other.device,o.phone=o.apple.phone||o.android.phone||o.windows.phone,o.tablet=o.apple.tablet||o.android.tablet||o.windows.tablet,o}var dn,$h,jh,qh,fn,Kh,sr,xs,ue,Zh,Qh,Jh,tu,eu,ru,iu,pn=p(()=>{dn=/iPhone/i,$h=/iPod/i,jh=/iPad/i,qh=/\biOS-universal(?:.+)Mac\b/i,fn=/\bAndroid(?:.+)Mobile\b/i,Kh=/Android/i,sr=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,xs=/Silk/i,ue=/Windows Phone/i,Zh=/\bWindows(?:.+)ARM\b/i,Qh=/BlackBerry/i,Jh=/BB10/i,tu=/Opera Mini/i,eu=/\b(CriOS|Chrome)(?:.+)Mobile/i,ru=/Mobile(?:.+)Firefox\b/i,iu=function(i){return typeof i<"u"&&i.platform==="MacIntel"&&typeof i.maxTouchPoints=="number"&&i.maxTouchPoints>1&&typeof MSStream>"u"};});var su=p(()=>{pn();pn();});var wg,ou,nu=p(()=>{su();wg=jr.default??jr,ou=wg(globalThis.navigator);});var Pg,au,Mg,Ag,lu,hu,Cg,Eg,Fg,mn,cu,du=p(()=>{cn();gs();k();nu();jo();Pg=9,au=100,Mg=0,Ag=0,lu=2,hu=1,Cg=-1e3,Eg=-1e3,Fg=2,mn=class uu{constructor(t,e=ou){this._mobileInfo=e,this.debug=false,this._activateOnTab=true,this._deactivateOnMouseMove=true,this._isActive=false,this._isMobileAccessibility=false,this._div=null,this._pool=[],this._renderId=0,this._children=[],this._androidUpdateCount=0,this._androidUpdateFrequency=500,this._hookDiv=null,(e.tablet||e.phone)&&this._createTouchHook(),this._renderer=t;}get isActive(){return this._isActive}get isMobileAccessibility(){return this._isMobileAccessibility}get hookDiv(){return this._hookDiv}_createTouchHook(){let t=document.createElement("button");t.style.width=`${hu}px`,t.style.height=`${hu}px`,t.style.position="absolute",t.style.top=`${Cg}px`,t.style.left=`${Eg}px`,t.style.zIndex=Fg.toString(),t.style.backgroundColor="#FF0000",t.title="select to enable accessibility for this content",t.addEventListener("focus",()=>{this._isMobileAccessibility=true,this._activate(),this._destroyTouchHook();}),document.body.appendChild(t),this._hookDiv=t;}_destroyTouchHook(){this._hookDiv&&(document.body.removeChild(this._hookDiv),this._hookDiv=null);}_activate(){if(this._isActive)return;this._isActive=true,this._div||(this._div=document.createElement("div"),this._div.style.position="absolute",this._div.style.top=`${Mg}px`,this._div.style.left=`${Ag}px`,this._div.style.pointerEvents="none",this._div.style.zIndex=lu.toString(),this._canvasObserver=new ir({domElement:this._div,renderer:this._renderer})),this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,false)),this._deactivateOnMouseMove&&(this._onMouseMove=this._onMouseMove.bind(this),globalThis.document.addEventListener("mousemove",this._onMouseMove,true));let t=this._renderer.view.canvas;if(t.parentNode)this._canvasObserver.ensureAttached(),this._initAccessibilitySetup();else {let e=new MutationObserver(()=>{t.parentNode&&(e.disconnect(),this._canvasObserver.ensureAttached(),this._initAccessibilitySetup());});e.observe(document.body,{childList:true,subtree:true});}}_initAccessibilitySetup(){this._renderer.runners.postrender.add(this),this._renderer.lastObjectRendered&&this._updateAccessibleObjects(this._renderer.lastObjectRendered);}_deactivate(){if(!(!this._isActive||this._isMobileAccessibility)){this._isActive=false,globalThis.document.removeEventListener("mousemove",this._onMouseMove,true),this._activateOnTab&&globalThis.addEventListener("keydown",this._onKeyDown,false),this._renderer.runners.postrender.remove(this);for(let t of this._children)t._accessibleDiv&&t._accessibleDiv.parentNode&&(t._accessibleDiv.parentNode.removeChild(t._accessibleDiv),t._accessibleDiv=null),t._accessibleActive=false;this._pool.forEach(t=>{t.parentNode&&t.parentNode.removeChild(t);}),this._div&&this._div.parentNode&&this._div.parentNode.removeChild(this._div),this._pool=[],this._children=[];}}_updateAccessibleObjects(t){if(!t.visible||!t.accessibleChildren)return;t.accessible&&(t._accessibleActive||this._addChild(t),t._renderId=this._renderId);let e=t.children;if(e)for(let r=0;r<e.length;r++)this._updateAccessibleObjects(e[r]);}init(t){let r={accessibilityOptions:{...uu.defaultOptions,...t?.accessibilityOptions||{}}};this.debug=r.accessibilityOptions.debug,this._activateOnTab=r.accessibilityOptions.activateOnTab,this._deactivateOnMouseMove=r.accessibilityOptions.deactivateOnMouseMove,r.accessibilityOptions.enabledByDefault?this._activate():this._activateOnTab&&(this._onKeyDown=this._onKeyDown.bind(this),globalThis.addEventListener("keydown",this._onKeyDown,false)),this._renderer.runners.postrender.remove(this);}postrender(){let t=performance.now();if(this._mobileInfo.android.device&&t<this._androidUpdateCount||(this._androidUpdateCount=t+this._androidUpdateFrequency,!this._renderer.renderingToScreen||!this._renderer.view.canvas))return;let e=new Set;if(this._renderer.lastObjectRendered){this._updateAccessibleObjects(this._renderer.lastObjectRendered);for(let r of this._children)r._renderId===this._renderId&&e.add(this._children.indexOf(r));}for(let r=this._children.length-1;r>=0;r--){let s=this._children[r];e.has(r)||(s._accessibleDiv&&s._accessibleDiv.parentNode&&(s._accessibleDiv.parentNode.removeChild(s._accessibleDiv),this._pool.push(s._accessibleDiv),s._accessibleDiv=null),s._accessibleActive=false,rs(this._children,r,1));}this._renderer.renderingToScreen&&this._canvasObserver.ensureAttached();for(let r=0;r<this._children.length;r++){let s=this._children[r];if(!s._accessibleActive||!s._accessibleDiv)continue;let o=s._accessibleDiv,n=s.hitArea||s.getBounds().rectangle;if(s.hitArea){let a=s.worldTransform;o.style.left=`${a.tx+n.x*a.a}px`,o.style.top=`${a.ty+n.y*a.d}px`,o.style.width=`${n.width*a.a}px`,o.style.height=`${n.height*a.d}px`;}else this._capHitArea(n),o.style.left=`${n.x}px`,o.style.top=`${n.y}px`,o.style.width=`${n.width}px`,o.style.height=`${n.height}px`;}this._renderId++;}_updateDebugHTML(t){t.innerHTML=`type: ${t.type}</br> title : ${t.title}</br> tabIndex: ${t.tabIndex}`;}_capHitArea(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0);let{width:e,height:r}=this._renderer;t.x+t.width>e&&(t.width=e-t.x),t.y+t.height>r&&(t.height=r-t.y);}_addChild(t){let e=this._pool.pop();e||(t.accessibleType==="button"?e=document.createElement("button"):(e=document.createElement(t.accessibleType),e.style.cssText=`
7
- color: transparent;
8
- pointer-events: none;
9
- padding: 0;
10
- margin: 0;
11
- border: 0;
12
- outline: 0;
13
- background: transparent;
14
- box-sizing: border-box;
15
- user-select: none;
16
- -webkit-user-select: none;
17
- -moz-user-select: none;
18
- -ms-user-select: none;
19
- `,t.accessibleText&&(e.innerText=t.accessibleText)),e.style.width=`${au}px`,e.style.height=`${au}px`,e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=lu.toString(),e.style.borderStyle="none",navigator.userAgent.toLowerCase().includes("chrome")?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),e.style.pointerEvents=t.accessiblePointerEvents,e.type=t.accessibleType,t.accessibleTitle&&t.accessibleTitle!==null?e.title=t.accessibleTitle:(!t.accessibleHint||t.accessibleHint===null)&&(e.title=`container ${t.tabIndex}`),t.accessibleHint&&t.accessibleHint!==null&&e.setAttribute("aria-label",t.accessibleHint),this.debug&&this._updateDebugHTML(e),t._accessibleActive=true,t._accessibleDiv=e,e.container=t,this._children.push(t),this._div.appendChild(t._accessibleDiv),t.interactive&&(t._accessibleDiv.tabIndex=t.tabIndex);}_dispatchEvent(t,e){let{container:r}=t.target,s=this._renderer.events.rootBoundary,o=Object.assign(new _e(s),{target:r});s.rootTarget=this._renderer.lastObjectRendered,e.forEach(n=>s.dispatchEvent(o,n));}_onClick(t){this._dispatchEvent(t,["click","pointertap","tap"]);}_onFocus(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive"),this._dispatchEvent(t,["mouseover"]);}_onFocusOut(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite"),this._dispatchEvent(t,["mouseout"]);}_onKeyDown(t){t.keyCode!==Pg||!this._activateOnTab||this._activate();}_onMouseMove(t){t.movementX===0&&t.movementY===0||this._deactivate();}destroy(){this._deactivate(),this._destroyTouchHook(),this._canvasObserver?.destroy(),this._canvasObserver=null,this._div=null,this._pool=null,this._children=null,this._renderer=null,this._activateOnTab&&globalThis.removeEventListener("keydown",this._onKeyDown);}setAccessibilityEnabled(t){t?this._activate():this._deactivate();}};mn.extension={type:[S.WebGLSystem,S.WebGPUSystem],name:"accessibility"};mn.defaultOptions={enabledByDefault:false,debug:false,activateOnTab:true,deactivateOnMouseMove:true};cu=mn;});var fu,pu=p(()=>{fu={accessible:false,accessibleTitle:null,accessibleHint:null,tabIndex:0,accessibleType:"button",accessibleText:null,accessiblePointerEvents:"auto",accessibleChildren:true,_accessibleActive:false,_accessibleDiv:null,_renderId:-1};});var mu=p(()=>{k();Xr();du();pu();I.add(cu);I.mixin(Xt,fu);});var qr,gu=p(()=>{k();qr=class{static init(t){Object.defineProperty(this,"resizeTo",{set(e){globalThis.removeEventListener("resize",this.queueResize),this._resizeTo=e,e&&(globalThis.addEventListener("resize",this.queueResize),this.resize());},get(){return this._resizeTo}}),this.queueResize=()=>{this._resizeTo&&(this._cancelResize(),this._resizeId=requestAnimationFrame(()=>this.resize()));},this._cancelResize=()=>{this._resizeId&&(cancelAnimationFrame(this._resizeId),this._resizeId=null);},this.resize=()=>{if(!this._resizeTo)return;this._cancelResize();let e,r;if(this._resizeTo===globalThis.window)e=globalThis.innerWidth,r=globalThis.innerHeight;else {let{clientWidth:s,clientHeight:o}=this._resizeTo;e=s,r=o;}this.renderer.resize(e,r),this.render();},this._resizeId=null,this._resizeTo=null,this.resizeTo=t.resizeTo||null;}static destroy(){globalThis.removeEventListener("resize",this.queueResize),this._cancelResize(),this._cancelResize=null,this.queueResize=null,this.resizeTo=null,this.resize=null;}};qr.extension=S.Application;});var Kr,xu=p(()=>{k();$r();rr();Kr=class{static init(t){t=Object.assign({autoStart:true,sharedTicker:false},t),Object.defineProperty(this,"ticker",{set(e){this._ticker&&this._ticker.remove(this.render,this),this._ticker=e,e&&e.add(this.render,this,qt.LOW);},get(){return this._ticker}}),this.stop=()=>{this._ticker.stop();},this.start=()=>{this._ticker.start();},this._ticker=null,this.ticker=t.sharedTicker?lt.shared:new lt,t.autoStart&&this.start();}static destroy(){if(this._ticker){let t=this._ticker;this.ticker=null,t.destroy();}}};Kr.extension=S.Application;});var gn=p(()=>{k();gu();xu();I.add(qr);I.add(Kr);});var xn,Kt,_n=p(()=>{$r();rr();xn=class{constructor(){this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}init(t){this.removeTickerListener(),this.events=t,this.interactionFrequency=10,this._deltaTime=0,this._didMove=false,this._tickerAdded=false,this._pauseUpdate=true;}get pauseUpdate(){return this._pauseUpdate}set pauseUpdate(t){this._pauseUpdate=t;}addTickerListener(){this._tickerAdded||!this.domElement||(lt.system.add(this._tickerUpdate,this,qt.INTERACTION),this._tickerAdded=true);}removeTickerListener(){this._tickerAdded&&(lt.system.remove(this._tickerUpdate,this),this._tickerAdded=false);}pointerMoved(){this._didMove=true;}_update(){if(!this.domElement||this._pauseUpdate)return;if(this._didMove){this._didMove=false;return}let t=this.events._rootPointerEvent;this.events.supportsTouchEvents&&t.pointerType==="touch"||globalThis.document.dispatchEvent(this.events.supportsPointerEvents?new PointerEvent("pointermove",{clientX:t.clientX,clientY:t.clientY,pointerType:t.pointerType,pointerId:t.pointerId}):new MouseEvent("mousemove",{clientX:t.clientX,clientY:t.clientY}));}_tickerUpdate(t){this._deltaTime+=t.deltaTime,!(this._deltaTime<this.interactionFrequency)&&(this._deltaTime=0,this._update());}},Kt=new xn;});var ce,_s=p(()=>{jt();gs();ce=class extends _e{constructor(){super(...arguments),this.client=new N,this.movement=new N,this.offset=new N,this.global=new N,this.screen=new N;}get clientX(){return this.client.x}get clientY(){return this.client.y}get x(){return this.clientX}get y(){return this.clientY}get movementX(){return this.movement.x}get movementY(){return this.movement.y}get offsetX(){return this.offset.x}get offsetY(){return this.offset.y}get globalX(){return this.global.x}get globalY(){return this.global.y}get screenX(){return this.screen.x}get screenY(){return this.screen.y}getLocalPosition(t,e,r){return t.worldTransform.applyInverse(r||this.global,e)}getModifierState(t){return "getModifierState"in this.nativeEvent&&this.nativeEvent.getModifierState(t)}initMouseEvent(t,e,r,s,o,n,a,l,h,u,c,f,d,m,x){throw new Error("Method not implemented.")}};});var At,yn=p(()=>{_s();At=class extends ce{constructor(){super(...arguments),this.width=0,this.height=0,this.isPrimary=false;}getCoalescedEvents(){return this.type==="pointermove"||this.type==="mousemove"||this.type==="touchmove"?[this]:[]}getPredictedEvents(){throw new Error("getPredictedEvents is not supported!")}};});var Zt,bn=p(()=>{_s();Zt=class extends ce{constructor(){super(...arguments),this.DOM_DELTA_PIXEL=0,this.DOM_DELTA_LINE=1,this.DOM_DELTA_PAGE=2;}};Zt.DOM_DELTA_PIXEL=0;Zt.DOM_DELTA_LINE=1;Zt.DOM_DELTA_PAGE=2;});var Bg,kg,Zr,ys,_u=p(()=>{Et();jt();Tt();_n();_s();yn();bn();Bg=2048,kg=new N,Zr=new N,ys=class{constructor(t){this.dispatch=new H,this.moveOnAll=false,this.enableGlobalMoveEvents=true,this.mappingState={trackingData:{}},this.eventPool=new Map,this._allInteractiveElements=[],this._hitElements=[],this._isPointerMoveEvent=false,this.rootTarget=t,this.hitPruneFn=this.hitPruneFn.bind(this),this.hitTestFn=this.hitTestFn.bind(this),this.mapPointerDown=this.mapPointerDown.bind(this),this.mapPointerMove=this.mapPointerMove.bind(this),this.mapPointerOut=this.mapPointerOut.bind(this),this.mapPointerOver=this.mapPointerOver.bind(this),this.mapPointerUp=this.mapPointerUp.bind(this),this.mapPointerUpOutside=this.mapPointerUpOutside.bind(this),this.mapWheel=this.mapWheel.bind(this),this.mappingTable={},this.addEventMapping("pointerdown",this.mapPointerDown),this.addEventMapping("pointermove",this.mapPointerMove),this.addEventMapping("pointerout",this.mapPointerOut),this.addEventMapping("pointerleave",this.mapPointerOut),this.addEventMapping("pointerover",this.mapPointerOver),this.addEventMapping("pointerup",this.mapPointerUp),this.addEventMapping("pointerupoutside",this.mapPointerUpOutside),this.addEventMapping("wheel",this.mapWheel);}addEventMapping(t,e){this.mappingTable[t]||(this.mappingTable[t]=[]),this.mappingTable[t].push({fn:e,priority:0}),this.mappingTable[t].sort((r,s)=>r.priority-s.priority);}dispatchEvent(t,e){t.propagationStopped=false,t.propagationImmediatelyStopped=false,this.propagate(t,e),this.dispatch.emit(e||t.type,t);}mapEvent(t){if(!this.rootTarget)return;let e=this.mappingTable[t.type];if(e)for(let r=0,s=e.length;r<s;r++)e[r].fn(t);else z(`[EventBoundary]: Event mapping not defined for ${t.type}`);}hitTest(t,e){Kt.pauseUpdate=true;let s=this._isPointerMoveEvent&&this.enableGlobalMoveEvents?"hitTestMoveRecursive":"hitTestRecursive",o=this[s](this.rootTarget,this.rootTarget.eventMode,kg.set(t,e),this.hitTestFn,this.hitPruneFn);return o&&o[0]}propagate(t,e){if(!t.target)return;let r=t.composedPath();t.eventPhase=t.CAPTURING_PHASE;for(let s=0,o=r.length-1;s<o;s++)if(t.currentTarget=r[s],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return;if(t.eventPhase=t.AT_TARGET,t.currentTarget=t.target,this.notifyTarget(t,e),!(t.propagationStopped||t.propagationImmediatelyStopped)){t.eventPhase=t.BUBBLING_PHASE;for(let s=r.length-2;s>=0;s--)if(t.currentTarget=r[s],this.notifyTarget(t,e),t.propagationStopped||t.propagationImmediatelyStopped)return}}all(t,e,r=this._allInteractiveElements){if(r.length===0)return;t.eventPhase=t.BUBBLING_PHASE;let s=Array.isArray(e)?e:[e];for(let o=r.length-1;o>=0;o--)s.forEach(n=>{t.currentTarget=r[o],this.notifyTarget(t,n);});}propagationPath(t){let e=[t];for(let r=0;r<Bg&&t!==this.rootTarget&&t.parent;r++){if(!t.parent)throw new Error("Cannot find propagation path to disconnected target");e.push(t.parent),t=t.parent;}return e.reverse(),e}hitTestMoveRecursive(t,e,r,s,o,n=false){let a=false;if(this._interactivePrune(t))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(Kt.pauseUpdate=false),t.interactiveChildren&&t.children){let u=t.children;for(let c=u.length-1;c>=0;c--){let f=u[c],d=this.hitTestMoveRecursive(f,this._isInteractive(e)?e:f.eventMode,r,s,o,n||o(t,r));if(d){if(d.length>0&&!d[d.length-1].parent)continue;let m=t.isInteractive();(d.length>0||m)&&(m&&this._allInteractiveElements.push(t),d.push(t)),this._hitElements.length===0&&(this._hitElements=d),a=true;}}}let l=this._isInteractive(e),h=t.isInteractive();return h&&h&&this._allInteractiveElements.push(t),n||this._hitElements.length>0?null:a?this._hitElements:l&&!o(t,r)&&s(t,r)?h?[t]:[]:null}hitTestRecursive(t,e,r,s,o){if(this._interactivePrune(t)||o(t,r))return null;if((t.eventMode==="dynamic"||e==="dynamic")&&(Kt.pauseUpdate=false),t.interactiveChildren&&t.children){let l=t.children,h=r;for(let u=l.length-1;u>=0;u--){let c=l[u],f=this.hitTestRecursive(c,this._isInteractive(e)?e:c.eventMode,h,s,o);if(f){if(f.length>0&&!f[f.length-1].parent)continue;let d=t.isInteractive();return (f.length>0||d)&&f.push(t),f}}}let n=this._isInteractive(e),a=t.isInteractive();return n&&s(t,r)?a?[t]:[]:null}_isInteractive(t){return t==="static"||t==="dynamic"}_interactivePrune(t){return !t||!t.visible||!t.renderable||!t.measurable||t.eventMode==="none"||t.eventMode==="passive"&&!t.interactiveChildren}hitPruneFn(t,e){if(t.hitArea&&(t.worldTransform.applyInverse(e,Zr),!t.hitArea.contains(Zr.x,Zr.y)))return true;if(t.effects&&t.effects.length)for(let r=0;r<t.effects.length;r++){let s=t.effects[r];if(s.containsPoint&&!s.containsPoint(e,this.hitTestFn))return true}return false}hitTestFn(t,e){return t.hitArea?true:t?.containsPoint?(t.worldTransform.applyInverse(e,Zr),t.containsPoint(Zr)):false}notifyTarget(t,e){if(!t.currentTarget.isInteractive())return;e??(e=t.type);let r=`on${e}`;t.currentTarget[r]?.(t);let s=t.eventPhase===t.CAPTURING_PHASE||t.eventPhase===t.AT_TARGET?`${e}capture`:e;this._notifyListeners(t,s),t.eventPhase===t.AT_TARGET&&this._notifyListeners(t,e);}mapPointerDown(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.createPointerEvent(t);if(this.dispatchEvent(e,"pointerdown"),e.pointerType==="touch")this.dispatchEvent(e,"touchstart");else if(e.pointerType==="mouse"||e.pointerType==="pen"){let s=e.button===2;this.dispatchEvent(e,s?"rightdown":"mousedown");}let r=this.trackingData(t.pointerId);r.pressTargetsByButton[t.button]=e.composedPath(),this.freeEvent(e);}mapPointerMove(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}this._allInteractiveElements.length=0,this._hitElements.length=0,this._isPointerMoveEvent=true;let e=this.createPointerEvent(t);this._isPointerMoveEvent=false;let r=e.pointerType==="mouse"||e.pointerType==="pen",s=this.trackingData(t.pointerId),o=this.findMountedTarget(s.overTargets);if(s.overTargets?.length>0&&o!==e.target){let l=t.type==="mousemove"?"mouseout":"pointerout",h=this.createPointerEvent(t,l,o);if(this.dispatchEvent(h,"pointerout"),r&&this.dispatchEvent(h,"mouseout"),!e.composedPath().includes(o)){let u=this.createPointerEvent(t,"pointerleave",o);for(u.eventPhase=u.AT_TARGET;u.target&&!e.composedPath().includes(u.target);)u.currentTarget=u.target,this.notifyTarget(u),r&&this.notifyTarget(u,"mouseleave"),u.target=u.target.parent;this.freeEvent(u);}this.freeEvent(h);}if(o!==e.target){let l=t.type==="mousemove"?"mouseover":"pointerover",h=this.clonePointerEvent(e,l);this.dispatchEvent(h,"pointerover"),r&&this.dispatchEvent(h,"mouseover");let u=o?.parent;for(;u&&u!==this.rootTarget.parent&&u!==e.target;)u=u.parent;if(!u||u===this.rootTarget.parent){let f=this.clonePointerEvent(e,"pointerenter");for(f.eventPhase=f.AT_TARGET;f.target&&f.target!==o&&f.target!==this.rootTarget.parent;)f.currentTarget=f.target,this.notifyTarget(f),r&&this.notifyTarget(f,"mouseenter"),f.target=f.target.parent;this.freeEvent(f);}this.freeEvent(h);}let n=[],a=this.enableGlobalMoveEvents??true;this.moveOnAll?n.push("pointermove"):this.dispatchEvent(e,"pointermove"),a&&n.push("globalpointermove"),e.pointerType==="touch"&&(this.moveOnAll?n.splice(1,0,"touchmove"):this.dispatchEvent(e,"touchmove"),a&&n.push("globaltouchmove")),r&&(this.moveOnAll?n.splice(1,0,"mousemove"):this.dispatchEvent(e,"mousemove"),a&&n.push("globalmousemove"),this.cursor=e.target?.cursor),n.length>0&&this.all(e,n),this._allInteractiveElements.length=0,this._hitElements.length=0,s.overTargets=e.composedPath(),this.freeEvent(e);}mapPointerOver(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId),r=this.createPointerEvent(t),s=r.pointerType==="mouse"||r.pointerType==="pen";this.dispatchEvent(r,"pointerover"),s&&this.dispatchEvent(r,"mouseover"),r.pointerType==="mouse"&&(this.cursor=r.target?.cursor);let o=this.clonePointerEvent(r,"pointerenter");for(o.eventPhase=o.AT_TARGET;o.target&&o.target!==this.rootTarget.parent;)o.currentTarget=o.target,this.notifyTarget(o),s&&this.notifyTarget(o,"mouseenter"),o.target=o.target.parent;e.overTargets=r.composedPath(),this.freeEvent(r),this.freeEvent(o);}mapPointerOut(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId);if(e.overTargets){let r=t.pointerType==="mouse"||t.pointerType==="pen",s=this.findMountedTarget(e.overTargets),o=this.createPointerEvent(t,"pointerout",s);this.dispatchEvent(o),r&&this.dispatchEvent(o,"mouseout");let n=this.createPointerEvent(t,"pointerleave",s);for(n.eventPhase=n.AT_TARGET;n.target&&n.target!==this.rootTarget.parent;)n.currentTarget=n.target,this.notifyTarget(n),r&&this.notifyTarget(n,"mouseleave"),n.target=n.target.parent;e.overTargets=null,this.freeEvent(o),this.freeEvent(n);}this.cursor=null;}mapPointerUp(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=performance.now(),r=this.createPointerEvent(t);if(this.dispatchEvent(r,"pointerup"),r.pointerType==="touch")this.dispatchEvent(r,"touchend");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let a=r.button===2;this.dispatchEvent(r,a?"rightup":"mouseup");}let s=this.trackingData(t.pointerId),o=this.findMountedTarget(s.pressTargetsByButton[t.button]),n=o;if(o&&!r.composedPath().includes(o)){let a=o;for(;a&&!r.composedPath().includes(a);){if(r.currentTarget=a,this.notifyTarget(r,"pointerupoutside"),r.pointerType==="touch")this.notifyTarget(r,"touchendoutside");else if(r.pointerType==="mouse"||r.pointerType==="pen"){let l=r.button===2;this.notifyTarget(r,l?"rightupoutside":"mouseupoutside");}a=a.parent;}delete s.pressTargetsByButton[t.button],n=a;}if(n){let a=this.clonePointerEvent(r,"click");a.target=n,a.path=null,s.clicksByButton[t.button]||(s.clicksByButton[t.button]={clickCount:0,target:a.target,timeStamp:e});let l=s.clicksByButton[t.button];if(l.target===a.target&&e-l.timeStamp<200?++l.clickCount:l.clickCount=1,l.target=a.target,l.timeStamp=e,a.detail=l.clickCount,a.pointerType==="mouse"){let h=a.button===2;this.dispatchEvent(a,h?"rightclick":"click");}else a.pointerType==="touch"&&this.dispatchEvent(a,"tap");this.dispatchEvent(a,"pointertap"),this.freeEvent(a);}this.freeEvent(r);}mapPointerUpOutside(t){if(!(t instanceof At)){z("EventBoundary cannot map a non-pointer event as a pointer event");return}let e=this.trackingData(t.pointerId),r=this.findMountedTarget(e.pressTargetsByButton[t.button]),s=this.createPointerEvent(t);if(r){let o=r;for(;o;)s.currentTarget=o,this.notifyTarget(s,"pointerupoutside"),s.pointerType==="touch"?this.notifyTarget(s,"touchendoutside"):(s.pointerType==="mouse"||s.pointerType==="pen")&&this.notifyTarget(s,s.button===2?"rightupoutside":"mouseupoutside"),o=o.parent;delete e.pressTargetsByButton[t.button];}this.freeEvent(s);}mapWheel(t){if(!(t instanceof Zt)){z("EventBoundary cannot map a non-wheel event as a wheel event");return}let e=this.createWheelEvent(t);this.dispatchEvent(e),this.freeEvent(e);}findMountedTarget(t){if(!t)return null;let e=t[0];for(let r=1;r<t.length&&t[r].parent===e;r++)e=t[r];return e}createPointerEvent(t,e,r){let s=this.allocateEvent(At);return this.copyPointerData(t,s),this.copyMouseData(t,s),this.copyData(t,s),s.nativeEvent=t.nativeEvent,s.originalEvent=t,s.target=r??this.hitTest(s.global.x,s.global.y)??this._hitElements[0],typeof e=="string"&&(s.type=e),s}createWheelEvent(t){let e=this.allocateEvent(Zt);return this.copyWheelData(t,e),this.copyMouseData(t,e),this.copyData(t,e),e.nativeEvent=t.nativeEvent,e.originalEvent=t,e.target=this.hitTest(e.global.x,e.global.y),e}clonePointerEvent(t,e){let r=this.allocateEvent(At);return r.nativeEvent=t.nativeEvent,r.originalEvent=t.originalEvent,this.copyPointerData(t,r),this.copyMouseData(t,r),this.copyData(t,r),r.target=t.target,r.path=t.composedPath().slice(),r.type=e??r.type,r}copyWheelData(t,e){e.deltaMode=t.deltaMode,e.deltaX=t.deltaX,e.deltaY=t.deltaY,e.deltaZ=t.deltaZ;}copyPointerData(t,e){t instanceof At&&e instanceof At&&(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);}copyMouseData(t,e){t instanceof ce&&e instanceof ce&&(e.altKey=t.altKey,e.button=t.button,e.buttons=t.buttons,e.client.copyFrom(t.client),e.ctrlKey=t.ctrlKey,e.metaKey=t.metaKey,e.movement.copyFrom(t.movement),e.screen.copyFrom(t.screen),e.shiftKey=t.shiftKey,e.global.copyFrom(t.global));}copyData(t,e){e.isTrusted=t.isTrusted,e.srcElement=t.srcElement,e.timeStamp=performance.now(),e.type=t.type,e.detail=t.detail,e.view=t.view,e.which=t.which,e.layer.copyFrom(t.layer),e.page.copyFrom(t.page);}trackingData(t){return this.mappingState.trackingData[t]||(this.mappingState.trackingData[t]={pressTargetsByButton:{},clicksByButton:{},overTarget:null}),this.mappingState.trackingData[t]}allocateEvent(t){this.eventPool.has(t)||this.eventPool.set(t,[]);let e=this.eventPool.get(t).pop()||new t(this);return e.eventPhase=e.NONE,e.currentTarget=null,e.defaultPrevented=false,e.path=null,e.target=null,e}freeEvent(t){if(t.manager!==this)throw new Error("It is illegal to free an event not managed by this EventBoundary!");let e=t.constructor;this.eventPool.has(e)||this.eventPool.set(e,[]),this.eventPool.get(e).push(t);}_notifyListeners(t,e){let r=t.currentTarget._events[e];if(r)if("fn"in r)r.once&&t.currentTarget.removeListener(e,r.fn,void 0,true),r.fn.call(r.context,t);else for(let s=0,o=r.length;s<o&&!t.propagationImmediatelyStopped;s++)r[s].once&&t.currentTarget.removeListener(e,r[s].fn,void 0,true),r[s].fn.call(r[s].context,t);}};});var Gg,Ig,Sn,bs,Tn=p(()=>{k();_u();_n();yn();bn();Gg=1,Ig={touchstart:"pointerdown",touchend:"pointerup",touchendoutside:"pointerupoutside",touchmove:"pointermove",touchcancel:"pointercancel"},Sn=class vn{constructor(t){this.supportsTouchEvents="ontouchstart"in globalThis,this.supportsPointerEvents=!!globalThis.PointerEvent,this.domElement=null,this.resolution=1,this.renderer=t,this.rootBoundary=new ys(null),Kt.init(this),this.autoPreventDefault=true,this._eventsAdded=false,this._rootPointerEvent=new At(null),this._rootWheelEvent=new Zt(null),this.cursorStyles={default:"inherit",pointer:"pointer"},this.features=new Proxy({...vn.defaultEventFeatures},{set:(e,r,s)=>(r==="globalMove"&&(this.rootBoundary.enableGlobalMoveEvents=s),e[r]=s,true)}),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(t){let{canvas:e,resolution:r}=this.renderer;this.setTargetElement(e),this.resolution=r,vn._defaultEventMode=t.eventMode??"passive",Object.assign(this.features,t.eventFeatures??{}),this.rootBoundary.enableGlobalMoveEvents=this.features.globalMove;}resolutionChange(t){this.resolution=t;}destroy(){this.setTargetElement(null),this.renderer=null,this._currentCursor=null;}setCursor(t){t||(t="default");let e=true;if(globalThis.OffscreenCanvas&&this.domElement instanceof OffscreenCanvas&&(e=false),this._currentCursor===t)return;this._currentCursor=t;let r=this.cursorStyles[t];if(r)switch(typeof r){case "string":e&&(this.domElement.style.cursor=r);break;case "function":r(t);break;case "object":e&&Object.assign(this.domElement.style,r);break}else e&&typeof t=="string"&&!Object.prototype.hasOwnProperty.call(this.cursorStyles,t)&&(this.domElement.style.cursor=t);}get pointer(){return this._rootPointerEvent}_onPointerDown(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=this._normalizeToPointerData(t);this.autoPreventDefault&&e[0].isNormalized&&(t.cancelable||!("cancelable"in t))&&t.preventDefault();for(let r=0,s=e.length;r<s;r++){let o=e[r],n=this._bootstrapEvent(this._rootPointerEvent,o);this.rootBoundary.mapEvent(n);}this.setCursor(this.rootBoundary.cursor);}_onPointerMove(t){if(!this.features.move)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,Kt.pointerMoved();let e=this._normalizeToPointerData(t);for(let r=0,s=e.length;r<s;r++){let o=this._bootstrapEvent(this._rootPointerEvent,e[r]);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}_onPointerUp(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=t.target;t.composedPath&&t.composedPath().length>0&&(e=t.composedPath()[0]);let r=e!==this.domElement?"outside":"",s=this._normalizeToPointerData(t);for(let o=0,n=s.length;o<n;o++){let a=this._bootstrapEvent(this._rootPointerEvent,s[o]);a.type+=r,this.rootBoundary.mapEvent(a);}this.setCursor(this.rootBoundary.cursor);}_onPointerOverOut(t){if(!this.features.click)return;this.rootBoundary.rootTarget=this.renderer.lastObjectRendered;let e=this._normalizeToPointerData(t);for(let r=0,s=e.length;r<s;r++){let o=this._bootstrapEvent(this._rootPointerEvent,e[r]);this.rootBoundary.mapEvent(o);}this.setCursor(this.rootBoundary.cursor);}onWheel(t){if(!this.features.wheel)return;let e=this.normalizeWheelEvent(t);this.rootBoundary.rootTarget=this.renderer.lastObjectRendered,this.rootBoundary.mapEvent(e);}setTargetElement(t){this._removeEvents(),this.domElement=t,Kt.domElement=t,this._addEvents();}_addEvents(){if(this._eventsAdded||!this.domElement)return;Kt.addTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="none",t.msTouchAction="none"):this.supportsPointerEvents&&(t.touchAction="none")),this.supportsPointerEvents?(globalThis.document.addEventListener("pointermove",this._onPointerMove,true),this.domElement.addEventListener("pointerdown",this._onPointerDown,true),this.domElement.addEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.addEventListener("pointerover",this._onPointerOverOut,true),globalThis.addEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.addEventListener("mousemove",this._onPointerMove,true),this.domElement.addEventListener("mousedown",this._onPointerDown,true),this.domElement.addEventListener("mouseout",this._onPointerOverOut,true),this.domElement.addEventListener("mouseover",this._onPointerOverOut,true),globalThis.addEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.addEventListener("touchstart",this._onPointerDown,true),this.domElement.addEventListener("touchend",this._onPointerUp,true),this.domElement.addEventListener("touchmove",this._onPointerMove,true))),this.domElement.addEventListener("wheel",this.onWheel,{passive:true,capture:true}),this._eventsAdded=true;}_removeEvents(){if(!this._eventsAdded||!this.domElement)return;Kt.removeTickerListener();let t=this.domElement.style;t&&(globalThis.navigator.msPointerEnabled?(t.msContentZooming="",t.msTouchAction=""):this.supportsPointerEvents&&(t.touchAction="")),this.supportsPointerEvents?(globalThis.document.removeEventListener("pointermove",this._onPointerMove,true),this.domElement.removeEventListener("pointerdown",this._onPointerDown,true),this.domElement.removeEventListener("pointerleave",this._onPointerOverOut,true),this.domElement.removeEventListener("pointerover",this._onPointerOverOut,true),globalThis.removeEventListener("pointerup",this._onPointerUp,true)):(globalThis.document.removeEventListener("mousemove",this._onPointerMove,true),this.domElement.removeEventListener("mousedown",this._onPointerDown,true),this.domElement.removeEventListener("mouseout",this._onPointerOverOut,true),this.domElement.removeEventListener("mouseover",this._onPointerOverOut,true),globalThis.removeEventListener("mouseup",this._onPointerUp,true),this.supportsTouchEvents&&(this.domElement.removeEventListener("touchstart",this._onPointerDown,true),this.domElement.removeEventListener("touchend",this._onPointerUp,true),this.domElement.removeEventListener("touchmove",this._onPointerMove,true))),this.domElement.removeEventListener("wheel",this.onWheel,true),this.domElement=null,this._eventsAdded=false;}mapPositionToPoint(t,e,r){let s=this.domElement.isConnected?this.domElement.getBoundingClientRect():{width:this.domElement.width,height:this.domElement.height,left:0,top:0},o=1/this.resolution;t.x=(e-s.left)*(this.domElement.width/s.width)*o,t.y=(r-s.top)*(this.domElement.height/s.height)*o;}_normalizeToPointerData(t){let e=[];if(this.supportsTouchEvents&&t instanceof TouchEvent)for(let r=0,s=t.changedTouches.length;r<s;r++){let o=t.changedTouches[r];typeof o.button>"u"&&(o.button=0),typeof o.buttons>"u"&&(o.buttons=1),typeof o.isPrimary>"u"&&(o.isPrimary=t.touches.length===1&&t.type==="touchstart"),typeof o.width>"u"&&(o.width=o.radiusX||1),typeof o.height>"u"&&(o.height=o.radiusY||1),typeof o.tiltX>"u"&&(o.tiltX=0),typeof o.tiltY>"u"&&(o.tiltY=0),typeof o.pointerType>"u"&&(o.pointerType="touch"),typeof o.pointerId>"u"&&(o.pointerId=o.identifier||0),typeof o.pressure>"u"&&(o.pressure=o.force||.5),typeof o.twist>"u"&&(o.twist=0),typeof o.tangentialPressure>"u"&&(o.tangentialPressure=0),typeof o.layerX>"u"&&(o.layerX=o.offsetX=o.clientX),typeof o.layerY>"u"&&(o.layerY=o.offsetY=o.clientY),o.isNormalized=true,o.type=t.type,e.push(o);}else if(!globalThis.MouseEvent||t instanceof MouseEvent&&(!this.supportsPointerEvents||!(t instanceof globalThis.PointerEvent))){let r=t;typeof r.isPrimary>"u"&&(r.isPrimary=true),typeof r.width>"u"&&(r.width=1),typeof r.height>"u"&&(r.height=1),typeof r.tiltX>"u"&&(r.tiltX=0),typeof r.tiltY>"u"&&(r.tiltY=0),typeof r.pointerType>"u"&&(r.pointerType="mouse"),typeof r.pointerId>"u"&&(r.pointerId=Gg),typeof r.pressure>"u"&&(r.pressure=.5),typeof r.twist>"u"&&(r.twist=0),typeof r.tangentialPressure>"u"&&(r.tangentialPressure=0),r.isNormalized=true,e.push(r);}else e.push(t);return e}normalizeWheelEvent(t){let e=this._rootWheelEvent;return this._transferMouseData(e,t),e.deltaX=t.deltaX,e.deltaY=t.deltaY,e.deltaZ=t.deltaZ,e.deltaMode=t.deltaMode,this.mapPositionToPoint(e.screen,t.clientX,t.clientY),e.global.copyFrom(e.screen),e.offset.copyFrom(e.screen),e.nativeEvent=t,e.type=t.type,e}_bootstrapEvent(t,e){return t.originalEvent=null,t.nativeEvent=e,t.pointerId=e.pointerId,t.width=e.width,t.height=e.height,t.isPrimary=e.isPrimary,t.pointerType=e.pointerType,t.pressure=e.pressure,t.tangentialPressure=e.tangentialPressure,t.tiltX=e.tiltX,t.tiltY=e.tiltY,t.twist=e.twist,this._transferMouseData(t,e),this.mapPositionToPoint(t.screen,e.clientX,e.clientY),t.global.copyFrom(t.screen),t.offset.copyFrom(t.screen),t.isTrusted=e.isTrusted,t.type==="pointerleave"&&(t.type="pointerout"),t.type.startsWith("mouse")&&(t.type=t.type.replace("mouse","pointer")),t.type.startsWith("touch")&&(t.type=Ig[t.type]||t.type),t}_transferMouseData(t,e){t.isTrusted=e.isTrusted,t.srcElement=e.srcElement,t.timeStamp=performance.now(),t.type=e.type,t.altKey=e.altKey,t.button=e.button,t.buttons=e.buttons,t.client.x=e.clientX,t.client.y=e.clientY,t.ctrlKey=e.ctrlKey,t.metaKey=e.metaKey,t.movement.x=e.movementX,t.movement.y=e.movementY,t.page.x=e.pageX,t.page.y=e.pageY,t.relatedTarget=null,t.shiftKey=e.shiftKey;}};Sn.extension={name:"events",type:[S.WebGLSystem,S.CanvasSystem,S.WebGPUSystem],priority:-1};Sn.defaultEventFeatures={move:true,globalMove:true,click:true,wheel:true};bs=Sn;});var yu,bu=p(()=>{Tn();gs();yu={onclick:null,onmousedown:null,onmouseenter:null,onmouseleave:null,onmousemove:null,onglobalmousemove:null,onmouseout:null,onmouseover:null,onmouseup:null,onmouseupoutside:null,onpointercancel:null,onpointerdown:null,onpointerenter:null,onpointerleave:null,onpointermove:null,onglobalpointermove:null,onpointerout:null,onpointerover:null,onpointertap:null,onpointerup:null,onpointerupoutside:null,onrightclick:null,onrightdown:null,onrightup:null,onrightupoutside:null,ontap:null,ontouchcancel:null,ontouchend:null,ontouchendoutside:null,ontouchmove:null,onglobaltouchmove:null,ontouchstart:null,onwheel:null,get interactive(){return this.eventMode==="dynamic"||this.eventMode==="static"},set interactive(i){this.eventMode=i?"static":"passive";},_internalEventMode:void 0,get eventMode(){return this._internalEventMode??bs.defaultEventMode},set eventMode(i){this._internalEventMode=i;},isInteractive(){return this.eventMode==="static"||this.eventMode==="dynamic"},interactiveChildren:true,hitArea:null,addEventListener(i,t,e){let r=typeof e=="boolean"&&e||typeof e=="object"&&e.capture,s=typeof e=="object"?e.signal:void 0,o=typeof e=="object"?e.once===true:false,n=typeof t=="function"?void 0:t;i=r?`${i}capture`:i;let a=typeof t=="function"?t:t.handleEvent,l=this;s&&s.addEventListener("abort",()=>{l.off(i,a,n);}),o?l.once(i,a,n):l.on(i,a,n);},removeEventListener(i,t,e){let r=typeof e=="boolean"&&e||typeof e=="object"&&e.capture,s=typeof t=="function"?void 0:t;i=r?`${i}capture`:i,t=typeof t=="function"?t:t.handleEvent,this.off(i,t,s);},dispatchEvent(i){if(!(i instanceof _e))throw new Error("Container cannot propagate events outside of the Federated Events API");return i.defaultPrevented=false,i.path=null,i.target=this,i.manager.dispatchEvent(i),!i.defaultPrevented}};});var vu=p(()=>{k();Xr();Tn();bu();I.add(bs);I.mixin(Xt,yu);});var Qr,Su=p(()=>{k();cn();Qr=class{constructor(t){this._attachedDomElements=[],this._renderer=t,this._renderer.runners.postrender.add(this),this._renderer.runners.init.add(this),this._domElement=document.createElement("div"),this._domElement.style.position="absolute",this._domElement.style.top="0",this._domElement.style.left="0",this._domElement.style.pointerEvents="none",this._domElement.style.zIndex="1000";}init(){this._canvasObserver=new ir({domElement:this._domElement,renderer:this._renderer});}addRenderable(t,e){this._attachedDomElements.includes(t)||this._attachedDomElements.push(t);}updateRenderable(t){}validateRenderable(t){return true}postrender(){let t=this._attachedDomElements;if(t.length===0){this._domElement.remove();return}this._canvasObserver.ensureAttached();for(let e=0;e<t.length;e++){let r=t[e],s=r.element;if(!r.parent||r.globalDisplayStatus<7)s?.remove(),t.splice(e,1),e--;else {this._domElement.contains(s)||(s.style.position="absolute",s.style.pointerEvents="auto",this._domElement.appendChild(s));let o=r.worldTransform,n=r._anchor,a=r.width*n.x,l=r.height*n.y;s.style.transformOrigin=`${a}px ${l}px`,s.style.transform=`matrix(${o.a}, ${o.b}, ${o.c}, ${o.d}, ${o.tx-a}, ${o.ty-l})`,s.style.opacity=r.groupAlpha.toString();}}}destroy(){this._renderer.runners.postrender.remove(this);for(let t=0;t<this._attachedDomElements.length;t++)this._attachedDomElements[t].element?.remove();this._attachedDomElements.length=0,this._domElement.remove(),this._canvasObserver.destroy(),this._renderer=null;}};Qr.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"dom"};});var or,wn=p(()=>{Yt();Xr();or=class extends Xt{constructor(t){super(t),this.canBundle=true,this.allowChildren=false,this._roundPixels=0,this._lastUsed=-1,this._gpuData=Object.create(null),this._bounds=new nt(0,1,0,0),this._boundsDirty=true;}get bounds(){return this._boundsDirty?(this.updateBounds(),this._boundsDirty=false,this._bounds):this._bounds}get roundPixels(){return !!this._roundPixels}set roundPixels(t){this._roundPixels=t?1:0;}containsPoint(t){let e=this.bounds,{x:r,y:s}=t;return r>=e.minX&&r<=e.maxX&&s>=e.minY&&s<=e.maxY}onViewUpdate(){if(this._didViewChangeTick++,this._boundsDirty=true,this.didViewUpdate)return;this.didViewUpdate=true;let t=this.renderGroup||this.parentRenderGroup;t&&t.onChildViewUpdate(this);}destroy(t){super.destroy(t),this._bounds=null;for(let e in this._gpuData)this._gpuData[e].destroy?.();this._gpuData=null;}collectRenderablesSimple(t,e,r){let{renderPipes:s}=e;s.blendMode.setBlendMode(this,this.groupBlendMode,t),s[this.renderPipeId].addRenderable(this,t),this.didViewUpdate=false;let n=this.children,a=n.length;for(let l=0;l<a;l++)n[l].collectRenderables(t,e,r);}};});var Tu=p(()=>{k();Su();I.add(Qr);});var nr,Pn=p(()=>{nr=(i=>(i[i.Low=0]="Low",i[i.Normal=1]="Normal",i[i.High=2]="High",i))(nr||{});});var wu,Pu=p(()=>{wu={createCanvas:(i,t)=>{let e=document.createElement("canvas");return e.width=i,e.height=t,e},createImage:()=>new Image,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")};});var Mu,tt,Ut=p(()=>{Pu();Mu=wu,tt={get(){return Mu},set(i){Mu=i;}};});function $t(i){if(typeof i!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(i)}`)}function Jr(i){return i.split("?")[0].split("#")[0]}function Rg(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Dg(i,t,e){return i.replace(new RegExp(Rg(t),"g"),e)}function Ug(i,t){let e="",r=0,s=-1,o=0,n=-1;for(let a=0;a<=i.length;++a){if(a<i.length)n=i.charCodeAt(a);else {if(n===47)break;n=47;}if(n===47){if(!(s===a-1||o===1))if(s!==a-1&&o===2){if(e.length<2||r!==2||e.charCodeAt(e.length-1)!==46||e.charCodeAt(e.length-2)!==46){if(e.length>2){let l=e.lastIndexOf("/");if(l!==e.length-1){l===-1?(e="",r=0):(e=e.slice(0,l),r=e.length-1-e.lastIndexOf("/")),s=a,o=0;continue}}else if(e.length===2||e.length===1){e="",r=0,s=a,o=0;continue}}}else e.length>0?e+=`/${i.slice(s+1,a)}`:e=i.slice(s+1,a),r=a-s-1;s=a,o=0;}else n===46&&o!==-1?++o:o=-1;}return e}var Bt,vs=p(()=>{Ut();Bt={toPosix(i){return Dg(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){$t(i),i=this.toPosix(i);let t=/^file:\/\/\//.exec(i);if(t)return t[0];let e=/^[^/:]+:\/{0,2}/.exec(i);return e?e[0]:""},toAbsolute(i,t,e){if($t(i),this.isDataUrl(i)||this.isBlobUrl(i))return i;let r=Jr(this.toPosix(t??tt.get().getBaseUrl())),s=Jr(this.toPosix(e??this.rootname(r)));return i=this.toPosix(i),i.startsWith("/")?Bt.join(s,i.slice(1)):this.isAbsolute(i)?i:this.join(r,i)},normalize(i){if($t(i),i.length===0)return ".";if(this.isDataUrl(i)||this.isBlobUrl(i))return i;i=this.toPosix(i);let t="",e=i.startsWith("/");this.hasProtocol(i)&&(t=this.rootname(i),i=i.slice(t.length));let r=i.endsWith("/");return i=Ug(i),i.length>0&&r&&(i+="/"),e?`/${i}`:t+i},isAbsolute(i){return $t(i),i=this.toPosix(i),this.hasProtocol(i)?true:i.startsWith("/")},join(...i){if(i.length===0)return ".";let t;for(let e=0;e<i.length;++e){let r=i[e];if($t(r),r.length>0)if(t===void 0)t=r;else {let s=i[e-1]??"";this.joinExtensions.includes(this.extname(s).toLowerCase())?t+=`/../${r}`:t+=`/${r}`;}}return t===void 0?".":this.normalize(t)},dirname(i){if($t(i),i.length===0)return ".";i=this.toPosix(i);let t=i.charCodeAt(0),e=t===47,r=-1,s=true,o=this.getProtocol(i),n=i;i=i.slice(o.length);for(let a=i.length-1;a>=1;--a)if(t=i.charCodeAt(a),t===47){if(!s){r=a;break}}else s=false;return r===-1?e?"/":this.isUrl(n)?o+i:o:e&&r===1?"//":o+i.slice(0,r)},rootname(i){$t(i),i=this.toPosix(i);let t="";if(i.startsWith("/")?t="/":t=this.getProtocol(i),this.isUrl(i)){let e=i.indexOf("/",t.length);e!==-1?t=i.slice(0,e):t=i,t.endsWith("/")||(t+="/");}return t},basename(i,t){$t(i),t&&$t(t),i=Jr(this.toPosix(i));let e=0,r=-1,s=true,o;if(t!==void 0&&t.length>0&&t.length<=i.length){if(t.length===i.length&&t===i)return "";let n=t.length-1,a=-1;for(o=i.length-1;o>=0;--o){let l=i.charCodeAt(o);if(l===47){if(!s){e=o+1;break}}else a===-1&&(s=false,a=o+1),n>=0&&(l===t.charCodeAt(n)?--n===-1&&(r=o):(n=-1,r=a));}return e===r?r=a:r===-1&&(r=i.length),i.slice(e,r)}for(o=i.length-1;o>=0;--o)if(i.charCodeAt(o)===47){if(!s){e=o+1;break}}else r===-1&&(s=false,r=o+1);return r===-1?"":i.slice(e,r)},extname(i){$t(i),i=Jr(this.toPosix(i));let t=-1,e=0,r=-1,s=true,o=0;for(let n=i.length-1;n>=0;--n){let a=i.charCodeAt(n);if(a===47){if(!s){e=n+1;break}continue}r===-1&&(s=false,r=n+1),a===46?t===-1?t=n:o!==1&&(o=1):t!==-1&&(o=-1);}return t===-1||r===-1||o===0||o===1&&t===r-1&&t===e+1?"":i.slice(t,r)},parse(i){$t(i);let t={root:"",dir:"",base:"",ext:"",name:""};if(i.length===0)return t;i=Jr(this.toPosix(i));let e=i.charCodeAt(0),r=this.isAbsolute(i),s;t.root=this.rootname(i),r||this.hasProtocol(i)?s=1:s=0;let n=-1,a=0,l=-1,h=true,u=i.length-1,c=0;for(;u>=s;--u){if(e=i.charCodeAt(u),e===47){if(!h){a=u+1;break}continue}l===-1&&(h=false,l=u+1),e===46?n===-1?n=u:c!==1&&(c=1):n!==-1&&(c=-1);}return n===-1||l===-1||c===0||c===1&&n===l-1&&n===a+1?l!==-1&&(a===0&&r?t.base=t.name=i.slice(1,l):t.base=t.name=i.slice(a,l)):(a===0&&r?(t.name=i.slice(1,n),t.base=i.slice(1,l)):(t.name=i.slice(a,n),t.base=i.slice(a,l)),t.ext=i.slice(n,l)),t.dir=this.dirname(i),t},sep:"/",delimiter:":",joinExtensions:[".html"]};});var ye,Mn=p(()=>{ye=(i,t,e=false)=>(Array.isArray(i)||(i=[i]),t?i.map(r=>typeof r=="string"||e?t(r):r):i);});function Au(i,t,e,r,s){let o=t[e];for(let n=0;n<o.length;n++){let a=o[n];e<t.length-1?Au(i.replace(r[e],a),t,e+1,r,s):s.push(i.replace(r[e],a));}}function Cu(i){let t=/\{(.*?)\}/g,e=i.match(t),r=[];if(e){let s=[];e.forEach(o=>{let n=o.substring(1,o.length-1).split(",");s.push(n);}),Au(i,s,0,e,r);}else r.push(i);return r}var Eu=p(()=>{});var An,Fu=p(()=>{An=i=>!Array.isArray(i);});function Lg(i){return i.split(".").pop().split("?").shift().split("#").shift()}var ti,Bu=p(()=>{Tt();vs();Mn();Eu();Fu();ti=class{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 {let e=t;this._defaultSearchParams=Object.keys(e).map(r=>`${encodeURIComponent(r)}=${encodeURIComponent(e[r])}`).join("&");}}getAlias(t){let{alias:e,src:r}=t;return ye(e||r,o=>typeof o=="string"?o:Array.isArray(o)?o.map(n=>n?.src??n):o?.src?o.src:o,true)}addManifest(t){this._manifest&&z("[Resolver] Manifest already exists, this will be overwritten"),this._manifest=t,t.bundles.forEach(e=>{this.addBundle(e.name,e.assets);});}addBundle(t,e){let r=[],s=e;Array.isArray(e)||(s=Object.entries(e).map(([o,n])=>typeof n=="string"||Array.isArray(n)?{alias:o,src:n}:{alias:o,...n})),s.forEach(o=>{let n=o.src,a=o.alias,l;if(typeof a=="string"){let h=this._createBundleAssetId(t,a);r.push(h),l=[a,h];}else {let h=a.map(u=>this._createBundleAssetId(t,u));r.push(...h),l=[...a,...h];}this.add({...o,alias:l,src:n});}),this._bundles[t]=r;}add(t){let e=[];Array.isArray(t)?e.push(...t):e.push(t);let r;r=o=>{this.hasKey(o)&&z(`[Resolver] already has key: ${o} overwriting`);},ye(e).forEach(o=>{let{src:n}=o,{data:a,format:l,loadParser:h,parser:u}=o,c=ye(n).map(m=>typeof m=="string"?Cu(m):Array.isArray(m)?m:[m]),f=this.getAlias(o);Array.isArray(f)?f.forEach(r):r(f);let d=[];c.forEach(m=>{m.forEach(x=>{let g={};if(typeof x!="object"){g.src=x;for(let _=0;_<this._parsers.length;_++){let y=this._parsers[_];if(y.test(x)){g=y.parse(x);break}}}else a=x.data??a,l=x.format??l,(x.loadParser||x.parser)&&(h=x.loadParser??h,u=x.parser??u),g={...g,...x};if(!f)throw new Error(`[Resolver] alias is undefined for this asset: ${g.src}`);g=this._buildResolvedAsset(g,{aliases:f,data:a,format:l,loadParser:h,parser:u}),d.push(g);});}),f.forEach(m=>{this._assetMap[m]=d;});});}resolveBundle(t){let e=An(t);t=ye(t);let r={};return t.forEach(s=>{let o=this._bundles[s];if(o){let n=this.resolve(o),a={};for(let l in n){let h=n[l];a[this._extractAssetIdFromBundle(s,l)]=h;}r[s]=a;}}),e?r[t[0]]:r}resolveUrl(t){let e=this.resolve(t);if(typeof t!="string"){let r={};for(let s in e)r[s]=e[s].src;return r}return e.src}resolve(t){let e=An(t);t=ye(t);let r={};return t.forEach(s=>{if(!this._resolverHash[s])if(this._assetMap[s]){let o=this._assetMap[s],n=this._getPreferredOrder(o);n?.priority.forEach(a=>{n.params[a].forEach(l=>{let h=o.filter(u=>u[a]?u[a]===l:false);h.length&&(o=h);});}),this._resolverHash[s]=o[0];}else this._resolverHash[s]=this._buildResolvedAsset({alias:[s],src:s},{});r[s]=this._resolverHash[s];}),e?r[t[0]]:r}hasKey(t){return !!this._assetMap[t]}hasBundle(t){return !!this._bundles[t]}_getPreferredOrder(t){for(let e=0;e<t.length;e++){let r=t[e],s=this._preferredOrder.find(o=>o.params.format.includes(r.format));if(s)return s}return this._preferredOrder[0]}_appendDefaultSearchParams(t){if(!this._defaultSearchParams)return t;let e=/\?/.test(t)?"&":"?";return `${t}${e}${this._defaultSearchParams}`}_buildResolvedAsset(t,e){let{aliases:r,data:s,loadParser:o,parser:n,format:a}=e;return (this._basePath||this._rootPath)&&(t.src=Bt.toAbsolute(t.src,this._basePath,this._rootPath)),t.alias=r??t.alias??[t.src],t.src=this._appendDefaultSearchParams(t.src),t.data={...s||{},...t.data},t.loadParser=o??t.loadParser,t.parser=n??t.parser,t.format=a??t.format??Lg(t.src),t}};ti.RETINA_PREFIX=/@([0-9\.]+)x/;});var Cn,ku=p(()=>{Cn=(i,t)=>{let e=t.split("?")[1];return e&&(i+=`?${e}`),i};});var Gu,En,Iu=p(()=>{Ft();he();bt();Gu=class ei{constructor(t,e){this.linkedSheets=[];let r=t;t?.source instanceof gt&&(r={texture:t,data:e});let{texture:s,data:o,cachePrefix:n=""}=r;this.cachePrefix=n,this._texture=s instanceof B?s:null,this.textureSource=s.source,this.textures={},this.animations={},this.data=o;let a=parseFloat(o.meta.scale);a?(this.resolution=a,s.source.resolution=this.resolution):this.resolution=s.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<=ei.BATCH_SIZE?(this._processFrames(0),this._processAnimations(),this._parseComplete()):this._nextBatch();})}_processFrames(t){let e=t,r=ei.BATCH_SIZE;for(;e-t<r&&e<this._frameKeys.length;){let s=this._frameKeys[e],o=this._frames[s],n=o.frame;if(n){let a=null,l=null,h=o.trimmed!==false&&o.sourceSize?o.sourceSize:o.frame,u=new $(0,0,Math.floor(h.w)/this.resolution,Math.floor(h.h)/this.resolution);o.rotated?a=new $(Math.floor(n.x)/this.resolution,Math.floor(n.y)/this.resolution,Math.floor(n.h)/this.resolution,Math.floor(n.w)/this.resolution):a=new $(Math.floor(n.x)/this.resolution,Math.floor(n.y)/this.resolution,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution),o.trimmed!==false&&o.spriteSourceSize&&(l=new $(Math.floor(o.spriteSourceSize.x)/this.resolution,Math.floor(o.spriteSourceSize.y)/this.resolution,Math.floor(n.w)/this.resolution,Math.floor(n.h)/this.resolution)),this.textures[s]=new B({source:this.textureSource,frame:a,orig:u,trim:l,rotate:o.rotated?2:0,defaultAnchor:o.anchor,defaultBorders:o.borders,label:s.toString()});}e++;}}_processAnimations(){let t=this.data.animations||{};for(let e in t){this.animations[e]=[];for(let r=0;r<t[e].length;r++){let s=t[e][r];this.animations[e].push(this.textures[s]);}}}_parseComplete(){let t=this._callback;this._callback=null,this._batchIndex=0,t.call(this,this.textures);}_nextBatch(){this._processFrames(this._batchIndex*ei.BATCH_SIZE),this._batchIndex++,setTimeout(()=>{this._batchIndex*ei.BATCH_SIZE<this._frameKeys.length?this._nextBatch():(this._processAnimations(),this._parseComplete());},0);}destroy(t=false){for(let e in this.textures)this.textures[e].destroy();this._frames=null,this._frameKeys=null,this.data=null,this.textures=null,t&&(this._texture?.destroy(),this.textureSource.destroy()),this._texture=null,this.textureSource=null,this.linkedSheets=[];}};Gu.BATCH_SIZE=1e3;En=Gu;});function Ru(i,t,e){let r={};if(i.forEach(s=>{r[s]=t;}),Object.keys(t.textures).forEach(s=>{r[`${t.cachePrefix}${s}`]=t.textures[s];}),!e){let s=Bt.dirname(i[0]);t.linkedSheets.forEach((o,n)=>{let a=Ru([`${s}/${t.data.meta.related_multi_packs[n]}`],o,true);Object.assign(r,a);});}return r}var Og,Du,Uu=p(()=>{Pn();Bu();ku();k();bt();vs();Iu();Og=["jpg","png","jpeg","avif","webp","basis","etc2","bc7","bc6h","bc5","bc4","bc3","bc2","bc1","eac","astc"];Du={extension:S.Asset,cache:{test:i=>i instanceof En,getCacheableAssets:(i,t)=>Ru(i,t,false)},resolver:{extension:{type:S.ResolveParser,name:"resolveSpritesheet"},test:i=>{let e=i.split("?")[0].split("."),r=e.pop(),s=e.pop();return r==="json"&&Og.includes(s)},parse:i=>{let t=i.split(".");return {resolution:parseFloat(ti.RETINA_PREFIX.exec(i)?.[1]??"1"),format:t[t.length-2],src:i}}},loader:{name:"spritesheetLoader",id:"spritesheet",extension:{type:S.LoadParser,priority:nr.Normal,name:"spritesheetLoader"},async testParse(i,t){return Bt.extname(t.src).toLowerCase()===".json"&&!!i.frames},async parse(i,t,e){let{texture:r,imageFilename:s,textureOptions:o,cachePrefix:n}=t?.data??{},a=Bt.dirname(t.src);a&&a.lastIndexOf("/")!==a.length-1&&(a+="/");let l;if(r instanceof B)l=r;else {let c=Cn(a+(s??i.meta.image),t.src);l=(await e.load([{src:c,data:o}]))[c];}let h=new En({texture:l.source,data:i,cachePrefix:n});await h.parse();let u=i?.meta?.related_multi_packs;if(Array.isArray(u)){let c=[];for(let d of u){if(typeof d!="string")continue;let m=a+d;t.data?.ignoreMultiPack||(m=Cn(m,t.src),c.push(e.load({src:m,data:{textureOptions:o,ignoreMultiPack:true}})));}let f=await Promise.all(c);h.linkedSheets=f,f.forEach(d=>{d.linkedSheets=[h].concat(h.linkedSheets.filter(m=>m!==d));});}return h},async unload(i,t,e){await e.unload(i.textureSource._sourceOrigin),i.destroy(false);}}};});var Ss=p(()=>{k();Uu();I.add(Du);});function Ts(i,t,e){let{width:r,height:s}=e.orig,o=e.trim;if(o){let n=o.width,a=o.height;i.minX=o.x-t._x*r,i.maxX=i.minX+n,i.minY=o.y-t._y*s,i.maxY=i.minY+a;}else i.minX=-t._x*r,i.maxX=i.minX+r,i.minY=-t._y*s,i.maxY=i.minY+s;}var Fn=p(()=>{});var ri,Lu=p(()=>{Ho();bt();Fn();ht();wn();ri=class i extends or{constructor(t=B.EMPTY){t instanceof B&&(t={texture:t});let{texture:e=B.EMPTY,anchor:r,roundPixels:s,width:o,height:n,...a}=t;super({label:"Sprite",...a}),this.renderPipeId="sprite",this.batched=true,this._visualBounds={minX:0,maxX:1,minY:0,maxY:0},this._anchor=new _t({_onUpdate:()=>{this.onViewUpdate();}}),r?this.anchor=r:e.defaultAnchor&&(this.anchor=e.defaultAnchor),this.texture=e,this.allowChildren=false,this.roundPixels=s??false,o!==void 0&&(this.width=o),n!==void 0&&(this.height=n);}static from(t,e=false){return t instanceof B?new i(t):new i(B.from(t,e))}set texture(t){t||(t=B.EMPTY);let 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 visualBounds(){return Ts(this._visualBounds,this._anchor,this._texture),this._visualBounds}get sourceBounds(){return F("8.6.1","Sprite.sourceBounds is deprecated, use visualBounds instead."),this.visualBounds}updateBounds(){let t=this._anchor,e=this._texture,r=this._bounds,{width:s,height:o}=e.orig;r.minX=-t._x*s,r.maxX=r.minX+s,r.minY=-t._y*o,r.maxY=r.minY+o;}destroy(t=false){if(super.destroy(t),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._texture.destroy(r);}this._texture=null,this._visualBounds=null,this._bounds=null,this._anchor=null,this._gpuData=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);}};});function ws(i,t,e){let r=zg;i.measurable=true,os(i,e,r),t.addBoundsMask(r),i.measurable=false;}var zg,Bn=p(()=>{Yt();as();zg=new nt;});function Ps(i,t,e){let r=Rt.get();i.measurable=true;let s=ct.get().identity(),o=Ou(i,e,s);hs(i,r,o),i.measurable=false,t.addBoundsMask(r),ct.return(s),Rt.return(r);}function Ou(i,t,e){return i?(i!==t&&(Ou(i.parent,t,e),i.updateLocalTransform(),e.append(i.localTransform)),e):(z("Mask bounds, renderable is not inside the root container"),e)}var kn=p(()=>{Qo();ke();Tt();});var ii,zu=p(()=>{k();Lu();Bn();kn();ii=class{constructor(t){this.priority=0,this.inverse=false,this.pipe="alphaMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t,this.renderMaskToTexture=!(t instanceof ri),this.mask.renderable=this.renderMaskToTexture,this.mask.includeInBuild=!this.renderMaskToTexture,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask=null;}addBounds(t,e){this.inverse||ws(this.mask,t,e);}addLocalBounds(t,e){Ps(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof ri}};ii.extension=S.MaskEffect;});var si,Wu=p(()=>{k();si=class{constructor(t){this.priority=0,this.pipe="colorMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t;}destroy(){}static test(t){return typeof t=="number"}};si.extension=S.MaskEffect;});var oi,Vu=p(()=>{k();Xr();Bn();kn();oi=class{constructor(t){this.priority=0,this.pipe="stencilMask",t?.mask&&this.init(t.mask);}init(t){this.mask=t,this.mask.includeInBuild=false,this.mask.measurable=false;}reset(){this.mask.measurable=true,this.mask.includeInBuild=true,this.mask=null;}addBounds(t,e){ws(this.mask,t,e);}addLocalBounds(t,e){Ps(this.mask,t,e);}containsPoint(t,e){let r=this.mask;return e(r,t)}destroy(){this.reset();}static test(t){return t instanceof Xt}};oi.extension=S.MaskEffect;});var ar,Hu=p(()=>{Ut();k();he();ar=class extends gt{constructor(t){t.resource||(t.resource=tt.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,this.resizeCanvas(),this.transparent=!!t.transparent;}resizeCanvas(){this.autoDensity&&"style"in this.resource&&(this.resource.style.width=`${this.width}px`,this.resource.style.height=`${this.height}px`),(this.resource.width!==this.pixelWidth||this.resource.height!==this.pixelHeight)&&(this.resource.width=this.pixelWidth,this.resource.height=this.pixelHeight);}resize(t=this.width,e=this.height,r=this._resolution){let s=super.resize(t,e,r);return s&&this.resizeCanvas(),s}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"))}};ar.extension=S.TextureSource;});var Qt,Ms=p(()=>{k();he();Qt=class extends gt{constructor(t){super(t),this.uploadMethodId="image",this.autoGarbageCollect=true;}static test(t){return globalThis.HTMLImageElement&&t instanceof HTMLImageElement||typeof ImageBitmap<"u"&&t instanceof ImageBitmap||globalThis.VideoFrame&&t instanceof VideoFrame}};Qt.extension=S.TextureSource;});async function Nu(){return Gn??(Gn=(async()=>{let t=tt.get().createCanvas(1,1).getContext("webgl");if(!t)return "premultiply-alpha-on-upload";let e=await new Promise(n=>{let a=document.createElement("video");a.onloadeddata=()=>n(a),a.onerror=()=>n(null),a.autoplay=false,a.crossOrigin="anonymous",a.preload="auto",a.src="data:video/webm;base64,GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAAHTEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHGTbuMU6uEElTDZ1OsggEXTbuMU6uEHFO7a1OsggG97AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmoCrXsYMPQkBNgIRMYXZmV0GETGF2ZkSJiEBEAAAAAAAAFlSua8yuAQAAAAAAAEPXgQFzxYgAAAAAAAAAAZyBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAJiWgDglLCBArqBApqBAlPAgQFVsIRVuYEBElTDZ9Vzc9JjwItjxYgAAAAAAAAAAWfInEWjh0VOQ09ERVJEh49MYXZjIGxpYnZweC12cDlnyKJFo4hEVVJBVElPTkSHlDAwOjAwOjAwLjA0MDAwMDAwMAAAH0O2dcfngQCgwqGggQAAAIJJg0IAABAAFgA4JBwYSgAAICAAEb///4r+AAB1oZ2mm+6BAaWWgkmDQgAAEAAWADgkHBhKAAAgIABIQBxTu2uRu4+zgQC3iveBAfGCAXHwgQM=",a.load();});if(!e)return "premultiply-alpha-on-upload";let r=t.createTexture();t.bindTexture(t.TEXTURE_2D,r);let s=t.createFramebuffer();t.bindFramebuffer(t.FRAMEBUFFER,s),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,r,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e);let o=new Uint8Array(4);return t.readPixels(0,0,1,1,t.RGBA,t.UNSIGNED_BYTE,o),t.deleteFramebuffer(s),t.deleteTexture(r),t.getExtension("WEBGL_lose_context")?.loseContext(),o[0]<=o[3]?"premultiplied-alpha":"premultiply-alpha-on-upload"})()),Gn}var Gn,Yu=p(()=>{Ut();});var As,$u,ju=p(()=>{k();rr();Yu();he();As=class Xu extends gt{constructor(t){super(t),this.isReady=false,this.uploadMethodId="video",t={...Xu.defaultOptions,...t},this._autoUpdate=true,this._isConnectedToTicker=false,this._updateFPS=t.updateFPS||0,this._msToNextUpdate=0,this.autoPlay=t.autoPlay!==false,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!==false&&this.load();}updateFrame(){if(!this.destroyed){if(this._updateFPS){let t=lt.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;let 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=true),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,true)),this.alphaMode=await Nu(),this._load=new Promise((r,s)=>{this.isValid?r(this):(this._resolve=r,this._reject=s,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,true),this.emit("error",t),this._reject&&(this._reject(t),this._reject=null,this._resolve=null);}_isSourcePlaying(){let 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(){let t=this.resource;this.isValid&&(this.isReady=true,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();let 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,true),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&&(lt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,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||(lt.shared.add(this.updateFrame,this),this._isConnectedToTicker=true,this._msToNextUpdate=0)):(this._videoFrameRequestCallbackHandle!==null&&(this.resource.cancelVideoFrameCallback(this._videoFrameRequestCallbackHandle),this._videoFrameRequestCallbackHandle=null),this._isConnectedToTicker&&(lt.shared.remove(this.updateFrame,this),this._isConnectedToTicker=false,this._msToNextUpdate=0));}static test(t){return globalThis.HTMLVideoElement&&t instanceof HTMLVideoElement}};As.extension=S.TextureSource;As.defaultOptions={...gt.defaultOptions,autoLoad:true,autoPlay:true,updateFPS:0,crossorigin:true,loop:false,muted:true,playsinline:true,preload:false};As.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"};$u=As;});var In,dt,ni=p(()=>{Tt();Mn();In=class{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){let e=this._cache.get(t);return e||z(`[Assets] Asset id ${t} was not found in the Cache`),e}set(t,e){let r=ye(t),s;for(let l=0;l<this.parsers.length;l++){let h=this.parsers[l];if(h.test(e)){s=h.getCacheableAssets(r,e);break}}let o=new Map(Object.entries(s||{}));s||r.forEach(l=>{o.set(l,e);});let n=[...o.keys()],a={cacheKeys:n,keys:r};r.forEach(l=>{this._cacheMap.set(l,a);}),n.forEach(l=>{let h=s?s[l]:e;this._cache.has(l)&&this._cache.get(l)!==h&&z("[Cache] already has key:",l),this._cache.set(l,o.get(l));});}remove(t){if(!this._cacheMap.has(t)){z(`[Assets] Asset id ${t} was not found in the Cache`);return}let e=this._cacheMap.get(t);e.cacheKeys.forEach(s=>{this._cache.delete(s);}),e.keys.forEach(s=>{this._cacheMap.delete(s);});}get parsers(){return this._parsers}},dt=new In;});function qu(i={}){let t=i&&i.resource,e=t?i.resource:i,r=t?i:{resource:i};for(let s=0;s<Rn.length;s++){let o=Rn[s];if(o.test(e))return new o(r)}throw new Error(`Could not find a source type for resource: ${r.resource}`)}function Ku(i={},t=false){let e=i&&i.resource,r=e?i.resource:i,s=e?i:{resource:i};if(!t&&dt.has(r))return dt.get(r);let o=new B({source:qu(s)});return o.on("destroy",()=>{dt.has(r)&&dt.remove(r);}),t||dt.set(r,o),o}function Zu(i,t=false){return typeof i=="string"?dt.get(i):i instanceof gt?new B({source:i}):Ku(i,t)}var Rn,Dn=p(()=>{ni();k();he();bt();Rn=[];I.handleByList(S.TextureSource,Rn);B.from=Zu;gt.from=qu;});var Cs=p(()=>{k();zu();Wu();Vu();nn();Hu();Ms();ju();Dn();I.add(ii,si,oi,$u,Qt,ar,Ue);});var Ht,ai=p(()=>{Ht=class{constructor(t){this.resources=Object.create(null),this._dirty=true;let e=0;for(let r in t){let s=t[r];this.setResource(s,e++);}this._updateKey();}_updateKey(){if(!this._dirty)return;this._dirty=false;let t=[],e=0;for(let r in this.resources)t[e++]=this.resources[r]._resourceId;this._key=t.join("|");}setResource(t,e){let r=this.resources[e];t!==r&&(r&&t.off?.("change",this.onResourceChange,this),t.on?.("change",this.onResourceChange,this),this.resources[e]=t,this._dirty=true);}getResource(t){return this.resources[t]}_touch(t){let e=this.resources;for(let r in e)e[r]._touched=t;}destroy(){let t=this.resources;for(let e in t)t[e].off?.("change",this.onResourceChange,this);this.resources=null;}onResourceChange(t){if(this._dirty=true,t.destroyed){let e=this.resources;for(let r in e)e[r]===t&&(e[r]=null);}else this._updateKey();}};});function Ju(i,t,e){let r=2166136261;for(let s=0;s<t;s++)r^=i[s].uid,r=Math.imul(r,16777619),r>>>=0;return Qu[r]||Wg(i,t,r,e)}function Wg(i,t,e,r){let s={},o=0;for(let a=0;a<r;a++){let l=a<t?i[a]:B.EMPTY.source;s[o++]=l.source,s[o++]=l.style;}let n=new Ht(s);return Qu[e]=n,n}var Qu,tc=p(()=>{ai();bt();Qu={};});var Jt,Un=p(()=>{Jt=class{constructor(t){typeof t=="number"?this.rawBinaryData=new ArrayBuffer(t):t instanceof Uint8Array?this.rawBinaryData=t.buffer:this.rawBinaryData=t,this.uint32View=new Uint32Array(this.rawBinaryData),this.float32View=new Float32Array(this.rawBinaryData),this.size=this.rawBinaryData.byteLength;}get int8View(){return this._int8View||(this._int8View=new Int8Array(this.rawBinaryData)),this._int8View}get uint8View(){return this._uint8View||(this._uint8View=new Uint8Array(this.rawBinaryData)),this._uint8View}get int16View(){return this._int16View||(this._int16View=new Int16Array(this.rawBinaryData)),this._int16View}get int32View(){return this._int32View||(this._int32View=new Int32Array(this.rawBinaryData)),this._int32View}get float64View(){return this._float64Array||(this._float64Array=new Float64Array(this.rawBinaryData)),this._float64Array}get bigUint64View(){return this._bigUint64Array||(this._bigUint64Array=new BigUint64Array(this.rawBinaryData)),this._bigUint64Array}view(t){return this[`${t}View`]}destroy(){this.rawBinaryData=null,this._int8View=null,this._uint8View=null,this._int16View=null,this.uint16View=null,this._int32View=null,this.uint32View=null,this.float32View=null;}static sizeOf(t){switch(t){case "int8":case "uint8":return 1;case "int16":case "uint16":return 2;case "int32":case "uint32":case "float32":return 4;default:throw new Error(`${t} isn't a valid view type`)}}};});function Ln(i,t){let e=i.byteLength/8|0,r=new Float64Array(i,0,e);new Float64Array(t,0,e).set(r);let o=i.byteLength-e*8;if(o>0){let n=new Uint8Array(i,e*8,o);new Uint8Array(t,e*8,o).set(n);}}var ec=p(()=>{});var rc,ic=p(()=>{rc={normal:"normal-npm",add:"add-npm",screen:"screen-npm"};});function de(i,t){return t.alphaMode==="no-premultiply-alpha"&&rc[i]||i}var li=p(()=>{ic();});function Fs(){return (!Es||Es?.isContextLost())&&(Es=tt.get().createCanvas().getContext("webgl",{})),Es}var Es,On=p(()=>{Ut();});function Hg(i){let t="";for(let e=0;e<i;++e)e>0&&(t+=`
20
- else `),e<i-1&&(t+=`if(test == ${e}.0){}`);return t}function sc(i,t){if(i===0)throw new Error("Invalid value of `0` passed to `checkMaxIfStatementsInShader`");let e=t.createShader(t.FRAGMENT_SHADER);try{for(;;){let r=Vg.replace(/%forloop%/gi,Hg(i));if(t.shaderSource(e,r),t.compileShader(e),!t.getShaderParameter(e,t.COMPILE_STATUS))i=i/2|0;else break}}finally{t.deleteShader(e);}return i}var Vg,oc=p(()=>{Vg=["precision mediump float;","void main(void){","float test = 0.1;","%forloop%","gl_FragColor = vec4(0.0);","}"].join(`
21
- `);});function nc(){if(lr)return lr;let i=Fs();return lr=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),lr=sc(lr,i),i.getExtension("WEBGL_lose_context")?.loseContext(),lr}var lr,ac=p(()=>{On();oc();lr=null;});var Bs,lc=p(()=>{Bs=class{constructor(){this.ids=Object.create(null),this.textures=[],this.count=0;}clear(){for(let t=0;t<this.count;t++){let e=this.textures[t];this.textures[t]=null,this.ids[e.uid]=null;}this.count=0;}};});function hc(){return Wn>0?cc[--Wn]:new zn}function uc(i){cc[Wn++]=i;}var zn,cc,Wn,hi,dc,pc,mc=p(()=>{Mt();Un();ht();ec();li();ac();lc();zn=class{constructor(){this.renderPipeId="batch",this.action="startBatch",this.start=0,this.size=0,this.textures=new Bs,this.blendMode="normal",this.topology="triangle-strip",this.canBundle=true;}destroy(){this.textures=null,this.gpuBindGroup=null,this.bindGroup=null,this.batcher=null;}},cc=[],Wn=0;hi=0,dc=class fc{constructor(t){this.uid=Y("batcher"),this.dirty=true,this.batchIndex=0,this.batches=[],this._elements=[],t={...fc.defaultOptions,...t},t.maxTextures||(F("v8.8.0","maxTextures is a required option for Batcher now, please pass it in the options"),t.maxTextures=nc());let{maxTextures:e,attributesInitialSize:r,indicesInitialSize:s}=t;this.attributeBuffer=new Jt(r*4),this.indexBuffer=new Uint16Array(s),this.maxTextures=e;}begin(){this.elementSize=0,this.elementStart=0,this.indexSize=0,this.attributeSize=0;for(let t=0;t<this.batchIndex;t++)uc(this.batches[t]);this.batchIndex=0,this._batchIndexStart=0,this._batchIndexSize=0,this.dirty=true;}add(t){this._elements[this.elementSize++]=t,t._indexStart=this.indexSize,t._attributeStart=this.attributeSize,t._batcher=this,this.indexSize+=t.indexSize,this.attributeSize+=t.attributeSize*this.vertexSize;}checkAndUpdateTexture(t,e){let r=t._batch.textures.ids[e._source.uid];return !r&&r!==0?false:(t._textureId=r,t.texture=e,true)}updateElement(t){this.dirty=true;let e=this.attributeBuffer;t.packAsQuad?this.packQuadAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId):this.packAttributes(t,e.float32View,e.uint32View,t._attributeStart,t._textureId);}break(t){let e=this._elements;if(!e[this.elementStart])return;let r=hc(),s=r.textures;s.clear();let o=e[this.elementStart],n=de(o.blendMode,o.texture._source),a=o.topology;this.attributeSize*4>this.attributeBuffer.size&&this._resizeAttributeBuffer(this.attributeSize*4),this.indexSize>this.indexBuffer.length&&this._resizeIndexBuffer(this.indexSize);let l=this.attributeBuffer.float32View,h=this.attributeBuffer.uint32View,u=this.indexBuffer,c=this._batchIndexSize,f=this._batchIndexStart,d="startBatch",m=this.maxTextures;for(let x=this.elementStart;x<this.elementSize;++x){let g=e[x];e[x]=null;let y=g.texture._source,b=de(g.blendMode,y),v=n!==b||a!==g.topology;if(y._batchTick===hi&&!v){g._textureId=y._textureBindLocation,c+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,l,h,g._attributeStart,g._textureId),this.packQuadIndex(u,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,l,h,g._attributeStart,g._textureId),this.packIndex(g,u,g._indexStart,g._attributeStart/this.vertexSize)),g._batch=r;continue}y._batchTick=hi,(s.count>=m||v)&&(this._finishBatch(r,f,c-f,s,n,a,t,d),d="renderBatch",f=c,n=b,a=g.topology,r=hc(),s=r.textures,s.clear(),++hi),g._textureId=y._textureBindLocation=s.count,s.ids[y.uid]=s.count,s.textures[s.count++]=y,g._batch=r,c+=g.indexSize,g.packAsQuad?(this.packQuadAttributes(g,l,h,g._attributeStart,g._textureId),this.packQuadIndex(u,g._indexStart,g._attributeStart/this.vertexSize)):(this.packAttributes(g,l,h,g._attributeStart,g._textureId),this.packIndex(g,u,g._indexStart,g._attributeStart/this.vertexSize));}s.count>0&&(this._finishBatch(r,f,c-f,s,n,a,t,d),f=c,++hi),this.elementStart=this.elementSize,this._batchIndexStart=f,this._batchIndexSize=c;}_finishBatch(t,e,r,s,o,n,a,l){t.gpuBindGroup=null,t.bindGroup=null,t.action=l,t.batcher=this,t.textures=s,t.blendMode=o,t.topology=n,t.start=e,t.size=r,++hi,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){let e=Math.max(t,this.attributeBuffer.size*2),r=new Jt(e);Ln(this.attributeBuffer.rawBinaryData,r.rawBinaryData),this.attributeBuffer=r;}_resizeIndexBuffer(t){let e=this.indexBuffer,r=Math.max(t,e.length*1.5);r+=r%2;let s=r>65535?new Uint32Array(r):new Uint16Array(r);if(s.BYTES_PER_ELEMENT!==e.BYTES_PER_ELEMENT)for(let o=0;o<e.length;o++)s[o]=e[o];else Ln(e.buffer,s.buffer);this.indexBuffer=s;}packQuadIndex(t,e,r){t[e]=r+0,t[e+1]=r+1,t[e+2]=r+2,t[e+3]=r+0,t[e+4]=r+2,t[e+5]=r+3;}packIndex(t,e,r,s){let o=t.indices,n=t.indexSize,a=t.indexOffset,l=t.attributeOffset;for(let h=0;h<n;h++)e[r++]=s+o[h+a]-l;}destroy(){for(let t=0;t<this.batches.length;t++)uc(this.batches[t]);this.batches=null;for(let t=0;t<this._elements.length;t++)this._elements[t]._batch=null;this._elements=null,this.indexBuffer=null,this.attributeBuffer.destroy(),this.attributeBuffer=null;}};dc.defaultOptions={maxTextures:null,attributesInitialSize:4,indicesInitialSize:6};pc=dc;});var Q,hr=p(()=>{Q=(i=>(i[i.MAP_READ=1]="MAP_READ",i[i.MAP_WRITE=2]="MAP_WRITE",i[i.COPY_SRC=4]="COPY_SRC",i[i.COPY_DST=8]="COPY_DST",i[i.INDEX=16]="INDEX",i[i.VERTEX=32]="VERTEX",i[i.UNIFORM=64]="UNIFORM",i[i.STORAGE=128]="STORAGE",i[i.INDIRECT=256]="INDIRECT",i[i.QUERY_RESOLVE=512]="QUERY_RESOLVE",i[i.STATIC=1024]="STATIC",i))(Q||{});});var vt,ur=p(()=>{Et();Mt();hr();vt=class extends H{constructor(t){let{data:e,size:r}=t,{usage:s,label:o,shrinkToFit:n}=t;super(),this.uid=Y("buffer"),this._resourceType="buffer",this._resourceId=Y("resource"),this._touched=0,this._updateID=1,this._dataInt32=null,this.shrinkToFit=true,this.destroyed=false,e instanceof Array&&(e=new Float32Array(e)),this._data=e,r??(r=e?.byteLength);let a=!!e;this.descriptor={size:r,usage:s,mappedAtCreation:a,label:o},this.shrinkToFit=n??true;}get data(){return this._data}set data(t){this.setDataWithSize(t,t.length,true);}get dataInt32(){return this._dataInt32||(this._dataInt32=new Int32Array(this.data.buffer)),this._dataInt32}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,r){if(this._updateID++,this._updateSize=e*t.BYTES_PER_ELEMENT,this._data===t){r&&this.emit("update",this);return}let s=this._data;if(this._data=t,this._dataInt32=null,!s||s.length!==t.length){!this.shrinkToFit&&s&&t.byteLength<s.byteLength?r&&this.emit("update",this):(this.descriptor.size=t.byteLength,this._resourceId=Y("resource"),this.emit("change",this));return}r&&this.emit("update",this);}update(t){this._updateSize=t??this._updateSize,this._updateID++,this.emit("update",this);}destroy(){this.destroyed=true,this.emit("destroy",this),this.emit("change",this),this._data=null,this.descriptor=null,this.removeAllListeners();}};});function Vn(i,t){if(!(i instanceof vt)){let e=t?Q.INDEX:Q.VERTEX;i instanceof Array&&(t?(i=new Uint32Array(i),e=Q.INDEX|Q.COPY_DST):(i=new Float32Array(i),e=Q.VERTEX|Q.COPY_DST)),i=new vt({data:i,label:t?"index-mesh-buffer":"vertex-mesh-buffer",usage:e});}return i}var gc=p(()=>{ur();hr();});function xc(i,t,e){let r=i.getAttribute(t);if(!r)return e.minX=0,e.minY=0,e.maxX=0,e.maxY=0,e;let s=r.buffer.data,o=1/0,n=1/0,a=-1/0,l=-1/0,h=s.BYTES_PER_ELEMENT,u=(r.offset||0)/h,c=(r.stride||8)/h;for(let f=u;f<s.length;f+=c){let d=s[f],m=s[f+1];d>a&&(a=d),m>l&&(l=m),d<o&&(o=d),m<n&&(n=m);}return e.minX=o,e.minY=n,e.maxX=a,e.maxY=l,e}var _c=p(()=>{});function Ng(i){return (i instanceof vt||Array.isArray(i)||i.BYTES_PER_ELEMENT)&&(i={buffer:i}),i.buffer=Vn(i.buffer,false),i}var te,ui=p(()=>{Et();Yt();Mt();ur();gc();_c();te=class extends H{constructor(t={}){super(),this.uid=Y("geometry"),this._layoutKey=0,this.instanceCount=1,this._bounds=new nt,this._boundsDirty=true;let{attributes:e,indexBuffer:r,topology:s}=t;if(this.buffers=[],this.attributes={},e)for(let o in e)this.addAttribute(o,e[o]);this.instanceCount=t.instanceCount??1,r&&this.addIndex(r),this.topology=s||"triangle-list";}onBufferUpdate(){this._boundsDirty=true,this.emit("update",this);}getAttribute(t){return this.attributes[t]}getIndex(){return this.indexBuffer}getBuffer(t){return this.getAttribute(t).buffer}getSize(){for(let t in this.attributes){let e=this.attributes[t];return e.buffer.data.length/(e.stride/4||e.size)}return 0}addAttribute(t,e){let r=Ng(e);this.buffers.indexOf(r.buffer)===-1&&(this.buffers.push(r.buffer),r.buffer.on("update",this.onBufferUpdate,this),r.buffer.on("change",this.onBufferUpdate,this)),this.attributes[t]=r;}addIndex(t){this.indexBuffer=Vn(t,true),this.buffers.push(this.indexBuffer);}get bounds(){return this._boundsDirty?(this._boundsDirty=false,xc(this,"aPosition",this._bounds)):this._bounds}destroy(t=false){this.emit("destroy",this),this.removeAllListeners(),t&&this.buffers.forEach(e=>e.destroy()),this.attributes=null,this.buffers=null,this.indexBuffer=null,this._bounds=null;}};});var Yg,Xg,ks,yc=p(()=>{ur();hr();ui();Yg=new Float32Array(1),Xg=new Uint32Array(1),ks=class extends te{constructor(){let e=new vt({data:Yg,label:"attribute-batch-buffer",usage:Q.VERTEX|Q.COPY_DST,shrinkToFit:false}),r=new vt({data:Xg,label:"index-batch-buffer",usage:Q.INDEX|Q.COPY_DST,shrinkToFit:false}),s=24;super({attributes:{aPosition:{buffer:e,format:"float32x2",stride:s,offset:0},aUV:{buffer:e,format:"float32x2",stride:s,offset:8},aColor:{buffer:e,format:"unorm8x4",stride:s,offset:16},aTextureIdAndRound:{buffer:e,format:"uint16x2",stride:s,offset:20}},indexBuffer:r});}};});function cr(i,t){let e=bc[i];return e===void 0&&(Hn[t]===void 0&&(Hn[t]=1),bc[i]=e=Hn[t]++),e}var Hn,bc,Gs=p(()=>{Hn=Object.create(null),bc=Object.create(null);});function vc(){if(!Is){Is="mediump";let i=Fs();i&&i.getShaderPrecisionFormat&&(Is=i.getShaderPrecisionFormat(i.FRAGMENT_SHADER,i.HIGH_FLOAT).precision?"highp":"mediump");}return Is}var Is,Sc=p(()=>{On();});function Tc(i,t,e){return t?i:e?(i=i.replace("out vec4 finalColor;",""),`
22
-
23
- #ifdef GL_ES // This checks if it is WebGL1
24
- #define in varying
25
- #define finalColor gl_FragColor
26
- #define texture texture2D
27
- #endif
28
- ${i}
29
- `):`
30
-
31
- #ifdef GL_ES // This checks if it is WebGL1
32
- #define in attribute
33
- #define out varying
34
- #endif
35
- ${i}
36
- `}var wc=p(()=>{});function Pc(i,t,e){let r=e?t.maxSupportedFragmentPrecision:t.maxSupportedVertexPrecision;if(i.substring(0,9)!=="precision"){let s=e?t.requestedFragmentPrecision:t.requestedVertexPrecision;return s==="highp"&&r!=="highp"&&(s="mediump"),`precision ${s} float;
37
- ${i}`}else if(r!=="highp"&&i.substring(0,15)==="precision highp")return i.replace("precision highp","precision mediump");return i}var Mc=p(()=>{});function Ac(i,t){return t?`#version 300 es
38
- ${i}`:i}var Cc=p(()=>{});function Ec(i,{name:t="pixi-program"},e=true){t=t.replace(/\s+/g,"-"),t+=e?"-fragment":"-vertex";let r=e?$g:jg;return r[t]?(r[t]++,t+=`-${r[t]}`):r[t]=1,i.indexOf("#define SHADER_NAME")!==-1?i:`${`#define SHADER_NAME ${t}`}
39
- ${i}`}var $g,jg,Fc=p(()=>{$g={},jg={};});function Bc(i,t){return t?i.replace("#version 300 es",""):i}var kc=p(()=>{});var Nn,Yn,Gc,dr,Rs=p(()=>{Gs();Sc();wc();Mc();Cc();Fc();kc();Nn={stripVersion:Bc,ensurePrecision:Pc,addProgramDefines:Tc,setProgramName:Ec,insertVersion:Ac},Yn=Object.create(null),Gc=class Xn{constructor(t){t={...Xn.defaultOptions,...t};let e=t.fragment.indexOf("#version 300 es")!==-1,r={stripVersion:e,ensurePrecision:{requestedFragmentPrecision:t.preferredFragmentPrecision,requestedVertexPrecision:t.preferredVertexPrecision,maxSupportedVertexPrecision:"highp",maxSupportedFragmentPrecision:vc()},setProgramName:{name:t.name},addProgramDefines:e,insertVersion:e},s=t.fragment,o=t.vertex;Object.keys(Nn).forEach(n=>{let a=r[n];s=Nn[n](s,a,true),o=Nn[n](o,a,false);}),this.fragment=s,this.vertex=o,this.transformFeedbackVaryings=t.transformFeedbackVaryings,this._key=cr(`${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){let e=`${t.vertex}:${t.fragment}`;return Yn[e]||(Yn[e]=new Xn(t)),Yn[e]}};Gc.defaultOptions={preferredVertexPrecision:"highp",preferredFragmentPrecision:"mediump"};dr=Gc;});function Le(i){return Ic[i]??Ic.float32}var Ic,Ds=p(()=>{Ic={uint8x2:{size:2,stride:2,normalised:false},uint8x4:{size:4,stride:4,normalised:false},sint8x2:{size:2,stride:2,normalised:false},sint8x4:{size:4,stride:4,normalised:false},unorm8x2:{size:2,stride:2,normalised:true},unorm8x4:{size:4,stride:4,normalised:true},snorm8x2:{size:2,stride:2,normalised:true},snorm8x4:{size:4,stride:4,normalised:true},uint16x2:{size:2,stride:4,normalised:false},uint16x4:{size:4,stride:8,normalised:false},sint16x2:{size:2,stride:4,normalised:false},sint16x4:{size:4,stride:8,normalised:false},unorm16x2:{size:2,stride:4,normalised:true},unorm16x4:{size:4,stride:8,normalised:true},snorm16x2:{size:2,stride:4,normalised:true},snorm16x4:{size:4,stride:8,normalised:true},float16x2:{size:2,stride:4,normalised:false},float16x4:{size:4,stride:8,normalised:false},float32:{size:1,stride:4,normalised:false},float32x2:{size:2,stride:8,normalised:false},float32x3:{size:3,stride:12,normalised:false},float32x4:{size:4,stride:16,normalised:false},uint32:{size:1,stride:4,normalised:false},uint32x2:{size:2,stride:8,normalised:false},uint32x3:{size:3,stride:12,normalised:false},uint32x4:{size:4,stride:16,normalised:false},sint32:{size:1,stride:4,normalised:false},sint32x2:{size:2,stride:8,normalised:false},sint32x3:{size:3,stride:12,normalised:false},sint32x4:{size:4,stride:16,normalised:false}};});function Rc({source:i,entryPoint:t}){let e={},r=i.indexOf(`fn ${t}`);if(r!==-1){let s=i.indexOf("->",r);if(s!==-1){let o=i.substring(r,s),n=/@location\((\d+)\)\s+([a-zA-Z0-9_]+)\s*:\s*([a-zA-Z0-9_<>]+)(?:,|\s|$)/g,a;for(;(a=n.exec(o))!==null;){let l=qg[a[3]]??"float32";e[a[2]]={location:parseInt(a[1],10),format:l,stride:Le(l).stride,offset:0,instance:false,start:0};}}}return e}var qg,Dc=p(()=>{Ds();qg={f32:"float32","vec2<f32>":"float32x2","vec3<f32>":"float32x3","vec4<f32>":"float32x4",vec2f:"float32x2",vec3f:"float32x3",vec4f:"float32x4",i32:"sint32","vec2<i32>":"sint32x2","vec3<i32>":"sint32x3","vec4<i32>":"sint32x4",u32:"uint32","vec2<u32>":"uint32x2","vec3<u32>":"uint32x3","vec4<u32>":"uint32x4",bool:"uint32","vec2<bool>":"uint32x2","vec3<bool>":"uint32x3","vec4<bool>":"uint32x4"};});function Us(i){let t=/(^|[^/])@(group|binding)\(\d+\)[^;]+;/g,e=/@group\((\d+)\)/,r=/@binding\((\d+)\)/,s=/var(<[^>]+>)? (\w+)/,o=/:\s*(\w+)/,n=/struct\s+(\w+)\s*{([^}]+)}/g,a=/(\w+)\s*:\s*([\w\<\>]+)/g,l=/struct\s+(\w+)/,h=i.match(t)?.map(c=>({group:parseInt(c.match(e)[1],10),binding:parseInt(c.match(r)[1],10),name:c.match(s)[2],isUniform:c.match(s)[1]==="<uniform>",type:c.match(o)[1]}));if(!h)return {groups:[],structs:[]};let u=i.match(n)?.map(c=>{let f=c.match(l)[1],d=c.match(a).reduce((m,x)=>{let[g,_]=x.split(":");return m[g.trim()]=_.trim(),m},{});return d?{name:f,members:d}:null}).filter(({name:c})=>h.some(f=>f.type===c))??[];return {groups:h,structs:u}}var Uc=p(()=>{});var fr,Lc=p(()=>{fr=(i=>(i[i.VERTEX=1]="VERTEX",i[i.FRAGMENT=2]="FRAGMENT",i[i.COMPUTE=4]="COMPUTE",i))(fr||{});});function Oc({groups:i}){let t=[];for(let e=0;e<i.length;e++){let r=i[e];t[r.group]||(t[r.group]=[]),r.isUniform?t[r.group].push({binding:r.binding,visibility:fr.VERTEX|fr.FRAGMENT,buffer:{type:"uniform"}}):r.type==="sampler"?t[r.group].push({binding:r.binding,visibility:fr.FRAGMENT,sampler:{type:"filtering"}}):r.type==="texture_2d"&&t[r.group].push({binding:r.binding,visibility:fr.FRAGMENT,texture:{sampleType:"float",viewDimension:"2d",multisampled:false}});}return t}var zc=p(()=>{Lc();});function Wc({groups:i}){let t=[];for(let e=0;e<i.length;e++){let r=i[e];t[r.group]||(t[r.group]={}),t[r.group][r.name]=r.binding;}return t}var Vc=p(()=>{});function Hc(i,t){let e=new Set,r=new Set,s=[...i.structs,...t.structs].filter(n=>e.has(n.name)?false:(e.add(n.name),true)),o=[...i.groups,...t.groups].filter(n=>{let a=`${n.name}-${n.binding}`;return r.has(a)?false:(r.add(a),true)});return {structs:s,groups:o}}var Nc=p(()=>{});var $n,be,Ls=p(()=>{Gs();Dc();Uc();zc();Vc();Nc();$n=Object.create(null),be=class i{constructor(t){this._layoutKey=0,this._attributeLocationsKey=0;let{fragment:e,vertex:r,layout:s,gpuLayout:o,name:n}=t;if(this.name=n,this.fragment=e,this.vertex=r,e.source===r.source){let a=Us(e.source);this.structsAndGroups=a;}else {let a=Us(r.source),l=Us(e.source);this.structsAndGroups=Hc(a,l);}this.layout=s??Wc(this.structsAndGroups),this.gpuLayout=o??Oc(this.structsAndGroups),this.autoAssignGlobalUniforms=this.layout[0]?.globalUniforms!==void 0,this.autoAssignLocalUniforms=this.layout[1]?.localUniforms!==void 0,this._generateProgramKey();}_generateProgramKey(){let{vertex:t,fragment:e}=this,r=t.source+e.source+t.entryPoint+e.entryPoint;this._layoutKey=cr(r,"program");}get attributeData(){return this._attributeData??(this._attributeData=Rc(this.vertex)),this._attributeData}destroy(){this.gpuLayout=null,this.layout=null,this.structsAndGroups=null,this.fragment=null,this.vertex=null;}static from(t){let e=`${t.vertex.source}:${t.fragment.source}:${t.fragment.entryPoint}:${t.vertex.entryPoint}`;return $n[e]||($n[e]=new i(t)),$n[e]}};});function jn(i,t,e){if(i)for(let r in i){let s=r.toLocaleLowerCase(),o=t[s];if(o){let n=i[r];r==="header"&&(n=n.replace(/@in\s+[^;]+;\s*/g,"").replace(/@out\s+[^;]+;\s*/g,"")),e&&o.push(`//----${e}----//`),o.push(n);}else z(`${r} placement hook does not exist in shader`);}}var Yc=p(()=>{Tt();});function qn(i){let t={};return (i.match(Kg)?.map(r=>r.replace(/[{()}]/g,""))??[]).forEach(r=>{t[r]=[];}),t}var Kg,Xc=p(()=>{Kg=/\{\{(.*?)\}\}/g;});function $c(i,t){let e,r=/@in\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function Kn(i,t,e=false){let r=[];$c(t,r),i.forEach(a=>{a.header&&$c(a.header,r);});let s=r;e&&s.sort();let o=s.map((a,l)=>` @location(${l}) ${a},`).join(`
40
- `),n=t.replace(/@in\s+[^;]+;\s*/g,"");return n=n.replace("{{in}}",`
41
- ${o}
42
- `),n}var jc=p(()=>{});function qc(i,t){let e,r=/@out\s+([^;]+);/g;for(;(e=r.exec(i))!==null;)t.push(e[1]);}function Zg(i){let e=/\b(\w+)\s*:/g.exec(i);return e?e[1]:""}function Qg(i){let t=/@.*?\s+/g;return i.replace(t,"")}function Kc(i,t){let e=[];qc(t,e),i.forEach(l=>{l.header&&qc(l.header,e);});let r=0,s=e.sort().map(l=>l.indexOf("builtin")>-1?l:`@location(${r++}) ${l}`).join(`,
43
- `),o=e.sort().map(l=>` var ${Qg(l)};`).join(`
44
- `),n=`return VSOutput(
45
- ${e.sort().map(l=>` ${Zg(l)}`).join(`,
46
- `)});`,a=t.replace(/@out\s+[^;]+;\s*/g,"");return a=a.replace("{{struct}}",`
47
- ${s}
48
- `),a=a.replace("{{start}}",`
49
- ${o}
50
- `),a=a.replace("{{return}}",`
51
- ${n}
52
- `),a}var Zc=p(()=>{});function Zn(i,t){let e=i;for(let r in t){let s=t[r];s.join(`
53
- `).length?e=e.replace(`{{${r}}}`,`//-----${r} START-----//
54
- ${s.join(`
55
- `)}
56
- //----${r} FINISH----//`):e=e.replace(`{{${r}}}`,"");}return e}var Qc=p(()=>{});function Jc({template:i,bits:t}){let e=ed(i,t);if(ve[e])return ve[e];let{vertex:r,fragment:s}=tx(i,t);return ve[e]=rd(r,s,t),ve[e]}function td({template:i,bits:t}){let e=ed(i,t);return ve[e]||(ve[e]=rd(i.vertex,i.fragment,t)),ve[e]}function tx(i,t){let e=t.map(n=>n.vertex).filter(n=>!!n),r=t.map(n=>n.fragment).filter(n=>!!n),s=Kn(e,i.vertex,true);s=Kc(e,s);let o=Kn(r,i.fragment,true);return {vertex:s,fragment:o}}function ed(i,t){return t.map(e=>(Qn.has(e)||Qn.set(e,Jg++),Qn.get(e))).sort((e,r)=>e-r).join("-")+i.vertex+i.fragment}function rd(i,t,e){let r=qn(i),s=qn(t);return e.forEach(o=>{jn(o.vertex,r,o.name),jn(o.fragment,s,o.name);}),{vertex:Zn(i,r),fragment:Zn(t,s)}}var ve,Qn,Jg,id=p(()=>{Yc();Xc();jc();Zc();Qc();ve=Object.create(null),Qn=new Map,Jg=0;});var sd,od,nd,ad,ld=p(()=>{sd=`
57
- @in aPosition: vec2<f32>;
58
- @in aUV: vec2<f32>;
59
-
60
- @out @builtin(position) vPosition: vec4<f32>;
61
- @out vUV : vec2<f32>;
62
- @out vColor : vec4<f32>;
63
-
64
- {{header}}
65
-
66
- struct VSOutput {
67
- {{struct}}
68
- };
69
-
70
- @vertex
71
- fn main( {{in}} ) -> VSOutput {
72
-
73
- var worldTransformMatrix = globalUniforms.uWorldTransformMatrix;
74
- var modelMatrix = mat3x3<f32>(
75
- 1.0, 0.0, 0.0,
76
- 0.0, 1.0, 0.0,
77
- 0.0, 0.0, 1.0
78
- );
79
- var position = aPosition;
80
- var uv = aUV;
81
-
82
- {{start}}
83
-
84
- vColor = vec4<f32>(1., 1., 1., 1.);
85
-
86
- {{main}}
87
-
88
- vUV = uv;
89
-
90
- var modelViewProjectionMatrix = globalUniforms.uProjectionMatrix * worldTransformMatrix * modelMatrix;
91
-
92
- vPosition = vec4<f32>((modelViewProjectionMatrix * vec3<f32>(position, 1.0)).xy, 0.0, 1.0);
93
-
94
- vColor *= globalUniforms.uWorldColorAlpha;
95
-
96
- {{end}}
97
-
98
- {{return}}
99
- };
100
- `,od=`
101
- @in vUV : vec2<f32>;
102
- @in vColor : vec4<f32>;
103
-
104
- {{header}}
105
-
106
- @fragment
107
- fn main(
108
- {{in}}
109
- ) -> @location(0) vec4<f32> {
110
-
111
- {{start}}
112
-
113
- var outColor:vec4<f32>;
114
-
115
- {{main}}
116
-
117
- var finalColor:vec4<f32> = outColor * vColor;
118
-
119
- {{end}}
120
-
121
- return finalColor;
122
- };
123
- `,nd=`
124
- in vec2 aPosition;
125
- in vec2 aUV;
126
-
127
- out vec4 vColor;
128
- out vec2 vUV;
129
-
130
- {{header}}
131
-
132
- void main(void){
133
-
134
- mat3 worldTransformMatrix = uWorldTransformMatrix;
135
- mat3 modelMatrix = mat3(
136
- 1.0, 0.0, 0.0,
137
- 0.0, 1.0, 0.0,
138
- 0.0, 0.0, 1.0
139
- );
140
- vec2 position = aPosition;
141
- vec2 uv = aUV;
142
-
143
- {{start}}
144
-
145
- vColor = vec4(1.);
146
-
147
- {{main}}
148
-
149
- vUV = uv;
150
-
151
- mat3 modelViewProjectionMatrix = uProjectionMatrix * worldTransformMatrix * modelMatrix;
152
-
153
- gl_Position = vec4((modelViewProjectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);
154
-
155
- vColor *= uWorldColorAlpha;
156
-
157
- {{end}}
158
- }
159
- `,ad=`
160
-
161
- in vec4 vColor;
162
- in vec2 vUV;
163
-
164
- out vec4 finalColor;
165
-
166
- {{header}}
167
-
168
- void main(void) {
169
-
170
- {{start}}
171
-
172
- vec4 outColor;
173
-
174
- {{main}}
175
-
176
- finalColor = outColor * vColor;
177
-
178
- {{end}}
179
- }
180
- `;});var hd,ud,cd=p(()=>{hd={name:"global-uniforms-bit",vertex:{header:`
181
- struct GlobalUniforms {
182
- uProjectionMatrix:mat3x3<f32>,
183
- uWorldTransformMatrix:mat3x3<f32>,
184
- uWorldColorAlpha: vec4<f32>,
185
- uResolution: vec2<f32>,
186
- }
187
-
188
- @group(0) @binding(0) var<uniform> globalUniforms : GlobalUniforms;
189
- `}},ud={name:"global-uniforms-bit",vertex:{header:`
190
- uniform mat3 uProjectionMatrix;
191
- uniform mat3 uWorldTransformMatrix;
192
- uniform vec4 uWorldColorAlpha;
193
- uniform vec2 uResolution;
194
- `}};});function pr({bits:i,name:t}){let e=Jc({template:{fragment:od,vertex:sd},bits:[hd,...i]});return be.from({name:t,vertex:{source:e.vertex,entryPoint:"main"},fragment:{source:e.fragment,entryPoint:"main"}})}function mr({bits:i,name:t}){return new dr({name:t,...td({template:{vertex:nd,fragment:ad},bits:[ud,...i]})})}var Os=p(()=>{Rs();Ls();id();ld();cd();});var zs,Ws,Jn=p(()=>{zs={name:"color-bit",vertex:{header:`
195
- @in aColor: vec4<f32>;
196
- `,main:`
197
- vColor *= vec4<f32>(aColor.rgb * aColor.a, aColor.a);
198
- `}},Ws={name:"color-bit",vertex:{header:`
199
- in vec4 aColor;
200
- `,main:`
201
- vColor *= vec4(aColor.rgb * aColor.a, aColor.a);
202
- `}};});function ex(i){let t=[];if(i===1)t.push("@group(1) @binding(0) var textureSource1: texture_2d<f32>;"),t.push("@group(1) @binding(1) var textureSampler1: sampler;");else {let e=0;for(let r=0;r<i;r++)t.push(`@group(1) @binding(${e++}) var textureSource${r+1}: texture_2d<f32>;`),t.push(`@group(1) @binding(${e++}) var textureSampler${r+1}: sampler;`);}return t.join(`
203
- `)}function rx(i){let t=[];if(i===1)t.push("outColor = textureSampleGrad(textureSource1, textureSampler1, vUV, uvDx, uvDy);");else {t.push("switch vTextureId {");for(let e=0;e<i;e++)e===i-1?t.push(" default:{"):t.push(` case ${e}:{`),t.push(` outColor = textureSampleGrad(textureSource${e+1}, textureSampler${e+1}, vUV, uvDx, uvDy);`),t.push(" break;}");t.push("}");}return t.join(`
204
- `)}function Vs(i){return ta[i]||(ta[i]={name:"texture-batch-bit",vertex:{header:`
205
- @in aTextureIdAndRound: vec2<u32>;
206
- @out @interpolate(flat) vTextureId : u32;
207
- `,main:`
208
- vTextureId = aTextureIdAndRound.y;
209
- `,end:`
210
- if(aTextureIdAndRound.x == 1)
211
- {
212
- vPosition = vec4<f32>(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
213
- }
214
- `},fragment:{header:`
215
- @in @interpolate(flat) vTextureId: u32;
216
-
217
- ${ex(i)}
218
- `,main:`
219
- var uvDx = dpdx(vUV);
220
- var uvDy = dpdy(vUV);
221
-
222
- ${rx(i)}
223
- `}}),ta[i]}function ix(i){let t=[];for(let e=0;e<i;e++)e>0&&t.push("else"),e<i-1&&t.push(`if(vTextureId < ${e}.5)`),t.push("{"),t.push(` outColor = texture(uTextures[${e}], vUV);`),t.push("}");return t.join(`
224
- `)}function Hs(i){return ea[i]||(ea[i]={name:"texture-batch-bit",vertex:{header:`
225
- in vec2 aTextureIdAndRound;
226
- out float vTextureId;
227
-
228
- `,main:`
229
- vTextureId = aTextureIdAndRound.y;
230
- `,end:`
231
- if(aTextureIdAndRound.x == 1.)
232
- {
233
- gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
234
- }
235
- `},fragment:{header:`
236
- in float vTextureId;
237
-
238
- uniform sampler2D uTextures[${i}];
239
-
240
- `,main:`
241
-
242
- ${ix(i)}
243
- `}}),ea[i]}var ta,ea,ra=p(()=>{ta={};ea={};});var gr,xr,Ns=p(()=>{gr={name:"round-pixels-bit",vertex:{header:`
244
- fn roundPixels(position: vec2<f32>, targetSize: vec2<f32>) -> vec2<f32>
245
- {
246
- return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
247
- }
248
- `}},xr={name:"round-pixels-bit",vertex:{header:`
249
- vec2 roundPixels(vec2 position, vec2 targetSize)
250
- {
251
- return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
252
- }
253
- `}};});var ia,dd,fd=p(()=>{ia=["f32","i32","vec2<f32>","vec3<f32>","vec4<f32>","mat2x2<f32>","mat3x3<f32>","mat4x4<f32>","mat3x2<f32>","mat4x2<f32>","mat2x3<f32>","mat4x3<f32>","mat2x4<f32>","mat3x4<f32>","vec2<i32>","vec3<i32>","vec4<i32>"],dd=ia.reduce((i,t)=>(i[t]=true,i),{});});function pd(i,t){switch(i){case "f32":return 0;case "vec2<f32>":return new Float32Array(2*t);case "vec3<f32>":return new Float32Array(3*t);case "vec4<f32>":return new Float32Array(4*t);case "mat2x2<f32>":return new Float32Array([1,0,0,1]);case "mat3x3<f32>":return new Float32Array([1,0,0,0,1,0,0,0,1]);case "mat4x4<f32>":return new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}return null}var md=p(()=>{});var gd,Ct,Se=p(()=>{Mt();Gs();fd();md();gd=class xd{constructor(t,e){this._touched=0,this.uid=Y("uniform"),this._resourceType="uniformGroup",this._resourceId=Y("resource"),this.isUniformGroup=true,this._dirtyId=0,this.destroyed=false,e={...xd.defaultOptions,...e},this.uniformStructures=t;let r={};for(let s in t){let o=t[s];if(o.name=s,o.size=o.size??1,!dd[o.type])throw new Error(`Uniform type ${o.type} is not supported. Supported uniform types are: ${ia.join(", ")}`);o.value??(o.value=pd(o.type,o.size)),r[s]=o.value;}this.uniforms=r,this._dirtyId=1,this.ubo=e.ubo,this.isStatic=e.isStatic,this._signature=cr(Object.keys(r).map(s=>`${s}-${t[s].type}`).join("-"),"uniform-group");}update(){this._dirtyId++;}};gd.defaultOptions={ubo:false,isStatic:false};Ct=gd;});function Ys(i){let t=_d[i];if(t)return t;let e=new Int32Array(i);for(let r=0;r<i;r++)e[r]=r;return t=_d[i]=new Ct({uTextures:{value:e,type:"i32",size:i}},{isStatic:true}),t}var _d,sa=p(()=>{Se();_d={};});var ee,ci=p(()=>{ee=(i=>(i[i.WEBGL=1]="WEBGL",i[i.WEBGPU=2]="WEBGPU",i[i.BOTH=3]="BOTH",i))(ee||{});});var re,di=p(()=>{Et();Mt();Rs();ai();Ls();ci();Se();re=class i extends H{constructor(t){super(),this.uid=Y("shader"),this._uniformBindMap=Object.create(null),this._ownedBindGroups=[];let{gpuProgram:e,glProgram:r,groups:s,resources:o,compatibleRenderers:n,groupMap:a}=t;this.gpuProgram=e,this.glProgram=r,n===void 0&&(n=0,e&&(n|=ee.WEBGPU),r&&(n|=ee.WEBGL)),this.compatibleRenderers=n;let l={};if(!o&&!s&&(o={}),o&&s)throw new Error("[Shader] Cannot have both resources and groups");if(!e&&s&&!a)throw new Error("[Shader] No group map or WebGPU shader provided - consider using resources instead.");if(!e&&s&&a)for(let h in a)for(let u in a[h]){let c=a[h][u];l[c]={group:h,binding:u,name:c};}else if(e&&s&&!a){let h=e.structsAndGroups.groups;a={},h.forEach(u=>{a[u.group]=a[u.group]||{},a[u.group][u.binding]=u.name,l[u.name]=u;});}else if(o){s={},a={},e&&e.structsAndGroups.groups.forEach(c=>{a[c.group]=a[c.group]||{},a[c.group][c.binding]=c.name,l[c.name]=c;});let h=0;for(let u in o)l[u]||(s[99]||(s[99]=new Ht,this._ownedBindGroups.push(s[99])),l[u]={group:99,binding:h,name:u},a[99]=a[99]||{},a[99][h]=u,h++);for(let u in o){let c=u,f=o[u];!f.source&&!f._resourceType&&(f=new Ct(f));let d=l[c];d&&(s[d.group]||(s[d.group]=new Ht,this._ownedBindGroups.push(s[d.group])),s[d.group].setResource(f,d.binding));}}this.groups=s,this._uniformBindMap=a,this.resources=this._buildResourceAccessor(s,l);}addResource(t,e,r){var s,o;(s=this._uniformBindMap)[e]||(s[e]={}),(o=this._uniformBindMap[e])[r]||(o[r]=t),this.groups[e]||(this.groups[e]=new Ht,this._ownedBindGroups.push(this.groups[e]));}_buildResourceAccessor(t,e){let r={};for(let s in e){let o=e[s];Object.defineProperty(r,o.name,{get(){return t[o.group].getResource(o.binding)},set(n){t[o.group].setResource(n,o.binding);}});}return r}destroy(t=false){this.emit("destroy",this),t&&(this.gpuProgram?.destroy(),this.glProgram?.destroy()),this.gpuProgram=null,this.glProgram=null,this.removeAllListeners(),this._uniformBindMap=null,this._ownedBindGroups.forEach(e=>{e.destroy();}),this._ownedBindGroups=null,this.resources=null,this.groups=null;}static from(t){let{gpu:e,gl:r,...s}=t,o,n;return e&&(o=be.from(e)),r&&(n=dr.from(r)),new i({gpuProgram:o,glProgram:n,...s})}};});var Xs,yd=p(()=>{Os();Jn();ra();Ns();sa();di();Xs=class extends re{constructor(t){let e=mr({name:"batch",bits:[Ws,Hs(t),xr]}),r=pr({name:"batch",bits:[zs,Vs(t),gr]});super({glProgram:e,gpuProgram:r,resources:{batchSamplers:Ys(t)}});}};});var oa,bd,Sd,Td=p(()=>{k();mc();yc();yd();oa=null,bd=class vd extends pc{constructor(t){super(t),this.geometry=new ks,this.name=vd.extension.name,this.vertexSize=6,oa??(oa=new Xs(t.maxTextures)),this.shader=oa;}packAttributes(t,e,r,s,o){let n=o<<16|t.roundPixels&65535,a=t.transform,l=a.a,h=a.b,u=a.c,c=a.d,f=a.tx,d=a.ty,{positions:m,uvs:x}=t,g=t.color,_=t.attributeOffset,y=_+t.attributeSize;for(let b=_;b<y;b++){let v=b*2,P=m[v],T=m[v+1];e[s++]=l*P+u*T+f,e[s++]=c*T+h*P+d,e[s++]=x[v],e[s++]=x[v+1],r[s++]=g,r[s++]=n;}}packQuadAttributes(t,e,r,s,o){let n=t.texture,a=t.transform,l=a.a,h=a.b,u=a.c,c=a.d,f=a.tx,d=a.ty,m=t.bounds,x=m.maxX,g=m.minX,_=m.maxY,y=m.minY,b=n.uvs,v=t.color,P=o<<16|t.roundPixels&65535;e[s+0]=l*g+u*y+f,e[s+1]=c*y+h*g+d,e[s+2]=b.x0,e[s+3]=b.y0,r[s+4]=v,r[s+5]=P,e[s+6]=l*x+u*y+f,e[s+7]=c*y+h*x+d,e[s+8]=b.x1,e[s+9]=b.y1,r[s+10]=v,r[s+11]=P,e[s+12]=l*x+u*_+f,e[s+13]=c*_+h*x+d,e[s+14]=b.x2,e[s+15]=b.y2,r[s+16]=v,r[s+17]=P,e[s+18]=l*g+u*_+f,e[s+19]=c*_+h*g+d,e[s+20]=b.x3,e[s+21]=b.y3,r[s+22]=v,r[s+23]=P;}};bd.extension={type:[S.Batcher],name:"default"};Sd=bd;});function wd(i,t,e,r,s,o,n,a=null){let l=0;e*=t,s*=o;let h=a.a,u=a.b,c=a.c,f=a.d,d=a.tx,m=a.ty;for(;l<n;){let x=i[e],g=i[e+1];r[s]=h*x+c*g+d,r[s+1]=u*x+f*g+m,s+=o,e+=t,l++;}}function Pd(i,t,e,r){let s=0;for(t*=e;s<r;)i[t]=0,i[t+1]=0,t+=e,s++;}var Md=p(()=>{});function na(i,t,e,r,s){let o=t.a,n=t.b,a=t.c,l=t.d,h=t.tx,u=t.ty;e||(e=0),r||(r=2),s||(s=i.length/r-e);let c=e*r;for(let f=0;f<s;f++){let d=i[c],m=i[c+1];i[c]=o*d+a*m+h,i[c+1]=n*d+l*m+u,c+=r;}}var Ad=p(()=>{});var sx,Oe,aa=p(()=>{rt();Ko();sx=new M,Oe=class{constructor(){this.packAsQuad=false,this.batcherName="default",this.topology="triangle-list",this.applyTransform=true,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.renderable&&this.applyTransform?this.renderable.groupBlendMode:"normal"}get color(){let t=this.baseColor,e=t>>16|t&65280|(t&255)<<16,r=this.renderable;return r?ls(e,r.groupColor)+(this.alpha*r.groupAlpha*255<<24):e+(this.alpha*255<<24)}get transform(){return this.renderable?.groupTransform||sx}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,t.topology=this.topology;}reset(){this.applyTransform=true,this.renderable=null,this.topology="triangle-list";}};});var _r,Cd,Ed,Fd=p(()=>{k();_r={extension:{type:S.ShapeBuilder,name:"circle"},build(i,t){let e,r,s,o,n,a;if(i.type==="circle"){let v=i;if(n=a=v.radius,n<=0)return false;e=v.x,r=v.y,s=o=0;}else if(i.type==="ellipse"){let v=i;if(n=v.halfWidth,a=v.halfHeight,n<=0||a<=0)return false;e=v.x,r=v.y,s=o=0;}else {let v=i,P=v.width/2,T=v.height/2;e=v.x+P,r=v.y+T,n=a=Math.max(0,Math.min(v.radius,Math.min(P,T))),s=P-n,o=T-a;}if(s<0||o<0)return false;let l=Math.ceil(2.3*Math.sqrt(n+a)),h=l*8+(s?4:0)+(o?4:0);if(h===0)return false;if(l===0)return t[0]=t[6]=e+s,t[1]=t[3]=r+o,t[2]=t[4]=e-s,t[5]=t[7]=r-o,true;let u=0,c=l*4+(s?2:0)+2,f=c,d=h,m=s+n,x=o,g=e+m,_=e-m,y=r+x;if(t[u++]=g,t[u++]=y,t[--c]=y,t[--c]=_,o){let v=r-x;t[f++]=_,t[f++]=v,t[--d]=v,t[--d]=g;}for(let v=1;v<l;v++){let P=Math.PI/2*(v/l),T=s+Math.cos(P)*n,w=o+Math.sin(P)*a,D=e+T,A=e-T,E=r+w,C=r-w;t[u++]=D,t[u++]=E,t[--c]=E,t[--c]=A,t[f++]=A,t[f++]=C,t[--d]=C,t[--d]=D;}m=s,x=o+a,g=e+m,_=e-m,y=r+x;let b=r-x;return t[u++]=g,t[u++]=y,t[--d]=b,t[--d]=g,s&&(t[u++]=_,t[u++]=y,t[--d]=b,t[--d]=_),true},triangulate(i,t,e,r,s,o){if(i.length===0)return;let n=0,a=0;for(let u=0;u<i.length;u+=2)n+=i[u],a+=i[u+1];n/=i.length/2,a/=i.length/2;let l=r;t[l*e]=n,t[l*e+1]=a;let h=l++;for(let u=0;u<i.length;u+=2)t[l*e]=i[u],t[l*e+1]=i[u+1],u>0&&(s[o++]=l,s[o++]=h,s[o++]=l-1),l++;s[o++]=h+1,s[o++]=h,s[o++]=l-1;}},Cd={..._r,extension:{..._r.extension,name:"ellipse"}},Ed={..._r,extension:{..._r.extension,name:"roundedRectangle"}};});function Bd(i){let t=i.length;if(t<6)return 1;let e=0;for(let r=0,s=i[t-2],o=i[t-1];r<t;r+=2){let n=i[r],a=i[r+1];e+=(n-s)*(a+o),s=n,o=a;}return e<0?-1:1}var kd=p(()=>{});function Gd(i,t,e,r,s,o,n,a){let l=i-e*s,h=t-r*s,u=i+e*o,c=t+r*o,f,d;n?(f=r,d=-e):(f=-r,d=e);let m=l+f,x=h+d,g=u+f,_=c+d;return a.push(m,x),a.push(g,_),2}function ze(i,t,e,r,s,o,n,a){let l=e-i,h=r-t,u=Math.atan2(l,h),c=Math.atan2(s-i,o-t);a&&u<c?u+=Math.PI*2:!a&&u>c&&(c+=Math.PI*2);let f=u,d=c-u,m=Math.abs(d),x=Math.sqrt(l*l+h*h),g=(15*m*Math.sqrt(x)/Math.PI>>0)+1,_=d/g;if(f+=_,a){n.push(i,t),n.push(e,r);for(let y=1,b=f;y<g;y++,b+=_)n.push(i,t),n.push(i+Math.sin(b)*x,t+Math.cos(b)*x);n.push(i,t),n.push(s,o);}else {n.push(e,r),n.push(i,t);for(let y=1,b=f;y<g;y++,b+=_)n.push(i+Math.sin(b)*x,t+Math.cos(b)*x),n.push(i,t);n.push(s,o),n.push(i,t);}return g*2}function Id(i,t,e,r,s,o){let n=1e-4;if(i.length===0)return;let a=t,l=a.alignment;if(t.alignment!==.5){let et=Bd(i);l=(l-.5)*et+.5;}let h=new N(i[0],i[1]),u=new N(i[i.length-2],i[i.length-1]),c=r,f=Math.abs(h.x-u.x)<n&&Math.abs(h.y-u.y)<n;if(c){i=i.slice(),f&&(i.pop(),i.pop(),u.set(i[i.length-2],i[i.length-1]));let et=(h.x+u.x)*.5,xe=(u.y+h.y)*.5;i.unshift(et,xe),i.push(et,xe);}let d=s,m=i.length/2,x=i.length,g=d.length/2,_=a.width/2,y=_*_,b=a.miterLimit*a.miterLimit,v=i[0],P=i[1],T=i[2],w=i[3],D=0,A=0,E=-(P-w),C=v-T,O=0,j=0,yt=Math.sqrt(E*E+C*C);E/=yt,C/=yt,E*=_,C*=_;let Ir=l,L=(1-Ir)*2,W=Ir*2;c||(a.cap==="round"?x+=ze(v-E*(L-W)*.5,P-C*(L-W)*.5,v-E*L,P-C*L,v+E*W,P+C*W,d,true)+2:a.cap==="square"&&(x+=Gd(v,P,E,C,L,W,true,d))),d.push(v-E*L,P-C*L),d.push(v+E*W,P+C*W);for(let et=1;et<m-1;++et){v=i[(et-1)*2],P=i[(et-1)*2+1],T=i[et*2],w=i[et*2+1],D=i[(et+1)*2],A=i[(et+1)*2+1],E=-(P-w),C=v-T,yt=Math.sqrt(E*E+C*C),E/=yt,C/=yt,E*=_,C*=_,O=-(w-A),j=T-D,yt=Math.sqrt(O*O+j*j),O/=yt,j/=yt,O*=_,j*=_;let xe=T-v,Rr=P-w,Dr=T-D,Ur=A-w,Sl=xe*Dr+Rr*Ur,Ni=Rr*Dr-Ur*xe,Lr=Ni<0;if(Math.abs(Ni)<.001*Math.abs(Sl)){d.push(T-E*L,w-C*L),d.push(T+E*W,w+C*W),Sl>=0&&(a.join==="round"?x+=ze(T,w,T-E*L,w-C*L,T-O*L,w-j*L,d,false)+4:x+=2,d.push(T-O*W,w-j*W),d.push(T+O*L,w+j*L));continue}let Tl=(-E+v)*(-C+w)-(-E+T)*(-C+P),wl=(-O+D)*(-j+w)-(-O+T)*(-j+A),Yi=(xe*wl-Dr*Tl)/Ni,Xi=(Ur*Tl-Rr*wl)/Ni,Go=(Yi-T)*(Yi-T)+(Xi-w)*(Xi-w),Me=T+(Yi-T)*L,Ae=w+(Xi-w)*L,Ce=T-(Yi-T)*W,Ee=w-(Xi-w)*W,qm=Math.min(xe*xe+Rr*Rr,Dr*Dr+Ur*Ur),Pl=Lr?L:W,Km=qm+Pl*Pl*y;Go<=Km?a.join==="bevel"||Go/y>b?(Lr?(d.push(Me,Ae),d.push(T+E*W,w+C*W),d.push(Me,Ae),d.push(T+O*W,w+j*W)):(d.push(T-E*L,w-C*L),d.push(Ce,Ee),d.push(T-O*L,w-j*L),d.push(Ce,Ee)),x+=2):a.join==="round"?Lr?(d.push(Me,Ae),d.push(T+E*W,w+C*W),x+=ze(T,w,T+E*W,w+C*W,T+O*W,w+j*W,d,true)+4,d.push(Me,Ae),d.push(T+O*W,w+j*W)):(d.push(T-E*L,w-C*L),d.push(Ce,Ee),x+=ze(T,w,T-E*L,w-C*L,T-O*L,w-j*L,d,false)+4,d.push(T-O*L,w-j*L),d.push(Ce,Ee)):(d.push(Me,Ae),d.push(Ce,Ee)):(d.push(T-E*L,w-C*L),d.push(T+E*W,w+C*W),a.join==="round"?Lr?x+=ze(T,w,T+E*W,w+C*W,T+O*W,w+j*W,d,true)+2:x+=ze(T,w,T-E*L,w-C*L,T-O*L,w-j*L,d,false)+2:a.join==="miter"&&Go/y<=b&&(Lr?(d.push(Ce,Ee),d.push(Ce,Ee)):(d.push(Me,Ae),d.push(Me,Ae)),x+=2),d.push(T-O*L,w-j*L),d.push(T+O*W,w+j*W),x+=2);}v=i[(m-2)*2],P=i[(m-2)*2+1],T=i[(m-1)*2],w=i[(m-1)*2+1],E=-(P-w),C=v-T,yt=Math.sqrt(E*E+C*C),E/=yt,C/=yt,E*=_,C*=_,d.push(T-E*L,w-C*L),d.push(T+E*W,w+C*W),c||(a.cap==="round"?x+=ze(T-E*(L-W)*.5,w-C*(L-W)*.5,T-E*L,w-C*L,T+E*W,w+C*W,d,false)+2:a.cap==="square"&&(x+=Gd(T,w,E,C,L,W,false,d)));let jm=1e-4*1e-4;for(let et=g;et<x+g-2;++et)v=d[et*2],P=d[et*2+1],T=d[(et+1)*2],w=d[(et+1)*2+1],D=d[(et+2)*2],A=d[(et+2)*2+1],!(Math.abs(v*(w-A)+T*(A-P)+D*(P-w))<jm)&&o.push(et,et+1,et+2);}var Rd=p(()=>{jt();kd();});function Dd(i,t,e,r){let s=1e-4;if(i.length===0)return;let o=i[0],n=i[1],a=i[i.length-2],l=i[i.length-1],h=t||Math.abs(o-a)<s&&Math.abs(n-l)<s,u=e,c=i.length/2,f=u.length/2;for(let d=0;d<c;d++)u.push(i[d*2]),u.push(i[d*2+1]);for(let d=0;d<c-1;d++)r.push(f+d,f+d+1);h&&r.push(f+c-1,f);}var Ud=p(()=>{});function qs(i,t,e=2){let r=t&&t.length,s=r?t[0]*e:i.length,o=Od(i,0,s,e,true),n=[];if(!o||o.next===o.prev)return n;let a,l,h;if(r&&(o=cx(i,t,o,e)),i.length>80*e){a=i[0],l=i[1];let u=a,c=l;for(let f=e;f<s;f+=e){let d=i[f],m=i[f+1];d<a&&(a=d),m<l&&(l=m),d>u&&(u=d),m>c&&(c=m);}h=Math.max(u-a,c-l),h=h!==0?32767/h:0;}return pi(o,n,e,a,l,h,0),n}function Od(i,t,e,r,s){let o;if(s===Sx(i,t,e,r)>0)for(let n=t;n<e;n+=r)o=Ld(n/r|0,i[n],i[n+1],o);else for(let n=e-r;n>=t;n-=r)o=Ld(n/r|0,i[n],i[n+1],o);return o&&yr(o,o.next)&&(gi(o),o=o.next),o}function We(i,t){if(!i)return i;t||(t=i);let e=i,r;do if(r=false,!e.steiner&&(yr(e,e.next)||at(e.prev,e,e.next)===0)){if(gi(e),e=t=e.prev,e===e.next)break;r=true;}else e=e.next;while(r||e!==t);return t}function pi(i,t,e,r,s,o,n){if(!i)return;!n&&o&&gx(i,r,s,o);let a=i;for(;i.prev!==i.next;){let l=i.prev,h=i.next;if(o?lx(i,r,s,o):ax(i)){t.push(l.i,i.i,h.i),gi(i),i=h.next,a=h.next;continue}if(i=h,i===a){n?n===1?(i=hx(We(i),t),pi(i,t,e,r,s,o,2)):n===2&&ux(i,t,e,r,s,o):pi(We(i),t,e,r,s,o,1);break}}}function ax(i){let t=i.prev,e=i,r=i.next;if(at(t,e,r)>=0)return false;let s=t.x,o=e.x,n=r.x,a=t.y,l=e.y,h=r.y,u=Math.min(s,o,n),c=Math.min(a,l,h),f=Math.max(s,o,n),d=Math.max(a,l,h),m=r.next;for(;m!==t;){if(m.x>=u&&m.x<=f&&m.y>=c&&m.y<=d&&fi(s,a,o,l,n,h,m.x,m.y)&&at(m.prev,m,m.next)>=0)return false;m=m.next;}return true}function lx(i,t,e,r){let s=i.prev,o=i,n=i.next;if(at(s,o,n)>=0)return false;let a=s.x,l=o.x,h=n.x,u=s.y,c=o.y,f=n.y,d=Math.min(a,l,h),m=Math.min(u,c,f),x=Math.max(a,l,h),g=Math.max(u,c,f),_=la(d,m,t,e,r),y=la(x,g,t,e,r),b=i.prevZ,v=i.nextZ;for(;b&&b.z>=_&&v&&v.z<=y;){if(b.x>=d&&b.x<=x&&b.y>=m&&b.y<=g&&b!==s&&b!==n&&fi(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0||(b=b.prevZ,v.x>=d&&v.x<=x&&v.y>=m&&v.y<=g&&v!==s&&v!==n&&fi(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0))return false;v=v.nextZ;}for(;b&&b.z>=_;){if(b.x>=d&&b.x<=x&&b.y>=m&&b.y<=g&&b!==s&&b!==n&&fi(a,u,l,c,h,f,b.x,b.y)&&at(b.prev,b,b.next)>=0)return false;b=b.prevZ;}for(;v&&v.z<=y;){if(v.x>=d&&v.x<=x&&v.y>=m&&v.y<=g&&v!==s&&v!==n&&fi(a,u,l,c,h,f,v.x,v.y)&&at(v.prev,v,v.next)>=0)return false;v=v.nextZ;}return true}function hx(i,t){let e=i;do{let r=e.prev,s=e.next.next;!yr(r,s)&&Wd(r,e,e.next,s)&&mi(r,s)&&mi(s,r)&&(t.push(r.i,e.i,s.i),gi(e),gi(e.next),e=i=s),e=e.next;}while(e!==i);return We(e)}function ux(i,t,e,r,s,o){let n=i;do{let a=n.next.next;for(;a!==n.prev;){if(n.i!==a.i&&yx(n,a)){let l=Vd(n,a);n=We(n,n.next),l=We(l,l.next),pi(n,t,e,r,s,o,0),pi(l,t,e,r,s,o,0);return}a=a.next;}n=n.next;}while(n!==i)}function cx(i,t,e,r){let s=[];for(let o=0,n=t.length;o<n;o++){let a=t[o]*r,l=o<n-1?t[o+1]*r:i.length,h=Od(i,a,l,r,false);h===h.next&&(h.steiner=true),s.push(_x(h));}s.sort(dx);for(let o=0;o<s.length;o++)e=fx(s[o],e);return e}function dx(i,t){let e=i.x-t.x;if(e===0&&(e=i.y-t.y,e===0)){let r=(i.next.y-i.y)/(i.next.x-i.x),s=(t.next.y-t.y)/(t.next.x-t.x);e=r-s;}return e}function fx(i,t){let e=px(i,t);if(!e)return t;let r=Vd(e,i);return We(r,r.next),We(e,e.next)}function px(i,t){let e=t,r=i.x,s=i.y,o=-1/0,n;if(yr(i,e))return e;do{if(yr(i,e.next))return e.next;if(s<=e.y&&s>=e.next.y&&e.next.y!==e.y){let c=e.x+(s-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(c<=r&&c>o&&(o=c,n=e.x<e.next.x?e:e.next,c===r))return n}e=e.next;}while(e!==t);if(!n)return null;let a=n,l=n.x,h=n.y,u=1/0;e=n;do{if(r>=e.x&&e.x>=l&&r!==e.x&&zd(s<h?r:o,s,l,h,s<h?o:r,s,e.x,e.y)){let c=Math.abs(s-e.y)/(r-e.x);mi(e,i)&&(c<u||c===u&&(e.x>n.x||e.x===n.x&&mx(n,e)))&&(n=e,u=c);}e=e.next;}while(e!==a);return n}function mx(i,t){return at(i.prev,i,t.prev)<0&&at(t.next,i,i.next)<0}function gx(i,t,e,r){let s=i;do s.z===0&&(s.z=la(s.x,s.y,t,e,r)),s.prevZ=s.prev,s.nextZ=s.next,s=s.next;while(s!==i);s.prevZ.nextZ=null,s.prevZ=null,xx(s);}function xx(i){let t,e=1;do{let r=i,s;i=null;let o=null;for(t=0;r;){t++;let n=r,a=0;for(let h=0;h<e&&(a++,n=n.nextZ,!!n);h++);let l=e;for(;a>0||l>0&&n;)a!==0&&(l===0||!n||r.z<=n.z)?(s=r,r=r.nextZ,a--):(s=n,n=n.nextZ,l--),o?o.nextZ=s:i=s,s.prevZ=o,o=s;r=n;}o.nextZ=null,e*=2;}while(t>1);return i}function la(i,t,e,r,s){return i=(i-e)*s|0,t=(t-r)*s|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 _x(i){let t=i,e=i;do(t.x<e.x||t.x===e.x&&t.y<e.y)&&(e=t),t=t.next;while(t!==i);return e}function zd(i,t,e,r,s,o,n,a){return (s-n)*(t-a)>=(i-n)*(o-a)&&(i-n)*(r-a)>=(e-n)*(t-a)&&(e-n)*(o-a)>=(s-n)*(r-a)}function fi(i,t,e,r,s,o,n,a){return !(i===n&&t===a)&&zd(i,t,e,r,s,o,n,a)}function yx(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!bx(i,t)&&(mi(i,t)&&mi(t,i)&&vx(i,t)&&(at(i.prev,i,t.prev)||at(i,t.prev,t))||yr(i,t)&&at(i.prev,i,i.next)>0&&at(t.prev,t,t.next)>0)}function at(i,t,e){return (t.y-i.y)*(e.x-t.x)-(t.x-i.x)*(e.y-t.y)}function yr(i,t){return i.x===t.x&&i.y===t.y}function Wd(i,t,e,r){let s=js(at(i,t,e)),o=js(at(i,t,r)),n=js(at(e,r,i)),a=js(at(e,r,t));return !!(s!==o&&n!==a||s===0&&$s(i,e,t)||o===0&&$s(i,r,t)||n===0&&$s(e,i,r)||a===0&&$s(e,t,r))}function $s(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 js(i){return i>0?1:i<0?-1:0}function bx(i,t){let e=i;do{if(e.i!==i.i&&e.next.i!==i.i&&e.i!==t.i&&e.next.i!==t.i&&Wd(e,e.next,i,t))return true;e=e.next;}while(e!==i);return false}function mi(i,t){return at(i.prev,i,i.next)<0?at(i,t,i.next)>=0&&at(i,i.prev,t)>=0:at(i,t,i.prev)<0||at(i,i.next,t)<0}function vx(i,t){let e=i,r=false,s=(i.x+t.x)/2,o=(i.y+t.y)/2;do e.y>o!=e.next.y>o&&e.next.y!==e.y&&s<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(r=!r),e=e.next;while(e!==i);return r}function Vd(i,t){let e=ha(i.i,i.x,i.y),r=ha(t.i,t.x,t.y),s=i.next,o=t.prev;return i.next=t,t.prev=i,e.next=s,s.prev=e,r.next=e,e.prev=r,o.next=r,r.prev=o,r}function Ld(i,t,e,r){let s=ha(i,t,e);return r?(s.next=r.next,s.prev=r,r.next.prev=s,r.next=s):(s.prev=s,s.next=s),s}function gi(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 ha(i,t,e){return {i,x:t,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:false}}function Sx(i,t,e,r){let s=0;for(let o=t,n=e-r;o<e;o+=r)s+=(i[n]-i[o])*(i[o+1]+i[n+1]),n=o;return s}var Hd=p(()=>{});var Nd,Yd=p(()=>{Hd();Et();Nd=qs.default||qs;});function Ks(i,t,e,r,s,o,n){let a=Nd(i,t,2);if(!a)return;for(let h=0;h<a.length;h+=3)o[n++]=a[h]+s,o[n++]=a[h+1]+s,o[n++]=a[h+2]+s;let l=s*r;for(let h=0;h<i.length;h+=2)e[l]=i[h],e[l+1]=i[h+1],l+=r;}var ua=p(()=>{Yd();});var Tx,Xd,$d=p(()=>{k();ua();Tx=[],Xd={extension:{type:S.ShapeBuilder,name:"polygon"},build(i,t){for(let e=0;e<i.points.length;e++)t[e]=i.points[e];return true},triangulate(i,t,e,r,s,o){Ks(i,Tx,t,e,r,s,o);}};});var jd,qd=p(()=>{k();jd={extension:{type:S.ShapeBuilder,name:"rectangle"},build(i,t){let e=i,r=e.x,s=e.y,o=e.width,n=e.height;return o>0&&n>0?(t[0]=r,t[1]=s,t[2]=r+o,t[3]=s,t[4]=r+o,t[5]=s+n,t[6]=r,t[7]=s+n,true):false},triangulate(i,t,e,r,s,o){let n=0;r*=e,t[r+n]=i[0],t[r+n+1]=i[1],n+=e,t[r+n]=i[2],t[r+n+1]=i[3],n+=e,t[r+n]=i[6],t[r+n+1]=i[7],n+=e,t[r+n]=i[4],t[r+n+1]=i[5],n+=e;let a=r/e;s[o++]=a,s[o++]=a+1,s[o++]=a+2,s[o++]=a+1,s[o++]=a+3,s[o++]=a+2;}};});var Kd,Zd=p(()=>{k();Kd={extension:{type:S.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,true},triangulate(i,t,e,r,s,o){let n=0;r*=e,t[r+n]=i[0],t[r+n+1]=i[1],n+=e,t[r+n]=i[2],t[r+n+1]=i[3],n+=e,t[r+n]=i[4],t[r+n+1]=i[5];let a=r/e;s[o++]=a,s[o++]=a+1,s[o++]=a+2;}};});function Jd(i,t){for(let e=0;e<t.length;e++){let r=t[e];i.addColorStop(r.offset,r.color);}}function tf(i,t){let e=tt.get().createCanvas(i,t),r=e.getContext("2d");return {canvas:e,context:r}}function wx(i){let t=i[0]??{};return (typeof t=="number"||i[1])&&(F("8.5.2","use options object instead"),t={type:"linear",start:{x:i[0],y:i[1]},end:{x:i[2],y:i[3]},textureSpace:i[4],textureSize:i[5]??kt.defaultLinearOptions.textureSize}),t}var Qd,da,kt,br=p(()=>{It();Ut();rt();Ms();bt();Mt();ht();rn();Qd=[{offset:0,color:"white"},{offset:1,color:"black"}],da=class ca{constructor(...t){this.uid=Y("fillGradient"),this.type="linear",this.colorStops=[];let e=wx(t);e={...e.type==="radial"?ca.defaultRadialOptions:ca.defaultLinearOptions,...us(e)},this._textureSize=e.textureSize,this._wrapMode=e.wrapMode,e.type==="radial"?(this.center=e.center,this.outerCenter=e.outerCenter??this.center,this.innerRadius=e.innerRadius,this.outerRadius=e.outerRadius,this.scale=e.scale,this.rotation=e.rotation):(this.start=e.start,this.end=e.end),this.textureSpace=e.textureSpace,this.type=e.type,e.colorStops.forEach(s=>{this.addColorStop(s.offset,s.color);});}addColorStop(t,e){return this.colorStops.push({offset:t,color:Z.shared.setValue(e).toHexa()}),this}buildLinearGradient(){if(this.texture)return;let{x:t,y:e}=this.start,{x:r,y:s}=this.end,o=r-t,n=s-e,a=o<0||n<0;if(this._wrapMode==="clamp-to-edge"){if(o<0){let g=t;t=r,r=g,o*=-1;}if(n<0){let g=e;e=s,s=g,n*=-1;}}let l=this.colorStops.length?this.colorStops:Qd,h=this._textureSize,{canvas:u,context:c}=tf(h,1),f=a?c.createLinearGradient(this._textureSize,0,0,0):c.createLinearGradient(0,0,this._textureSize,0);Jd(f,l),c.fillStyle=f,c.fillRect(0,0,h,1),this.texture=new B({source:new Qt({resource:u,addressMode:this._wrapMode})});let d=Math.sqrt(o*o+n*n),m=Math.atan2(n,o),x=new M;x.scale(d/h,1),x.rotate(m),x.translate(t,e),this.textureSpace==="local"&&x.scale(h,h),this.transform=x;}buildGradient(){this.type==="linear"?this.buildLinearGradient():this.buildRadialGradient();}buildRadialGradient(){if(this.texture)return;let t=this.colorStops.length?this.colorStops:Qd,e=this._textureSize,{canvas:r,context:s}=tf(e,e),{x:o,y:n}=this.center,{x:a,y:l}=this.outerCenter,h=this.innerRadius,u=this.outerRadius,c=a-u,f=l-u,d=e/(u*2),m=(o-c)*d,x=(n-f)*d,g=s.createRadialGradient(m,x,h*d,(a-c)*d,(l-f)*d,u*d);Jd(g,t),s.fillStyle=t[t.length-1].color,s.fillRect(0,0,e,e),s.fillStyle=g,s.translate(m,x),s.rotate(this.rotation),s.scale(1,this.scale),s.translate(-m,-x),s.fillRect(0,0,e,e),this.texture=new B({source:new Qt({resource:r,addressMode:this._wrapMode})});let _=new M;_.scale(1/d,1/d),_.translate(c,f),this.textureSpace==="local"&&_.scale(e,e),this.transform=_;}get styleKey(){return this.uid}destroy(){this.texture?.destroy(true),this.texture=null,this.transform=null,this.colorStops=[],this.start=null,this.end=null,this.center=null,this.outerCenter=null;}};da.defaultLinearOptions={start:{x:0,y:0},end:{x:0,y:1},colorStops:[],textureSpace:"local",type:"linear",textureSize:256,wrapMode:"clamp-to-edge"};da.defaultRadialOptions={center:{x:.5,y:.5},innerRadius:0,outerRadius:.5,colorStops:[],scale:1,textureSpace:"local",type:"radial",textureSize:256,wrapMode:"clamp-to-edge"};kt=da;});function ef(i,t,e,r){let s=t.matrix?i.copyFrom(t.matrix).invert():i.identity();if(t.textureSpace==="local"){let n=e.getBounds(Mx);t.width&&n.pad(t.width);let{x:a,y:l}=n,h=1/n.width,u=1/n.height,c=-a*h,f=-l*u,d=s.a,m=s.b,x=s.c,g=s.d;s.a*=h,s.b*=h,s.c*=u,s.d*=u,s.tx=c*d+f*x+s.tx,s.ty=c*m+f*g+s.ty;}else s.translate(t.texture.frame.x,t.texture.frame.y),s.scale(1/t.texture.source.width,1/t.texture.source.height);let o=t.texture.source.style;return !(t.fill instanceof kt)&&o.addressMode==="clamp-to-edge"&&(o.addressMode="repeat",o.update()),r&&s.append(Px.copyFrom(r).invert()),s}var Px,Mx,rf=p(()=>{rt();Ft();br();Px=new M,Mx=new $;});function of(i,t){let{geometryData:e,batches:r}=t;r.length=0,e.indices.length=0,e.vertices.length=0,e.uvs.length=0;for(let s=0;s<i.instructions.length;s++){let o=i.instructions[s];if(o.action==="texture")Ex(o.data,r,e);else if(o.action==="fill"||o.action==="stroke"){let n=o.action==="stroke",a=o.data.path.shapePath,l=o.data.style,h=o.data.hole;n&&h&&sf(h.shapePath,l,true,r,e),h&&(a.shapePrimitives[a.shapePrimitives.length-1].holes=h.shapePath.shapePrimitives),sf(a,l,n,r,e);}}}function Ex(i,t,e){let r=[],s=Zs.rectangle,o=Ax;o.x=i.dx,o.y=i.dy,o.width=i.dw,o.height=i.dh;let n=i.transform;if(!s.build(o,r))return;let{vertices:a,uvs:l,indices:h}=e,u=h.length,c=a.length/2;n&&na(r,n),s.triangulate(r,a,2,c,h,u);let f=i.image,d=f.uvs;l.push(d.x0,d.y0,d.x1,d.y1,d.x3,d.y3,d.x2,d.y2);let m=mt.get(Oe);m.indexOffset=u,m.indexSize=h.length-u,m.attributeOffset=c,m.attributeSize=a.length/2-c,m.baseColor=i.style,m.alpha=i.alpha,m.texture=f,m.geometryData=e,t.push(m);}function sf(i,t,e,r,s){let{vertices:o,uvs:n,indices:a}=s;i.shapePrimitives.forEach(({shape:l,transform:h,holes:u})=>{let c=[],f=Zs[l.type];if(!f.build(l,c))return;let d=a.length,m=o.length/2,x="triangle-list";if(h&&na(c,h),e){let b=l.closePath??true,v=t;v.pixelLine?(Dd(c,b,o,a),x="line-list"):Id(c,v,false,b,o,a);}else if(u){let b=[],v=c.slice();Fx(u).forEach(T=>{b.push(v.length/2),v.push(...T);}),Ks(v,b,o,2,m,a,d);}else f.triangulate(c,o,2,m,a,d);let g=n.length/2,_=t.texture;if(_!==B.WHITE){let b=ef(Cx,t,l,h);wd(o,2,m,n,g,2,o.length/2-m,b);}else Pd(n,g,2,o.length/2-m);let y=mt.get(Oe);y.indexOffset=d,y.indexSize=a.length-d,y.attributeOffset=m,y.attributeSize=o.length/2-m,y.baseColor=t.color,y.alpha=t.alpha,y.texture=_,y.geometryData=s,y.topology=x,r.push(y);});}function Fx(i){let t=[];for(let e=0;e<i.length;e++){let r=i[e].shape,s=[];Zs[r.type].build(r,s)&&t.push(s);}return t}var Zs,Ax,Cx,nf=p(()=>{k();rt();Ft();Md();Ad();bt();Be();aa();Fd();Rd();Ud();$d();qd();Zd();rf();ua();Zs={};I.handleByMap(S.ShapeBuilder,Zs);I.add(jd,Xd,Kd,_r,Cd,Ed);Ax=new $,Cx=new M;});var fa,pa,ga,vr,Qs=p(()=>{k();tc();Td();tn();ht();Be();nf();fa=class{constructor(){this.batches=[],this.geometryData={vertices:[],uvs:[],indices:[]};}},pa=class{constructor(){this.instructions=new Qe;}init(t){this.batcher=new Sd({maxTextures:t}),this.instructions.reset();}get geometry(){return F(Jl,"GraphicsContextRenderData#geometry is deprecated, please use batcher.geometry instead."),this.batcher.geometry}},ga=class ma{constructor(t){this._gpuContextHash={},this._graphicsDataContextHash=Object.create(null),this._renderer=t,t.renderableGC.addManagedHash(this,"_gpuContextHash"),t.renderableGC.addManagedHash(this,"_graphicsDataContextHash");}init(t){ma.defaultOptions.bezierSmoothness=t?.bezierSmoothness??ma.defaultOptions.bezierSmoothness;}getContextRenderData(t){return this._graphicsDataContextHash[t.uid]||this._initContextRenderData(t)}updateGpuContext(t){let e=this._gpuContextHash[t.uid]||this._initContext(t);if(t.dirty){e?this._cleanGraphicsContextData(t):e=this._initContext(t),of(t,e);let r=t.batchMode;t.customShader||r==="no-batch"?e.isBatchable=false:r==="auto"?e.isBatchable=e.geometryData.vertices.length<400:e.isBatchable=true,t.dirty=false;}return e}getGpuContext(t){return this._gpuContextHash[t.uid]||this._initContext(t)}_initContextRenderData(t){let e=mt.get(pa,{maxTextures:this._renderer.limits.maxBatchableTextures}),{batches:r,geometryData:s}=this._gpuContextHash[t.uid],o=s.vertices.length,n=s.indices.length;for(let u=0;u<r.length;u++)r[u].applyTransform=false;let a=e.batcher;a.ensureAttributeBuffer(o),a.ensureIndexBuffer(n),a.begin();for(let u=0;u<r.length;u++){let c=r[u];a.add(c);}a.finish(e.instructions);let l=a.geometry;l.indexBuffer.setDataWithSize(a.indexBuffer,a.indexSize,true),l.buffers[0].setDataWithSize(a.attributeBuffer.float32View,a.attributeSize,true);let h=a.batches;for(let u=0;u<h.length;u++){let c=h[u];c.bindGroup=Ju(c.textures.textures,c.textures.count,this._renderer.limits.maxBatchableTextures);}return this._graphicsDataContextHash[t.uid]=e,e}_initContext(t){let e=new fa;return e.context=t,this._gpuContextHash[t.uid]=e,t.on("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[t.uid]}onGraphicsContextDestroy(t){this._cleanGraphicsContextData(t),t.off("destroy",this.onGraphicsContextDestroy,this),this._gpuContextHash[t.uid]=null;}_cleanGraphicsContextData(t){let e=this._gpuContextHash[t.uid];e.isBatchable||this._graphicsDataContextHash[t.uid]&&(mt.return(this.getContextRenderData(t)),this._graphicsDataContextHash[t.uid]=null),e.batches&&e.batches.forEach(r=>{mt.return(r);});}destroy(){for(let t in this._gpuContextHash)this._gpuContextHash[t]&&this.onGraphicsContextDestroy(this._gpuContextHash[t].context);}};ga.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"graphicsContext"};ga.defaultOptions={bezierSmoothness:.5};vr=ga;});var Bx,xa,_a,ya,ba,va,Sa,Ta,Ve,Js=p(()=>{Bx={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},xa=0,_a=1,ya=2,ba=3,va=4,Sa=5,Ta=class af{constructor(){this.data=0,this.blendMode="normal",this.polygonOffset=0,this.blend=true,this.depthMask=true;}get blend(){return !!(this.data&1<<xa)}set blend(t){!!(this.data&1<<xa)!==t&&(this.data^=1<<xa);}get offsets(){return !!(this.data&1<<_a)}set offsets(t){!!(this.data&1<<_a)!==t&&(this.data^=1<<_a);}set cullMode(t){if(t==="none"){this.culling=false;return}this.culling=true,this.clockwiseFrontFace=t==="front";}get cullMode(){return this.culling?this.clockwiseFrontFace?"front":"back":"none"}get culling(){return !!(this.data&1<<ya)}set culling(t){!!(this.data&1<<ya)!==t&&(this.data^=1<<ya);}get depthTest(){return !!(this.data&1<<ba)}set depthTest(t){!!(this.data&1<<ba)!==t&&(this.data^=1<<ba);}get depthMask(){return !!(this.data&1<<Sa)}set depthMask(t){!!(this.data&1<<Sa)!==t&&(this.data^=1<<Sa);}get clockwiseFrontFace(){return !!(this.data&1<<va)}set clockwiseFrontFace(t){!!(this.data&1<<va)!==t&&(this.data^=1<<va);}get blendMode(){return this._blendMode}set blendMode(t){this.blend=t!=="none",this._blendMode=t,this._blendModeId=Bx[t]||0;}get polygonOffset(){return this._polygonOffset}set polygonOffset(t){this.offsets=!!t,this._polygonOffset=t;}toString(){return `[pixi.js/core:State blendMode=${this.blendMode} clockwiseFrontFace=${this.clockwiseFrontFace} culling=${this.culling} depthMask=${this.depthMask} polygonOffset=${this.polygonOffset}]`}static for2d(){let t=new af;return t.depthTest=false,t.blend=true,t}};Ta.default2d=Ta.for2d();Ve=Ta;});function Te(i,t,e){let r=(i>>24&255)/255;t[e++]=(i&255)/255*r,t[e++]=(i>>8&255)/255*r,t[e++]=(i>>16&255)/255*r,t[e++]=r;}var xi=p(()=>{});var wa,_i,lf=p(()=>{k();Js();Be();xi();aa();wa=class{constructor(){this.batches=[],this.batched=false;}destroy(){this.batches.forEach(t=>{mt.return(t);}),this.batches.length=0;}},_i=class{constructor(t,e){this.state=Ve.for2d(),this.renderer=t,this._adaptor=e,this.renderer.runners.contextChange.add(this);}contextChange(){this._adaptor.contextChange(this.renderer);}validateRenderable(t){let e=t.context,r=!!t._gpuData,s=this.renderer.graphicsContext.updateGpuContext(e);return !!(s.isBatchable||r!==s.isBatchable)}addRenderable(t,e){let r=this.renderer.graphicsContext.updateGpuContext(t.context);t.didViewUpdate&&this._rebuild(t),r.isBatchable?this._addToBatcher(t,e):(this.renderer.renderPipes.batch.break(e),e.add(t));}updateRenderable(t){let r=this._getGpuDataForRenderable(t).batches;for(let s=0;s<r.length;s++){let o=r[s];o._batcher.updateElement(o);}}execute(t){if(!t.isRenderable)return;let e=this.renderer,r=t.context;if(!e.graphicsContext.getGpuContext(r).batches.length)return;let o=r.customShader||this._adaptor.shader;this.state.blendMode=t.groupBlendMode;let n=o.resources.localUniforms.uniforms;n.uTransformMatrix=t.groupTransform,n.uRound=e._roundPixels|t._roundPixels,Te(t.groupColorAlpha,n.uColor,0),this._adaptor.execute(this,t);}_rebuild(t){let e=this._getGpuDataForRenderable(t),r=this.renderer.graphicsContext.updateGpuContext(t.context);e.destroy(),r.isBatchable&&this._updateBatchesForRenderable(t,e);}_addToBatcher(t,e){let r=this.renderer.renderPipes.batch,s=this._getGpuDataForRenderable(t).batches;for(let o=0;o<s.length;o++){let n=s[o];r.addToBatch(n,e);}}_getGpuDataForRenderable(t){return t._gpuData[this.renderer.uid]||this._initGpuDataForRenderable(t)}_initGpuDataForRenderable(t){let e=new wa;return t._gpuData[this.renderer.uid]=e,e}_updateBatchesForRenderable(t,e){let r=t.context,s=this.renderer.graphicsContext.getGpuContext(r),o=this.renderer._roundPixels|t._roundPixels;e.batches=s.batches.map(n=>{let a=mt.get(Oe);return n.copyTo(a),a.renderable=t,a.roundPixels=o,a});}destroy(){this.renderer=null,this._adaptor.destroy(),this._adaptor=null,this.state=null;}};_i.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"graphics"};});var Pa=p(()=>{k();Qs();lf();I.add(_i);I.add(vr);});var we,to=p(()=>{we=class{constructor(){this.batcherName="default",this.packAsQuad=false,this.indexOffset=0,this.attributeOffset=0,this.roundPixels=0,this._batcher=null,this._batch=null,this._textureMatrixUpdateId=-1,this._uvUpdateId=-1;}get blendMode(){return this.renderable.groupBlendMode}get topology(){return this._topology||this.geometry.topology}set topology(t){this._topology=t;}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.geometry=null,this._uvUpdateId=-1,this._textureMatrixUpdateId=-1;}setTexture(t){this.texture!==t&&(this.texture=t,this._textureMatrixUpdateId=-1);}get uvs(){let e=this.geometry.getBuffer("aUV"),r=e.data,s=r,o=this.texture.textureMatrix;return o.isSimple||(s=this._transformedUvs,(this._textureMatrixUpdateId!==o._updateID||this._uvUpdateId!==e._updateID)&&((!s||s.length<r.length)&&(s=this._transformedUvs=new Float32Array(r.length)),this._textureMatrixUpdateId=o._updateID,this._uvUpdateId=e._updateID,o.multiplyUvs(r,s))),s}get positions(){return this.geometry.positions}get indices(){return this.geometry.indices}get color(){return this.renderable.groupColorAlpha}get groupTransform(){return this.renderable.groupTransform}get attributeSize(){return this.geometry.positions.length/2}get indexSize(){return this.geometry.indices.length}};});var eo,yi,hf=p(()=>{k();rt();ai();Se();li();xi();to();eo=class{destroy(){}},yi=class{constructor(t,e){this.localUniforms=new Ct({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),this.localUniformsBindGroup=new Ht({0:this.localUniforms}),this.renderer=t,this._adaptor=e,this._adaptor.init();}validateRenderable(t){let e=this._getMeshData(t),r=e.batched,s=t.batched;if(e.batched=s,r!==s)return true;if(s){let o=t._geometry;if(o.indices.length!==e.indexSize||o.positions.length!==e.vertexSize)return e.indexSize=o.indices.length,e.vertexSize=o.positions.length,true;let n=this._getBatchableMesh(t);return n.texture.uid!==t._texture.uid&&(n._textureMatrixUpdateId=-1),!n._batcher.checkAndUpdateTexture(n,t._texture)}return false}addRenderable(t,e){let r=this.renderer.renderPipes.batch,s=this._getMeshData(t);if(t.didViewUpdate&&(s.indexSize=t._geometry.indices?.length,s.vertexSize=t._geometry.positions?.length),s.batched){let o=this._getBatchableMesh(t);o.setTexture(t._texture),o.geometry=t._geometry,r.addToBatch(o,e);}else r.break(e),e.add(t);}updateRenderable(t){if(t.batched){let e=this._getBatchableMesh(t);e.setTexture(t._texture),e.geometry=t._geometry,e._batcher.updateElement(e);}}execute(t){if(!t.isRenderable)return;t.state.blendMode=de(t.groupBlendMode,t.texture._source);let e=this.localUniforms;e.uniforms.uTransformMatrix=t.groupTransform,e.uniforms.uRound=this.renderer._roundPixels|t._roundPixels,e.update(),Te(t.groupColorAlpha,e.uniforms.uColor,0),this._adaptor.execute(this,t);}_getMeshData(t){var e,r;return (e=t._gpuData)[r=this.renderer.uid]||(e[r]=new eo),t._gpuData[this.renderer.uid].meshData||this._initMeshData(t)}_initMeshData(t){return t._gpuData[this.renderer.uid].meshData={batched:t.batched,indexSize:0,vertexSize:0},t._gpuData[this.renderer.uid].meshData}_getBatchableMesh(t){var e,r;return (e=t._gpuData)[r=this.renderer.uid]||(e[r]=new eo),t._gpuData[this.renderer.uid].batchableMesh||this._initBatchableMesh(t)}_initBatchableMesh(t){let e=new we;return e.renderable=t,e.setTexture(t._texture),e.transform=t.groupTransform,e.roundPixels=this.renderer._roundPixels|t._roundPixels,t._gpuData[this.renderer.uid].batchableMesh=e,e}destroy(){this.localUniforms=null,this.localUniformsBindGroup=null,this._adaptor.destroy(),this._adaptor=null,this.renderer=null;}};yi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"mesh"};});var Ma=p(()=>{k();hf();I.add(yi);});var ro,uf=p(()=>{ro=class{execute(t,e){let r=t.state,s=t.renderer,o=e.shader||t.defaultShader;o.resources.uTexture=e.texture._source,o.resources.uniforms=t.localUniforms;let n=s.gl,a=t.getBuffers(e);s.shader.bind(o),s.state.set(r),s.geometry.bind(a.geometry,o.glProgram);let h=a.geometry.indexBuffer.data.BYTES_PER_ELEMENT===2?n.UNSIGNED_SHORT:n.UNSIGNED_INT;n.drawElements(n.TRIANGLES,e.particleChildren.length*6,h,0);}};});function Aa(i,t=null){let e=i*6;if(e>65535?t||(t=new Uint32Array(e)):t||(t=new Uint16Array(e)),t.length!==e)throw new Error(`Out buffer length is incorrect, got ${t.length} and expected ${e}`);for(let r=0,s=0;r<e;r+=6,s+=4)t[r+0]=s+0,t[r+1]=s+1,t[r+2]=s+2,t[r+3]=s+0,t[r+4]=s+2,t[r+5]=s+3;return t}var cf=p(()=>{});function ff(i){return {dynamicUpdate:df(i,true),staticUpdate:df(i,false)}}function df(i,t){let e=[];e.push(`
254
-
255
- var index = 0;
256
-
257
- for (let i = 0; i < ps.length; ++i)
258
- {
259
- const p = ps[i];
260
-
261
- `);let r=0;for(let o in i){let n=i[o];if(t!==n.dynamic)continue;e.push(`offset = index + ${r}`),e.push(n.code);let a=Le(n.format);r+=a.stride/4;}e.push(`
262
- index += stride * 4;
263
- }
264
- `),e.unshift(`
265
- var stride = ${r};
266
- `);let s=e.join(`
267
- `);return new Function("ps","f32v","u32v",s)}var pf=p(()=>{Ds();});function kx(i){let t=[];for(let e in i){let r=i[e];t.push(e,r.code,r.dynamic?"d":"s");}return t.join("_")}var io,mf=p(()=>{ur();hr();ui();Ds();Un();cf();pf();io=class{constructor(t){this._size=0,this._generateParticleUpdateCache={};let e=this._size=t.size??1e3,r=t.properties,s=0,o=0;for(let u in r){let c=r[u],f=Le(c.format);c.dynamic?o+=f.stride:s+=f.stride;}this._dynamicStride=o/4,this._staticStride=s/4,this.staticAttributeBuffer=new Jt(e*4*s),this.dynamicAttributeBuffer=new Jt(e*4*o),this.indexBuffer=Aa(e);let n=new te,a=0,l=0;this._staticBuffer=new vt({data:new Float32Array(1),label:"static-particle-buffer",shrinkToFit:false,usage:Q.VERTEX|Q.COPY_DST}),this._dynamicBuffer=new vt({data:new Float32Array(1),label:"dynamic-particle-buffer",shrinkToFit:false,usage:Q.VERTEX|Q.COPY_DST});for(let u in r){let c=r[u],f=Le(c.format);c.dynamic?(n.addAttribute(c.attributeName,{buffer:this._dynamicBuffer,stride:this._dynamicStride*4,offset:a*4,format:c.format}),a+=f.size):(n.addAttribute(c.attributeName,{buffer:this._staticBuffer,stride:this._staticStride*4,offset:l*4,format:c.format}),l+=f.size);}n.addIndex(this.indexBuffer);let h=this.getParticleUpdate(r);this._dynamicUpload=h.dynamicUpdate,this._staticUpload=h.staticUpdate,this.geometry=n;}getParticleUpdate(t){let e=kx(t);return this._generateParticleUpdateCache[e]?this._generateParticleUpdateCache[e]:(this._generateParticleUpdateCache[e]=this.generateParticleUpdate(t),this._generateParticleUpdateCache[e])}generateParticleUpdate(t){return ff(t)}update(t,e){t.length>this._size&&(e=true,this._size=Math.max(t.length,this._size*1.5|0),this.staticAttributeBuffer=new Jt(this._size*this._staticStride*4*4),this.dynamicAttributeBuffer=new Jt(this._size*this._dynamicStride*4*4),this.indexBuffer=Aa(this._size),this.geometry.indexBuffer.setDataWithSize(this.indexBuffer,this.indexBuffer.byteLength,true));let r=this.dynamicAttributeBuffer;if(this._dynamicUpload(t,r.float32View,r.uint32View),this._dynamicBuffer.setDataWithSize(this.dynamicAttributeBuffer.float32View,t.length*this._dynamicStride*4,true),e){let s=this.staticAttributeBuffer;this._staticUpload(t,s.float32View,s.uint32View),this._staticBuffer.setDataWithSize(s.float32View,t.length*this._staticStride*4,true);}}destroy(){this._staticBuffer.destroy(),this._dynamicBuffer.destroy(),this.geometry.destroy();}};});var gf,xf=p(()=>{gf=`varying vec2 vUV;
268
- varying vec4 vColor;
269
-
270
- uniform sampler2D uTexture;
271
-
272
- void main(void){
273
- vec4 color = texture2D(uTexture, vUV) * vColor;
274
- gl_FragColor = color;
275
- }`;});var _f,yf=p(()=>{_f=`attribute vec2 aVertex;
276
- attribute vec2 aUV;
277
- attribute vec4 aColor;
278
-
279
- attribute vec2 aPosition;
280
- attribute float aRotation;
281
-
282
- uniform mat3 uTranslationMatrix;
283
- uniform float uRound;
284
- uniform vec2 uResolution;
285
- uniform vec4 uColor;
286
-
287
- varying vec2 vUV;
288
- varying vec4 vColor;
289
-
290
- vec2 roundPixels(vec2 position, vec2 targetSize)
291
- {
292
- return (floor(((position * 0.5 + 0.5) * targetSize) + 0.5) / targetSize) * 2.0 - 1.0;
293
- }
294
-
295
- void main(void){
296
- float cosRotation = cos(aRotation);
297
- float sinRotation = sin(aRotation);
298
- float x = aVertex.x * cosRotation - aVertex.y * sinRotation;
299
- float y = aVertex.x * sinRotation + aVertex.y * cosRotation;
300
-
301
- vec2 v = vec2(x, y);
302
- v = v + aPosition;
303
-
304
- gl_Position = vec4((uTranslationMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);
305
-
306
- if(uRound == 1.0)
307
- {
308
- gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
309
- }
310
-
311
- vUV = aUV;
312
- vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uColor;
313
- }
314
- `;});var Ca,bf=p(()=>{Ca=`
315
- struct ParticleUniforms {
316
- uProjectionMatrix:mat3x3<f32>,
317
- uColor:vec4<f32>,
318
- uResolution:vec2<f32>,
319
- uRoundPixels:f32,
320
- };
321
-
322
- @group(0) @binding(0) var<uniform> uniforms: ParticleUniforms;
323
-
324
- @group(1) @binding(0) var uTexture: texture_2d<f32>;
325
- @group(1) @binding(1) var uSampler : sampler;
326
-
327
- struct VSOutput {
328
- @builtin(position) position: vec4<f32>,
329
- @location(0) uv : vec2<f32>,
330
- @location(1) color : vec4<f32>,
331
- };
332
- @vertex
333
- fn mainVertex(
334
- @location(0) aVertex: vec2<f32>,
335
- @location(1) aPosition: vec2<f32>,
336
- @location(2) aUV: vec2<f32>,
337
- @location(3) aColor: vec4<f32>,
338
- @location(4) aRotation: f32,
339
- ) -> VSOutput {
340
-
341
- let v = vec2(
342
- aVertex.x * cos(aRotation) - aVertex.y * sin(aRotation),
343
- aVertex.x * sin(aRotation) + aVertex.y * cos(aRotation)
344
- ) + aPosition;
345
-
346
- let position = vec4((uniforms.uProjectionMatrix * vec3(v, 1.0)).xy, 0.0, 1.0);
347
-
348
- let vColor = vec4(aColor.rgb * aColor.a, aColor.a) * uniforms.uColor;
349
-
350
- return VSOutput(
351
- position,
352
- aUV,
353
- vColor,
354
- );
355
- }
356
-
357
- @fragment
358
- fn mainFragment(
359
- @location(0) uv: vec2<f32>,
360
- @location(1) color: vec4<f32>,
361
- @builtin(position) position: vec4<f32>,
362
- ) -> @location(0) vec4<f32> {
363
-
364
- var sample = textureSample(uTexture, uSampler, uv) * color;
365
-
366
- return sample;
367
- }`;});var so,vf=p(()=>{It();rt();Rs();Ls();di();bt();Je();xf();yf();bf();so=class extends re{constructor(){let t=dr.from({vertex:_f,fragment:gf}),e=be.from({fragment:{source:Ca,entryPoint:"mainFragment"},vertex:{source:Ca,entryPoint:"mainVertex"}});super({glProgram:t,gpuProgram:e,resources:{uTexture:B.WHITE.source,uSampler:new Vt({}),uniforms:{uTranslationMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Z(16777215),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}}});}};});var Sr,Ea=p(()=>{rt();Se();li();Js();xi();mf();vf();Sr=class{constructor(t,e){this.state=Ve.for2d(),this.localUniforms=new Ct({uTranslationMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array(4),type:"vec4<f32>"},uRound:{value:1,type:"f32"},uResolution:{value:[0,0],type:"vec2<f32>"}}),this.renderer=t,this.adaptor=e,this.defaultShader=new so,this.state=Ve.for2d();}validateRenderable(t){return false}addRenderable(t,e){this.renderer.renderPipes.batch.break(e),e.add(t);}getBuffers(t){return t._gpuData[this.renderer.uid]||this._initBuffer(t)}_initBuffer(t){return t._gpuData[this.renderer.uid]=new io({size:t.particleChildren.length,properties:t._properties}),t._gpuData[this.renderer.uid]}updateRenderable(t){}execute(t){let e=t.particleChildren;if(e.length===0)return;let r=this.renderer,s=this.getBuffers(t);t.texture||(t.texture=e[0].texture);let o=this.state;s.update(e,t._childrenDirty),t._childrenDirty=false,o.blendMode=de(t.blendMode,t.texture._source);let n=this.localUniforms.uniforms,a=n.uTranslationMatrix;t.worldTransform.copyTo(a),a.prepend(r.globalUniforms.globalUniformData.projectionMatrix),n.uResolution=r.globalUniforms.globalUniformData.resolution,n.uRound=r._roundPixels|t._roundPixels,Te(t.groupColorAlpha,n.uColor,0),this.adaptor.execute(this,t);}destroy(){this.defaultShader&&(this.defaultShader.destroy(),this.defaultShader=null);}};});var bi,Sf=p(()=>{k();uf();Ea();bi=class extends Sr{constructor(t){super(t,new ro);}};bi.extension={type:[S.WebGLPipes],name:"particle"};});var oo,Tf=p(()=>{oo=class{execute(t,e){let r=t.renderer,s=e.shader||t.defaultShader;s.groups[0]=r.renderPipes.uniformBatch.getUniformBindGroup(t.localUniforms,true),s.groups[1]=r.texture.getTextureBindGroup(e.texture);let o=t.state,n=t.getBuffers(e);r.encoder.draw({geometry:n.geometry,shader:e.shader||t.defaultShader,state:o,size:e.particleChildren.length*6});}};});var vi,wf=p(()=>{k();Tf();Ea();vi=class extends Sr{constructor(t){super(t,new oo);}};vi.extension={type:[S.WebGPUPipes],name:"particle"};});var Fa=p(()=>{k();Sf();wf();I.add(bi);I.add(vi);});function Si(i,t){let{texture:e,bounds:r}=i,s=t._style._getFinalPadding();Ts(r,t._anchor,e);let o=t._anchor._x*s*2,n=t._anchor._y*s*2;r.minX-=s-o,r.minY-=s-n,r.maxX-=s-o,r.maxY-=s-n;}var Ba=p(()=>{Fn();});var Tr,ka=p(()=>{Tr=class{constructor(){this.batcherName="default",this.topology="triangle-list",this.attributeSize=4,this.indexSize=6,this.packAsQuad=true,this.roundPixels=0,this._attributeStart=0,this._batcher=null,this._batch=null;}get blendMode(){return this.renderable.groupBlendMode}get color(){return this.renderable.groupColorAlpha}reset(){this.renderable=null,this.texture=null,this._batcher=null,this._batch=null,this.bounds=null;}destroy(){}};});var no,Pf=p(()=>{ka();no=class extends Tr{constructor(t){super(),this._renderer=t,t.runners.resolutionChange.add(this);}resolutionChange(){let t=this.renderable;t._autoResolution&&t.onViewUpdate();}destroy(){this._renderer.canvasText.returnTexture(this.texture),this._renderer=null;}};});var Ti,Mf=p(()=>{k();Ba();Pf();Ti=class{constructor(t){this._renderer=t;}validateRenderable(t){return t._didTextUpdate}addRenderable(t,e){let r=this._getGpuText(t);t._didTextUpdate&&(this._updateGpuText(t),t._didTextUpdate=false),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e);}_updateGpuText(t){let e=this._getGpuText(t);e.texture&&this._renderer.canvasText.returnTexture(e.texture),t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,e.texture=this._renderer.canvasText.getTexture(t),Si(e,t);}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new no(this._renderer);return e.renderable=t,e.transform=t.groupTransform,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._gpuData[this._renderer.uid]=e,e}destroy(){this._renderer=null;}};Ti.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"text"};});var Af,fe,ao=p(()=>{rt();Mt();Af={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"}},fe=class{constructor(t,e){this.uid=Y("fillPattern"),this.transform=new M,this._styleKey=null,this.texture=t,this.transform.scale(1/t.frame.width,1/t.frame.height),e&&(t.source.style.addressModeU=Af[e].addressModeU,t.source.style.addressModeV=Af[e].addressModeV);}setTransform(t){let 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)}destroy(){this.texture.destroy(true),this.texture=null,this._styleKey=null;}};});var Ef=Ml((YA,Cf)=>{Cf.exports=Ix;var Ga={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},Gx=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function Ix(i){var t=[];return i.replace(Gx,function(e,r,s){var o=r.toLowerCase();for(s=Dx(s),o=="m"&&s.length>2&&(t.push([r].concat(s.splice(0,2))),o="l",r=r=="m"?"l":"L");;){if(s.length==Ga[o])return s.unshift(r),t.push(s);if(s.length<Ga[o])throw new Error("malformed path data");t.push([r].concat(s.splice(0,Ga[o])));}}),t}var Rx=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function Dx(i){var t=i.match(Rx);return t?t.map(Number):[]}});function Bf(i,t){let e=(0, Ff.default)(i),r=[],s=null,o=0,n=0;for(let a=0;a<e.length;a++){let l=e[a],h=l[0],u=l;switch(h){case "M":o=u[1],n=u[2],t.moveTo(o,n);break;case "m":o+=u[1],n+=u[2],t.moveTo(o,n);break;case "H":o=u[1],t.lineTo(o,n);break;case "h":o+=u[1],t.lineTo(o,n);break;case "V":n=u[1],t.lineTo(o,n);break;case "v":n+=u[1],t.lineTo(o,n);break;case "L":o=u[1],n=u[2],t.lineTo(o,n);break;case "l":o+=u[1],n+=u[2],t.lineTo(o,n);break;case "C":o=u[5],n=u[6],t.bezierCurveTo(u[1],u[2],u[3],u[4],o,n);break;case "c":t.bezierCurveTo(o+u[1],n+u[2],o+u[3],n+u[4],o+u[5],n+u[6]),o+=u[5],n+=u[6];break;case "S":o=u[3],n=u[4],t.bezierCurveToShort(u[1],u[2],o,n);break;case "s":t.bezierCurveToShort(o+u[1],n+u[2],o+u[3],n+u[4]),o+=u[3],n+=u[4];break;case "Q":o=u[3],n=u[4],t.quadraticCurveTo(u[1],u[2],o,n);break;case "q":t.quadraticCurveTo(o+u[1],n+u[2],o+u[3],n+u[4]),o+=u[3],n+=u[4];break;case "T":o=u[1],n=u[2],t.quadraticCurveToShort(o,n);break;case "t":o+=u[1],n+=u[2],t.quadraticCurveToShort(o,n);break;case "A":o=u[6],n=u[7],t.arcToSvg(u[1],u[2],u[3],u[4],u[5],o,n);break;case "a":o+=u[6],n+=u[7],t.arcToSvg(u[1],u[2],u[3],u[4],u[5],o,n);break;case "Z":case "z":t.closePath(),r.length>0&&(s=r.pop(),s?(o=s.startX,n=s.startY):(o=0,n=0)),s=null;break;default:z(`Unknown SVG path command: ${h}`);}h!=="Z"&&h!=="z"&&s===null&&(s={startX:o,startY:n},r.push(s));}return t}var Ff,kf=p(()=>{Ff=Al(Ef());Tt();});var lo,Gf=p(()=>{Ft();lo=class i{constructor(t=0,e=0,r=0){this.type="circle",this.x=t,this.y=e,this.radius=r;}clone(){return new i(this.x,this.y,this.radius)}contains(t,e){if(this.radius<=0)return false;let r=this.radius*this.radius,s=this.x-t,o=this.y-e;return s*=s,o*=o,s+o<=r}strokeContains(t,e,r,s=.5){if(this.radius===0)return false;let o=this.x-t,n=this.y-e,a=this.radius,l=(1-s)*r,h=Math.sqrt(o*o+n*n);return h<=a+l&&h>a-(r-l)}getBounds(t){return t||(t=new $),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}]`}};});var ho,If=p(()=>{Ft();ho=class i{constructor(t=0,e=0,r=0,s=0){this.type="ellipse",this.x=t,this.y=e,this.halfWidth=r,this.halfHeight=s;}clone(){return new i(this.x,this.y,this.halfWidth,this.halfHeight)}contains(t,e){if(this.halfWidth<=0||this.halfHeight<=0)return false;let r=(t-this.x)/this.halfWidth,s=(e-this.y)/this.halfHeight;return r*=r,s*=s,r+s<=1}strokeContains(t,e,r,s=.5){let{halfWidth:o,halfHeight:n}=this;if(o<=0||n<=0)return false;let a=r*(1-s),l=r-a,h=o-l,u=n-l,c=o+a,f=n+a,d=t-this.x,m=e-this.y,x=d*d/(h*h)+m*m/(u*u),g=d*d/(c*c)+m*m/(f*f);return x>1&&g<=1}getBounds(t){return t||(t=new $),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 Rf(i,t,e,r,s,o){let n=i-e,a=t-r,l=s-e,h=o-r,u=n*l+a*h,c=l*l+h*h,f=-1;c!==0&&(f=u/c);let d,m;f<0?(d=e,m=r):f>1?(d=s,m=o):(d=e+f*l,m=r+f*h);let x=i-d,g=t-m;return x*x+g*g}var Df=p(()=>{});var Ux,Lx,wr,Uf=p(()=>{ht();Df();Ft();wr=class i{constructor(...t){this.type="polygon";let e=Array.isArray(t[0])?t[0]:t;if(typeof e[0]!="number"){let r=[];for(let s=0,o=e.length;s<o;s++)r.push(e[s].x,e[s].y);e=r;}this.points=e,this.closePath=true;}isClockwise(){let t=0,e=this.points,r=e.length;for(let s=0;s<r;s+=2){let o=e[s],n=e[s+1],a=e[(s+2)%r],l=e[(s+3)%r];t+=(a-o)*(l+n);}return t<0}containsPolygon(t){let e=this.getBounds(Ux),r=t.getBounds(Lx);if(!e.containsRect(r))return false;let s=t.points;for(let o=0;o<s.length;o+=2){let n=s[o],a=s[o+1];if(!this.contains(n,a))return false}return true}clone(){let t=this.points.slice(),e=new i(t);return e.closePath=this.closePath,e}contains(t,e){let r=false,s=this.points.length/2;for(let o=0,n=s-1;o<s;n=o++){let a=this.points[o*2],l=this.points[o*2+1],h=this.points[n*2],u=this.points[n*2+1];l>e!=u>e&&t<(h-a)*((e-l)/(u-l))+a&&(r=!r);}return r}strokeContains(t,e,r,s=.5){let o=r*r,n=o*(1-s),a=o-n,{points:l}=this,h=l.length-(this.closePath?0:2);for(let u=0;u<h;u+=2){let c=l[u],f=l[u+1],d=l[(u+2)%l.length],m=l[(u+3)%l.length],x=Rf(t,e,c,f,d,m),g=Math.sign((d-c)*(e-f)-(m-f)*(t-c));if(x<=(g<0?a:n))return true}return false}getBounds(t){t||(t=new $);let e=this.points,r=1/0,s=-1/0,o=1/0,n=-1/0;for(let a=0,l=e.length;a<l;a+=2){let h=e[a],u=e[a+1];r=h<r?h:r,s=h>s?h:s,o=u<o?u:o,n=u>n?u:n;}return t.x=r,t.width=s-r,t.y=o,t.height=n-o,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 F("8.11.0","Polygon.lastX is deprecated, please use Polygon.lastX instead."),this.points[this.points.length-2]}get y(){return F("8.11.0","Polygon.y is deprecated, please use Polygon.lastY instead."),this.points[this.points.length-1]}get startX(){return this.points[0]}get startY(){return this.points[1]}};});var uo,co,Lf=p(()=>{Ft();uo=(i,t,e,r,s,o,n)=>{let a=i-e,l=t-r,h=Math.sqrt(a*a+l*l);return h>=s-o&&h<=s+n},co=class i{constructor(t=0,e=0,r=0,s=0,o=20){this.type="roundedRectangle",this.x=t,this.y=e,this.width=r,this.height=s,this.radius=o;}getBounds(t){return t||(t=new $),t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t}clone(){return new i(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 false;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){let r=Math.max(0,Math.min(this.radius,Math.min(this.width,this.height)/2));if(e>=this.y+r&&e<=this.y+this.height-r||t>=this.x+r&&t<=this.x+this.width-r)return true;let s=t-(this.x+r),o=e-(this.y+r),n=r*r;if(s*s+o*o<=n||(s=t-(this.x+this.width-r),s*s+o*o<=n)||(o=e-(this.y+this.height-r),s*s+o*o<=n)||(s=t-(this.x+r),s*s+o*o<=n))return true}return false}strokeContains(t,e,r,s=.5){let{x:o,y:n,width:a,height:l,radius:h}=this,u=r*(1-s),c=r-u,f=o+h,d=n+h,m=a-h*2,x=l-h*2,g=o+a,_=n+l;return (t>=o-u&&t<=o+c||t>=g-c&&t<=g+u)&&e>=d&&e<=d+x||(e>=n-u&&e<=n+c||e>=_-c&&e<=_+u)&&t>=f&&t<=f+m?true:t<f&&e<d&&uo(t,e,f,d,h,c,u)||t>g-h&&e<d&&uo(t,e,g-h,d,h,c,u)||t>g-h&&e>_-h&&uo(t,e,g-h,_-h,h,c,u)||t<f&&e>_-h&&uo(t,e,f,_-h,h,c,u)}toString(){return `[pixi.js/math:RoundedRectangle x=${this.x} y=${this.y}width=${this.width} height=${this.height} radius=${this.radius}]`}};});function po(i,t,e,r,s,o,n,a,l,h){let c=Math.min(.99,Math.max(0,h??vr.defaultOptions.bezierSmoothness)),f=(zx-c)/1;return f*=f,Wx(t,e,r,s,o,n,a,l,i,f),i}function Wx(i,t,e,r,s,o,n,a,l,h){Ra(i,t,e,r,s,o,n,a,l,h,0),l.push(n,a);}function Ra(i,t,e,r,s,o,n,a,l,h,u){if(u>Ox)return;let c=Math.PI,f=(i+e)/2,d=(t+r)/2,m=(e+s)/2,x=(r+o)/2,g=(s+n)/2,_=(o+a)/2,y=(f+m)/2,b=(d+x)/2,v=(m+g)/2,P=(x+_)/2,T=(y+v)/2,w=(b+P)/2;if(u>0){let D=n-i,A=a-t,E=Math.abs((e-n)*A-(r-a)*D),C=Math.abs((s-n)*A-(o-a)*D),O,j;if(E>fo&&C>fo){if((E+C)*(E+C)<=h*(D*D+A*A)){if(Pr<Ia){l.push(T,w);return}let yt=Math.atan2(o-r,s-e);if(O=Math.abs(yt-Math.atan2(r-t,e-i)),j=Math.abs(Math.atan2(a-o,n-s)-yt),O>=c&&(O=2*c-O),j>=c&&(j=2*c-j),O+j<Pr){l.push(T,w);return}if(He!==0){if(O>He){l.push(e,r);return}if(j>He){l.push(s,o);return}}}}else if(E>fo){if(E*E<=h*(D*D+A*A)){if(Pr<Ia){l.push(T,w);return}if(O=Math.abs(Math.atan2(o-r,s-e)-Math.atan2(r-t,e-i)),O>=c&&(O=2*c-O),O<Pr){l.push(e,r),l.push(s,o);return}if(He!==0&&O>He){l.push(e,r);return}}}else if(C>fo){if(C*C<=h*(D*D+A*A)){if(Pr<Ia){l.push(T,w);return}if(O=Math.abs(Math.atan2(a-o,n-s)-Math.atan2(o-r,s-e)),O>=c&&(O=2*c-O),O<Pr){l.push(e,r),l.push(s,o);return}if(He!==0&&O>He){l.push(s,o);return}}}else if(D=T-(i+n)/2,A=w-(t+a)/2,D*D+A*A<=h){l.push(T,w);return}}Ra(i,t,f,d,y,b,T,w,l,h,u+1),Ra(T,w,v,P,g,_,n,a,l,h,u+1);}var Ox,fo,zx,Ia,Pr,He,Da=p(()=>{Qs();Ox=8,fo=11920929e-14,zx=1,Ia=.01,Pr=0,He=0;});function zf(i,t,e,r,s,o,n,a){let h=Math.min(.99,Math.max(0,a??vr.defaultOptions.bezierSmoothness)),u=(Nx-h)/1;return u*=u,Xx(t,e,r,s,o,n,i,u),i}function Xx(i,t,e,r,s,o,n,a){Ua(n,i,t,e,r,s,o,a,0),n.push(s,o);}function Ua(i,t,e,r,s,o,n,a,l){if(l>Vx)return;let h=Math.PI,u=(t+r)/2,c=(e+s)/2,f=(r+o)/2,d=(s+n)/2,m=(u+f)/2,x=(c+d)/2,g=o-t,_=n-e,y=Math.abs((r-o)*_-(s-n)*g);if(y>Hx){if(y*y<=a*(g*g+_*_)){if(Of<Yx){i.push(m,x);return}let b=Math.abs(Math.atan2(n-s,o-r)-Math.atan2(s-e,r-t));if(b>=h&&(b=2*h-b),b<Of){i.push(m,x);return}}}else if(g=m-(t+o)/2,_=x-(e+n)/2,g*g+_*_<=a){i.push(m,x);return}Ua(i,t,e,u,c,m,x,a,l+1),Ua(i,m,x,f,d,o,n,a,l+1);}var Vx,Hx,Nx,Yx,Of,Wf=p(()=>{Qs();Vx=8,Hx=11920929e-14,Nx=1,Yx=.01,Of=0;});function mo(i,t,e,r,s,o,n,a){let l=Math.abs(s-o);(!n&&s>o||n&&o>s)&&(l=2*Math.PI-l),a||(a=Math.max(6,Math.floor(6*Math.pow(r,1/3)*(l/Math.PI)))),a=Math.max(a,3);let h=l/a,u=s;h*=n?-1:1;for(let c=0;c<a+1;c++){let f=Math.cos(u),d=Math.sin(u),m=t+f*r,x=e+d*r;i.push(m,x),u+=h;}}var La=p(()=>{});function Vf(i,t,e,r,s,o){let n=i[i.length-2],l=i[i.length-1]-e,h=n-t,u=s-e,c=r-t,f=Math.abs(l*c-h*u);if(f<1e-8||o===0){(i[i.length-2]!==t||i[i.length-1]!==e)&&i.push(t,e);return}let d=l*l+h*h,m=u*u+c*c,x=l*u+h*c,g=o*Math.sqrt(d)/f,_=o*Math.sqrt(m)/f,y=g*x/d,b=_*x/m,v=g*c+_*h,P=g*u+_*l,T=h*(_+y),w=l*(_+y),D=c*(g+b),A=u*(g+b),E=Math.atan2(w-P,T-v),C=Math.atan2(A-P,D-v);mo(i,v+t,P+e,o,E,C,h*u>c*l);}var Hf=p(()=>{La();});function $x(i,t){let e=t===-1.5707963267948966?-0.551915024494:1.3333333333333333*Math.tan(t/4),r=t===1.5707963267948966?.551915024494:e,s=Math.cos(i),o=Math.sin(i),n=Math.cos(i+t),a=Math.sin(i+t);return [{x:s-o*r,y:o+s*r},{x:n+a*r,y:a-n*r},{x:n,y:a}]}function Yf(i,t,e,r,s,o,n,a=0,l=0,h=0){if(o===0||n===0)return;let u=Math.sin(a*wi/360),c=Math.cos(a*wi/360),f=c*(t-r)/2+u*(e-s)/2,d=-u*(t-r)/2+c*(e-s)/2;if(f===0&&d===0)return;o=Math.abs(o),n=Math.abs(n);let m=Math.pow(f,2)/Math.pow(o,2)+Math.pow(d,2)/Math.pow(n,2);m>1&&(o*=Math.sqrt(m),n*=Math.sqrt(m)),jx(t,e,r,s,o,n,l,h,u,c,f,d,Oa);let{ang1:x,ang2:g}=Oa,{centerX:_,centerY:y}=Oa,b=Math.abs(g)/(wi/4);Math.abs(1-b)<1e-7&&(b=1);let v=Math.max(Math.ceil(b),1);g/=v;let P=i[i.length-2],T=i[i.length-1],w={x:0,y:0};for(let D=0;D<v;D++){let A=$x(x,g),{x:E,y:C}=za(A[0],o,n,c,u,_,y,w),{x:O,y:j}=za(A[1],o,n,c,u,_,y,w),{x:yt,y:Ir}=za(A[2],o,n,c,u,_,y,w);po(i,P,T,E,C,O,j,yt,Ir),P=yt,T=Ir,x+=g;}}var wi,Oa,za,Nf,jx,Xf=p(()=>{Da();wi=Math.PI*2,Oa={centerX:0,centerY:0,ang1:0,ang2:0},za=({x:i,y:t},e,r,s,o,n,a,l)=>{i*=e,t*=r;let h=s*i-o*t,u=o*i+s*t;return l.x=h+n,l.y=u+a,l};Nf=(i,t,e,r)=>{let s=i*r-t*e<0?-1:1,o=i*e+t*r;return o>1&&(o=1),o<-1&&(o=-1),s*Math.acos(o)},jx=(i,t,e,r,s,o,n,a,l,h,u,c,f)=>{let d=Math.pow(s,2),m=Math.pow(o,2),x=Math.pow(u,2),g=Math.pow(c,2),_=d*m-d*g-m*x;_<0&&(_=0),_/=d*g+m*x,_=Math.sqrt(_)*(n===a?-1:1);let y=_*s/o*c,b=_*-o/s*u,v=h*y-l*b+(i+e)/2,P=l*y+h*b+(t+r)/2,T=(u-y)/s,w=(c-b)/o,D=(-u-y)/s,A=(-c-b)/o,E=Nf(1,0,T,w),C=Nf(T,w,D,A);a===0&&C>0&&(C-=wi),a===1&&C<0&&(C+=wi),f.centerX=v,f.centerY=P,f.ang1=E,f.ang2=C;};});function $f(i,t,e){let r=(n,a)=>{let l=a.x-n.x,h=a.y-n.y,u=Math.sqrt(l*l+h*h),c=l/u,f=h/u;return {len:u,nx:c,ny:f}},s=(n,a)=>{n===0?i.moveTo(a.x,a.y):i.lineTo(a.x,a.y);},o=t[t.length-1];for(let n=0;n<t.length;n++){let a=t[n%t.length],l=a.radius??e;if(l<=0){s(n,a),o=a;continue}let h=t[(n+1)%t.length],u=r(a,o),c=r(a,h);if(u.len<1e-4||c.len<1e-4){s(n,a),o=a;continue}let f=Math.asin(u.nx*c.ny-u.ny*c.nx),d=1,m=false;u.nx*c.nx-u.ny*-c.ny<0?f<0?f=Math.PI+f:(f=Math.PI-f,d=-1,m=true):f>0&&(d=-1,m=true);let x=f/2,g,_=Math.abs(Math.cos(x)*l/Math.sin(x));_>Math.min(u.len/2,c.len/2)?(_=Math.min(u.len/2,c.len/2),g=Math.abs(_*Math.sin(x)/Math.cos(x))):g=l;let y=a.x+c.nx*_+-c.ny*g*d,b=a.y+c.ny*_+c.nx*g*d,v=Math.atan2(u.ny,u.nx)+Math.PI/2*d,P=Math.atan2(c.ny,c.nx)-Math.PI/2*d;n===0&&i.moveTo(y+Math.cos(v)*g,b+Math.sin(v)*g),i.arc(y,b,g,v,P,m),o=a;}}function jf(i,t,e,r){let s=(a,l)=>Math.sqrt((a.x-l.x)**2+(a.y-l.y)**2),o=(a,l,h)=>({x:a.x+(l.x-a.x)*h,y:a.y+(l.y-a.y)*h}),n=t.length;for(let a=0;a<n;a++){let l=t[(a+1)%n],h=l.radius??e;if(h<=0){a===0?i.moveTo(l.x,l.y):i.lineTo(l.x,l.y);continue}let u=t[a],c=t[(a+2)%n],f=s(u,l),d;if(f<1e-4)d=l;else {let g=Math.min(f/2,h);d=o(l,u,g/f);}let m=s(c,l),x;if(m<1e-4)x=l;else {let g=Math.min(m/2,h);x=o(l,c,g/m);}a===0?i.moveTo(d.x,d.y):i.lineTo(d.x,d.y),i.quadraticCurveTo(l.x,l.y,x.x,x.y,r);}}var qf=p(()=>{});var qx,go,Kf=p(()=>{Gf();If();Uf();Ft();Lf();Yt();Da();Wf();La();Hf();Xf();qf();qx=new $,go=class{constructor(t){this.shapePrimitives=[],this._currentPoly=null,this._bounds=new nt,this._graphicsPath2D=t,this.signed=t.checkForHoles;}moveTo(t,e){return this.startPoly(t,e),this}lineTo(t,e){this._ensurePoly();let r=this._currentPoly.points,s=r[r.length-2],o=r[r.length-1];return (s!==t||o!==e)&&r.push(t,e),this}arc(t,e,r,s,o,n){this._ensurePoly(false);let a=this._currentPoly.points;return mo(a,t,e,r,s,o,n),this}arcTo(t,e,r,s,o){this._ensurePoly();let n=this._currentPoly.points;return Vf(n,t,e,r,s,o),this}arcToSvg(t,e,r,s,o,n,a){let l=this._currentPoly.points;return Yf(l,this._currentPoly.lastX,this._currentPoly.lastY,n,a,t,e,r,s,o),this}bezierCurveTo(t,e,r,s,o,n,a){this._ensurePoly();let l=this._currentPoly;return po(this._currentPoly.points,l.lastX,l.lastY,t,e,r,s,o,n,a),this}quadraticCurveTo(t,e,r,s,o){this._ensurePoly();let n=this._currentPoly;return zf(this._currentPoly.points,n.lastX,n.lastY,t,e,r,s,o),this}closePath(){return this.endPoly(true),this}addPath(t,e){this.endPoly(),e&&!e.isIdentity()&&(t=t.clone(true),t.transform(e));let r=this.shapePrimitives,s=r.length;for(let o=0;o<t.instructions.length;o++){let n=t.instructions[o];this[n.action](...n.data);}if(t.checkForHoles&&r.length-s>1){let o=null;for(let n=s;n<r.length;n++){let a=r[n];if(a.shape.type==="polygon"){let l=a.shape,h=o?.shape;h&&h.containsPolygon(l)?(o.holes||(o.holes=[]),o.holes.push(a),r.copyWithin(n,n+1),r.length--,n--):o=a;}}}return this}finish(t=false){this.endPoly(t);}rect(t,e,r,s,o){return this.drawShape(new $(t,e,r,s),o),this}circle(t,e,r,s){return this.drawShape(new lo(t,e,r),s),this}poly(t,e,r){let s=new wr(t);return s.closePath=e,this.drawShape(s,r),this}regularPoly(t,e,r,s,o=0,n){s=Math.max(s|0,3);let a=-1*Math.PI/2+o,l=Math.PI*2/s,h=[];for(let u=0;u<s;u++){let c=a-u*l;h.push(t+r*Math.cos(c),e+r*Math.sin(c));}return this.poly(h,true,n),this}roundPoly(t,e,r,s,o,n=0,a){if(s=Math.max(s|0,3),o<=0)return this.regularPoly(t,e,r,s,n);let l=r*Math.sin(Math.PI/s)-.001;o=Math.min(o,l);let h=-1*Math.PI/2+n,u=Math.PI*2/s,c=(s-2)*Math.PI/s/2;for(let f=0;f<s;f++){let d=f*u+h,m=t+r*Math.cos(d),x=e+r*Math.sin(d),g=d+Math.PI+c,_=d-Math.PI-c,y=m+o*Math.cos(g),b=x+o*Math.sin(g),v=m+o*Math.cos(_),P=x+o*Math.sin(_);f===0?this.moveTo(y,b):this.lineTo(y,b),this.quadraticCurveTo(m,x,v,P,a);}return this.closePath()}roundShape(t,e,r=false,s){return t.length<3?this:(r?jf(this,t,e,s):$f(this,t,e),this.closePath())}filletRect(t,e,r,s,o){if(o===0)return this.rect(t,e,r,s);let n=Math.min(r,s)/2,a=Math.min(n,Math.max(-n,o)),l=t+r,h=e+s,u=a<0?-a:0,c=Math.abs(a);return this.moveTo(t,e+c).arcTo(t+u,e+u,t+c,e,c).lineTo(l-c,e).arcTo(l-u,e+u,l,e+c,c).lineTo(l,h-c).arcTo(l-u,h-u,t+r-c,h,c).lineTo(t+c,h).arcTo(t+u,h-u,t,h-c,c).closePath()}chamferRect(t,e,r,s,o,n){if(o<=0)return this.rect(t,e,r,s);let a=Math.min(o,Math.min(r,s)/2),l=t+r,h=e+s,u=[t+a,e,l-a,e,l,e+a,l,h-a,l-a,h,t+a,h,t,h-a,t,e+a];for(let c=u.length-1;c>=2;c-=2)u[c]===u[c-2]&&u[c-1]===u[c-3]&&u.splice(c-1,2);return this.poly(u,true,n)}ellipse(t,e,r,s,o){return this.drawShape(new ho(t,e,r,s),o),this}roundRect(t,e,r,s,o,n){return this.drawShape(new co(t,e,r,s,o),n),this}drawShape(t,e){return this.endPoly(),this.shapePrimitives.push({shape:t,transform:e}),this}startPoly(t,e){let r=this._currentPoly;return r&&this.endPoly(),r=new wr,r.points.push(t,e),this._currentPoly=r,this}endPoly(t=false){let e=this._currentPoly;return e&&e.points.length>2&&(e.closePath=t,this.shapePrimitives.push({shape:e})),this._currentPoly=null,this}_ensurePoly(t=true){if(!this._currentPoly&&(this._currentPoly=new wr,t)){let e=this.shapePrimitives[this.shapePrimitives.length-1];if(e){let r=e.shape.x,s=e.shape.y;if(e.transform&&!e.transform.isIdentity()){let o=e.transform,n=r;r=o.a*r+o.c*s+o.tx,s=o.b*n+o.d*s+o.ty;}this._currentPoly.points.push(r,s);}else this._currentPoly.points.push(0,0);}}buildPath(){let t=this._graphicsPath2D;this.shapePrimitives.length=0,this._currentPoly=null;for(let e=0;e<t.instructions.length;e++){let r=t.instructions[e];this[r.action](...r.data);}this.finish();}get bounds(){let t=this._bounds;t.clear();let e=this.shapePrimitives;for(let r=0;r<e.length;r++){let s=e[r],o=s.shape.getBounds(qx);s.transform?t.addRect(o,s.transform):t.addRect(o);}return t}};});function Pi(i,t){return i?i.prepend(t):t.clone()}var Pe,Wa=p(()=>{jt();Mt();Tt();kf();Kf();Pe=class i{constructor(t,e=false){this.instructions=[],this.uid=Y("graphicsPath"),this._dirty=true,this.checkForHoles=e,typeof t=="string"?Bf(t,this):this.instructions=t?.slice()??[];}get shapePath(){return this._shapePath||(this._shapePath=new go(this)),this._dirty&&(this._dirty=false,this._shapePath.buildPath()),this._shapePath}addPath(t,e){return t=t.clone(),this.instructions.push({action:"addPath",data:[t,e]}),this._dirty=true,this}arc(...t){return this.instructions.push({action:"arc",data:t}),this._dirty=true,this}arcTo(...t){return this.instructions.push({action:"arcTo",data:t}),this._dirty=true,this}arcToSvg(...t){return this.instructions.push({action:"arcToSvg",data:t}),this._dirty=true,this}bezierCurveTo(...t){return this.instructions.push({action:"bezierCurveTo",data:t}),this._dirty=true,this}bezierCurveToShort(t,e,r,s,o){let n=this.instructions[this.instructions.length-1],a=this.getLastPoint(N.shared),l=0,h=0;if(!n||n.action!=="bezierCurveTo")l=a.x,h=a.y;else {l=n.data[2],h=n.data[3];let u=a.x,c=a.y;l=u+(u-l),h=c+(c-h);}return this.instructions.push({action:"bezierCurveTo",data:[l,h,t,e,r,s,o]}),this._dirty=true,this}closePath(){return this.instructions.push({action:"closePath",data:[]}),this._dirty=true,this}ellipse(...t){return this.instructions.push({action:"ellipse",data:t}),this._dirty=true,this}lineTo(...t){return this.instructions.push({action:"lineTo",data:t}),this._dirty=true,this}moveTo(...t){return this.instructions.push({action:"moveTo",data:t}),this}quadraticCurveTo(...t){return this.instructions.push({action:"quadraticCurveTo",data:t}),this._dirty=true,this}quadraticCurveToShort(t,e,r){let s=this.instructions[this.instructions.length-1],o=this.getLastPoint(N.shared),n=0,a=0;if(!s||s.action!=="quadraticCurveTo")n=o.x,a=o.y;else {n=s.data[0],a=s.data[1];let l=o.x,h=o.y;n=l+(l-n),a=h+(h-a);}return this.instructions.push({action:"quadraticCurveTo",data:[n,a,t,e,r]}),this._dirty=true,this}rect(t,e,r,s,o){return this.instructions.push({action:"rect",data:[t,e,r,s,o]}),this._dirty=true,this}circle(t,e,r,s){return this.instructions.push({action:"circle",data:[t,e,r,s]}),this._dirty=true,this}roundRect(...t){return this.instructions.push({action:"roundRect",data:t}),this._dirty=true,this}poly(...t){return this.instructions.push({action:"poly",data:t}),this._dirty=true,this}regularPoly(...t){return this.instructions.push({action:"regularPoly",data:t}),this._dirty=true,this}roundPoly(...t){return this.instructions.push({action:"roundPoly",data:t}),this._dirty=true,this}roundShape(...t){return this.instructions.push({action:"roundShape",data:t}),this._dirty=true,this}filletRect(...t){return this.instructions.push({action:"filletRect",data:t}),this._dirty=true,this}chamferRect(...t){return this.instructions.push({action:"chamferRect",data:t}),this._dirty=true,this}star(t,e,r,s,o,n,a){o||(o=s/2);let l=-1*Math.PI/2+n,h=r*2,u=Math.PI*2/h,c=[];for(let f=0;f<h;f++){let d=f%2?o:s,m=f*u+l;c.push(t+d*Math.cos(m),e+d*Math.sin(m));}return this.poly(c,true,a),this}clone(t=false){let e=new i;if(e.checkForHoles=this.checkForHoles,!t)e.instructions=this.instructions.slice();else for(let r=0;r<this.instructions.length;r++){let s=this.instructions[r];e.instructions.push({action:s.action,data:s.data.slice()});}return e}clear(){return this.instructions.length=0,this._dirty=true,this}transform(t){if(t.isIdentity())return this;let e=t.a,r=t.b,s=t.c,o=t.d,n=t.tx,a=t.ty,l=0,h=0,u=0,c=0,f=0,d=0,m=0,x=0;for(let g=0;g<this.instructions.length;g++){let _=this.instructions[g],y=_.data;switch(_.action){case "moveTo":case "lineTo":l=y[0],h=y[1],y[0]=e*l+s*h+n,y[1]=r*l+o*h+a;break;case "bezierCurveTo":u=y[0],c=y[1],f=y[2],d=y[3],l=y[4],h=y[5],y[0]=e*u+s*c+n,y[1]=r*u+o*c+a,y[2]=e*f+s*d+n,y[3]=r*f+o*d+a,y[4]=e*l+s*h+n,y[5]=r*l+o*h+a;break;case "quadraticCurveTo":u=y[0],c=y[1],l=y[2],h=y[3],y[0]=e*u+s*c+n,y[1]=r*u+o*c+a,y[2]=e*l+s*h+n,y[3]=r*l+o*h+a;break;case "arcToSvg":l=y[5],h=y[6],m=y[0],x=y[1],y[0]=e*m+s*x,y[1]=r*m+o*x,y[5]=e*l+s*h+n,y[6]=r*l+o*h+a;break;case "circle":y[4]=Pi(y[3],t);break;case "rect":y[4]=Pi(y[4],t);break;case "ellipse":y[8]=Pi(y[8],t);break;case "roundRect":y[5]=Pi(y[5],t);break;case "addPath":y[0].transform(t);break;case "poly":y[2]=Pi(y[2],t);break;default:z("unknown transform action",_.action);break}}return this._dirty=true,this}get bounds(){return this.shapePath.bounds}getLastPoint(t){let e=this.instructions.length-1,r=this.instructions[e];if(!r)return t.x=0,t.y=0,t;for(;r.action==="closePath";){if(e--,e<0)return t.x=0,t.y=0,t;r=this.instructions[e];}switch(r.action){case "moveTo":case "lineTo":t.x=r.data[0],t.y=r.data[1];break;case "quadraticCurveTo":t.x=r.data[2],t.y=r.data[3];break;case "bezierCurveTo":t.x=r.data[4],t.y=r.data[5];break;case "arc":case "arcToSvg":t.x=r.data[5],t.y=r.data[6];break;case "addPath":r.data[0].getLastPoint(t);break}return t}};});function ot(i,t,e){let r=i.getAttribute(t);return r?Number(r):e}var Va=p(()=>{});function Zf(i,t){let e=i.querySelectorAll("defs");for(let r=0;r<e.length;r++){let s=e[r];for(let o=0;o<s.children.length;o++){let n=s.children[o];switch(n.nodeName.toLowerCase()){case "lineargradient":t.defs[n.id]=Kx(n);break;case "radialgradient":t.defs[n.id]=Zx();break;}}}}function Kx(i){let t=ot(i,"x1",0),e=ot(i,"y1",0),r=ot(i,"x2",1),s=ot(i,"y2",0),o=i.getAttribute("gradientUnits")||"objectBoundingBox",n=new kt(t,e,r,s,o==="objectBoundingBox"?"local":"global");for(let a=0;a<i.children.length;a++){let l=i.children[a],h=ot(l,"offset",0),u=Z.shared.setValue(l.getAttribute("stop-color")).toNumber();n.addColorStop(h,u);}return n}function Zx(i){return z("[SVG Parser] Radial gradients are not yet supported"),new kt(0,0,1,0)}var Qf=p(()=>{It();Tt();br();Va();});function Ha(i){let t=i.match(/url\s*\(\s*['"]?\s*#([^'"\s)]+)\s*['"]?\s*\)/i);return t?t[1]:""}var Jf=p(()=>{});function Na(i,t){let e=i.getAttribute("style"),r={},s={},o={strokeStyle:r,fillStyle:s,useFill:false,useStroke:false};for(let n in tp){let a=i.getAttribute(n);a&&ep(t,o,n,a.trim());}if(e){let n=e.split(";");for(let a=0;a<n.length;a++){let l=n[a].trim(),[h,u]=l.split(":");tp[h]&&ep(t,o,h,u.trim());}}return {strokeStyle:o.useStroke?r:null,fillStyle:o.useFill?s:null,useFill:o.useFill,useStroke:o.useStroke}}function ep(i,t,e,r){switch(e){case "stroke":if(r!=="none"){if(r.startsWith("url(")){let s=Ha(r);t.strokeStyle.fill=i.defs[s];}else t.strokeStyle.color=Z.shared.setValue(r).toNumber();t.useStroke=true;}break;case "stroke-width":t.strokeStyle.width=Number(r);break;case "fill":if(r!=="none"){if(r.startsWith("url(")){let s=Ha(r);t.fillStyle.fill=i.defs[s];}else t.fillStyle.color=Z.shared.setValue(r).toNumber();t.useFill=true;}break;case "fill-opacity":t.fillStyle.alpha=Number(r);break;case "stroke-opacity":t.strokeStyle.alpha=Number(r);break;case "opacity":t.fillStyle.alpha=Number(r),t.strokeStyle.alpha=Number(r);break}}var tp,rp=p(()=>{It();Jf();tp={fill:{type:"paint",default:0},"fill-opacity":{type:"number",default:1},stroke:{type:"paint",default:0},"stroke-width":{type:"number",default:1},"stroke-opacity":{type:"number",default:1},"stroke-linecap":{type:"string",default:"butt"},"stroke-linejoin":{type:"string",default:"miter"},"stroke-miterlimit":{type:"number",default:10},"stroke-dasharray":{type:"string",default:"none"},"stroke-dashoffset":{type:"number",default:0},opacity:{type:"number",default:1}};});function ip(i,t){if(typeof i=="string"){let n=document.createElement("div");n.innerHTML=i.trim(),i=n.querySelector("svg");}let e={context:t,defs:{},path:new Pe};Zf(i,e);let r=i.children,{fillStyle:s,strokeStyle:o}=Na(i,e);for(let n=0;n<r.length;n++){let a=r[n];a.nodeName.toLowerCase()!=="defs"&&sp(a,e,s,o);}return t}function sp(i,t,e,r){let s=i.children,{fillStyle:o,strokeStyle:n}=Na(i,t);o&&e?e={...e,...o}:o&&(e=o),n&&r?r={...r,...n}:n&&(r=n);let a=!e&&!r;a&&(e={color:0});let l,h,u,c,f,d,m,x,g,_,y,b,v,P,T,w,D;switch(i.nodeName.toLowerCase()){case "path":P=i.getAttribute("d"),i.getAttribute("fill-rule")==="evenodd"&&z("SVG Evenodd fill rule not supported, your svg may render incorrectly"),T=new Pe(P,true),t.context.path(T),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "circle":m=ot(i,"cx",0),x=ot(i,"cy",0),g=ot(i,"r",0),t.context.ellipse(m,x,g,g),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "rect":l=ot(i,"x",0),h=ot(i,"y",0),w=ot(i,"width",0),D=ot(i,"height",0),_=ot(i,"rx",0),y=ot(i,"ry",0),_||y?t.context.roundRect(l,h,w,D,_||y):t.context.rect(l,h,w,D),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "ellipse":m=ot(i,"cx",0),x=ot(i,"cy",0),_=ot(i,"rx",0),y=ot(i,"ry",0),t.context.beginPath(),t.context.ellipse(m,x,_,y),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "line":u=ot(i,"x1",0),c=ot(i,"y1",0),f=ot(i,"x2",0),d=ot(i,"y2",0),t.context.beginPath(),t.context.moveTo(u,c),t.context.lineTo(f,d),r&&t.context.stroke(r);break;case "polygon":v=i.getAttribute("points"),b=v.match(/\d+/g).map(A=>parseInt(A,10)),t.context.poly(b,true),e&&t.context.fill(e),r&&t.context.stroke(r);break;case "polyline":v=i.getAttribute("points"),b=v.match(/\d+/g).map(A=>parseInt(A,10)),t.context.poly(b,false),r&&t.context.stroke(r);break;case "g":case "svg":break;default:{z(`[SVG parser] <${i.nodeName}> elements unsupported`);break}}a&&(e=null);for(let A=0;A<s.length;A++)sp(s[A],t,e,r);}var op=p(()=>{Tt();Wa();Qf();Va();rp();});function Qx(i){return Z.isColorLike(i)}function np(i){return i instanceof fe}function ap(i){return i instanceof kt}function Jx(i){return i instanceof B}function t_(i,t,e){let r=Z.shared.setValue(t??0);return i.color=r.toNumber(),i.alpha=r.alpha===1?e.alpha:r.alpha,i.texture=B.WHITE,{...e,...i}}function e_(i,t,e){return i.texture=t,{...e,...i}}function lp(i,t,e){return i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,{...e,...i}}function hp(i,t,e){return t.buildGradient(),i.fill=t,i.color=16777215,i.texture=t.texture,i.matrix=t.transform,i.textureSpace=t.textureSpace,{...e,...i}}function r_(i,t){let e={...t,...i},r=Z.shared.setValue(e.color);return e.alpha*=r.alpha,e.color=r.toNumber(),e}function pe(i,t){if(i==null)return null;let e={},r=i;return Qx(i)?t_(e,i,t):Jx(i)?e_(e,i,t):np(i)?lp(e,i,t):ap(i)?hp(e,i,t):r.fill&&np(r.fill)?lp(r,r.fill,t):r.fill&&ap(r.fill)?hp(r,r.fill,t):r_(r,t)}function Mr(i,t){let{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...l}=t,h=pe(i,l);return h?{width:e,alignment:r,miterLimit:s,cap:o,join:n,pixelLine:a,...h}:null}var Ya=p(()=>{It();bt();br();ao();});var i_,up,Xa,Lt,$a=p(()=>{Et();It();rt();jt();bt();Mt();ht();Yt();Wa();op();Ya();i_=new N,up=new M,Xa=class ie extends H{constructor(){super(...arguments),this.uid=Y("graphicsContext"),this.dirty=true,this.batchMode="auto",this.instructions=[],this._activePath=new Pe,this._transform=new M,this._fillStyle={...ie.defaultFillStyle},this._strokeStyle={...ie.defaultStrokeStyle},this._stateStack=[],this._tick=0,this._bounds=new nt,this._boundsDirty=true;}clone(){let t=new ie;return t.batchMode=this.batchMode,t.instructions=this.instructions.slice(),t._activePath=this._activePath.clone(),t._transform=this._transform.clone(),t._fillStyle={...this._fillStyle},t._strokeStyle={...this._strokeStyle},t._stateStack=this._stateStack.slice(),t._bounds=this._bounds.clone(),t._boundsDirty=true,t}get fillStyle(){return this._fillStyle}set fillStyle(t){this._fillStyle=pe(t,ie.defaultFillStyle);}get strokeStyle(){return this._strokeStyle}set strokeStyle(t){this._strokeStyle=Mr(t,ie.defaultStrokeStyle);}setFillStyle(t){return this._fillStyle=pe(t,ie.defaultFillStyle),this}setStrokeStyle(t){return this._strokeStyle=pe(t,ie.defaultStrokeStyle),this}texture(t,e,r,s,o,n){return this.instructions.push({action:"texture",data:{image:t,dx:r||0,dy:s||0,dw:o||t.frame.width,dh:n||t.frame.height,transform:this._transform.clone(),alpha:this._fillStyle.alpha,style:e?Z.shared.setValue(e).toNumber():16777215}}),this.onUpdate(),this}beginPath(){return this._activePath=new Pe,this}fill(t,e){let r,s=this.instructions[this.instructions.length-1];return this._tick===0&&s&&s.action==="stroke"?r=s.data.path:r=this._activePath.clone(),r?(t!=null&&(e!==void 0&&typeof t=="number"&&(F(V,"GraphicsContext.fill(color, alpha) is deprecated, use GraphicsContext.fill({ color, alpha }) instead"),t={color:t,alpha:e}),this._fillStyle=pe(t,ie.defaultFillStyle)),this.instructions.push({action:"fill",data:{style:this.fillStyle,path:r}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}_initNextPathLocation(){let{x:t,y:e}=this._activePath.getLastPoint(N.shared);this._activePath.clear(),this._activePath.moveTo(t,e);}stroke(t){let e,r=this.instructions[this.instructions.length-1];return this._tick===0&&r&&r.action==="fill"?e=r.data.path:e=this._activePath.clone(),e?(t!=null&&(this._strokeStyle=Mr(t,ie.defaultStrokeStyle)),this.instructions.push({action:"stroke",data:{style:this.strokeStyle,path:e}}),this.onUpdate(),this._initNextPathLocation(),this._tick=0,this):this}cut(){for(let t=0;t<2;t++){let e=this.instructions[this.instructions.length-1-t],r=this._activePath.clone();if(e&&(e.action==="stroke"||e.action==="fill"))if(e.data.hole)e.data.hole.addPath(r);else {e.data.hole=r;break}}return this._initNextPathLocation(),this}arc(t,e,r,s,o,n){this._tick++;let a=this._transform;return this._activePath.arc(a.a*t+a.c*e+a.tx,a.b*t+a.d*e+a.ty,r,s,o,n),this}arcTo(t,e,r,s,o){this._tick++;let n=this._transform;return this._activePath.arcTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*r+n.c*s+n.tx,n.b*r+n.d*s+n.ty,o),this}arcToSvg(t,e,r,s,o,n,a){this._tick++;let l=this._transform;return this._activePath.arcToSvg(t,e,r,s,o,l.a*n+l.c*a+l.tx,l.b*n+l.d*a+l.ty),this}bezierCurveTo(t,e,r,s,o,n,a){this._tick++;let l=this._transform;return this._activePath.bezierCurveTo(l.a*t+l.c*e+l.tx,l.b*t+l.d*e+l.ty,l.a*r+l.c*s+l.tx,l.b*r+l.d*s+l.ty,l.a*o+l.c*n+l.tx,l.b*o+l.d*n+l.ty,a),this}closePath(){return this._tick++,this._activePath?.closePath(),this}ellipse(t,e,r,s){return this._tick++,this._activePath.ellipse(t,e,r,s,this._transform.clone()),this}circle(t,e,r){return this._tick++,this._activePath.circle(t,e,r,this._transform.clone()),this}path(t){return this._tick++,this._activePath.addPath(t,this._transform.clone()),this}lineTo(t,e){this._tick++;let r=this._transform;return this._activePath.lineTo(r.a*t+r.c*e+r.tx,r.b*t+r.d*e+r.ty),this}moveTo(t,e){this._tick++;let r=this._transform,s=this._activePath.instructions,o=r.a*t+r.c*e+r.tx,n=r.b*t+r.d*e+r.ty;return s.length===1&&s[0].action==="moveTo"?(s[0].data[0]=o,s[0].data[1]=n,this):(this._activePath.moveTo(o,n),this)}quadraticCurveTo(t,e,r,s,o){this._tick++;let n=this._transform;return this._activePath.quadraticCurveTo(n.a*t+n.c*e+n.tx,n.b*t+n.d*e+n.ty,n.a*r+n.c*s+n.tx,n.b*r+n.d*s+n.ty,o),this}rect(t,e,r,s){return this._tick++,this._activePath.rect(t,e,r,s,this._transform.clone()),this}roundRect(t,e,r,s,o){return this._tick++,this._activePath.roundRect(t,e,r,s,o,this._transform.clone()),this}poly(t,e){return this._tick++,this._activePath.poly(t,e,this._transform.clone()),this}regularPoly(t,e,r,s,o=0,n){return this._tick++,this._activePath.regularPoly(t,e,r,s,o,n),this}roundPoly(t,e,r,s,o,n){return this._tick++,this._activePath.roundPoly(t,e,r,s,o,n),this}roundShape(t,e,r,s){return this._tick++,this._activePath.roundShape(t,e,r,s),this}filletRect(t,e,r,s,o){return this._tick++,this._activePath.filletRect(t,e,r,s,o),this}chamferRect(t,e,r,s,o,n){return this._tick++,this._activePath.chamferRect(t,e,r,s,o,n),this}star(t,e,r,s,o=0,n=0){return this._tick++,this._activePath.star(t,e,r,s,o,n,this._transform.clone()),this}svg(t){return this._tick++,ip(t,this),this}restore(){let t=this._stateStack.pop();return t&&(this._transform=t.transform,this._fillStyle=t.fillStyle,this._strokeStyle=t.strokeStyle),this}save(){return this._stateStack.push({transform:this._transform.clone(),fillStyle:{...this._fillStyle},strokeStyle:{...this._strokeStyle}}),this}getTransform(){return this._transform}resetTransform(){return this._transform.identity(),this}rotate(t){return this._transform.rotate(t),this}scale(t,e=t){return this._transform.scale(t,e),this}setTransform(t,e,r,s,o,n){return t instanceof M?(this._transform.set(t.a,t.b,t.c,t.d,t.tx,t.ty),this):(this._transform.set(t,e,r,s,o,n),this)}transform(t,e,r,s,o,n){return t instanceof M?(this._transform.append(t),this):(up.set(t,e,r,s,o,n),this._transform.append(up),this)}translate(t,e=t){return this._transform.translate(t,e),this}clear(){return this._activePath.clear(),this.instructions.length=0,this.resetTransform(),this.onUpdate(),this}onUpdate(){this.dirty||(this.emit("update",this,16),this.dirty=true,this._boundsDirty=true);}get bounds(){if(!this._boundsDirty)return this._bounds;let t=this._bounds;t.clear();for(let e=0;e<this.instructions.length;e++){let r=this.instructions[e],s=r.action;if(s==="fill"){let o=r.data;t.addBounds(o.path.bounds);}else if(s==="texture"){let o=r.data;t.addFrame(o.dx,o.dy,o.dx+o.dw,o.dy+o.dh,o.transform);}if(s==="stroke"){let o=r.data,n=o.style.alignment,a=o.style.width*(1-n),l=o.path.bounds;t.addFrame(l.minX-a,l.minY-a,l.maxX+a,l.maxY+a);}}return t}containsPoint(t){if(!this.bounds.containsPoint(t.x,t.y))return false;let e=this.instructions,r=false;for(let s=0;s<e.length;s++){let o=e[s],n=o.data,a=n.path;if(!o.action||!a)continue;let l=n.style,h=a.shapePath.shapePrimitives;for(let u=0;u<h.length;u++){let c=h[u].shape;if(!l||!c)continue;let f=h[u].transform,d=f?f.applyInverse(t,i_):t;if(o.action==="fill")r=c.contains(d.x,d.y);else {let x=l;r=c.strokeContains(d.x,d.y,x.width,x.alignment);}let m=n.hole;if(m){let x=m.shapePath?.shapePrimitives;if(x)for(let g=0;g<x.length;g++)x[g].shape.contains(d.x,d.y)&&(r=false);}if(r)return true}}return r}destroy(t=false){if(this._stateStack.length=0,this._transform=null,this.emit("destroy",this),this.removeAllListeners(),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._fillStyle.texture&&(this._fillStyle.fill&&"uid"in this._fillStyle.fill?this._fillStyle.fill.destroy():this._fillStyle.texture.destroy(r)),this._strokeStyle.texture&&(this._strokeStyle.fill&&"uid"in this._strokeStyle.fill?this._strokeStyle.fill.destroy():this._strokeStyle.texture.destroy(r));}this._fillStyle=null,this._strokeStyle=null,this.instructions=null,this._activePath=null,this._bounds=null,this._stateStack=null,this.customShader=null,this._transform=null;}};Xa.defaultFillStyle={color:16777215,alpha:1,texture:B.WHITE,matrix:null,fill:null,textureSpace:"local"};Xa.defaultStrokeStyle={width:1,color:16777215,alpha:1,alignment:.5,miterLimit:10,cap:"butt",join:"miter",texture:B.WHITE,matrix:null,fill:null,textureSpace:"local",pixelLine:false};Lt=Xa;});function dp(i){let t=[],e=0;for(let r=0;r<cp.length;r++){let s=`_${cp[r]}`;t[e++]=i[s];}return e=fp(i._fill,t,e),e=o_(i._stroke,t,e),e=n_(i.dropShadow,t,e),e=s_(i.filters,t,e),t.join("-")}function s_(i,t,e){if(!i)return e;for(let r of i)t[e++]=r.uid;return e}function fp(i,t,e){return i&&(t[e++]=i.color,t[e++]=i.alpha,t[e++]=i.fill?.styleKey),e}function o_(i,t,e){return i&&(e=fp(i,t,e),t[e++]=i.width,t[e++]=i.alignment,t[e++]=i.cap,t[e++]=i.join,t[e++]=i.miterLimit),e}function n_(i,t,e){return i&&(t[e++]=i.alpha,t[e++]=i.angle,t[e++]=i.blur,t[e++]=i.distance,t[e++]=Z.shared.setValue(i.color).toNumber()),e}var cp,pp=p(()=>{It();cp=["align","breakWords","cssOverrides","fontVariant","fontWeight","leading","letterSpacing","lineHeight","padding","textBaseline","trim","whiteSpace","wordWrap","wordWrapWidth","fontFamily","fontStyle","fontSize"];});function a_(i){let t=i;if(typeof t.dropShadow=="boolean"&&t.dropShadow){let e=me.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){F(V,"strokeThickness is now a part of stroke");let e=t.stroke,r={};if(Z.isColorLike(e))r.color=e;else if(e instanceof kt||e instanceof fe)r.fill=e;else if(Object.hasOwnProperty.call(e,"color")||Object.hasOwnProperty.call(e,"fill"))r=e;else throw new Error("Invalid stroke value.");i.stroke={...r,width:t.strokeThickness};}if(Array.isArray(t.fillGradientStops)){if(F(V,"gradient fill is now a fill pattern: `new FillGradient(...)`"),!Array.isArray(t.fill)||t.fill.length===0)throw new Error("Invalid fill value. Expected an array of colors for gradient fill.");t.fill.length!==t.fillGradientStops.length&&z("The number of fill colors must match the number of fill gradient stops.");let e=new kt({start:{x:0,y:0},end:{x:0,y:1},textureSpace:"local"}),r=t.fillGradientStops.slice(),s=t.fill.map(o=>Z.shared.setValue(o).toNumber());r.forEach((o,n)=>{e.addColorStop(o,s[n]);}),i.fill={fill:e};}}var ja,me,xo=p(()=>{Et();It();ht();Tt();br();ao();$a();Ya();pp();ja=class Ar extends H{constructor(t={}){super(),a_(t);let e={...Ar.defaultTextStyle,...t};for(let r in e){let s=r;this[s]=e[r];}this.update();}get align(){return this._align}set align(t){this._align=t,this.update();}get breakWords(){return this._breakWords}set breakWords(t){this._breakWords=t,this.update();}get dropShadow(){return this._dropShadow}set dropShadow(t){t!==null&&typeof t=="object"?this._dropShadow=this._createProxy({...Ar.defaultDropShadow,...t}):this._dropShadow=t?this._createProxy({...Ar.defaultDropShadow}):null,this.update();}get fontFamily(){return this._fontFamily}set fontFamily(t){this._fontFamily=t,this.update();}get fontSize(){return this._fontSize}set fontSize(t){typeof t=="string"?this._fontSize=parseInt(t,10):this._fontSize=t,this.update();}get fontStyle(){return this._fontStyle}set fontStyle(t){this._fontStyle=t.toLowerCase(),this.update();}get fontVariant(){return this._fontVariant}set fontVariant(t){this._fontVariant=t,this.update();}get fontWeight(){return this._fontWeight}set fontWeight(t){this._fontWeight=t,this.update();}get leading(){return this._leading}set leading(t){this._leading=t,this.update();}get letterSpacing(){return this._letterSpacing}set letterSpacing(t){this._letterSpacing=t,this.update();}get lineHeight(){return this._lineHeight}set lineHeight(t){this._lineHeight=t,this.update();}get padding(){return this._padding}set padding(t){this._padding=t,this.update();}get filters(){return this._filters}set filters(t){this._filters=t,this.update();}get trim(){return this._trim}set trim(t){this._trim=t,this.update();}get textBaseline(){return this._textBaseline}set textBaseline(t){this._textBaseline=t,this.update();}get whiteSpace(){return this._whiteSpace}set whiteSpace(t){this._whiteSpace=t,this.update();}get wordWrap(){return this._wordWrap}set wordWrap(t){this._wordWrap=t,this.update();}get wordWrapWidth(){return this._wordWrapWidth}set wordWrapWidth(t){this._wordWrapWidth=t,this.update();}get fill(){return this._originalFill}set fill(t){t!==this._originalFill&&(this._originalFill=t,this._isFillStyle(t)&&(this._originalFill=this._createProxy({...Lt.defaultFillStyle,...t},()=>{this._fill=pe({...this._originalFill},Lt.defaultFillStyle);})),this._fill=pe(t===0?"black":t,Lt.defaultFillStyle),this.update());}get stroke(){return this._originalStroke}set stroke(t){t!==this._originalStroke&&(this._originalStroke=t,this._isFillStyle(t)&&(this._originalStroke=this._createProxy({...Lt.defaultStrokeStyle,...t},()=>{this._stroke=Mr({...this._originalStroke},Lt.defaultStrokeStyle);})),this._stroke=Mr(t,Lt.defaultStrokeStyle),this.update());}_generateKey(){return this._styleKey=dp(this),this._styleKey}update(){this._styleKey=null,this.emit("update",this);}reset(){let t=Ar.defaultTextStyle;for(let e in t)this[e]=t[e];}get styleKey(){return this._styleKey||this._generateKey()}clone(){return new Ar({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,filters:this._filters?[...this._filters]:void 0})}_getFinalPadding(){let t=0;if(this._filters)for(let e=0;e<this._filters.length;e++)t+=this._filters[e].padding;return Math.max(this._padding,t)}destroy(t=false){if(this.removeAllListeners(),typeof t=="boolean"?t:t?.texture){let r=typeof t=="boolean"?t:t?.textureSource;this._fill?.texture&&this._fill.texture.destroy(r),this._originalFill?.texture&&this._originalFill.texture.destroy(r),this._stroke?.texture&&this._stroke.texture.destroy(r),this._originalStroke?.texture&&this._originalStroke.texture.destroy(r);}this._fill=null,this._stroke=null,this.dropShadow=null,this._originalStroke=null,this._originalFill=null;}_createProxy(t,e){return new Proxy(t,{set:(r,s,o)=>(r[s]=o,e?.(s,o),this.update(),true)})}_isFillStyle(t){return (t??null)!==null&&!(Z.isColorLike(t)||t instanceof kt||t instanceof fe)}};ja.defaultDropShadow={alpha:1,angle:Math.PI/6,blur:0,color:"black",distance:5};ja.defaultTextStyle={align:"left",breakWords:false,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:false,whiteSpace:"pre",wordWrap:false,wordWrapWidth:100};me=ja;});function _o(i,t,e,r){let s=l_;s.minX=0,s.minY=0,s.maxX=i.width/r|0,s.maxY=i.height/r|0;let o=wt.getOptimalTexture(s.width,s.height,r,false);return o.source.uploadMethodId="image",o.source.resource=i,o.source.alphaMode="premultiply-alpha-on-upload",o.frame.width=t/r,o.frame.height=e/r,o.source.emit("update",o.source),o.updateUvs(),o}var l_,qa=p(()=>{tr();Yt();l_=new nt;});var Ka,se,Mi=p(()=>{Ut();Yr();Ka=class{constructor(t){this._canvasPool=Object.create(null),this.canvasOptions=t||{},this.enableFullScreen=false;}_createCanvasAndContext(t,e){let r=tt.get().createCanvas();r.width=t,r.height=e;let s=r.getContext("2d");return {canvas:r,context:s}}getOptimalCanvasAndContext(t,e,r=1){t=Math.ceil(t*r-1e-6),e=Math.ceil(e*r-1e-6),t=le(t),e=le(e);let s=(t<<17)+(e<<1);this._canvasPool[s]||(this._canvasPool[s]=[]);let o=this._canvasPool[s].pop();return o||(o=this._createCanvasAndContext(t,e)),o}returnCanvasAndContext(t){let e=t.canvas,{width:r,height:s}=e,o=(r<<17)+(s<<1);t.context.resetTransform(),t.context.clearRect(0,0,r,s),this._canvasPool[o].push(t);}clear(){this._canvasPool={};}},se=new Ka;});function h_(i,t){Ne||(Ne=tt.get().createCanvas(256,128),ge=Ne.getContext("2d",{willReadFrequently:true}),ge.globalCompositeOperation="copy",ge.globalAlpha=1),(Ne.width<i||Ne.height<t)&&(Ne.width=le(i),Ne.height=le(t));}function mp(i,t,e){for(let r=0,s=4*e*t;r<t;++r,s+=4)if(i[s+3]!==0)return false;return true}function gp(i,t,e,r,s){let o=4*t;for(let n=r,a=r*o+4*e;n<=s;++n,a+=o)if(i[a+3]!==0)return false;return true}function xp(...i){let t=i[0];t.canvas||(t={canvas:i[0],resolution:i[1]});let{canvas:e}=t,r=Math.min(t.resolution??1,1),s=t.width??e.width,o=t.height??e.height,n=t.output;if(h_(s,o),!ge)throw new TypeError("Failed to get canvas 2D context");ge.drawImage(e,0,0,s,o,0,0,s*r,o*r);let l=ge.getImageData(0,0,s,o).data,h=0,u=0,c=s-1,f=o-1;for(;u<o&&mp(l,s,u);)++u;if(u===o)return $.EMPTY;for(;mp(l,s,f);)--f;for(;gp(l,s,h,u,f);)++h;for(;gp(l,s,c,u,f);)--c;return ++c,++f,ge.globalCompositeOperation="source-over",ge.strokeRect(h,u,c-h,f-u),ge.globalCompositeOperation="copy",n??(n=new $),n.set(h/r,u/r,(c-h)/r,(f-u)/r),n}var Ne,ge,_p=p(()=>{Ut();Yr();Ft();Ne=null,ge=null;});function Ye(i){let t=typeof i.fontSize=="number"?`${i.fontSize}px`:i.fontSize,e=i.fontFamily;Array.isArray(i.fontFamily)||(e=i.fontFamily.split(","));for(let r=e.length-1;r>=0;r--){let s=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(s)&&!u_.includes(s)&&(s=`"${s}"`),e[r]=s;}return `${i.fontStyle} ${i.fontVariant} ${i.fontWeight} ${t} ${e.join(",")}`}var u_,yo=p(()=>{u_=["serif","sans-serif","monospace","cursive","fantasy","system-ui"];});var Za,oe,Gt,Ai=p(()=>{Ut();yo();Za={willReadFrequently:true},oe=class G{static get experimentalLetterSpacingSupported(){let t=G._experimentalLetterSpacingSupported;if(t===void 0){let e=tt.get().getCanvasRenderingContext2D().prototype;t=G._experimentalLetterSpacingSupported="letterSpacing"in e||"textLetterSpacing"in e;}return t}constructor(t,e,r,s,o,n,a,l,h){this.text=t,this.style=e,this.width=r,this.height=s,this.lines=o,this.lineWidths=n,this.lineHeight=a,this.maxLineWidth=l,this.fontProperties=h;}static measureText(t=" ",e,r=G._canvas,s=e.wordWrap){let o=Ye(e),n=G.measureFont(o);n.fontSize===0&&(n.fontSize=e.fontSize,n.ascent=e.fontSize);let a=G.__context;a.font=o;let h=(s?G._wordWrap(t,e,r):t).split(/(?:\r\n|\r|\n)/),u=new Array(h.length),c=0;for(let _=0;_<h.length;_++){let y=G._measureText(h[_],e.letterSpacing,a);u[_]=y,c=Math.max(c,y);}let f=e._stroke?.width||0,d=c+f;e.dropShadow&&(d+=e.dropShadow.distance);let m=e.lineHeight||n.fontSize,x=Math.max(m,n.fontSize+f)+(h.length-1)*(m+e.leading);return e.dropShadow&&(x+=e.dropShadow.distance),new G(t,e,d,x,h,u,m+e.leading,c,n)}static _measureText(t,e,r){let s=false;G.experimentalLetterSpacingSupported&&(G.experimentalLetterSpacing?(r.letterSpacing=`${e}px`,r.textLetterSpacing=`${e}px`,s=true):(r.letterSpacing="0px",r.textLetterSpacing="0px"));let o=r.measureText(t),n=o.width,a=-o.actualBoundingBoxLeft,h=o.actualBoundingBoxRight-a;if(n>0)if(s)n-=e,h-=e;else {let u=(G.graphemeSegmenter(t).length-1)*e;n+=u,h+=u;}return Math.max(n,h)}static _wordWrap(t,e,r=G._canvas){let s=r.getContext("2d",Za),o=0,n="",a="",l=Object.create(null),{letterSpacing:h,whiteSpace:u}=e,c=G._collapseSpaces(u),f=G._collapseNewlines(u),d=!c,m=e.wordWrapWidth+h,x=G._tokenize(t);for(let g=0;g<x.length;g++){let _=x[g];if(G._isNewline(_)){if(!f){a+=G._addLine(n),d=!c,n="",o=0;continue}_=" ";}if(c){let b=G.isBreakingSpace(_),v=G.isBreakingSpace(n[n.length-1]);if(b&&v)continue}let y=G._getFromCache(_,h,l,s);if(y>m)if(n!==""&&(a+=G._addLine(n),n="",o=0),G.canBreakWords(_,e.breakWords)){let b=G.wordWrapSplit(_);for(let v=0;v<b.length;v++){let P=b[v],T=P,w=1;for(;b[v+w];){let A=b[v+w];if(!G.canBreakChars(T,A,_,v,e.breakWords))P+=A;else break;T=A,w++;}v+=w-1;let D=G._getFromCache(P,h,l,s);D+o>m&&(a+=G._addLine(n),d=false,n="",o=0),n+=P,o+=D;}}else {n.length>0&&(a+=G._addLine(n),n="",o=0);let b=g===x.length-1;a+=G._addLine(_,!b),d=false,n="",o=0;}else y+o>m&&(d=false,a+=G._addLine(n),n="",o=0),(n.length>0||!G.isBreakingSpace(_)||d)&&(n+=_,o+=y);}return a+=G._addLine(n,false),a}static _addLine(t,e=true){return t=G._trimRight(t),t=e?`${t}
368
- `:t,t}static _getFromCache(t,e,r,s){let o=r[t];return typeof o!="number"&&(o=G._measureText(t,e,s)+e,r[t]=o),o}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--){let r=t[e];if(!G.isBreakingSpace(r))break;t=t.slice(0,-1);}return t}static _isNewline(t){return typeof t!="string"?false:G._newlines.includes(t.charCodeAt(0))}static isBreakingSpace(t,e){return typeof t!="string"?false:G._breakingSpaces.includes(t.charCodeAt(0))}static _tokenize(t){let e=[],r="";if(typeof t!="string")return e;for(let s=0;s<t.length;s++){let o=t[s],n=t[s+1];if(G.isBreakingSpace(o,n)||G._isNewline(o)){r!==""&&(e.push(r),r=""),o==="\r"&&n===`
369
- `?(e.push(`\r
370
- `),s++):e.push(o);continue}r+=o;}return r!==""&&e.push(r),e}static canBreakWords(t,e){return e}static canBreakChars(t,e,r,s,o){return true}static wordWrapSplit(t){return G.graphemeSegmenter(t)}static measureFont(t){if(G._fonts[t])return G._fonts[t];let e=G._context;e.font=t;let r=e.measureText(G.METRICS_STRING+G.BASELINE_SYMBOL),s={ascent:r.actualBoundingBoxAscent,descent:r.actualBoundingBoxDescent,fontSize:r.actualBoundingBoxAscent+r.actualBoundingBoxDescent};return G._fonts[t]=s,s}static clearMetrics(t=""){t?delete G._fonts[t]:G._fonts={};}static get _canvas(){if(!G.__canvas){let t;try{let e=new OffscreenCanvas(0,0);if(e.getContext("2d",Za)?.measureText)return G.__canvas=e,e;t=tt.get().createCanvas();}catch{t=tt.get().createCanvas();}t.width=t.height=10,G.__canvas=t;}return G.__canvas}static get _context(){return G.__context||(G.__context=G._canvas.getContext("2d",Za)),G.__context}};oe.METRICS_STRING="|\xC9q\xC5";oe.BASELINE_SYMBOL="M";oe.BASELINE_MULTIPLIER=1.4;oe.HEIGHT_MULTIPLIER=2;oe.graphemeSegmenter=(()=>{if(typeof Intl?.Segmenter=="function"){let i=new Intl.Segmenter;return t=>{let e=i.segment(t),r=[],s=0;for(let o of e)r[s++]=o.segment;return r}}return i=>[...i]})();oe.experimentalLetterSpacing=false;oe._fonts={};oe._newlines=[10,13];oe._breakingSpaces=[9,32,8192,8193,8194,8195,8196,8197,8198,8200,8201,8202,8287,12288];Gt=oe;});function Cr(i,t,e,r=0){if(i.texture===B.WHITE&&!i.fill)return Z.shared.setValue(i.color).setAlpha(i.alpha??1).toHexa();if(i.fill){if(i.fill instanceof fe){let s=i.fill,o=t.createPattern(s.texture.source.resource,"repeat"),n=s.transform.copyTo(M.shared);return n.scale(s.texture.frame.width,s.texture.frame.height),o.setTransform(n),o}else if(i.fill instanceof kt){let s=i.fill,o=s.type==="linear",n=s.textureSpace==="local",a=1,l=1;n&&e&&(a=e.width+r,l=e.height+r);let h,u=false;if(o){let{start:c,end:f}=s;h=t.createLinearGradient(c.x*a,c.y*l,f.x*a,f.y*l),u=Math.abs(f.x-c.x)<Math.abs((f.y-c.y)*.1);}else {let{center:c,innerRadius:f,outerCenter:d,outerRadius:m}=s;h=t.createRadialGradient(c.x*a,c.y*l,f*a,d.x*a,d.y*l,m*a);}if(u&&n&&e){let c=e.lineHeight/l;for(let f=0;f<e.lines.length;f++){let d=(f*e.lineHeight+r/2)/l;s.colorStops.forEach(m=>{let x=d+m.offset*c;h.addColorStop(Math.floor(x*yp)/yp,Z.shared.setValue(m.color).toHex());});}}else s.colorStops.forEach(c=>{h.addColorStop(c.offset,Z.shared.setValue(c.color).toHex());});return h}}else {let s=t.createPattern(i.texture.source.resource,"repeat"),o=i.matrix.copyTo(M.shared);return o.scale(i.texture.frame.width,i.texture.frame.height),s.setTransform(o),s}return z("FillStyle not recognised",i),"red"}var yp,Qa=p(()=>{It();rt();bt();Tt();br();ao();yp=1e5;});var bp,Ja,bo,vp=p(()=>{It();Ft();Mi();_p();Ai();yo();Qa();bp=new $,Ja=class{getCanvasAndContext(t){let{text:e,style:r,resolution:s=1}=t,o=r._getFinalPadding(),n=Gt.measureText(e||" ",r),a=Math.ceil(Math.ceil(Math.max(1,n.width)+o*2)*s),l=Math.ceil(Math.ceil(Math.max(1,n.height)+o*2)*s),h=se.getOptimalCanvasAndContext(a,l);this._renderTextToCanvas(e,r,o,s,h);let u=r.trim?xp({canvas:h.canvas,width:a,height:l,resolution:1,output:bp}):bp.set(0,0,a,l);return {canvasAndContext:h,frame:u}}returnCanvasAndContext(t){se.returnCanvasAndContext(t);}_renderTextToCanvas(t,e,r,s,o){let{canvas:n,context:a}=o,l=Ye(e),h=Gt.measureText(t||" ",e),u=h.lines,c=h.lineHeight,f=h.lineWidths,d=h.maxLineWidth,m=h.fontProperties,x=n.height;if(a.resetTransform(),a.scale(s,s),a.textBaseline=e.textBaseline,e._stroke?.width){let b=e._stroke;a.lineWidth=b.width,a.miterLimit=b.miterLimit,a.lineJoin=b.join,a.lineCap=b.cap;}a.font=l;let g,_,y=e.dropShadow?2:1;for(let b=0;b<y;++b){let v=e.dropShadow&&b===0,P=v?Math.ceil(Math.max(1,x)+r*2):0,T=P*s;if(v){a.fillStyle="black",a.strokeStyle="black";let A=e.dropShadow,E=A.color,C=A.alpha;a.shadowColor=Z.shared.setValue(E).setAlpha(C).toRgbaString();let O=A.blur*s,j=A.distance*s;a.shadowBlur=O,a.shadowOffsetX=Math.cos(A.angle)*j,a.shadowOffsetY=Math.sin(A.angle)*j+T;}else {if(a.fillStyle=e._fill?Cr(e._fill,a,h,r*2):null,e._stroke?.width){let A=e._stroke.width*.5+r*2;a.strokeStyle=Cr(e._stroke,a,h,A);}a.shadowColor="black";}let w=(c-m.fontSize)/2;c-m.fontSize<0&&(w=0);let D=e._stroke?.width??0;for(let A=0;A<u.length;A++)g=D/2,_=D/2+A*c+m.ascent+w,e.align==="right"?g+=d-f[A]:e.align==="center"&&(g+=(d-f[A])/2),e._stroke?.width&&this._drawLetterSpacing(u[A],e,o,g+r,_+r-P,true),e._fill!==void 0&&this._drawLetterSpacing(u[A],e,o,g+r,_+r-P);}}_drawLetterSpacing(t,e,r,s,o,n=false){let{context:a}=r,l=e.letterSpacing,h=false;if(Gt.experimentalLetterSpacingSupported&&(Gt.experimentalLetterSpacing?(a.letterSpacing=`${l}px`,a.textLetterSpacing=`${l}px`,h=true):(a.letterSpacing="0px",a.textLetterSpacing="0px")),l===0||h){n?a.strokeText(t,s,o):a.fillText(t,s,o);return}let u=s,c=Gt.graphemeSegmenter(t),f=a.measureText(t).width,d=0;for(let m=0;m<c.length;++m){let x=c[m];n?a.strokeText(x,u,o):a.fillText(x,u,o);let g="";for(let _=m+1;_<c.length;++_)g+=c[_];d=a.measureText(g).width,u+=f-d+l,f=d;}}},bo=new Ja;});var Ci,Sp=p(()=>{k();tr();Je();ht();xo();qa();vp();Ci=class{constructor(t){this._renderer=t;}getTexture(t,e,r,s){typeof t=="string"&&(F("8.0.0","CanvasTextSystem.getTexture: Use object TextOptions instead of separate arguments"),t={text:t,style:r,resolution:e}),t.style instanceof me||(t.style=new me(t.style)),t.textureStyle instanceof Vt||(t.textureStyle=new Vt(t.textureStyle)),typeof t.text!="string"&&(t.text=t.text.toString());let{text:o,style:n,textureStyle:a}=t,l=t.resolution??this._renderer.resolution,{frame:h,canvasAndContext:u}=bo.getCanvasAndContext({text:o,style:n,resolution:l}),c=_o(u.canvas,h.width,h.height,l);if(a&&(c.source.style=a),n.trim&&(h.pad(n.padding),c.frame.copyFrom(h),c.frame.scale(1/l),c.updateUvs()),n.filters){let f=this._applyFilters(c,n.filters);return this.returnTexture(c),bo.returnCanvasAndContext(u),f}return this._renderer.texture.initSource(c._source),bo.returnCanvasAndContext(u),c}returnTexture(t){let e=t.source;e.resource=null,e.uploadMethodId="unknown",e.alphaMode="no-premultiply-alpha",wt.returnTexture(t,true);}renderTextToCanvas(){F("8.10.0","CanvasTextSystem.renderTextToCanvas: no longer supported, use CanvasTextSystem.getTexture instead");}_applyFilters(t,e){let r=this._renderer.renderTarget.renderTarget,s=this._renderer.filter.generateFilteredTexture({texture:t,filters:e});return this._renderer.renderTarget.bind(r,false),s}destroy(){this._renderer=null;}};Ci.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"canvasText"};});var tl=p(()=>{k();Mf();Sp();I.add(Ci);I.add(Ti);});var vo,Tp=p(()=>{ht();wn();$a();vo=class i extends or{constructor(t){t instanceof Lt&&(t={context:t});let{context:e,roundPixels:r,...s}=t||{};super({label:"Graphics",...s}),this.renderPipeId="graphics",e?this._context=e:this._context=this._ownedContext=new Lt,this._context.on("update",this.onViewUpdate,this),this.didViewUpdate=true,this.allowChildren=false,this.roundPixels=r??false;}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}updateBounds(){}containsPoint(t){return this._context.containsPoint(t)}destroy(t){this._ownedContext&&!t?this._ownedContext.destroy(t):(t===true||t?.context===true)&&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=false){return t?new i(this._context.clone()):(this._ownedContext=null,new i(this._context))}lineStyle(t,e,r){F(V,"Graphics#lineStyle is no longer needed. Use Graphics#setStrokeStyle to set the stroke style.");let s={};return t&&(s.width=t),e&&(s.color=e),r&&(s.alpha=r),this.context.strokeStyle=s,this}beginFill(t,e){F(V,"Graphics#beginFill is no longer needed. Use Graphics#fill to fill the shape with the desired style.");let r={};return t!==void 0&&(r.color=t),e!==void 0&&(r.alpha=e),this.context.fillStyle=r,this}endFill(){F(V,"Graphics#endFill is no longer needed. Use Graphics#fill to fill the shape with the desired style."),this.context.fill();let t=this.context.strokeStyle;return (t.width!==Lt.defaultStrokeStyle.width||t.color!==Lt.defaultStrokeStyle.color||t.alpha!==Lt.defaultStrokeStyle.alpha)&&this.context.stroke(),this}drawCircle(...t){return F(V,"Graphics#drawCircle has been renamed to Graphics#circle"),this._callContextMethod("circle",t)}drawEllipse(...t){return F(V,"Graphics#drawEllipse has been renamed to Graphics#ellipse"),this._callContextMethod("ellipse",t)}drawPolygon(...t){return F(V,"Graphics#drawPolygon has been renamed to Graphics#poly"),this._callContextMethod("poly",t)}drawRect(...t){return F(V,"Graphics#drawRect has been renamed to Graphics#rect"),this._callContextMethod("rect",t)}drawRoundedRect(...t){return F(V,"Graphics#drawRoundedRect has been renamed to Graphics#roundRect"),this._callContextMethod("roundRect",t)}drawStar(...t){return F(V,"Graphics#drawStar has been renamed to Graphics#star"),this._callContextMethod("star",t)}};});var wp,Pp,Mp=p(()=>{wp={name:"local-uniform-msdf-bit",vertex:{header:`
371
- struct LocalUniforms {
372
- uColor:vec4<f32>,
373
- uTransformMatrix:mat3x3<f32>,
374
- uDistance: f32,
375
- uRound:f32,
376
- }
377
-
378
- @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
379
- `,main:`
380
- vColor *= localUniforms.uColor;
381
- modelMatrix *= localUniforms.uTransformMatrix;
382
- `,end:`
383
- if(localUniforms.uRound == 1)
384
- {
385
- vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
386
- }
387
- `},fragment:{header:`
388
- struct LocalUniforms {
389
- uColor:vec4<f32>,
390
- uTransformMatrix:mat3x3<f32>,
391
- uDistance: f32
392
- }
393
-
394
- @group(2) @binding(0) var<uniform> localUniforms : LocalUniforms;
395
- `,main:`
396
- outColor = vec4<f32>(calculateMSDFAlpha(outColor, localUniforms.uColor, localUniforms.uDistance));
397
- `}},Pp={name:"local-uniform-msdf-bit",vertex:{header:`
398
- uniform mat3 uTransformMatrix;
399
- uniform vec4 uColor;
400
- uniform float uRound;
401
- `,main:`
402
- vColor *= uColor;
403
- modelMatrix *= uTransformMatrix;
404
- `,end:`
405
- if(uRound == 1.)
406
- {
407
- gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
408
- }
409
- `},fragment:{header:`
410
- uniform float uDistance;
411
- `,main:`
412
- outColor = vec4(calculateMSDFAlpha(outColor, vColor, uDistance));
413
- `}};});var Ap,Cp,Ep=p(()=>{Ap={name:"msdf-bit",fragment:{header:`
414
- fn calculateMSDFAlpha(msdfColor:vec4<f32>, shapeColor:vec4<f32>, distance:f32) -> f32 {
415
-
416
- // MSDF
417
- var median = msdfColor.r + msdfColor.g + msdfColor.b -
418
- min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
419
- max(msdfColor.r, max(msdfColor.g, msdfColor.b));
420
-
421
- // SDF
422
- median = min(median, msdfColor.a);
423
-
424
- var screenPxDistance = distance * (median - 0.5);
425
- var alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
426
- if (median < 0.01) {
427
- alpha = 0.0;
428
- } else if (median > 0.99) {
429
- alpha = 1.0;
430
- }
431
-
432
- // Gamma correction for coverage-like alpha
433
- var luma: f32 = dot(shapeColor.rgb, vec3<f32>(0.299, 0.587, 0.114));
434
- var gamma: f32 = mix(1.0, 1.0 / 2.2, luma);
435
- var coverage: f32 = pow(shapeColor.a * alpha, gamma);
436
-
437
- return coverage;
438
-
439
- }
440
- `}},Cp={name:"msdf-bit",fragment:{header:`
441
- float calculateMSDFAlpha(vec4 msdfColor, vec4 shapeColor, float distance) {
442
-
443
- // MSDF
444
- float median = msdfColor.r + msdfColor.g + msdfColor.b -
445
- min(msdfColor.r, min(msdfColor.g, msdfColor.b)) -
446
- max(msdfColor.r, max(msdfColor.g, msdfColor.b));
447
-
448
- // SDF
449
- median = min(median, msdfColor.a);
450
-
451
- float screenPxDistance = distance * (median - 0.5);
452
- float alpha = clamp(screenPxDistance + 0.5, 0.0, 1.0);
453
-
454
- if (median < 0.01) {
455
- alpha = 0.0;
456
- } else if (median > 0.99) {
457
- alpha = 1.0;
458
- }
459
-
460
- // Gamma correction for coverage-like alpha
461
- float luma = dot(shapeColor.rgb, vec3(0.299, 0.587, 0.114));
462
- float gamma = mix(1.0, 1.0 / 2.2, luma);
463
- float coverage = pow(shapeColor.a * alpha, gamma);
464
-
465
- return coverage;
466
- }
467
- `}};});var el,rl,So,Fp=p(()=>{rt();Os();Jn();ra();Ns();sa();di();Se();Mp();Ep();So=class extends re{constructor(t){let e=new Ct({uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uDistance:{value:4,type:"f32"},uRound:{value:0,type:"f32"}});el??(el=pr({name:"sdf-shader",bits:[zs,Vs(t),wp,Ap,gr]})),rl??(rl=mr({name:"sdf-shader",bits:[Ws,Hs(t),Pp,Cp,xr]})),super({glProgram:rl,gpuProgram:el,resources:{localUniforms:e,batchSamplers:Ys(t)}});}};});var To,Bp=p(()=>{Et();ht();To=class extends H{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=true,this.baseMeasurementFontSize=100,this.baseRenderedFontSize=100;}get font(){return F(V,"BitmapFont.font is deprecated, please use BitmapFont.fontFamily instead."),this.fontFamily}get pageTextures(){return F(V,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}get size(){return F(V,"BitmapFont.size is deprecated, please use BitmapFont.fontMetrics.fontSize instead."),this.fontMetrics.fontSize}get distanceFieldRange(){return F(V,"BitmapFont.distanceFieldRange is deprecated, please use BitmapFont.distanceField.range instead."),this.distanceField.range}get distanceFieldType(){return F(V,"BitmapFont.distanceFieldType is deprecated, please use BitmapFont.distanceField.type instead."),this.distanceField.type}destroy(t=false){this.emit("destroy",this),this.removeAllListeners();for(let e in this.chars)this.chars[e].texture?.destroy();this.chars=null,t&&(this.pages.forEach(e=>e.texture.destroy(true)),this.pages=null);}};});var kp,il,Ip=p(()=>{It();Ft();Mi();Ms();bt();Je();ht();Ai();yo();Qa();xo();Bp();kp=class Gp extends To{constructor(t){super(),this.resolution=1,this.pages=[],this._padding=0,this._measureCache=Object.create(null),this._currentChars=[],this._currentX=0,this._currentY=0,this._currentMaxCharHeight=0,this._currentPageIndex=-1,this._skipKerning=false;let e={...Gp.defaultOptions,...t};this._textureSize=e.textureSize,this._mipmap=e.mipmap;let r=e.style.clone();e.overrideFill&&(r._fill.color=16777215,r._fill.alpha=1,r._fill.texture=B.WHITE,r._fill.fill=null),this.applyFillAsTint=e.overrideFill;let s=r.fontSize;r.fontSize=this.baseMeasurementFontSize;let o=Ye(r);e.overrideSize?r._stroke&&(r._stroke.width*=this.baseRenderedFontSize/s):r.fontSize=this.baseRenderedFontSize=s,this._style=r,this._skipKerning=e.skipKerning??false,this.resolution=e.resolution??1,this._padding=e.padding??4,e.textureStyle&&(this._textureStyle=e.textureStyle instanceof Vt?e.textureStyle:new Vt(e.textureStyle)),this.fontMetrics=Gt.measureFont(o),this.lineHeight=r.lineHeight||this.fontMetrics.fontSize||r.fontSize;}ensureCharacters(t){let e=Gt.graphemeSegmenter(t).filter(g=>!this._currentChars.includes(g)).filter((g,_,y)=>y.indexOf(g)===_);if(!e.length)return;this._currentChars=[...this._currentChars,...e];let r;this._currentPageIndex===-1?r=this._nextPage():r=this.pages[this._currentPageIndex];let{canvas:s,context:o}=r.canvasAndContext,n=r.texture.source,a=this._style,l=this._currentX,h=this._currentY,u=this._currentMaxCharHeight,c=this.baseRenderedFontSize/this.baseMeasurementFontSize,f=this._padding*c,d=false,m=s.width/this.resolution,x=s.height/this.resolution;for(let g=0;g<e.length;g++){let _=e[g],y=Gt.measureText(_,a,s,false);y.lineHeight=y.height;let b=y.width*c,v=Math.ceil((a.fontStyle==="italic"?2:1)*b),P=y.height*c,T=v+f*2,w=P+f*2;if(d=false,_!==`
468
- `&&_!=="\r"&&_!==" "&&_!==" "&&(d=true,u=Math.ceil(Math.max(w,u))),l+T>m&&(h+=u,u=w,l=0,h+u>x)){n.update();let A=this._nextPage();s=A.canvasAndContext.canvas,o=A.canvasAndContext.context,n=A.texture.source,l=0,h=0,u=0;}let D=b/c-(a.dropShadow?.distance??0)-(a._stroke?.width??0);if(this.chars[_]={id:_.codePointAt(0),xOffset:-this._padding,yOffset:-this._padding,xAdvance:D,kerning:{}},d){this._drawGlyph(o,y,l+f,h+f,c,a);let A=n.width*c,E=n.height*c,C=new $(l/A*n.width,h/E*n.height,T/A*n.width,w/E*n.height);this.chars[_].texture=new B({source:n,frame:C}),l+=Math.ceil(T);}}n.update(),this._currentX=l,this._currentY=h,this._currentMaxCharHeight=u,this._skipKerning&&this._applyKerning(e,o);}get pageTextures(){return F(V,"BitmapFont.pageTextures is deprecated, please use BitmapFont.pages instead."),this.pages}_applyKerning(t,e){let r=this._measureCache;for(let s=0;s<t.length;s++){let o=t[s];for(let n=0;n<this._currentChars.length;n++){let a=this._currentChars[n],l=r[o];l||(l=r[o]=e.measureText(o).width);let h=r[a];h||(h=r[a]=e.measureText(a).width);let u=e.measureText(o+a).width,c=u-(l+h);c&&(this.chars[o].kerning[a]=c),u=e.measureText(o+a).width,c=u-(l+h),c&&(this.chars[a].kerning[o]=c);}}}_nextPage(){this._currentPageIndex++;let t=this.resolution,e=se.getOptimalCanvasAndContext(this._textureSize,this._textureSize,t);this._setupContext(e.context,this._style,t);let r=t*(this.baseRenderedFontSize/this.baseMeasurementFontSize),s=new B({source:new Qt({resource:e.canvas,resolution:r,alphaMode:"premultiply-alpha-on-upload",autoGenerateMipmaps:this._mipmap})});this._textureStyle&&(s.source.style=this._textureStyle);let o={canvasAndContext:e,texture:s};return this.pages[this._currentPageIndex]=o,o}_setupContext(t,e,r){e.fontSize=this.baseRenderedFontSize,t.scale(r,r),t.font=Ye(e),e.fontSize=this.baseMeasurementFontSize,t.textBaseline=e.textBaseline;let s=e._stroke,o=s?.width??0;if(s&&(t.lineWidth=o,t.lineJoin=s.join,t.miterLimit=s.miterLimit,t.strokeStyle=Cr(s,t)),e._fill&&(t.fillStyle=Cr(e._fill,t)),e.dropShadow){let n=e.dropShadow,a=Z.shared.setValue(n.color).toArray(),l=n.blur*r,h=n.distance*r;t.shadowColor=`rgba(${a[0]*255},${a[1]*255},${a[2]*255},${n.alpha})`,t.shadowBlur=l,t.shadowOffsetX=Math.cos(n.angle)*h,t.shadowOffsetY=Math.sin(n.angle)*h;}else t.shadowColor="black",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0;}_drawGlyph(t,e,r,s,o,n){let a=e.text,l=e.fontProperties,u=(n._stroke?.width??0)*o,c=r+u/2,f=s-u/2,d=l.descent*o,m=e.lineHeight*o,x=false;n.stroke&&u&&(x=true,t.strokeText(a,c,f+m-d));let{shadowBlur:g,shadowOffsetX:_,shadowOffsetY:y}=t;n._fill&&(x&&(t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0),t.fillText(a,c,f+m-d)),x&&(t.shadowBlur=g,t.shadowOffsetX=_,t.shadowOffsetY=y);}destroy(){super.destroy();for(let t=0;t<this.pages.length;t++){let{canvasAndContext:e,texture:r}=this.pages[t];se.returnCanvasAndContext(e),r.destroy(true);}this.pages=null;}};kp.defaultOptions={textureSize:512,style:new me,mipmap:true};il=kp;});function wo(i,t,e,r){let s={width:0,height:0,offsetY:0,scale:t.fontSize/e.baseMeasurementFontSize,lines:[{width:0,charPositions:[],spaceWidth:0,spacesIndex:[],chars:[]}]};s.offsetY=e.baseLineOffset;let o=s.lines[0],n=null,a=true,l={width:0,start:0,index:0,positions:[],chars:[]},h=e.baseMeasurementFontSize/t.fontSize,u=t.letterSpacing*h,c=t.wordWrapWidth*h,f=t.lineHeight?t.lineHeight*h:e.lineHeight,d=t.wordWrap&&t.breakWords,m=_=>{let y=o.width;for(let b=0;b<l.index;b++){let v=_.positions[b];o.chars.push(_.chars[b]),o.charPositions.push(v+y);}o.width+=_.width,a=false,l.width=0,l.index=0,l.chars.length=0;},x=()=>{let _=o.chars.length-1;if(r){let y=o.chars[_];for(;y===" ";)o.width-=e.chars[y].xAdvance,y=o.chars[--_];}s.width=Math.max(s.width,o.width),o={width:0,charPositions:[],chars:[],spaceWidth:0,spacesIndex:[]},a=true,s.lines.push(o),s.height+=f;},g=_=>_-u>c;for(let _=0;_<i.length+1;_++){let y,b=_===i.length;b||(y=i[_]);let v=e.chars[y]||e.chars[" "];if(/(?:\s)/.test(y)||y==="\r"||y===`
469
- `||b){if(!a&&t.wordWrap&&g(o.width+l.width)?(x(),m(l),b||o.charPositions.push(0)):(l.start=o.width,m(l),b||o.charPositions.push(0)),y==="\r"||y===`
470
- `)o.width!==0&&x();else if(!b){let D=v.xAdvance+(v.kerning[n]||0)+u;o.width+=D,o.spaceWidth=D,o.spacesIndex.push(o.charPositions.length),o.chars.push(y);}}else {let w=v.kerning[n]||0,D=v.xAdvance+w+u;d&&g(o.width+l.width+D)&&(m(l),x()),l.positions[l.index++]=l.width+w,l.chars.push(y),l.width+=D;}n=y;}return x(),t.align==="center"?c_(s):t.align==="right"?d_(s):t.align==="justify"&&f_(s),s}function c_(i){for(let t=0;t<i.lines.length;t++){let e=i.lines[t],r=i.width/2-e.width/2;for(let s=0;s<e.charPositions.length;s++)e.charPositions[s]+=r;}}function d_(i){for(let t=0;t<i.lines.length;t++){let e=i.lines[t],r=i.width-e.width;for(let s=0;s<e.charPositions.length;s++)e.charPositions[s]+=r;}}function f_(i){let t=i.width;for(let e=0;e<i.lines.length;e++){let r=i.lines[e],s=0,o=r.spacesIndex[s++],n=0,a=r.spacesIndex.length,h=(t-r.width)/a;for(let u=0;u<r.charPositions.length;u++)u===o&&(o=r.spacesIndex[s++],n+=h),r.charPositions[u]+=n;}}var sl=p(()=>{});function Rp(i){if(i==="")return [];typeof i=="string"&&(i=[i]);let t=[];for(let e=0,r=i.length;e<r;e++){let s=i[e];if(Array.isArray(s)){if(s.length!==2)throw new Error(`[BitmapFont]: Invalid character range length, expecting 2 got ${s.length}.`);if(s[0].length===0||s[1].length===0)throw new Error("[BitmapFont]: Invalid character delimiter.");let o=s[0].charCodeAt(0),n=s[1].charCodeAt(0);if(n<o)throw new Error("[BitmapFont]: Invalid character range.");for(let a=o,l=n;a<=l;a++)t.push(String.fromCharCode(a));}else t.push(...Array.from(s));}if(t.length===0)throw new Error("[BitmapFont]: Empty set when resolving characters.");return t}var Dp=p(()=>{});var Po,ol,Up,Lp=p(()=>{ni();ht();Tt();Ai();xo();Ip();sl();Dp();Po=0,ol=class{constructor(){this.ALPHA=[["a","z"],["A","Z"]," "],this.NUMERIC=[["0","9"]],this.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],this.ASCII=[[" ","~"]],this.defaultOptions={chars:this.ALPHANUMERIC,resolution:1,padding:4,skipKerning:false,textureStyle:null};}getFont(t,e){let r=`${e.fontFamily}-bitmap`,s=true;if(e._fill.fill&&!e._stroke)r+=e._fill.fill.styleKey,s=false;else if(e._stroke||e.dropShadow){let n=e.styleKey;n=n.substring(0,n.lastIndexOf("-")),r=`${n}-bitmap`,s=false;}if(!dt.has(r)){let n=Object.create(e);n.lineHeight=0;let a=new il({style:n,overrideFill:s,overrideSize:true,...this.defaultOptions});Po++,Po>50&&z("BitmapText",`You have dynamically created ${Po} bitmap fonts, this can be inefficient. Try pre installing your font styles using \`BitmapFont.install({name:"style1", style})\``),a.once("destroy",()=>{Po--,dt.remove(r);}),dt.set(r,a);}let o=dt.get(r);return o.ensureCharacters?.(t),o}getLayout(t,e,r=true){let s=this.getFont(t,e),o=Gt.graphemeSegmenter(t);return wo(o,e,s,r)}measureText(t,e,r=true){return this.getLayout(t,e,r)}install(...t){let e=t[0];typeof e=="string"&&(e={name:e,style:t[1],chars:t[2]?.chars,resolution:t[2]?.resolution,padding:t[2]?.padding,skipKerning:t[2]?.skipKerning},F(V,"BitmapFontManager.install(name, style, options) is deprecated, use BitmapFontManager.install({name, style, ...options})"));let r=e?.name;if(!r)throw new Error("[BitmapFontManager] Property `name` is required.");e={...this.defaultOptions,...e};let s=e.style,o=s instanceof me?s:new me(s),n=e.dynamicFill??this._canUseTintForStyle(o),a=new il({style:o,overrideFill:n,skipKerning:e.skipKerning,padding:e.padding,resolution:e.resolution,overrideSize:false,textureStyle:e.textureStyle}),l=Rp(e.chars);return a.ensureCharacters(l.join("")),dt.set(`${r}-bitmap`,a),a.once("destroy",()=>dt.remove(`${r}-bitmap`)),a}uninstall(t){let e=`${t}-bitmap`,r=dt.get(e);r&&r.destroy();}_canUseTintForStyle(t){return !t._stroke&&(!t.dropShadow||t.dropShadow.color===0)&&!t._fill.fill&&t._fill.color===16777215}},Up=new ol;});function Op(i,t){t.groupTransform=i.groupTransform,t.groupColorAlpha=i.groupColorAlpha,t.groupColor=i.groupColor,t.groupBlendMode=i.groupBlendMode,t.globalDisplayStatus=i.globalDisplayStatus,t.groupTransform=i.groupTransform,t.localDisplayStatus=i.localDisplayStatus,t.groupAlpha=i.groupAlpha,t._roundPixels=i._roundPixels;}var nl,Ei,zp=p(()=>{ni();k();Tp();Ai();Fp();Lp();sl();nl=class extends vo{destroy(){this.context.customShader&&this.context.customShader.destroy(),super.destroy();}},Ei=class{constructor(t){this._renderer=t,this._renderer.renderableGC.addManagedHash(this,"_gpuBitmapText");}validateRenderable(t){let e=this._getGpuBitmapText(t);return this._renderer.renderPipes.graphics.validateRenderable(e)}addRenderable(t,e){let r=this._getGpuBitmapText(t);Op(t,r),t._didTextUpdate&&(t._didTextUpdate=false,this._updateContext(t,r)),this._renderer.renderPipes.graphics.addRenderable(r,e),r.context.customShader&&this._updateDistanceField(t);}updateRenderable(t){let e=this._getGpuBitmapText(t);Op(t,e),this._renderer.renderPipes.graphics.updateRenderable(e),e.context.customShader&&this._updateDistanceField(t);}_updateContext(t,e){let{context:r}=e,s=Up.getFont(t.text,t._style);r.clear(),s.distanceField.type!=="none"&&(r.customShader||(r.customShader=new So(this._renderer.limits.maxBatchableTextures)));let o=Gt.graphemeSegmenter(t.text),n=t._style,a=s.baseLineOffset,l=wo(o,n,s,true),h=n.padding,u=l.scale,c=l.width,f=l.height+l.offsetY;n._stroke&&(c+=n._stroke.width/u,f+=n._stroke.width/u),r.translate(-t._anchor._x*c-h,-t._anchor._y*f-h).scale(u,u);let d=s.applyFillAsTint?n._fill.color:16777215,m=s.fontMetrics.fontSize,x=s.lineHeight;n.lineHeight&&(m=n.fontSize/u,x=n.lineHeight/u);let g=(x-m)/2;g-s.baseLineOffset<0&&(g=0);for(let _=0;_<l.lines.length;_++){let y=l.lines[_];for(let b=0;b<y.charPositions.length;b++){let v=y.chars[b],P=s.chars[v];if(P?.texture){let T=P.texture;r.texture(T,d||"black",Math.round(y.charPositions[b]+P.xOffset),Math.round(a+P.yOffset+g),T.orig.width,T.orig.height);}}a+=x;}}_getGpuBitmapText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new nl;return t._gpuData[this._renderer.uid]=e,this._updateContext(t,e),e}_updateDistanceField(t){let e=this._getGpuBitmapText(t).context,r=t._style.fontFamily,s=dt.get(`${r}-bitmap`),{a:o,b:n,c:a,d:l}=t.groupTransform,h=Math.sqrt(o*o+n*n),u=Math.sqrt(a*a+l*l),c=(Math.abs(h)+Math.abs(u))/2,f=s.baseRenderedFontSize/t._style.fontSize,d=c*s.distanceField.range*(1/f);e.customShader.resources.localUniforms.uniforms.uDistance=d;}destroy(){this._renderer=null;}};Ei.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"bitmapText"};});var al=p(()=>{k();zp();I.add(Ei);});var Mo,Wp=p(()=>{ka();Mo=class extends Tr{constructor(t){super(),this.generatingTexture=false,this._renderer=t,t.runners.resolutionChange.add(this);}resolutionChange(){let t=this.renderable;t._autoResolution&&t.onViewUpdate();}destroy(){this._renderer.htmlText.returnTexturePromise(this.texturePromise),this.texturePromise=null,this._renderer=null;}};});var Fi,Vp=p(()=>{k();bt();Ba();Wp();Fi=class{constructor(t){this._renderer=t;}validateRenderable(t){return t._didTextUpdate}addRenderable(t,e){let r=this._getGpuText(t);t._didTextUpdate&&(this._updateGpuText(t).catch(s=>{console.error(s);}),t._didTextUpdate=false,Si(r,t)),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuText(t);e._batcher.updateElement(e);}async _updateGpuText(t){t._didTextUpdate=false;let e=this._getGpuText(t);if(e.generatingTexture)return;e.texturePromise&&(this._renderer.htmlText.returnTexturePromise(e.texturePromise),e.texturePromise=null),e.generatingTexture=true,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution;let r=this._renderer.htmlText.getTexturePromise(t);e.texturePromise=r,e.texture=await r;let s=t.renderGroup||t.parentRenderGroup;s&&(s.structureDidChange=true),e.generatingTexture=false,Si(e,t);}_getGpuText(t){return t._gpuData[this._renderer.uid]||this.initGpuText(t)}initGpuText(t){let e=new Mo(this._renderer);return e.renderable=t,e.transform=t.groupTransform,e.texture=B.EMPTY,e.bounds={minX:0,maxX:1,minY:0,maxY:0},e.roundPixels=this._renderer._roundPixels|t._roundPixels,t._resolution=t._autoResolution?this._renderer.resolution:t.resolution,t._gpuData[this._renderer.uid]=e,e}destroy(){this._renderer=null;}};Fi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"htmlText"};});function Hp(){let{userAgent:i}=tt.get().getNavigator();return /^((?!chrome|android).)*safari/i.test(i)}var Np=p(()=>{Ut();});var Yp,Xp,Er,ll=p(()=>{Ut();Yp="http://www.w3.org/2000/svg",Xp="http://www.w3.org/1999/xhtml",Er=class{constructor(){this.svgRoot=document.createElementNS(Yp,"svg"),this.foreignObject=document.createElementNS(Yp,"foreignObject"),this.domElement=document.createElementNS(Xp,"div"),this.styleElement=document.createElementNS(Xp,"style");let{foreignObject:t,svgRoot:e,styleElement:r,domElement:s}=this;t.setAttribute("width","10000"),t.setAttribute("height","10000"),t.style.overflow="hidden",e.appendChild(t),t.appendChild(r),t.appendChild(s),this.image=tt.get().createImage();}};});function $p(i,t){let e=t.fontFamily,r=[],s={},o=/font-family:([^;"\s]+)/g,n=i.match(o);function a(l){s[l]||(r.push(l),s[l]=true);}if(Array.isArray(e))for(let l=0;l<e.length;l++)a(e[l]);else a(e);n&&n.forEach(l=>{let h=l.split(":")[1].trim();a(h);});for(let l in t.tagStyles){let h=t.tagStyles[l].fontFamily;a(h);}return r}var jp=p(()=>{});async function qp(i){let e=await(await tt.get().fetch(i)).blob(),r=new FileReader;return await new Promise((o,n)=>{r.onloadend=()=>o(r.result),r.onerror=n,r.readAsDataURL(e);})}var Kp=p(()=>{Ut();});async function Zp(i,t){let e=await qp(t);return `@font-face {
471
- font-family: "${i.fontFamily}";
472
- font-weight: ${i.fontWeight};
473
- font-style: ${i.fontStyle};
474
- src: url('${e}');
475
- }`}var Qp=p(()=>{Kp();});async function Jp(i){let t=i.filter(e=>dt.has(`${e}-and-url`)).map(e=>{if(!hl.has(e)){let{entries:r}=dt.get(`${e}-and-url`),s=[];r.forEach(o=>{let n=o.url,l=o.faces.map(h=>({weight:h.weight,style:h.style}));s.push(...l.map(h=>Zp({fontWeight:h.weight,fontStyle:h.style,fontFamily:e},n)));}),hl.set(e,Promise.all(s).then(o=>o.join(`
476
- `)));}return hl.get(e)});return (await Promise.all(t)).join(`
477
- `)}var hl,tm=p(()=>{ni();Qp();hl=new Map;});function em(i,t,e,r,s){let{domElement:o,styleElement:n,svgRoot:a}=s;o.innerHTML=`<style>${t.cssStyle}</style><div style='padding:0;'>${i}</div>`,o.setAttribute("style",`transform: scale(${e});transform-origin: top left; display: inline-block`),n.textContent=r;let{width:l,height:h}=s.image;return a.setAttribute("width",l.toString()),a.setAttribute("height",h.toString()),new XMLSerializer().serializeToString(a)}var rm=p(()=>{});function im(i,t){let e=se.getOptimalCanvasAndContext(i.width,i.height,t),{context:r}=e;return r.clearRect(0,0,i.width,i.height),r.drawImage(i,0,0),e}var sm=p(()=>{Mi();});function om(i,t,e){return new Promise(async r=>{e&&await new Promise(s=>setTimeout(s,100)),i.onload=()=>{r();},i.src=`data:image/svg+xml;charset=utf8,${encodeURIComponent(t)}`,i.crossOrigin="anonymous";})}var nm=p(()=>{});function lm(i,t,e,r){r||(r=am||(am=new Er));let{domElement:s,styleElement:o,svgRoot:n}=r;s.innerHTML=`<style>${t.cssStyle};</style><div style='padding:0'>${i}</div>`,s.setAttribute("style","transform-origin: top left; display: inline-block"),e&&(o.textContent=e),document.body.appendChild(n);let a=s.getBoundingClientRect();n.remove();let l=t.padding*2;return {width:a.width-l,height:a.height-l}}var am,hm=p(()=>{ll();});var Bi,um=p(()=>{k();Mi();tr();ci();Np();Tt();Be();qa();ll();jp();tm();rm();sm();nm();hm();Bi=class{constructor(t){this._renderer=t,this._createCanvas=t.type===ee.WEBGPU;}getTexture(t){return this.getTexturePromise(t)}getTexturePromise(t){return this._buildTexturePromise(t)}async _buildTexturePromise(t){let{text:e,style:r,resolution:s,textureStyle:o}=t,n=mt.get(Er),a=$p(e,r),l=await Jp(a),h=lm(e,r,l,n),u=Math.ceil(Math.ceil(Math.max(1,h.width)+r.padding*2)*s),c=Math.ceil(Math.ceil(Math.max(1,h.height)+r.padding*2)*s),f=n.image,d=2;f.width=(u|0)+d,f.height=(c|0)+d;let m=em(e,r,s,l,n);await om(f,m,Hp()&&a.length>0);let x=f,g;this._createCanvas&&(g=im(f,s));let _=_o(g?g.canvas:x,f.width-d,f.height-d,s);return o&&(_.source.style=o),this._createCanvas&&(this._renderer.texture.initSource(_.source),se.returnCanvasAndContext(g)),mt.return(n),_}returnTexturePromise(t){t.then(e=>{this._cleanUp(e);}).catch(()=>{z("HTMLTextSystem: Failed to clean texture");});}_cleanUp(t){wt.returnTexture(t,true),t.source.resource=null,t.source.uploadMethodId="unknown";}destroy(){this._renderer=null;}};Bi.extension={type:[S.WebGLSystem,S.WebGPUSystem,S.CanvasSystem],name:"htmlText"};});var ul=p(()=>{k();Vp();um();I.add(Bi);I.add(Fi);});var cm,Fr,Ao=p(()=>{ur();hr();ui();ht();cm=class dm extends te{constructor(...t){let e=t[0]??{};e instanceof Float32Array&&(F(V,"use new MeshGeometry({ positions, uvs, indices }) instead"),e={positions:e,uvs:t[1],indices:t[2]}),e={...dm.defaultOptions,...e};let r=e.positions||new Float32Array([0,0,1,0,1,1,0,1]),s=e.uvs;s||(e.positions?s=new Float32Array(r.length):s=new Float32Array([0,0,1,0,1,1,0,1]));let o=e.indices||new Uint32Array([0,1,2,0,2,3]),n=e.shrinkBuffersToFit,a=new vt({data:r,label:"attribute-mesh-positions",shrinkToFit:n,usage:Q.VERTEX|Q.COPY_DST}),l=new vt({data:s,label:"attribute-mesh-uvs",shrinkToFit:n,usage:Q.VERTEX|Q.COPY_DST}),h=new vt({data:o,label:"index-mesh-buffer",shrinkToFit:n,usage:Q.INDEX|Q.COPY_DST});super({attributes:{aPosition:{buffer:a,format:"float32x2",stride:8,offset:0},aUV:{buffer:l,format:"float32x2",stride:8,offset:0}},indexBuffer:h,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;}};cm.defaultOptions={topology:"triangle-list",shrinkBuffersToFit:false};Fr=cm;});var ki,fm,pm=p(()=>{ki={name:"local-uniform-bit",vertex:{header:`
478
-
479
- struct LocalUniforms {
480
- uTransformMatrix:mat3x3<f32>,
481
- uColor:vec4<f32>,
482
- uRound:f32,
483
- }
484
-
485
- @group(1) @binding(0) var<uniform> localUniforms : LocalUniforms;
486
- `,main:`
487
- vColor *= localUniforms.uColor;
488
- modelMatrix *= localUniforms.uTransformMatrix;
489
- `,end:`
490
- if(localUniforms.uRound == 1)
491
- {
492
- vPosition = vec4(roundPixels(vPosition.xy, globalUniforms.uResolution), vPosition.zw);
493
- }
494
- `}},{...ki,vertex:{...ki.vertex,header:ki.vertex.header.replace("group(1)","group(2)")}},fm={name:"local-uniform-bit",vertex:{header:`
495
-
496
- uniform mat3 uTransformMatrix;
497
- uniform vec4 uColor;
498
- uniform float uRound;
499
- `,main:`
500
- vColor *= uColor;
501
- modelMatrix = uTransformMatrix;
502
- `,end:`
503
- if(uRound == 1.)
504
- {
505
- gl_Position.xy = roundPixels(gl_Position.xy, uResolution);
506
- }
507
- `}};});var mm,gm,xm=p(()=>{mm={name:"tiling-bit",vertex:{header:`
508
- struct TilingUniforms {
509
- uMapCoord:mat3x3<f32>,
510
- uClampFrame:vec4<f32>,
511
- uClampOffset:vec2<f32>,
512
- uTextureTransform:mat3x3<f32>,
513
- uSizeAnchor:vec4<f32>
514
- };
515
-
516
- @group(2) @binding(0) var<uniform> tilingUniforms: TilingUniforms;
517
- @group(2) @binding(1) var uTexture: texture_2d<f32>;
518
- @group(2) @binding(2) var uSampler: sampler;
519
- `,main:`
520
- uv = (tilingUniforms.uTextureTransform * vec3(uv, 1.0)).xy;
521
-
522
- position = (position - tilingUniforms.uSizeAnchor.zw) * tilingUniforms.uSizeAnchor.xy;
523
- `},fragment:{header:`
524
- struct TilingUniforms {
525
- uMapCoord:mat3x3<f32>,
526
- uClampFrame:vec4<f32>,
527
- uClampOffset:vec2<f32>,
528
- uTextureTransform:mat3x3<f32>,
529
- uSizeAnchor:vec4<f32>
530
- };
531
-
532
- @group(2) @binding(0) var<uniform> tilingUniforms: TilingUniforms;
533
- @group(2) @binding(1) var uTexture: texture_2d<f32>;
534
- @group(2) @binding(2) var uSampler: sampler;
535
- `,main:`
536
-
537
- var coord = vUV + ceil(tilingUniforms.uClampOffset - vUV);
538
- coord = (tilingUniforms.uMapCoord * vec3(coord, 1.0)).xy;
539
- var unclamped = coord;
540
- coord = clamp(coord, tilingUniforms.uClampFrame.xy, tilingUniforms.uClampFrame.zw);
541
-
542
- var bias = 0.;
543
-
544
- if(unclamped.x == coord.x && unclamped.y == coord.y)
545
- {
546
- bias = -32.;
547
- }
548
-
549
- outColor = textureSampleBias(uTexture, uSampler, coord, bias);
550
- `}},gm={name:"tiling-bit",vertex:{header:`
551
- uniform mat3 uTextureTransform;
552
- uniform vec4 uSizeAnchor;
553
-
554
- `,main:`
555
- uv = (uTextureTransform * vec3(aUV, 1.0)).xy;
556
-
557
- position = (position - uSizeAnchor.zw) * uSizeAnchor.xy;
558
- `},fragment:{header:`
559
- uniform sampler2D uTexture;
560
- uniform mat3 uMapCoord;
561
- uniform vec4 uClampFrame;
562
- uniform vec2 uClampOffset;
563
- `,main:`
564
-
565
- vec2 coord = vUV + ceil(uClampOffset - vUV);
566
- coord = (uMapCoord * vec3(coord, 1.0)).xy;
567
- vec2 unclamped = coord;
568
- coord = clamp(coord, uClampFrame.xy, uClampFrame.zw);
569
-
570
- outColor = texture(uTexture, coord, unclamped == coord ? 0.0 : -32.0);// lod-bias very negative to force lod 0
571
-
572
- `}};});var cl,dl,Co,_m=p(()=>{rt();Os();pm();Ns();di();Se();bt();xm();Co=class extends re{constructor(){cl??(cl=pr({name:"tiling-sprite-shader",bits:[ki,mm,gr]})),dl??(dl=mr({name:"tiling-sprite-shader",bits:[fm,gm,xr]}));let t=new Ct({uMapCoord:{value:new M,type:"mat3x3<f32>"},uClampFrame:{value:new Float32Array([0,0,1,1]),type:"vec4<f32>"},uClampOffset:{value:new Float32Array([0,0]),type:"vec2<f32>"},uTextureTransform:{value:new M,type:"mat3x3<f32>"},uSizeAnchor:{value:new Float32Array([100,100,.5,.5]),type:"vec4<f32>"}});super({glProgram:dl,gpuProgram:cl,resources:{localUniforms:new Ct({uTransformMatrix:{value:new M,type:"mat3x3<f32>"},uColor:{value:new Float32Array([1,1,1,1]),type:"vec4<f32>"},uRound:{value:0,type:"f32"}}),tilingUniforms:t,uTexture:B.EMPTY.source,uSampler:B.EMPTY.source.style}});}updateUniforms(t,e,r,s,o,n){let a=this.resources.tilingUniforms,l=n.width,h=n.height,u=n.textureMatrix,c=a.uniforms.uTextureTransform;c.set(r.a*l/t,r.b*l/e,r.c*h/t,r.d*h/e,r.tx/t,r.ty/e),c.invert(),a.uniforms.uMapCoord=u.mapCoord,a.uniforms.uClampFrame=u.uClampFrame,a.uniforms.uClampOffset=u.uClampOffset,a.uniforms.uTextureTransform=c,a.uniforms.uSizeAnchor[0]=t,a.uniforms.uSizeAnchor[1]=e,a.uniforms.uSizeAnchor[2]=s,a.uniforms.uSizeAnchor[3]=o,n&&(this.resources.uTexture=n.source,this.resources.uSampler=n.source.style);}};});var Eo,ym=p(()=>{Ao();Eo=class extends Fr{constructor(){super({positions:new Float32Array([0,0,1,0,1,1,0,1]),uvs:new Float32Array([0,0,1,0,1,1,0,1]),indices:new Uint32Array([0,1,2,0,2,3])});}};});function bm(i,t){let e=i.anchor.x,r=i.anchor.y;t[0]=-e*i.width,t[1]=-r*i.height,t[2]=(1-e)*i.width,t[3]=-r*i.height,t[4]=(1-e)*i.width,t[5]=(1-r)*i.height,t[6]=-e*i.width,t[7]=(1-r)*i.height;}var vm=p(()=>{});function Sm(i,t,e,r){let s=0,o=i.length/(t),n=r.a,a=r.b,l=r.c,h=r.d,u=r.tx,c=r.ty;for(e*=t;s<o;){let f=i[e],d=i[e+1];i[e]=n*f+l*d+u,i[e+1]=a*f+h*d+c,e+=t,s++;}}var Tm=p(()=>{});function wm(i,t){let e=i.texture,r=e.frame.width,s=e.frame.height,o=0,n=0;i.applyAnchorToTexture&&(o=i.anchor.x,n=i.anchor.y),t[0]=t[6]=-o,t[2]=t[4]=1-o,t[1]=t[3]=-n,t[5]=t[7]=1-n;let a=M.shared;a.copyFrom(i._tileTransform.matrix),a.tx/=i.width,a.ty/=i.height,a.invert(),a.scale(i.width/r,i.height/s),Sm(t,2,0,a);}var Pm=p(()=>{rt();Tm();});var Fo,fl,Gi,Mm=p(()=>{k();li();Js();ci();xi();to();Ao();_m();ym();vm();Pm();Fo=new Eo,fl=class{constructor(){this.canBatch=true,this.geometry=new Fr({indices:Fo.indices.slice(),positions:Fo.positions.slice(),uvs:Fo.uvs.slice()});}destroy(){this.geometry.destroy(),this.shader?.destroy();}},Gi=class{constructor(t){this._state=Ve.default2d,this._renderer=t;}validateRenderable(t){let e=this._getTilingSpriteData(t),r=e.canBatch;this._updateCanBatch(t);let s=e.canBatch;if(s&&s===r){let{batchableMesh:o}=e;return !o._batcher.checkAndUpdateTexture(o,t.texture)}return r!==s}addRenderable(t,e){let r=this._renderer.renderPipes.batch;this._updateCanBatch(t);let s=this._getTilingSpriteData(t),{geometry:o,canBatch:n}=s;if(n){s.batchableMesh||(s.batchableMesh=new we);let a=s.batchableMesh;t.didViewUpdate&&(this._updateBatchableMesh(t),a.geometry=o,a.renderable=t,a.transform=t.groupTransform,a.setTexture(t._texture)),a.roundPixels=this._renderer._roundPixels|t._roundPixels,r.addToBatch(a,e);}else r.break(e),s.shader||(s.shader=new Co),this.updateRenderable(t),e.add(t);}execute(t){let{shader:e}=this._getTilingSpriteData(t);e.groups[0]=this._renderer.globalUniforms.bindGroup;let r=e.resources.localUniforms.uniforms;r.uTransformMatrix=t.groupTransform,r.uRound=this._renderer._roundPixels|t._roundPixels,Te(t.groupColorAlpha,r.uColor,0),this._state.blendMode=de(t.groupBlendMode,t.texture._source),this._renderer.encoder.draw({geometry:Fo,shader:e,state:this._state});}updateRenderable(t){let e=this._getTilingSpriteData(t),{canBatch:r}=e;if(r){let{batchableMesh:s}=e;t.didViewUpdate&&this._updateBatchableMesh(t),s._batcher.updateElement(s);}else if(t.didViewUpdate){let{shader:s}=e;s.updateUniforms(t.width,t.height,t._tileTransform.matrix,t.anchor.x,t.anchor.y,t.texture);}}_getTilingSpriteData(t){return t._gpuData[this._renderer.uid]||this._initTilingSpriteData(t)}_initTilingSpriteData(t){let e=new fl;return e.renderable=t,t._gpuData[this._renderer.uid]=e,e}_updateBatchableMesh(t){let e=this._getTilingSpriteData(t),{geometry:r}=e,s=t.texture.source.style;s.addressMode!=="repeat"&&(s.addressMode="repeat",s.update()),wm(t,r.uvs),bm(t,r.positions);}destroy(){this._renderer=null;}_updateCanBatch(t){let e=this._getTilingSpriteData(t),r=t.texture,s=true;return this._renderer.type===ee.WEBGL&&(s=this._renderer.context.supports.nonPowOf2wrapping),e.canBatch=r.textureMatrix.isSimple&&(s||r.source.isPowerOfTwo),e.canBatch}};Gi.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"tilingSprite"};});var pl=p(()=>{k();Mm();I.add(Gi);});var Am,Em,Fm=p(()=>{ht();Ao();Am=class Cm extends Fr{constructor(...t){super({});let e=t[0]??{};typeof e=="number"&&(F(V,"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={...Cm.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;let e=this.verticesX*this.verticesY,r=[],s=[],o=[],n=this.verticesX-1,a=this.verticesY-1,l=this.width/n,h=this.height/a;for(let c=0;c<e;c++){let f=c%this.verticesX,d=c/this.verticesX|0;r.push(f*l,d*h),s.push(f/n,d/a);}let u=n*a;for(let c=0;c<u;c++){let f=c%n,d=c/n|0,m=d*this.verticesX+f,x=d*this.verticesX+f+1,g=(d+1)*this.verticesX+f,_=(d+1)*this.verticesX+f+1;o.push(m,x,g,x,_,g);}this.buffers[0].data=new Float32Array(r),this.buffers[1].data=new Float32Array(s),this.indexBuffer.data=new Uint32Array(o),this.buffers[0].update(),this.buffers[1].update(),this.indexBuffer.update();}};Am.defaultOptions={width:100,height:100,verticesX:10,verticesY:10};Em=Am;});var Bm,Gm,Im=p(()=>{Fm();Bm=class km extends Em{constructor(t={}){t={...km.defaultOptions,...t},super({width:t.width,height:t.height,verticesX:4,verticesY:4}),this.update(t);}update(t){this.width=t.width??this.width,this.height=t.height??this.height,this._originalWidth=t.originalWidth??this._originalWidth,this._originalHeight=t.originalHeight??this._originalHeight,this._leftWidth=t.leftWidth??this._leftWidth,this._rightWidth=t.rightWidth??this._rightWidth,this._topHeight=t.topHeight??this._topHeight,this._bottomHeight=t.bottomHeight??this._bottomHeight,this._anchorX=t.anchor?.x,this._anchorY=t.anchor?.y,this.updateUvs(),this.updatePositions();}updatePositions(){let t=this.positions,{width:e,height:r,_leftWidth:s,_rightWidth:o,_topHeight:n,_bottomHeight:a,_anchorX:l,_anchorY:h}=this,u=s+o,c=e>u?1:e/u,f=n+a,d=r>f?1:r/f,m=Math.min(c,d),x=l*e,g=h*r;t[0]=t[8]=t[16]=t[24]=-x,t[2]=t[10]=t[18]=t[26]=s*m-x,t[4]=t[12]=t[20]=t[28]=e-o*m-x,t[6]=t[14]=t[22]=t[30]=e-x,t[1]=t[3]=t[5]=t[7]=-g,t[9]=t[11]=t[13]=t[15]=n*m-g,t[17]=t[19]=t[21]=t[23]=r-a*m-g,t[25]=t[27]=t[29]=t[31]=r-g,this.getBuffer("aPosition").update();}updateUvs(){let 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;let e=1/this._originalWidth,r=1/this._originalHeight;t[2]=t[10]=t[18]=t[26]=e*this._leftWidth,t[9]=t[11]=t[13]=t[15]=r*this._topHeight,t[4]=t[12]=t[20]=t[28]=1-e*this._rightWidth,t[17]=t[19]=t[21]=t[23]=1-r*this._bottomHeight,this.getBuffer("aUV").update();}};Bm.defaultOptions={width:100,height:100,leftWidth:10,topHeight:10,rightWidth:10,bottomHeight:10,originalWidth:100,originalHeight:100};Gm=Bm;});var ml,Ii,Rm=p(()=>{k();to();Im();ml=class extends we{constructor(){super(),this.geometry=new Gm;}destroy(){this.geometry.destroy();}},Ii=class{constructor(t){this._renderer=t;}addRenderable(t,e){let r=this._getGpuSprite(t);t.didViewUpdate&&this._updateBatchableSprite(t,r),this._renderer.renderPipes.batch.addToBatch(r,e);}updateRenderable(t){let e=this._getGpuSprite(t);t.didViewUpdate&&this._updateBatchableSprite(t,e),e._batcher.updateElement(e);}validateRenderable(t){let e=this._getGpuSprite(t);return !e._batcher.checkAndUpdateTexture(e,t._texture)}_updateBatchableSprite(t,e){e.geometry.update(t),e.setTexture(t._texture);}_getGpuSprite(t){return t._gpuData[this._renderer.uid]||this._initGPUSprite(t)}_initGPUSprite(t){let e=t._gpuData[this._renderer.uid]=new ml,r=e;return r.renderable=t,r.transform=t.groupTransform,r.texture=t._texture,r.roundPixels=this._renderer._roundPixels|t._roundPixels,t.didViewUpdate||this._updateBatchableSprite(t,r),e}destroy(){this._renderer=null;}};Ii.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"nineSliceSprite"};});var gl=p(()=>{k();Rm();I.add(Ii);});var Ri,Dm=p(()=>{k();Ri=class{constructor(t){this._renderer=t;}push(t,e,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",canBundle:false,action:"pushFilter",container:e,filterEffect:t});}pop(t,e,r){this._renderer.renderPipes.batch.break(r),r.add({renderPipeId:"filter",action:"popFilter",canBundle:false});}execute(t){t.action==="pushFilter"?this._renderer.filter.push(t):t.action==="popFilter"&&this._renderer.filter.pop();}destroy(){this._renderer=null;}};Ri.extension={type:[S.WebGLPipes,S.WebGPUPipes,S.CanvasPipes],name:"filter"};});function Um(i,t){t.clear();let e=t.matrix;for(let r=0;r<i.length;r++){let s=i[r];s.globalDisplayStatus<7||(t.matrix=s.worldTransform,t.addBounds(s.bounds));}return t.matrix=e,t}var Lm=p(()=>{});var p_,xl,Di,Om=p(()=>{k();rt();ai();ui();Se();bt();tr();ci();Yt();Lm();Tt();p_=new te({attributes:{aPosition:{buffer:new Float32Array([0,0,1,0,1,1,0,1]),format:"float32x2",stride:8,offset:0}},indexBuffer:new Uint32Array([0,1,2,0,2,3])}),xl=class{constructor(){this.skip=false,this.inputTexture=null,this.backTexture=null,this.filters=null,this.bounds=new nt,this.container=null,this.blendRequired=false,this.outputRenderSurface=null,this.globalFrame={x:0,y:0,width:0,height:0};}},Di=class{constructor(t){this._filterStackIndex=0,this._filterStack=[],this._filterGlobalUniforms=new Ct({uInputSize:{value:new Float32Array(4),type:"vec4<f32>"},uInputPixel:{value:new Float32Array(4),type:"vec4<f32>"},uInputClamp:{value:new Float32Array(4),type:"vec4<f32>"},uOutputFrame:{value:new Float32Array(4),type:"vec4<f32>"},uGlobalFrame:{value:new Float32Array(4),type:"vec4<f32>"},uOutputTexture:{value:new Float32Array(4),type:"vec4<f32>"}}),this._globalFilterBindGroup=new Ht({}),this.renderer=t;}get activeBackTexture(){return this._activeFilterData?.backTexture}push(t){let e=this.renderer,r=t.filterEffect.filters,s=this._pushFilterData();s.skip=false,s.filters=r,s.container=t.container,s.outputRenderSurface=e.renderTarget.renderSurface;let o=e.renderTarget.renderTarget.colorTexture.source,n=o.resolution,a=o.antialias;if(r.length===0){s.skip=true;return}let l=s.bounds;if(this._calculateFilterArea(t,l),this._calculateFilterBounds(s,e.renderTarget.rootViewPort,a,n,1),s.skip)return;let h=this._getPreviousFilterData(),u=this._findFilterResolution(n),c=0,f=0;h&&(c=h.bounds.minX,f=h.bounds.minY),this._calculateGlobalFrame(s,c,f,u,o.width,o.height),this._setupFilterTextures(s,l,e,h);}generateFilteredTexture({texture:t,filters:e}){let r=this._pushFilterData();this._activeFilterData=r,r.skip=false,r.filters=e;let s=t.source,o=s.resolution,n=s.antialias;if(e.length===0)return r.skip=true,t;let a=r.bounds;if(a.addRect(t.frame),this._calculateFilterBounds(r,a.rectangle,n,o,0),r.skip)return t;let l=o;this._calculateGlobalFrame(r,0,0,l,s.width,s.height),r.outputRenderSurface=wt.getOptimalTexture(a.width,a.height,r.resolution,r.antialias),r.backTexture=B.EMPTY,r.inputTexture=t,this.renderer.renderTarget.finishRenderPass(),this._applyFiltersToTexture(r,true);let f=r.outputRenderSurface;return f.source.alphaMode="premultiplied-alpha",f}pop(){let t=this.renderer,e=this._popFilterData();e.skip||(t.globalUniforms.pop(),t.renderTarget.finishRenderPass(),this._activeFilterData=e,this._applyFiltersToTexture(e,false),e.blendRequired&&wt.returnTexture(e.backTexture),wt.returnTexture(e.inputTexture));}getBackTexture(t,e,r){let s=t.colorTexture.source._resolution,o=wt.getOptimalTexture(e.width,e.height,s,false),n=e.minX,a=e.minY;r&&(n-=r.minX,a-=r.minY),n=Math.floor(n*s),a=Math.floor(a*s);let l=Math.ceil(e.width*s),h=Math.ceil(e.height*s);return this.renderer.renderTarget.copyToTexture(t,o,{x:n,y:a},{width:l,height:h},{x:0,y:0}),o}applyFilter(t,e,r,s){let o=this.renderer,n=this._activeFilterData,l=n.outputRenderSurface===r,h=o.renderTarget.rootRenderTarget.colorTexture.source._resolution,u=this._findFilterResolution(h),c=0,f=0;if(l){let d=this._findPreviousFilterOffset();c=d.x,f=d.y;}this._updateFilterUniforms(e,r,n,c,f,u,l,s),this._setupBindGroupsAndRender(t,e,o);}calculateSpriteMatrix(t,e){let r=this._activeFilterData,s=t.set(r.inputTexture._source.width,0,0,r.inputTexture._source.height,r.bounds.minX,r.bounds.minY),o=e.worldTransform.copyTo(M.shared),n=e.renderGroup||e.parentRenderGroup;return n&&n.cacheToLocalTransform&&o.prepend(n.cacheToLocalTransform),o.invert(),s.prepend(o),s.scale(1/e.texture.orig.width,1/e.texture.orig.height),s.translate(e.anchor.x,e.anchor.y),s}destroy(){}_setupBindGroupsAndRender(t,e,r){if(r.renderPipes.uniformBatch){let s=r.renderPipes.uniformBatch.getUboResource(this._filterGlobalUniforms);this._globalFilterBindGroup.setResource(s,0);}else this._globalFilterBindGroup.setResource(this._filterGlobalUniforms,0);this._globalFilterBindGroup.setResource(e.source,1),this._globalFilterBindGroup.setResource(e.source.style,2),t.groups[0]=this._globalFilterBindGroup,r.encoder.draw({geometry:p_,shader:t,state:t._state,topology:"triangle-list"}),r.type===ee.WEBGL&&r.renderTarget.finishRenderPass();}_setupFilterTextures(t,e,r,s){if(t.backTexture=B.EMPTY,t.blendRequired){r.renderTarget.finishRenderPass();let o=r.renderTarget.getRenderTarget(t.outputRenderSurface);t.backTexture=this.getBackTexture(o,e,s?.bounds);}t.inputTexture=wt.getOptimalTexture(e.width,e.height,t.resolution,t.antialias),r.renderTarget.bind(t.inputTexture,true),r.globalUniforms.push({offset:e});}_calculateGlobalFrame(t,e,r,s,o,n){let a=t.globalFrame;a.x=e*s,a.y=r*s,a.width=o*s,a.height=n*s;}_updateFilterUniforms(t,e,r,s,o,n,a,l){let h=this._filterGlobalUniforms.uniforms,u=h.uOutputFrame,c=h.uInputSize,f=h.uInputPixel,d=h.uInputClamp,m=h.uGlobalFrame,x=h.uOutputTexture;a?(u[0]=r.bounds.minX-s,u[1]=r.bounds.minY-o):(u[0]=0,u[1]=0),u[2]=t.frame.width,u[3]=t.frame.height,c[0]=t.source.width,c[1]=t.source.height,c[2]=1/c[0],c[3]=1/c[1],f[0]=t.source.pixelWidth,f[1]=t.source.pixelHeight,f[2]=1/f[0],f[3]=1/f[1],d[0]=.5*f[2],d[1]=.5*f[3],d[2]=t.frame.width*c[2]-.5*f[2],d[3]=t.frame.height*c[3]-.5*f[3];let g=this.renderer.renderTarget.rootRenderTarget.colorTexture;m[0]=s*n,m[1]=o*n,m[2]=g.source.width*n,m[3]=g.source.height*n,e instanceof B&&(e.source.resource=null);let _=this.renderer.renderTarget.getRenderTarget(e);this.renderer.renderTarget.bind(e,!!l),e instanceof B?(x[0]=e.frame.width,x[1]=e.frame.height):(x[0]=_.width,x[1]=_.height),x[2]=_.isRoot?-1:1,this._filterGlobalUniforms.update();}_findFilterResolution(t){let e=this._filterStackIndex-1;for(;e>0&&this._filterStack[e].skip;)--e;return e>0&&this._filterStack[e].inputTexture?this._filterStack[e].inputTexture.source._resolution:t}_findPreviousFilterOffset(){let t=0,e=0,r=this._filterStackIndex;for(;r>0;){r--;let s=this._filterStack[r];if(!s.skip){t=s.bounds.minX,e=s.bounds.minY;break}}return {x:t,y:e}}_calculateFilterArea(t,e){if(t.renderables?Um(t.renderables,e):t.filterEffect.filterArea?(e.clear(),e.addRect(t.filterEffect.filterArea),e.applyMatrix(t.container.worldTransform)):t.container.getFastGlobalBounds(true,e),t.container){let s=(t.container.renderGroup||t.container.parentRenderGroup).cacheToLocalTransform;s&&e.applyMatrix(s);}}_applyFiltersToTexture(t,e){let r=t.inputTexture,s=t.bounds,o=t.filters;if(this._globalFilterBindGroup.setResource(r.source.style,2),this._globalFilterBindGroup.setResource(t.backTexture.source,3),o.length===1)o[0].apply(this,r,t.outputRenderSurface,e);else {let n=t.inputTexture,a=wt.getOptimalTexture(s.width,s.height,n.source._resolution,false),l=a,h=0;for(h=0;h<o.length-1;++h){o[h].apply(this,n,l,true);let c=n;n=l,l=c;}o[h].apply(this,n,t.outputRenderSurface,e),wt.returnTexture(a);}}_calculateFilterBounds(t,e,r,s,o){let n=this.renderer,a=t.bounds,l=t.filters,h=1/0,u=0,c=true,f=false,d=false,m=true;for(let x=0;x<l.length;x++){let g=l[x];if(h=Math.min(h,g.resolution==="inherit"?s:g.resolution),u+=g.padding,g.antialias==="off"?c=false:g.antialias==="inherit"&&c&&(c=r),g.clipToViewport||(m=false),!!!(g.compatibleRenderers&n.type)){d=false;break}if(g.blendRequired&&!(n.backBuffer?.useBackBuffer??true)){z("Blend filter requires backBuffer on WebGL renderer to be enabled. Set `useBackBuffer: true` in the renderer options."),d=false;break}d=g.enabled||d,f||(f=g.blendRequired);}if(!d){t.skip=true;return}if(m&&a.fitBounds(0,e.width/s,0,e.height/s),a.scale(h).ceil().scale(1/h).pad((u|0)*o),!a.isPositive){t.skip=true;return}t.antialias=c,t.resolution=h,t.blendRequired=f;}_popFilterData(){return this._filterStackIndex--,this._filterStack[this._filterStackIndex]}_getPreviousFilterData(){let t,e=this._filterStackIndex-1;for(;e>1&&(e--,t=this._filterStack[e],!!t.skip););return t}_pushFilterData(){let t=this._filterStack[this._filterStackIndex];return t||(t=this._filterStack[this._filterStackIndex]=new xl),this._filterStackIndex++,t}};Di.extension={type:[S.WebGLSystem,S.WebGPUSystem],name:"filter"};});var _l=p(()=>{k();Dm();Om();I.add(Di);I.add(Ri);});var m_={};var zm=p(()=>{mu();gn();vu();Tu();Ss();Cs();Pa();Ma();Fa();tl();al();ul();pl();gl();_l();});var g_={};var Vm=p(()=>{gn();Ss();Cs();Pa();Ma();Fa();tl();al();ul();pl();gl();_l();});var pt={};ig(pt,{DistortionFilter:()=>ji,EqualizerFilter:()=>zt,Filter:()=>ft,MonoFilter:()=>qi,ReverbFilter:()=>Ki,StereoFilter:()=>Zi,StreamFilter:()=>Qi,TelephoneFilter:()=>Ji});var Cl;function El(i){return Cl=i,i}function q(){return Cl}var ft=class{constructor(t,e){this.init(t,e);}init(t,e){this.destination=t,this.source=e||t;}connect(t){this.source?.connect(t);}disconnect(){this.source?.disconnect();}destroy(){this.disconnect(),this.destination=null,this.source=null;}};var ji=class extends ft{constructor(t=0){let e;if(!q().useLegacy){let{audioContext:r}=q().context;e=r.createWaveShaper();}super(e),this._distortion=e,this.amount=t;}set amount(t){if(this._amount=t,q().useLegacy)return;let e=t*1e3,r=44100,s=new Float32Array(r),o=Math.PI/180,n=0,a;for(;n<r;++n)a=n*2/r-1,s[n]=(3+e)*a*20*o/(Math.PI+e*Math.abs(a));this._distortion.curve=s,this._distortion.oversample="4x";}get amount(){return this._amount}destroy(){this._distortion=null,super.destroy();}};var ut=class{static setParamValue(t,e){if(t.setValueAtTime){let r=q().context;t.setValueAtTime(e,r.audioContext.currentTime);}else t.value=e;return e}};var K=class extends ft{constructor(i=0,t=0,e=0,r=0,s=0,o=0,n=0,a=0,l=0,h=0){let u=[],c=[{f:K.F32,type:"lowshelf",gain:i},{f:K.F64,type:"peaking",gain:t},{f:K.F125,type:"peaking",gain:e},{f:K.F250,type:"peaking",gain:r},{f:K.F500,type:"peaking",gain:s},{f:K.F1K,type:"peaking",gain:o},{f:K.F2K,type:"peaking",gain:n},{f:K.F4K,type:"peaking",gain:a},{f:K.F8K,type:"peaking",gain:l},{f:K.F16K,type:"highshelf",gain:h}];q().useLegacy||(u=c.map(f=>{let d=q().context.audioContext.createBiquadFilter();return d.type=f.type,ut.setParamValue(d.Q,1),d.frequency.value=f.f,ut.setParamValue(d.gain,f.gain),d})),super(u[0],u[u.length-1]),this.bands=u,this.bandsMap={};for(let f=0;f<this.bands.length;f++){let d=this.bands[f];f>0&&this.bands[f-1].connect(d),this.bandsMap[d.frequency.value]=d;}}setGain(i,t=0){if(!this.bandsMap[i])throw new Error(`No band found for frequency ${i}`);ut.setParamValue(this.bandsMap[i].gain,t);}getGain(i){if(!this.bandsMap[i])throw new Error(`No band found for frequency ${i}`);return this.bandsMap[i].gain.value}set f32(i){this.setGain(K.F32,i);}get f32(){return this.getGain(K.F32)}set f64(i){this.setGain(K.F64,i);}get f64(){return this.getGain(K.F64)}set f125(i){this.setGain(K.F125,i);}get f125(){return this.getGain(K.F125)}set f250(i){this.setGain(K.F250,i);}get f250(){return this.getGain(K.F250)}set f500(i){this.setGain(K.F500,i);}get f500(){return this.getGain(K.F500)}set f1k(i){this.setGain(K.F1K,i);}get f1k(){return this.getGain(K.F1K)}set f2k(i){this.setGain(K.F2K,i);}get f2k(){return this.getGain(K.F2K)}set f4k(i){this.setGain(K.F4K,i);}get f4k(){return this.getGain(K.F4K)}set f8k(i){this.setGain(K.F8K,i);}get f8k(){return this.getGain(K.F8K)}set f16k(i){this.setGain(K.F16K,i);}get f16k(){return this.getGain(K.F16K)}reset(){this.bands.forEach(i=>{ut.setParamValue(i.gain,0);});}destroy(){this.bands.forEach(i=>{i.disconnect();}),this.bands=null,this.bandsMap=null;}},zt=K;zt.F32=32;zt.F64=64;zt.F125=125;zt.F250=250;zt.F500=500;zt.F1K=1e3;zt.F2K=2e3;zt.F4K=4e3;zt.F8K=8e3;zt.F16K=16e3;var qi=class extends ft{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().context;e=r.createChannelSplitter(),t=r.createChannelMerger(),t.connect(e);}super(t,e),this._merger=t;}destroy(){this._merger?.disconnect(),this._merger=null,super.destroy();}};var Ki=class extends ft{constructor(t=3,e=2,r=false){super(null),this._seconds=this._clamp(t,1,50),this._decay=this._clamp(e,0,100),this._reverse=r,this._rebuild();}_clamp(t,e,r){return Math.min(r,Math.max(e,t))}get seconds(){return this._seconds}set seconds(t){this._seconds=this._clamp(t,1,50),this._rebuild();}get decay(){return this._decay}set decay(t){this._decay=this._clamp(t,0,100),this._rebuild();}get reverse(){return this._reverse}set reverse(t){this._reverse=t,this._rebuild();}_rebuild(){if(q().useLegacy)return;let{audioContext:t}=q().context,e=t.sampleRate,r=e*this._seconds,s=t.createBuffer(2,r,e),o=s.getChannelData(0),n=s.getChannelData(1),a;for(let h=0;h<r;h++)a=this._reverse?r-h:h,o[h]=(Math.random()*2-1)*Math.pow(1-a/r,this._decay),n[h]=(Math.random()*2-1)*Math.pow(1-a/r,this._decay);let l=t.createConvolver();l.buffer=s,this.init(l);}};var Zi=class extends ft{constructor(t=0){let e,r,s;if(!q().useLegacy){let{audioContext:o}=q().context;o.createStereoPanner?(e=o.createStereoPanner(),s=e):(r=o.createPanner(),r.panningModel="equalpower",s=r);}super(s),this._stereo=e,this._panner=r,this.pan=t;}set pan(t){this._pan=t,this._stereo?ut.setParamValue(this._stereo.pan,t):this._panner&&this._panner.setPosition(t,0,1-Math.abs(t));}get pan(){return this._pan}destroy(){super.destroy(),this._stereo=null,this._panner=null;}};var Qi=class extends ft{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().context;t=r.createMediaStreamDestination(),e=r.createMediaStreamSource(t.stream);}super(t,e),this._stream=t?.stream;}get stream(){return this._stream}destroy(){this._stream=null,super.destroy();}};var Ji=class extends ft{constructor(){let t,e;if(!q().useLegacy){let{audioContext:r}=q().context,s=r.createBiquadFilter(),o=r.createBiquadFilter(),n=r.createBiquadFilter(),a=r.createBiquadFilter();s.type="lowpass",ut.setParamValue(s.frequency,2e3),o.type="lowpass",ut.setParamValue(o.frequency,2e3),n.type="highpass",ut.setParamValue(n.frequency,500),a.type="highpass",ut.setParamValue(a.frequency,500),s.connect(o),o.connect(n),n.connect(a),t=s,e=a;}super(t,e);}};k();var Wm={extension:{type:S.Environment,name:"browser",priority:-1},test:()=>true,load:async()=>{await Promise.resolve().then(()=>(zm(),m_));}};k();var Hm={extension:{type:S.Environment,name:"webworker",priority:0},test:()=>typeof self<"u"&&self.WorkerGlobalScope!==void 0,load:async()=>{await Promise.resolve().then(()=>(Vm(),g_));}};k();k();Cs();Ss();Pn();Ut();Dn();rr();Et();vs();I.add(Wm,Hm);var Ui=class extends H{constructor(){super(...arguments),this.speed=1,this.muted=false,this.volume=1,this.paused=false;}refresh(){this.emit("refresh");}refreshPaused(){this.emit("refreshPaused");}get filters(){return console.warn("HTML Audio does not support filters"),null}set filters(t){console.warn("HTML Audio does not support filters");}get audioContext(){return console.warn("HTML Audio does not support audioContext"),null}toggleMute(){return this.muted=!this.muted,this.refresh(),this.muted}togglePause(){return this.paused=!this.paused,this.refreshPaused(),this.paused}destroy(){this.removeAllListeners();}};var x_=0,yl=class extends H{constructor(i){super(),this.id=x_++,this.init(i);}set(i,t){if(this[i]===void 0)throw new Error(`Property with name ${i} does not exist.`);switch(i){case "speed":this.speed=t;break;case "volume":this.volume=t;break;case "paused":this.paused=t;break;case "loop":this.loop=t;break;case "muted":this.muted=t;break}return this}get progress(){let{currentTime:i}=this._source;return i/this._duration}get paused(){return this._paused}set paused(i){this._paused=i,this.refreshPaused();}_onPlay(){this._playing=true;}_onPause(){this._playing=false;}init(i){this._playing=false,this._duration=i.source.duration;let t=this._source=i.source.cloneNode(false);t.src=i.parent.url,t.onplay=this._onPlay.bind(this),t.onpause=this._onPause.bind(this),i.context.on("refresh",this.refresh,this),i.context.on("refreshPaused",this.refreshPaused,this),this._media=i;}_internalStop(){this._source&&this._playing&&(this._source.onended=null,this._source.pause());}stop(){this._internalStop(),this._source&&this.emit("stop");}get speed(){return this._speed}set speed(i){this._speed=i,this.refresh();}get volume(){return this._volume}set volume(i){this._volume=i,this.refresh();}get loop(){return this._loop}set loop(i){this._loop=i,this.refresh();}get muted(){return this._muted}set muted(i){this._muted=i,this.refresh();}get filters(){return console.warn("HTML Audio does not support filters"),null}set filters(i){console.warn("HTML Audio does not support filters");}refresh(){let i=this._media.context,t=this._media.parent;this._source.loop=this._loop||t.loop;let e=i.volume*(i.muted?0:1),r=t.volume*(t.muted?0:1),s=this._volume*(this._muted?0:1);this._source.volume=s*e*r,this._source.playbackRate=this._speed*i.speed*t.speed;}refreshPaused(){let i=this._media.context,t=this._media.parent,e=this._paused||t.paused||i.paused;e!==this._pausedReal&&(this._pausedReal=e,e?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._source.currentTime,end:this._end,volume:this._volume,speed:this._speed,loop:this._loop})),this.emit("pause",e));}play(i){let{start:t,end:e,speed:r,loop:s,volume:o,muted:n}=i;e&&console.assert(e>t,"End time is before start time"),this._speed=r,this._volume=o,this._loop=!!s,this._muted=n,this.refresh(),this.loop&&e!==null&&(console.warn('Looping not support when specifying an "end" time'),this.loop=false),this._start=t,this._end=e||this._duration,this._start=Math.max(0,this._start-yl.PADDING),this._end=Math.min(this._end+yl.PADDING,this._duration),this._source.onloadedmetadata=()=>{this._source&&(this._source.currentTime=t,this._source.onloadedmetadata=null,this.emit("progress",t/this._duration,this._duration),lt.shared.add(this._onUpdate,this));},this._source.onended=this._onComplete.bind(this),this._source.play(),this.emit("start");}_onUpdate(){this.emit("progress",this.progress,this._duration),this._source.currentTime>=this._end&&!this._source.loop&&this._onComplete();}_onComplete(){lt.shared.remove(this._onUpdate,this),this._internalStop(),this.emit("progress",1,this._duration),this.emit("end",this);}destroy(){lt.shared.remove(this._onUpdate,this),this.removeAllListeners();let i=this._source;i&&(i.onended=null,i.onplay=null,i.onpause=null,this._internalStop()),this._source=null,this._speed=1,this._volume=1,this._loop=false,this._end=null,this._start=0,this._duration=0,this._playing=false,this._pausedReal=false,this._paused=false,this._muted=false,this._media&&(this._media.context.off("refresh",this.refresh,this),this._media.context.off("refreshPaused",this.refreshPaused,this),this._media=null);}toString(){return `[HTMLAudioInstance id=${this.id}]`}},Bo=yl;Bo.PADDING=.1;var Li=class extends H{init(t){this.parent=t,this._source=t.options.source||new Audio,t.url&&(this._source.src=t.url);}create(){return new Bo(this)}get isPlayable(){return !!this._source&&this._source.readyState===4}get duration(){return this._source.duration}get context(){return this.parent.context}get filters(){return null}set filters(t){console.warn("HTML Audio does not support filters");}destroy(){this.removeAllListeners(),this.parent=null,this._source&&(this._source.src="",this._source.load(),this._source=null);}get source(){return this._source}load(t){let e=this._source,r=this.parent;if(e.readyState===4){r.isLoaded=true;let l=r.autoPlayStart();t&&setTimeout(()=>{t(null,r,l);},0);return}if(!r.url){t(new Error("sound.url or sound.source must be set"));return}e.src=r.url;let s=()=>{a(),r.isLoaded=true;let l=r.autoPlayStart();t&&t(null,r,l);},o=()=>{a(),t&&t(new Error("Sound loading has been aborted"));},n=()=>{a();let l=`Failed to load audio element (code: ${e.error.code})`;t?t(new Error(l)):console.error(l);},a=()=>{e.removeEventListener("canplaythrough",s),e.removeEventListener("load",s),e.removeEventListener("abort",o),e.removeEventListener("error",n);};e.addEventListener("canplaythrough",s,false),e.addEventListener("load",s,false),e.addEventListener("abort",o,false),e.addEventListener("error",n,false),e.load();}};var Oi=class{constructor(t,e){this.parent=t,Object.assign(this,e),this.duration=this.end-this.start,console.assert(this.duration>0,"End time must be after start time");}play(t){return this.parent.play({complete:t,speed:this.speed||this.parent.speed,end:this.end,start:this.start,loop:this.loop})}destroy(){this.parent=null;}};var Xe=["ogg","oga","opus","m4a","mp3","mpeg","wav","aiff","wma","mid","caf"],bl=["audio/mpeg","audio/ogg"],$e={};function Nm(i){let t={m4a:"audio/mp4",oga:"audio/ogg",opus:'audio/ogg; codecs="opus"',caf:'audio/x-caf; codecs="opus"',...{}},e=document.createElement("audio"),r={},s=/^no$/;Xe.forEach(o=>{let n=e.canPlayType(`audio/${o}`).replace(s,""),a=t[o]?e.canPlayType(t[o]).replace(s,""):"";r[o]=!!n||!!a;}),Object.assign($e,r);}Nm();var y_=0,zi=class extends H{constructor(t){super(),this.id=y_++,this._media=null,this._paused=false,this._muted=false,this._elapsed=0,this.init(t);}set(t,e){if(this[t]===void 0)throw new Error(`Property with name ${t} does not exist.`);switch(t){case "speed":this.speed=e;break;case "volume":this.volume=e;break;case "muted":this.muted=e;break;case "loop":this.loop=e;break;case "paused":this.paused=e;break}return this}stop(){this._source&&(this._internalStop(),this.emit("stop"));}get speed(){return this._speed}set speed(t){this._speed=t,this.refresh(),this._update(true);}get volume(){return this._volume}set volume(t){this._volume=t,this.refresh();}get muted(){return this._muted}set muted(t){this._muted=t,this.refresh();}get loop(){return this._loop}set loop(t){this._loop=t,this.refresh();}get filters(){return this._filters}set filters(t){this._filters&&(this._filters?.filter(e=>e).forEach(e=>e.disconnect()),this._filters=null,this._source.connect(this._gain)),this._filters=t?.length?t.slice(0):null,this.refresh();}refresh(){if(!this._source)return;let t=this._media.context,e=this._media.parent;this._source.loop=this._loop||e.loop;let r=t.volume*(t.muted?0:1),s=e.volume*(e.muted?0:1),o=this._volume*(this._muted?0:1);ut.setParamValue(this._gain.gain,o*s*r),ut.setParamValue(this._source.playbackRate,this._speed*e.speed*t.speed),this.applyFilters();}applyFilters(){if(this._filters?.length){this._source.disconnect();let t=this._source;this._filters.forEach(e=>{t.connect(e.destination),t=e;}),t.connect(this._gain);}}refreshPaused(){let t=this._media.context,e=this._media.parent,r=this._paused||e.paused||t.paused;r!==this._pausedReal&&(this._pausedReal=r,r?(this._internalStop(),this.emit("paused")):(this.emit("resumed"),this.play({start:this._elapsed%this._duration,end:this._end,speed:this._speed,loop:this._loop,volume:this._volume})),this.emit("pause",r));}play(t){let{start:e,end:r,speed:s,loop:o,volume:n,muted:a,filters:l}=t;r&&console.assert(r>e,"End time is before start time"),this._paused=false;let{source:h,gain:u}=this._media.nodes.cloneBufferSource();this._source=h,this._gain=u,this._speed=s,this._volume=n,this._loop=!!o,this._muted=a,this._filters=l,this.refresh();let c=this._source.buffer.duration;this._duration=c,this._end=r,this._lastUpdate=this._now(),this._elapsed=e,this._source.onended=this._onComplete.bind(this),this._loop?(this._source.loopEnd=r,this._source.loopStart=e,this._source.start(0,e)):r?this._source.start(0,e,r-e):this._source.start(0,e),this.emit("start"),this._update(true),this.enableTicker(true);}enableTicker(t){lt.shared.remove(this._updateListener,this),t&&lt.shared.add(this._updateListener,this);}get progress(){return this._progress}get paused(){return this._paused}set paused(t){this._paused=t,this.refreshPaused();}destroy(){this.removeAllListeners(),this._internalStop(),this._gain&&(this._gain.disconnect(),this._gain=null),this._media&&(this._media.context.events.off("refresh",this.refresh,this),this._media.context.events.off("refreshPaused",this.refreshPaused,this),this._media=null),this._filters?.forEach(t=>t.disconnect()),this._filters=null,this._end=null,this._speed=1,this._volume=1,this._loop=false,this._elapsed=0,this._duration=0,this._paused=false,this._muted=false,this._pausedReal=false;}toString(){return `[WebAudioInstance id=${this.id}]`}_now(){return this._media.context.audioContext.currentTime}_updateListener(){this._update();}_update(t=false){if(this._source){let e=this._now(),r=e-this._lastUpdate;if(r>0||t){let s=this._source.playbackRate.value;this._elapsed+=r*s,this._lastUpdate=e;let o=this._duration,n;if(this._source.loopStart){let a=this._source.loopEnd-this._source.loopStart;n=(this._source.loopStart+this._elapsed%a)/o;}else n=this._elapsed%o/o;this._progress=n,this.emit("progress",this._progress,o);}}}init(t){this._media=t,t.context.events.on("refresh",this.refresh,this),t.context.events.on("refreshPaused",this.refreshPaused,this);}_internalStop(){if(this._source){this.enableTicker(false),this._source.onended=null,this._source.stop(0),this._source.disconnect();try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}this._source=null;}}_onComplete(){if(this._source){this.enableTicker(false),this._source.onended=null,this._source.disconnect();try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}}this._source=null,this._progress=1,this.emit("progress",1,this._duration),this.emit("end",this);}};var je=class{constructor(t,e){this._output=e,this._input=t;}get destination(){return this._input}get filters(){return this._filters}set filters(t){if(this._filters&&(this._filters.forEach(e=>{e&&e.disconnect();}),this._filters=null,this._input.connect(this._output)),t&&t.length){this._filters=t.slice(0),this._input.disconnect();let e=null;t.forEach(r=>{e===null?this._input.connect(r.destination):e.connect(r.destination),e=r;}),e.connect(this._output);}}destroy(){this.filters=null,this._input=null,this._output=null;}};var Ym=class extends je{constructor(i){let t=i.audioContext,e=t.createBufferSource(),r=t.createGain(),s=t.createAnalyser();e.connect(s),s.connect(r),r.connect(i.destination),super(s,r),this.context=i,this.bufferSource=e,this.gain=r,this.analyser=s;}get script(){return this._script||(this._script=this.context.audioContext.createScriptProcessor(Ym.BUFFER_SIZE),this._script.connect(this.context.destination)),this._script}destroy(){super.destroy(),this.bufferSource.disconnect(),this._script&&this._script.disconnect(),this.gain.disconnect(),this.analyser.disconnect(),this.bufferSource=null,this._script=null,this.gain=null,this.analyser=null,this.context=null;}cloneBufferSource(){let i=this.bufferSource,t=this.context.audioContext.createBufferSource();t.buffer=i.buffer,ut.setParamValue(t.playbackRate,i.playbackRate.value),t.loop=i.loop;let e=this.context.audioContext.createGain();return t.connect(e),e.connect(this.destination),{source:t,gain:e}}get bufferSize(){return this.script.bufferSize}},ko=Ym;ko.BUFFER_SIZE=0;var qe=class{init(t){this.parent=t,this._nodes=new ko(this.context),this._source=this._nodes.bufferSource,this.source=t.options.source;}destroy(){this.parent=null,this._nodes.destroy(),this._nodes=null;try{this._source.buffer=null;}catch(t){console.warn("Failed to set AudioBufferSourceNode.buffer to null:",t);}this._source=null,this.source=null;}create(){return new zi(this)}get context(){return this.parent.context}get isPlayable(){return !!this._source&&!!this._source.buffer}get filters(){return this._nodes.filters}set filters(t){this._nodes.filters=t;}get duration(){return console.assert(this.isPlayable,"Sound not yet playable, no duration"),this._source.buffer.duration}get buffer(){return this._source.buffer}set buffer(t){this._source.buffer=t;}get nodes(){return this._nodes}load(t){this.source?this._decode(this.source,t):this.parent.url?this._loadUrl(t):t?t(new Error("sound.url or sound.source must be set")):console.error("sound.url or sound.source must be set");}async _loadUrl(t){let e=this.parent.url,r=await tt.get().fetch(e);this._decode(await r.arrayBuffer(),t);}_decode(t,e){let r=(s,o)=>{if(s)e&&e(s);else {this.parent.isLoaded=true,this.buffer=o;let n=this.parent.autoPlayStart();e&&e(null,this.parent,n);}};t instanceof AudioBuffer?r(null,t):this.parent.context.decode(t,r);}};var Br=class{static from(i){let t={};typeof i=="string"?t.url=i:i instanceof ArrayBuffer||i instanceof AudioBuffer||i instanceof HTMLAudioElement?t.source=i:Array.isArray(i)?t.url=i:t=i,t={autoPlay:false,singleInstance:false,url:null,source:null,preload:false,volume:1,speed:1,complete:null,loaded:null,loop:false,...t},Object.freeze(t);let e=q().useLegacy?new Li:new qe;return new Br(e,t)}constructor(i,t){this.media=i,this.options=t,this._instances=[],this._sprites={},this.media.init(this);let e=t.complete;this._autoPlayOptions=e?{complete:e}:null,this.isLoaded=false,this._preloadQueue=null,this.isPlaying=false,this.autoPlay=t.autoPlay,this.singleInstance=t.singleInstance,this.preload=t.preload||this.autoPlay,this.url=Array.isArray(t.url)?this.preferUrl(t.url):t.url,this.speed=t.speed,this.volume=t.volume,this.loop=t.loop,t.sprites&&this.addSprites(t.sprites),this.preload&&this._preload(t.loaded);}preferUrl(i){let[t]=i.map(e=>({url:e,ext:Bt.extname(e).slice(1)})).filter(({ext:e})=>$e[e]).sort((e,r)=>Xe.indexOf(e.ext)-Xe.indexOf(r.ext));if(!t)throw new Error("No supported file type found");return t.url}get context(){return q().context}pause(){return this.isPlaying=false,this.paused=true,this}resume(){return this.isPlaying=this._instances.length>0,this.paused=false,this}get paused(){return this._paused}set paused(i){this._paused=i,this.refreshPaused();}get speed(){return this._speed}set speed(i){this._speed=i,this.refresh();}get filters(){return this.media.filters}set filters(i){this.media.filters=i;}addSprites(i,t){if(typeof i=="object"){let r={};for(let s in i)r[s]=this.addSprites(s,i[s]);return r}console.assert(!this._sprites[i],`Alias ${i} is already taken`);let e=new Oi(this,t);return this._sprites[i]=e,e}destroy(){this._removeInstances(),this.removeSprites(),this.media.destroy(),this.media=null,this._sprites=null,this._instances=null;}removeSprites(i){if(i){let t=this._sprites[i];t!==void 0&&(t.destroy(),delete this._sprites[i]);}else for(let t in this._sprites)this.removeSprites(t);return this}get isPlayable(){return this.isLoaded&&this.media&&this.media.isPlayable}stop(){if(!this.isPlayable)return this.autoPlay=false,this._autoPlayOptions=null,this;this.isPlaying=false;for(let i=this._instances.length-1;i>=0;i--)this._instances[i].stop();return this}play(i,t){let e;if(typeof i=="string"?e={sprite:i,loop:this.loop,complete:t}:typeof i=="function"?(e={},e.complete=i):e=i,e={complete:null,loaded:null,sprite:null,end:null,start:0,volume:1,speed:1,muted:false,loop:false,...e||{}},e.sprite){let s=e.sprite;console.assert(!!this._sprites[s],`Alias ${s} is not available`);let o=this._sprites[s];e.start=o.start+(e.start||0),e.end=o.end,e.speed=o.speed||1,e.loop=o.loop||e.loop,delete e.sprite;}if(e.offset&&(e.start=e.offset),!this.isLoaded)return this._preloadQueue?new Promise(s=>{this._preloadQueue.push(()=>{s(this.play(e));});}):(this._preloadQueue=[],this.autoPlay=true,this._autoPlayOptions=e,new Promise((s,o)=>{this._preload((n,a,l)=>{this._preloadQueue.forEach(h=>h()),this._preloadQueue=null,n?o(n):(e.loaded&&e.loaded(n,a,l),s(l));});}));(this.singleInstance||e.singleInstance)&&this._removeInstances();let r=this._createInstance();return this._instances.push(r),this.isPlaying=true,r.once("end",()=>{e.complete&&e.complete(this),this._onComplete(r);}),r.once("stop",()=>{this._onComplete(r);}),r.play(e),r}refresh(){let i=this._instances.length;for(let t=0;t<i;t++)this._instances[t].refresh();}refreshPaused(){let i=this._instances.length;for(let t=0;t<i;t++)this._instances[t].refreshPaused();}get volume(){return this._volume}set volume(i){this._volume=i,this.refresh();}get muted(){return this._muted}set muted(i){this._muted=i,this.refresh();}get loop(){return this._loop}set loop(i){this._loop=i,this.refresh();}_preload(i){this.media.load(i);}get instances(){return this._instances}get sprites(){return this._sprites}get duration(){return this.media.duration}autoPlayStart(){let i;return this.autoPlay&&(i=this.play(this._autoPlayOptions)),i}_removeInstances(){for(let i=this._instances.length-1;i>=0;i--)this._poolInstance(this._instances[i]);this._instances.length=0;}_onComplete(i){if(this._instances){let t=this._instances.indexOf(i);t>-1&&this._instances.splice(t,1),this.isPlaying=this._instances.length>0;}this._poolInstance(i);}_createInstance(){if(Br._pool.length>0){let i=Br._pool.pop();return i.init(this.media),i}return this.media.create()}_poolInstance(i){i.destroy(),Br._pool.indexOf(i)<0&&Br._pool.push(i);}},Ot=Br;Ot._pool=[];var kr=class i extends je{constructor(){let t=window,e=new i.AudioContext,r=e.createDynamicsCompressor(),s=e.createAnalyser();s.connect(r),r.connect(e.destination),super(s,r),this.autoPause=true,this._ctx=e,this._offlineCtx=new i.OfflineAudioContext(1,2,t.OfflineAudioContext?Math.max(8e3,Math.min(96e3,e.sampleRate)):44100),this.compressor=r,this.analyser=s,this.events=new H,this.volume=1,this.speed=1,this.muted=false,this.paused=false,this._locked=e.state==="suspended"&&("ontouchstart"in globalThis||"onclick"in globalThis),this._locked&&(this._unlock(),this._unlock=this._unlock.bind(this),document.addEventListener("mousedown",this._unlock,true),document.addEventListener("touchstart",this._unlock,true),document.addEventListener("touchend",this._unlock,true)),this.onFocus=this.onFocus.bind(this),this.onBlur=this.onBlur.bind(this),globalThis.addEventListener("focus",this.onFocus),globalThis.addEventListener("blur",this.onBlur);}onFocus(){if(!this.autoPause)return;let t=this._ctx.state;(t==="suspended"||t==="interrupted"||!this._locked)&&(this.paused=this._pausedOnBlur,this.refreshPaused());}onBlur(){this.autoPause&&(this._locked||(this._pausedOnBlur=this._paused,this.paused=true,this.refreshPaused()));}_unlock(){this._locked&&(this.playEmptySound(),this._ctx.state==="running"&&(document.removeEventListener("mousedown",this._unlock,true),document.removeEventListener("touchend",this._unlock,true),document.removeEventListener("touchstart",this._unlock,true),this._locked=false));}playEmptySound(){let t=this._ctx.createBufferSource();t.buffer=this._ctx.createBuffer(1,1,22050),t.connect(this._ctx.destination),t.start(0,0,0),t.context.state==="suspended"&&t.context.resume();}static get AudioContext(){let t=window;return t.AudioContext||t.webkitAudioContext||null}static get OfflineAudioContext(){let t=window;return t.OfflineAudioContext||t.webkitOfflineAudioContext||null}destroy(){super.destroy();let t=this._ctx;typeof t.close<"u"&&t.close(),globalThis.removeEventListener("focus",this.onFocus),globalThis.removeEventListener("blur",this.onBlur),this.events.removeAllListeners(),this.analyser.disconnect(),this.compressor.disconnect(),this.analyser=null,this.compressor=null,this.events=null,this._offlineCtx=null,this._ctx=null;}get audioContext(){return this._ctx}get offlineContext(){return this._offlineCtx}set paused(t){t&&this._ctx.state==="running"?this._ctx.suspend():!t&&this._ctx.state==="suspended"&&this._ctx.resume(),this._paused=t;}get paused(){return this._paused}refresh(){this.events.emit("refresh");}refreshPaused(){this.events.emit("refreshPaused");}toggleMute(){return this.muted=!this.muted,this.refresh(),this.muted}togglePause(){return this.paused=!this.paused,this.refreshPaused(),this._paused}decode(t,e){let r=o=>{e(new Error(o?.message||"Unable to decode file"));},s=this._offlineCtx.decodeAudioData(t,o=>{e(null,o);},r);s&&s.catch(r);}};var Gr=class{constructor(){this.init();}init(){return this.supported&&(this._webAudioContext=new kr),this._htmlAudioContext=new Ui,this._sounds={},this.useLegacy=!this.supported,this}get context(){return this._context}get filtersAll(){return this.useLegacy?[]:this._context.filters}set filtersAll(t){this.useLegacy||(this._context.filters=t);}get supported(){return kr.AudioContext!==null}add(t,e){if(typeof t=="object"){let o={};for(let n in t){let a=this._getOptions(t[n],e);o[n]=this.add(n,a);}return o}if(console.assert(!this._sounds[t],`Sound with alias ${t} already exists.`),e instanceof Ot)return this._sounds[t]=e,e;let r=this._getOptions(e),s=Ot.from(r);return this._sounds[t]=s,s}_getOptions(t,e){let r;return typeof t=="string"?r={url:t}:Array.isArray(t)?r={url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?r={source:t}:r=t,r={...r,...e||{}},r}get useLegacy(){return this._useLegacy}set useLegacy(t){this._useLegacy=t,this._context=!t&&this.supported?this._webAudioContext:this._htmlAudioContext;}get disableAutoPause(){return !this._webAudioContext.autoPause}set disableAutoPause(t){this._webAudioContext.autoPause=!t;}remove(t){return this.exists(t,true),this._sounds[t].destroy(),delete this._sounds[t],this}get volumeAll(){return this._context.volume}set volumeAll(t){this._context.volume=t,this._context.refresh();}get speedAll(){return this._context.speed}set speedAll(t){this._context.speed=t,this._context.refresh();}togglePauseAll(){return this._context.togglePause()}pauseAll(){return this._context.paused=true,this._context.refreshPaused(),this}resumeAll(){return this._context.paused=false,this._context.refreshPaused(),this}toggleMuteAll(){return this._context.toggleMute()}muteAll(){return this._context.muted=true,this._context.refresh(),this}unmuteAll(){return this._context.muted=false,this._context.refresh(),this}removeAll(){for(let t in this._sounds)this._sounds[t].destroy(),delete this._sounds[t];return this}stopAll(){for(let t in this._sounds)this._sounds[t].stop();return this}exists(t,e=false){let r=!!this._sounds[t];return e&&console.assert(r,`No sound matching alias '${t}'.`),r}isPlaying(){for(let t in this._sounds)if(this._sounds[t].isPlaying)return true;return false}find(t){return this.exists(t,true),this._sounds[t]}play(t,e){return this.find(t).play(e)}stop(t){return this.find(t).stop()}pause(t){return this.find(t).pause()}resume(t){return this.find(t).resume()}volume(t,e){let r=this.find(t);return e!==void 0&&(r.volume=e),r.volume}speed(t,e){let r=this.find(t);return e!==void 0&&(r.speed=e),r.speed}duration(t){return this.find(t).duration}close(){return this.removeAll(),this._sounds=null,this._webAudioContext&&(this._webAudioContext.destroy(),this._webAudioContext=null),this._htmlAudioContext&&(this._htmlAudioContext.destroy(),this._htmlAudioContext=null),this._context=null,this}};var Xm=i=>{let t=i.src,e=i?.alias?.[0];return (!e||i.src===e)&&(e=Bt.basename(t,Bt.extname(t))),e},$m={extension:S.Asset,detection:{test:async()=>true,add:async i=>[...i,...Xe.filter(t=>$e[t])],remove:async i=>i.filter(t=>i.includes(t))},loader:{name:"sound",extension:{type:[S.LoadParser],priority:nr.High},test(i){let t=Bt.extname(i).slice(1);return !!$e[t]||bl.some(e=>i.startsWith(`data:${e}`))},async load(i,t){let e=await new Promise((r,s)=>Ot.from({...t.data,url:i,preload:true,loaded(o,n){o?s(o):r(n),t.data?.loaded?.(o,n);}}));return q().add(Xm(t),e),e},async unload(i,t){q().remove(Xm(t));}}};I.add($m);var X=El(new Gr);var it;(s=>(s.log=(o,...n)=>console.log(`[Pixi\u2019VN] ${o}`,...n),s.warn=(o,...n)=>console.warn(`[Pixi\u2019VN] ${o}`,...n),s.error=(o,...n)=>console.error(`[Pixi\u2019VN] ${o}`,...n),s.info=(o,...n)=>console.info(`[Pixi\u2019VN] ${o}`,...n)))(it||(it={}));var R=class R{static init(t){R._getStepCounter=t.getStepCounter,R._setStepCounter=t.setStepCounter,R._getCurrentGameStepState=t.getCurrentGameStepState,R._restoreGameStepState=t.restoreGameStepState,R._getOpenedLabels=t.getOpenedLabels,t.onGoNextEnd&&(R._onGoNextEnd=t.onGoNextEnd),R._getVariable=t.getVariable,R._setVariable=t.setVariable,R._removeVariable=t.removeVariable,R._getFlag=t.getFlag,R._setFlag=t.setFlag,t.onLabelClosing&&(R._onLabelClosing=t.onLabelClosing),R._addHistoryItem=t.addHistoryItem,R._getCurrentStepsRunningNumber=t.getCurrentStepsRunningNumber,R._getCharacter=t.getCharacter;}static get stepCounter(){return R._getStepCounter()}static set stepCounter(t){R._setStepCounter(t);}static get currentGameStepState(){return R._getCurrentGameStepState()}static get restoreGameStepState(){return R._restoreGameStepState}static get openedLabels(){return R._getOpenedLabels()}static get onGoNextEnd(){return R._onGoNextEnd}static get getVariable(){return R._getVariable}static get setVariable(){return R._setVariable}static get removeVariable(){return R._removeVariable}static get getFlag(){return R._getFlag}static get setFlag(){return R._setFlag}static get onLabelClosing(){return R._onLabelClosing}static get addHistoryItem(){return R._addHistoryItem}static get currentStepsRunningNumber(){return R._getCurrentStepsRunningNumber()}static get getCharacter(){return R._getCharacter}};st(R,"_getStepCounter",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_setStepCounter",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_getCurrentGameStepState",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_restoreGameStepState",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_getOpenedLabels",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_onGoNextEnd",async()=>{}),st(R,"_getVariable",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_setVariable",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_removeVariable",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_getFlag",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_setFlag",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_onLabelClosing",()=>{}),st(R,"_addHistoryItem",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_getCurrentStepsRunningNumber",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented, you should initialize the Game: Game.init()")}),st(R,"_getCharacter",()=>{throw it.error("Method not implemented, you should initialize the Game: Game.init()"),new Error("Method not implemented.")}),st(R,"onEnd"),st(R,"onError");var ne=R;function Wi(i){try{if(typeof i>"u")return i;let t=JSON.stringify(i);return JSON.parse(t)}catch(t){throw it.error("Error creating exportable element",i,t),new Error("[Pixi\u2019VN] Error creating exportable element")}}var U=class{constructor(){}};st(U,"soundAliasesOrder",[]),st(U,"soundsPlaying",{}),st(U,"sounds",{});var Ke=class i extends Ot{constructor(){super(...arguments);st(this,"alias");}pause(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");let e=U.soundsPlaying[this.alias];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return U.soundsPlaying[this.alias]={...e,paused:true},super.pause()}resume(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");let e=U.soundsPlaying[this.alias];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return U.soundsPlaying[this.alias]={options:e.options,stepIndex:ne.stepCounter,paused:false},super.resume()}destroy(){return this.alias&&delete U.soundsPlaying[this.alias],super.destroy()}stop(){if(!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");return delete U.soundsPlaying[this.alias],super.stop()}play(e){if(typeof e=="string"&&(this.alias=e),!this.alias)throw new Error("[Pixi\u2019VN] The alias is not defined.");return U.soundsPlaying[this.alias]={stepIndex:ne.stepCounter,options:e,paused:false},super.play(e)}static from(e){let r=Ot.from(e);return new i(r.media,r.options)}};function Vi(i){let t=[];for(let e of i)e.type==="TelephoneFilter"?t.push(new pt.TelephoneFilter):e.type==="StreamFilter"?t.push(new pt.StreamFilter):e.type==="StereoFilter"?t.push(new pt.StereoFilter(e.pan)):e.type==="ReverbFilter"?t.push(new pt.ReverbFilter(e.seconds,e.decay,e.reverse)):e.type==="MonoFilter"?t.push(new pt.MonoFilter):e.type==="EqualizerFilter"?t.push(new pt.EqualizerFilter(e.f32,e.f64,e.f125,e.f250,e.f500,e.f1k,e.f2k,e.f4k,e.f8k,e.f16k)):e.type==="DistortionFilter"?t.push(new pt.DistortionFilter(e.amount)):it.error("Unknown sound filter type");return t}function vl(i){if(!i)return;let t=[];for(let e of i)e instanceof pt.TelephoneFilter?t.push({type:"TelephoneFilter"}):e instanceof pt.StreamFilter?t.push({type:"StreamFilter"}):e instanceof pt.StereoFilter?t.push({type:"StereoFilter",pan:e.pan}):e instanceof pt.ReverbFilter?t.push({type:"ReverbFilter",seconds:e.seconds,decay:e.decay,reverse:e.reverse}):e instanceof pt.MonoFilter?t.push({type:"MonoFilter"}):e instanceof pt.EqualizerFilter?t.push({type:"EqualizerFilter",f32:e.f32,f64:e.f64,f125:e.f125,f250:e.f250,f500:e.f500,f1k:e.f1k,f2k:e.f2k,f4k:e.f4k,f8k:e.f8k,f16k:e.f16k}):e instanceof pt.DistortionFilter?t.push({type:"DistortionFilter",amount:e.amount}):it.error("Unknown sound filter type");return t}var Hi=class extends Gr{constructor(){super();}get context(){return X.context}get filtersAll(){return X.filtersAll}set filtersAll(t){X.filtersAll=t.filter(e=>!(e instanceof pt.Filter));}get supported(){return X.supported}getOptions(t,e){let r;return typeof t=="string"?r={url:t}:Array.isArray(t)?r={url:t}:t instanceof ArrayBuffer||t instanceof AudioBuffer||t instanceof HTMLAudioElement?r={source:t}:r=t,r={...r,...e||{}},r}add(t,e){if(typeof t=="object")throw new Error("[Pixi\u2019VN] The method add(map: SoundSourceMap, globalOptions?: Options) is deprecated. Use add(alias: string, options: Options | string | ArrayBuffer | AudioBuffer | HTMLAudioElement | Sound): Sound; instead.");this.exists(t)&&this.remove(t),e instanceof Ot&&(e=e.options);let r;if(e instanceof Ke)r=e;else {let s=this.getOptions(e||{});r=Ke.from(s);}return r.alias=t,!U.soundAliasesOrder.includes(t)&&U.soundAliasesOrder.push(t),U.sounds[t]=r,X.add(t,r),r}get useLegacy(){return X.useLegacy}set useLegacy(t){X.useLegacy=t;}get disableAutoPause(){return X.disableAutoPause}set disableAutoPause(t){X.disableAutoPause=t;}remove(t){return U.soundAliasesOrder=U.soundAliasesOrder.filter(e=>e!==t),delete U.soundsPlaying[t],delete U.sounds[t],X.remove(t)}get volumeAll(){return X.volumeAll}set volumeAll(t){X.volumeAll=t;}get speedAll(){return X.speedAll}set speedAll(t){X.speedAll=t;}togglePauseAll(){return X.togglePauseAll()}pauseAll(){return X.pauseAll()}resumeAll(){return X.resumeAll()}toggleMuteAll(){return X.toggleMuteAll()}muteAll(){return X.muteAll()}unmuteAll(){return X.unmuteAll()}removeAll(){return U.soundAliasesOrder=[],U.soundsPlaying={},U.sounds={},X.removeAll()}stopAll(){for(let t in U.sounds)U.sounds[t].stop();return U.soundsPlaying={},X.stopAll()}exists(t,e){return X.exists(t,e)||t in U.sounds}isPlaying(){return X.isPlaying()}find(t){let e=U.sounds[t];return e||(e=X.find(t),e&&(U.sounds[t]=e),e)}play(t,e){if(!this.exists(t))throw new Error("[Pixi\u2019VN] The alias is not found in the sound library.");return U.soundsPlaying[t]={stepIndex:ne.stepCounter,options:e,paused:false},X.play(t,e)}stop(t){return delete U.soundsPlaying[t],X.stop(t)}pause(t){let e=U.soundsPlaying[t];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return U.soundsPlaying[t]={...e,paused:true},X.pause(t)}resume(t){let e=U.soundsPlaying[t];if(!e)throw new Error("[Pixi\u2019VN] The alias is not found in the playInStepIndex.");return U.soundsPlaying[t]={options:e.options,stepIndex:ne.stepCounter,paused:false},X.resume(t)}volume(t,e){return X.volume(t,e)}speed(t,e){return X.speed(t,e)}duration(t){return X.duration(t)}close(){return X.close()}clear(){this.stopAll();}export(){let t={};for(let e in U.soundsPlaying){let r=U.soundsPlaying[e],s=this.find(e);s&&(t[e]={...r,sound:{options:{...s.options,autoPlay:s.autoPlay,loop:s.loop,preload:s.preload,singleInstance:s.singleInstance,url:s.options.url,volume:s.options.volume},filters:vl(s.media.filters)}});}return {soundsPlaying:Wi(t),soundAliasesOrder:Wi(U.soundAliasesOrder),filters:Wi(vl(this.filtersAll))}}removeOldSoundAndExport(){return this.export()}restore(t){let e=ne.stepCounter-1;this.clear();try{if(t.hasOwnProperty("soundAliasesOrder"))U.soundAliasesOrder=t.soundAliasesOrder;else {it.error("The data does not have the properties soundAliasesOrder");return}if(t.hasOwnProperty("filters")){let r=t.filters;r&&(this.filtersAll=Vi(r));}if(t.hasOwnProperty("playInStepIndex")){let r=t.playInStepIndex;r&&(U.soundsPlaying=r);}if(t.hasOwnProperty("sounds")){let r=t.sounds;for(let s in r){let o=r[s],n=!1,a=this.add(s,{...o.options,autoPlay:!1});if(s in U.soundsPlaying){let l=U.soundsPlaying[s];(o.options.loop||l.options&&typeof l.options=="object"&&l.options.loop||l.stepIndex===e)&&(n=!0),o.filters&&(a.filters=Vi(o.filters)),n&&a.play();}}}if(t.hasOwnProperty("soundsPlaying")){let r=t.soundsPlaying;for(let s in r){let o=r[s];U.soundsPlaying[s]={paused:o.paused,stepIndex:o.stepIndex,options:o.options};let n=r[s].sound,a=!1,l;if(this.exists(s)?(l=this.find(s),n.options.url=l.options.url,n.options.volume=l.options.volume,l.options=n.options,l.autoPlay=!1,l.filters=n.filters?Vi(n.filters):[]):l=this.add(s,{...n.options,autoPlay:!1}),s in U.soundsPlaying){let h=U.soundsPlaying[s];(n.options.loop||h.options&&typeof h.options=="object"&&h.options.loop||h.stepIndex===e)&&(a=!0),n.filters&&(l.filters=Vi(n.filters)),a&&l.play();}}}else {it.error("The data does not have the properties soundsPlaying");return}}catch(r){it.error("Error importing data",r);}}};var sR=new Hi;export{Ke as Sound,U as SoundManagerStatic,sR as sound};