@taole/giftstage 0.1.29 → 0.1.30

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.
@@ -684,7 +684,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
684
684
  let c = textureSample(atlasTex, atlasSampler, f.uv);\r
685
685
  return vec4f(c.rgb * f.color.rgb * f.color.a, c.a * f.color.a);\r
686
686
  }\r
687
- `,p={svgaBatchPremul:{vert:CC,frag:IB},svgaInstancedPremul:{vert:EC,frag:IB},vap:{vert:iC,frag:gB},vapMixOverlay:{vert:oC,frag:eC},vapInstanced:{vert:hC,frag:gB},alphaVideo:{vert:aC,frag:BB},alphaVideoInstanced:{vert:DC,frag:BB},rgbaTextured:{vert:tC,frag:sC},clipMask:{vert:wC,frag:nC}},wA={svgaBatchPremul:rC,svgaInstancedPremul:SC,vap:cC,vapMixOverlay:FC,vapInstanced:MC,alphaVideo:GC,alphaVideoInstanced:yC,rgbaTextured:RC,clipMask:NC};var lC=Object.defineProperty,kC=(B,A,I)=>A in B?lC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,k=(B,A,I)=>kC(B,typeof A!="symbol"?A+"":A,I);const QB=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]),YC=16*1024*1024;function ig(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,"uniformSlotStride",256),k(this,"maxUniformSlots",8192),k(this,"uniformSlotIndex",0),k(this,"lastDrawPipeline",null),k(this,"lastStencilRef",-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}ensureDepthStencil(A,I){var g,Q;this.depthStencilTexture&&this.lastCanvasWidth===A&&this.lastCanvasHeight===I&&this.lastDepthStencilSampleCount===this.msaaSampleCount||((g=this.depthStencilTexture)==null||g.destroy(),(Q=this.msaaColorTexture)==null||Q.destroy(),this.msaaColorTexture=null,this.msaaColorView=null,this.depthStencilTexture=this.device.createTexture({size:[A,I],format:"depth24plus-stencil8",sampleCount:this.msaaSampleCount,usage:GPUTextureUsage.RENDER_ATTACHMENT}),this.depthStencilView=this.depthStencilTexture.createView(),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)}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.createTexturedPipeline("svga-batch-premul:none",wA.svgaBatchPremul,A,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"none"),this.createTexturedPipeline("svga-batch-premul:test",wA.svgaBatchPremul,A,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"test"),this.createClipMaskPipeline(g),this.createTexturedPipeline("vap:none",wA.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",wA.vapMixOverlay,I,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none",2),this.createTexturedPipeline("alpha-video:none",wA.alphaVideo,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none"),this.createTexturedPipeline("rgba-textured:none",wA.rgbaTextured,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none")}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:YC,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,wA.svgaInstancedPremul,A),g=this.pipelines.get(I)),g}ensureInstancedAlphaPipeline(){const A="alpha-video-instanced:none";let I=this.pipelines.get(A);return I||(this.createInstancedAlphaVideoPipeline(),I=this.pipelines.get(A)),I}ensureInstancedVapPipeline(){const A="vap-instanced:none";let I=this.pipelines.get(A);return I||(this.createVapInstancedPipeline(),I=this.pipelines.get(A)),I}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}:{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"}},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(){const A=this.ensureInstancedProjectionBuffer(),I=this.ensureInstancedStorageBuffer(),g=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}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:wA.vapInstanced}),E={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"}},o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[g,Q]}),vertex:{module:C,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:C,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("vap-instanced:none",{pipeline:o,bindGroupLayout:g,instancedDataBindGroup:this.device.createBindGroup({layout:g,entries:[{binding:0,resource:{buffer:A,offset:0,size:256}},{binding:1,resource:{buffer:I,offset:0,size:_.INSTANCED_VAP_CHUNK_BYTES}}]}),textureCount:1})}createInstancedAlphaVideoPipeline(){const A=this.ensureInstancedProjectionBuffer(),I=this.ensureInstancedStorageBuffer(),g=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}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:wA.alphaVideoInstanced}),E={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"}},o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[g,Q]}),vertex:{module:C,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:C,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("alpha-video-instanced:none",{pipeline:o,bindGroupLayout:g,instancedDataBindGroup:this.device.createBindGroup({layout:g,entries:[{binding:0,resource:{buffer:A,offset:0,size:256}},{binding:1,resource:{buffer:I,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}:{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"}},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:wA.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(){const A=this.canvas.width,I=this.canvas.height;(A!==this.configuredCanvasWidth||I!==this.configuredCanvasHeight)&&this.configureCanvasContext(),this.ensureDepthStencil(A,I),this.encoder=this.device.createCommandEncoder();const g=this.context.getCurrentTexture().createView(),Q=this.msaaSampleCount>1&&this.msaaColorView?{view:this.msaaColorView,resolveTarget:g,clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:"discard"}:{view:g,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,this.passEncoder=this.encoder.beginRenderPass({colorAttachments:[Q],depthStencilAttachment:{view:this.depthStencilView,stencilClearValue:0,stencilLoadOp:"clear",stencilStoreOp:"discard",depthClearValue:1,depthLoadOp:"clear",depthStoreOp:"discard"}})}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,n=E!=null?E:h;if(w!==D||n!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,w,n,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,n=E!=null?E:h;if(w!==D||n!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,w,n,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}`,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.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 n=w*this.uniformSlotStride,F=A.uniforms.u_projection;if(t.textureCount>0){const y=A.uniforms.u_transform,R=y instanceof Float32Array&&y.length>=16?y:QB,S=A.uniforms.u_atlasRemap,N=S instanceof Float32Array&&S.length>=4?S:UC,U=typeof A.uniforms.u_opacity=="number"?A.uniforms.u_opacity:1,L=typeof A.uniforms.u_rgbPremultiplied=="number"?A.uniforms.u_rgbPremultiplied:1;if(F instanceof Float32Array&&F.length>=16){const l=this.uniformScratch160;l.set(F.length===16?F:F.subarray(0,16),0),l.set(R.length===16?R:R.subarray(0,16),16),l.set(N.length===4?N:N.subarray(0,4),32),l[36]=U,l[37]=L,l[38]=0,l[39]=0,this.device.queue.writeBuffer(this.uniformBuffer,n,l.buffer,l.byteOffset,160)}else{this.device.queue.writeBuffer(this.uniformBuffer,n+64,R.buffer,R.byteOffset,64),this.device.queue.writeBuffer(this.uniformBuffer,n+128,N.buffer,N.byteOffset,16);const l=this.uniformOpacityScratch;l[0]=U,l[1]=L,l[2]=0,l[3]=0,this.device.queue.writeBuffer(this.uniformBuffer,n+144,l)}}else if(F instanceof Float32Array&&F.length>=16){const y=A.uniforms.u_transform,R=y instanceof Float32Array&&y.length>=16?y:QB,S=this.uniformScratch128;S.set(F.length===16?F:F.subarray(0,16),0),S.set(R.length===16?R:R.subarray(0,16),16),this.device.queue.writeBuffer(this.uniformBuffer,n,S.buffer,S.byteOffset,128)}if(t.textureCount===1){const y=A.textures.length>0?A.textures[0]:null,R=y?this.textures.get(y.id):null,S=(g=R==null?void 0:R.view)!=null?g:this.dummyTextureView,N=(Q=y==null?void 0:y.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:S},{binding:2,resource:this.sampler}]}),this.texturedBindGroupCache.set(N,U)),s.setBindGroup(0,U,[n])}else if(t.textureCount===2){const y=A.textures[0],R=A.textures[1],S=y?this.textures.get(y.id):null,N=R?this.textures.get(R.id):null,U=(C=y==null?void 0:y.id)!=null?C:0,L=(E=R==null?void 0:R.id)!=null?E:0;let l=this.dualTexturedBindGroupCache.get(U);l||(l=new Map,this.dualTexturedBindGroupCache.set(U,l));let f=l.get(L);f||(f=this.device.createBindGroup({layout:this.dualTexturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:(o=S==null?void 0:S.view)!=null?o:this.dummyTextureView},{binding:2,resource:(i=N==null?void 0:N.view)!=null?i:this.dummyTextureView},{binding:3,resource:this.sampler}]}),l.set(L,f)),s.setBindGroup(0,f,[n])}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,[n]);const c=this.buffers.get(A.vertexBuffer.id),r=this.buffers.get(A.indexBuffer.id);if(!c||!r)return;const G=A.vertexBuffer.id,M=A.indexBuffer.id;this.lastVertexBufferId!==G&&(s.setVertexBuffer(0,c.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":"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.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 n=E*_.SVGA_INSTANCED_STRIDE,F=this.instancedStorageRingOffset,c=this.ensureInstancedStorageBuffer();if(F+_.INSTANCED_SVGA_CHUNK_BYTES>c.size){console.warn("[WebGPU] instanced SVGA storage ring full");return}this.instancedStorageRingOffset+=ig(n,this.storageBindOffsetAlign),this.device.queue.writeBuffer(c,F,o.buffer,o.byteOffset,n);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,y=(Q=r==null?void 0:r.id)!=null?Q:0;let R=this.instancedTextureBindGroupCache.get(y);R||(R=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:M},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(y,R)),C.setBindGroup(0,a.instancedDataBindGroup,[F]),this.lastInstancedTextureBindGroup!==R&&(C.setBindGroup(1,R),this.lastInstancedTextureBindGroup=R);const S=A.vertexBuffer.id,N=A.indexBuffer.id;this.lastVertexBufferId!==S&&(C.setVertexBuffer(0,h.buffer),this.lastVertexBufferId=S),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.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,n=this.ensureInstancedStorageBuffer();if(w+_.INSTANCED_ALPHA_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced alpha storage ring full");return}this.instancedStorageRingOffset+=ig(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,w,o.buffer,o.byteOffset,h);const F=A.textures[0],c=F?this.textures.get(F.id):null,r=(g=c==null?void 0:c.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,[w]),this.lastInstancedTextureBindGroup!==M&&(C.setBindGroup(1,M),this.lastInstancedTextureBindGroup=M);const y=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==y&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=y),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.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,n=this.ensureInstancedStorageBuffer();if(w+_.INSTANCED_VAP_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced VAP storage ring full");return}this.instancedStorageRingOffset+=ig(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,w,o.buffer,o.byteOffset,h);const F=A.textures[0],c=F?this.textures.get(F.id):null,r=(g=c==null?void 0:c.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,[w]),this.lastInstancedTextureBindGroup!==M&&(C.setBindGroup(1,M),this.lastInstancedTextureBindGroup=M);const y=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==y&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=y),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 PB=AA;function CB(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 FA(B,A,I){const g=CB(B,B.VERTEX_SHADER,A),Q=CB(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 dC(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 rI(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 cI(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 KC=Object.defineProperty,JC=(B,A,I)=>A in B?KC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,m=(B,A,I)=>JC(B,typeof A!="symbol"?A+"":A,I);const cA=class LA{constructor(A,I=!0){m(this,"type","webgl2"),m(this,"canvas"),m(this,"maxTextureSize",4096),m(this,"antialias"),m(this,"gl"),m(this,"nextId",1),m(this,"buffers",new Map),m(this,"textures",new Map),m(this,"programs",new Map),m(this,"vertexArrays",new Map),m(this,"cachedDrawProgram",null),m(this,"cachedTex0Id",null),m(this,"cachedProjectionRef",null),m(this,"cachedProjectionShader",null),m(this,"videoUploadCanvas",null),m(this,"videoUploadCtx",null),m(this,"videoElementPreferCanvasBridge",dC()),m(this,"videoElementDirectUploadValidated",!1),m(this,"instancedSvgaInstanceGLBuffer",null),m(this,"instancedAlphaInstanceGLBuffer",null),m(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=FA(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=FA(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=FA(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=FA(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=FA(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=FA(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=FA(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=FA(A,p.vapInstanced.vert,p.vapInstanced.frag);this.programs.set("vap-instanced",{program:e,uniforms:this.getUniforms(e,["u_projection","u_video"])});const a=FA(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(){const A=this.gl;A.viewport(0,0,this.canvas.width,this.canvas.height),A.clear(A.COLOR_BUFFER_BIT|A.STENCIL_BUFFER_BIT),A.disable(A.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=rI(I),a=cI(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=rI(I),E=cI(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,LA.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>LA.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,LA.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>LA.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,LA.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>LA.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()}};m(cA,"INST_SVGA_GL_MAX",2048);m(cA,"INST_SVGA_GL_BYTES",cA.INST_SVGA_GL_MAX*52);m(cA,"INST_ALPHA_GL_MAX",1024);m(cA,"INST_ALPHA_GL_BYTES",cA.INST_ALPHA_GL_MAX*48);m(cA,"INST_VAP_GL_MAX",1024);m(cA,"INST_VAP_GL_BYTES",cA.INST_VAP_GL_MAX*128);let zB=cA;var LC=Object.defineProperty,fC=(B,A,I)=>A in B?LC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,P=(B,A,I)=>fC(B,typeof A!="symbol"?A+"":A,I);function uC(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 iB(B,A,I,g){const Q=B.createShader(A);if(!Q)throw new Error("Failed to create shader");if(B.shaderSource(Q,uC(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 AI(B,A,I,g){const Q=iB(B,B.VERTEX_SHADER,A,"vertex"),C=iB(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 oB(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 Lg{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:AI(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:AI(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:AI(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:AI(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:AI(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(){const A=this.gl;A.viewport(0,0,this.canvas.width,this.canvas.height),A.clear(A.COLOR_BUFFER_BIT|A.STENCIL_BUFFER_BIT),A.disable(A.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=oB(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=oB(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=rI(I),a=cI(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=rI(I),E=cI(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 _B(){return typeof GPUQueue!="undefined"&&typeof GPUQueue.prototype.copyExternalImageToTexture=="function"}function HC(){return typeof navigator!="undefined"&&"gpu"in navigator&&_B()}function qC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl2")!==null}catch(B){return!1}}function pC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl")!==null}catch(B){return!1}}function mC(){return typeof SharedArrayBuffer!="undefined"&&typeof Atomics!="undefined"&&globalThis.crossOriginIsolated===!0}function $B(){return typeof OffscreenCanvas!="undefined"}async function AQ(B,A=!0,I=!0,g=!1){const Q=I!=null?I:!1,C=I!=null?I:!0;if(g){const o=new Lg(B,C);return await o.init(),o}if(A&&typeof navigator!="undefined"&&"gpu"in navigator&&_B())try{const o=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(o){const i=new PB(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 zB(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 Lg(B,C);return await E.init(),E}const xC={width:1920,height:1080},bC={width:2560,height:1440};function TC(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 WC(B){return TC(B)?xC:bC}function ZC(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:WC(),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 fg(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 VC=9,HA=13,rA=9,vA=4,eI=6,vg=9,vC={a:1,b:0,c:0,d:1,tx:0,ty:0};function XC(B,A,I){return(B*I+A)*vg}function OC(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 jC(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 IQ(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 r of B)a=Math.max(a,r.frames.length);const t=B.map(r=>r.imageKey),s=new Float32Array(e*a*vg),D=[],h=new Map,w=new Int32Array(e*a).fill(-1),n=[],F=new Int32Array(e*a).fill(-1);let c=!1;for(let r=0;r<e;r++){const G=B[r];let M=null,y=-1;for(let R=0;R<a;R++){const S=G.frames[R],N=XC(r,R,a);if(!S){s[N+2]=1,s[N+5]=1;continue}const U=(g=(I=S.layout)==null?void 0:I.width)!=null?g:0,L=(C=(Q=S.layout)==null?void 0:Q.height)!=null?C:0,l=(E=S.transform)!=null?E:vC;s[N]=U,s[N+1]=L,s[N+2]=l.a,s[N+3]=l.b,s[N+4]=l.c,s[N+5]=l.d,s[N+6]=l.tx,s[N+7]=l.ty,s[N+8]=S.alpha;const f=(o=S.clipPath)!=null?o:"";if(f.length>0){let K=h.get(f);K===void 0&&(K=D.length,D.push(f),h.set(f,K)),w[r*a+R]=K}const d=S.shapes;if(!d||d.length===0){M=null,y=-1;continue}if(((i=d[0])==null?void 0:i.kind)==="keep"){y>=0&&(F[r*a+R]=y,c=!0);continue}if(M!==null&&d===M&&y>=0){F[r*a+R]=y,c=!0;continue}const u=d.every(K=>K.kind!=="keep")?d:d.filter(K=>K.kind!=="keep");if(u.length===0){M=null,y=-1;continue}M=u,y=n.length,n.push(u),F[r*a+R]=y,c=!0}}return{spriteCount:e,frameCount:a,imageKeys:t,frameData:s,clipPaths:D,clipPathIndex:w,shapesTable:n,shapesIndex:F,hasAnyShapes:c}}function xI(B,A,I){const g=Math.floor(B.length/HA),Q=Math.floor(A.length/(vA*rA)),C=Math.floor(I.length/eI),E=Math.min(g,Q,C);for(let o=0;o<E;o++){const i=o*HA,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],n=B[i+7],F=B[i+8],c=B[i+9],r=B[i+10],G=B[i+11],M=B[i+12],y=w,R=n,S=t*e+w,N=s*e+n,U=t*e+D*a+w,L=s*e+h*a+n,l=D*a+w,f=h*a+n,d=o*vA*rA;A[d]=y,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]=c,A[d+8]=r;const u=d+rA;A[u]=S,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]=r;const K=d+2*rA;A[K]=U,A[K+1]=L,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]=M;const x=d+3*rA;A[x]=l,A[x+1]=f,A[x+2]=0,A[x+3]=1,A[x+4]=1,A[x+5]=1,A[x+6]=F,A[x+7]=c,A[x+8]=M;const X=o*eI,gA=o*vA;I[X]=gA,I[X+1]=gA+1,I[X+2]=gA+2,I[X+3]=gA,I[X+4]=gA+2,I[X+5]=gA+3}return E}function PC(B,A,I){const g=aB(B,J.__wbindgen_malloc),Q=IA;var C=aB(A,J.__wbindgen_malloc),E=IA,o=CQ(I,J.__wbindgen_malloc),i=IA;return J.build_batch_vertices(g,Q,C,E,A,o,i,I)>>>0}function zC(B){const A=Qg(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga(A,I);if(g[2])throw FI(g[1]);return FI(g[0])}function _C(B){const A=Qg(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga_payload(A,I);if(g[3])throw FI(g[2]);var Q=Bg(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function $C(B){const A=Qg(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga_payload_profiled(A,I);if(g[3])throw FI(g[2]);var Q=Bg(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function AE(B){const A=Qg(B,J.__wbindgen_malloc),I=IA,g=J.inflate(A,I);if(g[3])throw FI(g[2]);var Q=Bg(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function gQ(){J.init()}function IE(){return J.take_svga_payload_profile()}function gE(B,A){const I=EE(B,J.__wbindgen_malloc),g=IA,Q=CQ(A,J.__wbindgen_malloc),C=IA,E=J.triangulate_clip_polygons(I,g,Q,C);var o=BE(E[0],E[1]).slice();return J.__wbindgen_free(E[0],E[1]*4,4),o}function BQ(){return{__proto__:null,"./gift_stage_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(A,I){return Error(og(A,I))},__wbg_String_8564e559799eccda:function(A,I){const g=String(I),Q=iE(g,J.__wbindgen_malloc,J.__wbindgen_realloc),C=IA;eB().setInt32(A+4,C,!0),eB().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(Bg(A,I))},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(A){return typeof A=="string"},__wbg___wbindgen_throw_81fc77679af83bc6:function(A,I){throw new Error(og(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 og(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 BE(B,A){return B=B>>>0,QQ().subarray(B/4,B/4+A)}function Bg(B,A){return B=B>>>0,XA().subarray(B/1,B/1+A)}let fA=null;function eB(){return(fA===null||fA.buffer.detached===!0||fA.buffer.detached===void 0&&fA.buffer!==J.memory.buffer)&&(fA=new DataView(J.memory.buffer)),fA}let BI=null;function QE(){return(BI===null||BI.byteLength===0)&&(BI=new Float32Array(J.memory.buffer)),BI}let QI=null;function CE(){return(QI===null||QI.byteLength===0)&&(QI=new Float64Array(J.memory.buffer)),QI}function og(B,A){return B=B>>>0,eE(B,A)}let CI=null;function QQ(){return(CI===null||CI.byteLength===0)&&(CI=new Uint32Array(J.memory.buffer)),CI}let EI=null;function XA(){return(EI===null||EI.byteLength===0)&&(EI=new Uint8Array(J.memory.buffer)),EI}function CQ(B,A){const I=A(B.length*4,4)>>>0;return QQ().set(B,I/4),IA=B.length,I}function Qg(B,A){const I=A(B.length*1,1)>>>0;return XA().set(B,I/1),IA=B.length,I}function aB(B,A){const I=A(B.length*4,4)>>>0;return QE().set(B,I/4),IA=B.length,I}function EE(B,A){const I=A(B.length*8,8)>>>0;return CE().set(B,I/8),IA=B.length,I}function iE(B,A,I){if(I===void 0){const o=aI.encode(B),i=A(o.length,1)>>>0;return XA().subarray(i,i+o.length).set(o),IA=o.length,i}let g=B.length,Q=A(g,1)>>>0;const C=XA();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=XA().subarray(Q+E,Q+g),i=aI.encodeInto(B,o);E+=i.written,Q=I(Q,g,E,1)>>>0}return IA=E,Q}function FI(B){const A=J.__wbindgen_externrefs.get(B);return J.__externref_table_dealloc(B),A}let bI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});bI.decode();const oE=2146435072;let eg=0;function eE(B,A){return eg+=A,eg>=oE&&(bI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),bI.decode(),eg=A),bI.decode(XA().subarray(B,B+A))}const aI=new TextEncoder;"encodeInto"in aI||(aI.encodeInto=function(B,A){const I=aI.encode(B);return A.set(I),{read:B.length,written:I.length}});let IA=0,J;function EQ(B,A){return J=B.exports,fA=null,BI=null,QI=null,CI=null,EI=null,J.__wbindgen_start(),J}async function aE(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 tE(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=BQ();B instanceof WebAssembly.Module||(B=new WebAssembly.Module(B));const I=new WebAssembly.Instance(B,A);return EQ(I)}async function iQ(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+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:VA&&VA.tagName.toUpperCase()==="SCRIPT"&&VA.src||new URL("gift-stage.cjs.js",document.baseURI).href));const A=BQ();(typeof B=="string"||typeof Request=="function"&&B instanceof Request||typeof URL=="function"&&B instanceof URL)&&(B=fetch(B));const{instance:I,module:g}=await aE(await B,A);return EQ(I)}const sE=Object.freeze(Object.defineProperty({__proto__:null,build_batch_vertices:PC,decode_svga:zC,decode_svga_payload:_C,decode_svga_payload_profiled:$C,default:iQ,inflate:AE,init:gQ,initSync:tE,take_svga_payload_profile:IE,triangulate_clip_polygons:gE},Symbol.toStringTag,{value:"Module"})),ag="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,KI=null;function tB(){return typeof performance!="undefined"?performance.now():Date.now()}function DE(){var B;const A=globalThis.process;return(B=A==null?void 0:A.versions)!=null&&B.node&&ag.startsWith("/")?new URL(Object.assign({})[`../..${ag}`],typeof document=="undefined"?require("url").pathToFileURL(__filename).href:VA&&VA.tagName.toUpperCase()==="SCRIPT"&&VA.src||new URL("gift-stage.cjs.js",document.baseURI).href):ag}function OA(){return j!==null}async function oQ(){return j?!0:KI||(KI=(async()=>{try{return await iQ({module_or_path:DE()}),gQ(),j=sE,!0}catch(B){return console.warn("[GiftStage] WASM unavailable, using JS fallback:",B),!1}})(),KI)}function hE(B){if(!j)return null;try{return j.inflate(B)}catch(A){return null}}function wE(B){if(!j)return null;try{return cE(j.decode_svga(B))}catch(A){return null}}function nE(B){if(!j)return null;try{return j.decode_svga_payload(B)}catch(A){return null}}function rE(B){if(!j)return null;try{const A=tB(),I=typeof j.decode_svga_payload_profiled=="function"?j.decode_svga_payload_profiled(B):j.decode_svga_payload(B),g=tB()-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 tg(B,A,I){if(!j)return null;try{return j.build_batch_vertices(B,A,I)}catch(g){return null}}function cE(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(FE),D=((E=B.audios)!=null?E:[]).map(h=>{var w,n,F,c,r;return{audioKey:(w=h.audio_key)!=null?w:"",startFrame:(n=h.start_frame)!=null?n:0,endFrame:(F=h.end_frame)!=null?F:0,startTime:(c=h.start_time)!=null?c:0,totalTime:(r=h.total_time)!=null?r:0}});return{version:(o=B.version)!=null?o:"",params:e,images:a,spriteTable:IQ(s,e.frames),audios:D}}function FE(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,n;const F=Array.isArray(C.shapes)?C.shapes:[];let c;return F.length===0?(g=null,c=null):((E=F[0])==null?void 0:E.kind)==="keep"?c=g:(c=yE(F),g=c),{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:(n=C.clip_path)!=null?n:"",shapes:c}});return{imageKey:(I=B.image_key)!=null?I:"",frames:Q}}function sB(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 GE(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:sB(B==null?void 0:B.fill),stroke:sB(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 RE(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,a,t,s,D;if(!Array.isArray(B)||B.length===0)return null;const h=[];for(const w of B){const n=w==null?void 0:w.kind;if(n!=="path"&&n!=="rect"&&n!=="ellipse")continue;const F={kind:n,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:GE(w.style),transform:RE(w.transform)};h.push(F)}return h.length>0?h:null}var ME=Object.defineProperty,NE=(B,A,I)=>A in B?ME(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,sg=(B,A,I)=>NE(B,typeof A!="symbol"?A+"":A,I);class eQ{constructor(){sg(this,"floatPoolA",null),sg(this,"floatPoolB",null),sg(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 UA(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 aA(B,A,I){return B+(A-B)*I}function TI(B,A,I){return B<A?A:B>I?I:B}let SE=0;function aQ(){return`gift_${++SE}_${Date.now().toString(36)}`}const XI=8;function tQ(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 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(),n=t(),F=t(),c=t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"c":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),h=Q+t(),w=g+t(),n=Q+t(),F=g+t(),c=Q+t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"S":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,h=2*Q-i,w=t(),n=t(),F=t(),c=t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"s":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,h=2*Q-i,w=g+t(),n=Q+t(),F=g+t(),c=Q+t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"Q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=t(),h=t(),w=t(),n=t();DB(I,g,Q,D,h,w,n),o=D,i=h,g=w,Q=n}break}case"q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),h=Q+t(),w=g+t(),n=Q+t();DB(I,g,Q,D,h,w,n),o=D,i=h,g=w,Q=n}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 JI(B,A,I,g,Q,C,E,o,i){for(let e=1;e<=XI;e++){const a=e/XI,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 DB(B,A,I,g,Q,C,E){for(let o=1;o<=XI;o++){const i=o/XI,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 kE(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=UE(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],n=(h.x-D.x)*(w.y-D.y)-(h.y-D.y)*(w.x-D.x);if(!(C?n>0:n<0))continue;let c=!1;for(let r=0;r<i;r++)if(!(r===(e-1+i)%i||r===e||r===(e+1)%i)&&YE(B[g[r]],D,h,w)){c=!0;break}if(!c){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 UE(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 YE(B,A,I,g){const Q=Dg(B,A,I),C=Dg(B,I,g),E=Dg(B,g,A),o=Q<0||C<0||E<0,i=Q>0||C>0||E>0;return!(o&&i)}function Dg(B,A,I){return(B.x-I.x)*(A.y-I.y)-(A.x-I.x)*(B.y-I.y)}function DA(B){var A;return(A=B.options.objectFit)!=null?A:"contain"}function YA(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=DA(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 dE(B,A,I=2){const g=B.length;let Q=KE(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 RI(Q,C,I,E,o,i,0),C}function KE(B,A,I,g,Q){let C;if(Q===WE(B,A,I,g)>0)for(let E=A;E<I;E+=g)C=hB(E/g|0,B[E],B[E+1],C);else for(let E=I-g;E>=A;E-=g)C=hB(E/g|0,B[E],B[E+1],C);return C&&Cg(C,C.next)&&(yI(C),C=C.next),C}function GI(B,A){if(!B)return B;A||(A=B);let I=B,g;do if(g=!1,!I.steiner&&(Cg(I,I.next)||V(I.prev,I,I.next)===0)){if(yI(I),I=A=I.prev,I===I.next)break;g=!0}else I=I.next;while(g||I!==A);return A}function RI(B,A,I,g,Q,C,E){if(!B)return;!E&&C&&HE(B,g,Q,C);let o=B;for(;B.prev!==B.next;){const i=B.prev,e=B.next;if(C?LE(B,g,Q,C):JE(B)){A.push(i.i,B.i,e.i),yI(B),B=e.next,o=e.next;continue}if(B=e,B===o){E?E===1?(B=fE(GI(B),A),RI(B,A,I,g,Q,C,2)):E===2&&uE(B,A,I,g,Q,C):RI(GI(B),A,I,g,Q,C,1);break}}}function JE(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&&iI(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 LE(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),n=Math.max(a,t,s),F=ug(D,h,A,I,g),c=ug(w,n,A,I,g);let r=B.prevZ,G=B.nextZ;for(;r&&r.z>=F&&G&&G.z<=c;){if(r.x>=D&&r.x<=w&&r.y>=h&&r.y<=n&&r!==Q&&r!==E&&iI(o,a,i,t,e,s,r.x,r.y)&&V(r.prev,r,r.next)>=0||(r=r.prevZ,G.x>=D&&G.x<=w&&G.y>=h&&G.y<=n&&G!==Q&&G!==E&&iI(o,a,i,t,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<=w&&r.y>=h&&r.y<=n&&r!==Q&&r!==E&&iI(o,a,i,t,e,s,r.x,r.y)&&V(r.prev,r,r.next)>=0)return!1;r=r.prevZ}for(;G&&G.z<=c;){if(G.x>=D&&G.x<=w&&G.y>=h&&G.y<=n&&G!==Q&&G!==E&&iI(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 fE(B,A){let I=B;do{const g=I.prev,Q=I.next.next;!Cg(g,Q)&&sQ(g,I,I.next,Q)&&OI(g,Q)&&OI(Q,g)&&(A.push(g.i,I.i,Q.i),yI(I),yI(I.next),I=B=Q),I=I.next}while(I!==B);return GI(I)}function uE(B,A,I,g,Q,C){let E=B;do{let o=E.next.next;for(;o!==E.prev;){if(E.i!==o.i&&mE(E,o)){let i=TE(E,o);E=GI(E,E.next),i=GI(i,i.next),RI(E,A,I,g,Q,C,0),RI(i,A,I,g,Q,C,0);return}o=o.next}E=E.next}while(E!==B)}function HE(B,A,I,g){let Q=B;do Q.z===0&&(Q.z=ug(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,qE(Q)}function qE(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 ug(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 pE(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 iI(B,A,I,g,Q,C,E,o){return!(B===E&&A===o)&&pE(B,A,I,g,Q,C,E,o)}function mE(B,A){return B.next.i!==A.i&&B.prev.i!==A.i&&!xE(B,A)&&(OI(B,A)&&OI(A,B)&&bE(B,A)&&(V(B.prev,B,A.prev)||V(B,A.prev,A))||Cg(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 Cg(B,A){return B.x===A.x&&B.y===A.y}function sQ(B,A,I,g){const Q=fI(V(B,A,I)),C=fI(V(B,A,g)),E=fI(V(I,g,B)),o=fI(V(I,g,A));return!!(Q!==C&&E!==o||Q===0&&LI(B,I,A)||C===0&&LI(B,g,A)||E===0&&LI(I,B,g)||o===0&&LI(I,A,g))}function LI(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 fI(B){return B>0?1:B<0?-1:0}function xE(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&&sQ(I,I.next,B,A))return!0;I=I.next}while(I!==B);return!1}function OI(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 bE(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 TE(B,A){const I=Hg(B.i,B.x,B.y),g=Hg(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 hB(B,A,I,g){const Q=Hg(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 yI(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 Hg(B,A,I){return{i:B,x:A,y:I,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function WE(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 ZE(B,A){const I=tQ(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=dE(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 DQ=`function RA(A, I, g = 2) {
687
+ `,p={svgaBatchPremul:{vert:CC,frag:IB},svgaInstancedPremul:{vert:EC,frag:IB},vap:{vert:iC,frag:gB},vapMixOverlay:{vert:oC,frag:eC},vapInstanced:{vert:hC,frag:gB},alphaVideo:{vert:aC,frag:BB},alphaVideoInstanced:{vert:DC,frag:BB},rgbaTextured:{vert:tC,frag:sC},clipMask:{vert:wC,frag:nC}},wA={svgaBatchPremul:rC,svgaInstancedPremul:SC,vap:cC,vapMixOverlay:FC,vapInstanced:MC,alphaVideo:GC,alphaVideoInstanced:yC,rgbaTextured:RC,clipMask:NC};var lC=Object.defineProperty,kC=(B,A,I)=>A in B?lC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,k=(B,A,I)=>kC(B,typeof A!="symbol"?A+"":A,I);const QB=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]),YC=16*1024*1024;function Cg(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,"uniformSlotStride",256),k(this,"maxUniformSlots",8192),k(this,"uniformSlotIndex",0),k(this,"lastDrawPipeline",null),k(this,"lastStencilRef",-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}ensureDepthStencil(A,I){var g,Q;this.depthStencilTexture&&this.lastCanvasWidth===A&&this.lastCanvasHeight===I&&this.lastDepthStencilSampleCount===this.msaaSampleCount||((g=this.depthStencilTexture)==null||g.destroy(),(Q=this.msaaColorTexture)==null||Q.destroy(),this.msaaColorTexture=null,this.msaaColorView=null,this.depthStencilTexture=this.device.createTexture({size:[A,I],format:"depth24plus-stencil8",sampleCount:this.msaaSampleCount,usage:GPUTextureUsage.RENDER_ATTACHMENT}),this.depthStencilView=this.depthStencilTexture.createView(),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)}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.createTexturedPipeline("svga-batch-premul:none",wA.svgaBatchPremul,A,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"none"),this.createTexturedPipeline("svga-batch-premul:test",wA.svgaBatchPremul,A,[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x4"},{shaderLocation:2,offset:28,format:"float32x2"}],36,"test"),this.createClipMaskPipeline(g),this.createTexturedPipeline("vap:none",wA.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",wA.vapMixOverlay,I,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none",2),this.createTexturedPipeline("alpha-video:none",wA.alphaVideo,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none"),this.createTexturedPipeline("rgba-textured:none",wA.rgbaTextured,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none")}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:YC,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,wA.svgaInstancedPremul,A),g=this.pipelines.get(I)),g}ensureInstancedAlphaPipeline(){const A="alpha-video-instanced:none";let I=this.pipelines.get(A);return I||(this.createInstancedAlphaVideoPipeline(),I=this.pipelines.get(A)),I}ensureInstancedVapPipeline(){const A="vap-instanced:none";let I=this.pipelines.get(A);return I||(this.createVapInstancedPipeline(),I=this.pipelines.get(A)),I}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}:{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"}},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(){const A=this.ensureInstancedProjectionBuffer(),I=this.ensureInstancedStorageBuffer(),g=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}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:wA.vapInstanced}),E={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"}},o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[g,Q]}),vertex:{module:C,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:C,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("vap-instanced:none",{pipeline:o,bindGroupLayout:g,instancedDataBindGroup:this.device.createBindGroup({layout:g,entries:[{binding:0,resource:{buffer:A,offset:0,size:256}},{binding:1,resource:{buffer:I,offset:0,size:_.INSTANCED_VAP_CHUNK_BYTES}}]}),textureCount:1})}createInstancedAlphaVideoPipeline(){const A=this.ensureInstancedProjectionBuffer(),I=this.ensureInstancedStorageBuffer(),g=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}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:wA.alphaVideoInstanced}),E={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"}},o=this.device.createRenderPipeline({layout:this.device.createPipelineLayout({bindGroupLayouts:[g,Q]}),vertex:{module:C,entryPoint:"vs",buffers:[{arrayStride:16,attributes:[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}]}]},fragment:{module:C,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("alpha-video-instanced:none",{pipeline:o,bindGroupLayout:g,instancedDataBindGroup:this.device.createBindGroup({layout:g,entries:[{binding:0,resource:{buffer:A,offset:0,size:256}},{binding:1,resource:{buffer:I,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}:{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"}},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:wA.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(){const A=this.canvas.width,I=this.canvas.height;(A!==this.configuredCanvasWidth||I!==this.configuredCanvasHeight)&&this.configureCanvasContext(),this.ensureDepthStencil(A,I),this.encoder=this.device.createCommandEncoder();const g=this.context.getCurrentTexture().createView(),Q=this.msaaSampleCount>1&&this.msaaColorView?{view:this.msaaColorView,resolveTarget:g,clearValue:{r:0,g:0,b:0,a:0},loadOp:"clear",storeOp:"discard"}:{view:g,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,this.passEncoder=this.encoder.beginRenderPass({colorAttachments:[Q],depthStencilAttachment:{view:this.depthStencilView,stencilClearValue:0,stencilLoadOp:"clear",stencilStoreOp:"discard",depthClearValue:1,depthLoadOp:"clear",depthStoreOp:"discard"}})}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,n=E!=null?E:h;if(w!==D||n!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,w,n,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,n=E!=null?E:h;if(w!==D||n!==h){this.drawVideoLikeSourceToTextureRegion(o.texture,w,n,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}`,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.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 n=w*this.uniformSlotStride,F=A.uniforms.u_projection;if(t.textureCount>0){const y=A.uniforms.u_transform,R=y instanceof Float32Array&&y.length>=16?y:QB,S=A.uniforms.u_atlasRemap,N=S instanceof Float32Array&&S.length>=4?S:UC,U=typeof A.uniforms.u_opacity=="number"?A.uniforms.u_opacity:1,L=typeof A.uniforms.u_rgbPremultiplied=="number"?A.uniforms.u_rgbPremultiplied:1;if(F instanceof Float32Array&&F.length>=16){const l=this.uniformScratch160;l.set(F.length===16?F:F.subarray(0,16),0),l.set(R.length===16?R:R.subarray(0,16),16),l.set(N.length===4?N:N.subarray(0,4),32),l[36]=U,l[37]=L,l[38]=0,l[39]=0,this.device.queue.writeBuffer(this.uniformBuffer,n,l.buffer,l.byteOffset,160)}else{this.device.queue.writeBuffer(this.uniformBuffer,n+64,R.buffer,R.byteOffset,64),this.device.queue.writeBuffer(this.uniformBuffer,n+128,N.buffer,N.byteOffset,16);const l=this.uniformOpacityScratch;l[0]=U,l[1]=L,l[2]=0,l[3]=0,this.device.queue.writeBuffer(this.uniformBuffer,n+144,l)}}else if(F instanceof Float32Array&&F.length>=16){const y=A.uniforms.u_transform,R=y instanceof Float32Array&&y.length>=16?y:QB,S=this.uniformScratch128;S.set(F.length===16?F:F.subarray(0,16),0),S.set(R.length===16?R:R.subarray(0,16),16),this.device.queue.writeBuffer(this.uniformBuffer,n,S.buffer,S.byteOffset,128)}if(t.textureCount===1){const y=A.textures.length>0?A.textures[0]:null,R=y?this.textures.get(y.id):null,S=(g=R==null?void 0:R.view)!=null?g:this.dummyTextureView,N=(Q=y==null?void 0:y.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:S},{binding:2,resource:this.sampler}]}),this.texturedBindGroupCache.set(N,U)),s.setBindGroup(0,U,[n])}else if(t.textureCount===2){const y=A.textures[0],R=A.textures[1],S=y?this.textures.get(y.id):null,N=R?this.textures.get(R.id):null,U=(C=y==null?void 0:y.id)!=null?C:0,L=(E=R==null?void 0:R.id)!=null?E:0;let l=this.dualTexturedBindGroupCache.get(U);l||(l=new Map,this.dualTexturedBindGroupCache.set(U,l));let f=l.get(L);f||(f=this.device.createBindGroup({layout:this.dualTexturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:(o=S==null?void 0:S.view)!=null?o:this.dummyTextureView},{binding:2,resource:(i=N==null?void 0:N.view)!=null?i:this.dummyTextureView},{binding:3,resource:this.sampler}]}),l.set(L,f)),s.setBindGroup(0,f,[n])}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,[n]);const c=this.buffers.get(A.vertexBuffer.id),r=this.buffers.get(A.indexBuffer.id);if(!c||!r)return;const G=A.vertexBuffer.id,M=A.indexBuffer.id;this.lastVertexBufferId!==G&&(s.setVertexBuffer(0,c.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":"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.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 n=E*_.SVGA_INSTANCED_STRIDE,F=this.instancedStorageRingOffset,c=this.ensureInstancedStorageBuffer();if(F+_.INSTANCED_SVGA_CHUNK_BYTES>c.size){console.warn("[WebGPU] instanced SVGA storage ring full");return}this.instancedStorageRingOffset+=Cg(n,this.storageBindOffsetAlign),this.device.queue.writeBuffer(c,F,o.buffer,o.byteOffset,n);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,y=(Q=r==null?void 0:r.id)!=null?Q:0;let R=this.instancedTextureBindGroupCache.get(y);R||(R=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:M},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(y,R)),C.setBindGroup(0,a.instancedDataBindGroup,[F]),this.lastInstancedTextureBindGroup!==R&&(C.setBindGroup(1,R),this.lastInstancedTextureBindGroup=R);const S=A.vertexBuffer.id,N=A.indexBuffer.id;this.lastVertexBufferId!==S&&(C.setVertexBuffer(0,h.buffer),this.lastVertexBufferId=S),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.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,n=this.ensureInstancedStorageBuffer();if(w+_.INSTANCED_ALPHA_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced alpha storage ring full");return}this.instancedStorageRingOffset+=Cg(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,w,o.buffer,o.byteOffset,h);const F=A.textures[0],c=F?this.textures.get(F.id):null,r=(g=c==null?void 0:c.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,[w]),this.lastInstancedTextureBindGroup!==M&&(C.setBindGroup(1,M),this.lastInstancedTextureBindGroup=M);const y=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==y&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=y),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.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,n=this.ensureInstancedStorageBuffer();if(w+_.INSTANCED_VAP_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced VAP storage ring full");return}this.instancedStorageRingOffset+=Cg(h,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,w,o.buffer,o.byteOffset,h);const F=A.textures[0],c=F?this.textures.get(F.id):null,r=(g=c==null?void 0:c.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,[w]),this.lastInstancedTextureBindGroup!==M&&(C.setBindGroup(1,M),this.lastInstancedTextureBindGroup=M);const y=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==y&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=y),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 PB=AA;function CB(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 cA(B,A,I){const g=CB(B,B.VERTEX_SHADER,A),Q=CB(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 dC(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 rI(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 cI(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 KC=Object.defineProperty,JC=(B,A,I)=>A in B?KC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,m=(B,A,I)=>JC(B,typeof A!="symbol"?A+"":A,I);const rA=class LA{constructor(A,I=!0){m(this,"type","webgl2"),m(this,"canvas"),m(this,"maxTextureSize",4096),m(this,"antialias"),m(this,"gl"),m(this,"nextId",1),m(this,"buffers",new Map),m(this,"textures",new Map),m(this,"programs",new Map),m(this,"vertexArrays",new Map),m(this,"cachedDrawProgram",null),m(this,"cachedTex0Id",null),m(this,"cachedProjectionRef",null),m(this,"cachedProjectionShader",null),m(this,"videoUploadCanvas",null),m(this,"videoUploadCtx",null),m(this,"videoElementPreferCanvasBridge",dC()),m(this,"videoElementDirectUploadValidated",!1),m(this,"instancedSvgaInstanceGLBuffer",null),m(this,"instancedAlphaInstanceGLBuffer",null),m(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=cA(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=cA(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=cA(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=cA(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=cA(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=cA(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=cA(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=cA(A,p.vapInstanced.vert,p.vapInstanced.frag);this.programs.set("vap-instanced",{program:e,uniforms:this.getUniforms(e,["u_projection","u_video"])});const a=cA(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(){const A=this.gl;A.viewport(0,0,this.canvas.width,this.canvas.height),A.clear(A.COLOR_BUFFER_BIT|A.STENCIL_BUFFER_BIT),A.disable(A.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=rI(I),a=cI(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=rI(I),E=cI(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,LA.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>LA.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,LA.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>LA.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,LA.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>LA.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()}};m(rA,"INST_SVGA_GL_MAX",2048);m(rA,"INST_SVGA_GL_BYTES",rA.INST_SVGA_GL_MAX*52);m(rA,"INST_ALPHA_GL_MAX",1024);m(rA,"INST_ALPHA_GL_BYTES",rA.INST_ALPHA_GL_MAX*48);m(rA,"INST_VAP_GL_MAX",1024);m(rA,"INST_VAP_GL_BYTES",rA.INST_VAP_GL_MAX*128);let zB=rA;var LC=Object.defineProperty,fC=(B,A,I)=>A in B?LC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,P=(B,A,I)=>fC(B,typeof A!="symbol"?A+"":A,I);function uC(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 iB(B,A,I,g){const Q=B.createShader(A);if(!Q)throw new Error("Failed to create shader");if(B.shaderSource(Q,uC(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 AI(B,A,I,g){const Q=iB(B,B.VERTEX_SHADER,A,"vertex"),C=iB(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 oB(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 Kg{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:AI(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:AI(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:AI(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:AI(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:AI(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(){const A=this.gl;A.viewport(0,0,this.canvas.width,this.canvas.height),A.clear(A.COLOR_BUFFER_BIT|A.STENCIL_BUFFER_BIT),A.disable(A.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=oB(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=oB(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=rI(I),a=cI(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=rI(I),E=cI(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 _B(){return typeof GPUQueue!="undefined"&&typeof GPUQueue.prototype.copyExternalImageToTexture=="function"}function HC(){return typeof navigator!="undefined"&&"gpu"in navigator&&_B()}function qC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl2")!==null}catch(B){return!1}}function pC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl")!==null}catch(B){return!1}}function mC(){return typeof SharedArrayBuffer!="undefined"&&typeof Atomics!="undefined"&&globalThis.crossOriginIsolated===!0}function $B(){return typeof OffscreenCanvas!="undefined"}async function AQ(B,A=!0,I=!0,g=!1){const Q=I!=null?I:!1,C=I!=null?I:!0;if(g){const o=new Kg(B,C);return await o.init(),o}if(A&&typeof navigator!="undefined"&&"gpu"in navigator&&_B())try{const o=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(o){const i=new PB(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 zB(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 Kg(B,C);return await E.init(),E}const xC={width:1920,height:1080},bC={width:2560,height:1440};function TC(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 WC(B){return TC(B)?xC:bC}function ZC(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:WC(),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 Jg(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 VC=9,HA=13,nA=9,vA=4,eI=6,Vg=9,vC={a:1,b:0,c:0,d:1,tx:0,ty:0};function XC(B,A,I){return(B*I+A)*Vg}function OC(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 jC(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 IQ(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 r of B)a=Math.max(a,r.frames.length);const t=B.map(r=>r.imageKey),s=new Float32Array(e*a*Vg),D=[],h=new Map,w=new Int32Array(e*a).fill(-1),n=[],F=new Int32Array(e*a).fill(-1);let c=!1;for(let r=0;r<e;r++){const G=B[r];let M=null,y=-1;for(let R=0;R<a;R++){const S=G.frames[R],N=XC(r,R,a);if(!S){s[N+2]=1,s[N+5]=1;continue}const U=(g=(I=S.layout)==null?void 0:I.width)!=null?g:0,L=(C=(Q=S.layout)==null?void 0:Q.height)!=null?C:0,l=(E=S.transform)!=null?E:vC;s[N]=U,s[N+1]=L,s[N+2]=l.a,s[N+3]=l.b,s[N+4]=l.c,s[N+5]=l.d,s[N+6]=l.tx,s[N+7]=l.ty,s[N+8]=S.alpha;const f=(o=S.clipPath)!=null?o:"";if(f.length>0){let K=h.get(f);K===void 0&&(K=D.length,D.push(f),h.set(f,K)),w[r*a+R]=K}const d=S.shapes;if(!d||d.length===0){M=null,y=-1;continue}if(((i=d[0])==null?void 0:i.kind)==="keep"){y>=0&&(F[r*a+R]=y,c=!0);continue}if(M!==null&&d===M&&y>=0){F[r*a+R]=y,c=!0;continue}const u=d.every(K=>K.kind!=="keep")?d:d.filter(K=>K.kind!=="keep");if(u.length===0){M=null,y=-1;continue}M=u,y=n.length,n.push(u),F[r*a+R]=y,c=!0}}return{spriteCount:e,frameCount:a,imageKeys:t,frameData:s,clipPaths:D,clipPathIndex:w,shapesTable:n,shapesIndex:F,hasAnyShapes:c}}function xI(B,A,I){const g=Math.floor(B.length/HA),Q=Math.floor(A.length/(vA*nA)),C=Math.floor(I.length/eI),E=Math.min(g,Q,C);for(let o=0;o<E;o++){const i=o*HA,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],n=B[i+7],F=B[i+8],c=B[i+9],r=B[i+10],G=B[i+11],M=B[i+12],y=w,R=n,S=t*e+w,N=s*e+n,U=t*e+D*a+w,L=s*e+h*a+n,l=D*a+w,f=h*a+n,d=o*vA*nA;A[d]=y,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]=c,A[d+8]=r;const u=d+nA;A[u]=S,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]=r;const K=d+2*nA;A[K]=U,A[K+1]=L,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]=M;const x=d+3*nA;A[x]=l,A[x+1]=f,A[x+2]=0,A[x+3]=1,A[x+4]=1,A[x+5]=1,A[x+6]=F,A[x+7]=c,A[x+8]=M;const X=o*eI,gA=o*vA;I[X]=gA,I[X+1]=gA+1,I[X+2]=gA+2,I[X+3]=gA,I[X+4]=gA+2,I[X+5]=gA+3}return E}function PC(B,A,I){const g=aB(B,J.__wbindgen_malloc),Q=IA;var C=aB(A,J.__wbindgen_malloc),E=IA,o=CQ(I,J.__wbindgen_malloc),i=IA;return J.build_batch_vertices(g,Q,C,E,A,o,i,I)>>>0}function zC(B){const A=Bg(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga(A,I);if(g[2])throw FI(g[1]);return FI(g[0])}function _C(B){const A=Bg(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga_payload(A,I);if(g[3])throw FI(g[2]);var Q=gg(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function $C(B){const A=Bg(B,J.__wbindgen_malloc),I=IA,g=J.decode_svga_payload_profiled(A,I);if(g[3])throw FI(g[2]);var Q=gg(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function AE(B){const A=Bg(B,J.__wbindgen_malloc),I=IA,g=J.inflate(A,I);if(g[3])throw FI(g[2]);var Q=gg(g[0],g[1]).slice();return J.__wbindgen_free(g[0],g[1]*1,1),Q}function gQ(){J.init()}function IE(){return J.take_svga_payload_profile()}function gE(B,A){const I=EE(B,J.__wbindgen_malloc),g=IA,Q=CQ(A,J.__wbindgen_malloc),C=IA,E=J.triangulate_clip_polygons(I,g,Q,C);var o=BE(E[0],E[1]).slice();return J.__wbindgen_free(E[0],E[1]*4,4),o}function BQ(){return{__proto__:null,"./gift_stage_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(A,I){return Error(Eg(A,I))},__wbg_String_8564e559799eccda:function(A,I){const g=String(I),Q=iE(g,J.__wbindgen_malloc,J.__wbindgen_realloc),C=IA;eB().setInt32(A+4,C,!0),eB().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(gg(A,I))},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(A){return typeof A=="string"},__wbg___wbindgen_throw_81fc77679af83bc6:function(A,I){throw new Error(Eg(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 Eg(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 BE(B,A){return B=B>>>0,QQ().subarray(B/4,B/4+A)}function gg(B,A){return B=B>>>0,XA().subarray(B/1,B/1+A)}let fA=null;function eB(){return(fA===null||fA.buffer.detached===!0||fA.buffer.detached===void 0&&fA.buffer!==J.memory.buffer)&&(fA=new DataView(J.memory.buffer)),fA}let BI=null;function QE(){return(BI===null||BI.byteLength===0)&&(BI=new Float32Array(J.memory.buffer)),BI}let QI=null;function CE(){return(QI===null||QI.byteLength===0)&&(QI=new Float64Array(J.memory.buffer)),QI}function Eg(B,A){return B=B>>>0,eE(B,A)}let CI=null;function QQ(){return(CI===null||CI.byteLength===0)&&(CI=new Uint32Array(J.memory.buffer)),CI}let EI=null;function XA(){return(EI===null||EI.byteLength===0)&&(EI=new Uint8Array(J.memory.buffer)),EI}function CQ(B,A){const I=A(B.length*4,4)>>>0;return QQ().set(B,I/4),IA=B.length,I}function Bg(B,A){const I=A(B.length*1,1)>>>0;return XA().set(B,I/1),IA=B.length,I}function aB(B,A){const I=A(B.length*4,4)>>>0;return QE().set(B,I/4),IA=B.length,I}function EE(B,A){const I=A(B.length*8,8)>>>0;return CE().set(B,I/8),IA=B.length,I}function iE(B,A,I){if(I===void 0){const o=aI.encode(B),i=A(o.length,1)>>>0;return XA().subarray(i,i+o.length).set(o),IA=o.length,i}let g=B.length,Q=A(g,1)>>>0;const C=XA();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=XA().subarray(Q+E,Q+g),i=aI.encodeInto(B,o);E+=i.written,Q=I(Q,g,E,1)>>>0}return IA=E,Q}function FI(B){const A=J.__wbindgen_externrefs.get(B);return J.__externref_table_dealloc(B),A}let bI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});bI.decode();const oE=2146435072;let ig=0;function eE(B,A){return ig+=A,ig>=oE&&(bI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),bI.decode(),ig=A),bI.decode(XA().subarray(B,B+A))}const aI=new TextEncoder;"encodeInto"in aI||(aI.encodeInto=function(B,A){const I=aI.encode(B);return A.set(I),{read:B.length,written:I.length}});let IA=0,J;function EQ(B,A){return J=B.exports,fA=null,BI=null,QI=null,CI=null,EI=null,J.__wbindgen_start(),J}async function aE(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 tE(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=BQ();B instanceof WebAssembly.Module||(B=new WebAssembly.Module(B));const I=new WebAssembly.Instance(B,A);return EQ(I)}async function iQ(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/NgIACwu2DgEHfyMAQSBrIgYkACAAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAEOKAIBAQEBAQEBAQMFAQEEAQEBAQEBAQEBAQEBAQEBAQEBAQEIAQEBAQcACyABQdwARg0FCyACQQFxRSABQf8FTXINB0EQQQAgAUGrnQRPGyICIAJBCHIiAyABQQt0IgIgA0ECdCgC+N1AQQt0SRsiAyADQQRyIgMgA0ECdCgC+N1AQQt0IAJLGyIDIANBAnIiAyADQQJ0KAL43UBBC3QgAksbIgMgA0EBaiIDIANBAnQoAvjdQEELdCACSxsiAyADQQFqIgMgA0ECdCgC+N1AQQt0IAJLGyIDQQJ0KAL43UBBC3QiBSACRiACIAVLaiADaiIFQQJ0IgJB+N3AAGohCCACKAL43UBBFXYhAkH/BSEDAkAgBUEfTQRAIAgoAgRBFXYhAyAFRQ0BCyAIQQRrKAIAQf///wBxIQQLAkAgAyACQX9zakUNACABIARrIQQgA0EBayEFQQAhAwNAIAMgAkHQ0sAAai0AAGoiAyAESw0BIAUgAkEBaiICRw0ACwsgAkEBcUUNByAGQQ5qQQA6AAAgBkEAOwEMIAYgAUEUdi0AyNpAOgAPIAYgAUEEdkEPcS0AyNpAOgATIAYgAUEIdkEPcS0AyNpAOgASIAYgAUEMdkEPcS0AyNpAOgARIAYgAUEQdkEPcS0AyNpAOgAQIAFBAXJnQQJ2IgIgBkEMaiIDaiIEQfsAOgAAIARBAWtB9QA6AAAgAyACQQJrIgJqQdwAOgAAIAZBFGoiAyABQQ9xLQDI2kA6AAAgACAGKQEMNwAAIAZB/QA6ABUMCAsgAEIANwECIABB3OAAOwEADAoLIABCADcBAiAAQdzoATsBAAwJCyAAQgA3AQIgAEHc5AE7AQAMCAsgAEIANwECIABB3NwBOwEADAcLIABCADcBAiAAQdy4ATsBAAwGCyACQYACcUUNASAAQgA3AQIgAEHczgA7AQAMBQsgAkH///8HcUGAgARPDQMLQQAhAkEAIQMCQCABIgRBIEkNACAEQf8ASQRAQQEhAgwBCwJAAkAgBEGAgARPBEAgBEGAgAhJDQEgBEH+//8AcSICQa6dC0cgBEHg//8AcUHgzQpHIAJBnvAKR3FxIARB8NcLa0FxSXEgBEGA8AtrQd5sSXEgBEGAgAxrQZ50SXEgBEHQpgxrQXtJcSAEQYCCOGtB+uZUSXEgBEHwgzhJcSECDAMLIARBCHZB/wFxIQkDQCACQQJqIQggAyACLQCl5UAiB2ohBSAJIAItAKTlQCICRwRAIAIgCUsNAyAFIQMgCCICQcwARw0BDAMLAkACQCADIAVLIAVBnAJLckUEQCAHRQ0CIANB8OXAAGohAgwBCyADIAVBnAJBsOrAABA5AAsDQCACLQAAIARB/wFxRwRAIAJBAWohAiAHQQFrIgcNAQwCCwtBACECDAQLIAUhAyAIIgJBzABHDQALDAELIARBCHZB/wFxIQkDQAJAIAJBAmohCCADIAItAP3eQCIHaiEFIAkgAi0A/N5AIgJHBEAgAiAJSw0BIAUhAyAIIgJB3ABHDQIMAQsCQAJAIAMgBUsgBUHUAUtyRQRAIAdFDQIgA0HY38AAaiECDAELIAMgBUHUAUGw6sAAEDkACwNAIAItAAAgBEH/AXFHBEAgAkEBaiECIAdBAWsiBw0BDAILC0EAIQIMBAsgBSEDIAgiAkHcAEcNAQsLIARB//8DcSEFQQEhAkEAIQQDQCAEQQFqIQMCQCAELACs4UAiB0EATgRAIAMhBAwBCyADQfgDRwRAIARBreHAAGotAAAgB0H/AHFBCHRyIQcgBEECaiEEDAELQcDqwAAQygEACyAFIAdrIgVBAEgNAiACQQFzIQIgBEH4A0cNAAsMAQtBASECQQAhBwNAIAdBAWohAwJAIAcsAIzoQCIFQQBOBEAgAyEHDAELIANBpAJHBEAgB0GN6MAAai0AACAFQf8AcUEIdHIhBSAHQQJqIQcMAQtBwOrAABDKAQALIAQgBWsiBEEASA0BIAJBAXMhAiAHQaQCRw0ACwsgAkEBcQ0BIAZBGGpBADoAACAGQQA7ARYgBiABQRR2LQDI2kA6ABkgBiABQQR2QQ9xLQDI2kA6AB0gBiABQQh2QQ9xLQDI2kA6ABwgBiABQQx2QQ9xLQDI2kA6ABsgBiABQRB2QQ9xLQDI2kA6ABogAUEBcmdBAnYiAiAGQRZqIgNqIgRB+wA6AAAgBEEBa0H1ADoAACADIAJBAmsiAmpB3AA6AAAgBkEeaiIDIAFBD3EtAMjaQDoAACAAIAYpARY3AAAgBkH9ADoAHwsgAEEIaiADLwEAOwAAQQoMAwsgACABNgIAQYABIQJBgQEMAgsgAEIANwECIABB3MQAOwEAC0EAIQJBAgs6AA0gACACOgAMIAZBIGokAAvTBAIGfgR/IAAgACgCOCACajYCOAJAIAAoAjwiC0UEQAwBC0EEIQkCfkEIIAtrIgogAiACIApLGyIMQQRJBEBBACEJQgAMAQsgATUAAAshAyAMIAlBAXJLBEAgASAJajMAACAJQQN0rYYgA4QhAyAJQQJyIQkLIAAgACkDMCAJIAxJBH4gASAJajEAACAJQQN0rYYgA4QFIAMLIAtBA3RBOHGthoQiAzcDMCACIApPBEAgACAAKQMYIAOFIgQgACkDCHwiBiAAKQMQIgVCDYkgBSAAKQMAfCIFhSIHfCIIIAdCEYmFNwMQIAAgCEIgiTcDCCAAIAYgBEIQiYUiBEIViSAEIAVCIIl8IgSFNwMYIAAgAyAEhTcDAAwBCyAAIAIgC2o2AjwPCyACIAprIgJBB3EhCSACQXhxIgIgCksEQCAAKQMIIQQgACkDECEDIAApAxghBiAAKQMAIQUDQCAEIAEgCmopAAAiByAGhSIEfCIGIAMgBXwiBSADQg2JhSIDfCIIIANCEYmFIQMgBiAEQhCJhSIEQhWJIAQgBUIgiXwiBYUhBiAIQiCJIQQgBSAHhSEFIApBCGoiCiACSQ0ACyAAIAM3AxAgACAGNwMYIAAgBDcDCCAAIAU3AwALQQQhAgJ+IAlBBEkEQEEAIQJCAAwBCyABIApqNQAACyEDIAkgAkEBcksEQCABIApqIAJqMwAAIAJBA3SthiADhCEDIAJBAnIhAgsgACACIAlJBH4gASACIApqajEAACACQQN0rYYgA4QFIAMLNwMwIAAgCTYCPAvjBAIBfgR/AkAgASgCACIFQQRqKAIAIgZFBEAMAQsCQCAFKAIAIgQsAAAiA0EASARAIAZBCksNASAEIAZqQQFrLAAAQQBODQEgACABEDsPCyAAIAOtQv8BgzcDCCAAQQA2AgAgBUEEaiAGQQFrNgIAIAUgBEEBajYCAA8LIANB/wFxIAQsAAEiA0H/AXFBB3RqQYABayEBAn8CQAJAAkACQAJAAkACQCADQQBIBEAgASAELAACIgNB/wFxQQ50akGAgAFrIQEgA0EATg0BIAEgBCwAAyIDQf8BcUEVdGpBgICAAWshASADQQBODQIgAUGAgICAAWutIQIgBCwABCIBQQBODQMgAUH/AXEgBCwABSIDQf8BcUEHdGpBgAFrIQEgA0EATg0EIAEgBCwABiIDQf8BcUEOdGpBgIABayEBIANBAE4NBSABIAQsAAciA0H/AXFBFXRqQYCAgAFrIQEgA0EATg0GIAFBgICAgAFrrUIchiACfCECIAQsAAgiAUEATg0HIAQtAAkiA0ECSQRAIAFB/wBxIANBB3RyrUI4hiACfCECQQoMCQsMCQsgAa0hAkECDAcLIAGtIQJBAwwGCyABrSECQQQMBQsgAa1C/wGDQhyGIAJ8IQJBBQwECyABrUIchiACfCECQQYMAwsgAa1CHIYgAnwhAkEHDAILIAGtQhyGIAJ8IQJBCAwBCyABrUL/AYNCOIYgAnwhAkEJCyEBIAAgAjcDCCAAQQA2AgAgBUEEaiAGIAFrNgIAIAUgASAEajYCAA8LQb+hwABBDhCGASEBIABBATYCACAAIAE2AgQL4wQCAX4EfwJAIAEoAgAiBUEEaigCACIGRQRADAELAkAgBSgCACIELAAAIgNBAEgEQCAGQQpLDQEgBCAGakEBaywAAEEATg0BIAAgARA7DwsgACADrUL/AYM3AwggAEEANgIAIAVBBGogBkEBazYCACAFIARBAWo2AgAPCyADQf8BcSAELAABIgNB/wFxQQd0akGAAWshAQJ/AkACQAJAAkACQAJAAkAgA0EASARAIAEgBCwAAiIDQf8BcUEOdGpBgIABayEBIANBAE4NASABIAQsAAMiA0H/AXFBFXRqQYCAgAFrIQEgA0EATg0CIAFBgICAgAFrrSECIAQsAAQiAUEATg0DIAFB/wFxIAQsAAUiA0H/AXFBB3RqQYABayEBIANBAE4NBCABIAQsAAYiA0H/AXFBDnRqQYCAAWshASADQQBODQUgASAELAAHIgNB/wFxQRV0akGAgIABayEBIANBAE4NBiABQYCAgIABa61CHIYgAnwhAiAELAAIIgFBAE4NByAELQAJIgNBAkkEQCABQf8AcSADQQd0cq1COIYgAnwhAkEKDAkLDAkLIAGtIQJBAgwHCyABrSECQQMMBgsgAa0hAkEEDAULIAGtQv8Bg0IchiACfCECQQUMBAsgAa1CHIYgAnwhAkEGDAMLIAGtQhyGIAJ8IQJBBwwCCyABrUIchiACfCECQQgMAQsgAa1C/wGDQjiGIAJ8IQJBCQshASAAIAI3AwggAEEANgIAIAVBBGogBiABazYCACAFIAEgBGo2AgAPC0G/q8AAQQ4QhgEhASAAQQE2AgAgACABNgIEC/4EAgR+Cn8jAEEgayIKJAAgAUEQaiIIIAIQKiEEIAEoAghFBEAgCiABQQEgCBAUCyABKAIEIgwgBKdxIQggBEIZiCIGQv8Ag0KBgoSIkKDAgAF+IQcgAigCBCERIAIoAgghDiABKAIAIQkDQAJ/AkACQAJAIAggCWopAAAiBSAHhSIEQn+FIARCgYKEiJCgwIABfYNCgIGChIiQoMCAf4MiBFBFBEADQCAJIAR6p0EDdiAIaiAMcUFobGoiEEEQaygCACAORgRAIBEgEEEUaygCACAOEHVFDQMLIARCAX0gBIMiBFBFDQALCyAFQoCBgoSIkKDAgH+DIQQgDUUEQCAEUA0DIAR6p0EDdiAIaiAMcSELC0EBIAQgBUIBhoNQDQMaIAkgC2osAAAiCEEATgRAIAkgCSkDAEKAgYKEiJCgwIB/g3qnQQN2IgtqLQAAIQgLIAJBCGooAgAhDSACKQIAIQQgCSALaiAGp0H/AHEiAjoAACAJIAtBCGsgDHFqQQhqIAI6AAAgCkEQaiICIA02AgAgCkEcaiADQQhqKAIANgIAIAEgASgCCCAIQQFxazYCCCABIAEoAgxBAWo2AgwgCSALQWhsakEYayIBIAQ3AgAgCiADKQIANwIUIAFBCGogAikDADcCACABQRBqIApBGGopAwA3AgAgAEGAgICAeDYCAAwBCyAQQQxrIgEpAgAhBCABIAMpAgA3AgAgAUEIaiIBKAIAIQggASADQQhqKAIANgIAIAAgBDcCACAAQQhqIAg2AgAgAigCACIARQ0AIAIoAgQgAEEBEMIBCyAKQSBqJAAPC0EACyENIA9BCGoiDyAIaiAMcSEIDAALAAv+BQIKfwJ+IwBBEGsiCSQAAkACQAJAIAQEQCABKAIEIQcgASgCCCEMIAEoAgwhCCABKAIAIQsgASgCFCEFIAEoAhAhBgNAIAUgBkYEQAJAIAcgCCAHIAhJGyIFQQFGBEAgDCALLQAAOgAADAELIAVFDQAgDCALIAX8CgAACyABIAU2AhQgASAHIAVrIgc2AgQgASAFIAtqIgs2AgBBACEGCyAFIAhNIAUgBk9xRQRAIAYgBSAIQcitwAAQOQALIAIpAwghDyACKQMAIRAgCUEIaiACIAYgDGogBSAGayADIARBBEEAIAUgBkYiDRsQrgEgCS0ADCEOIAkoAgggASAFIAYgAikDACAQfadqIgYgBSAGSRsiBjYCEEECRw0CIAIpAwggD32nIQoCQAJAIA5BAWsOAgEFAAsgDQ0EIApFDQEMBAsgDQ0DIApFDQALDAILAkAgASgCECIGIAEoAhQiBUcEQCABKAIMIQQMAQsgASgCACEGIAEoAgghBwJAIAEoAgQiCCABKAIMIgQgBCAISxsiBUEBRgRAIAcgBi0AADoAAAwBCyAFRQ0AIAcgBiAF/AoAAAsgASAFNgIUIAEgCCAFazYCBCABIAUgBmo2AgBBACEGCyAFIAZPIAQgBU9xRQRAIAYgBSAEQcitwAAQOQALIAIpAwghDyACKQMAIRAgCUEIaiACIAEoAgggBmogBSAGayADQQBBBEEAIAUgBkYbEK4BIAkoAgggASAFIAYgAikDACAQfadqIgEgASAFSxs2AhBBAkcNACACKQMIIA99pyEKDAELAkACQEEWQQEQzAEiAgRAIAJBzavAAEEW/AoAAEEMQQQQzAEiAUUNASABQRY2AgggASACNgIEIAFBFjYCAEEMQQQQzAEiAkUEQEEEQQwQ0AEACyACQRQ6AAggAkHMtMAANgIEIAIgATYCACAAIAKtQiCGQgOENwIADAILQQFBFhCoAQALQQRBDBDQAQALDAELIABBBDoAACAAIAo2AgQLIAlBEGokAAvbBAEGfwJAAkAgACgCCCIHQYCAgMABcUUNAAJAAkACQAJAIAdBgICAgAFxBEAgAC8BDiIDDQFBACECDAILIAJBEE8EQCABIAIQGCEDDAQLIAJFBEAMBAsgAkEDcSEGAkAgAkEESQRADAELIAJBDHEhCANAIAMgASAFaiIELAAAQb9/SmogBEEBaiwAAEG/f0pqIARBAmosAABBv39KaiAEQQNqLAAAQb9/SmohAyAIIAVBBGoiBUcNAAsLIAZFDQMgASAFaiEEA0AgAyAELAAAQb9/SmohAyAEQQFqIQQgBkEBayIGDQALDAMLIAEgAmohCEEAIQIgASEEIAMhBQNAIAQiBiAIRg0CAn8gBkEBaiAGLAAAIgRBAE4NABogBkECaiAEQWBJDQAaIAZBA2ogBEFwSQ0AGiAGQQRqCyIEIAZrIAJqIQIgBUEBayIFDQALC0EAIQULIAMgBWshAwsgAyAALwEMIgRPDQAgBCADayEGQQAhA0EAIQUCQAJAAkAgB0EddkEDcUEBaw4CAAECCyAGIQUMAQsgBkH+/wNxQQF2IQULIAdB////AHEhCCAAKAIEIQcgACgCACEAA0AgA0H//wNxIAVB//8DcUkEQEEBIQQgA0EBaiEDIAAgCCAHKAIQEQAARQ0BDAMLC0EBIQQgACABIAIgBygCDBEEAA0BQQAhAyAGIAVrQf//A3EhAQNAIANB//8DcSICIAFJIQQgASACTQ0CIANBAWohAyAAIAggBygCEBEAAEUNAAsMAQsgACgCACABIAIgACgCBCgCDBEEACEECyAEC+YEAgF/An4jAEHQAGsiBCQAAkAgA0UEQEGQocAAQRcQhgEhAwwBC0IIIQUCQAJAAkACQAJAAkACQAJAAkACQAJAIABB/wFxQQFrDgUHBAABAwILIANBAWshAAJAA0AgBEEgaiACEB8gBCgCIEEBRgRAIAQoAiQhAwwNCyAEIAQpAygiBTcDGAJAAkACQAJAIAVC/////w9YBEAgBCAFQgeDIgY3A0AgBkIFVg0BQQAhAwJAAkACQCAGp0EBaw4FBQABBwIGC0ECIQMMBQtBAyEDDAQLQQUhAwwDCyAEIARBGGqtQoCAgIAwhDcDICAEQTRqIgBB0oPAACAEQSBqEFkgABB8IQMMEAsgBCAEQUBrrUKAgICAMIQ3A0ggBEEgaiIAQeiDwAAgBEHIAGoQWSAAEHwhAwwPC0EBIQMLIAVCCFQNAiADIAWnQQN2IAIgABAkIgNFDQEMDQsLIAVCB1YNBQtB06DAAEEUEIYBIQMMCgtBp6HAAEEYEIYBIQMMCQsgBEEIaiACEB8gBCgCCA0HDAULQgQhBQwDCyAEQSBqIAIQHyAEKAIgDQEgBCkDKCEFDAILIAWnQQN2IAFGDQJBp6HAAEEYEIYBIQMMBQsgBCgCJCEDDAQLIAUgAigCACIAQQRqIgEoAgAiAq1YDQFBgKHAAEEQEIYBIQMMAwsgAigCACIAQQRqIgEoAgAhAkIAIQULIAWnIgMgAk0EQCABIAIgA2s2AgAgACAAKAIAIANqNgIAQQAhAwwCCyAEIAI2AiQgBCADNgIgIARBIGoQgQEACyAEKAIMIQMLIARB0ABqJAAgAwuOFAIUfwN+IwBBEGsiEiQAQazswAAtAABBAUcEQAJAAkACQAJAQazswAAtAABBAWsOAgACAQtBrOzAAEECOgAAQaDswAAoAgAiBEUNAEGo7MAAKAIAIgUEQEGc7MAAKAIAIgJBCGohAyACKQMAQn+FQoCBgoSIkKDAgH+DIRYDQCAWUARAA0AgAkHgAGshAiADKQMAIANBCGohA0KAgYKEiJCgwIB/gyIWQoCBgoSIkKDAgH9RDQALIBZCgIGChIiQoMCAf4UhFgsgAiAWeqdBA3ZBdGxqQQRrKAIAIgtBhAhPBEAgCxBcCyAWQgF9IBaDIRYgBUEBayIFDQALCyAEIARBDGxBE2pBeHEiAmpBCWoiA0UNAEGc7MAAKAIAIAJrIANBCBDCAQtBrOzAAEEBOgAAQZzswABBsLDAACkCADcCAEGk7MAAQbiwwAApAgA3AgBBmOzAAEEANgIADAELQcCwwABB/QBBgLHAABCCAQALCwJAAkBBmOzAACgCAEUEQEGY7MAAQX82AgBBoOzAACgCACIEIABxIQIgAEEZdiITrUKBgoSIkKDAgAF+IRhBnOzAACgCACEFA0AgAiAFaikAACIXIBiFIhZCf4UgFkKBgoSIkKDAgAF9g0KAgYKEiJCgwIB/gyIWUEUEQANAIAAgBSAWeqdBA3YgAmogBHFBdGxqIgNBDGsoAgBGBEAgA0EIaygCACABRg0GCyAWQgF9IBaDIhZQRQ0ACwsgFyAXQgGGg0KAgYKEiJCgwIB/g1BFDQIgAiAGQQhqIgZqIARxIQIMAAsAC0GUsMAAEIoBAAtBpOzAACgCAEUEQCASQQhqIRQjAEEgayIMJAACQEGo7MAAKAIAIgtBAWoiAiALTwRAQaDswAAoAgAiCSAJQQFqIgRBA3YiA0EHbCAJQQhJGyINQQF2IAJJBEACQAJAAkACQAJAAn8gDUEBaiIDIAIgAiADSRsiAkEPTwRAIAJB/////wFLDQJBfyACQQN0QQduQQFrZ3ZBAWoMAQtBBCACQQhxQQhqIAJBBEkbCyICrUIMfiIWQiCIpw0CIBanIgNBeEsNAiADQQdqQXhxIgQgAkEIaiIFaiIDIARJIANB+P///wdLcg0CIANBCBDMASIGDQEgAxCZASAMKAIUIQIgDCgCECEDDAcLEJ4BIAwoAhwhAiAMKAIYIQMMBgsgBCAGaiEIIAUEQCAIQf8BIAX8CwALIAJBAWsiCiACQQN2QQdsIApBCEkbIQ4gCw0BQZzswAAoAgAhBgwCCxCeASAMKAIMIQIgDCgCCCEDDAQLIAhBDGshDyAIQQhqIRBBnOzAACgCACIGQQxrIQ0gBikDAEJ/hUKAgYKEiJCgwIB/gyEWQQAhAiALIQQgBiEDA0AgFlAEQANAIAJBCGohAiADQQhqIgMpAwBCgIGChIiQoMCAf4MiFkKAgYKEiJCgwIB/UQ0ACyAWQoCBgoSIkKDAgH+FIRYLIAggDSAWeqdBA3YgAmoiEUF0bGoiBSgCACIHIAUoAgQgBxsiFSAKcSIFaikAAEKAgYKEiJCgwIB/gyIXUARAQQghBwNAIAUgB2ohBSAHQQhqIQcgCCAFIApxIgVqKQAAQoCBgoSIkKDAgH+DIhdQDQALCyAWQgF9IBaDIRYgCCAXeqdBA3YgBWogCnEiBWosAABBAE4EQCAIKQMAQoCBgoSIkKDAgH+DeqdBA3YhBQsgBSAIaiAVQRl2Igc6AAAgECAFQQhrIApxaiAHOgAAIA8gBUF0bGoiBUEIaiANIBFBdGxqIgdBCGooAAA2AAAgBSAHKQAANwAAIARBAWsiBA0ACwtBoOzAACAKNgIAQZzswAAgCDYCAEGk7MAAIA4gC2s2AgBBgYCAgHghAyAJRQ0CIAkgCUEMbEETakF4cSICakEJaiIERQ0CIAYgAmsgBEEIEMIBDAILIAQEQEGc7MAAKAIAIQZBACECIAMgBEEHcUEAR2oiA0EBcSADQQFHBEAgA0H+////A3EhAwNAIAIgBmoiBSAFKQMAIhZCf4VCB4hCgYKEiJCgwIABgyAWQv/+/fv379+//wCEfDcDACAFQQhqIgUgBSkDACIWQn+FQgeIQoGChIiQoMCAAYMgFkL//v379+/fv/8AhHw3AwAgAkEQaiECIANBAmsiAw0ACwsEQCACIAZqIgIgAikDACIWQn+FQgeIQoGChIiQoMCAAYMgFkL//v379+/fv/8AhHw3AwALIAZBCGohCAJAIARBCE8EQCAEIAZqIAYpAAA3AAAMAQsgBEUNACAIIAYgBPwKAAALIAZBDGshDkEAIQUDQCAFIgJBAWohBQJAIAIgBmoiDy0AAEGAAUcNACAGIAVBdGxqIQMgDiACQXRsaiEQAkADQCAQKAIAIgQgECgCBCAEGyIRIAlxIgohBCAGIApqKQAAQoCBgoSIkKDAgH+DIhZQBEBBCCEHA0AgBCAHaiEEIAdBCGohByAGIAQgCXEiBGopAABCgIGChIiQoMCAf4MiFlANAAsLIAYgFnqnQQN2IARqIAlxIgRqLAAAQQBOBEAgBikDAEKAgYKEiJCgwIB/g3qnQQN2IQQLIAQgCmsgAiAKa3MgCXFBCE8EQCAEIAZqIgctAAAgByARQRl2Igc6AAAgCCAEQQhrIAlxaiAHOgAAIA4gBEF0bGohBEH/AUYNAiADKAAAIQcgAyAEKAAANgAAIAQgBzYAACAEKAAEIQcgBCADKAAENgAEIAMgBzYABCADKAAIIQcgAyAEKAAINgAIIAQgBzYACAwBCwsgDyARQRl2IgM6AAAgCCACQQhrIAlxaiADOgAADAELIA9B/wE6AAAgCCACQQhrIAlxakH/AToAACAEQQhqIANBCGooAAA2AAAgBCADKQAANwAACyACIAlHDQALC0Gk7MAAIA0gC2s2AgBBgYCAgHghAwwBCxCeASAMKAIEIQIgDCgCACEDCyAUIAI2AgQgFCADNgIAIAxBIGokAAsgACABEKoBIQtBnOzAACgCACIDQaDswAAoAgAiBSAAcSICaikAAEKAgYKEiJCgwIB/gyIWUARAQQghBANAIAIgBGohAiAEQQhqIQQgAyACIAVxIgJqKQAAQoCBgoSIkKDAgH+DIhZQDQALCyADIBZ6p0EDdiACaiAFcSICaiwAACIEQQBOBEAgAyADKQMAQoCBgoSIkKDAgH+DeqdBA3YiAmotAAAhBAsgAiADaiATOgAAIAMgAkEIayAFcWpBCGogEzoAAEGk7MAAQaTswAAoAgAgBEEBcWs2AgBBqOzAAEGo7MAAKAIAQQFqNgIAIAMgAkF0bGoiA0EEayALNgIAIANBCGsgATYCACADQQxrIAA2AgALIANBBGsoAgAhABA2IgEgACUBJgFBmOzAAEGY7MAAKAIAQQFqNgIAIBJBEGokACABC/sDAQh/IwBBEGsiBiQAAn8CQCADQQFxRQRAIAItAAAiBQ0BQQAMAgsgACACIANBAXYgASgCDBEEAAwBCyABKAIMIQoDQCACQQFqIQQCQAJAAkACQCAFwEEASARAIAVB/wFxIghBgAFGDQEgCEHAAUcNAyAGIAE2AgQgBiAANgIAIAZCoICAgAY3AgggAyAHQQN0aiICKAIAIAYgAigCBBEAAEUNAkEBDAYLIAAgBCAFQf8BcSICIAoRBABFBEAgAiAEaiECDAQLQQEMBQsgACACQQNqIgQgAi8AASICIAoRBABFBEAgAiAEaiECDAMLQQEMBAsgB0EBaiEHIAQhAgwBC0GggICABiELIAVBAXEEQCACKAABIQsgAkEFaiEEC0EAIQgCfyAFQQJxRQRAQQAhCSAEDAELIAQvAAAhCSAEQQJqCyECIAVBBHEEfyACLwAAIQggAkECagUgAgshBCAFQQhxBH8gBC8AACEHIARBAmoFIAQLIQIgBUEQcQRAIAMgCUEDdGovAQQhCQsgBiAFQSBxBH8gAyAIQQN0ai8BBAUgCAs7AQ4gBiAJOwEMIAYgCzYCCCAGIAE2AgQgBiAANgIAQQEgAyAHQQN0aiIEKAIAIAYgBCgCBBEAAA0CGiAHQQFqIQcLIAItAAAiBQ0AC0EACyAGQRBqJAAL9wMBCn9BCiECIAAiBEHoB08EQCABQQRrIQYgBCEDAkACQANAIAMgA0GQzgBuIgRBkM4AbGsiCUH//wNxQeQAbiEHAkAgBUEKaiICQQRrQQpJBEAgBkEKaiIIIAdBAXQiCi0A8NhAOgAAIAJBA2siC0EKSQ0BIAtBCkG42sAAEHMACyACQQRrQQpBuNrAABBzAAsgCEEBaiAKQfHYwABqLQAAOgAAIAJBAmtBCkkEQCAIQQJqIAkgB0HkAGxrQQF0Qf7/B3EiBy0A8NhAOgAAIAJBAWtBCk8NAiAIQQNqIAdB8djAAGotAAA6AAAgBkEEayEGIAVBBGshBSADQf+s4gRLIAQhA0UNAwwBCwsgAkECa0EKQbjawAAQcwALIAJBAWtBCkG42sAAEHMACyAFQQpqIQILAkAgBEEJTQRAIAQhBSACIQMMAQsgBEH//wNxQeQAbiEFAkAgAkECayIDQQpJBEAgASADaiAEIAVB5ABsa0H//wNxQQF0IgYtAPDYQDoAACACQQFrIgRBCk8NASABIARqIAZB8djAAGotAAA6AAAMAgsgA0EKQbjawAAQcwALIARBCkG42sAAEHMAC0EAIAAgBRtFBEAgA0EBayIDQQpPBEAgA0EKQbjawAAQcwALIAEgA2ogBUEBdC0A8dhAOgAACyADC9sDAgN8BX8gAiAGoSAHIAWhIgiiIAYgBKEiCSADIAehoqEiCkQAAAAAAAAAAGQgCkQAAAAAAAAAAGNrIQwgACAGoSAIoiAJIAEgB6GioSIIRAAAAAAAAAAAZCAIRAAAAAAAAAAAY2shDUEBIQsCQCADIAGhIgggBCACoaIgAiAAoSIJIAUgA6GioSIKRAAAAAAAAAAAZCAKRAAAAAAAAAAAY2siDiAIIAYgAqGiIAkgByADoaKhIghEAAAAAAAAAABkIAhEAAAAAAAAAABjayIPRyAMIA1HcQ0AAkAgDQ0AIAQgBhCiASAAZkUgBSAHEKIBIAFmRXINACAEIAYQoQEhCCAFIAcQoQEhCSAAIAhmRQ0AIAEgCWYNAQsCQCAMDQAgBCAGEKIBIAJmRSAFIAcQogEgA2ZFcg0AIAQgBhChASEIIAUgBxChASEJIAIgCGZFDQAgAyAJZg0BCwJAIA8NACAAIAIQogEgBmZFIAEgAxCiASAHZkVyDQAgACACEKEBIQggASADEKEBIQkgBiAIZkUNACAHIAlmDQELQQAhCyAODQAgACACEKIBIARmRSABIAMQogEgBWZFcg0AIAEgAxChASEBIAAgAhChASAEZSABIAVlcSELCyALC80DAgZ+An8jAEHQAGsiCCQAIAhBQGsiCUIANwMAIAhCADcDOCAIIAApAwgiAjcDMCAIIAApAwAiAzcDKCAIIAJC88rRy6eM2bL0AIU3AyAgCCACQu3ekfOWzNy35ACFNwMYIAggA0Lh5JXz1uzZvOwAhTcDECAIIANC9crNg9es27fzAIU3AwggCEEIaiIAIAEoAgAgASgCBBAeIAhB/wE6AE8gACAIQc8AakEBEB4gCCkDCCEDIAgpAxghAiAJNQIAIQYgCCkDOCEEIAgpAyAgCCkDECEHIAhB0ABqJAAgBCAGQjiGhCIGhSIEQhCJIAQgB3wiBIUiBUIViSAFIAIgA3wiA0IgiXwiBYUiB0IQiSAHIAQgAkINiSADhSICfCIDQiCJQv8BhXwiBIUiB0IViSAHIAMgAkIRiYUiAiAFIAaFfCIDQiCJfCIGhSIFQhCJIAUgAyACQg2JhSICIAR8IgNCIIl8IgSFIgVCFYkgBSADIAJCEYmFIgIgBnwiA0IgiXwiBoUiBUIQiSAFIAJCDYkgA4UiAiAEfCIDQiCJfCIEhUIViSACQhGJIAOFIgJCDYkgAiAGfIUiAkIRiYUgAiAEfCICQiCJhSAChQvNAwIGfgJ/IwBB0ABrIggkACAIQUBrIglCADcDACAIQgA3AzggCCAAKQMIIgI3AzAgCCAAKQMAIgM3AyggCCACQvPK0cunjNmy9ACFNwMgIAggAkLt3pHzlszct+QAhTcDGCAIIANC4eSV89bs2bzsAIU3AxAgCCADQvXKzYPXrNu38wCFNwMIIAhBCGoiACABKAIEIAEoAggQHiAIQf8BOgBPIAAgCEHPAGpBARAeIAgpAwghAyAIKQMYIQIgCTUCACEGIAgpAzghBCAIKQMgIAgpAxAhByAIQdAAaiQAIAQgBkI4hoQiBoUiBEIQiSAEIAd8IgSFIgVCFYkgBSACIAN8IgNCIIl8IgWFIgdCEIkgByAEIAJCDYkgA4UiAnwiA0IgiUL/AYV8IgSFIgdCFYkgByADIAJCEYmFIgIgBSAGhXwiA0IgiXwiBoUiBUIQiSAFIAMgAkINiYUiAiAEfCIDQiCJfCIEhSIFQhWJIAUgAyACQhGJhSICIAZ8IgNCIIl8IgaFIgVCEIkgBSACQg2JIAOFIgIgBHwiA0IgiXwiBIVCFYkgAkIRiSADhSICQg2JIAIgBnyFIgJCEYmFIAIgBHwiAkIgiYUgAoULjwQBAn8gACABaiECAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBIAAgA2siAEHg78AAKAIARgRAIAIoAgRBA3FBA0cNAUHY78AAIAE2AgAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAMAgsgACADEDMLAkACQAJAIAIoAgQiA0ECcUUEQCACQeTvwAAoAgBGDQIgAkHg78AAKAIARg0DIAIgA0F4cSICEDMgACABIAJqIgFBAXI2AgQgACABaiABNgIAIABB4O/AACgCAEcNAUHY78AAIAE2AgAPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsgAUGAAk8EQCAAIAEQNw8LAkBB0O/AACgCACICQQEgAUEDdnQiA3FFBEBB0O/AACACIANyNgIAIAFB+AFxQcjtwABqIgEhAgwBCyABQfgBcSIBQcjtwABqIQIgAUHQ7cAAaigCACEBCyACIAA2AgggASAANgIMIAAgAjYCDCAAIAE2AggPC0Hk78AAIAA2AgBB3O/AAEHc78AAKAIAIAFqIgE2AgAgACABQQFyNgIEIABB4O/AACgCAEcNAUHY78AAQQA2AgBB4O/AAEEANgIADwtB4O/AACAANgIAQdjvwABB2O/AACgCACABaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALC74DAQV/IwBBEGsiCCQAAkACQAJAAkACQCABKAIIQQFGBEAgASgCACEEIAEoAgQhBSABQQxBBBDCAUEHQSAgBUEKdmdrIgEgAUEHTxtBAnRBAXIhByACIARrIgYgA2ohAyACIARGBEAgByEBDAYLIAZBgICAwABPBEBBFEEEEMwBIgFFDQIgAUEBNgIQIAEgAzYCCCABIAQ2AgQgASAFNgIAIAEgB0ECdkEHcTYCDAwFCyAGQQV0IAdqIQEMBAsgA0EASA0BAkAgA0UEQEEBIQQMAQtBASEFIANBARDMASIERQ0CCyADBEAgBCACIAP8CgAACyABIAEoAggiAkEBazYCCCACQQFGBEAgAUEEaigCACICQQBIDQMgASgCACACQQEQwgEgAUEMQQQQwgELQQdBICADQQp2Z2siASABQQdPG0ECdEEBciEBIAMhBQwEC0EEQRQQ0AEACyAFIAMQqAEAC0GgssAAQSsgCEEPakGQssAAQYSzwAAQaAALIAMgBmsiAkEAIAIgA00bIQMgBSAGayEFIAQgBmohBAsgACABNgIMIAAgBTYCCCAAIAM2AgQgACAENgIAIAhBEGokAAucAwEJfyACQf//A3EhBSABQf//A3EhBgJAIAQgBEGwK3AiCGsiB0GwK0kNACADIQIgByEKQQAhAQNAIAYgASACaiIJLQAAaiILIAlBAWotAABqIgwgCUECai0AAGoiDSAJQQNqLQAAaiIGIA0gDCAFIAtqampqIQUgAUEEaiIBQbArRw0AIAVB8f8DcCEFIAZB8f8DcCEGIAJBsCtqIQIgCkGwK2siCkGwK0kNAUEAIQEMAAsACwJAIAhFDQAgAyAHaiECIAhBB3EiBwRAIAIhAQNAIAYgAS0AAGoiBiAFaiEFIAFBAWoiAiEBIAdBAWsiBw0ACwsgCEEISQ0AIAMgBGohAQNAIAYgAi0AAGoiAyACQQFqLQAAaiIEIAJBAmotAABqIgcgAkEDai0AAGoiCiACQQRqLQAAaiIIIAJBBWotAABqIgkgAkEGai0AAGoiCyACQQdqLQAAaiIGIAsgCSAIIAogByAEIAMgBWpqampqampqIQUgAkEIaiICIAFHDQALCyAAIAVB8f8DcDsBAiAAIAZB8f8DcDsBAAueCgIJfwJ+IwBB0ABrIgQkAAJAAkAgAiABKAIEIgNNBEBBACEDIAJBAEgNAUEBIQUgAgRAQQEhAyACQQEQzAEiBUUNAgsgBCACNgIUIARBADYCECAEIAU2AgwgBEEHQSAgAkEKdmdrIgMgA0EHTxtBAnRBAXI2AhggBEEMaiEDIwBBQGoiBSQAAkACQAJAAkACQAJAIAIgASgCBCIHIAIgB0kbIgZFDQAgAygCCCIIRQRAIAVBBGoiAiABIAYQLiMAQRBrIgEkACAFQRRqIgYCfyACQQxqIAIoAgAoAgwRBwBFBEAgBiACKQIANwIEIAZBDGogAkEIaikCADcCAEEBDAELIAFBCGogAkEIaikCACIMNwMAIAEgAikCACINNwMAIAZBBGogAUEMaiABKAIEIAynIA2nKAIIEQEAQQALNgIAIAFBEGokACAFKAIUBEAgBUEwaiAFQSBqKQIAIgw3AwAgBSAFKQIYNwMoIAUoAiwhBiAMpyIBIAMoAgggAygCBCICa0sEQCADIAEQGSADKAIEIQILIAEEQCADKAIAIAJqIAYgAfwKAAALIAEgAygCCCADKAIEIgJrIgdLDQMgAyABIAJqNgIEIAVBNGogBiABIAUoAigoAhARAgAMAgsCQCADKAIMIgFBAXEEQCABQQV2IgEgAygCCGoiAkUNASADKAIAIAFrIAJBARDCAQwBCyABIAEoAhAiAkEBazYCECACQQFHDQAgASgCACICBEAgASgCBCACQQEQwgELIAFBFEEEEMIBCyADQQhqIAVBIGopAgA3AgAgAyAFKQIYNwIADAELIAggAygCBGsgBkkEQCADIAYQGQsgAygCCCEKIAMoAgQhCCABKAIAIQkDQCAKIAhrIAZJBEAgAyAGEBkgAygCBCEICyAGBEAgAygCACAIaiAJIAb8CgAACyAGIAMoAggiCiADKAIEIghrIgtLDQMgAyAGIAhqIgg2AgQgBiAHSw0EIAEgByAGayIHNgIEIAEgBiAJaiIJNgIAIAIgBmsiAiAHIAIgB0kbIgYNAAsLIAVBQGskAAwECyAFIAc2AjwgBSABNgI4IAVBOGoQgQEACyAFIAs2AhgMAQsgBSAHNgIYCyAFIAY2AhQgBUEUahCBAQALIAQoAhAhASAEKAIMIQICQCAEKAIYIgNBAXFFBEAgACADNgIMIAAgATYCCCAAIAI2AgQgAEHIs8AANgIADAELIAQoAhQhBSAEIAEgA0EFdiIDajYCJCAEIAIgA2s2AiAgBCADIAVqNgIcIARBKGohBSAEQRxqIgEoAgQhAgJ/AkAgASgCCCIGIAEoAgAiB0cEQEEMQQQQzAEiAQ0BQQRBDBDQAQALIAZFBEBBACEBQQEhAkHoscAADAILIAJBAXEEQCACIQFB3LLAAAwCCyACQQFyIQFB8LLAAAwBCyABQQE2AgggASAHNgIEIAEgAjYCAEH8scAACyEHIAUgATYCDCAFIAY2AgggBSACNgIEIAUgBzYCACAEIAM2AjggBCgCMCIBIANJDQMgBEEwaiICIAEgA2s2AgAgBCAEKAIsIANqNgIsIABBCGogAikCADcCACAAIAQpAig3AgALIARB0ABqJAAPCyAEIAM2AkQgBCACNgJAIARBQGsQgQEACyADIAIQqAEACyAEIAE2AjwgBCAEQTxqrUKAgICA4ACENwNIIAQgBEE4aq1CgICAgOAAhDcDQEGog8AAIARBQGtBhKrAABCCAQALiAMBBn8jAEEQayIFJAACQAJAAkACQAJAAkAgAkEBcQRAIAJBAXYhAwwBCyABLQAAIgNFDQEgASEEA0AgBEEBaiEEAkAgA8BBAEgEQCADQf8BcUGAAUYEQCAGIAQvAAAiA2ohBiADIARqQQJqIQQMAgsgBCADQQNxQRh3IghBBXRBgICAgARxIAhBgICAgAJxIAhBgICACHFBB3RyckEddmogA0EBdkECcWogA0ECdkECcWohBCAGRSAHciEHDAELIAQgA0H/AXEiA2ohBCADIAZqIQYLIAQtAAAiAw0AC0EAIQMgByAGQRBJcQ0AQQAhByAGQQF0IgNBAEgNBAsgAw0BC0EBIQRBACEDDAELQQEhByADQQEQzAEiBEUNAQsgBUEANgIIIAUgBDYCBCAFIAM2AgAgBUGc0cAAIAEgAhAmRQ0BQcTRwABB1gAgBUEPakG00cAAQZzSwAAQaAALIAcgAxCoAQALIAAgBSkCADcCACAAQQhqIAVBCGooAgA2AgAgBUEQaiQAC+cCAQV/AkAgAUHN/3tBECAAIABBEE0bIgBrTw0AIABBECABQQtqQXhxIAFBC0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECIC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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:VA&&VA.tagName.toUpperCase()==="SCRIPT"&&VA.src||new URL("gift-stage.cjs.js",document.baseURI).href));const A=BQ();(typeof B=="string"||typeof Request=="function"&&B instanceof Request||typeof URL=="function"&&B instanceof URL)&&(B=fetch(B));const{instance:I,module:g}=await aE(await B,A);return EQ(I)}const sE=Object.freeze(Object.defineProperty({__proto__:null,build_batch_vertices:PC,decode_svga:zC,decode_svga_payload:_C,decode_svga_payload_profiled:$C,default:iQ,inflate:AE,init:gQ,initSync:tE,take_svga_payload_profile:IE,triangulate_clip_polygons:gE},Symbol.toStringTag,{value:"Module"})),og="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/fwBgAXwBf2ADf398AAKmBxAXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfbm93XzAwOGQ5Yjg0NjAwYjVjMTkAGRcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19zZXRfNmM2MGIyZThhZDBlOTM4MwAaFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX3NldF8wODQ2M2IxZGYzOGE3ZTI5ABsXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193Ymdfc2V0XzZiZTQyNzY4YzY5MGUzODAAHBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx1fX3diZ19TdHJpbmdfODU2NGU1NTk3OTllY2NkYQAdFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzGl9fd2JnX25ld185OWNhYmFlNTAxYzBhOGEwAAwXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMaX193YmdfbmV3X2YzYzlkZjRmMzhmM2Y3OTgADBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcxpfX3diZ19uZXdfNGY5ZmFmYmIzOTA5YWY3MgAMFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfODFmYzc3Njc5YWY4M2JjNgADFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzJlNTliMWIzN2E5YTM0YzMADxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcytfX3diZ19fX3diaW5kZ2VuX2lzX3N0cmluZ19iMjliNWM1YTgwNjViYTFhAB4XLi9naWZ0X3N0YWdlX3dhc21fYmcuanM1X193YmdfX193YmluZGdlbl9jb3B5X3RvX3R5cGVkX2FycmF5X2E0ZGIzMzc3NTFlMGIzMjgAHxcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcx9fX3diaW5kZ2VuX2luaXRfZXh0ZXJucmVmX3RhYmxlAAgXLi9naWZ0X3N0YWdlX3dhc21fYmcuanMgX193YmluZGdlbl9jYXN0XzAwMDAwMDAwMDAwMDAwMDEAIBcuL2dpZnRfc3RhZ2Vfd2FzbV9iZy5qcyBfX3diaW5kZ2VuX2Nhc3RfMDAwMDAwMDAwMDAwMDAwMgAPFy4vZ2lmdF9zdGFnZV93YXNtX2JnLmpzIF9fd2JpbmRnZW5fY2FzdF8wMDAwMDAwMDAwMDAwMDAzACEDzAHKAQEiIwcBAgIJAAMEEAYCAgMDAQUECgAKACQREQMBBQICAAICAwQAEgMAAQIDBgABAAEABgEEAQEDBQAGCQUCCQkCBQIDAAIIASUCAwEGBQYCCQYFAQEFBQUFAQEACSYnKAUBAQIEBAUBBAAAAAcCAwEBBgIAAA0AAAoABg4ODikqKxAHDQUUExUGBgEKBAEIAgYWFgAAAwMDAwIALwMCMAIEAjEyBQASCgMAAQEDAAADAAACAgcHCAIEBAYMAAAIAwMABAADAAMHCAIECQJwAWZmbwCACAUDAQARBgkBfwFBgIDAAAsHugIPBm1lbW9yeQIAC2RlY29kZV9zdmdhAI4BE2RlY29kZV9zdmdhX3BheWxvYWQAjAEcZGVjb2RlX3N2Z2FfcGF5bG9hZF9wcm9maWxlZACLARl0YWtlX3N2Z2FfcGF5bG9hZF9wcm9maWxlAMsBB2luZmxhdGUAjQEUYnVpbGRfYmF0Y2hfdmVydGljZXMAkAEZdHJpYW5ndWxhdGVfY2xpcF9wb2x5Z29ucwCPAQRpbml0ANgBEV9fd2JpbmRnZW5fbWFsbG9jAIMBEl9fd2JpbmRnZW5fcmVhbGxvYwCIARVfX3diaW5kZ2VuX2V4dGVybnJlZnMBARlfX2V4dGVybnJlZl90YWJsZV9kZWFsbG9jAFwPX193YmluZGdlbl9mcmVlAK8BEF9fd2JpbmRnZW5fc3RhcnQADAmgAQEAQQELZUl5e6QBOIcBowFnkwFRT5QBlAFubHCVAW+aAZQBcWyWAW2XAWxikwGRAWCcAWmbAV0NuQGdAWNb1wHZAX+7AboBxAFfzQFqd0WSAVBkckNNgAE+RsUBfXqgAb0BwAHUAaUBvAHZAS0OD2u9AbkB1gGgAXQ/yAG+AX6/Ac8BmAGEAUdT1AGmAacBoAF4QckB0QHBAYkBVNMBtQEMAQwKi88HygGZgwEEM38GfgR9B3wjAEHAAmsiBCQAAkACQAJAAkACQAJAAkACQCADBEBBoOvAACgCAA0BQajrwABCADcDABAAIUILIARB8ABqIAEgAhAVIAQoAnAiF0EDRgRAIAQgBCgCdDYCoAIgBCAEQaACaq1CgICAgBCENwPwASAEQQhqQayEwAAgBEHwAWoQLyAEKAIMIgEgBCgCEBDVASEDIAQoAggiAgRAIAEgAkEBEMIBCyAEKAKgAiIBKAIMIgJBgICAgHhGIAJFckUEQCABKAIQIAJBARDCAQsgASgCACICBEAgASgCBCACQQR0QQQQwgELIAFBGEEEEMIBIABBgICAgHg2AgAgACADNgIEDAgLIAQoAnQhISAEQRBqIARB+ABqQeAA/AoAACAEICE2AgwgBCAXNgIIIAMEQBAAIEKhIUQLIAQoAlAhGAJAAkAgF0ECRg0AIAQoAiBBAUcNACAEKAIkIhZBAEoNAQsgGEUEQEEAIRYMAQsgBCgCTCEBIBhBGGxBGGsiBUEYbkEBaiIIQQdxIQYCQCAFQagBSQRAQQAhFgwBCyAIQfj///8BcSEFQQAhFgNAIAFBsAFqKAIAIgggAUGYAWooAgAiEyABQYABaigCACIUIAFB6ABqKAIAIg4gAUHQAGooAgAiCSABQThqKAIAIhEgAUEgaigCACINIAFBCGooAgAiDyAWIA8gFksbIg8gDSAPSxsiDSANIBFJGyIRIAkgEUsbIgkgCSAOSRsiDiAOIBRJGyIUIBMgFEsbIhMgCCATSxshFiABQcABaiEBIAVBCGsiBQ0ACwsgBkUNACAGQRhsIQUgAUEIaiEBA0AgASgCACIGIBYgBiAWSxshFiABQRhqIQEgBUEYayIFDQALC0F/IBitIBatfiI3pyIQIDdCIIinIgEbIRMgAUEARyElIAQoAigiCCkDAEJ/hUKAgYKEiJCgwIB/gyE3IARBKGohLSAIQQhqIgYhASAIIQVBACEJIAQoAjQiFCELA0ACQCA3UARAIAtFDQEDQCAFQcABayEFIAEpAwAgAUEIaiEBQoCBgoSIkKDAgH+DIjdCgIGChIiQoMCAf1ENAAsgN0KAgYKEiJCgwIB/hSE3C0F/QX9BfyAJQQhqIg4gCSAOSxsiDiAFIDd6p0EDdkFobGoiCUEQaygCAGoiESAOIBFLGyIOIAlBBGsoAgBqIgkgCSAOSRshCSALQQFrIQsgN0IBfSA3gyE3DAELC0EAIQUgBCgCWCENAkAgBCgCXCIORQ0AIA5BAXECQCAOQQFGBEBBACELDAELIA1B1ABqIQEgDkF+cSEKQQAhCwNAQX9BfyAHQRRqIhEgByARSxsiEUF/IBEgAUEsaygCAGoiByAHIBFJGyABQTRrKAIAQYCAgIB4RhsiEUEUaiIHIAcgEUkbIhFBfyARIAEoAgBqIgcgByARSRsgAUEIaygCAEGAgICAeEYbIQcgAUHYAGohASAKIAtBAmoiC0cNAAsLRQ0AQX8gB0EUaiIBIAEgB0kbIgFBfyABIA0gC0EsbGoiEUEoaigCAGoiDyABIA9LGyARQSBqKAIAQYCAgIB4RhshBwsgBCgCTCERAkAgGEUNACAYQQFxAkAgGEEBRgRAQQAhCwwBCyARQSxqIQEgGEH+//8/cSEKQQAhCwNAQX9BfyAFQQRqIgwgBSAMSxsiBUF/IAUgAUEYaygCAGoiDCAFIAxLGyABQSBrKAIAQYCAgIB4RhsiBUEEaiIMIAUgDEsbIgVBfyAFIAEoAgBqIgwgBSAMSxsgAUEIaygCAEGAgICAeEYbIQUgAUEwaiEBIAogC0ECaiILRw0ACwtFDQBBfyAFQQRqIgEgASAFSRsiAUF/IAEgESALQRhsaiIFQRRqKAIAaiIPIAEgD0sbIAVBDGooAgBBgICAgHhGGyEFCyAEKAJoIQEgBCgCYCEPIAIgAkECdmpBgIAEaiILQX9BfwJ/QX8gECAlG61CLH4iN0IgiFAEQCA3pwwBC0F/C0F/IAlBfyAFQX8gB0HAAEF/IAFBQGsiECABIBBLGyAPQYCAgIB4RhsiEGoiJSAQICVLGyIQaiIFIAUgEEkbIgVqIgkgBSAJSxsiBWoiCSAFIAlLGyIFQYCABGoiCSAFIAlLGyIFIAUgC0kbISIgAwRAEAAhQwtBACEFICJBAEgNAUEBIQUgIkEBEMwBIglFDQEgCUHCoJ2aBTYAACAJQQI7AAQgBCAJNgLcASAEQQY2AuABIAQgIjYC2AEgIkH+////B3FBBkYEfyAEQdgBakEGQQJBAUEBEEwgBCgC4AEFQQYLIAQoAtwBakEAOwAAIAQgBCgC4AFBAmoiBTYC4AEgBCgCZCEJQQAgASAPQYCAgIB4RiIPGyEBIAQoAtgBIAVrQQNNBH8gBEHYAWogBUEEQQFBARBMIAQoAuABBSAFCyAEKALcAWogATYAACAEIAQoAuABQQRqIgU2AuABIAQoAtgBIAVrIAFJBEAgBEHYAWogBSABQQFBARBMIAQoAuABIQULIAQoAtwBIQcgAQRAIAUgB2pBASAJIA8bIAH8CgAACyAhviE9IAQgASAFaiIBNgLgAQJ9IBdBAkcEQCAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALcASEHIAQoAuABBSABCyAHaiA9QwAAAAAgF0EBcRs4AAAgBCAEKALgAUEEaiIBNgLgASAEKgIUQwAAAAAgBCgCEBshPSAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqID04AAAgBCAEKALgAUEEaiIBNgLgASAEKAIcskMAAKBBIAQoAhgbDAELIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAtwBIQcgBCgC4AEFIAELIAdqQQA2AAAgBCAEKALgAUEEaiIBNgLgASAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqQQA2AAAgBCAEKALgAUEEaiIBNgLgAUMAAKBBCyE9IAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWogPTgAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWogFjYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWogDjYAACAEIAQoAuABQQRqIgs2AuABIA4EQCAOQSxsIQ5BACEJA0BBACEFQQEhFyAJIA1qIgFBIGooAgBBgICAgHhHBEAgAUEkaigCACEXIAFBKGooAgAhBQsgBCgC2AEgC2tBA00EfyAEQdgBaiALQQRBAUEBEEwgBCgC4AEFIAsLIAQoAtwBaiAFNgAAIAQgBCgC4AFBBGoiBzYC4AEgBCgC2AEgB2sgBUkEQCAEQdgBaiAHIAVBAUEBEEwgBCgC4AEhBwsgBCgC3AEhCyAFBEAgByALaiAXIAX8CgAACyAEIAUgB2oiBTYC4AFBACEHIAEoAgBBAUYEQCABQQRqKAIAIQcLIAQoAtgBIAVrQQNNBH8gBEHYAWogBUEEQQFBARBMIAQoAtwBIQsgBCgC4AEFIAULIAtqIAc2AAAgBCAEKALgAUEEaiIFNgLgAUEAIQcgAUEIaigCAEEBRgRAIAFBDGooAgAhBwsgBCgC2AEgBWtBA00EfyAEQdgBaiAFQQRBAUEBEEwgBCgC4AEFIAULIAQoAtwBaiAHNgAAIAQgBCgC4AFBBGoiBTYC4AFBACEHIAFBEGooAgBBAUYEQCABQRRqKAIAIQcLIAQoAtgBIAVrQQNNBH8gBEHYAWogBUEEQQFBARBMIAQoAuABBSAFCyAEKALcAWogBzYAACAEIAQoAuABQQRqIgU2AuABQQAhByABQRhqKAIAQQFGBEAgAUEcaigCACEHCyAEKALYASAFa0EDTQR/IARB2AFqIAVBBEEBQQEQTCAEKALgAQUgBQsgBCgC3AFqIAc2AAAgBCAEKALgAUEEaiILNgLgASAOIAlBLGoiCUcNAAsLIAgpAwBCf4VCgIGChIiQoMCAf4MhNyAGIQEgCCEFIBQhCQNAAkAgN1AEQCAJRQ0BA0AgBUHAAWshBSABKQMAIAFBCGohAUKAgYKEiJCgwIB/gyI3QoCBgoSIkKDAgH9RDQALIDdCgIGChIiQoMCAf4UhNwtBfyAmIAUgN3qnQQN2QWhsakEEaygCAGoiDiAOICZJGyEmIAlBAWshCSA3QgF9IDeDITcMAQsLIAQoAtgBIAtrQQNNBH8gBEHYAWogC0EEQQFBARBMIAQoAuABBSALCyAEKALcAWogFDYAACAEIAQoAuABQQRqIgc2AuABIBQEQCAIKQMAQn+FQoCBgoSIkKDAgH+DITcDQCA3UARAA0AgCEHAAWshCCAGKQMAIAZBCGohBkKAgYKEiJCgwIB/gyI3QoCBgoSIkKDAgH9RDQALIDdCgIGChIiQoMCAf4UhNwsgCCA3eqdBA3ZBaGxqIgVBEGsoAgAhASAFQRRrKAIAIQ4gBCgC2AEgB2tBA00EfyAEQdgBaiAHQQRBAUEBEEwgBCgC4AEFIAcLIAQoAtwBaiABNgAAIAQgBCgC4AFBBGoiBzYC4AEgBCgC2AEiCyAHayABSQRAIARB2AFqIAcgAUEBQQEQTCAEKALYASELIAQoAuABIQcLIAQoAtwBIQkgAQRAIAcgCWogDiAB/AoAAAsgBCABIAdqIgc2AuABIAVBBGsoAgAhASAFQQhrKAIAIQ4gCyAHa0EDTQRAIARB2AFqIAdBBEEBQQEQTCAEKALgASEHIAQoAtwBIQkLIAcgCWogATYAACAEIAQoAuABQQRqIgU2AuABIAQoAtgBIAVrIAFJBEAgBEHYAWogBSABQQFBARBMIAQoAuABIQULIAEEQCAEKALcASAFaiAOIAH8CgAACyA3QgF9IDeDITcgBCABIAVqIgc2AuABIBRBAWsiFA0ACwsgBCgC2AEgB2tBA00EfyAEQdgBaiAHQQRBAUEBEEwgBCgC4AEFIAcLIAQoAtwBaiAYNgAAIAQgBCgC4AFBBGoiATYC4AEgGEEYbCEIIBgEQCARQRRqIQcgCCEGA0BBACEFQQEhCSAHQQhrKAIAQYCAgIB4RwRAIAdBBGsoAgAhCSAHKAIAIQULIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWogBTYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrIAVJBEAgBEHYAWogASAFQQFBARBMIAQoAuABIQELIAUEQCAEKALcASABaiAJIAX8CgAACyAEIAEgBWoiATYC4AEgB0EYaiEHIAZBGGsiBg0ACwsgAUEDcQRAA0AgBCgC2AEgAUYEQCAEQdgBahBhCyAEKALcASABakEAOgAAIAQgAUEBaiIBNgLgASABQQNxDQALCyAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqIBY2AAAgBCAEKALgAUEEajYC4AEgAwRAEAAgQ6EhRhAAIUELIARCgICAgMAANwLkAUEAIQEgBEEANgLsAUGQ8MAALQAAQQFHBEAQVgsgBEH4AWpBmJzAACkDADcDAEGA8MAAQYDwwAApAwAiN0IBfDcDACAEQZCcwAApAwA3A/ABIARBiPDAACkDADcDiAIgBCA3NwOAAiATQf////8DSyATQQJ0IhtB/P///wdLcg0CAn8gG0UEQEEEIQ5BAAwBC0EEIQEgG0EEEMwBIg5FDQMgEwshKSATQQJPBEAgG0EEayIBBEAgDkH/ASAB/AsACyABIA5qIQEMBAsgDiEBIBMNA0EAISEgBEEANgKcAiAEQoCAgIDAADcClAJBBCEUQQAhFwwEC0GAqcAAEIoBAAsgBSAiEKgBAAsgASAbEKgBAAsgAUF/NgIAQQAhISAEQQA2ApwCIARCgICAgMAANwKUAgJAIBtFBEBBBCEUDAELIBtBBBDMASIURQ0CIBMhIQsCfyATQQJJBEBBASEXIBQMAQsgG0EEayIBBEAgFEH/ASAB/AsACyATIRcgASAUagtBfzYCAAsgGEUgFkVyDQEgCCARaiEuIARBgAJqISogBEGAAWohLwNAIBYgK2whMCArQQFqISsgEUEYaiElQQAhC0F/IQcCQANAAkAgESgCCCALTQRAIAQoAtgBIAQoAuABIgFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWpBADYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWpBADYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWpBgICA/AM2AAAgBCAEKALgAUEEaiIBNgLgASAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqQQA2AAAgBCAEKALgAUEEaiIBNgLgASAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqQQA2AAAgBCAEKALgAUEEaiIBNgLgASAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqQYCAgPwDNgAAIAQgBCgC4AFBBGoiATYC4AEgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBakEANgAAIAQgBCgC4AFBBGoiATYC4AEgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBakEANgAAIAQgBCgC4AFBBGoiATYC4AEgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBakEANgAAIAQgBCgC4AFBBGo2AuABQX8hBwwBC0MAAAAAIT0gESgCBCALQfAAbGoiDCgCCEECRwRAIAxBHGoqAgBDAAAAACAMQRhqKAIAGyE9CyAEKALYASAEKALgASIBa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqID04AAAgBCAEKALgAUEEaiIBNgLgAUMAAAAAIT0gDCgCCEECRwRAIAxBJGoqAgBDAAAAACAMQSBqKAIAGyE9CyAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqID04AAAgBCAEKALgAUEEaiIBNgLgAQJ9IAwoAigiBUECRwRAQwAAgD8hPSAFQQFxBEAgDCoCLCE9CyAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqID04AAAgBCAEKALgAUEEaiIBNgLgAUMAAAAAIT0gDCgCMEEBRgRAIAwqAjQhPQsgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiA9OAAAIAQgBCgC4AFBBGoiATYC4AFDAAAAACE9IAwoAjhBAUYEQCAMKgI8IT0LIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWogPTgAACAEIAQoAuABQQRqIgE2AuABQwAAgD8hPSAMKAJAQQFGBEAgDCoCRCE9CyAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqID04AAAgBCAEKALgAUEEaiIBNgLgAUMAAAAAIT0gDCgCSEEBRgRAIAwqAkwhPQsgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiA9OAAAIAQgBCgC4AFBBGoiBTYC4AFDAAAAACAMKAJQQQFHDQEaIAwqAlQMAQsgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBakGAgID8AzYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWpBADYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWpBADYAACAEIAQoAuABQQRqIgE2AuABIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWpBgICA/AM2AAAgBCAEKALgAUEEaiIBNgLgASAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqQQA2AAAgBCAEKALgAUEEaiIFNgLgAUMAAAAACyE9IAQoAtgBIAVrQQNNBH8gBEHYAWogBUEEQQFBARBMIAQoAuABBSAFCyAEKALcAWogPTgAACAEIAQoAuABQQRqIgE2AuABQwAAAAAhPSAMKAIAQQFGBEAgDCoCBCE9CyALIDBqIR8gBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiA9OAAAIAQgBCgC4AFBBGo2AuABAkACQAJAAkAgDCgCZEGAgICAeEYNACAMKAJsIhxFDQAgDCgCaCEgAkACQAJAIAQoAvwBRQ0AIwBB0ABrIgEkACABQUBrIgVCADcDACABQgA3AzggASAqKQMIIjc3AzAgASAqKQMAIjg3AyggASA3QvPK0cunjNmy9ACFNwMgIAEgN0Lt3pHzlszct+QAhTcDGCABIDhC4eSV89bs2bzsAIU3AxAgASA4QvXKzYPXrNu38wCFNwMIIAFBCGoiBiAgIBwQHiABQf8BOgBPIAYgAUHPAGpBARAeIAEpAwghOCABKQMYITcgBTUCACE5IAEpAzghOiABKQMgITsgASkDECE8IAFB0ABqJAAgBCgC9AEiASA7IDogOUI4hoQiOYUiOkIQiSA6IDx8IjqFIjtCFYkgOyA3IDh8IjhCIIl8IjuFIjxCEIkgPCA6IDdCDYkgOIUiN3wiOEIgiUL/AYV8IjqFIjxCFYkgPCA4IDdCEYmFIjcgOSA7hXwiOEIgiXwiOYUiO0IQiSA7IDggN0INiYUiNyA6fCI4QiCJfCI6hSI7QhWJIDsgOCA3QhGJhSI3IDl8IjhCIIl8IjmFIjtCEIkgOyA3Qg2JIDiFIjcgOnwiOEIgiXwiOoVCFYkgN0IRiSA4hSI3Qg2JIDcgOXyFIjdCEYmFIDcgOnwiN0IgiYUgN4UiN6dxIQkgN0IZiEL/AINCgYKEiJCgwIABfiE5IAQoAvABIgVBDGshCEEAIQYDQCAFIAlqKQAAIjggOYUiN0J/hSA3QoGChIiQoMCAAX2DQoCBgoSIkKDAgH+DIjdQRQRAA0AgCCA3eqdBA3YgCWogAXFBdGwiDWoiDygCBCAcRgRAICAgDygCACAcEHVFDQULIDdCAX0gN4MiN1BFDQALCyA4IDhCAYaDQoCBgoSIkKDAgH+DQgBSDQEgCSAGQQhqIgZqIAFxIQkMAAsACyAEKALsASEJQQAhI0EAIR1BACEsIwBBEGsiDSQAIA0gHDYCDCANICA2AgggBEHwAWoiBkEQaiIPIA1BCGoQKSE4IAYoAghFBEAjAEEgayIZJAACQAJAIAYoAgwiBUEBaiIBIAVPBEAgBigCBCIkICRBAWoiCEEDdiIQQQdsICRBCEkbIgpBAXYgAUkEQAJAAkACfyAKQQFqIgggASABIAhJGyIBQQ9PBEAgAUH/////AUsNAkF/IAFBA3RBB25BAWtndkEBagwBC0EEIAFBCHFBCGogAUEESRsLIgqtQgx+IjdCIIinDQQgN6ciAUF4Sw0EIAFBB2pBeHEiCCAKQQhqIhBqIgEgCEkgAUH4////B0tyDQQgAUEIEMwBIhINASABEJkBIBkoAhQhCiAZKAIQIQEMBQsQngEgGSgCHCEKIBkoAhghAQwECyAIIBJqIRUgEARAIBVB/wEgEPwLAAsgCkEBayIaIApBA3ZBB2wgGkEISRshMQJAIAVFBEAgBigCACEIDAELIBVBCGohMiAGKAIAIghBDGshMyAIKQMAQn+FQoCBgoSIkKDAgH+DITdBACEKIAUhECAIIQEDQCA3UARAA0AgCkEIaiEKIAFBCGoiASkDAEKAgYKEiJCgwIB/gyI3QoCBgoSIkKDAgH9RDQALIDdCgIGChIiQoMCAf4UhNwsgFSAaIA8gMyA3eqdBA3YgCmoiNEF0bGoQKaciNXEiEmopAABCgIGChIiQoMCAf4MiOVAEQEEIIR4DQCASIB5qIRIgHkEIaiEeIBUgEiAacSISaikAAEKAgYKEiJCgwIB/gyI5UA0ACwsgN0IBfSA3gyE3IBUgOXqnQQN2IBJqIBpxIhJqLAAAQQBOBEAgFSkDAEKAgYKEiJCgwIB/g3qnQQN2IRILIBIgFWogNUEZdiIeOgAAIDIgEkEIayAacWogHjoAACAVIBJBf3NBDGxqIhJBCGogCCA0QX9zQQxsaiIeQQhqKAAANgAAIBIgHikAADcAACAQQQFrIhANAAsLIAYgGjYCBCAGIBU2AgAgBiAxIAVrNgIIQYGAgIB4IQEgJEUNAyAkICRBDGxBE2pBeHEiCmpBCWoiBUUNAyAIIAprIAVBCBDCAQwDCyAGIAgEfyAGKAIAIQFBACEKIBAgCEEHcUEAR2oiBUEBcSAFQQFHBEAgBUH+////A3EhEgNAIAEgCmoiBSAFKQMAIjdCf4VCB4hCgYKEiJCgwIABgyA3Qv/+/fv379+//wCEfDcDACAFQQhqIgUgBSkDACI3Qn+FQgeIQoGChIiQoMCAAYMgN0L//v379+/fv/8AhHw3AwAgCkEQaiEKIBJBAmsiEg0ACwsEQCABIApqIgUgBSkDACI3Qn+FQgeIQoGChIiQoMCAAYMgN0L//v379+/fv/8AhHw3AwALAkAgCEEITwRAIAEgCGogASkAADcAAAwBCyAIRQ0AIAFBCGogASAI/AoAAAtBACEKA0ACQCABIApqLQAAQYABRw0AQQAgCmshHiABIApBf3NBDGxqIRACQANAIA8gASAeQQxsakEMaxApITcgBigCBCISIDenIhpxIhUhBSABIBVqKQAAQoCBgoSIkKDAgH+DIjdQBEBBCCEIA0AgBSAIaiEFIAhBCGohCCABIAUgEnEiBWopAABCgIGChIiQoMCAf4MiN1ANAAsLIAEgN3qnQQN2IAVqIBJxIgVqLAAAQQBOBEAgASkDAEKAgYKEiJCgwIB/g3qnQQN2IQULIAUgFWsgCiAVa3MgEnFBCE8EQCABIAVqIggtAAAgCCAaQRl2Iho6AAAgBigCACIIIAVBCGsgEnFqQQhqIBo6AAAgASAFQX9zQQxsaiEBQf8BRg0CIBAoAAAhBSAQIAEoAAA2AAAgASAFNgAAIAEoAAQhBSABIBAoAAQ2AAQgECAFNgAEIBAoAAghBSAQIAEoAAg2AAggASAFNgAIIAYoAgAhAQwBCwsgASAKaiAaQRl2IgU6AAAgBigCACIBIBIgCkEIa3FqQQhqIAU6AAAMAQsgCCAKakH/AToAACAIIAYoAgQgCkEIa3FqQQhqQf8BOgAAIAFBCGogEEEIaigAADYAACABIBApAAA3AAAgCCEBCyAKICRGIApBAWohCkUNAAsgBigCDCEFIAYoAgQiASABQQFqQQN2QQdsIAFBCEkbBUEACyIKIAVrNgIIQYGAgIB4IQEMAgsQngEgGSgCBCEKIBkoAgAhAQwBCxCeASAZKAIMIQogGSgCCCEBCyANIAo2AgQgDSABNgIAIBlBIGokAAsgBigCBCIIIDincSEBIDhCGYgiOUL/AINCgYKEiJCgwIABfiE6IAYoAgAhBQNAAkACfwJAAkACQCABIAVqKQAAIjggOoUiN0J/hSA3QoGChIiQoMCAAX2DQoCBgoSIkKDAgH+DIjdQRQRAA0AgBSA3eqdBA3YgAWogCHFBdGxqIg9BCGsoAgAgHEYEQCAgIA9BDGsoAgAgHBB1RQ0DCyA3QgF9IDeDIjdQRQ0ACwsgOEKAgYKEiJCgwIB/gyE3ICNFBEAgN1ANAyA3eqdBA3YgAWogCHEhHQtBASA3IDhCAYaDUA0DGkEAIQEgBSAdaiwAACIjQQBOBEAgBSAFKQMAQoCBgoSIkKDAgH+DeqdBA3YiHWotAAAhIwsgBSAdaiA5p0H/AHEiDzoAACAFIB1BCGsgCHFqQQhqIA86AAAgBiAGKAIIICNBAXFrNgIIIAYgBigCDEEBajYCDCAFIB1BdGxqIghBDGsgIDYCACAIQQhrIBw2AgAgCEEEayAJNgIADAELIA9BBGsiASgCACEIIAEgCTYCAEEBIQELIAQgCDYCBCAEIAE2AgAgDUEQaiQADAILQQALISMgLEEIaiIsIAFqIAhxIQEMAQsLIAQoAuwBIgYgBCgC5AFGBEAjAEEQayIBJAAgAUEEaiAEQeQBaiIFKAIAIgggBSgCBEEEIAhBAXQiCCAIQQRNGyIIQQRBCBBLIAEoAgRBAUYEQCABKAIIIAEoAgwQqAEACyABKAIIIQ0gBSAINgIAIAUgDTYCBCABQRBqJAALIAQoAugBIAZBA3RqIgEgHDYCBCABICA2AgAgBCAGQQFqNgLsAQwBCyAFIA1qQQRrKAIAIQkLIBcgH00NASAOIB9BAnRqIAk2AgALIAwoAmAiAUUEQEF/IQcMBAsgDCgCXCIFKAIAQQFGBEAgBSgCBEEDRg0CCyABQQd0IgVBARDMASIBBEAgBEEANgKoAiAEIAE2AqQCIAQgBTYCoAICQAJAIAwoAmAiAQRAIAwoAlwiBSABQYQCbGohD0EAIQFBACEIA0ACQCAFKAIAQQFGBEAgBSgCBEEDRg0BCwJ9AkACQCAFKAL4AUGCgICAeEgNACAFKAKAAiIGRQ0AIAUoAvwBIQkgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakEAOgAAIAQgAUEBaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqIAY2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABayAGSQRAIARBoAJqIAEgBkEBQQEQTCAEKAKoAiEBCyAGBEAgBCgCpAIgAWogCSAG/AoAAAsgBCAEKAKoAiAGaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAMAQsgBSgCCCIGQQJHBEAgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakEBOgAAIAQgAUEBaiIBNgKoAiAEKAKgAiABa0EDTQR/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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C0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECICQAJAAkAgAy0AKCIEQQRGDQADQAJAAkACQAJAAkAgBEEBaw4DAQACBAsgAygCLC0ACEEjRw0DDAILIAMtAClBI0YNAQwCCyADKAIsIgQtAAhBI0cNASAEKAIAIQYgBEEEaigCACIHKAIAIgUEQCAGIAURBgALIAcoAgQiBQRAIAYgBSAHKAIIEMIBCyAEQQxBBBDCAQsgA0EoaiABIAggA0EIakEgECIgAy0AKCIEQQRHDQEMAgsLIAAgAykDKDcCAAwBCyADKAIsIgRBIU8NASACKAIAIAIoAggiAWsgBEkEQCACIAEgBEEBQQEQTCACKAIIIQELIAQEQCACKAIEIAFqIANBCGogBPwKAAALIAAgBDYCBCACIAEgBGo2AgggAEEEOgAACyADQTBqJAAPC0EAIARBIEHQrsAAEDkAC4IDAQR/IAAoAgwhAgJAAkACQCABQYACTwRAIAAoAhghAwJAAkAgACACRgRAIABBFEEQIAAoAhQiAhtqKAIAIgENAUEAIQIMAgsgACgCCCIBIAI2AgwgAiABNgIIDAELIABBFGogAEEQaiACGyEEA0AgBCEFIAEiAkEUaiACQRBqIAIoAhQiARshBCACQRRBECABG2ooAgAiAQ0ACyAFQQA2AgALIANFDQICQCAAKAIcQQJ0QbjswABqIgEoAgAgAEcEQCADKAIQIABGDQEgAyACNgIUIAINAwwECyABIAI2AgAgAkUNBAwCCyADIAI2AhAgAg0BDAILIAAoAggiACACRwRAIAAgAjYCDCACIAA2AggPC0HQ78AAQdDvwAAoAgBBfiABQQN2d3E2AgAPCyACIAM2AhggACgCECIBBEAgAiABNgIQIAEgAjYCGAsgACgCFCIARQ0AIAIgADYCFCAAIAI2AhgPCw8LQdTvwABB1O/AACgCAEF+IAAoAhx3cTYCAAuqDQIGfwJ+IwBBQGoiBSQAIAVBEGogARAfAkAgBSgCEEEBRgRAIAUoAhQhAwwBCwJAIAUpAxgiCSABKAIAQQRqKAIAIgOtWARAIAMgCadrIQgDQCAIIAEoAgBBBGooAgAiBE8EQEEAIQMgBCAIRg0EQeegwABBGRCGASEDDAQLIAVBEGogARAfIAUoAhBBAUYEQCAFKAIUIQMMBAsgBSAFKQMYIgk3AwggCUL/////D1YNAiAFIAlCB4MiCjcDMCAKQgZaBEAgBSAFQTBqrUKAgICAMIQ3AzggBUEQaiIAQeiDwAAgBUE4ahBZIAAQfCEDDAQLIAlCB1gEQEHToMAAQRQQhgEhAwwECyAKpyEEIwBBIGsiAyQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAmnQQN2IgZBAWsOBgECAwQFBgALIAQgBiABIAIQJAwNCyAAKAIARQRAIABCATcCAAsgAyAEOgADIANBBToAAiAEQf8BcUEFRwRAIAMgA0ECaq1CgICAgMAAhDcDGCADIANBA2qtQoCAgIDAAIQ3AxAgA0EEaiIEIANBEGoQWiAEEHwhBAwMCyABKAIAIgRBBGoiBigCACIHQQNNBEBB1KzAAEEQEIYBIQQMDAsgBiAHQQRrNgIAIAQgBCgCACIEQQRqNgIAIAAgBCoAADgCBAwFCyAAKAIIRQRAIABCATcCCAsgAyAEOgADIANBBToAAiAEQf8BcUEFRwRAIAMgA0ECaq1CgICAgMAAhDcDGCADIANBA2qtQoCAgIDAAIQ3AxAgA0EEaiIEIANBEGoQWiAEEHwhBAwKCyABKAIAIgRBBGoiBigCACIHQQNNBEBB1KzAAEEQEIYBIQQMCgsgBiAHQQRrNgIAIAQgBCgCACIEQQRqNgIAIAAgBCoAADgCDAwECyAAKAIQRQRAIABCATcCEAsgAyAEOgADIANBBToAAiAEQf8BcUEFRwRAIAMgA0ECaq1CgICAgMAAhDcDGCADIANBA2qtQoCAgIDAAIQ3AxAgA0EEaiIEIANBEGoQWiAEEHwhBAwICyABKAIAIgRBBGoiBigCACIHQQNNBEBB1KzAAEEQEIYBIQQMCAsgBiAHQQRrNgIAIAQgBCgCACIEQQRqNgIAIAAgBCoAADgCFAwDCyAAKAIYRQRAIABCATcCGAsgAyAEOgADIANBBToAAiAEQf8BcUEFRwRAIAMgA0ECaq1CgICAgMAAhDcDGCADIANBA2qtQoCAgIDAAIQ3AxAgA0EEaiIEIANBEGoQWiAEEHwhBAwGCyABKAIAIgRBBGoiBigCACIHQQNNBEBB1KzAAEEQEIYBIQQMBgsgBiAHQQRrNgIAIAQgBCgCACIEQQRqNgIAIAAgBCoAADgCHAwCCyAAKAIgRQRAIABCATcCIAsgAyAEOgADIANBBToAAiAEQf8BcUEFRwRAIAMgA0ECaq1CgICAgMAAhDcDGCADIANBA2qtQoCAgIDAAIQ3AxAgA0EEaiIEIANBEGoQWiAEEHwhBAwECyABKAIAIgRBBGoiBigCACIHQQNNBEBB1KzAAEEQEIYBIQQMBAsgBiAHQQRrNgIAIAQgBCgCACIEQQRqNgIAIAAgBCoAADgCJAwBCyAAKAIoRQRAIABCATcCKAsgAyAEOgADIANBBToAAiAEQf8BcUEFRwRAIAMgA0ECaq1CgICAgMAAhDcDGCADIANBA2qtQoCAgIDAAIQ3AxAgA0EEaiIEIANBEGoQWiAEEHwhBAwCCyABKAIAIgRBBGoiBigCACIHQQNNBEBB1KzAAEEQEIYBIQQMAgsgBiAHQQRrNgIAIAQgBCgCACIEQQRqNgIAIAAgBCoAADgCLAtBAAwGCyADIAQ2AhAgA0EQakH1ncAAQQlBhJ7AAEECEHYgAygCEAwFCyADIAQ2AhAgA0EQakH1ncAAQQlBgp7AAEECEHYgAygCEAwECyADIAQ2AhAgA0EQakH1ncAAQQlBgZ7AAEEBEHYgAygCEAwDCyADIAQ2AhAgA0EQakH1ncAAQQlBgJ7AAEEBEHYgAygCEAwCCyADIAQ2AhAgA0EQakH1ncAAQQlB/53AAEEBEHYgAygCEAwBCyADIAQ2AhAgA0EQakH1ncAAQQlB/p3AAEEBEHYgAygCEAsgA0EgaiQAIgNFDQALDAILQYChwABBEBCGASEDDAELIAUgBUEIaq1CgICAgDCENwMQIAVBJGoiAEHSg8AAIAVBEGoQWSAAEHwhAwsgBUFAayQAIAML9wkCBn8CfiMAQUBqIgQkACAEQRBqIAEQHwJAIAQoAhBBAUYEQCAEKAIUIQIMAQsCQCAEKQMYIgggASgCAEEEaigCACICrVgEQCACIAinayEHA0AgByABKAIAQQRqKAIAIgNPBEBBACECIAMgB0YNBEHnoMAAQRkQhgEhAgwECyAEQRBqIAEQHyAEKAIQQQFGBEAgBCgCFCECDAQLIAQgBCkDGCIINwMIIAhC/////w9WDQIgBCAIQgeDIgk3AzAgCUIGWgRAIAQgBEEwaq1CgICAgDCENwM4IARBEGoiAEHog8AAIARBOGoQWSAAEHwhAgwECyAIQgdYBEBB06DAAEEUEIYBIQIMBAsgCachAyMAQSBrIgIkAAJ/AkACQAJAAkACQAJAAkACQAJAAkAgCKdBA3YiBUEBaw4EAQIDBAALIAMgBSABQd8AECQMCQsgACgCAEUEQCAAQgE3AgALIAIgAzoAAyACQQU6AAIgA0H/AXFBBUcEQCACIAJBAmqtQoCAgIDAAIQ3AxggAiACQQNqrUKAgICAwACENwMQIAJBBGoiAyACQRBqEFogAxB8IQMMCAsgASgCACIDQQRqIgUoAgAiBkEDTQRAQdSswABBEBCGASEDDAgLIAUgBkEEazYCACADIAMoAgAiA0EEajYCACAAIAMqAAA4AgQMAwsgACgCCEUEQCAAQgE3AggLIAIgAzoAAyACQQU6AAIgA0H/AXFBBUcEQCACIAJBAmqtQoCAgIDAAIQ3AxggAiACQQNqrUKAgICAwACENwMQIAJBBGoiAyACQRBqEFogAxB8IQMMBgsgASgCACIDQQRqIgUoAgAiBkEDTQRAQdSswABBEBCGASEDDAYLIAUgBkEEazYCACADIAMoAgAiA0EEajYCACAAIAMqAAA4AgwMAgsgACgCEEUEQCAAQgE3AhALIAIgAzoAAyACQQU6AAIgA0H/AXFBBUcEQCACIAJBAmqtQoCAgIDAAIQ3AxggAiACQQNqrUKAgICAwACENwMQIAJBBGoiAyACQRBqEFogAxB8IQMMBAsgASgCACIDQQRqIgUoAgAiBkEDTQRAQdSswABBEBCGASEDDAQLIAUgBkEEazYCACADIAMoAgAiA0EEajYCACAAIAMqAAA4AhQMAQsgACgCGEUEQCAAQgE3AhgLIAIgAzoAAyACQQU6AAIgA0H/AXFBBUcEQCACIAJBAmqtQoCAgIDAAIQ3AxggAiACQQNqrUKAgICAwACENwMQIAJBBGoiAyACQRBqEFogAxB8IQMMAgsgASgCACIDQQRqIgUoAgAiBkEDTQRAQdSswABBEBCGASEDDAILIAUgBkEEazYCACADIAMoAgAiA0EEajYCACAAIAMqAAA4AhwLQQAMBAsgAiADNgIQIAJBEGpB4K7AAEEJQeyuwABBARB2IAIoAhAMAwsgAiADNgIQIAJBEGpB4K7AAEEJQeuuwABBARB2IAIoAhAMAgsgAiADNgIQIAJBEGpB4K7AAEEJQequwABBARB2IAIoAhAMAQsgAiADNgIQIAJBEGpB4K7AAEEJQemuwABBARB2IAIoAhALIAJBIGokACICRQ0ACwwCC0GAocAAQRAQhgEhAgwBCyAEIARBCGqtQoCAgIAwhDcDECAEQSRqIgBB0oPAACAEQRBqEFkgABB8IQILIARBQGskACACC/MCAQV/IwBBEGsiAyQAAkBBhOvAACgCAEUEQEGE68AAQX82AgBBlOvAACgCACIAQZDrwAAoAgAiAUYEQAJ/IAAgAEGI68AAKAIAIgJHDQAa0G9BgAEgACAAQYABTRsiBPwPASICQX9GDQMCQEGY68AAKAIAIgFFBEBBmOvAACACNgIADAELIAAgAWogAkcNBAtBiOvAACgCACIBIABrIARPBEAgASECIAAMAQsgA0EEaiABQYzrwAAoAgAgACAEaiICQQRBBBBLIAMoAgRBAUYNA0GM68AAIAMoAgg2AgBBiOvAACACNgIAQZDrwAAoAgALIgEgAk8NAkGM68AAKAIAIAFBAnRqIABBAWo2AgBBkOvAACABQQFqIgE2AgALIAAgAU8NAUGU68AAQYzrwAAoAgAgAEECdGooAgA2AgBBhOvAAEGE68AAKAIAQQFqNgIAQZjrwAAoAgAhASADQRBqJAAgACABag8LQeTFwAAQigELAAvEAgEEfyAAQgA3AhAgAAJ/QQAgAUGAAkkNABpBHyABQf///wdLDQAaIAFBJiABQQh2ZyIDa3ZBAXEgA0EBdGtBPmoLIgI2AhwgAkECdEG47MAAaiEEQQEgAnQiA0HU78AAKAIAcUUEQCAEIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AghB1O/AAEHU78AAKAIAIANyNgIADwsCQAJAIAEgBCgCACIDKAIEQXhxRgRAIAMhAgwBCyABQRkgAkEBdmtBACACQR9HG3QhBQNAIAMgBUEddkEEcWoiBCgCECICRQ0CIAVBAXQhBSACIQMgAigCBEF4cSABRw0ACwsgAigCCCIBIAA2AgwgAiAANgIIIABBADYCGCAAIAI2AgwgACABNgIIDwsgBEEQaiAANgIAIAAgAzYCGCAAIAA2AgwgACAANgIIC+gCAQF/IwBBIGsiAiQAAkACQAJAAkACQAJAIAAtAABBAWsOAwECAwALIAIgACgCBDYCAEEUQQEQzAEiAEUNBCAAQRBqQaHMwAAoAAA2AAAgAEEIakGZzMAAKQAANwAAIABBkczAACkAADcAACACQRQ2AgwgAiAANgIIIAJBFDYCBCACIAKtQoCAgICQCYQ3AxggAiACQQRqrUKAgICAoAmENwMQIAEoAgAgASgCBEH7lcAAIAJBEGoQJiEAIAIoAgQiAUUNAyACKAIIIAFBARDCAQwDCyACIAAtAAFBAnQiACgCmM5ANgIIIAIgACgCwM9ANgIEIAIgAkEEaq1CgICAgLAJhDcDECABKAIAIAEoAgRBy4TAACACQRBqECYhAAwCCyAAKAIEIgAoAgAgACgCBCABENIBIQAMAQsgACgCBCIAKAIAIAEgACgCBCgCEBEAACEACyACQSBqJAAgAA8LQQFBFBCoAQALkQICAX8BfiMAQSBrIgQkAAJAAkACQCAAIAJNBEAgASACSw0BQoCAgIDgByEFIAAgAU0NAiAEIAA2AgggBCABNgIMIAQgBSAEQQxqrYQ3AxggBCAFIARBCGqthDcDEEHZgcAAIARBEGogAxCCAQALIAQgADYCCCAEIAI2AgwgBEKAgICA4AciBSAEQQxqrYQ3AxggBCAFIARBCGqthDcDEEG4gsAAIARBEGogAxCCAQALIAQgATYCCCAEIAI2AgwgBEKAgICA4AciBSAEQQxqrYQ3AxgMAQsgBCABNgIIIAQgAjYCDCAEIAUgBEEMaq2ENwMYCyAEIAUgBEEIaq2ENwMQQfGCwAAgBEEQaiADEIIBAAu+AgEFfyMAQTBrIgMkACADQShqIAIQuAEgAygCLCECAkAgAygCKCIFRQRAQQEhBgwBCyADIAI2AiwgAyAFNgIoIANBIGogBSABKgIAEKsBQQEhBiADKAIkIQQCQCADKAIgQQFxDQAgA0EsaiIHQZaawABBARAlIAQQwwEgA0EYaiAFIAEqAgQQqwEgAygCHCEEIAMoAhhBAXENACAHQZeawABBARAlIAQQwwEgA0EQaiAFIAEqAggQqwEgAygCFCEEIAMoAhBBAXENACAHQdWWwABBARAlIAQQwwEgA0EIaiAFIAEqAgwQqwEgAygCDCEEIAMoAghBAXENACAHQdSWwABBARAlIAQQwwFBACEGDAELIAJBhAhJBEAgBCECDAELIAIQXCAEIQILIAAgAjYCBCAAIAY2AgAgA0EwaiQAC58CAgd/A34gASgCACICQQRqKAIAIgMEQCACKAIAIgRBCiADIANBCk8bIgFqIQYgAyABayEHIAGtQgd+Qgd9IQtBACEBAkACQANAAkAgASAEaiIILAAAIgVB/wBxrSAJhiAKhCEKIAVBAE4NACAJIAtRDQMgCUIHfCEJIAFBAWoiASADRw0BDAILCyACQQRqIAFBf3MgA2o2AgAgAiAIQQFqNgIAIAVBAUsgCUI/UXFFBEAgACAKNwMIIABBADYCAA8LIABBv6vAAEEOEIYBNgIEIABBATYCAA8LIAJBBGpBADYCACACIAMgBGo2AgBB/KnAABCBAQALIAIgBjYCACACQQRqIAc2AgALIABBv6vAAEEOEIYBNgIEIABBATYCAAufAgEKfyAAKAIIIgcEQCAAKAIEIQgDQCAIIANBGGxqIgEoAgwiAEGAgICAeEYgAEVyRQRAIAEoAhAgAEEBEMIBCyABKAIIIgkEQCABKAIEIQpBACEEA0AgCiAEQfAAbGoiAigCZCIAQYCAgIB4RiAARXJFBEAgAigCaCAAQQEQwgELIAIoAmAiBQRAIAIoAlxB/AFqIQADQCAAQQRrKAIAIgZBgoCAgHhIIAZFckUEQCAAKAIAIAZBARDCAQsgAEGEAmohACAFQQFrIgUNAAsLIAIoAlgiAARAIAIoAlwgAEGEAmxBBBDCAQsgBEEBaiIEIAlHDQALCyABKAIAIgAEQCABKAIEIABB8ABsQQQQwgELIANBAWoiAyAHRw0ACwsL/wEBA38jAEEQayIDJAACfwJAIAEoAggiAkGAgIAQcUUEQCACQYCAgCBxDQEgAUEBQQFBACAAKAIAIANBBmoiARAnIgAgAWpBCiAAaxAbDAILIAAoAgAhAEEAIQIDQCACIANqQQ1qIABBD3EtAMjaQDoAACACQQFrIQIgAEEPSyAAQQR2IQANAAsgAUEBQdjawABBAiACIANqQQ5qQQAgAmsQGwwBCyAAKAIAIQBBACECA0AgAiADakENaiAAQQ9xLQDa2kA6AAAgAkEBayECIABBD0sgAEEEdiEADQALIAFBAUHY2sAAQQIgAiADakEOakEAIAJrEBsLIANBEGokAAudAgECfwJAAkAgASgCACIBKAIQQQFHBEAgA0EATgRAIANFBEBBASEEDAMLQQEhBSADQQEQzAEiBA0CCyAFIAMQqAEACyAAIAEpAgA3AgAgAUKAgICAEDcCACAAQQhqIAFBCGoiBCgCADYCACAEQQA2AgAgASABKAIQIgRBAWs2AhAgBEEBRgRAIAEoAgAiBARAIAEoAgQgBEEBEMIBCyABQRRBBBDCAQsgAwRAIAAoAgQgAiAD/AoAAAsgACADNgIIDAELIAAgBDYCBCAAIAM2AgAgAwRAIAQgAiAD/AoAAAsgACADNgIIIAEgASgCECIAQQFrNgIQIABBAUcNACABKAIAIgAEQCABKAIEIABBARDCAQsgAUEUQQQQwgELC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQUiAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALnAIBA38jAEEQayIGJAAgASABKAIIIgRBACAEQQFHGzYCCAJAAkACQCAEQQFGBEAgASgCBCEFIAEoAgAhBCABQQxBBBDCASADBEAgBCACIAP8CgAACyAAIAM2AgggACAENgIEIAAgBTYCAAwBCyADQQBIDQECQCADRQRAQQEhBAwBC0EBIQUgA0EBEMwBIgRFDQILIAAgBDYCBCAAIAM2AgAgAwRAIAQgAiAD/AoAAAsgACADNgIIIAEgASgCCCIAQQFrNgIIIABBAUcNACABQQRqKAIAIgBBAEgNAiABKAIAIABBARDCASABQQxBBBDCAQsgBkEQaiQADwsgBSADEKgBAAtBoLLAAEErIAZBD2pBkLLAAEGEs8AAEGgAC4gCAQZ/IAAoAggiBCECAn9BASABQYABSQ0AGkECIAFBgBBJDQAaQQNBBCABQYCABEkbCyIGIAAoAgAgBGtLBH8gACAEIAYQVSAAKAIIBSACCyAAKAIEaiECAkAgAUGAAU8EQCABQT9xQYB/ciEFIAFBBnYhAyABQYAQSQRAIAIgBToAASACIANBwAFyOgAADAILIAFBDHYhByADQT9xQYB/ciEDIAFB//8DTQRAIAIgBToAAiACIAM6AAEgAiAHQeABcjoAAAwCCyACIAU6AAMgAiADOgACIAIgB0E/cUGAf3I6AAEgAiABQRJ2QXByOgAADAELIAIgAToAAAsgACAEIAZqNgIIQQALhwICAX4GfwJAIAAoAgQiBkUNACAAKAIMIgcEQCAAKAIAIgJBCGohAyACKQMAQn+FQoCBgoSIkKDAgH+DIQEDQCABUARAA0AgAkHAAWshAiADKQMAIANBCGohA0KAgYKEiJCgwIB/gyIBQoCBgoSIkKDAgH9RDQALIAFCgIGChIiQoMCAf4UhAQsgAiABeqdBA3ZBaGxqIgRBGGsoAgAiBQRAIARBFGsoAgAgBUEBEMIBCyAEQQxrKAIAIgUEQCAEQQhrKAIAIAVBARDCAQsgAUIBfSABgyEBIAdBAWsiBw0ACwsgBkEYbCIDIAZqQSFqIgJFDQAgACgCACADa0EYayACQQgQwgELC+wBAQN/AkACQAJAAkAgASgCACIBQQFxBEBBB0EgIAIgAUF+cSIFayIGIANqIgFBCnZnayIEIARBB08bQQJ0QQFyIQQgAiAFRgRAIAQhAiABIQMMBQsgBkGAgIDAAEkNAkEUQQQQzAEiAkUNASACQQE2AhAgAiABNgIIIAIgBTYCBCACIAE2AgAgAiAEQQJ2QQdxNgIMDAMLIAAgASACIAMQLA8LQQRBFBDQAQALIAZBBXQgBGohAgsgASAGayIEQQAgASAETxshASAFIAZqIQULIAAgAjYCDCAAIAM2AgggACABNgIEIAAgBTYCAAuGCgIIfwJ+IwBBIGsiBSQAIAUgADoAAyAFQQI6AAICQAJAAn8gAEH/AXFBAkcEQCAFIAVBAmqtQoCAgIDwAIQ3AxggBSAFQQNqrUKAgICA8ACENwMQIAVBBGoiACAFQRBqEFogABB8DAELIAVBEGogAhAgIAUoAhBBAUYEQCAFKAIUDAELIAUpAxgiCyACKAIAQQRqNQIAWA0BQYCrwABBEBCGAQshACABQQA2AggMAQsjAEEQayIHJAAgAUEANgIIIAunIgMgAigCACICQQRqIggoAgAiACAAIANLGyIAIAEoAgAiBksEQCABQQAgAEEBQQEQTCABKAIAIQYgASgCCCEEIAMgCCgCACIAIAAgA0sbIQALIAYgBGsgAEkEQCABIAQgAEEBQQEQTCADIAJBBGooAgAiACAAIANLGyEACwJAAkAgAARAIAEoAgghBCACKAIAIQYgAkEEaiEIA0AgASgCACAEayAASQRAIAEgBCAAQQFBARBMIAEoAgghBAsgAARAIAEoAgQgBGogBiAA/AoAAAsgASAAIARqIgQ2AgggCCgCACIGIABJDQIgCCAGIABrIgk2AgAgAiACKAIAIABqIgY2AgAgAyAAayIDIAkgAyAJSRsiAA0ACwsgB0EQaiQADAELIAcgBjYCDCAHIAA2AgggB0EIahCBAQALIAVBEGohBiABKAIEIQICQAJAIAEoAggiBEUNACAEQQdrIgBBACAAIARNGyEJIAJBA2pBfHEgAmshCkEAIQADQAJAAkACQCAAIAJqLQAAIgfAIghBAE4EQCAKIABrQQNxDQEgACAJTw0CA0AgACACaiIDQQRqKAIAIAMoAgByQYCBgoR4cQ0DIABBCGoiACAJSQ0ACwwCC0KAgICAgCAhDEKAgICAECELAkACQAJ+AkACQAJAAkACQAJAAkACQAJAIActAOraQEECaw4DAAECCgsgAEEBaiIDIARJDQJCACEMQgAhCwwJC0IAIQwgAEEBaiIDIARJDQJCACELDAgLQgAhDCAAQQFqIgMgBEkNAkIAIQsMBwsgAiADaiwAAEG/f0oNBgwHCyACIANqLAAAIQMCQAJAIAdB4AFrIgcEQCAHQQ1GBEAMAgUMAwsACyADQWBxQaB/Rg0EDAMLIANBn39KDQIMAwsgCEEfakH/AXFBDE8EQCAIQX5xQW5HDQIgA0FASA0DDAILIANBQEgNAgwBCyACIANqLAAAIQMCQAJAAkACQCAHQfABaw4FAQAAAAIACyAIQQ9qQf8BcUECSyADQUBOcg0DDAILIANB8ABqQf8BcUEwTw0CDAELIANBj39KDQELIAQgAEECaiIDTQRAQgAhCwwFCyACIANqLAAAQb9/Sg0CQgAhCyAAQQNqIgMgBE8NBCACIANqLAAAQUBIDQVCgICAgIDgAAwDC0KAgICAgCAMAgtCACELIABBAmoiAyAETw0CIAIgA2osAABBv39MDQMLQoCAgICAwAALIQxCgICAgBAhCwsgBiAMIACthCALhDcCBCAGQQE2AgAMBgsgA0EBaiEADAILIABBAWohAAwBCyAAIARPDQADQCAAIAJqLAAAQQBIDQEgBCAAQQFqIgBHDQALDAILIAAgBEkNAAsLIAYgBDYCCCAGIAI2AgQgBkEANgIAC0EAIQAgBSgCEEEBRw0AQZCrwABBLxCGASEAIAFBADYCCAsgBUEgaiQAIAAL5wEBA38CQAJAAkACQCABKAIAIgFBAXEEQEEHQSAgAiABayIGIANqIgRBCnZnayIFIAVBB08bQQJ0QQFyIQUgASACRgRAIAUhAiAEIQMMBQsgBkGAgIDAAEkNAkEUQQQQzAEiAkUNASACQQE2AhAgAiAENgIIIAIgATYCBCACIAQ2AgAgAiAFQQJ2QQdxNgIMDAMLIAAgASACIAMQLA8LQQRBFBDQAQALIAZBBXQgBWohAgsgBCAGayIFQQAgBCAFTxshBCABIAZqIQELIAAgAjYCDCAAIAM2AgggACAENgIEIAAgATYCAAvgAQECfwJAAkAgASgCACIBKAIQQQFHBEAgA0EASA0BAkAgA0UEQEEBIQQMAQtBASEFIANBARDMASIERQ0CCyADBEAgBCACIAP8CgAACyABIAEoAhAiAkEBazYCECACQQFGBEAgASgCACICBEAgASgCBCACQQEQwgELIAFBFEEEEMIBC0EHQSAgA0EKdmdrIgEgAUEHTxtBAnRBAXIhASADIQUMAgsgASgCBCABKAIAIAJraiEFIAIhBAwBCyAFIAMQqAEACyAAIAE2AgwgACAFNgIIIAAgAzYCBCAAIAQ2AgAL/AECA38BfiMAQTBrIgIkACABKAIAQYCAgIB4RgRAIAEoAgwhAyACQSxqIgRBADYCACACQoCAgIAQNwIkIAJBJGpBqMzAACADKAIAIgMoAgAgAygCBBAmGiACQSBqIAQoAgAiAzYCACACIAIpAiQiBTcDGCABQQhqIAM2AgAgASAFNwIACyABKQIAIQUgAUKAgICAEDcCACACQRBqIgMgAUEIaiIBKAIANgIAIAFBADYCACACIAU3AwhBDEEEEMwBIgFFBEBBBEEMENABAAsgASACKQMINwIAIAFBCGogAygCADYCACAAQYjOwAA2AgQgACABNgIAIAJBMGokAAuUAgECfyMAQSBrIgUkAEGo8MAAQajwwAAoAgAiBkEBajYCAAJAAn9BACAGQQBIDQAaQQFBpPDAAC0AAA0AGkGk8MAAQQE6AABBoPDAAEGg8MAAKAIAQQFqNgIAQQILQf8BcSIGQQJHBEAgBkEBcUUNASAFQQhqIAAgASgCGBEDAAwBC0Gs8MAAKAIAIgZBAEgNAEGs8MAAIAZBAWo2AgBBsPDAACgCAARAIAUgACABKAIUEQMAIAUgBDoAHSAFIAM6ABwgBSACNgIYIAUgBSkDADcCEEGw8MAAKAIAIAVBEGpBtPDAACgCACgCFBEDAAtBrPDAAEGs8MAAKAIAQQFrNgIAQaTwwABBADoAACADRQ0AAAsAC8IBAgR/An4jAEEgayICJABBASEFAkAgAUHCscAAQSMQsAENACAAKAIAIgMoAggiBARAIAMoAgQiACAEQQR0aiEEQoCAgIDABCIGIAJBCGqthCEHIAYgAq2EIQYDQCACIAApAgA3AgAgAiAAQQhqKQIANwIIIAIgBzcDGCACIAY3AxAgASgCACABKAIEQbGWwAAgAkEQahAmDQIgAEEQaiIAIARHDQALCyABIAMoAhAgAygCFBCwASEFCyACQSBqJAAgBQu3AQEGfyAAKAIIIgUEQCAAKAIEIQYDQCAGIAJB8ABsaiIBKAJkIgBBgICAgHhGIABFckUEQCABKAJoIABBARDCAQsgASgCYCIDBEAgASgCXEH8AWohAANAIABBBGsoAgAiBEGCgICAeEggBEVyRQRAIAAoAgAgBEEBEMIBCyAAQYQCaiEAIANBAWsiAw0ACwsgASgCWCIABEAgASgCXCAAQYQCbEEEEMIBCyACQQFqIgIgBUcNAAsLC6oBAgJ/AX5BASEHQQQhBgJAIAQgBWpBAWtBACAEa3GtIAOtfiIIQiCIUEUEQEEAIQMMAQsgCKciA0GAgICAeCAEa0sEQEEAIQMMAQsCQAJAAn8gAQRAIAIgASAFbCAEIAMQtwEMAQsgA0UEQCAEIQYMAgsgAyAEEMwBCyIGDQAgACAENgIEDAELIAAgBjYCBEEAIQcLQQghBgsgACAGaiADNgIAIAAgBzYCAAuqAQEBfyMAQRBrIgUkACAERQRAQQBBABCoAQALIAIgASACaiIBSwRAQQBBABCoAQALIAVBBGogACgCACICIAAoAgQgASACQQF0IgIgASACSxsiAUEIQQRBASAEQYEISRsgBEEBRhsiAiABIAJLGyIBIAMgBBBLIAUoAgRBAUYEQCAFKAIIIAUoAgwQqAEACyAFKAIIIQIgACABNgIAIAAgAjYCBCAFQRBqJAALtgEBAX8jAEEQayIDJAACQAJAAkAgACgCACIAQQFxBEAgASAAQX5xIgBrIAJqIgFBAEgNAiAAIAFBARDCAQwBCyAAIAAoAggiAUEBazYCCCABQQFHDQAgAEEEaigCACIBQQBIDQIgACgCACABQQEQwgEgAEEMQQQQwgELIANBEGokAA8LQaCywABBKyADQQ9qQZCywABBzLLAABBoAAtBoLLAAEErIANBD2pBkLLAAEGEs8AAEGgAC7UBAQF/AkBBDEEEEMwBIgYEQCAGQQI2AgggBiADNgIAIAYgBCADayAFajYCBCABIAYgASgCACIBIAEgAkYiAhs2AgAgAkUEQCABIAEoAggiAkEBajYCCCACQQBIDQIgACABNgIMIAAgBTYCCCAAIAQ2AgQgAEH8scAANgIAIAZBDEEEEMIBDwsgACAGNgIMIAAgBTYCCCAAIAQ2AgQgAEH8scAANgIADwtBBEEMENABAAsQxgEAC6IBAQF/IwBBEGsiBiQAAkAgAQRAIAZBBGogASADIAQgBSACKAIQEQUAAkAgBigCBCICIAYoAgwiAU0EQCAGKAIIIQUMAQsgAkECdCECIAYoAgghAyABRQRAQQQhBSADIAJBBBDCAQwBCyADIAJBBCABQQJ0IgIQtwEiBUUNAgsgACABNgIEIAAgBTYCACAGQRBqJAAPCxDOAQALQQQgAhCoAQALsQEBAX8jAEEQayIDJAACQAJAAkAgACgCACIAQQFxBEAgASAAayACaiIBQQBIDQIgACABQQEQwgEMAQsgACAAKAIIIgFBAWs2AgggAUEBRw0AIABBBGooAgAiAUEASA0CIAAoAgAgAUEBEMIBIABBDEEEEMIBCyADQRBqJAAPC0GgssAAQSsgA0EPakGQssAAQcyywAAQaAALQaCywABBKyADQQ9qQZCywABBhLPAABBoAAugAQEBfyMAQRBrIgUkAAJAIAEEQCAFQQRqIAEgAyAEIAIoAhARAQACQCAFKAIEIgIgBSgCDCIBTQRAIAUoAgghBAwBCyACQQJ0IQIgBSgCCCEDIAFFBEBBBCEEIAMgAkEEEMIBDAELIAMgAkEEIAFBAnQiAhC3ASIERQ0CCyAAIAE2AgQgACAENgIAIAVBEGokAA8LEM4BAAtBBCACEKgBAAuJAQEBfyMAQRBrIgMkACACIAEgAmoiAUsEQEEAQQAQqAEACyADQQRqIAAoAgAiAiAAKAIEQQggASACQQF0IgIgASACSxsiASABQQhNGyIBQQFBARBLIAMoAgRBAUYEQCADKAIIIAMoAgwQqAEACyADKAIIIQIgACABNgIAIAAgAjYCBCADQRBqJAALnAECA38BfiMAQSBrIgIkACABKAIAQYCAgIB4RgRAIAEoAgwhAyACQRxqIgRBADYCACACQoCAgIAQNwIUIAJBFGpBqMzAACADKAIAIgMoAgAgAygCBBAmGiACQRBqIAQoAgAiAzYCACACIAIpAhQiBTcDCCABQQhqIAM2AgAgASAFNwIACyAAQYjOwAA2AgQgACABNgIAIAJBIGokAAuNAQEEfyMAQRBrIgIkAAJ/QQEgASgCACIDQScgASgCBCIFKAIQIgERAAANABogAiAAKAIAQYECEB0CQCACLQANIgBBgQFPBEAgAyACKAIAIAERAABFDQFBAQwCCyADIAIgAi0ADCIEaiAAIARrIAUoAgwRBABFDQBBAQwBCyADQScgAREAAAsgAkEQaiQAC4UBAQF/IwBBEGsiAyQAIAIgASACaiIBSwRAQQBBABCoAQALIANBBGogACgCACICIAAoAgRBCCABIAJBAXQiAiABIAJLGyIBIAFBCE0bIgEQVyADKAIEQQFGBEAgAygCCCADKAIMEKgBAAsgAygCCCECIAAgATYCACAAIAI2AgQgA0EQaiQAC6kBAgN/An4jAEEQayIAJAAjAEEQayIBJAAgAUEAOgAPQQFBARDMASICRQRAQQFBARDQAQALIAAgAUEPaq03AwAgACACrTcDCCACQQFBARDCASABQRBqJAAgACkDACEDIAApAwghBEGQ8MAALQAAQQJGBEBBsKrAAEH9AEHwqsAAEIIBAAtBkPDAAEEBOgAAQYjwwAAgBDcDAEGA8MAAIAM3AwAgAEEQaiQAC3IAAn8gA0EASARAQQEhAUEAIQNBBAwBCwJ/AkACfyABBEAgAiABQQEgAxC3AQwBCyADRQRAQQEhAQwCCyADQQEQzAELIgENACAAQQE2AgRBAQwBCyAAIAE2AgRBAAshAUEICyAAaiADNgIAIAAgATYCAAuWAgIFfwFvIwBBEGsiBSQAIAUgAjcDACAAAn8gAS0AAkUEQCACQoCAgICAgIAQWgRAIAUgBa1CgICAgDCENwMIQQEhAQJ/IwBBEGsiBiQAQQEhBwJAAn8gBUEIaiIEQQFxBEAgBEEBdiEDIARBAk8EQCADQQEQzAEiB0UNAwsgAwRAIAdB9JTAACAD/AoAAAsgAwwBCyAGQQRqQfSUwAAgBBAvIAYoAgwhAyAGKAIIIQcgBigCBAshBCAHIAMQ1QEgBARAIAcgBEEBEMIBCyAGQRBqJAAMAQtBASADEKgBAAsMAgtBACEBIAK6ELIBDAELQQAhASACEA8hCBA2IgMgCCYBIAMLNgIEIAAgATYCACAFQRBqJAALaAEDf0EBIQQCQCACQQFxBEAgAkEBdiEDIAJBAk8EQCADQQEQzAEiBEUNAiADIQULIAMEQCAEIAEgA/wKAAALIAAgAzYCCCAAIAQ2AgQgACAFNgIADwsgACABIAIQLw8LQQEgAxCoAQALbgEDf0EBIQMCQCABQQFxBEAgAUEBdiECIAFBAk8EQCACQQEQzAEiA0UNAiACIQQLIAIEQCADQYyWwAAgAvwKAAALIAAgAjYCCCAAIAM2AgQgACAENgIADwsgAEGMlsAAIAEQLw8LQQEgAhCoAQALawACQAJAIANFBEBBASEBDAELIANBARDMASIBRQ0BCyADBEAgASACIAP8CgAACyAAIAM2AgggACADNgIEIAAgATYCACAAQQdBICADQQp2Z2siACAAQQdPG0ECdEEBcjYCDA8LQQEgAxCoAQALjwEBAX8CQAJAIABBhAhPBEAgANBvJgFBhOvAACgCAA0CQYTrwABBfzYCACAAQZjrwAAoAgAiAUkNASAAIAFrIgBBkOvAACgCAE8NAUGM68AAKAIAIABBAnRqQZTrwAAoAgA2AgBBlOvAACAANgIAQYTrwABBhOvAACgCAEEBajYCAAsPCwALQfTFwAAQigEAC2gBAX8jAEEQayIFJAAgAUUEQBDOAQALIAVBCGogASADIAQgAigCEBEBACAAIAUoAggiAkECRiIBNgIIIAAgBSgCDCIDQQAgARs2AgQgAEEAIANBgAggAkEBcRsgARs2AgAgBUEQaiQAC2oBA38jAEEQayIBJAAgAUEEaiAAKAIAIgIgACgCBEEEIAJBAXQiAiACQQRNGyICQQhBKBBLIAEoAgRBAUYEQCABKAIIIAEoAgwQqAEACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALbwAjAEEQayIBJAAgACgCACIAIAAoAggiAkEBazYCCAJAIAJBAUYEQCAAQQRqKAIAIgJBAEgNASAAKAIAIAJBARDCASAAQQxBBBDCAQsgAUEQaiQADwtBoLLAAEErIAFBD2pBkLLAAEGEs8AAEGgAC2MBAX8jAEEQayIGJAAgAUUEQBDOAQALIAZBCGogASADIAQgBSACKAIQEQUAIAYoAgwhASAAIAYoAggiAjYCCCAAIAFBACACQQFxIgIbNgIEIABBACABIAIbNgIAIAZBEGokAAtmAQN/IwBBEGsiASQAIAFBBGogACgCACICIAAoAgRBCCACQQF0IgIgAkEITRsiAhBXIAEoAgRBAUYEQCABKAIIIAEoAgwQqAEACyABKAIIIQMgACACNgIAIAAgAzYCBCABQRBqJAALYQEBfyMAQRBrIgUkACABRQRAEM4BAAsgBUEIaiABIAMgBCACKAIQEQEAIAUoAgwhASAAIAUoAggiAjYCCCAAIAFBACACQQFxIgIbNgIEIABBACABIAIbNgIAIAVBEGokAAtaAQF/AkAgA0EASA0AAkAgA0UEQEEBIQEMAQtBASEEIANBARDMASIBRQ0BCyAAIAE2AgQgACADNgIAIAMEQCABIAIgA/wKAAALIAAgAzYCCA8LIAQgAxCoAQALXgEBfyABKAIAIgRBAXEEQCAAIAEgBCAEQX5xIAIgAxBODwsgBCAEKAIIIgFBAWo2AgggAUEATgRAIAAgBDYCDCAAIAM2AgggACACNgIEIABB/LHAADYCAA8LEMYBAAteAQJ/IwBBEGsiBSQAIAVBCGogASgCACAENQIAEFhBASEEIAUoAgwhBiAFKAIIQQFxRQRAIAFBBGogAiADECUgBhDDAUEAIQQLIAAgBjYCBCAAIAQ2AgAgBUEQaiQAC18BAn8jAEEQayIFJAAgBUEIaiABKAIAIAQrAwAQswFBASEEIAUoAgwhBiAFKAIIQQFxRQRAIAFBBGogAiADECUgBhDDAUEAIQQLIAAgBjYCBCAAIAQ2AgAgBUEQaiQAC1sBAX8jAEEQayIFJAAgAUUEQBDOAQALIAVBCGogASADIAQgAigCEBEBACAAIAUtAAgiATYCCCAAIAUoAgxBACABGzYCBCAAQQAgBS0ACSABGzYCACAFQRBqJAALXAEBfyMAQSBrIgUkACAFIAE2AgQgBSAANgIAIAUgAzYCDCAFIAI2AgggBSAFQQhqrUKAgICA0AyENwMYIAUgBa1CgICAgJAMhDcDEEHHhMAAIAVBEGogBBCCAQALWQEBfyMAQRBrIgQkACABRQRAEM4BAAsgBEEIaiABIAMgAigCEBECACAAIAQtAAgiATYCCCAAIAQoAgxBACABGzYCBCAAQQAgBC0ACSABGzYCACAEQRBqJAALWwEBfyABKAIAIgRBAXEEQCAAIAEgBCAEIAIgAxBODwsgBCAEKAIIIgFBAWo2AgggAUEATgRAIAAgBDYCDCAAIAM2AgggACACNgIEIABB/LHAADYCAA8LEMYBAAtJAQF/IwBBEGsiAiQAIAEgACgCACIAQX9zQR92QQFBACAAIABBH3UiAXMgAWsgAkEGaiIBECciACABakEKIABrEBsgAkEQaiQAC1UBAX8jAEEQayIGJAAgAUUEQBDOAQALIAZBCGogASADIAQgBSACKAIQEQUAIAYoAgwhASAAIAYoAggiAjYCBCAAIAFBACACQQFxGzYCACAGQRBqJAALVQEBfyMAQRBrIgYkACABRQRAEM4BAAsgBkEIaiABIAMgBCAFIAIoAhAREwAgBigCDCEBIAAgBigCCCICNgIEIAAgAUEAIAJBAXEbNgIAIAZBEGokAAtVAQF/IwBBEGsiBiQAIAFFBEAQzgEACyAGQQhqIAEgAyAEIAUgAigCEBEUACAGKAIMIQEgACAGKAIIIgI2AgQgACABQQAgAkEBcRs2AgAgBkEQaiQAC1UBAX8jAEEQayIGJAAgAUUEQBDOAQALIAZBCGogASADIAQgBSACKAIQERUAIAYoAgwhASAAIAYoAggiAjYCBCAAIAFBACACQQFxGzYCACAGQRBqJAALUwEBfyMAQRBrIgUkACABRQRAEM4BAAsgBUEIaiABIAMgBCACKAIQEQEAIAUoAgwhASAAIAUoAggiAjYCBCAAIAFBACACQQFxGzYCACAFQRBqJAALUQEBfyMAQRBrIgQkACABRQRAEM4BAAsgBEEIaiABIAMgAigCEBECACAEKAIMIQEgACAEKAIIIgI2AgQgACABQQAgAkEBcRs2AgAgBEEQaiQAC0sAIAEoAgAiAUEBcQRAIAFBfnEhASADBEAgASACIAP8CgAACyAAIAM2AgggACABNgIEIAAgAiABayADajYCAA8LIAAgASACIAMQQAtQAgF/AX4jAEEgayIDJAAgAyABNgIMIAMgADYCCCADQoCAgIDgByIEIANBCGqthDcDGCADIAQgA0EMaq2ENwMQQYGCwAAgA0EQaiACEIIBAAtHAQF/IAAoAgAgACgCCCIDayACSQRAIAAgAyACEFIgACgCCCEDCyACBEAgACgCBCADaiABIAL8CgAACyAAIAIgA2o2AghBAAtDAQN/AkAgAkUNAANAIAAtAAAiBCABLQAAIgVGBEAgAEEBaiEAIAFBAWohASACQQFrIgINAQwCCwsgBCAFayEDCyADC5ADAQp/IAAoAgAiACgCCCIMIAAoAgBGBEAjAEEQayIJJAAgCUEIaiENIAAoAgAhBSMAQRBrIggkACAIQQRqIQYgACIHKAIEIQ4CQAJAQQQgBUEBaiIFIAcoAgAiCkEBdCILIAUgC0sbIgUgBUEETRsiCyIFQf////8ATQRAIAVBBHQiBUH9////B0kNAQsgBkEANgIEIAZBATYCAAwBCwJ/IAoEQCAOIApBBHRBBCAFELcBDAELIAVBBBDMAQsiCkUEQCAGIAU2AgggBkEENgIEIAZBATYCAAwBCyAGIAU2AgggBiAKNgIEIAZBADYCAAsCfyAIKAIEBEAgCCgCDCEHIAgoAggMAQsgCCgCCCEGIAcgCzYCACAHIAY2AgRBgYCAgHgLIQYgDSAHNgIEIA0gBjYCACAIQRBqJAAgCSgCCCIHQYGAgIB4RwRAIAcgCSgCDBCoAQALIAlBEGokAAsgACgCBCAMQQR0aiIHIAQ2AgwgByADNgIIIAcgAjYCBCAHIAE2AgAgACAMQQFqNgIIC0QAIAEoAgAiAUEBcQRAIAMEQCABIAIgA/wKAAALIAAgAzYCCCAAIAE2AgQgACACIAFrIANqNgIADwsgACABIAIgAxBAC0cBAX8gACgCACAAKAIIIgNrIAJJBEAgACADIAIQVSAAKAIIIQMLIAIEQCAAKAIEIANqIAEgAvwKAAALIAAgAiADajYCCEEAC0MBAn8jAEEQayICJAAgAkEIaiAAKAIAJQEQBCACKAIIIgMgAigCDCIAIAEQ0gEgAARAIAMgAEEBEMIBCyACQRBqJAALNgEBfyMAQRBrIgIkACABQQFBAUEAIAAoAgAgAkEGaiIBECciACABakEKIABrEBsgAkEQaiQAC7IEAgh/A34jAEEgayIGJAAgAUEBQQFBACAGQQxqIQRBACEBQRQhAiAAKQMAIgwiCkLoB1oEQCAEQQRrIQIgCiELAkACQANAIAsgC0KQzgCAIgpCkM4Afn2nIgdB//8DcUHkAG4hBQJAIAFBFGoiAEEEa0EUSQRAIAJBFGoiAyAFQQF0IggtAPDYQDoAACAAQQNrIglBFEkNASAJQRRBuNrAABBzAAsgAEEEa0EUQbjawAAQcwALIANBAWogCEHx2MAAai0AADoAACAAQQJrQRRJBEAgA0ECaiAHIAVB5ABsa0EBdEH+/wdxIgUtAPDYQDoAACAAQQFrQRRPDQIgA0EDaiAFQfHYwABqLQAAOgAAIAJBBGshAiABQQRrIQEgC0L/rOIEViAKIQtFDQMMAQsLIABBAmtBFEG42sAAEHMACyAAQQFrQRRBuNrAABBzAAsgAUEUaiECCwJAIApCCVgEQCACIQEMAQsgCqciA0H//wNxQeQAbiEAAkAgAkECayIBQRRJBEAgASAEaiADIABB5ABsa0H//wNxQQF0IgMtAPDYQDoAACACQQFrIgJBFE8NASAArSEKIAIgBGogA0Hx2MAAai0AADoAAAwCCyABQRRBuNrAABBzAAsgAkEUQbjawAAQcwALIAxQRSAKUHFFBEAgAUEBayIBQRRPBEAgAUEUQbjawAAQcwALIAEgBGogCqdBAXQtAPHYQDoAAAsgASAEakEUIAFrEBsgBkEgaiQAC0gBAX9BGEEEEMwBIgFFBEBBBEEYENABAAsgAUEANgIIIAFCgICAgMAANwIAIAEgACkCADcCDCABQRRqIABBCGooAgA2AgAgAQs9ACAAKAIAIgAgACgCECIBQQFrNgIQIAFBAUYEQCAAKAIAIgEEQCAAKAIEIAFBARDCAQsgAEEUQQQQwgELC0YBAn8gASgCBCECIAEoAgAhA0EIQQQQzAEiAUUEQEEEQQgQ0AEACyABIAI2AgQgASADNgIAIABB+MzAADYCBCAAIAE2AgALQwEBfyABKAIAIgEgASgCCCIEQQFqNgIIIARBAEgEQBDGAQALIAAgATYCDCAAIAM2AgggACACNgIEIABB/LHAADYCAAtDAQF/IAEoAgAiASABKAIQIgRBAWo2AhAgBEEASARAEMYBAAsgACABNgIMIAAgAzYCCCAAIAI2AgQgAEHIs8AANgIACz8CAX8BfiMAQRBrIgEkACABQoCAgIDgByICIACthDcDCCABIAIgAEEEaq2ENwMAQaCBwAAgAUHcs8AAEIIBAAveAQIBfwF+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,KI=null;function tB(){return typeof performance!="undefined"?performance.now():Date.now()}function DE(){var B;const A=globalThis.process;return(B=A==null?void 0:A.versions)!=null&&B.node&&og.startsWith("/")?new URL(Object.assign({})[`../..${og}`],typeof document=="undefined"?require("url").pathToFileURL(__filename).href:VA&&VA.tagName.toUpperCase()==="SCRIPT"&&VA.src||new URL("gift-stage.cjs.js",document.baseURI).href):og}function OA(){return j!==null}async function oQ(){return j?!0:KI||(KI=(async()=>{try{return await iQ({module_or_path:DE()}),gQ(),j=sE,!0}catch(B){return console.warn("[GiftStage] WASM unavailable, using JS fallback:",B),!1}})(),KI)}function hE(B){if(!j)return null;try{return j.inflate(B)}catch(A){return null}}function wE(B){if(!j)return null;try{return cE(j.decode_svga(B))}catch(A){return null}}function nE(B){if(!j)return null;try{return j.decode_svga_payload(B)}catch(A){return null}}function rE(B){if(!j)return null;try{const A=tB(),I=typeof j.decode_svga_payload_profiled=="function"?j.decode_svga_payload_profiled(B):j.decode_svga_payload(B),g=tB()-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 eg(B,A,I){if(!j)return null;try{return j.build_batch_vertices(B,A,I)}catch(g){return null}}function cE(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(FE),D=((E=B.audios)!=null?E:[]).map(h=>{var w,n,F,c,r;return{audioKey:(w=h.audio_key)!=null?w:"",startFrame:(n=h.start_frame)!=null?n:0,endFrame:(F=h.end_frame)!=null?F:0,startTime:(c=h.start_time)!=null?c:0,totalTime:(r=h.total_time)!=null?r:0}});return{version:(o=B.version)!=null?o:"",params:e,images:a,spriteTable:IQ(s,e.frames),audios:D}}function FE(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,n;const F=Array.isArray(C.shapes)?C.shapes:[];let c;return F.length===0?(g=null,c=null):((E=F[0])==null?void 0:E.kind)==="keep"?c=g:(c=yE(F),g=c),{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:(n=C.clip_path)!=null?n:"",shapes:c}});return{imageKey:(I=B.image_key)!=null?I:"",frames:Q}}function sB(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 GE(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:sB(B==null?void 0:B.fill),stroke:sB(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 RE(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,a,t,s,D;if(!Array.isArray(B)||B.length===0)return null;const h=[];for(const w of B){const n=w==null?void 0:w.kind;if(n!=="path"&&n!=="rect"&&n!=="ellipse")continue;const F={kind:n,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:GE(w.style),transform:RE(w.transform)};h.push(F)}return h.length>0?h:null}var ME=Object.defineProperty,NE=(B,A,I)=>A in B?ME(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,ag=(B,A,I)=>NE(B,typeof A!="symbol"?A+"":A,I);class eQ{constructor(){ag(this,"floatPoolA",null),ag(this,"floatPoolB",null),ag(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 UA(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 aA(B,A,I){return B+(A-B)*I}function TI(B,A,I){return B<A?A:B>I?I:B}let SE=0;function aQ(){return`gift_${++SE}_${Date.now().toString(36)}`}const vI=8;function tQ(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 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(),n=t(),F=t(),c=t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"c":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),h=Q+t(),w=g+t(),n=Q+t(),F=g+t(),c=Q+t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"S":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,h=2*Q-i,w=t(),n=t(),F=t(),c=t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"s":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,h=2*Q-i,w=g+t(),n=Q+t(),F=g+t(),c=Q+t();JI(I,g,Q,D,h,w,n,F,c),o=w,i=n,g=F,Q=c}break}case"Q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=t(),h=t(),w=t(),n=t();DB(I,g,Q,D,h,w,n),o=D,i=h,g=w,Q=n}break}case"q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),h=Q+t(),w=g+t(),n=Q+t();DB(I,g,Q,D,h,w,n),o=D,i=h,g=w,Q=n}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 JI(B,A,I,g,Q,C,E,o,i){for(let e=1;e<=vI;e++){const a=e/vI,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 DB(B,A,I,g,Q,C,E){for(let o=1;o<=vI;o++){const i=o/vI,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 kE(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=UE(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],n=(h.x-D.x)*(w.y-D.y)-(h.y-D.y)*(w.x-D.x);if(!(C?n>0:n<0))continue;let c=!1;for(let r=0;r<i;r++)if(!(r===(e-1+i)%i||r===e||r===(e+1)%i)&&YE(B[g[r]],D,h,w)){c=!0;break}if(!c){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 UE(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 YE(B,A,I,g){const Q=tg(B,A,I),C=tg(B,I,g),E=tg(B,g,A),o=Q<0||C<0||E<0,i=Q>0||C>0||E>0;return!(o&&i)}function tg(B,A,I){return(B.x-I.x)*(A.y-I.y)-(A.x-I.x)*(B.y-I.y)}function DA(B){var A;return(A=B.options.objectFit)!=null?A:"contain"}function YA(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=DA(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 dE(B,A,I=2){const g=B.length;let Q=KE(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 RI(Q,C,I,E,o,i,0),C}function KE(B,A,I,g,Q){let C;if(Q===WE(B,A,I,g)>0)for(let E=A;E<I;E+=g)C=hB(E/g|0,B[E],B[E+1],C);else for(let E=I-g;E>=A;E-=g)C=hB(E/g|0,B[E],B[E+1],C);return C&&Qg(C,C.next)&&(yI(C),C=C.next),C}function GI(B,A){if(!B)return B;A||(A=B);let I=B,g;do if(g=!1,!I.steiner&&(Qg(I,I.next)||V(I.prev,I,I.next)===0)){if(yI(I),I=A=I.prev,I===I.next)break;g=!0}else I=I.next;while(g||I!==A);return A}function RI(B,A,I,g,Q,C,E){if(!B)return;!E&&C&&HE(B,g,Q,C);let o=B;for(;B.prev!==B.next;){const i=B.prev,e=B.next;if(C?LE(B,g,Q,C):JE(B)){A.push(i.i,B.i,e.i),yI(B),B=e.next,o=e.next;continue}if(B=e,B===o){E?E===1?(B=fE(GI(B),A),RI(B,A,I,g,Q,C,2)):E===2&&uE(B,A,I,g,Q,C):RI(GI(B),A,I,g,Q,C,1);break}}}function JE(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&&iI(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 LE(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),n=Math.max(a,t,s),F=Lg(D,h,A,I,g),c=Lg(w,n,A,I,g);let r=B.prevZ,G=B.nextZ;for(;r&&r.z>=F&&G&&G.z<=c;){if(r.x>=D&&r.x<=w&&r.y>=h&&r.y<=n&&r!==Q&&r!==E&&iI(o,a,i,t,e,s,r.x,r.y)&&V(r.prev,r,r.next)>=0||(r=r.prevZ,G.x>=D&&G.x<=w&&G.y>=h&&G.y<=n&&G!==Q&&G!==E&&iI(o,a,i,t,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<=w&&r.y>=h&&r.y<=n&&r!==Q&&r!==E&&iI(o,a,i,t,e,s,r.x,r.y)&&V(r.prev,r,r.next)>=0)return!1;r=r.prevZ}for(;G&&G.z<=c;){if(G.x>=D&&G.x<=w&&G.y>=h&&G.y<=n&&G!==Q&&G!==E&&iI(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 fE(B,A){let I=B;do{const g=I.prev,Q=I.next.next;!Qg(g,Q)&&sQ(g,I,I.next,Q)&&XI(g,Q)&&XI(Q,g)&&(A.push(g.i,I.i,Q.i),yI(I),yI(I.next),I=B=Q),I=I.next}while(I!==B);return GI(I)}function uE(B,A,I,g,Q,C){let E=B;do{let o=E.next.next;for(;o!==E.prev;){if(E.i!==o.i&&mE(E,o)){let i=TE(E,o);E=GI(E,E.next),i=GI(i,i.next),RI(E,A,I,g,Q,C,0),RI(i,A,I,g,Q,C,0);return}o=o.next}E=E.next}while(E!==B)}function HE(B,A,I,g){let Q=B;do Q.z===0&&(Q.z=Lg(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,qE(Q)}function qE(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 Lg(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 pE(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 iI(B,A,I,g,Q,C,E,o){return!(B===E&&A===o)&&pE(B,A,I,g,Q,C,E,o)}function mE(B,A){return B.next.i!==A.i&&B.prev.i!==A.i&&!xE(B,A)&&(XI(B,A)&&XI(A,B)&&bE(B,A)&&(V(B.prev,B,A.prev)||V(B,A.prev,A))||Qg(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 Qg(B,A){return B.x===A.x&&B.y===A.y}function sQ(B,A,I,g){const Q=fI(V(B,A,I)),C=fI(V(B,A,g)),E=fI(V(I,g,B)),o=fI(V(I,g,A));return!!(Q!==C&&E!==o||Q===0&&LI(B,I,A)||C===0&&LI(B,g,A)||E===0&&LI(I,B,g)||o===0&&LI(I,A,g))}function LI(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 fI(B){return B>0?1:B<0?-1:0}function xE(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&&sQ(I,I.next,B,A))return!0;I=I.next}while(I!==B);return!1}function XI(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 bE(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 TE(B,A){const I=fg(B.i,B.x,B.y),g=fg(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 hB(B,A,I,g){const Q=fg(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 yI(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 fg(B,A,I){return{i:B,x:A,y:I,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function WE(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 ZE(B,A){const I=tQ(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=dE(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 DQ=`function RA(A, I, g = 2) {
688
688
  const B = A.length;
689
689
  let Q = hA(A, 0, B, g, !0);
690
690
  const E = [];
@@ -1407,7 +1407,7 @@ IA.onmessage = (A) => {
1407
1407
  !I || I.type !== "build-svga-clip-meshes" || gI.push(() => QI(I));
1408
1408
  };
1409
1409
  //# sourceMappingURL=svga-clip-worker-wDNYvazX.js.map
1410
- `,wB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",DQ],{type:"text/javascript;charset=utf-8"});function VE(B){let A;try{if(A=wB&&(self.URL||self.webkitURL).createObjectURL(wB),!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(DQ),{type:"module",name:B==null?void 0:B.name})}}function $(B="Operation aborted"){const A=new Error(B);return A.name="AbortError",A}function KA(B){return B instanceof Error?B.name==="AbortError"?!0:"cause"in B&&KA(B.cause):!1}function Y(B,A){if(B!=null&&B.aborted)throw $(A)}var vE=Object.defineProperty,XE=(B,A,I)=>A in B?vE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,hg=(B,A,I)=>XE(B,typeof A!="symbol"?A+"":A,I);class OE{constructor(){hg(this,"active",0),hg(this,"maxConcurrent",1),hg(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 Xg=new OE;function Og(B){B!=null&&Xg.configure(B)}function jg(B,A){return Xg.run(B,A)}function jE(B){return Xg.acquire(B)}let tI=null,PE=1;const MI=new Map;function hQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function jI(B,A,I){tI===B&&(tI=null);try{B.terminate()}catch(g){}for(const[g,Q]of MI)Q.owner===B&&(MI.delete(g),hQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA clip worker restarted after another request was canceled")))}function zE(){if(!tI){const B=new VE;tI=B,B.addEventListener("message",A=>{var I;const g=A.data;if(!g||g.type!=="build-svga-clip-meshes-result")return;const Q=MI.get(g.id);if(!Q||Q.owner!==B)return;if(MI.delete(g.id),hQ(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=>{jI(B,new Error(A.message||"SVGA clip worker error"))}),B.addEventListener("messageerror",()=>{jI(B,new Error("SVGA clip worker message deserialization failed"))})}return tI}function wQ(){return typeof Worker!="undefined"}function _E(B,A={}){return wQ()?jg(()=>{Y(A.signal,"SVGA clip worker task aborted");const I=zE(),g=PE++;return new Promise((Q,C)=>{var E,o;const i={owner:I,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{jI(I,$("SVGA clip worker task aborted"),g)},MI.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){jI(I,e instanceof Error?e:new Error(String(e)))}})},A.signal):Promise.reject(new Error("SVGA clip worker unavailable"))}var $E=Object.defineProperty,Ai=(B,A,I)=>A in B?$E(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,uI=(B,A,I)=>Ai(B,typeof A!="symbol"?A+"":A,I);const nQ=1e3/60,Ii=2,gi=12,Bi=.25;function WI(){return typeof performance!="undefined"?performance.now():Date.now()}function Qi(){return new Promise(B=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>B());return}setTimeout(B,0)}).then(WI)}function Ci(B,A={}){var I,g,Q;const C=Math.max(.1,(I=A.minBudgetMs)!=null?I:Ii),E=Math.max(C,(g=A.maxBudgetMs)!=null?g:gi),o=Math.max(.05,Math.min(.95,(Q=A.frameFraction)!=null?Q:.5)),i=Number.isFinite(B)&&B>0?B:nQ;return Math.max(C,Math.min(E,i*o))}function Ei(B,A){return!Number.isFinite(A)||A<4||A>100?B:B+(A-B)*Bi}class ii{constructor(){uI(this,"frameIntervalMs",nQ),uI(this,"lastFrameAt",-1),uI(this,"sliceStartedAt",WI()),uI(this,"nextFramePromise",null)}budgetMs(A={}){return Ci(this.frameIntervalMs,A)}shouldYield(A={}){return WI()-this.sliceStartedAt>=this.budgetMs(A)}async yield(){this.nextFramePromise||(this.nextFramePromise=Qi().then(A=>{this.lastFrameAt>=0&&(this.frameIntervalMs=Ei(this.frameIntervalMs,A-this.lastFrameAt)),this.lastFrameAt=A,this.sliceStartedAt=WI()}).finally(()=>{this.nextFramePromise=null})),await this.nextFramePromise}}const wg=new ii;function QA(B={}){return{get budgetMs(){return wg.budgetMs(B)},shouldYield(){return wg.shouldYield(B)},yield(){return wg.yield()}}}function nB(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 Pg(B,A={x:0,y:0}){const I=B.options.transformOrigin;return A.x=B.x+nB(I==null?void 0:I.x,B.width,B.options.width)*B.scale,A.y=B.y+nB(I==null?void 0:I.y,B.height,B.options.height)*B.scale,A}function ZA(B,A,I,g,Q,C){const E=B.rotation||0,o=Math.cos(E),i=Math.sin(E),e=Pg(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 oi(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=Pg(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 qA(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=Pg(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 n=h-i.x,F=w-i.y,c=i.x+E*n-o*F,r=i.y+o*n+E*F;a=Math.min(a,c),t=Math.min(t,r),s=Math.max(s,c),D=Math.max(D,r)}return{x:a,y:t,w:s-a,h:D-t}}var ei=Object.defineProperty,ai=(B,A,I)=>A in B?ei(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,H=(B,A,I)=>ai(B,typeof A!="symbol"?A+"":A,I);const ng=2048,rg={x:0,y:0,w:1,h:1},zg=class qg{constructor(){H(this,"pool",new eQ),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(HA)),H(this,"instancedFrameDataScratch",new Float32Array(ng*HA)),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,"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}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&&wQ())try{const s=await _E(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(KA(s))throw s;console.warn("[GiftStage:SVGA] clip mesh worker failed, using main thread",s)}const a=QA({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=DA(o),s=YA(o,e,a),D=s.scaleX,h=s.scaleY,w=o.width*o.scale,n=o.height*o.scale,F=t==="cover"?w:Math.min(s.width,w),c=t==="cover"?n:Math.min(s.height,n),r=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 M=qA(o,r,G,F,c);A.setScissor(M.x,M.y,M.w,M.h),this.slotScissor.x=M.x,this.slotScissor.y=M.y,this.slotScissor.w=M.w,this.slotScissor.h=M.h;for(let y=0;y<i.spriteTable.spriteCount;y++){const R=i.spriteTable,S=o.currentFrame;if(S<0||S>=R.frameCount)continue;const N=(y*R.frameCount+S)*vg;if(R.frameData[N+8]*o.opacity<.05)continue;const U=OC(R,y,S),L=!!U&&U.length>0,l=this.acquireSpriteWork(o,y,R.frameData,N,D,h,s.offsetX,s.offsetY),f=(g=R.imageKeys[y])!=null?g:"",d=this.resolveSpriteTextureInto(o,f,l);if(!d&&!L){this.spriteWorkCursor--;continue}const u=jC(R,y,S),K=u.length>0?this.getClipMesh(u):null;if(L){C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),d&&(K&&K.indices.length>0?this.drawClippedSprite(A,l,K,Q):this.drawSingleSprite(A,l,Q)),this.drawShapeFrame(A,l,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,l,K,Q)):l.override?(C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),this.drawSingleSprite(A,l,Q)):(E&&E.id!==l.handle.id&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),C.push(l),E=l.handle,C.length>=ng&&(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:rg,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=rg,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=UA(0,this.canvasWidth,this.canvasHeight,0,-1,1),this.projCache)}drawBatch(A,I,g,Q){const C=Math.min(I.length,ng);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*HA);for(let F=0;F<C;F++)this.packFrameData(E,F,I[F]);const o=C*vA*rA,i=C*eI,e=this.pool.getFloat32B(o),a=this.pool.getUint32(i),t=new Float32Array(E.buffer,0,C*HA),s=new Float32Array(e.buffer,0,o),D=new Uint32Array(a.buffer,0,i);(!OA()||tg(t,s,D)===null)&&xI(t,s,D);const h=this.batchDrawCursor++,w=this.ensureVertexBuffer(A,h,s),n=this.ensureIndexBuffer(A,h,D);A.draw({shader:"svga-batch-premul",vertexBuffer:w,indexBuffer:n,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:n}=I,F=this.rotateTransform(E,t*o,s*i,D*o,h*i,w*o+E.x+e,n*i+E.y+a),{a:c,b:r,c:G,d:M,tx:y,ty:R}=F,S=this.getClipRect(g);if(S&&((C=E.rotation)!=null?C:0)===0&&cB(c,r,G,M)){this.applyClipRectScissor(A,S,c,M,y,R)&&this.drawSingleSprite(A,I,Q),this.restoreSlotScissor(A);return}const N=this.ensureClipMeshBuffers(A,g),U=this.packClipTransform(c,r,G,M,y,R),L={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(L),A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const W=this.instancedFrameDataScratch;this.packFrameData(W,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:W,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"}),this.clearClipStencil(A,g,N,U,Q);return}const l=this.clipFrameDataScratch;this.packFrameData(l,0,I);const f=vA*rA,d=eI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<f)&&(this.clipSpriteVertsScratch=new Float32Array(f)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<d)&&(this.clipSpriteIndicesScratch=new Uint32Array(d));const u=this.clipSpriteVertsScratch,K=this.clipSpriteIndicesScratch;(!OA()||tg(l,u,K)===null)&&xI(l,u,K);const x=this.clipSpriteDrawCursor++,X=this.ensureClipSpriteVertexBuffer(A,x,u.subarray(0,f)),gA=this.ensureClipSpriteIndexBuffer(A,x,K.subarray(0,d)),JA={shader:"svga-batch-premul",vertexBuffer:X,indexBuffer:gA,indexCount:d,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"};A.draw(JA),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=ti(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=vA*rA,E=eI;(!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;(!OA()||tg(Q,o,i)===null)&&xI(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,oi(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:n,sy:F,offsetX:c,offsetY:r}=g;let G=C||(w==null?void 0:w.logicalWidth)||0,M=E||(w==null?void 0:w.logicalHeight)||0,y=0,R=0;if((w==null?void 0:w.mode)==="dynamic"){const JA=C||w.logicalWidth,W=E||w.logicalHeight;G=w.logicalWidth,M=w.logicalHeight,y=Math.max(0,(JA-G)*.5),R=Math.max(0,(W-M)*.5)}const S=I*HA,N=o*n,U=i*F,L=e*n,l=a*F,f=this.rotateTransform(Q,N,U,L,l,t*n+N*y+L*R+Q.x+c,s*F+U*y+l*R+Q.y+r),{a:d,b:u,c:K,d:x,tx:X,ty:gA}=f;A[S]=G,A[S+1]=M,A[S+2]=d,A[S+3]=u,A[S+4]=K,A[S+5]=x,A[S+6]=X,A[S+7]=gA,A[S+8]=D*Q.opacity,A[S+9]=h.x,A[S+10]=h.y,A[S+11]=h.x+h.w,A[S+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=rg,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:n,tx:F,ty:c,alpha:r}=I,G=this.getWhiteTexture(A),M=this.rotateTransform(i,D*e,h*a,w*e,n*a,F*e+i.x+t,c*a+i.y+s),{a:y,b:R,c:S,d:N,tx:U,ty:L}=M,l=o.vertices,f=l.length/6*rA;(!this.shapeVertsScratch||this.shapeVertsScratch.length<f)&&(this.shapeVertsScratch=new Float32Array(f));const d=this.shapeVertsScratch;for(let W=0,oA=0;W<l.length;W+=6,oA+=rA){const UI=l[W],NA=l[W+1];d[oA]=y*UI+S*NA+U,d[oA+1]=R*UI+N*NA+L,d[oA+2]=0,d[oA+3]=l[W+2],d[oA+4]=l[W+3],d[oA+5]=l[W+4],d[oA+6]=l[W+5]*r*i.opacity,d[oA+7]=.5,d[oA+8]=.5}let u=!1,K=null,x=null;if(Q&&Q.indices.length>0){const W=this.getClipRect(Q);if(W&&((E=i.rotation)!=null?E:0)===0&&cB(y,R,S,N)){if(!this.applyClipRectScissor(A,W,y,N,U,L)){this.restoreSlotScissor(A);return}u=!0}else K=this.ensureClipMeshBuffers(A,Q),x=this.packClipTransform(y,R,S,N,U,L),A.draw({shader:"clip-mask",vertexBuffer:K.vertexBuf,indexBuffer:K.indexBuf,indexCount:Q.indices.length,textures:[],uniforms:{u_projection:C,u_transform:x},stencil:"write"})}const X=this.clipSpriteDrawCursor++,gA=this.ensureClipSpriteVertexBuffer(A,X,d.subarray(0,f)),JA=this.ensureClipSpriteIndexBuffer(A,X,o.indices);A.draw({shader:"svga-batch-premul",vertexBuffer:gA,indexBuffer:JA,indexCount:o.indices.length,textures:[G],uniforms:{u_projection:C,u_atlas:0},stencil:K?"test":"none"}),K&&x&&Q&&this.clearClipStencil(A,Q,K,x,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 tQ((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=kE(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,n=this.clamp01(I.r),F=this.clamp01(I.g),c=this.clamp01(I.b),r=this.clamp01(I.a);Q.push(i.x-D,i.y-h,n,F,c,r),Q.push(i.x+D,i.y+h,n,F,c,r),Q.push(e.x+D,e.y+h,n,F,c,r),Q.push(e.x-D,e.y-h,n,F,c,r),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=ZE(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(qg.INSTANCED_QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(qg.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(zg,"INSTANCED_QUAD_VERTS",new Float32Array([0,0,1,0,1,1,0,1]));H(zg,"INSTANCED_QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let rQ=zg;const rB=1e-4;function cB(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 ti(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,n=Math.abs(s-C)<=i;if(!D&&!h||!w&&!n)return null;e|=1<<((D?0:1)|(w?0:2))}return e!==15?null:{x:I,y:g,w:E,h:o}}var si=Object.defineProperty,Di=(B,A,I)=>A in B?si(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,tA=(B,A,I)=>Di(B,typeof A!="symbol"?A+"":A,I);const hi=4,wi=128*1024*1024,ni=2048*1024*1024,ri="gift-stage-resource-cache",ci=2,CA="resources",cg="byUpdatedAt",Fi=3e4;class Gi{constructor(A){tA(this,"maxConcurrent"),tA(this,"active",0),tA(this,"queue",[]),this.maxConcurrent=Math.max(1,A)}setMaxConcurrent(A){this.maxConcurrent=Math.max(1,A),this.drain()}async run(A){this.active>=this.maxConcurrent&&await new Promise(I=>{this.queue.push(I)}),this.active++;try{return await A()}finally{this.active--,this.drain()}}drain(){for(;this.active<this.maxConcurrent&&this.queue.length>0;){const A=this.queue.shift();A==null||A()}}}function Ri(){return typeof indexedDB!="undefined"}function yA(B){return B.length*2}function yi(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+=yA(E.key)+16;for(const E of B.audios)Q+=yA(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+=yA(E);for(const E of C.clipPaths)Q+=yA(E);for(const E of C.shapesTable)for(const o of E)Q+=yA((g=o.pathData)!=null?g:"")+96;return Q}function Fg(B){return typeof B=="string"?yA(B):B.byteLength}class Mi{constructor(){tA(this,"limiter",new Gi(hi)),tA(this,"pending",new Map),tA(this,"memory",new Map),tA(this,"memoryBytes",0),tA(this,"maxMemoryBytes",wi),tA(this,"maxPersistentBytes",ni),tA(this,"dbPromise",null),tA(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,yA(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,yA(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,yA(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 Ri()?(this.dbPromise||(this.dbPromise=new Promise(A=>{try{const I=indexedDB.open(ri,ci);I.onupgradeneeded=()=>{const g=I.result;let Q;g.objectStoreNames.contains(CA)?Q=I.transaction.objectStore(CA):Q=g.createObjectStore(CA,{keyPath:"key"}),Q.indexNames.contains(cg)||Q.createIndex(cg,"updatedAt",{unique:!1})},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,"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=i.sizeBytes||Fg(i.value);if(Date.now()-i.updatedAt>=Fi&&this.touchPersistent({...i,sizeBytes:e,updatedAt:Date.now()}),I==="arrayBuffer"){Q(i.value);return}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=Fg(g);await new Promise(E=>{try{const o=Q.transaction(CA,"readwrite");o.onerror=()=>E(),o.onabort=()=>E();const e=o.objectStore(CA).put({key:A,kind:I,value:g,sizeBytes:C,updatedAt:Date.now()});e.onsuccess=()=>E(),e.onerror=()=>E()}catch(o){E()}}),this.schedulePersistentTrim()}async touchPersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction(CA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(CA).put(A);E.onsuccess=()=>g(),E.onerror=()=>g()}catch(Q){g()}})}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,"readwrite");g.oncomplete=()=>I(),g.onerror=()=>I(),g.onabort=()=>I();const Q=g.objectStore(CA),C=Q.index(cg),E=[];let o=0;const i=C.openCursor();i.onsuccess=()=>{const e=i.result;if(e){const t=e.value,s=t.sizeBytes||Fg(t.value);o+=s,E.push({key:t.key,sizeBytes:s}),e.continue();return}if(o<=this.maxPersistentBytes)return;let a=o;for(const t of E){if(a<=this.maxPersistentBytes)break;Q.delete(t.key),a-=t.sizeBytes}},i.onerror=()=>I()}catch(g){I()}})}async deletePersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction(CA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(CA).delete(A);E.onsuccess=()=>g(),E.onerror=()=>g()}catch(Q){g()}})}}const hA=new Mi;function Ni(B){hA.configure(B)}function pg(B){return hA.runLimited(B)}function xA(B,A){return hA.fetchArrayBuffer(B,A)}function Si(B,A){return hA.fetchJSON(B,A)}function _g(B){return hA.getSVGAWorkerPayload(B)}function FB(B,A){hA.setSVGAWorkerPayload(B,A)}function li(B,A){return hA.getMemoryValue(B,A)}function cQ(B,A,I,g){hA.setMemoryValue(B,A,I,g)}function ki(B){return hA.getPersistedArrayBuffer(B)}function Ui(B,A){return hA.setPersistedArrayBuffer(B,A)}function Yi(B){return hA.deletePersistedValue(B)}async function mg(B){const A=typeof B=="string"?await Si(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 pA(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 di=Object.defineProperty,Ki=(B,A,I)=>A in B?di(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,EA=(B,A,I)=>Ki(B,typeof A!="symbol"?A+"":A,I);class FQ{constructor(){EA(this,"frameInfo",new Map),EA(this,"pending",new Set),EA(this,"lastHandle",new Map),EA(this,"started",new Set),EA(this,"firstUploaded",new Set),EA(this,"forceTimeFallback",new Set),EA(this,"lastArmAt",new Map),EA(this,"lastCallbackAt",new Map),EA(this,"lastProgressAt",new Map),EA(this,"lastRecoveryAt",new Map),EA(this,"stallLogged",new Set),EA(this,"stagnationLogged",new Set),EA(this,"lastTimeFallback",new Map)}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);const g=(Q,C)=>{this.frameInfo.set(A,C),this.lastCallbackAt.set(A,performance.now()),this.pending.add(A);try{this.lastArmAt.set(A,performance.now());const E=I.requestVideoFrameCallback(g);this.lastHandle.set(A,E)}catch(E){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)}}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){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 GQ=new Float32Array([0,0,1,1]);function PI(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 Ji=3;function Li(){return typeof document!="undefined"&&typeof document.createElement=="function"}function jA(B,A){if(!Li())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 PA(B,A){const I=B.getContext("2d",A);if(!I)throw new Error("Failed to acquire 2D canvas context");return I}function RQ(B){return!!B&&typeof B=="object"&&typeof B.text=="string"}function fi(B){return!!B&&typeof B=="object"&&"image"in B}function yQ(B){return!!B&&typeof B=="object"&&"image"in B}function GB(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 zI(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 zA(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 xg(B){if(typeof ImageData!="undefined"&&B instanceof ImageData){const A=jA(B.width,B.height);return PA(A).putImageData(B,0,0),A}return B}function ui(B){const A=/^\[(.+)\]$/.exec(B);return A?A[1]:B}function Hi(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 _A(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function qi(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 pi(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 _A(g)?g:void 0}function RB(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 mi(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=RB(B,A,I,D);h.width<=Q&&h.height<=C?(a=D,t=h,i=D):e=D}return B.font=g(a),t=RB(B,A,I,a),{fontSize:a,metrics:t}}function MQ(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=jA(1,1),h=PA(D),w=(Q=g.color)!=null?Q:"#ffffff",n=Math.max(0,(C=g.padding)!=null?C:2),F=Math.max(1,t-n*2),c=Math.max(1,s-n*2),r=Math.max(1,(i=(o=(E=g.maxFontSize)!=null?E:g.fontSize)!=null?o:pi(g.fontStyle))!=null?i:Math.max(8,c)),G=Math.max(1,Math.min((e=g.minFontSize)!=null?e:8,r)),M=w,y=`${g.style==="b"?"bold ":""}${r*a}px Arial`,R=Hi(g.fontStyle,y,M),S=d=>qi(R.font,d*a),N=mi(h,I,a,S,F,c,G,_A(g.fontSize)?Math.min(g.fontSize,r):r),U=g.sizing==="intrinsic"?Math.max(1,Math.min(t,Math.ceil(N.metrics.width+n*2))):t,L=g.sizing==="intrinsic"?Math.max(1,Math.min(s,Math.ceil(N.metrics.height+n*2))):s,l=jA(U*a,L*a),f=PA(l);return f.clearRect(0,0,l.width,l.height),f.textAlign="center",f.textBaseline="middle",f.font=S(N.fontSize),f.fillStyle=R.color,f.fillText(I,l.width/2,l.height/2),{canvas:l,logicalWidth:U,logicalHeight:L}}async function xi(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 n=a.imageKeys[w];t.has(n)&&s.set(n,w)}const D=new Map,{frameCount:h}=a;for(const w of A){const n=s.get(w);if(n==null){const y=B.atlasRects.get(w);D.set(w,{width:(y==null?void 0:y.w)||1,height:(y==null?void 0:y.h)||1,renderScale:1});continue}let F=0,c=0,r=Number.POSITIVE_INFINITY;for(let y=0;y<h;y++){const R=(n*h+y)*9,S=(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,L=(o=a.frameData[R+3])!=null?o:0,l=(i=a.frameData[R+4])!=null?i:0,f=(e=a.frameData[R+5])!=null?e:1;if(F=Math.max(F,S),c=Math.max(c,N),S>0&&N>0){const d=Math.abs(U)*S+Math.abs(l)*N,u=Math.abs(L)*S+Math.abs(f)*N,K=d>0?d/S:1,x=u>0?u/N:1,X=Math.min(K||1,x||1);_A(X)&&(r=Math.min(r,X))}y+1<h&&I.shouldYield()&&(await I.yield(),g==null||g())}const G=_A(r)?r:1,M=B.atlasRects.get(w);D.set(w,{width:F||(M==null?void 0:M.w)||1,height:c||(M==null?void 0:M.h)||1,renderScale:G})}return D}function Gg(B,A){if(_A(B))return!_A(A)||A===1?B:B/A}async function bi(B,A,I,g=1){var Q,C,E;if(RQ(B)){const i=(Q=B.mode)!=null?Q:"dynamic",e=MQ(A,I,B.text,{scale:(C=B.scale)!=null?C:Ji,color:B.color,style:B.style,fontStyle:B.fontStyle,fontSize:Gg(B.fontSize,g),minFontSize:Gg(B.minFontSize,g),maxFontSize:Gg(B.maxFontSize,g),padding:B.padding,sizing:i==="dynamic"?"intrinsic":"box"});return{source:e.canvas,mode:i,logicalWidth:e.logicalWidth,logicalHeight:e.logicalHeight}}if(fi(B)){const i=typeof B.image=="string"?await zI(B.image):B.image,e=zA(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 zI(B),e=zA(i);return{source:i,mode:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}const o=zA(B);return{source:B,mode:"replace",logicalWidth:Math.max(1,o.width||A),logicalHeight:Math.max(1,o.height||I)}}async function Ti(B,A,I,g={}){var Q,C,E;const o=new Map;if(!I)return o;const i=Object.entries(I),e=QA({maxBudgetMs:g.frameBudgetMs}),a=await xi(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 bi(D,h.width,h.height,h.renderScale),n=zA(w.source),F=n.width||h.width,c=n.height||h.height,r=B.createTexture(w.source,{width:F,height:c,filter:"linear",premultiplyAlpha:!0});o.set(s,{texture:r,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 Wi(B,A){var I,g;if(!A)return;const Q=String(B.srcId),C=B.srcTag,E=ui(B.srcTag);return(g=(I=A[C])!=null?I:A[E])!=null?g:A[Q]}function Zi(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=MQ(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 Vi(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 vi(B){return typeof B=="string"?zI(B):yQ(B)?typeof B.image=="string"?zI(B.image):xg(B.image):xg(B)}async function Xi(B,A){const I=new Map;if(!B.src||B.src.length===0||!A)return I;for(const g of B.src){const Q=Wi(g,A);if(Q==null)continue;if(g.srcType==="txt"){if(GB(Q)){const e=xg(Q),a=zA(e);I.set(String(g.srcId),{source:e,width:Math.max(1,a.width),height:Math.max(1,a.height)});continue}const i=Zi(g,typeof Q=="string"||RQ(Q)?Q:String(Q),Vi(B,g.srcId));I.set(String(g.srcId),i);continue}const C=GB(Q)||typeof Q=="string"||yQ(Q)?Q:null;if(!C)continue;const E=await vi(C),o=zA(E);I.set(String(g.srcId),{source:E,width:Math.max(1,o.width),height:Math.max(1,o.height)})}return I}function Oi(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 ji(B,A){const I=jA(B,A),g=jA(B,A),Q=jA(1,1);return{compositeCanvas:I,compositeCtx:PA(I),rawCanvas:g,rawCtx:PA(g),scratchCanvas:Q,scratchCtx:PA(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,[a,t,s,D]=o.rgbFrame,[h,w,n,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 c=B.rawCtx.getImageData(0,0,i,e).data,r=B.compositeCtx.createImageData(B.width,B.height),G=r.data;for(let y=0;y<B.height;y++){const R=Math.min(e-1,Math.max(0,t+Math.floor(y/B.height*D))),S=Math.min(e-1,Math.max(0,w+Math.floor(y/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))),L=Math.min(i-1,Math.max(0,h+Math.floor(N/B.width*n))),l=(R*i+U)*4,f=(S*i+L)*4,d=c[f]/255,u=(y*B.width+N)*4,K=Q?1:d;G[u]=Math.round(c[l]*K),G[u+1]=Math.round(c[l+1]*K),G[u+2]=Math.round(c[l+2]*K),G[u+3]=Math.round(d*255)}}const M=(C=B.frameMap.get(g))!=null?C:[];for(const y of M){const R=(E=B.resources)==null?void 0:E.get(String(y.srcId));if(!R)continue;const[S,N,U,L]=y.frame,[l,f,d,u]=y.mFrame;if(U<=0||L<=0||d<=0||u<=0)continue;(B.scratchCanvas.width!==U||B.scratchCanvas.height!==L)&&(B.scratchCanvas.width=Math.max(1,Math.round(U)),B.scratchCanvas.height=Math.max(1,Math.round(L))),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,x=Math.max(0,Math.floor(S)),X=Math.max(0,Math.floor(N)),gA=Math.min(B.width,Math.ceil(S+U)),JA=Math.min(B.height,Math.ceil(N+L));for(let W=X;W<JA;W++){const oA=Math.min(B.scratchCanvas.height-1,Math.max(0,Math.floor((W-N)/L*B.scratchCanvas.height))),UI=Math.min(e-1,Math.max(0,f+Math.floor((W-N)/L*u)));for(let NA=x;NA<gA;NA++){const PQ=Math.min(B.scratchCanvas.width-1,Math.max(0,Math.floor((NA-S)/U*B.scratchCanvas.width))),zQ=Math.min(i-1,Math.max(0,l+Math.floor((NA-S)/U*d))),YI=(oA*B.scratchCanvas.width+PQ)*4,_Q=(UI*i+zQ)*4,$Q=K[YI+3]/255,AC=c[_Q]/255,bA=$Q*AC;if(bA<=0)continue;const SA=(W*B.width+NA)*4,IC=K[YI]/255*bA,gC=K[YI+1]/255*bA,BC=K[YI+2]/255*bA,QC=G[SA+3]/255,dI=1-bA;G[SA]=Math.round((IC+G[SA]/255*dI)*255),G[SA+1]=Math.round((gC+G[SA+1]/255*dI)*255),G[SA+2]=Math.round((BC+G[SA+2]/255*dI)*255),G[SA+3]=Math.round((bA+QC*dI)*255)}}}return B.compositeCtx.putImageData(r,0,0),B.compositeCanvas}var Pi=Object.defineProperty,zi=(B,A,I)=>A in B?Pi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,T=(B,A,I)=>zi(B,typeof A!="symbol"?A+"":A,I);const Rg=1024,MB=32,kI=class GA{constructor(){T(this,"instancedQuadVB",null),T(this,"instancedQuadIB",null),T(this,"quadVB",null),T(this,"quadIB",null),T(this,"rgbaWebGLQuadVB",null),T(this,"rgbaTopLeftQuadVB",null),T(this,"rgbaQuadIB",null),T(this,"wcDbgFirstDraw",new Set),T(this,"wcDbgNullWarns",new Map),T(this,"htmlGate",new FQ),T(this,"lastWcFrameRef",new Map),T(this,"scratchAtlasRemap",new Float32Array(4)),T(this,"instancePackScratch",new Float32Array(Rg*MB)),T(this,"scratchTransform",new Float32Array(16)),T(this,"processedHtmlGatesScratch",new Set),T(this,"vapVertexScratch",new Float32Array(24)),T(this,"projCacheW",0),T(this,"projCacheH",0),T(this,"projCache",null)}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")&&DA(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||DA(e)==="cover"||!e.vapConfig||g.push(e);if(g.length===0)return;this.instancedQuadVB||(this.instancedQuadVB=A.createBuffer(GA.QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(GA.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=UA(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+=Rg){const t=Math.min(Rg,e.length-a);for(let s=0;s<t;s++)this.fillVapInstanceData(e[a+s],i,s*MB);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}=pA(e),w=YA(A,D,h);ZA(A,A.x+w.offsetX,A.y+w.offsetY,w.width,w.height,s),I.set(s,g);const n=II(e.rgbFrame,a,t),F=II(e.aFrame,a,t),c=A.videoTextureHandle,r=PI(c.width,c.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(r,g+16);const G=g+20;I[G+0]=n.left,I[G+1]=n.right,I[G+2]=n.top,I[G+3]=n.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):yB(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):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=UA(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=DA(I),{w:n,h:F}=pA(t),c=YA(I,n,F);ZA(I,I.x+c.offsetX,I.y+c.offsetY,c.width,c.height,h);const r=II(t.rgbFrame,s,D),G=II(t.aFrame,s,D),M=I.videoTextureHandle,y=PI(M.width,M.height,I.wcAtlasRect,this.scratchAtlasRemap),R=this.vapVertexScratch;R[0]=0,R[1]=0,R[2]=r.left,R[3]=r.top,R[4]=G.left,R[5]=G.top,R[6]=1,R[7]=0,R[8]=r.right,R[9]=r.top,R[10]=G.right,R[11]=G.top,R[12]=1,R[13]=1,R[14]=r.right,R[15]=r.bottom,R[16]=G.right,R[17]=G.bottom,R[18]=0,R[19]=1,R[20]=r.left,R[21]=r.bottom,R[22]=G.left,R[23]=G.bottom,this.quadVB=this.ensureBuffer(A,this.quadVB,R,"vertex"),this.quadIB||(this.quadIB=A.createBuffer(GA.QUAD_INDICES,"index"));const S={shader:"vap",vertexBuffer:this.quadVB,indexBuffer:this.quadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:e,u_transform:h,u_atlasRemap:y,u_opacity:I.opacity,u_rgbPremultiplied:I.options.videoRGBAlphaMode!=="straight"?1:0,u_video:0}};if(w==="cover"){const N=qA(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(S),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=UA(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=DA(I),{w:e,h:a}=pA(E.info),t=YA(I,e,a);ZA(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?GA.RGBA_QUAD_VERTS_WEBGPU:GA.RGBA_QUAD_VERTS_WEBGL,"vertex"),s?this.rgbaTopLeftQuadVB=D:this.rgbaWebGLQuadVB=D),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(GA.QUAD_INDICES,"index")),i==="cover"){const h=qA(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:GQ,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=UA(0,o,i,0,-1,1),e=this.projCache),this.rgbaTopLeftQuadVB||(this.rgbaTopLeftQuadVB=A.createBuffer(GA.RGBA_QUAD_VERTS_WEBGPU,"vertex")),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(GA.QUAD_INDICES,"index"));const{info:a}=g,{w:t,h:s}=pA(a),D=YA(I,t,s);if(DA(I)==="cover"){const c=qA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(c.x,c.y,c.w,c.h)}else{const c=qA(I,I.x+D.offsetX,I.y+D.offsetY,D.width,D.height);A.setScissor(c.x,c.y,c.w,c.h)}const h=a.videoW>0?a.videoW:C.width,w=a.videoH>0?a.videoH:C.height,n=this.scratchTransform,F=this.scratchAtlasRemap;for(const c of E){const r=Q.resourceTextures.get(String(c.srcId));if(!r)continue;const[G,M,y,R]=c.frame,[,,S,N]=c.mFrame;if(y<=0||R<=0||S<=0||N<=0)continue;ZA(I,I.x+D.offsetX+G*D.scaleX,I.y+D.offsetY+M*D.scaleY,y*D.scaleX,R*D.scaleY,n);const U=II(c.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:[r,C],uniforms:{u_projection:e,u_transform:n,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}};T(kI,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));T(kI,"RGBA_QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));T(kI,"RGBA_QUAD_VERTS_WEBGPU",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));T(kI,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let NQ=kI;var _i=Object.defineProperty,$i=(B,A,I)=>A in B?_i(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,b=(B,A,I)=>$i(B,typeof A!="symbol"?A+"":A,I);const NB=1024,SB=12,$g=class oI{constructor(){b(this,"quadVB",null),b(this,"quadIB",null),b(this,"instancePackScratch",new Float32Array(NB*SB)),b(this,"projCacheW",0),b(this,"projCacheH",0),b(this,"projCache",null),b(this,"scratchTransform",new Float32Array(16)),b(this,"contentSizeScratch",{w:0,h:0}),b(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),b(this,"wcDbgFirstDraw",new Set),b(this,"wcDbgNullWarns",new Map),b(this,"htmlGate",new FQ),b(this,"lastWcFrameRef",new Map),b(this,"scratchAtlasRemap",new Float32Array(4)),b(this,"processedHtmlGatesScratch",new Set),b(this,"instancedTexturesScratch",[]),b(this,"instancedUniformsScratch",{u_projection:new Float32Array(16),u_video:0}),b(this,"instancedDrawCommand",{shader:"alpha-video-instanced",vertexBuffer:null,indexBuffer:null,indexCount:6,instanceCount:0,instanceData:this.instancePackScratch,textures:this.instancedTexturesScratch,uniforms:this.instancedUniformsScratch}),b(this,"geometryTexturesScratch",[]),b(this,"geometryUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:this.scratchAtlasRemap,u_opacity:1,u_rgbPremultiplied:1,u_video:0}),b(this,"geometryDrawCommand",{shader:"alpha-video",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.geometryTexturesScratch,uniforms:this.geometryUniformsScratch})}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(DA(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*SB),C++,C===NB&&(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=oI.alphaVideoContentSize(A,this.contentSizeScratch),C=YA(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=PI(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=DA(I),E=oI.alphaVideoContentSize(I,this.contentSizeScratch),o=YA(I,E.w,E.h,this.layoutScratch);ZA(I,I.x+o.offsetX,I.y+o.offsetY,o.width,o.height,Q),this.ensureQuadBuffers(A);const i=I.videoTextureHandle,e=PI(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=qA(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(oI.QUAD_VERTS,"vertex"),this.quadIB=A.createBuffer(oI.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=UA(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()}};b($g,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));b($g,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let SQ=$g;var Ao=Object.defineProperty,Io=(B,A,I)=>A in B?Ao(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,nA=(B,A,I)=>Io(B,typeof A!="symbol"?A+"":A,I);const Eg=class ZI{constructor(){nA(this,"webglQuadVB",null),nA(this,"topLeftQuadVB",null),nA(this,"quadIB",null),nA(this,"scratchTransform",new Float32Array(16)),nA(this,"projCacheW",0),nA(this,"projCacheH",0),nA(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=YA(I,g.width,g.height),C=I.x+Q.offsetX,E=I.y+Q.offsetY;ZA(I,C,E,Q.width,Q.height,this.scratchTransform);const o=A.type==="webgpu";let i=o?this.topLeftQuadVB:this.webglQuadVB;i||(i=A.createBuffer(o?ZI.QUAD_VERTS_TOP_LEFT:ZI.QUAD_VERTS_WEBGL,"vertex"),o?this.topLeftQuadVB=i:this.webglQuadVB=i),this.quadIB||(this.quadIB=A.createBuffer(ZI.QUAD_INDICES,"index"));const e=A.canvas.width,a=A.canvas.height;(!this.projCache||this.projCacheW!==e||this.projCacheH!==a)&&(this.projCacheW=e,this.projCacheH=a,this.projCache=UA(0,e,a,0,-1,1));const t=DA(I)==="cover";if(t){const s=qA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(s.x,s.y,s.w,s.h)}A.draw({shader:"rgba-textured",vertexBuffer:i,indexBuffer:this.quadIB,indexCount:6,textures:[g],uniforms:{u_projection:this.projCache,u_transform:this.scratchTransform,u_atlasRemap:GQ,u_opacity:I.opacity,u_video:0}}),t&&A.resetScissor()}destroy(A){this.webglQuadVB&&A.deleteBuffer(this.webglQuadVB),this.topLeftQuadVB&&A.deleteBuffer(this.topLeftQuadVB),this.quadIB&&A.deleteBuffer(this.quadIB),this.webglQuadVB=null,this.topLeftQuadVB=null,this.quadIB=null,this.projCache=null}};nA(Eg,"QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));nA(Eg,"QUAD_VERTS_TOP_LEFT",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));nA(Eg,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let lQ=Eg;var go=Object.defineProperty,Bo=(B,A,I)=>A in B?go(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,HI=(B,A,I)=>Bo(B,typeof A!="symbol"?A+"":A,I);class kQ{constructor(){HI(this,"animations",new Map),HI(this,"completedScratch",[]),HI(this,"individuallyPaused",new Set),HI(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;TI((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=TI((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return{x:aA(Q.startX,Q.targetX,E),y:aA(Q.startY,Q.targetY,E),scale:aA(Q.startScale,Q.targetScale,E),opacity:aA(Q.startOpacity,Q.targetOpacity,E),rotation:aA(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=TI((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return A.x=aA(Q.startX,Q.targetX,E),A.y=aA(Q.startY,Q.targetY,E),A.scale=aA(Q.startScale,Q.targetScale,E),A.opacity=aA(Q.startOpacity,Q.targetOpacity,E),A.rotation=aA(Q.startRotation,Q.targetRotation,E),!0}hasAnimation(A){return this.animations.has(A)}hasActiveAnimations(){return this.animations.size>0}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 Qo=Object.defineProperty,Co=(B,A,I)=>A in B?Qo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,gI=(B,A,I)=>Co(B,typeof A!="symbol"?A+"":A,I);class UQ{constructor(){gI(this,"ctx",null),gI(this,"decodedCache",new Map),gI(this,"activeSources",[]),gI(this,"globalMute",!1),gI(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,io=(B,A,I)=>A in B?Eo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,TA=(B,A,I)=>io(B,typeof A!="symbol"?A+"":A,I);class oo{constructor(A,I){TA(this,"atlasW"),TA(this,"atlasH"),TA(this,"rowY",0),TA(this,"rowH",0),TA(this,"rowX",0),TA(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 eo(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=eo(B);if(g==null)throw new Error(`Invalid percentage coordinate: ${B}`);return A*g/100-I/2}function YQ(B,A,I,g,Q,C){return{x:lB(B,Q,I),y:lB(A,C,g)}}var ao=Object.defineProperty,to=(B,A,I)=>A in B?ao(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Z=(B,A,I)=>to(B,typeof A!="symbol"?A+"":A,I);class dQ{constructor(A){Z(this,"backend"),Z(this,"svgaBatch"),Z(this,"vapRenderer"),Z(this,"alphaVideoRenderer"),Z(this,"imageRenderer"),Z(this,"postAnimator"),Z(this,"audioManager"),Z(this,"slots"),Z(this,"handles"),Z(this,"rafId",null),Z(this,"lastTime",0),Z(this,"running",!1),Z(this,"forceNextDraw",!0),Z(this,"onAnimationFrame",I=>this.renderLoop(I)),Z(this,"finishedSlotIdsScratch",[]),Z(this,"videoRunMapScratch",new Map),Z(this,"wcAtlas",null),Z(this,"wcDbgTickOnce",new Set),Z(this,"advancedSharedWebCodecsScratch",new Set),Z(this,"activeSharedWebCodecsScratch",new Set),Z(this,"orderedSlotsScratch",[]),this.backend=A,this.svgaBatch=new rQ,this.vapRenderer=new NQ,this.alphaVideoRenderer=new SQ,this.imageRenderer=new lQ,this.postAnimator=new kQ,this.audioManager=new UQ,this.slots=new Map,this.handles=new Map}addSlot(A,I){this.slots.set(A.id,A),this.handles.set(A.id,I),this.forceNextDraw=!0,this.running||this.start()}releaseSlotResources(A){var I,g,Q,C,E,o,i,e,a;if((I=A.loadAbortController)==null||I.abort(),A.loadAbortController=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),this.forceNextDraw=!0,this.slots.size===0&&(this.clearFrameOnce(),this.stop())}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 oo(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}=fg(this.backend.canvas);this.forceNextDraw=!0;for(const g of this.slots.values()){if(this.postAnimator.hasAnimation(g.id))continue;const Q=g.options,C=YQ(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}}start(){this.running||(this.running=!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(),this.svgaBatch.beginFrame(this.backend),this.backend.endFrame()}pause(){this.postAnimator.pauseAll(),this.stop()}resume(){this.postAnimator.resumeAll(),this.slots.size>0&&!this.running&&this.start()}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,this.backend.beginFrame(),this.svgaBatch.beginFrame(this.backend);for(const o of this.getRenderLayers())this.drawLayer(o);this.backend.endFrame()}this.rafId=requestAnimationFrame(this.onAnimationFrame)}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;const E=A.videoEntity,o=E.params.fps,i=E.params.frames;if(o<=0||i<=0)return!1;const e=1/o,a=A.currentFrame;A.accumulatedTime+=I;const t=Math.floor(A.accumulatedTime/e);if(t<=0)return!1;A.accumulatedTime-=t*e;const s=(C=A.options.loop)!=null?C:1,D=A.loopCount*i+A.currentFrame+t;return s===0?(A.loopCount=Math.floor(D/i),A.currentFrame=D%i):D>=s*i?(A.loopCount=s,A.currentFrame=i-1,this.onGiftPlayComplete(A,g,Q)):(A.loopCount=Math.floor(D/i),A.currentFrame=D%i),A.currentFrame=Math.max(0,Math.min(A.currentFrame,i-1)),A.currentFrame!==a&&this.audioManager.tickFrame(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.orderedSlotsScratch;A.length=0;for(const I of this.slots.values())I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped"||A.push(I);return A.sort((I,g)=>{var Q,C,E,o;const i=(Q=I.zIndex)!=null?Q:0,e=(C=g.zIndex)!=null?C:0;return i!==e?i-e:((E=I.renderOrder)!=null?E:0)-((o=g.renderOrder)!=null?o:0)}),A}getRenderLayers(){var A,I;const g=this.getRenderOrderedSlots();if(g.length===0)return[];const Q=[];let C=[],E=(A=g[0].zIndex)!=null?A:0;for(const o of g){const i=(I=o.zIndex)!=null?I:0;C.length>0&&i!==E&&(Q.push(this.collapseCoincidentVisualDuplicates(C)),C=[],E=i),C.push(o)}return C.length>0&&Q.push(this.collapseCoincidentVisualDuplicates(C)),Q}collapseCoincidentVisualDuplicates(A){if(A.length<2)return A;const I=new Set,g=[];for(let Q=A.length-1;Q>=0;Q-=1){const C=A[Q],E=this.getCoincidentVisualKey(C);E&&I.has(E)||(E&&I.add(E),g.push(C))}return g.reverse(),g}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]),Q=[];for(const C of A){const E=this.getBatchKey(C);(C.type!==I||E!==g)&&Q.length>0&&(this.drawSlotRun(I,Q),Q=[]),I=C.type,g=E,Q.push(C)}Q.length>0&&this.drawSlotRun(I,Q)}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 n=`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:n,d0:D,d1:h,d2:null},n}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.backend.destroy()}}function kB(){return typeof DecompressionStream!="undefined"}function BA(){return typeof performance!="undefined"?performance.now():Date.now()}function KQ(B){return B instanceof Error?`${B.name}: ${B.message}`:String(B)}async function so(B,A,I){const g=I?BA():0,Q=I?{inputBytes:B.byteLength,nativeAvailable:kB(),nativeAttempts:[]}:null,C=(o,i)=>(Q&&(Q.selectedPath=i,Q.outputBytes=o.byteLength,Q.totalMs=BA()-g,I==null||I(Q)),o),E=o=>{throw Q&&(Q.error=KQ(o),Q.totalMs=BA()-g,I==null||I(Q)),o};if(kB())try{return C(await bg(B,Q!=null?Q:void 0),"native")}catch(o){}try{const o=Q?BA():0,i=A();return Q&&(Q.wasmMs=BA()-o),i?C(i,"wasm"):C(await bg(B,Q!=null?Q:void 0),"native-retry")}catch(o){return E(o)}}async function bg(B,A){if(typeof DecompressionStream!="undefined"){try{return await yg(B,"deflate",A==null?void 0:A.nativeAttempts)}catch(I){}try{return await yg(B.slice(2),"deflate-raw",A==null?void 0:A.nativeAttempts)}catch(I){}return yg(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 yg(B,A,I){const g=I?BA():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?BA():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=BA()-i);const t=[];let s=0;const D=Q?BA():0;for(;;){const{done:F,value:c}=await o.read();if(F)break;t.push(c),s+=c.length}await Promise.all([e,a]),Q&&(Q.readMs=BA()-D,Q.outputChunks=t.length,Q.outputBytes=s);const h=Q?BA():0,w=new Uint8Array(s);let n=0;for(const F of t)w.set(F,n),n+=F.length;return Q&&(Q.concatMs=BA()-h,Q.totalMs=BA()-g,Q.status="success"),w}catch(C){throw Q&&(Q.totalMs=BA()-g,Q.error=KQ(C)),C}finally{Q&&(I==null||I.push(Q))}}typeof TextEncoder!="undefined"&&new TextEncoder;const UB=typeof TextDecoder!="undefined"?new TextDecoder:null;function JQ(B){const A=B instanceof Uint8Array?B:new Uint8Array(B);return UB?UB.decode(A):Do(A)}function Do(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 ho=Object.defineProperty,wo=(B,A,I)=>A in B?ho(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Mg=(B,A,I)=>wo(B,typeof A!="symbol"?A+"":A,I);const no=0,ro=1,co=2,Fo=5;class AB{constructor(A,I=0,g){Mg(this,"view"),Mg(this,"pos"),Mg(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 JQ(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 no:this.readVarint();break;case ro:this.pos+=8;break;case co:this.pos+=this.readVarint();break;case Fo:this.pos+=4;break}}sub(A){const I=new AB(new Uint8Array(this.view.buffer,this.view.byteOffset),this.pos,A);return this.pos+=A,I}}function Go(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 Ro(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 LQ(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 YB(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 yo(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=YB(B.sub(Q));break}case 2:{const Q=B.readVarint();A.stroke=YB(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 Mo(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 No(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 So(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 lo(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=Mo(B.sub(i));break}case 3:{const i=B.readVarint();g=No(B.sub(i));break}case 4:{const i=B.readVarint();Q=So(B.sub(i));break}case 10:{const i=B.readVarint();C=yo(B.sub(i));break}case 11:{const i=B.readVarint();E=LQ(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=Ro(B.sub(Q));break}case 3:{const Q=B.readVarint();A.transform=LQ(B.sub(Q));break}case 4:A.clipPath=B.readString();break;case 5:{const Q=B.readVarint(),C=lo(B.sub(Q));C&&I.push(C);break}default:B.skip(g.wire)}}return I.length>0&&(A.shapes=I),A}function Uo(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 Yo(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 Ko(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 Tg(B){const A=new AB(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=Go(A.sub(C));break}case 3:{const C=A.readVarint(),{key:E,value:o}=Ko(A.sub(C));g.images.set(E,o);break}case 4:{const C=A.readVarint();I.push(Uo(A.sub(C)));break}case 5:{const C=A.readVarint();g.audios.push(Yo(A.sub(C)));break}default:A.skip(Q.wire)}}return{version:g.version,params:g.params,images:g.images,spriteTable:IQ(I,g.params.frames),audios:g.audios}}function dB(B,A){B.f32(A.r),B.f32(A.g),B.f32(A.b),B.f32(A.a)}function KB(B){return{r:B.f32(),g:B.f32(),b:B.f32(),a:B.f32()}}function Jo(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&&dB(B,A.fill),A.stroke&&dB(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 Lo(B){const A=B.u8(),I=A&1?KB(B):null,g=A&2?KB(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 fo(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),Jo(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 uo(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=Lo(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 Ho(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 fo(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 fQ(B,A){const I=B.u32(),g=[];for(let c=0;c<I;c++)g.push(B.string()),await A();B.pad4();const Q=B.u32(),C=I*Q*VC;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 c=0;c<i;c++)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 c=0;c<D;c++){const r=B.u32(),G=[];for(let M=0;M<r;M++)G.push(uo(B)),await A();h.push(G)}B.pad4();const w=I*Q,n=B.position,F=new Int32Array(B.sourceBuffer(),n,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 qo=Object.defineProperty,po=(B,A,I)=>A in B?qo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Ng=(B,A,I)=>po(B,typeof A!="symbol"?A+"":A,I);const mo=1397182530,xo=2;function bo(B){return B+3&-4}let To=class{constructor(A){this.buffer=A,Ng(this,"view"),Ng(this,"bytes"),Ng(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=bo(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 JQ(this.bytesValue())}sourceBuffer(){return this.buffer}};async function uQ(B,A,I,g){const Q=QA({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 To(B);if(E.u32()!==mo)throw new Error("Invalid SVGA worker payload magic");if(E.u16()!==xo)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(),n=E.bytesRef();t.push({key:w,offset:n.offset,length:n.length}),await C()}const D=await fQ(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 HQ=`function iA() {
1410
+ `,wB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",DQ],{type:"text/javascript;charset=utf-8"});function VE(B){let A;try{if(A=wB&&(self.URL||self.webkitURL).createObjectURL(wB),!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(DQ),{type:"module",name:B==null?void 0:B.name})}}function $(B="Operation aborted"){const A=new Error(B);return A.name="AbortError",A}function KA(B){return B instanceof Error?B.name==="AbortError"?!0:"cause"in B&&KA(B.cause):!1}function Y(B,A){if(B!=null&&B.aborted)throw $(A)}var vE=Object.defineProperty,XE=(B,A,I)=>A in B?vE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,sg=(B,A,I)=>XE(B,typeof A!="symbol"?A+"":A,I);class OE{constructor(){sg(this,"active",0),sg(this,"maxConcurrent",1),sg(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 vg=new OE;function Xg(B){B!=null&&vg.configure(B)}function Og(B,A){return vg.run(B,A)}function jE(B){return vg.acquire(B)}let tI=null,PE=1;const MI=new Map;function hQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function OI(B,A,I){tI===B&&(tI=null);try{B.terminate()}catch(g){}for(const[g,Q]of MI)Q.owner===B&&(MI.delete(g),hQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA clip worker restarted after another request was canceled")))}function zE(){if(!tI){const B=new VE;tI=B,B.addEventListener("message",A=>{var I;const g=A.data;if(!g||g.type!=="build-svga-clip-meshes-result")return;const Q=MI.get(g.id);if(!Q||Q.owner!==B)return;if(MI.delete(g.id),hQ(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=>{OI(B,new Error(A.message||"SVGA clip worker error"))}),B.addEventListener("messageerror",()=>{OI(B,new Error("SVGA clip worker message deserialization failed"))})}return tI}function wQ(){return typeof Worker!="undefined"}function _E(B,A={}){return wQ()?Og(()=>{Y(A.signal,"SVGA clip worker task aborted");const I=zE(),g=PE++;return new Promise((Q,C)=>{var E,o;const i={owner:I,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{OI(I,$("SVGA clip worker task aborted"),g)},MI.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){OI(I,e instanceof Error?e:new Error(String(e)))}})},A.signal):Promise.reject(new Error("SVGA clip worker unavailable"))}var $E=Object.defineProperty,Ai=(B,A,I)=>A in B?$E(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,uI=(B,A,I)=>Ai(B,typeof A!="symbol"?A+"":A,I);const nQ=1e3/60,Ii=2,gi=12,Bi=.25;function WI(){return typeof performance!="undefined"?performance.now():Date.now()}function Qi(){return new Promise(B=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>B());return}setTimeout(B,0)}).then(WI)}function Ci(B,A={}){var I,g,Q;const C=Math.max(.1,(I=A.minBudgetMs)!=null?I:Ii),E=Math.max(C,(g=A.maxBudgetMs)!=null?g:gi),o=Math.max(.05,Math.min(.95,(Q=A.frameFraction)!=null?Q:.5)),i=Number.isFinite(B)&&B>0?B:nQ;return Math.max(C,Math.min(E,i*o))}function Ei(B,A){return!Number.isFinite(A)||A<4||A>100?B:B+(A-B)*Bi}class ii{constructor(){uI(this,"frameIntervalMs",nQ),uI(this,"lastFrameAt",-1),uI(this,"sliceStartedAt",WI()),uI(this,"nextFramePromise",null)}budgetMs(A={}){return Ci(this.frameIntervalMs,A)}shouldYield(A={}){return WI()-this.sliceStartedAt>=this.budgetMs(A)}async yield(){this.nextFramePromise||(this.nextFramePromise=Qi().then(A=>{this.lastFrameAt>=0&&(this.frameIntervalMs=Ei(this.frameIntervalMs,A-this.lastFrameAt)),this.lastFrameAt=A,this.sliceStartedAt=WI()}).finally(()=>{this.nextFramePromise=null})),await this.nextFramePromise}}const Dg=new ii;function QA(B={}){return{get budgetMs(){return Dg.budgetMs(B)},shouldYield(){return Dg.shouldYield(B)},yield(){return Dg.yield()}}}function nB(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 jg(B,A={x:0,y:0}){const I=B.options.transformOrigin;return A.x=B.x+nB(I==null?void 0:I.x,B.width,B.options.width)*B.scale,A.y=B.y+nB(I==null?void 0:I.y,B.height,B.options.height)*B.scale,A}function ZA(B,A,I,g,Q,C){const E=B.rotation||0,o=Math.cos(E),i=Math.sin(E),e=jg(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 oi(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=jg(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 qA(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=jg(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 n=h-i.x,F=w-i.y,c=i.x+E*n-o*F,r=i.y+o*n+E*F;a=Math.min(a,c),t=Math.min(t,r),s=Math.max(s,c),D=Math.max(D,r)}return{x:a,y:t,w:s-a,h:D-t}}var ei=Object.defineProperty,ai=(B,A,I)=>A in B?ei(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,H=(B,A,I)=>ai(B,typeof A!="symbol"?A+"":A,I);const hg=2048,wg={x:0,y:0,w:1,h:1},Pg=class ug{constructor(){H(this,"pool",new eQ),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(HA)),H(this,"instancedFrameDataScratch",new Float32Array(hg*HA)),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,"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}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&&wQ())try{const s=await _E(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(KA(s))throw s;console.warn("[GiftStage:SVGA] clip mesh worker failed, using main thread",s)}const a=QA({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=DA(o),s=YA(o,e,a),D=s.scaleX,h=s.scaleY,w=o.width*o.scale,n=o.height*o.scale,F=t==="cover"?w:Math.min(s.width,w),c=t==="cover"?n:Math.min(s.height,n),r=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 M=qA(o,r,G,F,c);A.setScissor(M.x,M.y,M.w,M.h),this.slotScissor.x=M.x,this.slotScissor.y=M.y,this.slotScissor.w=M.w,this.slotScissor.h=M.h;for(let y=0;y<i.spriteTable.spriteCount;y++){const R=i.spriteTable,S=o.currentFrame;if(S<0||S>=R.frameCount)continue;const N=(y*R.frameCount+S)*Vg;if(R.frameData[N+8]*o.opacity<.05)continue;const U=OC(R,y,S),L=!!U&&U.length>0,l=this.acquireSpriteWork(o,y,R.frameData,N,D,h,s.offsetX,s.offsetY),f=(g=R.imageKeys[y])!=null?g:"",d=this.resolveSpriteTextureInto(o,f,l);if(!d&&!L){this.spriteWorkCursor--;continue}const u=jC(R,y,S),K=u.length>0?this.getClipMesh(u):null;if(L){C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),d&&(K&&K.indices.length>0?this.drawClippedSprite(A,l,K,Q):this.drawSingleSprite(A,l,Q)),this.drawShapeFrame(A,l,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,l,K,Q)):l.override?(C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),this.drawSingleSprite(A,l,Q)):(E&&E.id!==l.handle.id&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),C.push(l),E=l.handle,C.length>=hg&&(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:wg,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=wg,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=UA(0,this.canvasWidth,this.canvasHeight,0,-1,1),this.projCache)}drawBatch(A,I,g,Q){const C=Math.min(I.length,hg);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*HA);for(let F=0;F<C;F++)this.packFrameData(E,F,I[F]);const o=C*vA*nA,i=C*eI,e=this.pool.getFloat32B(o),a=this.pool.getUint32(i),t=new Float32Array(E.buffer,0,C*HA),s=new Float32Array(e.buffer,0,o),D=new Uint32Array(a.buffer,0,i);(!OA()||eg(t,s,D)===null)&&xI(t,s,D);const h=this.batchDrawCursor++,w=this.ensureVertexBuffer(A,h,s),n=this.ensureIndexBuffer(A,h,D);A.draw({shader:"svga-batch-premul",vertexBuffer:w,indexBuffer:n,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:n}=I,F=this.rotateTransform(E,t*o,s*i,D*o,h*i,w*o+E.x+e,n*i+E.y+a),{a:c,b:r,c:G,d:M,tx:y,ty:R}=F,S=this.getClipRect(g);if(S&&((C=E.rotation)!=null?C:0)===0&&cB(c,r,G,M)){this.applyClipRectScissor(A,S,c,M,y,R)&&this.drawSingleSprite(A,I,Q),this.restoreSlotScissor(A);return}const N=this.ensureClipMeshBuffers(A,g),U=this.packClipTransform(c,r,G,M,y,R),L={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(L),A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const W=this.instancedFrameDataScratch;this.packFrameData(W,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:W,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"}),this.clearClipStencil(A,g,N,U,Q);return}const l=this.clipFrameDataScratch;this.packFrameData(l,0,I);const f=vA*nA,d=eI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<f)&&(this.clipSpriteVertsScratch=new Float32Array(f)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<d)&&(this.clipSpriteIndicesScratch=new Uint32Array(d));const u=this.clipSpriteVertsScratch,K=this.clipSpriteIndicesScratch;(!OA()||eg(l,u,K)===null)&&xI(l,u,K);const x=this.clipSpriteDrawCursor++,X=this.ensureClipSpriteVertexBuffer(A,x,u.subarray(0,f)),gA=this.ensureClipSpriteIndexBuffer(A,x,K.subarray(0,d)),JA={shader:"svga-batch-premul",vertexBuffer:X,indexBuffer:gA,indexCount:d,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"};A.draw(JA),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=ti(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=vA*nA,E=eI;(!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;(!OA()||eg(Q,o,i)===null)&&xI(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,oi(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:n,sy:F,offsetX:c,offsetY:r}=g;let G=C||(w==null?void 0:w.logicalWidth)||0,M=E||(w==null?void 0:w.logicalHeight)||0,y=0,R=0;if((w==null?void 0:w.mode)==="dynamic"){const JA=C||w.logicalWidth,W=E||w.logicalHeight;G=w.logicalWidth,M=w.logicalHeight,y=Math.max(0,(JA-G)*.5),R=Math.max(0,(W-M)*.5)}const S=I*HA,N=o*n,U=i*F,L=e*n,l=a*F,f=this.rotateTransform(Q,N,U,L,l,t*n+N*y+L*R+Q.x+c,s*F+U*y+l*R+Q.y+r),{a:d,b:u,c:K,d:x,tx:X,ty:gA}=f;A[S]=G,A[S+1]=M,A[S+2]=d,A[S+3]=u,A[S+4]=K,A[S+5]=x,A[S+6]=X,A[S+7]=gA,A[S+8]=D*Q.opacity,A[S+9]=h.x,A[S+10]=h.y,A[S+11]=h.x+h.w,A[S+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=wg,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:n,tx:F,ty:c,alpha:r}=I,G=this.getWhiteTexture(A),M=this.rotateTransform(i,D*e,h*a,w*e,n*a,F*e+i.x+t,c*a+i.y+s),{a:y,b:R,c:S,d:N,tx:U,ty:L}=M,l=o.vertices,f=l.length/6*nA;(!this.shapeVertsScratch||this.shapeVertsScratch.length<f)&&(this.shapeVertsScratch=new Float32Array(f));const d=this.shapeVertsScratch;for(let W=0,oA=0;W<l.length;W+=6,oA+=nA){const UI=l[W],MA=l[W+1];d[oA]=y*UI+S*MA+U,d[oA+1]=R*UI+N*MA+L,d[oA+2]=0,d[oA+3]=l[W+2],d[oA+4]=l[W+3],d[oA+5]=l[W+4],d[oA+6]=l[W+5]*r*i.opacity,d[oA+7]=.5,d[oA+8]=.5}let u=!1,K=null,x=null;if(Q&&Q.indices.length>0){const W=this.getClipRect(Q);if(W&&((E=i.rotation)!=null?E:0)===0&&cB(y,R,S,N)){if(!this.applyClipRectScissor(A,W,y,N,U,L)){this.restoreSlotScissor(A);return}u=!0}else K=this.ensureClipMeshBuffers(A,Q),x=this.packClipTransform(y,R,S,N,U,L),A.draw({shader:"clip-mask",vertexBuffer:K.vertexBuf,indexBuffer:K.indexBuf,indexCount:Q.indices.length,textures:[],uniforms:{u_projection:C,u_transform:x},stencil:"write"})}const X=this.clipSpriteDrawCursor++,gA=this.ensureClipSpriteVertexBuffer(A,X,d.subarray(0,f)),JA=this.ensureClipSpriteIndexBuffer(A,X,o.indices);A.draw({shader:"svga-batch-premul",vertexBuffer:gA,indexBuffer:JA,indexCount:o.indices.length,textures:[G],uniforms:{u_projection:C,u_atlas:0},stencil:K?"test":"none"}),K&&x&&Q&&this.clearClipStencil(A,Q,K,x,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 tQ((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=kE(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,n=this.clamp01(I.r),F=this.clamp01(I.g),c=this.clamp01(I.b),r=this.clamp01(I.a);Q.push(i.x-D,i.y-h,n,F,c,r),Q.push(i.x+D,i.y+h,n,F,c,r),Q.push(e.x+D,e.y+h,n,F,c,r),Q.push(e.x-D,e.y-h,n,F,c,r),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=ZE(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(ug.INSTANCED_QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(ug.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(Pg,"INSTANCED_QUAD_VERTS",new Float32Array([0,0,1,0,1,1,0,1]));H(Pg,"INSTANCED_QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let rQ=Pg;const rB=1e-4;function cB(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 ti(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,n=Math.abs(s-C)<=i;if(!D&&!h||!w&&!n)return null;e|=1<<((D?0:1)|(w?0:2))}return e!==15?null:{x:I,y:g,w:E,h:o}}var si=Object.defineProperty,Di=(B,A,I)=>A in B?si(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,tA=(B,A,I)=>Di(B,typeof A!="symbol"?A+"":A,I);const hi=4,wi=128*1024*1024,ni=2048*1024*1024,ri="gift-stage-resource-cache",ci=2,CA="resources",ng="byUpdatedAt",Fi=3e4;class Gi{constructor(A){tA(this,"maxConcurrent"),tA(this,"active",0),tA(this,"queue",[]),this.maxConcurrent=Math.max(1,A)}setMaxConcurrent(A){this.maxConcurrent=Math.max(1,A),this.drain()}async run(A){this.active>=this.maxConcurrent&&await new Promise(I=>{this.queue.push(I)}),this.active++;try{return await A()}finally{this.active--,this.drain()}}drain(){for(;this.active<this.maxConcurrent&&this.queue.length>0;){const A=this.queue.shift();A==null||A()}}}function Ri(){return typeof indexedDB!="undefined"}function RA(B){return B.length*2}function yi(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+=RA(E.key)+16;for(const E of B.audios)Q+=RA(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+=RA(E);for(const E of C.clipPaths)Q+=RA(E);for(const E of C.shapesTable)for(const o of E)Q+=RA((g=o.pathData)!=null?g:"")+96;return Q}function rg(B){return typeof B=="string"?RA(B):B.byteLength}class Mi{constructor(){tA(this,"limiter",new Gi(hi)),tA(this,"pending",new Map),tA(this,"memory",new Map),tA(this,"memoryBytes",0),tA(this,"maxMemoryBytes",wi),tA(this,"maxPersistentBytes",ni),tA(this,"dbPromise",null),tA(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,RA(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,RA(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,RA(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 Ri()?(this.dbPromise||(this.dbPromise=new Promise(A=>{try{const I=indexedDB.open(ri,ci);I.onupgradeneeded=()=>{const g=I.result;let Q;g.objectStoreNames.contains(CA)?Q=I.transaction.objectStore(CA):Q=g.createObjectStore(CA,{keyPath:"key"}),Q.indexNames.contains(ng)||Q.createIndex(ng,"updatedAt",{unique:!1})},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,"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=i.sizeBytes||rg(i.value);if(Date.now()-i.updatedAt>=Fi&&this.touchPersistent({...i,sizeBytes:e,updatedAt:Date.now()}),I==="arrayBuffer"){Q(i.value);return}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=rg(g);await new Promise(E=>{try{const o=Q.transaction(CA,"readwrite");o.onerror=()=>E(),o.onabort=()=>E();const e=o.objectStore(CA).put({key:A,kind:I,value:g,sizeBytes:C,updatedAt:Date.now()});e.onsuccess=()=>E(),e.onerror=()=>E()}catch(o){E()}}),this.schedulePersistentTrim()}async touchPersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction(CA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(CA).put(A);E.onsuccess=()=>g(),E.onerror=()=>g()}catch(Q){g()}})}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,"readwrite");g.oncomplete=()=>I(),g.onerror=()=>I(),g.onabort=()=>I();const Q=g.objectStore(CA),C=Q.index(ng),E=[];let o=0;const i=C.openCursor();i.onsuccess=()=>{const e=i.result;if(e){const t=e.value,s=t.sizeBytes||rg(t.value);o+=s,E.push({key:t.key,sizeBytes:s}),e.continue();return}if(o<=this.maxPersistentBytes)return;let a=o;for(const t of E){if(a<=this.maxPersistentBytes)break;Q.delete(t.key),a-=t.sizeBytes}},i.onerror=()=>I()}catch(g){I()}})}async deletePersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction(CA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(CA).delete(A);E.onsuccess=()=>g(),E.onerror=()=>g()}catch(Q){g()}})}}const hA=new Mi;function Ni(B){hA.configure(B)}function Hg(B){return hA.runLimited(B)}function xA(B,A){return hA.fetchArrayBuffer(B,A)}function Si(B,A){return hA.fetchJSON(B,A)}function zg(B){return hA.getSVGAWorkerPayload(B)}function FB(B,A){hA.setSVGAWorkerPayload(B,A)}function li(B,A){return hA.getMemoryValue(B,A)}function cQ(B,A,I,g){hA.setMemoryValue(B,A,I,g)}function ki(B){return hA.getPersistedArrayBuffer(B)}function Ui(B,A){return hA.setPersistedArrayBuffer(B,A)}function Yi(B){return hA.deletePersistedValue(B)}async function qg(B){const A=typeof B=="string"?await Si(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 pA(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 di=Object.defineProperty,Ki=(B,A,I)=>A in B?di(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,EA=(B,A,I)=>Ki(B,typeof A!="symbol"?A+"":A,I);class FQ{constructor(){EA(this,"frameInfo",new Map),EA(this,"pending",new Set),EA(this,"lastHandle",new Map),EA(this,"started",new Set),EA(this,"firstUploaded",new Set),EA(this,"forceTimeFallback",new Set),EA(this,"lastArmAt",new Map),EA(this,"lastCallbackAt",new Map),EA(this,"lastProgressAt",new Map),EA(this,"lastRecoveryAt",new Map),EA(this,"stallLogged",new Set),EA(this,"stagnationLogged",new Set),EA(this,"lastTimeFallback",new Map)}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);const g=(Q,C)=>{this.frameInfo.set(A,C),this.lastCallbackAt.set(A,performance.now()),this.pending.add(A);try{this.lastArmAt.set(A,performance.now());const E=I.requestVideoFrameCallback(g);this.lastHandle.set(A,E)}catch(E){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)}}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){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 GQ=new Float32Array([0,0,1,1]);function jI(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 Ji=3;function Li(){return typeof document!="undefined"&&typeof document.createElement=="function"}function jA(B,A){if(!Li())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 PA(B,A){const I=B.getContext("2d",A);if(!I)throw new Error("Failed to acquire 2D canvas context");return I}function RQ(B){return!!B&&typeof B=="object"&&typeof B.text=="string"}function fi(B){return!!B&&typeof B=="object"&&"image"in B}function yQ(B){return!!B&&typeof B=="object"&&"image"in B}function GB(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 PI(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 zA(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 pg(B){if(typeof ImageData!="undefined"&&B instanceof ImageData){const A=jA(B.width,B.height);return PA(A).putImageData(B,0,0),A}return B}function ui(B){const A=/^\[(.+)\]$/.exec(B);return A?A[1]:B}function Hi(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 _A(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function qi(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 pi(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 _A(g)?g:void 0}function RB(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 mi(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=RB(B,A,I,D);h.width<=Q&&h.height<=C?(a=D,t=h,i=D):e=D}return B.font=g(a),t=RB(B,A,I,a),{fontSize:a,metrics:t}}function MQ(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=jA(1,1),h=PA(D),w=(Q=g.color)!=null?Q:"#ffffff",n=Math.max(0,(C=g.padding)!=null?C:2),F=Math.max(1,t-n*2),c=Math.max(1,s-n*2),r=Math.max(1,(i=(o=(E=g.maxFontSize)!=null?E:g.fontSize)!=null?o:pi(g.fontStyle))!=null?i:Math.max(8,c)),G=Math.max(1,Math.min((e=g.minFontSize)!=null?e:8,r)),M=w,y=`${g.style==="b"?"bold ":""}${r*a}px Arial`,R=Hi(g.fontStyle,y,M),S=d=>qi(R.font,d*a),N=mi(h,I,a,S,F,c,G,_A(g.fontSize)?Math.min(g.fontSize,r):r),U=g.sizing==="intrinsic"?Math.max(1,Math.min(t,Math.ceil(N.metrics.width+n*2))):t,L=g.sizing==="intrinsic"?Math.max(1,Math.min(s,Math.ceil(N.metrics.height+n*2))):s,l=jA(U*a,L*a),f=PA(l);return f.clearRect(0,0,l.width,l.height),f.textAlign="center",f.textBaseline="middle",f.font=S(N.fontSize),f.fillStyle=R.color,f.fillText(I,l.width/2,l.height/2),{canvas:l,logicalWidth:U,logicalHeight:L}}async function xi(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 n=a.imageKeys[w];t.has(n)&&s.set(n,w)}const D=new Map,{frameCount:h}=a;for(const w of A){const n=s.get(w);if(n==null){const y=B.atlasRects.get(w);D.set(w,{width:(y==null?void 0:y.w)||1,height:(y==null?void 0:y.h)||1,renderScale:1});continue}let F=0,c=0,r=Number.POSITIVE_INFINITY;for(let y=0;y<h;y++){const R=(n*h+y)*9,S=(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,L=(o=a.frameData[R+3])!=null?o:0,l=(i=a.frameData[R+4])!=null?i:0,f=(e=a.frameData[R+5])!=null?e:1;if(F=Math.max(F,S),c=Math.max(c,N),S>0&&N>0){const d=Math.abs(U)*S+Math.abs(l)*N,u=Math.abs(L)*S+Math.abs(f)*N,K=d>0?d/S:1,x=u>0?u/N:1,X=Math.min(K||1,x||1);_A(X)&&(r=Math.min(r,X))}y+1<h&&I.shouldYield()&&(await I.yield(),g==null||g())}const G=_A(r)?r:1,M=B.atlasRects.get(w);D.set(w,{width:F||(M==null?void 0:M.w)||1,height:c||(M==null?void 0:M.h)||1,renderScale:G})}return D}function cg(B,A){if(_A(B))return!_A(A)||A===1?B:B/A}async function bi(B,A,I,g=1){var Q,C,E;if(RQ(B)){const i=(Q=B.mode)!=null?Q:"dynamic",e=MQ(A,I,B.text,{scale:(C=B.scale)!=null?C:Ji,color:B.color,style:B.style,fontStyle:B.fontStyle,fontSize:cg(B.fontSize,g),minFontSize:cg(B.minFontSize,g),maxFontSize:cg(B.maxFontSize,g),padding:B.padding,sizing:i==="dynamic"?"intrinsic":"box"});return{source:e.canvas,mode:i,logicalWidth:e.logicalWidth,logicalHeight:e.logicalHeight}}if(fi(B)){const i=typeof B.image=="string"?await PI(B.image):B.image,e=zA(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 PI(B),e=zA(i);return{source:i,mode:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}const o=zA(B);return{source:B,mode:"replace",logicalWidth:Math.max(1,o.width||A),logicalHeight:Math.max(1,o.height||I)}}async function Ti(B,A,I,g={}){var Q,C,E;const o=new Map;if(!I)return o;const i=Object.entries(I),e=QA({maxBudgetMs:g.frameBudgetMs}),a=await xi(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 bi(D,h.width,h.height,h.renderScale),n=zA(w.source),F=n.width||h.width,c=n.height||h.height,r=B.createTexture(w.source,{width:F,height:c,filter:"linear",premultiplyAlpha:!0});o.set(s,{texture:r,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 Wi(B,A){var I,g;if(!A)return;const Q=String(B.srcId),C=B.srcTag,E=ui(B.srcTag);return(g=(I=A[C])!=null?I:A[E])!=null?g:A[Q]}function Zi(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=MQ(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 Vi(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 vi(B){return typeof B=="string"?PI(B):yQ(B)?typeof B.image=="string"?PI(B.image):pg(B.image):pg(B)}async function Xi(B,A){const I=new Map;if(!B.src||B.src.length===0||!A)return I;for(const g of B.src){const Q=Wi(g,A);if(Q==null)continue;if(g.srcType==="txt"){if(GB(Q)){const e=pg(Q),a=zA(e);I.set(String(g.srcId),{source:e,width:Math.max(1,a.width),height:Math.max(1,a.height)});continue}const i=Zi(g,typeof Q=="string"||RQ(Q)?Q:String(Q),Vi(B,g.srcId));I.set(String(g.srcId),i);continue}const C=GB(Q)||typeof Q=="string"||yQ(Q)?Q:null;if(!C)continue;const E=await vi(C),o=zA(E);I.set(String(g.srcId),{source:E,width:Math.max(1,o.width),height:Math.max(1,o.height)})}return I}function Oi(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 ji(B,A){const I=jA(B,A),g=jA(B,A),Q=jA(1,1);return{compositeCanvas:I,compositeCtx:PA(I),rawCanvas:g,rawCtx:PA(g),scratchCanvas:Q,scratchCtx:PA(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,[a,t,s,D]=o.rgbFrame,[h,w,n,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 c=B.rawCtx.getImageData(0,0,i,e).data,r=B.compositeCtx.createImageData(B.width,B.height),G=r.data;for(let y=0;y<B.height;y++){const R=Math.min(e-1,Math.max(0,t+Math.floor(y/B.height*D))),S=Math.min(e-1,Math.max(0,w+Math.floor(y/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))),L=Math.min(i-1,Math.max(0,h+Math.floor(N/B.width*n))),l=(R*i+U)*4,f=(S*i+L)*4,d=c[f]/255,u=(y*B.width+N)*4,K=Q?1:d;G[u]=Math.round(c[l]*K),G[u+1]=Math.round(c[l+1]*K),G[u+2]=Math.round(c[l+2]*K),G[u+3]=Math.round(d*255)}}const M=(C=B.frameMap.get(g))!=null?C:[];for(const y of M){const R=(E=B.resources)==null?void 0:E.get(String(y.srcId));if(!R)continue;const[S,N,U,L]=y.frame,[l,f,d,u]=y.mFrame;if(U<=0||L<=0||d<=0||u<=0)continue;(B.scratchCanvas.width!==U||B.scratchCanvas.height!==L)&&(B.scratchCanvas.width=Math.max(1,Math.round(U)),B.scratchCanvas.height=Math.max(1,Math.round(L))),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,x=Math.max(0,Math.floor(S)),X=Math.max(0,Math.floor(N)),gA=Math.min(B.width,Math.ceil(S+U)),JA=Math.min(B.height,Math.ceil(N+L));for(let W=X;W<JA;W++){const oA=Math.min(B.scratchCanvas.height-1,Math.max(0,Math.floor((W-N)/L*B.scratchCanvas.height))),UI=Math.min(e-1,Math.max(0,f+Math.floor((W-N)/L*u)));for(let MA=x;MA<gA;MA++){const PQ=Math.min(B.scratchCanvas.width-1,Math.max(0,Math.floor((MA-S)/U*B.scratchCanvas.width))),zQ=Math.min(i-1,Math.max(0,l+Math.floor((MA-S)/U*d))),YI=(oA*B.scratchCanvas.width+PQ)*4,_Q=(UI*i+zQ)*4,$Q=K[YI+3]/255,AC=c[_Q]/255,bA=$Q*AC;if(bA<=0)continue;const NA=(W*B.width+MA)*4,IC=K[YI]/255*bA,gC=K[YI+1]/255*bA,BC=K[YI+2]/255*bA,QC=G[NA+3]/255,dI=1-bA;G[NA]=Math.round((IC+G[NA]/255*dI)*255),G[NA+1]=Math.round((gC+G[NA+1]/255*dI)*255),G[NA+2]=Math.round((BC+G[NA+2]/255*dI)*255),G[NA+3]=Math.round((bA+QC*dI)*255)}}}return B.compositeCtx.putImageData(r,0,0),B.compositeCanvas}var Pi=Object.defineProperty,zi=(B,A,I)=>A in B?Pi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,T=(B,A,I)=>zi(B,typeof A!="symbol"?A+"":A,I);const Fg=1024,MB=32,kI=class FA{constructor(){T(this,"instancedQuadVB",null),T(this,"instancedQuadIB",null),T(this,"quadVB",null),T(this,"quadIB",null),T(this,"rgbaWebGLQuadVB",null),T(this,"rgbaTopLeftQuadVB",null),T(this,"rgbaQuadIB",null),T(this,"wcDbgFirstDraw",new Set),T(this,"wcDbgNullWarns",new Map),T(this,"htmlGate",new FQ),T(this,"lastWcFrameRef",new Map),T(this,"scratchAtlasRemap",new Float32Array(4)),T(this,"instancePackScratch",new Float32Array(Fg*MB)),T(this,"scratchTransform",new Float32Array(16)),T(this,"processedHtmlGatesScratch",new Set),T(this,"vapVertexScratch",new Float32Array(24)),T(this,"projCacheW",0),T(this,"projCacheH",0),T(this,"projCache",null)}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")&&DA(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||DA(e)==="cover"||!e.vapConfig||g.push(e);if(g.length===0)return;this.instancedQuadVB||(this.instancedQuadVB=A.createBuffer(FA.QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(FA.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=UA(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+=Fg){const t=Math.min(Fg,e.length-a);for(let s=0;s<t;s++)this.fillVapInstanceData(e[a+s],i,s*MB);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}=pA(e),w=YA(A,D,h);ZA(A,A.x+w.offsetX,A.y+w.offsetY,w.width,w.height,s),I.set(s,g);const n=II(e.rgbFrame,a,t),F=II(e.aFrame,a,t),c=A.videoTextureHandle,r=jI(c.width,c.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(r,g+16);const G=g+20;I[G+0]=n.left,I[G+1]=n.right,I[G+2]=n.top,I[G+3]=n.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):yB(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):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=UA(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=DA(I),{w:n,h:F}=pA(t),c=YA(I,n,F);ZA(I,I.x+c.offsetX,I.y+c.offsetY,c.width,c.height,h);const r=II(t.rgbFrame,s,D),G=II(t.aFrame,s,D),M=I.videoTextureHandle,y=jI(M.width,M.height,I.wcAtlasRect,this.scratchAtlasRemap),R=this.vapVertexScratch;R[0]=0,R[1]=0,R[2]=r.left,R[3]=r.top,R[4]=G.left,R[5]=G.top,R[6]=1,R[7]=0,R[8]=r.right,R[9]=r.top,R[10]=G.right,R[11]=G.top,R[12]=1,R[13]=1,R[14]=r.right,R[15]=r.bottom,R[16]=G.right,R[17]=G.bottom,R[18]=0,R[19]=1,R[20]=r.left,R[21]=r.bottom,R[22]=G.left,R[23]=G.bottom,this.quadVB=this.ensureBuffer(A,this.quadVB,R,"vertex"),this.quadIB||(this.quadIB=A.createBuffer(FA.QUAD_INDICES,"index"));const S={shader:"vap",vertexBuffer:this.quadVB,indexBuffer:this.quadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:e,u_transform:h,u_atlasRemap:y,u_opacity:I.opacity,u_rgbPremultiplied:I.options.videoRGBAlphaMode!=="straight"?1:0,u_video:0}};if(w==="cover"){const N=qA(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(S),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=UA(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=DA(I),{w:e,h:a}=pA(E.info),t=YA(I,e,a);ZA(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?FA.RGBA_QUAD_VERTS_WEBGPU:FA.RGBA_QUAD_VERTS_WEBGL,"vertex"),s?this.rgbaTopLeftQuadVB=D:this.rgbaWebGLQuadVB=D),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(FA.QUAD_INDICES,"index")),i==="cover"){const h=qA(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:GQ,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=UA(0,o,i,0,-1,1),e=this.projCache),this.rgbaTopLeftQuadVB||(this.rgbaTopLeftQuadVB=A.createBuffer(FA.RGBA_QUAD_VERTS_WEBGPU,"vertex")),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(FA.QUAD_INDICES,"index"));const{info:a}=g,{w:t,h:s}=pA(a),D=YA(I,t,s);if(DA(I)==="cover"){const c=qA(I,I.x,I.y,I.width*I.scale,I.height*I.scale);A.setScissor(c.x,c.y,c.w,c.h)}else{const c=qA(I,I.x+D.offsetX,I.y+D.offsetY,D.width,D.height);A.setScissor(c.x,c.y,c.w,c.h)}const h=a.videoW>0?a.videoW:C.width,w=a.videoH>0?a.videoH:C.height,n=this.scratchTransform,F=this.scratchAtlasRemap;for(const c of E){const r=Q.resourceTextures.get(String(c.srcId));if(!r)continue;const[G,M,y,R]=c.frame,[,,S,N]=c.mFrame;if(y<=0||R<=0||S<=0||N<=0)continue;ZA(I,I.x+D.offsetX+G*D.scaleX,I.y+D.offsetY+M*D.scaleY,y*D.scaleX,R*D.scaleY,n);const U=II(c.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:[r,C],uniforms:{u_projection:e,u_transform:n,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}};T(kI,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));T(kI,"RGBA_QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));T(kI,"RGBA_QUAD_VERTS_WEBGPU",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));T(kI,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let NQ=kI;var _i=Object.defineProperty,$i=(B,A,I)=>A in B?_i(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,b=(B,A,I)=>$i(B,typeof A!="symbol"?A+"":A,I);const NB=1024,SB=12,_g=class oI{constructor(){b(this,"quadVB",null),b(this,"quadIB",null),b(this,"instancePackScratch",new Float32Array(NB*SB)),b(this,"projCacheW",0),b(this,"projCacheH",0),b(this,"projCache",null),b(this,"scratchTransform",new Float32Array(16)),b(this,"contentSizeScratch",{w:0,h:0}),b(this,"layoutScratch",{scaleX:1,scaleY:1,width:0,height:0,offsetX:0,offsetY:0}),b(this,"wcDbgFirstDraw",new Set),b(this,"wcDbgNullWarns",new Map),b(this,"htmlGate",new FQ),b(this,"lastWcFrameRef",new Map),b(this,"scratchAtlasRemap",new Float32Array(4)),b(this,"processedHtmlGatesScratch",new Set),b(this,"instancedTexturesScratch",[]),b(this,"instancedUniformsScratch",{u_projection:new Float32Array(16),u_video:0}),b(this,"instancedDrawCommand",{shader:"alpha-video-instanced",vertexBuffer:null,indexBuffer:null,indexCount:6,instanceCount:0,instanceData:this.instancePackScratch,textures:this.instancedTexturesScratch,uniforms:this.instancedUniformsScratch}),b(this,"geometryTexturesScratch",[]),b(this,"geometryUniformsScratch",{u_projection:new Float32Array(16),u_transform:this.scratchTransform,u_atlasRemap:this.scratchAtlasRemap,u_opacity:1,u_rgbPremultiplied:1,u_video:0}),b(this,"geometryDrawCommand",{shader:"alpha-video",vertexBuffer:null,indexBuffer:null,indexCount:6,textures:this.geometryTexturesScratch,uniforms:this.geometryUniformsScratch})}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(DA(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*SB),C++,C===NB&&(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=oI.alphaVideoContentSize(A,this.contentSizeScratch),C=YA(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=jI(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=DA(I),E=oI.alphaVideoContentSize(I,this.contentSizeScratch),o=YA(I,E.w,E.h,this.layoutScratch);ZA(I,I.x+o.offsetX,I.y+o.offsetY,o.width,o.height,Q),this.ensureQuadBuffers(A);const i=I.videoTextureHandle,e=jI(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=qA(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(oI.QUAD_VERTS,"vertex"),this.quadIB=A.createBuffer(oI.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=UA(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()}};b(_g,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));b(_g,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let SQ=_g;var Ao=Object.defineProperty,Io=(B,A,I)=>A in B?Ao(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,lA=(B,A,I)=>Io(B,typeof A!="symbol"?A+"":A,I);const $g=class mg{constructor(){lA(this,"quadVB",null),lA(this,"quadIB",null),lA(this,"scratchTransform",new Float32Array(16)),lA(this,"projCacheW",0),lA(this,"projCacheH",0),lA(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=YA(I,g.width,g.height),C=I.x+Q.offsetX,E=I.y+Q.offsetY;ZA(I,C,E,Q.width,Q.height,this.scratchTransform);let o=this.quadVB;o||(o=A.createBuffer(mg.QUAD_VERTS,"vertex"),this.quadVB=o),this.quadIB||(this.quadIB=A.createBuffer(mg.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=UA(0,i,e,0,-1,1));const a=DA(I)==="cover";if(a){const t=qA(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:GQ,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}};lA($g,"QUAD_VERTS",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));lA($g,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let lQ=$g;var go=Object.defineProperty,Bo=(B,A,I)=>A in B?go(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,HI=(B,A,I)=>Bo(B,typeof A!="symbol"?A+"":A,I);class kQ{constructor(){HI(this,"animations",new Map),HI(this,"completedScratch",[]),HI(this,"individuallyPaused",new Set),HI(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;TI((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=TI((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return{x:aA(Q.startX,Q.targetX,E),y:aA(Q.startY,Q.targetY,E),scale:aA(Q.startScale,Q.targetScale,E),opacity:aA(Q.startOpacity,Q.targetOpacity,E),rotation:aA(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=TI((((g=Q.pausedAt)!=null?g:I)-Q.startTime)/Q.duration,0,1),E=Q.easing(C);return A.x=aA(Q.startX,Q.targetX,E),A.y=aA(Q.startY,Q.targetY,E),A.scale=aA(Q.startScale,Q.targetScale,E),A.opacity=aA(Q.startOpacity,Q.targetOpacity,E),A.rotation=aA(Q.startRotation,Q.targetRotation,E),!0}hasAnimation(A){return this.animations.has(A)}hasActiveAnimations(){return this.animations.size>0}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 Qo=Object.defineProperty,Co=(B,A,I)=>A in B?Qo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,gI=(B,A,I)=>Co(B,typeof A!="symbol"?A+"":A,I);class UQ{constructor(){gI(this,"ctx",null),gI(this,"decodedCache",new Map),gI(this,"activeSources",[]),gI(this,"globalMute",!1),gI(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,io=(B,A,I)=>A in B?Eo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,TA=(B,A,I)=>io(B,typeof A!="symbol"?A+"":A,I);class oo{constructor(A,I){TA(this,"atlasW"),TA(this,"atlasH"),TA(this,"rowY",0),TA(this,"rowH",0),TA(this,"rowX",0),TA(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 eo(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=eo(B);if(g==null)throw new Error(`Invalid percentage coordinate: ${B}`);return A*g/100-I/2}function YQ(B,A,I,g,Q,C){return{x:lB(B,Q,I),y:lB(A,C,g)}}var ao=Object.defineProperty,to=(B,A,I)=>A in B?ao(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Z=(B,A,I)=>to(B,typeof A!="symbol"?A+"":A,I);class dQ{constructor(A){Z(this,"backend"),Z(this,"svgaBatch"),Z(this,"vapRenderer"),Z(this,"alphaVideoRenderer"),Z(this,"imageRenderer"),Z(this,"postAnimator"),Z(this,"audioManager"),Z(this,"slots"),Z(this,"handles"),Z(this,"rafId",null),Z(this,"lastTime",0),Z(this,"running",!1),Z(this,"forceNextDraw",!0),Z(this,"onAnimationFrame",I=>this.renderLoop(I)),Z(this,"finishedSlotIdsScratch",[]),Z(this,"videoRunMapScratch",new Map),Z(this,"wcAtlas",null),Z(this,"wcDbgTickOnce",new Set),Z(this,"advancedSharedWebCodecsScratch",new Set),Z(this,"activeSharedWebCodecsScratch",new Set),Z(this,"orderedSlotsScratch",[]),this.backend=A,this.svgaBatch=new rQ,this.vapRenderer=new NQ,this.alphaVideoRenderer=new SQ,this.imageRenderer=new lQ,this.postAnimator=new kQ,this.audioManager=new UQ,this.slots=new Map,this.handles=new Map}addSlot(A,I){this.slots.set(A.id,A),this.handles.set(A.id,I),this.forceNextDraw=!0,this.running||this.start()}releaseSlotResources(A){var I,g,Q,C,E,o,i,e,a;if((I=A.loadAbortController)==null||I.abort(),A.loadAbortController=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),this.forceNextDraw=!0,this.slots.size===0&&(this.clearFrameOnce(),this.stop())}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 oo(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}=Jg(this.backend.canvas);this.forceNextDraw=!0;for(const g of this.slots.values()){if(this.postAnimator.hasAnimation(g.id))continue;const Q=g.options,C=YQ(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}}start(){this.running||(this.running=!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(),this.svgaBatch.beginFrame(this.backend),this.backend.endFrame()}pause(){this.postAnimator.pauseAll(),this.stop()}resume(){this.postAnimator.resumeAll(),this.slots.size>0&&!this.running&&this.start()}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,this.backend.beginFrame(),this.svgaBatch.beginFrame(this.backend);for(const o of this.getRenderLayers())this.drawLayer(o);this.backend.endFrame()}this.rafId=requestAnimationFrame(this.onAnimationFrame)}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;const E=A.videoEntity,o=E.params.fps,i=E.params.frames;if(o<=0||i<=0)return!1;const e=1/o,a=A.currentFrame;A.accumulatedTime+=I;const t=Math.floor(A.accumulatedTime/e);if(t<=0)return!1;A.accumulatedTime-=t*e;const s=(C=A.options.loop)!=null?C:1,D=A.loopCount*i+A.currentFrame+t;return s===0?(A.loopCount=Math.floor(D/i),A.currentFrame=D%i):D>=s*i?(A.loopCount=s,A.currentFrame=i-1,this.onGiftPlayComplete(A,g,Q)):(A.loopCount=Math.floor(D/i),A.currentFrame=D%i),A.currentFrame=Math.max(0,Math.min(A.currentFrame,i-1)),A.currentFrame!==a&&this.audioManager.tickFrame(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.orderedSlotsScratch;A.length=0;for(const I of this.slots.values())I.state!=="playing"&&I.state!=="fly"&&I.state!=="stopped"||A.push(I);return A.sort((I,g)=>{var Q,C,E,o;const i=(Q=I.zIndex)!=null?Q:0,e=(C=g.zIndex)!=null?C:0;return i!==e?i-e:((E=I.renderOrder)!=null?E:0)-((o=g.renderOrder)!=null?o:0)}),A}getRenderLayers(){var A,I;const g=this.getRenderOrderedSlots();if(g.length===0)return[];const Q=[];let C=[],E=(A=g[0].zIndex)!=null?A:0;for(const o of g){const i=(I=o.zIndex)!=null?I:0;C.length>0&&i!==E&&(Q.push(this.collapseCoincidentVisualDuplicates(C)),C=[],E=i),C.push(o)}return C.length>0&&Q.push(this.collapseCoincidentVisualDuplicates(C)),Q}collapseCoincidentVisualDuplicates(A){if(A.length<2)return A;const I=new Set,g=[];for(let Q=A.length-1;Q>=0;Q-=1){const C=A[Q],E=this.getCoincidentVisualKey(C);E&&I.has(E)||(E&&I.add(E),g.push(C))}return g.reverse(),g}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]),Q=[];for(const C of A){const E=this.getBatchKey(C);(C.type!==I||E!==g)&&Q.length>0&&(this.drawSlotRun(I,Q),Q=[]),I=C.type,g=E,Q.push(C)}Q.length>0&&this.drawSlotRun(I,Q)}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 n=`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:n,d0:D,d1:h,d2:null},n}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.backend.destroy()}}function kB(){return typeof DecompressionStream!="undefined"}function BA(){return typeof performance!="undefined"?performance.now():Date.now()}function KQ(B){return B instanceof Error?`${B.name}: ${B.message}`:String(B)}async function so(B,A,I){const g=I?BA():0,Q=I?{inputBytes:B.byteLength,nativeAvailable:kB(),nativeAttempts:[]}:null,C=(o,i)=>(Q&&(Q.selectedPath=i,Q.outputBytes=o.byteLength,Q.totalMs=BA()-g,I==null||I(Q)),o),E=o=>{throw Q&&(Q.error=KQ(o),Q.totalMs=BA()-g,I==null||I(Q)),o};if(kB())try{return C(await xg(B,Q!=null?Q:void 0),"native")}catch(o){}try{const o=Q?BA():0,i=A();return Q&&(Q.wasmMs=BA()-o),i?C(i,"wasm"):C(await xg(B,Q!=null?Q:void 0),"native-retry")}catch(o){return E(o)}}async function xg(B,A){if(typeof DecompressionStream!="undefined"){try{return await Gg(B,"deflate",A==null?void 0:A.nativeAttempts)}catch(I){}try{return await Gg(B.slice(2),"deflate-raw",A==null?void 0:A.nativeAttempts)}catch(I){}return Gg(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 Gg(B,A,I){const g=I?BA():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?BA():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=BA()-i);const t=[];let s=0;const D=Q?BA():0;for(;;){const{done:F,value:c}=await o.read();if(F)break;t.push(c),s+=c.length}await Promise.all([e,a]),Q&&(Q.readMs=BA()-D,Q.outputChunks=t.length,Q.outputBytes=s);const h=Q?BA():0,w=new Uint8Array(s);let n=0;for(const F of t)w.set(F,n),n+=F.length;return Q&&(Q.concatMs=BA()-h,Q.totalMs=BA()-g,Q.status="success"),w}catch(C){throw Q&&(Q.totalMs=BA()-g,Q.error=KQ(C)),C}finally{Q&&(I==null||I.push(Q))}}typeof TextEncoder!="undefined"&&new TextEncoder;const UB=typeof TextDecoder!="undefined"?new TextDecoder:null;function JQ(B){const A=B instanceof Uint8Array?B:new Uint8Array(B);return UB?UB.decode(A):Do(A)}function Do(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 ho=Object.defineProperty,wo=(B,A,I)=>A in B?ho(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Rg=(B,A,I)=>wo(B,typeof A!="symbol"?A+"":A,I);const no=0,ro=1,co=2,Fo=5;class AB{constructor(A,I=0,g){Rg(this,"view"),Rg(this,"pos"),Rg(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 JQ(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 no:this.readVarint();break;case ro:this.pos+=8;break;case co:this.pos+=this.readVarint();break;case Fo:this.pos+=4;break}}sub(A){const I=new AB(new Uint8Array(this.view.buffer,this.view.byteOffset),this.pos,A);return this.pos+=A,I}}function Go(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 Ro(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 LQ(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 YB(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 yo(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=YB(B.sub(Q));break}case 2:{const Q=B.readVarint();A.stroke=YB(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 Mo(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 No(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 So(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 lo(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=Mo(B.sub(i));break}case 3:{const i=B.readVarint();g=No(B.sub(i));break}case 4:{const i=B.readVarint();Q=So(B.sub(i));break}case 10:{const i=B.readVarint();C=yo(B.sub(i));break}case 11:{const i=B.readVarint();E=LQ(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=Ro(B.sub(Q));break}case 3:{const Q=B.readVarint();A.transform=LQ(B.sub(Q));break}case 4:A.clipPath=B.readString();break;case 5:{const Q=B.readVarint(),C=lo(B.sub(Q));C&&I.push(C);break}default:B.skip(g.wire)}}return I.length>0&&(A.shapes=I),A}function Uo(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 Yo(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 Ko(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 bg(B){const A=new AB(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=Go(A.sub(C));break}case 3:{const C=A.readVarint(),{key:E,value:o}=Ko(A.sub(C));g.images.set(E,o);break}case 4:{const C=A.readVarint();I.push(Uo(A.sub(C)));break}case 5:{const C=A.readVarint();g.audios.push(Yo(A.sub(C)));break}default:A.skip(Q.wire)}}return{version:g.version,params:g.params,images:g.images,spriteTable:IQ(I,g.params.frames),audios:g.audios}}function dB(B,A){B.f32(A.r),B.f32(A.g),B.f32(A.b),B.f32(A.a)}function KB(B){return{r:B.f32(),g:B.f32(),b:B.f32(),a:B.f32()}}function Jo(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&&dB(B,A.fill),A.stroke&&dB(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 Lo(B){const A=B.u8(),I=A&1?KB(B):null,g=A&2?KB(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 fo(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),Jo(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 uo(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=Lo(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 Ho(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 fo(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 fQ(B,A){const I=B.u32(),g=[];for(let c=0;c<I;c++)g.push(B.string()),await A();B.pad4();const Q=B.u32(),C=I*Q*VC;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 c=0;c<i;c++)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 c=0;c<D;c++){const r=B.u32(),G=[];for(let M=0;M<r;M++)G.push(uo(B)),await A();h.push(G)}B.pad4();const w=I*Q,n=B.position,F=new Int32Array(B.sourceBuffer(),n,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 qo=Object.defineProperty,po=(B,A,I)=>A in B?qo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,yg=(B,A,I)=>po(B,typeof A!="symbol"?A+"":A,I);const mo=1397182530,xo=2;function bo(B){return B+3&-4}let To=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=bo(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 JQ(this.bytesValue())}sourceBuffer(){return this.buffer}};async function uQ(B,A,I,g){const Q=QA({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 To(B);if(E.u32()!==mo)throw new Error("Invalid SVGA worker payload magic");if(E.u16()!==xo)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(),n=E.bytesRef();t.push({key:w,offset:n.offset,length:n.length}),await C()}const D=await fQ(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 HQ=`function iA() {
1411
1411
  return typeof DecompressionStream != "undefined";
1412
1412
  }
1413
1413
  function U() {
@@ -2863,7 +2863,7 @@ z.onmessage = (A) => {
2863
2863
  !I || I.type !== "parse-svga" || gg.push(() => Bg(I));
2864
2864
  };
2865
2865
  //# sourceMappingURL=parser-worker-BN4YjxMF.js.map
2866
- `,JB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",HQ],{type:"text/javascript;charset=utf-8"});function Wo(B){let A;try{if(A=JB&&(self.URL||self.webkitURL).createObjectURL(JB),!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(HQ),{type:"module",name:B==null?void 0:B.name})}}let sI=null,Zo=1;const sA=new Map;function LB(){return typeof performance!="undefined"?performance.now():Date.now()}function WA(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function _I(B,A,I){sI===B&&(sI=null);try{B.terminate()}catch(g){}for(const[g,Q]of sA)Q.owner===B&&(sA.delete(g),WA(Q),Q.reject(I==null||g===I?A:new Error("SVGA parser worker restarted after another request was canceled")))}function Vo(){if(!sI){const B=new Wo;sI=B,B.addEventListener("message",A=>{const I=A.data;if(!I||I.type!=="parse-svga-result"||I.id==null)return;const g=sA.get(I.id);if(!(!g||g.owner!==B))if(I.error)sA.delete(I.id),WA(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?LB():0;uQ(Q.buffer,Q.debug,g.mainThreadFrameBudgetMs,g.signal).then(E=>{var o;if(sA.get(I.id)!==g)return;sA.delete(I.id),WA(g);const i=(o=E.__debug)==null?void 0:o.parser;i&&typeof i=="object"&&!Array.isArray(i)&&(i.payloadDeserializeMs=LB()-C),g.resolve(E)},E=>{sA.get(I.id)===g&&(sA.delete(I.id),WA(g),g.reject(E instanceof Error?E:new Error(String(E))))})}else sA.delete(I.id),WA(g),g.resolve(I.result)}else sA.delete(I.id),WA(g),g.reject(new Error("SVGA worker: empty result"))}),B.addEventListener("error",A=>{_I(B,new Error(A.message||"SVGA parser worker error"))}),B.addEventListener("messageerror",()=>{_I(B,new Error("SVGA parser worker message deserialization failed"))})}return sI}function vo(B,A={}){return jg(()=>{Y(A.signal,"SVGA parser worker task aborted");const I=Vo(),g=Zo++;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=()=>{_I(I,$("SVGA parser worker task aborted"),g)},sA.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){_I(I,e instanceof Error?e:new Error(String(e)))}})},A.signal)}function Xo(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 qQ=`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);
2866
+ `,JB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",HQ],{type:"text/javascript;charset=utf-8"});function Wo(B){let A;try{if(A=JB&&(self.URL||self.webkitURL).createObjectURL(JB),!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(HQ),{type:"module",name:B==null?void 0:B.name})}}let sI=null,Zo=1;const sA=new Map;function LB(){return typeof performance!="undefined"?performance.now():Date.now()}function WA(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function zI(B,A,I){sI===B&&(sI=null);try{B.terminate()}catch(g){}for(const[g,Q]of sA)Q.owner===B&&(sA.delete(g),WA(Q),Q.reject(I==null||g===I?A:new Error("SVGA parser worker restarted after another request was canceled")))}function Vo(){if(!sI){const B=new Wo;sI=B,B.addEventListener("message",A=>{const I=A.data;if(!I||I.type!=="parse-svga-result"||I.id==null)return;const g=sA.get(I.id);if(!(!g||g.owner!==B))if(I.error)sA.delete(I.id),WA(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?LB():0;uQ(Q.buffer,Q.debug,g.mainThreadFrameBudgetMs,g.signal).then(E=>{var o;if(sA.get(I.id)!==g)return;sA.delete(I.id),WA(g);const i=(o=E.__debug)==null?void 0:o.parser;i&&typeof i=="object"&&!Array.isArray(i)&&(i.payloadDeserializeMs=LB()-C),g.resolve(E)},E=>{sA.get(I.id)===g&&(sA.delete(I.id),WA(g),g.reject(E instanceof Error?E:new Error(String(E))))})}else sA.delete(I.id),WA(g),g.resolve(I.result)}else sA.delete(I.id),WA(g),g.reject(new Error("SVGA worker: empty result"))}),B.addEventListener("error",A=>{zI(B,new Error(A.message||"SVGA parser worker error"))}),B.addEventListener("messageerror",()=>{zI(B,new Error("SVGA parser worker message deserialization failed"))})}return sI}function vo(B,A={}){return Og(()=>{Y(A.signal,"SVGA parser worker task aborted");const I=Vo(),g=Zo++;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=()=>{zI(I,$("SVGA parser worker task aborted"),g)},sA.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){zI(I,e instanceof Error?e:new Error(String(e)))}})},A.signal)}function Xo(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 qQ=`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
2867
  function o() {
2868
2868
  return typeof performance != "undefined" ? performance.now() : Date.now();
2869
2869
  }
@@ -2945,7 +2945,7 @@ p.onmessage = (e) => {
2945
2945
  !t || t.type !== "decode-batch" || P.push(() => T(t));
2946
2946
  };
2947
2947
  //# sourceMappingURL=svga-image-decode-worker-CQ1mbNml.js.map
2948
- `,fB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",qQ],{type:"text/javascript;charset=utf-8"});function Oo(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(qQ),{type:"module",name:B==null?void 0:B.name})}}let DI=null,jo=1;const NI=new Map;function pQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function $I(B,A,I){DI===B&&(DI=null);try{B.terminate()}catch(g){}for(const[g,Q]of NI)Q.owner===B&&(NI.delete(g),pQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA image decode worker restarted after another request was canceled")))}function Po(){if(!DI){const B=new Oo;DI=B,B.addEventListener("message",A=>{var I,g;const Q=A.data;if(!Q||Q.type!=="decode-batch-result")return;const C=NI.get(Q.id);if(!C||C.owner!==B){for(const E of(I=Q.results)!=null?I:[])(g=E.bitmap)==null||g.close();return}NI.delete(Q.id),pQ(C),C.resolve(Q)}),B.addEventListener("error",A=>{$I(B,new Error(A.message||"SVGA image decode worker error"))}),B.addEventListener("messageerror",()=>{$I(B,new Error("SVGA image decode worker message deserialization failed"))})}return DI}function zo(){return typeof Worker!="undefined"&&typeof createImageBitmap=="function"}async function _o(B,A,I){const g=QA({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 $o(B,A,I={}){return jg(async()=>{Y(I.signal,"SVGA image decode aborted");const g=Po(),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 _o(D,I.mainThreadFrameBudgetMs,I.signal);i.push({key:s,data:h}),e.push(h)}const a=jo++,t=await new Promise((s,D)=>{var h,w;const n={owner:g,signal:I.signal,resolve:s,reject:D};if(n.onAbort=()=>{$I(g,$("SVGA image decode aborted"),a)},NI.set(a,n),(h=I.signal)!=null&&h.aborted){n.onAbort();return}(w=I.signal)==null||w.addEventListener("abort",n.onAbort,{once:!0});const F={type:"decode-batch",id:a,items:i,workerTimeSliceMs:I.workerTimeSliceMs,maxConcurrency:I.maxConcurrency};try{g.postMessage(F,e)}catch(c){$I(g,c instanceof Error?c:new Error(String(c)))}});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 Sg=[73,68,51],Ae=128,lg=12,Ie=8,qI=new Map,VI=new WeakMap,pI=new WeakMap;function z(){return typeof performance!="undefined"?performance.now():Date.now()}function uB(B,A){B!==!0||!A.__debug||console.info("[GiftStage:SVGA:Profile]",A.__debug)}function ge(B,A){return!!(B.startsWith("audio")||A.length>=3&&A[0]===Sg[0]&&A[1]===Sg[1]&&A[2]===Sg[2])}async function Ag(B,A,I){const g=QA({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 Be(B,A,I){const g=[],Q=new Map,C=QA({maxBudgetMs:A});for(const[E,o]of B.images){if(Y(I,"SVGA image collection aborted"),ge(E,o)){Q.set(E,await Ag(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 HB(B,A,I,g){const Q=new Map,C=Math.max(2,Math.min(32,Math.floor(A))),E=QA({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(KA(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 qB(B,A,I){const g=new Map;if(B.length===0)return g;let Q=4;const C=2,E=24,o=QA({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 n=await createImageBitmap(new Blob([new Uint8Array(w)]),{premultiplyAlpha:"none"});if(I!=null&&I.aborted)throw n.close(),$("SVGA image decode aborted");g.set(h,n)}catch(n){if(KA(n))throw n}}));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 Qe(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:lg:Math.min(B.svgaLoadFrameBudgetMs,(I=B.imageDecodeFrameBudgetMs)!=null?I:lg);return{useImageBitmapDecodeWorker:(B==null?void 0:B.useImageBitmapDecodeWorker)!==!1,imageDecodeWorkerChunkSize:(g=B==null?void 0:B.imageDecodeWorkerChunkSize)!=null?g:Ae,imageDecodeAdaptiveOnMainThread:(B==null?void 0:B.imageDecodeAdaptiveOnMainThread)!==!1,imageDecodeFrameBudgetMs:i,imageDecodeFixedBatchSize:(Q=B==null?void 0:B.imageDecodeFixedBatchSize)!=null?Q:Ie,svgaLoadFrameBudgetMs:(C=B==null?void 0:B.svgaLoadFrameBudgetMs)!=null?C:lg,svgaWorkerFrameBudgetMs:(E=B==null?void 0:B.svgaWorkerFrameBudgetMs)!=null?E:4,svgaWorkerImageDecodeConcurrency:(o=B==null?void 0:B.svgaWorkerImageDecodeConcurrency)!=null?o:2}}async function Ce(B,A){var I;const g=Qe(A),{imageEntries:Q,audioBlobs:C}=await Be(B,g.svgaLoadFrameBudgetMs,A==null?void 0:A.signal);let E;if(g.useImageBitmapDecodeWorker&&zo()&&Q.length>0)try{E=await $o(Q,g.imageDecodeWorkerChunkSize,{workerTimeSliceMs:g.svgaWorkerFrameBudgetMs,maxConcurrency:g.svgaWorkerImageDecodeConcurrency,mainThreadFrameBudgetMs:g.svgaLoadFrameBudgetMs,signal:A==null?void 0:A.signal})}catch(i){if(KA(i))throw i;console.warn("[GiftStage:SVGA] image decode worker failed, using main thread",i),E=g.imageDecodeAdaptiveOnMainThread?await qB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await HB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal)}else E=g.imageDecodeAdaptiveOnMainThread?await qB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await HB(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 pB(B,A){return Ce(Xo(B),A)}async function mB(B,A,I){const g={};for(const[Q,C]of B.images)g[Q]=await Ag(C,A,I);return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:g}}function kg(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 mQ(B,A,I,g,Q){if(Y(Q==null?void 0:Q.signal,"SVGA parse aborted"),!A){const e=VI.get(B);if(e)return e;const a=pI.get(B);if(a)return kg(a,Q==null?void 0:Q.signal)}if(A){const e=_g(A);if(e)return e;const a=qI.get(A);if(a)return kg(a,Q==null?void 0:Q.signal)}const C=new AbortController,E=C.signal,o=pg(async()=>{var e;if(Y(E,"SVGA parse aborted"),g)try{const c=typeof B=="string"&&I.byteOffset===0&&I.byteLength===I.buffer.byteLength?I.buffer:await Ag(I,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),r=await vo(c,{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"),uB(Q==null?void 0:Q.svgaParseProfile,r),A?FB(A,r):VI.set(B,r),r}catch(F){if(KA(F))throw F;console.warn("[GiftStage:SVGA] worker parse failed, using main thread",F),I=typeof B=="string"?new Uint8Array(await xA(B)):new Uint8Array(B)}Y(E,"SVGA parse aborted");const a=Q!=null&&Q.svgaParseProfile?z():0;let t;const s=await so(I,()=>OA()&&hE(I),Q!=null&&Q.svgaParseProfile?F=>{t=F}:void 0);Y(E,"SVGA parse aborted");let D,h,w,n;if(OA()){const F=Q!=null&&Q.svgaParseProfile?z():0,c=Q!=null&&Q.svgaParseProfile?rE(s):null,r=(e=c==null?void 0:c.payload)!=null?e:nE(s);if(Y(E,"SVGA parse aborted"),r){Q!=null&&Q.svgaParseProfile&&(h={path:"wasmDecodeSVGAPayload",operation:"protobufDecodeAndPayloadBuild",inputBytes:s.byteLength,outputBytes:r.byteLength,totalMs:z()-F,wasm:c==null?void 0:c.profile});const G=Q!=null&&Q.svgaParseProfile?z():0,M=r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:await Ag(r,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E);D=await uQ(M,void 0,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(n=z()-G)}else{const G=Q!=null&&Q.svgaParseProfile?z():0;let M=wE(s);if(Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&M)h={path:"wasmDecodeSVGA",operation:"protobufDecodeAndObjectConvert",inputBytes:s.byteLength,totalMs:z()-G,fallbackFrom:["wasmDecodeSVGAPayload-returned-null"]};else{const R=Q!=null&&Q.svgaParseProfile?z():0;M=Tg(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 y=Q!=null&&Q.svgaParseProfile?z():0;D=await mB(M,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(w=z()-y)}}else{const F=Q!=null&&Q.svgaParseProfile?z():0,c=Tg(s);Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(h={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:z()-F});const r=Q!=null&&Q.svgaParseProfile?z():0;D=await mB(c,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(w=z()-r)}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:n}},uB(!0,D)),Y(E,"SVGA parse aborted"),A?FB(A,D):VI.set(B,D),D}),i={controller:C,consumers:0,settled:!1,promise:null};return i.promise=o.finally(()=>{i.settled=!0,A?qI.get(A)===i&&qI.delete(A):pI.get(B)===i&&pI.delete(B)}),A?qI.set(A,i):pI.set(B,i),kg(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 xA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=_g(g);if(E)return E.params}}else{I=new Uint8Array(B);const E=VI.get(B);if(E)return E.params}const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";return Og(A==null?void 0:A.svgaWorkerTaskConcurrency),(await mQ(B,g,I,Q,A)).params}async function vI(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 xA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=_g(g);if(E)return pg(async()=>pB(E,A))}}else I=new Uint8Array(B);const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";Og(A==null?void 0:A.svgaWorkerTaskConcurrency);const C=await mQ(B,g,I,Q,A);return pg(async()=>pB(C,A))}function ie(){return{rects:[],cursorX:0,shelfY:0,shelfH:0,usedW:0,usedH:0}}function xB(B){return B--,B|=B>>1,B|=B>>2,B|=B>>4,B|=B>>8,B|=B>>16,B+1}function oe(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 Wg(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,Wg(B,A,I,g,Q))}async function Ug(B,A,I,g,Q){const C=[];for(const o of B)C.push(oe(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(Wg(E[e],o,e,A,I)){i=!0;break}await Q()}if(!i){const e=ie(),a=E.length;if(!Wg(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 bB(B,A,I){const g=[];for(const Q of B)g.push({rects:Q.rects,atlasW:Math.min(A,xB(Math.max(1,Q.usedW))),atlasH:Math.min(A,xB(Math.max(1,Q.usedH)))}),await I();return g}async function ee(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 ae(B,A,I,g,Q){const C=Math.max(1,Math.floor(g)),E=await Ug(B,A,I,1,Q);if(E.length<=C)return bB(E,I,Q);let o=await ee(B,I,Q),i=1,e=await Ug(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 Ug(B,A,I,t,Q);s.length<=C?(e=s,o=t):i=t,await Q()}return bB(e,I,Q)}function te(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 xQ=`function x() {
2948
+ `,fB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",qQ],{type:"text/javascript;charset=utf-8"});function Oo(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(qQ),{type:"module",name:B==null?void 0:B.name})}}let DI=null,jo=1;const NI=new Map;function pQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function _I(B,A,I){DI===B&&(DI=null);try{B.terminate()}catch(g){}for(const[g,Q]of NI)Q.owner===B&&(NI.delete(g),pQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA image decode worker restarted after another request was canceled")))}function Po(){if(!DI){const B=new Oo;DI=B,B.addEventListener("message",A=>{var I,g;const Q=A.data;if(!Q||Q.type!=="decode-batch-result")return;const C=NI.get(Q.id);if(!C||C.owner!==B){for(const E of(I=Q.results)!=null?I:[])(g=E.bitmap)==null||g.close();return}NI.delete(Q.id),pQ(C),C.resolve(Q)}),B.addEventListener("error",A=>{_I(B,new Error(A.message||"SVGA image decode worker error"))}),B.addEventListener("messageerror",()=>{_I(B,new Error("SVGA image decode worker message deserialization failed"))})}return DI}function zo(){return typeof Worker!="undefined"&&typeof createImageBitmap=="function"}async function _o(B,A,I){const g=QA({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 $o(B,A,I={}){return Og(async()=>{Y(I.signal,"SVGA image decode aborted");const g=Po(),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 _o(D,I.mainThreadFrameBudgetMs,I.signal);i.push({key:s,data:h}),e.push(h)}const a=jo++,t=await new Promise((s,D)=>{var h,w;const n={owner:g,signal:I.signal,resolve:s,reject:D};if(n.onAbort=()=>{_I(g,$("SVGA image decode aborted"),a)},NI.set(a,n),(h=I.signal)!=null&&h.aborted){n.onAbort();return}(w=I.signal)==null||w.addEventListener("abort",n.onAbort,{once:!0});const F={type:"decode-batch",id:a,items:i,workerTimeSliceMs:I.workerTimeSliceMs,maxConcurrency:I.maxConcurrency};try{g.postMessage(F,e)}catch(c){_I(g,c instanceof Error?c:new Error(String(c)))}});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 Mg=[73,68,51],Ae=128,Ng=12,Ie=8,qI=new Map,ZI=new WeakMap,pI=new WeakMap;function z(){return typeof performance!="undefined"?performance.now():Date.now()}function uB(B,A){B!==!0||!A.__debug||console.info("[GiftStage:SVGA:Profile]",A.__debug)}function ge(B,A){return!!(B.startsWith("audio")||A.length>=3&&A[0]===Mg[0]&&A[1]===Mg[1]&&A[2]===Mg[2])}async function $I(B,A,I){const g=QA({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 Be(B,A,I){const g=[],Q=new Map,C=QA({maxBudgetMs:A});for(const[E,o]of B.images){if(Y(I,"SVGA image collection aborted"),ge(E,o)){Q.set(E,await $I(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 HB(B,A,I,g){const Q=new Map,C=Math.max(2,Math.min(32,Math.floor(A))),E=QA({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(KA(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 qB(B,A,I){const g=new Map;if(B.length===0)return g;let Q=4;const C=2,E=24,o=QA({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 n=await createImageBitmap(new Blob([new Uint8Array(w)]),{premultiplyAlpha:"none"});if(I!=null&&I.aborted)throw n.close(),$("SVGA image decode aborted");g.set(h,n)}catch(n){if(KA(n))throw n}}));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 Qe(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:Ng:Math.min(B.svgaLoadFrameBudgetMs,(I=B.imageDecodeFrameBudgetMs)!=null?I:Ng);return{useImageBitmapDecodeWorker:(B==null?void 0:B.useImageBitmapDecodeWorker)!==!1,imageDecodeWorkerChunkSize:(g=B==null?void 0:B.imageDecodeWorkerChunkSize)!=null?g:Ae,imageDecodeAdaptiveOnMainThread:(B==null?void 0:B.imageDecodeAdaptiveOnMainThread)!==!1,imageDecodeFrameBudgetMs:i,imageDecodeFixedBatchSize:(Q=B==null?void 0:B.imageDecodeFixedBatchSize)!=null?Q:Ie,svgaLoadFrameBudgetMs:(C=B==null?void 0:B.svgaLoadFrameBudgetMs)!=null?C:Ng,svgaWorkerFrameBudgetMs:(E=B==null?void 0:B.svgaWorkerFrameBudgetMs)!=null?E:4,svgaWorkerImageDecodeConcurrency:(o=B==null?void 0:B.svgaWorkerImageDecodeConcurrency)!=null?o:2}}async function Ce(B,A){var I;const g=Qe(A),{imageEntries:Q,audioBlobs:C}=await Be(B,g.svgaLoadFrameBudgetMs,A==null?void 0:A.signal);let E;if(g.useImageBitmapDecodeWorker&&zo()&&Q.length>0)try{E=await $o(Q,g.imageDecodeWorkerChunkSize,{workerTimeSliceMs:g.svgaWorkerFrameBudgetMs,maxConcurrency:g.svgaWorkerImageDecodeConcurrency,mainThreadFrameBudgetMs:g.svgaLoadFrameBudgetMs,signal:A==null?void 0:A.signal})}catch(i){if(KA(i))throw i;console.warn("[GiftStage:SVGA] image decode worker failed, using main thread",i),E=g.imageDecodeAdaptiveOnMainThread?await qB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await HB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal)}else E=g.imageDecodeAdaptiveOnMainThread?await qB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await HB(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 pB(B,A){return Ce(Xo(B),A)}async function mB(B,A,I){const g={};for(const[Q,C]of B.images)g[Q]=await $I(C,A,I);return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:g}}function Sg(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 mQ(B,A,I,g,Q){if(Y(Q==null?void 0:Q.signal,"SVGA parse aborted"),!A){const e=ZI.get(B);if(e)return e;const a=pI.get(B);if(a)return Sg(a,Q==null?void 0:Q.signal)}if(A){const e=zg(A);if(e)return e;const a=qI.get(A);if(a)return Sg(a,Q==null?void 0:Q.signal)}const C=new AbortController,E=C.signal,o=Hg(async()=>{var e;if(Y(E,"SVGA parse aborted"),g)try{const c=typeof B=="string"&&I.byteOffset===0&&I.byteLength===I.buffer.byteLength?I.buffer:await $I(I,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),r=await vo(c,{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"),uB(Q==null?void 0:Q.svgaParseProfile,r),A?FB(A,r):ZI.set(B,r),r}catch(F){if(KA(F))throw F;console.warn("[GiftStage:SVGA] worker parse failed, using main thread",F),I=typeof B=="string"?new Uint8Array(await xA(B)):new Uint8Array(B)}Y(E,"SVGA parse aborted");const a=Q!=null&&Q.svgaParseProfile?z():0;let t;const s=await so(I,()=>OA()&&hE(I),Q!=null&&Q.svgaParseProfile?F=>{t=F}:void 0);Y(E,"SVGA parse aborted");let D,h,w,n;if(OA()){const F=Q!=null&&Q.svgaParseProfile?z():0,c=Q!=null&&Q.svgaParseProfile?rE(s):null,r=(e=c==null?void 0:c.payload)!=null?e:nE(s);if(Y(E,"SVGA parse aborted"),r){Q!=null&&Q.svgaParseProfile&&(h={path:"wasmDecodeSVGAPayload",operation:"protobufDecodeAndPayloadBuild",inputBytes:s.byteLength,outputBytes:r.byteLength,totalMs:z()-F,wasm:c==null?void 0:c.profile});const G=Q!=null&&Q.svgaParseProfile?z():0,M=r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:await $I(r,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E);D=await uQ(M,void 0,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(n=z()-G)}else{const G=Q!=null&&Q.svgaParseProfile?z():0;let M=wE(s);if(Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&M)h={path:"wasmDecodeSVGA",operation:"protobufDecodeAndObjectConvert",inputBytes:s.byteLength,totalMs:z()-G,fallbackFrom:["wasmDecodeSVGAPayload-returned-null"]};else{const R=Q!=null&&Q.svgaParseProfile?z():0;M=bg(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 y=Q!=null&&Q.svgaParseProfile?z():0;D=await mB(M,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(w=z()-y)}}else{const F=Q!=null&&Q.svgaParseProfile?z():0,c=bg(s);Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(h={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:z()-F});const r=Q!=null&&Q.svgaParseProfile?z():0;D=await mB(c,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(w=z()-r)}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:n}},uB(!0,D)),Y(E,"SVGA parse aborted"),A?FB(A,D):ZI.set(B,D),D}),i={controller:C,consumers:0,settled:!1,promise:null};return i.promise=o.finally(()=>{i.settled=!0,A?qI.get(A)===i&&qI.delete(A):pI.get(B)===i&&pI.delete(B)}),A?qI.set(A,i):pI.set(B,i),Sg(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 xA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=zg(g);if(E)return E.params}}else{I=new Uint8Array(B);const E=ZI.get(B);if(E)return E.params}const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";return Xg(A==null?void 0:A.svgaWorkerTaskConcurrency),(await mQ(B,g,I,Q,A)).params}async function VI(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 xA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=zg(g);if(E)return Hg(async()=>pB(E,A))}}else I=new Uint8Array(B);const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";Xg(A==null?void 0:A.svgaWorkerTaskConcurrency);const C=await mQ(B,g,I,Q,A);return Hg(async()=>pB(C,A))}function ie(){return{rects:[],cursorX:0,shelfY:0,shelfH:0,usedW:0,usedH:0}}function xB(B){return B--,B|=B>>1,B|=B>>2,B|=B>>4,B|=B>>8,B|=B>>16,B+1}function oe(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 Tg(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,Tg(B,A,I,g,Q))}async function lg(B,A,I,g,Q){const C=[];for(const o of B)C.push(oe(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(Tg(E[e],o,e,A,I)){i=!0;break}await Q()}if(!i){const e=ie(),a=E.length;if(!Tg(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 bB(B,A,I){const g=[];for(const Q of B)g.push({rects:Q.rects,atlasW:Math.min(A,xB(Math.max(1,Q.usedW))),atlasH:Math.min(A,xB(Math.max(1,Q.usedH)))}),await I();return g}async function ee(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 ae(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 bB(E,I,Q);let o=await ee(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 a=0;a<16;a++){const t=(o+i)*.5,s=await lg(B,A,I,t,Q);s.length<=C?(e=s,o=t):i=t,await Q()}return bB(e,I,Q)}function te(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 xQ=`function x() {
2949
2949
  return {
2950
2950
  rects: [],
2951
2951
  cursorX: 0,
@@ -3208,7 +3208,7 @@ m.onmessage = (t) => {
3208
3208
  !e || e.type !== "build-svga-atlas" || Y.push(() => $(e));
3209
3209
  };
3210
3210
  //# sourceMappingURL=svga-atlas-worker-B7n5WXUn.js.map
3211
- `,TB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",xQ],{type:"text/javascript;charset=utf-8"});function se(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(xQ),{type:"module",name:B==null?void 0:B.name})}}class dA extends Error{constructor(A,I){super(A,I),this.name="SVGAAtlasWorkerBuildError"}}let hI=null,De=1;const SI=new Map,wI=new Map;function nI(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function Ig(B,A,I){hI===B&&(hI=null);try{B.terminate()}catch(g){}for(const[g,Q]of SI)Q.owner===B&&(SI.delete(g),nI(Q),Q.releaseGate(),Q.reject(I==null||g===I?A:new dA("SVGA atlas worker restarted after another request was canceled")));for(const[g,Q]of wI)if(Q.owner===B){wI.delete(g),nI(Q),Q.releaseGate();for(const C of Q.resolve)C(null)}}function he(){if(!hI){const B=new se;hI=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=wI.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&&(wI.delete(C.id),nI(e),e.releaseGate());return}if(C.type!=="build-svga-atlas-result")return;const E=SI.get(C.id);if(!E||E.owner!==B){for(const e of(I=C.pages)!=null?I:[])e.bitmap.close();return}if(SI.delete(C.id),C.error){nI(E),E.releaseGate(),E.reject(new dA(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)})),wI.set(C.id,{owner:B,remaining:o.length,releaseGate:E.releaseGate,signal:E.signal,onAbort:E.onAbort,resolve:e})}else nI(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=>{Ig(B,new dA(A.message||"SVGA atlas worker error"))}),B.addEventListener("messageerror",()=>{Ig(B,new dA("SVGA atlas worker message deserialization failed"))})}return hI}function bQ(){return typeof Worker!="undefined"&&$B()&&typeof OffscreenCanvas.prototype.transferToImageBitmap=="function"}async function we(B,A){if(!bQ())return Promise.reject(new Error("SVGA atlas worker unavailable"));const I=await jE(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=he()}catch(o){throw I(),new dA("SVGA atlas worker creation failed",{cause:o})}const E=De++;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=()=>{Ig(C,new dA("SVGA atlas worker task aborted",{cause:$("SVGA atlas worker task aborted")}),E)},SI.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){Ig(C,new dA("SVGA atlas worker postMessage failed",{cause:s}))}})}catch(g){throw I(),g}}function ne(B,A){if($B())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 re(B){return B.getContext("2d")}async function ce(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 TQ(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 Fe(B,A,I,g,Q){var C;const E=QA({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 ae(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=ne(D.atlasW,D.atlasH),w=re(h);if(!w)throw new Error("Atlas: 2d context unavailable");w.clearRect(0,0,D.atlasW,D.atlasH);for(let c=0;c<D.rects.length;c++){const r=D.rects[c],G=B.get(r.key);w.drawImage(G,r.x,r.y,r.w,r.h),te(h,w,r,D.atlasW,D.atlasH,g),c+1<D.rects.length&&E.shouldYield()&&await E.yield(),Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted")}const n=(Q==null?void 0:Q.captureEncodedPng)===!0?ce(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 c of D.rects)a.set(c.key,{x:c.x/D.atlasW,y:c.y/D.atlasH,w:c.w/D.atlasW,h:c.h/D.atlasH,textureIndex:s});t.push({textureHandle:F,atlasWidth:D.atlasW,atlasHeight:D.atlasH,encodedPngBytesPromise:n})}}catch(s){for(const D of t)A.deleteTexture(D.textureHandle);throw s}return TQ(t,a)}async function Ge(B,A,I,g,Q){var C;const E=await we(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=QA({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 TQ(i,o)}async function WQ(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&&bQ()?Ge(B,A,E,g,Q):Fe(B,A,E,g,Q)}function Re(B){return B}function ye(B){return B*B}function Me(B){return B*(2-B)}function Ne(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 Se(B){return B<.5?4*B*B*B:(B-1)*(2*B-2)*(2*B-2)+1}function le(B){return 1+2.70158*Math.pow(B-1,3)+1.70158*Math.pow(B-1,2)}let mI=null;function VQ(){return mI||(mI=Promise.resolve().then(()=>require("./mp4box.all-DH-U-29f.cjs")).catch(B=>{throw mI=null,B})),mI}const ke=800;function Ue(B){return B.startsWith("avc1")||B.startsWith("avc3")}function Ye(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 de(B){const A=B.avcC;if(!A)return;const{DataStream:I}=await VQ(),g=new I;A.write(g);const Q=g.byteLength;if(Q<=0)return;const C=g.buffer.slice(0,Q);return Ye(C)}async function Ke(B){const{createFile:A}=await VQ();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(!Ue(h.codec)){g(new Error(`mp4box: unsupported video codec ${h.codec}`));return}if(h.nb_samples>ke){g(new Error(`mp4box: too many samples (${h.nb_samples})`));return}const w=[];Q.onSamples=(F,c,r)=>{w.push(...r)},Q.setExtractionOptions(h.id,null,{nbSamples:Math.max(h.nb_samples,1)}),Q.start();const n=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(n)?n: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 WB=25e3;async function Je(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 Le(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 ${WB}ms (${JSON.stringify(A)})`)),WB)})])}catch(I){try{B.close()}catch(g){}throw I}}async function fe(B,A,I,g){var Q,C;if(I.length===0)return{frames:[],timesSec:new Float64Array(0)};const E=[...I].sort((h,w)=>{var n,F,c,r;const G=((F=(n=h.dts)!=null?n:h.cts)!=null?F:0)-((r=(c=w.dts)!=null?c:w.cts)!=null?r:0);return G!==0?G:0}),o=[],i=new VideoDecoder({output:h=>{o.push(h)},error:h=>{throw h}}),e=await He(B,A);i.configure(e);let a=0;for(const h of E){const w=h.data;if(!w||w.byteLength===0)continue;const n=(C=(Q=h.cts)!=null?Q:h.dts)!=null?C:0,F=Math.round(n/g*1e6),c=h.duration&&g>0?Math.round(h.duration/g*1e6):void 0,r=new Uint8Array(w.byteLength);r.set(w);const G=new EncodedVideoChunk({type:h.is_sync?"key":"delta",timestamp:F,duration:c,data:r});try{i.decode(G)}catch(M){console.error("[GiftStage:WC] decoder.decode failed",{chunkIndex:a,err:M});try{i.close()}catch(y){}throw M}a++,await new Promise(M=>queueMicrotask(M))}await Je(i,"after last decode",1e4);const t=i.decodeQueueSize,s=o.length;await Le(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 Yg(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 ue(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 He(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 qe(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 pe=Object.defineProperty,me=(B,A,I)=>A in B?pe(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,O=(B,A,I)=>me(B,typeof A!="symbol"?A+"":A,I);const xe=28,be=8;class Te{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 ZB(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 We=1;class mA{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:xe,i=(C=g==null?void 0:g.decodeAheadFrames)!=null?C:be;let e;if(typeof A=="string"?e=await Ze(A,I):e=A,E&&typeof Worker!="undefined"){const a=e.slice(0);try{return await mA.createViaWorker(a,o,i)}catch(t){console.warn("[GiftStage:WC] Worker decode failed, falling back to main thread",t)}}return mA.createOnMainThread(e,o,i)}static async createViaWorker(A,I,g){const Q=new qe,C=We++,E=new Te(I);let o=0,i=0,e=0,a=new Float64Array(0),t=!1,s=null;const D=c=>{const r=c.data;if(!(!r||r.id!==C)){if(r.type==="meta"){o=r.duration,i=r.videoWidth,e=r.videoHeight;const G=r.timesSec;a=new Float64Array(G.buffer,G.byteOffset,G.length),t=!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=c=>{s=new Error(c.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 ZB(()=>t||s!=null,6e4,"meta"),s)throw s;const c=o>0?o:1e-6,r=Yg(a,c,0);if(await ZB(()=>s!=null||E.bestAtOrBefore(r)!=null,6e4,"first frame"),s)throw s}catch(c){throw Q.removeEventListener("message",D),Q.removeEventListener("error",h),Q.terminate(),E.clear(),c instanceof Error?c:new Error(String(c))}const n=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=[${n.toFixed(4)} … ${F.toFixed(4)}] ring=${I}`),new mA(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 Ke(A);if(Q.samples.length===0)throw new Error("mp4box: no samples");const E=Q.samples[0].description,o=E?await de(E):void 0;console.info("[GiftStage:WC] VideoDecoder decode (main thread)…");const{frames:i,timesSec:e}=await fe(Q.codec,o,Q.samples,Q.timescale),a=i[i.length-1],t=ue(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 mA(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=Yg(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=Yg(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 Ze(B,A){return xA(B,A)}function VB(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=DA(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),dg(C,E,e);({w:t,h:s}=pA(Q.info))}if(!(t>0)||!(s>0))return e=Math.min(1,o/C,i/E),dg(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 dg(C,E,e)}function dg(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 Ve=Object.defineProperty,ve=(B,A,I)=>A in B?Ve(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,iA=(B,A,I)=>ve(B,typeof A!="symbol"?A+"":A,I);const lI=9;function Xe(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 gg(B,A,I,g,Q,C){return[B/Q,(B+I)/Q,(C-A-g)/C,(C-A)/C]}function vB(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 Oe(B,A,I){const g=vB(B,B.VERTEX_SHADER,A),Q=vB(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 XB(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 je(B){const[A,I,g,Q]=B.rgbFrame,[C,E,o,i]=B.aFrame,e=gg(A,I,g,Q,B.videoW,B.videoH),a=gg(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 Pe(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":""}
3211
+ `,TB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",xQ],{type:"text/javascript;charset=utf-8"});function se(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(xQ),{type:"module",name:B==null?void 0:B.name})}}class dA extends Error{constructor(A,I){super(A,I),this.name="SVGAAtlasWorkerBuildError"}}let hI=null,De=1;const SI=new Map,wI=new Map;function nI(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function Ag(B,A,I){hI===B&&(hI=null);try{B.terminate()}catch(g){}for(const[g,Q]of SI)Q.owner===B&&(SI.delete(g),nI(Q),Q.releaseGate(),Q.reject(I==null||g===I?A:new dA("SVGA atlas worker restarted after another request was canceled")));for(const[g,Q]of wI)if(Q.owner===B){wI.delete(g),nI(Q),Q.releaseGate();for(const C of Q.resolve)C(null)}}function he(){if(!hI){const B=new se;hI=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=wI.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&&(wI.delete(C.id),nI(e),e.releaseGate());return}if(C.type!=="build-svga-atlas-result")return;const E=SI.get(C.id);if(!E||E.owner!==B){for(const e of(I=C.pages)!=null?I:[])e.bitmap.close();return}if(SI.delete(C.id),C.error){nI(E),E.releaseGate(),E.reject(new dA(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)})),wI.set(C.id,{owner:B,remaining:o.length,releaseGate:E.releaseGate,signal:E.signal,onAbort:E.onAbort,resolve:e})}else nI(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=>{Ag(B,new dA(A.message||"SVGA atlas worker error"))}),B.addEventListener("messageerror",()=>{Ag(B,new dA("SVGA atlas worker message deserialization failed"))})}return hI}function bQ(){return typeof Worker!="undefined"&&$B()&&typeof OffscreenCanvas.prototype.transferToImageBitmap=="function"}async function we(B,A){if(!bQ())return Promise.reject(new Error("SVGA atlas worker unavailable"));const I=await jE(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=he()}catch(o){throw I(),new dA("SVGA atlas worker creation failed",{cause:o})}const E=De++;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=()=>{Ag(C,new dA("SVGA atlas worker task aborted",{cause:$("SVGA atlas worker task aborted")}),E)},SI.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){Ag(C,new dA("SVGA atlas worker postMessage failed",{cause:s}))}})}catch(g){throw I(),g}}function ne(B,A){if($B())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 re(B){return B.getContext("2d")}async function ce(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 TQ(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 Fe(B,A,I,g,Q){var C;const E=QA({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 ae(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=ne(D.atlasW,D.atlasH),w=re(h);if(!w)throw new Error("Atlas: 2d context unavailable");w.clearRect(0,0,D.atlasW,D.atlasH);for(let c=0;c<D.rects.length;c++){const r=D.rects[c],G=B.get(r.key);w.drawImage(G,r.x,r.y,r.w,r.h),te(h,w,r,D.atlasW,D.atlasH,g),c+1<D.rects.length&&E.shouldYield()&&await E.yield(),Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted")}const n=(Q==null?void 0:Q.captureEncodedPng)===!0?ce(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 c of D.rects)a.set(c.key,{x:c.x/D.atlasW,y:c.y/D.atlasH,w:c.w/D.atlasW,h:c.h/D.atlasH,textureIndex:s});t.push({textureHandle:F,atlasWidth:D.atlasW,atlasHeight:D.atlasH,encodedPngBytesPromise:n})}}catch(s){for(const D of t)A.deleteTexture(D.textureHandle);throw s}return TQ(t,a)}async function Ge(B,A,I,g,Q){var C;const E=await we(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=QA({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 TQ(i,o)}async function WQ(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&&bQ()?Ge(B,A,E,g,Q):Fe(B,A,E,g,Q)}function Re(B){return B}function ye(B){return B*B}function Me(B){return B*(2-B)}function Ne(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 Se(B){return B<.5?4*B*B*B:(B-1)*(2*B-2)*(2*B-2)+1}function le(B){return 1+2.70158*Math.pow(B-1,3)+1.70158*Math.pow(B-1,2)}let mI=null;function VQ(){return mI||(mI=Promise.resolve().then(()=>require("./mp4box.all-DH-U-29f.cjs")).catch(B=>{throw mI=null,B})),mI}const ke=800;function Ue(B){return B.startsWith("avc1")||B.startsWith("avc3")}function Ye(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 de(B){const A=B.avcC;if(!A)return;const{DataStream:I}=await VQ(),g=new I;A.write(g);const Q=g.byteLength;if(Q<=0)return;const C=g.buffer.slice(0,Q);return Ye(C)}async function Ke(B){const{createFile:A}=await VQ();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(!Ue(h.codec)){g(new Error(`mp4box: unsupported video codec ${h.codec}`));return}if(h.nb_samples>ke){g(new Error(`mp4box: too many samples (${h.nb_samples})`));return}const w=[];Q.onSamples=(F,c,r)=>{w.push(...r)},Q.setExtractionOptions(h.id,null,{nbSamples:Math.max(h.nb_samples,1)}),Q.start();const n=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(n)?n: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 WB=25e3;async function Je(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 Le(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 ${WB}ms (${JSON.stringify(A)})`)),WB)})])}catch(I){try{B.close()}catch(g){}throw I}}async function fe(B,A,I,g){var Q,C;if(I.length===0)return{frames:[],timesSec:new Float64Array(0)};const E=[...I].sort((h,w)=>{var n,F,c,r;const G=((F=(n=h.dts)!=null?n:h.cts)!=null?F:0)-((r=(c=w.dts)!=null?c:w.cts)!=null?r:0);return G!==0?G:0}),o=[],i=new VideoDecoder({output:h=>{o.push(h)},error:h=>{throw h}}),e=await He(B,A);i.configure(e);let a=0;for(const h of E){const w=h.data;if(!w||w.byteLength===0)continue;const n=(C=(Q=h.cts)!=null?Q:h.dts)!=null?C:0,F=Math.round(n/g*1e6),c=h.duration&&g>0?Math.round(h.duration/g*1e6):void 0,r=new Uint8Array(w.byteLength);r.set(w);const G=new EncodedVideoChunk({type:h.is_sync?"key":"delta",timestamp:F,duration:c,data:r});try{i.decode(G)}catch(M){console.error("[GiftStage:WC] decoder.decode failed",{chunkIndex:a,err:M});try{i.close()}catch(y){}throw M}a++,await new Promise(M=>queueMicrotask(M))}await Je(i,"after last decode",1e4);const t=i.decodeQueueSize,s=o.length;await Le(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 ue(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 He(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 qe(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 pe=Object.defineProperty,me=(B,A,I)=>A in B?pe(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,O=(B,A,I)=>me(B,typeof A!="symbol"?A+"":A,I);const xe=28,be=8;class Te{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 ZB(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 We=1;class mA{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:xe,i=(C=g==null?void 0:g.decodeAheadFrames)!=null?C:be;let e;if(typeof A=="string"?e=await Ze(A,I):e=A,E&&typeof Worker!="undefined"){const a=e.slice(0);try{return await mA.createViaWorker(a,o,i)}catch(t){console.warn("[GiftStage:WC] Worker decode failed, falling back to main thread",t)}}return mA.createOnMainThread(e,o,i)}static async createViaWorker(A,I,g){const Q=new qe,C=We++,E=new Te(I);let o=0,i=0,e=0,a=new Float64Array(0),t=!1,s=null;const D=c=>{const r=c.data;if(!(!r||r.id!==C)){if(r.type==="meta"){o=r.duration,i=r.videoWidth,e=r.videoHeight;const G=r.timesSec;a=new Float64Array(G.buffer,G.byteOffset,G.length),t=!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=c=>{s=new Error(c.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 ZB(()=>t||s!=null,6e4,"meta"),s)throw s;const c=o>0?o:1e-6,r=kg(a,c,0);if(await ZB(()=>s!=null||E.bestAtOrBefore(r)!=null,6e4,"first frame"),s)throw s}catch(c){throw Q.removeEventListener("message",D),Q.removeEventListener("error",h),Q.terminate(),E.clear(),c instanceof Error?c:new Error(String(c))}const n=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=[${n.toFixed(4)} … ${F.toFixed(4)}] ring=${I}`),new mA(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 Ke(A);if(Q.samples.length===0)throw new Error("mp4box: no samples");const E=Q.samples[0].description,o=E?await de(E):void 0;console.info("[GiftStage:WC] VideoDecoder decode (main thread)…");const{frames:i,timesSec:e}=await fe(Q.codec,o,Q.samples,Q.timescale),a=i[i.length-1],t=ue(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 mA(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 Ze(B,A){return xA(B,A)}function VB(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=DA(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),Ug(C,E,e);({w:t,h:s}=pA(Q.info))}if(!(t>0)||!(s>0))return e=Math.min(1,o/C,i/E),Ug(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 Ug(C,E,e)}function Ug(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 Ve=Object.defineProperty,ve=(B,A,I)=>A in B?Ve(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,iA=(B,A,I)=>ve(B,typeof A!="symbol"?A+"":A,I);const lI=9;function Xe(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 Ig(B,A,I,g,Q,C){return[B/Q,(B+I)/Q,(C-A-g)/C,(C-A)/C]}function vB(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 Oe(B,A,I){const g=vB(B,B.VERTEX_SHADER,A),Q=vB(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 XB(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 je(B){const[A,I,g,Q]=B.rgbFrame,[C,E,o,i]=B.aFrame,e=Ig(A,I,g,Q,B.videoW,B.videoH),a=Ig(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 Pe(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
3212
  precision lowp float;
3213
3213
  ${I?"in":"varying"} vec2 v_texcoord;
3214
3214
  ${I?"in":"varying"} vec2 v_alpha_texCoord;
@@ -3281,5 +3281,5 @@ m.onmessage = (t) => {
3281
3281
  v_texcoord = a_texCoord;
3282
3282
  v_alpha_texCoord = a_alpha_texCoord;
3283
3283
  }
3284
- `}function _e(B,A,I){return{vertex:ze(I),fragment:Pe(B,A,I)}}function $e(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 a=I.get(String(e.srcId));if(!a)continue;if(i+lI>Q.length)break;const[t,s,D,h]=e.frame,[w,n,F,c]=e.mFrame,r=gg(t+E,s+o,D,h,B.info.videoW,B.info.videoH),G=gg(w,n,F,c,B.info.videoW,B.info.videoH);Q[i++]=a,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 Aa{constructor(A,I,g,Q,C,E=!0){this.config=A,this.frameMap=I,iA(this,"canvas"),iA(this,"gl"),iA(this,"program"),iA(this,"vertexShader"),iA(this,"fragmentShader"),iA(this,"vertexBuffer"),iA(this,"videoTexture"),iA(this,"imagePosLoc"),iA(this,"imagePositionsScratch"),iA(this,"resourceEntries"),iA(this,"textureUnitBySrcId",new Map),iA(this,"videoTextureWidth",1),iA(this,"videoTextureHeight",1);var o;if(g.size===0)throw new Error("VAP mix composer requires at least one slot resource");this.canvas=Xe(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 L=XB(a,h,U.source,!0),l={srcId:String(N.srcId),unit:h,texture:L};D.push(l),this.textureUnitBySrcId.set(l.srcId,l.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*lI);const n=_e(this.resourceEntries.length,w,e),F=Oe(a,n.vertex,n.fragment);this.program=F.program,this.vertexShader=F.vertexShader,this.fragmentShader=F.fragmentShader,this.imagePosLoc=a.getUniformLocation(this.program,"image_pos"),this.videoTexture=XB(a,0);const c=a.getUniformLocation(this.program,"u_image_video");c!==null&&a.uniform1i(c,0);const r=a.getUniformLocation(this.program,"u_rgbPremultiplied");r!==null&&a.uniform1f(r,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,je(A.info),a.STATIC_DRAW);const M=6*Float32Array.BYTES_PER_ELEMENT,y=a.getAttribLocation(this.program,"a_position"),R=a.getAttribLocation(this.program,"a_texCoord"),S=a.getAttribLocation(this.program,"a_alpha_texCoord");a.enableVertexAttribArray(y),a.vertexAttribPointer(y,2,a.FLOAT,!1,M,0),a.enableVertexAttribArray(R),a.vertexAttribPointer(R,2,a.FLOAT,!1,M,2*Float32Array.BYTES_PER_ELEMENT),a.enableVertexAttribArray(S),a.vertexAttribPointer(S,2,a.FLOAT,!1,M,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=rI(A),C=cI(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=$e(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 Ia=Object.defineProperty,ga=(B,A,I)=>A in B?Ia(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,MA=(B,A,I)=>ga(B,typeof A!="symbol"?A+"":A,I);const vQ=1397178947,XQ=14,Ba=8,RA=64*1024;function OQ(B){return B+3&-4}class Qa{constructor(A=1024){MA(this,"buffer"),MA(this,"view"),MA(this,"bytes"),MA(this,"offset",0),MA(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+=RA){const i=Math.min(o+RA,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+=RA){const Q=Math.min(g+RA,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=OQ(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+=RA){const C=Math.min(Q+RA,g.byteLength);I.set(g.subarray(Q,C),Q),C<g.byteLength&&A.shouldYield()&&await A.yield()}return I.buffer}}class Ca{constructor(A){this.buffer=A,MA(this,"view"),MA(this,"bytes"),MA(this,"offset",0),MA(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=OQ(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+=RA){const E=Math.min(C+RA,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 jQ(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 eA(B){B.shouldYield()&&await B.yield()}async function Ea(B,A){var I,g,Q;const C=B.spriteTable,E=QA({maxBudgetMs:A}),o=()=>eA(E),i=new Qa(Ba+jQ(B)+RA);i.u32(vQ),i.u16(XQ),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 eA(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 eA(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 eA(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 eA(E);if(await Ho(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 eA(E);return i.finishCooperative(E)}async function ia(B,A){const I=QA({maxBudgetMs:A}),g=new Ca(B);if(g.u32()!==vQ)throw new Error("Invalid SVGA cache binary magic");if(g.u16()!==XQ)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 n=0;n<C;n++){const F=g.u32(),c=g.u32(),r=await g.ownedBytesValueCooperative(I);E.push({width:F,height:c,imageBytes:r}),await eA(I)}const o=g.u32(),i=new Map;for(let n=0;n<o;n++){const F=g.string(),c=g.u32();i.set(F,{textureIndex:c,x:g.f32(),y:g.f32(),w:g.f32(),h:g.f32()}),await eA(I)}const e=g.u32(),a=[];for(let n=0;n<e;n++)a.push({audioKey:g.string(),startFrame:g.u32(),endFrame:g.u32(),startTime:g.f32(),totalTime:g.f32()}),await eA(I);const t=g.u32(),s=new Map;for(let n=0;n<t;n++){const F=g.string();s.set(F,await g.ownedBytesValueCooperative(I)),await eA(I)}const D=await fQ(g,()=>eA(I)),h=g.u32(),w=new Map;for(let n=0;n<h;n++){const F=g.string(),c=new Float32Array(await g.ownedBytesValueCooperative(I)),r=new Uint32Array(await g.ownedBytesValueCooperative(I));F&&c.length>=6&&r.length>=3&&w.set(F,{vertices:c,indices:r}),await eA(I)}return{params:Q,spriteTable:D,audios:a,audioBlobs:s,atlasRects:i,atlasPages:E,clipMeshes:w}}function Zg(B){return`svga-asset:${B}`}function Vg(B){return`svga-asset-bin:${B}`}async function oa(B,A={}){const I=li(Zg(B),"svga-asset");if(I)return I;const g=await ki(Vg(B));if(!g)return null;try{const Q=await ia(g,A.frameBudgetMs);return cQ(Zg(B),"svga-asset",Q,g.byteLength),Q}catch(Q){return Yi(Vg(B)),null}}async function Kg(B,A,I={}){const g=await Ea(A,I.frameBudgetMs);cQ(Zg(B),"svga-asset",A,Math.max(g.byteLength,jQ(A))),await Ui(Vg(B),g)}function kA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function ea(B,A){const I=kA(B)?B*.5:0,g=kA(A)?A:0;return{width:I,height:g}}function aa(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 ta(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 OB(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 Jg(B,A){Y(A,"Image loading aborted");const I=typeof B=="string"?await xA(B,A):B;Y(A,"Image loading aborted");const g=new Uint8Array(I),Q=new Blob([g],{type:ta(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"),OB(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 OB(Q,A)}var sa=Object.defineProperty,Da=(B,A,I)=>A in B?sa(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,q=(B,A,I)=>Da(B,typeof A!="symbol"?A+"":A,I);function jB(B){return Number.isFinite(B)?Math.max(0,Math.min(1,B)):1}function ha(B){return"delayMs"in B}const v="GiftStage load canceled";function lA(B){let A=!1;return()=>{A||(A=!0,B())}}function wa(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 $A=class uA{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;ZC(this.canvas,this.backingStoreDpr(),this.options.maxRenderSize),(A=this.manager)==null||A.syncSlotLayoutFromOptions()}resourcePipelineConcurrency(){return wa(this.options.maxConcurrentParse)}async init(){var A,I;this.syncCanvasSize(),await new Promise(E=>requestAnimationFrame(()=>E())),this.syncCanvasSize(),Ni({maxConcurrent:this.resourcePipelineConcurrency(),maxMemoryBytes:uA.DEFAULT_RESOURCE_CACHE_MEMORY_BYTES,maxPersistentBytes:uA.DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES}),Og((A=this.options.svgaWorkerTaskConcurrency)!=null?A:1);const g=(I=this.options.preferWebGPU)!=null?I:!0,Q=this.options.antialias,[C]=await Promise.all([AQ(this.canvas,g,Q,this.options.forceWebGL1===!0),oQ()]);this.backend=C,this.manager=new dQ(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 KA(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 mg(A.config),g=pA(I.info);return{width:g.w,height:g.h}}case"alphaVideo":return this.probeVideoNaturalSize(A.source,"alphaVideo");case"image":{const I=await Jg(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=aa({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}=fg(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:jB((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);return this.manager.postAnimator.startTweenPromise(A,Q.targetX,Q.targetY,Q.targetScale,Q.duration,Q.easing,()=>{var C;return(C=g.onComplete)==null?void 0:C.call(g,I)},Q.targetOpacity,Q.targetRotation)}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 n=!1;for(const F of Q){if(o||!((h=this.manager)!=null&&h.getSlot(A.id))||A.state==="finished"){n=!0;break}ha(F)?await a(F.delayMs):await this.runGiftAnimationStep(A,I,F)}if(!n&&!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;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 a=null;A.type==="image"&&(a=await this.acquireImageTexture(A.source));let t;try{t=await this.normalizeAddGiftOptions(A,a?{width:a.width,height:a.height}:void 0)}catch(r){throw a==null||a.release(),r}if(this.destroyed)throw a==null||a.release(),new Error("GiftStage is destroyed");const s=aQ(),{sx:D,sy:h}=fg(this.canvas),w=YQ(t.x,t.y,t.width,t.height,this.canvas.clientWidth,this.canvas.clientHeight),n={id:s,type:t.type,state:"loading",options:t,zIndex:(I=t.zIndex)!=null?I:0,renderOrder:this.nextRenderOrder++,x:w.x*D,y:w.y*h,width:t.width*D,height:t.height*h,scale:1,opacity:jB((g=t.opacity)!=null?g:1),rotation:Number.isFinite(t.rotation)?t.rotation:0,paused:!1,currentFrame:0,accumulatedTime:0,lastTickTime:0,loopCount:0,videoEntity:null,loadAbortController:new AbortController,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=a==null?void 0:a.texture)!=null?Q:null,releaseSharedImageTexture:(C=a==null?void 0:a.release)!=null?C:null,webcodecsSurface:null,releaseWebCodecsSurface:null,vapMixState:null,onComplete:void 0};let F;F={id:s,type:t.type,pause:()=>{var r;n.paused=!0,(r=this.manager)==null||r.postAnimator.pauseForGift(n.id)},resume:()=>{var r;n.paused=!1,(r=this.manager)==null||r.postAnimator.resumeForGift(n.id)},destroy:()=>{this.removeGift(s)},animate:r=>this.createGiftAnimationChain(n,F,r)};const c=t.onComplete;n.onComplete=r=>{this.markGiftPlaybackComplete(n.id),c==null||c(r)},this.manager.addSlot(n,F);try{switch(t.type){case"svga":await this.loadSVGA(n);break;case"vap":await this.loadVAP(n,t);break;case"alphaVideo":await this.loadAlphaVideo(n,t);break;case"image":break}this.assertSlotLoadActive(n),n.state="playing",t.type==="svga"&&n.videoEntity&&this.manager.audioManager.tickFrame(n,n.currentFrame,F),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}}),t.type==="image"&&!(t.duration>0)&&this.markGiftPlaybackComplete(n.id)}catch(r){if(this.isLoadCanceled(r))return((E=this.manager)==null?void 0:E.getSlot(n.id))===n?this.manager.removeSlot(n.id):(o=this.manager)==null||o.releaseSlotResources(n),F;n.state="finished",(e=(i=this.options).onError)==null||e.call(i,r instanceof Error?r:new Error(String(r)))}return F}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 vI(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)||Kg(E,{params:i.params,spriteTable:i.spriteTable,audios:i.audios,audioBlobs:a,atlasRects:t.rects,atlasPages:t.pages.map((w,n)=>({width:w.atlasWidth,height:w.atlasHeight,imageBytes:h[n]}))},{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 oa(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 vI(A,this.svgaParseOptions(I)),a=null;try{try{a=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!0,I)}catch(w){if(KA(w)||!(w instanceof dA))throw w;for(const n of e.imageBitmaps.values())n.close();e=await vI(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,n=a.encodedPngBytesPromises;Promise.all(n).then(F=>{I!=null&&I.aborted||F.some(c=>!c)||Kg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:w.rects,atlasPages:w.pages.map((c,r)=>({width:c.atlasWidth,height:c.atlasHeight,imageBytes:F[r]})),clipMeshes:h},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}else a||Kg(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=QA({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=QA({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 Ti(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:uA.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 WQ(A,this.backend,this.svgaAtlasMaxSize(),uA.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(){return 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 xA(A,I):A;if(I!=null&&I.aborted)throw new Error(v);return await mA.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())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:lA(()=>g.destroy())}:null}async acquireSharedWebCodecsPlayback(A,I){var g;const Q=performance.now(),C=Math.max(0,(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:uA.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:lA(()=>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:lA(()=>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 n=this.nextSharedWebCodecsSurfaceId++,F=`wc-shared-surface:${n}`,c=this.manager.tryAllocateWebCodecsAtlas(F,C,E,e);if(c){try{this.backend.updateTextureRegion(c.handle,I,c.rect.x,c.rect.y,c.rect.w,c.rect.h)}catch(r){throw this.manager.releaseWebCodecsAtlasAllocation(F),r}return this.createSharedWebCodecsSurface(h,n,c.handle,I,c.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:lA(()=>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:lA(()=>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 mg(I.config);this.assertSlotLoadActive(A),A.vapConfig=o;const i=await Xi(o,I.vapSlots);if(this.assertSlotLoadActive(A),i.size>0){const D=pA(o.info),h=Oi(o);let w=null;if(this.backend.type==="webgpu"||this.backend.type==="webgl2")try{w=this.createVAPMixResourceTextures(i)}catch(n){console.warn("[GiftStage] VAP main-context mixed textures failed; falling back to compositor",n)}if(w)A.vapMixState={mode:"direct",width:D.w,height:D.h,resourceTextures:w,frameMap:h,lastFrameIndex:-1,lastSourceRef:null};else{let n=null,F=null;try{n=new Aa(o,h,i,D.w,D.h,I.videoRGBAlphaMode!=="straight")}catch(r){console.warn("[GiftStage] VAP mixed rendering fell back to CPU compositor",r),F=ji(D.w,D.h)}const c=this.backend.createEmptyTexture(D.w,D.h,{filter:"linear"});A.vapMixState={mode:"composited",texture:c,width:D.w,height:D.h,composer:n,frameMap:h,resources:n?void 0:i,lastFrameIndex:-1,lastSourceRef:null,...F!=null?F:{}},A.videoTextureHandle=c}}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,n=D.displayHeight||D.codedHeight,F=!A.vapMixState,{w:c,h:r}=VB(A,w,n,"vap",o),G=this.acquireSharedWebCodecsSurface(A,D,w,n,c,r,F);if(G)this.attachSharedWebCodecsSurface(A,G);else{const M=F?this.manager.tryAllocateWebCodecsAtlas(A.id,c,r,this.options.webCodecsVideoAtlas):null;M?(A.videoTextureHandle=M.handle,A.wcAtlasRect=M.rect,this.backend.updateTextureRegion(M.handle,D,M.rect.x,M.rect.y,c,r)):A.videoTextureHandle=this.backend.createTexture(D,{width:w,height:n,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);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",this.shouldTryWebCodecs()?"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}=VB(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 n=A.videoTextureHandle;console.info("[GiftStage:WC] alphaVideo texture",{giftId:A.id,atlas:!!A.wcAtlasRect,tex:`${n.width}x${n.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);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",this.shouldTryWebCodecs()?"fallback after WebCodecs unavailable or failed":"preferWebCodecs off or no VideoDecoder")}bindVideoLoopOnEnded(A,I){I.addEventListener("ended",()=>{var g,Q;if(A.state!=="playing")return;const C=(g=A.options.loop)!=null?g:1;if(C===0){I.currentTime=0,I.play();return}if(A.loopCount++,A.loopCount>=C){let E;E={id:A.id,type:A.type,pause:()=>{},resume:()=>{},destroy:()=>this.removeGift(A.id),animate:o=>this.createGiftAnimationChain(A,E,o)},(Q=A.onComplete)==null||Q.call(A,E),A.state=A.options.clearsAfterStop===!1?"stopped":"finished";return}I.currentTime=0,I.play()})}createVideo(A,I){const g=document.createElement("video");return g.crossOrigin="anonymous",g.autoplay=!0,g.preload="auto",g.muted=!0,g.playsInline=!0,g.setAttribute("playsinline",""),g.setAttribute("webkit-playsinline","true"),g.loop=I,g.style.cssText="display:none;",g.src=A,document.body.appendChild(g),g.load(),g}waitVideoMetadata(A){return new Promise((I,g)=>{const Q=()=>{A.removeEventListener("loadedmetadata",C),A.removeEventListener("error",E)},C=()=>{Q(),I()},E=()=>{Q(),g(new Error("Video metadata load failed"))};A.addEventListener("loadedmetadata",C),A.addEventListener("error",E),A.readyState>=HTMLMediaElement.HAVE_METADATA&&(Q(),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"?ea(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 xA(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=(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:uA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS,o=Math.max(0,E)/1e3,i=this.sharedHtmlVideos.get(C);if(i)return i.video.currentTime>o?null:(i.refs++,{cacheKey:C,video:i.video,ready:i.ready,release:()=>this.releaseSharedHtmlVideo(C)});let e=this.pendingSharedHtmlVideos.get(C);e||(e=(async()=>{var s;const D=await this.acquireVideoPlaybackSource(I.source),h=this.createVideo(D.src,!0),w=this.waitVideoReady(h);return{video:h,ready:w,releaseSource:(s=D.release)!=null?s:null}})(),this.pendingSharedHtmlVideos.set(C,e));let a;try{a=await e}catch(s){throw this.pendingSharedHtmlVideos.delete(C),s}let t=this.sharedHtmlVideos.get(C);return t?t.refs++:(t={refs:1,video:a.video,ready:a.ready,releaseSource:(Q=a.releaseSource)!=null?Q:null},this.sharedHtmlVideos.set(C,t)),this.pendingSharedHtmlVideos.delete(C),{cacheKey:C,video:t.video,ready:t.ready,release:()=>this.releaseSharedHtmlVideo(C)}}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 Jg(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:lA(()=>{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:lA(()=>this.releaseSharedImageTexture(A))};let Q=this.pendingSharedImageTextures.get(A);if(!Q){Q=(async()=>{const o=await Jg(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:lA(()=>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)=>{const Q=()=>{A.removeEventListener("canplay",E),A.removeEventListener("error",o)},C=async()=>{try{await A.play(),await this.waitForFirstVideoFrame(A),I()}catch(i){g(i)}},E=()=>{Q(),C()},o=()=>{Q(),g(new Error("Video load failed"))};A.addEventListener("canplay",E),A.addEventListener("error",o),A.readyState>=HTMLMediaElement.HAVE_FUTURE_DATA&&(Q(),C())})}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($A,"SVGA_ATLAS_MAX_SIZE",2048);q($A,"SVGA_ATLAS_PADDING",2);q($A,"DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS",100);q($A,"DEFAULT_RESOURCE_CACHE_MEMORY_BYTES",128*1024*1024);q($A,"DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES",2048*1024*1024);let na=$A;exports.AlphaVideoRenderer=SQ;exports.AudioManager=UQ;exports.BufferPool=eQ;exports.GiftStage=na;exports.ImageRenderer=lQ;exports.PostAnimator=kQ;exports.RenderManager=dQ;exports.SVGABatchRenderer=rQ;exports.VAPRenderer=NQ;exports.WebCodecsMp4Playback=mA;exports.WebGL1Backend=Lg;exports.WebGL2Backend=zB;exports.WebGPUBackend=PB;exports.buildAtlas=WQ;exports.buildBatchVerticesJS=xI;exports.canSharedArrayBuffer=mC;exports.canWebGL1=pC;exports.canWebGL2=qC;exports.canWebGPU=HC;exports.clamp=TI;exports.createBackend=AQ;exports.decodeSVGAProto=Tg;exports.easeInOutCubic=Se;exports.easeInOutQuad=Ne;exports.easeInQuad=ye;exports.easeOutBack=le;exports.easeOutCubic=ZQ;exports.easeOutQuad=Me;exports.generateId=aQ;exports.inflateJS=bg;exports.initWasm=oQ;exports.isWasmReady=OA;exports.lerp=aA;exports.linear=Re;exports.ortho=UA;exports.parseSVGA=vI;exports.parseVAPConfig=mg;
3284
+ `}function _e(B,A,I){return{vertex:ze(I),fragment:Pe(B,A,I)}}function $e(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 a=I.get(String(e.srcId));if(!a)continue;if(i+lI>Q.length)break;const[t,s,D,h]=e.frame,[w,n,F,c]=e.mFrame,r=Ig(t+E,s+o,D,h,B.info.videoW,B.info.videoH),G=Ig(w,n,F,c,B.info.videoW,B.info.videoH);Q[i++]=a,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 Aa{constructor(A,I,g,Q,C,E=!0){this.config=A,this.frameMap=I,iA(this,"canvas"),iA(this,"gl"),iA(this,"program"),iA(this,"vertexShader"),iA(this,"fragmentShader"),iA(this,"vertexBuffer"),iA(this,"videoTexture"),iA(this,"imagePosLoc"),iA(this,"imagePositionsScratch"),iA(this,"resourceEntries"),iA(this,"textureUnitBySrcId",new Map),iA(this,"videoTextureWidth",1),iA(this,"videoTextureHeight",1);var o;if(g.size===0)throw new Error("VAP mix composer requires at least one slot resource");this.canvas=Xe(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 L=XB(a,h,U.source,!0),l={srcId:String(N.srcId),unit:h,texture:L};D.push(l),this.textureUnitBySrcId.set(l.srcId,l.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*lI);const n=_e(this.resourceEntries.length,w,e),F=Oe(a,n.vertex,n.fragment);this.program=F.program,this.vertexShader=F.vertexShader,this.fragmentShader=F.fragmentShader,this.imagePosLoc=a.getUniformLocation(this.program,"image_pos"),this.videoTexture=XB(a,0);const c=a.getUniformLocation(this.program,"u_image_video");c!==null&&a.uniform1i(c,0);const r=a.getUniformLocation(this.program,"u_rgbPremultiplied");r!==null&&a.uniform1f(r,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,je(A.info),a.STATIC_DRAW);const M=6*Float32Array.BYTES_PER_ELEMENT,y=a.getAttribLocation(this.program,"a_position"),R=a.getAttribLocation(this.program,"a_texCoord"),S=a.getAttribLocation(this.program,"a_alpha_texCoord");a.enableVertexAttribArray(y),a.vertexAttribPointer(y,2,a.FLOAT,!1,M,0),a.enableVertexAttribArray(R),a.vertexAttribPointer(R,2,a.FLOAT,!1,M,2*Float32Array.BYTES_PER_ELEMENT),a.enableVertexAttribArray(S),a.vertexAttribPointer(S,2,a.FLOAT,!1,M,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=rI(A),C=cI(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=$e(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 Ia=Object.defineProperty,ga=(B,A,I)=>A in B?Ia(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,yA=(B,A,I)=>ga(B,typeof A!="symbol"?A+"":A,I);const vQ=1397178947,XQ=14,Ba=8,GA=64*1024;function OQ(B){return B+3&-4}class Qa{constructor(A=1024){yA(this,"buffer"),yA(this,"view"),yA(this,"bytes"),yA(this,"offset",0),yA(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+=GA){const i=Math.min(o+GA,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+=GA){const Q=Math.min(g+GA,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=OQ(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+=GA){const C=Math.min(Q+GA,g.byteLength);I.set(g.subarray(Q,C),Q),C<g.byteLength&&A.shouldYield()&&await A.yield()}return I.buffer}}class Ca{constructor(A){this.buffer=A,yA(this,"view"),yA(this,"bytes"),yA(this,"offset",0),yA(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=OQ(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+=GA){const E=Math.min(C+GA,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 jQ(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 eA(B){B.shouldYield()&&await B.yield()}async function Ea(B,A){var I,g,Q;const C=B.spriteTable,E=QA({maxBudgetMs:A}),o=()=>eA(E),i=new Qa(Ba+jQ(B)+GA);i.u32(vQ),i.u16(XQ),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 eA(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 eA(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 eA(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 eA(E);if(await Ho(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 eA(E);return i.finishCooperative(E)}async function ia(B,A){const I=QA({maxBudgetMs:A}),g=new Ca(B);if(g.u32()!==vQ)throw new Error("Invalid SVGA cache binary magic");if(g.u16()!==XQ)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 n=0;n<C;n++){const F=g.u32(),c=g.u32(),r=await g.ownedBytesValueCooperative(I);E.push({width:F,height:c,imageBytes:r}),await eA(I)}const o=g.u32(),i=new Map;for(let n=0;n<o;n++){const F=g.string(),c=g.u32();i.set(F,{textureIndex:c,x:g.f32(),y:g.f32(),w:g.f32(),h:g.f32()}),await eA(I)}const e=g.u32(),a=[];for(let n=0;n<e;n++)a.push({audioKey:g.string(),startFrame:g.u32(),endFrame:g.u32(),startTime:g.f32(),totalTime:g.f32()}),await eA(I);const t=g.u32(),s=new Map;for(let n=0;n<t;n++){const F=g.string();s.set(F,await g.ownedBytesValueCooperative(I)),await eA(I)}const D=await fQ(g,()=>eA(I)),h=g.u32(),w=new Map;for(let n=0;n<h;n++){const F=g.string(),c=new Float32Array(await g.ownedBytesValueCooperative(I)),r=new Uint32Array(await g.ownedBytesValueCooperative(I));F&&c.length>=6&&r.length>=3&&w.set(F,{vertices:c,indices:r}),await eA(I)}return{params:Q,spriteTable:D,audios:a,audioBlobs:s,atlasRects:i,atlasPages:E,clipMeshes:w}}function Wg(B){return`svga-asset:${B}`}function Zg(B){return`svga-asset-bin:${B}`}async function oa(B,A={}){const I=li(Wg(B),"svga-asset");if(I)return I;const g=await ki(Zg(B));if(!g)return null;try{const Q=await ia(g,A.frameBudgetMs);return cQ(Wg(B),"svga-asset",Q,g.byteLength),Q}catch(Q){return Yi(Zg(B)),null}}async function Yg(B,A,I={}){const g=await Ea(A,I.frameBudgetMs);cQ(Wg(B),"svga-asset",A,Math.max(g.byteLength,jQ(A))),await Ui(Zg(B),g)}function kA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function ea(B,A){const I=kA(B)?B*.5:0,g=kA(A)?A:0;return{width:I,height:g}}function aa(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 ta(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 OB(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 dg(B,A){Y(A,"Image loading aborted");const I=typeof B=="string"?await xA(B,A):B;Y(A,"Image loading aborted");const g=new Uint8Array(I),Q=new Blob([g],{type:ta(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"),OB(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 OB(Q,A)}var sa=Object.defineProperty,Da=(B,A,I)=>A in B?sa(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,q=(B,A,I)=>Da(B,typeof A!="symbol"?A+"":A,I);function jB(B){return Number.isFinite(B)?Math.max(0,Math.min(1,B)):1}function ha(B){return"delayMs"in B}const v="GiftStage load canceled";function SA(B){let A=!1;return()=>{A||(A=!0,B())}}function wa(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 $A=class uA{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;ZC(this.canvas,this.backingStoreDpr(),this.options.maxRenderSize),(A=this.manager)==null||A.syncSlotLayoutFromOptions()}resourcePipelineConcurrency(){return wa(this.options.maxConcurrentParse)}async init(){var A,I;this.syncCanvasSize(),await new Promise(E=>requestAnimationFrame(()=>E())),this.syncCanvasSize(),Ni({maxConcurrent:this.resourcePipelineConcurrency(),maxMemoryBytes:uA.DEFAULT_RESOURCE_CACHE_MEMORY_BYTES,maxPersistentBytes:uA.DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES}),Xg((A=this.options.svgaWorkerTaskConcurrency)!=null?A:1);const g=(I=this.options.preferWebGPU)!=null?I:!0,Q=this.options.antialias,[C]=await Promise.all([AQ(this.canvas,g,Q,this.options.forceWebGL1===!0),oQ()]);this.backend=C,this.manager=new dQ(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 KA(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 qg(A.config),g=pA(I.info);return{width:g.w,height:g.h}}case"alphaVideo":return this.probeVideoNaturalSize(A.source,"alphaVideo");case"image":{const I=await dg(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=aa({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}=Jg(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:jB((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);return this.manager.postAnimator.startTweenPromise(A,Q.targetX,Q.targetY,Q.targetScale,Q.duration,Q.easing,()=>{var C;return(C=g.onComplete)==null?void 0:C.call(g,I)},Q.targetOpacity,Q.targetRotation)}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 n=!1;for(const F of Q){if(o||!((h=this.manager)!=null&&h.getSlot(A.id))||A.state==="finished"){n=!0;break}ha(F)?await a(F.delayMs):await this.runGiftAnimationStep(A,I,F)}if(!n&&!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;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 a=null;A.type==="image"&&(a=await this.acquireImageTexture(A.source));let t;try{t=await this.normalizeAddGiftOptions(A,a?{width:a.width,height:a.height}:void 0)}catch(r){throw a==null||a.release(),r}if(this.destroyed)throw a==null||a.release(),new Error("GiftStage is destroyed");const s=aQ(),{sx:D,sy:h}=Jg(this.canvas),w=YQ(t.x,t.y,t.width,t.height,this.canvas.clientWidth,this.canvas.clientHeight),n={id:s,type:t.type,state:"loading",options:t,zIndex:(I=t.zIndex)!=null?I:0,renderOrder:this.nextRenderOrder++,x:w.x*D,y:w.y*h,width:t.width*D,height:t.height*h,scale:1,opacity:jB((g=t.opacity)!=null?g:1),rotation:Number.isFinite(t.rotation)?t.rotation:0,paused:!1,currentFrame:0,accumulatedTime:0,lastTickTime:0,loopCount:0,videoEntity:null,loadAbortController:new AbortController,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=a==null?void 0:a.texture)!=null?Q:null,releaseSharedImageTexture:(C=a==null?void 0:a.release)!=null?C:null,webcodecsSurface:null,releaseWebCodecsSurface:null,vapMixState:null,onComplete:void 0};let F;F={id:s,type:t.type,pause:()=>{var r;n.paused=!0,(r=this.manager)==null||r.postAnimator.pauseForGift(n.id)},resume:()=>{var r;n.paused=!1,(r=this.manager)==null||r.postAnimator.resumeForGift(n.id)},destroy:()=>{this.removeGift(s)},animate:r=>this.createGiftAnimationChain(n,F,r)};const c=t.onComplete;n.onComplete=r=>{this.markGiftPlaybackComplete(n.id),c==null||c(r)},this.manager.addSlot(n,F);try{switch(t.type){case"svga":await this.loadSVGA(n);break;case"vap":await this.loadVAP(n,t);break;case"alphaVideo":await this.loadAlphaVideo(n,t);break;case"image":break}this.assertSlotLoadActive(n),n.state="playing",t.type==="svga"&&n.videoEntity&&this.manager.audioManager.tickFrame(n,n.currentFrame,F),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}}),t.type==="image"&&!(t.duration>0)&&this.markGiftPlaybackComplete(n.id)}catch(r){if(this.isLoadCanceled(r))return((E=this.manager)==null?void 0:E.getSlot(n.id))===n?this.manager.removeSlot(n.id):(o=this.manager)==null||o.releaseSlotResources(n),F;n.state="finished",(e=(i=this.options).onError)==null||e.call(i,r instanceof Error?r:new Error(String(r)))}return F}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 VI(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)||Yg(E,{params:i.params,spriteTable:i.spriteTable,audios:i.audios,audioBlobs:a,atlasRects:t.rects,atlasPages:t.pages.map((w,n)=>({width:w.atlasWidth,height:w.atlasHeight,imageBytes:h[n]}))},{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 oa(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 VI(A,this.svgaParseOptions(I)),a=null;try{try{a=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!0,I)}catch(w){if(KA(w)||!(w instanceof dA))throw w;for(const n of e.imageBitmaps.values())n.close();e=await VI(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,n=a.encodedPngBytesPromises;Promise.all(n).then(F=>{I!=null&&I.aborted||F.some(c=>!c)||Yg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:w.rects,atlasPages:w.pages.map((c,r)=>({width:c.atlasWidth,height:c.atlasHeight,imageBytes:F[r]})),clipMeshes:h},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}else a||Yg(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=QA({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=QA({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 Ti(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:uA.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 WQ(A,this.backend,this.svgaAtlasMaxSize(),uA.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(){return 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 xA(A,I):A;if(I!=null&&I.aborted)throw new Error(v);return await mA.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())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:SA(()=>g.destroy())}:null}async acquireSharedWebCodecsPlayback(A,I){var g;const Q=performance.now(),C=Math.max(0,(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:uA.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:SA(()=>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:SA(()=>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 n=this.nextSharedWebCodecsSurfaceId++,F=`wc-shared-surface:${n}`,c=this.manager.tryAllocateWebCodecsAtlas(F,C,E,e);if(c){try{this.backend.updateTextureRegion(c.handle,I,c.rect.x,c.rect.y,c.rect.w,c.rect.h)}catch(r){throw this.manager.releaseWebCodecsAtlasAllocation(F),r}return this.createSharedWebCodecsSurface(h,n,c.handle,I,c.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:SA(()=>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:SA(()=>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 qg(I.config);this.assertSlotLoadActive(A),A.vapConfig=o;const i=await Xi(o,I.vapSlots);if(this.assertSlotLoadActive(A),i.size>0){const D=pA(o.info),h=Oi(o);let w=null;if(this.backend.type==="webgpu"||this.backend.type==="webgl2")try{w=this.createVAPMixResourceTextures(i)}catch(n){console.warn("[GiftStage] VAP main-context mixed textures failed; falling back to compositor",n)}if(w)A.vapMixState={mode:"direct",width:D.w,height:D.h,resourceTextures:w,frameMap:h,lastFrameIndex:-1,lastSourceRef:null};else{let n=null,F=null;try{n=new Aa(o,h,i,D.w,D.h,I.videoRGBAlphaMode!=="straight")}catch(r){console.warn("[GiftStage] VAP mixed rendering fell back to CPU compositor",r),F=ji(D.w,D.h)}const c=this.backend.createEmptyTexture(D.w,D.h,{filter:"linear"});A.vapMixState={mode:"composited",texture:c,width:D.w,height:D.h,composer:n,frameMap:h,resources:n?void 0:i,lastFrameIndex:-1,lastSourceRef:null,...F!=null?F:{}},A.videoTextureHandle=c}}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,n=D.displayHeight||D.codedHeight,F=!A.vapMixState,{w:c,h:r}=VB(A,w,n,"vap",o),G=this.acquireSharedWebCodecsSurface(A,D,w,n,c,r,F);if(G)this.attachSharedWebCodecsSurface(A,G);else{const M=F?this.manager.tryAllocateWebCodecsAtlas(A.id,c,r,this.options.webCodecsVideoAtlas):null;M?(A.videoTextureHandle=M.handle,A.wcAtlasRect=M.rect,this.backend.updateTextureRegion(M.handle,D,M.rect.x,M.rect.y,c,r)):A.videoTextureHandle=this.backend.createTexture(D,{width:w,height:n,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);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",this.shouldTryWebCodecs()?"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}=VB(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 n=A.videoTextureHandle;console.info("[GiftStage:WC] alphaVideo texture",{giftId:A.id,atlas:!!A.wcAtlasRect,tex:`${n.width}x${n.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);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",this.shouldTryWebCodecs()?"fallback after WebCodecs unavailable or failed":"preferWebCodecs off or no VideoDecoder")}bindVideoLoopOnEnded(A,I){I.addEventListener("ended",()=>{var g,Q;if(A.state!=="playing")return;const C=(g=A.options.loop)!=null?g:1;if(C===0){I.currentTime=0,I.play();return}if(A.loopCount++,A.loopCount>=C){let E;E={id:A.id,type:A.type,pause:()=>{},resume:()=>{},destroy:()=>this.removeGift(A.id),animate:o=>this.createGiftAnimationChain(A,E,o)},(Q=A.onComplete)==null||Q.call(A,E),A.state=A.options.clearsAfterStop===!1?"stopped":"finished";return}I.currentTime=0,I.play()})}createVideo(A,I){const g=document.createElement("video");return g.crossOrigin="anonymous",g.autoplay=!0,g.preload="auto",g.muted=!0,g.playsInline=!0,g.setAttribute("playsinline",""),g.setAttribute("webkit-playsinline","true"),g.loop=I,g.style.cssText="display:none;",g.src=A,document.body.appendChild(g),g.load(),g}waitVideoMetadata(A){return new Promise((I,g)=>{const Q=()=>{A.removeEventListener("loadedmetadata",C),A.removeEventListener("error",E)},C=()=>{Q(),I()},E=()=>{Q(),g(new Error("Video metadata load failed"))};A.addEventListener("loadedmetadata",C),A.addEventListener("error",E),A.readyState>=HTMLMediaElement.HAVE_METADATA&&(Q(),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"?ea(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 xA(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=(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:uA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS,o=Math.max(0,E)/1e3,i=this.sharedHtmlVideos.get(C);if(i)return i.video.currentTime>o?null:(i.refs++,{cacheKey:C,video:i.video,ready:i.ready,release:()=>this.releaseSharedHtmlVideo(C)});let e=this.pendingSharedHtmlVideos.get(C);e||(e=(async()=>{var s;const D=await this.acquireVideoPlaybackSource(I.source),h=this.createVideo(D.src,!0),w=this.waitVideoReady(h);return{video:h,ready:w,releaseSource:(s=D.release)!=null?s:null}})(),this.pendingSharedHtmlVideos.set(C,e));let a;try{a=await e}catch(s){throw this.pendingSharedHtmlVideos.delete(C),s}let t=this.sharedHtmlVideos.get(C);return t?t.refs++:(t={refs:1,video:a.video,ready:a.ready,releaseSource:(Q=a.releaseSource)!=null?Q:null},this.sharedHtmlVideos.set(C,t)),this.pendingSharedHtmlVideos.delete(C),{cacheKey:C,video:t.video,ready:t.ready,release:()=>this.releaseSharedHtmlVideo(C)}}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 dg(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:SA(()=>{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:SA(()=>this.releaseSharedImageTexture(A))};let Q=this.pendingSharedImageTextures.get(A);if(!Q){Q=(async()=>{const o=await dg(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:SA(()=>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)=>{const Q=()=>{A.removeEventListener("canplay",E),A.removeEventListener("error",o)},C=async()=>{try{await A.play(),await this.waitForFirstVideoFrame(A),I()}catch(i){g(i)}},E=()=>{Q(),C()},o=()=>{Q(),g(new Error("Video load failed"))};A.addEventListener("canplay",E),A.addEventListener("error",o),A.readyState>=HTMLMediaElement.HAVE_FUTURE_DATA&&(Q(),C())})}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($A,"SVGA_ATLAS_MAX_SIZE",2048);q($A,"SVGA_ATLAS_PADDING",2);q($A,"DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS",100);q($A,"DEFAULT_RESOURCE_CACHE_MEMORY_BYTES",128*1024*1024);q($A,"DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES",2048*1024*1024);let na=$A;exports.AlphaVideoRenderer=SQ;exports.AudioManager=UQ;exports.BufferPool=eQ;exports.GiftStage=na;exports.ImageRenderer=lQ;exports.PostAnimator=kQ;exports.RenderManager=dQ;exports.SVGABatchRenderer=rQ;exports.VAPRenderer=NQ;exports.WebCodecsMp4Playback=mA;exports.WebGL1Backend=Kg;exports.WebGL2Backend=zB;exports.WebGPUBackend=PB;exports.buildAtlas=WQ;exports.buildBatchVerticesJS=xI;exports.canSharedArrayBuffer=mC;exports.canWebGL1=pC;exports.canWebGL2=qC;exports.canWebGPU=HC;exports.clamp=TI;exports.createBackend=AQ;exports.decodeSVGAProto=bg;exports.easeInOutCubic=Se;exports.easeInOutQuad=Ne;exports.easeInQuad=ye;exports.easeOutBack=le;exports.easeOutCubic=ZQ;exports.easeOutQuad=Me;exports.generateId=aQ;exports.inflateJS=xg;exports.initWasm=oQ;exports.isWasmReady=OA;exports.lerp=aA;exports.linear=Re;exports.ortho=UA;exports.parseSVGA=VI;exports.parseVAPConfig=qg;
3285
3285
  //# sourceMappingURL=gift-stage.cjs.js.map