diff --git a/assets/AssetManifest.bin b/assets/AssetManifest.bin new file mode 100644 index 0000000..ab621db --- /dev/null +++ b/assets/AssetManifest.bin @@ -0,0 +1 @@ + assets/images/profileimage.jpg  assetassets/images/profileimage.jpg2packages/cupertino_icons/assets/CupertinoIcons.ttf  asset2packages/cupertino_icons/assets/CupertinoIcons.ttf9packages/font_awesome_flutter/lib/fonts/fa-brands-400.ttf  asset9packages/font_awesome_flutter/lib/fonts/fa-brands-400.ttf:packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf  asset:packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf8packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf  asset8packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf \ No newline at end of file diff --git a/assets/assets/images/profileimage.jpg b/assets/assets/images/profileimage.jpg new file mode 100644 index 0000000..299b89d Binary files /dev/null and b/assets/assets/images/profileimage.jpg differ diff --git a/assets/packages/font_awesome_flutter/lib/fonts/fa-brands-400.ttf b/assets/packages/font_awesome_flutter/lib/fonts/fa-brands-400.ttf new file mode 100644 index 0000000..abcc1f1 Binary files /dev/null and b/assets/packages/font_awesome_flutter/lib/fonts/fa-brands-400.ttf differ diff --git a/assets/packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf b/assets/packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf new file mode 100644 index 0000000..e509fab Binary files /dev/null and b/assets/packages/font_awesome_flutter/lib/fonts/fa-regular-400.ttf differ diff --git a/assets/packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf b/assets/packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf new file mode 100644 index 0000000..175b96f Binary files /dev/null and b/assets/packages/font_awesome_flutter/lib/fonts/fa-solid-900.ttf differ diff --git a/assets/shaders/ink_sparkle.frag b/assets/shaders/ink_sparkle.frag new file mode 100644 index 0000000..3591af4 --- /dev/null +++ b/assets/shaders/ink_sparkle.frag @@ -0,0 +1,160 @@ +{ + "sksl": "// This SkSL shader is autogenerated by spirv-cross.\n\nfloat4 flutter_FragCoord;\n\nuniform vec4 u_color;\nuniform float u_alpha;\nuniform vec4 u_sparkle_color;\nuniform float u_sparkle_alpha;\nuniform float u_blur;\nuniform vec2 u_center;\nuniform float u_radius_scale;\nuniform float u_max_radius;\nuniform vec2 u_resolution_scale;\nuniform vec2 u_noise_scale;\nuniform float u_noise_phase;\nuniform vec2 u_circle1;\nuniform vec2 u_circle2;\nuniform vec2 u_circle3;\nuniform vec2 u_rotation1;\nuniform vec2 u_rotation2;\nuniform vec2 u_rotation3;\n\nvec4 fragColor;\n\nvec2 FLT_flutter_local_FlutterFragCoord()\n{\n return flutter_FragCoord.xy;\n}\n\nmat2 FLT_flutter_local_rotate2d(vec2 rad)\n{\n return mat2(vec2(rad.x, -rad.y), vec2(rad.y, rad.x));\n}\n\nfloat FLT_flutter_local_soft_circle(vec2 uv, vec2 xy, float radius, float blur)\n{\n float blur_half = blur * 0.5;\n float d = distance(uv, xy);\n return 1.0 - smoothstep(1.0 - blur_half, 1.0 + blur_half, d / radius);\n}\n\nfloat FLT_flutter_local_circle_grid(vec2 resolution, inout vec2 p, vec2 xy, vec2 rotation, float cell_diameter)\n{\n vec2 param = rotation;\n p = (FLT_flutter_local_rotate2d(param) * (xy - p)) + xy;\n p = mod(p, vec2(cell_diameter)) / resolution;\n float cell_uv = (cell_diameter / resolution.y) * 0.5;\n float r = 0.64999997615814208984375 * cell_uv;\n vec2 param_1 = p;\n vec2 param_2 = vec2(cell_uv);\n float param_3 = r;\n float param_4 = r * 50.0;\n return FLT_flutter_local_soft_circle(param_1, param_2, param_3, param_4);\n}\n\nfloat FLT_flutter_local_turbulence(vec2 uv)\n{\n vec2 uv_scale = uv * vec2(0.800000011920928955078125);\n vec2 param = vec2(0.800000011920928955078125);\n vec2 param_1 = uv_scale;\n vec2 param_2 = u_circle1;\n vec2 param_3 = u_rotation1;\n float param_4 = 0.17000000178813934326171875;\n float _301 = FLT_flutter_local_circle_grid(param, param_1, param_2, param_3, param_4);\n float g1 = _301;\n vec2 param_5 = vec2(0.800000011920928955078125);\n vec2 param_6 = uv_scale;\n vec2 param_7 = u_circle2;\n vec2 param_8 = u_rotation2;\n float param_9 = 0.20000000298023223876953125;\n float _313 = FLT_flutter_local_circle_grid(param_5, param_6, param_7, param_8, param_9);\n float g2 = _313;\n vec2 param_10 = vec2(0.800000011920928955078125);\n vec2 param_11 = uv_scale;\n vec2 param_12 = u_circle3;\n vec2 param_13 = u_rotation3;\n float param_14 = 0.2750000059604644775390625;\n float _326 = FLT_flutter_local_circle_grid(param_10, param_11, param_12, param_13, param_14);\n float g3 = _326;\n float v = (((g1 * g1) + g2) - g3) * 0.5;\n return clamp(0.449999988079071044921875 + (0.800000011920928955078125 * v), 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_soft_ring(vec2 uv, vec2 xy, float radius, float thickness, float blur)\n{\n vec2 param = uv;\n vec2 param_1 = xy;\n float param_2 = radius + thickness;\n float param_3 = blur;\n float circle_outer = FLT_flutter_local_soft_circle(param, param_1, param_2, param_3);\n vec2 param_4 = uv;\n vec2 param_5 = xy;\n float param_6 = max(radius - thickness, 0.0);\n float param_7 = blur;\n float circle_inner = FLT_flutter_local_soft_circle(param_4, param_5, param_6, param_7);\n return clamp(circle_outer - circle_inner, 0.0, 1.0);\n}\n\nfloat FLT_flutter_local_triangle_noise(inout vec2 n)\n{\n n = fract(n * vec2(5.398700237274169921875, 5.442100048065185546875));\n n += vec2(dot(n.yx, n + vec2(21.5351009368896484375, 14.3136997222900390625)));\n float xy = n.x * n.y;\n return (fract(xy * 95.43070220947265625) + fract(xy * 75.0496063232421875)) - 1.0;\n}\n\nfloat FLT_flutter_local_threshold(float v, float l, float h)\n{\n return step(l, v) * (1.0 - step(h, v));\n}\n\nfloat FLT_flutter_local_sparkle(vec2 uv, float t)\n{\n vec2 param = uv;\n float _224 = FLT_flutter_local_triangle_noise(param);\n float n = _224;\n float param_1 = n;\n float param_2 = 0.0;\n float param_3 = 0.0500000007450580596923828125;\n float s = FLT_flutter_local_threshold(param_1, param_2, param_3);\n float param_4 = n + sin(3.1415927410125732421875 * (t + 0.3499999940395355224609375));\n float param_5 = 0.100000001490116119384765625;\n float param_6 = 0.1500000059604644775390625;\n s += FLT_flutter_local_threshold(param_4, param_5, param_6);\n float param_7 = n + sin(3.1415927410125732421875 * (t + 0.699999988079071044921875));\n float param_8 = 0.20000000298023223876953125;\n float param_9 = 0.25;\n s += FLT_flutter_local_threshold(param_7, param_8, param_9);\n float param_10 = n + sin(3.1415927410125732421875 * (t + 1.0499999523162841796875));\n float param_11 = 0.300000011920928955078125;\n float param_12 = 0.3499999940395355224609375;\n s += FLT_flutter_local_threshold(param_10, param_11, param_12);\n return clamp(s, 0.0, 1.0) * 0.550000011920928955078125;\n}\n\nvoid FLT_main()\n{\n vec2 p = FLT_flutter_local_FlutterFragCoord();\n vec2 uv_1 = p * u_resolution_scale;\n vec2 density_uv = uv_1 - mod(p, u_noise_scale);\n float radius = u_max_radius * u_radius_scale;\n vec2 param_13 = uv_1;\n float turbulence = FLT_flutter_local_turbulence(param_13);\n vec2 param_14 = p;\n vec2 param_15 = u_center;\n float param_16 = radius;\n float param_17 = 0.0500000007450580596923828125 * u_max_radius;\n float param_18 = u_blur;\n float ring = FLT_flutter_local_soft_ring(param_14, param_15, param_16, param_17, param_18);\n vec2 param_19 = density_uv;\n float param_20 = u_noise_phase;\n float sparkle = ((FLT_flutter_local_sparkle(param_19, param_20) * ring) * turbulence) * u_sparkle_alpha;\n vec2 param_21 = p;\n vec2 param_22 = u_center;\n float param_23 = radius;\n float param_24 = u_blur;\n float wave_alpha = (FLT_flutter_local_soft_circle(param_21, param_22, param_23, param_24) * u_alpha) * u_color.w;\n vec4 wave_color = vec4(u_color.xyz * wave_alpha, wave_alpha);\n vec4 sparkle_color = vec4(u_sparkle_color.xyz * u_sparkle_color.w, u_sparkle_color.w);\n fragColor = mix(wave_color, sparkle_color, vec4(sparkle));\n}\n\nhalf4 main(float2 iFragCoord)\n{\n flutter_FragCoord = float4(iFragCoord, 0, 0);\n FLT_main();\n return fragColor;\n}\n", + "stage": 1, + "target_platform": 2, + "uniforms": [ + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 0, + "name": "u_color", + "rows": 4, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 1, + "name": "u_alpha", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 2, + "name": "u_sparkle_color", + "rows": 4, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 3, + "name": "u_sparkle_alpha", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 4, + "name": "u_blur", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 5, + "name": "u_center", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 6, + "name": "u_radius_scale", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 7, + "name": "u_max_radius", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 8, + "name": "u_resolution_scale", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 9, + "name": "u_noise_scale", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 10, + "name": "u_noise_phase", + "rows": 1, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 11, + "name": "u_circle1", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 12, + "name": "u_circle2", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 13, + "name": "u_circle3", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 14, + "name": "u_rotation1", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 15, + "name": "u_rotation2", + "rows": 2, + "type": 10 + }, + { + "array_elements": 0, + "bit_width": 32, + "columns": 1, + "location": 16, + "name": "u_rotation3", + "rows": 2, + "type": 10 + } + ] +} \ No newline at end of file diff --git a/canvaskit/chromium/canvaskit.js b/canvaskit/chromium/canvaskit.js new file mode 100644 index 0000000..830e3d1 --- /dev/null +++ b/canvaskit/chromium/canvaskit.js @@ -0,0 +1,222 @@ + +var CanvasKitInit = (() => { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(CanvasKitInit = {}) { + +var r;r||(r=typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : {});var aa,ba;r.ready=new Promise(function(a,b){aa=a;ba=b}); +(function(a){a.Hd=a.Hd||[];a.Hd.push(function(){a.MakeSWCanvasSurface=function(b){var c=b,e="undefined"!==typeof OffscreenCanvas&&c instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&c instanceof HTMLCanvasElement||e||(c=document.getElementById(b),c)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.ee=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var e={width:b,height:c,colorType:a.ColorType.RGBA_8888, +alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},f=b*c*4,k=a._malloc(f);if(e=a.Surface._makeRasterDirect(e,k,4*b))e.ee=null,e.Pe=b,e.Me=c,e.Ne=f,e.oe=k,e.getCanvas().clear(a.TRANSPARENT);return e};a.MakeRasterDirectSurface=function(b,c,e){return a.Surface._makeRasterDirect(b,c.byteOffset,e)};a.Surface.prototype.flush=function(b){a.Ed(this.Dd);this._flush();if(this.ee){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.oe,this.Ne);c=new ImageData(c,this.Pe,this.Me);b?this.ee.getContext("2d").putImageData(c, +0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ee.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=function(){this.oe&&a._free(this.oe);this.delete()};a.Ed=a.Ed||function(){};a.fe=a.fe||function(){return null}})})(r); +(function(a){a.Hd=a.Hd||[];a.Hd.push(function(){function b(l,q,x){return l&&l.hasOwnProperty(q)?l[q]:x}function c(l){var q=ca(ea);ea[q]=l;return q}function e(l){return l.naturalHeight||l.videoHeight||l.displayHeight||l.height}function f(l){return l.naturalWidth||l.videoWidth||l.displayWidth||l.width}function k(l,q,x,y){l.bindTexture(l.TEXTURE_2D,q);y||x.alphaType!==a.AlphaType.Premul||l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return q}function m(l,q,x){x||q.alphaType!==a.AlphaType.Premul|| +l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null)}a.GetWebGLContext=function(l,q){if(!l)throw"null canvas passed into makeWebGLContext";var x={alpha:b(q,"alpha",1),depth:b(q,"depth",1),stencil:b(q,"stencil",8),antialias:b(q,"antialias",0),premultipliedAlpha:b(q,"premultipliedAlpha",1),preserveDrawingBuffer:b(q,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(q,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(q,"failIfMajorPerformanceCaveat", +0),enableExtensionsByDefault:b(q,"enableExtensionsByDefault",1),explicitSwapControl:b(q,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(q,"renderViaOffscreenBackBuffer",0)};x.majorVersion=q&&q.majorVersion?q.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(x.explicitSwapControl)throw"explicitSwapControl is not supported";l=fa(l,x);if(!l)return 0;ha(l);u.Od.getExtension("WEBGL_debug_renderer_info");return l};a.deleteContext=function(l){u===ia[l]&&(u=null);"object"==typeof JSEvents&& +JSEvents.uf(ia[l].Od.canvas);ia[l]&&ia[l].Od.canvas&&(ia[l].Od.canvas.He=void 0);ia[l]=null};a._setTextureCleanup({deleteTexture:function(l,q){var x=ea[q];x&&ia[l].Od.deleteTexture(x);ea[q]=null}});a.MakeWebGLContext=function(l){if(!this.Ed(l))return null;var q=this._MakeGrContext();if(!q)return null;q.Dd=l;var x=q.delete.bind(q);q["delete"]=function(){a.Ed(this.Dd);x()}.bind(q);return u.qe=q};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Ed(this.Dd); +this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Ed(this.Dd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Ed(this.Dd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(l){a.Ed(this.Dd);this._setResourceCacheLimitBytes(l)};a.MakeOnScreenGLSurface=function(l,q,x,y,B,D){if(!this.Ed(l.Dd))return null;q=void 0===B||void 0===D? +this._MakeOnScreenGLSurface(l,q,x,y):this._MakeOnScreenGLSurface(l,q,x,y,B,D);if(!q)return null;q.Dd=l.Dd;return q};a.MakeRenderTarget=function(){var l=arguments[0];if(!this.Ed(l.Dd))return null;if(3===arguments.length){var q=this._MakeRenderTargetWH(l,arguments[1],arguments[2]);if(!q)return null}else if(2===arguments.length){if(q=this._MakeRenderTargetII(l,arguments[1]),!q)return null}else return null;q.Dd=l.Dd;return q};a.MakeWebGLCanvasSurface=function(l,q,x){q=q||null;var y=l,B="undefined"!== +typeof OffscreenCanvas&&y instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&y instanceof HTMLCanvasElement||B||(y=document.getElementById(l),y)))throw"Canvas with id "+l+" was not found";l=this.GetWebGLContext(y,x);if(!l||0>l)throw"failed to create webgl context: err "+l;l=this.MakeWebGLContext(l);q=this.MakeOnScreenGLSurface(l,y.width,y.height,q);return q?q:(q=y.cloneNode(!0),y.parentNode.replaceChild(q,y),q.classList.add("ck-replaced"),a.MakeSWCanvasSurface(q))};a.MakeCanvasSurface= +a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(l,q){a.Ed(this.Dd);l=c(l);if(q=this._makeImageFromTexture(this.Dd,l,q))q.ae=l;return q};a.Surface.prototype.makeImageFromTextureSource=function(l,q,x){q||(q={height:e(l),width:f(l),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);a.Ed(this.Dd);var y=u.Od;x=k(y,y.createTexture(),q,x);2===u.version?y.texImage2D(y.TEXTURE_2D,0,y.RGBA,q.width,q.height, +0,y.RGBA,y.UNSIGNED_BYTE,l):y.texImage2D(y.TEXTURE_2D,0,y.RGBA,y.RGBA,y.UNSIGNED_BYTE,l);m(y,q);this._resetContext();return this.makeImageFromTexture(x,q)};a.Surface.prototype.updateTextureFromSource=function(l,q,x){if(l.ae){a.Ed(this.Dd);var y=l.getImageInfo(),B=u.Od,D=k(B,ea[l.ae],y,x);2===u.version?B.texImage2D(B.TEXTURE_2D,0,B.RGBA,f(q),e(q),0,B.RGBA,B.UNSIGNED_BYTE,q):B.texImage2D(B.TEXTURE_2D,0,B.RGBA,B.RGBA,B.UNSIGNED_BYTE,q);m(B,y,x);this._resetContext();ea[l.ae]=null;l.ae=c(D);y.colorSpace= +l.getColorSpace();q=this._makeImageFromTexture(this.Dd,l.ae,y);x=l.jd.Fd;B=l.jd.Kd;l.jd.Fd=q.jd.Fd;l.jd.Kd=q.jd.Kd;q.jd.Fd=x;q.jd.Kd=B;q.delete();y.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(l,q,x){q||(q={height:e(l),width:f(l),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul});q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);var y={makeTexture:function(){var B=u,D=B.Od,v=k(D,D.createTexture(),q,x);2===B.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA, +q.width,q.height,0,D.RGBA,D.UNSIGNED_BYTE,l):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,l);m(D,q,x);return c(v)},freeSrc:function(){}};"VideoFrame"===l.constructor.name&&(y.freeSrc=function(){l.close()});return a.Image._makeFromGenerator(q,y)};a.Ed=function(l){return l?ha(l):!1};a.fe=function(){return u&&u.qe&&!u.qe.isDeleted()?u.qe:null}})})(r); +(function(a){function b(g){return(f(255*g[3])<<24|f(255*g[0])<<16|f(255*g[1])<<8|f(255*g[2])<<0)>>>0}function c(g){if(g&&g._ck)return g;if(g instanceof Float32Array){for(var d=Math.floor(g.length/4),h=new Uint32Array(d),n=0;nz;z++)a.HEAPF32[t+n]=g[w][z],n++;g=h}else g=M;d.Ld=g}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof g;return d}function q(g){if(!g)return M;var d=S.toTypedArray();if(g.length){if(6===g.length||9===g.length)return m(g,"HEAPF32",H),6===g.length&&a.HEAPF32.set(dd,6+H/4),H;if(16===g.length)return d[0]=g[0],d[1]=g[1],d[2]=g[3],d[3]=g[4],d[4]=g[5],d[5]=g[7],d[6]=g[12],d[7]=g[13],d[8]=g[15],H;throw"invalid matrix size"; +}if(void 0===g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m41;d[3]=g.m12;d[4]=g.m22;d[5]=g.m42;d[6]=g.m14;d[7]=g.m24;d[8]=g.m44;return H}function x(g){if(!g)return M;var d=da.toTypedArray();if(g.length){if(16!==g.length&&6!==g.length&&9!==g.length)throw"invalid matrix size";if(16===g.length)return m(g,"HEAPF32",Y);d.fill(0);d[0]=g[0];d[1]=g[1];d[3]=g[2];d[4]=g[3];d[5]=g[4];d[7]=g[5];d[10]=1;d[12]=g[6];d[13]=g[7];d[15]=g[8];6===g.length&&(d[12]=0,d[13]=0,d[15]=1);return Y}if(void 0=== +g.m11)throw"invalid matrix argument";d[0]=g.m11;d[1]=g.m21;d[2]=g.m31;d[3]=g.m41;d[4]=g.m12;d[5]=g.m22;d[6]=g.m32;d[7]=g.m42;d[8]=g.m13;d[9]=g.m23;d[10]=g.m33;d[11]=g.m43;d[12]=g.m14;d[13]=g.m24;d[14]=g.m34;d[15]=g.m44;return Y}function y(g,d){return m(g,"HEAPF32",d||ua)}function B(g,d,h,n){var t=La.toTypedArray();t[0]=g;t[1]=d;t[2]=h;t[3]=n;return ua}function D(g){for(var d=new Float32Array(4),h=0;4>h;h++)d[h]=a.HEAPF32[g/4+h];return d}function v(g,d){return m(g,"HEAPF32",d||V)}function E(g,d){return m(g, +"HEAPF32",d||Cb)}a.Color=function(g,d,h,n){void 0===n&&(n=1);return a.Color4f(f(g)/255,f(d)/255,f(h)/255,n)};a.ColorAsInt=function(g,d,h,n){void 0===n&&(n=255);return(f(n)<<24|f(g)<<16|f(d)<<8|f(h)<<0&268435455)>>>0};a.Color4f=function(g,d,h,n){void 0===n&&(n=1);return Float32Array.of(g,d,h,n)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,"WHITE",{get:function(){return a.Color4f(1, +1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,0,1,1)}});a.getColorComponents=function(g){return[Math.floor(255* +g[0]),Math.floor(255*g[1]),Math.floor(255*g[2]),g[3]]};a.parseColorString=function(g,d){g=g.toLowerCase();if(g.startsWith("#")){d=255;switch(g.length){case 9:d=parseInt(g.slice(7,9),16);case 7:var h=parseInt(g.slice(1,3),16);var n=parseInt(g.slice(3,5),16);var t=parseInt(g.slice(5,7),16);break;case 5:d=17*parseInt(g.slice(4,5),16);case 4:h=17*parseInt(g.slice(1,2),16),n=17*parseInt(g.slice(2,3),16),t=17*parseInt(g.slice(3,4),16)}return a.Color(h,n,t,d/255)}return g.startsWith("rgba")?(g=g.slice(5, +-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("rgb")?(g=g.slice(4,-1),g=g.split(","),a.Color(+g[0],+g[1],+g[2],e(g[3]))):g.startsWith("gray(")||g.startsWith("hsl")||!d||(g=d[g],void 0===g)?a.BLACK:g};a.multiplyByAlpha=function(g,d){g=g.slice();g[3]=Math.max(0,Math.min(g[3]*d,1));return g};a.Malloc=function(g,d){var h=a._malloc(d*g.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:h,Vd:null,subarray:function(n,t){n=this.toTypedArray().subarray(n,t);n._ck=!0;return n},toTypedArray:function(){if(this.Vd&& +this.Vd.length)return this.Vd;this.Vd=new g(a.HEAPU8.buffer,h,d);this.Vd._ck=!0;return this.Vd}}};a.Free=function(g){a._free(g.byteOffset);g.byteOffset=M;g.toTypedArray=null;g.Vd=null};var H=M,S,Y=M,da,ua=M,La,ma,V=M,gc,Aa=M,hc,Db=M,ic,Eb=M,Fb,gb=M,jc,Cb=M,kc,lc=M,dd=Float32Array.of(0,0,1),M=0;a.onRuntimeInitialized=function(){function g(d,h,n,t,w,z,F){z||(z=4*t.width,t.colorType===a.ColorType.RGBA_F16?z*=2:t.colorType===a.ColorType.RGBA_F32&&(z*=4));var K=z*t.height;var I=w?w.byteOffset:a._malloc(K); +if(F?!d._readPixels(t,I,z,h,n,F):!d._readPixels(t,I,z,h,n))return w||a._free(I),null;if(w)return w.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,I,K)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,I,K)).slice();break;default:return null}a._free(I);return d}La=a.Malloc(Float32Array,4);ua=La.byteOffset;da=a.Malloc(Float32Array,16);Y=da.byteOffset;S=a.Malloc(Float32Array,9);H=S.byteOffset;jc=a.Malloc(Float32Array, +12);Cb=jc.byteOffset;kc=a.Malloc(Float32Array,12);lc=kc.byteOffset;ma=a.Malloc(Float32Array,4);V=ma.byteOffset;gc=a.Malloc(Float32Array,4);Aa=gc.byteOffset;hc=a.Malloc(Float32Array,3);Db=hc.byteOffset;ic=a.Malloc(Float32Array,3);Eb=ic.byteOffset;Fb=a.Malloc(Int32Array,4);gb=Fb.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds= +function(d){var h=m(d,"HEAPF32"),n=a.Path._MakeFromCmds(h,d.length);k(h,d);return n};a.Path.MakeFromVerbsPointsWeights=function(d,h,n){var t=m(d,"HEAPU8"),w=m(h,"HEAPF32"),z=m(n,"HEAPF32"),F=a.Path._MakeFromVerbsPointsWeights(t,d.length,w,h.length,z,n&&n.length||0);k(t,d);k(w,h);k(z,n);return F};a.Path.prototype.addArc=function(d,h,n){d=v(d);this._addArc(d,h,n);return this};a.Path.prototype.addCircle=function(d,h,n,t){this._addCircle(d,h,n,!!t);return this};a.Path.prototype.addOval=function(d,h,n){void 0=== +n&&(n=1);d=v(d);this._addOval(d,!!h,n);return this};a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),h=d[0],n=!1;"boolean"===typeof d[d.length-1]&&(n=d.pop());if(1===d.length)this._addPath(h,1,0,0,0,1,0,0,0,1,n);else if(2===d.length)d=d[1],this._addPath(h,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,n);else if(7===d.length||10===d.length)this._addPath(h,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,n);else return null;return this};a.Path.prototype.addPoly= +function(d,h){var n=m(d,"HEAPF32");this._addPoly(n,d.length/2,h);k(n,d);return this};a.Path.prototype.addRect=function(d,h){d=v(d);this._addRect(d,!!h);return this};a.Path.prototype.addRRect=function(d,h){d=E(d);this._addRRect(d,!!h);return this};a.Path.prototype.addVerbsPointsWeights=function(d,h,n){var t=m(d,"HEAPU8"),w=m(h,"HEAPF32"),z=m(n,"HEAPF32");this._addVerbsPointsWeights(t,d.length,w,h.length,z,n&&n.length||0);k(t,d);k(w,h);k(z,n)};a.Path.prototype.arc=function(d,h,n,t,w,z){d=a.LTRBRect(d- +n,h-n,d+n,h+n);w=(w-t)/Math.PI*180-360*!!z;z=new a.Path;z.addArc(d,t/Math.PI*180,w);this.addPath(z,!0);z.delete();return this};a.Path.prototype.arcToOval=function(d,h,n,t){d=v(d);this._arcToOval(d,h,n,t);return this};a.Path.prototype.arcToRotated=function(d,h,n,t,w,z,F){this._arcToRotated(d,h,n,!!t,!!w,z,F);return this};a.Path.prototype.arcToTangent=function(d,h,n,t,w){this._arcToTangent(d,h,n,t,w);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo= +function(d,h,n,t,w){this._conicTo(d,h,n,t,w);return this};a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(V);var h=ma.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.cubicTo=function(d,h,n,t,w,z){this._cubicTo(d,h,n,t,w,z);return this};a.Path.prototype.dash=function(d,h,n){return this._dash(d,h,n)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(V);var h=ma.toTypedArray();return d?(d.set(h),d):h.slice()};a.Path.prototype.lineTo=function(d, +h){this._lineTo(d,h);return this};a.Path.prototype.moveTo=function(d,h){this._moveTo(d,h);return this};a.Path.prototype.offset=function(d,h){this._transform(1,0,d,0,1,h,0,0,1);return this};a.Path.prototype.quadTo=function(d,h,n,t){this._quadTo(d,h,n,t);return this};a.Path.prototype.rArcTo=function(d,h,n,t,w,z,F){this._rArcTo(d,h,n,t,w,z,F);return this};a.Path.prototype.rConicTo=function(d,h,n,t,w){this._rConicTo(d,h,n,t,w);return this};a.Path.prototype.rCubicTo=function(d,h,n,t,w,z){this._rCubicTo(d, +h,n,t,w,z);return this};a.Path.prototype.rLineTo=function(d,h){this._rLineTo(d,h);return this};a.Path.prototype.rMoveTo=function(d,h){this._rMoveTo(d,h);return this};a.Path.prototype.rQuadTo=function(d,h,n,t){this._rQuadTo(d,h,n,t);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1=== +arguments.length){var d=arguments[0];this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,h,n){return this._trim(d,h,!!n)?this:null};a.Image.prototype.encodeToBytes=function(d,h){var n=a.fe();d=d||a.ImageFormat.PNG;h=h||100; +return n?this._encodeToBytes(d,h,n):this._encodeToBytes(d,h)};a.Image.prototype.makeShaderCubic=function(d,h,n,t,w){w=q(w);return this._makeShaderCubic(d,h,n,t,w)};a.Image.prototype.makeShaderOptions=function(d,h,n,t,w){w=q(w);return this._makeShaderOptions(d,h,n,t,w)};a.Image.prototype.readPixels=function(d,h,n,t,w){var z=a.fe();return g(this,d,h,n,t,w,z)};a.Canvas.prototype.clear=function(d){a.Ed(this.Dd);d=y(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,h,n){a.Ed(this.Dd);d=E(d);this._clipRRect(d, +h,n)};a.Canvas.prototype.clipRect=function(d,h,n){a.Ed(this.Dd);d=v(d);this._clipRect(d,h,n)};a.Canvas.prototype.concat=function(d){a.Ed(this.Dd);d=x(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,h,n,t,w){a.Ed(this.Dd);d=v(d);this._drawArc(d,h,n,t,w)};a.Canvas.prototype.drawAtlas=function(d,h,n,t,w,z,F){if(d&&t&&h&&n&&h.length===n.length){a.Ed(this.Dd);w||(w=a.BlendMode.SrcOver);var K=m(h,"HEAPF32"),I=m(n,"HEAPF32"),T=n.length/4,p=m(c(z),"HEAPU32");if(F&&"B"in F&&"C"in F)this._drawAtlasCubic(d, +I,K,p,T,w,F.B,F.C,t);else{let A=a.FilterMode.Linear,L=a.MipmapMode.None;F&&(A=F.filter,"mipmap"in F&&(L=F.mipmap));this._drawAtlasOptions(d,I,K,p,T,w,A,L,t)}k(K,h);k(I,n);k(p,z)}};a.Canvas.prototype.drawCircle=function(d,h,n,t){a.Ed(this.Dd);this._drawCircle(d,h,n,t)};a.Canvas.prototype.drawColor=function(d,h){a.Ed(this.Dd);d=y(d);void 0!==h?this._drawColor(d,h):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,h){a.Ed(this.Dd);this._drawColorInt(d,h||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents= +function(d,h,n,t,w){a.Ed(this.Dd);d=B(d,h,n,t);void 0!==w?this._drawColor(d,w):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,h,n){a.Ed(this.Dd);d=E(d,Cb);h=E(h,lc);this._drawDRRect(d,h,n)};a.Canvas.prototype.drawImage=function(d,h,n,t){a.Ed(this.Dd);this._drawImage(d,h,n,t||null)};a.Canvas.prototype.drawImageCubic=function(d,h,n,t,w,z){a.Ed(this.Dd);this._drawImageCubic(d,h,n,t,w,z||null)};a.Canvas.prototype.drawImageOptions=function(d,h,n,t,w,z){a.Ed(this.Dd);this._drawImageOptions(d, +h,n,t,w,z||null)};a.Canvas.prototype.drawImageNine=function(d,h,n,t,w){a.Ed(this.Dd);h=m(h,"HEAP32",gb);n=v(n);this._drawImageNine(d,h,n,t,w||null)};a.Canvas.prototype.drawImageRect=function(d,h,n,t,w){a.Ed(this.Dd);v(h,V);v(n,Aa);this._drawImageRect(d,V,Aa,t,!!w)};a.Canvas.prototype.drawImageRectCubic=function(d,h,n,t,w,z){a.Ed(this.Dd);v(h,V);v(n,Aa);this._drawImageRectCubic(d,V,Aa,t,w,z||null)};a.Canvas.prototype.drawImageRectOptions=function(d,h,n,t,w,z){a.Ed(this.Dd);v(h,V);v(n,Aa);this._drawImageRectOptions(d, +V,Aa,t,w,z||null)};a.Canvas.prototype.drawLine=function(d,h,n,t,w){a.Ed(this.Dd);this._drawLine(d,h,n,t,w)};a.Canvas.prototype.drawOval=function(d,h){a.Ed(this.Dd);d=v(d);this._drawOval(d,h)};a.Canvas.prototype.drawPaint=function(d){a.Ed(this.Dd);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,h,n){a.Ed(this.Dd);this._drawParagraph(d,h,n)};a.Canvas.prototype.drawPatch=function(d,h,n,t,w){if(24>d.length)throw"Need 12 cubic points";if(h&&4>h.length)throw"Need 4 colors";if(n&&8>n.length)throw"Need 4 shader coordinates"; +a.Ed(this.Dd);const z=m(d,"HEAPF32"),F=h?m(c(h),"HEAPU32"):M,K=n?m(n,"HEAPF32"):M;t||(t=a.BlendMode.Modulate);this._drawPatch(z,F,K,t,w);k(K,n);k(F,h);k(z,d)};a.Canvas.prototype.drawPath=function(d,h){a.Ed(this.Dd);this._drawPath(d,h)};a.Canvas.prototype.drawPicture=function(d){a.Ed(this.Dd);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,h,n){a.Ed(this.Dd);var t=m(h,"HEAPF32");this._drawPoints(d,t,h.length/2,n);k(t,h)};a.Canvas.prototype.drawRRect=function(d,h){a.Ed(this.Dd);d=E(d); +this._drawRRect(d,h)};a.Canvas.prototype.drawRect=function(d,h){a.Ed(this.Dd);d=v(d);this._drawRect(d,h)};a.Canvas.prototype.drawRect4f=function(d,h,n,t,w){a.Ed(this.Dd);this._drawRect4f(d,h,n,t,w)};a.Canvas.prototype.drawShadow=function(d,h,n,t,w,z,F){a.Ed(this.Dd);var K=m(w,"HEAPF32"),I=m(z,"HEAPF32");h=m(h,"HEAPF32",Db);n=m(n,"HEAPF32",Eb);this._drawShadow(d,h,n,t,K,I,F);k(K,w);k(I,z)};a.getShadowLocalBounds=function(d,h,n,t,w,z,F){d=q(d);n=m(n,"HEAPF32",Db);t=m(t,"HEAPF32",Eb);if(!this._getShadowLocalBounds(d, +h,n,t,w,z,V))return null;h=ma.toTypedArray();return F?(F.set(h),F):h.slice()};a.Canvas.prototype.drawTextBlob=function(d,h,n,t){a.Ed(this.Dd);this._drawTextBlob(d,h,n,t)};a.Canvas.prototype.drawVertices=function(d,h,n){a.Ed(this.Dd);this._drawVertices(d,h,n)};a.Canvas.prototype.getDeviceClipBounds=function(d){this._getDeviceClipBounds(gb);var h=Fb.toTypedArray();d?d.set(h):d=h.slice();return d};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Y);for(var d=Y,h=Array(16),n=0;16> +n;n++)h[n]=a.HEAPF32[d/4+n];return h};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(H);for(var d=Array(9),h=0;9>h;h++)d[h]=a.HEAPF32[H/4+h];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Dd=this.Dd;return d};a.Canvas.prototype.readPixels=function(d,h,n,t,w){a.Ed(this.Dd);return g(this,d,h,n,t,w)};a.Canvas.prototype.saveLayer=function(d,h,n,t){h=v(h);return this._saveLayer(d||null,h,n||null,t||0)};a.Canvas.prototype.writePixels=function(d,h,n,t,w, +z,F,K){if(d.byteLength%(h*n))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Ed(this.Dd);var I=d.byteLength/(h*n);z=z||a.AlphaType.Unpremul;F=F||a.ColorType.RGBA_8888;K=K||a.ColorSpace.SRGB;var T=I*h;I=m(d,"HEAPU8");h=this._writePixels({width:h,height:n,colorType:F,alphaType:z,colorSpace:K},I,T,t,w);k(I,d);return h};a.ColorFilter.MakeBlend=function(d,h,n){d=y(d);n=n||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(d,h,n)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix"; +var h=m(d,"HEAPF32"),n=a.ColorFilter._makeMatrix(h);k(h,d);return n};a.ContourMeasure.prototype.getPosTan=function(d,h){this._getPosTan(d,V);d=ma.toTypedArray();return h?(h.set(d),h):d.slice()};a.ImageFilter.MakeDropShadow=function(d,h,n,t,w,z){w=y(w,ua);return a.ImageFilter._MakeDropShadow(d,h,n,t,w,z)};a.ImageFilter.MakeDropShadowOnly=function(d,h,n,t,w,z){w=y(w,ua);return a.ImageFilter._MakeDropShadowOnly(d,h,n,t,w,z)};a.ImageFilter.MakeImage=function(d,h,n,t){n=v(n,V);t=v(t,Aa);if("B"in h&&"C"in +h)return a.ImageFilter._MakeImageCubic(d,h.B,h.C,n,t);const w=h.filter;let z=a.MipmapMode.None;"mipmap"in h&&(z=h.mipmap);return a.ImageFilter._MakeImageOptions(d,w,z,n,t)};a.ImageFilter.MakeMatrixTransform=function(d,h,n){d=q(d);if("B"in h&&"C"in h)return a.ImageFilter._MakeMatrixTransformCubic(d,h.B,h.C,n);const t=h.filter;let w=a.MipmapMode.None;"mipmap"in h&&(w=h.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,t,w,n)};a.Paint.prototype.getColor=function(){this._getColor(ua);return D(ua)}; +a.Paint.prototype.setColor=function(d,h){h=h||null;d=y(d);this._setColor(d,h)};a.Paint.prototype.setColorComponents=function(d,h,n,t,w){w=w||null;d=B(d,h,n,t);this._setColor(d,w)};a.Path.prototype.getPoint=function(d,h){this._getPoint(d,V);d=ma.toTypedArray();return h?(h[0]=d[0],h[1]=d[1],h):d.slice(0,2)};a.Picture.prototype.makeShader=function(d,h,n,t,w){t=q(t);w=v(w);return this._makeShader(d,h,n,t,w)};a.Picture.prototype.cullRect=function(d){this._cullRect(V);var h=ma.toTypedArray();return d?(d.set(h), +d):h.slice()};a.PictureRecorder.prototype.beginRecording=function(d,h){d=v(d);return this._beginRecording(d,!!h)};a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Dd=this.Dd;return d};a.Surface.prototype.makeImageSnapshot=function(d){a.Ed(this.Dd);d=m(d,"HEAP32",gb);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface=function(d){a.Ed(this.Dd);d=this._makeSurface(d);d.Dd=this.Dd;return d};a.Surface.prototype.Oe=function(d,h){this.$d||(this.$d=this.getCanvas());return requestAnimationFrame(function(){a.Ed(this.Dd); +d(this.$d);this.flush(h)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.Oe);a.Surface.prototype.Le=function(d,h){this.$d||(this.$d=this.getCanvas());requestAnimationFrame(function(){a.Ed(this.Dd);d(this.$d);this.flush(h);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.Le);a.PathEffect.MakeDash=function(d,h){h||(h=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length"; +var n=m(d,"HEAPF32");h=a.PathEffect._MakeDash(n,d.length,h);k(n,d);return h};a.PathEffect.MakeLine2D=function(d,h){h=q(h);return a.PathEffect._MakeLine2D(d,h)};a.PathEffect.MakePath2D=function(d,h){d=q(d);return a.PathEffect._MakePath2D(d,h)};a.Shader.MakeColor=function(d,h){h=h||null;d=y(d);return a.Shader._MakeColor(d,h)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,h,n,t,w,z,F,K){K=K||null;var I=l(n),T=m(t,"HEAPF32");F=F||0;z=q(z);var p= +ma.toTypedArray();p.set(d);p.set(h,2);d=a.Shader._MakeLinearGradient(V,I.Ld,I.colorType,T,I.count,w,F,z,K);k(I.Ld,n);t&&k(T,t);return d};a.Shader.MakeRadialGradient=function(d,h,n,t,w,z,F,K){K=K||null;var I=l(n),T=m(t,"HEAPF32");F=F||0;z=q(z);d=a.Shader._MakeRadialGradient(d[0],d[1],h,I.Ld,I.colorType,T,I.count,w,F,z,K);k(I.Ld,n);t&&k(T,t);return d};a.Shader.MakeSweepGradient=function(d,h,n,t,w,z,F,K,I,T){T=T||null;var p=l(n),A=m(t,"HEAPF32");F=F||0;K=K||0;I=I||360;z=q(z);d=a.Shader._MakeSweepGradient(d, +h,p.Ld,p.colorType,A,p.count,w,K,I,F,z,T);k(p.Ld,n);t&&k(A,t);return d};a.Shader.MakeTwoPointConicalGradient=function(d,h,n,t,w,z,F,K,I,T){T=T||null;var p=l(w),A=m(z,"HEAPF32");I=I||0;K=q(K);var L=ma.toTypedArray();L.set(d);L.set(n,2);d=a.Shader._MakeTwoPointConicalGradient(V,h,t,p.Ld,p.colorType,A,p.count,F,I,K,T);k(p.Ld,w);z&&k(A,z);return d};a.Vertices.prototype.bounds=function(d){this._bounds(V);var h=ma.toTypedArray();return d?(d.set(h),d):h.slice()};a.Hd&&a.Hd.forEach(function(d){d()})};a.computeTonalColors= +function(g){var d=m(g.ambient,"HEAPF32"),h=m(g.spot,"HEAPF32");this._computeTonalColors(d,h);var n={ambient:D(d),spot:D(h)};k(d,g.ambient);k(h,g.spot);return n};a.LTRBRect=function(g,d,h,n){return Float32Array.of(g,d,h,n)};a.XYWHRect=function(g,d,h,n){return Float32Array.of(g,d,g+h,d+n)};a.LTRBiRect=function(g,d,h,n){return Int32Array.of(g,d,h,n)};a.XYWHiRect=function(g,d,h,n){return Int32Array.of(g,d,g+h,d+n)};a.RRectXY=function(g,d,h){return Float32Array.of(g[0],g[1],g[2],g[3],d,h,d,h,d,h,d,h)}; +a.MakeAnimatedImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeAnimatedImage(d,g.byteLength))?g:null};a.MakeImageFromEncoded=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._decodeImage(d,g.byteLength))?g:null};var Ra=null;a.MakeImageFromCanvasImageSource=function(g){var d=g.width,h=g.height;Ra||(Ra=document.createElement("canvas"));Ra.width=d;Ra.height=h;var n=Ra.getContext("2d",{wf:!0}); +n.drawImage(g,0,0);g=n.getImageData(0,0,d,h);return a.MakeImage({width:d,height:h,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},g.data,4*d)};a.MakeImage=function(g,d,h){var n=a._malloc(d.length);a.HEAPU8.set(d,n);return a._MakeImage(g,n,d.length,h)};a.MakeVertices=function(g,d,h,n,t,w){var z=t&&t.length||0,F=0;h&&h.length&&(F|=1);n&&n.length&&(F|=2);void 0===w||w||(F|=4);g=new a._VerticesBuilder(g,d.length/2,z,F);m(d,"HEAPF32",g.positions());g.texCoords()&& +m(h,"HEAPF32",g.texCoords());g.colors()&&m(c(n),"HEAPU32",g.colors());g.indices()&&m(t,"HEAPU16",g.indices());return g.detach()};(function(g){g.Hd=g.Hd||[];g.Hd.push(function(){function d(p){if(!p||!p.length)return[];for(var A=[],L=0;Ld)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.Font.prototype.getGlyphIntercepts=function(g,d,h,n){var t=m(g,"HEAPU16"),w=m(d,"HEAPF32");return this._getGlyphIntercepts(t, +g.length,!(g&&g._ck),w,d.length,!(d&&d._ck),h,n)};a.Font.prototype.getGlyphWidths=function(g,d,h){var n=m(g,"HEAPU16"),t=a._malloc(4*g.length);this._getGlyphWidthBounds(n,g.length,t,M,d||null);d=new Float32Array(a.HEAPU8.buffer,t,g.length);k(n,g);if(h)return h.set(d),a._free(t),h;g=Float32Array.from(d);a._free(t);return g};a.FontMgr.FromData=function(){if(!arguments.length)return null;var g=arguments;1===g.length&&Array.isArray(g[0])&&(g=arguments[0]);if(!g.length)return null;for(var d=[],h=[],n= +0;nd)return a._free(g),null;t=new Uint16Array(a.HEAPU8.buffer,g,d);if(h)return h.set(t),a._free(g),h;h=Uint16Array.from(t);a._free(g);return h};a.TextBlob.MakeOnPath=function(g,d,h,n){if(g&&g.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(g,h);n||(n=0);var t=h.getGlyphIDs(g);t=h.getGlyphWidths(t);var w=[];d=new a.ContourMeasureIter(d,!1,1);for(var z=d.next(),F=new Float32Array(4),K=0;Kz.length()){z.delete();z= +d.next();if(!z){g=g.substring(0,K);break}n=I/2}z.getPosTan(n,F);var T=F[2],p=F[3];w.push(T,p,F[0]-I/2*T,F[1]-I/2*p);n+=I/2}g=this.MakeFromRSXform(g,w,h);z&&z.delete();d.delete();return g}};a.TextBlob.MakeFromRSXform=function(g,d,h){var n=ja(g)+1,t=a._malloc(n);ka(g,C,t,n);g=m(d,"HEAPF32");h=a.TextBlob._MakeFromRSXform(t,n-1,g,h);a._free(t);return h?h:null};a.TextBlob.MakeFromRSXformGlyphs=function(g,d,h){var n=m(g,"HEAPU16");d=m(d,"HEAPF32");h=a.TextBlob._MakeFromRSXformGlyphs(n,2*g.length,d,h);k(n, +g);return h?h:null};a.TextBlob.MakeFromGlyphs=function(g,d){var h=m(g,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(h,2*g.length,d);k(h,g);return d?d:null};a.TextBlob.MakeFromText=function(g,d){var h=ja(g)+1,n=a._malloc(h);ka(g,C,n,h);g=a.TextBlob._MakeFromText(n,h-1,d);a._free(n);return g?g:null};a.MallocGlyphIDs=function(g){return a.Malloc(Uint16Array,g)}});a.Hd=a.Hd||[];a.Hd.push(function(){a.MakePicture=function(g){g=new Uint8Array(g);var d=a._malloc(g.byteLength);a.HEAPU8.set(g,d);return(g=a._MakePicture(d, +g.byteLength))?g:null}});a.Hd=a.Hd||[];a.Hd.push(function(){a.RuntimeEffect.Make=function(g,d){return a.RuntimeEffect._Make(g,{onError:d||function(h){console.log("RuntimeEffect error",h)}})};a.RuntimeEffect.prototype.makeShader=function(g,d){var h=!g._ck,n=m(g,"HEAPF32");d=q(d);return this._makeShader(n,4*g.length,h,d)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(g,d,h){var n=!g._ck,t=m(g,"HEAPF32");h=q(h);for(var w=[],z=0;z{throw b;},qa="object"==typeof window,ra="function"==typeof importScripts,sa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,ta="",va,wa,ya; +if(sa){var fs=require("fs"),za=require("path");ta=ra?za.dirname(ta)+"/":__dirname+"/";va=(a,b)=>{a=a.startsWith("file://")?new URL(a):za.normalize(a);return fs.readFileSync(a,b?void 0:"utf8")};ya=a=>{a=va(a,!0);a.buffer||(a=new Uint8Array(a));return a};wa=(a,b,c)=>{a=a.startsWith("file://")?new URL(a):za.normalize(a);fs.readFile(a,function(e,f){e?c(e):b(f.buffer)})};1process.versions.node.split(".")[0])process.on("unhandledRejection", +function(a){throw a;});oa=(a,b)=>{if(noExitRuntime)throw process.exitCode=a,b;if(!(b instanceof Ba)){var c=b;b&&"object"==typeof b&&b.stack&&(c=[b,b.stack]);Ca("exiting due to exception: "+c)}process.exit(a)};r.inspect=function(){return"[Emscripten Module object]"}}else if(qa||ra)ra?ta=self.location.href:"undefined"!=typeof document&&document.currentScript&&(ta=document.currentScript.src),_scriptDir&&(ta=_scriptDir),0!==ta.indexOf("blob:")?ta=ta.substr(0,ta.replace(/[?#].*/,"").lastIndexOf("/")+1): +ta="",va=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},ra&&(ya=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),wa=(a,b,c)=>{var e=new XMLHttpRequest;e.open("GET",a,!0);e.responseType="arraybuffer";e.onload=()=>{200==e.status||0==e.status&&e.response?b(e.response):c()};e.onerror=c;e.send(null)};var Da=r.print||console.log.bind(console),Ca=r.printErr||console.warn.bind(console); +Object.assign(r,la);la=null;r.thisProgram&&(na=r.thisProgram);r.quit&&(oa=r.quit);var Ea;r.wasmBinary&&(Ea=r.wasmBinary);var noExitRuntime=r.noExitRuntime||!0;"object"!=typeof WebAssembly&&Fa("no native wasm support detected");var Ga,Ha=!1,Ia="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0; +function Ja(a,b,c){var e=b+c;for(c=b;a[c]&&!(c>=e);)++c;if(16f?e+=String.fromCharCode(f):(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023))}}else e+=String.fromCharCode(f)}return e}function Ka(a,b){return a?Ja(C,a,b):""} +function ka(a,b,c,e){if(!(0=m){var l=a.charCodeAt(++k);m=65536+((m&1023)<<10)|l&1023}if(127>=m){if(c>=e)break;b[c++]=m}else{if(2047>=m){if(c+1>=e)break;b[c++]=192|m>>6}else{if(65535>=m){if(c+2>=e)break;b[c++]=224|m>>12}else{if(c+3>=e)break;b[c++]=240|m>>18;b[c++]=128|m>>12&63}b[c++]=128|m>>6&63}b[c++]=128|m&63}}b[c]=0;return c-f} +function ja(a){for(var b=0,c=0;c=e?b++:2047>=e?b+=2:55296<=e&&57343>=e?(b+=4,++c):b+=3}return b}var Ma,C,Na,Oa,G,J,N,Pa;function Qa(){var a=Ga.buffer;r.HEAP8=Ma=new Int8Array(a);r.HEAP16=Na=new Int16Array(a);r.HEAP32=G=new Int32Array(a);r.HEAPU8=C=new Uint8Array(a);r.HEAPU16=Oa=new Uint16Array(a);r.HEAPU32=J=new Uint32Array(a);r.HEAPF32=N=new Float32Array(a);r.HEAPF64=Pa=new Float64Array(a)}var Sa,Ta=[],Ua=[],Va=[]; +function Wa(){var a=r.preRun.shift();Ta.unshift(a)}var Xa=0,Ya=null,Za=null;function Fa(a){if(r.onAbort)r.onAbort(a);a="Aborted("+a+")";Ca(a);Ha=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ba(a);throw a;}function $a(a){return a.startsWith("data:application/octet-stream;base64,")}var ab;ab="canvaskit.wasm";if(!$a(ab)){var bb=ab;ab=r.locateFile?r.locateFile(bb,ta):ta+bb} +function cb(a){try{if(a==ab&&Ea)return new Uint8Array(Ea);if(ya)return ya(a);throw"both async and sync fetching of the wasm failed";}catch(b){Fa(b)}} +function db(a){if(!Ea&&(qa||ra)){if("function"==typeof fetch&&!a.startsWith("file://"))return fetch(a,{credentials:"same-origin"}).then(function(b){if(!b.ok)throw"failed to load wasm binary file at '"+a+"'";return b.arrayBuffer()}).catch(function(){return cb(a)});if(wa)return new Promise(function(b,c){wa(a,function(e){b(new Uint8Array(e))},c)})}return Promise.resolve().then(function(){return cb(a)})} +function eb(a,b,c){return db(a).then(function(e){return WebAssembly.instantiate(e,b)}).then(function(e){return e}).then(c,function(e){Ca("failed to asynchronously prepare wasm: "+e);Fa(e)})} +function fb(a,b){var c=ab;return Ea||"function"!=typeof WebAssembly.instantiateStreaming||$a(c)||c.startsWith("file://")||sa||"function"!=typeof fetch?eb(c,a,b):fetch(c,{credentials:"same-origin"}).then(function(e){return WebAssembly.instantiateStreaming(e,a).then(b,function(f){Ca("wasm streaming compile failed: "+f);Ca("falling back to ArrayBuffer instantiation");return eb(c,a,b)})})}function Ba(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a} +function hb(a){for(;0>2]=b};this.Ge=function(b){J[this.Fd+8>>2]=b};this.Ie=function(){G[this.Fd>>2]=0};this.Fe=function(){Ma[this.Fd+12>>0]=0};this.Je=function(){Ma[this.Fd+13>>0]=0};this.ie=function(b,c){this.Ee();this.Ke(b);this.Ge(c);this.Ie();this.Fe();this.Je()};this.Ee=function(){J[this.Fd+16>>2]=0}}var jb=0,kb={};function lb(a){for(;a.length;){var b=a.pop();a.pop()(b)}} +function mb(a){return this.fromWireType(G[a>>2])}var nb={},ob={},pb={};function qb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function rb(a,b){a=qb(a);return{[a]:function(){return b.apply(this,arguments)}}[a]} +function sb(a){var b=Error,c=rb(a,function(e){this.name=a;this.message=e;e=Error(e).stack;void 0!==e&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var tb=void 0;function ub(a){throw new tb(a);} +function vb(a,b,c){function e(l){l=c(l);l.length!==a.length&&ub("Mismatched type converter count");for(var q=0;q{ob.hasOwnProperty(l)?f[q]=ob[l]:(k.push(l),nb.hasOwnProperty(l)||(nb[l]=[]),nb[l].push(()=>{f[q]=ob[l];++m;m===k.length&&e(f)}))});0===k.length&&e(f)} +function xb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var yb=void 0;function O(a){for(var b="";C[a];)b+=yb[C[a++]];return b}var zb=void 0;function P(a){throw new zb(a);} +function wb(a,b,c={}){if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var e=b.name;a||P('type "'+e+'" must have a positive integer typeid pointer');if(ob.hasOwnProperty(a)){if(c.bf)return;P("Cannot register type '"+e+"' twice")}ob[a]=b;delete pb[a];nb.hasOwnProperty(a)&&(b=nb[a],delete nb[a],b.forEach(f=>f()))}function Ab(a){P(a.jd.Id.Gd.name+" instance already deleted")}var Bb=!1;function Ib(){} +function Jb(a){--a.count.value;0===a.count.value&&(a.Kd?a.Nd.Rd(a.Kd):a.Id.Gd.Rd(a.Fd))}function Kb(a,b,c){if(b===c)return a;if(void 0===c.Pd)return null;a=Kb(a,b,c.Pd);return null===a?null:c.Te(a)}var Lb={},Mb=[];function Nb(){for(;Mb.length;){var a=Mb.pop();a.jd.Yd=!1;a["delete"]()}}var Ob=void 0,Pb={};function Qb(a,b){for(void 0===b&&P("ptr should not be undefined");a.Pd;)b=a.de(b),a=a.Pd;return Pb[b]} +function Rb(a,b){b.Id&&b.Fd||ub("makeClassHandle requires ptr and ptrType");!!b.Nd!==!!b.Kd&&ub("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Sb(Object.create(a,{jd:{value:b}}))}function Sb(a){if("undefined"===typeof FinalizationRegistry)return Sb=b=>b,a;Bb=new FinalizationRegistry(b=>{Jb(b.jd)});Sb=b=>{var c=b.jd;c.Kd&&Bb.register(b,{jd:c},b);return b};Ib=b=>{Bb.unregister(b)};return Sb(a)}function Tb(){} +function Ub(a,b,c){if(void 0===a[b].Jd){var e=a[b];a[b]=function(){a[b].Jd.hasOwnProperty(arguments.length)||P("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Jd+")!");return a[b].Jd[arguments.length].apply(this,arguments)};a[b].Jd=[];a[b].Jd[e.Wd]=e}} +function Vb(a,b,c){r.hasOwnProperty(a)?((void 0===c||void 0!==r[a].Jd&&void 0!==r[a].Jd[c])&&P("Cannot register public name '"+a+"' twice"),Ub(r,a,a),r.hasOwnProperty(c)&&P("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),r[a].Jd[c]=b):(r[a]=b,void 0!==c&&(r[a].tf=c))}function Wb(a,b,c,e,f,k,m,l){this.name=a;this.constructor=b;this.Zd=c;this.Rd=e;this.Pd=f;this.We=k;this.de=m;this.Te=l;this.ff=[]} +function Xb(a,b,c){for(;b!==c;)b.de||P("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.de(a),b=b.Pd;return a}function Yb(a,b){if(null===b)return this.re&&P("null is not a valid "+this.name),0;b.jd||P('Cannot pass "'+Zb(b)+'" as a '+this.name);b.jd.Fd||P("Cannot pass deleted object as a pointer of type "+this.name);return Xb(b.jd.Fd,b.jd.Id.Gd,this.Gd)} +function $b(a,b){if(null===b){this.re&&P("null is not a valid "+this.name);if(this.he){var c=this.se();null!==a&&a.push(this.Rd,c);return c}return 0}b.jd||P('Cannot pass "'+Zb(b)+'" as a '+this.name);b.jd.Fd||P("Cannot pass deleted object as a pointer of type "+this.name);!this.ge&&b.jd.Id.ge&&P("Cannot convert argument of type "+(b.jd.Nd?b.jd.Nd.name:b.jd.Id.name)+" to parameter type "+this.name);c=Xb(b.jd.Fd,b.jd.Id.Gd,this.Gd);if(this.he)switch(void 0===b.jd.Kd&&P("Passing raw pointer to smart pointer is illegal"), +this.lf){case 0:b.jd.Nd===this?c=b.jd.Kd:P("Cannot convert argument of type "+(b.jd.Nd?b.jd.Nd.name:b.jd.Id.name)+" to parameter type "+this.name);break;case 1:c=b.jd.Kd;break;case 2:if(b.jd.Nd===this)c=b.jd.Kd;else{var e=b.clone();c=this.gf(c,ac(function(){e["delete"]()}));null!==a&&a.push(this.Rd,c)}break;default:P("Unsupporting sharing policy")}return c} +function bc(a,b){if(null===b)return this.re&&P("null is not a valid "+this.name),0;b.jd||P('Cannot pass "'+Zb(b)+'" as a '+this.name);b.jd.Fd||P("Cannot pass deleted object as a pointer of type "+this.name);b.jd.Id.ge&&P("Cannot convert argument of type "+b.jd.Id.name+" to parameter type "+this.name);return Xb(b.jd.Fd,b.jd.Id.Gd,this.Gd)} +function cc(a,b,c,e,f,k,m,l,q,x,y){this.name=a;this.Gd=b;this.re=c;this.ge=e;this.he=f;this.ef=k;this.lf=m;this.Be=l;this.se=q;this.gf=x;this.Rd=y;f||void 0!==b.Pd?this.toWireType=$b:(this.toWireType=e?Yb:bc,this.Md=null)}function dc(a,b,c){r.hasOwnProperty(a)||ub("Replacing nonexistant public symbol");void 0!==r[a].Jd&&void 0!==c?r[a].Jd[c]=b:(r[a]=b,r[a].Wd=c)}function Q(a){return Sa.get(a)} +function ec(a,b){var c=[];return function(){c.length=0;Object.assign(c,arguments);if(a.includes("j")){var e=r["dynCall_"+a];e=c&&c.length?e.apply(null,[b].concat(c)):e.call(null,b)}else e=Q(b).apply(null,c);return e}}function R(a,b){a=O(a);var c=a.includes("j")?ec(a,b):Q(b);"function"!=typeof c&&P("unknown function pointer with signature "+a+": "+b);return c}var fc=void 0;function nc(a){a=oc(a);var b=O(a);pc(a);return b} +function qc(a,b){function c(k){f[k]||ob[k]||(pb[k]?pb[k].forEach(c):(e.push(k),f[k]=!0))}var e=[],f={};b.forEach(c);throw new fc(a+": "+e.map(nc).join([", "]));} +function rc(a,b,c,e,f){var k=b.length;2>k&&P("argTypes array size mismatch! Must at least get return value and 'this' types!");var m=null!==b[1]&&null!==c,l=!1;for(c=1;c>2]);return c}var tc=[],uc=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function vc(a){4{a||P("Cannot use deleted val. handle = "+a);return uc[a].value},ac=a=>{switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=tc.length?tc.pop():uc.length;uc[b]={te:1,value:a};return b}}; +function xc(a,b,c){switch(b){case 0:return function(e){return this.fromWireType((c?Ma:C)[e])};case 1:return function(e){return this.fromWireType((c?Na:Oa)[e>>1])};case 2:return function(e){return this.fromWireType((c?G:J)[e>>2])};default:throw new TypeError("Unknown integer type: "+a);}}function yc(a,b){var c=ob[a];void 0===c&&P(b+" has unknown type "+nc(a));return c}function Zb(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a} +function zc(a,b){switch(b){case 2:return function(c){return this.fromWireType(N[c>>2])};case 3:return function(c){return this.fromWireType(Pa[c>>3])};default:throw new TypeError("Unknown float type: "+a);}} +function Ac(a,b,c){switch(b){case 0:return c?function(e){return Ma[e]}:function(e){return C[e]};case 1:return c?function(e){return Na[e>>1]}:function(e){return Oa[e>>1]};case 2:return c?function(e){return G[e>>2]}:function(e){return J[e>>2]};default:throw new TypeError("Unknown integer type: "+a);}}var Bc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0; +function Cc(a,b){var c=a>>1;for(var e=c+b/2;!(c>=e)&&Oa[c];)++c;c<<=1;if(32=b/2);++e){var f=Na[a+2*e>>1];if(0==f)break;c+=String.fromCharCode(f)}return c}function Dc(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var e=b;c=c<2*a.length?c/2:a.length;for(var f=0;f>1]=a.charCodeAt(f),b+=2;Na[b>>1]=0;return b-e}function Ec(a){return 2*a.length} +function Fc(a,b){for(var c=0,e="";!(c>=b/4);){var f=G[a+4*c>>2];if(0==f)break;++c;65536<=f?(f-=65536,e+=String.fromCharCode(55296|f>>10,56320|f&1023)):e+=String.fromCharCode(f)}return e}function Gc(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var e=b;c=e+c-4;for(var f=0;f=k){var m=a.charCodeAt(++f);k=65536+((k&1023)<<10)|m&1023}G[b>>2]=k;b+=4;if(b+4>c)break}G[b>>2]=0;return b-e} +function Hc(a){for(var b=0,c=0;c=e&&++c;b+=4}return b}var Ic={};function Jc(a){var b=Ic[a];return void 0===b?O(a):b}var Kc=[]; +function Lc(){function a(b){b.$$$embind_global$$$=b;var c="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;c||delete b.$$$embind_global$$$;return c}if("object"==typeof globalThis)return globalThis;if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;"object"==typeof global&&a(global)?$$$embind_global$$$=global:"object"==typeof self&&a(self)&&($$$embind_global$$$=self);if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object."); +}function Mc(a){var b=Kc.length;Kc.push(a);return b}function Nc(a,b){for(var c=Array(a),e=0;e>2],"parameter "+e);return c}var Oc=[];function Pc(a){var b=Array(a+1);return function(c,e,f){b[0]=c;for(var k=0;k>2],"parameter "+k);b[k+1]=m.readValueFromPointer(f);f+=m.argPackAdvance}c=new (c.bind.apply(c,b));return ac(c)}}var Qc={},Rc;Rc=sa?()=>{var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:()=>performance.now(); +function Sc(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,e){b.vertexAttribDivisorANGLE(c,e)},a.drawArraysInstanced=function(c,e,f,k){b.drawArraysInstancedANGLE(c,e,f,k)},a.drawElementsInstanced=function(c,e,f,k,m){b.drawElementsInstancedANGLE(c,e,f,k,m)})} +function Tc(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function Uc(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,e){b.drawBuffersWEBGL(c,e)})} +var Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ea=[],$c=[],ad=[],ia=[],bd=[],cd=[],ed={},fd={},gd=4;function U(a){hd||(hd=a)}function ca(a){for(var b=Vc++,c=a.length;ca.version||!b.ye)b.ye=b.getExtension("EXT_disjoint_timer_query");b.sf=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}} +var u,hd,ld=[];function md(a,b,c,e){for(var f=0;f>2]=m}} +function nd(a,b,c){if(b){var e=void 0;switch(a){case 36346:e=1;break;case 36344:0!=c&&1!=c&&U(1280);return;case 34814:case 36345:e=0;break;case 34466:var f=X.getParameter(34467);e=f?f.length:0;break;case 33309:if(2>u.version){U(1282);return}e=2*(X.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>u.version){U(1280);return}e=33307==a?3:0}if(void 0===e)switch(f=X.getParameter(a),typeof f){case "number":e=f;break;case "boolean":e=f?1:0;break;case "string":U(1280);return;case "object":if(null=== +f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:e=0;break;default:U(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a>2]=f[a];break;case 2:N[b+4*a>>2]=f[a];break;case 4:Ma[b+a>>0]=f[a]?1:0}return}try{e=f.name|0}catch(k){U(1280); +Ca("GL_INVALID_ENUM in glGet"+c+"v: Unknown object returned from WebGL getParameter("+a+")! (error: "+k+")");return}}break;default:U(1280);Ca("GL_INVALID_ENUM in glGet"+c+"v: Native code calling glGet"+c+"v("+a+") and it returns "+f+" of type "+typeof f+"!");return}switch(c){case 1:c=e;J[b>>2]=c;J[b+4>>2]=(c-J[b>>2])/4294967296;break;case 0:G[b>>2]=e;break;case 2:N[b>>2]=e;break;case 4:Ma[b>>0]=e?1:0}}else U(1281)}function od(a){var b=ja(a)+1,c=pd(b);ka(a,C,c,b);return c} +function qd(a){return"]"==a.slice(-1)&&a.lastIndexOf("[")}function rd(a){a-=5120;return 0==a?Ma:1==a?C:2==a?Na:4==a?G:6==a?N:5==a||28922==a||28520==a||30779==a||30782==a?J:Oa}function sd(a,b,c,e,f){a=rd(a);var k=31-Math.clz32(a.BYTES_PER_ELEMENT),m=gd;return a.subarray(f>>k,f+e*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<>k)} +function Z(a){var b=X.Re;if(b){var c=b.ce[a];"number"==typeof c&&(b.ce[a]=c=X.getUniformLocation(b,b.Ce[a]+(0Y?-1:0S-v.getDate())E-=S-v.getDate()+1,v.setDate(1),11>H?v.setMonth(H+1):(v.setMonth(0),v.setFullYear(v.getFullYear()+1));else{v.setDate(v.getDate()+E);break}}H=new Date(v.getFullYear()+1,0,4);E=l(new Date(v.getFullYear(), +0,4));H=l(H);return 0>=m(E,v)?0>=m(H,v)?v.getFullYear()+1:v.getFullYear():v.getFullYear()-1}var x=G[e+40>>2];e={pf:G[e>>2],nf:G[e+4>>2],me:G[e+8>>2],ue:G[e+12>>2],ne:G[e+16>>2],Ud:G[e+20>>2],Qd:G[e+24>>2],Td:G[e+28>>2],vf:G[e+32>>2],mf:G[e+36>>2],qf:x?Ka(x):""};c=Ka(c);x={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y", +"%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var y in x)c=c.replace(new RegExp(y,"g"),x[y]);var B="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),D="January February March April May June July August September October November December".split(" ");x={"%a":function(v){return B[v.Qd].substring(0,3)},"%A":function(v){return B[v.Qd]},"%b":function(v){return D[v.ne].substring(0,3)}, +"%B":function(v){return D[v.ne]},"%C":function(v){return k((v.Ud+1900)/100|0,2)},"%d":function(v){return k(v.ue,2)},"%e":function(v){return f(v.ue,2," ")},"%g":function(v){return q(v).toString().substring(2)},"%G":function(v){return q(v)},"%H":function(v){return k(v.me,2)},"%I":function(v){v=v.me;0==v?v=12:12v.me?"AM":"PM"},"%S":function(v){return k(v.pf,2)},"%t":function(){return"\t"},"%u":function(v){return v.Qd||7},"%U":function(v){return k(Math.floor((v.Td+7-v.Qd)/7),2)},"%V":function(v){var E=Math.floor((v.Td+7-(v.Qd+6)%7)/7);2>=(v.Qd+371-v.Td-2)%7&&E++;if(E)53==E&&(H=(v.Qd+371-v.Td)%7,4==H||3==H&&zd(v.Ud)||(E=1));else{E=52;var H=(v.Qd+7-v.Td-1)%7;(4==H||5==H&&zd(v.Ud%400-1))&&E++}return k(E,2)},"%w":function(v){return v.Qd},"%W":function(v){return k(Math.floor((v.Td+ +7-(v.Qd+6)%7)/7),2)},"%y":function(v){return(v.Ud+1900).toString().substring(2)},"%Y":function(v){return v.Ud+1900},"%z":function(v){v=v.mf;var E=0<=v;v=Math.abs(v)/60;return(E?"+":"-")+String("0000"+(v/60*100+v%60)).slice(-4)},"%Z":function(v){return v.qf},"%%":function(){return"%"}};c=c.replace(/%%/g,"\x00\x00");for(y in x)c.includes(y)&&(c=c.replace(new RegExp(y,"g"),x[y](e)));c=c.replace(/\0\0/g,"%");y=Cd(c);if(y.length>b)return 0;Ma.set(y,a);return y.length-1}tb=r.InternalError=sb("InternalError"); +for(var Ed=Array(256),Fd=0;256>Fd;++Fd)Ed[Fd]=String.fromCharCode(Fd);yb=Ed;zb=r.BindingError=sb("BindingError");Tb.prototype.isAliasOf=function(a){if(!(this instanceof Tb&&a instanceof Tb))return!1;var b=this.jd.Id.Gd,c=this.jd.Fd,e=a.jd.Id.Gd;for(a=a.jd.Fd;b.Pd;)c=b.de(c),b=b.Pd;for(;e.Pd;)a=e.de(a),e=e.Pd;return b===e&&c===a}; +Tb.prototype.clone=function(){this.jd.Fd||Ab(this);if(this.jd.be)return this.jd.count.value+=1,this;var a=Sb,b=Object,c=b.create,e=Object.getPrototypeOf(this),f=this.jd;a=a(c.call(b,e,{jd:{value:{count:f.count,Yd:f.Yd,be:f.be,Fd:f.Fd,Id:f.Id,Kd:f.Kd,Nd:f.Nd}}}));a.jd.count.value+=1;a.jd.Yd=!1;return a};Tb.prototype["delete"]=function(){this.jd.Fd||Ab(this);this.jd.Yd&&!this.jd.be&&P("Object already scheduled for deletion");Ib(this);Jb(this.jd);this.jd.be||(this.jd.Kd=void 0,this.jd.Fd=void 0)}; +Tb.prototype.isDeleted=function(){return!this.jd.Fd};Tb.prototype.deleteLater=function(){this.jd.Fd||Ab(this);this.jd.Yd&&!this.jd.be&&P("Object already scheduled for deletion");Mb.push(this);1===Mb.length&&Ob&&Ob(Nb);this.jd.Yd=!0;return this};r.getInheritedInstanceCount=function(){return Object.keys(Pb).length};r.getLiveInheritedInstances=function(){var a=[],b;for(b in Pb)Pb.hasOwnProperty(b)&&a.push(Pb[b]);return a};r.flushPendingDeletes=Nb;r.setDelayFunction=function(a){Ob=a;Mb.length&&Ob&&Ob(Nb)}; +cc.prototype.Xe=function(a){this.Be&&(a=this.Be(a));return a};cc.prototype.we=function(a){this.Rd&&this.Rd(a)};cc.prototype.argPackAdvance=8;cc.prototype.readValueFromPointer=mb;cc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()}; +cc.prototype.fromWireType=function(a){function b(){return this.he?Rb(this.Gd.Zd,{Id:this.ef,Fd:c,Nd:this,Kd:a}):Rb(this.Gd.Zd,{Id:this,Fd:a})}var c=this.Xe(a);if(!c)return this.we(a),null;var e=Qb(this.Gd,c);if(void 0!==e){if(0===e.jd.count.value)return e.jd.Fd=c,e.jd.Kd=a,e.clone();e=e.clone();this.we(a);return e}e=this.Gd.We(c);e=Lb[e];if(!e)return b.call(this);e=this.ge?e.Qe:e.pointerType;var f=Kb(c,this.Gd,e.Gd);return null===f?b.call(this):this.he?Rb(e.Gd.Zd,{Id:e,Fd:f,Nd:this,Kd:a}):Rb(e.Gd.Zd, +{Id:e,Fd:f})};fc=r.UnboundTypeError=sb("UnboundTypeError");r.count_emval_handles=function(){for(var a=0,b=5;bGd;++Gd)ld.push(Array(Gd));var Hd=new Float32Array(288);for(Gd=0;288>Gd;++Gd)td[Gd]=Hd.subarray(0,Gd+1);var Id=new Int32Array(288);for(Gd=0;288>Gd;++Gd)ud[Gd]=Id.subarray(0,Gd+1); +var Wd={G:function(a,b,c){(new ib(a)).ie(b,c);jb++;throw a;},T:function(){return 0},rb:function(){},tb:function(){return 0},pb:function(){},ub:function(){},qb:function(){},C:function(a){var b=kb[a];delete kb[a];var c=b.se,e=b.Rd,f=b.ze,k=f.map(m=>m.$e).concat(f.map(m=>m.jf));vb([a],k,m=>{var l={};f.forEach((q,x)=>{var y=m[x],B=q.Ye,D=q.Ze,v=m[x+f.length],E=q.hf,H=q.kf;l[q.Ve]={read:S=>y.fromWireType(B(D,S)),write:(S,Y)=>{var da=[];E(H,S,v.toWireType(da,Y));lb(da)}}});return[{name:b.name,fromWireType:function(q){var x= +{},y;for(y in l)x[y]=l[y].read(q);e(q);return x},toWireType:function(q,x){for(var y in l)if(!(y in x))throw new TypeError('Missing field: "'+y+'"');var B=c();for(y in l)l[y].write(B,x[y]);null!==q&&q.push(e,B);return B},argPackAdvance:8,readValueFromPointer:mb,Md:e}]})},hb:function(){},yb:function(a,b,c,e,f){var k=xb(c);b=O(b);wb(a,{name:b,fromWireType:function(m){return!!m},toWireType:function(m,l){return l?e:f},argPackAdvance:8,readValueFromPointer:function(m){if(1===c)var l=Ma;else if(2===c)l= +Na;else if(4===c)l=G;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(l[m>>k])},Md:null})},l:function(a,b,c,e,f,k,m,l,q,x,y,B,D){y=O(y);k=R(f,k);l&&(l=R(m,l));x&&(x=R(q,x));D=R(B,D);var v=qb(y);Vb(v,function(){qc("Cannot construct "+y+" due to unbound types",[e])});vb([a,b,c],e?[e]:[],function(E){E=E[0];if(e){var H=E.Gd;var S=H.Zd}else S=Tb.prototype;E=rb(v,function(){if(Object.getPrototypeOf(this)!==Y)throw new zb("Use 'new' to construct "+y);if(void 0===da.Sd)throw new zb(y+ +" has no accessible constructor");var La=da.Sd[arguments.length];if(void 0===La)throw new zb("Tried to invoke ctor of "+y+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(da.Sd).toString()+") parameters instead!");return La.apply(this,arguments)});var Y=Object.create(S,{constructor:{value:E}});E.prototype=Y;var da=new Wb(y,E,Y,D,H,k,l,x);H=new cc(y,da,!0,!1,!1);S=new cc(y+"*",da,!1,!1,!1);var ua=new cc(y+" const*",da,!1,!0,!1);Lb[a]={pointerType:S,Qe:ua};dc(v,E); +return[H,S,ua]})},e:function(a,b,c,e,f,k,m){var l=sc(c,e);b=O(b);k=R(f,k);vb([],[a],function(q){function x(){qc("Cannot call "+y+" due to unbound types",l)}q=q[0];var y=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var B=q.Gd.constructor;void 0===B[b]?(x.Wd=c-1,B[b]=x):(Ub(B,b,y),B[b].Jd[c-1]=x);vb([],l,function(D){D=[D[0],null].concat(D.slice(1));D=rc(y,D,null,k,m);void 0===B[b].Jd?(D.Wd=c-1,B[b]=D):B[b].Jd[c-1]=D;return[]});return[]})},A:function(a,b,c,e,f,k){0{qc("Cannot construct "+l.name+" due to unbound types",m)};vb([],m,function(x){x.splice(1,0,null);l.Gd.Sd[b-1]=rc(q,x,null,f,k);return[]}); +return[]})},a:function(a,b,c,e,f,k,m,l){var q=sc(c,e);b=O(b);k=R(f,k);vb([],[a],function(x){function y(){qc("Cannot call "+B+" due to unbound types",q)}x=x[0];var B=x.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);l&&x.Gd.ff.push(b);var D=x.Gd.Zd,v=D[b];void 0===v||void 0===v.Jd&&v.className!==x.name&&v.Wd===c-2?(y.Wd=c-2,y.className=x.name,D[b]=y):(Ub(D,b,B),D[b].Jd[c-2]=y);vb([],q,function(E){E=rc(B,E,x,k,m);void 0===D[b].Jd?(E.Wd=c-2,D[b]=E):D[b].Jd[c-2]=E;return[]});return[]})},r:function(a, +b,c){a=O(a);vb([],[b],function(e){e=e[0];r[a]=e.fromWireType(c);return[]})},xb:function(a,b){b=O(b);wb(a,{name:b,fromWireType:function(c){var e=wc(c);vc(c);return e},toWireType:function(c,e){return ac(e)},argPackAdvance:8,readValueFromPointer:mb,Md:null})},i:function(a,b,c,e){function f(){}c=xb(c);b=O(b);f.values={};wb(a,{name:b,constructor:f,fromWireType:function(k){return this.constructor.values[k]},toWireType:function(k,m){return m.value},argPackAdvance:8,readValueFromPointer:xc(b,c,e),Md:null}); +Vb(b,f)},b:function(a,b,c){var e=yc(a,"enum");b=O(b);a=e.constructor;e=Object.create(e.constructor.prototype,{value:{value:c},constructor:{value:rb(e.name+"_"+b,function(){})}});a.values[c]=e;a[b]=e},W:function(a,b,c){c=xb(c);b=O(b);wb(a,{name:b,fromWireType:function(e){return e},toWireType:function(e,f){return f},argPackAdvance:8,readValueFromPointer:zc(b,c),Md:null})},t:function(a,b,c,e,f,k){var m=sc(b,c);a=O(a);f=R(e,f);Vb(a,function(){qc("Cannot call "+a+" due to unbound types",m)},b-1);vb([], +m,function(l){l=[l[0],null].concat(l.slice(1));dc(a,rc(a,l,null,f,k),b-1);return[]})},E:function(a,b,c,e,f){b=O(b);-1===f&&(f=4294967295);f=xb(c);var k=l=>l;if(0===e){var m=32-8*c;k=l=>l<>>m}c=b.includes("unsigned")?function(l,q){return q>>>0}:function(l,q){return q};wb(a,{name:b,fromWireType:k,toWireType:c,argPackAdvance:8,readValueFromPointer:Ac(b,f,0!==e),Md:null})},s:function(a,b,c){function e(k){k>>=2;var m=J;return new f(m.buffer,m[k+1],m[k])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array, +Int32Array,Uint32Array,Float32Array,Float64Array][b];c=O(c);wb(a,{name:c,fromWireType:e,argPackAdvance:8,readValueFromPointer:e},{bf:!0})},q:function(a,b,c,e,f,k,m,l,q,x,y,B){c=O(c);k=R(f,k);l=R(m,l);x=R(q,x);B=R(y,B);vb([a],[b],function(D){D=D[0];return[new cc(c,D.Gd,!1,!1,!0,D,e,k,l,x,B)]})},V:function(a,b){b=O(b);var c="std::string"===b;wb(a,{name:b,fromWireType:function(e){var f=J[e>>2],k=e+4;if(c)for(var m=k,l=0;l<=f;++l){var q=k+l;if(l==f||0==C[q]){m=Ka(m,q-m);if(void 0===x)var x=m;else x+= +String.fromCharCode(0),x+=m;m=q+1}}else{x=Array(f);for(l=0;l>2]=k;if(c&&m)ka(f,C,q,k+1);else if(m)for(m=0;mOa;var l=1}else 4===b&&(e=Fc,f=Gc,k=Hc,m=()=>J,l=2);wb(a,{name:c,fromWireType:function(q){for(var x=J[q>>2],y=m(),B,D=q+4,v=0;v<=x;++v){var E=q+4+v*b;if(v==x||0==y[E>>l])D=e(D,E-D),void 0===B?B=D:(B+=String.fromCharCode(0),B+=D),D=E+b}pc(q);return B},toWireType:function(q,x){"string"!=typeof x&& +P("Cannot pass non-string to C++ string type "+c);var y=k(x),B=pd(4+y+b);J[B>>2]=y>>l;f(x,B+4,y+b);null!==q&&q.push(pc,B);return B},argPackAdvance:8,readValueFromPointer:mb,Md:function(q){pc(q)}})},D:function(a,b,c,e,f,k){kb[a]={name:O(b),se:R(c,e),Rd:R(f,k),ze:[]}},d:function(a,b,c,e,f,k,m,l,q,x){kb[a].ze.push({Ve:O(b),$e:c,Ye:R(e,f),Ze:k,jf:m,hf:R(l,q),kf:x})},zb:function(a,b){b=O(b);wb(a,{df:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},wb:function(){return!0}, +jb:function(){throw Infinity;},F:function(a,b,c){a=wc(a);b=yc(b,"emval::as");var e=[],f=ac(e);J[c>>2]=f;return b.toWireType(e,a)},O:function(a,b,c,e,f){a=Kc[a];b=wc(b);c=Jc(c);var k=[];J[e>>2]=ac(k);return a(b,c,k,f)},x:function(a,b,c,e){a=Kc[a];b=wc(b);c=Jc(c);a(b,c,null,e)},c:vc,K:function(a){if(0===a)return ac(Lc());a=Jc(a);return ac(Lc()[a])},u:function(a,b){var c=Nc(a,b),e=c[0];b=e.name+"_$"+c.slice(1).map(function(m){return m.name}).join("_")+"$";var f=Oc[b];if(void 0!==f)return f;var k=Array(a- +1);f=Mc((m,l,q,x)=>{for(var y=0,B=0;B>>0)+4294967296*e)},ba:function(a,b,c,e){X.colorMask(!!a,!!b,!!c,!!e)},ca:function(a){X.compileShader($c[a])},da:function(a,b,c,e,f,k,m,l){2<=u.version?X.Xd||!m?X.compressedTexImage2D(a, +b,c,e,f,k,m,l):X.compressedTexImage2D(a,b,c,e,f,k,C,l,m):X.compressedTexImage2D(a,b,c,e,f,k,l?C.subarray(l,l+m):null)},ea:function(a,b,c,e,f,k,m,l,q){2<=u.version?X.Xd||!l?X.compressedTexSubImage2D(a,b,c,e,f,k,m,l,q):X.compressedTexSubImage2D(a,b,c,e,f,k,m,C,q,l):X.compressedTexSubImage2D(a,b,c,e,f,k,m,q?C.subarray(q,q+l):null)},Pb:function(a,b,c,e,f){X.copyBufferSubData(a,b,c,e,f)},fa:function(a,b,c,e,f,k,m,l){X.copyTexSubImage2D(a,b,c,e,f,k,m,l)},ga:function(){var a=ca(Xc),b=X.createProgram();b.name= +a;b.le=b.je=b.ke=0;b.ve=1;Xc[a]=b;return a},ha:function(a){var b=ca($c);$c[b]=X.createShader(a);return b},ia:function(a){X.cullFace(a)},ja:function(a,b){for(var c=0;c>2],f=Wc[e];f&&(X.deleteBuffer(f),f.name=0,Wc[e]=null,e==X.pe&&(X.pe=0),e==X.Xd&&(X.Xd=0))}},Zb:function(a,b){for(var c=0;c>2],f=Yc[e];f&&(X.deleteFramebuffer(f),f.name=0,Yc[e]=null)}},ka:function(a){if(a){var b=Xc[a];b?(X.deleteProgram(b),b.name=0,Xc[a]=null):U(1281)}},_b:function(a,b){for(var c= +0;c>2],f=Zc[e];f&&(X.deleteRenderbuffer(f),f.name=0,Zc[e]=null)}},Ib:function(a,b){for(var c=0;c>2],f=bd[e];f&&(X.deleteSampler(f),f.name=0,bd[e]=null)}},la:function(a){if(a){var b=$c[a];b?(X.deleteShader(b),$c[a]=null):U(1281)}},Qb:function(a){if(a){var b=cd[a];b?(X.deleteSync(b),b.name=0,cd[a]=null):U(1281)}},ma:function(a,b){for(var c=0;c>2],f=ea[e];f&&(X.deleteTexture(f),f.name=0,ea[e]=null)}},qc:function(a,b){for(var c=0;c>2];X.deleteVertexArray(ad[e]);ad[e]=null}},tc:function(a,b){for(var c=0;c>2];X.deleteVertexArray(ad[e]);ad[e]=null}},na:function(a){X.depthMask(!!a)},oa:function(a){X.disable(a)},pa:function(a){X.disableVertexAttribArray(a)},qa:function(a,b,c){X.drawArrays(a,b,c)},nc:function(a,b,c,e){X.drawArraysInstanced(a,b,c,e)},lc:function(a,b,c,e,f){X.xe.drawArraysInstancedBaseInstanceWEBGL(a,b,c,e,f)},jc:function(a,b){for(var c=ld[a],e=0;e>2];X.drawBuffers(c)}, +ra:function(a,b,c,e){X.drawElements(a,b,c,e)},oc:function(a,b,c,e,f){X.drawElementsInstanced(a,b,c,e,f)},mc:function(a,b,c,e,f,k,m){X.xe.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,e,f,k,m)},dc:function(a,b,c,e,f,k){X.drawElements(a,e,f,k)},sa:function(a){X.enable(a)},ta:function(a){X.enableVertexAttribArray(a)},Nb:function(a,b){return(a=X.fenceSync(a,b))?(b=ca(cd),a.name=b,cd[b]=a,b):0},ua:function(){X.finish()},va:function(){X.flush()},$b:function(a,b,c,e){X.framebufferRenderbuffer(a, +b,c,Zc[e])},ac:function(a,b,c,e,f){X.framebufferTexture2D(a,b,c,ea[e],f)},wa:function(a){X.frontFace(a)},xa:function(a,b){md(a,b,"createBuffer",Wc)},bc:function(a,b){md(a,b,"createFramebuffer",Yc)},cc:function(a,b){md(a,b,"createRenderbuffer",Zc)},Jb:function(a,b){md(a,b,"createSampler",bd)},ya:function(a,b){md(a,b,"createTexture",ea)},rc:function(a,b){md(a,b,"createVertexArray",ad)},uc:function(a,b){md(a,b,"createVertexArray",ad)},Tb:function(a){X.generateMipmap(a)},za:function(a,b,c){c?G[c>>2]= +X.getBufferParameter(a,b):U(1281)},Aa:function(){var a=X.getError()||hd;hd=0;return a},Ba:function(a,b){nd(a,b,2)},Ub:function(a,b,c,e){a=X.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;G[e>>2]=a},L:function(a,b){nd(a,b,0)},Ca:function(a,b,c,e){a=X.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0>2]=b)},Da:function(a,b,c){if(c)if(a>=Vc)U(1281);else if(a=Xc[a],35716==b)a=X.getProgramInfoLog(a), +null===a&&(a="(unknown error)"),G[c>>2]=a.length+1;else if(35719==b){if(!a.le)for(b=0;b>2]=a.le}else if(35722==b){if(!a.je)for(b=0;b>2]=a.je}else if(35381==b){if(!a.ke)for(b=0;b>2]=a.ke}else G[c>>2]=X.getProgramParameter(a, +b);else U(1281)},Vb:function(a,b,c){c?G[c>>2]=X.getRenderbufferParameter(a,b):U(1281)},Ea:function(a,b,c,e){a=X.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0>2]=b)},Eb:function(a,b,c,e){a=X.getShaderPrecisionFormat(a,b);G[c>>2]=a.rangeMin;G[c+4>>2]=a.rangeMax;G[e>>2]=a.precision},Fa:function(a,b,c){c?35716==b?(a=X.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),G[c>>2]=a?a.length+1:0):35720==b?(a=X.getShaderSource($c[a]),G[c>>2]=a?a.length+1:0):G[c>> +2]=X.getShaderParameter($c[a],b):U(1281)},P:function(a){var b=ed[a];if(!b){switch(a){case 7939:b=X.getSupportedExtensions()||[];b=b.concat(b.map(function(e){return"GL_"+e}));b=od(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=X.getParameter(a))||U(1280);b=b&&od(b);break;case 7938:b=X.getParameter(7938);b=2<=u.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=od(b);break;case 35724:b=X.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!== +c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=od(b);break;default:U(1280)}ed[a]=b}return b},ab:function(a,b){if(2>u.version)return U(1282),0;var c=fd[a];if(c)return 0>b||b>=c.length?(U(1281),0):c[b];switch(a){case 7939:return c=X.getSupportedExtensions()||[],c=c.concat(c.map(function(e){return"GL_"+e})),c=c.map(function(e){return od(e)}),c=fd[a]=c,0>b||b>=c.length?(U(1281),0):c[b];default:return U(1280),0}},Ga:function(a,b){b=Ka(b);if(a=Xc[a]){var c=a,e=c.ce,f=c.De,k;if(!e)for(c.ce= +e={},c.Ce={},k=0;k>>0,f=b.slice(0,k));if((f=a.De[f])&&e>2];X.invalidateFramebuffer(a,e)},Gb:function(a,b,c,e,f,k,m){for(var l= +ld[b],q=0;q>2];X.invalidateSubFramebuffer(a,l,e,f,k,m)},Ob:function(a){return X.isSync(cd[a])},Ha:function(a){return(a=ea[a])?X.isTexture(a):0},Ia:function(a){X.lineWidth(a)},Ja:function(a){a=Xc[a];X.linkProgram(a);a.ce=0;a.De={}},hc:function(a,b,c,e,f,k){X.Ae.multiDrawArraysInstancedBaseInstanceWEBGL(a,G,b>>2,G,c>>2,G,e>>2,J,f>>2,k)},ic:function(a,b,c,e,f,k,m,l){X.Ae.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,G,b>>2,c,G,e>>2,G,f>>2,G,k>>2,J,m>>2,l)},Ka:function(a, +b){3317==a&&(gd=b);X.pixelStorei(a,b)},kc:function(a){X.readBuffer(a)},La:function(a,b,c,e,f,k,m){if(2<=u.version)if(X.pe)X.readPixels(a,b,c,e,f,k,m);else{var l=rd(k);X.readPixels(a,b,c,e,f,k,l,m>>31-Math.clz32(l.BYTES_PER_ELEMENT))}else(m=sd(k,f,c,e,m))?X.readPixels(a,b,c,e,f,k,m):U(1280)},Wb:function(a,b,c,e){X.renderbufferStorage(a,b,c,e)},Sb:function(a,b,c,e,f){X.renderbufferStorageMultisample(a,b,c,e,f)},Kb:function(a,b,c){X.samplerParameterf(bd[a],b,c)},Lb:function(a,b,c){X.samplerParameteri(bd[a], +b,c)},Mb:function(a,b,c){X.samplerParameteri(bd[a],b,G[c>>2])},Ma:function(a,b,c,e){X.scissor(a,b,c,e)},Na:function(a,b,c,e){for(var f="",k=0;k>2]:-1;f+=Ka(G[c+4*k>>2],0>m?void 0:m)}X.shaderSource($c[a],f)},Oa:function(a,b,c){X.stencilFunc(a,b,c)},Pa:function(a,b,c,e){X.stencilFuncSeparate(a,b,c,e)},Qa:function(a){X.stencilMask(a)},Ra:function(a,b){X.stencilMaskSeparate(a,b)},Sa:function(a,b,c){X.stencilOp(a,b,c)},Ta:function(a,b,c,e){X.stencilOpSeparate(a,b,c,e)},Ua:function(a, +b,c,e,f,k,m,l,q){if(2<=u.version)if(X.Xd)X.texImage2D(a,b,c,e,f,k,m,l,q);else if(q){var x=rd(l);X.texImage2D(a,b,c,e,f,k,m,l,x,q>>31-Math.clz32(x.BYTES_PER_ELEMENT))}else X.texImage2D(a,b,c,e,f,k,m,l,null);else X.texImage2D(a,b,c,e,f,k,m,l,q?sd(l,m,e,f,q):null)},Va:function(a,b,c){X.texParameterf(a,b,c)},Wa:function(a,b,c){X.texParameterf(a,b,N[c>>2])},Xa:function(a,b,c){X.texParameteri(a,b,c)},Ya:function(a,b,c){X.texParameteri(a,b,G[c>>2])},ec:function(a,b,c,e,f){X.texStorage2D(a,b,c,e,f)},Za:function(a, +b,c,e,f,k,m,l,q){if(2<=u.version)if(X.Xd)X.texSubImage2D(a,b,c,e,f,k,m,l,q);else if(q){var x=rd(l);X.texSubImage2D(a,b,c,e,f,k,m,l,x,q>>31-Math.clz32(x.BYTES_PER_ELEMENT))}else X.texSubImage2D(a,b,c,e,f,k,m,l,null);else x=null,q&&(x=sd(l,m,f,k,q)),X.texSubImage2D(a,b,c,e,f,k,m,l,x)},_a:function(a,b){X.uniform1f(Z(a),b)},$a:function(a,b,c){if(2<=u.version)b&&X.uniform1fv(Z(a),N,c>>2,b);else{if(288>=b)for(var e=td[b-1],f=0;f>2];else e=N.subarray(c>>2,c+4*b>>2);X.uniform1fv(Z(a), +e)}},Pc:function(a,b){X.uniform1i(Z(a),b)},Qc:function(a,b,c){if(2<=u.version)b&&X.uniform1iv(Z(a),G,c>>2,b);else{if(288>=b)for(var e=ud[b-1],f=0;f>2];else e=G.subarray(c>>2,c+4*b>>2);X.uniform1iv(Z(a),e)}},Rc:function(a,b,c){X.uniform2f(Z(a),b,c)},Sc:function(a,b,c){if(2<=u.version)b&&X.uniform2fv(Z(a),N,c>>2,2*b);else{if(144>=b)for(var e=td[2*b-1],f=0;f<2*b;f+=2)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2];else e=N.subarray(c>>2,c+8*b>>2);X.uniform2fv(Z(a),e)}},Oc:function(a,b,c){X.uniform2i(Z(a), +b,c)},Nc:function(a,b,c){if(2<=u.version)b&&X.uniform2iv(Z(a),G,c>>2,2*b);else{if(144>=b)for(var e=ud[2*b-1],f=0;f<2*b;f+=2)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2];else e=G.subarray(c>>2,c+8*b>>2);X.uniform2iv(Z(a),e)}},Mc:function(a,b,c,e){X.uniform3f(Z(a),b,c,e)},Lc:function(a,b,c){if(2<=u.version)b&&X.uniform3fv(Z(a),N,c>>2,3*b);else{if(96>=b)for(var e=td[3*b-1],f=0;f<3*b;f+=3)e[f]=N[c+4*f>>2],e[f+1]=N[c+(4*f+4)>>2],e[f+2]=N[c+(4*f+8)>>2];else e=N.subarray(c>>2,c+12*b>>2);X.uniform3fv(Z(a),e)}}, +Kc:function(a,b,c,e){X.uniform3i(Z(a),b,c,e)},Jc:function(a,b,c){if(2<=u.version)b&&X.uniform3iv(Z(a),G,c>>2,3*b);else{if(96>=b)for(var e=ud[3*b-1],f=0;f<3*b;f+=3)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2],e[f+2]=G[c+(4*f+8)>>2];else e=G.subarray(c>>2,c+12*b>>2);X.uniform3iv(Z(a),e)}},Ic:function(a,b,c,e,f){X.uniform4f(Z(a),b,c,e,f)},Hc:function(a,b,c){if(2<=u.version)b&&X.uniform4fv(Z(a),N,c>>2,4*b);else{if(72>=b){var e=td[4*b-1],f=N;c>>=2;for(var k=0;k<4*b;k+=4){var m=c+k;e[k]=f[m];e[k+1]=f[m+1];e[k+ +2]=f[m+2];e[k+3]=f[m+3]}}else e=N.subarray(c>>2,c+16*b>>2);X.uniform4fv(Z(a),e)}},vc:function(a,b,c,e,f){X.uniform4i(Z(a),b,c,e,f)},wc:function(a,b,c){if(2<=u.version)b&&X.uniform4iv(Z(a),G,c>>2,4*b);else{if(72>=b)for(var e=ud[4*b-1],f=0;f<4*b;f+=4)e[f]=G[c+4*f>>2],e[f+1]=G[c+(4*f+4)>>2],e[f+2]=G[c+(4*f+8)>>2],e[f+3]=G[c+(4*f+12)>>2];else e=G.subarray(c>>2,c+16*b>>2);X.uniform4iv(Z(a),e)}},xc:function(a,b,c,e){if(2<=u.version)b&&X.uniformMatrix2fv(Z(a),!!c,N,e>>2,4*b);else{if(72>=b)for(var f=td[4* +b-1],k=0;k<4*b;k+=4)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2];else f=N.subarray(e>>2,e+16*b>>2);X.uniformMatrix2fv(Z(a),!!c,f)}},yc:function(a,b,c,e){if(2<=u.version)b&&X.uniformMatrix3fv(Z(a),!!c,N,e>>2,9*b);else{if(32>=b)for(var f=td[9*b-1],k=0;k<9*b;k+=9)f[k]=N[e+4*k>>2],f[k+1]=N[e+(4*k+4)>>2],f[k+2]=N[e+(4*k+8)>>2],f[k+3]=N[e+(4*k+12)>>2],f[k+4]=N[e+(4*k+16)>>2],f[k+5]=N[e+(4*k+20)>>2],f[k+6]=N[e+(4*k+24)>>2],f[k+7]=N[e+(4*k+28)>>2],f[k+8]=N[e+(4*k+ +32)>>2];else f=N.subarray(e>>2,e+36*b>>2);X.uniformMatrix3fv(Z(a),!!c,f)}},zc:function(a,b,c,e){if(2<=u.version)b&&X.uniformMatrix4fv(Z(a),!!c,N,e>>2,16*b);else{if(18>=b){var f=td[16*b-1],k=N;e>>=2;for(var m=0;m<16*b;m+=16){var l=e+m;f[m]=k[l];f[m+1]=k[l+1];f[m+2]=k[l+2];f[m+3]=k[l+3];f[m+4]=k[l+4];f[m+5]=k[l+5];f[m+6]=k[l+6];f[m+7]=k[l+7];f[m+8]=k[l+8];f[m+9]=k[l+9];f[m+10]=k[l+10];f[m+11]=k[l+11];f[m+12]=k[l+12];f[m+13]=k[l+13];f[m+14]=k[l+14];f[m+15]=k[l+15]}}else f=N.subarray(e>>2,e+64*b>>2); +X.uniformMatrix4fv(Z(a),!!c,f)}},Ac:function(a){a=Xc[a];X.useProgram(a);X.Re=a},Bc:function(a,b){X.vertexAttrib1f(a,b)},Cc:function(a,b){X.vertexAttrib2f(a,N[b>>2],N[b+4>>2])},Dc:function(a,b){X.vertexAttrib3f(a,N[b>>2],N[b+4>>2],N[b+8>>2])},Ec:function(a,b){X.vertexAttrib4f(a,N[b>>2],N[b+4>>2],N[b+8>>2],N[b+12>>2])},fc:function(a,b){X.vertexAttribDivisor(a,b)},gc:function(a,b,c,e,f){X.vertexAttribIPointer(a,b,c,e,f)},Fc:function(a,b,c,e,f,k){X.vertexAttribPointer(a,b,c,!!e,f,k)},Gc:function(a,b, +c,e){X.viewport(a,b,c,e)},cb:function(a,b,c,e){X.waitSync(cd[a],b,(c>>>0)+4294967296*e)},kb:function(a){var b=C.length;a>>>=0;if(2147483648=c;c*=2){var e=b*(1+.2/c);e=Math.min(e,a+100663296);var f=Math,k=f.min;e=Math.max(a,e);e+=(65536-e%65536)%65536;a:{var m=Ga.buffer;try{Ga.grow(k.call(f,2147483648,e)-m.byteLength+65535>>>16);Qa();var l=1;break a}catch(q){}l=void 0}if(l)return!0}return!1},eb:function(){return u?u.af:0},nb:function(a,b){var c=0;wd().forEach(function(e,f){var k= +b+c;f=J[a+4*f>>2]=k;for(k=0;k>0]=e.charCodeAt(k);Ma[f>>0]=0;c+=e.length+1});return 0},ob:function(a,b){var c=wd();J[a>>2]=c.length;var e=0;c.forEach(function(f){e+=f.length+1});J[b>>2]=e;return 0},Ab:function(a){if(!noExitRuntime){if(r.onExit)r.onExit(a);Ha=!0}oa(a,new Ba(a))},U:function(){return 52},fb:function(){return 52},sb:function(){return 52},gb:function(){return 70},R:function(a,b,c,e){for(var f=0,k=0;k>2],l=J[b+4>>2];b+=8;for(var q=0;q>2]=f;return 0},n:Jd,m:Kd,k:Ld,N:Md,Y:Nd,X:Od,w:Pd,y:Qd,p:Rd,v:Sd,Bb:Td,Cb:Ud,Db:Vd,ib:function(a,b,c,e){return Dd(a,b,c,e)}}; +(function(){function a(c){c=c.exports;r.asm=c;Ga=r.asm.$c;Qa();Sa=r.asm.bd;Ua.unshift(r.asm.ad);Xa--;r.monitorRunDependencies&&r.monitorRunDependencies(Xa);if(0==Xa&&(null!==Ya&&(clearInterval(Ya),Ya=null),Za)){var e=Za;Za=null;e()}return c}var b={a:Wd};Xa++;r.monitorRunDependencies&&r.monitorRunDependencies(Xa);if(r.instantiateWasm)try{return r.instantiateWasm(b,a)}catch(c){Ca("Module.instantiateWasm callback failed with error: "+c),ba(c)}fb(b,function(c){a(c.instance)}).catch(ba);return{}})(); +var pc=r._free=function(){return(pc=r._free=r.asm.cd).apply(null,arguments)},pd=r._malloc=function(){return(pd=r._malloc=r.asm.dd).apply(null,arguments)},oc=r.___getTypeName=function(){return(oc=r.___getTypeName=r.asm.ed).apply(null,arguments)};r.__embind_initialize_bindings=function(){return(r.__embind_initialize_bindings=r.asm.fd).apply(null,arguments)};function Xd(){return(Xd=r.asm.gd).apply(null,arguments)}function Yd(){return(Yd=r.asm.hd).apply(null,arguments)} +function Zd(){return(Zd=r.asm.id).apply(null,arguments)}r.dynCall_viji=function(){return(r.dynCall_viji=r.asm.kd).apply(null,arguments)};r.dynCall_vijiii=function(){return(r.dynCall_vijiii=r.asm.ld).apply(null,arguments)};r.dynCall_viiiiij=function(){return(r.dynCall_viiiiij=r.asm.md).apply(null,arguments)};r.dynCall_jii=function(){return(r.dynCall_jii=r.asm.nd).apply(null,arguments)};r.dynCall_vij=function(){return(r.dynCall_vij=r.asm.od).apply(null,arguments)}; +r.dynCall_iiij=function(){return(r.dynCall_iiij=r.asm.pd).apply(null,arguments)};r.dynCall_iiiij=function(){return(r.dynCall_iiiij=r.asm.qd).apply(null,arguments)};r.dynCall_viij=function(){return(r.dynCall_viij=r.asm.rd).apply(null,arguments)};r.dynCall_viiij=function(){return(r.dynCall_viiij=r.asm.sd).apply(null,arguments)};r.dynCall_ji=function(){return(r.dynCall_ji=r.asm.td).apply(null,arguments)};r.dynCall_iij=function(){return(r.dynCall_iij=r.asm.ud).apply(null,arguments)}; +r.dynCall_jiiiiii=function(){return(r.dynCall_jiiiiii=r.asm.vd).apply(null,arguments)};r.dynCall_jiiiiji=function(){return(r.dynCall_jiiiiji=r.asm.wd).apply(null,arguments)};r.dynCall_iijj=function(){return(r.dynCall_iijj=r.asm.xd).apply(null,arguments)};r.dynCall_jiji=function(){return(r.dynCall_jiji=r.asm.yd).apply(null,arguments)};r.dynCall_viijii=function(){return(r.dynCall_viijii=r.asm.zd).apply(null,arguments)};r.dynCall_iiiiij=function(){return(r.dynCall_iiiiij=r.asm.Ad).apply(null,arguments)}; +r.dynCall_iiiiijj=function(){return(r.dynCall_iiiiijj=r.asm.Bd).apply(null,arguments)};r.dynCall_iiiiiijj=function(){return(r.dynCall_iiiiiijj=r.asm.Cd).apply(null,arguments)};function Sd(a,b,c,e,f){var k=Yd();try{Q(a)(b,c,e,f)}catch(m){Zd(k);if(m!==m+0)throw m;Xd(1,0)}}function Kd(a,b,c){var e=Yd();try{return Q(a)(b,c)}catch(f){Zd(e);if(f!==f+0)throw f;Xd(1,0)}}function Qd(a,b,c){var e=Yd();try{Q(a)(b,c)}catch(f){Zd(e);if(f!==f+0)throw f;Xd(1,0)}} +function Jd(a,b){var c=Yd();try{return Q(a)(b)}catch(e){Zd(c);if(e!==e+0)throw e;Xd(1,0)}}function Pd(a,b){var c=Yd();try{Q(a)(b)}catch(e){Zd(c);if(e!==e+0)throw e;Xd(1,0)}}function Ld(a,b,c,e){var f=Yd();try{return Q(a)(b,c,e)}catch(k){Zd(f);if(k!==k+0)throw k;Xd(1,0)}}function Vd(a,b,c,e,f,k,m,l,q,x){var y=Yd();try{Q(a)(b,c,e,f,k,m,l,q,x)}catch(B){Zd(y);if(B!==B+0)throw B;Xd(1,0)}}function Rd(a,b,c,e){var f=Yd();try{Q(a)(b,c,e)}catch(k){Zd(f);if(k!==k+0)throw k;Xd(1,0)}} +function Ud(a,b,c,e,f,k,m){var l=Yd();try{Q(a)(b,c,e,f,k,m)}catch(q){Zd(l);if(q!==q+0)throw q;Xd(1,0)}}function Md(a,b,c,e,f){var k=Yd();try{return Q(a)(b,c,e,f)}catch(m){Zd(k);if(m!==m+0)throw m;Xd(1,0)}}function Nd(a,b,c,e,f,k,m){var l=Yd();try{return Q(a)(b,c,e,f,k,m)}catch(q){Zd(l);if(q!==q+0)throw q;Xd(1,0)}}function Td(a,b,c,e,f,k){var m=Yd();try{Q(a)(b,c,e,f,k)}catch(l){Zd(m);if(l!==l+0)throw l;Xd(1,0)}} +function Od(a,b,c,e,f,k,m,l,q,x){var y=Yd();try{return Q(a)(b,c,e,f,k,m,l,q,x)}catch(B){Zd(y);if(B!==B+0)throw B;Xd(1,0)}}var $d;Za=function ae(){$d||be();$d||(Za=ae)}; +function be(){function a(){if(!$d&&($d=!0,r.calledRun=!0,!Ha)){hb(Ua);aa(r);if(r.onRuntimeInitialized)r.onRuntimeInitialized();if(r.postRun)for("function"==typeof r.postRun&&(r.postRun=[r.postRun]);r.postRun.length;){var b=r.postRun.shift();Va.unshift(b)}hb(Va)}}if(!(0 { + var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; + return ( +function(skwasm = {}) { + +function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF64}var Module=typeof skwasm!="undefined"?skwasm:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;if(e&&typeof e=="object"&&e.stack){toLog=[e,e.stack]}err("exiting due to exception: "+toLog)}if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);process.on("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});var nodeMajor=process.versions.node.split(".")[0];if(nodeMajor<15){process.on("unhandledRejection",function(reason){throw reason})}quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process.exitCode=status;throw toThrow}logExceptionOnExit(toThrow);process.exit(status)};Module["inspect"]=function(){return"[Emscripten Module object]"};let nodeWorkerThreads;try{nodeWorkerThreads=require("worker_threads")}catch(e){console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?');throw e}global.Worker=nodeWorkerThreads.Worker}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!ENVIRONMENT_IS_NODE){read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}if(ENVIRONMENT_IS_NODE){if(typeof performance=="undefined"){global.performance=require("perf_hooks").performance}}var defaultPrint=console.log.bind(console);var defaultPrintErr=console.warn.bind(console);if(ENVIRONMENT_IS_NODE){defaultPrint=str=>fs.writeSync(1,str+"\n");defaultPrintErr=str=>fs.writeSync(2,str+"\n")}var out=Module["print"]||defaultPrint;var err=Module["printErr"]||defaultPrintErr;Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.slice(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;assert(INITIAL_MEMORY>=65536,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+65536+")");if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)")}throw Error("bad memory")}}}updateMemoryViews();INITIAL_MEMORY=wasmMemory.buffer.byteLength;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="skwasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(binaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(binaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(binaryFile)})}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(function(binary){return WebAssembly.instantiate(binary,imports)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}else{return instantiateArrayBuffer(binaryFile,imports,callback)}}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;registerTLSInit(Module["asm"]["_emscripten_tls_init"]);wasmTable=Module["asm"]["__indirect_function_table"];addOnInit(Module["asm"]["__wasm_call_ctors"]);wasmModule=module;PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("wasm-instantiate"));return exports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err("Module.instantiateWasm callback failed with error: "+e);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function terminateWorker(worker){worker.terminate();worker.onmessage=e=>{}}function killThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];terminateWorker(worker);__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0}function cancelThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker)}function spawnThread(threadParams){var worker=PThread.getNewWorker();if(!worker){return 6}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={"cmd":"run","start_routine":threadParams.startRoutine,"arg":threadParams.arg,"pthread_ptr":threadParams.pthread_ptr};msg.moduleCanvasId=threadParams.moduleCanvasId;msg.offscreenCanvases=threadParams.offscreenCanvases;if(ENVIRONMENT_IS_NODE){worker.ref()}worker.postMessage(msg,threadParams.transferList);return 0}var SYSCALLS={varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret}};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}_proc_exit(status)}var _exit=exitJS;function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init:function(){if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker()}else{PThread.initMainThread()}},initMainThread:function(){var pthreadPoolSize=1;while(pthreadPoolSize--){PThread.allocateUnusedWorker()}},initWorker:function(){noExitRuntime=false},setExitStatus:function(status){EXITSTATUS=status},terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:function(){for(var worker of PThread.runningWorkers){terminateWorker(worker)}for(var worker of PThread.unusedWorkers){terminateWorker(worker)}PThread.unusedWorkers=[];PThread.runningWorkers=[];PThread.pthreads=[]},returnWorkerToPool:function(worker){var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;if(ENVIRONMENT_IS_NODE){worker.unref()}__emscripten_thread_free_data(pthread_ptr)},receiveObjectTransfer:function(data){if(typeof GL!="undefined"){Object.assign(GL.offscreenCanvases,data.offscreenCanvases);if(!Module["canvas"]&&data.moduleCanvasId&&GL.offscreenCanvases[data.moduleCanvasId]){Module["canvas"]=GL.offscreenCanvases[data.moduleCanvasId].offscreenCanvas;Module["canvas"].id=data.moduleCanvasId}}},threadInitTLS:function(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:worker=>new Promise(onFinishedLoading=>{worker.onmessage=e=>{var d=e["data"];var cmd=d["cmd"];if(worker.pthread_ptr)PThread.currentProxiedOperationCallerThread=worker.pthread_ptr;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d["transferList"])}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processProxyingQueue"){executeNotifiedProxyingQueue(d["queue"])}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(ENVIRONMENT_IS_NODE&&!worker.pthread_ptr){worker.unref()}onFinishedLoading(worker)}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d["handler"]](...d["args"])}else if(cmd){err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined};worker.onerror=e=>{var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e};if(ENVIRONMENT_IS_NODE){worker.on("message",function(data){worker.onmessage({data:data})});worker.on("error",function(e){worker.onerror(e)});worker.on("detachedExit",function(){})}var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.hasOwnProperty(handler)){handlers.push(handler)}}worker.postMessage({"cmd":"load","handlers":handlers,"urlOrBlob":Module["mainScriptUrlOrBlob"]||_scriptDir,"wasmMemory":wasmMemory,"wasmModule":wasmModule})}),loadWasmModuleToAllWorkers:function(onMaybeReady){if(ENVIRONMENT_IS_PTHREAD){return onMaybeReady()}let pthreadPoolReady=Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));pthreadPoolReady.then(onMaybeReady)},allocateUnusedWorker:function(){var worker;var pthreadMainJs=locateFile("skwasm.worker.js");worker=new Worker(pthreadMainJs);PThread.unusedWorkers.push(worker)},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};Module["PThread"]=PThread;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+52>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+56>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits(stackTop,stackMax);stackRestore(stackTop)}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,0,returnCode);try{_exit(returnCode)}catch(e){handleException(e)}}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function invokeEntryPoint(ptr,arg){var result=getWasmTableEntry(ptr)(arg);if(keepRuntimeAlive()){PThread.setExitStatus(result)}else{__emscripten_thread_exit(result)}}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTLSInit(tlsInitFunc){PThread.tlsInitFunctions.push(tlsInitFunc)}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){GROWABLE_HEAP_U32()[this.ptr+4>>2]=type};this.get_type=function(){return GROWABLE_HEAP_U32()[this.ptr+4>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_U32()[this.ptr+8>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_U32()[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return GROWABLE_HEAP_U32()[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;function ___cxa_throw(ptr,type,destructor){var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw ptr}function ___emscripten_init_main_thread_js(tb){__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB);PThread.threadInitTLS()}function ___emscripten_thread_cleanup(thread){if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({"cmd":"cleanupThread","thread":thread})}function pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,pthread_ptr,attr,startRoutine,arg);return ___pthread_create_js(pthread_ptr,attr,startRoutine,arg)}function ___pthread_create_js(pthread_ptr,attr,startRoutine,arg){if(typeof SharedArrayBuffer=="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}var transferList=[];var error=0;var transferredCanvasNames=attr?GROWABLE_HEAP_U32()[attr+40>>2]:0;if(transferredCanvasNames==-1>>>0)transferredCanvasNames="#canvas";else if(transferredCanvasNames)transferredCanvasNames=UTF8ToString(transferredCanvasNames).trim();if(transferredCanvasNames)transferredCanvasNames=transferredCanvasNames.split(",");var offscreenCanvases={};var moduleCanvasId=Module["canvas"]?Module["canvas"].id:"";for(var i in transferredCanvasNames){var name=transferredCanvasNames[i].trim();var offscreenCanvasInfo;try{if(name=="#canvas"){if(!Module["canvas"]){err('pthread_create: could not find canvas with ID "'+name+'" to transfer to thread!');error=28;break}name=Module["canvas"].id}if(GL.offscreenCanvases[name]){offscreenCanvasInfo=GL.offscreenCanvases[name];GL.offscreenCanvases[name]=null;if(Module["canvas"]instanceof OffscreenCanvas&&name===Module["canvas"].id)Module["canvas"]=null}else if(!ENVIRONMENT_IS_PTHREAD){var canvas=Module["canvas"]&&Module["canvas"].id===name?Module["canvas"]:document.querySelector(name);if(!canvas){err('pthread_create: could not find canvas with ID "'+name+'" to transfer to thread!');error=28;break}if(canvas.controlTransferredOffscreen){err('pthread_create: cannot transfer canvas with ID "'+name+'" to thread, since the current thread does not have control over it!');error=63;break}if(canvas.transferControlToOffscreen){if(!canvas.canvasSharedPtr){canvas.canvasSharedPtr=_malloc(12);GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=canvas.width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=canvas.height;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2]=0}offscreenCanvasInfo={offscreenCanvas:canvas.transferControlToOffscreen(),canvasSharedPtr:canvas.canvasSharedPtr,id:canvas.id};canvas.controlTransferredOffscreen=true}else{err('pthread_create: cannot transfer control of canvas "'+name+'" to pthread, because current browser does not support OffscreenCanvas!');err("pthread_create: Build with -sOFFSCREEN_FRAMEBUFFER to enable fallback proxying of GL commands from pthread to main thread.");return 52}}if(offscreenCanvasInfo){transferList.push(offscreenCanvasInfo.offscreenCanvas);offscreenCanvases[offscreenCanvasInfo.id]=offscreenCanvasInfo}}catch(e){err('pthread_create: failed to transfer control of canvas "'+name+'" to OffscreenCanvas! Error: '+e);return 28}}if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg)}if(error)return error;for(var canvas of Object.values(offscreenCanvases)){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2]=pthread_ptr}var threadParams={startRoutine:startRoutine,pthread_ptr:pthread_ptr,arg:arg,moduleCanvasId:moduleCanvasId,offscreenCanvases:offscreenCanvases,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(4,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(5,1,fd,buf)}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,fd,op,varargs);SYSCALLS.varargs=varargs;return 0}function ___syscall_openat(dirfd,path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,dirfd,path,flags,varargs);SYSCALLS.varargs=varargs}function __emscripten_default_pthread_stack_size(){return 65536}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function executeNotifiedProxyingQueue(queue){Atomics.store(GROWABLE_HEAP_I32(),queue>>2,1);if(_pthread_self()){__emscripten_proxy_execute_task_queue(queue)}Atomics.compareExchange(GROWABLE_HEAP_I32(),queue>>2,1,0)}Module["executeNotifiedProxyingQueue"]=executeNotifiedProxyingQueue;function __emscripten_notify_task_queue(targetThreadId,currThreadId,mainThreadId,queue){if(targetThreadId==currThreadId){setTimeout(()=>executeNotifiedProxyingQueue(queue))}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processProxyingQueue","queue":queue})}else{var worker=PThread.pthreads[targetThreadId];if(!worker){return}worker.postMessage({"cmd":"processProxyingQueue","queue":queue})}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;_emscripten_dispatch_to_thread_(targetThread,637534208,eventHandlerFunc,eventData,varargs)})},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){withStackSave(function(){var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;_emscripten_dispatch_to_thread_(targetThread,654311424,0,targetCanvasPtr,varargs)})}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.dibvbi=ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx){return!!(ctx.mdibvbi=ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"))}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;function fixedGetContext(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}canvas.getContext=fixedGetContext}var ctx=webGLContextAttributes.majorVersion>1?canvas.getContext("webgl2",webGLContextAttributes):canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault=="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents=="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);__webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);__webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);if(context.version>=2){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query_webgl2")}if(context.version<2||!GLctx.disjointTimerQueryExt){GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}function findCanvasEventTarget(target){target=maybeCStringToJsString(target);return GL.offscreenCanvases[target.substr(1)]||target=="canvas"&&Object.keys(GL.offscreenCanvases)[0]||typeof document!="undefined"&&document.querySelector(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}return _emscripten_set_canvas_element_size_main_thread(target,width,height)}var __emscripten_set_offscreencanvas_size=_emscripten_set_canvas_element_size;function __emscripten_throw_longjmp(){throw Infinity}function __mmap_js(len,prot,flags,fd,off,allocated,addr){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,len,prot,flags,fd,off,allocated,addr);return-52}function __munmap_js(addr,len,prot,flags,fd,offset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,addr,len,prot,flags,fd,offset)}function _abort(){abort("")}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_NODE)return;if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=()=>{var t=process.hrtime();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=()=>performance.timeOrigin+performance.now();function _emscripten_glActiveTexture(x0){GLctx["activeTexture"](x0)}function _emscripten_glAttachShader(program,shader){GLctx.attachShader(GL.programs[program],GL.shaders[shader])}function _emscripten_glBindAttribLocation(program,index,name){GLctx.bindAttribLocation(GL.programs[program],index,UTF8ToString(name))}function _emscripten_glBindBuffer(target,buffer){if(target==35051){GLctx.currentPixelPackBufferBinding=buffer}else if(target==35052){GLctx.currentPixelUnpackBufferBinding=buffer}GLctx.bindBuffer(target,GL.buffers[buffer])}function _emscripten_glBindFramebuffer(target,framebuffer){GLctx.bindFramebuffer(target,GL.framebuffers[framebuffer])}function _emscripten_glBindRenderbuffer(target,renderbuffer){GLctx.bindRenderbuffer(target,GL.renderbuffers[renderbuffer])}function _emscripten_glBindSampler(unit,sampler){GLctx["bindSampler"](unit,GL.samplers[sampler])}function _emscripten_glBindTexture(target,texture){GLctx.bindTexture(target,GL.textures[texture])}function _emscripten_glBindVertexArray(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBindVertexArrayOES(vao){GLctx["bindVertexArray"](GL.vaos[vao])}function _emscripten_glBlendColor(x0,x1,x2,x3){GLctx["blendColor"](x0,x1,x2,x3)}function _emscripten_glBlendEquation(x0){GLctx["blendEquation"](x0)}function _emscripten_glBlendFunc(x0,x1){GLctx["blendFunc"](x0,x1)}function _emscripten_glBlitFramebuffer(x0,x1,x2,x3,x4,x5,x6,x7,x8,x9){GLctx["blitFramebuffer"](x0,x1,x2,x3,x4,x5,x6,x7,x8,x9)}function _emscripten_glBufferData(target,size,data,usage){if(GL.currentContext.version>=2){if(data&&size){GLctx.bufferData(target,GROWABLE_HEAP_U8(),usage,data,size)}else{GLctx.bufferData(target,size,usage)}}else{GLctx.bufferData(target,data?GROWABLE_HEAP_U8().subarray(data,data+size):size,usage)}}function _emscripten_glBufferSubData(target,offset,size,data){if(GL.currentContext.version>=2){size&&GLctx.bufferSubData(target,offset,GROWABLE_HEAP_U8(),data,size);return}GLctx.bufferSubData(target,offset,GROWABLE_HEAP_U8().subarray(data,data+size))}function _emscripten_glCheckFramebufferStatus(x0){return GLctx["checkFramebufferStatus"](x0)}function _emscripten_glClear(x0){GLctx["clear"](x0)}function _emscripten_glClearColor(x0,x1,x2,x3){GLctx["clearColor"](x0,x1,x2,x3)}function _emscripten_glClearStencil(x0){GLctx["clearStencil"](x0)}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function _emscripten_glClientWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);return GLctx.clientWaitSync(GL.syncs[sync],flags,timeout)}function _emscripten_glColorMask(red,green,blue,alpha){GLctx.colorMask(!!red,!!green,!!blue,!!alpha)}function _emscripten_glCompileShader(shader){GLctx.compileShader(GL.shaders[shader])}function _emscripten_glCompressedTexImage2D(target,level,internalFormat,width,height,border,imageSize,data){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,imageSize,data)}else{GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,GROWABLE_HEAP_U8(),data,imageSize)}return}GLctx["compressedTexImage2D"](target,level,internalFormat,width,height,border,data?GROWABLE_HEAP_U8().subarray(data,data+imageSize):null)}function _emscripten_glCompressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,imageSize,data){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding||!imageSize){GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,imageSize,data)}else{GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,GROWABLE_HEAP_U8(),data,imageSize)}return}GLctx["compressedTexSubImage2D"](target,level,xoffset,yoffset,width,height,format,data?GROWABLE_HEAP_U8().subarray(data,data+imageSize):null)}function _emscripten_glCopyBufferSubData(x0,x1,x2,x3,x4){GLctx["copyBufferSubData"](x0,x1,x2,x3,x4)}function _emscripten_glCopyTexSubImage2D(x0,x1,x2,x3,x4,x5,x6,x7){GLctx["copyTexSubImage2D"](x0,x1,x2,x3,x4,x5,x6,x7)}function _emscripten_glCreateProgram(){var id=GL.getNewId(GL.programs);var program=GLctx.createProgram();program.name=id;program.maxUniformLength=program.maxAttributeLength=program.maxUniformBlockNameLength=0;program.uniformIdCounter=1;GL.programs[id]=program;return id}function _emscripten_glCreateShader(shaderType){var id=GL.getNewId(GL.shaders);GL.shaders[id]=GLctx.createShader(shaderType);return id}function _emscripten_glCullFace(x0){GLctx["cullFace"](x0)}function _emscripten_glDeleteBuffers(n,buffers){for(var i=0;i>2];var buffer=GL.buffers[id];if(!buffer)continue;GLctx.deleteBuffer(buffer);buffer.name=0;GL.buffers[id]=null;if(id==GLctx.currentPixelPackBufferBinding)GLctx.currentPixelPackBufferBinding=0;if(id==GLctx.currentPixelUnpackBufferBinding)GLctx.currentPixelUnpackBufferBinding=0}}function _emscripten_glDeleteFramebuffers(n,framebuffers){for(var i=0;i>2];var framebuffer=GL.framebuffers[id];if(!framebuffer)continue;GLctx.deleteFramebuffer(framebuffer);framebuffer.name=0;GL.framebuffers[id]=null}}function _emscripten_glDeleteProgram(id){if(!id)return;var program=GL.programs[id];if(!program){GL.recordError(1281);return}GLctx.deleteProgram(program);program.name=0;GL.programs[id]=null}function _emscripten_glDeleteRenderbuffers(n,renderbuffers){for(var i=0;i>2];var renderbuffer=GL.renderbuffers[id];if(!renderbuffer)continue;GLctx.deleteRenderbuffer(renderbuffer);renderbuffer.name=0;GL.renderbuffers[id]=null}}function _emscripten_glDeleteSamplers(n,samplers){for(var i=0;i>2];var sampler=GL.samplers[id];if(!sampler)continue;GLctx["deleteSampler"](sampler);sampler.name=0;GL.samplers[id]=null}}function _emscripten_glDeleteShader(id){if(!id)return;var shader=GL.shaders[id];if(!shader){GL.recordError(1281);return}GLctx.deleteShader(shader);GL.shaders[id]=null}function _emscripten_glDeleteSync(id){if(!id)return;var sync=GL.syncs[id];if(!sync){GL.recordError(1281);return}GLctx.deleteSync(sync);sync.name=0;GL.syncs[id]=null}function _emscripten_glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function _emscripten_glDeleteVertexArrays(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDeleteVertexArraysOES(n,vaos){for(var i=0;i>2];GLctx["deleteVertexArray"](GL.vaos[id]);GL.vaos[id]=null}}function _emscripten_glDepthMask(flag){GLctx.depthMask(!!flag)}function _emscripten_glDisable(x0){GLctx["disable"](x0)}function _emscripten_glDisableVertexAttribArray(index){GLctx.disableVertexAttribArray(index)}function _emscripten_glDrawArrays(mode,first,count){GLctx.drawArrays(mode,first,count)}function _emscripten_glDrawArraysInstanced(mode,first,count,primcount){GLctx["drawArraysInstanced"](mode,first,count,primcount)}function _emscripten_glDrawArraysInstancedBaseInstanceWEBGL(mode,first,count,instanceCount,baseInstance){GLctx.dibvbi["drawArraysInstancedBaseInstanceWEBGL"](mode,first,count,instanceCount,baseInstance)}var tempFixedLengthArray=[];function _emscripten_glDrawBuffers(n,bufs){var bufArray=tempFixedLengthArray[n];for(var i=0;i>2]}GLctx["drawBuffers"](bufArray)}function _emscripten_glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawElementsInstanced(mode,count,type,indices,primcount){GLctx["drawElementsInstanced"](mode,count,type,indices,primcount)}function _emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL(mode,count,type,offset,instanceCount,baseVertex,baseinstance){GLctx.dibvbi["drawElementsInstancedBaseVertexBaseInstanceWEBGL"](mode,count,type,offset,instanceCount,baseVertex,baseinstance)}function _glDrawElements(mode,count,type,indices){GLctx.drawElements(mode,count,type,indices)}function _emscripten_glDrawRangeElements(mode,start,end,count,type,indices){_glDrawElements(mode,count,type,indices)}function _emscripten_glEnable(x0){GLctx["enable"](x0)}function _emscripten_glEnableVertexAttribArray(index){GLctx.enableVertexAttribArray(index)}function _emscripten_glFenceSync(condition,flags){var sync=GLctx.fenceSync(condition,flags);if(sync){var id=GL.getNewId(GL.syncs);sync.name=id;GL.syncs[id]=sync;return id}return 0}function _emscripten_glFinish(){GLctx["finish"]()}function _emscripten_glFlush(){GLctx["flush"]()}function _emscripten_glFramebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer){GLctx.framebufferRenderbuffer(target,attachment,renderbuffertarget,GL.renderbuffers[renderbuffer])}function _emscripten_glFramebufferTexture2D(target,attachment,textarget,texture,level){GLctx.framebufferTexture2D(target,attachment,textarget,GL.textures[texture],level)}function _emscripten_glFrontFace(x0){GLctx["frontFace"](x0)}function __glGenObject(n,buffers,createFunction,objectTable){for(var i=0;i>2]=id}}function _emscripten_glGenBuffers(n,buffers){__glGenObject(n,buffers,"createBuffer",GL.buffers)}function _emscripten_glGenFramebuffers(n,ids){__glGenObject(n,ids,"createFramebuffer",GL.framebuffers)}function _emscripten_glGenRenderbuffers(n,renderbuffers){__glGenObject(n,renderbuffers,"createRenderbuffer",GL.renderbuffers)}function _emscripten_glGenSamplers(n,samplers){__glGenObject(n,samplers,"createSampler",GL.samplers)}function _emscripten_glGenTextures(n,textures){__glGenObject(n,textures,"createTexture",GL.textures)}function _emscripten_glGenVertexArrays(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenVertexArraysOES(n,arrays){__glGenObject(n,arrays,"createVertexArray",GL.vaos)}function _emscripten_glGenerateMipmap(x0){GLctx["generateMipmap"](x0)}function _emscripten_glGetBufferParameteriv(target,value,data){if(!data){GL.recordError(1281);return}GROWABLE_HEAP_I32()[data>>2]=GLctx.getBufferParameter(target,value)}function _emscripten_glGetError(){var error=GLctx.getError()||GL.lastError;GL.lastError=0;return error}function writeI53ToI64(ptr,num){GROWABLE_HEAP_U32()[ptr>>2]=num;GROWABLE_HEAP_U32()[ptr+4>>2]=(num-GROWABLE_HEAP_U32()[ptr>>2])/4294967296}function emscriptenWebGLGet(name_,p,type){if(!p){GL.recordError(1281);return}var ret=undefined;switch(name_){case 36346:ret=1;break;case 36344:if(type!=0&&type!=1){GL.recordError(1280)}return;case 34814:case 36345:ret=0;break;case 34466:var formats=GLctx.getParameter(34467);ret=formats?formats.length:0;break;case 33309:if(GL.currentContext.version<2){GL.recordError(1282);return}var exts=GLctx.getSupportedExtensions()||[];ret=2*exts.length;break;case 33307:case 33308:if(GL.currentContext.version<2){GL.recordError(1280);return}ret=name_==33307?3:0;break}if(ret===undefined){var result=GLctx.getParameter(name_);switch(typeof result){case"number":ret=result;break;case"boolean":ret=result?1:0;break;case"string":GL.recordError(1280);return;case"object":if(result===null){switch(name_){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:{ret=0;break}default:{GL.recordError(1280);return}}}else if(result instanceof Float32Array||result instanceof Uint32Array||result instanceof Int32Array||result instanceof Array){for(var i=0;i>2]=result[i];break;case 2:GROWABLE_HEAP_F32()[p+i*4>>2]=result[i];break;case 4:GROWABLE_HEAP_I8()[p+i>>0]=result[i]?1:0;break}}return}else{try{ret=result.name|0}catch(e){GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Unknown object returned from WebGL getParameter("+name_+")! (error: "+e+")");return}}break;default:GL.recordError(1280);err("GL_INVALID_ENUM in glGet"+type+"v: Native code calling glGet"+type+"v("+name_+") and it returns "+result+" of type "+typeof result+"!");return}}switch(type){case 1:writeI53ToI64(p,ret);break;case 0:GROWABLE_HEAP_I32()[p>>2]=ret;break;case 2:GROWABLE_HEAP_F32()[p>>2]=ret;break;case 4:GROWABLE_HEAP_I8()[p>>0]=ret?1:0;break}}function _emscripten_glGetFloatv(name_,p){emscriptenWebGLGet(name_,p,2)}function _emscripten_glGetFramebufferAttachmentParameteriv(target,attachment,pname,params){var result=GLctx.getFramebufferAttachmentParameter(target,attachment,pname);if(result instanceof WebGLRenderbuffer||result instanceof WebGLTexture){result=result.name|0}GROWABLE_HEAP_I32()[params>>2]=result}function _emscripten_glGetIntegerv(name_,p){emscriptenWebGLGet(name_,p,0)}function _emscripten_glGetProgramInfoLog(program,maxLength,length,infoLog){var log=GLctx.getProgramInfoLog(GL.programs[program]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)GROWABLE_HEAP_I32()[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetProgramiv(program,pname,p){if(!p){GL.recordError(1281);return}if(program>=GL.counter){GL.recordError(1281);return}program=GL.programs[program];if(pname==35716){var log=GLctx.getProgramInfoLog(program);if(log===null)log="(unknown error)";GROWABLE_HEAP_I32()[p>>2]=log.length+1}else if(pname==35719){if(!program.maxUniformLength){for(var i=0;i>2]=program.maxUniformLength}else if(pname==35722){if(!program.maxAttributeLength){for(var i=0;i>2]=program.maxAttributeLength}else if(pname==35381){if(!program.maxUniformBlockNameLength){for(var i=0;i>2]=program.maxUniformBlockNameLength}else{GROWABLE_HEAP_I32()[p>>2]=GLctx.getProgramParameter(program,pname)}}function _emscripten_glGetRenderbufferParameteriv(target,pname,params){if(!params){GL.recordError(1281);return}GROWABLE_HEAP_I32()[params>>2]=GLctx.getRenderbufferParameter(target,pname)}function _emscripten_glGetShaderInfoLog(shader,maxLength,length,infoLog){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var numBytesWrittenExclNull=maxLength>0&&infoLog?stringToUTF8(log,infoLog,maxLength):0;if(length)GROWABLE_HEAP_I32()[length>>2]=numBytesWrittenExclNull}function _emscripten_glGetShaderPrecisionFormat(shaderType,precisionType,range,precision){var result=GLctx.getShaderPrecisionFormat(shaderType,precisionType);GROWABLE_HEAP_I32()[range>>2]=result.rangeMin;GROWABLE_HEAP_I32()[range+4>>2]=result.rangeMax;GROWABLE_HEAP_I32()[precision>>2]=result.precision}function _emscripten_glGetShaderiv(shader,pname,p){if(!p){GL.recordError(1281);return}if(pname==35716){var log=GLctx.getShaderInfoLog(GL.shaders[shader]);if(log===null)log="(unknown error)";var logLength=log?log.length+1:0;GROWABLE_HEAP_I32()[p>>2]=logLength}else if(pname==35720){var source=GLctx.getShaderSource(GL.shaders[shader]);var sourceLength=source?source.length+1:0;GROWABLE_HEAP_I32()[p>>2]=sourceLength}else{GROWABLE_HEAP_I32()[p>>2]=GLctx.getShaderParameter(GL.shaders[shader],pname)}}function _emscripten_glGetString(name_){var ret=GL.stringCache[name_];if(!ret){switch(name_){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));ret=stringToNewUTF8(exts.join(" "));break;case 7936:case 7937:case 37445:case 37446:var s=GLctx.getParameter(name_);if(!s){GL.recordError(1280)}ret=s&&stringToNewUTF8(s);break;case 7938:var glVersion=GLctx.getParameter(7938);if(GL.currentContext.version>=2)glVersion="OpenGL ES 3.0 ("+glVersion+")";else{glVersion="OpenGL ES 2.0 ("+glVersion+")"}ret=stringToNewUTF8(glVersion);break;case 35724:var glslVersion=GLctx.getParameter(35724);var ver_re=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/;var ver_num=glslVersion.match(ver_re);if(ver_num!==null){if(ver_num[1].length==3)ver_num[1]=ver_num[1]+"0";glslVersion="OpenGL ES GLSL ES "+ver_num[1]+" ("+glslVersion+")"}ret=stringToNewUTF8(glslVersion);break;default:GL.recordError(1280)}GL.stringCache[name_]=ret}return ret}function _emscripten_glGetStringi(name,index){if(GL.currentContext.version<2){GL.recordError(1282);return 0}var stringiCache=GL.stringiCache[name];if(stringiCache){if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index]}switch(name){case 7939:var exts=GLctx.getSupportedExtensions()||[];exts=exts.concat(exts.map(function(e){return"GL_"+e}));exts=exts.map(function(e){return stringToNewUTF8(e)});stringiCache=GL.stringiCache[name]=exts;if(index<0||index>=stringiCache.length){GL.recordError(1281);return 0}return stringiCache[index];default:GL.recordError(1280);return 0}}function jstoi_q(str){return parseInt(str)}function webglGetLeftBracePos(name){return name.slice(-1)=="]"&&name.lastIndexOf("[")}function webglPrepareUniformLocationsBeforeFirstUse(program){var uniformLocsById=program.uniformLocsById,uniformSizeAndIdsByName=program.uniformSizeAndIdsByName,i,j;if(!uniformLocsById){program.uniformLocsById=uniformLocsById={};program.uniformArrayNamesById={};for(i=0;i0?nm.slice(0,lb):nm;var id=program.uniformIdCounter;program.uniformIdCounter+=sz;uniformSizeAndIdsByName[arrayName]=[sz,id];for(j=0;j0){arrayIndex=jstoi_q(name.slice(leftBrace+1))>>>0;uniformBaseName=name.slice(0,leftBrace)}var sizeAndId=program.uniformSizeAndIdsByName[uniformBaseName];if(sizeAndId&&arrayIndex>2]}GLctx["invalidateFramebuffer"](target,list)}function _emscripten_glInvalidateSubFramebuffer(target,numAttachments,attachments,x,y,width,height){var list=tempFixedLengthArray[numAttachments];for(var i=0;i>2]}GLctx["invalidateSubFramebuffer"](target,list,x,y,width,height)}function _emscripten_glIsSync(sync){return GLctx.isSync(GL.syncs[sync])}function _emscripten_glIsTexture(id){var texture=GL.textures[id];if(!texture)return 0;return GLctx.isTexture(texture)}function _emscripten_glLineWidth(x0){GLctx["lineWidth"](x0)}function _emscripten_glLinkProgram(program){program=GL.programs[program];GLctx.linkProgram(program);program.uniformLocsById=0;program.uniformSizeAndIdsByName={}}function _emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL(mode,firsts,counts,instanceCounts,baseInstances,drawCount){GLctx.mdibvbi["multiDrawArraysInstancedBaseInstanceWEBGL"](mode,GROWABLE_HEAP_I32(),firsts>>2,GROWABLE_HEAP_I32(),counts>>2,GROWABLE_HEAP_I32(),instanceCounts>>2,GROWABLE_HEAP_U32(),baseInstances>>2,drawCount)}function _emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(mode,counts,type,offsets,instanceCounts,baseVertices,baseInstances,drawCount){GLctx.mdibvbi["multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL"](mode,GROWABLE_HEAP_I32(),counts>>2,type,GROWABLE_HEAP_I32(),offsets>>2,GROWABLE_HEAP_I32(),instanceCounts>>2,GROWABLE_HEAP_I32(),baseVertices>>2,GROWABLE_HEAP_U32(),baseInstances>>2,drawCount)}function _emscripten_glPixelStorei(pname,param){if(pname==3317){GL.unpackAlignment=param}GLctx.pixelStorei(pname,param)}function _emscripten_glReadBuffer(x0){GLctx["readBuffer"](x0)}function computeUnpackAlignedImageSize(width,height,sizePerPixel,alignment){function roundedToNextMultipleOf(x,y){return x+y-1&-y}var plainRowSize=width*sizePerPixel;var alignedRowSize=roundedToNextMultipleOf(plainRowSize,alignment);return height*alignedRowSize}function __colorChannelsInGlTextureFormat(format){var colorChannels={5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4};return colorChannels[format-6402]||1}function heapObjectForWebGLType(type){type-=5120;if(type==0)return GROWABLE_HEAP_I8();if(type==1)return GROWABLE_HEAP_U8();if(type==2)return GROWABLE_HEAP_I16();if(type==4)return GROWABLE_HEAP_I32();if(type==6)return GROWABLE_HEAP_F32();if(type==5||type==28922||type==28520||type==30779||type==30782)return GROWABLE_HEAP_U32();return GROWABLE_HEAP_U16()}function heapAccessShiftForWebGLHeap(heap){return 31-Math.clz32(heap.BYTES_PER_ELEMENT)}function emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat){var heap=heapObjectForWebGLType(type);var shift=heapAccessShiftForWebGLHeap(heap);var byteSize=1<>shift,pixels+bytes>>shift)}function _emscripten_glReadPixels(x,y,width,height,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelPackBufferBinding){GLctx.readPixels(x,y,width,height,format,type,pixels)}else{var heap=heapObjectForWebGLType(type);GLctx.readPixels(x,y,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}return}var pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,format);if(!pixelData){GL.recordError(1280);return}GLctx.readPixels(x,y,width,height,format,type,pixelData)}function _emscripten_glRenderbufferStorage(x0,x1,x2,x3){GLctx["renderbufferStorage"](x0,x1,x2,x3)}function _emscripten_glRenderbufferStorageMultisample(x0,x1,x2,x3,x4){GLctx["renderbufferStorageMultisample"](x0,x1,x2,x3,x4)}function _emscripten_glSamplerParameterf(sampler,pname,param){GLctx["samplerParameterf"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameteri(sampler,pname,param){GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _emscripten_glSamplerParameteriv(sampler,pname,params){var param=GROWABLE_HEAP_I32()[params>>2];GLctx["samplerParameteri"](GL.samplers[sampler],pname,param)}function _emscripten_glScissor(x0,x1,x2,x3){GLctx["scissor"](x0,x1,x2,x3)}function _emscripten_glShaderSource(shader,count,string,length){var source=GL.getSource(shader,count,string,length);GLctx.shaderSource(GL.shaders[shader],source)}function _emscripten_glStencilFunc(x0,x1,x2){GLctx["stencilFunc"](x0,x1,x2)}function _emscripten_glStencilFuncSeparate(x0,x1,x2,x3){GLctx["stencilFuncSeparate"](x0,x1,x2,x3)}function _emscripten_glStencilMask(x0){GLctx["stencilMask"](x0)}function _emscripten_glStencilMaskSeparate(x0,x1){GLctx["stencilMaskSeparate"](x0,x1)}function _emscripten_glStencilOp(x0,x1,x2){GLctx["stencilOp"](x0,x1,x2)}function _emscripten_glStencilOpSeparate(x0,x1,x2,x3){GLctx["stencilOpSeparate"](x0,x1,x2,x3)}function _emscripten_glTexImage2D(target,level,internalFormat,width,height,border,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,null)}return}GLctx.texImage2D(target,level,internalFormat,width,height,border,format,type,pixels?emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,internalFormat):null)}function _emscripten_glTexParameterf(x0,x1,x2){GLctx["texParameterf"](x0,x1,x2)}function _emscripten_glTexParameterfv(target,pname,params){var param=GROWABLE_HEAP_F32()[params>>2];GLctx.texParameterf(target,pname,param)}function _emscripten_glTexParameteri(x0,x1,x2){GLctx["texParameteri"](x0,x1,x2)}function _emscripten_glTexParameteriv(target,pname,params){var param=GROWABLE_HEAP_I32()[params>>2];GLctx.texParameteri(target,pname,param)}function _emscripten_glTexStorage2D(x0,x1,x2,x3,x4){GLctx["texStorage2D"](x0,x1,x2,x3,x4)}function _emscripten_glTexSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels){if(GL.currentContext.version>=2){if(GLctx.currentPixelUnpackBufferBinding){GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixels)}else if(pixels){var heap=heapObjectForWebGLType(type);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,heap,pixels>>heapAccessShiftForWebGLHeap(heap))}else{GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,null)}return}var pixelData=null;if(pixels)pixelData=emscriptenWebGLGetTexPixelData(type,format,width,height,pixels,0);GLctx.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,pixelData)}function webglGetUniformLocation(location){var p=GLctx.currentProgram;if(p){var webglLoc=p.uniformLocsById[location];if(typeof webglLoc=="number"){p.uniformLocsById[location]=webglLoc=GLctx.getUniformLocation(p,p.uniformArrayNamesById[location]+(webglLoc>0?"["+webglLoc+"]":""))}return webglLoc}else{GL.recordError(1282)}}function _emscripten_glUniform1f(location,v0){GLctx.uniform1f(webglGetUniformLocation(location),v0)}var miniTempWebGLFloatBuffers=[];function _emscripten_glUniform1fv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform1fv(webglGetUniformLocation(location),GROWABLE_HEAP_F32(),value>>2,count);return}if(count<=288){var view=miniTempWebGLFloatBuffers[count-1];for(var i=0;i>2]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*4>>2)}GLctx.uniform1fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform1i(location,v0){GLctx.uniform1i(webglGetUniformLocation(location),v0)}var __miniTempWebGLIntBuffers=[];function _emscripten_glUniform1iv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform1iv(webglGetUniformLocation(location),GROWABLE_HEAP_I32(),value>>2,count);return}if(count<=288){var view=__miniTempWebGLIntBuffers[count-1];for(var i=0;i>2]}}else{var view=GROWABLE_HEAP_I32().subarray(value>>2,value+count*4>>2)}GLctx.uniform1iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform2f(location,v0,v1){GLctx.uniform2f(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2fv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform2fv(webglGetUniformLocation(location),GROWABLE_HEAP_F32(),value>>2,count*2);return}if(count<=144){var view=miniTempWebGLFloatBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=GROWABLE_HEAP_F32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_F32()[value+(4*i+4)>>2]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*8>>2)}GLctx.uniform2fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform2i(location,v0,v1){GLctx.uniform2i(webglGetUniformLocation(location),v0,v1)}function _emscripten_glUniform2iv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform2iv(webglGetUniformLocation(location),GROWABLE_HEAP_I32(),value>>2,count*2);return}if(count<=144){var view=__miniTempWebGLIntBuffers[2*count-1];for(var i=0;i<2*count;i+=2){view[i]=GROWABLE_HEAP_I32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_I32()[value+(4*i+4)>>2]}}else{var view=GROWABLE_HEAP_I32().subarray(value>>2,value+count*8>>2)}GLctx.uniform2iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform3f(location,v0,v1,v2){GLctx.uniform3f(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3fv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform3fv(webglGetUniformLocation(location),GROWABLE_HEAP_F32(),value>>2,count*3);return}if(count<=96){var view=miniTempWebGLFloatBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=GROWABLE_HEAP_F32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_F32()[value+(4*i+4)>>2];view[i+2]=GROWABLE_HEAP_F32()[value+(4*i+8)>>2]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*12>>2)}GLctx.uniform3fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform3i(location,v0,v1,v2){GLctx.uniform3i(webglGetUniformLocation(location),v0,v1,v2)}function _emscripten_glUniform3iv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform3iv(webglGetUniformLocation(location),GROWABLE_HEAP_I32(),value>>2,count*3);return}if(count<=96){var view=__miniTempWebGLIntBuffers[3*count-1];for(var i=0;i<3*count;i+=3){view[i]=GROWABLE_HEAP_I32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_I32()[value+(4*i+4)>>2];view[i+2]=GROWABLE_HEAP_I32()[value+(4*i+8)>>2]}}else{var view=GROWABLE_HEAP_I32().subarray(value>>2,value+count*12>>2)}GLctx.uniform3iv(webglGetUniformLocation(location),view)}function _emscripten_glUniform4f(location,v0,v1,v2,v3){GLctx.uniform4f(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4fv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform4fv(webglGetUniformLocation(location),GROWABLE_HEAP_F32(),value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];var heap=GROWABLE_HEAP_F32();value>>=2;for(var i=0;i<4*count;i+=4){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*16>>2)}GLctx.uniform4fv(webglGetUniformLocation(location),view)}function _emscripten_glUniform4i(location,v0,v1,v2,v3){GLctx.uniform4i(webglGetUniformLocation(location),v0,v1,v2,v3)}function _emscripten_glUniform4iv(location,count,value){if(GL.currentContext.version>=2){count&&GLctx.uniform4iv(webglGetUniformLocation(location),GROWABLE_HEAP_I32(),value>>2,count*4);return}if(count<=72){var view=__miniTempWebGLIntBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=GROWABLE_HEAP_I32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_I32()[value+(4*i+4)>>2];view[i+2]=GROWABLE_HEAP_I32()[value+(4*i+8)>>2];view[i+3]=GROWABLE_HEAP_I32()[value+(4*i+12)>>2]}}else{var view=GROWABLE_HEAP_I32().subarray(value>>2,value+count*16>>2)}GLctx.uniform4iv(webglGetUniformLocation(location),view)}function _emscripten_glUniformMatrix2fv(location,count,transpose,value){if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,GROWABLE_HEAP_F32(),value>>2,count*4);return}if(count<=72){var view=miniTempWebGLFloatBuffers[4*count-1];for(var i=0;i<4*count;i+=4){view[i]=GROWABLE_HEAP_F32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_F32()[value+(4*i+4)>>2];view[i+2]=GROWABLE_HEAP_F32()[value+(4*i+8)>>2];view[i+3]=GROWABLE_HEAP_F32()[value+(4*i+12)>>2]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*16>>2)}GLctx.uniformMatrix2fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUniformMatrix3fv(location,count,transpose,value){if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,GROWABLE_HEAP_F32(),value>>2,count*9);return}if(count<=32){var view=miniTempWebGLFloatBuffers[9*count-1];for(var i=0;i<9*count;i+=9){view[i]=GROWABLE_HEAP_F32()[value+4*i>>2];view[i+1]=GROWABLE_HEAP_F32()[value+(4*i+4)>>2];view[i+2]=GROWABLE_HEAP_F32()[value+(4*i+8)>>2];view[i+3]=GROWABLE_HEAP_F32()[value+(4*i+12)>>2];view[i+4]=GROWABLE_HEAP_F32()[value+(4*i+16)>>2];view[i+5]=GROWABLE_HEAP_F32()[value+(4*i+20)>>2];view[i+6]=GROWABLE_HEAP_F32()[value+(4*i+24)>>2];view[i+7]=GROWABLE_HEAP_F32()[value+(4*i+28)>>2];view[i+8]=GROWABLE_HEAP_F32()[value+(4*i+32)>>2]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*36>>2)}GLctx.uniformMatrix3fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUniformMatrix4fv(location,count,transpose,value){if(GL.currentContext.version>=2){count&&GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,GROWABLE_HEAP_F32(),value>>2,count*16);return}if(count<=18){var view=miniTempWebGLFloatBuffers[16*count-1];var heap=GROWABLE_HEAP_F32();value>>=2;for(var i=0;i<16*count;i+=16){var dst=value+i;view[i]=heap[dst];view[i+1]=heap[dst+1];view[i+2]=heap[dst+2];view[i+3]=heap[dst+3];view[i+4]=heap[dst+4];view[i+5]=heap[dst+5];view[i+6]=heap[dst+6];view[i+7]=heap[dst+7];view[i+8]=heap[dst+8];view[i+9]=heap[dst+9];view[i+10]=heap[dst+10];view[i+11]=heap[dst+11];view[i+12]=heap[dst+12];view[i+13]=heap[dst+13];view[i+14]=heap[dst+14];view[i+15]=heap[dst+15]}}else{var view=GROWABLE_HEAP_F32().subarray(value>>2,value+count*64>>2)}GLctx.uniformMatrix4fv(webglGetUniformLocation(location),!!transpose,view)}function _emscripten_glUseProgram(program){program=GL.programs[program];GLctx.useProgram(program);GLctx.currentProgram=program}function _emscripten_glVertexAttrib1f(x0,x1){GLctx["vertexAttrib1f"](x0,x1)}function _emscripten_glVertexAttrib2fv(index,v){GLctx.vertexAttrib2f(index,GROWABLE_HEAP_F32()[v>>2],GROWABLE_HEAP_F32()[v+4>>2])}function _emscripten_glVertexAttrib3fv(index,v){GLctx.vertexAttrib3f(index,GROWABLE_HEAP_F32()[v>>2],GROWABLE_HEAP_F32()[v+4>>2],GROWABLE_HEAP_F32()[v+8>>2])}function _emscripten_glVertexAttrib4fv(index,v){GLctx.vertexAttrib4f(index,GROWABLE_HEAP_F32()[v>>2],GROWABLE_HEAP_F32()[v+4>>2],GROWABLE_HEAP_F32()[v+8>>2],GROWABLE_HEAP_F32()[v+12>>2])}function _emscripten_glVertexAttribDivisor(index,divisor){GLctx["vertexAttribDivisor"](index,divisor)}function _emscripten_glVertexAttribIPointer(index,size,type,stride,ptr){GLctx["vertexAttribIPointer"](index,size,type,stride,ptr)}function _emscripten_glVertexAttribPointer(index,size,type,normalized,stride,ptr){GLctx.vertexAttribPointer(index,size,type,!!normalized,stride,ptr)}function _emscripten_glViewport(x0,x1,x2,x3){GLctx["viewport"](x0,x1,x2,x3)}function _emscripten_glWaitSync(sync,flags,timeout_low,timeout_high){var timeout=convertI32PairToI53(timeout_low,timeout_high);GLctx.waitSync(GL.syncs[sync],flags,timeout)}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(()=>{var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateMemoryViews();return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}function _emscripten_unwind_to_js_event_loop(){throw"unwind"}var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;if(contextAttributes.explicitSwapControl){var supportsOffscreenCanvas=canvas.transferControlToOffscreen||typeof OffscreenCanvas!="undefined"&&canvas instanceof OffscreenCanvas;if(!supportsOffscreenCanvas){return 0}if(canvas.transferControlToOffscreen){if(!canvas.controlTransferredOffscreen){GL.offscreenCanvases[canvas.id]={canvas:canvas.transferControlToOffscreen(),canvasSharedPtr:_malloc(12),id:canvas.id};canvas.controlTransferredOffscreen=true}else if(!GL.offscreenCanvases[canvas.id]){return 0}canvas=GL.offscreenCanvases[canvas.id]}}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;function _emscripten_webgl_init_context_attributes(attributes){var a=attributes>>2;for(var i=0;i<56>>2;++i){GROWABLE_HEAP_I32()[a+i]=0}GROWABLE_HEAP_I32()[a+(0>>2)]=GROWABLE_HEAP_I32()[a+(4>>2)]=GROWABLE_HEAP_I32()[a+(12>>2)]=GROWABLE_HEAP_I32()[a+(16>>2)]=GROWABLE_HEAP_I32()[a+(32>>2)]=GROWABLE_HEAP_I32()[a+(40>>2)]=1;if(ENVIRONMENT_IS_WORKER)GROWABLE_HEAP_I32()[attributes+48>>2]=1}function _emscripten_webgl_make_context_current(contextHandle){var success=GL.makeContextCurrent(contextHandle);return success?0:-5}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(12,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_U32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(13,1,fd);return 52}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(14,1,fd,iov,iovcnt,offset_low,offset_high,pnum);return 52}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(15,1,fd,iov,iovcnt,pnum);return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(16,1,fd,offset_low,offset_high,whence,newOffset);return 70}var printCharBuffers=[null,[],[]];function printChar(stream,curr){var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(17,1,fd,iov,iovcnt,pnum);var num=0;for(var i=0;i>2];var len=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;for(var j=0;j>2]=num;return 0}function _glDeleteTextures(n,textures){for(var i=0;i>2];var texture=GL.textures[id];if(!texture)continue;GLctx.deleteTexture(texture);texture.name=0;GL.textures[id]=null}}function skwasm_support_setup(){const objectMap=new Map;skwasm_registerObject=function(id,object){objectMap.set(id,object)};skwasm_unregisterObject=function(id){objectMap.delete(id)};skwasm_getObject=function(id){return objectMap.get(id)};addEventListener("message",function(event){const transfers=event.data.skwasmObjectTransfers;if(!transfers){return}transfers.forEach(function(object,objectId){objectMap.set(objectId,object)})});skwasm_transferObjectToMain=function(objectId){postMessage({skwasmObjectTransfers:new Map([[objectId,objectMap[objectId]]])});objectMap.delete(objectId)};skwasm_transferObjectToThread=function(objectId,threadId){PThread.pthreads[threadId].postMessage({skwasmObjectTransfers:new Map([[objectId,objectMap.get(objectId)]])});objectMap.delete(objectId)};_skwasm_createGlTextureFromVideoFrame=function(videoFrameId,width,height){const videoFrame=skwasm_getObject(videoFrameId);const glCtx=GL.currentContext.GLctx;const newTexture=glCtx.createTexture();glCtx.bindTexture(glCtx.TEXTURE_2D,newTexture);glCtx.pixelStorei(glCtx.UNPACK_PREMULTIPLY_ALPHA_WEBGL,true);glCtx.texImage2D(glCtx.TEXTURE_2D,0,glCtx.RGBA,width,height,0,glCtx.RGBA,glCtx.UNSIGNED_BYTE,videoFrame);glCtx.pixelStorei(glCtx.UNPACK_PREMULTIPLY_ALPHA_WEBGL,false);glCtx.bindTexture(glCtx.TEXTURE_2D,null);const textureId=GL.getNewId(GL.textures);GL.textures[textureId]=newTexture;return textureId},_skwasm_disposeVideoFrame=function(videoFrameId){const videoFrame=skwasm_getObject(videoFrameId);videoFrame.close();skwasm_unregisterObject(videoFrameId)}}function skwasm_getObject(){}function _skwasm_createGlTextureFromVideoFrame(){}function skwasm_unregisterObject(){}function _skwasm_disposeVideoFrame(){}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm,loc){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i32","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();startWorker(Module);return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); + + + return skwasm.ready +} + +); +})(); +if (typeof exports === 'object' && typeof module === 'object') + module.exports = skwasm; +else if (typeof define === 'function' && define['amd']) + define([], function() { return skwasm; }); +else if (typeof exports === 'object') + exports["skwasm"] = skwasm; diff --git a/canvaskit/skwasm.wasm b/canvaskit/skwasm.wasm new file mode 100644 index 0000000..01bcca7 Binary files /dev/null and b/canvaskit/skwasm.wasm differ diff --git a/canvaskit/skwasm.worker.js b/canvaskit/skwasm.worker.js new file mode 100644 index 0000000..fcde1bb --- /dev/null +++ b/canvaskit/skwasm.worker.js @@ -0,0 +1 @@ +"use strict";var Module={};var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";if(ENVIRONMENT_IS_NODE){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",data=>onmessage({data:data}));var fs=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(fs.readFileSync(f,"utf8")+"//# sourceURL="+f)},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;var pendingNotifiedProxyingQueues=[];function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>{var module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason??e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=function(){postMessage({cmd:"callHandler",handler:handler,args:[...arguments]})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;if(typeof e.data.urlOrBlob=="string"){importScripts(e.data.urlOrBlob)}else{var objectUrl=URL.createObjectURL(e.data.urlOrBlob);importScripts(objectUrl);URL.revokeObjectURL(objectUrl)}skwasm(Module)}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){pendingNotifiedProxyingQueues.forEach(queue=>{Module["executeNotifiedProxyingQueue"](queue)});pendingNotifiedProxyingQueues=[];initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processProxyingQueue"){if(initializedJS){Module["executeNotifiedProxyingQueue"](e.data.queue)}else{pendingNotifiedProxyingQueues.push(e.data.queue)}}else if(e.data.cmd){err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage;