@taole/giftstage 0.1.24 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gift-stage.cjs.js +7 -7
- package/dist/gift-stage.es.js +967 -967
- package/package.json +1 -1
package/dist/gift-stage.cjs.js
CHANGED
|
@@ -658,7 +658,7 @@ fn fs(f: VOut) -> @location(0) vec4f {\r
|
|
|
658
658
|
let c = textureSample(atlasTex, atlasSampler, f.uv);\r
|
|
659
659
|
return vec4f(c.rgb * f.color.rgb * f.color.a, c.a * f.color.a);\r
|
|
660
660
|
}\r
|
|
661
|
-
`,p={svgaBatchPremul:{vert:XQ,frag:Zg},svgaInstancedPremul:{vert:OQ,frag:Zg},vap:{vert:jQ,frag:Vg},vapMixOverlay:{vert:PQ,frag:zQ},vapInstanced:{vert:gC,frag:Vg},alphaVideo:{vert:_Q,frag:vg},alphaVideoInstanced:{vert:IC,frag:vg},rgbaTextured:{vert:$Q,frag:AC},clipMask:{vert:BC,frag:QC}},tA={svgaBatchPremul:CC,svgaInstancedPremul:DC,vap:EC,vapMixOverlay:iC,vapInstanced:tC,alphaVideo:oC,alphaVideoInstanced:aC,rgbaTextured:eC,clipMask:sC};var wC=Object.defineProperty,hC=(B,A,I)=>A in B?wC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,k=(B,A,I)=>hC(B,typeof A!="symbol"?A+"":A,I);const Xg=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),nC=new Float32Array([0,0,1,1]),cC=16*1024*1024;function _I(B,A){const I=Math.max(1,Math.floor(A));return Math.ceil(Math.max(0,B)/I)*I}const _=class z{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",tA.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",tA.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",tA.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",tA.vapMixOverlay,I,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none",2),this.createTexturedPipeline("alpha-video:none",tA.alphaVideo,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none"),this.createTexturedPipeline("rgba-textured:none",tA.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:cC,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,tA.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:z.SVGA_INSTANCED_STRIDE}}]}),i=this.instancedTextureBindGroupLayout,o=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,i]}),vertex:{module:o,entryPoint:"vs",buffers:[{arrayStride:8,attributes:[{shaderLocation:0,offset:0,format:"float32x2"}]}]},fragment:{module:o,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:z.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:z.VAP_INSTANCED_STRIDE}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:tA.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"}},i=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:i,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:z.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:z.ALPHA_INSTANCED_STRIDE}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:tA.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"}},i=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:i,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:z.INSTANCED_ALPHA_CHUNK_BYTES}}]}),textureCount:1})}createTexturedPipeline(A,I,g,Q,C,E,i=1){const o=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:o,entryPoint:"vs",buffers:[{arrayStride:C,attributes:Q}]},fragment:{module:o,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:i})}createClipMaskPipeline(A){const I=this.device.createShaderModule({code:tA.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),i=Math.max(4,C+E);i>Q.buffer.size&&(Q.buffer.destroy(),Q.buffer=this.device.createBuffer({size:i,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,i=E.displayWidth||E.codedWidth,o=E.displayHeight||E.codedHeight;if(!i||!o||!I||!g||this.copyVideoFrameToTextureDirect(A,I,g,E))return;this.drawVideoLikeSourceToTexture(A,I,g,E);return}if(Q instanceof HTMLVideoElement){const E=Q,i=E.videoWidth,o=E.videoHeight;if(E.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!i||!o||!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,i=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:i},A,{bytesPerRow:C*4},[C,E]):this.copyImageSourceToTexture(i,C,E,A,I.premultiplyAlpha===!0);const o=this.nextId++;return this.textures.set(o,{texture:i,view:i.createView(),width:C,height:E}),{id:o,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}),i=this.nextId++;return this.textures.set(i,{texture:E,view:E.createView(),width:Q,height:C}),{id:i,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 i=this.textures.get(A.id);if(!i)return;const o={texture:i.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,w=s.displayHeight||s.codedHeight;if(!D||!w)return;const h=C!=null?C:D,n=E!=null?E:w;if(h!==D||n!==w){this.drawVideoLikeSourceToTextureRegion(i.texture,h,n,s,o.origin.x,o.origin.y);return}if(this.copyVideoFrameToTextureRegionDirect(i.texture,D,w,s,o.origin.x,o.origin.y))return;this.drawVideoLikeSourceToTextureRegion(i.texture,D,w,s,o.origin.x,o.origin.y);return}if(I instanceof HTMLVideoElement){const s=I,D=s.videoWidth,w=s.videoHeight;if(s.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!D||!w)return;const h=C!=null?C:D,n=E!=null?E:w;if(h!==D||n!==w){this.drawVideoLikeSourceToTextureRegion(i.texture,h,n,s,o.origin.x,o.origin.y);return}if(s.readyState<HTMLMediaElement.HAVE_ENOUGH_DATA){this.drawVideoLikeSourceToTextureRegion(i.texture,D,w,s,o.origin.x,o.origin.y);return}if(this.copyHtmlVideoToTextureRegionDirect(i.texture,D,w,s,o.origin.x,o.origin.y))return;this.drawVideoLikeSourceToTextureRegion(i.texture,D,w,s,o.origin.x,o.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(i.texture,a,t,e,o.origin.x,o.origin.y);return}this.device.queue.copyExternalImageToTexture({source:e},o,[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(i){return this.videoElementPreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(<video> region) failed; using canvas bridge.",i),!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(i){return this.videoFramePreferCanvasBridge=!0,console.debug("[WebGPU] copyExternalImageToTexture(VideoFrame region) failed; using canvas bridge.",i),!1}}drawVideoLikeSourceToTextureRegion(A,I,g,Q,C,E){this.videoUploadCanvas||(this.videoUploadCanvas=document.createElement("canvas"),this.videoUploadCtx=this.videoUploadCanvas.getContext("2d"));const i=this.videoUploadCanvas,o=this.videoUploadCtx;o&&((i.width!==I||i.height!==g)&&(i.width=I,i.height=g),o.drawImage(Q,0,0,I,g),this.device.queue.copyExternalImageToTexture({source:i,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,i,o;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 w=0;e==="clear"?w=0:(e==="write"||A.shader==="clip-mask"||e==="test")&&(w=1),this.lastStencilRef!==w&&(s.setStencilReference(w),this.lastStencilRef=w);const h=this.uniformSlotIndex++;if(h>=this.maxUniformSlots){console.warn("[WebGPU] uniform slot overflow; increase maxUniformSlots");return}const n=h*this.uniformSlotStride,r=A.uniforms.u_projection;if(t.textureCount>0){const M=A.uniforms.u_transform,R=M instanceof Float32Array&&M.length>=16?M:Xg,N=A.uniforms.u_atlasRemap,S=N instanceof Float32Array&&N.length>=4?N:nC,U=typeof A.uniforms.u_opacity=="number"?A.uniforms.u_opacity:1;if(r instanceof Float32Array&&r.length>=16){const K=this.uniformScratch160;K.set(r.length===16?r:r.subarray(0,16),0),K.set(R.length===16?R:R.subarray(0,16),16),K.set(S.length===4?S:S.subarray(0,4),32),K[36]=U,K[37]=0,K[38]=0,K[39]=0,this.device.queue.writeBuffer(this.uniformBuffer,n,K.buffer,K.byteOffset,160)}else{this.device.queue.writeBuffer(this.uniformBuffer,n+64,R.buffer,R.byteOffset,64),this.device.queue.writeBuffer(this.uniformBuffer,n+128,S.buffer,S.byteOffset,16);const K=this.uniformOpacityScratch;K[0]=U,K[1]=0,K[2]=0,K[3]=0,this.device.queue.writeBuffer(this.uniformBuffer,n+144,K)}}else if(r instanceof Float32Array&&r.length>=16){const M=A.uniforms.u_transform,R=M instanceof Float32Array&&M.length>=16?M:Xg,N=this.uniformScratch128;N.set(r.length===16?r:r.subarray(0,16),0),N.set(R.length===16?R:R.subarray(0,16),16),this.device.queue.writeBuffer(this.uniformBuffer,n,N.buffer,N.byteOffset,128)}if(t.textureCount===1){const M=A.textures.length>0?A.textures[0]:null,R=M?this.textures.get(M.id):null,N=(g=R==null?void 0:R.view)!=null?g:this.dummyTextureView,S=(Q=M==null?void 0:M.id)!=null?Q:0;let U=this.texturedBindGroupCache.get(S);U||(U=this.device.createBindGroup({layout:this.texturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:N},{binding:2,resource:this.sampler}]}),this.texturedBindGroupCache.set(S,U)),s.setBindGroup(0,U,[n])}else if(t.textureCount===2){const M=A.textures[0],R=A.textures[1],N=M?this.textures.get(M.id):null,S=R?this.textures.get(R.id):null,U=(C=M==null?void 0:M.id)!=null?C:0,K=(E=R==null?void 0:R.id)!=null?E:0;let d=this.dualTexturedBindGroupCache.get(U);d||(d=new Map,this.dualTexturedBindGroupCache.set(U,d));let l=d.get(K);l||(l=this.device.createBindGroup({layout:this.dualTexturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:(i=N==null?void 0:N.view)!=null?i:this.dummyTextureView},{binding:2,resource:(o=S==null?void 0:S.view)!=null?o:this.dummyTextureView},{binding:3,resource:this.sampler}]}),d.set(K,l)),s.setBindGroup(0,l,[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 F=this.buffers.get(A.vertexBuffer.id),c=this.buffers.get(A.indexBuffer.id);if(!F||!c)return;const G=A.vertexBuffer.id,y=A.indexBuffer.id;this.lastVertexBufferId!==G&&(s.setVertexBuffer(0,F.buffer),this.lastVertexBufferId=G),this.lastIndexBufferId!==y&&(s.setIndexBuffer(c.buffer,"uint32"),this.lastIndexBufferId=y),s.drawIndexed(A.indexCount)}drawInstancedSvga(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,i=A.instanceData;if(E<1||!i||i.length<E*13)return;if(E>z.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 w=this.buffers.get(A.vertexBuffer.id),h=this.buffers.get(A.indexBuffer.id);if(!w||!h)return;this.ensureInstancedProjection(D);const n=E*z.SVGA_INSTANCED_STRIDE,r=this.instancedStorageRingOffset,F=this.ensureInstancedStorageBuffer();if(r+z.INSTANCED_SVGA_CHUNK_BYTES>F.size){console.warn("[WebGPU] instanced SVGA storage ring full");return}this.instancedStorageRingOffset+=_I(n,this.storageBindOffsetAlign),this.device.queue.writeBuffer(F,r,i.buffer,i.byteOffset,n);const c=A.textures[0],G=c?this.textures.get(c.id):null,y=(g=G==null?void 0:G.view)!=null?g:this.dummyTextureView,M=(Q=c==null?void 0:c.id)!=null?Q:0;let R=this.instancedTextureBindGroupCache.get(M);R||(R=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:y},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(M,R)),C.setBindGroup(0,a.instancedDataBindGroup,[r]),this.lastInstancedTextureBindGroup!==R&&(C.setBindGroup(1,R),this.lastInstancedTextureBindGroup=R);const N=A.vertexBuffer.id,S=A.indexBuffer.id;this.lastVertexBufferId!==N&&(C.setVertexBuffer(0,w.buffer),this.lastVertexBufferId=N),this.lastIndexBufferId!==S&&(C.setIndexBuffer(h.buffer,"uint32"),this.lastIndexBufferId=S),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,i=A.instanceData;if(E<1||!i||i.length<E*12)return;if(E>z.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 w=E*z.ALPHA_INSTANCED_STRIDE,h=this.instancedStorageRingOffset,n=this.ensureInstancedStorageBuffer();if(h+z.INSTANCED_ALPHA_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced alpha storage ring full");return}this.instancedStorageRingOffset+=_I(w,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,h,i.buffer,i.byteOffset,w);const r=A.textures[0],F=r?this.textures.get(r.id):null,c=(g=F==null?void 0:F.view)!=null?g:this.dummyTextureView,G=(Q=r==null?void 0:r.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(G);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:c},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,y)),C.setBindGroup(0,e.instancedDataBindGroup,[h]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const M=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==M&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=M),this.lastIndexBufferId!==R&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=R),C.drawIndexed(A.indexCount,E,0,0,0)}drawInstancedVap(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,i=A.instanceData;if(E<1||!i||i.length<E*32)return;if(E>z.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 w=E*z.VAP_INSTANCED_STRIDE,h=this.instancedStorageRingOffset,n=this.ensureInstancedStorageBuffer();if(h+z.INSTANCED_VAP_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced VAP storage ring full");return}this.instancedStorageRingOffset+=_I(w,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,h,i.buffer,i.byteOffset,w);const r=A.textures[0],F=r?this.textures.get(r.id):null,c=(g=F==null?void 0:F.view)!=null?g:this.dummyTextureView,G=(Q=r==null?void 0:r.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(G);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:c},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,y)),C.setBindGroup(0,e.instancedDataBindGroup,[h]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const M=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==M&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=M),this.lastIndexBufferId!==R&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=R),C.drawIndexed(A.indexCount,E,0,0,0)}clearStencil(){}setScissor(A,I,g,Q){if(!this.passEncoder)return;const C=this.canvas.width,E=this.canvas.height,i=Math.max(0,Math.min(C,Math.round(A))),o=Math.max(0,Math.min(E,Math.round(I))),e=Math.max(i,Math.min(C,Math.round(A+g))),a=Math.max(o,Math.min(E,Math.round(I+Q)));this.passEncoder.setScissorRect(i,o,e-i,a-o)}resetScissor(){this.passEncoder&&this.passEncoder.setScissorRect(0,0,this.canvas.width,this.canvas.height)}destroy(){var A,I,g,Q,C,E,i;for(const[,o]of this.buffers)o.buffer.destroy();for(const[,o]of this.textures)o.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(),(i=this.device)==null||i.destroy(),this.buffers.clear(),this.textures.clear(),this.texturedBindGroupCache.clear(),this.dualTexturedBindGroupCache.clear(),this.instancedTextureBindGroupCache.clear(),this.pipelines.clear()}};k(_,"SVGA_INSTANCED_MAX",2048);k(_,"SVGA_INSTANCED_STRIDE",52);k(_,"ALPHA_INSTANCED_MAX",1024);k(_,"ALPHA_INSTANCED_STRIDE",48);k(_,"VAP_INSTANCED_MAX",1024);k(_,"VAP_INSTANCED_STRIDE",128);k(_,"INSTANCED_SVGA_CHUNK_BYTES",_.SVGA_INSTANCED_MAX*_.SVGA_INSTANCED_STRIDE);k(_,"INSTANCED_ALPHA_CHUNK_BYTES",_.ALPHA_INSTANCED_MAX*_.ALPHA_INSTANCED_STRIDE);k(_,"INSTANCED_VAP_CHUNK_BYTES",_.VAP_INSTANCED_MAX*_.VAP_INSTANCED_STRIDE);let pB=_;function Og(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 hA(B,A,I){const g=Og(B,B.VERTEX_SHADER,A),Q=Og(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 jg(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 rC(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 sI(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 DI(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 FC=Object.defineProperty,GC=(B,A,I)=>A in B?FC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,m=(B,A,I)=>GC(B,typeof A!="symbol"?A+"":A,I);const wA=class kA{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",rC()),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:!1,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=hA(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=hA(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=hA(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"])});const C=hA(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=hA(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"])});const i=hA(A,p.rgbaTextured.vert,p.rgbaTextured.frag);this.programs.set("rgba-textured",{program:i,uniforms:this.getUniforms(i,["u_projection","u_transform","u_video","u_atlasRemap","u_opacity"])});const o=hA(A,p.alphaVideoInstanced.vert,p.alphaVideoInstanced.frag);this.programs.set("alpha-video-instanced",{program:o,uniforms:this.getUniforms(o,["u_projection","u_video"])});const e=hA(A,p.vapInstanced.vert,p.vapInstanced.frag);this.programs.set("vap-instanced",{program:e,uniforms:this.getUniforms(e,["u_projection","u_video"])});const a=hA(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 i=this.getBufferSourceByteLength(I);g===0&&i<=Q.byteLength?C.bufferSubData(E,0,I):(C.bufferData(E,I,C.DYNAMIC_DRAW),Q.byteLength=i)}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 i=this.videoUploadCanvas,o=this.videoUploadCtx;return o?((i.width!==C||i.height!==E)&&(i.width=C,i.height=E),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,i):Q.texSubImage2D(Q.TEXTURE_2D,0,0,0,Q.RGBA,Q.UNSIGNED_BYTE,i),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,i=jg(C,E),o=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,i),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,1),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o?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,i),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o?1:0),this.uploadVideoFrameToTexture(i,A,!0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e=A.videoWidth||e,a=A.videoHeight||a;else{const s=o,D=I.sourcePremultiplied===!0,w=s&&!D?1:0;C.bindTexture(C.TEXTURE_2D,i),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),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:i,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=jg(Q,C),i=Math.max(1,Math.floor(A)),o=Math.max(1,Math.floor(I));Q.bindTexture(Q.TEXTURE_2D,E),Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,i,o,0,Q.RGBA,Q.UNSIGNED_BYTE,null);const e=this.nextId++;return this.textures.set(e,{texture:E,width:i,height:o}),{id:e,width:i,height:o}}updateTexture(A,I){const g=this.textures.get(A.id);if(!g)return;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const o=this.gl,e=sI(I),a=DI(I),t=e===g.width&&a===g.height;o.bindTexture(o.TEXTURE_2D,g.texture),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),t?o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,I):(o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,I),e>0&&a>0&&(g.width=e,g.height=a)),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){const o=I.videoWidth,e=I.videoHeight,a=o!==g.width||e!==g.height;this.uploadVideoFrameToTexture(g.texture,I,a)&&a&&(g.width=o,g.height=e);return}const Q=this.gl,C=sI(I),E=DI(I),i=C===g.width&&E===g.height;Q.bindTexture(Q.TEXTURE_2D,g.texture),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),i?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 i=this.textures.get(A.id);if(!i)return;const o=this.gl;o.bindTexture(o.TEXTURE_2D,i.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,w=this.videoUploadCtx;if(!w)return;(D.width!==t||D.height!==s)&&(D.width=t,D.height=s),w.drawImage(I,0,0,t,s),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,D),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,I),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,I),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,I),o.pixelStorei(o.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"?g.uniform1f(t,a):g.uniform1i(t,a)}const i=this.buffers.get(A.vertexBuffer.id),o=this.buffers.get(A.indexBuffer.id);!i||!o||(this.bindCachedVertexArray(C,A.vertexBuffer.id,A.indexBuffer.id)&&(g.bindBuffer(g.ARRAY_BUFFER,i.buffer),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,o.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,i=this.canvas.height,o=Math.max(0,Math.min(E,Math.round(A))),e=Math.max(0,Math.min(i,Math.round(I))),a=Math.max(o,Math.min(E,Math.round(A+g))),t=Math.max(e,Math.min(i,Math.round(I+Q)));C.enable(C.SCISSOR_TEST),C.scissor(o,i-t,a-o,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 i=E.get(g);if(i)return Q.bindVertexArray(i),!1;const o=Q.createVertexArray();if(!o)throw new Error("Failed to create vertex array");return E.set(g,o),Q.bindVertexArray(o),!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 o of E.values())I.deleteVertexArray(o);Q.delete(C);continue}const i=E.get(A);i&&(I.deleteVertexArray(i),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,kA.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>kA.INST_SVGA_GL_MAX){console.warn("[WebGL2] svga-instanced-premul: instanceCount exceeds max",C);return}const i=(g=A.stencil)!=null?g:"none";i==="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 o="svga-instanced-premul",e=this.programs.get(o);if(!e)return;this.cachedDrawProgram!==o&&(Q.useProgram(e.program),this.cachedDrawProgram=o);for(let D=0;D<A.textures.length;D++){const w=A.textures[D].id;if(D===0&&this.cachedTex0Id===w)continue;const h=this.textures.get(w);h&&(Q.activeTexture(Q.TEXTURE0+D),Q.bindTexture(Q.TEXTURE_2D,h.texture),D===0&&(this.cachedTex0Id=w))}for(const[D,w]of Object.entries(A.uniforms)){const h=e.uniforms.get(D);if(h)if(w instanceof Float32Array){if(w.length===16){if(D==="u_projection"&&this.cachedProjectionShader===o&&this.cachedProjectionRef===w)continue;D==="u_projection"&&(this.cachedProjectionShader=o,this.cachedProjectionRef=w),Q.uniformMatrix4fv(h,!1,w)}}else Q.uniform1i(h,w)}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(o,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),i!=="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,kA.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>kA.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",i=this.programs.get("alpha-video-instanced");if(!i)return;this.cachedDrawProgram!==E&&(g.useProgram(i.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=i.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"?g.uniform1f(D,s):g.uniform1i(D,s)}const o=this.buffers.get(A.vertexBuffer.id),e=this.buffers.get(A.indexBuffer.id);if(!o||!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 w=2+D;g.enableVertexAttribArray(w),g.vertexAttribPointer(w,4,g.FLOAT,!1,48,D*16),g.vertexAttribDivisor(w,1)}g.bindBuffer(g.ARRAY_BUFFER,o.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,kA.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>kA.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",i=this.programs.get("vap-instanced");if(!i)return;this.cachedDrawProgram!==E&&(g.useProgram(i.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=i.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"?g.uniform1f(D,s):g.uniform1i(D,s)}const o=this.buffers.get(A.vertexBuffer.id),e=this.buffers.get(A.indexBuffer.id);if(!o||!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 w=2+D;g.enableVertexAttribArray(w),g.vertexAttribPointer(w,4,g.FLOAT,!1,128,D*16),g.vertexAttribDivisor(w,1)}g.bindBuffer(g.ARRAY_BUFFER,o.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(wA,"INST_SVGA_GL_MAX",2048);m(wA,"INST_SVGA_GL_BYTES",wA.INST_SVGA_GL_MAX*52);m(wA,"INST_ALPHA_GL_MAX",1024);m(wA,"INST_ALPHA_GL_BYTES",wA.INST_ALPHA_GL_MAX*48);m(wA,"INST_VAP_GL_MAX",1024);m(wA,"INST_VAP_GL_BYTES",wA.INST_VAP_GL_MAX*128);let xB=wA;var RC=Object.defineProperty,yC=(B,A,I)=>A in B?RC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,j=(B,A,I)=>yC(B,typeof A!="symbol"?A+"":A,I);function MC(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 Pg(B,A,I,g){const Q=B.createShader(A);if(!Q)throw new Error("Failed to create shader");if(B.shaderSource(Q,MC(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 OA(B,A,I,g){const Q=Pg(B,B.VERTEX_SHADER,A,"vertex"),C=Pg(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[i,o]of Object.entries(g))B.bindAttribLocation(E,o,i);if(B.linkProgram(E),!B.getProgramParameter(E,B.LINK_STATUS)){const i=B.getProgramInfoLog(E);throw B.deleteProgram(E),B.deleteShader(Q),B.deleteShader(C),new Error(`Program link failed: ${i}`)}return B.deleteShader(Q),B.deleteShader(C),E}function zg(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 Mg{constructor(A,I=!0){j(this,"type","webgl1"),j(this,"canvas"),j(this,"maxTextureSize",4096),j(this,"antialias"),j(this,"gl"),j(this,"nextId",1),j(this,"buffers",new Map),j(this,"textures",new Map),j(this,"programs",new Map),j(this,"cachedDrawProgram",null),j(this,"cachedTex0Id",null),j(this,"cachedProjectionRef",null),j(this,"cachedProjectionShader",null),j(this,"videoUploadCanvas",null),j(this,"videoUploadCtx",null),j(this,"supportsUintIndices",!1),this.canvas=A,this.antialias=I}async init(){const A=this.canvas.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,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:OA(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:OA(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"]),this.programs.set("alpha-video",{program:OA(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"]),this.programs.set("rgba-textured",{program:OA(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:OA(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 i=this.nextId++;return this.buffers.set(i,{buffer:Q,usage:I,byteLength:this.getBufferSourceByteLength(C)}),{id:i,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,i=Q.usage==="index"?C.ELEMENT_ARRAY_BUFFER:C.ARRAY_BUFFER;C.bindBuffer(i,Q.buffer);const o=this.getBufferSourceByteLength(E);g===0&&o<=Q.byteLength?C.bufferSubData(i,0,E):(C.bufferData(i,E,C.DYNAMIC_DRAW),Q.byteLength=o)}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 i=this.ensureVideoUploadCanvas(C,E);return!i||!this.videoUploadCanvas?!1:(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,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,i=zg(C,E),o=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,i),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,1),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o?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,i),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,o?1:0),this.uploadVideoFrameToTexture(i,A,!0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e=A.videoWidth||e,a=A.videoHeight||a;else{const s=o,D=I.sourcePremultiplied===!0,w=s&&!D?1:0;C.bindTexture(C.TEXTURE_2D,i),C.pixelStorei(C.UNPACK_FLIP_Y_WEBGL,0),C.pixelStorei(C.UNPACK_PREMULTIPLY_ALPHA_WEBGL,w),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:i,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=zg(Q,C),i=Math.max(1,Math.floor(A)),o=Math.max(1,Math.floor(I));Q.bindTexture(Q.TEXTURE_2D,E),Q.texImage2D(Q.TEXTURE_2D,0,Q.RGBA,i,o,0,Q.RGBA,Q.UNSIGNED_BYTE,null);const e=this.nextId++;return this.textures.set(e,{texture:E,width:i,height:o}),{id:e,width:i,height:o}}updateTexture(A,I){const g=this.textures.get(A.id);if(!g)return;if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){const o=this.gl,e=sI(I),a=DI(I),t=e===g.width&&a===g.height;o.bindTexture(o.TEXTURE_2D,g.texture),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),t?o.texSubImage2D(o.TEXTURE_2D,0,0,0,o.RGBA,o.UNSIGNED_BYTE,I):(o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,I),e>0&&a>0&&(g.width=e,g.height=a)),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){const o=I.videoWidth,e=I.videoHeight,a=o!==g.width||e!==g.height;this.uploadVideoFrameToTexture(g.texture,I,a)&&a&&(g.width=o,g.height=e);return}const Q=this.gl,C=sI(I),E=DI(I),i=C===g.width&&E===g.height;Q.bindTexture(Q.TEXTURE_2D,g.texture),Q.pixelStorei(Q.UNPACK_FLIP_Y_WEBGL,0),i?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 i=this.textures.get(A.id);if(!i)return;const o=this.gl;o.bindTexture(o.TEXTURE_2D,i.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),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,this.videoUploadCanvas),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}if(typeof VideoFrame!="undefined"&&I instanceof VideoFrame){o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,I),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}if(I instanceof HTMLVideoElement){o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,1),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.UNSIGNED_BYTE,I),o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0);return}o.pixelStorei(o.UNPACK_FLIP_Y_WEBGL,0),o.texSubImage2D(o.TEXTURE_2D,0,g,Q,o.RGBA,o.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"?g.uniform1f(t,a):g.uniform1i(t,a)}const i=this.buffers.get(A.vertexBuffer.id),o=this.buffers.get(A.indexBuffer.id);!i||!o||(g.bindBuffer(g.ARRAY_BUFFER,i.buffer),g.bindBuffer(g.ELEMENT_ARRAY_BUFFER,o.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,i=this.canvas.height,o=Math.max(0,Math.min(E,Math.round(A))),e=Math.max(0,Math.min(i,Math.round(I))),a=Math.max(o,Math.min(E,Math.round(A+g))),t=Math.max(e,Math.min(i,Math.round(I+Q)));C.enable(C.SCISSOR_TEST),C.scissor(o,i-t,a-o,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 mB(){return typeof GPUQueue!="undefined"&&typeof GPUQueue.prototype.copyExternalImageToTexture=="function"}function NC(){return typeof navigator!="undefined"&&"gpu"in navigator&&mB()}function SC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl2")!==null}catch(B){return!1}}function kC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl")!==null}catch(B){return!1}}function UC(){return typeof SharedArrayBuffer!="undefined"&&typeof Atomics!="undefined"&&globalThis.crossOriginIsolated===!0}function bB(){return typeof OffscreenCanvas!="undefined"}async function TB(B,A=!0,I=!0,g=!1){const Q=I!=null?I:!1,C=I!=null?I:!0;if(g){const i=new Mg(B,C);return await i.init(),i}if(A&&typeof navigator!="undefined"&&"gpu"in navigator&&mB())try{const i=await navigator.gpu.requestAdapter({powerPreference:"high-performance"});if(i){const o=new pB(B,i,Q);return await o.init(),o}else console.warn("[GiftStage] WebGPU unavailable: requestAdapter returned null, fallback to WebGL2/WebGL1.")}catch(i){console.warn(`[GiftStage] WebGPU init failed: ${i instanceof Error?i.message:String(i)}, 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 i=new xB(B,C);return await i.init(),i}catch(i){console.warn(`[GiftStage] WebGL2 init failed: ${i instanceof Error?i.message:String(i)}, fallback to WebGL1.`)}const E=new Mg(B,C);return await E.init(),E}const lC={width:1920,height:1080},YC={width:2560,height:1440};function KC(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 dC(B){return KC(B)?lC:YC}function JC(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)),i=Math.max(1,Math.round(Q*C));if(I!==!1){const o=I!=null?I:dC(),e=Math.max(o.width,o.height),a=Math.min(o.width,o.height);if(e>0&&a>0){const t=Math.min(1,e/Math.max(E,i),a/Math.min(E,i));t<1&&(E=Math.max(1,Math.round(E*t)),i=Math.max(1,Math.round(i*t)))}}(B.width!==E||B.height!==i)&&(B.width=E,B.height=i)}function Ng(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 LC=9,YA=13,sA=9,pA=4,QI=6,ug=9,fC={a:1,b:0,c:0,d:1,tx:0,ty:0};function HC(B,A,I){return(B*I+A)*ug}function uC(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 qC(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 WB(B,A){var I,g,Q,C,E,i,o;const e=B.length;let a=A!=null?A:0;if(a<=0)for(const c of B)a=Math.max(a,c.frames.length);const t=B.map(c=>c.imageKey),s=new Float32Array(e*a*ug),D=[],w=new Map,h=new Int32Array(e*a).fill(-1),n=[],r=new Int32Array(e*a).fill(-1);let F=!1;for(let c=0;c<e;c++){const G=B[c];let y=null,M=-1;for(let R=0;R<a;R++){const N=G.frames[R],S=HC(c,R,a);if(!N){s[S+2]=1,s[S+5]=1;continue}const U=(g=(I=N.layout)==null?void 0:I.width)!=null?g:0,K=(C=(Q=N.layout)==null?void 0:Q.height)!=null?C:0,d=(E=N.transform)!=null?E:fC;s[S]=U,s[S+1]=K,s[S+2]=d.a,s[S+3]=d.b,s[S+4]=d.c,s[S+5]=d.d,s[S+6]=d.tx,s[S+7]=d.ty,s[S+8]=N.alpha;const l=(i=N.clipPath)!=null?i:"";if(l.length>0){let u=w.get(l);u===void 0&&(u=D.length,D.push(l),w.set(l,u)),h[c*a+R]=u}const J=N.shapes;if(!J||J.length===0){y=null,M=-1;continue}if(((o=J[0])==null?void 0:o.kind)==="keep"){M>=0&&(r[c*a+R]=M,F=!0);continue}if(y!==null&&J===y&&M>=0){r[c*a+R]=M,F=!0;continue}const q=J.every(u=>u.kind!=="keep")?J:J.filter(u=>u.kind!=="keep");if(q.length===0){y=null,M=-1;continue}y=q,M=n.length,n.push(q),r[c*a+R]=M,F=!0}}return{spriteCount:e,frameCount:a,imageKeys:t,frameData:s,clipPaths:D,clipPathIndex:h,shapesTable:n,shapesIndex:r,hasAnyShapes:F}}function LI(B,A,I){const g=Math.floor(B.length/YA),Q=Math.floor(A.length/(pA*sA)),C=Math.floor(I.length/QI),E=Math.min(g,Q,C);for(let i=0;i<E;i++){const o=i*YA,e=B[o],a=B[o+1],t=B[o+2],s=B[o+3],D=B[o+4],w=B[o+5],h=B[o+6],n=B[o+7],r=B[o+8],F=B[o+9],c=B[o+10],G=B[o+11],y=B[o+12],M=h,R=n,N=t*e+h,S=s*e+n,U=t*e+D*a+h,K=s*e+w*a+n,d=D*a+h,l=w*a+n,J=i*pA*sA;A[J]=M,A[J+1]=R,A[J+2]=0,A[J+3]=1,A[J+4]=1,A[J+5]=1,A[J+6]=r,A[J+7]=F,A[J+8]=c;const q=J+sA;A[q]=N,A[q+1]=S,A[q+2]=0,A[q+3]=1,A[q+4]=1,A[q+5]=1,A[q+6]=r,A[q+7]=G,A[q+8]=c;const u=J+2*sA;A[u]=U,A[u+1]=K,A[u+2]=0,A[u+3]=1,A[u+4]=1,A[u+5]=1,A[u+6]=r,A[u+7]=G,A[u+8]=y;const f=J+3*sA;A[f]=d,A[f+1]=l,A[f+2]=0,A[f+3]=1,A[f+4]=1,A[f+5]=1,A[f+6]=r,A[f+7]=F,A[f+8]=y;const W=i*QI,iA=i*pA;I[W]=iA,I[W+1]=iA+1,I[W+2]=iA+2,I[W+3]=iA,I[W+4]=iA+2,I[W+5]=iA+3}return E}function pC(B,A,I){const g=$g(B,L.__wbindgen_malloc),Q=$;var C=$g(A,L.__wbindgen_malloc),E=$,i=XB(I,L.__wbindgen_malloc),o=$;return L.build_batch_vertices(g,Q,C,E,A,i,o,I)>>>0}function xC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.decode_svga(A,I);if(g[2])throw wI(g[1]);return wI(g[0])}function mC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.decode_svga_payload(A,I);if(g[3])throw wI(g[2]);var Q=jI(g[0],g[1]).slice();return L.__wbindgen_free(g[0],g[1]*1,1),Q}function bC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.decode_svga_payload_profiled(A,I);if(g[3])throw wI(g[2]);var Q=jI(g[0],g[1]).slice();return L.__wbindgen_free(g[0],g[1]*1,1),Q}function TC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.inflate(A,I);if(g[3])throw wI(g[2]);var Q=jI(g[0],g[1]).slice();return L.__wbindgen_free(g[0],g[1]*1,1),Q}function ZB(){L.init()}function WC(){return L.take_svga_payload_profile()}function ZC(B,A){const I=OC(B,L.__wbindgen_malloc),g=$,Q=XB(A,L.__wbindgen_malloc),C=$,E=L.triangulate_clip_polygons(I,g,Q,C);var i=VC(E[0],E[1]).slice();return L.__wbindgen_free(E[0],E[1]*4,4),i}function VB(){return{__proto__:null,"./gift_stage_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(A,I){return Error($I(A,I))},__wbg_String_8564e559799eccda:function(A,I){const g=String(I),Q=jC(g,L.__wbindgen_malloc,L.__wbindgen_realloc),C=$;_g().setInt32(A+4,C,!0),_g().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(jI(A,I))},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(A){return typeof A=="string"},__wbg___wbindgen_throw_81fc77679af83bc6:function(A,I){throw new Error($I(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 $I(A,I)},__wbindgen_cast_0000000000000003:function(A){return BigInt.asUintN(64,A)},__wbindgen_init_externref_table:function(){const A=L.__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 VC(B,A){return B=B>>>0,vB().subarray(B/4,B/4+A)}function jI(B,A){return B=B>>>0,xA().subarray(B/1,B/1+A)}let UA=null;function _g(){return(UA===null||UA.buffer.detached===!0||UA.buffer.detached===void 0&&UA.buffer!==L.memory.buffer)&&(UA=new DataView(L.memory.buffer)),UA}let _A=null;function vC(){return(_A===null||_A.byteLength===0)&&(_A=new Float32Array(L.memory.buffer)),_A}let $A=null;function XC(){return($A===null||$A.byteLength===0)&&($A=new Float64Array(L.memory.buffer)),$A}function $I(B,A){return B=B>>>0,zC(B,A)}let AI=null;function vB(){return(AI===null||AI.byteLength===0)&&(AI=new Uint32Array(L.memory.buffer)),AI}let II=null;function xA(){return(II===null||II.byteLength===0)&&(II=new Uint8Array(L.memory.buffer)),II}function XB(B,A){const I=A(B.length*4,4)>>>0;return vB().set(B,I/4),$=B.length,I}function PI(B,A){const I=A(B.length*1,1)>>>0;return xA().set(B,I/1),$=B.length,I}function $g(B,A){const I=A(B.length*4,4)>>>0;return vC().set(B,I/4),$=B.length,I}function OC(B,A){const I=A(B.length*8,8)>>>0;return XC().set(B,I/8),$=B.length,I}function jC(B,A,I){if(I===void 0){const i=CI.encode(B),o=A(i.length,1)>>>0;return xA().subarray(o,o+i.length).set(i),$=i.length,o}let g=B.length,Q=A(g,1)>>>0;const C=xA();let E=0;for(;E<g;E++){const i=B.charCodeAt(E);if(i>127)break;C[Q+E]=i}if(E!==g){E!==0&&(B=B.slice(E)),Q=I(Q,g,g=E+B.length*3,1)>>>0;const i=xA().subarray(Q+E,Q+g),o=CI.encodeInto(B,i);E+=o.written,Q=I(Q,g,E,1)>>>0}return $=E,Q}function wI(B){const A=L.__wbindgen_externrefs.get(B);return L.__externref_table_dealloc(B),A}let fI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});fI.decode();const PC=2146435072;let Ag=0;function zC(B,A){return Ag+=A,Ag>=PC&&(fI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),fI.decode(),Ag=A),fI.decode(xA().subarray(B,B+A))}const CI=new TextEncoder;"encodeInto"in CI||(CI.encodeInto=function(B,A){const I=CI.encode(B);return A.set(I),{read:B.length,written:I.length}});let $=0,L;function OB(B,A){return L=B.exports,UA=null,_A=null,$A=null,AI=null,II=null,L.__wbindgen_start(),L}async function _C(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 $C(B){if(L!==void 0)return L;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=VB();B instanceof WebAssembly.Module||(B=new WebAssembly.Module(B));const I=new WebAssembly.Instance(B,A);return OB(I)}async function jB(B){if(L!==void 0)return L;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/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgI0QwAAAAAgBkEBcRshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgI8QwAAAAAgBSgCOBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgJEQwAAAAAgBSgCQBshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgJMQwAAAAAgBSgCSBsMAQsgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAkMAAAAACyE9IAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmogPTgAACAEIAQoAqgCIgZBBGoiATYCqAICQCAFKAJQIhBBAkcEQCAFKAKIASIJQQJHIg0gDUECciAFKAKoASIHQQJGIgobIg1BBHIgDSAFKAJYIgwbIg1BCHIgDSAFKAJgIhIbIg1BEHIgDSAFKAJoIhkbIg1BIHIgDSAFKAJ4IhUgBSoCfCI9QwAAAABecSAFKAJwIhwgBSoCdCI/QwAAAABecWogBSgCgAEiICAFKgKEASJAQwAAAABecWoiDRshHSAEKAKgAiABRgRAIARBoAJqEGELIAQoAqQCIAFqIB06AAAgBCAGQQVqIgE2AqgCIAlBAkcEQCAFKgKMAUMAAAAAIAlBAXEbIT4gBCgCoAIgAWtBA00EfyAEQaACaiABQQRBAUEBEEwgBCgCqAIFIAELIAQoAqQCaiA+OAAAIAQgBCgCqAJBBGoiATYCqAIgBSoClAFDAAAAACAFKAKQARshPiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID44AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgKcAUMAAAAAIAUoApgBGyE+IAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmogPjgAACAEIAQoAqgCQQRqIgE2AqgCIAUqAqQBQwAAAAAgBSgCoAEbIT4gBCgCoAIgAWtBA00EfyAEQaACaiABQQRBAUEBEEwgBCgCqAIFIAELIAQoAqQCaiA+OAAAIAQgBCgCqAJBBGoiATYCqAILIApFBEAgBSoCrAFDAAAAACAHQQFxGyE+IAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmogPjgAACAEIAQoAqgCQQRqIgE2AqgCIAUqArQBQwAAAAAgBSgCsAEbIT4gBCgCoAIgAWtBA00EfyAEQaACaiABQQRBAUEBEEwgBCgCqAIFIAELIAQoAqQCaiA+OAAAIAQgBCgCqAJBBGoiATYCqAIgBSoCvAFDAAAAACAFKAK4ARshPiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID44AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgLEAUMAAAAAIAUoAsABGyE+IAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmogPjgAACAEIAQoAqgCQQRqIgE2AqgCCyAFKgJUQwAAAAAgEEEBcRshPiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID44AAAgBCAEKAKoAkEEaiIGNgKoAiAMBEAgBSgCXCEBIAQoAqACIAZrQQNNBH8gBEGgAmogBkEEQQFBARBMIAQoAqgCBSAGCyAEKAKkAmogATYAACAEIAQoAqgCQQRqIgY2AqgCCyASBEAgBSgCZCEBIAQoAqACIAZrQQNNBH8gBEGgAmogBkEEQQFBARBMIAQoAqgCBSAGCyAEKAKkAmogATYAACAEIAQoAqgCQQRqIgY2AqgCCyAZBEAgBSoCbCE+IAQoAqACIAZrQQNNBH8gBEGgAmogBkEEQQFBARBMIAQoAqgCBSAGCyAEKAKkAmogPjgAACAEIAQoAqgCQQRqIgY2AqgCCyANRQ0BIAQoAqACIAZrQQNNBH8gBEGgAmogBkEEQQFBARBMIAQoAqgCBSAGCyAEKAKkAmogDTYAACAEIAQoAqgCQQRqIgY2AqgCIAQgQDgCkAEgBCAgNgKMASAEID04AogBIAQgFTYChAEgBCA/OAKAASAEIBw2AnxBACEHA0AgLyAHQQN0aiEBIAdBAWohBwNAAkAgAUEEaygCAEEBRgRAIAEqAgAiPUMAAAAAXg0BCyABQQhqIQEgB0EBaiIHQQRHDQEMBAsLIAQoAqACIAZrQQNNBH8gBEGgAmogBkEEQQFBARBMIAQoAqgCBSAGCyAEKAKkAmogPTgAACAEIAQoAqgCQQRqIgY2AqgCIAdBA0cNAAsMAQsgBCgCoAIgAUYEQCAEQaACahBhCyAEKAKkAiABakEAOgAAIAQgBkEFaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIGNgKoAgsCfSAFKALIASIBQQJHBEAgBSoCzAFDAACAPyABQQFxGyE9IAQoAqACIAZrQQNNBH8gBEGgAmogBkEEQQFBARBMIAQoAqgCBSAGCyAEKAKkAmogPTgAACAEIAQoAqgCQQRqIgE2AqgCIAUqAtQBQwAAAAAgBSgC0AEbIT0gBCgCoAIgAWtBA00EfyAEQaACaiABQQRBAUEBEEwgBCgCqAIFIAELIAQoAqQCaiA9OAAAIAQgBCgCqAJBBGoiATYCqAIgBSoC3AFDAAAAACAFKALYARshPSAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqID04AAAgBCAEKAKoAkEEaiIBNgKoAiAFKgLkAUMAAIA/IAUoAuABGyE9IAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmogPTgAACAEIAQoAqgCQQRqIgE2AqgCIAUqAuwBQwAAAAAgBSgC6AEbIT0gBCgCoAIgAWtBA00EfyAEQaACaiABQQRBAUEBEEwgBCgCqAIFIAELIAQoAqQCaiA9OAAAIAQgBCgCqAJBBGoiATYCqAIgBSoC9AFDAAAAACAFKALwARsMAQsgBCgCoAIgBmtBA00EfyAEQaACaiAGQQRBAUEBEEwgBCgCqAIFIAYLIAQoAqQCakGAgID8AzYAACAEIAQoAqgCQQRqIgE2AqgCIAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmpBADYAACAEIAQoAqgCQQRqIgE2AqgCIAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmpBADYAACAEIAQoAqgCQQRqIgE2AqgCIAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmpBgICA/AM2AAAgBCAEKAKoAkEEaiIBNgKoAiAEKAKgAiABa0EDTQR/IARBoAJqIAFBBEEBQQEQTCAEKAKoAgUgAQsgBCgCpAJqQQA2AAAgBCAEKAKoAkEEaiIBNgKoAkMAAAAACyE9IAQoAqACIAFrQQNNBH8gBEGgAmogAUEEQQFBARBMIAQoAqgCBSABCyAEKAKkAmogPTgAACAEIAQoAqgCQQRqIgE2AqgCIAhBAWohCAsgBUGEAmoiBSAPRw0ACyAIBEAgBCkDoAIhNyAEKAKcAiIHIAQoApQCRgRAIwBBEGsiBSQAIAVBBGogBEGUAmoiBigCACIJIAYoAgRBBCAJQQF0IgkgCUEETRsiCUEEQRAQSyAFKAIEQQFGBEAgBSgCCCAFKAIMEKgBAAsgBSgCCCENIAYgCTYCACAGIA02AgQgBUEQaiQACyAEKAKYAiAHQQR0aiIFIAg2AgwgBSABNgIIIAUgNzcCACAEIAdBAWo2ApwCIBMgH00NA0F/IAEgJ2oiASABICdJGyEnQX8gCCAoaiIBIAEgKEkbISgMBwsgBCgCoAIiBUUNAQsgBCgCpAIgBUEBEMIBC0F/IQcMBQsgHyATQbCcwAAQcwALQQEgBRCoAQALIB8gF0GgnMAAEHMACyAHQQBIBEBBfyEHDAILIBMgH00NAwsgFCAfQQJ0aiAHNgIAQQEhNgsgC0EBaiILIBZHDQALICUiESAuRw0BDAMLCyAfIBNBwJzAABBzAAtBBCAbEKgBAAsgAwRAEAAgQaEhRxAAIUULIAQoAuwBIQUgBCgC2AEgBCgC4AEiAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiAFNgAAIAQgBCgC4AFBBGoiATYC4AEgBCgC7AEiBQRAIAQoAugBIgcgBUEDdGohBgNAIAdBBGooAgAhBSAHKAIAIQggBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiAFNgAAIAQgBCgC4AFBBGoiATYC4AEgBCgC2AEgAWsgBUkEQCAEQdgBaiABIAVBAUEBEEwgBCgC4AEhAQsgBQRAIAQoAtwBIAFqIAggBfwKAAALIAQgBCgC4AEgBWoiATYC4AEgB0EIaiIHIAZHDQALCyABQQNxBEADQCAEKALYASABRgRAIARB2AFqEGELIAQoAtwBIAFqQQA6AAAgBCABQQFqIgE2AuABIAFBA3ENAAsLIBcEQCAXQQJ0IQcgDiEFA0AgBSgCACEGIAVBBGohBSAEKALYASABa0EDTQR/IARB2AFqIAFBBEEBQQEQTCAEKALgAQUgAQsgBCgC3AFqIAY2AAAgBCAEKALgAUEEaiIBNgLgASAHQQRrIgcNAAsLIAQoApwCIQUgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiAFNgAAIAQgBCgC4AFBBGoiATYC4AEgBCgCnAIiBQRAIAVBBHQhBiAEKAKYAkEIaiEFA0AgBUEEaigCACEIIAQoAtgBIAFrQQNNBH8gBEHYAWogAUEEQQFBARBMIAQoAuABBSABCyAEKALcAWogCDYAACAEIAQoAuABQQRqIgc2AuABIAVBBGsoAgAhCCAFKAIAIgEgBCgC2AEgB2tLBEAgBEHYAWogByABQQFBARBMIAQoAuABIQcLIAEEQCAEKALcASAHaiAIIAH8CgAACyAEIAQoAuABIAFqIgE2AuABIAVBEGohBSAGQRBrIgYNAAsLIAFBA3EEQANAIAQoAtgBIAFGBEAgBEHYAWoQYQsgBCgC3AEgAWpBADoAACAEIAFBAWoiATYC4AEgAUEDcQ0ACwsgEwRAIBQhBQNAIAUoAgAhBiAFQQRqIQUgBCgC2AEgAWtBA00EfyAEQdgBaiABQQRBAUEBEEwgBCgC4AEFIAELIAQoAtwBaiAGNgAAIAQgBCgC4AFBBGoiATYC4AEgG0EEayIbDQALCyAEKALYASABRgRAIARB2AFqEGELIAQoAtwBIAFqIDY6AAAgBEG4AmoiBSABQQFqIgE2AgAgBEHgAWogATYCACAEIAQpAtgBNwOwAgJAIANFDQAgBCgC2AEhAxAAIUFBoOvAACgCAEUEQCAEKAKcAiEGIAQoAuwBIQggBCgCNCEJQZDswAAgAzYCAEGM7MAAICI2AgBBiOzAACAnNgIAQYTswAAgBjYCAEGA7MAAICg2AgBB/OvAACAINgIAQfjrwAAgEzYCAEH068AAIBY2AgBB8OvAACAYNgIAQezrwAAgCTYCAEHo68AAICY2AgBB5OvAACABNgIAQeDrwAAgAjYCAEHA68AAIEc5AwBBuOvAACBGOQMAQbDrwAAgRDkDAEGo68AAQgE3AwBB2OvAACBBIEKhOQMAQdDrwAAgQSBDoTkDAEHI68AAIEEgRaE5AwAMAQtBkKnAABCKAQALIAAgBCkDsAI3AgAgAEEIaiAFKAIANgIAICEEQCAUICFBAnRBBBDCAQsgBCgCnAIiBQRAIAQoApgCIQEDQCABKAIAIgAEQCABQQRqKAIAIABBARDCAQsgAUEQaiEBIAVBAWsiBQ0ACwsgBCgClAIiAARAIAQoApgCIABBBHRBBBDCAQsgKQRAIA4gKUECdEEEEMIBCwJAIAQoAvQBIgBFDQAgACAAQQxsQRNqQXhxIgFqQQlqIgBFDQAgBCgC8AEgAWsgAEEIEMIBCyAEKALkASIABEAgBCgC6AEgAEEDdEEEEMIBCyAEKAJgIgBBgICAgHhGIABFckUEQCAEKAJkIABBARDCAQsgLRBCIARByABqEDwgBCgCSCIABEAgBCgCTCAAQRhsQQQQwgELIAQoAlghACAEKAJcIgUEQCAAQSRqIQEDQCABQQRrKAIAIgJBgICAgHhGIAJFckUEQCABKAIAIAJBARDCAQsgAUEsaiEBIAVBAWsiBQ0ACwsgBCgCVCIBRQ0AIAAgAUEsbEEEEMIBCyAEQcACaiQAC9dTASt/IwBB0ABrIggkAAJAAkACQAJAAkACfwJAAkAgBSAGSQ0AQX8gBUEBayILQQAgBSALTxsgB0EEcSImGyIRQQFqIiwgEXENACAIIAM2AiAgCCACNgIcIAEtAIBSIQkgCCAGNgIsIAggBTYCKCAIIAQ2AiQgCCABLQDsUToAQCAIIAEoAthRNgI8IAggASgC1FE2AjggCCABKALAUTYCNCAIIAEoAtxRNgIwQQFBAyAHQQFxIicbIS1BAUF8IAdBAnEbIR4gAUGA0QBqISAgAUGQ0ABqIS4gAUHg0QBqIRYgAUHt0QBqIR8gAUGAxgBqISEgAUGANmohIiABQaDRAGohGSABQYDPAGohKCABQeTRAGohIyABQYAUaiEaIAFBgARqIRsgAUGALWohJCABQYAdaiElA0BB/wEhBQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAECfwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgCUH/AXEOGSYlJCMRJxAiISAfHgECHRwbGhkYAwQXAAYtCyAIKAIgIQkgCCgCHCEFIAgoAjwiEEEDSw0UIAEoAsxRIQ0gCCgCMCEKIAgoAjQiBA0EIAlFDRUgBUEBaiELIAlBAWshCUEAIQwgBS0AACANQQh0cgwTCyAIKAIsIQ4CQAJAAkACQCAIKAIgIgtBBEkNACAIKAIkIQ8gCCgCKCEMA0AgDCAOayIEQQJJDQEgBEGCAksgC0EOT3ENCiAIKAIwIQQgCAJ/IAgoAjQiBUEOSwRAIAUMAQsgCCALQQJrIgs2AiAgCCAIKAIcIgpBAmo2AhwgCi8AACAFdCAEciEEIAVBEHILAn8gGyAEQf8HcUEBdGouAQAiBUEASARAQQohCQNAAkAgBCAJdkEBcSAFQX9zaiIFQcAETwRAIAlBAWohCUH//wEhBQwBCyAJQQFqIQkgGiAFQQF0ai4BACIFQQBIDQELCyAJQf8BcQwBCyAFQQl2CyIKayINNgI0IAggBCAKdiIKNgIwIAggBTYCPCAFQYACcQ0DIAggDUEOSwR/IA0FIAggC0ECazYCICAIIAgoAhwiBEECajYCHCAELwAAIA10IApyIQogDUEQcgsCfyAbIApB/wdxQQF0ai4BACIEQQBIBEBBCiEJA0ACQCAKIAl2QQFxIARBf3NqIgRBwARPBEAgCUEBaiEJQf//ASEEDAELIAlBAWohCSAaIARBAXRqLgEAIgRBAEgNAQsLIAlB/wFxDAELIARBCXYLIgtrNgI0IAggCiALdjYCMCAMIA5NDQsgDiAPaiAFOgAAIA5BAWohBSAEQYACcQ0CIAUgDE8NDCAFIA9qIAQ6AAAgDkECaiEOIAgoAiAiC0EETw0ACwsgCCAONgIsIAgoAjQiDUEPSQ0CIAgoAjAhBCANIQoMEAsgCCAENgI8IAggBTYCLEEVIQkMKAsgCCAONgIsQRUhCQwnCyALQQFNBEAgCCgCHCEJAkAgGyAIKAIwIgRB/wdxQQF0ai4BACIFQQBIBEBBCyEKIA1BC0kNDQNAIAQgCkEBa3ZBAXEgBUF/c2oiBUG/BEsNDyAaIAVBAXRqLgEAIgVBAE4NAiANIApBAWoiCk8NAAsMDQsgBUGABEkgDSAFQQl2SXINDAsgDSEKIAkhDAwNCyAIIAtBAms2AiAgCCAIKAIcIgRBAmo2AhwgDUEQciEKIAgoAjAgBC8AACANdHIhBAwNC0EVIQkgCCgCPCILQf8BSw0lIAgoAigiBSAIKAIsIgRGBEBBDSEJQQIhBQwrCyAEIAVPDQcgCCgCJCAEaiALOgAAIAggBEEBajYCLEEMIQkMJQtBAyEJIAEtAOpRRQ0kIAggCCgCNCIFQXhxIAMgCCgCIGsiBCAFQQN2IgsgBCALSRsiC0EDdGsiDDYCNCADIAQgC2siBEkNByAIKAIwIQsgCCADIARrNgIgIAggAiAEajYCHEEYIQkgCEF/IAxBGHF0QX9zIAsgBUEHcXZxNgIwICdFDSQgCEEANgI8QRchCQwkCyAIIAgoAjwiBUH/A3EiBDYCPEEUIQkgBEGAAkYNI0EhIQkgBEGdAksNIyAIIAVBAWtBH3EiBEEBdEGMtsAAai8BADYCPCAIIAQtAOy1QCIEOgBAQQ5BDyAEGyEJDCMLIARBB00NDCAFIQsgBCEMIAoMDQtBACEFDCYLIAggDjYCLCAIQRhqISkgCEEcaiESQQAhDiAIQTBqIhUtABAhEyAVKAIMIQUgFSgCCCEXIBUoAgQhCiAVKAIAIQlBDCEcAkAgCEEkaiIdKAIEIhQgHSgCCCIPa0GDAkkNACASKAIEIhBBDkkNACABQYAtaiEvIAFBgB1qITAgAUGAFGohKiABQYAEaiErIB0oAgAhGCASKAIAIQsgB0EEcUEARyExA0AgCyEFAkACQANAIApBDksEfyAKBSASIBBBAmsiEDYCBCASIAVBAmoiCzYCACAFLwAAIAp0IAlyIQkgCyEFIApBEHILAn8gKyAJQf8HcUEBdGouAQAiBEEASARAQQohCgNAIAkgCnZBAXEgBEF/c2oiBEHABE8EQEH//wEhBCAKQQFqQf8BcQwDCyAKQQFqIQogKiAEQQF0ai4BACIEQQBIDQALIApB/wFxDAELIARBCXYLIgxrIQogCSAMdiEJAkACQCAEQYACcUUEQCAKQQ5LBH8gCgUgEiAQQQJrIhA2AgQgEiAFQQJqIgs2AgAgBS8AACAKdCAJciEJIAshBSAKQRByCwJ/ICsgCUH/B3FBAXRqLgEAIg5BAEgEQEEKIQoDQCAJIAp2QQFxIA5Bf3NqIg1BwARPBEBB//8BIQ4gCkEBakH/AXEMAwsgCkEBaiEKICogDUEBdGouAQAiDkEASA0ACyAKQf8BcQwBCyAOQQl2CyENIA8gFE8NASANayEKIAkgDXYhCSAdIA9BAWoiDDYCCCAPIBhqIAQ6AAAgDkGAAnFFDQIgDCEPIA4hBAtBgAIhBUEAIQ4gBEH/A3EiDEGAAkcNBEEUIRwMBgsgDyAUQYy1wAAQcwALIAwgFE8NASAdIA9BAmoiDzYCCCAMIBhqIA46AABBACEOIBQgD2tBgwJJBEAgBCEFDAULIBBBDk8NAAsgBCEFDAMLIAwgFEGMtcAAEHMACyAMQZ0CSwRAQSEhHEH/ASEOIAwhBQwCCyAEQQFrQR9xIgQtAOy1QCETIARBAXRBjLbAAGoCfyAKQQ5LBEAgCyEEIAoMAQsgEiAQQQJrIhA2AgQgEiALQQJqIgQ2AgAgCy8AACAKdCAJciEJIApBEHILIQ0vAQAhBQJAIBNFBEAgBCEMDAELIAkgE3YhCiAJQX8gE3RBf3NxIAVqIQUgDSATayILQQ5LBEAgBCEMIAshDSAKIQkMAQsgEiAQQQJrIhA2AgQgEiAEQQJqIgw2AgAgC0EQciENIAQvAAAgC3QgCnIhCQsgDQJ/IDAgCUH/B3FBAXRqLgEAIgRBAEgEQEEKIQoDQCAJIAp2QQFxIARBf3NqIgRBwARPBEBB//8BIQQgCkEBakH/AXEMAwsgCkEBaiEKIC8gBEEBdGouAQAiBEEASA0ACyAKQf8BcQwBCyAEQQl2CyILayEKIAkgC3YhCSAEQf8DcSILQR1LBEBBIiEcQf8BIQ4MAgsgBEH/AXEiBEEBdiINQQFrIhNBACANIBNPGyETIAtBAXQvAZa3QCEXAkAgBEEESQRAIAwhCwwBCwJAAn8gCkEPTwRAIAwhCyAKIQ0gCQwBCyAQQQFNDQEgEiAQQQJrIhA2AgQgEiAMQQJqIgs2AgAgCkEQciENIAwvAAAgCnQgCXILIQQgDSATayEKIAQgE3YhCSAEQX8gE3RBf3NxIBdqIRcMAQtBAEECIBBB5LfAABA5AAsgMSAPIBdJcSAUIBdJckUEQCAPIBdrIBFxIQQCQCAFQQNGBEAgD0EDaiAUSyAPQXxLcg0BIARBAmogEXEiDSAUTw0BIARBAWogEXEiMiAUTyAEIBRPcg0BIA8gGGoiDCAEIBhqLQAAOgAAIAwgGCAyai0AADoAASAMIA0gGGotAAA6AAIMAQsgGCAUIAQgDyAFIBEQFwsgHSAFIA9qIg82AgggFCAPa0GDAkkNAiAQQQ1LDQEMAgsLQf8BIQ5BHiEcCyAVIBM6ABAgFSAFNgIMIBUgFzYCCCAVIAo2AgQgFSAJNgIAICkgHDoAASApIA46AAAgCC0AGSEJIAgtABgiBUUNIAwkCyAOIAxBjLXAABBzAAsgBSAMQYy1wAAQcwALIAQgBUGMtcAAEHMACyAEIAMgA0HctcAAEDkACwJAIAtFBEAgDSEKDAELIA1BCGohCiAJQQFqIQwgCS0AACANdCAEciEEQQAhCyANQQZLDQIgGyAEQf8HcUEBdGouAQAiBUEASARAIA1BA0kNAUELIQkDQCAEIAlBAWt2QQFxIAVBf3NqIgVBvwRLDQMgGiAFQQF0ai4BACIFQQBODQQgCiAJQQFqIglPDQALDAELIAVBgARJDQAgCiAFQQl2Tw0CCyAIIAo2AjQgCCAENgIwIAhBADYCIEEMDB4LIAVBwARB9L/AABBzAAsgCCALNgIgIAggDDYCHAsCQCAbIARB/wdxQQF0ai4BACIFQQBIBEBBCiEJA0ACQCAEIAl2QQFxIAVBf3NqIgVBwARPBEAgCUEBaiEJQf//ASEFDAELIAlBAWohCSAaIAVBAXRqLgEAIgVBAEgNAQsLIAlB/wFxIQkMAQsgBUEJdiEJIAVB/wNxIQULIAggBTYCPCAIIAogCWs2AjQgCCAEIAl2NgIwQQ0hCQwYC0EUIQkgCCgCPEUNF0EHIQkgCCgCKCAIKAIsRw0XQQYhCUECIQUMHAsgCEEANgI8IAggCCgCNCIEQXhxNgI0IAggCCgCMCAEQQdxdjYCMEEFIQkMFgsgCUUNAyAEQQhyIQwgBUEBaiELIAlBAWshCSAFLQAAIAR0IApyCyEEIAggDEEIayIMNgI0IAggBEEIdiIKNgIwIARB/wFxIA1BCHRyCyIENgLMUSAIIBBBAWoiBTYCPCAFQQRGBEAgCyEFDAELAkAgDARAAn8gDEEHSwRAIAohDyAMIQ0gCwwBCyAJRQ0EIAxBCHIhDSAJQQFrIQkgCy0AACAMdCAKciEPIAtBAWoLIQUgCCANQQhrIgs2AjQgCCAPQQh2Igo2AjAgD0H/AXEgBEEIdHIhDgwBCyAJRQ0CIAtBAWohBSAJQQFrIQkgCy0AACAEQQh0ciEOQQAhCwsgASAONgLMUSAIIBBBAmoiBDYCPCAEQQRGDQAgAQJ/IAsEQAJ/IAtBB0sEQCAFIQwgCyEPIAoMAQsgCUUNBCALQQhyIQ8gBUEBaiEMIAlBAWshCSAFLQAAIAt0IApyCyEEIAggD0EIayILNgI0IAggBEEIdiIKNgIwIARB/wFxIA5BCHRyDAELIAlFDQIgBUEBaiEMIAlBAWshCUEAIQsgBS0AACAOQQh0cgsiBDYCzFEgCCAQQQNqIgU2AjwgBUEERgRAIAwhBQwBCyABAn8gCwRAAn8gC0EHSwRAIAshDyAMDAELIAlFDQQgC0EIciEPIAlBAWshCSAMLQAAIAt0IApyIQogDEEBagshBSAIIA9BCGs2AjQgCCAKQQh2NgIwIApB/wFxIARBCHRyDAELIAlFDQIgDEEBaiEFIAlBAWshCSAMLQAAIARBCHRyCzYCzFEgCCAQQQRyNgI8CyAIIAk2AiAgCCAFNgIcQRghCQwSCyAIQQA2AiBBFwwUC0EeIQkgJkEAIAgoAiwiBCAIKAI4IgpJGw0QIAogCCgCKCILSw0QAkAgCyAIKAI8IgwgBGoiDU8EQCAIKAIkIQUgBCAKayARcSIJIARJIAkgBGsgDE9yDQELQRNBDCAMGyEJDBELIBEgBCAKa3EhCgJAIAxBA0YEQCAEQQNqIAtLIARBfEtyDQEgCiALTyAKQQJqIBFxIgwgC09yDQEgCyAKQQFqIBFxIgtNDQEgBCAFaiIEIAUgCmotAAA6AAAgBCAFIAtqLQAAOgABIAQgBSAMai0AADoAAgwBCyAFIAsgCiAEIAwgERAXCyAIIA02AixBDCEJDBALIAgoAiQhCiAIKAI4IQ0gCCgCPCEFIAgoAiwhCSAIKAIoIQQCQANAIAQgCUYNASAKIAQgCSANayARcSAJIAUgBCAJayILIAUgC0kbIgwgERAXIAkgDGohCSAFIAtLIAUgDGshBQ0ACyAIIAU2AjwgCCAJNgIsQQwhCQwQCyAIIAU2AjwgCCAENgIsQRMhCUECIQUMFAsgCCgCKCIFIAgoAiwiBEYEQEESIQlBAiEFDBQLIAQgBUkEQCAIKAIkIARqIAgoAjg6AAAgCCAEQQFqNgIsIAgoAjQhBCAIIAgoAjxBAWsiBTYCPEERQQYgBBtBBiAFGyEJDA8LIAQgBUGMtcAAEHMACyAIKAIwIQkCfyAIKAI0IgRBB0sEQCAEDAELQREgCCgCICILRQ0RGiAIKAIcIQUgCCALQQFrNgIgIAggBUEBajYCHCAFLQAAIAR0IAlyIQkgBEEIcgshBCAIIAlB/wFxNgI4IAggBEEIazYCNCAIIAlBCHY2AjBBEiEJDA0LIAgoAjAhBAJAAkAgCCgCNCIJIAgtAEAiDE8EQCAJIQsMAQsgCCgCICIFRQ0BQQEgBWshCiAIKAIcIQUDQAJAIAUtAAAgCXQgBHIhBCAJQQhqIgkiCyAMTw0AIAVBAWohBSAKQQFqIgpBAUcNAQwDCwsgCEEAIAprNgIgIAggBUEBajYCHAsgCCALIAxrNgI0IAggBCAMdjYCMCAIIAgoAjggBEF/IAx0QX9zcWo2AjhBFiEJDA0LIAggCTYCNCAIIAQ2AjAgCEEANgIgQRAMDwsCQAJAAkACQAJAIAgoAjQiC0EPTwRAIAgoAjAhBCALIQoMAQsCQAJAIAgoAiAiDkEBTQRAIAgoAhwhDQJAICUgCCgCMCIEQf8HcUEBdGouAQAiBUEASARAQQshCiALQQtJDQMDQCAEIApBAWt2QQFxIAVBf3NqIgVBvwRLDQcgJCAFQQF0ai4BACIFQQBODQIgCyAKQQFqIgpPDQALDAMLIAVBgARJIAsgBUEJdklyDQILIAshCiANIQwMAgsgCCAOQQJrNgIgIAggCCgCHCIEQQJqNgIcIAtBEHIhCiAIKAIwIAQvAAAgC3RyIQQMAgsgDkUEQCALIQoMBgsgC0EIaiEKIA1BAWohDCANLQAAIAt0IARyIQRBACEOIAtBBksNACAlIARB/wdxQQF0ai4BACIFQQBIBEAgC0EDSQ0GQQshCQNAIAQgCUEBa3ZBAXEgBUF/c2oiBUG/BEsNBCAkIAVBAXRqLgEAIgVBAE4NAiAJQQFqIgkgCk0NAAsMBgsgBUGABEkgCiAFQQl2SXINBQsgCCAONgIgIAggDDYCHAsgJSAEQf8HcUEBdGouAQAiBUEATg0BQQohCQNAAkAgBCAJdkEBcSAFQX9zaiIFQcAETwRAIAlBAWohCUH//wEhBQwBCyAJQQFqIQkgJCAFQQF0ai4BACIFQQBIDQELCyAJQf8BcSEJDAILIAVBwARB9L/AABBzAAsgBUEJdiEJIAVB/wNxIQULIAggCiAJazYCNCAIIAQgCXY2AjBBIiEJIAVBHUsNDCAIIAVBAXQvAZa3QDYCOCAIIAVB/gFxQQF2IgRBAWsiC0EAIAQgC08bOgBAQRZBECAFQQRJGyEJDAwLIAggCjYCNCAIIAQ2AjAgCEEANgIgQQ8MDgsgCCgCMCEEAkACQCAIKAI0IgkgCC0AQCIMTwRAIAkhCwwBCyAIKAIgIgVFDQFBASAFayEKIAgoAhwhBQNAAkAgBS0AACAJdCAEciEEIAlBCGoiCSILIAxPDQAgBUEBaiEFIApBAWoiCkEBRw0BDAMLCyAIQQAgCms2AiAgCCAFQQFqNgIcCyAIIAsgDGs2AjQgCCAEIAx2NgIwIAggCCgCPCAEQX8gDHRBf3NxajYCPEEPIQkMCwsgCCAJNgI0IAggBDYCMCAIQQA2AiBBDgwNCyAIKAIwIQQCQCAIKAI0IgkgCC0AQCIMTwRAIAkhCwwBCwJAIAgoAiAiBQRAQQEgBWshCiAIKAIcIQUDQCAFLQAAIAl0IARyIQQgCUEIaiIJIgsgDE8NAiAFQQFqIQUgCkEBaiIKQQFHDQALCyAIIAk2AjQgCCAENgIwIAhBADYCIEELDA4LIAhBACAKazYCICAIIAVBAWo2AhwLIAggCyAMazYCNCAIIAQgDHY2AjAgCEELNgJMIAhCg4CAgDA3AkQgCEHEAGogCCgCOCIFQQJxQQJ0aigCACAEQX8gDHRBf3NxaiELQQAhCiAIKAI8IQQgBUEQRgRAIAEgBEEBa0H/A3FqLQAAIQoLIAQgC2oiC0H/A3EiBSAEQf8DcSIESQRAIAQgBUGABEHUt8AAEDkACyAFIARrIgUEQCABIARqIAogBfwLAAsgCCALNgI8QQohCQwJCyAIKAIcIQsgCCgCICEOA0ACQAJAAkACQAJAAkACQAJAAkACQCAIKAI8IhAgAS8B5FEiBCABLwHmUWoiBU8EQEEaIQkgBSAQRw0UIARBoQJPDQIgBARAICggASAE/AoAAAsgAS8B5lEiDCABLwHkUSIEakH/A3EiBSAEQf8DcSIESQ0DIAUgBGsiCiAMQR9xIgVHDQQgBQRAIBkgASAEaiAF/AoAAAsgASABLQDrUUEBazoA61EgCEEQaiABIAhBMGoQFiAILQAQIgRBA0cNAUEKIQlB/wEhBQwZCyAIKAI0IgpBD08EQCAIKAIwIQQgCyEPIA4hDCAKIQ0MCAsgDkEBTQRAAkAgIiAIKAIwIgRB/wdxQQF0ai4BACIMQQBIBEBBCyEFIApBC0kNBwNAIAQgBUEBa3ZBAXEgDEF/c2oiDEG/BEsNCSAhIAxBAXRqLgEAIgxBAE4NAiAKIAVBAWoiBU8NAAsMBwsgDEGABEkgCiAMQQl2SXINBgsgCiENIA4hDCALIQ8MBwsgCCAOQQJrIgw2AiAgCCALQQJqIg82AhwgCkEQciENIAgoAjAgCy8AACAKdHIhBAwHCyAILQARIQkMCAtBACAEQaACQcy1wAAQOQALIAQgBUGABEG8tcAAEDkACyMAQSBrIgAkACAAIAo2AgggACAFNgIMIAAgAEEMaq1CgICAgOAHhDcDGCAAIABBCGqtQoCAgIDgB4Q3AxBBo5XAACAAQRBqQay1wAAQggEACwJAIA5FBEAgCiENDAELIApBCGohDSALQQFqIQ8gCy0AACAKdCAEciEEQQAhDCAKQQZLDQIgIiAEQf8HcUEBdGouAQAiBUEASARAIApBA0kNAUELIQkDQCAEIAlBAWt2QQFxIAVBf3NqIgxBvwRLDQMgISAMQQF0ai4BACIFQQBOBEBBACEMDAULIA0gCUEBaiIJTw0ACwwBCyAFQYAESQ0AIA0gBUEJdk8NAgtBACEMIAhBADYCICAIIAsgDmoiDzYCHCAIIA02AjQgCCAENgIwQQIhBCAeIQkMAwsgDEHABEH0v8AAEHMACyAIIAw2AiAgCCAPNgIcCwJAICIgBEH/B3FBAXRqLgEAIgVBAEgEQEEKIQkDQAJAIAQgCXZBAXEgBUF/c2oiBUHABE8EQCAJQQFqIQlB//8BIQUMAQsgCUEBaiEJICEgBUEBdGouAQAiBUEASA0BCwsgCUH/AXEhCQwBCyAFQQl2IQkgBUH/A3EhBQsgCCANIAlrNgI0IAggBCAJdjYCMCAIIAU2AjggBUEQTwRAQQEhBCAQRQRAQSAhCSAFQRBGDQILIAhBgoYcNgBEIAggCEHEAGogBUEDcWotAAA6AEBBCyEJDAELIAEgEEH/A3FqIAU6AAAgCCAQQQFqNgI8QQAhBAsgDyELIAwhDgsgBEH/AXEiBEUNAAsgBEECaw0IIAkhBUEKIQkMDAsgCCgCICEKIAgoAhwhDgJAAkACQANAAn8gCCgCPCILIAEvAehRTwRAIAFBEzsB6FEgCEEIaiABIAhBMGoQFiAILQAIIgVBA0YNAyAILQAJDAELAn8CQCAIKAI0IgVBA08EQCAIKAIwIQQMAQsgCkUEQEEAIQpBAgwCCyAKQQFrIQogCCgCMCAOLQAAIAV0ciEEIA5BAWohDiAFQQhyIQULIAggBUEDazYCNCAIIARBA3Y2AjAgC0ESSw0EIAstANy2QCIFQRNPDQUgBSAfaiAEQQdxOgAAIAggC0EBajYCPEEACyEFIB4LIQkgBUUNAAsgBUECRwRAIAggCjYCICAIIA42AhwMCwsgCCAKNgIgIAggDjYCHCAJIQVBCSEJDA4LIAggCjYCICAIIA42AhxBCSEJQf8BIQUMDgsgC0ETQfC2wAAQcwALIAVBE0GAt8AAEHMACyAIKAI8IgxBAk0EQCAIKAIwIQkgCCgCHCELIAgoAiAhDiAIKAI0IQ0gCEEENgJMIAhChYCAgNAANwJEAn8CQAJAAkAgCEHEAGogDEECdGooAgAiDyANSwRAIA5FBEAgDCEKDAMLQQAhBCANIQUCQANAIAQgC2oiEC0AACAFdCAJciEJIAVBCGoiCiAPTw0BIAohBSAOIARBAWoiBEcNAAsgDCEKDAILIAggBEF/cyAOaiIONgIgIAggEEEBaiILNgIcIAVBCGohDQsgIyAMQQF0IgRqIAQvAZC3QCAJQX8gD3RBf3NxajsBACANIA9rIQ0gCSAPdiIJIAxBAWoiCkEDRg0DGiAIQQQ2AkwgCEKFgICA0AA3AkQCQCANIAhBxABqIApBAnRqKAIAIg9PDQAgDkUNAkEAIQQgDSEFA0AgBCALaiIQLQAAIAV0IAlyIQkgDyAFQQhqIgVNBEAgCCAEQX9zIA5qIg42AiAgCCAQQQFqIgs2AhwgBSENDAILIA4gBEEBaiIERw0ACwwBCyAjIApBAXQiBGogBC8BkLdAIAlBfyAPdEF/c3FqOwEAIA0gD2shDSAJIA92IgkgDEECaiIKQQNGDQMaIAhBBDYCTCANIAhBxABqIApBAnRqKAIAIgxPDQIgDkUNAUEAIQQgDSEFA0AgBCALaiIPLQAAIAV0IAlyIQkgDCAFQQhqIgVNBEAgCCAEQX9zIA5qNgIgIAggD0EBajYCHCAFIQ0MBAsgDiAEQQFqIgRHDQALCyAOQQN0IA1qIQ0LIAhBADYCICAIIAo2AjwgCCANNgI0IAggCTYCMEEIDAwLICMgCkEBdCIEaiAELwGQt0AgCUF/IAx0QX9zcWo7AQAgDSAMayENIAkgDHYLIQQgCCANNgI0IAggBDYCMAsgH0IANwAAIB9BD2pBADYAACAfQQhqQgA3AAAgCEEANgI8QRtBCUEbIAEvAeZRQR9JGyABLwHkUUGfAk8bIQkMBgtBByAIKAIgIgVFDQgaIAgoAjwiCiAFIAgoAigiDSAIKAIsIgtrIgQgBCAFSxsiBCAEIApLGyIEIAtqIgwgBEkgDCANS3JFBEAgCCgCHCENIAQEQCAIKAIkIAtqIA0gBPwKAAALIAggBSAEazYCICAIIAQgDWo2AhwgCCAMNgIsIAggCiAEazYCPEEGIQkMBgsgCyAMIA1BnLXAABA5AAsgCCgCICEEIAgoAhwhCgJAAkAgCCgCNCIFQQNPBEAgCCgCMCEJDAELIARFBEBBACEEIB4hBQwCCyAEQQFrIQQgCCgCMCAKLQAAIAV0ciEJIApBAWohCiAFQQhyIQULIAEgCUEBcToA6lEgASAJQQF2QQNxIgs6AOtRIAggBUEDazYCNCAIIAlBA3Y2AjBBBCEJAkACQAJAAkACQCALQQFrDgMAAQIDCyABQaCCgAE2AuRRIChBCEGQAfwLACAuQQlB8AD8CwAgIEEQakKHjpy48ODBgwc3AgAgIEEIakKHjpy48ODBgwc3AgAgIEKHjpy48ODBgwc3AgAgAUKIkKDAgIGChAg3AphRIBlChYqUqNCgwYIFNwIAIBlBCGpChYqUqNCgwYIFNwIAIBlBEGpChYqUqNCgwYIFNwIAIBlBGGpChYqUqNCgwYIFNwIAIAggASAIQTBqEBYgCC0AASEJIAgtAAAiC0EBRg0CQf8BIQUgC0EDaw0DDAQLIAhBADYCPEEIIQkMAQtBGSEJCyAIIAQ2AiAgCCAKNgIcDAYLIAkhBQsgCCAENgIgQQMhCQwIC0ECIAgoAiAiBUUNBhogASAIKAIcIgstAAAiBDYCyFEgCCAFQQFrNgIgIAggC0EBajYCHEEdQR1BAyABKALEUSIFQQ9xQQhHIAQgBUEIdHJBH3AgBEEgcXJBAEdyIgQgBCAsIAVBBHZBCGpBH3EiBHZFciAmGxsgBEEPSxshCQwDC0EBIAgoAiAiBEUNBRogASAIKAIcIgUtAAA2AsRRIAggBEEBazYCICAIIAVBAWo2AhxBAiEJDAILIAFCgYCAgBA3AsxRIAFCADcCxFEgCEFAa0EAOgAAIAhBOGpCADcDACAIQgA3AzAgLSEJDAELIAgoAjQhBQJAIAgoAjwiDUEDSw0AIAgoAjAhCSAIKAIcIQQgCCgCICEKAkACQCAFRQRAIAoNAQwGCwJ/IAVBB0sEQCAEIQsgBQwBCyAKRQ0GIAggCkEBayIKNgIgIAggBEEBaiILNgIcIAQtAAAgBXQgCXIhCSAFQQhyCyEEIA0gFmogCToAACAIIARBCGsiBTYCNCAIIAlBCHYiCTYCMAwBCyANIBZqIAQtAAA6AAAgCCAKQQFrIgo2AiAgCCAEQQFqIgs2AhxBACEFCyAIIA1BAWoiBDYCPCAEQQRGDQACQCAFBEACfyAFQQdLBEAgCyEMIAUMAQsgCkUNBiAIIApBAWsiCjYCICAIIAtBAWoiDDYCHCALLQAAIAV0IAlyIQkgBUEIcgshBSAEIBZqIAk6AAAgCCAFQQhrIgU2AjQgCCAJQQh2Igk2AjAMAQsgCkUNBCAEIBZqIAstAAA6AAAgCCAKQQFrIgo2AiAgCCALQQFqIgw2AhxBACEFCyAIIA1BAmoiBDYCPCAEQQRGDQACQCAFBEACfyAFQQdLBEAgDCELIAUMAQsgCkUNBiAIIApBAWsiCjYCICAIIAxBAWoiCzYCHCAMLQAAIAV0IAlyIQkgBUEIcgshBSAEIBZqIAk6AAAgCCAFQQhrIgU2AjQgCCAJQQh2Igk2AjAMAQsgCkUNBCAEIBZqIAwtAAA6AAAgCCAKQQFrIgo2AiAgCCAMQQFqIgs2AhxBACEFCyAIIA1BA2oiBDYCPCAEQQRGDQACQCAFBEAgBUEHTQRAIApFDQYgCCAKQQFrNgIgIAggC0EBajYCHCALLQAAIAV0IAlyIQkgBUEIciEFCyAEIBZqIAk6AAAgCCAFQQhrIgU2AjQgCCAJQQh2NgIwDAELIApFDQQgBCAWaiALLQAAOgAAIAggCkEBazYCICAIIAtBAWo2AhxBACEFCyAIIA1BBHI2AjwLIAggAS8B4FEiBDYCPEEfIQkgAS8B4lEgBHNB//8DRw0AQRQhCSAERQ0AQRFBBiAFGyEJDAALAAsgAEEANgIIIABBADYCACAAQf0BOgAEDAYLQQULIQkgHiEFC0EBIQpBACEEIAVB/wFxIgJBAUYNASACQfwBRg0CCyAIIAgoAjQiAiADIAgoAiBrIgQgAkEDdiICIAIgBEsbIgRBA3RrNgI0IAVB/wFxQQBHIQoMAQtBAUEBQQIgCUH/AXFBF0YbIAgoAiggCCgCLEcbIQULIAEgCToAgFIgASAIKAI0IgI2AsBRIAEgCCkDODcC1FEgASAILQBAOgDsUSABIAgoAjBBfyACdEF/c3E2AtxRAkAgB0HAAHEEQCAIKAIsIQkMAQsgCCgCLCEJIAdBCXFFIAXAQQBIcg0AIAgoAigiAiAJSSAGIAlLckUEQCABKALQUSECIAgoAiQhCyAIQcYANgJEIAggAjYCSCMAQRBrIgIkACACQQhqIAhBxABqIgcvAQQgBy8BBiAGIAtqIAkgBmsgBygCABEFACAHIAIoAgg2AgQgAkEQaiQAIAEgCCgCSCICNgLQUSAFQX4gBSACIAEoAsxRRxsgChsgBSAnGyEFDAELIAYgCSACQcy2wAAQOQALIAAgBToABCAAIAkgBms2AgggACADIAQgCCgCIGprNgIACyAIQdAAaiQAC7gxAxZ/EnwEfiMAQSBrIhUkAANAAkAgC0H/AXEgBUQAAAAAAAAAAGFyDQAgACgCBCIMIAFqIQcCQAJAAkACQANAIAcoAhRFBEAgBSAHKwMAIAOhoiIcRAAAAAAAAPC/ZEUgHEQAAAAAAADwQWNFcg0DIByrIQYgBSAHKwMIIAShoiIcRAAAAAAAAPC/ZEUgHEQAAAAAAADwQWNFcg0CIAcgHKutIAatQiCGhCIuQgiGIC6EQv+B/Ifwn8D/AIMiLkIEhiAuhEKPnrz48OHDhw+DIi5CAoYgLoRCs+bMmbPmzJkzgyIuQgGGIC6EQtWq1arVqtWq1QCDIi5CIIggLkIBhoQ+AhQLIAcgBygCIDYCGCAHIAcoAiQiBjYCHCAGIAxqIQcgASAGRw0ACyAHKAIYIQYgB0EANgIYIAZFDQIgBiAMakEANgIcIAxBHGohEUEBIRIgASEQA0AgEEUNBEEAIRQgEkECSSEWIBAhBkEAIRBBACEHA0AgByEIIBAhDSARIAYiD2ooAgAhCgJAIBYEQEEBIQkMAQsgCkUEQEEBIQkMAQtBASEJA0AgCiARaigCACEKIAlBAWoiCSASTw0BIAoNAAsLIBRBAWohFCASIQ4DQCANIRAgCiEGA0AgCCEHAkACQAJAAn8CQAJAIAlFBEAgDkUgBkVyDQEgBiAMaiIIIAc2AhggDkEBayEOQQAhCSAIKAIcDAMLIA8NAQsgBg0HIAdFDQwgByARakEANgIAIBJBAXQhEiAUQQJIDQ0MCAsgDkUEQCAMIA9qIhMgBzYCGCAJQQFrIQlBACEOIA8iCCENIAYhCiATKAIcIQ8MBAsgBkUNAiAMIA9qIhMoAhQgBiAMaiIIKAIUTA0BIAggBzYCGCAOQQFrIQ4gCCgCHAshCiAGIQggBiENIAohBgwCCyATIAc2AhggCUEBayEJIA8iCCENIAYhCiATKAIcIQ8MAQsgDCAPaiIGIAc2AhggCUEBayEJQQAhCiAPIgghDSAGKAIcIQ9BACEGCyAHRQ0BIAcgEWogCDYCAAwACwALAAsACwALQbCdwAAQygEAC0GgncAAEMoBAAtB0JzAABDKAQALQfCcwAAQygEACyAAKAIEIgxBEGohDQNAIAEhCAJAAkACQAJAAkAgBUQAAAAAAAAAAGIEQANAIAggDGoiDigCICIKIA4oAiQiCEYNAwJAIA4rAwgiHyAKIAxqIgZBCGorAwAiIKEgCCAMaiIHKwMAIiIgDisDACIhoaIgISAGKwMAIh6hIAdBCGorAwAiIyAfoaKhRAAAAAAAAAAAZg0AIB4gISAiEKEBEKEBISQgICAfICMQogEQogEhJSAeICEgIhCiARCiASEoICAgHyAjEKEBEKEBIScCQAJAAkAgBSAkIAOhoiIcRAAAAAAAAPC/ZEUgHEQAAAAAAADwQWNFckUEQCAcqyEJIAUgJyAEoaIiHEQAAAAAAADwv2RFIBxEAAAAAAAA8EFjRXINASAcqyAFICggA6GiIhxEAAAAAAAA8L9kRSAcRAAAAAAAAPBBY0VyDQIgHKshByAFICUgBKGiIhxEAAAAAAAA8L9kRSAcRAAAAAAAAPBBY0VyDQMgHKshEAJAIA4oAhwiBkUNACAQrSAHrUIghoQiLkIIhiAuhEL/gfyH8J/A/wCDIi5CBIYgLoRCj568+PDhw4cPgyIuQgKGIC6EQrPmzJmz5syZM4MiLkIBhiAuhELVqtWq1arVqtUAgyIuQiCIIC5CAYaEpyEQA0AgBiAMaiIHKAIUIBBKDQECQCAGIAhGIAYgCkZyDQAgBysDCCIcICVlRQ0AIBwgJ2ZFIAcrAwAiHSAkZkUgHSAoZUVyciAdIB5hIBwgIGFxcg0AICIgHaEiKSAgIByhIiqiIB4gHaEiJiAjIByhIiuiZkUNACAmIB8gHKEiJqIgISAdoSIsICqiZkUgLCAroiApICaiZkVyDQAgHCAMIAcoAiBqIgZBCGorAwChIAwgBygCJGoiEisDACAdoaIgHSAGKwMAoSASQQhqKwMAIByhoqFEAAAAAAAAAABmDQcLIAcoAhwiBg0ACwsgDigCGCIGRQ0LrSAJrUIghoQiLkIIhiAuhEL/gfyH8J/A/wCDIi5CBIYgLoRCj568+PDhw4cPgyIuQgKGIC6EQrPmzJmz5syZM4MiLkIBhiAuhELVqtWq1arVqtUAgyIuQiCIIC5CAYaEpyEJA0AgBiAMaiIHKAIUIAlIDQwCQCAGIAhGIAYgCkZyDQAgBysDCCIcICVlRQ0AIBwgJ2ZFIAcrAwAiHSAkZkUgHSAoZUVyciAdIB5hIBwgIGFxcg0AICIgHaEiKSAgIByhIiqiIB4gHaEiJiAjIByhIiuiZkUNACAmIB8gHKEiJqIgISAdoSIsICqiZkUgLCAroiApICaiZkVyDQAgHCAMIAcoAiBqIgZBCGorAwChIAwgBygCJGoiDysDACAdoaIgHSAGKwMAoSAPQQhqKwMAIByhoqFEAAAAAAAAAABmDQYLIAcoAhgiBg0ACwwLC0GgncAAEMoBAAtBsJ3AABDKAQALQaCdwAAQygEAC0GwncAAEMoBAAsgASAIRw0ADAILAAsDQCAIIAxqIg4oAiAiCiAOKAIkIghGDQICQCAOKwMIIiAgCiAMaiIHQQhqKwMAIh6hIAggDGoiBisDACIiIA4rAwAiH6GiIB8gBysDACIhoSAGQQhqKwMAIiMgIKGioUQAAAAAAAAAAGYNACAGKAIkIQYgHiAgICMQogEQogEhJCAhIB8gIhCiARCiASElIB4gICAjEKEBEKEBISggISAfICIQoQEQoQEhJyAGIApGDQYgDCAGIAxqIgkoAiBqIQYDQCAGIQcgDCAJIgYoAiQiD2ohCQJAIAYrAwAiHCAnZkUgHCAlZUVyDQAgBisDCCIdIChmRSAdICRlRXIgHCAhYSAdIB5hcXINACAiIByhIikgHiAdoSIqoiAhIByhIiYgIyAdoSIromZFDQAgJiAgIB2hIiaiIB8gHKEiLCAqomZFICwgK6IgKSAmomZFcg0AIB0gB0EIaisDAKEgCSsDACAcoaIgHCAHKwMAoSAJQQhqKwMAIB2hoqFEAAAAAAAAAABmDQILIAogD0cNAAsMBgsgASAIRw0ACwsCQAJAIAtB/wFxQQFrDgIEAQALIAxBHGohDSABIAxqIQYgASEKA0AgCiEIAkADQCAMIAYoAiQiAWohByAGKAIQQQBOBEAgBigCICEKIAYrAwAgBysDAGIEf0EABSAGKwMIIAcrAwhhCw0CIAZBCGorAwAiHCAKIAxqIglBCGorAwChIAcrAwAgBisDACIdoaIgHSAJKwMAoSAHQQhqKwMAIByhoqFEAAAAAAAAAABhDQILIAchBiABIAhHDQALQQEhCyAIIQEMCAsgBigCHCEIIAYoAhghCSAKIAxqIgYgATYCJAJAIAlFDQAgCSAKRwRAIAkgDWogCDYCAAwBCyAGIAg2AhwLIAcgCjYCICAIBEAgByAIIAxqIAEgCEYbIAk2AhgLQQEhCyABIApHDQALDAYLIAxBJGohGCABIAxqIQsgASEIA0AgDCALKAIkIg9qIQcgDyAYaigCACINIAsoAiAiGUcEQCAMIBlqIRYgCygCECIQQf////8HcSEaA0ACQCAMIA0iDmoiESgCECIGIBBzQf////8HcUUEQCANIBhqKAIAIQ0MAQsgESgCJCENIAZB/////wdxIhcgBygCEEH/////B3FGDQAgFigCEEH/////B3EgF0YNACAMIBEoAiBqIRQgDCANaiETIBErAwghHiARKwMAIR8gCysDCCEdIAsrAwAhISAQIQkgCyEGA0AgCSESAkAgDCAGIgooAiRqIgYoAhAiCUH/////B3EiGyAXRg0AIBJB/////wdxIhIgGkYgEiAXRnIgGiAbRnINACAKKwMAIApBCGorAwAgBisDACAGQQhqKwMAICEgHSAfIB4QKA0CCyAGIAtHDQALIB8gIaEhIiAeIB2hISMCQAJAIB0gFkEIaisDACIcoSIoIAcrAwAiJCAhoSInoiIpICEgFisDACIgoSIqIAdBCGorAwAiJSAdoSImoiIrY0UEQCAjICAgH6GiICIgHCAeoaJjDQEgHyAkoSAmoiAnIB4gJaGiY0UNAgwBCyAjICQgH6GiICIgJSAeoaKhRAAAAAAAAAAAZkUgHyAgoSAcIB2hoiAgICGhIB4gHKGioUQAAAAAAAAAAGZFcg0BCyAhIB+hIRwgHSAeoSEgAkAgHiAUQQhqKwMAIiKhIicgEysDACIkIB+hIiaiIB8gFCsDACIjoSIsIBNBCGorAwAiJSAeoSItomNFBEAgICAjICGhoiAcICIgHaGiYw0BICEgJKEgLaIgJiAdICWhomNFDQIMAQsgICAkICGhoiAcICUgHaGioUQAAAAAAAAAAGZFICEgI6EgIiAeoaIgIyAfoSAdICKhoqFEAAAAAAAAAABmRXINAQsgHSAeoEQAAAAAAADgP6IhJCAhIB+gRAAAAAAAAOA/oiElQQAhCiAdIRwgCyEGA0ACf0EAIBwiICAMIAYiCSgCJGoiBisDCCIcYQ0AGkEAICAgJGQgHCAkZHNFDQAaICUgCSsDACImICQgIKEgBisDACAmoaIgHCAgoaOgYwsgCnMhCiAGIAtHDQALIApBAXFFDQAgIyAhoSIcICiiICIgHaEiHSAqoqFEAAAAAAAAAABiICwgHaIgHCAnoqFEAAAAAAAAAABicg0GCyALKwMAIBErAwBiBH9BAAUgCysDCCARKwMIYQtFICkgK2RFcg0AIB4gFEEIaisDAKEgEysDACAfoaIgHyAUKwMAoSATQQhqKwMAIB6homQNBQsgDSAZRw0ACwsgByELIA8iCCABRw0ACwsgFUEgaiQADwsgCCAMaiIBKAIQIQsgACgCCCEGIAEoAiQhByABIA42AiQgASkDACEuIAFBCGopAwAhLyARKAIgIQogESAINgIgIBFBCGopAwAhMCARKAIQIQ8gESkDACExIAcgDGogBkEobCIJNgIgIBVBGGoiECAvNwMAIBVBCGoiDiAwNwMAIAogDGogCUEoaiINNgIkIBUgLjcDECAVIDE3AwAgACgCACAAKAIIIgZrQQFNBEAgACAGQQJBCEEoEEwgACgCCCEGCyAAKAIEIAZBKGxqIgEgFSkDEDcDACABIAc2AiQgASANNgIgIAFBADYCHCABQgA3AhQgASALQf////8HcTYCECABIBUpAwA3AyggASAJNgJMIAEgCjYCSCABQQA2AkQgAUIANwI8IAEgD0H/////B3E2AjggAUEIaiAQKQMANwMAIAFBMGogDikDADcDACAAIAZBAmo2AgggACgCBCIKQRxqIQ8gCCAKaiIGKAIkIgkhCwNAAkAgCSAKaiEHAkACQCAGKAIQQQBOBEAgBigCICEBIAYrAwAgBysDAGIEf0EABSAGKwMIIAcrAwhhCw0BIAZBCGorAwAiHCABIApqIghBCGorAwChIAcrAwAgBisDACIdoaIgHSAIKwMAoSAHQQhqKwMAIByhoqFEAAAAAAAAAABhDQELIAkgC0cNAQwCCyAGKAIcIQggBigCGCELIAEgCmoiBiAJNgIkAkAgC0UNACABIAtHBEAgCyAPaiAINgIADAELIAYgCDYCHAsgByABNgIgIAgEQCAHIAggCmogCCAJRhsgCzYCGAsgBiEHIAEiCyAJRg0BCyAHKAIkIQkgByEGDAELCyAAKAIEIgpBHGohDyAKIA1qIgYoAiQiASELA0ACQCABIApqIQcCQAJAIAYoAhBBAE4EQCAGKAIgIQggBisDACAHKwMAYgR/QQAFIAYrAwggBysDCGELDQEgBkEIaisDACIcIAggCmoiDUEIaisDAKEgBysDACAGKwMAIh2hoiAdIA0rAwChIAdBCGorAwAgHKGioUQAAAAAAAAAAGENAQsgASALRw0BDAILIAYoAhwhCyAGKAIYIQ0gCCAKaiIGIAE2AiQCQCANRQ0AIAggDUcEQCANIA9qIAs2AgAMAQsgBiALNgIcCyAHIAg2AiAgCwRAIAcgCiALaiABIAtGGyANNgIYCyAGIQcgCCILIAFGDQELIAcoAiQhASAHIQYMAQsLQQAhCyAAIAkgAiADIAQgBRASDAMLIAxBHGohCyABIAxqIQkDQCABIQgCQAJAA0AgDCAJKAIkIgZqIQcgCSgCEEEATgRAIAkoAiAhASAJKwMAIAcrAwBiBH9BAAUgCSsDCCAHKwMIYQsNAiAJQQhqKwMAIhwgASAMaiIKQQhqKwMAoSAHKwMAIAkrAwAiHaGiIB0gCisDAKEgB0EIaisDACAcoaKhRAAAAAAAAAAAYQ0CCyAHIQkgBiAIRw0ACyAIIQYMAQsgCSgCHCEIIAkoAhghCiABIAxqIgkgBjYCJAJAIApFDQAgASAKRwRAIAogC2ogCDYCAAwBCyAJIAg2AhwLIAcgATYCICAIBEAgByAIIAxqIAYgCEYbIAo2AhgLIAEgBkcNAQsLIAAoAgQiCkEcaiEPIAYhDgNAAkAgCiAGIApqIggoAiBqIgkrAwAgCiAKIAgoAiQiBmoiCygCJCIBaiIHKwMAYQRAIAkrAwggBysDCGENAQsgCSsDACIcIAlBCGorAwAiHSAIKwMAIAhBCGorAwAgCysDACALQQhqKwMAIAcrAwAiICAHQQhqKwMAIh4QKEUNACAgIByhISIgHiAdoSEjAkAgHSAKIAkoAiBqIg1BCGorAwAiH6EgCiAJKAIkaiIQKwMAIiQgHKEiKKIgHCANKwMAIiGhIBBBCGorAwAiJSAdoSInomNFBEAgIyAhICChoiAiIB8gHqGiYyAgICShICeiICggHiAloaJjcg0BDAILICMgJCAgoaIgIiAlIB6hoqFEAAAAAAAAAABmRSAgICGhIB8gHaGiICEgHKEgHiAfoaKhRAAAAAAAAAAAZkVyDQELIBwgIKEhIiAdIB6hISMCQCAeIAogBygCIGoiDUEIaisDACIfoSAKIAcoAiRqIhArAwAiJCAgoSIooiAgIA0rAwAiIaEgEEEIaisDACIlIB6hIieiY0UEQCAjICEgHKGiICIgHyAdoaJjIBwgJKEgJ6IgKCAdICWhomNyDQEMAgsgIyAkIByhoiAiICUgHaGioUQAAAAAAAAAAGZFIBwgIaEgHyAeoaIgISAgoSAdIB+hoqFEAAAAAAAAAABmRXINAQsgBygCEEH/////B3EhDSAIKAIQQf////8HcSEQIAkoAhBB/////wdxIQ4gAigCACACKAIIIgZrQQJNBEAgAiAGQQNBBEEEEEwgAigCCCEGCyACKAIEIAZBAnRqIgkgDTYCCCAJIBA2AgQgCSAONgIAIAIgBkEDajYCCCAIKAIcIQkgCCgCGCENIAcoAiQhBiAKIAgoAiAiB2oiECAIKAIkIgg2AiQCQCANRQ0AIAcgDUcEQCANIA9qIAk2AgAMAQsgECAJNgIcCyAIIApqIhAgBzYCICAJBEAgECAJIApqIAggCUYbIA02AhgLIAsoAhwhCCALKAIYIQcgCiALKAIgIglqIg0gCygCJCILNgIkAkAgB0UNACAHIAlHBEAgByAPaiAINgIADAELIA0gCDYCHAsgCiALaiINIAk2AiAgCARAIA0gCCAKaiAIIAtGGyAHNgIYCyABIQ4LIAYgDkcNAAsgBiAKaiEJA0AgBiEIAkADQCAKIAkoAiQiAWohByAJKAIQQQBOBEAgCSgCICEGIAkrAwAgBysDAGIEf0EABSAJKwMIIAcrAwhhCw0CIAlBCGorAwAiHCAGIApqIgtBCGorAwChIAcrAwAgCSsDACIdoaIgHSALKwMAoSAHQQhqKwMAIByhoqFEAAAAAAAAAABhDQILIAchCSABIAhHDQALQQIhCyAIIQEMBAsgCSgCHCEIIAkoAhghCyAGIApqIgkgATYCJAJAIAtFDQAgBiALRwRAIAsgD2ogCDYCAAwBCyAJIAg2AhwLIAcgBjYCICAIBEAgByAIIApqIAEgCEYbIAs2AhgLQQIhCyABIAZHDQALDAILIA4oAhBB/////wdxIQcgCiANaigCAEH/////B3EhCiAIIAxqIgEoAhBB/////wdxIQkgASgCJCEBIAIoAgAgAigCCCIGa0ECTQRAIAIgBkEDQQRBBBBMIAIoAgghBgsgAigCBCAGQQJ0aiIIIAk2AgggCCAHNgIEIAggCjYCACACIAZBA2o2AgggDigCHCEGIA4oAhghCCAMIA4oAiAiB2oiCSAOKAIkIgo2AiQgCARAIAkgCCAMaiAHIAhGGyAGNgIcCyAKIAxqIgkgBzYCICAGRQ0AIAkgBiAMaiAGIApGGyAINgIYDAALAAsAC8klAgl/AX4jAEEQayIIJAACQAJAAkACQAJAIABB9QFPBEAgAEHM/3tLBEBBACEADAYLIABBC2oiAkF4cSEFQdTvwAAoAgAiCUUNBEEfIQZBACAFayEDIABB9P//B00EQCAFQSYgAkEIdmciAGt2QQFxIABBAXRrQT5qIQYLIAZBAnRBuOzAAGooAgAiAkUEQEEAIQAMAgsgBUEZIAZBAXZrQQAgBkEfRxt0IQRBACEAA0ACQCACKAIEQXhxIgcgBUkNACAHIAVrIgcgA08NACACIQEgByIDDQBBACEDIAEhAAwECyACKAIUIgcgACAHIAIgBEEddkEEcWooAhAiAkcbIAAgBxshACAEQQF0IQQgAg0ACwwBCwJAAkACQAJAAkBB0O/AACgCACIEQRAgAEELakH4A3EgAEELSRsiBUEDdiIAdiIBQQNxBEAgAUF/c0EBcSAAaiIHQQN0IgFByO3AAGoiACABQdDtwABqKAIAIgIoAggiA0YNASADIAA2AgwgACADNgIIDAILIAVB2O/AACgCAE0NCCABDQJB1O/AACgCACIARQ0IIABoQQJ0QbjswABqKAIAIgIoAgRBeHEgBWshAyACIQEDQAJAIAEoAhAiAA0AIAEoAhQiAA0AIAIoAhghBgJAAkAgAiACKAIMIgBGBEAgAkEUQRAgAigCFCIAG2ooAgAiAQ0BQQAhAAwCCyACKAIIIgEgADYCDCAAIAE2AggMAQsgAkEUaiACQRBqIAAbIQQDQCAEIQcgASIAQRRqIABBEGogACgCFCIBGyEEIABBFEEQIAEbaigCACIBDQALIAdBADYCAAsgBkUNBgJAIAIoAhxBAnRBuOzAAGoiASgCACACRwRAIAIgBigCEEcEQCAGIAA2AhQgAA0CDAkLIAYgADYCECAADQEMCAsgASAANgIAIABFDQYLIAAgBjYCGCACKAIQIgEEQCAAIAE2AhAgASAANgIYCyACKAIUIgFFDQYgACABNgIUIAEgADYCGAwGCyAAKAIEQXhxIAVrIgEgAyABIANJIgEbIQMgACACIAEbIQIgACEBDAALAAtB0O/AACAEQX4gB3dxNgIACyACQQhqIQAgAiABQQNyNgIEIAEgAmoiASABKAIEQQFyNgIEDAcLAkBBAiAAdCICQQAgAmtyIAEgAHRxaCIHQQN0IgFByO3AAGoiAiABQdDtwABqKAIAIgAoAggiA0cEQCADIAI2AgwgAiADNgIIDAELQdDvwAAgBEF+IAd3cTYCAAsgACAFQQNyNgIEIAAgBWoiBiABIAVrIgdBAXI2AgQgACABaiAHNgIAQdjvwAAoAgAiAgRAQeDvwAAoAgAhAQJAQdDvwAAoAgAiBEEBIAJBA3Z0IgNxRQRAQdDvwAAgAyAEcjYCACACQXhxQcjtwABqIgMhBAwBCyACQXhxIgJByO3AAGohBCACQdDtwABqKAIAIQMLIAQgATYCCCADIAE2AgwgASAENgIMIAEgAzYCCAsgAEEIaiEAQeDvwAAgBjYCAEHY78AAIAc2AgAMBgtB1O/AAEHU78AAKAIAQX4gAigCHHdxNgIACwJAAkAgA0EQTwRAIAIgBUEDcjYCBCACIAVqIgcgA0EBcjYCBCADIAdqIAM2AgBB2O/AACgCACIBRQ0BQeDvwAAoAgAhAAJAQdDvwAAoAgAiBEEBIAFBA3Z0IgZxRQRAQdDvwAAgBCAGcjYCACABQXhxQcjtwABqIgQhAQwBCyABQXhxIgRByO3AAGohASAEQdDtwABqKAIAIQQLIAEgADYCCCAEIAA2AgwgACABNgIMIAAgBDYCCAwBCyACIAMgBWoiAEEDcjYCBCAAIAJqIgAgACgCBEEBcjYCBAwBC0Hg78AAIAc2AgBB2O/AACADNgIACyACQQhqIgBFDQMMBAsgACABckUEQEEAIQFBAiAGdCIAQQAgAGtyIAlxIgBFDQMgAGhBAnRBuOzAAGooAgAhAAsgAEUNAQsDQCADIAAoAgRBeHEiAiAFayIEIAMgAyAESyIEGyACIAVJIgIbIQMgASAAIAEgBBsgAhshASAAKAIQIgIEfyACBSAAKAIUCyIADQALCyABRQ0AIAVB2O/AACgCACIATSADIAAgBWtPcQ0AIAEoAhghBgJAAkAgASABKAIMIgBGBEAgAUEUQRAgASgCFCIAG2ooAgAiAg0BQQAhAAwCCyABKAIIIgIgADYCDCAAIAI2AggMAQsgAUEUaiABQRBqIAAbIQQDQCAEIQcgAiIAQRRqIABBEGogACgCFCICGyEEIABBFEEQIAIbaigCACICDQALIAdBADYCAAsCQCAGRQ0AAkACQCABKAIcQQJ0QbjswABqIgIoAgAgAUcEQCABIAYoAhBHBEAgBiAANgIUIAANAgwECyAGIAA2AhAgAA0BDAMLIAIgADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgASgCFCICRQ0BIAAgAjYCFCACIAA2AhgMAQtB1O/AAEHU78AAKAIAQX4gASgCHHdxNgIACwJAIANBEE8EQCABIAVBA3I2AgQgASAFaiIAIANBAXI2AgQgACADaiADNgIAIANBgAJPBEAgACADEDcMAgsCQEHQ78AAKAIAIgJBASADQQN2dCIEcUUEQEHQ78AAIAIgBHI2AgAgA0H4AXFByO3AAGoiAyECDAELIANB+AFxIgRByO3AAGohAiAEQdDtwABqKAIAIQMLIAIgADYCCCADIAA2AgwgACACNgIMIAAgAzYCCAwBCyABIAMgBWoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsgAUEIaiIADQELAkACQAJAAkACQCAFQdjvwAAoAgAiAUsEQCAFQdzvwAAoAgAiAE8EQCAIQQRqIQACfyAFQa+ABGpBgIB8cSIBQRB2IAFB//8DcUEAR2oiAUAAIgRBf0YEQEEAIQFBAAwBCyABQRB0IgJBEGsgAiAEQRB0IgFBACACa0YbCyECIABBADYCCCAAIAI2AgQgACABNgIAIAgoAgQiAUUEQEEAIQAMCAsgCCgCDCEHQejvwAAgCCgCCCIEQejvwAAoAgBqIgA2AgBB7O/AACAAQezvwAAoAgAiAiAAIAJLGzYCAAJAAkBB5O/AACgCACICBEBBuO3AACEAA0AgASAAKAIAIgMgACgCBCIGakYNAiAAKAIIIgANAAsMAgtB9O/AACgCACIAQQAgACABTRtFBEBB9O/AACABNgIAC0H478AAQf8fNgIAQcTtwAAgBzYCAEG87cAAIAQ2AgBBuO3AACABNgIAQdTtwABByO3AADYCAEHc7cAAQdDtwAA2AgBB0O3AAEHI7cAANgIAQeTtwABB2O3AADYCAEHY7cAAQdDtwAA2AgBB7O3AAEHg7cAANgIAQeDtwABB2O3AADYCAEH07cAAQejtwAA2AgBB6O3AAEHg7cAANgIAQfztwABB8O3AADYCAEHw7cAAQejtwAA2AgBBhO7AAEH47cAANgIAQfjtwABB8O3AADYCAEGM7sAAQYDuwAA2AgBBgO7AAEH47cAANgIAQZTuwABBiO7AADYCAEGI7sAAQYDuwAA2AgBBkO7AAEGI7sAANgIAQZzuwABBkO7AADYCAEGY7sAAQZDuwAA2AgBBpO7AAEGY7sAANgIAQaDuwABBmO7AADYCAEGs7sAAQaDuwAA2AgBBqO7AAEGg7sAANgIAQbTuwABBqO7AADYCAEGw7sAAQajuwAA2AgBBvO7AAEGw7sAANgIAQbjuwABBsO7AADYCAEHE7sAAQbjuwAA2AgBBwO7AAEG47sAANgIAQczuwABBwO7AADYCAEHI7sAAQcDuwAA2AgBB1O7AAEHI7sAANgIAQdzuwABB0O7AADYCAEHQ7sAAQcjuwAA2AgBB5O7AAEHY7sAANgIAQdjuwABB0O7AADYCAEHs7sAAQeDuwAA2AgBB4O7AAEHY7sAANgIAQfTuwABB6O7AADYCAEHo7sAAQeDuwAA2AgBB/O7AAEHw7sAANgIAQfDuwABB6O7AADYCAEGE78AAQfjuwAA2AgBB+O7AAEHw7sAANgIAQYzvwABBgO/AADYCAEGA78AAQfjuwAA2AgBBlO/AAEGI78AANgIAQYjvwABBgO/AADYCAEGc78AAQZDvwAA2AgBBkO/AAEGI78AANgIAQaTvwABBmO/AADYCAEGY78AAQZDvwAA2AgBBrO/AAEGg78AANgIAQaDvwABBmO/AADYCAEG078AAQajvwAA2AgBBqO/AAEGg78AANgIAQbzvwABBsO/AADYCAEGw78AAQajvwAA2AgBBxO/AAEG478AANgIAQbjvwABBsO/AADYCAEHM78AAQcDvwAA2AgBBwO/AAEG478AANgIAQeTvwAAgAUEPakF4cSIAQQhrIgI2AgBByO/AAEHA78AANgIAQdzvwAAgBEEoayIEIAEgAGtqQQhqIgA2AgAgAiAAQQFyNgIEIAEgBGpBKDYCBEHw78AAQYCAgAE2AgAMCAsgAiADSSABIAJNcg0AIAAoAgwiA0EBcQ0AIANBAXYgB0YNAwtB9O/AAEH078AAKAIAIgAgASAAIAFJGzYCACABIARqIQNBuO3AACEAAkACQANAIAMgACgCACIGRwRAIAAoAggiAA0BDAILCyAAKAIMIgNBAXENACADQQF2IAdGDQELQbjtwAAhAANAAkAgAiAAKAIAIgNPBEAgAiADIAAoAgRqIgZJDQELIAAoAgghAAwBCwtB5O/AACABQQ9qQXhxIgBBCGsiAzYCAEHc78AAIARBKGsiCSABIABrakEIaiIANgIAIAMgAEEBcjYCBCABIAlqQSg2AgRB8O/AAEGAgIABNgIAIAIgBkEga0F4cUEIayIAIAAgAkEQakkbIgNBGzYCBEG47cAAKQIAIQogA0EQakHA7cAAKQIANwIAIANBCGoiACAKNwIAQcTtwAAgBzYCAEG87cAAIAQ2AgBBuO3AACABNgIAQcDtwAAgADYCACADQRxqIQADQCAAQQc2AgAgAEEEaiIAIAZJDQALIAIgA0YNByADIAMoAgRBfnE2AgQgAiADIAJrIgBBAXI2AgQgAyAANgIAIABBgAJPBEAgAiAAEDcMCAsCQEHQ78AAKAIAIgFBASAAQQN2dCIEcUUEQEHQ78AAIAEgBHI2AgAgAEH4AXFByO3AAGoiACEBDAELIABB+AFxIgBByO3AAGohASAAQdDtwABqKAIAIQALIAEgAjYCCCAAIAI2AgwgAiABNgIMIAIgADYCCAwHCyAAIAE2AgAgACAAKAIEIARqNgIEIAFBD2pBeHFBCGsiBCAFQQNyNgIEIAZBD2pBeHFBCGsiAyAEIAVqIgBrIQUgA0Hk78AAKAIARg0DIANB4O/AACgCAEYNBCADKAIEIgJBA3FBAUYEQCADIAJBeHEiARAzIAEgBWohBSABIANqIgMoAgQhAgsgAyACQX5xNgIEIAAgBUEBcjYCBCAAIAVqIAU2AgAgBUGAAk8EQCAAIAUQNwwGCwJAQdDvwAAoAgAiAUEBIAVBA3Z0IgJxRQRAQdDvwAAgASACcjYCACAFQfgBcUHI7cAAaiIFIQMMAQsgBUH4AXEiAUHI7cAAaiEDIAFB0O3AAGooAgAhBQsgAyAANgIIIAUgADYCDCAAIAM2AgwgACAFNgIIDAULQdzvwAAgACAFayIBNgIAQeTvwABB5O/AACgCACIAIAVqIgI2AgAgAiABQQFyNgIEIAAgBUEDcjYCBCAAQQhqIQAMBgtB4O/AACgCACEAAkAgASAFayICQQ9NBEBB4O/AAEEANgIAQdjvwABBADYCACAAIAFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQtB2O/AACACNgIAQeDvwAAgACAFaiIENgIAIAQgAkEBcjYCBCAAIAFqIAI2AgAgACAFQQNyNgIECyAAQQhqIQAMBQsgACAEIAZqNgIEQeTvwABB5O/AACgCACIAQQ9qQXhxIgFBCGsiAjYCAEHc78AAQdzvwAAoAgAgBGoiBCAAIAFrakEIaiIBNgIAIAIgAUEBcjYCBCAAIARqQSg2AgRB8O/AAEGAgIABNgIADAMLQeTvwAAgADYCAEHc78AAQdzvwAAoAgAgBWoiATYCACAAIAFBAXI2AgQMAQtB4O/AACAANgIAQdjvwABB2O/AACgCACAFaiIBNgIAIAAgAUEBcjYCBCAAIAFqIAE2AgALIARBCGohAAwBC0EAIQBB3O/AACgCACIBIAVNDQBB3O/AACABIAVrIgE2AgBB5O/AAEHk78AAKAIAIgAgBWoiAjYCACACIAFBAXI2AgQgACAFQQNyNgIEIABBCGohAAsgCEEQaiQAIAAL0w0CEH8CfiMAQSBrIgskAAJAAkAgASgCDCIJIAJqIgQgCU8EQCABKAIEIg4gDkEBaiIHQQN2IgZBB2wgDkEISRsiAkEBdiAESQRAAkACQAJ/IAJBAWoiAiAEIAIgBEsbIgJBD08EQCACQf////8BSw0CQX8gAkEDdEEHbkEBa2d2QQFqDAELQQQgAkEIcUEIaiACQQRJGwsiAq1CGH4iFEIgiKcNBCAUpyIFIAJBCGoiBmoiByAFSSAHQfj///8HS3INBCAHQQgQzAEiBA0BIAcQmQEgCygCFCECIAsoAhAhBAwFCxCeASALKAIcIQIgCygCGCEEDAQLIAQgBWohDCAGBEAgDEH/ASAG/AsACyACQQFrIg8gAkEDdkEHbCAPQQhJGyETAkAgCUUEQCABKAIAIQUMAQsgDEEIaiEIIAEoAgAiBUEYayENIAUpAwBCf4VCgIGChIiQoMCAf4MhFUEAIQIgCSEGIAUhBANAIBVQBEADQCACQQhqIQIgBEEIaiIEKQMAQoCBgoSIkKDAgH+DIhRCgIGChIiQoMCAf1ENAAsgFEKAgYKEiJCgwIB/hSEVCyAMIA8gAyANIBV6p0EDdiACaiIRQWhsahAqpyIQcSIKaikAAEKAgYKEiJCgwIB/gyIUUARAQQghEgNAIAogEmohByASQQhqIRIgDCAHIA9xIgpqKQAAQoCBgoSIkKDAgH+DIhRQDQALCyAVQgF9IBWDIRUgDCAUeqdBA3YgCmogD3EiCmosAABBAE4EQCAMKQMAQoCBgoSIkKDAgH+DeqdBA3YhCgsgCiAMaiAQQRl2Igc6AAAgCCAKQQhrIA9xaiAHOgAAIAwgCkF/c0EYbGoiEEEQaiAFIBFBf3NBGGxqIgdBEGopAAA3AAAgEEEIaiAHQQhqKQAANwAAIBAgBykAADcAACAGQQFrIgYNAAsLIAEgDzYCBCABIAw2AgAgASATIAlrNgIIQYGAgIB4IQQgDkUNAyAOIA5BGGxBH2pBeHEiAmpBCWoiAUUNAyAFIAJrIAFBCBDCAQwDCyABIAcEfyABKAIAIQRBACECIAYgB0EHcUEAR2oiBkEBcSAGQQFHBEAgBkH+////A3EhCgNAIAIgBGoiBiAGKQMAIhRCf4VCB4hCgYKEiJCgwIABgyAUQv/+/fv379+//wCEfDcDACAGQQhqIgYgBikDACIUQn+FQgeIQoGChIiQoMCAAYMgFEL//v379+/fv/8AhHw3AwAgAkEQaiECIApBAmsiCg0ACwsEQCACIARqIgIgAikDACIUQn+FQgeIQoGChIiQoMCAAYMgFEL//v379+/fv/8AhHw3AwALAkAgB0EITwRAIAQgB2ogBCkAADcAAAwBCyAHRQ0AIARBCGogBCAH/AoAAAtBACECA0ACQCACIARqLQAAQYABRw0AQQAgAmshECAEIAJBf3NBGGxqIQgCQANAIAMgBCAQQRhsakEYaxAqIRQgASgCBCINIBSnIhFxIgchCSAEIAdqKQAAQoCBgoSIkKDAgH+DIhVQBEBBCCEFA0AgBSAJaiEGIAVBCGohBSAEIAYgDXEiCWopAABCgIGChIiQoMCAf4MiFVANAAsLIAQgFXqnQQN2IAlqIA1xIglqLAAAQQBOBEAgBCkDAEKAgYKEiJCgwIB/g3qnQQN2IQkLIAkgB2sgAiAHa3MgDXFBCE8EQCAEIAlqIgYtAAAgBiARQRl2IgU6AAAgASgCACIGIAlBCGsgDXFqQQhqIAU6AAAgBCAJQX9zQRhsaiEFQf8BRg0CIAgoAAAhBCAIIAUoAAA2AAAgBSAENgAAIAUoAAQhBCAFIAgoAAQ2AAQgCCAENgAEIAgoAAghBCAIIAUoAAg2AAggBSAENgAIIAUoAAwhBCAFIAgoAAw2AAwgCCAENgAMIAgoABAhBCAIIAUoABA2ABAgBSAENgAQIAUoABQhBCAFIAgoABQ2ABQgCCAENgAUIAEoAgAhBAwBCwsgAiAEaiARQRl2IgY6AAAgASgCACIEIA0gAkEIa3FqQQhqIAY6AAAMAQsgAiAGakH/AToAACAGIAEoAgQgAkEIa3FqQQhqQf8BOgAAIAVBEGogCEEQaikAADcAACAFQQhqIAhBCGopAAA3AAAgBSAIKQAANwAAIAYhBAsgAiAORiACQQFqIQJFDQALIAEoAgwhCSABKAIEIgEgAUEBakEDdkEHbCABQQhJGwVBAAsiAiAJazYCCEGBgICAeCEEDAILEJ4BIAsoAgQhAiALKAIAIQQMAQsQngEgCygCDCECIAsoAgghBAsgACACNgIEIAAgBDYCACALQSBqJAAL6XwCG38CfiMAQZACayIIJAAgCCACNgIMIAggATYCCEGQ8MAALQAAQQFHBEAQVgsgCEE4akGYoMAAKQMANwMAQYDwwABBgPDAACkDACIeQgF8NwMAIAhBgICAgHg2AmggCEECNgIQIAhCBDcDYCAIQgA3A1ggCEKAgICAwAA3A1AgCEGQoMAAKQMANwMwIAhBiPDAACkDADcDSCAIIB43A0AgCCAIQQhqNgLkASAIQdwAaiEaIAhB0ABqIRsgCEEwaiEcIAhB6ABqIR0CQAJAAkACQANAAkACQAJAAkACQCAIKALkASIEKAIEIgcEQCAEKAIAIgYsAAAiAUEATg0BIAdBCksNAiAGIAdqQQFrLAAAQQBODQIgCEH4AGogCEHkAWoQOyAIKAJ4BEAgCCgCfCECDAkLIAgpA4ABIR8MAwsgACAIQRBqQegA/AoAAAwICyABrUL/AYMhHyAEIAdBAWs2AgQgBCAGQQFqNgIADAILIAFB/wFxIAYsAAEiAUH/AXFBB3RqQYABayECAkACQAJAAkACQAJAAkACQAJAIAFBAEgEQCACIAYsAAIiAUH/AXFBDnRqQYCAAWshAiABQQBODQEgAiAGLAADIgFB/wFxQRV0akGAgIABayECIAFBAE4NAiACQYCAgIABa60hHiAGLAAEIgFBAE4NAyABQf8BcSAGLAAFIgFB/wFxQQd0akGAAWshAiABQQBODQQgAiAGLAAGIgFB/wFxQQ50akGAgAFrIQIgAUEATg0FIAIgBiwAByIBQf8BcUEVdGpBgICAAWshAiABQQBODQYgAkGAgICAAWutQhyGIB58IR4gBiwACCICQQBODQcgBi0ACSIBQQJPDQggAkH/AHEgAUEHdHKtQjiGIB58IR9BCiECDAkLIAKtIR9BAiECDAgLIAKtIR9BAyECDAcLIAKtIR9BBCECDAYLIAGtQv8Bg0IchiAefCEfQQUhAgwFCyACrUIchiAefCEfQQYhAgwECyACrUIchiAefCEfQQchAgwDCyACrUIchiAefCEfQQghAgwCCyACrUL/AYNCOIYgHnwhH0EJIQIMAQtB1J3AAEEOEIYBIQIMBgsgBCAHIAJrNgIEIAQgAiAGajYCAAsgCCAfNwPoASAfQv////8PVg0BCyAIIB9CB4MiHjcD8AEgHkIGWgRAIAggCEHwAWqtQoCAgIAwhDcD+AEgCEH4AGoiAUHog8AAIAhB+AFqEFkgARB8IQIMBAsgH0IHWARAQcCdwABBFBCGASECDAQLIB6nIQICfwJAAkACQAJAAkACQAJAAkACQCAfp0EDdiIBQQFrDgUAAQUCAwgLIAgoAmhBgICAgHhGBEAgCEEANgJwIAhCgICAgBA3A2gLIAIgHSAIQeQBahBEIgENA0EADAgLIAgoAhBBAkYEQCAIQQA2AiggCEEANgIgIAhBADYCGCAIQQA2AhALIAggAjoA+AEgCEECOgDwAUEEIAJ2QQFxRQRAIAggCEHwAWqtQoCAgIDAAIQ3A4ABIAggCEH4AWqtQoCAgIDAAIQ3A3ggCEGEAmoiASAIQfgAahBaIAEQfCECDAsLIAhBEGohCyMAQUBqIgokACAKQRBqIAhB5AFqIgYQHwJAIAooAhBBAUYEQCAKKAIUIQIMAQsCQCAKKQMYIh4gBigCAEEEaigCACIBrVgEQCABIB6nayEEA0AgBCAGKAIAQQRqKAIAIgFPBEBBACECIAEgBEYNBEHnoMAAQRkQhgEhAgwECyAKQRBqIAYQHyAKKAIQQQFGBEAgCigCFCECDAQLIAogCikDGCIfNwMIIB9C/////w9WDQIgCiAfQgeDIh43AzAgHkIGWgRAIAogCkEwaq1CgICAgDCENwM4IApBEGoiAUHog8AAIApBOGoQWSABEHwhAgwECyAfQgdYBEBB06DAAEEUEIYBIQIMBAsgHqchAiMAQSBrIg4kAAJ/AkACQAJAAkACQAJAAkACQAJAIB+nQQN2IgFBAWsOBAECAwQACyACIAEgBkHjABAkDAgLIAsoAgBFBEAgC0IBNwIACyAOIAI6AAMgDkEFOgACIAJB/wFxQQVHBEAgDiAOQQJqrUKAgICAwACENwMYIA4gDkEDaq1CgICAgMAAhDcDECAOQQRqIgEgDkEQahBaIAEQfCECDAcLIAYoAgAiB0EEaiICKAIAIgFBA00EQEHUrMAAQRAQhgEhAgwHCyACIAFBBGs2AgAgByAHKAIAIgFBBGo2AgAgCyABKgAAOAIEDAMLIAsoAghFBEAgC0IBNwIICyAOIAI6AAMgDkEFOgACIAJB/wFxQQVHBEAgDiAOQQJqrUKAgICAwACENwMYIA4gDkEDaq1CgICAgMAAhDcDECAOQQRqIgEgDkEQahBaIAEQfCECDAULIAYoAgAiB0EEaiICKAIAIgFBA00EQEHUrMAAQRAQhgEhAgwFCyACIAFBBGs2AgAgByAHKAIAIgFBBGo2AgAgCyABKgAAOAIMDAILIAsoAhBFBEAgC0IBNwIQCyACIAtBFGogBhAaIgFFDQEgDiABNgIQIA5BEGpBm5/AAEELQcOfwABBAxB2IA4oAhAMBQsgCygCGEUEQCALQgE3AhgLIAIgC0EcaiAGEBoiAQ0BC0EADAMLIA4gATYCECAOQRBqQZufwABBC0HGn8AAQQYQdiAOKAIQDAILIA4gAjYCECAOQRBqQZufwABBC0G0n8AAQQ8QdiAOKAIQDAELIA4gAjYCECAOQRBqQZufwABBC0Gmn8AAQQ4QdiAOKAIQCyECIA5BIGokACACRQ0ACwwCC0GAocAAQRAQhgEhAgwBCyAKIApBCGqtQoCAgIAwhDcDECAKQSRqIgFB0oPAACAKQRBqEFkgARB8IQILIApBQGskACACDQpBAAwHCyAIQeQBaiEHIwBBQGoiEyQAIBMgAjoAPyATQQI6AD4CQCACQf8BcUECRwRAIBMgE0E+aq1CgICAgMAAhDcDKCATIBNBP2qtQoCAgIDAAIQ3AyAgE0EIaiIBIBNBIGoQWiABEHwhAQwBCyATQoCAgIDAADcCCCATQoCAgICAgICAgH83AhAgE0EIaiEPIwBBQGoiFiQAIBZBEGogBxAfAkAgFigCEEEBRgRAIBYoAhQhAQwBCwJAIBYpAxgiHiAHKAIAQQRqKAIAIgGtWARAIAEgHqdrIRkDQCAZIAcoAgBBBGooAgAiAk8EQEEAIQEgAiAZRg0EQeegwABBGRCGASEBDAQLIBZBEGogBxAfIBYoAhBBAUYEQCAWKAIUIQEMBAsgFiAWKQMYIh83AwggH0L/////D1YNAiAWIB9CB4MiHjcDMCAeQgZaBEAgFiAWQTBqrUKAgICAMIQ3AzggFkEQaiIBQeiDwAAgFkE4ahBZIAEQfCEBDAQLIB9CB1gEQEHToMAAQRQQhgEhAQwECyAepyECIwBBEGsiDSQAAn8CQAJAAkACQAJAIB+nQQN2IgFBAWsOAgECAAsgAiABIAdB4wAQJAwECyAPKAIMQYCAgIB4RgRAIA9BADYCFCAPQoCAgIAQNwIMCyACIA9BDGogBxBEIgENAUEADAMLIwBB8AFrIhQkACAUIAI6AO8BIBRBAjoA7gECQCACQf8BcUECRwRAIBQgFEHuAWqtQoCAgIDAAIQ3A4ABIBQgFEHvAWqtQoCAgIDAAIQ3A3ggFEEIaiIBIBRB+ABqEFogARB8IQEMAQsgFEECNgIwIBRBAjYCECAUQQA2AgggFEKAgICAgICAgIB/NwJoIBRCgICAgMAANwJgIBRBCGohAiMAQUBqIhckACAXQRBqIAcQHwJAIBcoAhBBAUYEQCAXKAIUIQEMAQsCQCAXKQMYIh4gBygCAEEEaigCACIBrVgEQCABIB6nayEOA0AgDiAHKAIAQQRqKAIAIgRPBEBBACEBIAQgDkYNBEHnoMAAQRkQhgEhAQwECyAXQRBqIAcQHyAXKAIQQQFGBEAgFygCFCEBDAQLIBcgFykDGCIfNwMIIB9C/////w9WDQIgFyAfQgeDIh43AzAgHkIGWgRAIBcgF0Ewaq1CgICAgDCENwM4IBdBEGoiAUHog8AAIBdBOGoQWSABEHwhAQwECyAfQgdYBEBB06DAAEEUEIYBIQEMBAsgHqchBCMAQSBrIhAkAAJ/AkACQAJAAkACQAJAAkACQAJAAkACQCAfp0EDdiIBQQFrDgUBAgMEBQALIAQgASAHQeIAECQMCgsgAigCAEUEQCACQgE3AgALIBAgBDoAAyAQQQU6AAIgBEH/AXFBBUcEQCAQIBBBAmqtQoCAgIDAAIQ3AxggECAQQQNqrUKAgICAwACENwMQIBBBBGoiASAQQRBqEFogARB8IQEMCQsgBygCACIGQQRqIgQoAgAiAUEDTQRAQdSswABBEBCGASEBDAkLIAQgAUEEazYCACAGIAYoAgAiAUEEajYCACACIAEqAAA4AgQMBAsgAigCCEECRgRAIAJBADYCICACQQA2AhggAkEANgIQIAJBADYCCAsgECAEOgADIBBBAjoAAiAEQf8BcUECRwRAIBAgEEECaq1CgICAgMAAhDcDGCAQIBBBA2qtQoCAgIDAAIQ3AxAgEEEEaiIBIBBBEGoQWiABEHwhAQwHCyACQQhqIQojAEFAaiIRJAAgEUEQaiAHEB8CQCARKAIQQQFGBEAgESgCFCEBDAELAkAgESkDGCIeIAcoAgBBBGooAgAiAa1YBEAgASAep2shCwNAIAsgBygCAEEEaigCACIETwRAQQAhASAEIAtGDQRB56DAAEEZEIYBIQEMBAsgEUEQaiAHEB8gESgCEEEBRgRAIBEoAhQhAQwECyARIBEpAxgiHzcDCCAfQv////8PVg0CIBEgH0IHgyIeNwMwIB5CBloEQCARIBFBMGqtQoCAgIAwhDcDOCARQRBqIgFB6IPAACARQThqEFkgARB8IQEMBAsgH0IHWARAQdOgwABBFBCGASEBDAQLIB6nIQQjAEEgayIFJAACfwJAAkACQAJAAkACQAJAAkACQAJAIB+nQQN2IgFBAWsOBAECAwQACyAEIAEgB0HhABAkDAkLIAooAgBFBEAgCkIBNwIACyAFIAQ6AAMgBUEFOgACIARB/wFxQQVHBEAgBSAFQQJqrUKAgICAwACENwMYIAUgBUEDaq1CgICAgMAAhDcDECAFQQRqIgEgBUEQahBaIAEQfCEBDAgLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwICyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCiABKgAAOAIEDAMLIAooAghFBEAgCkIBNwIICyAFIAQ6AAMgBUEFOgACIARB/wFxQQVHBEAgBSAFQQJqrUKAgICAwACENwMYIAUgBUEDaq1CgICAgMAAhDcDECAFQQRqIgEgBUEQahBaIAEQfCEBDAYLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwGCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCiABKgAAOAIMDAILIAooAhBFBEAgCkIBNwIQCyAFIAQ6AAMgBUEFOgACIARB/wFxQQVHBEAgBSAFQQJqrUKAgICAwACENwMYIAUgBUEDaq1CgICAgMAAhDcDECAFQQRqIgEgBUEQahBaIAEQfCEBDAQLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwECyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCiABKgAAOAIUDAELIAooAhhFBEAgCkIBNwIYCyAFIAQ6AAMgBUEFOgACIARB/wFxQQVHBEAgBSAFQQJqrUKAgICAwACENwMYIAUgBUEDaq1CgICAgMAAhDcDECAFQQRqIgEgBUEQahBaIAEQfCEBDAILIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwCCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCiABKgAAOAIcC0EADAQLIAUgATYCECAFQRBqQeKdwABBBkHvncAAQQYQdiAFKAIQDAMLIAUgATYCECAFQRBqQeKdwABBBkHqncAAQQUQdiAFKAIQDAILIAUgATYCECAFQRBqQeKdwABBBkHpncAAQQEQdiAFKAIQDAELIAUgATYCECAFQRBqQeKdwABBBkHoncAAQQEQdiAFKAIQCyEBIAVBIGokACABRQ0ACwwCC0GAocAAQRAQhgEhAQwBCyARIBFBCGqtQoCAgIAwhDcDECARQSRqIgFB0oPAACARQRBqEFkgARB8IQELIBFBQGskACABDQYMAwsgAigCKEECRgRAIAJBADYCUCACQQA2AkggAkEANgJAIAJBADYCOCACQQA2AjAgAkEANgIoCyAQIAQ6AAMgEEECOgACIARB/wFxQQJHBEAgECAQQQJqrUKAgICAwACENwMYIBAgEEEDaq1CgICAgMAAhDcDECAQQQRqIgEgEEEQahBaIAEQfCEBDAULIAJBKGogB0HhABA0IgENBAwCCyACKAJkQYCAgIB4RgRAIAJBADYCbCACQoCAgIAQNwJkCyAEIAJB5ABqIAcQRCIBRQ0BIBAgATYCECAQQRBqQcKewABBC0HhnsAAQQkQdiAQKAIQDAYLIAJB2ABqIREjAEGQBGsiFSQAIBUgBDoAjwQgFUECOgCOBAJAIARB/wFxQQJHBEAgFSAVQY4Eaq1CgICAgMAAhDcDkAIgFSAVQY8Eaq1CgICAgMAAhDcDiAIgFUEEaiIBIBVBiAJqEFogARB8IQEMAQsgFUGBgICAeDYC/AEgFUEANgIEIBVBAjYCzAEgFUECNgJUIBVBAjYCNCAVQQI2AgwgFUEEaiESIwBBQGoiGCQAIBhBEGogBxAfAkAgGCgCEEEBRgRAIBgoAhQhAQwBCwJAIBgpAxgiHiAHKAIAQQRqKAIAIgGtWARAIAEgHqdrIQoDQCAKIAcoAgBBBGooAgAiBE8EQEEAIQEgBCAKRg0EQeegwABBGRCGASEBDAQLIBhBEGogBxAfIBgoAhBBAUYEQCAYKAIUIQEMBAsgGCAYKQMYIh83AwggH0L/////D1YNAiAYIB9CB4MiHjcDMCAeQgZaBEAgGCAYQTBqrUKAgICAMIQ3AzggGEEQaiIBQeiDwAAgGEE4ahBZIAEQfCEBDAQLIB9CB1gEQEHToMAAQRQQhgEhAQwECyAepyEEIwBBIGsiDCQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIB+nQQN2IgFBAWsOCwECAwQAAAAAAAUGAAsgBCABIAdB4QAQJAwNCyASKAIARQRAIBJCATcCAAsgBCASQQRqIAcQGiIBDQVBAAwMCyASQfgBaiELIBIoAvgBQYGAgIB4RgRAIAtBgICAgHg2AgALIAwgBDoAAyAMQQI6AAIgBEH/AXFBAkcEQCAMIAxBAmqtQoCAgIDAAIQ3AxggDCAMQQNqrUKAgICAwACENwMQIAxBBGoiASAMQRBqEFogARB8IQEMCgsjAEFAaiIFJAAgBUEQaiAHEB8CQCAFKAIQQQFGBEAgBSgCFCEBDAELAkAgBSkDGCIeIAcoAgBBBGooAgAiAa1YBEAgASAep2shBgNAIAYgBygCAEEEaigCACIETwRAQQAhASAEIAZGDQRB56DAAEEZEIYBIQEMBAsgBUEQaiAHEB8gBSgCEEEBRgRAIAUoAhQhAQwECyAFIAUpAxgiHzcDCCAfQv////8PVg0CIAUgH0IHgyIeNwMwIB5CBloEQCAFIAVBMGqtQoCAgIAwhDcDOCAFQRBqIgFB6IPAACAFQThqEFkgARB8IQEMBAsgH0IHWARAQdOgwABBFBCGASEBDAQLIB6nIQQCfyAfp0EDdiIBQQFGBEAgCygCAEGAgICAeEYEQCALQQA2AgggC0KAgICAEDcCAAtBACAEIAsgBxBEIgFFDQEaIAUgATYCECAFQRBqQe2uwABBCUH2rsAAQQEQdiAFKAIQIQEMBQsgBCABIAdB4AAQJAsiAUUNAAsMAgtBgKHAAEEQEIYBIQEMAQsgBSAFQQhqrUKAgICAMIQ3AxAgBUEkaiIBQdKDwAAgBUEQahBZIAEQfCEBCyAFQUBrJAAgAQ0JQQAMCwsgEigCCEECRgRAIBJBADYCKCASQQA2AiAgEkEANgIYIBJBADYCECASQQA2AggLIAwgBDoAAyAMQQI6AAIgBEH/AXFBAkcEQCAMIAxBAmqtQoCAgIDAAIQ3AxggDCAMQQNqrUKAgICAwACENwMQIAxBBGoiASAMQRBqEFogARB8IQEMCAsgEkEIaiEFIwBBQGoiCSQAIAlBEGogBxAfAkAgCSgCEEEBRgRAIAkoAhQhAQwBCwJAIAkpAxgiHiAHKAIAQQRqKAIAIgGtWARAIAEgHqdrIQsDQCALIAcoAgBBBGooAgAiBE8EQEEAIQEgBCALRg0EQeegwABBGRCGASEBDAQLIAlBEGogBxAfIAkoAhBBAUYEQCAJKAIUIQEMBAsgCSAJKQMYIh83AwggH0L/////D1YNAiAJIB9CB4MiHjcDMCAeQgZaBEAgCSAJQTBqrUKAgICAMIQ3AzggCUEQaiIBQeiDwAAgCUE4ahBZIAEQfCEBDAQLIB9CB1gEQEHToMAAQRQQhgEhAQwECyAepyEEIwBBIGsiAyQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkAgH6dBA3YiAUEBaw4FAQIDBAUACyAEIAEgB0HgABAkDAsLIAUoAgBFBEAgBUIBNwIACyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAoLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwKCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgBSABKgAAOAIEDAQLIAUoAghFBEAgBUIBNwIICyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAgLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwICyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgBSABKgAAOAIMDAMLIAUoAhBFBEAgBUIBNwIQCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAYLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwGCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgBSABKgAAOAIUDAILIAUoAhhFBEAgBUIBNwIYCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAQLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwECyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgBSABKgAAOAIcDAELIAUoAiBFBEAgBUIBNwIgCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAILIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwCCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgBSABKgAAOAIkC0EADAULIAMgATYCECADQRBqQfSvwABBCEGHsMAAQQ0QdiADKAIQDAQLIAMgATYCECADQRBqQfSvwABBCEGBsMAAQQYQdiADKAIQDAMLIAMgATYCECADQRBqQfSvwABBCEH8r8AAQQUQdiADKAIQDAILIAMgATYCECADQRBqQfSvwABBCEHjr8AAQQEQdiADKAIQDAELIAMgATYCECADQRBqQfSvwABBCEHir8AAQQEQdiADKAIQCyEBIANBIGokACABRQ0ACwwCC0GAocAAQRAQhgEhAQwBCyAJIAlBCGqtQoCAgIAwhDcDECAJQSRqIgFB0oPAACAJQRBqEFkgARB8IQELIAlBQGskACABDQdBAAwKCyASKAIwQQJGBEAgEkEANgJIIBJBADYCQCASQQA2AjggEkEANgIwCyAMIAQ6AAMgDEECOgACIARB/wFxQQJHBEAgDCAMQQJqrUKAgICAwACENwMYIAwgDEEDaq1CgICAgMAAhDcDECAMQQRqIgEgDEEQahBaIAEQfCEBDAYLIBJBMGohBSMAQUBqIgkkACAJQRBqIAcQHwJAIAkoAhBBAUYEQCAJKAIUIQEMAQsCQCAJKQMYIh4gBygCAEEEaigCACIBrVgEQCABIB6nayELA0AgCyAHKAIAQQRqKAIAIgRPBEBBACEBIAQgC0YNBEHnoMAAQRkQhgEhAQwECyAJQRBqIAcQHyAJKAIQQQFGBEAgCSgCFCEBDAQLIAkgCSkDGCIfNwMIIB9C/////w9WDQIgCSAfQgeDIh43AzAgHkIGWgRAIAkgCUEwaq1CgICAgDCENwM4IAlBEGoiAUHog8AAIAlBOGoQWSABEHwhAQwECyAfQgdYBEBB06DAAEEUEIYBIQEMBAsgHqchBCMAQSBrIgMkAAJ/AkACQAJAAkACQAJAAkACQAJAAkAgH6dBA3YiAUEBaw4EAQIDBAALIAQgASAHQeAAECQMCQsgBSgCAEUEQCAFQgE3AgALIAMgBDoAAyADQQU6AAIgBEH/AXFBBUcEQCADIANBAmqtQoCAgIDAAIQ3AxggAyADQQNqrUKAgICAwACENwMQIANBBGoiASADQRBqEFogARB8IQEMCAsgBygCACIGQQRqIgQoAgAiAUEDTQRAQdSswABBEBCGASEBDAgLIAQgAUEEazYCACAGIAYoAgAiAUEEajYCACAFIAEqAAA4AgQMAwsgBSgCCEUEQCAFQgE3AggLIAMgBDoAAyADQQU6AAIgBEH/AXFBBUcEQCADIANBAmqtQoCAgIDAAIQ3AxggAyADQQNqrUKAgICAwACENwMQIANBBGoiASADQRBqEFogARB8IQEMBgsgBygCACIGQQRqIgQoAgAiAUEDTQRAQdSswABBEBCGASEBDAYLIAQgAUEEazYCACAGIAYoAgAiAUEEajYCACAFIAEqAAA4AgwMAgsgBSgCEEUEQCAFQgE3AhALIAMgBDoAAyADQQU6AAIgBEH/AXFBBUcEQCADIANBAmqtQoCAgIDAAIQ3AxggAyADQQNqrUKAgICAwACENwMQIANBBGoiASADQRBqEFogARB8IQEMBAsgBygCACIGQQRqIgQoAgAiAUEDTQRAQdSswABBEBCGASEBDAQLIAQgAUEEazYCACAGIAYoAgAiAUEEajYCACAFIAEqAAA4AhQMAQsgBSgCGEUEQCAFQgE3AhgLIAMgBDoAAyADQQU6AAIgBEH/AXFBBUcEQCADIANBAmqtQoCAgIDAAIQ3AxggAyADQQNqrUKAgICAwACENwMQIANBBGoiASADQRBqEFogARB8IQEMAgsgBygCACIGQQRqIgQoAgAiAUEDTQRAQdSswABBEBCGASEBDAILIAQgAUEEazYCACAGIAYoAgAiAUEEajYCACAFIAEqAAA4AhwLQQAMBAsgAyABNgIQIANBEGpB16/AAEELQeyvwABBCBB2IAMoAhAMAwsgAyABNgIQIANBEGpB16/AAEELQeSvwABBCBB2IAMoAhAMAgsgAyABNgIQIANBEGpB16/AAEELQeOvwABBARB2IAMoAhAMAQsgAyABNgIQIANBEGpB16/AAEELQeKvwABBARB2IAMoAhALIQEgA0EgaiQAIAFFDQALDAILQYChwABBEBCGASEBDAELIAkgCUEIaq1CgICAgDCENwMQIAlBJGoiAUHSg8AAIAlBEGoQWSABEHwhAQsgCUFAayQAIAENBUEADAkLIBIoAlBBAkYEQCASQQI2AqgBIBJBAjYCiAEgEkEANgKAASASQQA2AnggEkEANgJwIBJBADYCaCASQQA2AmAgEkEANgJYIBJBADYCUAsgDCAEOgADIAxBAjoAAiAEQf8BcUECRwRAIAwgDEECaq1CgICAgMAAhDcDGCAMIAxBA2qtQoCAgIDAAIQ3AxAgDEEEaiIBIAxBEGoQWiABEHwhAQwECyASQdAAaiEJIwBBQGoiBSQAIAVBEGogBxAfAkAgBSgCEEEBRgRAIAUoAhQhAQwBCwJAIAUpAxgiHiAHKAIAQQRqKAIAIgGtWARAIAEgHqdrIQsDQCALIAcoAgBBBGooAgAiBE8EQEEAIQEgBCALRg0EQeegwABBGRCGASEBDAQLIAVBEGogBxAfIAUoAhBBAUYEQCAFKAIUIQEMBAsgBSAFKQMYIh83AwggH0L/////D1YNAiAFIB9CB4MiHjcDMCAeQgZaBEAgBSAFQTBqrUKAgICAMIQ3AzggBUEQaiIBQeiDwAAgBUE4ahBZIAEQfCEBDAQLIB9CB1gEQEHToMAAQRQQhgEhAQwECyAepyEEIwBBIGsiAyQAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgH6dBA3YiAUEBaw4JAQIDBAUGBwgJAAsgBCABIAdB4AAQJAwRCyAJKAI4QQJGBEAgCUEANgJQIAlBADYCSCAJQQA2AkAgCUEANgI4CyADIAQ6AAMgA0ECOgACIARB/wFxQQJHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDBALIAlBOGogBxA1IgENDwwICyAJKAJYQQJGBEAgCUEANgJwIAlBADYCaCAJQQA2AmAgCUEANgJYCyADIAQ6AAMgA0ECOgACIARB/wFxQQJHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDA4LIAlB2ABqIAcQNSIBDQ0MBwsgCSgCAEUEQCAJQgE3AgALIAMgBDoAAyADQQU6AAIgBEH/AXFBBUcEQCADIANBAmqtQoCAgIDAAIQ3AxggAyADQQNqrUKAgICAwACENwMQIANBBGoiASADQRBqEFogARB8IQEMDAsgBygCACIGQQRqIgQoAgAiAUEDTQRAQdSswABBEBCGASEBDAwLIAQgAUEEazYCACAGIAYoAgAiAUEEajYCACAJIAEqAAA4AgQMBgsgCSgCCEUEQCAJQgE3AggLIAQgCUEMaiAHEBoiAUUNBSADIAE2AhAgA0EQakH3rsAAQQpBl6/AAEEIEHYgAygCEAwNCyAJKAIQRQRAIAlCATcCEAsgBCAJQRRqIAcQGiIBRQ0EIAMgATYCECADQRBqQfeuwABBCkGfr8AAQQkQdiADKAIQDAwLIAkoAhhFBEAgCUIBNwIYCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAgLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwICyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCSABKgAAOAIcDAMLIAkoAiBFBEAgCUIBNwIgCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAYLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwGCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCSABKgAAOAIkDAILIAkoAihFBEAgCUIBNwIoCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAQLIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwECyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCSABKgAAOAIsDAELIAkoAjBFBEAgCUIBNwIwCyADIAQ6AAMgA0EFOgACIARB/wFxQQVHBEAgAyADQQJqrUKAgICAwACENwMYIAMgA0EDaq1CgICAgMAAhDcDECADQQRqIgEgA0EQahBaIAEQfCEBDAILIAcoAgAiBkEEaiIEKAIAIgFBA00EQEHUrMAAQRAQhgEhAQwCCyAEIAFBBGs2AgAgBiAGKAIAIgFBBGo2AgAgCSABKgAAOAI0C0EADAcLIAMgATYCECADQRBqQfeuwABBCkHKr8AAQQ0QdiADKAIQDAYLIAMgATYCECADQRBqQfeuwABBCkG+r8AAQQwQdiADKAIQDAULIAMgATYCECADQRBqQfeuwABBCkGzr8AAQQsQdiADKAIQDAQLIAMgATYCECADQRBqQfeuwABBCkGor8AAQQsQdiADKAIQDAMLIAMgATYCECADQRBqQfeuwABBCkGLr8AAQQwQdiADKAIQDAILIAMgATYCECADQRBqQfeuwABBCkGFr8AAQQYQdiADKAIQDAELIAMgATYCECADQRBqQfeuwABBCkGBr8AAQQQQdiADKAIQCyEBIANBIGokACABRQ0ACwwCC0GAocAAQRAQhgEhAQwBCyAFIAVBCGqtQoCAgIAwhDcDECAFQSRqIgFB0oPAACAFQRBqEFkgARB8IQELIAVBQGskACABDQNBAAwICyASKALIAUECRgRAIBJBADYC8AEgEkEANgLoASASQQA2AuABIBJBADYC2AEgEkEANgLQASASQQA2AsgBCyAMIAQ6AAMgDEECOgACIARB/wFxQQJHBEAgDCAMQQJqrUKAgICAwACENwMYIAwgDEEDaq1CgICAgMAAhDcDECAMQQRqIgEgDEEQahBaIAEQfCEBDAILIBJByAFqIAdB4AAQNCIBDQFBAAwHCyAMIAE2AhAgDEEQakHMn8AAQQtB15/AAEEGEHYMBQsgDCABNgIQIAxBEGpBzJ/AAEELQdiewABBCRB2DAQLIAwgATYCECAMQRBqQcyfwABBC0Htn8AAQQYQdgwDCyAMIAE2AhAgDEEQakHMn8AAQQtB5p/AAEEHEHYMAgsgDCABNgIQIAxBEGpBzJ/AAEELQeKfwABBBBB2DAELIAwgATYCECAMQRBqQcyfwABBC0Hdn8AAQQUQdgsgDCgCEAshASAMQSBqJAAgAUUNAAsMAgtBgKHAAEEQEIYBIQEMAQsgGCAYQQhqrUKAgICAMIQ3AxAgGEEkaiIBQdKDwAAgGEEQahBZIAEQfCEBCyAYQUBrJAAgAQRAIBUoAvwBIgRBgoCAgHhIIARFcg0BIBUoAoACIARBARDCAQwBCyAVQYgCaiAVQQRqQYQC/AoAACARKAIIIgYgESgCAEYEQCMAQRBrIgskACALQQRqIBEoAgAiASARKAIEQQQgAUEBdCIBIAFBBE0bIgRBBEGEAhBLIAsoAgRBAUYEQCALKAIIIAsoAgwQqAEACyALKAIIIQEgESAENgIAIBEgATYCBCALQRBqJAALIBEoAgQgBkGEAmxqIBVBiAJqQYQC/AoAACARIAZBAWo2AghBACEBCyAVQZAEaiQAIAENAQtBAAwECyAQIAE2AhAgEEEQakHCnsAAQQtB6p7AAEEGEHYgECgCEAwDCyAQIAE2AhAgEEEQakHCnsAAQQtB2J7AAEEJEHYgECgCEAwCCyAQIAE2AhAgEEEQakHCnsAAQQtB0p7AAEEGEHYgECgCEAwBCyAQIAE2AhAgEEEQakHCnsAAQQtBzZ7AAEEFEHYgECgCEAshASAQQSBqJAAgAUUNAAsMAgtBgKHAAEEQEIYBIQEMAQsgFyAXQQhqrUKAgICAMIQ3AxAgF0EkaiIBQdKDwAAgF0EQahBZIAEQfCEBCyAXQUBrJAAgAQRAIBQoAmwiAkGAgICAeEYgAkVyRQRAIBQoAnAgAkEBEMIBCyAUKAJoIhEEQCAUKAJkQfwBaiEEA0AgBEEEaygCACICQYKAgIB4SCACRXJFBEAgBCgCACACQQEQwgELIARBhAJqIQQgEUEBayIRDQALCyAUKAJgIgJFDQEgFCgCZCACQYQCbEEEEMIBDAELIBRB+ABqIBRBCGpB8AD8CgAAIA8oAggiBiAPKAIARgRAIwBBEGsiASQAIAFBBGogDygCACICIA8oAgRBBCACQQF0IgIgAkEETRsiBEEEQfAAEEsgASgCBEEBRg0WIAEoAgghAiAPIAQ2AgAgDyACNgIEIAFBEGokAAsgDygCBCAGQfAAbGogFEH4AGpB8AD8CgAAIA8gBkEBajYCCEEAIQELIBRB8AFqJAAgAQ0BQQAMAgsgDSABNgIIIA1BCGpB85/AAEEMQf+fwABBCRB2IA0oAggMAQsgDSABNgIMIA1BDGpB85/AAEEMQcafwABBBhB2IA0oAgwLIQEgDUEQaiQAIAFFDQALDAILQYChwABBEBCGASEBDAELIBYgFkEIaq1CgICAgDCENwMQIBZBJGoiAUHSg8AAIBZBEGoQWSABEHwhAQsgFkFAayQAIAEEQCATKAIUIgJBgICAgHhGIAJFckUEQCATKAIYIAJBARDCAQsgE0EIahBKIBMoAggiAkUNASATKAIMIAJB8ABsQQQQwgEMAQsgE0EwaiIGIBNBGGopAgA3AwAgE0EoaiIEIBNBEGopAgA3AwAgEyATKQIINwMgIBsoAggiCyAbKAIARgRAIwBBEGsiASQAIAFBBGogGygCACICIBsoAgRBBCACQQF0IgIgAkEETRsiB0EEQRgQSyABKAIEQQFGDQ4gASgCCCECIBsgBzYCACAbIAI2AgQgAUEQaiQACyAbKAIEIAtBGGxqIgEgEykDIDcCACABQRBqIAYpAwA3AgAgAUEIaiAEKQMANwIAIBsgC0EBajYCCEEAIQELIBNBQGskACABDQNBAAwGCyAIQeQBaiEEIwBB4ABrIg0kACANIAI6AF8gDUECOgBeAkAgAkH/AXFBAkcEQCANIA1B3gBqrUKAgICAwACENwM4IA0gDUHfAGqtQoCAgIDAAIQ3AzAgDUEEaiIBIA1BMGoQWiABEHwhAQwBCyANQQA2AhwgDUEANgIUIA1BADYCDCANQQA2AgQgDUGAgICAeDYCJCANQQRqIQsjAEFAaiIKJAAgCkEQaiAEEB8CQCAKKAIQQQFGBEAgCigCFCECDAELAkAgCikDGCIeIAQoAgBBBGooAgAiAa1YBEAgASAep2shBwNAIAcgBCgCAEEEaigCACIBTwRAQQAhAiABIAdGDQRB56DAAEEZEIYBIQIMBAsgCkEQaiAEEB8gCigCEEEBRgRAIAooAhQhAgwECyAKIAopAxgiHzcDCCAfQv////8PVg0CIAogH0IHgyIeNwMwIB5CBloEQCAKIApBMGqtQoCAgIAwhDcDOCAKQRBqIgFB6IPAACAKQThqEFkgARB8IQIMBAsgH0IHWARAQdOgwABBFBCGASECDAQLIB6nIQIjAEEQayIGJAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQCAfp0EDdiIBQQFrDgUBAgMEBQALIAIgASAEQeMAECQMCwsgCygCIEGAgICAeEYEQCALQQA2AiggC0KAgICAEDcCIAsgAiALQSBqIAQQRCIBDQRBAAwKCyALKAIARQRAIAtCATcCAAsgAiALQQRqIAQQGiIBDQRBAAwJCyALKAIIRQRAIAtCATcCCAsgAiALQQxqIAQQGiIBDQRBAAwICyALKAIQRQRAIAtCATcCEAsgAiALQRRqIAQQGiIBDQRBAAwHCyALKAIYRQRAIAtCATcCGAsgAiALQRxqIAQQGiIBDQRBAAwGCyAGIAE2AgwgBkEMakGGnsAAQQtBkZ7AAEEJEHYMBAsgBiABNgIMIAZBDGpBhp7AAEELQZqewABBCxB2DAMLIAYgATYCDCAGQQxqQYaewABBC0GlnsAAQQkQdgwCCyAGIAE2AgwgBkEMakGGnsAAQQtBrp7AAEEKEHYMAQsgBiABNgIMIAZBDGpBhp7AAEELQbiewABBChB2CyAGKAIMCyECIAZBEGokACACRQ0ACwwCC0GAocAAQRAQhgEhAgwBCyAKIApBCGqtQoCAgIAwhDcDECAKQSRqIgFB0oPAACAKQRBqEFkgARB8IQILIApBQGskACACIgEEQCANKAIkIgJBgICAgHhGIAJFcg0BIA0oAiggAkEBEMIBDAELIA1B2ABqIg4gDUEsaigCADYCACANQdAAaiIKIA1BJGopAgA3AwAgDUHIAGoiCyANQRxqKQIANwMAIA1BQGsiBiANQRRqKQIANwMAIA1BOGoiBCANQQxqKQIANwMAIA0gDSkCBDcDMCAaKAIIIhkgGigCAEYEQCMAQRBrIgEkACABQQRqIBooAgAiAiAaKAIEQQQgAkEBdCICIAJBBE0bIgdBBEEsEEsgASgCBEEBRg0NIAEoAgghAiAaIAc2AgAgGiACNgIEIAFBEGokAAsgGigCBCAZQSxsaiIBIA0pAzA3AgAgAUEoaiAOKAIANgIAIAFBIGogCikDADcCACABQRhqIAspAwA3AgAgAUEQaiAGKQMANwIAIAFBCGogBCkDADcCACAaIBlBAWo2AghBACEBCyANQeAAaiQAIAENA0EADAULIAggATYCeCAIQfgAakHwnsAAQQtB+57AAEEHEHYgCCgCeCECDAgLIAhBADYCgAEgCEKAgICAEDcCeCMAQdAAayIPJAAgD0EANgIUIA9CgICAgBA3AgwgD0EgaiAIQfgAaiIGIgFBCGooAgA2AgAgDyABKQIANwMYIA8gD0EYajYCRCAPIA9BDGo2AkAgD0FAayEHIwBBQGoiBSQAIAVBEGogCEHkAWoiDhAfAkAgBSgCEEEBRgRAIAUoAhQhAQwBCwJAIAUpAxgiHiAOKAIAQQRqKAIAIgGtWARAIAEgHqdrIQsgBygCBCECIAcoAgAhBANAIAsgDigCAEEEaigCACIHTwRAQQAhASAHIAtGDQRB56DAAEEZEIYBIQEMBAsgBUEQaiAOEB8gBSgCEEEBRgRAIAUoAhQhAQwECyAFIAUpAxgiHzcDCCAfQv////8PVg0CIAUgH0IHgyIeNwMwIB5CBloEQCAFIAVBMGqtQoCAgIAwhDcDOCAFQRBqIgFB6IPAACAFQThqEFkgARB8IQEMBAsgH0IHWARAQdOgwABBFBCGASEBDAQLIB6nIQcCQAJAAkAgH6dBA3YiAUEBaw4CAQIACyAHIAEgDkHjABAkIgFFDQIMBQsgByAEIA4QRCIBRQ0BDAQLIwBBIGsiDSQAIA0gBzoAAyANQQI6AAICfyAHQf8BcUECRwRAIA0gDUECaq1CgICAgPAAhDcDGCANIA1BA2qtQoCAgIDwAIQ3AxAgDUEEaiIBIA1BEGoQWiABEHwMAQsgDUEQaiAOECAgDSgCEEEBRgRAIA0oAhQMAQsgDSkDGCIeIA4oAgAiAUEEajUCAFgEQCANQRBqIgcgASAepxAuQQAhCiMAQRBrIhkkACACQQA2AgggBygCCCIBIAIoAgAiEUsEQCACQQAgAUEBQQEQTCACKAIAIREgAigCCCEKCyAZQQhqIAdBCGopAgAiHjcDACAZIAcpAgA3AwACfwJAIB6nIgEgESAKa0sEQCACIAogAUEBQQEQTCAZKAIEIQoMAQsgGSgCBCIKIAFFDQEaCyACKAIAIAIoAggiEWsgAUkEQCACIBEgAUEBQQEQTCACKAIIIRELIAEEQCACKAIEIBFqIAogAfwKAAALIAIgASARajYCCCABIApqCyEBIBlBADYCCCAZIAE2AgQgGUEMaiABQQAgGSgCACgCEBECACAZQRBqJABBAAwBC0GAq8AAQRAQhgELIQEgDUEgaiQAIAFFDQALDAILQYChwABBEBCGASEBDAELIAUgBUEIaq1CgICAgDCENwMQIAVBJGoiAUHSg8AAIAVBEGoQWSABEHwhAQsgBUFAayQAAkAgAQRAIA8oAhgiAgRAIA8oAhwgAkEBEMIBCyAPKAIMIgJFDQEgDygCECACQQEQwgEMAQsgD0E4aiAPQRRqKAIANgIAIA8gDykCDDcDMCAPQcgAaiAPQSBqKAIANgIAIA8gDykDGDcDQCAPQSRqIBwgD0EwaiAPQUBrECEgDygCJCIBQYCAgIB4RiABRXJFBEAgDygCKCABQQEQwgELQQAhAQsgD0HQAGokAEEAIAFFDQMaIAggATYCeCAGQfCewABBC0GIn8AAQQYQdiAIKAJ4IQIMBwsgCCABNgJ4IAhB+ABqQfCewABBC0GOn8AAQQcQdiAIKAJ4IQIMBgsgCCABNgJ4IAhB+ABqQfCewABBC0GVn8AAQQYQdiAIKAJ4IQIMBQsgAiABIAhB5AFqQeQAECQLIgJFDQEMAwsLIAggCEHoAWqtQoCAgIAwhDcDeCAIQYQCaiIBQdKDwAAgCEH4AGoQWSABEHwhAgwBCyAIIAI2AnggCEH4AGpB8J7AAEELQYKfwABBBhB2IAgoAnghAgsgCEH4AGogCEEQakHoAPwKAAAgAEEDNgIAIAAgAjYCBCAIKALQASIAQYCAgIB4RiAARXJFBEAgCCgC1AEgAEEBEMIBCyAIQZgBahBCIAhBuAFqEDwgCCgCuAEiAARAIAgoArwBIABBGGxBBBDCAQsgCCgCyAEhByAIKALMASIBBEAgB0EkaiECA0AgAkEEaygCACIAQYCAgIB4RiAARXJFBEAgAigCACAAQQEQwgELIAJBLGohAiABQQFrIgENAAsLIAgoAsQBIgBFDQAgByAAQSxsQQQQwgELIAhBkAJqJAAPCyABKAIIIAEoAgwQqAEAC70LARl/IAFB5NEAaiEVIAFBgARqIRYgAUGAzwBqIRcgAUGg0QBqIRggAUGANmohGSABQe3RAGohGiMAQfAAayIHQTBqIRsgAS0A61EhAyAHQSBqIRIgB0EYaiETIAdBEGohFAJAAkADQEGgAiEFIBchEQJAAkACQAJAAkACQCADQf8BcSIEDgMBAAIEC0EgIQUgGCERCyASQgA3AwAgE0IANwMAIBRCADcDACAHQgA3AwggB0EsakEAQcQA/AsAIAEgBEGAGWwiA2ohBiADIBZqIQxBgHAhAwNAIAMgBmoiCkGIFGpCnob4mODjgI8DNwIAIApBgBRqQp6G+Jjg44CPAzcCACADQRBqIgMNAAsgDEGAEGpBAEGACfwLAAwBCyASQgA3AwAgE0IANwMAIBRCADcDACAHQgA3AwggB0EsakEAQcQA/AsAQYBwIQMDQCABIANqIgVBiMYAakKehviY4OOAjwM3AgAgBUGAxgBqQp6G+Jjg44CPAzcCACADQRBqIgMNAAtBEyEFIBohESAZIQwLQRwhDSAVIARBAXRqLwEAIgogBUsEQEEDIQkMBQsgESEDIAoiBkUNAQNAIAMtAAAiBUEPTQRAIAdBCGogBUEBdGoiBSAFLwEAQQFqOwEAIANBAWohAyAGQQFrIgYNAQwDCwtBAyEJDAQLQQMhCQwDCyAHIAcvAQoiBUEBdCIGNgI0QQIhAwNAIANBD0tFBEAgGyADQQJ0aiAGIAdBCGogA0EBdGovAQAiC2pBAXQiBjYCACAFIAtqIQUgAyADQRBJaiEDDAELC0EBIQkgBEECRiAFQf//A3FBAUtyIAZBgIAER3ENAgJAIApFDQAgDEGAEGohDkH//wMhBEEAIQsDQCALIg9BAWohCwJAIA8gEWotAABBD3EiCEUNACAHQSxqIAhBAnRqIgMgAygCACIDQQFqNgIAAn8gA0F/QSAgCGt2cSIDQYAETwRAIANBCHQgA0GA/gNxQQh2ciIDQQR2QY8ecSADQY8ecUEEdHIiA0ECdkGz5gBxIANBs+YAcUECdHIiA0EBdkHVqgFxIANB1aoBcUEBdHIMAQsgA0EBdC8B9LdAC0H//wNxQRAgCGt2IQYgCEELSQRAIAZB/wdLDQEgCEEJdCAPciEFQQEgCHQiD0EBdCEIIAwgBkEBdGohAwNAIAMgBTsBACADIAhqIQMgBiAPaiIGQYAISQ0ACwwBCyAMIAZB/wdxQQF0aiIDLwEAIgVBngZGBEAgAyAEOwEAIAQhBSAEQQJrIQQLAkAgCEELRgRAIAZBCXYhEAwBC0EKIQ0gBkEKdiIQQQFxIAVBf3NqQf//A3EiA0G/BEsEQEEDIQkMBwsgDiADQQF0aiIDLwEAIgUEfyAEBSADIAQ7AQAgBCEFIARBAmsLIQMgCEENSQRAIAMhBAwBCyAGQQt2IhBBAXEgBUF/c2pB//8DcSIEQb8ESwRAQQMhCQwHCyAOIARBAXRqIgQvAQAiBQR/IAMFIAQgAzsBACADIQUgA0ECawshBCAIQQ1GDQAgBkEMdiIQQQFxIAVBf3NqQf//A3EiA0G/BEsEQEEDIQkMBwsgDiADQQF0aiIDLwEAIgUEfyAEBSADIAQ7AQAgBCEFIARBAmsLIQMgCEEPRwRAIAMhBAwBCyAGQQ12IhBBAXEgBUF/c2pB//8DcSIEQb8ESwRAQQMhCQwHCyAOIARBAXRqIgQvAQAiBQRAIAMhBAwBCyAEIAM7AQAgA0ECayEEIAMhBQsgEEEBdkEBcSAFQX9zakH//wNxIgNBvwRLBEBBCiENQQMhCQwGCyAOIANBAXRqIA87AQAgCiALSw0BDAILIAogC0cNAAsLAkACQCABLQDrUSIEDgMBAAMACyABIARBAWsiAzoA61EMAQsLIAJBADYCDEEMIQ0MAQsgAkEANgIMQQohDQsgACANOgABIAAgCToAAAueCAEHfyAEQXxxIgggA2ohBgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAiADTyIKIAVBf0YgAiAEakEDayABSXIiCUVyRSACIANrIAMgAmsiByACIANLG0EBRnFFBEAgAUEDayIIQQAgASAITxsiCCAGIAYgCEsbIQggCiAJRXJFIAdBA0txDQEgAyAISQ0CIAMhBgwOCyADQQFrIgIgAU8NAyABIAZJIAMgBktyDQQgCARAIAAgA2ogACACai0AACAI/AsACyAGQQFrIQIMDQsgAyAISQ0BIAMhBgwMCyAAIANqIQtBACEHA0AgAyAHakEDaiABTw0EIAIgB2oiBkEDaiAFcSIMIAFPDQUgBSAGcSIJIAFPDQYgByALaiIKIAAgCWotAAA6AAAgBkEBaiAFcSIJIAFPDQcgCkEBaiAAIAlqLQAAOgAAIAEgBkECaiAFcSIGSwRAIApBAmogACAGai0AADoAACAKQQNqIAAgDGotAAA6AAAgAyAHQQRqIgdqIgYgCE8NDAwBCwsgBiABQdzBwAAQcwALIAFBBGshByADIQYDQCACQQNqIAFPDQcgAkF8Tw0IIAYgB0sNCSAAIAZqIAAgAmooAAA2AAAgAkEEaiECIAggBkEEaiIGSw0ACwwKCyACIAFBhMDAABBzAAsgAyAGIAFBlMDAABA5AAtBpMDAAEEvQdTAwAAQqQEAC0HkwMAAQcgAQazBwAAQqQEACyAJIAFBvMHAABBzAAsgCSABQczBwAAQcwALQQAgAkEDaiABQZzFwAAQOQALIAIgAkEEaiABQZzFwAAQOQALQazFwABBK0GcxcAAEIIBAAsgAiAHaiECCwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEQQNxQQFrDgMAAQIOCyACIAVxIgMgAUkNCiADIAFB7MHAABBzAAsgBkEBaiIHIAFPDQEgAkEBaiAFcSIDIAFPDQIgAiAFcSICIAFPDQMgASAGSw0KIAYgAUG0w8AAEHMACyAGQQJqIgcgAU8NAyACQQJqIAVxIgMgAU8NBCACIAVxIgQgAU8NBSABIAZNDQYgACAGaiAAIARqLQAAOgAAIAJBAWogBXEiAiABTw0HIAZBAWoiBiABSQ0JIAYgAUGMxcAAEHMAC0GMwsAAQS9BvMLAABCpAQALQczCwABByABBlMPAABCpAQALIAIgAUGkw8AAEHMAC0HEw8AAQS9B9MPAABCpAQALQYTEwABByABBzMTAABCpAQALIAQgAUHcxMAAEHMACyAGIAFB7MTAABBzAAsgAiABQfzEwAAQcwALIAEgBksEQCAGIQcMAgsgBiABQfzBwAAQcwALIAAgBmogACACai0AADoAAAsgACAHaiAAIANqLQAAOgAACwvGBgEHfwJAAkAgASAAQQNqQXxxIgQgAGsiB0kNACABIAdrIgZBBEkNAEEAIQEgACAERwRAIAAgBGsiBEF8TQRAA0AgASAAIANqIgIsAABBv39KaiACQQFqLAAAQb9/SmogAkECaiwAAEG/f0pqIAJBA2osAABBv39KaiEBIANBBGoiAw0ACwsgACADaiECA0AgASACLAAAQb9/SmohASACQQFqIQIgBEEBaiIEDQALCyAAIAdqIQQCQCAGQQNxIgBFDQAgBCAGQfz///8HcWoiAywAAEG/f0ohBSAAQQFGDQAgBSADLAABQb9/SmohBSAAQQJGDQAgBSADLAACQb9/SmohBQsgBkECdiEGIAEgBWohAwNAIAQhACAGRQ0CQcABIAYgBkHAAU8bIgVBA3EhBwJAIAVBAnQiBEHwB3EiAUUEQEEAIQIMAQsgACABaiEIQQAhAiAAIQEDQCACIAEoAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWogAUEEaigCACICQX9zQQd2IAJBBnZyQYGChAhxaiABQQhqKAIAIgJBf3NBB3YgAkEGdnJBgYKECHFqIAFBDGooAgAiAkF/c0EHdiACQQZ2ckGBgoQIcWohAiABQRBqIgEgCEcNAAsLIAYgBWshBiAAIARqIQQgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IANqIQMgB0UNAAsCfyAAIAVB/AFxQQJ0aiIAKAIAIgFBf3NBB3YgAUEGdnJBgYKECHEiASAHQQFGDQAaIAEgACgCBCIBQX9zQQd2IAFBBnZyQYGChAhxaiIBIAdBAkYNABogACgCCCIAQX9zQQd2IABBBnZyQYGChAhxIAFqCyIBQQh2Qf+BHHEgAUH/gfwHcWpBgYAEbEEQdiADaiEDDAELIAFFBEBBAA8LIAFBA3EhBAJAIAFBBEkEQAwBCyABQXxxIQUDQCADIAAgAmoiASwAAEG/f0pqIAFBAWosAABBv39KaiABQQJqLAAAQb9/SmogAUEDaiwAAEG/f0pqIQMgBSACQQRqIgJHDQALCyAERQ0AIAAgAmohAQNAIAMgASwAAEG/f0pqIQMgAUEBaiEBIARBAWsiBA0ACwsgAwv4BQEIfyMAQRBrIgUkACAAKAIEIQICQAJAAkACQAJAAkACQCAAKAIMIgNBAXFFBEAgASACaiIBIAJJDQMgAygCEEEBRg0CDAELIAAoAggiCCADQQV2IgRqIQcgAiAETSAHIAJrIAFPcQ0DDAQLQQEhBkEBIAMoAgwiB0EJanQiAiABIAEgAkkbIAEgBxsiAUEASA0EIAEEQEEBIQQgAUEBEMwBIgZFDQULQQAhBCAFQQA2AgwgBSAGNgIIIAUgATYCBCAAKAIAIQggASAAKAIEIgJJBEAgBUEEakEAIAJBAUEBEEwgBSgCDCEEIAUoAgghBgsgAgRAIAQgBmogCCAC/AoAAAsgAyADKAIQIgFBAWs2AhAgBSACIARqNgIMIAFBAUYEQCADKAIAIgEEQCADKAIEIAFBARDCAQsgA0EUQQQQwgELIAAgBSgCCDYCACAAIAUoAgQ2AgggACAHQQJ0QQFyNgIMDAULAkACQAJAAkAgACgCACIJIAMoAgQiBmsiBCABaiIIIARPBEAgAygCACIHIAhPDQEgASAHTSACIARNcQ0CDAMLDAMLIAAgATYCCAwHCyACBEAgBiAJIAL8CgAACyAAIAY2AgAgACADKAIANgIIDAYLIAMgAiAEaiIBNgIIIAAgCCAHQQF0IgIgAiAISRsgAWsiAiAHIAFrSwR/IAMgASACQQFBARBMIAMoAgQhBiADKAIABSAHCyAEazYCCCAAIAQgBmo2AgAMBQtBn7PAAEERQaizwAAQggEAC0Gfs8AAQRFBuLPAABCCAQALIAAoAgAiBiAEayEBIAIEQCABIAYgAvwKAAALIAAgA0EfcTYCDCAAIAE2AgAgACAHNgIIDAILIAUgBzYCBCAFIAIgBGoiAzYCDCAFIAAoAgAgBGsiBjYCCCAAIAggAmsgAUkEfyAFQQRqIAMgAUEBQQEQTCAFKAIIIQYgBSgCBAUgBwsgBGs2AgggACAEIAZqNgIADAELIAQgARCoAQALIAVBEGokAAvEBQIBfgR/IwBBIGsiBSQAIAVBADoAAiAFIAA6AAMCfyAAQf8BcQRAIAUgBUECaq1CgICAgMAAhDcDGCAFIAVBA2qtQoCAgIDAAIQ3AxAgBUEEaiIAIAVBEGoQWiAAEHwMAQsCQAJ/AkACQAJAAkACQAJAAkACQCACKAIAIgZBBGooAgAiB0UNAAJAIAYoAgAiACwAACIEQQBIBEAgB0EKSw0BIAAgB2pBAWssAABBAE4NASAFQRBqIAIQOyAFKAIQQQFGBEAgBSgCFAwNCyAFKQMYIQMMCwsgBK1C/wGDIQMgBkEEaiAHQQFrNgIAIAYgAEEBajYCAAwKCyAEQf8BcSAALAABIgRB/wFxQQd0akGAAWshAiAEQQBIBEAgAiAALAACIgRB/wFxQQ50akGAgAFrIQIgBEEATg0CIAIgACwAAyIEQf8BcUEVdGpBgICAAWshAiAEQQBODQMgAkGAgICAAWutIQMgACwABCICQQBODQQgAkH/AXEgACwABSIEQf8BcUEHdGpBgAFrIQIgBEEATg0FIAIgACwABiIEQf8BcUEOdGpBgIABayECIARBAE4NBiACIAAsAAciBEH/AXFBFXRqQYCAgAFrIQIgBEEATg0HIAJBgICAgAFrrUIchiADfCEDIAAsAAgiAkEATg0IIAAtAAkiBEECTw0BIAJB/wBxIARBB3RyrUI4hiADfCEDQQoMCQsgAq0hA0ECDAgLQeSswABBDhCGAQwJCyACrSEDQQMMBgsgAq0hA0EEDAULIAKtQv8Bg0IchiADfCEDQQUMBAsgAq1CHIYgA3whA0EGDAMLIAKtQhyGIAN8IQNBBwwCCyACrUIchiADfCEDQQgMAQsgAq1C/wGDQjiGIAN8IQNBCQshAiAGQQRqIAcgAms2AgAgBiAAIAJqNgIACyABIAM+AgBBAAsgBUEgaiQAC9oFAgd/AX4CfyABRQRAIAAoAgghB0EtIQsgBUEBagwBC0ErQYCAxAAgACgCCCIHQYCAgAFxIgEbIQsgAUEVdiAFagshCQJAIAdBgICABHFFBEBBACECDAELAkAgA0EQTwRAIAIgAxAYIQEMAQsgA0UEQEEAIQEMAQsgA0EDcSEKAkAgA0EESQRAQQAhAQwBCyADQQxxIQxBACEBA0AgASACIAhqIgYsAABBv39KaiAGQQFqLAAAQb9/SmogBkECaiwAAEG/f0pqIAZBA2osAABBv39KaiEBIAwgCEEEaiIIRw0ACwsgCkUNACACIAhqIQYDQCABIAYsAABBv39KaiEBIAZBAWohBiAKQQFrIgoNAAsLIAEgCWohCQsCQCAALwEMIgggCUsEQAJAAkAgB0GAgIAIcUUEQCAIIAlrIQhBACEBQQAhCQJAAkACQCAHQR12QQNxQQFrDgMAAQACCyAIIQkMAQsgCEH+/wNxQQF2IQkLIAdB////AHEhCiAAKAIEIQcgACgCACEAA0AgAUH//wNxIAlB//8DcU8NAkEBIQYgAUEBaiEBIAAgCiAHKAIQEQAARQ0ACwwECyAAIAApAggiDadBgICA/3lxQbCAgIACcjYCCEEBIQYgACgCACIHIAAoAgQiCiALIAIgAxCFAQ0DQQAhASAIIAlrQf//A3EhAgNAIAFB//8DcSACTw0CIAFBAWohASAHQTAgCigCEBEAAEUNAAsMAwtBASEGIAAgByALIAIgAxCFAQ0CIAAgBCAFIAcoAgwRBAANAkEAIQEgCCAJa0H//wNxIQIDQCABQf//A3EiAyACSSEGIAIgA00NAyABQQFqIQEgACAKIAcoAhARAABFDQALDAILIAcgBCAFIAooAgwRBAANASAAIA03AghBAA8LQQEhBiAAKAIAIgEgACgCBCIAIAsgAiADEIUBDQAgASAEIAUgACgCDBEEACEGCyAGC5QGAQV/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==",typeof document=="undefined"?require("url").pathToFileURL(__filename).href:qA&&qA.tagName.toUpperCase()==="SCRIPT"&&qA.src||new URL("gift-stage.cjs.js",document.baseURI).href));const A=VB();(typeof B=="string"||typeof Request=="function"&&B instanceof Request||typeof URL=="function"&&B instanceof URL)&&(B=fetch(B));const{instance:I,module:g}=await _C(await B,A);return OB(I)}const AE=Object.freeze(Object.defineProperty({__proto__:null,build_batch_vertices:pC,decode_svga:xC,decode_svga_payload:mC,decode_svga_payload_profiled:bC,default:jB,inflate:TC,init:ZB,initSync:$C,take_svga_payload_profile:WC,triangulate_clip_polygons:ZC},Symbol.toStringTag,{value:"Module"})),Ig="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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C0kbIgRqQQxqEBMiAkUNACACQQhrIQECQCAAQQFrIgMgAnFFBEAgASEADAELIAJBBGsiBSgCACIGQXhxIAIgA2pBACAAa3FBCGsiAiAAQQAgAiABa0EQTRtqIgAgAWsiAmshAyAGQQNxBEAgACADIAAoAgRBAXFyQQJyNgIEIAAgA2oiAyADKAIEQQFyNgIEIAUgAiAFKAIAQQFxckECcjYCACABIAJqIgMgAygCBEEBcjYCBCABIAIQKwwBCyABKAIAIQEgACADNgIEIAAgASACajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIARBEGpNDQAgACAEIAFBAXFyQQJyNgIEIAAgBGoiASACIARrIgRBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASAEECsLIABBCGohAwsgAwv6AwEEfyMAQUBqIgMkACADQThqIAIQuAEgAygCPCECAkAgAygCOCIERQRAQQEhAQwBCyADIAI2AjwgAyAENgI4IANBMGogBCABKgIAEKsBAn8gAygCNCIFIAMoAjBBAXENABogA0E8aiIGQdSWwABBARAlIAUQwwEgA0EoaiAEIAEqAgQQqwEgAygCLCIFIAMoAihBAXENABogBkHVlsAAQQEQJSAFEMMBIANBIGogBCABKgIIEKsBIAMoAiQiBSADKAIgQQFxDQAaIAZB1pbAAEEBECUgBRDDASADQRhqIAQgASoCDBCrASADKAIcIgUgAygCGEEBcQ0AGiAGQdeWwABBARAlIAUQwwEgA0EQaiAEIAEqAhAQqwEgAygCFCIEIAMoAhBBAXENABogBkHYlsAAQQIQJSAEEMMBIANBCGohBCMAQRBrIgIkACACQQhqIANBOGoiBSgCACABQRRqKgIAEKsBQQEhASACKAIMIQYgAigCCEEBcUUEQCAFQQRqQdqWwABBAhAlIAYQwwFBACEBCyAEIAY2AgQgBCABNgIAIAJBEGokACADKAI8IQIgAygCCEEBcUUEQEEAIQEMAgsgAygCDAshBEEBIQEgAkGECEkEQCAEIQIMAQsgAhBcIAQhAgsgACACNgIEIAAgATYCACADQUBrJAALiAMBBn8jAEEwayIDJAAgA0EgakIANwMAIANBGGpCADcDACADQRBqQgA3AwAgA0IANwMIIANBKGogASABQRhqIgggA0EIakEgECIC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fiMAQRBrIgEkACABQoCAgIDgByICIACthDcDCCABIAIgAEEEaq2ENwMAQaCBwAAgAUHcs8AAEIIBAAveAQIBfwF+IwBBIGsiAyQAIAMgATYCECADIAA2AgwgA0EBOwEcIAMgAjYCGCADIANBDGo2AhQjAEEQayIBJAAgA0EUaiIAKQIAIQQgASAANgIMIAEgBDcCBCMAQRBrIgAkACABQQRqIgEoAgAiAigCBCIDQQFxBEAgAigCACECIAAgA0EBdjYCBCAAIAI2AgAgAEHAzMAAIAEoAgQgASgCCCIALQAIIAAtAAkQSAALIABBgICAgHg2AgAgACABNgIMIABB3MzAACABKAIEIAEoAggiAC0ACCAALQAJEEgACy8AAkAgAWlBAUcgAEGAgICAeCABa0tyDQAgAARAIAAgARDMASIBRQ0BCyABDwsACz8AIAAoAgBBgICAgHhHBEAgASAAKAIEIAAoAggQsAEPCyABKAIAIAEoAgQgACgCDCgCACIAKAIAIAAoAgQQJgs4AAJAIAJBgIDEAEYNACAAIAIgASgCEBEAAEUNAEEBDwsgA0UEQEEADwsgACADIAQgASgCDBEEAAtFAQF/QRhBBBDMASICRQRAQQRBGBDQAQALIAIgATYCFCACIAA2AhAgAkKAgICAgICAgIB/NwIIIAJCgICAgMAANwIAIAIL7QEBA38gASgCCCICQYCAgBBxRQRAIAJBgICAIHFFBEAgACABEHoPC0EAIQIjAEEQayIDJAAgACgCACEAA0AgAiADakEPaiAAQQ9xLQDa2kA6AAAgAkEBayECIABBD0sgAEEEdiEADQALIAFBAUHY2sAAQQIgAiADakEQakEAIAJrEBsgA0EQaiQADwtBACECIwBBEGsiAyQAIAAoAgAhAANAIAIgA2pBD2ogAEEPcS0AyNpAOgAAIAJBAWshAiAAQQ9LIABBBHYhAA0ACyABQQFB2NrAAEECIAIgA2pBEGpBACACaxAbIANBEGokAAsuAAJAIANpQQFHIAFBgICAgHggA2tLcg0AIAAgASADIAIQtwEiAEUNACAADwsACzkBAX9BASECAkAgACABED0NACABKAIAQenqwABBAiABKAIEKAIMEQQADQAgAEEEaiABED0hAgsgAgstAQF/IwBBEGsiASQAIAEgAUEPaq1CgICAgMAMhDcDAEHL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bmRleCDAFiBpcyBvdXQgb2YgYm91bmRzIG9mIGDAAWDAAAtieXRlIGluZGV4IMAmIGlzIG5vdCBhIGNoYXIgYm91bmRhcnk7IGl0IGlzIGluc2lkZSDACCAoYnl0ZXMgwAYpIG9mIGDAAWDAACJhZHZhbmNlIG91dCBvZiBib3VuZHM6IHRoZSBsZW4gaXMgwBIgYnV0IGFkdmFuY2luZyBieSDAABZzbGljZSBpbmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhlIGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdlIGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAACFjYW5ub3QgYWR2YW5jZSBwYXN0IGByZW1haW5pbmdgOiDABCA8PSDAABNpbnZhbGlkIGtleSB2YWx1ZTogwAAZaW52YWxpZCB3aXJlIHR5cGUgdmFsdWU6IMAAElNlcmlhbGl6ZSBmYWlsZWQ6IMAAEEluZmxhdGUgZmFpbGVkOiDAABhQcm90b2J1ZiBkZWNvZGUgZmFpbGVkOiDAAMACOiDAAHNyY1x2ZXJ0ZXgucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzX211dC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc2hhcmVkL3NtYWxsc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3NsaWNlL3NvcnQvc3RhYmxlL3F1aWNrc29ydC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxieXRlcy0xLjExLjFcc3JjXGJ5dGVzLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvc3RkL3NyYy9zeXMvdGhyZWFkX2xvY2FsL25vX3RocmVhZHMucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9zbGljZS9pdGVyLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcb3V0cHV0X2J1ZmZlci5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXGZsYXRlMi0xLjEuOVxzcmNcYnVmcmVhZGVyLnJzAHNyY1xjbGlwLnJzAC9ydXN0Yy9lNDA4OTQ3YmZkMjAwYWY0MmRiMzIyZGFmMGZhZGZlN2UyNmQzYmQxL2xpYnJhcnkvY29yZS9zcmMvZm10L251bS5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXG1pbml6X294aWRlLTAuOC45XHNyY1xpbmZsYXRlXHN0cmVhbS5ycwBzcmNccHJvdG9idWYucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9jb3JlL3NyYy9pby9ib3Jyb3dlZF9idWYucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zlx3YXNtLWJpbmRnZW4tMC4yLjExN1xzcmNcZXh0ZXJucmVmLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcbWluaXpfb3hpZGUtMC44Ljlcc3JjXGluZmxhdGVcY29yZS5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL3VuaWNvZGUvcHJpbnRhYmxlLnJzAC9ydXN0L2RlcHMvaGFzaGJyb3duLTAuMTYuMS9zcmMvcmF3L21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2NvcmUvc3JjL2ZtdC9tb2QucnMAL3J1c3RjL2U0MDg5NDdiZmQyMDBhZjQyZGIzMjJkYWYwZmFkZmU3ZTI2ZDNiZDEvbGlicmFyeS9zdGQvc3JjL2lvL21vZC5ycwAvcnVzdGMvZTQwODk0N2JmZDIwMGFmNDJkYjMyMmRhZjBmYWRmZTdlMjZkM2JkMS9saWJyYXJ5L2FsbG9jL3NyYy9yYXdfdmVjL21vZC5ycwAvcnVzdC9kZXBzL2RsbWFsbG9jLTAuMi4xMS9zcmMvZGxtYWxsb2MucnMAQzpcVXNlcnNcU2FyZ2VyYXNcLmNhcmdvXHJlZ2lzdHJ5XHNyY1xpbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3ZlxlYXJjdXQtMC40Ljlcc3JjXGxpYi5ycwBDOlxVc2Vyc1xTYXJnZXJhc1wuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHNlcmRlLXdhc20tYmluZGdlbi0wLjYuNVxzcmNcbGliLnJzAEM6XFVzZXJzXFNhcmdlcmFzXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2ZcYnl0ZXMtMS4xMS4xXHNyY1xsaWIucnMAwCwgY2FuJ3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBKYXZhU2NyaXB0IG51bWJlcgAmY29weV9mcm9tX3NsaWNlOiBzb3VyY2Ugc2xpY2UgbGVuZ3RoICjAKykgZG9lcyBub3QgbWF0Y2ggZGVzdGluYXRpb24gc2xpY2UgbGVuZ3RoICjAASkAwAsgKG9zIGVycm9yIMABKQATaW52YWxpZCB3aXJlIHR5cGU6IMALIChleHBlY3RlZCDAASkAwAEuwAI6IAByZWN0ZWxsaXBzZURlY29kZWRUcmFuc2Zvcm1hYmNkdHh0eURlY29kZWRTaGFwZVN0eWxlZmlsbHN0cm9rZXN0cm9rZV93aWR0aGxpbmVfY2FwbGluZV9qb2lubWl0ZXJfbGltaXRsaW5lX2Rhc2hTVkdBUGF5bG9hZFByb2ZpbGVpbnB1dEJ5dGVzb3V0cHV0Qnl0ZXNwcm9zdERlY29kZU1zbWV0YWRhdGFBbmRJbWFnZXNNc2ZyYW1lVGFibGVNc2ZpbmFsaXplTXNwYXlsb2FkQnVpbGRNc3J1c3RUb3RhbE1zaW1hZ2VCeXRlc2ltYWdlQ291bnRzcHJpdGVDb3VudGZyYW1lQ291bnRjZWxsQ291bnRjbGlwUGF0aENvdW50c2hhcGVDb3VudHNoYXBlR3JvdXBDb3VudHNoYXBlQnl0ZXN3cml0ZXJJbml0aWFsQ2FwYWNpdHl3cml0ZXJGaW5hbENhcGFjaXR5RGVjb2RlZFJlY3R4eXdpZHRoaGVpZ2h0Y29ybmVyX3JhZGl1c0RlY29kZWRBdWRpb2F1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVEZWNvZGVkQ29sb3JyZ0RlY29kZWRGcmFtZWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzRGVjb2RlZE1vdmlldmVyc2lvbnBhcmFtc2ltYWdlc3Nwcml0ZXNhdWRpb3NEZWNvZGVkU2hhcGVraW5kcGF0aF9kYXRhc3R5bGVEZWNvZGVkTGF5b3V0RGVjb2RlZFBhcmFtc3ZpZXdfYm94X3dpZHRodmlld19ib3hfaGVpZ2h0ZnBzZnJhbWVzRGVjb2RlZFNwcml0ZWltYWdlX2tleURlY29kZWRFbGxpcHNlcmFkaXVzX3hyYWRpdXNfeQAAAP//////////CA4QAEGgnMAAC/MDegYQAA8AAAABAwAAIwAAAHoGEAAPAAAAIAMAACkAAAB6BhAADwAAAAkDAAApAAAASwkQAF4AAACFAgAAKAAAAEsJEABeAAAAbgQAABwAAABLCRAAXgAAAN0CAAAhAAAASwkQAF4AAADpAAAAJgAAAEsJEABeAAAABgEAAB0AAABLCRAAXgAAAHoEAAAzAAAASwkQAF4AAAB7BAAAMwAAAGludmFsaWQgdGFnIHZhbHVlOiAwaW52YWxpZCB2YXJpbnRMYXlvdXR4eXdpZHRoaGVpZ2h0VHJhbnNmb3JtYWJjZHR4dHlBdWRpb0VudGl0eWF1ZGlvX2tleXN0YXJ0X2ZyYW1lZW5kX2ZyYW1lc3RhcnRfdGltZXRvdGFsX3RpbWVGcmFtZUVudGl0eWFscGhhbGF5b3V0dHJhbnNmb3JtY2xpcF9wYXRoc2hhcGVzTW92aWVFbnRpdHl2ZXJzaW9ucGFyYW1zaW1hZ2Vzc3ByaXRlc2F1ZGlvc01vdmllUGFyYW1zdmlld19ib3hfd2lkdGh2aWV3X2JveF9oZWlnaHRmcHNmcmFtZXNTaGFwZUVudGl0eXIjdHlwZXNoYXBlcmVjdGVsbGlwc2VzdHlsZXNTcHJpdGVFbnRpdHlpbWFnZV9rZXn//////////wgQEABBoKDAAAuDCk1hcCBrZXkgaXMgbm90IGEgc3RyaW5nIGFuZCBjYW5ub3QgYmUgYW4gb2JqZWN0IGtleWludmFsaWQgdGFnIHZhbHVlOiAwZGVsaW1pdGVkIGxlbmd0aCBleGNlZWRlZGJ1ZmZlciB1bmRlcmZsb3dyZWN1cnNpb24gbGltaXQgcmVhY2hlZHVuZXhwZWN0ZWQgZW5kIGdyb3VwIHRhZ2ludmFsaWQgdmFyaW50AAAAiQQQAE4AAABxBwAAEQAAAERhdGEgdG9vIHNob3J0IGZvciB6bGlicmVjdXJzaW9uIGxpbWl0IHJlYWNoZWQAAE0CEAANAAAAHAAAABgAAABNAhAADQAAAB0AAAAYAAAATQIQAA0AAAAeAAAAEQAAAE0CEAANAAAAHwAAABEAAABNAhAADQAAACAAAAARAAAATQIQAA0AAAAhAAAAEQAAAE0CEAANAAAAIgAAABIAAABNAhAADQAAACMAAAASAAAATQIQAA0AAAAkAAAAFQAAAE0CEAANAAAAJQAAABgAAABNAhAADQAAACYAAAAYAAAATQIQAA0AAAAnAAAAGAAAAE0CEAANAAAAKAAAABgAAABNAhAADQAAADYAAAAJAAAATQIQAA0AAAA3AAAACQAAAE0CEAANAAAAOAAAAAkAAABNAhAADQAAADkAAAAJAAAATQIQAA0AAAA6AAAACQAAAE0CEAANAAAAOwAAAAkAAABNAhAADQAAADwAAAAJAAAATQIQAA0AAAA9AAAACQAAAE0CEAANAAAAPgAAAAkAAABNAhAADQAAAEIAAAAJAAAATQIQAA0AAABDAAAACQAAAE0CEAANAAAARAAAAAkAAABNAhAADQAAAEUAAAAJAAAATQIQAA0AAABGAAAACQAAAE0CEAANAAAARwAAAAkAAABNAhAADQAAAEgAAAAJAAAATQIQAA0AAABJAAAACQAAAE0CEAANAAAASgAAAAkAAABNAhAADQAAAE4AAAAJAAAATQIQAA0AAABPAAAACQAAAE0CEAANAAAAUAAAAAkAAABNAhAADQAAAFEAAAAJAAAATQIQAA0AAABSAAAACQAAAE0CEAANAAAAUwAAAAkAAABNAhAADQAAAFQAAAAJAAAATQIQAA0AAABVAAAACQAAAE0CEAANAAAAVgAAAAkAAABNAhAADQAAAFoAAAAJAAAATQIQAA0AAABbAAAACQAAAE0CEAANAAAAXAAAAAkAAABNAhAADQAAAF0AAAAJAAAATQIQAA0AAABeAAAACQAAAE0CEAANAAAAXwAAAAkAAABNAhAADQAAAGAAAAAJAAAATQIQAA0AAABhAAAACQAAAE0CEAANAAAAYgAAAAkAAABNAhAADQAAAGYAAAAJAAAATQIQAA0AAABnAAAACQAAAE0CEAANAAAAaAAAAAkAAABNAhAADQAAAGkAAAAJAAAATQIQAA0AAABqAAAACQAAAE0CEAANAAAAawAAAAkAAAB6BhAADwAAAFYCAAASAAAAegYQAA8AAABcAgAADwAAAHoGEAAPAAAAYwIAABwAAACzBRAACwAAABsAAAAeAAAAswUQAAsAAAAdAAAAHwAAAG1pZCA+IGxlbgAAACADEABfAAAASgAAAB8AAAAgAxAAXwAAAEQAAAAXAAAAAQAAAAAAAADJAxAAYAAAAMMCAAAJAAAAAAAAAP//////////GBUQAEGwqsAAC4MGQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABidWZmZXIgdW5kZXJmbG93aW52YWxpZCBzdHJpbmcgdmFsdWU6IGRhdGEgaXMgbm90IFVURi04IGVuY29kZWRpbnZhbGlkIHZhcmludGNvcnJ1cHQgZGVmbGF0ZSBzdHJlYW1WYXJpbnRTaXh0eUZvdXJCaXRMZW5ndGhEZWxpbWl0ZWRTdGFydEdyb3VwRW5kR3JvdXBUaGlydHlUd29CaXQAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAOMVEADpFRAA9RUQAAQWEAAOFhAAFhYQAGJ1ZmZlciB1bmRlcmZsb3dpbnZhbGlkIHZhcmludHJlY3Vyc2lvbiBsaW1pdCByZWFjaGVkVmFyaW50U2l4dHlGb3VyQml0TGVuZ3RoRGVsaW1pdGVkU3RhcnRHcm91cEVuZEdyb3VwVGhpcnR5VHdvQml0TgUQAGQAAABiAAAAFQAAAAYAAAAMAAAADwAAAAoAAAAIAAAADAAAAIkWEACPFhAAmxYQAKoWEAC0FhAAvBYQAGFzc2VydGlvbiBmYWlsZWQ6IG4gPD0gc2VsZi5idWYuaW5pdCAtIHNlbGYuYnVmLmZpbGxlZAAAigYQAFMAAAAVAQAACQAAAIUIEABJAAAAsgEAADEAAABSZ2JhQ29sb3JyZ2JhU2hhcGVBcmdzZFNoYXBlU3R5bGVmaWxsc3Ryb2tlc3Ryb2tlX3dpZHRobGluZV9jYXBsaW5lX2pvaW5taXRlcl9saW1pdGxpbmVfZGFzaF9pbGluZV9kYXNoX2lpbGluZV9kYXNoX2lpaUVsbGlwc2VBcmdzeHlyYWRpdXNfeHJhZGl1c195UmVjdEFyZ3N3aWR0aGhlaWdodGNvcm5lcl9yYWRpdXOqCRAAagAAADUAAAAOAAAAAAAAAP//////////KBgQAEHAsMAAC80BQXR0ZW1wdGVkIHRvIGluaXRpYWxpemUgdGhyZWFkLWxvY2FsIHdoaWxlIGl0IGlzIGJlaW5nIGRyb3BwZWQAACoEEABeAAAAawAAAA0AAABjbG9zdXJlIGludm9rZWQgcmVjdXJzaXZlbHkgb3IgYWZ0ZXIgYmVpbmcgZHJvcHBlZGZhaWxlZCB0byBkZWNvZGUgUHJvdG9idWYgbWVzc2FnZTogAAAAJQAAACYAAAAnAAAAKAAAACkAAAAqAAAAKwAAACwAAAAtAAAALgBBmLLAAAvdAgEAAAAvAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQDJAxAAYAAAADoFAAAyAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAAzAAAAOAAAAMkDEABgAAAASAUAAEkAAABMYXlvdXRFcnJvcm92ZXJmbG93AFsCEABkAAAAvQIAAB0AAABbAhAAZAAAAKkCAAAVAAAAOQAAADoAAAA7AAAAPAAAAD0AAAAVChAAXgAAAKoAAAAFAAAAYWJvcnQAAAAVChAAXgAAAG4AAAAJAAAAZGVzY3JpcHRpb24oKSBpcyBkZXByZWNhdGVkOyB1c2UgRGlzcGxhedNycSO0gchL3WO3BlKAuaI/AAAADAAAAAQAAABAAAAAPwAAAAwAAAAEAAAAQQAAAEAAAAA8GhAAQgAAAEMAAABEAAAAQgAAAEUAQYC1wAALaQIAAAAAAAAABAAAANgEEAB1AAAAIAAAAAkAAADYBBAAdQAAACoAAAATAAAASwcQAGwAAABrBgAAGgAAAEsHEABsAAAAawYAADYAAABLBxAAbAAAAF4GAAAoAAAASwcQAGwAAABzBwAAPgBB9LXAAAu9GwEBAQECAgICAwMDAwQEBAQFBQUFAAAAAAMABAAFAAYABwAIAAkACgALAA0ADwARABMAFwAbAB8AIwArADMAOwBDAFMAYwBzAIMAowDDAOMAAgEAAgACAAJLBxAAbAAAANkHAABNAAAAEBESAAgHCQYKBQsEDAMNAg4BDwBLBxAAbAAAADwGAAAtAAAASwcQAGwAAAA8BgAAGQAAAAEBAQAEAAEAAgADAAQABQAHAAkADQARABkAIQAxAEEAYQCBAMEAAQGBAQECAQMBBAEGAQgBDAEQARgBIAEwAUABYAAASwcQAGwAAACEBgAAIAAAAEsHEABsAAAAEQIAACgAAAAAAACAAEAAwAAgAKAAYADgABAAkABQANAAMACwAHAA8AAIAIgASADIACgAqABoAOgAGACYAFgA2AA4ALgAeAD4AAQAhABEAMQAJACkAGQA5AAUAJQAVADUADQAtAB0APQADACMAEwAzAAsAKwAbADsABwAnABcANwAPAC8AHwA/AACAIIAQgDCACIAogBiAOIAEgCSAFIA0gAyALIAcgDyAAoAigBKAMoAKgCqAGoA6gAaAJoAWgDaADoAugB6APoABgCGAEYAxgAmAKYAZgDmABYAlgBWANYANgC2AHYA9gAOAI4ATgDOAC4ArgBuAO4AHgCeAF4A3gA+AL4AfgD+AAEAgQBBAMEAIQChAGEA4QARAJEAUQDRADEAsQBxAPEACQCJAEkAyQApAKkAaQDpABkAmQBZANkAOQC5AHkA+QAFAIUARQDFACUApQBlAOUAFQCVAFUA1QA1ALUAdQD1AA0AjQBNAM0ALQCtAG0A7QAdAJ0AXQDdAD0AvQB9AP0AAwCDAEMAwwAjAKMAYwDjABMAkwBTANMAMwCzAHMA8wALAIsASwDLACsAqwBrAOsAGwCbAFsA2wA7ALsAewD7AAcAhwBHAMcAJwCnAGcA5wAXAJcAVwDXADcAtwB3APcADwCPAE8AzwAvAK8AbwDvAB8AnwBfAN8APwC/AH8A/4AAgICAQIDAgCCAoIBggOCAEICQgFCA0IAwgLCAcIDwgAiAiIBIgMiAKICogGiA6IAYgJiAWIDYgDiAuIB4gPiABICEgESAxIAkgKSAZIDkgBSAlIBUgNSANIC0gHSA9IAMgIyATIDMgCyArIBsgOyAHICcgFyA3IA8gLyAfID8gAKAgoBCgMKAIoCigGKA4oASgJKAUoDSgDKAsoBygPKACoCKgEqAyoAqgKqAaoDqgBqAmoBagNqAOoC6gHqA+oAGgIaARoDGgCaApoBmgOaAFoCWgFaA1oA2gLaAdoD2gA6AjoBOgM6ALoCugG6A7oAegJ6AXoDegD6AvoB+gP6AAYCBgEGAwYAhgKGAYYDhgBGAkYBRgNGAMYCxgHGA8YAJgImASYDJgCmAqYBpgOmAGYCZgFmA2YA5gLmAeYD5gAWAhYBFgMWAJYClgGWA5YAVgJWAVYDVgDWAtYB1gPWADYCNgE2AzYAtgK2AbYDtgB2AnYBdgN2APYC9gH2A/YADgIOAQ4DDgCOAo4BjgOOAE4CTgFOA04AzgLOAc4DzgAuAi4BLgMuAK4CrgGuA64AbgJuAW4DbgDuAu4B7gPuAB4CHgEeAx4AngKeAZ4DngBeAl4BXgNeAN4C3gHeA94APgI+AT4DPgC+Ar4BvgO+AH4CfgF+A34A/gL+Af4D/SwcQAGwAAACGAgAAHQAAAEsHEABsAAAAIgQAABQAAABLBxAAbAAAACMEAAASAAAAYXNzZXJ0aW9uIGZhaWxlZDogb3V0X3BvcyArIDMgPCBvdXRfc2xpY2UubGVuKCkASwcQAGwAAAA2BAAADQAAAGFzc2VydGlvbiBmYWlsZWQ6IChzb3VyY2VfcG9zICsgMykgJiBvdXRfYnVmX3NpemVfbWFzayA8IG91dF9zbGljZS5sZW4oKUsHEABsAAAANwQAAA0AAABLBxAAbAAAADkEAAAiAAAASwcQAGwAAAA6BAAAJgAAAEsHEABsAAAAOwQAACYAAABLBxAAbAAAAEQEAAAjAAAASwcQAGwAAABEBAAADgAAAGFzc2VydGlvbiBmYWlsZWQ6IG91dF9wb3MgKyAxIDwgb3V0X3NsaWNlLmxlbigpAEsHEABsAAAARgQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiAoc291cmNlX3BvcyArIDEpICYgb3V0X2J1Zl9zaXplX21hc2sgPCBvdXRfc2xpY2UubGVuKClLBxAAbAAAAEcEAAANAAAASwcQAGwAAABIBAAAIgAAAEsHEABsAAAASAQAAA0AAABhc3NlcnRpb24gZmFpbGVkOiBvdXRfcG9zICsgMiA8IG91dF9zbGljZS5sZW4oKQBLBxAAbAAAAEwEAAANAAAAYXNzZXJ0aW9uIGZhaWxlZDogKHNvdXJjZV9wb3MgKyAyKSAmIG91dF9idWZfc2l6ZV9tYXNrIDwgb3V0X3NsaWNlLmxlbigpSwcQAGwAAABNBAAADQAAAEsHEABsAAAATgQAACIAAABLBxAAbAAAAE4EAAANAAAASwcQAGwAAABPBAAAJgAAAEsHEABsAAAATwQAAA0AAABLBxAAbAAAACwEAAAXAAAAZGVzdCBpcyBvdXQgb2YgYm91bmRzAAAACwYQAG4AAABCAQAAHAAAAAsGEABuAAAAdgEAADAAAADeBhAAbAAAAHwAAAARAAAA3gYQAGwAAACJAAAAEQAAAG1dy9YsUOtjeEGmV3Ebi7mauO6RURSWWM+WAOjSnxKKZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZXF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JvcGVyYXRpb24gc3VjY2Vzc2Z1bAAAAE0AAAAMAAAABAAAAE4AAABPAAAAUAAAAAAAAAAIAAAABAAAAFEAAABSAAAAUwAAAFQAAABVAAAAEAAAAAQAAABWAAAAVwAAAFgAAABZAAAAAAAAAAgAAAAEAAAAWgAAAGFzc2VydGlvbiBmYWlsZWQ6IHBzaXplID49IHNpemUgKyBtaW5fb3ZlcmhlYWQAACAJEAAqAAAAsQQAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA8PSBzaXplICsgbWF4X292ZXJoZWFkAAAgCRAAKgAAALcEAAANAAAATQAAAAwAAAAEAAAAWwAAABAAAAARAAAAEgAAABAAAAAQAAAAEwAAABIAAAANAAAADgAAABUAAAAMAAAACwAAABUAAAAVAAAADwAAAA4AAAATAAAAJgAAADgAAAAZAAAAFwAAAAwAAAAJAAAACgAAABAAAAAXAAAADgAAAA4AAAANAAAAFAAAAAgAAAAbAAAADgAAABAAAAAWAAAAFQAAAAsAAAAWAAAADQAAAAsAAAALAAAAEwAAACQjEAA0IxAARSMQAFcjEABnIxAAdyMQAIojEACcIxAAqSMQALcjEADMIxAA2CMQAOMjEAD4IxAADSQQABwkEAAqJBAAPSQQAGMkEACbJBAAtCQQAMskEADXJBAA4CQQAOokEAD6JBAAESUQAB8lEAAtJRAAOiUQAE4lEABWJRAAcSUQAH8lEACPJRAApSUQALolEADFJRAA2yUQAOglEADzJRAA/iUQAEhhc2ggdGFibGUgY2FwYWNpdHkgb3ZlcmZsb3cOCBAAKgAAACUAAAAoAAAARXJyb3IAAABcAAAADAAAAAQAAABdAAAAXgAAAF8AQbzRwAALrgoBAAAAYAAAAGEgZm9ybWF0dGluZyB0cmFpdCBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB3aGVuIHRoZSB1bmRlcmx5aW5nIHN0cmVhbSBkaWQgbm90AACAAxAASAAAAIoCAAAOAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAADPCBAAUAAAABwAAAAFAAAAAHAABwAtAQEBAgECAQFICzAVEAFlBwIGAgIBBCMBHhtbCzoJCQEYBAEJAQMBBSsDOwkqGAEgNwEBAQQIBAEDBwoCHQE6AQEBAgQIAQkBCgIaAQICOQEEAgQCAgMDAR4CAwELAjkBBAUBAgQBFAIWBgEBOgEBAgEECAEHAwoCHgE7AQEBDAEJASgBAwE3AQEDBQMBBAcCCwIdAToBAgIBAQMDAQQHAgsCHAI5AgEBAgQIAQkBCgIdAUgBBAECAwEBCAFRAQIHDAhiAQIJCwdJAhsBAQEBATcOAQUBAgULASQJAWYEAQYBAgICGQIEAxAEDQECAgYBDwEAAwAEHAMdAh4CQAIBBwgBAgsJAS0DAQF1AiIBdgMEAgkBBgPbAgIBOgEBBwEBAQECCAYKAgEwLgIMFAQwCgQDJgkMAiAEAgY4AQECAwEBBTgIAgKYAwENAQcEAQYBAwLGQAABwyEAA40BYCAABmkCAAQBCiACUAIAAQMBBAEZAgUBlwIaEg0BJggZCwEBLAMwAQIEAgICASQBQwYCAgICDAEIAS8BMwEBAwICBQIBASoCCAHuAQIBBAEAAQAQEBAAAgAB4gGVBQADAQIFBCgDBAGlAgAEQQUAAk0GRgsxBHsBNg8pAQICCgMxBAICBwE9AyQFAQg+AQwCNAkBAQgEAgFfAwIEBgECAZ0BAwgVAjkCAQEBAQwBCQEOBwMFQwECBgEBAgEBAwQDAQEOAlUIAgMBARcBUQECBgEBAgEBAgEC6wECBAYCAQIbAlUIAgEBAmoBAQECCGUBAQECBAEFAAkBAvUBCgQEAZAEAgIEASAKKAYCBAgBCQYCAy4NAQLGAQEDAQHJBwEGAQFSFgIHAQIBAnoGAwEBAgEHAQFIAgMBAQEAAgsCNAUFAxcBAAEGDwAMAwMABTsHAAE/BFEBCwIAAgAuAhcABQMGCAgCBx4ElAMANwQyCAEOARYFAQ8ABwERAgcBAgEFZAGgBwABPQQABP4C8wECAQcCBQEAB20HAGCA8AAAOQgQAEsAAAB+CwAAJgAAADkIEABLAAAAhwsAABoAAAAwMDAxMDIwMzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQwNDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5Ob8FEABLAAAAVwIAAAUAAAAwMTIzNDU2Nzg5YWJjZGVmMHgwMTIzNDU2Nzg5QUJDREVGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQazcwAALMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMDAwMDAwMDAwMDAwMDAwMEBAQEBABB6tzAAAuZDlsuLi5ddXNlci1wcm92aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcgDAAhAAXwAAAFwDAAAFAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZQAAAwAAgwQgAJEFYABdE6AAEhcgHwwgYB/vLGArKjDgK2+moCwCqCAtHvsgLgD+YDae/6A2/QEhNwEKYTckDSE4qw6hOS8YITrzHiFLQDShUx5h4VTwamFVT2/hVZ28YVYAz2FXZdGhVwDaIVgA4KFZruIhW+zk4VzQ6GFdIADuXvABf18ABgEBAwEEAgUHBwIICAkCCgULAg4EEAERAhIFExwUARUCFwIZDRwFHQgfASQBagRrAm4CrwOxArwCzwLRAtQM1QnWAtcC2gHgBeEC5gHnBOgC7iDwBPgC+gX7AQwnOz5OT4+enp97i5OWorK6hrEGBwk2PT5W89DRBBQYNjdWV3+qrq+9NeASh4mOngQNDhESKTE0OkVGSUpOT2RlioyNj7bBw8TGy9ZctrcbHAcICgsUFzY5Oqip2NkJN5CRqAcKOz5maY+SEW9fv+7vWmK5uvT8/1NUmpsuLycoVZ2goaOkp6iturzEBgsMFR06P0VRpqfMzaAHGRoiJT4/3+fs7//FxgQgIyUmKDM4OkhKTFBTVVZYWlxeYGNlZmtzeH1/iqSqr7DA0K6vbm/H3d6TXiJ7BQMELQNmAwEvLoCCHQMxDxwEJAkeBSsFRAQOKoCqBiQEJAQoCDQLTgM0DIE3CRYKCBg7RTkDYwgJMBYFIQMbBRsmOARLBS8ECgcJB0AgJwQMCTYDOgUaBwQMB1BJNzMNMwcuCAoGJgMdCAKA0FIQBggJIS4IKhYaJhwUFwlOBCQJRA0ZBwoGSAgnCXULQj4qBjsFCgZRBgEFEAMFC1kIAh1iHkgICoCmXiJFCwoGDRM6BgoGFBwsBBeAuTxkUwxICQpGRRtICFMNSQcKVghYIg4KBkYKHQNHSTcDDggKBjkHCgYsBAqA9hkHOwMdVQEPMg2Dm2Z1C4DEikxjDYQwEBYKj5sFgkeauTqGxoI5ByoEXAYmCkYKKAUTgbA6gMZbBTQsSwQ5BxFABQsHCZzWKSBhc6H9gTMPAR0GDgQIgYyJBGsFDQMJBxCPYID9A4G0BhcPEQ9HCXQ8gPYKcwhwFUZ6FAwUDFcJGYCHgUcDhUIPFYRQHwYGgNUrBT4hAXAtAxoEAoFAHxE6BQGB0CqA1isEAYDANggCgOCA9ylMBAoEAoMRREw9gMI8BgEEVQUbNAKBDiwEZAxWCoCuOB0NLAQJBwIOBoCag9kDEQMNA4DaBgwEAQ8MBDgICgYoCCwEAg4JJ4FYCB0DCwM7BB4ECgeA+4QFAAEDBQUGBgIHBggHCREKHAsZDBkNEA4MDwQQAxISEwkWARcEGAEZAxoJGwEcAh8WIAMrAi0LLgEwBDECMgGpAqoEqwj6AvsF/gP/Ca14eYuNojBXWIuMkBzdDg9LTPv8Li8/XF1f4oSNjpGSqbG6u8XGycre5OX/AAQREikxNDc6Oz1JSl2EjpKpsbS6u8bKzs/k5QAEDQ4REikxNDo7RUZJSl5kZYSRm53Jzs8NESk6O0VJV1teX2RljZGptLq7xcnf5OXwDRFFSWRlgISyvL6/1dfw8YOFi6Smvr/Fx8/a20iYvc3Gzs9JTk9XWV5fiY6Psba3v8HGx9cRFhdbXPb3/v+AbXHe3w4fbm8cHV99fq6v3t9Nu7wWFx4fRkdOT1haXF5+f7XF1NXc8PH1cnOPdHUmLi+nr7e/x8/X35oAQJeYMI8fzv9OT1pbBwgPECcv7u9ubzc9P0JFU2d1yMnQ0djZ5/7/ACBfIoLfBIJECBsEBhGBrA6AqwUgB4EcAxkIAQQvBDQEBwMBBwYHEQpQDxIHVQcDBBwKCQMIAwcDAgMDAwwEBQMLBgEOFQVOBxsHVwcCBRgMUARDAy0DAQQRBg8MOgQdJV8gbQRqJYDIBYKwAxoGgv0DWQcWCRgJFAwUDGoGCgYaBlkHKwVGCiwEDAQBAzELLAQaBgsDgKwGCgZMFID0CDwDDwM+BTgIKwWC/xEYCC8RLQMiDiEPgIwEgpoWCxWIlAUvBTsHAg4YCYC+InQMgNYagRAFgOEJ8p4DNwmBXBSAuAiA3RQ8AwoGOAhGCAwGdAseA1oEWQmAgxgcChYJTASAigarpAwXBDGhBIHaJgcMBQWCsyAqBkwEgI0EgL4DGwMPDbgHEABVAAAACgAAACsAAAC4BxAAVQAAABoAAAA2AAAAYXR0ZW1wdCB0byBkaXZpZGUgYnkgemVyby4uUmVmQ2VsbCBhbHJlYWR5IGJvcnJvd2VkAEGM68AACwEEAHwJcHJvZHVjZXJzAghsYW5ndWFnZQEEUnVzdAAMcHJvY2Vzc2VkLWJ5AwVydXN0Yx0xLjk0LjEgKGU0MDg5NDdiZiAyMDI2LTAzLTI1KQZ3YWxydXMGMC4yNi4xDHdhc20tYmluZGdlbhMwLjIuMTE3IChmYjQwM2NmZWYpAGsPdGFyZ2V0X2ZlYXR1cmVzBisPbXV0YWJsZS1nbG9iYWxzKxNub250cmFwcGluZy1mcHRvaW50KwtidWxrLW1lbW9yeSsIc2lnbi1leHQrD3JlZmVyZW5jZS10eXBlcysKbXVsdGl2YWx1ZQ==";let O=null,SI=null;function AB(){return typeof performance!="undefined"?performance.now():Date.now()}function IE(){var B;const A=globalThis.process;return(B=A==null?void 0:A.versions)!=null&&B.node&&Ig.startsWith("/")?new URL(Object.assign({})[`../..${Ig}`],typeof document=="undefined"?require("url").pathToFileURL(__filename).href:qA&&qA.tagName.toUpperCase()==="SCRIPT"&&qA.src||new URL("gift-stage.cjs.js",document.baseURI).href):Ig}function mA(){return O!==null}async function PB(){return O?!0:SI||(SI=(async()=>{try{return await jB({module_or_path:IE()}),ZB(),O=AE,!0}catch(B){return console.warn("[GiftStage] WASM unavailable, using JS fallback:",B),!1}})(),SI)}function gE(B){if(!O)return null;try{return O.inflate(B)}catch(A){return null}}function BE(B){if(!O)return null;try{return EE(O.decode_svga(B))}catch(A){return null}}function QE(B){if(!O)return null;try{return O.decode_svga_payload(B)}catch(A){return null}}function CE(B){if(!O)return null;try{const A=AB(),I=typeof O.decode_svga_payload_profiled=="function"?O.decode_svga_payload_profiled(B):O.decode_svga_payload(B),g=AB()-A,Q=typeof O.take_svga_payload_profile=="function"?O.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 gg(B,A,I){if(!O)return null;try{return O.build_batch_vertices(B,A,I)}catch(g){return null}}function EE(B){var A,I,g,Q,C,E,i;const o=B.params,e=o?{viewBoxWidth:(A=o.view_box_width)!=null?A:0,viewBoxHeight:(I=o.view_box_height)!=null?I:0,fps:(g=o.fps)!=null?g:20,frames:(Q=o.frames)!=null?Q:0}:{viewBoxWidth:0,viewBoxHeight:0,fps:20,frames:0},a=new Map,t=B.images;if(t instanceof Map)for(const[w,h]of t)a.set(w,h instanceof Uint8Array?h:new Uint8Array(h));else if(t&&typeof t=="object")for(const[w,h]of Object.entries(t))a.set(w,h instanceof Uint8Array?h:new Uint8Array(h));const s=((C=B.sprites)!=null?C:[]).map(iE),D=((E=B.audios)!=null?E:[]).map(w=>{var h,n,r,F,c;return{audioKey:(h=w.audio_key)!=null?h:"",startFrame:(n=w.start_frame)!=null?n:0,endFrame:(r=w.end_frame)!=null?r:0,startTime:(F=w.start_time)!=null?F:0,totalTime:(c=w.total_time)!=null?c:0}});return{version:(i=B.version)!=null?i:"",params:e,images:a,spriteTable:WB(s,e.frames),audios:D}}function iE(B){var A,I;let g=null;const Q=((A=B.frames)!=null?A:[]).map(C=>{var E,i,o,e,a,t,s,D,w,h,n;const r=Array.isArray(C.shapes)?C.shapes:[];let F;return r.length===0?(g=null,F=null):((E=r[0])==null?void 0:E.kind)==="keep"?F=g:(F=aE(r),g=F),{alpha:(i=C.alpha)!=null?i:0,layout:C.layout?{width:(o=C.layout.width)!=null?o: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:(w=C.transform.tx)!=null?w:0,ty:(h=C.transform.ty)!=null?h:0}:null,clipPath:(n=C.clip_path)!=null?n:"",shapes:F}});return{imageKey:(I=B.image_key)!=null?I:"",frames:Q}}function IB(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 oE(B){var A,I,g,Q,C,E;const i=(A=B==null?void 0:B.line_dash)!=null?A:B==null?void 0:B.lineDash;return{fill:IB(B==null?void 0:B.fill),stroke:IB(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(i)&&i.length>0?i:void 0}}function eE(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 aE(B){var A,I,g,Q,C,E,i,o,e,a,t,s,D;if(!Array.isArray(B)||B.length===0)return null;const w=[];for(const h of B){const n=h==null?void 0:h.kind;if(n!=="path"&&n!=="rect"&&n!=="ellipse")continue;const r={kind:n,pathData:(A=h.path_data)!=null?A:h.pathData,rect:h.rect?{x:(I=h.rect.x)!=null?I:0,y:(g=h.rect.y)!=null?g:0,width:(Q=h.rect.width)!=null?Q:0,height:(C=h.rect.height)!=null?C:0,cornerRadius:(i=(E=h.rect.corner_radius)!=null?E:h.rect.cornerRadius)!=null?i:0}:void 0,ellipse:h.ellipse?{x:(o=h.ellipse.x)!=null?o:0,y:(e=h.ellipse.y)!=null?e:0,radiusX:(t=(a=h.ellipse.radius_x)!=null?a:h.ellipse.radiusX)!=null?t:0,radiusY:(D=(s=h.ellipse.radius_y)!=null?s:h.ellipse.radiusY)!=null?D:0}:void 0,style:oE(h.style),transform:eE(h.transform)};w.push(r)}return w.length>0?w:null}var tE=Object.defineProperty,sE=(B,A,I)=>A in B?tE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Bg=(B,A,I)=>sE(B,typeof A!="symbol"?A+"":A,I);class zB{constructor(){Bg(this,"floatPoolA",null),Bg(this,"floatPoolB",null),Bg(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 KA(B,A,I,g,Q,C){const E=1/(B-A),i=1/(I-g),o=1/(Q-C),e=new Float32Array(16);return e[0]=-2*E,e[5]=-2*i,e[10]=2*o,e[12]=(B+A)*E,e[13]=(g+I)*i,e[14]=(Q+C)*o,e[15]=1,e}function nA(B,A,I){return B+(A-B)*I}function HI(B,A,I){return B<A?A:B>I?I:B}let DE=0;function _B(){return`gift_${++DE}_${Date.now().toString(36)}`}const xI=8;function $B(B){if(!B||B.trim().length===0)return[];const A=[];let I=[],g=0,Q=0,C=0,E=0,i=0,o=0;const e=wE(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(),w=t(),h=t(),n=t(),r=t(),F=t();kI(I,g,Q,D,w,h,n,r,F),i=h,o=n,g=r,Q=F}break}case"c":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),w=Q+t(),h=g+t(),n=Q+t(),r=g+t(),F=Q+t();kI(I,g,Q,D,w,h,n,r,F),i=h,o=n,g=r,Q=F}break}case"S":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-i,w=2*Q-o,h=t(),n=t(),r=t(),F=t();kI(I,g,Q,D,w,h,n,r,F),i=h,o=n,g=r,Q=F}break}case"s":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-i,w=2*Q-o,h=g+t(),n=Q+t(),r=g+t(),F=Q+t();kI(I,g,Q,D,w,h,n,r,F),i=h,o=n,g=r,Q=F}break}case"Q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=t(),w=t(),h=t(),n=t();gB(I,g,Q,D,w,h,n),i=D,o=w,g=h,Q=n}break}case"q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),w=Q+t(),h=g+t(),n=Q+t();gB(I,g,Q,D,w,h,n),i=D,o=w,g=h,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 wE(B){return B.replace(/([A-Za-z])/g," $1 ").replace(/,/g," ").trim().split(/\s+/).filter(A=>A.length>0)}function kI(B,A,I,g,Q,C,E,i,o){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*i,y:s*t*I+3*s*a*Q+3*t*D*E+D*a*o})}}function gB(B,A,I,g,Q,C,E){for(let i=1;i<=xI;i++){const o=i/xI,e=1-o;B.push({x:e*e*A+2*e*o*g+o*o*C,y:e*e*I+2*e*o*Q+o*o*E})}}function hE(B){const A=B.length;if(A<3)return[];if(A===3)return[0,1,2];const I=[],g=Array.from({length:A},(i,o)=>o),C=nE(B)>0;let E=A*A;for(;g.length>3&&E-- >0;){let i=!1;const o=g.length;for(let e=0;e<o;e++){const a=g[(e-1+o)%o],t=g[e],s=g[(e+1)%o],D=B[a],w=B[t],h=B[s],n=(w.x-D.x)*(h.y-D.y)-(w.y-D.y)*(h.x-D.x);if(!(C?n>0:n<0))continue;let F=!1;for(let c=0;c<o;c++)if(!(c===(e-1+o)%o||c===e||c===(e+1)%o)&&cE(B[g[c]],D,w,h)){F=!0;break}if(!F){C?I.push(a,t,s):I.push(a,s,t),g.splice(e,1),i=!0;break}}if(!i)break}if(g.length===3){const[i,o,e]=g;C?I.push(i,o,e):I.push(i,e,o)}return I}function nE(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 cE(B,A,I,g){const Q=Qg(B,A,I),C=Qg(B,I,g),E=Qg(B,g,A),i=Q<0||C<0||E<0,o=Q>0||C>0||E>0;return!(i&&o)}function Qg(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 dA(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,i=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(i==="fill")return Q.scaleX=C/A,Q.scaleY=E/I,Q.width=C,Q.height=E,Q.offsetX=0,Q.offsetY=0,Q;const o=i==="cover"?Math.max(C/A,E/I):Math.min(C/A,E/I),e=A*o,a=I*o;return Q.scaleX=o,Q.scaleY=o,Q.width=e,Q.height=a,Q.offsetX=i==="cover"?(C-e)*.5:0,Q.offsetY=i==="cover"?(E-a)*.5:0,Q}function rE(B,A,I=2){const g=B.length;let Q=FE(B,0,g,I,!0);const C=[];if(!Q||Q.next===Q.prev)return C;let E,i,o;if(B.length>80*I){E=B[0],i=B[1];let e=E,a=i;for(let t=I;t<g;t+=I){const s=B[t],D=B[t+1];s<E&&(E=s),D<i&&(i=D),s>e&&(e=s),D>a&&(a=D)}o=Math.max(e-E,a-i),o=o!==0?32767/o:0}return nI(Q,C,I,E,i,o,0),C}function FE(B,A,I,g,Q){let C;if(Q===dE(B,A,I,g)>0)for(let E=A;E<I;E+=g)C=BB(E/g|0,B[E],B[E+1],C);else for(let E=I-g;E>=A;E-=g)C=BB(E/g|0,B[E],B[E+1],C);return C&&zI(C,C.next)&&(cI(C),C=C.next),C}function hI(B,A){if(!B)return B;A||(A=B);let I=B,g;do if(g=!1,!I.steiner&&(zI(I,I.next)||Z(I.prev,I,I.next)===0)){if(cI(I),I=A=I.prev,I===I.next)break;g=!0}else I=I.next;while(g||I!==A);return A}function nI(B,A,I,g,Q,C,E){if(!B)return;!E&&C&&NE(B,g,Q,C);let i=B;for(;B.prev!==B.next;){const o=B.prev,e=B.next;if(C?RE(B,g,Q,C):GE(B)){A.push(o.i,B.i,e.i),cI(B),B=e.next,i=e.next;continue}if(B=e,B===i){E?E===1?(B=yE(hI(B),A),nI(B,A,I,g,Q,C,2)):E===2&&ME(B,A,I,g,Q,C):nI(hI(B),A,I,g,Q,C,1);break}}}function GE(B){const A=B.prev,I=B,g=B.next;if(Z(A,I,g)>=0)return!1;const Q=A.x,C=I.x,E=g.x,i=A.y,o=I.y,e=g.y,a=Math.min(Q,C,E),t=Math.min(i,o,e),s=Math.max(Q,C,E),D=Math.max(i,o,e);let w=g.next;for(;w!==A;){if(w.x>=a&&w.x<=s&&w.y>=t&&w.y<=D&&gI(Q,i,C,o,E,e,w.x,w.y)&&Z(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function RE(B,A,I,g){const Q=B.prev,C=B,E=B.next;if(Z(Q,C,E)>=0)return!1;const i=Q.x,o=C.x,e=E.x,a=Q.y,t=C.y,s=E.y,D=Math.min(i,o,e),w=Math.min(a,t,s),h=Math.max(i,o,e),n=Math.max(a,t,s),r=Sg(D,w,A,I,g),F=Sg(h,n,A,I,g);let c=B.prevZ,G=B.nextZ;for(;c&&c.z>=r&&G&&G.z<=F;){if(c.x>=D&&c.x<=h&&c.y>=w&&c.y<=n&&c!==Q&&c!==E&&gI(i,a,o,t,e,s,c.x,c.y)&&Z(c.prev,c,c.next)>=0||(c=c.prevZ,G.x>=D&&G.x<=h&&G.y>=w&&G.y<=n&&G!==Q&&G!==E&&gI(i,a,o,t,e,s,G.x,G.y)&&Z(G.prev,G,G.next)>=0))return!1;G=G.nextZ}for(;c&&c.z>=r;){if(c.x>=D&&c.x<=h&&c.y>=w&&c.y<=n&&c!==Q&&c!==E&&gI(i,a,o,t,e,s,c.x,c.y)&&Z(c.prev,c,c.next)>=0)return!1;c=c.prevZ}for(;G&&G.z<=F;){if(G.x>=D&&G.x<=h&&G.y>=w&&G.y<=n&&G!==Q&&G!==E&&gI(i,a,o,t,e,s,G.x,G.y)&&Z(G.prev,G,G.next)>=0)return!1;G=G.nextZ}return!0}function yE(B,A){let I=B;do{const g=I.prev,Q=I.next.next;!zI(g,Q)&&AQ(g,I,I.next,Q)&&mI(g,Q)&&mI(Q,g)&&(A.push(g.i,I.i,Q.i),cI(I),cI(I.next),I=B=Q),I=I.next}while(I!==B);return hI(I)}function ME(B,A,I,g,Q,C){let E=B;do{let i=E.next.next;for(;i!==E.prev;){if(E.i!==i.i&&UE(E,i)){let o=KE(E,i);E=hI(E,E.next),o=hI(o,o.next),nI(E,A,I,g,Q,C,0),nI(o,A,I,g,Q,C,0);return}i=i.next}E=E.next}while(E!==B)}function NE(B,A,I,g){let Q=B;do Q.z===0&&(Q.z=Sg(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,SE(Q)}function SE(B){let A,I=1;do{let g=B,Q;B=null;let C=null;for(A=0;g;){A++;let E=g,i=0;for(let e=0;e<I&&(i++,E=E.nextZ,!!E);e++);let o=I;for(;i>0||o>0&&E;)i!==0&&(o===0||!E||g.z<=E.z)?(Q=g,g=g.nextZ,i--):(Q=E,E=E.nextZ,o--),C?C.nextZ=Q:B=Q,Q.prevZ=C,C=Q;g=E}C.nextZ=null,I*=2}while(A>1);return B}function Sg(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 kE(B,A,I,g,Q,C,E,i){return(Q-E)*(A-i)>=(B-E)*(C-i)&&(B-E)*(g-i)>=(I-E)*(A-i)&&(I-E)*(C-i)>=(Q-E)*(g-i)}function gI(B,A,I,g,Q,C,E,i){return!(B===E&&A===i)&&kE(B,A,I,g,Q,C,E,i)}function UE(B,A){return B.next.i!==A.i&&B.prev.i!==A.i&&!lE(B,A)&&(mI(B,A)&&mI(A,B)&&YE(B,A)&&(Z(B.prev,B,A.prev)||Z(B,A.prev,A))||zI(B,A)&&Z(B.prev,B,B.next)>0&&Z(A.prev,A,A.next)>0)}function Z(B,A,I){return(A.y-B.y)*(I.x-A.x)-(A.x-B.x)*(I.y-A.y)}function zI(B,A){return B.x===A.x&&B.y===A.y}function AQ(B,A,I,g){const Q=lI(Z(B,A,I)),C=lI(Z(B,A,g)),E=lI(Z(I,g,B)),i=lI(Z(I,g,A));return!!(Q!==C&&E!==i||Q===0&&UI(B,I,A)||C===0&&UI(B,g,A)||E===0&&UI(I,B,g)||i===0&&UI(I,A,g))}function UI(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 lI(B){return B>0?1:B<0?-1:0}function lE(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&&AQ(I,I.next,B,A))return!0;I=I.next}while(I!==B);return!1}function mI(B,A){return Z(B.prev,B,B.next)<0?Z(B,A,B.next)>=0&&Z(B,B.prev,A)>=0:Z(B,A,B.prev)<0||Z(B,B.next,A)<0}function YE(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 KE(B,A){const I=kg(B.i,B.x,B.y),g=kg(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 BB(B,A,I,g){const Q=kg(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 cI(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 kg(B,A,I){return{i:B,x:A,y:I,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function dE(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 JE(B,A){const I=$B(B);if(I.length===0)return null;const g=[],Q=[],C=[];for(const o of I)if(!(o.length<3)){C.push(o);for(const e of o)g.push(e.x,e.y),Q.push(e.x,e.y)}if(g.length===0)return null;const E=[];let i=0;for(const o of C){const e=[];for(const t of o)e.push(t.x,t.y);const a=rE(e,void 0,2);for(const t of a)E.push(t+i);i+=o.length}return E.length===0?null:{vertices:new Float32Array(g),indices:new Uint32Array(E)}}const IQ=`function RA(A, I, g = 2) {
|
|
661
|
+
`,p={svgaBatchPremul:{vert:XQ,frag:Zg},svgaInstancedPremul:{vert:OQ,frag:Zg},vap:{vert:jQ,frag:Vg},vapMixOverlay:{vert:PQ,frag:zQ},vapInstanced:{vert:gC,frag:Vg},alphaVideo:{vert:_Q,frag:vg},alphaVideoInstanced:{vert:IC,frag:vg},rgbaTextured:{vert:$Q,frag:AC},clipMask:{vert:BC,frag:QC}},tA={svgaBatchPremul:CC,svgaInstancedPremul:DC,vap:EC,vapMixOverlay:iC,vapInstanced:tC,alphaVideo:oC,alphaVideoInstanced:aC,rgbaTextured:eC,clipMask:sC};var wC=Object.defineProperty,hC=(B,A,I)=>A in B?wC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,k=(B,A,I)=>hC(B,typeof A!="symbol"?A+"":A,I);const Xg=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]),nC=new Float32Array([0,0,1,1]),cC=16*1024*1024;function _I(B,A){const I=Math.max(1,Math.floor(A));return Math.ceil(Math.max(0,B)/I)*I}const _=class z{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",tA.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",tA.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",tA.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",tA.vapMixOverlay,I,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none",2),this.createTexturedPipeline("alpha-video:none",tA.alphaVideo,A,[{shaderLocation:0,offset:0,format:"float32x2"},{shaderLocation:1,offset:8,format:"float32x2"}],16,"none"),this.createTexturedPipeline("rgba-textured:none",tA.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:cC,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,tA.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:z.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:z.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:z.VAP_INSTANCED_STRIDE}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:tA.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:z.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:z.ALPHA_INSTANCED_STRIDE}}]}),Q=this.instancedTextureBindGroupLayout,C=this.device.createShaderModule({code:tA.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:z.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:tA.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,w=s.displayHeight||s.codedHeight;if(!D||!w)return;const h=C!=null?C:D,n=E!=null?E:w;if(h!==D||n!==w){this.drawVideoLikeSourceToTextureRegion(o.texture,h,n,s,i.origin.x,i.origin.y);return}if(this.copyVideoFrameToTextureRegionDirect(o.texture,D,w,s,i.origin.x,i.origin.y))return;this.drawVideoLikeSourceToTextureRegion(o.texture,D,w,s,i.origin.x,i.origin.y);return}if(I instanceof HTMLVideoElement){const s=I,D=s.videoWidth,w=s.videoHeight;if(s.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||!D||!w)return;const h=C!=null?C:D,n=E!=null?E:w;if(h!==D||n!==w){this.drawVideoLikeSourceToTextureRegion(o.texture,h,n,s,i.origin.x,i.origin.y);return}if(s.readyState<HTMLMediaElement.HAVE_ENOUGH_DATA){this.drawVideoLikeSourceToTextureRegion(o.texture,D,w,s,i.origin.x,i.origin.y);return}if(this.copyHtmlVideoToTextureRegionDirect(o.texture,D,w,s,i.origin.x,i.origin.y))return;this.drawVideoLikeSourceToTextureRegion(o.texture,D,w,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 w=0;e==="clear"?w=0:(e==="write"||A.shader==="clip-mask"||e==="test")&&(w=1),this.lastStencilRef!==w&&(s.setStencilReference(w),this.lastStencilRef=w);const h=this.uniformSlotIndex++;if(h>=this.maxUniformSlots){console.warn("[WebGPU] uniform slot overflow; increase maxUniformSlots");return}const n=h*this.uniformSlotStride,r=A.uniforms.u_projection;if(t.textureCount>0){const M=A.uniforms.u_transform,R=M instanceof Float32Array&&M.length>=16?M:Xg,N=A.uniforms.u_atlasRemap,S=N instanceof Float32Array&&N.length>=4?N:nC,U=typeof A.uniforms.u_opacity=="number"?A.uniforms.u_opacity:1;if(r instanceof Float32Array&&r.length>=16){const K=this.uniformScratch160;K.set(r.length===16?r:r.subarray(0,16),0),K.set(R.length===16?R:R.subarray(0,16),16),K.set(S.length===4?S:S.subarray(0,4),32),K[36]=U,K[37]=0,K[38]=0,K[39]=0,this.device.queue.writeBuffer(this.uniformBuffer,n,K.buffer,K.byteOffset,160)}else{this.device.queue.writeBuffer(this.uniformBuffer,n+64,R.buffer,R.byteOffset,64),this.device.queue.writeBuffer(this.uniformBuffer,n+128,S.buffer,S.byteOffset,16);const K=this.uniformOpacityScratch;K[0]=U,K[1]=0,K[2]=0,K[3]=0,this.device.queue.writeBuffer(this.uniformBuffer,n+144,K)}}else if(r instanceof Float32Array&&r.length>=16){const M=A.uniforms.u_transform,R=M instanceof Float32Array&&M.length>=16?M:Xg,N=this.uniformScratch128;N.set(r.length===16?r:r.subarray(0,16),0),N.set(R.length===16?R:R.subarray(0,16),16),this.device.queue.writeBuffer(this.uniformBuffer,n,N.buffer,N.byteOffset,128)}if(t.textureCount===1){const M=A.textures.length>0?A.textures[0]:null,R=M?this.textures.get(M.id):null,N=(g=R==null?void 0:R.view)!=null?g:this.dummyTextureView,S=(Q=M==null?void 0:M.id)!=null?Q:0;let U=this.texturedBindGroupCache.get(S);U||(U=this.device.createBindGroup({layout:this.texturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:N},{binding:2,resource:this.sampler}]}),this.texturedBindGroupCache.set(S,U)),s.setBindGroup(0,U,[n])}else if(t.textureCount===2){const M=A.textures[0],R=A.textures[1],N=M?this.textures.get(M.id):null,S=R?this.textures.get(R.id):null,U=(C=M==null?void 0:M.id)!=null?C:0,K=(E=R==null?void 0:R.id)!=null?E:0;let d=this.dualTexturedBindGroupCache.get(U);d||(d=new Map,this.dualTexturedBindGroupCache.set(U,d));let l=d.get(K);l||(l=this.device.createBindGroup({layout:this.dualTexturedBindGroupLayout,entries:[{binding:0,resource:{buffer:this.uniformBuffer,offset:0,size:160}},{binding:1,resource:(o=N==null?void 0:N.view)!=null?o:this.dummyTextureView},{binding:2,resource:(i=S==null?void 0:S.view)!=null?i:this.dummyTextureView},{binding:3,resource:this.sampler}]}),d.set(K,l)),s.setBindGroup(0,l,[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 F=this.buffers.get(A.vertexBuffer.id),c=this.buffers.get(A.indexBuffer.id);if(!F||!c)return;const G=A.vertexBuffer.id,y=A.indexBuffer.id;this.lastVertexBufferId!==G&&(s.setVertexBuffer(0,F.buffer),this.lastVertexBufferId=G),this.lastIndexBufferId!==y&&(s.setIndexBuffer(c.buffer,"uint32"),this.lastIndexBufferId=y),s.drawIndexed(A.indexCount)}drawInstancedSvga(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*13)return;if(E>z.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 w=this.buffers.get(A.vertexBuffer.id),h=this.buffers.get(A.indexBuffer.id);if(!w||!h)return;this.ensureInstancedProjection(D);const n=E*z.SVGA_INSTANCED_STRIDE,r=this.instancedStorageRingOffset,F=this.ensureInstancedStorageBuffer();if(r+z.INSTANCED_SVGA_CHUNK_BYTES>F.size){console.warn("[WebGPU] instanced SVGA storage ring full");return}this.instancedStorageRingOffset+=_I(n,this.storageBindOffsetAlign),this.device.queue.writeBuffer(F,r,o.buffer,o.byteOffset,n);const c=A.textures[0],G=c?this.textures.get(c.id):null,y=(g=G==null?void 0:G.view)!=null?g:this.dummyTextureView,M=(Q=c==null?void 0:c.id)!=null?Q:0;let R=this.instancedTextureBindGroupCache.get(M);R||(R=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:y},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(M,R)),C.setBindGroup(0,a.instancedDataBindGroup,[r]),this.lastInstancedTextureBindGroup!==R&&(C.setBindGroup(1,R),this.lastInstancedTextureBindGroup=R);const N=A.vertexBuffer.id,S=A.indexBuffer.id;this.lastVertexBufferId!==N&&(C.setVertexBuffer(0,w.buffer),this.lastVertexBufferId=N),this.lastIndexBufferId!==S&&(C.setIndexBuffer(h.buffer,"uint32"),this.lastIndexBufferId=S),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>z.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 w=E*z.ALPHA_INSTANCED_STRIDE,h=this.instancedStorageRingOffset,n=this.ensureInstancedStorageBuffer();if(h+z.INSTANCED_ALPHA_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced alpha storage ring full");return}this.instancedStorageRingOffset+=_I(w,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,h,o.buffer,o.byteOffset,w);const r=A.textures[0],F=r?this.textures.get(r.id):null,c=(g=F==null?void 0:F.view)!=null?g:this.dummyTextureView,G=(Q=r==null?void 0:r.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(G);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:c},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,y)),C.setBindGroup(0,e.instancedDataBindGroup,[h]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const M=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==M&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=M),this.lastIndexBufferId!==R&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=R),C.drawIndexed(A.indexCount,E,0,0,0)}drawInstancedVap(A){var I,g,Q;const C=this.passEncoder,E=(I=A.instanceCount)!=null?I:0,o=A.instanceData;if(E<1||!o||o.length<E*32)return;if(E>z.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 w=E*z.VAP_INSTANCED_STRIDE,h=this.instancedStorageRingOffset,n=this.ensureInstancedStorageBuffer();if(h+z.INSTANCED_VAP_CHUNK_BYTES>n.size){console.warn("[WebGPU] instanced VAP storage ring full");return}this.instancedStorageRingOffset+=_I(w,this.storageBindOffsetAlign),this.device.queue.writeBuffer(n,h,o.buffer,o.byteOffset,w);const r=A.textures[0],F=r?this.textures.get(r.id):null,c=(g=F==null?void 0:F.view)!=null?g:this.dummyTextureView,G=(Q=r==null?void 0:r.id)!=null?Q:0;let y=this.instancedTextureBindGroupCache.get(G);y||(y=this.device.createBindGroup({layout:this.instancedTextureBindGroupLayout,entries:[{binding:0,resource:c},{binding:1,resource:this.sampler}]}),this.instancedTextureBindGroupCache.set(G,y)),C.setBindGroup(0,e.instancedDataBindGroup,[h]),this.lastInstancedTextureBindGroup!==y&&(C.setBindGroup(1,y),this.lastInstancedTextureBindGroup=y);const M=A.vertexBuffer.id,R=A.indexBuffer.id;this.lastVertexBufferId!==M&&(C.setVertexBuffer(0,s.buffer),this.lastVertexBufferId=M),this.lastIndexBufferId!==R&&(C.setIndexBuffer(D.buffer,"uint32"),this.lastIndexBufferId=R),C.drawIndexed(A.indexCount,E,0,0,0)}clearStencil(){}setScissor(A,I,g,Q){if(!this.passEncoder)return;const C=this.canvas.width,E=this.canvas.height,o=Math.max(0,Math.min(C,Math.round(A))),i=Math.max(0,Math.min(E,Math.round(I))),e=Math.max(o,Math.min(C,Math.round(A+g))),a=Math.max(i,Math.min(E,Math.round(I+Q)));this.passEncoder.setScissorRect(o,i,e-o,a-i)}resetScissor(){this.passEncoder&&this.passEncoder.setScissorRect(0,0,this.canvas.width,this.canvas.height)}destroy(){var A,I,g,Q,C,E,o;for(const[,i]of this.buffers)i.buffer.destroy();for(const[,i]of this.textures)i.texture.destroy();(A=this.uniformBuffer)==null||A.destroy(),(I=this.instancedProjectionBuffer)==null||I.destroy(),(g=this.instancedStorageBuffer)==null||g.destroy(),(Q=this.depthStencilTexture)==null||Q.destroy(),(C=this.msaaColorTexture)==null||C.destroy(),(E=this.dummyTexture)==null||E.destroy(),(o=this.device)==null||o.destroy(),this.buffers.clear(),this.textures.clear(),this.texturedBindGroupCache.clear(),this.dualTexturedBindGroupCache.clear(),this.instancedTextureBindGroupCache.clear(),this.pipelines.clear()}};k(_,"SVGA_INSTANCED_MAX",2048);k(_,"SVGA_INSTANCED_STRIDE",52);k(_,"ALPHA_INSTANCED_MAX",1024);k(_,"ALPHA_INSTANCED_STRIDE",48);k(_,"VAP_INSTANCED_MAX",1024);k(_,"VAP_INSTANCED_STRIDE",128);k(_,"INSTANCED_SVGA_CHUNK_BYTES",_.SVGA_INSTANCED_MAX*_.SVGA_INSTANCED_STRIDE);k(_,"INSTANCED_ALPHA_CHUNK_BYTES",_.ALPHA_INSTANCED_MAX*_.ALPHA_INSTANCED_STRIDE);k(_,"INSTANCED_VAP_CHUNK_BYTES",_.VAP_INSTANCED_MAX*_.VAP_INSTANCED_STRIDE);let pB=_;function Og(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 hA(B,A,I){const g=Og(B,B.VERTEX_SHADER,A),Q=Og(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 jg(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 rC(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 sI(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 DI(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 FC=Object.defineProperty,GC=(B,A,I)=>A in B?FC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,m=(B,A,I)=>GC(B,typeof A!="symbol"?A+"":A,I);const wA=class kA{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",rC()),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:!1,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=hA(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=hA(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=hA(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"])});const C=hA(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=hA(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"])});const o=hA(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=hA(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=hA(A,p.vapInstanced.vert,p.vapInstanced.frag);this.programs.set("vap-instanced",{program:e,uniforms:this.getUniforms(e,["u_projection","u_video"])});const a=hA(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=jg(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,w=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,w),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=jg(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=sI(I),a=DI(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=sI(I),E=DI(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,w=this.videoUploadCtx;if(!w)return;(D.width!==t||D.height!==s)&&(D.width=t,D.height=s),w.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"?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,kA.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>kA.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 w=A.textures[D].id;if(D===0&&this.cachedTex0Id===w)continue;const h=this.textures.get(w);h&&(Q.activeTexture(Q.TEXTURE0+D),Q.bindTexture(Q.TEXTURE_2D,h.texture),D===0&&(this.cachedTex0Id=w))}for(const[D,w]of Object.entries(A.uniforms)){const h=e.uniforms.get(D);if(h)if(w instanceof Float32Array){if(w.length===16){if(D==="u_projection"&&this.cachedProjectionShader===i&&this.cachedProjectionRef===w)continue;D==="u_projection"&&(this.cachedProjectionShader=i,this.cachedProjectionRef=w),Q.uniformMatrix4fv(h,!1,w)}}else Q.uniform1i(h,w)}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,kA.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>kA.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"?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 w=2+D;g.enableVertexAttribArray(w),g.vertexAttribPointer(w,4,g.FLOAT,!1,48,D*16),g.vertexAttribDivisor(w,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,kA.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>kA.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"?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 w=2+D;g.enableVertexAttribArray(w),g.vertexAttribPointer(w,4,g.FLOAT,!1,128,D*16),g.vertexAttribDivisor(w,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(wA,"INST_SVGA_GL_MAX",2048);m(wA,"INST_SVGA_GL_BYTES",wA.INST_SVGA_GL_MAX*52);m(wA,"INST_ALPHA_GL_MAX",1024);m(wA,"INST_ALPHA_GL_BYTES",wA.INST_ALPHA_GL_MAX*48);m(wA,"INST_VAP_GL_MAX",1024);m(wA,"INST_VAP_GL_BYTES",wA.INST_VAP_GL_MAX*128);let xB=wA;var RC=Object.defineProperty,yC=(B,A,I)=>A in B?RC(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,j=(B,A,I)=>yC(B,typeof A!="symbol"?A+"":A,I);function MC(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 Pg(B,A,I,g){const Q=B.createShader(A);if(!Q)throw new Error("Failed to create shader");if(B.shaderSource(Q,MC(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 OA(B,A,I,g){const Q=Pg(B,B.VERTEX_SHADER,A,"vertex"),C=Pg(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 zg(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 Mg{constructor(A,I=!0){j(this,"type","webgl1"),j(this,"canvas"),j(this,"maxTextureSize",4096),j(this,"antialias"),j(this,"gl"),j(this,"nextId",1),j(this,"buffers",new Map),j(this,"textures",new Map),j(this,"programs",new Map),j(this,"cachedDrawProgram",null),j(this,"cachedTex0Id",null),j(this,"cachedProjectionRef",null),j(this,"cachedProjectionShader",null),j(this,"videoUploadCanvas",null),j(this,"videoUploadCtx",null),j(this,"supportsUintIndices",!1),this.canvas=A,this.antialias=I}async init(){const A=this.canvas.getContext("webgl",{alpha:!0,premultipliedAlpha:!1,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:OA(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:OA(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"]),this.programs.set("alpha-video",{program:OA(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"]),this.programs.set("rgba-textured",{program:OA(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:OA(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=zg(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,w=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,w),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=zg(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=sI(I),a=DI(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=sI(I),E=DI(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"?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 mB(){return typeof GPUQueue!="undefined"&&typeof GPUQueue.prototype.copyExternalImageToTexture=="function"}function NC(){return typeof navigator!="undefined"&&"gpu"in navigator&&mB()}function SC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl2")!==null}catch(B){return!1}}function kC(){if(typeof document=="undefined")return!1;try{return document.createElement("canvas").getContext("webgl")!==null}catch(B){return!1}}function UC(){return typeof SharedArrayBuffer!="undefined"&&typeof Atomics!="undefined"&&globalThis.crossOriginIsolated===!0}function bB(){return typeof OffscreenCanvas!="undefined"}async function TB(B,A=!0,I=!0,g=!1){const Q=I!=null?I:!1,C=I!=null?I:!0;if(g){const o=new Mg(B,C);return await o.init(),o}if(A&&typeof navigator!="undefined"&&"gpu"in navigator&&mB())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 xB(B,C);return await o.init(),o}catch(o){console.warn(`[GiftStage] WebGL2 init failed: ${o instanceof Error?o.message:String(o)}, fallback to WebGL1.`)}const E=new Mg(B,C);return await E.init(),E}const lC={width:1920,height:1080},YC={width:2560,height:1440};function KC(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 dC(B){return KC(B)?lC:YC}function JC(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:dC(),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 Ng(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 LC=9,YA=13,sA=9,pA=4,QI=6,ug=9,fC={a:1,b:0,c:0,d:1,tx:0,ty:0};function HC(B,A,I){return(B*I+A)*ug}function uC(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 qC(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 WB(B,A){var I,g,Q,C,E,o,i;const e=B.length;let a=A!=null?A:0;if(a<=0)for(const c of B)a=Math.max(a,c.frames.length);const t=B.map(c=>c.imageKey),s=new Float32Array(e*a*ug),D=[],w=new Map,h=new Int32Array(e*a).fill(-1),n=[],r=new Int32Array(e*a).fill(-1);let F=!1;for(let c=0;c<e;c++){const G=B[c];let y=null,M=-1;for(let R=0;R<a;R++){const N=G.frames[R],S=HC(c,R,a);if(!N){s[S+2]=1,s[S+5]=1;continue}const U=(g=(I=N.layout)==null?void 0:I.width)!=null?g:0,K=(C=(Q=N.layout)==null?void 0:Q.height)!=null?C:0,d=(E=N.transform)!=null?E:fC;s[S]=U,s[S+1]=K,s[S+2]=d.a,s[S+3]=d.b,s[S+4]=d.c,s[S+5]=d.d,s[S+6]=d.tx,s[S+7]=d.ty,s[S+8]=N.alpha;const l=(o=N.clipPath)!=null?o:"";if(l.length>0){let u=w.get(l);u===void 0&&(u=D.length,D.push(l),w.set(l,u)),h[c*a+R]=u}const J=N.shapes;if(!J||J.length===0){y=null,M=-1;continue}if(((i=J[0])==null?void 0:i.kind)==="keep"){M>=0&&(r[c*a+R]=M,F=!0);continue}if(y!==null&&J===y&&M>=0){r[c*a+R]=M,F=!0;continue}const q=J.every(u=>u.kind!=="keep")?J:J.filter(u=>u.kind!=="keep");if(q.length===0){y=null,M=-1;continue}y=q,M=n.length,n.push(q),r[c*a+R]=M,F=!0}}return{spriteCount:e,frameCount:a,imageKeys:t,frameData:s,clipPaths:D,clipPathIndex:h,shapesTable:n,shapesIndex:r,hasAnyShapes:F}}function LI(B,A,I){const g=Math.floor(B.length/YA),Q=Math.floor(A.length/(pA*sA)),C=Math.floor(I.length/QI),E=Math.min(g,Q,C);for(let o=0;o<E;o++){const i=o*YA,e=B[i],a=B[i+1],t=B[i+2],s=B[i+3],D=B[i+4],w=B[i+5],h=B[i+6],n=B[i+7],r=B[i+8],F=B[i+9],c=B[i+10],G=B[i+11],y=B[i+12],M=h,R=n,N=t*e+h,S=s*e+n,U=t*e+D*a+h,K=s*e+w*a+n,d=D*a+h,l=w*a+n,J=o*pA*sA;A[J]=M,A[J+1]=R,A[J+2]=0,A[J+3]=1,A[J+4]=1,A[J+5]=1,A[J+6]=r,A[J+7]=F,A[J+8]=c;const q=J+sA;A[q]=N,A[q+1]=S,A[q+2]=0,A[q+3]=1,A[q+4]=1,A[q+5]=1,A[q+6]=r,A[q+7]=G,A[q+8]=c;const u=J+2*sA;A[u]=U,A[u+1]=K,A[u+2]=0,A[u+3]=1,A[u+4]=1,A[u+5]=1,A[u+6]=r,A[u+7]=G,A[u+8]=y;const f=J+3*sA;A[f]=d,A[f+1]=l,A[f+2]=0,A[f+3]=1,A[f+4]=1,A[f+5]=1,A[f+6]=r,A[f+7]=F,A[f+8]=y;const W=o*QI,iA=o*pA;I[W]=iA,I[W+1]=iA+1,I[W+2]=iA+2,I[W+3]=iA,I[W+4]=iA+2,I[W+5]=iA+3}return E}function pC(B,A,I){const g=$g(B,L.__wbindgen_malloc),Q=$;var C=$g(A,L.__wbindgen_malloc),E=$,o=XB(I,L.__wbindgen_malloc),i=$;return L.build_batch_vertices(g,Q,C,E,A,o,i,I)>>>0}function xC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.decode_svga(A,I);if(g[2])throw wI(g[1]);return wI(g[0])}function mC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.decode_svga_payload(A,I);if(g[3])throw wI(g[2]);var Q=jI(g[0],g[1]).slice();return L.__wbindgen_free(g[0],g[1]*1,1),Q}function bC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.decode_svga_payload_profiled(A,I);if(g[3])throw wI(g[2]);var Q=jI(g[0],g[1]).slice();return L.__wbindgen_free(g[0],g[1]*1,1),Q}function TC(B){const A=PI(B,L.__wbindgen_malloc),I=$,g=L.inflate(A,I);if(g[3])throw wI(g[2]);var Q=jI(g[0],g[1]).slice();return L.__wbindgen_free(g[0],g[1]*1,1),Q}function ZB(){L.init()}function WC(){return L.take_svga_payload_profile()}function ZC(B,A){const I=OC(B,L.__wbindgen_malloc),g=$,Q=XB(A,L.__wbindgen_malloc),C=$,E=L.triangulate_clip_polygons(I,g,Q,C);var o=VC(E[0],E[1]).slice();return L.__wbindgen_free(E[0],E[1]*4,4),o}function VB(){return{__proto__:null,"./gift_stage_wasm_bg.js":{__proto__:null,__wbg_Error_2e59b1b37a9a34c3:function(A,I){return Error($I(A,I))},__wbg_String_8564e559799eccda:function(A,I){const g=String(I),Q=jC(g,L.__wbindgen_malloc,L.__wbindgen_realloc),C=$;_g().setInt32(A+4,C,!0),_g().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(jI(A,I))},__wbg___wbindgen_is_string_b29b5c5a8065ba1a:function(A){return typeof A=="string"},__wbg___wbindgen_throw_81fc77679af83bc6:function(A,I){throw new Error($I(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 $I(A,I)},__wbindgen_cast_0000000000000003:function(A){return BigInt.asUintN(64,A)},__wbindgen_init_externref_table:function(){const A=L.__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 VC(B,A){return B=B>>>0,vB().subarray(B/4,B/4+A)}function jI(B,A){return B=B>>>0,xA().subarray(B/1,B/1+A)}let UA=null;function _g(){return(UA===null||UA.buffer.detached===!0||UA.buffer.detached===void 0&&UA.buffer!==L.memory.buffer)&&(UA=new DataView(L.memory.buffer)),UA}let _A=null;function vC(){return(_A===null||_A.byteLength===0)&&(_A=new Float32Array(L.memory.buffer)),_A}let $A=null;function XC(){return($A===null||$A.byteLength===0)&&($A=new Float64Array(L.memory.buffer)),$A}function $I(B,A){return B=B>>>0,zC(B,A)}let AI=null;function vB(){return(AI===null||AI.byteLength===0)&&(AI=new Uint32Array(L.memory.buffer)),AI}let II=null;function xA(){return(II===null||II.byteLength===0)&&(II=new Uint8Array(L.memory.buffer)),II}function XB(B,A){const I=A(B.length*4,4)>>>0;return vB().set(B,I/4),$=B.length,I}function PI(B,A){const I=A(B.length*1,1)>>>0;return xA().set(B,I/1),$=B.length,I}function $g(B,A){const I=A(B.length*4,4)>>>0;return vC().set(B,I/4),$=B.length,I}function OC(B,A){const I=A(B.length*8,8)>>>0;return XC().set(B,I/8),$=B.length,I}function jC(B,A,I){if(I===void 0){const o=CI.encode(B),i=A(o.length,1)>>>0;return xA().subarray(i,i+o.length).set(o),$=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=CI.encodeInto(B,o);E+=i.written,Q=I(Q,g,E,1)>>>0}return $=E,Q}function wI(B){const A=L.__wbindgen_externrefs.get(B);return L.__externref_table_dealloc(B),A}let fI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});fI.decode();const PC=2146435072;let Ag=0;function zC(B,A){return Ag+=A,Ag>=PC&&(fI=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),fI.decode(),Ag=A),fI.decode(xA().subarray(B,B+A))}const CI=new TextEncoder;"encodeInto"in CI||(CI.encodeInto=function(B,A){const I=CI.encode(B);return A.set(I),{read:B.length,written:I.length}});let $=0,L;function OB(B,A){return L=B.exports,UA=null,_A=null,$A=null,AI=null,II=null,L.__wbindgen_start(),L}async function _C(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 $C(B){if(L!==void 0)return L;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=VB();B instanceof WebAssembly.Module||(B=new WebAssembly.Module(B));const I=new WebAssembly.Instance(B,A);return OB(I)}async function jB(B){if(L!==void 0)return L;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:qA&&qA.tagName.toUpperCase()==="SCRIPT"&&qA.src||new URL("gift-stage.cjs.js",document.baseURI).href));const A=VB();(typeof B=="string"||typeof Request=="function"&&B instanceof Request||typeof URL=="function"&&B instanceof URL)&&(B=fetch(B));const{instance:I,module:g}=await _C(await B,A);return OB(I)}const AE=Object.freeze(Object.defineProperty({__proto__:null,build_batch_vertices:pC,decode_svga:xC,decode_svga_payload:mC,decode_svga_payload_profiled:bC,default:jB,inflate:TC,init:ZB,initSync:$C,take_svga_payload_profile:WC,triangulate_clip_polygons:ZC},Symbol.toStringTag,{value:"Module"})),Ig="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==";let O=null,SI=null;function AB(){return typeof performance!="undefined"?performance.now():Date.now()}function IE(){var B;const A=globalThis.process;return(B=A==null?void 0:A.versions)!=null&&B.node&&Ig.startsWith("/")?new URL(Object.assign({})[`../..${Ig}`],typeof document=="undefined"?require("url").pathToFileURL(__filename).href:qA&&qA.tagName.toUpperCase()==="SCRIPT"&&qA.src||new URL("gift-stage.cjs.js",document.baseURI).href):Ig}function mA(){return O!==null}async function PB(){return O?!0:SI||(SI=(async()=>{try{return await jB({module_or_path:IE()}),ZB(),O=AE,!0}catch(B){return console.warn("[GiftStage] WASM unavailable, using JS fallback:",B),!1}})(),SI)}function gE(B){if(!O)return null;try{return O.inflate(B)}catch(A){return null}}function BE(B){if(!O)return null;try{return EE(O.decode_svga(B))}catch(A){return null}}function QE(B){if(!O)return null;try{return O.decode_svga_payload(B)}catch(A){return null}}function CE(B){if(!O)return null;try{const A=AB(),I=typeof O.decode_svga_payload_profiled=="function"?O.decode_svga_payload_profiled(B):O.decode_svga_payload(B),g=AB()-A,Q=typeof O.take_svga_payload_profile=="function"?O.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 gg(B,A,I){if(!O)return null;try{return O.build_batch_vertices(B,A,I)}catch(g){return null}}function EE(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[w,h]of t)a.set(w,h instanceof Uint8Array?h:new Uint8Array(h));else if(t&&typeof t=="object")for(const[w,h]of Object.entries(t))a.set(w,h instanceof Uint8Array?h:new Uint8Array(h));const s=((C=B.sprites)!=null?C:[]).map(iE),D=((E=B.audios)!=null?E:[]).map(w=>{var h,n,r,F,c;return{audioKey:(h=w.audio_key)!=null?h:"",startFrame:(n=w.start_frame)!=null?n:0,endFrame:(r=w.end_frame)!=null?r:0,startTime:(F=w.start_time)!=null?F:0,totalTime:(c=w.total_time)!=null?c:0}});return{version:(o=B.version)!=null?o:"",params:e,images:a,spriteTable:WB(s,e.frames),audios:D}}function iE(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,w,h,n;const r=Array.isArray(C.shapes)?C.shapes:[];let F;return r.length===0?(g=null,F=null):((E=r[0])==null?void 0:E.kind)==="keep"?F=g:(F=aE(r),g=F),{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:(w=C.transform.tx)!=null?w:0,ty:(h=C.transform.ty)!=null?h:0}:null,clipPath:(n=C.clip_path)!=null?n:"",shapes:F}});return{imageKey:(I=B.image_key)!=null?I:"",frames:Q}}function IB(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 oE(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:IB(B==null?void 0:B.fill),stroke:IB(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 eE(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 aE(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 w=[];for(const h of B){const n=h==null?void 0:h.kind;if(n!=="path"&&n!=="rect"&&n!=="ellipse")continue;const r={kind:n,pathData:(A=h.path_data)!=null?A:h.pathData,rect:h.rect?{x:(I=h.rect.x)!=null?I:0,y:(g=h.rect.y)!=null?g:0,width:(Q=h.rect.width)!=null?Q:0,height:(C=h.rect.height)!=null?C:0,cornerRadius:(o=(E=h.rect.corner_radius)!=null?E:h.rect.cornerRadius)!=null?o:0}:void 0,ellipse:h.ellipse?{x:(i=h.ellipse.x)!=null?i:0,y:(e=h.ellipse.y)!=null?e:0,radiusX:(t=(a=h.ellipse.radius_x)!=null?a:h.ellipse.radiusX)!=null?t:0,radiusY:(D=(s=h.ellipse.radius_y)!=null?s:h.ellipse.radiusY)!=null?D:0}:void 0,style:oE(h.style),transform:eE(h.transform)};w.push(r)}return w.length>0?w:null}var tE=Object.defineProperty,sE=(B,A,I)=>A in B?tE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Bg=(B,A,I)=>sE(B,typeof A!="symbol"?A+"":A,I);class zB{constructor(){Bg(this,"floatPoolA",null),Bg(this,"floatPoolB",null),Bg(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 KA(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 nA(B,A,I){return B+(A-B)*I}function HI(B,A,I){return B<A?A:B>I?I:B}let DE=0;function _B(){return`gift_${++DE}_${Date.now().toString(36)}`}const xI=8;function $B(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=wE(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(),w=t(),h=t(),n=t(),r=t(),F=t();kI(I,g,Q,D,w,h,n,r,F),o=h,i=n,g=r,Q=F}break}case"c":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),w=Q+t(),h=g+t(),n=Q+t(),r=g+t(),F=Q+t();kI(I,g,Q,D,w,h,n,r,F),o=h,i=n,g=r,Q=F}break}case"S":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,w=2*Q-i,h=t(),n=t(),r=t(),F=t();kI(I,g,Q,D,w,h,n,r,F),o=h,i=n,g=r,Q=F}break}case"s":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=2*g-o,w=2*Q-i,h=g+t(),n=Q+t(),r=g+t(),F=Q+t();kI(I,g,Q,D,w,h,n,r,F),o=h,i=n,g=r,Q=F}break}case"Q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=t(),w=t(),h=t(),n=t();gB(I,g,Q,D,w,h,n),o=D,i=w,g=h,Q=n}break}case"q":{for(;a<e.length&&!isNaN(parseFloat(e[a]));){const D=g+t(),w=Q+t(),h=g+t(),n=Q+t();gB(I,g,Q,D,w,h,n),o=D,i=w,g=h,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 wE(B){return B.replace(/([A-Za-z])/g," $1 ").replace(/,/g," ").trim().split(/\s+/).filter(A=>A.length>0)}function kI(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 gB(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 hE(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=nE(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],w=B[t],h=B[s],n=(w.x-D.x)*(h.y-D.y)-(w.y-D.y)*(h.x-D.x);if(!(C?n>0:n<0))continue;let F=!1;for(let c=0;c<i;c++)if(!(c===(e-1+i)%i||c===e||c===(e+1)%i)&&cE(B[g[c]],D,w,h)){F=!0;break}if(!F){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 nE(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 cE(B,A,I,g){const Q=Qg(B,A,I),C=Qg(B,I,g),E=Qg(B,g,A),o=Q<0||C<0||E<0,i=Q>0||C>0||E>0;return!(o&&i)}function Qg(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 dA(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 rE(B,A,I=2){const g=B.length;let Q=FE(B,0,g,I,!0);const C=[];if(!Q||Q.next===Q.prev)return C;let E,o,i;if(B.length>80*I){E=B[0],o=B[1];let e=E,a=o;for(let t=I;t<g;t+=I){const s=B[t],D=B[t+1];s<E&&(E=s),D<o&&(o=D),s>e&&(e=s),D>a&&(a=D)}i=Math.max(e-E,a-o),i=i!==0?32767/i:0}return nI(Q,C,I,E,o,i,0),C}function FE(B,A,I,g,Q){let C;if(Q===dE(B,A,I,g)>0)for(let E=A;E<I;E+=g)C=BB(E/g|0,B[E],B[E+1],C);else for(let E=I-g;E>=A;E-=g)C=BB(E/g|0,B[E],B[E+1],C);return C&&zI(C,C.next)&&(cI(C),C=C.next),C}function hI(B,A){if(!B)return B;A||(A=B);let I=B,g;do if(g=!1,!I.steiner&&(zI(I,I.next)||Z(I.prev,I,I.next)===0)){if(cI(I),I=A=I.prev,I===I.next)break;g=!0}else I=I.next;while(g||I!==A);return A}function nI(B,A,I,g,Q,C,E){if(!B)return;!E&&C&&NE(B,g,Q,C);let o=B;for(;B.prev!==B.next;){const i=B.prev,e=B.next;if(C?RE(B,g,Q,C):GE(B)){A.push(i.i,B.i,e.i),cI(B),B=e.next,o=e.next;continue}if(B=e,B===o){E?E===1?(B=yE(hI(B),A),nI(B,A,I,g,Q,C,2)):E===2&&ME(B,A,I,g,Q,C):nI(hI(B),A,I,g,Q,C,1);break}}}function GE(B){const A=B.prev,I=B,g=B.next;if(Z(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 w=g.next;for(;w!==A;){if(w.x>=a&&w.x<=s&&w.y>=t&&w.y<=D&&gI(Q,o,C,i,E,e,w.x,w.y)&&Z(w.prev,w,w.next)>=0)return!1;w=w.next}return!0}function RE(B,A,I,g){const Q=B.prev,C=B,E=B.next;if(Z(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),w=Math.min(a,t,s),h=Math.max(o,i,e),n=Math.max(a,t,s),r=Sg(D,w,A,I,g),F=Sg(h,n,A,I,g);let c=B.prevZ,G=B.nextZ;for(;c&&c.z>=r&&G&&G.z<=F;){if(c.x>=D&&c.x<=h&&c.y>=w&&c.y<=n&&c!==Q&&c!==E&&gI(o,a,i,t,e,s,c.x,c.y)&&Z(c.prev,c,c.next)>=0||(c=c.prevZ,G.x>=D&&G.x<=h&&G.y>=w&&G.y<=n&&G!==Q&&G!==E&&gI(o,a,i,t,e,s,G.x,G.y)&&Z(G.prev,G,G.next)>=0))return!1;G=G.nextZ}for(;c&&c.z>=r;){if(c.x>=D&&c.x<=h&&c.y>=w&&c.y<=n&&c!==Q&&c!==E&&gI(o,a,i,t,e,s,c.x,c.y)&&Z(c.prev,c,c.next)>=0)return!1;c=c.prevZ}for(;G&&G.z<=F;){if(G.x>=D&&G.x<=h&&G.y>=w&&G.y<=n&&G!==Q&&G!==E&&gI(o,a,i,t,e,s,G.x,G.y)&&Z(G.prev,G,G.next)>=0)return!1;G=G.nextZ}return!0}function yE(B,A){let I=B;do{const g=I.prev,Q=I.next.next;!zI(g,Q)&&AQ(g,I,I.next,Q)&&mI(g,Q)&&mI(Q,g)&&(A.push(g.i,I.i,Q.i),cI(I),cI(I.next),I=B=Q),I=I.next}while(I!==B);return hI(I)}function ME(B,A,I,g,Q,C){let E=B;do{let o=E.next.next;for(;o!==E.prev;){if(E.i!==o.i&&UE(E,o)){let i=KE(E,o);E=hI(E,E.next),i=hI(i,i.next),nI(E,A,I,g,Q,C,0),nI(i,A,I,g,Q,C,0);return}o=o.next}E=E.next}while(E!==B)}function NE(B,A,I,g){let Q=B;do Q.z===0&&(Q.z=Sg(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,SE(Q)}function SE(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 Sg(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 kE(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 gI(B,A,I,g,Q,C,E,o){return!(B===E&&A===o)&&kE(B,A,I,g,Q,C,E,o)}function UE(B,A){return B.next.i!==A.i&&B.prev.i!==A.i&&!lE(B,A)&&(mI(B,A)&&mI(A,B)&&YE(B,A)&&(Z(B.prev,B,A.prev)||Z(B,A.prev,A))||zI(B,A)&&Z(B.prev,B,B.next)>0&&Z(A.prev,A,A.next)>0)}function Z(B,A,I){return(A.y-B.y)*(I.x-A.x)-(A.x-B.x)*(I.y-A.y)}function zI(B,A){return B.x===A.x&&B.y===A.y}function AQ(B,A,I,g){const Q=lI(Z(B,A,I)),C=lI(Z(B,A,g)),E=lI(Z(I,g,B)),o=lI(Z(I,g,A));return!!(Q!==C&&E!==o||Q===0&&UI(B,I,A)||C===0&&UI(B,g,A)||E===0&&UI(I,B,g)||o===0&&UI(I,A,g))}function UI(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 lI(B){return B>0?1:B<0?-1:0}function lE(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&&AQ(I,I.next,B,A))return!0;I=I.next}while(I!==B);return!1}function mI(B,A){return Z(B.prev,B,B.next)<0?Z(B,A,B.next)>=0&&Z(B,B.prev,A)>=0:Z(B,A,B.prev)<0||Z(B,B.next,A)<0}function YE(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 KE(B,A){const I=kg(B.i,B.x,B.y),g=kg(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 BB(B,A,I,g){const Q=kg(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 cI(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 kg(B,A,I){return{i:B,x:A,y:I,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function dE(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 JE(B,A){const I=$B(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=rE(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 IQ=`function RA(A, I, g = 2) {
|
|
662
662
|
const B = A.length;
|
|
663
663
|
let Q = hA(A, 0, B, g, !0);
|
|
664
664
|
const E = [];
|
|
@@ -1381,7 +1381,7 @@ IA.onmessage = (A) => {
|
|
|
1381
1381
|
!I || I.type !== "build-svga-clip-meshes" || gI.push(() => QI(I));
|
|
1382
1382
|
};
|
|
1383
1383
|
//# sourceMappingURL=svga-clip-worker-wDNYvazX.js.map
|
|
1384
|
-
`,QB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",IQ],{type:"text/javascript;charset=utf-8"});function LE(B){let A;try{if(A=QB&&(self.URL||self.webkitURL).createObjectURL(QB),!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(IQ),{type:"module",name:B==null?void 0:B.name})}}function IA(B="Operation aborted"){const A=new Error(B);return A.name="AbortError",A}function SA(B){return B instanceof Error?B.name==="AbortError"?!0:"cause"in B&&SA(B.cause):!1}function Y(B,A){if(B!=null&&B.aborted)throw IA(A)}var fE=Object.defineProperty,HE=(B,A,I)=>A in B?fE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Cg=(B,A,I)=>HE(B,typeof A!="symbol"?A+"":A,I);class uE{constructor(){Cg(this,"active",0),Cg(this,"maxConcurrent",1),Cg(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(IA("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(IA("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(IA("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(IA("SVGA worker task aborted"));continue}this.active++,I.resolve(this.createRelease())}}}}const qg=new uE;function pg(B){B!=null&&qg.configure(B)}function xg(B,A){return qg.run(B,A)}function qE(B){return qg.acquire(B)}let EI=null,pE=1;const rI=new Map;function gQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function bI(B,A,I){EI===B&&(EI=null);try{B.terminate()}catch(g){}for(const[g,Q]of rI)Q.owner===B&&(rI.delete(g),gQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA clip worker restarted after another request was canceled")))}function xE(){if(!EI){const B=new LE;EI=B,B.addEventListener("message",A=>{var I;const g=A.data;if(!g||g.type!=="build-svga-clip-meshes-result")return;const Q=rI.get(g.id);if(!Q||Q.owner!==B)return;if(rI.delete(g.id),gQ(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=>{bI(B,new Error(A.message||"SVGA clip worker error"))}),B.addEventListener("messageerror",()=>{bI(B,new Error("SVGA clip worker message deserialization failed"))})}return EI}function BQ(){return typeof Worker!="undefined"}function mE(B,A={}){return BQ()?xg(()=>{Y(A.signal,"SVGA clip worker task aborted");const I=xE(),g=pE++;return new Promise((Q,C)=>{var E,i;const o={owner:I,signal:A.signal,resolve:Q,reject:C};if(o.onAbort=()=>{bI(I,IA("SVGA clip worker task aborted"),g)},rI.set(g,o),(E=A.signal)!=null&&E.aborted){o.onAbort();return}(i=A.signal)==null||i.addEventListener("abort",o.onAbort,{once:!0});try{I.postMessage({type:"build-svga-clip-meshes",id:g,paths:B,workerTimeSliceMs:A.workerTimeSliceMs})}catch(e){bI(I,e instanceof Error?e:new Error(String(e)))}})},A.signal):Promise.reject(new Error("SVGA clip worker unavailable"))}var bE=Object.defineProperty,TE=(B,A,I)=>A in B?bE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,YI=(B,A,I)=>TE(B,typeof A!="symbol"?A+"":A,I);const QQ=1e3/60,WE=2,ZE=12,VE=.25;function uI(){return typeof performance!="undefined"?performance.now():Date.now()}function vE(){return new Promise(B=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>B());return}setTimeout(B,0)}).then(uI)}function XE(B,A={}){var I,g,Q;const C=Math.max(.1,(I=A.minBudgetMs)!=null?I:WE),E=Math.max(C,(g=A.maxBudgetMs)!=null?g:ZE),i=Math.max(.05,Math.min(.95,(Q=A.frameFraction)!=null?Q:.5)),o=Number.isFinite(B)&&B>0?B:QQ;return Math.max(C,Math.min(E,o*i))}function OE(B,A){return!Number.isFinite(A)||A<4||A>100?B:B+(A-B)*VE}class jE{constructor(){YI(this,"frameIntervalMs",QQ),YI(this,"lastFrameAt",-1),YI(this,"sliceStartedAt",uI()),YI(this,"nextFramePromise",null)}budgetMs(A={}){return XE(this.frameIntervalMs,A)}shouldYield(A={}){return uI()-this.sliceStartedAt>=this.budgetMs(A)}async yield(){this.nextFramePromise||(this.nextFramePromise=vE().then(A=>{this.lastFrameAt>=0&&(this.frameIntervalMs=OE(this.frameIntervalMs,A-this.lastFrameAt)),this.lastFrameAt=A,this.sliceStartedAt=uI()}).finally(()=>{this.nextFramePromise=null})),await this.nextFramePromise}}const Eg=new jE;function gA(B={}){return{get budgetMs(){return Eg.budgetMs(B)},shouldYield(){return Eg.shouldYield(B)},yield(){return Eg.yield()}}}var PE=Object.defineProperty,zE=(B,A,I)=>A in B?PE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,H=(B,A,I)=>zE(B,typeof A!="symbol"?A+"":A,I);const ig=2048,og={x:0,y:0,w:1,h:1},mg=class Ug{constructor(){H(this,"pool",new zB),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(YA)),H(this,"instancedFrameDataScratch",new Float32Array(ig*YA)),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)}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,i;const o=A.spriteTable.clipPaths.filter(s=>s.length>0);if(o.length===0)return 0;const e=o.filter(s=>!this.clipMeshCache.has(s));if(e.length===0)return o.length;if(I.useWorker!==!1&&BQ())try{const s=await mE(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 o.length}catch(s){if(SA(s))throw s;console.warn("[GiftStage:SVGA] clip mesh worker failed, using main thread",s)}const a=gA({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"),(i=I.checkActive)==null||i.call(I));return e.length>0&&console.info(`[GiftStage:SVGA] clip mesh main prewarm paths=${e.length} built=${t}`),o.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 i of I){const o=i.videoEntity,e=o.params.viewBoxWidth,a=o.params.viewBoxHeight,t=DA(i),s=dA(i,e,a),D=s.scaleX,w=s.scaleY,h=i.width*i.scale,n=i.height*i.scale,r=t==="cover"?h:Math.min(s.width,h),F=t==="cover"?n:Math.min(s.height,n),c=i.x,G=i.y,y=i.x,M=i.y;C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),A.setScissor(c,G,r,F),this.slotScissor.x=c,this.slotScissor.y=G,this.slotScissor.w=r,this.slotScissor.h=F,i.x=y+s.offsetX,i.y=M+s.offsetY;for(let R=0;R<o.spriteTable.spriteCount;R++){const N=o.spriteTable,S=i.currentFrame;if(S<0||S>=N.frameCount)continue;const U=(R*N.frameCount+S)*ug;if(N.frameData[U+8]*i.opacity<.05)continue;const K=uC(N,R,S),d=!!K&&K.length>0,l=this.acquireSpriteWork(i,R,N.frameData,U,D,w),J=(g=N.imageKeys[R])!=null?g:"",q=this.resolveSpriteTextureInto(i,J,l);if(!q&&!d){this.spriteWorkCursor--;continue}const u=qC(N,R,S),f=u.length>0?this.getClipMesh(u):null;if(d){C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),q&&(f&&f.indices.length>0?this.drawClippedSprite(A,l,f,Q):this.drawSingleSprite(A,l,Q)),this.drawShapeFrame(A,l,K,f,Q);continue}f&&f.indices.length>0?(C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),this.drawClippedSprite(A,l,f,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>=ig&&(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),i.x=y,i.y=M}C.length>0&&this.drawBatch(A,C,E,Q),C.length=0,this.releaseSpriteWorks(),A.resetScissor()}acquireSpriteWork(A,I,g,Q,C,E){let i=this.spriteWorkPool[this.spriteWorkCursor];return i||(i={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:og,override:null,sx:C,sy:E},this.spriteWorkPool[this.spriteWorkCursor]=i),this.spriteWorkCursor++,i.slot=A,i.spriteIndex=I,i.layoutW=g[Q],i.layoutH=g[Q+1],i.a=g[Q+2],i.b=g[Q+3],i.c=g[Q+4],i.d=g[Q+5],i.tx=g[Q+6],i.ty=g[Q+7],i.alpha=g[Q+8],i.sx=C,i.sy=E,i}releaseSpriteWorks(){for(let A=0;A<this.spriteWorkCursor;A++){const I=this.spriteWorkPool[A];I.slot=null,I.handle=null,I.rect=og,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=KA(0,this.canvasWidth,this.canvasHeight,0,-1,1),this.projCache)}drawBatch(A,I,g,Q){const C=Math.min(I.length,ig);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*YA);for(let r=0;r<C;r++)this.packFrameData(E,r,I[r]);const i=C*pA*sA,o=C*QI,e=this.pool.getFloat32B(i),a=this.pool.getUint32(o),t=new Float32Array(E.buffer,0,C*YA),s=new Float32Array(e.buffer,0,i),D=new Uint32Array(a.buffer,0,o);(!mA()||gg(t,s,D)===null)&&LI(t,s,D);const w=this.batchDrawCursor++,h=this.ensureVertexBuffer(A,w,s),n=this.ensureIndexBuffer(A,w,D);A.draw({shader:"svga-batch-premul",vertexBuffer:h,indexBuffer:n,indexCount:o,textures:[g],uniforms:{u_projection:Q,u_atlas:0}})}drawBatchInstancedWebGL(A,I,g,Q,C){this.ensureInstancedQuadBuffers(A);const E=this.instancedFrameDataScratch;for(let i=0;i<g;i++)this.packFrameData(E,i,I[i]);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){const{slot:C,sx:E,sy:i,a:o,b:e,c:a,d:t,tx:s,ty:D}=I,w=o*E,h=e*i,n=a*E,r=t*i,F=s*E+C.x,c=D*i+C.y,G=this.getClipRect(g);if(G&&EB(w,h,n,r)){this.applyClipRectScissor(A,G,w,r,F,c)&&this.drawSingleSprite(A,I,Q),this.restoreSlotScissor(A);return}const y=this.ensureClipMeshBuffers(A,g),M=this.packClipTransform(w,h,n,r,F,c),R={shader:"clip-mask",vertexBuffer:y.vertexBuf,indexBuffer:y.indexBuf,indexCount:g.indices.length,textures:[],uniforms:{u_projection:Q,u_transform:M},stencil:"write"};if(A.draw(R),A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const f=this.instancedFrameDataScratch;this.packFrameData(f,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:f,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"}),this.clearClipStencil(A,g,y,M,Q);return}const N=this.clipFrameDataScratch;this.packFrameData(N,0,I);const S=pA*sA,U=QI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<S)&&(this.clipSpriteVertsScratch=new Float32Array(S)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<U)&&(this.clipSpriteIndicesScratch=new Uint32Array(U));const K=this.clipSpriteVertsScratch,d=this.clipSpriteIndicesScratch;(!mA()||gg(N,K,d)===null)&&LI(N,K,d);const l=this.clipSpriteDrawCursor++,J=this.ensureClipSpriteVertexBuffer(A,l,K.subarray(0,S)),q=this.ensureClipSpriteIndexBuffer(A,l,d.subarray(0,U)),u={shader:"svga-batch-premul",vertexBuffer:J,indexBuffer:q,indexCount:U,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"};A.draw(u),this.clearClipStencil(A,g,y,M,Q)}applyClipRectScissor(A,I,g,Q,C,E){const i=g*I.x+C,o=Q*I.y+E,e=this.slotScissor,a=Math.max(i,e.x),t=Math.max(o,e.y),s=Math.min(i+g*I.w,e.x+e.w),D=Math.min(o+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=_E(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 i=this.clipTransformMat;return i[0]=A,i[1]=I,i[4]=g,i[5]=Q,i[12]=C,i[13]=E,i}drawSingleSprite(A,I,g){if(A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const s=this.instancedFrameDataScratch;this.packFrameData(s,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:s,textures:[I.handle],uniforms:{u_projection:g,u_atlas:0}});return}const Q=this.clipFrameDataScratch;this.packFrameData(Q,0,I);const C=pA*sA,E=QI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<C)&&(this.clipSpriteVertsScratch=new Float32Array(C)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<E)&&(this.clipSpriteIndicesScratch=new Uint32Array(E));const i=this.clipSpriteVertsScratch,o=this.clipSpriteIndicesScratch;(!mA()||gg(Q,i,o)===null)&&LI(Q,i,o);const e=this.clipSpriteDrawCursor++,a=this.ensureClipSpriteVertexBuffer(A,e,i.subarray(0,C)),t=this.ensureClipSpriteIndexBuffer(A,e,o.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"})}packFrameData(A,I,g){const{slot:Q,layoutW:C,layoutH:E,a:i,b:o,c:e,d:a,tx:t,ty:s,alpha:D,rect:w,override:h,sx:n,sy:r}=g;let F=C||(h==null?void 0:h.logicalWidth)||0,c=E||(h==null?void 0:h.logicalHeight)||0,G=0,y=0;if((h==null?void 0:h.mode)==="dynamic"){const l=C||h.logicalWidth,J=E||h.logicalHeight;F=h.logicalWidth,c=h.logicalHeight,G=Math.max(0,(l-F)*.5),y=Math.max(0,(J-c)*.5)}const M=I*YA,R=i*n,N=o*r,S=e*n,U=a*r,K=t*n+R*G+S*y+Q.x,d=s*r+N*G+U*y+Q.y;A[M]=F,A[M+1]=c,A[M+2]=R,A[M+3]=N,A[M+4]=S,A[M+5]=U,A[M+6]=K,A[M+7]=d,A[M+8]=D*Q.opacity,A[M+9]=w.x,A[M+10]=w.y,A[M+11]=w.x+w.w,A[M+12]=w.y+w.h}resolveSpriteTextureInto(A,I,g){var Q,C,E,i,o;const e=(C=(Q=A.svgaSlotTextures)==null?void 0:Q.get(I))!=null?C:null;if(e)return g.handle=e.texture,g.rect=og,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=(o=(i=a.atlasTextureHandles)==null?void 0:i[s])!=null?o:a.atlasTextureHandle;return!t||!D?!1:(g.handle=D,g.rect=t,g.override=null,!0)}drawShapeFrame(A,I,g,Q,C){const E=this.getShapeMesh(g);if(!E||E.indices.length===0)return;const{slot:i,sx:o,sy:e,a,b:t,c:s,d:D,tx:w,ty:h,alpha:n}=I,r=this.getWhiteTexture(A),F=a*o,c=t*e,G=s*o,y=D*e,M=w*o+i.x,R=h*e+i.y,N=E.vertices,S=N.length/6*sA;(!this.shapeVertsScratch||this.shapeVertsScratch.length<S)&&(this.shapeVertsScratch=new Float32Array(S));const U=this.shapeVertsScratch;for(let f=0,W=0;f<N.length;f+=6,W+=sA){const iA=N[f],RA=N[f+1];U[W]=F*iA+G*RA+M,U[W+1]=c*iA+y*RA+R,U[W+2]=0,U[W+3]=N[f+2],U[W+4]=N[f+3],U[W+5]=N[f+4],U[W+6]=N[f+5]*n*i.opacity,U[W+7]=.5,U[W+8]=.5}let K=!1,d=null,l=null;if(Q&&Q.indices.length>0){const f=this.getClipRect(Q);if(f&&EB(F,c,G,y)){if(!this.applyClipRectScissor(A,f,F,y,M,R)){this.restoreSlotScissor(A);return}K=!0}else d=this.ensureClipMeshBuffers(A,Q),l=this.packClipTransform(F,c,G,y,M,R),A.draw({shader:"clip-mask",vertexBuffer:d.vertexBuf,indexBuffer:d.indexBuf,indexCount:Q.indices.length,textures:[],uniforms:{u_projection:C,u_transform:l},stencil:"write"})}const J=this.clipSpriteDrawCursor++,q=this.ensureClipSpriteVertexBuffer(A,J,U.subarray(0,S)),u=this.ensureClipSpriteIndexBuffer(A,J,E.indices);A.draw({shader:"svga-batch-premul",vertexBuffer:q,indexBuffer:u,indexCount:E.indices.length,textures:[r],uniforms:{u_projection:C,u_atlas:0},stencil:d?"test":"none"}),d&&l&&Q&&this.clearClipStencil(A,Q,d,l,C),K&&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 i of E){if(i.length<2)continue;const o=i.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&&o.length>=3&&this.appendFill(o,Q,I,g),C&&C.a>0&&A.style.strokeWidth>.01&&this.appendStroke(o,C,A.style.strokeWidth,I,g)}}buildShapeSubPaths(A){var I;if(A.kind==="path")return $B((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 i=E/C*Math.PI*2;Q.push({x:g.x+Math.cos(i)*g.radiusX,y:g.y+Math.sin(i)*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 o of C)g.push(o.x,o.y,this.clamp01(I.r),this.clamp01(I.g),this.clamp01(I.b),this.clamp01(I.a));const i=hE(C);if(i.length>=(C.length-2)*3)for(const o of i)Q.push(E+o);else for(let o=1;o<C.length-1;o++)Q.push(E,E+o,E+o+1)}appendStroke(A,I,g,Q,C){A=this.cleanupPoints(A);const E=g*.5;for(let i=0;i<A.length;i++){const o=A[i],e=A[(i+1)%A.length],a=e.x-o.x,t=e.y-o.y,s=Math.hypot(a,t);if(s<=1e-4)continue;const D=-t/s*E,w=a/s*E,h=Q.length/6,n=this.clamp01(I.r),r=this.clamp01(I.g),F=this.clamp01(I.b),c=this.clamp01(I.a);Q.push(o.x-D,o.y-w,n,r,F,c),Q.push(o.x+D,o.y+w,n,r,F,c),Q.push(e.x+D,e.y+w,n,r,F,c),Q.push(e.x-D,e.y-w,n,r,F,c),C.push(h,h+1,h+2,h+2,h+3,h)}}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,i=C.y-Q.y;if(E*E+i*i<=g)continue}I.push(C),Q=C}if(I.length>2){const C=I[0],E=I[I.length-1],i=C.x-E.x,o=C.y-E.y;i*i+o*o<=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=JE(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(mg,"INSTANCED_QUAD_VERTS",new Float32Array([0,0,1,0,1,1,0,1]));H(mg,"INSTANCED_QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let CQ=mg;const CB=1e-4;function EB(B,A,I,g){const Q=Math.max(Math.abs(B),Math.abs(g));return B>0&&g>0&&Math.abs(A)<=Q*CB&&Math.abs(I)<=Q*CB}function _E(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,i=C-g;if(!(E>0&&i>0))return null;const o=Math.max(E,i)*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)<=o,w=Math.abs(t-Q)<=o,h=Math.abs(s-g)<=o,n=Math.abs(s-C)<=o;if(!D&&!w||!h&&!n)return null;e|=1<<((D?0:1)|(h?0:2))}return e!==15?null:{x:I,y:g,w:E,h:i}}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,oA=(B,A,I)=>Ai(B,typeof A!="symbol"?A+"":A,I);const Ii=4,gi=128*1024*1024,Bi=2048*1024*1024,Qi="gift-stage-resource-cache",Ci=2,BA="resources",eg="byUpdatedAt",Ei=3e4;class ii{constructor(A){oA(this,"maxConcurrent"),oA(this,"active",0),oA(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 oi(){return typeof indexedDB!="undefined"}function FA(B){return B.length*2}function ei(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+=FA(E.key)+16;for(const E of B.audios)Q+=FA(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+=FA(E);for(const E of C.clipPaths)Q+=FA(E);for(const E of C.shapesTable)for(const i of E)Q+=FA((g=i.pathData)!=null?g:"")+96;return Q}function ag(B){return typeof B=="string"?FA(B):B.byteLength}class ai{constructor(){oA(this,"limiter",new ii(Ii)),oA(this,"pending",new Map),oA(this,"memory",new Map),oA(this,"memoryBytes",0),oA(this,"maxMemoryBytes",gi),oA(this,"maxPersistentBytes",Bi),oA(this,"dbPromise",null),oA(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)):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 i=await E.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,FA(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 i=await E.text();return this.setMemory(g,"text",i,FA(i)),this.setPersistent(g,"text",i),i}))}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,FA(C)),E}getSVGAWorkerPayload(A){return this.getMemory(A,"svga-payload")}setSVGAWorkerPayload(A,I){this.setMemory(A,"svga-payload",I,ei(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 oi()?(this.dbPromise||(this.dbPromise=new Promise(A=>{try{const I=indexedDB.open(Qi,Ci);I.onupgradeneeded=()=>{const g=I.result;let Q;g.objectStoreNames.contains(BA)?Q=I.transaction.objectStore(BA):Q=g.createObjectStore(BA,{keyPath:"key"}),Q.indexNames.contains(eg)||Q.createIndex(eg,"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(BA,"readonly");C.onerror=()=>Q(null),C.onabort=()=>Q(null);const i=C.objectStore(BA).get(A);i.onsuccess=()=>{const o=i.result;if(!o||o.kind!==I){Q(null);return}const e=o.sizeBytes||ag(o.value);if(Date.now()-o.updatedAt>=Ei&&this.touchPersistent({...o,sizeBytes:e,updatedAt:Date.now()}),I==="arrayBuffer"){Q(o.value);return}Q(o.value)},i.onerror=()=>Q(null)}catch(C){Q(null)}}):null}async setPersistent(A,I,g){const Q=await this.openDb();if(!Q)return;const C=ag(g);await new Promise(E=>{try{const i=Q.transaction(BA,"readwrite");i.onerror=()=>E(),i.onabort=()=>E();const e=i.objectStore(BA).put({key:A,kind:I,value:g,sizeBytes:C,updatedAt:Date.now()});e.onsuccess=()=>E(),e.onerror=()=>E()}catch(i){E()}}),this.schedulePersistentTrim()}async touchPersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction(BA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(BA).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(BA,"readwrite");g.oncomplete=()=>I(),g.onerror=()=>I(),g.onabort=()=>I();const Q=g.objectStore(BA),C=Q.index(eg),E=[];let i=0;const o=C.openCursor();o.onsuccess=()=>{const e=o.result;if(e){const t=e.value,s=t.sizeBytes||ag(t.value);i+=s,E.push({key:t.key,sizeBytes:s}),e.continue();return}if(i<=this.maxPersistentBytes)return;let a=i;for(const t of E){if(a<=this.maxPersistentBytes)break;Q.delete(t.key),a-=t.sizeBytes}},o.onerror=()=>I()}catch(g){I()}})}async deletePersistent(A){const I=await this.openDb();I&&await new Promise(g=>{try{const Q=I.transaction(BA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(BA).delete(A);E.onsuccess=()=>g(),E.onerror=()=>g()}catch(Q){g()}})}}const aA=new ai;function ti(B){aA.configure(B)}function lg(B){return aA.runLimited(B)}function ZA(B,A){return aA.fetchArrayBuffer(B,A)}function si(B,A){return aA.fetchJSON(B,A)}function bg(B){return aA.getSVGAWorkerPayload(B)}function iB(B,A){aA.setSVGAWorkerPayload(B,A)}function Di(B,A){return aA.getMemoryValue(B,A)}function EQ(B,A,I,g){aA.setMemoryValue(B,A,I,g)}function wi(B){return aA.getPersistedArrayBuffer(B)}function hi(B,A){return aA.setPersistedArrayBuffer(B,A)}function ni(B){return aA.deletePersistedValue(B)}async function Yg(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 JA(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 jA(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 ci=Object.defineProperty,ri=(B,A,I)=>A in B?ci(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,QA=(B,A,I)=>ri(B,typeof A!="symbol"?A+"":A,I);class iQ{constructor(){QA(this,"frameInfo",new Map),QA(this,"pending",new Set),QA(this,"lastHandle",new Map),QA(this,"started",new Set),QA(this,"firstUploaded",new Set),QA(this,"forceTimeFallback",new Set),QA(this,"lastArmAt",new Map),QA(this,"lastCallbackAt",new Map),QA(this,"lastProgressAt",new Map),QA(this,"lastRecoveryAt",new Map),QA(this,"stallLogged",new Set),QA(this,"stagnationLogged",new Set),QA(this,"lastTimeFallback",new Map)}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),i=C!=null?C:E,o=this.lastTimeFallback.get(A),e=o!==void 0&&Math.abs(g-o)>1e-4;return this.firstUploaded.has(A)&&i!==void 0&&Q-i>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-i),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-i)}),!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,i=Number.isFinite(E)&&E>0,o=i?Math.min(Math.max(0,E-.001),g+.001):g;try{i&&o>g&&(I.currentTime=o)}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:o,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 Fi=new Float32Array([0,0,1,1]);function TI(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 Gi=3;function Ri(){return typeof document!="undefined"&&typeof document.createElement=="function"}function bA(B,A){if(!Ri())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 TA(B,A){const I=B.getContext("2d",A);if(!I)throw new Error("Failed to acquire 2D canvas context");return I}function oQ(B){return!!B&&typeof B=="object"&&typeof B.text=="string"}function yi(B){return!!B&&typeof B=="object"&&"image"in B}function eQ(B){return!!B&&typeof B=="object"&&"image"in B}function oB(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 WI(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 WA(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 Kg(B){if(typeof ImageData!="undefined"&&B instanceof ImageData){const A=bA(B.width,B.height);return TA(A).putImageData(B,0,0),A}return B}function Mi(B){const A=/^\[(.+)\]$/.exec(B);return A?A[1]:B}function Ni(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 VA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function Si(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 ki(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 VA(g)?g:void 0}function eB(B,A,I,g){const Q=B.measureText(A),C=Q.width/I,E=(Q.actualBoundingBoxAscent||0)+(Q.actualBoundingBoxDescent||0),i=E>0?E/I:g;return{width:Math.max(1,C),height:Math.max(1,i)}}function Ui(B,A,I,g,Q,C,E,i){let o=Math.max(1,Math.min(E,i)),e=Math.max(o,i),a=o,t={width:1,height:1};for(let s=0;s<16;s++){const D=(o+e)*.5;B.font=g(D);const w=eB(B,A,I,D);w.width<=Q&&w.height<=C?(a=D,t=w,o=D):e=D}return B.font=g(a),t=eB(B,A,I,a),{fontSize:a,metrics:t}}function aQ(B,A,I,g){var Q,C,E,i,o,e;const a=Math.max(1,g.scale||1),t=Math.max(1,Math.round(B)),s=Math.max(1,Math.round(A)),D=bA(1,1),w=TA(D),h=(Q=g.color)!=null?Q:"#ffffff",n=Math.max(0,(C=g.padding)!=null?C:2),r=Math.max(1,t-n*2),F=Math.max(1,s-n*2),c=Math.max(1,(o=(i=(E=g.maxFontSize)!=null?E:g.fontSize)!=null?i:ki(g.fontStyle))!=null?o:Math.max(8,F)),G=Math.max(1,Math.min((e=g.minFontSize)!=null?e:8,c)),y=h,M=`${g.style==="b"?"bold ":""}${c*a}px Arial`,R=Ni(g.fontStyle,M,y),N=J=>Si(R.font,J*a),S=Ui(w,I,a,N,r,F,G,VA(g.fontSize)?Math.min(g.fontSize,c):c),U=g.sizing==="intrinsic"?Math.max(1,Math.min(t,Math.ceil(S.metrics.width+n*2))):t,K=g.sizing==="intrinsic"?Math.max(1,Math.min(s,Math.ceil(S.metrics.height+n*2))):s,d=bA(U*a,K*a),l=TA(d);return l.clearRect(0,0,d.width,d.height),l.textAlign="center",l.textBaseline="middle",l.font=N(S.fontSize),l.fillStyle=R.color,l.fillText(I,d.width/2,d.height/2),{canvas:d,logicalWidth:U,logicalHeight:K}}async function li(B,A,I,g){var Q,C,E,i,o,e;const a=B.spriteTable,t=new Set(A),s=new Map;for(let h=0;h<a.imageKeys.length;h++){const n=a.imageKeys[h];t.has(n)&&s.set(n,h)}const D=new Map,{frameCount:w}=a;for(const h of A){const n=s.get(h);if(n==null){const M=B.atlasRects.get(h);D.set(h,{width:(M==null?void 0:M.w)||1,height:(M==null?void 0:M.h)||1,renderScale:1});continue}let r=0,F=0,c=Number.POSITIVE_INFINITY;for(let M=0;M<w;M++){const R=(n*w+M)*9,N=(Q=a.frameData[R])!=null?Q:0,S=(C=a.frameData[R+1])!=null?C:0,U=(E=a.frameData[R+2])!=null?E:1,K=(i=a.frameData[R+3])!=null?i:0,d=(o=a.frameData[R+4])!=null?o:0,l=(e=a.frameData[R+5])!=null?e:1;if(r=Math.max(r,N),F=Math.max(F,S),N>0&&S>0){const J=Math.abs(U)*N+Math.abs(d)*S,q=Math.abs(K)*N+Math.abs(l)*S,u=J>0?J/N:1,f=q>0?q/S:1,W=Math.min(u||1,f||1);VA(W)&&(c=Math.min(c,W))}M+1<w&&I.shouldYield()&&(await I.yield(),g==null||g())}const G=VA(c)?c:1,y=B.atlasRects.get(h);D.set(h,{width:r||(y==null?void 0:y.w)||1,height:F||(y==null?void 0:y.h)||1,renderScale:G})}return D}function tg(B,A){if(VA(B))return!VA(A)||A===1?B:B/A}async function Yi(B,A,I,g=1){var Q,C,E;if(oQ(B)){const o=(Q=B.mode)!=null?Q:"dynamic",e=aQ(A,I,B.text,{scale:(C=B.scale)!=null?C:Gi,color:B.color,style:B.style,fontStyle:B.fontStyle,fontSize:tg(B.fontSize,g),minFontSize:tg(B.minFontSize,g),maxFontSize:tg(B.maxFontSize,g),padding:B.padding,sizing:o==="dynamic"?"intrinsic":"box"});return{source:e.canvas,mode:o,logicalWidth:e.logicalWidth,logicalHeight:e.logicalHeight}}if(yi(B)){const o=typeof B.image=="string"?await WI(B.image):B.image,e=WA(o);return{source:o,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 o=await WI(B),e=WA(o);return{source:o,mode:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}const i=WA(B);return{source:B,mode:"replace",logicalWidth:Math.max(1,i.width||A),logicalHeight:Math.max(1,i.height||I)}}async function Ki(B,A,I,g={}){var Q,C,E;const i=new Map;if(!I)return i;const o=Object.entries(I),e=gA({maxBudgetMs:g.frameBudgetMs}),a=await li(A,o.map(([t])=>t),e,g.checkActive);for(let t=0;t<o.length;t++){const[s,D]=o[t];(Q=g.checkActive)==null||Q.call(g);const w=(C=a.get(s))!=null?C:{width:1,height:1,renderScale:1},h=await Yi(D,w.width,w.height,w.renderScale),n=WA(h.source),r=n.width||w.width,F=n.height||w.height,c=B.createTexture(h.source,{width:r,height:F,filter:"linear",premultiplyAlpha:!0});i.set(s,{texture:c,mode:h.mode,logicalWidth:h.logicalWidth,logicalHeight:h.logicalHeight}),t+1<o.length&&e.shouldYield()&&(await e.yield(),(E=g.checkActive)==null||E.call(g))}return i}function di(B,A){var I,g;if(!A)return;const Q=String(B.srcId),C=B.srcTag,E=Mi(B.srcTag);return(g=(I=A[C])!=null?I:A[E])!=null?g:A[Q]}function Ji(B,A,I){var g,Q,C,E,i,o;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=aQ(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:(i=A.style)!=null?i:B.style,fontStyle:typeof A=="string"?B.fontStyle:(o=A.fontStyle)!=null?o: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 Li(B,A){var I;const g=String(A);let Q=0,C=0;for(const E of(I=B.frame)!=null?I:[])for(const i of E.obj){if(String(i.srcId)!==g)continue;const[,,o,e]=i.frame;Q=Math.max(Q,o),C=Math.max(C,e)}return Q>0&&C>0?{width:Q,height:C}:void 0}async function fi(B){return typeof B=="string"?WI(B):eQ(B)?typeof B.image=="string"?WI(B.image):Kg(B.image):Kg(B)}async function Hi(B,A){const I=new Map;if(!B.src||B.src.length===0||!A)return I;for(const g of B.src){const Q=di(g,A);if(Q==null)continue;if(g.srcType==="txt"){if(oB(Q)){const e=Kg(Q),a=WA(e);I.set(String(g.srcId),{source:e,width:Math.max(1,a.width),height:Math.max(1,a.height)});continue}const o=Ji(g,typeof Q=="string"||oQ(Q)?Q:String(Q),Li(B,g.srcId));I.set(String(g.srcId),o);continue}const C=oB(Q)||typeof Q=="string"||eQ(Q)?Q:null;if(!C)continue;const E=await fi(C),i=WA(E);I.set(String(g.srcId),{source:E,width:Math.max(1,i.width),height:Math.max(1,i.height)})}return I}function ui(B){var A;const I=new Map;for(const g of(A=B.frame)!=null?A:[]){const Q=[...g.obj].sort((C,E)=>{var i,o;return((i=C.z)!=null?i:0)-((o=E.z)!=null?o:0)});I.set(g.i,Q)}return I}function qi(B,A){const I=bA(B,A),g=bA(B,A),Q=bA(1,1);return{compositeCanvas:I,compositeCtx:TA(I),rawCanvas:g,rawCtx:TA(g),scratchCanvas:Q,scratchCtx:TA(Q)}}function aB(B,A,I,g){var Q,C;if(!B.compositeCanvas||!B.compositeCtx||!B.rawCanvas||!B.rawCtx||!B.scratchCanvas||!B.scratchCtx)throw new Error("VAP CPU compositor state is incomplete");const{info:E}=A,i=E.videoW||B.width,o=E.videoH||B.height,[e,a,t,s]=E.rgbFrame,[D,w,h,n]=E.aFrame;(B.rawCanvas.width!==i||B.rawCanvas.height!==o)&&(B.rawCanvas.width=i,B.rawCanvas.height=o),B.rawCtx.clearRect(0,0,i,o),B.rawCtx.drawImage(I,0,0,i,o);const r=B.rawCtx.getImageData(0,0,i,o).data,F=B.compositeCtx.createImageData(B.width,B.height),c=F.data;for(let y=0;y<B.height;y++){const M=Math.min(o-1,Math.max(0,a+Math.floor(y/B.height*s))),R=Math.min(o-1,Math.max(0,w+Math.floor(y/B.height*n)));for(let N=0;N<B.width;N++){const S=Math.min(i-1,Math.max(0,e+Math.floor(N/B.width*t))),U=Math.min(i-1,Math.max(0,D+Math.floor(N/B.width*h))),K=(M*i+S)*4,d=(R*i+U)*4,l=r[d]/255,J=(y*B.width+N)*4;c[J]=Math.round(r[K]*l),c[J+1]=Math.round(r[K+1]*l),c[J+2]=Math.round(r[K+2]*l),c[J+3]=Math.round(l*255)}}const G=(Q=B.frameMap.get(g))!=null?Q:[];for(const y of G){const M=(C=B.resources)==null?void 0:C.get(String(y.srcId));if(!M)continue;const[R,N,S,U]=y.frame,[K,d,l,J]=y.mFrame;if(S<=0||U<=0||l<=0||J<=0)continue;(B.scratchCanvas.width!==S||B.scratchCanvas.height!==U)&&(B.scratchCanvas.width=Math.max(1,Math.round(S)),B.scratchCanvas.height=Math.max(1,Math.round(U))),B.scratchCtx.clearRect(0,0,B.scratchCanvas.width,B.scratchCanvas.height),B.scratchCtx.drawImage(M.source,0,0,B.scratchCanvas.width,B.scratchCanvas.height);const q=B.scratchCtx.getImageData(0,0,B.scratchCanvas.width,B.scratchCanvas.height).data,u=Math.max(0,Math.floor(R)),f=Math.max(0,Math.floor(N)),W=Math.min(B.width,Math.ceil(R+S)),iA=Math.min(B.height,Math.ceil(N+U));for(let RA=f;RA<iA;RA++){const uQ=Math.min(B.scratchCanvas.height-1,Math.max(0,Math.floor((RA-N)/U*B.scratchCanvas.height))),qQ=Math.min(o-1,Math.max(0,d+Math.floor((RA-N)/U*J)));for(let XA=u;XA<W;XA++){const pQ=Math.min(B.scratchCanvas.width-1,Math.max(0,Math.floor((XA-R)/S*B.scratchCanvas.width))),xQ=Math.min(i-1,Math.max(0,K+Math.floor((XA-R)/S*l))),MI=(uQ*B.scratchCanvas.width+pQ)*4,mQ=(qQ*i+xQ)*4,bQ=q[MI+3]/255,TQ=r[mQ]/255,fA=bQ*TQ;if(fA<=0)continue;const yA=(RA*B.width+XA)*4,WQ=q[MI]/255*fA,ZQ=q[MI+1]/255*fA,VQ=q[MI+2]/255*fA,vQ=c[yA+3]/255,NI=1-fA;c[yA]=Math.round((WQ+c[yA]/255*NI)*255),c[yA+1]=Math.round((ZQ+c[yA+1]/255*NI)*255),c[yA+2]=Math.round((VQ+c[yA+2]/255*NI)*255),c[yA+3]=Math.round((fA+vQ*NI)*255)}}}return B.compositeCtx.putImageData(F,0,0),B.compositeCanvas}var pi=Object.defineProperty,xi=(B,A,I)=>A in B?pi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,T=(B,A,I)=>xi(B,typeof A!="symbol"?A+"":A,I);const sg=1024,tB=32,yI=class cA{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 iQ),T(this,"lastWcFrameRef",new Map),T(this,"scratchAtlasRemap",new Float32Array(4)),T(this,"instancePackScratch",new Float32Array(sg*tB)),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 i=!1;const o=this.processedHtmlGatesScratch;o.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"){i=this.syncMixedTexture(A,e)||i;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 h=e.wcAtlasRect;h?A.updateTextureRegion(e.videoTextureHandle,s,h.x,h.y,h.w,h.h):A.updateTexture(e.videoTextureHandle,s),D?D.lastUploadedFrame=s:this.lastWcFrameRef.set(e.id,s),i=!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(o.has(t))continue;o.add(t),this.htmlGate.preUpload(t,e.videoElement)&&(A.updateTexture(e.videoTextureHandle,e.videoElement),i=!0)}}return i}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(cA.QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(cA.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=KA(0,Q,C,0,-1,1),E=this.projCache);const i=new Map;for(const e of g){const a=e.videoTextureHandle.id;let t=i.get(a);t||(t=[],i.set(a,t)),t.push(e)}const o=this.instancePackScratch;for(const e of i.values())for(let a=0;a<e.length;a+=sg){const t=Math.min(sg,e.length-a);for(let s=0;s<t;s++)this.fillVapInstanceData(e[a+s],o,s*tB);A.draw({shader:"vap-instanced",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:t,instanceData:o,textures:[e[a].videoTextureHandle],uniforms:{u_projection:E,u_video:0}})}}fillVapInstanceData(A,I,g){var Q,C,E,i;const o=A.vapConfig,{info:e}=o,a=e.videoW>0?e.videoW:(C=(Q=A.webcodecsPlayback)==null?void 0:Q.videoWidth)!=null?C:1,t=e.videoH>0?e.videoH:(i=(E=A.webcodecsPlayback)==null?void 0:E.videoHeight)!=null?i:1,s=this.scratchTransform,{w:D,h:w}=JA(e),h=dA(A,D,w);s[0]=h.width,s[5]=h.height,s[10]=1,s[12]=A.x+h.offsetX,s[13]=A.y+h.offsetY,s[15]=1,I.set(s,g);const n=jA(e.rgbFrame,a,t),r=jA(e.aFrame,a,t),F=A.videoTextureHandle,c=TI(F.width,F.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(c,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]=r.left,I[G+5]=r.right,I[G+6]=r.top,I[G+7]=r.bottom,I[G+8]=A.opacity,I[G+9]=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),i=I.webcodecsPlayback;if(i){const e=(g=I.wcPlaybackTime)!=null?g:0,a=i.getFrameForTime(e);if(!a||C.lastSourceRef===a&&C.lastFrameIndex===E)return!1;const t=C.composer?C.composer.render(a,E):aB(C,Q,a,E);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 o=C.composer?C.composer.render(I.videoElement,E):aB(C,Q,I.videoElement,E);return A.updateTexture(I.videoTextureHandle,o),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 i=A.canvas.width,o=A.canvas.height;let e;this.projCache&&this.projCacheW===i&&this.projCacheH===o?e=this.projCache:(this.projCacheW=i,this.projCacheH=o,this.projCache=KA(0,i,o,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,w=this.scratchTransform,h=DA(I),{w:n,h:r}=JA(t),F=dA(I,n,r);w[0]=F.width,w[5]=F.height,w[10]=1,w[12]=I.x+F.offsetX,w[13]=I.y+F.offsetY,w[15]=1;const c=jA(t.rgbFrame,s,D),G=jA(t.aFrame,s,D),y=I.videoTextureHandle,M=TI(y.width,y.height,I.wcAtlasRect,this.scratchAtlasRemap),R=this.vapVertexScratch;R[0]=0,R[1]=0,R[2]=c.left,R[3]=c.top,R[4]=G.left,R[5]=G.top,R[6]=1,R[7]=0,R[8]=c.right,R[9]=c.top,R[10]=G.right,R[11]=G.top,R[12]=1,R[13]=1,R[14]=c.right,R[15]=c.bottom,R[16]=G.right,R[17]=G.bottom,R[18]=0,R[19]=1,R[20]=c.left,R[21]=c.bottom,R[22]=G.left,R[23]=G.bottom,this.quadVB=this.ensureBuffer(A,this.quadVB,R,"vertex"),this.quadIB||(this.quadIB=A.createBuffer(cA.QUAD_INDICES,"index"));const N={shader:"vap",vertexBuffer:this.quadVB,indexBuffer:this.quadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:e,u_transform:w,u_atlasRemap:M,u_opacity:I.opacity,u_video:0}};h==="cover"&&A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale),A.draw(N),h==="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=KA(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 i=this.scratchTransform,o=DA(I),{w:e,h:a}=JA(E.info),t=dA(I,e,a);i[0]=t.width,i[5]=t.height,i[10]=1,i[12]=I.x+t.offsetX,i[13]=I.y+t.offsetY,i[15]=1;const s=!!I.vapMixState.composer||A.type==="webgpu";let D=s?this.rgbaTopLeftQuadVB:this.rgbaWebGLQuadVB;D||(D=A.createBuffer(s?cA.RGBA_QUAD_VERTS_WEBGPU:cA.RGBA_QUAD_VERTS_WEBGL,"vertex"),s?this.rgbaTopLeftQuadVB=D:this.rgbaWebGLQuadVB=D),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(cA.QUAD_INDICES,"index")),o==="cover"&&A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale),A.draw({shader:"rgba-textured",vertexBuffer:D,indexBuffer:this.rgbaQuadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:C,u_transform:i,u_atlasRemap:Fi,u_opacity:I.opacity,u_video:0}}),o==="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 i=A.canvas.width,o=A.canvas.height;let e;this.projCache&&this.projCacheW===i&&this.projCacheH===o?e=this.projCache:(this.projCacheW=i,this.projCacheH=o,this.projCache=KA(0,i,o,0,-1,1),e=this.projCache),this.rgbaTopLeftQuadVB||(this.rgbaTopLeftQuadVB=A.createBuffer(cA.RGBA_QUAD_VERTS_WEBGPU,"vertex")),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(cA.QUAD_INDICES,"index"));const{info:a}=g,{w:t,h:s}=JA(a),D=dA(I,t,s);DA(I)==="cover"?A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale):A.setScissor(I.x+D.offsetX,I.y+D.offsetY,D.width,D.height);const w=a.videoW>0?a.videoW:C.width,h=a.videoH>0?a.videoH:C.height,n=this.scratchTransform,r=this.scratchAtlasRemap;for(const F of E){const c=Q.resourceTextures.get(String(F.srcId));if(!c)continue;const[G,y,M,R]=F.frame,[,,N,S]=F.mFrame;if(M<=0||R<=0||N<=0||S<=0)continue;n[0]=M*D.scaleX,n[5]=R*D.scaleY,n[10]=1,n[12]=I.x+D.offsetX+G*D.scaleX,n[13]=I.y+D.offsetY+y*D.scaleY,n[15]=1;const U=jA(F.mFrame,w,h);r[0]=U.left,r[1]=U.right,r[2]=U.top,r[3]=U.bottom,A.draw({shader:"vap-mix-overlay",vertexBuffer:this.rgbaTopLeftQuadVB,indexBuffer:this.rgbaQuadIB,indexCount:6,textures:[c,C],uniforms:{u_projection:e,u_transform:n,u_atlasRemap:r,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),i=E==null?void 0:E.mediaTime;return typeof i=="number"&&Number.isFinite(i)&&i>=0?Math.max(0,Math.round(i*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(yI,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));T(yI,"RGBA_QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));T(yI,"RGBA_QUAD_VERTS_WEBGPU",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));T(yI,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let tQ=yI;var mi=Object.defineProperty,bi=(B,A,I)=>A in B?mi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,b=(B,A,I)=>bi(B,typeof A!="symbol"?A+"":A,I);const sB=1024,DB=12,Tg=class BI{constructor(){b(this,"quadVB",null),b(this,"quadIB",null),b(this,"instancePackScratch",new Float32Array(sB*DB)),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 iQ),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_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,i=A.webcodecsPlayback.videoHeight;return I.w=E>0?E*.5:0,I.h=i,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 i=this.processedHtmlGatesScratch;i.clear();for(const o of I.values()){if(o.type!=="alphaVideo"||o.paused||o.state!=="playing"&&o.state!=="fly"||!o.videoTextureHandle)continue;const e=o.webcodecsPlayback;if(e){const a=(g=o.wcPlaybackTime)!=null?g:0,t=e.getFrameForTime(a);if(this.wcDbgFirstDraw.has(o.id)||(this.wcDbgFirstDraw.add(o.id),console.info("[GiftStage:WC] alphaVideo first draw",{giftId:o.id,state:o.state,t:a,hasFrame:!!t,canvasBuf:`${A.canvas.width}x${A.canvas.height}`})),t){const s=o.webcodecsSurface;if(((C=s==null?void 0:s.lastUploadedFrame)!=null?C:this.lastWcFrameRef.get(o.id))!==t){const w=o.wcAtlasRect;w?A.updateTextureRegion(o.videoTextureHandle,t,w.x,w.y,w.w,w.h):A.updateTexture(o.videoTextureHandle,t),s?s.lastUploadedFrame=t:this.lastWcFrameRef.set(o.id,t),E=!0}}else{const s=((Q=this.wcDbgNullWarns.get(o.id))!=null?Q:0)+1;this.wcDbgNullWarns.set(o.id,s),s<=5&&console.warn("[GiftStage:WC] alphaVideo getFrameForTime null",{giftId:o.id,t:a,n:s})}}else if(o.videoElement){const a=this.getHtmlVideoGateId(o);if(i.has(a))continue;i.add(a),this.htmlGate.preUpload(a,o.videoElement)&&(A.updateTexture(o.videoTextureHandle,o.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){let g=null,Q=0,C=null;const E=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&&Q>0&&C&&(this.flushInstancedBatch(A,g,Q,C),g=null,Q=0),this.drawGeometry(A,i);continue}const o=i.videoTextureHandle;g&&g.id!==o.id&&Q>0&&C&&(this.flushInstancedBatch(A,g,Q,C),g=null,Q=0),g||(this.ensureQuadBuffers(A),C=this.getProjection(A),g=o),this.fillAlphaInstanceData(i,E,Q*DB),Q++,Q===sB&&(this.flushInstancedBatch(A,g,Q,C),g=null,Q=0)}g&&Q>0&&C&&this.flushInstancedBatch(A,g,Q,C)}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=BI.alphaVideoContentSize(A,this.contentSizeScratch),C=dA(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,i=TI(E.width,E.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(i,g+4),I[g+8]=A.opacity,I[g+9]=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=BI.alphaVideoContentSize(I,this.contentSizeScratch),i=dA(I,E.w,E.h,this.layoutScratch);Q[0]=i.width,Q[5]=i.height,Q[10]=1,Q[12]=I.x+i.offsetX,Q[13]=I.y+i.offsetY,Q[15]=1,this.ensureQuadBuffers(A);const o=I.videoTextureHandle,e=TI(o.width,o.height,I.wcAtlasRect,this.scratchAtlasRemap),a=this.geometryDrawCommand;a.vertexBuffer=this.quadVB,a.indexBuffer=this.quadIB,this.geometryTexturesScratch[0]=o,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,C==="cover"&&A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale),A.draw(a),C==="cover"&&A.resetScissor()}ensureQuadBuffers(A){this.quadVB||(this.quadVB=A.createBuffer(BI.QUAD_VERTS,"vertex"),this.quadIB=A.createBuffer(BI.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=KA(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(Tg,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));b(Tg,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let sQ=Tg;var Ti=Object.defineProperty,Wi=(B,A,I)=>A in B?Ti(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,wB=(B,A,I)=>Wi(B,typeof A!="symbol"?A+"":A,I);class DQ{constructor(){wB(this,"animations",new Map),wB(this,"completedScratch",[])}startFly(A,I,g,Q,C,E,i,o=A.opacity){this.startTween(A,I,g,Q,C,E,i,void 0,o)}startTween(A,I,g,Q,C,E,i,o,e=A.opacity){this.cancelForGift(A.id),this.animations.set(A.id,{giftId:A.id,startX:A.x,startY:A.y,startScale:A.scale,startOpacity:A.opacity,targetX:I,targetY:g,targetScale:Q,targetOpacity:e,startTime:-1,duration:C,easing:E,onComplete:i,onCancel:o})}startTweenPromise(A,I,g,Q,C,E,i,o=A.opacity){return new Promise(e=>{this.startTween(A,I,g,Q,C,E,()=>{i==null||i(),e()},e,o)})}startSequence(A,I){return this.cancelForGift(A.id),I.length===0?Promise.resolve():new Promise(g=>{let Q=0;const C=()=>{const E=I[Q++];if(!E){g();return}this.startTween(A,E.targetX,E.targetY,E.targetScale,E.duration,E.easing,()=>{var i;(i=E.onComplete)==null||i.call(E),C()},void 0,E.targetOpacity)};C()})}update(A){var I;const g=this.completedScratch;g.length=0;for(const[Q,C]of this.animations)C.startTime<0&&(C.startTime=A),HI((A-C.startTime)/C.duration,0,1)>=1&&(this.animations.delete(Q),g.push(C));for(const Q of g)(I=Q.onComplete)==null||I.call(Q);g.length=0}getAnimatedState(A,I){const g=this.animations.get(A);if(!g)return null;g.startTime<0&&(g.startTime=I);const Q=HI((I-g.startTime)/g.duration,0,1),C=g.easing(Q);return{x:nA(g.startX,g.targetX,C),y:nA(g.startY,g.targetY,C),scale:nA(g.startScale,g.targetScale,C),opacity:nA(g.startOpacity,g.targetOpacity,C)}}applyAnimatedState(A,I){const g=this.animations.get(A.id);if(!g)return!1;g.startTime<0&&(g.startTime=I);const Q=HI((I-g.startTime)/g.duration,0,1),C=g.easing(Q);return A.x=nA(g.startX,g.targetX,C),A.y=nA(g.startY,g.targetY,C),A.scale=nA(g.startScale,g.targetScale,C),A.opacity=nA(g.startOpacity,g.targetOpacity,C),!0}hasAnimation(A){return this.animations.has(A)}hasActiveAnimations(){return this.animations.size>0}cancelForGift(A){var I;const g=this.animations.get(A);g&&(this.animations.delete(A),(I=g.onCancel)==null||I.call(g))}destroy(){this.animations.clear(),this.completedScratch.length=0}}var Zi=Object.defineProperty,Vi=(B,A,I)=>A in B?Zi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,PA=(B,A,I)=>Vi(B,typeof A!="symbol"?A+"":A,I);class wQ{constructor(){PA(this,"ctx",null),PA(this,"decodedCache",new Map),PA(this,"activeSources",[]),PA(this,"globalMute",!1),PA(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 i=this.activeSources.findIndex(o=>o.source===E&&o.giftId===A);i>=0&&this.activeSources.splice(i,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 vi=Object.defineProperty,Xi=(B,A,I)=>A in B?vi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,HA=(B,A,I)=>Xi(B,typeof A!="symbol"?A+"":A,I);class Oi{constructor(A,I){HA(this,"atlasW"),HA(this,"atlasH"),HA(this,"rowY",0),HA(this,"rowH",0),HA(this,"rowX",0),HA(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 ji(B){const A=/^(-?\d+(?:\.\d+)?)%$/.exec(B.trim());if(!A)return null;const I=Number(A[1]);return Number.isFinite(I)?I:null}function hB(B,A,I){if(typeof B=="number")return B;const g=ji(B);if(g==null)throw new Error(`Invalid percentage coordinate: ${B}`);return A*g/100-I/2}function hQ(B,A,I,g,Q,C){return{x:hB(B,Q,I),y:hB(A,C,g)}}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,V=(B,A,I)=>zi(B,typeof A!="symbol"?A+"":A,I);class nQ{constructor(A){V(this,"backend"),V(this,"svgaBatch"),V(this,"vapRenderer"),V(this,"alphaVideoRenderer"),V(this,"postAnimator"),V(this,"audioManager"),V(this,"slots"),V(this,"handles"),V(this,"rafId",null),V(this,"lastTime",0),V(this,"running",!1),V(this,"forceNextDraw",!0),V(this,"onAnimationFrame",I=>this.renderLoop(I)),V(this,"finishedSlotIdsScratch",[]),V(this,"videoRunMapScratch",new Map),V(this,"wcAtlas",null),V(this,"wcDbgTickOnce",new Set),V(this,"advancedSharedWebCodecsScratch",new Set),V(this,"activeSharedWebCodecsScratch",new Set),V(this,"orderedSlotsScratch",[]),this.backend=A,this.svgaBatch=new CQ,this.vapRenderer=new tQ,this.alphaVideoRenderer=new sQ,this.postAnimator=new DQ,this.audioManager=new wQ,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,i,o,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.cancelForGift(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,(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,(i=A.releaseSharedVideoPlayback)==null||i.call(A),A.releaseSharedVideoPlayback=null,(o=A.releaseSharedSVGAAsset)==null||o.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 Oi(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}=Ng(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=hQ(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.stop()}resume(){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 i of this.slots.values())!i.paused&&i.state==="playing"&&i.webcodecsPlayback&&i.webcodecsSharedState&&this.activeSharedWebCodecsScratch.add(i.webcodecsSharedState.id);for(const[i,o]of this.slots){if(o.paused||o.state==="loading"){o.paused&&o.state==="playing"&&o.webcodecsPlayback&&o.webcodecsSharedState&&this.activeSharedWebCodecsScratch.has(o.webcodecsSharedState.id)&&this.tickSharedWebCodecs(o,A,!1);continue}const e=this.handles.get(i);this.postAnimator.applyAnimatedState(o,A)&&(E=!0),o.type==="svga"&&o.videoEntity&&o.state==="playing"&&(E=this.tickSVGA(o,C,e,A)||E),(o.type==="vap"||o.type==="alphaVideo")&&o.webcodecsPlayback&&o.state==="playing"&&(o.webcodecsSharedState?this.tickSharedWebCodecs(o,A,!0):(this.tickWebCodecs(o,C,e),(Q=(g=o.webcodecsPlayback).ensureDecodedThrough)==null||Q.call(g,(I=o.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 i of this.getRenderLayers())this.drawLayer(i);this.backend.endFrame()}this.rafId=requestAnimationFrame(this.onAnimationFrame)}tickSharedWebCodecs(A,I,g){var Q,C;const E=A.webcodecsSharedState;if(!E)return;const i=Math.max(E.playback.duration,1e-9),o=Math.max(0,(I-E.startedAtMs)/1e3);A.wcPlaybackTime=o%i,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 i=Math.max(E.duration,1e-9);if(!Number.isFinite(i))return;const o=(Q=A.options.loop)!=null?Q:1;let e=((C=A.wcPlaybackTime)!=null?C:0)+I;if(o===0){A.wcPlaybackTime=(e%i+i)%i,this.wcDbgLogTickOnce(A,i,A.wcPlaybackTime,o);return}const a=Math.floor(e/i);if(A.loopCount+a>=o){A.loopCount=o,A.wcPlaybackTime=i-1e-6,this.wcDbgLogTickOnce(A,i,A.wcPlaybackTime,o),this.onWebCodecsPlaybackComplete(A,g);return}A.loopCount+=a,A.wcPlaybackTime=e-a*i,this.wcDbgLogTickOnce(A,i,A.wcPlaybackTime,o)}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,i=E.params.fps,o=E.params.frames;if(i<=0||o<=0)return!1;const e=1/i,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*o+A.currentFrame+t;return s===0?(A.loopCount=Math.floor(D/o),A.currentFrame=D%o):D>=s*o?(A.loopCount=s,A.currentFrame=o-1,this.onGiftPlayComplete(A,g,Q)):(A.loopCount=Math.floor(D/o),A.currentFrame=D%o),A.currentFrame=Math.max(0,Math.min(A.currentFrame,o-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"}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,i;const o=(Q=I.zIndex)!=null?Q:0,e=(C=g.zIndex)!=null?C:0;return o!==e?o-e:((E=I.renderOrder)!=null?E:0)-((i=g.renderOrder)!=null?i: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 i of g){const o=(I=i.zIndex)!=null?I:0;C.length>0&&o!==E&&(Q.push(this.collapseCoincidentVisualDuplicates(C)),C=[],E=o),C.push(i)}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;if(this.postAnimator.hasAnimation(A.id))return null;const g=this.getBatchKey(A);if(g.includes(":-1:")||g.endsWith(":-1")||g==="svga::0")return null;const Q=A.type==="svga"?`frame=${A.currentFrame}`:A.wcAtlasRect?`rect=${A.wcAtlasRect.x},${A.wcAtlasRect.y},${A.wcAtlasRect.w},${A.wcAtlasRect.h}`:"frame=shared-texture",C=A.type==="svga"?this.getSVGASlotTextureKey(A):"";return[A.type,g,Q,C,`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}`].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}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,i,o;const e=A.batchKeyCache;switch(A.type){case"svga":{const a=A.videoEntity,t=(I=a==null?void 0:a.atlasTextureHandles)!=null&&I.length?a.atlasTextureHandles:(g=a==null?void 0:a.atlasTextureHandle)!=null?g:null,s=A.svgaSlotTextures&&A.svgaSlotTextures.size>0?1:0;if(e&&e.d0===t&&e.d1===s)return e.key;const w=`svga:${((Q=a==null?void 0:a.atlasTextureHandles)!=null&&Q.length?a.atlasTextureHandles:a!=null&&a.atlasTextureHandle?[a.atlasTextureHandle]:[]).map(h=>h.id).join(",")}:${s}`;return A.batchKeyCache={key:w,d0:t,d1:s,d2:null},w}case"vap":{const a=A.videoTextureHandle,t=!!A.vapMixState,s=(C=A.options.objectFit)!=null?C:"contain";if(e&&e.d0===a&&e.d1===t&&e.d2===s)return e.key;const D=`vap:${t?"mixed":"video"}:${(E=a==null?void 0:a.id)!=null?E:-1}:${s}`;return A.batchKeyCache={key:D,d0:a,d1:t,d2:s},D}case"alphaVideo":{const a=A.videoTextureHandle,t=(i=A.options.objectFit)!=null?i:"contain";if(e&&e.d0===a&&e.d1===t)return e.key;const s=`alpha:${(o=a==null?void 0:a.id)!=null?o:-1}:${t}`;return A.batchKeyCache={key:s,d0:a,d1:t,d2:null},s}}}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.postAnimator.destroy(),this.audioManager.destroy(),this.backend.destroy()}}function nB(){return typeof DecompressionStream!="undefined"}function AA(){return typeof performance!="undefined"?performance.now():Date.now()}function cQ(B){return B instanceof Error?`${B.name}: ${B.message}`:String(B)}async function _i(B,A,I){const g=I?AA():0,Q=I?{inputBytes:B.byteLength,nativeAvailable:nB(),nativeAttempts:[]}:null,C=(i,o)=>(Q&&(Q.selectedPath=o,Q.outputBytes=i.byteLength,Q.totalMs=AA()-g,I==null||I(Q)),i),E=i=>{throw Q&&(Q.error=cQ(i),Q.totalMs=AA()-g,I==null||I(Q)),i};if(nB())try{return C(await dg(B,Q!=null?Q:void 0),"native")}catch(i){}try{const i=Q?AA():0,o=A();return Q&&(Q.wasmMs=AA()-i),o?C(o,"wasm"):C(await dg(B,Q!=null?Q:void 0),"native-retry")}catch(i){return E(i)}}async function dg(B,A){if(typeof DecompressionStream!="undefined"){try{return await Dg(B,"deflate",A==null?void 0:A.nativeAttempts)}catch(I){}try{return await Dg(B.slice(2),"deflate-raw",A==null?void 0:A.nativeAttempts)}catch(I){}return Dg(B.slice(2,-4),"deflate-raw",A==null?void 0:A.nativeAttempts)}throw new Error("No inflate implementation available (need WASM or DecompressionStream)")}async function Dg(B,A,I){const g=I?AA():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(),i=C.readable.getReader(),o=Q?AA():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=AA()-o);const t=[];let s=0;const D=Q?AA():0;for(;;){const{done:r,value:F}=await i.read();if(r)break;t.push(F),s+=F.length}await Promise.all([e,a]),Q&&(Q.readMs=AA()-D,Q.outputChunks=t.length,Q.outputBytes=s);const w=Q?AA():0,h=new Uint8Array(s);let n=0;for(const r of t)h.set(r,n),n+=r.length;return Q&&(Q.concatMs=AA()-w,Q.totalMs=AA()-g,Q.status="success"),h}catch(C){throw Q&&(Q.totalMs=AA()-g,Q.error=cQ(C)),C}finally{Q&&(I==null||I.push(Q))}}typeof TextEncoder!="undefined"&&new TextEncoder;const cB=typeof TextDecoder!="undefined"?new TextDecoder:null;function rQ(B){const A=B instanceof Uint8Array?B:new Uint8Array(B);return cB?cB.decode(A):$i(A)}function $i(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 Ao=Object.defineProperty,Io=(B,A,I)=>A in B?Ao(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,wg=(B,A,I)=>Io(B,typeof A!="symbol"?A+"":A,I);const go=0,Bo=1,Qo=2,Co=5;class Wg{constructor(A,I=0,g){wg(this,"view"),wg(this,"pos"),wg(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 rQ(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 go:this.readVarint();break;case Bo:this.pos+=8;break;case Qo:this.pos+=this.readVarint();break;case Co:this.pos+=4;break}}sub(A){const I=new Wg(new Uint8Array(this.view.buffer,this.view.byteOffset),this.pos,A);return this.pos+=A,I}}function Eo(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 io(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 FQ(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 rB(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 oo(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=rB(B.sub(Q));break}case 2:{const Q=B.readVarint();A.stroke=rB(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 eo(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 ao(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 to(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 so(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 i=B.readTag();if(!i)break;switch(i.field){case 1:A=B.readVarint();break;case 2:{const o=B.readVarint();I=eo(B.sub(o));break}case 3:{const o=B.readVarint();g=ao(B.sub(o));break}case 4:{const o=B.readVarint();Q=to(B.sub(o));break}case 10:{const o=B.readVarint();C=oo(B.sub(o));break}case 11:{const o=B.readVarint();E=FQ(B.sub(o));break}default:B.skip(i.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 Do(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=io(B.sub(Q));break}case 3:{const Q=B.readVarint();A.transform=FQ(B.sub(Q));break}case 4:A.clipPath=B.readString();break;case 5:{const Q=B.readVarint(),C=so(B.sub(Q));C&&I.push(C);break}default:B.skip(g.wire)}}return I.length>0&&(A.shapes=I),A}function wo(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(Do(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(i=>i.kind!=="keep");Q.shapes=E.length>0?E:null,g=Q.shapes}return I}function ho(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 no(B){let A="",I=new Uint8Array(0);for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:A=B.readString();break;case 2:I=B.readBytes();break;default:B.skip(g.wire)}}return{key:A,value:I}}function Jg(B){const A=new Wg(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=Eo(A.sub(C));break}case 3:{const C=A.readVarint(),{key:E,value:i}=no(A.sub(C));g.images.set(E,i);break}case 4:{const C=A.readVarint();I.push(wo(A.sub(C)));break}case 5:{const C=A.readVarint();g.audios.push(ho(A.sub(C)));break}default:A.skip(Q.wire)}}return{version:g.version,params:g.params,images:g.images,spriteTable:WB(I,g.params.frames),audios:g.audios}}function FB(B,A){B.f32(A.r),B.f32(A.g),B.f32(A.b),B.f32(A.a)}function GB(B){return{r:B.f32(),g:B.f32(),b:B.f32(),a:B.f32()}}function co(B,A){var I,g,Q;const C=(g=(I=A.lineDash)==null?void 0:I.filter(i=>i>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&&FB(B,A.fill),A.stroke&&FB(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 i of C)B.f32(i)}}function ro(B){const A=B.u8(),I=A&1?GB(B):null,g=A&2?GB(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 i=0;i<C;i++)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 i=(Q=A.rect)!=null?Q:{x:0,y:0,width:0,height:0,cornerRadius:0};B.f32(i.x),B.f32(i.y),B.f32(i.width),B.f32(i.height),B.f32((C=i.cornerRadius)!=null?C:0);const o=(E=A.ellipse)!=null?E:{x:0,y:0,radiusX:0,radiusY:0};B.f32(o.x),B.f32(o.y),B.f32(o.radiusX),B.f32(o.radiusY),co(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 Go(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=ro(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 Ro(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 GQ(B,A){const I=B.u32(),g=[];for(let F=0;F<I;F++)g.push(B.string()),await A();B.pad4();const Q=B.u32(),C=I*Q*LC;B.pad4();const E=B.position,i=new Float32Array(B.sourceBuffer(),E,C);B.skip(C*4),await A();const o=B.u32(),e=[];for(let F=0;F<o;F++)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(),w=[];for(let F=0;F<D;F++){const c=B.u32(),G=[];for(let y=0;y<c;y++)G.push(Go(B)),await A();w.push(G)}B.pad4();const h=I*Q,n=B.position,r=new Int32Array(B.sourceBuffer(),n,h);return B.skip(h*4),await A(),{spriteCount:I,frameCount:Q,imageKeys:g,frameData:i,clipPaths:e,clipPathIndex:s,shapesTable:w,shapesIndex:r,hasAnyShapes:B.u8()!==0}}var yo=Object.defineProperty,Mo=(B,A,I)=>A in B?yo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,hg=(B,A,I)=>Mo(B,typeof A!="symbol"?A+"":A,I);const No=1397182530,So=2;function ko(B){return B+3&-4}let Uo=class{constructor(A){this.buffer=A,hg(this,"view"),hg(this,"bytes"),hg(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=ko(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 rQ(this.bytesValue())}sourceBuffer(){return this.buffer}};async function RQ(B,A,I,g){const Q=gA({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 Uo(B);if(E.u32()!==No)throw new Error("Invalid SVGA worker payload magic");if(E.u16()!==So)throw new Error("Unsupported SVGA worker payload version");E.u16();const i=E.string(),o={viewBoxWidth:E.f32(),viewBoxHeight:E.f32(),fps:E.f32(),frames:E.u32()},e=[],a=E.u32();for(let w=0;w<a;w++)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 w=0;w<s;w++){const h=E.string(),n=E.bytesRef();t.push({key:h,offset:n.offset,length:n.length}),await C()}const D=await GQ(E,C);return Y(g,"SVGA payload deserialization aborted"),{version:i,params:o,audios:e,spriteTable:D,images:{},imageBlob:E.sourceBuffer(),imageEntries:t,__debug:A}}const yQ=`function iA() {
|
|
1384
|
+
`,QB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",IQ],{type:"text/javascript;charset=utf-8"});function LE(B){let A;try{if(A=QB&&(self.URL||self.webkitURL).createObjectURL(QB),!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(IQ),{type:"module",name:B==null?void 0:B.name})}}function IA(B="Operation aborted"){const A=new Error(B);return A.name="AbortError",A}function SA(B){return B instanceof Error?B.name==="AbortError"?!0:"cause"in B&&SA(B.cause):!1}function Y(B,A){if(B!=null&&B.aborted)throw IA(A)}var fE=Object.defineProperty,HE=(B,A,I)=>A in B?fE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,Cg=(B,A,I)=>HE(B,typeof A!="symbol"?A+"":A,I);class uE{constructor(){Cg(this,"active",0),Cg(this,"maxConcurrent",1),Cg(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(IA("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(IA("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(IA("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(IA("SVGA worker task aborted"));continue}this.active++,I.resolve(this.createRelease())}}}}const qg=new uE;function pg(B){B!=null&&qg.configure(B)}function xg(B,A){return qg.run(B,A)}function qE(B){return qg.acquire(B)}let EI=null,pE=1;const rI=new Map;function gQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function bI(B,A,I){EI===B&&(EI=null);try{B.terminate()}catch(g){}for(const[g,Q]of rI)Q.owner===B&&(rI.delete(g),gQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA clip worker restarted after another request was canceled")))}function xE(){if(!EI){const B=new LE;EI=B,B.addEventListener("message",A=>{var I;const g=A.data;if(!g||g.type!=="build-svga-clip-meshes-result")return;const Q=rI.get(g.id);if(!Q||Q.owner!==B)return;if(rI.delete(g.id),gQ(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=>{bI(B,new Error(A.message||"SVGA clip worker error"))}),B.addEventListener("messageerror",()=>{bI(B,new Error("SVGA clip worker message deserialization failed"))})}return EI}function BQ(){return typeof Worker!="undefined"}function mE(B,A={}){return BQ()?xg(()=>{Y(A.signal,"SVGA clip worker task aborted");const I=xE(),g=pE++;return new Promise((Q,C)=>{var E,o;const i={owner:I,signal:A.signal,resolve:Q,reject:C};if(i.onAbort=()=>{bI(I,IA("SVGA clip worker task aborted"),g)},rI.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){bI(I,e instanceof Error?e:new Error(String(e)))}})},A.signal):Promise.reject(new Error("SVGA clip worker unavailable"))}var bE=Object.defineProperty,TE=(B,A,I)=>A in B?bE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,YI=(B,A,I)=>TE(B,typeof A!="symbol"?A+"":A,I);const QQ=1e3/60,WE=2,ZE=12,VE=.25;function uI(){return typeof performance!="undefined"?performance.now():Date.now()}function vE(){return new Promise(B=>{if(typeof requestAnimationFrame=="function"){requestAnimationFrame(()=>B());return}setTimeout(B,0)}).then(uI)}function XE(B,A={}){var I,g,Q;const C=Math.max(.1,(I=A.minBudgetMs)!=null?I:WE),E=Math.max(C,(g=A.maxBudgetMs)!=null?g:ZE),o=Math.max(.05,Math.min(.95,(Q=A.frameFraction)!=null?Q:.5)),i=Number.isFinite(B)&&B>0?B:QQ;return Math.max(C,Math.min(E,i*o))}function OE(B,A){return!Number.isFinite(A)||A<4||A>100?B:B+(A-B)*VE}class jE{constructor(){YI(this,"frameIntervalMs",QQ),YI(this,"lastFrameAt",-1),YI(this,"sliceStartedAt",uI()),YI(this,"nextFramePromise",null)}budgetMs(A={}){return XE(this.frameIntervalMs,A)}shouldYield(A={}){return uI()-this.sliceStartedAt>=this.budgetMs(A)}async yield(){this.nextFramePromise||(this.nextFramePromise=vE().then(A=>{this.lastFrameAt>=0&&(this.frameIntervalMs=OE(this.frameIntervalMs,A-this.lastFrameAt)),this.lastFrameAt=A,this.sliceStartedAt=uI()}).finally(()=>{this.nextFramePromise=null})),await this.nextFramePromise}}const Eg=new jE;function gA(B={}){return{get budgetMs(){return Eg.budgetMs(B)},shouldYield(){return Eg.shouldYield(B)},yield(){return Eg.yield()}}}var PE=Object.defineProperty,zE=(B,A,I)=>A in B?PE(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,H=(B,A,I)=>zE(B,typeof A!="symbol"?A+"":A,I);const ig=2048,og={x:0,y:0,w:1,h:1},mg=class Ug{constructor(){H(this,"pool",new zB),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(YA)),H(this,"instancedFrameDataScratch",new Float32Array(ig*YA)),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)}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&&BQ())try{const s=await mE(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(SA(s))throw s;console.warn("[GiftStage:SVGA] clip mesh worker failed, using main thread",s)}const a=gA({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=dA(o,e,a),D=s.scaleX,w=s.scaleY,h=o.width*o.scale,n=o.height*o.scale,r=t==="cover"?h:Math.min(s.width,h),F=t==="cover"?n:Math.min(s.height,n),c=o.x,G=o.y,y=o.x,M=o.y;C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),A.setScissor(c,G,r,F),this.slotScissor.x=c,this.slotScissor.y=G,this.slotScissor.w=r,this.slotScissor.h=F,o.x=y+s.offsetX,o.y=M+s.offsetY;for(let R=0;R<i.spriteTable.spriteCount;R++){const N=i.spriteTable,S=o.currentFrame;if(S<0||S>=N.frameCount)continue;const U=(R*N.frameCount+S)*ug;if(N.frameData[U+8]*o.opacity<.05)continue;const K=uC(N,R,S),d=!!K&&K.length>0,l=this.acquireSpriteWork(o,R,N.frameData,U,D,w),J=(g=N.imageKeys[R])!=null?g:"",q=this.resolveSpriteTextureInto(o,J,l);if(!q&&!d){this.spriteWorkCursor--;continue}const u=qC(N,R,S),f=u.length>0?this.getClipMesh(u):null;if(d){C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),q&&(f&&f.indices.length>0?this.drawClippedSprite(A,l,f,Q):this.drawSingleSprite(A,l,Q)),this.drawShapeFrame(A,l,K,f,Q);continue}f&&f.indices.length>0?(C.length>0&&(this.drawBatch(A,C,E,Q),C.length=0,E=null),this.drawClippedSprite(A,l,f,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>=ig&&(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),o.x=y,o.y=M}C.length>0&&this.drawBatch(A,C,E,Q),C.length=0,this.releaseSpriteWorks(),A.resetScissor()}acquireSpriteWork(A,I,g,Q,C,E){let o=this.spriteWorkPool[this.spriteWorkCursor];return o||(o={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:og,override:null,sx:C,sy:E},this.spriteWorkPool[this.spriteWorkCursor]=o),this.spriteWorkCursor++,o.slot=A,o.spriteIndex=I,o.layoutW=g[Q],o.layoutH=g[Q+1],o.a=g[Q+2],o.b=g[Q+3],o.c=g[Q+4],o.d=g[Q+5],o.tx=g[Q+6],o.ty=g[Q+7],o.alpha=g[Q+8],o.sx=C,o.sy=E,o}releaseSpriteWorks(){for(let A=0;A<this.spriteWorkCursor;A++){const I=this.spriteWorkPool[A];I.slot=null,I.handle=null,I.rect=og,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=KA(0,this.canvasWidth,this.canvasHeight,0,-1,1),this.projCache)}drawBatch(A,I,g,Q){const C=Math.min(I.length,ig);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*YA);for(let r=0;r<C;r++)this.packFrameData(E,r,I[r]);const o=C*pA*sA,i=C*QI,e=this.pool.getFloat32B(o),a=this.pool.getUint32(i),t=new Float32Array(E.buffer,0,C*YA),s=new Float32Array(e.buffer,0,o),D=new Uint32Array(a.buffer,0,i);(!mA()||gg(t,s,D)===null)&&LI(t,s,D);const w=this.batchDrawCursor++,h=this.ensureVertexBuffer(A,w,s),n=this.ensureIndexBuffer(A,w,D);A.draw({shader:"svga-batch-premul",vertexBuffer:h,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){const{slot:C,sx:E,sy:o,a:i,b:e,c:a,d:t,tx:s,ty:D}=I,w=i*E,h=e*o,n=a*E,r=t*o,F=s*E+C.x,c=D*o+C.y,G=this.getClipRect(g);if(G&&EB(w,h,n,r)){this.applyClipRectScissor(A,G,w,r,F,c)&&this.drawSingleSprite(A,I,Q),this.restoreSlotScissor(A);return}const y=this.ensureClipMeshBuffers(A,g),M=this.packClipTransform(w,h,n,r,F,c),R={shader:"clip-mask",vertexBuffer:y.vertexBuf,indexBuffer:y.indexBuf,indexCount:g.indices.length,textures:[],uniforms:{u_projection:Q,u_transform:M},stencil:"write"};if(A.draw(R),A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const f=this.instancedFrameDataScratch;this.packFrameData(f,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:f,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"}),this.clearClipStencil(A,g,y,M,Q);return}const N=this.clipFrameDataScratch;this.packFrameData(N,0,I);const S=pA*sA,U=QI;(!this.clipSpriteVertsScratch||this.clipSpriteVertsScratch.length<S)&&(this.clipSpriteVertsScratch=new Float32Array(S)),(!this.clipSpriteIndicesScratch||this.clipSpriteIndicesScratch.length<U)&&(this.clipSpriteIndicesScratch=new Uint32Array(U));const K=this.clipSpriteVertsScratch,d=this.clipSpriteIndicesScratch;(!mA()||gg(N,K,d)===null)&&LI(N,K,d);const l=this.clipSpriteDrawCursor++,J=this.ensureClipSpriteVertexBuffer(A,l,K.subarray(0,S)),q=this.ensureClipSpriteIndexBuffer(A,l,d.subarray(0,U)),u={shader:"svga-batch-premul",vertexBuffer:J,indexBuffer:q,indexCount:U,textures:[I.handle],uniforms:{u_projection:Q,u_atlas:0},stencil:"test"};A.draw(u),this.clearClipStencil(A,g,y,M,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=_E(A.vertices,A.indices)),A.rect}ensureClipMeshBuffers(A,I){return(!I.vertexBuf||!I.indexBuf)&&(I.vertexBuf=A.createBuffer(I.vertices,"vertex"),I.indexBuf=A.createBuffer(I.indices,"index"),this.clipMeshesWithBuffers.add(I)),{vertexBuf:I.vertexBuf,indexBuf:I.indexBuf}}packClipTransform(A,I,g,Q,C,E){const o=this.clipTransformMat;return o[0]=A,o[1]=I,o[4]=g,o[5]=Q,o[12]=C,o[13]=E,o}drawSingleSprite(A,I,g){if(A.type==="webgl2"||A.type==="webgpu"){this.ensureInstancedQuadBuffers(A);const s=this.instancedFrameDataScratch;this.packFrameData(s,0,I),A.draw({shader:"svga-instanced-premul",vertexBuffer:this.instancedQuadVB,indexBuffer:this.instancedQuadIB,indexCount:6,instanceCount:1,instanceData:s,textures:[I.handle],uniforms:{u_projection:g,u_atlas:0}});return}const Q=this.clipFrameDataScratch;this.packFrameData(Q,0,I);const C=pA*sA,E=QI;(!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;(!mA()||gg(Q,o,i)===null)&&LI(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"})}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:w,override:h,sx:n,sy:r}=g;let F=C||(h==null?void 0:h.logicalWidth)||0,c=E||(h==null?void 0:h.logicalHeight)||0,G=0,y=0;if((h==null?void 0:h.mode)==="dynamic"){const l=C||h.logicalWidth,J=E||h.logicalHeight;F=h.logicalWidth,c=h.logicalHeight,G=Math.max(0,(l-F)*.5),y=Math.max(0,(J-c)*.5)}const M=I*YA,R=o*n,N=i*r,S=e*n,U=a*r,K=t*n+R*G+S*y+Q.x,d=s*r+N*G+U*y+Q.y;A[M]=F,A[M+1]=c,A[M+2]=R,A[M+3]=N,A[M+4]=S,A[M+5]=U,A[M+6]=K,A[M+7]=d,A[M+8]=D*Q.opacity,A[M+9]=w.x,A[M+10]=w.y,A[M+11]=w.x+w.w,A[M+12]=w.y+w.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=og,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){const E=this.getShapeMesh(g);if(!E||E.indices.length===0)return;const{slot:o,sx:i,sy:e,a,b:t,c:s,d:D,tx:w,ty:h,alpha:n}=I,r=this.getWhiteTexture(A),F=a*i,c=t*e,G=s*i,y=D*e,M=w*i+o.x,R=h*e+o.y,N=E.vertices,S=N.length/6*sA;(!this.shapeVertsScratch||this.shapeVertsScratch.length<S)&&(this.shapeVertsScratch=new Float32Array(S));const U=this.shapeVertsScratch;for(let f=0,W=0;f<N.length;f+=6,W+=sA){const iA=N[f],RA=N[f+1];U[W]=F*iA+G*RA+M,U[W+1]=c*iA+y*RA+R,U[W+2]=0,U[W+3]=N[f+2],U[W+4]=N[f+3],U[W+5]=N[f+4],U[W+6]=N[f+5]*n*o.opacity,U[W+7]=.5,U[W+8]=.5}let K=!1,d=null,l=null;if(Q&&Q.indices.length>0){const f=this.getClipRect(Q);if(f&&EB(F,c,G,y)){if(!this.applyClipRectScissor(A,f,F,y,M,R)){this.restoreSlotScissor(A);return}K=!0}else d=this.ensureClipMeshBuffers(A,Q),l=this.packClipTransform(F,c,G,y,M,R),A.draw({shader:"clip-mask",vertexBuffer:d.vertexBuf,indexBuffer:d.indexBuf,indexCount:Q.indices.length,textures:[],uniforms:{u_projection:C,u_transform:l},stencil:"write"})}const J=this.clipSpriteDrawCursor++,q=this.ensureClipSpriteVertexBuffer(A,J,U.subarray(0,S)),u=this.ensureClipSpriteIndexBuffer(A,J,E.indices);A.draw({shader:"svga-batch-premul",vertexBuffer:q,indexBuffer:u,indexCount:E.indices.length,textures:[r],uniforms:{u_projection:C,u_atlas:0},stencil:d?"test":"none"}),d&&l&&Q&&this.clearClipStencil(A,Q,d,l,C),K&&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 $B((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=hE(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,w=a/s*E,h=Q.length/6,n=this.clamp01(I.r),r=this.clamp01(I.g),F=this.clamp01(I.b),c=this.clamp01(I.a);Q.push(i.x-D,i.y-w,n,r,F,c),Q.push(i.x+D,i.y+w,n,r,F,c),Q.push(e.x+D,e.y+w,n,r,F,c),Q.push(e.x-D,e.y-w,n,r,F,c),C.push(h,h+1,h+2,h+2,h+3,h)}}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=JE(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(mg,"INSTANCED_QUAD_VERTS",new Float32Array([0,0,1,0,1,1,0,1]));H(mg,"INSTANCED_QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let CQ=mg;const CB=1e-4;function EB(B,A,I,g){const Q=Math.max(Math.abs(B),Math.abs(g));return B>0&&g>0&&Math.abs(A)<=Q*CB&&Math.abs(I)<=Q*CB}function _E(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,w=Math.abs(t-Q)<=i,h=Math.abs(s-g)<=i,n=Math.abs(s-C)<=i;if(!D&&!w||!h&&!n)return null;e|=1<<((D?0:1)|(h?0:2))}return e!==15?null:{x:I,y:g,w:E,h:o}}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,oA=(B,A,I)=>Ai(B,typeof A!="symbol"?A+"":A,I);const Ii=4,gi=128*1024*1024,Bi=2048*1024*1024,Qi="gift-stage-resource-cache",Ci=2,BA="resources",eg="byUpdatedAt",Ei=3e4;class ii{constructor(A){oA(this,"maxConcurrent"),oA(this,"active",0),oA(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 oi(){return typeof indexedDB!="undefined"}function FA(B){return B.length*2}function ei(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+=FA(E.key)+16;for(const E of B.audios)Q+=FA(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+=FA(E);for(const E of C.clipPaths)Q+=FA(E);for(const E of C.shapesTable)for(const o of E)Q+=FA((g=o.pathData)!=null?g:"")+96;return Q}function ag(B){return typeof B=="string"?FA(B):B.byteLength}class ai{constructor(){oA(this,"limiter",new ii(Ii)),oA(this,"pending",new Map),oA(this,"memory",new Map),oA(this,"memoryBytes",0),oA(this,"maxMemoryBytes",gi),oA(this,"maxPersistentBytes",Bi),oA(this,"dbPromise",null),oA(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,FA(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,FA(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,FA(C)),E}getSVGAWorkerPayload(A){return this.getMemory(A,"svga-payload")}setSVGAWorkerPayload(A,I){this.setMemory(A,"svga-payload",I,ei(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 oi()?(this.dbPromise||(this.dbPromise=new Promise(A=>{try{const I=indexedDB.open(Qi,Ci);I.onupgradeneeded=()=>{const g=I.result;let Q;g.objectStoreNames.contains(BA)?Q=I.transaction.objectStore(BA):Q=g.createObjectStore(BA,{keyPath:"key"}),Q.indexNames.contains(eg)||Q.createIndex(eg,"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(BA,"readonly");C.onerror=()=>Q(null),C.onabort=()=>Q(null);const o=C.objectStore(BA).get(A);o.onsuccess=()=>{const i=o.result;if(!i||i.kind!==I){Q(null);return}const e=i.sizeBytes||ag(i.value);if(Date.now()-i.updatedAt>=Ei&&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=ag(g);await new Promise(E=>{try{const o=Q.transaction(BA,"readwrite");o.onerror=()=>E(),o.onabort=()=>E();const e=o.objectStore(BA).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(BA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(BA).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(BA,"readwrite");g.oncomplete=()=>I(),g.onerror=()=>I(),g.onabort=()=>I();const Q=g.objectStore(BA),C=Q.index(eg),E=[];let o=0;const i=C.openCursor();i.onsuccess=()=>{const e=i.result;if(e){const t=e.value,s=t.sizeBytes||ag(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(BA,"readwrite");Q.onerror=()=>g(),Q.onabort=()=>g();const E=Q.objectStore(BA).delete(A);E.onsuccess=()=>g(),E.onerror=()=>g()}catch(Q){g()}})}}const aA=new ai;function ti(B){aA.configure(B)}function lg(B){return aA.runLimited(B)}function ZA(B,A){return aA.fetchArrayBuffer(B,A)}function si(B,A){return aA.fetchJSON(B,A)}function bg(B){return aA.getSVGAWorkerPayload(B)}function iB(B,A){aA.setSVGAWorkerPayload(B,A)}function Di(B,A){return aA.getMemoryValue(B,A)}function EQ(B,A,I,g){aA.setMemoryValue(B,A,I,g)}function wi(B){return aA.getPersistedArrayBuffer(B)}function hi(B,A){return aA.setPersistedArrayBuffer(B,A)}function ni(B){return aA.deletePersistedValue(B)}async function Yg(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 JA(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 jA(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 ci=Object.defineProperty,ri=(B,A,I)=>A in B?ci(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,QA=(B,A,I)=>ri(B,typeof A!="symbol"?A+"":A,I);class iQ{constructor(){QA(this,"frameInfo",new Map),QA(this,"pending",new Set),QA(this,"lastHandle",new Map),QA(this,"started",new Set),QA(this,"firstUploaded",new Set),QA(this,"forceTimeFallback",new Set),QA(this,"lastArmAt",new Map),QA(this,"lastCallbackAt",new Map),QA(this,"lastProgressAt",new Map),QA(this,"lastRecoveryAt",new Map),QA(this,"stallLogged",new Set),QA(this,"stagnationLogged",new Set),QA(this,"lastTimeFallback",new Map)}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 Fi=new Float32Array([0,0,1,1]);function TI(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 Gi=3;function Ri(){return typeof document!="undefined"&&typeof document.createElement=="function"}function bA(B,A){if(!Ri())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 TA(B,A){const I=B.getContext("2d",A);if(!I)throw new Error("Failed to acquire 2D canvas context");return I}function oQ(B){return!!B&&typeof B=="object"&&typeof B.text=="string"}function yi(B){return!!B&&typeof B=="object"&&"image"in B}function eQ(B){return!!B&&typeof B=="object"&&"image"in B}function oB(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 WI(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 WA(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 Kg(B){if(typeof ImageData!="undefined"&&B instanceof ImageData){const A=bA(B.width,B.height);return TA(A).putImageData(B,0,0),A}return B}function Mi(B){const A=/^\[(.+)\]$/.exec(B);return A?A[1]:B}function Ni(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 VA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function Si(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 ki(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 VA(g)?g:void 0}function eB(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 Ui(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 w=eB(B,A,I,D);w.width<=Q&&w.height<=C?(a=D,t=w,i=D):e=D}return B.font=g(a),t=eB(B,A,I,a),{fontSize:a,metrics:t}}function aQ(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=bA(1,1),w=TA(D),h=(Q=g.color)!=null?Q:"#ffffff",n=Math.max(0,(C=g.padding)!=null?C:2),r=Math.max(1,t-n*2),F=Math.max(1,s-n*2),c=Math.max(1,(i=(o=(E=g.maxFontSize)!=null?E:g.fontSize)!=null?o:ki(g.fontStyle))!=null?i:Math.max(8,F)),G=Math.max(1,Math.min((e=g.minFontSize)!=null?e:8,c)),y=h,M=`${g.style==="b"?"bold ":""}${c*a}px Arial`,R=Ni(g.fontStyle,M,y),N=J=>Si(R.font,J*a),S=Ui(w,I,a,N,r,F,G,VA(g.fontSize)?Math.min(g.fontSize,c):c),U=g.sizing==="intrinsic"?Math.max(1,Math.min(t,Math.ceil(S.metrics.width+n*2))):t,K=g.sizing==="intrinsic"?Math.max(1,Math.min(s,Math.ceil(S.metrics.height+n*2))):s,d=bA(U*a,K*a),l=TA(d);return l.clearRect(0,0,d.width,d.height),l.textAlign="center",l.textBaseline="middle",l.font=N(S.fontSize),l.fillStyle=R.color,l.fillText(I,d.width/2,d.height/2),{canvas:d,logicalWidth:U,logicalHeight:K}}async function li(B,A,I,g){var Q,C,E,o,i,e;const a=B.spriteTable,t=new Set(A),s=new Map;for(let h=0;h<a.imageKeys.length;h++){const n=a.imageKeys[h];t.has(n)&&s.set(n,h)}const D=new Map,{frameCount:w}=a;for(const h of A){const n=s.get(h);if(n==null){const M=B.atlasRects.get(h);D.set(h,{width:(M==null?void 0:M.w)||1,height:(M==null?void 0:M.h)||1,renderScale:1});continue}let r=0,F=0,c=Number.POSITIVE_INFINITY;for(let M=0;M<w;M++){const R=(n*w+M)*9,N=(Q=a.frameData[R])!=null?Q:0,S=(C=a.frameData[R+1])!=null?C:0,U=(E=a.frameData[R+2])!=null?E:1,K=(o=a.frameData[R+3])!=null?o:0,d=(i=a.frameData[R+4])!=null?i:0,l=(e=a.frameData[R+5])!=null?e:1;if(r=Math.max(r,N),F=Math.max(F,S),N>0&&S>0){const J=Math.abs(U)*N+Math.abs(d)*S,q=Math.abs(K)*N+Math.abs(l)*S,u=J>0?J/N:1,f=q>0?q/S:1,W=Math.min(u||1,f||1);VA(W)&&(c=Math.min(c,W))}M+1<w&&I.shouldYield()&&(await I.yield(),g==null||g())}const G=VA(c)?c:1,y=B.atlasRects.get(h);D.set(h,{width:r||(y==null?void 0:y.w)||1,height:F||(y==null?void 0:y.h)||1,renderScale:G})}return D}function tg(B,A){if(VA(B))return!VA(A)||A===1?B:B/A}async function Yi(B,A,I,g=1){var Q,C,E;if(oQ(B)){const i=(Q=B.mode)!=null?Q:"dynamic",e=aQ(A,I,B.text,{scale:(C=B.scale)!=null?C:Gi,color:B.color,style:B.style,fontStyle:B.fontStyle,fontSize:tg(B.fontSize,g),minFontSize:tg(B.minFontSize,g),maxFontSize:tg(B.maxFontSize,g),padding:B.padding,sizing:i==="dynamic"?"intrinsic":"box"});return{source:e.canvas,mode:i,logicalWidth:e.logicalWidth,logicalHeight:e.logicalHeight}}if(yi(B)){const i=typeof B.image=="string"?await WI(B.image):B.image,e=WA(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 WI(B),e=WA(i);return{source:i,mode:"replace",logicalWidth:Math.max(1,e.width||A),logicalHeight:Math.max(1,e.height||I)}}const o=WA(B);return{source:B,mode:"replace",logicalWidth:Math.max(1,o.width||A),logicalHeight:Math.max(1,o.height||I)}}async function Ki(B,A,I,g={}){var Q,C,E;const o=new Map;if(!I)return o;const i=Object.entries(I),e=gA({maxBudgetMs:g.frameBudgetMs}),a=await li(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 w=(C=a.get(s))!=null?C:{width:1,height:1,renderScale:1},h=await Yi(D,w.width,w.height,w.renderScale),n=WA(h.source),r=n.width||w.width,F=n.height||w.height,c=B.createTexture(h.source,{width:r,height:F,filter:"linear",premultiplyAlpha:!0});o.set(s,{texture:c,mode:h.mode,logicalWidth:h.logicalWidth,logicalHeight:h.logicalHeight}),t+1<i.length&&e.shouldYield()&&(await e.yield(),(E=g.checkActive)==null||E.call(g))}return o}function di(B,A){var I,g;if(!A)return;const Q=String(B.srcId),C=B.srcTag,E=Mi(B.srcTag);return(g=(I=A[C])!=null?I:A[E])!=null?g:A[Q]}function Ji(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=aQ(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 Li(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 fi(B){return typeof B=="string"?WI(B):eQ(B)?typeof B.image=="string"?WI(B.image):Kg(B.image):Kg(B)}async function Hi(B,A){const I=new Map;if(!B.src||B.src.length===0||!A)return I;for(const g of B.src){const Q=di(g,A);if(Q==null)continue;if(g.srcType==="txt"){if(oB(Q)){const e=Kg(Q),a=WA(e);I.set(String(g.srcId),{source:e,width:Math.max(1,a.width),height:Math.max(1,a.height)});continue}const i=Ji(g,typeof Q=="string"||oQ(Q)?Q:String(Q),Li(B,g.srcId));I.set(String(g.srcId),i);continue}const C=oB(Q)||typeof Q=="string"||eQ(Q)?Q:null;if(!C)continue;const E=await fi(C),o=WA(E);I.set(String(g.srcId),{source:E,width:Math.max(1,o.width),height:Math.max(1,o.height)})}return I}function ui(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 qi(B,A){const I=bA(B,A),g=bA(B,A),Q=bA(1,1);return{compositeCanvas:I,compositeCtx:TA(I),rawCanvas:g,rawCtx:TA(g),scratchCanvas:Q,scratchCtx:TA(Q)}}function aB(B,A,I,g){var Q,C;if(!B.compositeCanvas||!B.compositeCtx||!B.rawCanvas||!B.rawCtx||!B.scratchCanvas||!B.scratchCtx)throw new Error("VAP CPU compositor state is incomplete");const{info:E}=A,o=E.videoW||B.width,i=E.videoH||B.height,[e,a,t,s]=E.rgbFrame,[D,w,h,n]=E.aFrame;(B.rawCanvas.width!==o||B.rawCanvas.height!==i)&&(B.rawCanvas.width=o,B.rawCanvas.height=i),B.rawCtx.clearRect(0,0,o,i),B.rawCtx.drawImage(I,0,0,o,i);const r=B.rawCtx.getImageData(0,0,o,i).data,F=B.compositeCtx.createImageData(B.width,B.height),c=F.data;for(let y=0;y<B.height;y++){const M=Math.min(i-1,Math.max(0,a+Math.floor(y/B.height*s))),R=Math.min(i-1,Math.max(0,w+Math.floor(y/B.height*n)));for(let N=0;N<B.width;N++){const S=Math.min(o-1,Math.max(0,e+Math.floor(N/B.width*t))),U=Math.min(o-1,Math.max(0,D+Math.floor(N/B.width*h))),K=(M*o+S)*4,d=(R*o+U)*4,l=r[d]/255,J=(y*B.width+N)*4;c[J]=Math.round(r[K]*l),c[J+1]=Math.round(r[K+1]*l),c[J+2]=Math.round(r[K+2]*l),c[J+3]=Math.round(l*255)}}const G=(Q=B.frameMap.get(g))!=null?Q:[];for(const y of G){const M=(C=B.resources)==null?void 0:C.get(String(y.srcId));if(!M)continue;const[R,N,S,U]=y.frame,[K,d,l,J]=y.mFrame;if(S<=0||U<=0||l<=0||J<=0)continue;(B.scratchCanvas.width!==S||B.scratchCanvas.height!==U)&&(B.scratchCanvas.width=Math.max(1,Math.round(S)),B.scratchCanvas.height=Math.max(1,Math.round(U))),B.scratchCtx.clearRect(0,0,B.scratchCanvas.width,B.scratchCanvas.height),B.scratchCtx.drawImage(M.source,0,0,B.scratchCanvas.width,B.scratchCanvas.height);const q=B.scratchCtx.getImageData(0,0,B.scratchCanvas.width,B.scratchCanvas.height).data,u=Math.max(0,Math.floor(R)),f=Math.max(0,Math.floor(N)),W=Math.min(B.width,Math.ceil(R+S)),iA=Math.min(B.height,Math.ceil(N+U));for(let RA=f;RA<iA;RA++){const uQ=Math.min(B.scratchCanvas.height-1,Math.max(0,Math.floor((RA-N)/U*B.scratchCanvas.height))),qQ=Math.min(i-1,Math.max(0,d+Math.floor((RA-N)/U*J)));for(let XA=u;XA<W;XA++){const pQ=Math.min(B.scratchCanvas.width-1,Math.max(0,Math.floor((XA-R)/S*B.scratchCanvas.width))),xQ=Math.min(o-1,Math.max(0,K+Math.floor((XA-R)/S*l))),MI=(uQ*B.scratchCanvas.width+pQ)*4,mQ=(qQ*o+xQ)*4,bQ=q[MI+3]/255,TQ=r[mQ]/255,fA=bQ*TQ;if(fA<=0)continue;const yA=(RA*B.width+XA)*4,WQ=q[MI]/255*fA,ZQ=q[MI+1]/255*fA,VQ=q[MI+2]/255*fA,vQ=c[yA+3]/255,NI=1-fA;c[yA]=Math.round((WQ+c[yA]/255*NI)*255),c[yA+1]=Math.round((ZQ+c[yA+1]/255*NI)*255),c[yA+2]=Math.round((VQ+c[yA+2]/255*NI)*255),c[yA+3]=Math.round((fA+vQ*NI)*255)}}}return B.compositeCtx.putImageData(F,0,0),B.compositeCanvas}var pi=Object.defineProperty,xi=(B,A,I)=>A in B?pi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,T=(B,A,I)=>xi(B,typeof A!="symbol"?A+"":A,I);const sg=1024,tB=32,yI=class cA{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 iQ),T(this,"lastWcFrameRef",new Map),T(this,"scratchAtlasRemap",new Float32Array(4)),T(this,"instancePackScratch",new Float32Array(sg*tB)),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 h=e.wcAtlasRect;h?A.updateTextureRegion(e.videoTextureHandle,s,h.x,h.y,h.w,h.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(cA.QUAD_VERTS,"vertex"),this.instancedQuadIB=A.createBuffer(cA.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=KA(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+=sg){const t=Math.min(sg,e.length-a);for(let s=0;s<t;s++)this.fillVapInstanceData(e[a+s],i,s*tB);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:w}=JA(e),h=dA(A,D,w);s[0]=h.width,s[5]=h.height,s[10]=1,s[12]=A.x+h.offsetX,s[13]=A.y+h.offsetY,s[15]=1,I.set(s,g);const n=jA(e.rgbFrame,a,t),r=jA(e.aFrame,a,t),F=A.videoTextureHandle,c=TI(F.width,F.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(c,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]=r.left,I[G+5]=r.right,I[G+6]=r.top,I[G+7]=r.bottom,I[G+8]=A.opacity,I[G+9]=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):aB(C,Q,a,E);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):aB(C,Q,I.videoElement,E);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=KA(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,w=this.scratchTransform,h=DA(I),{w:n,h:r}=JA(t),F=dA(I,n,r);w[0]=F.width,w[5]=F.height,w[10]=1,w[12]=I.x+F.offsetX,w[13]=I.y+F.offsetY,w[15]=1;const c=jA(t.rgbFrame,s,D),G=jA(t.aFrame,s,D),y=I.videoTextureHandle,M=TI(y.width,y.height,I.wcAtlasRect,this.scratchAtlasRemap),R=this.vapVertexScratch;R[0]=0,R[1]=0,R[2]=c.left,R[3]=c.top,R[4]=G.left,R[5]=G.top,R[6]=1,R[7]=0,R[8]=c.right,R[9]=c.top,R[10]=G.right,R[11]=G.top,R[12]=1,R[13]=1,R[14]=c.right,R[15]=c.bottom,R[16]=G.right,R[17]=G.bottom,R[18]=0,R[19]=1,R[20]=c.left,R[21]=c.bottom,R[22]=G.left,R[23]=G.bottom,this.quadVB=this.ensureBuffer(A,this.quadVB,R,"vertex"),this.quadIB||(this.quadIB=A.createBuffer(cA.QUAD_INDICES,"index"));const N={shader:"vap",vertexBuffer:this.quadVB,indexBuffer:this.quadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:e,u_transform:w,u_atlasRemap:M,u_opacity:I.opacity,u_video:0}};h==="cover"&&A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale),A.draw(N),h==="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=KA(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}=JA(E.info),t=dA(I,e,a);o[0]=t.width,o[5]=t.height,o[10]=1,o[12]=I.x+t.offsetX,o[13]=I.y+t.offsetY,o[15]=1;const s=!!I.vapMixState.composer||A.type==="webgpu";let D=s?this.rgbaTopLeftQuadVB:this.rgbaWebGLQuadVB;D||(D=A.createBuffer(s?cA.RGBA_QUAD_VERTS_WEBGPU:cA.RGBA_QUAD_VERTS_WEBGL,"vertex"),s?this.rgbaTopLeftQuadVB=D:this.rgbaWebGLQuadVB=D),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(cA.QUAD_INDICES,"index")),i==="cover"&&A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale),A.draw({shader:"rgba-textured",vertexBuffer:D,indexBuffer:this.rgbaQuadIB,indexCount:6,textures:[I.videoTextureHandle],uniforms:{u_projection:C,u_transform:o,u_atlasRemap:Fi,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=KA(0,o,i,0,-1,1),e=this.projCache),this.rgbaTopLeftQuadVB||(this.rgbaTopLeftQuadVB=A.createBuffer(cA.RGBA_QUAD_VERTS_WEBGPU,"vertex")),this.rgbaQuadIB||(this.rgbaQuadIB=A.createBuffer(cA.QUAD_INDICES,"index"));const{info:a}=g,{w:t,h:s}=JA(a),D=dA(I,t,s);DA(I)==="cover"?A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale):A.setScissor(I.x+D.offsetX,I.y+D.offsetY,D.width,D.height);const w=a.videoW>0?a.videoW:C.width,h=a.videoH>0?a.videoH:C.height,n=this.scratchTransform,r=this.scratchAtlasRemap;for(const F of E){const c=Q.resourceTextures.get(String(F.srcId));if(!c)continue;const[G,y,M,R]=F.frame,[,,N,S]=F.mFrame;if(M<=0||R<=0||N<=0||S<=0)continue;n[0]=M*D.scaleX,n[5]=R*D.scaleY,n[10]=1,n[12]=I.x+D.offsetX+G*D.scaleX,n[13]=I.y+D.offsetY+y*D.scaleY,n[15]=1;const U=jA(F.mFrame,w,h);r[0]=U.left,r[1]=U.right,r[2]=U.top,r[3]=U.bottom,A.draw({shader:"vap-mix-overlay",vertexBuffer:this.rgbaTopLeftQuadVB,indexBuffer:this.rgbaQuadIB,indexCount:6,textures:[c,C],uniforms:{u_projection:e,u_transform:n,u_atlasRemap:r,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(yI,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));T(yI,"RGBA_QUAD_VERTS_WEBGL",new Float32Array([0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0]));T(yI,"RGBA_QUAD_VERTS_WEBGPU",new Float32Array([0,0,0,0,1,0,1,0,1,1,1,1,0,1,0,1]));T(yI,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let tQ=yI;var mi=Object.defineProperty,bi=(B,A,I)=>A in B?mi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,b=(B,A,I)=>bi(B,typeof A!="symbol"?A+"":A,I);const sB=1024,DB=12,Tg=class BI{constructor(){b(this,"quadVB",null),b(this,"quadIB",null),b(this,"instancePackScratch",new Float32Array(sB*DB)),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 iQ),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_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 w=i.wcAtlasRect;w?A.updateTextureRegion(i.videoTextureHandle,t,w.x,w.y,w.w,w.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){let g=null,Q=0,C=null;const E=this.instancePackScratch;for(const o of I.values()){if(o.type!=="alphaVideo"||o.state!=="playing"&&o.state!=="fly"&&o.state!=="stopped"||!o.videoElement&&!o.webcodecsPlayback||!o.videoTextureHandle)continue;if(DA(o)==="cover"){g&&Q>0&&C&&(this.flushInstancedBatch(A,g,Q,C),g=null,Q=0),this.drawGeometry(A,o);continue}const i=o.videoTextureHandle;g&&g.id!==i.id&&Q>0&&C&&(this.flushInstancedBatch(A,g,Q,C),g=null,Q=0),g||(this.ensureQuadBuffers(A),C=this.getProjection(A),g=i),this.fillAlphaInstanceData(o,E,Q*DB),Q++,Q===sB&&(this.flushInstancedBatch(A,g,Q,C),g=null,Q=0)}g&&Q>0&&C&&this.flushInstancedBatch(A,g,Q,C)}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=BI.alphaVideoContentSize(A,this.contentSizeScratch),C=dA(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=TI(E.width,E.height,A.wcAtlasRect,this.scratchAtlasRemap);I.set(o,g+4),I[g+8]=A.opacity,I[g+9]=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=BI.alphaVideoContentSize(I,this.contentSizeScratch),o=dA(I,E.w,E.h,this.layoutScratch);Q[0]=o.width,Q[5]=o.height,Q[10]=1,Q[12]=I.x+o.offsetX,Q[13]=I.y+o.offsetY,Q[15]=1,this.ensureQuadBuffers(A);const i=I.videoTextureHandle,e=TI(i.width,i.height,I.wcAtlasRect,this.scratchAtlasRemap),a=this.geometryDrawCommand;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,C==="cover"&&A.setScissor(I.x,I.y,I.width*I.scale,I.height*I.scale),A.draw(a),C==="cover"&&A.resetScissor()}ensureQuadBuffers(A){this.quadVB||(this.quadVB=A.createBuffer(BI.QUAD_VERTS,"vertex"),this.quadIB=A.createBuffer(BI.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=KA(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(Tg,"QUAD_VERTS",new Float32Array([0,0,.5,1,1,0,1,1,1,1,1,0,0,1,.5,0]));b(Tg,"QUAD_INDICES",new Uint32Array([0,1,2,0,2,3]));let sQ=Tg;var Ti=Object.defineProperty,Wi=(B,A,I)=>A in B?Ti(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,wB=(B,A,I)=>Wi(B,typeof A!="symbol"?A+"":A,I);class DQ{constructor(){wB(this,"animations",new Map),wB(this,"completedScratch",[])}startFly(A,I,g,Q,C,E,o,i=A.opacity){this.startTween(A,I,g,Q,C,E,o,void 0,i)}startTween(A,I,g,Q,C,E,o,i,e=A.opacity){this.cancelForGift(A.id),this.animations.set(A.id,{giftId:A.id,startX:A.x,startY:A.y,startScale:A.scale,startOpacity:A.opacity,targetX:I,targetY:g,targetScale:Q,targetOpacity:e,startTime:-1,duration:C,easing:E,onComplete:o,onCancel:i})}startTweenPromise(A,I,g,Q,C,E,o,i=A.opacity){return new Promise(e=>{this.startTween(A,I,g,Q,C,E,()=>{o==null||o(),e()},e,i)})}startSequence(A,I){return this.cancelForGift(A.id),I.length===0?Promise.resolve():new Promise(g=>{let Q=0;const C=()=>{const E=I[Q++];if(!E){g();return}this.startTween(A,E.targetX,E.targetY,E.targetScale,E.duration,E.easing,()=>{var o;(o=E.onComplete)==null||o.call(E),C()},void 0,E.targetOpacity)};C()})}update(A){var I;const g=this.completedScratch;g.length=0;for(const[Q,C]of this.animations)C.startTime<0&&(C.startTime=A),HI((A-C.startTime)/C.duration,0,1)>=1&&(this.animations.delete(Q),g.push(C));for(const Q of g)(I=Q.onComplete)==null||I.call(Q);g.length=0}getAnimatedState(A,I){const g=this.animations.get(A);if(!g)return null;g.startTime<0&&(g.startTime=I);const Q=HI((I-g.startTime)/g.duration,0,1),C=g.easing(Q);return{x:nA(g.startX,g.targetX,C),y:nA(g.startY,g.targetY,C),scale:nA(g.startScale,g.targetScale,C),opacity:nA(g.startOpacity,g.targetOpacity,C)}}applyAnimatedState(A,I){const g=this.animations.get(A.id);if(!g)return!1;g.startTime<0&&(g.startTime=I);const Q=HI((I-g.startTime)/g.duration,0,1),C=g.easing(Q);return A.x=nA(g.startX,g.targetX,C),A.y=nA(g.startY,g.targetY,C),A.scale=nA(g.startScale,g.targetScale,C),A.opacity=nA(g.startOpacity,g.targetOpacity,C),!0}hasAnimation(A){return this.animations.has(A)}hasActiveAnimations(){return this.animations.size>0}cancelForGift(A){var I;const g=this.animations.get(A);g&&(this.animations.delete(A),(I=g.onCancel)==null||I.call(g))}destroy(){this.animations.clear(),this.completedScratch.length=0}}var Zi=Object.defineProperty,Vi=(B,A,I)=>A in B?Zi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,PA=(B,A,I)=>Vi(B,typeof A!="symbol"?A+"":A,I);class wQ{constructor(){PA(this,"ctx",null),PA(this,"decodedCache",new Map),PA(this,"activeSources",[]),PA(this,"globalMute",!1),PA(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 vi=Object.defineProperty,Xi=(B,A,I)=>A in B?vi(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,HA=(B,A,I)=>Xi(B,typeof A!="symbol"?A+"":A,I);class Oi{constructor(A,I){HA(this,"atlasW"),HA(this,"atlasH"),HA(this,"rowY",0),HA(this,"rowH",0),HA(this,"rowX",0),HA(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 ji(B){const A=/^(-?\d+(?:\.\d+)?)%$/.exec(B.trim());if(!A)return null;const I=Number(A[1]);return Number.isFinite(I)?I:null}function hB(B,A,I){if(typeof B=="number")return B;const g=ji(B);if(g==null)throw new Error(`Invalid percentage coordinate: ${B}`);return A*g/100-I/2}function hQ(B,A,I,g,Q,C){return{x:hB(B,Q,I),y:hB(A,C,g)}}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,V=(B,A,I)=>zi(B,typeof A!="symbol"?A+"":A,I);class nQ{constructor(A){V(this,"backend"),V(this,"svgaBatch"),V(this,"vapRenderer"),V(this,"alphaVideoRenderer"),V(this,"postAnimator"),V(this,"audioManager"),V(this,"slots"),V(this,"handles"),V(this,"rafId",null),V(this,"lastTime",0),V(this,"running",!1),V(this,"forceNextDraw",!0),V(this,"onAnimationFrame",I=>this.renderLoop(I)),V(this,"finishedSlotIdsScratch",[]),V(this,"videoRunMapScratch",new Map),V(this,"wcAtlas",null),V(this,"wcDbgTickOnce",new Set),V(this,"advancedSharedWebCodecsScratch",new Set),V(this,"activeSharedWebCodecsScratch",new Set),V(this,"orderedSlotsScratch",[]),this.backend=A,this.svgaBatch=new CQ,this.vapRenderer=new tQ,this.alphaVideoRenderer=new sQ,this.postAnimator=new DQ,this.audioManager=new wQ,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.cancelForGift(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,(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 Oi(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}=Ng(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=hQ(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.stop()}resume(){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==="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"}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;if(this.postAnimator.hasAnimation(A.id))return null;const g=this.getBatchKey(A);if(g.includes(":-1:")||g.endsWith(":-1")||g==="svga::0")return null;const Q=A.type==="svga"?`frame=${A.currentFrame}`:A.wcAtlasRect?`rect=${A.wcAtlasRect.x},${A.wcAtlasRect.y},${A.wcAtlasRect.w},${A.wcAtlasRect.h}`:"frame=shared-texture",C=A.type==="svga"?this.getSVGASlotTextureKey(A):"";return[A.type,g,Q,C,`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}`].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}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;const e=A.batchKeyCache;switch(A.type){case"svga":{const a=A.videoEntity,t=(I=a==null?void 0:a.atlasTextureHandles)!=null&&I.length?a.atlasTextureHandles:(g=a==null?void 0:a.atlasTextureHandle)!=null?g:null,s=A.svgaSlotTextures&&A.svgaSlotTextures.size>0?1:0;if(e&&e.d0===t&&e.d1===s)return e.key;const w=`svga:${((Q=a==null?void 0:a.atlasTextureHandles)!=null&&Q.length?a.atlasTextureHandles:a!=null&&a.atlasTextureHandle?[a.atlasTextureHandle]:[]).map(h=>h.id).join(",")}:${s}`;return A.batchKeyCache={key:w,d0:t,d1:s,d2:null},w}case"vap":{const a=A.videoTextureHandle,t=!!A.vapMixState,s=(C=A.options.objectFit)!=null?C:"contain";if(e&&e.d0===a&&e.d1===t&&e.d2===s)return e.key;const D=`vap:${t?"mixed":"video"}:${(E=a==null?void 0:a.id)!=null?E:-1}:${s}`;return A.batchKeyCache={key:D,d0:a,d1:t,d2:s},D}case"alphaVideo":{const a=A.videoTextureHandle,t=(o=A.options.objectFit)!=null?o:"contain";if(e&&e.d0===a&&e.d1===t)return e.key;const s=`alpha:${(i=a==null?void 0:a.id)!=null?i:-1}:${t}`;return A.batchKeyCache={key:s,d0:a,d1:t,d2:null},s}}}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.postAnimator.destroy(),this.audioManager.destroy(),this.backend.destroy()}}function nB(){return typeof DecompressionStream!="undefined"}function AA(){return typeof performance!="undefined"?performance.now():Date.now()}function cQ(B){return B instanceof Error?`${B.name}: ${B.message}`:String(B)}async function _i(B,A,I){const g=I?AA():0,Q=I?{inputBytes:B.byteLength,nativeAvailable:nB(),nativeAttempts:[]}:null,C=(o,i)=>(Q&&(Q.selectedPath=i,Q.outputBytes=o.byteLength,Q.totalMs=AA()-g,I==null||I(Q)),o),E=o=>{throw Q&&(Q.error=cQ(o),Q.totalMs=AA()-g,I==null||I(Q)),o};if(nB())try{return C(await dg(B,Q!=null?Q:void 0),"native")}catch(o){}try{const o=Q?AA():0,i=A();return Q&&(Q.wasmMs=AA()-o),i?C(i,"wasm"):C(await dg(B,Q!=null?Q:void 0),"native-retry")}catch(o){return E(o)}}async function dg(B,A){if(typeof DecompressionStream!="undefined"){try{return await Dg(B,"deflate",A==null?void 0:A.nativeAttempts)}catch(I){}try{return await Dg(B.slice(2),"deflate-raw",A==null?void 0:A.nativeAttempts)}catch(I){}return Dg(B.slice(2,-4),"deflate-raw",A==null?void 0:A.nativeAttempts)}throw new Error("No inflate implementation available (need WASM or DecompressionStream)")}async function Dg(B,A,I){const g=I?AA():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?AA():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=AA()-i);const t=[];let s=0;const D=Q?AA():0;for(;;){const{done:r,value:F}=await o.read();if(r)break;t.push(F),s+=F.length}await Promise.all([e,a]),Q&&(Q.readMs=AA()-D,Q.outputChunks=t.length,Q.outputBytes=s);const w=Q?AA():0,h=new Uint8Array(s);let n=0;for(const r of t)h.set(r,n),n+=r.length;return Q&&(Q.concatMs=AA()-w,Q.totalMs=AA()-g,Q.status="success"),h}catch(C){throw Q&&(Q.totalMs=AA()-g,Q.error=cQ(C)),C}finally{Q&&(I==null||I.push(Q))}}typeof TextEncoder!="undefined"&&new TextEncoder;const cB=typeof TextDecoder!="undefined"?new TextDecoder:null;function rQ(B){const A=B instanceof Uint8Array?B:new Uint8Array(B);return cB?cB.decode(A):$i(A)}function $i(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 Ao=Object.defineProperty,Io=(B,A,I)=>A in B?Ao(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,wg=(B,A,I)=>Io(B,typeof A!="symbol"?A+"":A,I);const go=0,Bo=1,Qo=2,Co=5;class Wg{constructor(A,I=0,g){wg(this,"view"),wg(this,"pos"),wg(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 rQ(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 go:this.readVarint();break;case Bo:this.pos+=8;break;case Qo:this.pos+=this.readVarint();break;case Co:this.pos+=4;break}}sub(A){const I=new Wg(new Uint8Array(this.view.buffer,this.view.byteOffset),this.pos,A);return this.pos+=A,I}}function Eo(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 io(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 FQ(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 rB(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 oo(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=rB(B.sub(Q));break}case 2:{const Q=B.readVarint();A.stroke=rB(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 eo(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 ao(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 to(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 so(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=eo(B.sub(i));break}case 3:{const i=B.readVarint();g=ao(B.sub(i));break}case 4:{const i=B.readVarint();Q=to(B.sub(i));break}case 10:{const i=B.readVarint();C=oo(B.sub(i));break}case 11:{const i=B.readVarint();E=FQ(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 Do(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=io(B.sub(Q));break}case 3:{const Q=B.readVarint();A.transform=FQ(B.sub(Q));break}case 4:A.clipPath=B.readString();break;case 5:{const Q=B.readVarint(),C=so(B.sub(Q));C&&I.push(C);break}default:B.skip(g.wire)}}return I.length>0&&(A.shapes=I),A}function wo(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(Do(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 ho(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 no(B){let A="",I=new Uint8Array(0);for(;B.remaining>0;){const g=B.readTag();if(!g)break;switch(g.field){case 1:A=B.readString();break;case 2:I=B.readBytes();break;default:B.skip(g.wire)}}return{key:A,value:I}}function Jg(B){const A=new Wg(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=Eo(A.sub(C));break}case 3:{const C=A.readVarint(),{key:E,value:o}=no(A.sub(C));g.images.set(E,o);break}case 4:{const C=A.readVarint();I.push(wo(A.sub(C)));break}case 5:{const C=A.readVarint();g.audios.push(ho(A.sub(C)));break}default:A.skip(Q.wire)}}return{version:g.version,params:g.params,images:g.images,spriteTable:WB(I,g.params.frames),audios:g.audios}}function FB(B,A){B.f32(A.r),B.f32(A.g),B.f32(A.b),B.f32(A.a)}function GB(B){return{r:B.f32(),g:B.f32(),b:B.f32(),a:B.f32()}}function co(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&&FB(B,A.fill),A.stroke&&FB(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 ro(B){const A=B.u8(),I=A&1?GB(B):null,g=A&2?GB(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),co(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 Go(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=ro(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 Ro(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 GQ(B,A){const I=B.u32(),g=[];for(let F=0;F<I;F++)g.push(B.string()),await A();B.pad4();const Q=B.u32(),C=I*Q*LC;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 F=0;F<i;F++)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(),w=[];for(let F=0;F<D;F++){const c=B.u32(),G=[];for(let y=0;y<c;y++)G.push(Go(B)),await A();w.push(G)}B.pad4();const h=I*Q,n=B.position,r=new Int32Array(B.sourceBuffer(),n,h);return B.skip(h*4),await A(),{spriteCount:I,frameCount:Q,imageKeys:g,frameData:o,clipPaths:e,clipPathIndex:s,shapesTable:w,shapesIndex:r,hasAnyShapes:B.u8()!==0}}var yo=Object.defineProperty,Mo=(B,A,I)=>A in B?yo(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,hg=(B,A,I)=>Mo(B,typeof A!="symbol"?A+"":A,I);const No=1397182530,So=2;function ko(B){return B+3&-4}let Uo=class{constructor(A){this.buffer=A,hg(this,"view"),hg(this,"bytes"),hg(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=ko(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 rQ(this.bytesValue())}sourceBuffer(){return this.buffer}};async function RQ(B,A,I,g){const Q=gA({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 Uo(B);if(E.u32()!==No)throw new Error("Invalid SVGA worker payload magic");if(E.u16()!==So)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 w=0;w<a;w++)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 w=0;w<s;w++){const h=E.string(),n=E.bytesRef();t.push({key:h,offset:n.offset,length:n.length}),await C()}const D=await GQ(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 yQ=`function iA() {
|
|
1385
1385
|
return typeof DecompressionStream != "undefined";
|
|
1386
1386
|
}
|
|
1387
1387
|
function U() {
|
|
@@ -2837,7 +2837,7 @@ z.onmessage = (A) => {
|
|
|
2837
2837
|
!I || I.type !== "parse-svga" || gg.push(() => Bg(I));
|
|
2838
2838
|
};
|
|
2839
2839
|
//# sourceMappingURL=parser-worker-BN4YjxMF.js.map
|
|
2840
|
-
`,RB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",yQ],{type:"text/javascript;charset=utf-8"});function lo(B){let A;try{if(A=RB&&(self.URL||self.webkitURL).createObjectURL(RB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(yQ),{type:"module",name:B==null?void 0:B.name})}}let iI=null,Yo=1;const eA=new Map;function yB(){return typeof performance!="undefined"?performance.now():Date.now()}function uA(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function ZI(B,A,I){iI===B&&(iI=null);try{B.terminate()}catch(g){}for(const[g,Q]of eA)Q.owner===B&&(eA.delete(g),uA(Q),Q.reject(I==null||g===I?A:new Error("SVGA parser worker restarted after another request was canceled")))}function Ko(){if(!iI){const B=new lo;iI=B,B.addEventListener("message",A=>{const I=A.data;if(!I||I.type!=="parse-svga-result"||I.id==null)return;const g=eA.get(I.id);if(!(!g||g.owner!==B))if(I.error)eA.delete(I.id),uA(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?yB():0;RQ(Q.buffer,Q.debug,g.mainThreadFrameBudgetMs,g.signal).then(E=>{var
|
|
2840
|
+
`,RB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",yQ],{type:"text/javascript;charset=utf-8"});function lo(B){let A;try{if(A=RB&&(self.URL||self.webkitURL).createObjectURL(RB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(yQ),{type:"module",name:B==null?void 0:B.name})}}let iI=null,Yo=1;const eA=new Map;function yB(){return typeof performance!="undefined"?performance.now():Date.now()}function uA(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function ZI(B,A,I){iI===B&&(iI=null);try{B.terminate()}catch(g){}for(const[g,Q]of eA)Q.owner===B&&(eA.delete(g),uA(Q),Q.reject(I==null||g===I?A:new Error("SVGA parser worker restarted after another request was canceled")))}function Ko(){if(!iI){const B=new lo;iI=B,B.addEventListener("message",A=>{const I=A.data;if(!I||I.type!=="parse-svga-result"||I.id==null)return;const g=eA.get(I.id);if(!(!g||g.owner!==B))if(I.error)eA.delete(I.id),uA(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?yB():0;RQ(Q.buffer,Q.debug,g.mainThreadFrameBudgetMs,g.signal).then(E=>{var o;if(eA.get(I.id)!==g)return;eA.delete(I.id),uA(g);const i=(o=E.__debug)==null?void 0:o.parser;i&&typeof i=="object"&&!Array.isArray(i)&&(i.payloadDeserializeMs=yB()-C),g.resolve(E)},E=>{eA.get(I.id)===g&&(eA.delete(I.id),uA(g),g.reject(E instanceof Error?E:new Error(String(E))))})}else eA.delete(I.id),uA(g),g.resolve(I.result)}else eA.delete(I.id),uA(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 iI}function Jo(B,A={}){return xg(()=>{Y(A.signal,"SVGA parser worker task aborted");const I=Ko(),g=Yo++;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,IA("SVGA parser worker task aborted"),g)},eA.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 Lo(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 MQ=`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);
|
|
2841
2841
|
function o() {
|
|
2842
2842
|
return typeof performance != "undefined" ? performance.now() : Date.now();
|
|
2843
2843
|
}
|
|
@@ -2919,7 +2919,7 @@ p.onmessage = (e) => {
|
|
|
2919
2919
|
!t || t.type !== "decode-batch" || P.push(() => T(t));
|
|
2920
2920
|
};
|
|
2921
2921
|
//# sourceMappingURL=svga-image-decode-worker-CQ1mbNml.js.map
|
|
2922
|
-
`,MB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",MQ],{type:"text/javascript;charset=utf-8"});function fo(B){let A;try{if(A=MB&&(self.URL||self.webkitURL).createObjectURL(MB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(MQ),{type:"module",name:B==null?void 0:B.name})}}let oI=null,Ho=1;const FI=new Map;function NQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function VI(B,A,I){oI===B&&(oI=null);try{B.terminate()}catch(g){}for(const[g,Q]of FI)Q.owner===B&&(FI.delete(g),NQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA image decode worker restarted after another request was canceled")))}function uo(){if(!oI){const B=new fo;oI=B,B.addEventListener("message",A=>{var I,g;const Q=A.data;if(!Q||Q.type!=="decode-batch-result")return;const C=FI.get(Q.id);if(!C||C.owner!==B){for(const E of(I=Q.results)!=null?I:[])(g=E.bitmap)==null||g.close();return}FI.delete(Q.id),NQ(C),C.resolve(Q)}),B.addEventListener("error",A=>{VI(B,new Error(A.message||"SVGA image decode worker error"))}),B.addEventListener("messageerror",()=>{VI(B,new Error("SVGA image decode worker message deserialization failed"))})}return oI}function qo(){return typeof Worker!="undefined"&&typeof createImageBitmap=="function"}async function po(B,A,I){const g=gA({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 i=Math.min(E+C,B.byteLength);Q.set(B.subarray(E,i),E),i<B.byteLength&&g.shouldYield()&&await g.yield(),Y(I,"SVGA image decode aborted")}return Q.buffer}async function xo(B,A,I={}){return xg(async()=>{Y(I.signal,"SVGA image decode aborted");const g=uo(),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 i=B.slice(E,E+C),o=[],e=[];for(const[s,D]of i){const w=await po(D,I.mainThreadFrameBudgetMs,I.signal);o.push({key:s,data:w}),e.push(w)}const a=Ho++,t=await new Promise((s,D)=>{var w,h;const n={owner:g,signal:I.signal,resolve:s,reject:D};if(n.onAbort=()=>{VI(g,IA("SVGA image decode aborted"),a)},FI.set(a,n),(w=I.signal)!=null&&w.aborted){n.onAbort();return}(h=I.signal)==null||h.addEventListener("abort",n.onAbort,{once:!0});const r={type:"decode-batch",id:a,items:o,workerTimeSliceMs:I.workerTimeSliceMs,maxConcurrency:I.maxConcurrency};try{g.postMessage(r,e)}catch(F){VI(g,F instanceof Error?F:new Error(String(F)))}});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 i of Q.values())i.close();throw E}},I.signal)}const ng=[73,68,51],mo=128,cg=12,bo=8,KI=new Map,qI=new WeakMap,dI=new WeakMap;function P(){return typeof performance!="undefined"?performance.now():Date.now()}function NB(B,A){B!==!0||!A.__debug||console.info("[GiftStage:SVGA:Profile]",A.__debug)}function To(B,A){return!!(B.startsWith("audio")||A.length>=3&&A[0]===ng[0]&&A[1]===ng[1]&&A[2]===ng[2])}async function vI(B,A,I){const g=gA({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 i=Math.min(E+C,B.byteLength);Q.set(B.subarray(E,i),E),i<B.byteLength&&g.shouldYield()&&await g.yield(),Y(I,"SVGA parse aborted")}return Q.buffer}async function Wo(B,A,I){const g=[],Q=new Map,C=gA({maxBudgetMs:A});for(const[E,i]of B.images){if(Y(I,"SVGA image collection aborted"),To(E,i)){Q.set(E,await vI(i,A,I));continue}i.length!==0&&(g.push([E,i]),C.shouldYield()&&await C.yield(),Y(I,"SVGA image collection aborted"))}return{imageEntries:g,audioBlobs:Q}}async function SB(B,A,I,g){const Q=new Map,C=Math.max(2,Math.min(32,Math.floor(A))),E=gA({maxBudgetMs:Math.max(2,I)});try{for(let i=0;i<B.length;i+=C){Y(g,"SVGA image decode aborted");const o=B.slice(i,i+C);await Promise.all(o.map(async([e,a])=>{try{const t=await createImageBitmap(new Blob([new Uint8Array(a)]),{premultiplyAlpha:"none"});if(g!=null&&g.aborted)throw t.close(),IA("SVGA image decode aborted");Q.set(e,t)}catch(t){if(SA(t))throw t}})),i+C<B.length&&E.shouldYield()&&await E.yield()}return Q}catch(i){for(const o of Q.values())o.close();throw i}}async function kB(B,A,I){const g=new Map;if(B.length===0)return g;let Q=4;const C=2,E=24,i=gA({maxBudgetMs:Math.max(2,A)});try{for(let o=0;o<B.length;){Y(I,"SVGA image decode aborted");const e=typeof performance!="undefined"?performance.now():0,a=Math.min(o+Q,B.length),t=B.slice(o,a);await Promise.all(t.map(async([w,h])=>{try{const n=await createImageBitmap(new Blob([new Uint8Array(h)]),{premultiplyAlpha:"none"});if(I!=null&&I.aborted)throw n.close(),IA("SVGA image decode aborted");g.set(w,n)}catch(n){if(SA(n))throw n}}));const s=i.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)),o=a,o<B.length&&i.shouldYield()&&await i.yield()}return g}catch(o){for(const e of g.values())e.close();throw o}}function Zo(B){var A,I,g,Q,C,E,i;const o=(B==null?void 0:B.svgaLoadFrameBudgetMs)==null?(A=B==null?void 0:B.imageDecodeFrameBudgetMs)!=null?A:cg:Math.min(B.svgaLoadFrameBudgetMs,(I=B.imageDecodeFrameBudgetMs)!=null?I:cg);return{useImageBitmapDecodeWorker:(B==null?void 0:B.useImageBitmapDecodeWorker)!==!1,imageDecodeWorkerChunkSize:(g=B==null?void 0:B.imageDecodeWorkerChunkSize)!=null?g:mo,imageDecodeAdaptiveOnMainThread:(B==null?void 0:B.imageDecodeAdaptiveOnMainThread)!==!1,imageDecodeFrameBudgetMs:o,imageDecodeFixedBatchSize:(Q=B==null?void 0:B.imageDecodeFixedBatchSize)!=null?Q:bo,svgaLoadFrameBudgetMs:(C=B==null?void 0:B.svgaLoadFrameBudgetMs)!=null?C:cg,svgaWorkerFrameBudgetMs:(E=B==null?void 0:B.svgaWorkerFrameBudgetMs)!=null?E:4,svgaWorkerImageDecodeConcurrency:(i=B==null?void 0:B.svgaWorkerImageDecodeConcurrency)!=null?i:2}}async function Vo(B,A){var I;const g=Zo(A),{imageEntries:Q,audioBlobs:C}=await Wo(B,g.svgaLoadFrameBudgetMs,A==null?void 0:A.signal);let E;if(g.useImageBitmapDecodeWorker&&qo()&&Q.length>0)try{E=await xo(Q,g.imageDecodeWorkerChunkSize,{workerTimeSliceMs:g.svgaWorkerFrameBudgetMs,maxConcurrency:g.svgaWorkerImageDecodeConcurrency,mainThreadFrameBudgetMs:g.svgaLoadFrameBudgetMs,signal:A==null?void 0:A.signal})}catch(o){if(SA(o))throw o;console.warn("[GiftStage:SVGA] image decode worker failed, using main thread",o),E=g.imageDecodeAdaptiveOnMainThread?await kB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await SB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal)}else E=g.imageDecodeAdaptiveOnMainThread?await kB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await SB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal);if((I=A==null?void 0:A.signal)!=null&&I.aborted){for(const o of E.values())o.close();throw IA("SVGA parse aborted")}return{movie:B,imageBitmaps:E,audioBlobs:C}}async function UB(B,A){return Vo(Lo(B),A)}async function lB(B,A,I){const g={};for(const[Q,C]of B.images)g[Q]=await vI(C,A,I);return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:g}}function rg(B,A){return B.consumers++,new Promise((I,g)=>{let Q=!1;const C=i=>{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(),i())},E=()=>{C(()=>g(IA("SVGA parse aborted")))};if(A!=null&&A.aborted){E();return}A==null||A.addEventListener("abort",E,{once:!0}),B.promise.then(i=>C(()=>I(i)),i=>C(()=>g(i)))})}async function SQ(B,A,I,g,Q){if(Y(Q==null?void 0:Q.signal,"SVGA parse aborted"),!A){const e=qI.get(B);if(e)return e;const a=dI.get(B);if(a)return rg(a,Q==null?void 0:Q.signal)}if(A){const e=bg(A);if(e)return e;const a=KI.get(A);if(a)return rg(a,Q==null?void 0:Q.signal)}const C=new AbortController,E=C.signal,i=lg(async()=>{var e;if(Y(E,"SVGA parse aborted"),g)try{const F=typeof B=="string"&&I.byteOffset===0&&I.byteLength===I.buffer.byteLength?I.buffer:await vI(I,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),c=await Jo(F,{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"),NB(Q==null?void 0:Q.svgaParseProfile,c),A?iB(A,c):qI.set(B,c),c}catch(r){if(SA(r))throw r;console.warn("[GiftStage:SVGA] worker parse failed, using main thread",r),I=typeof B=="string"?new Uint8Array(await ZA(B)):new Uint8Array(B)}Y(E,"SVGA parse aborted");const a=Q!=null&&Q.svgaParseProfile?P():0;let t;const s=await _i(I,()=>mA()&&gE(I),Q!=null&&Q.svgaParseProfile?r=>{t=r}:void 0);Y(E,"SVGA parse aborted");let D,w,h,n;if(mA()){const r=Q!=null&&Q.svgaParseProfile?P():0,F=Q!=null&&Q.svgaParseProfile?CE(s):null,c=(e=F==null?void 0:F.payload)!=null?e:QE(s);if(Y(E,"SVGA parse aborted"),c){Q!=null&&Q.svgaParseProfile&&(w={path:"wasmDecodeSVGAPayload",operation:"protobufDecodeAndPayloadBuild",inputBytes:s.byteLength,outputBytes:c.byteLength,totalMs:P()-r,wasm:F==null?void 0:F.profile});const G=Q!=null&&Q.svgaParseProfile?P():0,y=c.byteOffset===0&&c.byteLength===c.buffer.byteLength?c.buffer:await vI(c,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E);D=await RQ(y,void 0,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(n=P()-G)}else{const G=Q!=null&&Q.svgaParseProfile?P():0;let y=BE(s);if(Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&y)w={path:"wasmDecodeSVGA",operation:"protobufDecodeAndObjectConvert",inputBytes:s.byteLength,totalMs:P()-G,fallbackFrom:["wasmDecodeSVGAPayload-returned-null"]};else{const R=Q!=null&&Q.svgaParseProfile?P():0;y=Jg(s),Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(w={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:P()-R,fallbackFrom:["wasmDecodeSVGAPayload-returned-null","wasmDecodeSVGA-returned-null"]})}const M=Q!=null&&Q.svgaParseProfile?P():0;D=await lB(y,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(h=P()-M)}}else{const r=Q!=null&&Q.svgaParseProfile?P():0,F=Jg(s);Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(w={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:P()-r});const c=Q!=null&&Q.svgaParseProfile?P():0;D=await lB(F,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(h=P()-c)}return Q!=null&&Q.svgaParseProfile&&(D.__debug={parser:{execution:"main",rawBytes:I.byteLength,inflatedBytes:s.byteLength,totalMs:P()-a,inflate:t,protobuf:w,payloadSerializeMs:h,payloadDeserializeMs:n}},NB(!0,D)),Y(E,"SVGA parse aborted"),A?iB(A,D):qI.set(B,D),D}),o={controller:C,consumers:0,settled:!1,promise:null};return o.promise=i.finally(()=>{o.settled=!0,A?KI.get(A)===o&&KI.delete(A):dI.get(B)===o&&dI.delete(B)}),A?KI.set(A,o):dI.set(B,o),rg(o,Q==null?void 0:Q.signal)}async function vo(B,A){Y(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=bg(g);if(E)return E.params}}else{I=new Uint8Array(B);const E=qI.get(B);if(E)return E.params}const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";return pg(A==null?void 0:A.svgaWorkerTaskConcurrency),(await SQ(B,g,I,Q,A)).params}async function pI(B,A){Y(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=bg(g);if(E)return lg(async()=>UB(E,A))}}else I=new Uint8Array(B);const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";pg(A==null?void 0:A.svgaWorkerTaskConcurrency);const C=await SQ(B,g,I,Q,A);return lg(async()=>UB(C,A))}function Xo(){return{rects:[],cursorX:0,shelfY:0,shelfH:0,usedW:0,usedH:0}}function YB(B){return B--,B|=B>>1,B|=B>>2,B|=B>>4,B|=B>>8,B|=B>>16,B+1}function Oo(B,A,I,g,Q,C){const E=Math.max(1,Q-g),i=Math.min(1,C,E/Math.max(A,I));return{key:B,width:A,height:I,packedWidth:Math.max(1,Math.floor(A*i)),packedHeight:Math.max(1,Math.floor(I*i)),scale:i}}function Lg(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 i=B.shelfY+B.shelfH;return i+E>Q?!1:(B.shelfY=i,B.shelfH=0,B.cursorX=0,Lg(B,A,I,g,Q))}async function Fg(B,A,I,g,Q){const C=[];for(const i of B)C.push(Oo(i.key,i.width,i.height,A,I,g)),await Q();C.sort((i,o)=>o.packedHeight-i.packedHeight||o.packedWidth-i.packedWidth),await Q();const E=[];for(const i of C){let o=!1;for(let e=0;e<E.length;e++){if(Lg(E[e],i,e,A,I)){o=!0;break}await Q()}if(!o){const e=Xo(),a=E.length;if(!Lg(e,i,a,A,I))throw new Error(`SVGA atlas image too large: ${i.key} ${i.width}x${i.height}, max texture size ${I}`);E.push(e)}await Q()}return E}async function KB(B,A,I){const g=[];for(const Q of B)g.push({rects:Q.rects,atlasW:Math.min(A,YB(Math.max(1,Q.usedW))),atlasH:Math.min(A,YB(Math.max(1,Q.usedH)))}),await I();return g}async function jo(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 Po(B,A,I,g,Q){const C=Math.max(1,Math.floor(g)),E=await Fg(B,A,I,1,Q);if(E.length<=C)return KB(E,I,Q);let i=await jo(B,I,Q),o=1,e=await Fg(B,A,I,i,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=(i+o)*.5,s=await Fg(B,A,I,t,Q);s.length<=C?(e=s,i=t):o=t,await Q()}return KB(e,I,Q)}function zo(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)),i=I.x,o=I.y,e=I.w,a=I.h,t=Math.min(E,i),s=Math.min(E,o),D=Math.min(E,g-(i+e)),w=Math.min(E,Q-(o+a)),h=A.imageSmoothingEnabled;A.imageSmoothingEnabled=!1,t>0&&A.drawImage(B,i,o,1,a,i-t,o,t,a),D>0&&A.drawImage(B,i+e-1,o,1,a,i+e,o,D,a),s>0&&A.drawImage(B,i,o,e,1,i,o-s,e,s),w>0&&A.drawImage(B,i,o+a-1,e,1,i,o+a,e,w),t>0&&s>0&&A.drawImage(B,i,o,1,1,i-t,o-s,t,s),D>0&&s>0&&A.drawImage(B,i+e-1,o,1,1,i+e,o-s,D,s),t>0&&w>0&&A.drawImage(B,i,o+a-1,1,1,i-t,o+a,t,w),D>0&&w>0&&A.drawImage(B,i+e-1,o+a-1,1,1,i+e,o+a,D,w),A.imageSmoothingEnabled=h}const kQ=`function x() {
|
|
2922
|
+
`,MB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",MQ],{type:"text/javascript;charset=utf-8"});function fo(B){let A;try{if(A=MB&&(self.URL||self.webkitURL).createObjectURL(MB),!A)throw"";const I=new Worker(A,{type:"module",name:B==null?void 0:B.name});return I.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(A)}),I}catch(I){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(MQ),{type:"module",name:B==null?void 0:B.name})}}let oI=null,Ho=1;const FI=new Map;function NQ(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function VI(B,A,I){oI===B&&(oI=null);try{B.terminate()}catch(g){}for(const[g,Q]of FI)Q.owner===B&&(FI.delete(g),NQ(Q),Q.reject(I==null||g===I?A:new Error("SVGA image decode worker restarted after another request was canceled")))}function uo(){if(!oI){const B=new fo;oI=B,B.addEventListener("message",A=>{var I,g;const Q=A.data;if(!Q||Q.type!=="decode-batch-result")return;const C=FI.get(Q.id);if(!C||C.owner!==B){for(const E of(I=Q.results)!=null?I:[])(g=E.bitmap)==null||g.close();return}FI.delete(Q.id),NQ(C),C.resolve(Q)}),B.addEventListener("error",A=>{VI(B,new Error(A.message||"SVGA image decode worker error"))}),B.addEventListener("messageerror",()=>{VI(B,new Error("SVGA image decode worker message deserialization failed"))})}return oI}function qo(){return typeof Worker!="undefined"&&typeof createImageBitmap=="function"}async function po(B,A,I){const g=gA({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 xo(B,A,I={}){return xg(async()=>{Y(I.signal,"SVGA image decode aborted");const g=uo(),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 w=await po(D,I.mainThreadFrameBudgetMs,I.signal);i.push({key:s,data:w}),e.push(w)}const a=Ho++,t=await new Promise((s,D)=>{var w,h;const n={owner:g,signal:I.signal,resolve:s,reject:D};if(n.onAbort=()=>{VI(g,IA("SVGA image decode aborted"),a)},FI.set(a,n),(w=I.signal)!=null&&w.aborted){n.onAbort();return}(h=I.signal)==null||h.addEventListener("abort",n.onAbort,{once:!0});const r={type:"decode-batch",id:a,items:i,workerTimeSliceMs:I.workerTimeSliceMs,maxConcurrency:I.maxConcurrency};try{g.postMessage(r,e)}catch(F){VI(g,F instanceof Error?F:new Error(String(F)))}});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 ng=[73,68,51],mo=128,cg=12,bo=8,KI=new Map,qI=new WeakMap,dI=new WeakMap;function P(){return typeof performance!="undefined"?performance.now():Date.now()}function NB(B,A){B!==!0||!A.__debug||console.info("[GiftStage:SVGA:Profile]",A.__debug)}function To(B,A){return!!(B.startsWith("audio")||A.length>=3&&A[0]===ng[0]&&A[1]===ng[1]&&A[2]===ng[2])}async function vI(B,A,I){const g=gA({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 Wo(B,A,I){const g=[],Q=new Map,C=gA({maxBudgetMs:A});for(const[E,o]of B.images){if(Y(I,"SVGA image collection aborted"),To(E,o)){Q.set(E,await vI(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 SB(B,A,I,g){const Q=new Map,C=Math.max(2,Math.min(32,Math.floor(A))),E=gA({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(),IA("SVGA image decode aborted");Q.set(e,t)}catch(t){if(SA(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 kB(B,A,I){const g=new Map;if(B.length===0)return g;let Q=4;const C=2,E=24,o=gA({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([w,h])=>{try{const n=await createImageBitmap(new Blob([new Uint8Array(h)]),{premultiplyAlpha:"none"});if(I!=null&&I.aborted)throw n.close(),IA("SVGA image decode aborted");g.set(w,n)}catch(n){if(SA(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 Zo(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:cg:Math.min(B.svgaLoadFrameBudgetMs,(I=B.imageDecodeFrameBudgetMs)!=null?I:cg);return{useImageBitmapDecodeWorker:(B==null?void 0:B.useImageBitmapDecodeWorker)!==!1,imageDecodeWorkerChunkSize:(g=B==null?void 0:B.imageDecodeWorkerChunkSize)!=null?g:mo,imageDecodeAdaptiveOnMainThread:(B==null?void 0:B.imageDecodeAdaptiveOnMainThread)!==!1,imageDecodeFrameBudgetMs:i,imageDecodeFixedBatchSize:(Q=B==null?void 0:B.imageDecodeFixedBatchSize)!=null?Q:bo,svgaLoadFrameBudgetMs:(C=B==null?void 0:B.svgaLoadFrameBudgetMs)!=null?C:cg,svgaWorkerFrameBudgetMs:(E=B==null?void 0:B.svgaWorkerFrameBudgetMs)!=null?E:4,svgaWorkerImageDecodeConcurrency:(o=B==null?void 0:B.svgaWorkerImageDecodeConcurrency)!=null?o:2}}async function Vo(B,A){var I;const g=Zo(A),{imageEntries:Q,audioBlobs:C}=await Wo(B,g.svgaLoadFrameBudgetMs,A==null?void 0:A.signal);let E;if(g.useImageBitmapDecodeWorker&&qo()&&Q.length>0)try{E=await xo(Q,g.imageDecodeWorkerChunkSize,{workerTimeSliceMs:g.svgaWorkerFrameBudgetMs,maxConcurrency:g.svgaWorkerImageDecodeConcurrency,mainThreadFrameBudgetMs:g.svgaLoadFrameBudgetMs,signal:A==null?void 0:A.signal})}catch(i){if(SA(i))throw i;console.warn("[GiftStage:SVGA] image decode worker failed, using main thread",i),E=g.imageDecodeAdaptiveOnMainThread?await kB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await SB(Q,g.imageDecodeFixedBatchSize,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal)}else E=g.imageDecodeAdaptiveOnMainThread?await kB(Q,g.imageDecodeFrameBudgetMs,A==null?void 0:A.signal):await SB(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 IA("SVGA parse aborted")}return{movie:B,imageBitmaps:E,audioBlobs:C}}async function UB(B,A){return Vo(Lo(B),A)}async function lB(B,A,I){const g={};for(const[Q,C]of B.images)g[Q]=await vI(C,A,I);return{version:B.version,params:B.params,spriteTable:B.spriteTable,audios:B.audios,images:g}}function rg(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(IA("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 SQ(B,A,I,g,Q){if(Y(Q==null?void 0:Q.signal,"SVGA parse aborted"),!A){const e=qI.get(B);if(e)return e;const a=dI.get(B);if(a)return rg(a,Q==null?void 0:Q.signal)}if(A){const e=bg(A);if(e)return e;const a=KI.get(A);if(a)return rg(a,Q==null?void 0:Q.signal)}const C=new AbortController,E=C.signal,o=lg(async()=>{var e;if(Y(E,"SVGA parse aborted"),g)try{const F=typeof B=="string"&&I.byteOffset===0&&I.byteLength===I.buffer.byteLength?I.buffer:await vI(I,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),c=await Jo(F,{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"),NB(Q==null?void 0:Q.svgaParseProfile,c),A?iB(A,c):qI.set(B,c),c}catch(r){if(SA(r))throw r;console.warn("[GiftStage:SVGA] worker parse failed, using main thread",r),I=typeof B=="string"?new Uint8Array(await ZA(B)):new Uint8Array(B)}Y(E,"SVGA parse aborted");const a=Q!=null&&Q.svgaParseProfile?P():0;let t;const s=await _i(I,()=>mA()&&gE(I),Q!=null&&Q.svgaParseProfile?r=>{t=r}:void 0);Y(E,"SVGA parse aborted");let D,w,h,n;if(mA()){const r=Q!=null&&Q.svgaParseProfile?P():0,F=Q!=null&&Q.svgaParseProfile?CE(s):null,c=(e=F==null?void 0:F.payload)!=null?e:QE(s);if(Y(E,"SVGA parse aborted"),c){Q!=null&&Q.svgaParseProfile&&(w={path:"wasmDecodeSVGAPayload",operation:"protobufDecodeAndPayloadBuild",inputBytes:s.byteLength,outputBytes:c.byteLength,totalMs:P()-r,wasm:F==null?void 0:F.profile});const G=Q!=null&&Q.svgaParseProfile?P():0,y=c.byteOffset===0&&c.byteLength===c.buffer.byteLength?c.buffer:await vI(c,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E);D=await RQ(y,void 0,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(n=P()-G)}else{const G=Q!=null&&Q.svgaParseProfile?P():0;let y=BE(s);if(Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&y)w={path:"wasmDecodeSVGA",operation:"protobufDecodeAndObjectConvert",inputBytes:s.byteLength,totalMs:P()-G,fallbackFrom:["wasmDecodeSVGAPayload-returned-null"]};else{const R=Q!=null&&Q.svgaParseProfile?P():0;y=Jg(s),Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(w={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:P()-R,fallbackFrom:["wasmDecodeSVGAPayload-returned-null","wasmDecodeSVGA-returned-null"]})}const M=Q!=null&&Q.svgaParseProfile?P():0;D=await lB(y,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(h=P()-M)}}else{const r=Q!=null&&Q.svgaParseProfile?P():0,F=Jg(s);Y(E,"SVGA parse aborted"),Q!=null&&Q.svgaParseProfile&&(w={path:"jsDecodeSVGAProto",operation:"protobufDecode",inputBytes:s.byteLength,totalMs:P()-r});const c=Q!=null&&Q.svgaParseProfile?P():0;D=await lB(F,Q==null?void 0:Q.svgaLoadFrameBudgetMs,E),Q!=null&&Q.svgaParseProfile&&(h=P()-c)}return Q!=null&&Q.svgaParseProfile&&(D.__debug={parser:{execution:"main",rawBytes:I.byteLength,inflatedBytes:s.byteLength,totalMs:P()-a,inflate:t,protobuf:w,payloadSerializeMs:h,payloadDeserializeMs:n}},NB(!0,D)),Y(E,"SVGA parse aborted"),A?iB(A,D):qI.set(B,D),D}),i={controller:C,consumers:0,settled:!1,promise:null};return i.promise=o.finally(()=>{i.settled=!0,A?KI.get(A)===i&&KI.delete(A):dI.get(B)===i&&dI.delete(B)}),A?KI.set(A,i):dI.set(B,i),rg(i,Q==null?void 0:Q.signal)}async function vo(B,A){Y(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=bg(g);if(E)return E.params}}else{I=new Uint8Array(B);const E=qI.get(B);if(E)return E.params}const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";return pg(A==null?void 0:A.svgaWorkerTaskConcurrency),(await SQ(B,g,I,Q,A)).params}async function pI(B,A){Y(A==null?void 0:A.signal,"SVGA parse aborted");let I;const g=typeof B=="string"?`svga-payload:${B}`:null;if(typeof B=="string"){if(I=new Uint8Array(await ZA(B)),Y(A==null?void 0:A.signal,"SVGA parse aborted"),g){const E=bg(g);if(E)return lg(async()=>UB(E,A))}}else I=new Uint8Array(B);const Q=(A==null?void 0:A.useWorker)!==!1&&typeof Worker!="undefined";pg(A==null?void 0:A.svgaWorkerTaskConcurrency);const C=await SQ(B,g,I,Q,A);return lg(async()=>UB(C,A))}function Xo(){return{rects:[],cursorX:0,shelfY:0,shelfH:0,usedW:0,usedH:0}}function YB(B){return B--,B|=B>>1,B|=B>>2,B|=B>>4,B|=B>>8,B|=B>>16,B+1}function Oo(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 Lg(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,Lg(B,A,I,g,Q))}async function Fg(B,A,I,g,Q){const C=[];for(const o of B)C.push(Oo(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(Lg(E[e],o,e,A,I)){i=!0;break}await Q()}if(!i){const e=Xo(),a=E.length;if(!Lg(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 KB(B,A,I){const g=[];for(const Q of B)g.push({rects:Q.rects,atlasW:Math.min(A,YB(Math.max(1,Q.usedW))),atlasH:Math.min(A,YB(Math.max(1,Q.usedH)))}),await I();return g}async function jo(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 Po(B,A,I,g,Q){const C=Math.max(1,Math.floor(g)),E=await Fg(B,A,I,1,Q);if(E.length<=C)return KB(E,I,Q);let o=await jo(B,I,Q),i=1,e=await Fg(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 Fg(B,A,I,t,Q);s.length<=C?(e=s,o=t):i=t,await Q()}return KB(e,I,Q)}function zo(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)),w=Math.min(E,Q-(i+a)),h=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),w>0&&A.drawImage(B,o,i+a-1,e,1,o,i+a,e,w),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&&w>0&&A.drawImage(B,o,i+a-1,1,1,o-t,i+a,t,w),D>0&&w>0&&A.drawImage(B,o+e-1,i+a-1,1,1,o+e,i+a,D,w),A.imageSmoothingEnabled=h}const kQ=`function x() {
|
|
2923
2923
|
return {
|
|
2924
2924
|
rects: [],
|
|
2925
2925
|
cursorX: 0,
|
|
@@ -3182,7 +3182,7 @@ m.onmessage = (t) => {
|
|
|
3182
3182
|
!e || e.type !== "build-svga-atlas" || Y.push(() => $(e));
|
|
3183
3183
|
};
|
|
3184
3184
|
//# sourceMappingURL=svga-atlas-worker-B7n5WXUn.js.map
|
|
3185
|
-
`,dB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",kQ],{type:"text/javascript;charset=utf-8"});function _o(B){let A;try{if(A=dB&&(self.URL||self.webkitURL).createObjectURL(dB),!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(kQ),{type:"module",name:B==null?void 0:B.name})}}class NA extends Error{constructor(A,I){super(A,I),this.name="SVGAAtlasWorkerBuildError"}}let eI=null,$o=1;const GI=new Map,aI=new Map;function tI(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function XI(B,A,I){eI===B&&(eI=null);try{B.terminate()}catch(g){}for(const[g,Q]of GI)Q.owner===B&&(GI.delete(g),tI(Q),Q.releaseGate(),Q.reject(I==null||g===I?A:new NA("SVGA atlas worker restarted after another request was canceled")));for(const[g,Q]of aI)if(Q.owner===B){aI.delete(g),tI(Q),Q.releaseGate();for(const C of Q.resolve)C(null)}}function Ae(){if(!eI){const B=new _o;eI=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=aI.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&&(aI.delete(C.id),tI(e),e.releaseGate());return}if(C.type!=="build-svga-atlas-result")return;const E=GI.get(C.id);if(!E||E.owner!==B){for(const e of(I=C.pages)!=null?I:[])e.bitmap.close();return}if(GI.delete(C.id),C.error){tI(E),E.releaseGate(),E.reject(new NA(C.error));return}const i=(g=C.pages)!=null?g:[];let o;if(E.captureEncodedPng&&i.length>0){const e=[];o=i.map(()=>new Promise(a=>{e.push(a)})),aI.set(C.id,{owner:B,remaining:i.length,releaseGate:E.releaseGate,signal:E.signal,onAbort:E.onAbort,resolve:e})}else tI(E),E.releaseGate();E.resolve({pages:i.map((e,a)=>({...e,pngBytesPromise:o==null?void 0:o[a]})),rects:(Q=C.rects)!=null?Q:[]})}),B.addEventListener("error",A=>{XI(B,new NA(A.message||"SVGA atlas worker error"))}),B.addEventListener("messageerror",()=>{XI(B,new NA("SVGA atlas worker message deserialization failed"))})}return eI}function UQ(){return typeof Worker!="undefined"&&bB()&&typeof OffscreenCanvas.prototype.transferToImageBitmap=="function"}async function Ie(B,A){if(!UQ())return Promise.reject(new Error("SVGA atlas worker unavailable"));const I=await qE(A.signal);try{Y(A.signal,"SVGA atlas worker task aborted");const g=[],Q=[];for(const[i,o]of B)g.push(i),Q.push(o);let C;try{C=Ae()}catch(i){throw I(),new NA("SVGA atlas worker creation failed",{cause:i})}const E=$o++;return await new Promise((i,o)=>{var e,a;const t={owner:C,captureEncodedPng:A.captureEncodedPng,releaseGate:I,signal:A.signal,resolve:i,reject:o};if(t.onAbort=()=>{XI(C,new NA("SVGA atlas worker task aborted",{cause:IA("SVGA atlas worker task aborted")}),E)},GI.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){XI(C,new NA("SVGA atlas worker postMessage failed",{cause:s}))}})}catch(g){throw I(),g}}function ge(B,A){if(bB())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 Be(B){return B.getContext("2d")}async function Qe(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 lQ(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 Ce(B,A,I,g,Q){var C;const E=gA({maxBudgetMs:Q==null?void 0:Q.mainThreadFrameBudgetMs}),i=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 o=[];for(const[s,D]of B)o.push({key:s,width:D.width,height:D.height}),await i();const e=await Po(o,g,I,(C=Q==null?void 0:Q.maxPages)!=null?C:4,i);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],w=ge(D.atlasW,D.atlasH),h=Be(w);if(!h)throw new Error("Atlas: 2d context unavailable");h.clearRect(0,0,D.atlasW,D.atlasH);for(let F=0;F<D.rects.length;F++){const c=D.rects[F],G=B.get(c.key);h.drawImage(G,c.x,c.y,c.w,c.h),zo(w,h,c,D.atlasW,D.atlasH,g),F+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?Qe(w):void 0;Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const r=A.createTexture(w,{width:D.atlasW,height:D.atlasH,filter:"linear",premultiplyAlpha:!0});for(const F of D.rects)a.set(F.key,{x:F.x/D.atlasW,y:F.y/D.atlasH,w:F.w/D.atlasW,h:F.h/D.atlasH,textureIndex:s});t.push({textureHandle:r,atlasWidth:D.atlasW,atlasHeight:D.atlasH,encodedPngBytesPromise:n})}}catch(s){for(const D of t)A.deleteTexture(D.textureHandle);throw s}return lQ(t,a)}async function Ee(B,A,I,g,Q){var C;const E=await Ie(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}),i=new Map;for(const a of E.rects)i.set(a.key,{x:a.x,y:a.y,w:a.w,h:a.h,textureIndex:a.textureIndex});const o=[],e=gA({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){}o.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 o)A.deleteTexture(t.textureHandle);throw a}return lQ(o,i)}async function YQ(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&&UQ()?Ee(B,A,E,g,Q):Ce(B,A,E,g,Q)}function ie(B){return B}function oe(B){return B*B}function ee(B){return B*(2-B)}function ae(B){return B<.5?2*B*B:-1+(4-2*B)*B}function KQ(B){const A=B-1;return A*A*A+1}function te(B){return B<.5?4*B*B*B:(B-1)*(2*B-2)*(2*B-2)+1}function se(B){return 1+2.70158*Math.pow(B-1,3)+1.70158*Math.pow(B-1,2)}let JI=null;function dQ(){return JI||(JI=Promise.resolve().then(()=>require("./mp4box.all-DH-U-29f.cjs")).catch(B=>{throw JI=null,B})),JI}const De=800;function we(B){return B.startsWith("avc1")||B.startsWith("avc3")}function he(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 ne(B){const A=B.avcC;if(!A)return;const{DataStream:I}=await dQ(),g=new I;A.write(g);const Q=g.byteLength;if(Q<=0)return;const C=g.buffer.slice(0,Q);return he(C)}async function ce(B){const{createFile:A}=await dQ();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 i,o,e,a,t,s,D;const w=(i=E.videoTracks)==null?void 0:i[0];if(!w){g(new Error("mp4box: no video track"));return}if(!we(w.codec)){g(new Error(`mp4box: unsupported video codec ${w.codec}`));return}if(w.nb_samples>De){g(new Error(`mp4box: too many samples (${w.nb_samples})`));return}const h=[];Q.onSamples=(r,F,c)=>{h.push(...c)},Q.setExtractionOptions(w.id,null,{nbSamples:Math.max(w.nb_samples,1)}),Q.start();const n=w.timescale>0?w.duration/w.timescale:E.duration/(E.timescale||1);if(h.length===0){g(new Error("mp4box: extraction produced no samples"));return}I({codec:w.codec,timescale:w.timescale,durationSec:Number.isFinite(n)?n:0,videoWidth:(a=(e=(o=w.video)==null?void 0:o.width)!=null?e:w.track_width)!=null?a:0,videoHeight:(D=(s=(t=w.video)==null?void 0:t.height)!=null?s:w.track_height)!=null?D:0,samples:h})},Q.appendBuffer(C),Q.flush()})}const JB=25e3;async function re(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 Fe(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 ${JB}ms (${JSON.stringify(A)})`)),JB)})])}catch(I){try{B.close()}catch(g){}throw I}}async function Ge(B,A,I,g){var Q,C;if(I.length===0)return{frames:[],timesSec:new Float64Array(0)};const E=[...I].sort((w,h)=>{var n,r,F,c;const G=((r=(n=w.dts)!=null?n:w.cts)!=null?r:0)-((c=(F=h.dts)!=null?F:h.cts)!=null?c:0);return G!==0?G:0}),i=[],o=new VideoDecoder({output:w=>{i.push(w)},error:w=>{throw w}}),e=await ye(B,A);o.configure(e);let a=0;for(const w of E){const h=w.data;if(!h||h.byteLength===0)continue;const n=(C=(Q=w.cts)!=null?Q:w.dts)!=null?C:0,r=Math.round(n/g*1e6),F=w.duration&&g>0?Math.round(w.duration/g*1e6):void 0,c=new Uint8Array(h.byteLength);c.set(h);const G=new EncodedVideoChunk({type:w.is_sync?"key":"delta",timestamp:r,duration:F,data:c});try{o.decode(G)}catch(y){console.error("[GiftStage:WC] decoder.decode failed",{chunkIndex:a,err:y});try{o.close()}catch(M){}throw y}a++,await new Promise(y=>queueMicrotask(y))}await re(o,"after last decode",1e4);const t=o.decodeQueueSize,s=i.length;await Fe(o,{chunksDecoded:a,outputsBeforeFlush:s,queueBeforeFlush:t}),o.close(),i.sort((w,h)=>w.timestamp-h.timestamp);const D=Float64Array.from(i.map(w=>w.timestamp/1e6));if(i.length===0)throw new Error("WebCodecs: decoder produced no frames");return{frames:i,timesSec:D}}function Gg(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 i=C+E>>>1;B[i]<=I?C=i:E=i}return C}function Re(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 i=C+E;let o=B>0?B:i;if(!(o>0)&&A.length>=2){const e=(A[A.length-1]-A[0])/(A.length-1);o=A[A.length-1]+(e>0?e:1/30)}return o>0||(o=Math.max(i,1/30)),o}async function ye(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 Me(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 Ne=Object.defineProperty,Se=(B,A,I)=>A in B?Ne(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,X=(B,A,I)=>Se(B,typeof A!="symbol"?A+"":A,I);const ke=28,Ue=8;class le{constructor(A){X(this,"maxSize"),X(this,"map",new Map),X(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,i,o=-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>=o&&(o=t,i=a)}const e=(A=C!=null?C:E)!=null?A:i;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 i of this.map.keys())i<=A&&i>g&&(g=i),i>=A&&i<Q&&(Q=i),i>C&&(C=i);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 LB(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(i){Q(i instanceof Error?i:new Error(String(i)))}};setTimeout(E,0)})}let Ye=1;class LA{constructor(A,I,g,Q,C,E,i,o,e,a,t){X(this,"duration"),X(this,"videoWidth"),X(this,"videoHeight"),X(this,"timesSec"),X(this,"worker"),X(this,"workerMsgId"),X(this,"streaming"),X(this,"ring"),X(this,"frames"),X(this,"maxDecodedFrames"),X(this,"decodeAheadFrames"),X(this,"lastWrapped",-1),X(this,"lastEnsureNeedIdx",-1),X(this,"lastEnsureFreeSlots",-1),X(this,"destroyed",!1),this.duration=A,this.videoWidth=I,this.videoHeight=g,this.timesSec=Q,this.worker=C,this.workerMsgId=E,this.streaming=i,this.ring=o,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,i=(Q=g==null?void 0:g.maxDecodedFrames)!=null?Q:ke,o=(C=g==null?void 0:g.decodeAheadFrames)!=null?C:Ue;let e;if(typeof A=="string"?e=await Ke(A,I):e=A,E&&typeof Worker!="undefined"){const a=e.slice(0);try{return await LA.createViaWorker(a,i,o)}catch(t){console.warn("[GiftStage:WC] Worker decode failed, falling back to main thread",t)}}return LA.createOnMainThread(e,i,o)}static async createViaWorker(A,I,g){const Q=new Me,C=Ye++,E=new le(I);let i=0,o=0,e=0,a=new Float64Array(0),t=!1,s=null;const D=F=>{const c=F.data;if(!(!c||c.id!==C)){if(c.type==="meta"){i=c.duration,o=c.videoWidth,e=c.videoHeight;const G=c.timesSec;a=new Float64Array(G.buffer,G.byteOffset,G.length),t=!0;return}if(c.type==="frame"){E.set(c.index,c.frame);return}c.type!=="eos"&&c.type==="error"&&(s=new Error(c.message))}},w=F=>{s=new Error(F.message||"Worker error")};Q.addEventListener("message",D),Q.addEventListener("error",w);const h=A;Q.postMessage({type:"init",id:C,buffer:h,maxDecodedFrames:I,decodeAheadFrames:g},[h]);try{if(await LB(()=>t||s!=null,6e4,"meta"),s)throw s;const F=i>0?i:1e-6,c=Gg(a,F,0);if(await LB(()=>s!=null||E.bestAtOrBefore(c)!=null,6e4,"first frame"),s)throw s}catch(F){throw Q.removeEventListener("message",D),Q.removeEventListener("error",w),Q.terminate(),E.clear(),F instanceof Error?F:new Error(String(F))}const n=a.length>0?a[0]:0,r=a.length>0?a[a.length-1]:0;return console.info(`[GiftStage:WC] worker streaming ready frames=${a.length} duration=${i.toFixed(4)}s size=${o}x${e} times=[${n.toFixed(4)} … ${r.toFixed(4)}] ring=${I}`),new LA(i,o,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 ce(A);if(Q.samples.length===0)throw new Error("mp4box: no samples");const E=Q.samples[0].description,i=E?await ne(E):void 0;console.info("[GiftStage:WC] VideoDecoder decode (main thread)…");const{frames:o,timesSec:e}=await Ge(Q.codec,i,Q.samples,Q.timescale),a=o[o.length-1],t=Re(Q.durationSec,e,o),s=Q.videoWidth||a.displayWidth||a.codedWidth||0,D=Q.videoHeight||a.displayHeight||a.codedHeight||0,w=e.length>0?e[0]:0,h=e.length>0?e[e.length-1]:0;return console.info(`[GiftStage:WC] main decode ok frames=${o.length} duration=${t.toFixed(4)}s size=${s}x${D} times=[${w.toFixed(4)} … ${h.toFixed(4)}]`),new LA(t,s,D,e,null,0,!1,null,o,I,g)}ensureDecodedThrough(A){var I,g,Q,C,E;if(this.destroyed||!this.streaming||!this.worker)return;const i=this.duration>0?this.duration:1e-6;if(!Number.isFinite(A)||!Number.isFinite(i))return;const o=(A%i+i)%i;if(this.lastWrapped>=0&&o<this.lastWrapped-.001&&this.lastWrapped>i*.1&&((I=this.ring)==null||I.clear(),this.lastEnsureNeedIdx=-1,this.lastEnsureFreeSlots=-1,this.worker.postMessage({type:"rewind",id:this.workerMsgId})),this.lastWrapped=o,this.timesSec.length===0)return;const e=Gg(this.timesSec,i,o);(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,i=Gg(this.timesSec,C,E);if(this.streaming&&this.ring){this.ring.setPlaybackHint(i);const e=this.ring.frameForDisplay(i);return e||console.warn("[GiftStage:WC] getFrameForTime no frame in ring",{idx:i,wrapped:E,clip:C}),e}const o=(Q=this.frames)==null?void 0:Q[i];return o||console.warn("[GiftStage:WC] getFrameForTime missing frame at index",{idx:i,wrapped:E,clip:C}),o!=null?o: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 Ke(B,A){return ZA(B,A)}function fB(B,A,I,g,Q){const C=Math.max(1,Math.floor(A)),E=Math.max(1,Math.floor(I)),i=Math.max(1,B.width*B.scale),o=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,i/C,o/E),Rg(C,E,e);({w:t,h:s}=JA(Q.info))}if(!(t>0)||!(s>0))return e=Math.min(1,i/C,o/E),Rg(C,E,e);const D=a==="cover"?Math.max(i/t,o/s):Math.min(i/t,o/s);e=Math.min(1,D)}else e=Math.min(1,i/C,o/E);return Rg(C,E,e)}function Rg(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 de=Object.defineProperty,Je=(B,A,I)=>A in B?de(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,CA=(B,A,I)=>Je(B,typeof A!="symbol"?A+"":A,I);const RI=9;function Le(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 OI(B,A,I,g,Q,C){return[B/Q,(B+I)/Q,(C-A-g)/C,(C-A)/C]}function HB(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 fe(B,A,I){const g=HB(B,B.VERTEX_SHADER,A),Q=HB(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 uB(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 He(B){const[A,I,g,Q]=B.rgbFrame,[C,E,i,o]=B.aFrame,e=OI(A,I,g,Q,B.videoW,B.videoH),a=OI(C,E,i,o,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 ue(B,A,I){const g=Math.max(1,A)*RI,Q=[],C=[],E=I?"texture":"texture2D";for(let o=0;o<B;o++)Q.push(`uniform sampler2D u_image${o+1};`),C.push(`if (ndx == ${o+1}) { color = ${E}(u_image${o+1}, uv); }`);const i=I?"fragColor":"gl_FragColor";return`${I?"#version 300 es":""}
|
|
3185
|
+
`,dB=typeof self!="undefined"&&self.Blob&&new Blob(["URL.revokeObjectURL(import.meta.url);",kQ],{type:"text/javascript;charset=utf-8"});function _o(B){let A;try{if(A=dB&&(self.URL||self.webkitURL).createObjectURL(dB),!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(kQ),{type:"module",name:B==null?void 0:B.name})}}class NA extends Error{constructor(A,I){super(A,I),this.name="SVGAAtlasWorkerBuildError"}}let eI=null,$o=1;const GI=new Map,aI=new Map;function tI(B){B.signal&&B.onAbort&&B.signal.removeEventListener("abort",B.onAbort)}function XI(B,A,I){eI===B&&(eI=null);try{B.terminate()}catch(g){}for(const[g,Q]of GI)Q.owner===B&&(GI.delete(g),tI(Q),Q.releaseGate(),Q.reject(I==null||g===I?A:new NA("SVGA atlas worker restarted after another request was canceled")));for(const[g,Q]of aI)if(Q.owner===B){aI.delete(g),tI(Q),Q.releaseGate();for(const C of Q.resolve)C(null)}}function Ae(){if(!eI){const B=new _o;eI=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=aI.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&&(aI.delete(C.id),tI(e),e.releaseGate());return}if(C.type!=="build-svga-atlas-result")return;const E=GI.get(C.id);if(!E||E.owner!==B){for(const e of(I=C.pages)!=null?I:[])e.bitmap.close();return}if(GI.delete(C.id),C.error){tI(E),E.releaseGate(),E.reject(new NA(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)})),aI.set(C.id,{owner:B,remaining:o.length,releaseGate:E.releaseGate,signal:E.signal,onAbort:E.onAbort,resolve:e})}else tI(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=>{XI(B,new NA(A.message||"SVGA atlas worker error"))}),B.addEventListener("messageerror",()=>{XI(B,new NA("SVGA atlas worker message deserialization failed"))})}return eI}function UQ(){return typeof Worker!="undefined"&&bB()&&typeof OffscreenCanvas.prototype.transferToImageBitmap=="function"}async function Ie(B,A){if(!UQ())return Promise.reject(new Error("SVGA atlas worker unavailable"));const I=await qE(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=Ae()}catch(o){throw I(),new NA("SVGA atlas worker creation failed",{cause:o})}const E=$o++;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=()=>{XI(C,new NA("SVGA atlas worker task aborted",{cause:IA("SVGA atlas worker task aborted")}),E)},GI.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){XI(C,new NA("SVGA atlas worker postMessage failed",{cause:s}))}})}catch(g){throw I(),g}}function ge(B,A){if(bB())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 Be(B){return B.getContext("2d")}async function Qe(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 lQ(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 Ce(B,A,I,g,Q){var C;const E=gA({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 Po(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],w=ge(D.atlasW,D.atlasH),h=Be(w);if(!h)throw new Error("Atlas: 2d context unavailable");h.clearRect(0,0,D.atlasW,D.atlasH);for(let F=0;F<D.rects.length;F++){const c=D.rects[F],G=B.get(c.key);h.drawImage(G,c.x,c.y,c.w,c.h),zo(w,h,c,D.atlasW,D.atlasH,g),F+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?Qe(w):void 0;Y(Q==null?void 0:Q.signal,"SVGA atlas build aborted");const r=A.createTexture(w,{width:D.atlasW,height:D.atlasH,filter:"linear",premultiplyAlpha:!0});for(const F of D.rects)a.set(F.key,{x:F.x/D.atlasW,y:F.y/D.atlasH,w:F.w/D.atlasW,h:F.h/D.atlasH,textureIndex:s});t.push({textureHandle:r,atlasWidth:D.atlasW,atlasHeight:D.atlasH,encodedPngBytesPromise:n})}}catch(s){for(const D of t)A.deleteTexture(D.textureHandle);throw s}return lQ(t,a)}async function Ee(B,A,I,g,Q){var C;const E=await Ie(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=gA({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 lQ(i,o)}async function YQ(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&&UQ()?Ee(B,A,E,g,Q):Ce(B,A,E,g,Q)}function ie(B){return B}function oe(B){return B*B}function ee(B){return B*(2-B)}function ae(B){return B<.5?2*B*B:-1+(4-2*B)*B}function KQ(B){const A=B-1;return A*A*A+1}function te(B){return B<.5?4*B*B*B:(B-1)*(2*B-2)*(2*B-2)+1}function se(B){return 1+2.70158*Math.pow(B-1,3)+1.70158*Math.pow(B-1,2)}let JI=null;function dQ(){return JI||(JI=Promise.resolve().then(()=>require("./mp4box.all-DH-U-29f.cjs")).catch(B=>{throw JI=null,B})),JI}const De=800;function we(B){return B.startsWith("avc1")||B.startsWith("avc3")}function he(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 ne(B){const A=B.avcC;if(!A)return;const{DataStream:I}=await dQ(),g=new I;A.write(g);const Q=g.byteLength;if(Q<=0)return;const C=g.buffer.slice(0,Q);return he(C)}async function ce(B){const{createFile:A}=await dQ();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 w=(o=E.videoTracks)==null?void 0:o[0];if(!w){g(new Error("mp4box: no video track"));return}if(!we(w.codec)){g(new Error(`mp4box: unsupported video codec ${w.codec}`));return}if(w.nb_samples>De){g(new Error(`mp4box: too many samples (${w.nb_samples})`));return}const h=[];Q.onSamples=(r,F,c)=>{h.push(...c)},Q.setExtractionOptions(w.id,null,{nbSamples:Math.max(w.nb_samples,1)}),Q.start();const n=w.timescale>0?w.duration/w.timescale:E.duration/(E.timescale||1);if(h.length===0){g(new Error("mp4box: extraction produced no samples"));return}I({codec:w.codec,timescale:w.timescale,durationSec:Number.isFinite(n)?n:0,videoWidth:(a=(e=(i=w.video)==null?void 0:i.width)!=null?e:w.track_width)!=null?a:0,videoHeight:(D=(s=(t=w.video)==null?void 0:t.height)!=null?s:w.track_height)!=null?D:0,samples:h})},Q.appendBuffer(C),Q.flush()})}const JB=25e3;async function re(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 Fe(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 ${JB}ms (${JSON.stringify(A)})`)),JB)})])}catch(I){try{B.close()}catch(g){}throw I}}async function Ge(B,A,I,g){var Q,C;if(I.length===0)return{frames:[],timesSec:new Float64Array(0)};const E=[...I].sort((w,h)=>{var n,r,F,c;const G=((r=(n=w.dts)!=null?n:w.cts)!=null?r:0)-((c=(F=h.dts)!=null?F:h.cts)!=null?c:0);return G!==0?G:0}),o=[],i=new VideoDecoder({output:w=>{o.push(w)},error:w=>{throw w}}),e=await ye(B,A);i.configure(e);let a=0;for(const w of E){const h=w.data;if(!h||h.byteLength===0)continue;const n=(C=(Q=w.cts)!=null?Q:w.dts)!=null?C:0,r=Math.round(n/g*1e6),F=w.duration&&g>0?Math.round(w.duration/g*1e6):void 0,c=new Uint8Array(h.byteLength);c.set(h);const G=new EncodedVideoChunk({type:w.is_sync?"key":"delta",timestamp:r,duration:F,data:c});try{i.decode(G)}catch(y){console.error("[GiftStage:WC] decoder.decode failed",{chunkIndex:a,err:y});try{i.close()}catch(M){}throw y}a++,await new Promise(y=>queueMicrotask(y))}await re(i,"after last decode",1e4);const t=i.decodeQueueSize,s=o.length;await Fe(i,{chunksDecoded:a,outputsBeforeFlush:s,queueBeforeFlush:t}),i.close(),o.sort((w,h)=>w.timestamp-h.timestamp);const D=Float64Array.from(o.map(w=>w.timestamp/1e6));if(o.length===0)throw new Error("WebCodecs: decoder produced no frames");return{frames:o,timesSec:D}}function Gg(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 Re(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 ye(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 Me(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 Ne=Object.defineProperty,Se=(B,A,I)=>A in B?Ne(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,X=(B,A,I)=>Se(B,typeof A!="symbol"?A+"":A,I);const ke=28,Ue=8;class le{constructor(A){X(this,"maxSize"),X(this,"map",new Map),X(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 LB(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 Ye=1;class LA{constructor(A,I,g,Q,C,E,o,i,e,a,t){X(this,"duration"),X(this,"videoWidth"),X(this,"videoHeight"),X(this,"timesSec"),X(this,"worker"),X(this,"workerMsgId"),X(this,"streaming"),X(this,"ring"),X(this,"frames"),X(this,"maxDecodedFrames"),X(this,"decodeAheadFrames"),X(this,"lastWrapped",-1),X(this,"lastEnsureNeedIdx",-1),X(this,"lastEnsureFreeSlots",-1),X(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:ke,i=(C=g==null?void 0:g.decodeAheadFrames)!=null?C:Ue;let e;if(typeof A=="string"?e=await Ke(A,I):e=A,E&&typeof Worker!="undefined"){const a=e.slice(0);try{return await LA.createViaWorker(a,o,i)}catch(t){console.warn("[GiftStage:WC] Worker decode failed, falling back to main thread",t)}}return LA.createOnMainThread(e,o,i)}static async createViaWorker(A,I,g){const Q=new Me,C=Ye++,E=new le(I);let o=0,i=0,e=0,a=new Float64Array(0),t=!1,s=null;const D=F=>{const c=F.data;if(!(!c||c.id!==C)){if(c.type==="meta"){o=c.duration,i=c.videoWidth,e=c.videoHeight;const G=c.timesSec;a=new Float64Array(G.buffer,G.byteOffset,G.length),t=!0;return}if(c.type==="frame"){E.set(c.index,c.frame);return}c.type!=="eos"&&c.type==="error"&&(s=new Error(c.message))}},w=F=>{s=new Error(F.message||"Worker error")};Q.addEventListener("message",D),Q.addEventListener("error",w);const h=A;Q.postMessage({type:"init",id:C,buffer:h,maxDecodedFrames:I,decodeAheadFrames:g},[h]);try{if(await LB(()=>t||s!=null,6e4,"meta"),s)throw s;const F=o>0?o:1e-6,c=Gg(a,F,0);if(await LB(()=>s!=null||E.bestAtOrBefore(c)!=null,6e4,"first frame"),s)throw s}catch(F){throw Q.removeEventListener("message",D),Q.removeEventListener("error",w),Q.terminate(),E.clear(),F instanceof Error?F:new Error(String(F))}const n=a.length>0?a[0]:0,r=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)} … ${r.toFixed(4)}] ring=${I}`),new LA(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 ce(A);if(Q.samples.length===0)throw new Error("mp4box: no samples");const E=Q.samples[0].description,o=E?await ne(E):void 0;console.info("[GiftStage:WC] VideoDecoder decode (main thread)…");const{frames:i,timesSec:e}=await Ge(Q.codec,o,Q.samples,Q.timescale),a=i[i.length-1],t=Re(Q.durationSec,e,i),s=Q.videoWidth||a.displayWidth||a.codedWidth||0,D=Q.videoHeight||a.displayHeight||a.codedHeight||0,w=e.length>0?e[0]:0,h=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=[${w.toFixed(4)} … ${h.toFixed(4)}]`),new LA(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=Gg(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=Gg(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 Ke(B,A){return ZA(B,A)}function fB(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),Rg(C,E,e);({w:t,h:s}=JA(Q.info))}if(!(t>0)||!(s>0))return e=Math.min(1,o/C,i/E),Rg(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 Rg(C,E,e)}function Rg(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 de=Object.defineProperty,Je=(B,A,I)=>A in B?de(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,CA=(B,A,I)=>Je(B,typeof A!="symbol"?A+"":A,I);const RI=9;function Le(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 OI(B,A,I,g,Q,C){return[B/Q,(B+I)/Q,(C-A-g)/C,(C-A)/C]}function HB(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 fe(B,A,I){const g=HB(B,B.VERTEX_SHADER,A),Q=HB(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 uB(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 He(B){const[A,I,g,Q]=B.rgbFrame,[C,E,o,i]=B.aFrame,e=OI(A,I,g,Q,B.videoW,B.videoH),a=OI(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 ue(B,A,I){const g=Math.max(1,A)*RI,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":""}
|
|
3186
3186
|
precision lowp float;
|
|
3187
3187
|
${I?"in":"varying"} vec2 v_texcoord;
|
|
3188
3188
|
${I?"in":"varying"} vec2 v_alpha_texCoord;
|
|
@@ -3240,7 +3240,7 @@ m.onmessage = (t) => {
|
|
|
3240
3240
|
}
|
|
3241
3241
|
}
|
|
3242
3242
|
|
|
3243
|
-
${
|
|
3243
|
+
${o} = bgColor;
|
|
3244
3244
|
}
|
|
3245
3245
|
`}function qe(B){const A=B?"in":"attribute",I=B?"out":"varying";return`${B?"#version 300 es":""}
|
|
3246
3246
|
${A} vec2 a_position;
|
|
@@ -3254,5 +3254,5 @@ m.onmessage = (t) => {
|
|
|
3254
3254
|
v_texcoord = a_texCoord;
|
|
3255
3255
|
v_alpha_texCoord = a_alpha_texCoord;
|
|
3256
3256
|
}
|
|
3257
|
-
`}function pe(B,A,I){return{vertex:qe(I),fragment:ue(B,A,I)}}function xe(B,A,I,g,Q=new Float32Array(I.size*RI)){Q.fill(0);const C=A.get(g);if(!C||C.length===0)return Q;const[E,i]=B.info.rgbFrame;let o=0;for(const e of C){const a=I.get(String(e.srcId));if(!a)continue;if(o+RI>Q.length)break;const[t,s,D,w]=e.frame,[h,n,r,F]=e.mFrame,c=OI(t+E,s+i,D,w,B.info.videoW,B.info.videoH),G=OI(h,n,r,F,B.info.videoW,B.info.videoH);Q[o++]=a,Q[o++]=c[0],Q[o++]=c[1],Q[o++]=c[2],Q[o++]=c[3],Q[o++]=G[0],Q[o++]=G[1],Q[o++]=G[2],Q[o++]=G[3]}return Q}class me{constructor(A,I,g,Q,C){this.config=A,this.frameMap=I,CA(this,"canvas"),CA(this,"gl"),CA(this,"program"),CA(this,"vertexShader"),CA(this,"fragmentShader"),CA(this,"vertexBuffer"),CA(this,"videoTexture"),CA(this,"imagePosLoc"),CA(this,"imagePositionsScratch"),CA(this,"resourceEntries"),CA(this,"textureUnitBySrcId",new Map),CA(this,"videoTextureWidth",1),CA(this,"videoTextureHeight",1);var E;if(g.size===0)throw new Error("VAP mix composer requires at least one slot resource");this.canvas=Le(Q,C);const i={alpha:!0,antialias:!1,depth:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,stencil:!1};let o=!0,e=this.canvas.getContext("webgl2",i);if(e||(o=!1,e=this.canvas.getContext("webgl",i)||this.canvas.getContext("experimental-webgl",i)),!e)throw new Error("VAP mixed rendering requires WebGL support");this.gl=e;const a=Math.max(1,e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)),t=Math.max(0,a-1),s=[];let D=1;for(const R of(E=A.src)!=null?E:[]){const N=g.get(String(R.srcId));if(!N)continue;if(D>t){console.warn("[GiftStage] VAP mixed resources exceed texture unit limit, skipping",{srcId:R.srcId,srcTag:R.srcTag,maxUnits:a});continue}const S=uB(e,D,N.source,!0),U={srcId:String(R.srcId),unit:D,texture:S};s.push(U),this.textureUnitBySrcId.set(U.srcId,U.unit),D++}if(s.length===0)throw new Error("VAP mixed rendering could not bind any slot resources");this.resourceEntries=s;let w=1;for(const R of I.values())w=Math.max(w,R.length);this.imagePositionsScratch=new Float32Array(w*RI);const h=pe(this.resourceEntries.length,w,o),n=fe(e,h.vertex,h.fragment);this.program=n.program,this.vertexShader=n.vertexShader,this.fragmentShader=n.fragmentShader,this.imagePosLoc=e.getUniformLocation(this.program,"image_pos"),this.videoTexture=uB(e,0);const r=e.getUniformLocation(this.program,"u_image_video");r!==null&&e.uniform1i(r,0);for(const R of this.resourceEntries){const N=e.getUniformLocation(this.program,`u_image${R.unit}`);N!==null&&e.uniform1i(N,R.unit)}const F=e.createBuffer();if(!F)throw new Error("Failed to create VAP mix vertex buffer");this.vertexBuffer=F,e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,He(A.info),e.STATIC_DRAW);const c=6*Float32Array.BYTES_PER_ELEMENT,G=e.getAttribLocation(this.program,"a_position"),y=e.getAttribLocation(this.program,"a_texCoord"),M=e.getAttribLocation(this.program,"a_alpha_texCoord");e.enableVertexAttribArray(G),e.vertexAttribPointer(G,2,e.FLOAT,!1,c,0),e.enableVertexAttribArray(y),e.vertexAttribPointer(y,2,e.FLOAT,!1,c,2*Float32Array.BYTES_PER_ELEMENT),e.enableVertexAttribArray(M),e.vertexAttribPointer(M,2,e.FLOAT,!1,c,4*Float32Array.BYTES_PER_ELEMENT),e.viewport(0,0,this.canvas.width,this.canvas.height),e.disable(e.BLEND),e.disable(e.DEPTH_TEST),e.clearColor(0,0,0,0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.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=sI(A),C=DI(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=xe(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 be=Object.defineProperty,Te=(B,A,I)=>A in B?be(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,GA=(B,A,I)=>Te(B,typeof A!="symbol"?A+"":A,I);const JQ=1397178947,LQ=14,We=8,rA=64*1024;function fQ(B){return B+3&-4}class Ze{constructor(A=1024){GA(this,"buffer"),GA(this,"view"),GA(this,"bytes"),GA(this,"offset",0),GA(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 i=0;i<this.offset;i+=rA){const o=Math.min(i+rA,this.offset);E.set(this.bytes.subarray(i,o),i),o<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=fQ(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 Ve{constructor(A){this.buffer=A,GA(this,"view"),GA(this,"bytes"),GA(this,"offset",0),GA(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=fQ(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 HQ(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 ve(B,A){var I,g,Q;const C=B.spriteTable,E=gA({maxBudgetMs:A}),i=()=>EA(E),o=new Ze(We+HQ(B)+rA);o.u32(JQ),o.u16(LQ),o.u16(0),o.f32(B.params.viewBoxWidth),o.f32(B.params.viewBoxHeight),o.f32(B.params.fps),o.u32(B.params.frames),o.u32(B.atlasPages.length);for(const e of B.atlasPages)o.u32(e.width),o.u32(e.height),await o.bytesValueCooperative(new Uint8Array(e.imageBytes),i),await EA(E);o.u32(B.atlasRects.size);for(const[e,a]of B.atlasRects)await o.stringCooperative(e,i),o.u32((I=a.textureIndex)!=null?I:0),o.f32(a.x),o.f32(a.y),o.f32(a.w),o.f32(a.h),await EA(E);o.u32(B.audios.length);for(const e of B.audios)await o.stringCooperative(e.audioKey,i),o.u32(e.startFrame),o.u32(e.endFrame),o.f32(e.startTime),o.f32(e.totalTime),await EA(E);o.u32(B.audioBlobs.size);for(const[e,a]of B.audioBlobs)await o.stringCooperative(e,i),await o.bytesValueCooperative(new Uint8Array(a),i),await EA(E);if(await Ro(o,C,i),o.u32((Q=(g=B.clipMeshes)==null?void 0:g.size)!=null?Q:0),B.clipMeshes)for(const[e,a]of B.clipMeshes)await o.stringCooperative(e,i),await o.bytesValueCooperative(new Uint8Array(a.vertices.buffer,a.vertices.byteOffset,a.vertices.byteLength),i),await o.bytesValueCooperative(new Uint8Array(a.indices.buffer,a.indices.byteOffset,a.indices.byteLength),i),await EA(E);return o.finishCooperative(E)}async function Xe(B,A){const I=gA({maxBudgetMs:A}),g=new Ve(B);if(g.u32()!==JQ)throw new Error("Invalid SVGA cache binary magic");if(g.u16()!==LQ)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 r=g.u32(),F=g.u32(),c=await g.ownedBytesValueCooperative(I);E.push({width:r,height:F,imageBytes:c}),await EA(I)}const i=g.u32(),o=new Map;for(let n=0;n<i;n++){const r=g.string(),F=g.u32();o.set(r,{textureIndex:F,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 r=g.string();s.set(r,await g.ownedBytesValueCooperative(I)),await EA(I)}const D=await GQ(g,()=>EA(I)),w=g.u32(),h=new Map;for(let n=0;n<w;n++){const r=g.string(),F=new Float32Array(await g.ownedBytesValueCooperative(I)),c=new Uint32Array(await g.ownedBytesValueCooperative(I));r&&F.length>=6&&c.length>=3&&h.set(r,{vertices:F,indices:c}),await EA(I)}return{params:Q,spriteTable:D,audios:a,audioBlobs:s,atlasRects:o,atlasPages:E,clipMeshes:h}}function fg(B){return`svga-asset:${B}`}function Hg(B){return`svga-asset-bin:${B}`}async function Oe(B,A={}){const I=Di(fg(B),"svga-asset");if(I)return I;const g=await wi(Hg(B));if(!g)return null;try{const Q=await Xe(g,A.frameBudgetMs);return EQ(fg(B),"svga-asset",Q,g.byteLength),Q}catch(Q){return ni(Hg(B)),null}}async function yg(B,A,I={}){const g=await ve(A,I.frameBudgetMs);EQ(fg(B),"svga-asset",A,Math.max(g.byteLength,HQ(A))),await hi(Hg(B),g)}function MA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function je(B,A){const I=MA(B)?B*.5:0,g=MA(A)?A:0;return{width:I,height:g}}function Pe(B,A,I,g){const Q=MA(A.width)?A.width:void 0,C=MA(A.height)?A.height:void 0,E=MA(B.width)?B.width:void 0,i=MA(B.height)?B.height:void 0,o=B.useOriginalSize===!0;if(E&&i)return{width:E,height:i};if(E)return Q&&C?{width:E,height:E*C/Q}:{width:E,height:E};if(i)return Q&&C?{width:i*Q/C,height:i}:{width:i,height:i};let e=Q!=null?Q:0,a=C!=null?C:0;if(e>0&&a>0&&MA(I)&&MA(g)&&(!o||e>I||a>g)){const t=Math.min(I/e,g/a);e*=t,a*=t}return{width:e,height:a}}var ze=Object.defineProperty,_e=(B,A,I)=>A in B?ze(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,x=(B,A,I)=>_e(B,typeof A!="symbol"?A+"":A,I);function qB(B){return Number.isFinite(B)?Math.max(0,Math.min(1,B)):1}function $e(B){return"delayMs"in B}const v="GiftStage load canceled";function zA(B){let A=!1;return()=>{A||(A=!0,B())}}function Aa(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 vA=class lA{constructor(A){x(this,"sharedSVGAEntities",new Map),x(this,"pendingSharedSVGAEntities",new Map),x(this,"sharedVideoSources",new Map),x(this,"sharedHtmlVideos",new Map),x(this,"sharedVideoTextures",new Map),x(this,"pendingSharedHtmlVideos",new Map),x(this,"sharedWebCodecsPlaybacks",new Map),x(this,"pendingSharedWebCodecsPlaybacks",new Map),x(this,"sharedWebCodecsSurfaces",new Map),x(this,"completedPlaybackSlots",new Set),x(this,"playbackCompleteWaiters",new Map),x(this,"canvas"),x(this,"backend",null),x(this,"manager",null),x(this,"options"),x(this,"ready"),x(this,"destroyed",!1),x(this,"resizeObserver",null),x(this,"nextRenderOrder",0),x(this,"nextSharedWebCodecsPlaybackId",1),x(this,"nextSharedWebCodecsSurfaceId",1),x(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;JC(this.canvas,this.backingStoreDpr(),this.options.maxRenderSize),(A=this.manager)==null||A.syncSlotLayoutFromOptions()}resourcePipelineConcurrency(){return Aa(this.options.maxConcurrentParse)}async init(){var A,I;this.syncCanvasSize(),await new Promise(E=>requestAnimationFrame(()=>E())),this.syncCanvasSize(),ti({maxConcurrent:this.resourcePipelineConcurrency(),maxMemoryBytes:lA.DEFAULT_RESOURCE_CACHE_MEMORY_BYTES,maxPersistentBytes:lA.DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES}),pg((A=this.options.svgaWorkerTaskConcurrency)!=null?A:1);const g=(I=this.options.preferWebGPU)!=null?I:!0,Q=this.options.antialias,[C]=await Promise.all([TB(this.canvas,g,Q,this.options.forceWebGL1===!0),PB()]);this.backend=C,this.manager=new nQ(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 SA(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 vo(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 Yg(A.config),g=JA(I.info);return{width:g.w,height:g.h}}case"alphaVideo":return this.probeVideoNaturalSize(A.source,"alphaVideo")}}async normalizeAddGiftOptions(A){if(A.width!=null&&A.height!=null)return A;const I=this.currentCanvasCssSize();if(A.objectFit==="cover"&&A.width==null&&A.height==null&&I.width>0&&I.height>0)return{...A,width:I.width,height:I.height};const g=await this.resolveGiftIntrinsicSize(A),Q=Pe({width:A.width,height:A.height,useOriginalSize:A.useOriginalSize},g,I.width,I.height);return{...A,width:Q.width,height:Q.height}}resolveAnimationStepTarget(A,I){var g,Q,C,E;const{sx:i,sy:o}=Ng(this.canvas),e=(g=I.scaleTo)!=null?g:A.scale,a=I.flyTo!=null?I.flyTo.x*i:A.x+A.width*A.scale/2,t=I.flyTo!=null?I.flyTo.y*o:A.y+A.height*A.scale/2;return{targetX:a-A.width*e/2,targetY:t-A.height*e/2,targetScale:e,targetOpacity:qB((Q=I.opacity)!=null?Q:A.opacity),duration:Math.max(1,(C=I.duration)!=null?C:600),easing:(E=I.easing)!=null?E:KQ}}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)}createGiftAnimationChain(A,I,g){const Q=Array.isArray(g)?[...g]:g?[g]:[],C=[];let E=!1,i=!1,o=null,e=null;const a=s=>new Promise(D=>{if(i){D();return}e=D,o=setTimeout(()=>{o=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,w;E=!0;const h=(D=this.manager)==null?void 0:D.getSlot(A.id);if(!h||h.state==="finished")return I;s==="afterGiftComplete"&&await this.waitForGiftPlaybackComplete(A.id);let n=!1;for(const r of Q){if(i||!((w=this.manager)!=null&&w.getSlot(A.id))||A.state==="finished"){n=!0;break}$e(r)?await a(r.delayMs):await this.runGiftAnimationStep(A,I,r)}if(!n&&!i)for(const r of C)r(I);return I},cancel:()=>{var s;i=!0,o!=null&&(clearTimeout(o),o=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,i;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");const o=await this.normalizeAddGiftOptions(A),e=_B(),{sx:a,sy:t}=Ng(this.canvas),s=hQ(o.x,o.y,o.width,o.height,this.canvas.clientWidth,this.canvas.clientHeight),D={id:e,type:o.type,state:"loading",options:o,zIndex:(I=o.zIndex)!=null?I:0,renderOrder:this.nextRenderOrder++,x:s.x*a,y:s.y*t,width:o.width*a,height:o.height*t,scale:1,opacity:qB((g=o.opacity)!=null?g:1),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,webcodecsSurface:null,releaseWebCodecsSurface:null,vapMixState:null,onComplete:void 0};let w;w={id:e,type:o.type,pause:()=>{D.paused=!0},resume:()=>{D.paused=!1},destroy:()=>{this.removeGift(e)},animate:n=>this.createGiftAnimationChain(D,w,n)};const h=o.onComplete;D.onComplete=n=>{this.markGiftPlaybackComplete(D.id),h==null||h(n)},this.manager.addSlot(D,w);try{switch(o.type){case"svga":await this.loadSVGA(D);break;case"vap":await this.loadVAP(D,o);break;case"alphaVideo":await this.loadAlphaVideo(D,o);break}this.assertSlotLoadActive(D),D.state="playing",o.type==="svga"&&D.videoEntity&&this.manager.audioManager.tickFrame(D,D.currentFrame,w),D.webcodecsPlayback&&console.info("[GiftStage:WC] gift playing",{giftId:D.id,type:D.type,layoutBufPx:{x:D.x,y:D.y,w:D.width,h:D.height}})}catch(n){if(this.isLoadCanceled(n))return((Q=this.manager)==null?void 0:Q.getSlot(D.id))===D?this.manager.removeSlot(D.id):(C=this.manager)==null||C.releaseSlotResources(D),w;D.state="finished",(i=(E=this.options).onError)==null||i.call(E,n instanceof Error?n:new Error(String(n)))}return w}async loadSVGA(A){var I,g,Q,C;const E=typeof A.options.source=="string"?A.options.source:null,i=(I=A.loadAbortController)==null?void 0:I.signal;if(E){const D=await this.acquireSharedSVGAEntity(E,i);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:o,imageBitmaps:e,audioBlobs:a}=await pI(A.options.source,this.svgaParseOptions(i));let t=null,s=!1;try{this.assertSlotLoadActive(A),t=await this.buildSVGAAtlasIfNeeded(e,!!E,!0,i),this.assertSlotLoadActive(A);const D={params:o.params,spriteTable:o.spriteTable,audios:o.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(w=>{w.some(h=>!h)||yg(E,{params:o.params,spriteTable:o.spriteTable,audios:o.audios,audioBlobs:a,atlasRects:t.rects,atlasPages:t.pages.map((h,n)=>({width:h.atlasWidth,height:h.atlasHeight,imageBytes:w[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 o=new AbortController;C={cacheKey:g,controller:o,consumers:0,settled:!1,promise:null};const e=C;C.promise=this.buildSharedSVGAEntity(A,o.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(o){throw o}let i=this.sharedSVGAEntities.get(g);return i?i.refs++:(i={refs:1,entity:E.entity,audioBlobs:E.audioBlobs},this.sharedSVGAEntities.set(g,i)),{entity:i.entity,audioBlobs:i.audioBlobs,release:()=>this.releaseSharedSVGAEntity(g)}}waitForPendingSharedSVGAEntity(A,I){return A.consumers++,new Promise((g,Q)=>{let C=!1;const E=o=>{C||(C=!0,I==null||I.removeEventListener("abort",i),A.consumers=Math.max(0,A.consumers-1),A.consumers===0&&!A.settled&&A.controller.abort(),o())},i=()=>{E(()=>Q(IA(v)))};if(I!=null&&I.aborted){i();return}I==null||I.addEventListener("abort",i,{once:!0}),A.promise.then(o=>E(()=>g(o)),o=>E(()=>Q(o)))})}async buildSharedSVGAEntity(A,I){var g,Q,C,E,i;const o=await Oe(A,{frameBudgetMs:this.options.svgaLoadFrameBudgetMs});if(Y(I,v),o){const t=await this.createCachedSVGAAtlasTextures(o.atlasPages,I);return(g=this.manager)==null||g.hydrateSVGAClipMeshes(o.clipMeshes),{entity:{params:o.params,spriteTable:o.spriteTable,audios:o.audios,atlasTextureHandle:(Q=t[0])!=null?Q:null,atlasTextureHandles:t,atlasRects:o.atlasRects,audioBuffers:new Map},audioBlobs:o.audioBlobs}}let e=await pI(A,this.svgaParseOptions(I)),a=null;try{try{a=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!0,I)}catch(h){if(SA(h)||!(h instanceof NA))throw h;for(const n of e.imageBitmaps.values())n.close();e=await pI(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:(i=a==null?void 0:a.rects)!=null?i: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 w=this.manager.snapshotSVGAClipMeshes(D);if(Y(I,v),a&&a.encodedPngBytesPromises){const h=a,n=a.encodedPngBytesPromises;Promise.all(n).then(r=>{I!=null&&I.aborted||r.some(F=>!F)||yg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:h.rects,atlasPages:h.pages.map((F,c)=>({width:F.atlasWidth,height:F.atlasHeight,imageBytes:r[c]})),clipMeshes:w},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}else a||yg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:new Map,atlasPages:[],clipMeshes:w},{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=gA({maxBudgetMs:this.svgaAtlasFrameBudgetMs()});try{for(let E=0;E<A.length;E++){Y(I,v);const i=A[E],o=await createImageBitmap(new Blob([i.imageBytes],{type:"image/png"}),{premultiplyAlpha:"premultiply"});try{if(this.destroyed||!this.backend)throw new Error(v);const e=this.backend.createTexture(o,{width:i.width,height:i.height,filter:"linear",premultiplyAlpha:!0,sourcePremultiplied:!0});Q.push(e)}finally{o.close()}E+1<A.length&&C.shouldYield()&&await C.yield(),Y(I,v)}return Q}catch(E){for(const i of Q)(g=this.backend)==null||g.deleteTexture(i);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=gA({maxBudgetMs:this.options.svgaLoadFrameBudgetMs});let E=0;for(const[i,o]of g)await this.manager.audioManager.decodeAudio(i,o),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 Ki(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:lA.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 YQ(A,this.backend,this.svgaAtlasMaxSize(),lA.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 ZA(A,I):A;if(I!=null&&I.aborted)throw new Error(v);return await LA.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:zA(()=>g.destroy())}:null}async acquireSharedWebCodecsPlayback(A,I){var g;const Q=performance.now(),C=Math.max(0,(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:lA.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:zA(()=>this.releaseSharedWebCodecsPlayback(e))}}let i=this.pendingSharedWebCodecsPlaybacks.get(A);i||(i=this.createPendingSharedWebCodecsPlayback(A),this.pendingSharedWebCodecsPlaybacks.set(A,i));const o=await this.waitForPendingSharedWebCodecsPlayback(i,I);return o?(o.refs++,{playback:o.playback,sharedState:o,release:zA(()=>this.releaseSharedWebCodecsPlayback(o))}):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=o=>{C||(C=!0,I==null||I.removeEventListener("abort",i),A.consumers=Math.max(0,A.consumers-1),A.consumers===0&&!A.settled&&A.controller.abort(),o())},i=()=>{E(()=>Q(new Error(v)))};if(I!=null&&I.aborted){i();return}I==null||I.addEventListener("abort",i,{once:!0}),A.promise.then(o=>E(()=>g(o)),o=>E(()=>Q(o)))})}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,i){const o=A.webcodecsSharedState;if(!o)return null;const e=i?this.options.webCodecsVideoAtlas:void 0;if(e&&e.width>0&&e.height>0){const w=`${o.id}:atlas:${e.width}x${e.height}:${C}x${E}`,h=this.retainSharedWebCodecsSurface(w);if(h)return h;const n=this.nextSharedWebCodecsSurfaceId++,r=`wc-shared-surface:${n}`,F=this.manager.tryAllocateWebCodecsAtlas(r,C,E,e);if(F){try{this.backend.updateTextureRegion(F.handle,I,F.rect.x,F.rect.y,F.rect.w,F.rect.h)}catch(c){throw this.manager.releaseWebCodecsAtlasAllocation(r),c}return this.createSharedWebCodecsSurface(w,n,F.handle,I,F.rect,r)}}const a=`${o.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:zA(()=>this.releaseSharedWebCodecsSurface(I))}):null}createSharedWebCodecsSurface(A,I,g,Q,C,E){const i={key:A,refs:1,atlasAllocationId:E,surface:{id:I,texture:g,atlasRect:C,lastUploadedFrame:Q}};return this.sharedWebCodecsSurfaces.set(A,i),{surface:i.surface,release:zA(()=>this.releaseSharedWebCodecsSurface(i))}}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,i=await Yg(I.config);this.assertSlotLoadActive(A),A.vapConfig=i;const o=await Hi(i,I.vapSlots);if(this.assertSlotLoadActive(A),o.size>0){const D=JA(i.info),w=ui(i);let h=null;if(this.backend.type==="webgpu"||this.backend.type==="webgl2")try{h=this.createVAPMixResourceTextures(o)}catch(n){console.warn("[GiftStage] VAP main-context mixed textures failed; falling back to compositor",n)}if(h)A.vapMixState={mode:"direct",width:D.w,height:D.h,resourceTextures:h,frameMap:w,lastFrameIndex:-1,lastSourceRef:null};else{let n=null,r=null;try{n=new me(i,w,o,D.w,D.h)}catch(c){console.warn("[GiftStage] VAP mixed rendering fell back to CPU compositor",c),r=qi(D.w,D.h)}const F=this.backend.createEmptyTexture(D.w,D.h,{filter:"linear"});A.vapMixState={mode:"composited",texture:F,width:D.w,height:D.h,composer:n,frameMap:w,resources:n?void 0:o,lastFrameIndex:-1,lastSourceRef:null,...r!=null?r:{}},A.videoTextureHandle=F}}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 h=D.displayWidth||D.codedWidth,n=D.displayHeight||D.codedHeight,r=!A.vapMixState,{w:F,h:c}=fB(A,h,n,"vap",i),G=this.acquireSharedWebCodecsSurface(A,D,h,n,F,c,r);if(G)this.attachSharedWebCodecsSurface(A,G);else{const y=r?this.manager.tryAllocateWebCodecsAtlas(A.id,F,c,this.options.webCodecsVideoAtlas):null;y?(A.videoTextureHandle=y.handle,A.wcAtlasRect=y.rect,this.backend.updateTextureRegion(y.handle,D,y.rect.x,y.rect.y,F,c)):A.videoTextureHandle=this.backend.createTexture(D,{width:h,height:n,filter:"linear"})}}A.videoElement=null;const w=A.videoTextureHandle;console.info("[GiftStage:WC] VAP texture",{giftId:A.id,atlas:!!A.wcAtlasRect&&!A.vapMixState,mixed:!!A.vapMixState,tex:`${w.width}x${w.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 w=this.createVideo(D.src,I.loop===0);A.videoElement=w}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 i=await this.acquireWebCodecsPlayback(I,E);if(!this.isSlotLoadActive(A))throw i==null||i.release(),new Error(v);if(i){const a=this.attachWebCodecsPlayback(A,i);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:w}=fB(A,t,s,"alphaVideo",void 0),h=this.acquireSharedWebCodecsSurface(A,a,t,s,D,w,!0);if(h)this.attachSharedWebCodecsSurface(A,h);else{const r=this.manager.tryAllocateWebCodecsAtlas(A.id,D,w,this.options.webCodecsVideoAtlas);r?(A.videoTextureHandle=r.handle,A.wcAtlasRect=r.rect,this.backend.updateTextureRegion(r.handle,a,r.rect.x,r.rect.y,D,w)):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 o=await this.tryAcquireSharedHtmlVideo(A,I);if(!this.isSlotLoadActive(A))throw o==null||o.release(),new Error(v);if(o)A.videoElement=o.video,A.releaseSharedVideoPlayback=o.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(o){await o.ready,this.assertSlotLoadActive(A);const a=this.acquireSharedVideoTexture(o.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:i=>this.createGiftAnimationChain(A,E,i)},(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"?je(C.videoWidth,C.videoHeight):{width:C.videoWidth,height:C.videoHeight}}finally{try{C.pause(),C.removeAttribute("src"),C.load(),C.remove()}catch(E){}(g=Q.release)==null||g.call(Q)}}async acquireVideoPlaybackSource(A){if(typeof A!="string"){const Q=URL.createObjectURL(new Blob([A]));return{src:Q,release:()=>URL.revokeObjectURL(Q)}}const I=this.normalizeSharedVideoSourceKey(A);if(!I)return{src:A};let g=this.sharedVideoSources.get(I);g||(g={refs:0,objectUrl:null,promise:this.fetchSharedVideoSource(I)},this.sharedVideoSources.set(I,g)),g.refs++;try{return{src:await g.promise,release:()=>this.releaseSharedVideoSource(I)}}catch(Q){return this.releaseSharedVideoSource(I),console.warn("[GiftStage] shared video prefetch failed, using original url",Q),{src:A}}}normalizeSharedVideoSourceKey(A){try{const I=new URL(A,window.location.href);return I.protocol==="blob:"||I.protocol==="data:"?null:I.href}catch(I){return null}}async fetchSharedVideoSource(A){const I=new Blob([await ZA(A)]),g=this.sharedVideoSources.get(A),Q=URL.createObjectURL(I);return g&&(g.objectUrl=Q,g.refs===0&&(URL.revokeObjectURL(Q),this.sharedVideoSources.delete(A))),Q}releaseSharedVideoSource(A){const I=this.sharedVideoSources.get(A);I&&(I.refs=Math.max(0,I.refs-1),I.refs===0&&I.objectUrl&&(URL.revokeObjectURL(I.objectUrl),this.sharedVideoSources.delete(A)))}async tryAcquireSharedHtmlVideo(A,I){var g,Q;if(this.options.shareIdenticalVideoPlayback===!1||I.loop!==0||typeof I.source!="string"||A.type==="vap"&&A.vapMixState)return null;const C=this.normalizeSharedVideoSourceKey(I.source);if(!C)return null;const E=(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:lA.DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS,i=Math.max(0,E)/1e3,o=this.sharedHtmlVideos.get(C);if(o)return o.video.currentTime>i?null:(o.refs++,{cacheKey:C,video:o.video,ready:o.ready,release:()=>this.releaseSharedHtmlVideo(C)});let e=this.pendingSharedHtmlVideos.get(C);e||(e=(async()=>{var s;const D=await this.acquireVideoPlaybackSource(I.source),w=this.createVideo(D.src,!0),h=this.waitVideoReady(w);return{video:w,ready:h,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)}}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",i)},C=async()=>{try{await A.play(),await this.waitForFirstVideoFrame(A),I()}catch(o){g(o)}},E=()=>{Q(),C()},i=()=>{Q(),g(new Error("Video load failed"))};A.addEventListener("canplay",E),A.addEventListener("error",i),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;this.destroyed=!0;for(const g of this.pendingSharedSVGAEntities.values())g.controller.abort();for(const g of this.pendingSharedWebCodecsPlaybacks.values())g.controller.abort();this.pendingSharedWebCodecsPlaybacks.clear(),(A=this.resizeObserver)==null||A.disconnect(),this.resizeObserver=null,window.removeEventListener("resize",this.onWindowLayout),window.removeEventListener("orientationchange",this.onWindowLayout),(I=this.manager)==null||I.destroy();for(const[g]of this.sharedHtmlVideos)this.releaseSharedHtmlVideo(g);for(const[g]of this.sharedSVGAEntities)this.releaseSharedSVGAEntity(g);for(const[g]of this.sharedVideoTextures)this.releaseSharedVideoTexture(g);this.pendingSharedSVGAEntities.clear(),this.pendingSharedHtmlVideos.clear();for(const g of this.sharedWebCodecsPlaybacks.values())for(const Q of g)Q.playback.destroy();this.sharedWebCodecsPlaybacks.clear(),this.sharedWebCodecsSurfaces.clear(),this.completedPlaybackSlots.clear(),this.playbackCompleteWaiters.clear();for(const[g,Q]of this.sharedVideoSources)Q.objectUrl&&URL.revokeObjectURL(Q.objectUrl),this.sharedVideoSources.delete(g);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)})}};x(vA,"SVGA_ATLAS_MAX_SIZE",2048);x(vA,"SVGA_ATLAS_PADDING",2);x(vA,"DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS",100);x(vA,"DEFAULT_RESOURCE_CACHE_MEMORY_BYTES",128*1024*1024);x(vA,"DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES",2048*1024*1024);let Ia=vA;exports.AlphaVideoRenderer=sQ;exports.AudioManager=wQ;exports.BufferPool=zB;exports.GiftStage=Ia;exports.PostAnimator=DQ;exports.RenderManager=nQ;exports.SVGABatchRenderer=CQ;exports.VAPRenderer=tQ;exports.WebCodecsMp4Playback=LA;exports.WebGL1Backend=Mg;exports.WebGL2Backend=xB;exports.WebGPUBackend=pB;exports.buildAtlas=YQ;exports.buildBatchVerticesJS=LI;exports.canSharedArrayBuffer=UC;exports.canWebGL1=kC;exports.canWebGL2=SC;exports.canWebGPU=NC;exports.clamp=HI;exports.createBackend=TB;exports.decodeSVGAProto=Jg;exports.easeInOutCubic=te;exports.easeInOutQuad=ae;exports.easeInQuad=oe;exports.easeOutBack=se;exports.easeOutCubic=KQ;exports.easeOutQuad=ee;exports.generateId=_B;exports.inflateJS=dg;exports.initWasm=PB;exports.isWasmReady=mA;exports.lerp=nA;exports.linear=ie;exports.ortho=KA;exports.parseSVGA=pI;exports.parseVAPConfig=Yg;
|
|
3257
|
+
`}function pe(B,A,I){return{vertex:qe(I),fragment:ue(B,A,I)}}function xe(B,A,I,g,Q=new Float32Array(I.size*RI)){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+RI>Q.length)break;const[t,s,D,w]=e.frame,[h,n,r,F]=e.mFrame,c=OI(t+E,s+o,D,w,B.info.videoW,B.info.videoH),G=OI(h,n,r,F,B.info.videoW,B.info.videoH);Q[i++]=a,Q[i++]=c[0],Q[i++]=c[1],Q[i++]=c[2],Q[i++]=c[3],Q[i++]=G[0],Q[i++]=G[1],Q[i++]=G[2],Q[i++]=G[3]}return Q}class me{constructor(A,I,g,Q,C){this.config=A,this.frameMap=I,CA(this,"canvas"),CA(this,"gl"),CA(this,"program"),CA(this,"vertexShader"),CA(this,"fragmentShader"),CA(this,"vertexBuffer"),CA(this,"videoTexture"),CA(this,"imagePosLoc"),CA(this,"imagePositionsScratch"),CA(this,"resourceEntries"),CA(this,"textureUnitBySrcId",new Map),CA(this,"videoTextureWidth",1),CA(this,"videoTextureHeight",1);var E;if(g.size===0)throw new Error("VAP mix composer requires at least one slot resource");this.canvas=Le(Q,C);const o={alpha:!0,antialias:!1,depth:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,stencil:!1};let i=!0,e=this.canvas.getContext("webgl2",o);if(e||(i=!1,e=this.canvas.getContext("webgl",o)||this.canvas.getContext("experimental-webgl",o)),!e)throw new Error("VAP mixed rendering requires WebGL support");this.gl=e;const a=Math.max(1,e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS)),t=Math.max(0,a-1),s=[];let D=1;for(const R of(E=A.src)!=null?E:[]){const N=g.get(String(R.srcId));if(!N)continue;if(D>t){console.warn("[GiftStage] VAP mixed resources exceed texture unit limit, skipping",{srcId:R.srcId,srcTag:R.srcTag,maxUnits:a});continue}const S=uB(e,D,N.source,!0),U={srcId:String(R.srcId),unit:D,texture:S};s.push(U),this.textureUnitBySrcId.set(U.srcId,U.unit),D++}if(s.length===0)throw new Error("VAP mixed rendering could not bind any slot resources");this.resourceEntries=s;let w=1;for(const R of I.values())w=Math.max(w,R.length);this.imagePositionsScratch=new Float32Array(w*RI);const h=pe(this.resourceEntries.length,w,i),n=fe(e,h.vertex,h.fragment);this.program=n.program,this.vertexShader=n.vertexShader,this.fragmentShader=n.fragmentShader,this.imagePosLoc=e.getUniformLocation(this.program,"image_pos"),this.videoTexture=uB(e,0);const r=e.getUniformLocation(this.program,"u_image_video");r!==null&&e.uniform1i(r,0);for(const R of this.resourceEntries){const N=e.getUniformLocation(this.program,`u_image${R.unit}`);N!==null&&e.uniform1i(N,R.unit)}const F=e.createBuffer();if(!F)throw new Error("Failed to create VAP mix vertex buffer");this.vertexBuffer=F,e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,He(A.info),e.STATIC_DRAW);const c=6*Float32Array.BYTES_PER_ELEMENT,G=e.getAttribLocation(this.program,"a_position"),y=e.getAttribLocation(this.program,"a_texCoord"),M=e.getAttribLocation(this.program,"a_alpha_texCoord");e.enableVertexAttribArray(G),e.vertexAttribPointer(G,2,e.FLOAT,!1,c,0),e.enableVertexAttribArray(y),e.vertexAttribPointer(y,2,e.FLOAT,!1,c,2*Float32Array.BYTES_PER_ELEMENT),e.enableVertexAttribArray(M),e.vertexAttribPointer(M,2,e.FLOAT,!1,c,4*Float32Array.BYTES_PER_ELEMENT),e.viewport(0,0,this.canvas.width,this.canvas.height),e.disable(e.BLEND),e.disable(e.DEPTH_TEST),e.clearColor(0,0,0,0),e.pixelStorei(e.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0),e.pixelStorei(e.UNPACK_COLORSPACE_CONVERSION_WEBGL,e.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=sI(A),C=DI(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=xe(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 be=Object.defineProperty,Te=(B,A,I)=>A in B?be(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,GA=(B,A,I)=>Te(B,typeof A!="symbol"?A+"":A,I);const JQ=1397178947,LQ=14,We=8,rA=64*1024;function fQ(B){return B+3&-4}class Ze{constructor(A=1024){GA(this,"buffer"),GA(this,"view"),GA(this,"bytes"),GA(this,"offset",0),GA(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=fQ(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 Ve{constructor(A){this.buffer=A,GA(this,"view"),GA(this,"bytes"),GA(this,"offset",0),GA(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=fQ(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 HQ(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 ve(B,A){var I,g,Q;const C=B.spriteTable,E=gA({maxBudgetMs:A}),o=()=>EA(E),i=new Ze(We+HQ(B)+rA);i.u32(JQ),i.u16(LQ),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 Ro(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 Xe(B,A){const I=gA({maxBudgetMs:A}),g=new Ve(B);if(g.u32()!==JQ)throw new Error("Invalid SVGA cache binary magic");if(g.u16()!==LQ)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 r=g.u32(),F=g.u32(),c=await g.ownedBytesValueCooperative(I);E.push({width:r,height:F,imageBytes:c}),await EA(I)}const o=g.u32(),i=new Map;for(let n=0;n<o;n++){const r=g.string(),F=g.u32();i.set(r,{textureIndex:F,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 r=g.string();s.set(r,await g.ownedBytesValueCooperative(I)),await EA(I)}const D=await GQ(g,()=>EA(I)),w=g.u32(),h=new Map;for(let n=0;n<w;n++){const r=g.string(),F=new Float32Array(await g.ownedBytesValueCooperative(I)),c=new Uint32Array(await g.ownedBytesValueCooperative(I));r&&F.length>=6&&c.length>=3&&h.set(r,{vertices:F,indices:c}),await EA(I)}return{params:Q,spriteTable:D,audios:a,audioBlobs:s,atlasRects:i,atlasPages:E,clipMeshes:h}}function fg(B){return`svga-asset:${B}`}function Hg(B){return`svga-asset-bin:${B}`}async function Oe(B,A={}){const I=Di(fg(B),"svga-asset");if(I)return I;const g=await wi(Hg(B));if(!g)return null;try{const Q=await Xe(g,A.frameBudgetMs);return EQ(fg(B),"svga-asset",Q,g.byteLength),Q}catch(Q){return ni(Hg(B)),null}}async function yg(B,A,I={}){const g=await ve(A,I.frameBudgetMs);EQ(fg(B),"svga-asset",A,Math.max(g.byteLength,HQ(A))),await hi(Hg(B),g)}function MA(B){return typeof B=="number"&&Number.isFinite(B)&&B>0}function je(B,A){const I=MA(B)?B*.5:0,g=MA(A)?A:0;return{width:I,height:g}}function Pe(B,A,I,g){const Q=MA(A.width)?A.width:void 0,C=MA(A.height)?A.height:void 0,E=MA(B.width)?B.width:void 0,o=MA(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&&MA(I)&&MA(g)&&(!i||e>I||a>g)){const t=Math.min(I/e,g/a);e*=t,a*=t}return{width:e,height:a}}var ze=Object.defineProperty,_e=(B,A,I)=>A in B?ze(B,A,{enumerable:!0,configurable:!0,writable:!0,value:I}):B[A]=I,x=(B,A,I)=>_e(B,typeof A!="symbol"?A+"":A,I);function qB(B){return Number.isFinite(B)?Math.max(0,Math.min(1,B)):1}function $e(B){return"delayMs"in B}const v="GiftStage load canceled";function zA(B){let A=!1;return()=>{A||(A=!0,B())}}function Aa(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 vA=class lA{constructor(A){x(this,"sharedSVGAEntities",new Map),x(this,"pendingSharedSVGAEntities",new Map),x(this,"sharedVideoSources",new Map),x(this,"sharedHtmlVideos",new Map),x(this,"sharedVideoTextures",new Map),x(this,"pendingSharedHtmlVideos",new Map),x(this,"sharedWebCodecsPlaybacks",new Map),x(this,"pendingSharedWebCodecsPlaybacks",new Map),x(this,"sharedWebCodecsSurfaces",new Map),x(this,"completedPlaybackSlots",new Set),x(this,"playbackCompleteWaiters",new Map),x(this,"canvas"),x(this,"backend",null),x(this,"manager",null),x(this,"options"),x(this,"ready"),x(this,"destroyed",!1),x(this,"resizeObserver",null),x(this,"nextRenderOrder",0),x(this,"nextSharedWebCodecsPlaybackId",1),x(this,"nextSharedWebCodecsSurfaceId",1),x(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;JC(this.canvas,this.backingStoreDpr(),this.options.maxRenderSize),(A=this.manager)==null||A.syncSlotLayoutFromOptions()}resourcePipelineConcurrency(){return Aa(this.options.maxConcurrentParse)}async init(){var A,I;this.syncCanvasSize(),await new Promise(E=>requestAnimationFrame(()=>E())),this.syncCanvasSize(),ti({maxConcurrent:this.resourcePipelineConcurrency(),maxMemoryBytes:lA.DEFAULT_RESOURCE_CACHE_MEMORY_BYTES,maxPersistentBytes:lA.DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES}),pg((A=this.options.svgaWorkerTaskConcurrency)!=null?A:1);const g=(I=this.options.preferWebGPU)!=null?I:!0,Q=this.options.antialias,[C]=await Promise.all([TB(this.canvas,g,Q,this.options.forceWebGL1===!0),PB()]);this.backend=C,this.manager=new nQ(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 SA(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 vo(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 Yg(A.config),g=JA(I.info);return{width:g.w,height:g.h}}case"alphaVideo":return this.probeVideoNaturalSize(A.source,"alphaVideo")}}async normalizeAddGiftOptions(A){if(A.width!=null&&A.height!=null)return A;const I=this.currentCanvasCssSize();if(A.objectFit==="cover"&&A.width==null&&A.height==null&&I.width>0&&I.height>0)return{...A,width:I.width,height:I.height};const g=await this.resolveGiftIntrinsicSize(A),Q=Pe({width:A.width,height:A.height,useOriginalSize:A.useOriginalSize},g,I.width,I.height);return{...A,width:Q.width,height:Q.height}}resolveAnimationStepTarget(A,I){var g,Q,C,E;const{sx:o,sy:i}=Ng(this.canvas),e=(g=I.scaleTo)!=null?g:A.scale,a=I.flyTo!=null?I.flyTo.x*o:A.x+A.width*A.scale/2,t=I.flyTo!=null?I.flyTo.y*i:A.y+A.height*A.scale/2;return{targetX:a-A.width*e/2,targetY:t-A.height*e/2,targetScale:e,targetOpacity:qB((Q=I.opacity)!=null?Q:A.opacity),duration:Math.max(1,(C=I.duration)!=null?C:600),easing:(E=I.easing)!=null?E:KQ}}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)}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,w;E=!0;const h=(D=this.manager)==null?void 0:D.getSlot(A.id);if(!h||h.state==="finished")return I;s==="afterGiftComplete"&&await this.waitForGiftPlaybackComplete(A.id);let n=!1;for(const r of Q){if(o||!((w=this.manager)!=null&&w.getSlot(A.id))||A.state==="finished"){n=!0;break}$e(r)?await a(r.delayMs):await this.runGiftAnimationStep(A,I,r)}if(!n&&!o)for(const r of C)r(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;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");const i=await this.normalizeAddGiftOptions(A),e=_B(),{sx:a,sy:t}=Ng(this.canvas),s=hQ(i.x,i.y,i.width,i.height,this.canvas.clientWidth,this.canvas.clientHeight),D={id:e,type:i.type,state:"loading",options:i,zIndex:(I=i.zIndex)!=null?I:0,renderOrder:this.nextRenderOrder++,x:s.x*a,y:s.y*t,width:i.width*a,height:i.height*t,scale:1,opacity:qB((g=i.opacity)!=null?g:1),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,webcodecsSurface:null,releaseWebCodecsSurface:null,vapMixState:null,onComplete:void 0};let w;w={id:e,type:i.type,pause:()=>{D.paused=!0},resume:()=>{D.paused=!1},destroy:()=>{this.removeGift(e)},animate:n=>this.createGiftAnimationChain(D,w,n)};const h=i.onComplete;D.onComplete=n=>{this.markGiftPlaybackComplete(D.id),h==null||h(n)},this.manager.addSlot(D,w);try{switch(i.type){case"svga":await this.loadSVGA(D);break;case"vap":await this.loadVAP(D,i);break;case"alphaVideo":await this.loadAlphaVideo(D,i);break}this.assertSlotLoadActive(D),D.state="playing",i.type==="svga"&&D.videoEntity&&this.manager.audioManager.tickFrame(D,D.currentFrame,w),D.webcodecsPlayback&&console.info("[GiftStage:WC] gift playing",{giftId:D.id,type:D.type,layoutBufPx:{x:D.x,y:D.y,w:D.width,h:D.height}})}catch(n){if(this.isLoadCanceled(n))return((Q=this.manager)==null?void 0:Q.getSlot(D.id))===D?this.manager.removeSlot(D.id):(C=this.manager)==null||C.releaseSlotResources(D),w;D.state="finished",(o=(E=this.options).onError)==null||o.call(E,n instanceof Error?n:new Error(String(n)))}return w}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 pI(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(w=>{w.some(h=>!h)||yg(E,{params:i.params,spriteTable:i.spriteTable,audios:i.audios,audioBlobs:a,atlasRects:t.rects,atlasPages:t.pages.map((h,n)=>({width:h.atlasWidth,height:h.atlasHeight,imageBytes:w[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(IA(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 Oe(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 pI(A,this.svgaParseOptions(I)),a=null;try{try{a=await this.buildSVGAAtlasIfNeeded(e.imageBitmaps,!0,!0,I)}catch(h){if(SA(h)||!(h instanceof NA))throw h;for(const n of e.imageBitmaps.values())n.close();e=await pI(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 w=this.manager.snapshotSVGAClipMeshes(D);if(Y(I,v),a&&a.encodedPngBytesPromises){const h=a,n=a.encodedPngBytesPromises;Promise.all(n).then(r=>{I!=null&&I.aborted||r.some(F=>!F)||yg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:h.rects,atlasPages:h.pages.map((F,c)=>({width:F.atlasWidth,height:F.atlasHeight,imageBytes:r[c]})),clipMeshes:w},{frameBudgetMs:this.options.svgaLoadFrameBudgetMs})})}else a||yg(A,{params:t.params,spriteTable:t.spriteTable,audios:t.audios,audioBlobs:s,atlasRects:new Map,atlasPages:[],clipMeshes:w},{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=gA({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=gA({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 Ki(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:lA.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 YQ(A,this.backend,this.svgaAtlasMaxSize(),lA.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 ZA(A,I):A;if(I!=null&&I.aborted)throw new Error(v);return await LA.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:zA(()=>g.destroy())}:null}async acquireSharedWebCodecsPlayback(A,I){var g;const Q=performance.now(),C=Math.max(0,(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:lA.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:zA(()=>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:zA(()=>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 w=`${i.id}:atlas:${e.width}x${e.height}:${C}x${E}`,h=this.retainSharedWebCodecsSurface(w);if(h)return h;const n=this.nextSharedWebCodecsSurfaceId++,r=`wc-shared-surface:${n}`,F=this.manager.tryAllocateWebCodecsAtlas(r,C,E,e);if(F){try{this.backend.updateTextureRegion(F.handle,I,F.rect.x,F.rect.y,F.rect.w,F.rect.h)}catch(c){throw this.manager.releaseWebCodecsAtlasAllocation(r),c}return this.createSharedWebCodecsSurface(w,n,F.handle,I,F.rect,r)}}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:zA(()=>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:zA(()=>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 Yg(I.config);this.assertSlotLoadActive(A),A.vapConfig=o;const i=await Hi(o,I.vapSlots);if(this.assertSlotLoadActive(A),i.size>0){const D=JA(o.info),w=ui(o);let h=null;if(this.backend.type==="webgpu"||this.backend.type==="webgl2")try{h=this.createVAPMixResourceTextures(i)}catch(n){console.warn("[GiftStage] VAP main-context mixed textures failed; falling back to compositor",n)}if(h)A.vapMixState={mode:"direct",width:D.w,height:D.h,resourceTextures:h,frameMap:w,lastFrameIndex:-1,lastSourceRef:null};else{let n=null,r=null;try{n=new me(o,w,i,D.w,D.h)}catch(c){console.warn("[GiftStage] VAP mixed rendering fell back to CPU compositor",c),r=qi(D.w,D.h)}const F=this.backend.createEmptyTexture(D.w,D.h,{filter:"linear"});A.vapMixState={mode:"composited",texture:F,width:D.w,height:D.h,composer:n,frameMap:w,resources:n?void 0:i,lastFrameIndex:-1,lastSourceRef:null,...r!=null?r:{}},A.videoTextureHandle=F}}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 h=D.displayWidth||D.codedWidth,n=D.displayHeight||D.codedHeight,r=!A.vapMixState,{w:F,h:c}=fB(A,h,n,"vap",o),G=this.acquireSharedWebCodecsSurface(A,D,h,n,F,c,r);if(G)this.attachSharedWebCodecsSurface(A,G);else{const y=r?this.manager.tryAllocateWebCodecsAtlas(A.id,F,c,this.options.webCodecsVideoAtlas):null;y?(A.videoTextureHandle=y.handle,A.wcAtlasRect=y.rect,this.backend.updateTextureRegion(y.handle,D,y.rect.x,y.rect.y,F,c)):A.videoTextureHandle=this.backend.createTexture(D,{width:h,height:n,filter:"linear"})}}A.videoElement=null;const w=A.videoTextureHandle;console.info("[GiftStage:WC] VAP texture",{giftId:A.id,atlas:!!A.wcAtlasRect&&!A.vapMixState,mixed:!!A.vapMixState,tex:`${w.width}x${w.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 w=this.createVideo(D.src,I.loop===0);A.videoElement=w}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:w}=fB(A,t,s,"alphaVideo",void 0),h=this.acquireSharedWebCodecsSurface(A,a,t,s,D,w,!0);if(h)this.attachSharedWebCodecsSurface(A,h);else{const r=this.manager.tryAllocateWebCodecsAtlas(A.id,D,w,this.options.webCodecsVideoAtlas);r?(A.videoTextureHandle=r.handle,A.wcAtlasRect=r.rect,this.backend.updateTextureRegion(r.handle,a,r.rect.x,r.rect.y,D,w)):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"?je(C.videoWidth,C.videoHeight):{width:C.videoWidth,height:C.videoHeight}}finally{try{C.pause(),C.removeAttribute("src"),C.load(),C.remove()}catch(E){}(g=Q.release)==null||g.call(Q)}}async acquireVideoPlaybackSource(A){if(typeof A!="string"){const Q=URL.createObjectURL(new Blob([A]));return{src:Q,release:()=>URL.revokeObjectURL(Q)}}const I=this.normalizeSharedVideoSourceKey(A);if(!I)return{src:A};let g=this.sharedVideoSources.get(I);g||(g={refs:0,objectUrl:null,promise:this.fetchSharedVideoSource(I)},this.sharedVideoSources.set(I,g)),g.refs++;try{return{src:await g.promise,release:()=>this.releaseSharedVideoSource(I)}}catch(Q){return this.releaseSharedVideoSource(I),console.warn("[GiftStage] shared video prefetch failed, using original url",Q),{src:A}}}normalizeSharedVideoSourceKey(A){try{const I=new URL(A,window.location.href);return I.protocol==="blob:"||I.protocol==="data:"?null:I.href}catch(I){return null}}async fetchSharedVideoSource(A){const I=new Blob([await ZA(A)]),g=this.sharedVideoSources.get(A),Q=URL.createObjectURL(I);return g&&(g.objectUrl=Q,g.refs===0&&(URL.revokeObjectURL(Q),this.sharedVideoSources.delete(A))),Q}releaseSharedVideoSource(A){const I=this.sharedVideoSources.get(A);I&&(I.refs=Math.max(0,I.refs-1),I.refs===0&&I.objectUrl&&(URL.revokeObjectURL(I.objectUrl),this.sharedVideoSources.delete(A)))}async tryAcquireSharedHtmlVideo(A,I){var g,Q;if(this.options.shareIdenticalVideoPlayback===!1||I.loop!==0||typeof I.source!="string"||A.type==="vap"&&A.vapMixState)return null;const C=this.normalizeSharedVideoSourceKey(I.source);if(!C)return null;const E=(g=this.options.sharedVideoPlaybackWindowMs)!=null?g:lA.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),w=this.createVideo(D.src,!0),h=this.waitVideoReady(w);return{video:w,ready:h,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)}}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;this.destroyed=!0;for(const g of this.pendingSharedSVGAEntities.values())g.controller.abort();for(const g of this.pendingSharedWebCodecsPlaybacks.values())g.controller.abort();this.pendingSharedWebCodecsPlaybacks.clear(),(A=this.resizeObserver)==null||A.disconnect(),this.resizeObserver=null,window.removeEventListener("resize",this.onWindowLayout),window.removeEventListener("orientationchange",this.onWindowLayout),(I=this.manager)==null||I.destroy();for(const[g]of this.sharedHtmlVideos)this.releaseSharedHtmlVideo(g);for(const[g]of this.sharedSVGAEntities)this.releaseSharedSVGAEntity(g);for(const[g]of this.sharedVideoTextures)this.releaseSharedVideoTexture(g);this.pendingSharedSVGAEntities.clear(),this.pendingSharedHtmlVideos.clear();for(const g of this.sharedWebCodecsPlaybacks.values())for(const Q of g)Q.playback.destroy();this.sharedWebCodecsPlaybacks.clear(),this.sharedWebCodecsSurfaces.clear(),this.completedPlaybackSlots.clear(),this.playbackCompleteWaiters.clear();for(const[g,Q]of this.sharedVideoSources)Q.objectUrl&&URL.revokeObjectURL(Q.objectUrl),this.sharedVideoSources.delete(g);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)})}};x(vA,"SVGA_ATLAS_MAX_SIZE",2048);x(vA,"SVGA_ATLAS_PADDING",2);x(vA,"DEFAULT_SHARED_VIDEO_PLAYBACK_WINDOW_MS",100);x(vA,"DEFAULT_RESOURCE_CACHE_MEMORY_BYTES",128*1024*1024);x(vA,"DEFAULT_RESOURCE_CACHE_PERSISTENT_BYTES",2048*1024*1024);let Ia=vA;exports.AlphaVideoRenderer=sQ;exports.AudioManager=wQ;exports.BufferPool=zB;exports.GiftStage=Ia;exports.PostAnimator=DQ;exports.RenderManager=nQ;exports.SVGABatchRenderer=CQ;exports.VAPRenderer=tQ;exports.WebCodecsMp4Playback=LA;exports.WebGL1Backend=Mg;exports.WebGL2Backend=xB;exports.WebGPUBackend=pB;exports.buildAtlas=YQ;exports.buildBatchVerticesJS=LI;exports.canSharedArrayBuffer=UC;exports.canWebGL1=kC;exports.canWebGL2=SC;exports.canWebGPU=NC;exports.clamp=HI;exports.createBackend=TB;exports.decodeSVGAProto=Jg;exports.easeInOutCubic=te;exports.easeInOutQuad=ae;exports.easeInQuad=oe;exports.easeOutBack=se;exports.easeOutCubic=KQ;exports.easeOutQuad=ee;exports.generateId=_B;exports.inflateJS=dg;exports.initWasm=PB;exports.isWasmReady=mA;exports.lerp=nA;exports.linear=ie;exports.ortho=KA;exports.parseSVGA=pI;exports.parseVAPConfig=Yg;
|
|
3258
3258
|
//# sourceMappingURL=gift-stage.cjs.js.map
|