
var CanvasKitInit = (function() {
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
  return (
function(CanvasKitInit) {
  CanvasKitInit = CanvasKitInit || {};


null;var t;t||(t=typeof CanvasKitInit !== 'undefined' ? CanvasKitInit : {});var ca,ea;t.ready=new Promise(function(a,b){ca=a;ea=b});
(function(a){a.Vd=a.Vd||[];a.Vd.push(function(){a.MakeSWCanvasSurface=function(b){var c=b;if("CANVAS"!==c.tagName&&(c=document.getElementById(b),!c))throw"Canvas with id "+b+" was not found";if(b=a.MakeSurface(c.width,c.height))b.Nd=c;return b};a.MakeCanvasSurface||(a.MakeCanvasSurface=a.MakeSWCanvasSurface);a.MakeSurface=function(b,c){var f={width:b,height:c,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB},h=b*c*4,l=a._malloc(h);if(f=a.Surface._makeRasterDirect(f,
l,4*b))f.Nd=null,f.zf=b,f.wf=c,f.yf=h,f.af=l,f.getCanvas().clear(a.TRANSPARENT);return f};a.MakeRasterDirectSurface=function(b,c,f){return a.Surface._makeRasterDirect(b,c.byteOffset,f)};a.Surface.prototype.flush=function(b){a.Od(this.Md);this._flush();if(this.Nd){var c=new Uint8ClampedArray(a.HEAPU8.buffer,this.af,this.yf);c=new ImageData(c,this.zf,this.wf);b?this.Nd.getContext("2d").putImageData(c,0,0,b[0],b[1],b[2]-b[0],b[3]-b[1]):this.Nd.getContext("2d").putImageData(c,0,0)}};a.Surface.prototype.dispose=
function(){this.af&&a._free(this.af);this.delete()};a.Od=a.Od||function(){}})})(t);
(function(a){a.Vd=a.Vd||[];a.Vd.push(function(){function b(l,n,q){return l&&l.hasOwnProperty(n)?l[n]:q}function c(l){var n=ha.length;n||(ha.push(null),n=1);ha.push(l);return n}function f(l){return l.naturalHeight||l.videoHeight||l.displayHeight||l.height}function h(l){return l.naturalWidth||l.videoWidth||l.displayWidth||l.width}a.GetWebGLContext=function(l,n){if(!l)throw"null canvas passed into makeWebGLContext";var q={alpha:b(n,"alpha",1),depth:b(n,"depth",1),stencil:b(n,"stencil",8),antialias:b(n,
"antialias",0),premultipliedAlpha:b(n,"premultipliedAlpha",1),preserveDrawingBuffer:b(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:b(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:b(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:b(n,"enableExtensionsByDefault",1),explicitSwapControl:b(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:b(n,"renderViaOffscreenBackBuffer",0)};q.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!==typeof WebGL2RenderingContext?
2:1;if(q.explicitSwapControl)throw"explicitSwapControl is not supported";l=ia(l,q);if(!l)return 0;ma(l);return l};a.deleteContext=function(l){v===na[l]&&(v=null);"object"===typeof JSEvents&&JSEvents.Eg(na[l].le.canvas);na[l]&&na[l].le.canvas&&(na[l].le.canvas.vf=void 0);na[l]=null};a._setTextureCleanup({deleteTexture:function(l,n){var q=ha[n];q&&na[l].le.deleteTexture(q);ha[n]=null}});a.MakeGrContext=function(l){if(!this.Od(l))return null;var n=this._MakeGrContext();if(!n)return null;n.Md=l;return n};
a.MakeOnScreenGLSurface=function(l,n,q,x){n=this._MakeOnScreenGLSurface(l,n,q,x);if(!n)return null;n.Md=l.Md;return n};a.MakeRenderTarget=function(l,n,q){n=this._MakeRenderTargetWH(l,n,q);if(!n)return null;n.Md=l.Md;return n};a.MakeRenderTarget=function(l,n){n=this._MakeRenderTargetII(l,n);if(!n)return null;n.Md=l.Md;return n};a.MakeWebGLCanvasSurface=function(l,n,q){n=n||null;var x=l,w="undefined"!==typeof OffscreenCanvas&&x instanceof OffscreenCanvas;if(!("undefined"!==typeof HTMLCanvasElement&&
x instanceof HTMLCanvasElement||w||(x=document.getElementById(l),x)))throw"Canvas with id "+l+" was not found";l=this.GetWebGLContext(x,q);if(!l||0>l)throw"failed to create webgl context: err "+l;l=this.MakeGrContext(l);n=this.MakeOnScreenGLSurface(l,x.width,x.height,n);return n?n:(n=x.cloneNode(!0),x.parentNode.replaceChild(n,x),n.classList.add("ck-replaced"),a.MakeSWCanvasSurface(n))};a.MakeCanvasSurface=a.MakeWebGLCanvasSurface;a.Surface.prototype.makeImageFromTexture=function(l,n){a.Od(this.Md);
l=c(l);return this._makeImageFromTexture(this.Md,l,n)};a.Surface.prototype.makeImageFromTextureSource=function(l,n){n||(n={height:f(l),width:h(l),colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul});n.colorSpace||(n.colorSpace=a.ColorSpace.SRGB);a.Od(this.Md);var q=v.le,x=q.createTexture();q.bindTexture(q.TEXTURE_2D,x);2===v.version?q.texImage2D(q.TEXTURE_2D,0,q.RGBA,n.width,n.height,0,q.RGBA,q.UNSIGNED_BYTE,l):q.texImage2D(q.TEXTURE_2D,0,q.RGBA,q.RGBA,q.UNSIGNED_BYTE,l);q.bindTexture(q.TEXTURE_2D,
null);return this.makeImageFromTexture(x,n)};a.MakeLazyImageFromTextureSource=function(l,n){n||(n={height:f(l),width:h(l),colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul});n.colorSpace||(n.colorSpace=a.ColorSpace.SRGB);var q={makeTexture:function(){var x=v,w=x.le,G=w.createTexture();w.bindTexture(w.TEXTURE_2D,G);2===x.version?w.texImage2D(w.TEXTURE_2D,0,w.RGBA,n.width,n.height,0,w.RGBA,w.UNSIGNED_BYTE,l):w.texImage2D(w.TEXTURE_2D,0,w.RGBA,w.RGBA,w.UNSIGNED_BYTE,l);w.bindTexture(w.TEXTURE_2D,
null);return c(G)},freeSrc:function(){}};"VideoFrame"===l.constructor.name&&(q.freeSrc=function(){l.close()});return a.Image._makeFromGenerator(n,q)};a.Od=function(l){return l?ma(l):!1}})})(t);
(function(a){function b(e,d,g,m,r){for(var y=0;y<e.length;y++)d[y*g+(y*r+m+g)%g]=e[y];return d}function c(e){for(var d=e*e,g=Array(d);d--;)g[d]=0===d%(e+1)?1:0;return g}function f(e){return e?e.constructor===Float32Array&&4===e.length:!1}function h(e){return(q(255*e[3])<<24|q(255*e[0])<<16|q(255*e[1])<<8|q(255*e[2])<<0)>>>0}function l(e){if(e&&e._ck)return e;if(e instanceof Float32Array){for(var d=Math.floor(e.length/4),g=new Uint32Array(d),m=0;m<d;m++)g[m]=h(e.slice(4*m,4*(m+1)));return g}if(e instanceof
Uint32Array)return e;if(e instanceof Array&&e[0]instanceof Float32Array)return e.map(h)}function n(e){if(void 0===e)return 1;var d=parseFloat(e);return e&&-1!==e.indexOf("%")?d/100:d}function q(e){return Math.round(Math.max(0,Math.min(e||0,255)))}function x(e,d){d&&d._ck||a._free(e)}function w(e,d,g){if(!e||!e.length)return T;if(e&&e._ck)return e.byteOffset;var m=a[d].BYTES_PER_ELEMENT;g||(g=a._malloc(e.length*m));a[d].set(e,g/m);return g}function G(e){var d={ce:T,count:e.length,Ke:a.ColorType.RGBA_F32};
if(e instanceof Float32Array)d.ce=w(e,"HEAPF32"),d.count=e.length/4;else if(e instanceof Uint32Array)d.ce=w(e,"HEAPU32"),d.Ke=a.ColorType.RGBA_8888;else if(e instanceof Array){if(e&&e.length){for(var g=a._malloc(16*e.length),m=0,r=g/4,y=0;y<e.length;y++)for(var D=0;4>D;D++)a.HEAPF32[r+m]=e[y][D],m++;e=g}else e=T;d.ce=e}else throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof e;return d}function K(e){if(!e)return T;if(e.length){if(6===e.length||9===e.length)return w(e,"HEAPF32",
Na),6===e.length&&a.HEAPF32.set(Fd,6+Na/4),Na;if(16===e.length){var d=Bb.toTypedArray();d[0]=e[0];d[1]=e[1];d[2]=e[3];d[3]=e[4];d[4]=e[5];d[5]=e[7];d[6]=e[12];d[7]=e[13];d[8]=e[15];return Na}throw"invalid matrix size";}d=Bb.toTypedArray();d[0]=e.m11;d[1]=e.m21;d[2]=e.m41;d[3]=e.m12;d[4]=e.m22;d[5]=e.m42;d[6]=e.m14;d[7]=e.m24;d[8]=e.m44;return Na}function O(e){if(!e)return T;var d=ec.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",Oa);d.fill(0);d[0]=e[0];d[1]=e[1];d[3]=e[2];d[4]=e[3];d[5]=e[4];d[7]=e[5];d[12]=e[6];d[13]=e[7];d[15]=e[8];6===e.length&&(d[12]=0,d[13]=0,d[15]=1);return Oa}d[0]=e.m11;d[1]=e.m21;d[2]=e.m31;d[3]=e.m41;d[4]=e.m12;d[5]=e.m22;d[6]=e.m32;d[7]=e.m42;d[8]=e.m13;d[9]=e.m23;d[10]=e.m33;d[11]=e.m43;d[12]=e.m14;d[13]=e.m24;d[14]=e.m34;d[15]=e.m44;return Oa}function A(e){for(var d=Array(16),g=0;16>g;g++)d[g]=a.HEAPF32[e/4+g];return d}function M(e,d){return w(e,"HEAPF32",d||hb)}function X(e,d,g,m){var r=
fc.toTypedArray();r[0]=e;r[1]=d;r[2]=g;r[3]=m;return hb}function da(e){for(var d=new Float32Array(4),g=0;4>g;g++)d[g]=a.HEAPF32[e/4+g];return d}function ba(e,d){return w(e,"HEAPF32",d||ja)}function pa(e,d){return w(e,"HEAPF32",d||hc)}function ib(){for(var e=0,d=0;d<arguments.length-1;d+=2)e+=arguments[d]*arguments[d+1];return e}function jb(e,d,g){for(var m=Array(e.length),r=0;r<g;r++)for(var y=0;y<g;y++){for(var D=0,J=0;J<g;J++)D+=e[g*r+J]*d[g*J+y];m[r*g+y]=D}return m}function Lc(e,d){for(var g=jb(d[0],
d[1],e),m=2;m<d.length;)g=jb(g,d[m],e),m++;return g}a.Color=function(e,d,g,m){void 0===m&&(m=1);return a.Color4f(q(e)/255,q(d)/255,q(g)/255,m)};a.ColorAsInt=function(e,d,g,m){void 0===m&&(m=255);return(q(m)<<24|q(e)<<16|q(d)<<8|q(g)<<0&268435455)>>>0};a.Color4f=function(e,d,g,m){void 0===m&&(m=1);return Float32Array.of(e,d,g,m)};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,d){e=e.toLowerCase();if(e.startsWith("#")){d=255;switch(e.length){case 9:d=parseInt(e.slice(7,9),16);case 7:var g=parseInt(e.slice(1,3),16);var m=parseInt(e.slice(3,5),16);var r=parseInt(e.slice(5,7),16);break;case 5:d=17*parseInt(e.slice(4,5),16);case 4:g=17*parseInt(e.slice(1,2),16),m=17*parseInt(e.slice(2,3),16),r=17*parseInt(e.slice(3,4),16)}return a.Color(g,
m,r,d/255)}return e.startsWith("rgba")?(e=e.slice(5,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],n(e[3]))):e.startsWith("rgb")?(e=e.slice(4,-1),e=e.split(","),a.Color(+e[0],+e[1],+e[2],n(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!d||(e=d[e],void 0===e)?a.BLACK:e};a.multiplyByAlpha=function(e,d){e=e.slice();e[3]=Math.max(0,Math.min(e[3]*d,1));return e};a.Malloc=function(e,d){var g=a._malloc(d*e.BYTES_PER_ELEMENT);return{_ck:!0,length:d,byteOffset:g,oe:null,subarray:function(m,r){m=this.toTypedArray().subarray(m,
r);m._ck=!0;return m},toTypedArray:function(){if(this.oe&&this.oe.length)return this.oe;this.oe=new e(a.HEAPU8.buffer,g,d);this.oe._ck=!0;return this.oe}}};a.Free=function(e){a._free(e.byteOffset);e.byteOffset=T;e.toTypedArray=null;e.oe=null};var Na=T,Bb,Oa=T,ec,hb=T,fc,Ha,ja=T,Mc,Va=T,Nc,ic=T,Oc,jc=T,Pc,kc=T,Qc,hc=T,Rc,Sc=T,Fd=Float32Array.of(0,0,1),T=0;a.onRuntimeInitialized=function(){function e(d,g,m,r,y,D){D||(D=4*r.width,r.colorType===a.ColorType.RGBA_F16?D*=2:r.colorType===a.ColorType.RGBA_F32&&
(D*=4));var J=D*r.height;var N=y?y.byteOffset:a._malloc(J);if(!d._readPixels(r,N,D,g,m))return y||a._free(N),null;if(y)return y.toTypedArray();switch(r.colorType){case a.ColorType.RGBA_8888:case a.ColorType.RGBA_F16:d=(new Uint8Array(a.HEAPU8.buffer,N,J)).slice();break;case a.ColorType.RGBA_F32:d=(new Float32Array(a.HEAPU8.buffer,N,J)).slice();break;default:return null}a._free(N);return d}fc=a.Malloc(Float32Array,4);hb=fc.byteOffset;ec=a.Malloc(Float32Array,16);Oa=ec.byteOffset;Bb=a.Malloc(Float32Array,
9);Na=Bb.byteOffset;Qc=a.Malloc(Float32Array,12);hc=Qc.byteOffset;Rc=a.Malloc(Float32Array,12);Sc=Rc.byteOffset;Ha=a.Malloc(Float32Array,4);ja=Ha.byteOffset;Mc=a.Malloc(Float32Array,4);Va=Mc.byteOffset;Nc=a.Malloc(Float32Array,3);ic=Nc.byteOffset;Oc=a.Malloc(Float32Array,3);jc=Oc.byteOffset;Pc=a.Malloc(Int32Array,4);kc=Pc.byteOffset;a.ColorSpace.SRGB=a.ColorSpace._MakeSRGB();a.ColorSpace.DISPLAY_P3=a.ColorSpace._MakeDisplayP3();a.ColorSpace.ADOBE_RGB=a.ColorSpace._MakeAdobeRGB();a.GlyphRunFlags={IsWhiteSpace:a._GlyphRunFlags_isWhiteSpace};
a.Path.MakeFromCmds=function(d){var g=w(d,"HEAPF32"),m=a.Path._MakeFromCmds(g,d.length);x(g,d);return m};a.Path.MakeFromVerbsPointsWeights=function(d,g,m){var r=w(d,"HEAPU8"),y=w(g,"HEAPF32"),D=w(m,"HEAPF32"),J=a.Path._MakeFromVerbsPointsWeights(r,d.length,y,g.length,D,m&&m.length||0);x(r,d);x(y,g);x(D,m);return J};a.Path.prototype.addArc=function(d,g,m){d=ba(d);this._addArc(d,g,m);return this};a.Path.prototype.addOval=function(d,g,m){void 0===m&&(m=1);d=ba(d);this._addOval(d,!!g,m);return this};
a.Path.prototype.addPath=function(){var d=Array.prototype.slice.call(arguments),g=d[0],m=!1;"boolean"===typeof d[d.length-1]&&(m=d.pop());if(1===d.length)this._addPath(g,1,0,0,0,1,0,0,0,1,m);else if(2===d.length)d=d[1],this._addPath(g,d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1,m);else if(7===d.length||10===d.length)this._addPath(g,d[1],d[2],d[3],d[4],d[5],d[6],d[7]||0,d[8]||0,d[9]||1,m);else return null;return this};a.Path.prototype.addPoly=function(d,g){var m=w(d,"HEAPF32");this._addPoly(m,
d.length/2,g);x(m,d);return this};a.Path.prototype.addRect=function(d,g){d=ba(d);this._addRect(d,!!g);return this};a.Path.prototype.addRRect=function(d,g){d=pa(d);this._addRRect(d,!!g);return this};a.Path.prototype.addVerbsPointsWeights=function(d,g,m){var r=w(d,"HEAPU8"),y=w(g,"HEAPF32"),D=w(m,"HEAPF32");this._addVerbsPointsWeights(r,d.length,y,g.length,D,m&&m.length||0);x(r,d);x(y,g);x(D,m)};a.Path.prototype.arc=function(d,g,m,r,y,D){d=a.LTRBRect(d-m,g-m,d+m,g+m);y=(y-r)/Math.PI*180-360*!!D;D=new a.Path;
D.addArc(d,r/Math.PI*180,y);this.addPath(D,!0);D.delete();return this};a.Path.prototype.arcToOval=function(d,g,m,r){d=ba(d);this._arcToOval(d,g,m,r);return this};a.Path.prototype.arcToRotated=function(d,g,m,r,y,D,J){this._arcToRotated(d,g,m,!!r,!!y,D,J);return this};a.Path.prototype.arcToTangent=function(d,g,m,r,y){this._arcToTangent(d,g,m,r,y);return this};a.Path.prototype.close=function(){this._close();return this};a.Path.prototype.conicTo=function(d,g,m,r,y){this._conicTo(d,g,m,r,y);return this};
a.Path.prototype.computeTightBounds=function(d){this._computeTightBounds(ja);var g=Ha.toTypedArray();return d?(d.set(g),d):g.slice()};a.Path.prototype.cubicTo=function(d,g,m,r,y,D){this._cubicTo(d,g,m,r,y,D);return this};a.Path.prototype.dash=function(d,g,m){return this._dash(d,g,m)?this:null};a.Path.prototype.getBounds=function(d){this._getBounds(ja);var g=Ha.toTypedArray();return d?(d.set(g),d):g.slice()};a.Path.prototype.lineTo=function(d,g){this._lineTo(d,g);return this};a.Path.prototype.moveTo=
function(d,g){this._moveTo(d,g);return this};a.Path.prototype.offset=function(d,g){this._transform(1,0,d,0,1,g,0,0,1);return this};a.Path.prototype.quadTo=function(d,g,m,r){this._quadTo(d,g,m,r);return this};a.Path.prototype.rArcTo=function(d,g,m,r,y,D,J){this._rArcTo(d,g,m,r,y,D,J);return this};a.Path.prototype.rConicTo=function(d,g,m,r,y){this._rConicTo(d,g,m,r,y);return this};a.Path.prototype.rCubicTo=function(d,g,m,r,y,D){this._rCubicTo(d,g,m,r,y,D);return this};a.Path.prototype.rLineTo=function(d,
g){this._rLineTo(d,g);return this};a.Path.prototype.rMoveTo=function(d,g){this._rMoveTo(d,g);return this};a.Path.prototype.rQuadTo=function(d,g,m,r){this._rQuadTo(d,g,m,r);return this};a.Path.prototype.stroke=function(d){d=d||{};d.width=d.width||1;d.miter_limit=d.miter_limit||4;d.cap=d.cap||a.StrokeCap.Butt;d.join=d.join||a.StrokeJoin.Miter;d.precision=d.precision||1;return this._stroke(d)?this:null};a.Path.prototype.transform=function(){if(1===arguments.length){var d=arguments[0];this._transform(d[0],
d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1)}else if(6===arguments.length||9===arguments.length)d=arguments,this._transform(d[0],d[1],d[2],d[3],d[4],d[5],d[6]||0,d[7]||0,d[8]||1);else throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;return this};a.Path.prototype.trim=function(d,g,m){return this._trim(d,g,!!m)?this:null};a.Image.prototype.makeShaderCubic=function(d,g,m,r,y){y=K(y);return this._makeShaderCubic(d,g,m,r,y)};a.Image.prototype.makeShaderOptions=function(d,
g,m,r,y){y=K(y);return this._makeShaderOptions(d,g,m,r,y)};a.Image.prototype.readPixels=function(d,g,m,r,y){return e(this,d,g,m,r,y)};a.Canvas.prototype.clear=function(d){a.Od(this.Md);d=M(d);this._clear(d)};a.Canvas.prototype.clipRRect=function(d,g,m){a.Od(this.Md);d=pa(d);this._clipRRect(d,g,m)};a.Canvas.prototype.clipRect=function(d,g,m){a.Od(this.Md);d=ba(d);this._clipRect(d,g,m)};a.Canvas.prototype.concat=function(d){a.Od(this.Md);d=O(d);this._concat(d)};a.Canvas.prototype.drawArc=function(d,
g,m,r,y){a.Od(this.Md);d=ba(d);this._drawArc(d,g,m,r,y)};a.Canvas.prototype.drawAtlas=function(d,g,m,r,y,D,J){if(d&&r&&g&&m&&g.length===m.length){a.Od(this.Md);y||(y=a.BlendMode.SrcOver);var N=w(g,"HEAPF32"),Q=w(m,"HEAPF32"),U=m.length/4,u=w(l(D),"HEAPU32");if(J&&"B"in J&&"C"in J)this._drawAtlasCubic(d,Q,N,u,U,y,J.B,J.C,r);else{let I=a.FilterMode.Linear,R=a.MipmapMode.None;J&&(I=J.filter,"mipmap"in J&&(R=J.mipmap));this._drawAtlasOptions(d,Q,N,u,U,y,I,R,r)}x(N,g);x(Q,m);x(u,D)}};a.Canvas.prototype.drawCircle=
function(d,g,m,r){a.Od(this.Md);this._drawCircle(d,g,m,r)};a.Canvas.prototype.drawColor=function(d,g){a.Od(this.Md);d=M(d);void 0!==g?this._drawColor(d,g):this._drawColor(d)};a.Canvas.prototype.drawColorInt=function(d,g){a.Od(this.Md);this._drawColorInt(d,g||a.BlendMode.SrcOver)};a.Canvas.prototype.drawColorComponents=function(d,g,m,r,y){a.Od(this.Md);d=X(d,g,m,r);void 0!==y?this._drawColor(d,y):this._drawColor(d)};a.Canvas.prototype.drawDRRect=function(d,g,m){a.Od(this.Md);d=pa(d,hc);g=pa(g,Sc);
this._drawDRRect(d,g,m)};a.Canvas.prototype.drawGlyphs=function(d,g,m,r,y,D){if(!(2*d.length<=g.length))throw"Not enough positions for the array of gyphs";a.Od(this.Md);const J=w(d,"HEAPU16"),N=w(g,"HEAPF32");this._drawGlyphs(d.length,J,N,m,r,y,D);x(N,g);x(J,d)};a.Canvas.prototype.drawImage=function(d,g,m,r){a.Od(this.Md);this._drawImage(d,g,m,r||null)};a.Canvas.prototype.drawImageCubic=function(d,g,m,r,y,D){a.Od(this.Md);this._drawImageCubic(d,g,m,r,y,D||null)};a.Canvas.prototype.drawImageOptions=
function(d,g,m,r,y,D){a.Od(this.Md);this._drawImageOptions(d,g,m,r,y,D||null)};a.Canvas.prototype.drawImageNine=function(d,g,m,r,y){a.Od(this.Md);g=w(g,"HEAP32",kc);m=ba(m);this._drawImageNine(d,g,m,r,y||null)};a.Canvas.prototype.drawImageRect=function(d,g,m,r,y){a.Od(this.Md);ba(g,ja);ba(m,Va);this._drawImageRect(d,ja,Va,r,!!y)};a.Canvas.prototype.drawImageRectCubic=function(d,g,m,r,y,D){a.Od(this.Md);ba(g,ja);ba(m,Va);this._drawImageRectCubic(d,ja,Va,r,y,D||null)};a.Canvas.prototype.drawImageRectOptions=
function(d,g,m,r,y,D){a.Od(this.Md);ba(g,ja);ba(m,Va);this._drawImageRectOptions(d,ja,Va,r,y,D||null)};a.Canvas.prototype.drawLine=function(d,g,m,r,y){a.Od(this.Md);this._drawLine(d,g,m,r,y)};a.Canvas.prototype.drawOval=function(d,g){a.Od(this.Md);d=ba(d);this._drawOval(d,g)};a.Canvas.prototype.drawPaint=function(d){a.Od(this.Md);this._drawPaint(d)};a.Canvas.prototype.drawParagraph=function(d,g,m){a.Od(this.Md);this._drawParagraph(d,g,m)};a.Canvas.prototype.drawPatch=function(d,g,m,r,y){if(24>d.length)throw"Need 12 cubic points";
if(g&&4>g.length)throw"Need 4 colors";if(m&&8>m.length)throw"Need 4 shader coordinates";a.Od(this.Md);const D=w(d,"HEAPF32"),J=g?w(l(g),"HEAPU32"):T,N=m?w(m,"HEAPF32"):T;r||(r=a.BlendMode.Modulate);this._drawPatch(D,J,N,r,y);x(N,m);x(J,g);x(D,d)};a.Canvas.prototype.drawPath=function(d,g){a.Od(this.Md);this._drawPath(d,g)};a.Canvas.prototype.drawPicture=function(d){a.Od(this.Md);this._drawPicture(d)};a.Canvas.prototype.drawPoints=function(d,g,m){a.Od(this.Md);var r=w(g,"HEAPF32");this._drawPoints(d,
r,g.length/2,m);x(r,g)};a.Canvas.prototype.drawRRect=function(d,g){a.Od(this.Md);d=pa(d);this._drawRRect(d,g)};a.Canvas.prototype.drawRect=function(d,g){a.Od(this.Md);d=ba(d);this._drawRect(d,g)};a.Canvas.prototype.drawRect4f=function(d,g,m,r,y){a.Od(this.Md);this._drawRect4f(d,g,m,r,y)};a.Canvas.prototype.drawShadow=function(d,g,m,r,y,D,J){a.Od(this.Md);var N=w(y,"HEAPF32"),Q=w(D,"HEAPF32");g=w(g,"HEAPF32",ic);m=w(m,"HEAPF32",jc);this._drawShadow(d,g,m,r,N,Q,J);x(N,y);x(Q,D)};a.getShadowLocalBounds=
function(d,g,m,r,y,D,J){d=K(d);m=w(m,"HEAPF32",ic);r=w(r,"HEAPF32",jc);if(!this._getShadowLocalBounds(d,g,m,r,y,D,ja))return null;g=Ha.toTypedArray();return J?(J.set(g),J):g.slice()};a.Canvas.prototype.drawTextBlob=function(d,g,m,r){a.Od(this.Md);this._drawTextBlob(d,g,m,r)};a.Canvas.prototype.drawVertices=function(d,g,m){a.Od(this.Md);this._drawVertices(d,g,m)};a.Canvas.prototype.getLocalToDevice=function(){this._getLocalToDevice(Oa);return A(Oa)};a.Canvas.prototype.findMarkedCTM=function(d){return this._findMarkedCTM(d,
Oa)?A(Oa):null};a.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(Na);for(var d=Array(9),g=0;9>g;g++)d[g]=a.HEAPF32[Na/4+g];return d};a.Canvas.prototype.makeSurface=function(d){d=this._makeSurface(d);d.Md=this.Md;return d};a.Canvas.prototype.readPixels=function(d,g,m,r,y){a.Od(this.Md);return e(this,d,g,m,r,y)};a.Canvas.prototype.saveLayer=function(d,g,m,r){g=ba(g);return this._saveLayer(d||null,g,m||null,r||0)};a.Canvas.prototype.writePixels=function(d,g,m,r,y,D,J,N){if(d.byteLength%
(g*m))throw"pixels length must be a multiple of the srcWidth * srcHeight";a.Od(this.Md);var Q=d.byteLength/(g*m);D=D||a.AlphaType.Unpremul;J=J||a.ColorType.RGBA_8888;N=N||a.ColorSpace.SRGB;var U=Q*g;Q=w(d,"HEAPU8");g=this._writePixels({width:g,height:m,colorType:J,alphaType:D,colorSpace:N},Q,U,r,y);x(Q,d);return g};a.ColorFilter.MakeBlend=function(d,g){d=M(d);return a.ColorFilter._MakeBlend(d,g)};a.ColorFilter.MakeMatrix=function(d){if(!d||20!==d.length)throw"invalid color matrix";var g=w(d,"HEAPF32"),
m=a.ColorFilter._makeMatrix(g);x(g,d);return m};a.ContourMeasure.prototype.getPosTan=function(d,g){this._getPosTan(d,ja);d=Ha.toTypedArray();return g?(g.set(d),g):d.slice()};a.ImageFilter.MakeMatrixTransform=function(d,g,m){d=K(d);if("B"in g&&"C"in g)return a.ImageFilter._MakeMatrixTransformCubic(d,g.xg,g.yg,m);const r=g.filter;let y=a.MipmapMode.None;"mipmap"in g&&(y=g.mipmap);return a.ImageFilter._MakeMatrixTransformOptions(d,r,y,m)};a.Paint.prototype.getColor=function(){this._getColor(hb);return da(hb)};
a.Paint.prototype.setColor=function(d,g){g=g||null;d=M(d);this._setColor(d,g)};a.Paint.prototype.setColorComponents=function(d,g,m,r,y){y=y||null;d=X(d,g,m,r);this._setColor(d,y)};a.Path.prototype.getPoint=function(d,g){this._getPoint(d,ja);d=Ha.toTypedArray();return g?(g[0]=d[0],g[1]=d[1],g):d.slice(0,2)};a.PictureRecorder.prototype.beginRecording=function(d){d=ba(d);return this._beginRecording(d)};a.Surface.prototype.getCanvas=function(){var d=this._getCanvas();d.Md=this.Md;return d};a.Surface.prototype.makeImageSnapshot=
function(d){a.Od(this.Md);d=w(d,"HEAP32",kc);return this._makeImageSnapshot(d)};a.Surface.prototype.makeSurface=function(d){a.Od(this.Md);d=this._makeSurface(d);d.Md=this.Md;return d};a.Surface.prototype.requestAnimationFrame=function(d,g){this.Ge||(this.Ge=this.getCanvas());requestAnimationFrame(function(){a.Od(this.Md);d(this.Ge);this.flush(g)}.bind(this))};a.Surface.prototype.drawOnce=function(d,g){this.Ge||(this.Ge=this.getCanvas());requestAnimationFrame(function(){a.Od(this.Md);d(this.Ge);this.flush(g);
this.dispose()}.bind(this))};a.PathEffect.MakeDash=function(d,g){g||(g=0);if(!d.length||1===d.length%2)throw"Intervals array must have even length";var m=w(d,"HEAPF32");g=a.PathEffect._MakeDash(m,d.length,g);x(m,d);return g};a.Shader.MakeColor=function(d,g){g=g||null;d=M(d);return a.Shader._MakeColor(d,g)};a.Shader.Blend=a.Shader.MakeBlend;a.Shader.Color=a.Shader.MakeColor;a.Shader.MakeLinearGradient=function(d,g,m,r,y,D,J,N){N=N||null;var Q=G(m),U=w(r,"HEAPF32");J=J||0;D=K(D);var u=Ha.toTypedArray();
u.set(d);u.set(g,2);d=a.Shader._MakeLinearGradient(ja,Q.ce,Q.Ke,U,Q.count,y,J,D,N);x(Q.ce,m);r&&x(U,r);return d};a.Shader.MakeRadialGradient=function(d,g,m,r,y,D,J,N){N=N||null;var Q=G(m),U=w(r,"HEAPF32");J=J||0;D=K(D);d=a.Shader._MakeRadialGradient(d[0],d[1],g,Q.ce,Q.Ke,U,Q.count,y,J,D,N);x(Q.ce,m);r&&x(U,r);return d};a.Shader.MakeSweepGradient=function(d,g,m,r,y,D,J,N,Q,U){U=U||null;var u=G(m),I=w(r,"HEAPF32");J=J||0;N=N||0;Q=Q||360;D=K(D);d=a.Shader._MakeSweepGradient(d,g,u.ce,u.Ke,I,u.count,y,
N,Q,J,D,U);x(u.ce,m);r&&x(I,r);return d};a.Shader.MakeTwoPointConicalGradient=function(d,g,m,r,y,D,J,N,Q,U){U=U||null;var u=G(y),I=w(D,"HEAPF32");Q=Q||0;N=K(N);var R=Ha.toTypedArray();R.set(d);R.set(m,2);d=a.Shader._MakeTwoPointConicalGradient(ja,g,r,u.ce,u.Ke,I,u.count,J,Q,N,U);x(u.ce,y);D&&x(I,D);return d};a.Vertices.prototype.bounds=function(d){this._bounds(ja);var g=Ha.toTypedArray();return d?(d.set(g),d):g.slice()};a.Vd&&a.Vd.forEach(function(d){d()})};a.computeTonalColors=function(e){var d=
w(e.ambient,"HEAPF32"),g=w(e.spot,"HEAPF32");this._computeTonalColors(d,g);var m={ambient:da(d),spot:da(g)};x(d,e.ambient);x(g,e.spot);return m};a.LTRBRect=function(e,d,g,m){return Float32Array.of(e,d,g,m)};a.XYWHRect=function(e,d,g,m){return Float32Array.of(e,d,e+g,d+m)};a.LTRBiRect=function(e,d,g,m){return Int32Array.of(e,d,g,m)};a.XYWHiRect=function(e,d,g,m){return Int32Array.of(e,d,e+g,d+m)};a.RRectXY=function(e,d,g){return Float32Array.of(e[0],e[1],e[2],e[3],d,g,d,g,d,g,d,g)};a.MakeAnimatedImageFromEncoded=
function(e){e=new Uint8Array(e);var d=a._malloc(e.byteLength);a.HEAPU8.set(e,d);return(e=a._decodeAnimatedImage(d,e.byteLength))?e:null};a.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var d=a._malloc(e.byteLength);a.HEAPU8.set(e,d);return(e=a._decodeImage(d,e.byteLength))?e:null};var kb=null;a.MakeImageFromCanvasImageSource=function(e){var d=e.width,g=e.height;kb||(kb=document.createElement("canvas"));kb.width=d;kb.height=g;var m=kb.getContext("2d");m.drawImage(e,0,0);e=m.getImageData(0,0,
d,g);return a.MakeImage({width:d,height:g,alphaType:a.AlphaType.Unpremul,colorType:a.ColorType.RGBA_8888,colorSpace:a.ColorSpace.SRGB},e.data,4*d)};a.MakeImage=function(e,d,g){var m=a._malloc(d.length);a.HEAPU8.set(d,m);return a._MakeImage(e,m,d.length,g)};a.MakeVertices=function(e,d,g,m,r,y){var D=r&&r.length||0,J=0;g&&g.length&&(J|=1);m&&m.length&&(J|=2);void 0===y||y||(J|=4);e=new a._VerticesBuilder(e,d.length/2,D,J);w(d,"HEAPF32",e.positions());e.texCoords()&&w(g,"HEAPF32",e.texCoords());e.colors()&&
w(l(m),"HEAPU32",e.colors());e.indices()&&w(r,"HEAPU16",e.indices());return e.detach()};a.Matrix={};a.Matrix.identity=function(){return c(3)};a.Matrix.invert=function(e){var d=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 d?[(e[4]*e[8]-e[5]*e[7])/d,(e[2]*e[7]-e[1]*e[8])/d,(e[1]*e[5]-e[2]*e[4])/d,(e[5]*e[6]-e[3]*e[8])/d,(e[0]*e[8]-e[2]*e[6])/d,(e[2]*e[3]-e[0]*e[5])/d,(e[3]*e[7]-e[4]*e[6])/d,(e[1]*e[6]-e[0]*e[7])/d,(e[0]*e[4]-e[1]*e[3])/d]:null};a.Matrix.mapPoints=
function(e,d){for(var g=0;g<d.length;g+=2){var m=d[g],r=d[g+1],y=e[6]*m+e[7]*r+e[8],D=e[3]*m+e[4]*r+e[5];d[g]=(e[0]*m+e[1]*r+e[2])/y;d[g+1]=D/y}return d};a.Matrix.multiply=function(){return Lc(3,arguments)};a.Matrix.rotated=function(e,d,g){d=d||0;g=g||0;var m=Math.sin(e);e=Math.cos(e);return[e,-m,ib(m,g,1-e,d),m,e,ib(-m,d,1-e,g),0,0,1]};a.Matrix.scaled=function(e,d,g,m){g=g||0;m=m||0;var r=b([e,d],c(3),3,0,1);return b([g-e*g,m-d*m],r,3,2,0)};a.Matrix.skewed=function(e,d,g,m){g=g||0;m=m||0;var r=b([e,
d],c(3),3,1,-1);return b([-e*g,-d*m],r,3,2,0)};a.Matrix.translated=function(e,d){return b(arguments,c(3),3,2,0)};a.Vector={};a.Vector.dot=function(e,d){return e.map(function(g,m){return g*d[m]}).reduce(function(g,m){return g+m})};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,d){return e.map(function(g){return g*d})};a.Vector.add=function(e,d){return e.map(function(g,m){return g+d[m]})};
a.Vector.sub=function(e,d){return e.map(function(g,m){return g-d[m]})};a.Vector.dist=function(e,d){return a.Vector.length(a.Vector.sub(e,d))};a.Vector.normalize=function(e){return a.Vector.mulScalar(e,1/a.Vector.length(e))};a.Vector.cross=function(e,d){return[e[1]*d[2]-e[2]*d[1],e[2]*d[0]-e[0]*d[2],e[0]*d[1]-e[1]*d[0]]};a.M44={};a.M44.identity=function(){return c(4)};a.M44.translated=function(e){return b(e,c(4),4,3,0)};a.M44.scaled=function(e){return b(e,c(4),4,0,1)};a.M44.rotated=function(e,d){return a.M44.rotatedUnitSinCos(a.Vector.normalize(e),
Math.sin(d),Math.cos(d))};a.M44.rotatedUnitSinCos=function(e,d,g){var m=e[0],r=e[1];e=e[2];var y=1-g;return[y*m*m+g,y*m*r-d*e,y*m*e+d*r,0,y*m*r+d*e,y*r*r+g,y*r*e-d*m,0,y*m*e-d*r,y*r*e+d*m,y*e*e+g,0,0,0,0,1]};a.M44.lookat=function(e,d,g){d=a.Vector.normalize(a.Vector.sub(d,e));g=a.Vector.normalize(g);g=a.Vector.normalize(a.Vector.cross(d,g));var m=a.M44.identity();b(g,m,4,0,0);b(a.Vector.cross(g,d),m,4,1,0);b(a.Vector.mulScalar(d,-1),m,4,2,0);b(e,m,4,3,0);e=a.M44.invert(m);return null===e?a.M44.identity():
e};a.M44.perspective=function(e,d,g){var m=1/(d-e);g/=2;g=Math.cos(g)/Math.sin(g);return[g,0,0,0,0,g,0,0,0,0,(d+e)*m,2*d*e*m,0,0,-1,1]};a.M44.rc=function(e,d,g){return e[4*d+g]};a.M44.multiply=function(){return Lc(4,arguments)};a.M44.invert=function(e){var d=e[0],g=e[4],m=e[8],r=e[12],y=e[1],D=e[5],J=e[9],N=e[13],Q=e[2],U=e[6],u=e[10],I=e[14],R=e[3],aa=e[7],ka=e[11];e=e[15];var ua=d*D-g*y,va=d*J-m*y,la=d*N-r*y,F=g*J-m*D,k=g*N-r*D,p=m*N-r*J,z=Q*aa-U*R,B=Q*ka-u*R,C=Q*e-I*R,E=U*ka-u*aa,L=U*e-I*aa,Y=
u*e-I*ka,qa=ua*Y-va*L+la*E+F*C-k*B+p*z,fa=1/qa;if(0===qa||Infinity===fa)return null;ua*=fa;va*=fa;la*=fa;F*=fa;k*=fa;p*=fa;z*=fa;B*=fa;C*=fa;E*=fa;L*=fa;Y*=fa;d=[D*Y-J*L+N*E,J*C-y*Y-N*B,y*L-D*C+N*z,D*B-y*E-J*z,m*L-g*Y-r*E,d*Y-m*C+r*B,g*C-d*L-r*z,d*E-g*B+m*z,aa*p-ka*k+e*F,ka*la-R*p-e*va,R*k-aa*la+e*ua,aa*va-R*F-ka*ua,u*k-U*p-I*F,Q*p-u*la+I*va,U*la-Q*k-I*ua,Q*F-U*va+u*ua];return d.every(function(Ia){return!isNaN(Ia)&&Infinity!==Ia&&-Infinity!==Ia})?d: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,d,g){var m=a.M44.lookat(g.eye,g.coa,g.up);g=a.M44.perspective(g.near,g.far,g.angle);d=[(e[2]-e[0])/2,(e[3]-e[1])/2,d];e=a.M44.multiply(a.M44.translated([(e[0]+e[2])/2,(e[1]+e[3])/2,0]),a.M44.scaled(d));return a.M44.multiply(e,g,m,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,d,g,m){var r=new Float32Array(20);r[0]=e;r[6]=d;r[12]=g;r[18]=m;return r};var Gd=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];a.ColorMatrix.rotated=function(e,d,g){var m=a.ColorMatrix.identity();e=Gd[e];m[e[0]]=g;m[e[1]]=d;m[e[2]]=-d;m[e[3]]=g;return m};a.ColorMatrix.postTranslate=function(e,d,g,m,r){e[4]+=d;e[9]+=g;e[14]+=m;e[19]+=r;return e};a.ColorMatrix.concat=function(e,d){for(var g=new Float32Array(20),m=0,r=
0;20>r;r+=5){for(var y=0;4>y;y++)g[m++]=e[r]*d[y]+e[r+1]*d[y+5]+e[r+2]*d[y+10]+e[r+3]*d[y+15];g[m++]=e[r]*d[4]+e[r+1]*d[9]+e[r+2]*d[14]+e[r+3]*d[19]+e[r+4]}return g};(function(e){e.Vd=e.Vd||[];e.Vd.push(function(){function d(u){if(!u||!u.length)return[];for(var I=[],R=0;R<u.length;R+=5){var aa=e.LTRBRect(u[R],u[R+1],u[R+2],u[R+3]);aa.direction=0===u[R+4]?e.TextDirection.RTL:e.TextDirection.LTR;I.push(aa)}e._free(u.byteOffset);return I}function g(u){u=u||{};void 0===u.weight&&(u.weight=e.FontWeight.Normal);
u.width=u.width||e.FontWidth.Normal;u.slant=u.slant||e.FontSlant.Upright;return u}function m(u){if(!u||!u.length)return T;for(var I=[],R=0;R<u.length;R++){var aa=r(u[R]);I.push(aa)}return w(I,"HEAPU32")}function r(u){if(J[u])return J[u];var I=oa(u)+1,R=e._malloc(I);ra(u,H,R,I);return J[u]=R}function y(u){u._colorPtr=M(u.color);u._foregroundColorPtr=T;u._backgroundColorPtr=T;u._decorationColorPtr=T;u.foregroundColor&&(u._foregroundColorPtr=M(u.foregroundColor,N));u.backgroundColor&&(u._backgroundColorPtr=
M(u.backgroundColor,Q));u.decorationColor&&(u._decorationColorPtr=M(u.decorationColor,U));Array.isArray(u.fontFamilies)&&u.fontFamilies.length?(u._fontFamiliesPtr=m(u.fontFamilies),u._fontFamiliesLen=u.fontFamilies.length):(u._fontFamiliesPtr=T,u._fontFamiliesLen=0);if(u.locale){var I=u.locale;u._localePtr=r(I);u._localeLen=oa(I)+1}else u._localePtr=T,u._localeLen=0;if(Array.isArray(u.shadows)&&u.shadows.length){I=u.shadows;var R=I.map(function(F){return F.color||e.BLACK}),aa=I.map(function(F){return F.blurRadius||
0});u._shadowLen=I.length;for(var ka=e._malloc(8*I.length),ua=ka/4,va=0;va<I.length;va++){var la=I[va].offset||[0,0];e.HEAPF32[ua]=la[0];e.HEAPF32[ua+1]=la[1];ua+=2}u._shadowColorsPtr=G(R).ce;u._shadowOffsetsPtr=ka;u._shadowBlurRadiiPtr=w(aa,"HEAPF32")}else u._shadowLen=0,u._shadowColorsPtr=T,u._shadowOffsetsPtr=T,u._shadowBlurRadiiPtr=T;Array.isArray(u.fontFeatures)&&u.fontFeatures.length?(I=u.fontFeatures,R=I.map(function(F){return F.name}),aa=I.map(function(F){return F.value}),u._fontFeatureLen=
I.length,u._fontFeatureNamesPtr=m(R),u._fontFeatureValuesPtr=w(aa,"HEAPU32")):(u._fontFeatureLen=0,u._fontFeatureNamesPtr=T,u._fontFeatureValuesPtr=T)}function D(u){e._free(u._fontFamiliesPtr);e._free(u._shadowColorsPtr);e._free(u._shadowOffsetsPtr);e._free(u._shadowBlurRadiiPtr);e._free(u._fontFeatureNamesPtr);e._free(u._fontFeatureValuesPtr)}e.Paragraph.prototype.getRectsForRange=function(u,I,R,aa){u=this._getRectsForRange(u,I,R,aa);return d(u)};e.Paragraph.prototype.getRectsForPlaceholders=function(){var u=
this._getRectsForPlaceholders();return d(u)};e.TypefaceFontProvider.prototype.registerFont=function(u,I){u=e.Typeface.MakeFreeTypeFaceFromData(u);if(!u)return null;I=r(I);this._registerFont(u,I)};e.ParagraphStyle=function(u){u.disableHinting=u.disableHinting||!1;if(u.ellipsis){var I=u.ellipsis;u._ellipsisPtr=r(I);u._ellipsisLen=oa(I)+1}else u._ellipsisPtr=T,u._ellipsisLen=0;u.heightMultiplier=u.heightMultiplier||0;u.maxLines=u.maxLines||0;I=(I=u.strutStyle)||{};I.strutEnabled=I.strutEnabled||!1;I.strutEnabled&&
Array.isArray(I.fontFamilies)&&I.fontFamilies.length?(I._fontFamiliesPtr=m(I.fontFamilies),I._fontFamiliesLen=I.fontFamilies.length):(I._fontFamiliesPtr=T,I._fontFamiliesLen=0);I.fontStyle=g(I.fontStyle);I.fontSize=I.fontSize||0;I.heightMultiplier=I.heightMultiplier||0;I.halfLeading=I.halfLeading||!1;I.leading=I.leading||0;I.forceStrutHeight=I.forceStrutHeight||!1;u.strutStyle=I;u.textAlign=u.textAlign||e.TextAlign.Start;u.textDirection=u.textDirection||e.TextDirection.LTR;u.textHeightBehavior=u.textHeightBehavior||
e.TextHeightBehavior.All;u.textStyle=e.TextStyle(u.textStyle);return u};e.TextStyle=function(u){u.color||(u.color=e.BLACK);u.decoration=u.decoration||0;u.decorationThickness=u.decorationThickness||0;u.decorationStyle=u.decorationStyle||e.DecorationStyle.Solid;u.textBaseline=u.textBaseline||e.TextBaseline.Alphabetic;u.fontSize=u.fontSize||0;u.letterSpacing=u.letterSpacing||0;u.wordSpacing=u.wordSpacing||0;u.heightMultiplier=u.heightMultiplier||0;u.halfLeading=u.halfLeading||!1;u.fontStyle=g(u.fontStyle);
return u};var J={},N=e._malloc(16),Q=e._malloc(16),U=e._malloc(16);e.ParagraphBuilder.Make=function(u,I){y(u.textStyle);I=e.ParagraphBuilder._Make(u,I);D(u.textStyle);return I};e.ParagraphBuilder.MakeFromFontProvider=function(u,I){y(u.textStyle);I=e.ParagraphBuilder._MakeFromFontProvider(u,I);D(u.textStyle);return I};e.ParagraphBuilder.ShapeText=function(u,I,R){let aa=0;for(const ka of I)aa+=ka.length;if(aa!==u.length)throw"Accumulated block lengths must equal text.length";return e.ParagraphBuilder._ShapeText(u,
I,R)};e.ParagraphBuilder.prototype.pushStyle=function(u){y(u);this._pushStyle(u);D(u)};e.ParagraphBuilder.prototype.pushPaintStyle=function(u,I,R){y(u);this._pushPaintStyle(u,I,R);D(u)};e.ParagraphBuilder.prototype.addPlaceholder=function(u,I,R,aa,ka){R=R||e.PlaceholderAlignment.Baseline;aa=aa||e.TextBaseline.Alphabetic;this._addPlaceholder(u||0,I||0,R,aa,ka||0)}})})(t);a.Vd=a.Vd||[];a.Vd.push(function(){a.Path.prototype.op=function(e,d){return this._op(e,d)?this:null};a.Path.prototype.simplify=function(){return this._simplify()?
this:null}});a.Vd=a.Vd||[];a.Vd.push(function(){a.Canvas.prototype.drawText=function(e,d,g,m,r){var y=oa(e),D=a._malloc(y+1);ra(e,H,D,y+1);this._drawSimpleText(D,y,d,g,r,m);a._free(D)};a.Font.prototype.getGlyphBounds=function(e,d,g){var m=w(e,"HEAPU16"),r=a._malloc(16*e.length);this._getGlyphWidthBounds(m,e.length,T,r,d||null);d=new Float32Array(a.HEAPU8.buffer,r,4*e.length);x(m,e);if(g)return g.set(d),a._free(r),g;e=Float32Array.from(d);a._free(r);return e};a.Font.prototype.getGlyphIDs=function(e,
d,g){d||(d=e.length);var m=oa(e)+1,r=a._malloc(m);ra(e,H,r,m);e=a._malloc(2*d);d=this._getGlyphIDs(r,m-1,d,e);a._free(r);if(0>d)return a._free(e),null;r=new Uint16Array(a.HEAPU8.buffer,e,d);if(g)return g.set(r),a._free(e),g;g=Uint16Array.from(r);a._free(e);return g};a.Font.prototype.getGlyphIntercepts=function(e,d,g,m){var r=w(e,"HEAPU16"),y=w(d,"HEAPF32");return this._getGlyphIntercepts(r,e.length,!(e&&e._ck),y,d.length,!(d&&d._ck),g,m)};a.Font.prototype.getGlyphWidths=function(e,d,g){var m=w(e,
"HEAPU16"),r=a._malloc(4*e.length);this._getGlyphWidthBounds(m,e.length,r,T,d||null);d=new Float32Array(a.HEAPU8.buffer,r,e.length);x(m,e);if(g)return g.set(d),a._free(r),g;e=Float32Array.from(d);a._free(r);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 d=[],g=[],m=0;m<e.length;m++){var r=new Uint8Array(e[m]),y=w(r,"HEAPU8");d.push(y);g.push(r.byteLength)}d=w(d,"HEAPU32");
g=w(g,"HEAPU32");e=a.FontMgr._fromData(d,g,e.length);a._free(d);a._free(g);return e};a.Typeface.MakeFreeTypeFaceFromData=function(e){e=new Uint8Array(e);var d=w(e,"HEAPU8");return(e=a.Typeface._MakeFreeTypeFaceFromData(d,e.byteLength))?e:null};a.Typeface.prototype.getGlyphIDs=function(e,d,g){d||(d=e.length);var m=oa(e)+1,r=a._malloc(m);ra(e,H,r,m);e=a._malloc(2*d);d=this._getGlyphIDs(r,m-1,d,e);a._free(r);if(0>d)return a._free(e),null;r=new Uint16Array(a.HEAPU8.buffer,e,d);if(g)return g.set(r),a._free(e),
g;g=Uint16Array.from(r);a._free(e);return g};a.TextBlob.MakeOnPath=function(e,d,g,m){if(e&&e.length&&d&&d.countPoints()){if(1===d.countPoints())return this.MakeFromText(e,g);m||(m=0);var r=g.getGlyphIDs(e);r=g.getGlyphWidths(r);var y=[];d=new a.ContourMeasureIter(d,!1,1);for(var D=d.next(),J=new Float32Array(4),N=0;N<e.length&&D;N++){var Q=r[N];m+=Q/2;if(m>D.length()){D.delete();D=d.next();if(!D){e=e.substring(0,N);break}m=Q/2}D.getPosTan(m,J);var U=J[2],u=J[3];y.push(U,u,J[0]-Q/2*U,J[1]-Q/2*u);m+=
Q/2}e=this.MakeFromRSXform(e,y,g);D&&D.delete();d.delete();return e}};a.TextBlob.MakeFromRSXform=function(e,d,g){var m=oa(e)+1,r=a._malloc(m);ra(e,H,r,m);e=w(d,"HEAPF32");g=a.TextBlob._MakeFromRSXform(r,m-1,e,g);a._free(r);return g?g:null};a.TextBlob.MakeFromRSXformGlyphs=function(e,d,g){var m=w(e,"HEAPU16");d=w(d,"HEAPF32");g=a.TextBlob._MakeFromRSXformGlyphs(m,2*e.length,d,g);x(m,e);return g?g:null};a.TextBlob.MakeFromGlyphs=function(e,d){var g=w(e,"HEAPU16");d=a.TextBlob._MakeFromGlyphs(g,2*e.length,
d);x(g,e);return d?d:null};a.TextBlob.MakeFromText=function(e,d){var g=oa(e)+1,m=a._malloc(g);ra(e,H,m,g);e=a.TextBlob._MakeFromText(m,g-1,d);a._free(m);return e?e:null};a.MallocGlyphIDs=function(e){return a.Malloc(Uint16Array,e)}});a.Vd=a.Vd||[];a.Vd.push(function(){a.MakePicture=function(e){e=new Uint8Array(e);var d=a._malloc(e.byteLength);a.HEAPU8.set(e,d);return(e=a._MakePicture(d,e.byteLength))?e:null}});(function(){function e(F){for(var k=0;k<F.length;k++)if(void 0!==F[k]&&!Number.isFinite(F[k]))return!1;
return!0}function d(F){var k=a.getColorComponents(F);F=k[0];var p=k[1],z=k[2];k=k[3];if(1===k)return F=F.toString(16).toLowerCase(),p=p.toString(16).toLowerCase(),z=z.toString(16).toLowerCase(),F=1===F.length?"0"+F:F,p=1===p.length?"0"+p:p,z=1===z.length?"0"+z:z,"#"+F+p+z;k=0===k||1===k?k:k.toFixed(8);return"rgba("+F+", "+p+", "+z+", "+k+")"}function g(F){return a.parseColorString(F,ua)}function m(F){F=va.exec(F);if(!F)return null;var k=parseFloat(F[4]),p=16;switch(F[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:F[1],variant:F[2],weight:F[3],sizePx:p,family:F[6].trim()}}function r(F){this.Nd=F;this.Qd=new a.Paint;this.Qd.setAntiAlias(!0);this.Qd.setStrokeMiter(10);this.Qd.setStrokeCap(a.StrokeCap.Butt);this.Qd.setStrokeJoin(a.StrokeJoin.Miter);this.Pe="10px monospace";this.re=new a.Font(null,10);
this.re.setSubpixel(!0);this.be=this.he=a.BLACK;this.ue=0;this.Ie=a.TRANSPARENT;this.we=this.ve=0;this.Je=this.je=1;this.He=0;this.te=[];this.Pd=a.BlendMode.SrcOver;this.Qd.setStrokeWidth(this.Je);this.Qd.setBlendMode(this.Pd);this.Td=new a.Path;this.Ud=a.Matrix.identity();this.kf=[];this.Ae=[];this.me=function(){this.Td.delete();this.Qd.delete();this.re.delete();this.Ae.forEach(function(k){k.me()})};Object.defineProperty(this,"currentTransform",{enumerable:!0,get:function(){return{a:this.Ud[0],c:this.Ud[1],
e:this.Ud[2],b:this.Ud[3],d:this.Ud[4],f:this.Ud[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.be)?d(this.be):this.be},set:function(k){"string"===typeof k?this.be=g(k):k.se&&(this.be=k)}});Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.Pe},set:function(k){var p=m(k),z=p.family;p.typeface=la[z]?la[z][(p.style||"normal")+"|"+(p.variant||"normal")+"|"+(p.weight||"normal")]||
la[z]["*"]:null;p&&(this.re.setSize(p.sizePx),this.re.setTypeface(p.typeface),this.Pe=k)}});Object.defineProperty(this,"globalAlpha",{enumerable:!0,get:function(){return this.je},set:function(k){!isFinite(k)||0>k||1<k||(this.je=k)}});Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.Pd){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.Pd=a.BlendMode.SrcOver;break;case "destination-over":this.Pd=a.BlendMode.DstOver;break;case "copy":this.Pd=a.BlendMode.Src;break;case "destination":this.Pd=a.BlendMode.Dst;break;case "clear":this.Pd=a.BlendMode.Clear;break;case "source-in":this.Pd=a.BlendMode.SrcIn;break;case "destination-in":this.Pd=a.BlendMode.DstIn;break;case "source-out":this.Pd=a.BlendMode.SrcOut;break;case "destination-out":this.Pd=a.BlendMode.DstOut;break;case "source-atop":this.Pd=
a.BlendMode.SrcATop;break;case "destination-atop":this.Pd=a.BlendMode.DstATop;break;case "xor":this.Pd=a.BlendMode.Xor;break;case "lighter":this.Pd=a.BlendMode.Plus;break;case "plus-lighter":this.Pd=a.BlendMode.Plus;break;case "plus-darker":throw"plus-darker is not supported";case "multiply":this.Pd=a.BlendMode.Multiply;break;case "screen":this.Pd=a.BlendMode.Screen;break;case "overlay":this.Pd=a.BlendMode.Overlay;break;case "darken":this.Pd=a.BlendMode.Darken;break;case "lighten":this.Pd=a.BlendMode.Lighten;
break;case "color-dodge":this.Pd=a.BlendMode.ColorDodge;break;case "color-burn":this.Pd=a.BlendMode.ColorBurn;break;case "hard-light":this.Pd=a.BlendMode.HardLight;break;case "soft-light":this.Pd=a.BlendMode.SoftLight;break;case "difference":this.Pd=a.BlendMode.Difference;break;case "exclusion":this.Pd=a.BlendMode.Exclusion;break;case "hue":this.Pd=a.BlendMode.Hue;break;case "saturation":this.Pd=a.BlendMode.Saturation;break;case "color":this.Pd=a.BlendMode.Color;break;case "luminosity":this.Pd=a.BlendMode.Luminosity;
break;default:return}this.Qd.setBlendMode(this.Pd)}});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.Qd.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.Qd.setStrokeCap(a.StrokeCap.Butt);
break;case "round":this.Qd.setStrokeCap(a.StrokeCap.Round);break;case "square":this.Qd.setStrokeCap(a.StrokeCap.Square)}}});Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.He},set:function(k){isFinite(k)&&(this.He=k)}});Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.Qd.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.Qd.setStrokeJoin(a.StrokeJoin.Miter);
break;case "round":this.Qd.setStrokeJoin(a.StrokeJoin.Round);break;case "bevel":this.Qd.setStrokeJoin(a.StrokeJoin.Bevel)}}});Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.Qd.getStrokeWidth()},set:function(k){0>=k||!k||(this.Je=k,this.Qd.setStrokeWidth(k))}});Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Qd.getStrokeMiter()},set:function(k){0>=k||!k||this.Qd.setStrokeMiter(k)}});Object.defineProperty(this,"shadowBlur",{enumerable:!0,
get:function(){return this.ue},set:function(k){0>k||!isFinite(k)||(this.ue=k)}});Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return d(this.Ie)},set:function(k){this.Ie=g(k)}});Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.ve},set:function(k){isFinite(k)&&(this.ve=k)}});Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.we},set:function(k){isFinite(k)&&(this.we=k)}});Object.defineProperty(this,"strokeStyle",
{enumerable:!0,get:function(){return d(this.he)},set:function(k){"string"===typeof k?this.he=g(k):k.se&&(this.he=k)}});this.arc=function(k,p,z,B,C,E){u(this.Td,k,p,z,z,0,B,C,E)};this.arcTo=function(k,p,z,B,C){N(this.Td,k,p,z,B,C)};this.beginPath=function(){this.Td.delete();this.Td=new a.Path};this.bezierCurveTo=function(k,p,z,B,C,E){var L=this.Td;e([k,p,z,B,C,E])&&(L.isEmpty()&&L.moveTo(k,p),L.cubicTo(k,p,z,B,C,E))};this.clearRect=function(k,p,z,B){this.Qd.setStyle(a.PaintStyle.Fill);this.Qd.setBlendMode(a.BlendMode.Clear);
this.Nd.drawRect(a.XYWHRect(k,p,z,B),this.Qd);this.Qd.setBlendMode(this.Pd)};this.clip=function(k,p){"string"===typeof k?(p=k,k=this.Td):k&&k.$e&&(k=k.Wd);k||(k=this.Td);k=k.copy();p&&"evenodd"===p.toLowerCase()?k.setFillType(a.FillType.EvenOdd):k.setFillType(a.FillType.Winding);this.Nd.clipPath(k,a.ClipOp.Intersect,!0);k.delete()};this.closePath=function(){Q(this.Td)};this.createImageData=function(){if(1===arguments.length){var k=arguments[0];return new D(new Uint8ClampedArray(4*k.width*k.height),
k.width,k.height)}if(2===arguments.length){k=arguments[0];var p=arguments[1];return new D(new Uint8ClampedArray(4*k*p),k,p)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length;};this.createLinearGradient=function(k,p,z,B){if(e(arguments)){var C=new J(k,p,z,B);this.Ae.push(C);return C}};this.createPattern=function(k,p){k=new aa(k,p);this.Ae.push(k);return k};this.createRadialGradient=function(k,p,z,B,C,E){if(e(arguments)){var L=new ka(k,p,z,B,C,E);this.Ae.push(L);return L}};this.drawImage=
function(k){var p=this.Oe();if(3===arguments.length||5===arguments.length)var z=a.XYWHRect(arguments[1],arguments[2],arguments[3]||k.width(),arguments[4]||k.height()),B=a.XYWHRect(0,0,k.width(),k.height());else if(9===arguments.length)z=a.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),B=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.Nd.drawImageRect(k,B,z,p,!1);p.dispose()};
this.ellipse=function(k,p,z,B,C,E,L,Y){u(this.Td,k,p,z,B,C,E,L,Y)};this.Oe=function(){var k=this.Qd.copy();k.setStyle(a.PaintStyle.Fill);if(f(this.be)){var p=a.multiplyByAlpha(this.be,this.je);k.setColor(p)}else p=this.be.se(this.Ud),k.setColor(a.Color(0,0,0,this.je)),k.setShader(p);k.dispose=function(){this.delete()};return k};this.fill=function(k,p){"string"===typeof k?(p=k,k=this.Td):k&&k.$e&&(k=k.Wd);if("evenodd"===p)this.Td.setFillType(a.FillType.EvenOdd);else{if("nonzero"!==p&&p)throw"invalid fill rule";
this.Td.setFillType(a.FillType.Winding)}k||(k=this.Td);p=this.Oe();var z=this.xe(p);z&&(this.Nd.save(),this.pe(),this.Nd.drawPath(k,z),this.Nd.restore(),z.dispose());this.Nd.drawPath(k,p);p.dispose()};this.fillRect=function(k,p,z,B){var C=this.Oe(),E=this.xe(C);E&&(this.Nd.save(),this.pe(),this.Nd.drawRect(a.XYWHRect(k,p,z,B),E),this.Nd.restore(),E.dispose());this.Nd.drawRect(a.XYWHRect(k,p,z,B),C);C.dispose()};this.fillText=function(k,p,z){var B=this.Oe();k=a.TextBlob.MakeFromText(k,this.re);var C=
this.xe(B);C&&(this.Nd.save(),this.pe(),this.Nd.drawTextBlob(k,p,z,C),this.Nd.restore(),C.dispose());this.Nd.drawTextBlob(k,p,z,B);k.delete();B.dispose()};this.getImageData=function(k,p,z,B){return(k=this.Nd.readPixels(k,p,{width:z,height:B,colorType:a.ColorType.RGBA_8888,alphaType:a.AlphaType.Unpremul,colorSpace:a.ColorSpace.SRGB}))?new D(new Uint8ClampedArray(k.buffer),z,B):null};this.getLineDash=function(){return this.te.slice()};this.lf=function(k){var p=a.Matrix.invert(this.Ud);a.Matrix.mapPoints(p,
k);return k};this.isPointInPath=function(k,p,z){var B=arguments;if(3===B.length)var C=this.Td;else if(4===B.length)C=B[0],k=B[1],p=B[2],z=B[3];else throw"invalid arg count, need 3 or 4, got "+B.length;if(!isFinite(k)||!isFinite(p))return!1;z=z||"nonzero";if("nonzero"!==z&&"evenodd"!==z)return!1;B=this.lf([k,p]);k=B[0];p=B[1];C.setFillType("nonzero"===z?a.FillType.Winding:a.FillType.EvenOdd);return C.contains(k,p)};this.isPointInStroke=function(k,p){var z=arguments;if(2===z.length)var B=this.Td;else if(3===
z.length)B=z[0],k=z[1],p=z[2];else throw"invalid arg count, need 2 or 3, got "+z.length;if(!isFinite(k)||!isFinite(p))return!1;z=this.lf([k,p]);k=z[0];p=z[1];B=B.copy();B.setFillType(a.FillType.Winding);B.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Qd.getStrokeCap(),join:this.Qd.getStrokeJoin(),precision:.3});z=B.contains(k,p);B.delete();return z};this.lineTo=function(k,p){I(this.Td,k,p)};this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API");
};this.moveTo=function(k,p){var z=this.Td;e([k,p])&&z.moveTo(k,p)};this.putImageData=function(k,p,z,B,C,E,L){if(e([p,z,B,C,E,L]))if(void 0===B)this.Nd.writePixels(k.data,k.width,k.height,p,z);else if(B=B||0,C=C||0,E=E||k.width,L=L||k.height,0>E&&(B+=E,E=Math.abs(E)),0>L&&(C+=L,L=Math.abs(L)),0>B&&(E+=B,B=0),0>C&&(L+=C,C=0),!(0>=E||0>=L)){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 Y=
a.XYWHRect(B,C,E,L);p=a.XYWHRect(p+B,z+C,E,L);z=a.Matrix.invert(this.Ud);this.Nd.save();this.Nd.concat(z);this.Nd.drawImageRect(k,Y,p,null,!1);this.Nd.restore();k.delete()}};this.quadraticCurveTo=function(k,p,z,B){var C=this.Td;e([k,p,z,B])&&(C.isEmpty()&&C.moveTo(k,p),C.quadTo(k,p,z,B))};this.rect=function(k,p,z,B){var C=this.Td;k=a.XYWHRect(k,p,z,B);e(k)&&C.addRect(k)};this.resetTransform=function(){this.Td.transform(this.Ud);var k=a.Matrix.invert(this.Ud);this.Nd.concat(k);this.Ud=this.Nd.getTotalMatrix()};
this.restore=function(){var k=this.kf.pop();if(k){var p=a.Matrix.multiply(this.Ud,a.Matrix.invert(k.Cf));this.Td.transform(p);this.Qd.delete();this.Qd=k.$f;this.te=k.Wf;this.Je=k.rg;this.he=k.qg;this.be=k.fs;this.ve=k.og;this.we=k.pg;this.ue=k.dg;this.Ie=k.ng;this.je=k.Jf;this.Pd=k.Kf;this.He=k.Xf;this.Pe=k.If;this.Nd.restore();this.Ud=this.Nd.getTotalMatrix()}};this.rotate=function(k){if(isFinite(k)){var p=a.Matrix.rotated(-k);this.Td.transform(p);this.Nd.rotate(k/Math.PI*180,0,0);this.Ud=this.Nd.getTotalMatrix()}};
this.save=function(){if(this.be.qe){var k=this.be.qe();this.Ae.push(k)}else k=this.be;if(this.he.qe){var p=this.he.qe();this.Ae.push(p)}else p=this.he;this.kf.push({Cf:this.Ud.slice(),Wf:this.te.slice(),rg:this.Je,qg:p,fs:k,og:this.ve,pg:this.we,dg:this.ue,ng:this.Ie,Jf:this.je,Xf:this.He,Kf:this.Pd,$f:this.Qd.copy(),If:this.Pe});this.Nd.save()};this.scale=function(k,p){if(e(arguments)){var z=a.Matrix.scaled(1/k,1/p);this.Td.transform(z);this.Nd.scale(k,p);this.Ud=this.Nd.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.te=k};this.setTransform=function(k,p,z,B,C,E){e(arguments)&&(this.resetTransform(),this.transform(k,p,z,B,C,E))};this.pe=function(){var k=a.Matrix.invert(this.Ud);this.Nd.concat(k);this.Nd.concat(a.Matrix.translated(this.ve,this.we));this.Nd.concat(this.Ud)};this.xe=function(k){var p=a.multiplyByAlpha(this.Ie,this.je);if(!a.getColorComponents(p)[3]||!(this.ue||this.we||this.ve))return null;
k=k.copy();k.setColor(p);var z=a.MaskFilter.MakeBlur(a.BlurStyle.Normal,this.ue/2,!1);k.setMaskFilter(z);k.dispose=function(){z.delete();this.delete()};return k};this.bf=function(){var k=this.Qd.copy();k.setStyle(a.PaintStyle.Stroke);if(f(this.he)){var p=a.multiplyByAlpha(this.he,this.je);k.setColor(p)}else p=this.he.se(this.Ud),k.setColor(a.Color(0,0,0,this.je)),k.setShader(p);k.setStrokeWidth(this.Je);if(this.te.length){var z=a.PathEffect.MakeDash(this.te,this.He);k.setPathEffect(z)}k.dispose=function(){z&&
z.delete();this.delete()};return k};this.stroke=function(k){k=k?k.Wd:this.Td;var p=this.bf(),z=this.xe(p);z&&(this.Nd.save(),this.pe(),this.Nd.drawPath(k,z),this.Nd.restore(),z.dispose());this.Nd.drawPath(k,p);p.dispose()};this.strokeRect=function(k,p,z,B){var C=this.bf(),E=this.xe(C);E&&(this.Nd.save(),this.pe(),this.Nd.drawRect(a.XYWHRect(k,p,z,B),E),this.Nd.restore(),E.dispose());this.Nd.drawRect(a.XYWHRect(k,p,z,B),C);C.dispose()};this.strokeText=function(k,p,z){var B=this.bf();k=a.TextBlob.MakeFromText(k,
this.re);var C=this.xe(B);C&&(this.Nd.save(),this.pe(),this.Nd.drawTextBlob(k,p,z,C),this.Nd.restore(),C.dispose());this.Nd.drawTextBlob(k,p,z,B);k.delete();B.dispose()};this.translate=function(k,p){if(e(arguments)){var z=a.Matrix.translated(-k,-p);this.Td.transform(z);this.Nd.translate(k,p);this.Ud=this.Nd.getTotalMatrix()}};this.transform=function(k,p,z,B,C,E){k=[k,z,C,p,B,E,0,0,1];p=a.Matrix.invert(k);this.Td.transform(p);this.Nd.concat(k);this.Ud=this.Nd.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 y(F){this.cf=F;this.Md=new r(F.getCanvas());this.Qe=[];this.decodeImage=function(k){k=a.MakeImageFromEncoded(k);if(!k)throw"Invalid input";this.Qe.push(k);return k};this.loadFont=function(k,p){k=a.Typeface.MakeFreeTypeFaceFromData(k);if(!k)return null;this.Qe.push(k);var z=(p.style||"normal")+
"|"+(p.variant||"normal")+"|"+(p.weight||"normal");p=p.family;la[p]||(la[p]={"*":k});la[p][z]=k};this.makePath2D=function(k){k=new R(k);this.Qe.push(k.Wd);return k};this.getContext=function(k){return"2d"===k?this.Md:null};this.toDataURL=function(k,p){this.cf.flush();var z=this.cf.makeImageSnapshot();if(z){k=k||"image/png";var B=a.ImageFormat.PNG;"image/jpeg"===k&&(B=a.ImageFormat.JPEG);if(p=z.encodeToBytes(B,p||.92)){z.delete();k="data:"+k+";base64,";if("undefined"!==typeof Buffer)p=Buffer.from(p).toString("base64");
else{z=0;B=p.length;for(var C="",E;z<B;)E=p.slice(z,Math.min(z+32768,B)),C+=String.fromCharCode.apply(null,E),z+=32768;p=btoa(C)}return k+p}}};this.dispose=function(){this.Md.me();this.Qe.forEach(function(k){k.delete()});this.cf.dispose()}}function D(F,k,p){if(!k||0===p)throw"invalid dimensions, width and height must be non-zero";if(F.length%4)throw"arr must be a multiple of 4";p=p||F.length/(4*k);Object.defineProperty(this,"data",{value:F,writable:!1});Object.defineProperty(this,"height",{value:p,
writable:!1});Object.defineProperty(this,"width",{value:k,writable:!1})}function J(F,k,p,z){this.Yd=null;this.ee=[];this.$d=[];this.addColorStop=function(B,C){if(0>B||1<B||!isFinite(B))throw"offset must be between 0 and 1 inclusively";C=g(C);var E=this.$d.indexOf(B);if(-1!==E)this.ee[E]=C;else{for(E=0;E<this.$d.length&&!(this.$d[E]>B);E++);this.$d.splice(E,0,B);this.ee.splice(E,0,C)}};this.qe=function(){var B=new J(F,k,p,z);B.ee=this.ee.slice();B.$d=this.$d.slice();return B};this.me=function(){this.Yd&&
(this.Yd.delete(),this.Yd=null)};this.se=function(B){var C=[F,k,p,z];a.Matrix.mapPoints(B,C);B=C[0];var E=C[1],L=C[2];C=C[3];this.me();return this.Yd=a.Shader.MakeLinearGradient([B,E],[L,C],this.ee,this.$d,a.TileMode.Clamp)}}function N(F,k,p,z,B,C){if(e([k,p,z,B,C])){if(0>C)throw"radii cannot be negative";F.isEmpty()&&F.moveTo(k,p);F.arcToTangent(k,p,z,B,C)}}function Q(F){if(!F.isEmpty()){var k=F.getBounds();(k[3]-k[1]||k[2]-k[0])&&F.close()}}function U(F,k,p,z,B,C,E){E=(E-C)/Math.PI*180;C=C/Math.PI*
180;k=a.LTRBRect(k-z,p-B,k+z,p+B);1E-5>Math.abs(Math.abs(E)-360)?(p=E/2,F.arcToOval(k,C,p,!1),F.arcToOval(k,C+p,p,!1)):F.arcToOval(k,C,E,!1)}function u(F,k,p,z,B,C,E,L,Y){if(e([k,p,z,B,C,E,L])){if(0>z||0>B)throw"radii cannot be negative";var qa=2*Math.PI,fa=E%qa;0>fa&&(fa+=qa);var Ia=fa-E;E=fa;L+=Ia;!Y&&L-E>=qa?L=E+qa:Y&&E-L>=qa?L=E-qa:!Y&&E>L?L=E+(qa-(E-L)%qa):Y&&E<L&&(L=E-(qa-(L-E)%qa));C?(Y=a.Matrix.rotated(C,k,p),C=a.Matrix.rotated(-C,k,p),F.transform(C),U(F,k,p,z,B,E,L),F.transform(Y)):U(F,k,
p,z,B,E,L)}}function I(F,k,p){e([k,p])&&(F.isEmpty()&&F.moveTo(k,p),F.lineTo(k,p))}function R(F){this.Wd=null;this.Wd="string"===typeof F?a.Path.MakeFromSVGString(F):F&&F.$e?F.Wd.copy():new a.Path;this.$e=function(){return this.Wd};this.addPath=function(k,p){p||(p={a:1,c:0,e:0,b:0,d:1,f:0});this.Wd.addPath(k.Wd,[p.a,p.c,p.e,p.b,p.d,p.f])};this.arc=function(k,p,z,B,C,E){u(this.Wd,k,p,z,z,0,B,C,E)};this.arcTo=function(k,p,z,B,C){N(this.Wd,k,p,z,B,C)};this.bezierCurveTo=function(k,p,z,B,C,E){var L=this.Wd;
e([k,p,z,B,C,E])&&(L.isEmpty()&&L.moveTo(k,p),L.cubicTo(k,p,z,B,C,E))};this.closePath=function(){Q(this.Wd)};this.ellipse=function(k,p,z,B,C,E,L,Y){u(this.Wd,k,p,z,B,C,E,L,Y)};this.lineTo=function(k,p){I(this.Wd,k,p)};this.moveTo=function(k,p){var z=this.Wd;e([k,p])&&z.moveTo(k,p)};this.quadraticCurveTo=function(k,p,z,B){var C=this.Wd;e([k,p,z,B])&&(C.isEmpty()&&C.moveTo(k,p),C.quadTo(k,p,z,B))};this.rect=function(k,p,z,B){var C=this.Wd;k=a.XYWHRect(k,p,z,B);e(k)&&C.addRect(k)}}function aa(F,k){this.Yd=
null;this.xf=F;this._transform=a.Matrix.identity();""===k&&(k="repeat");switch(k){case "repeat-x":this.ye=a.TileMode.Repeat;this.ze=a.TileMode.Decal;break;case "repeat-y":this.ye=a.TileMode.Decal;this.ze=a.TileMode.Repeat;break;case "repeat":this.ze=this.ye=a.TileMode.Repeat;break;case "no-repeat":this.ze=this.ye=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.qe=function(){var p=new aa;
p.ye=this.ye;p.ze=this.ze;return p};this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)};this.se=function(){this.me();return this.Yd=this.xf.makeShaderCubic(this.ye,this.ze,1/3,1/3,this._transform)}}function ka(F,k,p,z,B,C){this.Yd=null;this.ee=[];this.$d=[];this.addColorStop=function(E,L){if(0>E||1<E||!isFinite(E))throw"offset must be between 0 and 1 inclusively";L=g(L);var Y=this.$d.indexOf(E);if(-1!==Y)this.ee[Y]=L;else{for(Y=0;Y<this.$d.length&&!(this.$d[Y]>E);Y++);this.$d.splice(Y,0,
E);this.ee.splice(Y,0,L)}};this.qe=function(){var E=new ka(F,k,p,z,B,C);E.ee=this.ee.slice();E.$d=this.$d.slice();return E};this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)};this.se=function(E){var L=[F,k,z,B];a.Matrix.mapPoints(E,L);var Y=L[0],qa=L[1],fa=L[2];L=L[3];var Ia=(Math.abs(E[0])+Math.abs(E[4]))/2;E=p*Ia;Ia*=C;this.me();return this.Yd=a.Shader.MakeTwoPointConicalGradient([Y,qa],E,[fa,L],Ia,this.ee,this.$d,a.TileMode.Clamp)}}a._testing={};var ua={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=d;var va=/(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={"Noto Mono":{"*":null},monospace:{"*":null}};a._testing.parseFontString=m;a.MakeCanvas=function(F,k){return(F=a.MakeSurface(F,k))?new y(F):null};a.ImageData=function(){if(2===arguments.length){var F=arguments[0],k=arguments[1];return new D(new Uint8ClampedArray(4*F*k),F,k)}if(3===arguments.length){var p=
arguments[0];if(p.prototype.constructor!==Uint8ClampedArray)throw"bytes must be given as a Uint8ClampedArray";F=arguments[1];k=arguments[2];if(p%4)throw"bytes must be given in a multiple of 4";if(p%F)throw"bytes must divide evenly by width";if(k&&k!==p/(4*F))throw"invalid height given";return new D(p,F,p/(4*F))}throw"invalid number of arguments - takes 2 or 3, saw "+arguments.length;}})()})(t);var sa={},ta;for(ta in t)t.hasOwnProperty(ta)&&(sa[ta]=t[ta]);var wa="./this.program";
function xa(a,b){throw b;}var ya=!1,za=!1,Aa=!1,Ba=!1;ya="object"===typeof window;za="function"===typeof importScripts;Aa="object"===typeof process&&"object"===typeof process.versions&&"string"===typeof process.versions.node;Ba=!ya&&!Aa&&!za;var Ca="",Da,Ea,Fa,Ga,Ja;
if(Aa)Ca=za?require("path").dirname(Ca)+"/":__dirname+"/",Da=function(a,b){Ga||(Ga=require("fs"));Ja||(Ja=require("path"));a=Ja.normalize(a);return Ga.readFileSync(a,b?null:"utf8")},Fa=function(a){a=Da(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a},1<process.argv.length&&(wa=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",function(a){if(!(a instanceof Ka))throw a;}),process.on("unhandledRejection",La),xa=function(a){process.exit(a)},t.inspect=
function(){return"[Emscripten Module object]"};else if(Ba)"undefined"!=typeof read&&(Da=function(a){return read(a)}),Fa=function(a){if("function"===typeof readbuffer)return new Uint8Array(readbuffer(a));a=read(a,"binary");assert("object"===typeof a);return a},"function"===typeof quit&&(xa=function(a){quit(a)}),"undefined"!==typeof print&&("undefined"===typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!==typeof printErr?printErr:print);else if(ya||za)za?Ca=self.location.href:
"undefined"!==typeof document&&document.currentScript&&(Ca=document.currentScript.src),_scriptDir&&(Ca=_scriptDir),0!==Ca.indexOf("blob:")?Ca=Ca.substr(0,Ca.lastIndexOf("/")+1):Ca="",Da=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},za&&(Fa=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}),Ea=function(a,b,c){var f=new XMLHttpRequest;f.open("GET",a,!0);f.responseType="arraybuffer";
f.onload=function(){200==f.status||0==f.status&&f.response?b(f.response):c()};f.onerror=c;f.send(null)};var Ma=t.print||console.log.bind(console),Pa=t.printErr||console.warn.bind(console);for(ta in sa)sa.hasOwnProperty(ta)&&(t[ta]=sa[ta]);sa=null;t.thisProgram&&(wa=t.thisProgram);t.quit&&(xa=t.quit);var Qa=0,Ra;t.wasmBinary&&(Ra=t.wasmBinary);var noExitRuntime=t.noExitRuntime||!0;"object"!==typeof WebAssembly&&La("no native wasm support detected");var Sa,Ta=!1;
function assert(a,b){a||La("Assertion failed: "+b)}var Ua="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;
function Wa(a,b,c){var f=b+c;for(c=b;a[c]&&!(c>=f);)++c;if(16<c-b&&a.subarray&&Ua)return Ua.decode(a.subarray(b,c));for(f="";b<c;){var h=a[b++];if(h&128){var l=a[b++]&63;if(192==(h&224))f+=String.fromCharCode((h&31)<<6|l);else{var n=a[b++]&63;h=224==(h&240)?(h&15)<<12|l<<6|n:(h&7)<<18|l<<12|n<<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}function Xa(a,b){return a?Wa(H,a,b):""}
function ra(a,b,c,f){if(!(0<f))return 0;var h=c;f=c+f-1;for(var l=0;l<a.length;++l){var n=a.charCodeAt(l);if(55296<=n&&57343>=n){var q=a.charCodeAt(++l);n=65536+((n&1023)<<10)|q&1023}if(127>=n){if(c>=f)break;b[c++]=n}else{if(2047>=n){if(c+1>=f)break;b[c++]=192|n>>6}else{if(65535>=n){if(c+2>=f)break;b[c++]=224|n>>12}else{if(c+3>=f)break;b[c++]=240|n>>18;b[c++]=128|n>>12&63}b[c++]=128|n>>6&63}b[c++]=128|n&63}}b[c]=0;return c-h}
function oa(a){for(var b=0,c=0;c<a.length;++c){var f=a.charCodeAt(c);55296<=f&&57343>=f&&(f=65536+((f&1023)<<10)|a.charCodeAt(++c)&1023);127>=f?++b:b=2047>=f?b+2:65535>=f?b+3:b+4}return b}var Ya="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function Za(a,b){var c=a>>1;for(var f=c+b/2;!(c>=f)&&$a[c];)++c;c<<=1;if(32<c-a&&Ya)return Ya.decode(H.subarray(a,c));c="";for(f=0;!(f>=b/2);++f){var h=ab[a+2*f>>1];if(0==h)break;c+=String.fromCharCode(h)}return c}
function bb(a,b,c){void 0===c&&(c=2147483647);if(2>c)return 0;c-=2;var f=b;c=c<2*a.length?c/2:a.length;for(var h=0;h<c;++h)ab[b>>1]=a.charCodeAt(h),b+=2;ab[b>>1]=0;return b-f}function cb(a){return 2*a.length}function db(a,b){for(var c=0,f="";!(c>=b/4);){var h=P[a+4*c>>2];if(0==h)break;++c;65536<=h?(h-=65536,f+=String.fromCharCode(55296|h>>10,56320|h&1023)):f+=String.fromCharCode(h)}return f}
function eb(a,b,c){void 0===c&&(c=2147483647);if(4>c)return 0;var f=b;c=f+c-4;for(var h=0;h<a.length;++h){var l=a.charCodeAt(h);if(55296<=l&&57343>=l){var n=a.charCodeAt(++h);l=65536+((l&1023)<<10)|n&1023}P[b>>2]=l;b+=4;if(b+4>c)break}P[b>>2]=0;return b-f}function fb(a){for(var b=0,c=0;c<a.length;++c){var f=a.charCodeAt(c);55296<=f&&57343>=f&&++c;b+=4}return b}var gb,lb,H,ab,$a,P,mb,S,nb;
function ob(){var a=Sa.buffer;gb=a;t.HEAP8=lb=new Int8Array(a);t.HEAP16=ab=new Int16Array(a);t.HEAP32=P=new Int32Array(a);t.HEAPU8=H=new Uint8Array(a);t.HEAPU16=$a=new Uint16Array(a);t.HEAPU32=mb=new Uint32Array(a);t.HEAPF32=S=new Float32Array(a);t.HEAPF64=nb=new Float64Array(a)}var pb,qb=[],rb=[],sb=[];function tb(){var a=t.preRun.shift();qb.unshift(a)}var ub=0,vb=null,wb=null;t.preloadedImages={};t.preloadedAudios={};
function La(a){if(t.onAbort)t.onAbort(a);Pa(a);Ta=!0;a=new WebAssembly.RuntimeError("abort("+a+"). Build with -s ASSERTIONS=1 for more info.");ea(a);throw a;}function xb(){return yb.startsWith("data:application/octet-stream;base64,")}var yb="canvaskit.wasm";if(!xb()){var zb=yb;yb=t.locateFile?t.locateFile(zb,Ca):Ca+zb}function Ab(){var a=yb;try{if(a==yb&&Ra)return new Uint8Array(Ra);if(Fa)return Fa(a);throw"both async and sync fetching of the wasm failed";}catch(b){La(b)}}
function Cb(){if(!Ra&&(ya||za)){if("function"===typeof fetch&&!yb.startsWith("file://"))return fetch(yb,{credentials:"same-origin"}).then(function(a){if(!a.ok)throw"failed to load wasm binary file at '"+yb+"'";return a.arrayBuffer()}).catch(function(){return Ab()});if(Ea)return new Promise(function(a,b){Ea(yb,function(c){a(new Uint8Array(c))},b)})}return Promise.resolve().then(function(){return Ab()})}
function Db(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b)b(t);else{var c=b.Ag;"number"===typeof c?void 0===b.df?pb.get(c)():pb.get(c)(b.df):c(void 0===b.df?null:b.df)}}}function Eb(a){this.Rd=a-16;this.ig=function(b){P[this.Rd+8>>2]=b};this.fg=function(b){P[this.Rd+0>>2]=b};this.gg=function(){P[this.Rd+4>>2]=0};this.eg=function(){lb[this.Rd+12>>0]=0};this.hg=function(){lb[this.Rd+13>>0]=0};this.Tf=function(b,c){this.ig(b);this.fg(c);this.gg();this.eg();this.hg()}}
var Fb=0,Gb={},Hb=[null,[],[]],Ib={},Jb={};function Kb(a){for(;a.length;){var b=a.pop();a.pop()(b)}}function Lb(a){return this.fromWireType(mb[a>>2])}var Mb={},Nb={},Ob={};function Pb(a){if(void 0===a)return"_unknown";a=a.replace(/[^a-zA-Z0-9_]/g,"$");var b=a.charCodeAt(0);return 48<=b&&57>=b?"_"+a:a}function Qb(a,b){a=Pb(a);return(new Function("body","return function "+a+'() {\n    "use strict";    return body.apply(this, arguments);\n};\n'))(b)}
function Rb(a){var b=Error,c=Qb(a,function(f){this.name=a;this.message=f;f=Error(f).stack;void 0!==f&&(this.stack=this.toString()+"\n"+f.replace(/^Error(:[^\n]*)?\n/,""))});c.prototype=Object.create(b.prototype);c.prototype.constructor=c;c.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message};return c}var Sb=void 0;function Tb(a){throw new Sb(a);}
function Ub(a,b,c){function f(q){q=c(q);q.length!==a.length&&Tb("Mismatched type converter count");for(var x=0;x<a.length;++x)Vb(a[x],q[x])}a.forEach(function(q){Ob[q]=b});var h=Array(b.length),l=[],n=0;b.forEach(function(q,x){Nb.hasOwnProperty(q)?h[x]=Nb[q]:(l.push(q),Mb.hasOwnProperty(q)||(Mb[q]=[]),Mb[q].push(function(){h[x]=Nb[q];++n;n===l.length&&f(h)}))});0===l.length&&f(h)}
function Wb(a){switch(a){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+a);}}var Xb=void 0;function Yb(a){for(var b="";H[a];)b+=Xb[H[a++]];return b}var Zb=void 0;function V(a){throw new Zb(a);}
function Vb(a,b,c){c=c||{};if(!("argPackAdvance"in b))throw new TypeError("registerType registeredInstance requires argPackAdvance");var f=b.name;a||V('type "'+f+'" must have a positive integer typeid pointer');if(Nb.hasOwnProperty(a)){if(c.Sf)return;V("Cannot register type '"+f+"' twice")}Nb[a]=b;delete Ob[a];Mb.hasOwnProperty(a)&&(b=Mb[a],delete Mb[a],b.forEach(function(h){h()}))}function $b(a){V(a.Ld.Xd.Sd.name+" instance already deleted")}var ac=!1;function bc(){}
function cc(a){--a.count.value;0===a.count.value&&(a.de?a.ge.ke(a.de):a.Xd.Sd.ke(a.Rd))}function dc(a){if("undefined"===typeof FinalizationGroup)return dc=function(b){return b},a;ac=new FinalizationGroup(function(b){for(var c=b.next();!c.done;c=b.next())c=c.value,c.Rd?cc(c):console.warn("object already deleted: "+c.Rd)});dc=function(b){ac.register(b,b.Ld,b.Ld);return b};bc=function(b){ac.unregister(b.Ld)};return dc(a)}var lc=void 0,mc=[];
function nc(){for(;mc.length;){var a=mc.pop();a.Ld.De=!1;a["delete"]()}}function oc(){}var pc={};function qc(a,b,c){if(void 0===a[b].Zd){var f=a[b];a[b]=function(){a[b].Zd.hasOwnProperty(arguments.length)||V("Function '"+c+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+a[b].Zd+")!");return a[b].Zd[arguments.length].apply(this,arguments)};a[b].Zd=[];a[b].Zd[f.Be]=f}}
function rc(a,b,c){t.hasOwnProperty(a)?((void 0===c||void 0!==t[a].Zd&&void 0!==t[a].Zd[c])&&V("Cannot register public name '"+a+"' twice"),qc(t,a,a),t.hasOwnProperty(c)&&V("Cannot register multiple overloads of a function with the same number of arguments ("+c+")!"),t[a].Zd[c]=b):(t[a]=b,void 0!==c&&(t[a].Cg=c))}function sc(a,b,c,f,h,l,n,q){this.name=a;this.constructor=b;this.Ee=c;this.ke=f;this.ie=h;this.Lf=l;this.Ne=n;this.Ff=q;this.bg=[]}
function tc(a,b,c){for(;b!==c;)b.Ne||V("Expected null or instance of "+c.name+", got an instance of "+b.name),a=b.Ne(a),b=b.ie;return a}function uc(a,b){if(null===b)return this.ff&&V("null is not a valid "+this.name),0;b.Ld||V('Cannot pass "'+vc(b)+'" as a '+this.name);b.Ld.Rd||V("Cannot pass deleted object as a pointer of type "+this.name);return tc(b.Ld.Rd,b.Ld.Xd.Sd,this.Sd)}
function wc(a,b){if(null===b){this.ff&&V("null is not a valid "+this.name);if(this.Se){var c=this.gf();null!==a&&a.push(this.ke,c);return c}return 0}b.Ld||V('Cannot pass "'+vc(b)+'" as a '+this.name);b.Ld.Rd||V("Cannot pass deleted object as a pointer of type "+this.name);!this.Re&&b.Ld.Xd.Re&&V("Cannot convert argument of type "+(b.Ld.ge?b.Ld.ge.name:b.Ld.Xd.name)+" to parameter type "+this.name);c=tc(b.Ld.Rd,b.Ld.Xd.Sd,this.Sd);if(this.Se)switch(void 0===b.Ld.de&&V("Passing raw pointer to smart pointer is illegal"),
this.mg){case 0:b.Ld.ge===this?c=b.Ld.de:V("Cannot convert argument of type "+(b.Ld.ge?b.Ld.ge.name:b.Ld.Xd.name)+" to parameter type "+this.name);break;case 1:c=b.Ld.de;break;case 2:if(b.Ld.ge===this)c=b.Ld.de;else{var f=b.clone();c=this.cg(c,xc(function(){f["delete"]()}));null!==a&&a.push(this.ke,c)}break;default:V("Unsupporting sharing policy")}return c}
function yc(a,b){if(null===b)return this.ff&&V("null is not a valid "+this.name),0;b.Ld||V('Cannot pass "'+vc(b)+'" as a '+this.name);b.Ld.Rd||V("Cannot pass deleted object as a pointer of type "+this.name);b.Ld.Xd.Re&&V("Cannot convert argument of type "+b.Ld.Xd.name+" to parameter type "+this.name);return tc(b.Ld.Rd,b.Ld.Xd.Sd,this.Sd)}function zc(a,b,c){if(b===c)return a;if(void 0===c.ie)return null;a=zc(a,b,c.ie);return null===a?null:c.Ff(a)}var Ac={};
function Bc(a,b){for(void 0===b&&V("ptr should not be undefined");a.ie;)b=a.Ne(b),a=a.ie;return Ac[b]}function Cc(a,b){b.Xd&&b.Rd||Tb("makeClassHandle requires ptr and ptrType");!!b.ge!==!!b.de&&Tb("Both smartPtrType and smartPtr must be specified");b.count={value:1};return dc(Object.create(a,{Ld:{value:b}}))}
function Dc(a,b,c,f,h,l,n,q,x,w,G){this.name=a;this.Sd=b;this.ff=c;this.Re=f;this.Se=h;this.ag=l;this.mg=n;this.tf=q;this.gf=x;this.cg=w;this.ke=G;h||void 0!==b.ie?this.toWireType=wc:(this.toWireType=f?uc:yc,this.fe=null)}function Ec(a,b,c){t.hasOwnProperty(a)||Tb("Replacing nonexistant public symbol");void 0!==t[a].Zd&&void 0!==c?t[a].Zd[c]=b:(t[a]=b,t[a].Be=c)}
function Fc(a,b){var c=[];return function(){c.length=arguments.length;for(var f=0;f<arguments.length;f++)c[f]=arguments[f];a.includes("j")?(f=t["dynCall_"+a],f=c&&c.length?f.apply(null,[b].concat(c)):f.call(null,b)):f=pb.get(b).apply(null,c);return f}}function Gc(a,b){a=Yb(a);var c=a.includes("j")?Fc(a,b):pb.get(b);"function"!==typeof c&&V("unknown function pointer with signature "+a+": "+b);return c}var Hc=void 0;function Ic(a){a=Jc(a);var b=Yb(a);Kc(a);return b}
function Tc(a,b){function c(l){h[l]||Nb[l]||(Ob[l]?Ob[l].forEach(c):(f.push(l),h[l]=!0))}var f=[],h={};b.forEach(c);throw new Hc(a+": "+f.map(Ic).join([", "]));}function Uc(a){var b=Function;if(!(b instanceof Function))throw new TypeError("new_ called with constructor type "+typeof b+" which is not a function");var c=Qb(b.name||"unknownFunctionName",function(){});c.prototype=b.prototype;c=new c;a=b.apply(c,a);return a instanceof Object?a:c}
function Vc(a,b,c,f,h){var l=b.length;2>l&&V("argTypes array size mismatch! Must at least get return value and 'this' types!");var n=null!==b[1]&&null!==c,q=!1;for(c=1;c<b.length;++c)if(null!==b[c]&&void 0===b[c].fe){q=!0;break}var x="void"!==b[0].name,w="",G="";for(c=0;c<l-2;++c)w+=(0!==c?", ":"")+"arg"+c,G+=(0!==c?", ":"")+"arg"+c+"Wired";a="return function "+Pb(a)+"("+w+") {\nif (arguments.length !== "+(l-2)+") {\nthrowBindingError('function "+a+" called with ' + arguments.length + ' arguments, expected "+
(l-2)+" args!');\n}\n";q&&(a+="var destructors = [];\n");var K=q?"destructors":"null";w="throwBindingError invoker fn runDestructors retType classParam".split(" ");f=[V,f,h,Kb,b[0],b[1]];n&&(a+="var thisWired = classParam.toWireType("+K+", this);\n");for(c=0;c<l-2;++c)a+="var arg"+c+"Wired = argType"+c+".toWireType("+K+", arg"+c+"); // "+b[c+2].name+"\n",w.push("argType"+c),f.push(b[c+2]);n&&(G="thisWired"+(0<G.length?", ":"")+G);a+=(x?"var rv = ":"")+"invoker(fn"+(0<G.length?", ":"")+G+");\n";if(q)a+=
"runDestructors(destructors);\n";else for(c=n?1:2;c<b.length;++c)l=1===c?"thisWired":"arg"+(c-2)+"Wired",null!==b[c].fe&&(a+=l+"_dtor("+l+"); // "+b[c].name+"\n",w.push(l+"_dtor"),f.push(b[c].fe));x&&(a+="var ret = retType.fromWireType(rv);\nreturn ret;\n");w.push(a+"}\n");return Uc(w).apply(null,f)}function Wc(a,b){for(var c=[],f=0;f<a;f++)c.push(P[(b>>2)+f]);return c}var Xc=[],Yc=[{},{value:void 0},{value:null},{value:!0},{value:!1}];
function Zc(a){4<a&&0===--Yc[a].hf&&(Yc[a]=void 0,Xc.push(a))}function xc(a){switch(a){case void 0:return 1;case null:return 2;case !0:return 3;case !1:return 4;default:var b=Xc.length?Xc.pop():Yc.length;Yc[b]={hf:1,value:a};return b}}
function $c(a,b,c){switch(b){case 0:return function(f){return this.fromWireType((c?lb:H)[f])};case 1:return function(f){return this.fromWireType((c?ab:$a)[f>>1])};case 2:return function(f){return this.fromWireType((c?P:mb)[f>>2])};default:throw new TypeError("Unknown integer type: "+a);}}function ad(a,b){var c=Nb[a];void 0===c&&V(b+" has unknown type "+Ic(a));return c}function vc(a){if(null===a)return"null";var b=typeof a;return"object"===b||"array"===b||"function"===b?a.toString():""+a}
function bd(a,b){switch(b){case 2:return function(c){return this.fromWireType(S[c>>2])};case 3:return function(c){return this.fromWireType(nb[c>>3])};default:throw new TypeError("Unknown float type: "+a);}}
function cd(a,b,c){switch(b){case 0:return c?function(f){return lb[f]}:function(f){return H[f]};case 1:return c?function(f){return ab[f>>1]}:function(f){return $a[f>>1]};case 2:return c?function(f){return P[f>>2]}:function(f){return mb[f>>2]};default:throw new TypeError("Unknown integer type: "+a);}}function dd(a){a||V("Cannot use deleted val. handle = "+a);return Yc[a].value}var ed={};function fd(a){var b=ed[a];return void 0===b?Yb(a):b}var gd=[];
function hd(){return"object"===typeof globalThis?globalThis:Function("return this")()}function jd(a){var b=gd.length;gd.push(a);return b}function kd(a,b){for(var c=Array(a),f=0;f<a;++f)c[f]=ad(P[(b>>2)+f],"parameter "+f);return c}var ld={},md;Aa?md=function(){var a=process.hrtime();return 1E3*a[0]+a[1]/1E6}:"undefined"!==typeof dateNow?md=dateNow:md=function(){return performance.now()};
function nd(a){var b=a.getExtension("ANGLE_instanced_arrays");b&&(a.vertexAttribDivisor=function(c,f){b.vertexAttribDivisorANGLE(c,f)},a.drawArraysInstanced=function(c,f,h,l){b.drawArraysInstancedANGLE(c,f,h,l)},a.drawElementsInstanced=function(c,f,h,l,n){b.drawElementsInstancedANGLE(c,f,h,l,n)})}
function od(a){var b=a.getExtension("OES_vertex_array_object");b&&(a.createVertexArray=function(){return b.createVertexArrayOES()},a.deleteVertexArray=function(c){b.deleteVertexArrayOES(c)},a.bindVertexArray=function(c){b.bindVertexArrayOES(c)},a.isVertexArray=function(c){return b.isVertexArrayOES(c)})}function pd(a){var b=a.getExtension("WEBGL_draw_buffers");b&&(a.drawBuffers=function(c,f){b.drawBuffersWEBGL(c,f)})}
var qd=1,rd=[],sd=[],td=[],ud=[],ha=[],vd=[],wd=[],na=[],xd=[],yd=[],zd={},Ad={},Bd=4;function Cd(a){Dd||(Dd=a)}function Ed(a){for(var b=qd++,c=a.length;c<b;c++)a[c]=null;return b}function ia(a,b){a.rf||(a.rf=a.getContext,a.getContext=function(f,h){h=a.rf(f,h);return"webgl"==f==h instanceof WebGLRenderingContext?h:null});var c=1<b.majorVersion?a.getContext("webgl2",b):a.getContext("webgl",b);return c?Hd(c,b):0}
function Hd(a,b){var c=Ed(na),f={Rf:c,attributes:b,version:b.majorVersion,le:a};a.canvas&&(a.canvas.vf=f);na[c]=f;("undefined"===typeof b.Gf||b.Gf)&&Id(f);return c}function ma(a){v=na[a];t.zg=W=v&&v.le;return!(a&&!W)}
function Id(a){a||(a=v);if(!a.Uf){a.Uf=!0;var b=a.le;nd(b);od(b);pd(b);b.nf=b.getExtension("WEBGL_draw_instanced_base_vertex_base_instance");b.sf=b.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance");2<=a.version&&(b.pf=b.getExtension("EXT_disjoint_timer_query_webgl2"));if(2>a.version||!b.pf)b.pf=b.getExtension("EXT_disjoint_timer_query");b.Bg=b.getExtension("WEBGL_multi_draw");(b.getSupportedExtensions()||[]).forEach(function(c){c.includes("lose_context")||c.includes("debug")||b.getExtension(c)})}}
var v,Dd,Jd=[];function Kd(a,b,c,f){for(var h=0;h<a;h++){var l=W[c](),n=l&&Ed(f);l?(l.name=n,f[n]=l):Cd(1282);P[b+4*h>>2]=n}}
function Ld(a,b){if(b){var c=void 0;switch(a){case 36346:c=1;break;case 36344:return;case 34814:case 36345:c=0;break;case 34466:var f=W.getParameter(34467);c=f?f.length:0;break;case 33309:if(2>v.version){Cd(1282);return}c=2*(W.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>v.version){Cd(1280);return}c=33307==a?3:0}if(void 0===c)switch(f=W.getParameter(a),typeof f){case "number":c=f;break;case "boolean":c=f?1:0;break;case "string":Cd(1280);return;case "object":if(null===f)switch(a){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:c=
0;break;default:Cd(1280);return}else{if(f instanceof Float32Array||f instanceof Uint32Array||f instanceof Int32Array||f instanceof Array){for(a=0;a<f.length;++a)P[b+4*a>>2]=f[a];return}try{c=f.name|0}catch(h){Cd(1280);Pa("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+a+")! (error: "+h+")");return}}break;default:Cd(1280);Pa("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+a+") and it returns "+f+" of type "+typeof f+"!");return}P[b>>2]=c}else Cd(1281)}
function Md(a){var b=oa(a)+1,c=Nd(b);ra(a,H,c,b);return c}function Od(a){a-=5120;return 0==a?lb:1==a?H:2==a?ab:4==a?P:6==a?S:5==a||28922==a||28520==a||30779==a||30782==a?mb:$a}function Pd(a,b,c,f,h){a=Od(a);var l=31-Math.clz32(a.BYTES_PER_ELEMENT),n=Bd;return a.subarray(h>>l,h+f*(c*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[b-6402]||1)*(1<<l)+n-1&-n)>>l)}function Z(a){var b=W.Df,c=b.Ze[a];0<=c&&(b.Ze[a]=c=W.getUniformLocation(b,b.uf[a]+(0<c?"["+c+"]":"")));return c}
var Qd=[],Rd=[],Sd={};function Td(){if(!Ud){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",_:wa||"./this.program"},b;for(b in Sd)a[b]=Sd[b];var c=[];for(b in a)c.push(b+"="+a[b]);Ud=c}return Ud}var Ud;function Vd(a){return 0===a%4&&(0!==a%100||0===a%400)}function Wd(a,b){for(var c=0,f=0;f<=b;c+=a[f++]);return c}
var Xd=[31,29,31,30,31,30,31,31,30,31,30,31],Yd=[31,28,31,30,31,30,31,31,30,31,30,31];function Zd(a,b){for(a=new Date(a.getTime());0<b;){var c=a.getMonth(),f=(Vd(a.getFullYear())?Xd:Yd)[c];if(b>f-a.getDate())b-=f-a.getDate()+1,a.setDate(1),11>c?a.setMonth(c+1):(a.setMonth(0),a.setFullYear(a.getFullYear()+1));else{a.setDate(a.getDate()+b);break}}return a}
function $d(a,b,c,f){function h(A,M,X){for(A="number"===typeof A?A.toString():A||"";A.length<M;)A=X[0]+A;return A}function l(A,M){return h(A,M,"0")}function n(A,M){function X(ba){return 0>ba?-1:0<ba?1:0}var da;0===(da=X(A.getFullYear()-M.getFullYear()))&&0===(da=X(A.getMonth()-M.getMonth()))&&(da=X(A.getDate()-M.getDate()));return da}function q(A){switch(A.getDay()){case 0:return new Date(A.getFullYear()-1,11,29);case 1:return A;case 2:return new Date(A.getFullYear(),0,3);case 3:return new Date(A.getFullYear(),
0,2);case 4:return new Date(A.getFullYear(),0,1);case 5:return new Date(A.getFullYear()-1,11,31);case 6:return new Date(A.getFullYear()-1,11,30)}}function x(A){A=Zd(new Date(A.ae+1900,0,1),A.Ye);var M=new Date(A.getFullYear()+1,0,4),X=q(new Date(A.getFullYear(),0,4));M=q(M);return 0>=n(X,A)?0>=n(M,A)?A.getFullYear()+1:A.getFullYear():A.getFullYear()-1}var w=P[f+40>>2];f={ug:P[f>>2],tg:P[f+4>>2],We:P[f+8>>2],Me:P[f+12>>2],Fe:P[f+16>>2],ae:P[f+20>>2],Xe:P[f+24>>2],Ye:P[f+28>>2],Fg:P[f+32>>2],sg:P[f+
36>>2],vg:w?Xa(w):""};c=Xa(c);w={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var G in w)c=c.replace(new RegExp(G,"g"),w[G]);var K="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),
O="January February March April May June July August September October November December".split(" ");w={"%a":function(A){return K[A.Xe].substring(0,3)},"%A":function(A){return K[A.Xe]},"%b":function(A){return O[A.Fe].substring(0,3)},"%B":function(A){return O[A.Fe]},"%C":function(A){return l((A.ae+1900)/100|0,2)},"%d":function(A){return l(A.Me,2)},"%e":function(A){return h(A.Me,2," ")},"%g":function(A){return x(A).toString().substring(2)},"%G":function(A){return x(A)},"%H":function(A){return l(A.We,
2)},"%I":function(A){A=A.We;0==A?A=12:12<A&&(A-=12);return l(A,2)},"%j":function(A){return l(A.Me+Wd(Vd(A.ae+1900)?Xd:Yd,A.Fe-1),3)},"%m":function(A){return l(A.Fe+1,2)},"%M":function(A){return l(A.tg,2)},"%n":function(){return"\n"},"%p":function(A){return 0<=A.We&&12>A.We?"AM":"PM"},"%S":function(A){return l(A.ug,2)},"%t":function(){return"\t"},"%u":function(A){return A.Xe||7},"%U":function(A){var M=new Date(A.ae+1900,0,1),X=0===M.getDay()?M:Zd(M,7-M.getDay());A=new Date(A.ae+1900,A.Fe,A.Me);return 0>
n(X,A)?l(Math.ceil((31-X.getDate()+(Wd(Vd(A.getFullYear())?Xd:Yd,A.getMonth()-1)-31)+A.getDate())/7),2):0===n(X,M)?"01":"00"},"%V":function(A){var M=new Date(A.ae+1901,0,4),X=q(new Date(A.ae+1900,0,4));M=q(M);var da=Zd(new Date(A.ae+1900,0,1),A.Ye);return 0>n(da,X)?"53":0>=n(M,da)?"01":l(Math.ceil((X.getFullYear()<A.ae+1900?A.Ye+32-X.getDate():A.Ye+1-X.getDate())/7),2)},"%w":function(A){return A.Xe},"%W":function(A){var M=new Date(A.ae,0,1),X=1===M.getDay()?M:Zd(M,0===M.getDay()?1:7-M.getDay()+1);
A=new Date(A.ae+1900,A.Fe,A.Me);return 0>n(X,A)?l(Math.ceil((31-X.getDate()+(Wd(Vd(A.getFullYear())?Xd:Yd,A.getMonth()-1)-31)+A.getDate())/7),2):0===n(X,M)?"01":"00"},"%y":function(A){return(A.ae+1900).toString().substring(2)},"%Y":function(A){return A.ae+1900},"%z":function(A){A=A.sg;var M=0<=A;A=Math.abs(A)/60;return(M?"+":"-")+String("0000"+(A/60*100+A%60)).slice(-4)},"%Z":function(A){return A.vg},"%%":function(){return"%"}};for(G in w)c.includes(G)&&(c=c.replace(new RegExp(G,"g"),w[G](f)));G=
ae(c);if(G.length>b)return 0;lb.set(G,a);return G.length-1}Sb=t.InternalError=Rb("InternalError");for(var be=Array(256),ce=0;256>ce;++ce)be[ce]=String.fromCharCode(ce);Xb=be;Zb=t.BindingError=Rb("BindingError");oc.prototype.isAliasOf=function(a){if(!(this instanceof oc&&a instanceof oc))return!1;var b=this.Ld.Xd.Sd,c=this.Ld.Rd,f=a.Ld.Xd.Sd;for(a=a.Ld.Rd;b.ie;)c=b.Ne(c),b=b.ie;for(;f.ie;)a=f.Ne(a),f=f.ie;return b===f&&c===a};
oc.prototype.clone=function(){this.Ld.Rd||$b(this);if(this.Ld.Le)return this.Ld.count.value+=1,this;var a=dc,b=Object,c=b.create,f=Object.getPrototypeOf(this),h=this.Ld;a=a(c.call(b,f,{Ld:{value:{count:h.count,De:h.De,Le:h.Le,Rd:h.Rd,Xd:h.Xd,de:h.de,ge:h.ge}}}));a.Ld.count.value+=1;a.Ld.De=!1;return a};oc.prototype["delete"]=function(){this.Ld.Rd||$b(this);this.Ld.De&&!this.Ld.Le&&V("Object already scheduled for deletion");bc(this);cc(this.Ld);this.Ld.Le||(this.Ld.de=void 0,this.Ld.Rd=void 0)};
oc.prototype.isDeleted=function(){return!this.Ld.Rd};oc.prototype.deleteLater=function(){this.Ld.Rd||$b(this);this.Ld.De&&!this.Ld.Le&&V("Object already scheduled for deletion");mc.push(this);1===mc.length&&lc&&lc(nc);this.Ld.De=!0;return this};Dc.prototype.Mf=function(a){this.tf&&(a=this.tf(a));return a};Dc.prototype.mf=function(a){this.ke&&this.ke(a)};Dc.prototype.argPackAdvance=8;Dc.prototype.readValueFromPointer=Lb;Dc.prototype.deleteObject=function(a){if(null!==a)a["delete"]()};
Dc.prototype.fromWireType=function(a){function b(){return this.Se?Cc(this.Sd.Ee,{Xd:this.ag,Rd:c,ge:this,de:a}):Cc(this.Sd.Ee,{Xd:this,Rd:a})}var c=this.Mf(a);if(!c)return this.mf(a),null;var f=Bc(this.Sd,c);if(void 0!==f){if(0===f.Ld.count.value)return f.Ld.Rd=c,f.Ld.de=a,f.clone();f=f.clone();this.mf(a);return f}f=this.Sd.Lf(c);f=pc[f];if(!f)return b.call(this);f=this.Re?f.Bf:f.pointerType;var h=zc(c,this.Sd,f.Sd);return null===h?b.call(this):this.Se?Cc(f.Sd.Ee,{Xd:f,Rd:h,ge:this,de:a}):Cc(f.Sd.Ee,
{Xd:f,Rd:h})};t.getInheritedInstanceCount=function(){return Object.keys(Ac).length};t.getLiveInheritedInstances=function(){var a=[],b;for(b in Ac)Ac.hasOwnProperty(b)&&a.push(Ac[b]);return a};t.flushPendingDeletes=nc;t.setDelayFunction=function(a){lc=a;mc.length&&lc&&lc(nc)};Hc=t.UnboundTypeError=Rb("UnboundTypeError");t.count_emval_handles=function(){for(var a=0,b=5;b<Yc.length;++b)void 0!==Yc[b]&&++a;return a};
t.get_first_emval=function(){for(var a=5;a<Yc.length;++a)if(void 0!==Yc[a])return Yc[a];return null};for(var W,de=0;32>de;++de)Jd.push(Array(de));var ee=new Float32Array(288);for(de=0;288>de;++de)Qd[de]=ee.subarray(0,de+1);var fe=new Int32Array(288);for(de=0;288>de;++de)Rd[de]=fe.subarray(0,de+1);function ae(a){var b=Array(oa(a)+1);ra(a,b,0,b.length);return b}
var ze={Kb:function(a){return Nd(a+16)+16},Eb:function(a,b,c){(new Eb(a)).Tf(b,c);Fb++;throw a;},O:function(){return 0},Bb:function(){},xb:function(){return 0},yb:function(a,b,c,f,h,l){l<<=12;0!==(f&16)&&0!==a%65536?b=-28:0!==(f&32)?(a=ge(65536,b))?(he(a,0,b),Gb[a]={Zf:a,Yf:b,Af:!0,fd:h,Dg:c,flags:f,offset:l},b=a):b=-48:b=-52;return b},zb:function(a,b){if(-1===(a|0)||0===b)a=-28;else{var c=Gb[a];c&&b===c.Yf&&(Gb[a]=null,c.Af&&Kc(c.Zf));a=0}return a},R:function(){},Q:function(){},y:function(a){var b=
Jb[a];delete Jb[a];var c=b.gf,f=b.ke,h=b.qf,l=h.map(function(n){return n.Qf}).concat(h.map(function(n){return n.kg}));Ub([a],l,function(n){var q={};h.forEach(function(x,w){var G=n[w],K=x.Of,O=x.Pf,A=n[w+h.length],M=x.jg,X=x.lg;q[x.Hf]={read:function(da){return G.fromWireType(K(O,da))},write:function(da,ba){var pa=[];M(X,da,A.toWireType(pa,ba));Kb(pa)}}});return[{name:b.name,fromWireType:function(x){var w={},G;for(G in q)w[G]=q[G].read(x);f(x);return w},toWireType:function(x,w){for(var G in q)if(!(G in
w))throw new TypeError('Missing field:  "'+G+'"');var K=c();for(G in q)q[G].write(K,w[G]);null!==x&&x.push(f,K);return K},argPackAdvance:8,readValueFromPointer:Lb,fe:f}]})},ob:function(){},Db:function(a,b,c,f,h){var l=Wb(c);b=Yb(b);Vb(a,{name:b,fromWireType:function(n){return!!n},toWireType:function(n,q){return q?f:h},argPackAdvance:8,readValueFromPointer:function(n){if(1===c)var q=lb;else if(2===c)q=ab;else if(4===c)q=P;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(q[n>>
l])},fe:null})},m:function(a,b,c,f,h,l,n,q,x,w,G,K,O){G=Yb(G);l=Gc(h,l);q&&(q=Gc(n,q));w&&(w=Gc(x,w));O=Gc(K,O);var A=Pb(G);rc(A,function(){Tc("Cannot construct "+G+" due to unbound types",[f])});Ub([a,b,c],f?[f]:[],function(M){M=M[0];if(f){var X=M.Sd;var da=X.Ee}else da=oc.prototype;M=Qb(A,function(){if(Object.getPrototypeOf(this)!==ba)throw new Zb("Use 'new' to construct "+G);if(void 0===pa.ne)throw new Zb(G+" has no accessible constructor");var jb=pa.ne[arguments.length];if(void 0===jb)throw new Zb("Tried to invoke ctor of "+
G+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(pa.ne).toString()+") parameters instead!");return jb.apply(this,arguments)});var ba=Object.create(da,{constructor:{value:M}});M.prototype=ba;var pa=new sc(G,M,ba,O,X,l,q,w);X=new Dc(G,pa,!0,!1,!1);da=new Dc(G+"*",pa,!1,!1,!1);var ib=new Dc(G+" const*",pa,!1,!0,!1);pc[a]={pointerType:da,Bf:ib};Ec(A,M);return[X,da,ib]})},f:function(a,b,c,f,h,l,n){var q=Wc(c,f);b=Yb(b);l=Gc(h,l);Ub([],[a],function(x){function w(){Tc("Cannot call "+
G+" due to unbound types",q)}x=x[0];var G=x.name+"."+b,K=x.Sd.constructor;void 0===K[b]?(w.Be=c-1,K[b]=w):(qc(K,b,G),K[b].Zd[c-1]=w);Ub([],q,function(O){O=[O[0],null].concat(O.slice(1));O=Vc(G,O,null,l,n);void 0===K[b].Zd?(O.Be=c-1,K[b]=O):K[b].Zd[c-1]=O;return[]});return[]})},v:function(a,b,c,f,h,l){assert(0<b);var n=Wc(b,c);h=Gc(f,h);var q=[l],x=[];Ub([],[a],function(w){w=w[0];var G="constructor "+w.name;void 0===w.Sd.ne&&(w.Sd.ne=[]);if(void 0!==w.Sd.ne[b-1])throw new Zb("Cannot register multiple constructors with identical number of parameters ("+
(b-1)+") for class '"+w.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");w.Sd.ne[b-1]=function(){Tc("Cannot construct "+w.name+" due to unbound types",n)};Ub([],n,function(K){w.Sd.ne[b-1]=function(){arguments.length!==b-1&&V(G+" called with "+arguments.length+" arguments, expected "+(b-1));x.length=0;q.length=b;for(var O=1;O<b;++O)q[O]=K[O].toWireType(x,arguments[O-1]);O=h.apply(null,q);Kb(x);return K[0].fromWireType(O)};return[]});return[]})},
c:function(a,b,c,f,h,l,n,q){var x=Wc(c,f);b=Yb(b);l=Gc(h,l);Ub([],[a],function(w){function G(){Tc("Cannot call "+K+" due to unbound types",x)}w=w[0];var K=w.name+"."+b;q&&w.Sd.bg.push(b);var O=w.Sd.Ee,A=O[b];void 0===A||void 0===A.Zd&&A.className!==w.name&&A.Be===c-2?(G.Be=c-2,G.className=w.name,O[b]=G):(qc(O,b,K),O[b].Zd[c-2]=G);Ub([],x,function(M){M=Vc(K,M,w,l,n);void 0===O[b].Zd?(M.Be=c-2,O[b]=M):O[b].Zd[c-2]=M;return[]});return[]})},X:function(a,b,c){a=Yb(a);Ub([],[b],function(f){f=f[0];t[a]=
f.fromWireType(c);return[]})},Cb:function(a,b){b=Yb(b);Vb(a,{name:b,fromWireType:function(c){var f=Yc[c].value;Zc(c);return f},toWireType:function(c,f){return xc(f)},argPackAdvance:8,readValueFromPointer:Lb,fe:null})},k:function(a,b,c,f){function h(){}c=Wb(c);b=Yb(b);h.values={};Vb(a,{name:b,constructor:h,fromWireType:function(l){return this.constructor.values[l]},toWireType:function(l,n){return n.value},argPackAdvance:8,readValueFromPointer:$c(b,c,f),fe:null});rc(b,h)},j:function(a,b,c){var f=ad(a,
"enum");b=Yb(b);a=f.constructor;f=Object.create(f.constructor.prototype,{value:{value:c},constructor:{value:Qb(f.name+"_"+b,function(){})}});a.values[c]=f;a[b]=f},S:function(a,b,c){c=Wb(c);b=Yb(b);Vb(a,{name:b,fromWireType:function(f){return f},toWireType:function(f,h){if("number"!==typeof h&&"boolean"!==typeof h)throw new TypeError('Cannot convert "'+vc(h)+'" to '+this.name);return h},argPackAdvance:8,readValueFromPointer:bd(b,c),fe:null})},t:function(a,b,c,f,h,l){var n=Wc(b,c);a=Yb(a);h=Gc(f,h);
rc(a,function(){Tc("Cannot call "+a+" due to unbound types",n)},b-1);Ub([],n,function(q){q=[q[0],null].concat(q.slice(1));Ec(a,Vc(a,q,null,h,l),b-1);return[]})},x:function(a,b,c,f,h){function l(w){return w}b=Yb(b);-1===h&&(h=4294967295);var n=Wb(c);if(0===f){var q=32-8*c;l=function(w){return w<<q>>>q}}var x=b.includes("unsigned");Vb(a,{name:b,fromWireType:l,toWireType:function(w,G){if("number"!==typeof G&&"boolean"!==typeof G)throw new TypeError('Cannot convert "'+vc(G)+'" to '+this.name);if(G<f||
G>h)throw new TypeError('Passing a number "'+vc(G)+'" from JS side to C/C++ side to an argument of type "'+b+'", which is outside the valid range ['+f+", "+h+"]!");return x?G>>>0:G|0},argPackAdvance:8,readValueFromPointer:cd(b,n,0!==f),fe:null})},u:function(a,b,c){function f(l){l>>=2;var n=mb;return new h(gb,n[l+1],n[l])}var h=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=Yb(c);Vb(a,{name:c,fromWireType:f,argPackAdvance:8,readValueFromPointer:f},
{Sf:!0})},p:function(a,b,c,f,h,l,n,q,x,w,G,K){c=Yb(c);l=Gc(h,l);q=Gc(n,q);w=Gc(x,w);K=Gc(G,K);Ub([a],[b],function(O){O=O[0];return[new Dc(c,O.Sd,!1,!1,!0,O,f,l,q,w,K)]})},T:function(a,b){b=Yb(b);var c="std::string"===b;Vb(a,{name:b,fromWireType:function(f){var h=mb[f>>2];if(c)for(var l=f+4,n=0;n<=h;++n){var q=f+4+n;if(n==h||0==H[q]){l=Xa(l,q-l);if(void 0===x)var x=l;else x+=String.fromCharCode(0),x+=l;l=q+1}}else{x=Array(h);for(n=0;n<h;++n)x[n]=String.fromCharCode(H[f+4+n]);x=x.join("")}Kc(f);return x},
toWireType:function(f,h){h instanceof ArrayBuffer&&(h=new Uint8Array(h));var l="string"===typeof h;l||h instanceof Uint8Array||h instanceof Uint8ClampedArray||h instanceof Int8Array||V("Cannot pass non-string to std::string");var n=(c&&l?function(){return oa(h)}:function(){return h.length})(),q=Nd(4+n+1);mb[q>>2]=n;if(c&&l)ra(h,H,q+4,n+1);else if(l)for(l=0;l<n;++l){var x=h.charCodeAt(l);255<x&&(Kc(q),V("String has UTF-16 code units that do not fit in 8 bits"));H[q+4+l]=x}else for(l=0;l<n;++l)H[q+
4+l]=h[l];null!==f&&f.push(Kc,q);return q},argPackAdvance:8,readValueFromPointer:Lb,fe:function(f){Kc(f)}})},I:function(a,b,c){c=Yb(c);if(2===b){var f=Za;var h=bb;var l=cb;var n=function(){return $a};var q=1}else 4===b&&(f=db,h=eb,l=fb,n=function(){return mb},q=2);Vb(a,{name:c,fromWireType:function(x){for(var w=mb[x>>2],G=n(),K,O=x+4,A=0;A<=w;++A){var M=x+4+A*b;if(A==w||0==G[M>>q])O=f(O,M-O),void 0===K?K=O:(K+=String.fromCharCode(0),K+=O),O=M+b}Kc(x);return K},toWireType:function(x,w){"string"!==
typeof w&&V("Cannot pass non-string to C++ string type "+c);var G=l(w),K=Nd(4+G+b);mb[K>>2]=G>>q;h(w,K+4,G+b);null!==x&&x.push(Kc,K);return K},argPackAdvance:8,readValueFromPointer:Lb,fe:function(x){Kc(x)}})},z:function(a,b,c,f,h,l){Jb[a]={name:Yb(b),gf:Gc(c,f),ke:Gc(h,l),qf:[]}},h:function(a,b,c,f,h,l,n,q,x,w){Jb[a].qf.push({Hf:Yb(b),Qf:c,Of:Gc(f,h),Pf:l,kg:n,jg:Gc(q,x),lg:w})},Fb:function(a,b){b=Yb(b);Vb(a,{Vf:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},B:function(a,
b,c){a=dd(a);b=ad(b,"emval::as");var f=[],h=xc(f);P[c>>2]=h;return b.toWireType(f,a)},M:function(a,b,c,f,h){a=gd[a];b=dd(b);c=fd(c);var l=[];P[f>>2]=xc(l);return a(b,c,l,h)},C:function(a,b,c,f){a=gd[a];b=dd(b);c=fd(c);a(b,c,null,f)},E:Zc,Ab:function(a){if(0===a)return xc(hd());a=fd(a);return xc(hd()[a])},A:function(a,b){b=kd(a,b);for(var c=b[0],f=c.name+"_$"+b.slice(1).map(function(w){return w.name}).join("_")+"$",h=["retType"],l=[c],n="",q=0;q<a-1;++q)n+=(0!==q?", ":"")+"arg"+q,h.push("argType"+
q),l.push(b[1+q]);f="return function "+Pb("methodCaller_"+f)+"(handle, name, destructors, args) {\n";var x=0;for(q=0;q<a-1;++q)f+="    var arg"+q+" = argType"+q+".readValueFromPointer(args"+(x?"+"+x:"")+");\n",x+=b[q+1].argPackAdvance;f+="    var rv = handle[name]("+n+");\n";for(q=0;q<a-1;++q)b[q+1].deleteObject&&(f+="    argType"+q+".deleteObject(arg"+q+");\n");c.Vf||(f+="    return retType.toWireType(destructors, rv);\n");h.push(f+"};\n");a=Uc(h).apply(null,l);return jd(a)},K:function(a,b){a=dd(a);
b=dd(b);return xc(a[b])},G:function(a){4<a&&(Yc[a].hf+=1)},sb:function(a,b,c,f){a=dd(a);var h=ld[b];if(!h){h="";for(var l=0;l<b;++l)h+=(0!==l?", ":"")+"arg"+l;var n="return function emval_allocator_"+b+"(constructor, argTypes, args) {\n";for(l=0;l<b;++l)n+="var argType"+l+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+l+'], "parameter '+l+'");\nvar arg'+l+" = argType"+l+".readValueFromPointer(args);\nargs += argType"+l+"['argPackAdvance'];\n";h=(new Function("requireRegisteredType",
"Module","__emval_register",n+("var obj = new constructor("+h+");\nreturn __emval_register(obj);\n}\n")))(ad,t,xc);ld[b]=h}return h(a,c,f)},ib:function(){return xc([])},Ma:function(a){return xc(fd(a))},jb:function(){return xc({})},hb:function(a){a=dd(a);return!a},lb:function(a){Kb(Yc[a].value);Zc(a)},w:function(a,b,c){a=dd(a);b=dd(b);c=dd(c);a[b]=c},s:function(a,b){a=ad(a,"_emval_take_value");a=a.readValueFromPointer(b);return xc(a)},d:function(){La()},qb:function(a,b){if(0===a)a=Date.now();else if(1===
a||4===a)a=md();else return P[ie()>>2]=28,-1;P[b>>2]=a/1E3|0;P[b+4>>2]=a%1E3*1E6|0;return 0},Zc:function(a){W.activeTexture(a)},_c:function(a,b){W.attachShader(sd[a],vd[b])},$c:function(a,b,c){W.bindAttribLocation(sd[a],b,Xa(c))},_:function(a,b){35051==a?W.ef=b:35052==a&&(W.Ce=b);W.bindBuffer(a,rd[b])},Z:function(a,b){W.bindFramebuffer(a,td[b])},bc:function(a,b){W.bindRenderbuffer(a,ud[b])},Pb:function(a,b){W.bindSampler(a,xd[b])},$:function(a,b){W.bindTexture(a,ha[b])},vc:function(a){W.bindVertexArray(wd[a])},
yc:function(a){W.bindVertexArray(wd[a])},aa:function(a,b,c,f){W.blendColor(a,b,c,f)},ba:function(a){W.blendEquation(a)},ca:function(a,b){W.blendFunc(a,b)},Wb:function(a,b,c,f,h,l,n,q,x,w){W.blitFramebuffer(a,b,c,f,h,l,n,q,x,w)},da:function(a,b,c,f){2<=v.version?c?W.bufferData(a,H,f,c,b):W.bufferData(a,b,f):W.bufferData(a,c?H.subarray(c,c+b):b,f)},ea:function(a,b,c,f){2<=v.version?W.bufferSubData(a,b,H,f,c):W.bufferSubData(a,b,H.subarray(f,f+c))},cc:function(a){return W.checkFramebufferStatus(a)},
L:function(a){W.clear(a)},Y:function(a,b,c,f){W.clearColor(a,b,c,f)},P:function(a){W.clearStencil(a)},fb:function(a,b,c,f){return W.clientWaitSync(yd[a],b,(c>>>0)+4294967296*f)},fa:function(a,b,c,f){W.colorMask(!!a,!!b,!!c,!!f)},ga:function(a){W.compileShader(vd[a])},ha:function(a,b,c,f,h,l,n,q){2<=v.version?W.Ce?W.compressedTexImage2D(a,b,c,f,h,l,n,q):W.compressedTexImage2D(a,b,c,f,h,l,H,q,n):W.compressedTexImage2D(a,b,c,f,h,l,q?H.subarray(q,q+n):null)},ia:function(a,b,c,f,h,l,n,q,x){2<=v.version?
W.Ce?W.compressedTexSubImage2D(a,b,c,f,h,l,n,q,x):W.compressedTexSubImage2D(a,b,c,f,h,l,n,H,x,q):W.compressedTexSubImage2D(a,b,c,f,h,l,n,x?H.subarray(x,x+q):null)},ja:function(a,b,c,f,h,l,n,q){W.copyTexSubImage2D(a,b,c,f,h,l,n,q)},ka:function(){var a=Ed(sd),b=W.createProgram();b.name=a;b.Ve=b.Te=b.Ue=0;b.jf=1;sd[a]=b;return a},la:function(a){var b=Ed(vd);vd[b]=W.createShader(a);return b},ma:function(a){W.cullFace(a)},na:function(a,b){for(var c=0;c<a;c++){var f=P[b+4*c>>2],h=rd[f];h&&(W.deleteBuffer(h),
h.name=0,rd[f]=null,f==W.ef&&(W.ef=0),f==W.Ce&&(W.Ce=0))}},dc:function(a,b){for(var c=0;c<a;++c){var f=P[b+4*c>>2],h=td[f];h&&(W.deleteFramebuffer(h),h.name=0,td[f]=null)}},oa:function(a){if(a){var b=sd[a];b?(W.deleteProgram(b),b.name=0,sd[a]=null):Cd(1281)}},ec:function(a,b){for(var c=0;c<a;c++){var f=P[b+4*c>>2],h=ud[f];h&&(W.deleteRenderbuffer(h),h.name=0,ud[f]=null)}},Qb:function(a,b){for(var c=0;c<a;c++){var f=P[b+4*c>>2],h=xd[f];h&&(W.deleteSampler(h),h.name=0,xd[f]=null)}},pa:function(a){if(a){var b=
vd[a];b?(W.deleteShader(b),vd[a]=null):Cd(1281)}},Yb:function(a){if(a){var b=yd[a];b?(W.deleteSync(b),b.name=0,yd[a]=null):Cd(1281)}},qa:function(a,b){for(var c=0;c<a;c++){var f=P[b+4*c>>2],h=ha[f];h&&(W.deleteTexture(h),h.name=0,ha[f]=null)}},wc:function(a,b){for(var c=0;c<a;c++){var f=P[b+4*c>>2];W.deleteVertexArray(wd[f]);wd[f]=null}},zc:function(a,b){for(var c=0;c<a;c++){var f=P[b+4*c>>2];W.deleteVertexArray(wd[f]);wd[f]=null}},ra:function(a){W.depthMask(!!a)},sa:function(a){W.disable(a)},ta:function(a){W.disableVertexAttribArray(a)},
ua:function(a,b,c){W.drawArrays(a,b,c)},tc:function(a,b,c,f){W.drawArraysInstanced(a,b,c,f)},rc:function(a,b,c,f,h){W.nf.drawArraysInstancedBaseInstanceWEBGL(a,b,c,f,h)},pc:function(a,b){for(var c=Jd[a],f=0;f<a;f++)c[f]=P[b+4*f>>2];W.drawBuffers(c)},va:function(a,b,c,f){W.drawElements(a,b,c,f)},uc:function(a,b,c,f,h){W.drawElementsInstanced(a,b,c,f,h)},sc:function(a,b,c,f,h,l,n){W.nf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(a,b,c,f,h,l,n)},jc:function(a,b,c,f,h,l){W.drawElements(a,f,h,l)},
wa:function(a){W.enable(a)},xa:function(a){W.enableVertexAttribArray(a)},Ub:function(a,b){return(a=W.fenceSync(a,b))?(b=Ed(yd),a.name=b,yd[b]=a,b):0},ya:function(){W.finish()},za:function(){W.flush()},fc:function(a,b,c,f){W.framebufferRenderbuffer(a,b,c,ud[f])},gc:function(a,b,c,f,h){W.framebufferTexture2D(a,b,c,ha[f],h)},Aa:function(a){W.frontFace(a)},Ba:function(a,b){Kd(a,b,"createBuffer",rd)},hc:function(a,b){Kd(a,b,"createFramebuffer",td)},ic:function(a,b){Kd(a,b,"createRenderbuffer",ud)},Rb:function(a,
b){Kd(a,b,"createSampler",xd)},Ca:function(a,b){Kd(a,b,"createTexture",ha)},xc:function(a,b){Kd(a,b,"createVertexArray",wd)},Ac:function(a,b){Kd(a,b,"createVertexArray",wd)},Zb:function(a){W.generateMipmap(a)},Da:function(a,b,c){c?P[c>>2]=W.getBufferParameter(a,b):Cd(1281)},Ea:function(){var a=W.getError()||Dd;Dd=0;return a},_b:function(a,b,c,f){a=W.getFramebufferAttachmentParameter(a,b,c);if(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)a=a.name|0;P[f>>2]=a},F:function(a,b){Ld(a,b)},
Fa:function(a,b,c,f){a=W.getProgramInfoLog(sd[a]);null===a&&(a="(unknown error)");b=0<b&&f?ra(a,H,f,b):0;c&&(P[c>>2]=b)},Ga:function(a,b,c){if(c)if(a>=qd)Cd(1281);else if(a=sd[a],35716==b)a=W.getProgramInfoLog(a),null===a&&(a="(unknown error)"),P[c>>2]=a.length+1;else if(35719==b){if(!a.Ve)for(b=0;b<W.getProgramParameter(a,35718);++b)a.Ve=Math.max(a.Ve,W.getActiveUniform(a,b).name.length+1);P[c>>2]=a.Ve}else if(35722==b){if(!a.Te)for(b=0;b<W.getProgramParameter(a,35721);++b)a.Te=Math.max(a.Te,W.getActiveAttrib(a,
b).name.length+1);P[c>>2]=a.Te}else if(35381==b){if(!a.Ue)for(b=0;b<W.getProgramParameter(a,35382);++b)a.Ue=Math.max(a.Ue,W.getActiveUniformBlockName(a,b).length+1);P[c>>2]=a.Ue}else P[c>>2]=W.getProgramParameter(a,b);else Cd(1281)},$b:function(a,b,c){c?P[c>>2]=W.getRenderbufferParameter(a,b):Cd(1281)},Ha:function(a,b,c,f){a=W.getShaderInfoLog(vd[a]);null===a&&(a="(unknown error)");b=0<b&&f?ra(a,H,f,b):0;c&&(P[c>>2]=b)},Mb:function(a,b,c,f){a=W.getShaderPrecisionFormat(a,b);P[c>>2]=a.rangeMin;P[c+
4>>2]=a.rangeMax;P[f>>2]=a.precision},Ia:function(a,b,c){c?35716==b?(a=W.getShaderInfoLog(vd[a]),null===a&&(a="(unknown error)"),P[c>>2]=a?a.length+1:0):35720==b?(a=W.getShaderSource(vd[a]),P[c>>2]=a?a.length+1:0):P[c>>2]=W.getShaderParameter(vd[a],b):Cd(1281)},J:function(a){var b=zd[a];if(!b){switch(a){case 7939:b=W.getSupportedExtensions()||[];b=b.concat(b.map(function(f){return"GL_"+f}));b=Md(b.join(" "));break;case 7936:case 7937:case 37445:case 37446:(b=W.getParameter(a))||Cd(1280);b=b&&Md(b);
break;case 7938:b=W.getParameter(7938);b=2<=v.version?"OpenGL ES 3.0 ("+b+")":"OpenGL ES 2.0 ("+b+")";b=Md(b);break;case 35724:b=W.getParameter(35724);var c=b.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==c&&(3==c[1].length&&(c[1]+="0"),b="OpenGL ES GLSL ES "+c[1]+" ("+b+")");b=Md(b);break;default:Cd(1280)}zd[a]=b}return b},eb:function(a,b){if(2>v.version)return Cd(1282),0;var c=Ad[a];if(c)return 0>b||b>=c.length?(Cd(1281),0):c[b];switch(a){case 7939:return c=W.getSupportedExtensions()||
[],c=c.concat(c.map(function(f){return"GL_"+f})),c=c.map(function(f){return Md(f)}),c=Ad[a]=c,0>b||b>=c.length?(Cd(1281),0):c[b];default:return Cd(1280),0}},Ja:function(a,b){function c(A){return"]"==A.slice(-1)&&A.lastIndexOf("[")}b=Xa(b);a=sd[a];var f=a.Ze,h=a.wg,l,n=0,q=b,x=c(b);if(!f)for(a.Ze=f={},a.uf={},l=0;l<W.getProgramParameter(a,35718);++l){var w=W.getActiveUniform(a,l);var G=w.name;w=w.size;var K=c(G);K=0<K?G.slice(0,K):G;var O=a.jf;a.jf+=w;h[K]=[w,O];for(G=0;G<w;++G)f[O]=G,a.uf[O++]=K}0<
x&&(n=parseInt(b.slice(x+1))>>>0,q=b.slice(0,x));return(h=h[q])&&n<h[0]&&(n+=h[1],f[n]=f[n]||W.getUniformLocation(a,b))?n:-1},Nb:function(a,b,c){for(var f=Jd[b],h=0;h<b;h++)f[h]=P[c+4*h>>2];W.invalidateFramebuffer(a,f)},Ob:function(a,b,c,f,h,l,n){for(var q=Jd[b],x=0;x<b;x++)q[x]=P[c+4*x>>2];W.invalidateSubFramebuffer(a,q,f,h,l,n)},Vb:function(a){return W.isSync(yd[a])},Ka:function(a){return(a=ha[a])?W.isTexture(a):0},La:function(a){W.lineWidth(a)},Na:function(a){a=sd[a];W.linkProgram(a);a.Ze=0;a.wg=
{}},nc:function(a,b,c,f,h,l){W.sf.multiDrawArraysInstancedBaseInstanceWEBGL(a,P,b>>2,P,c>>2,P,f>>2,mb,h>>2,l)},oc:function(a,b,c,f,h,l,n,q){W.sf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(a,P,b>>2,c,P,f>>2,P,h>>2,P,l>>2,mb,n>>2,q)},Oa:function(a,b){3317==a&&(Bd=b);W.pixelStorei(a,b)},qc:function(a){W.readBuffer(a)},Pa:function(a,b,c,f,h,l,n){if(2<=v.version)if(W.ef)W.readPixels(a,b,c,f,h,l,n);else{var q=Od(l);W.readPixels(a,b,c,f,h,l,q,n>>31-Math.clz32(q.BYTES_PER_ELEMENT))}else(n=Pd(l,
h,c,f,n))?W.readPixels(a,b,c,f,h,l,n):Cd(1280)},ac:function(a,b,c,f){W.renderbufferStorage(a,b,c,f)},Xb:function(a,b,c,f,h){W.renderbufferStorageMultisample(a,b,c,f,h)},Sb:function(a,b,c){W.samplerParameteri(xd[a],b,c)},Tb:function(a,b,c){W.samplerParameteri(xd[a],b,P[c>>2])},Qa:function(a,b,c,f){W.scissor(a,b,c,f)},Ra:function(a,b,c,f){for(var h="",l=0;l<b;++l){var n=f?P[f+4*l>>2]:-1;h+=Xa(P[c+4*l>>2],0>n?void 0:n)}W.shaderSource(vd[a],h)},Sa:function(a,b,c){W.stencilFunc(a,b,c)},Ta:function(a,b,
c,f){W.stencilFuncSeparate(a,b,c,f)},Ua:function(a){W.stencilMask(a)},Va:function(a,b){W.stencilMaskSeparate(a,b)},Wa:function(a,b,c){W.stencilOp(a,b,c)},Xa:function(a,b,c,f){W.stencilOpSeparate(a,b,c,f)},Ya:function(a,b,c,f,h,l,n,q,x){if(2<=v.version)if(W.Ce)W.texImage2D(a,b,c,f,h,l,n,q,x);else if(x){var w=Od(q);W.texImage2D(a,b,c,f,h,l,n,q,w,x>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else W.texImage2D(a,b,c,f,h,l,n,q,null);else W.texImage2D(a,b,c,f,h,l,n,q,x?Pd(q,n,f,h,x):null)},Za:function(a,b,c){W.texParameterf(a,
b,c)},_a:function(a,b,c){W.texParameterf(a,b,S[c>>2])},$a:function(a,b,c){W.texParameteri(a,b,c)},ab:function(a,b,c){W.texParameteri(a,b,P[c>>2])},kc:function(a,b,c,f,h){W.texStorage2D(a,b,c,f,h)},bb:function(a,b,c,f,h,l,n,q,x){if(2<=v.version)if(W.Ce)W.texSubImage2D(a,b,c,f,h,l,n,q,x);else if(x){var w=Od(q);W.texSubImage2D(a,b,c,f,h,l,n,q,w,x>>31-Math.clz32(w.BYTES_PER_ELEMENT))}else W.texSubImage2D(a,b,c,f,h,l,n,q,null);else w=null,x&&(w=Pd(q,n,h,l,x)),W.texSubImage2D(a,b,c,f,h,l,n,q,w)},cb:function(a,
b){W.uniform1f(Z(a),b)},db:function(a,b,c){if(2<=v.version)W.uniform1fv(Z(a),S,c>>2,b);else{if(288>=b)for(var f=Qd[b-1],h=0;h<b;++h)f[h]=S[c+4*h>>2];else f=S.subarray(c>>2,c+4*b>>2);W.uniform1fv(Z(a),f)}},Vc:function(a,b){W.uniform1i(Z(a),b)},Wc:function(a,b,c){if(2<=v.version)W.uniform1iv(Z(a),P,c>>2,b);else{if(288>=b)for(var f=Rd[b-1],h=0;h<b;++h)f[h]=P[c+4*h>>2];else f=P.subarray(c>>2,c+4*b>>2);W.uniform1iv(Z(a),f)}},Xc:function(a,b,c){W.uniform2f(Z(a),b,c)},Yc:function(a,b,c){if(2<=v.version)W.uniform2fv(Z(a),
S,c>>2,2*b);else{if(144>=b)for(var f=Qd[2*b-1],h=0;h<2*b;h+=2)f[h]=S[c+4*h>>2],f[h+1]=S[c+(4*h+4)>>2];else f=S.subarray(c>>2,c+8*b>>2);W.uniform2fv(Z(a),f)}},Uc:function(a,b,c){W.uniform2i(Z(a),b,c)},Tc:function(a,b,c){if(2<=v.version)W.uniform2iv(Z(a),P,c>>2,2*b);else{if(144>=b)for(var f=Rd[2*b-1],h=0;h<2*b;h+=2)f[h]=P[c+4*h>>2],f[h+1]=P[c+(4*h+4)>>2];else f=P.subarray(c>>2,c+8*b>>2);W.uniform2iv(Z(a),f)}},Sc:function(a,b,c,f){W.uniform3f(Z(a),b,c,f)},Rc:function(a,b,c){if(2<=v.version)W.uniform3fv(Z(a),
S,c>>2,3*b);else{if(96>=b)for(var f=Qd[3*b-1],h=0;h<3*b;h+=3)f[h]=S[c+4*h>>2],f[h+1]=S[c+(4*h+4)>>2],f[h+2]=S[c+(4*h+8)>>2];else f=S.subarray(c>>2,c+12*b>>2);W.uniform3fv(Z(a),f)}},Qc:function(a,b,c,f){W.uniform3i(Z(a),b,c,f)},Pc:function(a,b,c){if(2<=v.version)W.uniform3iv(Z(a),P,c>>2,3*b);else{if(96>=b)for(var f=Rd[3*b-1],h=0;h<3*b;h+=3)f[h]=P[c+4*h>>2],f[h+1]=P[c+(4*h+4)>>2],f[h+2]=P[c+(4*h+8)>>2];else f=P.subarray(c>>2,c+12*b>>2);W.uniform3iv(Z(a),f)}},Oc:function(a,b,c,f,h){W.uniform4f(Z(a),
b,c,f,h)},Nc:function(a,b,c){if(2<=v.version)W.uniform4fv(Z(a),S,c>>2,4*b);else{if(72>=b){var f=Qd[4*b-1],h=S;c>>=2;for(var l=0;l<4*b;l+=4){var n=c+l;f[l]=h[n];f[l+1]=h[n+1];f[l+2]=h[n+2];f[l+3]=h[n+3]}}else f=S.subarray(c>>2,c+16*b>>2);W.uniform4fv(Z(a),f)}},Bc:function(a,b,c,f,h){W.uniform4i(Z(a),b,c,f,h)},Cc:function(a,b,c){if(2<=v.version)W.uniform4iv(Z(a),P,c>>2,4*b);else{if(72>=b)for(var f=Rd[4*b-1],h=0;h<4*b;h+=4)f[h]=P[c+4*h>>2],f[h+1]=P[c+(4*h+4)>>2],f[h+2]=P[c+(4*h+8)>>2],f[h+3]=P[c+(4*
h+12)>>2];else f=P.subarray(c>>2,c+16*b>>2);W.uniform4iv(Z(a),f)}},Dc:function(a,b,c,f){if(2<=v.version)W.uniformMatrix2fv(Z(a),!!c,S,f>>2,4*b);else{if(72>=b)for(var h=Qd[4*b-1],l=0;l<4*b;l+=4)h[l]=S[f+4*l>>2],h[l+1]=S[f+(4*l+4)>>2],h[l+2]=S[f+(4*l+8)>>2],h[l+3]=S[f+(4*l+12)>>2];else h=S.subarray(f>>2,f+16*b>>2);W.uniformMatrix2fv(Z(a),!!c,h)}},Ec:function(a,b,c,f){if(2<=v.version)W.uniformMatrix3fv(Z(a),!!c,S,f>>2,9*b);else{if(32>=b)for(var h=Qd[9*b-1],l=0;l<9*b;l+=9)h[l]=S[f+4*l>>2],h[l+1]=S[f+
(4*l+4)>>2],h[l+2]=S[f+(4*l+8)>>2],h[l+3]=S[f+(4*l+12)>>2],h[l+4]=S[f+(4*l+16)>>2],h[l+5]=S[f+(4*l+20)>>2],h[l+6]=S[f+(4*l+24)>>2],h[l+7]=S[f+(4*l+28)>>2],h[l+8]=S[f+(4*l+32)>>2];else h=S.subarray(f>>2,f+36*b>>2);W.uniformMatrix3fv(Z(a),!!c,h)}},Fc:function(a,b,c,f){if(2<=v.version)W.uniformMatrix4fv(Z(a),!!c,S,f>>2,16*b);else{if(18>=b){var h=Qd[16*b-1],l=S;f>>=2;for(var n=0;n<16*b;n+=16){var q=f+n;h[n]=l[q];h[n+1]=l[q+1];h[n+2]=l[q+2];h[n+3]=l[q+3];h[n+4]=l[q+4];h[n+5]=l[q+5];h[n+6]=l[q+6];h[n+7]=
l[q+7];h[n+8]=l[q+8];h[n+9]=l[q+9];h[n+10]=l[q+10];h[n+11]=l[q+11];h[n+12]=l[q+12];h[n+13]=l[q+13];h[n+14]=l[q+14];h[n+15]=l[q+15]}}else h=S.subarray(f>>2,f+64*b>>2);W.uniformMatrix4fv(Z(a),!!c,h)}},Gc:function(a){a=sd[a];W.useProgram(a);W.Df=a},Hc:function(a,b){W.vertexAttrib1f(a,b)},Ic:function(a,b){W.vertexAttrib2f(a,S[b>>2],S[b+4>>2])},Jc:function(a,b){W.vertexAttrib3f(a,S[b>>2],S[b+4>>2],S[b+8>>2])},Kc:function(a,b){W.vertexAttrib4f(a,S[b>>2],S[b+4>>2],S[b+8>>2],S[b+12>>2])},lc:function(a,b){W.vertexAttribDivisor(a,
b)},mc:function(a,b,c,f,h){W.vertexAttribIPointer(a,b,c,f,h)},Lc:function(a,b,c,f,h,l){W.vertexAttribPointer(a,b,c,!!f,h,l)},Mc:function(a,b,c,f){W.viewport(a,b,c,f)},gb:function(a,b,c,f){W.waitSync(yd[a],b,(c>>>0)+4294967296*f)},e:function(a,b){je(a,b||1);throw"longjmp";},pb:function(a){var b=H.length;a>>>=0;if(2147483648<a)return!1;for(var c=1;4>=c;c*=2){var f=b*(1+.2/c);f=Math.min(f,a+100663296);f=Math.max(a,f);0<f%65536&&(f+=65536-f%65536);a:{try{Sa.grow(Math.min(2147483648,f)-gb.byteLength+65535>>>
16);ob();var h=1;break a}catch(l){}h=void 0}if(h)return!0}return!1},kb:function(){return v?v.Rf:0},ub:function(a,b){var c=0;Td().forEach(function(f,h){var l=b+c;h=P[a+4*h>>2]=l;for(l=0;l<f.length;++l)lb[h++>>0]=f.charCodeAt(l);lb[h>>0]=0;c+=f.length+1});return 0},vb:function(a,b){var c=Td();P[a>>2]=c.length;var f=0;c.forEach(function(h){f+=h.length+1});P[b>>2]=f;return 0},Gb:function(a){if(!noExitRuntime){if(t.onExit)t.onExit(a);Ta=!0}xa(a,new Ka(a))},H:function(){return 0},tb:function(a,b){a=1==
a||2==a?2:La();lb[b>>0]=a;return 0},nb:function(a,b,c,f,h,l){a=Ib.Nf(a);b=Ib.Ef(a,b,c,f);P[l>>2]=b;return 0},wb:function(a,b,c,f){a=Ib.Nf(a);b=Ib.Ef(a,b,c);P[f>>2]=b;return 0},mb:function(){},N:function(a,b,c,f){for(var h=0,l=0;l<c;l++){for(var n=P[b+8*l>>2],q=P[b+(8*l+4)>>2],x=0;x<q;x++){var w=H[n+x],G=Hb[a];0===w||10===w?((1===a?Ma:Pa)(Wa(G,0)),G.length=0):G.push(w)}h+=q}P[f>>2]=h;return 0},a:function(){return Qa},l:ke,o:le,g:me,D:ne,Lb:oe,W:pe,V:qe,U:re,n:se,r:te,i:ue,q:ve,Jb:we,Hb:xe,Ib:ye,b:function(a){Qa=
a},rb:function(a,b,c,f){return $d(a,b,c,f)}};
(function(){function a(h){t.asm=h.exports;Sa=t.asm.ad;ob();pb=t.asm.dd;rb.unshift(t.asm.bd);ub--;t.monitorRunDependencies&&t.monitorRunDependencies(ub);0==ub&&(null!==vb&&(clearInterval(vb),vb=null),wb&&(h=wb,wb=null,h()))}function b(h){a(h.instance)}function c(h){return Cb().then(function(l){return WebAssembly.instantiate(l,f)}).then(h,function(l){Pa("failed to asynchronously prepare wasm: "+l);La(l)})}var f={a:ze};ub++;t.monitorRunDependencies&&t.monitorRunDependencies(ub);if(t.instantiateWasm)try{return t.instantiateWasm(f,
a)}catch(h){return Pa("Module.instantiateWasm callback failed with error: "+h),!1}(function(){return Ra||"function"!==typeof WebAssembly.instantiateStreaming||xb()||yb.startsWith("file://")||"function"!==typeof fetch?c(b):fetch(yb,{credentials:"same-origin"}).then(function(h){return WebAssembly.instantiateStreaming(h,f).then(b,function(l){Pa("wasm streaming compile failed: "+l);Pa("falling back to ArrayBuffer instantiation");return c(b)})})})().catch(ea);return{}})();
t.___wasm_call_ctors=function(){return(t.___wasm_call_ctors=t.asm.bd).apply(null,arguments)};var he=t._memset=function(){return(he=t._memset=t.asm.cd).apply(null,arguments)},Nd=t._malloc=function(){return(Nd=t._malloc=t.asm.ed).apply(null,arguments)},Kc=t._free=function(){return(Kc=t._free=t.asm.fd).apply(null,arguments)},ie=t.___errno_location=function(){return(ie=t.___errno_location=t.asm.gd).apply(null,arguments)},Jc=t.___getTypeName=function(){return(Jc=t.___getTypeName=t.asm.hd).apply(null,arguments)};
t.___embind_register_native_and_builtin_types=function(){return(t.___embind_register_native_and_builtin_types=t.asm.id).apply(null,arguments)};var Ae=t.stackSave=function(){return(Ae=t.stackSave=t.asm.jd).apply(null,arguments)},Be=t.stackRestore=function(){return(Be=t.stackRestore=t.asm.kd).apply(null,arguments)},je=t._setThrew=function(){return(je=t._setThrew=t.asm.ld).apply(null,arguments)},ge=t._memalign=function(){return(ge=t._memalign=t.asm.md).apply(null,arguments)};
t.dynCall_iiiji=function(){return(t.dynCall_iiiji=t.asm.nd).apply(null,arguments)};t.dynCall_ji=function(){return(t.dynCall_ji=t.asm.od).apply(null,arguments)};t.dynCall_iiji=function(){return(t.dynCall_iiji=t.asm.pd).apply(null,arguments)};t.dynCall_iijjiii=function(){return(t.dynCall_iijjiii=t.asm.qd).apply(null,arguments)};t.dynCall_iij=function(){return(t.dynCall_iij=t.asm.rd).apply(null,arguments)};t.dynCall_vijjjii=function(){return(t.dynCall_vijjjii=t.asm.sd).apply(null,arguments)};
t.dynCall_viji=function(){return(t.dynCall_viji=t.asm.td).apply(null,arguments)};t.dynCall_vijiii=function(){return(t.dynCall_vijiii=t.asm.ud).apply(null,arguments)};t.dynCall_viiiiij=function(){return(t.dynCall_viiiiij=t.asm.vd).apply(null,arguments)};t.dynCall_viijii=function(){return(t.dynCall_viijii=t.asm.wd).apply(null,arguments)};t.dynCall_jii=function(){return(t.dynCall_jii=t.asm.xd).apply(null,arguments)};t.dynCall_iiij=function(){return(t.dynCall_iiij=t.asm.yd).apply(null,arguments)};
t.dynCall_iiiij=function(){return(t.dynCall_iiiij=t.asm.zd).apply(null,arguments)};t.dynCall_viij=function(){return(t.dynCall_viij=t.asm.Ad).apply(null,arguments)};t.dynCall_viiij=function(){return(t.dynCall_viiij=t.asm.Bd).apply(null,arguments)};t.dynCall_vij=function(){return(t.dynCall_vij=t.asm.Cd).apply(null,arguments)};t.dynCall_jiiii=function(){return(t.dynCall_jiiii=t.asm.Dd).apply(null,arguments)};t.dynCall_jiiiiii=function(){return(t.dynCall_jiiiiii=t.asm.Ed).apply(null,arguments)};
t.dynCall_jiiiiji=function(){return(t.dynCall_jiiiiji=t.asm.Fd).apply(null,arguments)};t.dynCall_iijj=function(){return(t.dynCall_iijj=t.asm.Gd).apply(null,arguments)};t.dynCall_jiji=function(){return(t.dynCall_jiji=t.asm.Hd).apply(null,arguments)};t.dynCall_iiiiij=function(){return(t.dynCall_iiiiij=t.asm.Id).apply(null,arguments)};t.dynCall_iiiiijj=function(){return(t.dynCall_iiiiijj=t.asm.Jd).apply(null,arguments)};t.dynCall_iiiiiijj=function(){return(t.dynCall_iiiiiijj=t.asm.Kd).apply(null,arguments)};
function ke(a,b){var c=Ae();try{return pb.get(a)(b)}catch(f){Be(c);if(f!==f+0&&"longjmp"!==f)throw f;je(1,0)}}function le(a,b,c){var f=Ae();try{return pb.get(a)(b,c)}catch(h){Be(f);if(h!==h+0&&"longjmp"!==h)throw h;je(1,0)}}function ue(a,b,c,f){var h=Ae();try{pb.get(a)(b,c,f)}catch(l){Be(h);if(l!==l+0&&"longjmp"!==l)throw l;je(1,0)}}function me(a,b,c,f){var h=Ae();try{return pb.get(a)(b,c,f)}catch(l){Be(h);if(l!==l+0&&"longjmp"!==l)throw l;je(1,0)}}
function se(a,b){var c=Ae();try{pb.get(a)(b)}catch(f){Be(c);if(f!==f+0&&"longjmp"!==f)throw f;je(1,0)}}function te(a,b,c){var f=Ae();try{pb.get(a)(b,c)}catch(h){Be(f);if(h!==h+0&&"longjmp"!==h)throw h;je(1,0)}}function oe(a,b,c,f,h,l){var n=Ae();try{return pb.get(a)(b,c,f,h,l)}catch(q){Be(n);if(q!==q+0&&"longjmp"!==q)throw q;je(1,0)}}function ve(a,b,c,f,h){var l=Ae();try{pb.get(a)(b,c,f,h)}catch(n){Be(l);if(n!==n+0&&"longjmp"!==n)throw n;je(1,0)}}
function pe(a,b,c,f,h,l,n){var q=Ae();try{return pb.get(a)(b,c,f,h,l,n)}catch(x){Be(q);if(x!==x+0&&"longjmp"!==x)throw x;je(1,0)}}function ne(a,b,c,f,h){var l=Ae();try{return pb.get(a)(b,c,f,h)}catch(n){Be(l);if(n!==n+0&&"longjmp"!==n)throw n;je(1,0)}}function we(a,b,c,f,h,l){var n=Ae();try{pb.get(a)(b,c,f,h,l)}catch(q){Be(n);if(q!==q+0&&"longjmp"!==q)throw q;je(1,0)}}
function ye(a,b,c,f,h,l,n,q,x,w){var G=Ae();try{pb.get(a)(b,c,f,h,l,n,q,x,w)}catch(K){Be(G);if(K!==K+0&&"longjmp"!==K)throw K;je(1,0)}}function xe(a,b,c,f,h,l,n){var q=Ae();try{pb.get(a)(b,c,f,h,l,n)}catch(x){Be(q);if(x!==x+0&&"longjmp"!==x)throw x;je(1,0)}}function qe(a,b,c,f,h,l,n,q,x,w){var G=Ae();try{return pb.get(a)(b,c,f,h,l,n,q,x,w)}catch(K){Be(G);if(K!==K+0&&"longjmp"!==K)throw K;je(1,0)}}function re(a){var b=Ae();try{pb.get(a)()}catch(c){Be(b);if(c!==c+0&&"longjmp"!==c)throw c;je(1,0)}}var Ce;
function Ka(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")";this.status=a}wb=function De(){Ce||Ee();Ce||(wb=De)};
function Ee(){function a(){if(!Ce&&(Ce=!0,t.calledRun=!0,!Ta)){Db(rb);ca(t);if(t.onRuntimeInitialized)t.onRuntimeInitialized();if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;){var b=t.postRun.shift();sb.unshift(b)}Db(sb)}}if(!(0<ub)){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)tb();Db(qb);0<ub||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1);a()},1)):a())}}
t.run=Ee;if(t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();Ee();


  return CanvasKitInit.ready
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
  module.exports = CanvasKitInit;
else if (typeof define === 'function' && define['amd'])
  define([], function() { return CanvasKitInit; });
else if (typeof exports === 'object')
  exports["CanvasKitInit"] = CanvasKitInit;
