/**
 * Skipped minification because the original files appears to be already minified.
 * Original file: /npm/canvaskit-wasm@0.41.1/bin/canvaskit.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
var CanvasKitInit = (() => {
  var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
  if (typeof __filename != 'undefined') _scriptName = _scriptName || __filename;
  return (
async function(moduleArg = {}) {
  var moduleRtn;

var u=moduleArg,da,ha,ka=new Promise((a,b)=>{da=a;ha=b}),na="object"==typeof window,oa="undefined"!=typeof WorkerGlobalScope,pa="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&"renderer"!=process.type;
(function(a){a.Pd=a.Pd||[];a.Pd.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.Hd=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,
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.Hd=null,f.tf=b,f.pf=d,f.rf=h,f.Te=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.Id(this.Gd);this._flush();if(this.Hd){var d=new Uint8ClampedArray(a.HEAPU8.buffer,this.Te,this.rf);d=new ImageData(d,this.tf,this.pf);b?this.Hd.getContext("2d").putImageData(d,
0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.Hd.getContext("2d").putImageData(d,0,0)}};a.Surface.prototype.dispose=function(){this.Te&&a._free(this.Te);this.delete()};a.Id=a.Id||function(){};a.Ne=a.Ne||function(){return null}})})(u);
(function(a){a.Pd=a.Pd||[];a.Pd.push(function(){function b(m,q,w){return m&&m.hasOwnProperty(q)?m[q]:w}function d(m){var q=qa(ra);ra[q]=m;return q}function f(m){return m.naturalHeight||m.videoHeight||m.displayHeight||m.height}function h(m){return m.naturalWidth||m.videoWidth||m.displayWidth||m.width}function n(m,q,w,D){m.bindTexture(m.TEXTURE_2D,q);D||w.alphaType!==a.AlphaType.Premul||m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);return q}function v(m,q,w){w||q.alphaType!==a.AlphaType.Premul||
m.pixelStorei(m.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1);m.bindTexture(m.TEXTURE_2D,null)}a.GetWebGLContext=function(m,q){if(!m)throw"null canvas passed into makeWebGLContext";var w={alpha:b(q,"alpha",1),depth:b(q,"depth",1),stencil:b(q,"stencil",8),antialias:b(q,"antialias",0),premultipliedAlpha:b(q,"premultipliedAlpha",1),preserveDrawingBuffer:b(q,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(q,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(q,"failIfMajorPerformanceCaveat",
0),enableExtensionsByDefault:b(q,"enableExtensionsByDefault",1),explicitSwapControl:b(q,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(q,"renderViaOffscreenBackBuffer",0)};w.majorVersion=q&&q.majorVersion?q.majorVersion:"undefined"!==typeof WebGL2RenderingContext?2:1;if(w.explicitSwapControl)throw"explicitSwapControl is not supported";m=sa(m,w);if(!m)return 0;ta(m);I.ce.getExtension("WEBGL_debug_renderer_info");return m};a.deleteContext=function(m){I===za[m]&&(I=null);"object"==typeof JSEvents&&
JSEvents.bg(za[m].ce.canvas);za[m]?.ce.canvas&&(za[m].ce.canvas.mf=void 0);za[m]=null};a._setTextureCleanup({deleteTexture:function(m,q){var w=ra[q];w&&za[m].ce.deleteTexture(w);ra[q]=null}});a.MakeWebGLContext=function(m){if(!this.Id(m))return null;var q=this._MakeGrContext();if(!q)return null;q.Gd=m;var w=q.delete.bind(q);q["delete"]=function(){a.Id(this.Gd);w()}.bind(q);return I.Xe=q};a.MakeGrContext=a.MakeWebGLContext;a.GrDirectContext.prototype.getResourceCacheLimitBytes=function(){a.Id(this.Gd);
this._getResourceCacheLimitBytes()};a.GrDirectContext.prototype.getResourceCacheUsageBytes=function(){a.Id(this.Gd);this._getResourceCacheUsageBytes()};a.GrDirectContext.prototype.releaseResourcesAndAbandonContext=function(){a.Id(this.Gd);this._releaseResourcesAndAbandonContext()};a.GrDirectContext.prototype.setResourceCacheLimitBytes=function(m){a.Id(this.Gd);this._setResourceCacheLimitBytes(m)};a.MakeOnScreenGLSurface=function(m,q,w,D,G,K){if(!this.Id(m.Gd))return null;q=void 0===G||void 0===K?
this._MakeOnScreenGLSurface(m,q,w,D):this._MakeOnScreenGLSurface(m,q,w,D,G,K);if(!q)return null;q.Gd=m.Gd;return q};a.MakeRenderTarget=function(){var m=arguments[0];if(!this.Id(m.Gd))return null;if(3===arguments.length){var q=this._MakeRenderTargetWH(m,arguments[1],arguments[2]);if(!q)return null}else if(2===arguments.length){if(q=this._MakeRenderTargetII(m,arguments[1]),!q)return null}else return null;q.Gd=m.Gd;return q};a.MakeWebGLCanvasSurface=function(m,q,w){q=q||null;var D=m,G="undefined"!==
typeof OffscreenCanvas&&D instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&D instanceof HTMLCanvasElement||G||(D=document.getElementById(m),D)))throw"Canvas with id "+m+" was not found";m=this.GetWebGLContext(D,w);if(!m||0>m)throw"failed to create webgl context: err "+m;m=this.MakeWebGLContext(m);q=this.MakeOnScreenGLSurface(m,D.width,D.height,q);return q?q:(q=D.cloneNode(!0),D.parentNode.replaceChild(q,D),q.classList.add("ck-replaced"),a.MakeSWCanvasSurface(q))};a.MakeCanvasSurface=
a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(m,q){a.Id(this.Gd);m=d(m);if(q=this._makeImageFromTexture(this.Gd,m,q))q.Ee=m;return q};a.Surface.prototype.makeImageFromTextureSource=function(m,q,w){q||={height:f(m),width:h(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul};q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);a.Id(this.Gd);var D=I.ce;w=n(D,D.createTexture(),q,w);2===I.version?D.texImage2D(D.TEXTURE_2D,0,D.RGBA,q.width,q.height,
0,D.RGBA,D.UNSIGNED_BYTE,m):D.texImage2D(D.TEXTURE_2D,0,D.RGBA,D.RGBA,D.UNSIGNED_BYTE,m);v(D,q);this._resetContext();return this.makeImageFromTexture(w,q)};a.Surface.prototype.updateTextureFromSource=function(m,q,w){if(m.Ee){a.Id(this.Gd);var D=m.getImageInfo(),G=I.ce,K=n(G,ra[m.Ee],D,w);2===I.version?G.texImage2D(G.TEXTURE_2D,0,G.RGBA,h(q),f(q),0,G.RGBA,G.UNSIGNED_BYTE,q):G.texImage2D(G.TEXTURE_2D,0,G.RGBA,G.RGBA,G.UNSIGNED_BYTE,q);v(G,D,w);this._resetContext();ra[m.Ee]=null;m.Ee=d(K);D.colorSpace=
m.getColorSpace();q=this._makeImageFromTexture(this.Gd,m.Ee,D);w=m.Fd.Md;G=m.Fd.Rd;m.Fd.Md=q.Fd.Md;m.Fd.Rd=q.Fd.Rd;q.Fd.Md=w;q.Fd.Rd=G;q.delete();D.colorSpace.delete()}};a.MakeLazyImageFromTextureSource=function(m,q,w){q||={height:f(m),width:h(m),colorType:a.ColorType.RGBA_8888,alphaType:w?a.AlphaType.Premul:a.AlphaType.Unpremul};q.colorSpace||(q.colorSpace=a.ColorSpace.SRGB);var D={makeTexture:function(){var G=I,K=G.ce,Y=n(K,K.createTexture(),q,w);2===G.version?K.texImage2D(K.TEXTURE_2D,0,K.RGBA,
q.width,q.height,0,K.RGBA,K.UNSIGNED_BYTE,m):K.texImage2D(K.TEXTURE_2D,0,K.RGBA,K.RGBA,K.UNSIGNED_BYTE,m);v(K,q,w);return d(Y)},freeSrc:function(){}};"VideoFrame"===m.constructor.name&&(D.freeSrc=function(){m.close()});return a.Image._makeFromGenerator(q,D)};a.Id=function(m){return m?ta(m):!1};a.Ne=function(){return I&&I.Xe&&!I.Xe.isDeleted()?I.Xe:null}})})(u);
(function(a){function b(e,c,g,l,t){for(var x=0;x<e.length;x++)c[x*g+(x*t+l+g)%g]=e[x];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 e?e.constructor===Float32Array&&4===e.length:!1}function h(e){return(m(255*e[3])<<24|m(255*e[0])<<16|m(255*e[1])<<8|m(255*e[2])<<0)>>>0}function n(e){if(e&&e._ck)return e;if(e instanceof Float32Array){for(var c=Math.floor(e.length/4),g=new Uint32Array(c),l=0;l<c;l++)g[l]=h(e.slice(4*l,4*(l+1)));return g}if(e instanceof
Uint32Array)return e;if(e instanceof Array&&e[0]instanceof Float32Array)return e.map(h)}function v(e){if(void 0===e)return 1;var c=parseFloat(e);return e&&-1!==e.indexOf("%")?c/100:c}function m(e){return Math.round(Math.max(0,Math.min(e||0,255)))}function q(e,c){c&&c._ck||a._free(e)}function w(e,c,g){if(!e||!e.length)return Q;if(e&&e._ck)return e.byteOffset;var l=a[c].BYTES_PER_ELEMENT;g||=a._malloc(e.length*l);a[c].set(e,g/l);return g}function D(e){var c={Zd:Q,count:e.length,colorType:a.ColorType.RGBA_F32};
if(e instanceof Float32Array)c.Zd=w(e,"HEAPF32"),c.count=e.length/4;else if(e instanceof Uint32Array)c.Zd=w(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),l=0,t=g/4,x=0;x<e.length;x++)for(var A=0;4>A;A++)a.HEAPF32[t+l]=e[x][A],l++;e=g}else e=Q;c.Zd=e}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof e;return c}function G(e){if(!e)return Q;var c=Mb.toTypedArray();if(e.length){if(6===e.length||
9===e.length)return w(e,"HEAPF32",xa),6===e.length&&a.HEAPF32.set(jd,6+xa/4),xa;if(16===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],xa;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 xa}function K(e){if(!e)return Q;var c=Nb.toTypedArray();if(e.length){if(16!==e.length&&6!==e.length&&9!==e.length)throw"invalid matrix size";
if(16===e.length)return w(e,"HEAPF32",Za);c.fill(0);c[0]=e[0];c[1]=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 Za}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 Za}function Y(e,c){return w(e,"HEAPF32",c||Qa)}function ea(e,
c,g,l){var t=Ob.toTypedArray();t[0]=e;t[1]=c;t[2]=g;t[3]=l;return Qa}function fa(e){for(var c=new Float32Array(4),g=0;4>g;g++)c[g]=a.HEAPF32[e/4+g];return c}function S(e,c){return w(e,"HEAPF32",c||ia)}function ya(e,c){return w(e,"HEAPF32",c||Pb)}function ma(){for(var e=0,c=0;c<arguments.length-1;c+=2)e+=arguments[c]*arguments[c+1];return e}function Ma(e,c,g){for(var l=Array(e.length),t=0;t<g;t++)for(var x=0;x<g;x++){for(var A=0,H=0;H<g;H++)A+=e[g*t+H]*c[g*H+x];l[t*g+x]=A}return l}function $a(e,c){for(var g=
Ma(c[0],c[1],e),l=2;l<c.length;)g=Ma(g,c[l],e),l++;return g}a.Color=function(e,c,g,l){void 0===l&&(l=1);return a.Color4f(m(e)/255,m(c)/255,m(g)/255,l)};a.ColorAsInt=function(e,c,g,l){void 0===l&&(l=255);return(m(l)<<24|m(e)<<16|m(c)<<8|m(g)<<0&268435455)>>>0};a.Color4f=function(e,c,g,l){void 0===l&&(l=1);return Float32Array.of(e,c,g,l)};Object.defineProperty(a,"TRANSPARENT",{get:function(){return a.Color4f(0,0,0,0)}});Object.defineProperty(a,"BLACK",{get:function(){return a.Color4f(0,0,0,1)}});Object.defineProperty(a,
"WHITE",{get:function(){return a.Color4f(1,1,1,1)}});Object.defineProperty(a,"RED",{get:function(){return a.Color4f(1,0,0,1)}});Object.defineProperty(a,"GREEN",{get:function(){return a.Color4f(0,1,0,1)}});Object.defineProperty(a,"BLUE",{get:function(){return a.Color4f(0,0,1,1)}});Object.defineProperty(a,"YELLOW",{get:function(){return a.Color4f(1,1,0,1)}});Object.defineProperty(a,"CYAN",{get:function(){return a.Color4f(0,1,1,1)}});Object.defineProperty(a,"MAGENTA",{get:function(){return a.Color4f(1,
0,1,1)}});a.getColorComponents=function(e){return[Math.floor(255*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 l=parseInt(e.slice(3,5),16);var t=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),l=17*parseInt(e.slice(2,3),16),t=17*parseInt(e.slice(3,4),16)}return a.Color(g,
l,t,c/255)}return e.startsWith("rgba")?(e=e.slice(5,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],v(e[3]))):e.startsWith("rgb")?(e=e.slice(4,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],v(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,me:null,subarray:function(l,t){l=this.toTypedArray().subarray(l,
t);l._ck=!0;return l},toTypedArray:function(){if(this.me&&this.me.length)return this.me;this.me=new e(a.HEAPU8.buffer,g,c);this.me._ck=!0;return this.me}}};a.Free=function(e){a._free(e.byteOffset);e.byteOffset=Q;e.toTypedArray=null;e.me=null};var xa=Q,Mb,Za=Q,Nb,Qa=Q,Ob,ua,ia=Q,nc,Na=Q,oc,Qb=Q,pc,Rb=Q,ob,db=Q,qc,Pb=Q,rc,sc=Q,jd=Float32Array.of(0,0,1),Q=0;a.onRuntimeInitialized=function(){function e(c,g,l,t,x,A,H){A||(A=4*t.width,t.colorType===a.ColorType.RGBA_F16?A*=2:t.colorType===a.ColorType.RGBA_F32&&
(A*=4));var L=A*t.height;var M=x?x.byteOffset:a._malloc(L);if(H?!c._readPixels(t,M,A,g,l,H):!c._readPixels(t,M,A,g,l))return x||a._free(M),null;if(x)return x.toTypedArray();switch(t.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:c=(new Uint8Array(a.HEAPU8.buffer,M,L)).slice();break;case a.ColorType.RGBA_F32:c=(new Float32Array(a.HEAPU8.buffer,M,L)).slice();break;default:return null}a._free(M);return c}Ob=a.Malloc(Float32Array,4);Qa=Ob.byteOffset;Nb=a.Malloc(Float32Array,16);Za=Nb.byteOffset;
Mb=a.Malloc(Float32Array,9);xa=Mb.byteOffset;qc=a.Malloc(Float32Array,12);Pb=qc.byteOffset;rc=a.Malloc(Float32Array,12);sc=rc.byteOffset;ua=a.Malloc(Float32Array,4);ia=ua.byteOffset;nc=a.Malloc(Float32Array,4);Na=nc.byteOffset;oc=a.Malloc(Float32Array,3);Qb=oc.byteOffset;pc=a.Malloc(Float32Array,3);Rb=pc.byteOffset;ob=a.Malloc(Int32Array,4);db=ob.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();
a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};a.Path.MakeFromCmds=function(c){var g=w(c,"HEAPF32"),l=a.Path._MakeFromCmds(g,c.length);q(g,c);return l};a.Path.MakeFromVerbsPointsWeights=function(c,g,l){var t=w(c,"HEAPU8"),x=w(g,"HEAPF32"),A=w(l,"HEAPF32"),H=a.Path._MakeFromVerbsPointsWeights(t,c.length,x,g.length/2,A,l&&l.length||0);q(t,c);q(x,g);q(A,l);return H};a.PathBuilder.prototype.addArc=function(c,g,l){c=S(c);this._addArc(c,g,l);return this};a.PathBuilder.prototype.addCircle=
function(c,g,l,t){this._addCircle(c,g,l,!!t);return this};a.PathBuilder.prototype.addOval=function(c,g,l){void 0===l&&(l=1);c=S(c);this._addOval(c,!!g,l);return this};a.PathBuilder.prototype.addPath=function(){var c=Array.prototype.slice.call(arguments),g=c[0],l=!1;"boolean"===typeof c[c.length-1]&&(l=c.pop());if(1===c.length)this._addPath(g,1,0,0,0,1,0,0,0,1,l);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,l);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,l);else return null;return this};a.PathBuilder.prototype.addPolygon=function(c,g){var l=w(c,"HEAPF32");this._addPolygon(l,c.length/2,g);q(l,c);return this};a.PathBuilder.prototype.addRect=function(c,g){c=S(c);this._addRect(c,!!g);return this};a.PathBuilder.prototype.addRRect=function(c,g){c=ya(c);this._addRRect(c,!!g);return this};a.PathBuilder.prototype.addVerbsPointsWeights=function(c,g,l){var t=w(c,"HEAPU8"),x=w(g,"HEAPF32"),A=w(l,"HEAPF32");
this._addVerbsPointsWeights(t,c.length,x,g.length/2,A,l&&l.length||0);q(t,c);q(x,g);q(A,l);return this};a.PathBuilder.prototype.arc=function(c,g,l,t,x,A){c=a.LTRBRect(c-l,g-l,c+l,g+l);x=(x-t)/Math.PI*180-360*!!A;t=(new a.PathBuilder).addArc(c,t/Math.PI*180,x).detachAndDelete();this.addPath(t,!0);t.delete();return this};a.PathBuilder.prototype.arcToOval=function(c,g,l,t){c=S(c);this._arcToOval(c,g,l,t);return this};a.PathBuilder.prototype.arcToRotated=function(c,g,l,t,x,A,H){this._arcToRotated(c,g,
l,!!t,!!x,A,H);return this};a.PathBuilder.prototype.arcToTangent=function(c,g,l,t,x){this._arcToTangent(c,g,l,t,x);return this};a.PathBuilder.prototype.close=function(){this._close();return this};a.PathBuilder.prototype.conicTo=function(c,g,l,t,x){this._conicTo(c,g,l,t,x);return this};a.Path.prototype.computeTightBounds=function(c){this._computeTightBounds(ia);var g=ua.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.cubicTo=function(c,g,l,t,x,A){this._cubicTo(c,g,l,t,x,A);
return this};a.PathBuilder.prototype.detachAndDelete=function(){var c=this.detach();this.delete();return c};a.Path.prototype.getBounds=function(c){this._getBounds(ia);var g=ua.toTypedArray();return c?(c.set(g),c):g.slice()};a.PathBuilder.prototype.getBounds=function(c){this._getBounds(ia);var g=ua.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};a.PathBuilder.prototype.quadTo=function(c,g,l,t){this._quadTo(c,g,l,t);return this};a.PathBuilder.prototype.rArcTo=function(c,g,l,t,x,A,H){this._rArcTo(c,g,l,t,x,A,H);return this};a.PathBuilder.prototype.rConicTo=function(c,g,l,t,x){this._rConicTo(c,g,l,t,x);return this};a.PathBuilder.prototype.rCubicTo=function(c,g,l,t,x,A){this._rCubicTo(c,g,l,t,x,A);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,g);return this};a.PathBuilder.prototype.rQuadTo=function(c,g,l,t){this._rQuadTo(c,g,l,t);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||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,l){return this._makeTrimmed(c,g,!!l)};a.Image.prototype.encodeToBytes=function(c,g){var l=a.Ne();c=c||a.ImageFormat.PNG;g=g||100;return l?this._encodeToBytes(c,g,l):this._encodeToBytes(c,g)};a.Image.prototype.makeShaderCubic=
function(c,g,l,t,x){x=G(x);return this._makeShaderCubic(c,g,l,t,x)};a.Image.prototype.makeShaderOptions=function(c,g,l,t,x){x=G(x);return this._makeShaderOptions(c,g,l,t,x)};a.Image.prototype.readPixels=function(c,g,l,t,x){var A=a.Ne();return e(this,c,g,l,t,x,A)};a.Canvas.prototype.clear=function(c){a.Id(this.Gd);c=Y(c);this._clear(c)};a.Canvas.prototype.clipRRect=function(c,g,l){a.Id(this.Gd);c=ya(c);this._clipRRect(c,g,l)};a.Canvas.prototype.clipRect=function(c,g,l){a.Id(this.Gd);c=S(c);this._clipRect(c,
g,l)};a.Canvas.prototype.concat=function(c){a.Id(this.Gd);c=K(c);this._concat(c)};a.Canvas.prototype.drawArc=function(c,g,l,t,x){a.Id(this.Gd);c=S(c);this._drawArc(c,g,l,t,x)};a.Canvas.prototype.drawAtlas=function(c,g,l,t,x,A,H){if(c&&t&&g&&l&&g.length===l.length){a.Id(this.Gd);x||(x=a.BlendMode.SrcOver);var L=w(g,"HEAPF32"),M=w(l,"HEAPF32"),V=l.length/4,X=w(n(A),"HEAPU32");if(H&&"B"in H&&"C"in H)this._drawAtlasCubic(c,M,L,X,V,x,H.B,H.C,t);else{let r=a.FilterMode.Linear,C=a.MipmapMode.None;H&&(r=
H.filter,"mipmap"in H&&(C=H.mipmap));this._drawAtlasOptions(c,M,L,X,V,x,r,C,t)}q(L,g);q(M,l);q(X,A)}};a.Canvas.prototype.drawCircle=function(c,g,l,t){a.Id(this.Gd);this._drawCircle(c,g,l,t)};a.Canvas.prototype.drawColor=function(c,g){a.Id(this.Gd);c=Y(c);void 0!==g?this._drawColor(c,g):this._drawColor(c)};a.Canvas.prototype.drawColorInt=function(c,g){a.Id(this.Gd);this._drawColorInt(c,g||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=function(c,g,l,t,x){a.Id(this.Gd);c=ea(c,g,l,t);void 0!==
x?this._drawColor(c,x):this._drawColor(c)};a.Canvas.prototype.drawDRRect=function(c,g,l){a.Id(this.Gd);c=ya(c,Pb);g=ya(g,sc);this._drawDRRect(c,g,l)};a.Canvas.prototype.drawImage=function(c,g,l,t){a.Id(this.Gd);this._drawImage(c,g,l,t||null)};a.Canvas.prototype.drawImageCubic=function(c,g,l,t,x,A){a.Id(this.Gd);this._drawImageCubic(c,g,l,t,x,A||null)};a.Canvas.prototype.drawImageOptions=function(c,g,l,t,x,A){a.Id(this.Gd);this._drawImageOptions(c,g,l,t,x,A||null)};a.Canvas.prototype.drawImageNine=
function(c,g,l,t,x){a.Id(this.Gd);g=w(g,"HEAP32",db);l=S(l);this._drawImageNine(c,g,l,t,x||null)};a.Canvas.prototype.drawImageRect=function(c,g,l,t,x){a.Id(this.Gd);S(g,ia);S(l,Na);this._drawImageRect(c,ia,Na,t,!!x)};a.Canvas.prototype.drawImageRectCubic=function(c,g,l,t,x,A){a.Id(this.Gd);S(g,ia);S(l,Na);this._drawImageRectCubic(c,ia,Na,t,x,A||null)};a.Canvas.prototype.drawImageRectOptions=function(c,g,l,t,x,A){a.Id(this.Gd);S(g,ia);S(l,Na);this._drawImageRectOptions(c,ia,Na,t,x,A||null)};a.Canvas.prototype.drawLine=
function(c,g,l,t,x){a.Id(this.Gd);this._drawLine(c,g,l,t,x)};a.Canvas.prototype.drawOval=function(c,g){a.Id(this.Gd);c=S(c);this._drawOval(c,g)};a.Canvas.prototype.drawPaint=function(c){a.Id(this.Gd);this._drawPaint(c)};a.Canvas.prototype.drawParagraph=function(c,g,l){a.Id(this.Gd);this._drawParagraph(c,g,l)};a.Canvas.prototype.drawPatch=function(c,g,l,t,x){if(24>c.length)throw"Need 12 cubic points";if(g&&4>g.length)throw"Need 4 colors";if(l&&8>l.length)throw"Need 4 shader coordinates";a.Id(this.Gd);
const A=w(c,"HEAPF32"),H=g?w(n(g),"HEAPU32"):Q,L=l?w(l,"HEAPF32"):Q;t||(t=a.BlendMode.Modulate);this._drawPatch(A,H,L,t,x);q(L,l);q(H,g);q(A,c)};a.Canvas.prototype.drawPath=function(c,g){a.Id(this.Gd);this._drawPath(c,g)};a.Canvas.prototype.drawPicture=function(c){a.Id(this.Gd);this._drawPicture(c)};a.Canvas.prototype.drawPoints=function(c,g,l){a.Id(this.Gd);var t=w(g,"HEAPF32");this._drawPoints(c,t,g.length/2,l);q(t,g)};a.Canvas.prototype.drawRRect=function(c,g){a.Id(this.Gd);c=ya(c);this._drawRRect(c,
g)};a.Canvas.prototype.drawRect=function(c,g){a.Id(this.Gd);c=S(c);this._drawRect(c,g)};a.Canvas.prototype.drawRect4f=function(c,g,l,t,x){a.Id(this.Gd);this._drawRect4f(c,g,l,t,x)};a.Canvas.prototype.drawShadow=function(c,g,l,t,x,A,H){a.Id(this.Gd);var L=w(x,"HEAPF32"),M=w(A,"HEAPF32");g=w(g,"HEAPF32",Qb);l=w(l,"HEAPF32",Rb);this._drawShadow(c,g,l,t,L,M,H);q(L,x);q(M,A)};a.getShadowLocalBounds=function(c,g,l,t,x,A,H){c=G(c);l=w(l,"HEAPF32",Qb);t=w(t,"HEAPF32",Rb);if(!this._getShadowLocalBounds(c,
g,l,t,x,A,ia))return null;g=ua.toTypedArray();return H?(H.set(g),H):g.slice()};a.Canvas.prototype.drawTextBlob=function(c,g,l,t){a.Id(this.Gd);this._drawTextBlob(c,g,l,t)};a.Canvas.prototype.drawVertices=function(c,g,l){a.Id(this.Gd);this._drawVertices(c,g,l)};a.Canvas.prototype.getDeviceClipBounds=function(c){this._getDeviceClipBounds(db);var g=ob.toTypedArray();c?c.set(g):c=g.slice();return c};a.Canvas.prototype.quickReject=function(c){c=S(c);return this._quickReject(c)};a.Canvas.prototype.getLocalToDevice=
function(){this._getLocalToDevice(Za);for(var c=Za,g=Array(16),l=0;16>l;l++)g[l]=a.HEAPF32[c/4+l];return g};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(xa);for(var c=Array(9),g=0;9>g;g++)c[g]=a.HEAPF32[xa/4+g];return c};a.Canvas.prototype.makeSurface=function(c){c=this._makeSurface(c);c.Gd=this.Gd;return c};a.Canvas.prototype.readPixels=function(c,g,l,t,x){a.Id(this.Gd);return e(this,c,g,l,t,x)};a.Canvas.prototype.saveLayer=function(c,g,l,t,x){g=S(g);return this._saveLayer(c||
null,g,l||null,t||0,x||a.TileMode.Clamp)};a.Canvas.prototype.writePixels=function(c,g,l,t,x,A,H,L){if(c.byteLength%(g*l))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Id(this.Gd);var M=c.byteLength/(g*l);A=A||a.AlphaType.Unpremul;H=H||a.ColorType.RGBA_8888;L=L||a.ColorSpace.SRGB;var V=M*g;M=w(c,"HEAPU8");g=this._writePixels({width:g,height:l,colorType:H,alphaType:A,colorSpace:L},M,V,t,x);q(M,c);return g};a.ColorFilter.MakeBlend=function(c,g,l){c=Y(c);l=l||a.ColorSpace.SRGB;
return a.ColorFilter._MakeBlend(c,g,l)};a.ColorFilter.MakeMatrix=function(c){if(!c||20!==c.length)throw"invalid color matrix";var g=w(c,"HEAPF32"),l=a.ColorFilter._makeMatrix(g);q(g,c);return l};a.ContourMeasure.prototype.getPosTan=function(c,g){this._getPosTan(c,ia);c=ua.toTypedArray();return g?(g.set(c),g):c.slice()};a.ImageFilter.prototype.getOutputBounds=function(c,g,l){c=S(c,ia);g=G(g);this._getOutputBounds(c,g,db);g=ob.toTypedArray();return l?(l.set(g),l):g.slice()};a.ImageFilter.MakeDropShadow=
function(c,g,l,t,x,A){x=Y(x,Qa);return a.ImageFilter._MakeDropShadow(c,g,l,t,x,A)};a.ImageFilter.MakeDropShadowOnly=function(c,g,l,t,x,A){x=Y(x,Qa);return a.ImageFilter._MakeDropShadowOnly(c,g,l,t,x,A)};a.ImageFilter.MakeImage=function(c,g,l,t){l=S(l,ia);t=S(t,Na);if("B"in g&&"C"in g)return a.ImageFilter._MakeImageCubic(c,g.B,g.C,l,t);const x=g.filter;let A=a.MipmapMode.None;"mipmap"in g&&(A=g.mipmap);return a.ImageFilter._MakeImageOptions(c,x,A,l,t)};a.ImageFilter.MakeMatrixTransform=function(c,
g,l){c=G(c);if("B"in g&&"C"in g)return a.ImageFilter._MakeMatrixTransformCubic(c,g.B,g.C,l);const t=g.filter;let x=a.MipmapMode.None;"mipmap"in g&&(x=g.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(c,t,x,l)};a.Paint.prototype.getColor=function(){this._getColor(Qa);return fa(Qa)};a.Paint.prototype.setColor=function(c,g){g=g||null;c=Y(c);this._setColor(c,g)};a.Paint.prototype.setColorComponents=function(c,g,l,t,x){x=x||null;c=ea(c,g,l,t);this._setColor(c,x)};a.Path.prototype.getPoint=function(c,
g){this._getPoint(c,ia);c=ua.toTypedArray();return g?(g[0]=c[0],g[1]=c[1],g):c.slice(0,2)};a.Picture.prototype.makeShader=function(c,g,l,t,x){t=G(t);x=S(x);return this._makeShader(c,g,l,t,x)};a.Picture.prototype.cullRect=function(c){this._cullRect(ia);var g=ua.toTypedArray();return c?(c.set(g),c):g.slice()};a.PictureRecorder.prototype.beginRecording=function(c,g){c=S(c);return this._beginRecording(c,!!g)};a.Surface.prototype.getCanvas=function(){var c=this._getCanvas();c.Gd=this.Gd;return c};a.Surface.prototype.makeImageSnapshot=
function(c){a.Id(this.Gd);c=w(c,"HEAP32",db);return this._makeImageSnapshot(c)};a.Surface.prototype.makeSurface=function(c){a.Id(this.Gd);c=this._makeSurface(c);c.Gd=this.Gd;return c};a.Surface.prototype.sf=function(c,g){this.Ae||(this.Ae=this.getCanvas());return requestAnimationFrame(function(){a.Id(this.Gd);c(this.Ae);this.flush(g)}.bind(this))};a.Surface.prototype.requestAnimationFrame||(a.Surface.prototype.requestAnimationFrame=a.Surface.prototype.sf);a.Surface.prototype.nf=function(c,g){this.Ae||
(this.Ae=this.getCanvas());requestAnimationFrame(function(){a.Id(this.Gd);c(this.Ae);this.flush(g);this.dispose()}.bind(this))};a.Surface.prototype.drawOnce||(a.Surface.prototype.drawOnce=a.Surface.prototype.nf);a.PathEffect.MakeDash=function(c,g){g||=0;if(!c.length||1===c.length%2)throw"Intervals array must have even length";var l=w(c,"HEAPF32");g=a.PathEffect._MakeDash(l,c.length,g);q(l,c);return g};a.PathEffect.MakeLine2D=function(c,g){g=G(g);return a.PathEffect._MakeLine2D(c,g)};a.PathEffect.MakePath2D=
function(c,g){c=G(c);return a.PathEffect._MakePath2D(c,g)};a.Shader.MakeColor=function(c,g){g=g||null;c=Y(c);return a.Shader._MakeColor(c,g)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(c,g,l,t,x,A,H,L){L=L||null;var M=D(l),V=w(t,"HEAPF32");H=H||0;A=G(A);var X=ua.toTypedArray();X.set(c);X.set(g,2);c=a.Shader._MakeLinearGradient(ia,M.Zd,M.colorType,V,M.count,x,H,A,L);q(M.Zd,l);t&&q(V,t);return c};a.Shader.MakeRadialGradient=function(c,g,
l,t,x,A,H,L){L=L||null;var M=D(l),V=w(t,"HEAPF32");H=H||0;A=G(A);c=a.Shader._MakeRadialGradient(c[0],c[1],g,M.Zd,M.colorType,V,M.count,x,H,A,L);q(M.Zd,l);t&&q(V,t);return c};a.Shader.MakeSweepGradient=function(c,g,l,t,x,A,H,L,M,V){V=V||null;var X=D(l),r=w(t,"HEAPF32");H=H||0;L=L||0;M=M||360;A=G(A);c=a.Shader._MakeSweepGradient(c,g,X.Zd,X.colorType,r,X.count,x,L,M,H,A,V);q(X.Zd,l);t&&q(r,t);return c};a.Shader.MakeTwoPointConicalGradient=function(c,g,l,t,x,A,H,L,M,V){V=V||null;var X=D(x),r=w(A,"HEAPF32");
M=M||0;L=G(L);var C=ua.toTypedArray();C.set(c);C.set(l,2);c=a.Shader._MakeTwoPointConicalGradient(ia,g,t,X.Zd,X.colorType,r,X.count,H,M,L,V);q(X.Zd,x);A&&q(r,A);return c};a.Vertices.prototype.bounds=function(c){this._bounds(ia);var g=ua.toTypedArray();return c?(c.set(g),c):g.slice()};a.Pd&&a.Pd.forEach(function(c){c()})};a.computeTonalColors=function(e){var c=w(e.ambient,"HEAPF32"),g=w(e.spot,"HEAPF32");this._computeTonalColors(c,g);var l={ambient:fa(c),spot:fa(g)};q(c,e.ambient);q(g,e.spot);return l};
a.LTRBRect=function(e,c,g,l){return Float32Array.of(e,c,g,l)};a.XYWHRect=function(e,c,g,l){return Float32Array.of(e,c,e+g,c+l)};a.LTRBiRect=function(e,c,g,l){return Int32Array.of(e,c,g,l)};a.XYWHiRect=function(e,c,g,l){return Int32Array.of(e,c,e+g,c+l)};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 pb=null;a.MakeImageFromCanvasImageSource=function(e){var c=e.width,g=e.height;pb||=document.createElement("canvas");pb.width=c;pb.height=g;var l=pb.getContext("2d",{willReadFrequently:!0});l.drawImage(e,0,0);e=l.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 l=a._malloc(c.length);a.HEAPU8.set(c,l);return a._MakeImage(e,l,c.length,g)};a.MakeVertices=function(e,c,g,l,t,x){var A=t&&t.length||0,H=0;g&&g.length&&(H|=1);l&&l.length&&(H|=2);void 0===x||x||(H|=4);e=new a._VerticesBuilder(e,c.length/2,A,H);w(c,"HEAPF32",e.positions());e.texCoords()&&w(g,"HEAPF32",e.texCoords());e.colors()&&w(n(l),"HEAPU32",e.colors());e.indices()&&w(t,"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])/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 l=c[g],t=c[g+1],x=e[6]*l+e[7]*t+e[8],A=e[3]*l+e[4]*t+e[5];c[g]=(e[0]*l+e[1]*t+
e[2])/x;c[g+1]=A/x}return c};a.Matrix.multiply=function(){return $a(3,arguments)};a.Matrix.rotated=function(e,c,g){c=c||0;g=g||0;var l=Math.sin(e);e=Math.cos(e);return[e,-l,ma(l,g,1-e,c),l,e,ma(-l,c,1-e,g),0,0,1]};a.Matrix.scaled=function(e,c,g,l){g=g||0;l=l||0;var t=b([e,c],d(3),3,0,1);return b([g-e*g,l-c*l],t,3,2,0)};a.Matrix.skewed=function(e,c,g,l){g=g||0;l=l||0;var t=b([e,c],d(3),3,1,-1);return b([-e*g,-c*l],t,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,l){return g*c[l]}).reduce(function(g,l){return g+l})};a.Vector.lengthSquared=function(e){return a.Vector.dot(e,e)};a.Vector.length=function(e){return Math.sqrt(a.Vector.lengthSquared(e))};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,l){return g+c[l]})};a.Vector.sub=function(e,c){return e.map(function(g,l){return g-c[l]})};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)};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 l=e[0],t=e[1];e=
e[2];var x=1-g;return[x*l*l+g,x*l*t-c*e,x*l*e+c*t,0,x*l*t+c*e,x*t*t+g,x*t*e-c*l,0,x*l*e-c*t,x*t*e+c*l,x*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,g));var l=a.M44.identity();b(g,l,4,0,0);b(a.Vector.cross(g,c),l,4,1,0);b(a.Vector.mulScalar(c,-1),l,4,2,0);b(e,l,4,3,0);e=a.M44.invert(l);return null===e?a.M44.identity():e};a.M44.perspective=function(e,c,g){var l=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)*l,2*c*e*l,0,0,-1,1]};a.M44.rc=function(e,c,g){return e[4*c+g]};a.M44.multiply=function(){return $a(4,arguments)};a.M44.invert=function(e){var c=e[0],g=e[4],l=e[8],t=e[12],x=e[1],A=e[5],H=e[9],L=e[13],M=e[2],V=e[6],X=e[10],r=e[14],C=e[3],P=e[7],aa=e[11];e=e[15];var ja=c*A-g*x,va=c*H-l*x,wa=c*L-t*x,la=g*H-l*A,E=g*L-t*A,k=l*L-t*H,p=M*P-V*C,y=M*aa-X*C,z=M*e-r*C,B=V*aa-X*P,F=V*e-r*P,J=X*e-r*aa,ba=ja*J-va*F+wa*B+la*z-E*y+k*p,ca=1/ba;if(0===ba||Infinity===ca)return null;
ja*=ca;va*=ca;wa*=ca;la*=ca;E*=ca;k*=ca;p*=ca;y*=ca;z*=ca;B*=ca;F*=ca;J*=ca;c=[A*J-H*F+L*B,H*z-x*J-L*y,x*F-A*z+L*p,A*y-x*B-H*p,l*F-g*J-t*B,c*J-l*z+t*y,g*z-c*F-t*p,c*B-g*y+l*p,P*k-aa*E+e*la,aa*wa-C*k-e*va,C*E-P*wa+e*ja,P*va-C*la-aa*ja,X*E-V*k-r*la,M*k-X*wa+r*va,V*wa-M*E-r*ja,M*la-V*va+X*ja];return c.every(function(Ha){return!isNaN(Ha)&&Infinity!==Ha&&-Infinity!==Ha})?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 l=a.M44.lookat(g.eye,g.coa,g.up);g=a.M44.perspective(g.near,g.far,g.angle);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,l,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,l){var t=new Float32Array(20);t[0]=e;t[6]=c;t[12]=g;t[18]=l;return t};var kd=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];a.ColorMatrix.rotated=function(e,c,g){var l=a.ColorMatrix.identity();e=kd[e];l[e[0]]=g;l[e[1]]=c;l[e[2]]=-c;l[e[3]]=g;return l};a.ColorMatrix.postTranslate=function(e,c,g,l,t){e[4]+=c;e[9]+=g;e[14]+=l;e[19]+=t;return e};a.ColorMatrix.concat=function(e,c){for(var g=new Float32Array(20),l=0,t=0;20>t;t+=5){for(var x=0;4>x;x++)g[l++]=e[t]*c[x]+e[t+1]*c[x+5]+e[t+2]*c[x+10]+e[t+
3]*c[x+15];g[l++]=e[t]*c[4]+e[t+1]*c[9]+e[t+2]*c[14]+e[t+3]*c[19]+e[t+4]}return g};(function(e){e.Pd=e.Pd||[];e.Pd.push(function(){function c(r){r&&(r.dir=0===r.dir?e.TextDirection.RTL:e.TextDirection.LTR);return r}function g(r){if(!r||!r.length)return[];for(var C=[],P=0;P<r.length;P+=5){var aa=e.LTRBRect(r[P],r[P+1],r[P+2],r[P+3]),ja=e.TextDirection.LTR;0===r[P+4]&&(ja=e.TextDirection.RTL);C.push({rect:aa,dir:ja})}e._free(r.byteOffset);return C}function l(r){r=r||{};void 0===r.weight&&(r.weight=
e.FontWeight.Normal);r.width=r.width||e.FontWidth.Normal;r.slant=r.slant||e.FontSlant.Upright;return r}function t(r){if(!r||!r.length)return Q;for(var C=[],P=0;P<r.length;P++){var aa=x(r[P]);C.push(aa)}return w(C,"HEAPU32")}function x(r){if(L[r])return L[r];var C=Aa(r)+1,P=e._malloc(C);Ba(r,P,C);return L[r]=P}function A(r){r._colorPtr=Y(r.color);r._foregroundColorPtr=Q;r._backgroundColorPtr=Q;r._decorationColorPtr=Q;r.foregroundColor&&(r._foregroundColorPtr=Y(r.foregroundColor,M));r.backgroundColor&&
(r._backgroundColorPtr=Y(r.backgroundColor,V));r.decorationColor&&(r._decorationColorPtr=Y(r.decorationColor,X));Array.isArray(r.fontFamilies)&&r.fontFamilies.length?(r._fontFamiliesPtr=t(r.fontFamilies),r._fontFamiliesLen=r.fontFamilies.length):(r._fontFamiliesPtr=Q,r._fontFamiliesLen=0);if(r.locale){var C=r.locale;r._localePtr=x(C);r._localeLen=Aa(C)}else r._localePtr=Q,r._localeLen=0;if(Array.isArray(r.shadows)&&r.shadows.length){C=r.shadows;var P=C.map(function(E){return E.color||e.BLACK}),aa=
C.map(function(E){return E.blurRadius||0});r._shadowLen=C.length;for(var ja=e._malloc(8*C.length),va=ja/4,wa=0;wa<C.length;wa++){var la=C[wa].offset||[0,0];e.HEAPF32[va]=la[0];e.HEAPF32[va+1]=la[1];va+=2}r._shadowColorsPtr=D(P).Zd;r._shadowOffsetsPtr=ja;r._shadowBlurRadiiPtr=w(aa,"HEAPF32")}else r._shadowLen=0,r._shadowColorsPtr=Q,r._shadowOffsetsPtr=Q,r._shadowBlurRadiiPtr=Q;Array.isArray(r.fontFeatures)&&r.fontFeatures.length?(C=r.fontFeatures,P=C.map(function(E){return E.name}),aa=C.map(function(E){return E.value}),
r._fontFeatureLen=C.length,r._fontFeatureNamesPtr=t(P),r._fontFeatureValuesPtr=w(aa,"HEAPU32")):(r._fontFeatureLen=0,r._fontFeatureNamesPtr=Q,r._fontFeatureValuesPtr=Q);Array.isArray(r.fontVariations)&&r.fontVariations.length?(C=r.fontVariations,P=C.map(function(E){return E.axis}),aa=C.map(function(E){return E.value}),r._fontVariationLen=C.length,r._fontVariationAxesPtr=t(P),r._fontVariationValuesPtr=w(aa,"HEAPF32")):(r._fontVariationLen=0,r._fontVariationAxesPtr=Q,r._fontVariationValuesPtr=Q)}function H(r){e._free(r._fontFamiliesPtr);
e._free(r._shadowColorsPtr);e._free(r._shadowOffsetsPtr);e._free(r._shadowBlurRadiiPtr);e._free(r._fontFeatureNamesPtr);e._free(r._fontFeatureValuesPtr);e._free(r._fontVariationAxesPtr);e._free(r._fontVariationValuesPtr)}e.Paragraph.prototype.getRectsForRange=function(r,C,P,aa){r=this._getRectsForRange(r,C,P,aa);return g(r)};e.Paragraph.prototype.getRectsForPlaceholders=function(){var r=this._getRectsForPlaceholders();return g(r)};e.Paragraph.prototype.getGlyphInfoAt=function(r){return c(this._getGlyphInfoAt(r))};
e.Paragraph.prototype.getClosestGlyphInfoAtCoordinate=function(r,C){return c(this._getClosestGlyphInfoAtCoordinate(r,C))};e.TypefaceFontProvider.prototype.registerFont=function(r,C){r=e.Typeface.MakeTypefaceFromData(r);if(!r)return null;C=x(C);this._registerFont(r,C);r.delete()};e.ParagraphStyle=function(r){r.disableHinting=r.disableHinting||!1;if(r.ellipsis){var C=r.ellipsis;r._ellipsisPtr=x(C);r._ellipsisLen=Aa(C)}else r._ellipsisPtr=Q,r._ellipsisLen=0;null==r.heightMultiplier&&(r.heightMultiplier=
-1);r.maxLines=r.maxLines||0;r.replaceTabCharacters=r.replaceTabCharacters||!1;C=(C=r.strutStyle)||{};C.strutEnabled=C.strutEnabled||!1;C.strutEnabled&&Array.isArray(C.fontFamilies)&&C.fontFamilies.length?(C._fontFamiliesPtr=t(C.fontFamilies),C._fontFamiliesLen=C.fontFamilies.length):(C._fontFamiliesPtr=Q,C._fontFamiliesLen=0);C.fontStyle=l(C.fontStyle);null==C.fontSize&&(C.fontSize=-1);null==C.heightMultiplier&&(C.heightMultiplier=-1);C.halfLeading=C.halfLeading||!1;C.leading=C.leading||0;C.forceStrutHeight=
C.forceStrutHeight||!1;r.strutStyle=C;r.textAlign=r.textAlign||e.TextAlign.Start;r.textDirection=r.textDirection||e.TextDirection.LTR;r.textHeightBehavior=r.textHeightBehavior||e.TextHeightBehavior.All;r.textStyle=e.TextStyle(r.textStyle);r.applyRoundingHack=!1!==r.applyRoundingHack;return r};e.TextStyle=function(r){r.color||(r.color=e.BLACK);r.decoration=r.decoration||0;r.decorationThickness=r.decorationThickness||0;r.decorationStyle=r.decorationStyle||e.DecorationStyle.Solid;r.textBaseline=r.textBaseline||
e.TextBaseline.Alphabetic;null==r.fontSize&&(r.fontSize=-1);r.letterSpacing=r.letterSpacing||0;r.wordSpacing=r.wordSpacing||0;null==r.heightMultiplier&&(r.heightMultiplier=-1);r.halfLeading=r.halfLeading||!1;r.fontStyle=l(r.fontStyle);return r};var L={},M=e._malloc(16),V=e._malloc(16),X=e._malloc(16);e.ParagraphBuilder.Make=function(r,C){A(r.textStyle);C=e.ParagraphBuilder._Make(r,C);H(r.textStyle);return C};e.ParagraphBuilder.MakeFromFontProvider=function(r,C){A(r.textStyle);C=e.ParagraphBuilder._MakeFromFontProvider(r,
C);H(r.textStyle);return C};e.ParagraphBuilder.MakeFromFontCollection=function(r,C){A(r.textStyle);C=e.ParagraphBuilder._MakeFromFontCollection(r,C);H(r.textStyle);return C};e.ParagraphBuilder.ShapeText=function(r,C,P){let aa=0;for(const ja of C)aa+=ja.length;if(aa!==r.length)throw"Accumulated block lengths must equal text.length";return e.ParagraphBuilder._ShapeText(r,C,P)};e.ParagraphBuilder.prototype.pushStyle=function(r){A(r);this._pushStyle(r);H(r)};e.ParagraphBuilder.prototype.pushPaintStyle=
function(r,C,P){A(r);this._pushPaintStyle(r,C,P);H(r)};e.ParagraphBuilder.prototype.addPlaceholder=function(r,C,P,aa,ja){P=P||e.PlaceholderAlignment.Baseline;aa=aa||e.TextBaseline.Alphabetic;this._addPlaceholder(r||0,C||0,P,aa,ja||0)};e.ParagraphBuilder.prototype.setWordsUtf8=function(r){var C=w(r,"HEAPU32");this._setWordsUtf8(C,r&&r.length||0);q(C,r)};e.ParagraphBuilder.prototype.setWordsUtf16=function(r){var C=w(r,"HEAPU32");this._setWordsUtf16(C,r&&r.length||0);q(C,r)};e.ParagraphBuilder.prototype.setGraphemeBreaksUtf8=
function(r){var C=w(r,"HEAPU32");this._setGraphemeBreaksUtf8(C,r&&r.length||0);q(C,r)};e.ParagraphBuilder.prototype.setGraphemeBreaksUtf16=function(r){var C=w(r,"HEAPU32");this._setGraphemeBreaksUtf16(C,r&&r.length||0);q(C,r)};e.ParagraphBuilder.prototype.setLineBreaksUtf8=function(r){var C=w(r,"HEAPU32");this._setLineBreaksUtf8(C,r&&r.length||0);q(C,r)};e.ParagraphBuilder.prototype.setLineBreaksUtf16=function(r){var C=w(r,"HEAPU32");this._setLineBreaksUtf16(C,r&&r.length||0);q(C,r)}})})(u);a.Pd=
a.Pd||[];a.Pd.push(function(){});a.Pd=a.Pd||[];a.Pd.push(function(){a.Canvas.prototype.drawText=function(e,c,g,l,t){var x=Aa(e),A=a._malloc(x+1);Ba(e,A,x+1);this._drawSimpleText(A,x,c,g,t,l);a._free(A)};a.Canvas.prototype.drawGlyphs=function(e,c,g,l,t,x){if(!(2*e.length<=c.length))throw"Not enough positions for the array of gyphs";a.Id(this.Gd);const A=w(e,"HEAPU16"),H=w(c,"HEAPF32");this._drawGlyphs(e.length,A,H,g,l,t,x);q(H,c);q(A,e)};a.Font.prototype.getGlyphBounds=function(e,c,g){var l=w(e,"HEAPU16"),
t=a._malloc(16*e.length);this._getGlyphWidthBounds(l,e.length,Q,t,c||null);c=new Float32Array(a.HEAPU8.buffer,t,4*e.length);q(l,e);if(g)return g.set(c),a._free(t),g;e=Float32Array.from(c);a._free(t);return e};a.Font.prototype.getGlyphIDs=function(e,c,g){c||(c=e.length);var l=Aa(e)+1,t=a._malloc(l);Ba(e,t,l);e=a._malloc(2*c);c=this._getGlyphIDs(t,l-1,c,e);a._free(t);if(0>c)return a._free(e),null;t=new Uint16Array(a.HEAPU8.buffer,e,c);if(g)return g.set(t),a._free(e),g;g=Uint16Array.from(t);a._free(e);
return g};a.Font.prototype.getGlyphIntercepts=function(e,c,g,l){var t=w(e,"HEAPU16"),x=w(c,"HEAPF32");return this._getGlyphIntercepts(t,e.length,!(e&&e._ck),x,c.length,!(c&&c._ck),g,l)};a.Font.prototype.getGlyphWidths=function(e,c,g){var l=w(e,"HEAPU16"),t=a._malloc(4*e.length);this._getGlyphWidthBounds(l,e.length,t,Q,c||null);c=new Float32Array(a.HEAPU8.buffer,t,e.length);q(l,e);if(g)return g.set(c),a._free(t),g;e=Float32Array.from(c);a._free(t);return e};a.FontMgr.FromData=function(){if(!arguments.length)return null;
var e=arguments;1===e.length&&Array.isArray(e[0])&&(e=arguments[0]);if(!e.length)return null;for(var c=[],g=[],l=0;l<e.length;l++){var t=new Uint8Array(e[l]),x=w(t,"HEAPU8");c.push(x);g.push(t.byteLength)}c=w(c,"HEAPU32");g=w(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=w(e,"HEAPU8");return(e=a.Typeface._MakeTypefaceFromData(c,e.byteLength))?e:null};a.Typeface.MakeFreeTypeFaceFromData=a.Typeface.MakeTypefaceFromData;
a.Typeface.prototype.getGlyphIDs=function(e,c,g){c||(c=e.length);var l=Aa(e)+1,t=a._malloc(l);Ba(e,t,l);e=a._malloc(2*c);c=this._getGlyphIDs(t,l-1,c,e);a._free(t);if(0>c)return a._free(e),null;t=new Uint16Array(a.HEAPU8.buffer,e,c);if(g)return g.set(t),a._free(e),g;g=Uint16Array.from(t);a._free(e);return g};a.TextBlob.MakeOnPath=function(e,c,g,l){if(e&&e.length&&c&&c.countPoints()){if(1===c.countPoints())return this.MakeFromText(e,g);l||=0;var t=g.getGlyphIDs(e);t=g.getGlyphWidths(t);var x=[];c=new a.ContourMeasureIter(c,
!1,1);for(var A=c.next(),H=new Float32Array(4),L=0;L<e.length&&A;L++){var M=t[L];l+=M/2;if(l>A.length()){A.delete();A=c.next();if(!A){e=e.substring(0,L);break}l=M/2}A.getPosTan(l,H);var V=H[2],X=H[3];x.push(V,X,H[0]-M/2*V,H[1]-M/2*X);l+=M/2}e=this.MakeFromRSXform(e,x,g);A&&A.delete();c.delete();return e}};a.TextBlob.MakeFromRSXform=function(e,c,g){var l=Aa(e)+1,t=a._malloc(l);Ba(e,t,l);e=w(c,"HEAPF32");g=a.TextBlob._MakeFromRSXform(t,l-1,e,g);a._free(t);return g?g:null};a.TextBlob.MakeFromRSXformGlyphs=
function(e,c,g){var l=w(e,"HEAPU16");c=w(c,"HEAPF32");g=a.TextBlob._MakeFromRSXformGlyphs(l,2*e.length,c,g);q(l,e);return g?g:null};a.TextBlob.MakeFromGlyphs=function(e,c){var g=w(e,"HEAPU16");c=a.TextBlob._MakeFromGlyphs(g,2*e.length,c);q(g,e);return c?c:null};a.TextBlob.MakeFromText=function(e,c){var g=Aa(e)+1,l=a._malloc(g);Ba(e,l,g);e=a.TextBlob._MakeFromText(l,g-1,c);a._free(l);return e?e:null};a.MallocGlyphIDs=function(e){return a.Malloc(Uint16Array,e)}});a.Pd=a.Pd||[];a.Pd.push(function(){a.MakePicture=
function(e){e=new Uint8Array(e);var c=a._malloc(e.byteLength);a.HEAPU8.set(e,c);return(e=a._MakePicture(c,e.byteLength))?e:null}});a.Pd=a.Pd||[];a.Pd.push(function(){a.RuntimeEffect.Make=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,l=w(e,"HEAPF32");c=G(c);return this._makeShader(l,4*e.length,g,c)};a.RuntimeEffect.prototype.makeShaderWithChildren=function(e,c,g){var l=!e._ck,t=w(e,"HEAPF32");g=G(g);for(var x=[],A=0;A<c.length;A++)x.push(c[A].Fd.Md);c=w(x,"HEAPU32");return this._makeShaderWithChildren(t,4*e.length,l,c,x.length,g)};a.RuntimeEffect.prototype.makeBlender=function(e){var c=!e._ck,g=w(e,"HEAPF32");return this._makeBlender(g,4*e.length,c)}});(function(){function e(E){for(var k=0;k<E.length;k++)if(void 0!==E[k]&&
!Number.isFinite(E[k]))return!1;return!0}function c(E){var k=a.getColorComponents(E);E=k[0];var p=k[1],y=k[2];k=k[3];if(1===k)return E=E.toString(16).toLowerCase(),p=p.toString(16).toLowerCase(),y=y.toString(16).toLowerCase(),E=1===E.length?"0"+E:E,p=1===p.length?"0"+p:p,y=1===y.length?"0"+y:y,"#"+E+p+y;k=0===k||1===k?k:k.toFixed(8);return"rgba("+E+", "+p+", "+y+", "+k+")"}function g(E){return a.parseColorString(E,va)}function l(E){E=wa.exec(E);if(!E)return null;var k=parseFloat(E[4]),p=16;switch(E[5]){case "em":case "rem":p=
16*k;break;case "pt":p=4*k/3;break;case "px":p=k;break;case "pc":p=16*k;break;case "in":p=96*k;break;case "cm":p=96*k/2.54;break;case "mm":p=96/25.4*k;break;case "q":p=96/25.4/4*k;break;case "%":p=16/75*k}return{style:E[1],variant:E[2],weight:E[3],sizePx:p,family:E[6].trim()}}function t(){la||={"Noto Mono":{"*":a.Typeface.GetDefault()},monospace:{"*":a.Typeface.GetDefault()}}}function x(E){this.Hd=E;this.Kd=new a.Paint;this.Kd.setAntiAlias(!0);this.Kd.setStrokeMiter(10);this.Kd.setStrokeCap(a.StrokeCap.Butt);
this.Kd.setStrokeJoin(a.StrokeJoin.Miter);this.Le="10px monospace";this.je=new a.Font(a.Typeface.GetDefault(),10);this.je.setSubpixel(!0);this.Xd=this.de=a.BLACK;this.re=0;this.Ce=a.TRANSPARENT;this.te=this.se=0;this.De=this.he=1;this.Be=0;this.qe=[];this.Jd=a.BlendMode.SrcOver;this.Kd.setStrokeWidth(this.De);this.Kd.setBlendMode(this.Jd);this.Nd=new a.PathBuilder;this.Od=a.Matrix.identity();this.bf=[];this.xe=[];this.ie=function(){this.Nd.delete();this.Kd.delete();this.je.delete();this.xe.forEach(function(k){k.ie()})};
Object.defineProperty(this,"currentTransform",{enumerable:!0,get:function(){return{a:this.Od[0],c:this.Od[1],e:this.Od[2],b:this.Od[3],d:this.Od[4],f:this.Od[5]}},set:function(k){k.a&&this.setTransform(k.a,k.b,k.c,k.d,k.e,k.f)}});Object.defineProperty(this,"fillStyle",{enumerable:!0,get:function(){return f(this.Xd)?c(this.Xd):this.Xd},set:function(k){"string"===typeof k?this.Xd=g(k):k.pe&&(this.Xd=k)}});Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.Le},set:function(k){var p=
l(k);var y=(p.style||"normal")+"|"+(p.variant||"normal")+"|"+(p.weight||"normal");var z=p.family;t();y=la[z]?la[z][y]||la[z]["*"]:a.Typeface.GetDefault();p.typeface=y;p&&(this.je.setSize(p.sizePx),this.je.setTypeface(p.typeface),this.Le=k)}});Object.defineProperty(this,"globalAlpha",{enumerable:!0,get:function(){return this.he},set:function(k){!isFinite(k)||0>k||1<k||(this.he=k)}});Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.Jd){case a.BlendMode.SrcOver:return"source-over";
case a.BlendMode.DstOver:return"destination-over";case a.BlendMode.Src:return"copy";case a.BlendMode.Dst:return"destination";case a.BlendMode.Clear:return"clear";case a.BlendMode.SrcIn:return"source-in";case a.BlendMode.DstIn:return"destination-in";case a.BlendMode.SrcOut:return"source-out";case a.BlendMode.DstOut:return"destination-out";case a.BlendMode.SrcATop:return"source-atop";case a.BlendMode.DstATop:return"destination-atop";case a.BlendMode.Xor:return"xor";case a.BlendMode.Plus:return"lighter";
case a.BlendMode.Multiply:return"multiply";case a.BlendMode.Screen:return"screen";case a.BlendMode.Overlay:return"overlay";case a.BlendMode.Darken:return"darken";case a.BlendMode.Lighten:return"lighten";case a.BlendMode.ColorDodge:return"color-dodge";case a.BlendMode.ColorBurn:return"color-burn";case a.BlendMode.HardLight:return"hard-light";case a.BlendMode.SoftLight:return"soft-light";case a.BlendMode.Difference:return"difference";case a.BlendMode.Exclusion:return"exclusion";case a.BlendMode.Hue:return"hue";
case a.BlendMode.Saturation:return"saturation";case a.BlendMode.Color:return"color";case a.BlendMode.Luminosity:return"luminosity"}},set:function(k){switch(k){case "source-over":this.Jd=a.BlendMode.SrcOver;break;case "destination-over":this.Jd=a.BlendMode.DstOver;break;case "copy":this.Jd=a.BlendMode.Src;break;case "destination":this.Jd=a.BlendMode.Dst;break;case "clear":this.Jd=a.BlendMode.Clear;break;case "source-in":this.Jd=a.BlendMode.SrcIn;break;case "destination-in":this.Jd=a.BlendMode.DstIn;
break;case "source-out":this.Jd=a.BlendMode.SrcOut;break;case "destination-out":this.Jd=a.BlendMode.DstOut;break;case "source-atop":this.Jd=a.BlendMode.SrcATop;break;case "destination-atop":this.Jd=a.BlendMode.DstATop;break;case "xor":this.Jd=a.BlendMode.Xor;break;case "lighter":this.Jd=a.BlendMode.Plus;break;case "plus-lighter":this.Jd=a.BlendMode.Plus;break;case "plus-darker":throw"plus-darker is not supported";case "multiply":this.Jd=a.BlendMode.Multiply;break;case "screen":this.Jd=a.BlendMode.Screen;
break;case "overlay":this.Jd=a.BlendMode.Overlay;break;case "darken":this.Jd=a.BlendMode.Darken;break;case "lighten":this.Jd=a.BlendMode.Lighten;break;case "color-dodge":this.Jd=a.BlendMode.ColorDodge;break;case "color-burn":this.Jd=a.BlendMode.ColorBurn;break;case "hard-light":this.Jd=a.BlendMode.HardLight;break;case "soft-light":this.Jd=a.BlendMode.SoftLight;break;case "difference":this.Jd=a.BlendMode.Difference;break;case "exclusion":this.Jd=a.BlendMode.Exclusion;break;case "hue":this.Jd=a.BlendMode.Hue;
break;case "saturation":this.Jd=a.BlendMode.Saturation;break;case "color":this.Jd=a.BlendMode.Color;break;case "luminosity":this.Jd=a.BlendMode.Luminosity;break;default:return}this.Kd.setBlendMode(this.Jd)}});Object.defineProperty(this,"imageSmoothingEnabled",{enumerable:!0,get:function(){return!0},set:function(){}});Object.defineProperty(this,"imageSmoothingQuality",{enumerable:!0,get:function(){return"high"},set:function(){}});Object.defineProperty(this,"lineCap",{enumerable:!0,get:function(){switch(this.Kd.getStrokeCap()){case a.StrokeCap.Butt:return"butt";
case a.StrokeCap.Round:return"round";case a.StrokeCap.Square:return"square"}},set:function(k){switch(k){case "butt":this.Kd.setStrokeCap(a.StrokeCap.Butt);break;case "round":this.Kd.setStrokeCap(a.StrokeCap.Round);break;case "square":this.Kd.setStrokeCap(a.StrokeCap.Square)}}});Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.Be},set:function(k){isFinite(k)&&(this.Be=k)}});Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.Kd.getStrokeJoin()){case a.StrokeJoin.Miter:return"miter";
case a.StrokeJoin.Round:return"round";case a.StrokeJoin.Bevel:return"bevel"}},set:function(k){switch(k){case "miter":this.Kd.setStrokeJoin(a.StrokeJoin.Miter);break;case "round":this.Kd.setStrokeJoin(a.StrokeJoin.Round);break;case "bevel":this.Kd.setStrokeJoin(a.StrokeJoin.Bevel)}}});Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.Kd.getStrokeWidth()},set:function(k){0>=k||!k||(this.De=k,this.Kd.setStrokeWidth(k))}});Object.defineProperty(this,"miterLimit",{enumerable:!0,
get:function(){return this.Kd.getStrokeMiter()},set:function(k){0>=k||!k||this.Kd.setStrokeMiter(k)}});Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.re},set:function(k){0>k||!isFinite(k)||(this.re=k)}});Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return c(this.Ce)},set:function(k){this.Ce=g(k)}});Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.se},set:function(k){isFinite(k)&&(this.se=k)}});Object.defineProperty(this,
"shadowOffsetY",{enumerable:!0,get:function(){return this.te},set:function(k){isFinite(k)&&(this.te=k)}});Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return c(this.de)},set:function(k){"string"===typeof k?this.de=g(k):k.pe&&(this.de=k)}});this.arc=function(k,p,y,z,B,F){r(this.Nd,k,p,y,y,0,z,B,F)};this.arcTo=function(k,p,y,z,B){V(this.Nd,k,p,y,z,B)};this.beginPath=function(){this.Nd.delete();this.Nd=new a.PathBuilder};this.bezierCurveTo=function(k,p,y,z,B,F){var J=this.Nd;
e([k,p,y,z,B,F])&&(J.isEmpty()&&J.moveTo(k,p),J.cubicTo(k,p,y,z,B,F))};this.clearRect=function(k,p,y,z){this.Kd.setStyle(a.PaintStyle.Fill);this.Kd.setBlendMode(a.BlendMode.Clear);this.Hd.drawRect(a.XYWHRect(k,p,y,z),this.Kd);this.Kd.setBlendMode(this.Jd)};this.clip=function(k,p){if("string"===typeof k){p=k;var y=this.Nd.snapshot()}else k&&k.ge&&(y=k.ge());y||=this.Nd.snapshot();p&&"evenodd"===p.toLowerCase()?y.setFillType(a.FillType.EvenOdd):y.setFillType(a.FillType.Winding);this.Hd.clipPath(y,a.ClipOp.Intersect,
!0);y.delete()};this.closePath=function(){var k=this.Nd;k.isEmpty()||1!=k.countPoints()&&k.close()};this.createImageData=function(){if(1===arguments.length){var k=arguments[0];return new L(new Uint8ClampedArray(4*k.width*k.height),k.width,k.height)}if(2===arguments.length){k=arguments[0];var p=arguments[1];return new L(new Uint8ClampedArray(4*k*p),k,p)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length;};this.createLinearGradient=function(k,p,y,z){if(e(arguments)){var B=new M(k,
p,y,z);this.xe.push(B);return B}};this.createPattern=function(k,p){k=new aa(k,p);this.xe.push(k);return k};this.createRadialGradient=function(k,p,y,z,B,F){if(e(arguments)){var J=new ja(k,p,y,z,B,F);this.xe.push(J);return J}};this.drawImage=function(k){k instanceof H&&(k=k.gf());var p=this.Ke();if(3===arguments.length||5===arguments.length)var y=a.XYWHRect(arguments[1],arguments[2],arguments[3]||k.width(),arguments[4]||k.height()),z=a.XYWHRect(0,0,k.width(),k.height());else if(9===arguments.length)y=
a.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),z=a.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4]);else throw"invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;this.Hd.drawImageRect(k,z,y,p,!1);p.dispose()};this.ellipse=function(k,p,y,z,B,F,J,ba){r(this.Nd,k,p,y,z,B,F,J,ba)};this.Ke=function(){var k=this.Kd.copy();k.setStyle(a.PaintStyle.Fill);if(f(this.Xd)){var p=a.multiplyByAlpha(this.Xd,this.he);k.setColor(p)}else p=this.Xd.pe(this.Od),
k.setColor(a.Color(0,0,0,this.he)),k.setShader(p);k.dispose=function(){this.delete()};return k};this.fill=function(k,p){if("string"===typeof k){p=k;var y=this.Nd.snapshot()}else k&&k.ge&&(y=k.ge());k||(y=this.Nd.snapshot());if("evenodd"===p)y.setFillType(a.FillType.EvenOdd);else{if("nonzero"!==p&&p)throw"invalid fill rule";y.setFillType(a.FillType.Winding)}k=this.Ke();if(p=this.ue(k))this.Hd.save(),this.ne(),this.Hd.drawPath(y,p),this.Hd.restore(),p.dispose();this.Hd.drawPath(y,k);k.dispose();y.delete()};
this.fillRect=function(k,p,y,z){var B=this.Ke(),F=this.ue(B);F&&(this.Hd.save(),this.ne(),this.Hd.drawRect(a.XYWHRect(k,p,y,z),F),this.Hd.restore(),F.dispose());this.Hd.drawRect(a.XYWHRect(k,p,y,z),B);B.dispose()};this.fillText=function(k,p,y){var z=this.Ke();k=a.TextBlob.MakeFromText(k,this.je);var B=this.ue(z);B&&(this.Hd.save(),this.ne(),this.Hd.drawTextBlob(k,p,y,B),this.Hd.restore(),B.dispose());this.Hd.drawTextBlob(k,p,y,z);k.delete();z.dispose()};this.getImageData=function(k,p,y,z){return(k=
this.Hd.readPixels(k,p,{width:y,height:z,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB}))?new L(new Uint8ClampedArray(k.buffer),y,z):null};this.getLineDash=function(){return this.qe.slice()};this.cf=function(k){var p=a.Matrix.invert(this.Od);a.Matrix.mapPoints(p,k);return k};this.isPointInPath=function(k,p,y){var z=arguments;if(3===z.length)var B=this.Nd.snapshot();else if(4===z.length)B=z[0].copy(),k=z[1],p=z[2],y=z[3];else throw"invalid arg count, need 3 or 4, got "+
z.length;if(!isFinite(k)||!isFinite(p))return B.delete(),!1;y=y||"nonzero";if("nonzero"!==y&&"evenodd"!==y)return B.delete(),!1;z=this.cf([k,p]);k=z[0];p=z[1];B.setFillType("nonzero"===y?a.FillType.Winding:a.FillType.EvenOdd);z=B.contains(k,p);B.delete();return z};this.isPointInStroke=function(k,p){var y=arguments;if(2===y.length)var z=this.Nd.snapshot();else if(3===y.length)z=y[0].copy(),k=y[1],p=y[2];else throw"invalid arg count, need 2 or 3, got "+y.length;if(!isFinite(k)||!isFinite(p))return z.delete(),
!1;y=this.cf([k,p]);k=y[0];p=y[1];z.setFillType(a.FillType.Winding);y=z.makeStroked({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Kd.getStrokeCap(),join:this.Kd.getStrokeJoin(),precision:.3});var B=y.contains(k,p);y.delete();z.delete();return B};this.lineTo=function(k,p){C(this.Nd,k,p)};this.measureText=function(k){k=this.je.getGlyphIDs(k);k=this.je.getGlyphWidths(k);let p=0;for(const y of k)p+=y;return{width:p}};this.moveTo=function(k,p){var y=this.Nd;e([k,p])&&y.moveTo(k,p)};this.putImageData=
function(k,p,y,z,B,F,J){if(e([p,y,z,B,F,J]))if(void 0===z)this.Hd.writePixels(k.data,k.width,k.height,p,y);else if(z=z||0,B=B||0,F=F||k.width,J=J||k.height,0>F&&(z+=F,F=Math.abs(F)),0>J&&(B+=J,J=Math.abs(J)),0>z&&(F+=z,z=0),0>B&&(J+=B,B=0),!(0>=F||0>=J)){k=a.MakeImage({width:k.width,height:k.height,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},k.data,4*k.width);var ba=a.XYWHRect(z,B,F,J);p=a.XYWHRect(p+z,y+B,F,J);y=a.Matrix.invert(this.Od);this.Hd.save();
this.Hd.concat(y);this.Hd.drawImageRect(k,ba,p,null,!1);this.Hd.restore();k.delete()}};this.quadraticCurveTo=function(k,p,y,z){var B=this.Nd;e([k,p,y,z])&&(B.isEmpty()&&B.moveTo(k,p),B.quadTo(k,p,y,z))};this.rect=function(k,p,y,z){var B=this.Nd;k=a.XYWHRect(k,p,y,z);e(k)&&B.addRect(k)};this.resetTransform=function(){this.Nd.transform(this.Od);var k=a.Matrix.invert(this.Od);this.Hd.concat(k);this.Od=this.Hd.getTotalMatrix()};this.restore=function(){var k=this.bf.pop();if(k){var p=a.Matrix.multiply(this.Od,
a.Matrix.invert(k.vf));this.Nd.transform(p);this.Kd.delete();this.Kd=k.Lf;this.qe=k.Jf;this.De=k.Xf;this.de=k.Wf;this.Xd=k.fs;this.se=k.Uf;this.te=k.Vf;this.re=k.sb;this.Ce=k.Tf;this.he=k.ga;this.Jd=k.Bf;this.Be=k.Kf;this.Le=k.Af;this.Hd.restore();this.Od=this.Hd.getTotalMatrix()}};this.rotate=function(k){if(isFinite(k)){var p=a.Matrix.rotated(-k);this.Nd.transform(p);this.Hd.rotate(k/Math.PI*180,0,0);this.Od=this.Hd.getTotalMatrix()}};this.save=function(){if(this.Xd.oe){var k=this.Xd.oe();this.xe.push(k)}else k=
this.Xd;if(this.de.oe){var p=this.de.oe();this.xe.push(p)}else p=this.de;this.bf.push({vf:this.Od.slice(),Jf:this.qe.slice(),Xf:this.De,Wf:p,fs:k,Uf:this.se,Vf:this.te,sb:this.re,Tf:this.Ce,ga:this.he,Kf:this.Be,Bf:this.Jd,Lf:this.Kd.copy(),Af:this.Le});this.Hd.save()};this.scale=function(k,p){if(e(arguments)){var y=a.Matrix.scaled(1/k,1/p);this.Nd.transform(y);this.Hd.scale(k,p);this.Od=this.Hd.getTotalMatrix()}};this.setLineDash=function(k){for(var p=0;p<k.length;p++)if(!isFinite(k[p])||0>k[p])return;
1===k.length%2&&Array.prototype.push.apply(k,k);this.qe=k};this.setTransform=function(k,p,y,z,B,F){e(arguments)&&(this.resetTransform(),this.transform(k,p,y,z,B,F))};this.ne=function(){var k=a.Matrix.invert(this.Od);this.Hd.concat(k);this.Hd.concat(a.Matrix.translated(this.se,this.te));this.Hd.concat(this.Od)};this.ue=function(k){var p=a.multiplyByAlpha(this.Ce,this.he);if(!a.getColorComponents(p)[3]||!(this.re||this.te||this.se))return null;k=k.copy();k.setColor(p);var y=a.MaskFilter.MakeBlur(a.BlurStyle.Normal,
this.re/2,!1);k.setMaskFilter(y);k.dispose=function(){y.delete();this.delete()};return k};this.Ue=function(){var k=this.Kd.copy();k.setStyle(a.PaintStyle.Stroke);if(f(this.de)){var p=a.multiplyByAlpha(this.de,this.he);k.setColor(p)}else p=this.de.pe(this.Od),k.setColor(a.Color(0,0,0,this.he)),k.setShader(p);k.setStrokeWidth(this.De);if(this.qe.length){var y=a.PathEffect.MakeDash(this.qe,this.Be);k.setPathEffect(y)}k.dispose=function(){y&&y.delete();this.delete()};return k};this.stroke=function(k){k=
k?k.ge():this.Nd.snapshot();var p=this.Ue(),y=this.ue(p);y&&(this.Hd.save(),this.ne(),this.Hd.drawPath(k,y),this.Hd.restore(),y.dispose());this.Hd.drawPath(k,p);k.delete();p.dispose()};this.strokeRect=function(k,p,y,z){var B=this.Ue(),F=this.ue(B);F&&(this.Hd.save(),this.ne(),this.Hd.drawRect(a.XYWHRect(k,p,y,z),F),this.Hd.restore(),F.dispose());this.Hd.drawRect(a.XYWHRect(k,p,y,z),B);B.dispose()};this.strokeText=function(k,p,y){var z=this.Ue();k=a.TextBlob.MakeFromText(k,this.je);var B=this.ue(z);
B&&(this.Hd.save(),this.ne(),this.Hd.drawTextBlob(k,p,y,B),this.Hd.restore(),B.dispose());this.Hd.drawTextBlob(k,p,y,z);k.delete();z.dispose()};this.translate=function(k,p){if(e(arguments)){var y=a.Matrix.translated(-k,-p);this.Nd.transform(y);this.Hd.translate(k,p);this.Od=this.Hd.getTotalMatrix()}};this.transform=function(k,p,y,z,B,F){k=[k,y,B,p,z,F,0,0,1];p=a.Matrix.invert(k);this.Nd.transform(p);this.Hd.concat(k);this.Od=this.Hd.getTotalMatrix()};this.addHitRegion=function(){};this.clearHitRegions=
function(){};this.drawFocusIfNeeded=function(){};this.removeHitRegion=function(){};this.scrollPathIntoView=function(){};Object.defineProperty(this,"canvas",{value:null,writable:!1})}function A(E){this.Ve=E;this.Gd=new x(E.getCanvas());this.Me=[];this.decodeImage=function(k){k=a.MakeImageFromEncoded(k);if(!k)throw"Invalid input";this.Me.push(k);return new H(k)};this.loadFont=function(k,p){k=a.Typeface.MakeTypefaceFromData(k);if(!k)return null;this.Me.push(k);var y=(p.style||"normal")+"|"+(p.variant||
"normal")+"|"+(p.weight||"normal");p=p.family;t();la[p]||(la[p]={"*":k});la[p][y]=k};this.makePath2D=function(k){k=new P(k);this.Me.push(k.ge());return k};this.getContext=function(k){return"2d"===k?this.Gd:null};this.toDataURL=function(k,p){this.Ve.flush();var y=this.Ve.makeImageSnapshot();if(y){k=k||"image/png";var z=a.ImageFormat.PNG;"image/jpeg"===k&&(z=a.ImageFormat.JPEG);if(p=y.encodeToBytes(z,p||.92)){y.delete();k="data:"+k+";base64,";if("undefined"!==typeof Buffer)p=Buffer.from(p).toString("base64");
else{y=0;z=p.length;for(var B="",F;y<z;)F=p.slice(y,Math.min(y+32768,z)),B+=String.fromCharCode.apply(null,F),y+=32768;p=btoa(B)}return k+p}}};this.dispose=function(){this.Gd.ie();this.Me.forEach(function(k){k.delete()});this.Ve.dispose()}}function H(E){this.width=E.width();this.height=E.height();this.naturalWidth=this.width;this.naturalHeight=this.height;this.gf=function(){return E}}function L(E,k,p){if(!k||0===p)throw new TypeError("invalid dimensions, width and height must be non-zero");if(E.length%
4)throw new TypeError("arr must be a multiple of 4");p=p||E.length/(4*k);Object.defineProperty(this,"data",{value:E,writable:!1});Object.defineProperty(this,"height",{value:p,writable:!1});Object.defineProperty(this,"width",{value:k,writable:!1})}function M(E,k,p,y){this.Td=null;this.be=[];this.Ud=[];this.addColorStop=function(z,B){if(0>z||1<z||!isFinite(z))throw"offset must be between 0 and 1 inclusively";B=g(B);var F=this.Ud.indexOf(z);if(-1!==F)this.be[F]=B;else{for(F=0;F<this.Ud.length&&!(this.Ud[F]>
z);F++);this.Ud.splice(F,0,z);this.be.splice(F,0,B)}};this.oe=function(){var z=new M(E,k,p,y);z.be=this.be.slice();z.Ud=this.Ud.slice();return z};this.ie=function(){this.Td&&(this.Td.delete(),this.Td=null)};this.pe=function(z){var B=[E,k,p,y];a.Matrix.mapPoints(z,B);z=B[0];var F=B[1],J=B[2];B=B[3];this.ie();return this.Td=a.Shader.MakeLinearGradient([z,F],[J,B],this.be,this.Ud,a.TileMode.Clamp)}}function V(E,k,p,y,z,B){if(e([k,p,y,z,B])){if(0>B)throw"radii cannot be negative";E.isEmpty()&&E.moveTo(k,
p);E.arcToTangent(k,p,y,z,B)}}function X(E,k,p,y,z,B,F){F=(F-B)/Math.PI*180;B=B/Math.PI*180;k=a.LTRBRect(k-y,p-z,k+y,p+z);1E-5>Math.abs(Math.abs(F)-360)?(p=F/2,E.arcToOval(k,B,p,!1),E.arcToOval(k,B+p,p,!1)):E.arcToOval(k,B,F,!1)}function r(E,k,p,y,z,B,F,J,ba){if(e([k,p,y,z,B,F,J])){if(0>y||0>z)throw"radii cannot be negative";var ca=2*Math.PI,Ha=F%ca;0>Ha&&(Ha+=ca);var ab=Ha-F;F=Ha;J+=ab;!ba&&J-F>=ca?J=F+ca:ba&&F-J>=ca?J=F-ca:!ba&&F>J?J=F+(ca-(F-J)%ca):ba&&F<J&&(J=F-(ca-(J-F)%ca));B?(ba=a.Matrix.rotated(B,
k,p),B=a.Matrix.rotated(-B,k,p),E.transform(B),X(E,k,p,y,z,F,J),E.transform(ba)):X(E,k,p,y,z,F,J)}}function C(E,k,p){e([k,p])&&(E.isEmpty()&&E.moveTo(k,p),E.lineTo(k,p))}function P(E){this.Vd=new a.PathBuilder;"string"===typeof E?(E=a.Path.MakeFromSVGString(E),this.Vd.addPath(E),E.delete()):E&&E.ge&&(E=E.ge(),this.Vd.addPath(E),E.delete());this.ge=function(){return this.Vd.snapshot()};this.addPath=function(k,p){p||={a:1,c:0,e:0,b:0,d:1,f:0};k=k.ge();this.Vd.addPath(k,[p.a,p.c,p.e,p.b,p.d,p.f]);k.delete()};
this.arc=function(k,p,y,z,B,F){r(this.Vd,k,p,y,y,0,z,B,F)};this.arcTo=function(k,p,y,z,B){V(this.Vd,k,p,y,z,B)};this.bezierCurveTo=function(k,p,y,z,B,F){var J=this.Vd;e([k,p,y,z,B,F])&&(J.isEmpty()&&J.moveTo(k,p),J.cubicTo(k,p,y,z,B,F))};this.closePath=function(){var k=this.Vd;k.isEmpty()||1!=k.countPoints()&&k.close()};this.ellipse=function(k,p,y,z,B,F,J,ba){r(this.Vd,k,p,y,z,B,F,J,ba)};this.lineTo=function(k,p){C(this.Vd,k,p)};this.moveTo=function(k,p){var y=this.Vd;e([k,p])&&y.moveTo(k,p)};this.quadraticCurveTo=
function(k,p,y,z){var B=this.Vd;e([k,p,y,z])&&(B.isEmpty()&&B.moveTo(k,p),B.quadTo(k,p,y,z))};this.rect=function(k,p,y,z){var B=this.Vd;k=a.XYWHRect(k,p,y,z);e(k)&&B.addRect(k)}}function aa(E,k){this.Td=null;E instanceof H&&(E=E.gf());this.qf=E;this._transform=a.Matrix.identity();""===k&&(k="repeat");switch(k){case "repeat-x":this.ve=a.TileMode.Repeat;this.we=a.TileMode.Decal;break;case "repeat-y":this.ve=a.TileMode.Decal;this.we=a.TileMode.Repeat;break;case "repeat":this.we=this.ve=a.TileMode.Repeat;
break;case "no-repeat":this.we=this.ve=a.TileMode.Decal;break;default:throw"invalid repetition mode "+k;}this.setTransform=function(p){p=[p.a,p.c,p.e,p.b,p.d,p.f,0,0,1];e(p)&&(this._transform=p)};this.oe=function(){var p=new aa;p.ve=this.ve;p.we=this.we;return p};this.ie=function(){this.Td&&(this.Td.delete(),this.Td=null)};this.pe=function(){this.ie();return this.Td=this.qf.makeShaderCubic(this.ve,this.we,1/3,1/3,this._transform)}}function ja(E,k,p,y,z,B){this.Td=null;this.be=[];this.Ud=[];this.addColorStop=
function(F,J){if(0>F||1<F||!isFinite(F))throw"offset must be between 0 and 1 inclusively";J=g(J);var ba=this.Ud.indexOf(F);if(-1!==ba)this.be[ba]=J;else{for(ba=0;ba<this.Ud.length&&!(this.Ud[ba]>F);ba++);this.Ud.splice(ba,0,F);this.be.splice(ba,0,J)}};this.oe=function(){var F=new ja(E,k,p,y,z,B);F.be=this.be.slice();F.Ud=this.Ud.slice();return F};this.ie=function(){this.Td&&(this.Td.delete(),this.Td=null)};this.pe=function(F){var J=[E,k,y,z];a.Matrix.mapPoints(F,J);var ba=J[0],ca=J[1],Ha=J[2];J=J[3];
var ab=(Math.abs(F[0])+Math.abs(F[4]))/2;F=p*ab;ab*=B;this.ie();return this.Td=a.Shader.MakeTwoPointConicalGradient([ba,ca],F,[Ha,J],ab,this.be,this.Ud,a.TileMode.Clamp)}}a._testing={};var va={aliceblue:Float32Array.of(.941,.973,1,1),antiquewhite:Float32Array.of(.98,.922,.843,1),aqua:Float32Array.of(0,1,1,1),aquamarine:Float32Array.of(.498,1,.831,1),azure:Float32Array.of(.941,1,1,1),beige:Float32Array.of(.961,.961,.863,1),bisque:Float32Array.of(1,.894,.769,1),black:Float32Array.of(0,0,0,1),blanchedalmond:Float32Array.of(1,
.922,.804,1),blue:Float32Array.of(0,0,1,1),blueviolet:Float32Array.of(.541,.169,.886,1),brown:Float32Array.of(.647,.165,.165,1),burlywood:Float32Array.of(.871,.722,.529,1),cadetblue:Float32Array.of(.373,.62,.627,1),chartreuse:Float32Array.of(.498,1,0,1),chocolate:Float32Array.of(.824,.412,.118,1),coral:Float32Array.of(1,.498,.314,1),cornflowerblue:Float32Array.of(.392,.584,.929,1),cornsilk:Float32Array.of(1,.973,.863,1),crimson:Float32Array.of(.863,.078,.235,1),cyan:Float32Array.of(0,1,1,1),darkblue:Float32Array.of(0,
0,.545,1),darkcyan:Float32Array.of(0,.545,.545,1),darkgoldenrod:Float32Array.of(.722,.525,.043,1),darkgray:Float32Array.of(.663,.663,.663,1),darkgreen:Float32Array.of(0,.392,0,1),darkgrey:Float32Array.of(.663,.663,.663,1),darkkhaki:Float32Array.of(.741,.718,.42,1),darkmagenta:Float32Array.of(.545,0,.545,1),darkolivegreen:Float32Array.of(.333,.42,.184,1),darkorange:Float32Array.of(1,.549,0,1),darkorchid:Float32Array.of(.6,.196,.8,1),darkred:Float32Array.of(.545,0,0,1),darksalmon:Float32Array.of(.914,
.588,.478,1),darkseagreen:Float32Array.of(.561,.737,.561,1),darkslateblue:Float32Array.of(.282,.239,.545,1),darkslategray:Float32Array.of(.184,.31,.31,1),darkslategrey:Float32Array.of(.184,.31,.31,1),darkturquoise:Float32Array.of(0,.808,.82,1),darkviolet:Float32Array.of(.58,0,.827,1),deeppink:Float32Array.of(1,.078,.576,1),deepskyblue:Float32Array.of(0,.749,1,1),dimgray:Float32Array.of(.412,.412,.412,1),dimgrey:Float32Array.of(.412,.412,.412,1),dodgerblue:Float32Array.of(.118,.565,1,1),firebrick:Float32Array.of(.698,
.133,.133,1),floralwhite:Float32Array.of(1,.98,.941,1),forestgreen:Float32Array.of(.133,.545,.133,1),fuchsia:Float32Array.of(1,0,1,1),gainsboro:Float32Array.of(.863,.863,.863,1),ghostwhite:Float32Array.of(.973,.973,1,1),gold:Float32Array.of(1,.843,0,1),goldenrod:Float32Array.of(.855,.647,.125,1),gray:Float32Array.of(.502,.502,.502,1),green:Float32Array.of(0,.502,0,1),greenyellow:Float32Array.of(.678,1,.184,1),grey:Float32Array.of(.502,.502,.502,1),honeydew:Float32Array.of(.941,1,.941,1),hotpink:Float32Array.of(1,
.412,.706,1),indianred:Float32Array.of(.804,.361,.361,1),indigo:Float32Array.of(.294,0,.51,1),ivory:Float32Array.of(1,1,.941,1),khaki:Float32Array.of(.941,.902,.549,1),lavender:Float32Array.of(.902,.902,.98,1),lavenderblush:Float32Array.of(1,.941,.961,1),lawngreen:Float32Array.of(.486,.988,0,1),lemonchiffon:Float32Array.of(1,.98,.804,1),lightblue:Float32Array.of(.678,.847,.902,1),lightcoral:Float32Array.of(.941,.502,.502,1),lightcyan:Float32Array.of(.878,1,1,1),lightgoldenrodyellow:Float32Array.of(.98,
.98,.824,1),lightgray:Float32Array.of(.827,.827,.827,1),lightgreen:Float32Array.of(.565,.933,.565,1),lightgrey:Float32Array.of(.827,.827,.827,1),lightpink:Float32Array.of(1,.714,.757,1),lightsalmon:Float32Array.of(1,.627,.478,1),lightseagreen:Float32Array.of(.125,.698,.667,1),lightskyblue:Float32Array.of(.529,.808,.98,1),lightslategray:Float32Array.of(.467,.533,.6,1),lightslategrey:Float32Array.of(.467,.533,.6,1),lightsteelblue:Float32Array.of(.69,.769,.871,1),lightyellow:Float32Array.of(1,1,.878,
1),lime:Float32Array.of(0,1,0,1),limegreen:Float32Array.of(.196,.804,.196,1),linen:Float32Array.of(.98,.941,.902,1),magenta:Float32Array.of(1,0,1,1),maroon:Float32Array.of(.502,0,0,1),mediumaquamarine:Float32Array.of(.4,.804,.667,1),mediumblue:Float32Array.of(0,0,.804,1),mediumorchid:Float32Array.of(.729,.333,.827,1),mediumpurple:Float32Array.of(.576,.439,.859,1),mediumseagreen:Float32Array.of(.235,.702,.443,1),mediumslateblue:Float32Array.of(.482,.408,.933,1),mediumspringgreen:Float32Array.of(0,
.98,.604,1),mediumturquoise:Float32Array.of(.282,.82,.8,1),mediumvioletred:Float32Array.of(.78,.082,.522,1),midnightblue:Float32Array.of(.098,.098,.439,1),mintcream:Float32Array.of(.961,1,.98,1),mistyrose:Float32Array.of(1,.894,.882,1),moccasin:Float32Array.of(1,.894,.71,1),navajowhite:Float32Array.of(1,.871,.678,1),navy:Float32Array.of(0,0,.502,1),oldlace:Float32Array.of(.992,.961,.902,1),olive:Float32Array.of(.502,.502,0,1),olivedrab:Float32Array.of(.42,.557,.137,1),orange:Float32Array.of(1,.647,
0,1),orangered:Float32Array.of(1,.271,0,1),orchid:Float32Array.of(.855,.439,.839,1),palegoldenrod:Float32Array.of(.933,.91,.667,1),palegreen:Float32Array.of(.596,.984,.596,1),paleturquoise:Float32Array.of(.686,.933,.933,1),palevioletred:Float32Array.of(.859,.439,.576,1),papayawhip:Float32Array.of(1,.937,.835,1),peachpuff:Float32Array.of(1,.855,.725,1),peru:Float32Array.of(.804,.522,.247,1),pink:Float32Array.of(1,.753,.796,1),plum:Float32Array.of(.867,.627,.867,1),powderblue:Float32Array.of(.69,.878,
.902,1),purple:Float32Array.of(.502,0,.502,1),rebeccapurple:Float32Array.of(.4,.2,.6,1),red:Float32Array.of(1,0,0,1),rosybrown:Float32Array.of(.737,.561,.561,1),royalblue:Float32Array.of(.255,.412,.882,1),saddlebrown:Float32Array.of(.545,.271,.075,1),salmon:Float32Array.of(.98,.502,.447,1),sandybrown:Float32Array.of(.957,.643,.376,1),seagreen:Float32Array.of(.18,.545,.341,1),seashell:Float32Array.of(1,.961,.933,1),sienna:Float32Array.of(.627,.322,.176,1),silver:Float32Array.of(.753,.753,.753,1),skyblue:Float32Array.of(.529,
.808,.922,1),slateblue:Float32Array.of(.416,.353,.804,1),slategray:Float32Array.of(.439,.502,.565,1),slategrey:Float32Array.of(.439,.502,.565,1),snow:Float32Array.of(1,.98,.98,1),springgreen:Float32Array.of(0,1,.498,1),steelblue:Float32Array.of(.275,.51,.706,1),tan:Float32Array.of(.824,.706,.549,1),teal:Float32Array.of(0,.502,.502,1),thistle:Float32Array.of(.847,.749,.847,1),tomato:Float32Array.of(1,.388,.278,1),transparent:Float32Array.of(0,0,0,0),turquoise:Float32Array.of(.251,.878,.816,1),violet:Float32Array.of(.933,
.51,.933,1),wheat:Float32Array.of(.961,.871,.702,1),white:Float32Array.of(1,1,1,1),whitesmoke:Float32Array.of(.961,.961,.961,1),yellow:Float32Array.of(1,1,0,1),yellowgreen:Float32Array.of(.604,.804,.196,1)};a._testing.parseColor=g;a._testing.colorToString=c;var wa=RegExp("(italic|oblique|normal|)\\s*(small-caps|normal|)\\s*(bold|bolder|lighter|[1-9]00|normal|)\\s*([\\d\\.]+)(px|pt|pc|in|cm|mm|%|em|ex|ch|rem|q)(.+)"),la;a._testing.parseFontString=l;a.MakeCanvas=function(E,k){return(E=a.MakeSurface(E,
k))?new A(E):null};a.ImageData=function(){if(2===arguments.length){var E=arguments[0],k=arguments[1];return new L(new Uint8ClampedArray(4*E*k),E,k)}if(3===arguments.length){var p=arguments[0];if(p.prototype.constructor!==Uint8ClampedArray)throw new TypeError("bytes must be given as a Uint8ClampedArray");E=arguments[1];k=arguments[2];if(p%4)throw new TypeError("bytes must be given in a multiple of 4");if(p%E)throw new TypeError("bytes must divide evenly by width");if(k&&k!==p/(4*E))throw new TypeError("invalid height given");
return new L(p,E,p/(4*E))}throw new TypeError("invalid number of arguments - takes 2 or 3, saw "+arguments.length);}})()})(u);var Ca="./this.program",Da=(a,b)=>{throw b;},Ea="",Fa,Ga;
if(pa){var fs=require("fs");require("path");Ea=__dirname+"/";Ga=a=>{a=Ia(a)?new URL(a):a;return fs.readFileSync(a)};Fa=async a=>{a=Ia(a)?new URL(a):a;return fs.readFileSync(a,void 0)};1<process.argv.length&&(Ca=process.argv[1].replace(/\\/g,"/"));process.argv.slice(2);Da=(a,b)=>{process.exitCode=a;throw b;}}else if(na||oa)oa?Ea=self.location.href:"undefined"!=typeof document&&document.currentScript&&(Ea=document.currentScript.src),_scriptName&&(Ea=_scriptName),Ea.startsWith("blob:")?Ea="":Ea=Ea.slice(0,
Ea.replace(/[?#].*/,"").lastIndexOf("/")+1),oa&&(Ga=a=>{var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Fa=async a=>{if(Ia(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);};var Ja=console.log.bind(console),Ka=console.error.bind(console),La,Oa=!1,Pa,Ra,Sa,Ta,N,O,R,Ua,Va,Wa,Ia=a=>a.startsWith("file://");function Xa(){var a=La.buffer;Pa=new Int8Array(a);Sa=new Int16Array(a);u.HEAPU8=Ra=new Uint8Array(a);u.HEAPU16=Ta=new Uint16Array(a);u.HEAP32=N=new Int32Array(a);u.HEAPU32=O=new Uint32Array(a);u.HEAPF32=R=new Float32Array(a);Wa=new Float64Array(a);Ua=new BigInt64Array(a);Va=new BigUint64Array(a)}var Ya=0,bb=null;
function cb(a){a="Aborted("+a+")";Ka(a);Oa=!0;a=new WebAssembly.RuntimeError(a+". Build with -sASSERTIONS for more info.");ha(a);throw a;}var eb;async function fb(a){try{var b=await Fa(a);return new Uint8Array(b)}catch{}if(Ga)a=Ga(a);else throw"both async and sync fetching of the wasm failed";return a}async function gb(a,b){try{var d=await fb(a);return await WebAssembly.instantiate(d,b)}catch(f){Ka(`failed to asynchronously prepare wasm: ${f}`),cb(f)}}
async function hb(a){var b=eb;if("function"==typeof WebAssembly.instantiateStreaming&&!Ia(b)&&!pa)try{var d=fetch(b,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(d,a)}catch(f){Ka(`wasm streaming compile failed: ${f}`),Ka("falling back to ArrayBuffer instantiation")}return gb(b,a)}class ib{name="ExitStatus";constructor(a){this.message=`Program terminated with exit(${a})`;this.status=a}}
var jb="undefined"!=typeof TextDecoder?new TextDecoder:void 0,kb=(a,b=0,d=NaN)=>{var f=b+d;for(d=b;a[d]&&!(d>=f);)++d;if(16<d-b&&a.buffer&&jb)return jb.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 v=a[b++]&63;h=224==(h&240)?(h&15)<<12|n<<6|v:(h&7)<<18|n<<12|v<<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},
lb={},mb=a=>{for(;a.length;){var b=a.pop();a.pop()(b)}};function nb(a){return this.fromWireType(O[a>>2])}
var qb={},rb={},sb={},tb=u.InternalError=class extends Error{constructor(a){super(a);this.name="InternalError"}},vb=(a,b,d)=>{function f(m){m=d(m);if(m.length!==a.length)throw new tb("Mismatched type converter count");for(var q=0;q<a.length;++q)ub(a[q],m[q])}a.forEach(m=>sb[m]=b);var h=Array(b.length),n=[],v=0;b.forEach((m,q)=>{rb.hasOwnProperty(m)?h[q]=rb[m]:(n.push(m),qb.hasOwnProperty(m)||(qb[m]=[]),qb[m].push(()=>{h[q]=rb[m];++v;v===n.length&&f(h)}))});0===n.length&&f(h)},wb=a=>{if(null===a)return"null";
var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a},xb,yb=a=>{for(var b="";Ra[a];)b+=xb[Ra[a++]];return b},T=u.BindingError=class extends Error{constructor(a){super(a);this.name="BindingError"}};
function zb(a,b,d={}){var f=b.name;if(!a)throw new T(`type "${f}" must have a positive integer typeid pointer`);if(rb.hasOwnProperty(a)){if(d.Hf)return;throw new T(`Cannot register type '${f}' twice`);}rb[a]=b;delete sb[a];qb.hasOwnProperty(a)&&(b=qb[a],delete qb[a],b.forEach(h=>h()))}function ub(a,b,d={}){return zb(a,b,d)}
var Ab=(a,b,d)=>{switch(b){case 1:return d?f=>Pa[f]:f=>Ra[f];case 2:return d?f=>Sa[f>>1]:f=>Ta[f>>1];case 4:return d?f=>N[f>>2]:f=>O[f>>2];case 8:return d?f=>Ua[f>>3]:f=>Va[f>>3];default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Bb=a=>{throw new T(a.Fd.Qd.Ld.name+" instance already deleted");},Cb=!1,Db=()=>{},Eb=a=>{if("undefined"===typeof FinalizationRegistry)return Eb=b=>b,a;Cb=new FinalizationRegistry(b=>{b=b.Fd;--b.count.value;0===b.count.value&&(b.Rd?b.ae.fe(b.Rd):b.Qd.Ld.fe(b.Md))});
Eb=b=>{var d=b.Fd;d.Rd&&Cb.register(b,{Fd:d},b);return b};Db=b=>{Cb.unregister(b)};return Eb(a)},Fb=[];function Gb(){}
var Hb=(a,b)=>Object.defineProperty(b,"name",{value:a}),Ib={},Jb=(a,b,d)=>{if(void 0===a[b].Sd){var f=a[b];a[b]=function(...h){if(!a[b].Sd.hasOwnProperty(h.length))throw new T(`Function '${d}' called with an invalid number of arguments (${h.length}) - expects one of (${a[b].Sd})!`);return a[b].Sd[h.length].apply(this,h)};a[b].Sd=[];a[b].Sd[f.ke]=f}},Kb=(a,b,d)=>{if(u.hasOwnProperty(a)){if(void 0===d||void 0!==u[a].Sd&&void 0!==u[a].Sd[d])throw new T(`Cannot register public name '${a}' twice`);Jb(u,
a,a);if(u[a].Sd.hasOwnProperty(d))throw new T(`Cannot register multiple overloads of a function with the same number of arguments (${d})!`);u[a].Sd[d]=b}else u[a]=b,u[a].ke=d},Lb=a=>{a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?`_${a}`:a};function Sb(a,b,d,f,h,n,v,m){this.name=a;this.constructor=b;this.ze=d;this.fe=f;this.Wd=h;this.Cf=n;this.Ie=v;this.xf=m;this.Nf=[]}
var Tb=(a,b,d)=>{for(;b!==d;){if(!b.Ie)throw new T(`Expected null or instance of ${d.name}, got an instance of ${b.name}`);a=b.Ie(a);b=b.Wd}return a};function Ub(a,b){if(null===b){if(this.Ye)throw new T(`null is not a valid ${this.name}`);return 0}if(!b.Fd)throw new T(`Cannot pass "${wb(b)}" as a ${this.name}`);if(!b.Fd.Md)throw new T(`Cannot pass deleted object as a pointer of type ${this.name}`);return Tb(b.Fd.Md,b.Fd.Qd.Ld,this.Ld)}
function Vb(a,b){if(null===b){if(this.Ye)throw new T(`null is not a valid ${this.name}`);if(this.Pe){var d=this.Ze();null!==a&&a.push(this.fe,d);return d}return 0}if(!b||!b.Fd)throw new T(`Cannot pass "${wb(b)}" as a ${this.name}`);if(!b.Fd.Md)throw new T(`Cannot pass deleted object as a pointer of type ${this.name}`);if(!this.Oe&&b.Fd.Qd.Oe)throw new T(`Cannot convert argument of type ${b.Fd.ae?b.Fd.ae.name:b.Fd.Qd.name} to parameter type ${this.name}`);d=Tb(b.Fd.Md,b.Fd.Qd.Ld,this.Ld);if(this.Pe){if(void 0===
b.Fd.Rd)throw new T("Passing raw pointer to smart pointer is illegal");switch(this.Sf){case 0:if(b.Fd.ae===this)d=b.Fd.Rd;else throw new T(`Cannot convert argument of type ${b.Fd.ae?b.Fd.ae.name:b.Fd.Qd.name} to parameter type ${this.name}`);break;case 1:d=b.Fd.Rd;break;case 2:if(b.Fd.ae===this)d=b.Fd.Rd;else{var f=b.clone();d=this.Of(d,Wb(()=>f["delete"]()));null!==a&&a.push(this.fe,d)}break;default:throw new T("Unsupporting sharing policy");}}return d}
function Xb(a,b){if(null===b){if(this.Ye)throw new T(`null is not a valid ${this.name}`);return 0}if(!b.Fd)throw new T(`Cannot pass "${wb(b)}" as a ${this.name}`);if(!b.Fd.Md)throw new T(`Cannot pass deleted object as a pointer of type ${this.name}`);if(b.Fd.Qd.Oe)throw new T(`Cannot convert argument of type ${b.Fd.Qd.name} to parameter type ${this.name}`);return Tb(b.Fd.Md,b.Fd.Qd.Ld,this.Ld)}
var Yb=(a,b,d)=>{if(b===d)return a;if(void 0===d.Wd)return null;a=Yb(a,b,d.Wd);return null===a?null:d.xf(a)},Zb={},$b=(a,b)=>{if(void 0===b)throw new T("ptr should not be undefined");for(;a.Wd;)b=a.Ie(b),a=a.Wd;return Zb[b]},ac=(a,b)=>{if(!b.Qd||!b.Md)throw new tb("makeClassHandle requires ptr and ptrType");if(!!b.ae!==!!b.Rd)throw new tb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return Eb(Object.create(a,{Fd:{value:b,writable:!0}}))};
function bc(a,b,d,f,h,n,v,m,q,w,D){this.name=a;this.Ld=b;this.Ye=d;this.Oe=f;this.Pe=h;this.Mf=n;this.Sf=v;this.jf=m;this.Ze=q;this.Of=w;this.fe=D;h||void 0!==b.Wd?this.toWireType=Vb:(this.toWireType=f?Ub:Xb,this.$d=null)}
var cc=(a,b,d)=>{if(!u.hasOwnProperty(a))throw new tb("Replacing nonexistent public symbol");void 0!==u[a].Sd&&void 0!==d?u[a].Sd[d]=b:(u[a]=b,u[a].ke=d)},dc,ec=(a,b)=>{a=yb(a);var d=dc.get(b);if("function"!=typeof d)throw new T(`unknown function pointer with signature ${a}: ${b}`);return d};class fc extends Error{}
var ic=a=>{a=gc(a);var b=yb(a);hc(a);return b},jc=(a,b)=>{function d(n){h[n]||rb[n]||(sb[n]?sb[n].forEach(d):(f.push(n),h[n]=!0))}var f=[],h={};b.forEach(d);throw new fc(`${a}: `+f.map(ic).join([", "]));};function kc(a){for(var b=1;b<a.length;++b)if(null!==a[b]&&void 0===a[b].$d)return!0;return!1}
function lc(a,b,d,f,h){var n=b.length;if(2>n)throw new T("argTypes array size mismatch! Must at least get return value and 'this' types!");var v=null!==b[1]&&null!==d,m=kc(b),q="void"!==b[0].name,w=n-2,D=Array(w),G=[],K=[];return Hb(a,function(...Y){K.length=0;G.length=v?2:1;G[0]=h;if(v){var ea=b[1].toWireType(K,this);G[1]=ea}for(var fa=0;fa<w;++fa)D[fa]=b[fa+2].toWireType(K,Y[fa]),G.push(D[fa]);Y=f(...G);if(m)mb(K);else for(fa=v?1:2;fa<b.length;fa++){var S=1===fa?ea:D[fa-2];null!==b[fa].$d&&b[fa].$d(S)}ea=
q?b[0].fromWireType(Y):void 0;return ea})}
for(var mc=(a,b)=>{for(var d=[],f=0;f<a;f++)d.push(O[b+4*f>>2]);return d},tc=a=>{a=a.trim();const b=a.indexOf("(");return-1===b?a:a.slice(0,b)},uc=[],vc=[],wc=a=>{9<a&&0===--vc[a+1]&&(vc[a]=void 0,uc.push(a))},xc=a=>{if(!a)throw new T(`Cannot use deleted val. handle = ${a}`);return vc[a]},Wb=a=>{switch(a){case void 0:return 2;case null:return 4;case !0:return 6;case !1:return 8;default:const b=uc.pop()||vc.length;vc[b]=a;vc[b+1]=1;return b}},yc={name:"emscripten::val",fromWireType:a=>{var b=xc(a);
wc(a);return b},toWireType:(a,b)=>Wb(b),Yd:8,readValueFromPointer:nb,$d:null},zc=(a,b,d)=>{switch(b){case 1:return d?function(f){return this.fromWireType(Pa[f])}:function(f){return this.fromWireType(Ra[f])};case 2:return d?function(f){return this.fromWireType(Sa[f>>1])}:function(f){return this.fromWireType(Ta[f>>1])};case 4:return d?function(f){return this.fromWireType(N[f>>2])}:function(f){return this.fromWireType(O[f>>2])};default:throw new TypeError(`invalid integer width (${b}): ${a}`);}},Ac=
(a,b)=>{var d=rb[a];if(void 0===d)throw a=`${b} has unknown type ${ic(a)}`,new T(a);return d},Bc=(a,b)=>{switch(b){case 4:return function(d){return this.fromWireType(R[d>>2])};case 8:return function(d){return this.fromWireType(Wa[d>>3])};default:throw new TypeError(`invalid float width (${b}): ${a}`);}},Ba=(a,b,d)=>{var f=Ra;if(!(0<d))return 0;var h=b;d=b+d-1;for(var n=0;n<a.length;++n){var v=a.charCodeAt(n);if(55296<=v&&57343>=v){var m=a.charCodeAt(++n);v=65536+((v&1023)<<10)|m&1023}if(127>=v){if(b>=
d)break;f[b++]=v}else{if(2047>=v){if(b+1>=d)break;f[b++]=192|v>>6}else{if(65535>=v){if(b+2>=d)break;f[b++]=224|v>>12}else{if(b+3>=d)break;f[b++]=240|v>>18;f[b++]=128|v>>12&63}f[b++]=128|v>>6&63}f[b++]=128|v&63}}f[b]=0;return b-h},Aa=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},Cc="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Dc=(a,b)=>{var d=a>>1;for(var f=d+b/2;!(d>=f)&&Ta[d];)++d;d<<=1;if(32<d-
a&&Cc)return Cc.decode(Ra.subarray(a,d));d="";for(f=0;!(f>=b/2);++f){var h=Sa[a+2*f>>1];if(0==h)break;d+=String.fromCharCode(h)}return d},Ec=(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)Sa[b>>1]=a.charCodeAt(h),b+=2;Sa[b>>1]=0;return b-f},Fc=a=>2*a.length,Gc=(a,b)=>{for(var d=0,f="";!(d>=b/4);){var h=N[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},Hc=(a,b,
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 v=a.charCodeAt(++h);n=65536+((n&1023)<<10)|v&1023}N[b>>2]=n;b+=4;if(b+4>d)break}N[b>>2]=0;return b-f},Ic=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},Jc=(a,b,d)=>{var f=[];a=a.toWireType(f,d);f.length&&(O[b>>2]=Wb(f));return a},Kc=[],Lc={},Mc=a=>{var b=Lc[a];return void 0===b?yb(a):b},Nc=()=>{function a(b){b.$$$embind_global$$$=
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.");},Oc=a=>{var b=Kc.length;Kc.push(a);return b},
Pc=(a,b)=>{for(var d=Array(a),f=0;f<a;++f)d[f]=Ac(O[b+4*f>>2],`parameter ${f}`);return d},Qc=Reflect.construct,U,Rc=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,v)=>b.drawElementsInstancedANGLE(d,f,h,n,v))},Sc=a=>{var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=()=>b.createVertexArrayOES(),a.deleteVertexArray=
d=>b.deleteVertexArrayOES(d),a.bindVertexArray=d=>b.bindVertexArrayOES(d),a.isVertexArray=d=>b.isVertexArrayOES(d))},Tc=a=>{var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=(d,f)=>b.drawBuffersWEBGL(d,f))},Uc=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(" ");
return(a.getSupportedExtensions()||[]).filter(d=>b.includes(d))},Vc=1,Wc=[],Xc=[],Yc=[],Zc=[],ra=[],$c=[],ad=[],za=[],bd=[],cd=[],dd=[],ed={},fd={},gd=4,hd=0,qa=a=>{for(var b=Vc++,d=a.length;d<b;d++)a[d]=null;return b},ld=(a,b,d,f)=>{for(var h=0;h<a;h++){var n=U[d](),v=n&&qa(f);n?(n.name=v,f[v]=n):W||=1282;N[b+4*h>>2]=v}},sa=(a,b)=>{a.af||(a.af=a.getContext,a.getContext=function(f,h){h=a.af(f,h);return"webgl"==f==h instanceof WebGLRenderingContext?h:null});var d=1<b.majorVersion?a.getContext("webgl2",
b):a.getContext("webgl",b);return d?md(d,b):0},md=(a,b)=>{var d=qa(za),f={handle:d,attributes:b,version:b.majorVersion,ce:a};a.canvas&&(a.canvas.mf=f);za[d]=f;("undefined"==typeof b.yf||b.yf)&&nd(f);return d},ta=a=>{I=za[a];u.ctx=U=I?.ce;return!(a&&!U)},nd=a=>{a||=I;if(!a.If){a.If=!0;var b=a.ce;b.ag=b.getExtension("WEBGL_multi_draw");b.Zf=b.getExtension("EXT_polygon_offset_clamp");b.Yf=b.getExtension("EXT_clip_control");b.cg=b.getExtension("WEBGL_polygon_mode");Rc(b);Sc(b);Tc(b);b.ef=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");
b.hf=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.ee=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.ee)b.ee=b.getExtension("EXT_disjoint_timer_query");Uc(b).forEach(d=>{d.includes("lose_context")||d.includes("debug")||b.getExtension(d)})}},I,W,od=(a,b)=>{U.bindFramebuffer(a,Yc[b])},pd=a=>{U.bindVertexArray(ad[a])},qd=a=>U.clear(a),rd=(a,b,d,f)=>U.clearColor(a,b,d,f),sd=a=>U.clearStencil(a),td=(a,b)=>{for(var d=0;d<a;d++){var f=N[b+
4*d>>2];U.deleteVertexArray(ad[f]);ad[f]=null}},ud=[],vd=(a,b)=>{ld(a,b,"createVertexArray",ad)},wd=()=>{var a=Uc(U);return a=a.concat(a.map(b=>"GL_"+b))},xd=(a,b,d)=>{if(b){var f=void 0;switch(a){case 36346:f=1;break;case 36344:0!=d&&1!=d&&(W||=1280);return;case 34814:case 36345:f=0;break;case 34466:var h=U.getParameter(34467);f=h?h.length:0;break;case 33309:if(2>I.version){W||=1282;return}f=wd().length;break;case 33307:case 33308:if(2>I.version){W||=1280;return}f=33307==a?3:0}if(void 0===f)switch(h=
U.getParameter(a),typeof h){case "number":f=h;break;case "boolean":f=h?1:0;break;case "string":W||=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:W||=1280;return}else{if(h instanceof Float32Array||h instanceof Uint32Array||h instanceof Int32Array||h instanceof Array){for(a=
0;a<h.length;++a)switch(d){case 0:N[b+4*a>>2]=h[a];break;case 2:R[b+4*a>>2]=h[a];break;case 4:Pa[b+a]=h[a]?1:0}return}try{f=h.name|0}catch(n){W||=1280;Ka(`GL_INVALID_ENUM in glGet${d}v: Unknown object returned from WebGL getParameter(${a})! (error: ${n})`);return}}break;default:W||=1280;Ka(`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;O[b>>2]=d;O[b+4>>2]=(d-O[b>>2])/4294967296;break;case 0:N[b>>2]=f;break;
case 2:R[b>>2]=f;break;case 4:Pa[b]=f?1:0}}else W||=1281},yd=(a,b)=>xd(a,b,0),zd=(a,b,d)=>{if(d){a=bd[a];b=2>I.version?U.ee.getQueryObjectEXT(a,b):U.getQueryParameter(a,b);var f;"boolean"==typeof b?f=b?1:0:f=b;O[d>>2]=f;O[d+4>>2]=(f-O[d>>2])/4294967296}else W||=1281},Bd=a=>{var b=Aa(a)+1,d=Ad(b);d&&Ba(a,d,b);return d},Cd=a=>{var b=ed[a];if(!b){switch(a){case 7939:b=Bd(wd().join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=U.getParameter(a))||(W||=1280);b=b?Bd(b):0;break;case 7938:b=U.getParameter(7938);
var d=`OpenGL ES 2.0 (${b})`;2<=I.version&&(d=`OpenGL ES 3.0 (${b})`);b=Bd(d);break;case 35724:b=U.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=Bd(b);break;default:W||=1280}ed[a]=b}return b},Dd=(a,b)=>{if(2>I.version)return W||=1282,0;var d=fd[a];if(d)return 0>b||b>=d.length?(W||=1281,0):d[b];switch(a){case 7939:return d=wd().map(Bd),d=fd[a]=d,0>b||b>=d.length?(W||=1281,0):d[b];default:return W||=
1280,0}},Ed=a=>"]"==a.slice(-1)&&a.lastIndexOf("["),Fd=a=>{a-=5120;return 0==a?Pa:1==a?Ra:2==a?Sa:4==a?N:6==a?R:5==a||28922==a||28520==a||30779==a||30782==a?O:Ta},Gd=(a,b,d,f,h)=>{a=Fd(a);b=f*((hd||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+gd-1&-gd);return a.subarray(h>>>31-Math.clz32(a.BYTES_PER_ELEMENT),h+b>>>31-Math.clz32(a.BYTES_PER_ELEMENT))},Z=a=>{var b=U.wf;if(b){var d=b.He[a];"number"==typeof d&&(b.He[a]=d=U.getUniformLocation(b,b.kf[a]+
(0<d?`[${d}]`:"")));return d}W||=1282},Hd=[],Id=[],Jd={},Ld=()=>{if(!Kd){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",_:Ca||"./this.program"},b;for(b in Jd)void 0===Jd[b]?delete a[b]:a[b]=Jd[b];var d=[];for(b in a)d.push(`${b}=${a[b]}`);Kd=d}return Kd},Kd,Md=[null,[],[]],Nd=Array(256),Od=0;256>Od;++Od)Nd[Od]=String.fromCharCode(Od);xb=Nd;
(()=>{let a=Gb.prototype;Object.assign(a,{isAliasOf:function(d){if(!(this instanceof Gb&&d instanceof Gb))return!1;var f=this.Fd.Qd.Ld,h=this.Fd.Md;d.Fd=d.Fd;var n=d.Fd.Qd.Ld;for(d=d.Fd.Md;f.Wd;)h=f.Ie(h),f=f.Wd;for(;n.Wd;)d=n.Ie(d),n=n.Wd;return f===n&&h===d},clone:function(){this.Fd.Md||Bb(this);if(this.Fd.Ge)return this.Fd.count.value+=1,this;var d=Eb,f=Object,h=f.create,n=Object.getPrototypeOf(this),v=this.Fd;d=d(h.call(f,n,{Fd:{value:{count:v.count,Fe:v.Fe,Ge:v.Ge,Md:v.Md,Qd:v.Qd,Rd:v.Rd,ae:v.ae}}}));
d.Fd.count.value+=1;d.Fd.Fe=!1;return d},["delete"](){this.Fd.Md||Bb(this);if(this.Fd.Fe&&!this.Fd.Ge)throw new T("Object already scheduled for deletion");Db(this);var d=this.Fd;--d.count.value;0===d.count.value&&(d.Rd?d.ae.fe(d.Rd):d.Qd.Ld.fe(d.Md));this.Fd.Ge||(this.Fd.Rd=void 0,this.Fd.Md=void 0)},isDeleted:function(){return!this.Fd.Md},deleteLater:function(){this.Fd.Md||Bb(this);if(this.Fd.Fe&&!this.Fd.Ge)throw new T("Object already scheduled for deletion");Fb.push(this);this.Fd.Fe=!0;return this}});
const b=Symbol.dispose;b&&(a[b]=a["delete"])})();
Object.assign(bc.prototype,{Df(a){this.jf&&(a=this.jf(a));return a},df(a){this.fe?.(a)},Yd:8,readValueFromPointer:nb,fromWireType:function(a){function b(){return this.Pe?ac(this.Ld.ze,{Qd:this.Mf,Md:d,ae:this,Rd:a}):ac(this.Ld.ze,{Qd:this,Md:a})}var d=this.Df(a);if(!d)return this.df(a),null;var f=$b(this.Ld,d);if(void 0!==f){if(0===f.Fd.count.value)return f.Fd.Md=d,f.Fd.Rd=a,f.clone();f=f.clone();this.df(a);return f}f=this.Ld.Cf(d);f=Ib[f];if(!f)return b.call(this);f=this.Oe?f.uf:f.pointerType;var h=
Yb(d,this.Ld,f.Ld);return null===h?b.call(this):this.Pe?ac(f.Ld.ze,{Qd:f,Md:h,ae:this,Rd:a}):ac(f.Ld.ze,{Qd:f,Md:h})}});vc.push(0,1,void 0,1,null,1,!0,1,!1,1);u.count_emval_handles=()=>vc.length/2-5-uc.length;for(let a=0;32>a;++a)ud.push(Array(a));for(var Pd=new Float32Array(288),Qd=0;288>=Qd;++Qd)Hd[Qd]=Pd.subarray(0,Qd);var Rd=new Int32Array(288);for(Qd=0;288>=Qd;++Qd)Id[Qd]=Rd.subarray(0,Qd);
var he={S:function(){return 0},hb:()=>{},jb:function(){return 0},eb:()=>{},fb:()=>{},T:function(){},gb:()=>{},kb:()=>cb(""),A:a=>{var b=lb[a];delete lb[a];var d=b.Ze,f=b.fe,h=b.ff,n=h.map(v=>v.Gf).concat(h.map(v=>v.Qf));vb([a],n,v=>{var m={};h.forEach((q,w)=>{var D=v[w],G=q.Ef,K=q.Ff,Y=v[w+h.length],ea=q.Pf,fa=q.Rf;m[q.zf]={read:S=>D.fromWireType(G(K,S)),write:(S,ya)=>{var ma=[];ea(fa,S,Y.toWireType(ma,ya));mb(ma)},optional:v[w].optional}});return[{name:b.name,fromWireType:q=>{var w={},D;for(D in m)w[D]=
m[D].read(q);f(q);return w},toWireType:(q,w)=>{for(var D in m)if(!(D in w||m[D].optional))throw new TypeError(`Missing field: "${D}"`);var G=d();for(D in m)m[D].write(G,w[D]);null!==q&&q.push(f,G);return G},Yd:8,readValueFromPointer:nb,$d:f}]})},Q:(a,b,d)=>{b=yb(b);ub(a,{name:b,fromWireType:f=>f,toWireType:function(f,h){if("bigint"!=typeof h&&"number"!=typeof h)throw new TypeError(`Cannot convert "${wb(h)}" to ${this.name}`);"number"==typeof h&&(h=BigInt(h));return h},Yd:8,readValueFromPointer:Ab(b,
d,-1==b.indexOf("u")),$d:null})},Ta:(a,b,d,f)=>{b=yb(b);ub(a,{name:b,fromWireType:function(h){return!!h},toWireType:function(h,n){return n?d:f},Yd:8,readValueFromPointer:function(h){return this.fromWireType(Ra[h])},$d:null})},l:(a,b,d,f,h,n,v,m,q,w,D,G,K)=>{D=yb(D);n=ec(h,n);m&&=ec(v,m);w&&=ec(q,w);K=ec(G,K);var Y=Lb(D);Kb(Y,function(){jc(`Cannot construct ${D} due to unbound types`,[f])});vb([a,b,d],f?[f]:[],ea=>{ea=ea[0];if(f){var fa=ea.Ld;var S=fa.ze}else S=Gb.prototype;ea=Hb(D,function(...$a){if(Object.getPrototypeOf(this)!==
ya)throw new T(`Use 'new' to construct ${D}`);if(void 0===ma.le)throw new T(`${D} has no accessible constructor`);var xa=ma.le[$a.length];if(void 0===xa)throw new T(`Tried to invoke ctor of ${D} with invalid number of parameters (${$a.length}) - expected (${Object.keys(ma.le).toString()}) parameters instead!`);return xa.apply(this,$a)});var ya=Object.create(S,{constructor:{value:ea}});ea.prototype=ya;var ma=new Sb(D,ea,ya,K,fa,n,m,w);if(ma.Wd){var Ma;(Ma=ma.Wd).Je??(Ma.Je=[]);ma.Wd.Je.push(ma)}fa=
new bc(D,ma,!0,!1,!1);Ma=new bc(D+"*",ma,!1,!1,!1);S=new bc(D+" const*",ma,!1,!0,!1);Ib[a]={pointerType:Ma,uf:S};cc(Y,ea);return[fa,Ma,S]})},e:(a,b,d,f,h,n,v)=>{var m=mc(d,f);b=yb(b);b=tc(b);n=ec(h,n);vb([],[a],q=>{function w(){jc(`Cannot call ${D} due to unbound types`,m)}q=q[0];var D=`${q.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var G=q.Ld.constructor;void 0===G[b]?(w.ke=d-1,G[b]=w):(Jb(G,b,D),G[b].Sd[d-1]=w);vb([],m,K=>{K=[K[0],null].concat(K.slice(1));K=lc(D,K,null,n,v);void 0===
G[b].Sd?(K.ke=d-1,G[b]=K):G[b].Sd[d-1]=K;if(q.Ld.Je)for(const Y of q.Ld.Je)Y.constructor.hasOwnProperty(b)||(Y.constructor[b]=K);return[]});return[]})},y:(a,b,d,f,h,n)=>{var v=mc(b,d);h=ec(f,h);vb([],[a],m=>{m=m[0];var q=`constructor ${m.name}`;void 0===m.Ld.le&&(m.Ld.le=[]);if(void 0!==m.Ld.le[b-1])throw new T(`Cannot register multiple constructors with identical number of parameters (${b-1}) for class '${m.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);
m.Ld.le[b-1]=()=>{jc(`Cannot construct ${m.name} due to unbound types`,v)};vb([],v,w=>{w.splice(1,0,null);m.Ld.le[b-1]=lc(q,w,null,h,n);return[]});return[]})},a:(a,b,d,f,h,n,v,m)=>{var q=mc(d,f);b=yb(b);b=tc(b);n=ec(h,n);vb([],[a],w=>{function D(){jc(`Cannot call ${G} due to unbound types`,q)}w=w[0];var G=`${w.name}.${b}`;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);m&&w.Ld.Nf.push(b);var K=w.Ld.ze,Y=K[b];void 0===Y||void 0===Y.Sd&&Y.className!==w.name&&Y.ke===d-2?(D.ke=d-2,D.className=w.name,K[b]=
D):(Jb(K,b,G),K[b].Sd[d-2]=D);vb([],q,ea=>{ea=lc(G,ea,w,n,v);void 0===K[b].Sd?(ea.ke=d-2,K[b]=ea):K[b].Sd[d-2]=ea;return[]});return[]})},u:(a,b,d)=>{a=yb(a);vb([],[b],f=>{f=f[0];u[a]=f.fromWireType(d);return[]})},Ra:a=>ub(a,yc),k:(a,b,d,f)=>{function h(){}b=yb(b);h.values={};ub(a,{name:b,constructor:h,fromWireType:function(n){return this.constructor.values[n]},toWireType:(n,v)=>v.value,Yd:8,readValueFromPointer:zc(b,d,f),$d:null});Kb(b,h)},b:(a,b,d)=>{var f=Ac(a,"enum");b=yb(b);a=f.constructor;f=
Object.create(f.constructor.prototype,{value:{value:d},constructor:{value:Hb(`${f.name}_${b}`,function(){})}});a.values[d]=f;a[b]=f},P:(a,b,d)=>{b=yb(b);ub(a,{name:b,fromWireType:f=>f,toWireType:(f,h)=>h,Yd:8,readValueFromPointer:Bc(b,d),$d:null})},x:(a,b,d,f,h,n)=>{var v=mc(b,d);a=yb(a);a=tc(a);h=ec(f,h);Kb(a,function(){jc(`Cannot call ${a} due to unbound types`,v)},b-1);vb([],v,m=>{m=[m[0],null].concat(m.slice(1));cc(a,lc(a,m,null,h,n),b-1);return[]})},C:(a,b,d,f,h)=>{b=yb(b);-1===h&&(h=4294967295);
h=m=>m;if(0===f){var n=32-8*d;h=m=>m<<n>>>n}var v=b.includes("unsigned")?function(m,q){return q>>>0}:function(m,q){return q};ub(a,{name:b,fromWireType:h,toWireType:v,Yd:8,readValueFromPointer:Ab(b,d,0!==f),$d:null})},t:(a,b,d)=>{function f(n){return new h(Pa.buffer,O[n+4>>2],O[n>>2])}var h=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][b];d=yb(d);ub(a,{name:d,fromWireType:f,Yd:8,readValueFromPointer:f},{Hf:!0})},s:(a,b,d,
f,h,n,v,m,q,w,D,G)=>{d=yb(d);n=ec(h,n);m=ec(v,m);w=ec(q,w);G=ec(D,G);vb([a],[b],K=>{K=K[0];return[new bc(d,K.Ld,!1,!1,!0,K,f,n,m,w,G)]})},Sa:(a,b)=>{b=yb(b);ub(a,{name:b,fromWireType:function(d){for(var f=O[d>>2],h=d+4,n,v=h,m=0;m<=f;++m){var q=h+m;if(m==f||0==Ra[q])v=v?kb(Ra,v,q-v):"",void 0===n?n=v:(n+=String.fromCharCode(0),n+=v),v=q+1}hc(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 T("Cannot pass non-string to std::string");
var n=h?Aa(f):f.length;var v=Ad(4+n+1),m=v+4;O[v>>2]=n;h?Ba(f,m,n+1):Ra.set(f,m);null!==d&&d.push(hc,v);return v},Yd:8,readValueFromPointer:nb,$d(d){hc(d)}})},M:(a,b,d)=>{d=yb(d);if(2===b){var f=Dc;var h=Ec;var n=Fc;var v=m=>Ta[m>>1]}else 4===b&&(f=Gc,h=Hc,n=Ic,v=m=>O[m>>2]);ub(a,{name:d,fromWireType:m=>{for(var q=O[m>>2],w,D=m+4,G=0;G<=q;++G){var K=m+4+G*b;if(G==q||0==v(K))D=f(D,K-D),void 0===w?w=D:(w+=String.fromCharCode(0),w+=D),D=K+b}hc(m);return w},toWireType:(m,q)=>{if("string"!=typeof q)throw new T(`Cannot pass non-string to C++ string type ${d}`);
var w=n(q),D=Ad(4+w+b);O[D>>2]=w/b;h(q,D+4,w+b);null!==m&&m.push(hc,D);return D},Yd:8,readValueFromPointer:nb,$d(m){hc(m)}})},B:(a,b,d,f,h,n)=>{lb[a]={name:yb(b),Ze:ec(d,f),fe:ec(h,n),ff:[]}},d:(a,b,d,f,h,n,v,m,q,w)=>{lb[a].ff.push({zf:yb(b),Gf:d,Ef:ec(f,h),Ff:n,Qf:v,Pf:ec(m,q),Rf:w})},Ua:(a,b)=>{b=yb(b);ub(a,{$f:!0,name:b,Yd:0,fromWireType:()=>{},toWireType:()=>{}})},Ya:()=>{throw Infinity;},D:(a,b,d)=>{a=xc(a);b=Ac(b,"emval::as");return Jc(b,d,a)},I:(a,b,d,f)=>{a=Kc[a];b=xc(b);return a(null,b,d,
f)},w:(a,b,d,f,h)=>{a=Kc[a];b=xc(b);d=Mc(d);return a(b,b[d],f,h)},c:wc,J:a=>{if(0===a)return Wb(Nc());a=Mc(a);return Wb(Nc()[a])},p:(a,b,d)=>{var f=Pc(a,b),h=f.shift();a--;var n=Array(a);b=`methodCaller<(${f.map(v=>v.name).join(", ")}) => ${h.name}>`;return Oc(Hb(b,(v,m,q,w)=>{for(var D=0,G=0;G<a;++G)n[G]=f[G].readValueFromPointer(w+D),D+=f[G].Yd;v=1===d?Qc(m,n):m.apply(v,n);return Jc(h,q,v)}))},z:(a,b)=>{a=xc(a);b=xc(b);return Wb(a[b])},G:a=>{9<a&&(vc[a+1]+=1)},F:()=>Wb([]),f:a=>Wb(Mc(a)),E:()=>
Wb({}),Qa:a=>{a=xc(a);return!a},m:a=>{var b=xc(a);mb(b);wc(a)},i:(a,b,d)=>{a=xc(a);b=xc(b);d=xc(d);a[b]=d},g:(a,b)=>{a=Ac(a,"_emval_take_value");a=a.readValueFromPointer(b);return Wb(a)},$a:function(){return-52},ab:function(){},lb:(a,b,d,f)=>{var h=(new Date).getFullYear(),n=(new Date(h,0,1)).getTimezoneOffset();h=(new Date(h,6,1)).getTimezoneOffset();O[a>>2]=60*Math.max(n,h);N[b>>2]=Number(n!=h);b=v=>{var m=Math.abs(v);return`UTC${0<=v?"-":"+"}${String(Math.floor(m/60)).padStart(2,"0")}${String(m%
60).padStart(2,"0")}`};a=b(n);b=b(h);h<n?(Ba(a,d,17),Ba(b,f,17)):(Ba(a,f,17),Ba(b,d,17))},Xa:function(a,b,d){if(!(0<=a&&3>=a))return 28;Ua[d>>3]=BigInt(Math.round(1E6*(0===a?Date.now():performance.now())));return 0},Xc:a=>U.activeTexture(a),Yc:(a,b)=>{U.attachShader(Xc[a],$c[b])},Ab:(a,b)=>{U.beginQuery(a,bd[b])},ub:(a,b)=>{U.ee.beginQueryEXT(a,bd[b])},Zc:(a,b,d)=>{U.bindAttribLocation(Xc[a],b,d?kb(Ra,d):"")},_c:(a,b)=>{35051==a?U.We=b:35052==a&&(U.ye=b);U.bindBuffer(a,Wc[b])},Zb:od,_b:(a,b)=>{U.bindRenderbuffer(a,
Zc[b])},Hb:(a,b)=>{U.bindSampler(a,cd[b])},$c:(a,b)=>{U.bindTexture(a,ra[b])},tc:pd,wc:pd,ad:(a,b,d,f)=>U.blendColor(a,b,d,f),bd:a=>U.blendEquation(a),cd:(a,b)=>U.blendFunc(a,b),Tb:(a,b,d,f,h,n,v,m,q,w)=>U.blitFramebuffer(a,b,d,f,h,n,v,m,q,w),dd:(a,b,d,f)=>{2<=I.version?d&&b?U.bufferData(a,Ra,f,d,b):U.bufferData(a,b,f):U.bufferData(a,d?Ra.subarray(d,d+b):b,f)},ed:(a,b,d,f)=>{2<=I.version?d&&U.bufferSubData(a,b,Ra,f,d):U.bufferSubData(a,b,Ra.subarray(f,f+d))},$b:a=>U.checkFramebufferStatus(a),fd:qd,
gd:rd,hd:sd,Qb:(a,b,d)=>{d=Number(d);return U.clientWaitSync(dd[a],b,d)},id:(a,b,d,f)=>{U.colorMask(!!a,!!b,!!d,!!f)},jd:a=>{U.compileShader($c[a])},kd:(a,b,d,f,h,n,v,m)=>{2<=I.version?U.ye||!v?U.compressedTexImage2D(a,b,d,f,h,n,v,m):U.compressedTexImage2D(a,b,d,f,h,n,Ra,m,v):U.compressedTexImage2D(a,b,d,f,h,n,Ra.subarray(m,m+v))},ld:(a,b,d,f,h,n,v,m,q)=>{2<=I.version?U.ye||!m?U.compressedTexSubImage2D(a,b,d,f,h,n,v,m,q):U.compressedTexSubImage2D(a,b,d,f,h,n,v,Ra,q,m):U.compressedTexSubImage2D(a,
b,d,f,h,n,v,Ra.subarray(q,q+m))},Sb:(a,b,d,f,h)=>U.copyBufferSubData(a,b,d,f,h),md:(a,b,d,f,h,n,v,m)=>U.copyTexSubImage2D(a,b,d,f,h,n,v,m),nd:()=>{var a=qa(Xc),b=U.createProgram();b.name=a;b.Se=b.Qe=b.Re=0;b.$e=1;Xc[a]=b;return a},od:a=>{var b=qa($c);$c[b]=U.createShader(a);return b},pd:a=>U.cullFace(a),qd:(a,b)=>{for(var d=0;d<a;d++){var f=N[b+4*d>>2],h=Wc[f];h&&(U.deleteBuffer(h),h.name=0,Wc[f]=null,f==U.We&&(U.We=0),f==U.ye&&(U.ye=0))}},ac:(a,b)=>{for(var d=0;d<a;++d){var f=N[b+4*d>>2],h=Yc[f];
h&&(U.deleteFramebuffer(h),h.name=0,Yc[f]=null)}},rd:a=>{if(a){var b=Xc[a];b?(U.deleteProgram(b),b.name=0,Xc[a]=null):W||=1281}},Cb:(a,b)=>{for(var d=0;d<a;d++){var f=N[b+4*d>>2],h=bd[f];h&&(U.deleteQuery(h),bd[f]=null)}},vb:(a,b)=>{for(var d=0;d<a;d++){var f=N[b+4*d>>2],h=bd[f];h&&(U.ee.deleteQueryEXT(h),bd[f]=null)}},bc:(a,b)=>{for(var d=0;d<a;d++){var f=N[b+4*d>>2],h=Zc[f];h&&(U.deleteRenderbuffer(h),h.name=0,Zc[f]=null)}},Ib:(a,b)=>{for(var d=0;d<a;d++){var f=N[b+4*d>>2],h=cd[f];h&&(U.deleteSampler(h),
h.name=0,cd[f]=null)}},sd:a=>{if(a){var b=$c[a];b?(U.deleteShader(b),$c[a]=null):W||=1281}},Rb:a=>{if(a){var b=dd[a];b?(U.deleteSync(b),b.name=0,dd[a]=null):W||=1281}},td:(a,b)=>{for(var d=0;d<a;d++){var f=N[b+4*d>>2],h=ra[f];h&&(U.deleteTexture(h),h.name=0,ra[f]=null)}},uc:td,xc:td,W:a=>{U.depthMask(!!a)},X:a=>U.disable(a),Y:a=>{U.disableVertexAttribArray(a)},Z:(a,b,d)=>{U.drawArrays(a,b,d)},rc:(a,b,d,f)=>{U.drawArraysInstanced(a,b,d,f)},oc:(a,b,d,f,h)=>{U.ef.drawArraysInstancedBaseInstanceWEBGL(a,
b,d,f,h)},mc:(a,b)=>{for(var d=ud[a],f=0;f<a;f++)d[f]=N[b+4*f>>2];U.drawBuffers(d)},_:(a,b,d,f)=>{U.drawElements(a,b,d,f)},sc:(a,b,d,f,h)=>{U.drawElementsInstanced(a,b,d,f,h)},pc:(a,b,d,f,h,n,v)=>{U.ef.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,d,f,h,n,v)},gc:(a,b,d,f,h,n)=>{U.drawElements(a,f,h,n)},$:a=>U.enable(a),aa:a=>{U.enableVertexAttribArray(a)},Db:a=>U.endQuery(a),wb:a=>{U.ee.endQueryEXT(a)},Nb:(a,b)=>(a=U.fenceSync(a,b))?(b=qa(dd),a.name=b,dd[b]=a,b):0,ba:()=>U.finish(),ca:()=>
U.flush(),cc:(a,b,d,f)=>{U.framebufferRenderbuffer(a,b,d,Zc[f])},dc:(a,b,d,f,h)=>{U.framebufferTexture2D(a,b,d,ra[f],h)},da:a=>U.frontFace(a),ea:(a,b)=>{ld(a,b,"createBuffer",Wc)},ec:(a,b)=>{ld(a,b,"createFramebuffer",Yc)},Eb:(a,b)=>{ld(a,b,"createQuery",bd)},xb:(a,b)=>{for(var d=0;d<a;d++){var f=U.ee.createQueryEXT();if(!f){for(W||=1282;d<a;)N[b+4*d++>>2]=0;break}var h=qa(bd);f.name=h;bd[h]=f;N[b+4*d>>2]=h}},fc:(a,b)=>{ld(a,b,"createRenderbuffer",Zc)},Jb:(a,b)=>{ld(a,b,"createSampler",cd)},fa:(a,
b)=>{ld(a,b,"createTexture",ra)},qc:vd,yc:vd,Vb:a=>U.generateMipmap(a),ga:(a,b,d)=>{d?N[d>>2]=U.getBufferParameter(a,b):W||=1281},ha:()=>{var a=U.getError()||W;W=0;return a},ia:(a,b)=>xd(a,b,2),Wb:(a,b,d,f)=>{a=U.getFramebufferAttachmentParameter(a,b,d);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;N[f>>2]=a},ja:yd,ka:(a,b,d,f)=>{a=U.getProgramInfoLog(Xc[a]);null===a&&(a="(unknown error)");b=0<b&&f?Ba(a,f,b):0;d&&(N[d>>2]=b)},la:(a,b,d)=>{if(d)if(a>=Vc)W||=1281;else if(a=
Xc[a],35716==b)a=U.getProgramInfoLog(a),null===a&&(a="(unknown error)"),N[d>>2]=a.length+1;else if(35719==b){if(!a.Se){var f=U.getProgramParameter(a,35718);for(b=0;b<f;++b)a.Se=Math.max(a.Se,U.getActiveUniform(a,b).name.length+1)}N[d>>2]=a.Se}else if(35722==b){if(!a.Qe)for(f=U.getProgramParameter(a,35721),b=0;b<f;++b)a.Qe=Math.max(a.Qe,U.getActiveAttrib(a,b).name.length+1);N[d>>2]=a.Qe}else if(35381==b){if(!a.Re)for(f=U.getProgramParameter(a,35382),b=0;b<f;++b)a.Re=Math.max(a.Re,U.getActiveUniformBlockName(a,
b).length+1);N[d>>2]=a.Re}else N[d>>2]=U.getProgramParameter(a,b);else W||=1281},rb:zd,sb:zd,Fb:(a,b,d)=>{if(d){a=U.getQueryParameter(bd[a],b);var f;"boolean"==typeof a?f=a?1:0:f=a;N[d>>2]=f}else W||=1281},yb:(a,b,d)=>{if(d){a=U.ee.getQueryObjectEXT(bd[a],b);var f;"boolean"==typeof a?f=a?1:0:f=a;N[d>>2]=f}else W||=1281},Gb:(a,b,d)=>{d?N[d>>2]=U.getQuery(a,b):W||=1281},zb:(a,b,d)=>{d?N[d>>2]=U.ee.getQueryEXT(a,b):W||=1281},Xb:(a,b,d)=>{d?N[d>>2]=U.getRenderbufferParameter(a,b):W||=1281},ma:(a,b,d,
f)=>{a=U.getShaderInfoLog($c[a]);null===a&&(a="(unknown error)");b=0<b&&f?Ba(a,f,b):0;d&&(N[d>>2]=b)},ob:(a,b,d,f)=>{a=U.getShaderPrecisionFormat(a,b);N[d>>2]=a.rangeMin;N[d+4>>2]=a.rangeMax;N[f>>2]=a.precision},na:(a,b,d)=>{d?35716==b?(a=U.getShaderInfoLog($c[a]),null===a&&(a="(unknown error)"),N[d>>2]=a?a.length+1:0):35720==b?(a=U.getShaderSource($c[a]),N[d>>2]=a?a.length+1:0):N[d>>2]=U.getShaderParameter($c[a],b):W||=1281},oa:Cd,vc:Dd,pa:(a,b)=>{b=b?kb(Ra,b):"";if(a=Xc[a]){var d=a,f=d.He,h=d.lf,
n;if(!f){d.He=f={};d.kf={};var v=U.getProgramParameter(d,35718);for(n=0;n<v;++n){var m=U.getActiveUniform(d,n);var q=m.name;m=m.size;var w=Ed(q);w=0<w?q.slice(0,w):q;var D=d.$e;d.$e+=m;h[w]=[m,D];for(q=0;q<m;++q)f[D]=q,d.kf[D++]=w}}d=a.He;f=0;h=b;n=Ed(b);0<n&&(f=parseInt(b.slice(n+1))>>>0,h=b.slice(0,n));if((h=a.lf[h])&&f<h[0]&&(f+=h[1],d[f]=d[f]||U.getUniformLocation(a,b)))return f}else W||=1281;return-1},pb:(a,b,d)=>{for(var f=ud[b],h=0;h<b;h++)f[h]=N[d+4*h>>2];U.invalidateFramebuffer(a,f)},qb:(a,
b,d,f,h,n,v)=>{for(var m=ud[b],q=0;q<b;q++)m[q]=N[d+4*q>>2];U.invalidateSubFramebuffer(a,m,f,h,n,v)},Ob:a=>U.isSync(dd[a]),qa:a=>(a=ra[a])?U.isTexture(a):0,ra:a=>U.lineWidth(a),sa:a=>{a=Xc[a];U.linkProgram(a);a.He=0;a.lf={}},kc:(a,b,d,f,h,n)=>{U.hf.multiDrawArraysInstancedBaseInstanceWEBGL(a,N,b>>2,N,d>>2,N,f>>2,O,h>>2,n)},lc:(a,b,d,f,h,n,v,m)=>{U.hf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,N,b>>2,d,N,f>>2,N,h>>2,N,n>>2,O,v>>2,m)},ta:(a,b)=>{3317==a?gd=b:3314==a&&(hd=b);U.pixelStorei(a,
b)},tb:(a,b)=>{U.ee.queryCounterEXT(bd[a],b)},nc:a=>U.readBuffer(a),ua:(a,b,d,f,h,n,v)=>{if(2<=I.version)if(U.We)U.readPixels(a,b,d,f,h,n,v);else{var m=Fd(n);v>>>=31-Math.clz32(m.BYTES_PER_ELEMENT);U.readPixels(a,b,d,f,h,n,m,v)}else(m=Gd(n,h,d,f,v))?U.readPixels(a,b,d,f,h,n,m):W||=1280},Yb:(a,b,d,f)=>U.renderbufferStorage(a,b,d,f),Ub:(a,b,d,f,h)=>U.renderbufferStorageMultisample(a,b,d,f,h),Kb:(a,b,d)=>{U.samplerParameterf(cd[a],b,d)},Lb:(a,b,d)=>{U.samplerParameteri(cd[a],b,d)},Mb:(a,b,d)=>{U.samplerParameteri(cd[a],
b,N[d>>2])},va:(a,b,d,f)=>U.scissor(a,b,d,f),wa:(a,b,d,f)=>{for(var h="",n=0;n<b;++n){var v=(v=O[d+4*n>>2])?kb(Ra,v,f?O[f+4*n>>2]:void 0):"";h+=v}U.shaderSource($c[a],h)},xa:(a,b,d)=>U.stencilFunc(a,b,d),ya:(a,b,d,f)=>U.stencilFuncSeparate(a,b,d,f),za:a=>U.stencilMask(a),Aa:(a,b)=>U.stencilMaskSeparate(a,b),Ba:(a,b,d)=>U.stencilOp(a,b,d),Ca:(a,b,d,f)=>U.stencilOpSeparate(a,b,d,f),Da:(a,b,d,f,h,n,v,m,q)=>{if(2<=I.version){if(U.ye){U.texImage2D(a,b,d,f,h,n,v,m,q);return}if(q){var w=Fd(m);q>>>=31-Math.clz32(w.BYTES_PER_ELEMENT);
U.texImage2D(a,b,d,f,h,n,v,m,w,q);return}}w=q?Gd(m,v,f,h,q):null;U.texImage2D(a,b,d,f,h,n,v,m,w)},Ea:(a,b,d)=>U.texParameterf(a,b,d),Fa:(a,b,d)=>{U.texParameterf(a,b,R[d>>2])},Ga:(a,b,d)=>U.texParameteri(a,b,d),Ha:(a,b,d)=>{U.texParameteri(a,b,N[d>>2])},hc:(a,b,d,f,h)=>U.texStorage2D(a,b,d,f,h),Ia:(a,b,d,f,h,n,v,m,q)=>{if(2<=I.version){if(U.ye){U.texSubImage2D(a,b,d,f,h,n,v,m,q);return}if(q){var w=Fd(m);U.texSubImage2D(a,b,d,f,h,n,v,m,w,q>>>31-Math.clz32(w.BYTES_PER_ELEMENT));return}}q=q?Gd(m,v,h,
n,q):null;U.texSubImage2D(a,b,d,f,h,n,v,m,q)},Ja:(a,b)=>{U.uniform1f(Z(a),b)},Ka:(a,b,d)=>{if(2<=I.version)b&&U.uniform1fv(Z(a),R,d>>2,b);else{if(288>=b)for(var f=Hd[b],h=0;h<b;++h)f[h]=R[d+4*h>>2];else f=R.subarray(d>>2,d+4*b>>2);U.uniform1fv(Z(a),f)}},Tc:(a,b)=>{U.uniform1i(Z(a),b)},Uc:(a,b,d)=>{if(2<=I.version)b&&U.uniform1iv(Z(a),N,d>>2,b);else{if(288>=b)for(var f=Id[b],h=0;h<b;++h)f[h]=N[d+4*h>>2];else f=N.subarray(d>>2,d+4*b>>2);U.uniform1iv(Z(a),f)}},Vc:(a,b,d)=>{U.uniform2f(Z(a),b,d)},Wc:(a,
b,d)=>{if(2<=I.version)b&&U.uniform2fv(Z(a),R,d>>2,2*b);else{if(144>=b){b*=2;for(var f=Hd[b],h=0;h<b;h+=2)f[h]=R[d+4*h>>2],f[h+1]=R[d+(4*h+4)>>2]}else f=R.subarray(d>>2,d+8*b>>2);U.uniform2fv(Z(a),f)}},Sc:(a,b,d)=>{U.uniform2i(Z(a),b,d)},Rc:(a,b,d)=>{if(2<=I.version)b&&U.uniform2iv(Z(a),N,d>>2,2*b);else{if(144>=b){b*=2;for(var f=Id[b],h=0;h<b;h+=2)f[h]=N[d+4*h>>2],f[h+1]=N[d+(4*h+4)>>2]}else f=N.subarray(d>>2,d+8*b>>2);U.uniform2iv(Z(a),f)}},Qc:(a,b,d,f)=>{U.uniform3f(Z(a),b,d,f)},Pc:(a,b,d)=>{if(2<=
I.version)b&&U.uniform3fv(Z(a),R,d>>2,3*b);else{if(96>=b){b*=3;for(var f=Hd[b],h=0;h<b;h+=3)f[h]=R[d+4*h>>2],f[h+1]=R[d+(4*h+4)>>2],f[h+2]=R[d+(4*h+8)>>2]}else f=R.subarray(d>>2,d+12*b>>2);U.uniform3fv(Z(a),f)}},Oc:(a,b,d,f)=>{U.uniform3i(Z(a),b,d,f)},Nc:(a,b,d)=>{if(2<=I.version)b&&U.uniform3iv(Z(a),N,d>>2,3*b);else{if(96>=b){b*=3;for(var f=Id[b],h=0;h<b;h+=3)f[h]=N[d+4*h>>2],f[h+1]=N[d+(4*h+4)>>2],f[h+2]=N[d+(4*h+8)>>2]}else f=N.subarray(d>>2,d+12*b>>2);U.uniform3iv(Z(a),f)}},Mc:(a,b,d,f,h)=>{U.uniform4f(Z(a),
b,d,f,h)},Lc:(a,b,d)=>{if(2<=I.version)b&&U.uniform4fv(Z(a),R,d>>2,4*b);else{if(72>=b){var f=Hd[4*b],h=R;d>>=2;b*=4;for(var n=0;n<b;n+=4){var v=d+n;f[n]=h[v];f[n+1]=h[v+1];f[n+2]=h[v+2];f[n+3]=h[v+3]}}else f=R.subarray(d>>2,d+16*b>>2);U.uniform4fv(Z(a),f)}},zc:(a,b,d,f,h)=>{U.uniform4i(Z(a),b,d,f,h)},Ac:(a,b,d)=>{if(2<=I.version)b&&U.uniform4iv(Z(a),N,d>>2,4*b);else{if(72>=b){b*=4;for(var f=Id[b],h=0;h<b;h+=4)f[h]=N[d+4*h>>2],f[h+1]=N[d+(4*h+4)>>2],f[h+2]=N[d+(4*h+8)>>2],f[h+3]=N[d+(4*h+12)>>2]}else f=
N.subarray(d>>2,d+16*b>>2);U.uniform4iv(Z(a),f)}},Bc:(a,b,d,f)=>{if(2<=I.version)b&&U.uniformMatrix2fv(Z(a),!!d,R,f>>2,4*b);else{if(72>=b){b*=4;for(var h=Hd[b],n=0;n<b;n+=4)h[n]=R[f+4*n>>2],h[n+1]=R[f+(4*n+4)>>2],h[n+2]=R[f+(4*n+8)>>2],h[n+3]=R[f+(4*n+12)>>2]}else h=R.subarray(f>>2,f+16*b>>2);U.uniformMatrix2fv(Z(a),!!d,h)}},Cc:(a,b,d,f)=>{if(2<=I.version)b&&U.uniformMatrix3fv(Z(a),!!d,R,f>>2,9*b);else{if(32>=b){b*=9;for(var h=Hd[b],n=0;n<b;n+=9)h[n]=R[f+4*n>>2],h[n+1]=R[f+(4*n+4)>>2],h[n+2]=R[f+
(4*n+8)>>2],h[n+3]=R[f+(4*n+12)>>2],h[n+4]=R[f+(4*n+16)>>2],h[n+5]=R[f+(4*n+20)>>2],h[n+6]=R[f+(4*n+24)>>2],h[n+7]=R[f+(4*n+28)>>2],h[n+8]=R[f+(4*n+32)>>2]}else h=R.subarray(f>>2,f+36*b>>2);U.uniformMatrix3fv(Z(a),!!d,h)}},Dc:(a,b,d,f)=>{if(2<=I.version)b&&U.uniformMatrix4fv(Z(a),!!d,R,f>>2,16*b);else{if(18>=b){var h=Hd[16*b],n=R;f>>=2;b*=16;for(var v=0;v<b;v+=16){var m=f+v;h[v]=n[m];h[v+1]=n[m+1];h[v+2]=n[m+2];h[v+3]=n[m+3];h[v+4]=n[m+4];h[v+5]=n[m+5];h[v+6]=n[m+6];h[v+7]=n[m+7];h[v+8]=n[m+8];h[v+
9]=n[m+9];h[v+10]=n[m+10];h[v+11]=n[m+11];h[v+12]=n[m+12];h[v+13]=n[m+13];h[v+14]=n[m+14];h[v+15]=n[m+15]}}else h=R.subarray(f>>2,f+64*b>>2);U.uniformMatrix4fv(Z(a),!!d,h)}},Ec:a=>{a=Xc[a];U.useProgram(a);U.wf=a},Fc:(a,b)=>U.vertexAttrib1f(a,b),Gc:(a,b)=>{U.vertexAttrib2f(a,R[b>>2],R[b+4>>2])},Hc:(a,b)=>{U.vertexAttrib3f(a,R[b>>2],R[b+4>>2],R[b+8>>2])},Ic:(a,b)=>{U.vertexAttrib4f(a,R[b>>2],R[b+4>>2],R[b+8>>2],R[b+12>>2])},ic:(a,b)=>{U.vertexAttribDivisor(a,b)},jc:(a,b,d,f,h)=>{U.vertexAttribIPointer(a,
b,d,f,h)},Jc:(a,b,d,f,h,n)=>{U.vertexAttribPointer(a,b,d,!!f,h,n)},Kc:(a,b,d,f)=>U.viewport(a,b,d,f),Pb:(a,b,d)=>{d=Number(d);U.waitSync(dd[a],b,d)},Za:a=>{var b=Ra.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))-La.buffer.byteLength+65535)/65536|0;try{La.grow(f);Xa();var h=1;break a}catch(n){}h=void 0}if(h)return!0}return!1},Va:()=>I?I.handle:0,cb:(a,b)=>{var d=0,f=0,h;for(h of Ld()){var n=
b+d;O[a+f>>2]=n;d+=Ba(h,n,Infinity)+1;f+=4}return 0},db:(a,b)=>{var d=Ld();O[a>>2]=d.length;a=0;for(var f of d)a+=Aa(f)+1;O[b>>2]=a;return 0},mb:a=>{Da(a,new ib(a))},N:()=>52,_a:function(){return 52},ib:()=>52,bb:function(){return 70},R:(a,b,d,f)=>{for(var h=0,n=0;n<d;n++){var v=O[b>>2],m=O[b+4>>2];b+=8;for(var q=0;q<m;q++){var w=a,D=Ra[v+q],G=Md[w];0===D||10===D?((1===w?Ja:Ka)(kb(G)),G.length=0):G.push(D)}h+=m}O[f>>2]=h;return 0},vd:od,Wa:qd,ud:rd,Bb:sd,L:yd,O:Cd,La:Dd,Ma:Sd,h:Td,q:Ud,j:Vd,H:Wd,
nb:Xd,V:Yd,U:Zd,K:$d,n:ae,o:be,v:ce,r:de,Pa:ee,Na:fe,Oa:ge},ie=await (async function(){Ya++;var a={a:he};eb??=u.locateFile?u.locateFile("canvaskit.wasm",Ea):Ea+"canvaskit.wasm";try{return ie=(await hb(a)).instance.exports,La=ie.wd,Xa(),dc=ie.zd,Ya--,0==Ya&&bb&&(a=bb,bb=null,a()),ie}catch(b){return ha(b),Promise.reject(b)}}()),gc=ie.yd,Ad=u._malloc=ie.Ad,hc=u._free=ie.Bd,je=ie.Cd,ke=ie.Dd,le=ie.Ed;
function Vd(a,b,d,f){var h=le();try{return dc.get(a)(b,d,f)}catch(n){ke(h);if(n!==n+0)throw n;je(1,0)}}function ee(a,b,d,f,h,n){var v=le();try{dc.get(a)(b,d,f,h,n)}catch(m){ke(v);if(m!==m+0)throw m;je(1,0)}}function de(a,b,d,f,h){var n=le();try{dc.get(a)(b,d,f,h)}catch(v){ke(n);if(v!==v+0)throw v;je(1,0)}}function be(a,b,d){var f=le();try{dc.get(a)(b,d)}catch(h){ke(f);if(h!==h+0)throw h;je(1,0)}}
function Wd(a,b,d,f,h){var n=le();try{return dc.get(a)(b,d,f,h)}catch(v){ke(n);if(v!==v+0)throw v;je(1,0)}}function Td(a,b){var d=le();try{return dc.get(a)(b)}catch(f){ke(d);if(f!==f+0)throw f;je(1,0)}}function ce(a,b,d,f){var h=le();try{dc.get(a)(b,d,f)}catch(n){ke(h);if(n!==n+0)throw n;je(1,0)}}function ae(a,b){var d=le();try{dc.get(a)(b)}catch(f){ke(d);if(f!==f+0)throw f;je(1,0)}}
function ge(a,b,d,f,h,n,v,m,q,w){var D=le();try{dc.get(a)(b,d,f,h,n,v,m,q,w)}catch(G){ke(D);if(G!==G+0)throw G;je(1,0)}}function $d(a){var b=le();try{dc.get(a)()}catch(d){ke(b);if(d!==d+0)throw d;je(1,0)}}function Ud(a,b,d){var f=le();try{return dc.get(a)(b,d)}catch(h){ke(f);if(h!==h+0)throw h;je(1,0)}}function fe(a,b,d,f,h,n,v){var m=le();try{dc.get(a)(b,d,f,h,n,v)}catch(q){ke(m);if(q!==q+0)throw q;je(1,0)}}
function Sd(a){var b=le();try{return dc.get(a)()}catch(d){ke(b);if(d!==d+0)throw d;je(1,0)}}function Yd(a,b,d,f,h,n,v,m){var q=le();try{return dc.get(a)(b,d,f,h,n,v,m)}catch(w){ke(q);if(w!==w+0)throw w;je(1,0)}}function Zd(a,b,d,f,h,n,v,m,q,w){var D=le();try{return dc.get(a)(b,d,f,h,n,v,m,q,w)}catch(G){ke(D);if(G!==G+0)throw G;je(1,0)}}function Xd(a,b,d,f,h,n,v){var m=le();try{return dc.get(a)(b,d,f,h,n,v)}catch(q){ke(m);if(q!==q+0)throw q;je(1,0)}}
function me(){0<Ya?bb=me:0<Ya?bb=me:(u.calledRun=!0,Oa||(ie.xd(),da(u),u.onRuntimeInitialized?.()))}me();moduleRtn=ka;


  return moduleRtn;
}
);
})();
if (typeof exports === 'object' && typeof module === 'object') {
  module.exports = CanvasKitInit;
  // This default export looks redundant, but it allows TS to import this
  // commonjs style module.
  module.exports.default = CanvasKitInit;
} else if (typeof define === 'function' && define['amd'])
  define([], () => CanvasKitInit);
