@mateuszjs/magic-render 0.1.0-next.17 → 0.1.0-next.18
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/lib/index.mjs +1 -1
- package/lib/index.mjs.map +1 -1
- package/lib/types/src/WebGPU/pick.d.ts.map +1 -1
- package/lib/types/src/WebGPU/pointer.d.ts +6 -1
- package/lib/types/src/WebGPU/pointer.d.ts.map +1 -1
- package/lib/types/src/getCanvasMatrix.d.ts.map +1 -1
- package/lib/types/src/index.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var A,e,t,g,I={214:(A,e,t)=>{function g(A,e,t,g){A.width=Math.max(1,Math.min(e,g.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,g.limits.maxTextureDimension2D))}function I(A,e,t){const I=new ResizeObserver((A=>{for(const I of A)g(I.target,I.devicePixelContentBoxSize[0].inlineSize||I.contentBoxSize[0].inlineSize*devicePixelRatio,I.devicePixelContentBoxSize[0].blockSize||I.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}));try{I.observe(A,{box:"device-pixel-content-box"})}catch(e){I.observe(A,{box:"content-box"})}g(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>I})},1911:(A,e,t)=>{t.d(e,{A:()=>I});var g=function(A,e,t,g){return new(t||(t=Promise))((function(I,i){function Q(A){try{B(g.next(A))}catch(A){i(A)}}function C(A){try{B(g.throw(A))}catch(A){i(A)}}function B(A){var e;A.done?I(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}B((g=g.apply(A,e||[])).next())}))};function I(){return g(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const e=yield A.requestDevice();return e.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),e}))}},2872:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>r});var I=t(2842),i=t(9200),Q=t(3979),C=A([i,Q]);[i,Q]=C.then?(await C)():C;const B=1;class r{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({size:4*B,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({size:[1,1],format:"r32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT}),this.pickDepthTexture=A.createTexture({size:[1,1],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:B})}}}createMatrix(A,e){const{clientWidth:t,clientHeight:g}=A,Q=-(i.W.x/t*2-1),C=i.W.y/g*2-1;return[I.A.scaling([t,g,0]),I.A.translation([Q,C,0]),e].reduce(((A,e)=>I.A.multiply(A,e)),I.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,g=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,4*B);const[A]=new Uint32Array(this.pickBuffer.getMappedRange(0,4*B));(0,Q.OI)(A);let e=0;for(;e<i.W.afterPickEventsQueue.length;){const{requireNewPick:A,cb:t}=i.W.afterPickEventsQueue[e];if(A&&e>0)break;t(),e++}i.W.afterPickEventsQueue.splice(0,e),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(I,i){function Q(A){try{B(g.next(A))}catch(A){i(A)}}function C(A){try{B(g.throw(A))}catch(A){i(A)}}function B(A){var e;A.done?I(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}B((g=g.apply(A,e||[])).next())}));var A,e,t,g}}g()}catch(A){g(A)}}))},9200:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>B,W:()=>C});var I=t(3979),i=A([I]);I=(i.then?(await i)():i)[0];const Q=-1,C={x:0,y:0,afterPickEventsQueue:[]};function B(A,e){function t(e){const t=A.getBoundingClientRect();C.x=e.clientX-t.left,C.y=e.clientY-t.top}C.x=Q,C.y=Q,A.addEventListener("mouseleave",(()=>{e();const A=()=>{C.x=Q,C.y=Q,(0,I.c2)()};C.afterPickEventsQueue.length>0?C.afterPickEventsQueue.push({requireNewPick:!1,cb:A}):A()})),A.addEventListener("mousemove",(g=>{e();const i=()=>{t(g),(0,I.wU)(C.x,A.clientHeight-C.y)};C.afterPickEventsQueue.length>0?C.afterPickEventsQueue.push({requireNewPick:!1,cb:i}):i()})),A.addEventListener("mousedown",(g=>{e(),t(g),C.afterPickEventsQueue.push({requireNewPick:!0,cb:I.Dk.bind(null,C.x,A.clientHeight-C.y)})})),A.addEventListener("mouseup",(()=>{e(),C.afterPickEventsQueue.length>0?C.afterPickEventsQueue.push({requireNewPick:!1,cb:I._R}):(0,I._R)()})),A.addEventListener("wheel",(A=>{console.log(A.deltaY)}))}g()}catch(r){g(r)}}))},5695:(A,e,t)=>{t.d(e,{Ay:()=>m,hk:()=>N,_J:()=>U,D4:()=>w,Fh:()=>k,Q3:()=>F});const g="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f,\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32\n) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = vec4f(vert.p0.xy, 0, 1);\n } else if (normVertexIndex == 1) {\n out.position = vec4f(vert.p1.xy, 0, 1);\n } else {\n out.position = vec4f(vert.p2.xy, 0, 1);\n }\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n out.radius_list = vert.radius_list;\n\n let p0_circle_dist = distance(vert.p0.xy, vert.p0.zw);\n let p1_circle_dist = distance(vert.p1.xy, vert.p1.zw);\n let p2_circle_dist = distance(vert.p2.xy, vert.p2.zw);\n\n out.threshold_list = vec3f(\n sqrt(pow(p0_circle_dist, 2) - pow(vert.radius_list.x, 2)),\n sqrt(pow(p1_circle_dist, 2) - pow(vert.radius_list.y, 2)),\n sqrt(pow(p2_circle_dist, 2) - pow(vert.radius_list.z, 2)),\n ); // behind this value is roudned corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n let dist = distance(p, in.pixel);\n\n if (dist < threshold) {\n let circle_distance = distance(p_circle, in.pixel);\n return in.color * (1.0 - smoothstep(radius - 0.5, radius + 0.5, circle_distance));\n } else {\n return in.color;\n }\n}\n",I=19,i="struct Uniforms {\n matrix: mat4x4f,\n zoom: f32,\n};\n\nstruct Vertex {\n @location(0) t: f32,\n @location(1) dir: f32,\n @location(2) segmentIndex: u32,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@group(0) @binding(1) var<storage> points: array<vec2f>;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n \n let p1 = points[vert.segmentIndex * 4 + 0];\n let p2 = points[vert.segmentIndex * 4 + 1];\n let p3 = points[vert.segmentIndex * 4 + 2];\n let p4 = points[vert.segmentIndex * 4 + 3];\n\n let t2 = vert.t * vert.t;\n let one_minus_t = 1.0 - vert.t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let pos = p1 * one_minus_t2 * one_minus_t + p2 * 3.0 * vert.t * one_minus_t2 + p3 * 3.0 * t2 * one_minus_t + p4 * t2 * vert.t;\n\n let angle = one_minus_t2 * (p2 - p1) + 2.0 * vert.t * one_minus_t * (p3 - p2) + t2 * (p4 - p3);\n let angleNorm = normalize(angle) * 5 / u.zoom;\n let transPos = vec2(pos.x - angleNorm.y * vert.dir, pos.y + angleNorm.x * vert.dir);\n let clipSpace = (u.matrix * vec4f(transPos, 1, 1));\n vsOut.position = clipSpace;\n vsOut.color = vec4f(f32(vert.segmentIndex) % 3, (f32(vert.segmentIndex) + 1) % 3, (f32(vert.segmentIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",Q="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) texcoord: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.texcoord = vert.texcoord;\n return vsOut;\n}\n\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, vsOut.texcoord);\n}\n",C="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",B="struct Uniforms {\n normalMatrix: mat3x3f,\n worldViewProjection: mat4x4f,\n lightColor: vec4f,\n lightDirection: vec3f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) normal: vec3f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) normal: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.worldViewProjection * vert.position;\n vsOut.normal = uni.normalMatrix * vert.normal;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Because vsOut.normal is an inter-stage variable \n // it's interpolated so it will not be a unit vector.\n // Normalizing it will make it a unit vector again\n let normal = normalize(vsOut.normal);\n \n // Compute the light by taking the dot product\n // of the normal to the light's reverse direction\n let light = dot(normal, -uni.lightDirection);\n \n // Lets multiply just the color portion (not the alpha)\n // by the light\n let color = vec3f(0.23) + uni.lightColor.rgb * light;\n // let color = vsOut.color.rgb * 0.5 + uni.lightColor.rgb * light;\n return vec4f(color, vsOut.color.a);\n}\n",r="struct Params {\n filterDim : i32,\n blockDim : u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> params : Params;\n@group(1) @binding(1) var inputTex : texture_2d<f32>;\n@group(1) @binding(2) var outputTex : texture_storage_2d<rgba8unorm, write>;\n\nstruct Flip {\n value : u32,\n}\n@group(1) @binding(3) var<uniform> flip : Flip;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |flip.value| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec3<f32>, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (params.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(params.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.25, 0.25)) / vec2<f32>(dims),\n 0.0\n ).rgb;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n var acc = vec3(0.0, 0.0, 0.0);\n for (var f = 0; f < params.filterDim; f++) {\n var i = center + f - filterOffset;\n acc = acc + (1.0 / f32(params.filterDim)) * tile[r][i];\n }\n textureStore(outputTex, writeIndex, vec4(acc, 1.0));\n }\n }\n }\n}\n",o=128,n=[4,4],s="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n}\n",E=6,a="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n @location(2) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return u32(in.id);\n}\n",c=7,u="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n out.position = u.worldViewProjection * vert.position;\n out.id = vert.id;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n return u32(in.id);\n}\n\n",l=5,f="struct Vertex {\n @location(0) p0_position: vec4f,\n @location(1) p0_uv: vec2f,\n @location(2) p1_position: vec4f,\n @location(3) p1_uv: vec2f,\n @location(4) p2_position: vec4f,\n @location(5) p2_uv: vec2f,\n @location(6) color: vec4f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex, @builtin(vertex_index) vertexIndex : u32) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = u.worldViewProjection * vert.p0_position;\n out.texCoord = vert.p0_uv;\n } else if (normVertexIndex == 1) {\n out.position = u.worldViewProjection * vert.p1_position;\n out.texCoord = vert.p1_uv;\n } else {\n out.position = u.worldViewProjection * vert.p2_position;\n out.texCoord = vert.p2_uv;\n }\n\n out.color = vert.color;\n \n return out;\n}\n\nfn median(r: f32, g: f32, b: f32) -> f32 {\n return max(min(r, g), min(max(r, g), b));\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let msdf = textureSample(ourTexture, ourSampler, in.texCoord);\n let signed_distance = median(msdf.r, msdf.g, msdf.b) - 0.5;\n let w = clamp(signed_distance / fwidth(signed_distance) + 0.5, 0.0, 1.0);\n return in.color * w;\n}",h=22;let w,D,y,d,p,S,U,k,F,N;function m(A,e){w=function(A,e){const t=A.createShaderModule({label:"draw triangle module",code:g}),i=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*I,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"float32x4"},{shaderLocation:4,offset:64,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),B=C.subarray(0,16);return function(e,t,g){const r=g.length/I,o=A.createBuffer({label:"vertex buffer vertices",size:g.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,g);const n=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(i),e.setVertexBuffer(0,o),B.set(t),A.queue.writeBuffer(Q,0,C),e.setBindGroup(0,n),e.draw(3,r)}}(A,e),D=function(A,e){const t=A.createShaderModule({label:"bezier shader module",code:i}),g=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:2,offset:0,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,I,i,Q,C,B){const r=4*I.length,o=A.createBuffer({label:"storage points",size:r,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),n=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),s=new Float32Array(20),E=s.subarray(0,16),a=s.subarray(16,17),c=A.createBindGroup({label:"bezier bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:n}},{binding:1,resource:{buffer:o}}]}),u=A.createBuffer({label:"bezier vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(u,0,i);const l=A.createBuffer({label:"bezier vertex buffer vertices",size:Q.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(l,0,Q);const f=A.createBuffer({label:"bezier vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,C),e.setPipeline(g),e.setVertexBuffer(0,u),e.setVertexBuffer(1,l),e.setVertexBuffer(2,f),E.set(t),a.set(new Float32Array([B])),A.queue.writeBuffer(n,0,s),A.queue.writeBuffer(o,0,I),e.setBindGroup(0,c),e.draw(i.length)}}(A,e),d=function(A,e){const t=A.createShaderModule({label:"3d model texture shader module",code:Q}),g=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,I,i,Q){const C=A.createSampler({magFilter:"linear",minFilter:"linear"}),B=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),r=new Float32Array(16),o=r.subarray(0,16),n=Q.length,s=A.createBuffer({label:"3d model texture vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,i);const E=A.createBuffer({label:"3d model texture index buffer",size:Q.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(E,0,Q);const a=A.createBindGroup({label:"3d model texture bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:B}},{binding:1,resource:C},{binding:2,resource:I.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,s),e.setIndexBuffer(E,"uint32"),o.set(t),A.queue.writeBuffer(B,0,r),e.setBindGroup(0,a),e.drawIndexed(n)}}(A,e),y=function(A,e){const t=A.createShaderModule({label:"3d model shader module",code:C}),g=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,I,i){const Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),B=C.subarray(0,16),r=i.length,o=A.createBuffer({label:"vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(o,0,I);const n=A.createBuffer({label:"index buffer",size:i.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,i);const s=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(g),e.setVertexBuffer(0,o),e.setIndexBuffer(n,"uint32"),B.set(t),A.queue.writeBuffer(Q,0,C),e.setBindGroup(0,s),e.drawIndexed(r)}}(A,e),p=function(A,e){const t=A.createShaderModule({label:"3d model light shader module",code:B}),g=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,I,i){const{worldViewProjection:Q,normalMatrix:C,lightColor:B,lightDirection:r}=t,o=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),n=new Float32Array(36),s=n.subarray(0,12),E=n.subarray(12,28),a=n.subarray(28,32),c=n.subarray(32,35),u=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}}]}),l=i.length,f=A.createBuffer({label:"vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,I);const h=A.createBuffer({label:"index buffer",size:i.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(h,0,i),e.setPipeline(g),e.setVertexBuffer(0,f),e.setIndexBuffer(h,"uint32"),s.set(C),E.set(Q),a.set(B),c.set(r),A.queue.writeBuffer(o,0,n),e.setBindGroup(0,u),e.drawIndexed(l)}}(A,e),S=function(A){const e=A.createShaderModule({label:"blur shader module",code:r}),t=A.createComputePipeline({layout:"auto",compute:{module:e,entryPoint:"main"}});return function(e,g){const I=[0,1].map((()=>A.createTexture({size:{width:e.width,height:e.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),i=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=0,e.unmap(),e})(),Q=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=1,e.unmap(),e})(),C=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),B=A.createSampler({magFilter:"linear",minFilter:"linear"}),r=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:B},{binding:1,resource:{buffer:C}}]}),s=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:e.createView()},{binding:2,resource:I[0].createView()},{binding:3,resource:{buffer:i}}]}),E=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:I[0].createView()},{binding:2,resource:I[1].createView()},{binding:3,resource:{buffer:Q}}]}),a=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:I[1].createView()},{binding:2,resource:I[0].createView()},{binding:3,resource:{buffer:i}}]}),c=o-14;A.queue.writeBuffer(C,0,new Uint32Array([15,c]));const u=g.beginComputePass();u.setPipeline(t),u.setBindGroup(0,r),u.setBindGroup(1,s),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/n[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/n[1]));for(let A=0;A<1;++A)u.setBindGroup(1,a),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/n[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/n[1]));return u.end(),I[1]}}(A),U=function(A,e){const t=A.createShaderModule({label:"texture module",code:s}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),I=A.createRenderPipeline({label:"texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*E,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),i=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),C=Q.subarray(0,16);return function(e,t,B,r){const o=B.length/E|0,n=A.createBuffer({label:"vertex buffer vertices",size:B.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,B);const s=A.createBindGroup({layout:I.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:i}},{binding:1,resource:g},{binding:2,resource:r.createView()}]});e.setPipeline(I),e.setVertexBuffer(0,n),C.set(t),A.queue.writeBuffer(i,0,Q),e.setBindGroup(0,s),e.draw(o)}}(A,e),k=function(A){const e=A.createShaderModule({label:"pick texture module",code:a}),t=A.createSampler({minFilter:"linear",magFilter:"linear"}),g=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*c,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),I=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),i=new Float32Array(16),Q=i.subarray(0,16);return function(e,C,B,r){const o=B.length/c|0,n=A.createBuffer({label:"pic texture vertex buffer vertices",size:B.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,B);const s=A.createBindGroup({layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:t},{binding:2,resource:r.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,n),Q.set(C),A.queue.writeBuffer(I,0,i),e.setBindGroup(0,s),e.draw(o)}}(A),F=function(A){const e=A.createShaderModule({label:"pick triangle module",code:u}),t=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*l,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),g=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),I=new Float32Array(16),i=I.subarray(0,16);return function(e,Q,C){const B=C.length/l|0,r=A.createBuffer({label:"pick triangle vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(r,0,C);const o=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:g}}]});e.setPipeline(t),e.setVertexBuffer(0,r),i.set(Q),A.queue.writeBuffer(g,0,I),e.setBindGroup(0,o),e.draw(B)}}(A),N=function(A,e){const t=A.createShaderModule({label:"draw msdf module",code:f}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),I=A.createRenderPipeline({label:"draw msdf pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*h,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32x4"},{shaderLocation:3,offset:40,format:"float32x2"},{shaderLocation:4,offset:48,format:"float32x4"},{shaderLocation:5,offset:64,format:"float32x2"},{shaderLocation:6,offset:72,format:"float32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),i=A.createBuffer({label:"draw msdf uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),C=Q.subarray(0,16);return function(e,t,B,r){const o=B.length/h,n=A.createBuffer({label:"draw msdf - vertex buffer",size:B.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,B);const s=A.createBindGroup({layout:I.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:i}},{binding:1,resource:g},{binding:2,resource:r.createView()}]});e.setPipeline(I),e.setVertexBuffer(0,n),C.set(t),A.queue.writeBuffer(i,0,Q),e.setBindGroup(0,s),e.draw(3,o)}}(A,e)}},4461:(A,e,t)=>{t.d(e,{A:()=>I});var g=t(2842);function I(A){return g.A.ortho(0,A.width,0,A.height,1,-1)}},6838:(A,e,t)=>{let g,I;function i(A,e,t,I){return g&&g.width===e&&g.height===t||(null==g||g.destroy(),g=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}),g=A.createTexture({format:I,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),g}function Q(A,e){const t=A.getCurrentTexture();return function(A,e,t){I&&I.width===e&&I.height===t||(null==I||I.destroy(),I=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(e,t.width,t.height),{label:"our render to canvas renderPass",colorAttachments:[{view:i(e,t.width,t.height,t.format).createView(),resolveTarget:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}t.d(e,{A:()=>Q})},8156:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>u});var I=t(214),i=t(1911),Q=t(5695),C=t(2633),B=t(3979),r=t(9200),o=t(6561),n=t(1369),s=t(4559),E=t(1181),a=A([C,B,r]);[C,B,r]=a.then?(await a)():a;var c=function(A,e,t,g){return new(t||(t=Promise))((function(I,i){function Q(A){try{B(g.next(A))}catch(A){i(A)}}function C(A){try{B(g.throw(A))}catch(A){i(A)}}function B(A){var e;A.done?I(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}B((g=g.apply(A,e||[])).next())}))};function u(A,e,t,g){return c(this,void 0,void 0,(function*(){let a=0,u=!1;function l(){g(a>0||u)}const f=yield(0,i.A)();E.Ts(f,(A=>{a=A,l()})),(0,B.vH)(A.clientWidth,A.clientHeight);const h=A.getContext("webgpu");if(!h)throw Error("WebGPU from canvas needs to be always provided");const w=navigator.gpu.getPreferredCanvasFormat();h.configure({device:f,format:w}),(0,I.A)(A,f,(()=>{})),(0,Q.Ay)(f,w),(0,r.A)(A,(()=>{u=!0,l()})),(0,B.kO)((A=>{const t=[...A].map((A=>({id:A.id,textureId:A.texture_id,points:[...A.points].map((A=>({x:A.x,y:A.y,u:A.u,v:A.v}))),url:E.ID(A.texture_id)})));e(t)})),(0,B.Nu)(t),E.WQ(o,((A,e)=>{(0,B.dU)(n.Wn.flatMap((t=>[t.id,t.x/A,t.y/e,t.width/A,t.height/e,t.width,t.height])))}));const D=(0,C.Ay)(A,h,f,w,(()=>{u=!1,l()}));return{addImage:e=>{const t=E.WQ(e,((e,g)=>{const I=(0,s.A)(e,g,A.clientWidth,A.clientHeight);(0,B.VD)(0,I,t)}))},removeAsset:B.MW,resetAssets:(e,...t)=>c(this,[e,...t],void 0,(function*(e,t=!1){const g=(yield Promise.allSettled(e.map((e=>new Promise(((t,g)=>{if(e.points)return t({points:e.points,texture_id:e.textureId||E.WQ(e.url),id:e.id||0});const I=E.WQ(e.url,((e,g)=>t({points:(0,s.A)(e,g,A.clientWidth,A.clientHeight),texture_id:I,id:0})))})))))).filter((A=>"fulfilled"===A.status)).map((A=>A.value));(0,B.im)(g,t)})),destroy:()=>{D(),(0,B.Nl)(),h.unconfigure(),f.destroy()}}}))}g()}catch(l){g(l)}}))},2633:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{Ay:()=>s});var I=t(6838),i=t(5695),Q=t(4461),C=t(2872),B=t(3979),r=t(9200),o=t(1181),n=A([C,B,r]);function s(A,e,t,g,n){let s,E;const a=new C.A(t);let c,u;(0,B.Vh)({draw_texture:(A,e)=>(0,i._J)(s,E,A.typedArray,o.Mc(e)),draw_msdf:(A,e)=>{(0,i.hk)(s,E,A.typedArray,o.Mc(e))},draw_triangle:A=>(0,i.D4)(s,E,A.typedArray),pick_texture:(A,e)=>(0,i.Fh)(u,c,A.typedArray,o.Mc(e)),pick_triangle:A=>(0,i.Q3)(u,c,A.typedArray)});let l=0;const f={x:0,y:0};return l=requestAnimationFrame((function g(i){const C=t.createCommandEncoder(),o=(0,I.A)(e,t);if(s=C.beginRenderPass(o),E=(0,Q.A)(A),(0,B.Gp)(),s.end(),0===r.W.afterPickEventsQueue.length&&n(),r.W.afterPickEventsQueue.length>0||f.x!==r.W.x||f.y!==r.W.y){f.x=r.W.x,f.y=r.W.y,c=a.createMatrix(A,E);const e=a.startPicking(C);u=e.pass,(0,B.A4)(),e.end()}const h=C.finish();t.queue.submit([h]),a.asyncPick(),l=requestAnimationFrame(g)})),()=>{cancelAnimationFrame(l)}}[C,B,r]=n.then?(await n)():n,new Float32Array,g()}catch(E){g(E)}}))},1181:(A,e,t)=>{t.d(e,{WQ:()=>o,Mc:()=>n,ID:()=>s,Ts:()=>r});const g=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};let I,i,Q,C,B;function r(A,e){I=A,i=[],Q=function(A){const e=[255,0,0,255],t=[255,255,0,255],g=new Uint8Array([[0,0,255,255],e,e,e,e,e,t,t,t,e,e,t,e,e,e,e,t,t,e,e,e,t,e,e,e,e,t,e,e,e,e,e,e,e,e].flat()),I=A.createTexture({label:"yellow F on red",size:[5,7],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:I},g,{bytesPerRow:20},{width:5,height:7}),I}(I),C=()=>e(B),B=0}function o(A,e){B++,C();const t=i.length;i.push({url:A});const Q=new Image;return Q.src=A,Q.onload=()=>{i[t].texture=function(A,e,t={}){const I=A.createTexture({format:"rgba8unorm",mipLevelCount:t.mips?g(e.width,e.height):1,size:[e.width,e.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:g,depthOrArrayLayers:I}={}){A.queue.copyExternalImageToTexture({source:t,flipY:g},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:I})}(A,I,e,t),I}(I,Q,{flipY:!0}),null==e||e(Q.width,Q.height),B--,C()},Q.onerror=()=>{console.error(`Failed to load image from ${A}`),B--,C()},t}function n(A){var e;return null!==(e=i[A].texture)&&void 0!==e?e:Q}function s(A){return i[A].url}},4559:(A,e,t)=>{function g(A,e,t){return Math.min(t,Math.max(e,A))}function I(A,e,t,I){const i=function(A,e,t,I){if(I-e<t-A)return g(e,.2*I,.8*I)/e;return g(A,.2*t,.8*t)/A}(A,e,t,I),Q=A*i,C=e*i,B=.5*(t-Q),r=.5*(I-C);return[{x:B,y:r+C,u:0,v:1},{x:B+Q,y:r+C,u:1,v:1},{x:B+Q,y:r,u:1,v:0},{x:B,y:r,u:0,v:0}]}t.d(e,{A:()=>I})},2842:(A,e,t)=>{t.d(e,{A:()=>i});const g={cross(A,e,t=new Float32Array(3)){const g=A[1]*e[2]-A[2]*e[1],I=A[2]*e[0]-A[0]*e[2],i=A[0]*e[1]-A[1]*e[0];return t[0]=g,t[1]=I,t[2]=i,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},I={projection:(A,e,t,g)=>I.ortho(0,A,e,0,t,-t,g),perspective(A,e,t,g,I=new Float32Array(16)){const i=Math.tan(.5*Math.PI-.5*A),Q=1/(t-g);return I[0]=i/e,I[1]=0,I[2]=0,I[3]=0,I[4]=0,I[5]=i,I[6]=0,I[7]=0,I[8]=0,I[9]=0,I[10]=g*Q,I[11]=-1,I[12]=0,I[13]=0,I[14]=t*g*Q,I[15]=0,I},ortho:(A,e,t,g,I,i,Q=new Float32Array(16))=>(Q[0]=2/(e-A),Q[1]=0,Q[2]=0,Q[3]=0,Q[4]=0,Q[5]=2/(g-t),Q[6]=0,Q[7]=0,Q[8]=0,Q[9]=0,Q[10]=1/(I-i),Q[11]=0,Q[12]=(e+A)/(A-e),Q[13]=(g+t)/(t-g),Q[14]=I/(I-i),Q[15]=1,Q),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,e,t=new Float32Array(16)){const g=e[0],I=e[1],i=e[2],Q=e[3],C=e[4],B=e[5],r=e[6],o=e[7],n=e[8],s=e[9],E=e[10],a=e[11],c=e[12],u=e[13],l=e[14],f=e[15],h=A[0],w=A[1],D=A[2],y=A[3],d=A[4],p=A[5],S=A[6],U=A[7],k=A[8],F=A[9],N=A[10],m=A[11],b=A[12],K=A[13],M=A[14],G=A[15];return t[0]=g*h+I*d+i*k+Q*b,t[1]=g*w+I*p+i*F+Q*K,t[2]=g*D+I*S+i*N+Q*M,t[3]=g*y+I*U+i*m+Q*G,t[4]=C*h+B*d+r*k+o*b,t[5]=C*w+B*p+r*F+o*K,t[6]=C*D+B*S+r*N+o*M,t[7]=C*y+B*U+r*m+o*G,t[8]=n*h+s*d+E*k+a*b,t[9]=n*w+s*p+E*F+a*K,t[10]=n*D+s*S+E*N+a*M,t[11]=n*y+s*U+E*m+a*G,t[12]=c*h+u*d+l*k+f*b,t[13]=c*w+u*p+l*F+f*K,t[14]=c*D+u*S+l*N+f*M,t[15]=c*y+u*U+l*m+f*G,t},cameraAim(A,e,t,I=new Float32Array(16)){const i=g.normalize(g.subtract(A,e)),Q=g.normalize(g.cross(t,i)),C=g.normalize(g.cross(i,Q));return I[0]=Q[0],I[1]=Q[1],I[2]=Q[2],I[3]=0,I[4]=C[0],I[5]=C[1],I[6]=C[2],I[7]=0,I[8]=i[0],I[9]=i[1],I[10]=i[2],I[11]=0,I[12]=A[0],I[13]=A[1],I[14]=A[2],I[15]=1,I},inverse(A,e=new Float32Array(16)){const t=A[0],g=A[1],I=A[2],i=A[3],Q=A[4],C=A[5],B=A[6],r=A[7],o=A[8],n=A[9],s=A[10],E=A[11],a=A[12],c=A[13],u=A[14],l=A[15],f=s*l,h=u*E,w=B*l,D=u*r,y=B*E,d=s*r,p=I*l,S=u*i,U=I*E,k=s*i,F=I*r,N=B*i,m=o*c,b=a*n,K=Q*c,M=a*C,G=Q*n,v=o*C,L=t*c,J=a*g,x=t*n,R=o*g,q=t*C,Y=Q*g,H=f*C+D*n+y*c-(h*C+w*n+d*c),O=h*g+p*n+k*c-(f*g+S*n+U*c),P=w*g+S*C+F*c-(D*g+p*C+N*c),T=d*g+U*C+N*n-(y*g+k*C+F*n),V=1/(t*H+Q*O+o*P+a*T);return e[0]=V*H,e[1]=V*O,e[2]=V*P,e[3]=V*T,e[4]=V*(h*Q+w*o+d*a-(f*Q+D*o+y*a)),e[5]=V*(f*t+S*o+U*a-(h*t+p*o+k*a)),e[6]=V*(D*t+p*Q+N*a-(w*t+S*Q+F*a)),e[7]=V*(y*t+k*Q+F*o-(d*t+U*Q+N*o)),e[8]=V*(m*r+M*E+G*l-(b*r+K*E+v*l)),e[9]=V*(b*i+L*E+R*l-(m*i+J*E+x*l)),e[10]=V*(K*i+J*r+q*l-(M*i+L*r+Y*l)),e[11]=V*(v*i+x*r+Y*E-(G*i+R*r+q*E)),e[12]=V*(K*s+v*u+b*B-(G*u+m*B+M*s)),e[13]=V*(x*u+m*I+J*s-(L*s+R*u+b*I)),e[14]=V*(L*B+Y*u+M*I-(q*u+K*I+J*B)),e[15]=V*(q*s+G*I+R*B-(x*B+Y*s+v*I)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,I=new Float32Array(16)){const i=g.normalize(g.subtract(e,A)),Q=g.normalize(g.cross(t,i)),C=g.normalize(g.cross(i,Q));return I[0]=Q[0],I[1]=Q[1],I[2]=Q[2],I[3]=0,I[4]=C[0],I[5]=C[1],I[6]=C[2],I[7]=0,I[8]=i[0],I[9]=i[1],I[10]=i[2],I[11]=0,I[12]=A[0],I[13]=A[1],I[14]=A[2],I[15]=1,I},lookAt:(A,e,t,g)=>I.inverse(I.cameraAim(A,e,t,g),g),translation:([A,e,t],g=new Float32Array(16))=>(g[0]=1,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=1,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=A,g[13]=e,g[14]=t,g[15]=1,g),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=g,e[7]=0,e[8]=0,e[9]=-g,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-g,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=g,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=g,e[2]=0,e[3]=0,e[4]=-g,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},scaling:([A,e,t],g=new Float32Array(16))=>(g[0]=A,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=e,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=t,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,g),translate:(A,e,t)=>I.multiply(A,I.translation(e),t),rotateX:(A,e,t)=>I.multiply(A,I.rotationX(e),t),rotateY:(A,e,t)=>I.multiply(A,I.rotationY(e),t),rotateZ:(A,e,t)=>I.multiply(A,I.rotationZ(e),t),scale:(A,e,t)=>I.multiply(A,I.scaling(e),t)},i=I},3979:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A4:()=>Ue,Dk:()=>De,Gp:()=>Se,MW:()=>he,Nl:()=>Fe,Nu:()=>ce,OI:()=>we,VD:()=>fe,Vh:()=>Ee,_R:()=>ye,c2:()=>pe,dU:()=>Ne,im:()=>ke,kO:()=>ae,vH:()=>le,wU:()=>de});var I=t(4773);t(1285),t(9592),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(9098),t(9494),t(337),t(7431),t(7591),t(6717),t(2164),t(6135),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(7382),t(1425),t(8773),t(3086),t(8771),t(8991),t(8502),t(9025),t(5558),t(4358),t(2436),t(7409),t(9268),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},i={type:0,flags:0},Q={},C={},B={},r={},o={},n={},s={},E={},a={},c={},u={},l={},f={},h={},w={},D={},y={},d={},p={},S={},U={},k={},F={},N={},m={},b={},K={},M={},G={},v={},L={},J={},x={},R={},q={},Y={},H={},O={},P={},T={},V={},z={},Z={},j={},W={},X={},_={},$={},AA={},eA={},tA={},gA={},IA={},iA={},QA={},CA={},BA={},rA={},oA={},nA={},sA={},EA={},aA={},cA={},uA={},lA={},fA={},hA={},wA={},DA={},yA={},dA={},pA={},SA={},UA={},kA={},FA={},NA={},mA={},bA={},KA={},MA={},GA={},vA={},LA={},JA={},xA={},RA={},qA={},YA={},HA={},OA={},PA={},TA={},VA={},zA={},ZA={},jA={},WA={},XA={},_A=A=>new Uint8Array(A),$A=_A(0),Ae=_A(20),ee=_A(8),te=_A(16),ge=_A(72),Ie=_A([232,3,0,0]),ie=Object.assign;ie($,{memory:{array:$A},handle:29}),ie(AA,{memory:{array:$A},handle:30}),ie(eA,{memory:{array:$A},handle:19}),ie(tA,{memory:{array:$A},handle:28}),ie(gA,{memory:{array:Ae},handle:263220,slots:{0:IA,1:QA,2:BA,3:rA,4:oA}}),ie(IA,{structure:E,memory:{array:Ae,offset:0,length:4},slots:{0:iA}}),ie(iA,{structure:s,memory:{array:$A}}),ie(QA,{structure:u,memory:{array:Ae,offset:4,length:4},slots:{0:CA}}),ie(CA,{structure:c,memory:{array:$A}}),ie(BA,{structure:E,memory:{array:Ae,offset:8,length:4},slots:{0:iA}}),ie(rA,{structure:E,memory:{array:Ae,offset:12,length:4},slots:{0:iA}}),ie(oA,{structure:u,memory:{array:Ae,offset:16,length:4},slots:{0:CA}}),ie(nA,{memory:{array:$A},handle:18}),ie(sA,{memory:{array:$A},handle:100}),ie(EA,{memory:{array:ee}}),ie(aA,{slots:{0:cA}}),ie(cA,{structure:y,memory:{array:$A},handle:79}),ie(uA,{memory:{array:$A},handle:82}),ie(lA,{memory:{array:$A},handle:83}),ie(fA,{memory:{array:te}}),ie(hA,{slots:{0:wA,1:DA,2:yA}}),ie(wA,{structure:S,memory:{array:$A},handle:79}),ie(DA,{structure:k,memory:{array:$A},handle:80}),ie(yA,{structure:k,memory:{array:$A},handle:81}),ie(dA,{memory:{array:ge}}),ie(pA,{memory:{array:$A},handle:19}),ie(SA,{memory:{array:$A},handle:20}),ie(UA,{memory:{array:$A},handle:21}),ie(kA,{memory:{array:$A},handle:25}),ie(FA,{memory:{array:$A},handle:26}),ie(NA,{memory:{array:$A},handle:21}),ie(mA,{memory:{array:$A},handle:22}),ie(bA,{memory:{array:$A},handle:23}),ie(KA,{memory:{array:$A},handle:24}),ie(MA,{memory:{array:$A},handle:27}),ie(GA,{slots:{0:vA,1:LA,2:JA,3:xA,4:RA,5:qA,6:YA,7:HA,8:OA,9:PA,10:TA,11:VA,12:zA,13:ZA,14:jA,15:WA,16:XA}}),ie(vA,{structure:w,memory:{array:$A},handle:2}),ie(LA,{structure:J,memory:{array:$A},handle:3}),ie(JA,{structure:H,memory:{array:$A},handle:4}),ie(xA,{structure:o,memory:{array:Ie},const:!0}),ie(RA,{structure:P,memory:{array:$A},handle:5}),ie(qA,{structure:V,memory:{array:$A},handle:6}),ie(YA,{structure:Z,memory:{array:$A},handle:7}),ie(HA,{structure:R,memory:{array:$A},handle:8}),ie(OA,{structure:P,memory:{array:$A},handle:9}),ie(PA,{structure:Z,memory:{array:$A},handle:10}),ie(TA,{structure:P,memory:{array:$A},handle:11}),ie(VA,{structure:Z,memory:{array:$A},handle:12}),ie(zA,{structure:Z,memory:{array:$A},handle:13}),ie(ZA,{structure:Z,memory:{array:$A},handle:14}),ie(jA,{structure:X,memory:{array:$A},handle:15}),ie(WA,{structure:Z,memory:{array:$A},handle:16}),ie(XA,{structure:c,memory:{array:$A},handle:17}),ie(Q,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...i,bitOffset:0,bitSize:0,byteSize:0,structure:Q}]}}),ie(C,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...i,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:C}]}}),ie(B,{...A,type:9,flags:64,signature:0x9212e6749825a514n,name:"[_]f32",byteSize:4,align:4,instance:{members:[{...i,type:4,bitSize:32,byteSize:4,structure:C}]}}),ie(r,{...A,type:8,flags:188,signature:0xfc4e3831fa228a2en,name:"[]const f32",byteSize:8,align:4,instance:{members:[{...i,type:5,bitSize:64,byteSize:8,slot:0,structure:B}]}}),ie(o,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...i,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:o}]}}),ie(n,{...A,type:12,flags:14,signature:0x09675e7a1ffd5485n,name:"Arg(fn ([]const f32, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...i,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:r},{...i,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:o}]}}),ie(s,{...A,type:14,signature:0xe1a5d27f9960e020n,name:"fn ([]const f32, u32) void",length:2,instance:{members:[{...i,type:5,bitSize:96,byteSize:12,structure:n}],template:$},static:{members:[],template:AA}}),ie(E,{...A,type:8,flags:204,signature:0x4d3813c518971895n,name:"*const fn ([]const f32, u32) void",byteSize:4,align:4,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,slot:0,structure:s}]}}),ie(a,{...A,type:12,flags:14,signature:0x0292a02ab8f8020cn,name:"Arg(fn ([]const f32) void)",length:1,byteSize:8,align:4,instance:{members:[{...i,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:r}]}}),ie(c,{...A,type:14,signature:0x47389ea7e1d3d337n,name:"fn ([]const f32) void",length:1,instance:{members:[{...i,type:5,bitSize:64,byteSize:8,structure:a}],template:eA},static:{members:[],template:tA}}),ie(u,{...A,type:8,flags:204,signature:0x4224bff88f0203f5n,name:"*const fn ([]const f32) void",byteSize:4,align:4,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,slot:0,structure:c}]}}),ie(l,{...A,type:2,flags:14,signature:0xe3bd70be86a1c0e7n,name:"WebGpuPrograms",byteSize:20,align:4,instance:{members:[{...i,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:E},{...i,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:u},{...i,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"draw_msdf",structure:E},{...i,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"pick_texture",structure:E},{...i,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"pick_triangle",structure:u}],template:gA}}),ie(f,{...A,type:8,flags:204,signature:0x55f6507b4f6d4f28n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,slot:0,structure:l}]}}),ie(h,{...A,type:12,flags:14,signature:0xeb0499d78c5f06c3n,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...i,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:f}]}}),ie(w,{...A,type:14,signature:0xe04ead767a55cf67n,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,structure:h}],template:nA}}),ie(D,{...A,type:12,flags:10,signature:0x6d671df4e9418a6dn,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...i,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:d},{...i,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:d},{...i,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:d}]}}),ie(y,{...A,type:14,signature:0xd634f75c7a6c5553n,name:"fn (Point, Point) Point",length:2,instance:{members:[{...i,type:5,bitSize:192,byteSize:24,structure:D}],template:sA}}),ie(d,{...A,type:2,signature:0x3c18d236acd7668dn,name:"Point",byteSize:8,align:4,instance:{members:[{...i,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:C},{...i,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:C}],template:EA},static:{members:[{...i,type:5,flags:18,slot:0,name:"mid",structure:y}],template:aA}}),ie(p,{...A,type:12,flags:10,signature:0xd1d7035b6147a5d4n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...i,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:d},{...i,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:F},{...i,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:F}]}}),ie(S,{...A,type:14,signature:0xbb0f8218864060e9n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...i,type:5,bitSize:320,byteSize:40,structure:p}],template:uA}}),ie(U,{...A,type:12,flags:10,signature:0x0fa3968ee7482ac2n,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...i,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:C},{...i,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:F},{...i,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:F}]}}),ie(k,{...A,type:14,signature:0x3170ee9a1e36ef3an,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...i,type:5,bitSize:288,byteSize:36,structure:U}],template:lA}}),ie(F,{...A,type:2,signature:0x9d77c3c6a1a73d02n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...i,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:C},{...i,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:C},{...i,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:C},{...i,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:C}],template:fA},static:{members:[{...i,type:5,flags:18,slot:0,name:"mid",structure:S},{...i,type:5,flags:18,slot:1,name:"angle_to",structure:k},{...i,type:5,flags:18,slot:2,name:"distance",structure:k}],template:hA}}),ie(N,{...A,type:1,flags:10,signature:0x4aba6e79b2a51d1dn,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...i,type:5,bitSize:128,byteSize:16,structure:F}]}}),ie(m,{...A,type:2,flags:10,signature:0x4ae79eaef47ad8ddn,name:"SerializedAsset",byteSize:72,align:4,instance:{members:[{...i,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"points",structure:N},{...i,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:o},{...i,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:o}],template:dA}}),ie(b,{...A,type:9,flags:10,signature:0xe0d907eca6c48c2bn,name:"[_]SerializedAsset",byteSize:72,align:4,instance:{members:[{...i,type:5,bitSize:576,byteSize:72,structure:m}]}}),ie(K,{...A,type:8,flags:188,signature:0x6e413be38a1c13can,name:"[]const SerializedAsset",byteSize:8,align:4,instance:{members:[{...i,type:5,bitSize:64,byteSize:8,slot:0,structure:b}]}}),ie(M,{...A,type:12,flags:14,signature:0x553f6f88d529422an,name:"Arg(fn ([]const SerializedAsset) void)",length:1,byteSize:8,align:4,instance:{members:[{...i,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:K}]}}),ie(G,{...A,type:14,signature:0x3bd0f1fed1ded14an,name:"fn ([]const SerializedAsset) void",length:1,instance:{members:[{...i,type:5,bitSize:64,byteSize:8,structure:M}],template:pA},static:{members:[],template:SA}}),ie(v,{...A,type:8,flags:204,signature:0x384247752a6c2fa8n,name:"*const fn ([]const SerializedAsset) void",byteSize:4,align:4,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,slot:0,structure:G}]}}),ie(L,{...A,type:12,flags:14,signature:0xee84c3d23e38b13bn,name:"Arg(fn (*const fn ([]const SerializedAsset) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...i,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:v}]}}),ie(J,{...A,type:14,signature:0x31ed60e02d201a60n,name:"fn (*const fn ([]const SerializedAsset) void) void",length:1,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,structure:L}],template:UA}}),ie(x,{...A,type:12,signature:0x6364608841bf263en,name:"Arg(fn (u32) void)",length:1,byteSize:4,align:4,instance:{members:[{...i,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:o}]}}),ie(R,{...A,type:14,signature:0x956e45a1c96ff5e6n,name:"fn (u32) void",length:1,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,structure:x}],template:kA},static:{members:[],template:FA}}),ie(q,{...A,type:8,flags:204,signature:0x139c4e15eb0a34d6n,name:"*const fn (u32) void",byteSize:4,align:4,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,slot:0,structure:R}]}}),ie(Y,{...A,type:12,flags:14,signature:0xfaa14a525ee0f8d4n,name:"Arg(fn (*const fn (u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...i,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:q}]}}),ie(H,{...A,type:14,signature:0x651c6f0337fe6099n,name:"fn (*const fn (u32) void) void",length:1,instance:{members:[{...i,type:5,bitSize:32,byteSize:4,structure:Y}],template:NA}}),ie(O,{...A,type:12,signature:0xb1afac27f34003f4n,name:"Arg(fn (f32, f32) void)",length:2,byteSize:8,align:4,instance:{members:[{...i,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C},{...i,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:C}]}}),ie(P,{...A,type:14,signature:0x63bac1760494db20n,name:"fn (f32, f32) void",length:2,instance:{members:[{...i,type:5,bitSize:64,byteSize:8,structure:O}],template:mA}}),ie(T,{...A,type:12,flags:10,signature:0x9d8f5b87c05655fbn,name:"Arg(fn (u32, [4]PointUV, u32) void)",length:3,byteSize:72,align:4,instance:{members:[{...i,flags:1,bitOffset:576,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:o},{...i,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:N},{...i,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:3,name:"2",structure:o}]}}),ie(V,{...A,type:14,signature:0x92d326bf03506c95n,name:"fn (u32, [4]PointUV, u32) void",length:3,instance:{members:[{...i,type:5,bitSize:576,byteSize:72,structure:T}],template:bA}}),ie(z,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...i,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q}]}}),ie(Z,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...i,type:5,bitSize:0,byteSize:0,structure:z}],template:KA}}),ie(j,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...i,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:j}]}}),ie(W,{...A,type:12,flags:14,signature:0x85fe3287727e2e0en,name:"Arg(fn ([]const SerializedAsset, bool) void)",length:2,byteSize:12,align:4,instance:{members:[{...i,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...i,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:K},{...i,type:1,flags:1,bitOffset:64,bitSize:1,byteSize:1,slot:2,name:"1",structure:j}]}}),ie(X,{...A,type:14,signature:0x0f521e207596cb59n,name:"fn ([]const SerializedAsset, bool) void",length:2,instance:{members:[{...i,type:5,bitSize:96,byteSize:12,structure:W}],template:MA}}),ie(_,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...i,type:5,flags:2,slot:0,name:"connect_web_gpu_programs",structure:w},{...i,type:5,flags:2,slot:1,name:"connect_on_asset_update_callback",structure:J},{...i,type:5,flags:2,slot:2,name:"connect_on_asset_selection_callback",structure:H},{...i,type:5,flags:2,slot:3,name:"ASSET_ID_TRESHOLD",structure:o},{...i,type:5,flags:2,slot:4,name:"init_state",structure:P},{...i,type:5,flags:2,slot:5,name:"add_asset",structure:V},{...i,type:5,flags:2,slot:6,name:"remove_asset",structure:Z},{...i,type:5,flags:2,slot:7,name:"on_update_pick",structure:R},{...i,type:5,flags:2,slot:8,name:"on_pointer_down",structure:P},{...i,type:5,flags:2,slot:9,name:"on_pointer_up",structure:Z},{...i,type:5,flags:2,slot:10,name:"on_pointer_move",structure:P},{...i,type:5,flags:2,slot:11,name:"on_pointer_leave",structure:Z},{...i,type:5,flags:2,slot:12,name:"canvas_render",structure:Z},{...i,type:5,flags:2,slot:13,name:"picks_render",structure:Z},{...i,type:5,flags:2,slot:14,name:"reset_assets",structure:X},{...i,type:5,flags:2,slot:15,name:"destroy_state",structure:Z},{...i,type:5,flags:2,slot:16,name:"import_icons",structure:c}],template:GA}});const Qe=[Q,C,B,r,o,n,s,E,a,c,u,l,f,h,w,D,y,d,p,S,U,k,F,N,m,b,K,M,G,v,L,J,x,R,q,Y,H,O,P,T,V,z,Z,j,W,X,_],Ce=_,Be={runtimeSafety:!1,littleEndian:!0,libc:!1},re=(0,I.M)();re.recreateStructures(Qe,Be);const oe=(async()=>{const A=atob("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ADcC2AEgAkECNgLUASACQqOAgIDQADcCzAEgAkGXghA2AsgBIAIgAigCwAE2AvgBIAJCgoCAgBA3AvABIAQgAkHIAWpBARAZIgNB//8DcQ0BIAJByAhqEB0gAi8BzAgiAw0BAkBBBEEAQQAgAigCyAgQAyIDDQBBDSEDDAILIAVBAiADEAEgAkH8AWoQHyACLwGAAiIDDQEgAkGcAmpCADcCACACQaQCakIANwIAIAJCADcClAIgAkECNgKQAiACQpGAgIDQADcCiAIgAkGLhRA2AoQCIAIgAigC/AE2ArQCIAJCg4CAgBA3AqwCIAQgAkGEAmpBARAZIgNB//8DcQ0BIAJByAhqEB8gAi8BzAgiAw0BAkBBtIUQQQRBASACKALICBADIgMNAEENIQMMAgsgBUEDIAMQASACQbgCahAgIAIvAbwCIgMNASACQdgCakIANwIAIAJB4AJqQgA3AgAgAkIANwLQAiACQQI2AswCIAJCioCAgNAANwLEAiACQa2DEDYCwAIgAiACKAK4AjYC8AIgAkKEgICAEDcC6AIgBCACQcACakEBEBkiA0H//wNxDQEgAkHICGoQICACLwHMCCIDDQECQEEFQQBBACACKALICBADIgMNAEENIQMMAgsgBUEEIAMQASACQfQCahAiIAIvAfgCIgMNASACQZQDakIANwIAIAJBnANqQgA3AgAgAkIANwKMAyACQQI2AogDIAJCiYCAgNAANwKAAyACQbqAEDYC/AIgAiACKAL0AjYCrAMgAkKFgICAEDcCpAMgBCACQfwCakEBEBkiA0H//wNxDQEgAkHICGoQIiACLwHMCCIDDQECQEEGQQBBACACKALICBADIgMNAEENIQMMAgsgBUEFIAMQASACQbADahAkIAIvAbQDIgMNASACQdADakIANwIAIAJB2ANqQgA3AgAgAkIANwLIAyACQQI2AsQDIAJCjICAgNAANwK8AyACQa2AEDYCuAMgAiACKAKwAzYC6AMgAkKGgICAEDcC4AMgBCACQbgDakEBEBkiA0H//wNxDQEgAkHICGoQJCACLwHMCCIDDQECQEEHQQBBACACKALICBADIgMNAEENIQMMAgsgBUEGIAMQASACQewDahAmIAIvAfADIgMNASACQYwEakIANwIAIAJBlARqQgA3AgAgAkIANwKEBCACQQI2AoAEIAJCjoCAgNAANwL4AyACQYiCEDYC9AMgAiACKALsAzYCpAQgAkKHgICAEDcCnAQgBCACQfQDakEBEBkiA0H//wNxDQEgAkHICGoQJiACLwHMCCIDDQECQEEIQQBBACACKALICBADIgMNAEENIQMMAgsgBUEHIAMQASACQagEahAgIAIvAawEIgMNASACQcgEakIANwIAIAJB0ARqQgA3AgAgAkIANwLABCACQQI2ArwEIAJCj4CAgNAANwK0BCACQeuBEDYCsAQgAiACKAKoBDYC4AQgAkKIgICAEDcC2AQgBCACQbAEakEBEBkiA0H//wNxDQEgAkHICGoQICACLwHMCCIDDQECQEEJQQBBACACKALICBADIgMNAEENIQMMAgsgBUEIIAMQASACQeQEahAkIAIvAegEIgMNASACQYQFakIANwIAIAJBjAVqQgA3AgAgAkIANwL8BCACQQI2AvgEIAJCjYCAgNAANwLwBCACQdSBEDYC7AQgAiACKALkBDYCnAUgAkKJgICAEDcClAUgBCACQewEakEBEBkiA0H//wNxDQEgAkHICGoQJCACLwHMCCIDDQECQEEKQQBBACACKALICBADIgMNAEENIQMMAgsgBUEJIAMQASACQaAFahAgIAIvAaQFIgMNASACQcAFakIANwIAIAJByAVqQgA3AgAgAkIANwK4BSACQQI2ArQFIAJCj4CAgNAANwKsBSACQf6CEDYCqAUgAiACKAKgBTYC2AUgAkKKgICAEDcC0AUgBCACQagFakEBEBkiA0H//wNxDQEgAkHICGoQICACLwHMCCIDDQECQEELQQBBACACKALICBADIgMNAEENIQMMAgsgBUEKIAMQASACQdwFahAkIAIvAeAFIgMNASACQfwFakIANwIAIAJBhAZqQgA3AgAgAkIANwL0BSACQQI2AvAFIAJCkICAgNAANwLoBSACQY6DEDYC5AUgAiACKALcBTYClAYgAkKLgICAEDcCjAYgBCACQeQFakEBEBkiA0H//wNxDQEgAkHICGoQJCACLwHMCCIDDQECQEEMQQBBACACKALICBADIgMNAEENIQMMAgsgBUELIAMQASACQZgGahAkIAIvAZwGIgMNASACQbgGakIANwIAIAJBwAZqQgA3AgAgAkIANwKwBiACQQI2AqwGIAJCjYCAgNAANwKkBiACQcaBEDYCoAYgAiACKAKYBjYC0AYgAkKMgICAEDcCyAYgBCACQaAGakEBEBkiA0H//wNxDQEgAkHICGoQJCACLwHMCCIDDQECQEENQQBBACACKALICBADIgMNAEENIQMMAgsgBUEMIAMQASACQdQGahAkIAIvAdgGIgMNASACQfQGakIANwIAIAJB/AZqQgA3AgAgAkIANwLsBiACQQI2AugGIAJCjICAgNAANwLgBiACQbmBEDYC3AYgAiACKALUBjYCjAcgAkKNgICAEDcChAcgBCACQdwGakEBEBkiA0H//wNxDQEgAkHICGoQJCACLwHMCCIDDQECQEEOQQBBACACKALICBADIgMNAEENIQMMAgsgBUENIAMQASACQZAHahAuIAIvAZQHIgMNASACQbAHakIANwIAIAJBuAdqQgA3AgAgAkIANwKoByACQQI2AqQHIAJCjICAgNAANwKcByACQeuAEDYCmAcgAiACKAKQBzYCyAcgAkKOgICAEDcCwAcgBCACQZgHakEBEBkiA0H//wNxDQEgAkHICGoQLiACLwHMCCIDDQECQEEPQQBBACACKALICBADIgMNAEENIQMMAgsgBUEOIAMQASACQcwHahAkIAIvAdAHIgMNASACQewHakIANwIAIAJB9AdqQgA3AgAgAkIANwLkByACQQI2AuAHIAJCjYCAgNAANwLYByACQZ+DEDYC1AcgAiACKALMBzYChAggAkKPgICAEDcC/AcgBCACQdQHakEBEBkiA0H//wNxDQEgAkHICGoQJCACLwHMCCIDDQECQEEQQQBBACACKALICBADIgMNAEENIQMMAgsgBUEPIAMQASACQYgIahAxIAIvAYwIIgMNASACQagIakIANwIAIAJBsAhqQgA3AgAgAkIANwKgCCACQQI2ApwIIAJCjICAgNAANwKUCCACQfiAEDYCkAggAiACKAKICDYCwAggAkKQgICAEDcCuAggBCACQZAIakEBEBkiA0H//wNxDQEgAkHICGoQMSACLwHMCCIDDQECQEERQQBBACACKALICBADIgMNAEENIQMMAgsgBUEQIAMQASAEIAVBARAFIAQQBiACIAQ2AkAgAkEAOwFEIAJBwABqIQQLQQAhAyAELwEEIgRFDQAgBCEDCyACQdAIaiQAIAMLqgMCBX8BfiMAQRBrIgIkABAHIQMC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QayFECECDAELIAEgAjYCiAUgAUEAOwGMBSABQYgFaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAxAGIAEgAzYCQCABQQA7AUQgAUHAAGohAgsgACACKQMANwIACyABQcAFaiQACwsAQQAgADYC3KEQC98IAQV/IwBBoANrIgEkAAJAAkACQEEAQckAEAAiAkUNACABIAI2AgAgAUEAOwEEIAEhAgwBCyABQg43AxggAUIANwMQIAFBgIAENgIwIAFCgICAgBA3AyggAUKBgICAEDcDICABQpnB+b+z4JuO5QA3AwggAUE4aiABQQhqEBcCQCABLwE8IgJFDQAgACACOwEEDAILQQBByQAgASgCOCIDEAECQAJAAkBBAEHNABAAIgQNACABQoyAgIDgATcDkAEgAUIANwOIASABQYSABDYCqAEgAUKEgICAEDcDoAEgAUKBgICAEDcDmAEgAULU8YP3pcrS0Ho3A4ABIAFBsAFqIAFBgAFqEBcgAS8BtAEiAg0BQQBBzQAgASgCsAEiBBABIAFBuAFqEEAgAS8BvAEiAg0BIAEgASgCuAE2AvABIAFCgICAgBA3AugBIAFCgICAgBA3AuABIAFCgICAgBA3AtgBIAFCoICAgBA3AtABIAFBATYCzAEgAUIGNwLEASABQYGCEDYCwAEgBCABQcABakEAEBkiAkH//wNxDQECQEEAQcoAEAAiBQ0AIAFCiICAgMAZNwO4AiABQgA3A7ACIAFBhIAENgLQAiABQoSAgIAQNwPIAiABQgA3A8ACIAFC1umo2N7Ck84TNwOoAiABQdgCaiABQagCahAXIAEvAdwCIgINAkEAQcoAIAEoAtgCIgUQASABQeACahAmIAEvAeQCIgINAiABIAEoAuACNgKYAyABQoCAgIAQNwKQAyABQoSAgIAQNwKIAyABQqCAgIAQNwKAAyABQgA3AvgCIAFCBTcC8AIgAUIANwLoAiAFIAFB6AJqQQAQGSICQf//A3ENAgJAAkAgBRACIgINAEGshRAhAgwBCyABIAI2AugCIAFBADsB7AIgAUHoAmohAgsgAi8BBCICDQIgBRAGCyABIAU2AqQCIAFCgYCAgBA3ApwCIAFChICAgBA3ApQCIAFCoICAgBA3AowCIAFCgICAgBA3AoQCIAFBATYCgAIgAUKBgICA0AA3AvgBIAFBoYUQNgL0ASAEIAFB9AFqQQAQGSICQf//A3ENAQJAAkAgBBACIgINAEGshRAhAgwBCyABIAI2AugCIAFBADsB7AIgAUHoAmohAgsgAi8BBCICDQEgBBAGCyABIAQ2AnwgAUIANwJ0IAFChICAgBA3AmwgAUKggICAEDcCZCABQgA3AlwgAUIFNwJUIAFCADcCTCADIAFBzABqQQAQGSICQf//A3ENAAJAQRVBAEEAEA8iAg0AIABBDDsBBAwECyACEAQiAg0BQRUhAgsgACACOwEEDAILIAMgAkEAEAUCQAJAIAMQAiICDQBBrIUQIQIMAQsgASACNgLoAiABQQA7AewCIAFB6AJqIQILAkAgAi8BBCICRQ0AIAAgAjsBBAwCCyADEAYgASADNgJAIAFBADsBRCABQcAAaiECCyAAIAIpAwA3AgALIAFBoANqJAALCwBBACAANgLgoRALjAMBA38jAEGQAWsiASQAAkACQAJAQQBBKhAAIgJFDQAgASACNgIIIAFBADsBDCABQQhqIQIMAQsgAUKAgICAEDcDICABQgA3AxggAUGEgAQ2AjggAUKEgICAEDcDMCABQgA3AyggAUKjo6CNw7bjrOgANwMQIAFBwABqIAFBEGoQFwJAIAEvAUQiAkUNACAAIAI7AQQMAgtBAEEqIAEoAkAiAhABIAFB0ABqEB8CQAJAIAEvAVQiAw0AIAEgASgCUDYCiAEgAUIANwKAASABQoSAgIAQNwJ4IAFCoICAgBA3AnAgAUKAgICAEDcCaCABQgM3AmAgAUIANwJYIAIgAUHYAGpBABAZIgNB//8DcUUNAQsgACADOwEEDAILAkACQCACEAIiAw0AQayFECEDDAELIAEgAzYCWCABQQA7AVwgAUHYAGohAwsCQCADLwEEIgNFDQAgACADOwEEDAILIAIQBiABIAI2AkggAUEAOwFMIAFByABqIQILIAAgAikDADcCAAsgAUGQAWokAAvRBwEEfyMAQfACayIBJAACQAJAAkBBAEHQABAAIgJFDQAgASACNgIAIAFBADsBBCABIQIMAQsgAUIONwMYIAFCADcDECABQYCABDYCMCABQoCAgIAQNwMoIAFCgoCAgBA3AyAgAUKgttOk4K6w3eMANwMIIAFBOGogAUEIahAXAkAgAS8BPCICRQ0AIAAgAjsBBAwCC0EAQdAA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AyABQcwAakEAEBkiAkH//wNxDQACQEEXQQBBABAPIgINACAAQQw7AQQMBAsgAhAEIgINAUEVIQILIAAgAjsBBAwCCyADIAJBABAFAkACQCADEAIiAg0AQayFECECDAELIAEgAjYC+AIgAUEAOwH8AiABQfgCaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAxAGIAEgAzYCQCABQQA7AUQgAUHAAGohAgsgACACKQMANwIACyABQbADaiQAC/EJAwJ/AX4JfyMAQZABayIDJAACQCAADQBBAEEAKAK8oRAiAEEBajYCvKEQCyADQcgAakE4aiABQThqKQIANwMAIANByABqQTBqIAFBMGopAgA3AwAgA0HIAGpBKGogAUEoaikCADcDACADQcgAakEgaiABQSBqKQIANwMAIANByABqQRhqIAFBGGopAgA3AwAgA0HIAGpBEGogAUEQaikCADcDACADQcgAakEIaiABQQhqKQIANwMAIAMgASkCADcDSAJAAkACQAJAQQAoApihEA0AQQEhAQJAQQAoApChECIERQ0AIARBfGooAgCtQtAAfiIFIAVC5ACCfULkAHxC0ACApyEBC0IBQSAgAWdrrUL//wODhqcQOEH//wNxDQELIANBGGogAK1CgYCAgBB+IgVC29HQhZra34FnhUIAIAVCrJri06PS8PofhUIAELQBIANBCGogA0EYakEIaikDAELb0dCFmtrfgWeFQgAgAykDGEKryPXFx6yHu6B/hUIAELQBIANBCGpBCGopAwAgAykDCIUhBQJAAkBBACgCkKEQIgYNACAFpyEEQQAhB0F/IQgMAQsgBkF8aigCACIHQX9qIgggBadxIQQLIAVCOYinIQkCQAJAIAYgBGoiCi0AACIBRQ0AIAdFDQAgB0F/aiELIAZBeGohDCAGQXxqIQ0DQCALIQ4CQAJAAkAgAcBBf0oNACAJIAFB/wBxRw0AIAwoAgAgBEECdGoiCygCACAARg0BDAILIAcgDSgCAEcNASAEIAcgAUH/AXFBAUYbIQcMAQsgA0EBOgCMASAGQXRqKAIAIARByABsaiEBIANBjAFqIQQMAwsgBiAEQQFqIAhxIgRqIgotAAAiAUUNASAOQX9qIQsgDg0ACwsgBkF8aigCACEBQQBBACgCmKEQQX9qNgKYoRAgBiAHaiAKIAcgAUki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FGopAgAhBSAAIARBHGopAgA3AjggACAFNwIoIABCgICAgICAgMA/NwIwIAAgBCgCALM4AkAgBEEkaiIGKQIAIQUgACAEQSxqIgcpAgA3AlQgACAFNwJEIABCgICAgICAgMA/NwJMIAAgBCgCALM4AlwgBikCACEFIAAgBykCADcCcCAAIAU3AmAgAEKAgICAgICAwD83AmggACAEKAIAszgCeCAEQTRqKQIAIQUgACAEQTxqKQIANwKMASAAIAU3AnwgAEKAgICAgICAwD83AoQBIAAgBCgCALM4ApQBIAEpAgAhBSAAIAMpAgA3AqgBIAAgBTcCmAEgAEKAgICAgICAwD83AqABIAAgBCgCALM4ArABIABBDGpBKiAEQcQAaigCAEEAKALYoRAoAgwRAQAgAkEBaiECQQAoApChECIBDQALC0EAIQEgAEG0AWpBACgCqKEQEDoCQCAALQD8AUUNACAAQYACaiAAQbQBakHIAPwKAABB2IUQIQQDQCAAQeAOakEIaiAEQQhqKAIANgIAIAAgBCkCADcD4A4gAEHwDmogAEGAAmogAEHgDmoQPSAAKALgDiEDIAAqAvwOIgggACoC9A4iCZMgACoC+A4iCiAAKgLwDiILkxA1IQwgAEHIAmogAWoiAkH0AGogA7MiDTgCACACQewAakKAgICAgICAwD83AgAgAkHgAGogDTgCACACQdgAakKAgICAgICAwD83AgAgAkHMAGogDTgCACACQcQAakKAgICAgICAwD83AgAgAkE4aiANOAIAIAJBMGpCgICAgICAgMA/NwIAIAJBJGogDTgCACACQRxqQoCAgICAgIDAPzcCACACQRBqIA04AgAgAkEIakKAgICAgICAwD83AgAgDBC8ASEOIAJB6ABqQwAAoEFDAAAgQSADQQlGGyINIAxD2w/JP5IiDxC8AZQiECAIIA0gDpQiDpIiCJIiETgCACAMELYBIRIgAkHkAGogDSAPELYBlCIMIAogDSASlCINkiIKkiIPOAIAIAJB1ABqIAkgDpMiCSAQkyIOOAIAIAJB0ABqIAsgDZMiDSAMkyILOAIAIAJBwABqIAggEJM4AgAgAkE8aiAKIAyTOAIAIAJBLGogETgCACACQShqIA84AgAgAkEYaiAJIBCSOAIAIAJBFGogDSAMkjgCACACQQRqIA44AgAgAiAL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NwJsIAFCgICAgBA3AmQgAUEBNgJgIAFCgYCAgMAANwJYIAFBloAQNgJUIAMgAUHUAGpBABAZIgJB//8DcQ0AIAFBiAFqEEggAS8BjAEiAg0AIAEgASgCiAE2AsABIAFCgYCAgBA3ArgBIAFChICAgBA3ArABIAFCoICAgBA3AqgBIAFCoICAgBA3AqABIAFBATYCnAEgAUKBgICAwAA3ApQBIAFBkIAQNgKQASADIAFBkAFqQQAQGSICQf//A3ENACABQcQBahBIIAEvAcgBIgINACABIAEoAsQBNgL8ASABQoKAgIAQNwL0ASABQoSAgIAQNwLsASABQqCAgIAQNwLkASABQsCAgIAQNwLcASABQQE2AtgBIAFCgYCAgMAANwLQASABQZqAEDYCzAEgAyABQcwBakEAEBkiAkH//wNxDQAgAUGAAmoQSCABLwGEAiICDQAgASABKAKAAjYCuAIgAUKDgICAEDcCsAIgAUKEgICAEDcCqAIgAUKggICAEDcCoAIgAULggICAEDcCmAIgAUEBNgKUAiABQoGAgIDAADcCjAIgAUGYgBA2AogCIAMgAUGIAmpBABAZIgJB//8DcQ0AAkBByIgQQRBBARAPIgINACAAQQw7AQQMBAsgAhAEIgINAUEVIQILIAAgAjsBBAwCCyADIAJBABAFAkACQCADEAIiAg0AQayFECECDAELIAEgAjYCiAIgAUEAOwGMAiABQYgCaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAUGIAWoQdgJAAkAgAS8BjAEiAg0AIAFBqAFqQgA3AgAgAUGwAWpCADcCACABQgA3AqABIAFBEjYCnAEgAUKDgICA0AA3ApQBIAFBlYQQNgKQASABIAEoAogBNgLAASABQoCAgIAQNwK4ASADIAFBkAFqQQEQGSICQf//A3ENACABQdQAahB2IAEvAVgiAg0AAkBBzwBBAEEAIAEoAlQQAyICRQ0AAkBBABAEIgQNACAAQRU7AQQMBQsgBEEAIAIQASABQcQBahB3IAEvAcgBIgINASABQeQBakIANwIAIAFB7AFqQgA3AgAgAUIANwLcASABQRI2AtgBIAFCiICAgNAANwLQASABQeKBEDYCzAEgASABKALEATYC/AEgAUKBgICAEDcC9AEgAyABQcwBakEBEBkiAkH//wNxDQEgAUHUAGoQdyABLwFYIgINAUHQAEEAQQAgASgCVBADIgJFDQAgBEEBIAIQASABQYACahB3IAEvAYQCIgINASABQaACakIANwIAIAFBqAJqQgA3AgAgAUIANwKYAiABQRI2ApQCIAFCiICAgNAANwKMAiABQYyEEDYCiAIgASABKAKAAjYCuAIgAUKCgICAEDcCsAIgAyABQYgCakEBEBkiAkH//wNxDQEgAUHUAGoQdyABLwFYIgINAUHRAEEAQQAgASgCVBADIgINAgtBDSECCyAAIAI7AQQMAgsgBEECIAIQASADIARBARAFIAMQBiABIAM2AkAgAUEAOwFEIAFBwABqIQILIAAgAikDADcCAAsgAUHAAmokAAuAAQEBfyMAQRBrIgIkACACIAA2AgRBACEAAkBBAC0AvKMQDQAgAkF/NgIIIAIgAkEIajYCDCACQQhqIQALAkACQAJAAkAgASACQQRqQQQgABAQQX9qDgMCAAEDC0HahBBBIhB4AAtBv4QQQRoQeAALQaSEEEEaEHgACyACQRBqJAALhAEBAX8jAEEQayIDJAAgAyABNgIEIAMgADYCAEEAIQECQEEALQC8oxANACADQX82AgggAyADQQhqNgIMIANBCGohAQsCQAJAAkACQCACIANBCCABEBBBf2oOAwIAAQMLQdqEEEEiEHgAC0G/hBBBGhB4AAtBpIQQQRoQeAALIANBEGokAAvYBwEEfyMAQfACayIBJAACQAJAAkBBAEE5EAAiAkUNACABIAI2AgAgAUEAOwEEIAEhAgwBCyABQg43AxggAUIANwMQIAFBgIAENgIwIAFCgICAgBA3AyggAUKCgICAEDcDICABQunBgbKIw+CHu383AwggAUE4aiABQQhqEBcCQCABLwE8IgJFDQAgACACOwEEDAILQQBBOSABKAI4IgMQAQJAAkACQEEAQT4QACIEDQAgAUKMgICAoAE3A5ABIAFCADcDiAEgAUGEgAQ2AqgBIAFCqICAgBA3A6ABIAFCgoCAgBA3A5gBIAFC1MueirbrwOtRNwOAASABQbABaiABQYABahAXIAEvAbQBIgINAUEAQT4gASgCsAEiBBABIAFBuAFqEIsBIAEvAbwBIgINASABIAEoArgBNgLwASABQoCAgIAQNwLoASABQoiAgIAQNwLgASABQsCAgIAQNwLYASABQoCA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oxAQdQuvBgEEfyMAQdABayIBJAACQAJAAkBBAEE6EAAiAkUNACABIAI2AgggAUEAOwEMIAFBCGohAgwBCyABQQA2AiQgAUKFgICAIDcCHCABQaeAEDYCGCABQYSABDYCOCABQoiAgIAQNwMwIAFCADcDKCABQo3N3ebqxrSMPDcDECABQcAAaiABQRBqEBcCQCABLwFEIgJFDQAgACACOwEEDAILQQBBOiABKAJAIgIQASABQdQAahBIAkACQCABLwFYIgMNACABIAEoAlQ2AowBIAFCgICAgBA3AoQBIAFChICAgBA3AnwgAUKggICAEDcCdCABQoCAgIAQNwJsIAFBATYCaCABQoGAgIDAADcCYCABQZaAEDYCXCACIAFB3ABqQQAQGSIDQf//A3ENACABQZABahBIIAEvAZQBIgMNACABIAEoApABNgLIASABQoGAgIAQNwLAASABQoSAgIAQNwK4ASABQqCAgIAQNwKwASABQqCAgIAQNwKoASABQQE2AqQBIAFCgYCAgMAANwKcASABQZCAEDYCmAEgAiABQZgBakEAEBkiA0H//wNxDQACQEGwihBBCEEBEA8iAw0AIABBDDsBBAwECyADEAQiAw0BQRUhAwsgACADOwEEDAILIAIgA0EAEAUCQAJAIAIQAiIDDQBBrIUQIQMMAQsgASADNgKYASABQQA7AZwBIAFBmAFqIQMLAkAgAy8BBCIDRQ0AIAAgAzsBBAwCCyABQZABahCgAQJAAkAgAS8BlAEiAw0AIAFBsAFqQgA3AgAgAUG4AWpCADcCACABQgA3AqgBIAFBEjYCpAEgAUKDgICA0AA3ApwBIAFBlYQQNgKYASABIAEoApABNgLIASABQoCAgIAQNwLAASACIAFBmAFqQQEQGSIDQf//A3ENACABQdwAahCgASABLwFgIgMNAAJAQc8AQQBBACABKAJcEAMiBA0AIABBDTsBBAwEC0EAEAQiAw0BQRUhAwsgACADOwEEDAILIANBACAEEAEgAiADQQEQBSACEAYgASACNgJIIAFBADsBTCABQcgAaiECCyAAIAIpAwA3AgALIAFB0AFqJAALawEBfyMAQTBrIgIkACACQRBqIAFBEGopAgA3AwAgAkEgaiABQSBqKQIANwMAIAIgASkCCDcDCCACIAEpAhg3AxggAkEoaiACQQhqIAJBCGpBEGogABEBACABIAIpAyg3AgAgAkEwaiQAQQALWwEBfyMAQSBrIgIkACACQQhqIAFBDGopAgA3AwAgAkEYaiABQRxqKQIANwMAIAIgASkCBDcDACACIAEpAhQ3AxAgASACIAJBEGogABEIADgCACACQSBqJABBAAsKACAAIAEQjwEACwkAIAAgARARAAsSACAAIAEgAkEAKALAoxAQoQELEgAgACABIAJBACgCxKMQEKEBCxIAIAAgASACQQAoAsijEBChAQsSACAAIAEgAkEAKALMoxAQoQELEgAgACABIAJBACgC0KMQEKEBCxIAIAAgASACQQAoAtSjEBChAQsSACAAIAEgAkEAKALYoxAQoQELEgAgACABIAJBACgC3KMQEKEBCxIAIAAgASACQQAoAuCjEBChAQsSACAAIAEgAkEAKALkoxAQoQELEgAgACABIAJBACgC6KMQEKEBCxIAIAAgASACQQAoAuyjEBChAQsSACAAIAEgAkEAKALwoxAQoQELEgAgACABIAJBACgC9KMQEKEBCxIAIAAgASACQQAoAvijEBChAQsSACAAIAEgAkEAKAL8oxAQoQEL2gcBBH8jAEHwAmsiASQAAkACQAJAQQBBPBAAIgJFDQAgASACNgIAIAFBADsBBCABIQIMAQsgAUIONwMYIAFCADcDECABQYCABDYCMCABQoCAgIAQNwMoIAFCgoCAgBA3AyAgAULTqrHTx+u9mlY3AwggAUE4aiABQQhqEBcCQCABLwE8IgJFDQAgACACOwEEDAILQQBBPCABKAI4IgMQAQJAAkACQEEAQT0QACIEDQAgAUKMgICAoAE3A5ABIAFCADcDiAEgAUGEgAQ2AqgBIAFCmICAgBA3A6ABIAFCgoCAgBA3A5gBIAFC7ZSGys6+x7PtADcDgAEgAUGwAWogAUGAAWoQFyABLwG0ASICDQFBAEE9IAEoArABIgQQASABQbgBahCLASABLwG8ASICDQEgASABKAK4ATYC8AEgAUKAgICAEDcC6AEgAUKIgICAEDcC4AEgAULAgICAEDcC2AEgAUKAgICAEDcC0AEgAUEBNgLMASABQoaAgIDQADcCxAEgAUGBghA2AsABIAQgAUHAAWpBABAZIgJB//8DcQ0BIAFB9AFqEIsBIAEvAfgBIgINASABIAEoAvQBNgKsAiABQoGA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/wODhqciBWhBfWoiAkENSQ0AAkBCAUEgIAFBg4AEakEQdkF/amdrrUL//wODhqciAWhBAnRBkKUQaiIFKAIAIgJFDQAgBSABQRB0IAJqQXxqKAIANgIADAILQQAgAUAAIgJBEHQgAkF/RhshAgwBCwJAIAJBAnQiBkGopBBqIgEoAgAiAkUNACABIAUgAmpBfGooAgA2AgAMAQsCQCAGQdykEGoiASgCACICQf//A3ENAEEAIQICQAJAQQAoApClECIGRQ0AQQAgBigC/P8DNgKQpRAgBiECDAELQQFAACIGQQFqQQJJDQIgBkEQdCECCyABIAIgBWo2AgAMAQsgASACIAVqNgIACyAEQRBqJAAgAgvVAQECfyMAQRBrIgYkACAGIANBH3E6AA9BfyAEQQRqIgcgByAESRsiBEEBIAN0IgMgBCADSxshBAJAAkACQEIBQSAgAkEEaiICIAMgAiADSxsiA0F/amdrrUL//wODhqciAmhBfWpBDEsNACAEQX9qZyIDDQFBACEDDAILQgFBICADQYOABGpBEHZBf2pna61C//8Dg4anQgFBICAEQYOABGpBEHZBf2pna61C//8Dg4anRiEDDAELIAJCAUEgIANrrUL//wODhqdGIQMLIAZBEGokACADC9QBAQJ/IwBBEGsiBiQAIAYgA0EfcToAD0F/IARBBGoiByAHIARJGyIEQQEgA3QiAyAEIANLGyEEAkACQAJAQgFBICACQQRqIgIgAyACIANLGyIDQX9qZ2utQv//A4OGpyICaEF9akEMSw0AIARBf2pnIgNFDQEgAkIBQSAgA2utQv//A4OGp0cNAQwCC0IBQSAgA0GDgARqQRB2QX9qZ2utQv//A4OGp0IBQSAgBEGDgARqQRB2QX9qZ2utQv//A4OGp0YNAQtBACEBCyAGQRBqJAAgAQu2AQECfyMAQRBrIgUkACAFIANBH3E6AA8CQAJAQgFBICACQQRqIgJBASADdCIDIAIgA0sbIgNBf2pna61C//8Dg4anIgJoQX1qIgZBDU8NACAGQQJ0QaikEGohAyABIAJqQXxqIQIMAQtCAUEgIANBg4AEakEQdkF/amdrrUL//wODhqciAmhBAnRBkKUQaiEDIAEgAkEQdGpBfGohAgsgAiADKAIANgIAIAMgATYCACAFQRBqJAALdQEBfiAAIAQgAX4g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AkFwaisDAKAgAkF4aisDAKAgAisDAKAhESACQSBqIQIgCCAHQQRqIgdHDQALIAdBAWohAgsgBkUNACAFQfABaiACQQN0aiECA0AgESACKwMAoCERIAJBCGohAiAGQX9qIgYNAAsLIAEgEZogESATGzkDCAwBCwJAAkAgDUEATg0ARAAAAAAAAAAAIREMAQsCQAJAIA1BAWpBA3EiBw0ARAAAAAAAAAAAIREgDSEGDAELIAVB8AFqIA1BA3RqIQJEAAAAAAAAAAAhESANIQYDQCAGQX9qIQYgESACKwMAoCERIAJBeGohAiAHQX9qIgcNAAsLIA1BA0kNACAGQQFqIQcgBkEDdCAFQfABampBaGohAgNAIBEgAkEYaisDAKAgAkEQaisDAKAgAkEIaisDAKAgAisDAKAhESACQWBqIQIgB0F8aiIHDQALCyABIBGaIBEgExs5AwALIAVBsARqJAAgH0EHcQvmCAMDfgV/AnwCQAJAAkAgAL0iA0L///////////8Ag0L/////////9/8AVg0AIAG9IgRC////////////AINCgICAgICAgPj/AFQNAQsgACABoiACoCECDAELIAK9IgVC////////////AINC//////////f/AFYNAAJAAkAgAEQAAAAAAAAAAGENACABRAAAAAAAAAAAYg0BCyAAIAGiIAKgDwsCQCACRAAAAAAAAAAAYg0AIAAgAaIPC0EAIQYCQAJAIANCNIinIgdB/w9xIghB/w9HDQBBACEHDAELAkACQCAIDQAgA0L/////////B4NQRQ0BQQAhBwwCCyADQv////////+HgH+DQoCAgICAgIDwP4QhAyAHQf8PcUGCeGohBwwBCyADQoCAgICAgICAgH+DQgAgAyADQgyGeaciCEEBaq2GQv////////8HgyAIQT9xQTJLG4RCgICAgICAgPA/hCEDQYJ4IAhrIQcLAkAgBEI0iKciCUH/D3EiCEH/D0YNAAJAIAgNACAEQv////////8Hg1ANASAEQoCAgICAgICAgH+DQgAgBCAEQgyGeaciBkEBaq2GQv////////8HgyAGQT9xQTJLG4RCgICAgICAgPA/hCEEQYJ4IAZrIQYMAQsgBEL/////////h4B/g0KAgICAgICA8D+EIQQgCUH/D3FBgnhqIQYLQQAhCAJAIAVCNIin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oLYhAAwCCyAFIAWiIgVEgV4M/f//37+iRAAAAAAAAPA/oCAFIAWiIgREQjoF4VNVpT+ioCAFIASiIAVEaVDu4EKT+T6iRCceD+iHwFa/oKKgtowhAAwBCyAAIACTIQALIAFBEGokACAACwvkIQIAQYCAEAuIIWUAAABmAAAAZwAAAGgAAAB5AGluZGV4AHYAdQBzbG90AHR5cGVzLlBvaW50AHJlbW92ZV9hc3NldABhZGRfYXNzZXQAYXNzZXQuU2VyaWFsaXplZEFzc2V0AGJpdE9mZnNldABwb2ludHMAcmVzZXRfYXNzZXRzAGltcG9ydF9pY29ucwBjb25uZWN0X3dlYl9ncHVfcHJvZ3JhbXMAaW5kZXguV2ViR3B1UHJvZ3JhbXMAZmxhZ3MAcGlja3NfcmVuZGVyAGNhbnZhc19yZW5kZXIAb25fcG9pbnRlcl91cABhbmdsZV90bwBvbl9wb2ludGVyX2Rvd24AYWxpZ24AcmV0dmFsAG9uX3VwZGF0ZV9waWNrAGNvbm5lY3Rfb25fYXNzZXRfc2VsZWN0aW9uX2NhbGxiYWNrAGNvbm5lY3Rfb25fYXNzZXRfdXBkYXRlX2NhbGxiYWNrAGxlbmd0aABkcmF3X21zZGYAYml0U2l6ZQBieXRlU2l6ZQBvbl9wb2ludGVyX21vdmUAb25fcG9pbnRlcl9sZWF2ZQBkZXN0cm95X3N0YXRlAGluaXRfc3RhdGUAZHJhd190ZXh0dXJlAHBpY2tfdGV4dHVyZQBzdHJ1Y3R1cmUAc2lnbmF0dXJlAHR5cGUAbmFtZQBkcmF3X3RyaWFuZ2xlAHBpY2tfdHJpYW5nbGUAZGlzdGFuY2UAbWlkAHRleHR1cmVfaWQASmF2YVNjcmlwdCBmdW5jdGlvbiBmYWlsZWQATXVsdGl0aHJlYWRpbmcgbm90IGVuYWJsZWQAUHJvbWlzZSBlbmNvdW50ZXJlZCBpbiBtYWluIHRocmVhZAB0eXBlcy5Qb2ludFVWAEFTU0VUX0lEX1RSRVNIT0xEADIAMQAwAAAAAAAAEQAAAAAAAAAYAAAA6AMAAAAAgD8AAAAAAAAAAAAAgD8AAAAAAACAPwAAAAAAAIA/AQAAAAAAAAABAAAAAQAAAAAAAAADAAAAAgAAAAEAAAAAAAAAAgAAAAEAAAACAAAAAwAAAAIA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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();re.loadModule(oe,{memoryInitial:5,tableInitial:109,multithreaded:!1}),re.linkVariables(!1);const{constructor:ne}=Ce,se=re.getSpecialExports(),{connect_web_gpu_programs:Ee,connect_on_asset_update_callback:ae,connect_on_asset_selection_callback:ce,ASSET_ID_TRESHOLD:ue,init_state:le,add_asset:fe,remove_asset:he,on_update_pick:we,on_pointer_down:De,on_pointer_up:ye,on_pointer_move:de,on_pointer_leave:pe,canvas_render:Se,picks_render:Ue,reset_assets:ke,destroy_state:Fe,import_icons:Ne}=ne;await se.init(),g()}catch(A){g(A)}}),1)},6561:(A,e,t)=>{A.exports=t.p+"e9072ac5eb734c67.png"},1285:(A,e,t)=>{var g=t(1388),I=t(6560),i=(t(4540),t(8e3));(0,I.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:I,bitOffset:Q,byteSize:C}=e,B=[],r=void 0===C&&(7&I||7&Q);r&&B.push("Unaligned");let o=g.hQ[t];I>32&&(t===g.Z9.Int||t===g.Z9.Uint)&&(o=I<=64?`Big${o}`:`Jumbo${o}`),B.push(o,`${t===g.Z9.Bool&&C?8*C:I}`),r&&B.push(`@${Q}`);const n=A+B.join("");let s=DataView.prototype[n];if(s)return s;if(s=this.accessorCache.get(n),s)return s;for(;B.length>0;){const t=`getAccessor${B.join("")}`;if(s=this[t]?.(A,e))break;B.pop()}if(!s)throw new Error(`No accessor available: ${n}`);return(0,i.n8)(s,"name",(0,i.vQ)(n)),this.accessorCache.set(n,s),s}})},9592:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,I=8*t,i=this.getAccessor(A,{type:g.Z9.Uint,bitSize:I,byteSize:t});if("get"===A)return function(A,e){return!!i.call(this,A,e)};{const A=I<=32?0:0n,e=I<=32?1:1n;return function(t,g,I){i.call(this,t,g?e:A,I)}}}})},5239:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:I}=e;if(I){const e=this.getAccessor(A,{type:g.Z9.Uint,bitSize:8*I,byteSize:I}),i=2**(t-1),Q=i-1;return"get"===A?function(A,t){const g=e.call(this,A,t);return(g&Q)-(g&i)}:function(A,t,g){const I=t<0?i|t&Q:t&Q;e.call(this,A,I,g)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>Q,EK:()=>I,F7:()=>u,Q9:()=>c,UT:()=>r,Z9:()=>s,e2:()=>n,ev:()=>g,hQ:()=>E,pK:()=>a,sU:()=>B,tv:()=>o,uE:()=>C,yi:()=>i});const g={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},I=Object.keys(g),i={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},Q={IsSize:16},C={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},B={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096},r={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},o={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},n={HasOptions:16,IsThrowing:32,IsAsync:64},s={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},E=Object.keys(s),a={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64},c={OK:0,Failure:1,Deadlock:2,Disabled:3},u={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>Q,co:()=>i});var g=t(8e3);const I={name:"",mixins:[],constructor:null};function i(A){return I.constructor||I.mixins.push(A),A}function Q(){return I.constructor||(I.constructor=function(A,e){const t=[],I=function(){for(const A of t)A.call(this)},{prototype:i}=I;(0,g.n8)(I,"name",(0,g.vQ)(A));for(const A of e)for(let[e,I]of Object.entries(A))if("init"===e)t.push(I);else{if("function"==typeof I);else{let A=i[e];if(void 0!==A)if(A?.constructor===Object)I=Object.assign({...A},I);else if(A!==I)throw new Error(`Duplicate property: ${e}`)}(0,g.n8)(i,e,(0,g.vQ)(I))}return I}(I.name,I.mixins),I.name="",I.mixins=[]),I.constructor}},4762:(A,e,t)=>{t.d(e,{BC:()=>Q,BY:()=>p,G9:()=>D,Jc:()=>v,L2:()=>s,O0:()=>C,Pd:()=>d,QB:()=>U,Qm:()=>w,SB:()=>c,UQ:()=>N,Uv:()=>y,V0:()=>R,Vp:()=>m,Y8:()=>E,Zb:()=>o,_L:()=>a,_l:()=>F,ci:()=>B,ck:()=>K,d_:()=>L,is:()=>n,nz:()=>l,qG:()=>f,qx:()=>x,t7:()=>r,v2:()=>M,vp:()=>G,x1:()=>k,xH:()=>u,xp:()=>S,zy:()=>h});var g=t(1388),I=t(4540),i=t(8e3);Error;class Q extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class C extends TypeError{constructor(){super("Unsupported")}}class B extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class r extends TypeError{constructor(A,e,t=null){const{name:I,type:i,byteSize:Q}=A,C=e.byteLength,B=1!==Q?"s":"";let r;r=i!==g.ev.Slice||t?`${I} has ${i===g.ev.Slice?t.length*Q:Q} byte${B}, received ${C}`:`${I} has elements that are ${Q} byte${B} in length, received ${C}`,super(r)}}class o extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:I}=A,i=1!==t?"s":"",Q=["ArrayBuffer","DataView"].map(Y);let C;I&&Q.push(Y(I.name)),C=e===g.ev.Slice?`Expecting ${O(Q)} that can accommodate items ${t} byte${i} in length`:`Expecting ${O(Q)} that is ${t} byte${i} in length`,super(C)}}TypeError,TypeError,TypeError,TypeError,TypeError,TypeError,TypeError;class n extends TypeError{constructor(A,e,t){const{name:g}=A,I=[];if(Array.isArray(e))for(const A of e)I.push(Y(A));else I.push(Y(e));const i=q(t);super(`${g} expects ${O(I)} as argument, received ${i}`)}}class s extends n{constructor(A,e,t=!1){const{instance:{members:[Q]},type:C,constructor:B}=A,r=[],o=(0,i.BF)(Q);if(o){let A;switch(Q.structure?.type){case g.ev.Enum:A="enum item";break;case g.ev.ErrorSet:A="error";break;default:A=o}r.push(`array of ${A}s`)}else r.push("array of objects");B[I.pM]&&r.push(B[I.pM].name),C===g.ev.Slice&&t&&r.push("length"),super(A,r.join(" or "),e)}}class E extends TypeError{constructor(A,e,t){const{name:g,length:I,instance:{members:[i]}}=A,{structure:{constructor:Q}}=i,{length:C,constructor:B}=t,r=e?.length??I,o=1!==r?"s":"";let n;n=B===Q?"only a single one":B.child===Q?`a slice/array that has ${C}`:`${C} initializer${C>1?"s":""}`,super(`${g} has ${r} element${o}, received ${n}`)}}class a extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class c extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class u extends TypeError{constructor(A,e){const{name:t,instance:{members:g}}=A;let I;I=g.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(I)}}class l extends Error{constructor(A,e,t=!1){super();const g=g=>{e-=g;const I=1!=(A-=g)?"s":"",i=t?"at least ":"";this.message=`Expecting ${i}${A} argument${I}, received ${e}`,this.stack=J(this.stack,"new Arg(")};g(0),(0,i.n8)(this,I.q6,{value:g,enumerable:!1})}}class f extends Error{constructor(){super("Undefined argument")}}class h extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class w extends TypeError{constructor(){super("Casting to function is not allowed")}}class D extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:g}}=e;super(`Conversion of ${g} to ${t} requires an explicit cast`)}}TypeError,TypeError;class y extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class d extends TypeError{constructor(A,e){const t=q(e);super(`Expected ${Y(A)}, received ${t}`)}}TypeError;class p extends TypeError{constructor(){super("Null pointer")}}class S extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class U extends TypeError{constructor(A,e){const{name:t}=A;let g;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;g=`${H(A)} ${A}`}else g=e+"";super(`${t} cannot point to ${g}`)}}class k extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class F extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class N extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class m extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class b extends TypeError{constructor(){super("Unable to modify read-only object")}}class K extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class M extends TypeError{constructor(){super("Unexpected async generator")}}class G extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=J(this.stack,e),A;super(A??"Error encountered in Zig code")}}class v extends G{constructor(A){super("Program exited"),this.code=A}}function L(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=J(A.stack,"new Arg(")};return t(0),(0,i.n8)(A,I.q6,{value:t,enumerable:!1}),A}function J(A,e){if("string"==typeof A){const t=A.split("\n"),g=t.findIndex((A=>A.includes(e)));-1!==g&&(t.splice(1,g),A=t.join("\n"))}return A}function x(A,e,t){return t instanceof RangeError&&!(t instanceof F)&&(t=new F(A,e)),t}function R(){throw new b}function q(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,Y(t)}function Y(A){return`${H(A)} ${A}`}function H(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function O(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},4358:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4540);(0,I.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[i.SK]),alignOf:e=>A(e?.[i.Ec]),typeOf:e=>Q[A(e?.[i.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,g]of Object.entries(e))A[t]=I(g);return A},g=A=>A.length?A.buffer:new ArrayBuffer(0),I=A=>{const{memory:e,structure:I,actual:Q}=A;if(e){if(Q)return Q;{const{array:Q,offset:C,length:B}=e,r=this.obtainView(g(Q),C,B),{handle:o,const:n}=A,s=I?.constructor,E=A.actual=s.call(i.M0,r);return n&&this.makeReadOnly(E),A.slots&&t(E[i._f],A.slots),o&&this.variables.push({handle:o,object:E}),E}}return I};this.resetGlobalErrorSet?.();const Q=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:I}=A.template,C=A.template={};if(t){const{array:A,offset:e,length:Q}=t;C[i.Qy]=this.obtainView(g(A),e,Q),I&&this.variables.push({handle:I,object:C})}if(e){const A=C[i._f]={};Q.set(A,e)}}this.defineStructure(e)}for(const[A,e]of Q)t(A,e);for(const e of A)this.finalizeStructure(e)}});const Q=g.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540);(0,I.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let g=this.jsFunctionThunkMap.get(t);if(void 0===g){const A=this.getViewAddress(e[Q.Qy]),I=this.createJsThunk(A,t);if(!I)throw new Error("Unable to create function thunk");g=this.obtainZigView(I,0),this.jsFunctionThunkMap.set(t,g),this.jsFunctionControllerMap.set(t,e)}return g},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,I)=>{let C=g.Q9.OK,B=!1;try{const r=e(t);if(Q.g9 in r){r[Q.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,r,!0),this.updateShadowTargets(A),this.endContext()}const o=function(A){try{if(!(e[Q.du]&&A instanceof Error))throw A;r[Q.zg](A)}catch(e){C=g.Q9.Failure,console.error(A)}},n=function(A){try{r[Q.zg](A)}catch(A){C=g.Q9.Failure,console.error(A)}};try{const e=A(...r),t=r.hasOwnProperty(Q.zg);if("Promise"===e?.[Symbol.toStringTag])if(I||t){const A=e.then(n,o);I&&A.then((()=>this.finalizeAsyncCall(I,C))),B=!0,C=g.Q9.OK}else C=g.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!r.hasOwnProperty(Q.wg))throw new i.v2;this.pipeContents(e,r),C=g.Q9.OK}else null==e&&t||n(e)}catch(A){o(A)}}catch(A){console.error(A),C=g.Q9.Failure}return I&&!B&&this.finalizeAsyncCall(I,C),C})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===g.ev.Struct&&A.flags&g.sU.IsAllocator)).length;return{value(){let I,i=0,C=0,B=0;const r=[];for(const[o,{structure:n,type:s}]of A.entries())try{let A,E,a=this[o];s===g.Z9.Object&&a?.[Q.Qy]?.[Q.Dr]&&(a=new a.constructor(a)),n.type===g.ev.Struct&&(n.flags&g.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++i,E=this[Q.Gz]=a):n.flags&g.sU.IsPromise?(A="callback",1==++C&&(E=e.createPromiseCallback(this,a))):n.flags&g.sU.IsGenerator?(A="callback",1==++C&&(E=e.createGeneratorCallback(this,a))):n.flags&g.sU.IsAbortSignal&&(A="signal",1==++B&&(E=e.createInboundSignal(a)))),void 0!==A?void 0!==E&&(I||={},I[A]=E):r.push(a)}catch(A){r.push(A)}return I&&r.push(I),r[Symbol.iterator]()}}},handleJsCall(A,e,t,I=0){const i=this.obtainZigView(e,t,!1),Q=this.jsFunctionCallerMap.get(A);return Q?Q(i,I):g.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const g=this.getViewAddress(t[Q.Qy]),I=this.getViewAddress(e);this.destroyJsThunk(g,I),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540);(0,I.co)({createOutboundCaller(A,e){const t=this,g=function(...I){if(!t.runThunk)return t.initPromise.then((()=>g(...I)));const C=new e(I,this?.[Q.Gz]);try{return t.invokeThunk(A,g,C)}catch(A){if(A instanceof i.Jc&&0===A.code)return;throw A}};return g},copyArguments(A,e,t,I,C){let B=0,r=0,o=0;const n=A[Q.Bl];for(const{type:Q,structure:s}of t){let t,E,a,c;if(s.type===g.ev.Struct&&(s.flags&g.sU.IsAllocator?t=(1==++o?I?.allocator??I?.allocator1:I?.[`allocator${o}`])??this.createDefaultAllocator(A,s):s.flags&g.sU.IsPromise?(E||=this.createPromise(A,I?.callback),t=E):s.flags&g.sU.IsGenerator?(a||=this.createGenerator(A,I?.callback),t=a):s.flags&g.sU.IsAbortSignal&&(c||=this.createSignal(s,I?.signal),t=c)),void 0===t&&(t=e[r++],void 0===t&&Q!==g.Z9.Void))throw new i.qG;try{n[B++].call(A,t,C)}catch(A){throw(0,i.d_)(A,B-1)}}},invokeThunk(A,e,t){const g=this.startContext(),I=t[Q.iw],C=this.getViewAddress(A[Q.Qy]),B=this.getViewAddress(e[Q.Qy]),r=Q.vm in t,o=Q.g9 in t;o&&this.updatePointerAddresses(g,t);const n=this.getShadowAddress(g,t,null,!1),s=I?this.getShadowAddress(g,I):0;this.updateShadows(g);const E=()=>{this.updateShadowTargets(g),o&&this.updatePointerTargets(g,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(r&&(t[Q.vm]=E),!(I?this.runVariadicThunk(C,B,n,s,I.length):this.runThunk(C,B,n)))throw E(),new i.vp;if(t[Q.sF]?.(this.findShadowView(t[Q.Qy])),r){let A=null;try{A=t.retval}catch(e){A=new i.vp(e,1)}return null!=A&&t[Q.zg](A),t[Q.eR]??t[Q._d]}E();try{return t.retval}catch(A){throw new i.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4540),Q=t(8e3);(0,I.co)({init(){const A={type:g.Z9.Int,bitSize:8,byteSize:1},e={type:g.Z9.Int,bitSize:16,byteSize:2},t={type:g.Z9.Int,bitSize:32,byteSize:4},I=this.getAccessor("get",A),i=this.getAccessor("set",A),C=this.getAccessor("get",e),B=this.getAccessor("set",e),r=this.getAccessor("get",t),o=this.getAccessor("set",t);this.copiers={0:Q.Ie,1:function(A,e){i.call(A,0,I.call(e,0))},2:function(A,e){B.call(A,0,C.call(e,0,!0),!0)},4:function(A,e){o.call(A,0,r.call(e,0,!0),!0)},8:function(A,e){o.call(A,0,r.call(e,0,!0),!0),o.call(A,4,r.call(e,4,!0),!0)},16:function(A,e){o.call(A,0,r.call(e,0,!0),!0),o.call(A,4,r.call(e,4,!0),!0),o.call(A,8,r.call(e,8,!0),!0),o.call(A,12,r.call(e,12,!0),!0)},any:function(A,e){let t=0,g=A.byteLength;for(;t+4<=g;)o.call(A,t,r.call(e,t,!0),!0),t+=4;for(;t+1<=g;)i.call(A,t,I.call(e,t)),t++}},this.resetters={0:Q.Ie,1:function(A,e){i.call(A,e,0)},2:function(A,e){B.call(A,e,0,!0)},4:function(A,e){o.call(A,e,0,!0)},8:function(A,e){o.call(A,e+0,0,!0),o.call(A,e+4,0,!0)},16:function(A,e){o.call(A,e+0,0,!0),o.call(A,e+4,0,!0),o.call(A,e+8,0,!0),o.call(A,e+12,0,!0)},any:function(A,e,t){let g=e;for(;g+4<=t;)o.call(A,g,0,!0),g+=4;for(;g+1<=t;)i.call(A,g,0),g++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[i.zN]?.(),A[i.zN]?.();const e=A[i.Qy],g=this[i.Qy];t(g,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[i.zN]?.();const g=this[i.Qy];t(g,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,g=e>>3,I=this.getCopyFunction(A);return{value(e){const Q=this[i.Qy],{address:C}=e[i.Dr],B=new DataView(t.memory.buffer,C+g,A),r=new DataView(Q.buffer,Q.byteOffset+g,A);I(r,B)}}}},copyExternBytes(A,e,t){const{memory:g}=this,I=new DataView(g.buffer,e,t);this.getCopyFunction(t)(A,I)}}})},1669:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762);(0,I.co)({addIntConversion:A=>function(e,t){const I=A.call(this,e,t),{flags:Q,bitSize:C}=t;if("set"===e)return C>32?function(A,e,t){I.call(this,A,BigInt(e),t)}:function(A,e,t){const g=Number(e);if(!isFinite(g))throw new i.BC(e);I.call(this,A,g,t)};{const{flags:A}=t.structure;if(A&g.AD.IsSize&&C>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,g){const i=I.call(this,t,g);return e<=i&&i<=A?Number(i):i}}}return I}})},6929:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(4540),Q=t(8e3);function C(A,e){return(0,Q.ZG)(A,e,(A=>A.address))}(0,g.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,g){const C=e[i.Qy];if(t){if(void 0===t.address){const{start:e,end:r,targets:o}=t;let n,s=0;for(const A of o){const e=A[i.Qy],t=e.byteOffset,g=A.constructor[i.Ec]??e[i.Ec];(void 0===s||g>s)&&(s=g,n=t)}const E=r-e,a=this.allocateShadowMemory(E+s,1),c=this.getViewAddress(a),u=(0,Q.hJ)((0,Q.Au)(c,n-e),s),l=(0,Q.Au)(u,e-n);for(const A of o){const t=A[i.Qy],g=t.byteOffset;if(g!==n){const C=A.constructor[i.Ec]??t[i.Ec];if((0,Q.on)((0,Q.Au)(l,g-e),C))throw new I.Uv(C,s)}}const f=a.byteOffset+Number(l-c),h=new DataView(a.buffer,f,E);h[i.Dr]={address:l,len:E,align:1,unalignedAddress:c,type:B.Scratch};const w=new DataView(C.buffer,Number(e),E),D=this.registerMemory(l,E,1,g,w,h);A.shadowList.push(D),t.address=l}return(0,Q.Au)(t.address,C.byteOffset-t.start)}{const t=e.constructor[i.Ec]??C[i.Ec],I=C.byteLength,Q=this.allocateShadowMemory(I,t),B=this.getViewAddress(Q),r=this.registerMemory(B,I,1,g,C,Q);return A.shadowList.push(r),B}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g}of A.shadowList)g=this.restoreView(g),e(g,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g,writable:I}of A.shadowList)I&&(g=this.restoreView(g),e(t,g))},registerMemory(A,e,t,g,I,i){const Q=C(this.memoryList,A);let B=this.memoryList[Q-1];return B?.address===A&&B.len===e?B.writable||=g:(B={address:A,len:e,align:t,writable:g,targetDV:I,shadowDV:i},this.memoryList.splice(Q,0,B)),B},unregisterMemory(A,e){const t=C(this.memoryList,A),g=this.memoryList[t-1];if(g?.address===A&&g.len===e)return this.memoryList.splice(t-1,1),g},findMemory(A,e,t,g){let I=t*(g??0);const B=C(this.memoryList,e),r=this.memoryList[B-1];let o;if(r?.address===e&&r.len===I)o=r.targetDV;else if(r?.address<=e&&(0,Q.Au)(e,I)<=(0,Q.Au)(r.address,r.len)){const A=Number(e-r.address),t=void 0===g,{targetDV:Q}=r;t&&(I=Q.byteLength-A),o=this.obtainView(Q.buffer,Q.byteOffset+A,I),t&&(o[i.Ec]=r.align)}if(o){let{targetDV:e,shadowDV:t}=r;t&&A&&!A.shadowList.includes(r)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else o=this.obtainZigView(e,I);return o},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[i.Dr],t=e?.address;t&&t!==Q.Y$&&(e.address=Q.Y$)},getViewAddress(A){const e=A[i.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,Q.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const g=this.obtainZigView(t,A),I=g?.[i.Dr];return I&&(I.align=e),g},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:g,align:I}=A[i.Dr];g&&this.freeScratchMemory(t??e,g,I),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,Q.cv)(A)&&(A=e>0?0:Q.Fy),!A&&e)return null;let{buffer:g}=this.memory;return A===Q.Fy&&(g=this.usizeMaxBuffer,A=Q.$k,e=0),t?this.obtainView(g,A,e):new DataView(g,A,e)},getTargetAddress(A,e,t,g){const I=e[i.Qy];return I[i.Dr]?this.getViewAddress(I):0===I.byteLength?0:this.getShadowAddress(A,e,t,g)},getBufferAddress:A=>0}});const B={Normal:0,Scratch:1}},4936:(A,e,t)=>{var g=t(6560),I=t(8e3);(0,g.co)({init(){this.abandoned=!1,this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},releaseFunctions(){const A=()=>{throw new Error("Module was abandoned")};for(const e of Object.keys(this.imports))this[e]&&(this[e]=A)},abandonModule(){this.abandoned||(this.releaseFunctions(),this.unlinkVariables?.(),this.abandoned=!0)},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",g){return A?(...g)=>{g=g.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const I=A.apply(this,g);return this.toWebAssembly(t,I)}:()=>{}},importFunction(A,e="",t=""){return(...g)=>{g=g.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const I=A.apply(this,g);return this.fromWebAssembly(t,I)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:g,alias:I}]of Object.entries(this.exports)){const i=this[I??e];i&&(A[`_${e}`]=this.exportFunction(i,t,g,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:g}]of Object.entries(this.imports)){const i=A[e];i&&(0,I.n8)(this,e,{value:this.importFunction(i,t,g)})}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:g,tableInitial:i,multithreaded:Q}=this.options=e,C=await A,B="Response"===C[Symbol.toStringTag]?"Streaming":"",r=WebAssembly,o=r["compile"+B],n=this.executable=await o(C),s=this.exportFunctions(),E={},a={},c={},u=this.exportedModules={env:E,wasi:a,wasi_snapshot_preview1:c};for(const{module:A,name:e,kind:t}of r.Module.imports(n))"function"===t&&("env"===A?E[e]=s[e]??I.Ie:"wasi_snapshot_preview1"===A?c[e]=this.getWASIHandler(e):"wasi"===A&&(a[e]=this.getThreadHandler?.(e)??I.Ie));return this.memory=E.memory=new r.Memory({initial:t,maximum:g,shared:Q}),this.table=E.__indirect_function_table=new r.Table({initial:i,element:"anyfunc",shared:Q}),this.initialTableLength=i,new r.Instance(n,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:g}=t;if(this.importFunctions(g),this.customWASI){const A={...g,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),g=(0,I.g7)(t);console.error(`Zig panic: ${g}`)}}})},9268:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4540);(0,I.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:I}of this.variables){const Q=t[i.Qy],C=I,B=t[i.Qy]=this.obtainZigView(C,Q.byteLength);A&&e(B,Q),t.constructor[i.fV]?.save?.(B,t);const r=A=>{const e=A[i._f];if(e){const A=B.byteOffset;for(const t of Object.values(e))if(t){const e=t[i.Qy];if(e.buffer===Q.buffer){const g=A+e.byteOffset-Q.byteOffset;t[i.Qy]=this.obtainView(B.buffer,g,e.byteLength),t.constructor[i.fV]?.save?.(B,t),r(t)}}}};r(t),t[i.g9]?.((function(){this[i.q6]()}),g.F7.IgnoreInactive)}},unlinkVariables(){const A=this.getCopyFunction();for(const{object:e}of this.variables){const t=this.restoreView(e[i.Qy]),g=t[i.Dr];g&&A(e[i.Qy]=this.allocateMemory(g.len),t)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4540),Q=t(8e3);(0,I.co)({updatePointerAddresses(A,e){const t=new Map,I=new Map,C=[],B=function(A){const e=this[i.C7];if(void 0===t.get(e)){const A=e[i._f][0];if(A){const g={target:A,writable:!e.constructor.const},r=A[i.Qy];if(r[i.Dr])t.set(e,null);else{t.set(e,A);const o=I.get(r.buffer);if(o){const A=Array.isArray(o)?o:[o],e=(0,Q.ZG)(A,r.byteOffset,(A=>A.target[i.Qy].byteOffset));A.splice(e,0,g),Array.isArray(o)||(I.set(r.buffer,A),C.push(A))}else I.set(r.buffer,g);A[i.g9]?.(B,0)}}}},r=g.F7.IgnoreRetval|g.F7.IgnoreInactive;e[i.g9](B,r);const o=this.findTargetClusters(C),n=new Map;for(const A of o)for(const e of A.targets)n.set(e,A);for(const[e,g]of t)if(g){const t=n.get(g),I=t?.writable??!e.constructor.const;e[i.BD]=this.getTargetAddress(A,g,t,I),i.pi in e&&(e[i.pi]=g.length)}},updatePointerTargets(A,e,t=!1){const I=new Map,Q=function(e){const t=this[i.C7];if(!I.get(t)){I.set(t,!0);const C=t[i._f][0],B=C&&e&g.F7.IsImmutable?C:t[i.q6](A,!0,!(e&g.F7.IsInactive)),r=t.constructor.const?g.F7.IsImmutable:0;r&g.F7.IsImmutable||C&&!C[i.Qy][i.Dr]&&C[i.g9]?.(Q,r),B!==C&&B&&!B[i.Qy][i.Dr]&&B?.[i.g9]?.(Q,r)}},C=t?g.F7.IgnoreRetval:0;e[i.g9](Q,C)},findTargetClusters(A){const e=[];for(const t of A){let A=null,g=0,I=0,Q=null;for(const{target:C,writable:B}of t){const t=C[i.Qy],{byteOffset:r,byteLength:o}=t,n=r+o;let s=!0;A&&(I>r?(Q?Q.writable||=B:(Q={targets:[A],start:g,end:I,address:void 0,misaligned:void 0,writable:B},e.push(Q)),Q.targets.push(C),n>I?Q.end=n:s=!1):Q=null),s&&(A=C,g=r,I=n)}}return e}})},2436:(A,e,t)=>{var g=t(6560),I=t(8e3);(0,g.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:g}=this.options,i=WebAssembly,Q={},C={},B={env:Q,wasi:{},wasi_snapshot_preview1:C};for(const{module:A,name:e,kind:t}of i.Module.imports(this.executable))"function"===t&&("env"===A?Q[e]=I.Ie:"wasi_snapshot_preview1"===A&&(C[e]=I.Ie));Q.memory=new i.Memory({initial:A,maximum:e,shared:g});const r=Q.__indirect_function_table=new i.Table({initial:t,element:"anyfunc"}),{exports:o}=new i.Instance(this.executable,B),{createJsThunk:n,destroyJsThunk:s}=o,E={thunkCount:0,createJsThunk:n,destroyJsThunk:s,table:r};return this.thunkSources.unshift(E),E},allocateJsThunk(A,e){let t,g=0;for(t of this.thunkSources){g=t.createJsThunk(A,e);break}g||(t=this.addJsThunkSource(),g=t.createJsThunk(A,e));const I=t.table.get(g);let i=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){i=A;break}return i||(i=this.table.length,this.table.grow(8)),this.table.set(i,I),t.thunkCount++,this.thunkMap.set(I,{source:t,sourceAddress:g}),i},freeJsThunk(A,e){let t=0;const g=this.table.get(e);this.table.set(e,null);const I=this.thunkMap.get(g);if(I){const{source:e,sourceAddress:i}=I;if(t=e.destroyJsThunk(A,i),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(g)}return t}}})},8738:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);function B(A,e){const{byteSize:t,type:I}=e;if(!(I===g.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new i.t7(e,A)}function r(A){throw new i.Zb(A)}(0,I.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=r){const{type:I,byteSize:o,constructor:n}=A;let s;const E=e?.[Symbol.toStringTag];if(E&&("DataView"===E?s=this.registerView(e):"ArrayBuffer"===E?s=this.obtainView(e,0,e.byteLength):(E&&E===n[Q.pM]?.name||"Uint8ClampedArray"===E&&n[Q.pM]===Uint8Array)&&(s=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!s){const t=e?.[Q.Qy];if(t){const{constructor:Q,instance:{members:[B]}}=A;if((0,C.pU)(e,Q))return t;if(function(A){return A===g.ev.Array||A===g.ev.Vector||A===g.ev.Slice}(I)){const{byteSize:Q,structure:{constructor:r}}=B,n=(0,C.be)(e,r);if(void 0!==n){if(I===g.ev.Slice||n*Q===o)return t;throw new i.Y8(A,null,e)}}}}return s?void 0!==o&&B(s,A):t?.(A,e),s},assignView(A,e,t,I,C){const{byteSize:r,type:o}=t,n=r??1;if(A[Q.Qy]){const I=o===g.ev.Slice?n*A.length:n;if(e.byteLength!==I)throw new i.t7(t,e,A);const C={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(C,A.length),A[Q.sF](C)}else{void 0!==r&&B(e,t);const g=e.byteLength/n,i={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(i,g),C&&(I=!0),A[Q.IW](I?null:e,g,C),I&&A[Q.sF](i)}},findViewAt(A,e,t){let g,I=this.viewMap.get(A);if(I)if(I instanceof DataView)if(I.byteOffset===e&&I.byteLength===t)g=I,I=null;else{const e=I,t=`${e.byteOffset}:${e.byteLength}`;I=new Map([[t,e]]),this.viewMap.set(A,I)}else g=I.get(`${e}:${t}`);return g?.[Q.Dr]?.address===C.Y$&&(g=null),{existing:g,entry:I}},obtainView(A,e,t){const{existing:g,entry:I}=this.findViewAt(A,e,t);let i;return g||(i=new DataView(A,e,t),I?I.set(`${e}:${t}`,i):this.viewMap.set(A,i),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(i[Q.Dr]={address:e,len:t}),i)},registerView(A){if(!A[Q.Dr]){const{buffer:e,byteOffset:t,byteLength:g}=A,{existing:I,entry:i}=this.findViewAt(e,t,g);if(I)return I;i?i.set(`${t}:${g}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[Q.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[Q.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[Q.Qy],t=A.restoreView(e);if(e!==t){const A=this[Q.KK]??this;return A[Q.Qy]=t,A.constructor[Q.fV]?.save?.(t,A[Q.rG]??A),!0}return!1}}}}})},1432:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(4540);(0,g.co)({makeReadOnly(A){B(A)}});const Q=Object.getOwnPropertyDescriptors,C=Object.defineProperty;function B(A){const e=A[i.C7];if(e)r(e,["length"]);else{const e=A[i.sO];e?(r(e),function(A){C(A,"set",{value:I.V0});const e=A.get;C(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[i.KK]&&B(t),t}})}(e)):r(A)}}function r(A,e=[]){const t=Q(A.constructor.prototype);for(const[g,i]of Object.entries(t))i.set&&!e.includes(g)&&(i.set=I.V0,C(A,g,i));C(A,i.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>I});var g=t(6560);function I(){return new((0,g.NP)())}},1454:(A,e,t)=>{var g=t(6560),I=t(4540),i=t(8e3);function Q(){const A=this[I.sO]??this,e=this.length;let t=0;return{next(){let g,I;if(t<e){const e=t++;g=A.get(e),I=!1}else I=!0;return{value:g,done:I}}}}function C(A){const e=(0,i.L9)(A),t=this[I.sO]??this,g=this.length;let Q=0;return{next(){let A,I;if(Q<g){const g=Q++;A=[g,e((()=>t.get(g)))],I=!1}else I=!0;return{value:A,done:I}}}}function B(A){return{[Symbol.iterator]:C.bind(this,A),length:this.length}}(0,g.co)({defineArrayEntries:()=>(0,i.vQ)(B),defineArrayIterator:()=>(0,i.vQ)(Q)})},6402:(A,e,t)=>{var g=t(6560),I=t(4540),i=t(8e3);function Q(A){return{[Symbol.iterator]:B.bind(this,A),length:this[I.n5].length}}function C(A){return Q.call(this,A)[Symbol.iterator]()}function B(A){const e=(0,i.L9)(A),t=this,g=this[I.n5];let Q=0;return{next(){let A,I;if(Q<g.length){const i=g[Q++];A=[i,e((()=>t[i]))],I=!1}else I=!0;return{value:A,done:I}}}}(0,g.co)({defineStructEntries:()=>(0,i.vQ)(Q),defineStructIterator:()=>(0,i.vQ)(C)})},9098:(A,e,t)=>{t.d(e,{E:()=>I});var g=t(1388);function I(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,g){return t.call(this,A,e,g)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:I}=A,i=this[`defineMember${g.hQ[t]}`].call(this,A);if(e&&I){const{type:e}=I,t=this[`transformDescriptor${g.EK[e]}`];if(t)return t.call(this,i,A)}return i}})},9494:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(8e3);(0,g.co)({defineBase64(A){const e=this;return(0,i.NV)({get(){return(0,i.WG)(this.dataView)},set(t,g){if("string"!=typeof t)throw new I.Pd("string",t);const Q=(0,i.y4)(t);e.assignView(this,Q,A,!1,g)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},7431:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(4540),Q=t(8e3);(0,g.co)({defineDataView(A){const e=this;return(0,Q.NV)({get(){return this[i.zN]?.(),this[i.Qy]},set(t,g){if("DataView"!==t?.[Symbol.toStringTag])throw new I.Pd("DataView",t);e.assignView(this,t,A,!0,g)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(9098);function B(A){return(this[Q._f][A]??this[Q.tZ](A)).$}function r(A){return this[Q._f][A]??this[Q.tZ](A)}function o(A,e,t){(this[Q._f][A]??this[Q.tZ](A))[Q.Zv](e,t)}(0,I.co)({defineMemberObject:A=>(0,C.E)(A.slot,{get:A.structure.flags&g.yi.HasValue?B:r,set:A.flags&g.pK.IsReadOnly?i.V0:o})})},2164:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(4540);(0,g.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:g,byteSize:Q}=A,C=e.call(this,"get",A),B=e.call(this,"set",A);if(void 0!==g){const A=g>>3;return{get:function(){try{return C.call(this[i.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[i.zN]?.())return C.call(this[i.Qy],A,t);throw e}},set:function(e){try{return B.call(this[i.Qy],A,e,t)}catch(g){if(g instanceof TypeError&&this[i.zN]?.())return B.call(this[i.Qy],A,e,t);throw g}}}}return{get:function(e){try{return C.call(this[i.Qy],e*Q,t)}catch(g){if(g instanceof TypeError&&this[i.zN]?.())return C.call(this[i.Qy],e*Q,t);throw(0,I.qx)(A,e,g)}},set:function(e,g){try{return B.call(this[i.Qy],e*Q,g,t)}catch(C){if(C instanceof TypeError&&this[i.zN]?.())return B.call(this[i.Qy],e*Q,g,t);throw(0,I.qx)(A,e,C)}}}}}})},6135:(A,e,t)=>{var g=t(6560),I=t(3456);(0,g.co)({defineToJSON:()=>({value(){return(0,I.F)(this,!0)}})})},3793:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(8e3);(0,g.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,i.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(g,i){if(g?.[Symbol.toStringTag]!==t.name)throw new I.Pd(t.name,g);const Q=new DataView(g.buffer,g.byteOffset,g.byteLength);e.assignView(this,Q,A,!0,i)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>r});var g=t(1388),I=t(6560),i=t(4540),Q=t(8e3);(0,I.co)({defineValueOf:()=>({value(){return r(this,!1)}})});const C=BigInt(Number.MAX_SAFE_INTEGER),B=BigInt(Number.MIN_SAFE_INTEGER);function r(A,e){const t={error:e?"return":"throw"},I=(0,Q.L9)(t),r=new Map,o=function(A){const Q="function"==typeof A?g.ev.Struct:A?.constructor?.[i.ZE];if(void 0===Q){if(e){if("bigint"==typeof A&&B<=A&&A<=C)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let n=r.get(A);if(void 0===n){let e;switch(Q){case g.ev.Struct:e=A[i.lf](t),n=A.constructor[i.Wg]&g.sU.IsTuple?[]:{};break;case g.ev.Union:e=A[i.lf](t),n={};break;case g.ev.Array:case g.ev.Vector:case g.ev.Slice:e=A[i.lf](),n=[];break;case g.ev.Pointer:try{n=A["*"]}catch(A){n=Symbol.for("inaccessible")}break;case g.ev.Enum:n=I((()=>String(A)));break;case g.ev.Opaque:n={};break;default:n=I((()=>A.$))}if(n=o(n),r.set(A,n),e)for(const[A,t]of e)n[A]=o(t)}return n};return o(A)}},8539:(A,e,t)=>{var g=t(6560),I=t(4762);(0,g.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new I.UQ(A)}:function(e,t){if(void 0!==t)throw new I.UQ(A);if(e<0||e>=this.length)throw new I._l(A,e)}}}})},7679:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);(0,I.co)({defineStructure(A){const{type:e,byteSize:t}=A,I=this[`define${g.EK[e]}`],i=[],B={},r={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.KK]:{value:null},[Q.Bl]:(0,C.vQ)(B),[Q.Rk]:(0,C.vQ)(i),[Q.sF]:this.defineCopier(t),[Q.zN]:this.defineRestorer()},o=A.constructor=I.call(this,A,r);for(const[A,e]of Object.entries(r)){const t=e?.set;t&&!B[A]&&"$"!==A&&(B[A]=t,i.push(A))}return(0,C.ny)(o.prototype,r),o},finalizeStructure(A){const{name:e,type:t,constructor:I,align:i,byteSize:B,flags:r,signature:o,static:{members:n,template:s}}=A,E=[],a={name:(0,C.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.J2]:(0,C.vQ)(o),[Q.M0]:(0,C.vQ)(this),[Q.Ec]:(0,C.vQ)(i),[Q.SK]:(0,C.vQ)(B),[Q.ZE]:(0,C.vQ)(t),[Q.Wg]:(0,C.vQ)(r),[Q.n5]:(0,C.vQ)(E),[Q.pM]:(0,C.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[Q.lf]:this.defineStructEntries(),[Q.n5]:(0,C.vQ)(E)},c={[Symbol.toStringTag]:(0,C.vQ)(e)};for(const A of n){const{name:e,slot:t}=A;if(A.structure.type===g.ev.Function){const I=s[Q._f][t];a[e]=(0,C.vQ)(I),I.name||(0,C.n8)(I,"name",(0,C.vQ)(e));const[i,B]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],r="get"===i?0:1;if(i&&I.length===r&&(a[B]||={},a[B][i]=I),A.flags&g.pK.IsMethod){const A=function(...A){try{return I(this,...A)}catch(A){throw A[Q.q6]?.(1),A}};(0,C.ny)(A,{name:(0,C.vQ)(e),length:(0,C.vQ)(I.length-1)}),c[e]=(0,C.vQ)(A),i&&A.length===r&&((c[B]||={})[i]=A)}}else a[e]=this.defineMember(A),E.push(e)}a[Q._f]=E.length>0&&(0,C.vQ)(s[Q._f]);const u=this[`finalize${g.EK[t]}`];!1!==u?.call(this,A,a,c)&&((0,C.ny)(I.prototype,c),(0,C.ny)(I,a))},createConstructor(A,e={}){const{type:t,byteSize:I,align:B,flags:r,instance:{members:o,template:n}}=A,{onCastError:s}=e;let E;if(n?.[Q._f]){const A=o.filter((A=>A.flags&g.pK.IsReadOnly));A.length>0&&(E=A.map((A=>A.slot)))}const a=new C.UF,c=this,u=function(e,C={}){const{allocator:o}=C,l=this instanceof u;let f,h;if(l){if(0===arguments.length)throw new i.ci(A);if(f=this,r&g.yi.HasSlot&&(f[Q._f]={}),Q.IW in f)f[Q.Zv](e,o),h=f[Q.Qy];else{const A=t!==g.ev.Pointer?o:null;f[Q.Qy]=h=c.allocateMemory(I,B,A)}}else{if(Q.mL in u&&(f=u[Q.mL].call(this,e,C),!1!==f))return f;if(h=c.extractView(A,e,s),f=a.find(h))return f;f=Object.create(u.prototype),Q.IW in f?c.assignView(f,h,A,!1,!1):f[Q.Qy]=h,r&g.yi.HasSlot&&(f[Q._f]={})}if(E)for(const A of E)f[Q._f][A]=n[Q._f][A];return f[Q.f$]?.(),l&&(Q.IW in f||f[Q.Zv](e,o)),Q.vm in f&&(f=f[Q.vm]()),a.save(h,f)};return(0,C.n8)(u,Q.fV,(0,C.vQ)(a)),n?.[Q.Qy]&&(0,C.n8)(n,Q.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,g){const I=Object.keys(t),C=this[Q.Rk],B=this[Q.Bl];for(const e of I)if(!(e in B))throw new i.xH(A,e);let r=0,o=0,n=0,s=0;for(const A of C){const e=B[A];e.special?A in t&&s++:(r++,A in t?o++:e.required&&n++)}if(0!==n&&0===s){const e=C.filter((A=>B[A].required&&!(A in t)));throw new i.SB(A,e)}if(s+o>I.length)for(const A of C)A in t&&(I.includes(A)||I.push(A));o<r&&0===s&&e&&e[Q.Qy]&&this[Q.sF](e);for(const A of I)B[A].call(this,t[A],g);return I.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case g.ev.Enum:case g.ev.ErrorSet:case g.ev.Primitive:{const{byteSize:e,type:t}=A,I=t===g.Z9.Float?"Float":t===g.Z9.Int?"Int":"Uint",i=e>4&&t!==g.Z9.Float?"Big":"";return globalThis[i+I+8*e+"Array"]}case g.ev.Array:case g.ev.Slice:case g.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);(0,I.co)({defineArgStruct(A,e){const{flags:t,byteSize:I,align:B,length:r,instance:{members:o}}=A,n=this,s=o.slice(1),E=function(A,e){const C=this instanceof E;let o,a;if(C?(o=this,a=n.allocateMemory(I,B)):(o=Object.create(E.prototype),a=A),o[Q.Qy]=a,t&g.yi.HasSlot&&(o[Q._f]={}),!C)return o;{let I;if(t&g.e2.HasOptions&&A.length===r+1&&(I=A.pop()),A.length!==r)throw new i.nz(r,A.length);t&g.e2.IsAsync&&(o[Q.vm]=null),n.copyArguments(o,A,s,I,e)}};for(const A of o)e[A.name]=this.defineMember(A);const a=e.retval.set;return e.length=(0,C.vQ)(s.length),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorArgStruct(o),e[Q.zg]=(0,C.vQ)((function(A){a.call(this,A,this[Q.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(s),e[Q.sF]=this.defineRetvalCopier(o[0]),E},finalizeArgStruct(A,e){const{flags:t}=A;e[Q.du]=(0,C.vQ)(!!(t&g.e2.IsThrowing))}})},9433:(A,e,t)=>{var g=t(6560),I=t(4540),i=t(8e3);(0,g.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,Q);return(0,i.ny)(this,{[I.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:g}=e,i=this;return{value:function(A){const{constructor:e}=g;this[I.zN]?.();const Q=this[I.Qy],C=Q.byteOffset+t*A,B=i.obtainView(Q.buffer,C,t);return this[I._f][A]=e.call(I.f7,B)}}}});const Q={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===I.sO?A:A[e]},set(A,e,t){const g="symbol"==typeof e?0:0|e;return 0!==g||g==e?A.set(g,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,g=A.length;t<g;t++)e.push(`${t}`);return e.push("length",I.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);(0,I.co)({defineArray(A,e){const{length:t,instance:{members:[I]},flags:B}=A,r=this.createApplier(A),o=this.defineMember(I),{set:n}=o,s=this.createConstructor(A),E=function(e,I){if((0,C.pU)(e,s))this[Q.sF](e),B&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&B&g.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,C.FU)(e)).length!==t)throw new i.Y8(A,this,e);let g=0;for(const A of e)n.call(this,g++,A,I)}else if(e&&"object"==typeof e){if(0===r.call(this,e))throw new i.L2(A,e)}else if(void 0!==e)throw new i.L2(A,e)};return e.$={get:C.V_,set:E},e.length=(0,C.vQ)(t),e.entries=e[Q.lf]=this.defineArrayEntries(),B&g.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),B&g.uE.IsString&&(e.string=this.defineString(A)),B&g.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[Q.Zv]=(0,C.vQ)(E),e[Q.vm]=this.defineFinalizerArray(o),e[Q.tZ]=B&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=B&g.yi.HasPointer&&this.defineVisitorArray(),s},finalizeArray(A,e){const{flags:t,instance:{members:[I]}}=A;e.child=(0,C.vQ)(I.structure.constructor),e[Q.fd]=t&g.uE.HasSentinel&&this.defineSentinel(A)}})},7382:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);(0,I.co)({defineFunction(A,e){const{instance:{members:[t],template:I},static:{template:B}}=A,r=new C.UF,{structure:{constructor:o}}=t,n=this,s=function(e){const t=this instanceof s;let E,a;if(t){if(0===arguments.length)throw new i.ci(A);if("function"!=typeof e)throw new i.Pd("function",e);if(o[Q.ZE]===g.ev.VariadicStruct||!B)throw new i.O0;E=n.getFunctionThunk(e,B)}else{if(this!==Q.M0)throw new i.Qm;E=e}if(a=r.find(E))return a;const c=o.prototype.length,u=t?n.createInboundCaller(e,o):n.createOutboundCaller(I,o);return(0,C.ny)(u,{length:(0,C.vQ)(c),name:(0,C.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,s.prototype),u[Q.Qy]=E,r.save(E,u),u};return Object.setPrototypeOf(s.prototype,Function.prototype),e.valueOf=e.toJSON=(0,C.vQ)(C.Ng),s},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},1425:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);function B(A,e){return(0,C.xN)(A?.constructor?.child,e)&&A["*"]}function r(A,e,t){if(t&g.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&g.UT.IsSingle&&B(A,e.child))return!0}return!1}(0,I.co)({definePointer(A,e){const{flags:t,byteSize:I,instance:{members:[o]}}=A,{structure:E}=o,{type:a,flags:c,byteSize:u=1}=E,l=t&g.UT.HasLength?I/2:I,{get:f,set:h}=this.defineMember({type:g.Z9.Uint,bitOffset:0,bitSize:8*l,byteSize:l,structure:{byteSize:l}}),{get:w,set:D}=t&g.UT.HasLength?this.defineMember({type:g.Z9.Uint,bitOffset:8*l,bitSize:8*l,byteSize:l,structure:{flags:g.AD.IsSize,byteSize:l}}):{},y=function(A,e=!0,I=!0){if(e||this[Q.Qy][Q.Dr]){if(!I)return this[Q._f][0]=void 0;{const e=b.child,I=f.call(this),i=t&g.UT.HasLength?w.call(this):a===g.ev.Slice&&c&g.tv.HasSentinel?N.findSentinel(I,e[Q.fd].bytes)+1:1;if(I!==this[Q.c6]||i!==this[Q.uL]){const C=N.findMemory(A,I,i,e[Q.SK]),B=C?e.call(Q.M0,C):null;return this[Q._f][0]=B,this[Q.c6]=I,this[Q.uL]=i,t&g.UT.HasLength&&(this[Q.E2]=null),B}}}return this[Q._f][0]},d=function(A){h.call(this,A),this[Q.c6]=A},p=c&g.tv.HasSentinel?1:0,S=t&g.UT.HasLength||c&g.tv.HasSentinel?function(A){D?.call?.(this,A-p),this[Q.uL]=A}:null,U=function(){const A=this[Q.C7]??this,e=!A[Q._f][0],I=y.call(A,null,e);if(!I){if(t&g.UT.IsNullable)return null;throw new i.BY}return t&g.UT.IsConst?n(I):I},k=c&g.yi.HasValue?function(){return U.call(this).$}:U,F=t&g.UT.IsConst?i.V0:function(A){return U.call(this).$=A},N=this,m=function(e,I){const o=E.constructor;if(B(e,o)){if(!(t&g.UT.IsConst)&&e.constructor.const)throw new i.G9(A,e);e=e[Q._f][0]}else if(t&g.UT.IsMultiple)r(e,o,t)&&(e=o(e[Q._f][0][Q.Qy]));else if(a===g.ev.Slice&&c&g.tv.IsOpaque&&e)if(e.constructor[Q.ZE]===g.ev.Pointer)e=e[Q.Qn]?.[Q.Qy];else if(e[Q.Qy])e=e[Q.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof o){e[Q.zN]?.();const I=e[Q.KK];if(I){if(!(t&g.UT.IsConst))throw new i.ck(A);e=I}}else if((0,C.pU)(e,o))e=o.call(Q.M0,e[Q.Qy]);else if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&e instanceof o.child)e=o(e[Q.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const g=e[Q.pM];if(g)switch(t){case g.name:case"DataView":return!0;case"ArrayBuffer":return g===Uint8Array||g===Int8Array;case"Uint8ClampedArray":return g===Uint8Array}if(e.child&&void 0!==(0,C.be)(A,e.child))return!0}return!1}(e,o))e=o(N.extractView(E,e));else if(null==e||e[Q.Qy]){if(!(void 0===e||t&g.UT.IsNullable&&null===e))throw new i.QB(A,e)}else{if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=o.prototype[Q.Bl];for(const g of Object.keys(e)){const e=t[g];if(e?.special){A=!1;break}}A&&(e=[e])}if(Q.pM in o&&e?.buffer&&e[Symbol.iterator])throw new i.QB(A,e);e=new o(e,{allocator:I})}const n=e?.[Q.Qy]?.[Q.Dr];if(n?.address===C.Y$)throw new i.xp(e);this[Q.Qn]=e},b=this.createConstructor(A);return e["*"]={get:k,set:F},e.$={get:C.V_,set:m},e.length={get:function(){const A=U.call(this);return A?A.length:0},set:function(A){A|=0;const e=U.call(this);if(!e){if(0!==A)throw new i._L(A,0);return}if(e.length===A)return;e[Q.zN]?.();const I=e[Q.Qy],C=I[Q.Dr];let B;if(C||(t&g.UT.HasLength?(this[Q.E2]||=e.length,B=this[Q.E2]):B=(I.buffer.byteLength-I.byteOffset)/u|0),A<0||A>B)throw new i._L(A,B);const r=A*u,o=C?N.obtainZigView(C.address,r):N.obtainView(I.buffer,I.byteOffset,r),n=E.constructor;this[Q._f][0]=n.call(Q.M0,o),S?.call?.(this,A)}},e.slice=a===g.ev.Slice&&{value(A,e){const t=this[Q.Qn].slice(A,e);return new b(t)}},e.subarray=a===g.ev.Slice&&{value(A,e,t){const g=this[Q.Qn].subarray(A,e,t);return new b(g)}},e[Symbol.toPrimitive]=a===g.ev.Primitive&&{value(A){return this[Q.Qn][Symbol.toPrimitive](A)}},e[Q.Zv]=(0,C.vQ)(m),e[Q.vm]={value(){const A=a!==g.ev.Pointer?s:{};let e;a===g.ev.Function?(e=function(){},e[Q.Qy]=this[Q.Qy],e[Q._f]=this[Q._f],Object.setPrototypeOf(e,b.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,Q.rG,{value:t}),t}},e[Q.Qn]={get:U,set:function(A){if(void 0===A)return;const e=this[Q.C7]??this;if(A){const t=A[Q.Qy][Q.Dr];if(t){const{address:e,js:g}=t;d.call(this,e),S?.call?.(this,A.length),g&&(A[Q.Qy][Q.Dr]=void 0)}else if(e[Q.Qy][Q.Dr])throw new i.x1}else e[Q.Qy][Q.Dr]&&(d.call(this,0),S?.call?.(this,0));e[Q._f][0]=A??null,t&g.UT.HasLength&&(e[Q.E2]=null)}},e[Q.q6]=(0,C.vQ)(y),e[Q.BD]={set:d},e[Q.pi]={set:S},e[Q.g9]=this.defineVisitor(),e[Q.c6]=(0,C.vQ)(0),e[Q.uL]=(0,C.vQ)(0),e[Q.E2]=t&g.UT.HasLength&&(0,C.vQ)(null),e.dataView=e.base64=void 0,b},finalizePointer(A,e){const{flags:t,constructor:I,instance:{members:[o]}}=A,{structure:n}=o,{type:s,constructor:E}=n;e.child=E?(0,C.vQ)(E):{get:()=>n.constructor},e.const=(0,C.vQ)(!!(t&g.UT.IsConst)),e[Q.mL]={value(e,C){if(this===Q.M0||this===Q.f7||e instanceof I)return!1;if(B(e,E))return new I(E(e["*"]),C);if(r(e,E,t))return new I(e);if(s===g.ev.Slice)return new I(E(e),C);throw new i.zy(A)}}}});const o=new WeakMap;function n(A){let e=o.get(A);if(!e){const t=A[Q.C7];e=t?new Proxy(t,E):new Proxy(A,a),o.set(A,e)}return e}const s={get:(A,e)=>e===Q.C7?A:e in A?A[e]:A[Q.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[Q.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[Q.Qn][e],!0),has:(A,e)=>e in A||e in A[Q.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},E={...s,set:(A,e,t)=>(e in A?(0,i.V0)():A[Q.Qn][e]=t,!0)},a={get(A,e){if(e===Q.KK)return A;{const t=A[e];return t?.[Q.Qy]?n(t):t}},set(A,e,t){(0,i.V0)()}}},8773:(A,e,t)=>{var g=t(6560),I=t(4762),i=t(4540),Q=t(8e3);(0,g.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,g=this.createApplier(A),{get:C,set:B}=this.defineMember(t),r=function(e){if((0,Q.pU)(e,o))this[i.sF](e);else if(e&&"object"==typeof e){if(0===g.call(this,e)){const g=(0,Q.BF)(t);throw new I.is(A,g,e)}}else void 0!==e&&B.call(this,e)},o=this.createConstructor(A);return e.$={get:C,set:r},e[i.Zv]=(0,Q.vQ)(r),e[Symbol.toPrimitive]=(0,Q.vQ)(C),o},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[i.Qt]=(0,Q.vQ)(t.bitSize),e[i.uT]=(0,Q.vQ)(t.type)}})},3086:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);function B(){return this[Q.pi]}function r(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,I.co)({defineSlice(A,e){const{align:t,flags:I,byteSize:o,name:n,instance:{members:[s]}}=A,{byteSize:E,structure:a}=s,c=this,u=function(A,e,g){A||(A=c.allocateMemory(e*E,t,g)),this[Q.Qy]=A,this[Q.pi]=e},l=function(e,t){if(t!==this[Q.pi])throw new i.Y8(A,this,e)},f=this.defineMember(s),{set:h}=f,w=this.createApplier(A),D=function(e,t){if((0,C.pU)(e,d))this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t),this[Q.sF](e),I&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&I&g.tv.IsString)D.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,C.FU)(e),this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const g of e)d[Q.fd]?.validateValue(g,A,e.length),h.call(this,A++,g,t)}else if("number"==typeof e){if(!(!this[Q.Qy]&&e>=0&&isFinite(e)))throw new i.L2(A,e,!this[Q.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===w.call(this,e,t))throw new i.L2(A,e)}else if(void 0!==e)throw new i.L2(A,e)},y=function(A,e){const t=this[Q.pi],g=this[Q.Qy];A=void 0===A?0:r(A,t),e=void 0===e?t:r(e,t);const I=A*E,i=e*E-I;return c.obtainView(g.buffer,g.byteOffset+I,i)},d=this.createConstructor(A);return e.$={get:C.V_,set:D},e.length={get:B},I&g.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),I&g.tv.IsString&&(e.string=this.defineString(A)),I&g.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[Q.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=y.call(this,A,e);return d(t)}},e.slice={value(A,e,g={}){const{zig:I=!1}=g,i=y.call(this,A,e),C=c.allocateMemory(i.byteLength,t,I),B=d(C);return B[Q.sF]({[Q.Qy]:i}),B}},e[Symbol.iterator]=this.defineArrayIterator(),e[Q.IW]=(0,C.vQ)(u),e[Q.sF]=this.defineCopier(o,!0),e[Q.Zv]=(0,C.vQ)(D),e[Q.vm]=this.defineFinalizerArray(f),e[Q.tZ]=I&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=I&g.yi.HasPointer&&this.defineVisitorArray(),d},finalizeSlice(A,e){const{flags:t,instance:{members:[I]}}=A;e.child=(0,C.vQ)(I.structure.constructor),e[Q.fd]=t&g.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540);(0,I.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===g.Z9.Object)))t[A.slot]=A;const I=this;return{value(A){const e=t[A],{bitOffset:g,byteSize:C,structure:{constructor:B}}=e;this[Q.zN]?.();const r=this[Q.Qy],o=r.byteOffset+(g>>3);let n=C;if(void 0===n){if(7&g)throw new i.Vp(e);n=e.bitSize>>3}const s=I.obtainView(r.buffer,o,n);return this[Q._f][A]=B.call(Q.f7,s)}}}})},8771:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(4762),Q=t(4540),C=t(8e3);(0,I.co)({defineStruct(A,e){const{flags:t,length:I,instance:{members:B}}=A,r=B.find((A=>A.flags&g.pK.IsBackingInt)),o=r&&this.defineMember(r),n=this.createApplier(A),s=function(e,I){if((0,C.pU)(e,E))this[Q.sF](e),t&g.yi.HasPointer&&this[Q.g9]("copy",0,e);else if(e&&"object"==typeof e)n.call(this,e,I);else if("number"!=typeof e&&"bigint"!=typeof e||!o){if(void 0!==e)throw new i.is(A,"object",e)}else o.set.call(this,e)},E=this.createConstructor(A),a=e[Q.Bl].value,c=e[Q.Rk].value,u=[];for(const A of B.filter((A=>!!A.name))){const{name:t,flags:I}=A,{set:i}=e[t]=this.defineMember(A);i&&(I&g.pK.IsRequired&&(i.required=!0),a[t]=i,c.push(t)),u.push(t)}return e.$={get:C.Ng,set:s},e.length=(0,C.vQ)(I),e.entries=t&g.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=o&&{value(A){return"string"===A?Object.prototype.toString.call(this):o.get.call(this)}},e[Symbol.iterator]=t&g.sU.IsIterator?this.defineZigIterator():t&g.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[Q.Zv]=(0,C.vQ)(s),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorStruct(B),e[Q.lf]=t&g.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[Q.n5]=(0,C.vQ)(u),t&g.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),E}})},4540:(A,e,t)=>{t.d(e,{BD:()=>w,Bl:()=>M,C7:()=>E,Dr:()=>r,E2:()=>f,Ec:()=>F,Gz:()=>x,IW:()=>T,J2:()=>R,KK:()=>N,M0:()=>m,Qn:()=>u,Qt:()=>k,Qy:()=>Q,Rk:()=>h,SK:()=>U,Wg:()=>n,ZE:()=>o,Zv:()=>V,_d:()=>J,_f:()=>C,c6:()=>y,du:()=>v,eR:()=>L,f$:()=>z,f7:()=>B,fV:()=>S,fd:()=>a,g9:()=>O,iw:()=>b,lf:()=>l,mL:()=>j,n5:()=>s,pM:()=>G,pi:()=>D,q6:()=>q,rG:()=>p,sF:()=>P,sO:()=>c,tZ:()=>H,uL:()=>d,uT:()=>K,vm:()=>Z,wg:()=>X,zN:()=>Y,zg:()=>W});const g=globalThis[Symbol.for("ZIGAR")]||={};function I(A){return g[A]||=Symbol(A)}function i(A){return I(A)}const Q=i("memory"),C=i("slots"),B=i("parent"),r=i("zig"),o=(i("name"),i("type")),n=i("flags"),s=(i("class"),i("tag"),i("props")),E=i("pointer"),a=i("sentinel"),c=i("array"),u=(i("items"),i("target")),l=i("entries"),f=i("max length"),h=i("keys"),w=i("address"),D=i("length"),y=i("last address"),d=i("last length"),p=i("proxy"),S=i("cache"),U=i("size"),k=i("bit size"),F=i("align"),N=i("const target"),m=i("environment"),b=i("attributes"),K=i("primitive"),M=(i("getters"),i("setters")),G=i("typed array"),v=i("throwing"),L=i("promise"),J=i("generator"),x=i("allocator"),R=(i("fallback"),i("signature")),q=i("update"),Y=i("restore"),H=(i("reset"),i("vivificate")),O=i("visit"),P=i("copy"),T=i("shape"),V=i("initialize"),z=i("restrict"),Z=i("finalize"),j=i("cast"),W=i("return"),X=i("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>l,Au:()=>D,BF:()=>r,FU:()=>y,Fy:()=>f,Ie:()=>N,L9:()=>B,NV:()=>U,Ng:()=>k,UF:()=>m,V_:()=>F,WG:()=>n,Y$:()=>h,ZG:()=>a,be:()=>d,cv:()=>w,g7:()=>o,hJ:()=>u,n8:()=>i,ny:()=>Q,on:()=>c,pU:()=>S,vQ:()=>C,xN:()=>p,y4:()=>s});var g=t(1388),I=t(4540);function i(A,e,t){if(t){const{set:g,get:I,value:i,enumerable:Q,configurable:C=!0,writable:B=!0}=t;Object.defineProperty(A,e,I||g?{get:I,set:g,configurable:C,enumerable:Q}:{value:i,configurable:C,enumerable:Q,writable:B})}return A}function Q(A,e){for(const[t,g]of Object.entries(e))i(A,t,g);for(const t of Object.getOwnPropertySymbols(e))i(A,t,e[t]);return A}function C(A){return void 0!==A?{value:A}:void 0}function B(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function r({type:A,bitSize:e}){switch(A){case g.Z9.Bool:return"boolean";case g.Z9.Int:case g.Z9.Uint:if(e>32)return"bigint";case g.Z9.Float:return"number"}}function o(A,e="utf-8"){const t=E[e]||=new TextDecoder(e);let g;if(Array.isArray(A))if(1===A.length)g=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];g=new t(e);let I=0;for(const e of A)g.set(e,I),I+=e.length}else g=A;return"SharedArrayBuffer"===g.buffer[Symbol.toStringTag]&&(g=new g.constructor(g)),t.decode(g)}function n(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function s(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const E={};function a(A,e,t){let g=0,I=A.length;if(0===I)return 0;for(;g<I;){const i=Math.floor((g+I)/2);t(A[i])<=e?g=i+1:I=i}return I}const c=function(A,e){return!!e&&!!(A&e-1)},u=function(A,e){return A+(e-1)&~(e-1)},l=0,f=4294967295,h=-1,w=function(A){return 2863311530===A||-1431655766===A},D=function(A,e){return A+e};function y(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),g=t.value?.length;if("number"==typeof g&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:g});{const A=[];let g=t;for(;!g.done;)A.push(g.value),g=e.next();return A}}function d(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function p(A,e){return A===e||A?.[I.J2]===e[I.J2]&&A?.[I.M0]!==e?.[I.M0]}function S(A,e){return A instanceof e||p(A?.constructor,e)}function U({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function k(){return this}function F(){return this[I.rG]}function N(){}class m{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>C});var g=t(1388),I=t(6560),i=t(4762),Q=t(4540);function C(A,e,t,I){let i,C=this[Q._f][A];if(!C){if(t&g.F7.IgnoreUncreated)return;C=this[Q.tZ](A)}I&&(i=I[Q._f][A],!i)||C[Q.g9](e,t,i)}(0,I.co)({defineVisitor:()=>({value(A,e,t){let g;g="string"==typeof A?B[A]:A,g.call(this,e,t)}})});const B={copy(A,e){const t=e[Q._f][0];if(this[Q.Qy][Q.Dr]&&t&&!t[Q.Qy][Q.Dr])throw new i.x1;this[Q._f][0]=t},clear(A){A&g.F7.IsInactive&&(this[Q._f][0]=void 0)},reset(){this[Q._f][0]=void 0,this[Q.c6]=void 0}}},9025:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(8502);(0,I.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[I,{slot:i,structure:Q}]of A.entries())Q.flags&g.yi.HasPointer&&(0===I?t=i:e.push(i));return{value(A,I,Q){if(!(I&g.F7.IgnoreArguments)&&e.length>0)for(const t of e)i.k.call(this,t,A,I|g.F7.IsImmutable,Q);I&g.F7.IgnoreRetval||void 0===t||i.k.call(this,t,A,I,Q)}}}})},5558:(A,e,t)=>{var g=t(1388),I=t(6560),i=t(8502);(0,I.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&g.yi.HasPointer)).map((A=>A.slot));return{value(A,t,g){for(const I of e)i.k.call(this,I,A,t,g)}}}})},1369:A=>{A.exports=JSON.parse('{"Wn":[{"id":57345,"index":1,"char":"","width":24,"height":21,"xoffset":-2,"yoffset":4,"xadvance":20,"chnl":15,"x":0,"y":0,"page":0},{"id":57346,"index":2,"char":"","width":23,"height":24,"xoffset":-1,"yoffset":2,"xadvance":20,"chnl":15,"x":25,"y":0,"page":0}]}')}},i={};function Q(A){var e=i[A];if(void 0!==e)return e.exports;var t=i[A]={exports:{}};return I[A](t,t.exports,Q),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",g=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},Q.a=(I,i,Q)=>{var C;Q&&((C=[]).d=-1);var B,r,o,n=new Set,s=I.exports,E=new Promise(((A,e)=>{o=e,r=A}));E[e]=s,E[A]=A=>(C&&A(C),n.forEach(A),E.catch((A=>{}))),I.exports=E,i((I=>{var i;B=(I=>I.map((I=>{if(null!==I&&"object"==typeof I){if(I[A])return I;if(I.then){var i=[];i.d=0,I.then((A=>{Q[e]=A,g(i)}),(A=>{Q[t]=A,g(i)}));var Q={};return Q[A]=A=>A(i),Q}}var C={};return C[A]=A=>{},C[e]=I,C})))(I);var Q=()=>B.map((A=>{if(A[t])throw A[t];return A[e]})),r=new Promise((e=>{(i=()=>e(Q)).r=0;var t=A=>A!==C&&!n.has(A)&&(n.add(A),A&&!A.d&&(i.r++,A.push(i)));B.map((e=>e[A](t)))}));return i.r?r:Q()}),(A=>(A?o(E[t]=A):r(s),g(C)))),C&&C.d<0&&(C.d=0)},Q.d=(A,e)=>{for(var t in e)Q.o(e,t)&&!Q.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},Q.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),Q.p=A})();var C=Q(8156),B=(C=await C).A;export{B as default};
|
|
1
|
+
var A,e,t,g,i={214:(A,e,t)=>{function g(A,e,t,g){A.width=Math.max(1,Math.min(e,g.limits.maxTextureDimension2D)),A.height=Math.max(1,Math.min(t,g.limits.maxTextureDimension2D))}function i(A,e,t){const i=new ResizeObserver((A=>{for(const i of A)g(i.target,i.devicePixelContentBoxSize[0].inlineSize||i.contentBoxSize[0].inlineSize*devicePixelRatio,i.devicePixelContentBoxSize[0].blockSize||i.contentBoxSize[0].blockSize*devicePixelRatio,e),t()}));try{i.observe(A,{box:"device-pixel-content-box"})}catch(e){i.observe(A,{box:"content-box"})}g(A,A.clientWidth,A.clientHeight,e)}t.d(e,{A:()=>i})},1911:(A,e,t)=>{t.d(e,{A:()=>i});var g=function(A,e,t,g){return new(t||(t=Promise))((function(i,I){function Q(A){try{o(g.next(A))}catch(A){I(A)}}function C(A){try{o(g.throw(A))}catch(A){I(A)}}function o(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}o((g=g.apply(A,e||[])).next())}))};function i(){return g(this,void 0,void 0,(function*(){if(!navigator.gpu)throw Error("this browser does not support WebGPU");const A=yield navigator.gpu.requestAdapter();if(!A)throw Error("this browser supports webgpu but it appears disabled");const e=yield A.requestDevice();return e.lost.then((A=>{console.error(`WebGPU device was lost: ${A.message}`),A.reason})),e}))}},2872:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>r});var i=t(2842),I=t(9200),Q=t(3979),C=A([I,Q]);[I,Q]=C.then?(await C)():C;const o=1;class r{constructor(A){this.isPreviousPickDone=!0,this.pickBuffer=A.createBuffer({size:4*o,usage:GPUBufferUsage.MAP_READ|GPUBufferUsage.COPY_DST}),this.pickTexture=A.createTexture({size:[1,1],format:"r32uint",usage:GPUTextureUsage.COPY_SRC|GPUTextureUsage.RENDER_ATTACHMENT}),this.pickDepthTexture=A.createTexture({size:[1,1],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT})}startPicking(A){const e={label:"our render to canvas renderPass",colorAttachments:[{view:this.pickTexture.createView(),loadOp:"clear",clearValue:[0,0,0,1],storeOp:"store"}]},t=A.beginRenderPass(e);return t.setViewport(0,0,1,1,0,1),t.setScissorRect(0,0,1,1),{pass:t,end:()=>{t.end(),this.isPreviousPickDone&&A.copyTextureToBuffer({texture:this.pickTexture,origin:{x:0,y:0}},{buffer:this.pickBuffer},{width:o})}}}createMatrix(A,e){const t=-(I.Wn.x/A.width*2-1),g=I.Wn.y/A.height*2-1;return[i.A.scaling([A.width,A.height,0]),i.A.translation([t,g,0]),e].reduce(((A,e)=>i.A.multiply(A,e)),i.A.translation([-1,1,0]))}asyncPick(){return A=this,e=void 0,g=function*(){if(this.isPreviousPickDone){this.isPreviousPickDone=!1;try{yield this.pickBuffer.mapAsync(GPUMapMode.READ,0,4*o);const[A]=new Uint32Array(this.pickBuffer.getMappedRange(0,4*o));(0,Q.OI)(A);let e=0;for(;e<I.Wn.afterPickEventsQueue.length;){const{requireNewPick:A,cb:t}=I.Wn.afterPickEventsQueue[e];if(A&&e>0)break;t(),e++}I.Wn.afterPickEventsQueue.splice(0,e),this.pickBuffer.unmap()}catch(A){}this.isPreviousPickDone=!0}},new((t=void 0)||(t=Promise))((function(i,I){function Q(A){try{o(g.next(A))}catch(A){I(A)}}function C(A){try{o(g.throw(A))}catch(A){I(A)}}function o(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}o((g=g.apply(A,e||[])).next())}));var A,e,t,g}}g()}catch(A){g(A)}}))},9200:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{Ay:()=>E,UI:()=>n,Wn:()=>s});var i=t(3979),I=t(6253),Q=A([i]);i=(Q.then?(await Q)():Q)[0];const o=-1;var C;!function(A){A[A.Pan=0]="Pan",A[A.Zoom=1]="Zoom",A[A.None=2]="None"}(C||(C={}));let r=C.None,B=null;const n={x:0,y:0,zoom:1},s={x:0,y:0,afterPickEventsQueue:[]};function E(A,e,t){function g(){return[(s.x-n.x)/n.zoom,(A.height-s.y-n.y)/n.zoom]}function Q(e){const t=A.getBoundingClientRect(),g=A.width/t.width;s.x=(e.clientX-t.left)*g,s.y=(e.clientY-t.top)*g}let E;s.x=o,s.y=o,A.addEventListener("mouseleave",(()=>{t(),A.style.cursor="default";const e=()=>{s.x=o,s.y=o,(0,i.c2)()};s.afterPickEventsQueue.length>0?s.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousemove",(A=>{if(B)return Q(A),n.x=s.x-B.x,void(n.y=-(s.y-B.y));t();const e=()=>{Q(A),(0,i.wU)(...g())};s.afterPickEventsQueue.length>0?s.afterPickEventsQueue.push({requireNewPick:!1,cb:e}):e()})),A.addEventListener("mousedown",(e=>{if(r===C.Pan)return Q(e),B={x:s.x-n.x,y:s.y+n.y},void(A.style.cursor="grabbing");B=null,t(),Q(e),s.afterPickEventsQueue.push({requireNewPick:!0,cb:i.Dk.bind(null,...g())})})),A.addEventListener("mouseup",(()=>{r=C.None,B=null,A.style.cursor="default",t(),s.afterPickEventsQueue.length>0?s.afterPickEventsQueue.push({requireNewPick:!1,cb:i._R}):(0,i._R)()})),A.addEventListener("wheel",(t=>{if(t.preventDefault(),r===C.Zoom){const g=n.zoom;n.zoom=(0,I.A)(n.zoom-.005*t.deltaY,.1,20),e();const i=n.zoom/g;n.x=s.x-(s.x-n.x)*i;const Q=A.height-s.y;n.y=Q-(Q-n.y)*i}else n.x-=t.deltaX,n.y+=t.deltaY})),document.body.addEventListener("keydown",(e=>{"Space"===e.code?(e.preventDefault(),r!==C.Pan&&(A.style.cursor="grab",r=C.Pan)):"Alt"===e.key&&(e.preventDefault(),r=C.Zoom)})),document.body.addEventListener("keyup",(e=>{"Space"!==e.code&&"Alt"!==e.key||(r=C.None),"Space"===e.code&&null===B&&(A.style.cursor="default")})),A.addEventListener("touchstart",(A=>{2===A.touches.length&&(A.preventDefault(),E=A.touches[0].clientY)})),A.addEventListener("touchmove",(A=>{if(2===A.touches.length){A.preventDefault();const t=E-A.touches[0].clientY;E=A.touches[0].clientY,n.zoom=(0,I.A)(n.zoom-.01*t,.1,20),e()}}))}g()}catch(a){g(a)}}))},5695:(A,e,t)=>{t.d(e,{Ay:()=>N,hk:()=>m,_J:()=>F,D4:()=>w,Fh:()=>U,Q3:()=>k});const g="const PI = 3.14159265358979323846;\nconst EPSILON = 1.1920929e-7;\n\nstruct Vertex {\n @location(0) p0: vec4f,\n @location(1) p1: vec4f,\n @location(2) p2: vec4f,\n @location(3) color: vec4f,\n @location(4) radius_list: vec3f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) p0: vec4f,\n @location(1) @interpolate(flat) p1: vec4f,\n @location(2) @interpolate(flat) p2: vec4f,\n @location(3) @interpolate(flat) color: vec4f,\n @location(4) pixel: vec2f,\n @location(5) @interpolate(flat) radius_list: vec3f,\n @location(6) @interpolate(flat) threshold_list: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32\n) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = vec4f(vert.p0.xy, 0, 1);\n } else if (normVertexIndex == 1) {\n out.position = vec4f(vert.p1.xy, 0, 1);\n } else {\n out.position = vec4f(vert.p2.xy, 0, 1);\n }\n\n out.pixel = vec2f(out.position.x, out.position.y);\n\n out.position = u.worldViewProjection * out.position;\n\n out.p0 = vert.p0;\n out.p1 = vert.p1;\n out.p2 = vert.p2;\n out.color = vert.color;\n out.radius_list = vert.radius_list;\n\n let p0_circle_dist = distance(vert.p0.xy, vert.p0.zw);\n let p1_circle_dist = distance(vert.p1.xy, vert.p1.zw);\n let p2_circle_dist = distance(vert.p2.xy, vert.p2.zw);\n\n out.threshold_list = vec3f(\n sqrt(pow(p0_circle_dist, 2) - pow(vert.radius_list.x, 2)),\n sqrt(pow(p1_circle_dist, 2) - pow(vert.radius_list.y, 2)),\n sqrt(pow(p2_circle_dist, 2) - pow(vert.radius_list.z, 2)),\n ); // behind this value is roudned corner\n\n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let p0_circle_dist = distance(in.p0.xy, in.pixel) - in.threshold_list.x;\n let p1_circle_dist = distance(in.p1.xy, in.pixel) - in.threshold_list.y;\n let p2_circle_dist = distance(in.p2.xy, in.pixel) - in.threshold_list.z;\n \n let min_circle_dist = min(\n p0_circle_dist,\n min(p1_circle_dist, p2_circle_dist)\n );\n\n var p: vec2f; // closest corner\n var p_circle: vec2f; // closest corner's circle position\n var radius: f32;\n var threshold: f32;\n\n if (abs(min_circle_dist - p0_circle_dist) <= EPSILON) {\n p = in.p0.xy;\n p_circle = in.p0.zw;\n radius = in.radius_list.x;\n threshold = in.threshold_list.x;\n } else if (abs(min_circle_dist - p1_circle_dist) <= EPSILON) {\n p = in.p1.xy;\n p_circle = in.p1.zw;\n radius = in.radius_list.y;\n threshold = in.threshold_list.y;\n } else {\n p = in.p2.xy;\n p_circle = in.p2.zw;\n radius = in.radius_list.z;\n threshold = in.threshold_list.z;\n }\n\n let dist = distance(p, in.pixel);\n\n if (dist < threshold) {\n let circle_distance = distance(p_circle, in.pixel);\n return in.color * (1.0 - smoothstep(radius - 0.5, radius + 0.5, circle_distance));\n } else {\n return in.color;\n }\n}\n",i=19,I="struct Uniforms {\n matrix: mat4x4f,\n zoom: f32,\n};\n\nstruct Vertex {\n @location(0) t: f32,\n @location(1) dir: f32,\n @location(2) segmentIndex: u32,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@group(0) @binding(1) var<storage> points: array<vec2f>;\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n \n let p1 = points[vert.segmentIndex * 4 + 0];\n let p2 = points[vert.segmentIndex * 4 + 1];\n let p3 = points[vert.segmentIndex * 4 + 2];\n let p4 = points[vert.segmentIndex * 4 + 3];\n\n let t2 = vert.t * vert.t;\n let one_minus_t = 1.0 - vert.t;\n let one_minus_t2 = one_minus_t * one_minus_t;\n let pos = p1 * one_minus_t2 * one_minus_t + p2 * 3.0 * vert.t * one_minus_t2 + p3 * 3.0 * t2 * one_minus_t + p4 * t2 * vert.t;\n\n let angle = one_minus_t2 * (p2 - p1) + 2.0 * vert.t * one_minus_t * (p3 - p2) + t2 * (p4 - p3);\n let angleNorm = normalize(angle) * 5 / u.zoom;\n let transPos = vec2(pos.x - angleNorm.y * vert.dir, pos.y + angleNorm.x * vert.dir);\n let clipSpace = (u.matrix * vec4f(transPos, 1, 1));\n vsOut.position = clipSpace;\n vsOut.color = vec4f(f32(vert.segmentIndex) % 3, (f32(vert.segmentIndex) + 1) % 3, (f32(vert.segmentIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",Q="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) texcoord: vec2f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) texcoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.texcoord = vert.texcoord;\n return vsOut;\n}\n\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, vsOut.texcoord);\n}\n",C="struct Uniforms {\n matrix: mat4x4f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.matrix * vert.position;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n return vsOut.color;\n}\n",o="struct Uniforms {\n normalMatrix: mat3x3f,\n worldViewProjection: mat4x4f,\n lightColor: vec4f,\n lightDirection: vec3f,\n};\n\nstruct Vertex {\n @location(0) position: vec4f,\n @location(1) normal: vec3f,\n};\n\nstruct VSOutput {\n @builtin(position) position: vec4f,\n @location(0) color: vec4f,\n @location(1) normal: vec3f,\n};\n\n@group(0) @binding(0) var<uniform> uni: Uniforms;\n\n@vertex fn vs(\n vert: Vertex,\n @builtin(vertex_index) vertexIndex : u32,\n // @builtin(instance_index) instanceIndex: u32\n ) -> VSOutput {\n var vsOut: VSOutput;\n vsOut.position = uni.worldViewProjection * vert.position;\n vsOut.normal = uni.normalMatrix * vert.normal;\n vsOut.color = vec4f(f32(vertexIndex) % 3, (f32(vertexIndex) + 1) % 3, (f32(vertexIndex) + 2) % 3, 1);\n\n return vsOut;\n}\n\n\n@fragment fn fs(vsOut: VSOutput) -> @location(0) vec4f {\n // Because vsOut.normal is an inter-stage variable \n // it's interpolated so it will not be a unit vector.\n // Normalizing it will make it a unit vector again\n let normal = normalize(vsOut.normal);\n \n // Compute the light by taking the dot product\n // of the normal to the light's reverse direction\n let light = dot(normal, -uni.lightDirection);\n \n // Lets multiply just the color portion (not the alpha)\n // by the light\n let color = vec3f(0.23) + uni.lightColor.rgb * light;\n // let color = vsOut.color.rgb * 0.5 + uni.lightColor.rgb * light;\n return vec4f(color, vsOut.color.a);\n}\n",r="struct Params {\n filterDim : i32,\n blockDim : u32,\n}\n\n@group(0) @binding(0) var samp : sampler;\n@group(0) @binding(1) var<uniform> params : Params;\n@group(1) @binding(1) var inputTex : texture_2d<f32>;\n@group(1) @binding(2) var outputTex : texture_storage_2d<rgba8unorm, write>;\n\nstruct Flip {\n value : u32,\n}\n@group(1) @binding(3) var<uniform> flip : Flip;\n\n// This shader blurs the input texture in one direction, depending on whether\n// |flip.value| is 0 or 1.\n// It does so by running (128 / 4) threads per workgroup to load 128\n// texels into 4 rows of shared memory. Each thread loads a\n// 4 x 4 block of texels to take advantage of the texture sampling\n// hardware.\n// Then, each thread computes the blur result by averaging the adjacent texel values\n// in shared memory.\n// Because we're operating on a subset of the texture, we cannot compute all of the\n// results since not all of the neighbors are available in shared memory.\n// Specifically, with 128 x 128 tiles, we can only compute and write out\n// square blocks of size 128 - (filterSize - 1). We compute the number of blocks\n// needed in Javascript and dispatch that amount.\n\n// 128/4 = 32 -> number of threads per working group\n// does it in 4x4 block of texels(takes advantage of texture sampling hardware)\n// with this beign said, we don't have all the neighbours, only this block\n// That's why we can only compute & write out blocks of size 128 - (filterSize - 1)\nvar<workgroup> tile : array<array<vec3<f32>, 128>, 4>;\n\n@compute @workgroup_size(32, 1, 1)\nfn main(\n @builtin(workgroup_id) WorkGroupID : vec3<u32>,\n @builtin(local_invocation_id) LocalInvocationID : vec3<u32>\n) {\n let filterOffset = (params.filterDim - 1) / 2;\n let dims = vec2<i32>(textureDimensions(inputTex, 0));\n let baseIndex = vec2<i32>(WorkGroupID.xy * vec2(params.blockDim, 4) + // it's just the index of the first texel in a group\n LocalInvocationID.xy * vec2(4, 1)) // <0, 128>\n - vec2(filterOffset, 0);\n // baseIndex = xy of first texel of group\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var loadIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n loadIndex = loadIndex.yx;\n }\n\n tile[r][4 * LocalInvocationID.x + u32(c)] = textureSampleLevel(\n inputTex,\n samp,\n (vec2<f32>(loadIndex) + vec2<f32>(0.25, 0.25)) / vec2<f32>(dims),\n 0.0\n ).rgb;\n }\n }\n\n workgroupBarrier();\n // helps coordinate access to read-write memory\n // so all threads(32) will wait to hit this barrer, and then start form here together\n\n for (var r = 0; r < 4; r++) {\n for (var c = 0; c < 4; c++) {\n var writeIndex = baseIndex + vec2(c, r);\n if (flip.value != 0) {\n writeIndex = writeIndex.yx;\n }\n\n let center = i32(4 * LocalInvocationID.x) + c;\n if (center >= filterOffset &&\n center < 128 - filterOffset &&\n all(writeIndex < dims)) {\n var acc = vec3(0.0, 0.0, 0.0);\n for (var f = 0; f < params.filterDim; f++) {\n var i = center + f - filterOffset;\n acc = acc + (1.0 / f32(params.filterDim)) * tile[r][i];\n }\n textureStore(outputTex, writeIndex, vec4(acc, 1.0));\n }\n }\n }\n}\n",B=128,n=[4,4],s="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n return textureSample(ourTexture, ourSampler, in.texCoord);\n}\n",E=6,a="struct Vertex {\n @location(0) position: vec4f,\n @location(1) uv: vec2f,\n @location(2) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n // maybe we should pass offsets from the position instead of... position?\n out.position = u.worldViewProjection * vert.position;\n out.texCoord = vert.uv;\n out.id = vert.id;\n\n return out;\n}\n\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n let alpha = textureSample(ourTexture, ourSampler, in.texCoord).a;\n\n if (alpha < 0.1) {\n discard; // r32uint doesn't support blending so only skipping pixels lefts\n }\n\n return u32(in.id);\n}\n",c=7,u="struct Vertex {\n @location(0) position: vec4f,\n @location(1) id: f32,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) @interpolate(flat) id: f32\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n\n@vertex fn vs(vert: Vertex) -> VertexOutput {\n var out: VertexOutput;\n out.position = u.worldViewProjection * vert.position;\n out.id = vert.id;\n \n return out;\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) u32 {\n return u32(in.id);\n}\n\n",l=5,f="struct Vertex {\n @location(0) p0_position: vec4f,\n @location(1) p0_uv: vec2f,\n @location(2) p1_position: vec4f,\n @location(3) p1_uv: vec2f,\n @location(4) p2_position: vec4f,\n @location(5) p2_uv: vec2f,\n @location(6) color: vec4f,\n};\n\nstruct Uniforms {\n worldViewProjection: mat4x4f,\n};\n\nstruct VertexOutput {\n @builtin(position) position: vec4f,\n @location(0) texCoord: vec2f,\n @location(1) @interpolate(flat) color: vec4f,\n};\n\n@group(0) @binding(0) var<uniform> u: Uniforms;\n@group(0) @binding(1) var ourSampler: sampler;\n@group(0) @binding(2) var ourTexture: texture_2d<f32>;\n\n@vertex fn vs(vert: Vertex, @builtin(vertex_index) vertexIndex : u32) -> VertexOutput {\n let normVertexIndex = vertexIndex % 3;\n\n var out: VertexOutput;\n if (normVertexIndex == 0) {\n out.position = u.worldViewProjection * vert.p0_position;\n out.texCoord = vert.p0_uv;\n } else if (normVertexIndex == 1) {\n out.position = u.worldViewProjection * vert.p1_position;\n out.texCoord = vert.p1_uv;\n } else {\n out.position = u.worldViewProjection * vert.p2_position;\n out.texCoord = vert.p2_uv;\n }\n\n out.color = vert.color;\n \n return out;\n}\n\nfn median(r: f32, g: f32, b: f32) -> f32 {\n return max(min(r, g), min(max(r, g), b));\n}\n\n@fragment fn fs(in: VertexOutput) -> @location(0) vec4f {\n let msdf = textureSample(ourTexture, ourSampler, in.texCoord);\n let signed_distance = median(msdf.r, msdf.g, msdf.b) - 0.5;\n let w = clamp(signed_distance / fwidth(signed_distance) + 0.5, 0.0, 1.0);\n return in.color * w;\n}",h=22;let w,D,y,d,p,S,F,U,k,m;function N(A,e){w=function(A,e){const t=A.createShaderModule({label:"draw triangle module",code:g}),I=A.createRenderPipeline({label:"draw triangle pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*i,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x4"},{shaderLocation:2,offset:32,format:"float32x4"},{shaderLocation:3,offset:48,format:"float32x4"},{shaderLocation:4,offset:64,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),o=C.subarray(0,16);return function(e,t,g){const r=g.length/i,B=A.createBuffer({label:"vertex buffer vertices",size:g.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(B,0,g);const n=A.createBindGroup({layout:I.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(I),e.setVertexBuffer(0,B),o.set(t),A.queue.writeBuffer(Q,0,C),e.setBindGroup(0,n),e.draw(3,r)}}(A,e),D=function(A,e){const t=A.createShaderModule({label:"bezier shader module",code:I}),g=A.createRenderPipeline({label:"bezier pipline",layout:"auto",primitive:{topology:"triangle-strip"},vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4,attributes:[{shaderLocation:0,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:1,offset:0,format:"float32"}]},{arrayStride:4,attributes:[{shaderLocation:2,offset:0,format:"uint32"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,i,I,Q,C,o){const r=4*i.length,B=A.createBuffer({label:"storage points",size:r,usage:GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST}),n=A.createBuffer({label:"uniforms",size:80,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),s=new Float32Array(20),E=s.subarray(0,16),a=s.subarray(16,17),c=A.createBindGroup({label:"bezier bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:n}},{binding:1,resource:{buffer:B}}]}),u=A.createBuffer({label:"bezier vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(u,0,I);const l=A.createBuffer({label:"bezier vertex buffer vertices",size:Q.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(l,0,Q);const f=A.createBuffer({label:"bezier vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,C),e.setPipeline(g),e.setVertexBuffer(0,u),e.setVertexBuffer(1,l),e.setVertexBuffer(2,f),E.set(t),a.set(new Float32Array([o])),A.queue.writeBuffer(n,0,s),A.queue.writeBuffer(B,0,i),e.setBindGroup(0,c),e.draw(I.length)}}(A,e),d=function(A,e){const t=A.createShaderModule({label:"3d model texture shader module",code:Q}),g=A.createRenderPipeline({label:"3d model texture pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:20,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},depthStencil:{depthWriteEnabled:!1,depthCompare:"always",format:"depth24plus"}});return function(e,t,i,I,Q){const C=A.createSampler({magFilter:"linear",minFilter:"linear"}),o=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),r=new Float32Array(16),B=r.subarray(0,16),n=Q.length,s=A.createBuffer({label:"3d model texture vertex buffer vertices",size:I.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(s,0,I);const E=A.createBuffer({label:"3d model texture index buffer",size:Q.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(E,0,Q);const a=A.createBindGroup({label:"3d model texture bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:o}},{binding:1,resource:C},{binding:2,resource:i.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,s),e.setIndexBuffer(E,"uint32"),B.set(t),A.queue.writeBuffer(o,0,r),e.setBindGroup(0,a),e.drawIndexed(n)}}(A,e),y=function(A,e){const t=A.createShaderModule({label:"3d model shader module",code:C}),g=A.createRenderPipeline({label:"3d model pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:12,attributes:[{shaderLocation:0,offset:0,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,i,I){const Q=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),C=new Float32Array(16),o=C.subarray(0,16),r=I.length,B=A.createBuffer({label:"vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(B,0,i);const n=A.createBuffer({label:"index buffer",size:I.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,I);const s=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:Q}}]});e.setPipeline(g),e.setVertexBuffer(0,B),e.setIndexBuffer(n,"uint32"),o.set(t),A.queue.writeBuffer(Q,0,C),e.setBindGroup(0,s),e.drawIndexed(r)}}(A,e),p=function(A,e){const t=A.createShaderModule({label:"3d model light shader module",code:o}),g=A.createRenderPipeline({label:"3d model light pipline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:24,attributes:[{shaderLocation:0,offset:0,format:"float32x3"},{shaderLocation:1,offset:12,format:"float32x3"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e}]},primitive:{cullMode:"back"},depthStencil:{depthWriteEnabled:!0,depthCompare:"less",format:"depth24plus"}});return function(e,t,i,I){const{worldViewProjection:Q,normalMatrix:C,lightColor:o,lightDirection:r}=t,B=A.createBuffer({label:"uniforms",size:144,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),n=new Float32Array(36),s=n.subarray(0,12),E=n.subarray(12,28),a=n.subarray(28,32),c=n.subarray(32,35),u=A.createBindGroup({label:"bind group for object",layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:B}}]}),l=I.length,f=A.createBuffer({label:"vertex buffer vertices",size:i.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(f,0,i);const h=A.createBuffer({label:"index buffer",size:I.byteLength,usage:GPUBufferUsage.INDEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(h,0,I),e.setPipeline(g),e.setVertexBuffer(0,f),e.setIndexBuffer(h,"uint32"),s.set(C),E.set(Q),a.set(o),c.set(r),A.queue.writeBuffer(B,0,n),e.setBindGroup(0,u),e.drawIndexed(l)}}(A,e),S=function(A){const e=A.createShaderModule({label:"blur shader module",code:r}),t=A.createComputePipeline({layout:"auto",compute:{module:e,entryPoint:"main"}});return function(e,g){const i=[0,1].map((()=>A.createTexture({size:{width:e.width,height:e.height},format:"rgba8unorm",usage:GPUTextureUsage.COPY_DST|GPUTextureUsage.STORAGE_BINDING|GPUTextureUsage.TEXTURE_BINDING}))),I=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=0,e.unmap(),e})(),Q=(()=>{const e=A.createBuffer({size:4,mappedAtCreation:!0,usage:GPUBufferUsage.UNIFORM});return new Uint32Array(e.getMappedRange())[0]=1,e.unmap(),e})(),C=A.createBuffer({size:8,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.UNIFORM}),o=A.createSampler({magFilter:"linear",minFilter:"linear"}),r=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:o},{binding:1,resource:{buffer:C}}]}),s=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:e.createView()},{binding:2,resource:i[0].createView()},{binding:3,resource:{buffer:I}}]}),E=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:i[0].createView()},{binding:2,resource:i[1].createView()},{binding:3,resource:{buffer:Q}}]}),a=A.createBindGroup({layout:t.getBindGroupLayout(1),entries:[{binding:1,resource:i[1].createView()},{binding:2,resource:i[0].createView()},{binding:3,resource:{buffer:I}}]}),c=B-14;A.queue.writeBuffer(C,0,new Uint32Array([15,c]));const u=g.beginComputePass();u.setPipeline(t),u.setBindGroup(0,r),u.setBindGroup(1,s),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/n[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/n[1]));for(let A=0;A<1;++A)u.setBindGroup(1,a),u.dispatchWorkgroups(Math.ceil(e.width/c),Math.ceil(e.height/n[1])),u.setBindGroup(1,E),u.dispatchWorkgroups(Math.ceil(e.height/c),Math.ceil(e.width/n[1]));return u.end(),i[1]}}(A),F=function(A,e){const t=A.createShaderModule({label:"texture module",code:s}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),i=A.createRenderPipeline({label:"texture pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*E,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),I=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),C=Q.subarray(0,16);return function(e,t,o,r){const B=o.length/E|0,n=A.createBuffer({label:"vertex buffer vertices",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,o);const s=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:g},{binding:2,resource:r.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,n),C.set(t),A.queue.writeBuffer(I,0,Q),e.setBindGroup(0,s),e.draw(B)}}(A,e),U=function(A){const e=A.createShaderModule({label:"pick texture module",code:a}),t=A.createSampler({minFilter:"linear",magFilter:"linear"}),g=A.createRenderPipeline({label:"pick texture pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*c,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),i=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),I=new Float32Array(16),Q=I.subarray(0,16);return function(e,C,o,r){const B=o.length/c|0,n=A.createBuffer({label:"pic texture vertex buffer vertices",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,o);const s=A.createBindGroup({layout:g.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:i}},{binding:1,resource:t},{binding:2,resource:r.createView()}]});e.setPipeline(g),e.setVertexBuffer(0,n),Q.set(C),A.queue.writeBuffer(i,0,I),e.setBindGroup(0,s),e.draw(B)}}(A),k=function(A){const e=A.createShaderModule({label:"pick triangle module",code:u}),t=A.createRenderPipeline({label:"pick triangle pipeline",layout:"auto",vertex:{module:e,entryPoint:"vs",buffers:[{arrayStride:4*l,attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32"}]}]},fragment:{module:e,entryPoint:"fs",targets:[{format:"r32uint"}]}}),g=A.createBuffer({label:"uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),i=new Float32Array(16),I=i.subarray(0,16);return function(e,Q,C){const o=C.length/l|0,r=A.createBuffer({label:"pick triangle vertex buffer vertices",size:C.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(r,0,C);const B=A.createBindGroup({layout:t.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:g}}]});e.setPipeline(t),e.setVertexBuffer(0,r),I.set(Q),A.queue.writeBuffer(g,0,i),e.setBindGroup(0,B),e.draw(o)}}(A),m=function(A,e){const t=A.createShaderModule({label:"draw msdf module",code:f}),g=A.createSampler({minFilter:"linear",magFilter:"linear"}),i=A.createRenderPipeline({label:"draw msdf pipeline",layout:"auto",vertex:{module:t,entryPoint:"vs",buffers:[{arrayStride:4*h,stepMode:"instance",attributes:[{shaderLocation:0,offset:0,format:"float32x4"},{shaderLocation:1,offset:16,format:"float32x2"},{shaderLocation:2,offset:24,format:"float32x4"},{shaderLocation:3,offset:40,format:"float32x2"},{shaderLocation:4,offset:48,format:"float32x4"},{shaderLocation:5,offset:64,format:"float32x2"},{shaderLocation:6,offset:72,format:"float32x4"}]}]},fragment:{module:t,entryPoint:"fs",targets:[{format:e,blend:{color:{srcFactor:"one",dstFactor:"one-minus-src-alpha"},alpha:{srcFactor:"one",dstFactor:"one-minus-src-alpha"}}}]},multisample:{count:4}}),I=A.createBuffer({label:"draw msdf uniforms",size:64,usage:GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST}),Q=new Float32Array(16),C=Q.subarray(0,16);return function(e,t,o,r){const B=o.length/h,n=A.createBuffer({label:"draw msdf - vertex buffer",size:o.byteLength,usage:GPUBufferUsage.VERTEX|GPUBufferUsage.COPY_DST});A.queue.writeBuffer(n,0,o);const s=A.createBindGroup({layout:i.getBindGroupLayout(0),entries:[{binding:0,resource:{buffer:I}},{binding:1,resource:g},{binding:2,resource:r.createView()}]});e.setPipeline(i),e.setVertexBuffer(0,n),C.set(t),A.queue.writeBuffer(I,0,Q),e.setBindGroup(0,s),e.draw(3,B)}}(A,e)}},4461:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>C});var i=t(2842),I=t(9200),Q=A([I]);function C(A){const e=i.A.ortho(0,A.width,0,A.height,1,-1),t=i.A.translate(e,[I.UI.x,I.UI.y,0]);return i.A.scale(t,[I.UI.zoom,I.UI.zoom,1])}I=(Q.then?(await Q)():Q)[0],g()}catch(o){g(o)}}))},6838:(A,e,t)=>{let g,i;function I(A,e,t,i){return g&&g.width===e&&g.height===t||(null==g||g.destroy(),g=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}),g=A.createTexture({format:i,usage:GPUTextureUsage.RENDER_ATTACHMENT,size:[e,t],sampleCount:4})),g}function Q(A,e){const t=A.getCurrentTexture();return function(A,e,t){i&&i.width===e&&i.height===t||(null==i||i.destroy(),i=A.createTexture({size:[e,t],format:"depth24plus",usage:GPUTextureUsage.RENDER_ATTACHMENT}))}(e,t.width,t.height),{label:"our render to canvas renderPass",colorAttachments:[{view:I(e,t.width,t.height,t.format).createView(),resolveTarget:t.createView(),clearValue:[0,0,0,1],loadOp:"clear",storeOp:"store"}]}}t.d(e,{A:()=>Q})},8156:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A:()=>u});var i=t(214),I=t(1911),Q=t(5695),C=t(2633),o=t(3979),r=t(9200),B=t(6561),n=t(1369),s=t(7846),E=t(1181),a=A([C,o,r]);[C,o,r]=a.then?(await a)():a;var c=function(A,e,t,g){return new(t||(t=Promise))((function(i,I){function Q(A){try{o(g.next(A))}catch(A){I(A)}}function C(A){try{o(g.throw(A))}catch(A){I(A)}}function o(A){var e;A.done?i(A.value):(e=A.value,e instanceof t?e:new t((function(A){A(e)}))).then(Q,C)}o((g=g.apply(A,e||[])).next())}))};function u(A,e,t,g){return c(this,void 0,void 0,(function*(){let a=0,u=!1;function l(){g(a>0||u)}const f=yield(0,I.A)();E.Ts(f,(A=>{a=A,l()}));const h=A.clientWidth/2,w=A.clientHeight/2;(0,o.vH)(h,w);const D=A.getContext("webgpu");if(!D)throw Error("WebGPU from canvas needs to be always provided");const y=navigator.gpu.getPreferredCanvasFormat();function d(){(0,o.Yj)(A.width/(A.clientWidth*r.UI.zoom))}D.configure({device:f,format:y});let p=!1;(0,i.A)(A,f,(()=>{!1===p&&(r.UI.x=(A.width-h)/2,r.UI.y=(A.height-w)/2,p=!0),d()})),(0,Q.Ay)(f,y),(0,r.Ay)(A,d,(()=>{u=!0,l()})),(0,o.kO)((A=>{const t=[...A].map((A=>({id:A.id,textureId:A.texture_id,points:[...A.points].map((A=>({x:A.x,y:A.y,u:A.u,v:A.v}))),url:E.ID(A.texture_id)})));e(t)})),(0,o.Nu)(t),E.WQ(B,((A,e)=>{(0,o.dU)(n.Wn.flatMap((t=>[t.id,t.x/A,t.y/e,t.width/A,t.height/e,t.width,t.height])))}));const S=(0,C.Ay)(A,D,f,y,(()=>{u=!1,l()}));return{addImage:A=>{const e=E.WQ(A,((A,t)=>{const g=(0,s.A)(A,t,h,w);(0,o.VD)(0,g,e)}))},removeAsset:o.MW,resetAssets:(e,...t)=>c(this,[e,...t],void 0,(function*(e,t=!1){const g=(yield Promise.allSettled(e.map((e=>new Promise(((t,g)=>{if(e.points)return t({points:e.points,texture_id:e.textureId||E.WQ(e.url),id:e.id||0});const i=E.WQ(e.url,((e,g)=>t({points:(0,s.A)(e,g,A.clientWidth,A.clientHeight),texture_id:i,id:0})))})))))).filter((A=>"fulfilled"===A.status)).map((A=>A.value));(0,o.im)(g,t)})),destroy:()=>{S(),(0,o.Nl)(),D.unconfigure(),f.destroy()}}}))}g()}catch(l){g(l)}}))},2633:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{Ay:()=>s});var i=t(6838),I=t(5695),Q=t(4461),C=t(2872),o=t(3979),r=t(9200),B=t(1181),n=A([Q,C,o,r]);function s(A,e,t,g,n){let s,E;const a=new C.A(t);let c,u;(0,o.Vh)({draw_texture:(A,e)=>(0,I._J)(s,E,A.typedArray,B.Mc(e)),draw_msdf:(A,e)=>{(0,I.hk)(s,E,A.typedArray,B.Mc(e))},draw_triangle:A=>(0,I.D4)(s,E,A.typedArray),pick_texture:(A,e)=>(0,I.Fh)(u,c,A.typedArray,B.Mc(e)),pick_triangle:A=>(0,I.Q3)(u,c,A.typedArray)});let l=0;const f={x:0,y:0};return l=requestAnimationFrame((function g(I){const C=t.createCommandEncoder(),B=(0,i.A)(e,t);if(s=C.beginRenderPass(B),E=(0,Q.A)(A),(0,o.Gp)(),s.end(),0===r.Wn.afterPickEventsQueue.length&&n(),r.Wn.afterPickEventsQueue.length>0||f.x!==r.Wn.x||f.y!==r.Wn.y){f.x=r.Wn.x,f.y=r.Wn.y,c=a.createMatrix(A,E);const e=a.startPicking(C);u=e.pass,(0,o.A4)(),e.end()}const h=C.finish();t.queue.submit([h]),a.asyncPick(),l=requestAnimationFrame(g)})),()=>{cancelAnimationFrame(l)}}[Q,C,o,r]=n.then?(await n)():n,new Float32Array,g()}catch(E){g(E)}}))},1181:(A,e,t)=>{t.d(e,{WQ:()=>B,Mc:()=>n,ID:()=>s,Ts:()=>r});const g=(...A)=>{const e=Math.max(...A);return 1+Math.log2(e)|0};let i,I,Q,C,o;function r(A,e){i=A,I=[],Q=function(A){const e=[255,0,0,255],t=[255,255,0,255],g=new Uint8Array([[0,0,255,255],e,e,e,e,e,t,t,t,e,e,t,e,e,e,e,t,t,e,e,e,t,e,e,e,e,t,e,e,e,e,e,e,e,e].flat()),i=A.createTexture({label:"yellow F on red",size:[5,7],format:"rgba8unorm",usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST});return A.queue.writeTexture({texture:i},g,{bytesPerRow:20},{width:5,height:7}),i}(i),C=()=>e(o),o=0}function B(A,e){o++,C();const t=I.length;I.push({url:A});const Q=new Image;return Q.src=A,Q.onload=()=>{I[t].texture=function(A,e,t={}){const i=A.createTexture({format:"rgba8unorm",mipLevelCount:t.mips?g(e.width,e.height):1,size:[e.width,e.height],usage:GPUTextureUsage.TEXTURE_BINDING|GPUTextureUsage.COPY_DST|GPUTextureUsage.RENDER_ATTACHMENT});return function(A,e,t,{flipY:g,depthOrArrayLayers:i}={}){A.queue.copyExternalImageToTexture({source:t,flipY:g},{texture:e},{width:t.width,height:t.height,depthOrArrayLayers:i})}(A,i,e,t),i}(i,Q,{flipY:!0}),null==e||e(Q.width,Q.height),o--,C()},Q.onerror=()=>{console.error(`Failed to load image from ${A}`),o--,C()},t}function n(A){var e;return null!==(e=I[A].texture)&&void 0!==e?e:Q}function s(A){return I[A].url}},6253:(A,e,t)=>{function g(A,e,t){return Math.min(t,Math.max(e,A))}t.d(e,{A:()=>g})},7846:(A,e,t)=>{t.d(e,{A:()=>i});var g=t(6253);function i(A,e,t,i){const I=function(A,e,t,i){if(i-e<t-A)return(0,g.A)(e,.2*i,.8*i)/e;return(0,g.A)(A,.2*t,.8*t)/A}(A,e,t,i),Q=A*I,C=e*I,o=.5*(t-Q),r=.5*(i-C);return[{x:o,y:r+C,u:0,v:1},{x:o+Q,y:r+C,u:1,v:1},{x:o+Q,y:r,u:1,v:0},{x:o,y:r,u:0,v:0}]}},2842:(A,e,t)=>{t.d(e,{A:()=>I});const g={cross(A,e,t=new Float32Array(3)){const g=A[1]*e[2]-A[2]*e[1],i=A[2]*e[0]-A[0]*e[2],I=A[0]*e[1]-A[1]*e[0];return t[0]=g,t[1]=i,t[2]=I,t},subtract:(A,e,t=new Float32Array(3))=>(t[0]=A[0]-e[0],t[1]=A[1]-e[1],t[2]=A[2]-e[2],t),normalize(A,e=new Float32Array(3)){const t=Math.sqrt(A[0]*A[0]+A[1]*A[1]+A[2]*A[2]);return t>1e-5?(e[0]=A[0]/t,e[1]=A[1]/t,e[2]=A[2]/t):(e[0]=0,e[1]=0,e[2]=0),e}},i={projection:(A,e,t,g)=>i.ortho(0,A,e,0,t,-t,g),perspective(A,e,t,g,i=new Float32Array(16)){const I=Math.tan(.5*Math.PI-.5*A),Q=1/(t-g);return i[0]=I/e,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=I,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g*Q,i[11]=-1,i[12]=0,i[13]=0,i[14]=t*g*Q,i[15]=0,i},ortho:(A,e,t,g,i,I,Q=new Float32Array(16))=>(Q[0]=2/(e-A),Q[1]=0,Q[2]=0,Q[3]=0,Q[4]=0,Q[5]=2/(g-t),Q[6]=0,Q[7]=0,Q[8]=0,Q[9]=0,Q[10]=1/(i-I),Q[11]=0,Q[12]=(e+A)/(A-e),Q[13]=(g+t)/(t-g),Q[14]=i/(i-I),Q[15]=1,Q),identity:(A=new Float32Array(16))=>(A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A),multiply(A,e,t=new Float32Array(16)){const g=e[0],i=e[1],I=e[2],Q=e[3],C=e[4],o=e[5],r=e[6],B=e[7],n=e[8],s=e[9],E=e[10],a=e[11],c=e[12],u=e[13],l=e[14],f=e[15],h=A[0],w=A[1],D=A[2],y=A[3],d=A[4],p=A[5],S=A[6],F=A[7],U=A[8],k=A[9],m=A[10],N=A[11],b=A[12],M=A[13],K=A[14],G=A[15];return t[0]=g*h+i*d+I*U+Q*b,t[1]=g*w+i*p+I*k+Q*M,t[2]=g*D+i*S+I*m+Q*K,t[3]=g*y+i*F+I*N+Q*G,t[4]=C*h+o*d+r*U+B*b,t[5]=C*w+o*p+r*k+B*M,t[6]=C*D+o*S+r*m+B*K,t[7]=C*y+o*F+r*N+B*G,t[8]=n*h+s*d+E*U+a*b,t[9]=n*w+s*p+E*k+a*M,t[10]=n*D+s*S+E*m+a*K,t[11]=n*y+s*F+E*N+a*G,t[12]=c*h+u*d+l*U+f*b,t[13]=c*w+u*p+l*k+f*M,t[14]=c*D+u*S+l*m+f*K,t[15]=c*y+u*F+l*N+f*G,t},cameraAim(A,e,t,i=new Float32Array(16)){const I=g.normalize(g.subtract(A,e)),Q=g.normalize(g.cross(t,I)),C=g.normalize(g.cross(I,Q));return i[0]=Q[0],i[1]=Q[1],i[2]=Q[2],i[3]=0,i[4]=C[0],i[5]=C[1],i[6]=C[2],i[7]=0,i[8]=I[0],i[9]=I[1],i[10]=I[2],i[11]=0,i[12]=A[0],i[13]=A[1],i[14]=A[2],i[15]=1,i},inverse(A,e=new Float32Array(16)){const t=A[0],g=A[1],i=A[2],I=A[3],Q=A[4],C=A[5],o=A[6],r=A[7],B=A[8],n=A[9],s=A[10],E=A[11],a=A[12],c=A[13],u=A[14],l=A[15],f=s*l,h=u*E,w=o*l,D=u*r,y=o*E,d=s*r,p=i*l,S=u*I,F=i*E,U=s*I,k=i*r,m=o*I,N=B*c,b=a*n,M=Q*c,K=a*C,G=Q*n,v=B*C,J=t*c,L=a*g,x=t*n,R=B*g,q=t*C,Y=Q*g,H=f*C+D*n+y*c-(h*C+w*n+d*c),O=h*g+p*n+U*c-(f*g+S*n+F*c),P=w*g+S*C+k*c-(D*g+p*C+m*c),T=d*g+F*C+m*n-(y*g+U*C+k*n),z=1/(t*H+Q*O+B*P+a*T);return e[0]=z*H,e[1]=z*O,e[2]=z*P,e[3]=z*T,e[4]=z*(h*Q+w*B+d*a-(f*Q+D*B+y*a)),e[5]=z*(f*t+S*B+F*a-(h*t+p*B+U*a)),e[6]=z*(D*t+p*Q+m*a-(w*t+S*Q+k*a)),e[7]=z*(y*t+U*Q+k*B-(d*t+F*Q+m*B)),e[8]=z*(N*r+K*E+G*l-(b*r+M*E+v*l)),e[9]=z*(b*I+J*E+R*l-(N*I+L*E+x*l)),e[10]=z*(M*I+L*r+q*l-(K*I+J*r+Y*l)),e[11]=z*(v*I+x*r+Y*E-(G*I+R*r+q*E)),e[12]=z*(M*s+v*u+b*o-(G*u+N*o+K*s)),e[13]=z*(x*u+N*i+L*s-(J*s+R*u+b*i)),e[14]=z*(J*o+Y*u+K*i-(q*u+M*i+L*o)),e[15]=z*(q*s+G*i+R*o-(x*o+Y*s+v*i)),e},transpose:(A,e=new Float32Array(16))=>(e[0]=A[0],e[1]=A[4],e[2]=A[8],e[3]=A[12],e[4]=A[1],e[5]=A[5],e[6]=A[9],e[7]=A[13],e[8]=A[2],e[9]=A[6],e[10]=A[10],e[11]=A[14],e[12]=A[3],e[13]=A[7],e[14]=A[11],e[15]=A[15],e),aim(A,e,t,i=new Float32Array(16)){const I=g.normalize(g.subtract(e,A)),Q=g.normalize(g.cross(t,I)),C=g.normalize(g.cross(I,Q));return i[0]=Q[0],i[1]=Q[1],i[2]=Q[2],i[3]=0,i[4]=C[0],i[5]=C[1],i[6]=C[2],i[7]=0,i[8]=I[0],i[9]=I[1],i[10]=I[2],i[11]=0,i[12]=A[0],i[13]=A[1],i[14]=A[2],i[15]=1,i},lookAt:(A,e,t,g)=>i.inverse(i.cameraAim(A,e,t,g),g),translation:([A,e,t],g=new Float32Array(16))=>(g[0]=1,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=1,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=1,g[11]=0,g[12]=A,g[13]=e,g[14]=t,g[15]=1,g),rotationX(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=0,e[5]=t,e[6]=g,e[7]=0,e[8]=0,e[9]=-g,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationY(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=0,e[2]=-g,e[3]=0,e[4]=0,e[5]=1,e[6]=0,e[7]=0,e[8]=g,e[9]=0,e[10]=t,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},rotationZ(A,e=new Float32Array(16)){const t=Math.cos(A),g=Math.sin(A);return e[0]=t,e[1]=g,e[2]=0,e[3]=0,e[4]=-g,e[5]=t,e[6]=0,e[7]=0,e[8]=0,e[9]=0,e[10]=1,e[11]=0,e[12]=0,e[13]=0,e[14]=0,e[15]=1,e},scaling:([A,e,t],g=new Float32Array(16))=>(g[0]=A,g[1]=0,g[2]=0,g[3]=0,g[4]=0,g[5]=e,g[6]=0,g[7]=0,g[8]=0,g[9]=0,g[10]=t,g[11]=0,g[12]=0,g[13]=0,g[14]=0,g[15]=1,g),translate:(A,e,t)=>i.multiply(A,i.translation(e),t),rotateX:(A,e,t)=>i.multiply(A,i.rotationX(e),t),rotateY:(A,e,t)=>i.multiply(A,i.rotationY(e),t),rotateZ:(A,e,t)=>i.multiply(A,i.rotationZ(e),t),scale:(A,e,t)=>i.multiply(A,i.scaling(e),t)},I=i},3979:(A,e,t)=>{t.a(A,(async(A,g)=>{try{t.d(e,{A4:()=>be,Dk:()=>Fe,Gp:()=>Ne,MW:()=>pe,Nl:()=>Ke,Nu:()=>he,OI:()=>Se,VD:()=>de,Vh:()=>le,Yj:()=>ye,_R:()=>Ue,c2:()=>me,dU:()=>Ge,im:()=>Me,kO:()=>fe,vH:()=>De,wU:()=>ke});var i=t(4773);t(1285),t(9592),t(4828),t(6973),t(2427),t(1669),t(6929),t(4936),t(8738),t(1432),t(1454),t(6402),t(9098),t(9494),t(337),t(7431),t(7591),t(6717),t(2164),t(6135),t(3793),t(8305),t(3456),t(8539),t(7679),t(2244),t(3509),t(9433),t(7382),t(1425),t(8773),t(3086),t(8771),t(8991),t(8502),t(9025),t(5558),t(4358),t(2436),t(7409),t(9268),t(5239);const A={constructor:null,type:0,flags:0,signature:void 0,name:void 0,byteSize:0,align:0,instance:{members:[],template:null},static:{members:[],template:null}},I={type:0,flags:0},Q={},C={},o={},r={},B={},n={},s={},E={},a={},c={},u={},l={},f={},h={},w={},D={},y={},d={},p={},S={},F={},U={},k={},m={},N={},b={},M={},K={},G={},v={},J={},L={},x={},R={},q={},Y={},H={},O={},P={},T={},z={},V={},j={},W={},Z={},X={},_={},$={},AA={},eA={},tA={},gA={},iA={},IA={},QA={},CA={},oA={},rA={},BA={},nA={},sA={},EA={},aA={},cA={},uA={},lA={},fA={},hA={},wA={},DA={},yA={},dA={},pA={},SA={},FA={},UA={},kA={},mA={},NA={},bA={},MA={},KA={},GA={},vA={},JA={},LA={},xA={},RA={},qA={},YA={},HA={},OA={},PA={},TA={},zA={},VA={},jA={},WA={},ZA={},XA={},_A={},$A={},Ae={},ee={},te=A=>new Uint8Array(A),ge=te(0),ie=te(20),Ie=te(8),Qe=te(16),Ce=te(72),oe=te([232,3,0,0]),re=Object.assign;re(eA,{memory:{array:ge},handle:31}),re(tA,{memory:{array:ge},handle:32}),re(gA,{memory:{array:ge},handle:20}),re(iA,{memory:{array:ge},handle:30}),re(IA,{memory:{array:ie},handle:263272,slots:{0:QA,1:oA,2:BA,3:nA,4:sA}}),re(QA,{structure:E,memory:{array:ie,offset:0,length:4},slots:{0:CA}}),re(CA,{structure:s,memory:{array:ge}}),re(oA,{structure:u,memory:{array:ie,offset:4,length:4},slots:{0:rA}}),re(rA,{structure:c,memory:{array:ge}}),re(BA,{structure:E,memory:{array:ie,offset:8,length:4},slots:{0:CA}}),re(nA,{structure:E,memory:{array:ie,offset:12,length:4},slots:{0:CA}}),re(sA,{structure:u,memory:{array:ie,offset:16,length:4},slots:{0:rA}}),re(EA,{memory:{array:ge},handle:19}),re(aA,{memory:{array:ge},handle:102}),re(cA,{memory:{array:Ie}}),re(uA,{slots:{0:lA}}),re(lA,{structure:y,memory:{array:ge},handle:81}),re(fA,{memory:{array:ge},handle:84}),re(hA,{memory:{array:ge},handle:85}),re(wA,{memory:{array:Qe}}),re(DA,{slots:{0:yA,1:dA,2:pA}}),re(yA,{structure:S,memory:{array:ge},handle:81}),re(dA,{structure:U,memory:{array:ge},handle:82}),re(pA,{structure:U,memory:{array:ge},handle:83}),re(SA,{memory:{array:Ce}}),re(FA,{memory:{array:ge},handle:20}),re(UA,{memory:{array:ge},handle:21}),re(kA,{memory:{array:ge},handle:22}),re(mA,{memory:{array:ge},handle:27}),re(NA,{memory:{array:ge},handle:28}),re(bA,{memory:{array:ge},handle:22}),re(MA,{memory:{array:ge},handle:23}),re(KA,{memory:{array:ge},handle:24}),re(GA,{memory:{array:ge},handle:25}),re(vA,{memory:{array:ge},handle:26}),re(JA,{memory:{array:ge},handle:29}),re(LA,{slots:{0:xA,1:RA,2:qA,3:YA,4:HA,5:OA,6:PA,7:TA,8:zA,9:VA,10:jA,11:WA,12:ZA,13:XA,14:_A,15:$A,16:Ae,17:ee}}),re(xA,{structure:w,memory:{array:ge},handle:2}),re(RA,{structure:L,memory:{array:ge},handle:3}),re(qA,{structure:H,memory:{array:ge},handle:4}),re(YA,{structure:B,memory:{array:oe},const:!0}),re(HA,{structure:P,memory:{array:ge},handle:5}),re(OA,{structure:z,memory:{array:ge},handle:6}),re(PA,{structure:j,memory:{array:ge},handle:7}),re(TA,{structure:Z,memory:{array:ge},handle:8}),re(zA,{structure:R,memory:{array:ge},handle:9}),re(VA,{structure:P,memory:{array:ge},handle:10}),re(jA,{structure:Z,memory:{array:ge},handle:11}),re(WA,{structure:P,memory:{array:ge},handle:12}),re(ZA,{structure:Z,memory:{array:ge},handle:13}),re(XA,{structure:Z,memory:{array:ge},handle:14}),re(_A,{structure:Z,memory:{array:ge},handle:15}),re($A,{structure:$,memory:{array:ge},handle:16}),re(Ae,{structure:Z,memory:{array:ge},handle:17}),re(ee,{structure:c,memory:{array:ge},handle:18}),re(Q,{...A,flags:1,signature:0xa310b7d01f11b8can,name:"void",align:1,instance:{members:[{...I,bitOffset:0,bitSize:0,byteSize:0,structure:Q}]}}),re(C,{...A,flags:1,signature:0x61e77abe97c52d51n,name:"f32",byteSize:4,align:4,instance:{members:[{...I,type:4,bitOffset:0,bitSize:32,byteSize:4,structure:C}]}}),re(o,{...A,type:9,flags:64,signature:0x9212e6749825a514n,name:"[_]f32",byteSize:4,align:4,instance:{members:[{...I,type:4,bitSize:32,byteSize:4,structure:C}]}}),re(r,{...A,type:8,flags:188,signature:0xfc4e3831fa228a2en,name:"[]const f32",byteSize:8,align:4,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,slot:0,structure:o}]}}),re(B,{...A,flags:1,signature:0x68598db431a811a3n,name:"u32",byteSize:4,align:4,instance:{members:[{...I,type:3,bitOffset:0,bitSize:32,byteSize:4,structure:B}]}}),re(n,{...A,type:12,flags:14,signature:0x09675e7a1ffd5485n,name:"Arg(fn ([]const f32, u32) void)",length:2,byteSize:12,align:4,instance:{members:[{...I,flags:1,bitOffset:96,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:r},{...I,type:3,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"1",structure:B}]}}),re(s,{...A,type:14,signature:0xe1a5d27f9960e020n,name:"fn ([]const f32, u32) void",length:2,instance:{members:[{...I,type:5,bitSize:96,byteSize:12,structure:n}],template:eA},static:{members:[],template:tA}}),re(E,{...A,type:8,flags:204,signature:0x4d3813c518971895n,name:"*const fn ([]const f32, u32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:s}]}}),re(a,{...A,type:12,flags:14,signature:0x0292a02ab8f8020cn,name:"Arg(fn ([]const f32) void)",length:1,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:r}]}}),re(c,{...A,type:14,signature:0x47389ea7e1d3d337n,name:"fn ([]const f32) void",length:1,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:a}],template:gA},static:{members:[],template:iA}}),re(u,{...A,type:8,flags:204,signature:0x4224bff88f0203f5n,name:"*const fn ([]const f32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:c}]}}),re(l,{...A,type:2,flags:14,signature:0xe3bd70be86a1c0e7n,name:"WebGpuPrograms",byteSize:20,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"draw_texture",structure:E},{...I,type:5,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"draw_triangle",structure:u},{...I,type:5,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"draw_msdf",structure:E},{...I,type:5,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"pick_texture",structure:E},{...I,type:5,flags:1,bitOffset:128,bitSize:32,byteSize:4,slot:4,name:"pick_triangle",structure:u}],template:IA}}),re(f,{...A,type:8,flags:204,signature:0x55f6507b4f6d4f28n,name:"*const WebGpuPrograms",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:l}]}}),re(h,{...A,type:12,flags:14,signature:0xeb0499d78c5f06c3n,name:"Arg(fn (*const WebGpuPrograms) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:f}]}}),re(w,{...A,type:14,signature:0xe04ead767a55cf67n,name:"fn (*const WebGpuPrograms) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:h}],template:EA}}),re(D,{...A,type:12,flags:10,signature:0x6d671df4e9418a6dn,name:"Arg(fn (Point, Point) Point)",length:2,byteSize:24,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:d},{...I,type:5,flags:1,bitOffset:64,bitSize:64,byteSize:8,slot:1,name:"0",structure:d},{...I,type:5,flags:1,bitOffset:128,bitSize:64,byteSize:8,slot:2,name:"1",structure:d}]}}),re(y,{...A,type:14,signature:0xd634f75c7a6c5553n,name:"fn (Point, Point) Point",length:2,instance:{members:[{...I,type:5,bitSize:192,byteSize:24,structure:D}],template:aA}}),re(d,{...A,type:2,signature:0x3c18d236acd7668dn,name:"Point",byteSize:8,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:C},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:C}],template:cA},static:{members:[{...I,type:5,flags:18,slot:0,name:"mid",structure:y}],template:uA}}),re(p,{...A,type:12,flags:10,signature:0xd1d7035b6147a5d4n,name:"Arg(fn (PointUV, PointUV) Point)",length:2,byteSize:40,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:0,name:"retval",structure:d},{...I,type:5,flags:1,bitOffset:64,bitSize:128,byteSize:16,slot:1,name:"0",structure:k},{...I,type:5,flags:1,bitOffset:192,bitSize:128,byteSize:16,slot:2,name:"1",structure:k}]}}),re(S,{...A,type:14,signature:0xbb0f8218864060e9n,name:"fn (PointUV, PointUV) Point",length:2,instance:{members:[{...I,type:5,bitSize:320,byteSize:40,structure:p}],template:fA}}),re(F,{...A,type:12,flags:10,signature:0x0fa3968ee7482ac2n,name:"Arg(fn (PointUV, PointUV) f32)",length:2,byteSize:36,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"retval",structure:C},{...I,type:5,flags:1,bitOffset:32,bitSize:128,byteSize:16,slot:1,name:"0",structure:k},{...I,type:5,flags:1,bitOffset:160,bitSize:128,byteSize:16,slot:2,name:"1",structure:k}]}}),re(U,{...A,type:14,signature:0x3170ee9a1e36ef3an,name:"fn (PointUV, PointUV) f32",length:2,instance:{members:[{...I,type:5,bitSize:288,byteSize:36,structure:F}],template:hA}}),re(k,{...A,type:2,signature:0x9d77c3c6a1a73d02n,name:"PointUV",byteSize:16,align:4,instance:{members:[{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:0,name:"x",structure:C},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:1,name:"y",structure:C},{...I,type:4,flags:1,bitOffset:64,bitSize:32,byteSize:4,slot:2,name:"u",structure:C},{...I,type:4,flags:1,bitOffset:96,bitSize:32,byteSize:4,slot:3,name:"v",structure:C}],template:wA},static:{members:[{...I,type:5,flags:18,slot:0,name:"mid",structure:S},{...I,type:5,flags:18,slot:1,name:"angle_to",structure:U},{...I,type:5,flags:18,slot:2,name:"distance",structure:U}],template:DA}}),re(m,{...A,type:1,flags:10,signature:0x4aba6e79b2a51d1dn,name:"[4]PointUV",length:4,byteSize:64,align:4,instance:{members:[{...I,type:5,bitSize:128,byteSize:16,structure:k}]}}),re(N,{...A,type:2,flags:10,signature:0x4ae79eaef47ad8ddn,name:"SerializedAsset",byteSize:72,align:4,instance:{members:[{...I,type:5,flags:1,bitOffset:0,bitSize:512,byteSize:64,slot:0,name:"points",structure:m},{...I,type:3,flags:1,bitOffset:512,bitSize:32,byteSize:4,slot:1,name:"texture_id",structure:B},{...I,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:2,name:"id",structure:B}],template:SA}}),re(b,{...A,type:9,flags:10,signature:0xe0d907eca6c48c2bn,name:"[_]SerializedAsset",byteSize:72,align:4,instance:{members:[{...I,type:5,bitSize:576,byteSize:72,structure:N}]}}),re(M,{...A,type:8,flags:188,signature:0x6e413be38a1c13can,name:"[]const SerializedAsset",byteSize:8,align:4,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,slot:0,structure:b}]}}),re(K,{...A,type:12,flags:14,signature:0x553f6f88d529422an,name:"Arg(fn ([]const SerializedAsset) void)",length:1,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:M}]}}),re(G,{...A,type:14,signature:0x3bd0f1fed1ded14an,name:"fn ([]const SerializedAsset) void",length:1,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:K}],template:FA},static:{members:[],template:UA}}),re(v,{...A,type:8,flags:204,signature:0x384247752a6c2fa8n,name:"*const fn ([]const SerializedAsset) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:G}]}}),re(J,{...A,type:12,flags:14,signature:0xee84c3d23e38b13bn,name:"Arg(fn (*const fn ([]const SerializedAsset) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:v}]}}),re(L,{...A,type:14,signature:0x31ed60e02d201a60n,name:"fn (*const fn ([]const SerializedAsset) void) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:J}],template:kA}}),re(x,{...A,type:12,signature:0x6364608841bf263en,name:"Arg(fn (u32) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:B}]}}),re(R,{...A,type:14,signature:0x956e45a1c96ff5e6n,name:"fn (u32) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:x}],template:mA},static:{members:[],template:NA}}),re(q,{...A,type:8,flags:204,signature:0x139c4e15eb0a34d6n,name:"*const fn (u32) void",byteSize:4,align:4,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,slot:0,structure:R}]}}),re(Y,{...A,type:12,flags:14,signature:0xfaa14a525ee0f8d4n,name:"Arg(fn (*const fn (u32) void) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:q}]}}),re(H,{...A,type:14,signature:0x651c6f0337fe6099n,name:"fn (*const fn (u32) void) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:Y}],template:bA}}),re(O,{...A,type:12,signature:0xb1afac27f34003f4n,name:"Arg(fn (f32, f32) void)",length:2,byteSize:8,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C},{...I,type:4,flags:1,bitOffset:32,bitSize:32,byteSize:4,slot:2,name:"1",structure:C}]}}),re(P,{...A,type:14,signature:0x63bac1760494db20n,name:"fn (f32, f32) void",length:2,instance:{members:[{...I,type:5,bitSize:64,byteSize:8,structure:O}],template:MA}}),re(T,{...A,type:12,signature:0xc165ab159aacc338n,name:"Arg(fn (f32) void)",length:1,byteSize:4,align:4,instance:{members:[{...I,flags:1,bitOffset:32,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:4,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:C}]}}),re(z,{...A,type:14,signature:0x74e7ceb2f1b8e198n,name:"fn (f32) void",length:1,instance:{members:[{...I,type:5,bitSize:32,byteSize:4,structure:T}],template:KA}}),re(V,{...A,type:12,flags:10,signature:0x9d8f5b87c05655fbn,name:"Arg(fn (u32, [4]PointUV, u32) void)",length:3,byteSize:72,align:4,instance:{members:[{...I,flags:1,bitOffset:576,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:3,flags:1,bitOffset:0,bitSize:32,byteSize:4,slot:1,name:"0",structure:B},{...I,type:5,flags:1,bitOffset:32,bitSize:512,byteSize:64,slot:2,name:"1",structure:m},{...I,type:3,flags:1,bitOffset:544,bitSize:32,byteSize:4,slot:3,name:"2",structure:B}]}}),re(j,{...A,type:14,signature:0x92d326bf03506c95n,name:"fn (u32, [4]PointUV, u32) void",length:3,instance:{members:[{...I,type:5,bitSize:576,byteSize:72,structure:V}],template:GA}}),re(W,{...A,type:12,signature:0xfa22378c989ae19dn,name:"Arg(fn () void)",length:0,align:1,instance:{members:[{...I,flags:1,bitOffset:0,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q}]}}),re(Z,{...A,type:14,signature:0xe3c3b022a28cd076n,name:"fn () void",length:0,instance:{members:[{...I,type:5,bitSize:0,byteSize:0,structure:W}],template:vA}}),re(X,{...A,flags:1,signature:0x6eddab4b13ff06c5n,name:"bool",byteSize:1,align:1,instance:{members:[{...I,type:1,bitOffset:0,bitSize:1,byteSize:1,structure:X}]}}),re(_,{...A,type:12,flags:14,signature:0x85fe3287727e2e0en,name:"Arg(fn ([]const SerializedAsset, bool) void)",length:2,byteSize:12,align:4,instance:{members:[{...I,flags:1,bitOffset:64,bitSize:0,byteSize:0,slot:0,name:"retval",structure:Q},{...I,type:5,flags:1,bitOffset:0,bitSize:64,byteSize:8,slot:1,name:"0",structure:M},{...I,type:1,flags:1,bitOffset:64,bitSize:1,byteSize:1,slot:2,name:"1",structure:X}]}}),re($,{...A,type:14,signature:0x0f521e207596cb59n,name:"fn ([]const SerializedAsset, bool) void",length:2,instance:{members:[{...I,type:5,bitSize:96,byteSize:12,structure:_}],template:JA}}),re(AA,{...A,type:2,flags:4096,signature:0x239ab4f327f6ac1bn,name:"index",align:1,static:{members:[{...I,type:5,flags:2,slot:0,name:"connect_web_gpu_programs",structure:w},{...I,type:5,flags:2,slot:1,name:"connect_on_asset_update_callback",structure:L},{...I,type:5,flags:2,slot:2,name:"connect_on_asset_selection_callback",structure:H},{...I,type:5,flags:2,slot:3,name:"ASSET_ID_TRESHOLD",structure:B},{...I,type:5,flags:2,slot:4,name:"init_state",structure:P},{...I,type:5,flags:2,slot:5,name:"update_render_scale",structure:z},{...I,type:5,flags:2,slot:6,name:"add_asset",structure:j},{...I,type:5,flags:2,slot:7,name:"remove_asset",structure:Z},{...I,type:5,flags:2,slot:8,name:"on_update_pick",structure:R},{...I,type:5,flags:2,slot:9,name:"on_pointer_down",structure:P},{...I,type:5,flags:2,slot:10,name:"on_pointer_up",structure:Z},{...I,type:5,flags:2,slot:11,name:"on_pointer_move",structure:P},{...I,type:5,flags:2,slot:12,name:"on_pointer_leave",structure:Z},{...I,type:5,flags:2,slot:13,name:"canvas_render",structure:Z},{...I,type:5,flags:2,slot:14,name:"picks_render",structure:Z},{...I,type:5,flags:2,slot:15,name:"reset_assets",structure:$},{...I,type:5,flags:2,slot:16,name:"destroy_state",structure:Z},{...I,type:5,flags:2,slot:17,name:"import_icons",structure:c}],template:LA}});const Be=[Q,C,o,r,B,n,s,E,a,c,u,l,f,h,w,D,y,d,p,S,F,U,k,m,N,b,M,K,G,v,J,L,x,R,q,Y,H,O,P,T,z,V,j,W,Z,X,_,$,AA],ne=AA,se={runtimeSafety:!1,littleEndian:!0,libc:!1},Ee=(0,i.M)();Ee.recreateStructures(Be,se);const ae=(async()=>{const A=atob("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QcCFECECDAELIAEgAjYCiAUgAUEAOwGMBSABQYgFaiECCyACLwEEIgINAiAEEAYLIAEgBDYCfCABQgA3AnQgAUKEgICAEDcCbCABQqCAgIAQNwJkIAFCADcCXCABQgU3AlQgAUIANwJMIAMgAUHMAGpBABAZIgJB//8DcQ0BAkBBFkEAQQAQDyICDQAgAEEMOwEEDAULIAIQBCICDQILQRUhAgsgACACOwEEDAILIAMgAkEAEAUCQAJAIAMQAiICDQBBwIUQIQIMAQsgASACNgKIBSABQQA7AYwFIAFBiAVqIQILAkAgAi8BBCICRQ0AIAAgAjsBBAwCCyADEAYgASADNgJAIAFBADsBRCABQcAAaiECCyAAIAIpAwA3AgALIAFBwAVqJAALCwBBACAANgKUohAL3wgBBX8jAEGgA2siASQAAkACQAJAQQBByQAQACICRQ0AIAEgAjYCACABQQA7AQQgASECDAELIAFCDjcDGCABQgA3AxAgAUGAgAQ2AjAgAUKAgICAEDcDKCABQoGAgIAQNwMgIAFCmcH5v7Pgm47lADcDCCABQThqIAFBCGoQFwJAIAEvATwiAkUNACAAIAI7AQQMAgtBAEHJACABKAI4IgMQAQJAAkACQEEAQc0AEAAiBA0AIAFCjICAgOABNwOQASABQgA3A4gBIAFBhIAENgKoASABQoSAgIAQNwOgASABQoGAgIAQNwOYASABQtTxg/elytLQejcDgAEgAUGwAWogAUGAAWoQFyABLwG0ASICDQFBAEHNACABKAKwASIEEAEgAUG4AWoQQSABLwG8ASICDQEgASABKAK4ATYC8AEgAUKAgICAEDcC6AEgAUKAgICAEDcC4AEgAUKAgICAEDcC2AEgAUKggICAEDcC0AEgAUEBNgLMASABQgY3AsQBIAFBgYIQNgLAASAEIAFBwAFqQQAQGSICQf//A3ENAQJAQQBBygAQACIFDQAgAUKIgICAwBk3A7gCIAFCADcDsAIgAUGEgAQ2AtACIAFChICAgBA3A8gCIAFCADcDwAIgAULW6ajY3sKTzhM3A6gCIAFB2AJqIAFBqAJqEBcgAS8B3AIiAg0CQQBBygAgASgC2AIiBRABIAFB4AJqECggAS8B5AIiAg0CIAEgASgC4AI2ApgDIAFCgICAgBA3ApADIAFChICAgBA3AogDIAFC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QoGAgIAwNwL8AiABQbGFEDYC+AIgBCABQfgCakEAEBkiAkH//wNxDQECQAJAIAQQAiICDQBBwIUQIQIMAQsgASACNgL4AiABQQA7AfwCIAFB+AJqIQILIAIvAQQiAg0BIAQQBgsgASAENgJ8IAFCADcCdCABQsiAgIAQNwJsIAFCwISAgBA3AmQgAUIANwJcIAFCBTcCVCABQgA3AkwgAyABQcwAakEAEBkiAkH//wNxDQACQEEZQQBBABAPIgINACAAQQw7AQQMBAsgAhAEIgINAUEVIQILIAAgAjsBBAwCCyADIAJBABAFAkACQCADEAIiAg0AQcCFECECDAELIAEgAjYC+AIgAUEAOwH8AiABQfgCaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAxAGIAEgAzYCQCABQQA7AUQgAUHAAGohAgsgACACKQMANwIACyABQbADaiQAC/EJAwJ/AX4JfyMAQZABayIDJAACQCAADQBBAEEAKAL4oRAiAEEBajYC+KEQCyADQcgAakE4aiABQThqKQIANwMAIANByABqQTBqIAFBMGopAgA3AwAgA0HIAGpBKGogAUEoaikCADcDACADQcgAakEgaiABQSBqKQIANwMAIANByABqQRhqIAFBGGopAgA3AwAgA0HIAGpBEGogAUEQaikCADcDACADQcgAakEIaiABQQhqKQIANwMAIAMgASkCADcDSAJAAkACQAJAQQAoAtChEA0AQQEhAQJAQQAoAsihECIERQ0AIARBfGooAgCtQtAAfiIFIAVC5ACCfULkAHxC0ACApyEBC0IBQSAgAWdrrUL//wODhqcQOkH//wNxDQELIANBGGogAK1CgYCAgBB+IgVC29HQhZra34FnhUIAIAVCrJri06PS8PofhUIAELYBIANBCGogA0EYakEIaikDAELb0dCFmtrfgWeFQgAgAykDGEKryPXFx6yHu6B/hUIAELYBIANBCGpBCGopAwAgAykDCIUhBQJAAkBBACgCyKEQIgYNACAFpyEEQQAhB0F/IQgMAQsgBkF8aigCACIHQX9qIgggBadxIQQLIAVCOYinIQkCQAJAIAYgBGoiCi0AACIBRQ0AIAdFDQAgB0F/aiELIAZBeGohDCAGQXxqIQ0DQCALIQ4CQAJAAkAgAcBBf0oNACAJIAFB/wBxRw0AIAwoAgAg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AGohAgsgACACKQMANwIACyABQZABaiQAC80BAQJ/IwBB0ABrIgIkACACQQhqQQxqIAFBDGopAgA3AgAgAkEIakEUaiABQRRqKQIANwIAIAJBCGpBHGogAUEcaikCADcCACACQQhqQSRqIAFBJGopAgA3AgAgAkEIakEsaiABQSxqKQIANwIAIAJBCGpBNGogAUE0aikCADcCACACQQhqQTxqIAFBPGopAgA3AgAgAiABKAIAIgM2AgggAiABKQIENwIMIAIgASgCRCIBNgJMIAMgAkEMaiABIAARAQAgAkHQAGokAEEACwkAIAARCABBAAsOACABKAIAIAARAABBAAuMBgECfyMAQRBrIgQkAAJAAkACQCACDQACQEEAKAK0ohANAEG0ohAhAkEAIQUMAgsCQEEAKAK4ohANAEG4ohAhAkEBIQUMAgsCQEEAKAK8ohANAEG8ohAhAkECIQUMAgsCQEEAKALAohANAEHAohAhAkEDIQUMAgsCQEEAKALEohANAEHEohAhAkEEIQUMAgsCQEEAKALIohANAEHIohAhAkEFIQUMAgsCQEEAKALMohANAEHMohAhAkEGIQUMAgsCQEEAKALQohANAEHQohAhAkEHIQUMAgsCQEEAKALUohANAEHUohAhAkEIIQUMAgsCQEEAKALYohANAEHYohAhAkEJIQUMAgsCQEEAKALcohANAEHcohAhAkEKIQUMAgsCQEEAKALgohANAEHgohAhAkELIQUMAgsCQEEAKALkohANAEHkohAhAkEMIQUMAgsCQEEAKALoohANAEHoohAhAkENIQUMAgsCQEEAKALsohANAEHsohAhAkEOIQUMAgsCQEEAKALwohBFDQBB1IoQIQMMAwtB8KIQIQJBDyEFDAELQQAhAgJAIANBMUYNAAJAIANBMkcNAEEBIQIMAQsCQCADQTNHDQBBAiECDAELAkAgA0E0Rw0AQQMhAgwBCwJAIANBNUcNAEEEIQIMAQsCQCADQTZHDQBBBSECDAELAkAgA0E3Rw0AQQYhAgwBCwJAIANBOEcNAEEHIQIMAQsCQCADQTlHDQBBCCECDAELAkAgA0E6Rw0AQQkhAgwBCwJAIANBO0cNAEEKIQIMAQsCQCADQTxHDQBBCyECDAELAkAgA0E9Rw0AQQwhAgwBCwJAIANBPkcNAEENIQIMAQsCQCAD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wtWguu7R5dEPNwOAASABQbABaiABQYABahAXIAEvAbQBIgINAUEAQcEAIAEoArABIgQQASABQbgBahBJIAEvAbwBIgINASABIAEoArgBNgLwASABQoCAgIAQNwLoASABQoSAgIAQNwLgASABQqCAgIAQNwLYASABQoCAgIAQNwLQASABQQE2AswBIAFChoCAgMAANwLEASABQYGCEDYCwAEgBCABQcABakEAEBkiAkH//wNxDQEgAUH0AWoQdSABLwH4ASICDQEgASABKAL0ATYCrAIgAUKBgICAEDcCpAIgAUKQgICAEDcCnAIgAUKAgYCAEDcClAIgAUKggICAEDcCjAIgAUEBNgKIAiABQoGAgIDQADcCgAIgAUG1hRA2AvwBIAQgAUH8AWpBABAZIgJB//8DcQ0BIAFBsAJqEHUgAS8BtAIiAg0BIAEgASgCsAI2AugCIAFCgoCAgBA3AuACIAFCkICAgBA3AtgCIAFCgIGAgBA3AtACIAFCoIGAgBA3AsgCIAFBATYCxAIgAUKBgICA0AA3ArwCIAFBs4UQNgK4AiAEIAFBuAJqQQAQGSICQf//A3ENAQJAAkAgBBACIgINAEHAhRAhAgwBCyABIAI2ArgCIAFBADsBvAIgAUG4AmohAgsgAi8BBCICDQEgBBAGCyABIAQ2AnwgAUIANwJ0IAFCpICAgBA3AmwgAUKggoCAEDcCZCABQgA3AlwgAUIFNwJUIAFCADcCTCADIAFBzABqQQAQGSICQf//A3ENAAJAQdUAQQBBABAPIgINACAAQQw7AQQMBAsgAhAEIgINAUEVIQILIAAgAjsBBAwCCyADIAJBABAFAkACQCADEAIiAg0AQcCFECECDAELIAEgAjYCuAIgAUEAOwG8AiABQbgCaiECCwJAIAIvAQQiAkUNACAAIAI7AQQMAgsgAxAGIAEgAzYCQCABQQA7AUQgAUHAAGohAgsgACACKQMANwIACyABQfACaiQACwoAIAAgARCQAQALGAAgASgCACABKAIEIAEoAgggABEBAEEAC5sGAQJ/IwBBEGsiBCQAAkACQAJAIAINAAJAQQAoAvijEA0AQfijECECQQAhBQwCCwJAQQAoAvyjEA0AQfyjECECQQEhBQwCCwJAQQAoAoCkEA0AQYCkECECQQIhBQwCCwJAQQAoAoSkEA0AQYSkECEC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AwAgAiABKQIINwMIIAIgASkCGDcDGCACQShqIAJBCGogAkEIakEQaiAAEQEAIAEgAikDKDcCACACQTBqJABBAAtbAQF/IwBBIGsiAiQAIAJBCGogAUEMaikCADcDACACQRhqIAFBHGopAgA3AwAgAiABKQIENwMAIAIgASkCFDcDECABIAIgAkEQaiAAEQkAOAIAIAJBIGokAEEACwoAIAAgARCRAQALCQAgACABEBEACxIAIAAgASACQQAoAvijEBCjAQsSACAAIAEgAkEAKAL8oxAQowELEgAgACABIAJBACgCgKQQEKMBCxIAIAAgASACQQAoAoSkEBCjAQsSACAAIAEgAkEAKAKIpBAQowELEgAgACABIAJBACgCjKQQEKMBCxIAIAAgASACQQAoApCkEBCjAQsSACAAIAEgAkEAKAKUpBAQowELEgAgACABIAJBACgCmKQQEKMBCxIAIAAgASACQQAoApykEBCjAQsSACAAIAEgAkEAKAKgpBAQowELEgAgACABIAJBACgCpKQQEKMBCxIAIAAgASACQQAoAqikEBCjAQsSACAAIAEgAkEAKAKspBAQowELEgAgACABIAJBACgCsKQQEKMBCxIAIAAgASACQQAoArSkEBCjAQvaBwEEfyMAQfACayIBJAACQAJAAkBBAEE8EAAiAkUNACABIAI2AgAgAUEAOwEEIAEhAgwBCyABQg43AxggAUIANwMQIAFBgIAENgIwIAFCgICAgBA3AyggAUKCgICAEDcDICABQtOqsdPH672aVjcDCCABQThqIAFBCGoQFwJAIAEvATwiAkUNACAAIAI7AQQMAgtBAEE8IAEoAjgiAxABAkACQAJAQQBBPRAAIgQNACABQoyAgICgATcDkAEgAUIANwOIASABQYSABDYCqAEgAUKYgICAEDcDoAEgAUKCgICAEDcDmAEgAULtlIbKzr7Hs+0ANwOAASABQbABaiABQYABahAXIAEvAbQBIgINAUEAQT0gASgCsAEiBBABIAFBuAFqEI0BIAEvAbwBIgINASABIAEoArgBNgLwASABQoCAgIAQNwLoASABQoiAgIAQNwLgASABQsCAgIAQNwLYASABQoCAgIAQNwLQASABQQE2AswBIAFChoCAgNAANwLEASABQYGCEDYCwAEgBCABQcABakEAEBkiAkH//wNxDQEg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//8HcSEIIAVB8AFqQSBqIQJBACEHA0AgESACQWhqKwMAoCACQXBqKwMAoCACQXhqKwMAoCACKwMAoCERIAJBIGohAiAIIAdBBGoiB0cNAAsgB0EBaiECCyAGRQ0AIAVB8AFqIAJBA3RqIQIDQCARIAIrAwCgIREgAkEIaiECIAZBf2oiBg0ACwsgASARmiARIBMbOQMIDAELAkACQCANQQBODQBEAAAAAAAAAAAhEQwBCwJAAkAgDUEBakEDcSIHDQBEAAAAAAAAAAAhESANIQYMAQsgBUHwAWogDUEDdGohAkQAAAAAAAAAACERIA0hBgNAIAZBf2ohBiARIAIrAwCgIREgAkF4aiECIAdBf2oiBw0ACwsgDUEDSQ0AIAZBAWohByAGQQN0IAVB8AFqakFoaiECA0AgESACQRhqKwMAoCACQRBqKwMAoCACQQhqKwMAoCACKwMAoCERIAJBYGohAiAHQXxqIgcNAAsLIAEgEZogESATGzkDAAsgBUGwBGokACAfQQdxC+YIAwN+BX8CfAJAAkACQCAAvSIDQv///////////wCDQv/////////3/wBWDQAgAb0iBEL///////////8Ag0KAgICAgICA+P8AVA0BCyAAIAGiIAKgIQIMAQsgAr0iBUL///////////8Ag0L/////////9/8AVg0AAkACQCAARAAAAAAAAAAAYQ0AIAFEAAAAAAAAAABiDQELIAAgAaIgAqAPCwJAIAJEAAAAAAAAAABiDQAgACABog8LQQAhBgJAAkAgA0I0iKciB0H/D3EiCEH/D0cNAEEAIQcMAQsCQAJAIAgNACADQv////////8Hg1BFDQFBACEHDAILIANC/////////4eAf4NCgICAgICAgPA/hCEDIAdB/w9xQYJ4aiEHDAELIANCgICAgICAgICAf4NCACADIANCDIZ5pyIIQQFqrYZC/////////weDIAhBP3FBMksbhEKAgICAgICA8D+EIQNBgnggCGshBwsCQCAEQjSIpyIJQf8PcSIIQf8PRg0AAkAgCA0AIARC/////////weDUA0BIARCgICAgICAgICAf4NCACAEIARCDIZ5pyIGQQFqrYZC/////////weDIAZBP3FBMksbhEKAgICAgICA8D+EIQRBgnggBmshBgwBCyAEQv////////+HgH+DQoCAgICAgIDwP4QhBCAJQf8PcUGCeGohBgtBACEIAkAgBUI0iKciCkH/D3EiCUH/D0YNAAJAIAkNACAFQv////////8Hg1ANASAFQoCAgICAgICAgH+DQgAgBSAFQgyGeaciCEEBaq2GQv////////8HgyAIQT9xQTJLG4RCgICAgICAgPA/hCEFQYJ4IAhrIQgMAQsgBUL/////////h4B/g0KAgICAgICA8D+EIQUgCkH/D3FBgnhqIQgLIAO/IQIgBL8hAAJAAkAgBiAHaiIGIAhrIghB6wBODQAgBb9BACAIaxC3ASELDAELIAVCgICAgICAgICAf4NCgICAgICAgAiEvyELCyACIAJEAAAAAgAAoEGiIgEgAiABoaAiAaEiDCAAIABEAAAAAgAAoEGiIgIgACACoaAiAqEiAKIgDCACoiABIACioCIAIAEgAqIiAiACIACgIgChoKAhAQJAIAAgC6AiAkQAAAAAAAAAAGINACACIAEgBhC3AaAPCwJAIAEgASALIAIgAKEiDKEgACACIAyhoaAiC6AiACALoSIMoSALIAAgDKGhoCIBRAAAAAAAAAAAYQ0AIAC9IgOnQQFxDQAgA0IBhCABvSADhUI+iH2/IQALAkACQAJAIAK9Qv///////////wCDIgNCNIinIghB/w9GDQAgCA0BAkAgA1BFDQBBgICAgHghCAwDC0GNeCADeadrIQgMAgtBgICAgHhB/////wcgA0KAgICAgICA+P8AVhshCAwBCyAIQYF4aiEICwJAIAggBmpBgnhIDQAgAiAAoCAGELcBDwsgAiAAIAYQvAEPCyACC2cCAnwBfgJAIAEgACABoCIDIAChIgShIAAgAyAEoaGgIgBEAAAAAAAAAABhDQAgA70iBUIBg1AgBUI0iKdB/w9xQQAgAmtHRg0AIAUgAL0gBYVCPohCAoN9QgF8vyEDCyADIAIQtwELJwACQCAAIABcDQACQCABIAFbDQAgAA8LIAAgASAAIAFdGyEBCyABC5UJAgN/A3wjAEEQayIBJAACQAJAIAC8IgJB/////wdxIgNB2p+k+gNLDQAgA0GAgIDMA0kNASAAuyIEIASiIgUgBKIiBiAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAYgBUSy+26JEBGBP6JEd6zLVFVVxb+goiAEoKC2IQAMAQsCQAJAAkACQCADQdKn7YMESQ0AIANB1uOIhwRPDQMgALshBSADQeDbv4UETw0BIAJBf0oNAiAFRNIhM3982RJAoCIFIAWiIgVEgV4M/f//37+iRAAAAAAAAPA/oCAFIAWiIgREQjoF4VNVpT+ioCAFIASiIAVEaVDu4EKT+T6iRCceD+iHwFa/oKKgtiEADAQLIAC7IQUCQCADQeSX24AESQ0ARBgtRFT7IQnARBgtRFT7IQlAIAJBf0obIAWgIgQgBKIiBSAEmqIiBiAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAYgBUSy+26JEBGBP6JEd6zLVFVVxb+goiAEoaC2IQAMBAsCQCACQX9KDQAgBUQYLURU+yH5P6AiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMBAsgBUQYLURU+yH5v6AiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwDC0QYLURU+yEZwEQYLURU+yEZQCACQX9KGyAFoCIEIAQgBKIiBaIiBiAFIAWioiAFRKdGO4yHzcY+okR058ri+QAqv6CiIAQgBiAFRLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMAgsgBUTSITN/fNkSwKAiBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLaMIQAMAQsCQCADQf////sHSw0AIAAgAUEIahC5ASEDIAErAwghBQJAAkACQAJAIANBA3EOBAABAgMACyAFIAUgBaIiBKIiBiAEIASioiAERKdGO4yHzcY+okR058ri+QAqv6CiIAUgBiAERLL7bokQEYE/okR3rMtUVVXFv6CioKC2IQAMBAsgBSAFoiIFRIFeDP3//9+/okQAAAAAAADwP6AgBSAFoiIEREI6BeFTVaU/oqAgBSAEoiAFRGlQ7uBCk/k+okQnHg/oh8BWv6CioLYhAAwDCyAFIAWiIgQgBZqiIgYgBCAEoqIgBESnRjuMh83GPqJEdOfK4vkAKr+goiAGIAREsvtuiRARgT+iRHesy1RVVcW/oKIgBaGgtiEADAILIAUgBaIiBUSBXgz9///fv6JEAAAAAAAA8D+gIAUgBaIiBERCOgXhU1WlP6KgIAUgBKIgBURpUO7gQpP5PqJEJx4P6IfAVr+goqC2jCEADAELIAAgAJMhAAsgAUEQaiQAIAALC6AiAgBBgIAQC8AhZwAAAGgAAABpAAAAagAAAHkAaW5kZXgAdgB1AHNsb3QAdHlwZXMuUG9pbnQAcmVtb3ZlX2Fzc2V0AGFkZF9hc3NldABhc3NldC5TZXJpYWxpemVkQXNzZXQAYml0T2Zmc2V0AHBvaW50cwByZXNldF9hc3NldHMAaW1wb3J0X2ljb25zAGNvbm5lY3Rfd2ViX2dwdV9wcm9ncmFtcwBpbmRleC5XZWJHcHVQcm9ncmFtcwBmbGFncwBwaWNrc19yZW5kZXIAY2FudmFzX3JlbmRlcgBvbl9wb2ludGVyX3VwAGFuZ2xlX3RvAG9uX3BvaW50ZXJfZG93bgBhbGlnbgByZXR2YWwAb25fdXBkYXRlX3BpY2sAY29ubmVjdF9vbl9hc3NldF9zZWxlY3Rpb25fY2FsbGJhY2sAY29ubmVjdF9vbl9hc3NldF91cGRhdGVfY2FsbGJhY2sAbGVuZ3RoAGRyYXdfbXNkZgBiaXRTaXplAGJ5dGVTaXplAG9uX3BvaW50ZXJfbW92ZQBvbl9wb2ludGVyX2xlYXZlAGRlc3Ryb3lfc3RhdGUAaW5pdF9zdGF0ZQBkcmF3X3RleHR1cmUAcGlja190ZXh0dXJlAHN0cnVjdHVyZQBzaWduYXR1cmUAdHlwZQBuYW1lAGRyYXdfdHJpYW5nbGUAcGlja190cmlhbmdsZQB1cGRhdGVfcmVuZGVyX3NjYWxlAGRpc3RhbmNlAG1pZAB0ZXh0dXJlX2lkAEphdmFTY3JpcHQgZnVuY3Rpb24gZmFpbGVkAE11bHRpdGhyZWFkaW5nIG5vdCBlbmFibGVkAFByb21pc2UgZW5jb3VudGVyZWQgaW4gbWFpbiB0aHJlYWQAdHlwZXMuUG9pbnRVVgBBU1NFVF9JRF9UUkVTSE9MRAAyADEAMAAAAAAAABEAAAAAAAAAGAAAAOgDAAAAAAA/AAAAPwAAAD8AAIA/zczMPc3MzD3NzMw9zcxM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"),e=new Uint8Array(A.length);for(let t=0;t<A.length;t++)e[t]=A.charCodeAt(t);return await new Promise((A=>setTimeout(A,0))),e.buffer})();Ee.loadModule(ae,{memoryInitial:5,tableInitial:111,multithreaded:!1}),Ee.linkVariables(!1);const{constructor:ce}=ne,ue=Ee.getSpecialExports(),{connect_web_gpu_programs:le,connect_on_asset_update_callback:fe,connect_on_asset_selection_callback:he,ASSET_ID_TRESHOLD:we,init_state:De,update_render_scale:ye,add_asset:de,remove_asset:pe,on_update_pick:Se,on_pointer_down:Fe,on_pointer_up:Ue,on_pointer_move:ke,on_pointer_leave:me,canvas_render:Ne,picks_render:be,reset_assets:Me,destroy_state:Ke,import_icons:Ge}=ce;await ue.init(),g()}catch(A){g(A)}}),1)},6561:(A,e,t)=>{A.exports=t.p+"e9072ac5eb734c67.png"},1285:(A,e,t)=>{var g=t(1388),i=t(6560),I=(t(4540),t(8e3));(0,i.co)({init(){this.accessorCache=new Map},getAccessor(A,e){const{type:t,bitSize:i,bitOffset:Q,byteSize:C}=e,o=[],r=void 0===C&&(7&i||7&Q);r&&o.push("Unaligned");let B=g.hQ[t];i>32&&(t===g.Z9.Int||t===g.Z9.Uint)&&(B=i<=64?`Big${B}`:`Jumbo${B}`),o.push(B,`${t===g.Z9.Bool&&C?8*C:i}`),r&&o.push(`@${Q}`);const n=A+o.join("");let s=DataView.prototype[n];if(s)return s;if(s=this.accessorCache.get(n),s)return s;for(;o.length>0;){const t=`getAccessor${o.join("")}`;if(s=this[t]?.(A,e))break;o.pop()}if(!s)throw new Error(`No accessor available: ${n}`);return(0,I.n8)(s,"name",(0,I.vQ)(n)),this.accessorCache.set(n,s),s}})},9592:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorBool(A,e){const{byteSize:t}=e,i=8*t,I=this.getAccessor(A,{type:g.Z9.Uint,bitSize:i,byteSize:t});if("get"===A)return function(A,e){return!!I.call(this,A,e)};{const A=i<=32?0:0n,e=i<=32?1:1n;return function(t,g,i){I.call(this,t,g?e:A,i)}}}})},5239:(A,e,t)=>{var g=t(1388);(0,t(6560).co)({getAccessorInt(A,e){const{bitSize:t,byteSize:i}=e;if(i){const e=this.getAccessor(A,{type:g.Z9.Uint,bitSize:8*i,byteSize:i}),I=2**(t-1),Q=I-1;return"get"===A?function(A,t){const g=e.call(this,A,t);return(g&Q)-(g&I)}:function(A,t,g){const i=t<0?I|t&Q:t&Q;e.call(this,A,i,g)}}}})},1388:(A,e,t)=>{t.d(e,{AD:()=>Q,EK:()=>i,F7:()=>u,Q9:()=>c,UT:()=>r,Z9:()=>s,e2:()=>n,ev:()=>g,hQ:()=>E,pK:()=>a,sU:()=>o,tv:()=>B,uE:()=>C,yi:()=>I});const g={Primitive:0,Array:1,Struct:2,Union:3,ErrorUnion:4,ErrorSet:5,Enum:6,Optional:7,Pointer:8,Slice:9,Vector:10,Opaque:11,ArgStruct:12,VariadicStruct:13,Function:14},i=Object.keys(g),I={HasValue:1,HasObject:2,HasPointer:4,HasSlot:8},Q={IsSize:16},C={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128},o={IsExtern:16,IsPacked:32,IsIterator:64,IsTuple:128,IsAllocator:256,IsPromise:512,IsGenerator:1024,IsAbortSignal:2048,IsOptional:4096},r={HasLength:16,IsMultiple:32,IsSingle:64,IsConst:128,IsNullable:256},B={HasSentinel:16,IsString:32,IsTypedArray:64,IsClampedArray:128,IsOpaque:256},n={HasOptions:16,IsThrowing:32,IsAsync:64},s={Void:0,Bool:1,Int:2,Uint:3,Float:4,Object:5,Type:6,Literal:7,Null:8,Undefined:9,Unsupported:10},E=Object.keys(s),a={IsRequired:1,IsReadOnly:2,IsPartOfSet:4,IsSelector:8,IsMethod:16,IsSentinel:32,IsBackingInt:64},c={OK:0,Failure:1,Deadlock:2,Disabled:3},u={IsInactive:1,IsImmutable:2,IgnoreUncreated:4,IgnoreInactive:8,IgnoreArguments:16,IgnoreRetval:32}},6560:(A,e,t)=>{t.d(e,{NP:()=>Q,co:()=>I});var g=t(8e3);const i={name:"",mixins:[],constructor:null};function I(A){return i.constructor||i.mixins.push(A),A}function Q(){return i.constructor||(i.constructor=function(A,e){const t=[],i=function(){for(const A of t)A.call(this)},{prototype:I}=i;(0,g.n8)(i,"name",(0,g.vQ)(A));for(const A of e)for(let[e,i]of Object.entries(A))if("init"===e)t.push(i);else{if("function"==typeof i);else{let A=I[e];if(void 0!==A)if(A?.constructor===Object)i=Object.assign({...A},i);else if(A!==i)throw new Error(`Duplicate property: ${e}`)}(0,g.n8)(I,e,(0,g.vQ)(i))}return i}(i.name,i.mixins),i.name="",i.mixins=[]),i.constructor}},4762:(A,e,t)=>{t.d(e,{BC:()=>Q,BY:()=>p,G9:()=>D,Jc:()=>v,L2:()=>s,O0:()=>C,Pd:()=>d,QB:()=>F,Qm:()=>w,SB:()=>c,UQ:()=>m,Uv:()=>y,V0:()=>R,Vp:()=>N,Y8:()=>E,Zb:()=>B,_L:()=>a,_l:()=>k,ci:()=>o,ck:()=>M,d_:()=>J,is:()=>n,nz:()=>l,qG:()=>f,qx:()=>x,t7:()=>r,v2:()=>K,vp:()=>G,x1:()=>U,xH:()=>u,xp:()=>S,zy:()=>h});var g=t(1388),i=t(4540),I=t(8e3);Error;class Q extends SyntaxError{constructor(A){super(`Cannot convert ${A} to an Int`)}}class C extends TypeError{constructor(){super("Unsupported")}}class o extends TypeError{constructor(A){const{name:e}=A;super(`An initializer must be provided to the constructor of ${e}, even when the intended value is undefined`)}}class r extends TypeError{constructor(A,e,t=null){const{name:i,type:I,byteSize:Q}=A,C=e.byteLength,o=1!==Q?"s":"";let r;r=I!==g.ev.Slice||t?`${i} has ${I===g.ev.Slice?t.length*Q:Q} byte${o}, received ${C}`:`${i} has elements that are ${Q} byte${o} in length, received ${C}`,super(r)}}class B extends TypeError{constructor(A){const{type:e,byteSize:t,typedArray:i}=A,I=1!==t?"s":"",Q=["ArrayBuffer","DataView"].map(Y);let C;i&&Q.push(Y(i.name)),C=e===g.ev.Slice?`Expecting ${O(Q)} that can accommodate items ${t} byte${I} in length`:`Expecting ${O(Q)} that is ${t} byte${I} in length`,super(C)}}TypeError,TypeError,TypeError,TypeError,TypeError,TypeError,TypeError;class n extends TypeError{constructor(A,e,t){const{name:g}=A,i=[];if(Array.isArray(e))for(const A of e)i.push(Y(A));else i.push(Y(e));const I=q(t);super(`${g} expects ${O(i)} as argument, received ${I}`)}}class s extends n{constructor(A,e,t=!1){const{instance:{members:[Q]},type:C,constructor:o}=A,r=[],B=(0,I.BF)(Q);if(B){let A;switch(Q.structure?.type){case g.ev.Enum:A="enum item";break;case g.ev.ErrorSet:A="error";break;default:A=B}r.push(`array of ${A}s`)}else r.push("array of objects");o[i.pM]&&r.push(o[i.pM].name),C===g.ev.Slice&&t&&r.push("length"),super(A,r.join(" or "),e)}}class E extends TypeError{constructor(A,e,t){const{name:g,length:i,instance:{members:[I]}}=A,{structure:{constructor:Q}}=I,{length:C,constructor:o}=t,r=e?.length??i,B=1!==r?"s":"";let n;n=o===Q?"only a single one":o.child===Q?`a slice/array that has ${C}`:`${C} initializer${C>1?"s":""}`,super(`${g} has ${r} element${B}, received ${n}`)}}class a extends TypeError{constructor(A,e){super(A<0?"Length of slice cannot be negative":`Length of slice can be ${e} or less, received ${A}`)}}class c extends TypeError{constructor(A,e){const{name:t}=A;super(`Missing initializers for ${t}: ${e.join(", ")}`)}}class u extends TypeError{constructor(A,e){const{name:t,instance:{members:g}}=A;let i;i=g.find((A=>A.name===e))?`Comptime value cannot be changed: ${e}`:`${t} does not have a property with that name: ${e}`,super(i)}}class l extends Error{constructor(A,e,t=!1){super();const g=g=>{e-=g;const i=1!=(A-=g)?"s":"",I=t?"at least ":"";this.message=`Expecting ${I}${A} argument${i}, received ${e}`,this.stack=L(this.stack,"new Arg(")};g(0),(0,I.n8)(this,i.q6,{value:g,enumerable:!1})}}class f extends Error{constructor(){super("Undefined argument")}}class h extends TypeError{constructor(){super("Non-slice pointers can only be created with the help of the new operator")}}class w extends TypeError{constructor(){super("Casting to function is not allowed")}}class D extends TypeError{constructor(A,e){const{name:t}=A,{constructor:{name:g}}=e;super(`Conversion of ${g} to ${t} requires an explicit cast`)}}TypeError,TypeError;class y extends TypeError{constructor(A,e){super(`Unable to simultaneously align memory to ${e}-byte and ${A}-byte boundary`)}}TypeError;class d extends TypeError{constructor(A,e){const t=q(e);super(`Expected ${Y(A)}, received ${t}`)}}TypeError;class p extends TypeError{constructor(){super("Null pointer")}}class S extends TypeError{constructor(A){super(`Object has been freed already: ${A.constructor.name}`)}}class F extends TypeError{constructor(A,e){const{name:t}=A;let g;if(null!=e){const A=e instanceof Object&&e.constructor!==Object?`${e.constructor.name} object`:typeof e;g=`${H(A)} ${A}`}else g=e+"";super(`${t} cannot point to ${g}`)}}class U extends TypeError{constructor(){super("Pointers in Zig memory cannot point to garbage-collected object")}}TypeError;class k extends RangeError{constructor(A,e){const{name:t}=A;super(`Index exceeds the size of ${t??"array"}: ${e}`)}}class m extends TypeError{constructor(A){const{name:e}=A;super((void 0!==e?`Property ${e}`:"Element")+" can only be undefined")}}class N extends TypeError{constructor(A){const{name:e,structure:{name:t}}=A;super(`Unable to create ${t} as it is not situated on a byte boundary: ${e}`)}}class b extends TypeError{constructor(){super("Unable to modify read-only object")}}class M extends TypeError{constructor(A){const{name:e}=A;super(`${e} cannot point to a read-only object`)}}TypeError,TypeError,TypeError;class K extends TypeError{constructor(){super("Unexpected async generator")}}class G extends Error{constructor(A,e=0){if(A instanceof Error)return super(A.message),A.stack=L(this.stack,e),A;super(A??"Error encountered in Zig code")}}class v extends G{constructor(A){super("Program exited"),this.code=A}}function J(A,e){const t=t=>{e-=t,A.message=`args[${e}]: ${A.message}`,A.stack=L(A.stack,"new Arg(")};return t(0),(0,I.n8)(A,i.q6,{value:t,enumerable:!1}),A}function L(A,e){if("string"==typeof A){const t=A.split("\n"),g=t.findIndex((A=>A.includes(e)));-1!==g&&(t.splice(1,g),A=t.join("\n"))}return A}function x(A,e,t){return t instanceof RangeError&&!(t instanceof k)&&(t=new k(A,e)),t}function R(){throw new b}function q(A){const e=typeof A;let t;return t="object"===e?A?Object.prototype.toString.call(A):"null":e,Y(t)}function Y(A){return`${H(A)} ${A}`}function H(A){return/^\W*[aeiou]/i.test(A)?"an":"a"}function O(A,e="or"){const t=` ${e} `;return A.length>2?A.slice(0,-1).join(", ")+t+A[A.length-1]:A.join(t)}},4358:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540);(0,i.co)({init(){this.variables=[]},getSpecialExports(){const A=A=>{if(void 0===A)throw new Error("Not a Zig type");return A};return{init:(...A)=>this.initialize?.(...A),abandon:()=>this.abandonModule?.(),connect:A=>this.consoleObject=A,sizeOf:e=>A(e?.[I.SK]),alignOf:e=>A(e?.[I.Ec]),typeOf:e=>Q[A(e?.[I.ZE])]}},recreateStructures(A,e){Object.assign(this,e);const t=(A,e)=>{for(const[t,g]of Object.entries(e))A[t]=i(g);return A},g=A=>A.length?A.buffer:new ArrayBuffer(0),i=A=>{const{memory:e,structure:i,actual:Q}=A;if(e){if(Q)return Q;{const{array:Q,offset:C,length:o}=e,r=this.obtainView(g(Q),C,o),{handle:B,const:n}=A,s=i?.constructor,E=A.actual=s.call(I.M0,r);return n&&this.makeReadOnly(E),A.slots&&t(E[I._f],A.slots),B&&this.variables.push({handle:B,object:E}),E}}return i};this.resetGlobalErrorSet?.();const Q=new Map;for(const e of A){for(const A of[e.instance,e.static])if(A.template){const{slots:e,memory:t,handle:i}=A.template,C=A.template={};if(t){const{array:A,offset:e,length:Q}=t;C[I.Qy]=this.obtainView(g(A),e,Q),i&&this.variables.push({handle:i,object:C})}if(e){const A=C[I._f]={};Q.set(A,e)}}this.defineStructure(e)}for(const[A,e]of Q)t(A,e);for(const e of A)this.finalizeStructure(e)}});const Q=g.EK.map((A=>A.replace(/([a-z])([A-Z])/g,"$1 $2").toLowerCase()))},4828:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({init(){this.jsFunctionThunkMap=new Map,this.jsFunctionCallerMap=new Map,this.jsFunctionControllerMap=new Map,this.jsFunctionIdMap=new WeakMap,this.jsFunctionNextId=1},getFunctionId(A){let e=this.jsFunctionIdMap.get(A);return void 0===e&&(e=this.jsFunctionNextId++,this.jsFunctionIdMap.set(A,e)),e},getFunctionThunk(A,e){const t=this.getFunctionId(A);let g=this.jsFunctionThunkMap.get(t);if(void 0===g){const A=this.getViewAddress(e[Q.Qy]),i=this.createJsThunk(A,t);if(!i)throw new Error("Unable to create function thunk");g=this.obtainZigView(i,0),this.jsFunctionThunkMap.set(t,g),this.jsFunctionControllerMap.set(t,e)}return g},createInboundCaller(A,e){const t=this.getFunctionId(A);return this.jsFunctionCallerMap.set(t,((t,i)=>{let C=g.Q9.OK,o=!1;try{const r=e(t);if(Q.g9 in r){r[Q.g9]("reset");const A=this.startContext();this.updatePointerTargets(A,r,!0),this.updateShadowTargets(A),this.endContext()}const B=function(A){try{if(!(e[Q.du]&&A instanceof Error))throw A;r[Q.zg](A)}catch(e){C=g.Q9.Failure,console.error(A)}},n=function(A){try{r[Q.zg](A)}catch(A){C=g.Q9.Failure,console.error(A)}};try{const e=A(...r),t=r.hasOwnProperty(Q.zg);if("Promise"===e?.[Symbol.toStringTag])if(i||t){const A=e.then(n,B);i&&A.then((()=>this.finalizeAsyncCall(i,C))),o=!0,C=g.Q9.OK}else C=g.Q9.Deadlock;else if(e?.[Symbol.asyncIterator]){if(!r.hasOwnProperty(Q.wg))throw new I.v2;this.pipeContents(e,r),C=g.Q9.OK}else null==e&&t||n(e)}catch(A){B(A)}}catch(A){console.error(A),C=g.Q9.Failure}return i&&!o&&this.finalizeAsyncCall(i,C),C})),function(...e){return A(...e)}},defineArgIterator(A){const e=this,t=A.filter((({structure:A})=>A.type===g.ev.Struct&&A.flags&g.sU.IsAllocator)).length;return{value(){let i,I=0,C=0,o=0;const r=[];for(const[B,{structure:n,type:s}]of A.entries())try{let A,E,a=this[B];s===g.Z9.Object&&a?.[Q.Qy]?.[Q.Dr]&&(a=new a.constructor(a)),n.type===g.ev.Struct&&(n.flags&g.sU.IsAllocator?(A=1===t?"allocator":"allocator"+ ++I,E=this[Q.Gz]=a):n.flags&g.sU.IsPromise?(A="callback",1==++C&&(E=e.createPromiseCallback(this,a))):n.flags&g.sU.IsGenerator?(A="callback",1==++C&&(E=e.createGeneratorCallback(this,a))):n.flags&g.sU.IsAbortSignal&&(A="signal",1==++o&&(E=e.createInboundSignal(a)))),void 0!==A?void 0!==E&&(i||={},i[A]=E):r.push(a)}catch(A){r.push(A)}return i&&r.push(i),r[Symbol.iterator]()}}},handleJsCall(A,e,t,i=0){const I=this.obtainZigView(e,t,!1),Q=this.jsFunctionCallerMap.get(A);return Q?Q(I,i):g.Q9.Failure},releaseFunction(A){const e=this.jsFunctionThunkMap.get(A),t=this.jsFunctionControllerMap.get(A);if(e&&t){const g=this.getViewAddress(t[Q.Qy]),i=this.getViewAddress(e);this.destroyJsThunk(g,i),this.releaseZigView(e),A&&(this.jsFunctionThunkMap.delete(A),this.jsFunctionCallerMap.delete(A),this.jsFunctionControllerMap.delete(A))}},exports:{handleJsCall:{argType:"iiii",returnType:"i"},releaseFunction:{argType:"i"}},imports:{createJsThunk:{argType:"ii",returnType:"i"},destroyJsThunk:{argType:"ii",returnType:"i"},finalizeAsyncCall:{argType:"ii"}}})},6973:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({createOutboundCaller(A,e){const t=this,g=function(...i){if(!t.runThunk)return t.initPromise.then((()=>g(...i)));const C=new e(i,this?.[Q.Gz]);try{return t.invokeThunk(A,g,C)}catch(A){if(A instanceof I.Jc&&0===A.code)return;throw A}};return g},copyArguments(A,e,t,i,C){let o=0,r=0,B=0;const n=A[Q.Bl];for(const{type:Q,structure:s}of t){let t,E,a,c;if(s.type===g.ev.Struct&&(s.flags&g.sU.IsAllocator?t=(1==++B?i?.allocator??i?.allocator1:i?.[`allocator${B}`])??this.createDefaultAllocator(A,s):s.flags&g.sU.IsPromise?(E||=this.createPromise(A,i?.callback),t=E):s.flags&g.sU.IsGenerator?(a||=this.createGenerator(A,i?.callback),t=a):s.flags&g.sU.IsAbortSignal&&(c||=this.createSignal(s,i?.signal),t=c)),void 0===t&&(t=e[r++],void 0===t&&Q!==g.Z9.Void))throw new I.qG;try{n[o++].call(A,t,C)}catch(A){throw(0,I.d_)(A,o-1)}}},invokeThunk(A,e,t){const g=this.startContext(),i=t[Q.iw],C=this.getViewAddress(A[Q.Qy]),o=this.getViewAddress(e[Q.Qy]),r=Q.vm in t,B=Q.g9 in t;B&&this.updatePointerAddresses(g,t);const n=this.getShadowAddress(g,t,null,!1),s=i?this.getShadowAddress(g,i):0;this.updateShadows(g);const E=()=>{this.updateShadowTargets(g),B&&this.updatePointerTargets(g,t),this.libc&&this.flushStdout?.(),this.flushConsole?.(),this.endContext()};if(r&&(t[Q.vm]=E),!(i?this.runVariadicThunk(C,o,n,s,i.length):this.runThunk(C,o,n)))throw E(),new I.vp;if(t[Q.sF]?.(this.findShadowView(t[Q.Qy])),r){let A=null;try{A=t.retval}catch(e){A=new I.vp(e,1)}return null!=A&&t[Q.zg](A),t[Q.eR]??t[Q._d]}E();try{return t.retval}catch(A){throw new I.vp(A,1)}},imports:{runThunk:{argType:"iii",returnType:"b"},runVariadicThunk:{argType:"iiiii",returnType:"b"}}})},2427:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({init(){const A={type:g.Z9.Int,bitSize:8,byteSize:1},e={type:g.Z9.Int,bitSize:16,byteSize:2},t={type:g.Z9.Int,bitSize:32,byteSize:4},i=this.getAccessor("get",A),I=this.getAccessor("set",A),C=this.getAccessor("get",e),o=this.getAccessor("set",e),r=this.getAccessor("get",t),B=this.getAccessor("set",t);this.copiers={0:Q.Ie,1:function(A,e){I.call(A,0,i.call(e,0))},2:function(A,e){o.call(A,0,C.call(e,0,!0),!0)},4:function(A,e){B.call(A,0,r.call(e,0,!0),!0)},8:function(A,e){B.call(A,0,r.call(e,0,!0),!0),B.call(A,4,r.call(e,4,!0),!0)},16:function(A,e){B.call(A,0,r.call(e,0,!0),!0),B.call(A,4,r.call(e,4,!0),!0),B.call(A,8,r.call(e,8,!0),!0),B.call(A,12,r.call(e,12,!0),!0)},any:function(A,e){let t=0,g=A.byteLength;for(;t+4<=g;)B.call(A,t,r.call(e,t,!0),!0),t+=4;for(;t+1<=g;)I.call(A,t,i.call(e,t)),t++}},this.resetters={0:Q.Ie,1:function(A,e){I.call(A,e,0)},2:function(A,e){o.call(A,e,0,!0)},4:function(A,e){B.call(A,e,0,!0)},8:function(A,e){B.call(A,e+0,0,!0),B.call(A,e+4,0,!0)},16:function(A,e){B.call(A,e+0,0,!0),B.call(A,e+4,0,!0),B.call(A,e+8,0,!0),B.call(A,e+12,0,!0)},any:function(A,e,t){let g=e;for(;g+4<=t;)B.call(A,g,0,!0),g+=4;for(;g+1<=t;)I.call(A,g,0),g++}}},defineCopier(A,e){const t=this.getCopyFunction(A,e);return{value(A){this[I.zN]?.(),A[I.zN]?.();const e=A[I.Qy],g=this[I.Qy];t(g,e)}}},defineResetter(A,e){const t=this.getResetFunction(e);return{value(){this[I.zN]?.();const g=this[I.Qy];t(g,A,e)}}},getCopyFunction(A,e=!1){return(e?void 0:this.copiers[A])??this.copiers.any},getResetFunction(A){return this.resetters[A]??this.resetters.any},...{defineRetvalCopier({byteSize:A,bitOffset:e}){if(A>0){const t=this,g=e>>3,i=this.getCopyFunction(A);return{value(e){const Q=this[I.Qy],{address:C}=e[I.Dr],o=new DataView(t.memory.buffer,C+g,A),r=new DataView(Q.buffer,Q.byteOffset+g,A);i(r,o)}}}},copyExternBytes(A,e,t){const{memory:g}=this,i=new DataView(g.buffer,e,t);this.getCopyFunction(t)(A,i)}}})},1669:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762);(0,i.co)({addIntConversion:A=>function(e,t){const i=A.call(this,e,t),{flags:Q,bitSize:C}=t;if("set"===e)return C>32?function(A,e,t){i.call(this,A,BigInt(e),t)}:function(A,e,t){const g=Number(e);if(!isFinite(g))throw new I.BC(e);i.call(this,A,g,t)};{const{flags:A}=t.structure;if(A&g.AD.IsSize&&C>32){const A=BigInt(Number.MAX_SAFE_INTEGER),e=BigInt(Number.MIN_SAFE_INTEGER);return function(t,g){const I=i.call(this,t,g);return e<=I&&I<=A?Number(I):I}}}return i}})},6929:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);function C(A,e){return(0,Q.ZG)(A,e,(A=>A.address))}(0,g.co)({init(){this.isMemoryMapping=!0,this.memoryList=[],this.contextCount=0},startContext(){return++this.contextCount,{shadowList:[]}},endContext(){if(0==--this.contextCount){for(const{shadowDV:A}of this.memoryList)A&&this.freeShadowMemory(A);this.memoryList.splice(0)}},getShadowAddress(A,e,t,g){const C=e[I.Qy];if(t){if(void 0===t.address){const{start:e,end:r,targets:B}=t;let n,s=0;for(const A of B){const e=A[I.Qy],t=e.byteOffset,g=A.constructor[I.Ec]??e[I.Ec];(void 0===s||g>s)&&(s=g,n=t)}const E=r-e,a=this.allocateShadowMemory(E+s,1),c=this.getViewAddress(a),u=(0,Q.hJ)((0,Q.Au)(c,n-e),s),l=(0,Q.Au)(u,e-n);for(const A of B){const t=A[I.Qy],g=t.byteOffset;if(g!==n){const C=A.constructor[I.Ec]??t[I.Ec];if((0,Q.on)((0,Q.Au)(l,g-e),C))throw new i.Uv(C,s)}}const f=a.byteOffset+Number(l-c),h=new DataView(a.buffer,f,E);h[I.Dr]={address:l,len:E,align:1,unalignedAddress:c,type:o.Scratch};const w=new DataView(C.buffer,Number(e),E),D=this.registerMemory(l,E,1,g,w,h);A.shadowList.push(D),t.address=l}return(0,Q.Au)(t.address,C.byteOffset-t.start)}{const t=e.constructor[I.Ec]??C[I.Ec],i=C.byteLength,Q=this.allocateShadowMemory(i,t),o=this.getViewAddress(Q),r=this.registerMemory(o,i,1,g,C,Q);return A.shadowList.push(r),o}},updateShadows(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g}of A.shadowList)g=this.restoreView(g),e(g,t)},updateShadowTargets(A){const e=this.getCopyFunction();for(let{targetDV:t,shadowDV:g,writable:i}of A.shadowList)i&&(g=this.restoreView(g),e(t,g))},registerMemory(A,e,t,g,i,I){const Q=C(this.memoryList,A);let o=this.memoryList[Q-1];return o?.address===A&&o.len===e?o.writable||=g:(o={address:A,len:e,align:t,writable:g,targetDV:i,shadowDV:I},this.memoryList.splice(Q,0,o)),o},unregisterMemory(A,e){const t=C(this.memoryList,A),g=this.memoryList[t-1];if(g?.address===A&&g.len===e)return this.memoryList.splice(t-1,1),g},findMemory(A,e,t,g){let i=t*(g??0);const o=C(this.memoryList,e),r=this.memoryList[o-1];let B;if(r?.address===e&&r.len===i)B=r.targetDV;else if(r?.address<=e&&(0,Q.Au)(e,i)<=(0,Q.Au)(r.address,r.len)){const A=Number(e-r.address),t=void 0===g,{targetDV:Q}=r;t&&(i=Q.byteLength-A),B=this.obtainView(Q.buffer,Q.byteOffset+A,i),t&&(B[I.Ec]=r.align)}if(B){let{targetDV:e,shadowDV:t}=r;t&&A&&!A.shadowList.includes(r)&&(t=this.restoreView(t),this.getCopyFunction()(e,t))}else B=this.obtainZigView(e,i);return B},findShadowView(A){for(const{shadowDV:e,targetDV:t}of this.memoryList)if(t===A)return e},releaseZigView(A){const e=A[I.Dr],t=e?.address;t&&t!==Q.Y$&&(e.address=Q.Y$)},getViewAddress(A){const e=A[I.Dr];if(e)return e.address;{const e=this.getBufferAddress(A.buffer);return(0,Q.Au)(e,A.byteOffset)}},...{imports:{allocateScratchMemory:{argType:"ii",returnType:"i"},freeScratchMemory:{argType:"iii"}},exports:{getViewAddress:{argType:"v",returnType:"i"}},usizeMaxBuffer:new ArrayBuffer(0),allocateShadowMemory(A,e){const t=A?this.allocateScratchMemory(A,e):0;if(!t&&A)throw new Error("Out of memory");const g=this.obtainZigView(t,A),i=g?.[I.Dr];return i&&(i.align=e),g},freeShadowMemory(A){const{address:e,unalignedAddress:t,len:g,align:i}=A[I.Dr];g&&this.freeScratchMemory(t??e,g,i),this.releaseZigView(A)},obtainZigView(A,e,t=!0){if((0,Q.cv)(A)&&(A=e>0?0:Q.Fy),!A&&e)return null;let{buffer:g}=this.memory;return A===Q.Fy&&(g=this.usizeMaxBuffer,A=Q.$k,e=0),t?this.obtainView(g,A,e):new DataView(g,A,e)},getTargetAddress(A,e,t,g){const i=e[I.Qy];return i[I.Dr]?this.getViewAddress(i):0===i.byteLength?0:this.getShadowAddress(A,e,t,g)},getBufferAddress:A=>0}});const o={Normal:0,Scratch:1}},4936:(A,e,t)=>{var g=t(6560),i=t(8e3);(0,g.co)({init(){this.abandoned=!1,this.nextValueIndex=1,this.valueMap=new Map,this.valueIndices=new Map,this.options=null,this.executable=null,this.memory=null,this.table=null,this.initialTableLength=0,this.exportedFunctions=null},releaseFunctions(){const A=()=>{throw new Error("Module was abandoned")};for(const e of Object.keys(this.imports))this[e]&&(this[e]=A)},abandonModule(){this.abandoned||(this.releaseFunctions(),this.unlinkVariables?.(),this.abandoned=!0)},...{imports:{initialize:{argType:""}},exports:{displayPanic:{argType:"ii"}},async initialize(A){this.setCustomWASI?.(A),await this.initPromise},getObjectIndex(A){if(null!=A){let e=this.valueIndices.get(A);return void 0===e&&(e=this.nextValueIndex++,this.valueIndices.set(A,e),this.valueMap.set(e,A)),e}return 0},fromWebAssembly(A,e){switch(A){case"v":case"s":return this.valueMap.get(e);case"i":return e;case"b":return!!e}},toWebAssembly(A,e){switch(A){case"v":case"s":return this.getObjectIndex(e);case"i":return e;case"b":return e?1:0}},exportFunction(A,e="",t="",g){return A?(...g)=>{g=g.map(((A,t)=>this.fromWebAssembly(e.charAt(t),A)));const i=A.apply(this,g);return this.toWebAssembly(t,i)}:()=>{}},importFunction(A,e="",t=""){return(...g)=>{g=g.map(((A,t)=>this.toWebAssembly(e.charAt(t),A)));const i=A.apply(this,g);return this.fromWebAssembly(t,i)}},exportFunctions(){const A={};for(const[e,{argType:t,returnType:g,alias:i}]of Object.entries(this.exports)){const I=this[i??e];I&&(A[`_${e}`]=this.exportFunction(I,t,g,e))}return A},importFunctions(A){for(const[e,{argType:t,returnType:g}]of Object.entries(this.imports)){const I=A[e];I&&(0,i.n8)(this,e,{value:this.importFunction(I,t,g)})}},async instantiateWebAssembly(A,e){const{memoryInitial:t,memoryMax:g,tableInitial:I,multithreaded:Q}=this.options=e,C=await A,o="Response"===C[Symbol.toStringTag]?"Streaming":"",r=WebAssembly,B=r["compile"+o],n=this.executable=await B(C),s=this.exportFunctions(),E={},a={},c={},u=this.exportedModules={env:E,wasi:a,wasi_snapshot_preview1:c};for(const{module:A,name:e,kind:t}of r.Module.imports(n))"function"===t&&("env"===A?E[e]=s[e]??i.Ie:"wasi_snapshot_preview1"===A?c[e]=this.getWASIHandler(e):"wasi"===A&&(a[e]=this.getThreadHandler?.(e)??i.Ie));return this.memory=E.memory=new r.Memory({initial:t,maximum:g,shared:Q}),this.table=E.__indirect_function_table=new r.Table({initial:I,element:"anyfunc",shared:Q}),this.initialTableLength=I,new r.Instance(n,u)},loadModule(A,e){return this.initPromise=(async()=>{const t=await this.instantiateWebAssembly(A,e),{exports:g}=t;if(this.importFunctions(g),this.customWASI){const A={...g,memory:this.memory},e=new Proxy(t,{get:(e,t)=>"exports"===t?A:e[t]});this.customWASI.initialize?.(e)}this.initialize()})()},displayPanic(A,e){const t=new Uint8Array(this.memory.buffer,A,e),g=(0,i.g7)(t);console.error(`Zig panic: ${g}`)}}})},9268:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540);(0,i.co)({linkVariables(A){if(!this.memory)return void(this.initPromise=this.initPromise.then((()=>this.linkVariables(A))));const e=this.getCopyFunction();for(const{object:t,handle:i}of this.variables){const Q=t[I.Qy],C=i,o=t[I.Qy]=this.obtainZigView(C,Q.byteLength);A&&e(o,Q),t.constructor[I.fV]?.save?.(o,t);const r=A=>{const e=A[I._f];if(e){const A=o.byteOffset;for(const t of Object.values(e))if(t){const e=t[I.Qy];if(e.buffer===Q.buffer){const g=A+e.byteOffset-Q.byteOffset;t[I.Qy]=this.obtainView(o.buffer,g,e.byteLength),t.constructor[I.fV]?.save?.(o,t),r(t)}}}};r(t),t[I.g9]?.((function(){this[I.q6]()}),g.F7.IgnoreInactive)}},unlinkVariables(){const A=this.getCopyFunction();for(const{object:e}of this.variables){const t=this.restoreView(e[I.Qy]),g=t[I.Dr];g&&A(e[I.Qy]=this.allocateMemory(g.len),t)}},imports:{recreateAddress:{argType:"i",returnType:"i"}}})},7409:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({updatePointerAddresses(A,e){const t=new Map,i=new Map,C=[],o=function(A){const e=this[I.C7];if(void 0===t.get(e)){const A=e[I._f][0];if(A){const g={target:A,writable:!e.constructor.const},r=A[I.Qy];if(r[I.Dr])t.set(e,null);else{t.set(e,A);const B=i.get(r.buffer);if(B){const A=Array.isArray(B)?B:[B],e=(0,Q.ZG)(A,r.byteOffset,(A=>A.target[I.Qy].byteOffset));A.splice(e,0,g),Array.isArray(B)||(i.set(r.buffer,A),C.push(A))}else i.set(r.buffer,g);A[I.g9]?.(o,0)}}}},r=g.F7.IgnoreRetval|g.F7.IgnoreInactive;e[I.g9](o,r);const B=this.findTargetClusters(C),n=new Map;for(const A of B)for(const e of A.targets)n.set(e,A);for(const[e,g]of t)if(g){const t=n.get(g),i=t?.writable??!e.constructor.const;e[I.BD]=this.getTargetAddress(A,g,t,i),I.pi in e&&(e[I.pi]=g.length)}},updatePointerTargets(A,e,t=!1){const i=new Map,Q=function(e){const t=this[I.C7];if(!i.get(t)){i.set(t,!0);const C=t[I._f][0],o=C&&e&g.F7.IsImmutable?C:t[I.q6](A,!0,!(e&g.F7.IsInactive)),r=t.constructor.const?g.F7.IsImmutable:0;r&g.F7.IsImmutable||C&&!C[I.Qy][I.Dr]&&C[I.g9]?.(Q,r),o!==C&&o&&!o[I.Qy][I.Dr]&&o?.[I.g9]?.(Q,r)}},C=t?g.F7.IgnoreRetval:0;e[I.g9](Q,C)},findTargetClusters(A){const e=[];for(const t of A){let A=null,g=0,i=0,Q=null;for(const{target:C,writable:o}of t){const t=C[I.Qy],{byteOffset:r,byteLength:B}=t,n=r+B;let s=!0;A&&(i>r?(Q?Q.writable||=o:(Q={targets:[A],start:g,end:i,address:void 0,misaligned:void 0,writable:o},e.push(Q)),Q.targets.push(C),n>i?Q.end=n:s=!1):Q=null),s&&(A=C,g=r,i=n)}}return e}})},2436:(A,e,t)=>{var g=t(6560),i=t(8e3);(0,g.co)({...{exports:{allocateJsThunk:{argType:"ii",returnType:"i"},freeJsThunk:{argType:"ii",returnType:"i"}},init(){this.thunkSources=[],this.thunkMap=new Map},addJsThunkSource(){const{memoryInitial:A,memoryMax:e,tableInitial:t,multithreaded:g}=this.options,I=WebAssembly,Q={},C={},o={env:Q,wasi:{},wasi_snapshot_preview1:C};for(const{module:A,name:e,kind:t}of I.Module.imports(this.executable))"function"===t&&("env"===A?Q[e]=i.Ie:"wasi_snapshot_preview1"===A&&(C[e]=i.Ie));Q.memory=new I.Memory({initial:A,maximum:e,shared:g});const r=Q.__indirect_function_table=new I.Table({initial:t,element:"anyfunc"}),{exports:B}=new I.Instance(this.executable,o),{createJsThunk:n,destroyJsThunk:s}=B,E={thunkCount:0,createJsThunk:n,destroyJsThunk:s,table:r};return this.thunkSources.unshift(E),E},allocateJsThunk(A,e){let t,g=0;for(t of this.thunkSources){g=t.createJsThunk(A,e);break}g||(t=this.addJsThunkSource(),g=t.createJsThunk(A,e));const i=t.table.get(g);let I=0;for(let A=this.table.length-1;A>=this.initialTableLength;A--)if(!this.table.get(A)){I=A;break}return I||(I=this.table.length,this.table.grow(8)),this.table.set(I,i),t.thunkCount++,this.thunkMap.set(i,{source:t,sourceAddress:g}),I},freeJsThunk(A,e){let t=0;const g=this.table.get(e);this.table.set(e,null);const i=this.thunkMap.get(g);if(i){const{source:e,sourceAddress:I}=i;if(t=e.destroyJsThunk(A,I),0==--e.thunkCount){const A=this.thunkSources.indexOf(e);-1!==A&&this.thunkSources.splice(A,1)}this.thunkMap.delete(g)}return t}}})},8738:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);function o(A,e){const{byteSize:t,type:i}=e;if(!(i===g.ev.Slice?A.byteLength%t==0:A.byteLength===t))throw new I.t7(e,A)}function r(A){throw new I.Zb(A)}(0,i.co)({init(){this.viewMap=new WeakMap},extractView(A,e,t=r){const{type:i,byteSize:B,constructor:n}=A;let s;const E=e?.[Symbol.toStringTag];if(E&&("DataView"===E?s=this.registerView(e):"ArrayBuffer"===E?s=this.obtainView(e,0,e.byteLength):(E&&E===n[Q.pM]?.name||"Uint8ClampedArray"===E&&n[Q.pM]===Uint8Array)&&(s=this.obtainView(e.buffer,e.byteOffset,e.byteLength))),!s){const t=e?.[Q.Qy];if(t){const{constructor:Q,instance:{members:[o]}}=A;if((0,C.pU)(e,Q))return t;if(function(A){return A===g.ev.Array||A===g.ev.Vector||A===g.ev.Slice}(i)){const{byteSize:Q,structure:{constructor:r}}=o,n=(0,C.be)(e,r);if(void 0!==n){if(i===g.ev.Slice||n*Q===B)return t;throw new I.Y8(A,null,e)}}}}return s?void 0!==B&&o(s,A):t?.(A,e),s},assignView(A,e,t,i,C){const{byteSize:r,type:B}=t,n=r??1;if(A[Q.Qy]){const i=B===g.ev.Slice?n*A.length:n;if(e.byteLength!==i)throw new I.t7(t,e,A);const C={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(C,A.length),A[Q.sF](C)}else{void 0!==r&&o(e,t);const g=e.byteLength/n,I={[Q.Qy]:e};A.constructor[Q.fd]?.validateData?.(I,g),C&&(i=!0),A[Q.IW](i?null:e,g,C),i&&A[Q.sF](I)}},findViewAt(A,e,t){let g,i=this.viewMap.get(A);if(i)if(i instanceof DataView)if(i.byteOffset===e&&i.byteLength===t)g=i,i=null;else{const e=i,t=`${e.byteOffset}:${e.byteLength}`;i=new Map([[t,e]]),this.viewMap.set(A,i)}else g=i.get(`${e}:${t}`);return g?.[Q.Dr]?.address===C.Y$&&(g=null),{existing:g,entry:i}},obtainView(A,e,t){const{existing:g,entry:i}=this.findViewAt(A,e,t);let I;return g||(I=new DataView(A,e,t),i?i.set(`${e}:${t}`,I):this.viewMap.set(A,I),A!==this.memory?.buffer&&A!==this.usizeMaxBuffer||(I[Q.Dr]={address:e,len:t}),I)},registerView(A){if(!A[Q.Dr]){const{buffer:e,byteOffset:t,byteLength:g}=A,{existing:i,entry:I}=this.findViewAt(e,t,g);if(i)return i;I?I.set(`${t}:${g}`,A):this.viewMap.set(e,A)}return A},allocateMemory(A,e=0,t=null){return t?.alloc?.(A,e)??this.allocateJSMemory(A,e)},...{allocateJSMemory(A,e){return this.obtainView(new ArrayBuffer(A),0,A)},restoreView(A){const e=A?.[Q.Dr];return e?.len>0&&0===A.buffer.byteLength&&(A=this.obtainZigView(e.address,e.len),e.align&&(A[Q.Dr].align=e.align)),A},defineRestorer(){const A=this;return{value(){const e=this[Q.Qy],t=A.restoreView(e);if(e!==t){const A=this[Q.KK]??this;return A[Q.Qy]=t,A.constructor[Q.fV]?.save?.(t,A[Q.rG]??A),!0}return!1}}}}})},1432:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540);(0,g.co)({makeReadOnly(A){o(A)}});const Q=Object.getOwnPropertyDescriptors,C=Object.defineProperty;function o(A){const e=A[I.C7];if(e)r(e,["length"]);else{const e=A[I.sO];e?(r(e),function(A){C(A,"set",{value:i.V0});const e=A.get;C(A,"get",{value:function(A){const t=e.call(this,A);return null===t?.[I.KK]&&o(t),t}})}(e)):r(A)}}function r(A,e=[]){const t=Q(A.constructor.prototype);for(const[g,I]of Object.entries(t))I.set&&!e.includes(g)&&(I.set=i.V0,C(A,g,I));C(A,I.KK,{value:A})}},4773:(A,e,t)=>{t.d(e,{M:()=>i});var g=t(6560);function i(){return new((0,g.NP)())}},1454:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);function Q(){const A=this[i.sO]??this,e=this.length;let t=0;return{next(){let g,i;if(t<e){const e=t++;g=A.get(e),i=!1}else i=!0;return{value:g,done:i}}}}function C(A){const e=(0,I.L9)(A),t=this[i.sO]??this,g=this.length;let Q=0;return{next(){let A,i;if(Q<g){const g=Q++;A=[g,e((()=>t.get(g)))],i=!1}else i=!0;return{value:A,done:i}}}}function o(A){return{[Symbol.iterator]:C.bind(this,A),length:this.length}}(0,g.co)({defineArrayEntries:()=>(0,I.vQ)(o),defineArrayIterator:()=>(0,I.vQ)(Q)})},6402:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);function Q(A){return{[Symbol.iterator]:o.bind(this,A),length:this[i.n5].length}}function C(A){return Q.call(this,A)[Symbol.iterator]()}function o(A){const e=(0,I.L9)(A),t=this,g=this[i.n5];let Q=0;return{next(){let A,i;if(Q<g.length){const I=g[Q++];A=[I,e((()=>t[I]))],i=!1}else i=!0;return{value:A,done:i}}}}(0,g.co)({defineStructEntries:()=>(0,I.vQ)(Q),defineStructIterator:()=>(0,I.vQ)(C)})},9098:(A,e,t)=>{t.d(e,{E:()=>i});var g=t(1388);function i(A,{get:e,set:t}){return void 0!==A?{get:function(){return e.call(this,A)},set:t?function(e,g){return t.call(this,A,e,g)}:void 0}:{get:e,set:t}}(0,t(6560).co)({defineMember(A,e=!0){if(!A)return{};const{type:t,structure:i}=A,I=this[`defineMember${g.hQ[t]}`].call(this,A);if(e&&i){const{type:e}=i,t=this[`transformDescriptor${g.EK[e]}`];if(t)return t.call(this,I,A)}return I}})},9494:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(8e3);(0,g.co)({defineBase64(A){const e=this;return(0,I.NV)({get(){return(0,I.WG)(this.dataView)},set(t,g){if("string"!=typeof t)throw new i.Pd("string",t);const Q=(0,I.y4)(t);e.assignView(this,Q,A,!1,g)}})}})},337:(A,e,t)=>{(0,t(6560).co)({defineMemberBool(A){return this.defineMemberUsing(A,this.getAccessor)}})},7431:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);(0,g.co)({defineDataView(A){const e=this;return(0,Q.NV)({get(){return this[I.zN]?.(),this[I.Qy]},set(t,g){if("DataView"!==t?.[Symbol.toStringTag])throw new i.Pd("DataView",t);e.assignView(this,t,A,!0,g)}})}})},7591:(A,e,t)=>{(0,t(6560).co)({defineMemberFloat(A){return this.defineMemberUsing(A,this.getAccessor)}})},6717:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(9098);function o(A){return(this[Q._f][A]??this[Q.tZ](A)).$}function r(A){return this[Q._f][A]??this[Q.tZ](A)}function B(A,e,t){(this[Q._f][A]??this[Q.tZ](A))[Q.Zv](e,t)}(0,i.co)({defineMemberObject:A=>(0,C.E)(A.slot,{get:A.structure.flags&g.yi.HasValue?o:r,set:A.flags&g.pK.IsReadOnly?I.V0:B})})},2164:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540);(0,g.co)({...{defineMemberUsing(A,e){const{littleEndian:t}=this,{bitOffset:g,byteSize:Q}=A,C=e.call(this,"get",A),o=e.call(this,"set",A);if(void 0!==g){const A=g>>3;return{get:function(){try{return C.call(this[I.Qy],A,t)}catch(e){if(e instanceof TypeError&&this[I.zN]?.())return C.call(this[I.Qy],A,t);throw e}},set:function(e){try{return o.call(this[I.Qy],A,e,t)}catch(g){if(g instanceof TypeError&&this[I.zN]?.())return o.call(this[I.Qy],A,e,t);throw g}}}}return{get:function(e){try{return C.call(this[I.Qy],e*Q,t)}catch(g){if(g instanceof TypeError&&this[I.zN]?.())return C.call(this[I.Qy],e*Q,t);throw(0,i.qx)(A,e,g)}},set:function(e,g){try{return o.call(this[I.Qy],e*Q,g,t)}catch(C){if(C instanceof TypeError&&this[I.zN]?.())return o.call(this[I.Qy],e*Q,g,t);throw(0,i.qx)(A,e,C)}}}}}})},6135:(A,e,t)=>{var g=t(6560),i=t(3456);(0,g.co)({defineToJSON:()=>({value(){return(0,i.F)(this,!0)}})})},3793:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(8e3);(0,g.co)({defineTypedArray(A){const e=this,t=this.getTypedArray(A);return(0,I.NV)({get(){const A=this.dataView,e=A.byteLength/t.BYTES_PER_ELEMENT;return new t(A.buffer,A.byteOffset,e)},set(g,I){if(g?.[Symbol.toStringTag]!==t.name)throw new i.Pd(t.name,g);const Q=new DataView(g.buffer,g.byteOffset,g.byteLength);e.assignView(this,Q,A,!0,I)}})}})},8305:(A,e,t)=>{(0,t(6560).co)({defineMemberUint(A){let e=this.getAccessor;return this.runtimeSafety&&(e=this.addRuntimeCheck(e)),e=this.addIntConversion(e),this.defineMemberUsing(A,e)}})},3456:(A,e,t)=>{t.d(e,{F:()=>r});var g=t(1388),i=t(6560),I=t(4540),Q=t(8e3);(0,i.co)({defineValueOf:()=>({value(){return r(this,!1)}})});const C=BigInt(Number.MAX_SAFE_INTEGER),o=BigInt(Number.MIN_SAFE_INTEGER);function r(A,e){const t={error:e?"return":"throw"},i=(0,Q.L9)(t),r=new Map,B=function(A){const Q="function"==typeof A?g.ev.Struct:A?.constructor?.[I.ZE];if(void 0===Q){if(e){if("bigint"==typeof A&&o<=A&&A<=C)return Number(A);if(A instanceof Error)return{error:A.message}}return A}let n=r.get(A);if(void 0===n){let e;switch(Q){case g.ev.Struct:e=A[I.lf](t),n=A.constructor[I.Wg]&g.sU.IsTuple?[]:{};break;case g.ev.Union:e=A[I.lf](t),n={};break;case g.ev.Array:case g.ev.Vector:case g.ev.Slice:e=A[I.lf](),n=[];break;case g.ev.Pointer:try{n=A["*"]}catch(A){n=Symbol.for("inaccessible")}break;case g.ev.Enum:n=i((()=>String(A)));break;case g.ev.Opaque:n={};break;default:n=i((()=>A.$))}if(n=B(n),r.set(A,n),e)for(const[A,t]of e)n[A]=B(t)}return n};return B(A)}},8539:(A,e,t)=>{var g=t(6560),i=t(4762);(0,g.co)({defineMemberVoid(A,e){const{bitOffset:t}=A;return{get(){},set:void 0!==t?function(e){if(void 0!==e)throw new i.UQ(A)}:function(e,t){if(void 0!==t)throw new i.UQ(A);if(e<0||e>=this.length)throw new i._l(A,e)}}}})},7679:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineStructure(A){const{type:e,byteSize:t}=A,i=this[`define${g.EK[e]}`],I=[],o={},r={dataView:this.defineDataView(A),base64:this.defineBase64(A),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.KK]:{value:null},[Q.Bl]:(0,C.vQ)(o),[Q.Rk]:(0,C.vQ)(I),[Q.sF]:this.defineCopier(t),[Q.zN]:this.defineRestorer()},B=A.constructor=i.call(this,A,r);for(const[A,e]of Object.entries(r)){const t=e?.set;t&&!o[A]&&"$"!==A&&(o[A]=t,I.push(A))}return(0,C.ny)(B.prototype,r),B},finalizeStructure(A){const{name:e,type:t,constructor:i,align:I,byteSize:o,flags:r,signature:B,static:{members:n,template:s}}=A,E=[],a={name:(0,C.vQ)(e),toJSON:this.defineToJSON(),valueOf:this.defineValueOf(),[Q.J2]:(0,C.vQ)(B),[Q.M0]:(0,C.vQ)(this),[Q.Ec]:(0,C.vQ)(I),[Q.SK]:(0,C.vQ)(o),[Q.ZE]:(0,C.vQ)(t),[Q.Wg]:(0,C.vQ)(r),[Q.n5]:(0,C.vQ)(E),[Q.pM]:(0,C.vQ)(this.getTypedArray(A)),[Symbol.iterator]:this.defineStructIterator(),[Q.lf]:this.defineStructEntries(),[Q.n5]:(0,C.vQ)(E)},c={[Symbol.toStringTag]:(0,C.vQ)(e)};for(const A of n){const{name:e,slot:t}=A;if(A.structure.type===g.ev.Function){const i=s[Q._f][t];a[e]=(0,C.vQ)(i),i.name||(0,C.n8)(i,"name",(0,C.vQ)(e));const[I,o]=/^(get|set)\s+([\s\S]+)/.exec(e)?.slice(1)??[],r="get"===I?0:1;if(I&&i.length===r&&(a[o]||={},a[o][I]=i),A.flags&g.pK.IsMethod){const A=function(...A){try{return i(this,...A)}catch(A){throw A[Q.q6]?.(1),A}};(0,C.ny)(A,{name:(0,C.vQ)(e),length:(0,C.vQ)(i.length-1)}),c[e]=(0,C.vQ)(A),I&&A.length===r&&((c[o]||={})[I]=A)}}else a[e]=this.defineMember(A),E.push(e)}a[Q._f]=E.length>0&&(0,C.vQ)(s[Q._f]);const u=this[`finalize${g.EK[t]}`];!1!==u?.call(this,A,a,c)&&((0,C.ny)(i.prototype,c),(0,C.ny)(i,a))},createConstructor(A,e={}){const{type:t,byteSize:i,align:o,flags:r,instance:{members:B,template:n}}=A,{onCastError:s}=e;let E;if(n?.[Q._f]){const A=B.filter((A=>A.flags&g.pK.IsReadOnly));A.length>0&&(E=A.map((A=>A.slot)))}const a=new C.UF,c=this,u=function(e,C={}){const{allocator:B}=C,l=this instanceof u;let f,h;if(l){if(0===arguments.length)throw new I.ci(A);if(f=this,r&g.yi.HasSlot&&(f[Q._f]={}),Q.IW in f)f[Q.Zv](e,B),h=f[Q.Qy];else{const A=t!==g.ev.Pointer?B:null;f[Q.Qy]=h=c.allocateMemory(i,o,A)}}else{if(Q.mL in u&&(f=u[Q.mL].call(this,e,C),!1!==f))return f;if(h=c.extractView(A,e,s),f=a.find(h))return f;f=Object.create(u.prototype),Q.IW in f?c.assignView(f,h,A,!1,!1):f[Q.Qy]=h,r&g.yi.HasSlot&&(f[Q._f]={})}if(E)for(const A of E)f[Q._f][A]=n[Q._f][A];return f[Q.f$]?.(),l&&(Q.IW in f||f[Q.Zv](e,B)),Q.vm in f&&(f=f[Q.vm]()),a.save(h,f)};return(0,C.n8)(u,Q.fV,(0,C.vQ)(a)),n?.[Q.Qy]&&(0,C.n8)(n,Q.zN,this.defineRestorer()),u},createApplier(A){const{instance:{template:e}}=A;return function(t,g){const i=Object.keys(t),C=this[Q.Rk],o=this[Q.Bl];for(const e of i)if(!(e in o))throw new I.xH(A,e);let r=0,B=0,n=0,s=0;for(const A of C){const e=o[A];e.special?A in t&&s++:(r++,A in t?B++:e.required&&n++)}if(0!==n&&0===s){const e=C.filter((A=>o[A].required&&!(A in t)));throw new I.SB(A,e)}if(s+B>i.length)for(const A of C)A in t&&(i.includes(A)||i.push(A));B<r&&0===s&&e&&e[Q.Qy]&&this[Q.sF](e);for(const A of i)o[A].call(this,t[A],g);return i.length}},getTypedArray(A){const{type:e,instance:t}=A;if(void 0!==e&&t){const[A]=t.members;switch(e){case g.ev.Enum:case g.ev.ErrorSet:case g.ev.Primitive:{const{byteSize:e,type:t}=A,i=t===g.Z9.Float?"Float":t===g.Z9.Int?"Int":"Uint",I=e>4&&t!==g.Z9.Float?"Big":"";return globalThis[I+i+8*e+"Array"]}case g.ev.Array:case g.ev.Slice:case g.ev.Vector:return this.getTypedArray(A.structure)}}}})},2244:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineArgStruct(A,e){const{flags:t,byteSize:i,align:o,length:r,instance:{members:B}}=A,n=this,s=B.slice(1),E=function(A,e){const C=this instanceof E;let B,a;if(C?(B=this,a=n.allocateMemory(i,o)):(B=Object.create(E.prototype),a=A),B[Q.Qy]=a,t&g.yi.HasSlot&&(B[Q._f]={}),!C)return B;{let i;if(t&g.e2.HasOptions&&A.length===r+1&&(i=A.pop()),A.length!==r)throw new I.nz(r,A.length);t&g.e2.IsAsync&&(B[Q.vm]=null),n.copyArguments(B,A,s,i,e)}};for(const A of B)e[A.name]=this.defineMember(A);const a=e.retval.set;return e.length=(0,C.vQ)(s.length),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorArgStruct(B),e[Q.zg]=(0,C.vQ)((function(A){a.call(this,A,this[Q.Gz])})),e[Symbol.iterator]=this.defineArgIterator?.(s),e[Q.sF]=this.defineRetvalCopier(B[0]),E},finalizeArgStruct(A,e){const{flags:t}=A;e[Q.du]=(0,C.vQ)(!!(t&g.e2.IsThrowing))}})},9433:(A,e,t)=>{var g=t(6560),i=t(4540),I=t(8e3);(0,g.co)({defineFinalizerArray:({get:A,set:e})=>({value(){const t=new Proxy(this,Q);return(0,I.ny)(this,{[i.rG]:{value:t},get:{value:A.bind(this)},set:e&&{value:e.bind(this)}}),t}}),defineVivificatorArray(A){const{instance:{members:[e]}}=A,{byteSize:t,structure:g}=e,I=this;return{value:function(A){const{constructor:e}=g;this[i.zN]?.();const Q=this[i.Qy],C=Q.byteOffset+t*A,o=I.obtainView(Q.buffer,C,t);return this[i._f][A]=e.call(i.f7,o)}}}});const Q={get(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?A.get(t):e===i.sO?A:A[e]},set(A,e,t){const g="symbol"==typeof e?0:0|e;return 0!==g||g==e?A.set(g,t):A[e]=t,!0},deleteProperty(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e&&(delete A[e],!0)},has(A,e){const t="symbol"==typeof e?0:0|e;return 0!==t||t==e?t>=0&&t<A.length:A[e]},ownKeys(A){const e=[];for(let t=0,g=A.length;t<g;t++)e.push(`${t}`);return e.push("length",i.rG),e},getOwnPropertyDescriptor(A,e){const t="symbol"==typeof e?0:0|e;return 0===t&&t!=e?Object.getOwnPropertyDescriptor(A,e):t>=0&&t<A.length?{value:A.get(t),enumerable:!0,writable:!0,configurable:!0}:void 0}}},3509:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineArray(A,e){const{length:t,instance:{members:[i]},flags:o}=A,r=this.createApplier(A),B=this.defineMember(i),{set:n}=B,s=this.createConstructor(A),E=function(e,i){if((0,C.pU)(e,s))this[Q.sF](e),o&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&o&g.uE.IsString&&(e={string:e}),e?.[Symbol.iterator]){if((e=(0,C.FU)(e)).length!==t)throw new I.Y8(A,this,e);let g=0;for(const A of e)n.call(this,g++,A,i)}else if(e&&"object"==typeof e){if(0===r.call(this,e))throw new I.L2(A,e)}else if(void 0!==e)throw new I.L2(A,e)};return e.$={get:C.V_,set:E},e.length=(0,C.vQ)(t),e.entries=e[Q.lf]=this.defineArrayEntries(),o&g.uE.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),o&g.uE.IsString&&(e.string=this.defineString(A)),o&g.uE.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e[Symbol.iterator]=this.defineArrayIterator(),e[Q.Zv]=(0,C.vQ)(E),e[Q.vm]=this.defineFinalizerArray(B),e[Q.tZ]=o&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=o&g.yi.HasPointer&&this.defineVisitorArray(),s},finalizeArray(A,e){const{flags:t,instance:{members:[i]}}=A;e.child=(0,C.vQ)(i.structure.constructor),e[Q.fd]=t&g.uE.HasSentinel&&this.defineSentinel(A)}})},7382:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineFunction(A,e){const{instance:{members:[t],template:i},static:{template:o}}=A,r=new C.UF,{structure:{constructor:B}}=t,n=this,s=function(e){const t=this instanceof s;let E,a;if(t){if(0===arguments.length)throw new I.ci(A);if("function"!=typeof e)throw new I.Pd("function",e);if(B[Q.ZE]===g.ev.VariadicStruct||!o)throw new I.O0;E=n.getFunctionThunk(e,o)}else{if(this!==Q.M0)throw new I.Qm;E=e}if(a=r.find(E))return a;const c=B.prototype.length,u=t?n.createInboundCaller(e,B):n.createOutboundCaller(i,B);return(0,C.ny)(u,{length:(0,C.vQ)(c),name:(0,C.vQ)(t?e.name:"")}),Object.setPrototypeOf(u,s.prototype),u[Q.Qy]=E,r.save(E,u),u};return Object.setPrototypeOf(s.prototype,Function.prototype),e.valueOf=e.toJSON=(0,C.vQ)(C.Ng),s},finalizeFunction(A,e,t){t[Symbol.toStringTag]=void 0}})},1425:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);function o(A,e){return(0,C.xN)(A?.constructor?.child,e)&&A["*"]}function r(A,e,t){if(t&g.UT.IsMultiple){if(A?.constructor?.child?.child===e.child&&A["*"])return!0;if(t&g.UT.IsSingle&&o(A,e.child))return!0}return!1}(0,i.co)({definePointer(A,e){const{flags:t,byteSize:i,instance:{members:[B]}}=A,{structure:E}=B,{type:a,flags:c,byteSize:u=1}=E,l=t&g.UT.HasLength?i/2:i,{get:f,set:h}=this.defineMember({type:g.Z9.Uint,bitOffset:0,bitSize:8*l,byteSize:l,structure:{byteSize:l}}),{get:w,set:D}=t&g.UT.HasLength?this.defineMember({type:g.Z9.Uint,bitOffset:8*l,bitSize:8*l,byteSize:l,structure:{flags:g.AD.IsSize,byteSize:l}}):{},y=function(A,e=!0,i=!0){if(e||this[Q.Qy][Q.Dr]){if(!i)return this[Q._f][0]=void 0;{const e=b.child,i=f.call(this),I=t&g.UT.HasLength?w.call(this):a===g.ev.Slice&&c&g.tv.HasSentinel?m.findSentinel(i,e[Q.fd].bytes)+1:1;if(i!==this[Q.c6]||I!==this[Q.uL]){const C=m.findMemory(A,i,I,e[Q.SK]),o=C?e.call(Q.M0,C):null;return this[Q._f][0]=o,this[Q.c6]=i,this[Q.uL]=I,t&g.UT.HasLength&&(this[Q.E2]=null),o}}}return this[Q._f][0]},d=function(A){h.call(this,A),this[Q.c6]=A},p=c&g.tv.HasSentinel?1:0,S=t&g.UT.HasLength||c&g.tv.HasSentinel?function(A){D?.call?.(this,A-p),this[Q.uL]=A}:null,F=function(){const A=this[Q.C7]??this,e=!A[Q._f][0],i=y.call(A,null,e);if(!i){if(t&g.UT.IsNullable)return null;throw new I.BY}return t&g.UT.IsConst?n(i):i},U=c&g.yi.HasValue?function(){return F.call(this).$}:F,k=t&g.UT.IsConst?I.V0:function(A){return F.call(this).$=A},m=this,N=function(e,i){const B=E.constructor;if(o(e,B)){if(!(t&g.UT.IsConst)&&e.constructor.const)throw new I.G9(A,e);e=e[Q._f][0]}else if(t&g.UT.IsMultiple)r(e,B,t)&&(e=B(e[Q._f][0][Q.Qy]));else if(a===g.ev.Slice&&c&g.tv.IsOpaque&&e)if(e.constructor[Q.ZE]===g.ev.Pointer)e=e[Q.Qn]?.[Q.Qy];else if(e[Q.Qy])e=e[Q.Qy];else if(e?.buffer instanceof ArrayBuffer&&!(e instanceof Uint8Array||e instanceof DataView)){const{byteOffset:A,byteLength:t}=e;void 0!==A&&void 0!==t&&(e=new DataView(e.buffer,A,t))}if(e instanceof B){e[Q.zN]?.();const i=e[Q.KK];if(i){if(!(t&g.UT.IsConst))throw new I.ck(A);e=i}}else if((0,C.pU)(e,B))e=B.call(Q.M0,e[Q.Qy]);else if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&e instanceof B.child)e=B(e[Q.Qy]);else if(function(A,e){const t=A?.[Symbol.toStringTag];if(t){const g=e[Q.pM];if(g)switch(t){case g.name:case"DataView":return!0;case"ArrayBuffer":return g===Uint8Array||g===Int8Array;case"Uint8ClampedArray":return g===Uint8Array}if(e.child&&void 0!==(0,C.be)(A,e.child))return!0}return!1}(e,B))e=B(m.extractView(E,e));else if(null==e||e[Q.Qy]){if(!(void 0===e||t&g.UT.IsNullable&&null===e))throw new I.QB(A,e)}else{if(t&g.UT.IsSingle&&t&g.UT.IsMultiple&&"object"==typeof e&&!e[Symbol.iterator]){let A=!0;const t=B.prototype[Q.Bl];for(const g of Object.keys(e)){const e=t[g];if(e?.special){A=!1;break}}A&&(e=[e])}if(Q.pM in B&&e?.buffer&&e[Symbol.iterator])throw new I.QB(A,e);e=new B(e,{allocator:i})}const n=e?.[Q.Qy]?.[Q.Dr];if(n?.address===C.Y$)throw new I.xp(e);this[Q.Qn]=e},b=this.createConstructor(A);return e["*"]={get:U,set:k},e.$={get:C.V_,set:N},e.length={get:function(){const A=F.call(this);return A?A.length:0},set:function(A){A|=0;const e=F.call(this);if(!e){if(0!==A)throw new I._L(A,0);return}if(e.length===A)return;e[Q.zN]?.();const i=e[Q.Qy],C=i[Q.Dr];let o;if(C||(t&g.UT.HasLength?(this[Q.E2]||=e.length,o=this[Q.E2]):o=(i.buffer.byteLength-i.byteOffset)/u|0),A<0||A>o)throw new I._L(A,o);const r=A*u,B=C?m.obtainZigView(C.address,r):m.obtainView(i.buffer,i.byteOffset,r),n=E.constructor;this[Q._f][0]=n.call(Q.M0,B),S?.call?.(this,A)}},e.slice=a===g.ev.Slice&&{value(A,e){const t=this[Q.Qn].slice(A,e);return new b(t)}},e.subarray=a===g.ev.Slice&&{value(A,e,t){const g=this[Q.Qn].subarray(A,e,t);return new b(g)}},e[Symbol.toPrimitive]=a===g.ev.Primitive&&{value(A){return this[Q.Qn][Symbol.toPrimitive](A)}},e[Q.Zv]=(0,C.vQ)(N),e[Q.vm]={value(){const A=a!==g.ev.Pointer?s:{};let e;a===g.ev.Function?(e=function(){},e[Q.Qy]=this[Q.Qy],e[Q._f]=this[Q._f],Object.setPrototypeOf(e,b.prototype)):e=this;const t=new Proxy(e,A);return Object.defineProperty(e,Q.rG,{value:t}),t}},e[Q.Qn]={get:F,set:function(A){if(void 0===A)return;const e=this[Q.C7]??this;if(A){const t=A[Q.Qy][Q.Dr];if(t){const{address:e,js:g}=t;d.call(this,e),S?.call?.(this,A.length),g&&(A[Q.Qy][Q.Dr]=void 0)}else if(e[Q.Qy][Q.Dr])throw new I.x1}else e[Q.Qy][Q.Dr]&&(d.call(this,0),S?.call?.(this,0));e[Q._f][0]=A??null,t&g.UT.HasLength&&(e[Q.E2]=null)}},e[Q.q6]=(0,C.vQ)(y),e[Q.BD]={set:d},e[Q.pi]={set:S},e[Q.g9]=this.defineVisitor(),e[Q.c6]=(0,C.vQ)(0),e[Q.uL]=(0,C.vQ)(0),e[Q.E2]=t&g.UT.HasLength&&(0,C.vQ)(null),e.dataView=e.base64=void 0,b},finalizePointer(A,e){const{flags:t,constructor:i,instance:{members:[B]}}=A,{structure:n}=B,{type:s,constructor:E}=n;e.child=E?(0,C.vQ)(E):{get:()=>n.constructor},e.const=(0,C.vQ)(!!(t&g.UT.IsConst)),e[Q.mL]={value(e,C){if(this===Q.M0||this===Q.f7||e instanceof i)return!1;if(o(e,E))return new i(E(e["*"]),C);if(r(e,E,t))return new i(e);if(s===g.ev.Slice)return new i(E(e),C);throw new I.zy(A)}}}});const B=new WeakMap;function n(A){let e=B.get(A);if(!e){const t=A[Q.C7];e=t?new Proxy(t,E):new Proxy(A,a),B.set(A,e)}return e}const s={get:(A,e)=>e===Q.C7?A:e in A?A[e]:A[Q.Qn][e],set:(A,e,t)=>(e in A?A[e]=t:A[Q.Qn][e]=t,!0),deleteProperty:(A,e)=>(e in A?delete A[e]:delete A[Q.Qn][e],!0),has:(A,e)=>e in A||e in A[Q.Qn],apply:(A,e,t)=>A["*"].apply(e,t)},E={...s,set:(A,e,t)=>(e in A?(0,I.V0)():A[Q.Qn][e]=t,!0)},a={get(A,e){if(e===Q.KK)return A;{const t=A[e];return t?.[Q.Qy]?n(t):t}},set(A,e,t){(0,I.V0)()}}},8773:(A,e,t)=>{var g=t(6560),i=t(4762),I=t(4540),Q=t(8e3);(0,g.co)({definePrimitive(A,e){const{instance:{members:[t]}}=A,g=this.createApplier(A),{get:C,set:o}=this.defineMember(t),r=function(e){if((0,Q.pU)(e,B))this[I.sF](e);else if(e&&"object"==typeof e){if(0===g.call(this,e)){const g=(0,Q.BF)(t);throw new i.is(A,g,e)}}else void 0!==e&&o.call(this,e)},B=this.createConstructor(A);return e.$={get:C,set:r},e[I.Zv]=(0,Q.vQ)(r),e[Symbol.toPrimitive]=(0,Q.vQ)(C),B},finalizePrimitive(A,e){const{instance:{members:[t]}}=A;e[I.Qt]=(0,Q.vQ)(t.bitSize),e[I.uT]=(0,Q.vQ)(t.type)}})},3086:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);function o(){return this[Q.pi]}function r(A,e){return(A|=0)<0?(A=e+A)<0&&(A=0):A>e&&(A=e),A}(0,i.co)({defineSlice(A,e){const{align:t,flags:i,byteSize:B,name:n,instance:{members:[s]}}=A,{byteSize:E,structure:a}=s,c=this,u=function(A,e,g){A||(A=c.allocateMemory(e*E,t,g)),this[Q.Qy]=A,this[Q.pi]=e},l=function(e,t){if(t!==this[Q.pi])throw new I.Y8(A,this,e)},f=this.defineMember(s),{set:h}=f,w=this.createApplier(A),D=function(e,t){if((0,C.pU)(e,d))this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t),this[Q.sF](e),i&g.yi.HasPointer&&this[Q.g9]("copy",g.F7.Vivificate,e);else if("string"==typeof e&&i&g.tv.IsString)D.call(this,{string:e},t);else if(e?.[Symbol.iterator]){e=(0,C.FU)(e),this[Q.Qy]?l.call(this,e,e.length):u.call(this,null,e.length,t);let A=0;for(const g of e)d[Q.fd]?.validateValue(g,A,e.length),h.call(this,A++,g,t)}else if("number"==typeof e){if(!(!this[Q.Qy]&&e>=0&&isFinite(e)))throw new I.L2(A,e,!this[Q.Qy]);u.call(this,null,e,t)}else if(e&&"object"==typeof e){if(0===w.call(this,e,t))throw new I.L2(A,e)}else if(void 0!==e)throw new I.L2(A,e)},y=function(A,e){const t=this[Q.pi],g=this[Q.Qy];A=void 0===A?0:r(A,t),e=void 0===e?t:r(e,t);const i=A*E,I=e*E-i;return c.obtainView(g.buffer,g.byteOffset+i,I)},d=this.createConstructor(A);return e.$={get:C.V_,set:D},e.length={get:o},i&g.tv.IsTypedArray&&(e.typedArray=this.defineTypedArray(A),i&g.tv.IsString&&(e.string=this.defineString(A)),i&g.tv.IsClampedArray&&(e.clampedArray=this.defineClampedArray(A))),e.entries=e[Q.lf]=this.defineArrayEntries(),e.subarray={value(A,e){const t=y.call(this,A,e);return d(t)}},e.slice={value(A,e,g={}){const{zig:i=!1}=g,I=y.call(this,A,e),C=c.allocateMemory(I.byteLength,t,i),o=d(C);return o[Q.sF]({[Q.Qy]:I}),o}},e[Symbol.iterator]=this.defineArrayIterator(),e[Q.IW]=(0,C.vQ)(u),e[Q.sF]=this.defineCopier(B,!0),e[Q.Zv]=(0,C.vQ)(D),e[Q.vm]=this.defineFinalizerArray(f),e[Q.tZ]=i&g.yi.HasObject&&this.defineVivificatorArray(A),e[Q.g9]=i&g.yi.HasPointer&&this.defineVisitorArray(),d},finalizeSlice(A,e){const{flags:t,instance:{members:[i]}}=A;e.child=(0,C.vQ)(i.structure.constructor),e[Q.fd]=t&g.tv.HasSentinel&&this.defineSentinel(A)}})},8991:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);(0,i.co)({defineVivificatorStruct(A){const{instance:{members:e}}=A,t={};for(const A of e.filter((A=>A.type===g.Z9.Object)))t[A.slot]=A;const i=this;return{value(A){const e=t[A],{bitOffset:g,byteSize:C,structure:{constructor:o}}=e;this[Q.zN]?.();const r=this[Q.Qy],B=r.byteOffset+(g>>3);let n=C;if(void 0===n){if(7&g)throw new I.Vp(e);n=e.bitSize>>3}const s=i.obtainView(r.buffer,B,n);return this[Q._f][A]=o.call(Q.f7,s)}}}})},8771:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(4762),Q=t(4540),C=t(8e3);(0,i.co)({defineStruct(A,e){const{flags:t,length:i,instance:{members:o}}=A,r=o.find((A=>A.flags&g.pK.IsBackingInt)),B=r&&this.defineMember(r),n=this.createApplier(A),s=function(e,i){if((0,C.pU)(e,E))this[Q.sF](e),t&g.yi.HasPointer&&this[Q.g9]("copy",0,e);else if(e&&"object"==typeof e)n.call(this,e,i);else if("number"!=typeof e&&"bigint"!=typeof e||!B){if(void 0!==e)throw new I.is(A,"object",e)}else B.set.call(this,e)},E=this.createConstructor(A),a=e[Q.Bl].value,c=e[Q.Rk].value,u=[];for(const A of o.filter((A=>!!A.name))){const{name:t,flags:i}=A,{set:I}=e[t]=this.defineMember(A);I&&(i&g.pK.IsRequired&&(I.required=!0),a[t]=I,c.push(t)),u.push(t)}return e.$={get:C.Ng,set:s},e.length=(0,C.vQ)(i),e.entries=t&g.sU.IsTuple&&this.defineVectorEntries(),e[Symbol.toPrimitive]=B&&{value(A){return"string"===A?Object.prototype.toString.call(this):B.get.call(this)}},e[Symbol.iterator]=t&g.sU.IsIterator?this.defineZigIterator():t&g.sU.IsTuple?this.defineVectorIterator():this.defineStructIterator(),e[Q.Zv]=(0,C.vQ)(s),e[Q.tZ]=t&g.yi.HasObject&&this.defineVivificatorStruct(A),e[Q.g9]=t&g.yi.HasPointer&&this.defineVisitorStruct(o),e[Q.lf]=t&g.sU.IsTuple?this.defineVectorEntries():this.defineStructEntries(),e[Q.n5]=(0,C.vQ)(u),t&g.sU.IsAllocator&&(e.alloc=this.defineAlloc(),e.free=this.defineFree(),e.dupe=this.defineDupe()),E}})},4540:(A,e,t)=>{t.d(e,{BD:()=>w,Bl:()=>K,C7:()=>E,Dr:()=>r,E2:()=>f,Ec:()=>k,Gz:()=>x,IW:()=>T,J2:()=>R,KK:()=>m,M0:()=>N,Qn:()=>u,Qt:()=>U,Qy:()=>Q,Rk:()=>h,SK:()=>F,Wg:()=>n,ZE:()=>B,Zv:()=>z,_d:()=>L,_f:()=>C,c6:()=>y,du:()=>v,eR:()=>J,f$:()=>V,f7:()=>o,fV:()=>S,fd:()=>a,g9:()=>O,iw:()=>b,lf:()=>l,mL:()=>W,n5:()=>s,pM:()=>G,pi:()=>D,q6:()=>q,rG:()=>p,sF:()=>P,sO:()=>c,tZ:()=>H,uL:()=>d,uT:()=>M,vm:()=>j,wg:()=>X,zN:()=>Y,zg:()=>Z});const g=globalThis[Symbol.for("ZIGAR")]||={};function i(A){return g[A]||=Symbol(A)}function I(A){return i(A)}const Q=I("memory"),C=I("slots"),o=I("parent"),r=I("zig"),B=(I("name"),I("type")),n=I("flags"),s=(I("class"),I("tag"),I("props")),E=I("pointer"),a=I("sentinel"),c=I("array"),u=(I("items"),I("target")),l=I("entries"),f=I("max length"),h=I("keys"),w=I("address"),D=I("length"),y=I("last address"),d=I("last length"),p=I("proxy"),S=I("cache"),F=I("size"),U=I("bit size"),k=I("align"),m=I("const target"),N=I("environment"),b=I("attributes"),M=I("primitive"),K=(I("getters"),I("setters")),G=I("typed array"),v=I("throwing"),J=I("promise"),L=I("generator"),x=I("allocator"),R=(I("fallback"),I("signature")),q=I("update"),Y=I("restore"),H=(I("reset"),I("vivificate")),O=I("visit"),P=I("copy"),T=I("shape"),z=I("initialize"),V=I("restrict"),j=I("finalize"),W=I("cast"),Z=I("return"),X=I("yield")},8e3:(A,e,t)=>{t.d(e,{$k:()=>l,Au:()=>D,BF:()=>r,FU:()=>y,Fy:()=>f,Ie:()=>m,L9:()=>o,NV:()=>F,Ng:()=>U,UF:()=>N,V_:()=>k,WG:()=>n,Y$:()=>h,ZG:()=>a,be:()=>d,cv:()=>w,g7:()=>B,hJ:()=>u,n8:()=>I,ny:()=>Q,on:()=>c,pU:()=>S,vQ:()=>C,xN:()=>p,y4:()=>s});var g=t(1388),i=t(4540);function I(A,e,t){if(t){const{set:g,get:i,value:I,enumerable:Q,configurable:C=!0,writable:o=!0}=t;Object.defineProperty(A,e,i||g?{get:i,set:g,configurable:C,enumerable:Q}:{value:I,configurable:C,enumerable:Q,writable:o})}return A}function Q(A,e){for(const[t,g]of Object.entries(e))I(A,t,g);for(const t of Object.getOwnPropertySymbols(e))I(A,t,e[t]);return A}function C(A){return void 0!==A?{value:A}:void 0}function o(A){return"return"===A?.error?A=>{try{return A()}catch(A){return A}}:A=>A()}function r({type:A,bitSize:e}){switch(A){case g.Z9.Bool:return"boolean";case g.Z9.Int:case g.Z9.Uint:if(e>32)return"bigint";case g.Z9.Float:return"number"}}function B(A,e="utf-8"){const t=E[e]||=new TextDecoder(e);let g;if(Array.isArray(A))if(1===A.length)g=A[0];else{let e=0;for(const t of A)e+=t.length;const{constructor:t}=A[0];g=new t(e);let i=0;for(const e of A)g.set(e,i),i+=e.length}else g=A;return"SharedArrayBuffer"===g.buffer[Symbol.toStringTag]&&(g=new g.constructor(g)),t.decode(g)}function n(A){const e=new Uint8Array(A.buffer,A.byteOffset,A.byteLength),t=String.fromCharCode.apply(null,e);return btoa(t)}function s(A){const e=atob(A),t=new Uint8Array(e.length);for(let A=0;A<t.byteLength;A++)t[A]=e.charCodeAt(A);return new DataView(t.buffer)}const E={};function a(A,e,t){let g=0,i=A.length;if(0===i)return 0;for(;g<i;){const I=Math.floor((g+i)/2);t(A[I])<=e?g=I+1:i=I}return i}const c=function(A,e){return!!e&&!!(A&e-1)},u=function(A,e){return A+(e-1)&~(e-1)},l=0,f=4294967295,h=-1,w=function(A){return 2863311530===A||-1431655766===A},D=function(A,e){return A+e};function y(A){if("number"==typeof A.length)return A;const e=A[Symbol.iterator](),t=e.next(),g=t.value?.length;if("number"==typeof g&&"length"===Object.keys(t.value).join())return Object.assign(function*(){let A;for(;!(A=e.next()).done;)yield A.value}(),{length:g});{const A=[];let g=t;for(;!g.done;)A.push(g.value),g=e.next();return A}}function d(A,e){const{constructor:t}=A;return t===e?1:t.child===e?A.length:void 0}function p(A,e){return A===e||A?.[i.J2]===e[i.J2]&&A?.[i.M0]!==e?.[i.M0]}function S(A,e){return A instanceof e||p(A?.constructor,e)}function F({get:A,set:e}){return A.special=e.special=!0,{get:A,set:e}}function U(){return this}function k(){return this[i.rG]}function m(){}class N{map=new WeakMap;find(A){return this.map.get(A)}save(A,e){return this.map.set(A,e),e}}},8502:(A,e,t)=>{t.d(e,{k:()=>C});var g=t(1388),i=t(6560),I=t(4762),Q=t(4540);function C(A,e,t,i){let I,C=this[Q._f][A];if(!C){if(t&g.F7.IgnoreUncreated)return;C=this[Q.tZ](A)}i&&(I=i[Q._f][A],!I)||C[Q.g9](e,t,I)}(0,i.co)({defineVisitor:()=>({value(A,e,t){let g;g="string"==typeof A?o[A]:A,g.call(this,e,t)}})});const o={copy(A,e){const t=e[Q._f][0];if(this[Q.Qy][Q.Dr]&&t&&!t[Q.Qy][Q.Dr])throw new I.x1;this[Q._f][0]=t},clear(A){A&g.F7.IsInactive&&(this[Q._f][0]=void 0)},reset(){this[Q._f][0]=void 0,this[Q.c6]=void 0}}},9025:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(8502);(0,i.co)({defineVisitorArgStruct(A){const e=[];let t;for(const[i,{slot:I,structure:Q}]of A.entries())Q.flags&g.yi.HasPointer&&(0===i?t=I:e.push(I));return{value(A,i,Q){if(!(i&g.F7.IgnoreArguments)&&e.length>0)for(const t of e)I.k.call(this,t,A,i|g.F7.IsImmutable,Q);i&g.F7.IgnoreRetval||void 0===t||I.k.call(this,t,A,i,Q)}}}})},5558:(A,e,t)=>{var g=t(1388),i=t(6560),I=t(8502);(0,i.co)({defineVisitorStruct(A){const e=A.filter((A=>A.structure?.flags&g.yi.HasPointer)).map((A=>A.slot));return{value(A,t,g){for(const i of e)I.k.call(this,i,A,t,g)}}}})},1369:A=>{A.exports=JSON.parse('{"Wn":[{"id":57345,"index":1,"char":"","width":24,"height":21,"xoffset":-2,"yoffset":4,"xadvance":20,"chnl":15,"x":0,"y":0,"page":0},{"id":57346,"index":2,"char":"","width":23,"height":24,"xoffset":-1,"yoffset":2,"xadvance":20,"chnl":15,"x":25,"y":0,"page":0}]}')}},I={};function Q(A){var e=I[A];if(void 0!==e)return e.exports;var t=I[A]={exports:{}};return i[A](t,t.exports,Q),t.exports}A="function"==typeof Symbol?Symbol("webpack queues"):"__webpack_queues__",e="function"==typeof Symbol?Symbol("webpack exports"):"__webpack_exports__",t="function"==typeof Symbol?Symbol("webpack error"):"__webpack_error__",g=A=>{A&&A.d<1&&(A.d=1,A.forEach((A=>A.r--)),A.forEach((A=>A.r--?A.r++:A())))},Q.a=(i,I,Q)=>{var C;Q&&((C=[]).d=-1);var o,r,B,n=new Set,s=i.exports,E=new Promise(((A,e)=>{B=e,r=A}));E[e]=s,E[A]=A=>(C&&A(C),n.forEach(A),E.catch((A=>{}))),i.exports=E,I((i=>{var I;o=(i=>i.map((i=>{if(null!==i&&"object"==typeof i){if(i[A])return i;if(i.then){var I=[];I.d=0,i.then((A=>{Q[e]=A,g(I)}),(A=>{Q[t]=A,g(I)}));var Q={};return Q[A]=A=>A(I),Q}}var C={};return C[A]=A=>{},C[e]=i,C})))(i);var Q=()=>o.map((A=>{if(A[t])throw A[t];return A[e]})),r=new Promise((e=>{(I=()=>e(Q)).r=0;var t=A=>A!==C&&!n.has(A)&&(n.add(A),A&&!A.d&&(I.r++,A.push(I)));o.map((e=>e[A](t)))}));return I.r?r:Q()}),(A=>(A?B(E[t]=A):r(s),g(C)))),C&&C.d<0&&(C.d=0)},Q.d=(A,e)=>{for(var t in e)Q.o(e,t)&&!Q.o(A,t)&&Object.defineProperty(A,t,{enumerable:!0,get:e[t]})},Q.o=(A,e)=>Object.prototype.hasOwnProperty.call(A,e),(()=>{var A;if("string"==typeof import.meta.url&&(A=import.meta.url),!A)throw new Error("Automatic publicPath is not supported in this browser");A=A.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),Q.p=A})();var C=Q(8156),o=(C=await C).A;export{o as default};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|