@m2c2kit/addons 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t,e;!function(t){t.sequence="Sequence",t.group="Group",t.wait="Wait",t.custom="Custom",t.move="Move",t.scale="Scale"}(t||(t={}));class n{constructor(t=!1){this.startOffset=-1,this.endOffset=-1,this.started=!1,this.running=!1,this.completed=!1,this.runStartTime=-1,this.duration=0,this.isParent=!1,this.isChild=!1,this.runDuringTransition=t}static Move(t){var e;return new s(t.point,t.duration,null!==(e=t.runDuringTransition)&&void 0!==e&&e)}static Wait(t){var e;return new a(t.duration,null!==(e=t.runDuringTransition)&&void 0!==e&&e)}static Custom(t){var e;return new o(t.callback,null!==(e=t.runDuringTransition)&&void 0!==e&&e)}static Scale(t){return new l(t.scale,t.duration,t.runDuringTransition)}static Sequence(t){const e=new r(t);return e.children=t,e}static Group(t){const e=new i(t);return e.children=t,e}initialize(e,r){this.assignParents(this,this,r);const i=this.flattenActions(this);return i.forEach((t=>t.duration=this.calculateDuration(t))),this.calculateStartEndOffsets(this),i.filter((e=>e.type!==t.group&&e.type!==t.sequence)).map((t=>n.cloneAction(t,r)))}static cloneAction(e,r){let i;switch(e.type){case t.sequence:{const t=e.children.map((t=>n.cloneAction(t,r)));i=n.Sequence(t);break}case t.group:{const t=e.children.map((t=>n.cloneAction(t,r)));i=n.Sequence(t);break}case t.move:{const t=e;i=n.Move({point:t.point,duration:t.duration,runDuringTransition:t.runDuringTransition});break}case t.custom:{const t=e;i=n.Custom({callback:t.callback,runDuringTransition:t.runDuringTransition});break}case t.scale:{const t=e;i=n.Scale({scale:t.scale,duration:t.duration,runDuringTransition:t.runDuringTransition});break}case t.wait:{const t=e;i=n.Wait({duration:t.duration,runDuringTransition:t.runDuringTransition});break}default:throw new Error("unknown action")}return void 0!==r&&(i.key=r),i.startOffset=e.startOffset,i.endOffset=e.endOffset,i}static evaluateAction(e,n,r,i){if(r<e.runStartTime+e.startOffset)return;if(r>=e.runStartTime+e.startOffset&&r<=e.runStartTime+e.startOffset+e.duration?e.running=!0:e.running=!1,!1===e.running&&!0===e.completed)return;const o=r-(e.runStartTime+e.startOffset);if(e.type===t.custom){const t=e;t.callback(),t.running=!1,t.completed=!0}if(e.type===t.wait){const t=e;r>e.runStartTime+e.startOffset+e.duration&&(t.running=!1,t.completed=!0)}if(e.type===t.move){const t=e;t.started||(t.dx=t.point.x-n.position.x,t.dy=t.point.y-n.position.y,t.started=!0),o<t.duration?(n.position.x=n.position.x+t.dx*(i/t.duration),n.position.y=n.position.y+t.dy*(i/t.duration)):(n.position.x=t.point.x,n.position.y=t.point.y,t.running=!1,t.completed=!0)}if(e.type===t.scale){const t=e;t.started||(t.delta=t.scale-n.scale,t.started=!0),o<t.duration?n.scale=n.scale+t.delta*(i/t.duration):(n.scale=t.scale,t.running=!1,t.completed=!0)}}calculateDuration(e){return e.type===t.group?e.children.map((t=>this.calculateDuration(t))).reduce(((t,e)=>Math.max(t,e)),0):e.type===t.sequence?e.children.map((t=>this.calculateDuration(t))).reduce(((t,e)=>t+e),0):e.duration}calculateStartEndOffsets(e){var n,r,i;let o=0;if(void 0!==e.parent&&(o=e.parent.startOffset),(null===(n=e.parent)||void 0===n?void 0:n.type)===t.group)e.startOffset=o,e.endOffset=e.startOffset+e.duration;else if((null===(r=e.parent)||void 0===r?void 0:r.type)===t.sequence){const t=e.parent;let n=0;for(const r of t.children){if(r===e)break;n+=r.duration}e.startOffset=n,e.endOffset=e.startOffset+e.duration}else e.startOffset=o,e.endOffset=e.startOffset+e.duration;e.isParent&&(null===(i=e.children)||void 0===i||i.forEach((t=>this.calculateStartEndOffsets(t))))}flattenActions(t,e){if(e||(e=new Array).push(t),t.isParent){const n=t,r=n.children;e.push(...r),n.children.filter((t=>t.isParent)).forEach((t=>this.flattenActions(t,e)))}return e}assignParents(t,e,n){if(void 0!==n&&(t.key=n),e||((e=t).parent=void 0),t.isParent){const r=t;r.children.forEach((e=>{e.parent=t})),r.children.filter((t=>t.isParent)).forEach((t=>this.assignParents(t,e,n)))}}}class r extends n{constructor(e){super(),this.type=t.sequence,this.children=e,this.isParent=!0}}class i extends n{constructor(e){super(),this.type=t.group,this.children=new Array,this.children=e,this.isParent=!0}}class o extends n{constructor(e,n=!1){super(n),this.type=t.custom,this.callback=e,this.isParent=!1,this.duration=0}}class a extends n{constructor(e,n){super(n),this.type=t.wait,this.duration=e,this.isParent=!1}}class s extends n{constructor(e,n,r){super(r),this.type=t.move,this.dx=0,this.dy=0,this.duration=n,this.point=e,this.isParent=!1}}class l extends n{constructor(e,n,r=!1){super(r),this.type=t.scale,this.delta=0,this.duration=n,this.scale=e,this.isParent=!1}}!function(t){t.sessionLifecycle="SessionLifecycle",t.gameLifecycle="GameLifecycle",t.gameTrial="GameTrial"}(e||(e={}));function u(t){if(t.__esModule)return t;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(t).forEach((function(n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})})),e}globalThis.Globals=new class{constructor(){this.now=NaN,this.deltaTime=NaN,this.canvasScale=NaN,this.rootScale=1,this.canvasCssWidth=NaN,this.canvasCssHeight=NaN}};var c,h,f,d,p,g,y,m={exports:{}},v=u(Object.freeze({__proto__:null,path_empty_shim:function(){}})),b=u(Object.freeze({__proto__:null,fs_empty_shim:function(){}}));!function(t,e){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(n=n||__filename),function(t){var e,r,i,o;t=t||{},e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){r=t,i=e})),(o=e).Vd=o.Vd||[],o.Vd.push((function(){o.MakeSWCanvasSurface=function(t){var e=t;if("CANVAS"!==e.tagName&&!(e=document.getElementById(t)))throw"Canvas with id "+t+" was not found";return(t=o.MakeSurface(e.width,e.height))&&(t.Nd=e),t},o.MakeCanvasSurface||(o.MakeCanvasSurface=o.MakeSWCanvasSurface),o.MakeSurface=function(t,e){var n={width:t,height:e,colorType:o.ColorType.RGBA_8888,alphaType:o.AlphaType.Unpremul,colorSpace:o.ColorSpace.SRGB},r=t*e*4,i=o._malloc(r);return(n=o.Surface._makeRasterDirect(n,i,4*t))&&(n.Nd=null,n.zf=t,n.wf=e,n.yf=r,n.af=i,n.getCanvas().clear(o.TRANSPARENT)),n},o.MakeRasterDirectSurface=function(t,e,n){return o.Surface._makeRasterDirect(t,e.byteOffset,n)},o.Surface.prototype.flush=function(t){if(o.Od(this.Md),this._flush(),this.Nd){var e=new Uint8ClampedArray(o.HEAPU8.buffer,this.af,this.yf);e=new ImageData(e,this.zf,this.wf),t?this.Nd.getContext("2d").putImageData(e,0,0,t[0],t[1],t[2]-t[0],t[3]-t[1]):this.Nd.getContext("2d").putImageData(e,0,0)}},o.Surface.prototype.dispose=function(){this.af&&o._free(this.af),this.delete()},o.Od=o.Od||function(){}})),function(t){t.Vd=t.Vd||[],t.Vd.push((function(){function e(t,e,n){return t&&t.hasOwnProperty(e)?t[e]:n}function n(t){var e=Fe.length;return e||(Fe.push(null),e=1),Fe.push(t),e}function r(t){return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}function i(t){return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}t.GetWebGLContext=function(t,n){if(!t)throw"null canvas passed into makeWebGLContext";var r={alpha:e(n,"alpha",1),depth:e(n,"depth",1),stencil:e(n,"stencil",8),antialias:e(n,"antialias",0),premultipliedAlpha:e(n,"premultipliedAlpha",1),preserveDrawingBuffer:e(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:e(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:e(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:e(n,"enableExtensionsByDefault",1),explicitSwapControl:e(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:e(n,"renderViaOffscreenBackBuffer",0)};if(r.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1,r.explicitSwapControl)throw"explicitSwapControl is not supported";return t=function(t,e){t.rf||(t.rf=t.getContext,t.getContext=function(e,n){return"webgl"==e==(n=t.rf(e,n))instanceof WebGLRenderingContext?n:null});var n=1<e.majorVersion?t.getContext("webgl2",e):t.getContext("webgl",e);return n?function(t,e){var n=ze(Be),r={Rf:n,attributes:e,version:e.majorVersion,le:t};return t.canvas&&(t.canvas.vf=r),Be[n]=r,(void 0===e.Gf||e.Gf)&&function(t){if(t||(t=Ge),!t.Uf){t.Uf=!0;var e=t.le;!function(t){var e=t.getExtension("ANGLE_instanced_arrays");e&&(t.vertexAttribDivisor=function(t,n){e.vertexAttribDivisorANGLE(t,n)},t.drawArraysInstanced=function(t,n,r,i){e.drawArraysInstancedANGLE(t,n,r,i)},t.drawElementsInstanced=function(t,n,r,i,o){e.drawElementsInstancedANGLE(t,n,r,i,o)})}(e),function(t){var e=t.getExtension("OES_vertex_array_object");e&&(t.createVertexArray=function(){return e.createVertexArrayOES()},t.deleteVertexArray=function(t){e.deleteVertexArrayOES(t)},t.bindVertexArray=function(t){e.bindVertexArrayOES(t)},t.isVertexArray=function(t){return e.isVertexArrayOES(t)})}(e),function(t){var e=t.getExtension("WEBGL_draw_buffers");e&&(t.drawBuffers=function(t,n){e.drawBuffersWEBGL(t,n)})}(e),e.nf=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),e.sf=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"),2<=t.version&&(e.pf=e.getExtension("EXT_disjoint_timer_query_webgl2")),(2>t.version||!e.pf)&&(e.pf=e.getExtension("EXT_disjoint_timer_query")),e.Bg=e.getExtension("WEBGL_multi_draw"),(e.getSupportedExtensions()||[]).forEach((function(t){t.includes("lose_context")||t.includes("debug")||e.getExtension(t)}))}}(r),n}(n,e):0}(t,r),t?(je(t),t):0},t.deleteContext=function(t){Ge===Be[t]&&(Ge=null),"object"==typeof JSEvents&&JSEvents.Eg(Be[t].le.canvas),Be[t]&&Be[t].le.canvas&&(Be[t].le.canvas.vf=void 0),Be[t]=null},t._setTextureCleanup({deleteTexture:function(t,e){var n=Fe[e];n&&Be[t].le.deleteTexture(n),Fe[e]=null}}),t.MakeGrContext=function(t){if(!this.Od(t))return null;var e=this._MakeGrContext();return e?(e.Md=t,e):null},t.MakeOnScreenGLSurface=function(t,e,n,r){return(e=this._MakeOnScreenGLSurface(t,e,n,r))?(e.Md=t.Md,e):null},t.MakeRenderTarget=function(t,e,n){return(e=this._MakeRenderTargetWH(t,e,n))?(e.Md=t.Md,e):null},t.MakeRenderTarget=function(t,e){return(e=this._MakeRenderTargetII(t,e))?(e.Md=t.Md,e):null},t.MakeWebGLCanvasSurface=function(e,n,r){n=n||null;var i=e,o="undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas;if(!("undefined"!=typeof HTMLCanvasElement&&i instanceof HTMLCanvasElement||o||(i=document.getElementById(e),i)))throw"Canvas with id "+e+" was not found";if(!(e=this.GetWebGLContext(i,r))||0>e)throw"failed to create webgl context: err "+e;return e=this.MakeGrContext(e),(n=this.MakeOnScreenGLSurface(e,i.width,i.height,n))||(n=i.cloneNode(!0),i.parentNode.replaceChild(n,i),n.classList.add("ck-replaced"),t.MakeSWCanvasSurface(n))},t.MakeCanvasSurface=t.MakeWebGLCanvasSurface,t.Surface.prototype.makeImageFromTexture=function(e,r){return t.Od(this.Md),e=n(e),this._makeImageFromTexture(this.Md,e,r)},t.Surface.prototype.makeImageFromTextureSource=function(e,n){n||(n={height:r(e),width:i(e),colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul}),n.colorSpace||(n.colorSpace=t.ColorSpace.SRGB),t.Od(this.Md);var o=Ge.le,a=o.createTexture();return o.bindTexture(o.TEXTURE_2D,a),2===Ge.version?o.texImage2D(o.TEXTURE_2D,0,o.RGBA,n.width,n.height,0,o.RGBA,o.UNSIGNED_BYTE,e):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,e),o.bindTexture(o.TEXTURE_2D,null),this.makeImageFromTexture(a,n)},t.MakeLazyImageFromTextureSource=function(e,o){o||(o={height:r(e),width:i(e),colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul}),o.colorSpace||(o.colorSpace=t.ColorSpace.SRGB);var a={makeTexture:function(){var t=Ge,r=t.le,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),2===t.version?r.texImage2D(r.TEXTURE_2D,0,r.RGBA,o.width,o.height,0,r.RGBA,r.UNSIGNED_BYTE,e):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.bindTexture(r.TEXTURE_2D,null),n(i)},freeSrc:function(){}};return"VideoFrame"===e.constructor.name&&(a.freeSrc=function(){e.close()}),t.Image._makeFromGenerator(o,a)},t.Od=function(t){return!!t&&je(t)}}))}(e),function(t){function n(t,e,n,r,i){for(var o=0;o<t.length;o++)e[o*n+(o*i+r+n)%n]=t[o];return e}function r(t){for(var e=t*t,n=Array(e);e--;)n[e]=0==e%(t+1)?1:0;return n}function i(t){return!!t&&t.constructor===Float32Array&&4===t.length}function o(t){return(l(255*t[3])<<24|l(255*t[0])<<16|l(255*t[1])<<8|l(255*t[2])<<0)>>>0}function a(t){if(t&&t._ck)return t;if(t instanceof Float32Array){for(var e=Math.floor(t.length/4),n=new Uint32Array(e),r=0;r<e;r++)n[r]=o(t.slice(4*r,4*(r+1)));return n}return t instanceof Uint32Array?t:t instanceof Array&&t[0]instanceof Float32Array?t.map(o):void 0}function s(t){if(void 0===t)return 1;var e=parseFloat(t);return t&&-1!==t.indexOf("%")?e/100:e}function l(t){return Math.round(Math.max(0,Math.min(t||0,255)))}function u(e,n){n&&n._ck||t._free(e)}function c(e,n,r){if(!e||!e.length)return Y;if(e&&e._ck)return e.byteOffset;var i=t[n].BYTES_PER_ELEMENT;return r||(r=t._malloc(e.length*i)),t[n].set(e,r/i),r}function h(e){var n={ce:Y,count:e.length,Ke:t.ColorType.RGBA_F32};if(e instanceof Float32Array)n.ce=c(e,"HEAPF32"),n.count=e.length/4;else if(e instanceof Uint32Array)n.ce=c(e,"HEAPU32"),n.Ke=t.ColorType.RGBA_8888;else{if(!(e instanceof Array))throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof e;if(e&&e.length){for(var r=t._malloc(16*e.length),i=0,o=r/4,a=0;a<e.length;a++)for(var s=0;4>s;s++)t.HEAPF32[o+i]=e[a][s],i++;e=r}else e=Y;n.ce=e}return n}function f(e){if(!e)return Y;if(e.length){if(6===e.length||9===e.length)return c(e,"HEAPF32",B),6===e.length&&t.HEAPF32.set(V,6+B/4),B;if(16===e.length){var n=A.toTypedArray();return n[0]=e[0],n[1]=e[1],n[2]=e[3],n[3]=e[4],n[4]=e[5],n[5]=e[7],n[6]=e[12],n[7]=e[13],n[8]=e[15],B}throw"invalid matrix size"}return(n=A.toTypedArray())[0]=e.m11,n[1]=e.m21,n[2]=e.m41,n[3]=e.m12,n[4]=e.m22,n[5]=e.m42,n[6]=e.m14,n[7]=e.m24,n[8]=e.m44,B}function d(e){for(var n=Array(16),r=0;16>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function p(t,e){return c(t,"HEAPF32",e||I)}function g(t,e,n,r){var i=S.toTypedArray();return i[0]=t,i[1]=e,i[2]=n,i[3]=r,I}function y(e){for(var n=new Float32Array(4),r=0;4>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function m(t,e){return c(t,"HEAPF32",e||W)}function v(t,e){return c(t,"HEAPF32",e||U)}function b(){for(var t=0,e=0;e<arguments.length-1;e+=2)t+=arguments[e]*arguments[e+1];return t}function w(t,e,n){for(var r=Array(t.length),i=0;i<n;i++)for(var o=0;o<n;o++){for(var a=0,s=0;s<n;s++)a+=t[n*i+s]*e[n*s+o];r[i*n+o]=a}return r}function C(t,e){for(var n=w(e[0],e[1],t),r=2;r<e.length;)n=w(n,e[r],t),r++;return n}t.Color=function(e,n,r,i){return void 0===i&&(i=1),t.Color4f(l(e)/255,l(n)/255,l(r)/255,i)},t.ColorAsInt=function(t,e,n,r){return void 0===r&&(r=255),(l(r)<<24|l(t)<<16|l(e)<<8|l(n)<<0&268435455)>>>0},t.Color4f=function(t,e,n,r){return void 0===r&&(r=1),Float32Array.of(t,e,n,r)},Object.defineProperty(t,"TRANSPARENT",{get:function(){return t.Color4f(0,0,0,0)}}),Object.defineProperty(t,"BLACK",{get:function(){return t.Color4f(0,0,0,1)}}),Object.defineProperty(t,"WHITE",{get:function(){return t.Color4f(1,1,1,1)}}),Object.defineProperty(t,"RED",{get:function(){return t.Color4f(1,0,0,1)}}),Object.defineProperty(t,"GREEN",{get:function(){return t.Color4f(0,1,0,1)}}),Object.defineProperty(t,"BLUE",{get:function(){return t.Color4f(0,0,1,1)}}),Object.defineProperty(t,"YELLOW",{get:function(){return t.Color4f(1,1,0,1)}}),Object.defineProperty(t,"CYAN",{get:function(){return t.Color4f(0,1,1,1)}}),Object.defineProperty(t,"MAGENTA",{get:function(){return t.Color4f(1,0,1,1)}}),t.getColorComponents=function(t){return[Math.floor(255*t[0]),Math.floor(255*t[1]),Math.floor(255*t[2]),t[3]]},t.parseColorString=function(e,n){if((e=e.toLowerCase()).startsWith("#")){switch(n=255,e.length){case 9:n=parseInt(e.slice(7,9),16);case 7:var r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);break;case 5:n=17*parseInt(e.slice(4,5),16);case 4:r=17*parseInt(e.slice(1,2),16),i=17*parseInt(e.slice(2,3),16),o=17*parseInt(e.slice(3,4),16)}return t.Color(r,i,o,n/255)}return e.startsWith("rgba")?(e=(e=e.slice(5,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("rgb")?(e=(e=e.slice(4,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!n||void 0===(e=n[e])?t.BLACK:e},t.multiplyByAlpha=function(t,e){return(t=t.slice())[3]=Math.max(0,Math.min(t[3]*e,1)),t},t.Malloc=function(e,n){var r=t._malloc(n*e.BYTES_PER_ELEMENT);return{_ck:!0,length:n,byteOffset:r,oe:null,subarray:function(t,e){return(t=this.toTypedArray().subarray(t,e))._ck=!0,t},toTypedArray:function(){return this.oe&&this.oe.length||(this.oe=new e(t.HEAPU8.buffer,r,n),this.oe._ck=!0),this.oe}}},t.Free=function(e){t._free(e.byteOffset),e.byteOffset=Y,e.toTypedArray=null,e.oe=null};var A,T,S,P,_,M,k,F,x,E,B=Y,L=Y,I=Y,W=Y,z=Y,j=Y,G=Y,N=Y,U=Y,H=Y,V=Float32Array.of(0,0,1),Y=0;t.onRuntimeInitialized=function(){function e(e,n,r,i,o,a){a||(a=4*i.width,i.colorType===t.ColorType.RGBA_F16?a*=2:i.colorType===t.ColorType.RGBA_F32&&(a*=4));var s=a*i.height,l=o?o.byteOffset:t._malloc(s);if(!e._readPixels(i,l,a,n,r))return o||t._free(l),null;if(o)return o.toTypedArray();switch(i.colorType){case t.ColorType.RGBA_8888:case t.ColorType.RGBA_F16:e=new Uint8Array(t.HEAPU8.buffer,l,s).slice();break;case t.ColorType.RGBA_F32:e=new Float32Array(t.HEAPU8.buffer,l,s).slice();break;default:return null}return t._free(l),e}S=t.Malloc(Float32Array,4),I=S.byteOffset,T=t.Malloc(Float32Array,16),L=T.byteOffset,A=t.Malloc(Float32Array,9),B=A.byteOffset,x=t.Malloc(Float32Array,12),U=x.byteOffset,E=t.Malloc(Float32Array,12),H=E.byteOffset,P=t.Malloc(Float32Array,4),W=P.byteOffset,_=t.Malloc(Float32Array,4),z=_.byteOffset,M=t.Malloc(Float32Array,3),j=M.byteOffset,k=t.Malloc(Float32Array,3),G=k.byteOffset,F=t.Malloc(Int32Array,4),N=F.byteOffset,t.ColorSpace.SRGB=t.ColorSpace._MakeSRGB(),t.ColorSpace.DISPLAY_P3=t.ColorSpace._MakeDisplayP3(),t.ColorSpace.ADOBE_RGB=t.ColorSpace._MakeAdobeRGB(),t.GlyphRunFlags={IsWhiteSpace:t._GlyphRunFlags_isWhiteSpace},t.Path.MakeFromCmds=function(e){var n=c(e,"HEAPF32"),r=t.Path._MakeFromCmds(n,e.length);return u(n,e),r},t.Path.MakeFromVerbsPointsWeights=function(e,n,r){var i=c(e,"HEAPU8"),o=c(n,"HEAPF32"),a=c(r,"HEAPF32"),s=t.Path._MakeFromVerbsPointsWeights(i,e.length,o,n.length,a,r&&r.length||0);return u(i,e),u(o,n),u(a,r),s},t.Path.prototype.addArc=function(t,e,n){return t=m(t),this._addArc(t,e,n),this},t.Path.prototype.addOval=function(t,e,n){return void 0===n&&(n=1),t=m(t),this._addOval(t,!!e,n),this},t.Path.prototype.addPath=function(){var t=Array.prototype.slice.call(arguments),e=t[0],n=!1;if("boolean"==typeof t[t.length-1]&&(n=t.pop()),1===t.length)this._addPath(e,1,0,0,0,1,0,0,0,1,n);else if(2===t.length)t=t[1],this._addPath(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]||0,t[7]||0,t[8]||1,n);else{if(7!==t.length&&10!==t.length)return null;this._addPath(e,t[1],t[2],t[3],t[4],t[5],t[6],t[7]||0,t[8]||0,t[9]||1,n)}return this},t.Path.prototype.addPoly=function(t,e){var n=c(t,"HEAPF32");return this._addPoly(n,t.length/2,e),u(n,t),this},t.Path.prototype.addRect=function(t,e){return t=m(t),this._addRect(t,!!e),this},t.Path.prototype.addRRect=function(t,e){return t=v(t),this._addRRect(t,!!e),this},t.Path.prototype.addVerbsPointsWeights=function(t,e,n){var r=c(t,"HEAPU8"),i=c(e,"HEAPF32"),o=c(n,"HEAPF32");this._addVerbsPointsWeights(r,t.length,i,e.length,o,n&&n.length||0),u(r,t),u(i,e),u(o,n)},t.Path.prototype.arc=function(e,n,r,i,o,a){return e=t.LTRBRect(e-r,n-r,e+r,n+r),o=(o-i)/Math.PI*180-360*!!a,(a=new t.Path).addArc(e,i/Math.PI*180,o),this.addPath(a,!0),a.delete(),this},t.Path.prototype.arcToOval=function(t,e,n,r){return t=m(t),this._arcToOval(t,e,n,r),this},t.Path.prototype.arcToRotated=function(t,e,n,r,i,o,a){return this._arcToRotated(t,e,n,!!r,!!i,o,a),this},t.Path.prototype.arcToTangent=function(t,e,n,r,i){return this._arcToTangent(t,e,n,r,i),this},t.Path.prototype.close=function(){return this._close(),this},t.Path.prototype.conicTo=function(t,e,n,r,i){return this._conicTo(t,e,n,r,i),this},t.Path.prototype.computeTightBounds=function(t){this._computeTightBounds(W);var e=P.toTypedArray();return t?(t.set(e),t):e.slice()},t.Path.prototype.cubicTo=function(t,e,n,r,i,o){return this._cubicTo(t,e,n,r,i,o),this},t.Path.prototype.dash=function(t,e,n){return this._dash(t,e,n)?this:null},t.Path.prototype.getBounds=function(t){this._getBounds(W);var e=P.toTypedArray();return t?(t.set(e),t):e.slice()},t.Path.prototype.lineTo=function(t,e){return this._lineTo(t,e),this},t.Path.prototype.moveTo=function(t,e){return this._moveTo(t,e),this},t.Path.prototype.offset=function(t,e){return this._transform(1,0,t,0,1,e,0,0,1),this},t.Path.prototype.quadTo=function(t,e,n,r){return this._quadTo(t,e,n,r),this},t.Path.prototype.rArcTo=function(t,e,n,r,i,o,a){return this._rArcTo(t,e,n,r,i,o,a),this},t.Path.prototype.rConicTo=function(t,e,n,r,i){return this._rConicTo(t,e,n,r,i),this},t.Path.prototype.rCubicTo=function(t,e,n,r,i,o){return this._rCubicTo(t,e,n,r,i,o),this},t.Path.prototype.rLineTo=function(t,e){return this._rLineTo(t,e),this},t.Path.prototype.rMoveTo=function(t,e){return this._rMoveTo(t,e),this},t.Path.prototype.rQuadTo=function(t,e,n,r){return this._rQuadTo(t,e,n,r),this},t.Path.prototype.stroke=function(e){return(e=e||{}).width=e.width||1,e.miter_limit=e.miter_limit||4,e.cap=e.cap||t.StrokeCap.Butt,e.join=e.join||t.StrokeJoin.Miter,e.precision=e.precision||1,this._stroke(e)?this:null},t.Path.prototype.transform=function(){if(1===arguments.length){var t=arguments[0];this._transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6]||0,t[7]||0,t[8]||1)}else{if(6!==arguments.length&&9!==arguments.length)throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;t=arguments,this._transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6]||0,t[7]||0,t[8]||1)}return this},t.Path.prototype.trim=function(t,e,n){return this._trim(t,e,!!n)?this:null},t.Image.prototype.makeShaderCubic=function(t,e,n,r,i){return i=f(i),this._makeShaderCubic(t,e,n,r,i)},t.Image.prototype.makeShaderOptions=function(t,e,n,r,i){return i=f(i),this._makeShaderOptions(t,e,n,r,i)},t.Image.prototype.readPixels=function(t,n,r,i,o){return e(this,t,n,r,i,o)},t.Canvas.prototype.clear=function(e){t.Od(this.Md),e=p(e),this._clear(e)},t.Canvas.prototype.clipRRect=function(e,n,r){t.Od(this.Md),e=v(e),this._clipRRect(e,n,r)},t.Canvas.prototype.clipRect=function(e,n,r){t.Od(this.Md),e=m(e),this._clipRect(e,n,r)},t.Canvas.prototype.concat=function(e){t.Od(this.Md),e=function(t){if(!t)return Y;var e=T.toTypedArray();if(t.length){if(16!==t.length&&6!==t.length&&9!==t.length)throw"invalid matrix size";return 16===t.length?c(t,"HEAPF32",L):(e.fill(0),e[0]=t[0],e[1]=t[1],e[3]=t[2],e[4]=t[3],e[5]=t[4],e[7]=t[5],e[12]=t[6],e[13]=t[7],e[15]=t[8],6===t.length&&(e[12]=0,e[13]=0,e[15]=1),L)}return e[0]=t.m11,e[1]=t.m21,e[2]=t.m31,e[3]=t.m41,e[4]=t.m12,e[5]=t.m22,e[6]=t.m32,e[7]=t.m42,e[8]=t.m13,e[9]=t.m23,e[10]=t.m33,e[11]=t.m43,e[12]=t.m14,e[13]=t.m24,e[14]=t.m34,e[15]=t.m44,L}(e),this._concat(e)},t.Canvas.prototype.drawArc=function(e,n,r,i,o){t.Od(this.Md),e=m(e),this._drawArc(e,n,r,i,o)},t.Canvas.prototype.drawAtlas=function(e,n,r,i,o,s,l){if(e&&i&&n&&r&&n.length===r.length){t.Od(this.Md),o||(o=t.BlendMode.SrcOver);var h=c(n,"HEAPF32"),f=c(r,"HEAPF32"),d=r.length/4,p=c(a(s),"HEAPU32");if(l&&"B"in l&&"C"in l)this._drawAtlasCubic(e,f,h,p,d,o,l.B,l.C,i);else{let n=t.FilterMode.Linear,r=t.MipmapMode.None;l&&(n=l.filter,"mipmap"in l&&(r=l.mipmap)),this._drawAtlasOptions(e,f,h,p,d,o,n,r,i)}u(h,n),u(f,r),u(p,s)}},t.Canvas.prototype.drawCircle=function(e,n,r,i){t.Od(this.Md),this._drawCircle(e,n,r,i)},t.Canvas.prototype.drawColor=function(e,n){t.Od(this.Md),e=p(e),void 0!==n?this._drawColor(e,n):this._drawColor(e)},t.Canvas.prototype.drawColorInt=function(e,n){t.Od(this.Md),this._drawColorInt(e,n||t.BlendMode.SrcOver)},t.Canvas.prototype.drawColorComponents=function(e,n,r,i,o){t.Od(this.Md),e=g(e,n,r,i),void 0!==o?this._drawColor(e,o):this._drawColor(e)},t.Canvas.prototype.drawDRRect=function(e,n,r){t.Od(this.Md),e=v(e,U),n=v(n,H),this._drawDRRect(e,n,r)},t.Canvas.prototype.drawGlyphs=function(e,n,r,i,o,a){if(!(2*e.length<=n.length))throw"Not enough positions for the array of gyphs";t.Od(this.Md);const s=c(e,"HEAPU16"),l=c(n,"HEAPF32");this._drawGlyphs(e.length,s,l,r,i,o,a),u(l,n),u(s,e)},t.Canvas.prototype.drawImage=function(e,n,r,i){t.Od(this.Md),this._drawImage(e,n,r,i||null)},t.Canvas.prototype.drawImageCubic=function(e,n,r,i,o,a){t.Od(this.Md),this._drawImageCubic(e,n,r,i,o,a||null)},t.Canvas.prototype.drawImageOptions=function(e,n,r,i,o,a){t.Od(this.Md),this._drawImageOptions(e,n,r,i,o,a||null)},t.Canvas.prototype.drawImageNine=function(e,n,r,i,o){t.Od(this.Md),n=c(n,"HEAP32",N),r=m(r),this._drawImageNine(e,n,r,i,o||null)},t.Canvas.prototype.drawImageRect=function(e,n,r,i,o){t.Od(this.Md),m(n,W),m(r,z),this._drawImageRect(e,W,z,i,!!o)},t.Canvas.prototype.drawImageRectCubic=function(e,n,r,i,o,a){t.Od(this.Md),m(n,W),m(r,z),this._drawImageRectCubic(e,W,z,i,o,a||null)},t.Canvas.prototype.drawImageRectOptions=function(e,n,r,i,o,a){t.Od(this.Md),m(n,W),m(r,z),this._drawImageRectOptions(e,W,z,i,o,a||null)},t.Canvas.prototype.drawLine=function(e,n,r,i,o){t.Od(this.Md),this._drawLine(e,n,r,i,o)},t.Canvas.prototype.drawOval=function(e,n){t.Od(this.Md),e=m(e),this._drawOval(e,n)},t.Canvas.prototype.drawPaint=function(e){t.Od(this.Md),this._drawPaint(e)},t.Canvas.prototype.drawParagraph=function(e,n,r){t.Od(this.Md),this._drawParagraph(e,n,r)},t.Canvas.prototype.drawPatch=function(e,n,r,i,o){if(24>e.length)throw"Need 12 cubic points";if(n&&4>n.length)throw"Need 4 colors";if(r&&8>r.length)throw"Need 4 shader coordinates";t.Od(this.Md);const s=c(e,"HEAPF32"),l=n?c(a(n),"HEAPU32"):Y,h=r?c(r,"HEAPF32"):Y;i||(i=t.BlendMode.Modulate),this._drawPatch(s,l,h,i,o),u(h,r),u(l,n),u(s,e)},t.Canvas.prototype.drawPath=function(e,n){t.Od(this.Md),this._drawPath(e,n)},t.Canvas.prototype.drawPicture=function(e){t.Od(this.Md),this._drawPicture(e)},t.Canvas.prototype.drawPoints=function(e,n,r){t.Od(this.Md);var i=c(n,"HEAPF32");this._drawPoints(e,i,n.length/2,r),u(i,n)},t.Canvas.prototype.drawRRect=function(e,n){t.Od(this.Md),e=v(e),this._drawRRect(e,n)},t.Canvas.prototype.drawRect=function(e,n){t.Od(this.Md),e=m(e),this._drawRect(e,n)},t.Canvas.prototype.drawRect4f=function(e,n,r,i,o){t.Od(this.Md),this._drawRect4f(e,n,r,i,o)},t.Canvas.prototype.drawShadow=function(e,n,r,i,o,a,s){t.Od(this.Md);var l=c(o,"HEAPF32"),h=c(a,"HEAPF32");n=c(n,"HEAPF32",j),r=c(r,"HEAPF32",G),this._drawShadow(e,n,r,i,l,h,s),u(l,o),u(h,a)},t.getShadowLocalBounds=function(t,e,n,r,i,o,a){return t=f(t),n=c(n,"HEAPF32",j),r=c(r,"HEAPF32",G),this._getShadowLocalBounds(t,e,n,r,i,o,W)?(e=P.toTypedArray(),a?(a.set(e),a):e.slice()):null},t.Canvas.prototype.drawTextBlob=function(e,n,r,i){t.Od(this.Md),this._drawTextBlob(e,n,r,i)},t.Canvas.prototype.drawVertices=function(e,n,r){t.Od(this.Md),this._drawVertices(e,n,r)},t.Canvas.prototype.getLocalToDevice=function(){return this._getLocalToDevice(L),d(L)},t.Canvas.prototype.findMarkedCTM=function(t){return this._findMarkedCTM(t,L)?d(L):null},t.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(B);for(var e=Array(9),n=0;9>n;n++)e[n]=t.HEAPF32[B/4+n];return e},t.Canvas.prototype.makeSurface=function(t){return(t=this._makeSurface(t)).Md=this.Md,t},t.Canvas.prototype.readPixels=function(n,r,i,o,a){return t.Od(this.Md),e(this,n,r,i,o,a)},t.Canvas.prototype.saveLayer=function(t,e,n,r){return e=m(e),this._saveLayer(t||null,e,n||null,r||0)},t.Canvas.prototype.writePixels=function(e,n,r,i,o,a,s,l){if(e.byteLength%(n*r))throw"pixels length must be a multiple of the srcWidth * srcHeight";t.Od(this.Md);var h=e.byteLength/(n*r);a=a||t.AlphaType.Unpremul,s=s||t.ColorType.RGBA_8888,l=l||t.ColorSpace.SRGB;var f=h*n;return h=c(e,"HEAPU8"),n=this._writePixels({width:n,height:r,colorType:s,alphaType:a,colorSpace:l},h,f,i,o),u(h,e),n},t.ColorFilter.MakeBlend=function(e,n){return e=p(e),t.ColorFilter._MakeBlend(e,n)},t.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw"invalid color matrix";var n=c(e,"HEAPF32"),r=t.ColorFilter._makeMatrix(n);return u(n,e),r},t.ContourMeasure.prototype.getPosTan=function(t,e){return this._getPosTan(t,W),t=P.toTypedArray(),e?(e.set(t),e):t.slice()},t.ImageFilter.MakeMatrixTransform=function(e,n,r){if(e=f(e),"B"in n&&"C"in n)return t.ImageFilter._MakeMatrixTransformCubic(e,n.xg,n.yg,r);const i=n.filter;let o=t.MipmapMode.None;return"mipmap"in n&&(o=n.mipmap),t.ImageFilter._MakeMatrixTransformOptions(e,i,o,r)},t.Paint.prototype.getColor=function(){return this._getColor(I),y(I)},t.Paint.prototype.setColor=function(t,e){e=e||null,t=p(t),this._setColor(t,e)},t.Paint.prototype.setColorComponents=function(t,e,n,r,i){i=i||null,t=g(t,e,n,r),this._setColor(t,i)},t.Path.prototype.getPoint=function(t,e){return this._getPoint(t,W),t=P.toTypedArray(),e?(e[0]=t[0],e[1]=t[1],e):t.slice(0,2)},t.PictureRecorder.prototype.beginRecording=function(t){return t=m(t),this._beginRecording(t)},t.Surface.prototype.getCanvas=function(){var t=this._getCanvas();return t.Md=this.Md,t},t.Surface.prototype.makeImageSnapshot=function(e){return t.Od(this.Md),e=c(e,"HEAP32",N),this._makeImageSnapshot(e)},t.Surface.prototype.makeSurface=function(e){return t.Od(this.Md),(e=this._makeSurface(e)).Md=this.Md,e},t.Surface.prototype.requestAnimationFrame=function(e,n){this.Ge||(this.Ge=this.getCanvas()),requestAnimationFrame(function(){t.Od(this.Md),e(this.Ge),this.flush(n)}.bind(this))},t.Surface.prototype.drawOnce=function(e,n){this.Ge||(this.Ge=this.getCanvas()),requestAnimationFrame(function(){t.Od(this.Md),e(this.Ge),this.flush(n),this.dispose()}.bind(this))},t.PathEffect.MakeDash=function(e,n){if(n||(n=0),!e.length||1==e.length%2)throw"Intervals array must have even length";var r=c(e,"HEAPF32");return n=t.PathEffect._MakeDash(r,e.length,n),u(r,e),n},t.Shader.MakeColor=function(e,n){return n=n||null,e=p(e),t.Shader._MakeColor(e,n)},t.Shader.Blend=t.Shader.MakeBlend,t.Shader.Color=t.Shader.MakeColor,t.Shader.MakeLinearGradient=function(e,n,r,i,o,a,s,l){l=l||null;var d=h(r),p=c(i,"HEAPF32");s=s||0,a=f(a);var g=P.toTypedArray();return g.set(e),g.set(n,2),e=t.Shader._MakeLinearGradient(W,d.ce,d.Ke,p,d.count,o,s,a,l),u(d.ce,r),i&&u(p,i),e},t.Shader.MakeRadialGradient=function(e,n,r,i,o,a,s,l){l=l||null;var d=h(r),p=c(i,"HEAPF32");return s=s||0,a=f(a),e=t.Shader._MakeRadialGradient(e[0],e[1],n,d.ce,d.Ke,p,d.count,o,s,a,l),u(d.ce,r),i&&u(p,i),e},t.Shader.MakeSweepGradient=function(e,n,r,i,o,a,s,l,d,p){p=p||null;var g=h(r),y=c(i,"HEAPF32");return s=s||0,l=l||0,d=d||360,a=f(a),e=t.Shader._MakeSweepGradient(e,n,g.ce,g.Ke,y,g.count,o,l,d,s,a,p),u(g.ce,r),i&&u(y,i),e},t.Shader.MakeTwoPointConicalGradient=function(e,n,r,i,o,a,s,l,d,p){p=p||null;var g=h(o),y=c(a,"HEAPF32");d=d||0,l=f(l);var m=P.toTypedArray();return m.set(e),m.set(r,2),e=t.Shader._MakeTwoPointConicalGradient(W,n,i,g.ce,g.Ke,y,g.count,s,d,l,p),u(g.ce,o),a&&u(y,a),e},t.Vertices.prototype.bounds=function(t){this._bounds(W);var e=P.toTypedArray();return t?(t.set(e),t):e.slice()},t.Vd&&t.Vd.forEach((function(t){t()}))},t.computeTonalColors=function(t){var e=c(t.ambient,"HEAPF32"),n=c(t.spot,"HEAPF32");this._computeTonalColors(e,n);var r={ambient:y(e),spot:y(n)};return u(e,t.ambient),u(n,t.spot),r},t.LTRBRect=function(t,e,n,r){return Float32Array.of(t,e,n,r)},t.XYWHRect=function(t,e,n,r){return Float32Array.of(t,e,t+n,e+r)},t.LTRBiRect=function(t,e,n,r){return Int32Array.of(t,e,n,r)},t.XYWHiRect=function(t,e,n,r){return Int32Array.of(t,e,t+n,e+r)},t.RRectXY=function(t,e,n){return Float32Array.of(t[0],t[1],t[2],t[3],e,n,e,n,e,n,e,n)},t.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeAnimatedImage(n,e.byteLength))?e:null},t.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeImage(n,e.byteLength))?e:null};var q=null;t.MakeImageFromCanvasImageSource=function(e){var n=e.width,r=e.height;q||(q=document.createElement("canvas")),q.width=n,q.height=r;var i=q.getContext("2d");return i.drawImage(e,0,0),e=i.getImageData(0,0,n,r),t.MakeImage({width:n,height:r,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},e.data,4*n)},t.MakeImage=function(e,n,r){var i=t._malloc(n.length);return t.HEAPU8.set(n,i),t._MakeImage(e,i,n.length,r)},t.MakeVertices=function(e,n,r,i,o,s){var l=o&&o.length||0,u=0;return r&&r.length&&(u|=1),i&&i.length&&(u|=2),void 0===s||s||(u|=4),c(n,"HEAPF32",(e=new t._VerticesBuilder(e,n.length/2,l,u)).positions()),e.texCoords()&&c(r,"HEAPF32",e.texCoords()),e.colors()&&c(a(i),"HEAPU32",e.colors()),e.indices()&&c(o,"HEAPU16",e.indices()),e.detach()},t.Matrix={},t.Matrix.identity=function(){return r(3)},t.Matrix.invert=function(t){var e=t[0]*t[4]*t[8]+t[1]*t[5]*t[6]+t[2]*t[3]*t[7]-t[2]*t[4]*t[6]-t[1]*t[3]*t[8]-t[0]*t[5]*t[7];return e?[(t[4]*t[8]-t[5]*t[7])/e,(t[2]*t[7]-t[1]*t[8])/e,(t[1]*t[5]-t[2]*t[4])/e,(t[5]*t[6]-t[3]*t[8])/e,(t[0]*t[8]-t[2]*t[6])/e,(t[2]*t[3]-t[0]*t[5])/e,(t[3]*t[7]-t[4]*t[6])/e,(t[1]*t[6]-t[0]*t[7])/e,(t[0]*t[4]-t[1]*t[3])/e]:null},t.Matrix.mapPoints=function(t,e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o=t[6]*r+t[7]*i+t[8],a=t[3]*r+t[4]*i+t[5];e[n]=(t[0]*r+t[1]*i+t[2])/o,e[n+1]=a/o}return e},t.Matrix.multiply=function(){return C(3,arguments)},t.Matrix.rotated=function(t,e,n){e=e||0,n=n||0;var r=Math.sin(t);return[t=Math.cos(t),-r,b(r,n,1-t,e),r,t,b(-r,e,1-t,n),0,0,1]},t.Matrix.scaled=function(t,e,i,o){i=i||0,o=o||0;var a=n([t,e],r(3),3,0,1);return n([i-t*i,o-e*o],a,3,2,0)},t.Matrix.skewed=function(t,e,i,o){i=i||0,o=o||0;var a=n([t,e],r(3),3,1,-1);return n([-t*i,-e*o],a,3,2,0)},t.Matrix.translated=function(t,e){return n(arguments,r(3),3,2,0)},t.Vector={},t.Vector.dot=function(t,e){return t.map((function(t,n){return t*e[n]})).reduce((function(t,e){return t+e}))},t.Vector.lengthSquared=function(e){return t.Vector.dot(e,e)},t.Vector.length=function(e){return Math.sqrt(t.Vector.lengthSquared(e))},t.Vector.mulScalar=function(t,e){return t.map((function(t){return t*e}))},t.Vector.add=function(t,e){return t.map((function(t,n){return t+e[n]}))},t.Vector.sub=function(t,e){return t.map((function(t,n){return t-e[n]}))},t.Vector.dist=function(e,n){return t.Vector.length(t.Vector.sub(e,n))},t.Vector.normalize=function(e){return t.Vector.mulScalar(e,1/t.Vector.length(e))},t.Vector.cross=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]},t.M44={},t.M44.identity=function(){return r(4)},t.M44.translated=function(t){return n(t,r(4),4,3,0)},t.M44.scaled=function(t){return n(t,r(4),4,0,1)},t.M44.rotated=function(e,n){return t.M44.rotatedUnitSinCos(t.Vector.normalize(e),Math.sin(n),Math.cos(n))},t.M44.rotatedUnitSinCos=function(t,e,n){var r=t[0],i=t[1],o=1-n;return[o*r*r+n,o*r*i-e*(t=t[2]),o*r*t+e*i,0,o*r*i+e*t,o*i*i+n,o*i*t-e*r,0,o*r*t-e*i,o*i*t+e*r,o*t*t+n,0,0,0,0,1]},t.M44.lookat=function(e,r,i){r=t.Vector.normalize(t.Vector.sub(r,e)),i=t.Vector.normalize(i),i=t.Vector.normalize(t.Vector.cross(r,i));var o=t.M44.identity();return n(i,o,4,0,0),n(t.Vector.cross(i,r),o,4,1,0),n(t.Vector.mulScalar(r,-1),o,4,2,0),n(e,o,4,3,0),null===(e=t.M44.invert(o))?t.M44.identity():e},t.M44.perspective=function(t,e,n){var r=1/(e-t);return n/=2,[n=Math.cos(n)/Math.sin(n),0,0,0,0,n,0,0,0,0,(e+t)*r,2*e*t*r,0,0,-1,1]},t.M44.rc=function(t,e,n){return t[4*e+n]},t.M44.multiply=function(){return C(4,arguments)},t.M44.invert=function(t){var e=t[0],n=t[4],r=t[8],i=t[12],o=t[1],a=t[5],s=t[9],l=t[13],u=t[2],c=t[6],h=t[10],f=t[14],d=t[3],p=t[7],g=t[11],y=e*a-n*o,m=e*s-r*o,v=e*l-i*o,b=n*s-r*a,w=n*l-i*a,C=r*l-i*s,A=u*p-c*d,T=u*g-h*d,S=u*(t=t[15])-f*d,P=c*g-h*p,_=c*t-f*p,M=h*t-f*g,k=y*M-m*_+v*P+b*S-w*T+C*A,F=1/k;return 0===k||1/0===F?null:(e=[a*(M*=F)-s*(_*=F)+l*(P*=F),s*(S*=F)-o*M-l*(T*=F),o*_-a*S+l*(A*=F),a*T-o*P-s*A,r*_-n*M-i*P,e*M-r*S+i*T,n*S-e*_-i*A,e*P-n*T+r*A,p*(C*=F)-g*(w*=F)+t*(b*=F),g*(v*=F)-d*C-t*(m*=F),d*w-p*v+t*(y*=F),p*m-d*b-g*y,h*w-c*C-f*b,u*C-h*v+f*m,c*v-u*w-f*y,u*b-c*m+h*y]).every((function(t){return!isNaN(t)&&1/0!==t&&-1/0!==t}))?e:null},t.M44.transpose=function(t){return[t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15]]},t.M44.mustInvert=function(e){if(null===(e=t.M44.invert(e)))throw"Matrix not invertible";return e},t.M44.setupCamera=function(e,n,r){var i=t.M44.lookat(r.eye,r.coa,r.up);return r=t.M44.perspective(r.near,r.far,r.angle),n=[(e[2]-e[0])/2,(e[3]-e[1])/2,n],e=t.M44.multiply(t.M44.translated([(e[0]+e[2])/2,(e[1]+e[3])/2,0]),t.M44.scaled(n)),t.M44.multiply(e,r,i,t.M44.mustInvert(e))},t.ColorMatrix={},t.ColorMatrix.identity=function(){var t=new Float32Array(20);return t[0]=1,t[6]=1,t[12]=1,t[18]=1,t},t.ColorMatrix.scaled=function(t,e,n,r){var i=new Float32Array(20);return i[0]=t,i[6]=e,i[12]=n,i[18]=r,i};var X,$=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];t.ColorMatrix.rotated=function(e,n,r){var i=t.ColorMatrix.identity();return i[(e=$[e])[0]]=r,i[e[1]]=n,i[e[2]]=-n,i[e[3]]=r,i},t.ColorMatrix.postTranslate=function(t,e,n,r,i){return t[4]+=e,t[9]+=n,t[14]+=r,t[19]+=i,t},t.ColorMatrix.concat=function(t,e){for(var n=new Float32Array(20),r=0,i=0;20>i;i+=5){for(var o=0;4>o;o++)n[r++]=t[i]*e[o]+t[i+1]*e[o+5]+t[i+2]*e[o+10]+t[i+3]*e[o+15];n[r++]=t[i]*e[4]+t[i+1]*e[9]+t[i+2]*e[14]+t[i+3]*e[19]+t[i+4]}return n},(X=e).Vd=X.Vd||[],X.Vd.push((function(){function t(t){if(!t||!t.length)return[];for(var e=[],n=0;n<t.length;n+=5){var r=X.LTRBRect(t[n],t[n+1],t[n+2],t[n+3]);r.direction=0===t[n+4]?X.TextDirection.RTL:X.TextDirection.LTR,e.push(r)}return X._free(t.byteOffset),e}function e(t){return void 0===(t=t||{}).weight&&(t.weight=X.FontWeight.Normal),t.width=t.width||X.FontWidth.Normal,t.slant=t.slant||X.FontSlant.Upright,t}function n(t){if(!t||!t.length)return Y;for(var e=[],n=0;n<t.length;n++){var i=r(t[n]);e.push(i)}return c(e,"HEAPU32")}function r(t){if(a[t])return a[t];var e=R(t)+1,n=X._malloc(e);return O(t,D,n,e),a[t]=n}function i(t){if(t._colorPtr=p(t.color),t._foregroundColorPtr=Y,t._backgroundColorPtr=Y,t._decorationColorPtr=Y,t.foregroundColor&&(t._foregroundColorPtr=p(t.foregroundColor,s)),t.backgroundColor&&(t._backgroundColorPtr=p(t.backgroundColor,l)),t.decorationColor&&(t._decorationColorPtr=p(t.decorationColor,u)),Array.isArray(t.fontFamilies)&&t.fontFamilies.length?(t._fontFamiliesPtr=n(t.fontFamilies),t._fontFamiliesLen=t.fontFamilies.length):(t._fontFamiliesPtr=Y,t._fontFamiliesLen=0),t.locale){var e=t.locale;t._localePtr=r(e),t._localeLen=R(e)+1}else t._localePtr=Y,t._localeLen=0;if(Array.isArray(t.shadows)&&t.shadows.length){var i=(e=t.shadows).map((function(t){return t.color||X.BLACK})),o=e.map((function(t){return t.blurRadius||0}));t._shadowLen=e.length;for(var a=X._malloc(8*e.length),f=a/4,d=0;d<e.length;d++){var g=e[d].offset||[0,0];X.HEAPF32[f]=g[0],X.HEAPF32[f+1]=g[1],f+=2}t._shadowColorsPtr=h(i).ce,t._shadowOffsetsPtr=a,t._shadowBlurRadiiPtr=c(o,"HEAPF32")}else t._shadowLen=0,t._shadowColorsPtr=Y,t._shadowOffsetsPtr=Y,t._shadowBlurRadiiPtr=Y;Array.isArray(t.fontFeatures)&&t.fontFeatures.length?(i=(e=t.fontFeatures).map((function(t){return t.name})),o=e.map((function(t){return t.value})),t._fontFeatureLen=e.length,t._fontFeatureNamesPtr=n(i),t._fontFeatureValuesPtr=c(o,"HEAPU32")):(t._fontFeatureLen=0,t._fontFeatureNamesPtr=Y,t._fontFeatureValuesPtr=Y)}function o(t){X._free(t._fontFamiliesPtr),X._free(t._shadowColorsPtr),X._free(t._shadowOffsetsPtr),X._free(t._shadowBlurRadiiPtr),X._free(t._fontFeatureNamesPtr),X._free(t._fontFeatureValuesPtr)}X.Paragraph.prototype.getRectsForRange=function(e,n,r,i){return t(e=this._getRectsForRange(e,n,r,i))},X.Paragraph.prototype.getRectsForPlaceholders=function(){return t(this._getRectsForPlaceholders())},X.TypefaceFontProvider.prototype.registerFont=function(t,e){if(!(t=X.Typeface.MakeFreeTypeFaceFromData(t)))return null;e=r(e),this._registerFont(t,e)},X.ParagraphStyle=function(t){if(t.disableHinting=t.disableHinting||!1,t.ellipsis){var i=t.ellipsis;t._ellipsisPtr=r(i),t._ellipsisLen=R(i)+1}else t._ellipsisPtr=Y,t._ellipsisLen=0;return t.heightMultiplier=t.heightMultiplier||0,t.maxLines=t.maxLines||0,(i=(i=t.strutStyle)||{}).strutEnabled=i.strutEnabled||!1,i.strutEnabled&&Array.isArray(i.fontFamilies)&&i.fontFamilies.length?(i._fontFamiliesPtr=n(i.fontFamilies),i._fontFamiliesLen=i.fontFamilies.length):(i._fontFamiliesPtr=Y,i._fontFamiliesLen=0),i.fontStyle=e(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,t.strutStyle=i,t.textAlign=t.textAlign||X.TextAlign.Start,t.textDirection=t.textDirection||X.TextDirection.LTR,t.textHeightBehavior=t.textHeightBehavior||X.TextHeightBehavior.All,t.textStyle=X.TextStyle(t.textStyle),t},X.TextStyle=function(t){return t.color||(t.color=X.BLACK),t.decoration=t.decoration||0,t.decorationThickness=t.decorationThickness||0,t.decorationStyle=t.decorationStyle||X.DecorationStyle.Solid,t.textBaseline=t.textBaseline||X.TextBaseline.Alphabetic,t.fontSize=t.fontSize||0,t.letterSpacing=t.letterSpacing||0,t.wordSpacing=t.wordSpacing||0,t.heightMultiplier=t.heightMultiplier||0,t.halfLeading=t.halfLeading||!1,t.fontStyle=e(t.fontStyle),t};var a={},s=X._malloc(16),l=X._malloc(16),u=X._malloc(16);X.ParagraphBuilder.Make=function(t,e){return i(t.textStyle),e=X.ParagraphBuilder._Make(t,e),o(t.textStyle),e},X.ParagraphBuilder.MakeFromFontProvider=function(t,e){return i(t.textStyle),e=X.ParagraphBuilder._MakeFromFontProvider(t,e),o(t.textStyle),e},X.ParagraphBuilder.ShapeText=function(t,e,n){let r=0;for(const t of e)r+=t.length;if(r!==t.length)throw"Accumulated block lengths must equal text.length";return X.ParagraphBuilder._ShapeText(t,e,n)},X.ParagraphBuilder.prototype.pushStyle=function(t){i(t),this._pushStyle(t),o(t)},X.ParagraphBuilder.prototype.pushPaintStyle=function(t,e,n){i(t),this._pushPaintStyle(t,e,n),o(t)},X.ParagraphBuilder.prototype.addPlaceholder=function(t,e,n,r,i){n=n||X.PlaceholderAlignment.Baseline,r=r||X.TextBaseline.Alphabetic,this._addPlaceholder(t||0,e||0,n,r,i||0)}})),t.Vd=t.Vd||[],t.Vd.push((function(){t.Path.prototype.op=function(t,e){return this._op(t,e)?this:null},t.Path.prototype.simplify=function(){return this._simplify()?this:null}})),t.Vd=t.Vd||[],t.Vd.push((function(){t.Canvas.prototype.drawText=function(e,n,r,i,o){var a=R(e),s=t._malloc(a+1);O(e,D,s,a+1),this._drawSimpleText(s,a,n,r,o,i),t._free(s)},t.Font.prototype.getGlyphBounds=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(16*e.length);return this._getGlyphWidthBounds(i,e.length,Y,o,n||null),n=new Float32Array(t.HEAPU8.buffer,o,4*e.length),u(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.Font.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=R(e)+1,o=t._malloc(i);return O(e,D,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint16Array.from(o),t._free(e),r))},t.Font.prototype.getGlyphIntercepts=function(t,e,n,r){var i=c(t,"HEAPU16"),o=c(e,"HEAPF32");return this._getGlyphIntercepts(i,t.length,!(t&&t._ck),o,e.length,!(e&&e._ck),n,r)},t.Font.prototype.getGlyphWidths=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(4*e.length);return this._getGlyphWidthBounds(i,e.length,o,Y,n||null),n=new Float32Array(t.HEAPU8.buffer,o,e.length),u(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;if(1===e.length&&Array.isArray(e[0])&&(e=arguments[0]),!e.length)return null;for(var n=[],r=[],i=0;i<e.length;i++){var o=new Uint8Array(e[i]),a=c(o,"HEAPU8");n.push(a),r.push(o.byteLength)}return n=c(n,"HEAPU32"),r=c(r,"HEAPU32"),e=t.FontMgr._fromData(n,r,e.length),t._free(n),t._free(r),e},t.Typeface.MakeFreeTypeFaceFromData=function(e){var n=c(e=new Uint8Array(e),"HEAPU8");return(e=t.Typeface._MakeFreeTypeFaceFromData(n,e.byteLength))?e:null},t.Typeface.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=R(e)+1,o=t._malloc(i);return O(e,D,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint16Array.from(o),t._free(e),r))},t.TextBlob.MakeOnPath=function(e,n,r,i){if(e&&e.length&&n&&n.countPoints()){if(1===n.countPoints())return this.MakeFromText(e,r);i||(i=0);var o=r.getGlyphIDs(e);o=r.getGlyphWidths(o);for(var a=[],s=(n=new t.ContourMeasureIter(n,!1,1)).next(),l=new Float32Array(4),u=0;u<e.length&&s;u++){var c=o[u];if((i+=c/2)>s.length()){if(s.delete(),!(s=n.next())){e=e.substring(0,u);break}i=c/2}s.getPosTan(i,l);var h=l[2],f=l[3];a.push(h,f,l[0]-c/2*h,l[1]-c/2*f),i+=c/2}return e=this.MakeFromRSXform(e,a,r),s&&s.delete(),n.delete(),e}},t.TextBlob.MakeFromRSXform=function(e,n,r){var i=R(e)+1,o=t._malloc(i);return O(e,D,o,i),e=c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXform(o,i-1,e,r),t._free(o),r||null},t.TextBlob.MakeFromRSXformGlyphs=function(e,n,r){var i=c(e,"HEAPU16");return n=c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXformGlyphs(i,2*e.length,n,r),u(i,e),r||null},t.TextBlob.MakeFromGlyphs=function(e,n){var r=c(e,"HEAPU16");return n=t.TextBlob._MakeFromGlyphs(r,2*e.length,n),u(r,e),n||null},t.TextBlob.MakeFromText=function(e,n){var r=R(e)+1,i=t._malloc(r);return O(e,D,i,r),e=t.TextBlob._MakeFromText(i,r-1,n),t._free(i),e||null},t.MallocGlyphIDs=function(e){return t.Malloc(Uint16Array,e)}})),t.Vd=t.Vd||[],t.Vd.push((function(){t.MakePicture=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._MakePicture(n,e.byteLength))?e:null}})),function(){function e(t){for(var e=0;e<t.length;e++)if(void 0!==t[e]&&!Number.isFinite(t[e]))return!1;return!0}function n(e){var n=t.getColorComponents(e);e=n[0];var r=n[1],i=n[2];return 1===(n=n[3])?(e=e.toString(16).toLowerCase(),r=r.toString(16).toLowerCase(),i=i.toString(16).toLowerCase(),"#"+(e=1===e.length?"0"+e:e)+(r=1===r.length?"0"+r:r)+(i=1===i.length?"0"+i:i)):"rgba("+e+", "+r+", "+i+", "+(n=0===n||1===n?n:n.toFixed(8))+")"}function r(e){return t.parseColorString(e,v)}function o(t){if(!(t=b.exec(t)))return null;var e=parseFloat(t[4]),n=16;switch(t[5]){case"em":case"rem":case"pc":n=16*e;break;case"pt":n=4*e/3;break;case"px":n=e;break;case"in":n=96*e;break;case"cm":n=96*e/2.54;break;case"mm":n=96/25.4*e;break;case"q":n=96/25.4/4*e;break;case"%":n=16/75*e}return{style:t[1],variant:t[2],weight:t[3],sizePx:n,family:t[6].trim()}}function a(a){this.Nd=a,this.Qd=new t.Paint,this.Qd.setAntiAlias(!0),this.Qd.setStrokeMiter(10),this.Qd.setStrokeCap(t.StrokeCap.Butt),this.Qd.setStrokeJoin(t.StrokeJoin.Miter),this.Pe="10px monospace",this.re=new t.Font(null,10),this.re.setSubpixel(!0),this.be=this.he=t.BLACK,this.ue=0,this.Ie=t.TRANSPARENT,this.we=this.ve=0,this.Je=this.je=1,this.He=0,this.te=[],this.Pd=t.BlendMode.SrcOver,this.Qd.setStrokeWidth(this.Je),this.Qd.setBlendMode(this.Pd),this.Td=new t.Path,this.Ud=t.Matrix.identity(),this.kf=[],this.Ae=[],this.me=function(){this.Td.delete(),this.Qd.delete(),this.re.delete(),this.Ae.forEach((function(t){t.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(t){t.a&&this.setTransform(t.a,t.b,t.c,t.d,t.e,t.f)}}),Object.defineProperty(this,"fillStyle",{enumerable:!0,get:function(){return i(this.be)?n(this.be):this.be},set:function(t){"string"==typeof t?this.be=r(t):t.se&&(this.be=t)}}),Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.Pe},set:function(t){var e=o(t),n=e.family;e.typeface=w[n]?w[n][(e.style||"normal")+"|"+(e.variant||"normal")+"|"+(e.weight||"normal")]||w[n]["*"]:null,e&&(this.re.setSize(e.sizePx),this.re.setTypeface(e.typeface),this.Pe=t)}}),Object.defineProperty(this,"globalAlpha",{enumerable:!0,get:function(){return this.je},set:function(t){!isFinite(t)||0>t||1<t||(this.je=t)}}),Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.Pd){case t.BlendMode.SrcOver:return"source-over";case t.BlendMode.DstOver:return"destination-over";case t.BlendMode.Src:return"copy";case t.BlendMode.Dst:return"destination";case t.BlendMode.Clear:return"clear";case t.BlendMode.SrcIn:return"source-in";case t.BlendMode.DstIn:return"destination-in";case t.BlendMode.SrcOut:return"source-out";case t.BlendMode.DstOut:return"destination-out";case t.BlendMode.SrcATop:return"source-atop";case t.BlendMode.DstATop:return"destination-atop";case t.BlendMode.Xor:return"xor";case t.BlendMode.Plus:return"lighter";case t.BlendMode.Multiply:return"multiply";case t.BlendMode.Screen:return"screen";case t.BlendMode.Overlay:return"overlay";case t.BlendMode.Darken:return"darken";case t.BlendMode.Lighten:return"lighten";case t.BlendMode.ColorDodge:return"color-dodge";case t.BlendMode.ColorBurn:return"color-burn";case t.BlendMode.HardLight:return"hard-light";case t.BlendMode.SoftLight:return"soft-light";case t.BlendMode.Difference:return"difference";case t.BlendMode.Exclusion:return"exclusion";case t.BlendMode.Hue:return"hue";case t.BlendMode.Saturation:return"saturation";case t.BlendMode.Color:return"color";case t.BlendMode.Luminosity:return"luminosity"}},set:function(e){switch(e){case"source-over":this.Pd=t.BlendMode.SrcOver;break;case"destination-over":this.Pd=t.BlendMode.DstOver;break;case"copy":this.Pd=t.BlendMode.Src;break;case"destination":this.Pd=t.BlendMode.Dst;break;case"clear":this.Pd=t.BlendMode.Clear;break;case"source-in":this.Pd=t.BlendMode.SrcIn;break;case"destination-in":this.Pd=t.BlendMode.DstIn;break;case"source-out":this.Pd=t.BlendMode.SrcOut;break;case"destination-out":this.Pd=t.BlendMode.DstOut;break;case"source-atop":this.Pd=t.BlendMode.SrcATop;break;case"destination-atop":this.Pd=t.BlendMode.DstATop;break;case"xor":this.Pd=t.BlendMode.Xor;break;case"lighter":case"plus-lighter":this.Pd=t.BlendMode.Plus;break;case"plus-darker":throw"plus-darker is not supported";case"multiply":this.Pd=t.BlendMode.Multiply;break;case"screen":this.Pd=t.BlendMode.Screen;break;case"overlay":this.Pd=t.BlendMode.Overlay;break;case"darken":this.Pd=t.BlendMode.Darken;break;case"lighten":this.Pd=t.BlendMode.Lighten;break;case"color-dodge":this.Pd=t.BlendMode.ColorDodge;break;case"color-burn":this.Pd=t.BlendMode.ColorBurn;break;case"hard-light":this.Pd=t.BlendMode.HardLight;break;case"soft-light":this.Pd=t.BlendMode.SoftLight;break;case"difference":this.Pd=t.BlendMode.Difference;break;case"exclusion":this.Pd=t.BlendMode.Exclusion;break;case"hue":this.Pd=t.BlendMode.Hue;break;case"saturation":this.Pd=t.BlendMode.Saturation;break;case"color":this.Pd=t.BlendMode.Color;break;case"luminosity":this.Pd=t.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 t.StrokeCap.Butt:return"butt";case t.StrokeCap.Round:return"round";case t.StrokeCap.Square:return"square"}},set:function(e){switch(e){case"butt":this.Qd.setStrokeCap(t.StrokeCap.Butt);break;case"round":this.Qd.setStrokeCap(t.StrokeCap.Round);break;case"square":this.Qd.setStrokeCap(t.StrokeCap.Square)}}}),Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.He},set:function(t){isFinite(t)&&(this.He=t)}}),Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.Qd.getStrokeJoin()){case t.StrokeJoin.Miter:return"miter";case t.StrokeJoin.Round:return"round";case t.StrokeJoin.Bevel:return"bevel"}},set:function(e){switch(e){case"miter":this.Qd.setStrokeJoin(t.StrokeJoin.Miter);break;case"round":this.Qd.setStrokeJoin(t.StrokeJoin.Round);break;case"bevel":this.Qd.setStrokeJoin(t.StrokeJoin.Bevel)}}}),Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.Qd.getStrokeWidth()},set:function(t){0>=t||!t||(this.Je=t,this.Qd.setStrokeWidth(t))}}),Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Qd.getStrokeMiter()},set:function(t){0>=t||!t||this.Qd.setStrokeMiter(t)}}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.ue},set:function(t){0>t||!isFinite(t)||(this.ue=t)}}),Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return n(this.Ie)},set:function(t){this.Ie=r(t)}}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.ve},set:function(t){isFinite(t)&&(this.ve=t)}}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.we},set:function(t){isFinite(t)&&(this.we=t)}}),Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return n(this.he)},set:function(t){"string"==typeof t?this.he=r(t):t.se&&(this.he=t)}}),this.arc=function(t,e,n,r,i,o){d(this.Td,t,e,n,n,0,r,i,o)},this.arcTo=function(t,e,n,r,i){c(this.Td,t,e,n,r,i)},this.beginPath=function(){this.Td.delete(),this.Td=new t.Path},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Td;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a))},this.clearRect=function(e,n,r,i){this.Qd.setStyle(t.PaintStyle.Fill),this.Qd.setBlendMode(t.BlendMode.Clear),this.Nd.drawRect(t.XYWHRect(e,n,r,i),this.Qd),this.Qd.setBlendMode(this.Pd)},this.clip=function(e,n){"string"==typeof e?(n=e,e=this.Td):e&&e.$e&&(e=e.Wd),e||(e=this.Td),e=e.copy(),n&&"evenodd"===n.toLowerCase()?e.setFillType(t.FillType.EvenOdd):e.setFillType(t.FillType.Winding),this.Nd.clipPath(e,t.ClipOp.Intersect,!0),e.delete()},this.closePath=function(){h(this.Td)},this.createImageData=function(){if(1===arguments.length){var t=arguments[0];return new l(new Uint8ClampedArray(4*t.width*t.height),t.width,t.height)}if(2===arguments.length){t=arguments[0];var e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length},this.createLinearGradient=function(t,n,r,i){if(e(arguments)){var o=new u(t,n,r,i);return this.Ae.push(o),o}},this.createPattern=function(t,e){return t=new y(t,e),this.Ae.push(t),t},this.createRadialGradient=function(t,n,r,i,o,a){if(e(arguments)){var s=new m(t,n,r,i,o,a);return this.Ae.push(s),s}},this.drawImage=function(e){var n=this.Oe();if(3===arguments.length||5===arguments.length)var r=t.XYWHRect(arguments[1],arguments[2],arguments[3]||e.width(),arguments[4]||e.height()),i=t.XYWHRect(0,0,e.width(),e.height());else{if(9!==arguments.length)throw"invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;r=t.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),i=t.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4])}this.Nd.drawImageRect(e,i,r,n,!1),n.dispose()},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Td,t,e,n,r,i,o,a,s)},this.Oe=function(){var e=this.Qd.copy();if(e.setStyle(t.PaintStyle.Fill),i(this.be)){var n=t.multiplyByAlpha(this.be,this.je);e.setColor(n)}else n=this.be.se(this.Ud),e.setColor(t.Color(0,0,0,this.je)),e.setShader(n);return e.dispose=function(){this.delete()},e},this.fill=function(e,n){if("string"==typeof e?(n=e,e=this.Td):e&&e.$e&&(e=e.Wd),"evenodd"===n)this.Td.setFillType(t.FillType.EvenOdd);else{if("nonzero"!==n&&n)throw"invalid fill rule";this.Td.setFillType(t.FillType.Winding)}e||(e=this.Td),n=this.Oe();var r=this.xe(n);r&&(this.Nd.save(),this.pe(),this.Nd.drawPath(e,r),this.Nd.restore(),r.dispose()),this.Nd.drawPath(e,n),n.dispose()},this.fillRect=function(e,n,r,i){var o=this.Oe(),a=this.xe(o);a&&(this.Nd.save(),this.pe(),this.Nd.drawRect(t.XYWHRect(e,n,r,i),a),this.Nd.restore(),a.dispose()),this.Nd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose()},this.fillText=function(e,n,r){var i=this.Oe();e=t.TextBlob.MakeFromText(e,this.re);var o=this.xe(i);o&&(this.Nd.save(),this.pe(),this.Nd.drawTextBlob(e,n,r,o),this.Nd.restore(),o.dispose()),this.Nd.drawTextBlob(e,n,r,i),e.delete(),i.dispose()},this.getImageData=function(e,n,r,i){return(e=this.Nd.readPixels(e,n,{width:r,height:i,colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul,colorSpace:t.ColorSpace.SRGB}))?new l(new Uint8ClampedArray(e.buffer),r,i):null},this.getLineDash=function(){return this.te.slice()},this.lf=function(e){var n=t.Matrix.invert(this.Ud);return t.Matrix.mapPoints(n,e),e},this.isPointInPath=function(e,n,r){var i=arguments;if(3===i.length)var o=this.Td;else{if(4!==i.length)throw"invalid arg count, need 3 or 4, got "+i.length;o=i[0],e=i[1],n=i[2],r=i[3]}return!(!isFinite(e)||!isFinite(n))&&("nonzero"===(r=r||"nonzero")||"evenodd"===r)&&(e=(i=this.lf([e,n]))[0],n=i[1],o.setFillType("nonzero"===r?t.FillType.Winding:t.FillType.EvenOdd),o.contains(e,n))},this.isPointInStroke=function(e,n){var r=arguments;if(2===r.length)var i=this.Td;else{if(3!==r.length)throw"invalid arg count, need 2 or 3, got "+r.length;i=r[0],e=r[1],n=r[2]}return!(!isFinite(e)||!isFinite(n))&&(e=(r=this.lf([e,n]))[0],n=r[1],(i=i.copy()).setFillType(t.FillType.Winding),i.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Qd.getStrokeCap(),join:this.Qd.getStrokeJoin(),precision:.3}),r=i.contains(e,n),i.delete(),r)},this.lineTo=function(t,e){p(this.Td,t,e)},this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API")},this.moveTo=function(t,n){var r=this.Td;e([t,n])&&r.moveTo(t,n)},this.putImageData=function(n,r,i,o,a,s,l){if(e([r,i,o,a,s,l]))if(void 0===o)this.Nd.writePixels(n.data,n.width,n.height,r,i);else if(o=o||0,a=a||0,s=s||n.width,l=l||n.height,0>s&&(o+=s,s=Math.abs(s)),0>l&&(a+=l,l=Math.abs(l)),0>o&&(s+=o,o=0),0>a&&(l+=a,a=0),!(0>=s||0>=l)){n=t.MakeImage({width:n.width,height:n.height,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},n.data,4*n.width);var u=t.XYWHRect(o,a,s,l);r=t.XYWHRect(r+o,i+a,s,l),i=t.Matrix.invert(this.Ud),this.Nd.save(),this.Nd.concat(i),this.Nd.drawImageRect(n,u,r,null,!1),this.Nd.restore(),n.delete()}},this.quadraticCurveTo=function(t,n,r,i){var o=this.Td;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i))},this.rect=function(n,r,i,o){var a=this.Td;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n)},this.resetTransform=function(){this.Td.transform(this.Ud);var e=t.Matrix.invert(this.Ud);this.Nd.concat(e),this.Ud=this.Nd.getTotalMatrix()},this.restore=function(){var e=this.kf.pop();if(e){var n=t.Matrix.multiply(this.Ud,t.Matrix.invert(e.Cf));this.Td.transform(n),this.Qd.delete(),this.Qd=e.$f,this.te=e.Wf,this.Je=e.rg,this.he=e.qg,this.be=e.fs,this.ve=e.og,this.we=e.pg,this.ue=e.dg,this.Ie=e.ng,this.je=e.Jf,this.Pd=e.Kf,this.He=e.Xf,this.Pe=e.If,this.Nd.restore(),this.Ud=this.Nd.getTotalMatrix()}},this.rotate=function(e){if(isFinite(e)){var n=t.Matrix.rotated(-e);this.Td.transform(n),this.Nd.rotate(e/Math.PI*180,0,0),this.Ud=this.Nd.getTotalMatrix()}},this.save=function(){if(this.be.qe){var t=this.be.qe();this.Ae.push(t)}else t=this.be;if(this.he.qe){var e=this.he.qe();this.Ae.push(e)}else e=this.he;this.kf.push({Cf:this.Ud.slice(),Wf:this.te.slice(),rg:this.Je,qg:e,fs:t,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(n,r){if(e(arguments)){var i=t.Matrix.scaled(1/n,1/r);this.Td.transform(i),this.Nd.scale(n,r),this.Ud=this.Nd.getTotalMatrix()}},this.setLineDash=function(t){for(var e=0;e<t.length;e++)if(!isFinite(t[e])||0>t[e])return;1==t.length%2&&Array.prototype.push.apply(t,t),this.te=t},this.setTransform=function(t,n,r,i,o,a){e(arguments)&&(this.resetTransform(),this.transform(t,n,r,i,o,a))},this.pe=function(){var e=t.Matrix.invert(this.Ud);this.Nd.concat(e),this.Nd.concat(t.Matrix.translated(this.ve,this.we)),this.Nd.concat(this.Ud)},this.xe=function(e){var n=t.multiplyByAlpha(this.Ie,this.je);if(!t.getColorComponents(n)[3]||!(this.ue||this.we||this.ve))return null;(e=e.copy()).setColor(n);var r=t.MaskFilter.MakeBlur(t.BlurStyle.Normal,this.ue/2,!1);return e.setMaskFilter(r),e.dispose=function(){r.delete(),this.delete()},e},this.bf=function(){var e=this.Qd.copy();if(e.setStyle(t.PaintStyle.Stroke),i(this.he)){var n=t.multiplyByAlpha(this.he,this.je);e.setColor(n)}else n=this.he.se(this.Ud),e.setColor(t.Color(0,0,0,this.je)),e.setShader(n);if(e.setStrokeWidth(this.Je),this.te.length){var r=t.PathEffect.MakeDash(this.te,this.He);e.setPathEffect(r)}return e.dispose=function(){r&&r.delete(),this.delete()},e},this.stroke=function(t){t=t?t.Wd:this.Td;var e=this.bf(),n=this.xe(e);n&&(this.Nd.save(),this.pe(),this.Nd.drawPath(t,n),this.Nd.restore(),n.dispose()),this.Nd.drawPath(t,e),e.dispose()},this.strokeRect=function(e,n,r,i){var o=this.bf(),a=this.xe(o);a&&(this.Nd.save(),this.pe(),this.Nd.drawRect(t.XYWHRect(e,n,r,i),a),this.Nd.restore(),a.dispose()),this.Nd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose()},this.strokeText=function(e,n,r){var i=this.bf();e=t.TextBlob.MakeFromText(e,this.re);var o=this.xe(i);o&&(this.Nd.save(),this.pe(),this.Nd.drawTextBlob(e,n,r,o),this.Nd.restore(),o.dispose()),this.Nd.drawTextBlob(e,n,r,i),e.delete(),i.dispose()},this.translate=function(n,r){if(e(arguments)){var i=t.Matrix.translated(-n,-r);this.Td.transform(i),this.Nd.translate(n,r),this.Ud=this.Nd.getTotalMatrix()}},this.transform=function(e,n,r,i,o,a){e=[e,r,o,n,i,a,0,0,1],n=t.Matrix.invert(e),this.Td.transform(n),this.Nd.concat(e),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 s(e){this.cf=e,this.Md=new a(e.getCanvas()),this.Qe=[],this.decodeImage=function(e){if(!(e=t.MakeImageFromEncoded(e)))throw"Invalid input";return this.Qe.push(e),e},this.loadFont=function(e,n){if(!(e=t.Typeface.MakeFreeTypeFaceFromData(e)))return null;this.Qe.push(e);var r=(n.style||"normal")+"|"+(n.variant||"normal")+"|"+(n.weight||"normal");n=n.family,w[n]||(w[n]={"*":e}),w[n][r]=e},this.makePath2D=function(t){return t=new g(t),this.Qe.push(t.Wd),t},this.getContext=function(t){return"2d"===t?this.Md:null},this.toDataURL=function(e,n){this.cf.flush();var r=this.cf.makeImageSnapshot();if(r){e=e||"image/png";var i=t.ImageFormat.PNG;if("image/jpeg"===e&&(i=t.ImageFormat.JPEG),n=r.encodeToBytes(i,n||.92)){if(r.delete(),e="data:"+e+";base64,","undefined"!=typeof Buffer)n=Buffer.from(n).toString("base64");else{r=0,i=n.length;for(var o,a="";r<i;)o=n.slice(r,Math.min(r+32768,i)),a+=String.fromCharCode.apply(null,o),r+=32768;n=btoa(a)}return e+n}}},this.dispose=function(){this.Md.me(),this.Qe.forEach((function(t){t.delete()})),this.cf.dispose()}}function l(t,e,n){if(!e||0===n)throw"invalid dimensions, width and height must be non-zero";if(t.length%4)throw"arr must be a multiple of 4";n=n||t.length/(4*e),Object.defineProperty(this,"data",{value:t,writable:!1}),Object.defineProperty(this,"height",{value:n,writable:!1}),Object.defineProperty(this,"width",{value:e,writable:!1})}function u(e,n,i,o){this.Yd=null,this.ee=[],this.$d=[],this.addColorStop=function(t,e){if(0>t||1<t||!isFinite(t))throw"offset must be between 0 and 1 inclusively";e=r(e);var n=this.$d.indexOf(t);if(-1!==n)this.ee[n]=e;else{for(n=0;n<this.$d.length&&!(this.$d[n]>t);n++);this.$d.splice(n,0,t),this.ee.splice(n,0,e)}},this.qe=function(){var t=new u(e,n,i,o);return t.ee=this.ee.slice(),t.$d=this.$d.slice(),t},this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)},this.se=function(r){var a=[e,n,i,o];t.Matrix.mapPoints(r,a),r=a[0];var s=a[1],l=a[2];return a=a[3],this.me(),this.Yd=t.Shader.MakeLinearGradient([r,s],[l,a],this.ee,this.$d,t.TileMode.Clamp)}}function c(t,n,r,i,o,a){if(e([n,r,i,o,a])){if(0>a)throw"radii cannot be negative";t.isEmpty()&&t.moveTo(n,r),t.arcToTangent(n,r,i,o,a)}}function h(t){if(!t.isEmpty()){var e=t.getBounds();(e[3]-e[1]||e[2]-e[0])&&t.close()}}function f(e,n,r,i,o,a,s){s=(s-a)/Math.PI*180,a=a/Math.PI*180,n=t.LTRBRect(n-i,r-o,n+i,r+o),1e-5>Math.abs(Math.abs(s)-360)?(r=s/2,e.arcToOval(n,a,r,!1),e.arcToOval(n,a+r,r,!1)):e.arcToOval(n,a,s,!1)}function d(n,r,i,o,a,s,l,u,c){if(e([r,i,o,a,s,l,u])){if(0>o||0>a)throw"radii cannot be negative";var h=2*Math.PI,d=l%h;0>d&&(d+=h);var p=d-l;l=d,u+=p,!c&&u-l>=h?u=l+h:c&&l-u>=h?u=l-h:!c&&l>u?u=l+(h-(l-u)%h):c&&l<u&&(u=l-(h-(u-l)%h)),s?(c=t.Matrix.rotated(s,r,i),s=t.Matrix.rotated(-s,r,i),n.transform(s),f(n,r,i,o,a,l,u),n.transform(c)):f(n,r,i,o,a,l,u)}}function p(t,n,r){e([n,r])&&(t.isEmpty()&&t.moveTo(n,r),t.lineTo(n,r))}function g(n){this.Wd=null,this.Wd="string"==typeof n?t.Path.MakeFromSVGString(n):n&&n.$e?n.Wd.copy():new t.Path,this.$e=function(){return this.Wd},this.addPath=function(t,e){e||(e={a:1,c:0,e:0,b:0,d:1,f:0}),this.Wd.addPath(t.Wd,[e.a,e.c,e.e,e.b,e.d,e.f])},this.arc=function(t,e,n,r,i,o){d(this.Wd,t,e,n,n,0,r,i,o)},this.arcTo=function(t,e,n,r,i){c(this.Wd,t,e,n,r,i)},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Wd;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a))},this.closePath=function(){h(this.Wd)},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Wd,t,e,n,r,i,o,a,s)},this.lineTo=function(t,e){p(this.Wd,t,e)},this.moveTo=function(t,n){var r=this.Wd;e([t,n])&&r.moveTo(t,n)},this.quadraticCurveTo=function(t,n,r,i){var o=this.Wd;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i))},this.rect=function(n,r,i,o){var a=this.Wd;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n)}}function y(n,r){switch(this.Yd=null,this.xf=n,this._transform=t.Matrix.identity(),""===r&&(r="repeat"),r){case"repeat-x":this.ye=t.TileMode.Repeat,this.ze=t.TileMode.Decal;break;case"repeat-y":this.ye=t.TileMode.Decal,this.ze=t.TileMode.Repeat;break;case"repeat":this.ze=this.ye=t.TileMode.Repeat;break;case"no-repeat":this.ze=this.ye=t.TileMode.Decal;break;default:throw"invalid repetition mode "+r}this.setTransform=function(t){e(t=[t.a,t.c,t.e,t.b,t.d,t.f,0,0,1])&&(this._transform=t)},this.qe=function(){var t=new y;return t.ye=this.ye,t.ze=this.ze,t},this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)},this.se=function(){return this.me(),this.Yd=this.xf.makeShaderCubic(this.ye,this.ze,1/3,1/3,this._transform)}}function m(e,n,i,o,a,s){this.Yd=null,this.ee=[],this.$d=[],this.addColorStop=function(t,e){if(0>t||1<t||!isFinite(t))throw"offset must be between 0 and 1 inclusively";e=r(e);var n=this.$d.indexOf(t);if(-1!==n)this.ee[n]=e;else{for(n=0;n<this.$d.length&&!(this.$d[n]>t);n++);this.$d.splice(n,0,t),this.ee.splice(n,0,e)}},this.qe=function(){var t=new m(e,n,i,o,a,s);return t.ee=this.ee.slice(),t.$d=this.$d.slice(),t},this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)},this.se=function(r){var l=[e,n,o,a];t.Matrix.mapPoints(r,l);var u=l[0],c=l[1],h=l[2];l=l[3];var f=(Math.abs(r[0])+Math.abs(r[4]))/2;return r=i*f,f*=s,this.me(),this.Yd=t.Shader.MakeTwoPointConicalGradient([u,c],r,[h,l],f,this.ee,this.$d,t.TileMode.Clamp)}}t._testing={};var v={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)};t._testing.parseColor=r,t._testing.colorToString=n;var b=/(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)(.+)/,w={"Noto Mono":{"*":null},monospace:{"*":null}};t._testing.parseFontString=o,t.MakeCanvas=function(e,n){return(e=t.MakeSurface(e,n))?new s(e):null},t.ImageData=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw"bytes must be given as a Uint8ClampedArray";if(n%4)throw"bytes must be given in a multiple of 4";if(n%(t=arguments[1]))throw"bytes must divide evenly by width";if((e=arguments[2])&&e!==n/(4*t))throw"invalid height given";return new l(n,t,n/(4*t))}throw"invalid number of arguments - takes 2 or 3, saw "+arguments.length}}()}(e);var a,s={};for(a in e)e.hasOwnProperty(a)&&(s[a]=e[a]);var l,u,c,h,f="./this.program";function d(t,e){throw e}l="object"==typeof window,u="function"==typeof importScripts,c="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h=!l&&!c&&!u;var p,g,y,m,w,C="";c?(C=u?v.dirname(C)+"/":__dirname+"/",p=function(t,e){return m||(m=b),w||(w=v),t=w.normalize(t),m.readFileSync(t,e?null:"utf8")},y=function(t){return(t=p(t,!0)).buffer||(t=new Uint8Array(t)),F(t.buffer),t},1<process.argv.length&&(f=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof Tn))throw t})),process.on("unhandledRejection",ot),d=function(t){process.exit(t)},e.inspect=function(){return"[Emscripten Module object]"}):h?("undefined"!=typeof read&&(p=function(t){return read(t)}),y=function(t){return"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(F("object"==typeof(t=read(t,"binary"))),t)},"function"==typeof quit&&(d=function(t){quit(t)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(l||u)&&(u?C=self.location.href:"undefined"!=typeof document&&document.currentScript&&(C=document.currentScript.src),n&&(C=n),C=0!==C.indexOf("blob:")?C.substr(0,C.lastIndexOf("/")+1):"",p=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},u&&(y=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),g=function(t,e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)});var A=e.print||console.log.bind(console),T=e.printErr||console.warn.bind(console);for(a in s)s.hasOwnProperty(a)&&(e[a]=s[a]);s=null,e.thisProgram&&(f=e.thisProgram),e.quit&&(d=e.quit);var S,P=0;e.wasmBinary&&(S=e.wasmBinary);var _=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&ot("no native wasm support detected");var M,k=!1;function F(t,e){t||ot("Assertion failed: "+e)}var x="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function E(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.subarray&&x)return x.decode(t.subarray(e,n));for(r="";e<n;){var i=t[e++];if(128&i){var o=63&t[e++];if(192==(224&i))r+=String.fromCharCode((31&i)<<6|o);else{var a=63&t[e++];65536>(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r}function B(t,e){return t?E(D,t,e):""}function O(t,e,n,r){if(!(0<r))return 0;var i=n;r=n+r-1;for(var o=0;o<t.length;++o){var a=t.charCodeAt(o);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a}else{if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6}else{if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12}else{if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63}e[n++]=128|a>>6&63}e[n++]=128|63&a}}return e[n]=0,n-i}function R(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);55296<=r&&57343>=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4}return e}var L,I,D,W,z,j,G,N,U,H="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function V(t,e){for(var n=t>>1,r=n+e/2;!(n>=r)&&z[n];)++n;if(32<(n<<=1)-t&&H)return H.decode(D.subarray(t,n));for(n="",r=0;!(r>=e/2);++r){var i=W[t+2*r>>1];if(0==i)break;n+=String.fromCharCode(i)}return n}function Y(t,e,n){if(void 0===n&&(n=2147483647),2>n)return 0;var r=e;n=(n-=2)<2*t.length?n/2:t.length;for(var i=0;i<n;++i)W[e>>1]=t.charCodeAt(i),e+=2;return W[e>>1]=0,e-r}function q(t){return 2*t.length}function X(t,e){for(var n=0,r="";!(n>=e/4);){var i=j[t+4*n>>2];if(0==i)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i)}return r}function $(t,e,n){if(void 0===n&&(n=2147483647),4>n)return 0;var r=e;n=r+n-4;for(var i=0;i<t.length;++i){var o=t.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),j[e>>2]=o,(e+=4)+4>n)break}return j[e>>2]=0,e-r}function Q(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);55296<=r&&57343>=r&&++n,e+=4}return e}function K(){var t=M.buffer;L=t,e.HEAP8=I=new Int8Array(t),e.HEAP16=W=new Int16Array(t),e.HEAP32=j=new Int32Array(t),e.HEAPU8=D=new Uint8Array(t),e.HEAPU16=z=new Uint16Array(t),e.HEAPU32=G=new Uint32Array(t),e.HEAPF32=N=new Float32Array(t),e.HEAPF64=U=new Float64Array(t)}var J,Z=[],tt=[],et=[];function nt(){var t=e.preRun.shift();Z.unshift(t)}var rt=0,it=null;function ot(t){throw e.onAbort&&e.onAbort(t),T(t),k=!0,t=new WebAssembly.RuntimeError("abort("+t+"). Build with -s ASSERTIONS=1 for more info."),i(t),t}function at(){return st.startsWith("data:application/octet-stream;base64,")}e.preloadedImages={},e.preloadedAudios={};var st="canvaskit.wasm";if(!at()){var lt=st;st=e.locateFile?e.locateFile(lt,C):C+lt}function ut(){var t=st;try{if(t==st&&S)return new Uint8Array(S);if(y)return y(t);throw"both async and sync fetching of the wasm failed"}catch(t){ot(t)}}function ct(t){for(;0<t.length;){var n=t.shift();if("function"==typeof n)n(e);else{var r=n.Ag;"number"==typeof r?void 0===n.df?J.get(r)():J.get(r)(n.df):r(void 0===n.df?null:n.df)}}}function ht(t){this.Rd=t-16,this.ig=function(t){j[this.Rd+8>>2]=t},this.fg=function(t){j[this.Rd+0>>2]=t},this.gg=function(){j[this.Rd+4>>2]=0},this.eg=function(){I[this.Rd+12>>0]=0},this.hg=function(){I[this.Rd+13>>0]=0},this.Tf=function(t,e){this.ig(t),this.fg(e),this.gg(),this.eg(),this.hg()}}var ft={},dt=[null,[],[]],pt={},gt={};function yt(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function mt(t){return this.fromWireType(G[t>>2])}var vt={},bt={},wt={};function Ct(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function At(t,e){return t=Ct(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function Tt(t){var e=Error,n=At(t,(function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var St=void 0;function Pt(t){throw new St(t)}function _t(t,e,n){function r(e){(e=n(e)).length!==t.length&&Pt("Mismatched type converter count");for(var r=0;r<t.length;++r)Bt(t[r],e[r])}t.forEach((function(t){wt[t]=e}));var i=Array(e.length),o=[],a=0;e.forEach((function(t,e){bt.hasOwnProperty(t)?i[e]=bt[t]:(o.push(t),vt.hasOwnProperty(t)||(vt[t]=[]),vt[t].push((function(){i[e]=bt[t],++a===o.length&&r(i)})))})),0===o.length&&r(i)}function Mt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var kt=void 0;function Ft(t){for(var e="";D[t];)e+=kt[D[t++]];return e}var xt=void 0;function Et(t){throw new xt(t)}function Bt(t,e,n){if(n=n||{},!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=e.name;if(t||Et('type "'+r+'" must have a positive integer typeid pointer'),bt.hasOwnProperty(t)){if(n.Sf)return;Et("Cannot register type '"+r+"' twice")}bt[t]=e,delete wt[t],vt.hasOwnProperty(t)&&(e=vt[t],delete vt[t],e.forEach((function(t){t()})))}function Ot(t){Et(t.Ld.Xd.Sd.name+" instance already deleted")}var Rt=!1;function Lt(){}function It(t){--t.count.value,0===t.count.value&&(t.de?t.ge.ke(t.de):t.Xd.Sd.ke(t.Rd))}function Dt(t){return"undefined"==typeof FinalizationGroup?(Dt=function(t){return t},t):(Rt=new FinalizationGroup((function(t){for(var e=t.next();!e.done;e=t.next())(e=e.value).Rd?It(e):console.warn("object already deleted: "+e.Rd)})),Lt=function(t){Rt.unregister(t.Ld)},(Dt=function(t){return Rt.register(t,t.Ld,t.Ld),t})(t))}var Wt=void 0,zt=[];function jt(){for(;zt.length;){var t=zt.pop();t.Ld.De=!1,t.delete()}}function Gt(){}var Nt={};function Ut(t,e,n){if(void 0===t[e].Zd){var r=t[e];t[e]=function(){return t[e].Zd.hasOwnProperty(arguments.length)||Et("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].Zd+")!"),t[e].Zd[arguments.length].apply(this,arguments)},t[e].Zd=[],t[e].Zd[r.Be]=r}}function Ht(t,n,r){e.hasOwnProperty(t)?((void 0===r||void 0!==e[t].Zd&&void 0!==e[t].Zd[r])&&Et("Cannot register public name '"+t+"' twice"),Ut(e,t,t),e.hasOwnProperty(r)&&Et("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),e[t].Zd[r]=n):(e[t]=n,void 0!==r&&(e[t].Cg=r))}function Vt(t,e,n,r,i,o,a,s){this.name=t,this.constructor=e,this.Ee=n,this.ke=r,this.ie=i,this.Lf=o,this.Ne=a,this.Ff=s,this.bg=[]}function Yt(t,e,n){for(;e!==n;)e.Ne||Et("Expected null or instance of "+n.name+", got an instance of "+e.name),t=e.Ne(t),e=e.ie;return t}function qt(t,e){return null===e?(this.ff&&Et("null is not a valid "+this.name),0):(e.Ld||Et('Cannot pass "'+pe(e)+'" as a '+this.name),e.Ld.Rd||Et("Cannot pass deleted object as a pointer of type "+this.name),Yt(e.Ld.Rd,e.Ld.Xd.Sd,this.Sd))}function Xt(t,e){if(null===e){if(this.ff&&Et("null is not a valid "+this.name),this.Se){var n=this.gf();return null!==t&&t.push(this.ke,n),n}return 0}if(e.Ld||Et('Cannot pass "'+pe(e)+'" as a '+this.name),e.Ld.Rd||Et("Cannot pass deleted object as a pointer of type "+this.name),!this.Re&&e.Ld.Xd.Re&&Et("Cannot convert argument of type "+(e.Ld.ge?e.Ld.ge.name:e.Ld.Xd.name)+" to parameter type "+this.name),n=Yt(e.Ld.Rd,e.Ld.Xd.Sd,this.Sd),this.Se)switch(void 0===e.Ld.de&&Et("Passing raw pointer to smart pointer is illegal"),this.mg){case 0:e.Ld.ge===this?n=e.Ld.de:Et("Cannot convert argument of type "+(e.Ld.ge?e.Ld.ge.name:e.Ld.Xd.name)+" to parameter type "+this.name);break;case 1:n=e.Ld.de;break;case 2:if(e.Ld.ge===this)n=e.Ld.de;else{var r=e.clone();n=this.cg(n,he((function(){r.delete()}))),null!==t&&t.push(this.ke,n)}break;default:Et("Unsupporting sharing policy")}return n}function $t(t,e){return null===e?(this.ff&&Et("null is not a valid "+this.name),0):(e.Ld||Et('Cannot pass "'+pe(e)+'" as a '+this.name),e.Ld.Rd||Et("Cannot pass deleted object as a pointer of type "+this.name),e.Ld.Xd.Re&&Et("Cannot convert argument of type "+e.Ld.Xd.name+" to parameter type "+this.name),Yt(e.Ld.Rd,e.Ld.Xd.Sd,this.Sd))}function Qt(t,e,n){return e===n?t:void 0===n.ie||null===(t=Qt(t,e,n.ie))?null:n.Ff(t)}var Kt={};function Jt(t,e){return e.Xd&&e.Rd||Pt("makeClassHandle requires ptr and ptrType"),!!e.ge!=!!e.de&&Pt("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Dt(Object.create(t,{Ld:{value:e}}))}function Zt(t,e,n,r,i,o,a,s,l,u,c){this.name=t,this.Sd=e,this.ff=n,this.Re=r,this.Se=i,this.ag=o,this.mg=a,this.tf=s,this.gf=l,this.cg=u,this.ke=c,i||void 0!==e.ie?this.toWireType=Xt:(this.toWireType=r?qt:$t,this.fe=null)}function te(t,n,r){e.hasOwnProperty(t)||Pt("Replacing nonexistant public symbol"),void 0!==e[t].Zd&&void 0!==r?e[t].Zd[r]=n:(e[t]=n,e[t].Be=r)}function ee(t,n){var r=(t=Ft(t)).includes("j")?function(t,n){var r=[];return function(){r.length=arguments.length;for(var i=0;i<arguments.length;i++)r[i]=arguments[i];return t.includes("j")?(i=e["dynCall_"+t],i=r&&r.length?i.apply(null,[n].concat(r)):i.call(null,n)):i=J.get(n).apply(null,r),i}}(t,n):J.get(n);return"function"!=typeof r&&Et("unknown function pointer with signature "+t+": "+n),r}var ne=void 0;function re(t){var e=Ft(t=mn(t));return gn(t),e}function ie(t,e){var n=[],r={};throw e.forEach((function t(e){r[e]||bt[e]||(wt[e]?wt[e].forEach(t):(n.push(e),r[e]=!0))})),new ne(t+": "+n.map(re).join([", "]))}function oe(t){var e=Function;if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var n=At(e.name||"unknownFunctionName",(function(){}));return n.prototype=e.prototype,n=new n,(t=e.apply(n,t))instanceof Object?t:n}function ae(t,e,n,r,i){var o=e.length;2>o&&Et("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==e[1]&&null!==n,s=!1;for(n=1;n<e.length;++n)if(null!==e[n]&&void 0===e[n].fe){s=!0;break}var l="void"!==e[0].name,u="",c="";for(n=0;n<o-2;++n)u+=(0!==n?", ":"")+"arg"+n,c+=(0!==n?", ":"")+"arg"+n+"Wired";t="return function "+Ct(t)+"("+u+") {\nif (arguments.length !== "+(o-2)+") {\nthrowBindingError('function "+t+" called with ' + arguments.length + ' arguments, expected "+(o-2)+" args!');\n}\n",s&&(t+="var destructors = [];\n");var h=s?"destructors":"null";for(u="throwBindingError invoker fn runDestructors retType classParam".split(" "),r=[Et,r,i,yt,e[0],e[1]],a&&(t+="var thisWired = classParam.toWireType("+h+", this);\n"),n=0;n<o-2;++n)t+="var arg"+n+"Wired = argType"+n+".toWireType("+h+", arg"+n+"); // "+e[n+2].name+"\n",u.push("argType"+n),r.push(e[n+2]);if(a&&(c="thisWired"+(0<c.length?", ":"")+c),t+=(l?"var rv = ":"")+"invoker(fn"+(0<c.length?", ":"")+c+");\n",s)t+="runDestructors(destructors);\n";else for(n=a?1:2;n<e.length;++n)o=1===n?"thisWired":"arg"+(n-2)+"Wired",null!==e[n].fe&&(t+=o+"_dtor("+o+"); // "+e[n].name+"\n",u.push(o+"_dtor"),r.push(e[n].fe));return l&&(t+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),u.push(t+"}\n"),oe(u).apply(null,r)}function se(t,e){for(var n=[],r=0;r<t;r++)n.push(j[(e>>2)+r]);return n}var le=[],ue=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ce(t){4<t&&0==--ue[t].hf&&(ue[t]=void 0,le.push(t))}function he(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var e=le.length?le.pop():ue.length;return ue[e]={hf:1,value:t},e}}function fe(t,e,n){switch(e){case 0:return function(t){return this.fromWireType((n?I:D)[t])};case 1:return function(t){return this.fromWireType((n?W:z)[t>>1])};case 2:return function(t){return this.fromWireType((n?j:G)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function de(t,e){var n=bt[t];return void 0===n&&Et(e+" has unknown type "+re(t)),n}function pe(t){if(null===t)return"null";var e=typeof t;return"object"===e||"array"===e||"function"===e?t.toString():""+t}function ge(t,e){switch(e){case 2:return function(t){return this.fromWireType(N[t>>2])};case 3:return function(t){return this.fromWireType(U[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function ye(t,e,n){switch(e){case 0:return n?function(t){return I[t]}:function(t){return D[t]};case 1:return n?function(t){return W[t>>1]}:function(t){return z[t>>1]};case 2:return n?function(t){return j[t>>2]}:function(t){return G[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function me(t){return t||Et("Cannot use deleted val. handle = "+t),ue[t].value}var ve={};function be(t){var e=ve[t];return void 0===e?Ft(t):e}var we=[];function Ce(){return"object"==typeof globalThis?globalThis:Function("return this")()}var Ae,Te={};Ae=c?function(){var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var Se=1,Pe=[],_e=[],Me=[],ke=[],Fe=[],xe=[],Ee=[],Be=[],Oe=[],Re=[],Le={},Ie={},De=4;function We(t){Ne||(Ne=t)}function ze(t){for(var e=Se++,n=t.length;n<e;n++)t[n]=null;return e}function je(t){return Ge=Be[t],e.zg=ln=Ge&&Ge.le,!(t&&!ln)}var Ge,Ne,Ue=[];function He(t,e,n,r){for(var i=0;i<t;i++){var o=ln[n](),a=o&&ze(r);o?(o.name=a,r[a]=o):We(1282),j[e+4*i>>2]=a}}function Ve(t){var e=R(t)+1,n=pn(e);return O(t,D,n,e),n}function Ye(t){return 0==(t-=5120)?I:1==t?D:2==t?W:4==t?j:6==t?N:5==t||28922==t||28520==t||30779==t||30782==t?G:z}function qe(t,e,n,r,i){t=Ye(t);var o=31-Math.clz32(t.BYTES_PER_ELEMENT),a=De;return t.subarray(i>>o,i+r*(n*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1)*(1<<o)+a-1&-a)>>o)}function Xe(t){var e=ln.Df,n=e.Ze[t];return 0<=n&&(e.Ze[t]=n=ln.getUniformLocation(e,e.uf[t]+(0<n?"["+n+"]":""))),n}var $e,Qe=[],Ke=[],Je={};function Ze(){if(!$e){var t,e={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",_:f||"./this.program"};for(t in Je)e[t]=Je[t];var n=[];for(t in e)n.push(t+"="+e[t]);$e=n}return $e}function tn(t){return 0==t%4&&(0!=t%100||0==t%400)}function en(t,e){for(var n=0,r=0;r<=e;n+=t[r++]);return n}var nn=[31,29,31,30,31,30,31,31,30,31,30,31],rn=[31,28,31,30,31,30,31,31,30,31,30,31];function on(t,e){for(t=new Date(t.getTime());0<e;){var n=t.getMonth(),r=(tn(t.getFullYear())?nn:rn)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}St=e.InternalError=Tt("InternalError");for(var an=Array(256),sn=0;256>sn;++sn)an[sn]=String.fromCharCode(sn);kt=an,xt=e.BindingError=Tt("BindingError"),Gt.prototype.isAliasOf=function(t){if(!(this instanceof Gt&&t instanceof Gt))return!1;var e=this.Ld.Xd.Sd,n=this.Ld.Rd,r=t.Ld.Xd.Sd;for(t=t.Ld.Rd;e.ie;)n=e.Ne(n),e=e.ie;for(;r.ie;)t=r.Ne(t),r=r.ie;return e===r&&n===t},Gt.prototype.clone=function(){if(this.Ld.Rd||Ot(this),this.Ld.Le)return this.Ld.count.value+=1,this;var t=Dt,e=Object,n=e.create,r=Object.getPrototypeOf(this),i=this.Ld;return(t=t(n.call(e,r,{Ld:{value:{count:i.count,De:i.De,Le:i.Le,Rd:i.Rd,Xd:i.Xd,de:i.de,ge:i.ge}}}))).Ld.count.value+=1,t.Ld.De=!1,t},Gt.prototype.delete=function(){this.Ld.Rd||Ot(this),this.Ld.De&&!this.Ld.Le&&Et("Object already scheduled for deletion"),Lt(this),It(this.Ld),this.Ld.Le||(this.Ld.de=void 0,this.Ld.Rd=void 0)},Gt.prototype.isDeleted=function(){return!this.Ld.Rd},Gt.prototype.deleteLater=function(){return this.Ld.Rd||Ot(this),this.Ld.De&&!this.Ld.Le&&Et("Object already scheduled for deletion"),zt.push(this),1===zt.length&&Wt&&Wt(jt),this.Ld.De=!0,this},Zt.prototype.Mf=function(t){return this.tf&&(t=this.tf(t)),t},Zt.prototype.mf=function(t){this.ke&&this.ke(t)},Zt.prototype.argPackAdvance=8,Zt.prototype.readValueFromPointer=mt,Zt.prototype.deleteObject=function(t){null!==t&&t.delete()},Zt.prototype.fromWireType=function(t){function e(){return this.Se?Jt(this.Sd.Ee,{Xd:this.ag,Rd:n,ge:this,de:t}):Jt(this.Sd.Ee,{Xd:this,Rd:t})}var n=this.Mf(t);if(!n)return this.mf(t),null;var r=function(t,e){for(void 0===e&&Et("ptr should not be undefined");t.ie;)e=t.Ne(e),t=t.ie;return Kt[e]}(this.Sd,n);if(void 0!==r)return 0===r.Ld.count.value?(r.Ld.Rd=n,r.Ld.de=t,r.clone()):(r=r.clone(),this.mf(t),r);if(r=this.Sd.Lf(n),!(r=Nt[r]))return e.call(this);r=this.Re?r.Bf:r.pointerType;var i=Qt(n,this.Sd,r.Sd);return null===i?e.call(this):this.Se?Jt(r.Sd.Ee,{Xd:r,Rd:i,ge:this,de:t}):Jt(r.Sd.Ee,{Xd:r,Rd:i})},e.getInheritedInstanceCount=function(){return Object.keys(Kt).length},e.getLiveInheritedInstances=function(){var t,e=[];for(t in Kt)Kt.hasOwnProperty(t)&&e.push(Kt[t]);return e},e.flushPendingDeletes=jt,e.setDelayFunction=function(t){Wt=t,zt.length&&Wt&&Wt(jt)},ne=e.UnboundTypeError=Tt("UnboundTypeError"),e.count_emval_handles=function(){for(var t=0,e=5;e<ue.length;++e)void 0!==ue[e]&&++t;return t},e.get_first_emval=function(){for(var t=5;t<ue.length;++t)if(void 0!==ue[t])return ue[t];return null};for(var ln,un=0;32>un;++un)Ue.push(Array(un));var cn=new Float32Array(288);for(un=0;288>un;++un)Qe[un]=cn.subarray(0,un+1);var hn=new Int32Array(288);for(un=0;288>un;++un)Ke[un]=hn.subarray(0,un+1);var fn={Kb:function(t){return pn(t+16)+16},Eb:function(t,e,n){throw new ht(t).Tf(e,n),t},O:function(){return 0},Bb:function(){},xb:function(){return 0},yb:function(t,e,n,r,i,o){return o<<=12,0!=(16&r)&&0!=t%65536?e=-28:0!=(32&r)?(t=An(65536,e))?(dn(t,0,e),ft[t]={Zf:t,Yf:e,Af:!0,fd:i,Dg:n,flags:r,offset:o},e=t):e=-48:e=-52,e},zb:function(t,e){if(-1==(0|t)||0===e)t=-28;else{var n=ft[t];n&&e===n.Yf&&(ft[t]=null,n.Af&&gn(n.Zf)),t=0}return t},R:function(){},Q:function(){},y:function(t){var e=gt[t];delete gt[t];var n=e.gf,r=e.ke,i=e.qf;_t([t],i.map((function(t){return t.Qf})).concat(i.map((function(t){return t.kg}))),(function(t){var o={};return i.forEach((function(e,n){var r=t[n],a=e.Of,s=e.Pf,l=t[n+i.length],u=e.jg,c=e.lg;o[e.Hf]={read:function(t){return r.fromWireType(a(s,t))},write:function(t,e){var n=[];u(c,t,l.toWireType(n,e)),yt(n)}}})),[{name:e.name,fromWireType:function(t){var e,n={};for(e in o)n[e]=o[e].read(t);return r(t),n},toWireType:function(t,e){for(var i in o)if(!(i in e))throw new TypeError('Missing field: "'+i+'"');var a=n();for(i in o)o[i].write(a,e[i]);return null!==t&&t.push(r,a),a},argPackAdvance:8,readValueFromPointer:mt,fe:r}]}))},ob:function(){},Db:function(t,e,n,r,i){var o=Mt(n);Bt(t,{name:e=Ft(e),fromWireType:function(t){return!!t},toWireType:function(t,e){return e?r:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===n)var r=I;else if(2===n)r=W;else{if(4!==n)throw new TypeError("Unknown boolean type size: "+e);r=j}return this.fromWireType(r[t>>o])},fe:null})},m:function(t,e,n,r,i,o,a,s,l,u,c,h,f){c=Ft(c),o=ee(i,o),s&&(s=ee(a,s)),u&&(u=ee(l,u)),f=ee(h,f);var d=Ct(c);Ht(d,(function(){ie("Cannot construct "+c+" due to unbound types",[r])})),_t([t,e,n],r?[r]:[],(function(e){if(e=e[0],r)var n=e.Sd,i=n.Ee;else i=Gt.prototype;e=At(d,(function(){if(Object.getPrototypeOf(this)!==a)throw new xt("Use 'new' to construct "+c);if(void 0===l.ne)throw new xt(c+" has no accessible constructor");var t=l.ne[arguments.length];if(void 0===t)throw new xt("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(l.ne).toString()+") parameters instead!");return t.apply(this,arguments)}));var a=Object.create(i,{constructor:{value:e}});e.prototype=a;var l=new Vt(c,e,a,f,n,o,s,u);n=new Zt(c,l,!0,!1,!1),i=new Zt(c+"*",l,!1,!1,!1);var h=new Zt(c+" const*",l,!1,!0,!1);return Nt[t]={pointerType:i,Bf:h},te(d,e),[n,i,h]}))},f:function(t,e,n,r,i,o,a){var s=se(n,r);e=Ft(e),o=ee(i,o),_t([],[t],(function(t){function r(){ie("Cannot call "+i+" due to unbound types",s)}var i=(t=t[0]).name+"."+e,l=t.Sd.constructor;return void 0===l[e]?(r.Be=n-1,l[e]=r):(Ut(l,e,i),l[e].Zd[n-1]=r),_t([],s,(function(t){return t=[t[0],null].concat(t.slice(1)),t=ae(i,t,null,o,a),void 0===l[e].Zd?(t.Be=n-1,l[e]=t):l[e].Zd[n-1]=t,[]})),[]}))},v:function(t,e,n,r,i,o){F(0<e);var a=se(e,n);i=ee(r,i);var s=[o],l=[];_t([],[t],(function(t){var n="constructor "+(t=t[0]).name;if(void 0===t.Sd.ne&&(t.Sd.ne=[]),void 0!==t.Sd.ne[e-1])throw new xt("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.Sd.ne[e-1]=function(){ie("Cannot construct "+t.name+" due to unbound types",a)},_t([],a,(function(r){return t.Sd.ne[e-1]=function(){arguments.length!==e-1&&Et(n+" called with "+arguments.length+" arguments, expected "+(e-1)),l.length=0,s.length=e;for(var t=1;t<e;++t)s[t]=r[t].toWireType(l,arguments[t-1]);return t=i.apply(null,s),yt(l),r[0].fromWireType(t)},[]})),[]}))},c:function(t,e,n,r,i,o,a,s){var l=se(n,r);e=Ft(e),o=ee(i,o),_t([],[t],(function(t){function r(){ie("Cannot call "+i+" due to unbound types",l)}var i=(t=t[0]).name+"."+e;s&&t.Sd.bg.push(e);var u=t.Sd.Ee,c=u[e];return void 0===c||void 0===c.Zd&&c.className!==t.name&&c.Be===n-2?(r.Be=n-2,r.className=t.name,u[e]=r):(Ut(u,e,i),u[e].Zd[n-2]=r),_t([],l,(function(r){return r=ae(i,r,t,o,a),void 0===u[e].Zd?(r.Be=n-2,u[e]=r):u[e].Zd[n-2]=r,[]})),[]}))},X:function(t,n,r){t=Ft(t),_t([],[n],(function(n){return n=n[0],e[t]=n.fromWireType(r),[]}))},Cb:function(t,e){Bt(t,{name:e=Ft(e),fromWireType:function(t){var e=ue[t].value;return ce(t),e},toWireType:function(t,e){return he(e)},argPackAdvance:8,readValueFromPointer:mt,fe:null})},k:function(t,e,n,r){function i(){}n=Mt(n),e=Ft(e),i.values={},Bt(t,{name:e,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,e){return e.value},argPackAdvance:8,readValueFromPointer:fe(e,n,r),fe:null}),Ht(e,i)},j:function(t,e,n){var r=de(t,"enum");e=Ft(e),t=r.constructor,r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:At(r.name+"_"+e,(function(){}))}}),t.values[n]=r,t[e]=r},S:function(t,e,n){n=Mt(n),Bt(t,{name:e=Ft(e),fromWireType:function(t){return t},toWireType:function(t,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+pe(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:ge(e,n),fe:null})},t:function(t,e,n,r,i,o){var a=se(e,n);t=Ft(t),i=ee(r,i),Ht(t,(function(){ie("Cannot call "+t+" due to unbound types",a)}),e-1),_t([],a,(function(n){return n=[n[0],null].concat(n.slice(1)),te(t,ae(t,n,null,i,o),e-1),[]}))},x:function(t,e,n,r,i){function o(t){return t}e=Ft(e),-1===i&&(i=4294967295);var a=Mt(n);if(0===r){var s=32-8*n;o=function(t){return t<<s>>>s}}var l=e.includes("unsigned");Bt(t,{name:e,fromWireType:o,toWireType:function(t,n){if("number"!=typeof n&&"boolean"!=typeof n)throw new TypeError('Cannot convert "'+pe(n)+'" to '+this.name);if(n<r||n>i)throw new TypeError('Passing a number "'+pe(n)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+r+", "+i+"]!");return l?n>>>0:0|n},argPackAdvance:8,readValueFromPointer:ye(e,a,0!==r),fe:null})},u:function(t,e,n){function r(t){var e=G;return new i(L,e[1+(t>>=2)],e[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];Bt(t,{name:n=Ft(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Sf:!0})},p:function(t,e,n,r,i,o,a,s,l,u,c,h){n=Ft(n),o=ee(i,o),s=ee(a,s),u=ee(l,u),h=ee(c,h),_t([t],[e],(function(t){return t=t[0],[new Zt(n,t.Sd,!1,!1,!0,t,r,o,s,u,h)]}))},T:function(t,e){var n="std::string"===(e=Ft(e));Bt(t,{name:e,fromWireType:function(t){var e=G[t>>2];if(n)for(var r=t+4,i=0;i<=e;++i){var o=t+4+i;if(i==e||0==D[o]){if(r=B(r,o-r),void 0===a)var a=r;else a+=String.fromCharCode(0),a+=r;r=o+1}}else{for(a=Array(e),i=0;i<e;++i)a[i]=String.fromCharCode(D[t+4+i]);a=a.join("")}return gn(t),a},toWireType:function(t,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var r="string"==typeof e;r||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||Et("Cannot pass non-string to std::string");var i=(n&&r?function(){return R(e)}:function(){return e.length})(),o=pn(4+i+1);if(G[o>>2]=i,n&&r)O(e,D,o+4,i+1);else if(r)for(r=0;r<i;++r){var a=e.charCodeAt(r);255<a&&(gn(o),Et("String has UTF-16 code units that do not fit in 8 bits")),D[o+4+r]=a}else for(r=0;r<i;++r)D[o+4+r]=e[r];return null!==t&&t.push(gn,o),o},argPackAdvance:8,readValueFromPointer:mt,fe:function(t){gn(t)}})},I:function(t,e,n){if(n=Ft(n),2===e)var r=V,i=Y,o=q,a=function(){return z},s=1;else 4===e&&(r=X,i=$,o=Q,a=function(){return G},s=2);Bt(t,{name:n,fromWireType:function(t){for(var n,i=G[t>>2],o=a(),l=t+4,u=0;u<=i;++u){var c=t+4+u*e;u!=i&&0!=o[c>>s]||(l=r(l,c-l),void 0===n?n=l:(n+=String.fromCharCode(0),n+=l),l=c+e)}return gn(t),n},toWireType:function(t,r){"string"!=typeof r&&Et("Cannot pass non-string to C++ string type "+n);var a=o(r),l=pn(4+a+e);return G[l>>2]=a>>s,i(r,l+4,a+e),null!==t&&t.push(gn,l),l},argPackAdvance:8,readValueFromPointer:mt,fe:function(t){gn(t)}})},z:function(t,e,n,r,i,o){gt[t]={name:Ft(e),gf:ee(n,r),ke:ee(i,o),qf:[]}},h:function(t,e,n,r,i,o,a,s,l,u){gt[t].qf.push({Hf:Ft(e),Qf:n,Of:ee(r,i),Pf:o,kg:a,jg:ee(s,l),lg:u})},Fb:function(t,e){Bt(t,{Vf:!0,name:e=Ft(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},B:function(t,e,n){t=me(t),e=de(e,"emval::as");var r=[],i=he(r);return j[n>>2]=i,e.toWireType(r,t)},M:function(t,e,n,r,i){t=we[t],e=me(e),n=be(n);var o=[];return j[r>>2]=he(o),t(e,n,o,i)},C:function(t,e,n,r){(t=we[t])(e=me(e),n=be(n),null,r)},E:ce,Ab:function(t){return 0===t?he(Ce()):(t=be(t),he(Ce()[t]))},A:function(t,e){e=function(t,e){for(var n=Array(t),r=0;r<t;++r)n[r]=de(j[(e>>2)+r],"parameter "+r);return n}(t,e);for(var n=e[0],r=n.name+"_$"+e.slice(1).map((function(t){return t.name})).join("_")+"$",i=["retType"],o=[n],a="",s=0;s<t-1;++s)a+=(0!==s?", ":"")+"arg"+s,i.push("argType"+s),o.push(e[1+s]);r="return function "+Ct("methodCaller_"+r)+"(handle, name, destructors, args) {\n";var l=0;for(s=0;s<t-1;++s)r+=" var arg"+s+" = argType"+s+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=e[s+1].argPackAdvance;for(r+=" var rv = handle[name]("+a+");\n",s=0;s<t-1;++s)e[s+1].deleteObject&&(r+=" argType"+s+".deleteObject(arg"+s+");\n");return n.Vf||(r+=" return retType.toWireType(destructors, rv);\n"),i.push(r+"};\n"),function(t){var e=we.length;return we.push(t),e}(t=oe(i).apply(null,o))},K:function(t,e){return he((t=me(t))[e=me(e)])},G:function(t){4<t&&(ue[t].hf+=1)},sb:function(t,n,r,i){t=me(t);var o=Te[n];if(!o){o="";for(var a=0;a<n;++a)o+=(0!==a?", ":"")+"arg"+a;var s="return function emval_allocator_"+n+"(constructor, argTypes, args) {\n";for(a=0;a<n;++a)s+="var argType"+a+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+a+'], "parameter '+a+'");\nvar arg'+a+" = argType"+a+".readValueFromPointer(args);\nargs += argType"+a+"['argPackAdvance'];\n";o=new Function("requireRegisteredType","Module","__emval_register",s+"var obj = new constructor("+o+");\nreturn __emval_register(obj);\n}\n")(de,e,he),Te[n]=o}return o(t,r,i)},ib:function(){return he([])},Ma:function(t){return he(be(t))},jb:function(){return he({})},hb:function(t){return!(t=me(t))},lb:function(t){yt(ue[t].value),ce(t)},w:function(t,e,n){t=me(t),e=me(e),n=me(n),t[e]=n},s:function(t,e){return he(t=(t=de(t,"_emval_take_value")).readValueFromPointer(e))},d:function(){ot()},qb:function(t,e){if(0===t)t=Date.now();else{if(1!==t&&4!==t)return j[yn()>>2]=28,-1;t=Ae()}return j[e>>2]=t/1e3|0,j[e+4>>2]=t%1e3*1e6|0,0},Zc:function(t){ln.activeTexture(t)},_c:function(t,e){ln.attachShader(_e[t],xe[e])},$c:function(t,e,n){ln.bindAttribLocation(_e[t],e,B(n))},_:function(t,e){35051==t?ln.ef=e:35052==t&&(ln.Ce=e),ln.bindBuffer(t,Pe[e])},Z:function(t,e){ln.bindFramebuffer(t,Me[e])},bc:function(t,e){ln.bindRenderbuffer(t,ke[e])},Pb:function(t,e){ln.bindSampler(t,Oe[e])},$:function(t,e){ln.bindTexture(t,Fe[e])},vc:function(t){ln.bindVertexArray(Ee[t])},yc:function(t){ln.bindVertexArray(Ee[t])},aa:function(t,e,n,r){ln.blendColor(t,e,n,r)},ba:function(t){ln.blendEquation(t)},ca:function(t,e){ln.blendFunc(t,e)},Wb:function(t,e,n,r,i,o,a,s,l,u){ln.blitFramebuffer(t,e,n,r,i,o,a,s,l,u)},da:function(t,e,n,r){2<=Ge.version?n?ln.bufferData(t,D,r,n,e):ln.bufferData(t,e,r):ln.bufferData(t,n?D.subarray(n,n+e):e,r)},ea:function(t,e,n,r){2<=Ge.version?ln.bufferSubData(t,e,D,r,n):ln.bufferSubData(t,e,D.subarray(r,r+n))},cc:function(t){return ln.checkFramebufferStatus(t)},L:function(t){ln.clear(t)},Y:function(t,e,n,r){ln.clearColor(t,e,n,r)},P:function(t){ln.clearStencil(t)},fb:function(t,e,n,r){return ln.clientWaitSync(Re[t],e,(n>>>0)+4294967296*r)},fa:function(t,e,n,r){ln.colorMask(!!t,!!e,!!n,!!r)},ga:function(t){ln.compileShader(xe[t])},ha:function(t,e,n,r,i,o,a,s){2<=Ge.version?ln.Ce?ln.compressedTexImage2D(t,e,n,r,i,o,a,s):ln.compressedTexImage2D(t,e,n,r,i,o,D,s,a):ln.compressedTexImage2D(t,e,n,r,i,o,s?D.subarray(s,s+a):null)},ia:function(t,e,n,r,i,o,a,s,l){2<=Ge.version?ln.Ce?ln.compressedTexSubImage2D(t,e,n,r,i,o,a,s,l):ln.compressedTexSubImage2D(t,e,n,r,i,o,a,D,l,s):ln.compressedTexSubImage2D(t,e,n,r,i,o,a,l?D.subarray(l,l+s):null)},ja:function(t,e,n,r,i,o,a,s){ln.copyTexSubImage2D(t,e,n,r,i,o,a,s)},ka:function(){var t=ze(_e),e=ln.createProgram();return e.name=t,e.Ve=e.Te=e.Ue=0,e.jf=1,_e[t]=e,t},la:function(t){var e=ze(xe);return xe[e]=ln.createShader(t),e},ma:function(t){ln.cullFace(t)},na:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=Pe[r];i&&(ln.deleteBuffer(i),i.name=0,Pe[r]=null,r==ln.ef&&(ln.ef=0),r==ln.Ce&&(ln.Ce=0))}},dc:function(t,e){for(var n=0;n<t;++n){var r=j[e+4*n>>2],i=Me[r];i&&(ln.deleteFramebuffer(i),i.name=0,Me[r]=null)}},oa:function(t){if(t){var e=_e[t];e?(ln.deleteProgram(e),e.name=0,_e[t]=null):We(1281)}},ec:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=ke[r];i&&(ln.deleteRenderbuffer(i),i.name=0,ke[r]=null)}},Qb:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=Oe[r];i&&(ln.deleteSampler(i),i.name=0,Oe[r]=null)}},pa:function(t){if(t){var e=xe[t];e?(ln.deleteShader(e),xe[t]=null):We(1281)}},Yb:function(t){if(t){var e=Re[t];e?(ln.deleteSync(e),e.name=0,Re[t]=null):We(1281)}},qa:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=Fe[r];i&&(ln.deleteTexture(i),i.name=0,Fe[r]=null)}},wc:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2];ln.deleteVertexArray(Ee[r]),Ee[r]=null}},zc:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2];ln.deleteVertexArray(Ee[r]),Ee[r]=null}},ra:function(t){ln.depthMask(!!t)},sa:function(t){ln.disable(t)},ta:function(t){ln.disableVertexAttribArray(t)},ua:function(t,e,n){ln.drawArrays(t,e,n)},tc:function(t,e,n,r){ln.drawArraysInstanced(t,e,n,r)},rc:function(t,e,n,r,i){ln.nf.drawArraysInstancedBaseInstanceWEBGL(t,e,n,r,i)},pc:function(t,e){for(var n=Ue[t],r=0;r<t;r++)n[r]=j[e+4*r>>2];ln.drawBuffers(n)},va:function(t,e,n,r){ln.drawElements(t,e,n,r)},uc:function(t,e,n,r,i){ln.drawElementsInstanced(t,e,n,r,i)},sc:function(t,e,n,r,i,o,a){ln.nf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(t,e,n,r,i,o,a)},jc:function(t,e,n,r,i,o){ln.drawElements(t,r,i,o)},wa:function(t){ln.enable(t)},xa:function(t){ln.enableVertexAttribArray(t)},Ub:function(t,e){return(t=ln.fenceSync(t,e))?(e=ze(Re),t.name=e,Re[e]=t,e):0},ya:function(){ln.finish()},za:function(){ln.flush()},fc:function(t,e,n,r){ln.framebufferRenderbuffer(t,e,n,ke[r])},gc:function(t,e,n,r,i){ln.framebufferTexture2D(t,e,n,Fe[r],i)},Aa:function(t){ln.frontFace(t)},Ba:function(t,e){He(t,e,"createBuffer",Pe)},hc:function(t,e){He(t,e,"createFramebuffer",Me)},ic:function(t,e){He(t,e,"createRenderbuffer",ke)},Rb:function(t,e){He(t,e,"createSampler",Oe)},Ca:function(t,e){He(t,e,"createTexture",Fe)},xc:function(t,e){He(t,e,"createVertexArray",Ee)},Ac:function(t,e){He(t,e,"createVertexArray",Ee)},Zb:function(t){ln.generateMipmap(t)},Da:function(t,e,n){n?j[n>>2]=ln.getBufferParameter(t,e):We(1281)},Ea:function(){var t=ln.getError()||Ne;return Ne=0,t},_b:function(t,e,n,r){((t=ln.getFramebufferAttachmentParameter(t,e,n))instanceof WebGLRenderbuffer||t instanceof WebGLTexture)&&(t=0|t.name),j[r>>2]=t},F:function(t,e){!function(t,e){if(e){var n=void 0;switch(t){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var r=ln.getParameter(34467);n=r?r.length:0;break;case 33309:if(2>Ge.version)return void We(1282);n=2*(ln.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>Ge.version)return void We(1280);n=33307==t?3:0}if(void 0===n)switch(r=ln.getParameter(t),typeof r){case"number":n=r;break;case"boolean":n=r?1:0;break;case"string":return void We(1280);case"object":if(null===r)switch(t){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:n=0;break;default:return void We(1280)}else{if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(t=0;t<r.length;++t)j[e+4*t>>2]=r[t];return}try{n=0|r.name}catch(e){return We(1280),void T("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+t+")! (error: "+e+")")}}break;default:return We(1280),void T("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+t+") and it returns "+r+" of type "+typeof r+"!")}j[e>>2]=n}else We(1281)}(t,e)},Fa:function(t,e,n,r){null===(t=ln.getProgramInfoLog(_e[t]))&&(t="(unknown error)"),e=0<e&&r?O(t,D,r,e):0,n&&(j[n>>2]=e)},Ga:function(t,e,n){if(n)if(t>=Se)We(1281);else if(t=_e[t],35716==e)null===(t=ln.getProgramInfoLog(t))&&(t="(unknown error)"),j[n>>2]=t.length+1;else if(35719==e){if(!t.Ve)for(e=0;e<ln.getProgramParameter(t,35718);++e)t.Ve=Math.max(t.Ve,ln.getActiveUniform(t,e).name.length+1);j[n>>2]=t.Ve}else if(35722==e){if(!t.Te)for(e=0;e<ln.getProgramParameter(t,35721);++e)t.Te=Math.max(t.Te,ln.getActiveAttrib(t,e).name.length+1);j[n>>2]=t.Te}else if(35381==e){if(!t.Ue)for(e=0;e<ln.getProgramParameter(t,35382);++e)t.Ue=Math.max(t.Ue,ln.getActiveUniformBlockName(t,e).length+1);j[n>>2]=t.Ue}else j[n>>2]=ln.getProgramParameter(t,e);else We(1281)},$b:function(t,e,n){n?j[n>>2]=ln.getRenderbufferParameter(t,e):We(1281)},Ha:function(t,e,n,r){null===(t=ln.getShaderInfoLog(xe[t]))&&(t="(unknown error)"),e=0<e&&r?O(t,D,r,e):0,n&&(j[n>>2]=e)},Mb:function(t,e,n,r){t=ln.getShaderPrecisionFormat(t,e),j[n>>2]=t.rangeMin,j[n+4>>2]=t.rangeMax,j[r>>2]=t.precision},Ia:function(t,e,n){n?35716==e?(null===(t=ln.getShaderInfoLog(xe[t]))&&(t="(unknown error)"),j[n>>2]=t?t.length+1:0):35720==e?(t=ln.getShaderSource(xe[t]),j[n>>2]=t?t.length+1:0):j[n>>2]=ln.getShaderParameter(xe[t],e):We(1281)},J:function(t){var e=Le[t];if(!e){switch(t){case 7939:e=Ve((e=(e=ln.getSupportedExtensions()||[]).concat(e.map((function(t){return"GL_"+t})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:(e=ln.getParameter(t))||We(1280),e=e&&Ve(e);break;case 7938:e=ln.getParameter(7938),e=Ve(e=2<=Ge.version?"OpenGL ES 3.0 ("+e+")":"OpenGL ES 2.0 ("+e+")");break;case 35724:var n=(e=ln.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==n&&(3==n[1].length&&(n[1]+="0"),e="OpenGL ES GLSL ES "+n[1]+" ("+e+")"),e=Ve(e);break;default:We(1280)}Le[t]=e}return e},eb:function(t,e){if(2>Ge.version)return We(1282),0;var n=Ie[t];return n?0>e||e>=n.length?(We(1281),0):n[e]:7939===t?(n=(n=(n=ln.getSupportedExtensions()||[]).concat(n.map((function(t){return"GL_"+t})))).map((function(t){return Ve(t)})),n=Ie[t]=n,0>e||e>=n.length?(We(1281),0):n[e]):(We(1280),0)},Ja:function(t,e){function n(t){return"]"==t.slice(-1)&&t.lastIndexOf("[")}e=B(e);var r,i=(t=_e[t]).Ze,o=t.wg,a=0,s=e,l=n(e);if(!i)for(t.Ze=i={},t.uf={},r=0;r<ln.getProgramParameter(t,35718);++r){var u=ln.getActiveUniform(t,r),c=u.name;u=u.size;var h=n(c);h=0<h?c.slice(0,h):c;var f=t.jf;for(t.jf+=u,o[h]=[u,f],c=0;c<u;++c)i[f]=c,t.uf[f++]=h}return 0<l&&(a=parseInt(e.slice(l+1))>>>0,s=e.slice(0,l)),(o=o[s])&&a<o[0]&&(i[a+=o[1]]=i[a]||ln.getUniformLocation(t,e))?a:-1},Nb:function(t,e,n){for(var r=Ue[e],i=0;i<e;i++)r[i]=j[n+4*i>>2];ln.invalidateFramebuffer(t,r)},Ob:function(t,e,n,r,i,o,a){for(var s=Ue[e],l=0;l<e;l++)s[l]=j[n+4*l>>2];ln.invalidateSubFramebuffer(t,s,r,i,o,a)},Vb:function(t){return ln.isSync(Re[t])},Ka:function(t){return(t=Fe[t])?ln.isTexture(t):0},La:function(t){ln.lineWidth(t)},Na:function(t){t=_e[t],ln.linkProgram(t),t.Ze=0,t.wg={}},nc:function(t,e,n,r,i,o){ln.sf.multiDrawArraysInstancedBaseInstanceWEBGL(t,j,e>>2,j,n>>2,j,r>>2,G,i>>2,o)},oc:function(t,e,n,r,i,o,a,s){ln.sf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(t,j,e>>2,n,j,r>>2,j,i>>2,j,o>>2,G,a>>2,s)},Oa:function(t,e){3317==t&&(De=e),ln.pixelStorei(t,e)},qc:function(t){ln.readBuffer(t)},Pa:function(t,e,n,r,i,o,a){if(2<=Ge.version)if(ln.ef)ln.readPixels(t,e,n,r,i,o,a);else{var s=Ye(o);ln.readPixels(t,e,n,r,i,o,s,a>>31-Math.clz32(s.BYTES_PER_ELEMENT))}else(a=qe(o,i,n,r,a))?ln.readPixels(t,e,n,r,i,o,a):We(1280)},ac:function(t,e,n,r){ln.renderbufferStorage(t,e,n,r)},Xb:function(t,e,n,r,i){ln.renderbufferStorageMultisample(t,e,n,r,i)},Sb:function(t,e,n){ln.samplerParameteri(Oe[t],e,n)},Tb:function(t,e,n){ln.samplerParameteri(Oe[t],e,j[n>>2])},Qa:function(t,e,n,r){ln.scissor(t,e,n,r)},Ra:function(t,e,n,r){for(var i="",o=0;o<e;++o){var a=r?j[r+4*o>>2]:-1;i+=B(j[n+4*o>>2],0>a?void 0:a)}ln.shaderSource(xe[t],i)},Sa:function(t,e,n){ln.stencilFunc(t,e,n)},Ta:function(t,e,n,r){ln.stencilFuncSeparate(t,e,n,r)},Ua:function(t){ln.stencilMask(t)},Va:function(t,e){ln.stencilMaskSeparate(t,e)},Wa:function(t,e,n){ln.stencilOp(t,e,n)},Xa:function(t,e,n,r){ln.stencilOpSeparate(t,e,n,r)},Ya:function(t,e,n,r,i,o,a,s,l){if(2<=Ge.version)if(ln.Ce)ln.texImage2D(t,e,n,r,i,o,a,s,l);else if(l){var u=Ye(s);ln.texImage2D(t,e,n,r,i,o,a,s,u,l>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else ln.texImage2D(t,e,n,r,i,o,a,s,null);else ln.texImage2D(t,e,n,r,i,o,a,s,l?qe(s,a,r,i,l):null)},Za:function(t,e,n){ln.texParameterf(t,e,n)},_a:function(t,e,n){ln.texParameterf(t,e,N[n>>2])},$a:function(t,e,n){ln.texParameteri(t,e,n)},ab:function(t,e,n){ln.texParameteri(t,e,j[n>>2])},kc:function(t,e,n,r,i){ln.texStorage2D(t,e,n,r,i)},bb:function(t,e,n,r,i,o,a,s,l){if(2<=Ge.version)if(ln.Ce)ln.texSubImage2D(t,e,n,r,i,o,a,s,l);else if(l){var u=Ye(s);ln.texSubImage2D(t,e,n,r,i,o,a,s,u,l>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else ln.texSubImage2D(t,e,n,r,i,o,a,s,null);else u=null,l&&(u=qe(s,a,i,o,l)),ln.texSubImage2D(t,e,n,r,i,o,a,s,u)},cb:function(t,e){ln.uniform1f(Xe(t),e)},db:function(t,e,n){if(2<=Ge.version)ln.uniform1fv(Xe(t),N,n>>2,e);else{if(288>=e)for(var r=Qe[e-1],i=0;i<e;++i)r[i]=N[n+4*i>>2];else r=N.subarray(n>>2,n+4*e>>2);ln.uniform1fv(Xe(t),r)}},Vc:function(t,e){ln.uniform1i(Xe(t),e)},Wc:function(t,e,n){if(2<=Ge.version)ln.uniform1iv(Xe(t),j,n>>2,e);else{if(288>=e)for(var r=Ke[e-1],i=0;i<e;++i)r[i]=j[n+4*i>>2];else r=j.subarray(n>>2,n+4*e>>2);ln.uniform1iv(Xe(t),r)}},Xc:function(t,e,n){ln.uniform2f(Xe(t),e,n)},Yc:function(t,e,n){if(2<=Ge.version)ln.uniform2fv(Xe(t),N,n>>2,2*e);else{if(144>=e)for(var r=Qe[2*e-1],i=0;i<2*e;i+=2)r[i]=N[n+4*i>>2],r[i+1]=N[n+(4*i+4)>>2];else r=N.subarray(n>>2,n+8*e>>2);ln.uniform2fv(Xe(t),r)}},Uc:function(t,e,n){ln.uniform2i(Xe(t),e,n)},Tc:function(t,e,n){if(2<=Ge.version)ln.uniform2iv(Xe(t),j,n>>2,2*e);else{if(144>=e)for(var r=Ke[2*e-1],i=0;i<2*e;i+=2)r[i]=j[n+4*i>>2],r[i+1]=j[n+(4*i+4)>>2];else r=j.subarray(n>>2,n+8*e>>2);ln.uniform2iv(Xe(t),r)}},Sc:function(t,e,n,r){ln.uniform3f(Xe(t),e,n,r)},Rc:function(t,e,n){if(2<=Ge.version)ln.uniform3fv(Xe(t),N,n>>2,3*e);else{if(96>=e)for(var r=Qe[3*e-1],i=0;i<3*e;i+=3)r[i]=N[n+4*i>>2],r[i+1]=N[n+(4*i+4)>>2],r[i+2]=N[n+(4*i+8)>>2];else r=N.subarray(n>>2,n+12*e>>2);ln.uniform3fv(Xe(t),r)}},Qc:function(t,e,n,r){ln.uniform3i(Xe(t),e,n,r)},Pc:function(t,e,n){if(2<=Ge.version)ln.uniform3iv(Xe(t),j,n>>2,3*e);else{if(96>=e)for(var r=Ke[3*e-1],i=0;i<3*e;i+=3)r[i]=j[n+4*i>>2],r[i+1]=j[n+(4*i+4)>>2],r[i+2]=j[n+(4*i+8)>>2];else r=j.subarray(n>>2,n+12*e>>2);ln.uniform3iv(Xe(t),r)}},Oc:function(t,e,n,r,i){ln.uniform4f(Xe(t),e,n,r,i)},Nc:function(t,e,n){if(2<=Ge.version)ln.uniform4fv(Xe(t),N,n>>2,4*e);else{if(72>=e){var r=Qe[4*e-1],i=N;n>>=2;for(var o=0;o<4*e;o+=4){var a=n+o;r[o]=i[a],r[o+1]=i[a+1],r[o+2]=i[a+2],r[o+3]=i[a+3]}}else r=N.subarray(n>>2,n+16*e>>2);ln.uniform4fv(Xe(t),r)}},Bc:function(t,e,n,r,i){ln.uniform4i(Xe(t),e,n,r,i)},Cc:function(t,e,n){if(2<=Ge.version)ln.uniform4iv(Xe(t),j,n>>2,4*e);else{if(72>=e)for(var r=Ke[4*e-1],i=0;i<4*e;i+=4)r[i]=j[n+4*i>>2],r[i+1]=j[n+(4*i+4)>>2],r[i+2]=j[n+(4*i+8)>>2],r[i+3]=j[n+(4*i+12)>>2];else r=j.subarray(n>>2,n+16*e>>2);ln.uniform4iv(Xe(t),r)}},Dc:function(t,e,n,r){if(2<=Ge.version)ln.uniformMatrix2fv(Xe(t),!!n,N,r>>2,4*e);else{if(72>=e)for(var i=Qe[4*e-1],o=0;o<4*e;o+=4)i[o]=N[r+4*o>>2],i[o+1]=N[r+(4*o+4)>>2],i[o+2]=N[r+(4*o+8)>>2],i[o+3]=N[r+(4*o+12)>>2];else i=N.subarray(r>>2,r+16*e>>2);ln.uniformMatrix2fv(Xe(t),!!n,i)}},Ec:function(t,e,n,r){if(2<=Ge.version)ln.uniformMatrix3fv(Xe(t),!!n,N,r>>2,9*e);else{if(32>=e)for(var i=Qe[9*e-1],o=0;o<9*e;o+=9)i[o]=N[r+4*o>>2],i[o+1]=N[r+(4*o+4)>>2],i[o+2]=N[r+(4*o+8)>>2],i[o+3]=N[r+(4*o+12)>>2],i[o+4]=N[r+(4*o+16)>>2],i[o+5]=N[r+(4*o+20)>>2],i[o+6]=N[r+(4*o+24)>>2],i[o+7]=N[r+(4*o+28)>>2],i[o+8]=N[r+(4*o+32)>>2];else i=N.subarray(r>>2,r+36*e>>2);ln.uniformMatrix3fv(Xe(t),!!n,i)}},Fc:function(t,e,n,r){if(2<=Ge.version)ln.uniformMatrix4fv(Xe(t),!!n,N,r>>2,16*e);else{if(18>=e){var i=Qe[16*e-1],o=N;r>>=2;for(var a=0;a<16*e;a+=16){var s=r+a;i[a]=o[s],i[a+1]=o[s+1],i[a+2]=o[s+2],i[a+3]=o[s+3],i[a+4]=o[s+4],i[a+5]=o[s+5],i[a+6]=o[s+6],i[a+7]=o[s+7],i[a+8]=o[s+8],i[a+9]=o[s+9],i[a+10]=o[s+10],i[a+11]=o[s+11],i[a+12]=o[s+12],i[a+13]=o[s+13],i[a+14]=o[s+14],i[a+15]=o[s+15]}}else i=N.subarray(r>>2,r+64*e>>2);ln.uniformMatrix4fv(Xe(t),!!n,i)}},Gc:function(t){t=_e[t],ln.useProgram(t),ln.Df=t},Hc:function(t,e){ln.vertexAttrib1f(t,e)},Ic:function(t,e){ln.vertexAttrib2f(t,N[e>>2],N[e+4>>2])},Jc:function(t,e){ln.vertexAttrib3f(t,N[e>>2],N[e+4>>2],N[e+8>>2])},Kc:function(t,e){ln.vertexAttrib4f(t,N[e>>2],N[e+4>>2],N[e+8>>2],N[e+12>>2])},lc:function(t,e){ln.vertexAttribDivisor(t,e)},mc:function(t,e,n,r,i){ln.vertexAttribIPointer(t,e,n,r,i)},Lc:function(t,e,n,r,i,o){ln.vertexAttribPointer(t,e,n,!!r,i,o)},Mc:function(t,e,n,r){ln.viewport(t,e,n,r)},gb:function(t,e,n,r){ln.waitSync(Re[t],e,(n>>>0)+4294967296*r)},e:function(t,e){throw Cn(t,e||1),"longjmp"},pb:function(t){var e=D.length;if(2147483648<(t>>>=0))return!1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296),0<(r=Math.max(t,r))%65536&&(r+=65536-r%65536);t:{try{M.grow(Math.min(2147483648,r)-L.byteLength+65535>>>16),K();var i=1;break t}catch(t){}i=void 0}if(i)return!0}return!1},kb:function(){return Ge?Ge.Rf:0},ub:function(t,e){var n=0;return Ze().forEach((function(r,i){var o=e+n;for(i=j[t+4*i>>2]=o,o=0;o<r.length;++o)I[i++>>0]=r.charCodeAt(o);I[i>>0]=0,n+=r.length+1})),0},vb:function(t,e){var n=Ze();j[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),j[e>>2]=r,0},Gb:function(t){_||(e.onExit&&e.onExit(t),k=!0),d(t,new Tn(t))},H:function(){return 0},tb:function(t,e){return t=1==t||2==t?2:ot(),I[e>>0]=t,0},nb:function(t,e,n,r,i,o){return t=pt.Nf(t),e=pt.Ef(t,e,n,r),j[o>>2]=e,0},wb:function(t,e,n,r){return t=pt.Nf(t),e=pt.Ef(t,e,n),j[r>>2]=e,0},mb:function(){},N:function(t,e,n,r){for(var i=0,o=0;o<n;o++){for(var a=j[e+8*o>>2],s=j[e+(8*o+4)>>2],l=0;l<s;l++){var u=D[a+l],c=dt[t];0===u||10===u?((1===t?A:T)(E(c,0)),c.length=0):c.push(u)}i+=s}return j[r>>2]=i,0},a:function(){return P},l:function(t,e){var n=bn();try{return J.get(t)(e)}catch(t){if(wn(n),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},o:function(t,e,n){var r=bn();try{return J.get(t)(e,n)}catch(t){if(wn(r),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},g:function(t,e,n,r){var i=bn();try{return J.get(t)(e,n,r)}catch(t){if(wn(i),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},D:function(t,e,n,r,i){var o=bn();try{return J.get(t)(e,n,r,i)}catch(t){if(wn(o),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Lb:function(t,e,n,r,i,o){var a=bn();try{return J.get(t)(e,n,r,i,o)}catch(t){if(wn(a),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},W:function(t,e,n,r,i,o,a){var s=bn();try{return J.get(t)(e,n,r,i,o,a)}catch(t){if(wn(s),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},V:function(t,e,n,r,i,o,a,s,l,u){var c=bn();try{return J.get(t)(e,n,r,i,o,a,s,l,u)}catch(t){if(wn(c),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},U:function(t){var e=bn();try{J.get(t)()}catch(t){if(wn(e),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},n:function(t,e){var n=bn();try{J.get(t)(e)}catch(t){if(wn(n),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},r:function(t,e,n){var r=bn();try{J.get(t)(e,n)}catch(t){if(wn(r),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},i:function(t,e,n,r){var i=bn();try{J.get(t)(e,n,r)}catch(t){if(wn(i),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},q:function(t,e,n,r,i){var o=bn();try{J.get(t)(e,n,r,i)}catch(t){if(wn(o),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Jb:function(t,e,n,r,i,o){var a=bn();try{J.get(t)(e,n,r,i,o)}catch(t){if(wn(a),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Hb:function(t,e,n,r,i,o,a){var s=bn();try{J.get(t)(e,n,r,i,o,a)}catch(t){if(wn(s),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Ib:function(t,e,n,r,i,o,a,s,l,u){var c=bn();try{J.get(t)(e,n,r,i,o,a,s,l,u)}catch(t){if(wn(c),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},b:function(t){P=t},rb:function(t,e,n,r){return function(t,e,n,r){function i(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.length<e;)t=n[0]+t;return t}function o(t,e){return i(t,e,"0")}function a(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function s(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){t=on(new Date(t.ae+1900,0,1),t.Ye);var e=new Date(t.getFullYear()+1,0,4),n=s(new Date(t.getFullYear(),0,4));return e=s(e),0>=a(n,t)?0>=a(e,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var u=j[r+40>>2];for(var c in r={ug:j[r>>2],tg:j[r+4>>2],We:j[r+8>>2],Me:j[r+12>>2],Fe:j[r+16>>2],ae:j[r+20>>2],Xe:j[r+24>>2],Ye:j[r+28>>2],Fg:j[r+32>>2],sg:j[r+36>>2],vg:u?B(u):""},n=B(n),u={"%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"})n=n.replace(new RegExp(c,"g"),u[c]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),f="January February March April May June July August September October November December".split(" ");for(c in u={"%a":function(t){return h[t.Xe].substring(0,3)},"%A":function(t){return h[t.Xe]},"%b":function(t){return f[t.Fe].substring(0,3)},"%B":function(t){return f[t.Fe]},"%C":function(t){return o((t.ae+1900)/100|0,2)},"%d":function(t){return o(t.Me,2)},"%e":function(t){return i(t.Me,2," ")},"%g":function(t){return l(t).toString().substring(2)},"%G":function(t){return l(t)},"%H":function(t){return o(t.We,2)},"%I":function(t){return 0==(t=t.We)?t=12:12<t&&(t-=12),o(t,2)},"%j":function(t){return o(t.Me+en(tn(t.ae+1900)?nn:rn,t.Fe-1),3)},"%m":function(t){return o(t.Fe+1,2)},"%M":function(t){return o(t.tg,2)},"%n":function(){return"\n"},"%p":function(t){return 0<=t.We&&12>t.We?"AM":"PM"},"%S":function(t){return o(t.ug,2)},"%t":function(){return"\t"},"%u":function(t){return t.Xe||7},"%U":function(t){var e=new Date(t.ae+1900,0,1),n=0===e.getDay()?e:on(e,7-e.getDay());return 0>a(n,t=new Date(t.ae+1900,t.Fe,t.Me))?o(Math.ceil((31-n.getDate()+(en(tn(t.getFullYear())?nn:rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===a(n,e)?"01":"00"},"%V":function(t){var e=new Date(t.ae+1901,0,4),n=s(new Date(t.ae+1900,0,4));e=s(e);var r=on(new Date(t.ae+1900,0,1),t.Ye);return 0>a(r,n)?"53":0>=a(e,r)?"01":o(Math.ceil((n.getFullYear()<t.ae+1900?t.Ye+32-n.getDate():t.Ye+1-n.getDate())/7),2)},"%w":function(t){return t.Xe},"%W":function(t){var e=new Date(t.ae,0,1),n=1===e.getDay()?e:on(e,0===e.getDay()?1:7-e.getDay()+1);return 0>a(n,t=new Date(t.ae+1900,t.Fe,t.Me))?o(Math.ceil((31-n.getDate()+(en(tn(t.getFullYear())?nn:rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===a(n,e)?"01":"00"},"%y":function(t){return(t.ae+1900).toString().substring(2)},"%Y":function(t){return t.ae+1900},"%z":function(t){var e=0<=(t=t.sg);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.vg},"%%":function(){return"%"}})n.includes(c)&&(n=n.replace(new RegExp(c,"g"),u[c](r)));return c=function(t){var e=Array(R(t)+1);return O(t,e,0,e.length),e}(n),c.length>e?0:(I.set(c,t),c.length-1)}(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,M=e.asm.ad,K(),J=e.asm.dd,tt.unshift(e.asm.bd),rt--,e.monitorRunDependencies&&e.monitorRunDependencies(rt),0==rt&&it&&(t=it,it=null,t())}function n(e){t(e.instance)}function r(t){return function(){if(!S&&(l||u)){if("function"==typeof fetch&&!st.startsWith("file://"))return fetch(st,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+st+"'";return t.arrayBuffer()})).catch((function(){return ut()}));if(g)return new Promise((function(t,e){g(st,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return ut()}))}().then((function(t){return WebAssembly.instantiate(t,o)})).then(t,(function(t){T("failed to asynchronously prepare wasm: "+t),ot(t)}))}var o={a:fn};if(rt++,e.monitorRunDependencies&&e.monitorRunDependencies(rt),e.instantiateWasm)try{return e.instantiateWasm(o,t)}catch(t){return T("Module.instantiateWasm callback failed with error: "+t),!1}(S||"function"!=typeof WebAssembly.instantiateStreaming||at()||st.startsWith("file://")||"function"!=typeof fetch?r(n):fetch(st,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,o).then(n,(function(t){return T("wasm streaming compile failed: "+t),T("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(i)}(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.bd).apply(null,arguments)};var dn=e._memset=function(){return(dn=e._memset=e.asm.cd).apply(null,arguments)},pn=e._malloc=function(){return(pn=e._malloc=e.asm.ed).apply(null,arguments)},gn=e._free=function(){return(gn=e._free=e.asm.fd).apply(null,arguments)},yn=e.___errno_location=function(){return(yn=e.___errno_location=e.asm.gd).apply(null,arguments)},mn=e.___getTypeName=function(){return(mn=e.___getTypeName=e.asm.hd).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.id).apply(null,arguments)};var vn,bn=e.stackSave=function(){return(bn=e.stackSave=e.asm.jd).apply(null,arguments)},wn=e.stackRestore=function(){return(wn=e.stackRestore=e.asm.kd).apply(null,arguments)},Cn=e._setThrew=function(){return(Cn=e._setThrew=e.asm.ld).apply(null,arguments)},An=e._memalign=function(){return(An=e._memalign=e.asm.md).apply(null,arguments)};function Tn(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Sn(){function t(){if(!vn&&(vn=!0,e.calledRun=!0,!k)){if(ct(tt),r(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();et.unshift(t)}ct(et)}}if(!(0<rt)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)nt();ct(Z),0<rt||(e.setStatus?(e.setStatus("Running..."),setTimeout((function(){setTimeout((function(){e.setStatus("")}),1),t()}),1)):t())}}if(e.dynCall_iiiji=function(){return(e.dynCall_iiiji=e.asm.nd).apply(null,arguments)},e.dynCall_ji=function(){return(e.dynCall_ji=e.asm.od).apply(null,arguments)},e.dynCall_iiji=function(){return(e.dynCall_iiji=e.asm.pd).apply(null,arguments)},e.dynCall_iijjiii=function(){return(e.dynCall_iijjiii=e.asm.qd).apply(null,arguments)},e.dynCall_iij=function(){return(e.dynCall_iij=e.asm.rd).apply(null,arguments)},e.dynCall_vijjjii=function(){return(e.dynCall_vijjjii=e.asm.sd).apply(null,arguments)},e.dynCall_viji=function(){return(e.dynCall_viji=e.asm.td).apply(null,arguments)},e.dynCall_vijiii=function(){return(e.dynCall_vijiii=e.asm.ud).apply(null,arguments)},e.dynCall_viiiiij=function(){return(e.dynCall_viiiiij=e.asm.vd).apply(null,arguments)},e.dynCall_viijii=function(){return(e.dynCall_viijii=e.asm.wd).apply(null,arguments)},e.dynCall_jii=function(){return(e.dynCall_jii=e.asm.xd).apply(null,arguments)},e.dynCall_iiij=function(){return(e.dynCall_iiij=e.asm.yd).apply(null,arguments)},e.dynCall_iiiij=function(){return(e.dynCall_iiiij=e.asm.zd).apply(null,arguments)},e.dynCall_viij=function(){return(e.dynCall_viij=e.asm.Ad).apply(null,arguments)},e.dynCall_viiij=function(){return(e.dynCall_viiij=e.asm.Bd).apply(null,arguments)},e.dynCall_vij=function(){return(e.dynCall_vij=e.asm.Cd).apply(null,arguments)},e.dynCall_jiiii=function(){return(e.dynCall_jiiii=e.asm.Dd).apply(null,arguments)},e.dynCall_jiiiiii=function(){return(e.dynCall_jiiiiii=e.asm.Ed).apply(null,arguments)},e.dynCall_jiiiiji=function(){return(e.dynCall_jiiiiji=e.asm.Fd).apply(null,arguments)},e.dynCall_iijj=function(){return(e.dynCall_iijj=e.asm.Gd).apply(null,arguments)},e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.Hd).apply(null,arguments)},e.dynCall_iiiiij=function(){return(e.dynCall_iiiiij=e.asm.Id).apply(null,arguments)},e.dynCall_iiiiijj=function(){return(e.dynCall_iiiiijj=e.asm.Jd).apply(null,arguments)},e.dynCall_iiiiiijj=function(){return(e.dynCall_iiiiiijj=e.asm.Kd).apply(null,arguments)},it=function t(){vn||Sn(),vn||(it=t)},e.run=Sn,e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return Sn(),t.ready});t.exports=r}(m);class w{}w.Transparent=[0,0,0,0],w.MediumVioletRed=[199,21,133,1],w.DeepPink=[255,20,147,1],w.PaleVioletRed=[219,112,147,1],w.HotPink=[255,105,180,1],w.LightPink=[255,182,193,1],w.Pink=[255,192,203,1],w.DarkRed=[139,0,0,1],w.Red=[255,0,0,1],w.Firebrick=[178,34,34,1],w.Crimson=[220,20,60,1],w.IndianRed=[205,92,92,1],w.LightCoral=[240,128,128,1],w.Salmon=[250,128,114,1],w.DarkSalmon=[233,150,122,1],w.LightSalmon=[255,160,122,1],w.OrangeRed=[255,69,0,1],w.Tomato=[255,99,71,1],w.DarkOrange=[255,140,0,1],w.Coral=[255,127,80,1],w.Orange=[255,165,0,1],w.DarkKhaki=[189,183,107,1],w.Gold=[255,215,0,1],w.Khaki=[240,230,140,1],w.PeachPuff=[255,218,185,1],w.Yellow=[255,255,0,1],w.PaleGoldenrod=[238,232,170,1],w.Moccasin=[255,228,181,1],w.PapayaWhip=[255,239,213,1],w.LightGoldenrodYellow=[250,250,210,1],w.LemonChiffon=[255,250,205,1],w.LightYellow=[255,255,224,1],w.Maroon=[128,0,0,1],w.Brown=[165,42,42,1],w.SaddleBrown=[139,69,19,1],w.Sienna=[160,82,45,1],w.Chocolate=[210,105,30,1],w.DarkGoldenrod=[184,134,11,1],w.Peru=[205,133,63,1],w.RosyBrown=[188,143,143,1],w.Goldenrod=[218,165,32,1],w.SandyBrown=[244,164,96,1],w.Tan=[210,180,140,1],w.Burlywood=[222,184,135,1],w.Wheat=[245,222,179,1],w.NavajoWhite=[255,222,173,1],w.Bisque=[255,228,196,1],w.BlanchedAlmond=[255,235,205,1],w.Cornsilk=[255,248,220,1],w.DarkGreen=[0,100,0,1],w.Green=[0,128,0,1],w.DarkOliveGreen=[85,107,47,1],w.ForestGreen=[34,139,34,1],w.SeaGreen=[46,139,87,1],w.Olive=[128,128,0,1],w.OliveDrab=[107,142,35,1],w.MediumSeaGreen=[60,179,113,1],w.LimeGreen=[50,205,50,1],w.Lime=[0,255,0,1],w.SpringGreen=[0,255,127,1],w.MediumSpringGreen=[0,250,154,1],w.DarkSeaGreen=[143,188,143,1],w.MediumAquamarine=[102,205,170,1],w.YellowGreen=[154,205,50,1],w.LawnGreen=[124,252,0,1],w.Chartreuse=[127,255,0,1],w.LightGreen=[144,238,144,1],w.GreenYellow=[173,255,47,1],w.PaleGreen=[152,251,152,1],w.Teal=[0,128,128,1],w.DarkCyan=[0,139,139,1],w.LightSeaGreen=[32,178,170,1],w.CadetBlue=[95,158,160,1],w.DarkTurquoise=[0,206,209,1],w.MediumTurquoise=[72,209,204,1],w.Turquoise=[64,224,208,1],w.Aqua=[0,255,255,1],w.Cyan=[0,255,255,1],w.Aquamarine=[127,255,212,1],w.PaleTurquoise=[175,238,238,1],w.LightCyan=[224,255,255,1],w.Navy=[0,0,128,1],w.DarkBlue=[0,0,139,1],w.MediumBlue=[0,0,205,1],w.Blue=[0,0,255,1],w.MidnightBlue=[25,25,112,1],w.RoyalBlue=[65,105,225,1],w.SteelBlue=[70,130,180,1],w.DodgerBlue=[30,144,255,1],w.DeepSkyBlue=[0,191,255,1],w.CornflowerBlue=[100,149,237,1],w.SkyBlue=[135,206,235,1],w.LightSkyBlue=[135,206,250,1],w.LightSteelBlue=[176,196,222,1],w.LightBlue=[173,216,230,1],w.PowderBlue=[176,224,230,1],w.Indigo=[75,0,130,1],w.Purple=[128,0,128,1],w.DarkMagenta=[139,0,139,1],w.DarkViolet=[148,0,211,1],w.DarkSlateBlue=[72,61,139,1],w.BlueViolet=[138,43,226,1],w.DarkOrchid=[153,50,204,1],w.Fuchsia=[255,0,255,1],w.Magenta=[255,0,255,1],w.SlateBlue=[106,90,205,1],w.MediumSlateBlue=[123,104,238,1],w.MediumOrchid=[186,85,211,1],w.MediumPurple=[147,112,219,1],w.Orchid=[218,112,214,1],w.Violet=[238,130,238,1],w.Plum=[221,160,221,1],w.Thistle=[216,191,216,1],w.Lavender=[230,230,250,1],w.MistyRose=[255,228,225,1],w.AntiqueWhite=[250,235,215,1],w.Linen=[250,240,230,1],w.Beige=[245,245,220,1],w.WhiteSmoke=[245,245,245,1],w.LavenderBlush=[255,240,245,1],w.OldLace=[253,245,230,1],w.AliceBlue=[240,248,255,1],w.Seashell=[255,245,238,1],w.GhostWhite=[248,248,255,1],w.Honeydew=[240,255,240,1],w.FloralWhite=[255,250,240,1],w.Azure=[240,255,255,1],w.MintCream=[245,255,250,1],w.Snow=[255,250,250,1],w.Ivory=[255,255,240,1],w.White=[255,255,255,1],w.Black=[0,0,0,1],w.DarkSlateGray=[47,79,79,1],w.DimGray=[105,105,105,1],w.SlateGray=[112,128,144,1],w.Gray=[128,128,128,1],w.LightSlateGray=[119,136,153,1],w.DarkGray=[169,169,169,1],w.Silver=[192,192,192,1],w.LightGray=[211,211,211,1],w.Gainsboro=[220,220,220,1],w.RebeccaPurple=[102,51,153,1];class C{}C.FPS_DISPLAY_TEXT_FONT_SIZE=12,C.FPS_DISPLAY_TEXT_COLOR=[0,0,0,.5],C.FPS_DISPLAY_UPDATE_INTERVAL=500,C.DEFAULT_SCENE_BACKGROUND_COLOR=w.WhiteSmoke,C.DEFAULT_SHAPE_FILL_COLOR=w.Red,C.DEFAULT_FONT_COLOR=w.Black,C.DEFAULT_FONT_SIZE=16,C.LIMITED_FPS_RATE=5,function(t){t.entity="Entity",t.scene="Scene",t.sprite="Sprite",t.label="Label",t.textline="TextLine",t.shape="Shape",t.composite="Composite"}(c||(c={}));class A{constructor(t,e){null!=t&&null!=e?(this.x=t,this.y=e):(this.x=0,this.y=0)}}!function(t){t.topToTopOf="topToTopOf",t.topToBottomOf="topToBottomOf",t.bottomToTopOf="bottomToTopOf",t.bottomToBottomOf="bottomToBottomOf",t.startToStartOf="startToStartOf",t.startToEndOf="startToEndOf",t.endToEndOf="endToEndOf",t.endToStartOf="endToStartOf"}(h||(h={}));class T{constructor(t,e){this.verticalConstraint=!1,this.focalEntityMinimum=!1,this.alterEntityMinimum=!1,this.verticalTypes=[h.topToTopOf,h.topToBottomOf,h.bottomToTopOf,h.bottomToBottomOf],this.focalEntityMinimumTypes=[h.topToTopOf,h.topToBottomOf,h.startToStartOf,h.startToEndOf],this.alterEntityMinimumTypes=[h.topToTopOf,h.bottomToTopOf,h.startToStartOf,h.endToStartOf],this.type=t,this.alterEntity=e,this.verticalTypes.includes(t)?(this.verticalConstraint=!0,this.focalEntityMinimumTypes.includes(t)?this.focalEntityMinimum=!0:this.focalEntityMinimum=!1,this.alterEntityMinimumTypes.includes(t)?this.alterEntityMinimum=!0:this.alterEntityMinimum=!1):(this.verticalConstraint=!1,this.focalEntityMinimumTypes.includes(t)?this.focalEntityMinimum=!0:this.focalEntityMinimum=!1,this.alterEntityMinimumTypes.includes(t)?this.alterEntityMinimum=!0:this.alterEntityMinimum=!1)}}class S{constructor(t=0,e=0){this.width=t,this.height=e,this.width=t,this.height=e}}function P(t,e){t.isDrawable&&function(t,e){e.anchorPoint&&(t.anchorPoint=e.anchorPoint),e.zPosition&&(t.zPosition=e.zPosition)}(t,e),t.isText&&function(t,e){e.text&&(t.text=e.text),e.fontName&&(t.fontName=e.fontName),e.fontColor&&(t.fontColor=e.fontColor),e.fontSize&&(t.fontSize=e.fontSize)}(t,e)}class _{constructor(t={}){this.type=c.entity,this.isDrawable=!1,this.isShape=!1,this.isText=!1,this.position=new A(0,0),this.scale=1,this.isUserInteractionEnabled=!1,this.hidden=!1,this.layout={},this.children=new Array,this.absolutePosition=new A(0,0),this.size=new S(0,0),this.absoluteScale=1,this.actions=new Array,this.originalActions=new Array,this.eventListeners=new Array,this.uuid=class{static generate(){let t=(new Date).getTime(),e=performance&&performance.now&&1e3*performance.now()||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n=>{let r=16*Math.random();return t>0?(r=(t+r)%16|0,t=Math.floor(t/16)):(r=(e+r)%16|0,e=Math.floor(e/16)),("x"==n?r:7&r|8).toString(16)}))}}.generate(),this.needsInitialization=!0,this.userData={},this.loopMessages=new Set,this.toString=()=>this.name!==this.uuid?`"${this.name}" (${this.type}, ${this.uuid})`:`"${this.type} (${this.uuid})`,void 0===t.name?this.name=this.uuid:this.name=t.name,t.position&&(this.position=t.position),t.scale&&(this.scale=t.scale),t.isUserInteractionEnabled&&(this.isUserInteractionEnabled=t.isUserInteractionEnabled),t.layout&&(this.layout=t.layout)}initialize(){throw new Error("initialize() called in abstract base class Entity.")}addChild(t){if(t.type==c.scene)throw new Error("A scene cannot be the child of an entity. A scene can only be added to a game object");if(t.parent=this,this.children.map((t=>t.name)).includes(t.name))throw new Error(`Cannot add child entity ${t.toString()} to parent entity ${this.toString()}. A child with name "${t.name}" already exists on parent.`);this.children.push(t)}removeAllChildren(){for(;this.children.length;)this.children.pop()}removeChild(t){if(!this.children.includes(t))throw new Error(`cannot remove entity ${t} from parent ${this} because the entity is not currently a child of the parent`);this.children=this.children.filter((t=>t!=t))}descendant(t){const e=this.descendants.filter((e=>e.name===t)).find(Boolean);if(void 0===e)throw new Error(`descendant with name ${t} not found on parent ${this.toString()}`);return e}get descendants(){function t(e,n){n.push(e),e.children.forEach((e=>t(e,n)))}const e=new Array;return this.children.forEach((n=>t(n,e))),e}onTapDown(t,e=!0){const n={eventType:"tapdown",entityName:this.name,callback:t};e&&(this.eventListeners=this.eventListeners.filter((t=>t.entityName!==n.entityName))),this.eventListeners.push(n)}parseLayoutConstraints(t,e){const n=new Array;return Object.values(h).forEach((r=>{if(void 0!==t[r]){let i,o="";if(t[r]instanceof _)i=t[r];else{const n=t[r];i=e.filter((t=>t.name===n)).find(Boolean),o=`. sibling entity named "${n}" has not been added to the game object`}if(void 0===i)throw new Error("could not find sibling entity for constraint"+o);const a=new T(r,i);n.push(a)}})),n}calculateYFromConstraint(t,e,n,r){let i=t.alterEntity.absolutePosition.y;return t.alterEntityMinimum?t.alterEntity.type!==c.scene&&(i-=.5*t.alterEntity.size.height*r):t.alterEntity.type!==c.scene?i+=.5*t.alterEntity.size.height*r:i+=t.alterEntity.size.height*r,t.focalEntityMinimum?(i+=.5*this.size.height*r,i+=e*r):(i-=.5*this.size.height*r,i-=n*r),i}calculateXFromConstraint(t,e,n,r){let i=t.alterEntity.absolutePosition.x;return t.alterEntityMinimum?t.alterEntity.type!==c.scene&&(i-=.5*t.alterEntity.size.width*r):t.alterEntity.type!==c.scene?i+=.5*t.alterEntity.size.width*r:i+=t.alterEntity.size.width*r,t.focalEntityMinimum?(i+=.5*this.size.width*r,i+=e*r):(i-=.5*this.size.width*r,i-=n*r),i}update(){var t,e,r,i,o,a,s,l,u,f,d,p,g,y,m,v;if(this.needsInitialization&&(this.initialize(),this.needsInitialization=!1),void 0===this.parent)this.absolutePosition.x=this.position.x*this.scale,this.absolutePosition.y=this.position.y*this.scale,this.absoluteScale=this.scale;else if(this.absoluteScale=this.parent.absoluteScale*this.scale,void 0===(null===(t=this.layout)||void 0===t?void 0:t.constraints))this.absolutePosition.x=this.parent.absolutePosition.x+this.position.x*this.parent.absoluteScale,this.absolutePosition.y=this.parent.absolutePosition.y+this.position.y*this.parent.absoluteScale;else{const t=null!==(i=null===(r=null===(e=this.layout)||void 0===e?void 0:e.constraints)||void 0===r?void 0:r.horizontalBias)&&void 0!==i?i:.5,n=null!==(s=null===(a=null===(o=this.layout)||void 0===o?void 0:o.constraints)||void 0===a?void 0:a.verticalBias)&&void 0!==s?s:.5,c=null!==(u=null===(l=this.layout)||void 0===l?void 0:l.marginTop)&&void 0!==u?u:0,h=null!==(d=null===(f=this.layout)||void 0===f?void 0:f.marginBottom)&&void 0!==d?d:0,b=null!==(g=null===(p=this.layout)||void 0===p?void 0:p.marginStart)&&void 0!==g?g:0,w=null!==(m=null===(y=this.layout)||void 0===y?void 0:y.marginEnd)&&void 0!==m?m:0,C=this.parseLayoutConstraints(null===(v=this.layout)||void 0===v?void 0:v.constraints,this.parentSceneAsEntity.descendants),A=this.parent.absoluteScale,T=C.filter((t=>t.verticalConstraint)).map((t=>this.calculateYFromConstraint(t,c,h,A)));0===T.length||(1===T.length?this.absolutePosition.y=T[0]:2===T.length&&(this.absolutePosition.y=Math.min(T[0],T[1])+n*Math.abs(T[0]-T[1])));const S=C.filter((t=>!t.verticalConstraint)).map((t=>this.calculateXFromConstraint(t,b,w,A)));0===S.length||(1===S.length?this.absolutePosition.x=S[0]:2===S.length&&(this.absolutePosition.x=Math.min(S[0],S[1])+t*Math.abs(S[0]-S[1])))}const b=this.actions.filter((t=>t.runDuringTransition&&!t.completed)),w=this.actions.filter((t=>!t.runDuringTransition&&!t.completed));b.length>0?(b.forEach((t=>{-1===t.runStartTime&&(t.runStartTime=Globals.now)})),b.forEach((t=>n.evaluateAction(t,this,Globals.now,Globals.deltaTime)))):w.length>0&&(w.forEach((t=>{-1===t.runStartTime&&(t.runStartTime=Globals.now)})),w.forEach((t=>n.evaluateAction(t,this,Globals.now,Globals.deltaTime))));const C=new Map;this.children.forEach((t=>{var e;C.set(t.uuid,function(t,e){const n=new Array;return void 0===e||Object.values(h).forEach((r=>{if(void 0!==e[r]){let i,o="";if(e[r]instanceof _)i=e[r];else{const n=e[r];let a;a=t.type===c.scene?t.descendants:t.parentSceneAsEntity.descendants,i=a.filter((t=>t.name===n)).find(Boolean),void 0===i&&(o=`. sibling entity named "${n}" has not been added to the game object`)}if(void 0===i)throw new Error("error getting uuid of sibling contraint"+o);i!==t&&n.push(i.uuid)}})),n}(this,null===(e=t.layout)||void 0===e?void 0:e.constraints))}));const A=this.findTopologicalSort(C);if(A.length>0){const t=A.reverse(),e=new Array;t.forEach((t=>{const n=this.children.filter((e=>e.uuid===t)).find(Boolean);if(void 0===n)throw new Error("error in dag topological sort");e.push(n)})),e.forEach((t=>t.update()))}else this.children.forEach((t=>t.update()))}drawChildren(t){this.children.filter((t=>!t.hidden&&t.isDrawable)).map((t=>t)).sort(((t,e)=>t.zPosition-e.zPosition)).forEach((e=>e.draw(t)))}run(t,e){this.actions.push(...t.initialize(this,e)),this.originalActions=this.actions.filter((t=>!1===t.runDuringTransition)).map((t=>n.cloneAction(t,e)))}removeAction(t){this.actions=this.actions.filter((e=>e.key!==t))}removeAllActions(){for(;this.actions.length;)this.actions.pop()}static getEntityOptions(t){return{name:t.name,position:t.position,scale:t.scale,isUserInteractionEnabled:t.isUserInteractionEnabled,hidden:t.hidden}}static getDrawableOptions(t){return{anchorPoint:t.anchorPoint,zPosition:t.zPosition}}static getTextOptions(t){return{text:t.text,fontName:t.fontName,fontColor:t.fontColor,fontSize:t.fontSize}}get canvasKit(){let t;return t=this.type===c.scene?this:this.parentSceneAsEntity,t.game.canvasKit}get parentSceneAsEntity(){if(this.type===c.scene)throw new Error(`Entity ${this} is a scene and cannot have a parent scene`);if(this.parent&&this.parent.type===c.scene)return this.parent;if(this.parent)return this.parent.parentSceneAsEntity;throw new Error(`Entity ${this} has not been added to a scene`)}findTopologicalSort(t){var e;const n=[],r=new Map;t.forEach(((t,e)=>{r.has(e)||r.set(e,0),t.forEach((t=>{r.has(t)?r.set(t,r.get(t)+1):r.set(t,1)}))}));const i=[];for(r.forEach(((t,e)=>{0==t&&i.push(e)}));i.length>0;){const o=i.shift();if(void 0===o)throw"bad";n.push(o),t.has(o)&&(null===(e=t.get(o))||void 0===e||e.forEach((t=>{if(r.has(t)&&r.get(t)>0){const e=r.get(t)-1;r.set(t,e),0==e&&i.push(t)}})))}return n}}class M extends _{constructor(t={}){super(t),this.type=c.sprite,this.isDrawable=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,this._imageName="",P(this,t),t.imageName&&(this.imageName=t.imageName)}initialize(){const t=this.parentSceneAsEntity.game.session;if(!t)throw new Error("activity is undefined");const e=t.imageManager,n=this.parentSceneAsEntity.game.uuid;if(this.loadedImage=e.getLoadedImage(n,this._imageName),!this.loadedImage)throw new Error(`could not create sprite. the image named ${this._imageName} has not been loaded`);this.size.width=this.loadedImage.width,this.size.height=this.loadedImage.height}set imageName(t){this._imageName=t,this.needsInitialization=!0}get imageName(){return this._imageName}update(){super.update()}draw(t){if(!this.hidden){if(this.loadedImage){t.save();const e=Globals.canvasScale/this.absoluteScale;t.scale(1/e,1/e);const n=(this.absolutePosition.x-this.size.width*this.anchorPoint.x*this.absoluteScale)*e,r=(this.absolutePosition.y-this.size.height*this.anchorPoint.y*this.absoluteScale)*e;t.drawImage(this.loadedImage.image,n,r),t.restore()}super.drawChildren(t)}}}class k extends _{constructor(t={}){super(t),this.type=c.scene,this.isDrawable=!0,this.anchorPoint=new A(0,0),this.zPosition=0,this._backgroundColor=C.DEFAULT_SCENE_BACKGROUND_COLOR,this._active=!1,this._transitioning=!1,P(this,t),t.backgroundColor&&(this.backgroundColor=t.backgroundColor)}initialize(){this.scale=Globals.rootScale,this.size.width=this.game.canvasCssWidth,this.size.height=this.game.canvasCssHeight,this.backgroundPaint=new this.canvasKit.Paint,this.backgroundPaint.setColor(this.canvasKit.Color(this.backgroundColor[0],this.backgroundColor[1],this.backgroundColor[2],this.backgroundColor[3])),this.backgroundPaint.setStyle(this.canvasKit.PaintStyle.Fill)}set game(t){this._game=t}get game(){if(void 0===this._game)throw new Error("no active game");return this._game}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this.needsInitialization=!0}setup(t){this._setupCallback=t}draw(t){t.save();const e=Globals.canvasScale/this.absoluteScale;t.scale(1/e,1/e);const n=this.canvasKit.RRectXY(this.canvasKit.LTRBRect(this.position.x*e*Globals.rootScale,this.position.y*e*Globals.rootScale,(this.position.x+this.size.width)*e*Globals.rootScale,(this.position.y+this.size.height)*e*Globals.rootScale),0,0);t.drawRRect(n,this.backgroundPaint),t.restore(),super.drawChildren(t)}}class F{constructor(){this.duration=0}static push(t,e){return new x(t,e)}}class x extends F{constructor(t,e){super(),this.type=f.push,this.direction=t,this.duration=e}}(f||(f={})).push="Push",function(t){t.up="Up",t.down="Down",t.right="Right",t.left="Left"}(d||(d={})),new Array;class E extends _{constructor(t={}){super(t),this.type=c.composite,this.compositeType="<compositeType>",this.isDrawable=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,P(this,t)}initialize(){}update(){super.update()}draw(t){super.drawChildren(t)}}!function(t){t[t.MATCH_CONSTRAINT=0]="MATCH_CONSTRAINT"}(p||(p={})),function(t){t[t.center=0]="center",t[t.left=1]="left",t[t.right=2]="right"}(g||(g={}));class B extends _{constructor(t={}){super(t),this.type=c.label,this.isDrawable=!0,this.isText=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,this._text="",this._fontColor=C.DEFAULT_FONT_COLOR,this._fontSize=C.DEFAULT_FONT_SIZE,this._horizontalAlignmentMode=g.center,P(this,t),t.horizontalAlignmentMode&&(this.horizontalAlignmentMode=t.horizontalAlignmentMode),void 0!==t.preferredMaxLayoutWidth&&(this.preferredMaxLayoutWidth=t.preferredMaxLayoutWidth),t.backgroundColor&&(this.backgroundColor=t.backgroundColor)}initialize(){var t,e,n;let r=this.canvasKit.TextAlign.Center;switch(this.horizontalAlignmentMode){case g.center:r=this.canvasKit.TextAlign.Center;break;case g.left:r=this.canvasKit.TextAlign.Left;break;case g.right:r=this.canvasKit.TextAlign.Right;break;default:throw new Error("unknown horizontalAlignmentMode")}this.paraStyle=new this.canvasKit.ParagraphStyle({textStyle:{color:this.canvasKit.Color(this.fontColor[0],this.fontColor[1],this.fontColor[2],this.fontColor[3]),fontSize:this.fontSize*Globals.canvasScale},textAlign:r}),this.fontName&&this.paraStyle.textStyle&&(this.paraStyle.textStyle.fontFamilies=[this.fontName]),this.backgroundColor&&this.paraStyle.textStyle&&(this.paraStyle.textStyle.backgroundColor=this.backgroundColor);const i=this.parentSceneAsEntity.game.session;if(!i)throw new Error("activity is undefined");const o=i.fontManager;if(void 0===o.fontMgr)throw new Error("no fonts loaded");const a=this.canvasKit.ParagraphBuilder.Make(this.paraStyle,o.fontMgr);this.text||(this.text=""),a.addText(this.text),""===this.text&&console.warn(`warning: empty text in label "${this.name}"`),this.paragraph=a.build();const s=null!==(t=this.preferredMaxLayoutWidth)&&void 0!==t?t:Globals.canvasCssWidth;let l=s;if(0===s||0===this.layout.width){if(void 0===this.parent)throw new Error("width is set to match parent, but entity has no parent");const t=null!==(e=this.layout.marginStart)&&void 0!==e?e:0,r=null!==(n=this.layout.marginEnd)&&void 0!==n?n:0;l=this.parent.size.width-(t+r)}this.paragraph.layout(l*Globals.canvasScale),this.size.width=l,this.size.height=this.paragraph.getHeight()/Globals.canvasScale}get text(){return this._text}set text(t){this._text=t,this.needsInitialization=!0}get fontName(){return this._fontName}set fontName(t){this._fontName=t,this.needsInitialization=!0}get fontColor(){return this._fontColor}set fontColor(t){this._fontColor=t,this.needsInitialization=!0}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t,this.needsInitialization=!0}get horizontalAlignmentMode(){return this._horizontalAlignmentMode}set horizontalAlignmentMode(t){this._horizontalAlignmentMode=t,this.needsInitialization=!0}get preferredMaxLayoutWidth(){return this._preferredMaxLayoutWidth}set preferredMaxLayoutWidth(t){this._preferredMaxLayoutWidth=t,this.needsInitialization=!0}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this.needsInitialization=!0}update(){super.update()}draw(t){if(this.parent&&""!==this.text){t.save();const e=Globals.canvasScale/this.absoluteScale;t.scale(1/e,1/e);const n=(this.absolutePosition.x-this.size.width*this.anchorPoint.x*this.absoluteScale)*e,r=(this.absolutePosition.y-this.size.height*this.anchorPoint.y*this.absoluteScale)*e;if(void 0===this.paragraph)throw new Error("no paragraph");t.drawParagraph(this.paragraph,n,r),t.restore()}super.drawChildren(t)}}class O{constructor(t){this.origin=t.origin,this.size=t.size,this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height}}!function(t){t[void 0]="Undefined",t.rectangle="Rectangle",t.circle="Circle"}(y||(y={}));class R extends _{constructor(t={}){super(t),this.type=c.shape,this.isDrawable=!0,this.isShape=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,this.shapeType=y.undefined,this.cornerRadius=0,this._fillColor=C.DEFAULT_SHAPE_FILL_COLOR,P(this,t),void 0!==t.circleOfRadius&&(this.circleOfRadius=t.circleOfRadius,this.shapeType=y.circle),t.rect&&(t.rect.size?(this.size.width=t.rect.size.width,this.size.height=t.rect.size.height):void 0!==t.rect.width&&void 0!==t.rect.height&&(this.size.width=t.rect.width,this.size.height=t.rect.height),t.rect.origin?this.position=t.rect.origin:void 0!==t.rect.x&&void 0!==t.rect.y&&(this.position=new A(t.rect.x,t.rect.y)),this.shapeType=y.rectangle),t.cornerRadius&&(this.cornerRadius=t.cornerRadius),t.fillColor&&(this.fillColor=t.fillColor),t.strokeColor&&(this.strokeColor=t.strokeColor),t.lineWidth&&(this.lineWidth=t.lineWidth),t.strokeColor&&void 0===t.lineWidth&&console.warn(`warning: for entity ${this}, strokeColor = ${t.strokeColor} but lineWidth is undefined. In normal usage, both would be set or both would be undefined.`),void 0===t.strokeColor&&t.lineWidth&&console.warn(`warning: for entity ${this}, lineWidth = ${t.lineWidth} but strokeColor is undefined. In normal usage, both would be set or both would be undefined.`)}initialize(){if(this.fillColor){const t=this.canvasKit;this.fillColorPaint=new t.Paint,this.fillColorPaint.setColor(t.Color(this.fillColor[0],this.fillColor[1],this.fillColor[2],this.fillColor[3])),this.fillColorPaint.setStyle(t.PaintStyle.Fill),this.fillColorPaint.setAntiAlias(!0)}if(this.strokeColor){const t=this.canvasKit;this.strokeColorPaint=new t.Paint,this.strokeColorPaint.setColor(t.Color(this.strokeColor[0],this.strokeColor[1],this.strokeColor[2],this.strokeColor[3])),this.strokeColorPaint.setStyle(t.PaintStyle.Stroke),this.strokeColorPaint.setAntiAlias(!0)}}get fillColor(){return this._fillColor}set fillColor(t){this._fillColor=t,this.needsInitialization=!0}get strokeColor(){return this._strokeColor}set strokeColor(t){this._strokeColor=t,this.needsInitialization=!0}update(){super.update()}draw(t){t.save();const e=Globals.canvasScale/this.absoluteScale;if(t.scale(1/e,1/e),this.shapeType===y.circle&&void 0!==this.circleOfRadius){const n=this.absolutePosition.x*e,r=this.absolutePosition.y*e,i=this.circleOfRadius*this.absoluteScale*e;this.fillColor&&this.fillColorPaint&&t.drawCircle(n,r,i,this.fillColorPaint),this.strokeColor&&this.strokeColorPaint&&this.lineWidth&&(this.strokeColorPaint.setStrokeWidth(this.lineWidth*e),t.drawCircle(n,r,i,this.strokeColorPaint))}if(this.shapeType===y.rectangle){const n=this.canvasKit.RRectXY(this.canvasKit.LTRBRect((this.absolutePosition.x-this.anchorPoint.x*this.size.width*this.absoluteScale)*e,(this.absolutePosition.y-this.anchorPoint.y*this.size.height*this.absoluteScale)*e,(this.absolutePosition.x+this.size.width*this.absoluteScale-this.anchorPoint.x*this.size.width*this.absoluteScale)*e,(this.absolutePosition.y+this.size.height*this.absoluteScale-this.anchorPoint.y*this.size.height*this.absoluteScale)*e),this.cornerRadius*e,this.cornerRadius*e);this.fillColor&&this.fillColorPaint&&t.drawRRect(n,this.fillColorPaint),this.strokeColor&&this.strokeColorPaint&&this.lineWidth&&(this.strokeColorPaint.setStrokeWidth(this.lineWidth*e),t.drawRRect(n,this.strokeColorPaint))}t.restore(),super.drawChildren(t)}}class L extends E{constructor(t){if(super(t),this.compositeType="grid",this.rows=0,this.columns=0,this.gridBackgroundColor=[0,0,233,.25],this.gridLineColor=w.Red,this.gridLineWidth=1,this.gridChildren=new Array,!t.size)throw new Error("grid size must be specified");if(this.size=t.size,!t.rows)throw new Error("rows must be specified");if(!(t.rows>=1))throw new Error("rows must be at least 1");if(this.rows=t.rows,!t.columns)throw new Error("columns must be specified");if(!(t.columns>=1))throw new Error("columns must be at least 1");this.columns=t.columns,t.backgroundColor&&(this.gridBackgroundColor=t.backgroundColor),t.gridLineColor&&(this.gridLineColor=t.gridLineColor),t.gridLineWidth&&(this.gridLineWidth=t.gridLineWidth),this.cellWidth=this.size.width/this.columns,this.cellHeight=this.size.height/this.rows}initialize(){super.removeAllChildren(),this.gridBackground=new R({name:"_"+this.name+"-gridBackground",rect:new O({size:this.size}),fillColor:this.gridBackgroundColor,strokeColor:this.gridLineColor,lineWidth:this.gridLineWidth,isUserInteractionEnabled:this.isUserInteractionEnabled}),this.addChild(this.gridBackground),this.gridBackground.isUserInteractionEnabled=this.isUserInteractionEnabled;for(let t=1;t<this.columns;t++){const e=new R({name:"_"+this.name+"-gridVerticalLine-"+t,rect:new O({size:new S(this.gridLineWidth,this.size.height),origin:new A(-this.size.width/2+this.cellWidth*t,0)}),fillColor:this.gridLineColor});this.gridBackground.addChild(e)}for(let t=1;t<this.rows;t++){const e=new R({name:"_"+this.name+"-gridHorizontalLine-"+t,rect:new O({size:new S(this.size.width,this.gridLineWidth),origin:new A(0,-this.size.height/2+this.cellHeight*t)}),fillColor:this.gridLineColor});this.gridBackground.addChild(e)}this.gridChildren&&this.gridChildren.forEach((t=>{if(!this.cellWidth||!this.cellHeight||!this.gridBackground)throw new Error("cellWidth, cellHeight, or gridBackground undefined or null");const e=-this.size.width/2+this.cellWidth/2+t.column*this.cellWidth,n=-this.size.height/2+this.cellHeight/2+t.row*this.cellHeight;t.entity.position=new A(e,n),this.gridBackground.addChild(t.entity)})),this.needsInitialization=!1}update(){super.update()}draw(t){super.drawChildren(t)}removeAllChildren(){if(0!==this.gridChildren.length){for(;this.gridChildren.length;)this.gridChildren.pop();this.needsInitialization=!0}}addAtCell(t,e,n){(e<0||e>=this.rows||n<0||n>=this.columns)&&console.warn(`warning: addAtCell() requested to add entity at row ${e}, column ${n}. This is outside the bounds of grid ${this.name}, which is size ${this.rows}x${this.columns}. Note that addAtCell() uses zero-based indexing. AddAtCell() will proceed, but may draw entities outside the grid`),this.gridChildren.push({entity:t,row:e,column:n}),this.needsInitialization=!0}removeAllAtCell(t,e){this.gridChildren=this.gridChildren.filter((n=>n.row!=t&&n.column!=e)),this.needsInitialization=!0}removeChild(t){if(!this.gridBackground)throw new Error("gridBackground is null or undefined");this.gridBackground.removeChild(t),this.gridChildren=this.gridChildren.filter((e=>e.entity!=t)),this.needsInitialization=!0}}class I extends E{constructor(t){super(t),this.compositeType="button",this._backgroundColor=w.RoyalBlue,this.size=new S(200,50),this.cornerRadius=9,this.fontSize=20,this.text="",this._fontColor=w.White,t.text&&(this.text=t.text),t.size&&(this.size=t.size),t.cornerRadius&&(this.cornerRadius=t.cornerRadius),t.fontSize&&(this.fontSize=t.fontSize),t.fontColor&&(this.fontColor=t.fontColor),t.backgroundColor&&(this.backgroundColor=t.backgroundColor)}initialize(){this.removeAllChildren(),this.backgroundPaint=new this.canvasKit.Paint,this.backgroundPaint.setColor(this.canvasKit.Color(this.backgroundColor[0],this.backgroundColor[1],this.backgroundColor[2],this.backgroundColor[3])),this.backgroundPaint.setStyle(this.canvasKit.PaintStyle.Fill);const t=new R({rect:new O({size:this.size}),cornerRadius:this.cornerRadius,fillColor:this._backgroundColor});this.addChild(t);const e=new B({text:this.text,fontSize:this.fontSize,fontColor:this.fontColor});t.addChild(e),this.needsInitialization=!1}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this.needsInitialization=!0}get fontColor(){return this._fontColor}set fontColor(t){this._fontColor=t,this.needsInitialization=!0}update(){super.update()}draw(t){super.drawChildren(t)}}class D extends class{static Create(t){return new Array}}{static Create(t){const e=new Array;return t.instructionScenes.forEach(((n,r)=>{var i,o,a,s,l,u,c,h,f,y,m,v,b,C,A,T,P,_,x,E,O,R,L,D,W,z,j,G,N,U,H,V,Y,q;const X=null!==(o=null!==(i=n.nextSceneTransition)&&void 0!==i?i:t.nextSceneTransition)&&void 0!==o?o:F.push(d.left,500),$=null!==(s=null!==(a=n.backSceneTransition)&&void 0!==a?a:t.backSceneTransition)&&void 0!==s?s:F.push(d.right,500),Q=null!==(u=null!==(l=n.backButtonText)&&void 0!==l?l:t.backButtonText)&&void 0!==u?u:"Back",K=null!==(h=null!==(c=n.nextButtonText)&&void 0!==c?c:t.nextButtonText)&&void 0!==h?h:"Next",J=null!==(y=null!==(f=n.backButtonWidth)&&void 0!==f?f:t.backButtonWidth)&&void 0!==y?y:125,Z=null!==(v=null!==(m=n.nextButtonWidth)&&void 0!==m?m:t.nextButtonWidth)&&void 0!==v?v:125,tt=null!==(C=null!==(b=n.backButtonHeight)&&void 0!==b?b:t.backButtonHeight)&&void 0!==C?C:50,et=null!==(T=null!==(A=n.nextButtonHeight)&&void 0!==A?A:t.nextButtonHeight)&&void 0!==T?T:50,nt=null!==(P=n.backgroundColor)&&void 0!==P?P:t.backgroundColor,rt=null===(_=n.imageAboveText)||void 0===_||_,it=null!==(x=n.imageMarginTop)&&void 0!==x?x:0,ot=null!==(E=n.imageMarginBottom)&&void 0!==E?E:0,at=null!==(O=n.textMarginStart)&&void 0!==O?O:48,st=null!==(R=n.textMarginEnd)&&void 0!==R?R:48,lt=null!==(L=n.textAlignmentMode)&&void 0!==L?L:g.left,ut=null!==(D=n.textFontSize)&&void 0!==D?D:16,ct=null!==(W=n.titleFontSize)&&void 0!==W?W:16,ht=null!==(z=n.titleMarginTop)&&void 0!==z?z:48,ft=null!==(G=null!==(j=n.backButtonBackgroundColor)&&void 0!==j?j:t.backButtonBackgroundColor)&&void 0!==G?G:w.RoyalBlue,dt=null!==(U=null!==(N=n.backButtonFontColor)&&void 0!==N?N:t.backButtonFontColor)&&void 0!==U?U:w.White,pt=null!==(V=null!==(H=n.nextButtonBackgroundColor)&&void 0!==H?H:t.nextButtonBackgroundColor)&&void 0!==V?V:w.RoyalBlue,gt=null!==(q=null!==(Y=n.nextButtonFontColor)&&void 0!==Y?Y:t.nextButtonFontColor)&&void 0!==q?q:w.White,yt=new k({name:t.sceneNamePrefix+"-"+(r+1).toString().padStart(2,"0"),backgroundColor:nt});let mt,vt;if(void 0!==n.title&&(mt=new B({text:n.title,fontSize:ct,layout:{marginTop:ht,constraints:{topToTopOf:yt,startToStartOf:yt,endToEndOf:yt}}}),yt.addChild(mt)),void 0!==n.text&&(vt=new B({text:n.text,preferredMaxLayoutWidth:p.MATCH_CONSTRAINT,horizontalAlignmentMode:lt,fontSize:ut,layout:{marginStart:at,marginEnd:st,constraints:{topToTopOf:yt,bottomToBottomOf:yt,startToStartOf:yt,endToEndOf:yt,verticalBias:n.textVerticalBias}}}),yt.addChild(vt)),void 0!==n.image){let t;t=new M(void 0!==vt?rt?{imageName:n.image,layout:{marginBottom:ot,constraints:{bottomToTopOf:vt,startToStartOf:yt,endToEndOf:yt}}}:{imageName:n.image,layout:{marginTop:it,constraints:{topToBottomOf:vt,startToStartOf:yt,endToEndOf:yt}}}:{imageName:n.image,layout:{constraints:{topToTopOf:yt,bottomToBottomOf:yt,verticalBias:n.imageVerticalBias,startToStartOf:yt,endToEndOf:yt}}}),yt.addChild(t)}if(r>0){const e=new I({text:Q,fontColor:dt,backgroundColor:ft,size:new S(J,tt),layout:{marginStart:32,marginBottom:32,constraints:{bottomToBottomOf:yt,startToStartOf:yt}}});e.isUserInteractionEnabled=!0,e.onTapDown((()=>{yt.game.presentScene(t.sceneNamePrefix+"-"+(r+1-1).toString().padStart(2,"0"),$)})),yt.addChild(e)}const bt=new I({text:K,fontColor:gt,backgroundColor:pt,size:new S(Z,et),layout:{marginEnd:32,marginBottom:32,constraints:{bottomToBottomOf:yt,endToEndOf:yt}}});bt.isUserInteractionEnabled=!0,r!==t.instructionScenes.length-1?bt.onTapDown((()=>{yt.game.presentScene(t.sceneNamePrefix+"-"+(r+1+1).toString().padStart(2,"0"),X)})):void 0!==t.postInstructionsScene?bt.onTapDown((()=>{var e;yt.game.presentScene(null!==(e=t.postInstructionsScene)&&void 0!==e?e:"",X)})):console.warn("warning: instructions postInstructionsScene is not defined"),yt.addChild(bt),e.push(yt)})),e}}export{I as Button,L as Grid,D as Instructions};
|
|
1
|
+
var t,e;!function(t){t.sequence="Sequence",t.group="Group",t.wait="Wait",t.custom="Custom",t.move="Move",t.scale="Scale"}(t||(t={}));class n{constructor(t=!1){this.startOffset=-1,this.endOffset=-1,this.started=!1,this.running=!1,this.completed=!1,this.runStartTime=-1,this.duration=0,this.isParent=!1,this.isChild=!1,this.runDuringTransition=t}static Move(t){var e;return new s(t.point,t.duration,null!==(e=t.runDuringTransition)&&void 0!==e&&e)}static Wait(t){var e;return new a(t.duration,null!==(e=t.runDuringTransition)&&void 0!==e&&e)}static Custom(t){var e;return new o(t.callback,null!==(e=t.runDuringTransition)&&void 0!==e&&e)}static Scale(t){return new l(t.scale,t.duration,t.runDuringTransition)}static Sequence(t){const e=new r(t);return e.children=t,e}static Group(t){const e=new i(t);return e.children=t,e}initialize(e,r){this.assignParents(this,this,r);const i=this.flattenActions(this);return i.forEach((t=>t.duration=this.calculateDuration(t))),this.calculateStartEndOffsets(this),i.filter((e=>e.type!==t.group&&e.type!==t.sequence)).map((t=>n.cloneAction(t,r)))}static cloneAction(e,r){let i;switch(e.type){case t.sequence:{const t=e.children.map((t=>n.cloneAction(t,r)));i=n.Sequence(t);break}case t.group:{const t=e.children.map((t=>n.cloneAction(t,r)));i=n.Sequence(t);break}case t.move:{const t=e;i=n.Move({point:t.point,duration:t.duration,runDuringTransition:t.runDuringTransition});break}case t.custom:{const t=e;i=n.Custom({callback:t.callback,runDuringTransition:t.runDuringTransition});break}case t.scale:{const t=e;i=n.Scale({scale:t.scale,duration:t.duration,runDuringTransition:t.runDuringTransition});break}case t.wait:{const t=e;i=n.Wait({duration:t.duration,runDuringTransition:t.runDuringTransition});break}default:throw new Error("unknown action")}return void 0!==r&&(i.key=r),i.startOffset=e.startOffset,i.endOffset=e.endOffset,i}static evaluateAction(e,n,r,i){if(r<e.runStartTime+e.startOffset)return;if(r>=e.runStartTime+e.startOffset&&r<=e.runStartTime+e.startOffset+e.duration?e.running=!0:e.running=!1,!1===e.running&&!0===e.completed)return;const o=r-(e.runStartTime+e.startOffset);if(e.type===t.custom){const t=e;t.callback(),t.running=!1,t.completed=!0}if(e.type===t.wait){const t=e;r>e.runStartTime+e.startOffset+e.duration&&(t.running=!1,t.completed=!0)}if(e.type===t.move){const t=e;t.started||(t.dx=t.point.x-n.position.x,t.dy=t.point.y-n.position.y,t.started=!0),o<t.duration?(n.position.x=n.position.x+t.dx*(i/t.duration),n.position.y=n.position.y+t.dy*(i/t.duration)):(n.position.x=t.point.x,n.position.y=t.point.y,t.running=!1,t.completed=!0)}if(e.type===t.scale){const t=e;t.started||(t.delta=t.scale-n.scale,t.started=!0),o<t.duration?n.scale=n.scale+t.delta*(i/t.duration):(n.scale=t.scale,t.running=!1,t.completed=!0)}}calculateDuration(e){return e.type===t.group?e.children.map((t=>this.calculateDuration(t))).reduce(((t,e)=>Math.max(t,e)),0):e.type===t.sequence?e.children.map((t=>this.calculateDuration(t))).reduce(((t,e)=>t+e),0):e.duration}calculateStartEndOffsets(e){var n,r,i;let o=0;if(void 0!==e.parent&&(o=e.parent.startOffset),(null===(n=e.parent)||void 0===n?void 0:n.type)===t.group)e.startOffset=o,e.endOffset=e.startOffset+e.duration;else if((null===(r=e.parent)||void 0===r?void 0:r.type)===t.sequence){const t=e.parent;let n=0;for(const r of t.children){if(r===e)break;n+=r.duration}e.startOffset=n,e.endOffset=e.startOffset+e.duration}else e.startOffset=o,e.endOffset=e.startOffset+e.duration;e.isParent&&(null===(i=e.children)||void 0===i||i.forEach((t=>this.calculateStartEndOffsets(t))))}flattenActions(t,e){if(e||(e=new Array).push(t),t.isParent){const n=t,r=n.children;e.push(...r),n.children.filter((t=>t.isParent)).forEach((t=>this.flattenActions(t,e)))}return e}assignParents(t,e,n){if(void 0!==n&&(t.key=n),e||((e=t).parent=void 0),t.isParent){const r=t;r.children.forEach((e=>{e.parent=t})),r.children.filter((t=>t.isParent)).forEach((t=>this.assignParents(t,e,n)))}}}class r extends n{constructor(e){super(),this.type=t.sequence,this.children=e,this.isParent=!0}}class i extends n{constructor(e){super(),this.type=t.group,this.children=new Array,this.children=e,this.isParent=!0}}class o extends n{constructor(e,n=!1){super(n),this.type=t.custom,this.callback=e,this.isParent=!1,this.duration=0}}class a extends n{constructor(e,n){super(n),this.type=t.wait,this.duration=e,this.isParent=!1}}class s extends n{constructor(e,n,r){super(r),this.type=t.move,this.dx=0,this.dy=0,this.duration=n,this.point=e,this.isParent=!1}}class l extends n{constructor(e,n,r=!1){super(r),this.type=t.scale,this.delta=0,this.duration=n,this.scale=e,this.isParent=!1}}!function(t){t.activityData="ActivityData",t.activityLifecycle="ActivityLifecycle",t.sessionLifecycle="SessionLifecycle"}(e||(e={}));function u(t){if(t.__esModule)return t;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(t).forEach((function(n){var r=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,r.get?r:{enumerable:!0,get:function(){return t[n]}})})),e}globalThis.Globals=new class{constructor(){this.now=NaN,this.deltaTime=NaN,this.canvasScale=NaN,this.rootScale=1,this.canvasCssWidth=NaN,this.canvasCssHeight=NaN}};var c,h,f,d,p,g,y,m={exports:{}},v=u(Object.freeze({__proto__:null,path_empty_shim:function(){}})),b=u(Object.freeze({__proto__:null,fs_empty_shim:function(){}}));!function(t,e){var n,r=(n="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(n=n||__filename),function(t){var e,r,i,o;t=t||{},e||(e=void 0!==t?t:{}),e.ready=new Promise((function(t,e){r=t,i=e})),(o=e).Vd=o.Vd||[],o.Vd.push((function(){o.MakeSWCanvasSurface=function(t){var e=t;if("CANVAS"!==e.tagName&&!(e=document.getElementById(t)))throw"Canvas with id "+t+" was not found";return(t=o.MakeSurface(e.width,e.height))&&(t.Nd=e),t},o.MakeCanvasSurface||(o.MakeCanvasSurface=o.MakeSWCanvasSurface),o.MakeSurface=function(t,e){var n={width:t,height:e,colorType:o.ColorType.RGBA_8888,alphaType:o.AlphaType.Unpremul,colorSpace:o.ColorSpace.SRGB},r=t*e*4,i=o._malloc(r);return(n=o.Surface._makeRasterDirect(n,i,4*t))&&(n.Nd=null,n.zf=t,n.wf=e,n.yf=r,n.af=i,n.getCanvas().clear(o.TRANSPARENT)),n},o.MakeRasterDirectSurface=function(t,e,n){return o.Surface._makeRasterDirect(t,e.byteOffset,n)},o.Surface.prototype.flush=function(t){if(o.Od(this.Md),this._flush(),this.Nd){var e=new Uint8ClampedArray(o.HEAPU8.buffer,this.af,this.yf);e=new ImageData(e,this.zf,this.wf),t?this.Nd.getContext("2d").putImageData(e,0,0,t[0],t[1],t[2]-t[0],t[3]-t[1]):this.Nd.getContext("2d").putImageData(e,0,0)}},o.Surface.prototype.dispose=function(){this.af&&o._free(this.af),this.delete()},o.Od=o.Od||function(){}})),function(t){t.Vd=t.Vd||[],t.Vd.push((function(){function e(t,e,n){return t&&t.hasOwnProperty(e)?t[e]:n}function n(t){var e=Fe.length;return e||(Fe.push(null),e=1),Fe.push(t),e}function r(t){return t.naturalHeight||t.videoHeight||t.displayHeight||t.height}function i(t){return t.naturalWidth||t.videoWidth||t.displayWidth||t.width}t.GetWebGLContext=function(t,n){if(!t)throw"null canvas passed into makeWebGLContext";var r={alpha:e(n,"alpha",1),depth:e(n,"depth",1),stencil:e(n,"stencil",8),antialias:e(n,"antialias",0),premultipliedAlpha:e(n,"premultipliedAlpha",1),preserveDrawingBuffer:e(n,"preserveDrawingBuffer",0),preferLowPowerToHighPerformance:e(n,"preferLowPowerToHighPerformance",0),failIfMajorPerformanceCaveat:e(n,"failIfMajorPerformanceCaveat",0),enableExtensionsByDefault:e(n,"enableExtensionsByDefault",1),explicitSwapControl:e(n,"explicitSwapControl",0),renderViaOffscreenBackBuffer:e(n,"renderViaOffscreenBackBuffer",0)};if(r.majorVersion=n&&n.majorVersion?n.majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1,r.explicitSwapControl)throw"explicitSwapControl is not supported";return t=function(t,e){t.rf||(t.rf=t.getContext,t.getContext=function(e,n){return"webgl"==e==(n=t.rf(e,n))instanceof WebGLRenderingContext?n:null});var n=1<e.majorVersion?t.getContext("webgl2",e):t.getContext("webgl",e);return n?function(t,e){var n=ze(Be),r={Rf:n,attributes:e,version:e.majorVersion,le:t};return t.canvas&&(t.canvas.vf=r),Be[n]=r,(void 0===e.Gf||e.Gf)&&function(t){if(t||(t=Ge),!t.Uf){t.Uf=!0;var e=t.le;!function(t){var e=t.getExtension("ANGLE_instanced_arrays");e&&(t.vertexAttribDivisor=function(t,n){e.vertexAttribDivisorANGLE(t,n)},t.drawArraysInstanced=function(t,n,r,i){e.drawArraysInstancedANGLE(t,n,r,i)},t.drawElementsInstanced=function(t,n,r,i,o){e.drawElementsInstancedANGLE(t,n,r,i,o)})}(e),function(t){var e=t.getExtension("OES_vertex_array_object");e&&(t.createVertexArray=function(){return e.createVertexArrayOES()},t.deleteVertexArray=function(t){e.deleteVertexArrayOES(t)},t.bindVertexArray=function(t){e.bindVertexArrayOES(t)},t.isVertexArray=function(t){return e.isVertexArrayOES(t)})}(e),function(t){var e=t.getExtension("WEBGL_draw_buffers");e&&(t.drawBuffers=function(t,n){e.drawBuffersWEBGL(t,n)})}(e),e.nf=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),e.sf=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"),2<=t.version&&(e.pf=e.getExtension("EXT_disjoint_timer_query_webgl2")),(2>t.version||!e.pf)&&(e.pf=e.getExtension("EXT_disjoint_timer_query")),e.Bg=e.getExtension("WEBGL_multi_draw"),(e.getSupportedExtensions()||[]).forEach((function(t){t.includes("lose_context")||t.includes("debug")||e.getExtension(t)}))}}(r),n}(n,e):0}(t,r),t?(je(t),t):0},t.deleteContext=function(t){Ge===Be[t]&&(Ge=null),"object"==typeof JSEvents&&JSEvents.Eg(Be[t].le.canvas),Be[t]&&Be[t].le.canvas&&(Be[t].le.canvas.vf=void 0),Be[t]=null},t._setTextureCleanup({deleteTexture:function(t,e){var n=Fe[e];n&&Be[t].le.deleteTexture(n),Fe[e]=null}}),t.MakeGrContext=function(t){if(!this.Od(t))return null;var e=this._MakeGrContext();return e?(e.Md=t,e):null},t.MakeOnScreenGLSurface=function(t,e,n,r){return(e=this._MakeOnScreenGLSurface(t,e,n,r))?(e.Md=t.Md,e):null},t.MakeRenderTarget=function(t,e,n){return(e=this._MakeRenderTargetWH(t,e,n))?(e.Md=t.Md,e):null},t.MakeRenderTarget=function(t,e){return(e=this._MakeRenderTargetII(t,e))?(e.Md=t.Md,e):null},t.MakeWebGLCanvasSurface=function(e,n,r){n=n||null;var i=e,o="undefined"!=typeof OffscreenCanvas&&i instanceof OffscreenCanvas;if(!("undefined"!=typeof HTMLCanvasElement&&i instanceof HTMLCanvasElement||o||(i=document.getElementById(e),i)))throw"Canvas with id "+e+" was not found";if(!(e=this.GetWebGLContext(i,r))||0>e)throw"failed to create webgl context: err "+e;return e=this.MakeGrContext(e),(n=this.MakeOnScreenGLSurface(e,i.width,i.height,n))||(n=i.cloneNode(!0),i.parentNode.replaceChild(n,i),n.classList.add("ck-replaced"),t.MakeSWCanvasSurface(n))},t.MakeCanvasSurface=t.MakeWebGLCanvasSurface,t.Surface.prototype.makeImageFromTexture=function(e,r){return t.Od(this.Md),e=n(e),this._makeImageFromTexture(this.Md,e,r)},t.Surface.prototype.makeImageFromTextureSource=function(e,n){n||(n={height:r(e),width:i(e),colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul}),n.colorSpace||(n.colorSpace=t.ColorSpace.SRGB),t.Od(this.Md);var o=Ge.le,a=o.createTexture();return o.bindTexture(o.TEXTURE_2D,a),2===Ge.version?o.texImage2D(o.TEXTURE_2D,0,o.RGBA,n.width,n.height,0,o.RGBA,o.UNSIGNED_BYTE,e):o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,e),o.bindTexture(o.TEXTURE_2D,null),this.makeImageFromTexture(a,n)},t.MakeLazyImageFromTextureSource=function(e,o){o||(o={height:r(e),width:i(e),colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul}),o.colorSpace||(o.colorSpace=t.ColorSpace.SRGB);var a={makeTexture:function(){var t=Ge,r=t.le,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),2===t.version?r.texImage2D(r.TEXTURE_2D,0,r.RGBA,o.width,o.height,0,r.RGBA,r.UNSIGNED_BYTE,e):r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,e),r.bindTexture(r.TEXTURE_2D,null),n(i)},freeSrc:function(){}};return"VideoFrame"===e.constructor.name&&(a.freeSrc=function(){e.close()}),t.Image._makeFromGenerator(o,a)},t.Od=function(t){return!!t&&je(t)}}))}(e),function(t){function n(t,e,n,r,i){for(var o=0;o<t.length;o++)e[o*n+(o*i+r+n)%n]=t[o];return e}function r(t){for(var e=t*t,n=Array(e);e--;)n[e]=0==e%(t+1)?1:0;return n}function i(t){return!!t&&t.constructor===Float32Array&&4===t.length}function o(t){return(l(255*t[3])<<24|l(255*t[0])<<16|l(255*t[1])<<8|l(255*t[2])<<0)>>>0}function a(t){if(t&&t._ck)return t;if(t instanceof Float32Array){for(var e=Math.floor(t.length/4),n=new Uint32Array(e),r=0;r<e;r++)n[r]=o(t.slice(4*r,4*(r+1)));return n}return t instanceof Uint32Array?t:t instanceof Array&&t[0]instanceof Float32Array?t.map(o):void 0}function s(t){if(void 0===t)return 1;var e=parseFloat(t);return t&&-1!==t.indexOf("%")?e/100:e}function l(t){return Math.round(Math.max(0,Math.min(t||0,255)))}function u(e,n){n&&n._ck||t._free(e)}function c(e,n,r){if(!e||!e.length)return Y;if(e&&e._ck)return e.byteOffset;var i=t[n].BYTES_PER_ELEMENT;return r||(r=t._malloc(e.length*i)),t[n].set(e,r/i),r}function h(e){var n={ce:Y,count:e.length,Ke:t.ColorType.RGBA_F32};if(e instanceof Float32Array)n.ce=c(e,"HEAPF32"),n.count=e.length/4;else if(e instanceof Uint32Array)n.ce=c(e,"HEAPU32"),n.Ke=t.ColorType.RGBA_8888;else{if(!(e instanceof Array))throw"Invalid argument to copyFlexibleColorArray, Not a color array "+typeof e;if(e&&e.length){for(var r=t._malloc(16*e.length),i=0,o=r/4,a=0;a<e.length;a++)for(var s=0;4>s;s++)t.HEAPF32[o+i]=e[a][s],i++;e=r}else e=Y;n.ce=e}return n}function f(e){if(!e)return Y;if(e.length){if(6===e.length||9===e.length)return c(e,"HEAPF32",B),6===e.length&&t.HEAPF32.set(V,6+B/4),B;if(16===e.length){var n=A.toTypedArray();return n[0]=e[0],n[1]=e[1],n[2]=e[3],n[3]=e[4],n[4]=e[5],n[5]=e[7],n[6]=e[12],n[7]=e[13],n[8]=e[15],B}throw"invalid matrix size"}return(n=A.toTypedArray())[0]=e.m11,n[1]=e.m21,n[2]=e.m41,n[3]=e.m12,n[4]=e.m22,n[5]=e.m42,n[6]=e.m14,n[7]=e.m24,n[8]=e.m44,B}function d(e){for(var n=Array(16),r=0;16>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function p(t,e){return c(t,"HEAPF32",e||I)}function g(t,e,n,r){var i=S.toTypedArray();return i[0]=t,i[1]=e,i[2]=n,i[3]=r,I}function y(e){for(var n=new Float32Array(4),r=0;4>r;r++)n[r]=t.HEAPF32[e/4+r];return n}function m(t,e){return c(t,"HEAPF32",e||W)}function v(t,e){return c(t,"HEAPF32",e||U)}function b(){for(var t=0,e=0;e<arguments.length-1;e+=2)t+=arguments[e]*arguments[e+1];return t}function w(t,e,n){for(var r=Array(t.length),i=0;i<n;i++)for(var o=0;o<n;o++){for(var a=0,s=0;s<n;s++)a+=t[n*i+s]*e[n*s+o];r[i*n+o]=a}return r}function C(t,e){for(var n=w(e[0],e[1],t),r=2;r<e.length;)n=w(n,e[r],t),r++;return n}t.Color=function(e,n,r,i){return void 0===i&&(i=1),t.Color4f(l(e)/255,l(n)/255,l(r)/255,i)},t.ColorAsInt=function(t,e,n,r){return void 0===r&&(r=255),(l(r)<<24|l(t)<<16|l(e)<<8|l(n)<<0&268435455)>>>0},t.Color4f=function(t,e,n,r){return void 0===r&&(r=1),Float32Array.of(t,e,n,r)},Object.defineProperty(t,"TRANSPARENT",{get:function(){return t.Color4f(0,0,0,0)}}),Object.defineProperty(t,"BLACK",{get:function(){return t.Color4f(0,0,0,1)}}),Object.defineProperty(t,"WHITE",{get:function(){return t.Color4f(1,1,1,1)}}),Object.defineProperty(t,"RED",{get:function(){return t.Color4f(1,0,0,1)}}),Object.defineProperty(t,"GREEN",{get:function(){return t.Color4f(0,1,0,1)}}),Object.defineProperty(t,"BLUE",{get:function(){return t.Color4f(0,0,1,1)}}),Object.defineProperty(t,"YELLOW",{get:function(){return t.Color4f(1,1,0,1)}}),Object.defineProperty(t,"CYAN",{get:function(){return t.Color4f(0,1,1,1)}}),Object.defineProperty(t,"MAGENTA",{get:function(){return t.Color4f(1,0,1,1)}}),t.getColorComponents=function(t){return[Math.floor(255*t[0]),Math.floor(255*t[1]),Math.floor(255*t[2]),t[3]]},t.parseColorString=function(e,n){if((e=e.toLowerCase()).startsWith("#")){switch(n=255,e.length){case 9:n=parseInt(e.slice(7,9),16);case 7:var r=parseInt(e.slice(1,3),16),i=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);break;case 5:n=17*parseInt(e.slice(4,5),16);case 4:r=17*parseInt(e.slice(1,2),16),i=17*parseInt(e.slice(2,3),16),o=17*parseInt(e.slice(3,4),16)}return t.Color(r,i,o,n/255)}return e.startsWith("rgba")?(e=(e=e.slice(5,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("rgb")?(e=(e=e.slice(4,-1)).split(","),t.Color(+e[0],+e[1],+e[2],s(e[3]))):e.startsWith("gray(")||e.startsWith("hsl")||!n||void 0===(e=n[e])?t.BLACK:e},t.multiplyByAlpha=function(t,e){return(t=t.slice())[3]=Math.max(0,Math.min(t[3]*e,1)),t},t.Malloc=function(e,n){var r=t._malloc(n*e.BYTES_PER_ELEMENT);return{_ck:!0,length:n,byteOffset:r,oe:null,subarray:function(t,e){return(t=this.toTypedArray().subarray(t,e))._ck=!0,t},toTypedArray:function(){return this.oe&&this.oe.length||(this.oe=new e(t.HEAPU8.buffer,r,n),this.oe._ck=!0),this.oe}}},t.Free=function(e){t._free(e.byteOffset),e.byteOffset=Y,e.toTypedArray=null,e.oe=null};var A,T,S,P,_,M,k,F,x,E,B=Y,L=Y,I=Y,W=Y,z=Y,j=Y,G=Y,N=Y,U=Y,H=Y,V=Float32Array.of(0,0,1),Y=0;t.onRuntimeInitialized=function(){function e(e,n,r,i,o,a){a||(a=4*i.width,i.colorType===t.ColorType.RGBA_F16?a*=2:i.colorType===t.ColorType.RGBA_F32&&(a*=4));var s=a*i.height,l=o?o.byteOffset:t._malloc(s);if(!e._readPixels(i,l,a,n,r))return o||t._free(l),null;if(o)return o.toTypedArray();switch(i.colorType){case t.ColorType.RGBA_8888:case t.ColorType.RGBA_F16:e=new Uint8Array(t.HEAPU8.buffer,l,s).slice();break;case t.ColorType.RGBA_F32:e=new Float32Array(t.HEAPU8.buffer,l,s).slice();break;default:return null}return t._free(l),e}S=t.Malloc(Float32Array,4),I=S.byteOffset,T=t.Malloc(Float32Array,16),L=T.byteOffset,A=t.Malloc(Float32Array,9),B=A.byteOffset,x=t.Malloc(Float32Array,12),U=x.byteOffset,E=t.Malloc(Float32Array,12),H=E.byteOffset,P=t.Malloc(Float32Array,4),W=P.byteOffset,_=t.Malloc(Float32Array,4),z=_.byteOffset,M=t.Malloc(Float32Array,3),j=M.byteOffset,k=t.Malloc(Float32Array,3),G=k.byteOffset,F=t.Malloc(Int32Array,4),N=F.byteOffset,t.ColorSpace.SRGB=t.ColorSpace._MakeSRGB(),t.ColorSpace.DISPLAY_P3=t.ColorSpace._MakeDisplayP3(),t.ColorSpace.ADOBE_RGB=t.ColorSpace._MakeAdobeRGB(),t.GlyphRunFlags={IsWhiteSpace:t._GlyphRunFlags_isWhiteSpace},t.Path.MakeFromCmds=function(e){var n=c(e,"HEAPF32"),r=t.Path._MakeFromCmds(n,e.length);return u(n,e),r},t.Path.MakeFromVerbsPointsWeights=function(e,n,r){var i=c(e,"HEAPU8"),o=c(n,"HEAPF32"),a=c(r,"HEAPF32"),s=t.Path._MakeFromVerbsPointsWeights(i,e.length,o,n.length,a,r&&r.length||0);return u(i,e),u(o,n),u(a,r),s},t.Path.prototype.addArc=function(t,e,n){return t=m(t),this._addArc(t,e,n),this},t.Path.prototype.addOval=function(t,e,n){return void 0===n&&(n=1),t=m(t),this._addOval(t,!!e,n),this},t.Path.prototype.addPath=function(){var t=Array.prototype.slice.call(arguments),e=t[0],n=!1;if("boolean"==typeof t[t.length-1]&&(n=t.pop()),1===t.length)this._addPath(e,1,0,0,0,1,0,0,0,1,n);else if(2===t.length)t=t[1],this._addPath(e,t[0],t[1],t[2],t[3],t[4],t[5],t[6]||0,t[7]||0,t[8]||1,n);else{if(7!==t.length&&10!==t.length)return null;this._addPath(e,t[1],t[2],t[3],t[4],t[5],t[6],t[7]||0,t[8]||0,t[9]||1,n)}return this},t.Path.prototype.addPoly=function(t,e){var n=c(t,"HEAPF32");return this._addPoly(n,t.length/2,e),u(n,t),this},t.Path.prototype.addRect=function(t,e){return t=m(t),this._addRect(t,!!e),this},t.Path.prototype.addRRect=function(t,e){return t=v(t),this._addRRect(t,!!e),this},t.Path.prototype.addVerbsPointsWeights=function(t,e,n){var r=c(t,"HEAPU8"),i=c(e,"HEAPF32"),o=c(n,"HEAPF32");this._addVerbsPointsWeights(r,t.length,i,e.length,o,n&&n.length||0),u(r,t),u(i,e),u(o,n)},t.Path.prototype.arc=function(e,n,r,i,o,a){return e=t.LTRBRect(e-r,n-r,e+r,n+r),o=(o-i)/Math.PI*180-360*!!a,(a=new t.Path).addArc(e,i/Math.PI*180,o),this.addPath(a,!0),a.delete(),this},t.Path.prototype.arcToOval=function(t,e,n,r){return t=m(t),this._arcToOval(t,e,n,r),this},t.Path.prototype.arcToRotated=function(t,e,n,r,i,o,a){return this._arcToRotated(t,e,n,!!r,!!i,o,a),this},t.Path.prototype.arcToTangent=function(t,e,n,r,i){return this._arcToTangent(t,e,n,r,i),this},t.Path.prototype.close=function(){return this._close(),this},t.Path.prototype.conicTo=function(t,e,n,r,i){return this._conicTo(t,e,n,r,i),this},t.Path.prototype.computeTightBounds=function(t){this._computeTightBounds(W);var e=P.toTypedArray();return t?(t.set(e),t):e.slice()},t.Path.prototype.cubicTo=function(t,e,n,r,i,o){return this._cubicTo(t,e,n,r,i,o),this},t.Path.prototype.dash=function(t,e,n){return this._dash(t,e,n)?this:null},t.Path.prototype.getBounds=function(t){this._getBounds(W);var e=P.toTypedArray();return t?(t.set(e),t):e.slice()},t.Path.prototype.lineTo=function(t,e){return this._lineTo(t,e),this},t.Path.prototype.moveTo=function(t,e){return this._moveTo(t,e),this},t.Path.prototype.offset=function(t,e){return this._transform(1,0,t,0,1,e,0,0,1),this},t.Path.prototype.quadTo=function(t,e,n,r){return this._quadTo(t,e,n,r),this},t.Path.prototype.rArcTo=function(t,e,n,r,i,o,a){return this._rArcTo(t,e,n,r,i,o,a),this},t.Path.prototype.rConicTo=function(t,e,n,r,i){return this._rConicTo(t,e,n,r,i),this},t.Path.prototype.rCubicTo=function(t,e,n,r,i,o){return this._rCubicTo(t,e,n,r,i,o),this},t.Path.prototype.rLineTo=function(t,e){return this._rLineTo(t,e),this},t.Path.prototype.rMoveTo=function(t,e){return this._rMoveTo(t,e),this},t.Path.prototype.rQuadTo=function(t,e,n,r){return this._rQuadTo(t,e,n,r),this},t.Path.prototype.stroke=function(e){return(e=e||{}).width=e.width||1,e.miter_limit=e.miter_limit||4,e.cap=e.cap||t.StrokeCap.Butt,e.join=e.join||t.StrokeJoin.Miter,e.precision=e.precision||1,this._stroke(e)?this:null},t.Path.prototype.transform=function(){if(1===arguments.length){var t=arguments[0];this._transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6]||0,t[7]||0,t[8]||1)}else{if(6!==arguments.length&&9!==arguments.length)throw"transform expected to take 1 or 9 arguments. Got "+arguments.length;t=arguments,this._transform(t[0],t[1],t[2],t[3],t[4],t[5],t[6]||0,t[7]||0,t[8]||1)}return this},t.Path.prototype.trim=function(t,e,n){return this._trim(t,e,!!n)?this:null},t.Image.prototype.makeShaderCubic=function(t,e,n,r,i){return i=f(i),this._makeShaderCubic(t,e,n,r,i)},t.Image.prototype.makeShaderOptions=function(t,e,n,r,i){return i=f(i),this._makeShaderOptions(t,e,n,r,i)},t.Image.prototype.readPixels=function(t,n,r,i,o){return e(this,t,n,r,i,o)},t.Canvas.prototype.clear=function(e){t.Od(this.Md),e=p(e),this._clear(e)},t.Canvas.prototype.clipRRect=function(e,n,r){t.Od(this.Md),e=v(e),this._clipRRect(e,n,r)},t.Canvas.prototype.clipRect=function(e,n,r){t.Od(this.Md),e=m(e),this._clipRect(e,n,r)},t.Canvas.prototype.concat=function(e){t.Od(this.Md),e=function(t){if(!t)return Y;var e=T.toTypedArray();if(t.length){if(16!==t.length&&6!==t.length&&9!==t.length)throw"invalid matrix size";return 16===t.length?c(t,"HEAPF32",L):(e.fill(0),e[0]=t[0],e[1]=t[1],e[3]=t[2],e[4]=t[3],e[5]=t[4],e[7]=t[5],e[12]=t[6],e[13]=t[7],e[15]=t[8],6===t.length&&(e[12]=0,e[13]=0,e[15]=1),L)}return e[0]=t.m11,e[1]=t.m21,e[2]=t.m31,e[3]=t.m41,e[4]=t.m12,e[5]=t.m22,e[6]=t.m32,e[7]=t.m42,e[8]=t.m13,e[9]=t.m23,e[10]=t.m33,e[11]=t.m43,e[12]=t.m14,e[13]=t.m24,e[14]=t.m34,e[15]=t.m44,L}(e),this._concat(e)},t.Canvas.prototype.drawArc=function(e,n,r,i,o){t.Od(this.Md),e=m(e),this._drawArc(e,n,r,i,o)},t.Canvas.prototype.drawAtlas=function(e,n,r,i,o,s,l){if(e&&i&&n&&r&&n.length===r.length){t.Od(this.Md),o||(o=t.BlendMode.SrcOver);var h=c(n,"HEAPF32"),f=c(r,"HEAPF32"),d=r.length/4,p=c(a(s),"HEAPU32");if(l&&"B"in l&&"C"in l)this._drawAtlasCubic(e,f,h,p,d,o,l.B,l.C,i);else{let n=t.FilterMode.Linear,r=t.MipmapMode.None;l&&(n=l.filter,"mipmap"in l&&(r=l.mipmap)),this._drawAtlasOptions(e,f,h,p,d,o,n,r,i)}u(h,n),u(f,r),u(p,s)}},t.Canvas.prototype.drawCircle=function(e,n,r,i){t.Od(this.Md),this._drawCircle(e,n,r,i)},t.Canvas.prototype.drawColor=function(e,n){t.Od(this.Md),e=p(e),void 0!==n?this._drawColor(e,n):this._drawColor(e)},t.Canvas.prototype.drawColorInt=function(e,n){t.Od(this.Md),this._drawColorInt(e,n||t.BlendMode.SrcOver)},t.Canvas.prototype.drawColorComponents=function(e,n,r,i,o){t.Od(this.Md),e=g(e,n,r,i),void 0!==o?this._drawColor(e,o):this._drawColor(e)},t.Canvas.prototype.drawDRRect=function(e,n,r){t.Od(this.Md),e=v(e,U),n=v(n,H),this._drawDRRect(e,n,r)},t.Canvas.prototype.drawGlyphs=function(e,n,r,i,o,a){if(!(2*e.length<=n.length))throw"Not enough positions for the array of gyphs";t.Od(this.Md);const s=c(e,"HEAPU16"),l=c(n,"HEAPF32");this._drawGlyphs(e.length,s,l,r,i,o,a),u(l,n),u(s,e)},t.Canvas.prototype.drawImage=function(e,n,r,i){t.Od(this.Md),this._drawImage(e,n,r,i||null)},t.Canvas.prototype.drawImageCubic=function(e,n,r,i,o,a){t.Od(this.Md),this._drawImageCubic(e,n,r,i,o,a||null)},t.Canvas.prototype.drawImageOptions=function(e,n,r,i,o,a){t.Od(this.Md),this._drawImageOptions(e,n,r,i,o,a||null)},t.Canvas.prototype.drawImageNine=function(e,n,r,i,o){t.Od(this.Md),n=c(n,"HEAP32",N),r=m(r),this._drawImageNine(e,n,r,i,o||null)},t.Canvas.prototype.drawImageRect=function(e,n,r,i,o){t.Od(this.Md),m(n,W),m(r,z),this._drawImageRect(e,W,z,i,!!o)},t.Canvas.prototype.drawImageRectCubic=function(e,n,r,i,o,a){t.Od(this.Md),m(n,W),m(r,z),this._drawImageRectCubic(e,W,z,i,o,a||null)},t.Canvas.prototype.drawImageRectOptions=function(e,n,r,i,o,a){t.Od(this.Md),m(n,W),m(r,z),this._drawImageRectOptions(e,W,z,i,o,a||null)},t.Canvas.prototype.drawLine=function(e,n,r,i,o){t.Od(this.Md),this._drawLine(e,n,r,i,o)},t.Canvas.prototype.drawOval=function(e,n){t.Od(this.Md),e=m(e),this._drawOval(e,n)},t.Canvas.prototype.drawPaint=function(e){t.Od(this.Md),this._drawPaint(e)},t.Canvas.prototype.drawParagraph=function(e,n,r){t.Od(this.Md),this._drawParagraph(e,n,r)},t.Canvas.prototype.drawPatch=function(e,n,r,i,o){if(24>e.length)throw"Need 12 cubic points";if(n&&4>n.length)throw"Need 4 colors";if(r&&8>r.length)throw"Need 4 shader coordinates";t.Od(this.Md);const s=c(e,"HEAPF32"),l=n?c(a(n),"HEAPU32"):Y,h=r?c(r,"HEAPF32"):Y;i||(i=t.BlendMode.Modulate),this._drawPatch(s,l,h,i,o),u(h,r),u(l,n),u(s,e)},t.Canvas.prototype.drawPath=function(e,n){t.Od(this.Md),this._drawPath(e,n)},t.Canvas.prototype.drawPicture=function(e){t.Od(this.Md),this._drawPicture(e)},t.Canvas.prototype.drawPoints=function(e,n,r){t.Od(this.Md);var i=c(n,"HEAPF32");this._drawPoints(e,i,n.length/2,r),u(i,n)},t.Canvas.prototype.drawRRect=function(e,n){t.Od(this.Md),e=v(e),this._drawRRect(e,n)},t.Canvas.prototype.drawRect=function(e,n){t.Od(this.Md),e=m(e),this._drawRect(e,n)},t.Canvas.prototype.drawRect4f=function(e,n,r,i,o){t.Od(this.Md),this._drawRect4f(e,n,r,i,o)},t.Canvas.prototype.drawShadow=function(e,n,r,i,o,a,s){t.Od(this.Md);var l=c(o,"HEAPF32"),h=c(a,"HEAPF32");n=c(n,"HEAPF32",j),r=c(r,"HEAPF32",G),this._drawShadow(e,n,r,i,l,h,s),u(l,o),u(h,a)},t.getShadowLocalBounds=function(t,e,n,r,i,o,a){return t=f(t),n=c(n,"HEAPF32",j),r=c(r,"HEAPF32",G),this._getShadowLocalBounds(t,e,n,r,i,o,W)?(e=P.toTypedArray(),a?(a.set(e),a):e.slice()):null},t.Canvas.prototype.drawTextBlob=function(e,n,r,i){t.Od(this.Md),this._drawTextBlob(e,n,r,i)},t.Canvas.prototype.drawVertices=function(e,n,r){t.Od(this.Md),this._drawVertices(e,n,r)},t.Canvas.prototype.getLocalToDevice=function(){return this._getLocalToDevice(L),d(L)},t.Canvas.prototype.findMarkedCTM=function(t){return this._findMarkedCTM(t,L)?d(L):null},t.Canvas.prototype.getTotalMatrix=function(){this._getTotalMatrix(B);for(var e=Array(9),n=0;9>n;n++)e[n]=t.HEAPF32[B/4+n];return e},t.Canvas.prototype.makeSurface=function(t){return(t=this._makeSurface(t)).Md=this.Md,t},t.Canvas.prototype.readPixels=function(n,r,i,o,a){return t.Od(this.Md),e(this,n,r,i,o,a)},t.Canvas.prototype.saveLayer=function(t,e,n,r){return e=m(e),this._saveLayer(t||null,e,n||null,r||0)},t.Canvas.prototype.writePixels=function(e,n,r,i,o,a,s,l){if(e.byteLength%(n*r))throw"pixels length must be a multiple of the srcWidth * srcHeight";t.Od(this.Md);var h=e.byteLength/(n*r);a=a||t.AlphaType.Unpremul,s=s||t.ColorType.RGBA_8888,l=l||t.ColorSpace.SRGB;var f=h*n;return h=c(e,"HEAPU8"),n=this._writePixels({width:n,height:r,colorType:s,alphaType:a,colorSpace:l},h,f,i,o),u(h,e),n},t.ColorFilter.MakeBlend=function(e,n){return e=p(e),t.ColorFilter._MakeBlend(e,n)},t.ColorFilter.MakeMatrix=function(e){if(!e||20!==e.length)throw"invalid color matrix";var n=c(e,"HEAPF32"),r=t.ColorFilter._makeMatrix(n);return u(n,e),r},t.ContourMeasure.prototype.getPosTan=function(t,e){return this._getPosTan(t,W),t=P.toTypedArray(),e?(e.set(t),e):t.slice()},t.ImageFilter.MakeMatrixTransform=function(e,n,r){if(e=f(e),"B"in n&&"C"in n)return t.ImageFilter._MakeMatrixTransformCubic(e,n.xg,n.yg,r);const i=n.filter;let o=t.MipmapMode.None;return"mipmap"in n&&(o=n.mipmap),t.ImageFilter._MakeMatrixTransformOptions(e,i,o,r)},t.Paint.prototype.getColor=function(){return this._getColor(I),y(I)},t.Paint.prototype.setColor=function(t,e){e=e||null,t=p(t),this._setColor(t,e)},t.Paint.prototype.setColorComponents=function(t,e,n,r,i){i=i||null,t=g(t,e,n,r),this._setColor(t,i)},t.Path.prototype.getPoint=function(t,e){return this._getPoint(t,W),t=P.toTypedArray(),e?(e[0]=t[0],e[1]=t[1],e):t.slice(0,2)},t.PictureRecorder.prototype.beginRecording=function(t){return t=m(t),this._beginRecording(t)},t.Surface.prototype.getCanvas=function(){var t=this._getCanvas();return t.Md=this.Md,t},t.Surface.prototype.makeImageSnapshot=function(e){return t.Od(this.Md),e=c(e,"HEAP32",N),this._makeImageSnapshot(e)},t.Surface.prototype.makeSurface=function(e){return t.Od(this.Md),(e=this._makeSurface(e)).Md=this.Md,e},t.Surface.prototype.requestAnimationFrame=function(e,n){this.Ge||(this.Ge=this.getCanvas()),requestAnimationFrame(function(){t.Od(this.Md),e(this.Ge),this.flush(n)}.bind(this))},t.Surface.prototype.drawOnce=function(e,n){this.Ge||(this.Ge=this.getCanvas()),requestAnimationFrame(function(){t.Od(this.Md),e(this.Ge),this.flush(n),this.dispose()}.bind(this))},t.PathEffect.MakeDash=function(e,n){if(n||(n=0),!e.length||1==e.length%2)throw"Intervals array must have even length";var r=c(e,"HEAPF32");return n=t.PathEffect._MakeDash(r,e.length,n),u(r,e),n},t.Shader.MakeColor=function(e,n){return n=n||null,e=p(e),t.Shader._MakeColor(e,n)},t.Shader.Blend=t.Shader.MakeBlend,t.Shader.Color=t.Shader.MakeColor,t.Shader.MakeLinearGradient=function(e,n,r,i,o,a,s,l){l=l||null;var d=h(r),p=c(i,"HEAPF32");s=s||0,a=f(a);var g=P.toTypedArray();return g.set(e),g.set(n,2),e=t.Shader._MakeLinearGradient(W,d.ce,d.Ke,p,d.count,o,s,a,l),u(d.ce,r),i&&u(p,i),e},t.Shader.MakeRadialGradient=function(e,n,r,i,o,a,s,l){l=l||null;var d=h(r),p=c(i,"HEAPF32");return s=s||0,a=f(a),e=t.Shader._MakeRadialGradient(e[0],e[1],n,d.ce,d.Ke,p,d.count,o,s,a,l),u(d.ce,r),i&&u(p,i),e},t.Shader.MakeSweepGradient=function(e,n,r,i,o,a,s,l,d,p){p=p||null;var g=h(r),y=c(i,"HEAPF32");return s=s||0,l=l||0,d=d||360,a=f(a),e=t.Shader._MakeSweepGradient(e,n,g.ce,g.Ke,y,g.count,o,l,d,s,a,p),u(g.ce,r),i&&u(y,i),e},t.Shader.MakeTwoPointConicalGradient=function(e,n,r,i,o,a,s,l,d,p){p=p||null;var g=h(o),y=c(a,"HEAPF32");d=d||0,l=f(l);var m=P.toTypedArray();return m.set(e),m.set(r,2),e=t.Shader._MakeTwoPointConicalGradient(W,n,i,g.ce,g.Ke,y,g.count,s,d,l,p),u(g.ce,o),a&&u(y,a),e},t.Vertices.prototype.bounds=function(t){this._bounds(W);var e=P.toTypedArray();return t?(t.set(e),t):e.slice()},t.Vd&&t.Vd.forEach((function(t){t()}))},t.computeTonalColors=function(t){var e=c(t.ambient,"HEAPF32"),n=c(t.spot,"HEAPF32");this._computeTonalColors(e,n);var r={ambient:y(e),spot:y(n)};return u(e,t.ambient),u(n,t.spot),r},t.LTRBRect=function(t,e,n,r){return Float32Array.of(t,e,n,r)},t.XYWHRect=function(t,e,n,r){return Float32Array.of(t,e,t+n,e+r)},t.LTRBiRect=function(t,e,n,r){return Int32Array.of(t,e,n,r)},t.XYWHiRect=function(t,e,n,r){return Int32Array.of(t,e,t+n,e+r)},t.RRectXY=function(t,e,n){return Float32Array.of(t[0],t[1],t[2],t[3],e,n,e,n,e,n,e,n)},t.MakeAnimatedImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeAnimatedImage(n,e.byteLength))?e:null},t.MakeImageFromEncoded=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._decodeImage(n,e.byteLength))?e:null};var q=null;t.MakeImageFromCanvasImageSource=function(e){var n=e.width,r=e.height;q||(q=document.createElement("canvas")),q.width=n,q.height=r;var i=q.getContext("2d");return i.drawImage(e,0,0),e=i.getImageData(0,0,n,r),t.MakeImage({width:n,height:r,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},e.data,4*n)},t.MakeImage=function(e,n,r){var i=t._malloc(n.length);return t.HEAPU8.set(n,i),t._MakeImage(e,i,n.length,r)},t.MakeVertices=function(e,n,r,i,o,s){var l=o&&o.length||0,u=0;return r&&r.length&&(u|=1),i&&i.length&&(u|=2),void 0===s||s||(u|=4),c(n,"HEAPF32",(e=new t._VerticesBuilder(e,n.length/2,l,u)).positions()),e.texCoords()&&c(r,"HEAPF32",e.texCoords()),e.colors()&&c(a(i),"HEAPU32",e.colors()),e.indices()&&c(o,"HEAPU16",e.indices()),e.detach()},t.Matrix={},t.Matrix.identity=function(){return r(3)},t.Matrix.invert=function(t){var e=t[0]*t[4]*t[8]+t[1]*t[5]*t[6]+t[2]*t[3]*t[7]-t[2]*t[4]*t[6]-t[1]*t[3]*t[8]-t[0]*t[5]*t[7];return e?[(t[4]*t[8]-t[5]*t[7])/e,(t[2]*t[7]-t[1]*t[8])/e,(t[1]*t[5]-t[2]*t[4])/e,(t[5]*t[6]-t[3]*t[8])/e,(t[0]*t[8]-t[2]*t[6])/e,(t[2]*t[3]-t[0]*t[5])/e,(t[3]*t[7]-t[4]*t[6])/e,(t[1]*t[6]-t[0]*t[7])/e,(t[0]*t[4]-t[1]*t[3])/e]:null},t.Matrix.mapPoints=function(t,e){for(var n=0;n<e.length;n+=2){var r=e[n],i=e[n+1],o=t[6]*r+t[7]*i+t[8],a=t[3]*r+t[4]*i+t[5];e[n]=(t[0]*r+t[1]*i+t[2])/o,e[n+1]=a/o}return e},t.Matrix.multiply=function(){return C(3,arguments)},t.Matrix.rotated=function(t,e,n){e=e||0,n=n||0;var r=Math.sin(t);return[t=Math.cos(t),-r,b(r,n,1-t,e),r,t,b(-r,e,1-t,n),0,0,1]},t.Matrix.scaled=function(t,e,i,o){i=i||0,o=o||0;var a=n([t,e],r(3),3,0,1);return n([i-t*i,o-e*o],a,3,2,0)},t.Matrix.skewed=function(t,e,i,o){i=i||0,o=o||0;var a=n([t,e],r(3),3,1,-1);return n([-t*i,-e*o],a,3,2,0)},t.Matrix.translated=function(t,e){return n(arguments,r(3),3,2,0)},t.Vector={},t.Vector.dot=function(t,e){return t.map((function(t,n){return t*e[n]})).reduce((function(t,e){return t+e}))},t.Vector.lengthSquared=function(e){return t.Vector.dot(e,e)},t.Vector.length=function(e){return Math.sqrt(t.Vector.lengthSquared(e))},t.Vector.mulScalar=function(t,e){return t.map((function(t){return t*e}))},t.Vector.add=function(t,e){return t.map((function(t,n){return t+e[n]}))},t.Vector.sub=function(t,e){return t.map((function(t,n){return t-e[n]}))},t.Vector.dist=function(e,n){return t.Vector.length(t.Vector.sub(e,n))},t.Vector.normalize=function(e){return t.Vector.mulScalar(e,1/t.Vector.length(e))},t.Vector.cross=function(t,e){return[t[1]*e[2]-t[2]*e[1],t[2]*e[0]-t[0]*e[2],t[0]*e[1]-t[1]*e[0]]},t.M44={},t.M44.identity=function(){return r(4)},t.M44.translated=function(t){return n(t,r(4),4,3,0)},t.M44.scaled=function(t){return n(t,r(4),4,0,1)},t.M44.rotated=function(e,n){return t.M44.rotatedUnitSinCos(t.Vector.normalize(e),Math.sin(n),Math.cos(n))},t.M44.rotatedUnitSinCos=function(t,e,n){var r=t[0],i=t[1],o=1-n;return[o*r*r+n,o*r*i-e*(t=t[2]),o*r*t+e*i,0,o*r*i+e*t,o*i*i+n,o*i*t-e*r,0,o*r*t-e*i,o*i*t+e*r,o*t*t+n,0,0,0,0,1]},t.M44.lookat=function(e,r,i){r=t.Vector.normalize(t.Vector.sub(r,e)),i=t.Vector.normalize(i),i=t.Vector.normalize(t.Vector.cross(r,i));var o=t.M44.identity();return n(i,o,4,0,0),n(t.Vector.cross(i,r),o,4,1,0),n(t.Vector.mulScalar(r,-1),o,4,2,0),n(e,o,4,3,0),null===(e=t.M44.invert(o))?t.M44.identity():e},t.M44.perspective=function(t,e,n){var r=1/(e-t);return n/=2,[n=Math.cos(n)/Math.sin(n),0,0,0,0,n,0,0,0,0,(e+t)*r,2*e*t*r,0,0,-1,1]},t.M44.rc=function(t,e,n){return t[4*e+n]},t.M44.multiply=function(){return C(4,arguments)},t.M44.invert=function(t){var e=t[0],n=t[4],r=t[8],i=t[12],o=t[1],a=t[5],s=t[9],l=t[13],u=t[2],c=t[6],h=t[10],f=t[14],d=t[3],p=t[7],g=t[11],y=e*a-n*o,m=e*s-r*o,v=e*l-i*o,b=n*s-r*a,w=n*l-i*a,C=r*l-i*s,A=u*p-c*d,T=u*g-h*d,S=u*(t=t[15])-f*d,P=c*g-h*p,_=c*t-f*p,M=h*t-f*g,k=y*M-m*_+v*P+b*S-w*T+C*A,F=1/k;return 0===k||1/0===F?null:(e=[a*(M*=F)-s*(_*=F)+l*(P*=F),s*(S*=F)-o*M-l*(T*=F),o*_-a*S+l*(A*=F),a*T-o*P-s*A,r*_-n*M-i*P,e*M-r*S+i*T,n*S-e*_-i*A,e*P-n*T+r*A,p*(C*=F)-g*(w*=F)+t*(b*=F),g*(v*=F)-d*C-t*(m*=F),d*w-p*v+t*(y*=F),p*m-d*b-g*y,h*w-c*C-f*b,u*C-h*v+f*m,c*v-u*w-f*y,u*b-c*m+h*y]).every((function(t){return!isNaN(t)&&1/0!==t&&-1/0!==t}))?e:null},t.M44.transpose=function(t){return[t[0],t[4],t[8],t[12],t[1],t[5],t[9],t[13],t[2],t[6],t[10],t[14],t[3],t[7],t[11],t[15]]},t.M44.mustInvert=function(e){if(null===(e=t.M44.invert(e)))throw"Matrix not invertible";return e},t.M44.setupCamera=function(e,n,r){var i=t.M44.lookat(r.eye,r.coa,r.up);return r=t.M44.perspective(r.near,r.far,r.angle),n=[(e[2]-e[0])/2,(e[3]-e[1])/2,n],e=t.M44.multiply(t.M44.translated([(e[0]+e[2])/2,(e[1]+e[3])/2,0]),t.M44.scaled(n)),t.M44.multiply(e,r,i,t.M44.mustInvert(e))},t.ColorMatrix={},t.ColorMatrix.identity=function(){var t=new Float32Array(20);return t[0]=1,t[6]=1,t[12]=1,t[18]=1,t},t.ColorMatrix.scaled=function(t,e,n,r){var i=new Float32Array(20);return i[0]=t,i[6]=e,i[12]=n,i[18]=r,i};var X,$=[[6,7,11,12],[0,10,2,12],[0,1,5,6]];t.ColorMatrix.rotated=function(e,n,r){var i=t.ColorMatrix.identity();return i[(e=$[e])[0]]=r,i[e[1]]=n,i[e[2]]=-n,i[e[3]]=r,i},t.ColorMatrix.postTranslate=function(t,e,n,r,i){return t[4]+=e,t[9]+=n,t[14]+=r,t[19]+=i,t},t.ColorMatrix.concat=function(t,e){for(var n=new Float32Array(20),r=0,i=0;20>i;i+=5){for(var o=0;4>o;o++)n[r++]=t[i]*e[o]+t[i+1]*e[o+5]+t[i+2]*e[o+10]+t[i+3]*e[o+15];n[r++]=t[i]*e[4]+t[i+1]*e[9]+t[i+2]*e[14]+t[i+3]*e[19]+t[i+4]}return n},(X=e).Vd=X.Vd||[],X.Vd.push((function(){function t(t){if(!t||!t.length)return[];for(var e=[],n=0;n<t.length;n+=5){var r=X.LTRBRect(t[n],t[n+1],t[n+2],t[n+3]);r.direction=0===t[n+4]?X.TextDirection.RTL:X.TextDirection.LTR,e.push(r)}return X._free(t.byteOffset),e}function e(t){return void 0===(t=t||{}).weight&&(t.weight=X.FontWeight.Normal),t.width=t.width||X.FontWidth.Normal,t.slant=t.slant||X.FontSlant.Upright,t}function n(t){if(!t||!t.length)return Y;for(var e=[],n=0;n<t.length;n++){var i=r(t[n]);e.push(i)}return c(e,"HEAPU32")}function r(t){if(a[t])return a[t];var e=R(t)+1,n=X._malloc(e);return O(t,D,n,e),a[t]=n}function i(t){if(t._colorPtr=p(t.color),t._foregroundColorPtr=Y,t._backgroundColorPtr=Y,t._decorationColorPtr=Y,t.foregroundColor&&(t._foregroundColorPtr=p(t.foregroundColor,s)),t.backgroundColor&&(t._backgroundColorPtr=p(t.backgroundColor,l)),t.decorationColor&&(t._decorationColorPtr=p(t.decorationColor,u)),Array.isArray(t.fontFamilies)&&t.fontFamilies.length?(t._fontFamiliesPtr=n(t.fontFamilies),t._fontFamiliesLen=t.fontFamilies.length):(t._fontFamiliesPtr=Y,t._fontFamiliesLen=0),t.locale){var e=t.locale;t._localePtr=r(e),t._localeLen=R(e)+1}else t._localePtr=Y,t._localeLen=0;if(Array.isArray(t.shadows)&&t.shadows.length){var i=(e=t.shadows).map((function(t){return t.color||X.BLACK})),o=e.map((function(t){return t.blurRadius||0}));t._shadowLen=e.length;for(var a=X._malloc(8*e.length),f=a/4,d=0;d<e.length;d++){var g=e[d].offset||[0,0];X.HEAPF32[f]=g[0],X.HEAPF32[f+1]=g[1],f+=2}t._shadowColorsPtr=h(i).ce,t._shadowOffsetsPtr=a,t._shadowBlurRadiiPtr=c(o,"HEAPF32")}else t._shadowLen=0,t._shadowColorsPtr=Y,t._shadowOffsetsPtr=Y,t._shadowBlurRadiiPtr=Y;Array.isArray(t.fontFeatures)&&t.fontFeatures.length?(i=(e=t.fontFeatures).map((function(t){return t.name})),o=e.map((function(t){return t.value})),t._fontFeatureLen=e.length,t._fontFeatureNamesPtr=n(i),t._fontFeatureValuesPtr=c(o,"HEAPU32")):(t._fontFeatureLen=0,t._fontFeatureNamesPtr=Y,t._fontFeatureValuesPtr=Y)}function o(t){X._free(t._fontFamiliesPtr),X._free(t._shadowColorsPtr),X._free(t._shadowOffsetsPtr),X._free(t._shadowBlurRadiiPtr),X._free(t._fontFeatureNamesPtr),X._free(t._fontFeatureValuesPtr)}X.Paragraph.prototype.getRectsForRange=function(e,n,r,i){return t(e=this._getRectsForRange(e,n,r,i))},X.Paragraph.prototype.getRectsForPlaceholders=function(){return t(this._getRectsForPlaceholders())},X.TypefaceFontProvider.prototype.registerFont=function(t,e){if(!(t=X.Typeface.MakeFreeTypeFaceFromData(t)))return null;e=r(e),this._registerFont(t,e)},X.ParagraphStyle=function(t){if(t.disableHinting=t.disableHinting||!1,t.ellipsis){var i=t.ellipsis;t._ellipsisPtr=r(i),t._ellipsisLen=R(i)+1}else t._ellipsisPtr=Y,t._ellipsisLen=0;return t.heightMultiplier=t.heightMultiplier||0,t.maxLines=t.maxLines||0,(i=(i=t.strutStyle)||{}).strutEnabled=i.strutEnabled||!1,i.strutEnabled&&Array.isArray(i.fontFamilies)&&i.fontFamilies.length?(i._fontFamiliesPtr=n(i.fontFamilies),i._fontFamiliesLen=i.fontFamilies.length):(i._fontFamiliesPtr=Y,i._fontFamiliesLen=0),i.fontStyle=e(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,t.strutStyle=i,t.textAlign=t.textAlign||X.TextAlign.Start,t.textDirection=t.textDirection||X.TextDirection.LTR,t.textHeightBehavior=t.textHeightBehavior||X.TextHeightBehavior.All,t.textStyle=X.TextStyle(t.textStyle),t},X.TextStyle=function(t){return t.color||(t.color=X.BLACK),t.decoration=t.decoration||0,t.decorationThickness=t.decorationThickness||0,t.decorationStyle=t.decorationStyle||X.DecorationStyle.Solid,t.textBaseline=t.textBaseline||X.TextBaseline.Alphabetic,t.fontSize=t.fontSize||0,t.letterSpacing=t.letterSpacing||0,t.wordSpacing=t.wordSpacing||0,t.heightMultiplier=t.heightMultiplier||0,t.halfLeading=t.halfLeading||!1,t.fontStyle=e(t.fontStyle),t};var a={},s=X._malloc(16),l=X._malloc(16),u=X._malloc(16);X.ParagraphBuilder.Make=function(t,e){return i(t.textStyle),e=X.ParagraphBuilder._Make(t,e),o(t.textStyle),e},X.ParagraphBuilder.MakeFromFontProvider=function(t,e){return i(t.textStyle),e=X.ParagraphBuilder._MakeFromFontProvider(t,e),o(t.textStyle),e},X.ParagraphBuilder.ShapeText=function(t,e,n){let r=0;for(const t of e)r+=t.length;if(r!==t.length)throw"Accumulated block lengths must equal text.length";return X.ParagraphBuilder._ShapeText(t,e,n)},X.ParagraphBuilder.prototype.pushStyle=function(t){i(t),this._pushStyle(t),o(t)},X.ParagraphBuilder.prototype.pushPaintStyle=function(t,e,n){i(t),this._pushPaintStyle(t,e,n),o(t)},X.ParagraphBuilder.prototype.addPlaceholder=function(t,e,n,r,i){n=n||X.PlaceholderAlignment.Baseline,r=r||X.TextBaseline.Alphabetic,this._addPlaceholder(t||0,e||0,n,r,i||0)}})),t.Vd=t.Vd||[],t.Vd.push((function(){t.Path.prototype.op=function(t,e){return this._op(t,e)?this:null},t.Path.prototype.simplify=function(){return this._simplify()?this:null}})),t.Vd=t.Vd||[],t.Vd.push((function(){t.Canvas.prototype.drawText=function(e,n,r,i,o){var a=R(e),s=t._malloc(a+1);O(e,D,s,a+1),this._drawSimpleText(s,a,n,r,o,i),t._free(s)},t.Font.prototype.getGlyphBounds=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(16*e.length);return this._getGlyphWidthBounds(i,e.length,Y,o,n||null),n=new Float32Array(t.HEAPU8.buffer,o,4*e.length),u(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.Font.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=R(e)+1,o=t._malloc(i);return O(e,D,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint16Array.from(o),t._free(e),r))},t.Font.prototype.getGlyphIntercepts=function(t,e,n,r){var i=c(t,"HEAPU16"),o=c(e,"HEAPF32");return this._getGlyphIntercepts(i,t.length,!(t&&t._ck),o,e.length,!(e&&e._ck),n,r)},t.Font.prototype.getGlyphWidths=function(e,n,r){var i=c(e,"HEAPU16"),o=t._malloc(4*e.length);return this._getGlyphWidthBounds(i,e.length,o,Y,n||null),n=new Float32Array(t.HEAPU8.buffer,o,e.length),u(i,e),r?(r.set(n),t._free(o),r):(e=Float32Array.from(n),t._free(o),e)},t.FontMgr.FromData=function(){if(!arguments.length)return null;var e=arguments;if(1===e.length&&Array.isArray(e[0])&&(e=arguments[0]),!e.length)return null;for(var n=[],r=[],i=0;i<e.length;i++){var o=new Uint8Array(e[i]),a=c(o,"HEAPU8");n.push(a),r.push(o.byteLength)}return n=c(n,"HEAPU32"),r=c(r,"HEAPU32"),e=t.FontMgr._fromData(n,r,e.length),t._free(n),t._free(r),e},t.Typeface.MakeFreeTypeFaceFromData=function(e){var n=c(e=new Uint8Array(e),"HEAPU8");return(e=t.Typeface._MakeFreeTypeFaceFromData(n,e.byteLength))?e:null},t.Typeface.prototype.getGlyphIDs=function(e,n,r){n||(n=e.length);var i=R(e)+1,o=t._malloc(i);return O(e,D,o,i),e=t._malloc(2*n),n=this._getGlyphIDs(o,i-1,n,e),t._free(o),0>n?(t._free(e),null):(o=new Uint16Array(t.HEAPU8.buffer,e,n),r?(r.set(o),t._free(e),r):(r=Uint16Array.from(o),t._free(e),r))},t.TextBlob.MakeOnPath=function(e,n,r,i){if(e&&e.length&&n&&n.countPoints()){if(1===n.countPoints())return this.MakeFromText(e,r);i||(i=0);var o=r.getGlyphIDs(e);o=r.getGlyphWidths(o);for(var a=[],s=(n=new t.ContourMeasureIter(n,!1,1)).next(),l=new Float32Array(4),u=0;u<e.length&&s;u++){var c=o[u];if((i+=c/2)>s.length()){if(s.delete(),!(s=n.next())){e=e.substring(0,u);break}i=c/2}s.getPosTan(i,l);var h=l[2],f=l[3];a.push(h,f,l[0]-c/2*h,l[1]-c/2*f),i+=c/2}return e=this.MakeFromRSXform(e,a,r),s&&s.delete(),n.delete(),e}},t.TextBlob.MakeFromRSXform=function(e,n,r){var i=R(e)+1,o=t._malloc(i);return O(e,D,o,i),e=c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXform(o,i-1,e,r),t._free(o),r||null},t.TextBlob.MakeFromRSXformGlyphs=function(e,n,r){var i=c(e,"HEAPU16");return n=c(n,"HEAPF32"),r=t.TextBlob._MakeFromRSXformGlyphs(i,2*e.length,n,r),u(i,e),r||null},t.TextBlob.MakeFromGlyphs=function(e,n){var r=c(e,"HEAPU16");return n=t.TextBlob._MakeFromGlyphs(r,2*e.length,n),u(r,e),n||null},t.TextBlob.MakeFromText=function(e,n){var r=R(e)+1,i=t._malloc(r);return O(e,D,i,r),e=t.TextBlob._MakeFromText(i,r-1,n),t._free(i),e||null},t.MallocGlyphIDs=function(e){return t.Malloc(Uint16Array,e)}})),t.Vd=t.Vd||[],t.Vd.push((function(){t.MakePicture=function(e){e=new Uint8Array(e);var n=t._malloc(e.byteLength);return t.HEAPU8.set(e,n),(e=t._MakePicture(n,e.byteLength))?e:null}})),function(){function e(t){for(var e=0;e<t.length;e++)if(void 0!==t[e]&&!Number.isFinite(t[e]))return!1;return!0}function n(e){var n=t.getColorComponents(e);e=n[0];var r=n[1],i=n[2];return 1===(n=n[3])?(e=e.toString(16).toLowerCase(),r=r.toString(16).toLowerCase(),i=i.toString(16).toLowerCase(),"#"+(e=1===e.length?"0"+e:e)+(r=1===r.length?"0"+r:r)+(i=1===i.length?"0"+i:i)):"rgba("+e+", "+r+", "+i+", "+(n=0===n||1===n?n:n.toFixed(8))+")"}function r(e){return t.parseColorString(e,v)}function o(t){if(!(t=b.exec(t)))return null;var e=parseFloat(t[4]),n=16;switch(t[5]){case"em":case"rem":case"pc":n=16*e;break;case"pt":n=4*e/3;break;case"px":n=e;break;case"in":n=96*e;break;case"cm":n=96*e/2.54;break;case"mm":n=96/25.4*e;break;case"q":n=96/25.4/4*e;break;case"%":n=16/75*e}return{style:t[1],variant:t[2],weight:t[3],sizePx:n,family:t[6].trim()}}function a(a){this.Nd=a,this.Qd=new t.Paint,this.Qd.setAntiAlias(!0),this.Qd.setStrokeMiter(10),this.Qd.setStrokeCap(t.StrokeCap.Butt),this.Qd.setStrokeJoin(t.StrokeJoin.Miter),this.Pe="10px monospace",this.re=new t.Font(null,10),this.re.setSubpixel(!0),this.be=this.he=t.BLACK,this.ue=0,this.Ie=t.TRANSPARENT,this.we=this.ve=0,this.Je=this.je=1,this.He=0,this.te=[],this.Pd=t.BlendMode.SrcOver,this.Qd.setStrokeWidth(this.Je),this.Qd.setBlendMode(this.Pd),this.Td=new t.Path,this.Ud=t.Matrix.identity(),this.kf=[],this.Ae=[],this.me=function(){this.Td.delete(),this.Qd.delete(),this.re.delete(),this.Ae.forEach((function(t){t.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(t){t.a&&this.setTransform(t.a,t.b,t.c,t.d,t.e,t.f)}}),Object.defineProperty(this,"fillStyle",{enumerable:!0,get:function(){return i(this.be)?n(this.be):this.be},set:function(t){"string"==typeof t?this.be=r(t):t.se&&(this.be=t)}}),Object.defineProperty(this,"font",{enumerable:!0,get:function(){return this.Pe},set:function(t){var e=o(t),n=e.family;e.typeface=w[n]?w[n][(e.style||"normal")+"|"+(e.variant||"normal")+"|"+(e.weight||"normal")]||w[n]["*"]:null,e&&(this.re.setSize(e.sizePx),this.re.setTypeface(e.typeface),this.Pe=t)}}),Object.defineProperty(this,"globalAlpha",{enumerable:!0,get:function(){return this.je},set:function(t){!isFinite(t)||0>t||1<t||(this.je=t)}}),Object.defineProperty(this,"globalCompositeOperation",{enumerable:!0,get:function(){switch(this.Pd){case t.BlendMode.SrcOver:return"source-over";case t.BlendMode.DstOver:return"destination-over";case t.BlendMode.Src:return"copy";case t.BlendMode.Dst:return"destination";case t.BlendMode.Clear:return"clear";case t.BlendMode.SrcIn:return"source-in";case t.BlendMode.DstIn:return"destination-in";case t.BlendMode.SrcOut:return"source-out";case t.BlendMode.DstOut:return"destination-out";case t.BlendMode.SrcATop:return"source-atop";case t.BlendMode.DstATop:return"destination-atop";case t.BlendMode.Xor:return"xor";case t.BlendMode.Plus:return"lighter";case t.BlendMode.Multiply:return"multiply";case t.BlendMode.Screen:return"screen";case t.BlendMode.Overlay:return"overlay";case t.BlendMode.Darken:return"darken";case t.BlendMode.Lighten:return"lighten";case t.BlendMode.ColorDodge:return"color-dodge";case t.BlendMode.ColorBurn:return"color-burn";case t.BlendMode.HardLight:return"hard-light";case t.BlendMode.SoftLight:return"soft-light";case t.BlendMode.Difference:return"difference";case t.BlendMode.Exclusion:return"exclusion";case t.BlendMode.Hue:return"hue";case t.BlendMode.Saturation:return"saturation";case t.BlendMode.Color:return"color";case t.BlendMode.Luminosity:return"luminosity"}},set:function(e){switch(e){case"source-over":this.Pd=t.BlendMode.SrcOver;break;case"destination-over":this.Pd=t.BlendMode.DstOver;break;case"copy":this.Pd=t.BlendMode.Src;break;case"destination":this.Pd=t.BlendMode.Dst;break;case"clear":this.Pd=t.BlendMode.Clear;break;case"source-in":this.Pd=t.BlendMode.SrcIn;break;case"destination-in":this.Pd=t.BlendMode.DstIn;break;case"source-out":this.Pd=t.BlendMode.SrcOut;break;case"destination-out":this.Pd=t.BlendMode.DstOut;break;case"source-atop":this.Pd=t.BlendMode.SrcATop;break;case"destination-atop":this.Pd=t.BlendMode.DstATop;break;case"xor":this.Pd=t.BlendMode.Xor;break;case"lighter":case"plus-lighter":this.Pd=t.BlendMode.Plus;break;case"plus-darker":throw"plus-darker is not supported";case"multiply":this.Pd=t.BlendMode.Multiply;break;case"screen":this.Pd=t.BlendMode.Screen;break;case"overlay":this.Pd=t.BlendMode.Overlay;break;case"darken":this.Pd=t.BlendMode.Darken;break;case"lighten":this.Pd=t.BlendMode.Lighten;break;case"color-dodge":this.Pd=t.BlendMode.ColorDodge;break;case"color-burn":this.Pd=t.BlendMode.ColorBurn;break;case"hard-light":this.Pd=t.BlendMode.HardLight;break;case"soft-light":this.Pd=t.BlendMode.SoftLight;break;case"difference":this.Pd=t.BlendMode.Difference;break;case"exclusion":this.Pd=t.BlendMode.Exclusion;break;case"hue":this.Pd=t.BlendMode.Hue;break;case"saturation":this.Pd=t.BlendMode.Saturation;break;case"color":this.Pd=t.BlendMode.Color;break;case"luminosity":this.Pd=t.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 t.StrokeCap.Butt:return"butt";case t.StrokeCap.Round:return"round";case t.StrokeCap.Square:return"square"}},set:function(e){switch(e){case"butt":this.Qd.setStrokeCap(t.StrokeCap.Butt);break;case"round":this.Qd.setStrokeCap(t.StrokeCap.Round);break;case"square":this.Qd.setStrokeCap(t.StrokeCap.Square)}}}),Object.defineProperty(this,"lineDashOffset",{enumerable:!0,get:function(){return this.He},set:function(t){isFinite(t)&&(this.He=t)}}),Object.defineProperty(this,"lineJoin",{enumerable:!0,get:function(){switch(this.Qd.getStrokeJoin()){case t.StrokeJoin.Miter:return"miter";case t.StrokeJoin.Round:return"round";case t.StrokeJoin.Bevel:return"bevel"}},set:function(e){switch(e){case"miter":this.Qd.setStrokeJoin(t.StrokeJoin.Miter);break;case"round":this.Qd.setStrokeJoin(t.StrokeJoin.Round);break;case"bevel":this.Qd.setStrokeJoin(t.StrokeJoin.Bevel)}}}),Object.defineProperty(this,"lineWidth",{enumerable:!0,get:function(){return this.Qd.getStrokeWidth()},set:function(t){0>=t||!t||(this.Je=t,this.Qd.setStrokeWidth(t))}}),Object.defineProperty(this,"miterLimit",{enumerable:!0,get:function(){return this.Qd.getStrokeMiter()},set:function(t){0>=t||!t||this.Qd.setStrokeMiter(t)}}),Object.defineProperty(this,"shadowBlur",{enumerable:!0,get:function(){return this.ue},set:function(t){0>t||!isFinite(t)||(this.ue=t)}}),Object.defineProperty(this,"shadowColor",{enumerable:!0,get:function(){return n(this.Ie)},set:function(t){this.Ie=r(t)}}),Object.defineProperty(this,"shadowOffsetX",{enumerable:!0,get:function(){return this.ve},set:function(t){isFinite(t)&&(this.ve=t)}}),Object.defineProperty(this,"shadowOffsetY",{enumerable:!0,get:function(){return this.we},set:function(t){isFinite(t)&&(this.we=t)}}),Object.defineProperty(this,"strokeStyle",{enumerable:!0,get:function(){return n(this.he)},set:function(t){"string"==typeof t?this.he=r(t):t.se&&(this.he=t)}}),this.arc=function(t,e,n,r,i,o){d(this.Td,t,e,n,n,0,r,i,o)},this.arcTo=function(t,e,n,r,i){c(this.Td,t,e,n,r,i)},this.beginPath=function(){this.Td.delete(),this.Td=new t.Path},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Td;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a))},this.clearRect=function(e,n,r,i){this.Qd.setStyle(t.PaintStyle.Fill),this.Qd.setBlendMode(t.BlendMode.Clear),this.Nd.drawRect(t.XYWHRect(e,n,r,i),this.Qd),this.Qd.setBlendMode(this.Pd)},this.clip=function(e,n){"string"==typeof e?(n=e,e=this.Td):e&&e.$e&&(e=e.Wd),e||(e=this.Td),e=e.copy(),n&&"evenodd"===n.toLowerCase()?e.setFillType(t.FillType.EvenOdd):e.setFillType(t.FillType.Winding),this.Nd.clipPath(e,t.ClipOp.Intersect,!0),e.delete()},this.closePath=function(){h(this.Td)},this.createImageData=function(){if(1===arguments.length){var t=arguments[0];return new l(new Uint8ClampedArray(4*t.width*t.height),t.width,t.height)}if(2===arguments.length){t=arguments[0];var e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}throw"createImageData expects 1 or 2 arguments, got "+arguments.length},this.createLinearGradient=function(t,n,r,i){if(e(arguments)){var o=new u(t,n,r,i);return this.Ae.push(o),o}},this.createPattern=function(t,e){return t=new y(t,e),this.Ae.push(t),t},this.createRadialGradient=function(t,n,r,i,o,a){if(e(arguments)){var s=new m(t,n,r,i,o,a);return this.Ae.push(s),s}},this.drawImage=function(e){var n=this.Oe();if(3===arguments.length||5===arguments.length)var r=t.XYWHRect(arguments[1],arguments[2],arguments[3]||e.width(),arguments[4]||e.height()),i=t.XYWHRect(0,0,e.width(),e.height());else{if(9!==arguments.length)throw"invalid number of args for drawImage, need 3, 5, or 9; got "+arguments.length;r=t.XYWHRect(arguments[5],arguments[6],arguments[7],arguments[8]),i=t.XYWHRect(arguments[1],arguments[2],arguments[3],arguments[4])}this.Nd.drawImageRect(e,i,r,n,!1),n.dispose()},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Td,t,e,n,r,i,o,a,s)},this.Oe=function(){var e=this.Qd.copy();if(e.setStyle(t.PaintStyle.Fill),i(this.be)){var n=t.multiplyByAlpha(this.be,this.je);e.setColor(n)}else n=this.be.se(this.Ud),e.setColor(t.Color(0,0,0,this.je)),e.setShader(n);return e.dispose=function(){this.delete()},e},this.fill=function(e,n){if("string"==typeof e?(n=e,e=this.Td):e&&e.$e&&(e=e.Wd),"evenodd"===n)this.Td.setFillType(t.FillType.EvenOdd);else{if("nonzero"!==n&&n)throw"invalid fill rule";this.Td.setFillType(t.FillType.Winding)}e||(e=this.Td),n=this.Oe();var r=this.xe(n);r&&(this.Nd.save(),this.pe(),this.Nd.drawPath(e,r),this.Nd.restore(),r.dispose()),this.Nd.drawPath(e,n),n.dispose()},this.fillRect=function(e,n,r,i){var o=this.Oe(),a=this.xe(o);a&&(this.Nd.save(),this.pe(),this.Nd.drawRect(t.XYWHRect(e,n,r,i),a),this.Nd.restore(),a.dispose()),this.Nd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose()},this.fillText=function(e,n,r){var i=this.Oe();e=t.TextBlob.MakeFromText(e,this.re);var o=this.xe(i);o&&(this.Nd.save(),this.pe(),this.Nd.drawTextBlob(e,n,r,o),this.Nd.restore(),o.dispose()),this.Nd.drawTextBlob(e,n,r,i),e.delete(),i.dispose()},this.getImageData=function(e,n,r,i){return(e=this.Nd.readPixels(e,n,{width:r,height:i,colorType:t.ColorType.RGBA_8888,alphaType:t.AlphaType.Unpremul,colorSpace:t.ColorSpace.SRGB}))?new l(new Uint8ClampedArray(e.buffer),r,i):null},this.getLineDash=function(){return this.te.slice()},this.lf=function(e){var n=t.Matrix.invert(this.Ud);return t.Matrix.mapPoints(n,e),e},this.isPointInPath=function(e,n,r){var i=arguments;if(3===i.length)var o=this.Td;else{if(4!==i.length)throw"invalid arg count, need 3 or 4, got "+i.length;o=i[0],e=i[1],n=i[2],r=i[3]}return!(!isFinite(e)||!isFinite(n))&&("nonzero"===(r=r||"nonzero")||"evenodd"===r)&&(e=(i=this.lf([e,n]))[0],n=i[1],o.setFillType("nonzero"===r?t.FillType.Winding:t.FillType.EvenOdd),o.contains(e,n))},this.isPointInStroke=function(e,n){var r=arguments;if(2===r.length)var i=this.Td;else{if(3!==r.length)throw"invalid arg count, need 2 or 3, got "+r.length;i=r[0],e=r[1],n=r[2]}return!(!isFinite(e)||!isFinite(n))&&(e=(r=this.lf([e,n]))[0],n=r[1],(i=i.copy()).setFillType(t.FillType.Winding),i.stroke({width:this.lineWidth,miter_limit:this.miterLimit,cap:this.Qd.getStrokeCap(),join:this.Qd.getStrokeJoin(),precision:.3}),r=i.contains(e,n),i.delete(),r)},this.lineTo=function(t,e){p(this.Td,t,e)},this.measureText=function(){throw Error("Clients wishing to properly measure text should use the Paragraph API")},this.moveTo=function(t,n){var r=this.Td;e([t,n])&&r.moveTo(t,n)},this.putImageData=function(n,r,i,o,a,s,l){if(e([r,i,o,a,s,l]))if(void 0===o)this.Nd.writePixels(n.data,n.width,n.height,r,i);else if(o=o||0,a=a||0,s=s||n.width,l=l||n.height,0>s&&(o+=s,s=Math.abs(s)),0>l&&(a+=l,l=Math.abs(l)),0>o&&(s+=o,o=0),0>a&&(l+=a,a=0),!(0>=s||0>=l)){n=t.MakeImage({width:n.width,height:n.height,alphaType:t.AlphaType.Unpremul,colorType:t.ColorType.RGBA_8888,colorSpace:t.ColorSpace.SRGB},n.data,4*n.width);var u=t.XYWHRect(o,a,s,l);r=t.XYWHRect(r+o,i+a,s,l),i=t.Matrix.invert(this.Ud),this.Nd.save(),this.Nd.concat(i),this.Nd.drawImageRect(n,u,r,null,!1),this.Nd.restore(),n.delete()}},this.quadraticCurveTo=function(t,n,r,i){var o=this.Td;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i))},this.rect=function(n,r,i,o){var a=this.Td;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n)},this.resetTransform=function(){this.Td.transform(this.Ud);var e=t.Matrix.invert(this.Ud);this.Nd.concat(e),this.Ud=this.Nd.getTotalMatrix()},this.restore=function(){var e=this.kf.pop();if(e){var n=t.Matrix.multiply(this.Ud,t.Matrix.invert(e.Cf));this.Td.transform(n),this.Qd.delete(),this.Qd=e.$f,this.te=e.Wf,this.Je=e.rg,this.he=e.qg,this.be=e.fs,this.ve=e.og,this.we=e.pg,this.ue=e.dg,this.Ie=e.ng,this.je=e.Jf,this.Pd=e.Kf,this.He=e.Xf,this.Pe=e.If,this.Nd.restore(),this.Ud=this.Nd.getTotalMatrix()}},this.rotate=function(e){if(isFinite(e)){var n=t.Matrix.rotated(-e);this.Td.transform(n),this.Nd.rotate(e/Math.PI*180,0,0),this.Ud=this.Nd.getTotalMatrix()}},this.save=function(){if(this.be.qe){var t=this.be.qe();this.Ae.push(t)}else t=this.be;if(this.he.qe){var e=this.he.qe();this.Ae.push(e)}else e=this.he;this.kf.push({Cf:this.Ud.slice(),Wf:this.te.slice(),rg:this.Je,qg:e,fs:t,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(n,r){if(e(arguments)){var i=t.Matrix.scaled(1/n,1/r);this.Td.transform(i),this.Nd.scale(n,r),this.Ud=this.Nd.getTotalMatrix()}},this.setLineDash=function(t){for(var e=0;e<t.length;e++)if(!isFinite(t[e])||0>t[e])return;1==t.length%2&&Array.prototype.push.apply(t,t),this.te=t},this.setTransform=function(t,n,r,i,o,a){e(arguments)&&(this.resetTransform(),this.transform(t,n,r,i,o,a))},this.pe=function(){var e=t.Matrix.invert(this.Ud);this.Nd.concat(e),this.Nd.concat(t.Matrix.translated(this.ve,this.we)),this.Nd.concat(this.Ud)},this.xe=function(e){var n=t.multiplyByAlpha(this.Ie,this.je);if(!t.getColorComponents(n)[3]||!(this.ue||this.we||this.ve))return null;(e=e.copy()).setColor(n);var r=t.MaskFilter.MakeBlur(t.BlurStyle.Normal,this.ue/2,!1);return e.setMaskFilter(r),e.dispose=function(){r.delete(),this.delete()},e},this.bf=function(){var e=this.Qd.copy();if(e.setStyle(t.PaintStyle.Stroke),i(this.he)){var n=t.multiplyByAlpha(this.he,this.je);e.setColor(n)}else n=this.he.se(this.Ud),e.setColor(t.Color(0,0,0,this.je)),e.setShader(n);if(e.setStrokeWidth(this.Je),this.te.length){var r=t.PathEffect.MakeDash(this.te,this.He);e.setPathEffect(r)}return e.dispose=function(){r&&r.delete(),this.delete()},e},this.stroke=function(t){t=t?t.Wd:this.Td;var e=this.bf(),n=this.xe(e);n&&(this.Nd.save(),this.pe(),this.Nd.drawPath(t,n),this.Nd.restore(),n.dispose()),this.Nd.drawPath(t,e),e.dispose()},this.strokeRect=function(e,n,r,i){var o=this.bf(),a=this.xe(o);a&&(this.Nd.save(),this.pe(),this.Nd.drawRect(t.XYWHRect(e,n,r,i),a),this.Nd.restore(),a.dispose()),this.Nd.drawRect(t.XYWHRect(e,n,r,i),o),o.dispose()},this.strokeText=function(e,n,r){var i=this.bf();e=t.TextBlob.MakeFromText(e,this.re);var o=this.xe(i);o&&(this.Nd.save(),this.pe(),this.Nd.drawTextBlob(e,n,r,o),this.Nd.restore(),o.dispose()),this.Nd.drawTextBlob(e,n,r,i),e.delete(),i.dispose()},this.translate=function(n,r){if(e(arguments)){var i=t.Matrix.translated(-n,-r);this.Td.transform(i),this.Nd.translate(n,r),this.Ud=this.Nd.getTotalMatrix()}},this.transform=function(e,n,r,i,o,a){e=[e,r,o,n,i,a,0,0,1],n=t.Matrix.invert(e),this.Td.transform(n),this.Nd.concat(e),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 s(e){this.cf=e,this.Md=new a(e.getCanvas()),this.Qe=[],this.decodeImage=function(e){if(!(e=t.MakeImageFromEncoded(e)))throw"Invalid input";return this.Qe.push(e),e},this.loadFont=function(e,n){if(!(e=t.Typeface.MakeFreeTypeFaceFromData(e)))return null;this.Qe.push(e);var r=(n.style||"normal")+"|"+(n.variant||"normal")+"|"+(n.weight||"normal");n=n.family,w[n]||(w[n]={"*":e}),w[n][r]=e},this.makePath2D=function(t){return t=new g(t),this.Qe.push(t.Wd),t},this.getContext=function(t){return"2d"===t?this.Md:null},this.toDataURL=function(e,n){this.cf.flush();var r=this.cf.makeImageSnapshot();if(r){e=e||"image/png";var i=t.ImageFormat.PNG;if("image/jpeg"===e&&(i=t.ImageFormat.JPEG),n=r.encodeToBytes(i,n||.92)){if(r.delete(),e="data:"+e+";base64,","undefined"!=typeof Buffer)n=Buffer.from(n).toString("base64");else{r=0,i=n.length;for(var o,a="";r<i;)o=n.slice(r,Math.min(r+32768,i)),a+=String.fromCharCode.apply(null,o),r+=32768;n=btoa(a)}return e+n}}},this.dispose=function(){this.Md.me(),this.Qe.forEach((function(t){t.delete()})),this.cf.dispose()}}function l(t,e,n){if(!e||0===n)throw"invalid dimensions, width and height must be non-zero";if(t.length%4)throw"arr must be a multiple of 4";n=n||t.length/(4*e),Object.defineProperty(this,"data",{value:t,writable:!1}),Object.defineProperty(this,"height",{value:n,writable:!1}),Object.defineProperty(this,"width",{value:e,writable:!1})}function u(e,n,i,o){this.Yd=null,this.ee=[],this.$d=[],this.addColorStop=function(t,e){if(0>t||1<t||!isFinite(t))throw"offset must be between 0 and 1 inclusively";e=r(e);var n=this.$d.indexOf(t);if(-1!==n)this.ee[n]=e;else{for(n=0;n<this.$d.length&&!(this.$d[n]>t);n++);this.$d.splice(n,0,t),this.ee.splice(n,0,e)}},this.qe=function(){var t=new u(e,n,i,o);return t.ee=this.ee.slice(),t.$d=this.$d.slice(),t},this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)},this.se=function(r){var a=[e,n,i,o];t.Matrix.mapPoints(r,a),r=a[0];var s=a[1],l=a[2];return a=a[3],this.me(),this.Yd=t.Shader.MakeLinearGradient([r,s],[l,a],this.ee,this.$d,t.TileMode.Clamp)}}function c(t,n,r,i,o,a){if(e([n,r,i,o,a])){if(0>a)throw"radii cannot be negative";t.isEmpty()&&t.moveTo(n,r),t.arcToTangent(n,r,i,o,a)}}function h(t){if(!t.isEmpty()){var e=t.getBounds();(e[3]-e[1]||e[2]-e[0])&&t.close()}}function f(e,n,r,i,o,a,s){s=(s-a)/Math.PI*180,a=a/Math.PI*180,n=t.LTRBRect(n-i,r-o,n+i,r+o),1e-5>Math.abs(Math.abs(s)-360)?(r=s/2,e.arcToOval(n,a,r,!1),e.arcToOval(n,a+r,r,!1)):e.arcToOval(n,a,s,!1)}function d(n,r,i,o,a,s,l,u,c){if(e([r,i,o,a,s,l,u])){if(0>o||0>a)throw"radii cannot be negative";var h=2*Math.PI,d=l%h;0>d&&(d+=h);var p=d-l;l=d,u+=p,!c&&u-l>=h?u=l+h:c&&l-u>=h?u=l-h:!c&&l>u?u=l+(h-(l-u)%h):c&&l<u&&(u=l-(h-(u-l)%h)),s?(c=t.Matrix.rotated(s,r,i),s=t.Matrix.rotated(-s,r,i),n.transform(s),f(n,r,i,o,a,l,u),n.transform(c)):f(n,r,i,o,a,l,u)}}function p(t,n,r){e([n,r])&&(t.isEmpty()&&t.moveTo(n,r),t.lineTo(n,r))}function g(n){this.Wd=null,this.Wd="string"==typeof n?t.Path.MakeFromSVGString(n):n&&n.$e?n.Wd.copy():new t.Path,this.$e=function(){return this.Wd},this.addPath=function(t,e){e||(e={a:1,c:0,e:0,b:0,d:1,f:0}),this.Wd.addPath(t.Wd,[e.a,e.c,e.e,e.b,e.d,e.f])},this.arc=function(t,e,n,r,i,o){d(this.Wd,t,e,n,n,0,r,i,o)},this.arcTo=function(t,e,n,r,i){c(this.Wd,t,e,n,r,i)},this.bezierCurveTo=function(t,n,r,i,o,a){var s=this.Wd;e([t,n,r,i,o,a])&&(s.isEmpty()&&s.moveTo(t,n),s.cubicTo(t,n,r,i,o,a))},this.closePath=function(){h(this.Wd)},this.ellipse=function(t,e,n,r,i,o,a,s){d(this.Wd,t,e,n,r,i,o,a,s)},this.lineTo=function(t,e){p(this.Wd,t,e)},this.moveTo=function(t,n){var r=this.Wd;e([t,n])&&r.moveTo(t,n)},this.quadraticCurveTo=function(t,n,r,i){var o=this.Wd;e([t,n,r,i])&&(o.isEmpty()&&o.moveTo(t,n),o.quadTo(t,n,r,i))},this.rect=function(n,r,i,o){var a=this.Wd;e(n=t.XYWHRect(n,r,i,o))&&a.addRect(n)}}function y(n,r){switch(this.Yd=null,this.xf=n,this._transform=t.Matrix.identity(),""===r&&(r="repeat"),r){case"repeat-x":this.ye=t.TileMode.Repeat,this.ze=t.TileMode.Decal;break;case"repeat-y":this.ye=t.TileMode.Decal,this.ze=t.TileMode.Repeat;break;case"repeat":this.ze=this.ye=t.TileMode.Repeat;break;case"no-repeat":this.ze=this.ye=t.TileMode.Decal;break;default:throw"invalid repetition mode "+r}this.setTransform=function(t){e(t=[t.a,t.c,t.e,t.b,t.d,t.f,0,0,1])&&(this._transform=t)},this.qe=function(){var t=new y;return t.ye=this.ye,t.ze=this.ze,t},this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)},this.se=function(){return this.me(),this.Yd=this.xf.makeShaderCubic(this.ye,this.ze,1/3,1/3,this._transform)}}function m(e,n,i,o,a,s){this.Yd=null,this.ee=[],this.$d=[],this.addColorStop=function(t,e){if(0>t||1<t||!isFinite(t))throw"offset must be between 0 and 1 inclusively";e=r(e);var n=this.$d.indexOf(t);if(-1!==n)this.ee[n]=e;else{for(n=0;n<this.$d.length&&!(this.$d[n]>t);n++);this.$d.splice(n,0,t),this.ee.splice(n,0,e)}},this.qe=function(){var t=new m(e,n,i,o,a,s);return t.ee=this.ee.slice(),t.$d=this.$d.slice(),t},this.me=function(){this.Yd&&(this.Yd.delete(),this.Yd=null)},this.se=function(r){var l=[e,n,o,a];t.Matrix.mapPoints(r,l);var u=l[0],c=l[1],h=l[2];l=l[3];var f=(Math.abs(r[0])+Math.abs(r[4]))/2;return r=i*f,f*=s,this.me(),this.Yd=t.Shader.MakeTwoPointConicalGradient([u,c],r,[h,l],f,this.ee,this.$d,t.TileMode.Clamp)}}t._testing={};var v={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)};t._testing.parseColor=r,t._testing.colorToString=n;var b=/(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)(.+)/,w={"Noto Mono":{"*":null},monospace:{"*":null}};t._testing.parseFontString=o,t.MakeCanvas=function(e,n){return(e=t.MakeSurface(e,n))?new s(e):null},t.ImageData=function(){if(2===arguments.length){var t=arguments[0],e=arguments[1];return new l(new Uint8ClampedArray(4*t*e),t,e)}if(3===arguments.length){var n=arguments[0];if(n.prototype.constructor!==Uint8ClampedArray)throw"bytes must be given as a Uint8ClampedArray";if(n%4)throw"bytes must be given in a multiple of 4";if(n%(t=arguments[1]))throw"bytes must divide evenly by width";if((e=arguments[2])&&e!==n/(4*t))throw"invalid height given";return new l(n,t,n/(4*t))}throw"invalid number of arguments - takes 2 or 3, saw "+arguments.length}}()}(e);var a,s={};for(a in e)e.hasOwnProperty(a)&&(s[a]=e[a]);var l,u,c,h,f="./this.program";function d(t,e){throw e}l="object"==typeof window,u="function"==typeof importScripts,c="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h=!l&&!c&&!u;var p,g,y,m,w,C="";c?(C=u?v.dirname(C)+"/":__dirname+"/",p=function(t,e){return m||(m=b),w||(w=v),t=w.normalize(t),m.readFileSync(t,e?null:"utf8")},y=function(t){return(t=p(t,!0)).buffer||(t=new Uint8Array(t)),F(t.buffer),t},1<process.argv.length&&(f=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),process.on("uncaughtException",(function(t){if(!(t instanceof Tn))throw t})),process.on("unhandledRejection",ot),d=function(t){process.exit(t)},e.inspect=function(){return"[Emscripten Module object]"}):h?("undefined"!=typeof read&&(p=function(t){return read(t)}),y=function(t){return"function"==typeof readbuffer?new Uint8Array(readbuffer(t)):(F("object"==typeof(t=read(t,"binary"))),t)},"function"==typeof quit&&(d=function(t){quit(t)}),"undefined"!=typeof print&&("undefined"==typeof console&&(console={}),console.log=print,console.warn=console.error="undefined"!=typeof printErr?printErr:print)):(l||u)&&(u?C=self.location.href:"undefined"!=typeof document&&document.currentScript&&(C=document.currentScript.src),n&&(C=n),C=0!==C.indexOf("blob:")?C.substr(0,C.lastIndexOf("/")+1):"",p=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.send(null),e.responseText},u&&(y=function(t){var e=new XMLHttpRequest;return e.open("GET",t,!1),e.responseType="arraybuffer",e.send(null),new Uint8Array(e.response)}),g=function(t,e,n){var r=new XMLHttpRequest;r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=function(){200==r.status||0==r.status&&r.response?e(r.response):n()},r.onerror=n,r.send(null)});var A=e.print||console.log.bind(console),T=e.printErr||console.warn.bind(console);for(a in s)s.hasOwnProperty(a)&&(e[a]=s[a]);s=null,e.thisProgram&&(f=e.thisProgram),e.quit&&(d=e.quit);var S,P=0;e.wasmBinary&&(S=e.wasmBinary);var _=e.noExitRuntime||!0;"object"!=typeof WebAssembly&&ot("no native wasm support detected");var M,k=!1;function F(t,e){t||ot("Assertion failed: "+e)}var x="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function E(t,e,n){var r=e+n;for(n=e;t[n]&&!(n>=r);)++n;if(16<n-e&&t.subarray&&x)return x.decode(t.subarray(e,n));for(r="";e<n;){var i=t[e++];if(128&i){var o=63&t[e++];if(192==(224&i))r+=String.fromCharCode((31&i)<<6|o);else{var a=63&t[e++];65536>(i=224==(240&i)?(15&i)<<12|o<<6|a:(7&i)<<18|o<<12|a<<6|63&t[e++])?r+=String.fromCharCode(i):(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i))}}else r+=String.fromCharCode(i)}return r}function B(t,e){return t?E(D,t,e):""}function O(t,e,n,r){if(!(0<r))return 0;var i=n;r=n+r-1;for(var o=0;o<t.length;++o){var a=t.charCodeAt(o);if(55296<=a&&57343>=a&&(a=65536+((1023&a)<<10)|1023&t.charCodeAt(++o)),127>=a){if(n>=r)break;e[n++]=a}else{if(2047>=a){if(n+1>=r)break;e[n++]=192|a>>6}else{if(65535>=a){if(n+2>=r)break;e[n++]=224|a>>12}else{if(n+3>=r)break;e[n++]=240|a>>18,e[n++]=128|a>>12&63}e[n++]=128|a>>6&63}e[n++]=128|63&a}}return e[n]=0,n-i}function R(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);55296<=r&&57343>=r&&(r=65536+((1023&r)<<10)|1023&t.charCodeAt(++n)),127>=r?++e:e=2047>=r?e+2:65535>=r?e+3:e+4}return e}var L,I,D,W,z,j,G,N,U,H="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function V(t,e){for(var n=t>>1,r=n+e/2;!(n>=r)&&z[n];)++n;if(32<(n<<=1)-t&&H)return H.decode(D.subarray(t,n));for(n="",r=0;!(r>=e/2);++r){var i=W[t+2*r>>1];if(0==i)break;n+=String.fromCharCode(i)}return n}function Y(t,e,n){if(void 0===n&&(n=2147483647),2>n)return 0;var r=e;n=(n-=2)<2*t.length?n/2:t.length;for(var i=0;i<n;++i)W[e>>1]=t.charCodeAt(i),e+=2;return W[e>>1]=0,e-r}function q(t){return 2*t.length}function X(t,e){for(var n=0,r="";!(n>=e/4);){var i=j[t+4*n>>2];if(0==i)break;++n,65536<=i?(i-=65536,r+=String.fromCharCode(55296|i>>10,56320|1023&i)):r+=String.fromCharCode(i)}return r}function $(t,e,n){if(void 0===n&&(n=2147483647),4>n)return 0;var r=e;n=r+n-4;for(var i=0;i<t.length;++i){var o=t.charCodeAt(i);if(55296<=o&&57343>=o&&(o=65536+((1023&o)<<10)|1023&t.charCodeAt(++i)),j[e>>2]=o,(e+=4)+4>n)break}return j[e>>2]=0,e-r}function Q(t){for(var e=0,n=0;n<t.length;++n){var r=t.charCodeAt(n);55296<=r&&57343>=r&&++n,e+=4}return e}function K(){var t=M.buffer;L=t,e.HEAP8=I=new Int8Array(t),e.HEAP16=W=new Int16Array(t),e.HEAP32=j=new Int32Array(t),e.HEAPU8=D=new Uint8Array(t),e.HEAPU16=z=new Uint16Array(t),e.HEAPU32=G=new Uint32Array(t),e.HEAPF32=N=new Float32Array(t),e.HEAPF64=U=new Float64Array(t)}var J,Z=[],tt=[],et=[];function nt(){var t=e.preRun.shift();Z.unshift(t)}var rt=0,it=null;function ot(t){throw e.onAbort&&e.onAbort(t),T(t),k=!0,t=new WebAssembly.RuntimeError("abort("+t+"). Build with -s ASSERTIONS=1 for more info."),i(t),t}function at(){return st.startsWith("data:application/octet-stream;base64,")}e.preloadedImages={},e.preloadedAudios={};var st="canvaskit.wasm";if(!at()){var lt=st;st=e.locateFile?e.locateFile(lt,C):C+lt}function ut(){var t=st;try{if(t==st&&S)return new Uint8Array(S);if(y)return y(t);throw"both async and sync fetching of the wasm failed"}catch(t){ot(t)}}function ct(t){for(;0<t.length;){var n=t.shift();if("function"==typeof n)n(e);else{var r=n.Ag;"number"==typeof r?void 0===n.df?J.get(r)():J.get(r)(n.df):r(void 0===n.df?null:n.df)}}}function ht(t){this.Rd=t-16,this.ig=function(t){j[this.Rd+8>>2]=t},this.fg=function(t){j[this.Rd+0>>2]=t},this.gg=function(){j[this.Rd+4>>2]=0},this.eg=function(){I[this.Rd+12>>0]=0},this.hg=function(){I[this.Rd+13>>0]=0},this.Tf=function(t,e){this.ig(t),this.fg(e),this.gg(),this.eg(),this.hg()}}var ft={},dt=[null,[],[]],pt={},gt={};function yt(t){for(;t.length;){var e=t.pop();t.pop()(e)}}function mt(t){return this.fromWireType(G[t>>2])}var vt={},bt={},wt={};function Ct(t){if(void 0===t)return"_unknown";var e=(t=t.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return 48<=e&&57>=e?"_"+t:t}function At(t,e){return t=Ct(t),new Function("body","return function "+t+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(e)}function Tt(t){var e=Error,n=At(t,(function(e){this.name=t,this.message=e,void 0!==(e=Error(e).stack)&&(this.stack=this.toString()+"\n"+e.replace(/^Error(:[^\n]*)?\n/,""))}));return n.prototype=Object.create(e.prototype),n.prototype.constructor=n,n.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},n}var St=void 0;function Pt(t){throw new St(t)}function _t(t,e,n){function r(e){(e=n(e)).length!==t.length&&Pt("Mismatched type converter count");for(var r=0;r<t.length;++r)Bt(t[r],e[r])}t.forEach((function(t){wt[t]=e}));var i=Array(e.length),o=[],a=0;e.forEach((function(t,e){bt.hasOwnProperty(t)?i[e]=bt[t]:(o.push(t),vt.hasOwnProperty(t)||(vt[t]=[]),vt[t].push((function(){i[e]=bt[t],++a===o.length&&r(i)})))})),0===o.length&&r(i)}function Mt(t){switch(t){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+t)}}var kt=void 0;function Ft(t){for(var e="";D[t];)e+=kt[D[t++]];return e}var xt=void 0;function Et(t){throw new xt(t)}function Bt(t,e,n){if(n=n||{},!("argPackAdvance"in e))throw new TypeError("registerType registeredInstance requires argPackAdvance");var r=e.name;if(t||Et('type "'+r+'" must have a positive integer typeid pointer'),bt.hasOwnProperty(t)){if(n.Sf)return;Et("Cannot register type '"+r+"' twice")}bt[t]=e,delete wt[t],vt.hasOwnProperty(t)&&(e=vt[t],delete vt[t],e.forEach((function(t){t()})))}function Ot(t){Et(t.Ld.Xd.Sd.name+" instance already deleted")}var Rt=!1;function Lt(){}function It(t){--t.count.value,0===t.count.value&&(t.de?t.ge.ke(t.de):t.Xd.Sd.ke(t.Rd))}function Dt(t){return"undefined"==typeof FinalizationGroup?(Dt=function(t){return t},t):(Rt=new FinalizationGroup((function(t){for(var e=t.next();!e.done;e=t.next())(e=e.value).Rd?It(e):console.warn("object already deleted: "+e.Rd)})),Lt=function(t){Rt.unregister(t.Ld)},(Dt=function(t){return Rt.register(t,t.Ld,t.Ld),t})(t))}var Wt=void 0,zt=[];function jt(){for(;zt.length;){var t=zt.pop();t.Ld.De=!1,t.delete()}}function Gt(){}var Nt={};function Ut(t,e,n){if(void 0===t[e].Zd){var r=t[e];t[e]=function(){return t[e].Zd.hasOwnProperty(arguments.length)||Et("Function '"+n+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+t[e].Zd+")!"),t[e].Zd[arguments.length].apply(this,arguments)},t[e].Zd=[],t[e].Zd[r.Be]=r}}function Ht(t,n,r){e.hasOwnProperty(t)?((void 0===r||void 0!==e[t].Zd&&void 0!==e[t].Zd[r])&&Et("Cannot register public name '"+t+"' twice"),Ut(e,t,t),e.hasOwnProperty(r)&&Et("Cannot register multiple overloads of a function with the same number of arguments ("+r+")!"),e[t].Zd[r]=n):(e[t]=n,void 0!==r&&(e[t].Cg=r))}function Vt(t,e,n,r,i,o,a,s){this.name=t,this.constructor=e,this.Ee=n,this.ke=r,this.ie=i,this.Lf=o,this.Ne=a,this.Ff=s,this.bg=[]}function Yt(t,e,n){for(;e!==n;)e.Ne||Et("Expected null or instance of "+n.name+", got an instance of "+e.name),t=e.Ne(t),e=e.ie;return t}function qt(t,e){return null===e?(this.ff&&Et("null is not a valid "+this.name),0):(e.Ld||Et('Cannot pass "'+pe(e)+'" as a '+this.name),e.Ld.Rd||Et("Cannot pass deleted object as a pointer of type "+this.name),Yt(e.Ld.Rd,e.Ld.Xd.Sd,this.Sd))}function Xt(t,e){if(null===e){if(this.ff&&Et("null is not a valid "+this.name),this.Se){var n=this.gf();return null!==t&&t.push(this.ke,n),n}return 0}if(e.Ld||Et('Cannot pass "'+pe(e)+'" as a '+this.name),e.Ld.Rd||Et("Cannot pass deleted object as a pointer of type "+this.name),!this.Re&&e.Ld.Xd.Re&&Et("Cannot convert argument of type "+(e.Ld.ge?e.Ld.ge.name:e.Ld.Xd.name)+" to parameter type "+this.name),n=Yt(e.Ld.Rd,e.Ld.Xd.Sd,this.Sd),this.Se)switch(void 0===e.Ld.de&&Et("Passing raw pointer to smart pointer is illegal"),this.mg){case 0:e.Ld.ge===this?n=e.Ld.de:Et("Cannot convert argument of type "+(e.Ld.ge?e.Ld.ge.name:e.Ld.Xd.name)+" to parameter type "+this.name);break;case 1:n=e.Ld.de;break;case 2:if(e.Ld.ge===this)n=e.Ld.de;else{var r=e.clone();n=this.cg(n,he((function(){r.delete()}))),null!==t&&t.push(this.ke,n)}break;default:Et("Unsupporting sharing policy")}return n}function $t(t,e){return null===e?(this.ff&&Et("null is not a valid "+this.name),0):(e.Ld||Et('Cannot pass "'+pe(e)+'" as a '+this.name),e.Ld.Rd||Et("Cannot pass deleted object as a pointer of type "+this.name),e.Ld.Xd.Re&&Et("Cannot convert argument of type "+e.Ld.Xd.name+" to parameter type "+this.name),Yt(e.Ld.Rd,e.Ld.Xd.Sd,this.Sd))}function Qt(t,e,n){return e===n?t:void 0===n.ie||null===(t=Qt(t,e,n.ie))?null:n.Ff(t)}var Kt={};function Jt(t,e){return e.Xd&&e.Rd||Pt("makeClassHandle requires ptr and ptrType"),!!e.ge!=!!e.de&&Pt("Both smartPtrType and smartPtr must be specified"),e.count={value:1},Dt(Object.create(t,{Ld:{value:e}}))}function Zt(t,e,n,r,i,o,a,s,l,u,c){this.name=t,this.Sd=e,this.ff=n,this.Re=r,this.Se=i,this.ag=o,this.mg=a,this.tf=s,this.gf=l,this.cg=u,this.ke=c,i||void 0!==e.ie?this.toWireType=Xt:(this.toWireType=r?qt:$t,this.fe=null)}function te(t,n,r){e.hasOwnProperty(t)||Pt("Replacing nonexistant public symbol"),void 0!==e[t].Zd&&void 0!==r?e[t].Zd[r]=n:(e[t]=n,e[t].Be=r)}function ee(t,n){var r=(t=Ft(t)).includes("j")?function(t,n){var r=[];return function(){r.length=arguments.length;for(var i=0;i<arguments.length;i++)r[i]=arguments[i];return t.includes("j")?(i=e["dynCall_"+t],i=r&&r.length?i.apply(null,[n].concat(r)):i.call(null,n)):i=J.get(n).apply(null,r),i}}(t,n):J.get(n);return"function"!=typeof r&&Et("unknown function pointer with signature "+t+": "+n),r}var ne=void 0;function re(t){var e=Ft(t=mn(t));return gn(t),e}function ie(t,e){var n=[],r={};throw e.forEach((function t(e){r[e]||bt[e]||(wt[e]?wt[e].forEach(t):(n.push(e),r[e]=!0))})),new ne(t+": "+n.map(re).join([", "]))}function oe(t){var e=Function;if(!(e instanceof Function))throw new TypeError("new_ called with constructor type "+typeof e+" which is not a function");var n=At(e.name||"unknownFunctionName",(function(){}));return n.prototype=e.prototype,n=new n,(t=e.apply(n,t))instanceof Object?t:n}function ae(t,e,n,r,i){var o=e.length;2>o&&Et("argTypes array size mismatch! Must at least get return value and 'this' types!");var a=null!==e[1]&&null!==n,s=!1;for(n=1;n<e.length;++n)if(null!==e[n]&&void 0===e[n].fe){s=!0;break}var l="void"!==e[0].name,u="",c="";for(n=0;n<o-2;++n)u+=(0!==n?", ":"")+"arg"+n,c+=(0!==n?", ":"")+"arg"+n+"Wired";t="return function "+Ct(t)+"("+u+") {\nif (arguments.length !== "+(o-2)+") {\nthrowBindingError('function "+t+" called with ' + arguments.length + ' arguments, expected "+(o-2)+" args!');\n}\n",s&&(t+="var destructors = [];\n");var h=s?"destructors":"null";for(u="throwBindingError invoker fn runDestructors retType classParam".split(" "),r=[Et,r,i,yt,e[0],e[1]],a&&(t+="var thisWired = classParam.toWireType("+h+", this);\n"),n=0;n<o-2;++n)t+="var arg"+n+"Wired = argType"+n+".toWireType("+h+", arg"+n+"); // "+e[n+2].name+"\n",u.push("argType"+n),r.push(e[n+2]);if(a&&(c="thisWired"+(0<c.length?", ":"")+c),t+=(l?"var rv = ":"")+"invoker(fn"+(0<c.length?", ":"")+c+");\n",s)t+="runDestructors(destructors);\n";else for(n=a?1:2;n<e.length;++n)o=1===n?"thisWired":"arg"+(n-2)+"Wired",null!==e[n].fe&&(t+=o+"_dtor("+o+"); // "+e[n].name+"\n",u.push(o+"_dtor"),r.push(e[n].fe));return l&&(t+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),u.push(t+"}\n"),oe(u).apply(null,r)}function se(t,e){for(var n=[],r=0;r<t;r++)n.push(j[(e>>2)+r]);return n}var le=[],ue=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function ce(t){4<t&&0==--ue[t].hf&&(ue[t]=void 0,le.push(t))}function he(t){switch(t){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:var e=le.length?le.pop():ue.length;return ue[e]={hf:1,value:t},e}}function fe(t,e,n){switch(e){case 0:return function(t){return this.fromWireType((n?I:D)[t])};case 1:return function(t){return this.fromWireType((n?W:z)[t>>1])};case 2:return function(t){return this.fromWireType((n?j:G)[t>>2])};default:throw new TypeError("Unknown integer type: "+t)}}function de(t,e){var n=bt[t];return void 0===n&&Et(e+" has unknown type "+re(t)),n}function pe(t){if(null===t)return"null";var e=typeof t;return"object"===e||"array"===e||"function"===e?t.toString():""+t}function ge(t,e){switch(e){case 2:return function(t){return this.fromWireType(N[t>>2])};case 3:return function(t){return this.fromWireType(U[t>>3])};default:throw new TypeError("Unknown float type: "+t)}}function ye(t,e,n){switch(e){case 0:return n?function(t){return I[t]}:function(t){return D[t]};case 1:return n?function(t){return W[t>>1]}:function(t){return z[t>>1]};case 2:return n?function(t){return j[t>>2]}:function(t){return G[t>>2]};default:throw new TypeError("Unknown integer type: "+t)}}function me(t){return t||Et("Cannot use deleted val. handle = "+t),ue[t].value}var ve={};function be(t){var e=ve[t];return void 0===e?Ft(t):e}var we=[];function Ce(){return"object"==typeof globalThis?globalThis:Function("return this")()}var Ae,Te={};Ae=c?function(){var t=process.hrtime();return 1e3*t[0]+t[1]/1e6}:"undefined"!=typeof dateNow?dateNow:function(){return performance.now()};var Se=1,Pe=[],_e=[],Me=[],ke=[],Fe=[],xe=[],Ee=[],Be=[],Oe=[],Re=[],Le={},Ie={},De=4;function We(t){Ne||(Ne=t)}function ze(t){for(var e=Se++,n=t.length;n<e;n++)t[n]=null;return e}function je(t){return Ge=Be[t],e.zg=ln=Ge&&Ge.le,!(t&&!ln)}var Ge,Ne,Ue=[];function He(t,e,n,r){for(var i=0;i<t;i++){var o=ln[n](),a=o&&ze(r);o?(o.name=a,r[a]=o):We(1282),j[e+4*i>>2]=a}}function Ve(t){var e=R(t)+1,n=pn(e);return O(t,D,n,e),n}function Ye(t){return 0==(t-=5120)?I:1==t?D:2==t?W:4==t?j:6==t?N:5==t||28922==t||28520==t||30779==t||30782==t?G:z}function qe(t,e,n,r,i){t=Ye(t);var o=31-Math.clz32(t.BYTES_PER_ELEMENT),a=De;return t.subarray(i>>o,i+r*(n*({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1)*(1<<o)+a-1&-a)>>o)}function Xe(t){var e=ln.Df,n=e.Ze[t];return 0<=n&&(e.Ze[t]=n=ln.getUniformLocation(e,e.uf[t]+(0<n?"["+n+"]":""))),n}var $e,Qe=[],Ke=[],Je={};function Ze(){if(!$e){var t,e={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",_:f||"./this.program"};for(t in Je)e[t]=Je[t];var n=[];for(t in e)n.push(t+"="+e[t]);$e=n}return $e}function tn(t){return 0==t%4&&(0!=t%100||0==t%400)}function en(t,e){for(var n=0,r=0;r<=e;n+=t[r++]);return n}var nn=[31,29,31,30,31,30,31,31,30,31,30,31],rn=[31,28,31,30,31,30,31,31,30,31,30,31];function on(t,e){for(t=new Date(t.getTime());0<e;){var n=t.getMonth(),r=(tn(t.getFullYear())?nn:rn)[n];if(!(e>r-t.getDate())){t.setDate(t.getDate()+e);break}e-=r-t.getDate()+1,t.setDate(1),11>n?t.setMonth(n+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}St=e.InternalError=Tt("InternalError");for(var an=Array(256),sn=0;256>sn;++sn)an[sn]=String.fromCharCode(sn);kt=an,xt=e.BindingError=Tt("BindingError"),Gt.prototype.isAliasOf=function(t){if(!(this instanceof Gt&&t instanceof Gt))return!1;var e=this.Ld.Xd.Sd,n=this.Ld.Rd,r=t.Ld.Xd.Sd;for(t=t.Ld.Rd;e.ie;)n=e.Ne(n),e=e.ie;for(;r.ie;)t=r.Ne(t),r=r.ie;return e===r&&n===t},Gt.prototype.clone=function(){if(this.Ld.Rd||Ot(this),this.Ld.Le)return this.Ld.count.value+=1,this;var t=Dt,e=Object,n=e.create,r=Object.getPrototypeOf(this),i=this.Ld;return(t=t(n.call(e,r,{Ld:{value:{count:i.count,De:i.De,Le:i.Le,Rd:i.Rd,Xd:i.Xd,de:i.de,ge:i.ge}}}))).Ld.count.value+=1,t.Ld.De=!1,t},Gt.prototype.delete=function(){this.Ld.Rd||Ot(this),this.Ld.De&&!this.Ld.Le&&Et("Object already scheduled for deletion"),Lt(this),It(this.Ld),this.Ld.Le||(this.Ld.de=void 0,this.Ld.Rd=void 0)},Gt.prototype.isDeleted=function(){return!this.Ld.Rd},Gt.prototype.deleteLater=function(){return this.Ld.Rd||Ot(this),this.Ld.De&&!this.Ld.Le&&Et("Object already scheduled for deletion"),zt.push(this),1===zt.length&&Wt&&Wt(jt),this.Ld.De=!0,this},Zt.prototype.Mf=function(t){return this.tf&&(t=this.tf(t)),t},Zt.prototype.mf=function(t){this.ke&&this.ke(t)},Zt.prototype.argPackAdvance=8,Zt.prototype.readValueFromPointer=mt,Zt.prototype.deleteObject=function(t){null!==t&&t.delete()},Zt.prototype.fromWireType=function(t){function e(){return this.Se?Jt(this.Sd.Ee,{Xd:this.ag,Rd:n,ge:this,de:t}):Jt(this.Sd.Ee,{Xd:this,Rd:t})}var n=this.Mf(t);if(!n)return this.mf(t),null;var r=function(t,e){for(void 0===e&&Et("ptr should not be undefined");t.ie;)e=t.Ne(e),t=t.ie;return Kt[e]}(this.Sd,n);if(void 0!==r)return 0===r.Ld.count.value?(r.Ld.Rd=n,r.Ld.de=t,r.clone()):(r=r.clone(),this.mf(t),r);if(r=this.Sd.Lf(n),!(r=Nt[r]))return e.call(this);r=this.Re?r.Bf:r.pointerType;var i=Qt(n,this.Sd,r.Sd);return null===i?e.call(this):this.Se?Jt(r.Sd.Ee,{Xd:r,Rd:i,ge:this,de:t}):Jt(r.Sd.Ee,{Xd:r,Rd:i})},e.getInheritedInstanceCount=function(){return Object.keys(Kt).length},e.getLiveInheritedInstances=function(){var t,e=[];for(t in Kt)Kt.hasOwnProperty(t)&&e.push(Kt[t]);return e},e.flushPendingDeletes=jt,e.setDelayFunction=function(t){Wt=t,zt.length&&Wt&&Wt(jt)},ne=e.UnboundTypeError=Tt("UnboundTypeError"),e.count_emval_handles=function(){for(var t=0,e=5;e<ue.length;++e)void 0!==ue[e]&&++t;return t},e.get_first_emval=function(){for(var t=5;t<ue.length;++t)if(void 0!==ue[t])return ue[t];return null};for(var ln,un=0;32>un;++un)Ue.push(Array(un));var cn=new Float32Array(288);for(un=0;288>un;++un)Qe[un]=cn.subarray(0,un+1);var hn=new Int32Array(288);for(un=0;288>un;++un)Ke[un]=hn.subarray(0,un+1);var fn={Kb:function(t){return pn(t+16)+16},Eb:function(t,e,n){throw new ht(t).Tf(e,n),t},O:function(){return 0},Bb:function(){},xb:function(){return 0},yb:function(t,e,n,r,i,o){return o<<=12,0!=(16&r)&&0!=t%65536?e=-28:0!=(32&r)?(t=An(65536,e))?(dn(t,0,e),ft[t]={Zf:t,Yf:e,Af:!0,fd:i,Dg:n,flags:r,offset:o},e=t):e=-48:e=-52,e},zb:function(t,e){if(-1==(0|t)||0===e)t=-28;else{var n=ft[t];n&&e===n.Yf&&(ft[t]=null,n.Af&&gn(n.Zf)),t=0}return t},R:function(){},Q:function(){},y:function(t){var e=gt[t];delete gt[t];var n=e.gf,r=e.ke,i=e.qf;_t([t],i.map((function(t){return t.Qf})).concat(i.map((function(t){return t.kg}))),(function(t){var o={};return i.forEach((function(e,n){var r=t[n],a=e.Of,s=e.Pf,l=t[n+i.length],u=e.jg,c=e.lg;o[e.Hf]={read:function(t){return r.fromWireType(a(s,t))},write:function(t,e){var n=[];u(c,t,l.toWireType(n,e)),yt(n)}}})),[{name:e.name,fromWireType:function(t){var e,n={};for(e in o)n[e]=o[e].read(t);return r(t),n},toWireType:function(t,e){for(var i in o)if(!(i in e))throw new TypeError('Missing field: "'+i+'"');var a=n();for(i in o)o[i].write(a,e[i]);return null!==t&&t.push(r,a),a},argPackAdvance:8,readValueFromPointer:mt,fe:r}]}))},ob:function(){},Db:function(t,e,n,r,i){var o=Mt(n);Bt(t,{name:e=Ft(e),fromWireType:function(t){return!!t},toWireType:function(t,e){return e?r:i},argPackAdvance:8,readValueFromPointer:function(t){if(1===n)var r=I;else if(2===n)r=W;else{if(4!==n)throw new TypeError("Unknown boolean type size: "+e);r=j}return this.fromWireType(r[t>>o])},fe:null})},m:function(t,e,n,r,i,o,a,s,l,u,c,h,f){c=Ft(c),o=ee(i,o),s&&(s=ee(a,s)),u&&(u=ee(l,u)),f=ee(h,f);var d=Ct(c);Ht(d,(function(){ie("Cannot construct "+c+" due to unbound types",[r])})),_t([t,e,n],r?[r]:[],(function(e){if(e=e[0],r)var n=e.Sd,i=n.Ee;else i=Gt.prototype;e=At(d,(function(){if(Object.getPrototypeOf(this)!==a)throw new xt("Use 'new' to construct "+c);if(void 0===l.ne)throw new xt(c+" has no accessible constructor");var t=l.ne[arguments.length];if(void 0===t)throw new xt("Tried to invoke ctor of "+c+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(l.ne).toString()+") parameters instead!");return t.apply(this,arguments)}));var a=Object.create(i,{constructor:{value:e}});e.prototype=a;var l=new Vt(c,e,a,f,n,o,s,u);n=new Zt(c,l,!0,!1,!1),i=new Zt(c+"*",l,!1,!1,!1);var h=new Zt(c+" const*",l,!1,!0,!1);return Nt[t]={pointerType:i,Bf:h},te(d,e),[n,i,h]}))},f:function(t,e,n,r,i,o,a){var s=se(n,r);e=Ft(e),o=ee(i,o),_t([],[t],(function(t){function r(){ie("Cannot call "+i+" due to unbound types",s)}var i=(t=t[0]).name+"."+e,l=t.Sd.constructor;return void 0===l[e]?(r.Be=n-1,l[e]=r):(Ut(l,e,i),l[e].Zd[n-1]=r),_t([],s,(function(t){return t=[t[0],null].concat(t.slice(1)),t=ae(i,t,null,o,a),void 0===l[e].Zd?(t.Be=n-1,l[e]=t):l[e].Zd[n-1]=t,[]})),[]}))},v:function(t,e,n,r,i,o){F(0<e);var a=se(e,n);i=ee(r,i);var s=[o],l=[];_t([],[t],(function(t){var n="constructor "+(t=t[0]).name;if(void 0===t.Sd.ne&&(t.Sd.ne=[]),void 0!==t.Sd.ne[e-1])throw new xt("Cannot register multiple constructors with identical number of parameters ("+(e-1)+") for class '"+t.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return t.Sd.ne[e-1]=function(){ie("Cannot construct "+t.name+" due to unbound types",a)},_t([],a,(function(r){return t.Sd.ne[e-1]=function(){arguments.length!==e-1&&Et(n+" called with "+arguments.length+" arguments, expected "+(e-1)),l.length=0,s.length=e;for(var t=1;t<e;++t)s[t]=r[t].toWireType(l,arguments[t-1]);return t=i.apply(null,s),yt(l),r[0].fromWireType(t)},[]})),[]}))},c:function(t,e,n,r,i,o,a,s){var l=se(n,r);e=Ft(e),o=ee(i,o),_t([],[t],(function(t){function r(){ie("Cannot call "+i+" due to unbound types",l)}var i=(t=t[0]).name+"."+e;s&&t.Sd.bg.push(e);var u=t.Sd.Ee,c=u[e];return void 0===c||void 0===c.Zd&&c.className!==t.name&&c.Be===n-2?(r.Be=n-2,r.className=t.name,u[e]=r):(Ut(u,e,i),u[e].Zd[n-2]=r),_t([],l,(function(r){return r=ae(i,r,t,o,a),void 0===u[e].Zd?(r.Be=n-2,u[e]=r):u[e].Zd[n-2]=r,[]})),[]}))},X:function(t,n,r){t=Ft(t),_t([],[n],(function(n){return n=n[0],e[t]=n.fromWireType(r),[]}))},Cb:function(t,e){Bt(t,{name:e=Ft(e),fromWireType:function(t){var e=ue[t].value;return ce(t),e},toWireType:function(t,e){return he(e)},argPackAdvance:8,readValueFromPointer:mt,fe:null})},k:function(t,e,n,r){function i(){}n=Mt(n),e=Ft(e),i.values={},Bt(t,{name:e,constructor:i,fromWireType:function(t){return this.constructor.values[t]},toWireType:function(t,e){return e.value},argPackAdvance:8,readValueFromPointer:fe(e,n,r),fe:null}),Ht(e,i)},j:function(t,e,n){var r=de(t,"enum");e=Ft(e),t=r.constructor,r=Object.create(r.constructor.prototype,{value:{value:n},constructor:{value:At(r.name+"_"+e,(function(){}))}}),t.values[n]=r,t[e]=r},S:function(t,e,n){n=Mt(n),Bt(t,{name:e=Ft(e),fromWireType:function(t){return t},toWireType:function(t,e){if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'+pe(e)+'" to '+this.name);return e},argPackAdvance:8,readValueFromPointer:ge(e,n),fe:null})},t:function(t,e,n,r,i,o){var a=se(e,n);t=Ft(t),i=ee(r,i),Ht(t,(function(){ie("Cannot call "+t+" due to unbound types",a)}),e-1),_t([],a,(function(n){return n=[n[0],null].concat(n.slice(1)),te(t,ae(t,n,null,i,o),e-1),[]}))},x:function(t,e,n,r,i){function o(t){return t}e=Ft(e),-1===i&&(i=4294967295);var a=Mt(n);if(0===r){var s=32-8*n;o=function(t){return t<<s>>>s}}var l=e.includes("unsigned");Bt(t,{name:e,fromWireType:o,toWireType:function(t,n){if("number"!=typeof n&&"boolean"!=typeof n)throw new TypeError('Cannot convert "'+pe(n)+'" to '+this.name);if(n<r||n>i)throw new TypeError('Passing a number "'+pe(n)+'" from JS side to C/C++ side to an argument of type "'+e+'", which is outside the valid range ['+r+", "+i+"]!");return l?n>>>0:0|n},argPackAdvance:8,readValueFromPointer:ye(e,a,0!==r),fe:null})},u:function(t,e,n){function r(t){var e=G;return new i(L,e[1+(t>>=2)],e[t])}var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][e];Bt(t,{name:n=Ft(n),fromWireType:r,argPackAdvance:8,readValueFromPointer:r},{Sf:!0})},p:function(t,e,n,r,i,o,a,s,l,u,c,h){n=Ft(n),o=ee(i,o),s=ee(a,s),u=ee(l,u),h=ee(c,h),_t([t],[e],(function(t){return t=t[0],[new Zt(n,t.Sd,!1,!1,!0,t,r,o,s,u,h)]}))},T:function(t,e){var n="std::string"===(e=Ft(e));Bt(t,{name:e,fromWireType:function(t){var e=G[t>>2];if(n)for(var r=t+4,i=0;i<=e;++i){var o=t+4+i;if(i==e||0==D[o]){if(r=B(r,o-r),void 0===a)var a=r;else a+=String.fromCharCode(0),a+=r;r=o+1}}else{for(a=Array(e),i=0;i<e;++i)a[i]=String.fromCharCode(D[t+4+i]);a=a.join("")}return gn(t),a},toWireType:function(t,e){e instanceof ArrayBuffer&&(e=new Uint8Array(e));var r="string"==typeof e;r||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int8Array||Et("Cannot pass non-string to std::string");var i=(n&&r?function(){return R(e)}:function(){return e.length})(),o=pn(4+i+1);if(G[o>>2]=i,n&&r)O(e,D,o+4,i+1);else if(r)for(r=0;r<i;++r){var a=e.charCodeAt(r);255<a&&(gn(o),Et("String has UTF-16 code units that do not fit in 8 bits")),D[o+4+r]=a}else for(r=0;r<i;++r)D[o+4+r]=e[r];return null!==t&&t.push(gn,o),o},argPackAdvance:8,readValueFromPointer:mt,fe:function(t){gn(t)}})},I:function(t,e,n){if(n=Ft(n),2===e)var r=V,i=Y,o=q,a=function(){return z},s=1;else 4===e&&(r=X,i=$,o=Q,a=function(){return G},s=2);Bt(t,{name:n,fromWireType:function(t){for(var n,i=G[t>>2],o=a(),l=t+4,u=0;u<=i;++u){var c=t+4+u*e;u!=i&&0!=o[c>>s]||(l=r(l,c-l),void 0===n?n=l:(n+=String.fromCharCode(0),n+=l),l=c+e)}return gn(t),n},toWireType:function(t,r){"string"!=typeof r&&Et("Cannot pass non-string to C++ string type "+n);var a=o(r),l=pn(4+a+e);return G[l>>2]=a>>s,i(r,l+4,a+e),null!==t&&t.push(gn,l),l},argPackAdvance:8,readValueFromPointer:mt,fe:function(t){gn(t)}})},z:function(t,e,n,r,i,o){gt[t]={name:Ft(e),gf:ee(n,r),ke:ee(i,o),qf:[]}},h:function(t,e,n,r,i,o,a,s,l,u){gt[t].qf.push({Hf:Ft(e),Qf:n,Of:ee(r,i),Pf:o,kg:a,jg:ee(s,l),lg:u})},Fb:function(t,e){Bt(t,{Vf:!0,name:e=Ft(e),argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},B:function(t,e,n){t=me(t),e=de(e,"emval::as");var r=[],i=he(r);return j[n>>2]=i,e.toWireType(r,t)},M:function(t,e,n,r,i){t=we[t],e=me(e),n=be(n);var o=[];return j[r>>2]=he(o),t(e,n,o,i)},C:function(t,e,n,r){(t=we[t])(e=me(e),n=be(n),null,r)},E:ce,Ab:function(t){return 0===t?he(Ce()):(t=be(t),he(Ce()[t]))},A:function(t,e){e=function(t,e){for(var n=Array(t),r=0;r<t;++r)n[r]=de(j[(e>>2)+r],"parameter "+r);return n}(t,e);for(var n=e[0],r=n.name+"_$"+e.slice(1).map((function(t){return t.name})).join("_")+"$",i=["retType"],o=[n],a="",s=0;s<t-1;++s)a+=(0!==s?", ":"")+"arg"+s,i.push("argType"+s),o.push(e[1+s]);r="return function "+Ct("methodCaller_"+r)+"(handle, name, destructors, args) {\n";var l=0;for(s=0;s<t-1;++s)r+=" var arg"+s+" = argType"+s+".readValueFromPointer(args"+(l?"+"+l:"")+");\n",l+=e[s+1].argPackAdvance;for(r+=" var rv = handle[name]("+a+");\n",s=0;s<t-1;++s)e[s+1].deleteObject&&(r+=" argType"+s+".deleteObject(arg"+s+");\n");return n.Vf||(r+=" return retType.toWireType(destructors, rv);\n"),i.push(r+"};\n"),function(t){var e=we.length;return we.push(t),e}(t=oe(i).apply(null,o))},K:function(t,e){return he((t=me(t))[e=me(e)])},G:function(t){4<t&&(ue[t].hf+=1)},sb:function(t,n,r,i){t=me(t);var o=Te[n];if(!o){o="";for(var a=0;a<n;++a)o+=(0!==a?", ":"")+"arg"+a;var s="return function emval_allocator_"+n+"(constructor, argTypes, args) {\n";for(a=0;a<n;++a)s+="var argType"+a+" = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + "+a+'], "parameter '+a+'");\nvar arg'+a+" = argType"+a+".readValueFromPointer(args);\nargs += argType"+a+"['argPackAdvance'];\n";o=new Function("requireRegisteredType","Module","__emval_register",s+"var obj = new constructor("+o+");\nreturn __emval_register(obj);\n}\n")(de,e,he),Te[n]=o}return o(t,r,i)},ib:function(){return he([])},Ma:function(t){return he(be(t))},jb:function(){return he({})},hb:function(t){return!(t=me(t))},lb:function(t){yt(ue[t].value),ce(t)},w:function(t,e,n){t=me(t),e=me(e),n=me(n),t[e]=n},s:function(t,e){return he(t=(t=de(t,"_emval_take_value")).readValueFromPointer(e))},d:function(){ot()},qb:function(t,e){if(0===t)t=Date.now();else{if(1!==t&&4!==t)return j[yn()>>2]=28,-1;t=Ae()}return j[e>>2]=t/1e3|0,j[e+4>>2]=t%1e3*1e6|0,0},Zc:function(t){ln.activeTexture(t)},_c:function(t,e){ln.attachShader(_e[t],xe[e])},$c:function(t,e,n){ln.bindAttribLocation(_e[t],e,B(n))},_:function(t,e){35051==t?ln.ef=e:35052==t&&(ln.Ce=e),ln.bindBuffer(t,Pe[e])},Z:function(t,e){ln.bindFramebuffer(t,Me[e])},bc:function(t,e){ln.bindRenderbuffer(t,ke[e])},Pb:function(t,e){ln.bindSampler(t,Oe[e])},$:function(t,e){ln.bindTexture(t,Fe[e])},vc:function(t){ln.bindVertexArray(Ee[t])},yc:function(t){ln.bindVertexArray(Ee[t])},aa:function(t,e,n,r){ln.blendColor(t,e,n,r)},ba:function(t){ln.blendEquation(t)},ca:function(t,e){ln.blendFunc(t,e)},Wb:function(t,e,n,r,i,o,a,s,l,u){ln.blitFramebuffer(t,e,n,r,i,o,a,s,l,u)},da:function(t,e,n,r){2<=Ge.version?n?ln.bufferData(t,D,r,n,e):ln.bufferData(t,e,r):ln.bufferData(t,n?D.subarray(n,n+e):e,r)},ea:function(t,e,n,r){2<=Ge.version?ln.bufferSubData(t,e,D,r,n):ln.bufferSubData(t,e,D.subarray(r,r+n))},cc:function(t){return ln.checkFramebufferStatus(t)},L:function(t){ln.clear(t)},Y:function(t,e,n,r){ln.clearColor(t,e,n,r)},P:function(t){ln.clearStencil(t)},fb:function(t,e,n,r){return ln.clientWaitSync(Re[t],e,(n>>>0)+4294967296*r)},fa:function(t,e,n,r){ln.colorMask(!!t,!!e,!!n,!!r)},ga:function(t){ln.compileShader(xe[t])},ha:function(t,e,n,r,i,o,a,s){2<=Ge.version?ln.Ce?ln.compressedTexImage2D(t,e,n,r,i,o,a,s):ln.compressedTexImage2D(t,e,n,r,i,o,D,s,a):ln.compressedTexImage2D(t,e,n,r,i,o,s?D.subarray(s,s+a):null)},ia:function(t,e,n,r,i,o,a,s,l){2<=Ge.version?ln.Ce?ln.compressedTexSubImage2D(t,e,n,r,i,o,a,s,l):ln.compressedTexSubImage2D(t,e,n,r,i,o,a,D,l,s):ln.compressedTexSubImage2D(t,e,n,r,i,o,a,l?D.subarray(l,l+s):null)},ja:function(t,e,n,r,i,o,a,s){ln.copyTexSubImage2D(t,e,n,r,i,o,a,s)},ka:function(){var t=ze(_e),e=ln.createProgram();return e.name=t,e.Ve=e.Te=e.Ue=0,e.jf=1,_e[t]=e,t},la:function(t){var e=ze(xe);return xe[e]=ln.createShader(t),e},ma:function(t){ln.cullFace(t)},na:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=Pe[r];i&&(ln.deleteBuffer(i),i.name=0,Pe[r]=null,r==ln.ef&&(ln.ef=0),r==ln.Ce&&(ln.Ce=0))}},dc:function(t,e){for(var n=0;n<t;++n){var r=j[e+4*n>>2],i=Me[r];i&&(ln.deleteFramebuffer(i),i.name=0,Me[r]=null)}},oa:function(t){if(t){var e=_e[t];e?(ln.deleteProgram(e),e.name=0,_e[t]=null):We(1281)}},ec:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=ke[r];i&&(ln.deleteRenderbuffer(i),i.name=0,ke[r]=null)}},Qb:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=Oe[r];i&&(ln.deleteSampler(i),i.name=0,Oe[r]=null)}},pa:function(t){if(t){var e=xe[t];e?(ln.deleteShader(e),xe[t]=null):We(1281)}},Yb:function(t){if(t){var e=Re[t];e?(ln.deleteSync(e),e.name=0,Re[t]=null):We(1281)}},qa:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2],i=Fe[r];i&&(ln.deleteTexture(i),i.name=0,Fe[r]=null)}},wc:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2];ln.deleteVertexArray(Ee[r]),Ee[r]=null}},zc:function(t,e){for(var n=0;n<t;n++){var r=j[e+4*n>>2];ln.deleteVertexArray(Ee[r]),Ee[r]=null}},ra:function(t){ln.depthMask(!!t)},sa:function(t){ln.disable(t)},ta:function(t){ln.disableVertexAttribArray(t)},ua:function(t,e,n){ln.drawArrays(t,e,n)},tc:function(t,e,n,r){ln.drawArraysInstanced(t,e,n,r)},rc:function(t,e,n,r,i){ln.nf.drawArraysInstancedBaseInstanceWEBGL(t,e,n,r,i)},pc:function(t,e){for(var n=Ue[t],r=0;r<t;r++)n[r]=j[e+4*r>>2];ln.drawBuffers(n)},va:function(t,e,n,r){ln.drawElements(t,e,n,r)},uc:function(t,e,n,r,i){ln.drawElementsInstanced(t,e,n,r,i)},sc:function(t,e,n,r,i,o,a){ln.nf.drawElementsInstancedBaseVertexBaseInstanceWEBGL(t,e,n,r,i,o,a)},jc:function(t,e,n,r,i,o){ln.drawElements(t,r,i,o)},wa:function(t){ln.enable(t)},xa:function(t){ln.enableVertexAttribArray(t)},Ub:function(t,e){return(t=ln.fenceSync(t,e))?(e=ze(Re),t.name=e,Re[e]=t,e):0},ya:function(){ln.finish()},za:function(){ln.flush()},fc:function(t,e,n,r){ln.framebufferRenderbuffer(t,e,n,ke[r])},gc:function(t,e,n,r,i){ln.framebufferTexture2D(t,e,n,Fe[r],i)},Aa:function(t){ln.frontFace(t)},Ba:function(t,e){He(t,e,"createBuffer",Pe)},hc:function(t,e){He(t,e,"createFramebuffer",Me)},ic:function(t,e){He(t,e,"createRenderbuffer",ke)},Rb:function(t,e){He(t,e,"createSampler",Oe)},Ca:function(t,e){He(t,e,"createTexture",Fe)},xc:function(t,e){He(t,e,"createVertexArray",Ee)},Ac:function(t,e){He(t,e,"createVertexArray",Ee)},Zb:function(t){ln.generateMipmap(t)},Da:function(t,e,n){n?j[n>>2]=ln.getBufferParameter(t,e):We(1281)},Ea:function(){var t=ln.getError()||Ne;return Ne=0,t},_b:function(t,e,n,r){((t=ln.getFramebufferAttachmentParameter(t,e,n))instanceof WebGLRenderbuffer||t instanceof WebGLTexture)&&(t=0|t.name),j[r>>2]=t},F:function(t,e){!function(t,e){if(e){var n=void 0;switch(t){case 36346:n=1;break;case 36344:return;case 34814:case 36345:n=0;break;case 34466:var r=ln.getParameter(34467);n=r?r.length:0;break;case 33309:if(2>Ge.version)return void We(1282);n=2*(ln.getSupportedExtensions()||[]).length;break;case 33307:case 33308:if(2>Ge.version)return void We(1280);n=33307==t?3:0}if(void 0===n)switch(r=ln.getParameter(t),typeof r){case"number":n=r;break;case"boolean":n=r?1:0;break;case"string":return void We(1280);case"object":if(null===r)switch(t){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:n=0;break;default:return void We(1280)}else{if(r instanceof Float32Array||r instanceof Uint32Array||r instanceof Int32Array||r instanceof Array){for(t=0;t<r.length;++t)j[e+4*t>>2]=r[t];return}try{n=0|r.name}catch(e){return We(1280),void T("GL_INVALID_ENUM in glGet0v: Unknown object returned from WebGL getParameter("+t+")! (error: "+e+")")}}break;default:return We(1280),void T("GL_INVALID_ENUM in glGet0v: Native code calling glGet0v("+t+") and it returns "+r+" of type "+typeof r+"!")}j[e>>2]=n}else We(1281)}(t,e)},Fa:function(t,e,n,r){null===(t=ln.getProgramInfoLog(_e[t]))&&(t="(unknown error)"),e=0<e&&r?O(t,D,r,e):0,n&&(j[n>>2]=e)},Ga:function(t,e,n){if(n)if(t>=Se)We(1281);else if(t=_e[t],35716==e)null===(t=ln.getProgramInfoLog(t))&&(t="(unknown error)"),j[n>>2]=t.length+1;else if(35719==e){if(!t.Ve)for(e=0;e<ln.getProgramParameter(t,35718);++e)t.Ve=Math.max(t.Ve,ln.getActiveUniform(t,e).name.length+1);j[n>>2]=t.Ve}else if(35722==e){if(!t.Te)for(e=0;e<ln.getProgramParameter(t,35721);++e)t.Te=Math.max(t.Te,ln.getActiveAttrib(t,e).name.length+1);j[n>>2]=t.Te}else if(35381==e){if(!t.Ue)for(e=0;e<ln.getProgramParameter(t,35382);++e)t.Ue=Math.max(t.Ue,ln.getActiveUniformBlockName(t,e).length+1);j[n>>2]=t.Ue}else j[n>>2]=ln.getProgramParameter(t,e);else We(1281)},$b:function(t,e,n){n?j[n>>2]=ln.getRenderbufferParameter(t,e):We(1281)},Ha:function(t,e,n,r){null===(t=ln.getShaderInfoLog(xe[t]))&&(t="(unknown error)"),e=0<e&&r?O(t,D,r,e):0,n&&(j[n>>2]=e)},Mb:function(t,e,n,r){t=ln.getShaderPrecisionFormat(t,e),j[n>>2]=t.rangeMin,j[n+4>>2]=t.rangeMax,j[r>>2]=t.precision},Ia:function(t,e,n){n?35716==e?(null===(t=ln.getShaderInfoLog(xe[t]))&&(t="(unknown error)"),j[n>>2]=t?t.length+1:0):35720==e?(t=ln.getShaderSource(xe[t]),j[n>>2]=t?t.length+1:0):j[n>>2]=ln.getShaderParameter(xe[t],e):We(1281)},J:function(t){var e=Le[t];if(!e){switch(t){case 7939:e=Ve((e=(e=ln.getSupportedExtensions()||[]).concat(e.map((function(t){return"GL_"+t})))).join(" "));break;case 7936:case 7937:case 37445:case 37446:(e=ln.getParameter(t))||We(1280),e=e&&Ve(e);break;case 7938:e=ln.getParameter(7938),e=Ve(e=2<=Ge.version?"OpenGL ES 3.0 ("+e+")":"OpenGL ES 2.0 ("+e+")");break;case 35724:var n=(e=ln.getParameter(35724)).match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==n&&(3==n[1].length&&(n[1]+="0"),e="OpenGL ES GLSL ES "+n[1]+" ("+e+")"),e=Ve(e);break;default:We(1280)}Le[t]=e}return e},eb:function(t,e){if(2>Ge.version)return We(1282),0;var n=Ie[t];return n?0>e||e>=n.length?(We(1281),0):n[e]:7939===t?(n=(n=(n=ln.getSupportedExtensions()||[]).concat(n.map((function(t){return"GL_"+t})))).map((function(t){return Ve(t)})),n=Ie[t]=n,0>e||e>=n.length?(We(1281),0):n[e]):(We(1280),0)},Ja:function(t,e){function n(t){return"]"==t.slice(-1)&&t.lastIndexOf("[")}e=B(e);var r,i=(t=_e[t]).Ze,o=t.wg,a=0,s=e,l=n(e);if(!i)for(t.Ze=i={},t.uf={},r=0;r<ln.getProgramParameter(t,35718);++r){var u=ln.getActiveUniform(t,r),c=u.name;u=u.size;var h=n(c);h=0<h?c.slice(0,h):c;var f=t.jf;for(t.jf+=u,o[h]=[u,f],c=0;c<u;++c)i[f]=c,t.uf[f++]=h}return 0<l&&(a=parseInt(e.slice(l+1))>>>0,s=e.slice(0,l)),(o=o[s])&&a<o[0]&&(i[a+=o[1]]=i[a]||ln.getUniformLocation(t,e))?a:-1},Nb:function(t,e,n){for(var r=Ue[e],i=0;i<e;i++)r[i]=j[n+4*i>>2];ln.invalidateFramebuffer(t,r)},Ob:function(t,e,n,r,i,o,a){for(var s=Ue[e],l=0;l<e;l++)s[l]=j[n+4*l>>2];ln.invalidateSubFramebuffer(t,s,r,i,o,a)},Vb:function(t){return ln.isSync(Re[t])},Ka:function(t){return(t=Fe[t])?ln.isTexture(t):0},La:function(t){ln.lineWidth(t)},Na:function(t){t=_e[t],ln.linkProgram(t),t.Ze=0,t.wg={}},nc:function(t,e,n,r,i,o){ln.sf.multiDrawArraysInstancedBaseInstanceWEBGL(t,j,e>>2,j,n>>2,j,r>>2,G,i>>2,o)},oc:function(t,e,n,r,i,o,a,s){ln.sf.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(t,j,e>>2,n,j,r>>2,j,i>>2,j,o>>2,G,a>>2,s)},Oa:function(t,e){3317==t&&(De=e),ln.pixelStorei(t,e)},qc:function(t){ln.readBuffer(t)},Pa:function(t,e,n,r,i,o,a){if(2<=Ge.version)if(ln.ef)ln.readPixels(t,e,n,r,i,o,a);else{var s=Ye(o);ln.readPixels(t,e,n,r,i,o,s,a>>31-Math.clz32(s.BYTES_PER_ELEMENT))}else(a=qe(o,i,n,r,a))?ln.readPixels(t,e,n,r,i,o,a):We(1280)},ac:function(t,e,n,r){ln.renderbufferStorage(t,e,n,r)},Xb:function(t,e,n,r,i){ln.renderbufferStorageMultisample(t,e,n,r,i)},Sb:function(t,e,n){ln.samplerParameteri(Oe[t],e,n)},Tb:function(t,e,n){ln.samplerParameteri(Oe[t],e,j[n>>2])},Qa:function(t,e,n,r){ln.scissor(t,e,n,r)},Ra:function(t,e,n,r){for(var i="",o=0;o<e;++o){var a=r?j[r+4*o>>2]:-1;i+=B(j[n+4*o>>2],0>a?void 0:a)}ln.shaderSource(xe[t],i)},Sa:function(t,e,n){ln.stencilFunc(t,e,n)},Ta:function(t,e,n,r){ln.stencilFuncSeparate(t,e,n,r)},Ua:function(t){ln.stencilMask(t)},Va:function(t,e){ln.stencilMaskSeparate(t,e)},Wa:function(t,e,n){ln.stencilOp(t,e,n)},Xa:function(t,e,n,r){ln.stencilOpSeparate(t,e,n,r)},Ya:function(t,e,n,r,i,o,a,s,l){if(2<=Ge.version)if(ln.Ce)ln.texImage2D(t,e,n,r,i,o,a,s,l);else if(l){var u=Ye(s);ln.texImage2D(t,e,n,r,i,o,a,s,u,l>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else ln.texImage2D(t,e,n,r,i,o,a,s,null);else ln.texImage2D(t,e,n,r,i,o,a,s,l?qe(s,a,r,i,l):null)},Za:function(t,e,n){ln.texParameterf(t,e,n)},_a:function(t,e,n){ln.texParameterf(t,e,N[n>>2])},$a:function(t,e,n){ln.texParameteri(t,e,n)},ab:function(t,e,n){ln.texParameteri(t,e,j[n>>2])},kc:function(t,e,n,r,i){ln.texStorage2D(t,e,n,r,i)},bb:function(t,e,n,r,i,o,a,s,l){if(2<=Ge.version)if(ln.Ce)ln.texSubImage2D(t,e,n,r,i,o,a,s,l);else if(l){var u=Ye(s);ln.texSubImage2D(t,e,n,r,i,o,a,s,u,l>>31-Math.clz32(u.BYTES_PER_ELEMENT))}else ln.texSubImage2D(t,e,n,r,i,o,a,s,null);else u=null,l&&(u=qe(s,a,i,o,l)),ln.texSubImage2D(t,e,n,r,i,o,a,s,u)},cb:function(t,e){ln.uniform1f(Xe(t),e)},db:function(t,e,n){if(2<=Ge.version)ln.uniform1fv(Xe(t),N,n>>2,e);else{if(288>=e)for(var r=Qe[e-1],i=0;i<e;++i)r[i]=N[n+4*i>>2];else r=N.subarray(n>>2,n+4*e>>2);ln.uniform1fv(Xe(t),r)}},Vc:function(t,e){ln.uniform1i(Xe(t),e)},Wc:function(t,e,n){if(2<=Ge.version)ln.uniform1iv(Xe(t),j,n>>2,e);else{if(288>=e)for(var r=Ke[e-1],i=0;i<e;++i)r[i]=j[n+4*i>>2];else r=j.subarray(n>>2,n+4*e>>2);ln.uniform1iv(Xe(t),r)}},Xc:function(t,e,n){ln.uniform2f(Xe(t),e,n)},Yc:function(t,e,n){if(2<=Ge.version)ln.uniform2fv(Xe(t),N,n>>2,2*e);else{if(144>=e)for(var r=Qe[2*e-1],i=0;i<2*e;i+=2)r[i]=N[n+4*i>>2],r[i+1]=N[n+(4*i+4)>>2];else r=N.subarray(n>>2,n+8*e>>2);ln.uniform2fv(Xe(t),r)}},Uc:function(t,e,n){ln.uniform2i(Xe(t),e,n)},Tc:function(t,e,n){if(2<=Ge.version)ln.uniform2iv(Xe(t),j,n>>2,2*e);else{if(144>=e)for(var r=Ke[2*e-1],i=0;i<2*e;i+=2)r[i]=j[n+4*i>>2],r[i+1]=j[n+(4*i+4)>>2];else r=j.subarray(n>>2,n+8*e>>2);ln.uniform2iv(Xe(t),r)}},Sc:function(t,e,n,r){ln.uniform3f(Xe(t),e,n,r)},Rc:function(t,e,n){if(2<=Ge.version)ln.uniform3fv(Xe(t),N,n>>2,3*e);else{if(96>=e)for(var r=Qe[3*e-1],i=0;i<3*e;i+=3)r[i]=N[n+4*i>>2],r[i+1]=N[n+(4*i+4)>>2],r[i+2]=N[n+(4*i+8)>>2];else r=N.subarray(n>>2,n+12*e>>2);ln.uniform3fv(Xe(t),r)}},Qc:function(t,e,n,r){ln.uniform3i(Xe(t),e,n,r)},Pc:function(t,e,n){if(2<=Ge.version)ln.uniform3iv(Xe(t),j,n>>2,3*e);else{if(96>=e)for(var r=Ke[3*e-1],i=0;i<3*e;i+=3)r[i]=j[n+4*i>>2],r[i+1]=j[n+(4*i+4)>>2],r[i+2]=j[n+(4*i+8)>>2];else r=j.subarray(n>>2,n+12*e>>2);ln.uniform3iv(Xe(t),r)}},Oc:function(t,e,n,r,i){ln.uniform4f(Xe(t),e,n,r,i)},Nc:function(t,e,n){if(2<=Ge.version)ln.uniform4fv(Xe(t),N,n>>2,4*e);else{if(72>=e){var r=Qe[4*e-1],i=N;n>>=2;for(var o=0;o<4*e;o+=4){var a=n+o;r[o]=i[a],r[o+1]=i[a+1],r[o+2]=i[a+2],r[o+3]=i[a+3]}}else r=N.subarray(n>>2,n+16*e>>2);ln.uniform4fv(Xe(t),r)}},Bc:function(t,e,n,r,i){ln.uniform4i(Xe(t),e,n,r,i)},Cc:function(t,e,n){if(2<=Ge.version)ln.uniform4iv(Xe(t),j,n>>2,4*e);else{if(72>=e)for(var r=Ke[4*e-1],i=0;i<4*e;i+=4)r[i]=j[n+4*i>>2],r[i+1]=j[n+(4*i+4)>>2],r[i+2]=j[n+(4*i+8)>>2],r[i+3]=j[n+(4*i+12)>>2];else r=j.subarray(n>>2,n+16*e>>2);ln.uniform4iv(Xe(t),r)}},Dc:function(t,e,n,r){if(2<=Ge.version)ln.uniformMatrix2fv(Xe(t),!!n,N,r>>2,4*e);else{if(72>=e)for(var i=Qe[4*e-1],o=0;o<4*e;o+=4)i[o]=N[r+4*o>>2],i[o+1]=N[r+(4*o+4)>>2],i[o+2]=N[r+(4*o+8)>>2],i[o+3]=N[r+(4*o+12)>>2];else i=N.subarray(r>>2,r+16*e>>2);ln.uniformMatrix2fv(Xe(t),!!n,i)}},Ec:function(t,e,n,r){if(2<=Ge.version)ln.uniformMatrix3fv(Xe(t),!!n,N,r>>2,9*e);else{if(32>=e)for(var i=Qe[9*e-1],o=0;o<9*e;o+=9)i[o]=N[r+4*o>>2],i[o+1]=N[r+(4*o+4)>>2],i[o+2]=N[r+(4*o+8)>>2],i[o+3]=N[r+(4*o+12)>>2],i[o+4]=N[r+(4*o+16)>>2],i[o+5]=N[r+(4*o+20)>>2],i[o+6]=N[r+(4*o+24)>>2],i[o+7]=N[r+(4*o+28)>>2],i[o+8]=N[r+(4*o+32)>>2];else i=N.subarray(r>>2,r+36*e>>2);ln.uniformMatrix3fv(Xe(t),!!n,i)}},Fc:function(t,e,n,r){if(2<=Ge.version)ln.uniformMatrix4fv(Xe(t),!!n,N,r>>2,16*e);else{if(18>=e){var i=Qe[16*e-1],o=N;r>>=2;for(var a=0;a<16*e;a+=16){var s=r+a;i[a]=o[s],i[a+1]=o[s+1],i[a+2]=o[s+2],i[a+3]=o[s+3],i[a+4]=o[s+4],i[a+5]=o[s+5],i[a+6]=o[s+6],i[a+7]=o[s+7],i[a+8]=o[s+8],i[a+9]=o[s+9],i[a+10]=o[s+10],i[a+11]=o[s+11],i[a+12]=o[s+12],i[a+13]=o[s+13],i[a+14]=o[s+14],i[a+15]=o[s+15]}}else i=N.subarray(r>>2,r+64*e>>2);ln.uniformMatrix4fv(Xe(t),!!n,i)}},Gc:function(t){t=_e[t],ln.useProgram(t),ln.Df=t},Hc:function(t,e){ln.vertexAttrib1f(t,e)},Ic:function(t,e){ln.vertexAttrib2f(t,N[e>>2],N[e+4>>2])},Jc:function(t,e){ln.vertexAttrib3f(t,N[e>>2],N[e+4>>2],N[e+8>>2])},Kc:function(t,e){ln.vertexAttrib4f(t,N[e>>2],N[e+4>>2],N[e+8>>2],N[e+12>>2])},lc:function(t,e){ln.vertexAttribDivisor(t,e)},mc:function(t,e,n,r,i){ln.vertexAttribIPointer(t,e,n,r,i)},Lc:function(t,e,n,r,i,o){ln.vertexAttribPointer(t,e,n,!!r,i,o)},Mc:function(t,e,n,r){ln.viewport(t,e,n,r)},gb:function(t,e,n,r){ln.waitSync(Re[t],e,(n>>>0)+4294967296*r)},e:function(t,e){throw Cn(t,e||1),"longjmp"},pb:function(t){var e=D.length;if(2147483648<(t>>>=0))return!1;for(var n=1;4>=n;n*=2){var r=e*(1+.2/n);r=Math.min(r,t+100663296),0<(r=Math.max(t,r))%65536&&(r+=65536-r%65536);t:{try{M.grow(Math.min(2147483648,r)-L.byteLength+65535>>>16),K();var i=1;break t}catch(t){}i=void 0}if(i)return!0}return!1},kb:function(){return Ge?Ge.Rf:0},ub:function(t,e){var n=0;return Ze().forEach((function(r,i){var o=e+n;for(i=j[t+4*i>>2]=o,o=0;o<r.length;++o)I[i++>>0]=r.charCodeAt(o);I[i>>0]=0,n+=r.length+1})),0},vb:function(t,e){var n=Ze();j[t>>2]=n.length;var r=0;return n.forEach((function(t){r+=t.length+1})),j[e>>2]=r,0},Gb:function(t){_||(e.onExit&&e.onExit(t),k=!0),d(t,new Tn(t))},H:function(){return 0},tb:function(t,e){return t=1==t||2==t?2:ot(),I[e>>0]=t,0},nb:function(t,e,n,r,i,o){return t=pt.Nf(t),e=pt.Ef(t,e,n,r),j[o>>2]=e,0},wb:function(t,e,n,r){return t=pt.Nf(t),e=pt.Ef(t,e,n),j[r>>2]=e,0},mb:function(){},N:function(t,e,n,r){for(var i=0,o=0;o<n;o++){for(var a=j[e+8*o>>2],s=j[e+(8*o+4)>>2],l=0;l<s;l++){var u=D[a+l],c=dt[t];0===u||10===u?((1===t?A:T)(E(c,0)),c.length=0):c.push(u)}i+=s}return j[r>>2]=i,0},a:function(){return P},l:function(t,e){var n=bn();try{return J.get(t)(e)}catch(t){if(wn(n),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},o:function(t,e,n){var r=bn();try{return J.get(t)(e,n)}catch(t){if(wn(r),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},g:function(t,e,n,r){var i=bn();try{return J.get(t)(e,n,r)}catch(t){if(wn(i),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},D:function(t,e,n,r,i){var o=bn();try{return J.get(t)(e,n,r,i)}catch(t){if(wn(o),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Lb:function(t,e,n,r,i,o){var a=bn();try{return J.get(t)(e,n,r,i,o)}catch(t){if(wn(a),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},W:function(t,e,n,r,i,o,a){var s=bn();try{return J.get(t)(e,n,r,i,o,a)}catch(t){if(wn(s),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},V:function(t,e,n,r,i,o,a,s,l,u){var c=bn();try{return J.get(t)(e,n,r,i,o,a,s,l,u)}catch(t){if(wn(c),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},U:function(t){var e=bn();try{J.get(t)()}catch(t){if(wn(e),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},n:function(t,e){var n=bn();try{J.get(t)(e)}catch(t){if(wn(n),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},r:function(t,e,n){var r=bn();try{J.get(t)(e,n)}catch(t){if(wn(r),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},i:function(t,e,n,r){var i=bn();try{J.get(t)(e,n,r)}catch(t){if(wn(i),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},q:function(t,e,n,r,i){var o=bn();try{J.get(t)(e,n,r,i)}catch(t){if(wn(o),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Jb:function(t,e,n,r,i,o){var a=bn();try{J.get(t)(e,n,r,i,o)}catch(t){if(wn(a),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Hb:function(t,e,n,r,i,o,a){var s=bn();try{J.get(t)(e,n,r,i,o,a)}catch(t){if(wn(s),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},Ib:function(t,e,n,r,i,o,a,s,l,u){var c=bn();try{J.get(t)(e,n,r,i,o,a,s,l,u)}catch(t){if(wn(c),t!==t+0&&"longjmp"!==t)throw t;Cn(1,0)}},b:function(t){P=t},rb:function(t,e,n,r){return function(t,e,n,r){function i(t,e,n){for(t="number"==typeof t?t.toString():t||"";t.length<e;)t=n[0]+t;return t}function o(t,e){return i(t,e,"0")}function a(t,e){function n(t){return 0>t?-1:0<t?1:0}var r;return 0===(r=n(t.getFullYear()-e.getFullYear()))&&0===(r=n(t.getMonth()-e.getMonth()))&&(r=n(t.getDate()-e.getDate())),r}function s(t){switch(t.getDay()){case 0:return new Date(t.getFullYear()-1,11,29);case 1:return t;case 2:return new Date(t.getFullYear(),0,3);case 3:return new Date(t.getFullYear(),0,2);case 4:return new Date(t.getFullYear(),0,1);case 5:return new Date(t.getFullYear()-1,11,31);case 6:return new Date(t.getFullYear()-1,11,30)}}function l(t){t=on(new Date(t.ae+1900,0,1),t.Ye);var e=new Date(t.getFullYear()+1,0,4),n=s(new Date(t.getFullYear(),0,4));return e=s(e),0>=a(n,t)?0>=a(e,t)?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var u=j[r+40>>2];for(var c in r={ug:j[r>>2],tg:j[r+4>>2],We:j[r+8>>2],Me:j[r+12>>2],Fe:j[r+16>>2],ae:j[r+20>>2],Xe:j[r+24>>2],Ye:j[r+28>>2],Fg:j[r+32>>2],sg:j[r+36>>2],vg:u?B(u):""},n=B(n),u={"%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"})n=n.replace(new RegExp(c,"g"),u[c]);var h="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),f="January February March April May June July August September October November December".split(" ");for(c in u={"%a":function(t){return h[t.Xe].substring(0,3)},"%A":function(t){return h[t.Xe]},"%b":function(t){return f[t.Fe].substring(0,3)},"%B":function(t){return f[t.Fe]},"%C":function(t){return o((t.ae+1900)/100|0,2)},"%d":function(t){return o(t.Me,2)},"%e":function(t){return i(t.Me,2," ")},"%g":function(t){return l(t).toString().substring(2)},"%G":function(t){return l(t)},"%H":function(t){return o(t.We,2)},"%I":function(t){return 0==(t=t.We)?t=12:12<t&&(t-=12),o(t,2)},"%j":function(t){return o(t.Me+en(tn(t.ae+1900)?nn:rn,t.Fe-1),3)},"%m":function(t){return o(t.Fe+1,2)},"%M":function(t){return o(t.tg,2)},"%n":function(){return"\n"},"%p":function(t){return 0<=t.We&&12>t.We?"AM":"PM"},"%S":function(t){return o(t.ug,2)},"%t":function(){return"\t"},"%u":function(t){return t.Xe||7},"%U":function(t){var e=new Date(t.ae+1900,0,1),n=0===e.getDay()?e:on(e,7-e.getDay());return 0>a(n,t=new Date(t.ae+1900,t.Fe,t.Me))?o(Math.ceil((31-n.getDate()+(en(tn(t.getFullYear())?nn:rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===a(n,e)?"01":"00"},"%V":function(t){var e=new Date(t.ae+1901,0,4),n=s(new Date(t.ae+1900,0,4));e=s(e);var r=on(new Date(t.ae+1900,0,1),t.Ye);return 0>a(r,n)?"53":0>=a(e,r)?"01":o(Math.ceil((n.getFullYear()<t.ae+1900?t.Ye+32-n.getDate():t.Ye+1-n.getDate())/7),2)},"%w":function(t){return t.Xe},"%W":function(t){var e=new Date(t.ae,0,1),n=1===e.getDay()?e:on(e,0===e.getDay()?1:7-e.getDay()+1);return 0>a(n,t=new Date(t.ae+1900,t.Fe,t.Me))?o(Math.ceil((31-n.getDate()+(en(tn(t.getFullYear())?nn:rn,t.getMonth()-1)-31)+t.getDate())/7),2):0===a(n,e)?"01":"00"},"%y":function(t){return(t.ae+1900).toString().substring(2)},"%Y":function(t){return t.ae+1900},"%z":function(t){var e=0<=(t=t.sg);return t=Math.abs(t)/60,(e?"+":"-")+String("0000"+(t/60*100+t%60)).slice(-4)},"%Z":function(t){return t.vg},"%%":function(){return"%"}})n.includes(c)&&(n=n.replace(new RegExp(c,"g"),u[c](r)));return c=function(t){var e=Array(R(t)+1);return O(t,e,0,e.length),e}(n),c.length>e?0:(I.set(c,t),c.length-1)}(t,e,n,r)}};!function(){function t(t){e.asm=t.exports,M=e.asm.ad,K(),J=e.asm.dd,tt.unshift(e.asm.bd),rt--,e.monitorRunDependencies&&e.monitorRunDependencies(rt),0==rt&&it&&(t=it,it=null,t())}function n(e){t(e.instance)}function r(t){return function(){if(!S&&(l||u)){if("function"==typeof fetch&&!st.startsWith("file://"))return fetch(st,{credentials:"same-origin"}).then((function(t){if(!t.ok)throw"failed to load wasm binary file at '"+st+"'";return t.arrayBuffer()})).catch((function(){return ut()}));if(g)return new Promise((function(t,e){g(st,(function(e){t(new Uint8Array(e))}),e)}))}return Promise.resolve().then((function(){return ut()}))}().then((function(t){return WebAssembly.instantiate(t,o)})).then(t,(function(t){T("failed to asynchronously prepare wasm: "+t),ot(t)}))}var o={a:fn};if(rt++,e.monitorRunDependencies&&e.monitorRunDependencies(rt),e.instantiateWasm)try{return e.instantiateWasm(o,t)}catch(t){return T("Module.instantiateWasm callback failed with error: "+t),!1}(S||"function"!=typeof WebAssembly.instantiateStreaming||at()||st.startsWith("file://")||"function"!=typeof fetch?r(n):fetch(st,{credentials:"same-origin"}).then((function(t){return WebAssembly.instantiateStreaming(t,o).then(n,(function(t){return T("wasm streaming compile failed: "+t),T("falling back to ArrayBuffer instantiation"),r(n)}))}))).catch(i)}(),e.___wasm_call_ctors=function(){return(e.___wasm_call_ctors=e.asm.bd).apply(null,arguments)};var dn=e._memset=function(){return(dn=e._memset=e.asm.cd).apply(null,arguments)},pn=e._malloc=function(){return(pn=e._malloc=e.asm.ed).apply(null,arguments)},gn=e._free=function(){return(gn=e._free=e.asm.fd).apply(null,arguments)},yn=e.___errno_location=function(){return(yn=e.___errno_location=e.asm.gd).apply(null,arguments)},mn=e.___getTypeName=function(){return(mn=e.___getTypeName=e.asm.hd).apply(null,arguments)};e.___embind_register_native_and_builtin_types=function(){return(e.___embind_register_native_and_builtin_types=e.asm.id).apply(null,arguments)};var vn,bn=e.stackSave=function(){return(bn=e.stackSave=e.asm.jd).apply(null,arguments)},wn=e.stackRestore=function(){return(wn=e.stackRestore=e.asm.kd).apply(null,arguments)},Cn=e._setThrew=function(){return(Cn=e._setThrew=e.asm.ld).apply(null,arguments)},An=e._memalign=function(){return(An=e._memalign=e.asm.md).apply(null,arguments)};function Tn(t){this.name="ExitStatus",this.message="Program terminated with exit("+t+")",this.status=t}function Sn(){function t(){if(!vn&&(vn=!0,e.calledRun=!0,!k)){if(ct(tt),r(e),e.onRuntimeInitialized&&e.onRuntimeInitialized(),e.postRun)for("function"==typeof e.postRun&&(e.postRun=[e.postRun]);e.postRun.length;){var t=e.postRun.shift();et.unshift(t)}ct(et)}}if(!(0<rt)){if(e.preRun)for("function"==typeof e.preRun&&(e.preRun=[e.preRun]);e.preRun.length;)nt();ct(Z),0<rt||(e.setStatus?(e.setStatus("Running..."),setTimeout((function(){setTimeout((function(){e.setStatus("")}),1),t()}),1)):t())}}if(e.dynCall_iiiji=function(){return(e.dynCall_iiiji=e.asm.nd).apply(null,arguments)},e.dynCall_ji=function(){return(e.dynCall_ji=e.asm.od).apply(null,arguments)},e.dynCall_iiji=function(){return(e.dynCall_iiji=e.asm.pd).apply(null,arguments)},e.dynCall_iijjiii=function(){return(e.dynCall_iijjiii=e.asm.qd).apply(null,arguments)},e.dynCall_iij=function(){return(e.dynCall_iij=e.asm.rd).apply(null,arguments)},e.dynCall_vijjjii=function(){return(e.dynCall_vijjjii=e.asm.sd).apply(null,arguments)},e.dynCall_viji=function(){return(e.dynCall_viji=e.asm.td).apply(null,arguments)},e.dynCall_vijiii=function(){return(e.dynCall_vijiii=e.asm.ud).apply(null,arguments)},e.dynCall_viiiiij=function(){return(e.dynCall_viiiiij=e.asm.vd).apply(null,arguments)},e.dynCall_viijii=function(){return(e.dynCall_viijii=e.asm.wd).apply(null,arguments)},e.dynCall_jii=function(){return(e.dynCall_jii=e.asm.xd).apply(null,arguments)},e.dynCall_iiij=function(){return(e.dynCall_iiij=e.asm.yd).apply(null,arguments)},e.dynCall_iiiij=function(){return(e.dynCall_iiiij=e.asm.zd).apply(null,arguments)},e.dynCall_viij=function(){return(e.dynCall_viij=e.asm.Ad).apply(null,arguments)},e.dynCall_viiij=function(){return(e.dynCall_viiij=e.asm.Bd).apply(null,arguments)},e.dynCall_vij=function(){return(e.dynCall_vij=e.asm.Cd).apply(null,arguments)},e.dynCall_jiiii=function(){return(e.dynCall_jiiii=e.asm.Dd).apply(null,arguments)},e.dynCall_jiiiiii=function(){return(e.dynCall_jiiiiii=e.asm.Ed).apply(null,arguments)},e.dynCall_jiiiiji=function(){return(e.dynCall_jiiiiji=e.asm.Fd).apply(null,arguments)},e.dynCall_iijj=function(){return(e.dynCall_iijj=e.asm.Gd).apply(null,arguments)},e.dynCall_jiji=function(){return(e.dynCall_jiji=e.asm.Hd).apply(null,arguments)},e.dynCall_iiiiij=function(){return(e.dynCall_iiiiij=e.asm.Id).apply(null,arguments)},e.dynCall_iiiiijj=function(){return(e.dynCall_iiiiijj=e.asm.Jd).apply(null,arguments)},e.dynCall_iiiiiijj=function(){return(e.dynCall_iiiiiijj=e.asm.Kd).apply(null,arguments)},it=function t(){vn||Sn(),vn||(it=t)},e.run=Sn,e.preInit)for("function"==typeof e.preInit&&(e.preInit=[e.preInit]);0<e.preInit.length;)e.preInit.pop()();return Sn(),t.ready});t.exports=r}(m);class w{}w.Transparent=[0,0,0,0],w.MediumVioletRed=[199,21,133,1],w.DeepPink=[255,20,147,1],w.PaleVioletRed=[219,112,147,1],w.HotPink=[255,105,180,1],w.LightPink=[255,182,193,1],w.Pink=[255,192,203,1],w.DarkRed=[139,0,0,1],w.Red=[255,0,0,1],w.Firebrick=[178,34,34,1],w.Crimson=[220,20,60,1],w.IndianRed=[205,92,92,1],w.LightCoral=[240,128,128,1],w.Salmon=[250,128,114,1],w.DarkSalmon=[233,150,122,1],w.LightSalmon=[255,160,122,1],w.OrangeRed=[255,69,0,1],w.Tomato=[255,99,71,1],w.DarkOrange=[255,140,0,1],w.Coral=[255,127,80,1],w.Orange=[255,165,0,1],w.DarkKhaki=[189,183,107,1],w.Gold=[255,215,0,1],w.Khaki=[240,230,140,1],w.PeachPuff=[255,218,185,1],w.Yellow=[255,255,0,1],w.PaleGoldenrod=[238,232,170,1],w.Moccasin=[255,228,181,1],w.PapayaWhip=[255,239,213,1],w.LightGoldenrodYellow=[250,250,210,1],w.LemonChiffon=[255,250,205,1],w.LightYellow=[255,255,224,1],w.Maroon=[128,0,0,1],w.Brown=[165,42,42,1],w.SaddleBrown=[139,69,19,1],w.Sienna=[160,82,45,1],w.Chocolate=[210,105,30,1],w.DarkGoldenrod=[184,134,11,1],w.Peru=[205,133,63,1],w.RosyBrown=[188,143,143,1],w.Goldenrod=[218,165,32,1],w.SandyBrown=[244,164,96,1],w.Tan=[210,180,140,1],w.Burlywood=[222,184,135,1],w.Wheat=[245,222,179,1],w.NavajoWhite=[255,222,173,1],w.Bisque=[255,228,196,1],w.BlanchedAlmond=[255,235,205,1],w.Cornsilk=[255,248,220,1],w.DarkGreen=[0,100,0,1],w.Green=[0,128,0,1],w.DarkOliveGreen=[85,107,47,1],w.ForestGreen=[34,139,34,1],w.SeaGreen=[46,139,87,1],w.Olive=[128,128,0,1],w.OliveDrab=[107,142,35,1],w.MediumSeaGreen=[60,179,113,1],w.LimeGreen=[50,205,50,1],w.Lime=[0,255,0,1],w.SpringGreen=[0,255,127,1],w.MediumSpringGreen=[0,250,154,1],w.DarkSeaGreen=[143,188,143,1],w.MediumAquamarine=[102,205,170,1],w.YellowGreen=[154,205,50,1],w.LawnGreen=[124,252,0,1],w.Chartreuse=[127,255,0,1],w.LightGreen=[144,238,144,1],w.GreenYellow=[173,255,47,1],w.PaleGreen=[152,251,152,1],w.Teal=[0,128,128,1],w.DarkCyan=[0,139,139,1],w.LightSeaGreen=[32,178,170,1],w.CadetBlue=[95,158,160,1],w.DarkTurquoise=[0,206,209,1],w.MediumTurquoise=[72,209,204,1],w.Turquoise=[64,224,208,1],w.Aqua=[0,255,255,1],w.Cyan=[0,255,255,1],w.Aquamarine=[127,255,212,1],w.PaleTurquoise=[175,238,238,1],w.LightCyan=[224,255,255,1],w.Navy=[0,0,128,1],w.DarkBlue=[0,0,139,1],w.MediumBlue=[0,0,205,1],w.Blue=[0,0,255,1],w.MidnightBlue=[25,25,112,1],w.RoyalBlue=[65,105,225,1],w.SteelBlue=[70,130,180,1],w.DodgerBlue=[30,144,255,1],w.DeepSkyBlue=[0,191,255,1],w.CornflowerBlue=[100,149,237,1],w.SkyBlue=[135,206,235,1],w.LightSkyBlue=[135,206,250,1],w.LightSteelBlue=[176,196,222,1],w.LightBlue=[173,216,230,1],w.PowderBlue=[176,224,230,1],w.Indigo=[75,0,130,1],w.Purple=[128,0,128,1],w.DarkMagenta=[139,0,139,1],w.DarkViolet=[148,0,211,1],w.DarkSlateBlue=[72,61,139,1],w.BlueViolet=[138,43,226,1],w.DarkOrchid=[153,50,204,1],w.Fuchsia=[255,0,255,1],w.Magenta=[255,0,255,1],w.SlateBlue=[106,90,205,1],w.MediumSlateBlue=[123,104,238,1],w.MediumOrchid=[186,85,211,1],w.MediumPurple=[147,112,219,1],w.Orchid=[218,112,214,1],w.Violet=[238,130,238,1],w.Plum=[221,160,221,1],w.Thistle=[216,191,216,1],w.Lavender=[230,230,250,1],w.MistyRose=[255,228,225,1],w.AntiqueWhite=[250,235,215,1],w.Linen=[250,240,230,1],w.Beige=[245,245,220,1],w.WhiteSmoke=[245,245,245,1],w.LavenderBlush=[255,240,245,1],w.OldLace=[253,245,230,1],w.AliceBlue=[240,248,255,1],w.Seashell=[255,245,238,1],w.GhostWhite=[248,248,255,1],w.Honeydew=[240,255,240,1],w.FloralWhite=[255,250,240,1],w.Azure=[240,255,255,1],w.MintCream=[245,255,250,1],w.Snow=[255,250,250,1],w.Ivory=[255,255,240,1],w.White=[255,255,255,1],w.Black=[0,0,0,1],w.DarkSlateGray=[47,79,79,1],w.DimGray=[105,105,105,1],w.SlateGray=[112,128,144,1],w.Gray=[128,128,128,1],w.LightSlateGray=[119,136,153,1],w.DarkGray=[169,169,169,1],w.Silver=[192,192,192,1],w.LightGray=[211,211,211,1],w.Gainsboro=[220,220,220,1],w.RebeccaPurple=[102,51,153,1];class C{}C.FPS_DISPLAY_TEXT_FONT_SIZE=12,C.FPS_DISPLAY_TEXT_COLOR=[0,0,0,.5],C.FPS_DISPLAY_UPDATE_INTERVAL=500,C.DEFAULT_SCENE_BACKGROUND_COLOR=w.WhiteSmoke,C.DEFAULT_SHAPE_FILL_COLOR=w.Red,C.DEFAULT_FONT_COLOR=w.Black,C.DEFAULT_FONT_SIZE=16,C.LIMITED_FPS_RATE=5,function(t){t.entity="Entity",t.scene="Scene",t.sprite="Sprite",t.label="Label",t.textline="TextLine",t.shape="Shape",t.composite="Composite"}(c||(c={}));class A{constructor(t,e){null!=t&&null!=e?(this.x=t,this.y=e):(this.x=0,this.y=0)}}!function(t){t.topToTopOf="topToTopOf",t.topToBottomOf="topToBottomOf",t.bottomToTopOf="bottomToTopOf",t.bottomToBottomOf="bottomToBottomOf",t.startToStartOf="startToStartOf",t.startToEndOf="startToEndOf",t.endToEndOf="endToEndOf",t.endToStartOf="endToStartOf"}(h||(h={}));class T{constructor(t,e){this.verticalConstraint=!1,this.focalEntityMinimum=!1,this.alterEntityMinimum=!1,this.verticalTypes=[h.topToTopOf,h.topToBottomOf,h.bottomToTopOf,h.bottomToBottomOf],this.focalEntityMinimumTypes=[h.topToTopOf,h.topToBottomOf,h.startToStartOf,h.startToEndOf],this.alterEntityMinimumTypes=[h.topToTopOf,h.bottomToTopOf,h.startToStartOf,h.endToStartOf],this.type=t,this.alterEntity=e,this.verticalTypes.includes(t)?(this.verticalConstraint=!0,this.focalEntityMinimumTypes.includes(t)?this.focalEntityMinimum=!0:this.focalEntityMinimum=!1,this.alterEntityMinimumTypes.includes(t)?this.alterEntityMinimum=!0:this.alterEntityMinimum=!1):(this.verticalConstraint=!1,this.focalEntityMinimumTypes.includes(t)?this.focalEntityMinimum=!0:this.focalEntityMinimum=!1,this.alterEntityMinimumTypes.includes(t)?this.alterEntityMinimum=!0:this.alterEntityMinimum=!1)}}class S{constructor(t=0,e=0){this.width=t,this.height=e,this.width=t,this.height=e}}function P(t,e){t.isDrawable&&function(t,e){e.anchorPoint&&(t.anchorPoint=e.anchorPoint),e.zPosition&&(t.zPosition=e.zPosition)}(t,e),t.isText&&function(t,e){e.text&&(t.text=e.text),e.fontName&&(t.fontName=e.fontName),e.fontColor&&(t.fontColor=e.fontColor),e.fontSize&&(t.fontSize=e.fontSize)}(t,e)}class _{constructor(t={}){this.type=c.entity,this.isDrawable=!1,this.isShape=!1,this.isText=!1,this.position=new A(0,0),this.scale=1,this.isUserInteractionEnabled=!1,this.hidden=!1,this.layout={},this.children=new Array,this.absolutePosition=new A(0,0),this.size=new S(0,0),this.absoluteScale=1,this.actions=new Array,this.originalActions=new Array,this.eventListeners=new Array,this.uuid=class{static generate(){let t=(new Date).getTime(),e=performance&&performance.now&&1e3*performance.now()||0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(n=>{let r=16*Math.random();return t>0?(r=(t+r)%16|0,t=Math.floor(t/16)):(r=(e+r)%16|0,e=Math.floor(e/16)),("x"==n?r:7&r|8).toString(16)}))}}.generate(),this.needsInitialization=!0,this.userData={},this.loopMessages=new Set,this.toString=()=>this.name!==this.uuid?`"${this.name}" (${this.type}, ${this.uuid})`:`"${this.type} (${this.uuid})`,void 0===t.name?this.name=this.uuid:this.name=t.name,t.position&&(this.position=t.position),t.scale&&(this.scale=t.scale),t.isUserInteractionEnabled&&(this.isUserInteractionEnabled=t.isUserInteractionEnabled),t.layout&&(this.layout=t.layout)}initialize(){throw new Error("initialize() called in abstract base class Entity.")}addChild(t){if(t.type==c.scene)throw new Error("A scene cannot be the child of an entity. A scene can only be added to a game object");if(t.parent=this,this.children.map((t=>t.name)).includes(t.name))throw new Error(`Cannot add child entity ${t.toString()} to parent entity ${this.toString()}. A child with name "${t.name}" already exists on parent.`);this.children.push(t)}removeAllChildren(){for(;this.children.length;)this.children.pop()}removeChild(t){if(!this.children.includes(t))throw new Error(`cannot remove entity ${t} from parent ${this} because the entity is not currently a child of the parent`);this.children=this.children.filter((t=>t!=t))}descendant(t){const e=this.descendants.filter((e=>e.name===t)).find(Boolean);if(void 0===e)throw new Error(`descendant with name ${t} not found on parent ${this.toString()}`);return e}get descendants(){function t(e,n){n.push(e),e.children.forEach((e=>t(e,n)))}const e=new Array;return this.children.forEach((n=>t(n,e))),e}onTapDown(t,e=!0){const n={eventType:"tapdown",entityName:this.name,callback:t};e&&(this.eventListeners=this.eventListeners.filter((t=>t.entityName!==n.entityName))),this.eventListeners.push(n)}parseLayoutConstraints(t,e){const n=new Array;return Object.values(h).forEach((r=>{if(void 0!==t[r]){let i,o="";if(t[r]instanceof _)i=t[r];else{const n=t[r];i=e.filter((t=>t.name===n)).find(Boolean),o=`. sibling entity named "${n}" has not been added to the game object`}if(void 0===i)throw new Error("could not find sibling entity for constraint"+o);const a=new T(r,i);n.push(a)}})),n}calculateYFromConstraint(t,e,n,r){let i=t.alterEntity.absolutePosition.y;return t.alterEntityMinimum?t.alterEntity.type!==c.scene&&(i-=.5*t.alterEntity.size.height*r):t.alterEntity.type!==c.scene?i+=.5*t.alterEntity.size.height*r:i+=t.alterEntity.size.height*r,t.focalEntityMinimum?(i+=.5*this.size.height*r,i+=e*r):(i-=.5*this.size.height*r,i-=n*r),i}calculateXFromConstraint(t,e,n,r){let i=t.alterEntity.absolutePosition.x;return t.alterEntityMinimum?t.alterEntity.type!==c.scene&&(i-=.5*t.alterEntity.size.width*r):t.alterEntity.type!==c.scene?i+=.5*t.alterEntity.size.width*r:i+=t.alterEntity.size.width*r,t.focalEntityMinimum?(i+=.5*this.size.width*r,i+=e*r):(i-=.5*this.size.width*r,i-=n*r),i}update(){var t,e,r,i,o,a,s,l,u,f,d,p,g,y,m,v;if(this.needsInitialization&&(this.initialize(),this.needsInitialization=!1),void 0===this.parent)this.absolutePosition.x=this.position.x*this.scale,this.absolutePosition.y=this.position.y*this.scale,this.absoluteScale=this.scale;else if(this.absoluteScale=this.parent.absoluteScale*this.scale,void 0===(null===(t=this.layout)||void 0===t?void 0:t.constraints))this.absolutePosition.x=this.parent.absolutePosition.x+this.position.x*this.parent.absoluteScale,this.absolutePosition.y=this.parent.absolutePosition.y+this.position.y*this.parent.absoluteScale;else{const t=null!==(i=null===(r=null===(e=this.layout)||void 0===e?void 0:e.constraints)||void 0===r?void 0:r.horizontalBias)&&void 0!==i?i:.5,n=null!==(s=null===(a=null===(o=this.layout)||void 0===o?void 0:o.constraints)||void 0===a?void 0:a.verticalBias)&&void 0!==s?s:.5,c=null!==(u=null===(l=this.layout)||void 0===l?void 0:l.marginTop)&&void 0!==u?u:0,h=null!==(d=null===(f=this.layout)||void 0===f?void 0:f.marginBottom)&&void 0!==d?d:0,b=null!==(g=null===(p=this.layout)||void 0===p?void 0:p.marginStart)&&void 0!==g?g:0,w=null!==(m=null===(y=this.layout)||void 0===y?void 0:y.marginEnd)&&void 0!==m?m:0,C=this.parseLayoutConstraints(null===(v=this.layout)||void 0===v?void 0:v.constraints,this.parentSceneAsEntity.descendants),A=this.parent.absoluteScale,T=C.filter((t=>t.verticalConstraint)).map((t=>this.calculateYFromConstraint(t,c,h,A)));0===T.length||(1===T.length?this.absolutePosition.y=T[0]:2===T.length&&(this.absolutePosition.y=Math.min(T[0],T[1])+n*Math.abs(T[0]-T[1])));const S=C.filter((t=>!t.verticalConstraint)).map((t=>this.calculateXFromConstraint(t,b,w,A)));0===S.length||(1===S.length?this.absolutePosition.x=S[0]:2===S.length&&(this.absolutePosition.x=Math.min(S[0],S[1])+t*Math.abs(S[0]-S[1])))}const b=this.actions.filter((t=>t.runDuringTransition&&!t.completed)),w=this.actions.filter((t=>!t.runDuringTransition&&!t.completed));b.length>0?(b.forEach((t=>{-1===t.runStartTime&&(t.runStartTime=Globals.now)})),b.forEach((t=>n.evaluateAction(t,this,Globals.now,Globals.deltaTime)))):w.length>0&&(w.forEach((t=>{-1===t.runStartTime&&(t.runStartTime=Globals.now)})),w.forEach((t=>n.evaluateAction(t,this,Globals.now,Globals.deltaTime))));const C=new Map;this.children.forEach((t=>{var e;C.set(t.uuid,function(t,e){const n=new Array;return void 0===e||Object.values(h).forEach((r=>{if(void 0!==e[r]){let i,o="";if(e[r]instanceof _)i=e[r];else{const n=e[r];let a;a=t.type===c.scene?t.descendants:t.parentSceneAsEntity.descendants,i=a.filter((t=>t.name===n)).find(Boolean),void 0===i&&(o=`. sibling entity named "${n}" has not been added to the game object`)}if(void 0===i)throw new Error("error getting uuid of sibling contraint"+o);i!==t&&n.push(i.uuid)}})),n}(this,null===(e=t.layout)||void 0===e?void 0:e.constraints))}));const A=this.findTopologicalSort(C);if(A.length>0){const t=A.reverse(),e=new Array;t.forEach((t=>{const n=this.children.filter((e=>e.uuid===t)).find(Boolean);if(void 0===n)throw new Error("error in dag topological sort");e.push(n)})),e.forEach((t=>t.update()))}else this.children.forEach((t=>t.update()))}drawChildren(t){this.children.filter((t=>!t.hidden&&t.isDrawable)).map((t=>t)).sort(((t,e)=>t.zPosition-e.zPosition)).forEach((e=>e.draw(t)))}run(t,e){this.actions.push(...t.initialize(this,e)),this.originalActions=this.actions.filter((t=>!1===t.runDuringTransition)).map((t=>n.cloneAction(t,e)))}removeAction(t){this.actions=this.actions.filter((e=>e.key!==t))}removeAllActions(){for(;this.actions.length;)this.actions.pop()}static getEntityOptions(t){return{name:t.name,position:t.position,scale:t.scale,isUserInteractionEnabled:t.isUserInteractionEnabled,hidden:t.hidden}}static getDrawableOptions(t){return{anchorPoint:t.anchorPoint,zPosition:t.zPosition}}static getTextOptions(t){return{text:t.text,fontName:t.fontName,fontColor:t.fontColor,fontSize:t.fontSize}}get canvasKit(){let t;return t=this.type===c.scene?this:this.parentSceneAsEntity,t.game.canvasKit}get parentSceneAsEntity(){if(this.type===c.scene)throw new Error(`Entity ${this} is a scene and cannot have a parent scene`);if(this.parent&&this.parent.type===c.scene)return this.parent;if(this.parent)return this.parent.parentSceneAsEntity;throw new Error(`Entity ${this} has not been added to a scene`)}findTopologicalSort(t){var e;const n=[],r=new Map;t.forEach(((t,e)=>{r.has(e)||r.set(e,0),t.forEach((t=>{r.has(t)?r.set(t,r.get(t)+1):r.set(t,1)}))}));const i=[];for(r.forEach(((t,e)=>{0==t&&i.push(e)}));i.length>0;){const o=i.shift();if(void 0===o)throw"bad";n.push(o),t.has(o)&&(null===(e=t.get(o))||void 0===e||e.forEach((t=>{if(r.has(t)&&r.get(t)>0){const e=r.get(t)-1;r.set(t,e),0==e&&i.push(t)}})))}return n}}class M extends _{constructor(t={}){super(t),this.type=c.sprite,this.isDrawable=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,this._imageName="",P(this,t),t.imageName&&(this.imageName=t.imageName)}initialize(){const t=this.parentSceneAsEntity.game.session;if(!t)throw new Error("activity is undefined");const e=t.imageManager,n=this.parentSceneAsEntity.game.uuid;if(this.loadedImage=e.getLoadedImage(n,this._imageName),!this.loadedImage)throw new Error(`could not create sprite. the image named ${this._imageName} has not been loaded`);this.size.width=this.loadedImage.width,this.size.height=this.loadedImage.height}set imageName(t){this._imageName=t,this.needsInitialization=!0}get imageName(){return this._imageName}update(){super.update()}draw(t){if(!this.hidden){if(this.loadedImage){t.save();const e=Globals.canvasScale/this.absoluteScale;t.scale(1/e,1/e);const n=(this.absolutePosition.x-this.size.width*this.anchorPoint.x*this.absoluteScale)*e,r=(this.absolutePosition.y-this.size.height*this.anchorPoint.y*this.absoluteScale)*e;t.drawImage(this.loadedImage.image,n,r),t.restore()}super.drawChildren(t)}}}class k extends _{constructor(t={}){super(t),this.type=c.scene,this.isDrawable=!0,this.anchorPoint=new A(0,0),this.zPosition=0,this._backgroundColor=C.DEFAULT_SCENE_BACKGROUND_COLOR,this._active=!1,this._transitioning=!1,P(this,t),t.backgroundColor&&(this.backgroundColor=t.backgroundColor)}initialize(){this.scale=Globals.rootScale,this.size.width=this.game.canvasCssWidth,this.size.height=this.game.canvasCssHeight,this.backgroundPaint=new this.canvasKit.Paint,this.backgroundPaint.setColor(this.canvasKit.Color(this.backgroundColor[0],this.backgroundColor[1],this.backgroundColor[2],this.backgroundColor[3])),this.backgroundPaint.setStyle(this.canvasKit.PaintStyle.Fill)}set game(t){this._game=t}get game(){if(void 0===this._game)throw new Error("no active game");return this._game}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this.needsInitialization=!0}setup(t){this._setupCallback=t}draw(t){t.save();const e=Globals.canvasScale/this.absoluteScale;t.scale(1/e,1/e);const n=this.canvasKit.RRectXY(this.canvasKit.LTRBRect(this.position.x*e*Globals.rootScale,this.position.y*e*Globals.rootScale,(this.position.x+this.size.width)*e*Globals.rootScale,(this.position.y+this.size.height)*e*Globals.rootScale),0,0);t.drawRRect(n,this.backgroundPaint),t.restore(),super.drawChildren(t)}}class F{constructor(){this.duration=0}static push(t,e){return new x(t,e)}}class x extends F{constructor(t,e){super(),this.type=f.push,this.direction=t,this.duration=e}}(f||(f={})).push="Push",function(t){t.up="Up",t.down="Down",t.right="Right",t.left="Left"}(d||(d={})),new Array;class E extends _{constructor(t={}){super(t),this.type=c.composite,this.compositeType="<compositeType>",this.isDrawable=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,P(this,t)}initialize(){}update(){super.update()}draw(t){super.drawChildren(t)}}!function(t){t[t.MATCH_CONSTRAINT=0]="MATCH_CONSTRAINT"}(p||(p={})),function(t){t[t.center=0]="center",t[t.left=1]="left",t[t.right=2]="right"}(g||(g={}));class B extends _{constructor(t={}){super(t),this.type=c.label,this.isDrawable=!0,this.isText=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,this._text="",this._fontColor=C.DEFAULT_FONT_COLOR,this._fontSize=C.DEFAULT_FONT_SIZE,this._horizontalAlignmentMode=g.center,P(this,t),t.horizontalAlignmentMode&&(this.horizontalAlignmentMode=t.horizontalAlignmentMode),void 0!==t.preferredMaxLayoutWidth&&(this.preferredMaxLayoutWidth=t.preferredMaxLayoutWidth),t.backgroundColor&&(this.backgroundColor=t.backgroundColor)}initialize(){var t,e,n;let r=this.canvasKit.TextAlign.Center;switch(this.horizontalAlignmentMode){case g.center:r=this.canvasKit.TextAlign.Center;break;case g.left:r=this.canvasKit.TextAlign.Left;break;case g.right:r=this.canvasKit.TextAlign.Right;break;default:throw new Error("unknown horizontalAlignmentMode")}this.paraStyle=new this.canvasKit.ParagraphStyle({textStyle:{color:this.canvasKit.Color(this.fontColor[0],this.fontColor[1],this.fontColor[2],this.fontColor[3]),fontSize:this.fontSize*Globals.canvasScale},textAlign:r}),this.fontName&&this.paraStyle.textStyle&&(this.paraStyle.textStyle.fontFamilies=[this.fontName]),this.backgroundColor&&this.paraStyle.textStyle&&(this.paraStyle.textStyle.backgroundColor=this.backgroundColor);const i=this.parentSceneAsEntity.game.session;if(!i)throw new Error("activity is undefined");const o=i.fontManager;if(void 0===o.fontMgr)throw new Error("no fonts loaded");const a=this.canvasKit.ParagraphBuilder.Make(this.paraStyle,o.fontMgr);this.text||(this.text=""),a.addText(this.text),""===this.text&&console.warn(`warning: empty text in label "${this.name}"`),this.paragraph=a.build();const s=null!==(t=this.preferredMaxLayoutWidth)&&void 0!==t?t:Globals.canvasCssWidth;let l=s;if(0===s||0===this.layout.width){if(void 0===this.parent)throw new Error("width is set to match parent, but entity has no parent");const t=null!==(e=this.layout.marginStart)&&void 0!==e?e:0,r=null!==(n=this.layout.marginEnd)&&void 0!==n?n:0;l=this.parent.size.width-(t+r)}this.paragraph.layout(l*Globals.canvasScale),this.size.width=l,this.size.height=this.paragraph.getHeight()/Globals.canvasScale}get text(){return this._text}set text(t){this._text=t,this.needsInitialization=!0}get fontName(){return this._fontName}set fontName(t){this._fontName=t,this.needsInitialization=!0}get fontColor(){return this._fontColor}set fontColor(t){this._fontColor=t,this.needsInitialization=!0}get fontSize(){return this._fontSize}set fontSize(t){this._fontSize=t,this.needsInitialization=!0}get horizontalAlignmentMode(){return this._horizontalAlignmentMode}set horizontalAlignmentMode(t){this._horizontalAlignmentMode=t,this.needsInitialization=!0}get preferredMaxLayoutWidth(){return this._preferredMaxLayoutWidth}set preferredMaxLayoutWidth(t){this._preferredMaxLayoutWidth=t,this.needsInitialization=!0}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this.needsInitialization=!0}update(){super.update()}draw(t){if(this.parent&&""!==this.text){t.save();const e=Globals.canvasScale/this.absoluteScale;t.scale(1/e,1/e);const n=(this.absolutePosition.x-this.size.width*this.anchorPoint.x*this.absoluteScale)*e,r=(this.absolutePosition.y-this.size.height*this.anchorPoint.y*this.absoluteScale)*e;if(void 0===this.paragraph)throw new Error("no paragraph");t.drawParagraph(this.paragraph,n,r),t.restore()}super.drawChildren(t)}}class O{constructor(t){this.origin=t.origin,this.size=t.size,this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height}}!function(t){t[void 0]="Undefined",t.rectangle="Rectangle",t.circle="Circle"}(y||(y={}));class R extends _{constructor(t={}){super(t),this.type=c.shape,this.isDrawable=!0,this.isShape=!0,this.anchorPoint=new A(.5,.5),this.zPosition=0,this.shapeType=y.undefined,this.cornerRadius=0,this._fillColor=C.DEFAULT_SHAPE_FILL_COLOR,P(this,t),void 0!==t.circleOfRadius&&(this.circleOfRadius=t.circleOfRadius,this.shapeType=y.circle),t.rect&&(t.rect.size?(this.size.width=t.rect.size.width,this.size.height=t.rect.size.height):void 0!==t.rect.width&&void 0!==t.rect.height&&(this.size.width=t.rect.width,this.size.height=t.rect.height),t.rect.origin?this.position=t.rect.origin:void 0!==t.rect.x&&void 0!==t.rect.y&&(this.position=new A(t.rect.x,t.rect.y)),this.shapeType=y.rectangle),t.cornerRadius&&(this.cornerRadius=t.cornerRadius),t.fillColor&&(this.fillColor=t.fillColor),t.strokeColor&&(this.strokeColor=t.strokeColor),t.lineWidth&&(this.lineWidth=t.lineWidth),t.strokeColor&&void 0===t.lineWidth&&console.warn(`warning: for entity ${this}, strokeColor = ${t.strokeColor} but lineWidth is undefined. In normal usage, both would be set or both would be undefined.`),void 0===t.strokeColor&&t.lineWidth&&console.warn(`warning: for entity ${this}, lineWidth = ${t.lineWidth} but strokeColor is undefined. In normal usage, both would be set or both would be undefined.`)}initialize(){if(this.fillColor){const t=this.canvasKit;this.fillColorPaint=new t.Paint,this.fillColorPaint.setColor(t.Color(this.fillColor[0],this.fillColor[1],this.fillColor[2],this.fillColor[3])),this.fillColorPaint.setStyle(t.PaintStyle.Fill),this.fillColorPaint.setAntiAlias(!0)}if(this.strokeColor){const t=this.canvasKit;this.strokeColorPaint=new t.Paint,this.strokeColorPaint.setColor(t.Color(this.strokeColor[0],this.strokeColor[1],this.strokeColor[2],this.strokeColor[3])),this.strokeColorPaint.setStyle(t.PaintStyle.Stroke),this.strokeColorPaint.setAntiAlias(!0)}}get fillColor(){return this._fillColor}set fillColor(t){this._fillColor=t,this.needsInitialization=!0}get strokeColor(){return this._strokeColor}set strokeColor(t){this._strokeColor=t,this.needsInitialization=!0}update(){super.update()}draw(t){t.save();const e=Globals.canvasScale/this.absoluteScale;if(t.scale(1/e,1/e),this.shapeType===y.circle&&void 0!==this.circleOfRadius){const n=this.absolutePosition.x*e,r=this.absolutePosition.y*e,i=this.circleOfRadius*this.absoluteScale*e;this.fillColor&&this.fillColorPaint&&t.drawCircle(n,r,i,this.fillColorPaint),this.strokeColor&&this.strokeColorPaint&&this.lineWidth&&(this.strokeColorPaint.setStrokeWidth(this.lineWidth*e),t.drawCircle(n,r,i,this.strokeColorPaint))}if(this.shapeType===y.rectangle){const n=this.canvasKit.RRectXY(this.canvasKit.LTRBRect((this.absolutePosition.x-this.anchorPoint.x*this.size.width*this.absoluteScale)*e,(this.absolutePosition.y-this.anchorPoint.y*this.size.height*this.absoluteScale)*e,(this.absolutePosition.x+this.size.width*this.absoluteScale-this.anchorPoint.x*this.size.width*this.absoluteScale)*e,(this.absolutePosition.y+this.size.height*this.absoluteScale-this.anchorPoint.y*this.size.height*this.absoluteScale)*e),this.cornerRadius*e,this.cornerRadius*e);this.fillColor&&this.fillColorPaint&&t.drawRRect(n,this.fillColorPaint),this.strokeColor&&this.strokeColorPaint&&this.lineWidth&&(this.strokeColorPaint.setStrokeWidth(this.lineWidth*e),t.drawRRect(n,this.strokeColorPaint))}t.restore(),super.drawChildren(t)}}class L extends E{constructor(t){if(super(t),this.compositeType="grid",this.rows=0,this.columns=0,this.gridBackgroundColor=[0,0,233,.25],this.gridLineColor=w.Red,this.gridLineWidth=1,this.gridChildren=new Array,!t.size)throw new Error("grid size must be specified");if(this.size=t.size,!t.rows)throw new Error("rows must be specified");if(!(t.rows>=1))throw new Error("rows must be at least 1");if(this.rows=t.rows,!t.columns)throw new Error("columns must be specified");if(!(t.columns>=1))throw new Error("columns must be at least 1");this.columns=t.columns,t.backgroundColor&&(this.gridBackgroundColor=t.backgroundColor),t.gridLineColor&&(this.gridLineColor=t.gridLineColor),t.gridLineWidth&&(this.gridLineWidth=t.gridLineWidth),this.cellWidth=this.size.width/this.columns,this.cellHeight=this.size.height/this.rows}initialize(){super.removeAllChildren(),this.gridBackground=new R({name:"_"+this.name+"-gridBackground",rect:new O({size:this.size}),fillColor:this.gridBackgroundColor,strokeColor:this.gridLineColor,lineWidth:this.gridLineWidth,isUserInteractionEnabled:this.isUserInteractionEnabled}),this.addChild(this.gridBackground),this.gridBackground.isUserInteractionEnabled=this.isUserInteractionEnabled;for(let t=1;t<this.columns;t++){const e=new R({name:"_"+this.name+"-gridVerticalLine-"+t,rect:new O({size:new S(this.gridLineWidth,this.size.height),origin:new A(-this.size.width/2+this.cellWidth*t,0)}),fillColor:this.gridLineColor});this.gridBackground.addChild(e)}for(let t=1;t<this.rows;t++){const e=new R({name:"_"+this.name+"-gridHorizontalLine-"+t,rect:new O({size:new S(this.size.width,this.gridLineWidth),origin:new A(0,-this.size.height/2+this.cellHeight*t)}),fillColor:this.gridLineColor});this.gridBackground.addChild(e)}this.gridChildren&&this.gridChildren.forEach((t=>{if(!this.cellWidth||!this.cellHeight||!this.gridBackground)throw new Error("cellWidth, cellHeight, or gridBackground undefined or null");const e=-this.size.width/2+this.cellWidth/2+t.column*this.cellWidth,n=-this.size.height/2+this.cellHeight/2+t.row*this.cellHeight;t.entity.position=new A(e,n),this.gridBackground.addChild(t.entity)})),this.needsInitialization=!1}update(){super.update()}draw(t){super.drawChildren(t)}removeAllChildren(){if(0!==this.gridChildren.length){for(;this.gridChildren.length;)this.gridChildren.pop();this.needsInitialization=!0}}addAtCell(t,e,n){(e<0||e>=this.rows||n<0||n>=this.columns)&&console.warn(`warning: addAtCell() requested to add entity at row ${e}, column ${n}. This is outside the bounds of grid ${this.name}, which is size ${this.rows}x${this.columns}. Note that addAtCell() uses zero-based indexing. AddAtCell() will proceed, but may draw entities outside the grid`),this.gridChildren.push({entity:t,row:e,column:n}),this.needsInitialization=!0}removeAllAtCell(t,e){this.gridChildren=this.gridChildren.filter((n=>n.row!=t&&n.column!=e)),this.needsInitialization=!0}removeChild(t){if(!this.gridBackground)throw new Error("gridBackground is null or undefined");this.gridBackground.removeChild(t),this.gridChildren=this.gridChildren.filter((e=>e.entity!=t)),this.needsInitialization=!0}}class I extends E{constructor(t){super(t),this.compositeType="button",this._backgroundColor=w.RoyalBlue,this.size=new S(200,50),this.cornerRadius=9,this.fontSize=20,this.text="",this._fontColor=w.White,t.text&&(this.text=t.text),t.size&&(this.size=t.size),t.cornerRadius&&(this.cornerRadius=t.cornerRadius),t.fontSize&&(this.fontSize=t.fontSize),t.fontColor&&(this.fontColor=t.fontColor),t.backgroundColor&&(this.backgroundColor=t.backgroundColor)}initialize(){this.removeAllChildren(),this.backgroundPaint=new this.canvasKit.Paint,this.backgroundPaint.setColor(this.canvasKit.Color(this.backgroundColor[0],this.backgroundColor[1],this.backgroundColor[2],this.backgroundColor[3])),this.backgroundPaint.setStyle(this.canvasKit.PaintStyle.Fill);const t=new R({rect:new O({size:this.size}),cornerRadius:this.cornerRadius,fillColor:this._backgroundColor});this.addChild(t);const e=new B({text:this.text,fontSize:this.fontSize,fontColor:this.fontColor});t.addChild(e),this.needsInitialization=!1}get backgroundColor(){return this._backgroundColor}set backgroundColor(t){this._backgroundColor=t,this.needsInitialization=!0}get fontColor(){return this._fontColor}set fontColor(t){this._fontColor=t,this.needsInitialization=!0}update(){super.update()}draw(t){super.drawChildren(t)}}class D extends class{static Create(t){return new Array}}{static Create(t){const e=new Array;return t.instructionScenes.forEach(((n,r)=>{var i,o,a,s,l,u,c,h,f,y,m,v,b,C,A,T,P,_,x,E,O,R,L,D,W,z,j,G,N,U,H,V,Y,q;const X=null!==(o=null!==(i=n.nextSceneTransition)&&void 0!==i?i:t.nextSceneTransition)&&void 0!==o?o:F.push(d.left,500),$=null!==(s=null!==(a=n.backSceneTransition)&&void 0!==a?a:t.backSceneTransition)&&void 0!==s?s:F.push(d.right,500),Q=null!==(u=null!==(l=n.backButtonText)&&void 0!==l?l:t.backButtonText)&&void 0!==u?u:"Back",K=null!==(h=null!==(c=n.nextButtonText)&&void 0!==c?c:t.nextButtonText)&&void 0!==h?h:"Next",J=null!==(y=null!==(f=n.backButtonWidth)&&void 0!==f?f:t.backButtonWidth)&&void 0!==y?y:125,Z=null!==(v=null!==(m=n.nextButtonWidth)&&void 0!==m?m:t.nextButtonWidth)&&void 0!==v?v:125,tt=null!==(C=null!==(b=n.backButtonHeight)&&void 0!==b?b:t.backButtonHeight)&&void 0!==C?C:50,et=null!==(T=null!==(A=n.nextButtonHeight)&&void 0!==A?A:t.nextButtonHeight)&&void 0!==T?T:50,nt=null!==(P=n.backgroundColor)&&void 0!==P?P:t.backgroundColor,rt=null===(_=n.imageAboveText)||void 0===_||_,it=null!==(x=n.imageMarginTop)&&void 0!==x?x:0,ot=null!==(E=n.imageMarginBottom)&&void 0!==E?E:0,at=null!==(O=n.textMarginStart)&&void 0!==O?O:48,st=null!==(R=n.textMarginEnd)&&void 0!==R?R:48,lt=null!==(L=n.textAlignmentMode)&&void 0!==L?L:g.left,ut=null!==(D=n.textFontSize)&&void 0!==D?D:16,ct=null!==(W=n.titleFontSize)&&void 0!==W?W:16,ht=null!==(z=n.titleMarginTop)&&void 0!==z?z:48,ft=null!==(G=null!==(j=n.backButtonBackgroundColor)&&void 0!==j?j:t.backButtonBackgroundColor)&&void 0!==G?G:w.RoyalBlue,dt=null!==(U=null!==(N=n.backButtonFontColor)&&void 0!==N?N:t.backButtonFontColor)&&void 0!==U?U:w.White,pt=null!==(V=null!==(H=n.nextButtonBackgroundColor)&&void 0!==H?H:t.nextButtonBackgroundColor)&&void 0!==V?V:w.RoyalBlue,gt=null!==(q=null!==(Y=n.nextButtonFontColor)&&void 0!==Y?Y:t.nextButtonFontColor)&&void 0!==q?q:w.White,yt=new k({name:t.sceneNamePrefix+"-"+(r+1).toString().padStart(2,"0"),backgroundColor:nt});let mt,vt;if(void 0!==n.title&&(mt=new B({text:n.title,fontSize:ct,layout:{marginTop:ht,constraints:{topToTopOf:yt,startToStartOf:yt,endToEndOf:yt}}}),yt.addChild(mt)),void 0!==n.text&&(vt=new B({text:n.text,preferredMaxLayoutWidth:p.MATCH_CONSTRAINT,horizontalAlignmentMode:lt,fontSize:ut,layout:{marginStart:at,marginEnd:st,constraints:{topToTopOf:yt,bottomToBottomOf:yt,startToStartOf:yt,endToEndOf:yt,verticalBias:n.textVerticalBias}}}),yt.addChild(vt)),void 0!==n.image){let t;t=new M(void 0!==vt?rt?{imageName:n.image,layout:{marginBottom:ot,constraints:{bottomToTopOf:vt,startToStartOf:yt,endToEndOf:yt}}}:{imageName:n.image,layout:{marginTop:it,constraints:{topToBottomOf:vt,startToStartOf:yt,endToEndOf:yt}}}:{imageName:n.image,layout:{constraints:{topToTopOf:yt,bottomToBottomOf:yt,verticalBias:n.imageVerticalBias,startToStartOf:yt,endToEndOf:yt}}}),yt.addChild(t)}if(r>0){const e=new I({text:Q,fontColor:dt,backgroundColor:ft,size:new S(J,tt),layout:{marginStart:32,marginBottom:32,constraints:{bottomToBottomOf:yt,startToStartOf:yt}}});e.isUserInteractionEnabled=!0,e.onTapDown((()=>{yt.game.presentScene(t.sceneNamePrefix+"-"+(r+1-1).toString().padStart(2,"0"),$)})),yt.addChild(e)}const bt=new I({text:K,fontColor:gt,backgroundColor:pt,size:new S(Z,et),layout:{marginEnd:32,marginBottom:32,constraints:{bottomToBottomOf:yt,endToEndOf:yt}}});bt.isUserInteractionEnabled=!0,r!==t.instructionScenes.length-1?bt.onTapDown((()=>{yt.game.presentScene(t.sceneNamePrefix+"-"+(r+1+1).toString().padStart(2,"0"),X)})):void 0!==t.postInstructionsScene?bt.onTapDown((()=>{var e;yt.game.presentScene(null!==(e=t.postInstructionsScene)&&void 0!==e?e:"",X)})):console.warn("warning: instructions postInstructionsScene is not defined"),yt.addChild(bt),e.push(yt)})),e}}export{I as Button,L as Grid,D as Instructions};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@m2c2kit/addons",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "Additions to m2c2kit core functionalty, such as button, grid, and instructions",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"license": "MIT",
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@m2c2kit/core": "0.1.
|
|
22
|
+
"@m2c2kit/core": "0.1.8"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@rollup/plugin-babel": "5.3.0",
|