@taole/giftstage 0.1.33 → 0.1.34

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.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var jA=typeof document!="undefined"?document.currentScript:null;const oC=`#version 300 es
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var PA=typeof document!="undefined"?document.currentScript:null;const sC=`#version 300 es
2
2
  precision highp float;
3
3
 
4
4
  layout(location = 0) in vec3 a_position;
@@ -6,16 +6,17 @@ layout(location = 1) in vec4 a_color;
6
6
  layout(location = 2) in vec2 a_uv;
7
7
 
8
8
  uniform mat4 u_projection;
9
+ uniform mat4 u_transform;
9
10
 
10
11
  out vec2 v_uv;
11
12
  out vec4 v_color;
12
13
 
13
14
  void main() {
14
- gl_Position = u_projection * vec4(a_position, 1.0);
15
+ gl_Position = u_projection * u_transform * vec4(a_position, 1.0);
15
16
  v_uv = a_uv;
16
17
  v_color = a_color;
17
18
  }
18
- `,eC=`#version 300 es
19
+ `,DC=`#version 300 es
19
20
  precision highp float;
20
21
 
21
22
  layout(location = 0) in vec2 a_corner;
@@ -39,7 +40,7 @@ void main() {
39
40
  v_uv = mix(a_uvRect.xy, a_uvRect.zw, a_corner);
40
41
  v_color = vec4(1.0, 1.0, 1.0, a_translateAlpha.z);
41
42
  }
42
- `,QB=`#version 300 es
43
+ `,eB=`#version 300 es
43
44
  precision mediump float;
44
45
 
45
46
  uniform sampler2D u_atlas;
@@ -53,7 +54,7 @@ void main() {
53
54
  vec4 c = texture(u_atlas, v_uv);
54
55
  fragColor = vec4(c.rgb * v_color.rgb * v_color.a, c.a * v_color.a);
55
56
  }
56
- `,aC=`#version 300 es\r
57
+ `,hC=`#version 300 es\r
57
58
  precision highp float;\r
58
59
  \r
59
60
  layout(location = 0) in vec2 a_position;\r
@@ -78,7 +79,7 @@ void main() {\r
78
79
  v_opacity = u_opacity;\r
79
80
  v_rgbPremultiplied = u_rgbPremultiplied;\r
80
81
  }\r
81
- `,CB=`#version 300 es\r
82
+ `,tB=`#version 300 es\r
82
83
  precision mediump float;\r
83
84
  \r
84
85
  uniform sampler2D u_video;\r
@@ -96,7 +97,7 @@ void main() {\r
96
97
  float rgbMultiplier = mix(alpha, v_opacity, step(0.5, v_rgbPremultiplied));\r
97
98
  fragColor = vec4(rgb * rgbMultiplier, alpha);\r
98
99
  }\r
99
- `,tC=`#version 300 es
100
+ `,nC=`#version 300 es
100
101
  precision highp float;
101
102
 
102
103
  layout(location = 0) in vec2 a_position;
@@ -117,7 +118,7 @@ void main() {
117
118
  mix(u_atlasRemap.z, u_atlasRemap.w, a_uv.y)
118
119
  );
119
120
  }
120
- `,sC=`#version 300 es
121
+ `,wC=`#version 300 es
121
122
  precision mediump float;
122
123
 
123
124
  uniform sampler2D u_resource;
@@ -134,7 +135,7 @@ void main() {
134
135
  float alpha = resourceColor.a * texture(u_video, v_maskUV).r * u_opacity;
135
136
  fragColor = vec4(resourceColor.rgb * alpha, alpha);
136
137
  }
137
- `,DC=`#version 300 es\r
138
+ `,rC=`#version 300 es\r
138
139
  precision highp float;\r
139
140
  \r
140
141
  layout(location = 0) in vec2 a_position;\r
@@ -159,7 +160,7 @@ void main() {\r
159
160
  v_opacity = u_opacity;\r
160
161
  v_rgbPremultiplied = u_rgbPremultiplied;\r
161
162
  }\r
162
- `,EB=`#version 300 es\r
163
+ `,aB=`#version 300 es\r
163
164
  precision mediump float;\r
164
165
  \r
165
166
  uniform sampler2D u_video;\r
@@ -177,7 +178,7 @@ void main() {\r
177
178
  float rgbMultiplier = mix(alpha, v_opacity, step(0.5, v_rgbPremultiplied));\r
178
179
  fragColor = vec4(rgb * rgbMultiplier, alpha);\r
179
180
  }\r
180
- `,hC=`#version 300 es
181
+ `,cC=`#version 300 es
181
182
  precision highp float;
182
183
 
183
184
  layout(location = 0) in vec2 a_position;
@@ -193,7 +194,7 @@ void main() {
193
194
  gl_Position = u_projection * u_transform * vec4(a_position, 0.0, 1.0);
194
195
  v_uv = u_atlasRemap.xy + a_uv * u_atlasRemap.zw;
195
196
  }
196
- `,wC=`#version 300 es\r
197
+ `,FC=`#version 300 es\r
197
198
  precision mediump float;\r
198
199
  \r
199
200
  uniform sampler2D u_video;\r
@@ -207,7 +208,7 @@ void main() {\r
207
208
  vec4 color = texture(u_video, v_uv);\r
208
209
  fragColor = vec4(color.rgb * u_opacity, color.a * u_opacity);\r
209
210
  }\r
210
- `,nC=`#version 300 es\r
211
+ `,GC=`#version 300 es\r
211
212
  precision highp float;\r
212
213
  \r
213
214
  layout(location = 0) in vec2 a_position;\r
@@ -233,7 +234,7 @@ void main() {\r
233
234
  v_opacity = a_opacity.x;\r
234
235
  v_rgbPremultiplied = a_opacity.y;\r
235
236
  }\r
236
- `,rC=`#version 300 es\r
237
+ `,yC=`#version 300 es\r
237
238
  precision highp float;\r
238
239
  \r
239
240
  layout(location = 0) in vec2 a_position;\r
@@ -272,7 +273,7 @@ void main() {\r
272
273
  v_opacity = a_inst7.x;\r
273
274
  v_rgbPremultiplied = a_inst7.y;\r
274
275
  }\r
275
- `,cC=`#version 300 es
276
+ `,RC=`#version 300 es
276
277
  precision mediump float;
277
278
 
278
279
  uniform mat4 u_projection;
@@ -283,7 +284,7 @@ layout(location = 0) in vec2 a_pos;
283
284
  void main() {
284
285
  gl_Position = u_projection * u_transform * vec4(a_pos, 0.0, 1.0);
285
286
  }
286
- `,FC=`#version 300 es\r
287
+ `,MC=`#version 300 es\r
287
288
  precision mediump float;\r
288
289
  \r
289
290
  out vec4 fragColor;\r
@@ -291,7 +292,7 @@ out vec4 fragColor;\r
291
292
  void main() {\r
292
293
  fragColor = vec4(0.0);\r
293
294
  }\r
294
- `,GC=`/** SVGA atlas variant for premultiplied RGBA atlas textures. */\r
295
+ `,lC=`/** SVGA atlas variant for premultiplied RGBA atlas textures. */\r
295
296
  struct Uniforms {\r
296
297
  projection: mat4x4f,\r
297
298
  transform: mat4x4f,\r
@@ -317,7 +318,7 @@ struct VOut {\r
317
318
  @vertex\r
318
319
  fn vs(v: VIn) -> VOut {\r
319
320
  var o: VOut;\r
320
- o.pos = uniforms.projection * vec4f(v.pos, 1.0);\r
321
+ o.pos = uniforms.projection * uniforms.transform * vec4f(v.pos, 1.0);\r
321
322
  o.uv = v.uv;\r
322
323
  o.color = v.color;\r
323
324
  return o;\r
@@ -328,7 +329,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
328
329
  let c = textureSample(atlasTex, atlasSampler, f.uv);\r
329
330
  return vec4f(c.rgb * f.color.rgb * f.color.a, c.a * f.color.a);\r
330
331
  }\r
331
- `,RC=`struct Uniforms {\r
332
+ `,NC=`struct Uniforms {\r
332
333
  projection: mat4x4f,\r
333
334
  transform: mat4x4f,\r
334
335
  /** xy = atlas min (0–1), zw = extent (du,dv) for full decoded frame quad. */\r
@@ -372,7 +373,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
372
373
  let rgbMultiplier = select(alpha, f.opacity, f.rgbPremultiplied >= 0.5);\r
373
374
  return vec4f(rgb * rgbMultiplier, alpha);\r
374
375
  }\r
375
- `,yC=`struct Uniforms {\r
376
+ `,SC=`struct Uniforms {\r
376
377
  projection: mat4x4f,\r
377
378
  transform: mat4x4f,\r
378
379
  /** left, right, top, bottom in the vertically flipped raw-video texture. */\r
@@ -415,7 +416,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
415
416
  let alpha = resourceColor.a * maskAlpha * uniforms.opacity.x;\r
416
417
  return vec4f(resourceColor.rgb * alpha, alpha);\r
417
418
  }\r
418
- `,MC=`struct Uniforms {\r
419
+ `,kC=`struct Uniforms {\r
419
420
  projection: mat4x4f,\r
420
421
  transform: mat4x4f,\r
421
422
  atlasRemap: vec4f,\r
@@ -459,7 +460,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
459
460
  let rgbMultiplier = select(alpha, f.opacity, f.rgbPremultiplied >= 0.5);\r
460
461
  return vec4f(rgb * rgbMultiplier, alpha);\r
461
462
  }\r
462
- `,NC=`struct Uniforms {\r
463
+ `,dC=`struct Uniforms {\r
463
464
  projection: mat4x4f,\r
464
465
  transform: mat4x4f,\r
465
466
  atlasRemap: vec4f,\r
@@ -493,7 +494,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
493
494
  let color = textureSample(videoTex, videoSampler, f.uv);\r
494
495
  return vec4f(color.rgb * uniforms.opacity.x, color.a * uniforms.opacity.x);\r
495
496
  }\r
496
- `,lC=`/// Batched alpha (RGB | A side-by-side): one draw per shared texture (e.g. atlas).\r
497
+ `,UC=`/// Batched alpha (RGB | A side-by-side): one draw per shared texture (e.g. atlas).\r
497
498
  /// Per-instance: transform + atlasRemap; shared projection in uniform.\r
498
499
  \r
499
500
  struct Globals {\r
@@ -548,7 +549,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
548
549
  let rgbMultiplier = select(alpha, f.opacity, f.rgbPremultiplied >= 0.5);\r
549
550
  return vec4f(rgb * rgbMultiplier, alpha);\r
550
551
  }\r
551
- `,SC=`/// Batched VAP: one draw per shared texture (e.g. atlas). Per-instance: transform, atlasRemap,\r
552
+ `,YC=`/// Batched VAP: one draw per shared texture (e.g. atlas). Per-instance: transform, atlasRemap,\r
552
553
  /// rgb/alpha UV rects (left, right, top, bottom in normalized [0,1] space); shared projection in uniform.\r
553
554
  \r
554
555
  struct Globals {\r
@@ -610,7 +611,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
610
611
  let rgbMultiplier = select(alpha, f.opacity, f.rgbPremultiplied >= 0.5);\r
611
612
  return vec4f(rgb * rgbMultiplier, alpha);\r
612
613
  }\r
613
- `,kC=`struct Uniforms {\r
614
+ `,KC=`struct Uniforms {\r
614
615
  projection: mat4x4f,\r
615
616
  transform: mat4x4f,\r
616
617
  }\r
@@ -636,7 +637,7 @@ fn vs(v: VIn) -> VOut {\r
636
637
  fn fs(f: VOut) -> @location(0) vec4f {\r
637
638
  return vec4f(0.0, 0.0, 0.0, 0.0);\r
638
639
  }\r
639
- `,UC=`struct Globals {\r
640
+ `,fC=`struct Globals {\r
640
641
  projection: mat4x4f,\r
641
642
  }\r
642
643
  \r
@@ -684,7 +685,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
684
685
  let c = textureSample(atlasTex, atlasSampler, f.uv);\r
685
686
  return vec4f(c.rgb * f.color.rgb * f.color.a, c.a * f.color.a);\r
686
687
  }\r
687
- `,p={svgaBatchPremul:{vert:oC,frag:QB},svgaInstancedPremul:{vert:eC,frag:QB},vap:{vert:aC,frag:CB},vapMixOverlay:{vert:tC,frag:sC},vapInstanced:{vert:rC,frag:CB},alphaVideo:{vert:DC,frag:EB},alphaVideoInstanced:{vert:nC,frag:EB},rgbaTextured:{vert:hC,frag:wC},clipMask:{vert:cC,frag:FC}},gA={svgaBatchPremul:GC,svgaInstancedPremul:UC,vap:RC,vapMixOverlay:yC,vapInstanced:SC,alphaVideo:MC,alphaVideoInstanced:lC,rgbaTextured:NC,clipMask:kC};var YC=Object.defineProperty,dC=(B,A,I)=>A in B?YC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,k=(B,A,I)=>dC(B,typeof A!="symbol"?A+"":A,I);const iB=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),KC=new Float32Array([0,0,1,1]),JC=16*1024*1024;function ag(B,A){const I=Math.max(1,Math.floor(A));return Math.ceil(Math.max(0,B)/I)*I}const AA=class _{constructor(A,I,g=!0){k(this,"type","webgpu"),k(this,"canvas"),k(this,"maxTextureSize"),k(this,"adapter"),k(this,"device"),k(this,"context"),k(this,"format"),k(this,"encoder",null),k(this,"passEncoder",null),k(this,"nextId",1),k(this,"buffers",new Map),k(this,"textures",new Map),k(this,"pipelines",new Map),k(this,"sampler"),k(this,"uniformBuffer"),k(this,"texturedBindGroupLayout"),k(this,"dualTexturedBindGroupLayout"),k(this,"instancedTextureBindGroupLayout"),k(this,"uniformOnlyBindGroupLayout"),k(this,"uniformSlotStride",256),k(this,"maxUniformSlots",8192),k(this,"uniformSlotIndex",0),k(this,"lastDrawPipeline",null),k(this,"lastStencilRef",-1),k(this,"frameUsesStencil",!1),k(this,"lastVertexBufferId",-1),k(this,"lastIndexBufferId",-1),k(this,"uniformScratch160",new Float32Array(40)),k(this,"uniformScratch128",new Float32Array(32)),k(this,"uniformOpacityScratch",new Float32Array(4)),k(this,"depthStencilTexture",null),k(this,"depthStencilView",null),k(this,"msaaColorTexture",null),k(this,"msaaColorView",null),k(this,"lastCanvasWidth",0),k(this,"lastCanvasHeight",0),k(this,"lastDepthStencilSampleCount",0),k(this,"msaaSampleCount",1),k(this,"wantAntialias"),k(this,"configuredCanvasWidth",0),k(this,"configuredCanvasHeight",0),k(this,"dummyTexture"),k(this,"dummyTextureView"),k(this,"videoUploadCanvas",null),k(this,"videoUploadCtx",null),k(this,"videoElementPreferCanvasBridge",!1),k(this,"videoFramePreferCanvasBridge",!1),k(this,"texturedBindGroupCache",new Map),k(this,"dualTexturedBindGroupCache",new Map),k(this,"instancedTextureBindGroupCache",new Map),k(this,"instancedProjectionBuffer",null),k(this,"instancedStorageBuffer",null),k(this,"storageBindOffsetAlign",256),k(this,"instancedStorageRingOffset",0),k(this,"instancedProjectionCache",new Float32Array(16)),k(this,"instancedProjectionValid",!1),k(this,"lastInstancedTextureBindGroup",null),this.canvas=A,this.adapter=I,this.maxTextureSize=I.limits.maxTextureDimension2D,this.wantAntialias=g}async init(){this.device=await this.adapter.requestDevice(),this.device.onuncapturederror=A=>{console.error("[WebGPU Error]",A.error.message)},this.context=this.canvas.getContext("webgpu"),this.format=navigator.gpu.getPreferredCanvasFormat(),this.msaaSampleCount=this.wantAntialias?4:1,this.configureCanvasContext(),this.sampler=this.device.createSampler({magFilter:"linear",minFilter:"linear"}),this.uniformSlotStride=this.device.limits.minUniformBufferOffsetAlignment,this.storageBindOffsetAlign=this.device.limits.minStorageBufferOffsetAlignment,this.uniformBuffer=this.device.createBuffer({size:this.uniformSlotStride*this.maxUniformSlots,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.dummyTexture=this.device.createTexture({size:[1,1],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING}),this.dummyTextureView=this.dummyTexture.createView(),this.initPipelines()}configureCanvasContext(){this.context.configure({device:this.device,format:this.format,alphaMode:"premultiplied"}),this.configuredCanvasWidth=this.canvas.width,this.configuredCanvasHeight=this.canvas.height}ensureFrameAttachments(A,I,g){var Q,C;(this.lastCanvasWidth!==A||this.lastCanvasHeight!==I||this.lastDepthStencilSampleCount!==this.msaaSampleCount)&&((Q=this.depthStencilTexture)==null||Q.destroy(),this.depthStencilTexture=null,this.depthStencilView=null,(C=this.msaaColorTexture)==null||C.destroy(),this.msaaColorTexture=null,this.msaaColorView=null,this.msaaSampleCount>1&&(this.msaaColorTexture=this.device.createTexture({size:[A,I],format:this.format,sampleCount:this.msaaSampleCount,usage:GPUTextureUsage.RENDER_ATTACHMENT}),this.msaaColorView=this.msaaColorTexture.createView()),this.lastCanvasWidth=A,this.lastCanvasHeight=I,this.lastDepthStencilSampleCount=this.msaaSampleCount),g&&!this.depthStencilTexture&&(this.depthStencilTexture=this.device.createTexture({size:[A,I],format:"depth24plus-stencil8",sampleCount:this.msaaSampleCount,usage:GPUTextureUsage.RENDER_ATTACHMENT}),this.depthStencilView=this.depthStencilTexture.createView())}initPipelines(){const A=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform",hasDynamicOffset:!0,minBindingSize:160}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{}}]});this.texturedBindGroupLayout=A;const I=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform",hasDynamicOffset:!0,minBindingSize:160}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:3,visibility:GPUShaderStage.FRAGMENT,sampler:{}}]});this.dualTexturedBindGroupLayout=I,this.instancedTextureBindGroupLayout=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}}]});const g=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!0,minBindingSize:128}}]});this.uniformOnlyBindGroupLayout=g,this.createTexturedPipeline("svga-batch-premul:none",gA.svgaBatchPremul,A,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"none"),this.createTexturedPipeline("vap:none",gA.vap,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"},{shaderLocation:2,offset:16,format:"float32x2"}],24,"none"),this.createTexturedPipeline("vap-mix-overlay:none",gA.vapMixOverlay,I,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none",2),this.createTexturedPipeline("alpha-video:none",gA.alphaVideo,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none"),this.createTexturedPipeline("rgba-textured:none",gA.rgbaTextured,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none")}ensureStencilPipelines(){this.pipelines.has("svga-batch-premul:pass")||this.createTexturedPipeline("svga-batch-premul:pass",gA.svgaBatchPremul,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"pass"),this.pipelines.has("svga-batch-premul:test")||this.createTexturedPipeline("svga-batch-premul:test",gA.svgaBatchPremul,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"test"),this.pipelines.has("vap:pass")||this.createTexturedPipeline("vap:pass",gA.vap,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"},{shaderLocation:2,offset:16,format:"float32x2"}],24,"pass"),this.pipelines.has("vap-mix-overlay:pass")||this.createTexturedPipeline("vap-mix-overlay:pass",gA.vapMixOverlay,this.dualTexturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"pass",2);for(const[A,I]of[["alpha-video:pass",gA.alphaVideo],["rgba-textured:pass",gA.rgbaTextured]])this.pipelines.has(A)||this.createTexturedPipeline(A,I,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"pass");this.pipelines.has("clip-mask:write")||this.createClipMaskPipeline(this.uniformOnlyBindGroupLayout)}ensureInstancedProjectionBuffer(){return this.instancedProjectionBuffer||(this.instancedProjectionBuffer=this.device.createBuffer({size:256,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.instancedProjectionValid=!1),this.instancedProjectionBuffer}ensureInstancedStorageBuffer(){return this.instancedStorageBuffer||(this.instancedStorageBuffer=this.device.createBuffer({size:JC,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})),this.instancedStorageBuffer}ensureInstancedSvgaPipeline(A="none"){const I=`svga-instanced-premul:${A}`;let g=this.pipelines.get(I);return g||(this.createInstancedSvgaPipeline(I,gA.svgaInstancedPremul,A),g=this.pipelines.get(I)),g}ensureInstancedAlphaPipeline(){const A=this.frameUsesStencil?"pass":"none",I=`alpha-video-instanced:${A}`;let g=this.pipelines.get(I);return g||(this.createInstancedAlphaVideoPipeline(A),g=this.pipelines.get(I)),g}ensureInstancedVapPipeline(){const A=this.frameUsesStencil?"pass":"none",I=`vap-instanced:${A}`;let g=this.pipelines.get(I);return g||(this.createVapInstancedPipeline(A),g=this.pipelines.get(I)),g}createInstancedSvgaPipeline(A,I,g){const Q=this.ensureInstancedProjectionBuffer(),C=this.ensureInstancedStorageBuffer(),E=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!1,minBindingSize:64}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage",hasDynamicOffset:!0,minBindingSize:_.SVGA_INSTANCED_STRIDE}}]}),o=this.instancedTextureBindGroupLayout,i=this.device.createShaderModule({code:I}),e=g==="test"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilReadMask:255,stencilWriteMask:0}:g==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,a=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[E,o]}),vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:i,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:e,multisample:{count:this.msaaSampleCount}});this.pipelines.set(A,{pipeline:a,bindGroupLayout:E,instancedDataBindGroup:this.device.createBindGroup({layout:E,entries:[{binding:0,resource:{buffer:Q,offset:0,size:256}},{binding:1,resource:{buffer:C,offset:0,size:_.INSTANCED_SVGA_CHUNK_BYTES}}]}),textureCount:1})}createVapInstancedPipeline(A){const I=this.ensureInstancedProjectionBuffer(),g=this.ensureInstancedStorageBuffer(),Q=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!1,minBindingSize:64}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage",hasDynamicOffset:!0,minBindingSize:_.VAP_INSTANCED_STRIDE}}]}),C=this.instancedTextureBindGroupLayout,E=this.device.createShaderModule({code:gA.vapInstanced}),o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[Q,C]}),vertex:{module:E,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:E,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:A==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,multisample:{count:this.msaaSampleCount}});this.pipelines.set(`vap-instanced:${A}`,{pipeline:o,bindGroupLayout:Q,instancedDataBindGroup:this.device.createBindGroup({layout:Q,entries:[{binding:0,resource:{buffer:I,offset:0,size:256}},{binding:1,resource:{buffer:g,offset:0,size:_.INSTANCED_VAP_CHUNK_BYTES}}]}),textureCount:1})}createInstancedAlphaVideoPipeline(A){const I=this.ensureInstancedProjectionBuffer(),g=this.ensureInstancedStorageBuffer(),Q=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!1,minBindingSize:64}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage",hasDynamicOffset:!0,minBindingSize:_.ALPHA_INSTANCED_STRIDE}}]}),C=this.instancedTextureBindGroupLayout,E=this.device.createShaderModule({code:gA.alphaVideoInstanced}),o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[Q,C]}),vertex:{module:E,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:E,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:A==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,multisample:{count:this.msaaSampleCount}});this.pipelines.set(`alpha-video-instanced:${A}`,{pipeline:o,bindGroupLayout:Q,instancedDataBindGroup:this.device.createBindGroup({layout:Q,entries:[{binding:0,resource:{buffer:I,offset:0,size:256}},{binding:1,resource:{buffer:g,offset:0,size:_.INSTANCED_ALPHA_CHUNK_BYTES}}]}),textureCount:1})}createTexturedPipeline(A,I,g,Q,C,E,o=1){const i=this.device.createShaderModule({code:I}),e=E==="test"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilReadMask:255,stencilWriteMask:0}:E==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,a=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[g]}),vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:C,attributes:Q}]},fragment:{module:i,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:e,multisample:{count:this.msaaSampleCount}});this.pipelines.set(A,{pipeline:a,bindGroupLayout:g,textureCount:o})}createClipMaskPipeline(A){const I=this.device.createShaderModule({code:gA.clipMask}),g=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[A]}),vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:this.format,writeMask:0}]},primitive:{topology:"triangle-list"},depthStencil:{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"replace",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"replace",failOp:"keep",depthFailOp:"keep"},stencilReadMask:255,stencilWriteMask:255},multisample:{count:this.msaaSampleCount}});this.pipelines.set("clip-mask:write",{pipeline:g,bindGroupLayout:A,textureCount:0})}beginFrame(A={}){const I=this.canvas.width,g=this.canvas.height;(I!==this.configuredCanvasWidth||g!==this.configuredCanvasHeight)&&this.configureCanvasContext();const Q=A.stencil===!0;this.frameUsesStencil=Q,this.ensureFrameAttachments(I,g,Q),Q&&this.ensureStencilPipelines(),this.encoder=this.device.createCommandEncoder();const C=this.context.getCurrentTexture().createView(),E=this.msaaSampleCount>1&&this.msaaColorView?{view:this.msaaColorView,resolveTarget:C,clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:"discard"}:{view:C,clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:"store"};this.uniformSlotIndex=0,this.instancedStorageRingOffset=0,this.lastDrawPipeline=null,this.lastStencilRef=-1,this.lastVertexBufferId=-1,this.lastIndexBufferId=-1,this.lastInstancedTextureBindGroup=null;const o={colorAttachments:[E]};Q&&(o.depthStencilAttachment={view:this.depthStencilView,stencilClearValue:0,stencilLoadOp:"clear",stencilStoreOp:"discard",depthClearValue:1,depthLoadOp:"clear",depthStoreOp:"discard"}),this.passEncoder=this.encoder.beginRenderPass(o)}endFrame(){this.passEncoder&&this.passEncoder.end(),this.encoder&&this.device.queue.submit([this.encoder.finish()]),this.passEncoder=null,this.encoder=null}ensureInstancedProjection(A){if(A.length<16)return;if(this.instancedProjectionValid){let g=!0;for(let Q=0;Q<16;Q++)if(this.instancedProjectionCache[Q]!==A[Q]){g=!1;break}if(g)return}const I=this.ensureInstancedProjectionBuffer();this.instancedProjectionCache.set(A.length===16?A:A.subarray(0,16)),this.instancedProjectionValid=!0,this.device.queue.writeBuffer(I,0,A.buffer,A.byteOffset,64)}gpuBufferUsage(A){let I=GPUBufferUsage.COPY_DST;return A==="vertex"?I|=GPUBufferUsage.VERTEX:A==="index"?I|=GPUBufferUsage.INDEX:I|=GPUBufferUsage.UNIFORM,I}bufferSourceByteLength(A){return ArrayBuffer.isView(A),A.byteLength}mappedUploadView(A){if(A instanceof ArrayBuffer)return new Uint8Array(A);if(typeof SharedArrayBuffer!="undefined"&&A instanceof SharedArrayBuffer)return new Uint8Array(new Uint8Array(A));const I=A,g=new Uint8Array(I.buffer,I.byteOffset,I.byteLength);return typeof SharedArrayBuffer!="undefined"&&I.buffer instanceof SharedArrayBuffer?new Uint8Array(g):g}writeBufferSource(A,I,g){if(g instanceof ArrayBuffer){this.device.queue.writeBuffer(A,I,g);return}if(typeof SharedArrayBuffer!="undefined"&&g instanceof SharedArrayBuffer){this.device.queue.writeBuffer(A,I,new Uint8Array(new Uint8Array(g)));return}const Q=g;if(typeof SharedArrayBuffer!="undefined"&&Q.buffer instanceof SharedArrayBuffer){this.device.queue.writeBuffer(A,I,new Uint8Array(new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength)));return}this.device.queue.writeBuffer(A,I,Q.buffer,Q.byteOffset,Q.byteLength)}createBuffer(A,I){const g=this.mappedUploadView(A),Q=this.device.createBuffer({size:Math.max(g.byteLength,4),usage:this.gpuBufferUsage(I),mappedAtCreation:!0});new Uint8Array(Q.getMappedRange()).set(g),Q.unmap();const C=this.nextId++;return this.buffers.set(C,{buffer:Q,usage:I}),{id:C,usage:I}}updateBuffer(A,I,g=0){const Q=this.buffers.get(A.id);if(!Q)return;const C=Math.max(0,Math.floor(g)),E=this.bufferSourceByteLength(I),o=Math.max(4,C+E);o>Q.buffer.size&&(Q.buffer.destroy(),Q.buffer=this.device.createBuffer({size:o,usage:this.gpuBufferUsage(Q.usage)}),Q.usage==="vertex"&&this.lastVertexBufferId===A.id&&(this.lastVertexBufferId=-1),Q.usage==="index"&&this.lastIndexBufferId===A.id&&(this.lastIndexBufferId=-1)),this.writeBufferSource(Q.buffer,C,I)}deleteBuffer(A){const I=this.buffers.get(A.id);I&&(I.buffer.destroy(),this.buffers.delete(A.id))}copyHtmlVideoToTextureDirect(A,I,g,Q){if(this.videoElementPreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A},[I,g]),!0}catch(C){return this.videoElementPreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(<video>) failed; using canvas bridge.",C),!1}}copyVideoFrameToTextureDirect(A,I,g,Q){if(this.videoFramePreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A},[I,g]),!0}catch(C){return this.videoFramePreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(VideoFrame) failed; using canvas bridge.",C),!1}}drawVideoLikeSourceToTexture(A,I,g,Q){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const C=this.videoUploadCanvas,E=this.videoUploadCtx;E&&((C.width!==I||C.height!==g)&&(C.width=I,C.height=g),E.drawImage(Q,0,0,I,g),this.device.queue.copyExternalImageToTexture({source:C,flipY:!0},{texture:A},[I,g]))}copyImageSourceToTexture(A,I,g,Q,C=!1){if(typeof VideoFrame!="undefined"&&Q instanceof VideoFrame){const E=Q,o=E.displayWidth||E.codedWidth,i=E.displayHeight||E.codedHeight;if(!o||!i||!I||!g||this.copyVideoFrameToTextureDirect(A,I,g,E))return;this.drawVideoLikeSourceToTexture(A,I,g,E);return}if(Q instanceof HTMLVideoElement){const E=Q,o=E.videoWidth,i=E.videoHeight;if(E.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!o||!i||!I||!g)return;if(E.readyState<HTMLMediaElement.HAVE_ENOUGH_DATA){this.drawVideoLikeSourceToTexture(A,I,g,E);return}if(this.copyHtmlVideoToTextureDirect(A,I,g,E))return;this.drawVideoLikeSourceToTexture(A,I,g,E);return}this.device.queue.copyExternalImageToTexture({source:Q},{texture:A,premultipliedAlpha:C},[I,g])}createTexture(A,I){var g,Q;const C=(g=I.width)!=null?g:1,E=(Q=I.height)!=null?Q:1,o=this.device.createTexture({size:[C,E],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});A instanceof ArrayBuffer?this.device.queue.writeTexture({texture:o},A,{bytesPerRow:C*4},[C,E]):this.copyImageSourceToTexture(o,C,E,A,I.premultiplyAlpha===!0);const i=this.nextId++;return this.textures.set(i,{texture:o,view:o.createView(),width:C,height:E}),{id:i,width:C,height:E}}createEmptyTexture(A,I,g={}){const Q=Math.max(1,Math.floor(A)),C=Math.max(1,Math.floor(I)),E=this.device.createTexture({size:[Q,C],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),o=this.nextId++;return this.textures.set(o,{texture:E,view:E.createView(),width:Q,height:C}),{id:o,width:Q,height:C}}updateTexture(A,I){const g=this.textures.get(A.id);g&&this.copyImageSourceToTexture(g.texture,g.width,g.height,I)}updateTextureRegion(A,I,g,Q,C,E){const o=this.textures.get(A.id);if(!o)return;const i={texture:o.texture,origin:{x:Math.floor(g),y:Math.floor(Q)}};if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const s=I,D=s.displayWidth||s.codedWidth,h=s.displayHeight||s.codedHeight;if(!D||!h)return;const w=C!=null?C:D,r=E!=null?E:h;if(w!==D||r!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,w,r,s,i.origin.x,i.origin.y);return}if(this.copyVideoFrameToTextureRegionDirect(o.texture,D,h,s,i.origin.x,i.origin.y))return;this.drawVideoLikeSourceToTextureRegion(o.texture,D,h,s,i.origin.x,i.origin.y);return}if(I instanceof HTMLVideoElement){const s=I,D=s.videoWidth,h=s.videoHeight;if(s.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!D||!h)return;const w=C!=null?C:D,r=E!=null?E:h;if(w!==D||r!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,w,r,s,i.origin.x,i.origin.y);return}if(s.readyState<HTMLMediaElement.HAVE_ENOUGH_DATA){this.drawVideoLikeSourceToTextureRegion(o.texture,D,h,s,i.origin.x,i.origin.y);return}if(this.copyHtmlVideoToTextureRegionDirect(o.texture,D,h,s,i.origin.x,i.origin.y))return;this.drawVideoLikeSourceToTextureRegion(o.texture,D,h,s,i.origin.x,i.origin.y);return}const e=I,a=C!=null?C:e.width,t=E!=null?E:e.height;if(a!==e.width||t!==e.height){this.drawVideoLikeSourceToTextureRegion(o.texture,a,t,e,i.origin.x,i.origin.y);return}this.device.queue.copyExternalImageToTexture({source:e},i,[e.width,e.height])}copyHtmlVideoToTextureRegionDirect(A,I,g,Q,C,E){if(this.videoElementPreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A,origin:{x:C,y:E}},[I,g]),!0}catch(o){return this.videoElementPreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(<video> region) failed; using canvas bridge.",o),!1}}copyVideoFrameToTextureRegionDirect(A,I,g,Q,C,E){if(this.videoFramePreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A,origin:{x:C,y:E}},[I,g]),!0}catch(o){return this.videoFramePreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(VideoFrame region) failed; using canvas bridge.",o),!1}}drawVideoLikeSourceToTextureRegion(A,I,g,Q,C,E){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const o=this.videoUploadCanvas,i=this.videoUploadCtx;i&&((o.width!==I||o.height!==g)&&(o.width=I,o.height=g),i.drawImage(Q,0,0,I,g),this.device.queue.copyExternalImageToTexture({source:o,flipY:!0},{texture:A,origin:{x:C,y:E}},[I,g]))}deleteTexture(A){const I=this.textures.get(A.id);if(I){I.texture.destroy(),this.textures.delete(A.id),this.texturedBindGroupCache.delete(A.id),this.dualTexturedBindGroupCache.delete(A.id);for(const[g,Q]of this.dualTexturedBindGroupCache)Q.delete(A.id),Q.size===0&&this.dualTexturedBindGroupCache.delete(g);this.instancedTextureBindGroupCache.delete(A.id)}}draw(A){var I,g,Q,C,E,o,i;if(!this.passEncoder)return;if(A.shader==="svga-instanced-premul"){this.drawInstancedSvga(A);return}if(A.shader==="alpha-video-instanced"){this.drawInstancedAlpha(A);return}if(A.shader==="vap-instanced"){this.drawInstancedVap(A);return}const e=(I=A.stencil)!=null?I:"none",a=A.shader==="clip-mask"||e==="clear"?"clip-mask:write":`${A.shader}:${e==="none"&&this.frameUsesStencil?"pass":e}`,t=this.pipelines.get(a);if(!t)return;const s=this.passEncoder,D=t.pipeline;this.lastDrawPipeline!==D&&(s.setPipeline(D),this.lastDrawPipeline=D,this.lastInstancedTextureBindGroup=null);let h=0;e==="clear"?h=0:(e==="write"||A.shader==="clip-mask"||e==="test")&&(h=1),this.frameUsesStencil&&this.lastStencilRef!==h&&(s.setStencilReference(h),this.lastStencilRef=h);const w=this.uniformSlotIndex++;if(w>=this.maxUniformSlots){console.warn("[WebGPU] uniform slot overflow; increase maxUniformSlots");return}const r=w*this.uniformSlotStride,F=A.uniforms.u_projection;if(t.textureCount>0){const M=A.uniforms.u_transform,R=M instanceof Float32Array&&M.length>=16?M:iB,l=A.uniforms.u_atlasRemap,N=l instanceof Float32Array&&l.length>=4?l:KC,U=typeof A.uniforms.u_opacity=="number"?A.uniforms.u_opacity:1,f=typeof A.uniforms.u_rgbPremultiplied=="number"?A.uniforms.u_rgbPremultiplied:1;if(F instanceof Float32Array&&F.length>=16){const S=this.uniformScratch160;S.set(F.length===16?F:F.subarray(0,16),0),S.set(R.length===16?R:R.subarray(0,16),16),S.set(N.length===4?N:N.subarray(0,4),32),S[36]=U,S[37]=f,S[38]=0,S[39]=0,this.device.queue.writeBuffer(this.uniformBuffer,r,S.buffer,S.byteOffset,160)}else{this.device.queue.writeBuffer(this.uniformBuffer,r+64,R.buffer,R.byteOffset,64),this.device.queue.writeBuffer(this.uniformBuffer,r+128,N.buffer,N.byteOffset,16);const S=this.uniformOpacityScratch;S[0]=U,S[1]=f,S[2]=0,S[3]=0,this.device.queue.writeBuffer(this.uniformBuffer,r+144,S)}}else if(F instanceof Float32Array&&F.length>=16){const M=A.uniforms.u_transform,R=M instanceof Float32Array&&M.length>=16?M:iB,l=this.uniformScratch128;l.set(F.length===16?F:F.subarray(0,16),0),l.set(R.length===16?R:R.subarray(0,16),16),this.device.queue.writeBuffer(this.uniformBuffer,r,l.buffer,l.byteOffset,128)}if(t.textureCount===1){const M=A.textures.length>0?A.textures[0]:null,R=M?this.textures.get(M.id):null,l=(g=R==null?void 0:R.view)!=null?g:this.dummyTextureView,N=(Q=M==null?void 0:M.id)!=null?Q:0;let U=this.texturedBindGroupCache.get(N);U||(U=this.device.createBindGroup({layout:this.texturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:l},{binding:2,resource:this.sampler}]}),this.texturedBindGroupCache.set(N,U)),s.setBindGroup(0,U,[r])}else if(t.textureCount===2){const M=A.textures[0],R=A.textures[1],l=M?this.textures.get(M.id):null,N=R?this.textures.get(R.id):null,U=(C=M==null?void 0:M.id)!=null?C:0,f=(E=R==null?void 0:R.id)!=null?E:0;let S=this.dualTexturedBindGroupCache.get(U);S||(S=new Map,this.dualTexturedBindGroupCache.set(U,S));let L=S.get(f);L||(L=this.device.createBindGroup({layout:this.dualTexturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:(o=l==null?void 0:l.view)!=null?o:this.dummyTextureView},{binding:2,resource:(i=N==null?void 0:N.view)!=null?i:this.dummyTextureView},{binding:3,resource:this.sampler}]}),S.set(f,L)),s.setBindGroup(0,L,[r])}else t.uniformOnlyBindGroup||(t.uniformOnlyBindGroup=this.device.createBindGroup({layout:t.bindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:128}}]})),s.setBindGroup(0,t.uniformOnlyBindGroup,[r]);const n=this.buffers.get(A.vertexBuffer.id),c=this.buffers.get(A.indexBuffer.id);if(!n||!c)return;const G=A.vertexBuffer.id,y=A.indexBuffer.id;this.lastVertexBufferId!==G&&(s.setVertexBuffer(0,n.buffer),this.lastVertexBufferId=G),this.lastIndexBufferId!==y&&(s.setIndexBuffer(c.buffer,"uint32"),this.lastIndexBufferId=y),s.drawIndexed(A.indexCount)}drawInstancedSvga(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*13)return;if(E>_.SVGA_INSTANCED_MAX){console.warn("[WebGPU] svga-instanced-premul: instanceCount exceeds max",E);return}const e=A.stencil==="test"?"test":this.frameUsesStencil?"pass":"none",a=this.ensureInstancedSvgaPipeline(e),t=a.pipeline;this.lastDrawPipeline!==t&&(C.setPipeline(t),this.lastDrawPipeline=t,this.lastInstancedTextureBindGroup=null);const s=e==="test"?1:0;this.frameUsesStencil&&this.lastStencilRef!==s&&(C.setStencilReference(s),this.lastStencilRef=s);const D=A.uniforms.u_projection;if(!(D instanceof Float32Array)||D.length<16)return;const h=this.buffers.get(A.vertexBuffer.id),w=this.buffers.get(A.indexBuffer.id);if(!h||!w)return;this.ensureInstancedProjection(D);const r=E*_.SVGA_INSTANCED_STRIDE,F=this.instancedStorageRingOffset,n=this.ensureInstancedStorageBuffer();if(F+_.INSTANCED_SVGA_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced SVGA storage ring full");return}this.instancedStorageRingOffset+=ag(r,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,F,o.buffer,o.byteOffset,r);const c=A.textures[0],G=c?this.textures.get(c.id):null,y=(g=G==null?void 0:G.view)!=null?g:this.dummyTextureView,M=(Q=c==null?void 0:c.id)!=null?Q:0;let R=this.instancedTextureBindGroupCache.get(M);R||(R=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:y},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(M,R)),C.setBindGroup(0,a.instancedDataBindGroup,[F]),this.lastInstancedTextureBindGroup!==R&&(C.setBindGroup(1,R),this.lastInstancedTextureBindGroup=R);const l=A.vertexBuffer.id,N=A.indexBuffer.id;this.lastVertexBufferId!==l&&(C.setVertexBuffer(0,h.buffer),this.lastVertexBufferId=l),this.lastIndexBufferId!==N&&(C.setIndexBuffer(w.buffer,"uint32"),this.lastIndexBufferId=N),C.drawIndexed(A.indexCount,E,0,0,0)}drawInstancedAlpha(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*12)return;if(E>_.ALPHA_INSTANCED_MAX){console.warn("[WebGPU] alpha-video-instanced: instanceCount exceeds max",E);return}const e=this.ensureInstancedAlphaPipeline(),a=e.pipeline;this.lastDrawPipeline!==a&&(C.setPipeline(a),this.lastDrawPipeline=a,this.lastInstancedTextureBindGroup=null),this.frameUsesStencil&&this.lastStencilRef!==0&&(C.setStencilReference(0),this.lastStencilRef=0);const t=A.uniforms.u_projection;if(!(t instanceof Float32Array)||t.length<16)return;const s=this.buffers.get(A.vertexBuffer.id),D=this.buffers.get(A.indexBuffer.id);if(!s||!D)return;this.ensureInstancedProjection(t);const h=E*_.ALPHA_INSTANCED_STRIDE,w=this.instancedStorageRingOffset,r=this.ensureInstancedStorageBuffer();if(w+_.INSTANCED_ALPHA_CHUNK_BYTES>r.size){console.warn("[WebGPU] instanced alpha storage ring full");return}this.instancedStorageRingOffset+=ag(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(r,w,o.buffer,o.byteOffset,h);const F=A.textures[0],n=F?this.textures.get(F.id):null,c=(g=n==null?void 0:n.view)!=null?g:this.dummyTextureView,G=(Q=F==null?void 0:F.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(G);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:c},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,y)),C.setBindGroup(0,e.instancedDataBindGroup,[w]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const M=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==M&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=M),this.lastIndexBufferId!==R&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=R),C.drawIndexed(A.indexCount,E,0,0,0)}drawInstancedVap(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*32)return;if(E>_.VAP_INSTANCED_MAX){console.warn("[WebGPU] vap-instanced: instanceCount exceeds max",E);return}const e=this.ensureInstancedVapPipeline(),a=e.pipeline;this.lastDrawPipeline!==a&&(C.setPipeline(a),this.lastDrawPipeline=a,this.lastInstancedTextureBindGroup=null),this.frameUsesStencil&&this.lastStencilRef!==0&&(C.setStencilReference(0),this.lastStencilRef=0);const t=A.uniforms.u_projection;if(!(t instanceof Float32Array)||t.length<16)return;const s=this.buffers.get(A.vertexBuffer.id),D=this.buffers.get(A.indexBuffer.id);if(!s||!D)return;this.ensureInstancedProjection(t);const h=E*_.VAP_INSTANCED_STRIDE,w=this.instancedStorageRingOffset,r=this.ensureInstancedStorageBuffer();if(w+_.INSTANCED_VAP_CHUNK_BYTES>r.size){console.warn("[WebGPU] instanced VAP storage ring full");return}this.instancedStorageRingOffset+=ag(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(r,w,o.buffer,o.byteOffset,h);const F=A.textures[0],n=F?this.textures.get(F.id):null,c=(g=n==null?void 0:n.view)!=null?g:this.dummyTextureView,G=(Q=F==null?void 0:F.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(G);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:c},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,y)),C.setBindGroup(0,e.instancedDataBindGroup,[w]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const M=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==M&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=M),this.lastIndexBufferId!==R&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=R),C.drawIndexed(A.indexCount,E,0,0,0)}clearStencil(){}setScissor(A,I,g,Q){if(!this.passEncoder)return;const C=this.canvas.width,E=this.canvas.height,o=Math.max(0,Math.min(C,Math.round(A))),i=Math.max(0,Math.min(E,Math.round(I))),e=Math.max(o,Math.min(C,Math.round(A+g))),a=Math.max(i,Math.min(E,Math.round(I+Q)));this.passEncoder.setScissorRect(o,i,e-o,a-i)}resetScissor(){this.passEncoder&&this.passEncoder.setScissorRect(0,0,this.canvas.width,this.canvas.height)}destroy(){var A,I,g,Q,C,E,o;for(const[,i]of this.buffers)i.buffer.destroy();for(const[,i]of this.textures)i.texture.destroy();(A=this.uniformBuffer)==null||A.destroy(),(I=this.instancedProjectionBuffer)==null||I.destroy(),(g=this.instancedStorageBuffer)==null||g.destroy(),(Q=this.depthStencilTexture)==null||Q.destroy(),(C=this.msaaColorTexture)==null||C.destroy(),(E=this.dummyTexture)==null||E.destroy(),(o=this.device)==null||o.destroy(),this.buffers.clear(),this.textures.clear(),this.texturedBindGroupCache.clear(),this.dualTexturedBindGroupCache.clear(),this.instancedTextureBindGroupCache.clear(),this.pipelines.clear()}};k(AA,"SVGA_INSTANCED_MAX",2048);k(AA,"SVGA_INSTANCED_STRIDE",52);k(AA,"ALPHA_INSTANCED_MAX",1024);k(AA,"ALPHA_INSTANCED_STRIDE",48);k(AA,"VAP_INSTANCED_MAX",1024);k(AA,"VAP_INSTANCED_STRIDE",128);k(AA,"INSTANCED_SVGA_CHUNK_BYTES",AA.SVGA_INSTANCED_MAX*AA.SVGA_INSTANCED_STRIDE);k(AA,"INSTANCED_ALPHA_CHUNK_BYTES",AA.ALPHA_INSTANCED_MAX*AA.ALPHA_INSTANCED_STRIDE);k(AA,"INSTANCED_VAP_CHUNK_BYTES",AA.VAP_INSTANCED_MAX*AA.VAP_INSTANCED_STRIDE);let AQ=AA;function oB(B,A,I){const g=B.createShader(A);if(!g)throw new Error("Failed to create shader");if(B.shaderSource(g,I),B.compileShader(g),!B.getShaderParameter(g,B.COMPILE_STATUS)){const Q=B.getShaderInfoLog(g);throw B.deleteShader(g),new Error(`Shader compile failed: ${Q}`)}return g}function RA(B,A,I){const g=oB(B,B.VERTEX_SHADER,A),Q=oB(B,B.FRAGMENT_SHADER,I),C=B.createProgram();if(!C)throw B.deleteShader(g),B.deleteShader(Q),new Error("Failed to create program");if(B.attachShader(C,g),B.attachShader(C,Q),B.linkProgram(C),!B.getProgramParameter(C,B.LINK_STATUS)){const E=B.getProgramInfoLog(C);throw B.deleteProgram(C),B.deleteShader(g),B.deleteShader(Q),new Error(`Program link failed: ${E}`)}return B.deleteShader(g),B.deleteShader(Q),C}function eB(B,A=B.LINEAR,I=B.CLAMP_TO_EDGE){const g=B.createTexture();if(!g)throw new Error("Failed to create texture");return B.bindTexture(B.TEXTURE_2D,g),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,I),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,I),g}function fC(B=typeof navigator!="undefined"?navigator:null){var A,I;const g=(A=B==null?void 0:B.userAgent)!=null?A:"";return/iPad|iPhone|iPod/i.test(g)||/Macintosh/i.test(g)&&((I=B==null?void 0:B.maxTouchPoints)!=null?I:0)>1}function GI(B){const A=B;return typeof A.displayWidth=="number"&&A.displayWidth>0?A.displayWidth:typeof A.codedWidth=="number"&&A.codedWidth>0?A.codedWidth:typeof A.videoWidth=="number"&&A.videoWidth>0?A.videoWidth:typeof A.naturalWidth=="number"&&A.naturalWidth>0?A.naturalWidth:typeof A.width=="number"&&A.width>0?A.width:0}function RI(B){const A=B;return typeof A.displayHeight=="number"&&A.displayHeight>0?A.displayHeight:typeof A.codedHeight=="number"&&A.codedHeight>0?A.codedHeight:typeof A.videoHeight=="number"&&A.videoHeight>0?A.videoHeight:typeof A.naturalHeight=="number"&&A.naturalHeight>0?A.naturalHeight:typeof A.height=="number"&&A.height>0?A.height:0}var LC=Object.defineProperty,uC=(B,A,I)=>A in B?LC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,x=(B,A,I)=>uC(B,typeof A!="symbol"?A+"":A,I);const GA=class pA{constructor(A,I=!0){x(this,"type","webgl2"),x(this,"canvas"),x(this,"maxTextureSize",4096),x(this,"antialias"),x(this,"gl"),x(this,"nextId",1),x(this,"buffers",new Map),x(this,"textures",new Map),x(this,"programs",new Map),x(this,"vertexArrays",new Map),x(this,"cachedDrawProgram",null),x(this,"cachedTex0Id",null),x(this,"cachedProjectionRef",null),x(this,"cachedProjectionShader",null),x(this,"videoUploadCanvas",null),x(this,"videoUploadCtx",null),x(this,"videoElementPreferCanvasBridge",fC()),x(this,"videoElementDirectUploadValidated",!1),x(this,"instancedSvgaInstanceGLBuffer",null),x(this,"instancedAlphaInstanceGLBuffer",null),x(this,"instancedVapInstanceGLBuffer",null),this.canvas=A,this.antialias=I}async init(){const A=this.canvas.getContext("webgl2",{alpha:!0,premultipliedAlpha:!0,antialias:this.antialias,depth:!1,stencil:!0});if(!A)throw new Error("WebGL2 not available");this.gl=A,this.maxTextureSize=A.getParameter(A.MAX_TEXTURE_SIZE)||this.maxTextureSize,A.enable(A.BLEND),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.clearColor(0,0,0,0),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE),this.initPrograms()}initPrograms(){const A=this.gl,I=RA(A,p.svgaBatchPremul.vert,p.svgaBatchPremul.frag);this.programs.set("svga-batch-premul",{program:I,uniforms:this.getUniforms(I,["u_projection","u_atlas"])});const g=RA(A,p.svgaInstancedPremul.vert,p.svgaInstancedPremul.frag);this.programs.set("svga-instanced-premul",{program:g,uniforms:this.getUniforms(g,["u_projection","u_atlas"])});const Q=RA(A,p.vap.vert,p.vap.frag);this.programs.set("vap",{program:Q,uniforms:this.getUniforms(Q,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity","u_rgbPremultiplied"])});const C=RA(A,p.vapMixOverlay.vert,p.vapMixOverlay.frag);this.programs.set("vap-mix-overlay",{program:C,uniforms:this.getUniforms(C,["u_projection","u_transform","u_resource","u_video","u_atlasRemap","u_opacity"])});const E=RA(A,p.alphaVideo.vert,p.alphaVideo.frag);this.programs.set("alpha-video",{program:E,uniforms:this.getUniforms(E,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity","u_rgbPremultiplied"])});const o=RA(A,p.rgbaTextured.vert,p.rgbaTextured.frag);this.programs.set("rgba-textured",{program:o,uniforms:this.getUniforms(o,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity"])});const i=RA(A,p.alphaVideoInstanced.vert,p.alphaVideoInstanced.frag);this.programs.set("alpha-video-instanced",{program:i,uniforms:this.getUniforms(i,["u_projection","u_video"])});const e=RA(A,p.vapInstanced.vert,p.vapInstanced.frag);this.programs.set("vap-instanced",{program:e,uniforms:this.getUniforms(e,["u_projection","u_video"])});const a=RA(A,p.clipMask.vert,p.clipMask.frag);this.programs.set("clip-mask",{program:a,uniforms:this.getUniforms(a,["u_projection","u_transform"])})}getUniforms(A,I){const g=new Map;for(const Q of I){const C=this.gl.getUniformLocation(A,Q);C&&g.set(Q,C)}return g}beginFrame(A={}){const I=this.gl;I.viewport(0,0,this.canvas.width,this.canvas.height),I.clear(I.COLOR_BUFFER_BIT|(A.stencil?I.STENCIL_BUFFER_BIT:0)),I.disable(I.STENCIL_TEST),this.cachedDrawProgram=null,this.cachedTex0Id=null,this.cachedProjectionRef=null,this.cachedProjectionShader=null}endFrame(){this.gl.flush()}getBufferSourceByteLength(A){return ArrayBuffer.isView(A),A.byteLength}createBuffer(A,I){const g=this.gl,Q=g.createBuffer();if(!Q)throw new Error("Failed to create buffer");g.bindVertexArray(null);const C=I==="index"?g.ELEMENT_ARRAY_BUFFER:g.ARRAY_BUFFER;g.bindBuffer(C,Q),g.bufferData(C,A,g.DYNAMIC_DRAW);const E=this.nextId++;return this.buffers.set(E,{buffer:Q,usage:I,byteLength:this.getBufferSourceByteLength(A)}),{id:E,usage:I}}updateBuffer(A,I,g=0){const Q=this.buffers.get(A.id);if(!Q)return;const C=this.gl;C.bindVertexArray(null);const E=Q.usage==="index"?C.ELEMENT_ARRAY_BUFFER:C.ARRAY_BUFFER;C.bindBuffer(E,Q.buffer);const o=this.getBufferSourceByteLength(I);g===0&&o<=Q.byteLength?C.bufferSubData(E,0,I):(C.bufferData(E,I,C.DYNAMIC_DRAW),Q.byteLength=o)}deleteBuffer(A){const I=this.buffers.get(A.id);I&&(this.gl.bindVertexArray(null),this.deleteVertexArraysForBuffer(A.id),this.gl.deleteBuffer(I.buffer),this.buffers.delete(A.id))}uploadVideoFrameToTexture(A,I,g){const Q=this.gl,C=I.videoWidth,E=I.videoHeight;if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||C<=0||E<=0)return!1;if(!this.videoElementPreferCanvasBridge){Q.bindTexture(Q.TEXTURE_2D,A),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,1);try{if(g?Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,I):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,I),!this.videoElementDirectUploadValidated){const e=Q.getError();if(e!==Q.NO_ERROR)throw new Error(`WebGL video upload error: 0x${e.toString(16)}`);this.videoElementDirectUploadValidated=!0}return!0}catch(e){this.videoElementPreferCanvasBridge=!0,console.debug("[WebGL2] direct HTMLVideo upload failed; using canvas bridge.",e)}finally{Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0)}}this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const o=this.videoUploadCanvas,i=this.videoUploadCtx;return i?((o.width!==C||o.height!==E)&&(o.width=C,o.height=E),i.drawImage(I,0,0,C,E),Q.bindTexture(Q.TEXTURE_2D,A),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,1),g?Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,o):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,o),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),!0):!1}createTexture(A,I){var g,Q;const C=this.gl,E=I.filter==="nearest"?C.NEAREST:C.LINEAR,o=eB(C,E),i=I.premultiplyAlpha===!0;let e=(g=I.width)!=null?g:1,a=(Q=I.height)!=null?Q:1;if(A instanceof ArrayBuffer)C.texImage2D(C.TEXTURE_2D,0,C.RGBA,e,a,0,C.RGBA,C.UNSIGNED_BYTE,new Uint8Array(A));else if(typeof VideoFrame!="undefined"&&A instanceof VideoFrame){const s=A;C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,1),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,s),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),e=s.displayWidth||s.codedWidth||e,a=s.displayHeight||s.codedHeight||a}else if(A instanceof HTMLVideoElement)C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),this.uploadVideoFrameToTexture(o,A,!0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e=A.videoWidth||e,a=A.videoHeight||a;else{const s=i,D=I.sourcePremultiplied===!0,h=s&&!D?1:0;C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,h),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,A),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),"width"in A&&(e=A.width,a=A.height)}const t=this.nextId++;return this.textures.set(t,{texture:o,width:e,height:a}),{id:t,width:e,height:a}}createEmptyTexture(A,I,g={}){const Q=this.gl,C=g.filter==="nearest"?Q.NEAREST:Q.LINEAR,E=eB(Q,C),o=Math.max(1,Math.floor(A)),i=Math.max(1,Math.floor(I));Q.bindTexture(Q.TEXTURE_2D,E),Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,o,i,0,Q.RGBA,Q.UNSIGNED_BYTE,null);const e=this.nextId++;return this.textures.set(e,{texture:E,width:o,height:i}),{id:e,width:o,height:i}}updateTexture(A,I){const g=this.textures.get(A.id);if(!g)return;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const i=this.gl,e=GI(I),a=RI(I),t=e===g.width&&a===g.height;i.bindTexture(i.TEXTURE_2D,g.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),t?i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,I):(i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,I),e>0&&a>0&&(g.width=e,g.height=a)),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){const i=I.videoWidth,e=I.videoHeight,a=i!==g.width||e!==g.height;this.uploadVideoFrameToTexture(g.texture,I,a)&&a&&(g.width=i,g.height=e);return}const Q=this.gl,C=GI(I),E=RI(I),o=C===g.width&&E===g.height;Q.bindTexture(Q.TEXTURE_2D,g.texture),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),o?Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,I):(Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,I),C>0&&E>0&&(g.width=C,g.height=E)),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0)}updateTextureRegion(A,I,g,Q,C,E){const o=this.textures.get(A.id);if(!o)return;const i=this.gl;i.bindTexture(i.TEXTURE_2D,o.texture);let e,a;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame)e=I.displayWidth||I.codedWidth,a=I.displayHeight||I.codedHeight;else if(I instanceof HTMLVideoElement){if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA)return;e=I.videoWidth,a=I.videoHeight}else{const D=I;e=D.width,a=D.height}if(!e||!a)return;const t=C!=null?C:e,s=E!=null?E:a;if(t!==e||s!==a){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const D=this.videoUploadCanvas,h=this.videoUploadCtx;if(!h)return;(D.width!==t||D.height!==s)&&(D.width=t,D.height=s),h.drawImage(I,0,0,t,s),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,D),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0)}deleteTexture(A){const I=this.textures.get(A.id);I&&(this.gl.deleteTexture(I.texture),this.textures.delete(A.id),this.cachedTex0Id===A.id&&(this.cachedTex0Id=null))}draw(A){var I;if(A.shader==="svga-instanced-premul"){this.drawInstancedSvgaGL(A);return}if(A.shader==="alpha-video-instanced"){this.drawInstancedAlphaGL(A);return}if(A.shader==="vap-instanced"){this.drawInstancedVapGL(A);return}const g=this.gl,Q=(I=A.stencil)!=null?I:"none",C=A.shader==="clip-mask"||Q==="clear"?"clip-mask":A.shader,E=this.programs.get(C);if(!E)return;Q==="clear"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,0,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="write"||A.shader==="clip-mask"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,1,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="test"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.EQUAL,1,255),g.stencilOp(g.KEEP,g.KEEP,g.KEEP),g.stencilMask(0),g.colorMask(!0,!0,!0,!0)):(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)),this.cachedDrawProgram!==C&&(g.useProgram(E.program),this.cachedDrawProgram=C);for(let e=0;e<A.textures.length;e++){const a=A.textures[e].id;if(e===0&&this.cachedTex0Id===a)continue;const t=this.textures.get(a);t&&(g.activeTexture(g.TEXTURE0+e),g.bindTexture(g.TEXTURE_2D,t.texture),e===0&&(this.cachedTex0Id=a))}for(const[e,a]of Object.entries(A.uniforms)){const t=E.uniforms.get(e);if(t)if(a instanceof Float32Array)if(a.length===16){if(e==="u_projection"&&this.cachedProjectionShader===C&&this.cachedProjectionRef===a)continue;e==="u_projection"&&(this.cachedProjectionShader=C,this.cachedProjectionRef=a),g.uniformMatrix4fv(t,!1,a)}else a.length===4?g.uniform4fv(t,a):a.length===2&&g.uniform2fv(t,a);else e==="u_opacity"||e==="u_rgbPremultiplied"?g.uniform1f(t,a):g.uniform1i(t,a)}const o=this.buffers.get(A.vertexBuffer.id),i=this.buffers.get(A.indexBuffer.id);!o||!i||(this.bindCachedVertexArray(C,A.vertexBuffer.id,A.indexBuffer.id)&&(g.bindBuffer(g.ARRAY_BUFFER,o.buffer),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,i.buffer),this.setupAttributes(C)),g.drawElements(g.TRIANGLES,A.indexCount,g.UNSIGNED_INT,0),(Q!=="none"||A.shader==="clip-mask")&&(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)))}clearStencil(){const A=this.gl;A.stencilMask(255),A.clear(A.STENCIL_BUFFER_BIT)}setScissor(A,I,g,Q){const C=this.gl,E=this.canvas.width,o=this.canvas.height,i=Math.max(0,Math.min(E,Math.round(A))),e=Math.max(0,Math.min(o,Math.round(I))),a=Math.max(i,Math.min(E,Math.round(A+g))),t=Math.max(e,Math.min(o,Math.round(I+Q)));C.enable(C.SCISSOR_TEST),C.scissor(i,o-t,a-i,t-e)}resetScissor(){this.gl.disable(this.gl.SCISSOR_TEST)}setupAttributes(A){const I=this.gl;if(A==="svga-batch-premul")I.enableVertexAttribArray(0),I.vertexAttribPointer(0,3,I.FLOAT,!1,36,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,4,I.FLOAT,!1,36,12),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,36,28);else if(A==="vap")I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,24,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,24,8),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,24,16);else if(A==="clip-mask")I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,8,0),I.disableVertexAttribArray(1),I.disableVertexAttribArray(2);else{I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,16,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,16,8);for(let Q=2;Q<=9;Q++)I.vertexAttribDivisor(Q,0),I.disableVertexAttribArray(Q)}}bindCachedVertexArray(A,I,g){const Q=this.gl;let C=this.vertexArrays.get(A);C||(C=new Map,this.vertexArrays.set(A,C));let E=C.get(I);E||(E=new Map,C.set(I,E));const o=E.get(g);if(o)return Q.bindVertexArray(o),!1;const i=Q.createVertexArray();if(!i)throw new Error("Failed to create vertex array");return E.set(g,i),Q.bindVertexArray(i),!0}deleteVertexArraysForBuffer(A){const I=this.gl;for(const[g,Q]of this.vertexArrays){for(const[C,E]of Q){if(C===A){for(const i of E.values())I.deleteVertexArray(i);Q.delete(C);continue}const o=E.get(A);o&&(I.deleteVertexArray(o),E.delete(A)),E.size===0&&Q.delete(C)}Q.size===0&&this.vertexArrays.delete(g)}}deleteAllVertexArrays(){for(const A of this.vertexArrays.values())for(const I of A.values())for(const g of I.values())this.gl.deleteVertexArray(g);this.vertexArrays.clear()}ensureInstancedSvgaInstanceBuffer(){const A=this.gl;if(!this.instancedSvgaInstanceGLBuffer){const I=A.createBuffer();if(!I)throw new Error("createBuffer failed");A.bindVertexArray(null),A.bindBuffer(A.ARRAY_BUFFER,I),A.bufferData(A.ARRAY_BUFFER,pA.INST_SVGA_GL_BYTES,A.DYNAMIC_DRAW),this.instancedSvgaInstanceGLBuffer=I}return this.instancedSvgaInstanceGLBuffer}drawInstancedSvgaGL(A){var I,g;const Q=this.gl,C=(I=A.instanceCount)!=null?I:0,E=A.instanceData;if(C<1||!E||E.length<C*13)return;if(C>pA.INST_SVGA_GL_MAX){console.warn("[WebGL2] svga-instanced-premul: instanceCount exceeds max",C);return}const o=(g=A.stencil)!=null?g:"none";o==="test"?(Q.enable(Q.STENCIL_TEST),Q.stencilFunc(Q.EQUAL,1,255),Q.stencilOp(Q.KEEP,Q.KEEP,Q.KEEP),Q.stencilMask(0),Q.colorMask(!0,!0,!0,!0)):(Q.disable(Q.STENCIL_TEST),Q.colorMask(!0,!0,!0,!0));const i="svga-instanced-premul",e=this.programs.get(i);if(!e)return;this.cachedDrawProgram!==i&&(Q.useProgram(e.program),this.cachedDrawProgram=i);for(let D=0;D<A.textures.length;D++){const h=A.textures[D].id;if(D===0&&this.cachedTex0Id===h)continue;const w=this.textures.get(h);w&&(Q.activeTexture(Q.TEXTURE0+D),Q.bindTexture(Q.TEXTURE_2D,w.texture),D===0&&(this.cachedTex0Id=h))}for(const[D,h]of Object.entries(A.uniforms)){const w=e.uniforms.get(D);if(w)if(h instanceof Float32Array){if(h.length===16){if(D==="u_projection"&&this.cachedProjectionShader===i&&this.cachedProjectionRef===h)continue;D==="u_projection"&&(this.cachedProjectionShader=i,this.cachedProjectionRef=h),Q.uniformMatrix4fv(w,!1,h)}}else Q.uniform1i(w,h)}const a=this.buffers.get(A.vertexBuffer.id),t=this.buffers.get(A.indexBuffer.id);if(!a||!t)return;const s=this.ensureInstancedSvgaInstanceBuffer();Q.bindBuffer(Q.ARRAY_BUFFER,s),Q.bufferSubData(Q.ARRAY_BUFFER,0,E,0,C*13),this.bindCachedVertexArray(i,A.vertexBuffer.id,A.indexBuffer.id)&&(Q.bindBuffer(Q.ARRAY_BUFFER,s),Q.enableVertexAttribArray(1),Q.vertexAttribPointer(1,2,Q.FLOAT,!1,52,0),Q.vertexAttribDivisor(1,1),Q.enableVertexAttribArray(2),Q.vertexAttribPointer(2,4,Q.FLOAT,!1,52,8),Q.vertexAttribDivisor(2,1),Q.enableVertexAttribArray(3),Q.vertexAttribPointer(3,3,Q.FLOAT,!1,52,24),Q.vertexAttribDivisor(3,1),Q.enableVertexAttribArray(4),Q.vertexAttribPointer(4,4,Q.FLOAT,!1,52,36),Q.vertexAttribDivisor(4,1),Q.bindBuffer(Q.ARRAY_BUFFER,a.buffer),Q.enableVertexAttribArray(0),Q.vertexAttribPointer(0,2,Q.FLOAT,!1,8,0),Q.vertexAttribDivisor(0,0),Q.bindBuffer(Q.ELEMENT_ARRAY_BUFFER,t.buffer)),Q.drawElementsInstanced(Q.TRIANGLES,A.indexCount,Q.UNSIGNED_INT,0,C),o!=="none"&&(Q.disable(Q.STENCIL_TEST),Q.colorMask(!0,!0,!0,!0))}ensureInstancedAlphaInstanceBuffer(){const A=this.gl;if(!this.instancedAlphaInstanceGLBuffer){const I=A.createBuffer();if(!I)throw new Error("createBuffer failed");A.bindVertexArray(null),A.bindBuffer(A.ARRAY_BUFFER,I),A.bufferData(A.ARRAY_BUFFER,pA.INST_ALPHA_GL_BYTES,A.DYNAMIC_DRAW),this.instancedAlphaInstanceGLBuffer=I}return this.instancedAlphaInstanceGLBuffer}drawInstancedAlphaGL(A){var I;const g=this.gl,Q=(I=A.instanceCount)!=null?I:0,C=A.instanceData;if(Q<1||!C||C.length<Q*12)return;if(Q>pA.INST_ALPHA_GL_MAX){console.warn("[WebGL2] alpha-video-instanced: instanceCount exceeds max",Q);return}g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0);const E="alpha-video-instanced",o=this.programs.get("alpha-video-instanced");if(!o)return;this.cachedDrawProgram!==E&&(g.useProgram(o.program),this.cachedDrawProgram=E);for(let t=0;t<A.textures.length;t++){const s=A.textures[t].id;if(t===0&&this.cachedTex0Id===s)continue;const D=this.textures.get(s);D&&(g.activeTexture(g.TEXTURE0+t),g.bindTexture(g.TEXTURE_2D,D.texture),t===0&&(this.cachedTex0Id=s))}for(const[t,s]of Object.entries(A.uniforms)){const D=o.uniforms.get(t);if(D)if(s instanceof Float32Array){if(s.length===16){if(t==="u_projection"&&this.cachedProjectionShader===E&&this.cachedProjectionRef===s)continue;t==="u_projection"&&(this.cachedProjectionShader=E,this.cachedProjectionRef=s),g.uniformMatrix4fv(D,!1,s)}}else t==="u_opacity"||t==="u_rgbPremultiplied"?g.uniform1f(D,s):g.uniform1i(D,s)}const i=this.buffers.get(A.vertexBuffer.id),e=this.buffers.get(A.indexBuffer.id);if(!i||!e)return;const a=this.ensureInstancedAlphaInstanceBuffer();if(g.bindBuffer(g.ARRAY_BUFFER,a),g.bufferSubData(g.ARRAY_BUFFER,0,C,0,Q*12),this.bindCachedVertexArray(E,A.vertexBuffer.id,A.indexBuffer.id)){g.bindBuffer(g.ARRAY_BUFFER,a);for(let D=0;D<3;D++){const h=2+D;g.enableVertexAttribArray(h),g.vertexAttribPointer(h,4,g.FLOAT,!1,48,D*16),g.vertexAttribDivisor(h,1)}g.bindBuffer(g.ARRAY_BUFFER,i.buffer);const s=16;g.enableVertexAttribArray(0),g.vertexAttribPointer(0,2,g.FLOAT,!1,s,0),g.vertexAttribDivisor(0,0),g.enableVertexAttribArray(1),g.vertexAttribPointer(1,2,g.FLOAT,!1,s,8),g.vertexAttribDivisor(1,0),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,e.buffer)}g.drawElementsInstanced(g.TRIANGLES,A.indexCount,g.UNSIGNED_INT,0,Q)}ensureInstancedVapInstanceBuffer(){const A=this.gl;if(!this.instancedVapInstanceGLBuffer){const I=A.createBuffer();if(!I)throw new Error("createBuffer failed");A.bindVertexArray(null),A.bindBuffer(A.ARRAY_BUFFER,I),A.bufferData(A.ARRAY_BUFFER,pA.INST_VAP_GL_BYTES,A.DYNAMIC_DRAW),this.instancedVapInstanceGLBuffer=I}return this.instancedVapInstanceGLBuffer}drawInstancedVapGL(A){var I;const g=this.gl,Q=(I=A.instanceCount)!=null?I:0,C=A.instanceData;if(Q<1||!C||C.length<Q*32)return;if(Q>pA.INST_VAP_GL_MAX){console.warn("[WebGL2] vap-instanced: instanceCount exceeds max",Q);return}g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0);const E="vap-instanced",o=this.programs.get("vap-instanced");if(!o)return;this.cachedDrawProgram!==E&&(g.useProgram(o.program),this.cachedDrawProgram=E);for(let t=0;t<A.textures.length;t++){const s=A.textures[t].id;if(t===0&&this.cachedTex0Id===s)continue;const D=this.textures.get(s);D&&(g.activeTexture(g.TEXTURE0+t),g.bindTexture(g.TEXTURE_2D,D.texture),t===0&&(this.cachedTex0Id=s))}for(const[t,s]of Object.entries(A.uniforms)){const D=o.uniforms.get(t);if(D)if(s instanceof Float32Array){if(s.length===16){if(t==="u_projection"&&this.cachedProjectionShader===E&&this.cachedProjectionRef===s)continue;t==="u_projection"&&(this.cachedProjectionShader=E,this.cachedProjectionRef=s),g.uniformMatrix4fv(D,!1,s)}}else t==="u_opacity"||t==="u_rgbPremultiplied"?g.uniform1f(D,s):g.uniform1i(D,s)}const i=this.buffers.get(A.vertexBuffer.id),e=this.buffers.get(A.indexBuffer.id);if(!i||!e)return;const a=this.ensureInstancedVapInstanceBuffer();if(g.bindBuffer(g.ARRAY_BUFFER,a),g.bufferSubData(g.ARRAY_BUFFER,0,C,0,Q*32),this.bindCachedVertexArray(E,A.vertexBuffer.id,A.indexBuffer.id)){g.bindBuffer(g.ARRAY_BUFFER,a);for(let D=0;D<8;D++){const h=2+D;g.enableVertexAttribArray(h),g.vertexAttribPointer(h,4,g.FLOAT,!1,128,D*16),g.vertexAttribDivisor(h,1)}g.bindBuffer(g.ARRAY_BUFFER,i.buffer);const s=16;g.enableVertexAttribArray(0),g.vertexAttribPointer(0,2,g.FLOAT,!1,s,0),g.vertexAttribDivisor(0,0),g.enableVertexAttribArray(1),g.vertexAttribPointer(1,2,g.FLOAT,!1,s,8),g.vertexAttribDivisor(1,0),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,e.buffer)}g.drawElementsInstanced(g.TRIANGLES,A.indexCount,g.UNSIGNED_INT,0,Q)}destroy(){const A=this.gl;A.bindVertexArray(null),this.deleteAllVertexArrays(),this.instancedSvgaInstanceGLBuffer&&(A.deleteBuffer(this.instancedSvgaInstanceGLBuffer),this.instancedSvgaInstanceGLBuffer=null),this.instancedAlphaInstanceGLBuffer&&(A.deleteBuffer(this.instancedAlphaInstanceGLBuffer),this.instancedAlphaInstanceGLBuffer=null),this.instancedVapInstanceGLBuffer&&(A.deleteBuffer(this.instancedVapInstanceGLBuffer),this.instancedVapInstanceGLBuffer=null);for(const[,g]of this.buffers)A.deleteBuffer(g.buffer);for(const[,g]of this.textures)A.deleteTexture(g.texture);for(const[,g]of this.programs)A.deleteProgram(g.program);this.buffers.clear(),this.textures.clear(),this.programs.clear();const I=A.getExtension("WEBGL_lose_context");I==null||I.loseContext()}};x(GA,"INST_SVGA_GL_MAX",2048);x(GA,"INST_SVGA_GL_BYTES",GA.INST_SVGA_GL_MAX*52);x(GA,"INST_ALPHA_GL_MAX",1024);x(GA,"INST_ALPHA_GL_BYTES",GA.INST_ALPHA_GL_MAX*48);x(GA,"INST_VAP_GL_MAX",1024);x(GA,"INST_VAP_GL_BYTES",GA.INST_VAP_GL_MAX*128);let IQ=GA;var HC=Object.defineProperty,qC=(B,A,I)=>A in B?HC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,P=(B,A,I)=>qC(B,typeof A!="symbol"?A+"":A,I);function pC(B,A){let I=B.replace(/^#version\s+300\s+es\s*/m,"");return A==="vertex"?(I=I.replace(/layout\s*\(location\s*=\s*\d+\)\s*in\s+/g,"attribute "),I=I.replace(/\bout\s+/g,"varying ")):(I=I.replace(/\bin\s+/g,"varying "),I=I.replace(/out\s+vec4\s+fragColor\s*;\s*/g,""),I=I.replace(/\bfragColor\b/g,"gl_FragColor"),I=I.replace(/\btexture\s*\(/g,"texture2D(")),I}function aB(B,A,I,g){const Q=B.createShader(A);if(!Q)throw new Error("Failed to create shader");if(B.shaderSource(Q,pC(I,g)),B.compileShader(Q),!B.getShaderParameter(Q,B.COMPILE_STATUS)){const C=B.getShaderInfoLog(Q);throw B.deleteShader(Q),new Error(`Shader compile failed: ${C}`)}return Q}function BI(B,A,I,g){const Q=aB(B,B.VERTEX_SHADER,A,"vertex"),C=aB(B,B.FRAGMENT_SHADER,I,"fragment"),E=B.createProgram();if(!E)throw B.deleteShader(Q),B.deleteShader(C),new Error("Failed to create program");B.attachShader(E,Q),B.attachShader(E,C);for(const[o,i]of Object.entries(g))B.bindAttribLocation(E,i,o);if(B.linkProgram(E),!B.getProgramParameter(E,B.LINK_STATUS)){const o=B.getProgramInfoLog(E);throw B.deleteProgram(E),B.deleteShader(Q),B.deleteShader(C),new Error(`Program link failed: ${o}`)}return B.deleteShader(Q),B.deleteShader(C),E}function tB(B,A=B.LINEAR,I=B.CLAMP_TO_EDGE){const g=B.createTexture();if(!g)throw new Error("Failed to create texture");return B.bindTexture(B.TEXTURE_2D,g),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,I),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,I),g}class ug{constructor(A,I=!0){P(this,"type","webgl1"),P(this,"canvas"),P(this,"maxTextureSize",4096),P(this,"antialias"),P(this,"gl"),P(this,"nextId",1),P(this,"buffers",new Map),P(this,"textures",new Map),P(this,"programs",new Map),P(this,"cachedDrawProgram",null),P(this,"cachedTex0Id",null),P(this,"cachedProjectionRef",null),P(this,"cachedProjectionShader",null),P(this,"videoUploadCanvas",null),P(this,"videoUploadCtx",null),P(this,"supportsUintIndices",!1),this.canvas=A,this.antialias=I}async init(){const A=this.canvas.getContext("webgl",{alpha:!0,premultipliedAlpha:!0,antialias:this.antialias,depth:!1,stencil:!0});if(!A)throw new Error("WebGL1 not available");this.gl=A,this.maxTextureSize=A.getParameter(A.MAX_TEXTURE_SIZE)||this.maxTextureSize,this.supportsUintIndices=!!A.getExtension("OES_element_index_uint"),A.enable(A.BLEND),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.clearColor(0,0,0,0),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE),this.initPrograms()}initPrograms(){const A=this.gl;this.programs.set("svga-batch-premul",{program:BI(A,p.svgaBatchPremul.vert,p.svgaBatchPremul.frag,{a_position:0,a_color:1,a_uv:2}),uniforms:new Map}),this.programs.get("svga-batch-premul").uniforms=this.getUniforms(this.programs.get("svga-batch-premul").program,["u_projection","u_atlas"]),this.programs.set("vap",{program:BI(A,p.vap.vert,p.vap.frag,{a_position:0,a_rgbUV:1,a_alphaUV:2}),uniforms:new Map}),this.programs.get("vap").uniforms=this.getUniforms(this.programs.get("vap").program,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity","u_rgbPremultiplied"]),this.programs.set("alpha-video",{program:BI(A,p.alphaVideo.vert,p.alphaVideo.frag,{a_position:0,a_uv:1}),uniforms:new Map}),this.programs.get("alpha-video").uniforms=this.getUniforms(this.programs.get("alpha-video").program,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity","u_rgbPremultiplied"]),this.programs.set("rgba-textured",{program:BI(A,p.rgbaTextured.vert,p.rgbaTextured.frag,{a_position:0,a_uv:1}),uniforms:new Map}),this.programs.get("rgba-textured").uniforms=this.getUniforms(this.programs.get("rgba-textured").program,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity"]),this.programs.set("clip-mask",{program:BI(A,p.clipMask.vert,p.clipMask.frag,{a_position:0}),uniforms:new Map}),this.programs.get("clip-mask").uniforms=this.getUniforms(this.programs.get("clip-mask").program,["u_projection","u_transform"])}getUniforms(A,I){const g=new Map;for(const Q of I){const C=this.gl.getUniformLocation(A,Q);C&&g.set(Q,C)}return g}beginFrame(A={}){const I=this.gl;I.viewport(0,0,this.canvas.width,this.canvas.height),I.clear(I.COLOR_BUFFER_BIT|(A.stencil?I.STENCIL_BUFFER_BIT:0)),I.disable(I.STENCIL_TEST),this.cachedDrawProgram=null,this.cachedTex0Id=null,this.cachedProjectionRef=null,this.cachedProjectionShader=null}endFrame(){this.gl.flush()}getBufferSourceByteLength(A){return ArrayBuffer.isView(A),A.byteLength}normalizeIndexSource(A){if(this.supportsUintIndices)return A;if(ArrayBuffer.isView(A)){if(A instanceof Uint16Array)return A;if("length"in A)return Uint16Array.from(A);const I=new Uint8Array(A.buffer,A.byteOffset,A.byteLength);return new Uint16Array(I.buffer.slice(I.byteOffset,I.byteOffset+I.byteLength))}return new Uint16Array(A)}createBuffer(A,I){const g=this.gl,Q=g.createBuffer();if(!Q)throw new Error("Failed to create buffer");const C=I==="index"?this.normalizeIndexSource(A):A,E=I==="index"?g.ELEMENT_ARRAY_BUFFER:g.ARRAY_BUFFER;g.bindBuffer(E,Q),g.bufferData(E,C,g.DYNAMIC_DRAW);const o=this.nextId++;return this.buffers.set(o,{buffer:Q,usage:I,byteLength:this.getBufferSourceByteLength(C)}),{id:o,usage:I}}updateBuffer(A,I,g=0){const Q=this.buffers.get(A.id);if(!Q)return;const C=this.gl,E=Q.usage==="index"?this.normalizeIndexSource(I):I,o=Q.usage==="index"?C.ELEMENT_ARRAY_BUFFER:C.ARRAY_BUFFER;C.bindBuffer(o,Q.buffer);const i=this.getBufferSourceByteLength(E);g===0&&i<=Q.byteLength?C.bufferSubData(o,0,E):(C.bufferData(o,E,C.DYNAMIC_DRAW),Q.byteLength=i)}deleteBuffer(A){const I=this.buffers.get(A.id);I&&(this.gl.deleteBuffer(I.buffer),this.buffers.delete(A.id))}ensureVideoUploadCanvas(A,I){return this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d")),!this.videoUploadCtx||!this.videoUploadCanvas?null:((this.videoUploadCanvas.width!==A||this.videoUploadCanvas.height!==I)&&(this.videoUploadCanvas.width=A,this.videoUploadCanvas.height=I),this.videoUploadCtx)}uploadVideoFrameToTexture(A,I,g){const Q=this.gl,C=I.videoWidth,E=I.videoHeight;if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||C<=0||E<=0)return!1;const o=this.ensureVideoUploadCanvas(C,E);return!o||!this.videoUploadCanvas?!1:(o.drawImage(I,0,0,C,E),Q.bindTexture(Q.TEXTURE_2D,A),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,1),g?Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,this.videoUploadCanvas):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,this.videoUploadCanvas),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),!0)}createTexture(A,I){var g,Q;const C=this.gl,E=I.filter==="nearest"?C.NEAREST:C.LINEAR,o=tB(C,E),i=I.premultiplyAlpha===!0;let e=(g=I.width)!=null?g:1,a=(Q=I.height)!=null?Q:1;if(A instanceof ArrayBuffer)C.texImage2D(C.TEXTURE_2D,0,C.RGBA,e,a,0,C.RGBA,C.UNSIGNED_BYTE,new Uint8Array(A));else if(typeof VideoFrame!="undefined"&&A instanceof VideoFrame)C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,1),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,A),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),e=A.displayWidth||A.codedWidth||e,a=A.displayHeight||A.codedHeight||a;else if(A instanceof HTMLVideoElement)C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),this.uploadVideoFrameToTexture(o,A,!0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e=A.videoWidth||e,a=A.videoHeight||a;else{const s=i,D=I.sourcePremultiplied===!0,h=s&&!D?1:0;C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,h),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,A),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),"width"in A&&(e=A.width,a=A.height)}const t=this.nextId++;return this.textures.set(t,{texture:o,width:e,height:a}),{id:t,width:e,height:a}}createEmptyTexture(A,I,g={}){const Q=this.gl,C=g.filter==="nearest"?Q.NEAREST:Q.LINEAR,E=tB(Q,C),o=Math.max(1,Math.floor(A)),i=Math.max(1,Math.floor(I));Q.bindTexture(Q.TEXTURE_2D,E),Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,o,i,0,Q.RGBA,Q.UNSIGNED_BYTE,null);const e=this.nextId++;return this.textures.set(e,{texture:E,width:o,height:i}),{id:e,width:o,height:i}}updateTexture(A,I){const g=this.textures.get(A.id);if(!g)return;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const i=this.gl,e=GI(I),a=RI(I),t=e===g.width&&a===g.height;i.bindTexture(i.TEXTURE_2D,g.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),t?i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,I):(i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,I),e>0&&a>0&&(g.width=e,g.height=a)),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){const i=I.videoWidth,e=I.videoHeight,a=i!==g.width||e!==g.height;this.uploadVideoFrameToTexture(g.texture,I,a)&&a&&(g.width=i,g.height=e);return}const Q=this.gl,C=GI(I),E=RI(I),o=C===g.width&&E===g.height;Q.bindTexture(Q.TEXTURE_2D,g.texture),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),o?Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,I):(Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,I),C>0&&E>0&&(g.width=C,g.height=E)),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0)}updateTextureRegion(A,I,g,Q,C,E){const o=this.textures.get(A.id);if(!o)return;const i=this.gl;i.bindTexture(i.TEXTURE_2D,o.texture);let e,a;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame)e=I.displayWidth||I.codedWidth,a=I.displayHeight||I.codedHeight;else if(I instanceof HTMLVideoElement){if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA)return;e=I.videoWidth,a=I.videoHeight}else{const D=I;e=D.width,a=D.height}if(!e||!a)return;const t=C!=null?C:e,s=E!=null?E:a;if(t!==e||s!==a){const D=this.ensureVideoUploadCanvas(t,s);if(!D||!this.videoUploadCanvas)return;D.drawImage(I,0,0,t,s),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,this.videoUploadCanvas),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I)}deleteTexture(A){const I=this.textures.get(A.id);I&&(this.gl.deleteTexture(I.texture),this.textures.delete(A.id),this.cachedTex0Id===A.id&&(this.cachedTex0Id=null))}draw(A){var I;const g=this.gl,Q=(I=A.stencil)!=null?I:"none",C=A.shader==="clip-mask"||Q==="clear"?"clip-mask":A.shader;if(C==="svga-instanced-premul"||C==="alpha-video-instanced"||C==="vap-instanced")throw new Error(`WebGL1 backend does not support instanced shader: ${C}`);const E=this.programs.get(C);if(!E)return;Q==="clear"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,0,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="write"||A.shader==="clip-mask"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,1,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="test"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.EQUAL,1,255),g.stencilOp(g.KEEP,g.KEEP,g.KEEP),g.stencilMask(0),g.colorMask(!0,!0,!0,!0)):(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)),this.cachedDrawProgram!==C&&(g.useProgram(E.program),this.cachedDrawProgram=C);for(let e=0;e<A.textures.length;e++){const a=A.textures[e].id;if(e===0&&this.cachedTex0Id===a)continue;const t=this.textures.get(a);t&&(g.activeTexture(g.TEXTURE0+e),g.bindTexture(g.TEXTURE_2D,t.texture),e===0&&(this.cachedTex0Id=a))}for(const[e,a]of Object.entries(A.uniforms)){const t=E.uniforms.get(e);if(t)if(a instanceof Float32Array)if(a.length===16){if(e==="u_projection"&&this.cachedProjectionShader===C&&this.cachedProjectionRef===a)continue;e==="u_projection"&&(this.cachedProjectionShader=C,this.cachedProjectionRef=a),g.uniformMatrix4fv(t,!1,a)}else a.length===4?g.uniform4fv(t,a):a.length===2&&g.uniform2fv(t,a);else e==="u_opacity"||e==="u_rgbPremultiplied"?g.uniform1f(t,a):g.uniform1i(t,a)}const o=this.buffers.get(A.vertexBuffer.id),i=this.buffers.get(A.indexBuffer.id);!o||!i||(g.bindBuffer(g.ARRAY_BUFFER,o.buffer),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,i.buffer),this.setupAttributes(C),g.drawElements(g.TRIANGLES,A.indexCount,this.supportsUintIndices?g.UNSIGNED_INT:g.UNSIGNED_SHORT,0),(Q!=="none"||A.shader==="clip-mask")&&(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)))}clearStencil(){const A=this.gl;A.stencilMask(255),A.clear(A.STENCIL_BUFFER_BIT)}setScissor(A,I,g,Q){const C=this.gl,E=this.canvas.width,o=this.canvas.height,i=Math.max(0,Math.min(E,Math.round(A))),e=Math.max(0,Math.min(o,Math.round(I))),a=Math.max(i,Math.min(E,Math.round(A+g))),t=Math.max(e,Math.min(o,Math.round(I+Q)));C.enable(C.SCISSOR_TEST),C.scissor(i,o-t,a-i,t-e)}resetScissor(){this.gl.disable(this.gl.SCISSOR_TEST)}setupAttributes(A){const I=this.gl;I.disableVertexAttribArray(0),I.disableVertexAttribArray(1),I.disableVertexAttribArray(2),A==="svga-batch-premul"?(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,3,I.FLOAT,!1,36,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,4,I.FLOAT,!1,36,12),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,36,28)):A==="vap"?(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,24,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,24,8),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,24,16)):A==="clip-mask"?(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,8,0)):(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,16,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,16,8))}destroy(){const A=this.gl;for(const[,g]of this.buffers)A.deleteBuffer(g.buffer);for(const[,g]of this.textures)A.deleteTexture(g.texture);for(const[,g]of this.programs)A.deleteProgram(g.program);this.buffers.clear(),this.textures.clear(),this.programs.clear();const I=A.getExtension("WEBGL_lose_context");I==null||I.loseContext()}}function gQ(){return typeof GPUQueue!="undefined"&&typeof GPUQueue.prototype.copyExternalImageToTexture=="function"}function mC(){return typeof navigator!="undefined"&&"gpu"in navigator&&gQ()}function xC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl2")!==null}catch(B){return!1}}function bC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl")!==null}catch(B){return!1}}function TC(){return typeof SharedArrayBuffer!="undefined"&&typeof Atomics!="undefined"&&globalThis.crossOriginIsolated===!0}function BQ(){return typeof OffscreenCanvas!="undefined"}async function QQ(B,A=!0,I=!0,g=!1){const Q=I,C=I;if(g){const o=new ug(B,C);return await o.init(),o}if(A&&typeof navigator!="undefined"&&"gpu"in navigator&&gQ())try{const o=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(o){const i=new AQ(B,o,Q);return await i.init(),i}else console.warn("[GiftStage] WebGPU unavailable: requestAdapter returned null, fallback to WebGL2/WebGL1.")}catch(o){console.warn(`[GiftStage] WebGPU init failed: ${o instanceof Error?o.message:String(o)}, fallback to WebGL2/WebGL1.`)}else A&&typeof navigator!="undefined"&&"gpu"in navigator&&console.warn("[GiftStage] WebGPU unavailable: GPUQueue.copyExternalImageToTexture is not supported, fallback to WebGL2/WebGL1.");try{const o=new IQ(B,C);return await o.init(),o}catch(o){console.warn(`[GiftStage] WebGL2 init failed: ${o instanceof Error?o.message:String(o)}, fallback to WebGL1.`)}const E=new ug(B,C);return await E.init(),E}const WC={width:1920,height:1080},ZC={width:2560,height:1440};function VC(B=typeof navigator!="undefined"?navigator:void 0){var A;if(!(B!=null&&B.userAgent))return!1;const I=B.userAgent;return!!(/Android|iPhone|iPod|Mobile/i.test(I)||/iPad/i.test(I)||/Macintosh/i.test(I)&&((A=B.maxTouchPoints)!=null?A:0)>1)}function vC(B){return VC(B)?WC:ZC}function XC(B,A,I){const g=B.clientWidth||B.getBoundingClientRect().width||0,Q=B.clientHeight||B.getBoundingClientRect().height||0,C=A>0&&Number.isFinite(A)?A:1;let E=Math.max(1,Math.round(g*C)),o=Math.max(1,Math.round(Q*C));if(I!==!1){const i=I!=null?I:vC(),e=Math.max(i.width,i.height),a=Math.min(i.width,i.height);if(e>0&&a>0){const t=Math.min(1,e/Math.max(E,o),a/Math.min(E,o));t<1&&(E=Math.max(1,Math.round(E*t)),o=Math.max(1,Math.round(o*t)))}}(B.width!==E||B.height!==o)&&(B.width=E,B.height=o)}function Hg(B){const A=B.clientWidth||B.getBoundingClientRect().width||1,I=B.clientHeight||B.getBoundingClientRect().height||1;return{sx:B.width/Math.max(1,A),sy:B.height/Math.max(1,I)}}const OC=9,xA=13,FA=9,PA=4,sI=6,PI=9,jC={a:1,b:0,c:0,d:1,tx:0,ty:0};function PC(B,A,I){return(B*I+A)*PI}function zC(B,A,I){var g,Q;const C=(g=B.shapesIndex[A*B.frameCount+I])!=null?g:-1;return C<0?null:(Q=B.shapesTable[C])!=null?Q:null}function sB(B,A,I){var g,Q;const C=(g=B.clipPathIndex[A*B.frameCount+I])!=null?g:-1;return C<0?"":(Q=B.clipPaths[C])!=null?Q:""}function CQ(B,A){var I,g,Q,C,E,o,i;const e=B.length;let a=A!=null?A:0;if(a<=0)for(const c of B)a=Math.max(a,c.frames.length);const t=B.map(c=>c.imageKey),s=new Float32Array(e*a*PI),D=[],h=new Map,w=new Int32Array(e*a).fill(-1),r=[],F=new Int32Array(e*a).fill(-1);let n=!1;for(let c=0;c<e;c++){const G=B[c];let y=null,M=-1;for(let R=0;R<a;R++){const l=G.frames[R],N=PC(c,R,a);if(!l){s[N+2]=1,s[N+5]=1;continue}const U=(g=(I=l.layout)==null?void 0:I.width)!=null?g:0,f=(C=(Q=l.layout)==null?void 0:Q.height)!=null?C:0,S=(E=l.transform)!=null?E:jC;s[N]=U,s[N+1]=f,s[N+2]=S.a,s[N+3]=S.b,s[N+4]=S.c,s[N+5]=S.d,s[N+6]=S.tx,s[N+7]=S.ty,s[N+8]=l.alpha;const L=(o=l.clipPath)!=null?o:"";if(L.length>0){let K=h.get(L);K===void 0&&(K=D.length,D.push(L),h.set(L,K)),w[c*a+R]=K}const d=l.shapes;if(!d||d.length===0){y=null,M=-1;continue}if(((i=d[0])==null?void 0:i.kind)==="keep"){M>=0&&(F[c*a+R]=M,n=!0);continue}if(y!==null&&d===y&&M>=0){F[c*a+R]=M,n=!0;continue}const u=d.every(K=>K.kind!=="keep")?d:d.filter(K=>K.kind!=="keep");if(u.length===0){y=null,M=-1;continue}y=u,M=r.length,r.push(u),F[c*a+R]=M,n=!0}}return{spriteCount:e,frameCount:a,imageKeys:t,frameData:s,clipPaths:D,clipPathIndex:w,shapesTable:r,shapesIndex:F,hasAnyShapes:n}}function ZI(B,A,I){const g=Math.floor(B.length/xA),Q=Math.floor(A.length/(PA*FA)),C=Math.floor(I.length/sI),E=Math.min(g,Q,C);for(let o=0;o<E;o++){const i=o*xA,e=B[i],a=B[i+1],t=B[i+2],s=B[i+3],D=B[i+4],h=B[i+5],w=B[i+6],r=B[i+7],F=B[i+8],n=B[i+9],c=B[i+10],G=B[i+11],y=B[i+12],M=w,R=r,l=t*e+w,N=s*e+r,U=t*e+D*a+w,f=s*e+h*a+r,S=D*a+w,L=h*a+r,d=o*PA*FA;A[d]=M,A[d+1]=R,A[d+2]=0,A[d+3]=1,A[d+4]=1,A[d+5]=1,A[d+6]=F,A[d+7]=n,A[d+8]=c;const u=d+FA;A[u]=l,A[u+1]=N,A[u+2]=0,A[u+3]=1,A[u+4]=1,A[u+5]=1,A[u+6]=F,A[u+7]=G,A[u+8]=c;const K=d+2*FA;A[K]=U,A[K+1]=f,A[K+2]=0,A[K+3]=1,A[K+4]=1,A[K+5]=1,A[K+6]=F,A[K+7]=G,A[K+8]=y;const b=d+3*FA;A[b]=S,A[b+1]=L,A[b+2]=0,A[b+3]=1,A[b+4]=1,A[b+5]=1,A[b+6]=F,A[b+7]=n,A[b+8]=y;const X=o*sI,QA=o*PA;I[X]=QA,I[X+1]=QA+1,I[X+2]=QA+2,I[X+3]=QA,I[X+4]=QA+2,I[X+5]=QA+3}return E}function _C(B,A,I){const g=hB(B,J.__wbindgen_malloc),Q=IA;var C=hB(A,J.__wbindgen_malloc),E=IA,o=eQ(I,J.__wbindgen_malloc),i=IA;return J.build_batch_vertices(g,Q,C,E,A,o,i,I)>>>0}function $C(B){const A=og(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga(A,I);if(g[2])throw yI(g[1]);return yI(g[0])}function AE(B){const A=og(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga_payload(A,I);if(g[3])throw yI(g[2]);var Q=ig(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function IE(B){const A=og(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga_payload_profiled(A,I);if(g[3])throw yI(g[2]);var Q=ig(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function gE(B){const A=og(B,J.__wbindgen_malloc),I=IA,g=J.inflate(A,I);if(g[3])throw yI(g[2]);var Q=ig(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function EQ(){J.init()}function BE(){return J.take_svga_payload_profile()}function QE(B,A){const I=oE(B,J.__wbindgen_malloc),g=IA,Q=eQ(A,J.__wbindgen_malloc),C=IA,E=J.triangulate_clip_polygons(I,g,Q,C);var o=CE(E[0],E[1]).slice();return J.__wbindgen_free(E[0],E[1]*4,4),o}function iQ(){return{__proto__:null,"./gift_stage_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(A,I){return Error(tg(A,I))},__wbg_String_8564e559799eccda:function(A,I){const g=String(I),Q=eE(g,J.__wbindgen_malloc,J.__wbindgen_realloc),C=IA;DB().setInt32(A+4,C,!0),DB().setInt32(A+0,Q,!0)},__wbg___wbindgen_copy_to_typed_array_a4db337751e0b328:function(A,I,g){new Uint8Array(g.buffer,g.byteOffset,g.byteLength).set(ig(A,I))},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(A){return typeof A=="string"},__wbg___wbindgen_throw_81fc77679af83bc6:function(A,I){throw new Error(tg(A,I))},__wbg_new_4f9fafbb3909af72:function(){return new Object},__wbg_new_99cabae501c0a8a0:function(){return new Map},__wbg_new_f3c9df4f38f3f798:function(){return new Array},__wbg_now_008d9b84600b5c19:function(){return performance.now()},__wbg_set_08463b1df38a7e29:function(A,I,g){return A.set(I,g)},__wbg_set_6be42768c690e380:function(A,I,g){A[I]=g},__wbg_set_6c60b2e8ad0e9383:function(A,I,g){A[I>>>0]=g},__wbindgen_cast_0000000000000001:function(A){return A},__wbindgen_cast_0000000000000002:function(A,I){return tg(A,I)},__wbindgen_cast_0000000000000003:function(A){return BigInt.asUintN(64,A)},__wbindgen_init_externref_table:function(){const A=J.__wbindgen_externrefs,I=A.grow(4);A.set(0,void 0),A.set(I+0,void 0),A.set(I+1,null),A.set(I+2,!0),A.set(I+3,!1)}}}}function CE(B,A){return B=B>>>0,oQ().subarray(B/4,B/4+A)}function ig(B,A){return B=B>>>0,zA().subarray(B/1,B/1+A)}let mA=null;function DB(){return(mA===null||mA.buffer.detached===!0||mA.buffer.detached===void 0&&mA.buffer!==J.memory.buffer)&&(mA=new DataView(J.memory.buffer)),mA}let EI=null;function EE(){return(EI===null||EI.byteLength===0)&&(EI=new Float32Array(J.memory.buffer)),EI}let iI=null;function iE(){return(iI===null||iI.byteLength===0)&&(iI=new Float64Array(J.memory.buffer)),iI}function tg(B,A){return B=B>>>0,tE(B,A)}let oI=null;function oQ(){return(oI===null||oI.byteLength===0)&&(oI=new Uint32Array(J.memory.buffer)),oI}let eI=null;function zA(){return(eI===null||eI.byteLength===0)&&(eI=new Uint8Array(J.memory.buffer)),eI}function eQ(B,A){const I=A(B.length*4,4)>>>0;return oQ().set(B,I/4),IA=B.length,I}function og(B,A){const I=A(B.length*1,1)>>>0;return zA().set(B,I/1),IA=B.length,I}function hB(B,A){const I=A(B.length*4,4)>>>0;return EE().set(B,I/4),IA=B.length,I}function oE(B,A){const I=A(B.length*8,8)>>>0;return iE().set(B,I/8),IA=B.length,I}function eE(B,A,I){if(I===void 0){const o=DI.encode(B),i=A(o.length,1)>>>0;return zA().subarray(i,i+o.length).set(o),IA=o.length,i}let g=B.length,Q=A(g,1)>>>0;const C=zA();let E=0;for(;E<g;E++){const o=B.charCodeAt(E);if(o>127)break;C[Q+E]=o}if(E!==g){E!==0&&(B=B.slice(E)),Q=I(Q,g,g=E+B.length*3,1)>>>0;const o=zA().subarray(Q+E,Q+g),i=DI.encodeInto(B,o);E+=i.written,Q=I(Q,g,E,1)>>>0}return IA=E,Q}function yI(B){const A=J.__wbindgen_externrefs.get(B);return J.__externref_table_dealloc(B),A}let VI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});VI.decode();const aE=2146435072;let sg=0;function tE(B,A){return sg+=A,sg>=aE&&(VI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),VI.decode(),sg=A),VI.decode(zA().subarray(B,B+A))}const DI=new TextEncoder;"encodeInto"in DI||(DI.encodeInto=function(B,A){const I=DI.encode(B);return A.set(I),{read:B.length,written:I.length}});let IA=0,J;function aQ(B,A){return J=B.exports,mA=null,EI=null,iI=null,oI=null,eI=null,J.__wbindgen_start(),J}async function sE(B,A){if(typeof Response=="function"&&B instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(B,A)}catch(Q){if(B.ok&&I(B.type)&&B.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",Q);else throw Q}const g=await B.arrayBuffer();return await WebAssembly.instantiate(g,A)}else{const g=await WebAssembly.instantiate(B,A);return g instanceof WebAssembly.Instance?{instance:g,module:B}:g}function I(g){switch(g){case"basic":case"cors":case"default":return!0}return!1}}function DE(B){if(J!==void 0)return J;B!==void 0&&(Object.getPrototypeOf(B)===Object.prototype?{module:B}=B:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const A=iQ();B instanceof WebAssembly.Module||(B=new WebAssembly.Module(B));const I=new WebAssembly.Instance(B,A);return aQ(I)}async function tQ(B){if(J!==void 0)return J;B!==void 0&&(Object.getPrototypeOf(B)===Object.prototype?{module_or_path:B}=B:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),B===void 0&&(B=new URL("data:application/wasm;base64,AGFzbQEAAAAB5AIzYAJ/fwF/YAR/f39/AGADf39/AGACf38AYAN/f38Bf2AFf39/f38AYAF/AGABfwF/YAAAYAZ/f39/f38AYAR/f39/AX9gAAR/f39/YAABb2AFf39/f38Bf2ACf38Ef39/f2ACf38Bb2AGf39/f39/AX9gAn9/AX5gAAF/YAV/f31/fwBgBX9/fn9/AGAFf398f38AYAJ8fAF8YAADf39/YAACf39gAAF8YANvf28AYANvb28Bb2ADb29vAGACf28AYAFvAX9gA39/bwBgAXwBb2ABfgFvYAh/f39/f39/fwBgBn9/f3x8fABgCHx8fHx8fHx8AX9gA39/fgBgBn9/f31/fwBgBn9/f35/fwBgBn9/f3x/fwBgAn9/A39/f2AEf39/fwJ/f2AIf39/f29/f28Bf2AEf35/fwBgBH99f38AYAR/fH9/AGADf399AGAHf39/f39/fwBgAXwBf2ADf398AAKmBxAXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfbm93XzAwOGQ5Yjg0NjAwYjVjMTkAGRcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19zZXRfNmM2MGIyZThhZDBlOTM4MwAaFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX3NldF8wODQ2M2IxZGYzOGE3ZTI5ABsXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAdFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX25ld185OWNhYmFlNTAxYzBhOGEwAAwXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193YmdfbmV3X2YzYzlkZjRmMzhmM2Y3OTgADBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19uZXdfNGY5ZmFmYmIzOTA5YWY3MgAMFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfODFmYzc3Njc5YWY4M2JjNgADFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzJlNTliMWIzN2E5YTM0YzMADxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX3N0cmluZ19iMjliNWM1YTgwNjViYTFhAB4XLi9naWZ0X3N0YWdlX3dhc21fYmcuanM1X193YmdfX193YmluZGdlbl9jb3B5X3RvX3R5cGVkX2FycmF5X2E0ZGIzMzc3NTFlMGIzMjgAHxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAgXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMgX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDEAIBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMgAPFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACEDzAHKAQEiIwcBAgIJAAMEEAYCAgMDAQUECgAKACQREQMBBQICAAICAwQAEgMAAQIDBgABAAEABgEEAQEDBQAGCQUCCQkCBQIDAAIIASUCAwEGBQYCCQYFAQEFBQUFAQEACSYnKAUBAQIEBAUBBAAAAAcCAwEBBgIAAA0AAAoABg4ODikqKxAHDQUUExUGBgEKBAEIAgYWFgAAAwMDAwIALwMCMAIEAjEyBQASCgMAAQEDAAADAAACAgcHCAIEBAYMAAAIAwMABAADAAMHCAIECQJwAWZmbwCACAUDAQARBgkBfwFBgIDAAAsHugIPBm1lbW9yeQIAC2RlY29kZV9zdmdhAI4BE2RlY29kZV9zdmdhX3BheWxvYWQAjAEcZGVjb2RlX3N2Z2FfcGF5bG9hZF9wcm9maWxlZACLARl0YWtlX3N2Z2FfcGF5bG9hZF9wcm9maWxlAMsBB2luZmxhdGUAjQEUYnVpbGRfYmF0Y2hfdmVydGljZXMAkAEZdHJpYW5ndWxhdGVfY2xpcF9wb2x5Z29ucwCPAQRpbml0ANgBEV9fd2JpbmRnZW5fbWFsbG9jAIMBEl9fd2JpbmRnZW5fcmVhbGxvYwCIARVfX3diaW5kZ2VuX2V4dGVybnJlZnMBARlfX2V4dGVybnJl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IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIMQwAAAAAgBkEBcRshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIUQwAAAAAgBSgCEBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIcQwAAAAAgBSgCGBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIkQwAAAAAgBSgCIBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIsQwAAAAAgBSgCKBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAMAQsgBSgCMCIGQQJGDQIgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakECOgAAIAQgAUEBaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJq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IAcgBCAFIAooAgwRBAANASAAIA03AghBAA8LQQEhBiAAKAIAIgEgACgCBCIAIAsgAiADEIUBDQAgASAEIAUgACgCDBEEACEGCyAGC5QGAQV/IABBCGsiASAAQQRrKAIAIgNBeHEiAGohAgJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQeDvwAAoAgBGBEAgAigCBEEDcUEDRw0BQdjvwAAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxAzCwJAAkACQAJAAkAgAigCBCIDQQJxRQRAIAJB5O/AACgCAEYNAiACQeDvwAAoAgBGDQMgAiADQXhxIgIQMyABIAAgAmoiAEEBcjYCBCAAIAFqIAA2AgAgAUHg78AAKAIARw0BQdjvwAAgADYCAA8LIAIgA0F+cTYCBCABIABBAXI2AgQgACABaiAANgIACyAAQYACSQ0CIAEgABA3QQAhAUH478AAQfjvwAAoAgBBAWsiADYCACAADQRBwO3AACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0H478AAQf8fIAEgAUH/H00bNgIADwtB5O/AACABNgIAQdzvwABB3O/AACgCACAAaiIANgIAIAEgAEEBcjYCBEHg78AAKAIAIAFGBEBB2O/AAEEANgIAQeDvwABBADYCAAsgAEHw78AAKAIAIgNNDQNB5O/AACgCACICRQ0DQQAhAEHc78AAKAIAIgRBKUkNAkG47cAAIQEDQCACIAEoAgAiBU8EQCACIAUgASgCBGpJDQQLIAEoAgghAQwACwALQeDvwAAgATYCAEHY78AAQdjvwAAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsCQEHQ78AAKAIAIgJBASAAQQN2dCIDcUUEQEHQ78AAIAIgA3I2AgAgAEH4AXFByO3AAGoiACECDAELIABB+AFxIgBByO3AAGohAiAAQdDtwABqKAIAIQALIAIgATYCCCAAIAE2AgwgASACNgIMIAEgADYCCA8LQcDtwAAoAgAiAQRAA0AgAEEBaiEAIAEoAggiAQ0ACwtB+O/AAEH/HyAAIABB/x9NGzYCACADIARPDQBB8O/AAEF/NgIACwu2DgEHfyMAQSBrIgYkACAAAn8CQAJAAkACQAJAAkACQAJA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C0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECIC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fiMAQRBrIgEkACABQoCAgIDgByICIACthDcDCCABIAIgAEEEaq2ENwMAQaCBwAAgAUHcs8AAEIIBAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEHAzMAAIAEoAgQgASgCCCIALQAIIAAtAAkQSAALIABBgICAgHg2AgAgACABNgIMIABB3MzAACABKAIEIAEoAggiAC0ACCAALQAJEEgACy8AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARDMASIBRQ0BCyABDwsACz8AIAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQsAEPCyABKAIAIAEoAgQgACgCDCgCACIAKAIAIAAoAgQQJgs4AAJAIAJBgIDEAEYNACAAIAIgASgCEBEAAEUNAEEBDwsgA0UEQEEADwsgACADIAQgASgCDBEEAAtFAQF/QRhBBBDMASICRQRAQQRBGBDQAQALIAIgATYCFCACIAA2AhAgAkKAgICAgICAgIB/NwIIIAJCgICAgMAANwIAIAIL7QEBA38gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEHoPC0EAIQIjAEEQayIDJAAgACgCACEAA0AgAiADakEPaiAAQQ9xLQDa2kA6AAAgAkEBayECIABBD0sgAEEEdiEADQALIAFBAUHY2sAAQQIgAiADakEQakEAIAJrEBsgA0EQaiQADwtBACECIwBBEGsiAyQAIAAoAgAhAANAIAIgA2pBD2ogAEEPcS0AyNpAOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQQFB2NrAAEECIAIgA2pBEGpBACACaxAbIANBEGokAAsuAAJAIANpQQFHIAFBgICAgHggA2tLcg0AIAAgASADIAIQtwEiAEUNACAADwsACzkBAX9BASECAkAgACABED0NACABKAIAQenqwABBAiABKAIEKAIMEQQADQAgAEEEaiABED0hAgsgAgstAQF/IwBBEGsiASQAIAEgAUEPaq1CgICAgMAMhDcDAEHL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bmRleCDAFiBpcyBvdXQgb2YgYm91bmRzIG9mIGDAAWDAAAtieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAYpIG9mIGDAAWDAACJhZHZhbmNlIG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IGFkdmFuY2luZyBieSDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAACFjYW5ub3QgYWR2YW5jZSBwYXN0IGByZW1haW5pbmdgOiDABCA8PSDAABNpbnZhbGlkIGtleSB2YWx1ZTogwAAZaW52YWxpZCB3aXJlIHR5cGUgdmFsdWU6IMAAElNlcmlhbGl6ZSBmYWlsZWQ6IMAAEEluZmxhdGUgZmFpbGVkOiDAABhQcm90b2J1ZiBkZWNvZGUgZmFpbGVkOiDAAMACOiDAAHNyY1x2ZXJ0ZXgucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzX211dC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvc3RkL3NyYy9zeXMvdGhyZWFkX2xvY2FsL25vX3RocmVhZHMucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcb3V0cHV0X2J1ZmZlci5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXGZsYXRlMi0xLjEuOVxzcmNcYnVmcmVhZGVyLnJzAHNyY1xjbGlwLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXG1pbml6X294aWRlLTAuOC45XHNyY1xpbmZsYXRlXHN0cmVhbS5ycwBzcmNccHJvdG9idWYucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9pby9ib3Jyb3dlZF9idWYucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zlx3YXNtLWJpbmRnZW4tMC4yLjExN1xzcmNcZXh0ZXJucmVmLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcY29yZS5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTYuMS9zcmMvcmF3L21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9zdGQvc3JjL2lvL21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMS9zcmMvZGxtYWxsb2MucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxlYXJjdXQtMC40Ljlcc3JjXGxpYi5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHNlcmRlLXdhc20tYmluZGdlbi0wLjYuNVxzcmNcbGliLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcYnl0ZXMtMS4xMS4xXHNyY1xsaWIucnMAwCwgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlcgAmY29weV9mcm9tX3NsaWNlOiBzb3VyY2Ugc2xpY2UgbGVuZ3RoICjAKykgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICjAASkAwAsgKG9zIGVycm9yIMABKQATaW52YWxpZCB3aXJlIHR5cGU6IMALIChleHBlY3RlZCDAASkAwAEuwAI6IAByZWN0ZWxsaXBzZURlY29kZWRUcmFuc2Zvcm1hYmNkdHh0eURlY29kZWRTaGFwZVN0eWxlZmlsbHN0cm9rZXN0cm9rZV93aWR0aGxpbmVfY2FwbGluZV9qb2lubWl0ZXJfbGltaXRsaW5lX2Rhc2hTVkdBUGF5bG9hZFByb2ZpbGVpbnB1dEJ5dGVzb3V0cHV0Qnl0ZXNwcm9zdERlY29kZU1zbWV0YWRhdGFBbmRJbWFnZXNNc2ZyYW1lVGFibGVNc2ZpbmFsaXplTXNwYXlsb2FkQnVpbGRNc3J1c3RUb3RhbE1zaW1hZ2VCeXRlc2ltYWdlQ291bnRzcHJpdGVDb3VudGZyYW1lQ291bnRjZWxsQ291bnRjbGlwUGF0aENvdW50c2hhcGVDb3VudHNoYXBlR3JvdXBDb3VudHNoYXBlQnl0ZXN3cml0ZXJJbml0aWFsQ2FwYWNpdHl3cml0ZXJGaW5hbENhcGFjaXR5RGVjb2RlZFJlY3R4eXdpZHRoaGVpZ2h0Y29ybmVyX3JhZGl1c0RlY29kZWRBdWRpb2F1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVEZWNvZGVkQ29sb3JyZ0RlY29kZWRGcmFtZWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzRGVjb2RlZE1vdmlldmVyc2lvbnBhcmFtc2ltYWdlc3Nwcml0ZXNhdWRpb3NEZWNvZGVkU2hhcGVraW5kcGF0aF9kYXRhc3R5bGVEZWNvZGVkTGF5b3V0RGVjb2RlZFBhcmFtc3ZpZXdfYm94X3dpZHRodmlld19ib3hfaGVpZ2h0ZnBzZnJhbWVzRGVjb2RlZFNwcml0ZWltYWdlX2tleURlY29kZWRFbGxpcHNlcmFkaXVzX3hyYWRpdXNfeQAAAP//////////CA4QAEGgnMAAC/MDegYQAA8AAAABAwAAIwAAAHoGEAAPAAAAIAMAACkAAAB6BhAADwAAAAkDAAApAAAASwkQAF4AAACFAgAAKAAAAEsJEABeAAAAbgQAABwAAABLCRAAXgAAAN0CAAAhAAAASwkQAF4AAADpAAAAJgAAAEsJEABeAAAABgEAAB0AAABLCRAAXgAAAHoEAAAzAAAASwkQAF4AAAB7BAAAMwAAAGludmFsaWQgdGFnIHZhbHVlOiAwaW52YWxpZCB2YXJpbnRMYXlvdXR4eXdpZHRoaGVpZ2h0VHJhbnNmb3JtYWJjZHR4dHlBdWRpb0VudGl0eWF1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVGcmFtZUVudGl0eWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzTW92aWVFbnRpdHl2ZXJzaW9ucGFyYW1zaW1hZ2Vzc3ByaXRlc2F1ZGlvc01vdmllUGFyYW1zdmlld19ib3hfd2lkdGh2aWV3X2JveF9oZWlnaHRmcHNmcmFtZXNTaGFwZUVudGl0eXIjdHlwZXNoYXBlcmVjdGVsbGlwc2VzdHlsZXNTcHJpdGVFbnRpdHlpbWFnZV9rZXn//////////wgQEABBoKDAAAuDCk1hcCBrZXkgaXMgbm90IGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgYW4gb2JqZWN0IGtleWludmFsaWQgdGFnIHZhbHVlOiAwZGVsaW1pdGVkIGxlbmd0aCBleGNlZWRlZGJ1ZmZlciB1bmRlcmZsb3dyZWN1cnNpb24gbGltaXQgcmVhY2hlZHVuZXhwZWN0ZWQgZW5kIGdyb3VwIHRhZ2ludmFsaWQgdmFyaW50AAAAiQQQAE4AAABxBwAAEQAAAERhdGEgdG9vIHNob3J0IGZvciB6bGlicmVjdXJzaW9uIGxpbWl0IHJlYWNoZWQAAE0CEAANAAAAHAAAABgAAABNAhAADQAAAB0AAAAYAAAATQIQAA0AAAAeAAAAEQAAAE0CEAANAAAAHwAAABEAAABNAhAADQAAACAAAAARAAAATQIQAA0AAAAhAAAAEQAAAE0CEAANAAAAIgAAABIAAABNAhAADQAAACMAAAASAAAATQIQAA0AAAAkAAAAFQAAAE0CEAANAAAAJQAAABgAAABNAhAADQAAACYAAAAYAAAATQIQAA0AAAAnAAAAGAAAAE0CEAANAAAAKAAAABgAAABNAhAADQAAADYAAAAJAAAATQIQAA0AAAA3AAAACQAAAE0CEAANAAAAOAAAAAkAAABNAhAADQAAADkAAAAJAAAATQIQAA0AAAA6AAAACQAAAE0CEAANAAAAOwAAAAkAAABNAhAADQAAADwAAAAJAAAATQIQAA0AAAA9AAAACQAAAE0CEAANAAAAPgAAAAkAAABNAhAADQAAAEIAAAAJAAAATQIQAA0AAABDAAAACQAAAE0CEAANAAAARAAAAAkAAABNAhAADQAAAEUAAAAJAAAATQIQAA0AAABGAAAACQAAAE0CEAANAAAARwAAAAkAAABNAhAADQAAAEgAAAAJAAAATQIQAA0AAABJAAAACQAAAE0CEAANAAAASgAAAAkAAABNAhAADQAAAE4AAAAJAAAATQIQAA0AAABPAAAACQAAAE0CEAANAAAAUAAAAAkAAABNAhAADQAAAFEAAAAJAAAATQIQAA0AAABSAAAACQAAAE0CEAANAAAAUwAAAAkAAABNAhAADQAAAFQAAAAJAAAATQIQAA0AAABVAAAACQAAAE0CEAANAAAAVgAAAAkAAABNAhAADQAAAFoAAAAJAAAATQIQAA0AAABbAAAACQAAAE0CEAANAAAAXAAAAAkAAABNAhAADQAAAF0AAAAJAAAATQIQAA0AAABeAAAACQAAAE0CEAANAAAAXwAAAAkAAABNAhAADQAAAGAAAAAJAAAATQIQAA0AAABhAAAACQAAAE0CEAANAAAAYgAAAAkAAABNAhAADQAAAGYAAAAJAAAATQIQAA0AAABnAAAACQAAAE0CEAANAAAAaAAAAAkAAABNAhAADQAAAGkAAAAJAAAATQIQAA0AAABqAAAACQAAAE0CEAANAAAAawAAAAkAAAB6BhAADwAAAFYCAAASAAAAegYQAA8AAABcAgAADwAAAHoGEAAPAAAAYwIAABwAAACzBRAACwAAABsAAAAeAAAAswUQAAsAAAAdAAAAHwAAAG1pZCA+IGxlbgAAACADEABfAAAASgAAAB8AAAAgAxAAXwAAAEQAAAAXAAAAAQAAAAAAAADJAxAAYAAAAMMCAAAJAAAAAAAAAP//////////GBUQAEGwqsAAC4MGQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABidWZmZXIgdW5kZXJmbG93aW52YWxpZCBzdHJpbmcgdmFsdWU6IGRhdGEgaXMgbm90IFVURi04IGVuY29kZWRpbnZhbGlkIHZhcmludGNvcnJ1cHQgZGVmbGF0ZSBzdHJlYW1WYXJpbnRTaXh0eUZvdXJCaXRMZW5ndGhEZWxpbWl0ZWRTdGFydEdyb3VwRW5kR3JvdXBUaGlydHlUd29CaXQAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAOMVEADpFRAA9RUQAAQWEAAOFhAAFhYQAGJ1ZmZlciB1bmRlcmZsb3dpbnZhbGlkIHZhcmludHJlY3Vyc2lvbiBsaW1pdCByZWFjaGVkVmFyaW50U2l4dHlGb3VyQml0TGVuZ3RoRGVsaW1pdGVkU3RhcnRHcm91cEVuZEdyb3VwVGhpcnR5VHdvQml0TgUQAGQAAABiAAAAFQAAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAIkWEACPFhAAmxYQAKoWEAC0FhAAvBYQAGFzc2VydGlvbiBmYWlsZWQ6IG4gPD0gc2VsZi5idWYuaW5pdCAtIHNlbGYuYnVmLmZpbGxlZAAAigYQAFMAAAAVAQAACQAAAIUIEABJAAAAsgEAADEAAABSZ2JhQ29sb3JyZ2JhU2hhcGVBcmdzZFNoYXBlU3R5bGVmaWxsc3Ryb2tlc3Ryb2tlX3dpZHRobGluZV9jYXBsaW5lX2pvaW5taXRlcl9saW1pdGxpbmVfZGFzaF9pbGluZV9kYXNoX2lpbGluZV9kYXNoX2lpaUVsbGlwc2VBcmdzeHlyYWRpdXNfeHJhZGl1c195UmVjdEFyZ3N3aWR0aGhlaWdodGNvcm5lcl9yYWRpdXOqCRAAagAAADUAAAAOAAAAAAAAAP//////////KBgQAEHAsMAAC80BQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGZhaWxlZCB0byBkZWNvZGUgUHJvdG9idWYgbWVzc2FnZTogAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgBBmLLAAAvdAgEAAAAvAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDJAxAAYAAAADoFAAAyAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAAzAAAAOAAAAMkDEABgAAAASAUAAEkAAABMYXlvdXRFcnJvcm92ZXJmbG93AFsCEABkAAAAvQIAAB0AAABbAhAAZAAAAKkCAAAVAAAAOQAAADoAAAA7AAAAPAAAAD0AAAAVChAAXgAAAKoAAAAFAAAAYWJvcnQAAAAVChAAXgAAAG4AAAAJAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxhedNycSO0gchL3WO3BlKAuaI/AAAADAAAAAQAAABAAAAAPwAAAAwAAAAEAAAAQQAAAEAAAAA8GhAAQgAAAEMAAABEAAAAQgAAAEUAQYC1wAALaQIAAAAAAAAABAAAANgEEAB1AAAAIAAAAAkAAADYBBAAdQAAACoAAAATAAAASwcQAGwAAABrBgAAGgAAAEsHEABsAAAAawYAADYAAABLBxAAbAAAAF4GAAAoAAAASwcQAGwAAABzBwAAPgBB9LXAAAu9GwEBAQECAgICAwMDAwQEBAQFBQUFAAAAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAgACAAJLBxAAbAAAANkHAABNAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBLBxAAbAAAADwGAAAtAAAASwcQAGwAAAA8BgAAGQAAAAEBAQAEAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAASwcQAGwAAACEBgAAIAAAAEsHEABsAAAAEQIAACgAAAAAAACAAEAAwAAgAKAAYADgABAAkABQANAAMACwAHAA8AAIAIgASADIACgAqABoAOgAGACYAFgA2AA4ALgAeAD4AAQAhABEAMQAJACkAGQA5AAUAJQAVADUADQAtAB0APQADACMAEwAzAAsAKwAbADsABwAnABcANwAPAC8AHwA/AACAIIAQgDCACIAogBiAOIAEgCSAFIA0gAyALIAcgDyAAoAigBKAMoAKgCqAGoA6gAaAJoAWgDaADoAugB6APoABgCGAEYAxgAmAKYAZgDmABYAlgBWANYANgC2AHYA9gAOAI4ATgDOAC4ArgBuAO4AHgCeAF4A3gA+AL4AfgD+AAEAgQBBAMEAIQChAGEA4QARAJEAUQDRADEAsQBxAPEACQCJAEkAyQApAKkAaQDpABkAmQBZANkAOQC5AHkA+QAFAIUARQDFACUApQBlAOUAFQCVAFUA1QA1ALUAdQD1AA0AjQBNAM0ALQCtAG0A7QAdAJ0AXQDdAD0AvQB9AP0AAwCDAEMAwwAjAKMAYwDjABMAkwBTANMAMwCzAHMA8wALAIsASwDLACsAqwBrAOsAGwCbAFsA2wA7ALsAewD7AAcAhwBHAMcAJwCnAGcA5wAXAJcAVwDXADcAtwB3APcADwCPAE8AzwAvAK8AbwDvAB8AnwBfAN8APwC/AH8A/4AAgICAQIDAgCCAoIBggOCAEICQgFCA0IAwgLCAcIDwgAiAiIBIgMiAKICogGiA6IAYgJiAWIDYgDiAuIB4gPiABICEgESAxIAkgKSAZIDkgBSAlIBUgNSANIC0gHSA9IAMgIyATIDMgCyArIBsgOyAHICcgFyA3IA8gLyAfID8gAKAgoBCgMKAIoCigGKA4oASgJKAUoDSgDKAsoBygPKACoCKgEqAyoAqgKqAaoDqgBqAmoBagNqAOoC6gHqA+oAGgIaARoDGgCaApoBmgOaAFoCWgFaA1oA2gLaAdoD2gA6AjoBOgM6ALoCugG6A7oAegJ6AXoDegD6AvoB+gP6AAYCBgEGAwYAhgKGAYYDhgBGAkYBRgNGAMYCxgHGA8YAJgImASYDJgCmAqYBpgOmAGYCZgFmA2YA5gLmAeYD5gAWAhYBFgMWAJYClgGWA5YAVgJWAVYDVgDWAtYB1gPWADYCNgE2AzYAtgK2AbYDtgB2AnYBdgN2APYC9gH2A/YADgIOAQ4DDgCOAo4BjgOOAE4CTgFOA04AzgLOAc4DzgAuAi4BLgMuAK4CrgGuA64AbgJuAW4DbgDuAu4B7gPuAB4CHgEeAx4AngKeAZ4DngBeAl4BXgNeAN4C3gHeA94APgI+AT4DPgC+Ar4BvgO+AH4CfgF+A34A/gL+Af4D/SwcQAGwAAACGAgAAHQAAAEsHEABsAAAAIgQAABQAAABLBxAAbAAAACMEAAASAAAAYXNzZXJ0aW9uIGZhaWxlZDogb3V0X3BvcyArIDMgPCBvdXRfc2xpY2UubGVuKCkASwcQAGwAAAA2BAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IChzb3VyY2VfcG9zICsgMykgJiBvdXRfYnVmX3NpemVfbWFzayA8IG91dF9zbGljZS5sZW4oKUsHEABsAAAANwQAAA0AAABLBxAAbAAAADkEAAAiAAAASwcQAGwAAAA6BAAAJgAAAEsHEABsAAAAOwQAACYAAABLBxAAbAAAAEQEAAAjAAAASwcQAGwAAABEBAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG91dF9wb3MgKyAxIDwgb3V0X3NsaWNlLmxlbigpAEsHEABsAAAARgQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiAoc291cmNlX3BvcyArIDEpICYgb3V0X2J1Zl9zaXplX21hc2sgPCBvdXRfc2xpY2UubGVuKClLBxAAbAAAAEcEAAANAAAASwcQAGwAAABIBAAAIgAAAEsHEABsAAAASAQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBvdXRfcG9zICsgMiA8IG91dF9zbGljZS5sZW4oKQBLBxAAbAAAAEwEAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogKHNvdXJjZV9wb3MgKyAyKSAmIG91dF9idWZfc2l6ZV9tYXNrIDwgb3V0X3NsaWNlLmxlbigpSwcQAGwAAABNBAAADQAAAEsHEABsAAAATgQAACIAAABLBxAAbAAAAE4EAAANAAAASwcQAGwAAABPBAAAJgAAAEsHEABsAAAATwQAAA0AAABLBxAAbAAAACwEAAAXAAAAZGVzdCBpcyBvdXQgb2YgYm91bmRzAAAACwYQAG4AAABCAQAAHAAAAAsGEABuAAAAdgEAADAAAADeBhAAbAAAAHwAAAARAAAA3gYQAGwAAACJAAAAEQAAAG1dy9YsUOtjeEGmV3Ebi7mauO6RURSWWM+WAOjSnxKKZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZXF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JvcGVyYXRpb24gc3VjY2Vzc2Z1bAAAAE0AAAAMAAAABAAAAE4AAABPAAAAUAAAAAAAAAAIAAAABAAAAFEAAABSAAAAUwAAAFQAAABVAAAAEAAAAAQAAABWAAAAVwAAAFgAAABZAAAAAAAAAAgAAAAEAAAAWgAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAACAJEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAAgCRAAKgAAALcEAAANAAAATQAAAAwAAAAEAAAAWwAAABAAAAARAAAAEgAAABAAAAAQAAAAEwAAABIAAAANAAAADgAAABUAAAAMAAAACwAAABUAAAAVAAAADwAAAA4AAAATAAAAJgAAADgAAAAZAAAAFwAAAAwAAAAJAAAACgAAABAAAAAXAAAADgAAAA4AAAANAAAAFAAAAAgAAAAbAAAADgAAABAAAAAWAAAAFQAAAAsAAAAWAAAADQAAAAsAAAALAAAAEwAAACQjEAA0IxAARSMQAFcjEABnIxAAdyMQAIojEACcIxAAqSMQALcjEADMIxAA2CMQAOMjEAD4IxAADSQQABwkEAAqJBAAPSQQAGMkEACbJBAAtCQQAMskEADXJBAA4CQQAOokEAD6JBAAESUQAB8lEAAtJRAAOiUQAE4lEABWJRAAcSUQAH8lEACPJRAApSUQALolEADFJRAA2yUQAOglEADzJRAA/iUQAEhhc2ggdGFibGUgY2FwYWNpdHkgb3ZlcmZsb3cOCBAAKgAAACUAAAAoAAAARXJyb3IAAABcAAAADAAAAAQAAABdAAAAXgAAAF8AQbzRwAALrgoBAAAAYAAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90AACAAxAASAAAAIoCAAAOAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAADPCBAAUAAAABwAAAAFAAAAAHAABwAtAQEBAgECAQFICzAVEAFlBwIGAgIBBCMBHhtbCzoJCQEYBAEJAQMBBSsDOwkqGAEgNwEBAQQIBAEDBwoCHQE6AQEBAgQIAQkBCgIaAQICOQEEAgQCAgMDAR4CAwELAjkBBAUBAgQBFAIWBgEBOgEBAgEECAEHAwoCHgE7AQEBDAEJASgBAwE3AQEDBQMBBAcCCwIdAToBAgIBAQMDAQQHAgsCHAI5AgEBAgQIAQkBCgIdAUgBBAECAwEBCAFRAQIHDAhiAQIJCwdJAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAgYBDwEAAwAEHAMdAh4CQAIBBwgBAgsJAS0DAQF1AiIBdgMEAgkBBgPbAgIBOgEBBwEBAQECCAYKAgEwLgIMFAQwCgQDJgkMAiAEAgY4AQECAwEBBTgIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCwEBLAMwAQIEAgICASQBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEQQUAAk0GRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkBAQgEAgFfAwIEBgECAZ0BAwgVAjkCAQEBAQwBCQEOBwMFQwECBgEBAgEBAwQDAQEOAlUIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECCGUBAQECBAEFAAkBAvUBCgQEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQLGAQEDAQHJBwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAxcBAAEGDwAMAwMABTsHAAE/BFEBCwIAAgAuAhcABQMGCAgCBx4ElAMANwQyCAEOARYFAQ8ABwERAgcBAgEFZAGgBwABPQQABP4C8wECAQcCBQEAB20HAGCA8AAAOQgQAEsAAAB+CwAAJgAAADkIEABLAAAAhwsAABoAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5Ob8FEABLAAAAVwIAAAUAAAAwMTIzNDU2Nzg5YWJjZGVmMHgwMTIzNDU2Nzg5QUJDREVGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQazcwAALMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMEBAQEBABB6tzAAAuZDlsuLi5ddXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgDAAhAAXwAAAFwDAAAFAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLGArKjDgK2+moCwCqCAtHvsgLgD+YDae/6A2/QEhNwEKYTckDSE4qw6hOS8YITrzHiFLQDShUx5h4VTwamFVT2/hVZ28YVYAz2FXZdGhVwDaIVgA4KFZruIhW+zk4VzQ6GFdIADuXvABf18ABgEBAwEEAgUHBwIICAkCCgULAg4EEAERAhIFExwUARUCFwIZDRwFHQgfASQBagRrAm4CrwOxArwCzwLRAtQM1QnWAtcC2gHgBeEC5gHnBOgC7iDwBPgC+gX7AQwnOz5OT4+enp97i5OWorK6hrEGBwk2PT5W89DRBBQYNjdWV3+qrq+9NeASh4mOngQNDhESKTE0OkVGSUpOT2RlioyNj7bBw8TGy9ZctrcbHAcICgsUFzY5Oqip2NkJN5CRqAcKOz5maY+SEW9fv+7vWmK5uvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/3+fs7//FxgQgIyUmKDM4OkhKTFBTVVZYWlxeYGNlZmtzeH1/iqSqr7DA0K6vbm/H3d6TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTgM0DIE3CRYKCBg7RTkDYwgJMBYFIQMbBRsmOARLBS8ECgcJB0AgJwQMCTYDOgUaBwQMB1BJNzMNMwcuCAoGJgMdCAKA0FIQBggJIS4IKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULQj4qBjsFCgZRBgEFEAMFC1kIAh1iHkgICoCmXiJFCwoGDRM6BgoGFBwsBBeAuTxkUwxICQpGRRtICFMNSQcKVghYIg4KBkYKHQNHSTcDDggKBjkHCgYsBAqA9hkHOwMdVQEPMg2Dm2Z1C4DEikxjDYQwEBYKj5sFgkeauTqGxoI5ByoEXAYmCkYKKAUTgbA6gMZbBTQsSwQ5BxFABQsHCZzWKSBhc6H9gTMPAR0GDgQIgYyJBGsFDQMJBxCPYID9A4G0BhcPEQ9HCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqA1isEAYDANggCgOCA9ylMBAoEAoMRREw9gMI8BgEEVQUbNAKBDiwEZAxWCoCuOB0NLAQJBwIOBoCag9kDEQMNA4DaBgwEAQ8MBDgICgYoCCwEAg4JJ4FYCB0DCwM7BB4ECgeA+4QFAAEDBQUGBgIHBggHCREKHAsZDBkNEA4MDwQQAxISEwkWARcEGAEZAxoJGwEcAh8WIAMrAi0LLgEwBDECMgGpAqoEqwj6AvsF/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1teX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx8/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6v3t9Nu7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHUmLi+nr7e/x8/X35oAQJeYMI8fzv9OT1pbBwgPECcv7u9ubzc9P0JFU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUgB4EcAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBRgMUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgZMFID0CDwDDwM+BTgIKwWC/xEYCC8RLQMiDiEPgIwEgpoWCxWIlAUvBTsHAg4YCYC+InQMgNYagRAFgOEJ8p4DNwmBXBSAuAiA3RQ8AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWCsyAqBkwEgI0EgL4DGwMPDbgHEABVAAAACgAAACsAAAC4BxAAVQAAABoAAAA2AAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyby4uUmVmQ2VsbCBhbHJlYWR5IGJvcnJvd2VkAEGM68AACwEEAHwJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjk0LjEgKGU0MDg5NDdiZiAyMDI2LTAzLTI1KQZ3YWxydXMGMC4yNi4xDHdhc20tYmluZGdlbhMwLjIuMTE3IChmYjQwM2NmZWYpAGsPdGFyZ2V0X2ZlYXR1cmVzBisPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50KwtidWxrLW1lbW9yeSsIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==",typeof document=="undefined"?require("url").pathToFileURL(__filename).href:jA&&jA.tagName.toUpperCase()==="SCRIPT"&&jA.src||new URL("gift-stage.cjs.js",document.baseURI).href));const A=iQ();(typeof B=="string"||typeof Request=="function"&&B instanceof Request||typeof URL=="function"&&B instanceof URL)&&(B=fetch(B));const{instance:I,module:g}=await sE(await B,A);return aQ(I)}const hE=Object.freeze(Object.defineProperty({__proto__:null,build_batch_vertices:_C,decode_svga:$C,decode_svga_payload:AE,decode_svga_payload_profiled:IE,default:tQ,inflate:gE,init:EQ,initSync:DE,take_svga_payload_profile:BE,triangulate_clip_polygons:QE},Symbol.toStringTag,{value:"Module"})),Dg="data:application/wasm;base64,AGFzbQEAAAAB5AIzYAJ/fwF/YAR/f39/AGADf39/AGACf38AYAN/f38Bf2AFf39/f38AYAF/AGABfwF/YAAAYAZ/f39/f38AYAR/f39/AX9gAAR/f39/YAABb2AFf39/f38Bf2ACf38Ef39/f2ACf38Bb2AGf39/f39/AX9gAn9/AX5gAAF/YAV/f31/fwBgBX9/fn9/AGAFf398f38AYAJ8fAF8YAADf39/YAACf39gAAF8YANvf28AYANvb28Bb2ADb29vAGACf28AYAFvAX9gA39/bwBgAXwBb2ABfgFvYAh/f39/f39/fwBgBn9/f3x8fABgCHx8fHx8fHx8AX9gA39/fgBgBn9/f31/fwBgBn9/f35/fwBgBn9/f3x/fwBgAn9/A39/f2AEf39/fwJ/f2AIf39/f29/f28Bf2AEf35/fwBgBH99f38AYAR/fH9/AGADf399AGAHf39/f39/fwBgAXwBf2ADf398AAKmBxAXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfbm93XzAwOGQ5Yjg0NjAwYjVjMTkAGRcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19zZXRfNmM2MGIyZThhZDBlOTM4MwAaFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX3NldF8wODQ2M2IxZGYzOGE3ZTI5ABsXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAdFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX25ld185OWNhYmFlNTAxYzBhOGEwAAwXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193YmdfbmV3X2YzYzlkZjRmMzhmM2Y3OTgADBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19uZXdfNGY5ZmFmYmIzOTA5YWY3MgAMFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfODFmYzc3Njc5YWY4M2JjNgADFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzJlNTliMWIzN2E5YTM0YzMADxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX3N0cmluZ19iMjliNWM1YTgwNjViYTFhAB4XLi9naWZ0X3N0YWdlX3dhc21fYmcuanM1X193YmdfX193YmluZGdlbl9jb3B5X3RvX3R5cGVkX2FycmF5X2E0ZGIzMzc3NTFlMGIzMjgAHxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAgXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMgX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDEAIBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMgAPFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACEDzAHKAQEiIwcBAgIJAAMEEAYCAgMDAQUECgAKACQREQMBBQICAAICAwQAEgMAAQIDBgABAAEABgEEAQEDBQAGCQUCCQkCBQIDAAIIASUCAwEGBQYCCQYFAQEFBQUFAQEACSYnKAUBAQIEBAUBBAAAAAcCAwEBBgIAAA0AAAoABg4ODikqKxAHDQUUExUGBgEKBAEIAgYWFgAAAwMDAwIALwMCMAIEAjEyBQASCgMAAQEDAAADAAACAgcHCAIEBAYMAAAIAwMABAADAAMHCAIECQJwAWZmbwCACAUDAQARBgkBfwFBgIDAAAsHugIPBm1lbW9yeQIAC2RlY29kZV9zdmdhAI4BE2RlY29kZV9zdmdhX3BheWxvYWQAjAEcZGVjb2RlX3N2Z2FfcGF5bG9hZF9wcm9maWxlZACLARl0YWtlX3N2Z2FfcGF5bG9hZF9wcm9maWxlAMsBB2luZmxhdGUAjQEUYnVpbGRfYmF0Y2hfdmVydGljZXMAkAEZdHJpYW5ndWxhdGVfY2xpcF9wb2x5Z29ucwCPAQRpbml0ANgBEV9fd2JpbmRnZW5fbWFsbG9jAIMBEl9fd2JpbmRnZW5fcmVhbGxvYwCIARVfX3diaW5kZ2VuX2V4dGVybnJlZnMBARlfX2V4dGVybnJl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IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIMQwAAAAAgBkEBcRshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIUQwAAAAAgBSgCEBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIcQwAAAAAgBSgCGBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIkQwAAAAAgBSgCIBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIsQwAAAAAgBSgCKBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAMAQsgBSgCMCIGQQJGDQIgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakECOgAAIAQgAUEBaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJq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IAcgBCAFIAooAgwRBAANASAAIA03AghBAA8LQQEhBiAAKAIAIgEgACgCBCIAIAsgAiADEIUBDQAgASAEIAUgACgCDBEEACEGCyAGC5QGAQV/IABBCGsiASAAQQRrKAIAIgNBeHEiAGohAgJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQeDvwAAoAgBGBEAgAigCBEEDcUEDRw0BQdjvwAAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxAzCwJAAkACQAJAAkAgAigCBCIDQQJxRQRAIAJB5O/AACgCAEYNAiACQeDvwAAoAgBGDQMgAiADQXhxIgIQMyABIAAgAmoiAEEBcjYCBCAAIAFqIAA2AgAgAUHg78AAKAIARw0BQdjvwAAgADYCAA8LIAIgA0F+cTYCBCABIABBAXI2AgQgACABaiAANgIACyAAQYACSQ0CIAEgABA3QQAhAUH478AAQfjvwAAoAgBBAWsiADYCACAADQRBwO3AACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0H478AAQf8fIAEgAUH/H00bNgIADwtB5O/AACABNgIAQdzvwABB3O/AACgCACAAaiIANgIAIAEgAEEBcjYCBEHg78AAKAIAIAFGBEBB2O/AAEEANgIAQeDvwABBADYCAAsgAEHw78AAKAIAIgNNDQNB5O/AACgCACICRQ0DQQAhAEHc78AAKAIAIgRBKUkNAkG47cAAIQEDQCACIAEoAgAiBU8EQCACIAUgASgCBGpJDQQLIAEoAgghAQwACwALQeDvwAAgATYCAEHY78AAQdjvwAAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsCQEHQ78AAKAIAIgJBASAAQQN2dCIDcUUEQEHQ78AAIAIgA3I2AgAgAEH4AXFByO3AAGoiACECDAELIABB+AFxIgBByO3AAGohAiAAQdDtwABqKAIAIQALIAIgATYCCCAAIAE2AgwgASACNgIMIAEgADYCCA8LQcDtwAAoAgAiAQRAA0AgAEEBaiEAIAEoAggiAQ0ACwtB+O/AAEH/HyAAIABB/x9NGzYCACADIARPDQBB8O/AAEF/NgIACwu2DgEHfyMAQSBrIgYkACAAAn8CQAJAAkACQAJAAkACQAJA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C0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECIC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fiMAQRBrIgEkACABQoCAgIDgByICIACthDcDCCABIAIgAEEEaq2ENwMAQaCBwAAgAUHcs8AAEIIBAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEHAzMAAIAEoAgQgASgCCCIALQAIIAAtAAkQSAALIABBgICAgHg2AgAgACABNgIMIABB3MzAACABKAIEIAEoAggiAC0ACCAALQAJEEgACy8AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARDMASIBRQ0BCyABDwsACz8AIAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQsAEPCyABKAIAIAEoAgQgACgCDCgCACIAKAIAIAAoAgQQJgs4AAJAIAJBgIDEAEYNACAAIAIgASgCEBEAAEUNAEEBDwsgA0UEQEEADwsgACADIAQgASgCDBEEAAtFAQF/QRhBBBDMASICRQRAQQRBGBDQAQALIAIgATYCFCACIAA2AhAgAkKAgICAgICAgIB/NwIIIAJCgICAgMAANwIAIAIL7QEBA38gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEHoPC0EAIQIjAEEQayIDJAAgACgCACEAA0AgAiADakEPaiAAQQ9xLQDa2kA6AAAgAkEBayECIABBD0sgAEEEdiEADQALIAFBAUHY2sAAQQIgAiADakEQakEAIAJrEBsgA0EQaiQADwtBACECIwBBEGsiAyQAIAAoAgAhAANAIAIgA2pBD2ogAEEPcS0AyNpAOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQQFB2NrAAEECIAIgA2pBEGpBACACaxAbIANBEGokAAsuAAJAIANpQQFHIAFBgICAgHggA2tLcg0AIAAgASADIAIQtwEiAEUNACAADwsACzkBAX9BASECAkAgACABED0NACABKAIAQenqwABBAiABKAIEKAIMEQQADQAgAEEEaiABED0hAgsgAgstAQF/IwBBEGsiASQAIAEgAUEPaq1CgICAgMAMhDcDAEHL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bmRleCDAFiBpcyBvdXQgb2YgYm91bmRzIG9mIGDAAWDAAAtieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAYpIG9mIGDAAWDAACJhZHZhbmNlIG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IGFkdmFuY2luZyBieSDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAACFjYW5ub3QgYWR2YW5jZSBwYXN0IGByZW1haW5pbmdgOiDABCA8PSDAABNpbnZhbGlkIGtleSB2YWx1ZTogwAAZaW52YWxpZCB3aXJlIHR5cGUgdmFsdWU6IMAAElNlcmlhbGl6ZSBmYWlsZWQ6IMAAEEluZmxhdGUgZmFpbGVkOiDAABhQcm90b2J1ZiBkZWNvZGUgZmFpbGVkOiDAAMACOiDAAHNyY1x2ZXJ0ZXgucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzX211dC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvc3RkL3NyYy9zeXMvdGhyZWFkX2xvY2FsL25vX3RocmVhZHMucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcb3V0cHV0X2J1ZmZlci5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXGZsYXRlMi0xLjEuOVxzcmNcYnVmcmVhZGVyLnJzAHNyY1xjbGlwLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXG1pbml6X294aWRlLTAuOC45XHNyY1xpbmZsYXRlXHN0cmVhbS5ycwBzcmNccHJvdG9idWYucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9pby9ib3Jyb3dlZF9idWYucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zlx3YXNtLWJpbmRnZW4tMC4yLjExN1xzcmNcZXh0ZXJucmVmLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcY29yZS5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTYuMS9zcmMvcmF3L21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9zdGQvc3JjL2lvL21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMS9zcmMvZGxtYWxsb2MucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxlYXJjdXQtMC40Ljlcc3JjXGxpYi5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHNlcmRlLXdhc20tYmluZGdlbi0wLjYuNVxzcmNcbGliLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcYnl0ZXMtMS4xMS4xXHNyY1xsaWIucnMAwCwgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlcgAmY29weV9mcm9tX3NsaWNlOiBzb3VyY2Ugc2xpY2UgbGVuZ3RoICjAKykgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICjAASkAwAsgKG9zIGVycm9yIMABKQATaW52YWxpZCB3aXJlIHR5cGU6IMALIChleHBlY3RlZCDAASkAwAEuwAI6IAByZWN0ZWxsaXBzZURlY29kZWRUcmFuc2Zvcm1hYmNkdHh0eURlY29kZWRTaGFwZVN0eWxlZmlsbHN0cm9rZXN0cm9rZV93aWR0aGxpbmVfY2FwbGluZV9qb2lubWl0ZXJfbGltaXRsaW5lX2Rhc2hTVkdBUGF5bG9hZFByb2ZpbGVpbnB1dEJ5dGVzb3V0cHV0Qnl0ZXNwcm9zdERlY29kZU1zbWV0YWRhdGFBbmRJbWFnZXNNc2ZyYW1lVGFibGVNc2ZpbmFsaXplTXNwYXlsb2FkQnVpbGRNc3J1c3RUb3RhbE1zaW1hZ2VCeXRlc2ltYWdlQ291bnRzcHJpdGVDb3VudGZyYW1lQ291bnRjZWxsQ291bnRjbGlwUGF0aENvdW50c2hhcGVDb3VudHNoYXBlR3JvdXBDb3VudHNoYXBlQnl0ZXN3cml0ZXJJbml0aWFsQ2FwYWNpdHl3cml0ZXJGaW5hbENhcGFjaXR5RGVjb2RlZFJlY3R4eXdpZHRoaGVpZ2h0Y29ybmVyX3JhZGl1c0RlY29kZWRBdWRpb2F1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVEZWNvZGVkQ29sb3JyZ0RlY29kZWRGcmFtZWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzRGVjb2RlZE1vdmlldmVyc2lvbnBhcmFtc2ltYWdlc3Nwcml0ZXNhdWRpb3NEZWNvZGVkU2hhcGVraW5kcGF0aF9kYXRhc3R5bGVEZWNvZGVkTGF5b3V0RGVjb2RlZFBhcmFtc3ZpZXdfYm94X3dpZHRodmlld19ib3hfaGVpZ2h0ZnBzZnJhbWVzRGVjb2RlZFNwcml0ZWltYWdlX2tleURlY29kZWRFbGxpcHNlcmFkaXVzX3hyYWRpdXNfeQAAAP//////////CA4QAEGgnMAAC/MDegYQAA8AAAABAwAAIwAAAHoGEAAPAAAAIAMAACkAAAB6BhAADwAAAAkDAAApAAAASwkQAF4AAACFAgAAKAAAAEsJEABeAAAAbgQAABwAAABLCRAAXgAAAN0CAAAhAAAASwkQAF4AAADpAAAAJgAAAEsJEABeAAAABgEAAB0AAABLCRAAXgAAAHoEAAAzAAAASwkQAF4AAAB7BAAAMwAAAGludmFsaWQgdGFnIHZhbHVlOiAwaW52YWxpZCB2YXJpbnRMYXlvdXR4eXdpZHRoaGVpZ2h0VHJhbnNmb3JtYWJjZHR4dHlBdWRpb0VudGl0eWF1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVGcmFtZUVudGl0eWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzTW92aWVFbnRpdHl2ZXJzaW9ucGFyYW1zaW1hZ2Vzc3ByaXRlc2F1ZGlvc01vdmllUGFyYW1zdmlld19ib3hfd2lkdGh2aWV3X2JveF9oZWlnaHRmcHNmcmFtZXNTaGFwZUVudGl0eXIjdHlwZXNoYXBlcmVjdGVsbGlwc2VzdHlsZXNTcHJpdGVFbnRpdHlpbWFnZV9rZXn//////////wgQEABBoKDAAAuDCk1hcCBrZXkgaXMgbm90IGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgYW4gb2JqZWN0IGtleWludmFsaWQgdGFnIHZhbHVlOiAwZGVsaW1pdGVkIGxlbmd0aCBleGNlZWRlZGJ1ZmZlciB1bmRlcmZsb3dyZWN1cnNpb24gbGltaXQgcmVhY2hlZHVuZXhwZWN0ZWQgZW5kIGdyb3VwIHRhZ2ludmFsaWQgdmFyaW50AAAAiQQQAE4AAABxBwAAEQAAAERhdGEgdG9vIHNob3J0IGZvciB6bGlicmVjdXJzaW9uIGxpbWl0IHJlYWNoZWQAAE0CEAANAAAAHAAAABgAAABNAhAADQAAAB0AAAAYAAAATQIQAA0AAAAeAAAAEQAAAE0CEAANAAAAHwAAABEAAABNAhAADQAAACAAAAARAAAATQIQAA0AAAAhAAAAEQAAAE0CEAANAAAAIgAAABIAAABNAhAADQAAACMAAAASAAAATQIQAA0AAAAkAAAAFQAAAE0CEAANAAAAJQAAABgAAABNAhAADQAAACYAAAAYAAAATQIQAA0AAAAnAAAAGAAAAE0CEAANAAAAKAAAABgAAABNAhAADQAAADYAAAAJAAAATQIQAA0AAAA3AAAACQAAAE0CEAANAAAAOAAAAAkAAABNAhAADQAAADkAAAAJAAAATQIQAA0AAAA6AAAACQAAAE0CEAANAAAAOwAAAAkAAABNAhAADQAAADwAAAAJAAAATQIQAA0AAAA9AAAACQAAAE0CEAANAAAAPgAAAAkAAABNAhAADQAAAEIAAAAJAAAATQIQAA0AAABDAAAACQAAAE0CEAANAAAARAAAAAkAAABNAhAADQAAAEUAAAAJAAAATQIQAA0AAABGAAAACQAAAE0CEAANAAAARwAAAAkAAABNAhAADQAAAEgAAAAJAAAATQIQAA0AAABJAAAACQAAAE0CEAANAAAASgAAAAkAAABNAhAADQAAAE4AAAAJAAAATQIQAA0AAABPAAAACQAAAE0CEAANAAAAUAAAAAkAAABNAhAADQAAAFEAAAAJAAAATQIQAA0AAABSAAAACQAAAE0CEAANAAAAUwAAAAkAAABNAhAADQAAAFQAAAAJAAAATQIQAA0AAABVAAAACQAAAE0CEAANAAAAVgAAAAkAAABNAhAADQAAAFoAAAAJAAAATQIQAA0AAABbAAAACQAAAE0CEAANAAAAXAAAAAkAAABNAhAADQAAAF0AAAAJAAAATQIQAA0AAABeAAAACQAAAE0CEAANAAAAXwAAAAkAAABNAhAADQAAAGAAAAAJAAAATQIQAA0AAABhAAAACQAAAE0CEAANAAAAYgAAAAkAAABNAhAADQAAAGYAAAAJAAAATQIQAA0AAABnAAAACQAAAE0CEAANAAAAaAAAAAkAAABNAhAADQAAAGkAAAAJAAAATQIQAA0AAABqAAAACQAAAE0CEAANAAAAawAAAAkAAAB6BhAADwAAAFYCAAASAAAAegYQAA8AAABcAgAADwAAAHoGEAAPAAAAYwIAABwAAACzBRAACwAAABsAAAAeAAAAswUQAAsAAAAdAAAAHwAAAG1pZCA+IGxlbgAAACADEABfAAAASgAAAB8AAAAgAxAAXwAAAEQAAAAXAAAAAQAAAAAAAADJAxAAYAAAAMMCAAAJAAAAAAAAAP//////////GBUQAEGwqsAAC4MGQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABidWZmZXIgdW5kZXJmbG93aW52YWxpZCBzdHJpbmcgdmFsdWU6IGRhdGEgaXMgbm90IFVURi04IGVuY29kZWRpbnZhbGlkIHZhcmludGNvcnJ1cHQgZGVmbGF0ZSBzdHJlYW1WYXJpbnRTaXh0eUZvdXJCaXRMZW5ndGhEZWxpbWl0ZWRTdGFydEdyb3VwRW5kR3JvdXBUaGlydHlUd29CaXQAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAOMVEADpFRAA9RUQAAQWEAAOFhAAFhYQAGJ1ZmZlciB1bmRlcmZsb3dpbnZhbGlkIHZhcmludHJlY3Vyc2lvbiBsaW1pdCByZWFjaGVkVmFyaW50U2l4dHlGb3VyQml0TGVuZ3RoRGVsaW1pdGVkU3RhcnRHcm91cEVuZEdyb3VwVGhpcnR5VHdvQml0TgUQAGQAAABiAAAAFQAAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAIkWEACPFhAAmxYQAKoWEAC0FhAAvBYQAGFzc2VydGlvbiBmYWlsZWQ6IG4gPD0gc2VsZi5idWYuaW5pdCAtIHNlbGYuYnVmLmZpbGxlZAAAigYQAFMAAAAVAQAACQAAAIUIEABJAAAAsgEAADEAAABSZ2JhQ29sb3JyZ2JhU2hhcGVBcmdzZFNoYXBlU3R5bGVmaWxsc3Ryb2tlc3Ryb2tlX3dpZHRobGluZV9jYXBsaW5lX2pvaW5taXRlcl9saW1pdGxpbmVfZGFzaF9pbGluZV9kYXNoX2lpbGluZV9kYXNoX2lpaUVsbGlwc2VBcmdzeHlyYWRpdXNfeHJhZGl1c195UmVjdEFyZ3N3aWR0aGhlaWdodGNvcm5lcl9yYWRpdXOqCRAAagAAADUAAAAOAAAAAAAAAP//////////KBgQAEHAsMAAC80BQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGZhaWxlZCB0byBkZWNvZGUgUHJvdG9idWYgbWVzc2FnZTogAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgBBmLLAAAvdAgEAAAAvAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDJAxAAYAAAADoFAAAyAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAAzAAAAOAAAAMkDEABgAAAASAUAAEkAAABMYXlvdXRFcnJvcm92ZXJmbG93AFsCEABkAAAAvQIAAB0AAABbAhAAZAAAAKkCAAAVAAAAOQAAADoAAAA7AAAAPAAAAD0AAAAVChAAXgAAAKoAAAAFAAAAYWJvcnQAAAAVChAAXgAAAG4AAAAJAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxhedNycSO0gchL3WO3BlKAuaI/AAAADAAAAAQAAABAAAAAPwAAAAwAAAAEAAAAQQAAAEAAAAA8GhAAQgAAAEMAAABEAAAAQgAAAEUAQYC1wAALaQIAAAAAAAAABAAAANgEEAB1AAAAIAAAAAkAAADYBBAAdQAAACoAAAATAAAASwcQAGwAAABrBgAAGgAAAEsHEABsAAAAawYAADYAAABLBxAAbAAAAF4GAAAoAAAASwcQAGwAAABzBwAAPgBB9LXAAAu9GwEBAQECAgICAwMDAwQEBAQFBQUFAAAAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAgACAAJLBxAAbAAAANkHAABNAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBLBxAAbAAAADwGAAAtAAAASwcQAGwAAAA8BgAAGQAAAAEBAQAEAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAASwcQAGwAAACEBgAAIAAAAEsHEABsAAAAEQIAACgAAAAAAACAAEAAwAAgAKAAYADgABAAkABQANAAMACwAHAA8AAIAIgASADIACgAqABoAOgAGACYAFgA2AA4ALgAeAD4AAQAhABEAMQAJACkAGQA5AAUAJQAVADUADQAtAB0APQADACMAEwAzAAsAKwAbADsABwAnABcANwAPAC8AHwA/AACAIIAQgDCACIAogBiAOIAEgCSAFIA0gAyALIAcgDyAAoAigBKAMoAKgCqAGoA6gAaAJoAWgDaADoAugB6APoABgCGAEYAxgAmAKYAZgDmABYAlgBWANYANgC2AHYA9gAOAI4ATgDOAC4ArgBuAO4AHgCeAF4A3gA+AL4AfgD+AAEAgQBBAMEAIQChAGEA4QARAJEAUQDRADEAsQBxAPEACQCJAEkAyQApAKkAaQDpABkAmQBZANkAOQC5AHkA+QAFAIUARQDFACUApQBlAOUAFQCVAFUA1QA1ALUAdQD1AA0AjQBNAM0ALQCtAG0A7QAdAJ0AXQDdAD0AvQB9AP0AAwCDAEMAwwAjAKMAYwDjABMAkwBTANMAMwCzAHMA8wALAIsASwDLACsAqwBrAOsAGwCbAFsA2wA7ALsAewD7AAcAhwBHAMcAJwCnAGcA5wAXAJcAVwDXADcAtwB3APcADwCPAE8AzwAvAK8AbwDvAB8AnwBfAN8APwC/AH8A/4AAgICAQIDAgCCAoIBggOCAEICQgFCA0IAwgLCAcIDwgAiAiIBIgMiAKICogGiA6IAYgJiAWIDYgDiAuIB4gPiABICEgESAxIAkgKSAZIDkgBSAlIBUgNSANIC0gHSA9IAMgIyATIDMgCyArIBsgOyAHICcgFyA3IA8gLyAfID8gAKAgoBCgMKAIoCigGKA4oASgJKAUoDSgDKAsoBygPKACoCKgEqAyoAqgKqAaoDqgBqAmoBagNqAOoC6gHqA+oAGgIaARoDGgCaApoBmgOaAFoCWgFaA1oA2gLaAdoD2gA6AjoBOgM6ALoCugG6A7oAegJ6AXoDegD6AvoB+gP6AAYCBgEGAwYAhgKGAYYDhgBGAkYBRgNGAMYCxgHGA8YAJgImASYDJgCmAqYBpgOmAGYCZgFmA2YA5gLmAeYD5gAWAhYBFgMWAJYClgGWA5YAVgJWAVYDVgDWAtYB1gPWADYCNgE2AzYAtgK2AbYDtgB2AnYBdgN2APYC9gH2A/YADgIOAQ4DDgCOAo4BjgOOAE4CTgFOA04AzgLOAc4DzgAuAi4BLgMuAK4CrgGuA64AbgJuAW4DbgDuAu4B7gPuAB4CHgEeAx4AngKeAZ4DngBeAl4BXgNeAN4C3gHeA94APgI+AT4DPgC+Ar4BvgO+AH4CfgF+A34A/gL+Af4D/SwcQAGwAAACGAgAAHQAAAEsHEABsAAAAIgQAABQAAABLBxAAbAAAACMEAAASAAAAYXNzZXJ0aW9uIGZhaWxlZDogb3V0X3BvcyArIDMgPCBvdXRfc2xpY2UubGVuKCkASwcQAGwAAAA2BAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IChzb3VyY2VfcG9zICsgMykgJiBvdXRfYnVmX3NpemVfbWFzayA8IG91dF9zbGljZS5sZW4oKUsHEABsAAAANwQAAA0AAABLBxAAbAAAADkEAAAiAAAASwcQAGwAAAA6BAAAJgAAAEsHEABsAAAAOwQAACYAAABLBxAAbAAAAEQEAAAjAAAASwcQAGwAAABEBAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG91dF9wb3MgKyAxIDwgb3V0X3NsaWNlLmxlbigpAEsHEABsAAAARgQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiAoc291cmNlX3BvcyArIDEpICYgb3V0X2J1Zl9zaXplX21hc2sgPCBvdXRfc2xpY2UubGVuKClLBxAAbAAAAEcEAAANAAAASwcQAGwAAABIBAAAIgAAAEsHEABsAAAASAQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBvdXRfcG9zICsgMiA8IG91dF9zbGljZS5sZW4oKQBLBxAAbAAAAEwEAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogKHNvdXJjZV9wb3MgKyAyKSAmIG91dF9idWZfc2l6ZV9tYXNrIDwgb3V0X3NsaWNlLmxlbigpSwcQAGwAAABNBAAADQAAAEsHEABsAAAATgQAACIAAABLBxAAbAAAAE4EAAANAAAASwcQAGwAAABPBAAAJgAAAEsHEABsAAAATwQAAA0AAABLBxAAbAAAACwEAAAXAAAAZGVzdCBpcyBvdXQgb2YgYm91bmRzAAAACwYQAG4AAABCAQAAHAAAAAsGEABuAAAAdgEAADAAAADeBhAAbAAAAHwAAAARAAAA3gYQAGwAAACJAAAAEQAAAG1dy9YsUOtjeEGmV3Ebi7mauO6RURSWWM+WAOjSnxKKZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZXF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JvcGVyYXRpb24gc3VjY2Vzc2Z1bAAAAE0AAAAMAAAABAAAAE4AAABPAAAAUAAAAAAAAAAIAAAABAAAAFEAAABSAAAAUwAAAFQAAABVAAAAEAAAAAQAAABWAAAAVwAAAFgAAABZAAAAAAAAAAgAAAAEAAAAWgAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAACAJEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFk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XAYmCkYKKAUTgbA6gMZbBTQsSwQ5BxFABQsHCZzWKSBhc6H9gTMPAR0GDgQIgYyJBGsFDQMJBxCPYID9A4G0BhcPEQ9HCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqA1isEAYDANggCgOCA9ylMBAoEAoMRREw9gMI8BgEEVQUbNAKBDiwEZAxWCoCuOB0NLAQJBwIOBoCag9kDEQMNA4DaBgwEAQ8MBDgICgYoCCwEAg4JJ4FYCB0DCwM7BB4ECgeA+4QFAAEDBQUGBgIHBggHCREKHAsZDBkNEA4MDwQQAxISEwkWARcEGAEZAxoJGwEcAh8WIAMrAi0LLgEwBDECMgGpAqoEqwj6AvsF/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1teX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx8/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6v3t9Nu7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHUmLi+nr7e/x8/X35oAQJeYMI8fzv9OT1pbBwgPECcv7u9ubzc9P0JFU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUgB4EcAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBRgMUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgZMFID0CDwDDwM+BTgIKwWC/xEYCC8RLQMiDiEPgIwEgpoWCxWIlAUvBTsHAg4YCYC+InQMgNYagRAFgOEJ8p4DNwmBXBSAuAiA3RQ8AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWCsyAqBkwEgI0EgL4DGwMPDbgHEABVAAAACgAAACsAAAC4BxAAVQAAABoAAAA2AAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyby4uUmVmQ2VsbCBhbHJlYWR5IGJvcnJvd2VkAEGM68AACwEEAHwJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjk0LjEgKGU0MDg5NDdiZiAyMDI2LTAzLTI1KQZ3YWxydXMGMC4yNi4xDHdhc20tYmluZGdlbhMwLjIuMTE3IChmYjQwM2NmZWYpAGsPdGFyZ2V0X2ZlYXR1cmVzBisPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50KwtidWxrLW1lbW9yeSsIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==";let j=null,uI=null;function wB(){return typeof performance!="undefined"?performance.now():Date.now()}function wE(){var B;const A=globalThis.process;return(B=A==null?void 0:A.versions)!=null&&B.node&&Dg.startsWith("/")?new URL(Object.assign({})[`../..${Dg}`],typeof document=="undefined"?require("url").pathToFileURL(__filename).href:jA&&jA.tagName.toUpperCase()==="SCRIPT"&&jA.src||new URL("gift-stage.cjs.js",document.baseURI).href):Dg}function _A(){return j!==null}async function sQ(){return j?!0:uI||(uI=(async()=>{try{return await tQ({module_or_path:wE()}),EQ(),j=hE,!0}catch(B){return console.warn("[GiftStage] WASM unavailable, using JS fallback:",B),!1}})(),uI)}function nE(B){if(!j)return null;try{return j.inflate(B)}catch(A){return null}}function rE(B){if(!j)return null;try{return GE(j.decode_svga(B))}catch(A){return null}}function cE(B){if(!j)return null;try{return j.decode_svga_payload(B)}catch(A){return null}}function FE(B){if(!j)return null;try{const A=wB(),I=typeof j.decode_svga_payload_profiled=="function"?j.decode_svga_payload_profiled(B):j.decode_svga_payload(B),g=wB()-A,Q=typeof j.take_svga_payload_profile=="function"?j.take_svga_payload_profile():null,C=Q&&typeof Q=="object"?Q:null;return{payload:I,profile:C?{...C,jsCallTotalMs:g,wasmBoundaryAndGlueMs:Math.max(0,g-C.rustTotalMs)}:void 0}}catch(A){return null}}function hg(B,A,I){if(!j)return null;try{return j.build_batch_vertices(B,A,I)}catch(g){return null}}function GE(B){var A,I,g,Q,C,E,o;const i=B.params,e=i?{viewBoxWidth:(A=i.view_box_width)!=null?A:0,viewBoxHeight:(I=i.view_box_height)!=null?I:0,fps:(g=i.fps)!=null?g:20,frames:(Q=i.frames)!=null?Q:0}:{viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0},a=new Map,t=B.images;if(t instanceof Map)for(const[h,w]of t)a.set(h,w instanceof Uint8Array?w:new Uint8Array(w));else if(t&&typeof t=="object")for(const[h,w]of Object.entries(t))a.set(h,w instanceof Uint8Array?w:new Uint8Array(w));const s=((C=B.sprites)!=null?C:[]).map(RE),D=((E=B.audios)!=null?E:[]).map(h=>{var w,r,F,n,c;return{audioKey:(w=h.audio_key)!=null?w:"",startFrame:(r=h.start_frame)!=null?r:0,endFrame:(F=h.end_frame)!=null?F:0,startTime:(n=h.start_time)!=null?n:0,totalTime:(c=h.total_time)!=null?c:0}});return{version:(o=B.version)!=null?o:"",params:e,images:a,spriteTable:CQ(s,e.frames),audios:D}}function RE(B){var A,I;let g=null;const Q=((A=B.frames)!=null?A:[]).map(C=>{var E,o,i,e,a,t,s,D,h,w,r;const F=Array.isArray(C.shapes)?C.shapes:[];let n;return F.length===0?(g=null,n=null):((E=F[0])==null?void 0:E.kind)==="keep"?n=g:(n=NE(F),g=n),{alpha:(o=C.alpha)!=null?o:0,layout:C.layout?{width:(i=C.layout.width)!=null?i:0,height:(e=C.layout.height)!=null?e:0}:null,transform:C.transform?{a:(a=C.transform.a)!=null?a:1,b:(t=C.transform.b)!=null?t:0,c:(s=C.transform.c)!=null?s:0,d:(D=C.transform.d)!=null?D:1,tx:(h=C.transform.tx)!=null?h:0,ty:(w=C.transform.ty)!=null?w:0}:null,clipPath:(r=C.clip_path)!=null?r:"",shapes:n}});return{imageKey:(I=B.image_key)!=null?I:"",frames:Q}}function nB(B){var A,I,g,Q;return B?{r:(A=B.r)!=null?A:0,g:(I=B.g)!=null?I:0,b:(g=B.b)!=null?g:0,a:(Q=B.a)!=null?Q:0}:null}function yE(B){var A,I,g,Q,C,E;const o=(A=B==null?void 0:B.line_dash)!=null?A:B==null?void 0:B.lineDash;return{fill:nB(B==null?void 0:B.fill),stroke:nB(B==null?void 0:B.stroke),strokeWidth:(g=(I=B==null?void 0:B.stroke_width)!=null?I:B==null?void 0:B.strokeWidth)!=null?g:0,lineCap:(Q=B==null?void 0:B.line_cap)!=null?Q:B==null?void 0:B.lineCap,lineJoin:(C=B==null?void 0:B.line_join)!=null?C:B==null?void 0:B.lineJoin,miterLimit:(E=B==null?void 0:B.miter_limit)!=null?E:B==null?void 0:B.miterLimit,lineDash:Array.isArray(o)&&o.length>0?o:void 0}}function ME(B){var A,I,g,Q,C,E;return{a:(A=B==null?void 0:B.a)!=null?A:1,b:(I=B==null?void 0:B.b)!=null?I:0,c:(g=B==null?void 0:B.c)!=null?g:0,d:(Q=B==null?void 0:B.d)!=null?Q:1,tx:(C=B==null?void 0:B.tx)!=null?C:0,ty:(E=B==null?void 0:B.ty)!=null?E:0}}function NE(B){var A,I,g,Q,C,E,o,i,e,a,t,s,D;if(!Array.isArray(B)||B.length===0)return null;const h=[];for(const w of B){const r=w==null?void 0:w.kind;if(r!=="path"&&r!=="rect"&&r!=="ellipse")continue;const F={kind:r,pathData:(A=w.path_data)!=null?A:w.pathData,rect:w.rect?{x:(I=w.rect.x)!=null?I:0,y:(g=w.rect.y)!=null?g:0,width:(Q=w.rect.width)!=null?Q:0,height:(C=w.rect.height)!=null?C:0,cornerRadius:(o=(E=w.rect.corner_radius)!=null?E:w.rect.cornerRadius)!=null?o:0}:void 0,ellipse:w.ellipse?{x:(i=w.ellipse.x)!=null?i:0,y:(e=w.ellipse.y)!=null?e:0,radiusX:(t=(a=w.ellipse.radius_x)!=null?a:w.ellipse.radiusX)!=null?t:0,radiusY:(D=(s=w.ellipse.radius_y)!=null?s:w.ellipse.radiusY)!=null?D:0}:void 0,style:yE(w.style),transform:ME(w.transform)};h.push(F)}return h.length>0?h:null}var lE=Object.defineProperty,SE=(B,A,I)=>A in B?lE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,wg=(B,A,I)=>SE(B,typeof A!="symbol"?A+"":A,I);class DQ{constructor(){wg(this,"floatPoolA",null),wg(this,"floatPoolB",null),wg(this,"uint32Pool",null)}getFloat32(A){var I,g;if(!this.floatPoolA||this.floatPoolA.length<A){const Q=Math.max(A,((g=(I=this.floatPoolA)==null?void 0:I.length)!=null?g:0)*2,1024);this.floatPoolA=new Float32Array(Q)}return this.floatPoolA}getFloat32B(A){var I,g;if(!this.floatPoolB||this.floatPoolB.length<A){const Q=Math.max(A,((g=(I=this.floatPoolB)==null?void 0:I.length)!=null?g:0)*2,1024);this.floatPoolB=new Float32Array(Q)}return this.floatPoolB}getUint32(A){var I,g;if(!this.uint32Pool||this.uint32Pool.length<A){const Q=Math.max(A,((g=(I=this.uint32Pool)==null?void 0:I.length)!=null?g:0)*2,1024);this.uint32Pool=new Uint32Array(Q)}return this.uint32Pool}destroy(){this.floatPoolA=null,this.floatPoolB=null,this.uint32Pool=null}}function JA(B,A,I,g,Q,C){const E=1/(B-A),o=1/(I-g),i=1/(Q-C),e=new Float32Array(16);return e[0]=-2*E,e[5]=-2*o,e[10]=2*i,e[12]=(B+A)*E,e[13]=(g+I)*o,e[14]=(Q+C)*i,e[15]=1,e}function sA(B,A,I){return B+(A-B)*I}function vI(B,A,I){return B<A?A:B>I?I:B}let kE=0;function hQ(){return`gift_${++kE}_${Date.now().toString(36)}`}const zI=8;function wQ(B){if(!B||B.trim().length===0)return[];const A=[];let I=[],g=0,Q=0,C=0,E=0,o=0,i=0;const e=UE(B);let a=0;function t(){return a<e.length?parseFloat(e[a++]):0}for(;a<e.length;)switch(e[a++]){case"M":for(I.length>0&&(A.push(I),I=[]),g=t(),Q=t(),C=g,E=Q,I.push({x:g,y:Q});a<e.length&&!isNaN(parseFloat(e[a]));)g=t(),Q=t(),I.push({x:g,y:Q});break;case"m":for(I.length>0&&(A.push(I),I=[]),g+=t(),Q+=t(),C=g,E=Q,I.push({x:g,y:Q});a<e.length&&!isNaN(parseFloat(e[a]));)g+=t(),Q+=t(),I.push({x:g,y:Q});break;case"L":for(;a<e.length&&!isNaN(parseFloat(e[a]));)g=t(),Q=t(),I.push({x:g,y:Q});break;case"l":for(;a<e.length&&!isNaN(parseFloat(e[a]));)g+=t(),Q+=t(),I.push({x:g,y:Q});break;case"H":for(;a<e.length&&!isNaN(parseFloat(e[a]));)g=t(),I.push({x:g,y:Q});break;case"h":for(;a<e.length&&!isNaN(parseFloat(e[a]));)g+=t(),I.push({x:g,y:Q});break;case"V":for(;a<e.length&&!isNaN(parseFloat(e[a]));)Q=t(),I.push({x:g,y:Q});break;case"v":for(;a<e.length&&!isNaN(parseFloat(e[a]));)Q+=t(),I.push({x:g,y:Q});break;case"C":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=t(),h=t(),w=t(),r=t(),F=t(),n=t();HI(I,g,Q,D,h,w,r,F,n),o=w,i=r,g=F,Q=n}break}case"c":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),h=Q+t(),w=g+t(),r=Q+t(),F=g+t(),n=Q+t();HI(I,g,Q,D,h,w,r,F,n),o=w,i=r,g=F,Q=n}break}case"S":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,h=2*Q-i,w=t(),r=t(),F=t(),n=t();HI(I,g,Q,D,h,w,r,F,n),o=w,i=r,g=F,Q=n}break}case"s":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,h=2*Q-i,w=g+t(),r=Q+t(),F=g+t(),n=Q+t();HI(I,g,Q,D,h,w,r,F,n),o=w,i=r,g=F,Q=n}break}case"Q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=t(),h=t(),w=t(),r=t();rB(I,g,Q,D,h,w,r),o=D,i=h,g=w,Q=r}break}case"q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),h=Q+t(),w=g+t(),r=Q+t();rB(I,g,Q,D,h,w,r),o=D,i=h,g=w,Q=r}break}case"Z":case"z":g=C,Q=E,I.length>0&&(A.push(I),I=[]);break}return I.length>0&&A.push(I),A}function UE(B){return B.replace(/([A-Za-z])/g," $1 ").replace(/,/g," ").trim().split(/\s+/).filter(A=>A.length>0)}function HI(B,A,I,g,Q,C,E,o,i){for(let e=1;e<=zI;e++){const a=e/zI,t=1-a,s=t*t,D=a*a;B.push({x:s*t*A+3*s*a*g+3*t*D*C+D*a*o,y:s*t*I+3*s*a*Q+3*t*D*E+D*a*i})}}function rB(B,A,I,g,Q,C,E){for(let o=1;o<=zI;o++){const i=o/zI,e=1-i;B.push({x:e*e*A+2*e*i*g+i*i*C,y:e*e*I+2*e*i*Q+i*i*E})}}function YE(B){const A=B.length;if(A<3)return[];if(A===3)return[0,1,2];const I=[],g=Array.from({length:A},(o,i)=>i),C=dE(B)>0;let E=A*A;for(;g.length>3&&E-- >0;){let o=!1;const i=g.length;for(let e=0;e<i;e++){const a=g[(e-1+i)%i],t=g[e],s=g[(e+1)%i],D=B[a],h=B[t],w=B[s],r=(h.x-D.x)*(w.y-D.y)-(h.y-D.y)*(w.x-D.x);if(!(C?r>0:r<0))continue;let n=!1;for(let c=0;c<i;c++)if(!(c===(e-1+i)%i||c===e||c===(e+1)%i)&&KE(B[g[c]],D,h,w)){n=!0;break}if(!n){C?I.push(a,t,s):I.push(a,s,t),g.splice(e,1),o=!0;break}}if(!o)break}if(g.length===3){const[o,i,e]=g;C?I.push(o,i,e):I.push(o,e,i)}return I}function dE(B){let A=0;const I=B.length;for(let g=0;g<I;g++){const Q=(g+1)%I;A+=B[g].x*B[Q].y,A-=B[Q].x*B[g].y}return A*.5}function KE(B,A,I,g){const Q=ng(B,A,I),C=ng(B,I,g),E=ng(B,g,A),o=Q<0||C<0||E<0,i=Q>0||C>0||E>0;return!(o&&i)}function ng(B,A,I){return(B.x-I.x)*(A.y-I.y)-(A.x-I.x)*(B.y-I.y)}function wA(B){var A;return(A=B.options.objectFit)!=null?A:"contain"}function fA(B,A,I,g){const Q=g!=null?g:{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0},C=B.width*B.scale,E=B.height*B.scale,o=wA(B);if(!(A>0)||!(I>0))return Q.scaleX=1,Q.scaleY=1,Q.width=C,Q.height=E,Q.offsetX=0,Q.offsetY=0,Q;if(o==="fill")return Q.scaleX=C/A,Q.scaleY=E/I,Q.width=C,Q.height=E,Q.offsetX=0,Q.offsetY=0,Q;const i=o==="cover"?Math.max(C/A,E/I):Math.min(C/A,E/I),e=A*i,a=I*i;return Q.scaleX=i,Q.scaleY=i,Q.width=e,Q.height=a,Q.offsetX=o==="cover"?(C-e)*.5:0,Q.offsetY=o==="cover"?(E-a)*.5:0,Q}function JE(B,A,I=2){const g=B.length;let Q=fE(B,0,g,I,!0);const C=[];if(!Q||Q.next===Q.prev)return C;let E,o,i;if(B.length>80*I){E=B[0],o=B[1];let e=E,a=o;for(let t=I;t<g;t+=I){const s=B[t],D=B[t+1];s<E&&(E=s),D<o&&(o=D),s>e&&(e=s),D>a&&(a=D)}i=Math.max(e-E,a-o),i=i!==0?32767/i:0}return NI(Q,C,I,E,o,i,0),C}function fE(B,A,I,g,Q){let C;if(Q===VE(B,A,I,g)>0)for(let E=A;E<I;E+=g)C=cB(E/g|0,B[E],B[E+1],C);else for(let E=I-g;E>=A;E-=g)C=cB(E/g|0,B[E],B[E+1],C);return C&&eg(C,C.next)&&(lI(C),C=C.next),C}function MI(B,A){if(!B)return B;A||(A=B);let I=B,g;do if(g=!1,!I.steiner&&(eg(I,I.next)||V(I.prev,I,I.next)===0)){if(lI(I),I=A=I.prev,I===I.next)break;g=!0}else I=I.next;while(g||I!==A);return A}function NI(B,A,I,g,Q,C,E){if(!B)return;!E&&C&&pE(B,g,Q,C);let o=B;for(;B.prev!==B.next;){const i=B.prev,e=B.next;if(C?uE(B,g,Q,C):LE(B)){A.push(i.i,B.i,e.i),lI(B),B=e.next,o=e.next;continue}if(B=e,B===o){E?E===1?(B=HE(MI(B),A),NI(B,A,I,g,Q,C,2)):E===2&&qE(B,A,I,g,Q,C):NI(MI(B),A,I,g,Q,C,1);break}}}function LE(B){const A=B.prev,I=B,g=B.next;if(V(A,I,g)>=0)return!1;const Q=A.x,C=I.x,E=g.x,o=A.y,i=I.y,e=g.y,a=Math.min(Q,C,E),t=Math.min(o,i,e),s=Math.max(Q,C,E),D=Math.max(o,i,e);let h=g.next;for(;h!==A;){if(h.x>=a&&h.x<=s&&h.y>=t&&h.y<=D&&aI(Q,o,C,i,E,e,h.x,h.y)&&V(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function uE(B,A,I,g){const Q=B.prev,C=B,E=B.next;if(V(Q,C,E)>=0)return!1;const o=Q.x,i=C.x,e=E.x,a=Q.y,t=C.y,s=E.y,D=Math.min(o,i,e),h=Math.min(a,t,s),w=Math.max(o,i,e),r=Math.max(a,t,s),F=qg(D,h,A,I,g),n=qg(w,r,A,I,g);let c=B.prevZ,G=B.nextZ;for(;c&&c.z>=F&&G&&G.z<=n;){if(c.x>=D&&c.x<=w&&c.y>=h&&c.y<=r&&c!==Q&&c!==E&&aI(o,a,i,t,e,s,c.x,c.y)&&V(c.prev,c,c.next)>=0||(c=c.prevZ,G.x>=D&&G.x<=w&&G.y>=h&&G.y<=r&&G!==Q&&G!==E&&aI(o,a,i,t,e,s,G.x,G.y)&&V(G.prev,G,G.next)>=0))return!1;G=G.nextZ}for(;c&&c.z>=F;){if(c.x>=D&&c.x<=w&&c.y>=h&&c.y<=r&&c!==Q&&c!==E&&aI(o,a,i,t,e,s,c.x,c.y)&&V(c.prev,c,c.next)>=0)return!1;c=c.prevZ}for(;G&&G.z<=n;){if(G.x>=D&&G.x<=w&&G.y>=h&&G.y<=r&&G!==Q&&G!==E&&aI(o,a,i,t,e,s,G.x,G.y)&&V(G.prev,G,G.next)>=0)return!1;G=G.nextZ}return!0}function HE(B,A){let I=B;do{const g=I.prev,Q=I.next.next;!eg(g,Q)&&nQ(g,I,I.next,Q)&&_I(g,Q)&&_I(Q,g)&&(A.push(g.i,I.i,Q.i),lI(I),lI(I.next),I=B=Q),I=I.next}while(I!==B);return MI(I)}function qE(B,A,I,g,Q,C){let E=B;do{let o=E.next.next;for(;o!==E.prev;){if(E.i!==o.i&&bE(E,o)){let i=ZE(E,o);E=MI(E,E.next),i=MI(i,i.next),NI(E,A,I,g,Q,C,0),NI(i,A,I,g,Q,C,0);return}o=o.next}E=E.next}while(E!==B)}function pE(B,A,I,g){let Q=B;do Q.z===0&&(Q.z=qg(Q.x,Q.y,A,I,g)),Q.prevZ=Q.prev,Q.nextZ=Q.next,Q=Q.next;while(Q!==B);Q.prevZ.nextZ=null,Q.prevZ=null,mE(Q)}function mE(B){let A,I=1;do{let g=B,Q;B=null;let C=null;for(A=0;g;){A++;let E=g,o=0;for(let e=0;e<I&&(o++,E=E.nextZ,!!E);e++);let i=I;for(;o>0||i>0&&E;)o!==0&&(i===0||!E||g.z<=E.z)?(Q=g,g=g.nextZ,o--):(Q=E,E=E.nextZ,i--),C?C.nextZ=Q:B=Q,Q.prevZ=C,C=Q;g=E}C.nextZ=null,I*=2}while(A>1);return B}function qg(B,A,I,g,Q){return B=(B-I)*Q|0,A=(A-g)*Q|0,B=(B|B<<8)&16711935,B=(B|B<<4)&252645135,B=(B|B<<2)&858993459,B=(B|B<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,B|A<<1}function xE(B,A,I,g,Q,C,E,o){return(Q-E)*(A-o)>=(B-E)*(C-o)&&(B-E)*(g-o)>=(I-E)*(A-o)&&(I-E)*(C-o)>=(Q-E)*(g-o)}function aI(B,A,I,g,Q,C,E,o){return!(B===E&&A===o)&&xE(B,A,I,g,Q,C,E,o)}function bE(B,A){return B.next.i!==A.i&&B.prev.i!==A.i&&!TE(B,A)&&(_I(B,A)&&_I(A,B)&&WE(B,A)&&(V(B.prev,B,A.prev)||V(B,A.prev,A))||eg(B,A)&&V(B.prev,B,B.next)>0&&V(A.prev,A,A.next)>0)}function V(B,A,I){return(A.y-B.y)*(I.x-A.x)-(A.x-B.x)*(I.y-A.y)}function eg(B,A){return B.x===A.x&&B.y===A.y}function nQ(B,A,I,g){const Q=pI(V(B,A,I)),C=pI(V(B,A,g)),E=pI(V(I,g,B)),o=pI(V(I,g,A));return!!(Q!==C&&E!==o||Q===0&&qI(B,I,A)||C===0&&qI(B,g,A)||E===0&&qI(I,B,g)||o===0&&qI(I,A,g))}function qI(B,A,I){return A.x<=Math.max(B.x,I.x)&&A.x>=Math.min(B.x,I.x)&&A.y<=Math.max(B.y,I.y)&&A.y>=Math.min(B.y,I.y)}function pI(B){return B>0?1:B<0?-1:0}function TE(B,A){let I=B;do{if(I.i!==B.i&&I.next.i!==B.i&&I.i!==A.i&&I.next.i!==A.i&&nQ(I,I.next,B,A))return!0;I=I.next}while(I!==B);return!1}function _I(B,A){return V(B.prev,B,B.next)<0?V(B,A,B.next)>=0&&V(B,B.prev,A)>=0:V(B,A,B.prev)<0||V(B,B.next,A)<0}function WE(B,A){let I=B,g=!1;const Q=(B.x+A.x)/2,C=(B.y+A.y)/2;do I.y>C!=I.next.y>C&&I.next.y!==I.y&&Q<(I.next.x-I.x)*(C-I.y)/(I.next.y-I.y)+I.x&&(g=!g),I=I.next;while(I!==B);return g}function ZE(B,A){const I=pg(B.i,B.x,B.y),g=pg(A.i,A.x,A.y),Q=B.next,C=A.prev;return B.next=A,A.prev=B,I.next=Q,Q.prev=I,g.next=I,I.prev=g,C.next=g,g.prev=C,g}function cB(B,A,I,g){const Q=pg(B,A,I);return g?(Q.next=g.next,Q.prev=g,g.next.prev=Q,g.next=Q):(Q.prev=Q,Q.next=Q),Q}function lI(B){B.next.prev=B.prev,B.prev.next=B.next,B.prevZ&&(B.prevZ.nextZ=B.nextZ),B.nextZ&&(B.nextZ.prevZ=B.prevZ)}function pg(B,A,I){return{i:B,x:A,y:I,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function VE(B,A,I,g){let Q=0;for(let C=A,E=I-g;C<I;C+=g)Q+=(B[E]-B[C])*(B[C+1]+B[E+1]),E=C;return Q}function vE(B,A){const I=wQ(B);if(I.length===0)return null;const g=[],Q=[],C=[];for(const i of I)if(!(i.length<3)){C.push(i);for(const e of i)g.push(e.x,e.y),Q.push(e.x,e.y)}if(g.length===0)return null;const E=[];let o=0;for(const i of C){const e=[];for(const t of i)e.push(t.x,t.y);const a=JE(e,void 0,2);for(const t of a)E.push(t+o);o+=i.length}return E.length===0?null:{vertices:new Float32Array(g),indices:new Uint32Array(E)}}const rQ=`function RA(A, I, g = 2) {
688
+ `,x={svgaBatchPremul:{vert:sC,frag:eB},svgaInstancedPremul:{vert:DC,frag:eB},vap:{vert:hC,frag:tB},vapMixOverlay:{vert:nC,frag:wC},vapInstanced:{vert:yC,frag:tB},alphaVideo:{vert:rC,frag:aB},alphaVideoInstanced:{vert:GC,frag:aB},rgbaTextured:{vert:cC,frag:FC},clipMask:{vert:RC,frag:MC}},BA={svgaBatchPremul:lC,svgaInstancedPremul:fC,vap:NC,vapMixOverlay:SC,vapInstanced:YC,alphaVideo:kC,alphaVideoInstanced:UC,rgbaTextured:dC,clipMask:KC};var JC=Object.defineProperty,LC=(B,A,I)=>A in B?JC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,k=(B,A,I)=>LC(B,typeof A!="symbol"?A+"":A,I);const sB=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),uC=new Float32Array([0,0,1,1]),HC=16*1024*1024;function ng(B,A){const I=Math.max(1,Math.floor(A));return Math.ceil(Math.max(0,B)/I)*I}const IA=class ${constructor(A,I,g=!0){k(this,"type","webgpu"),k(this,"canvas"),k(this,"maxTextureSize"),k(this,"adapter"),k(this,"device"),k(this,"context"),k(this,"format"),k(this,"encoder",null),k(this,"passEncoder",null),k(this,"nextId",1),k(this,"buffers",new Map),k(this,"textures",new Map),k(this,"pipelines",new Map),k(this,"sampler"),k(this,"uniformBuffer"),k(this,"texturedBindGroupLayout"),k(this,"dualTexturedBindGroupLayout"),k(this,"instancedTextureBindGroupLayout"),k(this,"uniformOnlyBindGroupLayout"),k(this,"uniformSlotStride",256),k(this,"maxUniformSlots",8192),k(this,"uniformSlotIndex",0),k(this,"uniformShadow",new Uint8Array(this.uniformSlotStride*this.maxUniformSlots)),k(this,"uniformShadowDirtyMin",1/0),k(this,"uniformShadowDirtyMax",0),k(this,"lastDrawPipeline",null),k(this,"lastStencilRef",-1),k(this,"frameUsesStencil",!1),k(this,"lastVertexBufferId",-1),k(this,"lastIndexBufferId",-1),k(this,"uniformScratch160",new Float32Array(40)),k(this,"uniformScratch128",new Float32Array(32)),k(this,"uniformOpacityScratch",new Float32Array(4)),k(this,"depthStencilTexture",null),k(this,"depthStencilView",null),k(this,"msaaColorTexture",null),k(this,"msaaColorView",null),k(this,"lastCanvasWidth",0),k(this,"lastCanvasHeight",0),k(this,"lastDepthStencilSampleCount",0),k(this,"msaaSampleCount",1),k(this,"wantAntialias"),k(this,"configuredCanvasWidth",0),k(this,"configuredCanvasHeight",0),k(this,"dummyTexture"),k(this,"dummyTextureView"),k(this,"videoUploadCanvas",null),k(this,"videoUploadCtx",null),k(this,"videoElementPreferCanvasBridge",!1),k(this,"videoFramePreferCanvasBridge",!1),k(this,"texturedBindGroupCache",new Map),k(this,"dualTexturedBindGroupCache",new Map),k(this,"instancedTextureBindGroupCache",new Map),k(this,"instancedProjectionBuffer",null),k(this,"instancedStorageBuffer",null),k(this,"storageBindOffsetAlign",256),k(this,"instancedStorageRingOffset",0),k(this,"instancedProjectionCache",new Float32Array(16)),k(this,"instancedProjectionValid",!1),k(this,"lastInstancedTextureBindGroup",null),this.canvas=A,this.adapter=I,this.maxTextureSize=I.limits.maxTextureDimension2D,this.wantAntialias=g}async init(){this.device=await this.adapter.requestDevice(),this.device.onuncapturederror=A=>{console.error("[WebGPU Error]",A.error.message)},this.context=this.canvas.getContext("webgpu"),this.format=navigator.gpu.getPreferredCanvasFormat(),this.msaaSampleCount=this.wantAntialias?4:1,this.configureCanvasContext(),this.sampler=this.device.createSampler({magFilter:"linear",minFilter:"linear"}),this.uniformSlotStride=this.device.limits.minUniformBufferOffsetAlignment,this.storageBindOffsetAlign=this.device.limits.minStorageBufferOffsetAlignment,this.uniformBuffer=this.device.createBuffer({size:this.uniformSlotStride*this.maxUniformSlots,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.uniformShadow=new Uint8Array(this.uniformSlotStride*this.maxUniformSlots),this.dummyTexture=this.device.createTexture({size:[1,1],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING}),this.dummyTextureView=this.dummyTexture.createView(),this.initPipelines()}configureCanvasContext(){this.context.configure({device:this.device,format:this.format,alphaMode:"premultiplied"}),this.configuredCanvasWidth=this.canvas.width,this.configuredCanvasHeight=this.canvas.height}ensureFrameAttachments(A,I,g){var Q,C;(this.lastCanvasWidth!==A||this.lastCanvasHeight!==I||this.lastDepthStencilSampleCount!==this.msaaSampleCount)&&((Q=this.depthStencilTexture)==null||Q.destroy(),this.depthStencilTexture=null,this.depthStencilView=null,(C=this.msaaColorTexture)==null||C.destroy(),this.msaaColorTexture=null,this.msaaColorView=null,this.msaaSampleCount>1&&(this.msaaColorTexture=this.device.createTexture({size:[A,I],format:this.format,sampleCount:this.msaaSampleCount,usage:GPUTextureUsage.RENDER_ATTACHMENT}),this.msaaColorView=this.msaaColorTexture.createView()),this.lastCanvasWidth=A,this.lastCanvasHeight=I,this.lastDepthStencilSampleCount=this.msaaSampleCount),g&&!this.depthStencilTexture&&(this.depthStencilTexture=this.device.createTexture({size:[A,I],format:"depth24plus-stencil8",sampleCount:this.msaaSampleCount,usage:GPUTextureUsage.RENDER_ATTACHMENT}),this.depthStencilView=this.depthStencilTexture.createView())}initPipelines(){const A=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform",hasDynamicOffset:!0,minBindingSize:160}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,sampler:{}}]});this.texturedBindGroupLayout=A;const I=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX|GPUShaderStage.FRAGMENT,buffer:{type:"uniform",hasDynamicOffset:!0,minBindingSize:160}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:3,visibility:GPUShaderStage.FRAGMENT,sampler:{}}]});this.dualTexturedBindGroupLayout=I,this.instancedTextureBindGroupLayout=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,texture:{}},{binding:1,visibility:GPUShaderStage.FRAGMENT,sampler:{}}]});const g=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!0,minBindingSize:128}}]});this.uniformOnlyBindGroupLayout=g,this.createTexturedPipeline("svga-batch-premul:none",BA.svgaBatchPremul,A,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"none"),this.createTexturedPipeline("vap:none",BA.vap,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"},{shaderLocation:2,offset:16,format:"float32x2"}],24,"none"),this.createTexturedPipeline("vap-mix-overlay:none",BA.vapMixOverlay,I,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none",2),this.createTexturedPipeline("alpha-video:none",BA.alphaVideo,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none"),this.createTexturedPipeline("rgba-textured:none",BA.rgbaTextured,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none")}ensureStencilPipelines(){this.pipelines.has("svga-batch-premul:pass")||this.createTexturedPipeline("svga-batch-premul:pass",BA.svgaBatchPremul,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"pass"),this.pipelines.has("svga-batch-premul:test")||this.createTexturedPipeline("svga-batch-premul:test",BA.svgaBatchPremul,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"test"),this.pipelines.has("vap:pass")||this.createTexturedPipeline("vap:pass",BA.vap,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"},{shaderLocation:2,offset:16,format:"float32x2"}],24,"pass"),this.pipelines.has("vap-mix-overlay:pass")||this.createTexturedPipeline("vap-mix-overlay:pass",BA.vapMixOverlay,this.dualTexturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"pass",2);for(const[A,I]of[["alpha-video:pass",BA.alphaVideo],["rgba-textured:pass",BA.rgbaTextured]])this.pipelines.has(A)||this.createTexturedPipeline(A,I,this.texturedBindGroupLayout,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"pass");this.pipelines.has("clip-mask:write")||this.createClipMaskPipeline(this.uniformOnlyBindGroupLayout)}ensureInstancedProjectionBuffer(){return this.instancedProjectionBuffer||(this.instancedProjectionBuffer=this.device.createBuffer({size:256,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),this.instancedProjectionValid=!1),this.instancedProjectionBuffer}ensureInstancedStorageBuffer(){return this.instancedStorageBuffer||(this.instancedStorageBuffer=this.device.createBuffer({size:HC,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST})),this.instancedStorageBuffer}ensureInstancedSvgaPipeline(A="none"){const I=`svga-instanced-premul:${A}`;let g=this.pipelines.get(I);return g||(this.createInstancedSvgaPipeline(I,BA.svgaInstancedPremul,A),g=this.pipelines.get(I)),g}ensureInstancedAlphaPipeline(){const A=this.frameUsesStencil?"pass":"none",I=`alpha-video-instanced:${A}`;let g=this.pipelines.get(I);return g||(this.createInstancedAlphaVideoPipeline(A),g=this.pipelines.get(I)),g}ensureInstancedVapPipeline(){const A=this.frameUsesStencil?"pass":"none",I=`vap-instanced:${A}`;let g=this.pipelines.get(I);return g||(this.createVapInstancedPipeline(A),g=this.pipelines.get(I)),g}createInstancedSvgaPipeline(A,I,g){const Q=this.ensureInstancedProjectionBuffer(),C=this.ensureInstancedStorageBuffer(),E=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!1,minBindingSize:64}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage",hasDynamicOffset:!0,minBindingSize:$.SVGA_INSTANCED_STRIDE}}]}),o=this.instancedTextureBindGroupLayout,i=this.device.createShaderModule({code:I}),e=g==="test"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilReadMask:255,stencilWriteMask:0}:g==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,t=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[E,o]}),vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:i,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:e,multisample:{count:this.msaaSampleCount}});this.pipelines.set(A,{pipeline:t,bindGroupLayout:E,instancedDataBindGroup:this.device.createBindGroup({layout:E,entries:[{binding:0,resource:{buffer:Q,offset:0,size:256}},{binding:1,resource:{buffer:C,offset:0,size:$.INSTANCED_SVGA_CHUNK_BYTES}}]}),textureCount:1})}createVapInstancedPipeline(A){const I=this.ensureInstancedProjectionBuffer(),g=this.ensureInstancedStorageBuffer(),Q=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!1,minBindingSize:64}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage",hasDynamicOffset:!0,minBindingSize:$.VAP_INSTANCED_STRIDE}}]}),C=this.instancedTextureBindGroupLayout,E=this.device.createShaderModule({code:BA.vapInstanced}),o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[Q,C]}),vertex:{module:E,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:E,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:A==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,multisample:{count:this.msaaSampleCount}});this.pipelines.set(`vap-instanced:${A}`,{pipeline:o,bindGroupLayout:Q,instancedDataBindGroup:this.device.createBindGroup({layout:Q,entries:[{binding:0,resource:{buffer:I,offset:0,size:256}},{binding:1,resource:{buffer:g,offset:0,size:$.INSTANCED_VAP_CHUNK_BYTES}}]}),textureCount:1})}createInstancedAlphaVideoPipeline(A){const I=this.ensureInstancedProjectionBuffer(),g=this.ensureInstancedStorageBuffer(),Q=this.device.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.VERTEX,buffer:{type:"uniform",hasDynamicOffset:!1,minBindingSize:64}},{binding:1,visibility:GPUShaderStage.VERTEX,buffer:{type:"read-only-storage",hasDynamicOffset:!0,minBindingSize:$.ALPHA_INSTANCED_STRIDE}}]}),C=this.instancedTextureBindGroupLayout,E=this.device.createShaderModule({code:BA.alphaVideoInstanced}),o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[Q,C]}),vertex:{module:E,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:E,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:A==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,multisample:{count:this.msaaSampleCount}});this.pipelines.set(`alpha-video-instanced:${A}`,{pipeline:o,bindGroupLayout:Q,instancedDataBindGroup:this.device.createBindGroup({layout:Q,entries:[{binding:0,resource:{buffer:I,offset:0,size:256}},{binding:1,resource:{buffer:g,offset:0,size:$.INSTANCED_ALPHA_CHUNK_BYTES}}]}),textureCount:1})}createTexturedPipeline(A,I,g,Q,C,E,o=1){const i=this.device.createShaderModule({code:I}),e=E==="test"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"equal",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilReadMask:255,stencilWriteMask:0}:E==="pass"?{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"keep",failOp:"keep",depthFailOp:"keep"},stencilWriteMask:0}:void 0,t=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[g]}),vertex:{module:i,entryPoint:"vs",buffers:[{arrayStride:C,attributes:Q}]},fragment:{module:i,entryPoint:"fs",targets:[{format:this.format,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},primitive:{topology:"triangle-list"},depthStencil:e,multisample:{count:this.msaaSampleCount}});this.pipelines.set(A,{pipeline:t,bindGroupLayout:g,textureCount:o})}createClipMaskPipeline(A){const I=this.device.createShaderModule({code:BA.clipMask}),g=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[A]}),vertex:{module:I,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:I,entryPoint:"fs",targets:[{format:this.format,writeMask:0}]},primitive:{topology:"triangle-list"},depthStencil:{format:"depth24plus-stencil8",depthWriteEnabled:!1,depthCompare:"always",stencilFront:{compare:"always",passOp:"replace",failOp:"keep",depthFailOp:"keep"},stencilBack:{compare:"always",passOp:"replace",failOp:"keep",depthFailOp:"keep"},stencilReadMask:255,stencilWriteMask:255},multisample:{count:this.msaaSampleCount}});this.pipelines.set("clip-mask:write",{pipeline:g,bindGroupLayout:A,textureCount:0})}beginFrame(A={}){const I=this.canvas.width,g=this.canvas.height;(I!==this.configuredCanvasWidth||g!==this.configuredCanvasHeight)&&this.configureCanvasContext();const Q=A.stencil===!0;this.frameUsesStencil=Q,this.ensureFrameAttachments(I,g,Q),Q&&this.ensureStencilPipelines(),this.encoder=this.device.createCommandEncoder();const C=this.context.getCurrentTexture().createView(),E=this.msaaSampleCount>1&&this.msaaColorView?{view:this.msaaColorView,resolveTarget:C,clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:"discard"}:{view:C,clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:"store"};this.uniformSlotIndex=0,this.instancedStorageRingOffset=0,this.uniformShadowDirtyMin=1/0,this.uniformShadowDirtyMax=0,this.lastDrawPipeline=null,this.lastStencilRef=-1,this.lastVertexBufferId=-1,this.lastIndexBufferId=-1,this.lastInstancedTextureBindGroup=null;const o={colorAttachments:[E]};Q&&(o.depthStencilAttachment={view:this.depthStencilView,stencilClearValue:0,stencilLoadOp:"clear",stencilStoreOp:"discard",depthClearValue:1,depthLoadOp:"clear",depthStoreOp:"discard"}),this.passEncoder=this.encoder.beginRenderPass(o)}endFrame(){this.passEncoder&&this.passEncoder.end(),this.flushUniformShadow(),this.encoder&&this.device.queue.submit([this.encoder.finish()]),this.passEncoder=null,this.encoder=null}flushUniformShadow(){if(this.uniformShadowDirtyMax<=this.uniformShadowDirtyMin)return;const A=this.uniformShadow,I=this.uniformShadowDirtyMin,g=this.uniformShadowDirtyMax;this.device.queue.writeBuffer(this.uniformBuffer,I,A.buffer,A.byteOffset+I,g-I),this.uniformShadowDirtyMin=1/0,this.uniformShadowDirtyMax=0}writeUniformShadow(A,I,g){this.uniformShadow.set(new Uint8Array(I.buffer,I.byteOffset,g),A),A<this.uniformShadowDirtyMin&&(this.uniformShadowDirtyMin=A);const Q=A+g;Q>this.uniformShadowDirtyMax&&(this.uniformShadowDirtyMax=Q)}ensureInstancedProjection(A){if(A.length<16)return;if(this.instancedProjectionValid){let g=!0;for(let Q=0;Q<16;Q++)if(this.instancedProjectionCache[Q]!==A[Q]){g=!1;break}if(g)return}const I=this.ensureInstancedProjectionBuffer();this.instancedProjectionCache.set(A.length===16?A:A.subarray(0,16)),this.instancedProjectionValid=!0,this.device.queue.writeBuffer(I,0,A.buffer,A.byteOffset,64)}gpuBufferUsage(A){let I=GPUBufferUsage.COPY_DST;return A==="vertex"?I|=GPUBufferUsage.VERTEX:A==="index"?I|=GPUBufferUsage.INDEX:I|=GPUBufferUsage.UNIFORM,I}bufferSourceByteLength(A){return ArrayBuffer.isView(A),A.byteLength}mappedUploadView(A){if(A instanceof ArrayBuffer)return new Uint8Array(A);if(typeof SharedArrayBuffer!="undefined"&&A instanceof SharedArrayBuffer)return new Uint8Array(new Uint8Array(A));const I=A,g=new Uint8Array(I.buffer,I.byteOffset,I.byteLength);return typeof SharedArrayBuffer!="undefined"&&I.buffer instanceof SharedArrayBuffer?new Uint8Array(g):g}writeBufferSource(A,I,g){if(g instanceof ArrayBuffer){this.device.queue.writeBuffer(A,I,g);return}if(typeof SharedArrayBuffer!="undefined"&&g instanceof SharedArrayBuffer){this.device.queue.writeBuffer(A,I,new Uint8Array(new Uint8Array(g)));return}const Q=g;if(typeof SharedArrayBuffer!="undefined"&&Q.buffer instanceof SharedArrayBuffer){this.device.queue.writeBuffer(A,I,new Uint8Array(new Uint8Array(Q.buffer,Q.byteOffset,Q.byteLength)));return}this.device.queue.writeBuffer(A,I,Q.buffer,Q.byteOffset,Q.byteLength)}createBuffer(A,I){const g=this.mappedUploadView(A),Q=this.device.createBuffer({size:Math.max(g.byteLength,4),usage:this.gpuBufferUsage(I),mappedAtCreation:!0});new Uint8Array(Q.getMappedRange()).set(g),Q.unmap();const C=this.nextId++;return this.buffers.set(C,{buffer:Q,usage:I}),{id:C,usage:I}}updateBuffer(A,I,g=0){const Q=this.buffers.get(A.id);if(!Q)return;const C=Math.max(0,Math.floor(g)),E=this.bufferSourceByteLength(I),o=Math.max(4,C+E);o>Q.buffer.size&&(Q.buffer.destroy(),Q.buffer=this.device.createBuffer({size:o,usage:this.gpuBufferUsage(Q.usage)}),Q.usage==="vertex"&&this.lastVertexBufferId===A.id&&(this.lastVertexBufferId=-1),Q.usage==="index"&&this.lastIndexBufferId===A.id&&(this.lastIndexBufferId=-1)),this.writeBufferSource(Q.buffer,C,I)}deleteBuffer(A){const I=this.buffers.get(A.id);I&&(I.buffer.destroy(),this.buffers.delete(A.id))}copyHtmlVideoToTextureDirect(A,I,g,Q){if(this.videoElementPreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A},[I,g]),!0}catch(C){return this.videoElementPreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(<video>) failed; using canvas bridge.",C),!1}}copyVideoFrameToTextureDirect(A,I,g,Q){if(this.videoFramePreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A},[I,g]),!0}catch(C){return this.videoFramePreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(VideoFrame) failed; using canvas bridge.",C),!1}}drawVideoLikeSourceToTexture(A,I,g,Q){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const C=this.videoUploadCanvas,E=this.videoUploadCtx;E&&((C.width!==I||C.height!==g)&&(C.width=I,C.height=g),E.drawImage(Q,0,0,I,g),this.device.queue.copyExternalImageToTexture({source:C,flipY:!0},{texture:A},[I,g]))}copyImageSourceToTexture(A,I,g,Q,C=!1){if(typeof VideoFrame!="undefined"&&Q instanceof VideoFrame){const E=Q,o=E.displayWidth||E.codedWidth,i=E.displayHeight||E.codedHeight;if(!o||!i||!I||!g||this.copyVideoFrameToTextureDirect(A,I,g,E))return;this.drawVideoLikeSourceToTexture(A,I,g,E);return}if(Q instanceof HTMLVideoElement){const E=Q,o=E.videoWidth,i=E.videoHeight;if(E.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!o||!i||!I||!g)return;if(E.readyState<HTMLMediaElement.HAVE_ENOUGH_DATA){this.drawVideoLikeSourceToTexture(A,I,g,E);return}if(this.copyHtmlVideoToTextureDirect(A,I,g,E))return;this.drawVideoLikeSourceToTexture(A,I,g,E);return}this.device.queue.copyExternalImageToTexture({source:Q},{texture:A,premultipliedAlpha:C},[I,g])}createTexture(A,I){var g,Q;const C=(g=I.width)!=null?g:1,E=(Q=I.height)!=null?Q:1,o=this.device.createTexture({size:[C,E],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});A instanceof ArrayBuffer?this.device.queue.writeTexture({texture:o},A,{bytesPerRow:C*4},[C,E]):this.copyImageSourceToTexture(o,C,E,A,I.premultiplyAlpha===!0);const i=this.nextId++;return this.textures.set(i,{texture:o,view:o.createView(),width:C,height:E}),{id:i,width:C,height:E}}createEmptyTexture(A,I,g={}){const Q=Math.max(1,Math.floor(A)),C=Math.max(1,Math.floor(I)),E=this.device.createTexture({size:[Q,C],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT}),o=this.nextId++;return this.textures.set(o,{texture:E,view:E.createView(),width:Q,height:C}),{id:o,width:Q,height:C}}updateTexture(A,I){const g=this.textures.get(A.id);g&&this.copyImageSourceToTexture(g.texture,g.width,g.height,I)}updateTextureRegion(A,I,g,Q,C,E){const o=this.textures.get(A.id);if(!o)return;const i={texture:o.texture,origin:{x:Math.floor(g),y:Math.floor(Q)}};if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const s=I,D=s.displayWidth||s.codedWidth,h=s.displayHeight||s.codedHeight;if(!D||!h)return;const n=C!=null?C:D,c=E!=null?E:h;if(n!==D||c!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,n,c,s,i.origin.x,i.origin.y);return}if(this.copyVideoFrameToTextureRegionDirect(o.texture,D,h,s,i.origin.x,i.origin.y))return;this.drawVideoLikeSourceToTextureRegion(o.texture,D,h,s,i.origin.x,i.origin.y);return}if(I instanceof HTMLVideoElement){const s=I,D=s.videoWidth,h=s.videoHeight;if(s.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!D||!h)return;const n=C!=null?C:D,c=E!=null?E:h;if(n!==D||c!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,n,c,s,i.origin.x,i.origin.y);return}if(s.readyState<HTMLMediaElement.HAVE_ENOUGH_DATA){this.drawVideoLikeSourceToTextureRegion(o.texture,D,h,s,i.origin.x,i.origin.y);return}if(this.copyHtmlVideoToTextureRegionDirect(o.texture,D,h,s,i.origin.x,i.origin.y))return;this.drawVideoLikeSourceToTextureRegion(o.texture,D,h,s,i.origin.x,i.origin.y);return}const e=I,t=C!=null?C:e.width,a=E!=null?E:e.height;if(t!==e.width||a!==e.height){this.drawVideoLikeSourceToTextureRegion(o.texture,t,a,e,i.origin.x,i.origin.y);return}this.device.queue.copyExternalImageToTexture({source:e},i,[e.width,e.height])}copyHtmlVideoToTextureRegionDirect(A,I,g,Q,C,E){if(this.videoElementPreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A,origin:{x:C,y:E}},[I,g]),!0}catch(o){return this.videoElementPreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(<video> region) failed; using canvas bridge.",o),!1}}copyVideoFrameToTextureRegionDirect(A,I,g,Q,C,E){if(this.videoFramePreferCanvasBridge)return!1;try{return this.device.queue.copyExternalImageToTexture({source:Q,flipY:!0},{texture:A,origin:{x:C,y:E}},[I,g]),!0}catch(o){return this.videoFramePreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(VideoFrame region) failed; using canvas bridge.",o),!1}}drawVideoLikeSourceToTextureRegion(A,I,g,Q,C,E){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const o=this.videoUploadCanvas,i=this.videoUploadCtx;i&&((o.width!==I||o.height!==g)&&(o.width=I,o.height=g),i.drawImage(Q,0,0,I,g),this.device.queue.copyExternalImageToTexture({source:o,flipY:!0},{texture:A,origin:{x:C,y:E}},[I,g]))}deleteTexture(A){const I=this.textures.get(A.id);if(I){I.texture.destroy(),this.textures.delete(A.id),this.texturedBindGroupCache.delete(A.id),this.dualTexturedBindGroupCache.delete(A.id);for(const[g,Q]of this.dualTexturedBindGroupCache)Q.delete(A.id),Q.size===0&&this.dualTexturedBindGroupCache.delete(g);this.instancedTextureBindGroupCache.delete(A.id)}}draw(A){var I,g,Q,C,E,o,i;if(!this.passEncoder)return;if(A.shader==="svga-instanced-premul"){this.drawInstancedSvga(A);return}if(A.shader==="alpha-video-instanced"){this.drawInstancedAlpha(A);return}if(A.shader==="vap-instanced"){this.drawInstancedVap(A);return}const e=(I=A.stencil)!=null?I:"none",t=A.shader==="clip-mask"||e==="clear"?"clip-mask:write":`${A.shader}:${e==="none"&&this.frameUsesStencil?"pass":e}`,a=this.pipelines.get(t);if(!a)return;const s=this.passEncoder,D=a.pipeline;this.lastDrawPipeline!==D&&(s.setPipeline(D),this.lastDrawPipeline=D,this.lastInstancedTextureBindGroup=null);let h=0;e==="clear"?h=0:(e==="write"||A.shader==="clip-mask"||e==="test")&&(h=1),this.frameUsesStencil&&this.lastStencilRef!==h&&(s.setStencilReference(h),this.lastStencilRef=h);const n=this.uniformSlotIndex++;if(n>=this.maxUniformSlots){console.warn("[WebGPU] uniform slot overflow; increase maxUniformSlots");return}const c=n*this.uniformSlotStride,F=A.uniforms.u_projection;if(a.textureCount>0){const R=A.uniforms.u_transform,y=R instanceof Float32Array&&R.length>=16?R:sB,N=A.uniforms.u_atlasRemap,l=N instanceof Float32Array&&N.length>=4?N:uC,U=typeof A.uniforms.u_opacity=="number"?A.uniforms.u_opacity:1,Y=typeof A.uniforms.u_rgbPremultiplied=="number"?A.uniforms.u_rgbPremultiplied:1;if(F instanceof Float32Array&&F.length>=16){const S=this.uniformScratch160;S.set(F.length===16?F:F.subarray(0,16),0),S.set(y.length===16?y:y.subarray(0,16),16),S.set(l.length===4?l:l.subarray(0,4),32),S[36]=U,S[37]=Y,S[38]=0,S[39]=0,this.writeUniformShadow(c,S,160)}else{this.writeUniformShadow(c+64,y,64),this.writeUniformShadow(c+128,l,16);const S=this.uniformOpacityScratch;S[0]=U,S[1]=Y,S[2]=0,S[3]=0,this.writeUniformShadow(c+144,S,S.byteLength)}}else if(F instanceof Float32Array&&F.length>=16){const R=A.uniforms.u_transform,y=R instanceof Float32Array&&R.length>=16?R:sB,N=this.uniformScratch128;N.set(F.length===16?F:F.subarray(0,16),0),N.set(y.length===16?y:y.subarray(0,16),16),this.writeUniformShadow(c,N,128)}if(a.textureCount===1){const R=A.textures.length>0?A.textures[0]:null,y=R?this.textures.get(R.id):null,N=(g=y==null?void 0:y.view)!=null?g:this.dummyTextureView,l=(Q=R==null?void 0:R.id)!=null?Q:0;let U=this.texturedBindGroupCache.get(l);U||(U=this.device.createBindGroup({layout:this.texturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:N},{binding:2,resource:this.sampler}]}),this.texturedBindGroupCache.set(l,U)),s.setBindGroup(0,U,[c])}else if(a.textureCount===2){const R=A.textures[0],y=A.textures[1],N=R?this.textures.get(R.id):null,l=y?this.textures.get(y.id):null,U=(C=R==null?void 0:R.id)!=null?C:0,Y=(E=y==null?void 0:y.id)!=null?E:0;let S=this.dualTexturedBindGroupCache.get(U);S||(S=new Map,this.dualTexturedBindGroupCache.set(U,S));let J=S.get(Y);J||(J=this.device.createBindGroup({layout:this.dualTexturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:(o=N==null?void 0:N.view)!=null?o:this.dummyTextureView},{binding:2,resource:(i=l==null?void 0:l.view)!=null?i:this.dummyTextureView},{binding:3,resource:this.sampler}]}),S.set(Y,J)),s.setBindGroup(0,J,[c])}else a.uniformOnlyBindGroup||(a.uniformOnlyBindGroup=this.device.createBindGroup({layout:a.bindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:128}}]})),s.setBindGroup(0,a.uniformOnlyBindGroup,[c]);const w=this.buffers.get(A.vertexBuffer.id),r=this.buffers.get(A.indexBuffer.id);if(!w||!r)return;const G=A.vertexBuffer.id,M=A.indexBuffer.id;this.lastVertexBufferId!==G&&(s.setVertexBuffer(0,w.buffer),this.lastVertexBufferId=G),this.lastIndexBufferId!==M&&(s.setIndexBuffer(r.buffer,"uint32"),this.lastIndexBufferId=M),s.drawIndexed(A.indexCount)}drawInstancedSvga(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*13)return;if(E>$.SVGA_INSTANCED_MAX){console.warn("[WebGPU] svga-instanced-premul: instanceCount exceeds max",E);return}const e=A.stencil==="test"?"test":this.frameUsesStencil?"pass":"none",t=this.ensureInstancedSvgaPipeline(e),a=t.pipeline;this.lastDrawPipeline!==a&&(C.setPipeline(a),this.lastDrawPipeline=a,this.lastInstancedTextureBindGroup=null);const s=e==="test"?1:0;this.frameUsesStencil&&this.lastStencilRef!==s&&(C.setStencilReference(s),this.lastStencilRef=s);const D=A.uniforms.u_projection;if(!(D instanceof Float32Array)||D.length<16)return;const h=this.buffers.get(A.vertexBuffer.id),n=this.buffers.get(A.indexBuffer.id);if(!h||!n)return;this.ensureInstancedProjection(D);const c=E*$.SVGA_INSTANCED_STRIDE,F=this.instancedStorageRingOffset,w=this.ensureInstancedStorageBuffer();if(F+$.INSTANCED_SVGA_CHUNK_BYTES>w.size){console.warn("[WebGPU] instanced SVGA storage ring full");return}this.instancedStorageRingOffset+=ng(c,this.storageBindOffsetAlign),this.device.queue.writeBuffer(w,F,o.buffer,o.byteOffset,c);const r=A.textures[0],G=r?this.textures.get(r.id):null,M=(g=G==null?void 0:G.view)!=null?g:this.dummyTextureView,R=(Q=r==null?void 0:r.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(R);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:M},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(R,y)),C.setBindGroup(0,t.instancedDataBindGroup,[F]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const N=A.vertexBuffer.id,l=A.indexBuffer.id;this.lastVertexBufferId!==N&&(C.setVertexBuffer(0,h.buffer),this.lastVertexBufferId=N),this.lastIndexBufferId!==l&&(C.setIndexBuffer(n.buffer,"uint32"),this.lastIndexBufferId=l),C.drawIndexed(A.indexCount,E,0,0,0)}drawInstancedAlpha(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*12)return;if(E>$.ALPHA_INSTANCED_MAX){console.warn("[WebGPU] alpha-video-instanced: instanceCount exceeds max",E);return}const e=this.ensureInstancedAlphaPipeline(),t=e.pipeline;this.lastDrawPipeline!==t&&(C.setPipeline(t),this.lastDrawPipeline=t,this.lastInstancedTextureBindGroup=null),this.frameUsesStencil&&this.lastStencilRef!==0&&(C.setStencilReference(0),this.lastStencilRef=0);const a=A.uniforms.u_projection;if(!(a instanceof Float32Array)||a.length<16)return;const s=this.buffers.get(A.vertexBuffer.id),D=this.buffers.get(A.indexBuffer.id);if(!s||!D)return;this.ensureInstancedProjection(a);const h=E*$.ALPHA_INSTANCED_STRIDE,n=this.instancedStorageRingOffset,c=this.ensureInstancedStorageBuffer();if(n+$.INSTANCED_ALPHA_CHUNK_BYTES>c.size){console.warn("[WebGPU] instanced alpha storage ring full");return}this.instancedStorageRingOffset+=ng(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(c,n,o.buffer,o.byteOffset,h);const F=A.textures[0],w=F?this.textures.get(F.id):null,r=(g=w==null?void 0:w.view)!=null?g:this.dummyTextureView,G=(Q=F==null?void 0:F.id)!=null?Q:0;let M=this.instancedTextureBindGroupCache.get(G);M||(M=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:r},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,M)),C.setBindGroup(0,e.instancedDataBindGroup,[n]),this.lastInstancedTextureBindGroup!==M&&(C.setBindGroup(1,M),this.lastInstancedTextureBindGroup=M);const R=A.vertexBuffer.id,y=A.indexBuffer.id;this.lastVertexBufferId!==R&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=R),this.lastIndexBufferId!==y&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=y),C.drawIndexed(A.indexCount,E,0,0,0)}drawInstancedVap(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*32)return;if(E>$.VAP_INSTANCED_MAX){console.warn("[WebGPU] vap-instanced: instanceCount exceeds max",E);return}const e=this.ensureInstancedVapPipeline(),t=e.pipeline;this.lastDrawPipeline!==t&&(C.setPipeline(t),this.lastDrawPipeline=t,this.lastInstancedTextureBindGroup=null),this.frameUsesStencil&&this.lastStencilRef!==0&&(C.setStencilReference(0),this.lastStencilRef=0);const a=A.uniforms.u_projection;if(!(a instanceof Float32Array)||a.length<16)return;const s=this.buffers.get(A.vertexBuffer.id),D=this.buffers.get(A.indexBuffer.id);if(!s||!D)return;this.ensureInstancedProjection(a);const h=E*$.VAP_INSTANCED_STRIDE,n=this.instancedStorageRingOffset,c=this.ensureInstancedStorageBuffer();if(n+$.INSTANCED_VAP_CHUNK_BYTES>c.size){console.warn("[WebGPU] instanced VAP storage ring full");return}this.instancedStorageRingOffset+=ng(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(c,n,o.buffer,o.byteOffset,h);const F=A.textures[0],w=F?this.textures.get(F.id):null,r=(g=w==null?void 0:w.view)!=null?g:this.dummyTextureView,G=(Q=F==null?void 0:F.id)!=null?Q:0;let M=this.instancedTextureBindGroupCache.get(G);M||(M=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:r},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,M)),C.setBindGroup(0,e.instancedDataBindGroup,[n]),this.lastInstancedTextureBindGroup!==M&&(C.setBindGroup(1,M),this.lastInstancedTextureBindGroup=M);const R=A.vertexBuffer.id,y=A.indexBuffer.id;this.lastVertexBufferId!==R&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=R),this.lastIndexBufferId!==y&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=y),C.drawIndexed(A.indexCount,E,0,0,0)}clearStencil(){}setScissor(A,I,g,Q){if(!this.passEncoder)return;const C=this.canvas.width,E=this.canvas.height,o=Math.max(0,Math.min(C,Math.round(A))),i=Math.max(0,Math.min(E,Math.round(I))),e=Math.max(o,Math.min(C,Math.round(A+g))),t=Math.max(i,Math.min(E,Math.round(I+Q)));this.passEncoder.setScissorRect(o,i,e-o,t-i)}resetScissor(){this.passEncoder&&this.passEncoder.setScissorRect(0,0,this.canvas.width,this.canvas.height)}destroy(){var A,I,g,Q,C,E,o;for(const[,i]of this.buffers)i.buffer.destroy();for(const[,i]of this.textures)i.texture.destroy();(A=this.uniformBuffer)==null||A.destroy(),(I=this.instancedProjectionBuffer)==null||I.destroy(),(g=this.instancedStorageBuffer)==null||g.destroy(),(Q=this.depthStencilTexture)==null||Q.destroy(),(C=this.msaaColorTexture)==null||C.destroy(),(E=this.dummyTexture)==null||E.destroy(),(o=this.device)==null||o.destroy(),this.buffers.clear(),this.textures.clear(),this.texturedBindGroupCache.clear(),this.dualTexturedBindGroupCache.clear(),this.instancedTextureBindGroupCache.clear(),this.pipelines.clear()}};k(IA,"SVGA_INSTANCED_MAX",2048);k(IA,"SVGA_INSTANCED_STRIDE",52);k(IA,"ALPHA_INSTANCED_MAX",1024);k(IA,"ALPHA_INSTANCED_STRIDE",48);k(IA,"VAP_INSTANCED_MAX",1024);k(IA,"VAP_INSTANCED_STRIDE",128);k(IA,"INSTANCED_SVGA_CHUNK_BYTES",IA.SVGA_INSTANCED_MAX*IA.SVGA_INSTANCED_STRIDE);k(IA,"INSTANCED_ALPHA_CHUNK_BYTES",IA.ALPHA_INSTANCED_MAX*IA.ALPHA_INSTANCED_STRIDE);k(IA,"INSTANCED_VAP_CHUNK_BYTES",IA.VAP_INSTANCED_MAX*IA.VAP_INSTANCED_STRIDE);let QQ=IA;function DB(B,A,I){const g=B.createShader(A);if(!g)throw new Error("Failed to create shader");if(B.shaderSource(g,I),B.compileShader(g),!B.getShaderParameter(g,B.COMPILE_STATUS)){const Q=B.getShaderInfoLog(g);throw B.deleteShader(g),new Error(`Shader compile failed: ${Q}`)}return g}function lA(B,A,I){const g=DB(B,B.VERTEX_SHADER,A),Q=DB(B,B.FRAGMENT_SHADER,I),C=B.createProgram();if(!C)throw B.deleteShader(g),B.deleteShader(Q),new Error("Failed to create program");if(B.attachShader(C,g),B.attachShader(C,Q),B.linkProgram(C),!B.getProgramParameter(C,B.LINK_STATUS)){const E=B.getProgramInfoLog(C);throw B.deleteProgram(C),B.deleteShader(g),B.deleteShader(Q),new Error(`Program link failed: ${E}`)}return B.deleteShader(g),B.deleteShader(Q),C}function hB(B,A=B.LINEAR,I=B.CLAMP_TO_EDGE){const g=B.createTexture();if(!g)throw new Error("Failed to create texture");return B.bindTexture(B.TEXTURE_2D,g),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,I),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,I),g}function qC(B=typeof navigator!="undefined"?navigator:null){var A,I;const g=(A=B==null?void 0:B.userAgent)!=null?A:"";return/iPad|iPhone|iPod/i.test(g)||/Macintosh/i.test(g)&&((I=B==null?void 0:B.maxTouchPoints)!=null?I:0)>1}function lI(B){const A=B;return typeof A.displayWidth=="number"&&A.displayWidth>0?A.displayWidth:typeof A.codedWidth=="number"&&A.codedWidth>0?A.codedWidth:typeof A.videoWidth=="number"&&A.videoWidth>0?A.videoWidth:typeof A.naturalWidth=="number"&&A.naturalWidth>0?A.naturalWidth:typeof A.width=="number"&&A.width>0?A.width:0}function NI(B){const A=B;return typeof A.displayHeight=="number"&&A.displayHeight>0?A.displayHeight:typeof A.codedHeight=="number"&&A.codedHeight>0?A.codedHeight:typeof A.videoHeight=="number"&&A.videoHeight>0?A.videoHeight:typeof A.naturalHeight=="number"&&A.naturalHeight>0?A.naturalHeight:typeof A.height=="number"&&A.height>0?A.height:0}var pC=Object.defineProperty,mC=(B,A,I)=>A in B?pC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,b=(B,A,I)=>mC(B,typeof A!="symbol"?A+"":A,I);const xC=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),RA=class mA{constructor(A,I=!0){b(this,"type","webgl2"),b(this,"canvas"),b(this,"maxTextureSize",4096),b(this,"antialias"),b(this,"gl"),b(this,"nextId",1),b(this,"buffers",new Map),b(this,"textures",new Map),b(this,"programs",new Map),b(this,"vertexArrays",new Map),b(this,"cachedDrawProgram",null),b(this,"cachedTex0Id",null),b(this,"cachedProjectionRef",null),b(this,"cachedProjectionShader",null),b(this,"videoUploadCanvas",null),b(this,"videoUploadCtx",null),b(this,"videoElementPreferCanvasBridge",qC()),b(this,"videoElementDirectUploadValidated",!1),b(this,"instancedSvgaInstanceGLBuffer",null),b(this,"instancedAlphaInstanceGLBuffer",null),b(this,"instancedVapInstanceGLBuffer",null),this.canvas=A,this.antialias=I}async init(){const A=this.canvas.getContext("webgl2",{alpha:!0,premultipliedAlpha:!0,antialias:this.antialias,depth:!1,stencil:!0});if(!A)throw new Error("WebGL2 not available");this.gl=A,this.maxTextureSize=A.getParameter(A.MAX_TEXTURE_SIZE)||this.maxTextureSize,A.enable(A.BLEND),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.clearColor(0,0,0,0),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE),this.initPrograms()}initPrograms(){const A=this.gl,I=lA(A,x.svgaBatchPremul.vert,x.svgaBatchPremul.frag);this.programs.set("svga-batch-premul",this.makeProgramEntry(I,{transform:!0})),this.bindProgramSamplers(I,{u_atlas:0});const g=lA(A,x.svgaInstancedPremul.vert,x.svgaInstancedPremul.frag);this.programs.set("svga-instanced-premul",this.makeProgramEntry(g)),this.bindProgramSamplers(g,{u_atlas:0});const Q=lA(A,x.vap.vert,x.vap.frag);this.programs.set("vap",this.makeProgramEntry(Q,{transform:!0,atlasRemap:!0,opacity:!0,rgbPremultiplied:!0})),this.bindProgramSamplers(Q,{u_video:0});const C=lA(A,x.vapMixOverlay.vert,x.vapMixOverlay.frag);this.programs.set("vap-mix-overlay",this.makeProgramEntry(C,{transform:!0,atlasRemap:!0,opacity:!0})),this.bindProgramSamplers(C,{u_resource:0,u_video:1});const E=lA(A,x.alphaVideo.vert,x.alphaVideo.frag);this.programs.set("alpha-video",this.makeProgramEntry(E,{transform:!0,atlasRemap:!0,opacity:!0,rgbPremultiplied:!0})),this.bindProgramSamplers(E,{u_video:0});const o=lA(A,x.rgbaTextured.vert,x.rgbaTextured.frag);this.programs.set("rgba-textured",this.makeProgramEntry(o,{transform:!0,atlasRemap:!0,opacity:!0})),this.bindProgramSamplers(o,{u_video:0});const i=lA(A,x.alphaVideoInstanced.vert,x.alphaVideoInstanced.frag);this.programs.set("alpha-video-instanced",this.makeProgramEntry(i)),this.bindProgramSamplers(i,{u_video:0});const e=lA(A,x.vapInstanced.vert,x.vapInstanced.frag);this.programs.set("vap-instanced",this.makeProgramEntry(e)),this.bindProgramSamplers(e,{u_video:0});const t=lA(A,x.clipMask.vert,x.clipMask.frag);this.programs.set("clip-mask",this.makeProgramEntry(t,{transform:!0}))}makeProgramEntry(A,I={}){const g=this.gl;return{program:A,projLoc:g.getUniformLocation(A,"u_projection"),transformLoc:I.transform?g.getUniformLocation(A,"u_transform"):null,atlasRemapLoc:I.atlasRemap?g.getUniformLocation(A,"u_atlasRemap"):null,opacityLoc:I.opacity?g.getUniformLocation(A,"u_opacity"):null,rgbPremultipliedLoc:I.rgbPremultiplied?g.getUniformLocation(A,"u_rgbPremultiplied"):null,lastOpacity:null,lastRgbPremultiplied:null}}applyIdentityTransform(A){A.transformLoc&&this.gl.uniformMatrix4fv(A.transformLoc,!1,xC)}bindProgramSamplers(A,I){const g=this.gl;g.useProgram(A);for(const Q in I){const C=g.getUniformLocation(A,Q);C&&g.uniform1i(C,I[Q])}}applyProjectionUniform(A,I,g){!A.projLoc||!(g instanceof Float32Array)||g.length<16||this.cachedProjectionShader===I&&this.cachedProjectionRef===g||(this.gl.uniformMatrix4fv(A.projLoc,!1,g),this.cachedProjectionShader=I,this.cachedProjectionRef=g)}applyDrawUniforms(A,I,g){const Q=this.gl;if(this.applyProjectionUniform(A,I,g.uniforms.u_projection),A.transformLoc){const C=g.uniforms.u_transform;C instanceof Float32Array?Q.uniformMatrix4fv(A.transformLoc,!1,C):this.applyIdentityTransform(A)}if(A.atlasRemapLoc){const C=g.uniforms.u_atlasRemap;C instanceof Float32Array&&Q.uniform4fv(A.atlasRemapLoc,C)}if(A.opacityLoc){const C=g.uniforms.u_opacity;typeof C=="number"&&A.lastOpacity!==C&&(Q.uniform1f(A.opacityLoc,C),A.lastOpacity=C)}if(A.rgbPremultipliedLoc){const C=g.uniforms.u_rgbPremultiplied;typeof C=="number"&&A.lastRgbPremultiplied!==C&&(Q.uniform1f(A.rgbPremultipliedLoc,C),A.lastRgbPremultiplied=C)}}beginFrame(A={}){const I=this.gl;I.viewport(0,0,this.canvas.width,this.canvas.height),I.clear(I.COLOR_BUFFER_BIT|(A.stencil?I.STENCIL_BUFFER_BIT:0)),I.disable(I.STENCIL_TEST),this.cachedDrawProgram=null,this.cachedTex0Id=null,this.cachedProjectionRef=null,this.cachedProjectionShader=null}endFrame(){this.gl.flush()}getBufferSourceByteLength(A){return ArrayBuffer.isView(A),A.byteLength}createBuffer(A,I){const g=this.gl,Q=g.createBuffer();if(!Q)throw new Error("Failed to create buffer");g.bindVertexArray(null);const C=I==="index"?g.ELEMENT_ARRAY_BUFFER:g.ARRAY_BUFFER;g.bindBuffer(C,Q),g.bufferData(C,A,g.DYNAMIC_DRAW);const E=this.nextId++;return this.buffers.set(E,{buffer:Q,usage:I,byteLength:this.getBufferSourceByteLength(A)}),{id:E,usage:I}}updateBuffer(A,I,g=0){const Q=this.buffers.get(A.id);if(!Q)return;const C=this.gl;C.bindVertexArray(null);const E=Q.usage==="index"?C.ELEMENT_ARRAY_BUFFER:C.ARRAY_BUFFER;C.bindBuffer(E,Q.buffer);const o=this.getBufferSourceByteLength(I);g===0&&o<=Q.byteLength?C.bufferSubData(E,0,I):(C.bufferData(E,I,C.DYNAMIC_DRAW),Q.byteLength=o)}deleteBuffer(A){const I=this.buffers.get(A.id);I&&(this.gl.bindVertexArray(null),this.deleteVertexArraysForBuffer(A.id),this.gl.deleteBuffer(I.buffer),this.buffers.delete(A.id))}uploadVideoFrameToTexture(A,I,g){const Q=this.gl,C=I.videoWidth,E=I.videoHeight;if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||C<=0||E<=0)return!1;if(!this.videoElementPreferCanvasBridge){Q.bindTexture(Q.TEXTURE_2D,A),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,1);try{if(g?Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,I):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,I),!this.videoElementDirectUploadValidated){const e=Q.getError();if(e!==Q.NO_ERROR)throw new Error(`WebGL video upload error: 0x${e.toString(16)}`);this.videoElementDirectUploadValidated=!0}return!0}catch(e){this.videoElementPreferCanvasBridge=!0,console.debug("[WebGL2] direct HTMLVideo upload failed; using canvas bridge.",e)}finally{Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0)}}this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const o=this.videoUploadCanvas,i=this.videoUploadCtx;return i?((o.width!==C||o.height!==E)&&(o.width=C,o.height=E),i.drawImage(I,0,0,C,E),Q.bindTexture(Q.TEXTURE_2D,A),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,1),g?Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,o):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,o),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),!0):!1}createTexture(A,I){var g,Q;const C=this.gl,E=I.filter==="nearest"?C.NEAREST:C.LINEAR,o=hB(C,E),i=I.premultiplyAlpha===!0;let e=(g=I.width)!=null?g:1,t=(Q=I.height)!=null?Q:1;if(A instanceof ArrayBuffer)C.texImage2D(C.TEXTURE_2D,0,C.RGBA,e,t,0,C.RGBA,C.UNSIGNED_BYTE,new Uint8Array(A));else if(typeof VideoFrame!="undefined"&&A instanceof VideoFrame){const s=A;C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,1),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,s),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),e=s.displayWidth||s.codedWidth||e,t=s.displayHeight||s.codedHeight||t}else if(A instanceof HTMLVideoElement)C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),this.uploadVideoFrameToTexture(o,A,!0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e=A.videoWidth||e,t=A.videoHeight||t;else{const s=i,D=I.sourcePremultiplied===!0,h=s&&!D?1:0;C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,h),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,A),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),"width"in A&&(e=A.width,t=A.height)}const a=this.nextId++;return this.textures.set(a,{texture:o,width:e,height:t}),{id:a,width:e,height:t}}createEmptyTexture(A,I,g={}){const Q=this.gl,C=g.filter==="nearest"?Q.NEAREST:Q.LINEAR,E=hB(Q,C),o=Math.max(1,Math.floor(A)),i=Math.max(1,Math.floor(I));Q.bindTexture(Q.TEXTURE_2D,E),Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,o,i,0,Q.RGBA,Q.UNSIGNED_BYTE,null);const e=this.nextId++;return this.textures.set(e,{texture:E,width:o,height:i}),{id:e,width:o,height:i}}updateTexture(A,I){const g=this.textures.get(A.id);if(!g)return;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const i=this.gl,e=lI(I),t=NI(I),a=e===g.width&&t===g.height;i.bindTexture(i.TEXTURE_2D,g.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),a?i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,I):(i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,I),e>0&&t>0&&(g.width=e,g.height=t)),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){const i=I.videoWidth,e=I.videoHeight,t=i!==g.width||e!==g.height;this.uploadVideoFrameToTexture(g.texture,I,t)&&t&&(g.width=i,g.height=e);return}const Q=this.gl,C=lI(I),E=NI(I),o=C===g.width&&E===g.height;Q.bindTexture(Q.TEXTURE_2D,g.texture),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),o?Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,I):(Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,I),C>0&&E>0&&(g.width=C,g.height=E)),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0)}updateTextureRegion(A,I,g,Q,C,E){const o=this.textures.get(A.id);if(!o)return;const i=this.gl;i.bindTexture(i.TEXTURE_2D,o.texture);let e,t;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame)e=I.displayWidth||I.codedWidth,t=I.displayHeight||I.codedHeight;else if(I instanceof HTMLVideoElement){if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA)return;e=I.videoWidth,t=I.videoHeight}else{const D=I;e=D.width,t=D.height}if(!e||!t)return;const a=C!=null?C:e,s=E!=null?E:t;if(a!==e||s!==t){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const D=this.videoUploadCanvas,h=this.videoUploadCtx;if(!h)return;(D.width!==a||D.height!==s)&&(D.width=a,D.height=s),h.drawImage(I,0,0,a,s),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,D),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0)}deleteTexture(A){const I=this.textures.get(A.id);I&&(this.gl.deleteTexture(I.texture),this.textures.delete(A.id),this.cachedTex0Id===A.id&&(this.cachedTex0Id=null))}draw(A){var I;if(A.shader==="svga-instanced-premul"){this.drawInstancedSvgaGL(A);return}if(A.shader==="alpha-video-instanced"){this.drawInstancedAlphaGL(A);return}if(A.shader==="vap-instanced"){this.drawInstancedVapGL(A);return}const g=this.gl,Q=(I=A.stencil)!=null?I:"none",C=A.shader==="clip-mask"||Q==="clear"?"clip-mask":A.shader,E=this.programs.get(C);if(!E)return;Q==="clear"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,0,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="write"||A.shader==="clip-mask"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,1,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="test"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.EQUAL,1,255),g.stencilOp(g.KEEP,g.KEEP,g.KEEP),g.stencilMask(0),g.colorMask(!0,!0,!0,!0)):(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)),this.cachedDrawProgram!==C&&(g.useProgram(E.program),this.cachedDrawProgram=C);for(let e=0;e<A.textures.length;e++){const t=A.textures[e].id;if(e===0&&this.cachedTex0Id===t)continue;const a=this.textures.get(t);a&&(g.activeTexture(g.TEXTURE0+e),g.bindTexture(g.TEXTURE_2D,a.texture),e===0&&(this.cachedTex0Id=t))}this.applyDrawUniforms(E,C,A);const o=this.buffers.get(A.vertexBuffer.id),i=this.buffers.get(A.indexBuffer.id);!o||!i||(this.bindCachedVertexArray(C,A.vertexBuffer.id,A.indexBuffer.id)&&(g.bindBuffer(g.ARRAY_BUFFER,o.buffer),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,i.buffer),this.setupAttributes(C)),g.drawElements(g.TRIANGLES,A.indexCount,g.UNSIGNED_INT,0),(Q!=="none"||A.shader==="clip-mask")&&(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)))}clearStencil(){const A=this.gl;A.stencilMask(255),A.clear(A.STENCIL_BUFFER_BIT)}setScissor(A,I,g,Q){const C=this.gl,E=this.canvas.width,o=this.canvas.height,i=Math.max(0,Math.min(E,Math.round(A))),e=Math.max(0,Math.min(o,Math.round(I))),t=Math.max(i,Math.min(E,Math.round(A+g))),a=Math.max(e,Math.min(o,Math.round(I+Q)));C.enable(C.SCISSOR_TEST),C.scissor(i,o-a,t-i,a-e)}resetScissor(){this.gl.disable(this.gl.SCISSOR_TEST)}setupAttributes(A){const I=this.gl;if(A==="svga-batch-premul")I.enableVertexAttribArray(0),I.vertexAttribPointer(0,3,I.FLOAT,!1,36,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,4,I.FLOAT,!1,36,12),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,36,28);else if(A==="vap")I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,24,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,24,8),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,24,16);else if(A==="clip-mask")I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,8,0),I.disableVertexAttribArray(1),I.disableVertexAttribArray(2);else{I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,16,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,16,8);for(let Q=2;Q<=9;Q++)I.vertexAttribDivisor(Q,0),I.disableVertexAttribArray(Q)}}bindCachedVertexArray(A,I,g){const Q=this.gl;let C=this.vertexArrays.get(A);C||(C=new Map,this.vertexArrays.set(A,C));let E=C.get(I);E||(E=new Map,C.set(I,E));const o=E.get(g);if(o)return Q.bindVertexArray(o),!1;const i=Q.createVertexArray();if(!i)throw new Error("Failed to create vertex array");return E.set(g,i),Q.bindVertexArray(i),!0}deleteVertexArraysForBuffer(A){const I=this.gl;for(const[g,Q]of this.vertexArrays){for(const[C,E]of Q){if(C===A){for(const i of E.values())I.deleteVertexArray(i);Q.delete(C);continue}const o=E.get(A);o&&(I.deleteVertexArray(o),E.delete(A)),E.size===0&&Q.delete(C)}Q.size===0&&this.vertexArrays.delete(g)}}deleteAllVertexArrays(){for(const A of this.vertexArrays.values())for(const I of A.values())for(const g of I.values())this.gl.deleteVertexArray(g);this.vertexArrays.clear()}ensureInstancedSvgaInstanceBuffer(){const A=this.gl;if(!this.instancedSvgaInstanceGLBuffer){const I=A.createBuffer();if(!I)throw new Error("createBuffer failed");A.bindVertexArray(null),A.bindBuffer(A.ARRAY_BUFFER,I),A.bufferData(A.ARRAY_BUFFER,mA.INST_SVGA_GL_BYTES,A.DYNAMIC_DRAW),this.instancedSvgaInstanceGLBuffer=I}return this.instancedSvgaInstanceGLBuffer}drawInstancedSvgaGL(A){var I,g;const Q=this.gl,C=(I=A.instanceCount)!=null?I:0,E=A.instanceData;if(C<1||!E||E.length<C*13)return;if(C>mA.INST_SVGA_GL_MAX){console.warn("[WebGL2] svga-instanced-premul: instanceCount exceeds max",C);return}const o=(g=A.stencil)!=null?g:"none";o==="test"?(Q.enable(Q.STENCIL_TEST),Q.stencilFunc(Q.EQUAL,1,255),Q.stencilOp(Q.KEEP,Q.KEEP,Q.KEEP),Q.stencilMask(0),Q.colorMask(!0,!0,!0,!0)):(Q.disable(Q.STENCIL_TEST),Q.colorMask(!0,!0,!0,!0));const i="svga-instanced-premul",e=this.programs.get(i);if(!e)return;this.cachedDrawProgram!==i&&(Q.useProgram(e.program),this.cachedDrawProgram=i);for(let D=0;D<A.textures.length;D++){const h=A.textures[D].id;if(D===0&&this.cachedTex0Id===h)continue;const n=this.textures.get(h);n&&(Q.activeTexture(Q.TEXTURE0+D),Q.bindTexture(Q.TEXTURE_2D,n.texture),D===0&&(this.cachedTex0Id=h))}this.applyProjectionUniform(e,i,A.uniforms.u_projection);const t=this.buffers.get(A.vertexBuffer.id),a=this.buffers.get(A.indexBuffer.id);if(!t||!a)return;const s=this.ensureInstancedSvgaInstanceBuffer();Q.bindBuffer(Q.ARRAY_BUFFER,s),Q.bufferSubData(Q.ARRAY_BUFFER,0,E,0,C*13),this.bindCachedVertexArray(i,A.vertexBuffer.id,A.indexBuffer.id)&&(Q.bindBuffer(Q.ARRAY_BUFFER,s),Q.enableVertexAttribArray(1),Q.vertexAttribPointer(1,2,Q.FLOAT,!1,52,0),Q.vertexAttribDivisor(1,1),Q.enableVertexAttribArray(2),Q.vertexAttribPointer(2,4,Q.FLOAT,!1,52,8),Q.vertexAttribDivisor(2,1),Q.enableVertexAttribArray(3),Q.vertexAttribPointer(3,3,Q.FLOAT,!1,52,24),Q.vertexAttribDivisor(3,1),Q.enableVertexAttribArray(4),Q.vertexAttribPointer(4,4,Q.FLOAT,!1,52,36),Q.vertexAttribDivisor(4,1),Q.bindBuffer(Q.ARRAY_BUFFER,t.buffer),Q.enableVertexAttribArray(0),Q.vertexAttribPointer(0,2,Q.FLOAT,!1,8,0),Q.vertexAttribDivisor(0,0),Q.bindBuffer(Q.ELEMENT_ARRAY_BUFFER,a.buffer)),Q.drawElementsInstanced(Q.TRIANGLES,A.indexCount,Q.UNSIGNED_INT,0,C),o!=="none"&&(Q.disable(Q.STENCIL_TEST),Q.colorMask(!0,!0,!0,!0))}ensureInstancedAlphaInstanceBuffer(){const A=this.gl;if(!this.instancedAlphaInstanceGLBuffer){const I=A.createBuffer();if(!I)throw new Error("createBuffer failed");A.bindVertexArray(null),A.bindBuffer(A.ARRAY_BUFFER,I),A.bufferData(A.ARRAY_BUFFER,mA.INST_ALPHA_GL_BYTES,A.DYNAMIC_DRAW),this.instancedAlphaInstanceGLBuffer=I}return this.instancedAlphaInstanceGLBuffer}drawInstancedAlphaGL(A){var I;const g=this.gl,Q=(I=A.instanceCount)!=null?I:0,C=A.instanceData;if(Q<1||!C||C.length<Q*12)return;if(Q>mA.INST_ALPHA_GL_MAX){console.warn("[WebGL2] alpha-video-instanced: instanceCount exceeds max",Q);return}g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0);const E="alpha-video-instanced",o=this.programs.get("alpha-video-instanced");if(!o)return;this.cachedDrawProgram!==E&&(g.useProgram(o.program),this.cachedDrawProgram=E);for(let a=0;a<A.textures.length;a++){const s=A.textures[a].id;if(a===0&&this.cachedTex0Id===s)continue;const D=this.textures.get(s);D&&(g.activeTexture(g.TEXTURE0+a),g.bindTexture(g.TEXTURE_2D,D.texture),a===0&&(this.cachedTex0Id=s))}this.applyProjectionUniform(o,E,A.uniforms.u_projection);const i=this.buffers.get(A.vertexBuffer.id),e=this.buffers.get(A.indexBuffer.id);if(!i||!e)return;const t=this.ensureInstancedAlphaInstanceBuffer();if(g.bindBuffer(g.ARRAY_BUFFER,t),g.bufferSubData(g.ARRAY_BUFFER,0,C,0,Q*12),this.bindCachedVertexArray(E,A.vertexBuffer.id,A.indexBuffer.id)){g.bindBuffer(g.ARRAY_BUFFER,t);for(let D=0;D<3;D++){const h=2+D;g.enableVertexAttribArray(h),g.vertexAttribPointer(h,4,g.FLOAT,!1,48,D*16),g.vertexAttribDivisor(h,1)}g.bindBuffer(g.ARRAY_BUFFER,i.buffer);const s=16;g.enableVertexAttribArray(0),g.vertexAttribPointer(0,2,g.FLOAT,!1,s,0),g.vertexAttribDivisor(0,0),g.enableVertexAttribArray(1),g.vertexAttribPointer(1,2,g.FLOAT,!1,s,8),g.vertexAttribDivisor(1,0),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,e.buffer)}g.drawElementsInstanced(g.TRIANGLES,A.indexCount,g.UNSIGNED_INT,0,Q)}ensureInstancedVapInstanceBuffer(){const A=this.gl;if(!this.instancedVapInstanceGLBuffer){const I=A.createBuffer();if(!I)throw new Error("createBuffer failed");A.bindVertexArray(null),A.bindBuffer(A.ARRAY_BUFFER,I),A.bufferData(A.ARRAY_BUFFER,mA.INST_VAP_GL_BYTES,A.DYNAMIC_DRAW),this.instancedVapInstanceGLBuffer=I}return this.instancedVapInstanceGLBuffer}drawInstancedVapGL(A){var I;const g=this.gl,Q=(I=A.instanceCount)!=null?I:0,C=A.instanceData;if(Q<1||!C||C.length<Q*32)return;if(Q>mA.INST_VAP_GL_MAX){console.warn("[WebGL2] vap-instanced: instanceCount exceeds max",Q);return}g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0);const E="vap-instanced",o=this.programs.get("vap-instanced");if(!o)return;this.cachedDrawProgram!==E&&(g.useProgram(o.program),this.cachedDrawProgram=E);for(let a=0;a<A.textures.length;a++){const s=A.textures[a].id;if(a===0&&this.cachedTex0Id===s)continue;const D=this.textures.get(s);D&&(g.activeTexture(g.TEXTURE0+a),g.bindTexture(g.TEXTURE_2D,D.texture),a===0&&(this.cachedTex0Id=s))}this.applyProjectionUniform(o,E,A.uniforms.u_projection);const i=this.buffers.get(A.vertexBuffer.id),e=this.buffers.get(A.indexBuffer.id);if(!i||!e)return;const t=this.ensureInstancedVapInstanceBuffer();if(g.bindBuffer(g.ARRAY_BUFFER,t),g.bufferSubData(g.ARRAY_BUFFER,0,C,0,Q*32),this.bindCachedVertexArray(E,A.vertexBuffer.id,A.indexBuffer.id)){g.bindBuffer(g.ARRAY_BUFFER,t);for(let D=0;D<8;D++){const h=2+D;g.enableVertexAttribArray(h),g.vertexAttribPointer(h,4,g.FLOAT,!1,128,D*16),g.vertexAttribDivisor(h,1)}g.bindBuffer(g.ARRAY_BUFFER,i.buffer);const s=16;g.enableVertexAttribArray(0),g.vertexAttribPointer(0,2,g.FLOAT,!1,s,0),g.vertexAttribDivisor(0,0),g.enableVertexAttribArray(1),g.vertexAttribPointer(1,2,g.FLOAT,!1,s,8),g.vertexAttribDivisor(1,0),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,e.buffer)}g.drawElementsInstanced(g.TRIANGLES,A.indexCount,g.UNSIGNED_INT,0,Q)}destroy(){const A=this.gl;A.bindVertexArray(null),this.deleteAllVertexArrays(),this.instancedSvgaInstanceGLBuffer&&(A.deleteBuffer(this.instancedSvgaInstanceGLBuffer),this.instancedSvgaInstanceGLBuffer=null),this.instancedAlphaInstanceGLBuffer&&(A.deleteBuffer(this.instancedAlphaInstanceGLBuffer),this.instancedAlphaInstanceGLBuffer=null),this.instancedVapInstanceGLBuffer&&(A.deleteBuffer(this.instancedVapInstanceGLBuffer),this.instancedVapInstanceGLBuffer=null);for(const[,g]of this.buffers)A.deleteBuffer(g.buffer);for(const[,g]of this.textures)A.deleteTexture(g.texture);for(const[,g]of this.programs)A.deleteProgram(g.program);this.buffers.clear(),this.textures.clear(),this.programs.clear();const I=A.getExtension("WEBGL_lose_context");I==null||I.loseContext()}};b(RA,"INST_SVGA_GL_MAX",2048);b(RA,"INST_SVGA_GL_BYTES",RA.INST_SVGA_GL_MAX*52);b(RA,"INST_ALPHA_GL_MAX",1024);b(RA,"INST_ALPHA_GL_BYTES",RA.INST_ALPHA_GL_MAX*48);b(RA,"INST_VAP_GL_MAX",1024);b(RA,"INST_VAP_GL_BYTES",RA.INST_VAP_GL_MAX*128);let CQ=RA;var bC=Object.defineProperty,TC=(B,A,I)=>A in B?bC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,z=(B,A,I)=>TC(B,typeof A!="symbol"?A+"":A,I);function WC(B,A){let I=B.replace(/^#version\s+300\s+es\s*/m,"");return A==="vertex"?(I=I.replace(/layout\s*\(location\s*=\s*\d+\)\s*in\s+/g,"attribute "),I=I.replace(/\bout\s+/g,"varying ")):(I=I.replace(/\bin\s+/g,"varying "),I=I.replace(/out\s+vec4\s+fragColor\s*;\s*/g,""),I=I.replace(/\bfragColor\b/g,"gl_FragColor"),I=I.replace(/\btexture\s*\(/g,"texture2D(")),I}function nB(B,A,I,g){const Q=B.createShader(A);if(!Q)throw new Error("Failed to create shader");if(B.shaderSource(Q,WC(I,g)),B.compileShader(Q),!B.getShaderParameter(Q,B.COMPILE_STATUS)){const C=B.getShaderInfoLog(Q);throw B.deleteShader(Q),new Error(`Shader compile failed: ${C}`)}return Q}function EI(B,A,I,g){const Q=nB(B,B.VERTEX_SHADER,A,"vertex"),C=nB(B,B.FRAGMENT_SHADER,I,"fragment"),E=B.createProgram();if(!E)throw B.deleteShader(Q),B.deleteShader(C),new Error("Failed to create program");B.attachShader(E,Q),B.attachShader(E,C);for(const[o,i]of Object.entries(g))B.bindAttribLocation(E,i,o);if(B.linkProgram(E),!B.getProgramParameter(E,B.LINK_STATUS)){const o=B.getProgramInfoLog(E);throw B.deleteProgram(E),B.deleteShader(Q),B.deleteShader(C),new Error(`Program link failed: ${o}`)}return B.deleteShader(Q),B.deleteShader(C),E}function wB(B,A=B.LINEAR,I=B.CLAMP_TO_EDGE){const g=B.createTexture();if(!g)throw new Error("Failed to create texture");return B.bindTexture(B.TEXTURE_2D,g),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,A),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,I),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,I),g}const ZC=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);class mg{constructor(A,I=!0){z(this,"type","webgl1"),z(this,"canvas"),z(this,"maxTextureSize",4096),z(this,"antialias"),z(this,"gl"),z(this,"nextId",1),z(this,"buffers",new Map),z(this,"textures",new Map),z(this,"programs",new Map),z(this,"cachedDrawProgram",null),z(this,"cachedTex0Id",null),z(this,"cachedProjectionRef",null),z(this,"cachedProjectionShader",null),z(this,"videoUploadCanvas",null),z(this,"videoUploadCtx",null),z(this,"supportsUintIndices",!1),this.canvas=A,this.antialias=I}async init(){const A=this.canvas.getContext("webgl",{alpha:!0,premultipliedAlpha:!0,antialias:this.antialias,depth:!1,stencil:!0});if(!A)throw new Error("WebGL1 not available");this.gl=A,this.maxTextureSize=A.getParameter(A.MAX_TEXTURE_SIZE)||this.maxTextureSize,this.supportsUintIndices=!!A.getExtension("OES_element_index_uint"),A.enable(A.BLEND),A.blendFunc(A.ONE,A.ONE_MINUS_SRC_ALPHA),A.clearColor(0,0,0,0),A.pixelStorei(A.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),A.pixelStorei(A.UNPACK_COLORSPACE_CONVERSION_WEBGL,A.NONE),this.initPrograms()}initPrograms(){const A=this.gl,I=EI(A,x.svgaBatchPremul.vert,x.svgaBatchPremul.frag,{a_position:0,a_color:1,a_uv:2});this.programs.set("svga-batch-premul",this.makeProgramEntry(I,{transform:!0})),this.bindProgramSamplers(I,{u_atlas:0});const g=EI(A,x.vap.vert,x.vap.frag,{a_position:0,a_rgbUV:1,a_alphaUV:2});this.programs.set("vap",this.makeProgramEntry(g,{transform:!0,atlasRemap:!0,opacity:!0,rgbPremultiplied:!0})),this.bindProgramSamplers(g,{u_video:0});const Q=EI(A,x.alphaVideo.vert,x.alphaVideo.frag,{a_position:0,a_uv:1});this.programs.set("alpha-video",this.makeProgramEntry(Q,{transform:!0,atlasRemap:!0,opacity:!0,rgbPremultiplied:!0})),this.bindProgramSamplers(Q,{u_video:0});const C=EI(A,x.rgbaTextured.vert,x.rgbaTextured.frag,{a_position:0,a_uv:1});this.programs.set("rgba-textured",this.makeProgramEntry(C,{transform:!0,atlasRemap:!0,opacity:!0})),this.bindProgramSamplers(C,{u_video:0});const E=EI(A,x.clipMask.vert,x.clipMask.frag,{a_position:0});this.programs.set("clip-mask",this.makeProgramEntry(E,{transform:!0}))}makeProgramEntry(A,I={}){const g=this.gl;return{program:A,projLoc:g.getUniformLocation(A,"u_projection"),transformLoc:I.transform?g.getUniformLocation(A,"u_transform"):null,atlasRemapLoc:I.atlasRemap?g.getUniformLocation(A,"u_atlasRemap"):null,opacityLoc:I.opacity?g.getUniformLocation(A,"u_opacity"):null,rgbPremultipliedLoc:I.rgbPremultiplied?g.getUniformLocation(A,"u_rgbPremultiplied"):null,lastOpacity:null,lastRgbPremultiplied:null}}applyIdentityTransform(A){A.transformLoc&&this.gl.uniformMatrix4fv(A.transformLoc,!1,ZC)}bindProgramSamplers(A,I){const g=this.gl;g.useProgram(A);for(const Q in I){const C=g.getUniformLocation(A,Q);C&&g.uniform1i(C,I[Q])}}applyDrawUniforms(A,I,g){const Q=this.gl,C=g.uniforms.u_projection;if(A.projLoc&&C instanceof Float32Array&&C.length>=16&&(this.cachedProjectionShader!==I||this.cachedProjectionRef!==C)&&(Q.uniformMatrix4fv(A.projLoc,!1,C),this.cachedProjectionShader=I,this.cachedProjectionRef=C),A.transformLoc){const E=g.uniforms.u_transform;E instanceof Float32Array?Q.uniformMatrix4fv(A.transformLoc,!1,E):this.applyIdentityTransform(A)}if(A.atlasRemapLoc){const E=g.uniforms.u_atlasRemap;E instanceof Float32Array&&Q.uniform4fv(A.atlasRemapLoc,E)}if(A.opacityLoc){const E=g.uniforms.u_opacity;typeof E=="number"&&A.lastOpacity!==E&&(Q.uniform1f(A.opacityLoc,E),A.lastOpacity=E)}if(A.rgbPremultipliedLoc){const E=g.uniforms.u_rgbPremultiplied;typeof E=="number"&&A.lastRgbPremultiplied!==E&&(Q.uniform1f(A.rgbPremultipliedLoc,E),A.lastRgbPremultiplied=E)}}beginFrame(A={}){const I=this.gl;I.viewport(0,0,this.canvas.width,this.canvas.height),I.clear(I.COLOR_BUFFER_BIT|(A.stencil?I.STENCIL_BUFFER_BIT:0)),I.disable(I.STENCIL_TEST),this.cachedDrawProgram=null,this.cachedTex0Id=null,this.cachedProjectionRef=null,this.cachedProjectionShader=null}endFrame(){this.gl.flush()}getBufferSourceByteLength(A){return ArrayBuffer.isView(A),A.byteLength}normalizeIndexSource(A){if(this.supportsUintIndices)return A;if(ArrayBuffer.isView(A)){if(A instanceof Uint16Array)return A;if("length"in A)return Uint16Array.from(A);const I=new Uint8Array(A.buffer,A.byteOffset,A.byteLength);return new Uint16Array(I.buffer.slice(I.byteOffset,I.byteOffset+I.byteLength))}return new Uint16Array(A)}createBuffer(A,I){const g=this.gl,Q=g.createBuffer();if(!Q)throw new Error("Failed to create buffer");const C=I==="index"?this.normalizeIndexSource(A):A,E=I==="index"?g.ELEMENT_ARRAY_BUFFER:g.ARRAY_BUFFER;g.bindBuffer(E,Q),g.bufferData(E,C,g.DYNAMIC_DRAW);const o=this.nextId++;return this.buffers.set(o,{buffer:Q,usage:I,byteLength:this.getBufferSourceByteLength(C)}),{id:o,usage:I}}updateBuffer(A,I,g=0){const Q=this.buffers.get(A.id);if(!Q)return;const C=this.gl,E=Q.usage==="index"?this.normalizeIndexSource(I):I,o=Q.usage==="index"?C.ELEMENT_ARRAY_BUFFER:C.ARRAY_BUFFER;C.bindBuffer(o,Q.buffer);const i=this.getBufferSourceByteLength(E);g===0&&i<=Q.byteLength?C.bufferSubData(o,0,E):(C.bufferData(o,E,C.DYNAMIC_DRAW),Q.byteLength=i)}deleteBuffer(A){const I=this.buffers.get(A.id);I&&(this.gl.deleteBuffer(I.buffer),this.buffers.delete(A.id))}ensureVideoUploadCanvas(A,I){return this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d")),!this.videoUploadCtx||!this.videoUploadCanvas?null:((this.videoUploadCanvas.width!==A||this.videoUploadCanvas.height!==I)&&(this.videoUploadCanvas.width=A,this.videoUploadCanvas.height=I),this.videoUploadCtx)}uploadVideoFrameToTexture(A,I,g){const Q=this.gl,C=I.videoWidth,E=I.videoHeight;if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||C<=0||E<=0)return!1;const o=this.ensureVideoUploadCanvas(C,E);return!o||!this.videoUploadCanvas?!1:(o.drawImage(I,0,0,C,E),Q.bindTexture(Q.TEXTURE_2D,A),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,1),g?Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,this.videoUploadCanvas):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,this.videoUploadCanvas),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),!0)}createTexture(A,I){var g,Q;const C=this.gl,E=I.filter==="nearest"?C.NEAREST:C.LINEAR,o=wB(C,E),i=I.premultiplyAlpha===!0;let e=(g=I.width)!=null?g:1,t=(Q=I.height)!=null?Q:1;if(A instanceof ArrayBuffer)C.texImage2D(C.TEXTURE_2D,0,C.RGBA,e,t,0,C.RGBA,C.UNSIGNED_BYTE,new Uint8Array(A));else if(typeof VideoFrame!="undefined"&&A instanceof VideoFrame)C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,1),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,A),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),e=A.displayWidth||A.codedWidth||e,t=A.displayHeight||A.codedHeight||t;else if(A instanceof HTMLVideoElement)C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,i?1:0),this.uploadVideoFrameToTexture(o,A,!0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e=A.videoWidth||e,t=A.videoHeight||t;else{const s=i,D=I.sourcePremultiplied===!0,h=s&&!D?1:0;C.bindTexture(C.TEXTURE_2D,o),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,h),C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,A),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),"width"in A&&(e=A.width,t=A.height)}const a=this.nextId++;return this.textures.set(a,{texture:o,width:e,height:t}),{id:a,width:e,height:t}}createEmptyTexture(A,I,g={}){const Q=this.gl,C=g.filter==="nearest"?Q.NEAREST:Q.LINEAR,E=wB(Q,C),o=Math.max(1,Math.floor(A)),i=Math.max(1,Math.floor(I));Q.bindTexture(Q.TEXTURE_2D,E),Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,o,i,0,Q.RGBA,Q.UNSIGNED_BYTE,null);const e=this.nextId++;return this.textures.set(e,{texture:E,width:o,height:i}),{id:e,width:o,height:i}}updateTexture(A,I){const g=this.textures.get(A.id);if(!g)return;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const i=this.gl,e=lI(I),t=NI(I),a=e===g.width&&t===g.height;i.bindTexture(i.TEXTURE_2D,g.texture),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),a?i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,I):(i.texImage2D(i.TEXTURE_2D,0,i.RGBA,i.RGBA,i.UNSIGNED_BYTE,I),e>0&&t>0&&(g.width=e,g.height=t)),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){const i=I.videoWidth,e=I.videoHeight,t=i!==g.width||e!==g.height;this.uploadVideoFrameToTexture(g.texture,I,t)&&t&&(g.width=i,g.height=e);return}const Q=this.gl,C=lI(I),E=NI(I),o=C===g.width&&E===g.height;Q.bindTexture(Q.TEXTURE_2D,g.texture),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),o?Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,I):(Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,Q.RGBA,Q.UNSIGNED_BYTE,I),C>0&&E>0&&(g.width=C,g.height=E)),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0)}updateTextureRegion(A,I,g,Q,C,E){const o=this.textures.get(A.id);if(!o)return;const i=this.gl;i.bindTexture(i.TEXTURE_2D,o.texture);let e,t;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame)e=I.displayWidth||I.codedWidth,t=I.displayHeight||I.codedHeight;else if(I instanceof HTMLVideoElement){if(I.readyState<HTMLMediaElement.HAVE_CURRENT_DATA)return;e=I.videoWidth,t=I.videoHeight}else{const D=I;e=D.width,t=D.height}if(!e||!t)return;const a=C!=null?C:e,s=E!=null?E:t;if(a!==e||s!==t){const D=this.ensureVideoUploadCanvas(a,s);if(!D||!this.videoUploadCanvas)return;D.drawImage(I,0,0,a,s),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,this.videoUploadCanvas),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,1),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0);return}i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,0),i.texSubImage2D(i.TEXTURE_2D,0,g,Q,i.RGBA,i.UNSIGNED_BYTE,I)}deleteTexture(A){const I=this.textures.get(A.id);I&&(this.gl.deleteTexture(I.texture),this.textures.delete(A.id),this.cachedTex0Id===A.id&&(this.cachedTex0Id=null))}draw(A){var I;const g=this.gl,Q=(I=A.stencil)!=null?I:"none",C=A.shader==="clip-mask"||Q==="clear"?"clip-mask":A.shader;if(C==="svga-instanced-premul"||C==="alpha-video-instanced"||C==="vap-instanced")throw new Error(`WebGL1 backend does not support instanced shader: ${C}`);const E=this.programs.get(C);if(!E)return;Q==="clear"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,0,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="write"||A.shader==="clip-mask"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.ALWAYS,1,255),g.stencilOp(g.KEEP,g.KEEP,g.REPLACE),g.stencilMask(255),g.colorMask(!1,!1,!1,!1)):Q==="test"?(g.enable(g.STENCIL_TEST),g.stencilFunc(g.EQUAL,1,255),g.stencilOp(g.KEEP,g.KEEP,g.KEEP),g.stencilMask(0),g.colorMask(!0,!0,!0,!0)):(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)),this.cachedDrawProgram!==C&&(g.useProgram(E.program),this.cachedDrawProgram=C);for(let e=0;e<A.textures.length;e++){const t=A.textures[e].id;if(e===0&&this.cachedTex0Id===t)continue;const a=this.textures.get(t);a&&(g.activeTexture(g.TEXTURE0+e),g.bindTexture(g.TEXTURE_2D,a.texture),e===0&&(this.cachedTex0Id=t))}this.applyDrawUniforms(E,C,A);const o=this.buffers.get(A.vertexBuffer.id),i=this.buffers.get(A.indexBuffer.id);!o||!i||(g.bindBuffer(g.ARRAY_BUFFER,o.buffer),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,i.buffer),this.setupAttributes(C),g.drawElements(g.TRIANGLES,A.indexCount,this.supportsUintIndices?g.UNSIGNED_INT:g.UNSIGNED_SHORT,0),(Q!=="none"||A.shader==="clip-mask")&&(g.disable(g.STENCIL_TEST),g.colorMask(!0,!0,!0,!0)))}clearStencil(){const A=this.gl;A.stencilMask(255),A.clear(A.STENCIL_BUFFER_BIT)}setScissor(A,I,g,Q){const C=this.gl,E=this.canvas.width,o=this.canvas.height,i=Math.max(0,Math.min(E,Math.round(A))),e=Math.max(0,Math.min(o,Math.round(I))),t=Math.max(i,Math.min(E,Math.round(A+g))),a=Math.max(e,Math.min(o,Math.round(I+Q)));C.enable(C.SCISSOR_TEST),C.scissor(i,o-a,t-i,a-e)}resetScissor(){this.gl.disable(this.gl.SCISSOR_TEST)}setupAttributes(A){const I=this.gl;I.disableVertexAttribArray(0),I.disableVertexAttribArray(1),I.disableVertexAttribArray(2),A==="svga-batch-premul"?(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,3,I.FLOAT,!1,36,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,4,I.FLOAT,!1,36,12),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,36,28)):A==="vap"?(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,24,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,24,8),I.enableVertexAttribArray(2),I.vertexAttribPointer(2,2,I.FLOAT,!1,24,16)):A==="clip-mask"?(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,8,0)):(I.enableVertexAttribArray(0),I.vertexAttribPointer(0,2,I.FLOAT,!1,16,0),I.enableVertexAttribArray(1),I.vertexAttribPointer(1,2,I.FLOAT,!1,16,8))}destroy(){const A=this.gl;for(const[,g]of this.buffers)A.deleteBuffer(g.buffer);for(const[,g]of this.textures)A.deleteTexture(g.texture);for(const[,g]of this.programs)A.deleteProgram(g.program);this.buffers.clear(),this.textures.clear(),this.programs.clear();const I=A.getExtension("WEBGL_lose_context");I==null||I.loseContext()}}function EQ(){return typeof GPUQueue!="undefined"&&typeof GPUQueue.prototype.copyExternalImageToTexture=="function"}function VC(){return typeof navigator!="undefined"&&"gpu"in navigator&&EQ()}function vC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl2")!==null}catch(B){return!1}}function XC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl")!==null}catch(B){return!1}}function OC(){return typeof SharedArrayBuffer!="undefined"&&typeof Atomics!="undefined"&&globalThis.crossOriginIsolated===!0}function iQ(){return typeof OffscreenCanvas!="undefined"}async function oQ(B,A=!0,I=!0,g=!1){const Q=I,C=I;if(g){const o=new mg(B,C);return await o.init(),o}if(A&&typeof navigator!="undefined"&&"gpu"in navigator&&EQ())try{const o=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(o){const i=new QQ(B,o,Q);return await i.init(),i}else console.warn("[GiftStage] WebGPU unavailable: requestAdapter returned null, fallback to WebGL2/WebGL1.")}catch(o){console.warn(`[GiftStage] WebGPU init failed: ${o instanceof Error?o.message:String(o)}, fallback to WebGL2/WebGL1.`)}else A&&typeof navigator!="undefined"&&"gpu"in navigator&&console.warn("[GiftStage] WebGPU unavailable: GPUQueue.copyExternalImageToTexture is not supported, fallback to WebGL2/WebGL1.");try{const o=new CQ(B,C);return await o.init(),o}catch(o){console.warn(`[GiftStage] WebGL2 init failed: ${o instanceof Error?o.message:String(o)}, fallback to WebGL1.`)}const E=new mg(B,C);return await E.init(),E}const jC={width:1920,height:1080},PC={width:2560,height:1440};function zC(B=typeof navigator!="undefined"?navigator:void 0){var A;if(!(B!=null&&B.userAgent))return!1;const I=B.userAgent;return!!(/Android|iPhone|iPod|Mobile/i.test(I)||/iPad/i.test(I)||/Macintosh/i.test(I)&&((A=B.maxTouchPoints)!=null?A:0)>1)}function _C(B){return zC(B)?jC:PC}function $C(B,A,I){const g=B.clientWidth||B.getBoundingClientRect().width||0,Q=B.clientHeight||B.getBoundingClientRect().height||0,C=A>0&&Number.isFinite(A)?A:1;let E=Math.max(1,Math.round(g*C)),o=Math.max(1,Math.round(Q*C));if(I!==!1){const i=I!=null?I:_C(),e=Math.max(i.width,i.height),t=Math.min(i.width,i.height);if(e>0&&t>0){const a=Math.min(1,e/Math.max(E,o),t/Math.min(E,o));a<1&&(E=Math.max(1,Math.round(E*a)),o=Math.max(1,Math.round(o*a)))}}(B.width!==E||B.height!==o)&&(B.width=E,B.height=o)}function xg(B){const A=B.clientWidth||B.getBoundingClientRect().width||1,I=B.clientHeight||B.getBoundingClientRect().height||1;return{sx:B.width/Math.max(1,A),sy:B.height/Math.max(1,I)}}const AE=9,SA=13,yA=9,zA=4,nI=6,wI=9,IE={a:1,b:0,c:0,d:1,tx:0,ty:0};function gE(B,A,I){return(B*I+A)*wI}function BE(B,A,I){var g,Q;const C=(g=B.shapesIndex[A*B.frameCount+I])!=null?g:-1;return C<0?null:(Q=B.shapesTable[C])!=null?Q:null}function eQ(B,A){var I,g,Q,C,E,o,i;const e=B.length;let t=A!=null?A:0;if(t<=0)for(const r of B)t=Math.max(t,r.frames.length);const a=B.map(r=>r.imageKey),s=new Float32Array(e*t*wI),D=[],h=new Map,n=new Int32Array(e*t).fill(-1),c=[],F=new Int32Array(e*t).fill(-1);let w=!1;for(let r=0;r<e;r++){const G=B[r];let M=null,R=-1;for(let y=0;y<t;y++){const N=G.frames[y],l=gE(r,y,t);if(!N){s[l+2]=1,s[l+5]=1;continue}const U=(g=(I=N.layout)==null?void 0:I.width)!=null?g:0,Y=(C=(Q=N.layout)==null?void 0:Q.height)!=null?C:0,S=(E=N.transform)!=null?E:IE;s[l]=U,s[l+1]=Y,s[l+2]=S.a,s[l+3]=S.b,s[l+4]=S.c,s[l+5]=S.d,s[l+6]=S.tx,s[l+7]=S.ty,s[l+8]=N.alpha;const J=(o=N.clipPath)!=null?o:"";if(J.length>0){let L=h.get(J);L===void 0&&(L=D.length,D.push(J),h.set(J,L)),n[r*t+y]=L}const f=N.shapes;if(!f||f.length===0){M=null,R=-1;continue}if(((i=f[0])==null?void 0:i.kind)==="keep"){R>=0&&(F[r*t+y]=R,w=!0);continue}if(M!==null&&f===M&&R>=0){F[r*t+y]=R,w=!0;continue}const q=f.every(L=>L.kind!=="keep")?f:f.filter(L=>L.kind!=="keep");if(q.length===0){M=null,R=-1;continue}M=q,R=c.length,c.push(q),F[r*t+y]=R,w=!0}}return{spriteCount:e,frameCount:t,imageKeys:a,frameData:s,clipPaths:D,clipPathIndex:n,shapesTable:c,shapesIndex:F,hasAnyShapes:w}}function PI(B,A,I){const g=Math.floor(B.length/SA),Q=Math.floor(A.length/(zA*yA)),C=Math.floor(I.length/nI),E=Math.min(g,Q,C);for(let o=0;o<E;o++){const i=o*SA,e=B[i],t=B[i+1],a=B[i+2],s=B[i+3],D=B[i+4],h=B[i+5],n=B[i+6],c=B[i+7],F=B[i+8],w=B[i+9],r=B[i+10],G=B[i+11],M=B[i+12],R=n,y=c,N=a*e+n,l=s*e+c,U=a*e+D*t+n,Y=s*e+h*t+c,S=D*t+n,J=h*t+c,f=o*zA*yA;A[f]=R,A[f+1]=y,A[f+2]=0,A[f+3]=1,A[f+4]=1,A[f+5]=1,A[f+6]=F,A[f+7]=w,A[f+8]=r;const q=f+yA;A[q]=N,A[q+1]=l,A[q+2]=0,A[q+3]=1,A[q+4]=1,A[q+5]=1,A[q+6]=F,A[q+7]=G,A[q+8]=r;const L=f+2*yA;A[L]=U,A[L+1]=Y,A[L+2]=0,A[L+3]=1,A[L+4]=1,A[L+5]=1,A[L+6]=F,A[L+7]=G,A[L+8]=M;const V=f+3*yA;A[V]=S,A[V+1]=J,A[V+2]=0,A[V+3]=1,A[V+4]=1,A[V+5]=1,A[V+6]=F,A[V+7]=w,A[V+8]=M;const T=o*nI,P=o*zA;I[T]=P,I[T+1]=P+1,I[T+2]=P+2,I[T+3]=P,I[T+4]=P+2,I[T+5]=P+3}return E}function QE(B,A,I){const g=cB(B,H.__wbindgen_malloc),Q=gA;var C=cB(A,H.__wbindgen_malloc),E=gA,o=DQ(I,H.__wbindgen_malloc),i=gA;return H.build_batch_vertices(g,Q,C,E,A,o,i,I)>>>0}function CE(B){const A=Dg(B,H.__wbindgen_malloc),I=gA,g=H.decode_svga(A,I);if(g[2])throw SI(g[1]);return SI(g[0])}function EE(B){const A=Dg(B,H.__wbindgen_malloc),I=gA,g=H.decode_svga_payload(A,I);if(g[3])throw SI(g[2]);var Q=sg(g[0],g[1]).slice();return H.__wbindgen_free(g[0],g[1]*1,1),Q}function iE(B){const A=Dg(B,H.__wbindgen_malloc),I=gA,g=H.decode_svga_payload_profiled(A,I);if(g[3])throw SI(g[2]);var Q=sg(g[0],g[1]).slice();return H.__wbindgen_free(g[0],g[1]*1,1),Q}function oE(B){const A=Dg(B,H.__wbindgen_malloc),I=gA,g=H.inflate(A,I);if(g[3])throw SI(g[2]);var Q=sg(g[0],g[1]).slice();return H.__wbindgen_free(g[0],g[1]*1,1),Q}function tQ(){H.init()}function eE(){return H.take_svga_payload_profile()}function tE(B,A){const I=hE(B,H.__wbindgen_malloc),g=gA,Q=DQ(A,H.__wbindgen_malloc),C=gA,E=H.triangulate_clip_polygons(I,g,Q,C);var o=aE(E[0],E[1]).slice();return H.__wbindgen_free(E[0],E[1]*4,4),o}function aQ(){return{__proto__:null,"./gift_stage_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(A,I){return Error(wg(A,I))},__wbg_String_8564e559799eccda:function(A,I){const g=String(I),Q=nE(g,H.__wbindgen_malloc,H.__wbindgen_realloc),C=gA;rB().setInt32(A+4,C,!0),rB().setInt32(A+0,Q,!0)},__wbg___wbindgen_copy_to_typed_array_a4db337751e0b328:function(A,I,g){new Uint8Array(g.buffer,g.byteOffset,g.byteLength).set(sg(A,I))},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(A){return typeof A=="string"},__wbg___wbindgen_throw_81fc77679af83bc6:function(A,I){throw new Error(wg(A,I))},__wbg_new_4f9fafbb3909af72:function(){return new Object},__wbg_new_99cabae501c0a8a0:function(){return new Map},__wbg_new_f3c9df4f38f3f798:function(){return new Array},__wbg_now_008d9b84600b5c19:function(){return performance.now()},__wbg_set_08463b1df38a7e29:function(A,I,g){return A.set(I,g)},__wbg_set_6be42768c690e380:function(A,I,g){A[I]=g},__wbg_set_6c60b2e8ad0e9383:function(A,I,g){A[I>>>0]=g},__wbindgen_cast_0000000000000001:function(A){return A},__wbindgen_cast_0000000000000002:function(A,I){return wg(A,I)},__wbindgen_cast_0000000000000003:function(A){return BigInt.asUintN(64,A)},__wbindgen_init_externref_table:function(){const A=H.__wbindgen_externrefs,I=A.grow(4);A.set(0,void 0),A.set(I+0,void 0),A.set(I+1,null),A.set(I+2,!0),A.set(I+3,!1)}}}}function aE(B,A){return B=B>>>0,sQ().subarray(B/4,B/4+A)}function sg(B,A){return B=B>>>0,_A().subarray(B/1,B/1+A)}let xA=null;function rB(){return(xA===null||xA.buffer.detached===!0||xA.buffer.detached===void 0&&xA.buffer!==H.memory.buffer)&&(xA=new DataView(H.memory.buffer)),xA}let eI=null;function sE(){return(eI===null||eI.byteLength===0)&&(eI=new Float32Array(H.memory.buffer)),eI}let tI=null;function DE(){return(tI===null||tI.byteLength===0)&&(tI=new Float64Array(H.memory.buffer)),tI}function wg(B,A){return B=B>>>0,rE(B,A)}let aI=null;function sQ(){return(aI===null||aI.byteLength===0)&&(aI=new Uint32Array(H.memory.buffer)),aI}let sI=null;function _A(){return(sI===null||sI.byteLength===0)&&(sI=new Uint8Array(H.memory.buffer)),sI}function DQ(B,A){const I=A(B.length*4,4)>>>0;return sQ().set(B,I/4),gA=B.length,I}function Dg(B,A){const I=A(B.length*1,1)>>>0;return _A().set(B,I/1),gA=B.length,I}function cB(B,A){const I=A(B.length*4,4)>>>0;return sE().set(B,I/4),gA=B.length,I}function hE(B,A){const I=A(B.length*8,8)>>>0;return DE().set(B,I/8),gA=B.length,I}function nE(B,A,I){if(I===void 0){const o=rI.encode(B),i=A(o.length,1)>>>0;return _A().subarray(i,i+o.length).set(o),gA=o.length,i}let g=B.length,Q=A(g,1)>>>0;const C=_A();let E=0;for(;E<g;E++){const o=B.charCodeAt(E);if(o>127)break;C[Q+E]=o}if(E!==g){E!==0&&(B=B.slice(E)),Q=I(Q,g,g=E+B.length*3,1)>>>0;const o=_A().subarray(Q+E,Q+g),i=rI.encodeInto(B,o);E+=i.written,Q=I(Q,g,E,1)>>>0}return gA=E,Q}function SI(B){const A=H.__wbindgen_externrefs.get(B);return H.__externref_table_dealloc(B),A}let zI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});zI.decode();const wE=2146435072;let rg=0;function rE(B,A){return rg+=A,rg>=wE&&(zI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),zI.decode(),rg=A),zI.decode(_A().subarray(B,B+A))}const rI=new TextEncoder;"encodeInto"in rI||(rI.encodeInto=function(B,A){const I=rI.encode(B);return A.set(I),{read:B.length,written:I.length}});let gA=0,H;function hQ(B,A){return H=B.exports,xA=null,eI=null,tI=null,aI=null,sI=null,H.__wbindgen_start(),H}async function cE(B,A){if(typeof Response=="function"&&B instanceof Response){if(typeof WebAssembly.instantiateStreaming=="function")try{return await WebAssembly.instantiateStreaming(B,A)}catch(Q){if(B.ok&&I(B.type)&&B.headers.get("Content-Type")!=="application/wasm")console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",Q);else throw Q}const g=await B.arrayBuffer();return await WebAssembly.instantiate(g,A)}else{const g=await WebAssembly.instantiate(B,A);return g instanceof WebAssembly.Instance?{instance:g,module:B}:g}function I(g){switch(g){case"basic":case"cors":case"default":return!0}return!1}}function FE(B){if(H!==void 0)return H;B!==void 0&&(Object.getPrototypeOf(B)===Object.prototype?{module:B}=B:console.warn("using deprecated parameters for `initSync()`; pass a single object instead"));const A=aQ();B instanceof WebAssembly.Module||(B=new WebAssembly.Module(B));const I=new WebAssembly.Instance(B,A);return hQ(I)}async function nQ(B){if(H!==void 0)return H;B!==void 0&&(Object.getPrototypeOf(B)===Object.prototype?{module_or_path:B}=B:console.warn("using deprecated parameters for the initialization function; pass a single object instead")),B===void 0&&(B=new URL("data:application/wasm;base64,AGFzbQEAAAAB5AIzYAJ/fwF/YAR/f39/AGADf39/AGACf38AYAN/f38Bf2AFf39/f38AYAF/AGABfwF/YAAAYAZ/f39/f38AYAR/f39/AX9gAAR/f39/YAABb2AFf39/f38Bf2ACf38Ef39/f2ACf38Bb2AGf39/f39/AX9gAn9/AX5gAAF/YAV/f31/fwBgBX9/fn9/AGAFf398f38AYAJ8fAF8YAADf39/YAACf39gAAF8YANvf28AYANvb28Bb2ADb29vAGACf28AYAFvAX9gA39/bwBgAXwBb2ABfgFvYAh/f39/f39/fwBgBn9/f3x8fABgCHx8fHx8fHx8AX9gA39/fgBgBn9/f31/fwBgBn9/f35/fwBgBn9/f3x/fwBgAn9/A39/f2AEf39/fwJ/f2AIf39/f29/f28Bf2AEf35/fwBgBH99f38AYAR/fH9/AGADf399AGAHf39/f39/fwBgAXwBf2ADf398AAKmBxAXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfbm93XzAwOGQ5Yjg0NjAwYjVjMTkAGRcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19zZXRfNmM2MGIyZThhZDBlOTM4MwAaFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX3NldF8wODQ2M2IxZGYzOGE3ZTI5ABsXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAdFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX25ld185OWNhYmFlNTAxYzBhOGEwAAwXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193YmdfbmV3X2YzYzlkZjRmMzhmM2Y3OTgADBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19uZXdfNGY5ZmFmYmIzOTA5YWY3MgAMFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfODFmYzc3Njc5YWY4M2JjNgADFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzJlNTliMWIzN2E5YTM0YzMADxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX3N0cmluZ19iMjliNWM1YTgwNjViYTFhAB4XLi9naWZ0X3N0YWdlX3dhc21fYmcuanM1X193YmdfX193YmluZGdlbl9jb3B5X3RvX3R5cGVkX2FycmF5X2E0ZGIzMzc3NTFlMGIzMjgAHxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAgXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMgX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDEAIBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMgAPFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACEDzAHKAQEiIwcBAgIJAAMEEAYCAgMDAQUECgAKACQREQMBBQICAAICAwQAEgMAAQIDBgABAAEABgEEAQEDBQAGCQUCCQkCBQIDAAIIASUCAwEGBQYCCQYFAQEFBQUFAQEACSYnKAUBAQIEBAUBBAAAAAcCAwEBBgIAAA0AAAoABg4ODikqKxAHDQUUExUGBgEKBAEIAgYWFgAAAwMDAwIALwMCMAIEAjEyBQASCgMAAQEDAAADAAACAgcHCAIEBAYMAAAIAwMABAADAAMHCAIECQJwAWZmbwCACAUDAQARBgkBfwFBgIDAAAsHugIPBm1lbW9yeQIAC2RlY29kZV9zdmdhAI4BE2RlY29kZV9zdmdhX3BheWxvYWQAjAEcZGVjb2RlX3N2Z2FfcGF5bG9hZF9wcm9maWxlZACLARl0YWtlX3N2Z2FfcGF5bG9hZF9wcm9maWxlAMsBB2luZmxhdGUAjQEUYnVpbGRfYmF0Y2hfdmVydGljZXMAkAEZdHJpYW5ndWxhdGVfY2xpcF9wb2x5Z29ucwCPAQRpbml0ANgBEV9fd2JpbmRnZW5fbWFsbG9jAIMBEl9fd2JpbmRnZW5fcmVhbGxvYwCIARVfX3diaW5kZ2VuX2V4dGVybnJlZnMBARlfX2V4dGVybnJl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IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIMQwAAAAAgBkEBcRshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIUQwAAAAAgBSgCEBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIcQwAAAAAgBSgCGBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIkQwAAAAAgBSgCIBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIsQwAAAAAgBSgCKBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAMAQsgBSgCMCIGQQJGDQIgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakECOgAAIAQgAUEBaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJq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IAcgBCAFIAooAgwRBAANASAAIA03AghBAA8LQQEhBiAAKAIAIgEgACgCBCIAIAsgAiADEIUBDQAgASAEIAUgACgCDBEEACEGCyAGC5QGAQV/IABBCGsiASAAQQRrKAIAIgNBeHEiAGohAgJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQeDvwAAoAgBGBEAgAigCBEEDcUEDRw0BQdjvwAAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxAzCwJAAkACQAJAAkAgAigCBCIDQQJxRQRAIAJB5O/AACgCAEYNAiACQeDvwAAoAgBGDQMgAiADQXhxIgIQMyABIAAgAmoiAEEBcjYCBCAAIAFqIAA2AgAgAUHg78AAKAIARw0BQdjvwAAgADYCAA8LIAIgA0F+cTYCBCABIABBAXI2AgQgACABaiAANgIACyAAQYACSQ0CIAEgABA3QQAhAUH478AAQfjvwAAoAgBBAWsiADYCACAADQRBwO3AACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0H478AAQf8fIAEgAUH/H00bNgIADwtB5O/AACABNgIAQdzvwABB3O/AACgCACAAaiIANgIAIAEgAEEBcjYCBEHg78AAKAIAIAFGBEBB2O/AAEEANgIAQeDvwABBADYCAAsgAEHw78AAKAIAIgNNDQNB5O/AACgCACICRQ0DQQAhAEHc78AAKAIAIgRBKUkNAkG47cAAIQEDQCACIAEoAgAiBU8EQCACIAUgASgCBGpJDQQLIAEoAgghAQwACwALQeDvwAAgATYCAEHY78AAQdjvwAAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsCQEHQ78AAKAIAIgJBASAAQQN2dCIDcUUEQEHQ78AAIAIgA3I2AgAgAEH4AXFByO3AAGoiACECDAELIABB+AFxIgBByO3AAGohAiAAQdDtwABqKAIAIQALIAIgATYCCCAAIAE2AgwgASACNgIMIAEgADYCCA8LQcDtwAAoAgAiAQRAA0AgAEEBaiEAIAEoAggiAQ0ACwtB+O/AAEH/HyAAIABB/x9NGzYCACADIARPDQBB8O/AAEF/NgIACwu2DgEHfyMAQSBrIgYkACAAAn8CQAJAAkACQAJAAkACQAJA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C0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECIC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fiMAQRBrIgEkACABQoCAgIDgByICIACthDcDCCABIAIgAEEEaq2ENwMAQaCBwAAgAUHcs8AAEIIBAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEHAzMAAIAEoAgQgASgCCCIALQAIIAAtAAkQSAALIABBgICAgHg2AgAgACABNgIMIABB3MzAACABKAIEIAEoAggiAC0ACCAALQAJEEgACy8AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARDMASIBRQ0BCyABDwsACz8AIAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQsAEPCyABKAIAIAEoAgQgACgCDCgCACIAKAIAIAAoAgQQJgs4AAJAIAJBgIDEAEYNACAAIAIgASgCEBEAAEUNAEEBDwsgA0UEQEEADwsgACADIAQgASgCDBEEAAtFAQF/QRhBBBDMASICRQRAQQRBGBDQAQALIAIgATYCFCACIAA2AhAgAkKAgICAgICAgIB/NwIIIAJCgICAgMAANwIAIAIL7QEBA38gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEHoPC0EAIQIjAEEQayIDJAAgACgCACEAA0AgAiADakEPaiAAQQ9xLQDa2kA6AAAgAkEBayECIABBD0sgAEEEdiEADQALIAFBAUHY2sAAQQIgAiADakEQakEAIAJrEBsgA0EQaiQADwtBACECIwBBEGsiAyQAIAAoAgAhAANAIAIgA2pBD2ogAEEPcS0AyNpAOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQQFB2NrAAEECIAIgA2pBEGpBACACaxAbIANBEGokAAsuAAJAIANpQQFHIAFBgICAgHggA2tLcg0AIAAgASADIAIQtwEiAEUNACAADwsACzkBAX9BASECAkAgACABED0NACABKAIAQenqwABBAiABKAIEKAIMEQQADQAgAEEEaiABED0hAgsgAgstAQF/IwBBEGsiASQAIAEgAUEPaq1CgICAgMAMhDcDAEHL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bmRleCDAFiBpcyBvdXQgb2YgYm91bmRzIG9mIGDAAWDAAAtieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAYpIG9mIGDAAWDAACJhZHZhbmNlIG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IGFkdmFuY2luZyBieSDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAACFjYW5ub3QgYWR2YW5jZSBwYXN0IGByZW1haW5pbmdgOiDABCA8PSDAABNpbnZhbGlkIGtleSB2YWx1ZTogwAAZaW52YWxpZCB3aXJlIHR5cGUgdmFsdWU6IMAAElNlcmlhbGl6ZSBmYWlsZWQ6IMAAEEluZmxhdGUgZmFpbGVkOiDAABhQcm90b2J1ZiBkZWNvZGUgZmFpbGVkOiDAAMACOiDAAHNyY1x2ZXJ0ZXgucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzX211dC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvc3RkL3NyYy9zeXMvdGhyZWFkX2xvY2FsL25vX3RocmVhZHMucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcb3V0cHV0X2J1ZmZlci5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXGZsYXRlMi0xLjEuOVxzcmNcYnVmcmVhZGVyLnJzAHNyY1xjbGlwLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXG1pbml6X294aWRlLTAuOC45XHNyY1xpbmZsYXRlXHN0cmVhbS5ycwBzcmNccHJvdG9idWYucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9pby9ib3Jyb3dlZF9idWYucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zlx3YXNtLWJpbmRnZW4tMC4yLjExN1xzcmNcZXh0ZXJucmVmLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcY29yZS5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTYuMS9zcmMvcmF3L21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9zdGQvc3JjL2lvL21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMS9zcmMvZGxtYWxsb2MucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxlYXJjdXQtMC40Ljlcc3JjXGxpYi5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHNlcmRlLXdhc20tYmluZGdlbi0wLjYuNVxzcmNcbGliLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcYnl0ZXMtMS4xMS4xXHNyY1xsaWIucnMAwCwgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlcgAmY29weV9mcm9tX3NsaWNlOiBzb3VyY2Ugc2xpY2UgbGVuZ3RoICjAKykgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICjAASkAwAsgKG9zIGVycm9yIMABKQATaW52YWxpZCB3aXJlIHR5cGU6IMALIChleHBlY3RlZCDAASkAwAEuwAI6IAByZWN0ZWxsaXBzZURlY29kZWRUcmFuc2Zvcm1hYmNkdHh0eURlY29kZWRTaGFwZVN0eWxlZmlsbHN0cm9rZXN0cm9rZV93aWR0aGxpbmVfY2FwbGluZV9qb2lubWl0ZXJfbGltaXRsaW5lX2Rhc2hTVkdBUGF5bG9hZFByb2ZpbGVpbnB1dEJ5dGVzb3V0cHV0Qnl0ZXNwcm9zdERlY29kZU1zbWV0YWRhdGFBbmRJbWFnZXNNc2ZyYW1lVGFibGVNc2ZpbmFsaXplTXNwYXlsb2FkQnVpbGRNc3J1c3RUb3RhbE1zaW1hZ2VCeXRlc2ltYWdlQ291bnRzcHJpdGVDb3VudGZyYW1lQ291bnRjZWxsQ291bnRjbGlwUGF0aENvdW50c2hhcGVDb3VudHNoYXBlR3JvdXBDb3VudHNoYXBlQnl0ZXN3cml0ZXJJbml0aWFsQ2FwYWNpdHl3cml0ZXJGaW5hbENhcGFjaXR5RGVjb2RlZFJlY3R4eXdpZHRoaGVpZ2h0Y29ybmVyX3JhZGl1c0RlY29kZWRBdWRpb2F1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVEZWNvZGVkQ29sb3JyZ0RlY29kZWRGcmFtZWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzRGVjb2RlZE1vdmlldmVyc2lvbnBhcmFtc2ltYWdlc3Nwcml0ZXNhdWRpb3NEZWNvZGVkU2hhcGVraW5kcGF0aF9kYXRhc3R5bGVEZWNvZGVkTGF5b3V0RGVjb2RlZFBhcmFtc3ZpZXdfYm94X3dpZHRodmlld19ib3hfaGVpZ2h0ZnBzZnJhbWVzRGVjb2RlZFNwcml0ZWltYWdlX2tleURlY29kZWRFbGxpcHNlcmFkaXVzX3hyYWRpdXNfeQAAAP//////////CA4QAEGgnMAAC/MDegYQAA8AAAABAwAAIwAAAHoGEAAPAAAAIAMAACkAAAB6BhAADwAAAAkDAAApAAAASwkQAF4AAACFAgAAKAAAAEsJEABeAAAAbgQAABwAAABLCRAAXgAAAN0CAAAhAAAASwkQAF4AAADpAAAAJgAAAEsJEABeAAAABgEAAB0AAABLCRAAXgAAAHoEAAAzAAAASwkQAF4AAAB7BAAAMwAAAGludmFsaWQgdGFnIHZhbHVlOiAwaW52YWxpZCB2YXJpbnRMYXlvdXR4eXdpZHRoaGVpZ2h0VHJhbnNmb3JtYWJjZHR4dHlBdWRpb0VudGl0eWF1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVGcmFtZUVudGl0eWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzTW92aWVFbnRpdHl2ZXJzaW9ucGFyYW1zaW1hZ2Vzc3ByaXRlc2F1ZGlvc01vdmllUGFyYW1zdmlld19ib3hfd2lkdGh2aWV3X2JveF9oZWlnaHRmcHNmcmFtZXNTaGFwZUVudGl0eXIjdHlwZXNoYXBlcmVjdGVsbGlwc2VzdHlsZXNTcHJpdGVFbnRpdHlpbWFnZV9rZXn//////////wgQEABBoKDAAAuDCk1hcCBrZXkgaXMgbm90IGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgYW4gb2JqZWN0IGtleWludmFsaWQgdGFnIHZhbHVlOiAwZGVsaW1pdGVkIGxlbmd0aCBleGNlZWRlZGJ1ZmZlciB1bmRlcmZsb3dyZWN1cnNpb24gbGltaXQgcmVhY2hlZHVuZXhwZWN0ZWQgZW5kIGdyb3VwIHRhZ2ludmFsaWQgdmFyaW50AAAAiQQQAE4AAABxBwAAEQAAAERhdGEgdG9vIHNob3J0IGZvciB6bGlicmVjdXJzaW9uIGxpbWl0IHJlYWNoZWQAAE0CEAANAAAAHAAAABgAAABNAhAADQAAAB0AAAAYAAAATQIQAA0AAAAeAAAAEQAAAE0CEAANAAAAHwAAABEAAABNAhAADQAAACAAAAARAAAATQIQAA0AAAAhAAAAEQAAAE0CEAANAAAAIgAAABIAAABNAhAADQAAACMAAAASAAAATQIQAA0AAAAkAAAAFQAAAE0CEAANAAAAJQAAABgAAABNAhAADQAAACYAAAAYAAAATQIQAA0AAAAnAAAAGAAAAE0CEAANAAAAKAAAABgAAABNAhAADQAAADYAAAAJAAAATQIQAA0AAAA3AAAACQAAAE0CEAANAAAAOAAAAAkAAABNAhAADQAAADkAAAAJAAAATQIQAA0AAAA6AAAACQAAAE0CEAANAAAAOwAAAAkAAABNAhAADQAAADwAAAAJAAAATQIQAA0AAAA9AAAACQAAAE0CEAANAAAAPgAAAAkAAABNAhAADQAAAEIAAAAJAAAATQIQAA0AAABDAAAACQAAAE0CEAANAAAARAAAAAkAAABNAhAADQAAAEUAAAAJAAAATQIQAA0AAABGAAAACQAAAE0CEAANAAAARwAAAAkAAABNAhAADQAAAEgAAAAJAAAATQIQAA0AAABJAAAACQAAAE0CEAANAAAASgAAAAkAAABNAhAADQAAAE4AAAAJAAAATQIQAA0AAABPAAAACQAAAE0CEAANAAAAUAAAAAkAAABNAhAADQAAAFEAAAAJAAAATQIQAA0AAABSAAAACQAAAE0CEAANAAAAUwAAAAkAAABNAhAADQAAAFQAAAAJAAAATQIQAA0AAABVAAAACQAAAE0CEAANAAAAVgAAAAkAAABNAhAADQAAAFoAAAAJAAAATQIQAA0AAABbAAAACQAAAE0CEAANAAAAXAAAAAkAAABNAhAADQAAAF0AAAAJAAAATQIQAA0AAABeAAAACQAAAE0CEAANAAAAXwAAAAkAAABNAhAADQAAAGAAAAAJAAAATQIQAA0AAABhAAAACQAAAE0CEAANAAAAYgAAAAkAAABNAhAADQAAAGYAAAAJAAAATQIQAA0AAABnAAAACQAAAE0CEAANAAAAaAAAAAkAAABNAhAADQAAAGkAAAAJAAAATQIQAA0AAABqAAAACQAAAE0CEAANAAAAawAAAAkAAAB6BhAADwAAAFYCAAASAAAAegYQAA8AAABcAgAADwAAAHoGEAAPAAAAYwIAABwAAACzBRAACwAAABsAAAAeAAAAswUQAAsAAAAdAAAAHwAAAG1pZCA+IGxlbgAAACADEABfAAAASgAAAB8AAAAgAxAAXwAAAEQAAAAXAAAAAQAAAAAAAADJAxAAYAAAAMMCAAAJAAAAAAAAAP//////////GBUQAEGwqsAAC4MGQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABidWZmZXIgdW5kZXJmbG93aW52YWxpZCBzdHJpbmcgdmFsdWU6IGRhdGEgaXMgbm90IFVURi04IGVuY29kZWRpbnZhbGlkIHZhcmludGNvcnJ1cHQgZGVmbGF0ZSBzdHJlYW1WYXJpbnRTaXh0eUZvdXJCaXRMZW5ndGhEZWxpbWl0ZWRTdGFydEdyb3VwRW5kR3JvdXBUaGlydHlUd29CaXQAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAOMVEADpFRAA9RUQAAQWEAAOFhAAFhYQAGJ1ZmZlciB1bmRlcmZsb3dpbnZhbGlkIHZhcmludHJlY3Vyc2lvbiBsaW1pdCByZWFjaGVkVmFyaW50U2l4dHlGb3VyQml0TGVuZ3RoRGVsaW1pdGVkU3RhcnRHcm91cEVuZEdyb3VwVGhpcnR5VHdvQml0TgUQAGQAAABiAAAAFQAAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAIkWEACPFhAAmxYQAKoWEAC0FhAAvBYQAGFzc2VydGlvbiBmYWlsZWQ6IG4gPD0gc2VsZi5idWYuaW5pdCAtIHNlbGYuYnVmLmZpbGxlZAAAigYQAFMAAAAVAQAACQAAAIUIEABJAAAAsgEAADEAAABSZ2JhQ29sb3JyZ2JhU2hhcGVBcmdzZFNoYXBlU3R5bGVmaWxsc3Ryb2tlc3Ryb2tlX3dpZHRobGluZV9jYXBsaW5lX2pvaW5taXRlcl9saW1pdGxpbmVfZGFzaF9pbGluZV9kYXNoX2lpbGluZV9kYXNoX2lpaUVsbGlwc2VBcmdzeHlyYWRpdXNfeHJhZGl1c195UmVjdEFyZ3N3aWR0aGhlaWdodGNvcm5lcl9yYWRpdXOqCRAAagAAADUAAAAOAAAAAAAAAP//////////KBgQAEHAsMAAC80BQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGZhaWxlZCB0byBkZWNvZGUgUHJvdG9idWYgbWVzc2FnZTogAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgBBmLLAAAvdAgEAAAAvAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDJAxAAYAAAADoFAAAyAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAAzAAAAOAAAAMkDEABgAAAASAUAAEkAAABMYXlvdXRFcnJvcm92ZXJmbG93AFsCEABkAAAAvQIAAB0AAABbAhAAZAAAAKkCAAAVAAAAOQAAADoAAAA7AAAAPAAAAD0AAAAVChAAXgAAAKoAAAAFAAAAYWJvcnQAAAAVChAAXgAAAG4AAAAJAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxhedNycSO0gchL3WO3BlKAuaI/AAAADAAAAAQAAABAAAAAPwAAAAwAAAAEAAAAQQAAAEAAAAA8GhAAQgAAAEMAAABEAAAAQgAAAEUAQYC1wAALaQIAAAAAAAAABAAAANgEEAB1AAAAIAAAAAkAAADYBBAAdQAAACoAAAATAAAASwcQAGwAAABrBgAAGgAAAEsHEABsAAAAawYAADYAAABLBxAAbAAAAF4GAAAoAAAASwcQAGwAAABzBwAAPgBB9LXAAAu9GwEBAQECAgICAwMDAwQEBAQFBQUFAAAAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAgACAAJLBxAAbAAAANkHAABNAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBLBxAAbAAAADwGAAAtAAAASwcQAGwAAAA8BgAAGQAAAAEBAQAEAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAASwcQAGwAAACEBgAAIAAAAEsHEABsAAAAEQIAACgAAAAAAACAAEAAwAAgAKAAYADgABAAkABQANAAMACwAHAA8AAIAIgASADIACgAqABoAOgAGACYAFgA2AA4ALgAeAD4AAQAhABEAMQAJACkAGQA5AAUAJQAVADUADQAtAB0APQADACMAEwAzAAsAKwAbADsABwAnABcANwAPAC8AHwA/AACAIIAQgDCACIAogBiAOIAEgCSAFIA0gAyALIAcgDyAAoAigBKAMoAKgCqAGoA6gAaAJoAWgDaADoAugB6APoABgCGAEYAxgAmAKYAZgDmABYAlgBWANYANgC2AHYA9gAOAI4ATgDOAC4ArgBuAO4AHgCeAF4A3gA+AL4AfgD+AAEAgQBBAMEAIQChAGEA4QARAJEAUQDRADEAsQBxAPEACQCJAEkAyQApAKkAaQDpABkAmQBZANkAOQC5AHkA+QAFAIUARQDFACUApQBlAOUAFQCVAFUA1QA1ALUAdQD1AA0AjQBNAM0ALQCtAG0A7QAdAJ0AXQDdAD0AvQB9AP0AAwCDAEMAwwAjAKMAYwDjABMAkwBTANMAMwCzAHMA8wALAIsASwDLACsAqwBrAOsAGwCbAFsA2wA7ALsAewD7AAcAhwBHAMcAJwCnAGcA5wAXAJcAVwDXADcAtwB3APcADwCPAE8AzwAvAK8AbwDvAB8AnwBfAN8APwC/AH8A/4AAgICAQIDAgCCAoIBggOCAEICQgFCA0IAwgLCAcIDwgAiAiIBIgMiAKICogGiA6IAYgJiAWIDYgDiAuIB4gPiABICEgESAxIAkgKSAZIDkgBSAlIBUgNSANIC0gHSA9IAMgIyATIDMgCyArIBsgOyAHICcgFyA3IA8gLyAfID8gAKAgoBCgMKAIoCigGKA4oASgJKAUoDSgDKAsoBygPKACoCKgEqAyoAqgKqAaoDqgBqAmoBagNqAOoC6gHqA+oAGgIaARoDGgCaApoBmgOaAFoCWgFaA1oA2gLaAdoD2gA6AjoBOgM6ALoCugG6A7oAegJ6AXoDegD6AvoB+gP6AAYCBgEGAwYAhgKGAYYDhgBGAkYBRgNGAMYCxgHGA8YAJgImASYDJgCmAqYBpgOmAGYCZgFmA2YA5gLmAeYD5gAWAhYBFgMWAJYClgGWA5YAVgJWAVYDVgDWAtYB1gPWADYCNgE2AzYAtgK2AbYDtgB2AnYBdgN2APYC9gH2A/YADgIOAQ4DDgCOAo4BjgOOAE4CTgFOA04AzgLOAc4DzgAuAi4BLgMuAK4CrgGuA64AbgJuAW4DbgDuAu4B7gPuAB4CHgEeAx4AngKeAZ4DngBeAl4BXgNeAN4C3gHeA94APgI+AT4DPgC+Ar4BvgO+AH4CfgF+A34A/gL+Af4D/SwcQAGwAAACGAgAAHQAAAEsHEABsAAAAIgQAABQAAABLBxAAbAAAACMEAAASAAAAYXNzZXJ0aW9uIGZhaWxlZDogb3V0X3BvcyArIDMgPCBvdXRfc2xpY2UubGVuKCkASwcQAGwAAAA2BAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IChzb3VyY2VfcG9zICsgMykgJiBvdXRfYnVmX3NpemVfbWFzayA8IG91dF9zbGljZS5sZW4oKUsHEABsAAAANwQAAA0AAABLBxAAbAAAADkEAAAiAAAASwcQAGwAAAA6BAAAJgAAAEsHEABsAAAAOwQAACYAAABLBxAAbAAAAEQEAAAjAAAASwcQAGwAAABEBAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG91dF9wb3MgKyAxIDwgb3V0X3NsaWNlLmxlbigpAEsHEABsAAAARgQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiAoc291cmNlX3BvcyArIDEpICYgb3V0X2J1Zl9zaXplX21hc2sgPCBvdXRfc2xpY2UubGVuKClLBxAAbAAAAEcEAAANAAAASwcQAGwAAABIBAAAIgAAAEsHEABsAAAASAQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBvdXRfcG9zICsgMiA8IG91dF9zbGljZS5sZW4oKQBLBxAAbAAAAEwEAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogKHNvdXJjZV9wb3MgKyAyKSAmIG91dF9idWZfc2l6ZV9tYXNrIDwgb3V0X3NsaWNlLmxlbigpSwcQAGwAAABNBAAADQAAAEsHEABsAAAATgQAACIAAABLBxAAbAAAAE4EAAANAAAASwcQAGwAAABPBAAAJgAAAEsHEABsAAAATwQAAA0AAABLBxAAbAAAACwEAAAXAAAAZGVzdCBpcyBvdXQgb2YgYm91bmRzAAAACwYQAG4AAABCAQAAHAAAAAsGEABuAAAAdgEAADAAAADeBhAAbAAAAHwAAAARAAAA3gYQAGwAAACJAAAAEQAAAG1dy9YsUOtjeEGmV3Ebi7mauO6RURSWWM+WAOjSnxKKZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZXF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JvcGVyYXRpb24gc3VjY2Vzc2Z1bAAAAE0AAAAMAAAABAAAAE4AAABPAAAAUAAAAAAAAAAIAAAABAAAAFEAAABSAAAAUwAAAFQAAABVAAAAEAAAAAQAAABWAAAAVwAAAFgAAABZAAAAAAAAAAgAAAAEAAAAWgAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAACAJEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFk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XAYmCkYKKAUTgbA6gMZbBTQsSwQ5BxFABQsHCZzWKSBhc6H9gTMPAR0GDgQIgYyJBGsFDQMJBxCPYID9A4G0BhcPEQ9HCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqA1isEAYDANggCgOCA9ylMBAoEAoMRREw9gMI8BgEEVQUbNAKBDiwEZAxWCoCuOB0NLAQJBwIOBoCag9kDEQMNA4DaBgwEAQ8MBDgICgYoCCwEAg4JJ4FYCB0DCwM7BB4ECgeA+4QFAAEDBQUGBgIHBggHCREKHAsZDBkNEA4MDwQQAxISEwkWARcEGAEZAxoJGwEcAh8WIAMrAi0LLgEwBDECMgGpAqoEqwj6AvsF/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1teX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx8/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6v3t9Nu7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHUmLi+nr7e/x8/X35oAQJeYMI8fzv9OT1pbBwgPECcv7u9ubzc9P0JFU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUgB4EcAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBRgMUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgZMFID0CDwDDwM+BTgIKwWC/xEYCC8RLQMiDiEPgIwEgpoWCxWIlAUvBTsHAg4YCYC+InQMgNYagRAFgOEJ8p4DNwmBXBSAuAiA3RQ8AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWCsyAqBkwEgI0EgL4DGwMPDbgHEABVAAAACgAAACsAAAC4BxAAVQAAABoAAAA2AAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyby4uUmVmQ2VsbCBhbHJlYWR5IGJvcnJvd2VkAEGM68AACwEEAHwJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjk0LjEgKGU0MDg5NDdiZiAyMDI2LTAzLTI1KQZ3YWxydXMGMC4yNi4xDHdhc20tYmluZGdlbhMwLjIuMTE3IChmYjQwM2NmZWYpAGsPdGFyZ2V0X2ZlYXR1cmVzBisPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50KwtidWxrLW1lbW9yeSsIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==",typeof document=="undefined"?require("url").pathToFileURL(__filename).href:PA&&PA.tagName.toUpperCase()==="SCRIPT"&&PA.src||new URL("gift-stage.cjs.js",document.baseURI).href));const A=aQ();(typeof B=="string"||typeof Request=="function"&&B instanceof Request||typeof URL=="function"&&B instanceof URL)&&(B=fetch(B));const{instance:I,module:g}=await cE(await B,A);return hQ(I)}const GE=Object.freeze(Object.defineProperty({__proto__:null,build_batch_vertices:QE,decode_svga:CE,decode_svga_payload:EE,decode_svga_payload_profiled:iE,default:nQ,inflate:oE,init:tQ,initSync:FE,take_svga_payload_profile:eE,triangulate_clip_polygons:tE},Symbol.toStringTag,{value:"Module"})),cg="data:application/wasm;base64,AGFzbQEAAAAB5AIzYAJ/fwF/YAR/f39/AGADf39/AGACf38AYAN/f38Bf2AFf39/f38AYAF/AGABfwF/YAAAYAZ/f39/f38AYAR/f39/AX9gAAR/f39/YAABb2AFf39/f38Bf2ACf38Ef39/f2ACf38Bb2AGf39/f39/AX9gAn9/AX5gAAF/YAV/f31/fwBgBX9/fn9/AGAFf398f38AYAJ8fAF8YAADf39/YAACf39gAAF8YANvf28AYANvb28Bb2ADb29vAGACf28AYAFvAX9gA39/bwBgAXwBb2ABfgFvYAh/f39/f39/fwBgBn9/f3x8fABgCHx8fHx8fHx8AX9gA39/fgBgBn9/f31/fwBgBn9/f35/fwBgBn9/f3x/fwBgAn9/A39/f2AEf39/fwJ/f2AIf39/f29/f28Bf2AEf35/fwBgBH99f38AYAR/fH9/AGADf399AGAHf39/f39/fwBgAXwBf2ADf398AAKmBxAXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfbm93XzAwOGQ5Yjg0NjAwYjVjMTkAGRcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19zZXRfNmM2MGIyZThhZDBlOTM4MwAaFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX3NldF8wODQ2M2IxZGYzOGE3ZTI5ABsXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAdFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX25ld185OWNhYmFlNTAxYzBhOGEwAAwXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193YmdfbmV3X2YzYzlkZjRmMzhmM2Y3OTgADBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19uZXdfNGY5ZmFmYmIzOTA5YWY3MgAMFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfODFmYzc3Njc5YWY4M2JjNgADFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzJlNTliMWIzN2E5YTM0YzMADxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX3N0cmluZ19iMjliNWM1YTgwNjViYTFhAB4XLi9naWZ0X3N0YWdlX3dhc21fYmcuanM1X193YmdfX193YmluZGdlbl9jb3B5X3RvX3R5cGVkX2FycmF5X2E0ZGIzMzc3NTFlMGIzMjgAHxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAgXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMgX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDEAIBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMgAPFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACEDzAHKAQEiIwcBAgIJAAMEEAYCAgMDAQUECgAKACQREQMBBQICAAICAwQAEgMAAQIDBgABAAEABgEEAQEDBQAGCQUCCQkCBQIDAAIIASUCAwEGBQYCCQYFAQEFBQUFAQEACSYnKAUBAQIEBAUBBAAAAAcCAwEBBgIAAA0AAAoABg4ODikqKxAHDQUUExUGBgEKBAEIAgYWFgAAAwMDAwIALwMCMAIEAjEyBQASCgMAAQEDAAADAAACAgcHCAIEBAYMAAAIAwMABAADAAMHCAIECQJwAWZmbwCACAUDAQARBgkBfwFBgIDAAAsHugIPBm1lbW9yeQIAC2RlY29kZV9zdmdhAI4BE2RlY29kZV9zdmdhX3BheWxvYWQAjAEcZGVjb2RlX3N2Z2FfcGF5bG9hZF9wcm9maWxlZACLARl0YWtlX3N2Z2FfcGF5bG9hZF9wcm9maWxlAMsBB2luZmxhdGUAjQEUYnVpbGRfYmF0Y2hfdmVydGljZXMAkAEZdHJpYW5ndWxhdGVfY2xpcF9wb2x5Z29ucwCPAQRpbml0ANgBEV9fd2JpbmRnZW5fbWFsbG9jAIMBEl9fd2JpbmRnZW5fcmVhbGxvYwCIARVfX3diaW5kZ2VuX2V4dGVybnJlZnMBARlfX2V4dGVybnJl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IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIMQwAAAAAgBkEBcRshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIUQwAAAAAgBSgCEBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIcQwAAAAAgBSgCGBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIkQwAAAAAgBSgCIBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgIsQwAAAAAgBSgCKBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAMAQsgBSgCMCIGQQJGDQIgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakECOgAAIAQgAUEBaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJq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IAcgBCAFIAooAgwRBAANASAAIA03AghBAA8LQQEhBiAAKAIAIgEgACgCBCIAIAsgAiADEIUBDQAgASAEIAUgACgCDBEEACEGCyAGC5QGAQV/IABBCGsiASAAQQRrKAIAIgNBeHEiAGohAgJAAkAgA0EBcQ0AIANBAnFFDQEgASgCACIDIABqIQAgASADayIBQeDvwAAoAgBGBEAgAigCBEEDcUEDRw0BQdjvwAAgADYCACACIAIoAgRBfnE2AgQgASAAQQFyNgIEIAIgADYCAA8LIAEgAxAzCwJAAkACQAJAAkAgAigCBCIDQQJxRQRAIAJB5O/AACgCAEYNAiACQeDvwAAoAgBGDQMgAiADQXhxIgIQMyABIAAgAmoiAEEBcjYCBCAAIAFqIAA2AgAgAUHg78AAKAIARw0BQdjvwAAgADYCAA8LIAIgA0F+cTYCBCABIABBAXI2AgQgACABaiAANgIACyAAQYACSQ0CIAEgABA3QQAhAUH478AAQfjvwAAoAgBBAWsiADYCACAADQRBwO3AACgCACIABEADQCABQQFqIQEgACgCCCIADQALC0H478AAQf8fIAEgAUH/H00bNgIADwtB5O/AACABNgIAQdzvwABB3O/AACgCACAAaiIANgIAIAEgAEEBcjYCBEHg78AAKAIAIAFGBEBB2O/AAEEANgIAQeDvwABBADYCAAsgAEHw78AAKAIAIgNNDQNB5O/AACgCACICRQ0DQQAhAEHc78AAKAIAIgRBKUkNAkG47cAAIQEDQCACIAEoAgAiBU8EQCACIAUgASgCBGpJDQQLIAEoAgghAQwACwALQeDvwAAgATYCAEHY78AAQdjvwAAoAgAgAGoiADYCACABIABBAXI2AgQgACABaiAANgIADwsCQEHQ78AAKAIAIgJBASAAQQN2dCIDcUUEQEHQ78AAIAIgA3I2AgAgAEH4AXFByO3AAGoiACECDAELIABB+AFxIgBByO3AAGohAiAAQdDtwABqKAIAIQALIAIgATYCCCAAIAE2AgwgASACNgIMIAEgADYCCA8LQcDtwAAoAgAiAQRAA0AgAEEBaiEAIAEoAggiAQ0ACwtB+O/AAEH/HyAAIABB/x9NGzYCACADIARPDQBB8O/AAEF/NgIACwu2DgEHfyMAQSBrIgYkACAAAn8CQAJAAkACQAJAAkACQAJA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C0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECIC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fiMAQRBrIgEkACABQoCAgIDgByICIACthDcDCCABIAIgAEEEaq2ENwMAQaCBwAAgAUHcs8AAEIIBAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEHAzMAAIAEoAgQgASgCCCIALQAIIAAtAAkQSAALIABBgICAgHg2AgAgACABNgIMIABB3MzAACABKAIEIAEoAggiAC0ACCAALQAJEEgACy8AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARDMASIBRQ0BCyABDwsACz8AIAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQsAEPCyABKAIAIAEoAgQgACgCDCgCACIAKAIAIAAoAgQQJgs4AAJAIAJBgIDEAEYNACAAIAIgASgCEBEAAEUNAEEBDwsgA0UEQEEADwsgACADIAQgASgCDBEEAAtFAQF/QRhBBBDMASICRQRAQQRBGBDQAQALIAIgATYCFCACIAA2AhAgAkKAgICAgICAgIB/NwIIIAJCgICAgMAANwIAIAIL7QEBA38gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEHoPC0EAIQIjAEEQayIDJAAgACgCACEAA0AgAiADakEPaiAAQQ9xLQDa2kA6AAAgAkEBayECIABBD0sgAEEEdiEADQALIAFBAUHY2sAAQQIgAiADakEQakEAIAJrEBsgA0EQaiQADwtBACECIwBBEGsiAyQAIAAoAgAhAANAIAIgA2pBD2ogAEEPcS0AyNpAOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQQFB2NrAAEECIAIgA2pBEGpBACACaxAbIANBEGokAAsuAAJAIANpQQFHIAFBgICAgHggA2tLcg0AIAAgASADIAIQtwEiAEUNACAADwsACzkBAX9BASECAkAgACABED0NACABKAIAQenqwABBAiABKAIEKAIMEQQADQAgAEEEaiABED0hAgsgAgstAQF/IwBBEGsiASQAIAEgAUEPaq1CgICAgMAMhDcDAEHL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bmRleCDAFiBpcyBvdXQgb2YgYm91bmRzIG9mIGDAAWDAAAtieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAYpIG9mIGDAAWDAACJhZHZhbmNlIG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IGFkdmFuY2luZyBieSDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAACFjYW5ub3QgYWR2YW5jZSBwYXN0IGByZW1haW5pbmdgOiDABCA8PSDAABNpbnZhbGlkIGtleSB2YWx1ZTogwAAZaW52YWxpZCB3aXJlIHR5cGUgdmFsdWU6IMAAElNlcmlhbGl6ZSBmYWlsZWQ6IMAAEEluZmxhdGUgZmFpbGVkOiDAABhQcm90b2J1ZiBkZWNvZGUgZmFpbGVkOiDAAMACOiDAAHNyY1x2ZXJ0ZXgucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzX211dC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvc3RkL3NyYy9zeXMvdGhyZWFkX2xvY2FsL25vX3RocmVhZHMucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcb3V0cHV0X2J1ZmZlci5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXGZsYXRlMi0xLjEuOVxzcmNcYnVmcmVhZGVyLnJzAHNyY1xjbGlwLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXG1pbml6X294aWRlLTAuOC45XHNyY1xpbmZsYXRlXHN0cmVhbS5ycwBzcmNccHJvdG9idWYucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9pby9ib3Jyb3dlZF9idWYucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zlx3YXNtLWJpbmRnZW4tMC4yLjExN1xzcmNcZXh0ZXJucmVmLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcY29yZS5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTYuMS9zcmMvcmF3L21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9zdGQvc3JjL2lvL21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMS9zcmMvZGxtYWxsb2MucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxlYXJjdXQtMC40Ljlcc3JjXGxpYi5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHNlcmRlLXdhc20tYmluZGdlbi0wLjYuNVxzcmNcbGliLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcYnl0ZXMtMS4xMS4xXHNyY1xsaWIucnMAwCwgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlcgAmY29weV9mcm9tX3NsaWNlOiBzb3VyY2Ugc2xpY2UgbGVuZ3RoICjAKykgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICjAASkAwAsgKG9zIGVycm9yIMABKQATaW52YWxpZCB3aXJlIHR5cGU6IMALIChleHBlY3RlZCDAASkAwAEuwAI6IAByZWN0ZWxsaXBzZURlY29kZWRUcmFuc2Zvcm1hYmNkdHh0eURlY29kZWRTaGFwZVN0eWxlZmlsbHN0cm9rZXN0cm9rZV93aWR0aGxpbmVfY2FwbGluZV9qb2lubWl0ZXJfbGltaXRsaW5lX2Rhc2hTVkdBUGF5bG9hZFByb2ZpbGVpbnB1dEJ5dGVzb3V0cHV0Qnl0ZXNwcm9zdERlY29kZU1zbWV0YWRhdGFBbmRJbWFnZXNNc2ZyYW1lVGFibGVNc2ZpbmFsaXplTXNwYXlsb2FkQnVpbGRNc3J1c3RUb3RhbE1zaW1hZ2VCeXRlc2ltYWdlQ291bnRzcHJpdGVDb3VudGZyYW1lQ291bnRjZWxsQ291bnRjbGlwUGF0aENvdW50c2hhcGVDb3VudHNoYXBlR3JvdXBDb3VudHNoYXBlQnl0ZXN3cml0ZXJJbml0aWFsQ2FwYWNpdHl3cml0ZXJGaW5hbENhcGFjaXR5RGVjb2RlZFJlY3R4eXdpZHRoaGVpZ2h0Y29ybmVyX3JhZGl1c0RlY29kZWRBdWRpb2F1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVEZWNvZGVkQ29sb3JyZ0RlY29kZWRGcmFtZWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzRGVjb2RlZE1vdmlldmVyc2lvbnBhcmFtc2ltYWdlc3Nwcml0ZXNhdWRpb3NEZWNvZGVkU2hhcGVraW5kcGF0aF9kYXRhc3R5bGVEZWNvZGVkTGF5b3V0RGVjb2RlZFBhcmFtc3ZpZXdfYm94X3dpZHRodmlld19ib3hfaGVpZ2h0ZnBzZnJhbWVzRGVjb2RlZFNwcml0ZWltYWdlX2tleURlY29kZWRFbGxpcHNlcmFkaXVzX3hyYWRpdXNfeQAAAP//////////CA4QAEGgnMAAC/MDegYQAA8AAAABAwAAIwAAAHoGEAAPAAAAIAMAACkAAAB6BhAADwAAAAkDAAApAAAASwkQAF4AAACFAgAAKAAAAEsJEABeAAAAbgQAABwAAABLCRAAXgAAAN0CAAAhAAAASwkQAF4AAADpAAAAJgAAAEsJEABeAAAABgEAAB0AAABLCRAAXgAAAHoEAAAzAAAASwkQAF4AAAB7BAAAMwAAAGludmFsaWQgdGFnIHZhbHVlOiAwaW52YWxpZCB2YXJpbnRMYXlvdXR4eXdpZHRoaGVpZ2h0VHJhbnNmb3JtYWJjZHR4dHlBdWRpb0VudGl0eWF1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVGcmFtZUVudGl0eWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzTW92aWVFbnRpdHl2ZXJzaW9ucGFyYW1zaW1hZ2Vzc3ByaXRlc2F1ZGlvc01vdmllUGFyYW1zdmlld19ib3hfd2lkdGh2aWV3X2JveF9oZWlnaHRmcHNmcmFtZXNTaGFwZUVudGl0eXIjdHlwZXNoYXBlcmVjdGVsbGlwc2VzdHlsZXNTcHJpdGVFbnRpdHlpbWFnZV9rZXn//////////wgQEABBoKDAAAuDCk1hcCBrZXkgaXMgbm90IGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgYW4gb2JqZWN0IGtleWludmFsaWQgdGFnIHZhbHVlOiAwZGVsaW1pdGVkIGxlbmd0aCBleGNlZWRlZGJ1ZmZlciB1bmRlcmZsb3dyZWN1cnNpb24gbGltaXQgcmVhY2hlZHVuZXhwZWN0ZWQgZW5kIGdyb3VwIHRhZ2ludmFsaWQgdmFyaW50AAAAiQQQAE4AAABxBwAAEQAAAERhdGEgdG9vIHNob3J0IGZvciB6bGlicmVjdXJzaW9uIGxpbWl0IHJlYWNoZWQAAE0CEAANAAAAHAAAABgAAABNAhAADQAAAB0AAAAYAAAATQIQAA0AAAAeAAAAEQAAAE0CEAANAAAAHwAAABEAAABNAhAADQAAACAAAAARAAAATQIQAA0AAAAhAAAAEQAAAE0CEAANAAAAIgAAABIAAABNAhAADQAAACMAAAASAAAATQIQAA0AAAAkAAAAFQAAAE0CEAANAAAAJQAAABgAAABNAhAADQAAACYAAAAYAAAATQIQAA0AAAAnAAAAGAAAAE0CEAANAAAAKAAAABgAAABNAhAADQAAADYAAAAJAAAATQIQAA0AAAA3AAAACQAAAE0CEAANAAAAOAAAAAkAAABNAhAADQAAADkAAAAJAAAATQIQAA0AAAA6AAAACQAAAE0CEAANAAAAOwAAAAkAAABNAhAADQAAADwAAAAJAAAATQIQAA0AAAA9AAAACQAAAE0CEAANAAAAPgAAAAkAAABNAhAADQAAAEIAAAAJAAAATQIQAA0AAABDAAAACQAAAE0CEAANAAAARAAAAAkAAABNAhAADQAAAEUAAAAJAAAATQIQAA0AAABGAAAACQAAAE0CEAANAAAARwAAAAkAAABNAhAADQAAAEgAAAAJAAAATQIQAA0AAABJAAAACQAAAE0CEAANAAAASgAAAAkAAABNAhAADQAAAE4AAAAJAAAATQIQAA0AAABPAAAACQAAAE0CEAANAAAAUAAAAAkAAABNAhAADQAAAFEAAAAJAAAATQIQAA0AAABSAAAACQAAAE0CEAANAAAAUwAAAAkAAABNAhAADQAAAFQAAAAJAAAATQIQAA0AAABVAAAACQAAAE0CEAANAAAAVgAAAAkAAABNAhAADQAAAFoAAAAJAAAATQIQAA0AAABbAAAACQAAAE0CEAANAAAAXAAAAAkAAABNAhAADQAAAF0AAAAJAAAATQIQAA0AAABeAAAACQAAAE0CEAANAAAAXwAAAAkAAABNAhAADQAAAGAAAAAJAAAATQIQAA0AAABhAAAACQAAAE0CEAANAAAAYgAAAAkAAABNAhAADQAAAGYAAAAJAAAATQIQAA0AAABnAAAACQAAAE0CEAANAAAAaAAAAAkAAABNAhAADQAAAGkAAAAJAAAATQIQAA0AAABqAAAACQAAAE0CEAANAAAAawAAAAkAAAB6BhAADwAAAFYCAAASAAAAegYQAA8AAABcAgAADwAAAHoGEAAPAAAAYwIAABwAAACzBRAACwAAABsAAAAeAAAAswUQAAsAAAAdAAAAHwAAAG1pZCA+IGxlbgAAACADEABfAAAASgAAAB8AAAAgAxAAXwAAAEQAAAAXAAAAAQAAAAAAAADJAxAAYAAAAMMCAAAJAAAAAAAAAP//////////GBUQAEGwqsAAC4MGQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABidWZmZXIgdW5kZXJmbG93aW52YWxpZCBzdHJpbmcgdmFsdWU6IGRhdGEgaXMgbm90IFVURi04IGVuY29kZWRpbnZhbGlkIHZhcmludGNvcnJ1cHQgZGVmbGF0ZSBzdHJlYW1WYXJpbnRTaXh0eUZvdXJCaXRMZW5ndGhEZWxpbWl0ZWRTdGFydEdyb3VwRW5kR3JvdXBUaGlydHlUd29CaXQAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAOMVEADpFRAA9RUQAAQWEAAOFhAAFhYQAGJ1ZmZlciB1bmRlcmZsb3dpbnZhbGlkIHZhcmludHJlY3Vyc2lvbiBsaW1pdCByZWFjaGVkVmFyaW50U2l4dHlGb3VyQml0TGVuZ3RoRGVsaW1pdGVkU3RhcnRHcm91cEVuZEdyb3VwVGhpcnR5VHdvQml0TgUQAGQAAABiAAAAFQAAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAIkWEACPFhAAmxYQAKoWEAC0FhAAvBYQAGFzc2VydGlvbiBmYWlsZWQ6IG4gPD0gc2VsZi5idWYuaW5pdCAtIHNlbGYuYnVmLmZpbGxlZAAAigYQAFMAAAAVAQAACQAAAIUIEABJAAAAsgEAADEAAABSZ2JhQ29sb3JyZ2JhU2hhcGVBcmdzZFNoYXBlU3R5bGVmaWxsc3Ryb2tlc3Ryb2tlX3dpZHRobGluZV9jYXBsaW5lX2pvaW5taXRlcl9saW1pdGxpbmVfZGFzaF9pbGluZV9kYXNoX2lpbGluZV9kYXNoX2lpaUVsbGlwc2VBcmdzeHlyYWRpdXNfeHJhZGl1c195UmVjdEFyZ3N3aWR0aGhlaWdodGNvcm5lcl9yYWRpdXOqCRAAagAAADUAAAAOAAAAAAAAAP//////////KBgQAEHAsMAAC80BQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGZhaWxlZCB0byBkZWNvZGUgUHJvdG9idWYgbWVzc2FnZTogAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgBBmLLAAAvdAgEAAAAvAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDJAxAAYAAAADoFAAAyAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAAzAAAAOAAAAMkDEABgAAAASAUAAEkAAABMYXlvdXRFcnJvcm92ZXJmbG93AFsCEABkAAAAvQIAAB0AAABbAhAAZAAAAKkCAAAVAAAAOQAAADoAAAA7AAAAPAAAAD0AAAAVChAAXgAAAKoAAAAFAAAAYWJvcnQAAAAVChAAXgAAAG4AAAAJAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxhedNycSO0gchL3WO3BlKAuaI/AAAADAAAAAQAAABAAAAAPwAAAAwAAAAEAAAAQQAAAEAAAAA8GhAAQgAAAEMAAABEAAAAQgAAAEUAQYC1wAALaQIAAAAAAAAABAAAANgEEAB1AAAAIAAAAAkAAADYBBAAdQAAACoAAAATAAAASwcQAGwAAABrBgAAGgAAAEsHEABsAAAAawYAADYAAABLBxAAbAAAAF4GAAAoAAAASwcQAGwAAABzBwAAPgBB9LXAAAu9GwEBAQECAgICAwMDAwQEBAQFBQUFAAAAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAgACAAJLBxAAbAAAANkHAABNAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBLBxAAbAAAADwGAAAtAAAASwcQAGwAAAA8BgAAGQAAAAEBAQAEAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAASwcQAGwAAACEBgAAIAAAAEsHEABsAAAAEQIAACgAAAAAAACAAEAAwAAgAKAAYADgABAAkABQANAAMACwAHAA8AAIAIgASADIACgAqABoAOgAGACYAFgA2AA4ALgAeAD4AAQAhABEAMQAJACkAGQA5AAUAJQAVADUADQAtAB0APQADACMAEwAzAAsAKwAbADsABwAnABcANwAPAC8AHwA/AACAIIAQgDCACIAogBiAOIAEgCSAFIA0gAyALIAcgDyAAoAigBKAMoAKgCqAGoA6gAaAJoAWgDaADoAugB6APoABgCGAEYAxgAmAKYAZgDmABYAlgBWANYANgC2AHYA9gAOAI4ATgDOAC4ArgBuAO4AHgCeAF4A3gA+AL4AfgD+AAEAgQBBAMEAIQChAGEA4QARAJEAUQDRADEAsQBxAPEACQCJAEkAyQApAKkAaQDpABkAmQBZANkAOQC5AHkA+QAFAIUARQDFACUApQBlAOUAFQCVAFUA1QA1ALUAdQD1AA0AjQBNAM0ALQCtAG0A7QAdAJ0AXQDdAD0AvQB9AP0AAwCDAEMAwwAjAKMAYwDjABMAkwBTANMAMwCzAHMA8wALAIsASwDLACsAqwBrAOsAGwCbAFsA2wA7ALsAewD7AAcAhwBHAMcAJwCnAGcA5wAXAJcAVwDXADcAtwB3APcADwCPAE8AzwAvAK8AbwDvAB8AnwBfAN8APwC/AH8A/4AAgICAQIDAgCCAoIBggOCAEICQgFCA0IAwgLCAcIDwgAiAiIBIgMiAKICogGiA6IAYgJiAWIDYgDiAuIB4gPiABICEgESAxIAkgKSAZIDkgBSAlIBUgNSANIC0gHSA9IAMgIyATIDMgCyArIBsgOyAHICcgFyA3IA8gLyAfID8gAKAgoBCgMKAIoCigGKA4oASgJKAUoDSgDKAsoBygPKACoCKgEqAyoAqgKqAaoDqgBqAmoBagNqAOoC6gHqA+oAGgIaARoDGgCaApoBmgOaAFoCWgFaA1oA2gLaAdoD2gA6AjoBOgM6ALoCugG6A7oAegJ6AXoDegD6AvoB+gP6AAYCBgEGAwYAhgKGAYYDhgBGAkYBRgNGAMYCxgHGA8YAJgImASYDJgCmAqYBpgOmAGYCZgFmA2YA5gLmAeYD5gAWAhYBFgMWAJYClgGWA5YAVgJWAVYDVgDWAtYB1gPWADYCNgE2AzYAtgK2AbYDtgB2AnYBdgN2APYC9gH2A/YADgIOAQ4DDgCOAo4BjgOOAE4CTgFOA04AzgLOAc4DzgAuAi4BLgMuAK4CrgGuA64AbgJuAW4DbgDuAu4B7gPuAB4CHgEeAx4AngKeAZ4DngBeAl4BXgNeAN4C3gHeA94APgI+AT4DPgC+Ar4BvgO+AH4CfgF+A34A/gL+Af4D/SwcQAGwAAACGAgAAHQAAAEsHEABsAAAAIgQAABQAAABLBxAAbAAAACMEAAASAAAAYXNzZXJ0aW9uIGZhaWxlZDogb3V0X3BvcyArIDMgPCBvdXRfc2xpY2UubGVuKCkASwcQAGwAAAA2BAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IChzb3VyY2VfcG9zICsgMykgJiBvdXRfYnVmX3NpemVfbWFzayA8IG91dF9zbGljZS5sZW4oKUsHEABsAAAANwQAAA0AAABLBxAAbAAAADkEAAAiAAAASwcQAGwAAAA6BAAAJgAAAEsHEABsAAAAOwQAACYAAABLBxAAbAAAAEQEAAAjAAAASwcQAGwAAABEBAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG91dF9wb3MgKyAxIDwgb3V0X3NsaWNlLmxlbigpAEsHEABsAAAARgQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiAoc291cmNlX3BvcyArIDEpICYgb3V0X2J1Zl9zaXplX21hc2sgPCBvdXRfc2xpY2UubGVuKClLBxAAbAAAAEcEAAANAAAASwcQAGwAAABIBAAAIgAAAEsHEABsAAAASAQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBvdXRfcG9zICsgMiA8IG91dF9zbGljZS5sZW4oKQBLBxAAbAAAAEwEAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogKHNvdXJjZV9wb3MgKyAyKSAmIG91dF9idWZfc2l6ZV9tYXNrIDwgb3V0X3NsaWNlLmxlbigpSwcQAGwAAABNBAAADQAAAEsHEABsAAAATgQAACIAAABLBxAAbAAAAE4EAAANAAAASwcQAGwAAABPBAAAJgAAAEsHEABsAAAATwQAAA0AAABLBxAAbAAAACwEAAAXAAAAZGVzdCBpcyBvdXQgb2YgYm91bmRzAAAACwYQAG4AAABCAQAAHAAAAAsGEABuAAAAdgEAADAAAADeBhAAbAAAAHwAAAARAAAA3gYQAGwAAACJAAAAEQAAAG1dy9YsUOtjeEGmV3Ebi7mauO6RURSWWM+WAOjSnxKKZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZXF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JvcGVyYXRpb24gc3VjY2Vzc2Z1bAAAAE0AAAAMAAAABAAAAE4AAABPAAAAUAAAAAAAAAAIAAAABAAAAFEAAABSAAAAUwAAAFQAAABVAAAAEAAAAAQAAABWAAAAVwAAAFgAAABZAAAAAAAAAAgAAAAEAAAAWgAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAACAJEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFk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XAYmCkYKKAUTgbA6gMZbBTQsSwQ5BxFABQsHCZzWKSBhc6H9gTMPAR0GDgQIgYyJBGsFDQMJBxCPYID9A4G0BhcPEQ9HCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqA1isEAYDANggCgOCA9ylMBAoEAoMRREw9gMI8BgEEVQUbNAKBDiwEZAxWCoCuOB0NLAQJBwIOBoCag9kDEQMNA4DaBgwEAQ8MBDgICgYoCCwEAg4JJ4FYCB0DCwM7BB4ECgeA+4QFAAEDBQUGBgIHBggHCREKHAsZDBkNEA4MDwQQAxISEwkWARcEGAEZAxoJGwEcAh8WIAMrAi0LLgEwBDECMgGpAqoEqwj6AvsF/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1teX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx8/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6v3t9Nu7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHUmLi+nr7e/x8/X35oAQJeYMI8fzv9OT1pbBwgPECcv7u9ubzc9P0JFU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUgB4EcAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBRgMUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgZMFID0CDwDDwM+BTgIKwWC/xEYCC8RLQMiDiEPgIwEgpoWCxWIlAUvBTsHAg4YCYC+InQMgNYagRAFgOEJ8p4DNwmBXBSAuAiA3RQ8AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWCsyAqBkwEgI0EgL4DGwMPDbgHEABVAAAACgAAACsAAAC4BxAAVQAAABoAAAA2AAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyby4uUmVmQ2VsbCBhbHJlYWR5IGJvcnJvd2VkAEGM68AACwEEAHwJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjk0LjEgKGU0MDg5NDdiZiAyMDI2LTAzLTI1KQZ3YWxydXMGMC4yNi4xDHdhc20tYmluZGdlbhMwLjIuMTE3IChmYjQwM2NmZWYpAGsPdGFyZ2V0X2ZlYXR1cmVzBisPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50KwtidWxrLW1lbW9yeSsIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==";let j=null,pI=null;function FB(){return typeof performance!="undefined"?performance.now():Date.now()}function yE(){var B;const A=globalThis.process;return(B=A==null?void 0:A.versions)!=null&&B.node&&cg.startsWith("/")?new URL(Object.assign({})[`../..${cg}`],typeof document=="undefined"?require("url").pathToFileURL(__filename).href:PA&&PA.tagName.toUpperCase()==="SCRIPT"&&PA.src||new URL("gift-stage.cjs.js",document.baseURI).href):cg}function $A(){return j!==null}async function wQ(){return j?!0:pI||(pI=(async()=>{try{return await nQ({module_or_path:yE()}),tQ(),j=GE,!0}catch(B){return console.warn("[GiftStage] WASM unavailable, using JS fallback:",B),!1}})(),pI)}function RE(B){if(!j)return null;try{return j.inflate(B)}catch(A){return null}}function ME(B){if(!j)return null;try{return SE(j.decode_svga(B))}catch(A){return null}}function lE(B){if(!j)return null;try{return j.decode_svga_payload(B)}catch(A){return null}}function NE(B){if(!j)return null;try{const A=FB(),I=typeof j.decode_svga_payload_profiled=="function"?j.decode_svga_payload_profiled(B):j.decode_svga_payload(B),g=FB()-A,Q=typeof j.take_svga_payload_profile=="function"?j.take_svga_payload_profile():null,C=Q&&typeof Q=="object"?Q:null;return{payload:I,profile:C?{...C,jsCallTotalMs:g,wasmBoundaryAndGlueMs:Math.max(0,g-C.rustTotalMs)}:void 0}}catch(A){return null}}function Fg(B,A,I){if(!j)return null;try{return j.build_batch_vertices(B,A,I)}catch(g){return null}}function SE(B){var A,I,g,Q,C,E,o;const i=B.params,e=i?{viewBoxWidth:(A=i.view_box_width)!=null?A:0,viewBoxHeight:(I=i.view_box_height)!=null?I:0,fps:(g=i.fps)!=null?g:20,frames:(Q=i.frames)!=null?Q:0}:{viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0},t=new Map,a=B.images;if(a instanceof Map)for(const[h,n]of a)t.set(h,n instanceof Uint8Array?n:new Uint8Array(n));else if(a&&typeof a=="object")for(const[h,n]of Object.entries(a))t.set(h,n instanceof Uint8Array?n:new Uint8Array(n));const s=((C=B.sprites)!=null?C:[]).map(kE),D=((E=B.audios)!=null?E:[]).map(h=>{var n,c,F,w,r;return{audioKey:(n=h.audio_key)!=null?n:"",startFrame:(c=h.start_frame)!=null?c:0,endFrame:(F=h.end_frame)!=null?F:0,startTime:(w=h.start_time)!=null?w:0,totalTime:(r=h.total_time)!=null?r:0}});return{version:(o=B.version)!=null?o:"",params:e,images:t,spriteTable:eQ(s,e.frames),audios:D}}function kE(B){var A,I;let g=null;const Q=((A=B.frames)!=null?A:[]).map(C=>{var E,o,i,e,t,a,s,D,h,n,c;const F=Array.isArray(C.shapes)?C.shapes:[];let w;return F.length===0?(g=null,w=null):((E=F[0])==null?void 0:E.kind)==="keep"?w=g:(w=YE(F),g=w),{alpha:(o=C.alpha)!=null?o:0,layout:C.layout?{width:(i=C.layout.width)!=null?i:0,height:(e=C.layout.height)!=null?e:0}:null,transform:C.transform?{a:(t=C.transform.a)!=null?t:1,b:(a=C.transform.b)!=null?a:0,c:(s=C.transform.c)!=null?s:0,d:(D=C.transform.d)!=null?D:1,tx:(h=C.transform.tx)!=null?h:0,ty:(n=C.transform.ty)!=null?n:0}:null,clipPath:(c=C.clip_path)!=null?c:"",shapes:w}});return{imageKey:(I=B.image_key)!=null?I:"",frames:Q}}function GB(B){var A,I,g,Q;return B?{r:(A=B.r)!=null?A:0,g:(I=B.g)!=null?I:0,b:(g=B.b)!=null?g:0,a:(Q=B.a)!=null?Q:0}:null}function dE(B){var A,I,g,Q,C,E;const o=(A=B==null?void 0:B.line_dash)!=null?A:B==null?void 0:B.lineDash;return{fill:GB(B==null?void 0:B.fill),stroke:GB(B==null?void 0:B.stroke),strokeWidth:(g=(I=B==null?void 0:B.stroke_width)!=null?I:B==null?void 0:B.strokeWidth)!=null?g:0,lineCap:(Q=B==null?void 0:B.line_cap)!=null?Q:B==null?void 0:B.lineCap,lineJoin:(C=B==null?void 0:B.line_join)!=null?C:B==null?void 0:B.lineJoin,miterLimit:(E=B==null?void 0:B.miter_limit)!=null?E:B==null?void 0:B.miterLimit,lineDash:Array.isArray(o)&&o.length>0?o:void 0}}function UE(B){var A,I,g,Q,C,E;return{a:(A=B==null?void 0:B.a)!=null?A:1,b:(I=B==null?void 0:B.b)!=null?I:0,c:(g=B==null?void 0:B.c)!=null?g:0,d:(Q=B==null?void 0:B.d)!=null?Q:1,tx:(C=B==null?void 0:B.tx)!=null?C:0,ty:(E=B==null?void 0:B.ty)!=null?E:0}}function YE(B){var A,I,g,Q,C,E,o,i,e,t,a,s,D;if(!Array.isArray(B)||B.length===0)return null;const h=[];for(const n of B){const c=n==null?void 0:n.kind;if(c!=="path"&&c!=="rect"&&c!=="ellipse")continue;const F={kind:c,pathData:(A=n.path_data)!=null?A:n.pathData,rect:n.rect?{x:(I=n.rect.x)!=null?I:0,y:(g=n.rect.y)!=null?g:0,width:(Q=n.rect.width)!=null?Q:0,height:(C=n.rect.height)!=null?C:0,cornerRadius:(o=(E=n.rect.corner_radius)!=null?E:n.rect.cornerRadius)!=null?o:0}:void 0,ellipse:n.ellipse?{x:(i=n.ellipse.x)!=null?i:0,y:(e=n.ellipse.y)!=null?e:0,radiusX:(a=(t=n.ellipse.radius_x)!=null?t:n.ellipse.radiusX)!=null?a:0,radiusY:(D=(s=n.ellipse.radius_y)!=null?s:n.ellipse.radiusY)!=null?D:0}:void 0,style:dE(n.style),transform:UE(n.transform)};h.push(F)}return h.length>0?h:null}var KE=Object.defineProperty,fE=(B,A,I)=>A in B?KE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Gg=(B,A,I)=>fE(B,typeof A!="symbol"?A+"":A,I);class rQ{constructor(){Gg(this,"floatPoolA",null),Gg(this,"floatPoolB",null),Gg(this,"uint32Pool",null)}getFloat32(A){var I,g;if(!this.floatPoolA||this.floatPoolA.length<A){const Q=Math.max(A,((g=(I=this.floatPoolA)==null?void 0:I.length)!=null?g:0)*2,1024);this.floatPoolA=new Float32Array(Q)}return this.floatPoolA}getFloat32B(A){var I,g;if(!this.floatPoolB||this.floatPoolB.length<A){const Q=Math.max(A,((g=(I=this.floatPoolB)==null?void 0:I.length)!=null?g:0)*2,1024);this.floatPoolB=new Float32Array(Q)}return this.floatPoolB}getUint32(A){var I,g;if(!this.uint32Pool||this.uint32Pool.length<A){const Q=Math.max(A,((g=(I=this.uint32Pool)==null?void 0:I.length)!=null?g:0)*2,1024);this.uint32Pool=new Uint32Array(Q)}return this.uint32Pool}destroy(){this.floatPoolA=null,this.floatPoolB=null,this.uint32Pool=null}}function LA(B,A,I,g,Q,C){const E=1/(B-A),o=1/(I-g),i=1/(Q-C),e=new Float32Array(16);return e[0]=-2*E,e[5]=-2*o,e[10]=2*i,e[12]=(B+A)*E,e[13]=(g+I)*o,e[14]=(Q+C)*i,e[15]=1,e}function sA(B,A,I){return B+(A-B)*I}function _I(B,A,I){return B<A?A:B>I?I:B}let JE=0;function cQ(){return`gift_${++JE}_${Date.now().toString(36)}`}const gg=8;function FQ(B){if(!B||B.trim().length===0)return[];const A=[];let I=[],g=0,Q=0,C=0,E=0,o=0,i=0;const e=LE(B);let t=0;function a(){return t<e.length?parseFloat(e[t++]):0}for(;t<e.length;)switch(e[t++]){case"M":for(I.length>0&&(A.push(I),I=[]),g=a(),Q=a(),C=g,E=Q,I.push({x:g,y:Q});t<e.length&&!isNaN(parseFloat(e[t]));)g=a(),Q=a(),I.push({x:g,y:Q});break;case"m":for(I.length>0&&(A.push(I),I=[]),g+=a(),Q+=a(),C=g,E=Q,I.push({x:g,y:Q});t<e.length&&!isNaN(parseFloat(e[t]));)g+=a(),Q+=a(),I.push({x:g,y:Q});break;case"L":for(;t<e.length&&!isNaN(parseFloat(e[t]));)g=a(),Q=a(),I.push({x:g,y:Q});break;case"l":for(;t<e.length&&!isNaN(parseFloat(e[t]));)g+=a(),Q+=a(),I.push({x:g,y:Q});break;case"H":for(;t<e.length&&!isNaN(parseFloat(e[t]));)g=a(),I.push({x:g,y:Q});break;case"h":for(;t<e.length&&!isNaN(parseFloat(e[t]));)g+=a(),I.push({x:g,y:Q});break;case"V":for(;t<e.length&&!isNaN(parseFloat(e[t]));)Q=a(),I.push({x:g,y:Q});break;case"v":for(;t<e.length&&!isNaN(parseFloat(e[t]));)Q+=a(),I.push({x:g,y:Q});break;case"C":{for(;t<e.length&&!isNaN(parseFloat(e[t]));){const D=a(),h=a(),n=a(),c=a(),F=a(),w=a();mI(I,g,Q,D,h,n,c,F,w),o=n,i=c,g=F,Q=w}break}case"c":{for(;t<e.length&&!isNaN(parseFloat(e[t]));){const D=g+a(),h=Q+a(),n=g+a(),c=Q+a(),F=g+a(),w=Q+a();mI(I,g,Q,D,h,n,c,F,w),o=n,i=c,g=F,Q=w}break}case"S":{for(;t<e.length&&!isNaN(parseFloat(e[t]));){const D=2*g-o,h=2*Q-i,n=a(),c=a(),F=a(),w=a();mI(I,g,Q,D,h,n,c,F,w),o=n,i=c,g=F,Q=w}break}case"s":{for(;t<e.length&&!isNaN(parseFloat(e[t]));){const D=2*g-o,h=2*Q-i,n=g+a(),c=Q+a(),F=g+a(),w=Q+a();mI(I,g,Q,D,h,n,c,F,w),o=n,i=c,g=F,Q=w}break}case"Q":{for(;t<e.length&&!isNaN(parseFloat(e[t]));){const D=a(),h=a(),n=a(),c=a();yB(I,g,Q,D,h,n,c),o=D,i=h,g=n,Q=c}break}case"q":{for(;t<e.length&&!isNaN(parseFloat(e[t]));){const D=g+a(),h=Q+a(),n=g+a(),c=Q+a();yB(I,g,Q,D,h,n,c),o=D,i=h,g=n,Q=c}break}case"Z":case"z":g=C,Q=E,I.length>0&&(A.push(I),I=[]);break}return I.length>0&&A.push(I),A}function LE(B){return B.replace(/([A-Za-z])/g," $1 ").replace(/,/g," ").trim().split(/\s+/).filter(A=>A.length>0)}function mI(B,A,I,g,Q,C,E,o,i){for(let e=1;e<=gg;e++){const t=e/gg,a=1-t,s=a*a,D=t*t;B.push({x:s*a*A+3*s*t*g+3*a*D*C+D*t*o,y:s*a*I+3*s*t*Q+3*a*D*E+D*t*i})}}function yB(B,A,I,g,Q,C,E){for(let o=1;o<=gg;o++){const i=o/gg,e=1-i;B.push({x:e*e*A+2*e*i*g+i*i*C,y:e*e*I+2*e*i*Q+i*i*E})}}function uE(B){const A=B.length;if(A<3)return[];if(A===3)return[0,1,2];const I=[],g=Array.from({length:A},(o,i)=>i),C=HE(B)>0;let E=A*A;for(;g.length>3&&E-- >0;){let o=!1;const i=g.length;for(let e=0;e<i;e++){const t=g[(e-1+i)%i],a=g[e],s=g[(e+1)%i],D=B[t],h=B[a],n=B[s],c=(h.x-D.x)*(n.y-D.y)-(h.y-D.y)*(n.x-D.x);if(!(C?c>0:c<0))continue;let w=!1;for(let r=0;r<i;r++)if(!(r===(e-1+i)%i||r===e||r===(e+1)%i)&&qE(B[g[r]],D,h,n)){w=!0;break}if(!w){C?I.push(t,a,s):I.push(t,s,a),g.splice(e,1),o=!0;break}}if(!o)break}if(g.length===3){const[o,i,e]=g;C?I.push(o,i,e):I.push(o,e,i)}return I}function HE(B){let A=0;const I=B.length;for(let g=0;g<I;g++){const Q=(g+1)%I;A+=B[g].x*B[Q].y,A-=B[Q].x*B[g].y}return A*.5}function qE(B,A,I,g){const Q=yg(B,A,I),C=yg(B,I,g),E=yg(B,g,A),o=Q<0||C<0||E<0,i=Q>0||C>0||E>0;return!(o&&i)}function yg(B,A,I){return(B.x-I.x)*(A.y-I.y)-(A.x-I.x)*(B.y-I.y)}function nA(B){var A;return(A=B.options.objectFit)!=null?A:"contain"}function uA(B,A,I,g){const Q=g!=null?g:{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0},C=B.width*B.scale,E=B.height*B.scale,o=nA(B);if(!(A>0)||!(I>0))return Q.scaleX=1,Q.scaleY=1,Q.width=C,Q.height=E,Q.offsetX=0,Q.offsetY=0,Q;if(o==="fill")return Q.scaleX=C/A,Q.scaleY=E/I,Q.width=C,Q.height=E,Q.offsetX=0,Q.offsetY=0,Q;const i=o==="cover"?Math.max(C/A,E/I):Math.min(C/A,E/I),e=A*i,t=I*i;return Q.scaleX=i,Q.scaleY=i,Q.width=e,Q.height=t,Q.offsetX=o==="cover"?(C-e)*.5:0,Q.offsetY=o==="cover"?(E-t)*.5:0,Q}function pE(B,A,I=2){const g=B.length;let Q=mE(B,0,g,I,!0);const C=[];if(!Q||Q.next===Q.prev)return C;let E,o,i;if(B.length>80*I){E=B[0],o=B[1];let e=E,t=o;for(let a=I;a<g;a+=I){const s=B[a],D=B[a+1];s<E&&(E=s),D<o&&(o=D),s>e&&(e=s),D>t&&(t=D)}i=Math.max(e-E,t-o),i=i!==0?32767/i:0}return dI(Q,C,I,E,o,i,0),C}function mE(B,A,I,g,Q){let C;if(Q===zE(B,A,I,g)>0)for(let E=A;E<I;E+=g)C=RB(E/g|0,B[E],B[E+1],C);else for(let E=I-g;E>=A;E-=g)C=RB(E/g|0,B[E],B[E+1],C);return C&&hg(C,C.next)&&(UI(C),C=C.next),C}function kI(B,A){if(!B)return B;A||(A=B);let I=B,g;do if(g=!1,!I.steiner&&(hg(I,I.next)||v(I.prev,I,I.next)===0)){if(UI(I),I=A=I.prev,I===I.next)break;g=!0}else I=I.next;while(g||I!==A);return A}function dI(B,A,I,g,Q,C,E){if(!B)return;!E&&C&&ZE(B,g,Q,C);let o=B;for(;B.prev!==B.next;){const i=B.prev,e=B.next;if(C?bE(B,g,Q,C):xE(B)){A.push(i.i,B.i,e.i),UI(B),B=e.next,o=e.next;continue}if(B=e,B===o){E?E===1?(B=TE(kI(B),A),dI(B,A,I,g,Q,C,2)):E===2&&WE(B,A,I,g,Q,C):dI(kI(B),A,I,g,Q,C,1);break}}}function xE(B){const A=B.prev,I=B,g=B.next;if(v(A,I,g)>=0)return!1;const Q=A.x,C=I.x,E=g.x,o=A.y,i=I.y,e=g.y,t=Math.min(Q,C,E),a=Math.min(o,i,e),s=Math.max(Q,C,E),D=Math.max(o,i,e);let h=g.next;for(;h!==A;){if(h.x>=t&&h.x<=s&&h.y>=a&&h.y<=D&&DI(Q,o,C,i,E,e,h.x,h.y)&&v(h.prev,h,h.next)>=0)return!1;h=h.next}return!0}function bE(B,A,I,g){const Q=B.prev,C=B,E=B.next;if(v(Q,C,E)>=0)return!1;const o=Q.x,i=C.x,e=E.x,t=Q.y,a=C.y,s=E.y,D=Math.min(o,i,e),h=Math.min(t,a,s),n=Math.max(o,i,e),c=Math.max(t,a,s),F=bg(D,h,A,I,g),w=bg(n,c,A,I,g);let r=B.prevZ,G=B.nextZ;for(;r&&r.z>=F&&G&&G.z<=w;){if(r.x>=D&&r.x<=n&&r.y>=h&&r.y<=c&&r!==Q&&r!==E&&DI(o,t,i,a,e,s,r.x,r.y)&&v(r.prev,r,r.next)>=0||(r=r.prevZ,G.x>=D&&G.x<=n&&G.y>=h&&G.y<=c&&G!==Q&&G!==E&&DI(o,t,i,a,e,s,G.x,G.y)&&v(G.prev,G,G.next)>=0))return!1;G=G.nextZ}for(;r&&r.z>=F;){if(r.x>=D&&r.x<=n&&r.y>=h&&r.y<=c&&r!==Q&&r!==E&&DI(o,t,i,a,e,s,r.x,r.y)&&v(r.prev,r,r.next)>=0)return!1;r=r.prevZ}for(;G&&G.z<=w;){if(G.x>=D&&G.x<=n&&G.y>=h&&G.y<=c&&G!==Q&&G!==E&&DI(o,t,i,a,e,s,G.x,G.y)&&v(G.prev,G,G.next)>=0)return!1;G=G.nextZ}return!0}function TE(B,A){let I=B;do{const g=I.prev,Q=I.next.next;!hg(g,Q)&&GQ(g,I,I.next,Q)&&Bg(g,Q)&&Bg(Q,g)&&(A.push(g.i,I.i,Q.i),UI(I),UI(I.next),I=B=Q),I=I.next}while(I!==B);return kI(I)}function WE(B,A,I,g,Q,C){let E=B;do{let o=E.next.next;for(;o!==E.prev;){if(E.i!==o.i&&XE(E,o)){let i=PE(E,o);E=kI(E,E.next),i=kI(i,i.next),dI(E,A,I,g,Q,C,0),dI(i,A,I,g,Q,C,0);return}o=o.next}E=E.next}while(E!==B)}function ZE(B,A,I,g){let Q=B;do Q.z===0&&(Q.z=bg(Q.x,Q.y,A,I,g)),Q.prevZ=Q.prev,Q.nextZ=Q.next,Q=Q.next;while(Q!==B);Q.prevZ.nextZ=null,Q.prevZ=null,VE(Q)}function VE(B){let A,I=1;do{let g=B,Q;B=null;let C=null;for(A=0;g;){A++;let E=g,o=0;for(let e=0;e<I&&(o++,E=E.nextZ,!!E);e++);let i=I;for(;o>0||i>0&&E;)o!==0&&(i===0||!E||g.z<=E.z)?(Q=g,g=g.nextZ,o--):(Q=E,E=E.nextZ,i--),C?C.nextZ=Q:B=Q,Q.prevZ=C,C=Q;g=E}C.nextZ=null,I*=2}while(A>1);return B}function bg(B,A,I,g,Q){return B=(B-I)*Q|0,A=(A-g)*Q|0,B=(B|B<<8)&16711935,B=(B|B<<4)&252645135,B=(B|B<<2)&858993459,B=(B|B<<1)&1431655765,A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,B|A<<1}function vE(B,A,I,g,Q,C,E,o){return(Q-E)*(A-o)>=(B-E)*(C-o)&&(B-E)*(g-o)>=(I-E)*(A-o)&&(I-E)*(C-o)>=(Q-E)*(g-o)}function DI(B,A,I,g,Q,C,E,o){return!(B===E&&A===o)&&vE(B,A,I,g,Q,C,E,o)}function XE(B,A){return B.next.i!==A.i&&B.prev.i!==A.i&&!OE(B,A)&&(Bg(B,A)&&Bg(A,B)&&jE(B,A)&&(v(B.prev,B,A.prev)||v(B,A.prev,A))||hg(B,A)&&v(B.prev,B,B.next)>0&&v(A.prev,A,A.next)>0)}function v(B,A,I){return(A.y-B.y)*(I.x-A.x)-(A.x-B.x)*(I.y-A.y)}function hg(B,A){return B.x===A.x&&B.y===A.y}function GQ(B,A,I,g){const Q=bI(v(B,A,I)),C=bI(v(B,A,g)),E=bI(v(I,g,B)),o=bI(v(I,g,A));return!!(Q!==C&&E!==o||Q===0&&xI(B,I,A)||C===0&&xI(B,g,A)||E===0&&xI(I,B,g)||o===0&&xI(I,A,g))}function xI(B,A,I){return A.x<=Math.max(B.x,I.x)&&A.x>=Math.min(B.x,I.x)&&A.y<=Math.max(B.y,I.y)&&A.y>=Math.min(B.y,I.y)}function bI(B){return B>0?1:B<0?-1:0}function OE(B,A){let I=B;do{if(I.i!==B.i&&I.next.i!==B.i&&I.i!==A.i&&I.next.i!==A.i&&GQ(I,I.next,B,A))return!0;I=I.next}while(I!==B);return!1}function Bg(B,A){return v(B.prev,B,B.next)<0?v(B,A,B.next)>=0&&v(B,B.prev,A)>=0:v(B,A,B.prev)<0||v(B,B.next,A)<0}function jE(B,A){let I=B,g=!1;const Q=(B.x+A.x)/2,C=(B.y+A.y)/2;do I.y>C!=I.next.y>C&&I.next.y!==I.y&&Q<(I.next.x-I.x)*(C-I.y)/(I.next.y-I.y)+I.x&&(g=!g),I=I.next;while(I!==B);return g}function PE(B,A){const I=Tg(B.i,B.x,B.y),g=Tg(A.i,A.x,A.y),Q=B.next,C=A.prev;return B.next=A,A.prev=B,I.next=Q,Q.prev=I,g.next=I,I.prev=g,C.next=g,g.prev=C,g}function RB(B,A,I,g){const Q=Tg(B,A,I);return g?(Q.next=g.next,Q.prev=g,g.next.prev=Q,g.next=Q):(Q.prev=Q,Q.next=Q),Q}function UI(B){B.next.prev=B.prev,B.prev.next=B.next,B.prevZ&&(B.prevZ.nextZ=B.nextZ),B.nextZ&&(B.nextZ.prevZ=B.prevZ)}function Tg(B,A,I){return{i:B,x:A,y:I,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function zE(B,A,I,g){let Q=0;for(let C=A,E=I-g;C<I;C+=g)Q+=(B[E]-B[C])*(B[C+1]+B[E+1]),E=C;return Q}function _E(B,A){const I=FQ(B);if(I.length===0)return null;const g=[],Q=[],C=[];for(const i of I)if(!(i.length<3)){C.push(i);for(const e of i)g.push(e.x,e.y),Q.push(e.x,e.y)}if(g.length===0)return null;const E=[];let o=0;for(const i of C){const e=[];for(const a of i)e.push(a.x,a.y);const t=pE(e,void 0,2);for(const a of t)E.push(a+o);o+=i.length}return E.length===0?null:{vertices:new Float32Array(g),indices:new Uint32Array(E)}}const yQ=`function RA(A, I, g = 2) {
688
689
  const B = A.length;
689
690
  let Q = hA(A, 0, B, g, !0);
690
691
  const E = [];
@@ -1407,7 +1408,7 @@ IA.onmessage = (A) => {
1407
1408
  !I || I.type !== "build-svga-clip-meshes" || gI.push(() => QI(I));
1408
1409
  };
1409
1410
  //# sourceMappingURL=svga-clip-worker-wDNYvazX.js.map
1410
- `,FB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",rQ],{type:"text/javascript;charset=utf-8"});function XE(B){let A;try{if(A=FB&&(self.URL||self.webkitURL).createObjectURL(FB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(rQ),{type:"module",name:B==null?void 0:B.name})}}function $(B="Operation aborted"){const A=new Error(B);return A.name="AbortError",A}function uA(B){return B instanceof Error?B.name==="AbortError"?!0:"cause"in B&&uA(B.cause):!1}function Y(B,A){if(B!=null&&B.aborted)throw $(A)}var OE=Object.defineProperty,jE=(B,A,I)=>A in B?OE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,rg=(B,A,I)=>jE(B,typeof A!="symbol"?A+"":A,I);class PE{constructor(){rg(this,"active",0),rg(this,"maxConcurrent",1),rg(this,"waiters",[])}configure(A){this.maxConcurrent=Math.max(1,Math.floor(Number.isFinite(A)?A:1)),this.drain()}tryAcquire(){return this.active>=this.maxConcurrent?null:(this.active++,this.createRelease())}acquire(A){if(A!=null&&A.aborted)return Promise.reject($("SVGA worker task aborted"));const I=this.tryAcquire();return I?Promise.resolve(I):new Promise((g,Q)=>{const C={resolve:g,reject:Q,signal:A};A&&(C.onAbort=()=>{const E=this.waiters.indexOf(C);E>=0&&this.waiters.splice(E,1),Q($("SVGA worker task aborted"))},A.addEventListener("abort",C.onAbort,{once:!0})),this.waiters.push(C)})}createRelease(){let A=!1;return()=>{A||(A=!0,this.active--,this.drain())}}run(A,I){if(I!=null&&I.aborted)return Promise.reject($("SVGA worker task aborted"));const g=this.tryAcquire();return g?this.execute(A,g):this.acquire(I).then(Q=>this.execute(A,Q))}async execute(A,I){try{return await A()}finally{I()}}drain(){for(var A;this.active<this.maxConcurrent&&this.waiters.length>0;){const I=this.waiters.shift();if(I){if(I.signal&&I.onAbort&&I.signal.removeEventListener("abort",I.onAbort),(A=I.signal)!=null&&A.aborted){I.reject($("SVGA worker task aborted"));continue}this.active++,I.resolve(this.createRelease())}}}}const jg=new PE;function Pg(B){B!=null&&jg.configure(B)}function zg(B,A){return jg.run(B,A)}function zE(B){return jg.acquire(B)}let hI=null,_E=1;const SI=new Map;function cQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function $I(B,A,I){hI===B&&(hI=null);try{B.terminate()}catch(g){}for(const[g,Q]of SI)Q.owner===B&&(SI.delete(g),cQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA clip worker restarted after another request was canceled")))}function $E(){if(!hI){const B=new XE;hI=B,B.addEventListener("message",A=>{var I;const g=A.data;if(!g||g.type!=="build-svga-clip-meshes-result")return;const Q=SI.get(g.id);if(!Q||Q.owner!==B)return;if(SI.delete(g.id),cQ(Q),g.error){Q.reject(new Error(g.error));return}const C=new Map;for(const E of(I=g.entries)!=null?I:[])C.set(E.path,E.vertices&&E.indices?{vertices:E.vertices,indices:E.indices}:null);Q.resolve(C)}),B.addEventListener("error",A=>{$I(B,new Error(A.message||"SVGA clip worker error"))}),B.addEventListener("messageerror",()=>{$I(B,new Error("SVGA clip worker message deserialization failed"))})}return hI}function FQ(){return typeof Worker!="undefined"}function Ai(B,A={}){return FQ()?zg(()=>{Y(A.signal,"SVGA clip worker task aborted");const I=$E(),g=_E++;return new Promise((Q,C)=>{var E,o;const i={owner:I,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{$I(I,$("SVGA clip worker task aborted"),g)},SI.set(g,i),(E=A.signal)!=null&&E.aborted){i.onAbort();return}(o=A.signal)==null||o.addEventListener("abort",i.onAbort,{once:!0});try{I.postMessage({type:"build-svga-clip-meshes",id:g,paths:B,workerTimeSliceMs:A.workerTimeSliceMs})}catch(e){$I(I,e instanceof Error?e:new Error(String(e)))}})},A.signal):Promise.reject(new Error("SVGA clip worker unavailable"))}var Ii=Object.defineProperty,gi=(B,A,I)=>A in B?Ii(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,mI=(B,A,I)=>gi(B,typeof A!="symbol"?A+"":A,I);const GQ=1e3/60,Bi=2,Qi=12,Ci=.25;function XI(){return typeof performance!="undefined"?performance.now():Date.now()}function Ei(){return new Promise(B=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>B());return}setTimeout(B,0)}).then(XI)}function ii(B,A={}){var I,g,Q;const C=Math.max(.1,(I=A.minBudgetMs)!=null?I:Bi),E=Math.max(C,(g=A.maxBudgetMs)!=null?g:Qi),o=Math.max(.05,Math.min(.95,(Q=A.frameFraction)!=null?Q:.5)),i=Number.isFinite(B)&&B>0?B:GQ;return Math.max(C,Math.min(E,i*o))}function oi(B,A){return!Number.isFinite(A)||A<4||A>100?B:B+(A-B)*Ci}class ei{constructor(){mI(this,"frameIntervalMs",GQ),mI(this,"lastFrameAt",-1),mI(this,"sliceStartedAt",XI()),mI(this,"nextFramePromise",null)}budgetMs(A={}){return ii(this.frameIntervalMs,A)}shouldYield(A={}){return XI()-this.sliceStartedAt>=this.budgetMs(A)}async yield(){this.nextFramePromise||(this.nextFramePromise=Ei().then(A=>{this.lastFrameAt>=0&&(this.frameIntervalMs=oi(this.frameIntervalMs,A-this.lastFrameAt)),this.lastFrameAt=A,this.sliceStartedAt=XI()}).finally(()=>{this.nextFramePromise=null})),await this.nextFramePromise}}const cg=new ei;function iA(B={}){return{get budgetMs(){return cg.budgetMs(B)},shouldYield(){return cg.shouldYield(B)},yield(){return cg.yield()}}}function GB(B,A,I){if(typeof B=="string"){const g=Number.parseFloat(B);return Number.isFinite(g)?A*g/100:A*.5}if(typeof B=="number"&&Number.isFinite(B)){const g=I&&I>0?A/I:1;return B*g}return A*.5}function _g(B,A={x:0,y:0}){const I=B.options.transformOrigin;return A.x=B.x+GB(I==null?void 0:I.x,B.width,B.options.width)*B.scale,A.y=B.y+GB(I==null?void 0:I.y,B.height,B.options.height)*B.scale,A}function OA(B,A,I,g,Q,C){const E=B.rotation||0,o=Math.cos(E),i=Math.sin(E),e=_g(B),a=A-e.x,t=I-e.y;return C[0]=o*g,C[1]=i*g,C[2]=0,C[3]=0,C[4]=-i*Q,C[5]=o*Q,C[6]=0,C[7]=0,C[8]=0,C[9]=0,C[10]=1,C[11]=0,C[12]=e.x+o*a-i*t,C[13]=e.y+i*a+o*t,C[14]=0,C[15]=1,C}function ai(B,A,I=A){const g=B.rotation||0;if(g===0)return I!==A&&Object.assign(I,A),I;const Q=Math.cos(g),C=Math.sin(g),E=_g(B),{a:o,b:i,c:e,d:a,tx:t,ty:s}=A,D=t-E.x,h=s-E.y;return I.a=Q*o-C*i,I.b=C*o+Q*i,I.c=Q*e-C*a,I.d=C*e+Q*a,I.tx=E.x+Q*D-C*h,I.ty=E.y+C*D+Q*h,I}function bA(B,A,I,g,Q){const C=B.rotation||0;if(C===0)return{x:A,y:I,w:g,h:Q};const E=Math.cos(C),o=Math.sin(C),i=_g(B),e=[[A,I],[A+g,I],[A+g,I+Q],[A,I+Q]];let a=1/0,t=1/0,s=-1/0,D=-1/0;for(const[h,w]of e){const r=h-i.x,F=w-i.y,n=i.x+E*r-o*F,c=i.y+o*r+E*F;a=Math.min(a,n),t=Math.min(t,c),s=Math.max(s,n),D=Math.max(D,c)}return{x:a,y:t,w:s-a,h:D-t}}var ti=Object.defineProperty,si=(B,A,I)=>A in B?ti(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,H=(B,A,I)=>si(B,typeof A!="symbol"?A+"":A,I);const Fg=2048,Gg={x:0,y:0,w:1,h:1},$g=class mg{constructor(){H(this,"pool",new DQ),H(this,"vertexBufHandles",[]),H(this,"indexBufHandles",[]),H(this,"clipSpriteVertBufHandles",[]),H(this,"clipSpriteIdxBufHandles",[]),H(this,"batchDrawCursor",0),H(this,"clipSpriteDrawCursor",0),H(this,"canvasWidth",0),H(this,"canvasHeight",0),H(this,"projCacheW",0),H(this,"projCacheH",0),H(this,"projCache",null),H(this,"clipMeshCache",new Map),H(this,"clipMeshesWithBuffers",new Set),H(this,"clipFrameDataScratch",new Float32Array(xA)),H(this,"instancedFrameDataScratch",new Float32Array(Fg*xA)),H(this,"clipSpriteVertsScratch",null),H(this,"clipSpriteIndicesScratch",null),H(this,"shapeVertsScratch",null),H(this,"instancedQuadVB",null),H(this,"instancedQuadIB",null),H(this,"whiteTexture",null),H(this,"shapeMeshCache",new WeakMap),H(this,"clipTransformMat",new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])),H(this,"slotScissor",{x:0,y:0,w:0,h:0}),H(this,"spriteWorkPool",[]),H(this,"spriteWorkCursor",0),H(this,"batchSpritesScratch",[]),H(this,"drawGroupScratch",[]),H(this,"entityHasShapesCache",new WeakMap),H(this,"entityFrameClipModeCache",new WeakMap),H(this,"affineScratch",{a:1,b:0,c:0,d:1,tx:0,ty:0})}beginFrame(A){this.batchDrawCursor=0,this.clipSpriteDrawCursor=0;const I=A.canvas.width,g=A.canvas.height;this.canvasWidth=I,this.canvasHeight=g}flush(A,I){this.beginFrame(A),this.drawSlots(A,I.values())}drawSlot(A,I){if(I.type!=="svga"||!this.hasRenderableSVGA(I)||I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped")return;const g=this.drawGroupScratch;g.length=0,g.push(I),this.flushGroup(A,g),g.length=0}drawSlots(A,I){const g=this.drawGroupScratch;g.length=0;for(const Q of I)Q.type!=="svga"||!this.hasRenderableSVGA(Q)||Q.state!=="playing"&&Q.state!=="fly"&&Q.state!=="stopped"||g.push(Q);g.length>0&&this.flushGroup(A,g),g.length=0}requiresStencil(A){var I;for(const g of A){if(g.type!=="svga"||!g.videoEntity||g.opacity<.05||g.state!=="playing"&&g.state!=="fly"&&g.state!=="stopped")continue;const Q=this.getFrameClipMode(g.videoEntity,g.currentFrame);if(Q===2||Q===1&&((I=g.rotation)!=null?I:0)!==0)return!0}return!1}getFrameClipMode(A,I){const g=A.spriteTable;if(I<0||I>=g.frameCount)return 0;let Q=this.entityFrameClipModeCache.get(A);(!Q||Q.length!==g.frameCount)&&(Q=new Uint8Array(g.frameCount),Q.fill(255),this.entityFrameClipModeCache.set(A,Q));const C=Q[I];if(C!==255)return C;let E=0;for(let o=0;o<g.spriteCount;o++){const i=(o*g.frameCount+I)*PI;if(g.frameData[i+8]<.05)continue;const e=sB(g,o,I);if(!e)continue;const a=this.getClipMesh(e);if(!a||a.indices.length===0)continue;if(!this.getClipRect(a)||!Rg(g.frameData[i+2],g.frameData[i+3],g.frameData[i+4],g.frameData[i+5])){E=2;break}E=1}return Q[I]=E,E}async prewarmClipMeshes(A,I={}){var g,Q,C,E,o;const i=A.spriteTable.clipPaths.filter(s=>s.length>0);if(i.length===0)return 0;const e=i.filter(s=>!this.clipMeshCache.has(s));if(e.length===0)return i.length;if(I.useWorker!==!1&&FQ())try{const s=await Ai(e,{workerTimeSliceMs:I.workerTimeSliceMs,signal:I.signal});(g=I.checkActive)==null||g.call(I);for(const D of e)this.clipMeshCache.set(D,(Q=s.get(D))!=null?Q:null);return i.length}catch(s){if(uA(s))throw s;console.warn("[GiftStage:SVGA] clip mesh worker failed, using main thread",s)}const a=iA({maxBudgetMs:Math.max(1,(C=I.frameBudgetMs)!=null?C:8)});let t=0;for(const s of e)Y(I.signal,"SVGA clip prewarm aborted"),(E=I.checkActive)==null||E.call(I),this.getClipMesh(s),t++,t<e.length&&a.shouldYield()&&(await a.yield(),Y(I.signal,"SVGA clip prewarm aborted"),(o=I.checkActive)==null||o.call(I));return e.length>0&&console.info(`[GiftStage:SVGA] clip mesh main prewarm paths=${e.length} built=${t}`),i.length}hydrateClipMeshes(A){if(!(!A||A.size===0))for(const[I,g]of A)g!=null&&g.vertices&&g.indices&&!this.clipMeshCache.has(I)&&this.clipMeshCache.set(I,g)}snapshotClipMeshes(A){const I=new Map;for(const g of A.spriteTable.clipPaths){if(!g||I.has(g))continue;const Q=this.clipMeshCache.get(g);Q!=null&&Q.vertices&&Q.indices&&I.set(g,{vertices:new Float32Array(Q.vertices),indices:new Uint32Array(Q.indices)})}return I}flushGroup(A,I){var g;if(I.length===0)return;const Q=this.getProjection();this.spriteWorkCursor=0;const C=this.batchSpritesScratch;C.length=0;let E=null;for(const o of I){const i=o.videoEntity,e=i.params.viewBoxWidth,a=i.params.viewBoxHeight,t=wA(o),s=fA(o,e,a),D=s.scaleX,h=s.scaleY,w=o.width*o.scale,r=o.height*o.scale,F=t==="cover"?w:Math.min(s.width,w),n=t==="cover"?r:Math.min(s.height,r),c=t==="cover"?o.x:o.x+s.offsetX,G=t==="cover"?o.y:o.y+s.offsetY;C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null);const y=bA(o,c,G,F,n);A.setScissor(y.x,y.y,y.w,y.h),this.slotScissor.x=y.x,this.slotScissor.y=y.y,this.slotScissor.w=y.w,this.slotScissor.h=y.h;for(let M=0;M<i.spriteTable.spriteCount;M++){const R=i.spriteTable,l=o.currentFrame;if(l<0||l>=R.frameCount)continue;const N=(M*R.frameCount+l)*PI;if(R.frameData[N+8]*o.opacity<.05)continue;const U=zC(R,M,l),f=!!U&&U.length>0,S=this.acquireSpriteWork(o,M,R.frameData,N,D,h,s.offsetX,s.offsetY),L=(g=R.imageKeys[M])!=null?g:"",d=this.resolveSpriteTextureInto(o,L,S);if(!d&&!f){this.spriteWorkCursor--;continue}const u=sB(R,M,l),K=u.length>0?this.getClipMesh(u):null;if(f){C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),d&&(K&&K.indices.length>0?this.drawClippedSprite(A,S,K,Q):this.drawSingleSprite(A,S,Q)),this.drawShapeFrame(A,S,U,K,Q);continue}K&&K.indices.length>0?(C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),this.drawClippedSprite(A,S,K,Q)):S.override?(C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),this.drawSingleSprite(A,S,Q)):(E&&E.id!==S.handle.id&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),C.push(S),E=S.handle,C.length>=Fg&&(this.drawBatch(A,C,E,Q),C.length=0,E=null))}C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null)}C.length>0&&this.drawBatch(A,C,E,Q),C.length=0,this.releaseSpriteWorks(),A.resetScissor()}acquireSpriteWork(A,I,g,Q,C,E,o,i){let e=this.spriteWorkPool[this.spriteWorkCursor];return e||(e={slot:A,spriteIndex:I,layoutW:0,layoutH:0,a:1,b:0,c:0,d:1,tx:0,ty:0,alpha:0,handle:null,rect:Gg,override:null,sx:C,sy:E,offsetX:o,offsetY:i},this.spriteWorkPool[this.spriteWorkCursor]=e),this.spriteWorkCursor++,e.slot=A,e.spriteIndex=I,e.layoutW=g[Q],e.layoutH=g[Q+1],e.a=g[Q+2],e.b=g[Q+3],e.c=g[Q+4],e.d=g[Q+5],e.tx=g[Q+6],e.ty=g[Q+7],e.alpha=g[Q+8],e.sx=C,e.sy=E,e.offsetX=o,e.offsetY=i,e}releaseSpriteWorks(){for(let A=0;A<this.spriteWorkCursor;A++){const I=this.spriteWorkPool[A];I.slot=null,I.handle=null,I.rect=Gg,I.override=null}this.spriteWorkCursor=0}getProjection(){return this.projCache&&this.projCacheW===this.canvasWidth&&this.projCacheH===this.canvasHeight?this.projCache:(this.projCacheW=this.canvasWidth,this.projCacheH=this.canvasHeight,this.projCache=JA(0,this.canvasWidth,this.canvasHeight,0,-1,1),this.projCache)}drawBatch(A,I,g,Q){const C=Math.min(I.length,Fg);if(C<1)return;if(A.type==="webgl2"||A.type==="webgpu"){this.drawBatchInstancedWebGL(A,I,C,g,Q);return}const E=this.pool.getFloat32(C*xA);for(let F=0;F<C;F++)this.packFrameData(E,F,I[F]);const o=C*PA*FA,i=C*sI,e=this.pool.getFloat32B(o),a=this.pool.getUint32(i),t=new Float32Array(E.buffer,0,C*xA),s=new Float32Array(e.buffer,0,o),D=new Uint32Array(a.buffer,0,i);(!_A()||hg(t,s,D)===null)&&ZI(t,s,D);const h=this.batchDrawCursor++,w=this.ensureVertexBuffer(A,h,s),r=this.ensureIndexBuffer(A,h,D);A.draw({shader:"svga-batch-premul",vertexBuffer:w,indexBuffer:r,indexCount:i,textures:[g],uniforms:{u_projection:Q,u_atlas:0}})}drawBatchInstancedWebGL(A,I,g,Q,C){this.ensureInstancedQuadBuffers(A);const E=this.instancedFrameDataScratch;for(let o=0;o<g;o++)this.packFrameData(E,o,I[o]);A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:g,instanceData:E,textures:[Q],uniforms:{u_projection:C,u_atlas:0}})}drawClippedSprite(A,I,g,Q){var C;const{slot:E,sx:o,sy:i,offsetX:e,offsetY:a,a:t,b:s,c:D,d:h,tx:w,ty:r}=I,F=this.rotateTransform(E,t*o,s*i,D*o,h*i,w*o+E.x+e,r*i+E.y+a),{a:n,b:c,c:G,d:y,tx:M,ty:R}=F,l=this.getClipRect(g);if(l&&((C=E.rotation)!=null?C:0)===0&&Rg(n,c,G,y)){this.applyClipRectScissor(A,l,n,y,M,R)&&this.drawSingleSprite(A,I,Q),this.restoreSlotScissor(A);return}const N=this.ensureClipMeshBuffers(A,g),U=this.packClipTransform(n,c,G,y,M,R),f={shader:"clip-mask",vertexBuffer:N.vertexBuf,indexBuffer:N.indexBuf,indexCount:g.indices.length,textures:[],uniforms:{u_projection:Q,u_transform:U},stencil:"write"};if(A.draw(f),A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const Z=this.instancedFrameDataScratch;this.packFrameData(Z,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:Z,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"}),this.clearClipStencil(A,g,N,U,Q);return}const S=this.clipFrameDataScratch;this.packFrameData(S,0,I);const L=PA*FA,d=sI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<L)&&(this.clipSpriteVertsScratch=new Float32Array(L)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<d)&&(this.clipSpriteIndicesScratch=new Uint32Array(d));const u=this.clipSpriteVertsScratch,K=this.clipSpriteIndicesScratch;(!_A()||hg(S,u,K)===null)&&ZI(S,u,K);const b=this.clipSpriteDrawCursor++,X=this.ensureClipSpriteVertexBuffer(A,b,u.subarray(0,L)),QA=this.ensureClipSpriteIndexBuffer(A,b,K.subarray(0,d)),HA={shader:"svga-batch-premul",vertexBuffer:X,indexBuffer:QA,indexCount:d,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"};A.draw(HA),this.clearClipStencil(A,g,N,U,Q)}applyClipRectScissor(A,I,g,Q,C,E){const o=g*I.x+C,i=Q*I.y+E,e=this.slotScissor,a=Math.max(o,e.x),t=Math.max(i,e.y),s=Math.min(o+g*I.w,e.x+e.w),D=Math.min(i+Q*I.h,e.y+e.h);return s<=a||D<=t?!1:(A.setScissor(a,t,s-a,D-t),!0)}restoreSlotScissor(A){const I=this.slotScissor;A.setScissor(I.x,I.y,I.w,I.h)}getClipRect(A){return A.rect===void 0&&(A.rect=Di(A.vertices,A.indices)),A.rect}ensureClipMeshBuffers(A,I){return(!I.vertexBuf||!I.indexBuf)&&(I.vertexBuf=A.createBuffer(I.vertices,"vertex"),I.indexBuf=A.createBuffer(I.indices,"index"),this.clipMeshesWithBuffers.add(I)),{vertexBuf:I.vertexBuf,indexBuf:I.indexBuf}}packClipTransform(A,I,g,Q,C,E){const o=this.clipTransformMat;return o[0]=A,o[1]=I,o[4]=g,o[5]=Q,o[12]=C,o[13]=E,o}drawSingleSprite(A,I,g){if(A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const s=this.instancedFrameDataScratch;this.packFrameData(s,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:s,textures:[I.handle],uniforms:{u_projection:g,u_atlas:0}});return}const Q=this.clipFrameDataScratch;this.packFrameData(Q,0,I);const C=PA*FA,E=sI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<C)&&(this.clipSpriteVertsScratch=new Float32Array(C)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<E)&&(this.clipSpriteIndicesScratch=new Uint32Array(E));const o=this.clipSpriteVertsScratch,i=this.clipSpriteIndicesScratch;(!_A()||hg(Q,o,i)===null)&&ZI(Q,o,i);const e=this.clipSpriteDrawCursor++,a=this.ensureClipSpriteVertexBuffer(A,e,o.subarray(0,C)),t=this.ensureClipSpriteIndexBuffer(A,e,i.subarray(0,E));A.draw({shader:"svga-batch-premul",vertexBuffer:a,indexBuffer:t,indexCount:E,textures:[I.handle],uniforms:{u_projection:g,u_atlas:0}})}clearClipStencil(A,I,g,Q,C){A.draw({shader:"clip-mask",vertexBuffer:g.vertexBuf,indexBuffer:g.indexBuf,indexCount:I.indices.length,textures:[],uniforms:{u_projection:C,u_transform:Q},stencil:"clear"})}rotateTransform(A,I,g,Q,C,E,o){const i=this.affineScratch;return i.a=I,i.b=g,i.c=Q,i.d=C,i.tx=E,i.ty=o,ai(A,i,i)}packFrameData(A,I,g){const{slot:Q,layoutW:C,layoutH:E,a:o,b:i,c:e,d:a,tx:t,ty:s,alpha:D,rect:h,override:w,sx:r,sy:F,offsetX:n,offsetY:c}=g;let G=C||(w==null?void 0:w.logicalWidth)||0,y=E||(w==null?void 0:w.logicalHeight)||0,M=0,R=0;if((w==null?void 0:w.mode)==="dynamic"){const HA=C||w.logicalWidth,Z=E||w.logicalHeight;G=w.logicalWidth,y=w.logicalHeight,M=Math.max(0,(HA-G)*.5),R=Math.max(0,(Z-y)*.5)}const l=I*xA,N=o*r,U=i*F,f=e*r,S=a*F,L=this.rotateTransform(Q,N,U,f,S,t*r+N*M+f*R+Q.x+n,s*F+U*M+S*R+Q.y+c),{a:d,b:u,c:K,d:b,tx:X,ty:QA}=L;A[l]=G,A[l+1]=y,A[l+2]=d,A[l+3]=u,A[l+4]=K,A[l+5]=b,A[l+6]=X,A[l+7]=QA,A[l+8]=D*Q.opacity,A[l+9]=h.x,A[l+10]=h.y,A[l+11]=h.x+h.w,A[l+12]=h.y+h.h}resolveSpriteTextureInto(A,I,g){var Q,C,E,o,i;const e=(C=(Q=A.svgaSlotTextures)==null?void 0:Q.get(I))!=null?C:null;if(e)return g.handle=e.texture,g.rect=Gg,g.override=e,!0;const a=A.videoEntity,t=a.atlasRects.get(I),s=(E=t==null?void 0:t.textureIndex)!=null?E:0,D=(i=(o=a.atlasTextureHandles)==null?void 0:o[s])!=null?i:a.atlasTextureHandle;return!t||!D?!1:(g.handle=D,g.rect=t,g.override=null,!0)}drawShapeFrame(A,I,g,Q,C){var E;const o=this.getShapeMesh(g);if(!o||o.indices.length===0)return;const{slot:i,sx:e,sy:a,offsetX:t,offsetY:s,a:D,b:h,c:w,d:r,tx:F,ty:n,alpha:c}=I,G=this.getWhiteTexture(A),y=this.rotateTransform(i,D*e,h*a,w*e,r*a,F*e+i.x+t,n*a+i.y+s),{a:M,b:R,c:l,d:N,tx:U,ty:f}=y,S=o.vertices,L=S.length/6*FA;(!this.shapeVertsScratch||this.shapeVertsScratch.length<L)&&(this.shapeVertsScratch=new Float32Array(L));const d=this.shapeVertsScratch;for(let Z=0,eA=0;Z<S.length;Z+=6,eA+=FA){const JI=S[Z],SA=S[Z+1];d[eA]=M*JI+l*SA+U,d[eA+1]=R*JI+N*SA+f,d[eA+2]=0,d[eA+3]=S[Z+2],d[eA+4]=S[Z+3],d[eA+5]=S[Z+4],d[eA+6]=S[Z+5]*c*i.opacity,d[eA+7]=.5,d[eA+8]=.5}let u=!1,K=null,b=null;if(Q&&Q.indices.length>0){const Z=this.getClipRect(Q);if(Z&&((E=i.rotation)!=null?E:0)===0&&Rg(M,R,l,N)){if(!this.applyClipRectScissor(A,Z,M,N,U,f)){this.restoreSlotScissor(A);return}u=!0}else K=this.ensureClipMeshBuffers(A,Q),b=this.packClipTransform(M,R,l,N,U,f),A.draw({shader:"clip-mask",vertexBuffer:K.vertexBuf,indexBuffer:K.indexBuf,indexCount:Q.indices.length,textures:[],uniforms:{u_projection:C,u_transform:b},stencil:"write"})}const X=this.clipSpriteDrawCursor++,QA=this.ensureClipSpriteVertexBuffer(A,X,d.subarray(0,L)),HA=this.ensureClipSpriteIndexBuffer(A,X,o.indices);A.draw({shader:"svga-batch-premul",vertexBuffer:QA,indexBuffer:HA,indexCount:o.indices.length,textures:[G],uniforms:{u_projection:C,u_atlas:0},stencil:K?"test":"none"}),K&&b&&Q&&this.clearClipStencil(A,Q,K,b,C),u&&this.restoreSlotScissor(A)}hasAtlasTexture(A){var I;const g=A.videoEntity;return g?!!g.atlasTextureHandle||!!((I=g.atlasTextureHandles)!=null&&I.length):!1}hasRenderableSVGA(A){if(this.hasAtlasTexture(A))return!0;const I=A.videoEntity;if(!(I!=null&&I.spriteTable))return!1;const g=this.entityHasShapesCache.get(I);if(g!==void 0)return g;const Q=I.spriteTable.hasAnyShapes;return this.entityHasShapesCache.set(I,Q),Q}getWhiteTexture(A){return this.whiteTexture?this.whiteTexture:(this.whiteTexture=A.createTexture(new Uint8Array([255,255,255,255]).buffer,{width:1,height:1,filter:"nearest"}),this.whiteTexture)}getShapeMesh(A){var I;if(!A||A.length===0)return null;if(this.shapeMeshCache.has(A))return(I=this.shapeMeshCache.get(A))!=null?I:null;const g=[],Q=[];for(const E of A)this.appendShape(E,g,Q);const C=g.length>0&&Q.length>0?{vertices:new Float32Array(g),indices:new Uint32Array(Q)}:null;return this.shapeMeshCache.set(A,C),C}appendShape(A,I,g){const Q=A.style.fill,C=A.style.stroke,E=this.buildShapeSubPaths(A);for(const o of E){if(o.length<2)continue;const i=o.map(e=>({x:A.transform.a*e.x+A.transform.c*e.y+A.transform.tx,y:A.transform.b*e.x+A.transform.d*e.y+A.transform.ty}));Q&&Q.a>0&&i.length>=3&&this.appendFill(i,Q,I,g),C&&C.a>0&&A.style.strokeWidth>.01&&this.appendStroke(i,C,A.style.strokeWidth,I,g)}}buildShapeSubPaths(A){var I;if(A.kind==="path")return wQ((I=A.pathData)!=null?I:"").map(g=>this.cleanupPoints(g)).filter(g=>g.length>=2);if(A.kind==="rect"&&A.rect){const g=A.rect;return[[{x:g.x,y:g.y},{x:g.x+g.width,y:g.y},{x:g.x+g.width,y:g.y+g.height},{x:g.x,y:g.y+g.height}]]}if(A.kind==="ellipse"&&A.ellipse){const g=A.ellipse,Q=[],C=40;for(let E=0;E<C;E++){const o=E/C*Math.PI*2;Q.push({x:g.x+Math.cos(o)*g.radiusX,y:g.y+Math.sin(o)*g.radiusY})}return[Q]}return[]}appendFill(A,I,g,Q){const C=this.cleanupPoints(A);if(C.length<3)return;const E=g.length/6;for(const i of C)g.push(i.x,i.y,this.clamp01(I.r),this.clamp01(I.g),this.clamp01(I.b),this.clamp01(I.a));const o=YE(C);if(o.length>=(C.length-2)*3)for(const i of o)Q.push(E+i);else for(let i=1;i<C.length-1;i++)Q.push(E,E+i,E+i+1)}appendStroke(A,I,g,Q,C){A=this.cleanupPoints(A);const E=g*.5;for(let o=0;o<A.length;o++){const i=A[o],e=A[(o+1)%A.length],a=e.x-i.x,t=e.y-i.y,s=Math.hypot(a,t);if(s<=1e-4)continue;const D=-t/s*E,h=a/s*E,w=Q.length/6,r=this.clamp01(I.r),F=this.clamp01(I.g),n=this.clamp01(I.b),c=this.clamp01(I.a);Q.push(i.x-D,i.y-h,r,F,n,c),Q.push(i.x+D,i.y+h,r,F,n,c),Q.push(e.x+D,e.y+h,r,F,n,c),Q.push(e.x-D,e.y-h,r,F,n,c),C.push(w,w+1,w+2,w+2,w+3,w)}}clamp01(A){return Math.max(0,Math.min(1,Number.isFinite(A)?A:0))}cleanupPoints(A){if(A.length===0)return[];const I=[],g=1e-4;let Q=null;for(const C of A){if(Q){const E=C.x-Q.x,o=C.y-Q.y;if(E*E+o*o<=g)continue}I.push(C),Q=C}if(I.length>2){const C=I[0],E=I[I.length-1],o=C.x-E.x,i=C.y-E.y;o*o+i*i<=g&&I.pop()}return I}getClipMesh(A){var I;if(this.clipMeshCache.has(A))return(I=this.clipMeshCache.get(A))!=null?I:null;const g=vE(A);return this.clipMeshCache.set(A,g),g}ensureVertexBuffer(A,I,g){const Q=this.vertexBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"vertex");return this.vertexBufHandles[I]=C,C}}ensureIndexBuffer(A,I,g){const Q=this.indexBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"index");return this.indexBufHandles[I]=C,C}}ensureClipSpriteVertexBuffer(A,I,g){const Q=this.clipSpriteVertBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"vertex");return this.clipSpriteVertBufHandles[I]=C,C}}ensureClipSpriteIndexBuffer(A,I,g){const Q=this.clipSpriteIdxBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"index");return this.clipSpriteIdxBufHandles[I]=C,C}}ensureInstancedQuadBuffers(A){this.instancedQuadVB||(this.instancedQuadVB=A.createBuffer(mg.INSTANCED_QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(mg.INSTANCED_QUAD_INDICES,"index"))}destroy(A){for(const I of this.vertexBufHandles)A.deleteBuffer(I);for(const I of this.indexBufHandles)A.deleteBuffer(I);for(const I of this.clipSpriteVertBufHandles)A.deleteBuffer(I);for(const I of this.clipSpriteIdxBufHandles)A.deleteBuffer(I);for(const I of this.clipMeshesWithBuffers)I.vertexBuf&&A.deleteBuffer(I.vertexBuf),I.indexBuf&&A.deleteBuffer(I.indexBuf),I.vertexBuf=null,I.indexBuf=null;this.clipMeshesWithBuffers.clear(),this.instancedQuadVB&&A.deleteBuffer(this.instancedQuadVB),this.instancedQuadIB&&A.deleteBuffer(this.instancedQuadIB),this.whiteTexture&&A.deleteTexture(this.whiteTexture),this.pool.destroy(),this.clipMeshCache.clear(),this.vertexBufHandles=[],this.indexBufHandles=[],this.clipSpriteVertBufHandles=[],this.clipSpriteIdxBufHandles=[],this.instancedQuadVB=null,this.instancedQuadIB=null,this.whiteTexture=null,this.projCache=null}};H($g,"INSTANCED_QUAD_VERTS",new Float32Array([0,0,1,0,1,1,0,1]));H($g,"INSTANCED_QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let RQ=$g;const RB=1e-4;function Rg(B,A,I,g){const Q=Math.max(Math.abs(B),Math.abs(g));return B>0&&g>0&&Math.abs(A)<=Q*RB&&Math.abs(I)<=Q*RB}function Di(B,A){if(B.length!==8||A.length!==6)return null;let I=1/0,g=1/0,Q=-1/0,C=-1/0;for(let a=0;a<8;a+=2){const t=B[a],s=B[a+1];t<I&&(I=t),t>Q&&(Q=t),s<g&&(g=s),s>C&&(C=s)}const E=Q-I,o=C-g;if(!(E>0&&o>0))return null;const i=Math.max(E,o)*1e-4+1e-6;let e=0;for(let a=0;a<8;a+=2){const t=B[a],s=B[a+1],D=Math.abs(t-I)<=i,h=Math.abs(t-Q)<=i,w=Math.abs(s-g)<=i,r=Math.abs(s-C)<=i;if(!D&&!h||!w&&!r)return null;e|=1<<((D?0:1)|(w?0:2))}return e!==15?null:{x:I,y:g,w:E,h:o}}var hi=Object.defineProperty,wi=(B,A,I)=>A in B?hi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,DA=(B,A,I)=>wi(B,typeof A!="symbol"?A+"":A,I);const ni=4,ri=128*1024*1024,ci=2048*1024*1024,Fi="gift-stage-resource-cache",Gi=3,cA="resources",aA="resourceMeta",UA="cacheState",qA="totalBytes",yB="byUpdatedAt",Ri=3e4;class yi{constructor(A){DA(this,"maxConcurrent"),DA(this,"active",0),DA(this,"queue",[]),this.maxConcurrent=Math.max(1,A)}setMaxConcurrent(A){this.maxConcurrent=Math.max(1,A),this.drain()}async run(A){return new Promise((I,g)=>{this.queue.push(()=>{Promise.resolve().then(A).then(I,g).finally(()=>{this.active--,this.drain()})}),this.drain()})}drain(){for(;this.active<this.maxConcurrent&&this.queue.length>0;){const A=this.queue.shift();this.active++,A==null||A()}}}function Mi(){return typeof indexedDB!="undefined"}function NA(B){return B.length*2}function Ni(B){var A,I,g;let Q=256;if(B.imageBlob)Q+=B.imageBlob.byteLength;else for(const E of Object.values((A=B.images)!=null?A:{}))Q+=E.byteLength;for(const E of(I=B.imageEntries)!=null?I:[])Q+=NA(E.key)+16;for(const E of B.audios)Q+=NA(E.audioKey)+32;const C=B.spriteTable;Q+=C.frameData.byteLength,Q+=C.clipPathIndex.byteLength,Q+=C.shapesIndex.byteLength;for(const E of C.imageKeys)Q+=NA(E);for(const E of C.clipPaths)Q+=NA(E);for(const E of C.shapesTable)for(const o of E)Q+=NA((g=o.pathData)!=null?g:"")+96;return Q}function li(B){return typeof B=="string"?NA(B):B.byteLength}class Si{constructor(){DA(this,"limiter",new yi(ni)),DA(this,"pending",new Map),DA(this,"memory",new Map),DA(this,"memoryBytes",0),DA(this,"maxMemoryBytes",ri),DA(this,"maxPersistentBytes",ci),DA(this,"dbPromise",null),DA(this,"persistentTrimPromise",null)}configure(A){(A==null?void 0:A.maxConcurrent)!=null&&this.limiter.setMaxConcurrent(A.maxConcurrent),(A==null?void 0:A.maxMemoryBytes)!=null&&A.maxMemoryBytes>0&&(this.maxMemoryBytes=A.maxMemoryBytes,this.trimMemory()),(A==null?void 0:A.maxPersistentBytes)!=null&&A.maxPersistentBytes>0&&(this.maxPersistentBytes=A.maxPersistentBytes,this.schedulePersistentTrim())}runLimited(A){return this.limiter.run(A)}async fetchArrayBuffer(A,I){const g=`ab:${A}`,Q=this.getMemory(g,"arrayBuffer");if(Q)return Q.slice(0);const C=await this.getPersistent(g,"arrayBuffer");return C?(this.setMemory(g,"arrayBuffer",C,C.byteLength),C.slice(0)):(await this.getOrCreatePending(g,()=>this.limiter.run(async()=>{const o=await fetch(A,{mode:"cors",signal:I});if(!o.ok)throw new Error(`fetch failed ${o.status}`);const i=await o.arrayBuffer();return this.setMemory(g,"arrayBuffer",i,i.byteLength),this.setPersistent(g,"arrayBuffer",i.slice(0)),i}))).slice(0)}async fetchText(A,I){const g=`text:${A}`,Q=this.getMemory(g,"text");if(Q!=null)return Q;const C=await this.getPersistent(g,"text");return C!=null?(this.setMemory(g,"text",C,NA(C)),C):this.getOrCreatePending(g,()=>this.limiter.run(async()=>{const E=await fetch(A,{mode:"cors",signal:I});if(!E.ok)throw new Error(`fetch failed ${E.status}`);const o=await E.text();return this.setMemory(g,"text",o,NA(o)),this.setPersistent(g,"text",o),o}))}async fetchJSON(A,I){const g=`json:${A}`,Q=this.getMemory(g,"json");if(Q!=null)return Q;const C=await this.fetchText(A,I),E=JSON.parse(C);return this.setMemory(g,"json",E,NA(C)),E}getSVGAWorkerPayload(A){return this.getMemory(A,"svga-payload")}setSVGAWorkerPayload(A,I){this.setMemory(A,"svga-payload",I,Ni(I))}getMemoryValue(A,I){return this.getMemory(A,I)}setMemoryValue(A,I,g,Q){this.setMemory(A,I,g,Q)}getPersistedArrayBuffer(A){return this.getPersistent(A,"arrayBuffer")}setPersistedArrayBuffer(A,I){return this.setPersistent(A,"arrayBuffer",I)}deletePersistedValue(A){return this.deletePersistent(A)}getOrCreatePending(A,I){const g=this.pending.get(A);if(g)return g;const Q=I().finally(()=>{this.pending.delete(A)});return this.pending.set(A,Q),Q}getMemory(A,I){const g=this.memory.get(A);return!g||g.kind!==I?null:(this.memory.delete(A),this.memory.set(A,g),g.value)}setMemory(A,I,g,Q){const C=this.memory.get(A);C&&(this.memoryBytes-=C.size,this.memory.delete(A)),this.memory.set(A,{key:A,kind:I,size:Math.max(0,Q),value:g}),this.memoryBytes+=Math.max(0,Q),this.trimMemory()}trimMemory(){for(;this.memoryBytes>this.maxMemoryBytes&&this.memory.size>0;){const A=this.memory.keys().next().value;if(!A)break;const I=this.memory.get(A);if(!I)break;this.memoryBytes-=I.size,this.memory.delete(A)}}async openDb(){return Mi()?(this.dbPromise||(this.dbPromise=new Promise(A=>{try{const I=indexedDB.open(Fi,Gi);I.onupgradeneeded=()=>{const g=I.result;for(const E of[cA,aA,UA])g.objectStoreNames.contains(E)&&g.deleteObjectStore(E);g.createObjectStore(cA,{keyPath:"key"}),g.createObjectStore(aA,{keyPath:"key"}).createIndex(yB,"updatedAt",{unique:!1}),g.createObjectStore(UA,{keyPath:"key"}).put({key:qA,totalBytes:0})},I.onsuccess=()=>A(I.result),I.onerror=()=>A(null),I.onblocked=()=>A(null)}catch(I){A(null)}})),this.dbPromise):null}async getPersistent(A,I){const g=await this.openDb();return g?new Promise(Q=>{try{const C=g.transaction([cA,aA],"readonly");C.onerror=()=>Q(null),C.onabort=()=>Q(null);const o=C.objectStore(cA).get(A);o.onsuccess=()=>{const i=o.result;if(!i||i.kind!==I){Q(null);return}const e=C.objectStore(aA).get(A);e.onsuccess=()=>{const a=e.result;if((!a||Date.now()-a.updatedAt>=Ri)&&this.touchPersistent(A,I),I==="arrayBuffer"){Q(i.value);return}Q(i.value)},e.onerror=()=>Q(i.value)},o.onerror=()=>Q(null)}catch(C){Q(null)}}):null}async setPersistent(A,I,g){const Q=await this.openDb();if(!Q)return;const C=li(g);await new Promise(E=>{try{const o=Q.transaction([cA,aA,UA],"readwrite");o.oncomplete=()=>E(),o.onerror=()=>E(),o.onabort=()=>E();const i=o.objectStore(cA),e=o.objectStore(aA),a=o.objectStore(UA),t=e.get(A);t.onsuccess=()=>{const s=t.result,D=a.get(qA);D.onsuccess=()=>{var h,w;const r=D.result,F=Math.max(0,((h=r==null?void 0:r.totalBytes)!=null?h:0)-((w=s==null?void 0:s.sizeBytes)!=null?w:0)+C);i.put({key:A,kind:I,value:g}),e.put({key:A,kind:I,sizeBytes:C,updatedAt:Date.now()}),a.put({key:qA,totalBytes:F})}}}catch(o){E()}}),this.schedulePersistentTrim()}async touchPersistent(A,I){const g=await this.openDb();g&&await new Promise(Q=>{try{const C=g.transaction(aA,"readwrite");C.oncomplete=()=>Q(),C.onerror=()=>Q(),C.onabort=()=>Q();const E=C.objectStore(aA),o=E.get(A);o.onsuccess=()=>{const i=o.result;!i||i.kind!==I||E.put({...i,updatedAt:Date.now()})}}catch(C){Q()}})}schedulePersistentTrim(){this.persistentTrimPromise||(this.persistentTrimPromise=this.trimPersistent().finally(()=>{this.persistentTrimPromise=null}))}async trimPersistent(){const A=await this.openDb();A&&await new Promise(I=>{try{const g=A.transaction([cA,aA,UA],"readwrite");g.oncomplete=()=>I(),g.onerror=()=>I(),g.onabort=()=>I();const Q=g.objectStore(cA),C=g.objectStore(aA),E=g.objectStore(UA),o=E.get(qA);o.onsuccess=()=>{var i;const e=o.result;let a=Math.max(0,(i=e==null?void 0:e.totalBytes)!=null?i:0);if(a<=this.maxPersistentBytes)return;const t=C.index(yB).openCursor();t.onsuccess=()=>{const s=t.result;if(!s||a<=this.maxPersistentBytes){E.put({key:qA,totalBytes:a});return}const D=s.value;Q.delete(D.key),s.delete(),a=Math.max(0,a-D.sizeBytes),s.continue()}}}catch(g){I()}})}async deletePersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction([cA,aA,UA],"readwrite");Q.oncomplete=()=>g(),Q.onerror=()=>g(),Q.onabort=()=>g();const C=Q.objectStore(cA),E=Q.objectStore(aA),o=Q.objectStore(UA),i=E.get(A);i.onsuccess=()=>{const e=i.result,a=o.get(qA);a.onsuccess=()=>{var t,s;const D=a.result;C.delete(A),E.delete(A),o.put({key:qA,totalBytes:Math.max(0,((t=D==null?void 0:D.totalBytes)!=null?t:0)-((s=e==null?void 0:e.sizeBytes)!=null?s:0))})}}}catch(Q){g()}})}}const nA=new Si;function ki(B){nA.configure(B)}function xg(B){return nA.runLimited(B)}function ZA(B,A){return nA.fetchArrayBuffer(B,A)}function Ui(B,A){return nA.fetchJSON(B,A)}function AB(B){return nA.getSVGAWorkerPayload(B)}function MB(B,A){nA.setSVGAWorkerPayload(B,A)}function Yi(B,A){return nA.getMemoryValue(B,A)}function yQ(B,A,I,g){nA.setMemoryValue(B,A,I,g)}function di(B){return nA.getPersistedArrayBuffer(B)}function Ki(B,A){return nA.setPersistedArrayBuffer(B,A)}function Ji(B){return nA.deletePersistedValue(B)}async function bg(B){const A=typeof B=="string"?await Ui(B):B;if(!A.info)throw new Error("VAP config missing info");if(!A.info.rgbFrame||!A.info.aFrame)throw new Error("VAP config missing rgbFrame or aFrame");return A}function TA(B){const[,,A,I]=B.rgbFrame,g=B.w>0?B.w:A,Q=B.h>0?B.h:I;return g>0&&Q>0?{w:g,h:Q}:{w:B.videoW,h:B.videoH}}function QI(B,A,I){const[g,Q,C,E]=B;return{left:g/A,right:(g+C)/A,top:(I-Q)/I,bottom:(I-Q-E)/I}}var fi=Object.defineProperty,Li=(B,A,I)=>A in B?fi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,BA=(B,A,I)=>Li(B,typeof A!="symbol"?A+"":A,I);class MQ{constructor(A){BA(this,"onFrameAvailable"),BA(this,"frameInfo",new Map),BA(this,"pending",new Set),BA(this,"lastHandle",new Map),BA(this,"started",new Set),BA(this,"firstUploaded",new Set),BA(this,"forceTimeFallback",new Set),BA(this,"lastArmAt",new Map),BA(this,"lastCallbackAt",new Map),BA(this,"lastProgressAt",new Map),BA(this,"lastRecoveryAt",new Map),BA(this,"stallLogged",new Set),BA(this,"stagnationLogged",new Set),BA(this,"lastTimeFallback",new Map),BA(this,"healthTimers",new Map),this.onFrameAvailable=A}preUpload(A,I){const g=I.currentTime;if(typeof I.requestVideoFrameCallback!="function"||this.forceTimeFallback.has(A)){if(!this.firstUploaded.has(A))return this.firstUploaded.add(A),this.lastTimeFallback.set(A,g),this.markProgress(A),typeof I.requestVideoFrameCallback=="function"&&this.debugInfo(A,"initial upload using time fallback",I),!0;const a=this.consumeTimeAdvance(A,g);if(a)this.stagnationLogged.has(A)&&(this.stagnationLogged.delete(A),this.debugInfo(A,"time fallback progress resumed",I));else if(this.forceTimeFallback.has(A)&&!this.stagnationLogged.has(A)&&!I.paused&&!I.ended){const t=this.lastProgressAt.get(A);t!==void 0&&performance.now()-t>1e3&&(this.stagnationLogged.add(A),this.debugWarn(A,"time fallback has no progress",I,{lastProgressAgeMs:Math.round(performance.now()-t)}))}return a}this.ensureRvf(A,I);const Q=performance.now(),C=this.lastCallbackAt.get(A),E=this.lastArmAt.get(A),o=C!=null?C:E,i=this.lastTimeFallback.get(A),e=i!==void 0&&Math.abs(g-i)>1e-4;return this.firstUploaded.has(A)&&o!==void 0&&Q-o>500&&!I.paused&&!I.ended&&(this.stallLogged.has(A)||(this.stallLogged.add(A),this.debugWarn(A,"rVFC stalled for slot",I,{stallAgeMs:Math.round(Q-o),lastCallbackAgeMs:C!==void 0?Math.round(Q-C):null,lastArmAgeMs:E!==void 0?Math.round(Q-E):null,timeAdvanced:e})),this.tryRecoverStalledPlayback(A,I,g,Q),this.started.delete(A),this.ensureRvf(A,I),e)?(this.forceTimeFallback.add(A),this.lastTimeFallback.set(A,g),this.markProgress(A),this.debugWarn(A,"switching slot to time fallback",I,{stallAgeMs:Math.round(Q-o)}),!0):this.firstUploaded.has(A)?this.pending.has(A)?(this.pending.delete(A),this.lastTimeFallback.set(A,g),this.markProgress(A),(this.stallLogged.delete(A)||this.forceTimeFallback.delete(A))&&(this.stagnationLogged.delete(A),this.debugInfo(A,"rVFC progress resumed",I)),!0):!1:(this.firstUploaded.add(A),this.lastTimeFallback.set(A,g),this.markProgress(A),!0)}getFrameInfo(A){return this.frameInfo.get(A)}ensureRvf(A,I){if(this.started.has(A))return;this.started.add(A),this.ensureHealthTimer(A,I);const g=(Q,C)=>{var E;this.frameInfo.set(A,C),this.lastCallbackAt.set(A,performance.now()),this.pending.add(A),(E=this.onFrameAvailable)==null||E.call(this,I);try{this.lastArmAt.set(A,performance.now());const o=I.requestVideoFrameCallback(g);this.lastHandle.set(A,o)}catch(o){this.started.delete(A),this.lastHandle.delete(A),this.debugWarn(A,"requestVideoFrameCallback re-arm failed",I)}};try{this.lastArmAt.set(A,performance.now());const Q=I.requestVideoFrameCallback(g);this.lastHandle.set(A,Q)}catch(Q){this.started.delete(A),this.lastHandle.delete(A),this.debugWarn(A,"requestVideoFrameCallback initial arm failed",I)}}ensureHealthTimer(A,I){if(this.healthTimers.has(A))return;const g=setInterval(()=>{var Q;I.paused||I.ended||(Q=this.onFrameAvailable)==null||Q.call(this,I)},500);this.healthTimers.set(A,g)}consumeTimeAdvance(A,I){const g=this.lastTimeFallback.get(A);return g===void 0||Math.abs(I-g)>1e-4?(this.lastTimeFallback.set(A,I),this.markProgress(A),!0):!1}markProgress(A){this.lastProgressAt.set(A,performance.now())}tryRecoverStalledPlayback(A,I,g,Q){if(I.paused||I.ended||I.seeking)return;const C=this.lastRecoveryAt.get(A);if(C!==void 0&&Q-C<1500)return;this.lastRecoveryAt.set(A,Q);const E=Number.isFinite(I.duration)?I.duration:NaN,o=Number.isFinite(E)&&E>0,i=o?Math.min(Math.max(0,E-.001),g+.001):g;try{o&&i>g&&(I.currentTime=i)}catch(e){}try{const e=I.play();e&&typeof e.catch=="function"&&e.catch(()=>{})}catch(e){}this.debugWarn(A,"attempting stalled video recovery",I,{currentTime:g,nudgedTime:i,readyState:I.readyState})}debugInfo(A,I,g,Q){console.info("[GiftStage:VideoGate]",I,this.snapshot(A,g,Q))}debugWarn(A,I,g,Q){console.warn("[GiftStage:VideoGate]",I,this.snapshot(A,g,Q))}snapshot(A,I,g){return{slotId:A,currentTime:Number(I.currentTime.toFixed(3)),readyState:I.readyState,networkState:I.networkState,paused:I.paused,ended:I.ended,seeking:I.seeking,playbackRate:I.playbackRate,forceTimeFallback:this.forceTimeFallback.has(A),pending:this.pending.has(A),...g}}release(A,I){if(!I){this.cleanup(A);return}const g=this.lastHandle.get(A);if(g!=null)try{I.cancelVideoFrameCallback(g)}catch(Q){}this.cleanup(A)}cleanup(A){const I=this.healthTimers.get(A);I!=null&&clearInterval(I),this.healthTimers.delete(A),this.frameInfo.delete(A),this.lastHandle.delete(A),this.started.delete(A),this.pending.delete(A),this.firstUploaded.delete(A),this.forceTimeFallback.delete(A),this.lastArmAt.delete(A),this.lastCallbackAt.delete(A),this.lastProgressAt.delete(A),this.lastRecoveryAt.delete(A),this.stallLogged.delete(A),this.stagnationLogged.delete(A),this.lastTimeFallback.delete(A)}}const NQ=new Float32Array([0,0,1,1]);function Ag(B,A,I,g){const Q=g!=null?g:new Float32Array(4);return!I||B<=0||A<=0?(Q[0]=0,Q[1]=0,Q[2]=1,Q[3]=1,Q):(Q[0]=I.x/B,Q[1]=I.y/A,Q[2]=I.w/B,Q[3]=I.h/A,Q)}const ui=3;function Hi(){return typeof document!="undefined"&&typeof document.createElement=="function"}function $A(B,A){if(!Hi())throw new Error("Canvas rendering is unavailable in this environment");const I=document.createElement("canvas");return I.width=Math.max(1,Math.round(B)),I.height=Math.max(1,Math.round(A)),I}function AI(B,A){const I=B.getContext("2d",A);if(!I)throw new Error("Failed to acquire 2D canvas context");return I}function lQ(B){return!!B&&typeof B=="object"&&typeof B.text=="string"}function qi(B){return!!B&&typeof B=="object"&&"image"in B}function SQ(B){return!!B&&typeof B=="object"&&"image"in B}function NB(B){return!B||typeof B!="object"?!1:typeof HTMLCanvasElement!="undefined"&&B instanceof HTMLCanvasElement||typeof HTMLImageElement!="undefined"&&B instanceof HTMLImageElement||typeof ImageBitmap!="undefined"&&B instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&B instanceof OffscreenCanvas||typeof HTMLVideoElement!="undefined"&&B instanceof HTMLVideoElement||typeof VideoFrame!="undefined"&&B instanceof VideoFrame||typeof ImageData!="undefined"&&B instanceof ImageData}function Ig(B){return new Promise((A,I)=>{const g=new Image;g.crossOrigin="anonymous",g.onload=()=>A(g),g.onerror=()=>I(new Error(`Failed to load image: ${B}`)),g.src=B})}function II(B){if(typeof HTMLImageElement!="undefined"&&B instanceof HTMLImageElement)return{width:B.naturalWidth||B.width,height:B.naturalHeight||B.height};if(typeof HTMLCanvasElement!="undefined"&&B instanceof HTMLCanvasElement)return{width:B.width,height:B.height};if(typeof OffscreenCanvas!="undefined"&&B instanceof OffscreenCanvas)return{width:B.width,height:B.height};if(typeof ImageBitmap!="undefined"&&B instanceof ImageBitmap)return{width:B.width,height:B.height};if(B&&typeof B=="object"&&"videoWidth"in B&&typeof B.videoWidth=="number")return{width:B.videoWidth,height:B.videoHeight};if(B&&typeof B=="object"&&"displayWidth"in B&&typeof B.displayWidth=="number")return{width:B.displayWidth||B.codedWidth,height:B.displayHeight||B.codedHeight};const A=B;return typeof A.width=="number"&&typeof A.height=="number"?{width:A.width,height:A.height}:{width:0,height:0}}function Tg(B){if(typeof ImageData!="undefined"&&B instanceof ImageData){const A=$A(B.width,B.height);return AI(A).putImageData(B,0,0),A}return B}function pi(B){const A=/^\[(.+)\]$/.exec(B);return A?A[1]:B}function mi(B,A,I){var g,Q;return B?typeof B=="string"?{font:B,color:I}:{font:(g=B.font)!=null?g:A,color:(Q=B.color)!=null?Q:I}:{font:A,color:I}}function gI(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function xi(B,A){const I=Math.max(1,Math.round(A*100)/100);return/\d+(?:\.\d+)?px\b/.test(B)?B.replace(/\d+(?:\.\d+)?px\b/,`${I}px`):`${I}px ${B}`}function bi(B){const A=typeof B=="string"?B:B==null?void 0:B.font,I=A?/(\d+(?:\.\d+)?)px\b/.exec(A):null;if(!I)return;const g=Number(I[1]);return gI(g)?g:void 0}function lB(B,A,I,g){const Q=B.measureText(A),C=Q.width/I,E=(Q.actualBoundingBoxAscent||0)+(Q.actualBoundingBoxDescent||0),o=E>0?E/I:g;return{width:Math.max(1,C),height:Math.max(1,o)}}function Ti(B,A,I,g,Q,C,E,o){let i=Math.max(1,Math.min(E,o)),e=Math.max(i,o),a=i,t={width:1,height:1};for(let s=0;s<16;s++){const D=(i+e)*.5;B.font=g(D);const h=lB(B,A,I,D);h.width<=Q&&h.height<=C?(a=D,t=h,i=D):e=D}return B.font=g(a),t=lB(B,A,I,a),{fontSize:a,metrics:t}}function kQ(B,A,I,g){var Q,C,E,o,i,e;const a=Math.max(1,g.scale||1),t=Math.max(1,Math.round(B)),s=Math.max(1,Math.round(A)),D=$A(1,1),h=AI(D),w=(Q=g.color)!=null?Q:"#ffffff",r=Math.max(0,(C=g.padding)!=null?C:2),F=Math.max(1,t-r*2),n=Math.max(1,s-r*2),c=Math.max(1,(i=(o=(E=g.maxFontSize)!=null?E:g.fontSize)!=null?o:bi(g.fontStyle))!=null?i:Math.max(8,n)),G=Math.max(1,Math.min((e=g.minFontSize)!=null?e:8,c)),y=w,M=`${g.style==="b"?"bold ":""}${c*a}px Arial`,R=mi(g.fontStyle,M,y),l=d=>xi(R.font,d*a),N=Ti(h,I,a,l,F,n,G,gI(g.fontSize)?Math.min(g.fontSize,c):c),U=g.sizing==="intrinsic"?Math.max(1,Math.min(t,Math.ceil(N.metrics.width+r*2))):t,f=g.sizing==="intrinsic"?Math.max(1,Math.min(s,Math.ceil(N.metrics.height+r*2))):s,S=$A(U*a,f*a),L=AI(S);return L.clearRect(0,0,S.width,S.height),L.textAlign="center",L.textBaseline="middle",L.font=l(N.fontSize),L.fillStyle=R.color,L.fillText(I,S.width/2,S.height/2),{canvas:S,logicalWidth:U,logicalHeight:f}}async function Wi(B,A,I,g){var Q,C,E,o,i,e;const a=B.spriteTable,t=new Set(A),s=new Map;for(let w=0;w<a.imageKeys.length;w++){const r=a.imageKeys[w];t.has(r)&&s.set(r,w)}const D=new Map,{frameCount:h}=a;for(const w of A){const r=s.get(w);if(r==null){const M=B.atlasRects.get(w);D.set(w,{width:(M==null?void 0:M.w)||1,height:(M==null?void 0:M.h)||1,renderScale:1});continue}let F=0,n=0,c=Number.POSITIVE_INFINITY;for(let M=0;M<h;M++){const R=(r*h+M)*9,l=(Q=a.frameData[R])!=null?Q:0,N=(C=a.frameData[R+1])!=null?C:0,U=(E=a.frameData[R+2])!=null?E:1,f=(o=a.frameData[R+3])!=null?o:0,S=(i=a.frameData[R+4])!=null?i:0,L=(e=a.frameData[R+5])!=null?e:1;if(F=Math.max(F,l),n=Math.max(n,N),l>0&&N>0){const d=Math.abs(U)*l+Math.abs(S)*N,u=Math.abs(f)*l+Math.abs(L)*N,K=d>0?d/l:1,b=u>0?u/N:1,X=Math.min(K||1,b||1);gI(X)&&(c=Math.min(c,X))}M+1<h&&I.shouldYield()&&(await I.yield(),g==null||g())}const G=gI(c)?c:1,y=B.atlasRects.get(w);D.set(w,{width:F||(y==null?void 0:y.w)||1,height:n||(y==null?void 0:y.h)||1,renderScale:G})}return D}function yg(B,A){if(gI(B))return!gI(A)||A===1?B:B/A}async function Zi(B,A,I,g=1){var Q,C,E;if(lQ(B)){const i=(Q=B.mode)!=null?Q:"dynamic",e=kQ(A,I,B.text,{scale:(C=B.scale)!=null?C:ui,color:B.color,style:B.style,fontStyle:B.fontStyle,fontSize:yg(B.fontSize,g),minFontSize:yg(B.minFontSize,g),maxFontSize:yg(B.maxFontSize,g),padding:B.padding,sizing:i==="dynamic"?"intrinsic":"box"});return{source:e.canvas,mode:i,logicalWidth:e.logicalWidth,logicalHeight:e.logicalHeight}}if(qi(B)){const i=typeof B.image=="string"?await Ig(B.image):B.image,e=II(i);return{source:i,mode:(E=B.mode)!=null?E:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}if(typeof B=="string"){const i=await Ig(B),e=II(i);return{source:i,mode:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}const o=II(B);return{source:B,mode:"replace",logicalWidth:Math.max(1,o.width||A),logicalHeight:Math.max(1,o.height||I)}}async function Vi(B,A,I,g={}){var Q,C,E;const o=new Map;if(!I)return o;const i=Object.entries(I),e=iA({maxBudgetMs:g.frameBudgetMs}),a=await Wi(A,i.map(([t])=>t),e,g.checkActive);for(let t=0;t<i.length;t++){const[s,D]=i[t];(Q=g.checkActive)==null||Q.call(g);const h=(C=a.get(s))!=null?C:{width:1,height:1,renderScale:1},w=await Zi(D,h.width,h.height,h.renderScale),r=II(w.source),F=r.width||h.width,n=r.height||h.height,c=B.createTexture(w.source,{width:F,height:n,filter:"linear",premultiplyAlpha:!0});o.set(s,{texture:c,mode:w.mode,logicalWidth:w.logicalWidth,logicalHeight:w.logicalHeight}),t+1<i.length&&e.shouldYield()&&(await e.yield(),(E=g.checkActive)==null||E.call(g))}return o}function vi(B,A){var I,g;if(!A)return;const Q=String(B.srcId),C=B.srcTag,E=pi(B.srcTag);return(g=(I=A[C])!=null?I:A[E])!=null?g:A[Q]}function Xi(B,A,I){var g,Q,C,E,o,i;const e=typeof A=="string"?A:A.text,a=(g=I==null?void 0:I.width)!=null?g:B.w&&B.w>0?B.w:1,t=(Q=I==null?void 0:I.height)!=null?Q:B.h&&B.h>0?B.h:1,s=kQ(a,t,e,{scale:typeof A=="string"?1:(C=A.scale)!=null?C:1,color:typeof A=="string"?B.color:(E=A.color)!=null?E:B.color,style:typeof A=="string"?B.style:(o=A.style)!=null?o:B.style,fontStyle:typeof A=="string"?B.fontStyle:(i=A.fontStyle)!=null?i:B.fontStyle,fontSize:typeof A=="string"?void 0:A.fontSize,minFontSize:typeof A=="string"?void 0:A.minFontSize,maxFontSize:typeof A=="string"?void 0:A.maxFontSize,padding:typeof A=="string"?void 0:A.padding,sizing:"box"});return{source:s.canvas,width:s.canvas.width,height:s.canvas.height}}function Oi(B,A){var I;const g=String(A);let Q=0,C=0;for(const E of(I=B.frame)!=null?I:[])for(const o of E.obj){if(String(o.srcId)!==g)continue;const[,,i,e]=o.frame;Q=Math.max(Q,i),C=Math.max(C,e)}return Q>0&&C>0?{width:Q,height:C}:void 0}async function ji(B){return typeof B=="string"?Ig(B):SQ(B)?typeof B.image=="string"?Ig(B.image):Tg(B.image):Tg(B)}async function Pi(B,A){const I=new Map;if(!B.src||B.src.length===0||!A)return I;for(const g of B.src){const Q=vi(g,A);if(Q==null)continue;if(g.srcType==="txt"){if(NB(Q)){const e=Tg(Q),a=II(e);I.set(String(g.srcId),{source:e,width:Math.max(1,a.width),height:Math.max(1,a.height)});continue}const i=Xi(g,typeof Q=="string"||lQ(Q)?Q:String(Q),Oi(B,g.srcId));I.set(String(g.srcId),i);continue}const C=NB(Q)||typeof Q=="string"||SQ(Q)?Q:null;if(!C)continue;const E=await ji(C),o=II(E);I.set(String(g.srcId),{source:E,width:Math.max(1,o.width),height:Math.max(1,o.height)})}return I}function zi(B){var A;const I=new Map;for(const g of(A=B.frame)!=null?A:[]){const Q=[...g.obj].sort((C,E)=>{var o,i;return((o=C.z)!=null?o:0)-((i=E.z)!=null?i:0)});I.set(g.i,Q)}return I}function _i(B,A){const I=$A(B,A),g=$A(B,A),Q=$A(1,1);return{compositeCanvas:I,compositeCtx:AI(I),rawCanvas:g,rawCtx:AI(g),scratchCanvas:Q,scratchCtx:AI(Q)}}function SB(B,A,I,g,Q=!0){var C,E;if(!B.compositeCanvas||!B.compositeCtx||!B.rawCanvas||!B.rawCtx||!B.scratchCanvas||!B.scratchCtx)throw new Error("VAP CPU compositor state is incomplete");const{info:o}=A,i=o.videoW||B.width,e=o.videoH||B.height,[a,t,s,D]=o.rgbFrame,[h,w,r,F]=o.aFrame;(B.rawCanvas.width!==i||B.rawCanvas.height!==e)&&(B.rawCanvas.width=i,B.rawCanvas.height=e),B.rawCtx.clearRect(0,0,i,e),B.rawCtx.drawImage(I,0,0,i,e);const n=B.rawCtx.getImageData(0,0,i,e).data,c=B.compositeCtx.createImageData(B.width,B.height),G=c.data;for(let M=0;M<B.height;M++){const R=Math.min(e-1,Math.max(0,t+Math.floor(M/B.height*D))),l=Math.min(e-1,Math.max(0,w+Math.floor(M/B.height*F)));for(let N=0;N<B.width;N++){const U=Math.min(i-1,Math.max(0,a+Math.floor(N/B.width*s))),f=Math.min(i-1,Math.max(0,h+Math.floor(N/B.width*r))),S=(R*i+U)*4,L=(l*i+f)*4,d=n[L]/255,u=(M*B.width+N)*4,K=Q?1:d;G[u]=Math.round(n[S]*K),G[u+1]=Math.round(n[S+1]*K),G[u+2]=Math.round(n[S+2]*K),G[u+3]=Math.round(d*255)}}const y=(C=B.frameMap.get(g))!=null?C:[];for(const M of y){const R=(E=B.resources)==null?void 0:E.get(String(M.srcId));if(!R)continue;const[l,N,U,f]=M.frame,[S,L,d,u]=M.mFrame;if(U<=0||f<=0||d<=0||u<=0)continue;(B.scratchCanvas.width!==U||B.scratchCanvas.height!==f)&&(B.scratchCanvas.width=Math.max(1,Math.round(U)),B.scratchCanvas.height=Math.max(1,Math.round(f))),B.scratchCtx.clearRect(0,0,B.scratchCanvas.width,B.scratchCanvas.height),B.scratchCtx.drawImage(R.source,0,0,B.scratchCanvas.width,B.scratchCanvas.height);const K=B.scratchCtx.getImageData(0,0,B.scratchCanvas.width,B.scratchCanvas.height).data,b=Math.max(0,Math.floor(l)),X=Math.max(0,Math.floor(N)),QA=Math.min(B.width,Math.ceil(l+U)),HA=Math.min(B.height,Math.ceil(N+f));for(let Z=X;Z<HA;Z++){const eA=Math.min(B.scratchCanvas.height-1,Math.max(0,Math.floor((Z-N)/f*B.scratchCanvas.height))),JI=Math.min(e-1,Math.max(0,L+Math.floor((Z-N)/f*u)));for(let SA=b;SA<QA;SA++){const $Q=Math.min(B.scratchCanvas.width-1,Math.max(0,Math.floor((SA-l)/U*B.scratchCanvas.width))),AC=Math.min(i-1,Math.max(0,S+Math.floor((SA-l)/U*d))),fI=(eA*B.scratchCanvas.width+$Q)*4,IC=(JI*i+AC)*4,gC=K[fI+3]/255,BC=n[IC]/255,VA=gC*BC;if(VA<=0)continue;const kA=(Z*B.width+SA)*4,QC=K[fI]/255*VA,CC=K[fI+1]/255*VA,EC=K[fI+2]/255*VA,iC=G[kA+3]/255,LI=1-VA;G[kA]=Math.round((QC+G[kA]/255*LI)*255),G[kA+1]=Math.round((CC+G[kA+1]/255*LI)*255),G[kA+2]=Math.round((EC+G[kA+2]/255*LI)*255),G[kA+3]=Math.round((VA+iC*LI)*255)}}}return B.compositeCtx.putImageData(c,0,0),B.compositeCanvas}var $i=Object.defineProperty,Ao=(B,A,I)=>A in B?$i(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,W=(B,A,I)=>Ao(B,typeof A!="symbol"?A+"":A,I);const Mg=1024,kB=32,KI=class yA{constructor(A){W(this,"instancedQuadVB",null),W(this,"instancedQuadIB",null),W(this,"quadVB",null),W(this,"quadIB",null),W(this,"rgbaWebGLQuadVB",null),W(this,"rgbaTopLeftQuadVB",null),W(this,"rgbaQuadIB",null),W(this,"wcDbgFirstDraw",new Set),W(this,"wcDbgNullWarns",new Map),W(this,"htmlGate"),W(this,"lastWcFrameRef",new Map),W(this,"scratchAtlasRemap",new Float32Array(4)),W(this,"instancePackScratch",new Float32Array(Mg*kB)),W(this,"scratchTransform",new Float32Array(16)),W(this,"processedHtmlGatesScratch",new Set),W(this,"vapVertexScratch",new Float32Array(24)),W(this,"projCacheW",0),W(this,"projCacheH",0),W(this,"projCache",null),this.htmlGate=new MQ(A)}syncVideoTextures(A,I){var g,Q,C,E;let o=!1;const i=this.processedHtmlGatesScratch;i.clear();for(const e of I.values()){if(e.type!=="vap"||e.paused||e.state!=="playing"&&e.state!=="fly"&&e.state!=="stopped"||!e.videoTextureHandle)continue;if(((g=e.vapMixState)==null?void 0:g.mode)==="composited"){o=this.syncMixedTexture(A,e)||o;continue}const a=e.webcodecsPlayback;if(a){const t=(Q=e.wcPlaybackTime)!=null?Q:0,s=a.getFrameForTime(t);if(this.wcDbgFirstDraw.has(e.id)||(this.wcDbgFirstDraw.add(e.id),console.info("[GiftStage:WC] VAP first draw",{giftId:e.id,state:e.state,t,hasFrame:!!s,canvasBuf:`${A.canvas.width}x${A.canvas.height}`})),s){const D=e.webcodecsSurface;if(((E=D==null?void 0:D.lastUploadedFrame)!=null?E:this.lastWcFrameRef.get(e.id))!==s){const w=e.wcAtlasRect;w?A.updateTextureRegion(e.videoTextureHandle,s,w.x,w.y,w.w,w.h):A.updateTexture(e.videoTextureHandle,s),D?D.lastUploadedFrame=s:this.lastWcFrameRef.set(e.id,s),o=!0}}else{const D=((C=this.wcDbgNullWarns.get(e.id))!=null?C:0)+1;this.wcDbgNullWarns.set(e.id,D),D<=5&&console.warn("[GiftStage:WC] VAP getFrameForTime null",{giftId:e.id,t,n:D})}}else if(e.videoElement){const t=this.getHtmlVideoGateId(e);if(i.has(t))continue;i.add(t),this.htmlGate.preUpload(t,e.videoElement)&&(A.updateTexture(e.videoTextureHandle,e.videoElement),o=!0)}}return o}draw(A,I){(A.type==="webgpu"||A.type==="webgl2")&&this.drawInstancedVapBatches(A,I);for(const g of I.values())if(g.type==="vap"&&!(g.state!=="playing"&&g.state!=="fly"&&g.state!=="stopped")&&!(!g.videoElement&&!g.webcodecsPlayback||!g.videoTextureHandle)){if(g.vapMixState){g.vapMixState.mode==="direct"?this.drawMixedDirectGeometry(A,g):this.drawMixedGeometry(A,g);continue}(A.type==="webgpu"||A.type==="webgl2")&&wA(g)!=="cover"||this.drawGeometry(A,g)}}drawSlot(A,I){if(I.type==="vap"&&!(I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped")&&!(!I.videoElement&&!I.webcodecsPlayback||!I.videoTextureHandle)){if(I.vapMixState){I.vapMixState.mode==="direct"?this.drawMixedDirectGeometry(A,I):this.drawMixedGeometry(A,I);return}this.drawGeometry(A,I)}}drawInstancedVapBatches(A,I){const g=[];for(const e of I.values())e.type!=="vap"||e.state!=="playing"&&e.state!=="fly"&&e.state!=="stopped"||e.vapMixState||!e.videoElement&&!e.webcodecsPlayback||!e.videoTextureHandle||wA(e)==="cover"||!e.vapConfig||g.push(e);if(g.length===0)return;this.instancedQuadVB||(this.instancedQuadVB=A.createBuffer(yA.QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(yA.QUAD_INDICES,"index"));const Q=A.canvas.width,C=A.canvas.height;let E;this.projCache&&this.projCacheW===Q&&this.projCacheH===C?E=this.projCache:(this.projCacheW=Q,this.projCacheH=C,this.projCache=JA(0,Q,C,0,-1,1),E=this.projCache);const o=new Map;for(const e of g){const a=e.videoTextureHandle.id;let t=o.get(a);t||(t=[],o.set(a,t)),t.push(e)}const i=this.instancePackScratch;for(const e of o.values())for(let a=0;a<e.length;a+=Mg){const t=Math.min(Mg,e.length-a);for(let s=0;s<t;s++)this.fillVapInstanceData(e[a+s],i,s*kB);A.draw({shader:"vap-instanced",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:t,instanceData:i,textures:[e[a].videoTextureHandle],uniforms:{u_projection:E,u_video:0}})}}fillVapInstanceData(A,I,g){var Q,C,E,o;const i=A.vapConfig,{info:e}=i,a=e.videoW>0?e.videoW:(C=(Q=A.webcodecsPlayback)==null?void 0:Q.videoWidth)!=null?C:1,t=e.videoH>0?e.videoH:(o=(E=A.webcodecsPlayback)==null?void 0:E.videoHeight)!=null?o:1,s=this.scratchTransform,{w:D,h}=TA(e),w=fA(A,D,h);OA(A,A.x+w.offsetX,A.y+w.offsetY,w.width,w.height,s),I.set(s,g);const r=QI(e.rgbFrame,a,t),F=QI(e.aFrame,a,t),n=A.videoTextureHandle,c=Ag(n.width,n.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(c,g+16);const G=g+20;I[G+0]=r.left,I[G+1]=r.right,I[G+2]=r.top,I[G+3]=r.bottom,I[G+4]=F.left,I[G+5]=F.right,I[G+6]=F.top,I[G+7]=F.bottom,I[G+8]=A.opacity,I[G+9]=A.options.videoRGBAlphaMode!=="straight"?1:0,I[G+10]=0,I[G+11]=0}syncMixedTexture(A,I){var g;const Q=I.vapConfig,C=I.vapMixState;if(!Q||!C||C.mode!=="composited"||!I.videoTextureHandle)return!1;const E=this.getMixedFrameIndex(I,Q),o=I.webcodecsPlayback;if(o){const e=(g=I.wcPlaybackTime)!=null?g:0,a=o.getFrameForTime(e);if(!a||C.lastSourceRef===a&&C.lastFrameIndex===E)return!1;const t=C.composer?C.composer.render(a,E):SB(C,Q,a,E,I.options.videoRGBAlphaMode!=="straight");return A.updateTexture(I.videoTextureHandle,t),C.lastSourceRef=a,C.lastFrameIndex=E,!0}if(!I.videoElement||!this.htmlGate.preUpload(I.id,I.videoElement)&&C.lastFrameIndex===E)return!1;const i=C.composer?C.composer.render(I.videoElement,E):SB(C,Q,I.videoElement,E,I.options.videoRGBAlphaMode!=="straight");return A.updateTexture(I.videoTextureHandle,i),C.lastSourceRef=I.videoElement,C.lastFrameIndex=E,!0}releaseHtmlVideo(A){var I;this.htmlGate.release(this.getHtmlVideoGateId(A),(I=A.videoElement)!=null?I:void 0)}clearWebCodecsFrameRef(A){this.lastWcFrameRef.delete(A),this.wcDbgFirstDraw.delete(A),this.wcDbgNullWarns.delete(A)}drawGeometry(A,I){var g,Q,C,E;const o=A.canvas.width,i=A.canvas.height;let e;this.projCache&&this.projCacheW===o&&this.projCacheH===i?e=this.projCache:(this.projCacheW=o,this.projCacheH=i,this.projCache=JA(0,o,i,0,-1,1),e=this.projCache);const a=I.vapConfig;if(!a){console.warn("[GiftStage:WC] VAP vapConfig missing — draw skipped",{giftId:I.id});return}const{info:t}=a,s=t.videoW>0?t.videoW:(Q=(g=I.webcodecsPlayback)==null?void 0:g.videoWidth)!=null?Q:1,D=t.videoH>0?t.videoH:(E=(C=I.webcodecsPlayback)==null?void 0:C.videoHeight)!=null?E:1,h=this.scratchTransform,w=wA(I),{w:r,h:F}=TA(t),n=fA(I,r,F);OA(I,I.x+n.offsetX,I.y+n.offsetY,n.width,n.height,h);const c=QI(t.rgbFrame,s,D),G=QI(t.aFrame,s,D),y=I.videoTextureHandle,M=Ag(y.width,y.height,I.wcAtlasRect,this.scratchAtlasRemap),R=this.vapVertexScratch;R[0]=0,R[1]=0,R[2]=c.left,R[3]=c.top,R[4]=G.left,R[5]=G.top,R[6]=1,R[7]=0,R[8]=c.right,R[9]=c.top,R[10]=G.right,R[11]=G.top,R[12]=1,R[13]=1,R[14]=c.right,R[15]=c.bottom,R[16]=G.right,R[17]=G.bottom,R[18]=0,R[19]=1,R[20]=c.left,R[21]=c.bottom,R[22]=G.left,R[23]=G.bottom,this.quadVB=this.ensureBuffer(A,this.quadVB,R,"vertex"),this.quadIB||(this.quadIB=A.createBuffer(yA.QUAD_INDICES,"index"));const l={shader:"vap",vertexBuffer:this.quadVB,indexBuffer:this.quadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:e,u_transform:h,u_atlasRemap:M,u_opacity:I.opacity,u_rgbPremultiplied:I.options.videoRGBAlphaMode!=="straight"?1:0,u_video:0}};if(w==="cover"){const N=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(N.x,N.y,N.w,N.h)}A.draw(l),w==="cover"&&A.resetScissor()}drawMixedGeometry(A,I){const g=A.canvas.width,Q=A.canvas.height;let C;this.projCache&&this.projCacheW===g&&this.projCacheH===Q?C=this.projCache:(this.projCacheW=g,this.projCacheH=Q,this.projCache=JA(0,g,Q,0,-1,1),C=this.projCache);const E=I.vapConfig;if(!E||!I.vapMixState||I.vapMixState.mode!=="composited"||!I.videoTextureHandle)return;const o=this.scratchTransform,i=wA(I),{w:e,h:a}=TA(E.info),t=fA(I,e,a);OA(I,I.x+t.offsetX,I.y+t.offsetY,t.width,t.height,o);const s=!!I.vapMixState.composer||A.type==="webgpu";let D=s?this.rgbaTopLeftQuadVB:this.rgbaWebGLQuadVB;if(D||(D=A.createBuffer(s?yA.RGBA_QUAD_VERTS_WEBGPU:yA.RGBA_QUAD_VERTS_WEBGL,"vertex"),s?this.rgbaTopLeftQuadVB=D:this.rgbaWebGLQuadVB=D),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(yA.QUAD_INDICES,"index")),i==="cover"){const h=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(h.x,h.y,h.w,h.h)}A.draw({shader:"rgba-textured",vertexBuffer:D,indexBuffer:this.rgbaQuadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:C,u_transform:o,u_atlasRemap:NQ,u_opacity:I.opacity,u_video:0}}),i==="cover"&&A.resetScissor()}drawMixedDirectGeometry(A,I){const g=I.vapConfig,Q=I.vapMixState,C=I.videoTextureHandle;if(!g||!Q||Q.mode!=="direct"||!Q.resourceTextures||!C)return;this.drawGeometry(A,I);const E=Q.frameMap.get(this.getMixedFrameIndex(I,g));if(!E||E.length===0)return;const o=A.canvas.width,i=A.canvas.height;let e;this.projCache&&this.projCacheW===o&&this.projCacheH===i?e=this.projCache:(this.projCacheW=o,this.projCacheH=i,this.projCache=JA(0,o,i,0,-1,1),e=this.projCache),this.rgbaTopLeftQuadVB||(this.rgbaTopLeftQuadVB=A.createBuffer(yA.RGBA_QUAD_VERTS_WEBGPU,"vertex")),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(yA.QUAD_INDICES,"index"));const{info:a}=g,{w:t,h:s}=TA(a),D=fA(I,t,s);if(wA(I)==="cover"){const n=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(n.x,n.y,n.w,n.h)}else{const n=bA(I,I.x+D.offsetX,I.y+D.offsetY,D.width,D.height);A.setScissor(n.x,n.y,n.w,n.h)}const h=a.videoW>0?a.videoW:C.width,w=a.videoH>0?a.videoH:C.height,r=this.scratchTransform,F=this.scratchAtlasRemap;for(const n of E){const c=Q.resourceTextures.get(String(n.srcId));if(!c)continue;const[G,y,M,R]=n.frame,[,,l,N]=n.mFrame;if(M<=0||R<=0||l<=0||N<=0)continue;OA(I,I.x+D.offsetX+G*D.scaleX,I.y+D.offsetY+y*D.scaleY,M*D.scaleX,R*D.scaleY,r);const U=QI(n.mFrame,h,w);F[0]=U.left,F[1]=U.right,F[2]=U.top,F[3]=U.bottom,A.draw({shader:"vap-mix-overlay",vertexBuffer:this.rgbaTopLeftQuadVB,indexBuffer:this.rgbaQuadIB,indexCount:6,textures:[c,C],uniforms:{u_projection:e,u_transform:r,u_atlasRemap:F,u_opacity:I.opacity,u_resource:0,u_video:1}})}A.resetScissor()}ensureBuffer(A,I,g,Q){return I?(A.updateBuffer(I,g),I):A.createBuffer(g,Q)}destroy(A){this.instancedQuadVB&&A.deleteBuffer(this.instancedQuadVB),this.instancedQuadIB&&A.deleteBuffer(this.instancedQuadIB),this.quadVB&&A.deleteBuffer(this.quadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.rgbaWebGLQuadVB&&A.deleteBuffer(this.rgbaWebGLQuadVB),this.rgbaTopLeftQuadVB&&A.deleteBuffer(this.rgbaTopLeftQuadVB),this.rgbaQuadIB&&A.deleteBuffer(this.rgbaQuadIB),this.instancedQuadVB=null,this.instancedQuadIB=null,this.quadVB=null,this.quadIB=null,this.rgbaWebGLQuadVB=null,this.rgbaTopLeftQuadVB=null,this.rgbaQuadIB=null,this.lastWcFrameRef.clear(),this.processedHtmlGatesScratch.clear(),this.projCache=null,this.projCacheW=0,this.projCacheH=0}getMixedFrameIndex(A,I){var g,Q,C;if(A.webcodecsPlayback)return Math.max(0,Math.round(((g=A.wcPlaybackTime)!=null?g:0)*I.info.fps));const E=this.htmlGate.getFrameInfo(A.id),o=E==null?void 0:E.mediaTime;return typeof o=="number"&&Number.isFinite(o)&&o>=0?Math.max(0,Math.round(o*I.info.fps)):Math.max(0,Math.round(((C=(Q=A.videoElement)==null?void 0:Q.currentTime)!=null?C:0)*I.info.fps))}getHtmlVideoGateId(A){return A.releaseSharedVideoTexture&&A.videoTextureHandle?`shared:${A.videoTextureHandle.id}`:A.id}};W(KI,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));W(KI,"RGBA_QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));W(KI,"RGBA_QUAD_VERTS_WEBGPU",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));W(KI,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let UQ=KI;var Io=Object.defineProperty,go=(B,A,I)=>A in B?Io(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,T=(B,A,I)=>go(B,typeof A!="symbol"?A+"":A,I);const UB=1024,YB=12,IB=class tI{constructor(A){T(this,"quadVB",null),T(this,"quadIB",null),T(this,"instancePackScratch",new Float32Array(UB*YB)),T(this,"projCacheW",0),T(this,"projCacheH",0),T(this,"projCache",null),T(this,"scratchTransform",new Float32Array(16)),T(this,"contentSizeScratch",{w:0,h:0}),T(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),T(this,"wcDbgFirstDraw",new Set),T(this,"wcDbgNullWarns",new Map),T(this,"htmlGate"),T(this,"lastWcFrameRef",new Map),T(this,"scratchAtlasRemap",new Float32Array(4)),T(this,"processedHtmlGatesScratch",new Set),T(this,"instancedTexturesScratch",[]),T(this,"instancedUniformsScratch",{u_projection:new Float32Array(16),u_video:0}),T(this,"instancedDrawCommand",{shader:"alpha-video-instanced",vertexBuffer:null,indexBuffer:null,indexCount:6,instanceCount:0,instanceData:this.instancePackScratch,textures:this.instancedTexturesScratch,uniforms:this.instancedUniformsScratch}),T(this,"geometryTexturesScratch",[]),T(this,"geometryUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:this.scratchAtlasRemap,u_opacity:1,u_rgbPremultiplied:1,u_video:0}),T(this,"geometryDrawCommand",{shader:"alpha-video",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.geometryTexturesScratch,uniforms:this.geometryUniformsScratch}),this.htmlGate=new MQ(A)}static alphaVideoContentSize(A,I){if(A.webcodecsPlayback){const E=A.webcodecsPlayback.videoWidth,o=A.webcodecsPlayback.videoHeight;return I.w=E>0?E*.5:0,I.h=o,I}const g=A.videoElement,Q=g.videoWidth,C=g.videoHeight;return I.w=Q>0?Q*.5:0,I.h=C,I}syncVideoTextures(A,I){var g,Q,C;let E=!1;const o=this.processedHtmlGatesScratch;o.clear();for(const i of I.values()){if(i.type!=="alphaVideo"||i.paused||i.state!=="playing"&&i.state!=="fly"||!i.videoTextureHandle)continue;const e=i.webcodecsPlayback;if(e){const a=(g=i.wcPlaybackTime)!=null?g:0,t=e.getFrameForTime(a);if(this.wcDbgFirstDraw.has(i.id)||(this.wcDbgFirstDraw.add(i.id),console.info("[GiftStage:WC] alphaVideo first draw",{giftId:i.id,state:i.state,t:a,hasFrame:!!t,canvasBuf:`${A.canvas.width}x${A.canvas.height}`})),t){const s=i.webcodecsSurface;if(((C=s==null?void 0:s.lastUploadedFrame)!=null?C:this.lastWcFrameRef.get(i.id))!==t){const h=i.wcAtlasRect;h?A.updateTextureRegion(i.videoTextureHandle,t,h.x,h.y,h.w,h.h):A.updateTexture(i.videoTextureHandle,t),s?s.lastUploadedFrame=t:this.lastWcFrameRef.set(i.id,t),E=!0}}else{const s=((Q=this.wcDbgNullWarns.get(i.id))!=null?Q:0)+1;this.wcDbgNullWarns.set(i.id,s),s<=5&&console.warn("[GiftStage:WC] alphaVideo getFrameForTime null",{giftId:i.id,t:a,n:s})}}else if(i.videoElement){const a=this.getHtmlVideoGateId(i);if(o.has(a))continue;o.add(a),this.htmlGate.preUpload(a,i.videoElement)&&(A.updateTexture(i.videoTextureHandle,i.videoElement),E=!0)}}return E}draw(A,I){if(A.type==="webgpu"||A.type==="webgl2"){this.drawInstancedAlphaBatches(A,I);return}for(const g of I.values())g.type==="alphaVideo"&&(g.state!=="playing"&&g.state!=="fly"&&g.state!=="stopped"||!g.videoElement&&!g.webcodecsPlayback||!g.videoTextureHandle||this.drawGeometry(A,g))}drawSlot(A,I){I.type==="alphaVideo"&&(I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped"||!I.videoElement&&!I.webcodecsPlayback||!I.videoTextureHandle||this.drawGeometry(A,I))}drawInstancedAlphaBatches(A,I){var g;let Q=null,C=0,E=null;const o=this.instancePackScratch;for(const i of I.values()){if(i.type!=="alphaVideo"||i.state!=="playing"&&i.state!=="fly"&&i.state!=="stopped"||!i.videoElement&&!i.webcodecsPlayback||!i.videoTextureHandle)continue;if(wA(i)==="cover"||((g=i.rotation)!=null?g:0)!==0){Q&&C>0&&E&&(this.flushInstancedBatch(A,Q,C,E),Q=null,C=0),this.drawGeometry(A,i);continue}const e=i.videoTextureHandle;Q&&Q.id!==e.id&&C>0&&E&&(this.flushInstancedBatch(A,Q,C,E),Q=null,C=0),Q||(this.ensureQuadBuffers(A),E=this.getProjection(A),Q=e),this.fillAlphaInstanceData(i,o,C*YB),C++,C===UB&&(this.flushInstancedBatch(A,Q,C,E),Q=null,C=0)}Q&&C>0&&E&&this.flushInstancedBatch(A,Q,C,E)}flushInstancedBatch(A,I,g,Q){const C=this.instancedDrawCommand;C.vertexBuffer=this.quadVB,C.indexBuffer=this.quadIB,C.instanceCount=g,this.instancedTexturesScratch[0]=I,this.instancedTexturesScratch.length=1,this.instancedUniformsScratch.u_projection=Q,A.draw(C)}fillAlphaInstanceData(A,I,g){const Q=tI.alphaVideoContentSize(A,this.contentSizeScratch),C=fA(A,Q.w,Q.h,this.layoutScratch);I[g+0]=A.x+C.offsetX,I[g+1]=A.y+C.offsetY,I[g+2]=C.width,I[g+3]=C.height;const E=A.videoTextureHandle,o=Ag(E.width,E.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(o,g+4),I[g+8]=A.opacity,I[g+9]=A.options.videoRGBAlphaMode!=="straight"?1:0,I[g+10]=0,I[g+11]=0}releaseHtmlVideo(A){var I;this.htmlGate.release(this.getHtmlVideoGateId(A),(I=A.videoElement)!=null?I:void 0)}clearWebCodecsFrameRef(A){this.lastWcFrameRef.delete(A),this.wcDbgFirstDraw.delete(A),this.wcDbgNullWarns.delete(A)}getHtmlVideoGateId(A){return A.releaseSharedVideoTexture&&A.videoTextureHandle?`shared:${A.videoTextureHandle.id}`:A.id}drawGeometry(A,I){const g=this.getProjection(A),Q=this.scratchTransform,C=wA(I),E=tI.alphaVideoContentSize(I,this.contentSizeScratch),o=fA(I,E.w,E.h,this.layoutScratch);OA(I,I.x+o.offsetX,I.y+o.offsetY,o.width,o.height,Q),this.ensureQuadBuffers(A);const i=I.videoTextureHandle,e=Ag(i.width,i.height,I.wcAtlasRect,this.scratchAtlasRemap),a=this.geometryDrawCommand;if(a.vertexBuffer=this.quadVB,a.indexBuffer=this.quadIB,this.geometryTexturesScratch[0]=i,this.geometryTexturesScratch.length=1,this.geometryUniformsScratch.u_projection=g,this.geometryUniformsScratch.u_transform=Q,this.geometryUniformsScratch.u_atlasRemap=e,this.geometryUniformsScratch.u_opacity=I.opacity,this.geometryUniformsScratch.u_rgbPremultiplied=I.options.videoRGBAlphaMode!=="straight"?1:0,C==="cover"){const t=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(t.x,t.y,t.w,t.h)}A.draw(a),C==="cover"&&A.resetScissor()}ensureQuadBuffers(A){this.quadVB||(this.quadVB=A.createBuffer(tI.QUAD_VERTS,"vertex"),this.quadIB=A.createBuffer(tI.QUAD_INDICES,"index"))}getProjection(A){const I=A.canvas.width,g=A.canvas.height;return this.projCache&&this.projCacheW===I&&this.projCacheH===g?this.projCache:(this.projCacheW=I,this.projCacheH=g,this.projCache=JA(0,I,g,0,-1,1),this.projCache)}destroy(A){this.quadVB&&A.deleteBuffer(this.quadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.quadVB=null,this.quadIB=null,this.projCache=null,this.projCacheW=0,this.projCacheH=0,this.lastWcFrameRef.clear(),this.processedHtmlGatesScratch.clear()}};T(IB,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));T(IB,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let YQ=IB;var Bo=Object.defineProperty,Qo=(B,A,I)=>A in B?Bo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,dA=(B,A,I)=>Qo(B,typeof A!="symbol"?A+"":A,I);const gB=class Wg{constructor(){dA(this,"quadVB",null),dA(this,"quadIB",null),dA(this,"scratchTransform",new Float32Array(16)),dA(this,"projCacheW",0),dA(this,"projCacheH",0),dA(this,"projCache",null)}drawSlot(A,I){if(I.type!=="image"||!I.imageTextureHandle||I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped")return;const g=I.imageTextureHandle,Q=fA(I,g.width,g.height),C=I.x+Q.offsetX,E=I.y+Q.offsetY;OA(I,C,E,Q.width,Q.height,this.scratchTransform);let o=this.quadVB;o||(o=A.createBuffer(Wg.QUAD_VERTS,"vertex"),this.quadVB=o),this.quadIB||(this.quadIB=A.createBuffer(Wg.QUAD_INDICES,"index"));const i=A.canvas.width,e=A.canvas.height;(!this.projCache||this.projCacheW!==i||this.projCacheH!==e)&&(this.projCacheW=i,this.projCacheH=e,this.projCache=JA(0,i,e,0,-1,1));const a=wA(I)==="cover";if(a){const t=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(t.x,t.y,t.w,t.h)}A.draw({shader:"rgba-textured",vertexBuffer:o,indexBuffer:this.quadIB,indexCount:6,textures:[g],uniforms:{u_projection:this.projCache,u_transform:this.scratchTransform,u_atlasRemap:NQ,u_opacity:I.opacity,u_video:0}}),a&&A.resetScissor()}destroy(A){this.quadVB&&A.deleteBuffer(this.quadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.quadVB=null,this.quadIB=null,this.projCache=null}};dA(gB,"QUAD_VERTS",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));dA(gB,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let dQ=gB;var Co=Object.defineProperty,Eo=(B,A,I)=>A in B?Co(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,xI=(B,A,I)=>Eo(B,typeof A!="symbol"?A+"":A,I);class KQ{constructor(){xI(this,"animations",new Map),xI(this,"completedScratch",[]),xI(this,"individuallyPaused",new Set),xI(this,"globallyPaused",!1)}startFly(A,I,g,Q,C,E,o,i=A.opacity,e=(a=>(a=A.rotation)!=null?a:0)()){this.startTween(A,I,g,Q,C,E,o,void 0,i,e)}startTween(A,I,g,Q,C,E,o,i,e=A.opacity,a=(t=>(t=A.rotation)!=null?t:0)()){var t;this.cancelForGift(A.id),this.animations.set(A.id,{giftId:A.id,startX:A.x,startY:A.y,startScale:A.scale,startOpacity:A.opacity,startRotation:(t=A.rotation)!=null?t:0,targetX:I,targetY:g,targetScale:Q,targetOpacity:e,targetRotation:a,startTime:-1,pausedAt:this.globallyPaused||this.individuallyPaused.has(A.id)?performance.now():void 0,duration:C,easing:E,onComplete:o,onCancel:i})}startTweenPromise(A,I,g,Q,C,E,o,i=A.opacity,e=(a=>(a=A.rotation)!=null?a:0)()){return new Promise(a=>{this.startTween(A,I,g,Q,C,E,()=>{o==null||o(),a()},a,i,e)})}startSequence(A,I){return this.cancelForGift(A.id),I.length===0?Promise.resolve():new Promise(g=>{let Q=0;const C=()=>{var E,o;const i=I[Q++];if(!i){g();return}this.startTween(A,i.targetX,i.targetY,i.targetScale,i.duration,i.easing,()=>{var e;(e=i.onComplete)==null||e.call(i),C()},void 0,i.targetOpacity,(o=(E=i.targetRotation)!=null?E:A.rotation)!=null?o:0)};C()})}update(A){var I,g;const Q=this.completedScratch;Q.length=0;for(const[C,E]of this.animations){E.startTime<0&&(E.startTime=A);const o=(I=E.pausedAt)!=null?I:A;vI((o-E.startTime)/E.duration,0,1)>=1&&(this.animations.delete(C),Q.push(E))}for(const C of Q)(g=C.onComplete)==null||g.call(C);Q.length=0}getAnimatedState(A,I){var g;const Q=this.animations.get(A);if(!Q)return null;Q.startTime<0&&(Q.startTime=I);const C=vI((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return{x:sA(Q.startX,Q.targetX,E),y:sA(Q.startY,Q.targetY,E),scale:sA(Q.startScale,Q.targetScale,E),opacity:sA(Q.startOpacity,Q.targetOpacity,E),rotation:sA(Q.startRotation,Q.targetRotation,E)}}applyAnimatedState(A,I){var g;const Q=this.animations.get(A.id);if(!Q)return!1;Q.startTime<0&&(Q.startTime=I);const C=vI((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return A.x=sA(Q.startX,Q.targetX,E),A.y=sA(Q.startY,Q.targetY,E),A.scale=sA(Q.startScale,Q.targetScale,E),A.opacity=sA(Q.startOpacity,Q.targetOpacity,E),A.rotation=sA(Q.startRotation,Q.targetRotation,E),!0}hasAnimation(A){return this.animations.has(A)}hasActiveAnimations(){return this.animations.size>0}hasRunningAnimations(){for(const A of this.animations.values())if(A.pausedAt==null)return!0;return!1}pauseForGift(A,I=performance.now()){this.individuallyPaused.add(A);const g=this.animations.get(A);!g||g.pausedAt!=null||(g.pausedAt=I)}resumeForGift(A,I=performance.now()){if(this.individuallyPaused.delete(A),this.globallyPaused)return;const g=this.animations.get(A);!g||g.pausedAt==null||(g.startTime>=0&&(g.startTime+=I-g.pausedAt),g.pausedAt=void 0)}pauseAll(A=performance.now()){this.globallyPaused=!0;for(const I of this.animations.values())I.pausedAt==null&&(I.pausedAt=A)}resumeAll(A=performance.now()){this.globallyPaused=!1;for(const[I,g]of this.animations)this.individuallyPaused.has(I)||g.pausedAt!=null&&(g.startTime>=0&&(g.startTime+=A-g.pausedAt),g.pausedAt=void 0)}cancelForGift(A){var I;const g=this.animations.get(A);g&&(this.animations.delete(A),(I=g.onCancel)==null||I.call(g))}releaseGift(A){this.cancelForGift(A),this.individuallyPaused.delete(A)}destroy(){this.animations.clear(),this.individuallyPaused.clear(),this.globallyPaused=!1,this.completedScratch.length=0}}var io=Object.defineProperty,oo=(B,A,I)=>A in B?io(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,CI=(B,A,I)=>oo(B,typeof A!="symbol"?A+"":A,I);class JQ{constructor(){CI(this,"ctx",null),CI(this,"decodedCache",new Map),CI(this,"activeSources",[]),CI(this,"globalMute",!1),CI(this,"gainNode",null)}ensureContext(){return this.ctx||(this.ctx=new AudioContext,this.gainNode=this.ctx.createGain(),this.gainNode.connect(this.ctx.destination),this.globalMute&&(this.gainNode.gain.value=0)),this.ctx.state==="suspended"&&this.ctx.resume().catch(()=>{}),this.ctx}async decodeAudio(A,I){if(this.decodedCache.has(A))return;const g=this.ensureContext();try{const Q=await g.decodeAudioData(I.slice(0));this.decodedCache.set(A,Q)}catch(Q){}}tickFrame(A,I,g){if(A.videoEntity&&!A.options.mute){for(const Q of A.videoEntity.audios)I===Q.startFrame&&this.startAudio(A.id,Q);for(let Q=this.activeSources.length-1;Q>=0;Q--){const C=this.activeSources[Q];if(C.giftId===A.id&&I>=C.endFrame){try{C.source.stop()}catch(E){}C.source.disconnect(),this.activeSources.splice(Q,1)}}}}startAudio(A,I){var g;const Q=this.decodedCache.get(I.audioKey);if(!Q)return;const C=this.ensureContext(),E=C.createBufferSource();E.buffer=Q,E.connect((g=this.gainNode)!=null?g:C.destination),E.start(0,I.startTime/1e3),E.onended=()=>{E.disconnect();const o=this.activeSources.findIndex(i=>i.source===E&&i.giftId===A);o>=0&&this.activeSources.splice(o,1)},this.activeSources.push({source:E,endFrame:I.endFrame,giftId:A})}stopAllForGift(A){for(let I=this.activeSources.length-1;I>=0;I--)if(this.activeSources[I].giftId===A){try{this.activeSources[I].source.stop()}catch(g){}this.activeSources[I].source.disconnect(),this.activeSources.splice(I,1)}}setMute(A){this.globalMute=A,this.gainNode&&(this.gainNode.gain.value=A?0:1)}destroy(){var A;for(const I of this.activeSources){try{I.source.stop()}catch(g){}I.source.disconnect()}this.activeSources=[],this.decodedCache.clear(),(A=this.ctx)==null||A.close().catch(()=>{}),this.ctx=null,this.gainNode=null}}var eo=Object.defineProperty,ao=(B,A,I)=>A in B?eo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,vA=(B,A,I)=>ao(B,typeof A!="symbol"?A+"":A,I);class to{constructor(A,I){vA(this,"atlasW"),vA(this,"atlasH"),vA(this,"rowY",0),vA(this,"rowH",0),vA(this,"rowX",0),vA(this,"slots",new Map),this.atlasW=Math.max(64,Math.floor(A)),this.atlasH=Math.max(64,Math.floor(I))}get size(){return{w:this.atlasW,h:this.atlasH}}tryAllocate(A,I,g){const Q=Math.max(1,Math.ceil(I)),C=Math.max(1,Math.ceil(g));if(Q>this.atlasW||C>this.atlasH||(this.rowX+Q>this.atlasW&&(this.rowY+=this.rowH,this.rowX=0,this.rowH=0),this.rowY+C>this.atlasH))return null;const E={x:this.rowX,y:this.rowY,w:Q,h:C};return this.slots.set(A,E),this.rowX+=Q,this.rowH=Math.max(this.rowH,C),E}release(A){this.slots.delete(A)}getRect(A){return this.slots.get(A)}}function so(B){const A=/^(-?\d+(?:\.\d+)?)%$/.exec(B.trim());if(!A)return null;const I=Number(A[1]);return Number.isFinite(I)?I:null}function dB(B,A,I){if(typeof B=="number")return B;const g=so(B);if(g==null)throw new Error(`Invalid percentage coordinate: ${B}`);return A*g/100-I/2}function fQ(B,A,I,g,Q,C){return{x:dB(B,Q,I),y:dB(A,C,g)}}var Do=Object.defineProperty,ho=(B,A,I)=>A in B?Do(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,m=(B,A,I)=>ho(B,typeof A!="symbol"?A+"":A,I);class kI{constructor(A){m(this,"backend"),m(this,"svgaBatch"),m(this,"vapRenderer"),m(this,"alphaVideoRenderer"),m(this,"imageRenderer"),m(this,"postAnimator"),m(this,"audioManager"),m(this,"slots"),m(this,"handles"),m(this,"rafId",null),m(this,"lastTime",0),m(this,"running",!1),m(this,"globallyPaused",!1),m(this,"forceNextDraw",!0),m(this,"onAnimationFrame",I=>this.renderLoop(I)),m(this,"onHtmlVideoFrame",I=>{if(!this.globallyPaused){for(const g of this.slots.values())if(g.videoElement===I&&!g.paused&&(g.state==="playing"||g.state==="fly")){this.invalidate();return}}}),m(this,"finishedSlotIdsScratch",[]),m(this,"videoRunMapScratch",new Map),m(this,"sortedSlots",[]),m(this,"visibleSlotsScratch",[]),m(this,"collapsedLayerScratch",[]),m(this,"coincidentSeenScratch",new Set),m(this,"drawRunScratch",[]),m(this,"wcAtlas",null),m(this,"wcDbgTickOnce",new Set),m(this,"advancedSharedWebCodecsScratch",new Set),m(this,"activeSharedWebCodecsScratch",new Set),this.backend=A,this.svgaBatch=new RQ,this.vapRenderer=new UQ(this.onHtmlVideoFrame),this.alphaVideoRenderer=new YQ(this.onHtmlVideoFrame),this.imageRenderer=new dQ,this.postAnimator=new KQ,this.audioManager=new JQ,this.slots=new Map,this.handles=new Map}addSlot(A,I){this.slots.set(A.id,A),this.handles.set(A.id,I),this.insertSortedSlot(A),this.invalidate({resetClock:!0})}releaseSlotResources(A){var I,g,Q,C,E,o,i,e,a;if((I=A.loadAbortController)==null||I.abort(),A.loadAbortController=null,A.videoPlaybackWatchdogTimer!=null&&(clearTimeout(A.videoPlaybackWatchdogTimer),A.videoPlaybackWatchdogTimer=null),this.wcDbgTickOnce.delete(A.id),A.type==="vap"&&(this.vapRenderer.releaseHtmlVideo(A),this.vapRenderer.clearWebCodecsFrameRef(A.id),(Q=(g=A.vapMixState)==null?void 0:g.composer)==null||Q.destroy(),(C=A.vapMixState)!=null&&C.resourceTextures)){for(const t of A.vapMixState.resourceTextures.values())this.backend.deleteTexture(t);A.vapMixState.resourceTextures.clear()}if(A.type==="alphaVideo"&&(this.alphaVideoRenderer.releaseHtmlVideo(A),this.alphaVideoRenderer.clearWebCodecsFrameRef(A.id)),this.audioManager.stopAllForGift(A.id),this.postAnimator.releaseGift(A.id),A.videoEntity&&!A.releaseSharedSVGAAsset&&this.deleteSVGAAtlasTextures(A.videoEntity),A.svgaSlotTextures){for(const t of A.svgaSlotTextures.values())this.backend.deleteTexture(t.texture);A.svgaSlotTextures.clear(),A.svgaSlotTextures=void 0}A.wcAtlasRect&&!A.releaseWebCodecsSurface?(this.releaseWebCodecsAtlasAllocation(A.id),A.wcAtlasRect=void 0):A.videoTextureHandle&&!A.releaseSharedVideoTexture&&!A.releaseWebCodecsSurface&&this.backend.deleteTexture(A.videoTextureHandle),A.videoTextureHandle=null,A.imageTextureHandle&&(A.releaseSharedImageTexture?A.releaseSharedImageTexture():this.backend.deleteTexture(A.imageTextureHandle)),A.imageTextureHandle=null,A.releaseSharedImageTexture=null,(E=A.releaseWebCodecsSurface)==null||E.call(A),A.releaseWebCodecsSurface=null,A.webcodecsSurface=null,A.wcAtlasRect=void 0,A.webcodecsPlayback&&(A.releaseWebCodecsPlayback?A.releaseWebCodecsPlayback():A.webcodecsPlayback.destroy(),A.webcodecsPlayback=null),A.releaseWebCodecsPlayback=null,A.webcodecsSharedState=null,A.videoElement&&!A.releaseSharedVideoPlayback&&(A.videoElement.pause(),A.videoElement.removeAttribute("src"),A.videoElement.load(),A.videoElement.remove()),A.videoElement=null,(o=A.releaseSharedVideoPlayback)==null||o.call(A),A.releaseSharedVideoPlayback=null,(i=A.releaseSharedSVGAAsset)==null||i.call(A),A.releaseSharedSVGAAsset=null,(e=A.releaseSharedVideoTexture)==null||e.call(A),A.releaseSharedVideoTexture=null,(a=A.releaseMediaSource)==null||a.call(A),A.releaseMediaSource=null,A.vapMixState=null,A.videoEntity=null}removeSlot(A){const I=this.slots.get(A);I&&this.releaseSlotResources(I),this.slots.delete(A),this.handles.delete(A);const g=this.sortedSlots.indexOf(I);g>=0&&this.sortedSlots.splice(g,1),this.forceNextDraw=!0,this.slots.size===0?(this.clearFrameOnce(),this.stop()):this.invalidate()}getSlot(A){return this.slots.get(A)}get activeCount(){return this.slots.size}getSlotIds(){return Array.from(this.slots.keys())}tryAllocateWebCodecsAtlas(A,I,g,Q){if(!Q||Q.width<=0||Q.height<=0)return null;if(this.wcAtlas&&(this.wcAtlas.cfg.width!==Q.width||this.wcAtlas.cfg.height!==Q.height)){if(this.wcAtlas.ref>0)return null;this.backend.deleteTexture(this.wcAtlas.handle),this.wcAtlas=null}this.wcAtlas||(this.wcAtlas={cfg:{width:Q.width,height:Q.height},handle:this.backend.createEmptyTexture(Q.width,Q.height,{filter:"linear"}),alloc:new to(Q.width,Q.height),ref:0});const C=this.wcAtlas.alloc.tryAllocate(A,I,g);return C?(this.wcAtlas.ref++,{handle:this.wcAtlas.handle,rect:C}):null}releaseWebCodecsAtlasAllocation(A){const I=this.wcAtlas;I&&(I.alloc.release(A),I.ref=Math.max(0,I.ref-1),I.ref<=0&&(this.backend.deleteTexture(I.handle),this.wcAtlas=null))}syncSlotLayoutFromOptions(){const{sx:A,sy:I}=Hg(this.backend.canvas);for(const g of this.slots.values()){if(this.postAnimator.hasAnimation(g.id))continue;const Q=g.options,C=fQ(Q.x,Q.y,Q.width,Q.height,this.backend.canvas.clientWidth,this.backend.canvas.clientHeight);g.x=C.x*A,g.y=C.y*I,g.width=Q.width*A,g.height=Q.height*I}this.invalidate()}invalidate(A={}){this.forceNextDraw=!0,A.orderChanged&&this.sortedSlots.sort(kI.compareSlots),!(this.globallyPaused||this.running)&&this.start(A.resetClock!==!1)}start(A=!0){this.running||this.globallyPaused||(this.running=!0,(A||this.lastTime<=0)&&(this.lastTime=performance.now()),this.rafId=requestAnimationFrame(this.onAnimationFrame))}stop(){this.running=!1,this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null)}clearFrameOnce(){this.backend.beginFrame({stencil:!1}),this.svgaBatch.beginFrame(this.backend),this.backend.endFrame()}pause(){this.globallyPaused=!0,this.postAnimator.pauseAll(),this.stop()}resume(){this.globallyPaused=!1,this.postAnimator.resumeAll(),this.slots.size>0&&this.invalidate({resetClock:!0})}prewarmSVGAClipMeshes(A,I){return this.svgaBatch.prewarmClipMeshes(A,I)}hydrateSVGAClipMeshes(A){this.svgaBatch.hydrateClipMeshes(A)}snapshotSVGAClipMeshes(A){return this.svgaBatch.snapshotClipMeshes(A)}renderLoop(A){var I,g,Q;if(!this.running)return;const C=(A-this.lastTime)/1e3;this.lastTime=A;let E=this.forceNextDraw;this.advancedSharedWebCodecsScratch.clear(),this.activeSharedWebCodecsScratch.clear();for(const o of this.slots.values())!o.paused&&o.state==="playing"&&o.webcodecsPlayback&&o.webcodecsSharedState&&this.activeSharedWebCodecsScratch.add(o.webcodecsSharedState.id);for(const[o,i]of this.slots){if(i.paused||i.state==="loading"){i.paused&&i.state==="playing"&&i.webcodecsPlayback&&i.webcodecsSharedState&&this.activeSharedWebCodecsScratch.has(i.webcodecsSharedState.id)&&this.tickSharedWebCodecs(i,A,!1);continue}const e=this.handles.get(o);this.postAnimator.applyAnimatedState(i,A)&&(E=!0),i.type==="svga"&&i.videoEntity&&i.state==="playing"&&(E=this.tickSVGA(i,C,e,A)||E),i.type==="image"&&i.state==="playing"&&(E=this.tickImage(i,C,e,A)||E),(i.type==="vap"||i.type==="alphaVideo")&&i.webcodecsPlayback&&i.state==="playing"&&(i.webcodecsSharedState?this.tickSharedWebCodecs(i,A,!0):(this.tickWebCodecs(i,C,e),(Q=(g=i.webcodecsPlayback).ensureDecodedThrough)==null||Q.call(g,(I=i.wcPlaybackTime)!=null?I:0)))}if(E=this.postAnimator.hasActiveAnimations()||E,this.postAnimator.update(A),E=this.removeFinished()||E,E=this.vapRenderer.syncVideoTextures(this.backend,this.slots)||E,E=this.alphaVideoRenderer.syncVideoTextures(this.backend,this.slots)||E,E){this.forceNextDraw=!1;const o=this.getRenderOrderedSlots();this.backend.beginFrame({stencil:this.svgaBatch.requiresStencil(o)}),this.svgaBatch.beginFrame(this.backend),this.drawRenderLayers(o),this.backend.endFrame()}this.needsContinuousFrame()?this.rafId=requestAnimationFrame(this.onAnimationFrame):(this.running=!1,this.rafId=null,this.lastTime=0)}tickSharedWebCodecs(A,I,g){var Q,C;const E=A.webcodecsSharedState;if(!E)return;const o=Math.max(E.playback.duration,1e-9),i=Math.max(0,(I-E.startedAtMs)/1e3);A.wcPlaybackTime=i%o,g&&(this.advancedSharedWebCodecsScratch.has(E.id)||(this.advancedSharedWebCodecsScratch.add(E.id),(C=(Q=E.playback).ensureDecodedThrough)==null||C.call(Q,A.wcPlaybackTime)))}tickWebCodecs(A,I,g){var Q,C;const E=A.webcodecsPlayback;if(!E)return;const o=Math.max(E.duration,1e-9);if(!Number.isFinite(o))return;const i=(Q=A.options.loop)!=null?Q:1;let e=((C=A.wcPlaybackTime)!=null?C:0)+I;if(i===0){A.wcPlaybackTime=(e%o+o)%o,this.wcDbgLogTickOnce(A,o,A.wcPlaybackTime,i);return}const a=Math.floor(e/o);if(A.loopCount+a>=i){A.loopCount=i,A.wcPlaybackTime=o-1e-6,this.wcDbgLogTickOnce(A,o,A.wcPlaybackTime,i),this.onWebCodecsPlaybackComplete(A,g);return}A.loopCount+=a,A.wcPlaybackTime=e-a*o,this.wcDbgLogTickOnce(A,o,A.wcPlaybackTime,i)}wcDbgLogTickOnce(A,I,g,Q){var C;this.wcDbgTickOnce.has(A.id)||(this.wcDbgTickOnce.add(A.id),console.info("[GiftStage:WC] clock tick",{giftId:A.id,type:A.type,state:A.state,paused:A.paused,duration:I,wcPlaybackTime:g,loop:(C=A.options.loop)!=null?C:1,maxLoopsEffective:Q,backend:this.backend.type,canvasCss:`${this.backend.canvas.clientWidth}x${this.backend.canvas.clientHeight}`,canvasBuf:`${this.backend.canvas.width}x${this.backend.canvas.height}`}))}onWebCodecsPlaybackComplete(A,I){var g;(g=A.onComplete)==null||g.call(A,I),A.state=A.options.clearsAfterStop===!1?"stopped":"finished"}tickSVGA(A,I,g,Q){var C,E;const o=A.videoEntity,i=o.params.fps,e=o.params.frames;if(i<=0||e<=0)return!1;const a=1/i,t=A.currentFrame;A.accumulatedTime+=I;const s=Math.floor(A.accumulatedTime/a);if(s<=0)return!1;A.accumulatedTime-=s*a;const D=(C=A.options.loop)!=null?C:1,h=A.loopCount*e+A.currentFrame+s;return D===0?(A.loopCount=Math.floor(h/e),A.currentFrame=h%e):h>=D*e?(A.loopCount=D,A.currentFrame=e-1,this.onGiftPlayComplete(A,g,Q)):(A.loopCount=Math.floor(h/e),A.currentFrame=h%e),A.currentFrame=Math.max(0,Math.min(A.currentFrame,e-1)),A.currentFrame!==t&&(this.audioManager.tickFrame(A,A.currentFrame,g),(E=A.onFrame)==null||E.call(A,A.currentFrame,g)),A.currentFrame!==t}onGiftPlayComplete(A,I,g){var Q;(Q=A.onComplete)==null||Q.call(A,I),A.state=A.options.clearsAfterStop===!1?"stopped":"finished"}tickImage(A,I,g,Q){var C;const E=(C=A.options.duration)!=null?C:0;return!(E>0)||(A.accumulatedTime+=I,A.accumulatedTime*1e3<E)?!1:(A.accumulatedTime=E/1e3,this.onGiftPlayComplete(A,g,Q),!0)}removeFinished(){const A=this.finishedSlotIdsScratch;A.length=0;for(const[I,g]of this.slots)g.state==="finished"&&A.push(I);for(const I of A)this.removeSlot(I);return A.length>0}getRenderOrderedSlots(){const A=this.visibleSlotsScratch;A.length=0;for(const I of this.sortedSlots)I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped"||A.push(I);return A}drawRenderLayers(A){var I,g;let Q=0;for(;Q<A.length;){const C=(I=A[Q].zIndex)!=null?I:0;let E=Q+1;for(;E<A.length&&((g=A[E].zIndex)!=null?g:0)===C;)E++;this.drawLayer(this.collapseCoincidentVisualRange(A,Q,E)),Q=E}}collapseCoincidentVisualDuplicates(A){return this.collapseCoincidentVisualRange(A,0,A.length)}collapseCoincidentVisualRange(A,I,g){const Q=this.coincidentSeenScratch,C=this.collapsedLayerScratch;Q.clear(),C.length=0;for(let E=g-1;E>=I;E-=1){const o=A[E],i=this.getCoincidentVisualKey(o);i&&Q.has(i)||(i&&Q.add(i),C.push(o))}return C.reverse(),C}getCoincidentVisualKey(A){var I,g,Q,C,E;if(this.postAnimator.hasAnimation(A.id))return null;const o=this.getBatchKey(A);if(o.includes(":-1:")||o.endsWith(":-1")||o==="svga::0")return null;const i=A.type==="svga"?`frame=${A.currentFrame}`:A.wcAtlasRect?`rect=${A.wcAtlasRect.x},${A.wcAtlasRect.y},${A.wcAtlasRect.w},${A.wcAtlasRect.h}`:"frame=shared-texture",e=A.type==="svga"?this.getSVGASlotTextureKey(A):"";return[A.type,o,i,e,`fit=${(I=A.options.objectFit)!=null?I:"contain"}`,`x=${A.x}`,`y=${A.y}`,`w=${A.width}`,`h=${A.height}`,`scale=${A.scale}`,`opacity=${A.opacity}`,`rotation=${A.rotation}`,`origin=${(Q=(g=A.options.transformOrigin)==null?void 0:g.x)!=null?Q:"50%"},${(E=(C=A.options.transformOrigin)==null?void 0:C.y)!=null?E:"50%"}`].join("|")}getSVGASlotTextureKey(A){const I=A.svgaSlotTextures;if(!I||I.size===0)return"";const g=A.svgaSlotTextureKeyCache;if(g&&g.map===I&&g.size===I.size)return g.key;const Q=Array.from(I.entries()).sort(([C],[E])=>C.localeCompare(E)).map(([C,E])=>`${C}:${E.texture.id}:${E.mode}:${E.logicalWidth}x${E.logicalHeight}`).join(",");return A.svgaSlotTextureKeyCache={key:Q,map:I,size:I.size},Q}drawLayer(A){if(A.length===0)return;let I=A[0].type,g=this.getBatchKey(A[0]);const Q=this.drawRunScratch;Q.length=0;for(const C of A){const E=this.getBatchKey(C);(C.type!==I||E!==g)&&Q.length>0&&(this.drawSlotRun(I,Q),Q.length=0),I=C.type,g=E,Q.push(C)}Q.length>0&&this.drawSlotRun(I,Q),Q.length=0}needsContinuousFrame(){var A;if(this.globallyPaused)return!1;if(this.postAnimator.hasRunningAnimations())return!0;for(const I of this.slots.values())if(!(I.paused||I.state!=="playing")&&(I.type==="svga"&&I.videoEntity||I.type==="image"&&((A=I.options.duration)!=null?A:0)>0||(I.type==="vap"||I.type==="alphaVideo")&&I.webcodecsPlayback||(I.type==="vap"||I.type==="alphaVideo")&&I.videoElement&&typeof I.videoElement.requestVideoFrameCallback!="function"))return!0;return!1}insertSortedSlot(A){let I=0,g=this.sortedSlots.length;for(;I<g;){const Q=I+g>>>1;kI.compareSlots(this.sortedSlots[Q],A)<=0?I=Q+1:g=Q}this.sortedSlots.splice(I,0,A)}static compareSlots(A,I){var g,Q,C,E;const o=((g=A.zIndex)!=null?g:0)-((Q=I.zIndex)!=null?Q:0);return o!==0?o:((C=A.renderOrder)!=null?C:0)-((E=I.renderOrder)!=null?E:0)}drawSlotRun(A,I){if(I.length===0)return;if(A==="svga"){this.svgaBatch.drawSlots(this.backend,I);return}if(A==="image"){for(const Q of I)this.imageRenderer.drawSlot(this.backend,Q);return}const g=this.videoRunMapScratch;g.clear();for(const Q of I)g.set(Q.id,Q);A==="vap"?this.vapRenderer.draw(this.backend,g):this.alphaVideoRenderer.draw(this.backend,g)}getBatchKey(A){var I,g,Q,C,E,o,i,e,a;const t=A.batchKeyCache;switch(A.type){case"svga":{const s=A.videoEntity,D=(I=s==null?void 0:s.atlasTextureHandles)!=null&&I.length?s.atlasTextureHandles:(g=s==null?void 0:s.atlasTextureHandle)!=null?g:null,h=A.svgaSlotTextures&&A.svgaSlotTextures.size>0?1:0;if(t&&t.d0===D&&t.d1===h)return t.key;const r=`svga:${((Q=s==null?void 0:s.atlasTextureHandles)!=null&&Q.length?s.atlasTextureHandles:s!=null&&s.atlasTextureHandle?[s.atlasTextureHandle]:[]).map(F=>F.id).join(",")}:${h}`;return A.batchKeyCache={key:r,d0:D,d1:h,d2:null},r}case"vap":{const s=A.videoTextureHandle,D=!!A.vapMixState,h=(C=A.options.objectFit)!=null?C:"contain";if(t&&t.d0===s&&t.d1===D&&t.d2===h)return t.key;const w=`vap:${D?"mixed":"video"}:${(E=s==null?void 0:s.id)!=null?E:-1}:${h}`;return A.batchKeyCache={key:w,d0:s,d1:D,d2:h},w}case"alphaVideo":{const s=A.videoTextureHandle,D=(o=A.options.objectFit)!=null?o:"contain";if(t&&t.d0===s&&t.d1===D)return t.key;const h=`alpha:${(i=s==null?void 0:s.id)!=null?i:-1}:${D}`;return A.batchKeyCache={key:h,d0:s,d1:D,d2:null},h}case"image":{const s=A.imageTextureHandle,D=(e=A.options.objectFit)!=null?e:"contain";if(t&&t.d0===s&&t.d1===D)return t.key;const h=`image:${(a=s==null?void 0:s.id)!=null?a:-1}:${D}`;return A.batchKeyCache={key:h,d0:s,d1:D,d2:null},h}}}deleteSVGAAtlasTextures(A){var I;const g=(I=A.atlasTextureHandles)!=null&&I.length?A.atlasTextureHandles:A.atlasTextureHandle?[A.atlasTextureHandle]:[],Q=new Set;for(const C of g)Q.has(C.id)||(Q.add(C.id),this.backend.deleteTexture(C))}destroy(){this.stop();for(const A of Array.from(this.slots.keys()))this.removeSlot(A);this.svgaBatch.destroy(this.backend),this.vapRenderer.destroy(this.backend),this.alphaVideoRenderer.destroy(this.backend),this.imageRenderer.destroy(this.backend),this.postAnimator.destroy(),this.audioManager.destroy(),this.sortedSlots.length=0,this.visibleSlotsScratch.length=0,this.collapsedLayerScratch.length=0,this.drawRunScratch.length=0,this.coincidentSeenScratch.clear(),this.backend.destroy()}}function KB(){return typeof DecompressionStream!="undefined"}function EA(){return typeof performance!="undefined"?performance.now():Date.now()}function LQ(B){return B instanceof Error?`${B.name}: ${B.message}`:String(B)}async function wo(B,A,I){const g=I?EA():0,Q=I?{inputBytes:B.byteLength,nativeAvailable:KB(),nativeAttempts:[]}:null,C=(o,i)=>(Q&&(Q.selectedPath=i,Q.outputBytes=o.byteLength,Q.totalMs=EA()-g,I==null||I(Q)),o),E=o=>{throw Q&&(Q.error=LQ(o),Q.totalMs=EA()-g,I==null||I(Q)),o};if(KB())try{return C(await Zg(B,Q!=null?Q:void 0),"native")}catch(o){}try{const o=Q?EA():0,i=A();return Q&&(Q.wasmMs=EA()-o),i?C(i,"wasm"):C(await Zg(B,Q!=null?Q:void 0),"native-retry")}catch(o){return E(o)}}async function Zg(B,A){if(typeof DecompressionStream!="undefined"){try{return await Ng(B,"deflate",A==null?void 0:A.nativeAttempts)}catch(I){}try{return await Ng(B.slice(2),"deflate-raw",A==null?void 0:A.nativeAttempts)}catch(I){}return Ng(B.slice(2,-4),"deflate-raw",A==null?void 0:A.nativeAttempts)}throw new Error("No inflate implementation available (need WASM or DecompressionStream)")}async function Ng(B,A,I){const g=I?EA():0,Q=I?{format:A,inputBytes:B.byteLength,inputChunks:1,writerSubmitMs:0,readMs:0,concatMs:0,totalMs:0,outputChunks:0,outputBytes:0,status:"failed"}:null;try{const C=new DecompressionStream(A),E=C.writable.getWriter(),o=C.readable.getReader(),i=Q?EA():0,e=Promise.resolve(E.write(new Uint8Array(B.buffer,B.byteOffset,B.byteLength))),a=Promise.resolve(E.close());e.catch(()=>{}),a.catch(()=>{}),Q&&(Q.writerSubmitMs=EA()-i);const t=[];let s=0;const D=Q?EA():0;for(;;){const{done:F,value:n}=await o.read();if(F)break;t.push(n),s+=n.length}await Promise.all([e,a]),Q&&(Q.readMs=EA()-D,Q.outputChunks=t.length,Q.outputBytes=s);const h=Q?EA():0,w=new Uint8Array(s);let r=0;for(const F of t)w.set(F,r),r+=F.length;return Q&&(Q.concatMs=EA()-h,Q.totalMs=EA()-g,Q.status="success"),w}catch(C){throw Q&&(Q.totalMs=EA()-g,Q.error=LQ(C)),C}finally{Q&&(I==null||I.push(Q))}}typeof TextEncoder!="undefined"&&new TextEncoder;const JB=typeof TextDecoder!="undefined"?new TextDecoder:null;function uQ(B){const A=B instanceof Uint8Array?B:new Uint8Array(B);return JB?JB.decode(A):no(A)}function no(B){let A="";for(let I=0;I<B.length;I+=1){const g=B[I];if(g<128){A+=String.fromCharCode(g);continue}if(g>=192&&g<224&&I+1<B.length){const Q=(g&31)<<6|B[++I]&63;A+=String.fromCharCode(Q);continue}if(g>=224&&g<240&&I+2<B.length){const Q=(g&15)<<12|(B[++I]&63)<<6|B[++I]&63;A+=String.fromCharCode(Q);continue}if(g>=240&&g<248&&I+3<B.length){let Q=(g&7)<<18|(B[++I]&63)<<12|(B[++I]&63)<<6|B[++I]&63;Q-=65536,A+=String.fromCharCode(55296+(Q>>10),56320+(Q&1023));continue}A+="�"}return A}var ro=Object.defineProperty,co=(B,A,I)=>A in B?ro(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,lg=(B,A,I)=>co(B,typeof A!="symbol"?A+"":A,I);const Fo=0,Go=1,Ro=2,yo=5;class BB{constructor(A,I=0,g){lg(this,"view"),lg(this,"pos"),lg(this,"end"),this.view=new DataView(A.buffer,A.byteOffset,A.byteLength),this.pos=I,this.end=I+(g!=null?g:A.byteLength)}get remaining(){return this.end-this.pos}readVarint(){let A=0,I=0;for(;this.pos<this.end;){const g=this.view.getUint8(this.pos++);if(A|=(g&127)<<I,(g&128)===0)return A>>>0;I+=7}return A>>>0}readSignedVarint(){return this.readVarint()|0}readFloat(){const A=this.view.getFloat32(this.pos,!0);return this.pos+=4,A}readDouble(){const A=this.view.getFloat64(this.pos,!0);return this.pos+=8,A}readBytes(){const A=this.readVarint(),I=this.view.byteOffset+this.pos;this.pos+=A;const g=this.view.buffer.slice(I,I+A);return new Uint8Array(g)}readString(){const A=this.readBytes();return uQ(A)}readTag(){if(this.pos>=this.end)return null;const A=this.readVarint();return{field:A>>>3,wire:A&7}}skip(A){switch(A){case Fo:this.readVarint();break;case Go:this.pos+=8;break;case Ro:this.pos+=this.readVarint();break;case yo:this.pos+=4;break}}sub(A){const I=new BB(new Uint8Array(this.view.buffer,this.view.byteOffset),this.pos,A);return this.pos+=A,I}}function Mo(B){const A={viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.viewBoxWidth=B.readFloat();break;case 2:A.viewBoxHeight=B.readFloat();break;case 3:A.fps=B.readSignedVarint();break;case 4:A.frames=B.readSignedVarint();break;default:B.skip(I.wire)}}return A}function No(B){const A={x:0,y:0,width:0,height:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.x=B.readFloat();break;case 2:A.y=B.readFloat();break;case 3:A.width=B.readFloat();break;case 4:A.height=B.readFloat();break;default:B.skip(I.wire)}}return A}function HQ(B){const A={a:1,b:0,c:0,d:1,tx:0,ty:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.a=B.readFloat();break;case 2:A.b=B.readFloat();break;case 3:A.c=B.readFloat();break;case 4:A.d=B.readFloat();break;case 5:A.tx=B.readFloat();break;case 6:A.ty=B.readFloat();break;default:B.skip(I.wire)}}return A}function fB(B){const A={r:0,g:0,b:0,a:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.r=B.readFloat();break;case 2:A.g=B.readFloat();break;case 3:A.b=B.readFloat();break;case 4:A.a=B.readFloat();break;default:B.skip(I.wire)}}return A}function lo(B){const A={fill:null,stroke:null,strokeWidth:0},I=[];for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:{const Q=B.readVarint();A.fill=fB(B.sub(Q));break}case 2:{const Q=B.readVarint();A.stroke=fB(B.sub(Q));break}case 3:A.strokeWidth=B.readFloat();break;case 4:A.lineCap=B.readVarint();break;case 5:A.lineJoin=B.readVarint();break;case 6:A.miterLimit=B.readFloat();break;case 7:I[0]=B.readFloat();break;case 8:I[1]=B.readFloat();break;case 9:I[2]=B.readFloat();break;default:B.skip(g.wire)}}return I.some(g=>g>0)&&(A.lineDash=I.filter(g=>g>0)),A}function So(B){let A="";for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A=B.readString();break;default:B.skip(I.wire)}}return A}function ko(B){const A={x:0,y:0,width:0,height:0,cornerRadius:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.x=B.readFloat();break;case 2:A.y=B.readFloat();break;case 3:A.width=B.readFloat();break;case 4:A.height=B.readFloat();break;case 5:A.cornerRadius=B.readFloat();break;default:B.skip(I.wire)}}return A}function Uo(B){const A={x:0,y:0,radiusX:0,radiusY:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.x=B.readFloat();break;case 2:A.y=B.readFloat();break;case 3:A.radiusX=B.readFloat();break;case 4:A.radiusY=B.readFloat();break;default:B.skip(I.wire)}}return A}function Yo(B){let A=0,I="",g,Q,C={fill:null,stroke:null,strokeWidth:0},E={a:1,b:0,c:0,d:1,tx:0,ty:0};for(;B.remaining>0;){const o=B.readTag();if(!o)break;switch(o.field){case 1:A=B.readVarint();break;case 2:{const i=B.readVarint();I=So(B.sub(i));break}case 3:{const i=B.readVarint();g=ko(B.sub(i));break}case 4:{const i=B.readVarint();Q=Uo(B.sub(i));break}case 10:{const i=B.readVarint();C=lo(B.sub(i));break}case 11:{const i=B.readVarint();E=HQ(B.sub(i));break}default:B.skip(o.wire)}}return A===3?{kind:"keep"}:I?{kind:"path",pathData:I,style:C,transform:E}:g?{kind:"rect",rect:g,style:C,transform:E}:Q?{kind:"ellipse",ellipse:Q,style:C,transform:E}:null}function Ko(B){const A={alpha:0,layout:null,transform:null,clipPath:""},I=[];for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:A.alpha=B.readFloat();break;case 2:{const Q=B.readVarint();A.layout=No(B.sub(Q));break}case 3:{const Q=B.readVarint();A.transform=HQ(B.sub(Q));break}case 4:A.clipPath=B.readString();break;case 5:{const Q=B.readVarint(),C=Yo(B.sub(Q));C&&I.push(C);break}default:B.skip(g.wire)}}return I.length>0&&(A.shapes=I),A}function Jo(B){var A;const I={imageKey:"",frames:[]};for(;B.remaining>0;){const Q=B.readTag();if(!Q)break;switch(Q.field){case 1:I.imageKey=B.readString();break;case 2:{const C=B.readVarint();I.frames.push(Ko(B.sub(C)));break}default:B.skip(Q.wire)}}let g=null;for(const Q of I.frames){const C=Q.shapes;if(!C||C.length===0){Q.shapes=null,g=null;continue}if(((A=C[0])==null?void 0:A.kind)==="keep"){Q.shapes=g;continue}const E=C.filter(o=>o.kind!=="keep");Q.shapes=E.length>0?E:null,g=Q.shapes}return I}function fo(B){const A={audioKey:"",startFrame:0,endFrame:0,startTime:0,totalTime:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.audioKey=B.readString();break;case 2:A.startFrame=B.readSignedVarint();break;case 3:A.endFrame=B.readSignedVarint();break;case 4:A.startTime=B.readSignedVarint();break;case 5:A.totalTime=B.readSignedVarint();break;default:B.skip(I.wire)}}return A}function Lo(B){let A="",I=new Uint8Array(0);for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:A=B.readString();break;case 2:I=B.readBytes();break;default:B.skip(g.wire)}}return{key:A,value:I}}function Vg(B){const A=new BB(B),I=[],g={version:"",params:{viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0},images:new Map,audios:[]};for(;A.remaining>0;){const Q=A.readTag();if(!Q)break;switch(Q.field){case 1:g.version=A.readString();break;case 2:{const C=A.readVarint();g.params=Mo(A.sub(C));break}case 3:{const C=A.readVarint(),{key:E,value:o}=Lo(A.sub(C));g.images.set(E,o);break}case 4:{const C=A.readVarint();I.push(Jo(A.sub(C)));break}case 5:{const C=A.readVarint();g.audios.push(fo(A.sub(C)));break}default:A.skip(Q.wire)}}return{version:g.version,params:g.params,images:g.images,spriteTable:CQ(I,g.params.frames),audios:g.audios}}function LB(B,A){B.f32(A.r),B.f32(A.g),B.f32(A.b),B.f32(A.a)}function uB(B){return{r:B.f32(),g:B.f32(),b:B.f32(),a:B.f32()}}function uo(B,A){var I,g,Q;const C=(g=(I=A.lineDash)==null?void 0:I.filter(o=>o>0))!=null?g:[];let E=0;if(A.fill&&(E|=1),A.stroke&&(E|=2),A.lineCap!==void 0&&(E|=4),A.lineJoin!==void 0&&(E|=8),A.miterLimit!==void 0&&(E|=16),C.length>0&&(E|=32),B.u8(E),A.fill&&LB(B,A.fill),A.stroke&&LB(B,A.stroke),B.f32((Q=A.strokeWidth)!=null?Q:0),A.lineCap!==void 0&&B.i32(A.lineCap),A.lineJoin!==void 0&&B.i32(A.lineJoin),A.miterLimit!==void 0&&B.f32(A.miterLimit),C.length>0){B.u32(C.length);for(const o of C)B.f32(o)}}function Ho(B){const A=B.u8(),I=A&1?uB(B):null,g=A&2?uB(B):null,Q={fill:I,stroke:g,strokeWidth:B.f32()};if(A&4&&(Q.lineCap=B.i32()),A&8&&(Q.lineJoin=B.i32()),A&16&&(Q.miterLimit=B.f32()),A&32){const C=B.u32(),E=[];for(let o=0;o<C;o++)E.push(B.f32());E.length>0&&(Q.lineDash=E)}return Q}async function qo(B,A,I){var g,Q,C,E;B.u8(A.kind==="path"?0:A.kind==="rect"?1:2),await B.stringCooperative((g=A.pathData)!=null?g:"",I);const o=(Q=A.rect)!=null?Q:{x:0,y:0,width:0,height:0,cornerRadius:0};B.f32(o.x),B.f32(o.y),B.f32(o.width),B.f32(o.height),B.f32((C=o.cornerRadius)!=null?C:0);const i=(E=A.ellipse)!=null?E:{x:0,y:0,radiusX:0,radiusY:0};B.f32(i.x),B.f32(i.y),B.f32(i.radiusX),B.f32(i.radiusY),uo(B,A.style),B.f32(A.transform.a),B.f32(A.transform.b),B.f32(A.transform.c),B.f32(A.transform.d),B.f32(A.transform.tx),B.f32(A.transform.ty)}function po(B){const A=B.u8();if(A===3)throw new Error("Unexpected shape keep marker in sprite table shapes group");const I=B.string(),g={x:B.f32(),y:B.f32(),width:B.f32(),height:B.f32(),cornerRadius:B.f32()},Q={x:B.f32(),y:B.f32(),radiusX:B.f32(),radiusY:B.f32()},C=Ho(B),E={a:B.f32(),b:B.f32(),c:B.f32(),d:B.f32(),tx:B.f32(),ty:B.f32()};return A===0?{kind:"path",pathData:I,style:C,transform:E}:A===1?{kind:"rect",rect:g,style:C,transform:E}:{kind:"ellipse",ellipse:Q,style:C,transform:E}}async function mo(B,A,I){B.u32(A.spriteCount);for(const g of A.imageKeys)await B.stringCooperative(g,I),await I();B.pad4(),B.u32(A.frameCount),await B.rawBytesCooperative(new Uint8Array(A.frameData.buffer,A.frameData.byteOffset,A.frameData.byteLength),I),B.u32(A.clipPaths.length);for(const g of A.clipPaths)await B.stringCooperative(g,I),await I();B.pad4(),await B.rawBytesCooperative(new Uint8Array(A.clipPathIndex.buffer,A.clipPathIndex.byteOffset,A.clipPathIndex.byteLength),I),B.u32(A.shapesTable.length);for(const g of A.shapesTable){B.u32(g.length);for(const Q of g)await qo(B,Q,I),await I()}B.pad4(),await B.rawBytesCooperative(new Uint8Array(A.shapesIndex.buffer,A.shapesIndex.byteOffset,A.shapesIndex.byteLength),I),B.u8(A.hasAnyShapes?1:0)}async function qQ(B,A){const I=B.u32(),g=[];for(let n=0;n<I;n++)g.push(B.string()),await A();B.pad4();const Q=B.u32(),C=I*Q*OC;B.pad4();const E=B.position,o=new Float32Array(B.sourceBuffer(),E,C);B.skip(C*4),await A();const i=B.u32(),e=[];for(let n=0;n<i;n++)e.push(B.string()),await A();B.pad4();const a=I*Q,t=B.position,s=new Int32Array(B.sourceBuffer(),t,a);B.skip(a*4),await A();const D=B.u32(),h=[];for(let n=0;n<D;n++){const c=B.u32(),G=[];for(let y=0;y<c;y++)G.push(po(B)),await A();h.push(G)}B.pad4();const w=I*Q,r=B.position,F=new Int32Array(B.sourceBuffer(),r,w);return B.skip(w*4),await A(),{spriteCount:I,frameCount:Q,imageKeys:g,frameData:o,clipPaths:e,clipPathIndex:s,shapesTable:h,shapesIndex:F,hasAnyShapes:B.u8()!==0}}var xo=Object.defineProperty,bo=(B,A,I)=>A in B?xo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Sg=(B,A,I)=>bo(B,typeof A!="symbol"?A+"":A,I);const To=1397182530,Wo=2;function Zo(B){return B+3&-4}let Vo=class{constructor(A){this.buffer=A,Sg(this,"view"),Sg(this,"bytes"),Sg(this,"offset",0),this.view=new DataView(A),this.bytes=new Uint8Array(A)}get position(){return this.offset}skip(A){this.offset+=A}pad4(){this.offset=Zo(this.offset)}u8(){const A=this.view.getUint8(this.offset);return this.offset+=1,A}u16(){const A=this.view.getUint16(this.offset,!0);return this.offset+=2,A}u32(){const A=this.view.getUint32(this.offset,!0);return this.offset+=4,A}i32(){const A=this.view.getInt32(this.offset,!0);return this.offset+=4,A}f32(){const A=this.view.getFloat32(this.offset,!0);return this.offset+=4,A}bytesValue(){const A=this.u32(),I=this.offset;return this.offset+=A,this.bytes.subarray(I,I+A)}bytesRef(){const A=this.u32(),I=this.offset;return this.offset+=A,{offset:I,length:A}}string(){return uQ(this.bytesValue())}sourceBuffer(){return this.buffer}};async function pQ(B,A,I,g){const Q=iA({maxBudgetMs:I}),C=async()=>{Y(g,"SVGA payload deserialization aborted"),Q.shouldYield()&&await Q.yield(),Y(g,"SVGA payload deserialization aborted")};Y(g,"SVGA payload deserialization aborted");const E=new Vo(B);if(E.u32()!==To)throw new Error("Invalid SVGA worker payload magic");if(E.u16()!==Wo)throw new Error("Unsupported SVGA worker payload version");E.u16();const o=E.string(),i={viewBoxWidth:E.f32(),viewBoxHeight:E.f32(),fps:E.f32(),frames:E.u32()},e=[],a=E.u32();for(let h=0;h<a;h++)e.push({audioKey:E.string(),startFrame:E.i32(),endFrame:E.i32(),startTime:E.i32(),totalTime:E.i32()}),await C();const t=[],s=E.u32();for(let h=0;h<s;h++){const w=E.string(),r=E.bytesRef();t.push({key:w,offset:r.offset,length:r.length}),await C()}const D=await qQ(E,C);return Y(g,"SVGA payload deserialization aborted"),{version:o,params:i,audios:e,spriteTable:D,images:{},imageBlob:E.sourceBuffer(),imageEntries:t,__debug:A}}const mQ=`function iA() {
1411
+ `,MB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",yQ],{type:"text/javascript;charset=utf-8"});function $E(B){let A;try{if(A=MB&&(self.URL||self.webkitURL).createObjectURL(MB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(yQ),{type:"module",name:B==null?void 0:B.name})}}function AA(B="Operation aborted"){const A=new Error(B);return A.name="AbortError",A}function qA(B){return B instanceof Error?B.name==="AbortError"?!0:"cause"in B&&qA(B.cause):!1}function K(B,A){if(B!=null&&B.aborted)throw AA(A)}var Ai=Object.defineProperty,Ii=(B,A,I)=>A in B?Ai(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Rg=(B,A,I)=>Ii(B,typeof A!="symbol"?A+"":A,I);class gi{constructor(){Rg(this,"active",0),Rg(this,"maxConcurrent",1),Rg(this,"waiters",[])}configure(A){this.maxConcurrent=Math.max(1,Math.floor(Number.isFinite(A)?A:1)),this.drain()}tryAcquire(){return this.active>=this.maxConcurrent?null:(this.active++,this.createRelease())}acquire(A){if(A!=null&&A.aborted)return Promise.reject(AA("SVGA worker task aborted"));const I=this.tryAcquire();return I?Promise.resolve(I):new Promise((g,Q)=>{const C={resolve:g,reject:Q,signal:A};A&&(C.onAbort=()=>{const E=this.waiters.indexOf(C);E>=0&&this.waiters.splice(E,1),Q(AA("SVGA worker task aborted"))},A.addEventListener("abort",C.onAbort,{once:!0})),this.waiters.push(C)})}createRelease(){let A=!1;return()=>{A||(A=!0,this.active--,this.drain())}}run(A,I){if(I!=null&&I.aborted)return Promise.reject(AA("SVGA worker task aborted"));const g=this.tryAcquire();return g?this.execute(A,g):this.acquire(I).then(Q=>this.execute(A,Q))}async execute(A,I){try{return await A()}finally{I()}}drain(){for(var A;this.active<this.maxConcurrent&&this.waiters.length>0;){const I=this.waiters.shift();if(I){if(I.signal&&I.onAbort&&I.signal.removeEventListener("abort",I.onAbort),(A=I.signal)!=null&&A.aborted){I.reject(AA("SVGA worker task aborted"));continue}this.active++,I.resolve(this.createRelease())}}}}const $g=new gi;function AB(B){B!=null&&$g.configure(B)}function IB(B,A){return $g.run(B,A)}function Bi(B){return $g.acquire(B)}let cI=null,Qi=1;const YI=new Map;function RQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function Qg(B,A,I){cI===B&&(cI=null);try{B.terminate()}catch(g){}for(const[g,Q]of YI)Q.owner===B&&(YI.delete(g),RQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA clip worker restarted after another request was canceled")))}function Ci(){if(!cI){const B=new $E;cI=B,B.addEventListener("message",A=>{var I;const g=A.data;if(!g||g.type!=="build-svga-clip-meshes-result")return;const Q=YI.get(g.id);if(!Q||Q.owner!==B)return;if(YI.delete(g.id),RQ(Q),g.error){Q.reject(new Error(g.error));return}const C=new Map;for(const E of(I=g.entries)!=null?I:[])C.set(E.path,E.vertices&&E.indices?{vertices:E.vertices,indices:E.indices}:null);Q.resolve(C)}),B.addEventListener("error",A=>{Qg(B,new Error(A.message||"SVGA clip worker error"))}),B.addEventListener("messageerror",()=>{Qg(B,new Error("SVGA clip worker message deserialization failed"))})}return cI}function MQ(){return typeof Worker!="undefined"}function Ei(B,A={}){return MQ()?IB(()=>{K(A.signal,"SVGA clip worker task aborted");const I=Ci(),g=Qi++;return new Promise((Q,C)=>{var E,o;const i={owner:I,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{Qg(I,AA("SVGA clip worker task aborted"),g)},YI.set(g,i),(E=A.signal)!=null&&E.aborted){i.onAbort();return}(o=A.signal)==null||o.addEventListener("abort",i.onAbort,{once:!0});try{I.postMessage({type:"build-svga-clip-meshes",id:g,paths:B,workerTimeSliceMs:A.workerTimeSliceMs})}catch(e){Qg(I,e instanceof Error?e:new Error(String(e)))}})},A.signal):Promise.reject(new Error("SVGA clip worker unavailable"))}var ii=Object.defineProperty,oi=(B,A,I)=>A in B?ii(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,TI=(B,A,I)=>oi(B,typeof A!="symbol"?A+"":A,I);const lQ=1e3/60,ei=2,ti=12,ai=.25;function $I(){return typeof performance!="undefined"?performance.now():Date.now()}function si(){return new Promise(B=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>B());return}setTimeout(B,0)}).then($I)}function Di(B,A={}){var I,g,Q;const C=Math.max(.1,(I=A.minBudgetMs)!=null?I:ei),E=Math.max(C,(g=A.maxBudgetMs)!=null?g:ti),o=Math.max(.05,Math.min(.95,(Q=A.frameFraction)!=null?Q:.5)),i=Number.isFinite(B)&&B>0?B:lQ;return Math.max(C,Math.min(E,i*o))}function hi(B,A){return!Number.isFinite(A)||A<4||A>100?B:B+(A-B)*ai}class ni{constructor(){TI(this,"frameIntervalMs",lQ),TI(this,"lastFrameAt",-1),TI(this,"sliceStartedAt",$I()),TI(this,"nextFramePromise",null)}budgetMs(A={}){return Di(this.frameIntervalMs,A)}shouldYield(A={}){return $I()-this.sliceStartedAt>=this.budgetMs(A)}async yield(){this.nextFramePromise||(this.nextFramePromise=si().then(A=>{this.lastFrameAt>=0&&(this.frameIntervalMs=hi(this.frameIntervalMs,A-this.lastFrameAt)),this.lastFrameAt=A,this.sliceStartedAt=$I()}).finally(()=>{this.nextFramePromise=null})),await this.nextFramePromise}}const Mg=new ni;function iA(B={}){return{get budgetMs(){return Mg.budgetMs(B)},shouldYield(){return Mg.shouldYield(B)},yield(){return Mg.yield()}}}const gB={x:0,y:0};function lB(B,A,I){if(typeof B=="string"){const g=Number.parseFloat(B);return Number.isFinite(g)?A*g/100:A*.5}if(typeof B=="number"&&Number.isFinite(B)){const g=I&&I>0?A/I:1;return B*g}return A*.5}function BB(B,A={x:0,y:0}){const I=B.options.transformOrigin;return A.x=B.x+lB(I==null?void 0:I.x,B.width,B.options.width)*B.scale,A.y=B.y+lB(I==null?void 0:I.y,B.height,B.options.height)*B.scale,A}function OA(B,A,I,g,Q,C){const E=B.rotation||0,o=Math.cos(E),i=Math.sin(E),e=BB(B,gB),t=A-e.x,a=I-e.y;return C[0]=o*g,C[1]=i*g,C[2]=0,C[3]=0,C[4]=-i*Q,C[5]=o*Q,C[6]=0,C[7]=0,C[8]=0,C[9]=0,C[10]=1,C[11]=0,C[12]=e.x+o*t-i*a,C[13]=e.y+i*t+o*a,C[14]=0,C[15]=1,C}function wi(B,A,I=A){const g=B.rotation||0;if(g===0)return I!==A&&Object.assign(I,A),I;const Q=Math.cos(g),C=Math.sin(g),E=BB(B,gB),{a:o,b:i,c:e,d:t,tx:a,ty:s}=A,D=a-E.x,h=s-E.y;return I.a=Q*o-C*i,I.b=C*o+Q*i,I.c=Q*e-C*t,I.d=C*e+Q*t,I.tx=E.x+Q*D-C*h,I.ty=E.y+C*D+Q*h,I}function bA(B,A,I,g,Q,C={x:0,y:0,w:0,h:0}){const E=B.rotation||0;if(E===0)return C.x=A,C.y=I,C.w=g,C.h=Q,C;const o=Math.cos(E),i=Math.sin(E),e=BB(B,gB),t=[[A,I],[A+g,I],[A+g,I+Q],[A,I+Q]];let a=1/0,s=1/0,D=-1/0,h=-1/0;for(const[n,c]of t){const F=n-e.x,w=c-e.y,r=e.x+o*F-i*w,G=e.y+i*F+o*w;a=Math.min(a,r),s=Math.min(s,G),D=Math.max(D,r),h=Math.max(h,G)}return C.x=a,C.y=s,C.w=D-a,C.h=h-s,C}var ri=Object.defineProperty,ci=(B,A,I)=>A in B?ri(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,d=(B,A,I)=>ci(B,typeof A!="symbol"?A+"":A,I);const WI=2048,ZI=6,VI={x:0,y:0,w:1,h:1},QB=class Wg{constructor(A){this.onClipMeshReady=A,d(this,"pool",new rQ),d(this,"vertexBufHandles",[]),d(this,"indexBufHandles",[]),d(this,"clipSpriteVertBufHandles",[]),d(this,"clipSpriteIdxBufHandles",[]),d(this,"batchDrawCursor",0),d(this,"clipSpriteDrawCursor",0),d(this,"canvasWidth",0),d(this,"canvasHeight",0),d(this,"projCacheW",0),d(this,"projCacheH",0),d(this,"projCache",null),d(this,"clipMeshCache",new Map),d(this,"clipMeshesWithBuffers",new Set),d(this,"pendingClipMeshPaths",new Set),d(this,"clipMeshBuildInFlight",!1),d(this,"clipFrameDataScratch",new Float32Array(SA)),d(this,"staticBatchCacheRowScratch",new Float32Array(SA)),d(this,"instancedFrameDataScratch",new Float32Array(WI*SA)),d(this,"clipSpriteVertsScratch",null),d(this,"clipSpriteIndicesScratch",null),d(this,"instancedQuadVB",null),d(this,"instancedQuadIB",null),d(this,"whiteTexture",null),d(this,"shapeMeshCache",new WeakMap),d(this,"shapeMeshesWithBuffers",new Set),d(this,"clipTransformMat",new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])),d(this,"shapeTransformMat",new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])),d(this,"slotScissor",{x:0,y:0,w:0,h:0}),d(this,"slotScissorActive",!1),d(this,"sharedClipStencilActive",!1),d(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),d(this,"spriteWorkPool",[]),d(this,"spriteWorkCursor",0),d(this,"batchSpritesScratch",[]),d(this,"drawGroupScratch",[]),d(this,"entityHasShapesCache",new WeakMap),d(this,"entityFrameClipModeCache",new WeakMap),d(this,"entityClipMeshArrayCache",new WeakMap),d(this,"entityAllFramesInsideViewBoxCache",new WeakMap),d(this,"affineScratch",{a:1,b:0,c:0,d:1,tx:0,ty:0}),d(this,"plainInstancedTexturesScratch",[]),d(this,"plainInstancedUniformsScratch",{u_projection:new Float32Array(16),u_atlas:0}),d(this,"plainInstancedDrawCommand",{shader:"svga-instanced-premul",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.plainInstancedTexturesScratch,uniforms:this.plainInstancedUniformsScratch}),d(this,"plainBatchTexturesScratch",[]),d(this,"plainBatchUniformsScratch",{u_projection:new Float32Array(16),u_atlas:0}),d(this,"plainBatchDrawCommand",{shader:"svga-batch-premul",vertexBuffer:null,indexBuffer:null,indexCount:0,textures:this.plainBatchTexturesScratch,uniforms:this.plainBatchUniformsScratch}),d(this,"clipInstancedTexturesScratch",[]),d(this,"clipInstancedUniformsScratch",{u_projection:new Float32Array(16),u_atlas:0}),d(this,"clipInstancedDrawCommand",{shader:"svga-instanced-premul",vertexBuffer:null,indexBuffer:null,indexCount:6,instanceCount:1,textures:this.clipInstancedTexturesScratch,uniforms:this.clipInstancedUniformsScratch,stencil:"test"}),d(this,"clipBatchTexturesScratch",[]),d(this,"clipBatchUniformsScratch",{u_projection:new Float32Array(16),u_atlas:0}),d(this,"clipBatchDrawCommand",{shader:"svga-batch-premul",vertexBuffer:null,indexBuffer:null,indexCount:0,textures:this.clipBatchTexturesScratch,uniforms:this.clipBatchUniformsScratch,stencil:"test"}),d(this,"clipMaskTexturesScratch",[]),d(this,"clipMaskUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.clipTransformMat}),d(this,"clipMaskDrawCommand",{shader:"clip-mask",vertexBuffer:null,indexBuffer:null,indexCount:0,textures:this.clipMaskTexturesScratch,uniforms:this.clipMaskUniformsScratch}),d(this,"shapeTexturesScratch",[]),d(this,"shapeUniformsScratch",{u_projection:new Float32Array(16),u_transform:new Float32Array(16),u_opacity:1}),d(this,"shapeDrawCommand",{shader:"svga-batch-premul",vertexBuffer:null,indexBuffer:null,indexCount:0,textures:this.shapeTexturesScratch,uniforms:this.shapeUniformsScratch})}beginFrame(A){this.batchDrawCursor=0,this.clipSpriteDrawCursor=0;const I=A.canvas.width,g=A.canvas.height;this.canvasWidth=I,this.canvasHeight=g}flush(A,I){this.beginFrame(A),this.drawSlots(A,I.values())}drawSlot(A,I){if(I.type!=="svga"||!this.hasRenderableSVGA(I)||I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped")return;const g=this.drawGroupScratch;g.length=0,g.push(I),this.flushGroup(A,g),g.length=0}drawSlots(A,I){const g=this.drawGroupScratch;g.length=0;for(const Q of I)Q.type!=="svga"||!this.hasRenderableSVGA(Q)||Q.state!=="playing"&&Q.state!=="fly"&&Q.state!=="stopped"||g.push(Q);g.length>0&&this.flushGroup(A,g),g.length=0}requiresStencil(A){var I;for(const g of A){if(g.type!=="svga"||!g.videoEntity||g.opacity<.05||g.state!=="playing"&&g.state!=="fly"&&g.state!=="stopped")continue;const Q=this.getFrameClipMode(g.videoEntity,g.currentFrame);if(Q===2||Q===1&&((I=g.rotation)!=null?I:0)!==0)return!0}return!1}getFrameClipMode(A,I){const g=A.spriteTable;if(I<0||I>=g.frameCount)return 0;let Q=this.entityFrameClipModeCache.get(A);(!Q||Q.length!==g.frameCount)&&(Q=new Uint8Array(g.frameCount),Q.fill(255),this.entityFrameClipModeCache.set(A,Q));const C=Q[I];if(C!==255)return C;let E=0,o=!1;for(let i=0;i<g.spriteCount;i++){const e=(i*g.frameCount+I)*wI;if(g.frameData[e+8]<.05)continue;const t=this.getClipMeshForSprite(A,i,I);if(t===void 0){E=2,o=!0;break}if(!t||t.indices.length===0)continue;if(!this.getClipRect(t)||!lg(g.frameData[e+2],g.frameData[e+3],g.frameData[e+4],g.frameData[e+5])){E=2;break}E=1}return o||(Q[I]=E),E}async prewarmClipMeshes(A,I={}){const g=A.spriteTable.clipPaths.filter(Q=>Q.length>0);return g.length===0?0:this.buildMissingClipMeshes(g,I)}async buildMissingClipMeshes(A,I={}){var g,Q,C,E,o;const i=A.filter(a=>!this.clipMeshCache.has(a));if(i.length===0)return A.length;if(I.useWorker!==!1&&MQ())try{const a=await Ei(i,{workerTimeSliceMs:I.workerTimeSliceMs,signal:I.signal});(g=I.checkActive)==null||g.call(I);for(const s of i)this.clipMeshCache.set(s,(Q=a.get(s))!=null?Q:null);return A.length}catch(a){if(qA(a))throw a;console.warn("[GiftStage:SVGA] clip mesh worker failed, using main thread",a)}const e=iA({maxBudgetMs:Math.max(1,(C=I.frameBudgetMs)!=null?C:8)});let t=0;for(const a of i)K(I.signal,"SVGA clip prewarm aborted"),(E=I.checkActive)==null||E.call(I),this.getClipMesh(a),t++,t<i.length&&e.shouldYield()&&(await e.yield(),K(I.signal,"SVGA clip prewarm aborted"),(o=I.checkActive)==null||o.call(I));return i.length>0&&console.info(`[GiftStage:SVGA] clip mesh main prewarm paths=${i.length} built=${t}`),A.length}queueClipMeshBuild(A){!A||this.clipMeshCache.has(A)||this.pendingClipMeshPaths.has(A)||(this.pendingClipMeshPaths.add(A),this.scheduleClipMeshBuildFlush())}scheduleClipMeshBuildFlush(){if(this.clipMeshBuildInFlight)return;this.clipMeshBuildInFlight=!0,(typeof queueMicrotask=="function"?queueMicrotask:I=>setTimeout(I,0))(()=>{this.flushPendingClipMeshBuilds()})}async flushPendingClipMeshBuilds(){var A;const I=Array.from(this.pendingClipMeshPaths);if(this.pendingClipMeshPaths.clear(),I.length===0){this.clipMeshBuildInFlight=!1;return}try{await this.buildMissingClipMeshes(I)}catch(g){console.warn("[GiftStage:SVGA] deferred clip mesh build failed",g)}finally{this.clipMeshBuildInFlight=!1,(A=this.onClipMeshReady)==null||A.call(this),this.pendingClipMeshPaths.size>0&&this.scheduleClipMeshBuildFlush()}}hydrateClipMeshes(A){if(!(!A||A.size===0))for(const[I,g]of A)g!=null&&g.vertices&&g.indices&&!this.clipMeshCache.has(I)&&this.clipMeshCache.set(I,g)}snapshotClipMeshes(A){const I=new Map;for(const g of A.spriteTable.clipPaths){if(!g||I.has(g))continue;const Q=this.clipMeshCache.get(g);Q!=null&&Q.vertices&&Q.indices&&I.set(g,{vertices:new Float32Array(Q.vertices),indices:new Uint32Array(Q.indices)})}return I}flushGroup(A,I){var g,Q,C,E,o;if(I.length===0)return;const i=this.getProjection();this.spriteWorkCursor=0;const e=this.batchSpritesScratch;e.length=0;let t=null;this.slotScissorActive=!1;for(const a of I){const s=a.videoEntity,D=s.params.viewBoxWidth,h=s.params.viewBoxHeight,n=nA(a),c=uA(a,D,h,this.layoutScratch),F=c.scaleX,w=c.scaleY,r=a.width*a.scale,G=a.height*a.scale,M=n==="cover"?r:Math.min(c.width,r),R=n==="cover"?G:Math.min(c.height,G),y=n==="cover"?a.x:a.x+c.offsetX,N=n==="cover"?a.y:a.y+c.offsetY;if(bA(a,y,N,M,R,this.slotScissor),n!=="cover"&&!a.rotation&&this.allFramesInsideViewBox(s))this.slotScissorActive&&(e.length>0&&(this.drawBatch(A,e,t,i),e.length=0,t=null),A.resetScissor(),this.slotScissorActive=!1);else{e.length>0&&(this.drawBatch(A,e,t,i),e.length=0,t=null);const f=this.slotScissor;A.setScissor(f.x,f.y,f.w,f.h),this.slotScissorActive=!0}const U=(g=s.atlasTextureHandles)!=null&&g.length?s.atlasTextureHandles:(Q=s.atlasTextureHandle)!=null?Q:null,Y=(C=a.svgaSlotTextures)!=null?C:null,S=a.state==="stopped"&&!s.spriteTable.hasAnyShapes&&this.getFrameClipMode(s,a.currentFrame)===0;if(!S)a.svgaStaticBatchCache&&(a.svgaStaticBatchCache=null);else if(this.staticBatchCacheMatches(a.svgaStaticBatchCache,a,s,U,Y,F,w,c.offsetX,c.offsetY)){t=this.drawFromStaticBatchCache(A,a.svgaStaticBatchCache,e,t,i);continue}let J=S?[]:null;for(let f=0;f<s.spriteTable.spriteCount;f++){const q=s.spriteTable,L=a.currentFrame;if(L<0||L>=q.frameCount)continue;const V=(f*q.frameCount+L)*wI;if(q.frameData[V+8]*a.opacity<.05)continue;const T=BE(q,f,L),P=!!T&&T.length>0,Z=this.acquireSpriteWork(a,f,q.frameData,V,F,w,c.offsetX,c.offsetY),MA=(E=q.imageKeys[f])!=null?E:"",QI=this.resolveSpriteTextureInto(a,MA,Z);if(!QI&&!P){this.spriteWorkCursor--;continue}const cA=this.getClipMeshForSprite(s,f,L);if(P){J=null,e.length>0&&(this.drawBatch(A,e,t,i),e.length=0,t=null),cA&&cA.indices.length>0?(this.drawShapeFrame(A,Z,T,cA,i),QI&&this.drawClippedSprite(A,Z,cA,i)):(this.drawShapeFrame(A,Z,T,cA,i),QI&&this.drawSingleSprite(A,Z,i));continue}cA&&cA.indices.length>0?(J=null,e.length>0&&(this.drawBatch(A,e,t,i),e.length=0,t=null),this.drawClippedSprite(A,Z,cA,i)):Z.override?(J&&J.push(this.captureStaticBatchCacheEntry(Z,!0)),e.length>0&&(this.drawBatch(A,e,t,i),e.length=0,t=null),this.drawSingleSprite(A,Z,i)):(J&&J.push(this.captureStaticBatchCacheEntry(Z,!1)),t&&t.id!==Z.handle.id&&(this.drawBatch(A,e,t,i),e.length=0,t=null),e.push(Z),t=Z.handle,e.length>=WI&&(this.drawBatch(A,e,t,i),e.length=0,t=null))}S&&(a.svgaStaticBatchCache=J?{entries:J,entity:s,atlasHandlesDep:U,svgaSlotTextures:Y,currentFrame:a.currentFrame,opacity:a.opacity,x:a.x,y:a.y,width:a.width,height:a.height,scale:a.scale,rotation:(o=a.rotation)!=null?o:0,sx:F,sy:w,offsetX:c.offsetX,offsetY:c.offsetY}:null)}e.length>0&&this.drawBatch(A,e,t,i),e.length=0,this.releaseSpriteWorks(),this.slotScissorActive=!1,A.resetScissor()}acquireSpriteWork(A,I,g,Q,C,E,o,i){let e=this.spriteWorkPool[this.spriteWorkCursor];return e||(e={slot:A,spriteIndex:I,layoutW:0,layoutH:0,a:1,b:0,c:0,d:1,tx:0,ty:0,alpha:0,handle:null,rect:VI,override:null,sx:C,sy:E,offsetX:o,offsetY:i,cachedRow:null},this.spriteWorkPool[this.spriteWorkCursor]=e),this.spriteWorkCursor++,e.slot=A,e.spriteIndex=I,e.layoutW=g[Q],e.layoutH=g[Q+1],e.a=g[Q+2],e.b=g[Q+3],e.c=g[Q+4],e.d=g[Q+5],e.tx=g[Q+6],e.ty=g[Q+7],e.alpha=g[Q+8],e.sx=C,e.sy=E,e.offsetX=o,e.offsetY=i,e.cachedRow=null,e}acquireCachedSpriteWork(A){let I=this.spriteWorkPool[this.spriteWorkCursor];return I||(I={slot:null,spriteIndex:-1,layoutW:0,layoutH:0,a:1,b:0,c:0,d:1,tx:0,ty:0,alpha:0,handle:A.handle,rect:VI,override:null,sx:1,sy:1,offsetX:0,offsetY:0,cachedRow:null},this.spriteWorkPool[this.spriteWorkCursor]=I),this.spriteWorkCursor++,I.handle=A.handle,I.cachedRow=A.row,I}releaseSpriteWorks(){for(let A=0;A<this.spriteWorkCursor;A++){const I=this.spriteWorkPool[A];I.slot=null,I.handle=null,I.rect=VI,I.override=null,I.cachedRow=null}this.spriteWorkCursor=0}staticBatchCacheMatches(A,I,g,Q,C,E,o,i,e){var t;return A?A.entity===g&&A.atlasHandlesDep===Q&&A.svgaSlotTextures===C&&A.currentFrame===I.currentFrame&&A.opacity===I.opacity&&A.x===I.x&&A.y===I.y&&A.width===I.width&&A.height===I.height&&A.scale===I.scale&&A.rotation===((t=I.rotation)!=null?t:0)&&A.sx===E&&A.sy===o&&A.offsetX===i&&A.offsetY===e:!1}captureStaticBatchCacheEntry(A,I){const g=this.staticBatchCacheRowScratch;return this.packFrameData(g,0,A),{row:g.slice(),handle:A.handle,isOverride:I}}drawFromStaticBatchCache(A,I,g,Q,C){for(const E of I.entries){const o=this.acquireCachedSpriteWork(E);if(E.isOverride){g.length>0&&(this.drawBatch(A,g,Q,C),g.length=0,Q=null),this.drawSingleSprite(A,o,C);continue}Q&&Q.id!==E.handle.id&&(this.drawBatch(A,g,Q,C),g.length=0,Q=null),g.push(o),Q=E.handle,g.length>=WI&&(this.drawBatch(A,g,Q,C),g.length=0,Q=null)}return Q}getProjection(){return this.projCache&&this.projCacheW===this.canvasWidth&&this.projCacheH===this.canvasHeight?this.projCache:(this.projCacheW=this.canvasWidth,this.projCacheH=this.canvasHeight,this.projCache=LA(0,this.canvasWidth,this.canvasHeight,0,-1,1),this.projCache)}drawBatch(A,I,g,Q){const C=Math.min(I.length,WI);if(C<1)return;if(A.type==="webgl2"||A.type==="webgpu"){this.drawBatchInstancedWebGL(A,I,C,g,Q);return}const E=this.pool.getFloat32(C*SA);for(let w=0;w<C;w++)this.packFrameData(E,w,I[w]);const o=C*zA*yA,i=C*nI,e=this.pool.getFloat32B(o),t=this.pool.getUint32(i),a=new Float32Array(E.buffer,0,C*SA),s=new Float32Array(e.buffer,0,o),D=new Uint32Array(t.buffer,0,i);(!$A()||Fg(a,s,D)===null)&&PI(a,s,D);const h=this.batchDrawCursor++,n=this.ensureVertexBuffer(A,h,s),c=this.ensureIndexBuffer(A,h,D),F=this.plainBatchDrawCommand;F.vertexBuffer=n,F.indexBuffer=c,F.indexCount=i,this.plainBatchTexturesScratch[0]=g,this.plainBatchTexturesScratch.length=1,this.plainBatchUniformsScratch.u_projection=Q,A.draw(F)}drawBatchInstancedWebGL(A,I,g,Q,C){this.ensureInstancedQuadBuffers(A);const E=this.instancedFrameDataScratch;for(let i=0;i<g;i++)this.packFrameData(E,i,I[i]);const o=this.plainInstancedDrawCommand;o.vertexBuffer=this.instancedQuadVB,o.indexBuffer=this.instancedQuadIB,o.instanceCount=g,o.instanceData=E,this.plainInstancedTexturesScratch[0]=Q,this.plainInstancedTexturesScratch.length=1,this.plainInstancedUniformsScratch.u_projection=C,A.draw(o)}drawClippedSprite(A,I,g,Q){var C;const{slot:E,sx:o,sy:i,offsetX:e,offsetY:t,a,b:s,c:D,d:h,tx:n,ty:c}=I,F=this.rotateTransform(E,a*o,s*i,D*o,h*i,n*o+E.x+e,c*i+E.y+t),{a:w,b:r,c:G,d:M,tx:R,ty:y}=F,N=this.getClipRect(g);if(N&&((C=E.rotation)!=null?C:0)===0&&lg(w,r,G,M)){this.applyClipRectScissor(A,N,w,M,R,y)&&this.drawSingleSprite(A,I,Q),this.restoreSlotScissor(A);return}const l=this.ensureClipMeshBuffers(A,g),U=this.packClipTransform(w,r,G,M,R,y);if(this.sharedClipStencilActive){if(A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const S=this.instancedFrameDataScratch;this.packFrameData(S,0,I);const J=this.clipInstancedDrawCommand;J.vertexBuffer=this.instancedQuadVB,J.indexBuffer=this.instancedQuadIB,J.instanceData=S,this.clipInstancedTexturesScratch[0]=I.handle,this.clipInstancedTexturesScratch.length=1,this.clipInstancedUniformsScratch.u_projection=Q,A.draw(J)}else this.drawBatchSpriteWithStencilTest(A,I,Q);this.clearSharedClipStencil(A,g,U,Q);return}const Y=this.clipMaskDrawCommand;if(Y.vertexBuffer=l.vertexBuf,Y.indexBuffer=l.indexBuf,Y.indexCount=g.indices.length,Y.stencil="write",this.clipMaskUniformsScratch.u_projection=Q,this.clipMaskUniformsScratch.u_transform=U,A.draw(Y),A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const S=this.instancedFrameDataScratch;this.packFrameData(S,0,I);const J=this.clipInstancedDrawCommand;J.vertexBuffer=this.instancedQuadVB,J.indexBuffer=this.instancedQuadIB,J.instanceData=S,this.clipInstancedTexturesScratch[0]=I.handle,this.clipInstancedTexturesScratch.length=1,this.clipInstancedUniformsScratch.u_projection=Q,A.draw(J),this.clearClipStencil(A,g,l,U,Q);return}this.drawBatchSpriteWithStencilTest(A,I,Q),this.clearClipStencil(A,g,l,U,Q)}drawBatchSpriteWithStencilTest(A,I,g){const Q=this.clipFrameDataScratch;this.packFrameData(Q,0,I);const C=zA*yA,E=nI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<C)&&(this.clipSpriteVertsScratch=new Float32Array(C)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<E)&&(this.clipSpriteIndicesScratch=new Uint32Array(E));const o=this.clipSpriteVertsScratch,i=this.clipSpriteIndicesScratch;(!$A()||Fg(Q,o,i)===null)&&PI(Q,o,i);const e=this.clipSpriteDrawCursor++,t=this.ensureClipSpriteVertexBuffer(A,e,o.subarray(0,C)),a=this.ensureClipSpriteIndexBuffer(A,e,i.subarray(0,E)),s=this.clipBatchDrawCommand;s.vertexBuffer=t,s.indexBuffer=a,s.indexCount=E,this.clipBatchTexturesScratch[0]=I.handle,this.clipBatchTexturesScratch.length=1,this.clipBatchUniformsScratch.u_projection=g,A.draw(s)}applyClipRectScissor(A,I,g,Q,C,E){const o=g*I.x+C,i=Q*I.y+E,e=this.slotScissor,t=Math.max(o,e.x),a=Math.max(i,e.y),s=Math.min(o+g*I.w,e.x+e.w),D=Math.min(i+Q*I.h,e.y+e.h);return s<=t||D<=a?!1:(A.setScissor(t,a,s-t,D-a),!0)}restoreSlotScissor(A){if(!this.slotScissorActive){A.resetScissor();return}const I=this.slotScissor;A.setScissor(I.x,I.y,I.w,I.h)}getClipRect(A){return A.rect===void 0&&(A.rect=Fi(A.vertices,A.indices)),A.rect}ensureClipMeshBuffers(A,I){return(!I.vertexBuf||!I.indexBuf)&&(I.vertexBuf=A.createBuffer(I.vertices,"vertex"),I.indexBuf=A.createBuffer(I.indices,"index"),this.clipMeshesWithBuffers.add(I)),{vertexBuf:I.vertexBuf,indexBuf:I.indexBuf}}packClipTransform(A,I,g,Q,C,E){const o=this.clipTransformMat;return o[0]=A,o[1]=I,o[4]=g,o[5]=Q,o[12]=C,o[13]=E,o}drawSingleSprite(A,I,g){if(A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const D=this.instancedFrameDataScratch;this.packFrameData(D,0,I);const h=this.plainInstancedDrawCommand;h.vertexBuffer=this.instancedQuadVB,h.indexBuffer=this.instancedQuadIB,h.instanceCount=1,h.instanceData=D,this.plainInstancedTexturesScratch[0]=I.handle,this.plainInstancedTexturesScratch.length=1,this.plainInstancedUniformsScratch.u_projection=g,A.draw(h);return}const Q=this.clipFrameDataScratch;this.packFrameData(Q,0,I);const C=zA*yA,E=nI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<C)&&(this.clipSpriteVertsScratch=new Float32Array(C)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<E)&&(this.clipSpriteIndicesScratch=new Uint32Array(E));const o=this.clipSpriteVertsScratch,i=this.clipSpriteIndicesScratch;(!$A()||Fg(Q,o,i)===null)&&PI(Q,o,i);const e=this.clipSpriteDrawCursor++,t=this.ensureClipSpriteVertexBuffer(A,e,o.subarray(0,C)),a=this.ensureClipSpriteIndexBuffer(A,e,i.subarray(0,E)),s=this.plainBatchDrawCommand;s.vertexBuffer=t,s.indexBuffer=a,s.indexCount=E,this.plainBatchTexturesScratch[0]=I.handle,this.plainBatchTexturesScratch.length=1,this.plainBatchUniformsScratch.u_projection=g,A.draw(s)}clearClipStencil(A,I,g,Q,C){const E=this.clipMaskDrawCommand;E.vertexBuffer=g.vertexBuf,E.indexBuffer=g.indexBuf,E.indexCount=I.indices.length,E.stencil="clear",this.clipMaskUniformsScratch.u_projection=C,this.clipMaskUniformsScratch.u_transform=Q,A.draw(E)}rotateTransform(A,I,g,Q,C,E,o){const i=this.affineScratch;return i.a=I,i.b=g,i.c=Q,i.d=C,i.tx=E,i.ty=o,wi(A,i,i)}packFrameData(A,I,g){if(g.cachedRow){A.set(g.cachedRow,I*SA);return}const{slot:Q,layoutW:C,layoutH:E,a:o,b:i,c:e,d:t,tx:a,ty:s,alpha:D,rect:h,override:n,sx:c,sy:F,offsetX:w,offsetY:r}=g;let G=C||(n==null?void 0:n.logicalWidth)||0,M=E||(n==null?void 0:n.logicalHeight)||0,R=0,y=0;if((n==null?void 0:n.mode)==="dynamic"){const Z=C||n.logicalWidth,MA=E||n.logicalHeight;G=n.logicalWidth,M=n.logicalHeight,R=Math.max(0,(Z-G)*.5),y=Math.max(0,(MA-M)*.5)}const N=I*SA,l=o*c,U=i*F,Y=e*c,S=t*F,J=this.rotateTransform(Q,l,U,Y,S,a*c+l*R+Y*y+Q.x+w,s*F+U*R+S*y+Q.y+r),{a:f,b:q,c:L,d:V,tx:T,ty:P}=J;A[N]=G,A[N+1]=M,A[N+2]=f,A[N+3]=q,A[N+4]=L,A[N+5]=V,A[N+6]=T,A[N+7]=P,A[N+8]=D*Q.opacity,A[N+9]=h.x,A[N+10]=h.y,A[N+11]=h.x+h.w,A[N+12]=h.y+h.h}resolveSpriteTextureInto(A,I,g){var Q,C,E,o,i;const e=(C=(Q=A.svgaSlotTextures)==null?void 0:Q.get(I))!=null?C:null;if(e)return g.handle=e.texture,g.rect=VI,g.override=e,!0;const t=A.videoEntity,a=t.atlasRects.get(I),s=(E=a==null?void 0:a.textureIndex)!=null?E:0,D=(i=(o=t.atlasTextureHandles)==null?void 0:o[s])!=null?i:t.atlasTextureHandle;return!a||!D?!1:(g.handle=D,g.rect=a,g.override=null,!0)}drawShapeFrame(A,I,g,Q,C){var E;const o=this.getShapeMesh(g);if(!o||o.indices.length===0)return;const{slot:i,sx:e,sy:t,offsetX:a,offsetY:s,a:D,b:h,c:n,d:c,tx:F,ty:w,alpha:r}=I,G=this.getWhiteTexture(A),M=this.rotateTransform(i,D*e,h*t,n*e,c*t,F*e+i.x+a,w*t+i.y+s),{a:R,b:y,c:N,d:l,tx:U,ty:Y}=M,S=!!Q&&Q.indices.length>0;let J=!1,f=null,q=null,L=!1;if(S){const P=this.getClipRect(Q);if(P&&((E=i.rotation)!=null?E:0)===0&&lg(R,y,N,l)){if(!this.applyClipRectScissor(A,P,R,l,U,Y)){this.restoreSlotScissor(A);return}J=!0}else{f=this.ensureClipMeshBuffers(A,Q),q=this.packClipTransform(R,y,N,l,U,Y);const Z=this.clipMaskDrawCommand;Z.vertexBuffer=f.vertexBuf,Z.indexBuffer=f.indexBuf,Z.indexCount=Q.indices.length,Z.stencil="write",this.clipMaskUniformsScratch.u_projection=C,this.clipMaskUniformsScratch.u_transform=q,A.draw(Z),L=I.handle!=null,L&&(this.sharedClipStencilActive=!0)}}const V=this.ensureShapeMeshBuffers(A,o),T=this.shapeDrawCommand;T.vertexBuffer=V.vertexBuf,T.indexBuffer=V.indexBuf,T.indexCount=o.indices.length,T.stencil=S&&!L?"test":"none",this.shapeTexturesScratch[0]=G,this.shapeTexturesScratch.length=1,this.shapeUniformsScratch.u_projection=C,this.shapeUniformsScratch.u_transform=this.packShapeTransform(R,y,N,l,U,Y),this.shapeUniformsScratch.u_opacity=r*i.opacity,A.draw(T),f&&q&&Q&&!L&&this.clearClipStencil(A,Q,f,q,C),J&&this.restoreSlotScissor(A)}clearSharedClipStencil(A,I,g,Q){this.sharedClipStencilActive=!1,this.clearClipStencil(A,I,this.ensureClipMeshBuffers(A,I),g,Q)}ensureShapeMeshBuffers(A,I){return(!I.vertexBuf||!I.indexBuf)&&(I.vertexBuf=A.createBuffer(I.gpuVertices,"vertex"),I.indexBuf=A.createBuffer(I.indices,"index"),this.shapeMeshesWithBuffers.add(I)),{vertexBuf:I.vertexBuf,indexBuf:I.indexBuf}}packShapeTransform(A,I,g,Q,C,E){const o=this.shapeTransformMat;return o[0]=A,o[1]=I,o[4]=g,o[5]=Q,o[12]=C,o[13]=E,o}hasAtlasTexture(A){var I;const g=A.videoEntity;return g?!!g.atlasTextureHandle||!!((I=g.atlasTextureHandles)!=null&&I.length):!1}hasRenderableSVGA(A){if(this.hasAtlasTexture(A))return!0;const I=A.videoEntity;if(!(I!=null&&I.spriteTable))return!1;const g=this.entityHasShapesCache.get(I);if(g!==void 0)return g;const Q=I.spriteTable.hasAnyShapes;return this.entityHasShapesCache.set(I,Q),Q}allFramesInsideViewBox(A){const I=this.entityAllFramesInsideViewBoxCache.get(A);if(I!==void 0)return I;const g=A.spriteTable,Q=A.params.viewBoxWidth,C=A.params.viewBoxHeight;let E=Q>0&&C>0&&!g.hasAnyShapes;const o=E?Math.max(Q,C)*.001+.001:0;A:for(let i=0;E&&i<g.spriteCount;i++)for(let e=0;e<g.frameCount;e++){const t=(i*g.frameCount+e)*wI,a=g.frameData[t],s=g.frameData[t+1];if(a<=0||s<=0)continue;const D=g.frameData[t+2],h=g.frameData[t+3],n=g.frameData[t+4],c=g.frameData[t+5],F=g.frameData[t+6],w=g.frameData[t+7],r=D*a+F,G=h*a+w,M=D*a+n*s+F,R=h*a+c*s+w,y=n*s+F,N=c*s+w,l=Math.min(F,r,M,y),U=Math.min(w,G,R,N),Y=Math.max(F,r,M,y),S=Math.max(w,G,R,N);if(l<-o||U<-o||Y>Q+o||S>C+o){E=!1;break A}}return this.entityAllFramesInsideViewBoxCache.set(A,E),E}getWhiteTexture(A){return this.whiteTexture?this.whiteTexture:(this.whiteTexture=A.createTexture(new Uint8Array([255,255,255,255]).buffer,{width:1,height:1,filter:"nearest"}),this.whiteTexture)}getShapeMesh(A){var I;if(!A||A.length===0)return null;if(this.shapeMeshCache.has(A))return(I=this.shapeMeshCache.get(A))!=null?I:null;const g=[],Q=[];for(const i of A)this.appendShape(i,g,Q);if(g.length===0||Q.length===0)return this.shapeMeshCache.set(A,null),null;const C=new Float32Array(g),E=new Float32Array(g.length/ZI*yA);for(let i=0,e=0;i<g.length;i+=ZI,e+=yA)E[e]=g[i],E[e+1]=g[i+1],E[e+3]=g[i+2],E[e+4]=g[i+3],E[e+5]=g[i+4],E[e+6]=g[i+5],E[e+7]=.5,E[e+8]=.5;const o={vertices:C,indices:new Uint32Array(Q),gpuVertices:E};return this.shapeMeshCache.set(A,o),o}appendShape(A,I,g){const Q=A.style.fill,C=A.style.stroke,E=this.buildShapeSubPaths(A);for(const o of E){if(o.length<2)continue;const i=o.map(e=>({x:A.transform.a*e.x+A.transform.c*e.y+A.transform.tx,y:A.transform.b*e.x+A.transform.d*e.y+A.transform.ty}));Q&&Q.a>0&&i.length>=3&&this.appendFill(i,Q,I,g),C&&C.a>0&&A.style.strokeWidth>.01&&this.appendStroke(i,C,A.style.strokeWidth,I,g)}}buildShapeSubPaths(A){var I;if(A.kind==="path")return FQ((I=A.pathData)!=null?I:"").map(g=>this.cleanupPoints(g)).filter(g=>g.length>=2);if(A.kind==="rect"&&A.rect){const g=A.rect;return[[{x:g.x,y:g.y},{x:g.x+g.width,y:g.y},{x:g.x+g.width,y:g.y+g.height},{x:g.x,y:g.y+g.height}]]}if(A.kind==="ellipse"&&A.ellipse){const g=A.ellipse,Q=[],C=40;for(let E=0;E<C;E++){const o=E/C*Math.PI*2;Q.push({x:g.x+Math.cos(o)*g.radiusX,y:g.y+Math.sin(o)*g.radiusY})}return[Q]}return[]}appendFill(A,I,g,Q){const C=this.cleanupPoints(A);if(C.length<3)return;const E=g.length/ZI;for(const i of C)g.push(i.x,i.y,this.clamp01(I.r),this.clamp01(I.g),this.clamp01(I.b),this.clamp01(I.a));const o=uE(C);if(o.length>=(C.length-2)*3)for(const i of o)Q.push(E+i);else for(let i=1;i<C.length-1;i++)Q.push(E,E+i,E+i+1)}appendStroke(A,I,g,Q,C){A=this.cleanupPoints(A);const E=g*.5;for(let o=0;o<A.length;o++){const i=A[o],e=A[(o+1)%A.length],t=e.x-i.x,a=e.y-i.y,s=Math.hypot(t,a);if(s<=1e-4)continue;const D=-a/s*E,h=t/s*E,n=Q.length/ZI,c=this.clamp01(I.r),F=this.clamp01(I.g),w=this.clamp01(I.b),r=this.clamp01(I.a);Q.push(i.x-D,i.y-h,c,F,w,r),Q.push(i.x+D,i.y+h,c,F,w,r),Q.push(e.x+D,e.y+h,c,F,w,r),Q.push(e.x-D,e.y-h,c,F,w,r),C.push(n,n+1,n+2,n+2,n+3,n)}}clamp01(A){return Math.max(0,Math.min(1,Number.isFinite(A)?A:0))}cleanupPoints(A){if(A.length===0)return[];const I=[],g=1e-4;let Q=null;for(const C of A){if(Q){const E=C.x-Q.x,o=C.y-Q.y;if(E*E+o*o<=g)continue}I.push(C),Q=C}if(I.length>2){const C=I[0],E=I[I.length-1],o=C.x-E.x,i=C.y-E.y;o*o+i*i<=g&&I.pop()}return I}getClipMesh(A){var I;if(this.clipMeshCache.has(A))return(I=this.clipMeshCache.get(A))!=null?I:null;const g=_E(A);return this.clipMeshCache.set(A,g),g}getClipMeshForSprite(A,I,g){var Q,C;const E=A.spriteTable,o=(Q=E.clipPathIndex[I*E.frameCount+g])!=null?Q:-1;if(o<0)return null;let i=this.entityClipMeshArrayCache.get(A);(!i||i.length!==E.clipPaths.length)&&(i=new Array(E.clipPaths.length),this.entityClipMeshArrayCache.set(A,i));const e=i[o];if(e!==void 0)return e;const t=E.clipPaths[o];if(!this.clipMeshCache.has(t)){this.queueClipMeshBuild(t);return}const a=(C=this.clipMeshCache.get(t))!=null?C:null;return i[o]=a,a}ensureVertexBuffer(A,I,g){const Q=this.vertexBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"vertex");return this.vertexBufHandles[I]=C,C}}ensureIndexBuffer(A,I,g){const Q=this.indexBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"index");return this.indexBufHandles[I]=C,C}}ensureClipSpriteVertexBuffer(A,I,g){const Q=this.clipSpriteVertBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"vertex");return this.clipSpriteVertBufHandles[I]=C,C}}ensureClipSpriteIndexBuffer(A,I,g){const Q=this.clipSpriteIdxBufHandles[I];if(Q)return A.updateBuffer(Q,g),Q;{const C=A.createBuffer(g,"index");return this.clipSpriteIdxBufHandles[I]=C,C}}ensureInstancedQuadBuffers(A){this.instancedQuadVB||(this.instancedQuadVB=A.createBuffer(Wg.INSTANCED_QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(Wg.INSTANCED_QUAD_INDICES,"index"))}destroy(A){for(const I of this.vertexBufHandles)A.deleteBuffer(I);for(const I of this.indexBufHandles)A.deleteBuffer(I);for(const I of this.clipSpriteVertBufHandles)A.deleteBuffer(I);for(const I of this.clipSpriteIdxBufHandles)A.deleteBuffer(I);for(const I of this.clipMeshesWithBuffers)I.vertexBuf&&A.deleteBuffer(I.vertexBuf),I.indexBuf&&A.deleteBuffer(I.indexBuf),I.vertexBuf=null,I.indexBuf=null;this.clipMeshesWithBuffers.clear();for(const I of this.shapeMeshesWithBuffers)I.vertexBuf&&A.deleteBuffer(I.vertexBuf),I.indexBuf&&A.deleteBuffer(I.indexBuf),I.vertexBuf=null,I.indexBuf=null;this.shapeMeshesWithBuffers.clear(),this.instancedQuadVB&&A.deleteBuffer(this.instancedQuadVB),this.instancedQuadIB&&A.deleteBuffer(this.instancedQuadIB),this.whiteTexture&&A.deleteTexture(this.whiteTexture),this.pool.destroy(),this.clipMeshCache.clear(),this.vertexBufHandles=[],this.indexBufHandles=[],this.clipSpriteVertBufHandles=[],this.clipSpriteIdxBufHandles=[],this.instancedQuadVB=null,this.instancedQuadIB=null,this.whiteTexture=null,this.projCache=null}};d(QB,"INSTANCED_QUAD_VERTS",new Float32Array([0,0,1,0,1,1,0,1]));d(QB,"INSTANCED_QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let NQ=QB;const NB=1e-4;function lg(B,A,I,g){const Q=Math.max(Math.abs(B),Math.abs(g));return B>0&&g>0&&Math.abs(A)<=Q*NB&&Math.abs(I)<=Q*NB}function Fi(B,A){if(B.length!==8||A.length!==6)return null;let I=1/0,g=1/0,Q=-1/0,C=-1/0;for(let t=0;t<8;t+=2){const a=B[t],s=B[t+1];a<I&&(I=a),a>Q&&(Q=a),s<g&&(g=s),s>C&&(C=s)}const E=Q-I,o=C-g;if(!(E>0&&o>0))return null;const i=Math.max(E,o)*1e-4+1e-6;let e=0;for(let t=0;t<8;t+=2){const a=B[t],s=B[t+1],D=Math.abs(a-I)<=i,h=Math.abs(a-Q)<=i,n=Math.abs(s-g)<=i,c=Math.abs(s-C)<=i;if(!D&&!h||!n&&!c)return null;e|=1<<((D?0:1)|(n?0:2))}return e!==15?null:{x:I,y:g,w:E,h:o}}var Gi=Object.defineProperty,yi=(B,A,I)=>A in B?Gi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,DA=(B,A,I)=>yi(B,typeof A!="symbol"?A+"":A,I);const Ri=4,Mi=128*1024*1024,li=2048*1024*1024,Ni="gift-stage-resource-cache",Si=3,FA="resources",eA="resourceMeta",KA="cacheState",pA="totalBytes",SB="byUpdatedAt",ki=3e4;class di{constructor(A){DA(this,"maxConcurrent"),DA(this,"active",0),DA(this,"queue",[]),this.maxConcurrent=Math.max(1,A)}setMaxConcurrent(A){this.maxConcurrent=Math.max(1,A),this.drain()}async run(A){return new Promise((I,g)=>{this.queue.push(()=>{Promise.resolve().then(A).then(I,g).finally(()=>{this.active--,this.drain()})}),this.drain()})}drain(){for(;this.active<this.maxConcurrent&&this.queue.length>0;){const A=this.queue.shift();this.active++,A==null||A()}}}function Ui(){return typeof indexedDB!="undefined"}function dA(B){return B.length*2}function Yi(B){var A,I,g;let Q=256;const C=B.imageBlob;if(C)Q+=C.byteLength;else for(const o of Object.values((A=B.images)!=null?A:{}))Q+=o.byteLength;for(const o of(I=B.imageEntries)!=null?I:[])Q+=dA(o.key)+16;for(const o of B.audios)Q+=dA(o.audioKey)+32;const E=B.spriteTable;(!C||E.frameData.buffer!==C)&&(Q+=E.frameData.byteLength),(!C||E.clipPathIndex.buffer!==C)&&(Q+=E.clipPathIndex.byteLength),(!C||E.shapesIndex.buffer!==C)&&(Q+=E.shapesIndex.byteLength);for(const o of E.imageKeys)Q+=dA(o);for(const o of E.clipPaths)Q+=dA(o);for(const o of E.shapesTable)for(const i of o)Q+=dA((g=i.pathData)!=null?g:"")+96;return Q}function Ki(B){return typeof B=="string"?dA(B):B.byteLength}class fi{constructor(){DA(this,"limiter",new di(Ri)),DA(this,"pending",new Map),DA(this,"memory",new Map),DA(this,"memoryBytes",0),DA(this,"maxMemoryBytes",Mi),DA(this,"maxPersistentBytes",li),DA(this,"dbPromise",null),DA(this,"persistentTrimPromise",null)}configure(A){(A==null?void 0:A.maxConcurrent)!=null&&this.limiter.setMaxConcurrent(A.maxConcurrent),(A==null?void 0:A.maxMemoryBytes)!=null&&A.maxMemoryBytes>0&&(this.maxMemoryBytes=A.maxMemoryBytes,this.trimMemory()),(A==null?void 0:A.maxPersistentBytes)!=null&&A.maxPersistentBytes>0&&(this.maxPersistentBytes=A.maxPersistentBytes,this.schedulePersistentTrim())}runLimited(A){return this.limiter.run(A)}async fetchArrayBuffer(A,I){const g=`ab:${A}`,Q=this.getMemory(g,"arrayBuffer");if(Q)return Q.slice(0);const C=await this.getPersistent(g,"arrayBuffer");return C?(this.setMemory(g,"arrayBuffer",C,C.byteLength),C.slice(0)):(await this.getOrCreatePending(g,()=>this.limiter.run(async()=>{const o=await fetch(A,{mode:"cors",signal:I});if(!o.ok)throw new Error(`fetch failed ${o.status}`);const i=await o.arrayBuffer();return this.setMemory(g,"arrayBuffer",i,i.byteLength),this.setPersistent(g,"arrayBuffer",i.slice(0)),i}))).slice(0)}async fetchText(A,I){const g=`text:${A}`,Q=this.getMemory(g,"text");if(Q!=null)return Q;const C=await this.getPersistent(g,"text");return C!=null?(this.setMemory(g,"text",C,dA(C)),C):this.getOrCreatePending(g,()=>this.limiter.run(async()=>{const E=await fetch(A,{mode:"cors",signal:I});if(!E.ok)throw new Error(`fetch failed ${E.status}`);const o=await E.text();return this.setMemory(g,"text",o,dA(o)),this.setPersistent(g,"text",o),o}))}async fetchJSON(A,I){const g=`json:${A}`,Q=this.getMemory(g,"json");if(Q!=null)return Q;const C=await this.fetchText(A,I),E=JSON.parse(C);return this.setMemory(g,"json",E,dA(C)),E}getSVGAWorkerPayload(A){return this.getMemory(A,"svga-payload")}setSVGAWorkerPayload(A,I){this.setMemory(A,"svga-payload",I,Yi(I))}getMemoryValue(A,I){return this.getMemory(A,I)}setMemoryValue(A,I,g,Q){this.setMemory(A,I,g,Q)}getPersistedArrayBuffer(A){return this.getPersistent(A,"arrayBuffer")}setPersistedArrayBuffer(A,I){return this.setPersistent(A,"arrayBuffer",I)}deletePersistedValue(A){return this.deletePersistent(A)}getOrCreatePending(A,I){const g=this.pending.get(A);if(g)return g;const Q=I().finally(()=>{this.pending.delete(A)});return this.pending.set(A,Q),Q}getMemory(A,I){const g=this.memory.get(A);return!g||g.kind!==I?null:(this.memory.delete(A),this.memory.set(A,g),g.value)}setMemory(A,I,g,Q){const C=this.memory.get(A);C&&(this.memoryBytes-=C.size,this.memory.delete(A)),this.memory.set(A,{key:A,kind:I,size:Math.max(0,Q),value:g}),this.memoryBytes+=Math.max(0,Q),this.trimMemory()}trimMemory(){for(;this.memoryBytes>this.maxMemoryBytes&&this.memory.size>0;){const A=this.memory.keys().next().value;if(!A)break;const I=this.memory.get(A);if(!I)break;this.memoryBytes-=I.size,this.memory.delete(A)}}async openDb(){return Ui()?(this.dbPromise||(this.dbPromise=new Promise(A=>{try{const I=indexedDB.open(Ni,Si);I.onupgradeneeded=()=>{const g=I.result;for(const E of[FA,eA,KA])g.objectStoreNames.contains(E)&&g.deleteObjectStore(E);g.createObjectStore(FA,{keyPath:"key"}),g.createObjectStore(eA,{keyPath:"key"}).createIndex(SB,"updatedAt",{unique:!1}),g.createObjectStore(KA,{keyPath:"key"}).put({key:pA,totalBytes:0})},I.onsuccess=()=>A(I.result),I.onerror=()=>A(null),I.onblocked=()=>A(null)}catch(I){A(null)}})),this.dbPromise):null}async getPersistent(A,I){const g=await this.openDb();return g?new Promise(Q=>{try{const C=g.transaction([FA,eA],"readonly");C.onerror=()=>Q(null),C.onabort=()=>Q(null);const o=C.objectStore(FA).get(A);o.onsuccess=()=>{const i=o.result;if(!i||i.kind!==I){Q(null);return}const e=C.objectStore(eA).get(A);e.onsuccess=()=>{const t=e.result;if((!t||Date.now()-t.updatedAt>=ki)&&this.touchPersistent(A,I),I==="arrayBuffer"){Q(i.value);return}Q(i.value)},e.onerror=()=>Q(i.value)},o.onerror=()=>Q(null)}catch(C){Q(null)}}):null}async setPersistent(A,I,g){const Q=await this.openDb();if(!Q)return;const C=Ki(g);await new Promise(E=>{try{const o=Q.transaction([FA,eA,KA],"readwrite");o.oncomplete=()=>E(),o.onerror=()=>E(),o.onabort=()=>E();const i=o.objectStore(FA),e=o.objectStore(eA),t=o.objectStore(KA),a=e.get(A);a.onsuccess=()=>{const s=a.result,D=t.get(pA);D.onsuccess=()=>{var h,n;const c=D.result,F=Math.max(0,((h=c==null?void 0:c.totalBytes)!=null?h:0)-((n=s==null?void 0:s.sizeBytes)!=null?n:0)+C);i.put({key:A,kind:I,value:g}),e.put({key:A,kind:I,sizeBytes:C,updatedAt:Date.now()}),t.put({key:pA,totalBytes:F})}}}catch(o){E()}}),this.schedulePersistentTrim()}async touchPersistent(A,I){const g=await this.openDb();g&&await new Promise(Q=>{try{const C=g.transaction(eA,"readwrite");C.oncomplete=()=>Q(),C.onerror=()=>Q(),C.onabort=()=>Q();const E=C.objectStore(eA),o=E.get(A);o.onsuccess=()=>{const i=o.result;!i||i.kind!==I||E.put({...i,updatedAt:Date.now()})}}catch(C){Q()}})}schedulePersistentTrim(){this.persistentTrimPromise||(this.persistentTrimPromise=this.trimPersistent().finally(()=>{this.persistentTrimPromise=null}))}async trimPersistent(){const A=await this.openDb();A&&await new Promise(I=>{try{const g=A.transaction([FA,eA,KA],"readwrite");g.oncomplete=()=>I(),g.onerror=()=>I(),g.onabort=()=>I();const Q=g.objectStore(FA),C=g.objectStore(eA),E=g.objectStore(KA),o=E.get(pA);o.onsuccess=()=>{var i;const e=o.result;let t=Math.max(0,(i=e==null?void 0:e.totalBytes)!=null?i:0);if(t<=this.maxPersistentBytes)return;const a=C.index(SB).openCursor();a.onsuccess=()=>{const s=a.result;if(!s||t<=this.maxPersistentBytes){E.put({key:pA,totalBytes:t});return}const D=s.value;Q.delete(D.key),s.delete(),t=Math.max(0,t-D.sizeBytes),s.continue()}}}catch(g){I()}})}async deletePersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction([FA,eA,KA],"readwrite");Q.oncomplete=()=>g(),Q.onerror=()=>g(),Q.onabort=()=>g();const C=Q.objectStore(FA),E=Q.objectStore(eA),o=Q.objectStore(KA),i=E.get(A);i.onsuccess=()=>{const e=i.result,t=o.get(pA);t.onsuccess=()=>{var a,s;const D=t.result;C.delete(A),E.delete(A),o.put({key:pA,totalBytes:Math.max(0,((a=D==null?void 0:D.totalBytes)!=null?a:0)-((s=e==null?void 0:e.sizeBytes)!=null?s:0))})}}}catch(Q){g()}})}}const wA=new fi;function Ji(B){wA.configure(B)}function Zg(B){return wA.runLimited(B)}function ZA(B,A){return wA.fetchArrayBuffer(B,A)}function Li(B,A){return wA.fetchJSON(B,A)}function CB(B){return wA.getSVGAWorkerPayload(B)}function kB(B,A){wA.setSVGAWorkerPayload(B,A)}function ui(B,A){return wA.getMemoryValue(B,A)}function SQ(B,A,I,g){wA.setMemoryValue(B,A,I,g)}function Hi(B){return wA.getPersistedArrayBuffer(B)}function qi(B,A){return wA.setPersistedArrayBuffer(B,A)}function pi(B){return wA.deletePersistedValue(B)}async function Vg(B){const A=typeof B=="string"?await Li(B):B;if(!A.info)throw new Error("VAP config missing info");if(!A.info.rgbFrame||!A.info.aFrame)throw new Error("VAP config missing rgbFrame or aFrame");return A}function TA(B){const[,,A,I]=B.rgbFrame,g=B.w>0?B.w:A,Q=B.h>0?B.h:I;return g>0&&Q>0?{w:g,h:Q}:{w:B.videoW,h:B.videoH}}function iI(B,A,I){const[g,Q,C,E]=B;return{left:g/A,right:(g+C)/A,top:(I-Q)/I,bottom:(I-Q-E)/I}}var mi=Object.defineProperty,xi=(B,A,I)=>A in B?mi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,QA=(B,A,I)=>xi(B,typeof A!="symbol"?A+"":A,I);class kQ{constructor(A){QA(this,"onFrameAvailable"),QA(this,"frameInfo",new Map),QA(this,"pending",new Set),QA(this,"lastHandle",new Map),QA(this,"started",new Set),QA(this,"firstUploaded",new Set),QA(this,"forceTimeFallback",new Set),QA(this,"lastArmAt",new Map),QA(this,"lastCallbackAt",new Map),QA(this,"lastProgressAt",new Map),QA(this,"lastRecoveryAt",new Map),QA(this,"stallLogged",new Set),QA(this,"stagnationLogged",new Set),QA(this,"lastTimeFallback",new Map),QA(this,"healthTimers",new Map),this.onFrameAvailable=A}preUpload(A,I){const g=I.currentTime;if(typeof I.requestVideoFrameCallback!="function"||this.forceTimeFallback.has(A)){if(!this.firstUploaded.has(A))return this.firstUploaded.add(A),this.lastTimeFallback.set(A,g),this.markProgress(A),typeof I.requestVideoFrameCallback=="function"&&this.debugInfo(A,"initial upload using time fallback",I),!0;const t=this.consumeTimeAdvance(A,g);if(t)this.stagnationLogged.has(A)&&(this.stagnationLogged.delete(A),this.debugInfo(A,"time fallback progress resumed",I));else if(this.forceTimeFallback.has(A)&&!this.stagnationLogged.has(A)&&!I.paused&&!I.ended){const a=this.lastProgressAt.get(A);a!==void 0&&performance.now()-a>1e3&&(this.stagnationLogged.add(A),this.debugWarn(A,"time fallback has no progress",I,{lastProgressAgeMs:Math.round(performance.now()-a)}))}return t}this.ensureRvf(A,I);const Q=performance.now(),C=this.lastCallbackAt.get(A),E=this.lastArmAt.get(A),o=C!=null?C:E,i=this.lastTimeFallback.get(A),e=i!==void 0&&Math.abs(g-i)>1e-4;return this.firstUploaded.has(A)&&o!==void 0&&Q-o>500&&!I.paused&&!I.ended&&(this.stallLogged.has(A)||(this.stallLogged.add(A),this.debugWarn(A,"rVFC stalled for slot",I,{stallAgeMs:Math.round(Q-o),lastCallbackAgeMs:C!==void 0?Math.round(Q-C):null,lastArmAgeMs:E!==void 0?Math.round(Q-E):null,timeAdvanced:e})),this.tryRecoverStalledPlayback(A,I,g,Q),this.started.delete(A),this.ensureRvf(A,I),e)?(this.forceTimeFallback.add(A),this.lastTimeFallback.set(A,g),this.markProgress(A),this.debugWarn(A,"switching slot to time fallback",I,{stallAgeMs:Math.round(Q-o)}),!0):this.firstUploaded.has(A)?this.pending.has(A)?(this.pending.delete(A),this.lastTimeFallback.set(A,g),this.markProgress(A),(this.stallLogged.delete(A)||this.forceTimeFallback.delete(A))&&(this.stagnationLogged.delete(A),this.debugInfo(A,"rVFC progress resumed",I)),!0):!1:(this.firstUploaded.add(A),this.lastTimeFallback.set(A,g),this.markProgress(A),!0)}getFrameInfo(A){return this.frameInfo.get(A)}ensureRvf(A,I){if(this.started.has(A))return;this.started.add(A),this.ensureHealthTimer(A,I);const g=(Q,C)=>{var E;this.frameInfo.set(A,C),this.lastCallbackAt.set(A,performance.now()),this.pending.add(A),(E=this.onFrameAvailable)==null||E.call(this,I);try{this.lastArmAt.set(A,performance.now());const o=I.requestVideoFrameCallback(g);this.lastHandle.set(A,o)}catch(o){this.started.delete(A),this.lastHandle.delete(A),this.debugWarn(A,"requestVideoFrameCallback re-arm failed",I)}};try{this.lastArmAt.set(A,performance.now());const Q=I.requestVideoFrameCallback(g);this.lastHandle.set(A,Q)}catch(Q){this.started.delete(A),this.lastHandle.delete(A),this.debugWarn(A,"requestVideoFrameCallback initial arm failed",I)}}ensureHealthTimer(A,I){if(this.healthTimers.has(A))return;const g=setInterval(()=>{var Q;I.paused||I.ended||(Q=this.onFrameAvailable)==null||Q.call(this,I)},500);this.healthTimers.set(A,g)}consumeTimeAdvance(A,I){const g=this.lastTimeFallback.get(A);return g===void 0||Math.abs(I-g)>1e-4?(this.lastTimeFallback.set(A,I),this.markProgress(A),!0):!1}markProgress(A){this.lastProgressAt.set(A,performance.now())}tryRecoverStalledPlayback(A,I,g,Q){if(I.paused||I.ended||I.seeking)return;const C=this.lastRecoveryAt.get(A);if(C!==void 0&&Q-C<1500)return;this.lastRecoveryAt.set(A,Q);const E=Number.isFinite(I.duration)?I.duration:NaN,o=Number.isFinite(E)&&E>0,i=o?Math.min(Math.max(0,E-.001),g+.001):g;try{o&&i>g&&(I.currentTime=i)}catch(e){}try{const e=I.play();e&&typeof e.catch=="function"&&e.catch(()=>{})}catch(e){}this.debugWarn(A,"attempting stalled video recovery",I,{currentTime:g,nudgedTime:i,readyState:I.readyState})}debugInfo(A,I,g,Q){console.info("[GiftStage:VideoGate]",I,this.snapshot(A,g,Q))}debugWarn(A,I,g,Q){console.warn("[GiftStage:VideoGate]",I,this.snapshot(A,g,Q))}snapshot(A,I,g){return{slotId:A,currentTime:Number(I.currentTime.toFixed(3)),readyState:I.readyState,networkState:I.networkState,paused:I.paused,ended:I.ended,seeking:I.seeking,playbackRate:I.playbackRate,forceTimeFallback:this.forceTimeFallback.has(A),pending:this.pending.has(A),...g}}release(A,I){if(!I){this.cleanup(A);return}const g=this.lastHandle.get(A);if(g!=null)try{I.cancelVideoFrameCallback(g)}catch(Q){}this.cleanup(A)}cleanup(A){const I=this.healthTimers.get(A);I!=null&&clearInterval(I),this.healthTimers.delete(A),this.frameInfo.delete(A),this.lastHandle.delete(A),this.started.delete(A),this.pending.delete(A),this.firstUploaded.delete(A),this.forceTimeFallback.delete(A),this.lastArmAt.delete(A),this.lastCallbackAt.delete(A),this.lastProgressAt.delete(A),this.lastRecoveryAt.delete(A),this.stallLogged.delete(A),this.stagnationLogged.delete(A),this.lastTimeFallback.delete(A)}}const dQ=new Float32Array([0,0,1,1]);function Cg(B,A,I,g){const Q=g!=null?g:new Float32Array(4);return!I||B<=0||A<=0?(Q[0]=0,Q[1]=0,Q[2]=1,Q[3]=1,Q):(Q[0]=I.x/B,Q[1]=I.y/A,Q[2]=I.w/B,Q[3]=I.h/A,Q)}const bi=3;function Ti(){return typeof document!="undefined"&&typeof document.createElement=="function"}function AI(B,A){if(!Ti())throw new Error("Canvas rendering is unavailable in this environment");const I=document.createElement("canvas");return I.width=Math.max(1,Math.round(B)),I.height=Math.max(1,Math.round(A)),I}function II(B,A){const I=B.getContext("2d",A);if(!I)throw new Error("Failed to acquire 2D canvas context");return I}let Ng=null;function Wi(){return Ng||(Ng=II(AI(1,1))),Ng}function UQ(B){return!!B&&typeof B=="object"&&typeof B.text=="string"}function Zi(B){return!!B&&typeof B=="object"&&"image"in B}function YQ(B){return!!B&&typeof B=="object"&&"image"in B}function dB(B){return!B||typeof B!="object"?!1:typeof HTMLCanvasElement!="undefined"&&B instanceof HTMLCanvasElement||typeof HTMLImageElement!="undefined"&&B instanceof HTMLImageElement||typeof ImageBitmap!="undefined"&&B instanceof ImageBitmap||typeof OffscreenCanvas!="undefined"&&B instanceof OffscreenCanvas||typeof HTMLVideoElement!="undefined"&&B instanceof HTMLVideoElement||typeof VideoFrame!="undefined"&&B instanceof VideoFrame||typeof ImageData!="undefined"&&B instanceof ImageData}function Eg(B){return new Promise((A,I)=>{const g=new Image;g.crossOrigin="anonymous",g.onload=()=>A(g),g.onerror=()=>I(new Error(`Failed to load image: ${B}`)),g.src=B})}function gI(B){if(typeof HTMLImageElement!="undefined"&&B instanceof HTMLImageElement)return{width:B.naturalWidth||B.width,height:B.naturalHeight||B.height};if(typeof HTMLCanvasElement!="undefined"&&B instanceof HTMLCanvasElement)return{width:B.width,height:B.height};if(typeof OffscreenCanvas!="undefined"&&B instanceof OffscreenCanvas)return{width:B.width,height:B.height};if(typeof ImageBitmap!="undefined"&&B instanceof ImageBitmap)return{width:B.width,height:B.height};if(B&&typeof B=="object"&&"videoWidth"in B&&typeof B.videoWidth=="number")return{width:B.videoWidth,height:B.videoHeight};if(B&&typeof B=="object"&&"displayWidth"in B&&typeof B.displayWidth=="number")return{width:B.displayWidth||B.codedWidth,height:B.displayHeight||B.codedHeight};const A=B;return typeof A.width=="number"&&typeof A.height=="number"?{width:A.width,height:A.height}:{width:0,height:0}}function vg(B){if(typeof ImageData!="undefined"&&B instanceof ImageData){const A=AI(B.width,B.height);return II(A).putImageData(B,0,0),A}return B}function Vi(B){const A=/^\[(.+)\]$/.exec(B);return A?A[1]:B}function vi(B,A,I){var g,Q;return B?typeof B=="string"?{font:B,color:I}:{font:(g=B.font)!=null?g:A,color:(Q=B.color)!=null?Q:I}:{font:A,color:I}}function BI(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function Xi(B,A){const I=Math.max(1,Math.round(A*100)/100);return/\d+(?:\.\d+)?px\b/.test(B)?B.replace(/\d+(?:\.\d+)?px\b/,`${I}px`):`${I}px ${B}`}function Oi(B){const A=typeof B=="string"?B:B==null?void 0:B.font,I=A?/(\d+(?:\.\d+)?)px\b/.exec(A):null;if(!I)return;const g=Number(I[1]);return BI(g)?g:void 0}function UB(B,A,I,g){const Q=B.measureText(A),C=Q.width/I,E=(Q.actualBoundingBoxAscent||0)+(Q.actualBoundingBoxDescent||0),o=E>0?E/I:g;return{width:Math.max(1,C),height:Math.max(1,o)}}function ji(B,A,I,g,Q,C,E,o){let i=Math.max(1,Math.min(E,o)),e=Math.max(i,o),t=i,a={width:1,height:1};for(let s=0;s<16;s++){const D=(i+e)*.5;B.font=g(D);const h=UB(B,A,I,D);h.width<=Q&&h.height<=C?(t=D,a=h,i=D):e=D}return B.font=g(t),a=UB(B,A,I,t),{fontSize:t,metrics:a}}function KQ(B,A,I,g){var Q,C,E,o,i,e;const t=Math.max(1,g.scale||1),a=Math.max(1,Math.round(B)),s=Math.max(1,Math.round(A)),D=Wi(),h=(Q=g.color)!=null?Q:"#ffffff",n=Math.max(0,(C=g.padding)!=null?C:2),c=Math.max(1,a-n*2),F=Math.max(1,s-n*2),w=Math.max(1,(i=(o=(E=g.maxFontSize)!=null?E:g.fontSize)!=null?o:Oi(g.fontStyle))!=null?i:Math.max(8,F)),r=Math.max(1,Math.min((e=g.minFontSize)!=null?e:8,w)),G=h,M=`${g.style==="b"?"bold ":""}${w*t}px Arial`,R=vi(g.fontStyle,M,G),y=J=>Xi(R.font,J*t),N=ji(D,I,t,y,c,F,r,BI(g.fontSize)?Math.min(g.fontSize,w):w),l=g.sizing==="intrinsic"?Math.max(1,Math.min(a,Math.ceil(N.metrics.width+n*2))):a,U=g.sizing==="intrinsic"?Math.max(1,Math.min(s,Math.ceil(N.metrics.height+n*2))):s,Y=AI(l*t,U*t),S=II(Y);return S.clearRect(0,0,Y.width,Y.height),S.textAlign="center",S.textBaseline="middle",S.font=y(N.fontSize),S.fillStyle=R.color,S.fillText(I,Y.width/2,Y.height/2),{canvas:Y,logicalWidth:l,logicalHeight:U}}async function Pi(B,A,I,g){var Q,C,E,o,i,e;const t=B.spriteTable,a=new Set(A),s=new Map;for(let n=0;n<t.imageKeys.length;n++){const c=t.imageKeys[n];a.has(c)&&s.set(c,n)}const D=new Map,{frameCount:h}=t;for(const n of A){const c=s.get(n);if(c==null){const R=B.atlasRects.get(n);D.set(n,{width:(R==null?void 0:R.w)||1,height:(R==null?void 0:R.h)||1,renderScale:1});continue}let F=0,w=0,r=Number.POSITIVE_INFINITY;for(let R=0;R<h;R++){const y=(c*h+R)*9,N=(Q=t.frameData[y])!=null?Q:0,l=(C=t.frameData[y+1])!=null?C:0,U=(E=t.frameData[y+2])!=null?E:1,Y=(o=t.frameData[y+3])!=null?o:0,S=(i=t.frameData[y+4])!=null?i:0,J=(e=t.frameData[y+5])!=null?e:1;if(F=Math.max(F,N),w=Math.max(w,l),N>0&&l>0){const f=Math.abs(U)*N+Math.abs(S)*l,q=Math.abs(Y)*N+Math.abs(J)*l,L=f>0?f/N:1,V=q>0?q/l:1,T=Math.min(L||1,V||1);BI(T)&&(r=Math.min(r,T))}R+1<h&&I.shouldYield()&&(await I.yield(),g==null||g())}const G=BI(r)?r:1,M=B.atlasRects.get(n);D.set(n,{width:F||(M==null?void 0:M.w)||1,height:w||(M==null?void 0:M.h)||1,renderScale:G})}return D}function Sg(B,A){if(BI(B))return!BI(A)||A===1?B:B/A}async function zi(B,A,I,g=1){var Q,C,E;if(UQ(B)){const i=(Q=B.mode)!=null?Q:"dynamic",e=KQ(A,I,B.text,{scale:(C=B.scale)!=null?C:bi,color:B.color,style:B.style,fontStyle:B.fontStyle,fontSize:Sg(B.fontSize,g),minFontSize:Sg(B.minFontSize,g),maxFontSize:Sg(B.maxFontSize,g),padding:B.padding,sizing:i==="dynamic"?"intrinsic":"box"});return{source:e.canvas,mode:i,logicalWidth:e.logicalWidth,logicalHeight:e.logicalHeight}}if(Zi(B)){const i=typeof B.image=="string"?await Eg(B.image):B.image,e=gI(i);return{source:i,mode:(E=B.mode)!=null?E:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}if(typeof B=="string"){const i=await Eg(B),e=gI(i);return{source:i,mode:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}const o=gI(B);return{source:B,mode:"replace",logicalWidth:Math.max(1,o.width||A),logicalHeight:Math.max(1,o.height||I)}}async function _i(B,A,I,g={}){var Q,C,E;const o=new Map;if(!I)return o;const i=Object.entries(I),e=iA({maxBudgetMs:g.frameBudgetMs}),t=await Pi(A,i.map(([a])=>a),e,g.checkActive);for(let a=0;a<i.length;a++){const[s,D]=i[a];(Q=g.checkActive)==null||Q.call(g);const h=(C=t.get(s))!=null?C:{width:1,height:1,renderScale:1},n=await zi(D,h.width,h.height,h.renderScale),c=gI(n.source),F=c.width||h.width,w=c.height||h.height,r=B.createTexture(n.source,{width:F,height:w,filter:"linear",premultiplyAlpha:!0});o.set(s,{texture:r,mode:n.mode,logicalWidth:n.logicalWidth,logicalHeight:n.logicalHeight}),a+1<i.length&&e.shouldYield()&&(await e.yield(),(E=g.checkActive)==null||E.call(g))}return o}function $i(B,A){var I,g;if(!A)return;const Q=String(B.srcId),C=B.srcTag,E=Vi(B.srcTag);return(g=(I=A[C])!=null?I:A[E])!=null?g:A[Q]}function Ao(B,A,I){var g,Q,C,E,o,i;const e=typeof A=="string"?A:A.text,t=(g=I==null?void 0:I.width)!=null?g:B.w&&B.w>0?B.w:1,a=(Q=I==null?void 0:I.height)!=null?Q:B.h&&B.h>0?B.h:1,s=KQ(t,a,e,{scale:typeof A=="string"?1:(C=A.scale)!=null?C:1,color:typeof A=="string"?B.color:(E=A.color)!=null?E:B.color,style:typeof A=="string"?B.style:(o=A.style)!=null?o:B.style,fontStyle:typeof A=="string"?B.fontStyle:(i=A.fontStyle)!=null?i:B.fontStyle,fontSize:typeof A=="string"?void 0:A.fontSize,minFontSize:typeof A=="string"?void 0:A.minFontSize,maxFontSize:typeof A=="string"?void 0:A.maxFontSize,padding:typeof A=="string"?void 0:A.padding,sizing:"box"});return{source:s.canvas,width:s.canvas.width,height:s.canvas.height}}function Io(B,A){var I;const g=String(A);let Q=0,C=0;for(const E of(I=B.frame)!=null?I:[])for(const o of E.obj){if(String(o.srcId)!==g)continue;const[,,i,e]=o.frame;Q=Math.max(Q,i),C=Math.max(C,e)}return Q>0&&C>0?{width:Q,height:C}:void 0}async function go(B){return typeof B=="string"?Eg(B):YQ(B)?typeof B.image=="string"?Eg(B.image):vg(B.image):vg(B)}async function Bo(B,A){const I=new Map;if(!B.src||B.src.length===0||!A)return I;for(const g of B.src){const Q=$i(g,A);if(Q==null)continue;if(g.srcType==="txt"){if(dB(Q)){const e=vg(Q),t=gI(e);I.set(String(g.srcId),{source:e,width:Math.max(1,t.width),height:Math.max(1,t.height)});continue}const i=Ao(g,typeof Q=="string"||UQ(Q)?Q:String(Q),Io(B,g.srcId));I.set(String(g.srcId),i);continue}const C=dB(Q)||typeof Q=="string"||YQ(Q)?Q:null;if(!C)continue;const E=await go(C),o=gI(E);I.set(String(g.srcId),{source:E,width:Math.max(1,o.width),height:Math.max(1,o.height)})}return I}function Qo(B){var A;const I=new Map;for(const g of(A=B.frame)!=null?A:[]){const Q=[...g.obj].sort((C,E)=>{var o,i;return((o=C.z)!=null?o:0)-((i=E.z)!=null?i:0)});for(const C of Q)C.srcKey===void 0&&(C.srcKey=String(C.srcId));I.set(g.i,Q)}return I}function Co(B,A){const I=AI(B,A),g=AI(B,A),Q=AI(1,1);return{compositeCanvas:I,compositeCtx:II(I),rawCanvas:g,rawCtx:II(g),scratchCanvas:Q,scratchCtx:II(Q)}}function YB(B,A,I,g,Q=!0){var C,E;if(!B.compositeCanvas||!B.compositeCtx||!B.rawCanvas||!B.rawCtx||!B.scratchCanvas||!B.scratchCtx)throw new Error("VAP CPU compositor state is incomplete");const{info:o}=A,i=o.videoW||B.width,e=o.videoH||B.height,[t,a,s,D]=o.rgbFrame,[h,n,c,F]=o.aFrame;(B.rawCanvas.width!==i||B.rawCanvas.height!==e)&&(B.rawCanvas.width=i,B.rawCanvas.height=e),B.rawCtx.clearRect(0,0,i,e),B.rawCtx.drawImage(I,0,0,i,e);const w=B.rawCtx.getImageData(0,0,i,e).data,r=B.compositeCtx.createImageData(B.width,B.height),G=r.data;for(let R=0;R<B.height;R++){const y=Math.min(e-1,Math.max(0,a+Math.floor(R/B.height*D))),N=Math.min(e-1,Math.max(0,n+Math.floor(R/B.height*F)));for(let l=0;l<B.width;l++){const U=Math.min(i-1,Math.max(0,t+Math.floor(l/B.width*s))),Y=Math.min(i-1,Math.max(0,h+Math.floor(l/B.width*c))),S=(y*i+U)*4,J=(N*i+Y)*4,f=w[J]/255,q=(R*B.width+l)*4,L=Q?1:f;G[q]=Math.round(w[S]*L),G[q+1]=Math.round(w[S+1]*L),G[q+2]=Math.round(w[S+2]*L),G[q+3]=Math.round(f*255)}}const M=(C=B.frameMap.get(g))!=null?C:[];for(const R of M){const y=(E=B.resources)==null?void 0:E.get(String(R.srcId));if(!y)continue;const[N,l,U,Y]=R.frame,[S,J,f,q]=R.mFrame;if(U<=0||Y<=0||f<=0||q<=0)continue;(B.scratchCanvas.width!==U||B.scratchCanvas.height!==Y)&&(B.scratchCanvas.width=Math.max(1,Math.round(U)),B.scratchCanvas.height=Math.max(1,Math.round(Y))),B.scratchCtx.clearRect(0,0,B.scratchCanvas.width,B.scratchCanvas.height),B.scratchCtx.drawImage(y.source,0,0,B.scratchCanvas.width,B.scratchCanvas.height);const L=B.scratchCtx.getImageData(0,0,B.scratchCanvas.width,B.scratchCanvas.height).data,V=Math.max(0,Math.floor(N)),T=Math.max(0,Math.floor(l)),P=Math.min(B.width,Math.ceil(N+U)),Z=Math.min(B.height,Math.ceil(l+Y));for(let MA=T;MA<Z;MA++){const QI=Math.min(B.scratchCanvas.height-1,Math.max(0,Math.floor((MA-l)/Y*B.scratchCanvas.height))),cA=Math.min(e-1,Math.max(0,J+Math.floor((MA-l)/Y*q)));for(let CI=V;CI<P;CI++){const BC=Math.min(B.scratchCanvas.width-1,Math.max(0,Math.floor((CI-N)/U*B.scratchCanvas.width))),QC=Math.min(i-1,Math.max(0,S+Math.floor((CI-N)/U*f))),HI=(QI*B.scratchCanvas.width+BC)*4,CC=(cA*i+QC)*4,EC=L[HI+3]/255,iC=w[CC]/255,VA=EC*iC;if(VA<=0)continue;const YA=(MA*B.width+CI)*4,oC=L[HI]/255*VA,eC=L[HI+1]/255*VA,tC=L[HI+2]/255*VA,aC=G[YA+3]/255,qI=1-VA;G[YA]=Math.round((oC+G[YA]/255*qI)*255),G[YA+1]=Math.round((eC+G[YA+1]/255*qI)*255),G[YA+2]=Math.round((tC+G[YA+2]/255*qI)*255),G[YA+3]=Math.round((VA+aC*qI)*255)}}}return B.compositeCtx.putImageData(r,0,0),B.compositeCanvas}var Eo=Object.defineProperty,io=(B,A,I)=>A in B?Eo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,u=(B,A,I)=>io(B,typeof A!="symbol"?A+"":A,I);const kg=1024,KB=32,uI=class NA{constructor(A){u(this,"instancedQuadVB",null),u(this,"instancedQuadIB",null),u(this,"quadVB",null),u(this,"quadIB",null),u(this,"rgbaWebGLQuadVB",null),u(this,"rgbaTopLeftQuadVB",null),u(this,"rgbaQuadIB",null),u(this,"wcDbgFirstDraw",new Set),u(this,"wcDbgNullWarns",new Map),u(this,"htmlGate"),u(this,"lastWcFrameRef",new Map),u(this,"scratchAtlasRemap",new Float32Array(4)),u(this,"instancePackScratch",new Float32Array(kg*KB)),u(this,"scratchTransform",new Float32Array(16)),u(this,"processedHtmlGatesScratch",new Set),u(this,"vapVertexScratch",new Float32Array(24)),u(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),u(this,"clipScratch",{x:0,y:0,w:0,h:0}),u(this,"instancedListScratch",[]),u(this,"instancedByTexScratch",new Map),u(this,"instancedTexturesScratch",[]),u(this,"instancedUniformsScratch",{u_projection:new Float32Array(16),u_video:0}),u(this,"instancedDrawCommand",{shader:"vap-instanced",vertexBuffer:null,indexBuffer:null,indexCount:6,instanceCount:0,instanceData:this.instancePackScratch,textures:this.instancedTexturesScratch,uniforms:this.instancedUniformsScratch}),u(this,"geometryTexturesScratch",[]),u(this,"geometryUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:this.scratchAtlasRemap,u_opacity:1,u_rgbPremultiplied:1,u_video:0}),u(this,"geometryDrawCommand",{shader:"vap",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.geometryTexturesScratch,uniforms:this.geometryUniformsScratch}),u(this,"mixedGeometryTexturesScratch",[]),u(this,"mixedGeometryUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:dQ,u_opacity:1,u_video:0}),u(this,"mixedGeometryDrawCommand",{shader:"rgba-textured",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.mixedGeometryTexturesScratch,uniforms:this.mixedGeometryUniformsScratch}),u(this,"overlayTexturesScratch",[]),u(this,"overlayUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:this.scratchAtlasRemap,u_opacity:1,u_resource:0,u_video:1}),u(this,"overlayDrawCommand",{shader:"vap-mix-overlay",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.overlayTexturesScratch,uniforms:this.overlayUniformsScratch}),u(this,"projCacheW",0),u(this,"projCacheH",0),u(this,"projCache",null),this.htmlGate=new kQ(A)}syncVideoTextures(A,I){var g,Q,C,E;let o=!1;const i=this.processedHtmlGatesScratch;i.clear();for(const e of I.values()){if(e.type!=="vap"||e.paused||e.state!=="playing"&&e.state!=="fly"&&e.state!=="stopped"||!e.videoTextureHandle)continue;if(((g=e.vapMixState)==null?void 0:g.mode)==="composited"){o=this.syncMixedTexture(A,e)||o;continue}const t=e.webcodecsPlayback;if(t){const a=(Q=e.wcPlaybackTime)!=null?Q:0,s=t.getFrameForTime(a);if(this.wcDbgFirstDraw.has(e.id)||(this.wcDbgFirstDraw.add(e.id),console.info("[GiftStage:WC] VAP first draw",{giftId:e.id,state:e.state,t:a,hasFrame:!!s,canvasBuf:`${A.canvas.width}x${A.canvas.height}`})),s){const D=e.webcodecsSurface;if(((E=D==null?void 0:D.lastUploadedFrame)!=null?E:this.lastWcFrameRef.get(e.id))!==s){const n=e.wcAtlasRect;n?A.updateTextureRegion(e.videoTextureHandle,s,n.x,n.y,n.w,n.h):A.updateTexture(e.videoTextureHandle,s),D?D.lastUploadedFrame=s:this.lastWcFrameRef.set(e.id,s),o=!0}}else{const D=((C=this.wcDbgNullWarns.get(e.id))!=null?C:0)+1;this.wcDbgNullWarns.set(e.id,D),D<=5&&console.warn("[GiftStage:WC] VAP getFrameForTime null",{giftId:e.id,t:a,n:D})}}else if(e.videoElement){const a=this.getHtmlVideoGateId(e);if(i.has(a))continue;i.add(a),this.htmlGate.preUpload(a,e.videoElement)&&(A.updateTexture(e.videoTextureHandle,e.videoElement),o=!0)}}return o}draw(A,I){(A.type==="webgpu"||A.type==="webgl2")&&this.drawInstancedVapBatches(A,I);for(const g of I.values())if(g.type==="vap"&&!(g.state!=="playing"&&g.state!=="fly"&&g.state!=="stopped")&&!(!g.videoElement&&!g.webcodecsPlayback||!g.videoTextureHandle)){if(g.vapMixState){g.vapMixState.mode==="direct"?this.drawMixedDirectGeometry(A,g):this.drawMixedGeometry(A,g);continue}(A.type==="webgpu"||A.type==="webgl2")&&nA(g)!=="cover"||this.drawGeometry(A,g)}}drawSlot(A,I){if(I.type==="vap"&&!(I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped")&&!(!I.videoElement&&!I.webcodecsPlayback||!I.videoTextureHandle)){if(I.vapMixState){I.vapMixState.mode==="direct"?this.drawMixedDirectGeometry(A,I):this.drawMixedGeometry(A,I);return}this.drawGeometry(A,I)}}drawInstancedVapBatches(A,I){const g=this.instancedListScratch;g.length=0;for(const t of I.values())t.type!=="vap"||t.state!=="playing"&&t.state!=="fly"&&t.state!=="stopped"||t.vapMixState||!t.videoElement&&!t.webcodecsPlayback||!t.videoTextureHandle||nA(t)==="cover"||!t.vapConfig||g.push(t);if(g.length===0)return;this.instancedQuadVB||(this.instancedQuadVB=A.createBuffer(NA.QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(NA.QUAD_INDICES,"index"));const Q=A.canvas.width,C=A.canvas.height;let E;this.projCache&&this.projCacheW===Q&&this.projCacheH===C?E=this.projCache:(this.projCacheW=Q,this.projCacheH=C,this.projCache=LA(0,Q,C,0,-1,1),E=this.projCache);const o=this.instancedByTexScratch;for(const t of o.values())t.length=0;for(const t of g){const a=t.videoTextureHandle.id;let s=o.get(a);s||(s=[],o.set(a,s)),s.push(t)}const i=this.instancePackScratch,e=this.instancedDrawCommand;e.vertexBuffer=this.instancedQuadVB,e.indexBuffer=this.instancedQuadIB,this.instancedUniformsScratch.u_projection=E;for(const[t,a]of o){if(a.length===0){o.delete(t);continue}for(let s=0;s<a.length;s+=kg){const D=Math.min(kg,a.length-s);for(let h=0;h<D;h++)this.fillVapInstanceData(a[s+h],i,h*KB);e.instanceCount=D,this.instancedTexturesScratch[0]=a[s].videoTextureHandle,this.instancedTexturesScratch.length=1,A.draw(e)}}}fillVapInstanceData(A,I,g){var Q,C,E,o;const i=A.vapConfig,{info:e}=i,t=e.videoW>0?e.videoW:(C=(Q=A.webcodecsPlayback)==null?void 0:Q.videoWidth)!=null?C:1,a=e.videoH>0?e.videoH:(o=(E=A.webcodecsPlayback)==null?void 0:E.videoHeight)!=null?o:1,s=this.scratchTransform,{w:D,h}=TA(e),n=uA(A,D,h,this.layoutScratch);OA(A,A.x+n.offsetX,A.y+n.offsetY,n.width,n.height,s),I.set(s,g);const c=iI(e.rgbFrame,t,a),F=iI(e.aFrame,t,a),w=A.videoTextureHandle,r=Cg(w.width,w.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(r,g+16);const G=g+20;I[G+0]=c.left,I[G+1]=c.right,I[G+2]=c.top,I[G+3]=c.bottom,I[G+4]=F.left,I[G+5]=F.right,I[G+6]=F.top,I[G+7]=F.bottom,I[G+8]=A.opacity,I[G+9]=A.options.videoRGBAlphaMode!=="straight"?1:0,I[G+10]=0,I[G+11]=0}syncMixedTexture(A,I){var g;const Q=I.vapConfig,C=I.vapMixState;if(!Q||!C||C.mode!=="composited"||!I.videoTextureHandle)return!1;const E=this.getMixedFrameIndex(I,Q),o=I.webcodecsPlayback;if(o){const e=(g=I.wcPlaybackTime)!=null?g:0,t=o.getFrameForTime(e);if(!t||C.lastSourceRef===t&&C.lastFrameIndex===E)return!1;const a=C.composer?C.composer.render(t,E):YB(C,Q,t,E,I.options.videoRGBAlphaMode!=="straight");return A.updateTexture(I.videoTextureHandle,a),C.lastSourceRef=t,C.lastFrameIndex=E,!0}if(!I.videoElement||!this.htmlGate.preUpload(I.id,I.videoElement)&&C.lastFrameIndex===E)return!1;const i=C.composer?C.composer.render(I.videoElement,E):YB(C,Q,I.videoElement,E,I.options.videoRGBAlphaMode!=="straight");return A.updateTexture(I.videoTextureHandle,i),C.lastSourceRef=I.videoElement,C.lastFrameIndex=E,!0}releaseHtmlVideo(A){var I;this.htmlGate.release(this.getHtmlVideoGateId(A),(I=A.videoElement)!=null?I:void 0)}clearWebCodecsFrameRef(A){this.lastWcFrameRef.delete(A),this.wcDbgFirstDraw.delete(A),this.wcDbgNullWarns.delete(A)}drawGeometry(A,I){var g,Q,C,E;const o=A.canvas.width,i=A.canvas.height;let e;this.projCache&&this.projCacheW===o&&this.projCacheH===i?e=this.projCache:(this.projCacheW=o,this.projCacheH=i,this.projCache=LA(0,o,i,0,-1,1),e=this.projCache);const t=I.vapConfig;if(!t){console.warn("[GiftStage:WC] VAP vapConfig missing — draw skipped",{giftId:I.id});return}const{info:a}=t,s=a.videoW>0?a.videoW:(Q=(g=I.webcodecsPlayback)==null?void 0:g.videoWidth)!=null?Q:1,D=a.videoH>0?a.videoH:(E=(C=I.webcodecsPlayback)==null?void 0:C.videoHeight)!=null?E:1,h=this.scratchTransform,n=nA(I),{w:c,h:F}=TA(a),w=uA(I,c,F,this.layoutScratch);OA(I,I.x+w.offsetX,I.y+w.offsetY,w.width,w.height,h);const r=iI(a.rgbFrame,s,D),G=iI(a.aFrame,s,D),M=I.videoTextureHandle,R=Cg(M.width,M.height,I.wcAtlasRect,this.scratchAtlasRemap),y=this.vapVertexScratch;y[0]=0,y[1]=0,y[2]=r.left,y[3]=r.top,y[4]=G.left,y[5]=G.top,y[6]=1,y[7]=0,y[8]=r.right,y[9]=r.top,y[10]=G.right,y[11]=G.top,y[12]=1,y[13]=1,y[14]=r.right,y[15]=r.bottom,y[16]=G.right,y[17]=G.bottom,y[18]=0,y[19]=1,y[20]=r.left,y[21]=r.bottom,y[22]=G.left,y[23]=G.bottom,this.quadVB=this.ensureBuffer(A,this.quadVB,y,"vertex"),this.quadIB||(this.quadIB=A.createBuffer(NA.QUAD_INDICES,"index"));const N=this.geometryDrawCommand;if(N.vertexBuffer=this.quadVB,N.indexBuffer=this.quadIB,this.geometryTexturesScratch[0]=I.videoTextureHandle,this.geometryTexturesScratch.length=1,this.geometryUniformsScratch.u_projection=e,this.geometryUniformsScratch.u_transform=h,this.geometryUniformsScratch.u_atlasRemap=R,this.geometryUniformsScratch.u_opacity=I.opacity,this.geometryUniformsScratch.u_rgbPremultiplied=I.options.videoRGBAlphaMode!=="straight"?1:0,n==="cover"){const l=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale,this.clipScratch);A.setScissor(l.x,l.y,l.w,l.h)}A.draw(N),n==="cover"&&A.resetScissor()}drawMixedGeometry(A,I){const g=A.canvas.width,Q=A.canvas.height;let C;this.projCache&&this.projCacheW===g&&this.projCacheH===Q?C=this.projCache:(this.projCacheW=g,this.projCacheH=Q,this.projCache=LA(0,g,Q,0,-1,1),C=this.projCache);const E=I.vapConfig;if(!E||!I.vapMixState||I.vapMixState.mode!=="composited"||!I.videoTextureHandle)return;const o=this.scratchTransform,i=nA(I),{w:e,h:t}=TA(E.info),a=uA(I,e,t,this.layoutScratch);OA(I,I.x+a.offsetX,I.y+a.offsetY,a.width,a.height,o);const s=!!I.vapMixState.composer||A.type==="webgpu";let D=s?this.rgbaTopLeftQuadVB:this.rgbaWebGLQuadVB;if(D||(D=A.createBuffer(s?NA.RGBA_QUAD_VERTS_WEBGPU:NA.RGBA_QUAD_VERTS_WEBGL,"vertex"),s?this.rgbaTopLeftQuadVB=D:this.rgbaWebGLQuadVB=D),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(NA.QUAD_INDICES,"index")),i==="cover"){const n=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale,this.clipScratch);A.setScissor(n.x,n.y,n.w,n.h)}const h=this.mixedGeometryDrawCommand;h.vertexBuffer=D,h.indexBuffer=this.rgbaQuadIB,this.mixedGeometryTexturesScratch[0]=I.videoTextureHandle,this.mixedGeometryTexturesScratch.length=1,this.mixedGeometryUniformsScratch.u_projection=C,this.mixedGeometryUniformsScratch.u_transform=o,this.mixedGeometryUniformsScratch.u_opacity=I.opacity,A.draw(h),i==="cover"&&A.resetScissor()}drawMixedDirectGeometry(A,I){var g;const Q=I.vapConfig,C=I.vapMixState,E=I.videoTextureHandle;if(!Q||!C||C.mode!=="direct"||!C.resourceTextures||!E)return;this.drawGeometry(A,I);const o=C.frameMap.get(this.getMixedFrameIndex(I,Q));if(!o||o.length===0)return;const i=A.canvas.width,e=A.canvas.height;let t;this.projCache&&this.projCacheW===i&&this.projCacheH===e?t=this.projCache:(this.projCacheW=i,this.projCacheH=e,this.projCache=LA(0,i,e,0,-1,1),t=this.projCache),this.rgbaTopLeftQuadVB||(this.rgbaTopLeftQuadVB=A.createBuffer(NA.RGBA_QUAD_VERTS_WEBGPU,"vertex")),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(NA.QUAD_INDICES,"index"));const{info:a}=Q,{w:s,h:D}=TA(a),h=uA(I,s,D,this.layoutScratch);if(nA(I)==="cover"){const G=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale,this.clipScratch);A.setScissor(G.x,G.y,G.w,G.h)}else{const G=bA(I,I.x+h.offsetX,I.y+h.offsetY,h.width,h.height,this.clipScratch);A.setScissor(G.x,G.y,G.w,G.h)}const n=a.videoW>0?a.videoW:E.width,c=a.videoH>0?a.videoH:E.height,F=this.scratchTransform,w=this.scratchAtlasRemap,r=this.overlayDrawCommand;r.vertexBuffer=this.rgbaTopLeftQuadVB,r.indexBuffer=this.rgbaQuadIB,this.overlayUniformsScratch.u_projection=t,this.overlayUniformsScratch.u_opacity=I.opacity;for(const G of o){const M=C.resourceTextures.get((g=G.srcKey)!=null?g:String(G.srcId));if(!M)continue;const[R,y,N,l]=G.frame,[,,U,Y]=G.mFrame;if(N<=0||l<=0||U<=0||Y<=0)continue;OA(I,I.x+h.offsetX+R*h.scaleX,I.y+h.offsetY+y*h.scaleY,N*h.scaleX,l*h.scaleY,F);const S=iI(G.mFrame,n,c);w[0]=S.left,w[1]=S.right,w[2]=S.top,w[3]=S.bottom,this.overlayTexturesScratch[0]=M,this.overlayTexturesScratch[1]=E,this.overlayTexturesScratch.length=2,A.draw(r)}A.resetScissor()}ensureBuffer(A,I,g,Q){return I?(A.updateBuffer(I,g),I):A.createBuffer(g,Q)}destroy(A){this.instancedQuadVB&&A.deleteBuffer(this.instancedQuadVB),this.instancedQuadIB&&A.deleteBuffer(this.instancedQuadIB),this.quadVB&&A.deleteBuffer(this.quadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.rgbaWebGLQuadVB&&A.deleteBuffer(this.rgbaWebGLQuadVB),this.rgbaTopLeftQuadVB&&A.deleteBuffer(this.rgbaTopLeftQuadVB),this.rgbaQuadIB&&A.deleteBuffer(this.rgbaQuadIB),this.instancedQuadVB=null,this.instancedQuadIB=null,this.quadVB=null,this.quadIB=null,this.rgbaWebGLQuadVB=null,this.rgbaTopLeftQuadVB=null,this.rgbaQuadIB=null,this.lastWcFrameRef.clear(),this.processedHtmlGatesScratch.clear(),this.projCache=null,this.projCacheW=0,this.projCacheH=0}getMixedFrameIndex(A,I){var g,Q,C;if(A.webcodecsPlayback)return Math.max(0,Math.round(((g=A.wcPlaybackTime)!=null?g:0)*I.info.fps));const E=this.htmlGate.getFrameInfo(A.id),o=E==null?void 0:E.mediaTime;return typeof o=="number"&&Number.isFinite(o)&&o>=0?Math.max(0,Math.round(o*I.info.fps)):Math.max(0,Math.round(((C=(Q=A.videoElement)==null?void 0:Q.currentTime)!=null?C:0)*I.info.fps))}getHtmlVideoGateId(A){return A.releaseSharedVideoTexture&&A.videoTextureHandle?`shared:${A.videoTextureHandle.id}`:A.id}};u(uI,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));u(uI,"RGBA_QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));u(uI,"RGBA_QUAD_VERTS_WEBGPU",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));u(uI,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let fQ=uI;var oo=Object.defineProperty,eo=(B,A,I)=>A in B?oo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,W=(B,A,I)=>eo(B,typeof A!="symbol"?A+"":A,I);const fB=1024,JB=12,EB=class hI{constructor(A){W(this,"quadVB",null),W(this,"quadIB",null),W(this,"instancePackScratch",new Float32Array(fB*JB)),W(this,"projCacheW",0),W(this,"projCacheH",0),W(this,"projCache",null),W(this,"scratchTransform",new Float32Array(16)),W(this,"contentSizeScratch",{w:0,h:0}),W(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),W(this,"clipScratch",{x:0,y:0,w:0,h:0}),W(this,"wcDbgFirstDraw",new Set),W(this,"wcDbgNullWarns",new Map),W(this,"htmlGate"),W(this,"lastWcFrameRef",new Map),W(this,"scratchAtlasRemap",new Float32Array(4)),W(this,"processedHtmlGatesScratch",new Set),W(this,"instancedTexturesScratch",[]),W(this,"instancedUniformsScratch",{u_projection:new Float32Array(16),u_video:0}),W(this,"instancedDrawCommand",{shader:"alpha-video-instanced",vertexBuffer:null,indexBuffer:null,indexCount:6,instanceCount:0,instanceData:this.instancePackScratch,textures:this.instancedTexturesScratch,uniforms:this.instancedUniformsScratch}),W(this,"geometryTexturesScratch",[]),W(this,"geometryUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:this.scratchAtlasRemap,u_opacity:1,u_rgbPremultiplied:1,u_video:0}),W(this,"geometryDrawCommand",{shader:"alpha-video",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.geometryTexturesScratch,uniforms:this.geometryUniformsScratch}),this.htmlGate=new kQ(A)}static alphaVideoContentSize(A,I){if(A.webcodecsPlayback){const E=A.webcodecsPlayback.videoWidth,o=A.webcodecsPlayback.videoHeight;return I.w=E>0?E*.5:0,I.h=o,I}const g=A.videoElement,Q=g.videoWidth,C=g.videoHeight;return I.w=Q>0?Q*.5:0,I.h=C,I}syncVideoTextures(A,I){var g,Q,C;let E=!1;const o=this.processedHtmlGatesScratch;o.clear();for(const i of I.values()){if(i.type!=="alphaVideo"||i.paused||i.state!=="playing"&&i.state!=="fly"||!i.videoTextureHandle)continue;const e=i.webcodecsPlayback;if(e){const t=(g=i.wcPlaybackTime)!=null?g:0,a=e.getFrameForTime(t);if(this.wcDbgFirstDraw.has(i.id)||(this.wcDbgFirstDraw.add(i.id),console.info("[GiftStage:WC] alphaVideo first draw",{giftId:i.id,state:i.state,t,hasFrame:!!a,canvasBuf:`${A.canvas.width}x${A.canvas.height}`})),a){const s=i.webcodecsSurface;if(((C=s==null?void 0:s.lastUploadedFrame)!=null?C:this.lastWcFrameRef.get(i.id))!==a){const h=i.wcAtlasRect;h?A.updateTextureRegion(i.videoTextureHandle,a,h.x,h.y,h.w,h.h):A.updateTexture(i.videoTextureHandle,a),s?s.lastUploadedFrame=a:this.lastWcFrameRef.set(i.id,a),E=!0}}else{const s=((Q=this.wcDbgNullWarns.get(i.id))!=null?Q:0)+1;this.wcDbgNullWarns.set(i.id,s),s<=5&&console.warn("[GiftStage:WC] alphaVideo getFrameForTime null",{giftId:i.id,t,n:s})}}else if(i.videoElement){const t=this.getHtmlVideoGateId(i);if(o.has(t))continue;o.add(t),this.htmlGate.preUpload(t,i.videoElement)&&(A.updateTexture(i.videoTextureHandle,i.videoElement),E=!0)}}return E}draw(A,I){if(A.type==="webgpu"||A.type==="webgl2"){this.drawInstancedAlphaBatches(A,I);return}for(const g of I.values())g.type==="alphaVideo"&&(g.state!=="playing"&&g.state!=="fly"&&g.state!=="stopped"||!g.videoElement&&!g.webcodecsPlayback||!g.videoTextureHandle||this.drawGeometry(A,g))}drawSlot(A,I){I.type==="alphaVideo"&&(I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped"||!I.videoElement&&!I.webcodecsPlayback||!I.videoTextureHandle||this.drawGeometry(A,I))}drawInstancedAlphaBatches(A,I){var g;let Q=null,C=0,E=null;const o=this.instancePackScratch;for(const i of I.values()){if(i.type!=="alphaVideo"||i.state!=="playing"&&i.state!=="fly"&&i.state!=="stopped"||!i.videoElement&&!i.webcodecsPlayback||!i.videoTextureHandle)continue;if(nA(i)==="cover"||((g=i.rotation)!=null?g:0)!==0){Q&&C>0&&E&&(this.flushInstancedBatch(A,Q,C,E),Q=null,C=0),this.drawGeometry(A,i);continue}const e=i.videoTextureHandle;Q&&Q.id!==e.id&&C>0&&E&&(this.flushInstancedBatch(A,Q,C,E),Q=null,C=0),Q||(this.ensureQuadBuffers(A),E=this.getProjection(A),Q=e),this.fillAlphaInstanceData(i,o,C*JB),C++,C===fB&&(this.flushInstancedBatch(A,Q,C,E),Q=null,C=0)}Q&&C>0&&E&&this.flushInstancedBatch(A,Q,C,E)}flushInstancedBatch(A,I,g,Q){const C=this.instancedDrawCommand;C.vertexBuffer=this.quadVB,C.indexBuffer=this.quadIB,C.instanceCount=g,this.instancedTexturesScratch[0]=I,this.instancedTexturesScratch.length=1,this.instancedUniformsScratch.u_projection=Q,A.draw(C)}fillAlphaInstanceData(A,I,g){const Q=hI.alphaVideoContentSize(A,this.contentSizeScratch),C=uA(A,Q.w,Q.h,this.layoutScratch);I[g+0]=A.x+C.offsetX,I[g+1]=A.y+C.offsetY,I[g+2]=C.width,I[g+3]=C.height;const E=A.videoTextureHandle,o=Cg(E.width,E.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(o,g+4),I[g+8]=A.opacity,I[g+9]=A.options.videoRGBAlphaMode!=="straight"?1:0,I[g+10]=0,I[g+11]=0}releaseHtmlVideo(A){var I;this.htmlGate.release(this.getHtmlVideoGateId(A),(I=A.videoElement)!=null?I:void 0)}clearWebCodecsFrameRef(A){this.lastWcFrameRef.delete(A),this.wcDbgFirstDraw.delete(A),this.wcDbgNullWarns.delete(A)}getHtmlVideoGateId(A){return A.releaseSharedVideoTexture&&A.videoTextureHandle?`shared:${A.videoTextureHandle.id}`:A.id}drawGeometry(A,I){const g=this.getProjection(A),Q=this.scratchTransform,C=nA(I),E=hI.alphaVideoContentSize(I,this.contentSizeScratch),o=uA(I,E.w,E.h,this.layoutScratch);OA(I,I.x+o.offsetX,I.y+o.offsetY,o.width,o.height,Q),this.ensureQuadBuffers(A);const i=I.videoTextureHandle,e=Cg(i.width,i.height,I.wcAtlasRect,this.scratchAtlasRemap),t=this.geometryDrawCommand;if(t.vertexBuffer=this.quadVB,t.indexBuffer=this.quadIB,this.geometryTexturesScratch[0]=i,this.geometryTexturesScratch.length=1,this.geometryUniformsScratch.u_projection=g,this.geometryUniformsScratch.u_transform=Q,this.geometryUniformsScratch.u_atlasRemap=e,this.geometryUniformsScratch.u_opacity=I.opacity,this.geometryUniformsScratch.u_rgbPremultiplied=I.options.videoRGBAlphaMode!=="straight"?1:0,C==="cover"){const a=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale,this.clipScratch);A.setScissor(a.x,a.y,a.w,a.h)}A.draw(t),C==="cover"&&A.resetScissor()}ensureQuadBuffers(A){this.quadVB||(this.quadVB=A.createBuffer(hI.QUAD_VERTS,"vertex"),this.quadIB=A.createBuffer(hI.QUAD_INDICES,"index"))}getProjection(A){const I=A.canvas.width,g=A.canvas.height;return this.projCache&&this.projCacheW===I&&this.projCacheH===g?this.projCache:(this.projCacheW=I,this.projCacheH=g,this.projCache=LA(0,I,g,0,-1,1),this.projCache)}destroy(A){this.quadVB&&A.deleteBuffer(this.quadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.quadVB=null,this.quadIB=null,this.projCache=null,this.projCacheW=0,this.projCacheH=0,this.lastWcFrameRef.clear(),this.processedHtmlGatesScratch.clear()}};W(EB,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));W(EB,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let JQ=EB;var to=Object.defineProperty,ao=(B,A,I)=>A in B?to(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,GA=(B,A,I)=>ao(B,typeof A!="symbol"?A+"":A,I);const iB=class Xg{constructor(){GA(this,"quadVB",null),GA(this,"quadIB",null),GA(this,"scratchTransform",new Float32Array(16)),GA(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),GA(this,"clipScratch",{x:0,y:0,w:0,h:0}),GA(this,"projCacheW",0),GA(this,"projCacheH",0),GA(this,"projCache",null)}drawSlot(A,I){if(I.type!=="image"||!I.imageTextureHandle||I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped")return;const g=I.imageTextureHandle,Q=uA(I,g.width,g.height,this.layoutScratch),C=I.x+Q.offsetX,E=I.y+Q.offsetY;OA(I,C,E,Q.width,Q.height,this.scratchTransform);let o=this.quadVB;o||(o=A.createBuffer(Xg.QUAD_VERTS,"vertex"),this.quadVB=o),this.quadIB||(this.quadIB=A.createBuffer(Xg.QUAD_INDICES,"index"));const i=A.canvas.width,e=A.canvas.height;(!this.projCache||this.projCacheW!==i||this.projCacheH!==e)&&(this.projCacheW=i,this.projCacheH=e,this.projCache=LA(0,i,e,0,-1,1));const t=nA(I)==="cover";if(t){const a=bA(I,I.x,I.y,I.width*I.scale,I.height*I.scale,this.clipScratch);A.setScissor(a.x,a.y,a.w,a.h)}A.draw({shader:"rgba-textured",vertexBuffer:o,indexBuffer:this.quadIB,indexCount:6,textures:[g],uniforms:{u_projection:this.projCache,u_transform:this.scratchTransform,u_atlasRemap:dQ,u_opacity:I.opacity,u_video:0}}),t&&A.resetScissor()}destroy(A){this.quadVB&&A.deleteBuffer(this.quadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.quadVB=null,this.quadIB=null,this.projCache=null}};GA(iB,"QUAD_VERTS",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));GA(iB,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let LQ=iB;var so=Object.defineProperty,Do=(B,A,I)=>A in B?so(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,vI=(B,A,I)=>Do(B,typeof A!="symbol"?A+"":A,I);class uQ{constructor(){vI(this,"animations",new Map),vI(this,"completedScratch",[]),vI(this,"individuallyPaused",new Set),vI(this,"globallyPaused",!1)}startFly(A,I,g,Q,C,E,o,i=A.opacity,e=(t=>(t=A.rotation)!=null?t:0)()){this.startTween(A,I,g,Q,C,E,o,void 0,i,e)}startTween(A,I,g,Q,C,E,o,i,e=A.opacity,t=(a=>(a=A.rotation)!=null?a:0)()){var a;this.cancelForGift(A.id),this.animations.set(A.id,{giftId:A.id,startX:A.x,startY:A.y,startScale:A.scale,startOpacity:A.opacity,startRotation:(a=A.rotation)!=null?a:0,targetX:I,targetY:g,targetScale:Q,targetOpacity:e,targetRotation:t,startTime:-1,pausedAt:this.globallyPaused||this.individuallyPaused.has(A.id)?performance.now():void 0,duration:C,easing:E,onComplete:o,onCancel:i})}startTweenPromise(A,I,g,Q,C,E,o,i=A.opacity,e=(t=>(t=A.rotation)!=null?t:0)()){return new Promise(t=>{this.startTween(A,I,g,Q,C,E,()=>{o==null||o(),t()},t,i,e)})}startSequence(A,I){return this.cancelForGift(A.id),I.length===0?Promise.resolve():new Promise(g=>{let Q=0;const C=()=>{var E,o;const i=I[Q++];if(!i){g();return}this.startTween(A,i.targetX,i.targetY,i.targetScale,i.duration,i.easing,()=>{var e;(e=i.onComplete)==null||e.call(i),C()},void 0,i.targetOpacity,(o=(E=i.targetRotation)!=null?E:A.rotation)!=null?o:0)};C()})}update(A){var I,g;const Q=this.completedScratch;Q.length=0;for(const[C,E]of this.animations){E.startTime<0&&(E.startTime=A);const o=(I=E.pausedAt)!=null?I:A;_I((o-E.startTime)/E.duration,0,1)>=1&&(this.animations.delete(C),Q.push(E))}for(const C of Q)(g=C.onComplete)==null||g.call(C);Q.length=0}getAnimatedState(A,I){var g;const Q=this.animations.get(A);if(!Q)return null;Q.startTime<0&&(Q.startTime=I);const C=_I((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return{x:sA(Q.startX,Q.targetX,E),y:sA(Q.startY,Q.targetY,E),scale:sA(Q.startScale,Q.targetScale,E),opacity:sA(Q.startOpacity,Q.targetOpacity,E),rotation:sA(Q.startRotation,Q.targetRotation,E)}}applyAnimatedState(A,I){var g;const Q=this.animations.get(A.id);if(!Q)return!1;Q.startTime<0&&(Q.startTime=I);const C=_I((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return A.x=sA(Q.startX,Q.targetX,E),A.y=sA(Q.startY,Q.targetY,E),A.scale=sA(Q.startScale,Q.targetScale,E),A.opacity=sA(Q.startOpacity,Q.targetOpacity,E),A.rotation=sA(Q.startRotation,Q.targetRotation,E),!0}hasAnimation(A){return this.animations.has(A)}hasActiveAnimations(){return this.animations.size>0}hasRunningAnimations(){for(const A of this.animations.values())if(A.pausedAt==null)return!0;return!1}pauseForGift(A,I=performance.now()){this.individuallyPaused.add(A);const g=this.animations.get(A);!g||g.pausedAt!=null||(g.pausedAt=I)}resumeForGift(A,I=performance.now()){if(this.individuallyPaused.delete(A),this.globallyPaused)return;const g=this.animations.get(A);!g||g.pausedAt==null||(g.startTime>=0&&(g.startTime+=I-g.pausedAt),g.pausedAt=void 0)}pauseAll(A=performance.now()){this.globallyPaused=!0;for(const I of this.animations.values())I.pausedAt==null&&(I.pausedAt=A)}resumeAll(A=performance.now()){this.globallyPaused=!1;for(const[I,g]of this.animations)this.individuallyPaused.has(I)||g.pausedAt!=null&&(g.startTime>=0&&(g.startTime+=A-g.pausedAt),g.pausedAt=void 0)}cancelForGift(A){var I;const g=this.animations.get(A);g&&(this.animations.delete(A),(I=g.onCancel)==null||I.call(g))}releaseGift(A){this.cancelForGift(A),this.individuallyPaused.delete(A)}destroy(){this.animations.clear(),this.individuallyPaused.clear(),this.globallyPaused=!1,this.completedScratch.length=0}}var ho=Object.defineProperty,no=(B,A,I)=>A in B?ho(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,oI=(B,A,I)=>no(B,typeof A!="symbol"?A+"":A,I);class HQ{constructor(){oI(this,"ctx",null),oI(this,"decodedCache",new Map),oI(this,"activeSources",[]),oI(this,"globalMute",!1),oI(this,"gainNode",null)}ensureContext(){return this.ctx||(this.ctx=new AudioContext,this.gainNode=this.ctx.createGain(),this.gainNode.connect(this.ctx.destination),this.globalMute&&(this.gainNode.gain.value=0)),this.ctx.state==="suspended"&&this.ctx.resume().catch(()=>{}),this.ctx}async decodeAudio(A,I){if(this.decodedCache.has(A))return;const g=this.ensureContext();try{const Q=await g.decodeAudioData(I.slice(0));this.decodedCache.set(A,Q)}catch(Q){}}tickFrame(A,I){if(A.videoEntity&&!A.options.mute){for(const g of A.videoEntity.audios)I===g.startFrame&&this.startAudio(A.id,g);for(let g=this.activeSources.length-1;g>=0;g--){const Q=this.activeSources[g];if(Q.giftId===A.id&&I>=Q.endFrame){try{Q.source.stop()}catch(C){}Q.source.disconnect(),this.activeSources.splice(g,1)}}}}tickFrameForKey(A,I,g){if(A.videoEntity&&!A.options.mute)for(const Q of A.videoEntity.audios)Q.audioKey===g&&I===Q.startFrame&&this.startAudio(A.id,Q)}startAudio(A,I){var g;const Q=this.decodedCache.get(I.audioKey);if(!Q)return;const C=this.ensureContext(),E=C.createBufferSource();E.buffer=Q,E.connect((g=this.gainNode)!=null?g:C.destination),E.start(0,I.startTime/1e3),E.onended=()=>{E.disconnect();const o=this.activeSources.findIndex(i=>i.source===E&&i.giftId===A);o>=0&&this.activeSources.splice(o,1)},this.activeSources.push({source:E,endFrame:I.endFrame,giftId:A})}stopAllForGift(A){for(let I=this.activeSources.length-1;I>=0;I--)if(this.activeSources[I].giftId===A){try{this.activeSources[I].source.stop()}catch(g){}this.activeSources[I].source.disconnect(),this.activeSources.splice(I,1)}}setMute(A){this.globalMute=A,this.gainNode&&(this.gainNode.gain.value=A?0:1)}destroy(){var A;for(const I of this.activeSources){try{I.source.stop()}catch(g){}I.source.disconnect()}this.activeSources=[],this.decodedCache.clear(),(A=this.ctx)==null||A.close().catch(()=>{}),this.ctx=null,this.gainNode=null}}var wo=Object.defineProperty,ro=(B,A,I)=>A in B?wo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,vA=(B,A,I)=>ro(B,typeof A!="symbol"?A+"":A,I);class co{constructor(A,I){vA(this,"atlasW"),vA(this,"atlasH"),vA(this,"rowY",0),vA(this,"rowH",0),vA(this,"rowX",0),vA(this,"slots",new Map),this.atlasW=Math.max(64,Math.floor(A)),this.atlasH=Math.max(64,Math.floor(I))}get size(){return{w:this.atlasW,h:this.atlasH}}tryAllocate(A,I,g){const Q=Math.max(1,Math.ceil(I)),C=Math.max(1,Math.ceil(g));if(Q>this.atlasW||C>this.atlasH||(this.rowX+Q>this.atlasW&&(this.rowY+=this.rowH,this.rowX=0,this.rowH=0),this.rowY+C>this.atlasH))return null;const E={x:this.rowX,y:this.rowY,w:Q,h:C};return this.slots.set(A,E),this.rowX+=Q,this.rowH=Math.max(this.rowH,C),E}release(A){this.slots.delete(A)}getRect(A){return this.slots.get(A)}}function Fo(B){const A=/^(-?\d+(?:\.\d+)?)%$/.exec(B.trim());if(!A)return null;const I=Number(A[1]);return Number.isFinite(I)?I:null}function LB(B,A,I){if(typeof B=="number")return B;const g=Fo(B);if(g==null)throw new Error(`Invalid percentage coordinate: ${B}`);return A*g/100-I/2}function qQ(B,A,I,g,Q,C){return{x:LB(B,Q,I),y:LB(A,C,g)}}var Go=Object.defineProperty,yo=(B,A,I)=>A in B?Go(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,m=(B,A,I)=>yo(B,typeof A!="symbol"?A+"":A,I);class KI{constructor(A){m(this,"backend"),m(this,"svgaBatch"),m(this,"vapRenderer"),m(this,"alphaVideoRenderer"),m(this,"imageRenderer"),m(this,"postAnimator"),m(this,"audioManager"),m(this,"slots"),m(this,"handles"),m(this,"rafId",null),m(this,"lastTime",0),m(this,"running",!1),m(this,"globallyPaused",!1),m(this,"suspendedForHidden",!1),m(this,"forceNextDraw",!0),m(this,"onAnimationFrame",I=>this.renderLoop(I)),m(this,"onHtmlVideoFrame",I=>{if(!this.globallyPaused){for(const g of this.slots.values())if(g.videoElement===I&&!g.paused&&(g.state==="playing"||g.state==="fly")){this.invalidate();return}}}),m(this,"finishedSlotIdsScratch",[]),m(this,"videoRunMapScratch",new Map),m(this,"sortedSlots",[]),m(this,"visibleSlotsScratch",[]),m(this,"collapsedLayerScratch",[]),m(this,"coincidentSeenScratch",new Set),m(this,"drawRunScratch",[]),m(this,"wcAtlas",null),m(this,"wcDbgTickOnce",new Set),m(this,"advancedSharedWebCodecsScratch",new Set),m(this,"activeSharedWebCodecsScratch",new Set),this.backend=A,this.svgaBatch=new NQ(()=>this.invalidate()),this.vapRenderer=new fQ(this.onHtmlVideoFrame),this.alphaVideoRenderer=new JQ(this.onHtmlVideoFrame),this.imageRenderer=new LQ,this.postAnimator=new uQ,this.audioManager=new HQ,this.slots=new Map,this.handles=new Map}addSlot(A,I){this.slots.set(A.id,A),this.handles.set(A.id,I),this.insertSortedSlot(A),this.invalidate({resetClock:!0})}getHandle(A){return this.handles.get(A)}releaseSlotResources(A){var I,g,Q,C,E,o,i,e,t;if((I=A.loadAbortController)==null||I.abort(),A.loadAbortController=null,A.videoPlaybackWatchdogTimer!=null&&(clearTimeout(A.videoPlaybackWatchdogTimer),A.videoPlaybackWatchdogTimer=null),this.wcDbgTickOnce.delete(A.id),A.type==="vap"&&(this.vapRenderer.releaseHtmlVideo(A),this.vapRenderer.clearWebCodecsFrameRef(A.id),(Q=(g=A.vapMixState)==null?void 0:g.composer)==null||Q.destroy(),(C=A.vapMixState)!=null&&C.resourceTextures)){for(const a of A.vapMixState.resourceTextures.values())this.backend.deleteTexture(a);A.vapMixState.resourceTextures.clear()}if(A.type==="alphaVideo"&&(this.alphaVideoRenderer.releaseHtmlVideo(A),this.alphaVideoRenderer.clearWebCodecsFrameRef(A.id)),this.audioManager.stopAllForGift(A.id),this.postAnimator.releaseGift(A.id),A.videoEntity&&!A.releaseSharedSVGAAsset&&this.deleteSVGAAtlasTextures(A.videoEntity),A.svgaSlotTextures){for(const a of A.svgaSlotTextures.values())this.backend.deleteTexture(a.texture);A.svgaSlotTextures.clear(),A.svgaSlotTextures=void 0}A.wcAtlasRect&&!A.releaseWebCodecsSurface?(this.releaseWebCodecsAtlasAllocation(A.id),A.wcAtlasRect=void 0):A.videoTextureHandle&&!A.releaseSharedVideoTexture&&!A.releaseWebCodecsSurface&&this.backend.deleteTexture(A.videoTextureHandle),A.videoTextureHandle=null,A.imageTextureHandle&&(A.releaseSharedImageTexture?A.releaseSharedImageTexture():this.backend.deleteTexture(A.imageTextureHandle)),A.imageTextureHandle=null,A.releaseSharedImageTexture=null,(E=A.releaseWebCodecsSurface)==null||E.call(A),A.releaseWebCodecsSurface=null,A.webcodecsSurface=null,A.wcAtlasRect=void 0,A.webcodecsPlayback&&(A.releaseWebCodecsPlayback?A.releaseWebCodecsPlayback():A.webcodecsPlayback.destroy(),A.webcodecsPlayback=null),A.releaseWebCodecsPlayback=null,A.webcodecsSharedState=null,A.videoElement&&!A.releaseSharedVideoPlayback&&(A.videoElement.pause(),A.videoElement.removeAttribute("src"),A.videoElement.load(),A.videoElement.remove()),A.videoElement=null,(o=A.releaseSharedVideoPlayback)==null||o.call(A),A.releaseSharedVideoPlayback=null,(i=A.releaseSharedSVGAAsset)==null||i.call(A),A.releaseSharedSVGAAsset=null,(e=A.releaseSharedVideoTexture)==null||e.call(A),A.releaseSharedVideoTexture=null,(t=A.releaseMediaSource)==null||t.call(A),A.releaseMediaSource=null,A.vapMixState=null,A.videoEntity=null}removeSlot(A){const I=this.slots.get(A);I&&this.releaseSlotResources(I),this.slots.delete(A),this.handles.delete(A);const g=this.sortedSlots.indexOf(I);g>=0&&this.sortedSlots.splice(g,1),this.forceNextDraw=!0,this.slots.size===0?(this.clearFrameOnce(),this.stop()):this.invalidate()}getSlot(A){return this.slots.get(A)}get activeCount(){return this.slots.size}getSlotIds(){return Array.from(this.slots.keys())}tryAllocateWebCodecsAtlas(A,I,g,Q){if(!Q||Q.width<=0||Q.height<=0)return null;if(this.wcAtlas&&(this.wcAtlas.cfg.width!==Q.width||this.wcAtlas.cfg.height!==Q.height)){if(this.wcAtlas.ref>0)return null;this.backend.deleteTexture(this.wcAtlas.handle),this.wcAtlas=null}this.wcAtlas||(this.wcAtlas={cfg:{width:Q.width,height:Q.height},handle:this.backend.createEmptyTexture(Q.width,Q.height,{filter:"linear"}),alloc:new co(Q.width,Q.height),ref:0});const C=this.wcAtlas.alloc.tryAllocate(A,I,g);return C?(this.wcAtlas.ref++,{handle:this.wcAtlas.handle,rect:C}):null}releaseWebCodecsAtlasAllocation(A){const I=this.wcAtlas;I&&(I.alloc.release(A),I.ref=Math.max(0,I.ref-1),I.ref<=0&&(this.backend.deleteTexture(I.handle),this.wcAtlas=null))}syncSlotLayoutFromOptions(){const{sx:A,sy:I}=xg(this.backend.canvas);for(const g of this.slots.values()){if(this.postAnimator.hasAnimation(g.id))continue;const Q=g.options,C=qQ(Q.x,Q.y,Q.width,Q.height,this.backend.canvas.clientWidth,this.backend.canvas.clientHeight);g.x=C.x*A,g.y=C.y*I,g.width=Q.width*A,g.height=Q.height*I}this.invalidate()}invalidate(A={}){this.forceNextDraw=!0,A.orderChanged&&this.sortedSlots.sort(KI.compareSlots),!(this.globallyPaused||this.suspendedForHidden||this.running)&&this.start(A.resetClock!==!1)}start(A=!0){this.running||this.globallyPaused||(this.running=!0,(A||this.lastTime<=0)&&(this.lastTime=performance.now()),this.rafId=requestAnimationFrame(this.onAnimationFrame))}stop(){this.running=!1,this.rafId!==null&&(cancelAnimationFrame(this.rafId),this.rafId=null)}clearFrameOnce(){this.backend.beginFrame({stencil:!1}),this.svgaBatch.beginFrame(this.backend),this.backend.endFrame()}pause(){this.globallyPaused=!0,this.postAnimator.pauseAll(),this.stop(),this.syncAllVideoPlayback()}resume(){this.globallyPaused=!1,this.postAnimator.resumeAll(),this.slots.size>0&&this.invalidate({resetClock:!0}),this.syncAllVideoPlayback()}setHidden(A){A!==this.suspendedForHidden&&(this.suspendedForHidden=A,A?this.stop():!this.globallyPaused&&this.slots.size>0&&this.invalidate({resetClock:!0}))}syncAllVideoPlayback(){for(const A of this.slots.values())A.videoElement&&this.syncVideoPlaybackForSlot(A)}hasActiveVideoConsumer(A,I){if(this.globallyPaused)return!1;for(const g of this.slots.values())if(!(g.id===I||g.videoElement!==A)&&!g.paused&&!(g.state!=="playing"&&g.state!=="fly"))return!0;return!1}syncVideoPlaybackForSlot(A){const I=A.videoElement;if(!I)return;if(!this.globallyPaused&&!A.paused&&(A.state==="playing"||A.state==="fly")){I.paused&&I.play().catch(()=>{});return}A.releaseSharedVideoPlayback&&this.hasActiveVideoConsumer(I,A.id)||I.paused||I.pause()}prewarmSVGAClipMeshes(A,I){return this.svgaBatch.prewarmClipMeshes(A,I)}hydrateSVGAClipMeshes(A){this.svgaBatch.hydrateClipMeshes(A)}snapshotSVGAClipMeshes(A){return this.svgaBatch.snapshotClipMeshes(A)}renderLoop(A){var I,g,Q;if(!this.running)return;const C=(A-this.lastTime)/1e3;this.lastTime=A;let E=this.forceNextDraw;this.advancedSharedWebCodecsScratch.clear(),this.activeSharedWebCodecsScratch.clear();for(const o of this.slots.values())!o.paused&&o.state==="playing"&&o.webcodecsPlayback&&o.webcodecsSharedState&&this.activeSharedWebCodecsScratch.add(o.webcodecsSharedState.id);for(const[o,i]of this.slots){if(i.paused||i.state==="loading"){i.paused&&i.state==="playing"&&i.webcodecsPlayback&&i.webcodecsSharedState&&this.activeSharedWebCodecsScratch.has(i.webcodecsSharedState.id)&&this.tickSharedWebCodecs(i,A,!1);continue}const e=this.handles.get(o);this.postAnimator.applyAnimatedState(i,A)&&(E=!0),i.type==="svga"&&i.videoEntity&&i.state==="playing"&&(E=this.tickSVGA(i,C,e,A)||E),i.type==="image"&&i.state==="playing"&&(E=this.tickImage(i,C,e,A)||E),(i.type==="vap"||i.type==="alphaVideo")&&i.webcodecsPlayback&&i.state==="playing"&&(i.webcodecsSharedState?this.tickSharedWebCodecs(i,A,!0):(this.tickWebCodecs(i,C,e),(Q=(g=i.webcodecsPlayback).ensureDecodedThrough)==null||Q.call(g,(I=i.wcPlaybackTime)!=null?I:0)))}if(E=this.postAnimator.hasActiveAnimations()||E,this.postAnimator.update(A),E=this.removeFinished()||E,E=this.vapRenderer.syncVideoTextures(this.backend,this.slots)||E,E=this.alphaVideoRenderer.syncVideoTextures(this.backend,this.slots)||E,E){this.forceNextDraw=!1;const o=this.getRenderOrderedSlots();this.backend.beginFrame({stencil:this.svgaBatch.requiresStencil(o)}),this.svgaBatch.beginFrame(this.backend),this.drawRenderLayers(o),this.backend.endFrame()}this.needsContinuousFrame()?this.rafId=requestAnimationFrame(this.onAnimationFrame):(this.running=!1,this.rafId=null,this.lastTime=0)}tickSharedWebCodecs(A,I,g){var Q,C;const E=A.webcodecsSharedState;if(!E)return;const o=Math.max(E.playback.duration,1e-9),i=Math.max(0,(I-E.startedAtMs)/1e3);A.wcPlaybackTime=i%o,g&&(this.advancedSharedWebCodecsScratch.has(E.id)||(this.advancedSharedWebCodecsScratch.add(E.id),(C=(Q=E.playback).ensureDecodedThrough)==null||C.call(Q,A.wcPlaybackTime)))}tickWebCodecs(A,I,g){var Q,C;const E=A.webcodecsPlayback;if(!E)return;const o=Math.max(E.duration,1e-9);if(!Number.isFinite(o))return;const i=(Q=A.options.loop)!=null?Q:1;let e=((C=A.wcPlaybackTime)!=null?C:0)+I;if(i===0){A.wcPlaybackTime=(e%o+o)%o,this.wcDbgLogTickOnce(A,o,A.wcPlaybackTime,i);return}const t=Math.floor(e/o);if(A.loopCount+t>=i){A.loopCount=i,A.wcPlaybackTime=o-1e-6,this.wcDbgLogTickOnce(A,o,A.wcPlaybackTime,i),this.onWebCodecsPlaybackComplete(A,g);return}A.loopCount+=t,A.wcPlaybackTime=e-t*o,this.wcDbgLogTickOnce(A,o,A.wcPlaybackTime,i)}wcDbgLogTickOnce(A,I,g,Q){var C;this.wcDbgTickOnce.has(A.id)||(this.wcDbgTickOnce.add(A.id),console.info("[GiftStage:WC] clock tick",{giftId:A.id,type:A.type,state:A.state,paused:A.paused,duration:I,wcPlaybackTime:g,loop:(C=A.options.loop)!=null?C:1,maxLoopsEffective:Q,backend:this.backend.type,canvasCss:`${this.backend.canvas.clientWidth}x${this.backend.canvas.clientHeight}`,canvasBuf:`${this.backend.canvas.width}x${this.backend.canvas.height}`}))}onWebCodecsPlaybackComplete(A,I){var g;(g=A.onComplete)==null||g.call(A,I),A.state=A.options.clearsAfterStop===!1?"stopped":"finished"}tickSVGA(A,I,g,Q){var C,E;const o=A.videoEntity,i=o.params.fps,e=o.params.frames;if(i<=0||e<=0)return!1;const t=1/i,a=A.currentFrame;A.accumulatedTime+=I;const s=Math.floor(A.accumulatedTime/t);if(s<=0)return!1;A.accumulatedTime-=s*t;const D=(C=A.options.loop)!=null?C:1,h=A.loopCount*e+A.currentFrame+s;return D===0?(A.loopCount=Math.floor(h/e),A.currentFrame=h%e):h>=D*e?(A.loopCount=D,A.currentFrame=e-1,this.onGiftPlayComplete(A,g,Q)):(A.loopCount=Math.floor(h/e),A.currentFrame=h%e),A.currentFrame=Math.max(0,Math.min(A.currentFrame,e-1)),A.currentFrame!==a&&(this.audioManager.tickFrame(A,A.currentFrame),(E=A.onFrame)==null||E.call(A,A.currentFrame,g)),A.currentFrame!==a}onGiftPlayComplete(A,I,g){var Q;(Q=A.onComplete)==null||Q.call(A,I),A.state=A.options.clearsAfterStop===!1?"stopped":"finished"}tickImage(A,I,g,Q){var C;const E=(C=A.options.duration)!=null?C:0;return!(E>0)||(A.accumulatedTime+=I,A.accumulatedTime*1e3<E)?!1:(A.accumulatedTime=E/1e3,this.onGiftPlayComplete(A,g,Q),!0)}removeFinished(){const A=this.finishedSlotIdsScratch;A.length=0;for(const[I,g]of this.slots)g.state==="finished"&&A.push(I);for(const I of A)this.removeSlot(I);return A.length>0}getRenderOrderedSlots(){const A=this.visibleSlotsScratch;A.length=0;for(const I of this.sortedSlots)I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped"||A.push(I);return A}drawRenderLayers(A){var I,g;let Q=0;for(;Q<A.length;){const C=(I=A[Q].zIndex)!=null?I:0;let E=Q+1;for(;E<A.length&&((g=A[E].zIndex)!=null?g:0)===C;)E++;this.drawLayer(this.collapseCoincidentVisualRange(A,Q,E)),Q=E}}collapseCoincidentVisualDuplicates(A){return this.collapseCoincidentVisualRange(A,0,A.length)}collapseCoincidentVisualRange(A,I,g){const Q=this.coincidentSeenScratch,C=this.collapsedLayerScratch;Q.clear(),C.length=0;for(let E=g-1;E>=I;E-=1){const o=A[E],i=this.getCoincidentVisualKey(o);i&&Q.has(i)||(i&&Q.add(i),C.push(o))}return C.reverse(),C}getCoincidentVisualKey(A){var I,g,Q,C,E;if(this.postAnimator.hasAnimation(A.id))return null;const o=this.getBatchKey(A);if(o.includes(":-1:")||o.endsWith(":-1")||o==="svga::0")return null;const i=A.type==="svga"?`frame=${A.currentFrame}`:A.wcAtlasRect?`rect=${A.wcAtlasRect.x},${A.wcAtlasRect.y},${A.wcAtlasRect.w},${A.wcAtlasRect.h}`:"frame=shared-texture",e=A.type==="svga"?this.getSVGASlotTextureKey(A):"",t=(I=A.options.objectFit)!=null?I:"contain",a=(Q=(g=A.options.transformOrigin)==null?void 0:g.x)!=null?Q:"50%",s=(E=(C=A.options.transformOrigin)==null?void 0:C.y)!=null?E:"50%",D=A.coincidentVisualKeyCache;if(D&&D.resourceKey===o&&D.frameKey===i&&D.svgaSlotKey===e&&D.objectFit===t&&D.x===A.x&&D.y===A.y&&D.width===A.width&&D.height===A.height&&D.scale===A.scale&&D.opacity===A.opacity&&D.rotation===A.rotation&&D.originX===a&&D.originY===s)return D.key;const h=[A.type,o,i,e,`fit=${t}`,`x=${A.x}`,`y=${A.y}`,`w=${A.width}`,`h=${A.height}`,`scale=${A.scale}`,`opacity=${A.opacity}`,`rotation=${A.rotation}`,`origin=${a},${s}`].join("|");return A.coincidentVisualKeyCache={key:h,resourceKey:o,frameKey:i,svgaSlotKey:e,objectFit:t,x:A.x,y:A.y,width:A.width,height:A.height,scale:A.scale,opacity:A.opacity,rotation:A.rotation,originX:a,originY:s},h}getSVGASlotTextureKey(A){const I=A.svgaSlotTextures;if(!I||I.size===0)return"";const g=A.svgaSlotTextureKeyCache;if(g&&g.map===I&&g.size===I.size)return g.key;const Q=Array.from(I.entries()).sort(([C],[E])=>C.localeCompare(E)).map(([C,E])=>`${C}:${E.texture.id}:${E.mode}:${E.logicalWidth}x${E.logicalHeight}`).join(",");return A.svgaSlotTextureKeyCache={key:Q,map:I,size:I.size},Q}drawLayer(A){if(A.length===0)return;let I=A[0].type,g=this.getBatchKey(A[0]);const Q=this.drawRunScratch;Q.length=0;for(const C of A){const E=this.getBatchKey(C);(C.type!==I||E!==g)&&Q.length>0&&(this.drawSlotRun(I,Q),Q.length=0),I=C.type,g=E,Q.push(C)}Q.length>0&&this.drawSlotRun(I,Q),Q.length=0}needsContinuousFrame(){var A;if(this.globallyPaused)return!1;if(this.postAnimator.hasRunningAnimations())return!0;for(const I of this.slots.values())if(!(I.paused||I.state!=="playing")&&(I.type==="svga"&&I.videoEntity||I.type==="image"&&((A=I.options.duration)!=null?A:0)>0||(I.type==="vap"||I.type==="alphaVideo")&&I.webcodecsPlayback||(I.type==="vap"||I.type==="alphaVideo")&&I.videoElement&&typeof I.videoElement.requestVideoFrameCallback!="function"))return!0;return!1}insertSortedSlot(A){let I=0,g=this.sortedSlots.length;for(;I<g;){const Q=I+g>>>1;KI.compareSlots(this.sortedSlots[Q],A)<=0?I=Q+1:g=Q}this.sortedSlots.splice(I,0,A)}static compareSlots(A,I){var g,Q,C,E;const o=((g=A.zIndex)!=null?g:0)-((Q=I.zIndex)!=null?Q:0);return o!==0?o:((C=A.renderOrder)!=null?C:0)-((E=I.renderOrder)!=null?E:0)}drawSlotRun(A,I){if(I.length===0)return;if(A==="svga"){this.svgaBatch.drawSlots(this.backend,I);return}if(A==="image"){for(const Q of I)this.imageRenderer.drawSlot(this.backend,Q);return}const g=this.videoRunMapScratch;g.clear();for(const Q of I)g.set(Q.id,Q);A==="vap"?this.vapRenderer.draw(this.backend,g):this.alphaVideoRenderer.draw(this.backend,g)}getBatchKey(A){var I,g,Q,C,E,o,i,e,t;const a=A.batchKeyCache;switch(A.type){case"svga":{const s=A.videoEntity,D=(I=s==null?void 0:s.atlasTextureHandles)!=null&&I.length?s.atlasTextureHandles:(g=s==null?void 0:s.atlasTextureHandle)!=null?g:null,h=A.svgaSlotTextures&&A.svgaSlotTextures.size>0?1:0;if(a&&a.d0===D&&a.d1===h)return a.key;const c=`svga:${((Q=s==null?void 0:s.atlasTextureHandles)!=null&&Q.length?s.atlasTextureHandles:s!=null&&s.atlasTextureHandle?[s.atlasTextureHandle]:[]).map(F=>F.id).join(",")}:${h}`;return A.batchKeyCache={key:c,d0:D,d1:h,d2:null},c}case"vap":{const s=A.videoTextureHandle,D=!!A.vapMixState,h=(C=A.options.objectFit)!=null?C:"contain";if(a&&a.d0===s&&a.d1===D&&a.d2===h)return a.key;const n=`vap:${D?"mixed":"video"}:${(E=s==null?void 0:s.id)!=null?E:-1}:${h}`;return A.batchKeyCache={key:n,d0:s,d1:D,d2:h},n}case"alphaVideo":{const s=A.videoTextureHandle,D=(o=A.options.objectFit)!=null?o:"contain";if(a&&a.d0===s&&a.d1===D)return a.key;const h=`alpha:${(i=s==null?void 0:s.id)!=null?i:-1}:${D}`;return A.batchKeyCache={key:h,d0:s,d1:D,d2:null},h}case"image":{const s=A.imageTextureHandle,D=(e=A.options.objectFit)!=null?e:"contain";if(a&&a.d0===s&&a.d1===D)return a.key;const h=`image:${(t=s==null?void 0:s.id)!=null?t:-1}:${D}`;return A.batchKeyCache={key:h,d0:s,d1:D,d2:null},h}}}deleteSVGAAtlasTextures(A){var I;const g=(I=A.atlasTextureHandles)!=null&&I.length?A.atlasTextureHandles:A.atlasTextureHandle?[A.atlasTextureHandle]:[],Q=new Set;for(const C of g)Q.has(C.id)||(Q.add(C.id),this.backend.deleteTexture(C))}destroy(){this.stop();for(const A of Array.from(this.slots.keys()))this.removeSlot(A);this.svgaBatch.destroy(this.backend),this.vapRenderer.destroy(this.backend),this.alphaVideoRenderer.destroy(this.backend),this.imageRenderer.destroy(this.backend),this.postAnimator.destroy(),this.audioManager.destroy(),this.sortedSlots.length=0,this.visibleSlotsScratch.length=0,this.collapsedLayerScratch.length=0,this.drawRunScratch.length=0,this.coincidentSeenScratch.clear(),this.backend.destroy()}}function uB(){return typeof DecompressionStream!="undefined"}function EA(){return typeof performance!="undefined"?performance.now():Date.now()}function pQ(B){return B instanceof Error?`${B.name}: ${B.message}`:String(B)}async function Ro(B,A,I){const g=I?EA():0,Q=I?{inputBytes:B.byteLength,nativeAvailable:uB(),nativeAttempts:[]}:null,C=(o,i)=>(Q&&(Q.selectedPath=i,Q.outputBytes=o.byteLength,Q.totalMs=EA()-g,I==null||I(Q)),o),E=o=>{throw Q&&(Q.error=pQ(o),Q.totalMs=EA()-g,I==null||I(Q)),o};if(uB())try{return C(await Og(B,Q!=null?Q:void 0),"native")}catch(o){}try{const o=Q?EA():0,i=A();return Q&&(Q.wasmMs=EA()-o),i?C(i,"wasm"):C(await Og(B,Q!=null?Q:void 0),"native-retry")}catch(o){return E(o)}}async function Og(B,A){if(typeof DecompressionStream!="undefined"){try{return await dg(B,"deflate",A==null?void 0:A.nativeAttempts)}catch(I){}try{return await dg(B.slice(2),"deflate-raw",A==null?void 0:A.nativeAttempts)}catch(I){}return dg(B.slice(2,-4),"deflate-raw",A==null?void 0:A.nativeAttempts)}throw new Error("No inflate implementation available (need WASM or DecompressionStream)")}async function dg(B,A,I){const g=I?EA():0,Q=I?{format:A,inputBytes:B.byteLength,inputChunks:1,writerSubmitMs:0,readMs:0,concatMs:0,totalMs:0,outputChunks:0,outputBytes:0,status:"failed"}:null;try{const C=new DecompressionStream(A),E=C.writable.getWriter(),o=C.readable.getReader(),i=Q?EA():0,e=Promise.resolve(E.write(new Uint8Array(B.buffer,B.byteOffset,B.byteLength))),t=Promise.resolve(E.close());e.catch(()=>{}),t.catch(()=>{}),Q&&(Q.writerSubmitMs=EA()-i);const a=[];let s=0;const D=Q?EA():0;for(;;){const{done:F,value:w}=await o.read();if(F)break;a.push(w),s+=w.length}await Promise.all([e,t]),Q&&(Q.readMs=EA()-D,Q.outputChunks=a.length,Q.outputBytes=s);const h=Q?EA():0,n=new Uint8Array(s);let c=0;for(const F of a)n.set(F,c),c+=F.length;return Q&&(Q.concatMs=EA()-h,Q.totalMs=EA()-g,Q.status="success"),n}catch(C){throw Q&&(Q.totalMs=EA()-g,Q.error=pQ(C)),C}finally{Q&&(I==null||I.push(Q))}}typeof TextEncoder!="undefined"&&new TextEncoder;const HB=typeof TextDecoder!="undefined"?new TextDecoder:null;function mQ(B){const A=B instanceof Uint8Array?B:new Uint8Array(B);return HB?HB.decode(A):Mo(A)}function Mo(B){let A="";for(let I=0;I<B.length;I+=1){const g=B[I];if(g<128){A+=String.fromCharCode(g);continue}if(g>=192&&g<224&&I+1<B.length){const Q=(g&31)<<6|B[++I]&63;A+=String.fromCharCode(Q);continue}if(g>=224&&g<240&&I+2<B.length){const Q=(g&15)<<12|(B[++I]&63)<<6|B[++I]&63;A+=String.fromCharCode(Q);continue}if(g>=240&&g<248&&I+3<B.length){let Q=(g&7)<<18|(B[++I]&63)<<12|(B[++I]&63)<<6|B[++I]&63;Q-=65536,A+=String.fromCharCode(55296+(Q>>10),56320+(Q&1023));continue}A+="�"}return A}var lo=Object.defineProperty,No=(B,A,I)=>A in B?lo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Ug=(B,A,I)=>No(B,typeof A!="symbol"?A+"":A,I);const So=0,ko=1,Uo=2,Yo=5;class oB{constructor(A,I=0,g){Ug(this,"view"),Ug(this,"pos"),Ug(this,"end"),this.view=new DataView(A.buffer,A.byteOffset,A.byteLength),this.pos=I,this.end=I+(g!=null?g:A.byteLength)}get remaining(){return this.end-this.pos}readVarint(){let A=0,I=0;for(;this.pos<this.end;){const g=this.view.getUint8(this.pos++);if(A|=(g&127)<<I,(g&128)===0)return A>>>0;I+=7}return A>>>0}readSignedVarint(){return this.readVarint()|0}readFloat(){const A=this.view.getFloat32(this.pos,!0);return this.pos+=4,A}readDouble(){const A=this.view.getFloat64(this.pos,!0);return this.pos+=8,A}readBytes(){const A=this.readVarint(),I=this.view.byteOffset+this.pos;this.pos+=A;const g=this.view.buffer.slice(I,I+A);return new Uint8Array(g)}readString(){const A=this.readBytes();return mQ(A)}readTag(){if(this.pos>=this.end)return null;const A=this.readVarint();return{field:A>>>3,wire:A&7}}skip(A){switch(A){case So:this.readVarint();break;case ko:this.pos+=8;break;case Uo:this.pos+=this.readVarint();break;case Yo:this.pos+=4;break}}sub(A){const I=new oB(new Uint8Array(this.view.buffer,this.view.byteOffset),this.pos,A);return this.pos+=A,I}}function Ko(B){const A={viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.viewBoxWidth=B.readFloat();break;case 2:A.viewBoxHeight=B.readFloat();break;case 3:A.fps=B.readSignedVarint();break;case 4:A.frames=B.readSignedVarint();break;default:B.skip(I.wire)}}return A}function fo(B){const A={x:0,y:0,width:0,height:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.x=B.readFloat();break;case 2:A.y=B.readFloat();break;case 3:A.width=B.readFloat();break;case 4:A.height=B.readFloat();break;default:B.skip(I.wire)}}return A}function xQ(B){const A={a:1,b:0,c:0,d:1,tx:0,ty:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.a=B.readFloat();break;case 2:A.b=B.readFloat();break;case 3:A.c=B.readFloat();break;case 4:A.d=B.readFloat();break;case 5:A.tx=B.readFloat();break;case 6:A.ty=B.readFloat();break;default:B.skip(I.wire)}}return A}function qB(B){const A={r:0,g:0,b:0,a:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.r=B.readFloat();break;case 2:A.g=B.readFloat();break;case 3:A.b=B.readFloat();break;case 4:A.a=B.readFloat();break;default:B.skip(I.wire)}}return A}function Jo(B){const A={fill:null,stroke:null,strokeWidth:0},I=[];for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:{const Q=B.readVarint();A.fill=qB(B.sub(Q));break}case 2:{const Q=B.readVarint();A.stroke=qB(B.sub(Q));break}case 3:A.strokeWidth=B.readFloat();break;case 4:A.lineCap=B.readVarint();break;case 5:A.lineJoin=B.readVarint();break;case 6:A.miterLimit=B.readFloat();break;case 7:I[0]=B.readFloat();break;case 8:I[1]=B.readFloat();break;case 9:I[2]=B.readFloat();break;default:B.skip(g.wire)}}return I.some(g=>g>0)&&(A.lineDash=I.filter(g=>g>0)),A}function Lo(B){let A="";for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A=B.readString();break;default:B.skip(I.wire)}}return A}function uo(B){const A={x:0,y:0,width:0,height:0,cornerRadius:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.x=B.readFloat();break;case 2:A.y=B.readFloat();break;case 3:A.width=B.readFloat();break;case 4:A.height=B.readFloat();break;case 5:A.cornerRadius=B.readFloat();break;default:B.skip(I.wire)}}return A}function Ho(B){const A={x:0,y:0,radiusX:0,radiusY:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.x=B.readFloat();break;case 2:A.y=B.readFloat();break;case 3:A.radiusX=B.readFloat();break;case 4:A.radiusY=B.readFloat();break;default:B.skip(I.wire)}}return A}function qo(B){let A=0,I="",g,Q,C={fill:null,stroke:null,strokeWidth:0},E={a:1,b:0,c:0,d:1,tx:0,ty:0};for(;B.remaining>0;){const o=B.readTag();if(!o)break;switch(o.field){case 1:A=B.readVarint();break;case 2:{const i=B.readVarint();I=Lo(B.sub(i));break}case 3:{const i=B.readVarint();g=uo(B.sub(i));break}case 4:{const i=B.readVarint();Q=Ho(B.sub(i));break}case 10:{const i=B.readVarint();C=Jo(B.sub(i));break}case 11:{const i=B.readVarint();E=xQ(B.sub(i));break}default:B.skip(o.wire)}}return A===3?{kind:"keep"}:I?{kind:"path",pathData:I,style:C,transform:E}:g?{kind:"rect",rect:g,style:C,transform:E}:Q?{kind:"ellipse",ellipse:Q,style:C,transform:E}:null}function po(B){const A={alpha:0,layout:null,transform:null,clipPath:""},I=[];for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:A.alpha=B.readFloat();break;case 2:{const Q=B.readVarint();A.layout=fo(B.sub(Q));break}case 3:{const Q=B.readVarint();A.transform=xQ(B.sub(Q));break}case 4:A.clipPath=B.readString();break;case 5:{const Q=B.readVarint(),C=qo(B.sub(Q));C&&I.push(C);break}default:B.skip(g.wire)}}return I.length>0&&(A.shapes=I),A}function mo(B){var A;const I={imageKey:"",frames:[]};for(;B.remaining>0;){const Q=B.readTag();if(!Q)break;switch(Q.field){case 1:I.imageKey=B.readString();break;case 2:{const C=B.readVarint();I.frames.push(po(B.sub(C)));break}default:B.skip(Q.wire)}}let g=null;for(const Q of I.frames){const C=Q.shapes;if(!C||C.length===0){Q.shapes=null,g=null;continue}if(((A=C[0])==null?void 0:A.kind)==="keep"){Q.shapes=g;continue}const E=C.filter(o=>o.kind!=="keep");Q.shapes=E.length>0?E:null,g=Q.shapes}return I}function xo(B){const A={audioKey:"",startFrame:0,endFrame:0,startTime:0,totalTime:0};for(;B.remaining>0;){const I=B.readTag();if(!I)break;switch(I.field){case 1:A.audioKey=B.readString();break;case 2:A.startFrame=B.readSignedVarint();break;case 3:A.endFrame=B.readSignedVarint();break;case 4:A.startTime=B.readSignedVarint();break;case 5:A.totalTime=B.readSignedVarint();break;default:B.skip(I.wire)}}return A}function bo(B){let A="",I=new Uint8Array(0);for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:A=B.readString();break;case 2:I=B.readBytes();break;default:B.skip(g.wire)}}return{key:A,value:I}}function jg(B){const A=new oB(B),I=[],g={version:"",params:{viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0},images:new Map,audios:[]};for(;A.remaining>0;){const Q=A.readTag();if(!Q)break;switch(Q.field){case 1:g.version=A.readString();break;case 2:{const C=A.readVarint();g.params=Ko(A.sub(C));break}case 3:{const C=A.readVarint(),{key:E,value:o}=bo(A.sub(C));g.images.set(E,o);break}case 4:{const C=A.readVarint();I.push(mo(A.sub(C)));break}case 5:{const C=A.readVarint();g.audios.push(xo(A.sub(C)));break}default:A.skip(Q.wire)}}return{version:g.version,params:g.params,images:g.images,spriteTable:eQ(I,g.params.frames),audios:g.audios}}function pB(B,A){B.f32(A.r),B.f32(A.g),B.f32(A.b),B.f32(A.a)}function mB(B){return{r:B.f32(),g:B.f32(),b:B.f32(),a:B.f32()}}function To(B,A){var I,g,Q;const C=(g=(I=A.lineDash)==null?void 0:I.filter(o=>o>0))!=null?g:[];let E=0;if(A.fill&&(E|=1),A.stroke&&(E|=2),A.lineCap!==void 0&&(E|=4),A.lineJoin!==void 0&&(E|=8),A.miterLimit!==void 0&&(E|=16),C.length>0&&(E|=32),B.u8(E),A.fill&&pB(B,A.fill),A.stroke&&pB(B,A.stroke),B.f32((Q=A.strokeWidth)!=null?Q:0),A.lineCap!==void 0&&B.i32(A.lineCap),A.lineJoin!==void 0&&B.i32(A.lineJoin),A.miterLimit!==void 0&&B.f32(A.miterLimit),C.length>0){B.u32(C.length);for(const o of C)B.f32(o)}}function Wo(B){const A=B.u8(),I=A&1?mB(B):null,g=A&2?mB(B):null,Q={fill:I,stroke:g,strokeWidth:B.f32()};if(A&4&&(Q.lineCap=B.i32()),A&8&&(Q.lineJoin=B.i32()),A&16&&(Q.miterLimit=B.f32()),A&32){const C=B.u32(),E=[];for(let o=0;o<C;o++)E.push(B.f32());E.length>0&&(Q.lineDash=E)}return Q}async function Zo(B,A,I){var g,Q,C,E;B.u8(A.kind==="path"?0:A.kind==="rect"?1:2),await B.stringCooperative((g=A.pathData)!=null?g:"",I);const o=(Q=A.rect)!=null?Q:{x:0,y:0,width:0,height:0,cornerRadius:0};B.f32(o.x),B.f32(o.y),B.f32(o.width),B.f32(o.height),B.f32((C=o.cornerRadius)!=null?C:0);const i=(E=A.ellipse)!=null?E:{x:0,y:0,radiusX:0,radiusY:0};B.f32(i.x),B.f32(i.y),B.f32(i.radiusX),B.f32(i.radiusY),To(B,A.style),B.f32(A.transform.a),B.f32(A.transform.b),B.f32(A.transform.c),B.f32(A.transform.d),B.f32(A.transform.tx),B.f32(A.transform.ty)}function Vo(B){const A=B.u8();if(A===3)throw new Error("Unexpected shape keep marker in sprite table shapes group");const I=B.string(),g={x:B.f32(),y:B.f32(),width:B.f32(),height:B.f32(),cornerRadius:B.f32()},Q={x:B.f32(),y:B.f32(),radiusX:B.f32(),radiusY:B.f32()},C=Wo(B),E={a:B.f32(),b:B.f32(),c:B.f32(),d:B.f32(),tx:B.f32(),ty:B.f32()};return A===0?{kind:"path",pathData:I,style:C,transform:E}:A===1?{kind:"rect",rect:g,style:C,transform:E}:{kind:"ellipse",ellipse:Q,style:C,transform:E}}async function vo(B,A,I){B.u32(A.spriteCount);for(const g of A.imageKeys)await B.stringCooperative(g,I),await I();B.pad4(),B.u32(A.frameCount),await B.rawBytesCooperative(new Uint8Array(A.frameData.buffer,A.frameData.byteOffset,A.frameData.byteLength),I),B.u32(A.clipPaths.length);for(const g of A.clipPaths)await B.stringCooperative(g,I),await I();B.pad4(),await B.rawBytesCooperative(new Uint8Array(A.clipPathIndex.buffer,A.clipPathIndex.byteOffset,A.clipPathIndex.byteLength),I),B.u32(A.shapesTable.length);for(const g of A.shapesTable){B.u32(g.length);for(const Q of g)await Zo(B,Q,I),await I()}B.pad4(),await B.rawBytesCooperative(new Uint8Array(A.shapesIndex.buffer,A.shapesIndex.byteOffset,A.shapesIndex.byteLength),I),B.u8(A.hasAnyShapes?1:0)}async function bQ(B,A){const I=B.u32(),g=[];for(let w=0;w<I;w++)g.push(B.string()),await A();B.pad4();const Q=B.u32(),C=I*Q*AE;B.pad4();const E=B.position,o=new Float32Array(B.sourceBuffer(),E,C);B.skip(C*4),await A();const i=B.u32(),e=[];for(let w=0;w<i;w++)e.push(B.string()),await A();B.pad4();const t=I*Q,a=B.position,s=new Int32Array(B.sourceBuffer(),a,t);B.skip(t*4),await A();const D=B.u32(),h=[];for(let w=0;w<D;w++){const r=B.u32(),G=[];for(let M=0;M<r;M++)G.push(Vo(B)),await A();h.push(G)}B.pad4();const n=I*Q,c=B.position,F=new Int32Array(B.sourceBuffer(),c,n);return B.skip(n*4),await A(),{spriteCount:I,frameCount:Q,imageKeys:g,frameData:o,clipPaths:e,clipPathIndex:s,shapesTable:h,shapesIndex:F,hasAnyShapes:B.u8()!==0}}var Xo=Object.defineProperty,Oo=(B,A,I)=>A in B?Xo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Yg=(B,A,I)=>Oo(B,typeof A!="symbol"?A+"":A,I);const jo=1397182530,Po=2;function zo(B){return B+3&-4}let _o=class{constructor(A){this.buffer=A,Yg(this,"view"),Yg(this,"bytes"),Yg(this,"offset",0),this.view=new DataView(A),this.bytes=new Uint8Array(A)}get position(){return this.offset}skip(A){this.offset+=A}pad4(){this.offset=zo(this.offset)}u8(){const A=this.view.getUint8(this.offset);return this.offset+=1,A}u16(){const A=this.view.getUint16(this.offset,!0);return this.offset+=2,A}u32(){const A=this.view.getUint32(this.offset,!0);return this.offset+=4,A}i32(){const A=this.view.getInt32(this.offset,!0);return this.offset+=4,A}f32(){const A=this.view.getFloat32(this.offset,!0);return this.offset+=4,A}bytesValue(){const A=this.u32(),I=this.offset;return this.offset+=A,this.bytes.subarray(I,I+A)}bytesRef(){const A=this.u32(),I=this.offset;return this.offset+=A,{offset:I,length:A}}string(){return mQ(this.bytesValue())}sourceBuffer(){return this.buffer}};async function TQ(B,A,I,g){const Q=iA({maxBudgetMs:I}),C=async()=>{K(g,"SVGA payload deserialization aborted"),Q.shouldYield()&&await Q.yield(),K(g,"SVGA payload deserialization aborted")};K(g,"SVGA payload deserialization aborted");const E=new _o(B);if(E.u32()!==jo)throw new Error("Invalid SVGA worker payload magic");if(E.u16()!==Po)throw new Error("Unsupported SVGA worker payload version");E.u16();const o=E.string(),i={viewBoxWidth:E.f32(),viewBoxHeight:E.f32(),fps:E.f32(),frames:E.u32()},e=[],t=E.u32();for(let h=0;h<t;h++)e.push({audioKey:E.string(),startFrame:E.i32(),endFrame:E.i32(),startTime:E.i32(),totalTime:E.i32()}),await C();const a=[],s=E.u32();for(let h=0;h<s;h++){const n=E.string(),c=E.bytesRef();a.push({key:n,offset:c.offset,length:c.length}),await C()}const D=await bQ(E,C);return K(g,"SVGA payload deserialization aborted"),{version:o,params:i,audios:e,spriteTable:D,images:{},imageBlob:E.sourceBuffer(),imageEntries:a,__debug:A}}const WQ=`function iA() {
1411
1412
  return typeof DecompressionStream != "undefined";
1412
1413
  }
1413
1414
  function U() {
@@ -2863,7 +2864,7 @@ z.onmessage = (A) => {
2863
2864
  !I || I.type !== "parse-svga" || gg.push(() => Bg(I));
2864
2865
  };
2865
2866
  //# sourceMappingURL=parser-worker-BN4YjxMF.js.map
2866
- `,HB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",mQ],{type:"text/javascript;charset=utf-8"});function vo(B){let A;try{if(A=HB&&(self.URL||self.webkitURL).createObjectURL(HB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(mQ),{type:"module",name:B==null?void 0:B.name})}}let wI=null,Xo=1;const hA=new Map;function qB(){return typeof performance!="undefined"?performance.now():Date.now()}function XA(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function gg(B,A,I){wI===B&&(wI=null);try{B.terminate()}catch(g){}for(const[g,Q]of hA)Q.owner===B&&(hA.delete(g),XA(Q),Q.reject(I==null||g===I?A:new Error("SVGA parser worker restarted after another request was canceled")))}function Oo(){if(!wI){const B=new vo;wI=B,B.addEventListener("message",A=>{const I=A.data;if(!I||I.type!=="parse-svga-result"||I.id==null)return;const g=hA.get(I.id);if(!(!g||g.owner!==B))if(I.error)hA.delete(I.id),XA(g),g.reject(new Error(I.error));else if(I.result){const Q=I.result;if(Q.buffer&&Object.prototype.toString.call(Q.buffer)==="[object ArrayBuffer]"){const C=Q.debug?qB():0;pQ(Q.buffer,Q.debug,g.mainThreadFrameBudgetMs,g.signal).then(E=>{var o;if(hA.get(I.id)!==g)return;hA.delete(I.id),XA(g);const i=(o=E.__debug)==null?void 0:o.parser;i&&typeof i=="object"&&!Array.isArray(i)&&(i.payloadDeserializeMs=qB()-C),g.resolve(E)},E=>{hA.get(I.id)===g&&(hA.delete(I.id),XA(g),g.reject(E instanceof Error?E:new Error(String(E))))})}else hA.delete(I.id),XA(g),g.resolve(I.result)}else hA.delete(I.id),XA(g),g.reject(new Error("SVGA worker: empty result"))}),B.addEventListener("error",A=>{gg(B,new Error(A.message||"SVGA parser worker error"))}),B.addEventListener("messageerror",()=>{gg(B,new Error("SVGA parser worker message deserialization failed"))})}return wI}function jo(B,A={}){return zg(()=>{Y(A.signal,"SVGA parser worker task aborted");const I=Oo(),g=Xo++;return new Promise((Q,C)=>{var E,o;const i={owner:I,mainThreadFrameBudgetMs:A.mainThreadFrameBudgetMs,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{gg(I,$("SVGA parser worker task aborted"),g)},hA.set(g,i),(E=A.signal)!=null&&E.aborted){i.onAbort();return}(o=A.signal)==null||o.addEventListener("abort",i.onAbort,{once:!0});try{I.postMessage({type:"parse-svga",id:g,data:B,profile:A.profile===!0,workerTimeSliceMs:A.workerTimeSliceMs},[B])}catch(e){gg(I,e instanceof Error?e:new Error(String(e)))}})},A.signal)}function Po(B){var A;const I=new Map;if(B.imageBlob&&B.imageEntries)for(const g of B.imageEntries)I.set(g.key,new Uint8Array(B.imageBlob,g.offset,g.length));else for(const[g,Q]of Object.entries((A=B.images)!=null?A:{}))I.set(g,new Uint8Array(Q));return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:I}}const xQ=`var M = Object.defineProperty, b = (e, t, n) => t in e ? M(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, c = (e, t, n) => b(e, typeof t != "symbol" ? t + "" : t, n);
2867
+ `,xB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",WQ],{type:"text/javascript;charset=utf-8"});function $o(B){let A;try{if(A=xB&&(self.URL||self.webkitURL).createObjectURL(xB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(WQ),{type:"module",name:B==null?void 0:B.name})}}let FI=null,Ae=1;const hA=new Map;function bB(){return typeof performance!="undefined"?performance.now():Date.now()}function XA(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function ig(B,A,I){FI===B&&(FI=null);try{B.terminate()}catch(g){}for(const[g,Q]of hA)Q.owner===B&&(hA.delete(g),XA(Q),Q.reject(I==null||g===I?A:new Error("SVGA parser worker restarted after another request was canceled")))}function Ie(){if(!FI){const B=new $o;FI=B,B.addEventListener("message",A=>{const I=A.data;if(!I||I.type!=="parse-svga-result"||I.id==null)return;const g=hA.get(I.id);if(!(!g||g.owner!==B))if(I.error)hA.delete(I.id),XA(g),g.reject(new Error(I.error));else if(I.result){const Q=I.result;if(Q.buffer&&Object.prototype.toString.call(Q.buffer)==="[object ArrayBuffer]"){const C=Q.debug?bB():0;TQ(Q.buffer,Q.debug,g.mainThreadFrameBudgetMs,g.signal).then(E=>{var o;if(hA.get(I.id)!==g)return;hA.delete(I.id),XA(g);const i=(o=E.__debug)==null?void 0:o.parser;i&&typeof i=="object"&&!Array.isArray(i)&&(i.payloadDeserializeMs=bB()-C),g.resolve(E)},E=>{hA.get(I.id)===g&&(hA.delete(I.id),XA(g),g.reject(E instanceof Error?E:new Error(String(E))))})}else hA.delete(I.id),XA(g),g.resolve(I.result)}else hA.delete(I.id),XA(g),g.reject(new Error("SVGA worker: empty result"))}),B.addEventListener("error",A=>{ig(B,new Error(A.message||"SVGA parser worker error"))}),B.addEventListener("messageerror",()=>{ig(B,new Error("SVGA parser worker message deserialization failed"))})}return FI}function ge(B,A={}){return IB(()=>{K(A.signal,"SVGA parser worker task aborted");const I=Ie(),g=Ae++;return new Promise((Q,C)=>{var E,o;const i={owner:I,mainThreadFrameBudgetMs:A.mainThreadFrameBudgetMs,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{ig(I,AA("SVGA parser worker task aborted"),g)},hA.set(g,i),(E=A.signal)!=null&&E.aborted){i.onAbort();return}(o=A.signal)==null||o.addEventListener("abort",i.onAbort,{once:!0});try{I.postMessage({type:"parse-svga",id:g,data:B,profile:A.profile===!0,workerTimeSliceMs:A.workerTimeSliceMs},[B])}catch(e){ig(I,e instanceof Error?e:new Error(String(e)))}})},A.signal)}function Be(B){var A;const I=new Map;if(B.imageBlob&&B.imageEntries)for(const g of B.imageEntries)I.set(g.key,new Uint8Array(B.imageBlob,g.offset,g.length));else for(const[g,Q]of Object.entries((A=B.images)!=null?A:{}))I.set(g,new Uint8Array(Q));return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:I}}const ZQ=`var M = Object.defineProperty, b = (e, t, n) => t in e ? M(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n, c = (e, t, n) => b(e, typeof t != "symbol" ? t + "" : t, n);
2867
2868
  function o() {
2868
2869
  return typeof performance != "undefined" ? performance.now() : Date.now();
2869
2870
  }
@@ -2945,7 +2946,7 @@ p.onmessage = (e) => {
2945
2946
  !t || t.type !== "decode-batch" || P.push(() => T(t));
2946
2947
  };
2947
2948
  //# sourceMappingURL=svga-image-decode-worker-CQ1mbNml.js.map
2948
- `,pB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",xQ],{type:"text/javascript;charset=utf-8"});function zo(B){let A;try{if(A=pB&&(self.URL||self.webkitURL).createObjectURL(pB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(xQ),{type:"module",name:B==null?void 0:B.name})}}let nI=null,_o=1;const UI=new Map;function bQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function Bg(B,A,I){nI===B&&(nI=null);try{B.terminate()}catch(g){}for(const[g,Q]of UI)Q.owner===B&&(UI.delete(g),bQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA image decode worker restarted after another request was canceled")))}function $o(){if(!nI){const B=new zo;nI=B,B.addEventListener("message",A=>{var I,g;const Q=A.data;if(!Q||Q.type!=="decode-batch-result")return;const C=UI.get(Q.id);if(!C||C.owner!==B){for(const E of(I=Q.results)!=null?I:[])(g=E.bitmap)==null||g.close();return}UI.delete(Q.id),bQ(C),C.resolve(Q)}),B.addEventListener("error",A=>{Bg(B,new Error(A.message||"SVGA image decode worker error"))}),B.addEventListener("messageerror",()=>{Bg(B,new Error("SVGA image decode worker message deserialization failed"))})}return nI}function Ae(){return typeof Worker!="undefined"&&typeof createImageBitmap=="function"}async function Ie(B,A,I){const g=iA({maxBudgetMs:A}),Q=new Uint8Array(B.byteLength),C=64*1024;Y(I,"SVGA image decode aborted");for(let E=0;E<B.byteLength;E+=C){const o=Math.min(E+C,B.byteLength);Q.set(B.subarray(E,o),E),o<B.byteLength&&g.shouldYield()&&await g.yield(),Y(I,"SVGA image decode aborted")}return Q.buffer}async function ge(B,A,I={}){return zg(async()=>{Y(I.signal,"SVGA image decode aborted");const g=$o(),Q=new Map,C=Math.max(1,Math.min(256,Math.floor(A)));try{for(let E=0;E<B.length;E+=C){Y(I.signal,"SVGA image decode aborted");const o=B.slice(E,E+C),i=[],e=[];for(const[s,D]of o){const h=await Ie(D,I.mainThreadFrameBudgetMs,I.signal);i.push({key:s,data:h}),e.push(h)}const a=_o++,t=await new Promise((s,D)=>{var h,w;const r={owner:g,signal:I.signal,resolve:s,reject:D};if(r.onAbort=()=>{Bg(g,$("SVGA image decode aborted"),a)},UI.set(a,r),(h=I.signal)!=null&&h.aborted){r.onAbort();return}(w=I.signal)==null||w.addEventListener("abort",r.onAbort,{once:!0});const F={type:"decode-batch",id:a,items:i,workerTimeSliceMs:I.workerTimeSliceMs,maxConcurrency:I.maxConcurrency};try{g.postMessage(F,e)}catch(n){Bg(g,n instanceof Error?n:new Error(String(n)))}});Y(I.signal,"SVGA image decode aborted");for(const s of t.results)s.bitmap&&Q.set(s.key,s.bitmap)}return Q}catch(E){for(const o of Q.values())o.close();throw E}},I.signal)}const kg=[73,68,51],Be=128,Ug=12,Qe=8,bI=new Map,OI=new WeakMap,TI=new WeakMap;function z(){return typeof performance!="undefined"?performance.now():Date.now()}function mB(B,A){B!==!0||!A.__debug||console.info("[GiftStage:SVGA:Profile]",A.__debug)}function Ce(B,A){return!!(B.startsWith("audio")||A.length>=3&&A[0]===kg[0]&&A[1]===kg[1]&&A[2]===kg[2])}async function Qg(B,A,I){const g=iA({maxBudgetMs:A}),Q=new Uint8Array(B.byteLength),C=64*1024;Y(I,"SVGA parse aborted");for(let E=0;E<B.byteLength;E+=C){const o=Math.min(E+C,B.byteLength);Q.set(B.subarray(E,o),E),o<B.byteLength&&g.shouldYield()&&await g.yield(),Y(I,"SVGA parse aborted")}return Q.buffer}async function Ee(B,A,I){const g=[],Q=new Map,C=iA({maxBudgetMs:A});for(const[E,o]of B.images){if(Y(I,"SVGA image collection aborted"),Ce(E,o)){Q.set(E,await Qg(o,A,I));continue}o.length!==0&&(g.push([E,o]),C.shouldYield()&&await C.yield(),Y(I,"SVGA image collection aborted"))}return{imageEntries:g,audioBlobs:Q}}async function xB(B,A,I,g){const Q=new Map,C=Math.max(2,Math.min(32,Math.floor(A))),E=iA({maxBudgetMs:Math.max(2,I)});try{for(let o=0;o<B.length;o+=C){Y(g,"SVGA image decode aborted");const i=B.slice(o,o+C);await Promise.all(i.map(async([e,a])=>{try{const t=await createImageBitmap(new Blob([new Uint8Array(a)]),{premultiplyAlpha:"none"});if(g!=null&&g.aborted)throw t.close(),$("SVGA image decode aborted");Q.set(e,t)}catch(t){if(uA(t))throw t}})),o+C<B.length&&E.shouldYield()&&await E.yield()}return Q}catch(o){for(const i of Q.values())i.close();throw o}}async function bB(B,A,I){const g=new Map;if(B.length===0)return g;let Q=4;const C=2,E=24,o=iA({maxBudgetMs:Math.max(2,A)});try{for(let i=0;i<B.length;){Y(I,"SVGA image decode aborted");const e=typeof performance!="undefined"?performance.now():0,a=Math.min(i+Q,B.length),t=B.slice(i,a);await Promise.all(t.map(async([h,w])=>{try{const r=await createImageBitmap(new Blob([new Uint8Array(w)]),{premultiplyAlpha:"none"});if(I!=null&&I.aborted)throw r.close(),$("SVGA image decode aborted");g.set(h,r)}catch(r){if(uA(r))throw r}}));const s=o.budgetMs,D=typeof performance!="undefined"?performance.now()-e:s*.5;D<s*.45&&Q<E?Q=Math.min(E,Q+2):D>s*1.4&&Q>C&&(Q=Math.max(C,Q-2)),i=a,i<B.length&&o.shouldYield()&&await o.yield()}return g}catch(i){for(const e of g.values())e.close();throw i}}function ie(B){var A,I,g,Q,C,E,o;const i=(B==null?void 0:B.svgaLoadFrameBudgetMs)==null?(A=B==null?void 0:B.imageDecodeFrameBudgetMs)!=null?A:Ug:Math.min(B.svgaLoadFrameBudgetMs,(I=B.imageDecodeFrameBudgetMs)!=null?I:Ug);return{useImageBitmapDecodeWorker:(B==null?void 0:B.useImageBitmapDecodeWorker)!==!1,imageDecodeWorkerChunkSize:(g=B==null?void 0:B.imageDecodeWorkerChunkSize)!=null?g:Be,imageDecodeAdaptiveOnMainThread:(B==null?void 0:B.imageDecodeAdaptiveOnMainThread)!==!1,imageDecodeFrameBudgetMs:i,imageDecodeFixedBatchSize:(Q=B==null?void 0:B.imageDecodeFixedBatchSize)!=null?Q:Qe,svgaLoadFrameBudgetMs:(C=B==null?void 0:B.svgaLoadFrameBudgetMs)!=null?C:Ug,svgaWorkerFrameBudgetMs:(E=B==null?void 0:B.svgaWorkerFrameBudgetMs)!=null?E:4,svgaWorkerImageDecodeConcurrency:(o=B==null?void 0:B.svgaWorkerImageDecodeConcurrency)!=null?o:2}}async function oe(B,A){var I;const g=ie(A),{imageEntries:Q,audioBlobs:C}=await Ee(B,g.svgaLoadFrameBudgetMs,A==null?void 0:A.signal);let E;if(g.useImageBitmapDecodeWorker&&Ae()&&Q.length>0)try{E=await ge(Q,g.imageDecodeWorkerChunkSize,{workerTimeSliceMs:g.svgaWorkerFrameBudgetMs,maxConcurrency:g.svgaWorkerImageDecodeConcurrency,mainThreadFrameBudgetMs:g.svgaLoadFrameBudgetMs,signal:A==null?void 0:A.signal})}catch(i){if(uA(i))throw i;console.warn("[GiftStage:SVGA] image decode worker failed, using main thread",i),E=g.imageDecodeAdaptiveOnMainThread?await bB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await xB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal)}else E=g.imageDecodeAdaptiveOnMainThread?await bB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await xB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal);if((I=A==null?void 0:A.signal)!=null&&I.aborted){for(const i of E.values())i.close();throw $("SVGA parse aborted")}return{movie:B,imageBitmaps:E,audioBlobs:C}}async function TB(B,A){return oe(Po(B),A)}async function WB(B,A,I){const g={};for(const[Q,C]of B.images)g[Q]=await Qg(C,A,I);return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:g}}function Yg(B,A){return B.consumers++,new Promise((I,g)=>{let Q=!1;const C=o=>{Q||(Q=!0,A==null||A.removeEventListener("abort",E),B.consumers=Math.max(0,B.consumers-1),B.consumers===0&&!B.settled&&B.controller.abort(),o())},E=()=>{C(()=>g($("SVGA parse aborted")))};if(A!=null&&A.aborted){E();return}A==null||A.addEventListener("abort",E,{once:!0}),B.promise.then(o=>C(()=>I(o)),o=>C(()=>g(o)))})}async function TQ(B,A,I,g,Q){if(Y(Q==null?void 0:Q.signal,"SVGA parse aborted"),!A){const e=OI.get(B);if(e)return e;const a=TI.get(B);if(a)return Yg(a,Q==null?void 0:Q.signal)}if(A){const e=AB(A);if(e)return e;const a=bI.get(A);if(a)return Yg(a,Q==null?void 0:Q.signal)}const C=new AbortController,E=C.signal,o=xg(async()=>{var e;if(Y(E,"SVGA parse aborted"),g)try{const n=typeof B=="string"&&I.byteOffset===0&&I.byteLength===I.buffer.byteLength?I.buffer:await Qg(I,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),c=await jo(n,{profile:Q==null?void 0:Q.svgaParseProfile,workerTimeSliceMs:Q==null?void 0:Q.svgaWorkerFrameBudgetMs,mainThreadFrameBudgetMs:Q==null?void 0:Q.svgaLoadFrameBudgetMs,signal:E});return Y(E,"SVGA parse aborted"),mB(Q==null?void 0:Q.svgaParseProfile,c),A?MB(A,c):OI.set(B,c),c}catch(F){if(uA(F))throw F;console.warn("[GiftStage:SVGA] worker parse failed, using main thread",F),I=typeof B=="string"?new Uint8Array(await ZA(B)):new Uint8Array(B)}Y(E,"SVGA parse aborted");const a=Q!=null&&Q.svgaParseProfile?z():0;let t;const s=await wo(I,()=>_A()&&nE(I),Q!=null&&Q.svgaParseProfile?F=>{t=F}:void 0);Y(E,"SVGA parse aborted");let D,h,w,r;if(_A()){const F=Q!=null&&Q.svgaParseProfile?z():0,n=Q!=null&&Q.svgaParseProfile?FE(s):null,c=(e=n==null?void 0:n.payload)!=null?e:cE(s);if(Y(E,"SVGA parse aborted"),c){Q!=null&&Q.svgaParseProfile&&(h={path:"wasmDecodeSVGAPayload",operation:"protobufDecodeAndPayloadBuild",inputBytes:s.byteLength,outputBytes:c.byteLength,totalMs:z()-F,wasm:n==null?void 0:n.profile});const G=Q!=null&&Q.svgaParseProfile?z():0,y=c.byteOffset===0&&c.byteLength===c.buffer.byteLength?c.buffer:await Qg(c,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E);D=await pQ(y,void 0,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(r=z()-G)}else{const G=Q!=null&&Q.svgaParseProfile?z():0;let y=rE(s);if(Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&y)h={path:"wasmDecodeSVGA",operation:"protobufDecodeAndObjectConvert",inputBytes:s.byteLength,totalMs:z()-G,fallbackFrom:["wasmDecodeSVGAPayload-returned-null"]};else{const R=Q!=null&&Q.svgaParseProfile?z():0;y=Vg(s),Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(h={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:z()-R,fallbackFrom:["wasmDecodeSVGAPayload-returned-null","wasmDecodeSVGA-returned-null"]})}const M=Q!=null&&Q.svgaParseProfile?z():0;D=await WB(y,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(w=z()-M)}}else{const F=Q!=null&&Q.svgaParseProfile?z():0,n=Vg(s);Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(h={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:z()-F});const c=Q!=null&&Q.svgaParseProfile?z():0;D=await WB(n,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(w=z()-c)}return Q!=null&&Q.svgaParseProfile&&(D.__debug={parser:{execution:"main",rawBytes:I.byteLength,inflatedBytes:s.byteLength,totalMs:z()-a,inflate:t,protobuf:h,payloadSerializeMs:w,payloadDeserializeMs:r}},mB(!0,D)),Y(E,"SVGA parse aborted"),A?MB(A,D):OI.set(B,D),D}),i={controller:C,consumers:0,settled:!1,promise:null};return i.promise=o.finally(()=>{i.settled=!0,A?bI.get(A)===i&&bI.delete(A):TI.get(B)===i&&TI.delete(B)}),A?bI.set(A,i):TI.set(B,i),Yg(i,Q==null?void 0:Q.signal)}async function ee(B,A){Y(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=AB(g);if(E)return E.params}}else{I=new Uint8Array(B);const E=OI.get(B);if(E)return E.params}const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";return Pg(A==null?void 0:A.svgaWorkerTaskConcurrency),(await TQ(B,g,I,Q,A)).params}async function jI(B,A){Y(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=AB(g);if(E)return xg(async()=>TB(E,A))}}else I=new Uint8Array(B);const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";Pg(A==null?void 0:A.svgaWorkerTaskConcurrency);const C=await TQ(B,g,I,Q,A);return xg(async()=>TB(C,A))}function ae(){return{rects:[],cursorX:0,shelfY:0,shelfH:0,usedW:0,usedH:0}}function ZB(B){return B--,B|=B>>1,B|=B>>2,B|=B>>4,B|=B>>8,B|=B>>16,B+1}function te(B,A,I,g,Q,C){const E=Math.max(1,Q-g),o=Math.min(1,C,E/Math.max(A,I));return{key:B,width:A,height:I,packedWidth:Math.max(1,Math.floor(A*o)),packedHeight:Math.max(1,Math.floor(I*o)),scale:o}}function vg(B,A,I,g,Q){const C=A.packedWidth+g,E=A.packedHeight+g;if(B.cursorX+C<=Q&&B.shelfY+Math.max(B.shelfH,E)<=Q)return B.rects.push({key:A.key,pageIndex:I,x:B.cursorX,y:B.shelfY,w:A.packedWidth,h:A.packedHeight}),B.cursorX+=C,B.shelfH=Math.max(B.shelfH,E),B.usedW=Math.max(B.usedW,B.cursorX),B.usedH=Math.max(B.usedH,B.shelfY+B.shelfH),!0;const o=B.shelfY+B.shelfH;return o+E>Q?!1:(B.shelfY=o,B.shelfH=0,B.cursorX=0,vg(B,A,I,g,Q))}async function dg(B,A,I,g,Q){const C=[];for(const o of B)C.push(te(o.key,o.width,o.height,A,I,g)),await Q();C.sort((o,i)=>i.packedHeight-o.packedHeight||i.packedWidth-o.packedWidth),await Q();const E=[];for(const o of C){let i=!1;for(let e=0;e<E.length;e++){if(vg(E[e],o,e,A,I)){i=!0;break}await Q()}if(!i){const e=ae(),a=E.length;if(!vg(e,o,a,A,I))throw new Error(`SVGA atlas image too large: ${o.key} ${o.width}x${o.height}, max texture size ${I}`);E.push(e)}await Q()}return E}async function VB(B,A,I){const g=[];for(const Q of B)g.push({rects:Q.rects,atlasW:Math.min(A,ZB(Math.max(1,Q.usedW))),atlasH:Math.min(A,ZB(Math.max(1,Q.usedH)))}),await I();return g}async function se(B,A,I){let g=1;for(const Q of B)g=Math.max(g,Q.width,Q.height),await I();return Math.max(1/Math.max(g,A),1e-4)}async function De(B,A,I,g,Q){const C=Math.max(1,Math.floor(g)),E=await dg(B,A,I,1,Q);if(E.length<=C)return VB(E,I,Q);let o=await se(B,I,Q),i=1,e=await dg(B,A,I,o,Q);if(e.length>C)throw new Error(`SVGA atlas needs ${e.length} pages even at minimum scale, max pages ${C}`);for(let a=0;a<16;a++){const t=(o+i)*.5,s=await dg(B,A,I,t,Q);s.length<=C?(e=s,o=t):i=t,await Q()}return VB(e,I,Q)}function he(B,A,I,g,Q,C){if(I.w<=0||I.h<=0||C<=0)return;const E=Math.max(1,Math.floor(C*.5)),o=I.x,i=I.y,e=I.w,a=I.h,t=Math.min(E,o),s=Math.min(E,i),D=Math.min(E,g-(o+e)),h=Math.min(E,Q-(i+a)),w=A.imageSmoothingEnabled;A.imageSmoothingEnabled=!1,t>0&&A.drawImage(B,o,i,1,a,o-t,i,t,a),D>0&&A.drawImage(B,o+e-1,i,1,a,o+e,i,D,a),s>0&&A.drawImage(B,o,i,e,1,o,i-s,e,s),h>0&&A.drawImage(B,o,i+a-1,e,1,o,i+a,e,h),t>0&&s>0&&A.drawImage(B,o,i,1,1,o-t,i-s,t,s),D>0&&s>0&&A.drawImage(B,o+e-1,i,1,1,o+e,i-s,D,s),t>0&&h>0&&A.drawImage(B,o,i+a-1,1,1,o-t,i+a,t,h),D>0&&h>0&&A.drawImage(B,o+e-1,i+a-1,1,1,o+e,i+a,D,h),A.imageSmoothingEnabled=w}const WQ=`function x() {
2949
+ `,TB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",ZQ],{type:"text/javascript;charset=utf-8"});function Qe(B){let A;try{if(A=TB&&(self.URL||self.webkitURL).createObjectURL(TB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(ZQ),{type:"module",name:B==null?void 0:B.name})}}let GI=null,Ce=1;const fI=new Map;function VQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function og(B,A,I){GI===B&&(GI=null);try{B.terminate()}catch(g){}for(const[g,Q]of fI)Q.owner===B&&(fI.delete(g),VQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA image decode worker restarted after another request was canceled")))}function Ee(){if(!GI){const B=new Qe;GI=B,B.addEventListener("message",A=>{var I,g;const Q=A.data;if(!Q||Q.type!=="decode-batch-result")return;const C=fI.get(Q.id);if(!C||C.owner!==B){for(const E of(I=Q.results)!=null?I:[])(g=E.bitmap)==null||g.close();return}fI.delete(Q.id),VQ(C),C.resolve(Q)}),B.addEventListener("error",A=>{og(B,new Error(A.message||"SVGA image decode worker error"))}),B.addEventListener("messageerror",()=>{og(B,new Error("SVGA image decode worker message deserialization failed"))})}return GI}function ie(){return typeof Worker!="undefined"&&typeof createImageBitmap=="function"}async function oe(B,A,I){const g=iA({maxBudgetMs:A}),Q=new Uint8Array(B.byteLength),C=64*1024;K(I,"SVGA image decode aborted");for(let E=0;E<B.byteLength;E+=C){const o=Math.min(E+C,B.byteLength);Q.set(B.subarray(E,o),E),o<B.byteLength&&g.shouldYield()&&await g.yield(),K(I,"SVGA image decode aborted")}return Q.buffer}async function ee(B,A,I={}){return IB(async()=>{K(I.signal,"SVGA image decode aborted");const g=Ee(),Q=new Map,C=Math.max(1,Math.min(256,Math.floor(A)));try{for(let E=0;E<B.length;E+=C){K(I.signal,"SVGA image decode aborted");const o=B.slice(E,E+C),i=[],e=[];for(const[s,D]of o){const h=await oe(D,I.mainThreadFrameBudgetMs,I.signal);i.push({key:s,data:h}),e.push(h)}const t=Ce++,a=await new Promise((s,D)=>{var h,n;const c={owner:g,signal:I.signal,resolve:s,reject:D};if(c.onAbort=()=>{og(g,AA("SVGA image decode aborted"),t)},fI.set(t,c),(h=I.signal)!=null&&h.aborted){c.onAbort();return}(n=I.signal)==null||n.addEventListener("abort",c.onAbort,{once:!0});const F={type:"decode-batch",id:t,items:i,workerTimeSliceMs:I.workerTimeSliceMs,maxConcurrency:I.maxConcurrency};try{g.postMessage(F,e)}catch(w){og(g,w instanceof Error?w:new Error(String(w)))}});K(I.signal,"SVGA image decode aborted");for(const s of a.results)s.bitmap&&Q.set(s.key,s.bitmap)}return Q}catch(E){for(const o of Q.values())o.close();throw E}},I.signal)}const Kg=[73,68,51],te=128,fg=12,ae=8,XI=new Map,Ag=new WeakMap,OI=new WeakMap;function _(){return typeof performance!="undefined"?performance.now():Date.now()}function WB(B,A){B!==!0||!A.__debug||console.info("[GiftStage:SVGA:Profile]",A.__debug)}function se(B,A){return!!(B.startsWith("audio")||A.length>=3&&A[0]===Kg[0]&&A[1]===Kg[1]&&A[2]===Kg[2])}async function eg(B,A,I){const g=iA({maxBudgetMs:A}),Q=new Uint8Array(B.byteLength),C=64*1024;K(I,"SVGA parse aborted");for(let E=0;E<B.byteLength;E+=C){const o=Math.min(E+C,B.byteLength);Q.set(B.subarray(E,o),E),o<B.byteLength&&g.shouldYield()&&await g.yield(),K(I,"SVGA parse aborted")}return Q.buffer}async function De(B,A,I){const g=[],Q=new Map,C=iA({maxBudgetMs:A});for(const[E,o]of B.images){if(K(I,"SVGA image collection aborted"),se(E,o)){Q.set(E,await eg(o,A,I));continue}o.length!==0&&(g.push([E,o]),C.shouldYield()&&await C.yield(),K(I,"SVGA image collection aborted"))}return{imageEntries:g,audioBlobs:Q}}async function ZB(B,A,I,g){const Q=new Map,C=Math.max(2,Math.min(32,Math.floor(A))),E=iA({maxBudgetMs:Math.max(2,I)});try{for(let o=0;o<B.length;o+=C){K(g,"SVGA image decode aborted");const i=B.slice(o,o+C);await Promise.all(i.map(async([e,t])=>{try{const a=await createImageBitmap(new Blob([new Uint8Array(t)]),{premultiplyAlpha:"none"});if(g!=null&&g.aborted)throw a.close(),AA("SVGA image decode aborted");Q.set(e,a)}catch(a){if(qA(a))throw a}})),o+C<B.length&&E.shouldYield()&&await E.yield()}return Q}catch(o){for(const i of Q.values())i.close();throw o}}async function VB(B,A,I){const g=new Map;if(B.length===0)return g;let Q=4;const C=2,E=24,o=iA({maxBudgetMs:Math.max(2,A)});try{for(let i=0;i<B.length;){K(I,"SVGA image decode aborted");const e=typeof performance!="undefined"?performance.now():0,t=Math.min(i+Q,B.length),a=B.slice(i,t);await Promise.all(a.map(async([h,n])=>{try{const c=await createImageBitmap(new Blob([new Uint8Array(n)]),{premultiplyAlpha:"none"});if(I!=null&&I.aborted)throw c.close(),AA("SVGA image decode aborted");g.set(h,c)}catch(c){if(qA(c))throw c}}));const s=o.budgetMs,D=typeof performance!="undefined"?performance.now()-e:s*.5;D<s*.45&&Q<E?Q=Math.min(E,Q+2):D>s*1.4&&Q>C&&(Q=Math.max(C,Q-2)),i=t,i<B.length&&o.shouldYield()&&await o.yield()}return g}catch(i){for(const e of g.values())e.close();throw i}}function he(B){var A,I,g,Q,C,E,o;const i=(B==null?void 0:B.svgaLoadFrameBudgetMs)==null?(A=B==null?void 0:B.imageDecodeFrameBudgetMs)!=null?A:fg:Math.min(B.svgaLoadFrameBudgetMs,(I=B.imageDecodeFrameBudgetMs)!=null?I:fg);return{useImageBitmapDecodeWorker:(B==null?void 0:B.useImageBitmapDecodeWorker)!==!1,imageDecodeWorkerChunkSize:(g=B==null?void 0:B.imageDecodeWorkerChunkSize)!=null?g:te,imageDecodeAdaptiveOnMainThread:(B==null?void 0:B.imageDecodeAdaptiveOnMainThread)!==!1,imageDecodeFrameBudgetMs:i,imageDecodeFixedBatchSize:(Q=B==null?void 0:B.imageDecodeFixedBatchSize)!=null?Q:ae,svgaLoadFrameBudgetMs:(C=B==null?void 0:B.svgaLoadFrameBudgetMs)!=null?C:fg,svgaWorkerFrameBudgetMs:(E=B==null?void 0:B.svgaWorkerFrameBudgetMs)!=null?E:4,svgaWorkerImageDecodeConcurrency:(o=B==null?void 0:B.svgaWorkerImageDecodeConcurrency)!=null?o:2}}async function ne(B,A){var I;const g=he(A),{imageEntries:Q,audioBlobs:C}=await De(B,g.svgaLoadFrameBudgetMs,A==null?void 0:A.signal);let E;if(g.useImageBitmapDecodeWorker&&ie()&&Q.length>0)try{E=await ee(Q,g.imageDecodeWorkerChunkSize,{workerTimeSliceMs:g.svgaWorkerFrameBudgetMs,maxConcurrency:g.svgaWorkerImageDecodeConcurrency,mainThreadFrameBudgetMs:g.svgaLoadFrameBudgetMs,signal:A==null?void 0:A.signal})}catch(i){if(qA(i))throw i;console.warn("[GiftStage:SVGA] image decode worker failed, using main thread",i),E=g.imageDecodeAdaptiveOnMainThread?await VB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await ZB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal)}else E=g.imageDecodeAdaptiveOnMainThread?await VB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await ZB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal);if((I=A==null?void 0:A.signal)!=null&&I.aborted){for(const i of E.values())i.close();throw AA("SVGA parse aborted")}return{movie:B,imageBitmaps:E,audioBlobs:C}}async function vB(B,A){return ne(Be(B),A)}async function XB(B,A,I){const g={};for(const[Q,C]of B.images)g[Q]=await eg(C,A,I);return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:g}}function Jg(B,A){return B.consumers++,new Promise((I,g)=>{let Q=!1;const C=o=>{Q||(Q=!0,A==null||A.removeEventListener("abort",E),B.consumers=Math.max(0,B.consumers-1),B.consumers===0&&!B.settled&&B.controller.abort(),o())},E=()=>{C(()=>g(AA("SVGA parse aborted")))};if(A!=null&&A.aborted){E();return}A==null||A.addEventListener("abort",E,{once:!0}),B.promise.then(o=>C(()=>I(o)),o=>C(()=>g(o)))})}async function vQ(B,A,I,g,Q){if(K(Q==null?void 0:Q.signal,"SVGA parse aborted"),!A){const e=Ag.get(B);if(e)return e;const t=OI.get(B);if(t)return Jg(t,Q==null?void 0:Q.signal)}if(A){const e=CB(A);if(e)return e;const t=XI.get(A);if(t)return Jg(t,Q==null?void 0:Q.signal)}const C=new AbortController,E=C.signal,o=Zg(async()=>{var e;if(K(E,"SVGA parse aborted"),g)try{const w=typeof B=="string"&&I.byteOffset===0&&I.byteLength===I.buffer.byteLength?I.buffer:await eg(I,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),r=await ge(w,{profile:Q==null?void 0:Q.svgaParseProfile,workerTimeSliceMs:Q==null?void 0:Q.svgaWorkerFrameBudgetMs,mainThreadFrameBudgetMs:Q==null?void 0:Q.svgaLoadFrameBudgetMs,signal:E});return K(E,"SVGA parse aborted"),WB(Q==null?void 0:Q.svgaParseProfile,r),A?kB(A,r):Ag.set(B,r),r}catch(F){if(qA(F))throw F;console.warn("[GiftStage:SVGA] worker parse failed, using main thread",F),I=typeof B=="string"?new Uint8Array(await ZA(B)):new Uint8Array(B)}K(E,"SVGA parse aborted");const t=Q!=null&&Q.svgaParseProfile?_():0;let a;const s=await Ro(I,()=>$A()&&RE(I),Q!=null&&Q.svgaParseProfile?F=>{a=F}:void 0);K(E,"SVGA parse aborted");let D,h,n,c;if($A()){const F=Q!=null&&Q.svgaParseProfile?_():0,w=Q!=null&&Q.svgaParseProfile?NE(s):null,r=(e=w==null?void 0:w.payload)!=null?e:lE(s);if(K(E,"SVGA parse aborted"),r){Q!=null&&Q.svgaParseProfile&&(h={path:"wasmDecodeSVGAPayload",operation:"protobufDecodeAndPayloadBuild",inputBytes:s.byteLength,outputBytes:r.byteLength,totalMs:_()-F,wasm:w==null?void 0:w.profile});const G=Q!=null&&Q.svgaParseProfile?_():0,M=r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:await eg(r,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E);D=await TQ(M,void 0,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(c=_()-G)}else{const G=Q!=null&&Q.svgaParseProfile?_():0;let M=ME(s);if(K(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&M)h={path:"wasmDecodeSVGA",operation:"protobufDecodeAndObjectConvert",inputBytes:s.byteLength,totalMs:_()-G,fallbackFrom:["wasmDecodeSVGAPayload-returned-null"]};else{const y=Q!=null&&Q.svgaParseProfile?_():0;M=jg(s),K(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(h={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:_()-y,fallbackFrom:["wasmDecodeSVGAPayload-returned-null","wasmDecodeSVGA-returned-null"]})}const R=Q!=null&&Q.svgaParseProfile?_():0;D=await XB(M,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(n=_()-R)}}else{const F=Q!=null&&Q.svgaParseProfile?_():0,w=jg(s);K(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(h={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:_()-F});const r=Q!=null&&Q.svgaParseProfile?_():0;D=await XB(w,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(n=_()-r)}return Q!=null&&Q.svgaParseProfile&&(D.__debug={parser:{execution:"main",rawBytes:I.byteLength,inflatedBytes:s.byteLength,totalMs:_()-t,inflate:a,protobuf:h,payloadSerializeMs:n,payloadDeserializeMs:c}},WB(!0,D)),K(E,"SVGA parse aborted"),A?kB(A,D):Ag.set(B,D),D}),i={controller:C,consumers:0,settled:!1,promise:null};return i.promise=o.finally(()=>{i.settled=!0,A?XI.get(A)===i&&XI.delete(A):OI.get(B)===i&&OI.delete(B)}),A?XI.set(A,i):OI.set(B,i),Jg(i,Q==null?void 0:Q.signal)}async function we(B,A){K(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),K(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=CB(g);if(E)return E.params}}else{I=new Uint8Array(B);const E=Ag.get(B);if(E)return E.params}const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";return AB(A==null?void 0:A.svgaWorkerTaskConcurrency),(await vQ(B,g,I,Q,A)).params}async function Ig(B,A){K(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),K(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=CB(g);if(E)return Zg(async()=>vB(E,A))}}else I=new Uint8Array(B);const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";AB(A==null?void 0:A.svgaWorkerTaskConcurrency);const C=await vQ(B,g,I,Q,A);return Zg(async()=>vB(C,A))}function re(){return{rects:[],cursorX:0,shelfY:0,shelfH:0,usedW:0,usedH:0}}function OB(B){return B--,B|=B>>1,B|=B>>2,B|=B>>4,B|=B>>8,B|=B>>16,B+1}function ce(B,A,I,g,Q,C){const E=Math.max(1,Q-g),o=Math.min(1,C,E/Math.max(A,I));return{key:B,width:A,height:I,packedWidth:Math.max(1,Math.floor(A*o)),packedHeight:Math.max(1,Math.floor(I*o)),scale:o}}function Pg(B,A,I,g,Q){const C=A.packedWidth+g,E=A.packedHeight+g;if(B.cursorX+C<=Q&&B.shelfY+Math.max(B.shelfH,E)<=Q)return B.rects.push({key:A.key,pageIndex:I,x:B.cursorX,y:B.shelfY,w:A.packedWidth,h:A.packedHeight}),B.cursorX+=C,B.shelfH=Math.max(B.shelfH,E),B.usedW=Math.max(B.usedW,B.cursorX),B.usedH=Math.max(B.usedH,B.shelfY+B.shelfH),!0;const o=B.shelfY+B.shelfH;return o+E>Q?!1:(B.shelfY=o,B.shelfH=0,B.cursorX=0,Pg(B,A,I,g,Q))}async function Lg(B,A,I,g,Q){const C=[];for(const o of B)C.push(ce(o.key,o.width,o.height,A,I,g)),await Q();C.sort((o,i)=>i.packedHeight-o.packedHeight||i.packedWidth-o.packedWidth),await Q();const E=[];for(const o of C){let i=!1;for(let e=0;e<E.length;e++){if(Pg(E[e],o,e,A,I)){i=!0;break}await Q()}if(!i){const e=re(),t=E.length;if(!Pg(e,o,t,A,I))throw new Error(`SVGA atlas image too large: ${o.key} ${o.width}x${o.height}, max texture size ${I}`);E.push(e)}await Q()}return E}async function jB(B,A,I){const g=[];for(const Q of B)g.push({rects:Q.rects,atlasW:Math.min(A,OB(Math.max(1,Q.usedW))),atlasH:Math.min(A,OB(Math.max(1,Q.usedH)))}),await I();return g}async function Fe(B,A,I){let g=1;for(const Q of B)g=Math.max(g,Q.width,Q.height),await I();return Math.max(1/Math.max(g,A),1e-4)}async function Ge(B,A,I,g,Q){const C=Math.max(1,Math.floor(g)),E=await Lg(B,A,I,1,Q);if(E.length<=C)return jB(E,I,Q);let o=await Fe(B,I,Q),i=1,e=await Lg(B,A,I,o,Q);if(e.length>C)throw new Error(`SVGA atlas needs ${e.length} pages even at minimum scale, max pages ${C}`);for(let t=0;t<16;t++){const a=(o+i)*.5,s=await Lg(B,A,I,a,Q);s.length<=C?(e=s,o=a):i=a,await Q()}return jB(e,I,Q)}function ye(B,A,I,g,Q,C){if(I.w<=0||I.h<=0||C<=0)return;const E=Math.max(1,Math.floor(C*.5)),o=I.x,i=I.y,e=I.w,t=I.h,a=Math.min(E,o),s=Math.min(E,i),D=Math.min(E,g-(o+e)),h=Math.min(E,Q-(i+t)),n=A.imageSmoothingEnabled;A.imageSmoothingEnabled=!1,a>0&&A.drawImage(B,o,i,1,t,o-a,i,a,t),D>0&&A.drawImage(B,o+e-1,i,1,t,o+e,i,D,t),s>0&&A.drawImage(B,o,i,e,1,o,i-s,e,s),h>0&&A.drawImage(B,o,i+t-1,e,1,o,i+t,e,h),a>0&&s>0&&A.drawImage(B,o,i,1,1,o-a,i-s,a,s),D>0&&s>0&&A.drawImage(B,o+e-1,i,1,1,o+e,i-s,D,s),a>0&&h>0&&A.drawImage(B,o,i+t-1,1,1,o-a,i+t,a,h),D>0&&h>0&&A.drawImage(B,o+e-1,i+t-1,1,1,o+e,i+t,D,h),A.imageSmoothingEnabled=n}const XQ=`function x() {
2949
2950
  return {
2950
2951
  rects: [],
2951
2952
  cursorX: 0,
@@ -3208,7 +3209,7 @@ m.onmessage = (t) => {
3208
3209
  !e || e.type !== "build-svga-atlas" || Y.push(() => $(e));
3209
3210
  };
3210
3211
  //# sourceMappingURL=svga-atlas-worker-B7n5WXUn.js.map
3211
- `,vB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",WQ],{type:"text/javascript;charset=utf-8"});function we(B){let A;try{if(A=vB&&(self.URL||self.webkitURL).createObjectURL(vB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(WQ),{type:"module",name:B==null?void 0:B.name})}}class LA extends Error{constructor(A,I){super(A,I),this.name="SVGAAtlasWorkerBuildError"}}let rI=null,ne=1;const YI=new Map,cI=new Map;function FI(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function Cg(B,A,I){rI===B&&(rI=null);try{B.terminate()}catch(g){}for(const[g,Q]of YI)Q.owner===B&&(YI.delete(g),FI(Q),Q.releaseGate(),Q.reject(I==null||g===I?A:new LA("SVGA atlas worker restarted after another request was canceled")));for(const[g,Q]of cI)if(Q.owner===B){cI.delete(g),FI(Q),Q.releaseGate();for(const C of Q.resolve)C(null)}}function re(){if(!rI){const B=new we;rI=B,B.addEventListener("message",A=>{var I,g,Q;const C=A.data;if(!C)return;if(C.type==="build-svga-atlas-png-result"){const e=cI.get(C.id);if(!e||e.owner!==B)return;const a=e.resolve[C.pageIndex];if(!a)return;a(C.pngBytes),e.remaining--,e.remaining<=0&&(cI.delete(C.id),FI(e),e.releaseGate());return}if(C.type!=="build-svga-atlas-result")return;const E=YI.get(C.id);if(!E||E.owner!==B){for(const e of(I=C.pages)!=null?I:[])e.bitmap.close();return}if(YI.delete(C.id),C.error){FI(E),E.releaseGate(),E.reject(new LA(C.error));return}const o=(g=C.pages)!=null?g:[];let i;if(E.captureEncodedPng&&o.length>0){const e=[];i=o.map(()=>new Promise(a=>{e.push(a)})),cI.set(C.id,{owner:B,remaining:o.length,releaseGate:E.releaseGate,signal:E.signal,onAbort:E.onAbort,resolve:e})}else FI(E),E.releaseGate();E.resolve({pages:o.map((e,a)=>({...e,pngBytesPromise:i==null?void 0:i[a]})),rects:(Q=C.rects)!=null?Q:[]})}),B.addEventListener("error",A=>{Cg(B,new LA(A.message||"SVGA atlas worker error"))}),B.addEventListener("messageerror",()=>{Cg(B,new LA("SVGA atlas worker message deserialization failed"))})}return rI}function ZQ(){return typeof Worker!="undefined"&&BQ()&&typeof OffscreenCanvas.prototype.transferToImageBitmap=="function"}async function ce(B,A){if(!ZQ())return Promise.reject(new Error("SVGA atlas worker unavailable"));const I=await zE(A.signal);try{Y(A.signal,"SVGA atlas worker task aborted");const g=[],Q=[];for(const[o,i]of B)g.push(o),Q.push(i);let C;try{C=re()}catch(o){throw I(),new LA("SVGA atlas worker creation failed",{cause:o})}const E=ne++;return await new Promise((o,i)=>{var e,a;const t={owner:C,captureEncodedPng:A.captureEncodedPng,releaseGate:I,signal:A.signal,resolve:o,reject:i};if(t.onAbort=()=>{Cg(C,new LA("SVGA atlas worker task aborted",{cause:$("SVGA atlas worker task aborted")}),E)},YI.set(E,t),(e=A.signal)!=null&&e.aborted){t.onAbort();return}(a=A.signal)==null||a.addEventListener("abort",t.onAbort,{once:!0});try{C.postMessage({type:"build-svga-atlas",id:E,keys:g,bitmaps:Q,maxSize:A.maxSize,padding:A.padding,maxPages:A.maxPages,captureEncodedPng:A.captureEncodedPng,workerTimeSliceMs:A.workerTimeSliceMs},Q)}catch(s){Cg(C,new LA("SVGA atlas worker postMessage failed",{cause:s}))}})}catch(g){throw I(),g}}function Fe(B,A){if(BQ())return new OffscreenCanvas(B,A);if(typeof document=="undefined")throw new Error("Atlas compose needs OffscreenCanvas or DOM (document)");const I=document.createElement("canvas");return I.width=B,I.height=A,I}function Ge(B){return B.getContext("2d")}async function Re(B){if(typeof OffscreenCanvas!="undefined"&&B instanceof OffscreenCanvas){if(typeof B.convertToBlob=="function")try{return await(await B.convertToBlob({type:"image/png"})).arrayBuffer()}catch(I){return null}return null}const A=B;return new Promise(I=>{try{A.toBlob(g=>{if(!g){I(null);return}g.arrayBuffer().then(I).catch(()=>I(null))},"image/png")}catch(g){I(null)}})}function VQ(B,A){const I=B.map(C=>C.textureHandle),g=B.map(C=>C.encodedPngBytesPromise).filter(C=>!!C),Q=B[0];return{textureHandle:Q.textureHandle,textureHandles:I,pages:B,rects:A,atlasWidth:Q.atlasWidth,atlasHeight:Q.atlasHeight,encodedPngBytesPromise:Q.encodedPngBytesPromise,encodedPngBytesPromises:g.length>0?g:void 0}}async function ye(B,A,I,g,Q){var C;const E=iA({maxBudgetMs:Q==null?void 0:Q.mainThreadFrameBudgetMs}),o=async()=>{Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted"),E.shouldYield()&&await E.yield(),Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted")};Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const i=[];for(const[s,D]of B)i.push({key:s,width:D.width,height:D.height}),await o();const e=await De(i,g,I,(C=Q==null?void 0:Q.maxPages)!=null?C:4,o);if(e.length===0)throw new Error("No atlas pages built");const a=new Map,t=[];try{for(let s=0;s<e.length;s++){Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const D=e[s],h=Fe(D.atlasW,D.atlasH),w=Ge(h);if(!w)throw new Error("Atlas: 2d context unavailable");w.clearRect(0,0,D.atlasW,D.atlasH);for(let n=0;n<D.rects.length;n++){const c=D.rects[n],G=B.get(c.key);w.drawImage(G,c.x,c.y,c.w,c.h),he(h,w,c,D.atlasW,D.atlasH,g),n+1<D.rects.length&&E.shouldYield()&&await E.yield(),Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted")}const r=(Q==null?void 0:Q.captureEncodedPng)===!0?Re(h):void 0;Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const F=A.createTexture(h,{width:D.atlasW,height:D.atlasH,filter:"linear",premultiplyAlpha:!0});for(const n of D.rects)a.set(n.key,{x:n.x/D.atlasW,y:n.y/D.atlasH,w:n.w/D.atlasW,h:n.h/D.atlasH,textureIndex:s});t.push({textureHandle:F,atlasWidth:D.atlasW,atlasHeight:D.atlasH,encodedPngBytesPromise:r})}}catch(s){for(const D of t)A.deleteTexture(D.textureHandle);throw s}return VQ(t,a)}async function Me(B,A,I,g,Q){var C;const E=await ce(B,{maxSize:I,padding:g,maxPages:(C=Q==null?void 0:Q.maxPages)!=null?C:4,captureEncodedPng:(Q==null?void 0:Q.captureEncodedPng)===!0,workerTimeSliceMs:Q==null?void 0:Q.workerTimeSliceMs,signal:Q==null?void 0:Q.signal}),o=new Map;for(const a of E.rects)o.set(a.key,{x:a.x,y:a.y,w:a.w,h:a.h,textureIndex:a.textureIndex});const i=[],e=iA({maxBudgetMs:Q==null?void 0:Q.mainThreadFrameBudgetMs});try{for(let a=0;a<E.pages.length;a++){Y(Q==null?void 0:Q.signal,"SVGA atlas upload aborted");const t=E.pages[a],s=A.createTexture(t.bitmap,{width:t.width,height:t.height,filter:"linear",premultiplyAlpha:!0});try{t.bitmap.close()}catch(D){}i.push({textureHandle:s,atlasWidth:t.width,atlasHeight:t.height,encodedPngBytesPromise:(Q==null?void 0:Q.captureEncodedPng)===!0?t.pngBytesPromise:void 0}),a+1<E.pages.length&&e.shouldYield()&&await e.yield(),Y(Q==null?void 0:Q.signal,"SVGA atlas upload aborted")}}catch(a){for(const t of E.pages)try{t.bitmap.close()}catch(s){}for(const t of i)A.deleteTexture(t.textureHandle);throw a}return VQ(i,o)}async function vQ(B,A,I=4096,g=2,Q){var C;if(B.size===0)throw new Error("No images to build atlas from");const E=Math.max(64,Math.min(I,(C=A.maxTextureSize)!=null?C:I));return(Q==null?void 0:Q.useWorker)!==!1&&ZQ()?Me(B,A,E,g,Q):ye(B,A,E,g,Q)}function Ne(B){return B}function le(B){return B*B}function Se(B){return B*(2-B)}function ke(B){return B<.5?2*B*B:-1+(4-2*B)*B}function XQ(B){const A=B-1;return A*A*A+1}function Ue(B){return B<.5?4*B*B*B:(B-1)*(2*B-2)*(2*B-2)+1}function Ye(B){return 1+2.70158*Math.pow(B-1,3)+1.70158*Math.pow(B-1,2)}let WI=null;function OQ(){return WI||(WI=Promise.resolve().then(()=>require("./mp4box.all-DH-U-29f.cjs")).catch(B=>{throw WI=null,B})),WI}const de=800;function Ke(B){return B.startsWith("avc1")||B.startsWith("avc3")}function Je(B){const A=new Uint8Array(B);if(A.byteLength<8)return B;const I=A[4],g=A[5],Q=A[6],C=A[7];return I===97&&g===118&&Q===99&&C===67?B.slice(8):B}async function fe(B){const A=B.avcC;if(!A)return;const{DataStream:I}=await OQ(),g=new I;A.write(g);const Q=g.byteLength;if(Q<=0)return;const C=g.buffer.slice(0,Q);return Je(C)}async function Le(B){const{createFile:A}=await OQ();return new Promise((I,g)=>{const Q=A(),C=B.slice(0);C.fileStart=0,Q.onError=E=>{g(new Error(`mp4box: ${E}`))},Q.onReady=E=>{var o,i,e,a,t,s,D;const h=(o=E.videoTracks)==null?void 0:o[0];if(!h){g(new Error("mp4box: no video track"));return}if(!Ke(h.codec)){g(new Error(`mp4box: unsupported video codec ${h.codec}`));return}if(h.nb_samples>de){g(new Error(`mp4box: too many samples (${h.nb_samples})`));return}const w=[];Q.onSamples=(F,n,c)=>{w.push(...c)},Q.setExtractionOptions(h.id,null,{nbSamples:Math.max(h.nb_samples,1)}),Q.start();const r=h.timescale>0?h.duration/h.timescale:E.duration/(E.timescale||1);if(w.length===0){g(new Error("mp4box: extraction produced no samples"));return}I({codec:h.codec,timescale:h.timescale,durationSec:Number.isFinite(r)?r:0,videoWidth:(a=(e=(i=h.video)==null?void 0:i.width)!=null?e:h.track_width)!=null?a:0,videoHeight:(D=(s=(t=h.video)==null?void 0:t.height)!=null?s:h.track_height)!=null?D:0,samples:w})},Q.appendBuffer(C),Q.flush()})}const XB=25e3;async function ue(B,A,I){const g=performance.now();let Q=0;for(;B.decodeQueueSize>0;)if(await new Promise(C=>queueMicrotask(C)),Q++,Q%120===0&&await new Promise(C=>setTimeout(C,0)),performance.now()-g>I){console.warn("[GiftStage:WC] decodeQueue drain gave up",{label:A,decodeQueueSize:B.decodeQueueSize,spins:Q});break}}async function He(B,A){console.info("[GiftStage:WC] VideoDecoder.flush…",A);try{await Promise.race([B.flush(),new Promise((I,g)=>{setTimeout(()=>g(new Error(`VideoDecoder.flush() timed out after ${XB}ms (${JSON.stringify(A)})`)),XB)})])}catch(I){try{B.close()}catch(g){}throw I}}async function qe(B,A,I,g){var Q,C;if(I.length===0)return{frames:[],timesSec:new Float64Array(0)};const E=[...I].sort((h,w)=>{var r,F,n,c;const G=((F=(r=h.dts)!=null?r:h.cts)!=null?F:0)-((c=(n=w.dts)!=null?n:w.cts)!=null?c:0);return G!==0?G:0}),o=[],i=new VideoDecoder({output:h=>{o.push(h)},error:h=>{throw h}}),e=await me(B,A);i.configure(e);let a=0;for(const h of E){const w=h.data;if(!w||w.byteLength===0)continue;const r=(C=(Q=h.cts)!=null?Q:h.dts)!=null?C:0,F=Math.round(r/g*1e6),n=h.duration&&g>0?Math.round(h.duration/g*1e6):void 0,c=new Uint8Array(w.byteLength);c.set(w);const G=new EncodedVideoChunk({type:h.is_sync?"key":"delta",timestamp:F,duration:n,data:c});try{i.decode(G)}catch(y){console.error("[GiftStage:WC] decoder.decode failed",{chunkIndex:a,err:y});try{i.close()}catch(M){}throw y}a++,await new Promise(y=>queueMicrotask(y))}await ue(i,"after last decode",1e4);const t=i.decodeQueueSize,s=o.length;await He(i,{chunksDecoded:a,outputsBeforeFlush:s,queueBeforeFlush:t}),i.close(),o.sort((h,w)=>h.timestamp-w.timestamp);const D=Float64Array.from(o.map(h=>h.timestamp/1e6));if(o.length===0)throw new Error("WebCodecs: decoder produced no frames");return{frames:o,timesSec:D}}function Kg(B,A,I){if(B.length===0)return 0;const g=B.length;if(I<=B[0])return 0;const Q=B[g-1];if(I>=A||I>=Q)return g-1;let C=0,E=g-1;for(;C+1<E;){const o=C+E>>>1;B[o]<=I?C=o:E=o}return C}function pe(B,A,I){if(I.length===0)return 1e-6;const g=I.length-1,Q=I[g],C=A.length>g?A[g]:0;let E=0;Q.duration!=null&&Number.isFinite(Q.duration)&&Q.duration>0?E=Q.duration/1e6:A.length>=2?E=A[g]-A[g-1]:E=1/30;const o=C+E;let i=B>0?B:o;if(!(i>0)&&A.length>=2){const e=(A[A.length-1]-A[0])/(A.length-1);i=A[A.length-1]+(e>0?e:1/30)}return i>0||(i=Math.max(o,1/30)),i}async function me(B,A){var I;const g={codec:B,hardwareAcceleration:"prefer-software",...A&&A.byteLength>0?{description:A}:{}};let Q=await VideoDecoder.isConfigSupported(g),C=g;if(!Q.supported){const E={codec:B,...A&&A.byteLength>0?{description:A}:{}};if(Q=await VideoDecoder.isConfigSupported(E),!Q.supported)throw new Error(`WebCodecs: unsupported config ${B}`);C=E}return(I=Q.config)!=null?I:C}function xe(B){return new Worker(""+(typeof document=="undefined"?require("url").pathToFileURL(__dirname+"/assets/webcodecs-mp4.worker-BvV8Fiyc.js").href:new URL("assets/webcodecs-mp4.worker-BvV8Fiyc.js",document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href),{type:"module",name:B==null?void 0:B.name})}var be=Object.defineProperty,Te=(B,A,I)=>A in B?be(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,O=(B,A,I)=>Te(B,typeof A!="symbol"?A+"":A,I);const We=28,Ze=8;class Ve{constructor(A){O(this,"maxSize"),O(this,"map",new Map),O(this,"playbackHint",0),this.maxSize=Math.max(4,A)}setPlaybackHint(A){Number.isFinite(A)&&A>=0&&(this.playbackHint=A)}minKey(){let A;for(const I of this.map.keys())(A===void 0||I<A)&&(A=I);return A}set(A,I){const g=this.map.get(A);if(g&&g!==I)try{g.close()}catch(Q){}this.map.set(A,I),this.evictDownToCapacity()}evictDownToCapacity(){var A;const I=Math.max(4,Math.floor(this.maxSize*.35)),g=Math.max(4,this.maxSize-I-2);for(;this.map.size>this.maxSize;){const Q=this.playbackHint;let C,E,o,i=-1;for(const a of this.map.keys()){a<Q-I&&(C===void 0||a<C)&&(C=a),a>Q+g&&(E===void 0||a>E)&&(E=a);const t=Math.abs(a-Q);t>=i&&(i=t,o=a)}const e=(A=C!=null?C:E)!=null?A:o;if(e===void 0)return;this.closeKey(e)}}closeKey(A){const I=this.map.get(A);this.map.delete(A);try{I==null||I.close()}catch(g){}}bestAtOrBefore(A){let I=-1;for(const g of this.map.keys())g<=A&&g>I&&(I=g);return I<0?null:this.map.get(I)}frameForDisplay(A){var I;let g=-1,Q=Number.POSITIVE_INFINITY,C=-1;for(const o of this.map.keys())o<=A&&o>g&&(g=o),o>=A&&o<Q&&(Q=o),o>C&&(C=o);const E=g>=0?g:Number.isFinite(Q)?Q:C;return E>=0&&(I=this.map.get(E))!=null?I:null}clear(){for(const A of this.map.values())try{A.close()}catch(I){}this.map.clear()}get size(){return this.map.size}}function OB(B,A,I){return new Promise((g,Q)=>{const C=performance.now(),E=()=>{try{if(B()){g();return}if(performance.now()-C>A){Q(new Error(`WebCodecs: timeout waiting for ${I}`));return}setTimeout(E,0)}catch(o){Q(o instanceof Error?o:new Error(String(o)))}};setTimeout(E,0)})}let ve=1;class WA{constructor(A,I,g,Q,C,E,o,i,e,a,t){O(this,"duration"),O(this,"videoWidth"),O(this,"videoHeight"),O(this,"timesSec"),O(this,"worker"),O(this,"workerMsgId"),O(this,"streaming"),O(this,"ring"),O(this,"frames"),O(this,"maxDecodedFrames"),O(this,"decodeAheadFrames"),O(this,"lastWrapped",-1),O(this,"lastEnsureNeedIdx",-1),O(this,"lastEnsureFreeSlots",-1),O(this,"destroyed",!1),this.duration=A,this.videoWidth=I,this.videoHeight=g,this.timesSec=Q,this.worker=C,this.workerMsgId=E,this.streaming=o,this.ring=i,this.frames=e,this.maxDecodedFrames=a,this.decodeAheadFrames=t}static async create(A,I,g){var Q,C;if(typeof VideoDecoder=="undefined")throw new Error("WebCodecs VideoDecoder not available");const E=(g==null?void 0:g.useWorker)!==!1,o=(Q=g==null?void 0:g.maxDecodedFrames)!=null?Q:We,i=(C=g==null?void 0:g.decodeAheadFrames)!=null?C:Ze;let e;if(typeof A=="string"?e=await Xe(A,I):e=A,E&&typeof Worker!="undefined"){const a=e.slice(0);try{return await WA.createViaWorker(a,o,i)}catch(t){console.warn("[GiftStage:WC] Worker decode failed, falling back to main thread",t)}}return WA.createOnMainThread(e,o,i)}static async createViaWorker(A,I,g){const Q=new xe,C=ve++,E=new Ve(I);let o=0,i=0,e=0,a=new Float64Array(0),t=!1,s=null;const D=n=>{const c=n.data;if(!(!c||c.id!==C)){if(c.type==="meta"){o=c.duration,i=c.videoWidth,e=c.videoHeight;const G=c.timesSec;a=new Float64Array(G.buffer,G.byteOffset,G.length),t=!0;return}if(c.type==="frame"){E.set(c.index,c.frame);return}c.type!=="eos"&&c.type==="error"&&(s=new Error(c.message))}},h=n=>{s=new Error(n.message||"Worker error")};Q.addEventListener("message",D),Q.addEventListener("error",h);const w=A;Q.postMessage({type:"init",id:C,buffer:w,maxDecodedFrames:I,decodeAheadFrames:g},[w]);try{if(await OB(()=>t||s!=null,6e4,"meta"),s)throw s;const n=o>0?o:1e-6,c=Kg(a,n,0);if(await OB(()=>s!=null||E.bestAtOrBefore(c)!=null,6e4,"first frame"),s)throw s}catch(n){throw Q.removeEventListener("message",D),Q.removeEventListener("error",h),Q.terminate(),E.clear(),n instanceof Error?n:new Error(String(n))}const r=a.length>0?a[0]:0,F=a.length>0?a[a.length-1]:0;return console.info(`[GiftStage:WC] worker streaming ready frames=${a.length} duration=${o.toFixed(4)}s size=${i}x${e} times=[${r.toFixed(4)} … ${F.toFixed(4)}] ring=${I}`),new WA(o,i,e,a,Q,C,!0,E,null,I,g)}static async createOnMainThread(A,I,g){console.info("[GiftStage:WC] mp4box demux (main thread)…");const Q=await Le(A);if(Q.samples.length===0)throw new Error("mp4box: no samples");const E=Q.samples[0].description,o=E?await fe(E):void 0;console.info("[GiftStage:WC] VideoDecoder decode (main thread)…");const{frames:i,timesSec:e}=await qe(Q.codec,o,Q.samples,Q.timescale),a=i[i.length-1],t=pe(Q.durationSec,e,i),s=Q.videoWidth||a.displayWidth||a.codedWidth||0,D=Q.videoHeight||a.displayHeight||a.codedHeight||0,h=e.length>0?e[0]:0,w=e.length>0?e[e.length-1]:0;return console.info(`[GiftStage:WC] main decode ok frames=${i.length} duration=${t.toFixed(4)}s size=${s}x${D} times=[${h.toFixed(4)} … ${w.toFixed(4)}]`),new WA(t,s,D,e,null,0,!1,null,i,I,g)}ensureDecodedThrough(A){var I,g,Q,C,E;if(this.destroyed||!this.streaming||!this.worker)return;const o=this.duration>0?this.duration:1e-6;if(!Number.isFinite(A)||!Number.isFinite(o))return;const i=(A%o+o)%o;if(this.lastWrapped>=0&&i<this.lastWrapped-.001&&this.lastWrapped>o*.1&&((I=this.ring)==null||I.clear(),this.lastEnsureNeedIdx=-1,this.lastEnsureFreeSlots=-1,this.worker.postMessage({type:"rewind",id:this.workerMsgId})),this.lastWrapped=i,this.timesSec.length===0)return;const e=Kg(this.timesSec,o,i);(g=this.ring)==null||g.setPlaybackHint(e);const a=(Q=this.ring)==null?void 0:Q.minKey(),t=Math.max(4,this.decodeAheadFrames);this.ring&&a!==void 0&&a>e+t&&(this.ring.clear(),this.lastEnsureNeedIdx=-1,this.lastEnsureFreeSlots=-1,this.worker.postMessage({type:"rewind",id:this.workerMsgId}));const s=Math.min(this.timesSec.length-1,Math.max(0,e+Math.max(0,this.decodeAheadFrames))),D=Math.max(0,this.maxDecodedFrames-((E=(C=this.ring)==null?void 0:C.size)!=null?E:0));s===this.lastEnsureNeedIdx&&D===this.lastEnsureFreeSlots||(this.lastEnsureNeedIdx=s,this.lastEnsureFreeSlots=D,this.worker.postMessage({type:"ensure",id:this.workerMsgId,needIdx:s,freeSlots:D}))}getFrameForTime(A){var I,g,Q;if(this.timesSec.length===0)return null;const C=this.duration>0?this.duration:1e-6;if(!Number.isFinite(A)||!Number.isFinite(C))return console.warn("[GiftStage:WC] getFrameForTime bad input",{tSec:A,clip:C,frames:this.timesSec.length}),this.streaming&&this.ring?this.ring.frameForDisplay(0):(g=(I=this.frames)==null?void 0:I[0])!=null?g:null;const E=(A%C+C)%C,o=Kg(this.timesSec,C,E);if(this.streaming&&this.ring){this.ring.setPlaybackHint(o);const e=this.ring.frameForDisplay(o);return e||console.warn("[GiftStage:WC] getFrameForTime no frame in ring",{idx:o,wrapped:E,clip:C}),e}const i=(Q=this.frames)==null?void 0:Q[o];return i||console.warn("[GiftStage:WC] getFrameForTime missing frame at index",{idx:o,wrapped:E,clip:C}),i!=null?i:null}destroy(){var A;if(!this.destroyed){if(this.destroyed=!0,this.worker){try{this.worker.postMessage({type:"destroy",id:this.workerMsgId})}catch(I){}try{this.worker.terminate()}catch(I){}}if((A=this.ring)==null||A.clear(),this.frames){for(const I of this.frames)try{I==null||I.close()}catch(g){}this.frames.length=0}}}}async function Xe(B,A){return ZA(B,A)}function jB(B,A,I,g,Q){const C=Math.max(1,Math.floor(A)),E=Math.max(1,Math.floor(I)),o=Math.max(1,B.width*B.scale),i=Math.max(1,B.height*B.scale);let e;const a=wA(B);if(a==="contain"||a==="cover"){let t,s;if(g==="alphaVideo")t=C*.5,s=E;else{if(!Q)return e=Math.min(1,o/C,i/E),Jg(C,E,e);({w:t,h:s}=TA(Q.info))}if(!(t>0)||!(s>0))return e=Math.min(1,o/C,i/E),Jg(C,E,e);const D=a==="cover"?Math.max(o/t,i/s):Math.min(o/t,i/s);e=Math.min(1,D)}else e=Math.min(1,o/C,i/E);return Jg(C,E,e)}function Jg(B,A,I){const g=Math.max(1,Math.min(B,Math.ceil(B*I))),Q=Math.max(1,Math.min(A,Math.ceil(A*I)));return{w:g,h:Q}}var Oe=Object.defineProperty,je=(B,A,I)=>A in B?Oe(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,oA=(B,A,I)=>je(B,typeof A!="symbol"?A+"":A,I);const dI=9;function Pe(B,A){if(typeof document=="undefined"||typeof document.createElement!="function")throw new Error("VAP mixed rendering requires DOM canvas support");const I=document.createElement("canvas");return I.width=Math.max(1,Math.round(B)),I.height=Math.max(1,Math.round(A)),I}function Eg(B,A,I,g,Q,C){return[B/Q,(B+I)/Q,(C-A-g)/C,(C-A)/C]}function PB(B,A,I){const g=B.createShader(A);if(!g)throw new Error("Failed to create VAP mix shader");if(B.shaderSource(g,I),B.compileShader(g),!B.getShaderParameter(g,B.COMPILE_STATUS)){const Q=B.getShaderInfoLog(g)||"unknown shader compile error";throw B.deleteShader(g),new Error(`Failed to compile VAP mix shader: ${Q}`)}return g}function ze(B,A,I){const g=PB(B,B.VERTEX_SHADER,A),Q=PB(B,B.FRAGMENT_SHADER,I),C=B.createProgram();if(!C)throw B.deleteShader(g),B.deleteShader(Q),new Error("Failed to create VAP mix program");if(B.attachShader(C,g),B.attachShader(C,Q),B.linkProgram(C),!B.getProgramParameter(C,B.LINK_STATUS)){const E=B.getProgramInfoLog(C)||"unknown program link error";throw B.deleteProgram(C),B.deleteShader(g),B.deleteShader(Q),new Error(`Failed to link VAP mix program: ${E}`)}return B.useProgram(C),{program:C,vertexShader:g,fragmentShader:Q}}function zB(B,A,I,g=!1){const Q=B.createTexture();if(!Q)throw new Error("Failed to create VAP mix texture");return B.activeTexture(B.TEXTURE0+A),B.bindTexture(B.TEXTURE_2D,Q),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),I?(B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,g?1:0),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,I),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,0)):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,1,1,0,B.RGBA,B.UNSIGNED_BYTE,null),Q}function _e(B){const[A,I,g,Q]=B.rgbFrame,[C,E,o,i]=B.aFrame,e=Eg(A,I,g,Q,B.videoW,B.videoH),a=Eg(C,E,o,i,B.videoW,B.videoH);return new Float32Array([-1,1,e[0],e[3],a[0],a[3],1,1,e[1],e[3],a[1],a[3],-1,-1,e[0],e[2],a[0],a[2],1,-1,e[1],e[2],a[1],a[2]])}function $e(B,A,I){const g=Math.max(1,A)*dI,Q=[],C=[],E=I?"texture":"texture2D";for(let i=0;i<B;i++)Q.push(`uniform sampler2D u_image${i+1};`),C.push(`if (ndx == ${i+1}) { color = ${E}(u_image${i+1}, uv); }`);const o=I?"fragColor":"gl_FragColor";return`${I?"#version 300 es":""}
3212
+ `,PB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",XQ],{type:"text/javascript;charset=utf-8"});function Re(B){let A;try{if(A=PB&&(self.URL||self.webkitURL).createObjectURL(PB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(XQ),{type:"module",name:B==null?void 0:B.name})}}class HA extends Error{constructor(A,I){super(A,I),this.name="SVGAAtlasWorkerBuildError"}}let yI=null,Me=1;const JI=new Map,RI=new Map;function MI(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function tg(B,A,I){yI===B&&(yI=null);try{B.terminate()}catch(g){}for(const[g,Q]of JI)Q.owner===B&&(JI.delete(g),MI(Q),Q.releaseGate(),Q.reject(I==null||g===I?A:new HA("SVGA atlas worker restarted after another request was canceled")));for(const[g,Q]of RI)if(Q.owner===B){RI.delete(g),MI(Q),Q.releaseGate();for(const C of Q.resolve)C(null)}}function le(){if(!yI){const B=new Re;yI=B,B.addEventListener("message",A=>{var I,g,Q;const C=A.data;if(!C)return;if(C.type==="build-svga-atlas-png-result"){const e=RI.get(C.id);if(!e||e.owner!==B)return;const t=e.resolve[C.pageIndex];if(!t)return;t(C.pngBytes),e.remaining--,e.remaining<=0&&(RI.delete(C.id),MI(e),e.releaseGate());return}if(C.type!=="build-svga-atlas-result")return;const E=JI.get(C.id);if(!E||E.owner!==B){for(const e of(I=C.pages)!=null?I:[])e.bitmap.close();return}if(JI.delete(C.id),C.error){MI(E),E.releaseGate(),E.reject(new HA(C.error));return}const o=(g=C.pages)!=null?g:[];let i;if(E.captureEncodedPng&&o.length>0){const e=[];i=o.map(()=>new Promise(t=>{e.push(t)})),RI.set(C.id,{owner:B,remaining:o.length,releaseGate:E.releaseGate,signal:E.signal,onAbort:E.onAbort,resolve:e})}else MI(E),E.releaseGate();E.resolve({pages:o.map((e,t)=>({...e,pngBytesPromise:i==null?void 0:i[t]})),rects:(Q=C.rects)!=null?Q:[]})}),B.addEventListener("error",A=>{tg(B,new HA(A.message||"SVGA atlas worker error"))}),B.addEventListener("messageerror",()=>{tg(B,new HA("SVGA atlas worker message deserialization failed"))})}return yI}function OQ(){return typeof Worker!="undefined"&&iQ()&&typeof OffscreenCanvas.prototype.transferToImageBitmap=="function"}async function Ne(B,A){if(!OQ())return Promise.reject(new Error("SVGA atlas worker unavailable"));const I=await Bi(A.signal);try{K(A.signal,"SVGA atlas worker task aborted");const g=[],Q=[];for(const[o,i]of B)g.push(o),Q.push(i);let C;try{C=le()}catch(o){throw I(),new HA("SVGA atlas worker creation failed",{cause:o})}const E=Me++;return await new Promise((o,i)=>{var e,t;const a={owner:C,captureEncodedPng:A.captureEncodedPng,releaseGate:I,signal:A.signal,resolve:o,reject:i};if(a.onAbort=()=>{tg(C,new HA("SVGA atlas worker task aborted",{cause:AA("SVGA atlas worker task aborted")}),E)},JI.set(E,a),(e=A.signal)!=null&&e.aborted){a.onAbort();return}(t=A.signal)==null||t.addEventListener("abort",a.onAbort,{once:!0});try{C.postMessage({type:"build-svga-atlas",id:E,keys:g,bitmaps:Q,maxSize:A.maxSize,padding:A.padding,maxPages:A.maxPages,captureEncodedPng:A.captureEncodedPng,workerTimeSliceMs:A.workerTimeSliceMs},Q)}catch(s){tg(C,new HA("SVGA atlas worker postMessage failed",{cause:s}))}})}catch(g){throw I(),g}}function Se(B,A){if(iQ())return new OffscreenCanvas(B,A);if(typeof document=="undefined")throw new Error("Atlas compose needs OffscreenCanvas or DOM (document)");const I=document.createElement("canvas");return I.width=B,I.height=A,I}function ke(B){return B.getContext("2d")}async function de(B){if(typeof OffscreenCanvas!="undefined"&&B instanceof OffscreenCanvas){if(typeof B.convertToBlob=="function")try{return await(await B.convertToBlob({type:"image/png"})).arrayBuffer()}catch(I){return null}return null}const A=B;return new Promise(I=>{try{A.toBlob(g=>{if(!g){I(null);return}g.arrayBuffer().then(I).catch(()=>I(null))},"image/png")}catch(g){I(null)}})}function jQ(B,A){const I=B.map(C=>C.textureHandle),g=B.map(C=>C.encodedPngBytesPromise).filter(C=>!!C),Q=B[0];return{textureHandle:Q.textureHandle,textureHandles:I,pages:B,rects:A,atlasWidth:Q.atlasWidth,atlasHeight:Q.atlasHeight,encodedPngBytesPromise:Q.encodedPngBytesPromise,encodedPngBytesPromises:g.length>0?g:void 0}}async function Ue(B,A,I,g,Q){var C;const E=iA({maxBudgetMs:Q==null?void 0:Q.mainThreadFrameBudgetMs}),o=async()=>{K(Q==null?void 0:Q.signal,"SVGA atlas build aborted"),E.shouldYield()&&await E.yield(),K(Q==null?void 0:Q.signal,"SVGA atlas build aborted")};K(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const i=[];for(const[s,D]of B)i.push({key:s,width:D.width,height:D.height}),await o();const e=await Ge(i,g,I,(C=Q==null?void 0:Q.maxPages)!=null?C:4,o);if(e.length===0)throw new Error("No atlas pages built");const t=new Map,a=[];try{for(let s=0;s<e.length;s++){K(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const D=e[s],h=Se(D.atlasW,D.atlasH),n=ke(h);if(!n)throw new Error("Atlas: 2d context unavailable");n.clearRect(0,0,D.atlasW,D.atlasH);for(let w=0;w<D.rects.length;w++){const r=D.rects[w],G=B.get(r.key);n.drawImage(G,r.x,r.y,r.w,r.h),ye(h,n,r,D.atlasW,D.atlasH,g),w+1<D.rects.length&&E.shouldYield()&&await E.yield(),K(Q==null?void 0:Q.signal,"SVGA atlas build aborted")}const c=(Q==null?void 0:Q.captureEncodedPng)===!0?de(h):void 0;K(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const F=A.createTexture(h,{width:D.atlasW,height:D.atlasH,filter:"linear",premultiplyAlpha:!0});for(const w of D.rects)t.set(w.key,{x:w.x/D.atlasW,y:w.y/D.atlasH,w:w.w/D.atlasW,h:w.h/D.atlasH,textureIndex:s});a.push({textureHandle:F,atlasWidth:D.atlasW,atlasHeight:D.atlasH,encodedPngBytesPromise:c})}}catch(s){for(const D of a)A.deleteTexture(D.textureHandle);throw s}return jQ(a,t)}async function Ye(B,A,I,g,Q){var C;const E=await Ne(B,{maxSize:I,padding:g,maxPages:(C=Q==null?void 0:Q.maxPages)!=null?C:4,captureEncodedPng:(Q==null?void 0:Q.captureEncodedPng)===!0,workerTimeSliceMs:Q==null?void 0:Q.workerTimeSliceMs,signal:Q==null?void 0:Q.signal}),o=new Map;for(const t of E.rects)o.set(t.key,{x:t.x,y:t.y,w:t.w,h:t.h,textureIndex:t.textureIndex});const i=[],e=iA({maxBudgetMs:Q==null?void 0:Q.mainThreadFrameBudgetMs});try{for(let t=0;t<E.pages.length;t++){K(Q==null?void 0:Q.signal,"SVGA atlas upload aborted");const a=E.pages[t],s=A.createTexture(a.bitmap,{width:a.width,height:a.height,filter:"linear",premultiplyAlpha:!0});try{a.bitmap.close()}catch(D){}i.push({textureHandle:s,atlasWidth:a.width,atlasHeight:a.height,encodedPngBytesPromise:(Q==null?void 0:Q.captureEncodedPng)===!0?a.pngBytesPromise:void 0}),t+1<E.pages.length&&e.shouldYield()&&await e.yield(),K(Q==null?void 0:Q.signal,"SVGA atlas upload aborted")}}catch(t){for(const a of E.pages)try{a.bitmap.close()}catch(s){}for(const a of i)A.deleteTexture(a.textureHandle);throw t}return jQ(i,o)}async function PQ(B,A,I=4096,g=2,Q){var C;if(B.size===0)throw new Error("No images to build atlas from");const E=Math.max(64,Math.min(I,(C=A.maxTextureSize)!=null?C:I));return(Q==null?void 0:Q.useWorker)!==!1&&OQ()?Ye(B,A,E,g,Q):Ue(B,A,E,g,Q)}function Ke(B){return B}function fe(B){return B*B}function Je(B){return B*(2-B)}function Le(B){return B<.5?2*B*B:-1+(4-2*B)*B}function zQ(B){const A=B-1;return A*A*A+1}function ue(B){return B<.5?4*B*B*B:(B-1)*(2*B-2)*(2*B-2)+1}function He(B){return 1+2.70158*Math.pow(B-1,3)+1.70158*Math.pow(B-1,2)}let jI=null;function _Q(){return jI||(jI=Promise.resolve().then(()=>require("./mp4box.all-DH-U-29f.cjs")).catch(B=>{throw jI=null,B})),jI}var qe=Object.defineProperty,pe=(B,A,I)=>A in B?qe(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,tA=(B,A,I)=>pe(B,typeof A!="symbol"?A+"":A,I);const me=800;function xe(B){return B.startsWith("avc1")||B.startsWith("avc3")}function be(B){const A=new Uint8Array(B);if(A.byteLength<8)return B;const I=A[4],g=A[5],Q=A[6],C=A[7];return I===97&&g===118&&Q===99&&C===67?B.slice(8):B}async function Te(B){const A=B.avcC;if(!A)return;const{DataStream:I}=await _Q(),g=new I;A.write(g);const Q=g.byteLength;if(Q<=0)return;const C=g.buffer.slice(0,Q);return be(C)}async function We(B){const{createFile:A}=await _Q();return new Promise((I,g)=>{const Q=A(),C=B.slice(0);C.fileStart=0,Q.onError=E=>{g(new Error(`mp4box: ${E}`))},Q.onReady=E=>{var o,i,e,t,a,s,D;const h=(o=E.videoTracks)==null?void 0:o[0];if(!h){g(new Error("mp4box: no video track"));return}if(!xe(h.codec)){g(new Error(`mp4box: unsupported video codec ${h.codec}`));return}if(h.nb_samples>me){g(new Error(`mp4box: too many samples (${h.nb_samples})`));return}const n=[];Q.onSamples=(F,w,r)=>{n.push(...r)},Q.setExtractionOptions(h.id,null,{nbSamples:Math.max(h.nb_samples,1)}),Q.start();const c=h.timescale>0?h.duration/h.timescale:E.duration/(E.timescale||1);if(n.length===0){g(new Error("mp4box: extraction produced no samples"));return}I({codec:h.codec,timescale:h.timescale,durationSec:Number.isFinite(c)?c:0,videoWidth:(t=(e=(i=h.video)==null?void 0:i.width)!=null?e:h.track_width)!=null?t:0,videoHeight:(D=(s=(a=h.video)==null?void 0:a.height)!=null?s:h.track_height)!=null?D:0,samples:n})},Q.appendBuffer(C),Q.flush()})}const zB=25e3;async function Ze(B,A,I){const g=performance.now();let Q=0;for(;B.decodeQueueSize>0;)if(await new Promise(C=>queueMicrotask(C)),Q++,Q%120===0&&await new Promise(C=>setTimeout(C,0)),performance.now()-g>I){console.warn("[GiftStage:WC] decodeQueue drain gave up",{label:A,decodeQueueSize:B.decodeQueueSize,spins:Q});break}}async function Ve(B,A){console.info("[GiftStage:WC] VideoDecoder.flush…",A);try{await Promise.race([B.flush(),new Promise((I,g)=>{setTimeout(()=>g(new Error(`VideoDecoder.flush() timed out after ${zB}ms (${JSON.stringify(A)})`)),zB)})])}catch(I){try{B.close()}catch(g){}throw I}}class ve{constructor(A,I,g,Q,C,E,o,i){this.decodeOrder=A,this.presTimes=I,this.timescale=g,this.codec=Q,this.description=C,this.duration=E,this.callbacks=o,tA(this,"decoder",null),tA(this,"nextChunk",0),tA(this,"chunksFed",0),tA(this,"targetNeedIdx"),tA(this,"lastPostedMax",-1),tA(this,"minPosted",Number.POSITIVE_INFINITY),tA(this,"playbackNeedFloor"),tA(this,"freeSlots",Number.POSITIVE_INFINITY),tA(this,"eosClosed",!1),tA(this,"pumpScheduled",!1),tA(this,"pumping",!1),tA(this,"destroyed",!1),this.targetNeedIdx=i,this.playbackNeedFloor=jA(I,E,0),this.schedulePump()}ensure(A,I){this.destroyed||(this.targetNeedIdx=Math.max(this.targetNeedIdx,A),this.freeSlots=Math.max(0,I),this.schedulePump())}rewind(){this.destroyed||this.doRewind()}destroy(){if(this.destroyed=!0,this.decoder&&this.decoder.state!=="closed")try{this.decoder.close()}catch(A){}this.decoder=null}schedulePump(){this.pumpScheduled||this.destroyed||(this.pumpScheduled=!0,queueMicrotask(()=>{this.pumpScheduled=!1,this.runPump()}))}async doRewind(){if(this.decoder&&this.decoder.state!=="closed")try{this.decoder.close()}catch(I){}this.decoder=null,this.nextChunk=ze(this.decodeOrder),this.chunksFed=0,this.lastPostedMax=-1,this.minPosted=Number.POSITIVE_INFINITY,this.eosClosed=!1;const A=jA(this.presTimes,this.duration,0);this.playbackNeedFloor=A,this.targetNeedIdx=Math.max(this.targetNeedIdx,Math.min(this.presTimes.length-1,Math.max(0,A))),this.freeSlots=Number.POSITIVE_INFINITY,this.schedulePump()}async openDecoder(){if(this.decoder&&this.decoder.state!=="closed")return;const A=await _e(this.codec,this.description),I=new VideoDecoder({output:g=>{if(this.destroyed){try{g.close()}catch(C){}return}const Q=Pe(this.presTimes,g.timestamp);this.lastPostedMax=Math.max(this.lastPostedMax,Q),this.minPosted=Math.min(this.minPosted,Q),this.callbacks.onFrame(Q,g)},error:g=>{this.callbacks.onError?this.callbacks.onError(g):console.error("[GiftStage:WC] IncrementalH264Decoder VideoDecoder error",g)}});I.configure(A),this.decoder=I}feedOneChunk(){var A,I;const g=this.decoder,Q=this.nextChunk;if(Q>=this.decodeOrder.length)return;const C=this.decodeOrder[Q];this.nextChunk=Q+1;const E=C.data;if(!E||E.byteLength===0)return;const o=(I=(A=C.cts)!=null?A:C.dts)!=null?I:0,i=Math.round(o/this.timescale*1e6),e=C.duration&&this.timescale>0?Math.round(C.duration/this.timescale*1e6):void 0,t=new Uint8Array(E.byteLength);t.set(E);const a=new EncodedVideoChunk({type:C.is_sync?"key":"delta",timestamp:i,duration:e,data:t});g.decode(a),this.chunksFed++}async finalizeEos(){var A,I;if(!this.decoder||this.eosClosed)return;const g=this.decoder;await Ze(g,"before flush",1e4);const Q=g.decodeQueueSize;await Ve(g,{chunksDecoded:this.chunksFed,outputsBeforeFlush:this.lastPostedMax+1,queueBeforeFlush:Q});try{g.close()}catch(C){}this.decoder=null,this.eosClosed=!0,(I=(A=this.callbacks).onEos)==null||I.call(A)}async runPump(){if(!(this.destroyed||this.pumping)){this.pumping=!0;try{for(;!this.destroyed;){if(this.eosClosed)return;const A=this.nextChunk<this.decodeOrder.length,I=Number.isFinite(this.minPosted)&&this.minPosted<=this.playbackNeedFloor,g=Number.isFinite(this.freeSlots)?Math.min(this.targetNeedIdx,this.lastPostedMax+Math.max(1,this.freeSlots)):this.targetNeedIdx,Q=this.lastPostedMax<g||!I;if(!A&&!this.eosClosed){await this.finalizeEos();continue}if(!Q)return;await this.openDecoder(),this.feedOneChunk(),this.chunksFed%4===0&&await new Promise(C=>setTimeout(C,0))}}finally{this.pumping=!1}}}}function jA(B,A,I){if(B.length===0)return 0;const g=B.length;if(I<=B[0])return 0;const Q=B[g-1];if(I>=A||I>=Q)return g-1;let C=0,E=g-1;for(;C+1<E;){const o=C+E>>>1;B[o]<=I?C=o:E=o}return C}function Xe(B,A){if(A.length===0)return 1e-6;const I=A.length,g=I-1,Q=A[g],C=I>=2?A[g]-A[g-1]:1/30,E=Q+C;let o=B>0?B:E;if(!(o>0)&&I>=2){const i=(A[I-1]-A[0])/(I-1);o=A[I-1]+(i>0?i:1/30)}return o>0||(o=Math.max(E,1/30)),o}function Oe(B,A){var I,g;if(B.length===0)return new Float64Array(0);const Q=B.map((E,o)=>o);Q.sort((E,o)=>{var i,e,t,a;const s=B[E],D=B[o],h=(e=(i=s.cts)!=null?i:s.dts)!=null?e:0,n=(a=(t=D.cts)!=null?t:D.dts)!=null?a:0;return h!==n?h-n:E-o});const C=new Float64Array(Q.length);for(let E=0;E<Q.length;E++){const o=B[Q[E]];C[E]=((g=(I=o.cts)!=null?I:o.dts)!=null?g:0)/A}return C}function je(B){return[...B].sort((A,I)=>{var g,Q,C,E;const o=((Q=(g=A.dts)!=null?g:A.cts)!=null?Q:0)-((E=(C=I.dts)!=null?C:I.cts)!=null?E:0);return o!==0?o:0})}function Pe(B,A){if(B.length===0)return 0;const I=A/1e6;let g=0,Q=1/0;for(let C=0;C<B.length;C++){const E=Math.abs(B[C]-I);E<Q&&(Q=E,g=C)}return g}function ze(B){for(let A=0;A<B.length;A++)if(B[A].is_sync)return A;return 0}async function _e(B,A){var I;const g={codec:B,hardwareAcceleration:"prefer-software",...A&&A.byteLength>0?{description:A}:{}};let Q=await VideoDecoder.isConfigSupported(g),C=g;if(!Q.supported){const E={codec:B,...A&&A.byteLength>0?{description:A}:{}};if(Q=await VideoDecoder.isConfigSupported(E),!Q.supported)throw new Error(`WebCodecs: unsupported config ${B}`);C=E}return(I=Q.config)!=null?I:C}function $e(B){return new Worker(""+(typeof document=="undefined"?require("url").pathToFileURL(__dirname+"/assets/webcodecs-mp4.worker-CDhalNDE.js").href:new URL("assets/webcodecs-mp4.worker-CDhalNDE.js",document.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&document.currentScript.src||document.baseURI).href),{type:"module",name:B==null?void 0:B.name})}var At=Object.defineProperty,It=(B,A,I)=>A in B?At(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,O=(B,A,I)=>It(B,typeof A!="symbol"?A+"":A,I);const gt=28,Bt=8;class _B{constructor(A){O(this,"maxSize"),O(this,"map",new Map),O(this,"playbackHint",0),this.maxSize=Math.max(4,A)}setPlaybackHint(A){Number.isFinite(A)&&A>=0&&(this.playbackHint=A)}minKey(){let A;for(const I of this.map.keys())(A===void 0||I<A)&&(A=I);return A}set(A,I){const g=this.map.get(A);if(g&&g!==I)try{g.close()}catch(Q){}this.map.set(A,I),this.evictDownToCapacity()}evictDownToCapacity(){var A;const I=Math.max(4,Math.floor(this.maxSize*.35)),g=Math.max(4,this.maxSize-I-2);for(;this.map.size>this.maxSize;){const Q=this.playbackHint;let C,E,o,i=-1;for(const t of this.map.keys()){t<Q-I&&(C===void 0||t<C)&&(C=t),t>Q+g&&(E===void 0||t>E)&&(E=t);const a=Math.abs(t-Q);a>=i&&(i=a,o=t)}const e=(A=C!=null?C:E)!=null?A:o;if(e===void 0)return;this.closeKey(e)}}closeKey(A){const I=this.map.get(A);this.map.delete(A);try{I==null||I.close()}catch(g){}}bestAtOrBefore(A){let I=-1;for(const g of this.map.keys())g<=A&&g>I&&(I=g);return I<0?null:this.map.get(I)}frameForDisplay(A){var I;let g=-1,Q=Number.POSITIVE_INFINITY,C=-1;for(const o of this.map.keys())o<=A&&o>g&&(g=o),o>=A&&o<Q&&(Q=o),o>C&&(C=o);const E=g>=0?g:Number.isFinite(Q)?Q:C;return E>=0&&(I=this.map.get(E))!=null?I:null}clear(){for(const A of this.map.values())try{A.close()}catch(I){}this.map.clear()}get size(){return this.map.size}}function ug(B,A,I){return new Promise((g,Q)=>{const C=performance.now(),E=()=>{try{if(B()){g();return}if(performance.now()-C>A){Q(new Error(`WebCodecs: timeout waiting for ${I}`));return}setTimeout(E,0)}catch(o){Q(o instanceof Error?o:new Error(String(o)))}};setTimeout(E,0)})}let Qt=1;class WA{constructor(A,I,g,Q,C,E,o,i,e,t,a,s=null){O(this,"duration"),O(this,"videoWidth"),O(this,"videoHeight"),O(this,"timesSec"),O(this,"worker"),O(this,"workerMsgId"),O(this,"mainThreadDecoder"),O(this,"streaming"),O(this,"ring"),O(this,"frames"),O(this,"maxDecodedFrames"),O(this,"decodeAheadFrames"),O(this,"lastWrapped",-1),O(this,"lastEnsureNeedIdx",-1),O(this,"lastEnsureFreeSlots",-1),O(this,"destroyed",!1),this.duration=A,this.videoWidth=I,this.videoHeight=g,this.timesSec=Q,this.worker=C,this.workerMsgId=E,this.streaming=o,this.ring=i,this.frames=e,this.maxDecodedFrames=t,this.decodeAheadFrames=a,this.mainThreadDecoder=s}static async create(A,I,g){var Q,C;if(typeof VideoDecoder=="undefined")throw new Error("WebCodecs VideoDecoder not available");const E=(g==null?void 0:g.useWorker)!==!1,o=(Q=g==null?void 0:g.maxDecodedFrames)!=null?Q:gt,i=(C=g==null?void 0:g.decodeAheadFrames)!=null?C:Bt;let e;if(typeof A=="string"?e=await Ct(A,I):e=A,E&&typeof Worker!="undefined"){const t=e.slice(0);try{return await WA.createViaWorker(t,o,i)}catch(a){console.warn("[GiftStage:WC] Worker decode failed, falling back to main thread",a)}}return WA.createOnMainThread(e,o,i)}static async createViaWorker(A,I,g){const Q=new $e,C=Qt++,E=new _B(I);let o=0,i=0,e=0,t=new Float64Array(0),a=!1,s=null;const D=w=>{const r=w.data;if(!(!r||r.id!==C)){if(r.type==="meta"){o=r.duration,i=r.videoWidth,e=r.videoHeight;const G=r.timesSec;t=new Float64Array(G.buffer,G.byteOffset,G.length),a=!0;return}if(r.type==="frame"){E.set(r.index,r.frame);return}r.type!=="eos"&&r.type==="error"&&(s=new Error(r.message))}},h=w=>{s=new Error(w.message||"Worker error")};Q.addEventListener("message",D),Q.addEventListener("error",h);const n=A;Q.postMessage({type:"init",id:C,buffer:n,maxDecodedFrames:I,decodeAheadFrames:g},[n]);try{if(await ug(()=>a||s!=null,6e4,"meta"),s)throw s;const w=o>0?o:1e-6,r=jA(t,w,0);if(await ug(()=>s!=null||E.bestAtOrBefore(r)!=null,6e4,"first frame"),s)throw s}catch(w){throw Q.removeEventListener("message",D),Q.removeEventListener("error",h),Q.terminate(),E.clear(),w instanceof Error?w:new Error(String(w))}const c=t.length>0?t[0]:0,F=t.length>0?t[t.length-1]:0;return console.info(`[GiftStage:WC] worker streaming ready frames=${t.length} duration=${o.toFixed(4)}s size=${i}x${e} times=[${c.toFixed(4)} … ${F.toFixed(4)}] ring=${I}`),new WA(o,i,e,t,Q,C,!0,E,null,I,g)}static async createOnMainThread(A,I,g){console.info("[GiftStage:WC] mp4box demux (main thread)…");const Q=await We(A);if(Q.samples.length===0)throw new Error("mp4box: no samples");const E=Q.samples[0].description,o=E?await Te(E):void 0,i=je(Q.samples),e=Oe(Q.samples,Q.timescale),t=Xe(Q.durationSec,e),a=Q.videoWidth||0,s=Q.videoHeight||0,D=new _B(I);let h=null;console.info("[GiftStage:WC] VideoDecoder incremental decode (main thread)…");const n=jA(e,t,0),c=Math.min(e.length-1,Math.max(0,n+Math.max(0,g))),F=new ve(i,e,Q.timescale,Q.codec,o,t,{onFrame:(G,M)=>D.set(G,M),onError:G=>{h=G instanceof Error?G:new Error(String(G))}},c);try{if(await ug(()=>h!=null||D.bestAtOrBefore(n)!=null,6e4,"first frame (main thread)"),h)throw h}catch(G){throw F.destroy(),D.clear(),G instanceof Error?G:new Error(String(G))}const w=e.length>0?e[0]:0,r=e.length>0?e[e.length-1]:0;return console.info(`[GiftStage:WC] main incremental decode ready frames=${e.length} duration=${t.toFixed(4)}s size=${a}x${s} times=[${w.toFixed(4)} … ${r.toFixed(4)}] ring=${I}`),new WA(t,a,s,e,null,0,!0,D,null,I,g,F)}sendRewind(){var A;this.worker?this.worker.postMessage({type:"rewind",id:this.workerMsgId}):(A=this.mainThreadDecoder)==null||A.rewind()}sendEnsure(A,I){var g;this.worker?this.worker.postMessage({type:"ensure",id:this.workerMsgId,needIdx:A,freeSlots:I}):(g=this.mainThreadDecoder)==null||g.ensure(A,I)}ensureDecodedThrough(A){var I,g,Q,C,E;if(this.destroyed||!this.streaming||!this.worker&&!this.mainThreadDecoder)return;const o=this.duration>0?this.duration:1e-6;if(!Number.isFinite(A)||!Number.isFinite(o))return;const i=(A%o+o)%o;if(this.lastWrapped>=0&&i<this.lastWrapped-.001&&this.lastWrapped>o*.1&&((I=this.ring)==null||I.clear(),this.lastEnsureNeedIdx=-1,this.lastEnsureFreeSlots=-1,this.sendRewind()),this.lastWrapped=i,this.timesSec.length===0)return;const e=jA(this.timesSec,o,i);(g=this.ring)==null||g.setPlaybackHint(e);const t=(Q=this.ring)==null?void 0:Q.minKey(),a=Math.max(4,this.decodeAheadFrames);this.ring&&t!==void 0&&t>e+a&&(this.ring.clear(),this.lastEnsureNeedIdx=-1,this.lastEnsureFreeSlots=-1,this.sendRewind());const s=Math.min(this.timesSec.length-1,Math.max(0,e+Math.max(0,this.decodeAheadFrames))),D=Math.max(0,this.maxDecodedFrames-((E=(C=this.ring)==null?void 0:C.size)!=null?E:0));s===this.lastEnsureNeedIdx&&D===this.lastEnsureFreeSlots||(this.lastEnsureNeedIdx=s,this.lastEnsureFreeSlots=D,this.sendEnsure(s,D))}getFrameForTime(A){var I,g,Q;if(this.timesSec.length===0)return null;const C=this.duration>0?this.duration:1e-6;if(!Number.isFinite(A)||!Number.isFinite(C))return console.warn("[GiftStage:WC] getFrameForTime bad input",{tSec:A,clip:C,frames:this.timesSec.length}),this.streaming&&this.ring?this.ring.frameForDisplay(0):(g=(I=this.frames)==null?void 0:I[0])!=null?g:null;const E=(A%C+C)%C,o=jA(this.timesSec,C,E);if(this.streaming&&this.ring){this.ring.setPlaybackHint(o);const e=this.ring.frameForDisplay(o);return e||console.warn("[GiftStage:WC] getFrameForTime no frame in ring",{idx:o,wrapped:E,clip:C}),e}const i=(Q=this.frames)==null?void 0:Q[o];return i||console.warn("[GiftStage:WC] getFrameForTime missing frame at index",{idx:o,wrapped:E,clip:C}),i!=null?i:null}destroy(){var A,I;if(!this.destroyed){if(this.destroyed=!0,this.worker){try{this.worker.postMessage({type:"destroy",id:this.workerMsgId})}catch(g){}try{this.worker.terminate()}catch(g){}}if((A=this.mainThreadDecoder)==null||A.destroy(),(I=this.ring)==null||I.clear(),this.frames){for(const g of this.frames)try{g==null||g.close()}catch(Q){}this.frames.length=0}}}}async function Ct(B,A){return ZA(B,A)}function $B(B,A,I,g,Q){const C=Math.max(1,Math.floor(A)),E=Math.max(1,Math.floor(I)),o=Math.max(1,B.width*B.scale),i=Math.max(1,B.height*B.scale);let e;const t=nA(B);if(t==="contain"||t==="cover"){let a,s;if(g==="alphaVideo")a=C*.5,s=E;else{if(!Q)return e=Math.min(1,o/C,i/E),Hg(C,E,e);({w:a,h:s}=TA(Q.info))}if(!(a>0)||!(s>0))return e=Math.min(1,o/C,i/E),Hg(C,E,e);const D=t==="cover"?Math.max(o/a,i/s):Math.min(o/a,i/s);e=Math.min(1,D)}else e=Math.min(1,o/C,i/E);return Hg(C,E,e)}function Hg(B,A,I){const g=Math.max(1,Math.min(B,Math.ceil(B*I))),Q=Math.max(1,Math.min(A,Math.ceil(A*I)));return{w:g,h:Q}}var Et=Object.defineProperty,it=(B,A,I)=>A in B?Et(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,oA=(B,A,I)=>it(B,typeof A!="symbol"?A+"":A,I);const LI=9;function ot(B,A){if(typeof document=="undefined"||typeof document.createElement!="function")throw new Error("VAP mixed rendering requires DOM canvas support");const I=document.createElement("canvas");return I.width=Math.max(1,Math.round(B)),I.height=Math.max(1,Math.round(A)),I}function ag(B,A,I,g,Q,C){return[B/Q,(B+I)/Q,(C-A-g)/C,(C-A)/C]}function AQ(B,A,I){const g=B.createShader(A);if(!g)throw new Error("Failed to create VAP mix shader");if(B.shaderSource(g,I),B.compileShader(g),!B.getShaderParameter(g,B.COMPILE_STATUS)){const Q=B.getShaderInfoLog(g)||"unknown shader compile error";throw B.deleteShader(g),new Error(`Failed to compile VAP mix shader: ${Q}`)}return g}function et(B,A,I){const g=AQ(B,B.VERTEX_SHADER,A),Q=AQ(B,B.FRAGMENT_SHADER,I),C=B.createProgram();if(!C)throw B.deleteShader(g),B.deleteShader(Q),new Error("Failed to create VAP mix program");if(B.attachShader(C,g),B.attachShader(C,Q),B.linkProgram(C),!B.getProgramParameter(C,B.LINK_STATUS)){const E=B.getProgramInfoLog(C)||"unknown program link error";throw B.deleteProgram(C),B.deleteShader(g),B.deleteShader(Q),new Error(`Failed to link VAP mix program: ${E}`)}return B.useProgram(C),{program:C,vertexShader:g,fragmentShader:Q}}function IQ(B,A,I,g=!1){const Q=B.createTexture();if(!Q)throw new Error("Failed to create VAP mix texture");return B.activeTexture(B.TEXTURE0+A),B.bindTexture(B.TEXTURE_2D,Q),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MIN_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_MAG_FILTER,B.LINEAR),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_S,B.CLAMP_TO_EDGE),B.texParameteri(B.TEXTURE_2D,B.TEXTURE_WRAP_T,B.CLAMP_TO_EDGE),I?(B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,g?1:0),B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,I),B.pixelStorei(B.UNPACK_FLIP_Y_WEBGL,0)):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,1,1,0,B.RGBA,B.UNSIGNED_BYTE,null),Q}function tt(B){const[A,I,g,Q]=B.rgbFrame,[C,E,o,i]=B.aFrame,e=ag(A,I,g,Q,B.videoW,B.videoH),t=ag(C,E,o,i,B.videoW,B.videoH);return new Float32Array([-1,1,e[0],e[3],t[0],t[3],1,1,e[1],e[3],t[1],t[3],-1,-1,e[0],e[2],t[0],t[2],1,-1,e[1],e[2],t[1],t[2]])}function at(B,A,I){const g=Math.max(1,A)*LI,Q=[],C=[],E=I?"texture":"texture2D";for(let i=0;i<B;i++)Q.push(`uniform sampler2D u_image${i+1};`),C.push(`if (ndx == ${i+1}) { color = ${E}(u_image${i+1}, uv); }`);const o=I?"fragColor":"gl_FragColor";return`${I?"#version 300 es":""}
3212
3213
  precision lowp float;
3213
3214
  ${I?"in":"varying"} vec2 v_texcoord;
3214
3215
  ${I?"in":"varying"} vec2 v_alpha_texCoord;
@@ -3244,7 +3245,7 @@ m.onmessage = (t) => {
3244
3245
  float my1;
3245
3246
  float my2;
3246
3247
 
3247
- for (int i = 0; i < ${g}; i += ${dI}) {
3248
+ for (int i = 0; i < ${g}; i += ${LI}) {
3248
3249
  if (int(image_pos[i]) > 0) {
3249
3250
  srcIndex = int(image_pos[i]);
3250
3251
  x1 = image_pos[i + 1];
@@ -3269,7 +3270,7 @@ m.onmessage = (t) => {
3269
3270
 
3270
3271
  ${o} = bgColor;
3271
3272
  }
3272
- `}function Aa(B){const A=B?"in":"attribute",I=B?"out":"varying";return`${B?"#version 300 es":""}
3273
+ `}function st(B){const A=B?"in":"attribute",I=B?"out":"varying";return`${B?"#version 300 es":""}
3273
3274
  ${A} vec2 a_position;
3274
3275
  ${A} vec2 a_texCoord;
3275
3276
  ${A} vec2 a_alpha_texCoord;
@@ -3281,5 +3282,5 @@ m.onmessage = (t) => {
3281
3282
  v_texcoord = a_texCoord;
3282
3283
  v_alpha_texCoord = a_alpha_texCoord;
3283
3284
  }
3284
- `}function Ia(B,A,I){return{vertex:Aa(I),fragment:$e(B,A,I)}}function ga(B,A,I,g,Q=new Float32Array(I.size*dI)){Q.fill(0);const C=A.get(g);if(!C||C.length===0)return Q;const[E,o]=B.info.rgbFrame;let i=0;for(const e of C){const a=I.get(String(e.srcId));if(!a)continue;if(i+dI>Q.length)break;const[t,s,D,h]=e.frame,[w,r,F,n]=e.mFrame,c=Eg(t+E,s+o,D,h,B.info.videoW,B.info.videoH),G=Eg(w,r,F,n,B.info.videoW,B.info.videoH);Q[i++]=a,Q[i++]=c[0],Q[i++]=c[1],Q[i++]=c[2],Q[i++]=c[3],Q[i++]=G[0],Q[i++]=G[1],Q[i++]=G[2],Q[i++]=G[3]}return Q}class Ba{constructor(A,I,g,Q,C,E=!0){this.config=A,this.frameMap=I,oA(this,"canvas"),oA(this,"gl"),oA(this,"program"),oA(this,"vertexShader"),oA(this,"fragmentShader"),oA(this,"vertexBuffer"),oA(this,"videoTexture"),oA(this,"imagePosLoc"),oA(this,"imagePositionsScratch"),oA(this,"resourceEntries"),oA(this,"textureUnitBySrcId",new Map),oA(this,"videoTextureWidth",1),oA(this,"videoTextureHeight",1);var o;if(g.size===0)throw new Error("VAP mix composer requires at least one slot resource");this.canvas=Pe(Q,C);const i={alpha:!0,antialias:!1,depth:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,stencil:!1};let e=!0,a=this.canvas.getContext("webgl2",i);if(a||(e=!1,a=this.canvas.getContext("webgl",i)||this.canvas.getContext("experimental-webgl",i)),!a)throw new Error("VAP mixed rendering requires WebGL support");this.gl=a;const t=Math.max(1,a.getParameter(a.MAX_TEXTURE_IMAGE_UNITS)),s=Math.max(0,t-1),D=[];let h=1;for(const N of(o=A.src)!=null?o:[]){const U=g.get(String(N.srcId));if(!U)continue;if(h>s){console.warn("[GiftStage] VAP mixed resources exceed texture unit limit, skipping",{srcId:N.srcId,srcTag:N.srcTag,maxUnits:t});continue}const f=zB(a,h,U.source,!0),S={srcId:String(N.srcId),unit:h,texture:f};D.push(S),this.textureUnitBySrcId.set(S.srcId,S.unit),h++}if(D.length===0)throw new Error("VAP mixed rendering could not bind any slot resources");this.resourceEntries=D;let w=1;for(const N of I.values())w=Math.max(w,N.length);this.imagePositionsScratch=new Float32Array(w*dI);const r=Ia(this.resourceEntries.length,w,e),F=ze(a,r.vertex,r.fragment);this.program=F.program,this.vertexShader=F.vertexShader,this.fragmentShader=F.fragmentShader,this.imagePosLoc=a.getUniformLocation(this.program,"image_pos"),this.videoTexture=zB(a,0);const n=a.getUniformLocation(this.program,"u_image_video");n!==null&&a.uniform1i(n,0);const c=a.getUniformLocation(this.program,"u_rgbPremultiplied");c!==null&&a.uniform1f(c,E?1:0);for(const N of this.resourceEntries){const U=a.getUniformLocation(this.program,`u_image${N.unit}`);U!==null&&a.uniform1i(U,N.unit)}const G=a.createBuffer();if(!G)throw new Error("Failed to create VAP mix vertex buffer");this.vertexBuffer=G,a.bindBuffer(a.ARRAY_BUFFER,this.vertexBuffer),a.bufferData(a.ARRAY_BUFFER,_e(A.info),a.STATIC_DRAW);const y=6*Float32Array.BYTES_PER_ELEMENT,M=a.getAttribLocation(this.program,"a_position"),R=a.getAttribLocation(this.program,"a_texCoord"),l=a.getAttribLocation(this.program,"a_alpha_texCoord");a.enableVertexAttribArray(M),a.vertexAttribPointer(M,2,a.FLOAT,!1,y,0),a.enableVertexAttribArray(R),a.vertexAttribPointer(R,2,a.FLOAT,!1,y,2*Float32Array.BYTES_PER_ELEMENT),a.enableVertexAttribArray(l),a.vertexAttribPointer(l,2,a.FLOAT,!1,y,4*Float32Array.BYTES_PER_ELEMENT),a.viewport(0,0,this.canvas.width,this.canvas.height),a.disable(a.BLEND),a.disable(a.DEPTH_TEST),a.clearColor(0,0,0,0),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.NONE)}render(A,I){const g=this.gl;g.useProgram(this.program),g.activeTexture(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D,this.videoTexture),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,1);const Q=GI(A),C=RI(A);Q>0&&C>0&&Q===this.videoTextureWidth&&C===this.videoTextureHeight?g.texSubImage2D(g.TEXTURE_2D,0,0,0,g.RGBA,g.UNSIGNED_BYTE,A):(g.texImage2D(g.TEXTURE_2D,0,g.RGBA,g.RGBA,g.UNSIGNED_BYTE,A),Q>0&&C>0&&(this.videoTextureWidth=Q,this.videoTextureHeight=C)),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,0);const E=ga(this.config,this.frameMap,this.textureUnitBySrcId,I,this.imagePositionsScratch);return this.imagePosLoc!==null&&g.uniform1fv(this.imagePosLoc,E),g.clear(g.COLOR_BUFFER_BIT),g.drawArrays(g.TRIANGLE_STRIP,0,4),this.canvas}destroy(){const A=this.gl;for(const g of this.resourceEntries)A.deleteTexture(g.texture);A.deleteTexture(this.videoTexture),A.deleteBuffer(this.vertexBuffer),A.deleteProgram(this.program),A.deleteShader(this.vertexShader),A.deleteShader(this.fragmentShader);const I=A.getExtension("WEBGL_lose_context");I==null||I.loseContext()}}var Qa=Object.defineProperty,Ca=(B,A,I)=>A in B?Qa(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,lA=(B,A,I)=>Ca(B,typeof A!="symbol"?A+"":A,I);const jQ=1397178947,PQ=14,Ea=8,MA=64*1024;function zQ(B){return B+3&-4}class ia{constructor(A=1024){lA(this,"buffer"),lA(this,"view"),lA(this,"bytes"),lA(this,"offset",0),lA(this,"encoder",new TextEncoder),this.buffer=new ArrayBuffer(A),this.view=new DataView(this.buffer),this.bytes=new Uint8Array(this.buffer)}ensure(A){const I=this.offset+A;if(I<=this.buffer.byteLength)return;let g=this.buffer.byteLength;for(;g<I;)g*=2;const Q=new ArrayBuffer(g);new Uint8Array(Q).set(this.bytes.subarray(0,this.offset)),this.buffer=Q,this.view=new DataView(this.buffer),this.bytes=new Uint8Array(this.buffer)}async ensureCooperative(A,I){const g=this.offset+A;if(g<=this.buffer.byteLength)return;let Q=this.buffer.byteLength;for(;Q<g;)Q*=2;const C=new ArrayBuffer(Q),E=new Uint8Array(C);for(let o=0;o<this.offset;o+=MA){const i=Math.min(o+MA,this.offset);E.set(this.bytes.subarray(o,i),o),i<this.offset&&await(I==null?void 0:I())}this.buffer=C,this.view=new DataView(this.buffer),this.bytes=E}u8(A){this.ensure(1),this.view.setUint8(this.offset,A),this.offset+=1}u16(A){this.ensure(2),this.view.setUint16(this.offset,A,!0),this.offset+=2}u32(A){this.ensure(4),this.view.setUint32(this.offset,A,!0),this.offset+=4}i32(A){this.ensure(4),this.view.setInt32(this.offset,A|0,!0),this.offset+=4}f32(A){this.ensure(4),this.view.setFloat32(this.offset,A,!0),this.offset+=4}bytesValue(A){this.u32(A.byteLength),this.ensure(A.byteLength),this.bytes.set(A,this.offset),this.offset+=A.byteLength}rawBytes(A){this.ensure(A.byteLength),this.bytes.set(A,this.offset),this.offset+=A.byteLength}async bytesValueCooperative(A,I){await this.ensureCooperative(4+A.byteLength,I),this.u32(A.byteLength),await this.rawBytesCooperative(A,I)}async rawBytesCooperative(A,I){await this.ensureCooperative(A.byteLength,I);for(let g=0;g<A.byteLength;g+=MA){const Q=Math.min(g+MA,A.byteLength);this.bytes.set(A.subarray(g,Q),this.offset),this.offset+=Q-g,Q<A.byteLength&&await(I==null?void 0:I())}}async stringCooperative(A,I){await this.bytesValueCooperative(this.encoder.encode(A),I)}string(A){this.bytesValue(this.encoder.encode(A))}pad4(){const A=zQ(this.offset)-this.offset;for(let I=0;I<A;I++)this.u8(0)}finish(){return this.buffer.slice(0,this.offset)}async finishCooperative(A){const I=new Uint8Array(this.offset),g=this.bytes.subarray(0,this.offset);for(let Q=0;Q<g.byteLength;Q+=MA){const C=Math.min(Q+MA,g.byteLength);I.set(g.subarray(Q,C),Q),C<g.byteLength&&A.shouldYield()&&await A.yield()}return I.buffer}}class oa{constructor(A){this.buffer=A,lA(this,"view"),lA(this,"bytes"),lA(this,"offset",0),lA(this,"decoder",new TextDecoder),this.view=new DataView(A),this.bytes=new Uint8Array(A)}get position(){return this.offset}skip(A){this.offset+=A}pad4(){this.offset=zQ(this.offset)}u8(){const A=this.view.getUint8(this.offset);return this.offset+=1,A}u16(){const A=this.view.getUint16(this.offset,!0);return this.offset+=2,A}u32(){const A=this.view.getUint32(this.offset,!0);return this.offset+=4,A}i32(){const A=this.view.getInt32(this.offset,!0);return this.offset+=4,A}f32(){const A=this.view.getFloat32(this.offset,!0);return this.offset+=4,A}bytesValue(){const A=this.u32(),I=this.bytes.slice(this.offset,this.offset+A);return this.offset+=A,I}async ownedBytesValueCooperative(A){const I=this.u32(),g=this.bytes.subarray(this.offset,this.offset+I);this.offset+=I;const Q=new Uint8Array(I);for(let C=0;C<I;C+=MA){const E=Math.min(C+MA,I);Q.set(g.subarray(C,E),C),E<I&&A.shouldYield()&&await A.yield()}return Q.buffer}string(){return this.decoder.decode(this.bytesValue())}sourceBuffer(){return this.buffer}}function _Q(B){var A,I;let g=0;for(const C of B.atlasPages)g+=C.imageBytes.byteLength;for(const[C,E]of B.audioBlobs)g+=C.length*2+E.byteLength;for(const[C]of B.atlasRects)g+=C.length*2+20;if(B.clipMeshes)for(const[C,E]of B.clipMeshes)g+=C.length*2+E.vertices.byteLength+E.indices.byteLength;const Q=B.spriteTable;g+=Q.frameData.byteLength,g+=Q.clipPathIndex.byteLength,g+=Q.shapesIndex.byteLength;for(const C of Q.imageKeys)g+=C.length*2;for(const C of Q.clipPaths)g+=C.length*2;for(const C of Q.shapesTable)for(const E of C)g+=((I=(A=E.pathData)==null?void 0:A.length)!=null?I:0)*2+96;return g}async function tA(B){B.shouldYield()&&await B.yield()}async function ea(B,A){var I,g,Q;const C=B.spriteTable,E=iA({maxBudgetMs:A}),o=()=>tA(E),i=new ia(Ea+_Q(B)+MA);i.u32(jQ),i.u16(PQ),i.u16(0),i.f32(B.params.viewBoxWidth),i.f32(B.params.viewBoxHeight),i.f32(B.params.fps),i.u32(B.params.frames),i.u32(B.atlasPages.length);for(const e of B.atlasPages)i.u32(e.width),i.u32(e.height),await i.bytesValueCooperative(new Uint8Array(e.imageBytes),o),await tA(E);i.u32(B.atlasRects.size);for(const[e,a]of B.atlasRects)await i.stringCooperative(e,o),i.u32((I=a.textureIndex)!=null?I:0),i.f32(a.x),i.f32(a.y),i.f32(a.w),i.f32(a.h),await tA(E);i.u32(B.audios.length);for(const e of B.audios)await i.stringCooperative(e.audioKey,o),i.u32(e.startFrame),i.u32(e.endFrame),i.f32(e.startTime),i.f32(e.totalTime),await tA(E);i.u32(B.audioBlobs.size);for(const[e,a]of B.audioBlobs)await i.stringCooperative(e,o),await i.bytesValueCooperative(new Uint8Array(a),o),await tA(E);if(await mo(i,C,o),i.u32((Q=(g=B.clipMeshes)==null?void 0:g.size)!=null?Q:0),B.clipMeshes)for(const[e,a]of B.clipMeshes)await i.stringCooperative(e,o),await i.bytesValueCooperative(new Uint8Array(a.vertices.buffer,a.vertices.byteOffset,a.vertices.byteLength),o),await i.bytesValueCooperative(new Uint8Array(a.indices.buffer,a.indices.byteOffset,a.indices.byteLength),o),await tA(E);return i.finishCooperative(E)}async function aa(B,A){const I=iA({maxBudgetMs:A}),g=new oa(B);if(g.u32()!==jQ)throw new Error("Invalid SVGA cache binary magic");if(g.u16()!==PQ)throw new Error("Unsupported SVGA cache binary version");g.u16();const Q={viewBoxWidth:g.f32(),viewBoxHeight:g.f32(),fps:g.f32(),frames:g.u32()},C=g.u32(),E=[];for(let r=0;r<C;r++){const F=g.u32(),n=g.u32(),c=await g.ownedBytesValueCooperative(I);E.push({width:F,height:n,imageBytes:c}),await tA(I)}const o=g.u32(),i=new Map;for(let r=0;r<o;r++){const F=g.string(),n=g.u32();i.set(F,{textureIndex:n,x:g.f32(),y:g.f32(),w:g.f32(),h:g.f32()}),await tA(I)}const e=g.u32(),a=[];for(let r=0;r<e;r++)a.push({audioKey:g.string(),startFrame:g.u32(),endFrame:g.u32(),startTime:g.f32(),totalTime:g.f32()}),await tA(I);const t=g.u32(),s=new Map;for(let r=0;r<t;r++){const F=g.string();s.set(F,await g.ownedBytesValueCooperative(I)),await tA(I)}const D=await qQ(g,()=>tA(I)),h=g.u32(),w=new Map;for(let r=0;r<h;r++){const F=g.string(),n=new Float32Array(await g.ownedBytesValueCooperative(I)),c=new Uint32Array(await g.ownedBytesValueCooperative(I));F&&n.length>=6&&c.length>=3&&w.set(F,{vertices:n,indices:c}),await tA(I)}return{params:Q,spriteTable:D,audios:a,audioBlobs:s,atlasRects:i,atlasPages:E,clipMeshes:w}}function Xg(B){return`svga-asset:${B}`}function Og(B){return`svga-asset-bin:${B}`}async function ta(B,A={}){const I=Yi(Xg(B),"svga-asset");if(I)return I;const g=await di(Og(B));if(!g)return null;try{const Q=await aa(g,A.frameBudgetMs);return yQ(Xg(B),"svga-asset",Q,g.byteLength),Q}catch(Q){return Ji(Og(B)),null}}async function fg(B,A,I={}){const g=await ea(A,I.frameBudgetMs);yQ(Xg(B),"svga-asset",A,Math.max(g.byteLength,_Q(A))),await Ki(Og(B),g)}function KA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function sa(B,A){const I=KA(B)?B*.5:0,g=KA(A)?A:0;return{width:I,height:g}}function Da(B,A,I,g){const Q=KA(A.width)?A.width:void 0,C=KA(A.height)?A.height:void 0,E=KA(B.width)?B.width:void 0,o=KA(B.height)?B.height:void 0,i=B.useOriginalSize===!0;if(E&&o)return{width:E,height:o};if(E)return Q&&C?{width:E,height:E*C/Q}:{width:E,height:E};if(o)return Q&&C?{width:o*Q/C,height:o}:{width:o,height:o};let e=Q!=null?Q:0,a=C!=null?C:0;if(e>0&&a>0&&KA(I)&&KA(g)&&(!i||e>I||a>g)){const t=Math.min(I/e,g/a);e*=t,a*=t}return{width:e,height:a}}function ha(B,A){var I,g,Q;if(typeof B=="string"){const E=(I=/^data:(image\/[a-z0-9.+-]+)/i.exec(B))==null?void 0:I[1];if(E)return E;const o=(Q=(g=B.split(/[?#]/,1)[0])==null?void 0:g.toLowerCase())!=null?Q:"";if(o.endsWith(".svg"))return"image/svg+xml";if(o.endsWith(".png"))return"image/png";if(o.endsWith(".jpg")||o.endsWith(".jpeg"))return"image/jpeg";if(o.endsWith(".webp"))return"image/webp";if(o.endsWith(".gif"))return"image/gif";if(o.endsWith(".avif"))return"image/avif"}if(A[0]===137&&A[1]===80&&A[2]===78&&A[3]===71)return"image/png";if(A[0]===255&&A[1]===216&&A[2]===255)return"image/jpeg";if(A[0]===71&&A[1]===73&&A[2]===70)return"image/gif";if(A[0]===82&&A[1]===73&&A[2]===70&&A[3]===70&&A[8]===87&&A[9]===69&&A[10]===66&&A[11]===80)return"image/webp";const C=new TextDecoder().decode(A.subarray(0,Math.min(A.length,256)));return/^\s*(?:<\?xml[^>]*>\s*)?<svg[\s>]/i.test(C)?"image/svg+xml":""}function _B(B,A){return new Promise((I,g)=>{const Q=URL.createObjectURL(B),C=new Image;C.crossOrigin="anonymous";const E=()=>{A==null||A.removeEventListener("abort",i),C.onload=null,C.onerror=null},o=e=>{E(),URL.revokeObjectURL(Q),g(e)},i=()=>o($("Image decoding aborted"));C.onload=()=>{E();const e=C.naturalWidth||C.width,a=C.naturalHeight||C.height;if(e<=0||a<=0){URL.revokeObjectURL(Q),g(new Error("Decoded image has invalid dimensions"));return}I({source:C,width:e,height:a,sourcePremultiplied:!1,dispose:()=>URL.revokeObjectURL(Q)})},C.onerror=()=>o(new Error("Failed to decode image")),A==null||A.addEventListener("abort",i,{once:!0}),C.src=Q})}async function Lg(B,A){Y(A,"Image loading aborted");const I=typeof B=="string"?await ZA(B,A):B;Y(A,"Image loading aborted");const g=new Uint8Array(I),Q=new Blob([g],{type:ha(B,g)});if(typeof createImageBitmap=="function"){let C=null;try{C=await createImageBitmap(Q,{premultiplyAlpha:"premultiply"})}catch(E){Y(A,"Image decoding aborted");try{C=await createImageBitmap(Q)}catch(o){return Y(A,"Image decoding aborted"),_B(Q,A)}}if(A!=null&&A.aborted)throw C.close(),$("Image decoding aborted");if(C.width<=0||C.height<=0)throw C.close(),new Error("Decoded image has invalid dimensions");return{source:C,width:C.width,height:C.height,sourcePremultiplied:!0,dispose:()=>C.close()}}return _B(Q,A)}var wa=Object.defineProperty,na=(B,A,I)=>A in B?wa(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,q=(B,A,I)=>na(B,typeof A!="symbol"?A+"":A,I);function $B(B){return Number.isFinite(B)?Math.max(0,Math.min(1,B)):1}function ra(B){return"delayMs"in B}const v="GiftStage load canceled";function YA(B){let A=!1;return()=>{A||(A=!0,B())}}function ca(B,A=typeof navigator!="undefined"?navigator.hardwareConcurrency:void 0){if(B!=null)return Math.max(1,Math.floor(Number.isFinite(B)?B:1));const I=A!=null&&Number.isFinite(A)&&A>0?Math.floor(A):4;return Math.max(1,Math.min(4,Math.floor(I/2)))}const rA=class CA{constructor(A){q(this,"sharedSVGAEntities",new Map),q(this,"pendingSharedSVGAEntities",new Map),q(this,"sharedVideoSources",new Map),q(this,"sharedHtmlVideos",new Map),q(this,"sharedVideoTextures",new Map),q(this,"pendingSharedHtmlVideos",new Map),q(this,"sharedImageTextures",new Map),q(this,"pendingSharedImageTextures",new Map),q(this,"sharedWebCodecsPlaybacks",new Map),q(this,"pendingSharedWebCodecsPlaybacks",new Map),q(this,"sharedWebCodecsSurfaces",new Map),q(this,"completedPlaybackSlots",new Set),q(this,"playbackCompleteWaiters",new Map),q(this,"canvas"),q(this,"backend",null),q(this,"manager",null),q(this,"options"),q(this,"ready"),q(this,"destroyed",!1),q(this,"resizeObserver",null),q(this,"nextRenderOrder",0),q(this,"nextSharedWebCodecsPlaybackId",1),q(this,"nextSharedWebCodecsSurfaceId",1),q(this,"onWindowLayout",()=>{this.destroyed||this.syncCanvasSize()}),this.options=A,this.canvas=document.createElement("canvas"),this.canvas.style.cssText="position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9999;",A.container.appendChild(this.canvas),this.ready=this.init()}backingStoreDpr(){const A=this.options.resolution;if(A!=null&&A>0&&Number.isFinite(A))return A;const I=typeof window!="undefined"&&window.devicePixelRatio>0?window.devicePixelRatio:1;return Math.min(I,2)}syncCanvasSize(){var A;XC(this.canvas,this.backingStoreDpr(),this.options.maxRenderSize),(A=this.manager)==null||A.syncSlotLayoutFromOptions()}resourcePipelineConcurrency(){return ca(this.options.maxConcurrentParse)}async init(){var A,I;this.syncCanvasSize(),await new Promise(E=>requestAnimationFrame(()=>E())),this.syncCanvasSize(),ki({maxConcurrent:this.resourcePipelineConcurrency(),maxMemoryBytes:CA.DEFAULT_RESOURCE_CACHE_MEMORY_BYTES,maxPersistentBytes:CA.DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES}),Pg((A=this.options.svgaWorkerTaskConcurrency)!=null?A:1);const g=(I=this.options.preferWebGPU)!=null?I:!0,Q=this.options.antialias,[C]=await Promise.all([QQ(this.canvas,g,Q,this.options.forceWebGL1===!0),sQ()]);this.backend=C,this.manager=new kI(this.backend),this.resizeObserver=new ResizeObserver(()=>{this.destroyed||this.syncCanvasSize()}),this.resizeObserver.observe(this.canvas),window.addEventListener("resize",this.onWindowLayout),window.addEventListener("orientationchange",this.onWindowLayout)}svgaParseOptions(A){return{useWorker:this.options.svgaParseInWorker!==!1,svgaLoadFrameBudgetMs:this.options.svgaLoadFrameBudgetMs,svgaWorkerFrameBudgetMs:this.options.svgaWorkerFrameBudgetMs,svgaWorkerTaskConcurrency:this.options.svgaWorkerTaskConcurrency,svgaWorkerImageDecodeConcurrency:this.options.svgaWorkerImageDecodeConcurrency,svgaParseProfile:this.options.svgaParseProfile,signal:A}}svgaAtlasFrameBudgetMs(){const A=this.options.svgaLoadFrameBudgetMs,I=this.options.svgaAtlasFrameBudgetMs;return A==null?I:I==null?A:Math.min(A,I)}svgaClipFrameBudgetMs(){var A;const I=(A=this.options.svgaClipPrewarmFrameBudgetMs)!=null?A:8,g=this.options.svgaLoadFrameBudgetMs;return g==null?I:Math.min(g,I)}isSlotLoadActive(A){var I,g;return!this.destroyed&&((I=A.loadAbortController)==null?void 0:I.signal.aborted)!==!0&&((g=this.manager)==null?void 0:g.getSlot(A.id))===A}assertSlotLoadActive(A){if(!this.isSlotLoadActive(A))throw new Error(v)}isLoadCanceled(A){return uA(A)||A instanceof Error&&A.message===v}currentCanvasCssSize(){const A=this.canvas.clientWidth||this.options.container.clientWidth||window.innerWidth||0,I=this.canvas.clientHeight||this.options.container.clientHeight||window.innerHeight||0;return{width:A,height:I}}async resolveGiftIntrinsicSize(A){switch(A.type){case"svga":{const I=await ee(A.source,this.svgaParseOptions());return{width:I.viewBoxWidth,height:I.viewBoxHeight}}case"vap":{if(!A.config)throw new Error("VAP requires config");const I=await bg(A.config),g=TA(I.info);return{width:g.w,height:g.h}}case"alphaVideo":return this.probeVideoNaturalSize(A.source,"alphaVideo");case"image":{const I=await Lg(A.source);try{return{width:I.width,height:I.height}}finally{I.dispose()}}}}async normalizeAddGiftOptions(A,I){if(A.width!=null&&A.height!=null)return A;const g=this.currentCanvasCssSize();if(A.objectFit==="cover"&&A.width==null&&A.height==null&&g.width>0&&g.height>0)return{...A,width:g.width,height:g.height};const Q=I!=null?I:await this.resolveGiftIntrinsicSize(A),C=Da({width:A.width,height:A.height,useOriginalSize:A.useOriginalSize},Q,g.width,g.height);return{...A,width:C.width,height:C.height}}resolveAnimationStepTarget(A,I){var g,Q,C,E,o,i;const{sx:e,sy:a}=Hg(this.canvas),t=(g=I.scaleTo)!=null?g:A.scale,s=I.flyTo!=null?I.flyTo.x*e:A.x+A.width*A.scale/2,D=I.flyTo!=null?I.flyTo.y*a:A.y+A.height*A.scale/2;return{targetX:s-A.width*t/2,targetY:D-A.height*t/2,targetScale:t,targetOpacity:$B((Q=I.opacity)!=null?Q:A.opacity),targetRotation:(E=(C=I.rotationTo)!=null?C:A.rotation)!=null?E:0,duration:Math.max(1,(o=I.duration)!=null?o:600),easing:(i=I.easing)!=null?i:XQ}}runGiftAnimationStep(A,I,g){const Q=this.resolveAnimationStepTarget(A,g),C=this.manager.postAnimator.startTweenPromise(A,Q.targetX,Q.targetY,Q.targetScale,Q.duration,Q.easing,()=>{var E;return(E=g.onComplete)==null?void 0:E.call(g,I)},Q.targetOpacity,Q.targetRotation);return this.manager.invalidate({resetClock:!0}),C}createGiftAnimationChain(A,I,g){const Q=Array.isArray(g)?[...g]:g?[g]:[],C=[];let E=!1,o=!1,i=null,e=null;const a=s=>new Promise(D=>{if(o){D();return}e=D,i=setTimeout(()=>{i=null,e=null,D()},Math.max(0,s))}),t={to:s=>{if(E)throw new Error("Gift animation chain has already started");return Q.push(s),t},then:s=>{if(E)throw new Error("Gift animation chain has already started");return Q.push(s),t},delay:s=>{if(E)throw new Error("Gift animation chain has already started");return Q.push({delayMs:Math.max(0,s)}),t},onComplete:s=>{if(E)throw new Error("Gift animation chain has already started");return C.push(s),t},start:async(s="immediate")=>{var D,h;E=!0;const w=(D=this.manager)==null?void 0:D.getSlot(A.id);if(!w||w.state==="finished")return I;s==="afterGiftComplete"&&await this.waitForGiftPlaybackComplete(A.id);let r=!1;for(const F of Q){if(o||!((h=this.manager)!=null&&h.getSlot(A.id))||A.state==="finished"){r=!0;break}ra(F)?await a(F.delayMs):await this.runGiftAnimationStep(A,I,F)}if(!r&&!o)for(const F of C)F(I);return I},cancel:()=>{var s;o=!0,i!=null&&(clearTimeout(i),i=null),e==null||e(),e=null,(s=this.manager)==null||s.postAnimator.cancelForGift(A.id)}};return t}async addGift(A){var I,g,Q,C,E,o,i,e,a,t;if(console.info("[GiftStage] addGift await ready…",A.type),await this.ready,console.info("[GiftStage] addGift ready, loading…",A.type),this.destroyed)throw new Error("GiftStage is destroyed");let s=null;A.type==="image"&&(s=await this.acquireImageTexture(A.source));let D;try{D=await this.normalizeAddGiftOptions(A,s?{width:s.width,height:s.height}:void 0)}catch(y){throw s==null||s.release(),y}if(this.destroyed)throw s==null||s.release(),new Error("GiftStage is destroyed");const h=hQ(),{sx:w,sy:r}=Hg(this.canvas),F=fQ(D.x,D.y,D.width,D.height,this.canvas.clientWidth,this.canvas.clientHeight),n={id:h,type:D.type,state:"loading",options:D,zIndex:(I=D.zIndex)!=null?I:0,renderOrder:this.nextRenderOrder++,x:F.x*w,y:F.y*r,width:D.width*w,height:D.height*r,scale:1,opacity:$B((g=D.opacity)!=null?g:1),rotation:Number.isFinite(D.rotation)?D.rotation:0,paused:!1,currentFrame:0,accumulatedTime:0,lastTickTime:0,loopCount:0,videoEntity:null,loadAbortController:new AbortController,videoPlaybackWatchdogTimer:null,videoPlaybackCompletionStarted:!1,svgaSlotTextures:void 0,videoElement:null,releaseMediaSource:null,releaseSharedSVGAAsset:null,releaseSharedVideoPlayback:null,releaseSharedVideoTexture:null,webcodecsPlayback:null,webcodecsSharedState:null,releaseWebCodecsPlayback:null,wcPlaybackTime:0,videoTextureHandle:null,imageTextureHandle:(Q=s==null?void 0:s.texture)!=null?Q:null,releaseSharedImageTexture:(C=s==null?void 0:s.release)!=null?C:null,webcodecsSurface:null,releaseWebCodecsSurface:null,vapMixState:null,onFrame:D.onFrame,onComplete:void 0};let c;c={id:h,type:D.type,pause:()=>{var y,M;n.paused=!0,(y=this.manager)==null||y.postAnimator.pauseForGift(n.id),(M=this.manager)==null||M.invalidate()},resume:()=>{var y,M;n.paused=!1,(y=this.manager)==null||y.postAnimator.resumeForGift(n.id),(M=this.manager)==null||M.invalidate({resetClock:!0})},destroy:()=>{this.removeGift(h)},animate:y=>this.createGiftAnimationChain(n,c,y)};const G=D.onComplete;n.onComplete=y=>{this.markGiftPlaybackComplete(n.id),G==null||G(y)},this.manager.addSlot(n,c);try{switch(D.type){case"svga":await this.loadSVGA(n);break;case"vap":await this.loadVAP(n,D);break;case"alphaVideo":await this.loadAlphaVideo(n,D);break;case"image":break}this.assertSlotLoadActive(n),n.state="playing",this.manager.invalidate({resetClock:!0}),D.type==="svga"&&n.videoEntity&&(this.manager.audioManager.tickFrame(n,n.currentFrame,c),(E=n.onFrame)==null||E.call(n,n.currentFrame,c)),n.webcodecsPlayback&&console.info("[GiftStage:WC] gift playing",{giftId:n.id,type:n.type,layoutBufPx:{x:n.x,y:n.y,w:n.width,h:n.height}}),D.type==="image"&&!(D.duration>0)&&this.markGiftPlaybackComplete(n.id)}catch(y){if(this.isLoadCanceled(y))return((o=this.manager)==null?void 0:o.getSlot(n.id))===n?this.manager.removeSlot(n.id):(i=this.manager)==null||i.releaseSlotResources(n),c;n.state="finished",(e=this.manager)==null||e.invalidate(),(t=(a=this.options).onError)==null||t.call(a,y instanceof Error?y:new Error(String(y)))}return c}async loadSVGA(A){var I,g,Q,C;const E=typeof A.options.source=="string"?A.options.source:null,o=(I=A.loadAbortController)==null?void 0:I.signal;if(E){const D=await this.acquireSharedSVGAEntity(E,o);if(!this.isSlotLoadActive(A))throw D.release(),new Error(v);A.releaseSharedSVGAAsset=D.release,await this.finishLoadSVGA(A,D.entity,D.audioBlobs),this.assertSlotLoadActive(A);return}const{movie:i,imageBitmaps:e,audioBlobs:a}=await jI(A.options.source,this.svgaParseOptions(o));let t=null,s=!1;try{this.assertSlotLoadActive(A),t=await this.buildSVGAAtlasIfNeeded(e,!!E,!0,o),this.assertSlotLoadActive(A);const D={params:i.params,spriteTable:i.spriteTable,audios:i.audios,atlasTextureHandle:(g=t==null?void 0:t.textureHandle)!=null?g:null,atlasTextureHandles:(Q=t==null?void 0:t.textureHandles)!=null?Q:[],atlasRects:(C=t==null?void 0:t.rects)!=null?C:new Map,audioBuffers:new Map};await this.finishLoadSVGA(A,D,a),s=!0,this.assertSlotLoadActive(A),E&&(t!=null&&t.encodedPngBytesPromises)&&Promise.all(t.encodedPngBytesPromises).then(h=>{h.some(w=>!w)||fg(E,{params:i.params,spriteTable:i.spriteTable,audios:i.audios,audioBlobs:a,atlasRects:t.rects,atlasPages:t.pages.map((w,r)=>({width:w.atlasWidth,height:w.atlasHeight,imageBytes:h[r]}))},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}catch(D){throw s||this.deleteSVGAAtlasResultTextures(t),D}finally{for(const D of e.values())D.close()}}async acquireSharedSVGAEntity(A,I){const g=A,Q=this.sharedSVGAEntities.get(g);if(Q)return Q.refs++,{entity:Q.entity,audioBlobs:Q.audioBlobs,release:()=>this.releaseSharedSVGAEntity(g)};let C=this.pendingSharedSVGAEntities.get(g);if(!C){const i=new AbortController;C={cacheKey:g,controller:i,consumers:0,settled:!1,promise:null};const e=C;C.promise=this.buildSharedSVGAEntity(A,i.signal).finally(()=>{e.settled=!0,this.pendingSharedSVGAEntities.get(g)===e&&this.pendingSharedSVGAEntities.delete(g)}),this.pendingSharedSVGAEntities.set(g,C)}let E;try{E=await this.waitForPendingSharedSVGAEntity(C,I)}catch(i){throw i}let o=this.sharedSVGAEntities.get(g);return o?o.refs++:(o={refs:1,entity:E.entity,audioBlobs:E.audioBlobs},this.sharedSVGAEntities.set(g,o)),{entity:o.entity,audioBlobs:o.audioBlobs,release:()=>this.releaseSharedSVGAEntity(g)}}waitForPendingSharedSVGAEntity(A,I){return A.consumers++,new Promise((g,Q)=>{let C=!1;const E=i=>{C||(C=!0,I==null||I.removeEventListener("abort",o),A.consumers=Math.max(0,A.consumers-1),A.consumers===0&&!A.settled&&A.controller.abort(),i())},o=()=>{E(()=>Q($(v)))};if(I!=null&&I.aborted){o();return}I==null||I.addEventListener("abort",o,{once:!0}),A.promise.then(i=>E(()=>g(i)),i=>E(()=>Q(i)))})}async buildSharedSVGAEntity(A,I){var g,Q,C,E,o;const i=await ta(A,{frameBudgetMs:this.options.svgaLoadFrameBudgetMs});if(Y(I,v),i){const t=await this.createCachedSVGAAtlasTextures(i.atlasPages,I);return(g=this.manager)==null||g.hydrateSVGAClipMeshes(i.clipMeshes),{entity:{params:i.params,spriteTable:i.spriteTable,audios:i.audios,atlasTextureHandle:(Q=t[0])!=null?Q:null,atlasTextureHandles:t,atlasRects:i.atlasRects,audioBuffers:new Map},audioBlobs:i.audioBlobs}}let e=await jI(A,this.svgaParseOptions(I)),a=null;try{try{a=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!0,I)}catch(w){if(uA(w)||!(w instanceof LA))throw w;for(const r of e.imageBitmaps.values())r.close();e=await jI(A,this.svgaParseOptions(I)),a=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!1,I)}const{movie:t,audioBlobs:s}=e,D={params:t.params,spriteTable:t.spriteTable,audios:t.audios,atlasTextureHandle:(C=a==null?void 0:a.textureHandle)!=null?C:null,atlasTextureHandles:(E=a==null?void 0:a.textureHandles)!=null?E:[],atlasRects:(o=a==null?void 0:a.rects)!=null?o:new Map,audioBuffers:new Map};this.options.svgaPrewarmClipMeshes!==!1&&await this.manager.prewarmSVGAClipMeshes(D,{frameBudgetMs:this.svgaClipFrameBudgetMs(),workerTimeSliceMs:this.options.svgaWorkerFrameBudgetMs,useWorker:this.options.svgaClipPrewarmInWorker!==!1,signal:I});const h=this.manager.snapshotSVGAClipMeshes(D);if(Y(I,v),a&&a.encodedPngBytesPromises){const w=a,r=a.encodedPngBytesPromises;Promise.all(r).then(F=>{I!=null&&I.aborted||F.some(n=>!n)||fg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:w.rects,atlasPages:w.pages.map((n,c)=>({width:n.atlasWidth,height:n.atlasHeight,imageBytes:F[c]})),clipMeshes:h},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}else a||fg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:new Map,atlasPages:[],clipMeshes:h},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs});return Y(I,v),{entity:D,audioBlobs:s}}catch(t){throw this.deleteSVGAAtlasResultTextures(a),t}finally{for(const t of e.imageBitmaps.values())t.close()}}releaseSharedSVGAEntity(A){const I=this.sharedSVGAEntities.get(A);I&&(I.refs=Math.max(0,I.refs-1),!(I.refs>0)&&(this.deleteSVGAAtlasTextures(I.entity),this.sharedSVGAEntities.delete(A)))}async createCachedSVGAAtlasTextures(A,I){var g;const Q=[],C=iA({maxBudgetMs:this.svgaAtlasFrameBudgetMs()});try{for(let E=0;E<A.length;E++){Y(I,v);const o=A[E],i=await createImageBitmap(new Blob([o.imageBytes],{type:"image/png"}),{premultiplyAlpha:"premultiply"});try{if(this.destroyed||!this.backend)throw new Error(v);const e=this.backend.createTexture(i,{width:o.width,height:o.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:!0});Q.push(e)}finally{i.close()}E+1<A.length&&C.shouldYield()&&await C.yield(),Y(I,v)}return Q}catch(E){for(const o of Q)(g=this.backend)==null||g.deleteTexture(o);throw E}}deleteSVGAAtlasTextures(A){var I,g;const Q=(I=A.atlasTextureHandles)!=null&&I.length?A.atlasTextureHandles:A.atlasTextureHandle?[A.atlasTextureHandle]:[],C=new Set;for(const E of Q)C.has(E.id)||(C.add(E.id),(g=this.backend)==null||g.deleteTexture(E))}deleteSVGAAtlasResultTextures(A){var I,g;if(!A)return;const Q=(I=A.textureHandles)!=null&&I.length?A.textureHandles:A.textureHandle?[A.textureHandle]:[],C=new Set;for(const E of Q)C.has(E.id)||(C.add(E.id),(g=this.backend)==null||g.deleteTexture(E))}async finishLoadSVGA(A,I,g){var Q;const C=iA({maxBudgetMs:this.options.svgaLoadFrameBudgetMs});let E=0;for(const[o,i]of g)await this.manager.audioManager.decodeAudio(o,i),this.assertSlotLoadActive(A),E++,E<g.size&&C.shouldYield()&&(await C.yield(),this.assertSlotLoadActive(A));this.assertSlotLoadActive(A),A.videoEntity=I,this.options.svgaPrewarmClipMeshes!==!1&&(await this.manager.prewarmSVGAClipMeshes(A.videoEntity,{frameBudgetMs:this.svgaClipFrameBudgetMs(),workerTimeSliceMs:this.options.svgaWorkerFrameBudgetMs,useWorker:this.options.svgaClipPrewarmInWorker!==!1,checkActive:()=>this.assertSlotLoadActive(A),signal:(Q=A.loadAbortController)==null?void 0:Q.signal}),this.assertSlotLoadActive(A)),A.options.svgaSlots&&(A.svgaSlotTextures=await Vi(this.backend,A.videoEntity,A.options.svgaSlots,{frameBudgetMs:this.options.svgaLoadFrameBudgetMs,checkActive:()=>this.assertSlotLoadActive(A)}),this.assertSlotLoadActive(A))}svgaAtlasMaxSize(){var A,I,g;const Q=(A=this.options.svgaAtlasMaxSize)!=null?A:CA.SVGA_ATLAS_MAX_SIZE,C=(g=(I=this.backend)==null?void 0:I.maxTextureSize)!=null?g:Q;return Math.max(64,Math.min(C,Q))}async buildSVGAAtlasIfNeeded(A,I,g=!0,Q){if(A.size===0)return null;if(this.destroyed||!this.backend)throw new Error(v);return vQ(A,this.backend,this.svgaAtlasMaxSize(),CA.SVGA_ATLAS_PADDING,{captureEncodedPng:I,maxPages:this.svgaAtlasMaxPages(),mainThreadFrameBudgetMs:this.svgaAtlasFrameBudgetMs(),workerTimeSliceMs:this.options.svgaWorkerFrameBudgetMs,useWorker:g,signal:Q})}svgaAtlasMaxPages(){var A;return Math.max(1,Math.floor((A=this.options.svgaAtlasMaxPages)!=null?A:4))}shouldTryWebCodecs(A){return(A==null?void 0:A.mute)!==!1&&this.options.preferWebCodecs===!0&&typeof VideoDecoder!="undefined"}logPlaybackBackend(A,I,g){const Q=I==="webcodecs"?"WebCodecs (mp4box decode)":"HTMLVideoElement",C=g?` — ${g}`:"";console.info(`[GiftStage] ${A.type} [${A.id}]: ${Q}${C}`)}async tryWebCodecsPlayback(A,I){if(!this.shouldTryWebCodecs())return null;try{const g=typeof A=="string"?await ZA(A,I):A;if(I!=null&&I.aborted)throw new Error(v);return await WA.create(g,I,{useWorker:this.options.webCodecsDecodeInWorker!==!1,maxDecodedFrames:this.options.webCodecsMaxDecodedFrames,decodeAheadFrames:this.options.webCodecsDecodeAheadFrames})}catch(g){if(this.isLoadCanceled(g)||I!=null&&I.aborted)throw new Error(v);const Q=g instanceof Error?g.message:String(g);return console.warn(`[GiftStage] WebCodecs path failed, falling back to <video>: ${Q}`),null}}async acquireWebCodecsPlayback(A,I){if(!this.shouldTryWebCodecs(A))return null;if(this.options.shareIdenticalVideoPlayback!==!1&&A.loop===0&&typeof A.source=="string"){const Q=this.normalizeSharedVideoSourceKey(A.source);if(Q)return this.acquireSharedWebCodecsPlayback(Q,I)}const g=await this.tryWebCodecsPlayback(A.source,I);return g?{playback:g,sharedState:null,release:YA(()=>g.destroy())}:null}async acquireSharedWebCodecsPlayback(A,I){var g;const Q=performance.now(),C=Math.max(0,(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:CA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS),E=this.sharedWebCodecsPlaybacks.get(A);if(E){for(const e of E)if(!(e.refs<=0||Q-e.startedAtMs>C))return e.refs++,{playback:e.playback,sharedState:e,release:YA(()=>this.releaseSharedWebCodecsPlayback(e))}}let o=this.pendingSharedWebCodecsPlaybacks.get(A);o||(o=this.createPendingSharedWebCodecsPlayback(A),this.pendingSharedWebCodecsPlaybacks.set(A,o));const i=await this.waitForPendingSharedWebCodecsPlayback(o,I);return i?(i.refs++,{playback:i.playback,sharedState:i,release:YA(()=>this.releaseSharedWebCodecsPlayback(i))}):null}createPendingSharedWebCodecsPlayback(A){const I=new AbortController,g={cacheKey:A,controller:I,consumers:0,settled:!1,promise:null};return g.promise=this.tryWebCodecsPlayback(A,I.signal).then(Q=>{if(g.settled=!0,this.pendingSharedWebCodecsPlaybacks.get(A)===g&&this.pendingSharedWebCodecsPlaybacks.delete(A),!Q)return null;if(g.consumers===0||this.destroyed)return Q.destroy(),null;const C={id:this.nextSharedWebCodecsPlaybackId++,cacheKey:A,refs:0,playback:Q,startedAtMs:performance.now()};let E=this.sharedWebCodecsPlaybacks.get(A);return E||(E=new Set,this.sharedWebCodecsPlaybacks.set(A,E)),E.add(C),C},Q=>{throw g.settled=!0,this.pendingSharedWebCodecsPlaybacks.get(A)===g&&this.pendingSharedWebCodecsPlaybacks.delete(A),Q}),g}waitForPendingSharedWebCodecsPlayback(A,I){return A.consumers++,new Promise((g,Q)=>{let C=!1;const E=i=>{C||(C=!0,I==null||I.removeEventListener("abort",o),A.consumers=Math.max(0,A.consumers-1),A.consumers===0&&!A.settled&&A.controller.abort(),i())},o=()=>{E(()=>Q(new Error(v)))};if(I!=null&&I.aborted){o();return}I==null||I.addEventListener("abort",o,{once:!0}),A.promise.then(i=>E(()=>g(i)),i=>E(()=>Q(i)))})}releaseSharedWebCodecsPlayback(A){if(A.refs=Math.max(0,A.refs-1),A.refs>0)return;A.playback.destroy();const I=this.sharedWebCodecsPlaybacks.get(A.cacheKey);I==null||I.delete(A),(I==null?void 0:I.size)===0&&this.sharedWebCodecsPlaybacks.delete(A.cacheKey)}attachWebCodecsPlayback(A,I){var g,Q,C;A.webcodecsPlayback=I.playback,A.webcodecsSharedState=I.sharedState,A.releaseWebCodecsPlayback=I.release;const E=Math.max(I.playback.duration,1e-9);return A.wcPlaybackTime=I.sharedState?Math.max(0,(performance.now()-I.sharedState.startedAtMs)/1e3)%E:0,(Q=(g=I.playback).ensureDecodedThrough)==null||Q.call(g,A.wcPlaybackTime),(C=I.playback.getFrameForTime(A.wcPlaybackTime))!=null?C:I.playback.getFrameForTime(0)}releaseAttachedWebCodecsPlayback(A){var I;A.releaseWebCodecsPlayback?A.releaseWebCodecsPlayback():(I=A.webcodecsPlayback)==null||I.destroy(),A.releaseWebCodecsPlayback=null,A.webcodecsSharedState=null,A.webcodecsPlayback=null}acquireSharedWebCodecsSurface(A,I,g,Q,C,E,o){const i=A.webcodecsSharedState;if(!i)return null;const e=o?this.options.webCodecsVideoAtlas:void 0;if(e&&e.width>0&&e.height>0){const h=`${i.id}:atlas:${e.width}x${e.height}:${C}x${E}`,w=this.retainSharedWebCodecsSurface(h);if(w)return w;const r=this.nextSharedWebCodecsSurfaceId++,F=`wc-shared-surface:${r}`,n=this.manager.tryAllocateWebCodecsAtlas(F,C,E,e);if(n){try{this.backend.updateTextureRegion(n.handle,I,n.rect.x,n.rect.y,n.rect.w,n.rect.h)}catch(c){throw this.manager.releaseWebCodecsAtlasAllocation(F),c}return this.createSharedWebCodecsSurface(h,r,n.handle,I,n.rect,F)}}const a=`${i.id}:full:${g}x${Q}`,t=this.retainSharedWebCodecsSurface(a);if(t)return t;const s=this.nextSharedWebCodecsSurfaceId++,D=this.backend.createTexture(I,{width:g,height:Q,filter:"linear"});return this.createSharedWebCodecsSurface(a,s,D,I,void 0,null)}retainSharedWebCodecsSurface(A){const I=this.sharedWebCodecsSurfaces.get(A);return I?(I.refs++,{surface:I.surface,release:YA(()=>this.releaseSharedWebCodecsSurface(I))}):null}createSharedWebCodecsSurface(A,I,g,Q,C,E){const o={key:A,refs:1,atlasAllocationId:E,surface:{id:I,texture:g,atlasRect:C,lastUploadedFrame:Q}};return this.sharedWebCodecsSurfaces.set(A,o),{surface:o.surface,release:YA(()=>this.releaseSharedWebCodecsSurface(o))}}releaseSharedWebCodecsSurface(A){var I,g;A.refs=Math.max(0,A.refs-1),!(A.refs>0)&&(this.sharedWebCodecsSurfaces.delete(A.key),A.atlasAllocationId?(I=this.manager)==null||I.releaseWebCodecsAtlasAllocation(A.atlasAllocationId):(g=this.backend)==null||g.deleteTexture(A.surface.texture),A.surface.lastUploadedFrame=null)}attachSharedWebCodecsSurface(A,I){A.webcodecsSurface=I.surface,A.releaseWebCodecsSurface=I.release,A.videoTextureHandle=I.surface.texture,A.wcAtlasRect=I.surface.atlasRect}async loadVAP(A,I){var g,Q,C;if(!I.config)throw new Error("VAP requires config");const E=(g=A.loadAbortController)==null?void 0:g.signal,o=await bg(I.config);this.assertSlotLoadActive(A),A.vapConfig=o;const i=await Pi(o,I.vapSlots);if(this.assertSlotLoadActive(A),i.size>0){const D=TA(o.info),h=zi(o);let w=null;if(this.backend.type==="webgpu"||this.backend.type==="webgl2")try{w=this.createVAPMixResourceTextures(i)}catch(r){console.warn("[GiftStage] VAP main-context mixed textures failed; falling back to compositor",r)}if(w)A.vapMixState={mode:"direct",width:D.w,height:D.h,resourceTextures:w,frameMap:h,lastFrameIndex:-1,lastSourceRef:null};else{let r=null,F=null;try{r=new Ba(o,h,i,D.w,D.h,I.videoRGBAlphaMode!=="straight")}catch(c){console.warn("[GiftStage] VAP mixed rendering fell back to CPU compositor",c),F=_i(D.w,D.h)}const n=this.backend.createEmptyTexture(D.w,D.h,{filter:"linear"});A.vapMixState={mode:"composited",texture:n,width:D.w,height:D.h,composer:r,frameMap:h,resources:r?void 0:i,lastFrameIndex:-1,lastSourceRef:null,...F!=null?F:{}},A.videoTextureHandle=n}}console.info("[GiftStage:WC] loadVAP: try WebCodecs / video…");const a=await this.acquireWebCodecsPlayback(I,E);if(!this.isSlotLoadActive(A))throw a==null||a.release(),new Error(v);if(a){const D=this.attachWebCodecsPlayback(A,a);if(!D)throw this.releaseAttachedWebCodecsPlayback(A),new Error("WebCodecs: missing first frame");if(!A.vapMixState||A.vapMixState.mode==="direct"){const w=D.displayWidth||D.codedWidth,r=D.displayHeight||D.codedHeight,F=!A.vapMixState,{w:n,h:c}=jB(A,w,r,"vap",o),G=this.acquireSharedWebCodecsSurface(A,D,w,r,n,c,F);if(G)this.attachSharedWebCodecsSurface(A,G);else{const y=F?this.manager.tryAllocateWebCodecsAtlas(A.id,n,c,this.options.webCodecsVideoAtlas):null;y?(A.videoTextureHandle=y.handle,A.wcAtlasRect=y.rect,this.backend.updateTextureRegion(y.handle,D,y.rect.x,y.rect.y,n,c)):A.videoTextureHandle=this.backend.createTexture(D,{width:w,height:r,filter:"linear"})}}A.videoElement=null;const h=A.videoTextureHandle;console.info("[GiftStage:WC] VAP texture",{giftId:A.id,atlas:!!A.wcAtlasRect&&!A.vapMixState,mixed:!!A.vapMixState,tex:`${h.width}x${h.height}`,frame0:`${D.displayWidth}x${D.displayHeight}`,atlasCell:A.wcAtlasRect?`${A.wcAtlasRect.w}x${A.wcAtlasRect.h}`:void 0}),this.logPlaybackBackend(A,"webcodecs");return}const t=await this.tryAcquireSharedHtmlVideo(A,I);if(!this.isSlotLoadActive(A))throw t==null||t.release(),new Error(v);if(t)A.videoElement=t.video,A.releaseSharedVideoPlayback=t.release;else{const D=await this.acquireVideoPlaybackSource(I.source);if(!this.isSlotLoadActive(A))throw(Q=D.release)==null||Q.call(D),new Error(v);A.releaseMediaSource=(C=D.release)!=null?C:null;const h=this.createVideo(D.src,I.loop===0,I.mute!==!1);A.videoElement=h}const s=A.videoElement;if(t){await t.ready,this.assertSlotLoadActive(A);const D=this.acquireSharedVideoTexture(t.cacheKey,s);A.videoTextureHandle=D.texture,A.releaseSharedVideoTexture=D.release}else await this.waitVideoReady(s),this.assertSlotLoadActive(A),(!A.vapMixState||A.vapMixState.mode==="direct")&&(A.videoTextureHandle=this.backend.createTexture(s,{width:s.videoWidth,height:s.videoHeight,filter:"linear"}));A.releaseSharedVideoPlayback||this.bindVideoLoopOnEnded(A,s),this.logPlaybackBackend(A,"video",I.mute===!1?"WebCodecs disabled for audible playback":this.shouldTryWebCodecs(I)?"fallback after WebCodecs unavailable or failed":"preferWebCodecs off or no VideoDecoder")}createVAPMixResourceTextures(A){const I=new Map;try{for(const[g,Q]of A)I.set(g,this.backend.createTexture(Q.source,{width:Q.width,height:Q.height,filter:"linear",premultiplyAlpha:!1}));return I}catch(g){for(const Q of I.values())this.backend.deleteTexture(Q);throw g}}async loadAlphaVideo(A,I){var g,Q,C;const E=(g=A.loadAbortController)==null?void 0:g.signal;console.info("[GiftStage:WC] loadAlphaVideo: try WebCodecs / video…");const o=await this.acquireWebCodecsPlayback(I,E);if(!this.isSlotLoadActive(A))throw o==null||o.release(),new Error(v);if(o){const a=this.attachWebCodecsPlayback(A,o);if(!a)throw this.releaseAttachedWebCodecsPlayback(A),new Error("WebCodecs: missing first frame");const t=a.displayWidth||a.codedWidth,s=a.displayHeight||a.codedHeight,{w:D,h}=jB(A,t,s,"alphaVideo",void 0),w=this.acquireSharedWebCodecsSurface(A,a,t,s,D,h,!0);if(w)this.attachSharedWebCodecsSurface(A,w);else{const F=this.manager.tryAllocateWebCodecsAtlas(A.id,D,h,this.options.webCodecsVideoAtlas);F?(A.videoTextureHandle=F.handle,A.wcAtlasRect=F.rect,this.backend.updateTextureRegion(F.handle,a,F.rect.x,F.rect.y,D,h)):A.videoTextureHandle=this.backend.createTexture(a,{width:t,height:s,filter:"linear"})}A.videoElement=null;const r=A.videoTextureHandle;console.info("[GiftStage:WC] alphaVideo texture",{giftId:A.id,atlas:!!A.wcAtlasRect,tex:`${r.width}x${r.height}`,frame0:`${a.displayWidth}x${a.displayHeight}`,atlasCell:A.wcAtlasRect?`${A.wcAtlasRect.w}x${A.wcAtlasRect.h}`:void 0}),this.logPlaybackBackend(A,"webcodecs");return}const i=await this.tryAcquireSharedHtmlVideo(A,I);if(!this.isSlotLoadActive(A))throw i==null||i.release(),new Error(v);if(i)A.videoElement=i.video,A.releaseSharedVideoPlayback=i.release;else{const a=await this.acquireVideoPlaybackSource(I.source);if(!this.isSlotLoadActive(A))throw(Q=a.release)==null||Q.call(a),new Error(v);A.releaseMediaSource=(C=a.release)!=null?C:null;const t=this.createVideo(a.src,I.loop===0,I.mute!==!1);A.videoElement=t}const e=A.videoElement;if(i){await i.ready,this.assertSlotLoadActive(A);const a=this.acquireSharedVideoTexture(i.cacheKey,e);A.videoTextureHandle=a.texture,A.releaseSharedVideoTexture=a.release}else await this.waitVideoReady(e),this.assertSlotLoadActive(A),A.videoTextureHandle=this.backend.createTexture(e,{width:e.videoWidth,height:e.videoHeight,filter:"linear"});A.releaseSharedVideoPlayback||this.bindVideoLoopOnEnded(A,e),this.logPlaybackBackend(A,"video",I.mute===!1?"WebCodecs disabled for audible playback":this.shouldTryWebCodecs(I)?"fallback after WebCodecs unavailable or failed":"preferWebCodecs off or no VideoDecoder")}bindVideoLoopOnEnded(A,I){I.addEventListener("ended",()=>{var g;if(A.state!=="playing")return;const Q=(g=A.options.loop)!=null?g:1;if(Q===0){I.currentTime=0,I.play();return}if(A.loopCount++,A.loopCount>=Q){this.completeHtmlVideoPlayback(A);return}I.currentTime=0,I.play().catch(()=>{})}),this.armHtmlVideoPlaybackWatchdog(A,I)}clearHtmlVideoPlaybackWatchdog(A){A.videoPlaybackWatchdogTimer!=null&&(clearTimeout(A.videoPlaybackWatchdogTimer),A.videoPlaybackWatchdogTimer=null)}completeHtmlVideoPlayback(A){var I,g;if(A.state!=="playing"||A.videoPlaybackCompletionStarted)return;A.videoPlaybackCompletionStarted=!0,this.clearHtmlVideoPlaybackWatchdog(A);let Q;Q={id:A.id,type:A.type,pause:()=>{},resume:()=>{},destroy:()=>this.removeGift(A.id),animate:C=>this.createGiftAnimationChain(A,Q,C)};try{(I=A.onComplete)==null||I.call(A,Q)}finally{A.state=A.options.clearsAfterStop===!1?"stopped":"finished",(g=this.manager)==null||g.invalidate()}}armHtmlVideoPlaybackWatchdog(A,I){var g;this.clearHtmlVideoPlaybackWatchdog(A);const Q=(g=A.options.loop)!=null?g:1,C=I.duration;if(Q<=0||!Number.isFinite(C)||C<=0)return;const E=Math.max(1,Math.ceil(Q)),o=C*E*1e3;if(!Number.isFinite(o))return;const i=Math.min(CA.HTML_VIDEO_WATCHDOG_MAX_GRACE_MS,Math.max(CA.HTML_VIDEO_WATCHDOG_MIN_GRACE_MS,o*CA.HTML_VIDEO_WATCHDOG_GRACE_RATIO)),e=performance.now()+o+i,a=()=>{if(A.state==="finished"||A.state==="stopped"){A.videoPlaybackWatchdogTimer=null;return}const t=e-performance.now();if(t>0){A.videoPlaybackWatchdogTimer=setTimeout(a,Math.min(t,CA.MAX_TIMER_DELAY_MS));return}A.videoPlaybackWatchdogTimer=null,A.state==="playing"&&(console.warn("[GiftStage] HTMLVideo playback timed out; completing gift",{giftId:A.id,type:A.type,duration:C,loop:E}),this.completeHtmlVideoPlayback(A))};A.videoPlaybackWatchdogTimer=setTimeout(a,Math.min(o+i,CA.MAX_TIMER_DELAY_MS))}createVideo(A,I,g=!0){const Q=document.createElement("video");return Q.crossOrigin="anonymous",Q.autoplay=!0,Q.preload="auto",Q.muted=g,Q.defaultMuted=g,Q.playsInline=!0,Q.setAttribute("playsinline",""),Q.setAttribute("webkit-playsinline","true"),Q.loop=I,Q.style.cssText="display:none;",Q.src=A,document.body.appendChild(Q),Q.load(),Q}waitVideoMetadata(A){return new Promise((I,g)=>{let Q=!1,C=null;const E=()=>{A.removeEventListener("loadedmetadata",i),A.removeEventListener("error",e),C!=null&&clearTimeout(C),C=null},o=a=>{Q||(Q=!0,E(),a())},i=()=>{o(I)},e=()=>{o(()=>g(new Error("Video metadata load failed")))};A.addEventListener("loadedmetadata",i),A.addEventListener("error",e),C=setTimeout(()=>o(()=>g(new Error("Video metadata load timed out"))),CA.HTML_VIDEO_READY_TIMEOUT_MS),A.readyState>=HTMLMediaElement.HAVE_METADATA&&o(I)})}async probeVideoNaturalSize(A,I="video"){var g;const Q=await this.acquireVideoPlaybackSource(A),C=document.createElement("video");C.crossOrigin="anonymous",C.preload="metadata",C.muted=!0,C.playsInline=!0,C.setAttribute("playsinline",""),C.setAttribute("webkit-playsinline","true"),C.style.cssText="display:none;",C.src=Q.src,document.body.appendChild(C),C.load();try{return await this.waitVideoMetadata(C),I==="alphaVideo"?sa(C.videoWidth,C.videoHeight):{width:C.videoWidth,height:C.videoHeight}}finally{try{C.pause(),C.removeAttribute("src"),C.load(),C.remove()}catch(E){}(g=Q.release)==null||g.call(Q)}}async acquireVideoPlaybackSource(A){if(typeof A!="string"){const Q=URL.createObjectURL(new Blob([A]));return{src:Q,release:()=>URL.revokeObjectURL(Q)}}const I=this.normalizeSharedVideoSourceKey(A);if(!I)return{src:A};let g=this.sharedVideoSources.get(I);g||(g={refs:0,objectUrl:null,promise:this.fetchSharedVideoSource(I)},this.sharedVideoSources.set(I,g)),g.refs++;try{return{src:await g.promise,release:()=>this.releaseSharedVideoSource(I)}}catch(Q){return this.releaseSharedVideoSource(I),console.warn("[GiftStage] shared video prefetch failed, using original url",Q),{src:A}}}normalizeSharedVideoSourceKey(A){try{const I=new URL(A,window.location.href);return I.protocol==="blob:"||I.protocol==="data:"?null:I.href}catch(I){return null}}async fetchSharedVideoSource(A){const I=new Blob([await ZA(A)]),g=this.sharedVideoSources.get(A),Q=URL.createObjectURL(I);return g&&(g.objectUrl=Q,g.refs===0&&(URL.revokeObjectURL(Q),this.sharedVideoSources.delete(A))),Q}releaseSharedVideoSource(A){const I=this.sharedVideoSources.get(A);I&&(I.refs=Math.max(0,I.refs-1),I.refs===0&&I.objectUrl&&(URL.revokeObjectURL(I.objectUrl),this.sharedVideoSources.delete(A)))}async tryAcquireSharedHtmlVideo(A,I){var g,Q;if(this.options.shareIdenticalVideoPlayback===!1||I.loop!==0||typeof I.source!="string"||A.type==="vap"&&A.vapMixState)return null;const C=this.normalizeSharedVideoSourceKey(I.source);if(!C)return null;const E=`${C}::muted=${I.mute!==!1?1:0}`,o=(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:CA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS,i=Math.max(0,o)/1e3,e=this.sharedHtmlVideos.get(E);if(e)return e.video.currentTime>i?null:(e.refs++,{cacheKey:E,video:e.video,ready:e.ready,release:()=>this.releaseSharedHtmlVideo(E)});let a=this.pendingSharedHtmlVideos.get(E);a||(a=(async()=>{var D;const h=await this.acquireVideoPlaybackSource(I.source),w=this.createVideo(h.src,!0,I.mute!==!1),r=this.waitVideoReady(w);return{video:w,ready:r,releaseSource:(D=h.release)!=null?D:null}})(),this.pendingSharedHtmlVideos.set(E,a));let t;try{t=await a}catch(D){throw this.pendingSharedHtmlVideos.delete(E),D}let s=this.sharedHtmlVideos.get(E);return s?s.refs++:(s={refs:1,video:t.video,ready:t.ready,releaseSource:(Q=t.releaseSource)!=null?Q:null},this.sharedHtmlVideos.set(E,s)),this.pendingSharedHtmlVideos.delete(E),{cacheKey:E,video:s.video,ready:s.ready,release:()=>this.releaseSharedHtmlVideo(E)}}acquireSharedVideoTexture(A,I){const g=this.sharedVideoTextures.get(A);if(g)return g.refs++,{texture:g.texture,release:()=>this.releaseSharedVideoTexture(A)};const Q=this.backend.createTexture(I,{width:I.videoWidth,height:I.videoHeight,filter:"linear"});return this.sharedVideoTextures.set(A,{refs:1,texture:Q}),{texture:Q,release:()=>this.releaseSharedVideoTexture(A)}}async acquireImageTexture(A,I){if(typeof A!="string"){const E=await Lg(A,I);try{if(Y(I,"Image loading aborted"),this.destroyed||!this.backend)throw new Error("GiftStage is destroyed");const o=this.backend.createTexture(E.source,{width:E.width,height:E.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:E.sourcePremultiplied});return{texture:o,width:E.width,height:E.height,release:YA(()=>{var i;return(i=this.backend)==null?void 0:i.deleteTexture(o)})}}finally{E.dispose()}}const g=this.sharedImageTextures.get(A);if(g)return g.refs++,{texture:g.texture,width:g.width,height:g.height,release:YA(()=>this.releaseSharedImageTexture(A))};let Q=this.pendingSharedImageTextures.get(A);if(!Q){Q=(async()=>{const o=await Lg(A);try{if(this.destroyed||!this.backend)throw new Error("GiftStage is destroyed");const e={refs:0,texture:this.backend.createTexture(o.source,{width:o.width,height:o.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:o.sourcePremultiplied}),width:o.width,height:o.height};return this.sharedImageTextures.set(A,e),e}finally{o.dispose()}})(),this.pendingSharedImageTextures.set(A,Q);const E=()=>{this.pendingSharedImageTextures.get(A)===Q&&this.pendingSharedImageTextures.delete(A),queueMicrotask(()=>{var o;const i=this.sharedImageTextures.get(A);(i==null?void 0:i.refs)===0&&((o=this.backend)==null||o.deleteTexture(i.texture),this.sharedImageTextures.delete(A))})};Q.then(E,E)}const C=await Q;return Y(I,"Image loading aborted"),C.refs++,{texture:C.texture,width:C.width,height:C.height,release:YA(()=>this.releaseSharedImageTexture(A))}}releaseSharedImageTexture(A){var I;const g=this.sharedImageTextures.get(A);g&&(g.refs=Math.max(0,g.refs-1),!(g.refs>0)&&((I=this.backend)==null||I.deleteTexture(g.texture),this.sharedImageTextures.delete(A)))}releaseSharedVideoTexture(A){var I;const g=this.sharedVideoTextures.get(A);g&&(g.refs=Math.max(0,g.refs-1),!(g.refs>0)&&((I=this.backend)==null||I.deleteTexture(g.texture),this.sharedVideoTextures.delete(A)))}releaseSharedHtmlVideo(A){var I;const g=this.sharedHtmlVideos.get(A);if(g&&(g.refs=Math.max(0,g.refs-1),!(g.refs>0))){try{g.video.pause(),g.video.removeAttribute("src"),g.video.load(),g.video.remove()}catch(Q){}(I=g.releaseSource)==null||I.call(g),this.sharedHtmlVideos.delete(A)}}waitForFirstVideoFrame(A){return new Promise(I=>{typeof A.requestVideoFrameCallback=="function"?A.requestVideoFrameCallback(()=>I()):requestAnimationFrame(()=>I())})}waitVideoReady(A){return new Promise((I,g)=>{let Q=!1,C=!1,E=null;const o=()=>{A.removeEventListener("canplay",a),A.removeEventListener("error",t),E!=null&&clearTimeout(E),E=null},i=s=>{Q||(Q=!0,o(),s())},e=async()=>{if(!(C||Q)){C=!0;try{try{await A.play()}catch(s){if(A.muted)throw s;console.warn("[GiftStage] audible HTMLVideo autoplay was blocked; retrying muted",s),A.muted=!0,A.defaultMuted=!0,await A.play()}await this.waitForFirstVideoFrame(A),i(I)}catch(s){i(()=>g(s))}}},a=()=>{e()},t=()=>{i(()=>g(new Error("Video load failed")))};A.addEventListener("canplay",a),A.addEventListener("error",t),E=setTimeout(()=>i(()=>g(new Error("Video ready timed out"))),CA.HTML_VIDEO_READY_TIMEOUT_MS),A.readyState>=HTMLMediaElement.HAVE_FUTURE_DATA&&e()})}removeGift(A){var I;this.resolveGiftPlaybackWaiters(A),this.completedPlaybackSlots.delete(A),this.playbackCompleteWaiters.delete(A),(I=this.manager)==null||I.removeSlot(A)}removeAll(){if(this.manager)for(const A of this.manager.getSlotIds())this.manager.removeSlot(A)}pause(){var A;(A=this.manager)==null||A.pause()}resume(){var A;(A=this.manager)==null||A.resume()}get activeCount(){var A,I;return(I=(A=this.manager)==null?void 0:A.activeCount)!=null?I:0}get backendType(){var A,I;return(I=(A=this.backend)==null?void 0:A.type)!=null?I:"webgl2"}destroy(){var A,I,g;this.destroyed=!0;for(const Q of this.pendingSharedSVGAEntities.values())Q.controller.abort();for(const Q of this.pendingSharedWebCodecsPlaybacks.values())Q.controller.abort();this.pendingSharedWebCodecsPlaybacks.clear(),(A=this.resizeObserver)==null||A.disconnect(),this.resizeObserver=null,window.removeEventListener("resize",this.onWindowLayout),window.removeEventListener("orientationchange",this.onWindowLayout);for(const Q of this.sharedImageTextures.values())(I=this.backend)==null||I.deleteTexture(Q.texture);this.sharedImageTextures.clear(),this.pendingSharedImageTextures.clear(),(g=this.manager)==null||g.destroy();for(const[Q]of this.sharedHtmlVideos)this.releaseSharedHtmlVideo(Q);for(const[Q]of this.sharedSVGAEntities)this.releaseSharedSVGAEntity(Q);for(const[Q]of this.sharedVideoTextures)this.releaseSharedVideoTexture(Q);this.pendingSharedSVGAEntities.clear(),this.pendingSharedHtmlVideos.clear();for(const Q of this.sharedWebCodecsPlaybacks.values())for(const C of Q)C.playback.destroy();this.sharedWebCodecsPlaybacks.clear(),this.sharedWebCodecsSurfaces.clear(),this.completedPlaybackSlots.clear(),this.playbackCompleteWaiters.clear();for(const[Q,C]of this.sharedVideoSources)C.objectUrl&&URL.revokeObjectURL(C.objectUrl),this.sharedVideoSources.delete(Q);this.canvas.remove(),this.backend=null,this.manager=null}markGiftPlaybackComplete(A){this.completedPlaybackSlots.add(A),this.resolveGiftPlaybackWaiters(A)}resolveGiftPlaybackWaiters(A){const I=this.playbackCompleteWaiters.get(A);if(!(!I||I.size===0)){for(const g of I)g();this.playbackCompleteWaiters.delete(A)}}waitForGiftPlaybackComplete(A){var I;return this.completedPlaybackSlots.has(A)||!((I=this.manager)!=null&&I.getSlot(A))?Promise.resolve():new Promise(g=>{let Q=this.playbackCompleteWaiters.get(A);Q||(Q=new Set,this.playbackCompleteWaiters.set(A,Q)),Q.add(g)})}};q(rA,"SVGA_ATLAS_MAX_SIZE",2048);q(rA,"SVGA_ATLAS_PADDING",2);q(rA,"DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS",100);q(rA,"HTML_VIDEO_READY_TIMEOUT_MS",15e3);q(rA,"HTML_VIDEO_WATCHDOG_MIN_GRACE_MS",2e3);q(rA,"HTML_VIDEO_WATCHDOG_MAX_GRACE_MS",1e4);q(rA,"HTML_VIDEO_WATCHDOG_GRACE_RATIO",.2);q(rA,"MAX_TIMER_DELAY_MS",2147e6);q(rA,"DEFAULT_RESOURCE_CACHE_MEMORY_BYTES",128*1024*1024);q(rA,"DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES",2048*1024*1024);let Fa=rA;exports.AlphaVideoRenderer=YQ;exports.AudioManager=JQ;exports.BufferPool=DQ;exports.GiftStage=Fa;exports.ImageRenderer=dQ;exports.PostAnimator=KQ;exports.RenderManager=kI;exports.SVGABatchRenderer=RQ;exports.VAPRenderer=UQ;exports.WebCodecsMp4Playback=WA;exports.WebGL1Backend=ug;exports.WebGL2Backend=IQ;exports.WebGPUBackend=AQ;exports.buildAtlas=vQ;exports.buildBatchVerticesJS=ZI;exports.canSharedArrayBuffer=TC;exports.canWebGL1=bC;exports.canWebGL2=xC;exports.canWebGPU=mC;exports.clamp=vI;exports.createBackend=QQ;exports.decodeSVGAProto=Vg;exports.easeInOutCubic=Ue;exports.easeInOutQuad=ke;exports.easeInQuad=le;exports.easeOutBack=Ye;exports.easeOutCubic=XQ;exports.easeOutQuad=Se;exports.generateId=hQ;exports.inflateJS=Zg;exports.initWasm=sQ;exports.isWasmReady=_A;exports.lerp=sA;exports.linear=Ne;exports.ortho=JA;exports.parseSVGA=jI;exports.parseVAPConfig=bg;
3285
+ `}function Dt(B,A,I){return{vertex:st(I),fragment:at(B,A,I)}}function ht(B,A,I,g,Q=new Float32Array(I.size*LI)){Q.fill(0);const C=A.get(g);if(!C||C.length===0)return Q;const[E,o]=B.info.rgbFrame;let i=0;for(const e of C){const t=I.get(String(e.srcId));if(!t)continue;if(i+LI>Q.length)break;const[a,s,D,h]=e.frame,[n,c,F,w]=e.mFrame,r=ag(a+E,s+o,D,h,B.info.videoW,B.info.videoH),G=ag(n,c,F,w,B.info.videoW,B.info.videoH);Q[i++]=t,Q[i++]=r[0],Q[i++]=r[1],Q[i++]=r[2],Q[i++]=r[3],Q[i++]=G[0],Q[i++]=G[1],Q[i++]=G[2],Q[i++]=G[3]}return Q}class nt{constructor(A,I,g,Q,C,E=!0){this.config=A,this.frameMap=I,oA(this,"canvas"),oA(this,"gl"),oA(this,"program"),oA(this,"vertexShader"),oA(this,"fragmentShader"),oA(this,"vertexBuffer"),oA(this,"videoTexture"),oA(this,"imagePosLoc"),oA(this,"imagePositionsScratch"),oA(this,"resourceEntries"),oA(this,"textureUnitBySrcId",new Map),oA(this,"videoTextureWidth",1),oA(this,"videoTextureHeight",1);var o;if(g.size===0)throw new Error("VAP mix composer requires at least one slot resource");this.canvas=ot(Q,C);const i={alpha:!0,antialias:!1,depth:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,stencil:!1};let e=!0,t=this.canvas.getContext("webgl2",i);if(t||(e=!1,t=this.canvas.getContext("webgl",i)||this.canvas.getContext("experimental-webgl",i)),!t)throw new Error("VAP mixed rendering requires WebGL support");this.gl=t;const a=Math.max(1,t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS)),s=Math.max(0,a-1),D=[];let h=1;for(const l of(o=A.src)!=null?o:[]){const U=g.get(String(l.srcId));if(!U)continue;if(h>s){console.warn("[GiftStage] VAP mixed resources exceed texture unit limit, skipping",{srcId:l.srcId,srcTag:l.srcTag,maxUnits:a});continue}const Y=IQ(t,h,U.source,!0),S={srcId:String(l.srcId),unit:h,texture:Y};D.push(S),this.textureUnitBySrcId.set(S.srcId,S.unit),h++}if(D.length===0)throw new Error("VAP mixed rendering could not bind any slot resources");this.resourceEntries=D;let n=1;for(const l of I.values())n=Math.max(n,l.length);this.imagePositionsScratch=new Float32Array(n*LI);const c=Dt(this.resourceEntries.length,n,e),F=et(t,c.vertex,c.fragment);this.program=F.program,this.vertexShader=F.vertexShader,this.fragmentShader=F.fragmentShader,this.imagePosLoc=t.getUniformLocation(this.program,"image_pos"),this.videoTexture=IQ(t,0);const w=t.getUniformLocation(this.program,"u_image_video");w!==null&&t.uniform1i(w,0);const r=t.getUniformLocation(this.program,"u_rgbPremultiplied");r!==null&&t.uniform1f(r,E?1:0);for(const l of this.resourceEntries){const U=t.getUniformLocation(this.program,`u_image${l.unit}`);U!==null&&t.uniform1i(U,l.unit)}const G=t.createBuffer();if(!G)throw new Error("Failed to create VAP mix vertex buffer");this.vertexBuffer=G,t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,tt(A.info),t.STATIC_DRAW);const M=6*Float32Array.BYTES_PER_ELEMENT,R=t.getAttribLocation(this.program,"a_position"),y=t.getAttribLocation(this.program,"a_texCoord"),N=t.getAttribLocation(this.program,"a_alpha_texCoord");t.enableVertexAttribArray(R),t.vertexAttribPointer(R,2,t.FLOAT,!1,M,0),t.enableVertexAttribArray(y),t.vertexAttribPointer(y,2,t.FLOAT,!1,M,2*Float32Array.BYTES_PER_ELEMENT),t.enableVertexAttribArray(N),t.vertexAttribPointer(N,2,t.FLOAT,!1,M,4*Float32Array.BYTES_PER_ELEMENT),t.viewport(0,0,this.canvas.width,this.canvas.height),t.disable(t.BLEND),t.disable(t.DEPTH_TEST),t.clearColor(0,0,0,0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),t.pixelStorei(t.UNPACK_COLORSPACE_CONVERSION_WEBGL,t.NONE)}render(A,I){const g=this.gl;g.useProgram(this.program),g.activeTexture(g.TEXTURE0),g.bindTexture(g.TEXTURE_2D,this.videoTexture),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,1);const Q=lI(A),C=NI(A);Q>0&&C>0&&Q===this.videoTextureWidth&&C===this.videoTextureHeight?g.texSubImage2D(g.TEXTURE_2D,0,0,0,g.RGBA,g.UNSIGNED_BYTE,A):(g.texImage2D(g.TEXTURE_2D,0,g.RGBA,g.RGBA,g.UNSIGNED_BYTE,A),Q>0&&C>0&&(this.videoTextureWidth=Q,this.videoTextureHeight=C)),g.pixelStorei(g.UNPACK_FLIP_Y_WEBGL,0);const E=ht(this.config,this.frameMap,this.textureUnitBySrcId,I,this.imagePositionsScratch);return this.imagePosLoc!==null&&g.uniform1fv(this.imagePosLoc,E),g.clear(g.COLOR_BUFFER_BIT),g.drawArrays(g.TRIANGLE_STRIP,0,4),this.canvas}destroy(){const A=this.gl;for(const g of this.resourceEntries)A.deleteTexture(g.texture);A.deleteTexture(this.videoTexture),A.deleteBuffer(this.vertexBuffer),A.deleteProgram(this.program),A.deleteShader(this.vertexShader),A.deleteShader(this.fragmentShader);const I=A.getExtension("WEBGL_lose_context");I==null||I.loseContext()}}var wt=Object.defineProperty,rt=(B,A,I)=>A in B?wt(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,UA=(B,A,I)=>rt(B,typeof A!="symbol"?A+"":A,I);const $Q=1397178947,AC=14,ct=8,kA=64*1024;function IC(B){return B+3&-4}class Ft{constructor(A=1024){UA(this,"buffer"),UA(this,"view"),UA(this,"bytes"),UA(this,"offset",0),UA(this,"encoder",new TextEncoder),this.buffer=new ArrayBuffer(A),this.view=new DataView(this.buffer),this.bytes=new Uint8Array(this.buffer)}ensure(A){const I=this.offset+A;if(I<=this.buffer.byteLength)return;let g=this.buffer.byteLength;for(;g<I;)g*=2;const Q=new ArrayBuffer(g);new Uint8Array(Q).set(this.bytes.subarray(0,this.offset)),this.buffer=Q,this.view=new DataView(this.buffer),this.bytes=new Uint8Array(this.buffer)}async ensureCooperative(A,I){const g=this.offset+A;if(g<=this.buffer.byteLength)return;let Q=this.buffer.byteLength;for(;Q<g;)Q*=2;const C=new ArrayBuffer(Q),E=new Uint8Array(C);for(let o=0;o<this.offset;o+=kA){const i=Math.min(o+kA,this.offset);E.set(this.bytes.subarray(o,i),o),i<this.offset&&await(I==null?void 0:I())}this.buffer=C,this.view=new DataView(this.buffer),this.bytes=E}u8(A){this.ensure(1),this.view.setUint8(this.offset,A),this.offset+=1}u16(A){this.ensure(2),this.view.setUint16(this.offset,A,!0),this.offset+=2}u32(A){this.ensure(4),this.view.setUint32(this.offset,A,!0),this.offset+=4}i32(A){this.ensure(4),this.view.setInt32(this.offset,A|0,!0),this.offset+=4}f32(A){this.ensure(4),this.view.setFloat32(this.offset,A,!0),this.offset+=4}bytesValue(A){this.u32(A.byteLength),this.ensure(A.byteLength),this.bytes.set(A,this.offset),this.offset+=A.byteLength}rawBytes(A){this.ensure(A.byteLength),this.bytes.set(A,this.offset),this.offset+=A.byteLength}async bytesValueCooperative(A,I){await this.ensureCooperative(4+A.byteLength,I),this.u32(A.byteLength),await this.rawBytesCooperative(A,I)}async rawBytesCooperative(A,I){await this.ensureCooperative(A.byteLength,I);for(let g=0;g<A.byteLength;g+=kA){const Q=Math.min(g+kA,A.byteLength);this.bytes.set(A.subarray(g,Q),this.offset),this.offset+=Q-g,Q<A.byteLength&&await(I==null?void 0:I())}}async stringCooperative(A,I){await this.bytesValueCooperative(this.encoder.encode(A),I)}string(A){this.bytesValue(this.encoder.encode(A))}pad4(){const A=IC(this.offset)-this.offset;for(let I=0;I<A;I++)this.u8(0)}finish(){return this.buffer.slice(0,this.offset)}async finishCooperative(A){const I=new Uint8Array(this.offset),g=this.bytes.subarray(0,this.offset);for(let Q=0;Q<g.byteLength;Q+=kA){const C=Math.min(Q+kA,g.byteLength);I.set(g.subarray(Q,C),Q),C<g.byteLength&&A.shouldYield()&&await A.yield()}return I.buffer}}class Gt{constructor(A){this.buffer=A,UA(this,"view"),UA(this,"bytes"),UA(this,"offset",0),UA(this,"decoder",new TextDecoder),this.view=new DataView(A),this.bytes=new Uint8Array(A)}get position(){return this.offset}skip(A){this.offset+=A}pad4(){this.offset=IC(this.offset)}u8(){const A=this.view.getUint8(this.offset);return this.offset+=1,A}u16(){const A=this.view.getUint16(this.offset,!0);return this.offset+=2,A}u32(){const A=this.view.getUint32(this.offset,!0);return this.offset+=4,A}i32(){const A=this.view.getInt32(this.offset,!0);return this.offset+=4,A}f32(){const A=this.view.getFloat32(this.offset,!0);return this.offset+=4,A}bytesValue(){const A=this.u32(),I=this.bytes.slice(this.offset,this.offset+A);return this.offset+=A,I}async ownedBytesValueCooperative(A){const I=this.u32(),g=this.bytes.subarray(this.offset,this.offset+I);this.offset+=I;const Q=new Uint8Array(I);for(let C=0;C<I;C+=kA){const E=Math.min(C+kA,I);Q.set(g.subarray(C,E),C),E<I&&A.shouldYield()&&await A.yield()}return Q.buffer}string(){return this.decoder.decode(this.bytesValue())}sourceBuffer(){return this.buffer}}function gC(B){var A,I;let g=0;for(const C of B.atlasPages)g+=C.imageBytes.byteLength;for(const[C,E]of B.audioBlobs)g+=C.length*2+E.byteLength;for(const[C]of B.atlasRects)g+=C.length*2+20;if(B.clipMeshes)for(const[C,E]of B.clipMeshes)g+=C.length*2+E.vertices.byteLength+E.indices.byteLength;const Q=B.spriteTable;g+=Q.frameData.byteLength,g+=Q.clipPathIndex.byteLength,g+=Q.shapesIndex.byteLength;for(const C of Q.imageKeys)g+=C.length*2;for(const C of Q.clipPaths)g+=C.length*2;for(const C of Q.shapesTable)for(const E of C)g+=((I=(A=E.pathData)==null?void 0:A.length)!=null?I:0)*2+96;return g}async function aA(B){B.shouldYield()&&await B.yield()}async function yt(B,A){var I,g,Q;const C=B.spriteTable,E=iA({maxBudgetMs:A}),o=()=>aA(E),i=new Ft(ct+gC(B)+kA);i.u32($Q),i.u16(AC),i.u16(0),i.f32(B.params.viewBoxWidth),i.f32(B.params.viewBoxHeight),i.f32(B.params.fps),i.u32(B.params.frames),i.u32(B.atlasPages.length);for(const e of B.atlasPages)i.u32(e.width),i.u32(e.height),await i.bytesValueCooperative(new Uint8Array(e.imageBytes),o),await aA(E);i.u32(B.atlasRects.size);for(const[e,t]of B.atlasRects)await i.stringCooperative(e,o),i.u32((I=t.textureIndex)!=null?I:0),i.f32(t.x),i.f32(t.y),i.f32(t.w),i.f32(t.h),await aA(E);i.u32(B.audios.length);for(const e of B.audios)await i.stringCooperative(e.audioKey,o),i.u32(e.startFrame),i.u32(e.endFrame),i.f32(e.startTime),i.f32(e.totalTime),await aA(E);i.u32(B.audioBlobs.size);for(const[e,t]of B.audioBlobs)await i.stringCooperative(e,o),await i.bytesValueCooperative(new Uint8Array(t),o),await aA(E);if(await vo(i,C,o),i.u32((Q=(g=B.clipMeshes)==null?void 0:g.size)!=null?Q:0),B.clipMeshes)for(const[e,t]of B.clipMeshes)await i.stringCooperative(e,o),await i.bytesValueCooperative(new Uint8Array(t.vertices.buffer,t.vertices.byteOffset,t.vertices.byteLength),o),await i.bytesValueCooperative(new Uint8Array(t.indices.buffer,t.indices.byteOffset,t.indices.byteLength),o),await aA(E);return i.finishCooperative(E)}async function Rt(B,A){const I=iA({maxBudgetMs:A}),g=new Gt(B);if(g.u32()!==$Q)throw new Error("Invalid SVGA cache binary magic");if(g.u16()!==AC)throw new Error("Unsupported SVGA cache binary version");g.u16();const Q={viewBoxWidth:g.f32(),viewBoxHeight:g.f32(),fps:g.f32(),frames:g.u32()},C=g.u32(),E=[];for(let c=0;c<C;c++){const F=g.u32(),w=g.u32(),r=await g.ownedBytesValueCooperative(I);E.push({width:F,height:w,imageBytes:r}),await aA(I)}const o=g.u32(),i=new Map;for(let c=0;c<o;c++){const F=g.string(),w=g.u32();i.set(F,{textureIndex:w,x:g.f32(),y:g.f32(),w:g.f32(),h:g.f32()}),await aA(I)}const e=g.u32(),t=[];for(let c=0;c<e;c++)t.push({audioKey:g.string(),startFrame:g.u32(),endFrame:g.u32(),startTime:g.f32(),totalTime:g.f32()}),await aA(I);const a=g.u32(),s=new Map;for(let c=0;c<a;c++){const F=g.string();s.set(F,await g.ownedBytesValueCooperative(I)),await aA(I)}const D=await bQ(g,()=>aA(I)),h=g.u32(),n=new Map;for(let c=0;c<h;c++){const F=g.string(),w=new Float32Array(await g.ownedBytesValueCooperative(I)),r=new Uint32Array(await g.ownedBytesValueCooperative(I));F&&w.length>=6&&r.length>=3&&n.set(F,{vertices:w,indices:r}),await aA(I)}return{params:Q,spriteTable:D,audios:t,audioBlobs:s,atlasRects:i,atlasPages:E,clipMeshes:n}}function zg(B){return`svga-asset:${B}`}function _g(B){return`svga-asset-bin:${B}`}async function Mt(B,A={}){const I=ui(zg(B),"svga-asset");if(I)return I;const g=await Hi(_g(B));if(!g)return null;try{const Q=await Rt(g,A.frameBudgetMs);return SQ(zg(B),"svga-asset",Q,g.byteLength),Q}catch(Q){return pi(_g(B)),null}}async function qg(B,A,I={}){const g=await yt(A,I.frameBudgetMs);SQ(zg(B),"svga-asset",A,Math.max(g.byteLength,gC(A))),await qi(_g(B),g)}function JA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function lt(B,A){const I=JA(B)?B*.5:0,g=JA(A)?A:0;return{width:I,height:g}}function Nt(B,A,I,g){const Q=JA(A.width)?A.width:void 0,C=JA(A.height)?A.height:void 0,E=JA(B.width)?B.width:void 0,o=JA(B.height)?B.height:void 0,i=B.useOriginalSize===!0;if(E&&o)return{width:E,height:o};if(E)return Q&&C?{width:E,height:E*C/Q}:{width:E,height:E};if(o)return Q&&C?{width:o*Q/C,height:o}:{width:o,height:o};let e=Q!=null?Q:0,t=C!=null?C:0;if(e>0&&t>0&&JA(I)&&JA(g)&&(!i||e>I||t>g)){const a=Math.min(I/e,g/t);e*=a,t*=a}return{width:e,height:t}}function St(B,A){var I,g,Q;if(typeof B=="string"){const E=(I=/^data:(image\/[a-z0-9.+-]+)/i.exec(B))==null?void 0:I[1];if(E)return E;const o=(Q=(g=B.split(/[?#]/,1)[0])==null?void 0:g.toLowerCase())!=null?Q:"";if(o.endsWith(".svg"))return"image/svg+xml";if(o.endsWith(".png"))return"image/png";if(o.endsWith(".jpg")||o.endsWith(".jpeg"))return"image/jpeg";if(o.endsWith(".webp"))return"image/webp";if(o.endsWith(".gif"))return"image/gif";if(o.endsWith(".avif"))return"image/avif"}if(A[0]===137&&A[1]===80&&A[2]===78&&A[3]===71)return"image/png";if(A[0]===255&&A[1]===216&&A[2]===255)return"image/jpeg";if(A[0]===71&&A[1]===73&&A[2]===70)return"image/gif";if(A[0]===82&&A[1]===73&&A[2]===70&&A[3]===70&&A[8]===87&&A[9]===69&&A[10]===66&&A[11]===80)return"image/webp";const C=new TextDecoder().decode(A.subarray(0,Math.min(A.length,256)));return/^\s*(?:<\?xml[^>]*>\s*)?<svg[\s>]/i.test(C)?"image/svg+xml":""}function gQ(B,A){return new Promise((I,g)=>{const Q=URL.createObjectURL(B),C=new Image;C.crossOrigin="anonymous";const E=()=>{A==null||A.removeEventListener("abort",i),C.onload=null,C.onerror=null},o=e=>{E(),URL.revokeObjectURL(Q),g(e)},i=()=>o(AA("Image decoding aborted"));C.onload=()=>{E();const e=C.naturalWidth||C.width,t=C.naturalHeight||C.height;if(e<=0||t<=0){URL.revokeObjectURL(Q),g(new Error("Decoded image has invalid dimensions"));return}I({source:C,width:e,height:t,sourcePremultiplied:!1,dispose:()=>URL.revokeObjectURL(Q)})},C.onerror=()=>o(new Error("Failed to decode image")),A==null||A.addEventListener("abort",i,{once:!0}),C.src=Q})}async function pg(B,A){K(A,"Image loading aborted");const I=typeof B=="string"?await ZA(B,A):B;K(A,"Image loading aborted");const g=new Uint8Array(I),Q=new Blob([g],{type:St(B,g)});if(typeof createImageBitmap=="function"){let C=null;try{C=await createImageBitmap(Q,{premultiplyAlpha:"premultiply"})}catch(E){K(A,"Image decoding aborted");try{C=await createImageBitmap(Q)}catch(o){return K(A,"Image decoding aborted"),gQ(Q,A)}}if(A!=null&&A.aborted)throw C.close(),AA("Image decoding aborted");if(C.width<=0||C.height<=0)throw C.close(),new Error("Decoded image has invalid dimensions");return{source:C,width:C.width,height:C.height,sourcePremultiplied:!0,dispose:()=>C.close()}}return gQ(Q,A)}var kt=Object.defineProperty,dt=(B,A,I)=>A in B?kt(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,p=(B,A,I)=>dt(B,typeof A!="symbol"?A+"":A,I);function BQ(B){return Number.isFinite(B)?Math.max(0,Math.min(1,B)):1}function Ut(B){return"delayMs"in B}const X="GiftStage load canceled";function fA(B){let A=!1;return()=>{A||(A=!0,B())}}function Yt(B,A=typeof navigator!="undefined"?navigator.hardwareConcurrency:void 0){if(B!=null)return Math.max(1,Math.floor(Number.isFinite(B)?B:1));const I=A!=null&&Number.isFinite(A)&&A>0?Math.floor(A):4;return Math.max(1,Math.min(4,Math.floor(I/2)))}const rA=class CA{constructor(A){p(this,"sharedSVGAEntities",new Map),p(this,"pendingSharedSVGAEntities",new Map),p(this,"sharedVideoSources",new Map),p(this,"sharedHtmlVideos",new Map),p(this,"sharedVideoTextures",new Map),p(this,"pendingSharedHtmlVideos",new Map),p(this,"sharedImageTextures",new Map),p(this,"pendingSharedImageTextures",new Map),p(this,"sharedWebCodecsPlaybacks",new Map),p(this,"pendingSharedWebCodecsPlaybacks",new Map),p(this,"sharedWebCodecsSurfaces",new Map),p(this,"completedPlaybackSlots",new Set),p(this,"playbackCompleteWaiters",new Map),p(this,"canvas"),p(this,"backend",null),p(this,"manager",null),p(this,"options"),p(this,"ready"),p(this,"destroyed",!1),p(this,"resizeObserver",null),p(this,"nextRenderOrder",0),p(this,"nextSharedWebCodecsPlaybackId",1),p(this,"nextSharedWebCodecsSurfaceId",1),p(this,"onWindowLayout",()=>{this.destroyed||this.syncCanvasSize()}),p(this,"onVisibilityChange",()=>{var I;this.destroyed||(I=this.manager)==null||I.setHidden(document.hidden)}),this.options=A,this.canvas=document.createElement("canvas"),this.canvas.style.cssText="position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:9999;",A.container.appendChild(this.canvas),document.addEventListener("visibilitychange",this.onVisibilityChange),this.ready=this.init()}backingStoreDpr(){const A=this.options.resolution;if(A!=null&&A>0&&Number.isFinite(A))return A;const I=typeof window!="undefined"&&window.devicePixelRatio>0?window.devicePixelRatio:1;return Math.min(I,2)}syncCanvasSize(){var A;$C(this.canvas,this.backingStoreDpr(),this.options.maxRenderSize),(A=this.manager)==null||A.syncSlotLayoutFromOptions()}resourcePipelineConcurrency(){return Yt(this.options.maxConcurrentParse)}async init(){var A,I;this.syncCanvasSize(),await new Promise(E=>requestAnimationFrame(()=>E())),this.syncCanvasSize(),Ji({maxConcurrent:this.resourcePipelineConcurrency(),maxMemoryBytes:CA.DEFAULT_RESOURCE_CACHE_MEMORY_BYTES,maxPersistentBytes:CA.DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES}),AB((A=this.options.svgaWorkerTaskConcurrency)!=null?A:1);const g=(I=this.options.preferWebGPU)!=null?I:!0,Q=this.options.antialias,[C]=await Promise.all([oQ(this.canvas,g,Q,this.options.forceWebGL1===!0),wQ()]);this.backend=C,this.manager=new KI(this.backend),this.resizeObserver=new ResizeObserver(()=>{this.destroyed||this.syncCanvasSize()}),this.resizeObserver.observe(this.canvas),window.addEventListener("resize",this.onWindowLayout),window.addEventListener("orientationchange",this.onWindowLayout)}svgaParseOptions(A){return{useWorker:this.options.svgaParseInWorker!==!1,svgaLoadFrameBudgetMs:this.options.svgaLoadFrameBudgetMs,svgaWorkerFrameBudgetMs:this.options.svgaWorkerFrameBudgetMs,svgaWorkerTaskConcurrency:this.options.svgaWorkerTaskConcurrency,svgaWorkerImageDecodeConcurrency:this.options.svgaWorkerImageDecodeConcurrency,svgaParseProfile:this.options.svgaParseProfile,signal:A}}svgaAtlasFrameBudgetMs(){const A=this.options.svgaLoadFrameBudgetMs,I=this.options.svgaAtlasFrameBudgetMs;return A==null?I:I==null?A:Math.min(A,I)}svgaClipFrameBudgetMs(){var A;const I=(A=this.options.svgaClipPrewarmFrameBudgetMs)!=null?A:8,g=this.options.svgaLoadFrameBudgetMs;return g==null?I:Math.min(g,I)}isSlotLoadActive(A){var I,g;return!this.destroyed&&((I=A.loadAbortController)==null?void 0:I.signal.aborted)!==!0&&((g=this.manager)==null?void 0:g.getSlot(A.id))===A}assertSlotLoadActive(A){if(!this.isSlotLoadActive(A))throw new Error(X)}isLoadCanceled(A){return qA(A)||A instanceof Error&&A.message===X}currentCanvasCssSize(){const A=this.canvas.clientWidth||this.options.container.clientWidth||window.innerWidth||0,I=this.canvas.clientHeight||this.options.container.clientHeight||window.innerHeight||0;return{width:A,height:I}}async resolveGiftIntrinsicSize(A){switch(A.type){case"svga":{const I=await we(A.source,this.svgaParseOptions());return{width:I.viewBoxWidth,height:I.viewBoxHeight}}case"vap":{if(!A.config)throw new Error("VAP requires config");const I=await Vg(A.config),g=TA(I.info);return{width:g.w,height:g.h}}case"alphaVideo":return this.probeVideoNaturalSize(A.source,"alphaVideo");case"image":{const I=await pg(A.source);try{return{width:I.width,height:I.height}}finally{I.dispose()}}}}async normalizeAddGiftOptions(A,I){if(A.width!=null&&A.height!=null)return A;const g=this.currentCanvasCssSize();if(A.objectFit==="cover"&&A.width==null&&A.height==null&&g.width>0&&g.height>0)return{...A,width:g.width,height:g.height};const Q=I!=null?I:await this.resolveGiftIntrinsicSize(A),C=Nt({width:A.width,height:A.height,useOriginalSize:A.useOriginalSize},Q,g.width,g.height);return{...A,width:C.width,height:C.height}}resolveAnimationStepTarget(A,I){var g,Q,C,E,o,i;const{sx:e,sy:t}=xg(this.canvas),a=(g=I.scaleTo)!=null?g:A.scale,s=I.flyTo!=null?I.flyTo.x*e:A.x+A.width*A.scale/2,D=I.flyTo!=null?I.flyTo.y*t:A.y+A.height*A.scale/2;return{targetX:s-A.width*a/2,targetY:D-A.height*a/2,targetScale:a,targetOpacity:BQ((Q=I.opacity)!=null?Q:A.opacity),targetRotation:(E=(C=I.rotationTo)!=null?C:A.rotation)!=null?E:0,duration:Math.max(1,(o=I.duration)!=null?o:600),easing:(i=I.easing)!=null?i:zQ}}runGiftAnimationStep(A,I,g){const Q=this.resolveAnimationStepTarget(A,g),C=this.manager.postAnimator.startTweenPromise(A,Q.targetX,Q.targetY,Q.targetScale,Q.duration,Q.easing,()=>{var E;return(E=g.onComplete)==null?void 0:E.call(g,I)},Q.targetOpacity,Q.targetRotation);return this.manager.invalidate({resetClock:!0}),C}createGiftAnimationChain(A,I,g){const Q=Array.isArray(g)?[...g]:g?[g]:[],C=[];let E=!1,o=!1,i=null,e=null;const t=s=>new Promise(D=>{if(o){D();return}e=D,i=setTimeout(()=>{i=null,e=null,D()},Math.max(0,s))}),a={to:s=>{if(E)throw new Error("Gift animation chain has already started");return Q.push(s),a},then:s=>{if(E)throw new Error("Gift animation chain has already started");return Q.push(s),a},delay:s=>{if(E)throw new Error("Gift animation chain has already started");return Q.push({delayMs:Math.max(0,s)}),a},onComplete:s=>{if(E)throw new Error("Gift animation chain has already started");return C.push(s),a},start:async(s="immediate")=>{var D,h;E=!0;const n=(D=this.manager)==null?void 0:D.getSlot(A.id);if(!n||n.state==="finished")return I;s==="afterGiftComplete"&&await this.waitForGiftPlaybackComplete(A.id);let c=!1;for(const F of Q){if(o||!((h=this.manager)!=null&&h.getSlot(A.id))||A.state==="finished"){c=!0;break}Ut(F)?await t(F.delayMs):await this.runGiftAnimationStep(A,I,F)}if(!c&&!o)for(const F of C)F(I);return I},cancel:()=>{var s;o=!0,i!=null&&(clearTimeout(i),i=null),e==null||e(),e=null,(s=this.manager)==null||s.postAnimator.cancelForGift(A.id)}};return a}async addGift(A){var I,g,Q,C,E,o,i,e,t,a;if(console.info("[GiftStage] addGift await ready…",A.type),await this.ready,console.info("[GiftStage] addGift ready, loading…",A.type),this.destroyed)throw new Error("GiftStage is destroyed");let s=null;A.type==="image"&&(s=await this.acquireImageTexture(A.source));let D;try{D=await this.normalizeAddGiftOptions(A,s?{width:s.width,height:s.height}:void 0)}catch(M){throw s==null||s.release(),M}if(this.destroyed)throw s==null||s.release(),new Error("GiftStage is destroyed");const h=cQ(),{sx:n,sy:c}=xg(this.canvas),F=qQ(D.x,D.y,D.width,D.height,this.canvas.clientWidth,this.canvas.clientHeight),w={id:h,type:D.type,state:"loading",options:D,zIndex:(I=D.zIndex)!=null?I:0,renderOrder:this.nextRenderOrder++,x:F.x*n,y:F.y*c,width:D.width*n,height:D.height*c,scale:1,opacity:BQ((g=D.opacity)!=null?g:1),rotation:Number.isFinite(D.rotation)?D.rotation:0,paused:!1,currentFrame:0,accumulatedTime:0,lastTickTime:0,loopCount:0,videoEntity:null,loadAbortController:new AbortController,videoPlaybackWatchdogTimer:null,videoPlaybackCompletionStarted:!1,svgaSlotTextures:void 0,videoElement:null,releaseMediaSource:null,releaseSharedSVGAAsset:null,releaseSharedVideoPlayback:null,releaseSharedVideoTexture:null,webcodecsPlayback:null,webcodecsSharedState:null,releaseWebCodecsPlayback:null,wcPlaybackTime:0,videoTextureHandle:null,imageTextureHandle:(Q=s==null?void 0:s.texture)!=null?Q:null,releaseSharedImageTexture:(C=s==null?void 0:s.release)!=null?C:null,webcodecsSurface:null,releaseWebCodecsSurface:null,vapMixState:null,onFrame:D.onFrame,onComplete:void 0};let r;r={id:h,type:D.type,pause:()=>{var M,R,y;w.paused=!0,(M=this.manager)==null||M.postAnimator.pauseForGift(w.id),(R=this.manager)==null||R.invalidate(),(y=this.manager)==null||y.syncVideoPlaybackForSlot(w)},resume:()=>{var M,R,y;w.paused=!1,(M=this.manager)==null||M.postAnimator.resumeForGift(w.id),(R=this.manager)==null||R.invalidate({resetClock:!0}),(y=this.manager)==null||y.syncVideoPlaybackForSlot(w)},destroy:()=>{this.removeGift(h)},animate:M=>this.createGiftAnimationChain(w,r,M)};const G=D.onComplete;w.onComplete=M=>{this.markGiftPlaybackComplete(w.id),G==null||G(M)},this.manager.addSlot(w,r);try{switch(D.type){case"svga":await this.loadSVGA(w);break;case"vap":await this.loadVAP(w,D);break;case"alphaVideo":await this.loadAlphaVideo(w,D);break;case"image":break}this.assertSlotLoadActive(w),D.type==="svga"&&w.state==="playing"||(w.state="playing",this.manager.invalidate({resetClock:!0}),D.type==="svga"&&w.videoEntity&&(this.manager.audioManager.tickFrame(w,w.currentFrame),(E=w.onFrame)==null||E.call(w,w.currentFrame,r))),w.webcodecsPlayback&&console.info("[GiftStage:WC] gift playing",{giftId:w.id,type:w.type,layoutBufPx:{x:w.x,y:w.y,w:w.width,h:w.height}}),D.type==="image"&&!(D.duration>0)&&this.markGiftPlaybackComplete(w.id)}catch(M){if(this.isLoadCanceled(M))return((o=this.manager)==null?void 0:o.getSlot(w.id))===w?this.manager.removeSlot(w.id):(i=this.manager)==null||i.releaseSlotResources(w),r;w.state="finished",(e=this.manager)==null||e.invalidate(),(a=(t=this.options).onError)==null||a.call(t,M instanceof Error?M:new Error(String(M)))}return r}async loadSVGA(A){var I,g,Q,C;const E=typeof A.options.source=="string"?A.options.source:null,o=(I=A.loadAbortController)==null?void 0:I.signal;if(E){const D=await this.acquireSharedSVGAEntity(E,o);if(!this.isSlotLoadActive(A))throw D.release(),new Error(X);A.releaseSharedSVGAAsset=D.release,await this.finishLoadSVGA(A,D.entity,D.audioBlobs),this.assertSlotLoadActive(A);return}const{movie:i,imageBitmaps:e,audioBlobs:t}=await Ig(A.options.source,this.svgaParseOptions(o));let a=null,s=!1;try{this.assertSlotLoadActive(A),a=await this.buildSVGAAtlasIfNeeded(e,!!E,!0,o),this.assertSlotLoadActive(A);const D={params:i.params,spriteTable:i.spriteTable,audios:i.audios,atlasTextureHandle:(g=a==null?void 0:a.textureHandle)!=null?g:null,atlasTextureHandles:(Q=a==null?void 0:a.textureHandles)!=null?Q:[],atlasRects:(C=a==null?void 0:a.rects)!=null?C:new Map,audioBuffers:new Map};await this.finishLoadSVGA(A,D,t),s=!0,this.assertSlotLoadActive(A),E&&(a!=null&&a.encodedPngBytesPromises)&&Promise.all(a.encodedPngBytesPromises).then(h=>{h.some(n=>!n)||qg(E,{params:i.params,spriteTable:i.spriteTable,audios:i.audios,audioBlobs:t,atlasRects:a.rects,atlasPages:a.pages.map((n,c)=>({width:n.atlasWidth,height:n.atlasHeight,imageBytes:h[c]}))},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}catch(D){throw s||this.deleteSVGAAtlasResultTextures(a),D}finally{for(const D of e.values())D.close()}}async acquireSharedSVGAEntity(A,I){const g=A,Q=this.sharedSVGAEntities.get(g);if(Q)return Q.refs++,{entity:Q.entity,audioBlobs:Q.audioBlobs,release:()=>this.releaseSharedSVGAEntity(g)};let C=this.pendingSharedSVGAEntities.get(g);if(!C){const i=new AbortController;C={cacheKey:g,controller:i,consumers:0,settled:!1,promise:null};const e=C;C.promise=this.buildSharedSVGAEntity(A,i.signal).finally(()=>{e.settled=!0,this.pendingSharedSVGAEntities.get(g)===e&&this.pendingSharedSVGAEntities.delete(g)}),this.pendingSharedSVGAEntities.set(g,C)}let E;try{E=await this.waitForPendingSharedSVGAEntity(C,I)}catch(i){throw i}let o=this.sharedSVGAEntities.get(g);return o?o.refs++:(o={refs:1,entity:E.entity,audioBlobs:E.audioBlobs},this.sharedSVGAEntities.set(g,o)),{entity:o.entity,audioBlobs:o.audioBlobs,release:()=>this.releaseSharedSVGAEntity(g)}}waitForPendingSharedSVGAEntity(A,I){return A.consumers++,new Promise((g,Q)=>{let C=!1;const E=i=>{C||(C=!0,I==null||I.removeEventListener("abort",o),A.consumers=Math.max(0,A.consumers-1),A.consumers===0&&!A.settled&&A.controller.abort(),i())},o=()=>{E(()=>Q(AA(X)))};if(I!=null&&I.aborted){o();return}I==null||I.addEventListener("abort",o,{once:!0}),A.promise.then(i=>E(()=>g(i)),i=>E(()=>Q(i)))})}async buildSharedSVGAEntity(A,I){var g,Q,C,E,o;const i=await Mt(A,{frameBudgetMs:this.options.svgaLoadFrameBudgetMs});if(K(I,X),i){const a=await this.createCachedSVGAAtlasTextures(i.atlasPages,I);return(g=this.manager)==null||g.hydrateSVGAClipMeshes(i.clipMeshes),{entity:{params:i.params,spriteTable:i.spriteTable,audios:i.audios,atlasTextureHandle:(Q=a[0])!=null?Q:null,atlasTextureHandles:a,atlasRects:i.atlasRects,audioBuffers:new Map},audioBlobs:i.audioBlobs}}let e=await Ig(A,this.svgaParseOptions(I)),t=null;try{try{t=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!0,I)}catch(n){if(qA(n)||!(n instanceof HA))throw n;for(const c of e.imageBitmaps.values())c.close();e=await Ig(A,this.svgaParseOptions(I)),t=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!1,I)}const{movie:a,audioBlobs:s}=e,D={params:a.params,spriteTable:a.spriteTable,audios:a.audios,atlasTextureHandle:(C=t==null?void 0:t.textureHandle)!=null?C:null,atlasTextureHandles:(E=t==null?void 0:t.textureHandles)!=null?E:[],atlasRects:(o=t==null?void 0:t.rects)!=null?o:new Map,audioBuffers:new Map};this.options.svgaPrewarmClipMeshes!==!1&&await this.manager.prewarmSVGAClipMeshes(D,{frameBudgetMs:this.svgaClipFrameBudgetMs(),workerTimeSliceMs:this.options.svgaWorkerFrameBudgetMs,useWorker:this.options.svgaClipPrewarmInWorker!==!1,signal:I});const h=this.manager.snapshotSVGAClipMeshes(D);if(K(I,X),t&&t.encodedPngBytesPromises){const n=t,c=t.encodedPngBytesPromises;Promise.all(c).then(F=>{I!=null&&I.aborted||F.some(w=>!w)||qg(A,{params:a.params,spriteTable:a.spriteTable,audios:a.audios,audioBlobs:s,atlasRects:n.rects,atlasPages:n.pages.map((w,r)=>({width:w.atlasWidth,height:w.atlasHeight,imageBytes:F[r]})),clipMeshes:h},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}else t||qg(A,{params:a.params,spriteTable:a.spriteTable,audios:a.audios,audioBlobs:s,atlasRects:new Map,atlasPages:[],clipMeshes:h},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs});return K(I,X),{entity:D,audioBlobs:s}}catch(a){throw this.deleteSVGAAtlasResultTextures(t),a}finally{for(const a of e.imageBitmaps.values())a.close()}}releaseSharedSVGAEntity(A){const I=this.sharedSVGAEntities.get(A);I&&(I.refs=Math.max(0,I.refs-1),!(I.refs>0)&&(this.deleteSVGAAtlasTextures(I.entity),this.sharedSVGAEntities.delete(A)))}async createCachedSVGAAtlasTextures(A,I){var g;const Q=[],C=iA({maxBudgetMs:this.svgaAtlasFrameBudgetMs()}),E=A.map(o=>createImageBitmap(new Blob([o.imageBytes],{type:"image/png"}),{premultiplyAlpha:"premultiply"}));try{for(let o=0;o<A.length;o++){K(I,X);const i=A[o],e=await E[o];try{if(this.destroyed||!this.backend)throw new Error(X);const t=this.backend.createTexture(e,{width:i.width,height:i.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:!0});Q.push(t)}finally{e.close()}o+1<A.length&&C.shouldYield()&&await C.yield(),K(I,X)}return Q}catch(o){for(const i of Q)(g=this.backend)==null||g.deleteTexture(i);for(const i of E)i.then(e=>e.close()).catch(()=>{});throw o}}deleteSVGAAtlasTextures(A){var I,g;const Q=(I=A.atlasTextureHandles)!=null&&I.length?A.atlasTextureHandles:A.atlasTextureHandle?[A.atlasTextureHandle]:[],C=new Set;for(const E of Q)C.has(E.id)||(C.add(E.id),(g=this.backend)==null||g.deleteTexture(E))}deleteSVGAAtlasResultTextures(A){var I,g;if(!A)return;const Q=(I=A.textureHandles)!=null&&I.length?A.textureHandles:A.textureHandle?[A.textureHandle]:[],C=new Set;for(const E of Q)C.has(E.id)||(C.add(E.id),(g=this.backend)==null||g.deleteTexture(E))}async finishLoadSVGA(A,I,g){this.assertSlotLoadActive(A),A.videoEntity=I,this.primeSVGAFirstFrame(A),this.decodeSVGAAudioInBackground(A,g),this.options.svgaPrewarmClipMeshes!==!1&&this.prewarmSVGAClipMeshesInBackground(A),A.options.svgaSlots&&(A.svgaSlotTextures=await _i(this.backend,A.videoEntity,A.options.svgaSlots,{frameBudgetMs:this.options.svgaLoadFrameBudgetMs,checkActive:()=>this.assertSlotLoadActive(A)}),this.assertSlotLoadActive(A))}primeSVGAFirstFrame(A){var I;if(A.state!=="loading")return;A.state="playing",this.manager.invalidate({resetClock:!0}),this.manager.audioManager.tickFrame(A,A.currentFrame);const g=this.manager.getHandle(A.id);g&&((I=A.onFrame)==null||I.call(A,A.currentFrame,g))}async decodeSVGAAudioInBackground(A,I){if(I.size===0)return;const g=iA({maxBudgetMs:this.options.svgaLoadFrameBudgetMs});try{let Q=0;for(const[C,E]of I)await this.manager.audioManager.decodeAudio(C,E),this.assertSlotLoadActive(A),this.manager.audioManager.tickFrameForKey(A,A.currentFrame,C),Q++,Q<I.size&&g.shouldYield()&&(await g.yield(),this.assertSlotLoadActive(A))}catch(Q){this.isLoadCanceled(Q)||console.warn("[GiftStage:SVGA] background audio decode failed",Q)}}async prewarmSVGAClipMeshesInBackground(A){var I;if(A.videoEntity)try{await this.manager.prewarmSVGAClipMeshes(A.videoEntity,{frameBudgetMs:this.svgaClipFrameBudgetMs(),workerTimeSliceMs:this.options.svgaWorkerFrameBudgetMs,useWorker:this.options.svgaClipPrewarmInWorker!==!1,checkActive:()=>this.assertSlotLoadActive(A),signal:(I=A.loadAbortController)==null?void 0:I.signal})}catch(g){this.isLoadCanceled(g)||console.warn("[GiftStage:SVGA] background clip mesh prewarm failed",g)}}svgaAtlasMaxSize(){var A,I,g;const Q=(A=this.options.svgaAtlasMaxSize)!=null?A:CA.SVGA_ATLAS_MAX_SIZE,C=(g=(I=this.backend)==null?void 0:I.maxTextureSize)!=null?g:Q;return Math.max(64,Math.min(C,Q))}async buildSVGAAtlasIfNeeded(A,I,g=!0,Q){if(A.size===0)return null;if(this.destroyed||!this.backend)throw new Error(X);return PQ(A,this.backend,this.svgaAtlasMaxSize(),CA.SVGA_ATLAS_PADDING,{captureEncodedPng:I,maxPages:this.svgaAtlasMaxPages(),mainThreadFrameBudgetMs:this.svgaAtlasFrameBudgetMs(),workerTimeSliceMs:this.options.svgaWorkerFrameBudgetMs,useWorker:g,signal:Q})}svgaAtlasMaxPages(){var A;return Math.max(1,Math.floor((A=this.options.svgaAtlasMaxPages)!=null?A:4))}shouldTryWebCodecs(A){return(A==null?void 0:A.mute)!==!1&&this.options.preferWebCodecs===!0&&typeof VideoDecoder!="undefined"}logPlaybackBackend(A,I,g){const Q=I==="webcodecs"?"WebCodecs (mp4box decode)":"HTMLVideoElement",C=g?` — ${g}`:"";console.info(`[GiftStage] ${A.type} [${A.id}]: ${Q}${C}`)}async tryWebCodecsPlayback(A,I){if(!this.shouldTryWebCodecs())return null;try{const g=typeof A=="string"?await ZA(A,I):A;if(I!=null&&I.aborted)throw new Error(X);return await WA.create(g,I,{useWorker:this.options.webCodecsDecodeInWorker!==!1,maxDecodedFrames:this.options.webCodecsMaxDecodedFrames,decodeAheadFrames:this.options.webCodecsDecodeAheadFrames})}catch(g){if(this.isLoadCanceled(g)||I!=null&&I.aborted)throw new Error(X);const Q=g instanceof Error?g.message:String(g);return console.warn(`[GiftStage] WebCodecs path failed, falling back to <video>: ${Q}`),null}}async acquireWebCodecsPlayback(A,I){if(!this.shouldTryWebCodecs(A))return null;if(this.options.shareIdenticalVideoPlayback!==!1&&A.loop===0&&typeof A.source=="string"){const Q=this.normalizeSharedVideoSourceKey(A.source);if(Q)return this.acquireSharedWebCodecsPlayback(Q,I)}const g=await this.tryWebCodecsPlayback(A.source,I);return g?{playback:g,sharedState:null,release:fA(()=>g.destroy())}:null}async acquireSharedWebCodecsPlayback(A,I){var g;const Q=performance.now(),C=Math.max(0,(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:CA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS),E=this.sharedWebCodecsPlaybacks.get(A);if(E){for(const e of E)if(!(e.refs<=0||Q-e.startedAtMs>C))return e.refs++,{playback:e.playback,sharedState:e,release:fA(()=>this.releaseSharedWebCodecsPlayback(e))}}let o=this.pendingSharedWebCodecsPlaybacks.get(A);o||(o=this.createPendingSharedWebCodecsPlayback(A),this.pendingSharedWebCodecsPlaybacks.set(A,o));const i=await this.waitForPendingSharedWebCodecsPlayback(o,I);return i?(i.refs++,{playback:i.playback,sharedState:i,release:fA(()=>this.releaseSharedWebCodecsPlayback(i))}):null}createPendingSharedWebCodecsPlayback(A){const I=new AbortController,g={cacheKey:A,controller:I,consumers:0,settled:!1,promise:null};return g.promise=this.tryWebCodecsPlayback(A,I.signal).then(Q=>{if(g.settled=!0,this.pendingSharedWebCodecsPlaybacks.get(A)===g&&this.pendingSharedWebCodecsPlaybacks.delete(A),!Q)return null;if(g.consumers===0||this.destroyed)return Q.destroy(),null;const C={id:this.nextSharedWebCodecsPlaybackId++,cacheKey:A,refs:0,playback:Q,startedAtMs:performance.now()};let E=this.sharedWebCodecsPlaybacks.get(A);return E||(E=new Set,this.sharedWebCodecsPlaybacks.set(A,E)),E.add(C),C},Q=>{throw g.settled=!0,this.pendingSharedWebCodecsPlaybacks.get(A)===g&&this.pendingSharedWebCodecsPlaybacks.delete(A),Q}),g}waitForPendingSharedWebCodecsPlayback(A,I){return A.consumers++,new Promise((g,Q)=>{let C=!1;const E=i=>{C||(C=!0,I==null||I.removeEventListener("abort",o),A.consumers=Math.max(0,A.consumers-1),A.consumers===0&&!A.settled&&A.controller.abort(),i())},o=()=>{E(()=>Q(new Error(X)))};if(I!=null&&I.aborted){o();return}I==null||I.addEventListener("abort",o,{once:!0}),A.promise.then(i=>E(()=>g(i)),i=>E(()=>Q(i)))})}releaseSharedWebCodecsPlayback(A){if(A.refs=Math.max(0,A.refs-1),A.refs>0)return;A.playback.destroy();const I=this.sharedWebCodecsPlaybacks.get(A.cacheKey);I==null||I.delete(A),(I==null?void 0:I.size)===0&&this.sharedWebCodecsPlaybacks.delete(A.cacheKey)}attachWebCodecsPlayback(A,I){var g,Q,C;A.webcodecsPlayback=I.playback,A.webcodecsSharedState=I.sharedState,A.releaseWebCodecsPlayback=I.release;const E=Math.max(I.playback.duration,1e-9);return A.wcPlaybackTime=I.sharedState?Math.max(0,(performance.now()-I.sharedState.startedAtMs)/1e3)%E:0,(Q=(g=I.playback).ensureDecodedThrough)==null||Q.call(g,A.wcPlaybackTime),(C=I.playback.getFrameForTime(A.wcPlaybackTime))!=null?C:I.playback.getFrameForTime(0)}releaseAttachedWebCodecsPlayback(A){var I;A.releaseWebCodecsPlayback?A.releaseWebCodecsPlayback():(I=A.webcodecsPlayback)==null||I.destroy(),A.releaseWebCodecsPlayback=null,A.webcodecsSharedState=null,A.webcodecsPlayback=null}acquireSharedWebCodecsSurface(A,I,g,Q,C,E,o){const i=A.webcodecsSharedState;if(!i)return null;const e=o?this.options.webCodecsVideoAtlas:void 0;if(e&&e.width>0&&e.height>0){const h=`${i.id}:atlas:${e.width}x${e.height}:${C}x${E}`,n=this.retainSharedWebCodecsSurface(h);if(n)return n;const c=this.nextSharedWebCodecsSurfaceId++,F=`wc-shared-surface:${c}`,w=this.manager.tryAllocateWebCodecsAtlas(F,C,E,e);if(w){try{this.backend.updateTextureRegion(w.handle,I,w.rect.x,w.rect.y,w.rect.w,w.rect.h)}catch(r){throw this.manager.releaseWebCodecsAtlasAllocation(F),r}return this.createSharedWebCodecsSurface(h,c,w.handle,I,w.rect,F)}}const t=`${i.id}:full:${g}x${Q}`,a=this.retainSharedWebCodecsSurface(t);if(a)return a;const s=this.nextSharedWebCodecsSurfaceId++,D=this.backend.createTexture(I,{width:g,height:Q,filter:"linear"});return this.createSharedWebCodecsSurface(t,s,D,I,void 0,null)}retainSharedWebCodecsSurface(A){const I=this.sharedWebCodecsSurfaces.get(A);return I?(I.refs++,{surface:I.surface,release:fA(()=>this.releaseSharedWebCodecsSurface(I))}):null}createSharedWebCodecsSurface(A,I,g,Q,C,E){const o={key:A,refs:1,atlasAllocationId:E,surface:{id:I,texture:g,atlasRect:C,lastUploadedFrame:Q}};return this.sharedWebCodecsSurfaces.set(A,o),{surface:o.surface,release:fA(()=>this.releaseSharedWebCodecsSurface(o))}}releaseSharedWebCodecsSurface(A){var I,g;A.refs=Math.max(0,A.refs-1),!(A.refs>0)&&(this.sharedWebCodecsSurfaces.delete(A.key),A.atlasAllocationId?(I=this.manager)==null||I.releaseWebCodecsAtlasAllocation(A.atlasAllocationId):(g=this.backend)==null||g.deleteTexture(A.surface.texture),A.surface.lastUploadedFrame=null)}attachSharedWebCodecsSurface(A,I){A.webcodecsSurface=I.surface,A.releaseWebCodecsSurface=I.release,A.videoTextureHandle=I.surface.texture,A.wcAtlasRect=I.surface.atlasRect}async loadVAP(A,I){var g,Q,C,E;if(!I.config)throw new Error("VAP requires config");const o=I.config,i=(g=A.loadAbortController)==null?void 0:g.signal,e=(async()=>{const r=await Vg(o);this.assertSlotLoadActive(A);const G=await Bo(r,I.vapSlots);return this.assertSlotLoadActive(A),{config:r,vapResources:G}})();console.info("[GiftStage:WC] loadVAP: try WebCodecs / video…");const t=this.acquireWebCodecsPlayback(I,i),[a,s]=await Promise.allSettled([e,t]);if(!this.isSlotLoadActive(A)||a.status==="rejected"||s.status==="rejected")throw s.status==="fulfilled"&&((Q=s.value)==null||Q.release()),a.status==="rejected"?a.reason:s.status==="rejected"?s.reason:new Error(X);const{config:D,vapResources:h}=a.value,n=s.value;if(A.vapConfig=D,h.size>0){const r=TA(D.info),G=Qo(D);let M=null;if(this.backend.type==="webgpu"||this.backend.type==="webgl2")try{M=this.createVAPMixResourceTextures(h)}catch(R){console.warn("[GiftStage] VAP main-context mixed textures failed; falling back to compositor",R)}if(M)A.vapMixState={mode:"direct",width:r.w,height:r.h,resourceTextures:M,frameMap:G,lastFrameIndex:-1,lastSourceRef:null};else{let R=null,y=null;try{R=new nt(D,G,h,r.w,r.h,I.videoRGBAlphaMode!=="straight")}catch(l){console.warn("[GiftStage] VAP mixed rendering fell back to CPU compositor",l),y=Co(r.w,r.h)}const N=this.backend.createEmptyTexture(r.w,r.h,{filter:"linear"});A.vapMixState={mode:"composited",texture:N,width:r.w,height:r.h,composer:R,frameMap:G,resources:R?void 0:h,lastFrameIndex:-1,lastSourceRef:null,...y!=null?y:{}},A.videoTextureHandle=N}}if(n){const r=this.attachWebCodecsPlayback(A,n);if(!r)throw this.releaseAttachedWebCodecsPlayback(A),new Error("WebCodecs: missing first frame");if(!A.vapMixState||A.vapMixState.mode==="direct"){const M=r.displayWidth||r.codedWidth,R=r.displayHeight||r.codedHeight,y=!A.vapMixState,{w:N,h:l}=$B(A,M,R,"vap",D),U=this.acquireSharedWebCodecsSurface(A,r,M,R,N,l,y);if(U)this.attachSharedWebCodecsSurface(A,U);else{const Y=y?this.manager.tryAllocateWebCodecsAtlas(A.id,N,l,this.options.webCodecsVideoAtlas):null;Y?(A.videoTextureHandle=Y.handle,A.wcAtlasRect=Y.rect,this.backend.updateTextureRegion(Y.handle,r,Y.rect.x,Y.rect.y,N,l)):A.videoTextureHandle=this.backend.createTexture(r,{width:M,height:R,filter:"linear"})}}A.videoElement=null;const G=A.videoTextureHandle;console.info("[GiftStage:WC] VAP texture",{giftId:A.id,atlas:!!A.wcAtlasRect&&!A.vapMixState,mixed:!!A.vapMixState,tex:`${G.width}x${G.height}`,frame0:`${r.displayWidth}x${r.displayHeight}`,atlasCell:A.wcAtlasRect?`${A.wcAtlasRect.w}x${A.wcAtlasRect.h}`:void 0}),this.logPlaybackBackend(A,"webcodecs");return}const F=await this.tryAcquireSharedHtmlVideo(A,I);if(!this.isSlotLoadActive(A))throw F==null||F.release(),new Error(X);if(F)A.videoElement=F.video,A.releaseSharedVideoPlayback=F.release;else{const r=await this.acquireVideoPlaybackSource(I.source);if(!this.isSlotLoadActive(A))throw(C=r.release)==null||C.call(r),new Error(X);A.releaseMediaSource=(E=r.release)!=null?E:null;const G=this.createVideo(r.src,I.loop===0,I.mute!==!1);A.videoElement=G}const w=A.videoElement;if(F){await F.ready,this.assertSlotLoadActive(A);const r=this.acquireSharedVideoTexture(F.cacheKey,w);A.videoTextureHandle=r.texture,A.releaseSharedVideoTexture=r.release}else await this.waitVideoReady(w),this.assertSlotLoadActive(A),(!A.vapMixState||A.vapMixState.mode==="direct")&&(A.videoTextureHandle=this.backend.createTexture(w,{width:w.videoWidth,height:w.videoHeight,filter:"linear"}));A.releaseSharedVideoPlayback||this.bindVideoLoopOnEnded(A,w),this.logPlaybackBackend(A,"video",I.mute===!1?"WebCodecs disabled for audible playback":this.shouldTryWebCodecs(I)?"fallback after WebCodecs unavailable or failed":"preferWebCodecs off or no VideoDecoder")}createVAPMixResourceTextures(A){const I=new Map;try{for(const[g,Q]of A)I.set(g,this.backend.createTexture(Q.source,{width:Q.width,height:Q.height,filter:"linear",premultiplyAlpha:!1}));return I}catch(g){for(const Q of I.values())this.backend.deleteTexture(Q);throw g}}async loadAlphaVideo(A,I){var g,Q,C;const E=(g=A.loadAbortController)==null?void 0:g.signal;console.info("[GiftStage:WC] loadAlphaVideo: try WebCodecs / video…");const o=await this.acquireWebCodecsPlayback(I,E);if(!this.isSlotLoadActive(A))throw o==null||o.release(),new Error(X);if(o){const t=this.attachWebCodecsPlayback(A,o);if(!t)throw this.releaseAttachedWebCodecsPlayback(A),new Error("WebCodecs: missing first frame");const a=t.displayWidth||t.codedWidth,s=t.displayHeight||t.codedHeight,{w:D,h}=$B(A,a,s,"alphaVideo",void 0),n=this.acquireSharedWebCodecsSurface(A,t,a,s,D,h,!0);if(n)this.attachSharedWebCodecsSurface(A,n);else{const F=this.manager.tryAllocateWebCodecsAtlas(A.id,D,h,this.options.webCodecsVideoAtlas);F?(A.videoTextureHandle=F.handle,A.wcAtlasRect=F.rect,this.backend.updateTextureRegion(F.handle,t,F.rect.x,F.rect.y,D,h)):A.videoTextureHandle=this.backend.createTexture(t,{width:a,height:s,filter:"linear"})}A.videoElement=null;const c=A.videoTextureHandle;console.info("[GiftStage:WC] alphaVideo texture",{giftId:A.id,atlas:!!A.wcAtlasRect,tex:`${c.width}x${c.height}`,frame0:`${t.displayWidth}x${t.displayHeight}`,atlasCell:A.wcAtlasRect?`${A.wcAtlasRect.w}x${A.wcAtlasRect.h}`:void 0}),this.logPlaybackBackend(A,"webcodecs");return}const i=await this.tryAcquireSharedHtmlVideo(A,I);if(!this.isSlotLoadActive(A))throw i==null||i.release(),new Error(X);if(i)A.videoElement=i.video,A.releaseSharedVideoPlayback=i.release;else{const t=await this.acquireVideoPlaybackSource(I.source);if(!this.isSlotLoadActive(A))throw(Q=t.release)==null||Q.call(t),new Error(X);A.releaseMediaSource=(C=t.release)!=null?C:null;const a=this.createVideo(t.src,I.loop===0,I.mute!==!1);A.videoElement=a}const e=A.videoElement;if(i){await i.ready,this.assertSlotLoadActive(A);const t=this.acquireSharedVideoTexture(i.cacheKey,e);A.videoTextureHandle=t.texture,A.releaseSharedVideoTexture=t.release}else await this.waitVideoReady(e),this.assertSlotLoadActive(A),A.videoTextureHandle=this.backend.createTexture(e,{width:e.videoWidth,height:e.videoHeight,filter:"linear"});A.releaseSharedVideoPlayback||this.bindVideoLoopOnEnded(A,e),this.logPlaybackBackend(A,"video",I.mute===!1?"WebCodecs disabled for audible playback":this.shouldTryWebCodecs(I)?"fallback after WebCodecs unavailable or failed":"preferWebCodecs off or no VideoDecoder")}bindVideoLoopOnEnded(A,I){I.addEventListener("ended",()=>{var g;if(A.state!=="playing")return;const Q=(g=A.options.loop)!=null?g:1;if(Q===0){I.currentTime=0,I.play();return}if(A.loopCount++,A.loopCount>=Q){this.completeHtmlVideoPlayback(A);return}I.currentTime=0,I.play().catch(()=>{})}),this.armHtmlVideoPlaybackWatchdog(A,I)}clearHtmlVideoPlaybackWatchdog(A){A.videoPlaybackWatchdogTimer!=null&&(clearTimeout(A.videoPlaybackWatchdogTimer),A.videoPlaybackWatchdogTimer=null)}completeHtmlVideoPlayback(A){var I,g;if(A.state!=="playing"||A.videoPlaybackCompletionStarted)return;A.videoPlaybackCompletionStarted=!0,this.clearHtmlVideoPlaybackWatchdog(A);let Q;Q={id:A.id,type:A.type,pause:()=>{},resume:()=>{},destroy:()=>this.removeGift(A.id),animate:C=>this.createGiftAnimationChain(A,Q,C)};try{(I=A.onComplete)==null||I.call(A,Q)}finally{A.state=A.options.clearsAfterStop===!1?"stopped":"finished",(g=this.manager)==null||g.invalidate()}}armHtmlVideoPlaybackWatchdog(A,I){var g;this.clearHtmlVideoPlaybackWatchdog(A);const Q=(g=A.options.loop)!=null?g:1,C=I.duration;if(Q<=0||!Number.isFinite(C)||C<=0)return;const E=Math.max(1,Math.ceil(Q)),o=C*E*1e3;if(!Number.isFinite(o))return;const i=Math.min(CA.HTML_VIDEO_WATCHDOG_MAX_GRACE_MS,Math.max(CA.HTML_VIDEO_WATCHDOG_MIN_GRACE_MS,o*CA.HTML_VIDEO_WATCHDOG_GRACE_RATIO)),e=performance.now()+o+i,t=()=>{if(A.state==="finished"||A.state==="stopped"){A.videoPlaybackWatchdogTimer=null;return}const a=e-performance.now();if(a>0){A.videoPlaybackWatchdogTimer=setTimeout(t,Math.min(a,CA.MAX_TIMER_DELAY_MS));return}A.videoPlaybackWatchdogTimer=null,A.state==="playing"&&(console.warn("[GiftStage] HTMLVideo playback timed out; completing gift",{giftId:A.id,type:A.type,duration:C,loop:E}),this.completeHtmlVideoPlayback(A))};A.videoPlaybackWatchdogTimer=setTimeout(t,Math.min(o+i,CA.MAX_TIMER_DELAY_MS))}createVideo(A,I,g=!0){const Q=document.createElement("video");return Q.crossOrigin="anonymous",Q.autoplay=!0,Q.preload="auto",Q.muted=g,Q.defaultMuted=g,Q.playsInline=!0,Q.setAttribute("playsinline",""),Q.setAttribute("webkit-playsinline","true"),Q.loop=I,Q.style.cssText="display:none;",Q.src=A,document.body.appendChild(Q),Q.load(),Q}waitVideoMetadata(A){return new Promise((I,g)=>{let Q=!1,C=null;const E=()=>{A.removeEventListener("loadedmetadata",i),A.removeEventListener("error",e),C!=null&&clearTimeout(C),C=null},o=t=>{Q||(Q=!0,E(),t())},i=()=>{o(I)},e=()=>{o(()=>g(new Error("Video metadata load failed")))};A.addEventListener("loadedmetadata",i),A.addEventListener("error",e),C=setTimeout(()=>o(()=>g(new Error("Video metadata load timed out"))),CA.HTML_VIDEO_READY_TIMEOUT_MS),A.readyState>=HTMLMediaElement.HAVE_METADATA&&o(I)})}async probeVideoNaturalSize(A,I="video"){var g;const Q=await this.acquireVideoPlaybackSource(A),C=document.createElement("video");C.crossOrigin="anonymous",C.preload="metadata",C.muted=!0,C.playsInline=!0,C.setAttribute("playsinline",""),C.setAttribute("webkit-playsinline","true"),C.style.cssText="display:none;",C.src=Q.src,document.body.appendChild(C),C.load();try{return await this.waitVideoMetadata(C),I==="alphaVideo"?lt(C.videoWidth,C.videoHeight):{width:C.videoWidth,height:C.videoHeight}}finally{try{C.pause(),C.removeAttribute("src"),C.load(),C.remove()}catch(E){}(g=Q.release)==null||g.call(Q)}}async acquireVideoPlaybackSource(A){if(typeof A!="string"){const Q=URL.createObjectURL(new Blob([A]));return{src:Q,release:()=>URL.revokeObjectURL(Q)}}const I=this.normalizeSharedVideoSourceKey(A);if(!I)return{src:A};let g=this.sharedVideoSources.get(I);g||(g={refs:0,objectUrl:null,promise:this.fetchSharedVideoSource(I)},this.sharedVideoSources.set(I,g)),g.refs++;try{return{src:await g.promise,release:()=>this.releaseSharedVideoSource(I)}}catch(Q){return this.releaseSharedVideoSource(I),console.warn("[GiftStage] shared video prefetch failed, using original url",Q),{src:A}}}normalizeSharedVideoSourceKey(A){try{const I=new URL(A,window.location.href);return I.protocol==="blob:"||I.protocol==="data:"?null:I.href}catch(I){return null}}async fetchSharedVideoSource(A){const I=new Blob([await ZA(A)]),g=this.sharedVideoSources.get(A),Q=URL.createObjectURL(I);return g&&(g.objectUrl=Q,g.refs===0&&(URL.revokeObjectURL(Q),this.sharedVideoSources.delete(A))),Q}releaseSharedVideoSource(A){const I=this.sharedVideoSources.get(A);I&&(I.refs=Math.max(0,I.refs-1),I.refs===0&&I.objectUrl&&(URL.revokeObjectURL(I.objectUrl),this.sharedVideoSources.delete(A)))}async tryAcquireSharedHtmlVideo(A,I){var g,Q;if(this.options.shareIdenticalVideoPlayback===!1||I.loop!==0||typeof I.source!="string"||A.type==="vap"&&A.vapMixState)return null;const C=this.normalizeSharedVideoSourceKey(I.source);if(!C)return null;const E=`${C}::muted=${I.mute!==!1?1:0}`,o=(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:CA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS,i=Math.max(0,o)/1e3,e=this.sharedHtmlVideos.get(E);if(e)return e.video.currentTime>i?null:(e.refs++,{cacheKey:E,video:e.video,ready:e.ready,release:()=>this.releaseSharedHtmlVideo(E)});let t=this.pendingSharedHtmlVideos.get(E);t||(t=(async()=>{var D;const h=await this.acquireVideoPlaybackSource(I.source),n=this.createVideo(h.src,!0,I.mute!==!1),c=this.waitVideoReady(n);return{video:n,ready:c,releaseSource:(D=h.release)!=null?D:null}})(),this.pendingSharedHtmlVideos.set(E,t));let a;try{a=await t}catch(D){throw this.pendingSharedHtmlVideos.delete(E),D}let s=this.sharedHtmlVideos.get(E);return s?s.refs++:(s={refs:1,video:a.video,ready:a.ready,releaseSource:(Q=a.releaseSource)!=null?Q:null},this.sharedHtmlVideos.set(E,s)),this.pendingSharedHtmlVideos.delete(E),{cacheKey:E,video:s.video,ready:s.ready,release:()=>this.releaseSharedHtmlVideo(E)}}acquireSharedVideoTexture(A,I){const g=this.sharedVideoTextures.get(A);if(g)return g.refs++,{texture:g.texture,release:()=>this.releaseSharedVideoTexture(A)};const Q=this.backend.createTexture(I,{width:I.videoWidth,height:I.videoHeight,filter:"linear"});return this.sharedVideoTextures.set(A,{refs:1,texture:Q}),{texture:Q,release:()=>this.releaseSharedVideoTexture(A)}}async acquireImageTexture(A,I){if(typeof A!="string"){const E=await pg(A,I);try{if(K(I,"Image loading aborted"),this.destroyed||!this.backend)throw new Error("GiftStage is destroyed");const o=this.backend.createTexture(E.source,{width:E.width,height:E.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:E.sourcePremultiplied});return{texture:o,width:E.width,height:E.height,release:fA(()=>{var i;return(i=this.backend)==null?void 0:i.deleteTexture(o)})}}finally{E.dispose()}}const g=this.sharedImageTextures.get(A);if(g)return g.refs++,{texture:g.texture,width:g.width,height:g.height,release:fA(()=>this.releaseSharedImageTexture(A))};let Q=this.pendingSharedImageTextures.get(A);if(!Q){Q=(async()=>{const o=await pg(A);try{if(this.destroyed||!this.backend)throw new Error("GiftStage is destroyed");const e={refs:0,texture:this.backend.createTexture(o.source,{width:o.width,height:o.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:o.sourcePremultiplied}),width:o.width,height:o.height};return this.sharedImageTextures.set(A,e),e}finally{o.dispose()}})(),this.pendingSharedImageTextures.set(A,Q);const E=()=>{this.pendingSharedImageTextures.get(A)===Q&&this.pendingSharedImageTextures.delete(A),queueMicrotask(()=>{var o;const i=this.sharedImageTextures.get(A);(i==null?void 0:i.refs)===0&&((o=this.backend)==null||o.deleteTexture(i.texture),this.sharedImageTextures.delete(A))})};Q.then(E,E)}const C=await Q;return K(I,"Image loading aborted"),C.refs++,{texture:C.texture,width:C.width,height:C.height,release:fA(()=>this.releaseSharedImageTexture(A))}}releaseSharedImageTexture(A){var I;const g=this.sharedImageTextures.get(A);g&&(g.refs=Math.max(0,g.refs-1),!(g.refs>0)&&((I=this.backend)==null||I.deleteTexture(g.texture),this.sharedImageTextures.delete(A)))}releaseSharedVideoTexture(A){var I;const g=this.sharedVideoTextures.get(A);g&&(g.refs=Math.max(0,g.refs-1),!(g.refs>0)&&((I=this.backend)==null||I.deleteTexture(g.texture),this.sharedVideoTextures.delete(A)))}releaseSharedHtmlVideo(A){var I;const g=this.sharedHtmlVideos.get(A);if(g&&(g.refs=Math.max(0,g.refs-1),!(g.refs>0))){try{g.video.pause(),g.video.removeAttribute("src"),g.video.load(),g.video.remove()}catch(Q){}(I=g.releaseSource)==null||I.call(g),this.sharedHtmlVideos.delete(A)}}waitForFirstVideoFrame(A){return new Promise(I=>{typeof A.requestVideoFrameCallback=="function"?A.requestVideoFrameCallback(()=>I()):requestAnimationFrame(()=>I())})}waitVideoReady(A){return new Promise((I,g)=>{let Q=!1,C=!1,E=null;const o=()=>{A.removeEventListener("canplay",t),A.removeEventListener("error",a),E!=null&&clearTimeout(E),E=null},i=s=>{Q||(Q=!0,o(),s())},e=async()=>{if(!(C||Q)){C=!0;try{try{await A.play()}catch(s){if(A.muted)throw s;console.warn("[GiftStage] audible HTMLVideo autoplay was blocked; retrying muted",s),A.muted=!0,A.defaultMuted=!0,await A.play()}await this.waitForFirstVideoFrame(A),i(I)}catch(s){i(()=>g(s))}}},t=()=>{e()},a=()=>{i(()=>g(new Error("Video load failed")))};A.addEventListener("canplay",t),A.addEventListener("error",a),E=setTimeout(()=>i(()=>g(new Error("Video ready timed out"))),CA.HTML_VIDEO_READY_TIMEOUT_MS),A.readyState>=HTMLMediaElement.HAVE_FUTURE_DATA&&e()})}removeGift(A){var I;this.resolveGiftPlaybackWaiters(A),this.completedPlaybackSlots.delete(A),this.playbackCompleteWaiters.delete(A),(I=this.manager)==null||I.removeSlot(A)}removeAll(){if(this.manager)for(const A of this.manager.getSlotIds())this.manager.removeSlot(A)}pause(){var A;(A=this.manager)==null||A.pause()}resume(){var A;(A=this.manager)==null||A.resume()}get activeCount(){var A,I;return(I=(A=this.manager)==null?void 0:A.activeCount)!=null?I:0}get backendType(){var A,I;return(I=(A=this.backend)==null?void 0:A.type)!=null?I:"webgl2"}destroy(){var A,I,g;this.destroyed=!0;for(const Q of this.pendingSharedSVGAEntities.values())Q.controller.abort();for(const Q of this.pendingSharedWebCodecsPlaybacks.values())Q.controller.abort();this.pendingSharedWebCodecsPlaybacks.clear(),(A=this.resizeObserver)==null||A.disconnect(),this.resizeObserver=null,window.removeEventListener("resize",this.onWindowLayout),window.removeEventListener("orientationchange",this.onWindowLayout),document.removeEventListener("visibilitychange",this.onVisibilityChange);for(const Q of this.sharedImageTextures.values())(I=this.backend)==null||I.deleteTexture(Q.texture);this.sharedImageTextures.clear(),this.pendingSharedImageTextures.clear(),(g=this.manager)==null||g.destroy();for(const[Q]of this.sharedHtmlVideos)this.releaseSharedHtmlVideo(Q);for(const[Q]of this.sharedSVGAEntities)this.releaseSharedSVGAEntity(Q);for(const[Q]of this.sharedVideoTextures)this.releaseSharedVideoTexture(Q);this.pendingSharedSVGAEntities.clear(),this.pendingSharedHtmlVideos.clear();for(const Q of this.sharedWebCodecsPlaybacks.values())for(const C of Q)C.playback.destroy();this.sharedWebCodecsPlaybacks.clear(),this.sharedWebCodecsSurfaces.clear(),this.completedPlaybackSlots.clear(),this.playbackCompleteWaiters.clear();for(const[Q,C]of this.sharedVideoSources)C.objectUrl&&URL.revokeObjectURL(C.objectUrl),this.sharedVideoSources.delete(Q);this.canvas.remove(),this.backend=null,this.manager=null}markGiftPlaybackComplete(A){this.completedPlaybackSlots.add(A),this.resolveGiftPlaybackWaiters(A)}resolveGiftPlaybackWaiters(A){const I=this.playbackCompleteWaiters.get(A);if(!(!I||I.size===0)){for(const g of I)g();this.playbackCompleteWaiters.delete(A)}}waitForGiftPlaybackComplete(A){var I;return this.completedPlaybackSlots.has(A)||!((I=this.manager)!=null&&I.getSlot(A))?Promise.resolve():new Promise(g=>{let Q=this.playbackCompleteWaiters.get(A);Q||(Q=new Set,this.playbackCompleteWaiters.set(A,Q)),Q.add(g)})}};p(rA,"SVGA_ATLAS_MAX_SIZE",2048);p(rA,"SVGA_ATLAS_PADDING",2);p(rA,"DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS",100);p(rA,"HTML_VIDEO_READY_TIMEOUT_MS",15e3);p(rA,"HTML_VIDEO_WATCHDOG_MIN_GRACE_MS",2e3);p(rA,"HTML_VIDEO_WATCHDOG_MAX_GRACE_MS",1e4);p(rA,"HTML_VIDEO_WATCHDOG_GRACE_RATIO",.2);p(rA,"MAX_TIMER_DELAY_MS",2147e6);p(rA,"DEFAULT_RESOURCE_CACHE_MEMORY_BYTES",128*1024*1024);p(rA,"DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES",2048*1024*1024);let Kt=rA;exports.AlphaVideoRenderer=JQ;exports.AudioManager=HQ;exports.BufferPool=rQ;exports.GiftStage=Kt;exports.ImageRenderer=LQ;exports.PostAnimator=uQ;exports.RenderManager=KI;exports.SVGABatchRenderer=NQ;exports.VAPRenderer=fQ;exports.WebCodecsMp4Playback=WA;exports.WebGL1Backend=mg;exports.WebGL2Backend=CQ;exports.WebGPUBackend=QQ;exports.buildAtlas=PQ;exports.buildBatchVerticesJS=PI;exports.canSharedArrayBuffer=OC;exports.canWebGL1=XC;exports.canWebGL2=vC;exports.canWebGPU=VC;exports.clamp=_I;exports.createBackend=oQ;exports.decodeSVGAProto=jg;exports.easeInOutCubic=ue;exports.easeInOutQuad=Le;exports.easeInQuad=fe;exports.easeOutBack=He;exports.easeOutCubic=zQ;exports.easeOutQuad=Je;exports.generateId=cQ;exports.inflateJS=Og;exports.initWasm=wQ;exports.isWasmReady=$A;exports.lerp=sA;exports.linear=Ke;exports.ortho=LA;exports.parseSVGA=Ig;exports.parseVAPConfig=Vg;
3285
3286
  //# sourceMappingURL=gift-stage.cjs.js.map