@motion-script/canvaskit 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +33 -0
- package/canvaskit.js +204 -0
- package/canvaskit.wasm +0 -0
- package/index.d.ts +4510 -0
- package/package.json +30 -0
package/README.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# @motion-script/canvaskit
|
|
2
|
+
|
|
3
|
+
A custom WASM build of [Skia's CanvasKit](https://skia.org/docs/user/modules/canvaskit/) tailored for [Motion Script](https://github.com/koliveiradev/motion-script).
|
|
4
|
+
|
|
5
|
+
## What makes this build different
|
|
6
|
+
|
|
7
|
+
### Variable font support
|
|
8
|
+
|
|
9
|
+
The upstream CanvasKit build resolves typefaces via `matchFamilyStyle`, which ignores the `wght` axis on variable fonts — weight variations have no effect. This build patches the font and typeface APIs to correctly apply variable font axes (including `wght`) by using `TextStyle.fontVariations` together with each run's positioned typeface. This makes weight tweens and other axis animations work as expected.
|
|
10
|
+
|
|
11
|
+
### WebCodecs instead of built-in image codecs
|
|
12
|
+
|
|
13
|
+
The standard CanvasKit ships with Skia's own image encoders and decoders (PNG, JPEG, WebP, etc.), which adds significant WASM binary size. This build removes those codecs entirely. Image encoding and decoding is delegated to the browser's [WebCodecs API](https://developer.mozilla.org/en-US/docs/Web/API/WebCodecs_API) and native browser primitives (`ImageDecoder`, `VideoFrame`, `ImageBitmap`), which are hardware-accelerated and available in all modern browsers.
|
|
14
|
+
|
|
15
|
+
The result is a smaller WASM binary and better runtime performance for image-heavy compositions.
|
|
16
|
+
|
|
17
|
+
## Usage
|
|
18
|
+
|
|
19
|
+
This package is consumed internally by `@motion-script/player` and `@motion-script/core`. You generally do not need to install it directly.
|
|
20
|
+
|
|
21
|
+
```ts
|
|
22
|
+
import CanvasKitInit from "@motion-script/canvaskit";
|
|
23
|
+
|
|
24
|
+
const CanvasKit = await CanvasKitInit({
|
|
25
|
+
locateFile: (file) => `/path/to/wasm/${file}`,
|
|
26
|
+
});
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The `.wasm` file must be served separately. When using the Motion Script Vite plugin it is handled automatically.
|
|
30
|
+
|
|
31
|
+
## License
|
|
32
|
+
|
|
33
|
+
Apache-2.0
|
package/canvaskit.js
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
var CanvasKitInit = (() => {
|
|
2
|
+
var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
|
|
3
|
+
if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;
|
|
4
|
+
return (
|
|
5
|
+
async function(moduleArg = {}) {
|
|
6
|
+
var moduleRtn;
|
|
7
|
+
|
|
8
|
+
var r=moduleArg,ba,ca,ea=new Promise((a,b)=>{ba=a;ca=b}),fa="object"==typeof window,ja="undefined"!=typeof WorkerGlobalScope,ka="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;
|
|
9
|
+
(function(a){a.Dd=a.Dd||[];a.Dd.push(function(){a.MakeSWCanvasSurface=function(b){var d=b,f="undefined"!==typeof OffscreenCanvas&&d instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&d instanceof HTMLCanvasElement||f||(d=document.getElementById(b),d)))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(d.width,d.height))b.ae=d;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,d){var f={width:b,height:d,colorType:a.ColorType.RGBA_8888,
|
|
10
|
+
alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},h=b*d*4,n=a._malloc(h);if(f=a.Surface._makeRasterDirect(f,n,4*b))f.ae=null,f.Ae=b,f.xe=d,f.ye=h,f.he=n,f.getCanvas().clear(a.TRANSPARENT);return f};a.MakeRasterDirectSurface=function(b,d,f){return a.Surface._makeRasterDirect(b,d.byteOffset,f)};a.Surface.prototype.flush=function(b){a.Ad(this.zd);this._flush();if(this.ae){var d=new Uint8ClampedArray(a.HEAPU8.buffer,this.he,this.ye);d=new ImageData(d,this.Ae,this.xe);b?this.ae.getContext("2d").putImageData(d,
|
|
11
|
+
0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.ae.getContext("2d").putImageData(d,0,0)}};a.Surface.prototype.dispose=function(){this.he&&a._free(this.he);this.delete()};a.Ad=a.Ad||function(){};a.be=a.be||function(){return null}})})(r);
|
|
12
|
+
(function(a){a.Dd=a.Dd||[];a.Dd.push(function(){function b(l,m,x){return l&&l.hasOwnProperty(m)?l[m]:x}function d(l){var m=la(ma);ma[m]=l;return m}function f(l){return l.naturalHeight||l.videoHeight||l.displayHeight||l.height}function h(l){return l.naturalWidth||l.videoWidth||l.displayWidth||l.width}function n(l,m,x,v){l.bindTexture(l.TEXTURE_2D,m);v||x.alphaType!==a.AlphaType.Premul||l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return m}function t(l,m,x){x||m.alphaType!==a.AlphaType.Premul||
|
|
13
|
+
l.pixelStorei(l.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);l.bindTexture(l.TEXTURE_2D,null)}a.GetWebGLContext=function(l,m){if(!l)throw"null canvas passed into makeWebGLContext";var x={alpha:b(m,"alpha",1),depth:b(m,"depth",1),stencil:b(m,"stencil",8),antialias:b(m,"antialias",0),premultipliedAlpha:b(m,"premultipliedAlpha",1),preserveDrawingBuffer:b(m,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(m,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(m,"failIfMajorPerformanceCaveat",
|
|
14
|
+
0),enableExtensionsByDefault:b(m,"enableExtensionsByDefault",1),explicitSwapControl:b(m,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(m,"renderViaOffscreenBackBuffer",0)};x.majorVersion=m&&m.majorVersion?m.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(x.explicitSwapControl)throw"explicitSwapControl is not supported";l=na(l,x);if(!l)return 0;oa(l);B.Md.getExtension("WEBGL_debug_renderer_info");return l};a.deleteContext=function(l){B===pa[l]&&(B=null);"object"==typeof JSEvents&&
|
|
15
|
+
JSEvents.Ye(pa[l].Md.canvas);pa[l]?.Md.canvas&&(pa[l].Md.canvas.ve=void 0);pa[l]=null};a._setTextureCleanup({deleteTexture:function(l,m){var x=ma[m];x&&pa[l].Md.deleteTexture(x);ma[m]=null}});a.MakeWebGLContext=function(l){if(!this.Ad(l))return null;var m=this._MakeGrContext();if(!m)return null;m.zd=l;var x=m.delete.bind(m);m["delete"]=function(){a.Ad(this.zd);x()}.bind(m);return B.je=m};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Ad(this.zd);
|
|
16
|
+
this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Ad(this.zd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Ad(this.zd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(l){a.Ad(this.zd);this._setResourceCacheLimitBytes(l)};a.MakeOnScreenGLSurface=function(l,m,x,v,A,C){if(!this.Ad(l.zd))return null;m=void 0===A||void 0===C?
|
|
17
|
+
this._MakeOnScreenGLSurface(l,m,x,v):this._MakeOnScreenGLSurface(l,m,x,v,A,C);if(!m)return null;m.zd=l.zd;return m};a.MakeRenderTarget=function(){var l=arguments[0];if(!this.Ad(l.zd))return null;if(3===arguments.length){var m=this._MakeRenderTargetWH(l,arguments[1],arguments[2]);if(!m)return null}else if(2===arguments.length){if(m=this._MakeRenderTargetII(l,arguments[1]),!m)return null}else return null;m.zd=l.zd;return m};a.MakeWebGLCanvasSurface=function(l,m,x){m=m||null;var v=l,A="undefined"!==
|
|
18
|
+
typeof OffscreenCanvas&&v instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&v instanceof HTMLCanvasElement||A||(v=document.getElementById(l),v)))throw"Canvas with id "+l+" was not found";l=this.GetWebGLContext(v,x);if(!l||0>l)throw"failed to create webgl context: err "+l;l=this.MakeWebGLContext(l);m=this.MakeOnScreenGLSurface(l,v.width,v.height,m);return m?m:(m=v.cloneNode(!0),v.parentNode.replaceChild(m,v),m.classList.add("ck-replaced"),a.MakeSWCanvasSurface(m))};a.MakeCanvasSurface=
|
|
19
|
+
a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(l,m){a.Ad(this.zd);l=d(l);if(m=this._makeImageFromTexture(this.zd,l,m))m.Vd=l;return m};a.Surface.prototype.makeImageFromTextureSource=function(l,m,x){m||={height:f(l),width:h(l),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul};m.colorSpace||(m.colorSpace=a.ColorSpace.SRGB);a.Ad(this.zd);var v=B.Md;x=n(v,v.createTexture(),m,x);2===B.version?v.texImage2D(v.TEXTURE_2D,0,v.RGBA,m.width,m.height,
|
|
20
|
+
0,v.RGBA,v.UNSIGNED_BYTE,l):v.texImage2D(v.TEXTURE_2D,0,v.RGBA,v.RGBA,v.UNSIGNED_BYTE,l);t(v,m);this._resetContext();return this.makeImageFromTexture(x,m)};a.Surface.prototype.updateTextureFromSource=function(l,m,x){if(l.Vd){a.Ad(this.zd);var v=l.getImageInfo(),A=B.Md,C=n(A,ma[l.Vd],v,x);2===B.version?A.texImage2D(A.TEXTURE_2D,0,A.RGBA,h(m),f(m),0,A.RGBA,A.UNSIGNED_BYTE,m):A.texImage2D(A.TEXTURE_2D,0,A.RGBA,A.RGBA,A.UNSIGNED_BYTE,m);t(A,v,x);this._resetContext();ma[l.Vd]=null;l.Vd=d(C);v.colorSpace=
|
|
21
|
+
l.getColorSpace();m=this._makeImageFromTexture(this.zd,l.Vd,v);x=l.yd.Cd;A=l.yd.Fd;l.yd.Cd=m.yd.Cd;l.yd.Fd=m.yd.Fd;m.yd.Cd=x;m.yd.Fd=A;m.delete();v.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(l,m,x){m||={height:f(l),width:h(l),colorType:a.ColorType.RGBA_8888,alphaType:x?a.AlphaType.Premul:a.AlphaType.Unpremul};m.colorSpace||(m.colorSpace=a.ColorSpace.SRGB);var v={makeTexture:function(){var A=B,C=A.Md,U=n(C,C.createTexture(),m,x);2===A.version?C.texImage2D(C.TEXTURE_2D,0,C.RGBA,
|
|
22
|
+
m.width,m.height,0,C.RGBA,C.UNSIGNED_BYTE,l):C.texImage2D(C.TEXTURE_2D,0,C.RGBA,C.RGBA,C.UNSIGNED_BYTE,l);t(C,m,x);return d(U)},freeSrc:function(){}};"VideoFrame"===l.constructor.name&&(v.freeSrc=function(){l.close()});return a.Image._makeFromGenerator(m,v)};a.Ad=function(l){return l?oa(l):!1};a.be=function(){return B&&B.je&&!B.je.isDeleted()?B.je:null}})})(r);
|
|
23
|
+
(function(a){function b(e,c,g,k,p){for(var u=0;u<e.length;u++)c[u*g+(u*p+k+g)%g]=e[u];return c}function d(e){for(var c=e*e,g=Array(c);c--;)g[c]=0===c%(e+1)?1:0;return g}function f(e){return(t(255*e[3])<<24|t(255*e[0])<<16|t(255*e[1])<<8|t(255*e[2])<<0)>>>0}function h(e){if(e&&e._ck)return e;if(e instanceof Float32Array){for(var c=Math.floor(e.length/4),g=new Uint32Array(c),k=0;k<c;k++)g[k]=f(e.slice(4*k,4*(k+1)));return g}if(e instanceof Uint32Array)return e;if(e instanceof Array&&e[0]instanceof Float32Array)return e.map(f)}
|
|
24
|
+
function n(e){if(void 0===e)return 1;var c=parseFloat(e);return e&&-1!==e.indexOf("%")?c/100:c}function t(e){return Math.round(Math.max(0,Math.min(e||0,255)))}function l(e,c){c&&c._ck||a._free(e)}function m(e,c,g){if(!e||!e.length)return J;if(e&&e._ck)return e.byteOffset;var k=a[c].BYTES_PER_ELEMENT;g||=a._malloc(e.length*k);a[c].set(e,g/k);return g}function x(e){var c={Jd:J,count:e.length,colorType:a.ColorType.RGBA_F32};if(e instanceof Float32Array)c.Jd=m(e,"HEAPF32"),c.count=e.length/4;else if(e instanceof
|
|
25
|
+
Uint32Array)c.Jd=m(e,"HEAPU32"),c.colorType=a.ColorType.RGBA_8888;else if(e instanceof Array){if(e&&e.length){for(var g=a._malloc(16*e.length),k=0,p=g/4,u=0;u<e.length;u++)for(var w=0;4>w;w++)a.HEAPF32[p+k]=e[u][w],k++;e=g}else e=J;c.Jd=e}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof e;return c}function v(e){if(!e)return J;var c=Qa.toTypedArray();if(e.length){if(6===e.length||9===e.length)return m(e,"HEAPF32",ha),6===e.length&&a.HEAPF32.set(fd,6+ha/4),ha;if(16===
|
|
26
|
+
e.length)return c[0]=e[0],c[1]=e[1],c[2]=e[3],c[3]=e[4],c[4]=e[5],c[5]=e[7],c[6]=e[12],c[7]=e[13],c[8]=e[15],ha;throw"invalid matrix size";}if(void 0===e.m11)throw"invalid matrix argument";c[0]=e.m11;c[1]=e.m21;c[2]=e.m41;c[3]=e.m12;c[4]=e.m22;c[5]=e.m42;c[6]=e.m14;c[7]=e.m24;c[8]=e.m44;return ha}function A(e){if(!e)return J;var c=Jb.toTypedArray();if(e.length){if(16!==e.length&&6!==e.length&&9!==e.length)throw"invalid matrix size";if(16===e.length)return m(e,"HEAPF32",Ra);c.fill(0);c[0]=e[0];c[1]=
|
|
27
|
+
e[1];c[3]=e[2];c[4]=e[3];c[5]=e[4];c[7]=e[5];c[10]=1;c[12]=e[6];c[13]=e[7];c[15]=e[8];6===e.length&&(c[12]=0,c[13]=0,c[15]=1);return Ra}if(void 0===e.m11)throw"invalid matrix argument";c[0]=e.m11;c[1]=e.m21;c[2]=e.m31;c[3]=e.m41;c[4]=e.m12;c[5]=e.m22;c[6]=e.m32;c[7]=e.m42;c[8]=e.m13;c[9]=e.m23;c[10]=e.m33;c[11]=e.m43;c[12]=e.m14;c[13]=e.m24;c[14]=e.m34;c[15]=e.m44;return Ra}function C(e,c){return m(e,"HEAPF32",c||Ha)}function U(e,c,g,k){var p=Kb.toTypedArray();p[0]=e;p[1]=c;p[2]=g;p[3]=k;return Ha}
|
|
28
|
+
function R(e){for(var c=new Float32Array(4),g=0;4>g;g++)c[g]=a.HEAPF32[e/4+g];return c}function G(e,c){return m(e,"HEAPF32",c||W)}function Y(e,c){return m(e,"HEAPF32",c||Lb)}function Ca(){for(var e=0,c=0;c<arguments.length-1;c+=2)e+=arguments[c]*arguments[c+1];return e}function Z(e,c,g){for(var k=Array(e.length),p=0;p<g;p++)for(var u=0;u<g;u++){for(var w=0,z=0;z<g;z++)w+=e[g*p+z]*c[g*z+u];k[p*g+u]=w}return k}function Da(e,c){for(var g=Z(c[0],c[1],e),k=2;k<c.length;)g=Z(g,c[k],e),k++;return g}a.Color=
|
|
29
|
+
function(e,c,g,k){void 0===k&&(k=1);return a.Color4f(t(e)/255,t(c)/255,t(g)/255,k)};a.ColorAsInt=function(e,c,g,k){void 0===k&&(k=255);return(t(k)<<24|t(e)<<16|t(c)<<8|t(g)<<0&268435455)>>>0};a.Color4f=function(e,c,g,k){void 0===k&&(k=1);return Float32Array.of(e,c,g,k)};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,
|
|
30
|
+
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(e){return[Math.floor(255*
|
|
31
|
+
e[0]),Math.floor(255*e[1]),Math.floor(255*e[2]),e[3]]};a.parseColorString=function(e,c){e=e.toLowerCase();if(e.startsWith("#")){c=255;switch(e.length){case 9:c=parseInt(e.slice(7,9),16);case 7:var g=parseInt(e.slice(1,3),16);var k=parseInt(e.slice(3,5),16);var p=parseInt(e.slice(5,7),16);break;case 5:c=17*parseInt(e.slice(4,5),16);case 4:g=17*parseInt(e.slice(1,2),16),k=17*parseInt(e.slice(2,3),16),p=17*parseInt(e.slice(3,4),16)}return a.Color(g,k,p,c/255)}return e.startsWith("rgba")?(e=e.slice(5,
|
|
32
|
+
-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],n(e[3]))):e.startsWith("rgb")?(e=e.slice(4,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],n(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!c||(e=c[e],void 0===e)?a.BLACK:e};a.multiplyByAlpha=function(e,c){e=e.slice();e[3]=Math.max(0,Math.min(e[3]*c,1));return e};a.Malloc=function(e,c){var g=a._malloc(c*e.BYTES_PER_ELEMENT);return{_ck:!0,length:c,byteOffset:g,Rd:null,subarray:function(k,p){k=this.toTypedArray().subarray(k,p);k._ck=!0;return k},toTypedArray:function(){if(this.Rd&&
|
|
33
|
+
this.Rd.length)return this.Rd;this.Rd=new e(a.HEAPU8.buffer,g,c);this.Rd._ck=!0;return this.Rd}}};a.Free=function(e){a._free(e.byteOffset);e.byteOffset=J;e.toTypedArray=null;e.Rd=null};var ha=J,Qa,Ra=J,Jb,Ha=J,Kb,ia,W=J,kc,Ea=J,lc,Mb=J,mc,Nb=J,lb,ab=J,nc,Lb=J,oc,pc=J,fd=Float32Array.of(0,0,1),J=0;a.onRuntimeInitialized=function(){function e(c,g,k,p,u,w,z){w||(w=4*p.width,p.colorType===a.ColorType.RGBA_F16?w*=2:p.colorType===a.ColorType.RGBA_F32&&(w*=4));var F=w*p.height;var D=u?u.byteOffset:a._malloc(F);
|
|
34
|
+
if(z?!c._readPixels(p,D,w,g,k,z):!c._readPixels(p,D,w,g,k))return u||a._free(D),null;if(u)return u.toTypedArray();switch(p.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:c=(new Uint8Array(a.HEAPU8.buffer,D,F)).slice();break;case a.ColorType.RGBA_F32:c=(new Float32Array(a.HEAPU8.buffer,D,F)).slice();break;default:return null}a._free(D);return c}Kb=a.Malloc(Float32Array,4);Ha=Kb.byteOffset;Jb=a.Malloc(Float32Array,16);Ra=Jb.byteOffset;Qa=a.Malloc(Float32Array,9);ha=Qa.byteOffset;nc=
|
|
35
|
+
a.Malloc(Float32Array,12);Lb=nc.byteOffset;oc=a.Malloc(Float32Array,12);pc=oc.byteOffset;ia=a.Malloc(Float32Array,4);W=ia.byteOffset;kc=a.Malloc(Float32Array,4);Ea=kc.byteOffset;lc=a.Malloc(Float32Array,3);Mb=lc.byteOffset;mc=a.Malloc(Float32Array,3);Nb=mc.byteOffset;lb=a.Malloc(Int32Array,4);ab=lb.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};
|
|
36
|
+
a.Path.MakeFromCmds=function(c){var g=m(c,"HEAPF32"),k=a.Path._MakeFromCmds(g,c.length);l(g,c);return k};a.Path.MakeFromVerbsPointsWeights=function(c,g,k){var p=m(c,"HEAPU8"),u=m(g,"HEAPF32"),w=m(k,"HEAPF32"),z=a.Path._MakeFromVerbsPointsWeights(p,c.length,u,g.length/2,w,k&&k.length||0);l(p,c);l(u,g);l(w,k);return z};a.PathBuilder.prototype.addArc=function(c,g,k){c=G(c);this._addArc(c,g,k);return this};a.PathBuilder.prototype.addCircle=function(c,g,k,p){this._addCircle(c,g,k,!!p);return this};a.PathBuilder.prototype.addOval=
|
|
37
|
+
function(c,g,k){void 0===k&&(k=1);c=G(c);this._addOval(c,!!g,k);return this};a.PathBuilder.prototype.addPath=function(){var c=Array.prototype.slice.call(arguments),g=c[0],k=!1;"boolean"===typeof c[c.length-1]&&(k=c.pop());if(1===c.length)this._addPath(g,1,0,0,0,1,0,0,0,1,k);else if(2===c.length)c=c[1],this._addPath(g,c[0],c[1],c[2],c[3],c[4],c[5],c[6]||0,c[7]||0,c[8]||1,k);else if(7===c.length||10===c.length)this._addPath(g,c[1],c[2],c[3],c[4],c[5],c[6],c[7]||0,c[8]||0,c[9]||1,k);else return null;
|
|
38
|
+
return this};a.PathBuilder.prototype.addPolygon=function(c,g){var k=m(c,"HEAPF32");this._addPolygon(k,c.length/2,g);l(k,c);return this};a.PathBuilder.prototype.addRect=function(c,g){c=G(c);this._addRect(c,!!g);return this};a.PathBuilder.prototype.addRRect=function(c,g){c=Y(c);this._addRRect(c,!!g);return this};a.PathBuilder.prototype.addVerbsPointsWeights=function(c,g,k){var p=m(c,"HEAPU8"),u=m(g,"HEAPF32"),w=m(k,"HEAPF32");this._addVerbsPointsWeights(p,c.length,u,g.length/2,w,k&&k.length||0);l(p,
|
|
39
|
+
c);l(u,g);l(w,k);return this};a.PathBuilder.prototype.arc=function(c,g,k,p,u,w){c=a.LTRBRect(c-k,g-k,c+k,g+k);u=(u-p)/Math.PI*180-360*!!w;p=(new a.PathBuilder).addArc(c,p/Math.PI*180,u).detachAndDelete();this.addPath(p,!0);p.delete();return this};a.PathBuilder.prototype.arcToOval=function(c,g,k,p){c=G(c);this._arcToOval(c,g,k,p);return this};a.PathBuilder.prototype.arcToRotated=function(c,g,k,p,u,w,z){this._arcToRotated(c,g,k,!!p,!!u,w,z);return this};a.PathBuilder.prototype.arcToTangent=function(c,
|
|
40
|
+
g,k,p,u){this._arcToTangent(c,g,k,p,u);return this};a.PathBuilder.prototype.close=function(){this._close();return this};a.PathBuilder.prototype.conicTo=function(c,g,k,p,u){this._conicTo(c,g,k,p,u);return this};a.Path.prototype.computeTightBounds=function(c){this._computeTightBounds(W);var g=ia.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.cubicTo=function(c,g,k,p,u,w){this._cubicTo(c,g,k,p,u,w);return this};a.PathBuilder.prototype.detachAndDelete=function(){var c=this.detach();
|
|
41
|
+
this.delete();return c};a.Path.prototype.getBounds=function(c){this._getBounds(W);var g=ia.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.getBounds=function(c){this._getBounds(W);var g=ia.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.lineTo=function(c,g){this._lineTo(c,g);return this};a.PathBuilder.prototype.moveTo=function(c,g){this._moveTo(c,g);return this};a.PathBuilder.prototype.offset=function(c,g){this._transform(1,0,c,0,1,g,0,0,1);return this};
|
|
42
|
+
a.PathBuilder.prototype.quadTo=function(c,g,k,p){this._quadTo(c,g,k,p);return this};a.PathBuilder.prototype.rArcTo=function(c,g,k,p,u,w,z){this._rArcTo(c,g,k,p,u,w,z);return this};a.PathBuilder.prototype.rConicTo=function(c,g,k,p,u){this._rConicTo(c,g,k,p,u);return this};a.PathBuilder.prototype.rCubicTo=function(c,g,k,p,u,w){this._rCubicTo(c,g,k,p,u,w);return this};a.PathBuilder.prototype.rLineTo=function(c,g){this._rLineTo(c,g);return this};a.PathBuilder.prototype.rMoveTo=function(c,g){this._rMoveTo(c,
|
|
43
|
+
g);return this};a.PathBuilder.prototype.rQuadTo=function(c,g,k,p){this._rQuadTo(c,g,k,p);return this};a.Path.prototype.makeStroked=function(c){c=c||{};c.width=c.width||1;c.miter_limit=c.miter_limit||4;c.cap=c.cap||a.StrokeCap.Butt;c.join=c.join||a.StrokeJoin.Miter;c.precision=c.precision||1;return this._makeStroked(c)};a.PathBuilder.prototype.transform=function(){if(1===arguments.length){var c=arguments[0];this._transform(c[0],c[1],c[2],c[3],c[4],c[5],c[6]||0,c[7]||0,c[8]||1)}else if(6===arguments.length||
|
|
44
|
+
9===arguments.length)c=arguments,this._transform(c[0],c[1],c[2],c[3],c[4],c[5],c[6]||0,c[7]||0,c[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.makeTrimmed=function(c,g,k){return this._makeTrimmed(c,g,!!k)};a.Image.prototype.encodeToBytes=function(c,g){var k=a.be();c=c||a.ImageFormat.PNG;g=g||100;return k?this._encodeToBytes(c,g,k):this._encodeToBytes(c,g)};a.Image.prototype.makeShaderCubic=function(c,g,k,p,u){u=v(u);return this._makeShaderCubic(c,
|
|
45
|
+
g,k,p,u)};a.Image.prototype.makeShaderOptions=function(c,g,k,p,u){u=v(u);return this._makeShaderOptions(c,g,k,p,u)};a.Image.prototype.readPixels=function(c,g,k,p,u){var w=a.be();return e(this,c,g,k,p,u,w)};a.Canvas.prototype.clear=function(c){a.Ad(this.zd);c=C(c);this._clear(c)};a.Canvas.prototype.clipRRect=function(c,g,k){a.Ad(this.zd);c=Y(c);this._clipRRect(c,g,k)};a.Canvas.prototype.clipRect=function(c,g,k){a.Ad(this.zd);c=G(c);this._clipRect(c,g,k)};a.Canvas.prototype.concat=function(c){a.Ad(this.zd);
|
|
46
|
+
c=A(c);this._concat(c)};a.Canvas.prototype.drawArc=function(c,g,k,p,u){a.Ad(this.zd);c=G(c);this._drawArc(c,g,k,p,u)};a.Canvas.prototype.drawAtlas=function(c,g,k,p,u,w,z){if(c&&p&&g&&k&&g.length===k.length){a.Ad(this.zd);u||(u=a.BlendMode.SrcOver);var F=m(g,"HEAPF32"),D=m(k,"HEAPF32"),O=k.length/4,Q=m(h(w),"HEAPU32");if(z&&"B"in z&&"C"in z)this._drawAtlasCubic(c,D,F,Q,O,u,z.B,z.C,p);else{let q=a.FilterMode.Linear,y=a.MipmapMode.None;z&&(q=z.filter,"mipmap"in z&&(y=z.mipmap));this._drawAtlasOptions(c,
|
|
47
|
+
D,F,Q,O,u,q,y,p)}l(F,g);l(D,k);l(Q,w)}};a.Canvas.prototype.drawCircle=function(c,g,k,p){a.Ad(this.zd);this._drawCircle(c,g,k,p)};a.Canvas.prototype.drawColor=function(c,g){a.Ad(this.zd);c=C(c);void 0!==g?this._drawColor(c,g):this._drawColor(c)};a.Canvas.prototype.drawColorInt=function(c,g){a.Ad(this.zd);this._drawColorInt(c,g||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=function(c,g,k,p,u){a.Ad(this.zd);c=U(c,g,k,p);void 0!==u?this._drawColor(c,u):this._drawColor(c)};a.Canvas.prototype.drawDRRect=
|
|
48
|
+
function(c,g,k){a.Ad(this.zd);c=Y(c,Lb);g=Y(g,pc);this._drawDRRect(c,g,k)};a.Canvas.prototype.drawImage=function(c,g,k,p){a.Ad(this.zd);this._drawImage(c,g,k,p||null)};a.Canvas.prototype.drawImageCubic=function(c,g,k,p,u,w){a.Ad(this.zd);this._drawImageCubic(c,g,k,p,u,w||null)};a.Canvas.prototype.drawImageOptions=function(c,g,k,p,u,w){a.Ad(this.zd);this._drawImageOptions(c,g,k,p,u,w||null)};a.Canvas.prototype.drawImageNine=function(c,g,k,p,u){a.Ad(this.zd);g=m(g,"HEAP32",ab);k=G(k);this._drawImageNine(c,
|
|
49
|
+
g,k,p,u||null)};a.Canvas.prototype.drawImageRect=function(c,g,k,p,u){a.Ad(this.zd);G(g,W);G(k,Ea);this._drawImageRect(c,W,Ea,p,!!u)};a.Canvas.prototype.drawImageRectCubic=function(c,g,k,p,u,w){a.Ad(this.zd);G(g,W);G(k,Ea);this._drawImageRectCubic(c,W,Ea,p,u,w||null)};a.Canvas.prototype.drawImageRectOptions=function(c,g,k,p,u,w){a.Ad(this.zd);G(g,W);G(k,Ea);this._drawImageRectOptions(c,W,Ea,p,u,w||null)};a.Canvas.prototype.drawLine=function(c,g,k,p,u){a.Ad(this.zd);this._drawLine(c,g,k,p,u)};a.Canvas.prototype.drawOval=
|
|
50
|
+
function(c,g){a.Ad(this.zd);c=G(c);this._drawOval(c,g)};a.Canvas.prototype.drawPaint=function(c){a.Ad(this.zd);this._drawPaint(c)};a.Canvas.prototype.drawParagraph=function(c,g,k){a.Ad(this.zd);this._drawParagraph(c,g,k)};a.Canvas.prototype.drawPatch=function(c,g,k,p,u){if(24>c.length)throw"Need 12 cubic points";if(g&&4>g.length)throw"Need 4 colors";if(k&&8>k.length)throw"Need 4 shader coordinates";a.Ad(this.zd);const w=m(c,"HEAPF32"),z=g?m(h(g),"HEAPU32"):J,F=k?m(k,"HEAPF32"):J;p||(p=a.BlendMode.Modulate);
|
|
51
|
+
this._drawPatch(w,z,F,p,u);l(F,k);l(z,g);l(w,c)};a.Canvas.prototype.drawPath=function(c,g){a.Ad(this.zd);this._drawPath(c,g)};a.Canvas.prototype.drawPicture=function(c){a.Ad(this.zd);this._drawPicture(c)};a.Canvas.prototype.drawPoints=function(c,g,k){a.Ad(this.zd);var p=m(g,"HEAPF32");this._drawPoints(c,p,g.length/2,k);l(p,g)};a.Canvas.prototype.drawRRect=function(c,g){a.Ad(this.zd);c=Y(c);this._drawRRect(c,g)};a.Canvas.prototype.drawRect=function(c,g){a.Ad(this.zd);c=G(c);this._drawRect(c,g)};a.Canvas.prototype.drawRect4f=
|
|
52
|
+
function(c,g,k,p,u){a.Ad(this.zd);this._drawRect4f(c,g,k,p,u)};a.Canvas.prototype.drawShadow=function(c,g,k,p,u,w,z){a.Ad(this.zd);var F=m(u,"HEAPF32"),D=m(w,"HEAPF32");g=m(g,"HEAPF32",Mb);k=m(k,"HEAPF32",Nb);this._drawShadow(c,g,k,p,F,D,z);l(F,u);l(D,w)};a.getShadowLocalBounds=function(c,g,k,p,u,w,z){c=v(c);k=m(k,"HEAPF32",Mb);p=m(p,"HEAPF32",Nb);if(!this._getShadowLocalBounds(c,g,k,p,u,w,W))return null;g=ia.toTypedArray();return z?(z.set(g),z):g.slice()};a.Canvas.prototype.drawTextBlob=function(c,
|
|
53
|
+
g,k,p){a.Ad(this.zd);this._drawTextBlob(c,g,k,p)};a.Canvas.prototype.drawVertices=function(c,g,k){a.Ad(this.zd);this._drawVertices(c,g,k)};a.Canvas.prototype.getDeviceClipBounds=function(c){this._getDeviceClipBounds(ab);var g=lb.toTypedArray();c?c.set(g):c=g.slice();return c};a.Canvas.prototype.quickReject=function(c){c=G(c);return this._quickReject(c)};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Ra);for(var c=Ra,g=Array(16),k=0;16>k;k++)g[k]=a.HEAPF32[c/4+k];return g};a.Canvas.prototype.getTotalMatrix=
|
|
54
|
+
function(){this._getTotalMatrix(ha);for(var c=Array(9),g=0;9>g;g++)c[g]=a.HEAPF32[ha/4+g];return c};a.Canvas.prototype.makeSurface=function(c){c=this._makeSurface(c);c.zd=this.zd;return c};a.Canvas.prototype.readPixels=function(c,g,k,p,u){a.Ad(this.zd);return e(this,c,g,k,p,u)};a.Canvas.prototype.saveLayer=function(c,g,k,p,u){g=G(g);return this._saveLayer(c||null,g,k||null,p||0,u||a.TileMode.Clamp)};a.Canvas.prototype.writePixels=function(c,g,k,p,u,w,z,F){if(c.byteLength%(g*k))throw"pixels length must be a multiple of the srcWidth * srcHeight";
|
|
55
|
+
a.Ad(this.zd);var D=c.byteLength/(g*k);w=w||a.AlphaType.Unpremul;z=z||a.ColorType.RGBA_8888;F=F||a.ColorSpace.SRGB;var O=D*g;D=m(c,"HEAPU8");g=this._writePixels({width:g,height:k,colorType:z,alphaType:w,colorSpace:F},D,O,p,u);l(D,c);return g};a.ColorFilter.MakeBlend=function(c,g,k){c=C(c);k=k||a.ColorSpace.SRGB;return a.ColorFilter._MakeBlend(c,g,k)};a.ColorFilter.MakeMatrix=function(c){if(!c||20!==c.length)throw"invalid color matrix";var g=m(c,"HEAPF32"),k=a.ColorFilter._makeMatrix(g);l(g,c);return k};
|
|
56
|
+
a.ContourMeasure.prototype.getPosTan=function(c,g){this._getPosTan(c,W);c=ia.toTypedArray();return g?(g.set(c),g):c.slice()};a.ImageFilter.prototype.getOutputBounds=function(c,g,k){c=G(c,W);g=v(g);this._getOutputBounds(c,g,ab);g=lb.toTypedArray();return k?(k.set(g),k):g.slice()};a.ImageFilter.MakeDropShadow=function(c,g,k,p,u,w){u=C(u,Ha);return a.ImageFilter._MakeDropShadow(c,g,k,p,u,w)};a.ImageFilter.MakeDropShadowOnly=function(c,g,k,p,u,w){u=C(u,Ha);return a.ImageFilter._MakeDropShadowOnly(c,g,
|
|
57
|
+
k,p,u,w)};a.ImageFilter.MakeImage=function(c,g,k,p){k=G(k,W);p=G(p,Ea);if("B"in g&&"C"in g)return a.ImageFilter._MakeImageCubic(c,g.B,g.C,k,p);const u=g.filter;let w=a.MipmapMode.None;"mipmap"in g&&(w=g.mipmap);return a.ImageFilter._MakeImageOptions(c,u,w,k,p)};a.ImageFilter.MakeMatrixTransform=function(c,g,k){c=v(c);if("B"in g&&"C"in g)return a.ImageFilter._MakeMatrixTransformCubic(c,g.B,g.C,k);const p=g.filter;let u=a.MipmapMode.None;"mipmap"in g&&(u=g.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(c,
|
|
58
|
+
p,u,k)};a.Paint.prototype.getColor=function(){this._getColor(Ha);return R(Ha)};a.Paint.prototype.setColor=function(c,g){g=g||null;c=C(c);this._setColor(c,g)};a.Paint.prototype.setColorComponents=function(c,g,k,p,u){u=u||null;c=U(c,g,k,p);this._setColor(c,u)};a.Path.prototype.getPoint=function(c,g){this._getPoint(c,W);c=ia.toTypedArray();return g?(g[0]=c[0],g[1]=c[1],g):c.slice(0,2)};a.Picture.prototype.makeShader=function(c,g,k,p,u){p=v(p);u=G(u);return this._makeShader(c,g,k,p,u)};a.Picture.prototype.cullRect=
|
|
59
|
+
function(c){this._cullRect(W);var g=ia.toTypedArray();return c?(c.set(g),c):g.slice()};a.PictureRecorder.prototype.beginRecording=function(c,g){c=G(c);return this._beginRecording(c,!!g)};a.Surface.prototype.getCanvas=function(){var c=this._getCanvas();c.zd=this.zd;return c};a.Surface.prototype.makeImageSnapshot=function(c){a.Ad(this.zd);c=m(c,"HEAP32",ab);return this._makeImageSnapshot(c)};a.Surface.prototype.makeSurface=function(c){a.Ad(this.zd);c=this._makeSurface(c);c.zd=this.zd;return c};a.Surface.prototype.ze=
|
|
60
|
+
function(c,g){this.Ud||(this.Ud=this.getCanvas());return requestAnimationFrame(function(){a.Ad(this.zd);c(this.Ud);this.flush(g)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.ze);a.Surface.prototype.we=function(c,g){this.Ud||(this.Ud=this.getCanvas());requestAnimationFrame(function(){a.Ad(this.zd);c(this.Ud);this.flush(g);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.we);
|
|
61
|
+
a.PathEffect.MakeDash=function(c,g){g||=0;if(!c.length||1===c.length%2)throw"Intervals array must have even length";var k=m(c,"HEAPF32");g=a.PathEffect._MakeDash(k,c.length,g);l(k,c);return g};a.PathEffect.MakeLine2D=function(c,g){g=v(g);return a.PathEffect._MakeLine2D(c,g)};a.PathEffect.MakePath2D=function(c,g){c=v(c);return a.PathEffect._MakePath2D(c,g)};a.Shader.MakeColor=function(c,g){g=g||null;c=C(c);return a.Shader._MakeColor(c,g)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;
|
|
62
|
+
a.Shader.MakeLinearGradient=function(c,g,k,p,u,w,z,F){F=F||null;var D=x(k),O=m(p,"HEAPF32");z=z||0;w=v(w);var Q=ia.toTypedArray();Q.set(c);Q.set(g,2);c=a.Shader._MakeLinearGradient(W,D.Jd,D.colorType,O,D.count,u,z,w,F);l(D.Jd,k);p&&l(O,p);return c};a.Shader.MakeRadialGradient=function(c,g,k,p,u,w,z,F){F=F||null;var D=x(k),O=m(p,"HEAPF32");z=z||0;w=v(w);c=a.Shader._MakeRadialGradient(c[0],c[1],g,D.Jd,D.colorType,O,D.count,u,z,w,F);l(D.Jd,k);p&&l(O,p);return c};a.Shader.MakeSweepGradient=function(c,
|
|
63
|
+
g,k,p,u,w,z,F,D,O){O=O||null;var Q=x(k),q=m(p,"HEAPF32");z=z||0;F=F||0;D=D||360;w=v(w);c=a.Shader._MakeSweepGradient(c,g,Q.Jd,Q.colorType,q,Q.count,u,F,D,z,w,O);l(Q.Jd,k);p&&l(q,p);return c};a.Shader.MakeTwoPointConicalGradient=function(c,g,k,p,u,w,z,F,D,O){O=O||null;var Q=x(u),q=m(w,"HEAPF32");D=D||0;F=v(F);var y=ia.toTypedArray();y.set(c);y.set(k,2);c=a.Shader._MakeTwoPointConicalGradient(W,g,p,Q.Jd,Q.colorType,q,Q.count,z,D,F,O);l(Q.Jd,u);w&&l(q,w);return c};a.Vertices.prototype.bounds=function(c){this._bounds(W);
|
|
64
|
+
var g=ia.toTypedArray();return c?(c.set(g),c):g.slice()};a.Dd&&a.Dd.forEach(function(c){c()})};a.computeTonalColors=function(e){var c=m(e.ambient,"HEAPF32"),g=m(e.spot,"HEAPF32");this._computeTonalColors(c,g);var k={ambient:R(c),spot:R(g)};l(c,e.ambient);l(g,e.spot);return k};a.LTRBRect=function(e,c,g,k){return Float32Array.of(e,c,g,k)};a.XYWHRect=function(e,c,g,k){return Float32Array.of(e,c,e+g,c+k)};a.LTRBiRect=function(e,c,g,k){return Int32Array.of(e,c,g,k)};a.XYWHiRect=function(e,c,g,k){return Int32Array.of(e,
|
|
65
|
+
c,e+g,c+k)};a.RRectXY=function(e,c,g){return Float32Array.of(e[0],e[1],e[2],e[3],c,g,c,g,c,g,c,g)};a.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var c=a._malloc(e.byteLength);a.HEAPU8.set(e,c);return(e=a._decodeAnimatedImage(c,e.byteLength))?e:null};a.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var c=a._malloc(e.byteLength);a.HEAPU8.set(e,c);return(e=a._decodeImage(c,e.byteLength))?e:null};var mb=null;a.MakeImageFromCanvasImageSource=function(e){var c=e.width,g=e.height;
|
|
66
|
+
mb||=document.createElement("canvas");mb.width=c;mb.height=g;var k=mb.getContext("2d",{willReadFrequently:!0});k.drawImage(e,0,0);e=k.getImageData(0,0,c,g);return a.MakeImage({width:c,height:g,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},e.data,4*c)};a.MakeImage=function(e,c,g){var k=a._malloc(c.length);a.HEAPU8.set(c,k);return a._MakeImage(e,k,c.length,g)};a.MakeVertices=function(e,c,g,k,p,u){var w=p&&p.length||0,z=0;g&&g.length&&(z|=1);k&&k.length&&
|
|
67
|
+
(z|=2);void 0===u||u||(z|=4);e=new a._VerticesBuilder(e,c.length/2,w,z);m(c,"HEAPF32",e.positions());e.texCoords()&&m(g,"HEAPF32",e.texCoords());e.colors()&&m(h(k),"HEAPU32",e.colors());e.indices()&&m(p,"HEAPU16",e.indices());return e.detach()};a.Matrix={};a.Matrix.identity=function(){return d(3)};a.Matrix.invert=function(e){var c=e[0]*e[4]*e[8]+e[1]*e[5]*e[6]+e[2]*e[3]*e[7]-e[2]*e[4]*e[6]-e[1]*e[3]*e[8]-e[0]*e[5]*e[7];return c?[(e[4]*e[8]-e[5]*e[7])/c,(e[2]*e[7]-e[1]*e[8])/c,(e[1]*e[5]-e[2]*e[4])/
|
|
68
|
+
c,(e[5]*e[6]-e[3]*e[8])/c,(e[0]*e[8]-e[2]*e[6])/c,(e[2]*e[3]-e[0]*e[5])/c,(e[3]*e[7]-e[4]*e[6])/c,(e[1]*e[6]-e[0]*e[7])/c,(e[0]*e[4]-e[1]*e[3])/c]:null};a.Matrix.mapPoints=function(e,c){for(var g=0;g<c.length;g+=2){var k=c[g],p=c[g+1],u=e[6]*k+e[7]*p+e[8],w=e[3]*k+e[4]*p+e[5];c[g]=(e[0]*k+e[1]*p+e[2])/u;c[g+1]=w/u}return c};a.Matrix.multiply=function(){return Da(3,arguments)};a.Matrix.rotated=function(e,c,g){c=c||0;g=g||0;var k=Math.sin(e);e=Math.cos(e);return[e,-k,Ca(k,g,1-e,c),k,e,Ca(-k,c,1-e,g),
|
|
69
|
+
0,0,1]};a.Matrix.scaled=function(e,c,g,k){g=g||0;k=k||0;var p=b([e,c],d(3),3,0,1);return b([g-e*g,k-c*k],p,3,2,0)};a.Matrix.skewed=function(e,c,g,k){g=g||0;k=k||0;var p=b([e,c],d(3),3,1,-1);return b([-e*g,-c*k],p,3,2,0)};a.Matrix.translated=function(e,c){return b(arguments,d(3),3,2,0)};a.Vector={};a.Vector.dot=function(e,c){return e.map(function(g,k){return g*c[k]}).reduce(function(g,k){return g+k})};a.Vector.lengthSquared=function(e){return a.Vector.dot(e,e)};a.Vector.length=function(e){return Math.sqrt(a.Vector.lengthSquared(e))};
|
|
70
|
+
a.Vector.mulScalar=function(e,c){return e.map(function(g){return g*c})};a.Vector.add=function(e,c){return e.map(function(g,k){return g+c[k]})};a.Vector.sub=function(e,c){return e.map(function(g,k){return g-c[k]})};a.Vector.dist=function(e,c){return a.Vector.length(a.Vector.sub(e,c))};a.Vector.normalize=function(e){return a.Vector.mulScalar(e,1/a.Vector.length(e))};a.Vector.cross=function(e,c){return[e[1]*c[2]-e[2]*c[1],e[2]*c[0]-e[0]*c[2],e[0]*c[1]-e[1]*c[0]]};a.M44={};a.M44.identity=function(){return d(4)};
|
|
71
|
+
a.M44.translated=function(e){return b(e,d(4),4,3,0)};a.M44.scaled=function(e){return b(e,d(4),4,0,1)};a.M44.rotated=function(e,c){return a.M44.rotatedUnitSinCos(a.Vector.normalize(e),Math.sin(c),Math.cos(c))};a.M44.rotatedUnitSinCos=function(e,c,g){var k=e[0],p=e[1];e=e[2];var u=1-g;return[u*k*k+g,u*k*p-c*e,u*k*e+c*p,0,u*k*p+c*e,u*p*p+g,u*p*e-c*k,0,u*k*e-c*p,u*p*e+c*k,u*e*e+g,0,0,0,0,1]};a.M44.lookat=function(e,c,g){c=a.Vector.normalize(a.Vector.sub(c,e));g=a.Vector.normalize(g);g=a.Vector.normalize(a.Vector.cross(c,
|
|
72
|
+
g));var k=a.M44.identity();b(g,k,4,0,0);b(a.Vector.cross(g,c),k,4,1,0);b(a.Vector.mulScalar(c,-1),k,4,2,0);b(e,k,4,3,0);e=a.M44.invert(k);return null===e?a.M44.identity():e};a.M44.perspective=function(e,c,g){var k=1/(c-e);g/=2;g=Math.cos(g)/Math.sin(g);return[g,0,0,0,0,g,0,0,0,0,(c+e)*k,2*c*e*k,0,0,-1,1]};a.M44.rc=function(e,c,g){return e[4*c+g]};a.M44.multiply=function(){return Da(4,arguments)};a.M44.invert=function(e){var c=e[0],g=e[4],k=e[8],p=e[12],u=e[1],w=e[5],z=e[9],F=e[13],D=e[2],O=e[6],Q=
|
|
73
|
+
e[10],q=e[14],y=e[3],I=e[7],S=e[11];e=e[15];var aa=c*w-g*u,sa=c*z-k*u,ta=c*F-p*u,Aa=g*z-k*w,X=g*F-p*w,Sa=k*F-p*z,Ta=D*I-O*y,Ua=D*S-Q*y,Va=D*e-q*y,Wa=O*S-Q*I,Xa=O*e-q*I,Ya=Q*e-q*S,qc=aa*Ya-sa*Xa+ta*Wa+Aa*Va-X*Ua+Sa*Ta,da=1/qc;if(0===qc||Infinity===da)return null;aa*=da;sa*=da;ta*=da;Aa*=da;X*=da;Sa*=da;Ta*=da;Ua*=da;Va*=da;Wa*=da;Xa*=da;Ya*=da;c=[w*Ya-z*Xa+F*Wa,z*Va-u*Ya-F*Ua,u*Xa-w*Va+F*Ta,w*Ua-u*Wa-z*Ta,k*Xa-g*Ya-p*Wa,c*Ya-k*Va+p*Ua,g*Va-c*Xa-p*Ta,c*Wa-g*Ua+k*Ta,I*Sa-S*X+e*Aa,S*ta-y*Sa-e*sa,y*X-
|
|
74
|
+
I*ta+e*aa,I*sa-y*Aa-S*aa,Q*X-O*Sa-q*Aa,D*Sa-Q*ta+q*sa,O*ta-D*X-q*aa,D*Aa-O*sa+Q*aa];return c.every(function(Ob){return!isNaN(Ob)&&Infinity!==Ob&&-Infinity!==Ob})?c:null};a.M44.transpose=function(e){return[e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15]]};a.M44.mustInvert=function(e){e=a.M44.invert(e);if(null===e)throw"Matrix not invertible";return e};a.M44.setupCamera=function(e,c,g){var k=a.M44.lookat(g.eye,g.coa,g.up);g=a.M44.perspective(g.near,g.far,g.angle);
|
|
75
|
+
c=[(e[2]-e[0])/2,(e[3]-e[1])/2,c];e=a.M44.multiply(a.M44.translated([(e[0]+e[2])/2,(e[1]+e[3])/2,0]),a.M44.scaled(c));return a.M44.multiply(e,g,k,a.M44.mustInvert(e))};a.ColorMatrix={};a.ColorMatrix.identity=function(){var e=new Float32Array(20);e[0]=1;e[6]=1;e[12]=1;e[18]=1;return e};a.ColorMatrix.scaled=function(e,c,g,k){var p=new Float32Array(20);p[0]=e;p[6]=c;p[12]=g;p[18]=k;return p};var gd=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];a.ColorMatrix.rotated=function(e,c,g){var k=a.ColorMatrix.identity();
|
|
76
|
+
e=gd[e];k[e[0]]=g;k[e[1]]=c;k[e[2]]=-c;k[e[3]]=g;return k};a.ColorMatrix.postTranslate=function(e,c,g,k,p){e[4]+=c;e[9]+=g;e[14]+=k;e[19]+=p;return e};a.ColorMatrix.concat=function(e,c){for(var g=new Float32Array(20),k=0,p=0;20>p;p+=5){for(var u=0;4>u;u++)g[k++]=e[p]*c[u]+e[p+1]*c[u+5]+e[p+2]*c[u+10]+e[p+3]*c[u+15];g[k++]=e[p]*c[4]+e[p+1]*c[9]+e[p+2]*c[14]+e[p+3]*c[19]+e[p+4]}return g};(function(e){e.Dd=e.Dd||[];e.Dd.push(function(){function c(q){q&&(q.dir=0===q.dir?e.TextDirection.RTL:e.TextDirection.LTR);
|
|
77
|
+
return q}function g(q){if(!q||!q.length)return[];for(var y=[],I=0;I<q.length;I+=5){var S=e.LTRBRect(q[I],q[I+1],q[I+2],q[I+3]),aa=e.TextDirection.LTR;0===q[I+4]&&(aa=e.TextDirection.RTL);y.push({rect:S,dir:aa})}e._free(q.byteOffset);return y}function k(q){q=q||{};void 0===q.weight&&(q.weight=e.FontWeight.Normal);q.width=q.width||e.FontWidth.Normal;q.slant=q.slant||e.FontSlant.Upright;return q}function p(q){if(!q||!q.length)return J;for(var y=[],I=0;I<q.length;I++){var S=u(q[I]);y.push(S)}return m(y,
|
|
78
|
+
"HEAPU32")}function u(q){if(F[q])return F[q];var y=qa(q)+1,I=e._malloc(y);ra(q,I,y);return F[q]=I}function w(q){q._colorPtr=C(q.color);q._foregroundColorPtr=J;q._backgroundColorPtr=J;q._decorationColorPtr=J;q.foregroundColor&&(q._foregroundColorPtr=C(q.foregroundColor,D));q.backgroundColor&&(q._backgroundColorPtr=C(q.backgroundColor,O));q.decorationColor&&(q._decorationColorPtr=C(q.decorationColor,Q));Array.isArray(q.fontFamilies)&&q.fontFamilies.length?(q._fontFamiliesPtr=p(q.fontFamilies),q._fontFamiliesLen=
|
|
79
|
+
q.fontFamilies.length):(q._fontFamiliesPtr=J,q._fontFamiliesLen=0);if(q.locale){var y=q.locale;q._localePtr=u(y);q._localeLen=qa(y)}else q._localePtr=J,q._localeLen=0;if(Array.isArray(q.shadows)&&q.shadows.length){y=q.shadows;var I=y.map(function(X){return X.color||e.BLACK}),S=y.map(function(X){return X.blurRadius||0});q._shadowLen=y.length;for(var aa=e._malloc(8*y.length),sa=aa/4,ta=0;ta<y.length;ta++){var Aa=y[ta].offset||[0,0];e.HEAPF32[sa]=Aa[0];e.HEAPF32[sa+1]=Aa[1];sa+=2}q._shadowColorsPtr=
|
|
80
|
+
x(I).Jd;q._shadowOffsetsPtr=aa;q._shadowBlurRadiiPtr=m(S,"HEAPF32")}else q._shadowLen=0,q._shadowColorsPtr=J,q._shadowOffsetsPtr=J,q._shadowBlurRadiiPtr=J;Array.isArray(q.fontFeatures)&&q.fontFeatures.length?(y=q.fontFeatures,I=y.map(function(X){return X.name}),S=y.map(function(X){return X.value}),q._fontFeatureLen=y.length,q._fontFeatureNamesPtr=p(I),q._fontFeatureValuesPtr=m(S,"HEAPU32")):(q._fontFeatureLen=0,q._fontFeatureNamesPtr=J,q._fontFeatureValuesPtr=J);Array.isArray(q.fontVariations)&&q.fontVariations.length?
|
|
81
|
+
(y=q.fontVariations,I=y.map(function(X){return X.axis}),S=y.map(function(X){return X.value}),q._fontVariationLen=y.length,q._fontVariationAxesPtr=p(I),q._fontVariationValuesPtr=m(S,"HEAPF32")):(q._fontVariationLen=0,q._fontVariationAxesPtr=J,q._fontVariationValuesPtr=J)}function z(q){e._free(q._fontFamiliesPtr);e._free(q._shadowColorsPtr);e._free(q._shadowOffsetsPtr);e._free(q._shadowBlurRadiiPtr);e._free(q._fontFeatureNamesPtr);e._free(q._fontFeatureValuesPtr);e._free(q._fontVariationAxesPtr);e._free(q._fontVariationValuesPtr)}
|
|
82
|
+
e.Paragraph.prototype.getRectsForRange=function(q,y,I,S){q=this._getRectsForRange(q,y,I,S);return g(q)};e.Paragraph.prototype.getRectsForPlaceholders=function(){var q=this._getRectsForPlaceholders();return g(q)};e.Paragraph.prototype.getGlyphInfoAt=function(q){return c(this._getGlyphInfoAt(q))};e.Paragraph.prototype.getClosestGlyphInfoAtCoordinate=function(q,y){return c(this._getClosestGlyphInfoAtCoordinate(q,y))};e.TypefaceFontProvider.prototype.registerFont=function(q,y){q=e.Typeface.MakeTypefaceFromData(q);
|
|
83
|
+
if(!q)return null;y=u(y);this._registerFont(q,y);q.delete()};e.ParagraphStyle=function(q){q.disableHinting=q.disableHinting||!1;if(q.ellipsis){var y=q.ellipsis;q._ellipsisPtr=u(y);q._ellipsisLen=qa(y)}else q._ellipsisPtr=J,q._ellipsisLen=0;null==q.heightMultiplier&&(q.heightMultiplier=-1);q.maxLines=q.maxLines||0;q.replaceTabCharacters=q.replaceTabCharacters||!1;y=(y=q.strutStyle)||{};y.strutEnabled=y.strutEnabled||!1;y.strutEnabled&&Array.isArray(y.fontFamilies)&&y.fontFamilies.length?(y._fontFamiliesPtr=
|
|
84
|
+
p(y.fontFamilies),y._fontFamiliesLen=y.fontFamilies.length):(y._fontFamiliesPtr=J,y._fontFamiliesLen=0);y.fontStyle=k(y.fontStyle);null==y.fontSize&&(y.fontSize=-1);null==y.heightMultiplier&&(y.heightMultiplier=-1);y.halfLeading=y.halfLeading||!1;y.leading=y.leading||0;y.forceStrutHeight=y.forceStrutHeight||!1;q.strutStyle=y;q.textAlign=q.textAlign||e.TextAlign.Start;q.textDirection=q.textDirection||e.TextDirection.LTR;q.textHeightBehavior=q.textHeightBehavior||e.TextHeightBehavior.All;q.textStyle=
|
|
85
|
+
e.TextStyle(q.textStyle);q.applyRoundingHack=!1!==q.applyRoundingHack;return q};e.TextStyle=function(q){q.color||(q.color=e.BLACK);q.decoration=q.decoration||0;q.decorationThickness=q.decorationThickness||0;q.decorationStyle=q.decorationStyle||e.DecorationStyle.Solid;q.textBaseline=q.textBaseline||e.TextBaseline.Alphabetic;null==q.fontSize&&(q.fontSize=-1);q.letterSpacing=q.letterSpacing||0;q.wordSpacing=q.wordSpacing||0;null==q.heightMultiplier&&(q.heightMultiplier=-1);q.halfLeading=q.halfLeading||
|
|
86
|
+
!1;q.fontStyle=k(q.fontStyle);return q};var F={},D=e._malloc(16),O=e._malloc(16),Q=e._malloc(16);e.ParagraphBuilder.Make=function(q,y){w(q.textStyle);y=e.ParagraphBuilder._Make(q,y);z(q.textStyle);return y};e.ParagraphBuilder.MakeFromFontProvider=function(q,y){w(q.textStyle);y=e.ParagraphBuilder._MakeFromFontProvider(q,y);z(q.textStyle);return y};e.ParagraphBuilder.MakeFromFontCollection=function(q,y){w(q.textStyle);y=e.ParagraphBuilder._MakeFromFontCollection(q,y);z(q.textStyle);return y};e.ParagraphBuilder.ShapeText=
|
|
87
|
+
function(q,y,I){let S=0;for(const aa of y)S+=aa.length;if(S!==q.length)throw"Accumulated block lengths must equal text.length";return e.ParagraphBuilder._ShapeText(q,y,I)};e.ParagraphBuilder.prototype.pushStyle=function(q){w(q);this._pushStyle(q);z(q)};e.ParagraphBuilder.prototype.pushPaintStyle=function(q,y,I){w(q);this._pushPaintStyle(q,y,I);z(q)};e.ParagraphBuilder.prototype.addPlaceholder=function(q,y,I,S,aa){I=I||e.PlaceholderAlignment.Baseline;S=S||e.TextBaseline.Alphabetic;this._addPlaceholder(q||
|
|
88
|
+
0,y||0,I,S,aa||0)};e.ParagraphBuilder.prototype.setWordsUtf8=function(q){var y=m(q,"HEAPU32");this._setWordsUtf8(y,q&&q.length||0);l(y,q)};e.ParagraphBuilder.prototype.setWordsUtf16=function(q){var y=m(q,"HEAPU32");this._setWordsUtf16(y,q&&q.length||0);l(y,q)};e.ParagraphBuilder.prototype.setGraphemeBreaksUtf8=function(q){var y=m(q,"HEAPU32");this._setGraphemeBreaksUtf8(y,q&&q.length||0);l(y,q)};e.ParagraphBuilder.prototype.setGraphemeBreaksUtf16=function(q){var y=m(q,"HEAPU32");this._setGraphemeBreaksUtf16(y,
|
|
89
|
+
q&&q.length||0);l(y,q)};e.ParagraphBuilder.prototype.setLineBreaksUtf8=function(q){var y=m(q,"HEAPU32");this._setLineBreaksUtf8(y,q&&q.length||0);l(y,q)};e.ParagraphBuilder.prototype.setLineBreaksUtf16=function(q){var y=m(q,"HEAPU32");this._setLineBreaksUtf16(y,q&&q.length||0);l(y,q)}})})(r);a.Dd=a.Dd||[];a.Dd.push(function(){});a.Dd=a.Dd||[];a.Dd.push(function(){a.Canvas.prototype.drawText=function(e,c,g,k,p){var u=qa(e),w=a._malloc(u+1);ra(e,w,u+1);this._drawSimpleText(w,u,c,g,p,k);a._free(w)};
|
|
90
|
+
a.Canvas.prototype.drawGlyphs=function(e,c,g,k,p,u){if(!(2*e.length<=c.length))throw"Not enough positions for the array of gyphs";a.Ad(this.zd);const w=m(e,"HEAPU16"),z=m(c,"HEAPF32");this._drawGlyphs(e.length,w,z,g,k,p,u);l(z,c);l(w,e)};a.Font.prototype.getGlyphBounds=function(e,c,g){var k=m(e,"HEAPU16"),p=a._malloc(16*e.length);this._getGlyphWidthBounds(k,e.length,J,p,c||null);c=new Float32Array(a.HEAPU8.buffer,p,4*e.length);l(k,e);if(g)return g.set(c),a._free(p),g;e=Float32Array.from(c);a._free(p);
|
|
91
|
+
return e};a.Font.prototype.getGlyphIDs=function(e,c,g){c||(c=e.length);var k=qa(e)+1,p=a._malloc(k);ra(e,p,k);e=a._malloc(2*c);c=this._getGlyphIDs(p,k-1,c,e);a._free(p);if(0>c)return a._free(e),null;p=new Uint16Array(a.HEAPU8.buffer,e,c);if(g)return g.set(p),a._free(e),g;g=Uint16Array.from(p);a._free(e);return g};a.Font.prototype.getGlyphPaths=function(e,c){var g=m(e,"HEAPU16"),k=m(c,"HEAPF32"),p=this._getGlyphPaths(g,e.length,k);l(g,e);l(k,c);return p};a.Font.prototype.getGlyphIntercepts=function(e,
|
|
92
|
+
c,g,k){var p=m(e,"HEAPU16"),u=m(c,"HEAPF32");return this._getGlyphIntercepts(p,e.length,!(e&&e._ck),u,c.length,!(c&&c._ck),g,k)};a.Font.prototype.getGlyphWidths=function(e,c,g){var k=m(e,"HEAPU16"),p=a._malloc(4*e.length);this._getGlyphWidthBounds(k,e.length,p,J,c||null);c=new Float32Array(a.HEAPU8.buffer,p,e.length);l(k,e);if(g)return g.set(c),a._free(p),g;e=Float32Array.from(c);a._free(p);return e};a.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;1===e.length&&Array.isArray(e[0])&&
|
|
93
|
+
(e=arguments[0]);if(!e.length)return null;for(var c=[],g=[],k=0;k<e.length;k++){var p=new Uint8Array(e[k]),u=m(p,"HEAPU8");c.push(u);g.push(p.byteLength)}c=m(c,"HEAPU32");g=m(g,"HEAPU32");e=a.FontMgr._fromData(c,g,e.length);a._free(c);a._free(g);return e};a.Typeface.MakeTypefaceFromData=function(e){e=new Uint8Array(e);var c=m(e,"HEAPU8");return(e=a.Typeface._MakeTypefaceFromData(c,e.byteLength))?e:null};a.Typeface.MakeFreeTypeFaceFromData=a.Typeface.MakeTypefaceFromData;a.Typeface.prototype.getGlyphIDs=
|
|
94
|
+
function(e,c,g){c||(c=e.length);var k=qa(e)+1,p=a._malloc(k);ra(e,p,k);e=a._malloc(2*c);c=this._getGlyphIDs(p,k-1,c,e);a._free(p);if(0>c)return a._free(e),null;p=new Uint16Array(a.HEAPU8.buffer,e,c);if(g)return g.set(p),a._free(e),g;g=Uint16Array.from(p);a._free(e);return g};a.TextBlob.MakeOnPath=function(e,c,g,k){if(e&&e.length&&c&&c.countPoints()){if(1===c.countPoints())return this.MakeFromText(e,g);k||=0;var p=g.getGlyphIDs(e);p=g.getGlyphWidths(p);var u=[];c=new a.ContourMeasureIter(c,!1,1);for(var w=
|
|
95
|
+
c.next(),z=new Float32Array(4),F=0;F<e.length&&w;F++){var D=p[F];k+=D/2;if(k>w.length()){w.delete();w=c.next();if(!w){e=e.substring(0,F);break}k=D/2}w.getPosTan(k,z);var O=z[2],Q=z[3];u.push(O,Q,z[0]-D/2*O,z[1]-D/2*Q);k+=D/2}e=this.MakeFromRSXform(e,u,g);w&&w.delete();c.delete();return e}};a.TextBlob.MakeFromRSXform=function(e,c,g){var k=qa(e)+1,p=a._malloc(k);ra(e,p,k);e=m(c,"HEAPF32");g=a.TextBlob._MakeFromRSXform(p,k-1,e,g);a._free(p);return g?g:null};a.TextBlob.MakeFromRSXformGlyphs=function(e,
|
|
96
|
+
c,g){var k=m(e,"HEAPU16");c=m(c,"HEAPF32");g=a.TextBlob._MakeFromRSXformGlyphs(k,2*e.length,c,g);l(k,e);return g?g:null};a.TextBlob.MakeFromGlyphs=function(e,c){var g=m(e,"HEAPU16");c=a.TextBlob._MakeFromGlyphs(g,2*e.length,c);l(g,e);return c?c:null};a.TextBlob.MakeFromText=function(e,c){var g=qa(e)+1,k=a._malloc(g);ra(e,k,g);e=a.TextBlob._MakeFromText(k,g-1,c);a._free(k);return e?e:null};a.MallocGlyphIDs=function(e){return a.Malloc(Uint16Array,e)}});a.Dd=a.Dd||[];a.Dd.push(function(){a.RuntimeEffect.Make=
|
|
97
|
+
function(e,c){return a.RuntimeEffect._Make(e,{onError:c||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.MakeForBlender=function(e,c){return a.RuntimeEffect._MakeForBlender(e,{onError:c||function(g){console.log("RuntimeEffect error",g)}})};a.RuntimeEffect.prototype.makeShader=function(e,c){var g=!e._ck,k=m(e,"HEAPF32");c=v(c);return this._makeShader(k,4*e.length,g,c)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(e,c,g){var k=!e._ck,p=m(e,"HEAPF32");g=v(g);for(var u=
|
|
98
|
+
[],w=0;w<c.length;w++)u.push(c[w].yd.Cd);c=m(u,"HEAPU32");return this._makeShaderWithChildren(p,4*e.length,k,c,u.length,g)};a.RuntimeEffect.prototype.makeBlender=function(e){var c=!e._ck,g=m(e,"HEAPF32");return this._makeBlender(g,4*e.length,c)}})})(r);var ua="./this.program",va="",wa,xa;
|
|
99
|
+
if(ka){var fs=require("fs");require("path");va=__dirname+"/";xa=a=>{a=ya(a)?new URL(a):a;return fs.readFileSync(a)};wa=async a=>{a=ya(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(ua=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2)}else if(fa||ja)ja?va=self.location.href:"undefined"!=typeof document&&document.currentScript&&(va=document.currentScript.src),_scriptName&&(va=_scriptName),va.startsWith("blob:")?va="":va=va.slice(0,va.replace(/[?#].*/,"").lastIndexOf("/")+
|
|
100
|
+
1),ja&&(xa=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),wa=async a=>{if(ya(a))return new Promise((d,f)=>{var h=new XMLHttpRequest;h.open("GET",a,!0);h.responseType="arraybuffer";h.onload=()=>{200==h.status||0==h.status&&h.response?d(h.response):f(h.status)};h.onerror=f;h.send(null)});var b=await fetch(a,{credentials:"same-origin"});if(b.ok)return b.arrayBuffer();throw Error(b.status+" : "+b.url);};
|
|
101
|
+
var za=console.log.bind(console),Ba=console.error.bind(console),Fa,Ga=!1,Ia,E,Ja,Ka,H,K,L,La,Ma,Na,ya=a=>a.startsWith("file://");function Oa(){var a=Fa.buffer;Ia=new Int8Array(a);Ja=new Int16Array(a);r.HEAPU8=E=new Uint8Array(a);r.HEAPU16=Ka=new Uint16Array(a);r.HEAP32=H=new Int32Array(a);r.HEAPU32=K=new Uint32Array(a);r.HEAPF32=L=new Float32Array(a);Na=new Float64Array(a);La=new BigInt64Array(a);Ma=new BigUint64Array(a)}var Pa=0,Za=null;
|
|
102
|
+
function $a(a){a="Aborted("+a+")";Ba(a);Ga=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ca(a);throw a;}var bb;async function cb(a){try{var b=await wa(a);return new Uint8Array(b)}catch{}if(xa)a=xa(a);else throw"both async and sync fetching of the wasm failed";return a}async function db(a,b){try{var d=await cb(a);return await WebAssembly.instantiate(d,b)}catch(f){Ba(`failed to asynchronously prepare wasm: ${f}`),$a(f)}}
|
|
103
|
+
async function eb(a){var b=bb;if("function"==typeof WebAssembly.instantiateStreaming&&!ya(b)&&!ka)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(f){Ba(`wasm streaming compile failed: ${f}`),Ba("falling back to ArrayBuffer instantiation")}return db(b,a)}
|
|
104
|
+
var fb="undefined"!=typeof TextDecoder?new TextDecoder:void 0,gb=(a,b=0,d=NaN)=>{var f=b+d;for(d=b;a[d]&&!(d>=f);)++d;if(16<d-b&&a.buffer&&fb)return fb.decode(a.subarray(b,d));for(f="";b<d;){var h=a[b++];if(h&128){var n=a[b++]&63;if(192==(h&224))f+=String.fromCharCode((h&31)<<6|n);else{var t=a[b++]&63;h=224==(h&240)?(h&15)<<12|n<<6|t:(h&7)<<18|n<<12|t<<6|a[b++]&63;65536>h?f+=String.fromCharCode(h):(h-=65536,f+=String.fromCharCode(55296|h>>10,56320|h&1023))}}else f+=String.fromCharCode(h)}return f},
|
|
105
|
+
hb={},ib=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function jb(a){return this.fromWireType(K[a>>2])}
|
|
106
|
+
var kb={},nb={},ob={},pb=r.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}},rb=(a,b,d)=>{function f(l){l=d(l);if(l.length!==a.length)throw new pb("Mismatched type converter count");for(var m=0;m<a.length;++m)qb(a[m],l[m])}a.forEach(l=>ob[l]=b);var h=Array(b.length),n=[],t=0;b.forEach((l,m)=>{nb.hasOwnProperty(l)?h[m]=nb[l]:(n.push(l),kb.hasOwnProperty(l)||(kb[l]=[]),kb[l].push(()=>{h[m]=nb[l];++t;t===n.length&&f(h)}))});0===n.length&&f(h)},sb=a=>{if(null===a)return"null";
|
|
107
|
+
var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},tb,M=a=>{for(var b="";E[a];)b+=tb[E[a++]];return b},N=r.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};
|
|
108
|
+
function ub(a,b,d={}){var f=b.name;if(!a)throw new N(`type "${f}" must have a positive integer typeid pointer`);if(nb.hasOwnProperty(a)){if(d.Le)return;throw new N(`Cannot register type '${f}' twice`);}nb[a]=b;delete ob[a];kb.hasOwnProperty(a)&&(b=kb[a],delete kb[a],b.forEach(h=>h()))}function qb(a,b,d={}){return ub(a,b,d)}
|
|
109
|
+
var vb=(a,b,d)=>{switch(b){case 1:return d?f=>Ia[f]:f=>E[f];case 2:return d?f=>Ja[f>>1]:f=>Ka[f>>1];case 4:return d?f=>H[f>>2]:f=>K[f>>2];case 8:return d?f=>La[f>>3]:f=>Ma[f>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},wb=a=>{throw new N(a.yd.Ed.Bd.name+" instance already deleted");},xb=!1,yb=()=>{},zb=a=>{if("undefined"===typeof FinalizationRegistry)return zb=b=>b,a;xb=new FinalizationRegistry(b=>{b=b.yd;--b.count.value;0===b.count.value&&(b.Fd?b.Ld.Od(b.Fd):b.Ed.Bd.Od(b.Cd))});
|
|
110
|
+
zb=b=>{var d=b.yd;d.Fd&&xb.register(b,{yd:d},b);return b};yb=b=>{xb.unregister(b)};return zb(a)},Ab=[];function Bb(){}
|
|
111
|
+
var Cb=(a,b)=>Object.defineProperty(b,"name",{value:a}),Db={},Eb=(a,b,d)=>{if(void 0===a[b].Gd){var f=a[b];a[b]=function(...h){if(!a[b].Gd.hasOwnProperty(h.length))throw new N(`Function '${d}' called with an invalid number of arguments (${h.length}) - expects one of (${a[b].Gd})!`);return a[b].Gd[h.length].apply(this,h)};a[b].Gd=[];a[b].Gd[f.Pd]=f}},Fb=(a,b,d)=>{if(r.hasOwnProperty(a)){if(void 0===d||void 0!==r[a].Gd&&void 0!==r[a].Gd[d])throw new N(`Cannot register public name '${a}' twice`);Eb(r,
|
|
112
|
+
a,a);if(r[a].Gd.hasOwnProperty(d))throw new N(`Cannot register multiple overloads of a function with the same number of arguments (${d})!`);r[a].Gd[d]=b}else r[a]=b,r[a].Pd=d},Gb=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Hb(a,b,d,f,h,n,t,l){this.name=a;this.constructor=b;this.Td=d;this.Od=f;this.Hd=h;this.Ge=n;this.Zd=t;this.De=l;this.Oe=[]}
|
|
113
|
+
var Ib=(a,b,d)=>{for(;b!==d;){if(!b.Zd)throw new N(`Expected null or instance of ${d.name}, got an instance of ${b.name}`);a=b.Zd(a);b=b.Hd}return a};function Pb(a,b){if(null===b){if(this.ke)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.yd)throw new N(`Cannot pass "${sb(b)}" as a ${this.name}`);if(!b.yd.Cd)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);return Ib(b.yd.Cd,b.yd.Ed.Bd,this.Bd)}
|
|
114
|
+
function Qb(a,b){if(null===b){if(this.ke)throw new N(`null is not a valid ${this.name}`);if(this.de){var d=this.le();null!==a&&a.push(this.Od,d);return d}return 0}if(!b||!b.yd)throw new N(`Cannot pass "${sb(b)}" as a ${this.name}`);if(!b.yd.Cd)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.ce&&b.yd.Ed.ce)throw new N(`Cannot convert argument of type ${b.yd.Ld?b.yd.Ld.name:b.yd.Ed.name} to parameter type ${this.name}`);d=Ib(b.yd.Cd,b.yd.Ed.Bd,this.Bd);if(this.de){if(void 0===
|
|
115
|
+
b.yd.Fd)throw new N("Passing raw pointer to smart pointer is illegal");switch(this.Te){case 0:if(b.yd.Ld===this)d=b.yd.Fd;else throw new N(`Cannot convert argument of type ${b.yd.Ld?b.yd.Ld.name:b.yd.Ed.name} to parameter type ${this.name}`);break;case 1:d=b.yd.Fd;break;case 2:if(b.yd.Ld===this)d=b.yd.Fd;else{var f=b.clone();d=this.Pe(d,Rb(()=>f["delete"]()));null!==a&&a.push(this.Od,d)}break;default:throw new N("Unsupporting sharing policy");}}return d}
|
|
116
|
+
function Sb(a,b){if(null===b){if(this.ke)throw new N(`null is not a valid ${this.name}`);return 0}if(!b.yd)throw new N(`Cannot pass "${sb(b)}" as a ${this.name}`);if(!b.yd.Cd)throw new N(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.yd.Ed.ce)throw new N(`Cannot convert argument of type ${b.yd.Ed.name} to parameter type ${this.name}`);return Ib(b.yd.Cd,b.yd.Ed.Bd,this.Bd)}
|
|
117
|
+
var Tb=(a,b,d)=>{if(b===d)return a;if(void 0===d.Hd)return null;a=Tb(a,b,d.Hd);return null===a?null:d.De(a)},Ub={},Vb=(a,b)=>{if(void 0===b)throw new N("ptr should not be undefined");for(;a.Hd;)b=a.Zd(b),a=a.Hd;return Ub[b]},Wb=(a,b)=>{if(!b.Ed||!b.Cd)throw new pb("makeClassHandle requires ptr and ptrType");if(!!b.Ld!==!!b.Fd)throw new pb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return zb(Object.create(a,{yd:{value:b,writable:!0}}))};
|
|
118
|
+
function Xb(a,b,d,f,h,n,t,l,m,x,v){this.name=a;this.Bd=b;this.ke=d;this.ce=f;this.de=h;this.Ne=n;this.Te=t;this.re=l;this.le=m;this.Pe=x;this.Od=v;h||void 0!==b.Hd?this.toWireType=Qb:(this.toWireType=f?Pb:Sb,this.Kd=null)}
|
|
119
|
+
var Yb=(a,b,d)=>{if(!r.hasOwnProperty(a))throw new pb("Replacing nonexistent public symbol");void 0!==r[a].Gd&&void 0!==d?r[a].Gd[d]=b:(r[a]=b,r[a].Pd=d)},Zb,$b=(a,b)=>{a=M(a);var d=Zb.get(b);if("function"!=typeof d)throw new N(`unknown function pointer with signature ${a}: ${b}`);return d};class ac extends Error{}
|
|
120
|
+
var dc=a=>{a=bc(a);var b=M(a);cc(a);return b},ec=(a,b)=>{function d(n){h[n]||nb[n]||(ob[n]?ob[n].forEach(d):(f.push(n),h[n]=!0))}var f=[],h={};b.forEach(d);throw new ac(`${a}: `+f.map(dc).join([", "]));};function fc(a){for(var b=1;b<a.length;++b)if(null!==a[b]&&void 0===a[b].Kd)return!0;return!1}
|
|
121
|
+
function gc(a,b,d,f,h){var n=b.length;if(2>n)throw new N("argTypes array size mismatch! Must at least get return value and 'this' types!");var t=null!==b[1]&&null!==d,l=fc(b),m="void"!==b[0].name,x=n-2,v=Array(x),A=[],C=[];return Cb(a,function(...U){C.length=0;A.length=t?2:1;A[0]=h;if(t){var R=b[1].toWireType(C,this);A[1]=R}for(var G=0;G<x;++G)v[G]=b[G+2].toWireType(C,U[G]),A.push(v[G]);U=f(...A);if(l)ib(C);else for(G=t?1:2;G<b.length;G++){var Y=1===G?R:v[G-2];null!==b[G].Kd&&b[G].Kd(Y)}R=m?b[0].fromWireType(U):
|
|
122
|
+
void 0;return R})}
|
|
123
|
+
for(var hc=(a,b)=>{for(var d=[],f=0;f<a;f++)d.push(K[b+4*f>>2]);return d},ic=a=>{a=a.trim();const b=a.indexOf("(");return-1===b?a:a.slice(0,b)},jc=[],rc=[],sc=a=>{9<a&&0===--rc[a+1]&&(rc[a]=void 0,jc.push(a))},tc=a=>{if(!a)throw new N(`Cannot use deleted val. handle = ${a}`);return rc[a]},Rb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=jc.pop()||rc.length;rc[b]=a;rc[b+1]=1;return b}},uc={name:"emscripten::val",fromWireType:a=>{var b=tc(a);
|
|
124
|
+
sc(a);return b},toWireType:(a,b)=>Rb(b),Id:8,readValueFromPointer:jb,Kd:null},vc=(a,b,d)=>{switch(b){case 1:return d?function(f){return this.fromWireType(Ia[f])}:function(f){return this.fromWireType(E[f])};case 2:return d?function(f){return this.fromWireType(Ja[f>>1])}:function(f){return this.fromWireType(Ka[f>>1])};case 4:return d?function(f){return this.fromWireType(H[f>>2])}:function(f){return this.fromWireType(K[f>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},wc=(a,
|
|
125
|
+
b)=>{var d=nb[a];if(void 0===d)throw a=`${b} has unknown type ${dc(a)}`,new N(a);return d},xc=(a,b)=>{switch(b){case 4:return function(d){return this.fromWireType(L[d>>2])};case 8:return function(d){return this.fromWireType(Na[d>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},ra=(a,b,d)=>{var f=E;if(!(0<d))return 0;var h=b;d=b+d-1;for(var n=0;n<a.length;++n){var t=a.charCodeAt(n);if(55296<=t&&57343>=t){var l=a.charCodeAt(++n);t=65536+((t&1023)<<10)|l&1023}if(127>=t){if(b>=
|
|
126
|
+
d)break;f[b++]=t}else{if(2047>=t){if(b+1>=d)break;f[b++]=192|t>>6}else{if(65535>=t){if(b+2>=d)break;f[b++]=224|t>>12}else{if(b+3>=d)break;f[b++]=240|t>>18;f[b++]=128|t>>12&63}f[b++]=128|t>>6&63}f[b++]=128|t&63}}f[b]=0;return b-h},qa=a=>{for(var b=0,d=0;d<a.length;++d){var f=a.charCodeAt(d);127>=f?b++:2047>=f?b+=2:55296<=f&&57343>=f?(b+=4,++d):b+=3}return b},yc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,zc=(a,b)=>{var d=a>>1;for(var f=d+b/2;!(d>=f)&&Ka[d];)++d;d<<=1;if(32<d-
|
|
127
|
+
a&&yc)return yc.decode(E.subarray(a,d));d="";for(f=0;!(f>=b/2);++f){var h=Ja[a+2*f>>1];if(0==h)break;d+=String.fromCharCode(h)}return d},Ac=(a,b,d)=>{d??=2147483647;if(2>d)return 0;d-=2;var f=b;d=d<2*a.length?d/2:a.length;for(var h=0;h<d;++h)Ja[b>>1]=a.charCodeAt(h),b+=2;Ja[b>>1]=0;return b-f},Bc=a=>2*a.length,Cc=(a,b)=>{for(var d=0,f="";!(d>=b/4);){var h=H[a+4*d>>2];if(0==h)break;++d;65536<=h?(h-=65536,f+=String.fromCharCode(55296|h>>10,56320|h&1023)):f+=String.fromCharCode(h)}return f},Dc=(a,b,
|
|
128
|
+
d)=>{d??=2147483647;if(4>d)return 0;var f=b;d=f+d-4;for(var h=0;h<a.length;++h){var n=a.charCodeAt(h);if(55296<=n&&57343>=n){var t=a.charCodeAt(++h);n=65536+((n&1023)<<10)|t&1023}H[b>>2]=n;b+=4;if(b+4>d)break}H[b>>2]=0;return b-f},Ec=a=>{for(var b=0,d=0;d<a.length;++d){var f=a.charCodeAt(d);55296<=f&&57343>=f&&++d;b+=4}return b},Fc=(a,b,d)=>{var f=[];a=a.toWireType(f,d);f.length&&(K[b>>2]=Rb(f));return a},Gc=[],Hc={},Ic=a=>{var b=Hc[a];return void 0===b?M(a):b},Jc=()=>{function a(b){b.$$$embind_global$$$=
|
|
129
|
+
b;var d="object"==typeof $$$embind_global$$$&&b.$$$embind_global$$$==b;d||delete b.$$$embind_global$$$;return d}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.");},Kc=a=>{var b=Gc.length;Gc.push(a);return b},
|
|
130
|
+
Lc=(a,b)=>{for(var d=Array(a),f=0;f<a;++f)d[f]=wc(K[b+4*f>>2],`parameter ${f}`);return d},Mc=Reflect.construct,P,Nc=a=>{var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=(d,f)=>b.vertexAttribDivisorANGLE(d,f),a.drawArraysInstanced=(d,f,h,n)=>b.drawArraysInstancedANGLE(d,f,h,n),a.drawElementsInstanced=(d,f,h,n,t)=>b.drawElementsInstancedANGLE(d,f,h,n,t))},Oc=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=
|
|
131
|
+
d=>b.deleteVertexArrayOES(d),a.bindVertexArray=d=>b.bindVertexArrayOES(d),a.isVertexArray=d=>b.isVertexArrayOES(d))},Pc=a=>{var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=(d,f)=>b.drawBuffersWEBGL(d,f))},Qc=a=>{var b="ANGLE_instanced_arrays EXT_blend_minmax EXT_disjoint_timer_query EXT_frag_depth EXT_shader_texture_lod EXT_sRGB OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_depth_texture WEBGL_draw_buffers EXT_color_buffer_float EXT_conservative_depth EXT_disjoint_timer_query_webgl2 EXT_texture_norm16 NV_shader_noperspective_interpolation WEBGL_clip_cull_distance EXT_clip_control EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_polygon_offset_clamp EXT_texture_compression_bptc EXT_texture_compression_rgtc EXT_texture_filter_anisotropic KHR_parallel_shader_compile OES_texture_float_linear WEBGL_blend_func_extended WEBGL_compressed_texture_astc WEBGL_compressed_texture_etc WEBGL_compressed_texture_etc1 WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_multi_draw WEBGL_polygon_mode".split(" ");
|
|
132
|
+
return(a.getSupportedExtensions()||[]).filter(d=>b.includes(d))},Rc=1,Sc=[],Tc=[],Uc=[],Vc=[],ma=[],Wc=[],Xc=[],pa=[],Yc=[],Zc=[],$c=[],ad={},bd={},cd=4,dd=0,la=a=>{for(var b=Rc++,d=a.length;d<b;d++)a[d]=null;return b},ed=(a,b,d,f)=>{for(var h=0;h<a;h++){var n=P[d](),t=n&&la(f);n?(n.name=t,f[t]=n):T||=1282;H[b+4*h>>2]=t}},na=(a,b)=>{a.ue||(a.ue=a.getContext,a.getContext=function(f,h){h=a.ue(f,h);return"webgl"==f==h instanceof WebGLRenderingContext?h:null});var d=1<b.majorVersion?a.getContext("webgl2",
|
|
133
|
+
b):a.getContext("webgl",b);return d?hd(d,b):0},hd=(a,b)=>{var d=la(pa),f={handle:d,attributes:b,version:b.majorVersion,Md:a};a.canvas&&(a.canvas.ve=f);pa[d]=f;("undefined"==typeof b.Ee||b.Ee)&&jd(f);return d},oa=a=>{B=pa[a];r.ctx=P=B?.Md;return!(a&&!P)},jd=a=>{a||=B;if(!a.Me){a.Me=!0;var b=a.Md;b.Xe=b.getExtension("WEBGL_multi_draw");b.Ve=b.getExtension("EXT_polygon_offset_clamp");b.Ue=b.getExtension("EXT_clip_control");b.Ze=b.getExtension("WEBGL_polygon_mode");Nc(b);Oc(b);Pc(b);b.oe=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");
|
|
134
|
+
b.qe=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.Nd=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.Nd)b.Nd=b.getExtension("EXT_disjoint_timer_query");Qc(b).forEach(d=>{d.includes("lose_context")||d.includes("debug")||b.getExtension(d)})}},B,T,kd=(a,b)=>{P.bindFramebuffer(a,Uc[b])},ld=a=>{P.bindVertexArray(Xc[a])},md=a=>P.clear(a),nd=(a,b,d,f)=>P.clearColor(a,b,d,f),od=a=>P.clearStencil(a),pd=(a,b)=>{for(var d=0;d<a;d++){var f=H[b+
|
|
135
|
+
4*d>>2];P.deleteVertexArray(Xc[f]);Xc[f]=null}},qd=[],rd=(a,b)=>{ed(a,b,"createVertexArray",Xc)},sd=()=>{var a=Qc(P);return a=a.concat(a.map(b=>"GL_"+b))},td=(a,b,d)=>{if(b){var f=void 0;switch(a){case 36346:f=1;break;case 36344:0!=d&&1!=d&&(T||=1280);return;case 34814:case 36345:f=0;break;case 34466:var h=P.getParameter(34467);f=h?h.length:0;break;case 33309:if(2>B.version){T||=1282;return}f=sd().length;break;case 33307:case 33308:if(2>B.version){T||=1280;return}f=33307==a?3:0}if(void 0===f)switch(h=
|
|
136
|
+
P.getParameter(a),typeof h){case "number":f=h;break;case "boolean":f=h?1:0;break;case "string":T||=1280;return;case "object":if(null===h)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:f=0;break;default:T||=1280;return}else{if(h instanceof Float32Array||h instanceof Uint32Array||h instanceof Int32Array||h instanceof Array){for(a=
|
|
137
|
+
0;a<h.length;++a)switch(d){case 0:H[b+4*a>>2]=h[a];break;case 2:L[b+4*a>>2]=h[a];break;case 4:Ia[b+a]=h[a]?1:0}return}try{f=h.name|0}catch(n){T||=1280;Ba(`GL_INVALID_ENUM in glGet${d}v: Unknown object returned from WebGL getParameter(${a})! (error: ${n})`);return}}break;default:T||=1280;Ba(`GL_INVALID_ENUM in glGet${d}v: Native code calling glGet${d}v(${a}) and it returns ${h} of type ${typeof h}!`);return}switch(d){case 1:d=f;K[b>>2]=d;K[b+4>>2]=(d-K[b>>2])/4294967296;break;case 0:H[b>>2]=f;break;
|
|
138
|
+
case 2:L[b>>2]=f;break;case 4:Ia[b]=f?1:0}}else T||=1281},ud=(a,b)=>td(a,b,0),vd=(a,b,d)=>{if(d){a=Yc[a];b=2>B.version?P.Nd.getQueryObjectEXT(a,b):P.getQueryParameter(a,b);var f;"boolean"==typeof b?f=b?1:0:f=b;K[d>>2]=f;K[d+4>>2]=(f-K[d>>2])/4294967296}else T||=1281},xd=a=>{var b=qa(a)+1,d=wd(b);d&&ra(a,d,b);return d},yd=a=>{var b=ad[a];if(!b){switch(a){case 7939:b=xd(sd().join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=P.getParameter(a))||(T||=1280);b=b?xd(b):0;break;case 7938:b=P.getParameter(7938);
|
|
139
|
+
var d=`OpenGL ES 2.0 (${b})`;2<=B.version&&(d=`OpenGL ES 3.0 (${b})`);b=xd(d);break;case 35724:b=P.getParameter(35724);d=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==d&&(3==d[1].length&&(d[1]+="0"),b=`OpenGL ES GLSL ES ${d[1]} (${b})`);b=xd(b);break;default:T||=1280}ad[a]=b}return b},zd=(a,b)=>{if(2>B.version)return T||=1282,0;var d=bd[a];if(d)return 0>b||b>=d.length?(T||=1281,0):d[b];switch(a){case 7939:return d=sd().map(xd),d=bd[a]=d,0>b||b>=d.length?(T||=1281,0):d[b];default:return T||=
|
|
140
|
+
1280,0}},Ad=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Bd=a=>{a-=5120;return 0==a?Ia:1==a?E:2==a?Ja:4==a?H:6==a?L:5==a||28922==a||28520==a||30779==a||30782==a?K:Ka},Cd=(a,b,d,f,h)=>{a=Bd(a);b=f*((dd||d)*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*a.BYTES_PER_ELEMENT+cd-1&-cd);return a.subarray(h>>>31-Math.clz32(a.BYTES_PER_ELEMENT),h+b>>>31-Math.clz32(a.BYTES_PER_ELEMENT))},V=a=>{var b=P.Ce;if(b){var d=b.Yd[a];"number"==typeof d&&(b.Yd[a]=d=P.getUniformLocation(b,b.se[a]+
|
|
141
|
+
(0<d?`[${d}]`:"")));return d}T||=1282},Dd=[],Ed=[],Fd={},Hd=()=>{if(!Gd){var a={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:ua||"./this.program"},b;for(b in Fd)void 0===Fd[b]?delete a[b]:a[b]=Fd[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Gd=d}return Gd},Gd,Id=[null,[],[]],Jd=Array(256),Kd=0;256>Kd;++Kd)Jd[Kd]=String.fromCharCode(Kd);tb=Jd;
|
|
142
|
+
(()=>{let a=Bb.prototype;Object.assign(a,{isAliasOf:function(d){if(!(this instanceof Bb&&d instanceof Bb))return!1;var f=this.yd.Ed.Bd,h=this.yd.Cd;d.yd=d.yd;var n=d.yd.Ed.Bd;for(d=d.yd.Cd;f.Hd;)h=f.Zd(h),f=f.Hd;for(;n.Hd;)d=n.Zd(d),n=n.Hd;return f===n&&h===d},clone:function(){this.yd.Cd||wb(this);if(this.yd.Xd)return this.yd.count.value+=1,this;var d=zb,f=Object,h=f.create,n=Object.getPrototypeOf(this),t=this.yd;d=d(h.call(f,n,{yd:{value:{count:t.count,Wd:t.Wd,Xd:t.Xd,Cd:t.Cd,Ed:t.Ed,Fd:t.Fd,Ld:t.Ld}}}));
|
|
143
|
+
d.yd.count.value+=1;d.yd.Wd=!1;return d},["delete"](){this.yd.Cd||wb(this);if(this.yd.Wd&&!this.yd.Xd)throw new N("Object already scheduled for deletion");yb(this);var d=this.yd;--d.count.value;0===d.count.value&&(d.Fd?d.Ld.Od(d.Fd):d.Ed.Bd.Od(d.Cd));this.yd.Xd||(this.yd.Fd=void 0,this.yd.Cd=void 0)},isDeleted:function(){return!this.yd.Cd},deleteLater:function(){this.yd.Cd||wb(this);if(this.yd.Wd&&!this.yd.Xd)throw new N("Object already scheduled for deletion");Ab.push(this);this.yd.Wd=!0;return this}});
|
|
144
|
+
const b=Symbol.dispose;b&&(a[b]=a["delete"])})();
|
|
145
|
+
Object.assign(Xb.prototype,{He(a){this.re&&(a=this.re(a));return a},ne(a){this.Od?.(a)},Id:8,readValueFromPointer:jb,fromWireType:function(a){function b(){return this.de?Wb(this.Bd.Td,{Ed:this.Ne,Cd:d,Ld:this,Fd:a}):Wb(this.Bd.Td,{Ed:this,Cd:a})}var d=this.He(a);if(!d)return this.ne(a),null;var f=Vb(this.Bd,d);if(void 0!==f){if(0===f.yd.count.value)return f.yd.Cd=d,f.yd.Fd=a,f.clone();f=f.clone();this.ne(a);return f}f=this.Bd.Ge(d);f=Db[f];if(!f)return b.call(this);f=this.ce?f.Be:f.pointerType;var h=
|
|
146
|
+
Tb(d,this.Bd,f.Bd);return null===h?b.call(this):this.de?Wb(f.Bd.Td,{Ed:f,Cd:h,Ld:this,Fd:a}):Wb(f.Bd.Td,{Ed:f,Cd:h})}});rc.push(0,1,void 0,1,null,1,!0,1,!1,1);r.count_emval_handles=()=>rc.length/2-5-jc.length;for(let a=0;32>a;++a)qd.push(Array(a));for(var Ld=new Float32Array(288),Md=0;288>=Md;++Md)Dd[Md]=Ld.subarray(0,Md);var Nd=new Int32Array(288);for(Md=0;288>=Md;++Md)Ed[Md]=Nd.subarray(0,Md);
|
|
147
|
+
var Yd={P:function(){return 0},ob:()=>{},qb:function(){return 0},lb:()=>{},mb:()=>{},Q:function(){},nb:()=>{},rb:()=>$a(""),v:a=>{var b=hb[a];delete hb[a];var d=b.le,f=b.Od,h=b.pe,n=h.map(t=>t.Ke).concat(h.map(t=>t.Re));rb([a],n,t=>{var l={};h.forEach((m,x)=>{var v=t[x],A=m.Ie,C=m.Je,U=t[x+h.length],R=m.Qe,G=m.Se;l[m.Fe]={read:Y=>v.fromWireType(A(C,Y)),write:(Y,Ca)=>{var Z=[];R(G,Y,U.toWireType(Z,Ca));ib(Z)},optional:t[x].optional}});return[{name:b.name,fromWireType:m=>{var x={},v;for(v in l)x[v]=
|
|
148
|
+
l[v].read(m);f(m);return x},toWireType:(m,x)=>{for(var v in l)if(!(v in x||l[v].optional))throw new TypeError(`Missing field: "${v}"`);var A=d();for(v in l)l[v].write(A,x[v]);null!==m&&m.push(f,A);return A},Id:8,readValueFromPointer:jb,Kd:f}]})},N:(a,b,d)=>{b=M(b);qb(a,{name:b,fromWireType:f=>f,toWireType:function(f,h){if("bigint"!=typeof h&&"number"!=typeof h)throw new TypeError(`Cannot convert "${sb(h)}" to ${this.name}`);"number"==typeof h&&(h=BigInt(h));return h},Id:8,readValueFromPointer:vb(b,
|
|
149
|
+
d,-1==b.indexOf("u")),Kd:null})},_a:(a,b,d,f)=>{b=M(b);qb(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,n){return n?d:f},Id:8,readValueFromPointer:function(h){return this.fromWireType(E[h])},Kd:null})},k:(a,b,d,f,h,n,t,l,m,x,v,A,C)=>{v=M(v);n=$b(h,n);l&&=$b(t,l);x&&=$b(m,x);C=$b(A,C);var U=Gb(v);Fb(U,function(){ec(`Cannot construct ${v} due to unbound types`,[f])});rb([a,b,d],f?[f]:[],R=>{R=R[0];if(f){var G=R.Bd;var Y=G.Td}else Y=Bb.prototype;R=Cb(v,function(...ha){if(Object.getPrototypeOf(this)!==
|
|
150
|
+
Ca)throw new N(`Use 'new' to construct ${v}`);if(void 0===Z.Qd)throw new N(`${v} has no accessible constructor`);var Qa=Z.Qd[ha.length];if(void 0===Qa)throw new N(`Tried to invoke ctor of ${v} with invalid number of parameters (${ha.length}) - expected (${Object.keys(Z.Qd).toString()}) parameters instead!`);return Qa.apply(this,ha)});var Ca=Object.create(Y,{constructor:{value:R}});R.prototype=Ca;var Z=new Hb(v,R,Ca,C,G,n,l,x);if(Z.Hd){var Da;(Da=Z.Hd).$d??(Da.$d=[]);Z.Hd.$d.push(Z)}G=new Xb(v,Z,!0,
|
|
151
|
+
!1,!1);Da=new Xb(v+"*",Z,!1,!1,!1);Y=new Xb(v+" const*",Z,!1,!0,!1);Db[a]={pointerType:Da,Be:Y};Yb(U,R);return[G,Da,Y]})},f:(a,b,d,f,h,n,t)=>{var l=hc(d,f);b=M(b);b=ic(b);n=$b(h,n);rb([],[a],m=>{function x(){ec(`Cannot call ${v} due to unbound types`,l)}m=m[0];var v=`${m.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var A=m.Bd.constructor;void 0===A[b]?(x.Pd=d-1,A[b]=x):(Eb(A,b,v),A[b].Gd[d-1]=x);rb([],l,C=>{C=[C[0],null].concat(C.slice(1));C=gc(v,C,null,n,t);void 0===A[b].Gd?(C.Pd=d-
|
|
152
|
+
1,A[b]=C):A[b].Gd[d-1]=C;if(m.Bd.$d)for(const U of m.Bd.$d)U.constructor.hasOwnProperty(b)||(U.constructor[b]=C);return[]});return[]})},s:(a,b,d,f,h,n)=>{var t=hc(b,d);h=$b(f,h);rb([],[a],l=>{l=l[0];var m=`constructor ${l.name}`;void 0===l.Bd.Qd&&(l.Bd.Qd=[]);if(void 0!==l.Bd.Qd[b-1])throw new N(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${l.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
|
|
153
|
+
l.Bd.Qd[b-1]=()=>{ec(`Cannot construct ${l.name} due to unbound types`,t)};rb([],t,x=>{x.splice(1,0,null);l.Bd.Qd[b-1]=gc(m,x,null,h,n);return[]});return[]})},a:(a,b,d,f,h,n,t,l)=>{var m=hc(d,f);b=M(b);b=ic(b);n=$b(h,n);rb([],[a],x=>{function v(){ec(`Cannot call ${A} due to unbound types`,m)}x=x[0];var A=`${x.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);l&&x.Bd.Oe.push(b);var C=x.Bd.Td,U=C[b];void 0===U||void 0===U.Gd&&U.className!==x.name&&U.Pd===d-2?(v.Pd=d-2,v.className=x.name,C[b]=
|
|
154
|
+
v):(Eb(C,b,A),C[b].Gd[d-2]=v);rb([],m,R=>{R=gc(A,R,x,n,t);void 0===C[b].Gd?(R.Pd=d-2,C[b]=R):C[b].Gd[d-2]=R;return[]});return[]})},o:(a,b,d)=>{a=M(a);rb([],[b],f=>{f=f[0];r[a]=f.fromWireType(d);return[]})},Ya:a=>qb(a,uc),i:(a,b,d,f)=>{function h(){}b=M(b);h.values={};qb(a,{name:b,constructor:h,fromWireType:function(n){return this.constructor.values[n]},toWireType:(n,t)=>t.value,Id:8,readValueFromPointer:vc(b,d,f),Kd:null});Fb(b,h)},b:(a,b,d)=>{var f=wc(a,"enum");b=M(b);a=f.constructor;f=Object.create(f.constructor.prototype,
|
|
155
|
+
{value:{value:d},constructor:{value:Cb(`${f.name}_${b}`,function(){})}});a.values[d]=f;a[b]=f},M:(a,b,d)=>{b=M(b);qb(a,{name:b,fromWireType:f=>f,toWireType:(f,h)=>h,Id:8,readValueFromPointer:xc(b,d),Kd:null})},r:(a,b,d,f,h,n)=>{var t=hc(b,d);a=M(a);a=ic(a);h=$b(f,h);Fb(a,function(){ec(`Cannot call ${a} due to unbound types`,t)},b-1);rb([],t,l=>{l=[l[0],null].concat(l.slice(1));Yb(a,gc(a,l,null,h,n),b-1);return[]})},x:(a,b,d,f,h)=>{b=M(b);-1===h&&(h=4294967295);h=l=>l;if(0===f){var n=32-8*d;h=l=>l<<
|
|
156
|
+
n>>>n}var t=b.includes("unsigned")?function(l,m){return m>>>0}:function(l,m){return m};qb(a,{name:b,fromWireType:h,toWireType:t,Id:8,readValueFromPointer:vb(b,d,0!==f),Kd:null})},n:(a,b,d)=>{function f(n){return new h(Ia.buffer,K[n+4>>2],K[n>>2])}var h=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];d=M(d);qb(a,{name:d,fromWireType:f,Id:8,readValueFromPointer:f},{Le:!0})},m:(a,b,d,f,h,n,t,l,m,x,v,A)=>{d=M(d);n=$b(h,n);
|
|
157
|
+
l=$b(t,l);x=$b(m,x);A=$b(v,A);rb([a],[b],C=>{C=C[0];return[new Xb(d,C.Bd,!1,!1,!0,C,f,n,l,x,A)]})},Za:(a,b)=>{b=M(b);qb(a,{name:b,fromWireType:function(d){for(var f=K[d>>2],h=d+4,n,t=h,l=0;l<=f;++l){var m=h+l;if(l==f||0==E[m])t=t?gb(E,t,m-t):"",void 0===n?n=t:(n+=String.fromCharCode(0),n+=t),t=m+1}cc(d);return n},toWireType:function(d,f){f instanceof ArrayBuffer&&(f=new Uint8Array(f));var h="string"==typeof f;if(!(h||ArrayBuffer.isView(f)&&1==f.BYTES_PER_ELEMENT))throw new N("Cannot pass non-string to std::string");
|
|
158
|
+
var n=h?qa(f):f.length;var t=wd(4+n+1),l=t+4;K[t>>2]=n;h?ra(f,l,n+1):E.set(f,l);null!==d&&d.push(cc,t);return t},Id:8,readValueFromPointer:jb,Kd(d){cc(d)}})},G:(a,b,d)=>{d=M(d);if(2===b){var f=zc;var h=Ac;var n=Bc;var t=l=>Ka[l>>1]}else 4===b&&(f=Cc,h=Dc,n=Ec,t=l=>K[l>>2]);qb(a,{name:d,fromWireType:l=>{for(var m=K[l>>2],x,v=l+4,A=0;A<=m;++A){var C=l+4+A*b;if(A==m||0==t(C))v=f(v,C-v),void 0===x?x=v:(x+=String.fromCharCode(0),x+=v),v=C+b}cc(l);return x},toWireType:(l,m)=>{if("string"!=typeof m)throw new N(`Cannot pass non-string to C++ string type ${d}`);
|
|
159
|
+
var x=n(m),v=wd(4+x+b);K[v>>2]=x/b;h(m,v+4,x+b);null!==l&&l.push(cc,v);return v},Id:8,readValueFromPointer:jb,Kd(l){cc(l)}})},w:(a,b,d,f,h,n)=>{hb[a]={name:M(b),le:$b(d,f),Od:$b(h,n),pe:[]}},e:(a,b,d,f,h,n,t,l,m,x)=>{hb[a].pe.push({Fe:M(b),Ke:d,Ie:$b(f,h),Je:n,Re:t,Qe:$b(l,m),Se:x})},$a:(a,b)=>{b=M(b);qb(a,{We:!0,name:b,Id:0,fromWireType:()=>{},toWireType:()=>{}})},db:()=>{throw Infinity;},t:(a,b,d)=>{a=tc(a);b=wc(b,"emval::as");return Fc(b,d,a)},D:(a,b,d,f)=>{a=Gc[a];b=tc(b);return a(null,b,d,f)},
|
|
160
|
+
p:(a,b,d,f,h)=>{a=Gc[a];b=tc(b);d=Ic(d);return a(b,b[d],f,h)},c:sc,E:a=>{if(0===a)return Rb(Jc());a=Ic(a);return Rb(Jc()[a])},l:(a,b,d)=>{var f=Lc(a,b),h=f.shift();a--;var n=Array(a);b=`methodCaller<(${f.map(t=>t.name).join(", ")}) => ${h.name}>`;return Kc(Cb(b,(t,l,m,x)=>{for(var v=0,A=0;A<a;++A)n[A]=f[A].readValueFromPointer(x+v),v+=f[A].Id;t=1===d?Mc(l,n):l.apply(t,n);return Fc(h,m,t)}))},q:(a,b)=>{a=tc(a);b=tc(b);return Rb(a[b])},B:a=>{9<a&&(rc[a+1]+=1)},y:()=>Rb([]),d:a=>Rb(Ic(a)),u:()=>Rb({}),
|
|
161
|
+
Xa:a=>{a=tc(a);return!a},j:a=>{var b=tc(a);ib(b);sc(a)},h:(a,b,d)=>{a=tc(a);b=tc(b);d=tc(d);a[b]=d},g:(a,b)=>{a=wc(a,"_emval_take_value");a=a.readValueFromPointer(b);return Rb(a)},gb:function(){return-52},hb:function(){},sb:(a,b,d,f)=>{var h=(new Date).getFullYear(),n=(new Date(h,0,1)).getTimezoneOffset();h=(new Date(h,6,1)).getTimezoneOffset();K[a>>2]=60*Math.max(n,h);H[b>>2]=Number(n!=h);b=t=>{var l=Math.abs(t);return`UTC${0<=t?"-":"+"}${String(Math.floor(l/60)).padStart(2,"0")}${String(l%60).padStart(2,
|
|
162
|
+
"0")}`};a=b(n);b=b(h);h<n?(ra(a,d,17),ra(b,f,17)):(ra(a,f,17),ra(b,d,17))},cb:function(a,b,d){if(!(0<=a&&3>=a))return 28;La[d>>3]=BigInt(Math.round(1E6*(0===a?Date.now():performance.now())));return 0},bd:a=>P.activeTexture(a),cd:(a,b)=>{P.attachShader(Tc[a],Wc[b])},Hb:(a,b)=>{P.beginQuery(a,Yc[b])},Bb:(a,b)=>{P.Nd.beginQueryEXT(a,Yc[b])},dd:(a,b,d)=>{P.bindAttribLocation(Tc[a],b,d?gb(E,d):"")},ed:(a,b)=>{35051==a?P.ie=b:35052==a&&(P.Sd=b);P.bindBuffer(a,Sc[b])},dc:kd,ec:(a,b)=>{P.bindRenderbuffer(a,
|
|
163
|
+
Vc[b])},Nb:(a,b)=>{P.bindSampler(a,Zc[b])},fd:(a,b)=>{P.bindTexture(a,ma[b])},zc:ld,Cc:ld,gd:(a,b,d,f)=>P.blendColor(a,b,d,f),hd:a=>P.blendEquation(a),id:(a,b)=>P.blendFunc(a,b),Zb:(a,b,d,f,h,n,t,l,m,x)=>P.blitFramebuffer(a,b,d,f,h,n,t,l,m,x),jd:(a,b,d,f)=>{2<=B.version?d&&b?P.bufferData(a,E,f,d,b):P.bufferData(a,b,f):P.bufferData(a,d?E.subarray(d,d+b):b,f)},kd:(a,b,d,f)=>{2<=B.version?d&&P.bufferSubData(a,b,E,f,d):P.bufferSubData(a,b,E.subarray(f,f+d))},fc:a=>P.checkFramebufferStatus(a),ld:md,md:nd,
|
|
164
|
+
U:od,Wb:(a,b,d)=>{d=Number(d);return P.clientWaitSync($c[a],b,d)},V:(a,b,d,f)=>{P.colorMask(!!a,!!b,!!d,!!f)},W:a=>{P.compileShader(Wc[a])},X:(a,b,d,f,h,n,t,l)=>{2<=B.version?P.Sd||!t?P.compressedTexImage2D(a,b,d,f,h,n,t,l):P.compressedTexImage2D(a,b,d,f,h,n,E,l,t):P.compressedTexImage2D(a,b,d,f,h,n,E.subarray(l,l+t))},Y:(a,b,d,f,h,n,t,l,m)=>{2<=B.version?P.Sd||!l?P.compressedTexSubImage2D(a,b,d,f,h,n,t,l,m):P.compressedTexSubImage2D(a,b,d,f,h,n,t,E,m,l):P.compressedTexSubImage2D(a,b,d,f,h,n,t,E.subarray(m,
|
|
165
|
+
m+l))},Yb:(a,b,d,f,h)=>P.copyBufferSubData(a,b,d,f,h),Z:(a,b,d,f,h,n,t,l)=>P.copyTexSubImage2D(a,b,d,f,h,n,t,l),_:()=>{var a=la(Tc),b=P.createProgram();b.name=a;b.ge=b.ee=b.fe=0;b.me=1;Tc[a]=b;return a},$:a=>{var b=la(Wc);Wc[b]=P.createShader(a);return b},aa:a=>P.cullFace(a),ba:(a,b)=>{for(var d=0;d<a;d++){var f=H[b+4*d>>2],h=Sc[f];h&&(P.deleteBuffer(h),h.name=0,Sc[f]=null,f==P.ie&&(P.ie=0),f==P.Sd&&(P.Sd=0))}},gc:(a,b)=>{for(var d=0;d<a;++d){var f=H[b+4*d>>2],h=Uc[f];h&&(P.deleteFramebuffer(h),h.name=
|
|
166
|
+
0,Uc[f]=null)}},ca:a=>{if(a){var b=Tc[a];b?(P.deleteProgram(b),b.name=0,Tc[a]=null):T||=1281}},Ib:(a,b)=>{for(var d=0;d<a;d++){var f=H[b+4*d>>2],h=Yc[f];h&&(P.deleteQuery(h),Yc[f]=null)}},Cb:(a,b)=>{for(var d=0;d<a;d++){var f=H[b+4*d>>2],h=Yc[f];h&&(P.Nd.deleteQueryEXT(h),Yc[f]=null)}},hc:(a,b)=>{for(var d=0;d<a;d++){var f=H[b+4*d>>2],h=Vc[f];h&&(P.deleteRenderbuffer(h),h.name=0,Vc[f]=null)}},Ob:(a,b)=>{for(var d=0;d<a;d++){var f=H[b+4*d>>2],h=Zc[f];h&&(P.deleteSampler(h),h.name=0,Zc[f]=null)}},da:a=>
|
|
167
|
+
{if(a){var b=Wc[a];b?(P.deleteShader(b),Wc[a]=null):T||=1281}},Xb:a=>{if(a){var b=$c[a];b?(P.deleteSync(b),b.name=0,$c[a]=null):T||=1281}},ea:(a,b)=>{for(var d=0;d<a;d++){var f=H[b+4*d>>2],h=ma[f];h&&(P.deleteTexture(h),h.name=0,ma[f]=null)}},Ac:pd,Dc:pd,fa:a=>{P.depthMask(!!a)},ga:a=>P.disable(a),ha:a=>{P.disableVertexAttribArray(a)},ia:(a,b,d)=>{P.drawArrays(a,b,d)},xc:(a,b,d,f)=>{P.drawArraysInstanced(a,b,d,f)},uc:(a,b,d,f,h)=>{P.oe.drawArraysInstancedBaseInstanceWEBGL(a,b,d,f,h)},sc:(a,b)=>{for(var d=
|
|
168
|
+
qd[a],f=0;f<a;f++)d[f]=H[b+4*f>>2];P.drawBuffers(d)},ja:(a,b,d,f)=>{P.drawElements(a,b,d,f)},yc:(a,b,d,f,h)=>{P.drawElementsInstanced(a,b,d,f,h)},vc:(a,b,d,f,h,n,t)=>{P.oe.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,d,f,h,n,t)},mc:(a,b,d,f,h,n)=>{P.drawElements(a,f,h,n)},ka:a=>P.enable(a),la:a=>{P.enableVertexAttribArray(a)},Jb:a=>P.endQuery(a),Db:a=>{P.Nd.endQueryEXT(a)},Tb:(a,b)=>(a=P.fenceSync(a,b))?(b=la($c),a.name=b,$c[b]=a,b):0,ma:()=>P.finish(),na:()=>P.flush(),ic:(a,b,d,f)=>{P.framebufferRenderbuffer(a,
|
|
169
|
+
b,d,Vc[f])},jc:(a,b,d,f,h)=>{P.framebufferTexture2D(a,b,d,ma[f],h)},oa:a=>P.frontFace(a),pa:(a,b)=>{ed(a,b,"createBuffer",Sc)},kc:(a,b)=>{ed(a,b,"createFramebuffer",Uc)},Kb:(a,b)=>{ed(a,b,"createQuery",Yc)},Eb:(a,b)=>{for(var d=0;d<a;d++){var f=P.Nd.createQueryEXT();if(!f){for(T||=1282;d<a;)H[b+4*d++>>2]=0;break}var h=la(Yc);f.name=h;Yc[h]=f;H[b+4*d>>2]=h}},lc:(a,b)=>{ed(a,b,"createRenderbuffer",Vc)},Pb:(a,b)=>{ed(a,b,"createSampler",Zc)},qa:(a,b)=>{ed(a,b,"createTexture",ma)},wc:rd,Ec:rd,$b:a=>P.generateMipmap(a),
|
|
170
|
+
ra:(a,b,d)=>{d?H[d>>2]=P.getBufferParameter(a,b):T||=1281},sa:()=>{var a=P.getError()||T;T=0;return a},ta:(a,b)=>td(a,b,2),ac:(a,b,d,f)=>{a=P.getFramebufferAttachmentParameter(a,b,d);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;H[f>>2]=a},ua:ud,va:(a,b,d,f)=>{a=P.getProgramInfoLog(Tc[a]);null===a&&(a="(unknown error)");b=0<b&&f?ra(a,f,b):0;d&&(H[d>>2]=b)},wa:(a,b,d)=>{if(d)if(a>=Rc)T||=1281;else if(a=Tc[a],35716==b)a=P.getProgramInfoLog(a),null===a&&(a="(unknown error)"),
|
|
171
|
+
H[d>>2]=a.length+1;else if(35719==b){if(!a.ge){var f=P.getProgramParameter(a,35718);for(b=0;b<f;++b)a.ge=Math.max(a.ge,P.getActiveUniform(a,b).name.length+1)}H[d>>2]=a.ge}else if(35722==b){if(!a.ee)for(f=P.getProgramParameter(a,35721),b=0;b<f;++b)a.ee=Math.max(a.ee,P.getActiveAttrib(a,b).name.length+1);H[d>>2]=a.ee}else if(35381==b){if(!a.fe)for(f=P.getProgramParameter(a,35382),b=0;b<f;++b)a.fe=Math.max(a.fe,P.getActiveUniformBlockName(a,b).length+1);H[d>>2]=a.fe}else H[d>>2]=P.getProgramParameter(a,
|
|
172
|
+
b);else T||=1281},yb:vd,zb:vd,Lb:(a,b,d)=>{if(d){a=P.getQueryParameter(Yc[a],b);var f;"boolean"==typeof a?f=a?1:0:f=a;H[d>>2]=f}else T||=1281},Fb:(a,b,d)=>{if(d){a=P.Nd.getQueryObjectEXT(Yc[a],b);var f;"boolean"==typeof a?f=a?1:0:f=a;H[d>>2]=f}else T||=1281},Mb:(a,b,d)=>{d?H[d>>2]=P.getQuery(a,b):T||=1281},Gb:(a,b,d)=>{d?H[d>>2]=P.Nd.getQueryEXT(a,b):T||=1281},bc:(a,b,d)=>{d?H[d>>2]=P.getRenderbufferParameter(a,b):T||=1281},xa:(a,b,d,f)=>{a=P.getShaderInfoLog(Wc[a]);null===a&&(a="(unknown error)");
|
|
173
|
+
b=0<b&&f?ra(a,f,b):0;d&&(H[d>>2]=b)},vb:(a,b,d,f)=>{a=P.getShaderPrecisionFormat(a,b);H[d>>2]=a.rangeMin;H[d+4>>2]=a.rangeMax;H[f>>2]=a.precision},ya:(a,b,d)=>{d?35716==b?(a=P.getShaderInfoLog(Wc[a]),null===a&&(a="(unknown error)"),H[d>>2]=a?a.length+1:0):35720==b?(a=P.getShaderSource(Wc[a]),H[d>>2]=a?a.length+1:0):H[d>>2]=P.getShaderParameter(Wc[a],b):T||=1281},za:yd,Bc:zd,Aa:(a,b)=>{b=b?gb(E,b):"";if(a=Tc[a]){var d=a,f=d.Yd,h=d.te,n;if(!f){d.Yd=f={};d.se={};var t=P.getProgramParameter(d,35718);
|
|
174
|
+
for(n=0;n<t;++n){var l=P.getActiveUniform(d,n);var m=l.name;l=l.size;var x=Ad(m);x=0<x?m.slice(0,x):m;var v=d.me;d.me+=l;h[x]=[l,v];for(m=0;m<l;++m)f[v]=m,d.se[v++]=x}}d=a.Yd;f=0;h=b;n=Ad(b);0<n&&(f=parseInt(b.slice(n+1))>>>0,h=b.slice(0,n));if((h=a.te[h])&&f<h[0]&&(f+=h[1],d[f]=d[f]||P.getUniformLocation(a,b)))return f}else T||=1281;return-1},wb:(a,b,d)=>{for(var f=qd[b],h=0;h<b;h++)f[h]=H[d+4*h>>2];P.invalidateFramebuffer(a,f)},xb:(a,b,d,f,h,n,t)=>{for(var l=qd[b],m=0;m<b;m++)l[m]=H[d+4*m>>2];P.invalidateSubFramebuffer(a,
|
|
175
|
+
l,f,h,n,t)},Ub:a=>P.isSync($c[a]),Ba:a=>(a=ma[a])?P.isTexture(a):0,Ca:a=>P.lineWidth(a),Da:a=>{a=Tc[a];P.linkProgram(a);a.Yd=0;a.te={}},qc:(a,b,d,f,h,n)=>{P.qe.multiDrawArraysInstancedBaseInstanceWEBGL(a,H,b>>2,H,d>>2,H,f>>2,K,h>>2,n)},rc:(a,b,d,f,h,n,t,l)=>{P.qe.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,H,b>>2,d,H,f>>2,H,h>>2,H,n>>2,K,t>>2,l)},Ea:(a,b)=>{3317==a?cd=b:3314==a&&(dd=b);P.pixelStorei(a,b)},Ab:(a,b)=>{P.Nd.queryCounterEXT(Yc[a],b)},tc:a=>P.readBuffer(a),Fa:(a,b,d,f,h,n,
|
|
176
|
+
t)=>{if(2<=B.version)if(P.ie)P.readPixels(a,b,d,f,h,n,t);else{var l=Bd(n);t>>>=31-Math.clz32(l.BYTES_PER_ELEMENT);P.readPixels(a,b,d,f,h,n,l,t)}else(l=Cd(n,h,d,f,t))?P.readPixels(a,b,d,f,h,n,l):T||=1280},cc:(a,b,d,f)=>P.renderbufferStorage(a,b,d,f),_b:(a,b,d,f,h)=>P.renderbufferStorageMultisample(a,b,d,f,h),Qb:(a,b,d)=>{P.samplerParameterf(Zc[a],b,d)},Rb:(a,b,d)=>{P.samplerParameteri(Zc[a],b,d)},Sb:(a,b,d)=>{P.samplerParameteri(Zc[a],b,H[d>>2])},Ga:(a,b,d,f)=>P.scissor(a,b,d,f),Ha:(a,b,d,f)=>{for(var h=
|
|
177
|
+
"",n=0;n<b;++n){var t=(t=K[d+4*n>>2])?gb(E,t,f?K[f+4*n>>2]:void 0):"";h+=t}P.shaderSource(Wc[a],h)},Ia:(a,b,d)=>P.stencilFunc(a,b,d),Ja:(a,b,d,f)=>P.stencilFuncSeparate(a,b,d,f),Ka:a=>P.stencilMask(a),La:(a,b)=>P.stencilMaskSeparate(a,b),Ma:(a,b,d)=>P.stencilOp(a,b,d),Na:(a,b,d,f)=>P.stencilOpSeparate(a,b,d,f),Oa:(a,b,d,f,h,n,t,l,m)=>{if(2<=B.version){if(P.Sd){P.texImage2D(a,b,d,f,h,n,t,l,m);return}if(m){var x=Bd(l);m>>>=31-Math.clz32(x.BYTES_PER_ELEMENT);P.texImage2D(a,b,d,f,h,n,t,l,x,m);return}}x=
|
|
178
|
+
m?Cd(l,t,f,h,m):null;P.texImage2D(a,b,d,f,h,n,t,l,x)},Pa:(a,b,d)=>P.texParameterf(a,b,d),Qa:(a,b,d)=>{P.texParameterf(a,b,L[d>>2])},Ra:(a,b,d)=>P.texParameteri(a,b,d),Sa:(a,b,d)=>{P.texParameteri(a,b,H[d>>2])},nc:(a,b,d,f,h)=>P.texStorage2D(a,b,d,f,h),Ta:(a,b,d,f,h,n,t,l,m)=>{if(2<=B.version){if(P.Sd){P.texSubImage2D(a,b,d,f,h,n,t,l,m);return}if(m){var x=Bd(l);P.texSubImage2D(a,b,d,f,h,n,t,l,x,m>>>31-Math.clz32(x.BYTES_PER_ELEMENT));return}}m=m?Cd(l,t,h,n,m):null;P.texSubImage2D(a,b,d,f,h,n,t,l,m)},
|
|
179
|
+
Ua:(a,b)=>{P.uniform1f(V(a),b)},Va:(a,b,d)=>{if(2<=B.version)b&&P.uniform1fv(V(a),L,d>>2,b);else{if(288>=b)for(var f=Dd[b],h=0;h<b;++h)f[h]=L[d+4*h>>2];else f=L.subarray(d>>2,d+4*b>>2);P.uniform1fv(V(a),f)}},Zc:(a,b)=>{P.uniform1i(V(a),b)},_c:(a,b,d)=>{if(2<=B.version)b&&P.uniform1iv(V(a),H,d>>2,b);else{if(288>=b)for(var f=Ed[b],h=0;h<b;++h)f[h]=H[d+4*h>>2];else f=H.subarray(d>>2,d+4*b>>2);P.uniform1iv(V(a),f)}},$c:(a,b,d)=>{P.uniform2f(V(a),b,d)},ad:(a,b,d)=>{if(2<=B.version)b&&P.uniform2fv(V(a),
|
|
180
|
+
L,d>>2,2*b);else{if(144>=b){b*=2;for(var f=Dd[b],h=0;h<b;h+=2)f[h]=L[d+4*h>>2],f[h+1]=L[d+(4*h+4)>>2]}else f=L.subarray(d>>2,d+8*b>>2);P.uniform2fv(V(a),f)}},Yc:(a,b,d)=>{P.uniform2i(V(a),b,d)},Xc:(a,b,d)=>{if(2<=B.version)b&&P.uniform2iv(V(a),H,d>>2,2*b);else{if(144>=b){b*=2;for(var f=Ed[b],h=0;h<b;h+=2)f[h]=H[d+4*h>>2],f[h+1]=H[d+(4*h+4)>>2]}else f=H.subarray(d>>2,d+8*b>>2);P.uniform2iv(V(a),f)}},Wc:(a,b,d,f)=>{P.uniform3f(V(a),b,d,f)},Vc:(a,b,d)=>{if(2<=B.version)b&&P.uniform3fv(V(a),L,d>>2,3*
|
|
181
|
+
b);else{if(96>=b){b*=3;for(var f=Dd[b],h=0;h<b;h+=3)f[h]=L[d+4*h>>2],f[h+1]=L[d+(4*h+4)>>2],f[h+2]=L[d+(4*h+8)>>2]}else f=L.subarray(d>>2,d+12*b>>2);P.uniform3fv(V(a),f)}},Uc:(a,b,d,f)=>{P.uniform3i(V(a),b,d,f)},Tc:(a,b,d)=>{if(2<=B.version)b&&P.uniform3iv(V(a),H,d>>2,3*b);else{if(96>=b){b*=3;for(var f=Ed[b],h=0;h<b;h+=3)f[h]=H[d+4*h>>2],f[h+1]=H[d+(4*h+4)>>2],f[h+2]=H[d+(4*h+8)>>2]}else f=H.subarray(d>>2,d+12*b>>2);P.uniform3iv(V(a),f)}},Sc:(a,b,d,f,h)=>{P.uniform4f(V(a),b,d,f,h)},Rc:(a,b,d)=>{if(2<=
|
|
182
|
+
B.version)b&&P.uniform4fv(V(a),L,d>>2,4*b);else{if(72>=b){var f=Dd[4*b],h=L;d>>=2;b*=4;for(var n=0;n<b;n+=4){var t=d+n;f[n]=h[t];f[n+1]=h[t+1];f[n+2]=h[t+2];f[n+3]=h[t+3]}}else f=L.subarray(d>>2,d+16*b>>2);P.uniform4fv(V(a),f)}},Fc:(a,b,d,f,h)=>{P.uniform4i(V(a),b,d,f,h)},Gc:(a,b,d)=>{if(2<=B.version)b&&P.uniform4iv(V(a),H,d>>2,4*b);else{if(72>=b){b*=4;for(var f=Ed[b],h=0;h<b;h+=4)f[h]=H[d+4*h>>2],f[h+1]=H[d+(4*h+4)>>2],f[h+2]=H[d+(4*h+8)>>2],f[h+3]=H[d+(4*h+12)>>2]}else f=H.subarray(d>>2,d+16*b>>
|
|
183
|
+
2);P.uniform4iv(V(a),f)}},Hc:(a,b,d,f)=>{if(2<=B.version)b&&P.uniformMatrix2fv(V(a),!!d,L,f>>2,4*b);else{if(72>=b){b*=4;for(var h=Dd[b],n=0;n<b;n+=4)h[n]=L[f+4*n>>2],h[n+1]=L[f+(4*n+4)>>2],h[n+2]=L[f+(4*n+8)>>2],h[n+3]=L[f+(4*n+12)>>2]}else h=L.subarray(f>>2,f+16*b>>2);P.uniformMatrix2fv(V(a),!!d,h)}},Ic:(a,b,d,f)=>{if(2<=B.version)b&&P.uniformMatrix3fv(V(a),!!d,L,f>>2,9*b);else{if(32>=b){b*=9;for(var h=Dd[b],n=0;n<b;n+=9)h[n]=L[f+4*n>>2],h[n+1]=L[f+(4*n+4)>>2],h[n+2]=L[f+(4*n+8)>>2],h[n+3]=L[f+(4*
|
|
184
|
+
n+12)>>2],h[n+4]=L[f+(4*n+16)>>2],h[n+5]=L[f+(4*n+20)>>2],h[n+6]=L[f+(4*n+24)>>2],h[n+7]=L[f+(4*n+28)>>2],h[n+8]=L[f+(4*n+32)>>2]}else h=L.subarray(f>>2,f+36*b>>2);P.uniformMatrix3fv(V(a),!!d,h)}},Jc:(a,b,d,f)=>{if(2<=B.version)b&&P.uniformMatrix4fv(V(a),!!d,L,f>>2,16*b);else{if(18>=b){var h=Dd[16*b],n=L;f>>=2;b*=16;for(var t=0;t<b;t+=16){var l=f+t;h[t]=n[l];h[t+1]=n[l+1];h[t+2]=n[l+2];h[t+3]=n[l+3];h[t+4]=n[l+4];h[t+5]=n[l+5];h[t+6]=n[l+6];h[t+7]=n[l+7];h[t+8]=n[l+8];h[t+9]=n[l+9];h[t+10]=n[l+10];
|
|
185
|
+
h[t+11]=n[l+11];h[t+12]=n[l+12];h[t+13]=n[l+13];h[t+14]=n[l+14];h[t+15]=n[l+15]}}else h=L.subarray(f>>2,f+64*b>>2);P.uniformMatrix4fv(V(a),!!d,h)}},Kc:a=>{a=Tc[a];P.useProgram(a);P.Ce=a},Lc:(a,b)=>P.vertexAttrib1f(a,b),Mc:(a,b)=>{P.vertexAttrib2f(a,L[b>>2],L[b+4>>2])},Nc:(a,b)=>{P.vertexAttrib3f(a,L[b>>2],L[b+4>>2],L[b+8>>2])},Oc:(a,b)=>{P.vertexAttrib4f(a,L[b>>2],L[b+4>>2],L[b+8>>2],L[b+12>>2])},oc:(a,b)=>{P.vertexAttribDivisor(a,b)},pc:(a,b,d,f,h)=>{P.vertexAttribIPointer(a,b,d,f,h)},Pc:(a,b,d,
|
|
186
|
+
f,h,n)=>{P.vertexAttribPointer(a,b,d,!!f,h,n)},Qc:(a,b,d,f)=>P.viewport(a,b,d,f),Vb:(a,b,d)=>{d=Number(d);P.waitSync($c[a],b,d)},eb:a=>{var b=E.length;a>>>=0;if(2147483648<a)return!1;for(var d=1;4>=d;d*=2){var f=b*(1+.2/d);f=Math.min(f,a+100663296);a:{f=(Math.min(2147483648,65536*Math.ceil(Math.max(a,f)/65536))-Fa.buffer.byteLength+65535)/65536|0;try{Fa.grow(f);Oa();var h=1;break a}catch(n){}h=void 0}if(h)return!0}return!1},ab:()=>B?B.handle:0,jb:(a,b)=>{var d=0,f=0,h;for(h of Hd()){var n=b+d;K[a+
|
|
187
|
+
f>>2]=n;d+=ra(h,n,Infinity)+1;f+=4}return 0},kb:(a,b)=>{var d=Hd();K[a>>2]=d.length;a=0;for(var f of d)a+=qa(f)+1;K[b>>2]=a;return 0},H:()=>52,fb:function(){return 52},pb:()=>52,ib:function(){return 70},O:(a,b,d,f)=>{for(var h=0,n=0;n<d;n++){var t=K[b>>2],l=K[b+4>>2];b+=8;for(var m=0;m<l;m++){var x=a,v=E[t+m],A=Id[x];0===v||10===v?((1===x?za:Ba)(gb(A)),A.length=0):A.push(v)}h+=l}K[f>>2]=h;return 0},od:kd,bb:md,nd,ub:od,F:ud,L:yd,Wa:zd,I:Od,J:Pd,S:Qd,T:Rd,tb:Sd,R:Td,z:Ud,A:Vd,C:Wd,K:Xd},Zd=await (async function(){Pa++;
|
|
188
|
+
var a={a:Yd};bb??=r.locateFile?r.locateFile("canvaskit.wasm",va):va+"canvaskit.wasm";try{return Zd=(await eb(a)).instance.exports,Fa=Zd.pd,Oa(),Zb=Zd.sd,Pa--,0==Pa&&Za&&(a=Za,Za=null,a()),Zd}catch(b){return ca(b),Promise.reject(b)}}()),bc=Zd.rd,wd=r._malloc=Zd.td,cc=r._free=Zd.ud,$d=Zd.vd,ae=Zd.wd,be=Zd.xd;function Xd(a,b,d,f,h){var n=be();try{Zb.get(a)(b,d,f,h)}catch(t){ae(n);if(t!==t+0)throw t;$d(1,0)}}
|
|
189
|
+
function Pd(a,b,d){var f=be();try{return Zb.get(a)(b,d)}catch(h){ae(f);if(h!==h+0)throw h;$d(1,0)}}function Rd(a,b,d,f,h){var n=be();try{return Zb.get(a)(b,d,f,h)}catch(t){ae(n);if(t!==t+0)throw t;$d(1,0)}}function Wd(a,b,d,f){var h=be();try{Zb.get(a)(b,d,f)}catch(n){ae(h);if(n!==n+0)throw n;$d(1,0)}}function Od(a,b){var d=be();try{return Zb.get(a)(b)}catch(f){ae(d);if(f!==f+0)throw f;$d(1,0)}}function Qd(a,b,d,f){var h=be();try{return Zb.get(a)(b,d,f)}catch(n){ae(h);if(n!==n+0)throw n;$d(1,0)}}
|
|
190
|
+
function Vd(a,b,d){var f=be();try{Zb.get(a)(b,d)}catch(h){ae(f);if(h!==h+0)throw h;$d(1,0)}}function Td(a,b,d,f,h,n,t,l,m,x){var v=be();try{return Zb.get(a)(b,d,f,h,n,t,l,m,x)}catch(A){ae(v);if(A!==A+0)throw A;$d(1,0)}}function Ud(a,b){var d=be();try{Zb.get(a)(b)}catch(f){ae(d);if(f!==f+0)throw f;$d(1,0)}}function Sd(a,b,d,f,h,n,t){var l=be();try{return Zb.get(a)(b,d,f,h,n,t)}catch(m){ae(l);if(m!==m+0)throw m;$d(1,0)}}
|
|
191
|
+
function ce(){0<Pa?Za=ce:0<Pa?Za=ce:(r.calledRun=!0,Ga||(Zd.qd(),ba(r),r.onRuntimeInitialized?.()))}ce();moduleRtn=ea;
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
return moduleRtn;
|
|
195
|
+
}
|
|
196
|
+
);
|
|
197
|
+
})();
|
|
198
|
+
if (typeof exports === 'object' && typeof module === 'object') {
|
|
199
|
+
module.exports = CanvasKitInit;
|
|
200
|
+
// This default export looks redundant, but it allows TS to import this
|
|
201
|
+
// commonjs style module.
|
|
202
|
+
module.exports.default = CanvasKitInit;
|
|
203
|
+
} else if (typeof define === 'function' && define['amd'])
|
|
204
|
+
define([], () => CanvasKitInit);
|
package/canvaskit.wasm
ADDED
|
Binary file
|