dbxlite-ui 0.2.0 → 0.3.1
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/assets/assets/argon2-Ds2nOx5S.js +548 -0
- package/assets/assets/{argon2-VsC-m8hX.js → argon2-gAk7W4yq.js} +2 -2
- package/assets/assets/{cssMode-BwlhJ7iR.js → cssMode-DjCAhvCq.js} +1 -1
- package/assets/assets/{duckdb-browser-BSQM4t65.js → duckdb-browser-BX0LtQQW.js} +1 -1
- package/assets/assets/{freemarker2-BkjRLolx.js → freemarker2-CowYmQxk.js} +1 -1
- package/assets/assets/{handlebars-CBMLM90w.js → handlebars-CT3UT-Rw.js} +1 -1
- package/assets/assets/{html-CHZal9Bq.js → html-DiYJ0pIZ.js} +1 -1
- package/assets/assets/{htmlMode-C9GZl6CA.js → htmlMode-eiLVFLp-.js} +1 -1
- package/assets/assets/{javascript-3HFHugwg.js → javascript-CJ2lg7Wg.js} +1 -1
- package/assets/assets/{jsonMode-uH9DvT2S.js → jsonMode-CDh3j4hY.js} +1 -1
- package/assets/assets/{liquid-Ynp44jOk.js → liquid-SJpu3XRo.js} +1 -1
- package/assets/assets/main-CiZpADZR.css +1 -0
- package/assets/assets/{index-BZdWDIbu.js → main-D7VyIWiO.js} +28185 -20952
- package/assets/assets/{mdx-B0LCS-Lw.js → mdx-DAZ43DF4.js} +1 -1
- package/assets/assets/{monaco-editor-DbSHhIAW.js → monaco-editor-CbzSR0rd.js} +34 -49
- package/assets/assets/oauth-callback-BSauVj6P.js +1 -0
- package/assets/assets/oauth-constants-m7PlKcMR.js +1 -0
- package/assets/assets/{python-BLbP2FhE.js → python-Dp4JNWW2.js} +1 -1
- package/assets/assets/{razor-CrzRfK-c.js → razor-C5KN2PrG.js} +1 -1
- package/assets/assets/{react-vendor-CJNQXC79.js → react-vendor-B2Ij4Vfr.js} +2 -2
- package/assets/assets/{tsMode-B-o6MNSg.js → tsMode-C29B5Qai.js} +1 -1
- package/assets/assets/{typescript-nABxf5PW.js → typescript-OZh8Ppiv.js} +1 -1
- package/assets/assets/{worker-D4TW6ZaR.js → worker-D76K9Q9Q.js} +1 -1
- package/assets/assets/{xml-BOnVlNcs.js → xml-BevTyp2m.js} +1 -1
- package/assets/assets/{yaml-Yl61aKaY.js → yaml-DXNKOJL7.js} +1 -1
- package/assets/duckdb/duckdb-browser-blocking.mjs +14 -0
- package/assets/duckdb/duckdb-browser-coi.pthread.worker.js +14 -0
- package/assets/duckdb/duckdb-browser-coi.worker.js +14 -0
- package/assets/duckdb/duckdb-browser-eh.worker.js +14 -0
- package/assets/duckdb/duckdb-browser-mvp.worker.js +14 -0
- package/assets/duckdb/duckdb-browser.mjs +2 -0
- package/assets/duckdb/duckdb-coi.wasm +0 -0
- package/assets/duckdb/duckdb-eh.wasm +0 -0
- package/assets/duckdb/duckdb-mvp.wasm +0 -0
- package/assets/index.html +5 -4
- package/assets/oauth-callback.html +57 -0
- package/package.json +4 -2
- package/assets/assets/argon2-CtQQN5by.js +0 -531
- package/assets/assets/index-Bls2JT31.css +0 -1
- package/assets/duckdb/.gitignore +0 -8
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
var Sr=Object.create;var ke=Object.defineProperty;var hr=Object.getOwnPropertyDescriptor;var br=Object.getOwnPropertyNames;var Er=Object.getPrototypeOf,yr=Object.prototype.hasOwnProperty;var Lr=(E,e,r)=>e in E?ke(E,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):E[e]=r;var K=(E=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(E,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):E)(function(E){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+E+'" is not supported')});var re=(E,e)=>()=>(e||E((e={exports:{}}).exports,e),e.exports);var Ar=(E,e,r,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of br(e))!yr.call(E,n)&&n!==r&&ke(E,n,{get:()=>e[n],enumerable:!(t=hr(e,n))||t.enumerable});return E};var Te=(E,e,r)=>(r=E!=null?Sr(Er(E)):{},Ar(e||!E||!E.__esModule?ke(r,"default",{value:E,enumerable:!0}):r,E));var X=(E,e,r)=>(Lr(E,typeof e!="symbol"?e+"":e,r),r);var sr=re(()=>{});var or=re(()=>{});var _r=re((wt,Ae)=>{(function(){"use strict";var E="input is invalid type",e=typeof window=="object",r=e?window:{};r.JS_SHA256_NO_WINDOW&&(e=!1);var t=!e&&typeof self=="object",n=!r.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node&&process.type!="renderer";n?r=global:t&&(r=self);var a=!r.JS_SHA256_NO_COMMON_JS&&typeof Ae=="object"&&Ae.exports,o=typeof define=="function"&&define.amd,_=!r.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",l="0123456789abcdef".split(""),c=[-2147483648,8388608,32768,128],u=[24,16,8,0],d=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],f=["hex","array","digest","arrayBuffer"],p=[];(r.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(L){return Object.prototype.toString.call(L)==="[object Array]"}),_&&(r.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(L){return typeof L=="object"&&L.buffer&&L.buffer.constructor===ArrayBuffer});var m=function(L,F){return function(y){return new b(F,!0).update(y)[L]()}},v=function(L){var F=m("hex",L);n&&(F=g(F,L)),F.create=function(){return new b(L)},F.update=function(P){return F.create().update(P)};for(var y=0;y<f.length;++y){var D=f[y];F[D]=m(D,L)}return F},g=function(L,F){var y=sr(),D=or().Buffer,P=F?"sha224":"sha256",k;D.from&&!r.JS_SHA256_NO_BUFFER_FROM?k=D.from:k=function(T){return new D(T)};var x=function(T){if(typeof T=="string")return y.createHash(P).update(T,"utf8").digest("hex");if(T==null)throw new Error(E);return T.constructor===ArrayBuffer&&(T=new Uint8Array(T)),Array.isArray(T)||ArrayBuffer.isView(T)||T.constructor===D?y.createHash(P).update(k(T)).digest("hex"):L(T)};return x},S=function(L,F){return function(y,D){return new A(y,F,!0).update(D)[L]()}},h=function(L){var F=S("hex",L);F.create=function(P){return new A(P,L)},F.update=function(P,k){return F.create(P).update(k)};for(var y=0;y<f.length;++y){var D=f[y];F[D]=S(D,L)}return F};function b(L,F){F?(p[0]=p[16]=p[1]=p[2]=p[3]=p[4]=p[5]=p[6]=p[7]=p[8]=p[9]=p[10]=p[11]=p[12]=p[13]=p[14]=p[15]=0,this.blocks=p):this.blocks=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],L?(this.h0=3238371032,this.h1=914150663,this.h2=812702999,this.h3=4144912697,this.h4=4290775857,this.h5=1750603025,this.h6=1694076839,this.h7=3204075428):(this.h0=1779033703,this.h1=3144134277,this.h2=1013904242,this.h3=2773480762,this.h4=1359893119,this.h5=2600822924,this.h6=528734635,this.h7=1541459225),this.block=this.start=this.bytes=this.hBytes=0,this.finalized=this.hashed=!1,this.first=!0,this.is224=L}b.prototype.update=function(L){if(!this.finalized){var F,y=typeof L;if(y!=="string"){if(y==="object"){if(L===null)throw new Error(E);if(_&&L.constructor===ArrayBuffer)L=new Uint8Array(L);else if(!Array.isArray(L)&&(!_||!ArrayBuffer.isView(L)))throw new Error(E)}else throw new Error(E);F=!0}for(var D,P=0,k,x=L.length,T=this.blocks;P<x;){if(this.hashed&&(this.hashed=!1,T[0]=this.block,this.block=T[16]=T[1]=T[2]=T[3]=T[4]=T[5]=T[6]=T[7]=T[8]=T[9]=T[10]=T[11]=T[12]=T[13]=T[14]=T[15]=0),F)for(k=this.start;P<x&&k<64;++P)T[k>>>2]|=L[P]<<u[k++&3];else for(k=this.start;P<x&&k<64;++P)D=L.charCodeAt(P),D<128?T[k>>>2]|=D<<u[k++&3]:D<2048?(T[k>>>2]|=(192|D>>>6)<<u[k++&3],T[k>>>2]|=(128|D&63)<<u[k++&3]):D<55296||D>=57344?(T[k>>>2]|=(224|D>>>12)<<u[k++&3],T[k>>>2]|=(128|D>>>6&63)<<u[k++&3],T[k>>>2]|=(128|D&63)<<u[k++&3]):(D=65536+((D&1023)<<10|L.charCodeAt(++P)&1023),T[k>>>2]|=(240|D>>>18)<<u[k++&3],T[k>>>2]|=(128|D>>>12&63)<<u[k++&3],T[k>>>2]|=(128|D>>>6&63)<<u[k++&3],T[k>>>2]|=(128|D&63)<<u[k++&3]);this.lastByteIndex=k,this.bytes+=k-this.start,k>=64?(this.block=T[16],this.start=k-64,this.hash(),this.hashed=!0):this.start=k}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},b.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var L=this.blocks,F=this.lastByteIndex;L[16]=this.block,L[F>>>2]|=c[F&3],this.block=L[16],F>=56&&(this.hashed||this.hash(),L[0]=this.block,L[16]=L[1]=L[2]=L[3]=L[4]=L[5]=L[6]=L[7]=L[8]=L[9]=L[10]=L[11]=L[12]=L[13]=L[14]=L[15]=0),L[14]=this.hBytes<<3|this.bytes>>>29,L[15]=this.bytes<<3,this.hash()}},b.prototype.hash=function(){var L=this.h0,F=this.h1,y=this.h2,D=this.h3,P=this.h4,k=this.h5,x=this.h6,T=this.h7,C=this.blocks,M,G,H,U,R,V,j,N,ee,z,$;for(M=16;M<64;++M)R=C[M-15],G=(R>>>7|R<<25)^(R>>>18|R<<14)^R>>>3,R=C[M-2],H=(R>>>17|R<<15)^(R>>>19|R<<13)^R>>>10,C[M]=C[M-16]+G+C[M-7]+H<<0;for($=F&y,M=0;M<64;M+=4)this.first?(this.is224?(N=300032,R=C[0]-1413257819,T=R-150054599<<0,D=R+24177077<<0):(N=704751109,R=C[0]-210244248,T=R-1521486534<<0,D=R+143694565<<0),this.first=!1):(G=(L>>>2|L<<30)^(L>>>13|L<<19)^(L>>>22|L<<10),H=(P>>>6|P<<26)^(P>>>11|P<<21)^(P>>>25|P<<7),N=L&F,U=N^L&y^$,j=P&k^~P&x,R=T+H+j+d[M]+C[M],V=G+U,T=D+R<<0,D=R+V<<0),G=(D>>>2|D<<30)^(D>>>13|D<<19)^(D>>>22|D<<10),H=(T>>>6|T<<26)^(T>>>11|T<<21)^(T>>>25|T<<7),ee=D&L,U=ee^D&F^N,j=T&P^~T&k,R=x+H+j+d[M+1]+C[M+1],V=G+U,x=y+R<<0,y=R+V<<0,G=(y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10),H=(x>>>6|x<<26)^(x>>>11|x<<21)^(x>>>25|x<<7),z=y&D,U=z^y&L^ee,j=x&T^~x&P,R=k+H+j+d[M+2]+C[M+2],V=G+U,k=F+R<<0,F=R+V<<0,G=(F>>>2|F<<30)^(F>>>13|F<<19)^(F>>>22|F<<10),H=(k>>>6|k<<26)^(k>>>11|k<<21)^(k>>>25|k<<7),$=F&y,U=$^F&D^z,j=k&x^~k&T,R=P+H+j+d[M+3]+C[M+3],V=G+U,P=L+R<<0,L=R+V<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+L<<0,this.h1=this.h1+F<<0,this.h2=this.h2+y<<0,this.h3=this.h3+D<<0,this.h4=this.h4+P<<0,this.h5=this.h5+k<<0,this.h6=this.h6+x<<0,this.h7=this.h7+T<<0},b.prototype.hex=function(){this.finalize();var L=this.h0,F=this.h1,y=this.h2,D=this.h3,P=this.h4,k=this.h5,x=this.h6,T=this.h7,C=l[L>>>28&15]+l[L>>>24&15]+l[L>>>20&15]+l[L>>>16&15]+l[L>>>12&15]+l[L>>>8&15]+l[L>>>4&15]+l[L&15]+l[F>>>28&15]+l[F>>>24&15]+l[F>>>20&15]+l[F>>>16&15]+l[F>>>12&15]+l[F>>>8&15]+l[F>>>4&15]+l[F&15]+l[y>>>28&15]+l[y>>>24&15]+l[y>>>20&15]+l[y>>>16&15]+l[y>>>12&15]+l[y>>>8&15]+l[y>>>4&15]+l[y&15]+l[D>>>28&15]+l[D>>>24&15]+l[D>>>20&15]+l[D>>>16&15]+l[D>>>12&15]+l[D>>>8&15]+l[D>>>4&15]+l[D&15]+l[P>>>28&15]+l[P>>>24&15]+l[P>>>20&15]+l[P>>>16&15]+l[P>>>12&15]+l[P>>>8&15]+l[P>>>4&15]+l[P&15]+l[k>>>28&15]+l[k>>>24&15]+l[k>>>20&15]+l[k>>>16&15]+l[k>>>12&15]+l[k>>>8&15]+l[k>>>4&15]+l[k&15]+l[x>>>28&15]+l[x>>>24&15]+l[x>>>20&15]+l[x>>>16&15]+l[x>>>12&15]+l[x>>>8&15]+l[x>>>4&15]+l[x&15];return this.is224||(C+=l[T>>>28&15]+l[T>>>24&15]+l[T>>>20&15]+l[T>>>16&15]+l[T>>>12&15]+l[T>>>8&15]+l[T>>>4&15]+l[T&15]),C},b.prototype.toString=b.prototype.hex,b.prototype.digest=function(){this.finalize();var L=this.h0,F=this.h1,y=this.h2,D=this.h3,P=this.h4,k=this.h5,x=this.h6,T=this.h7,C=[L>>>24&255,L>>>16&255,L>>>8&255,L&255,F>>>24&255,F>>>16&255,F>>>8&255,F&255,y>>>24&255,y>>>16&255,y>>>8&255,y&255,D>>>24&255,D>>>16&255,D>>>8&255,D&255,P>>>24&255,P>>>16&255,P>>>8&255,P&255,k>>>24&255,k>>>16&255,k>>>8&255,k&255,x>>>24&255,x>>>16&255,x>>>8&255,x&255];return this.is224||C.push(T>>>24&255,T>>>16&255,T>>>8&255,T&255),C},b.prototype.array=b.prototype.digest,b.prototype.arrayBuffer=function(){this.finalize();var L=new ArrayBuffer(this.is224?28:32),F=new DataView(L);return F.setUint32(0,this.h0),F.setUint32(4,this.h1),F.setUint32(8,this.h2),F.setUint32(12,this.h3),F.setUint32(16,this.h4),F.setUint32(20,this.h5),F.setUint32(24,this.h6),this.is224||F.setUint32(28,this.h7),L};function A(L,F,y){var D,P=typeof L;if(P==="string"){var k=[],x=L.length,T=0,C;for(D=0;D<x;++D)C=L.charCodeAt(D),C<128?k[T++]=C:C<2048?(k[T++]=192|C>>>6,k[T++]=128|C&63):C<55296||C>=57344?(k[T++]=224|C>>>12,k[T++]=128|C>>>6&63,k[T++]=128|C&63):(C=65536+((C&1023)<<10|L.charCodeAt(++D)&1023),k[T++]=240|C>>>18,k[T++]=128|C>>>12&63,k[T++]=128|C>>>6&63,k[T++]=128|C&63);L=k}else if(P==="object"){if(L===null)throw new Error(E);if(_&&L.constructor===ArrayBuffer)L=new Uint8Array(L);else if(!Array.isArray(L)&&(!_||!ArrayBuffer.isView(L)))throw new Error(E)}else throw new Error(E);L.length>64&&(L=new b(F,!0).update(L).array());var M=[],G=[];for(D=0;D<64;++D){var H=L[D]||0;M[D]=92^H,G[D]=54^H}b.call(this,F,y),this.update(G),this.oKeyPad=M,this.inner=!0,this.sharedMemory=y}A.prototype=new b,A.prototype.finalize=function(){if(b.prototype.finalize.call(this),this.inner){this.inner=!1;var L=this.array();b.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(L),b.prototype.finalize.call(this)}};var w=v();w.sha256=w,w.sha224=v(!0),w.sha256.hmac=h(),w.sha224.hmac=h(!0),a?Ae.exports=w:(r.sha256=w.sha256,r.sha224=w.sha224,o&&define(function(){return w}))})()});var ue=re(()=>{});var de=re(()=>{});var je=re(()=>{});var fe=re((jt,fr)=>{"use strict";fr.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}});var pr=re((exports,module)=>{"use strict";var DuckDB=(()=>{var E;var _scriptName=typeof document<"u"?(E=document.currentScript)==null?void 0:E.src:void 0;return typeof __filename<"u"&&(_scriptName=_scriptName||__filename),function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,r)=>{readyPromiseResolve=e,readyPromiseReject=r}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER,moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,r)=>{throw r},scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=ue(),nodePath=de();scriptDirectory=__dirname+"/",readBinary=e=>{e=isFileURI(e)?new URL(e):nodePath.normalize(e);var r=fs.readFileSync(e);return r},readAsync=(e,r=!0)=>(e=isFileURI(e)?new URL(e):nodePath.normalize(e),new Promise((t,n)=>{fs.readFile(e,r?void 0:"utf8",(a,o)=>{a?n(a):t(r?o.buffer:o)})})),!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=(e,r)=>{throw process.exitCode=e,r}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),readAsync=e=>fetch(e,{credentials:"same-origin"}).then(r=>r.ok?r.arrayBuffer():Promise.reject(new Error(r.status+" : "+r.url))));var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary,wasmMemory,ABORT=!1,EXITSTATUS;function assert(e,r){e||abort(r)}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:65536})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){var r;runDependencies++,(r=Module.monitorRunDependencies)==null||r.call(Module,runDependencies)}function removeRunDependency(e){var t;if(runDependencies--,(t=Module.monitorRunDependencies)==null||t.call(Module,runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}function abort(e){var t;(t=Module.onAbort)==null||t.call(Module,e),e="Aborted("+e+")",err(e),ABORT=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw readyPromiseReject(r),r}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://");function findWasmBinary(){var e="./duckdb-mvp.wasm";return isDataURI(e)?e:locateFile(e)}var wasmBinaryFile;function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(e){return wasmBinary?Promise.resolve().then(()=>getBinarySync(e)):readAsync(e).then(r=>new Uint8Array(r),()=>getBinarySync(e))}function instantiateArrayBuffer(e,r,t){return getBinaryPromise(e).then(n=>WebAssembly.instantiate(n,r)).then(t,n=>{err("failed to asynchronously prepare wasm: ".concat(n)),abort(n)})}function instantiateAsync(e,r,t,n){return!e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(r)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"?fetch(r,{credentials:"same-origin"}).then(a=>{var o=WebAssembly.instantiateStreaming(a,t);return o.then(n,function(_){return err("wasm streaming compile failed: ".concat(_)),err("falling back to ArrayBuffer instantiation"),instantiateArrayBuffer(r,t,n)})}):instantiateArrayBuffer(r,t,n)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}function createWasm(){var e=getWasmImports();function r(n,a){wasmExports=n.exports,wasmExports=relocateExports(wasmExports,1024);var o=getDylinkMetadata(a);return o.neededDynlibs&&(dynamicLibraries=o.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),wasmExports=applySignatureConversions(wasmExports),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}addRunDependency("wasm-instantiate");function t(n){r(n.instance,n.module)}if(Module.instantiateWasm)try{return Module.instantiateWasm(e,r)}catch(n){err("Module.instantiateWasm callback failed with error: ".concat(n)),readyPromiseReject(n)}return wasmBinaryFile!=null||(wasmBinaryFile=findWasmBinary()),instantiateAsync(wasmBinary,wasmBinaryFile,e,t).catch(readyPromiseReject),{}}var tempDouble,tempI64,ASM_CONSTS={2428856:(e,r,t,n)=>{var a=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let o=new XMLHttpRequest;o.open(UTF8ToString(n),a,!1),o.responseType="arraybuffer";for(var _=0,f=r;_<f*2;){var l=HEAP32[t/4+_>>>0],c=HEAP32[t/4+_+1>>>0];try{var u=encodeURI(UTF8ToString(l));u==="Host"&&(u="X-Host-Override"),u==="User-Agent"&&(u="X-user-agent"),u==="Authorization"?o.setRequestHeader(u,UTF8ToString(c)):o.setRequestHeader(u,encodeURI(UTF8ToString(c)))}catch(S){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",S)}_+=2}try{o.send(null)}catch(S){return 0}if(o.status>=400)return 0;for(var d=o.response,f=d.byteLength,p=_malloc(f+4),m=new Uint8Array(d),v=0;v<f;v++)Module.HEAPU8[v+p+4]=m[v];var g=new Uint8Array(4);return g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p),p},2430263:(e,r,t,n,a,o)=>{var _=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let l=new XMLHttpRequest;l.open(UTF8ToString(n),_,!1),l.responseType="arraybuffer";for(var c=0,g=r;c<g*2;){var u=HEAP32[t/4+c>>>0],d=HEAP32[t/4+c+1>>>0];try{var f=encodeURI(UTF8ToString(u));f==="Host"&&(f="X-Host-Override"),f==="User-Agent"&&(f="X-user-agent"),f==="Authorization"?l.setRequestHeader(f,UTF8ToString(d)):l.setRequestHeader(f,encodeURI(UTF8ToString(d)))}catch(A){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",A)}c+=2}try{for(var p=new Uint8Array(o),m=0;m<o;m++)p[m]=Module.HEAPU8[m+a];l.send(p)}catch(A){return 0}if(l.status>=400)return 0;for(var v=Uint8Array.from(Array.from(l.getResponseHeader("Etag")).map(A=>A.charCodeAt(0))),g=v.byteLength,S=_malloc(g+4),h=new Uint8Array(v),m=0;m<g;m++)Module.HEAPU8[m+S+4]=h[m];var b=new Uint8Array(4);return b[0]=g%256,g-=b[0],g/=256,b[1]=g%256,g-=b[1],g/=256,b[2]=g%256,g-=b[2],g/=256,b[3]=g%256,g-=b[3],g/=256,Module.HEAPU8.set(b,S),S},2431883:(e,r,t,n)=>{var a=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let o=new XMLHttpRequest;o.open(UTF8ToString(n),a,!1),o.responseType="arraybuffer";for(var _=0,f=r;_<f*2;){var l=HEAP32[t/4+_>>>0],c=HEAP32[t/4+_+1>>>0];try{var u=encodeURI(UTF8ToString(l));u==="Host"&&(u="X-Host-Override"),u==="User-Agent"&&(u="X-user-agent"),u==="Authorization"?o.setRequestHeader(u,UTF8ToString(c)):o.setRequestHeader(u,encodeURI(UTF8ToString(c)))}catch(b){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",b)}_+=2}try{o.send(null)}catch(b){return 0}if(o.status>=400)return 0;for(var d=o.response,f=d.byteLength,p=_malloc(f+8),m=new Uint8Array(d),v=0;v<f;v++)Module.HEAPU8[v+p+8]=m[v];var g=new Uint8Array(4);g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p+4);var S=Uint8Array.from(Array.from(o.getAllResponseHeaders()).map(b=>b.charCodeAt(0)));f=S.byteLength;for(var h=_malloc(f+8),v=0;v<f;v++)Module.HEAPU8[v+h+8]=S[v];return g=new Uint8Array(4),g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,h+4),f=h,g=new Uint8Array(4),g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p),p},2434167:(e,r,t,n)=>{var a=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let o=new XMLHttpRequest;o.open(UTF8ToString(n),a,!1),o.responseType="arraybuffer";for(var _=0,f=r;_<f*2;){var l=HEAP32[t/4+_>>>0],c=HEAP32[t/4+_+1>>>0];try{var u=encodeURI(UTF8ToString(l));u==="Host"&&(u="X-Host-Override"),u==="User-Agent"&&(u="X-user-agent"),u==="Authorization"?o.setRequestHeader(u,UTF8ToString(c)):o.setRequestHeader(u,encodeURI(UTF8ToString(c)))}catch(S){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",S)}_+=2}try{o.send(null)}catch(S){return 0}if(o.status>=400)return 0;for(var d=o.response,f=d.byteLength,p=_malloc(f+4),m=new Uint8Array(d),v=0;v<f;v++)Module.HEAPU8[v+p+4]=m[v];var g=new Uint8Array(4);return g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p),p},2435574:(e,r,t,n,a,o)=>{var _=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let l=new XMLHttpRequest;l.open(UTF8ToString(n),_,!1),l.responseType="arraybuffer";for(var c=0,g=r;c<g*2;){var u=HEAP32[t/4+c>>>0],d=HEAP32[t/4+c+1>>>0];try{var f=encodeURI(UTF8ToString(u));f==="Host"&&(f="X-Host-Override"),f==="User-Agent"&&(f="X-user-agent"),f==="Authorization"?l.setRequestHeader(f,UTF8ToString(d)):l.setRequestHeader(f,encodeURI(UTF8ToString(d)))}catch(A){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",A)}c+=2}try{for(var p=new Uint8Array(o),m=0;m<o;m++)p[m]=Module.HEAPU8[m+a];l.send(p)}catch(A){return 0}if(l.status>=400)return 0;for(var v=l.response,g=v.byteLength,S=_malloc(g+4),h=new Uint8Array(v),m=0;m<g;m++)Module.HEAPU8[m+S+4]=h[m];var b=new Uint8Array(4);return b[0]=g%256,g-=b[0],g/=256,b[1]=g%256,g-=b[1],g/=256,b[2]=g%256,g-=b[2],g/=256,b[3]=g%256,g-=b[3],g/=256,Module.HEAPU8.set(b,S),S},2437112:(e,r)=>{var t=typeof runtime=="object"&&runtime&&typeof runtime.whereToLoad=="function"&&runtime.whereToLoad?runtime.whereToLoad(UTF8ToString(e)):UTF8ToString(r),n=lengthBytesUTF8(t)+1,a=_malloc(n);return stringToUTF8(t,a,n),a},2437478:(e,r)=>{var t=UTF8ToString(e);if(typeof XMLHttpRequest>"u"){let h=je(),b=de(),A=ue();var n=t.split("/"),a=n.length,o=b.join(h.homedir(),".duckdb/extensions/"+n[a-4]+"/"+n[a-3]+"/"+n[a-2]+"/"),_=b.join(o,n[a-1]);try{if(A.existsSync(o)||A.mkdirSync(o,{recursive:!0}),A.existsSync(_))u=A.readFileSync(_);else{let w=new Int32Array(new SharedArrayBuffer(8));var l=K("node:worker_threads").Worker,c=new l("const {Worker,isMainThread,parentPort,workerData,} = require('node:worker_threads');var times = 0;var SAB = 23;var Z = 0; async function ZZZ(e) {var x = await fetch(e);var res = await x.arrayBuffer();Atomics.store(SAB, 1, res.byteLength);Atomics.store(SAB, 0, 1);Atomics.notify(SAB, 1);Atomics.notify(SAB, 0);Z = res;};parentPort.on('message', function(event) {if (times == 0) {times++;SAB = event;} else if (times == 1) {times++; ZZZ(event);} else {const a = new Uint8Array(Z);const b = new Uint8Array(event.buffer);var K = Z.byteLength;for (var i = 0; i < K; i++) {b[i] = a[i];}Atomics.notify(event, 0);Atomics.store(SAB, 0, 2);Atomics.notify(SAB, 0);}});",{eval:!0}),u;w[0]=0,w[2]=4,c.postMessage(w),c.postMessage(t),Atomics.wait(w,0,0);let L=new Int32Array(new SharedArrayBuffer(w[1]+3-(w[1]+3)%4));c.postMessage(L),Atomics.wait(w,0,1);var d=new Uint8Array(L.buffer,0,w[1]);u=d,c.terminate(),A.writeFileSync(_,u)}}catch(w){return console.log("Error fetching module",w),0}}else{let h=new XMLHttpRequest;if(h.open("GET",t,!1),h.responseType="arraybuffer",h.send(null),h.status!=200)return 0;u=h.response}for(var f=WebAssembly.validate(u),p=u.byteLength,m=_malloc(p+4),v=new Uint8Array(u),g=0;g<p;g++)Module.HEAPU8[g+m+4]=v[g];var S=new Uint8Array(4);return S[0]=p%256,p-=S[0],p/=256,S[1]=p%256,p-=S[1],p/=256,S[2]=p%256,p-=S[2],p/=256,S[3]=p%256,p-=S[3],p/=256,Module.HEAPU8.set(S,m),FS.writeFile(UTF8ToString(r),new Uint8Array(u)),m},2440119:e=>{if(!e)return AL.alcErr=40964,1},2440167:e=>{if(!AL.currentCtx)return err("alGetProcAddress() called without a valid context"),1;if(!e)return AL.currentCtx.err=40963,1}};class ExitStatus{constructor(r){X(this,"name","ExitStatus");this.message="Program terminated with exit(".concat(r,")"),this.status=r}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,r){var t=GOT[r];return t||(t=GOT[r]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(r)||(t.required=!0),t}},callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(e,r=0,t=NaN)=>{r>>>=0;for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(r,a));for(var o="";r<a;){var _=e[r++];if(!(_&128)){o+=String.fromCharCode(_);continue}var l=e[r++]&63;if((_&224)==192){o+=String.fromCharCode((_&31)<<6|l);continue}var c=e[r++]&63;if((_&240)==224?_=(_&15)<<12|l<<6|c:_=(_&7)<<18|l<<12|c<<6|e[r++]&63,_<65536)o+=String.fromCharCode(_);else{var u=_-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},getDylinkMetadata=e=>{var r=0,t=0;function n(){return e[r++]}function a(){for(var C=0,M=1;;){var G=e[r++];if(C+=(G&127)*M,M*=128,!(G&128))break}return C}function o(){var C=a();return r+=C,UTF8ArrayToString(e,r-C,C)}function _(C,M){if(C)throw new Error(M)}var l="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,l);c.length===0&&(l="dylink",c=WebAssembly.Module.customSections(e,l)),_(c.length===0,"need dylink section"),e=new Uint8Array(c[0]),t=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),d=u[0]==1836278016;_(!d,"need to see wasm magic number"),_(e[8]!==0,"need the dylink section to be first"),r=9;var f=a();t=r+f,l=o()}var p={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(l=="dylink"){p.memorySize=a(),p.memoryAlign=a(),p.tableSize=a(),p.tableAlign=a();for(var m=a(),v=0;v<m;++v){var g=o();p.neededDynlibs.push(g)}}else{_(l!=="dylink.0");for(var S=1,h=2,b=3,A=4,w=256,L=3,F=1;r<t;){var y=n(),D=a();if(y===S)p.memorySize=a(),p.memoryAlign=a(),p.tableSize=a(),p.tableAlign=a();else if(y===h)for(var m=a(),v=0;v<m;++v)g=o(),p.neededDynlibs.push(g);else if(y===b)for(var P=a();P--;){var k=o(),x=a();x&w&&p.tlsExports.add(k)}else if(y===A)for(var P=a();P--;){var T=o(),k=o(),x=a();(x&L)==F&&p.weakImports.add(k)}else r+=D}}return p};function getValue(e,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":return HEAP8[e>>>0];case"i8":return HEAP8[e>>>0];case"i16":return HEAP16[e>>>1>>>0];case"i32":return HEAP32[e>>>2>>>0];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[e>>>2>>>0];case"double":return HEAPF64[e>>>3>>>0];case"*":return HEAPU32[e>>>2>>>0];default:abort("invalid type for getValue: ".concat(r))}}var newDSO=(e,r,t)=>{var n={refcount:1/0,name:e,exports:t,global:!0};return LDSO.loadedLibsByName[e]=n,r!=null&&(LDSO.loadedLibsByHandle[r]=n),n},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=3570224,alignMemory=(e,r)=>Math.ceil(e/r)*r,getMemory=e=>{if(runtimeInitialized)return _calloc(e,1);var r=___heap_base,t=r+alignMemory(e,16);return ___heap_base=t,GOT.__heap_base.value=t,r},isInternalSym=e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),uleb128Encode=(e,r)=>{e<128?r.push(e):r.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var r={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:e[0]=="v"?[]:[r[e[0]]]},n=1;n<e.length;++n)t.parameters.push(r[e[n]]);return t},generateFuncType=(e,r)=>{var t=e.slice(0,1),n=e.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),uleb128Encode(n.length,r);for(var o=0;o<n.length;++o)r.push(a[n[o]]);t=="v"?r.push(0):r.push(1,a[t])},convertJsFunctionToWasm=(e,r)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(r),e);var t=[1];generateFuncType(r,t);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n)),o=new WebAssembly.Instance(a,{e:{f:e}}),_=o.exports.f;return _},wasmTable=new WebAssembly.Table({initial:42171,element:"anyfunc"}),getWasmTableEntry=e=>wasmTable.get(e),updateTableMap=(e,r)=>{if(functionsInTableMap)for(var t=e;t<e+r;t++){var n=getWasmTableEntry(t);n&&functionsInTableMap.set(n,t)}},functionsInTableMap,getFunctionAddress=e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){throw e instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":e}return wasmTable.length-1},setWasmTableEntry=(e,r)=>wasmTable.set(e,r),addFunction=(e,r)=>{var t=getFunctionAddress(e);if(t)return t;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(o){if(!(o instanceof TypeError))throw o;var a=convertJsFunctionToWasm(e,r);setWasmTableEntry(n,a)}return functionsInTableMap.set(e,n),n},updateGOT=(e,r)=>{for(var t in e)if(!isInternalSym(t)){var n=e[t];t.startsWith("orig$")&&(t=t.split("$")[1],r=!0),GOT[t]||(GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),(r||GOT[t].value==0)&&(typeof n=="function"?GOT[t].value=addFunction(n):typeof n=="number"?GOT[t].value=n:err("unhandled export type for '".concat(t,"': ").concat(typeof n)))}},relocateExports=(e,r,t)=>{var n={};for(var a in e){var o=e[a];typeof o=="object"&&(o=o.value),typeof o=="number"&&(o+=r),n[a]=o}return updateGOT(n,t),n},isSymbolDefined=e=>{var r=wasmImports[e];return!(!r||r.stub)},setTempRet0=e=>__emscripten_tempret_set(e),_setTempRet0=setTempRet0;Module._setTempRet0=_setTempRet0;var createDyncallWrapper=e=>{var r=[],t=[0,97,115,109,1,0,0,0];r.push(t);var n=[e[0].replace("j","i"),"i",e.slice(1).replace(/j/g,"ii")].join(""),a=[3];generateFuncType(n,a),generateFuncType(e,a),generateFuncType("vi",a);var o=[1];uleb128Encode(a.length,o),o.push(...a),r.push(o);var _=[2,15,2,1,101,1,116,1,112,0,0,1,101,1,114,0,2];r.push(_);var l=[3,2,1,0];r.push(l);var c=[7,5,1,1,102,0,1];r.push(c);var u=[];e[0]==="j"?u=[1,1,126]:u.push(0);function d(A){u.push(32),uleb128Encode(A,u)}for(var f=1,p=1;p<e.length;p++)e[p]=="j"?(d(f+1),u.push(173,66,32,134),d(f),u.push(172,132),f+=2):(d(f),f++);u.push(32,0,17,1,0),e[0]==="j"&&(u.push(34),uleb128Encode(f,u),u.push(66,32,136,167,16,0),d(f),u.push(167)),u.push(11);var m=[1];uleb128Encode(u.length,m),m.push(...u);var v=[10];uleb128Encode(m.length,v),v.push(...m),r.push(v);var g=new Uint8Array([].concat.apply([],r)),S=new WebAssembly.Module(g),h=new WebAssembly.Instance(S,{e:{t:wasmTable,r:setTempRet0}}),b=h.exports.f;return b},dynCallLegacy=(e,r,t)=>{e=e.replace(/p/g,"i"),"dynCall_"+e in Module||(Module["dynCall_"+e]=createDyncallWrapper(e));var n=Module["dynCall_"+e];return n(r,...t)},dynCall=(e,r,t=[])=>{if(e.includes("j"))return dynCallLegacy(e,r,t);var n=getWasmTableEntry(r)(...t);return e[0]=="p"?n>>>0:n},stackSave=()=>_emscripten_stack_get_current(),stackRestore=e=>__emscripten_stack_restore(e),createInvokeFunction=e=>(r,...t)=>{var n=stackSave();try{return dynCall(e,r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}},resolveGlobalSymbol=(e,r=!1)=>{var t;return r&&"orig$"+e in wasmImports&&(e="orig$"+e),isSymbolDefined(e)?t=wasmImports[e]:e.startsWith("invoke_")?t=wasmImports[e]=createInvokeFunction(e.split("_")[1]):e.startsWith("__cxa_find_matching_catch_")&&(t=wasmImports[e]=(...n)=>{var a=findMatchingCatch(n);return a}),{sym:t,name:e}},UTF8ToString=(e,r)=>(e>>>=0,e?UTF8ArrayToString(HEAPU8,e,r):""),loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8>>>0];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8>>>0]=1,HEAPU32[handle+12>>>2>>>0]=memoryBase,HEAP32[handle+16>>>2>>>0]=metadata.memorySize,HEAPU32[handle+20>>>2>>>0]=tableBase,HEAP32[handle+24>>>2>>>0]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>>2>>>0],tableBase=HEAPU32[handle+20>>>2>>>0];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(e){var r=resolveGlobalSymbol(e).sym;return!r&&localScope&&(r=localScope[e]),r||(r=moduleExports[e]),r}var proxyHandler={get(e,r){if(r.startsWith("invoke_"))return createDyncallWrapper(r.substring(7));switch(r){case"__memory_base":return memoryBase;case"getTempRet0":return getTempRet0;case"__table_base":return tableBase}if(r in wasmImports&&!wasmImports[r].stub)return wasmImports[r];if(!(r in e)){var t;e[r]=(...n)=>(t||(t=resolveSymbol(r)),t(...n))}return e[r]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func="(".concat(args,") => { ").concat(body," };");ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}}var func="(".concat(jsArgs,") => ").concat(body,";");moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},mergeLibSymbols=(e,r)=>{registerDynCallSymbols(e);for(var[t,n]of Object.entries(e))(o=>{isSymbolDefined(o)||(wasmImports[o]=n)})(t)},asyncLoad=(e,r,t,n)=>{var a=n?"":"al ".concat(e);readAsync(e).then(o=>{r(new Uint8Array(o)),a&&removeRunDependency(a)},o=>{if(t)t();else throw'Loading data file "'.concat(e,'" failed.')}),a&&addRunDependency(a)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var e={promiseChainEnd:Promise.resolve(),canHandle:r=>!Module.noWasmDecoding&&r.endsWith(".so"),handle:(r,t,n,a)=>{e.promiseChainEnd=e.promiseChainEnd.then(()=>loadWebAssemblyModule(r,{loadAsync:!0,nodelete:!0},t,{})).then(o=>{preloadedWasm[t]=o,n(r)},o=>{err("failed to instantiate wasm: ".concat(t,": ").concat(o)),a()})}};preloadPlugins.push(e)},preloadedWasm={},registerDynCallSymbols=e=>{for(var[r,t]of Object.entries(e))r.startsWith("dynCall_")&&!Module.hasOwnProperty(r)&&(Module[r]=t)};function loadDynamicLibrary(e,r={global:!0,nodelete:!0},t,n){var a=LDSO.loadedLibsByName[e];if(a)return r.global?a.global||(a.global=!0,mergeLibSymbols(a.exports,e)):(t&&Object.assign(t,a.exports),registerDynCallSymbols(a.exports)),r.nodelete&&a.refcount!==1/0&&(a.refcount=1/0),a.refcount++,n&&(LDSO.loadedLibsByHandle[n]=a),r.loadAsync?Promise.resolve(!0):!0;a=newDSO(e,n,"loading"),a.refcount=r.nodelete?1/0:1,a.global=r.global;function o(){if(n){var c=HEAPU32[n+28>>>2>>>0],u=HEAPU32[n+32>>>2>>>0];if(c&&u){var d=HEAP8.slice(c,c+u);return r.loadAsync?Promise.resolve(d):d}}var f=locateFile(e);if(r.loadAsync)return new Promise((p,m)=>asyncLoad(f,p,m));if(!readBinary)throw new Error("".concat(f,": file not found, and synchronous loading of external files is not available"));return readBinary(f)}function _(){var c=preloadedWasm[e];return c?r.loadAsync?Promise.resolve(c):c:r.loadAsync?o().then(u=>loadWebAssemblyModule(u,r,e,t,n)):loadWebAssemblyModule(o(),r,e,t,n)}function l(c){a.global?mergeLibSymbols(c,e):t&&(Object.assign(t,c),registerDynCallSymbols(c)),a.exports=c}return r.loadAsync?_().then(c=>(l(c),!0)):(l(_()),!0)}var reportUndefinedSymbols=()=>{for(var[e,r]of Object.entries(GOT))if(r.value==0){var t=resolveGlobalSymbol(e,!0).sym;if(!t&&!r.required)continue;if(typeof t=="function")r.value=addFunction(t,t.sig);else if(typeof t=="number")r.value=t;else throw new Error("bad export type for '".concat(e,"': ").concat(typeof t))}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})},noExitRuntime=Module.noExitRuntime||!0;function setValue(e,r,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":HEAP8[e>>>0]=r;break;case"i8":HEAP8[e>>>0]=r;break;case"i16":HEAP16[e>>>1>>>0]=r;break;case"i32":HEAP32[e>>>2>>>0]=r;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[e>>>2>>>0]=r;break;case"double":HEAPF64[e>>>3>>>0]=r;break;case"*":HEAPU32[e>>>2>>>0]=r;break;default:abort("invalid type for setValue: ".concat(t))}}var convertI32PairToI53Checked=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+r*4294967296:NaN;function ___assert_fail(e,r,t,n){e>>>=0,r>>>=0,n>>>=0,abort("Assertion failed: ".concat(UTF8ToString(e),", at: ")+[r?UTF8ToString(r):"unknown filename",t,n?UTF8ToString(n):"unknown function"])}___assert_fail.sig="vppip";function ___call_sighandler(e,r){return e>>>=0,getWasmTableEntry(e)(r)}___call_sighandler.sig="vpi";var exceptionCaught=[],uncaughtExceptionCount=0;function ___cxa_begin_catch(e){e>>>=0;var r=new ExceptionInfo(e);return r.get_caught()||(r.set_caught(!0),uncaughtExceptionCount--),r.set_rethrown(!1),exceptionCaught.push(r),___cxa_increment_exception_refcount(e),___cxa_get_exception_ptr(e)}___cxa_begin_catch.sig="pp";function ___cxa_current_primary_exception(){if(!exceptionCaught.length)return 0;var e=exceptionCaught[exceptionCaught.length-1];return ___cxa_increment_exception_refcount(e.excPtr),e.excPtr}___cxa_current_primary_exception.sig="p";var exceptionLast=0,___cxa_end_catch=()=>{_setThrew(0,0);var e=exceptionCaught.pop();___cxa_decrement_exception_refcount(e.excPtr),exceptionLast=0};___cxa_end_catch.sig="v";class ExceptionInfo{constructor(r){this.excPtr=r,this.ptr=r-24}set_type(r){HEAPU32[this.ptr+4>>>2>>>0]=r}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(r){HEAPU32[this.ptr+8>>>2>>>0]=r}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(r){r=r?1:0,HEAP8[this.ptr+12>>>0]=r}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(r){r=r?1:0,HEAP8[this.ptr+13>>>0]=r}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(r,t){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(t)}set_adjusted_ptr(r){HEAPU32[this.ptr+16>>>2>>>0]=r}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}}function ___resumeException(e){throw e>>>=0,exceptionLast||(exceptionLast=e),exceptionLast}___resumeException.sig="vp";var findMatchingCatch=e=>{var r=exceptionLast;if(!r)return setTempRet0(0),0;var t=new ExceptionInfo(r);t.set_adjusted_ptr(r);var n=t.get_type();if(!n)return setTempRet0(0),r;for(var a of e){if(a===0||a===n)break;var o=t.ptr+16;if(___cxa_can_catch(a,n,o))return setTempRet0(a),r}return setTempRet0(n),r};function ___cxa_find_matching_catch_2(){return findMatchingCatch([])}___cxa_find_matching_catch_2.sig="p";function ___cxa_find_matching_catch_3(e){return e>>>=0,findMatchingCatch([e])}___cxa_find_matching_catch_3.sig="pp";function ___cxa_find_matching_catch_4(e,r){return e>>>=0,r>>>=0,findMatchingCatch([e,r])}___cxa_find_matching_catch_4.sig="ppp";function ___cxa_find_matching_catch_5(e,r,t){return e>>>=0,r>>>=0,t>>>=0,findMatchingCatch([e,r,t])}___cxa_find_matching_catch_5.sig="pppp";var ___cxa_rethrow=()=>{var e=exceptionCaught.pop();e||abort("no exception to throw");var r=e.excPtr;throw e.get_rethrown()||(exceptionCaught.push(e),e.set_rethrown(!0),e.set_caught(!1),uncaughtExceptionCount++),exceptionLast=r,exceptionLast};___cxa_rethrow.sig="v";function ___cxa_rethrow_primary_exception(e){if(e>>>=0,!!e){var r=new ExceptionInfo(e);exceptionCaught.push(r),r.set_rethrown(!0),___cxa_rethrow()}}___cxa_rethrow_primary_exception.sig="vp";function ___cxa_throw(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=new ExceptionInfo(e);throw n.init(r,t),exceptionLast=e,uncaughtExceptionCount++,exceptionLast}___cxa_throw.sig="vppp";var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;___cxa_uncaught_exceptions.sig="i";var ___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_high=3570224,___stack_low=2521648,___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},3570224),PATH={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var a=e[n];a==="."?e.splice(n,1):a===".."?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=PATH.isAbs(e),t=e.substr(-1)==="/";return e=PATH.normalizeArray(e.split("/").filter(n=>!!n),!r).join("/"),!e&&!r&&(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=PATH.splitPath(e),t=r[0],n=r[1];return!t&&!n?".":(n&&(n=n.substr(0,n.length-1)),t+n)},basename:e=>{if(e==="/")return"/";e=PATH.normalize(e),e=e.replace(/\/$/,"");var r=e.lastIndexOf("/");return r===-1?e:e.substr(r+1)},join:(...e)=>PATH.normalize(e.join("/")),join2:(e,r)=>PATH.normalize(e+"/"+r)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return n=>crypto.getRandomValues(n);if(ENVIRONMENT_IS_NODE)try{var e=K("crypto"),r=e.randomFillSync;if(r)return n=>e.randomFillSync(n);var t=e.randomBytes;return n=>(n.set(t(n.byteLength)),n)}catch(n){}abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var a=n>=0?e[n]:FS.cwd();if(typeof a!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";r=a+"/"+r,t=PATH.isAbs(a)}return r=PATH.normalizeArray(r.split("/").filter(o=>!!o),!t).join("/"),(t?"/":"")+r||"."},relative:(e,r)=>{e=PATH_FS.resolve(e).substr(1),r=PATH_FS.resolve(r).substr(1);function t(u){for(var d=0;d<u.length&&u[d]==="";d++);for(var f=u.length-1;f>=0&&u[f]==="";f--);return d>f?[]:u.slice(d,f-d+1)}for(var n=t(e.split("/")),a=t(r.split("/")),o=Math.min(n.length,a.length),_=o,l=0;l<o;l++)if(n[l]!==a[l]){_=l;break}for(var c=[],l=_;l<n.length;l++)c.push("..");return c=c.concat(a.slice(_)),c.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r};Module.lengthBytesUTF8=lengthBytesUTF8;var stringToUTF8Array=(e,r,t,n)=>{if(t>>>=0,!(n>0))return 0;for(var a=t,o=t+n-1,_=0;_<e.length;++_){var l=e.charCodeAt(_);if(l>=55296&&l<=57343){var c=e.charCodeAt(++_);l=65536+((l&1023)<<10)|c&1023}if(l<=127){if(t>=o)break;r[t++>>>0]=l}else if(l<=2047){if(t+1>=o)break;r[t++>>>0]=192|l>>6,r[t++>>>0]=128|l&63}else if(l<=65535){if(t+2>=o)break;r[t++>>>0]=224|l>>12,r[t++>>>0]=128|l>>6&63,r[t++>>>0]=128|l&63}else{if(t+3>=o)break;r[t++>>>0]=240|l>>18,r[t++>>>0]=128|l>>12&63,r[t++>>>0]=128|l>>6&63,r[t++>>>0]=128|l&63}}return r[t>>>0]=0,t-a};function intArrayFromString(e,r,t){var n=t>0?t:lengthBytesUTF8(e)+1,a=new Array(n),o=stringToUTF8Array(e,a,0,a.length);return r&&(a.length=o),a}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if(ENVIRONMENT_IS_NODE){var r=256,t=Buffer.alloc(r),n=0,a=process.stdin.fd;try{n=fs.readSync(a,t,0,r)}catch(o){if(o.toString().includes("EOF"))n=0;else throw o}n>0&&(e=t.slice(0,n).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+="\n"));if(!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,r){TTY.ttys[e]={input:[],output:[],ops:r},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var r=TTY.ttys[e.node.rdev];if(!r)throw new FS.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,a){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var o=0,_=0;_<n;_++){var l;try{l=e.tty.ops.get_char(e.tty)}catch(c){throw new FS.ErrnoError(29)}if(l===void 0&&o===0)throw new FS.ErrnoError(6);if(l==null)break;o++,r[t+_]=l}return o&&(e.node.timestamp=Date.now()),o},write(e,r,t,n,a){if(!e.tty||!e.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var o=0;o<n;o++)e.tty.ops.put_char(e.tty,r[t+o])}catch(_){throw new FS.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char(e){return FS_stdin_getChar()},put_char(e,r){r===null||r===10?(out(UTF8ArrayToString(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,r,t){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(err(UTF8ArrayToString(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output)),e.output=[])}}},zeroMemory=(e,r)=>{HEAPU8.fill(0,e,e+r)},mmapAlloc=e=>{e=alignMemory(e,65536);var r=_emscripten_builtin_memalign(65536,e);return r&&zeroMemory(r,e),r},MEMFS={ops_table:null,mount(e){return MEMFS.createNode(null,"/",16895,0)},createNode(e,r,t,n){if(FS.isBlkdev(t)||FS.isFIFO(t))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var a=FS.createNode(e,r,t,n);return FS.isDir(a.mode)?(a.node_ops=MEMFS.ops_table.dir.node,a.stream_ops=MEMFS.ops_table.dir.stream,a.contents={}):FS.isFile(a.mode)?(a.node_ops=MEMFS.ops_table.file.node,a.stream_ops=MEMFS.ops_table.file.stream,a.usedBytes=0,a.contents=null):FS.isLink(a.mode)?(a.node_ops=MEMFS.ops_table.link.node,a.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(a.mode)&&(a.node_ops=MEMFS.ops_table.chrdev.node,a.stream_ops=MEMFS.ops_table.chrdev.stream),a.timestamp=Date.now(),e&&(e.contents[r]=a,e.timestamp=a.timestamp),a},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){var n=1024*1024;r=Math.max(r,t*(t<n?2:1.125)>>>0),t!=0&&(r=Math.max(r,256));var a=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(a.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=FS.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,FS.isDir(e.mode)?r.size=4096:FS.isFile(e.mode)?r.size=e.usedBytes:FS.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){r.mode!==void 0&&(e.mode=r.mode),r.timestamp!==void 0&&(e.timestamp=r.timestamp),r.size!==void 0&&MEMFS.resizeFileStorage(e,r.size)},lookup(e,r){throw FS.genericErrors[44]},mknod(e,r,t,n){return MEMFS.createNode(e,r,t,n)},rename(e,r,t){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(r,t)}catch(o){}if(n)for(var a in n.contents)throw new FS.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=FS.lookupNode(e,r);for(var n in t.contents)throw new FS.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=MEMFS.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,a){var o=e.node.contents;if(a>=e.node.usedBytes)return 0;var _=Math.min(e.node.usedBytes-a,n);if(_>8&&o.subarray)r.set(o.subarray(a,a+_),t);else for(var l=0;l<_;l++)r[t+l]=o[a+l];return _},write(e,r,t,n,a,o){if(r.buffer===HEAP8.buffer&&(o=!1),!n)return 0;var _=e.node;if(_.timestamp=Date.now(),r.subarray&&(!_.contents||_.contents.subarray)){if(o)return _.contents=r.subarray(t,t+n),_.usedBytes=n,n;if(_.usedBytes===0&&a===0)return _.contents=r.slice(t,t+n),_.usedBytes=n,n;if(a+n<=_.usedBytes)return _.contents.set(r.subarray(t,t+n),a),n}if(MEMFS.expandFileStorage(_,a+n),_.contents.subarray&&r.subarray)_.contents.set(r.subarray(t,t+n),a);else for(var l=0;l<n;l++)_.contents[a+l]=r[t+l];return _.usedBytes=Math.max(_.usedBytes,a+n),n},llseek(e,r,t){var n=r;if(t===1?n+=e.position:t===2&&FS.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new FS.ErrnoError(28);return n},allocate(e,r,t){MEMFS.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,a){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);var o,_,l=e.node.contents;if(!(a&2)&&l&&l.buffer===HEAP8.buffer)_=!1,o=l.byteOffset;else{if(_=!0,o=mmapAlloc(r),!o)throw new FS.ErrnoError(48);l&&((t>0||t+r<l.length)&&(l.subarray?l=l.subarray(t,t+r):l=Array.prototype.slice.call(l,t,t+r)),HEAP8.set(l,o>>>0))}return{ptr:o,allocated:_}},msync(e,r,t,n,a){return MEMFS.stream_ops.write(e,r,0,n,t,!1),0}}},FS_createDataFile=(e,r,t,n,a,o)=>{FS.createDataFile(e,r,t,n,a,o)},FS_handledByPreloadPlugin=(e,r,t,n)=>{typeof Browser<"u"&&Browser.init();var a=!1;return preloadPlugins.forEach(o=>{a||o.canHandle(r)&&(o.handle(e,r,t,n),a=!0)}),a},FS_createPreloadedFile=(e,r,t,n,a,o,_,l,c,u)=>{var d=r?PATH_FS.resolve(PATH.join2(e,r)):e,f="cp ".concat(d);function p(m){function v(g){u==null||u(),l||FS_createDataFile(e,r,g,n,a,c),o==null||o(),removeRunDependency(f)}FS_handledByPreloadPlugin(m,d,v,()=>{_==null||_(),removeRunDependency(f)})||v(m)}addRunDependency(f),typeof t=="string"?asyncLoad(t,p,_):p(t)},FS_modeStringToFlags=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},t=r[e];if(typeof t>"u")throw new Error("Unknown file open mode: ".concat(e));return t},FS_getMode=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){X(this,"name","ErrnoError");this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){X(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){X(this,"node_ops",{});X(this,"stream_ops",{});X(this,"readMode",365);X(this,"writeMode",146);X(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=FS.nextInode++,this.name=r,this.mode=t,this.rdev=n}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(e,r={}){if(e=PATH_FS.resolve(e),!e)return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};if(r=Object.assign(t,r),r.recurse_count>8)throw new FS.ErrnoError(32);for(var n=e.split("/").filter(f=>!!f),a=FS.root,o="/",_=0;_<n.length;_++){var l=_===n.length-1;if(l&&r.parent)break;if(a=FS.lookupNode(a,n[_]),o=PATH.join2(o,n[_]),FS.isMountpoint(a)&&(!l||l&&r.follow_mount)&&(a=a.mounted.root),!l||r.follow)for(var c=0;FS.isLink(a.mode);){var u=FS.readlink(o);o=PATH_FS.resolve(PATH.dirname(o),u);var d=FS.lookupPath(o,{recurse_count:r.recurse_count+1});if(a=d.node,c++>40)throw new FS.ErrnoError(32)}}return{path:o,node:a}},getPath(e){for(var r;;){if(FS.isRoot(e)){var t=e.mount.mountpoint;return r?t[t.length-1]!=="/"?"".concat(t,"/").concat(r):t+r:t}r=r?"".concat(e.name,"/").concat(r):e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%FS.nameTable.length},hashAddNode(e){var r=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[r],FS.nameTable[r]=e},hashRemoveNode(e){var r=FS.hashName(e.parent.id,e.name);if(FS.nameTable[r]===e)FS.nameTable[r]=e.name_next;else for(var t=FS.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=FS.mayLookup(e);if(t)throw new FS.ErrnoError(t);for(var n=FS.hashName(e.id,r),a=FS.nameTable[n];a;a=a.name_next){var o=a.name;if(a.parent.id===e.id&&o===r)return a}return FS.lookup(e,r)},createNode(e,r,t,n){var a=new FS.FSNode(e,r,t,n);return FS.hashAddNode(a),a},destroyNode(e){FS.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return FS.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!FS.isDir(e.mode))return 54;var r=FS.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{var t=FS.lookupNode(e,r);return 20}catch(n){}return FS.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=FS.lookupNode(e,r)}catch(o){return o.errno}var a=FS.nodePermissions(e,"wx");if(a)return a;if(t){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen(e,r){return e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&(FS.flagsToPermissionString(r)!=="r"||r&512)?31:FS.nodePermissions(e,FS.flagsToPermissionString(r)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var r=FS.getStream(e);if(!r)throw new FS.ErrnoError(8);return r},getStream:e=>FS.streams[e],createStream(e,r=-1){return e=Object.assign(new FS.FSStream,e),r==-1&&(r=FS.nextfd()),e.fd=r,FS.streams[r]=e,e},closeStream(e){FS.streams[e]=null},dupStream(e,r=-1){var n,a;var t=FS.createStream(e,r);return(a=(n=t.stream_ops)==null?void 0:n.dup)==null||a.call(n,t),t},chrdev_stream_ops:{open(e){var t,n;var r=FS.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,(n=(t=e.stream_ops).open)==null||n.call(t,e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){FS.devices[e]={stream_ops:r}},getDevice:e=>FS.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){typeof e=="function"&&(r=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err("warning: ".concat(FS.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var t=FS.getMounts(FS.root.mount),n=0;function a(_){return FS.syncFSRequests--,r(_)}function o(_){if(_)return o.errored?void 0:(o.errored=!0,a(_));++n>=t.length&&a(null)}t.forEach(_=>{if(!_.type.syncfs)return o(null);_.type.syncfs(_,e,o)})},mount(e,r,t){var n=t==="/",a=!t,o;if(n&&FS.root)throw new FS.ErrnoError(10);if(!n&&!a){var _=FS.lookupPath(t,{follow_mount:!1});if(t=_.path,o=_.node,FS.isMountpoint(o))throw new FS.ErrnoError(10);if(!FS.isDir(o.mode))throw new FS.ErrnoError(54)}var l={type:e,opts:r,mountpoint:t,mounts:[]},c=e.mount(l);return c.mount=l,l.root=c,n?FS.root=c:o&&(o.mounted=l,o.mount&&o.mount.mounts.push(l)),c},unmount(e){var r=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(r.node))throw new FS.ErrnoError(28);var t=r.node,n=t.mounted,a=FS.getMounts(n);Object.keys(FS.nameTable).forEach(_=>{for(var l=FS.nameTable[_];l;){var c=l.name_next;a.includes(l.mount)&&FS.destroyNode(l),l=c}}),t.mounted=null;var o=t.mount.mounts.indexOf(n);t.mount.mounts.splice(o,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,t){var n=FS.lookupPath(e,{parent:!0}),a=n.node,o=PATH.basename(e);if(!o||o==="."||o==="..")throw new FS.ErrnoError(28);var _=FS.mayCreate(a,o);if(_)throw new FS.ErrnoError(_);if(!a.node_ops.mknod)throw new FS.ErrnoError(63);return a.node_ops.mknod(a,o,r,t)},create(e,r){return r=r!==void 0?r:438,r&=4095,r|=32768,FS.mknod(e,r,0)},mkdir(e,r){return r=r!==void 0?r:511,r&=1023,r|=16384,FS.mknod(e,r,0)},mkdirTree(e,r){for(var t=e.split("/"),n="",a=0;a<t.length;++a)if(t[a]){n+="/"+t[a];try{FS.mkdir(n,r)}catch(o){if(o.errno!=20)throw o}}},mkdev(e,r,t){return typeof t>"u"&&(t=r,r=438),r|=8192,FS.mknod(e,r,t)},symlink(e,r){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var t=FS.lookupPath(r,{parent:!0}),n=t.node;if(!n)throw new FS.ErrnoError(44);var a=PATH.basename(r),o=FS.mayCreate(n,a);if(o)throw new FS.ErrnoError(o);if(!n.node_ops.symlink)throw new FS.ErrnoError(63);return n.node_ops.symlink(n,a,e)},rename(e,r){var t=PATH.dirname(e),n=PATH.dirname(r),a=PATH.basename(e),o=PATH.basename(r),_,l,c;if(_=FS.lookupPath(e,{parent:!0}),l=_.node,_=FS.lookupPath(r,{parent:!0}),c=_.node,!l||!c)throw new FS.ErrnoError(44);if(l.mount!==c.mount)throw new FS.ErrnoError(75);var u=FS.lookupNode(l,a),d=PATH_FS.relative(e,n);if(d.charAt(0)!==".")throw new FS.ErrnoError(28);if(d=PATH_FS.relative(r,t),d.charAt(0)!==".")throw new FS.ErrnoError(55);var f;try{f=FS.lookupNode(c,o)}catch(v){}if(u!==f){var p=FS.isDir(u.mode),m=FS.mayDelete(l,a,p);if(m)throw new FS.ErrnoError(m);if(m=f?FS.mayDelete(c,o,p):FS.mayCreate(c,o),m)throw new FS.ErrnoError(m);if(!l.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(u)||f&&FS.isMountpoint(f))throw new FS.ErrnoError(10);if(c!==l&&(m=FS.nodePermissions(l,"w"),m))throw new FS.ErrnoError(m);FS.hashRemoveNode(u);try{l.node_ops.rename(u,c,o),u.parent=c}catch(v){throw v}finally{FS.hashAddNode(u)}}},rmdir(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node,n=PATH.basename(e),a=FS.lookupNode(t,n),o=FS.mayDelete(t,n,!0);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(a))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,n),FS.destroyNode(a)},readdir(e){var r=FS.lookupPath(e,{follow:!0}),t=r.node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node;if(!t)throw new FS.ErrnoError(44);var n=PATH.basename(e),a=FS.lookupNode(t,n),o=FS.mayDelete(t,n,!1);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(a))throw new FS.ErrnoError(10);t.node_ops.unlink(t,n),FS.destroyNode(a)},readlink(e){var r=FS.lookupPath(e),t=r.node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(t.parent),t.node_ops.readlink(t))},stat(e,r){var t=FS.lookupPath(e,{follow:!r}),n=t.node;if(!n)throw new FS.ErrnoError(44);if(!n.node_ops.getattr)throw new FS.ErrnoError(63);return n.node_ops.getattr(n)},lstat(e){return FS.stat(e,!0)},chmod(e,r,t){var n;if(typeof e=="string"){var a=FS.lookupPath(e,{follow:!t});n=a.node}else n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:r&4095|n.mode&-4096,timestamp:Date.now()})},lchmod(e,r){FS.chmod(e,r,!0)},fchmod(e,r){var t=FS.getStreamChecked(e);FS.chmod(t.node,r)},chown(e,r,t,n){var a;if(typeof e=="string"){var o=FS.lookupPath(e,{follow:!n});a=o.node}else a=e;if(!a.node_ops.setattr)throw new FS.ErrnoError(63);a.node_ops.setattr(a,{timestamp:Date.now()})},lchown(e,r,t){FS.chown(e,r,t,!0)},fchown(e,r,t){var n=FS.getStreamChecked(e);FS.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new FS.ErrnoError(28);var t;if(typeof e=="string"){var n=FS.lookupPath(e,{follow:!0});t=n.node}else t=e;if(!t.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(t.mode))throw new FS.ErrnoError(31);if(!FS.isFile(t.mode))throw new FS.ErrnoError(28);var a=FS.nodePermissions(t,"w");if(a)throw new FS.ErrnoError(a);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=FS.getStreamChecked(e);if(!(t.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(t.node,r)},utime(e,r,t){var n=FS.lookupPath(e,{follow:!0}),a=n.node;a.node_ops.setattr(a,{timestamp:Math.max(r,t)})},open(e,r,t){if(e==="")throw new FS.ErrnoError(44);r=typeof r=="string"?FS_modeStringToFlags(r):r,r&64?(t=typeof t>"u"?438:t,t=t&4095|32768):t=0;var n;if(typeof e=="object")n=e;else{e=PATH.normalize(e);try{var a=FS.lookupPath(e,{follow:!(r&131072)});n=a.node}catch(c){}}var o=!1;if(r&64)if(n){if(r&128)throw new FS.ErrnoError(20)}else n=FS.mknod(e,t,0),o=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(r&=-513),r&65536&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!o){var _=FS.mayOpen(n,r);if(_)throw new FS.ErrnoError(_)}r&512&&!o&&FS.truncate(n,0),r&=-131713;var l=FS.createStream({node:n,path:FS.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),Module.logReadFiles&&!(r&1)&&(e in FS.readFiles||(FS.readFiles[e]=1)),l},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{FS.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(t!=0&&t!=1&&t!=2)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,a){if(n<0||a<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if((e.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var o=typeof a<"u";if(!o)a=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var _=e.stream_ops.read(e,r,t,n,a);return o||(e.position+=_),_},write(e,r,t,n,a,o){if(n<0||a<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&e.flags&1024&&FS.llseek(e,0,2);var _=typeof a<"u";if(!_)a=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var l=e.stream_ops.write(e,r,t,n,a,o);return _||(e.position+=l),l},allocate(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(r<0||t<=0)throw new FS.ErrnoError(28);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,a){if(n&2&&!(a&2)&&(e.flags&2097155)!==2)throw new FS.ErrnoError(2);if((e.flags&2097155)===1)throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);if(!r)throw new FS.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,a)},msync(e,r,t,n,a){return e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,a):0},ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error('Invalid encoding type "'.concat(r.encoding,'"'));var t,n=FS.open(e,r.flags),a=FS.stat(e),o=a.size,_=new Uint8Array(o);return FS.read(n,_,0,o,0),r.encoding==="utf8"?t=UTF8ArrayToString(_):r.encoding==="binary"&&(t=_),FS.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=FS.open(e,t.flags,t.mode);if(typeof r=="string"){var a=new Uint8Array(lengthBytesUTF8(r)+1),o=stringToUTF8Array(r,a,0,a.length);FS.write(n,a,0,o,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))FS.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw new Error("Unsupported data type");FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var r=FS.lookupPath(e,{follow:!0});if(r.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(r.node.mode))throw new FS.ErrnoError(54);var t=FS.nodePermissions(r.node,"x");if(t)throw new FS.ErrnoError(t);FS.currentPath=r.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(n,a,o,_,l)=>_}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(r===0&&(r=randomFill(e).byteLength),e[--r]);FS.createDevice("/dev","random",t),FS.createDevice("/dev","urandom",t),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var r=FS.createNode(e,"fd",16895,73);return r.node_ops={lookup(t,n){var a=+n,o=FS.getStreamChecked(a),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return _.parent=_,_}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?FS.createDevice("/dev","stdin",e):FS.symlink("/dev/tty","/dev/stdin"),r?FS.createDevice("/dev","stdout",null,r):FS.symlink("/dev/tty","/dev/stdout"),t?FS.createDevice("/dev","stderr",null,t):FS.symlink("/dev/tty1","/dev/stderr");var n=FS.open("/dev/stdin",0),a=FS.open("/dev/stdout",1),o=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack="<generic error, no stack>"}),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS}},init(e,r,t){FS.initialized=!0,e!=null||(e=Module.stdin),r!=null||(r=Module.stdout),t!=null||(t=Module.stderr),FS.createStandardStreams(e,r,t)},quit(){FS.initialized=!1;for(var e=0;e<FS.streams.length;e++){var r=FS.streams[e];r&&FS.close(r)}},findObject(e,r){var t=FS.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{var t=FS.lookupPath(e,{follow:!r});e=t.path}catch(a){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=FS.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=PATH.basename(e),t=FS.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot=t.path==="/"}catch(a){n.error=a.errno}return n},createPath(e,r,t,n){e=typeof e=="string"?e:FS.getPath(e);for(var a=r.split("/").reverse();a.length;){var o=a.pop();if(o){var _=PATH.join2(e,o);try{FS.mkdir(_)}catch(l){}e=_}}return _},createFile(e,r,t,n,a){var o=PATH.join2(typeof e=="string"?e:FS.getPath(e),r),_=FS_getMode(n,a);return FS.create(o,_)},createDataFile(e,r,t,n,a,o){var _=r;e&&(e=typeof e=="string"?e:FS.getPath(e),_=r?PATH.join2(e,r):e);var l=FS_getMode(n,a),c=FS.create(_,l);if(t){if(typeof t=="string"){for(var u=new Array(t.length),d=0,f=t.length;d<f;++d)u[d]=t.charCodeAt(d);t=u}FS.chmod(c,l|146);var p=FS.open(c,577);FS.write(p,t,0,t.length,0,o),FS.close(p),FS.chmod(c,l)}},createDevice(e,r,t,n){var l,c;var a=PATH.join2(typeof e=="string"?e:FS.getPath(e),r),o=FS_getMode(!!t,!!n);(c=(l=FS.createDevice).major)!=null||(l.major=64);var _=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(_,{open(u){u.seekable=!1},close(u){var d;(d=n==null?void 0:n.buffer)!=null&&d.length&&n(10)},read(u,d,f,p,m){for(var v=0,g=0;g<p;g++){var S;try{S=t()}catch(h){throw new FS.ErrnoError(29)}if(S===void 0&&v===0)throw new FS.ErrnoError(6);if(S==null)break;v++,d[f+g]=S}return v&&(u.node.timestamp=Date.now()),v},write(u,d,f,p,m){for(var v=0;v<p;v++)try{n(d[f+v])}catch(g){throw new FS.ErrnoError(29)}return p&&(u.node.timestamp=Date.now()),v}}),FS.mkdev(a,o,_)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=readBinary(e.url),e.usedBytes=e.contents.length}catch(r){throw new FS.ErrnoError(29)}},createLazyFile(e,r,t,n,a){class o{constructor(){X(this,"lengthKnown",!1);X(this,"chunks",[])}get(m){if(!(m>this.length-1||m<0)){var v=m%this.chunkSize,g=m/this.chunkSize|0;return this.getter(g)[v]}}setDataGetter(m){this.getter=m}cacheLength(){var m=new XMLHttpRequest;if(m.open("HEAD",t,!1),m.send(null),!(m.status>=200&&m.status<300||m.status===304))throw new Error("Couldn't load "+t+". Status: "+m.status);var v=Number(m.getResponseHeader("Content-length")),g,S=(g=m.getResponseHeader("Accept-Ranges"))&&g==="bytes",h=(g=m.getResponseHeader("Content-Encoding"))&&g==="gzip",b=1024*1024;S||(b=v);var A=(L,F)=>{if(L>F)throw new Error("invalid range ("+L+", "+F+") or no bytes requested!");if(F>v-1)throw new Error("only "+v+" bytes available! programmer error!");var y=new XMLHttpRequest;if(y.open("GET",t,!1),v!==b&&y.setRequestHeader("Range","bytes="+L+"-"+F),y.responseType="arraybuffer",y.overrideMimeType&&y.overrideMimeType("text/plain; charset=x-user-defined"),y.send(null),!(y.status>=200&&y.status<300||y.status===304))throw new Error("Couldn't load "+t+". Status: "+y.status);return y.response!==void 0?new Uint8Array(y.response||[]):intArrayFromString(y.responseText||"",!0)},w=this;w.setDataGetter(L=>{var F=L*b,y=(L+1)*b-1;if(y=Math.min(y,v-1),typeof w.chunks[L]>"u"&&(w.chunks[L]=A(F,y)),typeof w.chunks[L]>"u")throw new Error("doXHR failed!");return w.chunks[L]}),(h||!v)&&(b=v=1,v=this.getter(0).length,b=v,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=v,this._chunkSize=b,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new o,l={isDevice:!1,contents:_}}else var l={isDevice:!1,url:t};var c=FS.createFile(e,r,l,n,a);l.contents?c.contents=l.contents:l.url&&(c.contents=null,c.url=l.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={},d=Object.keys(c.stream_ops);d.forEach(p=>{var m=c.stream_ops[p];u[p]=(...v)=>(FS.forceLoadFile(c),m(...v))});function f(p,m,v,g,S){var h=p.node.contents;if(S>=h.length)return 0;var b=Math.min(h.length-S,g);if(h.slice)for(var A=0;A<b;A++)m[v+A]=h[S+A];else for(var A=0;A<b;A++)m[v+A]=h.get(S+A);return b}return u.read=(p,m,v,g,S)=>(FS.forceLoadFile(c),f(p,m,v,g,S)),u.mmap=(p,m,v,g,S)=>{FS.forceLoadFile(c);var h=mmapAlloc(m);if(!h)throw new FS.ErrnoError(48);return f(p,HEAP8,h,m,v),{ptr:h,allocated:!0}},c.stream_ops=u,c}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(PATH.isAbs(r))return r;var n;if(e===-100)n=FS.cwd();else{var a=SYSCALLS.getStreamFromFD(e);n=a.path}if(r.length==0){if(!t)throw new FS.ErrnoError(44);return n}return PATH.join2(n,r)},doStat(e,r,t){var n=e(r);HEAP32[t>>>2>>>0]=n.dev,HEAP32[t+4>>>2>>>0]=n.mode,HEAPU32[t+8>>>2>>>0]=n.nlink,HEAP32[t+12>>>2>>>0]=n.uid,HEAP32[t+16>>>2>>>0]=n.gid,HEAP32[t+20>>>2>>>0]=n.rdev,tempI64=[n.size>>>0,(tempDouble=n.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+24>>>2>>>0]=tempI64[0],HEAP32[t+28>>>2>>>0]=tempI64[1],HEAP32[t+32>>>2>>>0]=4096,HEAP32[t+36>>>2>>>0]=n.blocks;var a=n.atime.getTime(),o=n.mtime.getTime(),_=n.ctime.getTime();return tempI64=[Math.floor(a/1e3)>>>0,(tempDouble=Math.floor(a/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+40>>>2>>>0]=tempI64[0],HEAP32[t+44>>>2>>>0]=tempI64[1],HEAPU32[t+48>>>2>>>0]=a%1e3*1e3*1e3,tempI64=[Math.floor(o/1e3)>>>0,(tempDouble=Math.floor(o/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+56>>>2>>>0]=tempI64[0],HEAP32[t+60>>>2>>>0]=tempI64[1],HEAPU32[t+64>>>2>>>0]=o%1e3*1e3*1e3,tempI64=[Math.floor(_/1e3)>>>0,(tempDouble=Math.floor(_/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+72>>>2>>>0]=tempI64[0],HEAP32[t+76>>>2>>>0]=tempI64[1],HEAPU32[t+80>>>2>>>0]=_%1e3*1e3*1e3,tempI64=[n.ino>>>0,(tempDouble=n.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+88>>>2>>>0]=tempI64[0],HEAP32[t+92>>>2>>>0]=tempI64[1],0},doMsync(e,r,t,n,a){if(!FS.isFile(r.node.mode))throw new FS.ErrnoError(43);if(n&2)return 0;var o=HEAPU8.slice(e,e+t);FS.msync(r,o,a,t,n)},getStreamFromFD(e){var r=FS.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=UTF8ToString(e);return r}},___syscall__newselect=function(e,r,t,n,a){r>>>=0,t>>>=0,n>>>=0,a>>>=0;try{for(var o=0,_=r?HEAP32[r>>>2>>>0]:0,l=r?HEAP32[r+4>>>2>>>0]:0,c=t?HEAP32[t>>>2>>>0]:0,u=t?HEAP32[t+4>>>2>>>0]:0,d=n?HEAP32[n>>>2>>>0]:0,f=n?HEAP32[n+4>>>2>>>0]:0,p=0,m=0,v=0,g=0,S=0,h=0,b=(r?HEAP32[r>>>2>>>0]:0)|(t?HEAP32[t>>>2>>>0]:0)|(n?HEAP32[n>>>2>>>0]:0),A=(r?HEAP32[r+4>>>2>>>0]:0)|(t?HEAP32[t+4>>>2>>>0]:0)|(n?HEAP32[n+4>>>2>>>0]:0),w=(T,C,M,G)=>T<32?C&G:M&G,L=0;L<e;L++){var F=1<<L%32;if(w(L,b,A,F)){var y=SYSCALLS.getStreamFromFD(L),D=SYSCALLS.DEFAULT_POLLMASK;if(y.stream_ops.poll){var P=-1;if(a){var k=r?HEAP32[a>>>2>>>0]:0,x=r?HEAP32[a+4>>>2>>>0]:0;P=(k+x/1e6)*1e3}D=y.stream_ops.poll(y,P)}D&1&&w(L,_,l,F)&&(L<32?p=p|F:m=m|F,o++),D&4&&w(L,c,u,F)&&(L<32?v=v|F:g=g|F,o++),D&2&&w(L,d,f,F)&&(L<32?S=S|F:h=h|F,o++)}}return r&&(HEAP32[r>>>2>>>0]=p,HEAP32[r+4>>>2>>>0]=m),t&&(HEAP32[t>>>2>>>0]=v,HEAP32[t+4>>>2>>>0]=g),n&&(HEAP32[n>>>2>>>0]=S,HEAP32[n+4>>>2>>>0]=h),o}catch(T){if(typeof FS>"u"||T.name!=="ErrnoError")throw T;return-T.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(e,r){SOCKFS.callbacks[e]=r},emit(e,r){var t,n;(n=(t=SOCKFS.callbacks)[e])==null||n.call(t,r)},mount(e){var r;return SOCKFS.websocketArgs=Module.websocket||{},((r=Module.websocket)!=null?r:Module.websocket={}).on=SOCKFS.on,FS.createNode(null,"/",16895,0)},createSocket(e,r,t){r&=-526337;var n=r==1;if(n&&t&&t!=6)throw new FS.ErrnoError(66);var a={family:e,type:r,protocol:t,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},o=SOCKFS.nextname(),_=FS.createNode(SOCKFS.root,o,49152,0);_.sock=a;var l=FS.createStream({path:o,node:_,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return a.stream=l,a},getSocket(e){var r=FS.getStream(e);return!r||!FS.isSocket(r.node.mode)?null:r.node.sock},stream_ops:{poll(e){var r=e.node.sock;return r.sock_ops.poll(r)},ioctl(e,r,t){var n=e.node.sock;return n.sock_ops.ioctl(n,r,t)},read(e,r,t,n,a){var o=e.node.sock,_=o.sock_ops.recvmsg(o,n);return _?(r.set(_.buffer,t),_.buffer.length):0},write(e,r,t,n,a){var o=e.node.sock;return o.sock_ops.sendmsg(o,r,t,n)},close(e){var r=e.node.sock;r.sock_ops.close(r)}},nextname(){return SOCKFS.nextname.current||(SOCKFS.nextname.current=0),"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer(e,r,t){var n;if(typeof r=="object"&&(n=r,r=null,t=null),n)if(n._socket)r=n._socket.remoteAddress,t=n._socket.remotePort;else{var a=/ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);if(!a)throw new Error("WebSocket URL must be in the format ws(s)://address:port");r=a[1],t=parseInt(a[2],10)}else try{var o="ws:#".replace("#","//"),_="binary",l=void 0;if(SOCKFS.websocketArgs.url&&(o=SOCKFS.websocketArgs.url),SOCKFS.websocketArgs.subprotocol?_=SOCKFS.websocketArgs.subprotocol:SOCKFS.websocketArgs.subprotocol===null&&(_="null"),o==="ws://"||o==="wss://"){var c=r.split("/");o=o+c[0]+":"+t+"/"+c.slice(1).join("/")}_!=="null"&&(_=_.replace(/^ +| +$/g,"").split(/ *, */),l=_);var u;ENVIRONMENT_IS_NODE?u=fe():u=WebSocket,n=new u(o,l),n.binaryType="arraybuffer"}catch(f){throw new FS.ErrnoError(23)}var d={addr:r,port:t,socket:n,msg_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,d),SOCKFS.websocket_sock_ops.handlePeerEvents(e,d),e.type===2&&typeof e.sport<"u"&&d.msg_send_queue.push(new Uint8Array([255,255,255,255,112,111,114,116,(e.sport&65280)>>8,e.sport&255])),d},getPeer(e,r,t){return e.peers[r+":"+t]},addPeer(e,r){e.peers[r.addr+":"+r.port]=r},removePeer(e,r){delete e.peers[r.addr+":"+r.port]},handlePeerEvents(e,r){var t=!0,n=function(){e.connecting=!1,SOCKFS.emit("open",e.stream.fd);try{for(var o=r.msg_send_queue.shift();o;)r.socket.send(o),o=r.msg_send_queue.shift()}catch(_){r.socket.close()}};function a(o){if(typeof o=="string"){var _=new TextEncoder;o=_.encode(o)}else{if(assert(o.byteLength!==void 0),o.byteLength==0)return;o=new Uint8Array(o)}var l=t;if(t=!1,l&&o.length===10&&o[0]===255&&o[1]===255&&o[2]===255&&o[3]===255&&o[4]===112&&o[5]===111&&o[6]===114&&o[7]===116){var c=o[8]<<8|o[9];SOCKFS.websocket_sock_ops.removePeer(e,r),r.port=c,SOCKFS.websocket_sock_ops.addPeer(e,r);return}e.recv_queue.push({addr:r.addr,port:r.port,data:o}),SOCKFS.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(r.socket.on("open",n),r.socket.on("message",function(o,_){_&&a(new Uint8Array(o).buffer)}),r.socket.on("close",function(){SOCKFS.emit("close",e.stream.fd)}),r.socket.on("error",function(o){e.error=14,SOCKFS.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(r.socket.onopen=n,r.socket.onclose=function(){SOCKFS.emit("close",e.stream.fd)},r.socket.onmessage=function(_){a(_.data)},r.socket.onerror=function(o){e.error=14,SOCKFS.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(e.type===1&&e.server)return e.pending.length?65:0;var r=0,t=e.type===1?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!t||t&&t.socket.readyState===t.socket.CLOSING||t&&t.socket.readyState===t.socket.CLOSED)&&(r|=65),(!t||t&&t.socket.readyState===t.socket.OPEN)&&(r|=4),(t&&t.socket.readyState===t.socket.CLOSING||t&&t.socket.readyState===t.socket.CLOSED)&&(e.connecting?r|=4:r|=16),r},ioctl(e,r,t){switch(r){case 21531:var n=0;return e.recv_queue.length&&(n=e.recv_queue[0].data.length),HEAP32[t>>>2>>>0]=n,0;default:return 28}},close(e){if(e.server){try{e.server.close()}catch(a){}e.server=null}for(var r=Object.keys(e.peers),t=0;t<r.length;t++){var n=e.peers[r[t]];try{n.socket.close()}catch(a){}SOCKFS.websocket_sock_ops.removePeer(e,n)}return 0},bind(e,r,t){if(typeof e.saddr<"u"||typeof e.sport<"u")throw new FS.ErrnoError(28);if(e.saddr=r,e.sport=t,e.type===2){e.server&&(e.server.close(),e.server=null);try{e.sock_ops.listen(e,0)}catch(n){if(n.name!=="ErrnoError"||n.errno!==138)throw n}}},connect(e,r,t){if(e.server)throw new FS.ErrnoError(138);if(typeof e.daddr<"u"&&typeof e.dport<"u"){var n=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(n)throw n.socket.readyState===n.socket.CONNECTING?new FS.ErrnoError(7):new FS.ErrnoError(30)}var a=SOCKFS.websocket_sock_ops.createPeer(e,r,t);e.daddr=a.addr,e.dport=a.port,e.connecting=!0},listen(e,r){if(!ENVIRONMENT_IS_NODE)throw new FS.ErrnoError(138);if(e.server)throw new FS.ErrnoError(28);var t=fe().Server,n=e.saddr;e.server=new t({host:n,port:e.sport}),SOCKFS.emit("listen",e.stream.fd),e.server.on("connection",function(a){if(e.type===1){var o=SOCKFS.createSocket(e.family,e.type,e.protocol),_=SOCKFS.websocket_sock_ops.createPeer(o,a);o.daddr=_.addr,o.dport=_.port,e.pending.push(o),SOCKFS.emit("connection",o.stream.fd)}else SOCKFS.websocket_sock_ops.createPeer(e,a),SOCKFS.emit("connection",e.stream.fd)}),e.server.on("close",function(){SOCKFS.emit("close",e.stream.fd),e.server=null}),e.server.on("error",function(a){e.error=23,SOCKFS.emit("error",[e.stream.fd,e.error,"EHOSTUNREACH: Host is unreachable"])})},accept(e){if(!e.server||!e.pending.length)throw new FS.ErrnoError(28);var r=e.pending.shift();return r.stream.flags=e.stream.flags,r},getname(e,r){var t,n;if(r){if(e.daddr===void 0||e.dport===void 0)throw new FS.ErrnoError(53);t=e.daddr,n=e.dport}else t=e.saddr||0,n=e.sport||0;return{addr:t,port:n}},sendmsg(e,r,t,n,a,o){if(e.type===2){if((a===void 0||o===void 0)&&(a=e.daddr,o=e.dport),a===void 0||o===void 0)throw new FS.ErrnoError(17)}else a=e.daddr,o=e.dport;var _=SOCKFS.websocket_sock_ops.getPeer(e,a,o);if(e.type===1&&(!_||_.socket.readyState===_.socket.CLOSING||_.socket.readyState===_.socket.CLOSED))throw new FS.ErrnoError(53);ArrayBuffer.isView(r)&&(t+=r.byteOffset,r=r.buffer);var l;if(l=r.slice(t,t+n),!_||_.socket.readyState!==_.socket.OPEN)return e.type===2&&(!_||_.socket.readyState===_.socket.CLOSING||_.socket.readyState===_.socket.CLOSED)&&(_=SOCKFS.websocket_sock_ops.createPeer(e,a,o)),_.msg_send_queue.push(l),n;try{return _.socket.send(l),n}catch(c){throw new FS.ErrnoError(28)}},recvmsg(e,r){if(e.type===1&&e.server)throw new FS.ErrnoError(53);var t=e.recv_queue.shift();if(!t){if(e.type===1){var n=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(!n)throw new FS.ErrnoError(53);if(n.socket.readyState===n.socket.CLOSING||n.socket.readyState===n.socket.CLOSED)return null;throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var a=t.data.byteLength||t.data.length,o=t.data.byteOffset||0,_=t.data.buffer||t.data,l=Math.min(r,a),c={buffer:new Uint8Array(_,o,l),addr:t.addr,port:t.port};if(e.type===1&&l<a){var u=a-l;t.data=new Uint8Array(_,o+l,u),e.recv_queue.unshift(t)}return c}}},getSocketFromFD=e=>{var r=SOCKFS.getSocket(e);if(!r)throw new FS.ErrnoError(8);return r},Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]},inetPton4=e=>{for(var r=e.split("."),t=0;t<4;t++){var n=Number(r[t]);if(isNaN(n))return null;r[t]=n}return(r[0]|r[1]<<8|r[2]<<16|r[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var r,t,n,a,o,_=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,l=[];if(!_.test(e))return null;if(e==="::")return[0,0,0,0,0,0,0,0];for(e.startsWith("::")?e=e.replace("::","Z:"):e=e.replace("::",":Z:"),e.indexOf(".")>0?(e=e.replace(new RegExp("[.]","g"),":"),r=e.split(":"),r[r.length-4]=jstoi_q(r[r.length-4])+jstoi_q(r[r.length-3])*256,r[r.length-3]=jstoi_q(r[r.length-2])+jstoi_q(r[r.length-1])*256,r=r.slice(0,r.length-2)):r=e.split(":"),n=0,a=0,t=0;t<r.length;t++)if(typeof r[t]=="string")if(r[t]==="Z"){for(a=0;a<8-r.length+1;a++)l[t+a]=0;n=a-1}else l[t+n]=_htons(parseInt(r[t],16));else l[t+n]=r[t];return[l[1]<<16|l[0],l[3]<<16|l[2],l[5]<<16|l[4],l[7]<<16|l[6]]},writeSockaddr=(e,r,t,n,a)=>{switch(r){case 2:t=inetPton4(t),zeroMemory(e,16),a&&(HEAP32[a>>>2>>>0]=16),HEAP16[e>>>1>>>0]=r,HEAP32[e+4>>>2>>>0]=t,HEAP16[e+2>>>1>>>0]=_htons(n);break;case 10:t=inetPton6(t),zeroMemory(e,28),a&&(HEAP32[a>>>2>>>0]=28),HEAP32[e>>>2>>>0]=r,HEAP32[e+8>>>2>>>0]=t[0],HEAP32[e+12>>>2>>>0]=t[1],HEAP32[e+16>>>2>>>0]=t[2],HEAP32[e+20>>>2>>>0]=t[3],HEAP16[e+2>>>1>>>0]=_htons(n);break;default:return 5}return 0},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(e){var r=inetPton4(e);if(r!==null||(r=inetPton6(e),r!==null))return e;var t;if(DNS.address_map.addrs[e])t=DNS.address_map.addrs[e];else{var n=DNS.address_map.id++;assert(n<65535,"exceeded max address mappings of 65535"),t="172.29."+(n&255)+"."+(n&65280),DNS.address_map.names[t]=e,DNS.address_map.addrs[e]=t}return t},lookup_addr(e){return DNS.address_map.names[e]?DNS.address_map.names[e]:null}};function ___syscall_accept4(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=_.sock_ops.accept(_);if(r)var c=writeSockaddr(r,l.family,DNS.lookup_name(l.daddr),l.dport,t);return l.stream.fd}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=e=>(e&255)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var r="",t=0,n=0,a=0,o=0,_=0,l=0,c=[e[0]&65535,e[0]>>16,e[1]&65535,e[1]>>16,e[2]&65535,e[2]>>16,e[3]&65535,e[3]>>16],u=!0,d="";for(l=0;l<5;l++)if(c[l]!==0){u=!1;break}if(u){if(d=inetNtop4(c[6]|c[7]<<16),c[5]===-1)return r="::ffff:",r+=d,r;if(c[5]===0)return r="::",d==="0.0.0.0"&&(d=""),d==="0.0.0.1"&&(d="1"),r+=d,r}for(t=0;t<8;t++)c[t]===0&&(t-a>1&&(_=0),a=t,_++),_>n&&(n=_,o=t-n+1);for(t=0;t<8;t++){if(n>1&&c[t]===0&&t>=o&&t<o+n){t===o&&(r+=":",o===0&&(r+=":"));continue}r+=Number(_ntohs(c[t]&65535)).toString(16),r+=t<7?":":""}return r},readSockaddr=(e,r)=>{var t=HEAP16[e>>>1>>>0],n=_ntohs(HEAPU16[e+2>>>1>>>0]),a;switch(t){case 2:if(r!==16)return{errno:28};a=HEAP32[e+4>>>2>>>0],a=inetNtop4(a);break;case 10:if(r!==28)return{errno:28};a=[HEAP32[e+8>>>2>>>0],HEAP32[e+12>>>2>>>0],HEAP32[e+16>>>2>>>0],HEAP32[e+20>>>2>>>0]],a=inetNtop6(a);break;default:return{errno:5}}return{family:t,addr:a,port:n}},getSocketAddress=(e,r)=>{var t=readSockaddr(e,r);if(t.errno)throw new FS.ErrnoError(t.errno);return t.addr=DNS.lookup_addr(t.addr)||t.addr,t};function ___syscall_bind(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=getSocketAddress(r,t);return _.sock_ops.bind(_,l.addr,l.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(e){e>>>=0;try{return e=SYSCALLS.getStr(e),FS.chdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(e,r){e>>>=0;try{return e=SYSCALLS.getStr(e),FS.chmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=getSocketAddress(r,t);return _.sock_ops.connect(_,l.addr,l.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.dupStream(r).fd}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(e,r,t){try{var n=SYSCALLS.getStreamFromFD(e);if(n.fd===r)return-28;if(r<0||r>=FS.MAX_OPEN_FDS)return-8;var a=FS.getStream(r);return a&&FS.close(a),FS.dupStream(n,r).fd}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(e,r,t,n){r>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&-8)return-28;var a=FS.lookupPath(r,{follow:!0}),o=a.node;if(!o)return-44;var _="";return t&4&&(_+="r"),t&2&&(_+="w"),t&1&&(_+="x"),_&&FS.nodePermissions(o,_)?-2:0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(e,r,t,n)=>0;___syscall_fadvise64.sig="iiiiiii";function ___syscall_fallocate(e,r,t,n,a,o){var _=convertI32PairToI53Checked(t,n),l=convertI32PairToI53Checked(a,o);try{if(isNaN(_))return 61;var c=SYSCALLS.getStreamFromFD(e);return FS.allocate(c,_,l),0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.chdir(r.path),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(e,r){try{return FS.fchmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(e,r,t,n){r>>>=0;try{var a=n&256;return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),FS.chmod(r,t,a),0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(e,r,t){try{return FS.fchown(e,r,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(e,r,t,n,a){r>>>=0;try{r=SYSCALLS.getStr(r);var o=a&256;return a=a&-257,r=SYSCALLS.calculateAt(e,r),(o?FS.lchown:FS.chown)(r,t,n),0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var e=HEAP32[+SYSCALLS.varargs>>>2>>>0];return SYSCALLS.varargs+=4,e},syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(e,r,t){t>>>=0,SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 0:{var a=syscallGetVarargI();if(a<0)return-28;for(;FS.streams[a];)a++;var o;return o=FS.dupStream(n,a),o.fd}case 1:case 2:return 0;case 3:return n.flags;case 4:{var a=syscallGetVarargI();return n.flags|=a,0}case 12:{var a=syscallGetVarargP(),_=0;return HEAP16[a+_>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(e){try{var r=SYSCALLS.getStreamFromFD(e);return 0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(e,r){r>>>=0;try{var t=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,t.path,r)}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fstat64.sig="iip";function ___syscall_statfs64(e,r,t){e>>>=0,r>>>=0,t>>>=0;try{return e=SYSCALLS.getStr(e),HEAP32[t+4>>>2>>>0]=4096,HEAP32[t+40>>>2>>>0]=4096,HEAP32[t+8>>>2>>>0]=1e6,HEAP32[t+12>>>2>>>0]=5e5,HEAP32[t+16>>>2>>>0]=5e5,HEAP32[t+20>>>2>>>0]=FS.nextInode,HEAP32[t+24>>>2>>>0]=1e6,HEAP32[t+28>>>2>>>0]=42,HEAP32[t+44>>>2>>>0]=2,HEAP32[t+36>>>2>>>0]=255,0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_statfs64.sig="ippp";function ___syscall_fstatfs64(e,r,t){r>>>=0,t>>>=0;try{var n=SYSCALLS.getStreamFromFD(e);return ___syscall_statfs64(0,r,t)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(e,r,t){var n=convertI32PairToI53Checked(r,t);try{return isNaN(n)?61:(FS.ftruncate(e,n),0)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_ftruncate64.sig="iiii";var stringToUTF8=(e,r,t)=>stringToUTF8Array(e,HEAPU8,r,t);Module.stringToUTF8=stringToUTF8;function ___syscall_getcwd(e,r){e>>>=0,r>>>=0;try{if(r===0)return-28;var t=FS.cwd(),n=lengthBytesUTF8(t)+1;return r<n?-68:(stringToUTF8(t,e,r),n)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(e,r,t){r>>>=0,t>>>=0;try{var n=SYSCALLS.getStreamFromFD(e);n.getdents||(n.getdents=FS.readdir(n.path));for(var a=280,o=0,_=FS.llseek(n,0,1),l=Math.floor(_/a);l<n.getdents.length&&o+a<=t;){var c,u,d=n.getdents[l];if(d===".")c=n.node.id,u=4;else if(d===".."){var f=FS.lookupPath(n.path,{parent:!0});c=f.node.id,u=4}else{var p=FS.lookupNode(n.node,d);c=p.id,u=FS.isChrdev(p.mode)?2:FS.isDir(p.mode)?4:FS.isLink(p.mode)?10:8}tempI64=[c>>>0,(tempDouble=c,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+o>>>2>>>0]=tempI64[0],HEAP32[r+o+4>>>2>>>0]=tempI64[1],tempI64=[(l+1)*a>>>0,(tempDouble=(l+1)*a,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+o+8>>>2>>>0]=tempI64[0],HEAP32[r+o+12>>>2>>>0]=tempI64[1],HEAP16[r+o+16>>>1>>>0]=280,HEAP8[r+o+18>>>0]=u,stringToUTF8(d,r+o+19,256),o+=a,l+=1}return FS.llseek(n,l*a,0),o}catch(m){if(typeof FS>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e);if(!_.daddr)return-53;var l=writeSockaddr(r,_.family,DNS.lookup_name(_.daddr),_.dport,t);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=writeSockaddr(r,_.family,DNS.lookup_name(_.saddr||"0.0.0.0"),_.sport,t);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(e,r,t,n,a,o){n>>>=0,a>>>=0;try{var _=getSocketFromFD(e);return r===1&&t===4?(HEAP32[n>>>2>>>0]=_.error,HEAP32[a>>>2>>>0]=4,_.error=null,0):-50}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(e,r,t){t>>>=0,SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 21509:return n.tty?0:-59;case 21505:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var a=n.tty.ops.ioctl_tcgets(n),o=syscallGetVarargP();HEAP32[o>>>2>>>0]=a.c_iflag||0,HEAP32[o+4>>>2>>>0]=a.c_oflag||0,HEAP32[o+8>>>2>>>0]=a.c_cflag||0,HEAP32[o+12>>>2>>>0]=a.c_lflag||0;for(var _=0;_<32;_++)HEAP8[o+_+17>>>0]=a.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return n.tty?0:-59;case 21506:case 21507:case 21508:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){for(var o=syscallGetVarargP(),l=HEAP32[o>>>2>>>0],c=HEAP32[o+4>>>2>>>0],u=HEAP32[o+8>>>2>>>0],d=HEAP32[o+12>>>2>>>0],f=[],_=0;_<32;_++)f.push(HEAP8[o+_+17>>>0]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:l,c_oflag:c,c_cflag:u,c_lflag:d,c_cc:f})}return 0}case 21519:{if(!n.tty)return-59;var o=syscallGetVarargP();return HEAP32[o>>>2>>>0]=0,0}case 21520:return n.tty?-28:-59;case 21531:{var o=syscallGetVarargP();return FS.ioctl(n,r,o)}case 21523:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var p=n.tty.ops.ioctl_tiocgwinsz(n.tty),o=syscallGetVarargP();HEAP16[o>>>1>>>0]=p[0],HEAP16[o+2>>>1>>>0]=p[1]}return 0}case 21524:return n.tty?0:-59;case 21515:return n.tty?0:-59;default:return-28}}catch(m){if(typeof FS>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(e,r){try{var t=getSocketFromFD(e);return t.sock_ops.listen(t,r),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(e,r){e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(e,r,t){r>>>=0;try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),r=PATH.normalize(r),r[r.length-1]==="/"&&(r=r.substr(0,r.length-1)),FS.mkdir(r,t,0),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(e,r,t,n){r>>>=0;try{switch(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return FS.mknod(r,t,n),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(e,r,t,n){r>>>=0,t>>>=0;try{r=SYSCALLS.getStr(r);var a=n&256,o=n&4096;return n=n&-6401,r=SYSCALLS.calculateAt(e,r,o),SYSCALLS.doStat(a?FS.lstat:FS.stat,r,t)}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(e,r,t,n){r>>>=0,n>>>=0,SYSCALLS.varargs=n;try{r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r);var a=n?syscallGetVarargI():0;return FS.open(r,t,a).fd}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(e){return FS.createNode(null,"/",16895,0)},createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=PIPEFS.nextname(),t=PIPEFS.nextname(),n=FS.createNode(PIPEFS.root,r,4096,0),a=FS.createNode(PIPEFS.root,t,4096,0);n.pipe=e,a.pipe=e;var o=FS.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:PIPEFS.stream_ops});n.stream=o;var _=FS.createStream({path:t,node:a,flags:1,seekable:!1,stream_ops:PIPEFS.stream_ops});return a.stream=_,{readable_fd:o.fd,writable_fd:_.fd}},stream_ops:{poll(e){var r=e.node.pipe;if((e.flags&2097155)===1)return 260;if(r.buckets.length>0)for(var t=0;t<r.buckets.length;t++){var n=r.buckets[t];if(n.offset-n.roffset>0)return 65}return 0},ioctl(e,r,t){return 28},fsync(e){return 28},read(e,r,t,n,a){for(var o=e.node.pipe,_=0,l=0;l<o.buckets.length;l++){var c=o.buckets[l];_+=c.offset-c.roffset}var u=r.subarray(t,t+n);if(n<=0)return 0;if(_==0)throw new FS.ErrnoError(6);for(var d=Math.min(_,n),f=d,p=0,l=0;l<o.buckets.length;l++){var m=o.buckets[l],v=m.offset-m.roffset;if(d<=v){var g=m.buffer.subarray(m.roffset,m.offset);d<v?(g=g.subarray(0,d),m.roffset+=d):p++,u.set(g);break}else{var g=m.buffer.subarray(m.roffset,m.offset);u.set(g),u=u.subarray(g.byteLength),d-=g.byteLength,p++}}return p&&p==o.buckets.length&&(p--,o.buckets[p].offset=0,o.buckets[p].roffset=0),o.buckets.splice(0,p),f},write(e,r,t,n,a){var o=e.node.pipe,_=r.subarray(t,t+n),l=_.byteLength;if(l<=0)return 0;var c=null;o.buckets.length==0?(c={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0},o.buckets.push(c)):c=o.buckets[o.buckets.length-1],assert(c.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var u=PIPEFS.BUCKET_BUFFER_SIZE-c.offset;if(u>=l)return c.buffer.set(_,c.offset),c.offset+=l,l;u>0&&(c.buffer.set(_.subarray(0,u),c.offset),c.offset+=u,_=_.subarray(u,_.byteLength));for(var d=_.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0,f=_.byteLength%PIPEFS.BUCKET_BUFFER_SIZE,p=0;p<d;p++){var m={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};o.buckets.push(m),m.buffer.set(_.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE)),_=_.subarray(PIPEFS.BUCKET_BUFFER_SIZE,_.byteLength)}if(f>0){var m={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:_.byteLength,roffset:0};o.buckets.push(m),m.buffer.set(_)}return l},close(e){var r=e.node.pipe;r.refcnt--,r.refcnt===0&&(r.buckets=null)}},nextname(){return PIPEFS.nextname.current||(PIPEFS.nextname.current=0),"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(e){e>>>=0;try{if(e==0)throw new FS.ErrnoError(21);var r=PIPEFS.createPipe();return HEAP32[e>>>2>>>0]=r.readable_fd,HEAP32[e+4>>>2>>>0]=r.writable_fd,0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(e,r,t){e>>>=0;try{for(var n=0,a=0;a<r;a++){var o=e+8*a,_=HEAP32[o>>>2>>>0],l=HEAP16[o+4>>>1>>>0],c=32,u=FS.getStream(_);u&&(c=SYSCALLS.DEFAULT_POLLMASK,u.stream_ops.poll&&(c=u.stream_ops.poll(u,-1))),c&=l|8|16,c&&n++,HEAP16[o+6>>>1>>>0]=c}return n}catch(d){if(typeof FS>"u"||d.name!=="ErrnoError")throw d;return-d.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),n<=0)return-28;var a=FS.readlink(r),o=Math.min(n,lengthBytesUTF8(a)),_=HEAP8[t+o>>>0];return stringToUTF8(a,t,n+1),HEAP8[t+o>>>0]=_,o}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(e,r,t,n,a,o){r>>>=0,t>>>=0,a>>>=0,o>>>=0;try{var _=getSocketFromFD(e),l=_.sock_ops.recvmsg(_,t);if(!l)return 0;if(a)var c=writeSockaddr(a,_.family,DNS.lookup_name(l.addr),l.port,o);return HEAPU8.set(l.buffer,r>>>0),l.buffer.byteLength}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(e,r,t,n,a,o){r>>>=0;try{for(var _=getSocketFromFD(e),l=HEAPU32[r+8>>>2>>>0],c=HEAP32[r+12>>>2>>>0],u=0,d=0;d<c;d++)u+=HEAP32[l+(8*d+4)>>>2>>>0];var f=_.sock_ops.recvmsg(_,u);if(!f)return 0;var p=HEAPU32[r>>>2>>>0];if(p)var m=writeSockaddr(p,_.family,DNS.lookup_name(f.addr),f.port);for(var v=0,g=f.buffer.byteLength,d=0;g>0&&d<c;d++){var S=HEAPU32[l+(8*d+0)>>>2>>>0],h=HEAP32[l+(8*d+4)>>>2>>>0];if(h){var b=Math.min(h,g),A=f.buffer.subarray(v,v+b);HEAPU8.set(A,S+v>>>0),v+=b,g-=b}}return v}catch(w){if(typeof FS>"u"||w.name!=="ErrnoError")throw w;return-w.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(e,r,t,n){r>>>=0,n>>>=0;try{return r=SYSCALLS.getStr(r),n=SYSCALLS.getStr(n),r=SYSCALLS.calculateAt(e,r),n=SYSCALLS.calculateAt(t,n),FS.rename(r,n),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(e){e>>>=0;try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(e,r,t,n,a,o){r>>>=0,n>>>=0,a>>>=0;try{var _=getSocketFromFD(e),l=HEAPU32[r+8>>>2>>>0],c=HEAP32[r+12>>>2>>>0],u,d,f=HEAPU32[r>>>2>>>0],p=HEAP32[r+4>>>2>>>0];if(f){var m=getSocketAddress(f,p);d=m.port,u=m.addr}for(var v=0,g=0;g<c;g++)v+=HEAP32[l+(8*g+4)>>>2>>>0];for(var S=new Uint8Array(v),h=0,g=0;g<c;g++)for(var b=HEAPU32[l+(8*g+0)>>>2>>>0],A=HEAP32[l+(8*g+4)>>>2>>>0],w=0;w<A;w++)S[h++]=HEAP8[b+w>>>0];return _.sock_ops.sendmsg(_,S,0,v,u,d)}catch(L){if(typeof FS>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(e,r,t,n,a,o){r>>>=0,t>>>=0,a>>>=0,o>>>=0;try{var _=getSocketFromFD(e);if(!a)return FS.write(_.stream,HEAP8,r,t);var l=getSocketAddress(a,o);return _.sock_ops.sendmsg(_,HEAP8,r,t,l.addr,l.port)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(e,r,t){try{var n=SOCKFS.createSocket(e,r,t);return n.stream.fd}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(e,r){e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlink(e,r){e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),r=SYSCALLS.getStr(r),FS.symlink(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_symlink.sig="ipp";function ___syscall_symlinkat(e,r,t){e>>>=0,t>>>=0;try{return t=SYSCALLS.calculateAt(r,t),FS.symlink(e,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(e,r,t){e>>>=0;var n=convertI32PairToI53Checked(r,t);try{return isNaN(n)?61:(e=SYSCALLS.getStr(e),FS.truncate(e,n),0)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_truncate64.sig="ipii";function ___syscall_unlinkat(e,r,t){r>>>=0;try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t===0?FS.unlink(r):t===512?FS.rmdir(r):abort("Invalid flags passed to unlinkat"),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_unlinkat.sig="iipi";var readI53FromI64=e=>HEAPU32[e>>>2>>>0]+HEAP32[e+4>>>2>>>0]*4294967296;function ___syscall_utimensat(e,r,t,n){r>>>=0,t>>>=0;try{r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r,!0);var a=Date.now(),o,_;if(!t)o=a,_=a;else{var l=readI53FromI64(t),c=HEAP32[t+8>>>2>>>0];c==1073741823?o=a:c==1073741822?o=-1:o=l*1e3+c/1e6,t+=16,l=readI53FromI64(t),c=HEAP32[t+8>>>2>>>0],c==1073741823?_=a:c==1073741822?_=-1:_=l*1e3+c/1e6}return(_!=-1||o!=-1)&&FS.utime(r,o,_),0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=()=>{abort("")};__abort_js.sig="v";var ENV={},stackAlloc=e=>__emscripten_stack_alloc(e);Module.stackAlloc=stackAlloc;var stringToUTF8OnStack=e=>{var r=lengthBytesUTF8(e)+1,t=stackAlloc(r);return stringToUTF8(e,t,r),t},dlSetError=e=>{var r=stackSave(),t=stringToUTF8OnStack(e);___dl_seterr(t,0),stackRestore(r)},dlopenInternal=(e,r)=>{var t=UTF8ToString(e+36),n=HEAP32[e+4>>>2>>>0];t=PATH.normalize(t);var a=[],o=!!(n&256),_=o?null:{},l={global:o,nodelete:!!(n&4096),loadAsync:r.loadAsync};if(r.loadAsync)return loadDynamicLibrary(t,l,_,e);try{return loadDynamicLibrary(t,l,_,e)}catch(c){return dlSetError("Could not load dynamic lib: ".concat(t,"\n").concat(c)),0}};function __dlopen_js(e){return e>>>=0,dlopenInternal(e,{loadAsync:!1})}__dlopen_js.sig="pp";function __dlsym_js(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=UTF8ToString(r);var n,a,o=LDSO.loadedLibsByHandle[e];if(!o.exports.hasOwnProperty(r)||o.exports[r].stub)return dlSetError('Tried to lookup unknown symbol "'.concat(r,'" in dynamic lib: ').concat(o.name)),0;a=Object.keys(o.exports).indexOf(r);var _="orig$"+r;if(n=o.exports[_],n?a=Object.keys(o.exports).indexOf(_):n=o.exports[r],typeof n=="function"){var l=getFunctionAddress(n);l?n=l:(n=addFunction(n,n.sig),HEAPU32[t>>>2>>>0]=a)}return n}__dlsym_js.sig="pppp";function __embind_register_bigint(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0}__embind_register_bigint.sig="vpppiiii";var embind_init_charCodes=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);embind_charCodes=e},embind_charCodes,readLatin1String=e=>{for(var r="",t=e;HEAPU8[t>>>0];)r+=embind_charCodes[HEAPU8[t++>>>0]];return r},awaitingDependencies={},registeredTypes={},typeDependencies={},BindingError,throwBindingError=e=>{throw new BindingError(e)},InternalError,throwInternalError=e=>{throw new InternalError(e)},whenDependentTypesAreResolved=(e,r,t)=>{e.forEach(l=>typeDependencies[l]=r);function n(l){var c=t(l);c.length!==e.length&&throwInternalError("Mismatched type converter count");for(var u=0;u<e.length;++u)registerType(e[u],c[u])}var a=new Array(r.length),o=[],_=0;r.forEach((l,c)=>{registeredTypes.hasOwnProperty(l)?a[c]=registeredTypes[l]:(o.push(l),awaitingDependencies.hasOwnProperty(l)||(awaitingDependencies[l]=[]),awaitingDependencies[l].push(()=>{a[c]=registeredTypes[l],++_,_===o.length&&n(a)}))}),o.length===0&&n(a)};function sharedRegisterType(e,r,t={}){var n=r.name;if(e||throwBindingError('type "'.concat(n,'" must have a positive integer typeid pointer')),registeredTypes.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;throwBindingError("Cannot register type '".concat(n,"' twice"))}if(registeredTypes[e]=r,delete typeDependencies[e],awaitingDependencies.hasOwnProperty(e)){var a=awaitingDependencies[e];delete awaitingDependencies[e],a.forEach(o=>o())}}function registerType(e,r,t={}){return sharedRegisterType(e,r,t)}var GenericWireTypeSize=8;function __embind_register_bool(e,r,t,n){e>>>=0,r>>>=0,r=readLatin1String(r),registerType(e,{name:r,fromWireType:function(a){return!!a},toWireType:function(a,o){return o?t:n},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(a){return this.fromWireType(HEAPU8[a>>>0])},destructorFunction:null})}__embind_register_bool.sig="vppii";var emval_freelist=[],emval_handles=[];function __emval_decref(e){e>>>=0,e>9&&--emval_handles[e+1]===0&&(emval_handles[e]=void 0,emval_freelist.push(e))}__emval_decref.sig="vp";var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length,init_emval=()=>{emval_handles.push(0,1,void 0,1,null,1,!0,1,!1,1),Module.count_emval_handles=count_emval_handles},Emval={toValue:e=>(e||throwBindingError("Cannot use deleted val. handle = "+e),emval_handles[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let r=emval_freelist.pop()||emval_handles.length;return emval_handles[r]=e,emval_handles[r+1]=1,r}}}};function readPointer(e){return this.fromWireType(HEAPU32[e>>>2>>>0])}var EmValType={name:"emscripten::val",fromWireType:e=>{var r=Emval.toValue(e);return __emval_decref(e),r},toWireType:(e,r)=>Emval.toHandle(r),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};function __embind_register_emval(e){return e>>>=0,registerType(e,EmValType)}__embind_register_emval.sig="vp";var embindRepr=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e},floatReadValueFromPointer=(e,r)=>{switch(r){case 4:return function(t){return this.fromWireType(HEAPF32[t>>>2>>>0])};case 8:return function(t){return this.fromWireType(HEAPF64[t>>>3>>>0])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},__embind_register_float=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r),registerType(e,{name:r,fromWireType:n=>n,toWireType:(n,a)=>a,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(r,t),destructorFunction:null})};__embind_register_float.sig="vppp";var integerReadValueFromPointer=(e,r,t)=>{switch(r){case 1:return t?n=>HEAP8[n>>>0]:n=>HEAPU8[n>>>0];case 2:return t?n=>HEAP16[n>>>1>>>0]:n=>HEAPU16[n>>>1>>>0];case 4:return t?n=>HEAP32[n>>>2>>>0]:n=>HEAPU32[n>>>2>>>0];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}};function __embind_register_integer(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r),a===-1&&(a=4294967295);var o=d=>d;if(n===0){var _=32-8*t;o=d=>d<<_>>>_}var l=r.includes("unsigned"),c=(d,f)=>{},u;l?u=function(d,f){return c(f,this.name),f>>>0}:u=function(d,f){return c(f,this.name),f},registerType(e,{name:r,fromWireType:o,toWireType:u,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(r,t,n!==0),destructorFunction:null})}__embind_register_integer.sig="vpppii";function __embind_register_memory_view(e,r,t){e>>>=0,t>>>=0;var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],a=n[r];function o(_){var l=HEAPU32[_>>>2>>>0],c=HEAPU32[_+4>>>2>>>0];return new a(HEAP8.buffer,c,l)}t=readLatin1String(t),registerType(e,{name:t,fromWireType:o,argPackAdvance:GenericWireTypeSize,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})}__embind_register_memory_view.sig="vpip";function __embind_register_std_string(e,r){e>>>=0,r>>>=0,r=readLatin1String(r);var t=r==="std::string";registerType(e,{name:r,fromWireType(n){var a=HEAPU32[n>>>2>>>0],o=n+4,_;if(t)for(var l=o,c=0;c<=a;++c){var u=o+c;if(c==a||HEAPU8[u>>>0]==0){var d=u-l,f=UTF8ToString(l,d);_===void 0?_=f:(_+="\0",_+=f),l=u+1}}else{for(var p=new Array(a),c=0;c<a;++c)p[c]=String.fromCharCode(HEAPU8[o+c>>>0]);_=p.join("")}return _free(n),_},toWireType(n,a){a instanceof ArrayBuffer&&(a=new Uint8Array(a));var o,_=typeof a=="string";_||a instanceof Uint8Array||a instanceof Uint8ClampedArray||a instanceof Int8Array||throwBindingError("Cannot pass non-string to std::string"),t&&_?o=lengthBytesUTF8(a):o=a.length;var l=_malloc(4+o+1),c=l+4;if(HEAPU32[l>>>2>>>0]=o,t&&_)stringToUTF8(a,c,o+1);else if(_)for(var u=0;u<o;++u){var d=a.charCodeAt(u);d>255&&(_free(c),throwBindingError("String has UTF-16 code units that do not fit in 8 bits")),HEAPU8[c+u>>>0]=d}else for(var u=0;u<o;++u)HEAPU8[c+u>>>0]=a[u];return n!==null&&n.push(_free,l),l},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(n){_free(n)}})}__embind_register_std_string.sig="vpp";var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,UTF16ToString=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&HEAPU16[n>>>0];)++n;if(t=n<<1,t-e>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(e>>>0,t>>>0));for(var o="",_=0;!(_>=r/2);++_){var l=HEAP16[e+_*2>>>1>>>0];if(l==0)break;o+=String.fromCharCode(l)}return o},stringToUTF16=(e,r,t)=>{if(t!=null||(t=2147483647),t<2)return 0;t-=2;for(var n=r,a=t<e.length*2?t/2:e.length,o=0;o<a;++o){var _=e.charCodeAt(o);HEAP16[r>>>1>>>0]=_,r+=2}return HEAP16[r>>>1>>>0]=0,r-n},lengthBytesUTF16=e=>e.length*2,UTF32ToString=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=HEAP32[e+t*4>>>2>>>0];if(a==0)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|o&1023)}else n+=String.fromCharCode(a)}return n},stringToUTF32=(e,r,t)=>{if(r>>>=0,t!=null||(t=2147483647),t<4)return 0;for(var n=r,a=n+t-4,o=0;o<e.length;++o){var _=e.charCodeAt(o);if(_>=55296&&_<=57343){var l=e.charCodeAt(++o);_=65536+((_&1023)<<10)|l&1023}if(HEAP32[r>>>2>>>0]=_,r+=4,r+4>a)break}return HEAP32[r>>>2>>>0]=0,r-n},lengthBytesUTF32=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},__embind_register_std_wstring=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,t=readLatin1String(t);var n,a,o,_;r===2?(n=UTF16ToString,a=stringToUTF16,_=lengthBytesUTF16,o=l=>HEAPU16[l>>>1>>>0]):r===4&&(n=UTF32ToString,a=stringToUTF32,_=lengthBytesUTF32,o=l=>HEAPU32[l>>>2>>>0]),registerType(e,{name:t,fromWireType:l=>{for(var c=HEAPU32[l>>>2>>>0],u,d=l+4,f=0;f<=c;++f){var p=l+4+f*r;if(f==c||o(p)==0){var m=p-d,v=n(d,m);u===void 0?u=v:(u+="\0",u+=v),d=p+r}}return _free(l),u},toWireType:(l,c)=>{typeof c!="string"&&throwBindingError("Cannot pass non-string to C++ string type ".concat(t));var u=_(c),d=_malloc(4+u+r);return HEAPU32[d>>>2>>>0]=u/r,a(c,d+4,u+r),l!==null&&l.push(_free,d),d},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(l){_free(l)}})};__embind_register_std_wstring.sig="vppp";var __embind_register_void=function(e,r){e>>>=0,r>>>=0,r=readLatin1String(r),registerType(e,{isVoid:!0,name:r,argPackAdvance:0,fromWireType:()=>{},toWireType:(t,n)=>{}})};__embind_register_void.sig="vpp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind")return EXITSTATUS;quit_(1,e)},runtimeKeepaliveCounter=0,keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,_proc_exit=e=>{var r;EXITSTATUS=e,keepRuntimeAlive()||((r=Module.onExit)==null||r.call(Module,e),ABORT=!0),quit_(e,new ExitStatus(e))};_proc_exit.sig="vi";var exitJS=(e,r)=>{EXITSTATUS=e,_proc_exit(e)},_exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive())try{_exit(EXITSTATUS)}catch(e){handleException(e)}},callUserCallback=e=>{if(!ABORT)try{e(),maybeExit()}catch(r){handleException(r)}};function __emscripten_dlopen_js(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;function a(l){var c=UTF8ToString(e+36);dlSetError("'Could not load dynamic lib: ".concat(c,"\n").concat(l)),callUserCallback(()=>getWasmTableEntry(t)(e,n))}function o(){callUserCallback(()=>getWasmTableEntry(r)(e,n))}var _=dlopenInternal(e,{loadAsync:!0});_?_.then(o,a):a()}__emscripten_dlopen_js.sig="vpppp";var nowIsMonotonic=1,__emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var getExecutableName=()=>thisProgram||"./this.program";function __emscripten_get_progname(e,r){e>>>=0,stringToUTF8(getExecutableName(),e,r)}__emscripten_get_progname.sig="vpi";function __emscripten_lookup_name(e){e>>>=0;var r=UTF8ToString(e);return inetPton4(DNS.lookup_name(r))}__emscripten_lookup_name.sig="ip";function __emscripten_memcpy_js(e,r,t){return e>>>=0,r>>>=0,t>>>=0,HEAPU8.copyWithin(e>>>0,r>>>0,r+t>>>0)}__emscripten_memcpy_js.sig="vppp";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=!1,runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";function __emscripten_set_offscreencanvas_size(e,r,t){return e>>>=0,-1}__emscripten_set_offscreencanvas_size.sig="ipii";function __emscripten_system(e){if(e>>>=0,ENVIRONMENT_IS_NODE){if(!e)return 1;var r=UTF8ToString(e);if(!r.length)return 0;var t=["child_process"].map(K),n=t.spawnSync(r,[],{shell:!0,stdio:"inherit"}),a=(_,l)=>_<<8|l;if(n.status===null){var o=_=>{switch(_){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return a(0,o(n.signal))}return a(n.status,0)}return e?-52:0}__emscripten_system.sig="ip";var __emscripten_throw_longjmp=()=>{throw 1/0};__emscripten_throw_longjmp.sig="v";var emval_symbols={},getStringOrSymbol=e=>{var r=emval_symbols[e];return r===void 0?readLatin1String(e):r},emval_methodCallers=[];function __emval_call_method(e,r,t,n,a){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,e=emval_methodCallers[e],r=Emval.toValue(r),t=getStringOrSymbol(t),e(r,r[t],n,a)}__emval_call_method.sig="dppppp";var emval_get_global=()=>typeof globalThis=="object"?globalThis:function(){return Function}()("return this")();function __emval_get_global(e){return e>>>=0,e===0?Emval.toHandle(emval_get_global()):(e=getStringOrSymbol(e),Emval.toHandle(emval_get_global()[e]))}__emval_get_global.sig="pp";var emval_addMethodCaller=e=>{var r=emval_methodCallers.length;return emval_methodCallers.push(e),r},getTypeName=e=>{var r=___getTypeName(e),t=readLatin1String(r);return _free(r),t},requireRegisteredType=(e,r)=>{var t=registeredTypes[e];return t===void 0&&throwBindingError("".concat(r," has unknown type ").concat(getTypeName(e))),t},emval_lookupTypes=(e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=requireRegisteredType(HEAPU32[r+n*4>>>2>>>0],"parameter "+n);return t},createNamedFunction=(e,r)=>Object.defineProperty(r,"name",{value:e}),reflectConstruct=Reflect.construct,emval_returnValue=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(HEAPU32[r>>>2>>>0]=Emval.toHandle(n)),a};function newFunc(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=createNamedFunction(e.name||"unknownFunctionName",function(){});t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function __emval_get_method_caller(e,r,t){r>>>=0;var n=emval_lookupTypes(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",_=0,l=[];t===0&&l.push("obj");for(var c=["retType"],u=[a],d=0;d<e;++d)l.push("arg"+d),c.push("argType"+d),u.push(n[d]),o+=" var arg".concat(d," = argType").concat(d,".readValueFromPointer(args").concat(_?"+"+_:"",");\n"),_+=n[d].argPackAdvance;var f=t===1?"new func":"func.call";o+=" var rv = ".concat(f,"(").concat(l.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(emval_returnValue),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var p=newFunc(Function,c)(...u),m="methodCaller<(".concat(n.map(v=>v.name).join(", "),") => ").concat(a.name,">");return emval_addMethodCaller(createNamedFunction(m,p))}__emval_get_method_caller.sig="pipi";var runDestructors=e=>{for(;e.length;){var r=e.pop(),t=e.pop();t(r)}};function __emval_run_destructors(e){e>>>=0;var r=Emval.toValue(e);runDestructors(r),__emval_decref(e)}__emval_run_destructors.sig="vp";function __gmtime_js(e,r,t){var n=convertI32PairToI53Checked(e,r);t>>>=0;var a=new Date(n*1e3);HEAP32[t>>>2>>>0]=a.getUTCSeconds(),HEAP32[t+4>>>2>>>0]=a.getUTCMinutes(),HEAP32[t+8>>>2>>>0]=a.getUTCHours(),HEAP32[t+12>>>2>>>0]=a.getUTCDate(),HEAP32[t+16>>>2>>>0]=a.getUTCMonth(),HEAP32[t+20>>>2>>>0]=a.getUTCFullYear()-1900,HEAP32[t+24>>>2>>>0]=a.getUTCDay();var o=Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0),_=(a.getTime()-o)/(1e3*60*60*24)|0;HEAP32[t+28>>>2>>>0]=_}__gmtime_js.sig="viip";var isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>{var r=isLeapYear(e.getFullYear()),t=r?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,n=t[e.getMonth()]+e.getDate()-1;return n};function __localtime_js(e,r,t){var n=convertI32PairToI53Checked(e,r);t>>>=0;var a=new Date(n*1e3);HEAP32[t>>>2>>>0]=a.getSeconds(),HEAP32[t+4>>>2>>>0]=a.getMinutes(),HEAP32[t+8>>>2>>>0]=a.getHours(),HEAP32[t+12>>>2>>>0]=a.getDate(),HEAP32[t+16>>>2>>>0]=a.getMonth(),HEAP32[t+20>>>2>>>0]=a.getFullYear()-1900,HEAP32[t+24>>>2>>>0]=a.getDay();var o=ydayFromDate(a)|0;HEAP32[t+28>>>2>>>0]=o,HEAP32[t+36>>>2>>>0]=-(a.getTimezoneOffset()*60);var _=new Date(a.getFullYear(),0,1),l=new Date(a.getFullYear(),6,1).getTimezoneOffset(),c=_.getTimezoneOffset(),u=(l!=c&&a.getTimezoneOffset()==Math.min(c,l))|0;HEAP32[t+32>>>2>>>0]=u}__localtime_js.sig="viip";var __mktime_js=function(e){e>>>=0;var r=(()=>{var t=new Date(HEAP32[e+20>>>2>>>0]+1900,HEAP32[e+16>>>2>>>0],HEAP32[e+12>>>2>>>0],HEAP32[e+8>>>2>>>0],HEAP32[e+4>>>2>>>0],HEAP32[e>>>2>>>0],0),n=HEAP32[e+32>>>2>>>0],a=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),_=new Date(t.getFullYear(),6,1).getTimezoneOffset(),l=o.getTimezoneOffset(),c=Math.min(l,_);if(n<0)HEAP32[e+32>>>2>>>0]=+(_!=l&&c==a);else if(n>0!=(c==a)){var u=Math.max(l,_),d=n>0?c:u;t.setTime(t.getTime()+(d-a)*6e4)}HEAP32[e+24>>>2>>>0]=t.getDay();var f=ydayFromDate(t)|0;HEAP32[e+28>>>2>>>0]=f,HEAP32[e>>>2>>>0]=t.getSeconds(),HEAP32[e+4>>>2>>>0]=t.getMinutes(),HEAP32[e+8>>>2>>>0]=t.getHours(),HEAP32[e+12>>>2>>>0]=t.getDate(),HEAP32[e+16>>>2>>>0]=t.getMonth(),HEAP32[e+20>>>2>>>0]=t.getYear();var p=t.getTime();return isNaN(p)?-1:p/1e3})();return setTempRet0((tempDouble=r,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),r>>>0};__mktime_js.sig="ip";function __mmap_js(e,r,t,n,a,o,_,l){e>>>=0;var c=convertI32PairToI53Checked(a,o);_>>>=0,l>>>=0;try{if(isNaN(c))return 61;var u=SYSCALLS.getStreamFromFD(n),d=FS.mmap(u,e,c,r,t),f=d.ptr;return HEAP32[_>>>2>>>0]=d.allocated,HEAPU32[l>>>2>>>0]=f,0}catch(p){if(typeof FS>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(e,r,t,n,a,o,_){e>>>=0,r>>>=0;var l=convertI32PairToI53Checked(o,_);try{return isNaN(l)?61:(SYSCALLS.doMsync(e,SYSCALLS.getStreamFromFD(a),r,n,l),0)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}__msync_js.sig="ippiiiii";function __munmap_js(e,r,t,n,a,o,_){e>>>=0,r>>>=0;var l=convertI32PairToI53Checked(o,_);try{var c=SYSCALLS.getStreamFromFD(a);t&2&&SYSCALLS.doMsync(e,c,r,n,l)}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}__munmap_js.sig="ippiiiii";var timers={},_emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(e,r)=>{if(timers[e]&&(clearTimeout(timers[e].id),delete timers[e]),!r)return 0;var t=setTimeout(()=>{delete timers[e],callUserCallback(()=>__emscripten_timeout(e,_emscripten_get_now()))},r);return timers[e]={id:t,timeout_ms:r},0};__setitimer_js.sig="iid";var __timegm_js=function(e){e>>>=0;var r=(()=>{var t=Date.UTC(HEAP32[e+20>>>2>>>0]+1900,HEAP32[e+16>>>2>>>0],HEAP32[e+12>>>2>>>0],HEAP32[e+8>>>2>>>0],HEAP32[e+4>>>2>>>0],HEAP32[e>>>2>>>0],0),n=new Date(t);HEAP32[e+24>>>2>>>0]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/(1e3*60*60*24)|0;return HEAP32[e+28>>>2>>>0]=o,n.getTime()/1e3})();return setTempRet0((tempDouble=r,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),r>>>0};__timegm_js.sig="ip";var __tzset_js=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=new Date().getFullYear(),o=new Date(a,0,1),_=new Date(a,6,1),l=o.getTimezoneOffset(),c=_.getTimezoneOffset(),u=Math.max(l,c);HEAPU32[e>>>2>>>0]=u*60,HEAP32[r>>>2>>>0]=+(l!=c);var d=m=>{var v=m>=0?"-":"+",g=Math.abs(m),S=String(Math.floor(g/60)).padStart(2,"0"),h=String(g%60).padStart(2,"0");return"UTC".concat(v).concat(S).concat(h)},f=d(l),p=d(c);c<l?(stringToUTF8(f,t,17),stringToUTF8(p,n,17)):(stringToUTF8(f,n,17),stringToUTF8(p,t,17))};__tzset_js.sig="vpppp";var _emscripten_set_main_loop_timing=(e,r)=>{if(MainLoop.timingMode=e,MainLoop.timingValue=r,!MainLoop.func)return 1;if(MainLoop.running||(MainLoop.running=!0),e==0)MainLoop.scheduler=function(){var _=Math.max(0,MainLoop.tickStartTime+r-_emscripten_get_now())|0;setTimeout(MainLoop.runner,_)},MainLoop.method="timeout";else if(e==1)MainLoop.scheduler=function(){MainLoop.requestAnimationFrame(MainLoop.runner)},MainLoop.method="rAF";else if(e==2){if(typeof MainLoop.setImmediate>"u")if(typeof setImmediate>"u"){var t=[],n="setimmediate",a=o=>{(o.data===n||o.data.target===n)&&(o.stopPropagation(),t.shift()())};addEventListener("message",a,!0),MainLoop.setImmediate=o=>{var _;t.push(o),ENVIRONMENT_IS_WORKER?((_=Module.setImmediates)!=null||(Module.setImmediates=[]),Module.setImmediates.push(o),postMessage({target:n})):postMessage(n,"*")}}else MainLoop.setImmediate=setImmediate;MainLoop.scheduler=function(){MainLoop.setImmediate(MainLoop.runner)},MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(e,r,t,n,a)=>{MainLoop.func=e,MainLoop.arg=n;var o=MainLoop.currentlyRunningMainloop;function _(){return o<MainLoop.currentlyRunningMainloop?(maybeExit(),!1):!0}if(MainLoop.running=!1,MainLoop.runner=function(){if(!ABORT){if(MainLoop.queue.length>0){var c=Date.now(),u=MainLoop.queue.shift();if(u.func(u.arg),MainLoop.remainingBlockers){var d=MainLoop.remainingBlockers,f=d%1==0?d-1:Math.floor(d);u.counted?MainLoop.remainingBlockers=f:(f=f+.5,MainLoop.remainingBlockers=(8*d+f)/9)}if(MainLoop.updateStatus(),!_())return;setTimeout(MainLoop.runner,0);return}if(_()){if(MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0,MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else MainLoop.timingMode==0&&(MainLoop.tickStartTime=_emscripten_get_now());MainLoop.runIter(e),_()&&MainLoop.scheduler()}}},a||(r&&r>0?_emscripten_set_main_loop_timing(0,1e3/r):_emscripten_set_main_loop_timing(1,1),MainLoop.scheduler()),t)throw"unwind"},MainLoop={running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null,MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var e=MainLoop.timingMode,r=MainLoop.timingValue,t=MainLoop.func;MainLoop.func=null,setMainLoop(t,0,!1,MainLoop.arg,!0),_emscripten_set_main_loop_timing(e,r),MainLoop.scheduler()},updateStatus(){var n,a;if(Module.setStatus){var e=Module.statusMessage||"Please wait...",r=(n=MainLoop.remainingBlockers)!=null?n:0,t=(a=MainLoop.expectedBlockers)!=null?a:0;r?r<t?Module.setStatus("{message} ({expected - remaining}/{expected})"):Module.setStatus(e):Module.setStatus("")}},init(){Module.preMainLoop&&MainLoop.preMainLoop.push(Module.preMainLoop),Module.postMainLoop&&MainLoop.postMainLoop.push(Module.postMainLoop)},runIter(e){if(!ABORT){for(var r of MainLoop.preMainLoop)if(r()===!1)return;callUserCallback(e);for(var t of MainLoop.postMainLoop)t()}},nextRAF:0,fakeRequestAnimationFrame(e){var r=Date.now();if(MainLoop.nextRAF===0)MainLoop.nextRAF=r+1e3/60;else for(;r+2>=MainLoop.nextRAF;)MainLoop.nextRAF+=1e3/60;var t=Math.max(MainLoop.nextRAF-r,0);setTimeout(e,t)},requestAnimationFrame(e){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(e);return}var r=MainLoop.fakeRequestAnimationFrame;r(e)}},AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:!0,ALC_SOFT_HRTF:!0},AL_EXTENSIONS:{AL_EXT_float32:!0,AL_SOFT_loop_points:!0,AL_SOFT_source_length:!0,AL_EXT_source_distance_model:!0,AL_SOFT_source_spatialize:!0},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:!1,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:e=>{if(!(MainLoop.timingMode===1&&document.visibilityState!="visible"))for(var r in e.sources)AL.scheduleSourceAudio(e.sources[r])},scheduleSourceAudio:(e,r)=>{if(!(MainLoop.timingMode===1&&document.visibilityState!="visible")&&e.state===4114){for(var t=AL.updateSourceTime(e),n=e.bufStartTime,a=e.bufOffset,o=e.bufsProcessed,_=0;_<e.audioQueue.length;_++){var l=e.audioQueue[_];n=l._startTime+l._duration,a=0,o+=l._skipCount+1}r||(r=AL.QUEUE_LOOKAHEAD);for(var c=t+r,u=0;n<c;){if(o>=e.bufQueue.length)if(e.looping)o%=e.bufQueue.length;else break;var d=e.bufQueue[o%e.bufQueue.length];if(d.length===0){if(u++,u===e.bufQueue.length)break}else{var l=e.context.audioCtx.createBufferSource();l.buffer=d.audioBuf,l.playbackRate.value=e.playbackRate,(d.audioBuf._loopStart||d.audioBuf._loopEnd)&&(l.loopStart=d.audioBuf._loopStart,l.loopEnd=d.audioBuf._loopEnd);var f=0;e.type===4136&&e.looping?(f=Number.POSITIVE_INFINITY,l.loop=!0,d.audioBuf._loopStart&&(l.loopStart=d.audioBuf._loopStart),d.audioBuf._loopEnd&&(l.loopEnd=d.audioBuf._loopEnd)):f=(d.audioBuf.duration-a)/e.playbackRate,l._startOffset=a,l._duration=f,l._skipCount=u,u=0,l.connect(e.gain),typeof l.start<"u"?(n=Math.max(n,e.context.audioCtx.currentTime),l.start(n,a)):typeof l.noteOn<"u"&&(n=Math.max(n,e.context.audioCtx.currentTime),l.noteOn(n)),l._startTime=n,e.audioQueue.push(l),n+=f}a=0,o++}}},updateSourceTime:e=>{var r=e.context.audioCtx.currentTime;if(e.state!==4114)return r;isFinite(e.bufStartTime)||(e.bufStartTime=r-e.bufOffset/e.playbackRate,e.bufOffset=0);for(var t=0;e.audioQueue.length;){var n=e.audioQueue[0];if(e.bufsProcessed+=n._skipCount,t=n._startTime+n._duration,r<t)break;e.audioQueue.shift(),e.bufStartTime=t,e.bufOffset=0,e.bufsProcessed++}if(e.bufsProcessed>=e.bufQueue.length&&!e.looping)AL.setSourceState(e,4116);else if(e.type===4136&&e.looping){var a=e.bufQueue[0];if(a.length===0)e.bufOffset=0;else{var o=(r-e.bufStartTime)*e.playbackRate,_=a.audioBuf._loopStart||0,l=a.audioBuf._loopEnd||a.audioBuf.duration;l<=_&&(l=a.audioBuf.duration),o<l?e.bufOffset=o:e.bufOffset=_+(o-_)%(l-_)}}else if(e.audioQueue[0])e.bufOffset=(r-e.audioQueue[0]._startTime)*e.playbackRate;else{if(e.type!==4136&&e.looping){var c=AL.sourceDuration(e)/e.playbackRate;c>0&&(e.bufStartTime+=Math.floor((r-e.bufStartTime)/c)*c)}for(var u=0;u<e.bufQueue.length;u++){if(e.bufsProcessed>=e.bufQueue.length)if(e.looping)e.bufsProcessed%=e.bufQueue.length;else{AL.setSourceState(e,4116);break}var a=e.bufQueue[e.bufsProcessed];if(a.length>0){if(t=e.bufStartTime+a.audioBuf.duration/e.playbackRate,r<t){e.bufOffset=(r-e.bufStartTime)*e.playbackRate;break}e.bufStartTime=t}e.bufOffset=0,e.bufsProcessed++}}return r},cancelPendingSourceAudio:e=>{AL.updateSourceTime(e);for(var r=1;r<e.audioQueue.length;r++){var t=e.audioQueue[r];t.stop()}e.audioQueue.length>1&&(e.audioQueue.length=1)},stopSourceAudio:e=>{for(var r=0;r<e.audioQueue.length;r++)e.audioQueue[r].stop();e.audioQueue.length=0},setSourceState:(e,r)=>{r===4114?((e.state===4114||e.state==4116)&&(e.bufsProcessed=0,e.bufOffset=0),AL.stopSourceAudio(e),e.state=4114,e.bufStartTime=Number.NEGATIVE_INFINITY,AL.scheduleSourceAudio(e)):r===4115?e.state===4114&&(AL.updateSourceTime(e),AL.stopSourceAudio(e),e.state=4115):r===4116?e.state!==4113&&(e.state=4116,e.bufsProcessed=e.bufQueue.length,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e)):r===4113&&e.state!==4113&&(e.state=4113,e.bufsProcessed=0,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e))},initSourcePanner:e=>{if(e.type!==4144){for(var r=AL.buffers[0],t=0;t<e.bufQueue.length;t++)if(e.bufQueue[t].id!==0){r=e.bufQueue[t];break}if(e.spatialize===1||e.spatialize===2&&r.channels===1){if(e.panner)return;e.panner=e.context.audioCtx.createPanner(),AL.updateSourceGlobal(e),AL.updateSourceSpace(e),e.panner.connect(e.context.gain),e.gain.disconnect(),e.gain.connect(e.panner)}else{if(!e.panner)return;e.panner.disconnect(),e.gain.disconnect(),e.gain.connect(e.context.gain),e.panner=null}}},updateContextGlobal:e=>{for(var r in e.sources)AL.updateSourceGlobal(e.sources[r])},updateSourceGlobal:e=>{var r=e.panner;if(r){r.refDistance=e.refDistance,r.maxDistance=e.maxDistance,r.rolloffFactor=e.rolloffFactor,r.panningModel=e.context.hrtf?"HRTF":"equalpower";var t=e.context.sourceDistanceModel?e.distanceModel:e.context.distanceModel;switch(t){case 0:r.distanceModel="inverse",r.refDistance=340282e33;break;case 53249:case 53250:r.distanceModel="inverse";break;case 53251:case 53252:r.distanceModel="linear";break;case 53253:case 53254:r.distanceModel="exponential";break}}},updateListenerSpace:e=>{var r=e.audioCtx.listener;r.positionX?(r.positionX.value=e.listener.position[0],r.positionY.value=e.listener.position[1],r.positionZ.value=e.listener.position[2]):r.setPosition(e.listener.position[0],e.listener.position[1],e.listener.position[2]),r.forwardX?(r.forwardX.value=e.listener.direction[0],r.forwardY.value=e.listener.direction[1],r.forwardZ.value=e.listener.direction[2],r.upX.value=e.listener.up[0],r.upY.value=e.listener.up[1],r.upZ.value=e.listener.up[2]):r.setOrientation(e.listener.direction[0],e.listener.direction[1],e.listener.direction[2],e.listener.up[0],e.listener.up[1],e.listener.up[2]);for(var t in e.sources)AL.updateSourceSpace(e.sources[t])},updateSourceSpace:e=>{if(e.panner){var r=e.panner,t=e.position[0],n=e.position[1],a=e.position[2],o=e.direction[0],_=e.direction[1],l=e.direction[2],c=e.context.listener,u=c.position[0],d=c.position[1],f=c.position[2];if(e.relative){var p=-c.direction[0],m=-c.direction[1],v=-c.direction[2],g=c.up[0],S=c.up[1],h=c.up[2],b=(oe,_e,le)=>{var ce=Math.sqrt(oe*oe+_e*_e+le*le);return ce<Number.EPSILON?0:1/ce},A=b(p,m,v);p*=A,m*=A,v*=A,A=b(g,S,h),g*=A,S*=A,h*=A;var w=S*v-h*m,L=h*p-g*v,F=g*m-S*p;A=b(w,L,F),w*=A,L*=A,F*=A,g=m*F-v*L,S=v*w-p*F,h=p*L-m*w;var y=o,D=_,P=l;o=y*w+D*g+P*p,_=y*L+D*S+P*m,l=y*F+D*h+P*v,y=t,D=n,P=a,t=y*w+D*g+P*p,n=y*L+D*S+P*m,a=y*F+D*h+P*v,t+=u,n+=d,a+=f}r.positionX?(t!=r.positionX.value&&(r.positionX.value=t),n!=r.positionY.value&&(r.positionY.value=n),a!=r.positionZ.value&&(r.positionZ.value=a)):r.setPosition(t,n,a),r.orientationX?(o!=r.orientationX.value&&(r.orientationX.value=o),_!=r.orientationY.value&&(r.orientationY.value=_),l!=r.orientationZ.value&&(r.orientationZ.value=l)):r.setOrientation(o,_,l);var k=e.dopplerShift,x=e.velocity[0],T=e.velocity[1],C=e.velocity[2],M=c.velocity[0],G=c.velocity[1],H=c.velocity[2];if(t===u&&n===d&&a===f||x===M&&T===G&&C===H)e.dopplerShift=1;else{var U=e.context.speedOfSound,R=e.context.dopplerFactor,V=u-t,j=d-n,N=f-a,ee=Math.sqrt(V*V+j*j+N*N),z=(V*M+j*G+N*H)/ee,$=(V*x+j*T+N*C)/ee;z=Math.min(z,U/R),$=Math.min($,U/R),e.dopplerShift=(U-R*z)/(U-R*$)}e.dopplerShift!==k&&AL.updateSourceRate(e)}},updateSourceRate:e=>{if(e.state===4114){AL.cancelPendingSourceAudio(e);var r=e.audioQueue[0];if(!r)return;var t;e.type===4136&&e.looping?t=Number.POSITIVE_INFINITY:t=(r.buffer.duration-r._startOffset)/e.playbackRate,r._duration=t,r.playbackRate.value=e.playbackRate,AL.scheduleSourceAudio(e)}},sourceDuration:e=>{for(var r=0,t=0;t<e.bufQueue.length;t++){var n=e.bufQueue[t].audioBuf;r+=n?n.duration:0}return r},sourceTell:e=>{AL.updateSourceTime(e);for(var r=0,t=0;t<e.bufsProcessed;t++)e.bufQueue[t].audioBuf&&(r+=e.bufQueue[t].audioBuf.duration);return r+=e.bufOffset,r},sourceSeek:(e,r)=>{var t=e.state==4114;if(t&&AL.setSourceState(e,4113),e.bufQueue[e.bufsProcessed].audioBuf!==null){for(e.bufsProcessed=0;r>e.bufQueue[e.bufsProcessed].audioBuf.duration;)r-=e.bufQueue[e.bufsProcessed].audioBuf.duration,e.bufsProcessed++;e.bufOffset=r}t&&AL.setSourceState(e,4114)},getGlobalParam:(e,r)=>{if(!AL.currentCtx)return null;switch(r){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:return AL.currentCtx.err=40962,null}},setGlobalParam:(e,r,t)=>{if(AL.currentCtx)switch(r){case 49152:if(!Number.isFinite(t)||t<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=t,AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(t)||t<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=t,AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(t){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=t,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(e,r)=>{if(!AL.currentCtx)return null;switch(r){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:return AL.currentCtx.err=40962,null}},setListenerParam:(e,r,t)=>{if(AL.currentCtx){if(t===null){AL.currentCtx.err=40962;return}var n=AL.currentCtx.listener;switch(r){case 4100:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])){AL.currentCtx.err=40963;return}n.position[0]=t[0],n.position[1]=t[1],n.position[2]=t[2],AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])){AL.currentCtx.err=40963;return}n.velocity[0]=t[0],n.velocity[1]=t[1],n.velocity[2]=t[2],AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(t)||t<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=t;break;case 4111:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])||!Number.isFinite(t[3])||!Number.isFinite(t[4])||!Number.isFinite(t[5])){AL.currentCtx.err=40963;return}n.direction[0]=t[0],n.direction[1]=t[1],n.direction[2]=t[2],n.up[0]=t[3],n.up[1]=t[4],n.up[2]=t[5],AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}},getBufferParam:(e,r,t)=>{if(AL.currentCtx){var n=AL.buffers[r];if(!n||r===0){AL.currentCtx.err=40961;return}switch(t){case 8193:return n.frequency;case 8194:return n.bytesPerSample*8;case 8195:return n.channels;case 8196:return n.length*n.bytesPerSample*n.channels;case 8213:return n.length===0?[0,0]:[(n.audioBuf._loopStart||0)*n.frequency,(n.audioBuf._loopEnd||n.length)*n.frequency];default:return AL.currentCtx.err=40962,null}}},setBufferParam:(e,r,t,n)=>{if(AL.currentCtx){var a=AL.buffers[r];if(!a||r===0){AL.currentCtx.err=40961;return}if(n===null){AL.currentCtx.err=40962;return}switch(t){case 8196:if(n!==0){AL.currentCtx.err=40963;return}break;case 8213:if(n[0]<0||n[0]>a.length||n[1]<0||n[1]>a.Length||n[0]>=n[1]){AL.currentCtx.err=40963;return}if(a.refCount>0){AL.currentCtx.err=40964;return}a.audioBuf&&(a.audioBuf._loopStart=n[0]/a.frequency,a.audioBuf._loopEnd=n[1]/a.frequency);break;default:AL.currentCtx.err=40962;return}}},getSourceParam:(e,r,t)=>{if(!AL.currentCtx)return null;var n=AL.currentCtx.sources[r];if(!n)return AL.currentCtx.err=40961,null;switch(t){case 514:return n.relative;case 4097:return n.coneInnerAngle;case 4098:return n.coneOuterAngle;case 4099:return n.pitch;case 4100:return n.position;case 4101:return n.direction;case 4102:return n.velocity;case 4103:return n.looping;case 4105:return n.type===4136?n.bufQueue[0].id:0;case 4106:return n.gain.gain.value;case 4109:return n.minGain;case 4110:return n.maxGain;case 4112:return n.state;case 4117:return n.bufQueue.length===1&&n.bufQueue[0].id===0?0:n.bufQueue.length;case 4118:return n.bufQueue.length===1&&n.bufQueue[0].id===0||n.looping?0:n.bufsProcessed;case 4128:return n.refDistance;case 4129:return n.rolloffFactor;case 4130:return n.coneOuterGain;case 4131:return n.maxDistance;case 4132:return AL.sourceTell(n);case 4133:var a=AL.sourceTell(n);return a>0&&(a*=n.bufQueue[0].frequency),a;case 4134:var a=AL.sourceTell(n);return a>0&&(a*=n.bufQueue[0].frequency*n.bufQueue[0].bytesPerSample),a;case 4135:return n.type;case 4628:return n.spatialize;case 8201:for(var l=0,o=0,_=0;_<n.bufQueue.length;_++)l+=n.bufQueue[_].length,n.bufQueue[_].id!==0&&(o=n.bufQueue[_].bytesPerSample*n.bufQueue[_].channels);return l*o;case 8202:for(var l=0,_=0;_<n.bufQueue.length;_++)l+=n.bufQueue[_].length;return l;case 8203:return AL.sourceDuration(n);case 53248:return n.distanceModel;default:return AL.currentCtx.err=40962,null}},setSourceParam:(e,r,t,n)=>{if(AL.currentCtx){var a=AL.currentCtx.sources[r];if(!a){AL.currentCtx.err=40961;return}if(n===null){AL.currentCtx.err=40962;return}switch(t){case 514:if(n===1)a.relative=!0,AL.updateSourceSpace(a);else if(n===0)a.relative=!1,AL.updateSourceSpace(a);else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(n)){AL.currentCtx.err=40963;return}a.coneInnerAngle=n,a.panner&&(a.panner.coneInnerAngle=n%360);break;case 4098:if(!Number.isFinite(n)){AL.currentCtx.err=40963;return}a.coneOuterAngle=n,a.panner&&(a.panner.coneOuterAngle=n%360);break;case 4099:if(!Number.isFinite(n)||n<=0){AL.currentCtx.err=40963;return}if(a.pitch===n)break;a.pitch=n,AL.updateSourceRate(a);break;case 4100:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}a.position[0]=n[0],a.position[1]=n[1],a.position[2]=n[2],AL.updateSourceSpace(a);break;case 4101:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}a.direction[0]=n[0],a.direction[1]=n[1],a.direction[2]=n[2],AL.updateSourceSpace(a);break;case 4102:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}a.velocity[0]=n[0],a.velocity[1]=n[1],a.velocity[2]=n[2],AL.updateSourceSpace(a);break;case 4103:if(n===1){if(a.looping=!0,AL.updateSourceTime(a),a.type===4136&&a.audioQueue.length>0){var o=a.audioQueue[0];o.loop=!0,o._duration=Number.POSITIVE_INFINITY}}else if(n===0){a.looping=!1;var _=AL.updateSourceTime(a);if(a.type===4136&&a.audioQueue.length>0){var o=a.audioQueue[0];o.loop=!1,o._duration=a.bufQueue[0].audioBuf.duration/a.playbackRate,o._startTime=_-a.bufOffset/a.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(a.state===4114||a.state===4115){AL.currentCtx.err=40964;return}if(n===0){for(var l in a.bufQueue)a.bufQueue[l].refCount--;a.bufQueue.length=1,a.bufQueue[0]=AL.buffers[0],a.bufsProcessed=0,a.type=4144}else{var c=AL.buffers[n];if(!c){AL.currentCtx.err=40963;return}for(var l in a.bufQueue)a.bufQueue[l].refCount--;a.bufQueue.length=0,c.refCount++,a.bufQueue=[c],a.bufsProcessed=0,a.type=4136}AL.initSourcePanner(a),AL.scheduleSourceAudio(a);break;case 4106:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.gain.gain.value=n;break;case 4109:if(!Number.isFinite(n)||n<0||n>Math.min(a.maxGain,1)){AL.currentCtx.err=40963;return}a.minGain=n;break;case 4110:if(!Number.isFinite(n)||n<Math.max(0,a.minGain)||n>1){AL.currentCtx.err=40963;return}a.maxGain=n;break;case 4128:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.refDistance=n,a.panner&&(a.panner.refDistance=n);break;case 4129:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.rolloffFactor=n,a.panner&&(a.panner.rolloffFactor=n);break;case 4130:if(!Number.isFinite(n)||n<0||n>1){AL.currentCtx.err=40963;return}a.coneOuterGain=n,a.panner&&(a.panner.coneOuterGain=n);break;case 4131:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.maxDistance=n,a.panner&&(a.panner.maxDistance=n);break;case 4132:if(n<0||n>AL.sourceDuration(a)){AL.currentCtx.err=40963;return}AL.sourceSeek(a,n);break;case 4133:var f=AL.sourceDuration(a);if(f>0){var u;for(var d in a.bufQueue)if(d){u=a.bufQueue[d].frequency;break}n/=u}if(n<0||n>f){AL.currentCtx.err=40963;return}AL.sourceSeek(a,n);break;case 4134:var f=AL.sourceDuration(a);if(f>0){var p;for(var d in a.bufQueue)if(d){var c=a.bufQueue[d];p=c.frequency*c.bytesPerSample*c.channels;break}n/=p}if(n<0||n>f){AL.currentCtx.err=40963;return}AL.sourceSeek(a,n);break;case 4628:if(n!==0&&n!==1&&n!==2){AL.currentCtx.err=40963;return}a.spatialize=n,AL.initSourcePanner(a);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(n){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:a.distanceModel=n,AL.currentCtx.sourceDistanceModel&&AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(e,r)=>{if(e===0)return AL.alcErr=40961,null;var t=AL.captures[e];if(!t)return AL.alcErr=40961,null;var n=t.mediaStreamError;return n?(AL.alcErr=40961,null):t}},_alBuffer3f=(e,r,t,n,a)=>{AL.setBufferParam("alBuffer3f",e,r,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(e,r,t,n,a)=>{AL.setBufferParam("alBuffer3i",e,r,null)};_alBuffer3i.sig="viiiii";function _alBufferData(e,r,t,n,a){if(t>>>=0,!!AL.currentCtx){var o=AL.buffers[e];if(!o){AL.currentCtx.err=40963;return}if(a<=0){AL.currentCtx.err=40963;return}var _=null;try{switch(r){case 4352:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(1,n,a);for(var l=_.getChannelData(0),c=0;c<n;++c)l[c]=HEAPU8[t++>>>0]*.0078125-1}o.bytesPerSample=1,o.channels=1,o.length=n;break;case 4353:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(1,n>>1,a);var l=_.getChannelData(0);t>>=1;for(var c=0;c<n>>1;++c)l[c]=HEAP16[t++>>>0]*30517578125e-15}o.bytesPerSample=2,o.channels=1,o.length=n>>1;break;case 4354:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(2,n>>1,a);for(var l=_.getChannelData(0),u=_.getChannelData(1),c=0;c<n>>1;++c)l[c]=HEAPU8[t++>>>0]*.0078125-1,u[c]=HEAPU8[t++>>>0]*.0078125-1}o.bytesPerSample=1,o.channels=2,o.length=n>>1;break;case 4355:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(2,n>>2,a);var l=_.getChannelData(0),u=_.getChannelData(1);t>>=1;for(var c=0;c<n>>2;++c)l[c]=HEAP16[t++>>>0]*30517578125e-15,u[c]=HEAP16[t++>>>0]*30517578125e-15}o.bytesPerSample=2,o.channels=2,o.length=n>>2;break;case 65552:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(1,n>>2,a);var l=_.getChannelData(0);t>>=2;for(var c=0;c<n>>2;++c)l[c]=HEAPF32[t++>>>0]}o.bytesPerSample=4,o.channels=1,o.length=n>>2;break;case 65553:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(2,n>>3,a);var l=_.getChannelData(0),u=_.getChannelData(1);t>>=2;for(var c=0;c<n>>3;++c)l[c]=HEAPF32[t++>>>0],u[c]=HEAPF32[t++>>>0]}o.bytesPerSample=4,o.channels=2,o.length=n>>3;break;default:AL.currentCtx.err=40963;return}o.frequency=a,o.audioBuf=_}catch(d){AL.currentCtx.err=40963;return}}}_alBufferData.sig="viipii";var _alBufferf=(e,r,t)=>{AL.setBufferParam("alBufferf",e,r,null)};_alBufferf.sig="viif";function _alBufferfv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",e,r,null)}}_alBufferfv.sig="viip";var _alBufferi=(e,r,t)=>{AL.setBufferParam("alBufferi",e,r,null)};_alBufferi.sig="viii";function _alBufferiv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8213:AL.paramArray[0]=HEAP32[t>>>2>>>0],AL.paramArray[1]=HEAP32[t+4>>>2>>>0],AL.setBufferParam("alBufferiv",e,r,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",e,r,null);break}}}_alBufferiv.sig="viip";function _alDeleteBuffers(e,r){if(r>>>=0,!!AL.currentCtx){for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];if(n!==0){if(!AL.buffers[n]){AL.currentCtx.err=40961;return}if(AL.buffers[n].refCount){AL.currentCtx.err=40964;return}}}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];n!==0&&(AL.deviceRefCounts[AL.buffers[n].deviceId]--,delete AL.buffers[n],AL.freeIds.push(n))}}}_alDeleteBuffers.sig="vip";var _alSourcei=(e,r,t)=>{switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",e,r,t);break;default:AL.setSourceParam("alSourcei",e,r,null);break}};_alSourcei.sig="viii";function _alDeleteSources(e,r){if(r>>>=0,!!AL.currentCtx){for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];if(!AL.currentCtx.sources[n]){AL.currentCtx.err=40961;return}}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4116),_alSourcei(n,4105,0),delete AL.currentCtx.sources[n],AL.freeIds.push(n)}}}_alDeleteSources.sig="vip";var _alDisable=e=>{if(AL.currentCtx)switch(e){case 512:AL.currentCtx.sourceDistanceModel=!1,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=e=>{AL.setGlobalParam("alDistanceModel",53248,e)};_alDistanceModel.sig="vi";var _alDopplerFactor=e=>{AL.setGlobalParam("alDopplerFactor",49152,e)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=e=>{if(warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead."),!!AL.currentCtx&&e<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=e=>{if(AL.currentCtx)switch(e){case 512:AL.currentCtx.sourceDistanceModel=!0,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";function _alGenBuffers(e,r){if(r>>>=0,!!AL.currentCtx)for(var t=0;t<e;++t){var n={deviceId:AL.currentCtx.deviceId,id:AL.newId(),refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0};AL.deviceRefCounts[n.deviceId]++,AL.buffers[n.id]=n,HEAP32[r+t*4>>>2>>>0]=n.id}}_alGenBuffers.sig="vip";function _alGenSources(e,r){if(r>>>=0,!!AL.currentCtx)for(var t=0;t<e;++t){var n=AL.currentCtx.audioCtx.createGain();n.connect(AL.currentCtx.gain);var a={context:AL.currentCtx,id:AL.newId(),type:4144,state:4113,bufQueue:[AL.buffers[0]],audioQueue:[],looping:!1,pitch:1,dopplerShift:1,gain:n,minGain:0,maxGain:1,panner:null,bufsProcessed:0,bufStartTime:Number.NEGATIVE_INFINITY,bufOffset:0,relative:!1,refDistance:1,maxDistance:340282e33,rolloffFactor:1,position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],coneOuterGain:0,coneInnerAngle:360,coneOuterAngle:360,distanceModel:53250,spatialize:2,get playbackRate(){return this.pitch*this.dopplerShift}};AL.currentCtx.sources[a.id]=a,HEAP32[r+t*4>>>2>>>0]=a.id}}_alGenSources.sig="vip";var _alGetBoolean=e=>{var r=AL.getGlobalParam("alGetBoolean",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r!==0?1:0;default:return AL.currentCtx.err=40962,0}};_alGetBoolean.sig="ii";function _alGetBooleanv(e,r){r>>>=0;var t=AL.getGlobalParam("alGetBooleanv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAP8[r>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetBooleanv.sig="vip";function _alGetBuffer3f(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getBufferParam("alGetBuffer3f",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBuffer3f.sig="viippp";function _alGetBuffer3i(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getBufferParam("alGetBuffer3i",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBuffer3i.sig="viippp";function _alGetBufferf(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferf",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBufferf.sig="viip";function _alGetBufferfv(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferfv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBufferfv.sig="viip";function _alGetBufferi(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferi",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8193:case 8194:case 8195:case 8196:HEAP32[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetBufferi.sig="viip";function _alGetBufferiv(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferiv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8193:case 8194:case 8195:case 8196:HEAP32[t>>>2>>>0]=n;break;case 8213:HEAP32[t>>>2>>>0]=n[0],HEAP32[t+4>>>2>>>0]=n[1];break;default:AL.currentCtx.err=40962;return}}}_alGetBufferiv.sig="viip";var _alGetDouble=e=>{var r=AL.getGlobalParam("alGetDouble",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return AL.currentCtx.err=40962,0}};_alGetDouble.sig="di";function _alGetDoublev(e,r){r>>>=0;var t=AL.getGlobalParam("alGetDoublev",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAPF64[r>>>3>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetDoublev.sig="vip";function _alGetEnumValue(e){if(e>>>=0,!AL.currentCtx)return 0;if(!e)return AL.currentCtx.err=40963,0;var r=UTF8ToString(e);switch(r){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:return AL.currentCtx.err=40963,0}}_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx)return 40964;var e=AL.currentCtx.err;return AL.currentCtx.err=0,e};_alGetError.sig="i";var _alGetFloat=e=>{var r=AL.getGlobalParam("alGetFloat",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return 0}};_alGetFloat.sig="fi";function _alGetFloatv(e,r){r>>>=0;var t=AL.getGlobalParam("alGetFloatv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAPF32[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetFloatv.sig="vip";var _alGetInteger=e=>{var r=AL.getGlobalParam("alGetInteger",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return AL.currentCtx.err=40962,0}};_alGetInteger.sig="ii";function _alGetIntegerv(e,r){r>>>=0;var t=AL.getGlobalParam("alGetIntegerv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAP32[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetIntegerv.sig="vip";function _alGetListener3f(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;var a=AL.getListenerParam("alGetListener3f",e);if(a!==null){if(!r||!t||!n){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAPF32[r>>>2>>>0]=a[0],HEAPF32[t>>>2>>>0]=a[1],HEAPF32[n>>>2>>>0]=a[2];break;default:AL.currentCtx.err=40962;return}}}_alGetListener3f.sig="vippp";function _alGetListener3i(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;var a=AL.getListenerParam("alGetListener3i",e);if(a!==null){if(!r||!t||!n){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAP32[r>>>2>>>0]=a[0],HEAP32[t>>>2>>>0]=a[1],HEAP32[n>>>2>>>0]=a[2];break;default:AL.currentCtx.err=40962;return}}}_alGetListener3i.sig="vippp";function _alGetListenerf(e,r){r>>>=0;var t=AL.getListenerParam("alGetListenerf",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4106:HEAPF32[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}}_alGetListenerf.sig="vip";function _alGetListenerfv(e,r){r>>>=0;var t=AL.getListenerParam("alGetListenerfv",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAPF32[r>>>2>>>0]=t[0],HEAPF32[r+4>>>2>>>0]=t[1],HEAPF32[r+8>>>2>>>0]=t[2];break;case 4111:HEAPF32[r>>>2>>>0]=t[0],HEAPF32[r+4>>>2>>>0]=t[1],HEAPF32[r+8>>>2>>>0]=t[2],HEAPF32[r+12>>>2>>>0]=t[3],HEAPF32[r+16>>>2>>>0]=t[4],HEAPF32[r+20>>>2>>>0]=t[5];break;default:AL.currentCtx.err=40962;return}}}_alGetListenerfv.sig="vip";function _alGetListeneri(e,r){r>>>=0;var t=AL.getListenerParam("alGetListeneri",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetListeneri.sig="vip";function _alGetListeneriv(e,r){r>>>=0;var t=AL.getListenerParam("alGetListeneriv",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAP32[r>>>2>>>0]=t[0],HEAP32[r+4>>>2>>>0]=t[1],HEAP32[r+8>>>2>>>0]=t[2];break;case 4111:HEAP32[r>>>2>>>0]=t[0],HEAP32[r+4>>>2>>>0]=t[1],HEAP32[r+8>>>2>>>0]=t[2],HEAP32[r+12>>>2>>>0]=t[3],HEAP32[r+16>>>2>>>0]=t[4],HEAP32[r+20>>>2>>>0]=t[5];break;default:AL.currentCtx.err=40962;return}}}_alGetListeneriv.sig="vip";function _alGetSource3f(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getSourceParam("alGetSource3f",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}switch(r){case 4100:case 4101:case 4102:HEAPF32[t>>>2>>>0]=o[0],HEAPF32[n>>>2>>>0]=o[1],HEAPF32[a>>>2>>>0]=o[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSource3f.sig="viippp";function _alGetSource3i(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getSourceParam("alGetSource3i",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}switch(r){case 4100:case 4101:case 4102:HEAP32[t>>>2>>>0]=o[0],HEAP32[n>>>2>>>0]=o[1],HEAP32[a>>>2>>>0]=o[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSource3i.sig="viippp";function _alGetSourcef(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourcef",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetSourcef.sig="viip";function _alGetSourcefv(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourcefv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[t>>>2>>>0]=n[0];break;case 4100:case 4101:case 4102:HEAPF32[t>>>2>>>0]=n[0],HEAPF32[t+4>>>2>>>0]=n[1],HEAPF32[t+8>>>2>>>0]=n[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSourcefv.sig="viip";function _alGetSourcei(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourcei",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetSourcei.sig="viip";function _alGetSourceiv(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourceiv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[t>>>2>>>0]=n;break;case 4100:case 4101:case 4102:HEAP32[t>>>2>>>0]=n[0],HEAP32[t+4>>>2>>>0]=n[1],HEAP32[t+8>>>2>>>0]=n[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSourceiv.sig="viip";var stringToNewUTF8=e=>{var r=lengthBytesUTF8(e)+1,t=_malloc(r);return t&&stringToUTF8(e,t,r),t};function _alGetString(e){if(AL.stringCache[e])return AL.stringCache[e];var r;switch(e){case 0:r="No Error";break;case 40961:r="Invalid Name";break;case 40962:r="Invalid Enum";break;case 40963:r="Invalid Value";break;case 40964:r="Invalid Operation";break;case 40965:r="Out of Memory";break;case 45057:r="Emscripten";break;case 45058:r="1.1";break;case 45059:r="WebAudio";break;case 45060:r=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:return AL.currentCtx&&(AL.currentCtx.err=40962),0}return r=stringToNewUTF8(r),AL.stringCache[e]=r,r}_alGetString.sig="pi";var _alIsBuffer=e=>!(!AL.currentCtx||e>AL.buffers.length||!AL.buffers[e]);_alIsBuffer.sig="ii";var _alIsEnabled=e=>{if(!AL.currentCtx)return 0;switch(e){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:return AL.currentCtx.err=40962,0}};_alIsEnabled.sig="ii";function _alIsExtensionPresent(e){e>>>=0;var r=UTF8ToString(e);return AL.AL_EXTENSIONS[r]?1:0}_alIsExtensionPresent.sig="ip";var _alIsSource=e=>!(!AL.currentCtx||!AL.currentCtx.sources[e]);_alIsSource.sig="ii";var _alListener3f=(e,r,t,n)=>{switch(e){case 4100:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=t,AL.paramArray[2]=n,AL.setListenerParam("alListener3f",e,AL.paramArray);break;default:AL.setListenerParam("alListener3f",e,null);break}};_alListener3f.sig="vifff";var _alListener3i=(e,r,t,n)=>{switch(e){case 4100:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=t,AL.paramArray[2]=n,AL.setListenerParam("alListener3i",e,AL.paramArray);break;default:AL.setListenerParam("alListener3i",e,null);break}};_alListener3i.sig="viiii";var _alListenerf=(e,r)=>{switch(e){case 4106:AL.setListenerParam("alListenerf",e,r);break;default:AL.setListenerParam("alListenerf",e,null);break}};_alListenerf.sig="vif";function _alListenerfv(e,r){if(r>>>=0,!!AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=HEAPF32[r>>>2>>>0],AL.paramArray[1]=HEAPF32[r+4>>>2>>>0],AL.paramArray[2]=HEAPF32[r+8>>>2>>>0],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[r>>>2>>>0],AL.paramArray[1]=HEAPF32[r+4>>>2>>>0],AL.paramArray[2]=HEAPF32[r+8>>>2>>>0],AL.paramArray[3]=HEAPF32[r+12>>>2>>>0],AL.paramArray[4]=HEAPF32[r+16>>>2>>>0],AL.paramArray[5]=HEAPF32[r+20>>>2>>>0],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",e,null);break}}}_alListenerfv.sig="vip";var _alListeneri=(e,r)=>{AL.setListenerParam("alListeneri",e,null)};_alListeneri.sig="vii";function _alListeneriv(e,r){if(r>>>=0,!!AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=HEAP32[r>>>2>>>0],AL.paramArray[1]=HEAP32[r+4>>>2>>>0],AL.paramArray[2]=HEAP32[r+8>>>2>>>0],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[r>>>2>>>0],AL.paramArray[1]=HEAP32[r+4>>>2>>>0],AL.paramArray[2]=HEAP32[r+8>>>2>>>0],AL.paramArray[3]=HEAP32[r+12>>>2>>>0],AL.paramArray[4]=HEAP32[r+16>>>2>>>0],AL.paramArray[5]=HEAP32[r+20>>>2>>>0],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",e,null);break}}}_alListeneriv.sig="vip";var _alSource3f=(e,r,t,n,a)=>{switch(r){case 4100:case 4101:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=n,AL.paramArray[2]=a,AL.setSourceParam("alSource3f",e,r,AL.paramArray);break;default:AL.setSourceParam("alSource3f",e,r,null);break}};_alSource3f.sig="viifff";var _alSource3i=(e,r,t,n,a)=>{switch(r){case 4100:case 4101:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=n,AL.paramArray[2]=a,AL.setSourceParam("alSource3i",e,r,AL.paramArray);break;default:AL.setSourceParam("alSource3i",e,r,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4115)}};_alSourcePause.sig="vi";function _alSourcePausev(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4115)}}}_alSourcePausev.sig="vip";var _alSourcePlay=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4114)}};_alSourcePlay.sig="vi";function _alSourcePlayv(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4114)}}}_alSourcePlayv.sig="vip";function _alSourceQueueBuffers(e,r,t){if(t>>>=0,!!AL.currentCtx){var n=AL.currentCtx.sources[e];if(!n){AL.currentCtx.err=40961;return}if(n.type===4136){AL.currentCtx.err=40964;return}if(r!==0){for(var a=AL.buffers[0],o=0;o<n.bufQueue.length;o++)if(n.bufQueue[o].id!==0){a=n.bufQueue[o];break}for(var o=0;o<r;++o){var _=HEAP32[t+o*4>>>2>>>0],l=AL.buffers[_];if(!l){AL.currentCtx.err=40961;return}a.id!==0&&(l.frequency!==a.frequency||l.bytesPerSample!==a.bytesPerSample||l.channels!==a.channels)&&(AL.currentCtx.err=40964)}n.bufQueue.length===1&&n.bufQueue[0].id===0&&(n.bufQueue.length=0),n.type=4137;for(var o=0;o<r;++o){var _=HEAP32[t+o*4>>>2>>>0],l=AL.buffers[_];l.refCount++,n.bufQueue.push(l)}n.looping&&AL.cancelPendingSourceAudio(n),AL.initSourcePanner(n),AL.scheduleSourceAudio(n)}}}_alSourceQueueBuffers.sig="viip";var _alSourceRewind=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4116),AL.setSourceState(r,4113)}};_alSourceRewind.sig="vi";function _alSourceRewindv(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4113)}}}_alSourceRewindv.sig="vip";var _alSourceStop=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4116)}};_alSourceStop.sig="vi";function _alSourceStopv(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4116)}}}_alSourceStopv.sig="vip";function _alSourceUnqueueBuffers(e,r,t){if(t>>>=0,!!AL.currentCtx){var n=AL.currentCtx.sources[e];if(!n){AL.currentCtx.err=40961;return}if(r>(n.bufQueue.length===1&&n.bufQueue[0].id===0?0:n.bufsProcessed)){AL.currentCtx.err=40963;return}if(r!==0){for(var a=0;a<r;a++){var o=n.bufQueue.shift();o.refCount--,HEAP32[t+a*4>>>2>>>0]=o.id,n.bufsProcessed--}n.bufQueue.length===0&&n.bufQueue.push(AL.buffers[0]),AL.initSourcePanner(n),AL.scheduleSourceAudio(n)}}}_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(e,r,t)=>{switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",e,r,t);break;default:AL.setSourceParam("alSourcef",e,r,null);break}};_alSourcef.sig="viif";function _alSourcefv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var n=HEAPF32[t>>>2>>>0];AL.setSourceParam("alSourcefv",e,r,n);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[t>>>2>>>0],AL.paramArray[1]=HEAPF32[t+4>>>2>>>0],AL.paramArray[2]=HEAPF32[t+8>>>2>>>0],AL.setSourceParam("alSourcefv",e,r,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",e,r,null);break}}}_alSourcefv.sig="viip";function _alSourceiv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var n=HEAP32[t>>>2>>>0];AL.setSourceParam("alSourceiv",e,r,n);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[t>>>2>>>0],AL.paramArray[1]=HEAP32[t+4>>>2>>>0],AL.paramArray[2]=HEAP32[t+8>>>2>>>0],AL.setSourceParam("alSourceiv",e,r,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",e,r,null);break}}}_alSourceiv.sig="viip";var _alSpeedOfSound=e=>{AL.setGlobalParam("alSpeedOfSound",49155,e)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=function(e){var t,n,a,o;e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureCloseDevice");return r?(delete AL.captures[e],AL.freeIds.push(e),(t=r.mediaStreamSourceNode)==null||t.disconnect(),(n=r.mergerNode)==null||n.disconnect(),(a=r.splitterNode)==null||a.disconnect(),(o=r.scriptProcessorNode)==null||o.disconnect(),r.mediaStream&&r.mediaStream.getTracks().forEach(_=>_.stop()),delete r.buffers,r.capturedFrameCount=0,r.isCapturing=!1,!0):!1};_alcCaptureCloseDevice.sig="ip";var listenOnce=(e,r,t)=>{e.addEventListener(r,t,{once:!0})},autoResumeAudioContext=(e,r)=>{r||(r=[document,document.getElementById("canvas")]),["keydown","mousedown","touchstart"].forEach(t=>{r.forEach(n=>{n&&listenOnce(n,t,()=>{e.state==="suspended"&&e.resume()})})})};function _alcCaptureOpenDevice(e,r,t,n){var A;e>>>=0;var a=AL.CAPTURE_DEVICE_NAME;if(e!==0&&(a=UTF8ToString(e),a!==AL.CAPTURE_DEVICE_NAME))return AL.alcErr=40965,0;if(n<0)return AL.alcErr=40964,0;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var o=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!o)return AL.alcErr=40965,0;var _=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx)try{AL.sharedCaptureAudioCtx=new _}catch(w){return AL.alcErr=40965,0}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var l;switch(t){case 65552:case 4353:case 4352:l=1;break;case 65553:case 4355:case 4354:l=2;break;default:return AL.alcErr=40964,0}function c(w){return new Float32Array(w)}function u(w){return new Int16Array(w)}function d(w){return new Uint8Array(w)}var f,p;switch(t){case 65552:case 65553:f="f32",p=c;break;case 4353:case 4355:f="i16",p=u;break;case 4352:case 4354:f="u8",p=d;break}var m=[];try{for(var v=0;v<l;++v)m[v]=p(n)}catch(w){return AL.alcErr=40965,0}var g={audioCtx:AL.sharedCaptureAudioCtx,deviceName:a,requestedSampleRate:r,requestedSampleType:f,outputChannelCount:l,inputChannelCount:null,mediaStreamError:null,mediaStreamSourceNode:null,mediaStream:null,mergerNode:null,splitterNode:null,scriptProcessorNode:null,isCapturing:!1,buffers:m,get bufferFrameCapacity(){return m[0].length},capturePlayhead:0,captureReadhead:0,capturedFrameCount:0},S=w=>{g.mediaStreamError=w},h=w=>{g.mediaStreamSourceNode=g.audioCtx.createMediaStreamSource(w),g.mediaStream=w;var L=1;switch(g.mediaStreamSourceNode.channelCountMode){case"max":L=l;break;case"clamped-max":L=Math.min(l,g.mediaStreamSourceNode.channelCount);break;case"explicit":L=g.mediaStreamSourceNode.channelCount;break}g.inputChannelCount=L;var F=512;g.scriptProcessorNode=g.audioCtx.createScriptProcessor(F,L,l),L>l?(g.mergerNode=g.audioCtx.createChannelMerger(L),g.mediaStreamSourceNode.connect(g.mergerNode),g.mergerNode.connect(g.scriptProcessorNode)):L<l?(g.splitterNode=g.audioCtx.createChannelSplitter(l),g.mediaStreamSourceNode.connect(g.splitterNode),g.splitterNode.connect(g.scriptProcessorNode)):g.mediaStreamSourceNode.connect(g.scriptProcessorNode),g.scriptProcessorNode.connect(g.audioCtx.destination),g.scriptProcessorNode.onaudioprocess=y=>{if(g.isCapturing){var D=g,P=y.inputBuffer;switch(t){case 65552:for(var T=P.getChannelData(0),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k]}break;case 65553:for(var T=P.getChannelData(0),C=P.getChannelData(1),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k],D.buffers[1][x]=C[k]}break;case 4353:for(var T=P.getChannelData(0),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k]*32767}break;case 4355:for(var T=P.getChannelData(0),C=P.getChannelData(1),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k]*32767,D.buffers[1][x]=C[k]*32767}break;case 4352:for(var T=P.getChannelData(0),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=(T[k]+1)*127}break;case 4354:for(var T=P.getChannelData(0),C=P.getChannelData(1),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=(T[k]+1)*127,D.buffers[1][x]=(C[k]+1)*127}break}D.capturePlayhead+=P.length,D.capturePlayhead%=D.bufferFrameCapacity,D.capturedFrameCount+=P.length,D.capturedFrameCount=Math.min(D.capturedFrameCount,D.bufferFrameCapacity)}}};(A=navigator.mediaDevices)!=null&&A.getUserMedia?navigator.mediaDevices.getUserMedia({audio:!0}).then(h).catch(S):navigator.getUserMedia({audio:!0},h,S);var b=AL.newId();return AL.captures[b]=g,b}_alcCaptureOpenDevice.sig="ppiii";function _alcCaptureSamples(e,r,t){e>>>=0,r>>>=0;var n=AL.requireValidCaptureDevice(e,"alcCaptureSamples");if(!n)return;var a=n.requestedSampleRate,o=n.audioCtx.sampleRate,_=o/a;if(t<0||t>n.capturedFrameCount/_){AL.alcErr=40964;return}function l(A,w){HEAPF32[r+4*A>>>2>>>0]=w}function c(A,w){HEAP16[r+2*A>>>1>>>0]=w}function u(A,w){HEAP8[r+A>>>0]=w}var d;switch(n.requestedSampleType){case"f32":d=l;break;case"i16":d=c;break;case"u8":d=u;break;default:return}if(Math.floor(_)==_)for(var f=0,p=0;p<t;++p){for(var m=0;m<n.buffers.length;++m,++f)d(f,n.buffers[m][n.captureReadhead]);n.captureReadhead=(_+n.captureReadhead)%n.bufferFrameCapacity}else for(var f=0,p=0;p<t;++p){for(var v=Math.floor(n.captureReadhead),g=Math.ceil(n.captureReadhead),S=n.captureReadhead-v,m=0;m<n.buffers.length;++m,++f){var h=n.buffers[m][v],b=n.buffers[m][g];d(f,(1-S)*h+S*b)}n.captureReadhead=(n.captureReadhead+_)%n.bufferFrameCapacity}n.capturedFrameCount=0}_alcCaptureSamples.sig="vppi";function _alcCaptureStart(e){e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureStart");r&&(r.isCapturing||(r.isCapturing=!0,r.capturedFrameCount=0,r.capturePlayhead=0))}_alcCaptureStart.sig="vp";function _alcCaptureStop(e){e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureStop");r&&(r.isCapturing=!1)}_alcCaptureStop.sig="vp";function _alcCloseDevice(e){return e>>>=0,!(e in AL.deviceRefCounts)||AL.deviceRefCounts[e]>0?0:(delete AL.deviceRefCounts[e],AL.freeIds.push(e),1)}_alcCloseDevice.sig="ip";function _alcCreateContext(e,r){if(e>>>=0,r>>>=0,!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var t=null,n=[],a=null;if(r>>=2,r)for(var o=0,_=0;o=HEAP32[r++>>>0],n.push(o),o!==0;)switch(_=HEAP32[r++>>>0],n.push(_),o){case 4103:t||(t={}),t.sampleRate=_;break;case 4112:case 4113:break;case 6546:switch(_){case 0:a=!1;break;case 1:a=!0;break;case 2:break;default:return AL.alcErr=40964,0}break;case 6550:if(_!==0)return AL.alcErr=40964,0;break;default:return AL.alcErr=40964,0}var l=window.AudioContext||window.webkitAudioContext,c=null;try{t?c=new l(t):c=new l}catch(m){return m.name==="NotSupportedError"?AL.alcErr=40964:AL.alcErr=40961,0}autoResumeAudioContext(c),typeof c.createGain>"u"&&(c.createGain=c.createGainNode);var u=c.createGain();u.connect(c.destination);var d={deviceId:e,id:AL.newId(),attrs:n,audioCtx:c,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(d),AL.QUEUE_INTERVAL),gain:u,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:!1,hrtf:a||!1,_err:0,get err(){return this._err},set err(m){(this._err===0||m===0)&&(this._err=m)}};if(AL.deviceRefCounts[e]++,AL.contexts[d.id]=d,a!==null)for(var f in AL.contexts){var p=AL.contexts[f];p.deviceId===e&&(p.hrtf=a,AL.updateContextGlobal(p))}return d.id}_alcCreateContext.sig="ppp";function _alcDestroyContext(e){e>>>=0;var r=AL.contexts[e];if(AL.currentCtx===r){AL.alcErr=40962;return}AL.contexts[e].interval&&clearInterval(AL.contexts[e].interval),AL.deviceRefCounts[r.deviceId]--,delete AL.contexts[e],AL.freeIds.push(e)}_alcDestroyContext.sig="vp";function _alcGetContextsDevice(e){return e>>>=0,e in AL.contexts?AL.contexts[e].deviceId:0}_alcGetContextsDevice.sig="pp";function _alcGetCurrentContext(){return AL.currentCtx!==null?AL.currentCtx.id:0}_alcGetCurrentContext.sig="p";function _alcGetEnumValue(e,r){if(e>>>=0,r>>>=0,e!==0&&!(e in AL.deviceRefCounts))return 0;if(!r)return AL.alcErr=40964,0;var t=UTF8ToString(r);switch(t){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:return AL.alcErr=40964,0}}_alcGetEnumValue.sig="ipp";function _alcGetError(e){e>>>=0;var r=AL.alcErr;return AL.alcErr=0,r}_alcGetError.sig="ip";function _alcGetIntegerv(e,r,t,n){if(e>>>=0,n>>>=0,!(t===0||!n))switch(r){case 4096:HEAP32[n>>>2>>>0]=1;break;case 4097:HEAP32[n>>>2>>>0]=1;break;case 4098:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=AL.currentCtx.attrs.length;break;case 4099:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var a=0;a<AL.currentCtx.attrs.length;a++)HEAP32[n+a*4>>>2>>>0]=AL.currentCtx.attrs[a];break;case 4103:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=2147483647;break;case 6546:case 6547:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}var o=0;for(var _ in AL.contexts){var l=AL.contexts[_];l.deviceId===e&&(o=l.hrtf?1:0)}HEAP32[n>>>2>>>0]=o;break;case 6548:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[n>>>2>>>0]=1;break;case 131075:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=1;case 786:var c=AL.requireValidCaptureDevice(e,"alcGetIntegerv");if(!c)return;var u=c.capturedFrameCount,d=c.requestedSampleRate,f=c.audioCtx.sampleRate,p=Math.floor(u*(d/f));HEAP32[n>>>2>>>0]=p;break;default:AL.alcErr=40963;return}}_alcGetIntegerv.sig="vpiip";function _alcGetString(e,r){if(e>>>=0,AL.alcStringCache[r])return AL.alcStringCache[r];var t;switch(r){case 0:t="No Error";break;case 40961:t="Invalid Device";break;case 40962:t="Invalid Context";break;case 40963:t="Invalid Enum";break;case 40964:t="Invalid Value";break;case 40965:t="Out of Memory";break;case 4100:if(typeof AudioContext<"u"||typeof webkitAudioContext<"u")t=AL.DEVICE_NAME;else return 0;break;case 4101:typeof AudioContext<"u"||typeof webkitAudioContext<"u"?t=AL.DEVICE_NAME+"\0":t="\0";break;case 785:t=AL.CAPTURE_DEVICE_NAME;break;case 784:if(e===0)t=AL.CAPTURE_DEVICE_NAME+"\0";else{var n=AL.requireValidCaptureDevice(e,"alcGetString");if(!n)return 0;t=n.deviceName}break;case 4102:if(!e)return AL.alcErr=40961,0;t=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:return AL.alcErr=40963,0}return t=stringToNewUTF8(t),AL.alcStringCache[r]=t,t}_alcGetString.sig="ppi";function _alcIsExtensionPresent(e,r){e>>>=0,r>>>=0;var t=UTF8ToString(r);return AL.ALC_EXTENSIONS[t]?1:0}_alcIsExtensionPresent.sig="ipp";function _alcMakeContextCurrent(e){return e>>>=0,e===0?AL.currentCtx=null:AL.currentCtx=AL.contexts[e],1}_alcMakeContextCurrent.sig="ip";function _alcOpenDevice(e){if(e>>>=0,e){var r=UTF8ToString(e);if(r!==AL.DEVICE_NAME)return 0}if(typeof AudioContext<"u"||typeof webkitAudioContext<"u"){var t=AL.newId();return AL.deviceRefCounts[t]=0,t}return 0}_alcOpenDevice.sig="pp";function _alcProcessContext(e){e>>>=0}_alcProcessContext.sig="vp";function _alcSuspendContext(e){e>>>=0}_alcSuspendContext.sig="vp";function _duckdb_web_fs_directory_create(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.createDirectory(Module,e,r)}_duckdb_web_fs_directory_create.sig="vpi";function _duckdb_web_fs_directory_exists(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.checkDirectory(Module,e,r)}_duckdb_web_fs_directory_exists.sig="ipi";function _duckdb_web_fs_directory_list_files(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,e,r)}_duckdb_web_fs_directory_list_files.sig="ipi";function _duckdb_web_fs_directory_remove(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.removeDirectory(Module,e,r)}_duckdb_web_fs_directory_remove.sig="vpi";function _duckdb_web_fs_file_close(e){return globalThis.DUCKDB_RUNTIME.closeFile(Module,e)}_duckdb_web_fs_file_close.sig="vi";function _duckdb_web_fs_file_drop_file(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.dropFile(Module,e,r)}_duckdb_web_fs_file_drop_file.sig="vpi";function _duckdb_web_fs_file_exists(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.checkFile(Module,e,r)}_duckdb_web_fs_file_exists.sig="ipi";function _duckdb_web_fs_file_move(e,r,t,n){return e>>>=0,t>>>=0,globalThis.DUCKDB_RUNTIME.moveFile(Module,e,r,t,n)}_duckdb_web_fs_file_move.sig="vpipi";function _duckdb_web_fs_file_open(e,r){return globalThis.DUCKDB_RUNTIME.openFile(Module,e,r)}_duckdb_web_fs_file_open.sig="pii";function _duckdb_web_fs_file_read(e,r,t,n){return r>>>=0,globalThis.DUCKDB_RUNTIME.readFile(Module,e,r,t,n)}_duckdb_web_fs_file_read.sig="iipid";function _duckdb_web_fs_file_truncate(e,r){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,e,r)}_duckdb_web_fs_file_truncate.sig="vid";function _duckdb_web_fs_file_write(e,r,t,n){return r>>>=0,globalThis.DUCKDB_RUNTIME.writeFile(Module,e,r,t,n)}_duckdb_web_fs_file_write.sig="iipid";function _duckdb_web_fs_get_default_data_protocol(e){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(e)}_duckdb_web_fs_get_default_data_protocol.sig="i";function _duckdb_web_fs_glob(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.glob(Module,e,r)}_duckdb_web_fs_glob.sig="vpi";function _duckdb_web_test_platform_feature(e){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,e)}_duckdb_web_test_platform_feature.sig="ii";function _duckdb_web_udf_scalar_call(e,r,t,n,a,o){return e>>>=0,t>>>=0,a>>>=0,globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,e,r,t,n,a,o)}_duckdb_web_udf_scalar_call.sig="vpipipi";var _emscripten_alcDevicePauseSOFT=e=>{if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){AL.paused=!0;for(var r in AL.contexts){var t=AL.contexts[r];t.deviceId===e&&(t.audioCtx.suspend(),clearInterval(t.interval),t.interval=null)}}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=e=>{if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){AL.paused=!1;for(var r in AL.contexts){var t=AL.contexts[r];t.deviceId===e&&(t.interval=setInterval(()=>AL.scheduleContextAudio(t),AL.QUEUE_INTERVAL),t.audioCtx.resume())}}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(e,r,t)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;if(AL.alcStringCache[r])return AL.alcStringCache[r];var n;switch(r){case 6549:if(t===0)n="Web Audio HRTF";else return AL.alcErr=40964,0;break;default:return t!==0?(AL.alcErr=40963,0):_alcGetString(e,r)}return n=stringToNewUTF8(n),AL.alcStringCache[r]=n,n};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(e,r)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var t=null;if(r>>=2,r)for(var n=0,a=0;n=HEAP32[r++>>>0],n!==0;)switch(a=HEAP32[r++>>>0],n){case 6546:a===1?t=!0:a===0&&(t=!1);break}if(t!==null)for(var o in AL.contexts){var _=AL.contexts[o];_.deviceId===e&&(_.hrtf=t,AL.updateContextGlobal(_))}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[],readEmAsmArgs=(e,r)=>{readEmAsmArgsArray.length=0;for(var t;t=HEAPU8[e++>>>0];){var n=t!=105;n&=t!=112,r+=n&&r%8?4:0,readEmAsmArgsArray.push(t==112?HEAPU32[r>>>2>>>0]:t==105?HEAP32[r>>>2>>>0]:HEAPF64[r>>>3>>>0]),r+=n?8:4}return readEmAsmArgsArray},runEmAsmFunction=(e,r,t)=>{var n=readEmAsmArgs(r,t);return ASM_CONSTS[e](...n)};function _emscripten_asm_const_int(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_int.sig="ippp";function _emscripten_asm_const_ptr(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_ptr.sig="pppp";function _emscripten_console_error(e){e>>>=0,console.error(UTF8ToString(e))}_emscripten_console_error.sig="vp";function _emscripten_console_log(e){e>>>=0,console.log(UTF8ToString(e))}_emscripten_console_log.sig="vp";function _emscripten_console_trace(e){e>>>=0,console.trace(UTF8ToString(e))}_emscripten_console_trace.sig="vp";function _emscripten_console_warn(e){e>>>=0,console.warn(UTF8ToString(e))}_emscripten_console_warn.sig="vp";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _emscripten_err(e){return e>>>=0,err(UTF8ToString(e))}_emscripten_err.sig="vp";var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}_emscripten_get_heap_max.sig="p";var _emscripten_get_now_res=()=>ENVIRONMENT_IS_NODE?1:1e3;_emscripten_get_now_res.sig="d";var GLctx,webgl_enable_ANGLE_instanced_arrays=e=>{var r=e.getExtension("ANGLE_instanced_arrays");if(r)return e.vertexAttribDivisor=(t,n)=>r.vertexAttribDivisorANGLE(t,n),e.drawArraysInstanced=(t,n,a,o)=>r.drawArraysInstancedANGLE(t,n,a,o),e.drawElementsInstanced=(t,n,a,o,_)=>r.drawElementsInstancedANGLE(t,n,a,o,_),1},webgl_enable_OES_vertex_array_object=e=>{var r=e.getExtension("OES_vertex_array_object");if(r)return e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=t=>r.deleteVertexArrayOES(t),e.bindVertexArray=t=>r.bindVertexArrayOES(t),e.isVertexArray=t=>r.isVertexArrayOES(t),1},webgl_enable_WEBGL_draw_buffers=e=>{var r=e.getExtension("WEBGL_draw_buffers");if(r)return e.drawBuffers=(t,n)=>r.drawBuffersWEBGL(t,n),1},webgl_enable_EXT_polygon_offset_clamp=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),webgl_enable_EXT_clip_control=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),webgl_enable_WEBGL_polygon_mode=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),webgl_enable_WEBGL_multi_draw=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),getEmscriptenSupportedExtensions=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(t=>r.includes(t))},GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{GL.lastError||(GL.lastError=e)},getNewId:e=>{for(var r=GL.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=GLctx[t](),_=o&&GL.getNewId(n);o?(o.name=_,n[_]=o):GL.recordError(1282),HEAP32[r+a*4>>>2>>>0]=_}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var _=n?HEAPU32[n+o*4>>>2>>>0]:void 0;a+=UTF8ToString(HEAPU32[t+o*4>>>2>>>0],_)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let o=function(_,l){var c=e.getContextSafariWebGL2Fixed(_,l);return _=="webgl"==c instanceof WebGLRenderingContext?c:null};var a=o;e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=o}var t=e.getContext("webgl",r);if(!t)return 0;var n=GL.registerContext(t,r);return n},registerContext:(e,r)=>{var t=GL.getNewId(GL.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),GL.contexts[t]=n,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&GL.initExtensions(n),t},makeContextCurrent:e=>{var r;return GL.currentContext=GL.contexts[e],Module.ctx=GLctx=(r=GL.currentContext)==null?void 0:r.GLctx,!(e&&!GLctx)},getContext:e=>GL.contexts[e],deleteContext:e=>{GL.currentContext===GL.contexts[e]&&(GL.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(GL.contexts[e].GLctx.canvas),GL.contexts[e]&&GL.contexts[e].GLctx.canvas&&(GL.contexts[e].GLctx.canvas.GLctxObject=void 0),GL.contexts[e]=null},initExtensions:e=>{if(e||(e=GL.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;webgl_enable_WEBGL_multi_draw(r),webgl_enable_EXT_polygon_offset_clamp(r),webgl_enable_EXT_clip_control(r),webgl_enable_WEBGL_polygon_mode(r),webgl_enable_ANGLE_instanced_arrays(r),webgl_enable_OES_vertex_array_object(r),webgl_enable_WEBGL_draw_buffers(r),r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query"),getEmscriptenSupportedExtensions(r).forEach(t=>{!t.includes("lose_context")&&!t.includes("debug")&&r.getExtension(t)})}}},_glActiveTexture=e=>GLctx.activeTexture(e);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(e,r)=>{GLctx.attachShader(GL.programs[e],GL.shaders[r])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(e,r)=>{GLctx.disjointTimerQueryExt.beginQueryEXT(e,GL.queries[r])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBindAttribLocation(e,r,t){t>>>=0,GLctx.bindAttribLocation(GL.programs[e],r,UTF8ToString(t))}_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(e,r)=>{GLctx.bindBuffer(e,GL.buffers[r])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(e,r)=>{GLctx.bindFramebuffer(e,GL.framebuffers[r])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(e,r)=>{GLctx.bindRenderbuffer(e,GL.renderbuffers[r])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(e,r)=>{GLctx.bindTexture(e,GL.textures[r])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=e=>{GLctx.bindVertexArray(GL.vaos[e])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(e,r,t,n)=>GLctx.blendColor(e,r,t,n);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=e=>GLctx.blendEquation(e);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(e,r)=>GLctx.blendEquationSeparate(e,r);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(e,r)=>GLctx.blendFunc(e,r);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(e,r,t,n)=>GLctx.blendFuncSeparate(e,r,t,n);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";function _glBufferData(e,r,t,n){r>>>=0,t>>>=0,GLctx.bufferData(e,t?HEAPU8.subarray(t>>>0,t+r>>>0):r,n)}_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";function _glBufferSubData(e,r,t,n){r>>>=0,t>>>=0,n>>>=0,GLctx.bufferSubData(e,r,HEAPU8.subarray(n>>>0,n+t>>>0))}_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=e=>GLctx.checkFramebufferStatus(e);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=e=>GLctx.clear(e);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(e,r,t,n)=>GLctx.clearColor(e,r,t,n);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=e=>GLctx.clearDepth(e);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=e=>GLctx.clearStencil(e);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(e,r)=>{GLctx.extClipControl.clipControlEXT(e,r)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT,_glColorMask=(e,r,t,n)=>{GLctx.colorMask(!!e,!!r,!!t,!!n)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=e=>{GLctx.compileShader(GL.shaders[e])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";function _glCompressedTexImage2D(e,r,t,n,a,o,_,l){l>>>=0,GLctx.compressedTexImage2D(e,r,t,n,a,o,HEAPU8.subarray(l>>>0,l+_>>>0))}_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";function _glCompressedTexSubImage2D(e,r,t,n,a,o,_,l,c){c>>>=0,GLctx.compressedTexSubImage2D(e,r,t,n,a,o,_,HEAPU8.subarray(c>>>0,c+l>>>0))}_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(e,r,t,n,a,o,_,l)=>GLctx.copyTexImage2D(e,r,t,n,a,o,_,l);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(e,r,t,n,a,o,_,l)=>GLctx.copyTexSubImage2D(e,r,t,n,a,o,_,l);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var e=GL.getNewId(GL.programs),r=GLctx.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,GL.programs[e]=r,e};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=e=>{var r=GL.getNewId(GL.shaders);return GL.shaders[r]=GLctx.createShader(e),r};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=e=>GLctx.cullFace(e);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";function _glDeleteBuffers(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.buffers[n];a&&(GLctx.deleteBuffer(a),a.name=0,GL.buffers[n]=null)}}_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";function _glDeleteFramebuffers(e,r){r>>>=0;for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0],a=GL.framebuffers[n];a&&(GLctx.deleteFramebuffer(a),a.name=0,GL.framebuffers[n]=null)}}_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=e=>{if(e){var r=GL.programs[e];if(!r){GL.recordError(1281);return}GLctx.deleteProgram(r),r.name=0,GL.programs[e]=null}};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";function _glDeleteQueriesEXT(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.queries[n];a&&(GLctx.disjointTimerQueryExt.deleteQueryEXT(a),GL.queries[n]=null)}}_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.renderbuffers[n];a&&(GLctx.deleteRenderbuffer(a),a.name=0,GL.renderbuffers[n]=null)}}_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=e=>{if(e){var r=GL.shaders[e];if(!r){GL.recordError(1281);return}GLctx.deleteShader(r),GL.shaders[e]=null}};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";function _glDeleteTextures(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.textures[n];a&&(GLctx.deleteTexture(a),a.name=0,GL.textures[n]=null)}}_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";function _glDeleteVertexArrays(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0];GLctx.deleteVertexArray(GL.vaos[n]),GL.vaos[n]=null}}_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=e=>GLctx.depthFunc(e);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=e=>{GLctx.depthMask(!!e)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(e,r)=>GLctx.depthRange(e,r);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(e,r)=>{GLctx.detachShader(GL.programs[e],GL.shaders[r])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=e=>GLctx.disable(e);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=e=>{GLctx.disableVertexAttribArray(e)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(e,r,t)=>{GLctx.drawArrays(e,r,t)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(e,r,t,n)=>{GLctx.drawArraysInstanced(e,r,t,n)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced,_emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE,tempFixedLengthArray=[];function _glDrawBuffers(e,r){r>>>=0;for(var t=tempFixedLengthArray[e],n=0;n<e;n++)t[n]=HEAP32[r+n*4>>>2>>>0];GLctx.drawBuffers(t)}_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers,_emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(e,r,t,n){n>>>=0,GLctx.drawElements(e,r,t,n)}_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";function _glDrawElementsInstanced(e,r,t,n,a){n>>>=0,GLctx.drawElementsInstanced(e,r,t,n,a)}_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced,_emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE,_glEnable=e=>GLctx.enable(e);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=e=>{GLctx.enableVertexAttribArray(e)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=e=>{GLctx.disjointTimerQueryExt.endQueryEXT(e)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT,_glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(e,r,t,n)=>{GLctx.framebufferRenderbuffer(e,r,t,GL.renderbuffers[n])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(e,r,t,n,a)=>{GLctx.framebufferTexture2D(e,r,t,GL.textures[n],a)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=e=>GLctx.frontFace(e);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";function _glGenBuffers(e,r){r>>>=0,GL.genObject(e,r,"createBuffer",GL.buffers)}_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";function _glGenFramebuffers(e,r){r>>>=0,GL.genObject(e,r,"createFramebuffer",GL.framebuffers)}_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";function _glGenQueriesEXT(e,r){r>>>=0;for(var t=0;t<e;t++){var n=GLctx.disjointTimerQueryExt.createQueryEXT();if(!n){for(GL.recordError(1282);t<e;)HEAP32[r+t++*4>>>2>>>0]=0;return}var a=GL.getNewId(GL.queries);n.name=a,GL.queries[a]=n,HEAP32[r+t*4>>>2>>>0]=a}}_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(e,r){r>>>=0,GL.genObject(e,r,"createRenderbuffer",GL.renderbuffers)}_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";function _glGenTextures(e,r){r>>>=0,GL.genObject(e,r,"createTexture",GL.textures)}_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";function _glGenVertexArrays(e,r){r>>>=0,GL.genObject(e,r,"createVertexArray",GL.vaos)}_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=e=>GLctx.generateMipmap(e);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(e,r,t,n,a,o,_,l)=>{r=GL.programs[r];var c=GLctx[e](r,t);if(c){var u=l&&stringToUTF8(c.name,l,n);a&&(HEAP32[a>>>2>>>0]=u),o&&(HEAP32[o>>>2>>>0]=c.size),_&&(HEAP32[_>>>2>>>0]=c.type)}};function _glGetActiveAttrib(e,r,t,n,a,o,_){n>>>=0,a>>>=0,o>>>=0,_>>>=0,__glGetActiveAttribOrUniform("getActiveAttrib",e,r,t,n,a,o,_)}_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";function _glGetActiveUniform(e,r,t,n,a,o,_){n>>>=0,a>>>=0,o>>>=0,_>>>=0,__glGetActiveAttribOrUniform("getActiveUniform",e,r,t,n,a,o,_)}_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";function _glGetAttachedShaders(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getAttachedShaders(GL.programs[e]),o=a.length;o>r&&(o=r),HEAP32[t>>>2>>>0]=o;for(var _=0;_<o;++_){var l=GL.shaders.indexOf(a[_]);HEAP32[n+_*4>>>2>>>0]=l}}_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";function _glGetAttribLocation(e,r){return r>>>=0,GLctx.getAttribLocation(GL.programs[e],UTF8ToString(r))}_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(e,r)=>{HEAPU32[e>>>2>>>0]=r;var t=HEAPU32[e>>>2>>>0];HEAPU32[e+4>>>2>>>0]=(r-t)/4294967296},emscriptenWebGLGet=(e,r,t)=>{if(!r){GL.recordError(1281);return}var n=void 0;switch(e){case 36346:n=1;break;case 36344:t!=0&&t!=1&&GL.recordError(1280);return;case 36345:n=0;break;case 34466:var a=GLctx.getParameter(34467);n=a?a.length:0;break}if(n===void 0){var o=GLctx.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":GL.recordError(1280);return;case"object":if(o===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{n=0;break}default:{GL.recordError(1280);return}}else if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var _=0;_<o.length;++_)switch(t){case 0:HEAP32[r+_*4>>>2>>>0]=o[_];break;case 2:HEAPF32[r+_*4>>>2>>>0]=o[_];break;case 4:HEAP8[r+_>>>0]=o[_]?1:0;break}return}else try{n=o.name|0}catch(l){GL.recordError(1280),err("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(l,")"));return}break;default:GL.recordError(1280),err("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"));return}}switch(t){case 1:writeI53ToI64(r,n);break;case 0:HEAP32[r>>>2>>>0]=n;break;case 2:HEAPF32[r>>>2>>>0]=n;break;case 4:HEAP8[r>>>0]=n?1:0;break}};function _glGetBooleanv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,4)}_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";function _glGetBufferParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getBufferParameter(e,r)}_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var e=GLctx.getError()||GL.lastError;return GL.lastError=0,e};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";function _glGetFloatv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,2)}_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";function _glGetFramebufferAttachmentParameteriv(e,r,t,n){n>>>=0;var a=GLctx.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=a.name|0),HEAP32[n>>>2>>>0]=a}_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";function _glGetIntegerv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,0)}_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";function _glGetProgramInfoLog(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getProgramInfoLog(GL.programs[e]);a===null&&(a="(unknown error)");var o=r>0&&n?stringToUTF8(a,n,r):0;t&&(HEAP32[t>>>2>>>0]=o)}_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";function _glGetProgramiv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}if(e>=GL.counter){GL.recordError(1281);return}if(e=GL.programs[e],r==35716){var n=GLctx.getProgramInfoLog(e);n===null&&(n="(unknown error)"),HEAP32[t>>>2>>>0]=n.length+1}else if(r==35719){if(!e.maxUniformLength)for(var a=GLctx.getProgramParameter(e,35718),o=0;o<a;++o)e.maxUniformLength=Math.max(e.maxUniformLength,GLctx.getActiveUniform(e,o).name.length+1);HEAP32[t>>>2>>>0]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var _=GLctx.getProgramParameter(e,35721),o=0;o<_;++o)e.maxAttributeLength=Math.max(e.maxAttributeLength,GLctx.getActiveAttrib(e,o).name.length+1);HEAP32[t>>>2>>>0]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var l=GLctx.getProgramParameter(e,35382),o=0;o<l;++o)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,GLctx.getActiveUniformBlockName(e,o).length+1);HEAP32[t>>>2>>>0]=e.maxUniformBlockNameLength}else HEAP32[t>>>2>>>0]=GLctx.getProgramParameter(e,r)}_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";function _glGetQueryObjecti64vEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}var n=GL.queries[e],a;a=GLctx.disjointTimerQueryExt.getQueryObjectEXT(n,r);var o;typeof a=="boolean"?o=a?1:0:o=a,writeI53ToI64(t,o)}_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}var n=GL.queries[e],a=GLctx.disjointTimerQueryExt.getQueryObjectEXT(n,r),o;typeof a=="boolean"?o=a?1:0:o=a,HEAP32[t>>>2>>>0]=o}_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT,_glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT,_emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT,_glGetQueryObjectuivEXT=_glGetQueryObjectivEXT,_emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryivEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.disjointTimerQueryExt.getQueryEXT(e,r)}_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getRenderbufferParameter(e,r)}_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";function _glGetShaderInfoLog(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getShaderInfoLog(GL.shaders[e]);a===null&&(a="(unknown error)");var o=r>0&&n?stringToUTF8(a,n,r):0;t&&(HEAP32[t>>>2>>>0]=o)}_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";function _glGetShaderPrecisionFormat(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getShaderPrecisionFormat(e,r);HEAP32[t>>>2>>>0]=a.rangeMin,HEAP32[t+4>>>2>>>0]=a.rangeMax,HEAP32[n>>>2>>>0]=a.precision}_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";function _glGetShaderSource(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getShaderSource(GL.shaders[e]);if(a){var o=r>0&&n?stringToUTF8(a,n,r):0;t&&(HEAP32[t>>>2>>>0]=o)}}_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";function _glGetShaderiv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}if(r==35716){var n=GLctx.getShaderInfoLog(GL.shaders[e]);n===null&&(n="(unknown error)");var a=n?n.length+1:0;HEAP32[t>>>2>>>0]=a}else if(r==35720){var o=GLctx.getShaderSource(GL.shaders[e]),_=o?o.length+1:0;HEAP32[t>>>2>>>0]=_}else HEAP32[t>>>2>>>0]=GLctx.getShaderParameter(GL.shaders[e],r)}_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=function e(){var r=getEmscriptenSupportedExtensions(GLctx);return r=r.concat(r.map(t=>"GL_"+t)),r};function _glGetString(e){var r=GL.stringCache[e];if(!r){switch(e){case 7939:r=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=GLctx.getParameter(e);t||GL.recordError(1280),r=t?stringToNewUTF8(t):0;break;case 7938:var n=GLctx.getParameter(7938),a="OpenGL ES 2.0 (".concat(n,")");r=stringToNewUTF8(a);break;case 35724:var o=GLctx.getParameter(35724),_=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,l=o.match(_);l!==null&&(l[1].length==3&&(l[1]=l[1]+"0"),o="OpenGL ES GLSL ES ".concat(l[1]," (").concat(o,")")),r=stringToNewUTF8(o);break;default:GL.recordError(1280)}GL.stringCache[e]=r}return r}_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";function _glGetTexParameterfv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAPF32[t>>>2>>>0]=GLctx.getTexParameter(e,r)}_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";function _glGetTexParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getTexParameter(e,r)}_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var webglGetLeftBracePos=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),webglPrepareUniformLocationsBeforeFirstUse=e=>{var r=e.uniformLocsById,t=e.uniformSizeAndIdsByName,n,a;if(!r){e.uniformLocsById=r={},e.uniformArrayNamesById={};var o=GLctx.getProgramParameter(e,35718);for(n=0;n<o;++n){var _=GLctx.getActiveUniform(e,n),l=_.name,c=_.size,u=webglGetLeftBracePos(l),d=u>0?l.slice(0,u):l,f=e.uniformIdCounter;for(e.uniformIdCounter+=c,t[d]=[c,f],a=0;a<c;++a)r[f]=a,e.uniformArrayNamesById[f++]=d}}};function _glGetUniformLocation(e,r){if(r>>>=0,r=UTF8ToString(r),e=GL.programs[e]){webglPrepareUniformLocationsBeforeFirstUse(e);var t=e.uniformLocsById,n=0,a=r,o=webglGetLeftBracePos(r);o>0&&(n=jstoi_q(r.slice(o+1))>>>0,a=r.slice(0,o));var _=e.uniformSizeAndIdsByName[a];if(_&&n<_[0]&&(n+=_[1],t[n]=t[n]||GLctx.getUniformLocation(e,r)))return n}else GL.recordError(1281);return-1}_glGetUniformLocation.sig="iip";var _emscripten_glGetUniformLocation=_glGetUniformLocation;_emscripten_glGetUniformLocation.sig="iip";var webglGetUniformLocation=e=>{var r=GLctx.currentProgram;if(r){var t=r.uniformLocsById[e];return typeof t=="number"&&(r.uniformLocsById[e]=t=GLctx.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}else GL.recordError(1282)},emscriptenWebGLGetUniform=(e,r,t,n)=>{if(!t){GL.recordError(1281);return}e=GL.programs[e],webglPrepareUniformLocationsBeforeFirstUse(e);var a=GLctx.getUniform(e,webglGetUniformLocation(r));if(typeof a=="number"||typeof a=="boolean")switch(n){case 0:HEAP32[t>>>2>>>0]=a;break;case 2:HEAPF32[t>>>2>>>0]=a;break}else for(var o=0;o<a.length;o++)switch(n){case 0:HEAP32[t+o*4>>>2>>>0]=a[o];break;case 2:HEAPF32[t+o*4>>>2>>>0]=a[o];break}};function _glGetUniformfv(e,r,t){t>>>=0,emscriptenWebGLGetUniform(e,r,t,2)}_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";function _glGetUniformiv(e,r,t){t>>>=0,emscriptenWebGLGetUniform(e,r,t,0)}_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";function _glGetVertexAttribPointerv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getVertexAttribOffset(e,r)}_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(e,r,t,n)=>{if(!t){GL.recordError(1281);return}var a=GLctx.getVertexAttrib(e,r);if(r==34975)HEAP32[t>>>2>>>0]=a&&a.name;else if(typeof a=="number"||typeof a=="boolean")switch(n){case 0:HEAP32[t>>>2>>>0]=a;break;case 2:HEAPF32[t>>>2>>>0]=a;break;case 5:HEAP32[t>>>2>>>0]=Math.fround(a);break}else for(var o=0;o<a.length;o++)switch(n){case 0:HEAP32[t+o*4>>>2>>>0]=a[o];break;case 2:HEAPF32[t+o*4>>>2>>>0]=a[o];break;case 5:HEAP32[t+o*4>>>2>>>0]=Math.fround(a[o]);break}};function _glGetVertexAttribfv(e,r,t){t>>>=0,emscriptenWebGLGetVertexAttrib(e,r,t,2)}_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";function _glGetVertexAttribiv(e,r,t){t>>>=0,emscriptenWebGLGetVertexAttrib(e,r,t,5)}_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(e,r)=>GLctx.hint(e,r);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=e=>{var r=GL.buffers[e];return r?GLctx.isBuffer(r):0};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=e=>GLctx.isEnabled(e);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=e=>{var r=GL.framebuffers[e];return r?GLctx.isFramebuffer(r):0};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=e=>(e=GL.programs[e],e?GLctx.isProgram(e):0);_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=e=>{var r=GL.queries[e];return r?GLctx.disjointTimerQueryExt.isQueryEXT(r):0};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT,_glIsRenderbuffer=e=>{var r=GL.renderbuffers[e];return r?GLctx.isRenderbuffer(r):0};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=e=>{var r=GL.shaders[e];return r?GLctx.isShader(r):0};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=e=>{var r=GL.textures[e];return r?GLctx.isTexture(r):0};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=e=>{var r=GL.vaos[e];return r?GLctx.isVertexArray(r):0};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=e=>GLctx.lineWidth(e);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=e=>{e=GL.programs[e],GLctx.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(e,r)=>{e==3317?GL.unpackAlignment=r:e==3314&&(GL.unpackRowLength=r),GLctx.pixelStorei(e,r)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(e,r)=>{GLctx.webglPolygonMode.polygonModeWEBGL(e,r)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL,_glPolygonOffset=(e,r)=>GLctx.polygonOffset(e,r);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(e,r,t)=>{GLctx.extPolygonOffsetClamp.polygonOffsetClampEXT(e,r,t)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT,_glQueryCounterEXT=(e,r)=>{GLctx.disjointTimerQueryExt.queryCounterEXT(GL.queries[e],r)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT,computeUnpackAlignedImageSize=(e,r,t)=>{function n(_,l){return _+l-1&-l}var a=(GL.unpackRowLength||e)*t,o=n(a,GL.unpackAlignment);return r*o},colorChannelsInGlTextureFormat=e=>{var r={5:3,6:4,8:2,29502:3,29504:4};return r[e-6402]||1},heapObjectForWebGLType=e=>(e-=5120,e==1?HEAPU8:e==4?HEAP32:e==6?HEAPF32:e==5||e==28922?HEAPU32:HEAPU16),toTypedArrayIndex=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),emscriptenWebGLGetTexPixelData=(e,r,t,n,a,o)=>{var _=heapObjectForWebGLType(e),l=colorChannelsInGlTextureFormat(r)*_.BYTES_PER_ELEMENT,c=computeUnpackAlignedImageSize(t,n,l);return _.subarray(toTypedArrayIndex(a,_)>>>0,toTypedArrayIndex(a+c,_)>>>0)};function _glReadPixels(e,r,t,n,a,o,_){_>>>=0;var l=emscriptenWebGLGetTexPixelData(o,a,t,n,_,a);if(!l){GL.recordError(1280);return}GLctx.readPixels(e,r,t,n,a,o,l)}_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(e,r,t,n)=>GLctx.renderbufferStorage(e,r,t,n);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(e,r)=>{GLctx.sampleCoverage(e,!!r)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(e,r,t,n)=>GLctx.scissor(e,r,t,n);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";function _glShaderBinary(e,r,t,n,a){r>>>=0,n>>>=0,GL.recordError(1280)}_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";function _glShaderSource(e,r,t,n){t>>>=0,n>>>=0;var a=GL.getSource(e,r,t,n);GLctx.shaderSource(GL.shaders[e],a)}_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(e,r,t)=>GLctx.stencilFunc(e,r,t);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(e,r,t,n)=>GLctx.stencilFuncSeparate(e,r,t,n);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=e=>GLctx.stencilMask(e);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(e,r)=>GLctx.stencilMaskSeparate(e,r);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(e,r,t)=>GLctx.stencilOp(e,r,t);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(e,r,t,n)=>GLctx.stencilOpSeparate(e,r,t,n);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";function _glTexImage2D(e,r,t,n,a,o,_,l,c){c>>>=0;var u=c?emscriptenWebGLGetTexPixelData(l,_,n,a,c,t):null;GLctx.texImage2D(e,r,t,n,a,o,_,l,u)}_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(e,r,t)=>GLctx.texParameterf(e,r,t);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";function _glTexParameterfv(e,r,t){t>>>=0;var n=HEAPF32[t>>>2>>>0];GLctx.texParameterf(e,r,n)}_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(e,r,t)=>GLctx.texParameteri(e,r,t);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";function _glTexParameteriv(e,r,t){t>>>=0;var n=HEAP32[t>>>2>>>0];GLctx.texParameteri(e,r,n)}_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";function _glTexSubImage2D(e,r,t,n,a,o,_,l,c){c>>>=0;var u=c?emscriptenWebGLGetTexPixelData(l,_,a,o,c,0):null;GLctx.texSubImage2D(e,r,t,n,a,o,_,l,u)}_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(e,r)=>{GLctx.uniform1f(webglGetUniformLocation(e),r)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];function _glUniform1fv(e,r,t){if(t>>>=0,r<=288)for(var n=miniTempWebGLFloatBuffers[r],a=0;a<r;++a)n[a]=HEAPF32[t+4*a>>>2>>>0];else var n=HEAPF32.subarray(t>>>2>>>0,t+r*4>>>2>>>0);GLctx.uniform1fv(webglGetUniformLocation(e),n)}_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(e,r)=>{GLctx.uniform1i(webglGetUniformLocation(e),r)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];function _glUniform1iv(e,r,t){if(t>>>=0,r<=288)for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;++a)n[a]=HEAP32[t+4*a>>>2>>>0];else var n=HEAP32.subarray(t>>>2>>>0,t+r*4>>>2>>>0);GLctx.uniform1iv(webglGetUniformLocation(e),n)}_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(e,r,t)=>{GLctx.uniform2f(webglGetUniformLocation(e),r,t)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";function _glUniform2fv(e,r,t){if(t>>>=0,r<=144){r*=2;for(var n=miniTempWebGLFloatBuffers[r],a=0;a<r;a+=2)n[a]=HEAPF32[t+4*a>>>2>>>0],n[a+1]=HEAPF32[t+(4*a+4)>>>2>>>0]}else var n=HEAPF32.subarray(t>>>2>>>0,t+r*8>>>2>>>0);GLctx.uniform2fv(webglGetUniformLocation(e),n)}_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(e,r,t)=>{GLctx.uniform2i(webglGetUniformLocation(e),r,t)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";function _glUniform2iv(e,r,t){if(t>>>=0,r<=144){r*=2;for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;a+=2)n[a]=HEAP32[t+4*a>>>2>>>0],n[a+1]=HEAP32[t+(4*a+4)>>>2>>>0]}else var n=HEAP32.subarray(t>>>2>>>0,t+r*8>>>2>>>0);GLctx.uniform2iv(webglGetUniformLocation(e),n)}_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(e,r,t,n)=>{GLctx.uniform3f(webglGetUniformLocation(e),r,t,n)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";function _glUniform3fv(e,r,t){if(t>>>=0,r<=96){r*=3;for(var n=miniTempWebGLFloatBuffers[r],a=0;a<r;a+=3)n[a]=HEAPF32[t+4*a>>>2>>>0],n[a+1]=HEAPF32[t+(4*a+4)>>>2>>>0],n[a+2]=HEAPF32[t+(4*a+8)>>>2>>>0]}else var n=HEAPF32.subarray(t>>>2>>>0,t+r*12>>>2>>>0);GLctx.uniform3fv(webglGetUniformLocation(e),n)}_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(e,r,t,n)=>{GLctx.uniform3i(webglGetUniformLocation(e),r,t,n)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";function _glUniform3iv(e,r,t){if(t>>>=0,r<=96){r*=3;for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;a+=3)n[a]=HEAP32[t+4*a>>>2>>>0],n[a+1]=HEAP32[t+(4*a+4)>>>2>>>0],n[a+2]=HEAP32[t+(4*a+8)>>>2>>>0]}else var n=HEAP32.subarray(t>>>2>>>0,t+r*12>>>2>>>0);GLctx.uniform3iv(webglGetUniformLocation(e),n)}_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(e,r,t,n,a)=>{GLctx.uniform4f(webglGetUniformLocation(e),r,t,n,a)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";function _glUniform4fv(e,r,t){if(t>>>=0,r<=72){var n=miniTempWebGLFloatBuffers[4*r],a=HEAPF32;t=t>>>2,r*=4;for(var o=0;o<r;o+=4){var _=t+o;n[o]=a[_>>>0],n[o+1]=a[_+1>>>0],n[o+2]=a[_+2>>>0],n[o+3]=a[_+3>>>0]}}else var n=HEAPF32.subarray(t>>>2>>>0,t+r*16>>>2>>>0);GLctx.uniform4fv(webglGetUniformLocation(e),n)}_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(e,r,t,n,a)=>{GLctx.uniform4i(webglGetUniformLocation(e),r,t,n,a)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";function _glUniform4iv(e,r,t){if(t>>>=0,r<=72){r*=4;for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;a+=4)n[a]=HEAP32[t+4*a>>>2>>>0],n[a+1]=HEAP32[t+(4*a+4)>>>2>>>0],n[a+2]=HEAP32[t+(4*a+8)>>>2>>>0],n[a+3]=HEAP32[t+(4*a+12)>>>2>>>0]}else var n=HEAP32.subarray(t>>>2>>>0,t+r*16>>>2>>>0);GLctx.uniform4iv(webglGetUniformLocation(e),n)}_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";function _glUniformMatrix2fv(e,r,t,n){if(n>>>=0,r<=72){r*=4;for(var a=miniTempWebGLFloatBuffers[r],o=0;o<r;o+=4)a[o]=HEAPF32[n+4*o>>>2>>>0],a[o+1]=HEAPF32[n+(4*o+4)>>>2>>>0],a[o+2]=HEAPF32[n+(4*o+8)>>>2>>>0],a[o+3]=HEAPF32[n+(4*o+12)>>>2>>>0]}else var a=HEAPF32.subarray(n>>>2>>>0,n+r*16>>>2>>>0);GLctx.uniformMatrix2fv(webglGetUniformLocation(e),!!t,a)}_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";function _glUniformMatrix3fv(e,r,t,n){if(n>>>=0,r<=32){r*=9;for(var a=miniTempWebGLFloatBuffers[r],o=0;o<r;o+=9)a[o]=HEAPF32[n+4*o>>>2>>>0],a[o+1]=HEAPF32[n+(4*o+4)>>>2>>>0],a[o+2]=HEAPF32[n+(4*o+8)>>>2>>>0],a[o+3]=HEAPF32[n+(4*o+12)>>>2>>>0],a[o+4]=HEAPF32[n+(4*o+16)>>>2>>>0],a[o+5]=HEAPF32[n+(4*o+20)>>>2>>>0],a[o+6]=HEAPF32[n+(4*o+24)>>>2>>>0],a[o+7]=HEAPF32[n+(4*o+28)>>>2>>>0],a[o+8]=HEAPF32[n+(4*o+32)>>>2>>>0]}else var a=HEAPF32.subarray(n>>>2>>>0,n+r*36>>>2>>>0);GLctx.uniformMatrix3fv(webglGetUniformLocation(e),!!t,a)}_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";function _glUniformMatrix4fv(e,r,t,n){if(n>>>=0,r<=18){var a=miniTempWebGLFloatBuffers[16*r],o=HEAPF32;n=n>>>2,r*=16;for(var _=0;_<r;_+=16){var l=n+_;a[_]=o[l>>>0],a[_+1]=o[l+1>>>0],a[_+2]=o[l+2>>>0],a[_+3]=o[l+3>>>0],a[_+4]=o[l+4>>>0],a[_+5]=o[l+5>>>0],a[_+6]=o[l+6>>>0],a[_+7]=o[l+7>>>0],a[_+8]=o[l+8>>>0],a[_+9]=o[l+9>>>0],a[_+10]=o[l+10>>>0],a[_+11]=o[l+11>>>0],a[_+12]=o[l+12>>>0],a[_+13]=o[l+13>>>0],a[_+14]=o[l+14>>>0],a[_+15]=o[l+15>>>0]}}else var a=HEAPF32.subarray(n>>>2>>>0,n+r*64>>>2>>>0);GLctx.uniformMatrix4fv(webglGetUniformLocation(e),!!t,a)}_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=e=>{e=GL.programs[e],GLctx.useProgram(e),GLctx.currentProgram=e};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=e=>{GLctx.validateProgram(GL.programs[e])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(e,r)=>GLctx.vertexAttrib1f(e,r);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";function _glVertexAttrib1fv(e,r){r>>>=0,GLctx.vertexAttrib1f(e,HEAPF32[r>>>2])}_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(e,r,t)=>GLctx.vertexAttrib2f(e,r,t);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";function _glVertexAttrib2fv(e,r){r>>>=0,GLctx.vertexAttrib2f(e,HEAPF32[r>>>2],HEAPF32[r+4>>>2])}_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(e,r,t,n)=>GLctx.vertexAttrib3f(e,r,t,n);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";function _glVertexAttrib3fv(e,r){r>>>=0,GLctx.vertexAttrib3f(e,HEAPF32[r>>>2],HEAPF32[r+4>>>2],HEAPF32[r+8>>>2])}_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(e,r,t,n,a)=>GLctx.vertexAttrib4f(e,r,t,n,a);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";function _glVertexAttrib4fv(e,r){r>>>=0,GLctx.vertexAttrib4f(e,HEAPF32[r>>>2],HEAPF32[r+4>>>2],HEAPF32[r+8>>>2],HEAPF32[r+12>>>2])}_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(e,r)=>{GLctx.vertexAttribDivisor(e,r)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor,_emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;function _glVertexAttribPointer(e,r,t,n,a,o){o>>>=0,GLctx.vertexAttribPointer(e,r,t,!!n,a,o)}_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(e,r,t,n)=>GLctx.viewport(e,r,t,n);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";function _emscripten_out(e){return e>>>=0,out(UTF8ToString(e))}_emscripten_out.sig="vp";class HandleAllocator{constructor(){X(this,"allocated",[void 0]);X(this,"freelist",[])}get(r){return this.allocated[r]}has(r){return this.allocated[r]!==void 0}allocate(r){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=r,t}free(r){this.allocated[r]=void 0,this.freelist.push(r)}}var promiseMap=new HandleAllocator,makePromise=()=>{var e={};return e.promise=new Promise((r,t)=>{e.reject=t,e.resolve=r}),e.id=promiseMap.allocate(e),e};function _emscripten_promise_create(){return makePromise().id}_emscripten_promise_create.sig="p";function _emscripten_promise_destroy(e){e>>>=0,promiseMap.free(e)}_emscripten_promise_destroy.sig="vp";var getPromise=e=>promiseMap.get(e).promise;function _emscripten_promise_resolve(e,r,t){e>>>=0,t>>>=0;var n=promiseMap.get(e);switch(r){case 0:n.resolve(t);return;case 1:n.resolve(getPromise(t));return;case 2:n.resolve(getPromise(t)),_emscripten_promise_destroy(t);return;case 3:n.reject(t);return}}_emscripten_promise_resolve.sig="vpip";var growMemory=e=>{var r=wasmMemory.buffer,t=(e-r.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(n){}};function _emscripten_resize_heap(e){e>>>=0;var r=HEAPU8.length,t=getHeapMax();if(e>t)return!1;for(var n=1;n<=4;n*=2){var a=r*(1+.2/n);a=Math.min(a,e+100663296);var o=Math.min(t,alignMemory(Math.max(e,a),65536)),_=growMemory(o);if(_)return!0}return!1}_emscripten_resize_heap.sig="ip";function _emscripten_wget_data(e,r,t,n){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"}_emscripten_wget_data.sig="vpppp";var getEnvStrings=()=>{if(!getEnvStrings.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:getExecutableName()};for(var t in ENV)ENV[t]===void 0?delete r[t]:r[t]=ENV[t];var n=[];for(var t in r)n.push("".concat(t,"=").concat(r[t]));getEnvStrings.strings=n}return getEnvStrings.strings},stringToAscii=(e,r)=>{for(var t=0;t<e.length;++t)HEAP8[r++>>>0]=e.charCodeAt(t);HEAP8[r>>>0]=0},_environ_get=function(e,r){e>>>=0,r>>>=0;var t=0;return getEnvStrings().forEach((n,a)=>{var o=r+t;HEAPU32[e+a*4>>>2>>>0]=o,stringToAscii(n,o),t+=n.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=function(e,r){e>>>=0,r>>>=0;var t=getEnvStrings();HEAPU32[e>>>2>>>0]=t.length;var n=0;return t.forEach(a=>n+=a.length+1),HEAPU32[r>>>2>>>0]=n,0};_environ_sizes_get.sig="ipp";function _fd_close(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.close(r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_fd_close.sig="ii";function _fd_fdstat_get(e,r){r>>>=0;try{var t=0,n=0,a=0,o=SYSCALLS.getStreamFromFD(e),_=o.tty?2:FS.isDir(o.mode)?3:FS.isLink(o.mode)?7:4;return HEAP8[r>>>0]=_,HEAP16[r+2>>>1>>>0]=a,tempI64=[t>>>0,(tempDouble=t,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+8>>>2>>>0]=tempI64[0],HEAP32[r+12>>>2>>>0]=tempI64[1],tempI64=[n>>>0,(tempDouble=n,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+16>>>2>>>0]=tempI64[0],HEAP32[r+20>>>2>>>0]=tempI64[1],0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_fdstat_get.sig="iip";var doReadv=(e,r,t,n)=>{for(var a=0,o=0;o<t;o++){var _=HEAPU32[r>>>2>>>0],l=HEAPU32[r+4>>>2>>>0];r+=8;var c=FS.read(e,HEAP8,_,l,n);if(c<0)return-1;if(a+=c,c<l)break;typeof n<"u"&&(n+=c)}return a};function _fd_pread(e,r,t,n,a,o){r>>>=0,t>>>=0;var _=convertI32PairToI53Checked(n,a);o>>>=0;try{if(isNaN(_))return 61;var l=SYSCALLS.getStreamFromFD(e),c=doReadv(l,r,t,_);return HEAPU32[o>>>2>>>0]=c,0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return u.errno}}_fd_pread.sig="iippiip";var doWritev=(e,r,t,n)=>{for(var a=0,o=0;o<t;o++){var _=HEAPU32[r>>>2>>>0],l=HEAPU32[r+4>>>2>>>0];r+=8;var c=FS.write(e,HEAP8,_,l,n);if(c<0)return-1;if(a+=c,c<l)break;typeof n<"u"&&(n+=c)}return a};function _fd_pwrite(e,r,t,n,a,o){r>>>=0,t>>>=0;var _=convertI32PairToI53Checked(n,a);o>>>=0;try{if(isNaN(_))return 61;var l=SYSCALLS.getStreamFromFD(e),c=doWritev(l,r,t,_);return HEAPU32[o>>>2>>>0]=c,0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return u.errno}}_fd_pwrite.sig="iippiip";function _fd_read(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;try{var a=SYSCALLS.getStreamFromFD(e),o=doReadv(a,r,t);return HEAPU32[n>>>2>>>0]=o,0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_read.sig="iippp";function _fd_seek(e,r,t,n,a){var o=convertI32PairToI53Checked(r,t);a>>>=0;try{if(isNaN(o))return 61;var _=SYSCALLS.getStreamFromFD(e);return FS.llseek(_,o,n),tempI64=[_.position>>>0,(tempDouble=_.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[a>>>2>>>0]=tempI64[0],HEAP32[a+4>>>2>>>0]=tempI64[1],_.getdents&&o===0&&n===0&&(_.getdents=null),0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_seek.sig="iiiiip";function _fd_sync(e){var t;try{var r=SYSCALLS.getStreamFromFD(e);return(t=r.stream_ops)!=null&&t.fsync?r.stream_ops.fsync(r):0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return n.errno}}_fd_sync.sig="ii";function _fd_write(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;try{var a=SYSCALLS.getStreamFromFD(e),o=doWritev(a,r,t);return HEAPU32[n>>>2>>>0]=o,0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_write.sig="iippp";function _getaddrinfo(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=[],o=null,_=0,l=0,c=0,u=0,d=0,f=0,p,m;function v(g,S,h,b,A,w){var L,F,y,D;return F=g===10?28:16,A=g===10?inetNtop6(A):inetNtop4(A),L=_malloc(F),D=writeSockaddr(L,g,A,w),assert(!D),y=_malloc(32),HEAP32[y+4>>>2>>>0]=g,HEAP32[y+8>>>2>>>0]=S,HEAP32[y+12>>>2>>>0]=h,HEAPU32[y+24>>>2>>>0]=b,HEAPU32[y+20>>>2>>>0]=L,g===10?HEAP32[y+16>>>2>>>0]=28:HEAP32[y+16>>>2>>>0]=16,HEAP32[y+28>>>2>>>0]=0,y}if(t&&(c=HEAP32[t>>>2>>>0],u=HEAP32[t+4>>>2>>>0],d=HEAP32[t+8>>>2>>>0],f=HEAP32[t+12>>>2>>>0]),d&&!f&&(f=d===2?17:6),!d&&f&&(d=f===17?2:1),f===0&&(f=6),d===0&&(d=1),!e&&!r)return-2;if(c&-1088||t!==0&&HEAP32[t>>>2>>>0]&2&&!e)return-1;if(c&32)return-2;if(d!==0&&d!==1&&d!==2)return-7;if(u!==0&&u!==2&&u!==10)return-6;if(r&&(r=UTF8ToString(r),l=parseInt(r,10),isNaN(l)))return c&1024?-2:-8;if(!e)return u===0&&(u=2),c&1||(u===2?_=_htonl(2130706433):_=[0,0,0,_htonl(1)]),p=v(u,d,f,null,_,l),HEAPU32[n>>>2>>>0]=p,0;if(e=UTF8ToString(e),_=inetPton4(e),_!==null)if(u===0||u===2)u=2;else if(u===10&&c&8)_=[0,0,_htonl(65535),_],u=10;else return-2;else if(_=inetPton6(e),_!==null)if(u===0||u===10)u=10;else return-2;return _!=null?(p=v(u,d,f,e,_,l),HEAPU32[n>>>2>>>0]=p,0):c&4?-2:(e=DNS.lookup_name(e),_=inetPton4(e),u===0?u=2:u===10&&(_=[0,0,_htonl(65535),_]),p=v(u,d,f,null,_,l),HEAPU32[n>>>2>>>0]=p,0)}_getaddrinfo.sig="ipppp";function _getnameinfo(e,r,t,n,a,o,_){e>>>=0,t>>>=0,a>>>=0;var l=readSockaddr(e,r);if(l.errno)return-6;var c=l.port,u=l.addr,d=!1;if(t&&n){var f;if(_&1||!(f=DNS.lookup_addr(u))){if(_&8)return-2}else u=f;var p=stringToUTF8(u,t,n);p+1>=n&&(d=!0)}if(a&&o){c=""+c;var p=stringToUTF8(c,a,o);p+1>=o&&(d=!0)}return d?-12:0}_getnameinfo.sig="ipipipii";function _llvm_eh_typeid_for(e){return e>>>=0,e}_llvm_eh_typeid_for.sig="vp";function _pthread_kill(...e){return wasmImports.pthread_kill(...e)}_pthread_kill.stub=!0;function _random_get(e,r){e>>>=0,r>>>=0;try{return randomFill(HEAPU8.subarray(e>>>0,e+r>>>0)),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_random_get.sig="ipp";var arraySum=(e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t},MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],addDays=(e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=isLeapYear(t.getFullYear()),a=t.getMonth(),o=(n?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[a];if(r>o-t.getDate())r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else return t.setDate(t.getDate()+r),t}return t};function _strptime(e,r,t){e>>>=0,r>>>=0,t>>>=0;for(var n=UTF8ToString(r),a="\\!@#$^&*()+=-[]/{}|:<>?,.",o=0,_=a.length;o<_;++o)n=n.replace(new RegExp("\\"+a[o],"g"),"\\"+a[o]);var l={A:"%a",B:"%b",c:"%a %b %d %H:%M:%S %Y",D:"%m\\/%d\\/%y",e:"%d",F:"%Y-%m-%d",h:"%b",R:"%H\\:%M",r:"%I\\:%M\\:%S\\s%p",T:"%H\\:%M\\:%S",x:"%m\\/%d\\/(?:%y|%Y)",X:"%H\\:%M\\:%S"},c={a:"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)",b:"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)",C:"\\d\\d",d:"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31",H:"\\d(?!\\d)|[0,1]\\d|20|21|22|23",I:"\\d(?!\\d)|0\\d|10|11|12",j:"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d",m:"0[1-9]|[1-9](?!\\d)|10|11|12",M:"0\\d|\\d(?!\\d)|[1-5]\\d",n:" ",p:"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.",S:"0\\d|\\d(?!\\d)|[1-5]\\d|60",U:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",W:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",w:"[0-6]",y:"\\d\\d",Y:"\\d\\d\\d\\d",t:" ",z:"Z|(?:[\\+\\-]\\d\\d:?(?:\\d\\d)?)"},u={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11},d={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6},f={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6},p=[],m=n.replace(/%(.)/g,(H,U)=>l[U]||H).replace(/%(.)/g,(H,U)=>{let R=c[U];return R?(p.push(U),"(".concat(R,")")):U}).replace(/\s+/g,"\\s*"),v=new RegExp("^"+m,"i").exec(UTF8ToString(e));function g(){function H(U,R,V){return typeof U!="number"||isNaN(U)?R:U>=R?U<=V?U:V:R}return{year:H(HEAP32[t+20>>>2>>>0]+1900,1970,9999),month:H(HEAP32[t+16>>>2>>>0],0,11),day:H(HEAP32[t+12>>>2>>>0],1,31),hour:H(HEAP32[t+8>>>2>>>0],0,23),min:H(HEAP32[t+4>>>2>>>0],0,59),sec:H(HEAP32[t>>>2>>>0],0,59),gmtoff:0}}if(v){var S=g(),h,b=H=>{var U=p.indexOf(H);if(U>=0)return v[U+1]};if((h=b("S"))&&(S.sec=jstoi_q(h)),(h=b("M"))&&(S.min=jstoi_q(h)),h=b("H"))S.hour=jstoi_q(h);else if(h=b("I")){var A=jstoi_q(h);(h=b("p"))&&(A+=h.toUpperCase()[0]==="P"?12:0),S.hour=A}if(h=b("Y"))S.year=jstoi_q(h);else if(h=b("y")){var w=jstoi_q(h);(h=b("C"))?w+=jstoi_q(h)*100:w+=w<69?2e3:1900,S.year=w}if((h=b("m"))?S.month=jstoi_q(h)-1:(h=b("b"))&&(S.month=u[h.substring(0,3).toUpperCase()]||0),h=b("d"))S.day=jstoi_q(h);else if(h=b("j"))for(var L=jstoi_q(h),F=isLeapYear(S.year),y=0;y<12;++y){var D=arraySum(F?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,y-1);L<=D+(F?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[y]&&(S.day=L-D)}else if(h=b("a")){var P=h.substring(0,3).toUpperCase();if(h=b("U")){var k=d[P],x=jstoi_q(h),T=new Date(S.year,0,1),C;T.getDay()===0?C=addDays(T,k+7*(x-1)):C=addDays(T,7-T.getDay()+k+7*(x-1)),S.day=C.getDate(),S.month=C.getMonth()}else if(h=b("W")){var k=f[P],x=jstoi_q(h),T=new Date(S.year,0,1),C;T.getDay()===1?C=addDays(T,k+7*(x-1)):C=addDays(T,7-T.getDay()+1+k+7*(x-1)),S.day=C.getDate(),S.month=C.getMonth()}}if(h=b("z"))if(h.toLowerCase()==="z")S.gmtoff=0;else{var M=h.match(/^((?:\-|\+)\d\d):?(\d\d)?/);S.gmtoff=M[1]*3600,M[2]&&(S.gmtoff+=S.gmtoff>0?M[2]*60:-M[2]*60)}var G=new Date(S.year,S.month,S.day,S.hour,S.min,S.sec,0);return HEAP32[t>>>2>>>0]=G.getSeconds(),HEAP32[t+4>>>2>>>0]=G.getMinutes(),HEAP32[t+8>>>2>>>0]=G.getHours(),HEAP32[t+12>>>2>>>0]=G.getDate(),HEAP32[t+16>>>2>>>0]=G.getMonth(),HEAP32[t+20>>>2>>>0]=G.getFullYear()-1900,HEAP32[t+24>>>2>>>0]=G.getDay(),HEAP32[t+28>>>2>>>0]=arraySum(isLeapYear(G.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,G.getMonth()-1)+G.getDate()-1,HEAP32[t+32>>>2>>>0]=0,HEAP32[t+36>>>2>>>0]=S.gmtoff,e+intArrayFromString(v[0]).length-1}return 0}_strptime.sig="pppp";var getCFunc=e=>{var r=Module["_"+e];return r},writeArrayToMemory=(e,r)=>{HEAP8.set(e,r>>>0)},ccall=(e,r,t,n,a)=>{var o={string:v=>{var g=0;return v!=null&&v!==0&&(g=stringToUTF8OnStack(v)),g},array:v=>{var g=stackAlloc(v.length);return writeArrayToMemory(v,g),g}};function _(v){return r==="string"?UTF8ToString(v):r==="boolean"?!!v:v}var l=getCFunc(e),c=[],u=0;if(n)for(var d=0;d<n.length;d++){var f=o[t[d]];f?(u===0&&(u=stackSave()),c[d]=f(n[d])):c[d]=n[d]}var p=l(...c);function m(v){return u!==0&&stackRestore(u),_(v)}return p=m(p),p},getTempRet0=e=>__emscripten_tempret_get(),writeI53ToI64Clamped=(e,r)=>{r>9223372036854776e3?(HEAPU32[e>>>2>>>0]=4294967295,HEAPU32[e+4>>>2>>>0]=2147483647):r<-9223372036854776e3?(HEAPU32[e>>>2>>>0]=0,HEAPU32[e+4>>>2>>>0]=2147483648):writeI53ToI64(e,r)},writeI53ToI64Signaling=(e,r)=>{if(r>9223372036854776e3||r<-9223372036854776e3)throw"RangeError: ".concat(r);writeI53ToI64(e,r)},writeI53ToU64Clamped=(e,r)=>{r>18446744073709552e3?(HEAPU32[e>>>2>>>0]=4294967295,HEAPU32[e+4>>>2>>>0]=4294967295):r<0?(HEAPU32[e>>>2>>>0]=0,HEAPU32[e+4>>>2>>>0]=0):writeI53ToI64(e,r)},writeI53ToU64Signaling=(e,r)=>{if(r<0||r>18446744073709552e3)throw"RangeError: ".concat(r);writeI53ToI64(e,r)},readI53FromU64=e=>HEAPU32[e>>>2>>>0]+HEAPU32[e+4>>>2>>>0]*4294967296,convertI32PairToI53=(e,r)=>(e>>>0)+r*4294967296,convertU32PairToI53=(e,r)=>(e>>>0)+(r>>>0)*4294967296,_stackAlloc=stackAlloc,_stackSave=stackSave,_stackRestore=stackSave,_getTempRet0=getTempRet0;Module._getTempRet0=_getTempRet0;var ptrToString=e=>"0x"+e.toString(16).padStart(8,"0");function _emscripten_notify_memory_growth(e){e>>>=0,updateMemoryViews()}_emscripten_notify_memory_growth.sig="vp";var withStackSave=e=>{var r=stackSave(),t=e();return stackRestore(r),t},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},strError=e=>UTF8ToString(_strerror(e)),Protocols={list:[],map:{}},_setprotoent=e=>{function r(o,_,l){var c=_malloc(o.length+1);stringToAscii(o,c);for(var u=0,d=l.length,f=_malloc((d+1)*4),p=0;p<d;p++,u+=4){var m=l[p],v=_malloc(m.length+1);stringToAscii(m,v),HEAPU32[f+u>>>2>>>0]=v}HEAPU32[f+u>>>2>>>0]=0;var g=_malloc(12);return HEAPU32[g>>>2>>>0]=c,HEAPU32[g+4>>>2>>>0]=f,HEAP32[g+8>>>2>>>0]=_,g}var t=Protocols.list,n=Protocols.map;if(t.length===0){var a=r("tcp",6,["TCP"]);t.push(a),n.tcp=n[6]=a,a=r("udp",17,["UDP"]),t.push(a),n.udp=n[17]=a}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";function _getprotoent(e){if(_setprotoent.index===Protocols.list.length)return 0;var r=Protocols.list[_setprotoent.index++];return r}_getprotoent.sig="p";function _getprotobyname(e){e>>>=0,e=UTF8ToString(e),_setprotoent(!0);var r=Protocols.map[e];return r}_getprotobyname.sig="pp";function _getprotobynumber(e){_setprotoent(!0);var r=Protocols.map[e];return r}_getprotobynumber.sig="pi";function _emscripten_run_script(ptr){ptr>>>=0,eval(UTF8ToString(ptr))}_emscripten_run_script.sig="vp";function _emscripten_run_script_int(ptr){return ptr>>>=0,eval(UTF8ToString(ptr))|0}_emscripten_run_script_int.sig="ip";function _emscripten_run_script_string(ptr){ptr>>>=0;var s=eval(UTF8ToString(ptr));if(s==null)return 0;s+="";var me=_emscripten_run_script_string,len=lengthBytesUTF8(s);return(!me.bufferSize||me.bufferSize<len+1)&&(me.bufferSize&&_free(me.buffer),me.bufferSize=len+1,me.buffer=_malloc(me.bufferSize)),stringToUTF8(s,me.buffer,me.bufferSize),me.buffer}_emscripten_run_script_string.sig="pp";var _emscripten_random=()=>Math.random();_emscripten_random.sig="f";var warnOnce=e=>{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,ENVIRONMENT_IS_NODE&&(e="warning: "+e),err(e))},jsStackTrace=()=>new Error().stack.toString(),getCallstack=e=>{var r=jsStackTrace(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),a=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(a),e&8&&typeof emscripten_source_map>"u"&&(warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var o=r.split("\n");r="";var _=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var u in o){var d=o[u],f="",p="",m=0,v=0,g=c.exec(d);if(g&&g.length==5)f=g[1],p=g[2],m=g[3],v=g[4];else if(g=_.exec(d)||l.exec(d),g&&g.length>=4)f=g[1],p=g[2],m=g[3],v=g[4]|0;else{r+=d+"\n";continue}var S=!1;if(e&8){var h=emscripten_source_map.originalPositionFor({line:m,column:v});S=h==null?void 0:h.source,S&&(e&64&&(h.source=h.source.substring(h.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=" at ".concat(f," (").concat(h.source,":").concat(h.line,":").concat(h.column,")\n"))}(e&16||!S)&&(e&64&&(p=p.substring(p.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(S?" = ".concat(f):" at ".concat(f))+" (".concat(p,":").concat(m,":").concat(v,")\n"))}return r=r.replace(/\s+$/,""),r},emscriptenLog=(e,r)=>{e&24&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+getCallstack(e)),e&1?e&4?console.error(r):e&2?console.warn(r):e&512?console.info(r):e&256?console.debug(r):console.log(r):e&6?err(r):out(r)},reallyNegative=e=>e<0||e===0&&1/e===-1/0,reSign=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},unSign=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,strLen=e=>{for(var r=e;HEAPU8[r>>>0];)++r;return r-e},formatString=(e,r)=>{var t=e,n=r;function a(j,N){return(N==="double"||N==="i64")&&j&7&&(j+=4),j}function o(j){var N;return n=a(n,j),j==="double"?(N=HEAPF64[n>>>3>>>0],n+=8):j=="i64"?(N=[HEAP32[n>>>2>>>0],HEAP32[n+4>>>2>>>0]],n+=8):(j="i32",N=HEAP32[n>>>2>>>0],n+=4),N}for(var _=[],l,c,u;;){var d=t;if(l=HEAP8[t>>>0],l===0)break;if(c=HEAP8[t+1>>>0],l==37){var f=!1,p=!1,m=!1,v=!1,g=!1;e:for(;;){switch(c){case 43:f=!0;break;case 45:p=!0;break;case 35:m=!0;break;case 48:if(v)break e;v=!0;break;case 32:g=!0;break;default:break e}t++,c=HEAP8[t+1>>>0]}var S=0;if(c==42)S=o("i32"),t++,c=HEAP8[t+1>>>0];else for(;c>=48&&c<=57;)S=S*10+(c-48),t++,c=HEAP8[t+1>>>0];var h=!1,b=-1;if(c==46){if(b=0,h=!0,t++,c=HEAP8[t+1>>>0],c==42)b=o("i32"),t++;else for(;;){var A=HEAP8[t+1>>>0];if(A<48||A>57)break;b=b*10+(A-48),t++}c=HEAP8[t+1>>>0]}b<0&&(b=6,h=!1);var w;switch(String.fromCharCode(c)){case"h":var L=HEAP8[t+2>>>0];L==104?(t++,w=1):w=2;break;case"l":var L=HEAP8[t+2>>>0];L==108?(t++,w=8):w=4;break;case"L":case"q":case"j":w=8;break;case"z":case"t":case"I":w=4;break;default:w=null}switch(w&&t++,c=HEAP8[t+1>>>0],String.fromCharCode(c)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var F=c==100||c==105;w=w||4,u=o("i"+w*8);var y;if(w==8&&(u=c==117?convertU32PairToI53(u[0],u[1]):convertI32PairToI53(u[0],u[1])),w<=4){var D=Math.pow(256,w)-1;u=(F?reSign:unSign)(u&D,w*8)}var P=Math.abs(u),k="";if(c==100||c==105)y=reSign(u,8*w).toString(10);else if(c==117)y=unSign(u,8*w).toString(10),u=Math.abs(u);else if(c==111)y=(m?"0":"")+P.toString(8);else if(c==120||c==88){if(k=m&&u!=0?"0x":"",u<0){u=-u,y=(P-1).toString(16);for(var x=[],T=0;T<y.length;T++)x.push((15-parseInt(y[T],16)).toString(16));for(y=x.join("");y.length<w*2;)y="f"+y}else y=P.toString(16);c==88&&(k=k.toUpperCase(),y=y.toUpperCase())}else c==112&&(P===0?y="(nil)":(k="0x",y=P.toString(16)));if(h)for(;y.length<b;)y="0"+y;for(u>=0&&(f?k="+"+k:g&&(k=" "+k)),y.charAt(0)=="-"&&(k="-"+k,y=y.substr(1));k.length+y.length<S;)p?y+=" ":v?y="0"+y:k=" "+k;y=k+y,y.split("").forEach(j=>_.push(j.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{u=o("double");var y;if(isNaN(u))y="nan",v=!1;else if(!isFinite(u))y=(u<0?"-":"")+"inf",v=!1;else{var C=!1,M=Math.min(b,20);if(c==103||c==71){C=!0,b=b||1;var G=parseInt(u.toExponential(M).split("e")[1],10);b>G&&G>=-4?(c=(c==103?"f":"F").charCodeAt(0),b-=G+1):(c=(c==103?"e":"E").charCodeAt(0),b--),M=Math.min(b,20)}c==101||c==69?(y=u.toExponential(M),/[eE][-+]\d$/.test(y)&&(y=y.slice(0,-1)+"0"+y.slice(-1))):(c==102||c==70)&&(y=u.toFixed(M),u===0&&reallyNegative(u)&&(y="-"+y));var H=y.split("e");if(C&&!m)for(;H[0].length>1&&H[0].includes(".")&&(H[0].slice(-1)=="0"||H[0].slice(-1)==".");)H[0]=H[0].slice(0,-1);else for(m&&y.indexOf(".")==-1&&(H[0]+=".");b>M++;)H[0]+="0";y=H[0]+(H.length>1?"e"+H[1]:""),c==69&&(y=y.toUpperCase()),u>=0&&(f?y="+"+y:g&&(y=" "+y))}for(;y.length<S;)p?y+=" ":v&&(y[0]=="-"||y[0]=="+")?y=y[0]+"0"+y.slice(1):y=(v?"0":" ")+y;c<97&&(y=y.toUpperCase()),y.split("").forEach(N=>_.push(N.charCodeAt(0)));break}case"s":{var U=o("i8*"),R=U?strLen(U):6;if(h&&(R=Math.min(R,b)),!p)for(;R<S--;)_.push(32);if(U)for(var T=0;T<R;T++)_.push(HEAPU8[U++>>>0]);else _=_.concat(intArrayFromString("(null)".substr(0,R),!0));if(p)for(;R<S--;)_.push(32);break}case"c":{for(p&&_.push(o("i8"));--S>0;)_.push(32);p||_.push(o("i8"));break}case"n":{var V=o("i32*");HEAP32[V>>>2>>>0]=_.length;break}case"%":{_.push(l);break}default:for(var T=d;T<t+2;T++)_.push(HEAP8[T>>>0])}t+=2}else _.push(l),t+=1}return _};function _emscripten_log(e,r,t){r>>>=0,t>>>=0;var n=formatString(r,t),a=UTF8ArrayToString(n);emscriptenLog(e,a)}_emscripten_log.sig="vipp";function _emscripten_get_compiler_setting(e){throw e>>>=0,"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"}_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";function _emscripten_print_double(e,r,t){r>>>=0;var n=e+"";return r?stringToUTF8(n,r,t):lengthBytesUTF8(n)}_emscripten_print_double.sig="idpi";function _emscripten_asm_const_double(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_double.sig="dppp";var runMainThreadEmAsm=(e,r,t,n)=>{var a=readEmAsmArgs(r,t);return ASM_CONSTS[e](...a)};function _emscripten_asm_const_int_sync_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,1)}_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";function _emscripten_asm_const_ptr_sync_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,1)}_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";function _emscripten_asm_const_async_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,0)}_emscripten_asm_const_async_on_main_thread.sig="vppp";var jstoi_s=Number;function __Unwind_Backtrace(e,r){e>>>=0,r>>>=0;for(var t=getCallstack(),n=t.split("\n"),a=0;a<n.length;a++){var o=getWasmTableEntry(e)(0,r);if(o!==0)return}}__Unwind_Backtrace.sig="ipp";function __Unwind_GetIPInfo(e,r){return e>>>=0,r>>>=0,abort("Unwind_GetIPInfo")}__Unwind_GetIPInfo.sig="ppp";function __Unwind_FindEnclosingFunction(e){return e>>>=0,0}__Unwind_FindEnclosingFunction.sig="pp";function __Unwind_RaiseException(e){return e>>>=0,err("Warning: _Unwind_RaiseException is not correctly implemented"),___cxa_throw(e,0,0)}__Unwind_RaiseException.sig="ip";function __Unwind_DeleteException(e){e>>>=0,err("TODO: Unwind_DeleteException")}__Unwind_DeleteException.sig="vp";var getDynCaller=(e,r)=>(...t)=>dynCall(e,r,t),_emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=e=>{__emscripten_runtime_keepalive_clear(),_exit(e)};_emscripten_force_exit.sig="vi";function _emscripten_outn(e,r){return e>>>=0,r>>>=0,out(UTF8ToString(e,r))}_emscripten_outn.sig="vpp";function _emscripten_errn(e,r){return e>>>=0,r>>>=0,err(UTF8ToString(e,r))}_emscripten_errn.sig="vpp";var _emscripten_throw_number=e=>{throw e};_emscripten_throw_number.sig="vd";function _emscripten_throw_string(e){throw e>>>=0,UTF8ToString(e)}_emscripten_throw_string.sig="vp";var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=e=>(e=="__main_argc_argv"&&(e="main"),e.startsWith("dynCall_")?e:"_"+e),___global_base=1024;function __emscripten_fs_load_embedded_files(e){e>>>=0;do{var r=HEAPU32[e>>>2>>>0];e+=4;var t=HEAPU32[e>>>2>>>0];e+=4;var n=HEAPU32[e>>>2>>>0];e+=4;var a=UTF8ToString(r);FS.createPath("/",PATH.dirname(a),!0,!0),FS.createDataFile(a,null,HEAP8.subarray(n>>>0,n+t>>>0),!0,!0,!0)}while(HEAPU32[e>>>2>>>0])}__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(e){switch(e){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*")return POINTER_SIZE;if(e[0]==="i"){let r=Number(e.substr(1));return assert(r%8===0,"getNativeTypeSize invalid bits ".concat(r,", ").concat(e," type")),r/8}return 0}}}var STACK_SIZE=1048576,STACK_ALIGN=16,ASSERTIONS=0,cwrap=(e,r,t,n)=>{var a=!t||t.every(_=>_==="number"||_==="boolean"),o=r!=="string";return o&&a&&!n?getCFunc(e):(..._)=>ccall(e,r,t,_,n)},removeFunction=e=>{functionsInTableMap.delete(getWasmTableEntry(e)),setWasmTableEntry(e,null),freeTableIndexes.push(e)},_emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(e,r)=>e%r;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";function _emscripten_math_hypot(e,r){r>>>=0;for(var t=[],n=0;n<e;++n)t.push(HEAPF64[r+n*8>>>3>>>0]);return Math.hypot(...t)}_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";function intArrayToString(e){for(var r=[],t=0;t<e.length;t++){var n=e[t];n>255&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}var AsciiToString=e=>{e>>>=0;for(var r="";;){var t=HEAPU8[e++>>>0];if(!t)return r;r+=String.fromCharCode(t)}},JSEvents={removeAllEventListeners(){for(;JSEvents.eventHandlers.length;)JSEvents._removeHandler(JSEvents.eventHandlers.length-1);JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,r,t){function n(o,_){if(o.length!=_.length)return!1;for(var l in o)if(o[l]!=_[l])return!1;return!0}for(var a of JSEvents.deferredCalls)if(a.targetFunction==e&&n(a.argsList,t))return;JSEvents.deferredCalls.push({targetFunction:e,precedence:r,argsList:t}),JSEvents.deferredCalls.sort((o,_)=>o.precedence<_.precedence)},removeDeferredCalls(e){JSEvents.deferredCalls=JSEvents.deferredCalls.filter(r=>r.targetFunction!=e)},canPerformEventHandlerRequests(){return navigator.userActivation?navigator.userActivation.isActive:JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(JSEvents.canPerformEventHandlerRequests()){var e=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var r of e)r.targetFunction(...r.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,r)=>{for(var t=0;t<JSEvents.eventHandlers.length;++t)JSEvents.eventHandlers[t].target==e&&(!r||r==JSEvents.eventHandlers[t].eventTypeString)&&JSEvents._removeHandler(t--)},_removeHandler(e){var r=JSEvents.eventHandlers[e];r.target.removeEventListener(r.eventTypeString,r.eventListenerFunc,r.useCapture),JSEvents.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++JSEvents.inEventHandler,JSEvents.currentEventHandler=e,JSEvents.runDeferredCalls(),e.handlerFunc(t),JSEvents.runDeferredCalls(),--JSEvents.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),JSEvents.eventHandlers.push(e);else for(var r=0;r<JSEvents.eventHandlers.length;++r)JSEvents.eventHandlers[r].target==e.target&&JSEvents.eventHandlers[r].eventTypeString==e.eventTypeString&&JSEvents._removeHandler(r--);return 0},getNodeNameForTarget(e){return e?e==window?"#window":e==screen?"#screen":(e==null?void 0:e.nodeName)||"":""},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},maybeCStringToJsString=e=>e>2?UTF8ToString(e):e,specialHTMLTargets=[0,typeof document<"u"?document:0,typeof window<"u"?window:0],findEventTarget=e=>{e=maybeCStringToJsString(e);var r=specialHTMLTargets[e]||(typeof document<"u"?document.querySelector(e):void 0);return r},registerKeyEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.keyEvent||(JSEvents.keyEvent=_malloc(160));var l=u=>{var d=JSEvents.keyEvent;HEAPF64[d>>>3>>>0]=u.timeStamp;var f=d>>>2;HEAP32[f+2>>>0]=u.location,HEAP8[d+12>>>0]=u.ctrlKey,HEAP8[d+13>>>0]=u.shiftKey,HEAP8[d+14>>>0]=u.altKey,HEAP8[d+15>>>0]=u.metaKey,HEAP8[d+16>>>0]=u.repeat,HEAP32[f+5>>>0]=u.charCode,HEAP32[f+6>>>0]=u.keyCode,HEAP32[f+7>>>0]=u.which,stringToUTF8(u.key||"",d+32,32),stringToUTF8(u.code||"",d+64,32),stringToUTF8(u.char||"",d+96,32),stringToUTF8(u.locale||"",d+128,32),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)},findCanvasEventTarget=findEventTarget;function _emscripten_set_keypress_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerKeyEventCallback(e,r,t,n,1,"keypress",a)}_emscripten_set_keypress_callback_on_thread.sig="ippipp";function _emscripten_set_keydown_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerKeyEventCallback(e,r,t,n,2,"keydown",a)}_emscripten_set_keydown_callback_on_thread.sig="ippipp";function _emscripten_set_keyup_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerKeyEventCallback(e,r,t,n,3,"keyup",a)}_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0},fillMouseEventData=(e,r,t)=>{HEAPF64[e>>>3>>>0]=r.timeStamp;var n=e>>>2;HEAP32[n+2>>>0]=r.screenX,HEAP32[n+3>>>0]=r.screenY,HEAP32[n+4>>>0]=r.clientX,HEAP32[n+5>>>0]=r.clientY,HEAP8[e+24>>>0]=r.ctrlKey,HEAP8[e+25>>>0]=r.shiftKey,HEAP8[e+26>>>0]=r.altKey,HEAP8[e+27>>>0]=r.metaKey,HEAP16[n*2+14>>>0]=r.button,HEAP16[n*2+15>>>0]=r.buttons,HEAP32[n+8>>>0]=r.movementX,HEAP32[n+9>>>0]=r.movementY;var a=getBoundingClientRect(t);HEAP32[n+10>>>0]=r.clientX-(a.left|0),HEAP32[n+11>>>0]=r.clientY-(a.top|0)},registerMouseEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.mouseEvent||(JSEvents.mouseEvent=_malloc(64)),e=findEventTarget(e);var l=(u=event)=>{fillMouseEventData(JSEvents.mouseEvent,u,e),getWasmTableEntry(n)(a,JSEvents.mouseEvent,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:o!="mousemove"&&o!="mouseenter"&&o!="mouseleave",eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_click_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,4,"click",a)}_emscripten_set_click_callback_on_thread.sig="ippipp";function _emscripten_set_mousedown_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,5,"mousedown",a)}_emscripten_set_mousedown_callback_on_thread.sig="ippipp";function _emscripten_set_mouseup_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,6,"mouseup",a)}_emscripten_set_mouseup_callback_on_thread.sig="ippipp";function _emscripten_set_dblclick_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,7,"dblclick",a)}_emscripten_set_dblclick_callback_on_thread.sig="ippipp";function _emscripten_set_mousemove_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,8,"mousemove",a)}_emscripten_set_mousemove_callback_on_thread.sig="ippipp";function _emscripten_set_mouseenter_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,33,"mouseenter",a)}_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";function _emscripten_set_mouseleave_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,34,"mouseleave",a)}_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";function _emscripten_set_mouseover_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,35,"mouseover",a)}_emscripten_set_mouseover_callback_on_thread.sig="ippipp";function _emscripten_set_mouseout_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,36,"mouseout",a)}_emscripten_set_mouseout_callback_on_thread.sig="ippipp";function _emscripten_get_mouse_status(e){return e>>>=0,JSEvents.mouseEvent?(HEAP8.set(HEAP8.subarray(JSEvents.mouseEvent>>>0,JSEvents.mouseEvent+64>>>0),e>>>0),0):-7}_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.wheelEvent||(JSEvents.wheelEvent=_malloc(96));var l=(u=event)=>{var d=JSEvents.wheelEvent;fillMouseEventData(d,u,e),HEAPF64[d+64>>>3>>>0]=u.deltaX,HEAPF64[d+72>>>3>>>0]=u.deltaY,HEAPF64[d+80>>>3>>>0]=u.deltaZ,HEAP32[d+88>>>2>>>0]=u.deltaMode,getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_wheel_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,e=findEventTarget(e),e?typeof e.onwheel<"u"?registerWheelEventCallback(e,r,t,n,9,"wheel",a):-1:-4}_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.uiEvent||(JSEvents.uiEvent=_malloc(36)),e=findEventTarget(e);var l=(u=event)=>{if(u.target==e){var d=document.body;if(d){var f=JSEvents.uiEvent;HEAP32[f>>>2>>>0]=0,HEAP32[f+4>>>2>>>0]=d.clientWidth,HEAP32[f+8>>>2>>>0]=d.clientHeight,HEAP32[f+12>>>2>>>0]=innerWidth,HEAP32[f+16>>>2>>>0]=innerHeight,HEAP32[f+20>>>2>>>0]=outerWidth,HEAP32[f+24>>>2>>>0]=outerHeight,HEAP32[f+28>>>2>>>0]=pageXOffset|0,HEAP32[f+32>>>2>>>0]=pageYOffset|0,getWasmTableEntry(n)(a,f,r)&&u.preventDefault()}}},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_resize_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerUiEventCallback(e,r,t,n,10,"resize",a)}_emscripten_set_resize_callback_on_thread.sig="ippipp";function _emscripten_set_scroll_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerUiEventCallback(e,r,t,n,11,"scroll",a)}_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.focusEvent||(JSEvents.focusEvent=_malloc(256));var l=(u=event)=>{var d=JSEvents.getNodeNameForTarget(u.target),f=u.target.id?u.target.id:"",p=JSEvents.focusEvent;stringToUTF8(d,p+0,128),stringToUTF8(f,p+128,128),getWasmTableEntry(n)(a,p,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_blur_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,12,"blur",a)}_emscripten_set_blur_callback_on_thread.sig="ippipp";function _emscripten_set_focus_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,13,"focus",a)}_emscripten_set_focus_callback_on_thread.sig="ippipp";function _emscripten_set_focusin_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,14,"focusin",a)}_emscripten_set_focusin_callback_on_thread.sig="ippipp";function _emscripten_set_focusout_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,15,"focusout",a)}_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(e,r,t)=>{HEAPF64[e>>>3>>>0]=r.alpha,HEAPF64[e+8>>>3>>>0]=r.beta,HEAPF64[e+16>>>3>>>0]=r.gamma,HEAP8[e+24>>>0]=r.absolute},registerDeviceOrientationEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.deviceOrientationEvent||(JSEvents.deviceOrientationEvent=_malloc(32));var l=(u=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,u,e),getWasmTableEntry(n)(a,JSEvents.deviceOrientationEvent,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_deviceorientation_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,registerDeviceOrientationEventCallback(2,e,r,t,16,"deviceorientation",n)}_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";function _emscripten_get_deviceorientation_status(e){return e>>>=0,JSEvents.deviceOrientationEvent?(HEAP32.set(HEAP32.subarray(JSEvents.deviceOrientationEvent>>>0,32),e>>>0),0):-7}_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(e,r,t)=>{var n=0,a=r.acceleration;n|=a&&1;var o=r.accelerationIncludingGravity;n|=o&&2;var _=r.rotationRate;n|=_&&4,a=a||{},o=o||{},_=_||{},HEAPF64[e>>>3>>>0]=a.x,HEAPF64[e+8>>>3>>>0]=a.y,HEAPF64[e+16>>>3>>>0]=a.z,HEAPF64[e+24>>>3>>>0]=o.x,HEAPF64[e+32>>>3>>>0]=o.y,HEAPF64[e+40>>>3>>>0]=o.z,HEAPF64[e+48>>>3>>>0]=_.alpha,HEAPF64[e+56>>>3>>>0]=_.beta,HEAPF64[e+64>>>3>>>0]=_.gamma},registerDeviceMotionEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.deviceMotionEvent||(JSEvents.deviceMotionEvent=_malloc(80));var l=(u=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,u,e),getWasmTableEntry(n)(a,JSEvents.deviceMotionEvent,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_devicemotion_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,registerDeviceMotionEventCallback(2,e,r,t,17,"devicemotion",n)}_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";function _emscripten_get_devicemotion_status(e){return e>>>=0,JSEvents.deviceMotionEvent?(HEAP32.set(HEAP32.subarray(JSEvents.deviceMotionEvent>>>0,80),e>>>0),0):-7}_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(window.screen)return screen.orientation||screen.mozOrientation||screen.webkitOrientation},fillOrientationChangeEventData=e=>{var r=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"],t=["portrait","portrait","landscape","landscape"],n=0,a=0,o=screenOrientation();typeof o=="object"?(n=r.indexOf(o.type),n<0&&(n=t.indexOf(o.type)),n>=0&&(n=1<<n),a=o.angle):a=window.orientation,HEAP32[e>>>2>>>0]=n,HEAP32[e+4>>>2>>>0]=a},registerOrientationChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.orientationChangeEvent||(JSEvents.orientationChangeEvent=_malloc(8));var l=(u=event)=>{var d=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_orientationchange_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,!window.screen||!screen.orientation?-1:registerOrientationChangeEventCallback(screen.orientation,e,r,t,18,"change",n)}_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";function _emscripten_get_orientation_status(e){return e>>>=0,!screenOrientation()&&typeof orientation>"u"?-1:(fillOrientationChangeEventData(e),0)}_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=e=>{var r=[];e&1&&r.push("portrait-primary"),e&2&&r.push("portrait-secondary"),e&4&&r.push("landscape-primary"),e&8&&r.push("landscape-secondary");var t;if(screen.lockOrientation)t=screen.lockOrientation(r);else if(screen.mozLockOrientation)t=screen.mozLockOrientation(r);else if(screen.webkitLockOrientation)t=screen.webkitLockOrientation(r);else return-1;return t?0:-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation)screen.unlockOrientation();else if(screen.mozUnlockOrientation)screen.mozUnlockOrientation();else if(screen.webkitUnlockOrientation)screen.webkitUnlockOrientation();else return-1;return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=e=>{var r=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement,t=!!r;HEAP8[e>>>0]=t,HEAP8[e+1>>>0]=JSEvents.fullscreenEnabled();var n=t?r:JSEvents.previousFullscreenElement,a=JSEvents.getNodeNameForTarget(n),o=(n==null?void 0:n.id)||"";stringToUTF8(a,e+2,128),stringToUTF8(o,e+130,128),HEAP32[e+260>>>2>>>0]=n?n.clientWidth:0,HEAP32[e+264>>>2>>>0]=n?n.clientHeight:0,HEAP32[e+268>>>2>>>0]=screen.width,HEAP32[e+272>>>2>>>0]=screen.height,t&&(JSEvents.previousFullscreenElement=r)},registerFullscreenChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.fullscreenChangeEvent||(JSEvents.fullscreenChangeEvent=_malloc(276));var l=(u=event)=>{var d=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_fullscreenchange_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?(registerFullscreenChangeEventCallback(e,r,t,n,19,"webkitfullscreenchange",a),registerFullscreenChangeEventCallback(e,r,t,n,19,"fullscreenchange",a)):-4):-1}_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";function _emscripten_get_fullscreen_status(e){return e>>>=0,JSEvents.fullscreenEnabled()?(fillFullscreenChangeEventData(e),0):-1}_emscripten_get_fullscreen_status.sig="ip";function _emscripten_get_canvas_element_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=findCanvasEventTarget(e);if(!n)return-4;HEAP32[r>>>2>>>0]=n.width,HEAP32[t>>>2>>>0]=n.height}_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=e=>{var r=stackSave(),t=stackAlloc(8),n=t+4,a=stringToUTF8OnStack(e.id),o=_emscripten_get_canvas_element_size(a,t,n),_=[HEAP32[t>>>2>>>0],HEAP32[n>>>2>>>0]];return stackRestore(r),_};function _emscripten_set_canvas_element_size(e,r,t){e>>>=0;var n=findCanvasEventTarget(e);return n?(n.width=r,n.height=t,0):-4}_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(e,r,t)=>{if(!e.controlTransferredOffscreen)e.width=r,e.height=t;else{var n=stackSave(),a=stringToUTF8OnStack(e.id);_emscripten_set_canvas_element_size(a,r,t),stackRestore(n)}},registerRestoreOldStyle=e=>{var r=getCanvasElementSize(e),t=r[0],n=r[1],a=e.style.width,o=e.style.height,_=e.style.backgroundColor,l=document.body.style.backgroundColor,c=e.style.paddingLeft,u=e.style.paddingRight,d=e.style.paddingTop,f=e.style.paddingBottom,p=e.style.marginLeft,m=e.style.marginRight,v=e.style.marginTop,g=e.style.marginBottom,S=document.body.style.margin,h=document.documentElement.style.overflow,b=document.body.scroll,A=e.style.imageRendering;function w(){var L=document.fullscreenElement||document.webkitFullscreenElement;L||(document.removeEventListener("fullscreenchange",w),document.removeEventListener("webkitfullscreenchange",w),setCanvasElementSize(e,t,n),e.style.width=a,e.style.height=o,e.style.backgroundColor=_,l||(document.body.style.backgroundColor="white"),document.body.style.backgroundColor=l,e.style.paddingLeft=c,e.style.paddingRight=u,e.style.paddingTop=d,e.style.paddingBottom=f,e.style.marginLeft=p,e.style.marginRight=m,e.style.marginTop=v,e.style.marginBottom=g,document.body.style.margin=S,document.documentElement.style.overflow=h,document.body.scroll=b,e.style.imageRendering=A,e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,t,n),currentFullscreenStrategy.canvasResizedCallback&&getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData))}return document.addEventListener("fullscreenchange",w),document.addEventListener("webkitfullscreenchange",w),w},setLetterbox=(e,r,t)=>{e.style.paddingLeft=e.style.paddingRight=t+"px",e.style.paddingTop=e.style.paddingBottom=r+"px"},JSEvents_resizeCanvasForFullscreen=(e,r)=>{var S,h;var t=registerRestoreOldStyle(e),n=r.softFullscreen?innerWidth:screen.width,a=r.softFullscreen?innerHeight:screen.height,o=getBoundingClientRect(e),_=o.width,l=o.height,c=getCanvasElementSize(e),u=c[0],d=c[1];if(r.scaleMode==3)setLetterbox(e,(a-l)/2,(n-_)/2),n=_,a=l;else if(r.scaleMode==2)if(n*d<u*a){var f=d*n/u;setLetterbox(e,(a-f)/2,0),a=f}else{var p=u*a/d;setLetterbox(e,0,(n-p)/2),n=p}(S=e.style).backgroundColor||(S.backgroundColor="black"),(h=document.body.style).backgroundColor||(h.backgroundColor="black"),e.style.width=n+"px",e.style.height=a+"px",r.filteringMode==1&&(e.style.imageRendering="optimizeSpeed",e.style.imageRendering="-moz-crisp-edges",e.style.imageRendering="-o-crisp-edges",e.style.imageRendering="-webkit-optimize-contrast",e.style.imageRendering="optimize-contrast",e.style.imageRendering="crisp-edges",e.style.imageRendering="pixelated");var m=r.canvasResolutionScaleMode==2?devicePixelRatio:1;if(r.canvasResolutionScaleMode!=0){var v=n*m|0,g=a*m|0;setCanvasElementSize(e,v,g),e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,v,g)}return t},JSEvents_requestFullscreen=(e,r)=>{if((r.scaleMode!=0||r.canvasResolutionScaleMode!=0)&&JSEvents_resizeCanvasForFullscreen(e,r),e.requestFullscreen)e.requestFullscreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);else return JSEvents.fullscreenEnabled()?-3:-1;return currentFullscreenStrategy=r,r.canvasResizedCallback&&getWasmTableEntry(r.canvasResizedCallback)(37,0,r.canvasResizedCallbackUserData),0},hideEverythingExceptGivenElement=e=>{for(var r=e,t=r.parentNode,n=[];r!=document.body;){for(var a=t.children,o=0;o<a.length;++o)a[o]!=r&&(n.push({node:a[o],displayState:a[o].style.display}),a[o].style.display="none");r=t,t=t.parentNode}return n},restoreHiddenElements=e=>{for(var r of e)r.node.style.display=r.displayState},currentFullscreenStrategy={},restoreOldWindowedStyle=null,softFullscreenResizeWebGLRenderTarget=()=>{var e=devicePixelRatio,r=currentFullscreenStrategy.canvasResolutionScaleMode==2,t=currentFullscreenStrategy.scaleMode==2,n=currentFullscreenStrategy.canvasResolutionScaleMode!=0,a=currentFullscreenStrategy.scaleMode==3,o=r?Math.round(innerWidth*e):innerWidth,_=r?Math.round(innerHeight*e):innerHeight,l=o,c=_,u=currentFullscreenStrategy.target,d=getCanvasElementSize(u),f=d[0],p=d[1],m;if(t&&(l*p<f*c?c=l*p/f|0:l*p>f*c&&(l=c*f/p|0),m=(_-c)/2|0),n&&(setCanvasElementSize(u,l,c),u.GLctxObject&&u.GLctxObject.GLctx.viewport(0,0,l,c)),r&&(m/=e,l/=e,c/=e,l=Math.round(l*1e4)/1e4,c=Math.round(c*1e4)/1e4,m=Math.round(m*1e4)/1e4),a){var v=(innerHeight-jstoi_q(u.style.height))/2,g=(innerWidth-jstoi_q(u.style.width))/2;setLetterbox(u,v,g)}else{u.style.width=l+"px",u.style.height=c+"px";var g=(innerWidth-l)/2;setLetterbox(u,m,g)}!a&¤tFullscreenStrategy.canvasResizedCallback&&getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)},doRequestFullscreen=(e,r)=>JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?!e.requestFullscreen&&!e.webkitRequestFullscreen?-3:JSEvents.canPerformEventHandlerRequests()?JSEvents_requestFullscreen(e,r):r.deferUntilInEventHandler?(JSEvents.deferCall(JSEvents_requestFullscreen,1,[e,r]),1):-2:-4):-1;function _emscripten_request_fullscreen(e,r){e>>>=0;var t={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:r,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(e,t)}_emscripten_request_fullscreen.sig="ipi";function _emscripten_request_fullscreen_strategy(e,r,t){e>>>=0,t>>>=0;var n={scaleMode:HEAP32[t>>>2>>>0],canvasResolutionScaleMode:HEAP32[t+4>>>2>>>0],filteringMode:HEAP32[t+8>>>2>>>0],deferUntilInEventHandler:r,canvasResizedCallback:HEAP32[t+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[t+16>>>2>>>0]};return doRequestFullscreen(e,n)}_emscripten_request_fullscreen_strategy.sig="ipip";function _emscripten_enter_soft_fullscreen(e,r){if(e>>>=0,r>>>=0,e=findEventTarget(e),!e)return-4;var t={scaleMode:HEAP32[r>>>2>>>0],canvasResolutionScaleMode:HEAP32[r+4>>>2>>>0],filteringMode:HEAP32[r+8>>>2>>>0],canvasResizedCallback:HEAP32[r+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[r+16>>>2>>>0],target:e,softFullscreen:!0},n=JSEvents_resizeCanvasForFullscreen(e,t);document.documentElement.style.overflow="hidden",document.body.scroll="no",document.body.style.margin="0px";var a=hideEverythingExceptGivenElement(e);function o(){n(),restoreHiddenElements(a),removeEventListener("resize",softFullscreenResizeWebGLRenderTarget),t.canvasResizedCallback&&getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData),currentFullscreenStrategy=0}return restoreOldWindowedStyle=o,currentFullscreenStrategy=t,addEventListener("resize",softFullscreenResizeWebGLRenderTarget),t.canvasResizedCallback&&getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData),0}_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>(restoreOldWindowedStyle==null||restoreOldWindowedStyle(),restoreOldWindowedStyle=null,0);_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var e=specialHTMLTargets[1];if(e.exitFullscreen)e.fullscreenElement&&e.exitFullscreen();else if(e.webkitExitFullscreen)e.webkitFullscreenElement&&e.webkitExitFullscreen();else return-1;return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=e=>{var r=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement,t=!!r;HEAP8[e>>>0]=t;var n=JSEvents.getNodeNameForTarget(r),a=(r==null?void 0:r.id)||"";stringToUTF8(n,e+1,128),stringToUTF8(a,e+129,128)},registerPointerlockChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.pointerlockChangeEvent||(JSEvents.pointerlockChangeEvent=_malloc(257));var l=(u=event)=>{var d=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_pointerlockchange_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockChangeEventCallback(e,r,t,n,20,"mozpointerlockchange",a),registerPointerlockChangeEventCallback(e,r,t,n,20,"webkitpointerlockchange",a),registerPointerlockChangeEventCallback(e,r,t,n,20,"mspointerlockchange",a),registerPointerlockChangeEventCallback(e,r,t,n,20,"pointerlockchange",a)):-4)}_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(e,r,t,n,a,o,_)=>{var l=(u=event)=>{getWasmTableEntry(n)(a,0,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_pointerlockerror_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockErrorEventCallback(e,r,t,n,38,"mozpointerlockerror",a),registerPointerlockErrorEventCallback(e,r,t,n,38,"webkitpointerlockerror",a),registerPointerlockErrorEventCallback(e,r,t,n,38,"mspointerlockerror",a),registerPointerlockErrorEventCallback(e,r,t,n,38,"pointerlockerror",a)):-4)}_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";function _emscripten_get_pointerlock_status(e){return e>>>=0,e&&fillPointerlockChangeEventData(e),!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:0}_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=e=>{if(e.requestPointerLock)e.requestPointerLock();else return document.body.requestPointerLock?-3:-1;return 0};function _emscripten_request_pointerlock(e,r){return e>>>=0,e=findEventTarget(e),e?e.requestPointerLock?JSEvents.canPerformEventHandlerRequests()?requestPointerLock(e):r?(JSEvents.deferCall(requestPointerLock,2,[e]),1):-2:-1:-4}_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{if(JSEvents.removeDeferredCalls(requestPointerLock),document.exitPointerLock)document.exitPointerLock();else return-1;return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=e=>navigator.vibrate?(navigator.vibrate(e),0):-1;_emscripten_vibrate.sig="ii";function _emscripten_vibrate_pattern(e,r){if(e>>>=0,!navigator.vibrate)return-1;for(var t=[],n=0;n<r;++n){var a=HEAP32[e+n*4>>>2>>>0];t.push(a)}return navigator.vibrate(t),0}_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=e=>{var r=["hidden","visible","prerender","unloaded"],t=r.indexOf(document.visibilityState);HEAP8[e>>>0]=document.hidden,HEAP32[e+4>>>2>>>0]=t},registerVisibilityChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.visibilityChangeEvent||(JSEvents.visibilityChangeEvent=_malloc(8));var l=(u=event)=>{var d=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_visibilitychange_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,specialHTMLTargets[1]?registerVisibilityChangeEventCallback(specialHTMLTargets[1],e,r,t,21,"visibilitychange",n):-4}_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";function _emscripten_get_visibility_status(e){return e>>>=0,typeof document.visibilityState>"u"&&typeof document.hidden>"u"?-1:(fillVisibilityChangeEventData(e),0)}_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.touchEvent||(JSEvents.touchEvent=_malloc(1552)),e=findEventTarget(e);var l=u=>{var d,f={},p=u.touches;for(let b of p)b.isChanged=b.onTarget=0,f[b.identifier]=b;for(let b of u.changedTouches)b.isChanged=1,f[b.identifier]=b;for(let b of u.targetTouches)f[b.identifier].onTarget=1;var m=JSEvents.touchEvent;HEAPF64[m>>>3>>>0]=u.timeStamp,HEAP8[m+12>>>0]=u.ctrlKey,HEAP8[m+13>>>0]=u.shiftKey,HEAP8[m+14>>>0]=u.altKey,HEAP8[m+15>>>0]=u.metaKey;var v=m+16,g=getBoundingClientRect(e),S=0;for(let b of Object.values(f)){var h=v>>>2;if(HEAP32[h+0>>>0]=b.identifier,HEAP32[h+1>>>0]=b.screenX,HEAP32[h+2>>>0]=b.screenY,HEAP32[h+3>>>0]=b.clientX,HEAP32[h+4>>>0]=b.clientY,HEAP32[h+5>>>0]=b.pageX,HEAP32[h+6>>>0]=b.pageY,HEAP8[v+28>>>0]=b.isChanged,HEAP8[v+29>>>0]=b.onTarget,HEAP32[h+8>>>0]=b.clientX-(g.left|0),HEAP32[h+9>>>0]=b.clientY-(g.top|0),v+=48,++S>31)break}HEAP32[m+8>>>2>>>0]=S,getWasmTableEntry(n)(a,m,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:o=="touchstart"||o=="touchend",eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_touchstart_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,22,"touchstart",a)}_emscripten_set_touchstart_callback_on_thread.sig="ippipp";function _emscripten_set_touchend_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,23,"touchend",a)}_emscripten_set_touchend_callback_on_thread.sig="ippipp";function _emscripten_set_touchmove_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,24,"touchmove",a)}_emscripten_set_touchmove_callback_on_thread.sig="ippipp";function _emscripten_set_touchcancel_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,25,"touchcancel",a)}_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(e,r)=>{HEAPF64[e>>>3>>>0]=r.timestamp;for(var t=0;t<r.axes.length;++t)HEAPF64[e+t*8+16>>>3>>>0]=r.axes[t];for(var t=0;t<r.buttons.length;++t)typeof r.buttons[t]=="object"?HEAPF64[e+t*8+528>>>3>>>0]=r.buttons[t].value:HEAPF64[e+t*8+528>>>3>>>0]=r.buttons[t];for(var t=0;t<r.buttons.length;++t)typeof r.buttons[t]=="object"?HEAP8[e+t+1040>>>0]=r.buttons[t].pressed:HEAP8[e+t+1040>>>0]=r.buttons[t]==1;HEAP8[e+1104>>>0]=r.connected,HEAP32[e+1108>>>2>>>0]=r.index,HEAP32[e+8>>>2>>>0]=r.axes.length,HEAP32[e+12>>>2>>>0]=r.buttons.length,stringToUTF8(r.id,e+1112,64),stringToUTF8(r.mapping,e+1176,64)},registerGamepadEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.gamepadEvent||(JSEvents.gamepadEvent=_malloc(1240));var l=(u=event)=>{var d=JSEvents.gamepadEvent;fillGamepadEventData(d,u.gamepad),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:findEventTarget(e),allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)},_emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";function _emscripten_set_gamepadconnected_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,r,t,26,"gamepadconnected",n)}_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";function _emscripten_set_gamepaddisconnected_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,r,t,27,"gamepaddisconnected",n)}_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";function _emscripten_get_gamepad_status(e,r){return r>>>=0,e<0||e>=JSEvents.lastGamepadState.length?-5:JSEvents.lastGamepadState[e]?(fillGamepadEventData(r,JSEvents.lastGamepadState[e]),0):-7}_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(e,r,t,n,a,o)=>{var _=(c=event)=>{var u=getWasmTableEntry(n)(a,0,r);if(u&&(u=UTF8ToString(u)),u)return c.preventDefault(),c.returnValue=u,u},l={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:_,useCapture:t};return JSEvents.registerOrRemoveHandler(l)};function _emscripten_set_beforeunload_callback_on_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,typeof onbeforeunload>"u"?-1:t!==1?-5:registerBeforeUnloadEventCallback(2,e,!0,r,28,"beforeunload")}_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(e,r)=>{HEAPF64[e>>>3>>>0]=r.chargingTime,HEAPF64[e+8>>>3>>>0]=r.dischargingTime,HEAPF64[e+16>>>3>>>0]=r.level,HEAP8[e+24>>>0]=r.charging},battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery,registerBatteryEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.batteryEvent||(JSEvents.batteryEvent=_malloc(32));var l=(u=event)=>{var d=JSEvents.batteryEvent;fillBatteryEventData(d,battery()),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_batterychargingchange_callback_on_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,battery()?registerBatteryEventCallback(battery(),e,!0,r,29,"chargingchange",t):-1}_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";function _emscripten_set_batterylevelchange_callback_on_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,battery()?registerBatteryEventCallback(battery(),e,!0,r,30,"levelchange",t):-1}_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";function _emscripten_get_battery_status(e){return e>>>=0,battery()?(fillBatteryEventData(e,battery()),0):-1}_emscripten_get_battery_status.sig="ip";function _emscripten_set_element_css_size(e,r,t){return e>>>=0,e=findEventTarget(e),e?(e.style.width=r+"px",e.style.height=t+"px",0):-4}_emscripten_set_element_css_size.sig="ipdd";function _emscripten_get_element_css_size(e,r,t){if(e>>>=0,r>>>=0,t>>>=0,e=findEventTarget(e),!e)return-4;var n=getBoundingClientRect(e);return HEAPF64[r>>>3>>>0]=n.width,HEAPF64[t>>>3>>>0]=n.height,0}_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=function(e,r){return e>>>=0,r>>>=0,requestAnimationFrame(t=>getWasmTableEntry(e)(t,r))};_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=e=>cancelAnimationFrame(e);_emscripten_cancel_animation_frame.sig="vi";function _emscripten_request_animation_frame_loop(e,r){e>>>=0,r>>>=0;function t(n){getWasmTableEntry(e)(n,r)&&requestAnimationFrame(t)}return requestAnimationFrame(t)}_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;_emscripten_get_device_pixel_ratio.sig="d";function _emscripten_get_callstack(e,r,t){r>>>=0;var n=getCallstack(e);if(!r||t<=0)return lengthBytesUTF8(n)+1;var a=stringToUTF8(n,r,t);return a+1}_emscripten_get_callstack.sig="iipi";var convertFrameToPC=e=>(abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0);function _emscripten_return_address(e){var r=jsStackTrace().split("\n");r[0]=="Error"&&r.shift();var t=r[e+3];return convertFrameToPC(t)}_emscripten_return_address.sig="pi";var UNWIND_CACHE={},saveInUnwindCache=e=>{e.forEach(r=>{var t=convertFrameToPC(r);t&&(UNWIND_CACHE[t]=r)})};function _emscripten_stack_snapshot(){var e=jsStackTrace().split("\n");return e[0]=="Error"&&e.shift(),saveInUnwindCache(e),UNWIND_CACHE.last_addr=convertFrameToPC(e[3]),UNWIND_CACHE.last_stack=e,UNWIND_CACHE.last_addr}_emscripten_stack_snapshot.sig="p";function _emscripten_stack_unwind_buffer(e,r,t){e>>>=0,r>>>=0;var n;UNWIND_CACHE.last_addr==e?n=UNWIND_CACHE.last_stack:(n=jsStackTrace().split("\n"),n[0]=="Error"&&n.shift(),saveInUnwindCache(n));for(var a=3;n[a]&&convertFrameToPC(n[a])!=e;)++a;for(var o=0;o<t&&n[o+a];++o)HEAP32[r+o*4>>>2>>>0]=convertFrameToPC(n[o+a]);return o}_emscripten_stack_unwind_buffer.sig="ippi";function _emscripten_pc_get_function(e){return e>>>=0,abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0}_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=e=>{if(UNWIND_CACHE.last_get_source_pc==e)return UNWIND_CACHE.last_source;var r,t;if(!t){var n=UNWIND_CACHE[e];if(!n)return null;(r=/\((.*):(\d+):(\d+)\)$/.exec(n))?t={file:r[1],line:r[2],column:r[3]}:(r=/@(.*):(\d+):(\d+)/.exec(n))&&(t={file:r[1],line:r[2],column:r[3]})}return UNWIND_CACHE.last_get_source_pc=e,UNWIND_CACHE.last_source=t,t};function _emscripten_pc_get_file(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r?(_emscripten_pc_get_file.ret&&_free(_emscripten_pc_get_file.ret),_emscripten_pc_get_file.ret=stringToNewUTF8(r.file),_emscripten_pc_get_file.ret):0}_emscripten_pc_get_file.sig="pp";function _emscripten_pc_get_line(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r?r.line:0}_emscripten_pc_get_line.sig="ip";function _emscripten_pc_get_column(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r&&r.column||0}_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;Module._sched_yield=_sched_yield,_sched_yield.sig="i";var checkWasiClock=e=>e==0||e==1||e==2||e==3;function _clock_time_get(e,r,t,n){var a=convertI32PairToI53Checked(r,t);if(n>>>=0,!checkWasiClock(e))return 28;var o;if(e===0)o=Date.now();else if(nowIsMonotonic)o=_emscripten_get_now();else return 52;var _=Math.round(o*1e3*1e3);return HEAP32[n>>>2>>>0]=_>>>0,HEAP32[n+4>>>2>>>0]=_/Math.pow(2,32)>>>0,0}_clock_time_get.sig="iiiip";function _clock_res_get(e,r){if(r>>>=0,!checkWasiClock(e))return 28;var t;if(e===0)t=1e6;else if(nowIsMonotonic)t=_emscripten_get_now_res();else return 52;return HEAP32[r>>>2>>>0]=t>>>0,HEAP32[r+4>>>2>>>0]=t/Math.pow(2,32)>>>0,0}_clock_res_get.sig="iip";var wasiRightsToMuslOFlags=e=>{if(e&2&&e&64)return 2;if(e&2)return 0;if(e&64)return 1;throw new FS.ErrnoError(28)},wasiOFlagsToMuslOFlags=e=>{var r=0;return e&1&&(r|=64),e&8&&(r|=512),e&2&&(r|=65536),e&4&&(r|=128),r},_emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(e,r)=>setTimeout(()=>{callUserCallback(e)},r),setImmediateWrapped=e=>{setImmediateWrapped.mapping||(setImmediateWrapped.mapping=[]);var r=setImmediateWrapped.mapping.length;return setImmediateWrapped.mapping[r]=setImmediate(()=>{setImmediateWrapped.mapping[r]=void 0,e()}),r},clearImmediateWrapped=e=>{clearImmediate(setImmediateWrapped.mapping[e]),setImmediateWrapped.mapping[e]=void 0},polyfillSetImmediate=()=>{},_emscripten_set_immediate=function(e,r){return e>>>=0,r>>>=0,emSetImmediate(()=>{callUserCallback(()=>getWasmTableEntry(e)(r))})};_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=e=>{emClearImmediate(e)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=function(e,r){e>>>=0,r>>>=0;function t(){callUserCallback(()=>{getWasmTableEntry(e)(r)&&emSetImmediate(t)})}emSetImmediate(t)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=function(e,r,t){return e>>>=0,t>>>=0,safeSetTimeout(()=>getWasmTableEntry(e)(t),r)};_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=function(e,r,t){e>>>=0,t>>>=0;function n(){var a=_emscripten_get_now(),o=a+r;callUserCallback(()=>{getWasmTableEntry(e)(a,t)&&setTimeout(n,o-_emscripten_get_now())})}return setTimeout(n,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=function(e,r,t){return e>>>=0,t>>>=0,setInterval(()=>{callUserCallback(()=>getWasmTableEntry(e)(t))},r)};_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=e=>{clearInterval(e)};_emscripten_clear_interval.sig="vi";var registerPostMainLoop=e=>{typeof MainLoop<"u"&&MainLoop.postMainLoop.push(e)},registerPreMainLoop=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)};function _emscripten_get_main_loop_timing(e,r){e>>>=0,r>>>=0,e&&(HEAP32[e>>>2>>>0]=MainLoop.timingMode),r&&(HEAP32[r>>>2>>>0]=MainLoop.timingValue)}_emscripten_get_main_loop_timing.sig="vpp";function _emscripten_set_main_loop(e,r,t){e>>>=0;var n=getWasmTableEntry(e);setMainLoop(n,r,t)}_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=function(e,r,t,n){e>>>=0,r>>>=0;var a=()=>getWasmTableEntry(e)(r);setMainLoop(a,t,n,r)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause(),MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>{MainLoop.pause()};_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>{MainLoop.resume()};_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,MainLoop.queue.push({func:()=>{getWasmTableEntry(e)(r)},name:UTF8ToString(t),counted:!0}),MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,MainLoop.queue.push({func:()=>{getWasmTableEntry(e)(r)},name:UTF8ToString(t),counted:!1}),MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=e=>{MainLoop.expectedBlockers=e,MainLoop.remainingBlockers=e,MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(e,r)=>{for(var t=[],n=0;n<r;n++){var a=HEAP32[e+n*4>>>2>>>0];t[n]=getPromise(a)}return t},makePromiseCallback=(e,r)=>t=>{var n=stackSave(),a=stackAlloc(POINTER_SIZE);HEAPU32[a>>>2>>>0]=0;try{var o=getWasmTableEntry(e)(a,r,t),_=HEAPU32[a>>>2>>>0]}catch(c){throw typeof c!="number"?0:c}finally{stackRestore(n)}switch(o){case 0:return _;case 1:return getPromise(_);case 2:var l=getPromise(_);return _emscripten_promise_destroy(_),l;case 3:throw _}};function _emscripten_promise_then(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=getPromise(e),o=promiseMap.allocate({promise:a.then(makePromiseCallback(r,n),makePromiseCallback(t,n))});return o}_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.all(n).then(o=>{if(r)for(var _=0;_<t;_++){var l=o[_];HEAPU32[r+_*4>>>2>>>0]=l}return r})});return a};_emscripten_promise_all.sig="pppp";var setPromiseResult=(e,r,t)=>{var n=r?0:3;HEAP32[e>>>2>>>0]=n,HEAPU32[e+4>>>2>>>0]=t},_emscripten_promise_all_settled=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.allSettled(n).then(o=>{if(r)for(var _=r,l=0;l<t;l++,_+=8)o[l].status==="fulfilled"?setPromiseResult(_,!0,o[l].value):setPromiseResult(_,!1,o[l].reason);return r})});return a};_emscripten_promise_all_settled.sig="pppp";var _emscripten_promise_any=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.any(n).catch(o=>{if(r)for(var _=0;_<t;_++)HEAPU32[r+_*4>>>2>>>0]=o.errors[_];throw r})});return a};_emscripten_promise_any.sig="pppp";function _emscripten_promise_race(e,r){e>>>=0,r>>>=0;var t=idsToPromises(e,r),n=promiseMap.allocate({promise:Promise.race(t)});return n}_emscripten_promise_race.sig="ppp";function _emscripten_promise_await(e,r){e>>>=0,r>>>=0,abort("emscripten_promise_await is only available with ASYNCIFY")}_emscripten_promise_await.sig="vpp";function ___cxa_call_unexpected(e){return e>>>=0,abort("Unexpected exception thrown, this is not properly supported - aborting")}___cxa_call_unexpected.sig="vp";var getExceptionMessageCommon=e=>{var r=stackSave(),t=stackAlloc(4),n=stackAlloc(4);___get_exception_message(e,t,n);var a=HEAPU32[t>>>2>>>0],o=HEAPU32[n>>>2>>>0],_=UTF8ToString(a);_free(a);var l;return o&&(l=UTF8ToString(o),_free(o)),stackRestore(r),[_,l]},incrementExceptionRefcount=e=>___cxa_increment_exception_refcount(e),decrementExceptionRefcount=e=>___cxa_decrement_exception_refcount(e),getExceptionMessage=e=>getExceptionMessageCommon(e),Browser={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init(){if(Browser.initted)return;Browser.initted=!0;var e={};e.canHandle=function(o){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(o)},e.handle=function(o,_,l,c){var u=new Blob([o],{type:Browser.getMimetype(_)});u.size!==o.length&&(u=new Blob([new Uint8Array(o).buffer],{type:Browser.getMimetype(_)}));var d=URL.createObjectURL(u),f=new Image;f.onload=()=>{var p=document.createElement("canvas");p.width=f.width,p.height=f.height;var m=p.getContext("2d");m.drawImage(f,0,0),preloadedImages[_]=p,URL.revokeObjectURL(d),l==null||l(o)},f.onerror=p=>{err("Image ".concat(d," could not be decoded")),c==null||c()},f.src=d},preloadPlugins.push(e);var r={};r.canHandle=function(o){return!Module.noAudioDecoding&&o.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},r.handle=function(o,_,l,c){var u=!1;function d(g){u||(u=!0,preloadedAudios[_]=g,l==null||l(o))}function f(){u||(u=!0,preloadedAudios[_]=new Audio,c==null||c())}var p=new Blob([o],{type:Browser.getMimetype(_)}),m=URL.createObjectURL(p),v=new Audio;v.addEventListener("canplaythrough",()=>d(v),!1),v.onerror=function(S){if(u)return;err("warning: browser could not fully decode audio ".concat(_,", trying slower base64 approach"));function h(b){for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",w="=",L="",F=0,y=0,D=0;D<b.length;D++)for(F=F<<8|b[D],y+=8;y>=6;){var P=F>>y-6&63;y-=6,L+=A[P]}return y==2?(L+=A[(F&3)<<4],L+=w+w):y==4&&(L+=A[(F&15)<<2],L+=w),L}v.src="data:audio/x-"+_.substr(-3)+";base64,"+h(o),d(v)},v.src=m,safeSetTimeout(()=>{d(v)},1e4)},preloadPlugins.push(r);function t(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var n=Module.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||(()=>{}),n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&n.addEventListener("click",a=>{!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext(e,r,t,n){if(r&&Module.ctx&&e==Module.canvas)return Module.ctx;var a,o;if(r){var _={antialias:!1,alpha:!1,majorVersion:1};if(n)for(var l in n)_[l]=n[l];typeof GL<"u"&&(o=GL.createContext(e,_),o&&(a=GL.getContext(o).GLctx))}else a=e.getContext("2d");return a?(t&&(Module.ctx=a,r&&GL.makeContextCurrent(o),Browser.useWebGL=r,Browser.moduleContextCreatedCallbacks.forEach(c=>c()),Browser.init()),a):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,r){Browser.lockPointer=e,Browser.resizeCanvas=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1);var t=Module.canvas;function n(){var _,l;Browser.isFullscreen=!1;var o=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===o?(t.exitFullscreen=Browser.exitFullscreen,Browser.lockPointer&&t.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas?Browser.setFullscreenCanvasSize():Browser.updateCanvasDimensions(t)):(o.parentNode.insertBefore(t,o),o.parentNode.removeChild(o),Browser.resizeCanvas?Browser.setWindowedCanvasSize():Browser.updateCanvasDimensions(t)),(_=Module.onFullScreen)==null||_.call(Module,Browser.isFullscreen),(l=Module.onFullscreen)==null||l.call(Module,Browser.isFullscreen)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var a=document.createElement("div");t.parentNode.insertBefore(a,t),a.appendChild(t),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?()=>a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(a.webkitRequestFullScreen?()=>a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),a.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen)return!1;var e=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{});return e.apply(document,[]),!0},safeSetTimeout(e,r){return safeSetTimeout(e,r)},getMimetype(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,r){var t=Module.canvas.getBoundingClientRect(),n=Module.canvas.width,a=Module.canvas.height,o=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,_=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset,l=e-(o+t.left),c=r-(_+t.top);return l=l*(n/t.width),c=c*(a/t.height),{x:l,y:c}},setMouseCoords(e,r){let{x:t,y:n}=Browser.calculateMouseCoords(e,r);Browser.mouseMovementX=t-Browser.mouseX,Browser.mouseMovementY=n-Browser.mouseY,Browser.mouseX=t,Browser.mouseY=n},calculateMouseEvent(e){if(Browser.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY;else{if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var r=e.touch;if(r===void 0)return;var t=Browser.calculateMouseCoords(r.pageX,r.pageY);if(e.type==="touchstart")Browser.lastTouches[r.identifier]=t,Browser.touches[r.identifier]=t;else if(e.type==="touchend"||e.type==="touchmove"){var n=Browser.touches[r.identifier];n||(n=t),Browser.lastTouches[r.identifier]=n,Browser.touches[r.identifier]=t}return}Browser.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=Module.canvas;Browser.resizeListeners.forEach(r=>r(e.width,e.height))},setCanvasSize(e,r,t){var n=Module.canvas;Browser.updateCanvasDimensions(n,e,r),t||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen>>>2>>>0];e=e|8388608,HEAP32[SDL.screen>>>2>>>0]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen>>>2>>>0];e=e&-8388609,HEAP32[SDL.screen>>>2>>>0]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},updateCanvasDimensions(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var n=r,a=t;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(n/a<Module.forcedAspectRatio?n=Math.round(a*Module.forcedAspectRatio):a=Math.round(n/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&typeof screen<"u"){var o=Math.min(screen.width/n,screen.height/a);n=Math.round(n*o),a=Math.round(a*o)}Browser.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=a&&(e.height=a),typeof e.style<"u"&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=t&&(e.height=t),typeof e.style<"u"&&(n!=r||a!=t?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},_emscripten_run_preload_plugins=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=UTF8ToString(e),a=FS.analyzePath(n);return a.exists?(FS.createPreloadedFile(PATH.dirname(n),PATH.basename(n),new Uint8Array(a.object.contents),!0,!0,()=>{r&&getWasmTableEntry(r)(e)},()=>{t&&getWasmTableEntry(t)(e)},!0),0):-1};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0,_emscripten_run_preload_plugins_data=function(e,r,t,n,a,o){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0;var _=UTF8ToString(t),l="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_,c=stringToNewUTF8(l);FS.createPreloadedFile("/",l,HEAPU8.subarray(e>>>0,e+r>>>0),!0,!0,()=>{a&&getWasmTableEntry(a)(n,c)},()=>{o&&getWasmTableEntry(o)(n)},!0)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=function(e,r){e>>>=0,safeSetTimeout(()=>_emscripten_run_script(e),r)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=function(url,onload,onerror){url>>>=0,onload>>>=0,onerror>>>=0,url=UTF8ToString(url);var loadDone=()=>{if(onload){var e=()=>callUserCallback(getWasmTableEntry(onload));runDependencies>0?dependenciesFulfilled=e:e()}},loadError=()=>{onerror&&callUserCallback(getWasmTableEntry(onerror))};if(ENVIRONMENT_IS_NODE){readAsync(url,!1).then(data=>{eval(data),loadDone()},loadError);return}var script=document.createElement("script");script.onload=loadDone,script.onerror=loadError,script.src=url,document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";var safeRequestAnimationFrame=e=>MainLoop.requestAnimationFrame(()=>{callUserCallback(e)});function _emscripten_async_call(e,r,t){e>>>=0,r>>>=0;function n(){getWasmTableEntry(e)(r)}t>=0||ENVIRONMENT_IS_NODE?safeSetTimeout(n,t):safeRequestAnimationFrame(n)}_emscripten_async_call.sig="vppi";function _emscripten_get_window_title(){var e=256;return _emscripten_get_window_title.buffer||(_emscripten_get_window_title.buffer=_malloc(e)),stringToUTF8(document.title,_emscripten_get_window_title.buffer,e),_emscripten_get_window_title.buffer}_emscripten_get_window_title.sig="p";function _emscripten_set_window_title(e){return e>>>=0,document.title=UTF8ToString(e)}_emscripten_set_window_title.sig="vp";function _emscripten_get_screen_size(e,r){e>>>=0,r>>>=0,HEAP32[e>>>2>>>0]=screen.width,HEAP32[r>>>2>>>0]=screen.height}_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{for(var e=document.styleSheets[0],r=e.cssRules,t=0;t<r.length;t++)r[t].cssText.substr(0,6)=="canvas"&&(e.deleteRule(t),t--);e.insertRule("canvas.emscripten { border: 1px solid black; cursor: none; }",0)};_emscripten_hide_mouse.sig="v";var _emscripten_set_canvas_size=(e,r)=>{Browser.setCanvasSize(e,r)};_emscripten_set_canvas_size.sig="vii";function _emscripten_get_canvas_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=Module.canvas;HEAP32[e>>>2>>>0]=n.width,HEAP32[r>>>2>>>0]=n.height,HEAP32[t>>>2>>>0]=Browser.isFullscreen?1:0}_emscripten_get_canvas_size.sig="vppp";function _emscripten_create_worker(e){e>>>=0,e=UTF8ToString(e);var r=Browser.workers.length,t={worker:new Worker(e),callbacks:[],awaited:0,buffer:0,bufferSize:0};return t.worker.onmessage=function(a){if(!ABORT){var o=Browser.workers[r];if(o){var _=a.data.callbackId,l=o.callbacks[_];if(l){a.data.finalResponse&&(o.awaited--,o.callbacks[_]=null);var c=a.data.data;c?(c.byteLength||(c=new Uint8Array(c)),(!o.buffer||o.bufferSize<c.length)&&(o.buffer&&_free(o.buffer),o.bufferSize=c.length,o.buffer=_malloc(c.length)),HEAPU8.set(c,o.buffer>>>0),l.func(o.buffer,c.length,l.arg)):l.func(0,0,l.arg)}}}},Browser.workers.push(t),r}_emscripten_create_worker.sig="ip";var _emscripten_destroy_worker=e=>{var r=Browser.workers[e];r.worker.terminate(),r.buffer&&_free(r.buffer),Browser.workers[e]=null};_emscripten_destroy_worker.sig="vi";function _emscripten_call_worker(e,r,t,n,a,o){r>>>=0,t>>>=0,a>>>=0,o>>>=0,r=UTF8ToString(r);var _=Browser.workers[e],l=-1;a&&(l=_.callbacks.length,_.callbacks.push({func:getWasmTableEntry(a),arg:o}),_.awaited++);var c={funcName:r,callbackId:l,data:t?new Uint8Array(HEAPU8.subarray(t>>>0,t+n>>>0)):0};t?_.worker.postMessage(c,[c.data.buffer]):_.worker.postMessage(c)}_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=e=>{var r=Browser.workers[e];return r?r.awaited:-1};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(e,r,t)=>{e=PATH_FS.resolve(e);var n=preloadedImages[e];if(!n)return 0;var a=n.getContext("2d"),o=a.getImageData(0,0,n.width,n.height),_=_malloc(n.width*n.height*4);return HEAPU8.set(o.data,_>>>0),HEAP32[r>>>2>>>0]=n.width,HEAP32[t>>>2>>>0]=n.height,_};function _emscripten_get_preloaded_image_data(e,r,t){return e>>>=0,r>>>=0,t>>>=0,getPreloadedImageData(UTF8ToString(e),r,t)}_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];function _emscripten_get_preloaded_image_data_from_FILE(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=_fileno(e),a=FS.getStream(n);return a?getPreloadedImageData(a.path,r,t):0}_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var e=wget.nextWgetRequestHandle;return wget.nextWgetRequestHandle++,e}},FS_mkdirTree=(e,r)=>FS.mkdirTree(e,r),FS_unlink=e=>FS.unlink(e),_emscripten_async_wget=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=UTF8ToString(e),o=UTF8ToString(r);o=PATH_FS.resolve(o);function _(c){c&&callUserCallback(()=>{var u=stackSave();getWasmTableEntry(c)(stringToUTF8OnStack(o)),stackRestore(u)})}var l=PATH.dirname(o);FS_createPreloadedFile(l,PATH.basename(o),a,!0,!0,()=>_(t),()=>_(n),!1,!1,()=>{try{FS_unlink(o)}catch(c){}FS_mkdirTree(l)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0,asyncLoad(UTF8ToString(e),a=>{callUserCallback(()=>{var o=_malloc(a.length);HEAPU8.set(a,o>>>0),getWasmTableEntry(t)(r,o,a.length),_free(o)})},()=>{n&&callUserCallback(()=>{getWasmTableEntry(n)(r)})},!0)};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=function(e,r,t,n,a,o,_,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0;var c=UTF8ToString(e),u=UTF8ToString(r);u=PATH_FS.resolve(u);var d=UTF8ToString(t),f=UTF8ToString(n),p=u.lastIndexOf("/"),m=new XMLHttpRequest;m.open(d,c,!0),m.responseType="arraybuffer";var v=wget.getNextWgetRequestHandle(),g=PATH.dirname(u);return m.onload=S=>{if(m.status>=200&&m.status<300){try{FS.unlink(u)}catch(b){}if(FS.mkdirTree(g),FS.createDataFile(u.substr(0,p),u.substr(p+1),new Uint8Array(m.response),!0,!0,!1),o){var h=stackSave();getWasmTableEntry(o)(v,a,stringToUTF8OnStack(u)),stackRestore(h)}}else _&&getWasmTableEntry(_)(v,a,m.status);delete wget.wgetRequests[v]},m.onerror=S=>{_&&getWasmTableEntry(_)(v,a,m.status),delete wget.wgetRequests[v]},m.onprogress=S=>{if(S.lengthComputable||S.lengthComputable===void 0&&S.total!=0){var h=S.loaded/S.total*100;l&&getWasmTableEntry(l)(v,a,h)}},m.onabort=S=>{delete wget.wgetRequests[v]},d=="POST"?(m.setRequestHeader("Content-type","application/x-www-form-urlencoded"),m.send(f)):m.send(null),wget.wgetRequests[v]=m,v};_emscripten_async_wget2.sig="ipppppppp";function _emscripten_async_wget2_data(e,r,t,n,a,o,_,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,o>>>=0,_>>>=0,l>>>=0;var c=UTF8ToString(e),u=UTF8ToString(r),d=UTF8ToString(t),f=new XMLHttpRequest;f.open(u,c,!0),f.responseType="arraybuffer";var p=wget.getNextWgetRequestHandle();function m(){if(_){var v=stackSave(),g=0;f.statusText&&(g=stringToUTF8OnStack(f.statusText)),getWasmTableEntry(_)(p,n,f.status,g),stackRestore(v)}}return f.onload=v=>{if(f.status>=200&&f.status<300||f.status===0&&c.substr(0,4).toLowerCase()!="http"){var g=new Uint8Array(f.response),S=_malloc(g.length);HEAPU8.set(g,S>>>0),o&&getWasmTableEntry(o)(p,n,S,g.length),a&&_free(S)}else m();delete wget.wgetRequests[p]},f.onerror=v=>{m(),delete wget.wgetRequests[p]},f.onprogress=v=>{l&&getWasmTableEntry(l)(p,n,v.loaded,v.lengthComputable||v.lengthComputable===void 0?v.total:0)},f.onabort=v=>{delete wget.wgetRequests[p]},u=="POST"?(f.setRequestHeader("Content-type","application/x-www-form-urlencoded"),f.send(d)):f.send(null),wget.wgetRequests[p]=f,p}_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=e=>{var r=wget.wgetRequests[e];r==null||r.abort()};_emscripten_async_wget2_abort.sig="vi";function ___asctime_r(e,r){e>>>=0,r>>>=0;var t={tm_sec:HEAP32[e>>>2>>>0],tm_min:HEAP32[e+4>>>2>>>0],tm_hour:HEAP32[e+8>>>2>>>0],tm_mday:HEAP32[e+12>>>2>>>0],tm_mon:HEAP32[e+16>>>2>>>0],tm_year:HEAP32[e+20>>>2>>>0],tm_wday:HEAP32[e+24>>>2>>>0]},n=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],a=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=n[t.tm_wday]+" "+a[t.tm_mon]+(t.tm_mday<10?" ":" ")+t.tm_mday+(t.tm_hour<10?" 0":" ")+t.tm_hour+(t.tm_min<10?":0":":")+t.tm_min+(t.tm_sec<10?":0":":")+t.tm_sec+" "+(1900+t.tm_year)+"\n";return stringToUTF8(o,r,26),r}___asctime_r.sig="ppp";function _strptime_l(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,_strptime(e,r,t)}_strptime_l.sig="ppppp";function ___syscall_shutdown(e,r){try{return getSocketFromFD(e),-52}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}Module.___syscall_shutdown=___syscall_shutdown,___syscall_shutdown.sig="iiiiiii";function __dlsym_catchup_js(e,r){e>>>=0;var t=LDSO.loadedLibsByHandle[e],n=t.exports,a=Object.keys(n)[r],o=n[a],_=addFunction(o,o.sig);return _}__dlsym_catchup_js.sig="ppi";var FS_createPath=FS.createPath,FS_createDevice=FS.createDevice,FS_readFile=FS.readFile,FS_createLazyFile=FS.createLazyFile,_setNetworkCallback=(e,r,t)=>{function n(a){try{if(e==="error"){var o=stackSave(),_=stringToUTF8OnStack(a[2]);getWasmTableEntry(t)(a[0],a[1],_,r),stackRestore(o)}else getWasmTableEntry(t)(a,r)}catch(l){if(!(l instanceof ExitStatus))throw l&&typeof l=="object"&&l.stack&&err("exception thrown: "+[l,l.stack]),l}}SOCKFS.on(e,t?n:null)};function _emscripten_set_socket_error_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("error",e,r)}_emscripten_set_socket_error_callback.sig="vpp";function _emscripten_set_socket_open_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("open",e,r)}_emscripten_set_socket_open_callback.sig="vpp";function _emscripten_set_socket_listen_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("listen",e,r)}_emscripten_set_socket_listen_callback.sig="vpp";function _emscripten_set_socket_connection_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("connection",e,r)}_emscripten_set_socket_connection_callback.sig="vpp";function _emscripten_set_socket_message_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("message",e,r)}_emscripten_set_socket_message_callback.sig="vpp";function _emscripten_set_socket_close_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("close",e,r)}_emscripten_set_socket_close_callback.sig="vpp";function _emscripten_webgl_enable_ANGLE_instanced_arrays(e){return e>>>=0,webgl_enable_ANGLE_instanced_arrays(GL.contexts[e].GLctx)}_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";function _emscripten_webgl_enable_OES_vertex_array_object(e){return e>>>=0,webgl_enable_OES_vertex_array_object(GL.contexts[e].GLctx)}_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";function _emscripten_webgl_enable_WEBGL_draw_buffers(e){return e>>>=0,webgl_enable_WEBGL_draw_buffers(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";function _emscripten_webgl_enable_WEBGL_multi_draw(e){return e>>>=0,webgl_enable_WEBGL_multi_draw(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";function _emscripten_webgl_enable_EXT_polygon_offset_clamp(e){return e>>>=0,webgl_enable_EXT_polygon_offset_clamp(GL.contexts[e].GLctx)}_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";function _emscripten_webgl_enable_EXT_clip_control(e){return e>>>=0,webgl_enable_EXT_clip_control(GL.contexts[e].GLctx)}_emscripten_webgl_enable_EXT_clip_control.sig="ip";function _emscripten_webgl_enable_WEBGL_polygon_mode(e){return e>>>=0,webgl_enable_WEBGL_polygon_mode(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";function _glVertexPointer(e,r,t,n){throw n>>>=0,"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."}_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor,_glDrawArraysInstancedNV=_glDrawArraysInstanced,_glDrawElementsInstancedNV=_glDrawElementsInstanced,_glVertexAttribDivisorEXT=_glVertexAttribDivisor,_glDrawArraysInstancedEXT=_glDrawArraysInstanced,_glDrawElementsInstancedEXT=_glDrawElementsInstanced,_glVertexAttribDivisorARB=_glVertexAttribDivisor,_glDrawArraysInstancedARB=_glDrawArraysInstanced,_glDrawElementsInstancedARB=_glDrawElementsInstanced,_glDrawBuffersEXT=_glDrawBuffers;function _glMultiDrawArraysWEBGL(e,r,t,n){r>>>=0,t>>>=0,GLctx.multiDrawWebgl.multiDrawArraysWEBGL(e,HEAP32,r>>>2,HEAP32,t>>>2,n)}_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;function _glMultiDrawArraysInstancedWEBGL(e,r,t,n,a){r>>>=0,t>>>=0,n>>>=0,GLctx.multiDrawWebgl.multiDrawArraysInstancedWEBGL(e,HEAP32,r>>>2,HEAP32,t>>>2,HEAP32,n>>>2,a)}_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;function _glMultiDrawElementsWEBGL(e,r,t,n,a){r>>>=0,n>>>=0,GLctx.multiDrawWebgl.multiDrawElementsWEBGL(e,HEAP32,r>>>2,t,HEAP32,n>>>2,a)}_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;function _glMultiDrawElementsInstancedWEBGL(e,r,t,n,a,o){r>>>=0,n>>>=0,a>>>=0,GLctx.multiDrawWebgl.multiDrawElementsInstancedWEBGL(e,HEAP32,r>>>2,t,HEAP32,n>>>2,HEAP32,a>>>2,o)}_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL,_glClearDepth=e=>GLctx.clearDepth(e);_glClearDepth.sig="vd";var _glDepthRange=(e,r)=>GLctx.depthRange(e,r);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV,_emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV,_emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV,_emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT,_emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT,_emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT,_emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB,_emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB,_emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB,_emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT,_emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE,_emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL,_emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE,_emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL,_emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE,_emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL,_emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE,_emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL,_emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(e,r,t,n)=>{var a=e.length,o=t<a?t:a,_=n?HEAPF32:HEAP32;r=r>>>2;for(var l=0;l<o;++l)_[r+l>>>0]=e[l];return a},webglPowerPreferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(e,r){e>>>=0,r>>>=0;var t=r>>>2,n=HEAP32[t+2>>>0],a={alpha:!!HEAP8[r+0>>>0],depth:!!HEAP8[r+1>>>0],stencil:!!HEAP8[r+2>>>0],antialias:!!HEAP8[r+3>>>0],premultipliedAlpha:!!HEAP8[r+4>>>0],preserveDrawingBuffer:!!HEAP8[r+5>>>0],powerPreference:webglPowerPreferences[n],failIfMajorPerformanceCaveat:!!HEAP8[r+12>>>0],majorVersion:HEAP32[t+4>>>0],minorVersion:HEAP32[t+5>>>0],enableExtensionsByDefault:HEAP8[r+24>>>0],explicitSwapControl:HEAP8[r+25>>>0],proxyContextToMainThread:HEAP32[t+7>>>0],renderViaOffscreenBackBuffer:HEAP8[r+32>>>0]},o=findCanvasEventTarget(e);if(!o||a.explicitSwapControl)return 0;var _=GL.createContext(o,a);return _}_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>!GL.currentContext||!GL.currentContext.GLctx||!GL.currentContext.attributes.explicitSwapControl?-3:0;_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";function _emscripten_webgl_make_context_current(e){e>>>=0;var r=GL.makeContextCurrent(e);return r?0:-5}_emscripten_webgl_make_context_current.sig="ip";function _emscripten_webgl_get_drawing_buffer_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=GL.getContext(e);return!n||!n.GLctx||!r||!t?-5:(HEAP32[r>>>2>>>0]=n.GLctx.drawingBufferWidth,HEAP32[t>>>2>>>0]=n.GLctx.drawingBufferHeight,0)}_emscripten_webgl_get_drawing_buffer_size.sig="ippp";function _emscripten_webgl_get_context_attributes(e,r){if(e>>>=0,r>>>=0,!r)return-5;if(e=GL.contexts[e],!e)return-3;var t=e.GLctx;if(!t)return-3;t=t.getContextAttributes(),HEAP8[r>>>0]=t.alpha,HEAP8[r+1>>>0]=t.depth,HEAP8[r+2>>>0]=t.stencil,HEAP8[r+3>>>0]=t.antialias,HEAP8[r+4>>>0]=t.premultipliedAlpha,HEAP8[r+5>>>0]=t.preserveDrawingBuffer;var n=t.powerPreference&&webglPowerPreferences.indexOf(t.powerPreference);return HEAP32[r+8>>>2>>>0]=n,HEAP8[r+12>>>0]=t.failIfMajorPerformanceCaveat,HEAP32[r+16>>>2>>>0]=e.version,HEAP32[r+20>>>2>>>0]=0,HEAP8[r+24>>>0]=e.attributes.enableExtensionsByDefault,0}_emscripten_webgl_get_context_attributes.sig="ipp";function _emscripten_webgl_destroy_context(e){e>>>=0,GL.currentContext==e&&(GL.currentContext=0),GL.deleteContext(e)}_emscripten_webgl_destroy_context.sig="ip";function _emscripten_webgl_enable_extension(e,r){e>>>=0,r>>>=0;var t=GL.getContext(e),n=UTF8ToString(r);n.startsWith("GL_")&&(n=n.substr(3)),n=="ANGLE_instanced_arrays"&&webgl_enable_ANGLE_instanced_arrays(GLctx),n=="OES_vertex_array_object"&&webgl_enable_OES_vertex_array_object(GLctx),n=="WEBGL_draw_buffers"&&webgl_enable_WEBGL_draw_buffers(GLctx),n=="WEBGL_multi_draw"&&webgl_enable_WEBGL_multi_draw(GLctx),n=="EXT_polygon_offset_clamp"&&webgl_enable_EXT_polygon_offset_clamp(GLctx),n=="EXT_clip_control"&&webgl_enable_EXT_clip_control(GLctx),n=="WEBGL_polygon_mode"&&webgl_enable_WEBGL_polygon_mode(GLctx);var a=t.GLctx.getExtension(n);return!!a}_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(e,r,t,n,a,o,_)=>{var l=(u=event)=>{getWasmTableEntry(n)(a,0,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_webglcontextlost_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerWebGlEventCallback(e,r,t,n,31,"webglcontextlost",a),0}_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";function _emscripten_set_webglcontextrestored_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerWebGlEventCallback(e,r,t,n,32,"webglcontextrestored",a),0}_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";function _emscripten_is_webgl_context_lost(e){return e>>>=0,!GL.contexts[e]||GL.contexts[e].GLctx.isContextLost()}_emscripten_is_webgl_context_lost.sig="ip";function _emscripten_webgl_get_supported_extensions(){return stringToNewUTF8(GLctx.getSupportedExtensions().join(" "))}_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(e,r)=>GLctx.getProgramParameter(GL.programs[e],r);_emscripten_webgl_get_program_parameter_d.sig="dii";function _emscripten_webgl_get_program_info_log_utf8(e){return stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[e]))}_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(e,r)=>GLctx.getShaderParameter(GL.shaders[e],r);_emscripten_webgl_get_shader_parameter_d.sig="dii";function _emscripten_webgl_get_shader_info_log_utf8(e){return stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[e]))}_emscripten_webgl_get_shader_info_log_utf8.sig="pi";function _emscripten_webgl_get_shader_source_utf8(e){return stringToNewUTF8(GLctx.getShaderSource(GL.shaders[e]))}_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(e,r)=>GLctx.getVertexAttrib(e,r);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(e,r)=>{var t=GLctx.getVertexAttrib(e,r);return t==null?void 0:t.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";function _emscripten_webgl_get_vertex_attrib_v(e,r,t,n,a){return t>>>=0,writeGLArray(GLctx.getVertexAttrib(e,r),t,n,a)}_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(e,r)=>GLctx.getUniform(GL.programs[e],webglGetUniformLocation(r));_emscripten_webgl_get_uniform_d.sig="dii";function _emscripten_webgl_get_uniform_v(e,r,t,n,a){return t>>>=0,writeGLArray(GLctx.getUniform(GL.programs[e],webglGetUniformLocation(r)),t,n,a)}_emscripten_webgl_get_uniform_v.sig="iiipii";function _emscripten_webgl_get_parameter_v(e,r,t,n){return r>>>=0,writeGLArray(GLctx.getParameter(e),r,t,n)}_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=e=>GLctx.getParameter(e);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=e=>{var r=GLctx.getParameter(e);return r==null?void 0:r.name};_emscripten_webgl_get_parameter_o.sig="ii";function _emscripten_webgl_get_parameter_utf8(e){return stringToNewUTF8(GLctx.getParameter(e))}_emscripten_webgl_get_parameter_utf8.sig="pi";function _emscripten_webgl_get_parameter_i64v(e,r){return r>>>=0,writeI53ToI64(r,GLctx.getParameter(e))}_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{GLUT.displayFunc&&!GLUT.requestedAnimationFrame&&(GLUT.requestedAnimationFrame=!0,MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=!1,MainLoop.runIter(()=>getWasmTableEntry(GLUT.displayFunc)())}))};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:!1,saveModifiers:e=>{GLUT.modifiers=0,e.shiftKey&&(GLUT.modifiers+=1),e.ctrlKey&&(GLUT.modifiers+=2),e.altKey&&(GLUT.modifiers+=4)},onMousemove:e=>{var r=Browser.mouseX,t=Browser.mouseY;Browser.calculateMouseEvent(e);var n=Browser.mouseX,a=Browser.mouseY;n==r&&a==t||(GLUT.buttons==0&&e.target==Module.canvas&&GLUT.passiveMotionFunc?(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.passiveMotionFunc)(r,t)):GLUT.buttons!=0&&GLUT.motionFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.motionFunc)(r,t)))},getSpecialKey:e=>{var r=null;switch(e){case 8:r=120;break;case 46:r=111;break;case 112:r=1;break;case 113:r=2;break;case 114:r=3;break;case 115:r=4;break;case 116:r=5;break;case 117:r=6;break;case 118:r=7;break;case 119:r=8;break;case 120:r=9;break;case 121:r=10;break;case 122:r=11;break;case 123:r=12;break;case 37:r=100;break;case 38:r=101;break;case 39:r=102;break;case 40:r=103;break;case 33:r=104;break;case 34:r=105;break;case 36:r=106;break;case 35:r=107;break;case 45:r=108;break;case 16:case 5:r=112;break;case 6:r=113;break;case 17:case 3:r=114;break;case 4:r=115;break;case 18:case 2:r=116;break;case 1:r=117;break}return r},getASCIIKey:e=>{if(e.ctrlKey||e.altKey||e.metaKey)return null;var r=e.keyCode;if(48<=r&&r<=57)return r;if(65<=r&&r<=90)return e.shiftKey?r:r+32;if(96<=r&&r<=105)return r-48;if(106<=r&&r<=111)return r-106+42;switch(r){case 9:case 13:case 27:case 32:case 61:return r}var t=e.shiftKey;switch(r){case 186:return t?58:59;case 187:return t?43:61;case 188:return t?60:44;case 189:return t?95:45;case 190:return t?62:46;case 191:return t?63:47;case 219:return t?123:91;case 220:return t?124:47;case 221:return t?125:93;case 222:return t?34:39}return null},onKeydown:e=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var r=GLUT.getSpecialKey(e.keyCode);r!==null?GLUT.specialFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialFunc)(r,Browser.mouseX,Browser.mouseY)):(r=GLUT.getASCIIKey(e),r!==null&&GLUT.keyboardFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardFunc)(r,Browser.mouseX,Browser.mouseY)))}},onKeyup:e=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var r=GLUT.getSpecialKey(e.keyCode);r!==null?GLUT.specialUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialUpFunc)(r,Browser.mouseX,Browser.mouseY)):(r=GLUT.getASCIIKey(e),r!==null&&GLUT.keyboardUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardUpFunc)(r,Browser.mouseX,Browser.mouseY)))}},touchHandler:e=>{if(e.target==Module.canvas){var r=e.changedTouches,t=r[0],n="";switch(e.type){case"touchstart":n="mousedown";break;case"touchmove":n="mousemove";break;case"touchend":n="mouseup";break;default:return}var a=document.createEvent("MouseEvent");a.initMouseEvent(n,!0,!0,window,1,t.screenX,t.screenY,t.clientX,t.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(a),e.preventDefault()}},onMouseButtonDown:e=>{if(Browser.calculateMouseEvent(e),GLUT.buttons|=1<<e.button,e.target==Module.canvas&&GLUT.mouseFunc){try{e.target.setCapture()}catch(r){}e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(e.button,0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:e=>{Browser.calculateMouseEvent(e),GLUT.buttons&=~(1<<e.button),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(e.button,1,Browser.mouseX,Browser.mouseY))},onMouseWheel:e=>{Browser.calculateMouseEvent(e);var r=window.event||e,t=-Browser.getMouseWheelDelta(e);t=t==0?0:t>0?Math.max(t,1):Math.min(t,-1);var n=3;t<0&&(n=4),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(n,0,Browser.mouseX,Browser.mouseY))},onFullscreenEventChange:e=>{var r,t;document.fullscreen||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?(r=screen.width,t=screen.height):(r=GLUT.windowWidth,t=GLUT.windowHeight,document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0)),Browser.setCanvasSize(r,t,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(r,t),_glutPostRedisplay()}},_glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";function _glutInit(e,r){e>>>=0,r>>>=0,GLUT.initTime=Date.now();var t="ontouchstart"in document.documentElement;t&&(window.addEventListener("touchmove",GLUT.touchHandler,!0),window.addEventListener("touchstart",GLUT.touchHandler,!0),window.addEventListener("touchend",GLUT.touchHandler,!0)),window.addEventListener("keydown",GLUT.onKeydown,!0),window.addEventListener("keyup",GLUT.onKeyup,!0),window.addEventListener("mousemove",GLUT.onMousemove,!0),window.addEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.addEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.addEventListener("mousewheel",GLUT.onMouseWheel,!0),window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Browser.resizeListeners.push((n,a)=>{GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(n,a)}),__ATEXIT__.push(()=>{t&&(window.removeEventListener("touchmove",GLUT.touchHandler,!0),window.removeEventListener("touchstart",GLUT.touchHandler,!0),window.removeEventListener("touchend",GLUT.touchHandler,!0)),window.removeEventListener("keydown",GLUT.onKeydown,!0),window.removeEventListener("keyup",GLUT.onKeyup,!0),window.removeEventListener("mousemove",GLUT.onMousemove,!0),window.removeEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.removeEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.removeEventListener("mousewheel",GLUT.onMouseWheel,!0),window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Module.canvas.width=Module.canvas.height=1})}_glutInit.sig="vpp";var _glutInitWindowSize=(e,r)=>{Browser.setCanvasSize(GLUT.initWindowWidth=e,GLUT.initWindowHeight=r)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(e,r)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=e=>{switch(e){case 100:return 0;case 101:return 0;case 102:return Module.canvas.width;case 103:return Module.canvas.height;case 200:return Module.canvas.width;case 201:return Module.canvas.height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var r=Date.now();return r-GLUT.initTime;case 105:return Module.ctx.getContextAttributes().stencil?8:0;case 106:return Module.ctx.getContextAttributes().depth?8:0;case 110:return Module.ctx.getContextAttributes().alpha?8:0;case 120:return Module.ctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+e+") not implemented yet"}};_glutGet.sig="ii";function _glutIdleFunc(e){e>>>=0;function r(){GLUT.idleFunc&&(getWasmTableEntry(GLUT.idleFunc)(),safeSetTimeout(r,4))}GLUT.idleFunc||safeSetTimeout(r,0),GLUT.idleFunc=e}_glutIdleFunc.sig="vp";var _glutTimerFunc=function(e,r,t){return r>>>=0,safeSetTimeout(()=>getWasmTableEntry(r)(t),e)};_glutTimerFunc.sig="vipi";function _glutDisplayFunc(e){e>>>=0,GLUT.displayFunc=e}_glutDisplayFunc.sig="vp";function _glutKeyboardFunc(e){e>>>=0,GLUT.keyboardFunc=e}_glutKeyboardFunc.sig="vp";function _glutKeyboardUpFunc(e){e>>>=0,GLUT.keyboardUpFunc=e}_glutKeyboardUpFunc.sig="vp";function _glutSpecialFunc(e){e>>>=0,GLUT.specialFunc=e}_glutSpecialFunc.sig="vp";function _glutSpecialUpFunc(e){e>>>=0,GLUT.specialUpFunc=e}_glutSpecialUpFunc.sig="vp";function _glutReshapeFunc(e){e>>>=0,GLUT.reshapeFunc=e}_glutReshapeFunc.sig="vp";function _glutMotionFunc(e){e>>>=0,GLUT.motionFunc=e}_glutMotionFunc.sig="vp";function _glutPassiveMotionFunc(e){e>>>=0,GLUT.passiveMotionFunc=e}_glutPassiveMotionFunc.sig="vp";function _glutMouseFunc(e){e>>>=0,GLUT.mouseFunc=e}_glutMouseFunc.sig="vp";var _glutSetCursor=e=>{var r="auto";switch(e){case 0:break;case 1:break;case 2:r="pointer";break;case 3:break;case 4:r="help";break;case 5:break;case 6:break;case 7:r="wait";break;case 8:r="text";break;case 9:case 102:r="crosshair";break;case 10:r="ns-resize";break;case 11:r="ew-resize";break;case 12:r="n-resize";break;case 13:r="s-resize";break;case 14:r="w-resize";break;case 15:r="e-resize";break;case 16:r="nw-resize";break;case 17:r="ne-resize";break;case 18:r="se-resize";break;case 19:r="sw-resize";break;case 100:break;case 101:r="none";break;default:throw"glutSetCursor: Unknown cursor type: "+e}Module.canvas.style.cursor=r};_glutSetCursor.sig="vi";function _glutCreateWindow(e){e>>>=0;var r={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};return Module.ctx=Browser.createContext(Module.canvas,!0,!0,r),Module.ctx?1:0}_glutCreateWindow.sig="ip";var _glutDestroyWindow=e=>(delete Module.ctx,1);_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(e,r)=>{Browser.exitFullscreen(),Browser.setCanvasSize(e,r,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(e,r),_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(e,r)=>{Browser.exitFullscreen(),_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0,GLUT.windowY=0,GLUT.windowWidth=Module.canvas.width,GLUT.windowHeight=Module.canvas.height,document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0),Browser.requestFullscreen(!1,!1)};_glutFullScreen.sig="v";var _glutInitDisplayMode=e=>GLUT.initDisplayMode=e;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{throw _glutReshapeWindow(Module.canvas.width,Module.canvas.height),_glutPostRedisplay(),"unwind"};_glutMainLoop.sig="v";function _XOpenDisplay(e){return e>>>=0,1}_XOpenDisplay.sig="pp";function _XCreateWindow(e,r,t,n,a,o,_,l,c,u,d,f){return e>>>=0,r>>>=0,u>>>=0,d>>>=0,f>>>=0,Browser.setCanvasSize(a,o),2}_XCreateWindow.sig="pppiiiiiiippp";function _XChangeWindowAttributes(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0}_XChangeWindowAttributes.sig="ipppp";function _XSetWMHints(e,r,t){e>>>=0,r>>>=0,t>>>=0}_XSetWMHints.sig="ippp";function _XMapWindow(e,r){e>>>=0,r>>>=0}_XMapWindow.sig="ipp";function _XStoreName(e,r,t){e>>>=0,r>>>=0,t>>>=0}_XStoreName.sig="ippp";function _XInternAtom(e,r,t){return e>>>=0,r>>>=0,0}_XInternAtom.sig="pppi";function _XSendEvent(e,r,t,n,a){e>>>=0,r>>>=0,n>>>=0,a>>>=0}_XSendEvent.sig="ippipp";function _XPending(e){return e>>>=0,0}_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){EGL.errorCode=e},chooseConfig(e,r,t,n,a){if(e!=62e3)return EGL.setErrorCode(12296),0;if(r)for(;;){var o=HEAP32[r>>>2>>>0];if(o==12321){var _=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.alpha=_>0}else if(o==12325){var l=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.depth=l>0}else if(o==12326){var c=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.stencil=c>0}else if(o==12337){var u=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.antialias=u>0}else if(o==12338){var u=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.antialias=u==1}else if(o==12544){var d=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.lowLatency=d!=12547}else if(o==12344)break;r+=8}return(!t||!n)&&!a?(EGL.setErrorCode(12300),0):(a&&(HEAP32[a>>>2>>>0]=1),t&&n>0&&(HEAPU32[t>>>2>>>0]=62002),EGL.setErrorCode(12288),1)}};function _eglGetDisplay(e){return e>>>=0,EGL.setErrorCode(12288),e!=0&&e!=1?0:62e3}_eglGetDisplay.sig="pp";function _eglInitialize(e,r,t){return e>>>=0,r>>>=0,t>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(r&&(HEAP32[r>>>2>>>0]=1),t&&(HEAP32[t>>>2>>>0]=4),EGL.defaultDisplayInitialized=!0,EGL.setErrorCode(12288),1)}_eglInitialize.sig="ippp";function _eglTerminate(e){return e>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.defaultDisplayInitialized=!1,EGL.setErrorCode(12288),1)}_eglTerminate.sig="ip";function _eglGetConfigs(e,r,t,n){return e>>>=0,r>>>=0,n>>>=0,EGL.chooseConfig(e,0,r,t,n)}_eglGetConfigs.sig="ippip";function _eglChooseConfig(e,r,t,n,a){return e>>>=0,r>>>=0,t>>>=0,a>>>=0,EGL.chooseConfig(e,r,t,n,a)}_eglChooseConfig.sig="ipppip";function _eglGetConfigAttrib(e,r,t,n){if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62002)return EGL.setErrorCode(12293),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12320:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.alpha?32:24,1;case 12321:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.alpha?8:0,1;case 12322:return HEAP32[n>>>2>>>0]=8,1;case 12323:return HEAP32[n>>>2>>>0]=8,1;case 12324:return HEAP32[n>>>2>>>0]=8,1;case 12325:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.depth?24:0,1;case 12326:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.stencil?8:0,1;case 12327:return HEAP32[n>>>2>>>0]=12344,1;case 12328:return HEAP32[n>>>2>>>0]=62002,1;case 12329:return HEAP32[n>>>2>>>0]=0,1;case 12330:return HEAP32[n>>>2>>>0]=4096,1;case 12331:return HEAP32[n>>>2>>>0]=16777216,1;case 12332:return HEAP32[n>>>2>>>0]=4096,1;case 12333:return HEAP32[n>>>2>>>0]=0,1;case 12334:return HEAP32[n>>>2>>>0]=0,1;case 12335:return HEAP32[n>>>2>>>0]=12344,1;case 12337:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.antialias?4:0,1;case 12338:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.antialias?1:0,1;case 12339:return HEAP32[n>>>2>>>0]=4,1;case 12340:return HEAP32[n>>>2>>>0]=12344,1;case 12341:case 12342:case 12343:return HEAP32[n>>>2>>>0]=-1,1;case 12345:case 12346:return HEAP32[n>>>2>>>0]=0,1;case 12347:return HEAP32[n>>>2>>>0]=0,1;case 12348:return HEAP32[n>>>2>>>0]=1,1;case 12349:case 12350:return HEAP32[n>>>2>>>0]=0,1;case 12351:return HEAP32[n>>>2>>>0]=12430,1;case 12352:return HEAP32[n>>>2>>>0]=4,1;case 12354:return HEAP32[n>>>2>>>0]=0,1;default:return EGL.setErrorCode(12292),0}}_eglGetConfigAttrib.sig="ippip";function _eglCreateWindowSurface(e,r,t,n){return e>>>=0,r>>>=0,n>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62002?(EGL.setErrorCode(12293),0):(EGL.setErrorCode(12288),62006)}_eglCreateWindowSurface.sig="pppip";function _eglDestroySurface(e,r){return e>>>=0,r>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62006?(EGL.setErrorCode(12301),1):(EGL.currentReadSurface==r&&(EGL.currentReadSurface=0),EGL.currentDrawSurface==r&&(EGL.currentDrawSurface=0),EGL.setErrorCode(12288),1)}_eglDestroySurface.sig="ipp";function _eglCreateContext(e,r,t,n){if(e>>>=0,r>>>=0,t>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;for(var a=1;;){var o=HEAP32[n>>>2>>>0];if(o==12440)a=HEAP32[n+4>>>2>>>0];else{if(o==12344)break;return EGL.setErrorCode(12292),0}n+=8}return a!=2?(EGL.setErrorCode(12293),0):(EGL.contextAttributes.majorVersion=a-1,EGL.contextAttributes.minorVersion=0,EGL.context=GL.createContext(Module.canvas,EGL.contextAttributes),EGL.context!=0?(EGL.setErrorCode(12288),GL.makeContextCurrent(EGL.context),Browser.useWebGL=!0,Browser.moduleContextCreatedCallbacks.forEach(_=>_()),GL.makeContextCurrent(null),62004):(EGL.setErrorCode(12297),0))}_eglCreateContext.sig="ppppp";function _eglDestroyContext(e,r){return e>>>=0,r>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62004?(EGL.setErrorCode(12294),0):(GL.deleteContext(EGL.context),EGL.setErrorCode(12288),EGL.currentContext==r&&(EGL.currentContext=0),1)}_eglDestroyContext.sig="ipp";function _eglQuerySurface(e,r,t,n){if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62006)return EGL.setErrorCode(12301),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12328:return HEAP32[n>>>2>>>0]=62002,1;case 12376:return 1;case 12375:return HEAP32[n>>>2>>>0]=Module.canvas.width,1;case 12374:return HEAP32[n>>>2>>>0]=Module.canvas.height,1;case 12432:return HEAP32[n>>>2>>>0]=-1,1;case 12433:return HEAP32[n>>>2>>>0]=-1,1;case 12434:return HEAP32[n>>>2>>>0]=-1,1;case 12422:return HEAP32[n>>>2>>>0]=12420,1;case 12441:return HEAP32[n>>>2>>>0]=12442,1;case 12435:return HEAP32[n>>>2>>>0]=12437,1;case 12416:case 12417:case 12418:case 12419:return 1;default:return EGL.setErrorCode(12292),0}}_eglQuerySurface.sig="ippip";function _eglQueryContext(e,r,t,n){if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62004)return EGL.setErrorCode(12294),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12328:return HEAP32[n>>>2>>>0]=62002,1;case 12439:return HEAP32[n>>>2>>>0]=12448,1;case 12440:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.majorVersion+1,1;case 12422:return HEAP32[n>>>2>>>0]=12420,1;default:return EGL.setErrorCode(12292),0}}_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";function _eglQueryString(e,r){if(e>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(EGL.setErrorCode(12288),EGL.stringCache[r])return EGL.stringCache[r];var t;switch(r){case 12371:t=stringToNewUTF8("Emscripten");break;case 12372:t=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:t=stringToNewUTF8("");break;case 12429:t=stringToNewUTF8("OpenGL_ES");break;default:return EGL.setErrorCode(12300),0}return EGL.stringCache[r]=t,t}_eglQueryString.sig="ppi";var _eglBindAPI=e=>e==12448?(EGL.setErrorCode(12288),1):(EGL.setErrorCode(12300),0);_eglBindAPI.sig="ii";var _eglQueryAPI=()=>(EGL.setErrorCode(12288),12448);_eglQueryAPI.sig="i";var _eglWaitClient=()=>(EGL.setErrorCode(12288),1);_eglWaitClient.sig="i";var _eglWaitNative=e=>(EGL.setErrorCode(12288),1);_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";function _eglSwapInterval(e,r){return e>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(r==0?_emscripten_set_main_loop_timing(0,0):_emscripten_set_main_loop_timing(1,r),EGL.setErrorCode(12288),1)}_eglSwapInterval.sig="ipi";function _eglMakeCurrent(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):n!=0&&n!=62004?(EGL.setErrorCode(12294),0):t!=0&&t!=62006||r!=0&&r!=62006?(EGL.setErrorCode(12301),0):(GL.makeContextCurrent(n?EGL.context:null),EGL.currentContext=n,EGL.currentDrawSurface=r,EGL.currentReadSurface=t,EGL.setErrorCode(12288),1)}_eglMakeCurrent.sig="ipppp";function _eglGetCurrentContext(){return EGL.currentContext}_eglGetCurrentContext.sig="p";function _eglGetCurrentSurface(e){return e==12378?EGL.currentReadSurface:e==12377?EGL.currentDrawSurface:(EGL.setErrorCode(12300),0)}_eglGetCurrentSurface.sig="pi";function _eglGetCurrentDisplay(){return EGL.currentContext?62e3:0}_eglGetCurrentDisplay.sig="p";function _eglSwapBuffers(e,r){if(e>>>=0,r>>>=0,!EGL.defaultDisplayInitialized)EGL.setErrorCode(12289);else if(!Module.ctx)EGL.setErrorCode(12290);else if(Module.ctx.isContextLost())EGL.setErrorCode(12302);else return EGL.setErrorCode(12288),1;return 0}_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.setErrorCode(12288),1);_eglReleaseThread.sig="i";function _uuid_clear(e){return e>>>=0,zeroMemory(e,16)}_uuid_clear.sig="vp";function _uuid_compare(e,r){return e>>>=0,r>>>=0,_memcmp(e,r,16)}_uuid_compare.sig="ipp";function _uuid_copy(e,r){return e>>>=0,r>>>=0,_memcpy(e,r,16)}_uuid_copy.sig="vpp";function _uuid_generate(e){e>>>=0;var r=null;if(ENVIRONMENT_IS_NODE)try{var t=K("crypto").randomBytes;r=t(16)}catch(_){}else ENVIRONMENT_IS_WEB&&typeof window.crypto<"u"&&typeof window.crypto.getRandomValues<"u"&&(r=new Uint8Array(16),window.crypto.getRandomValues(r));if(!r){r=new Array(16);for(var n=new Date().getTime(),a=0;a<16;a++){var o=(n+Math.random()*256)%256|0;n=n/256|0,r[a]=o}}r[6]=r[6]&15|64,r[8]=r[8]&63|128,writeArrayToMemory(r,e)}_uuid_generate.sig="vp";function _uuid_is_null(e){e>>>=0;for(var r=0;r<4;r++,e=e+4|0){var t=HEAP32[e>>>2>>>0];if(t)return 0}return 1}_uuid_is_null.sig="ip";function _uuid_parse(e,r){if(e>>>=0,r>>>=0,e=UTF8ToString(e),e.length===36){var t=0,n=new Array(16);return e.toLowerCase().replace(/[0-9a-f]{2}/g,function(a){t<16&&(n[t++]=parseInt(a,16))}),t<16?-1:(writeArrayToMemory(n,r),0)}return-1}_uuid_parse.sig="ipp";function _uuid_unparse(e,r,t){e>>>=0,r>>>=0;var n=0,a="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(o){var _=t?HEAPU8[e+n>>>0].toString(16).toUpperCase():HEAPU8[e+n>>>0].toString(16);return _=_.length===1?"0"+_:_,n++,_});stringToUTF8(a,r,37)}_uuid_unparse.sig="vpp";function _uuid_unparse_lower(e,r){e>>>=0,r>>>=0,_uuid_unparse(e,r)}_uuid_unparse_lower.sig="vpp";function _uuid_unparse_upper(e,r){e>>>=0,r>>>=0,_uuid_unparse(e,r,!0)}_uuid_unparse_upper.sig="vpp";function _uuid_type(e){return e>>>=0,4}_uuid_type.sig="ip";function _uuid_variant(e){return e>>>=0,1}_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(e){if(GLEW.isLinaroFork)switch(e){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}switch(e){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(e){if(!GLEW.error[e]){var r=GLEW.errorStringConstantFromCode(e);r||(r="Unknown error",e=8),GLEW.error[e]=stringToNewUTF8(r)}return GLEW.error[e]},versionStringConstantFromCode(e){switch(e){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(e){if(!GLEW.version[e]){var r=GLEW.versionStringConstantFromCode(e);if(!r)return 0;GLEW.version[e]=stringToNewUTF8(r)}return GLEW.version[e]},extensionIsSupported(e){return GLEW.extensions||(GLEW.extensions=webglGetExtensions()),GLEW.extensions.includes(e)?1:GLEW.extensions.includes("GL_"+e)}},_glewInit=()=>0;_glewInit.sig="i";function _glewIsSupported(e){e>>>=0;for(var r=UTF8ToString(e).split(" "),t=0;t<r.length;++t)if(!GLEW.extensionIsSupported(r[t]))return 0;return 1}_glewIsSupported.sig="ip";function _glewGetExtension(e){return e>>>=0,GLEW.extensionIsSupported(UTF8ToString(e))}_glewGetExtension.sig="ip";function _glewGetErrorString(e){return GLEW.errorString(e)}_glewGetErrorString.sig="pi";function _glewGetString(e){return GLEW.versionString(e)}_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB<"u")return indexedDB;var e=null;return typeof window=="object"&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),assert(e,"IDBStore used, but indexedDB not supported"),e},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(e,r){var t=IDBStore.dbs[e];if(t)return r(null,t);var n;try{n=IDBStore.indexedDB().open(e,IDBStore.DB_VERSION)}catch(a){return r(a)}n.onupgradeneeded=a=>{var o=a.target.result,_=a.target.transaction,l;o.objectStoreNames.contains(IDBStore.DB_STORE_NAME)?l=_.objectStore(IDBStore.DB_STORE_NAME):l=o.createObjectStore(IDBStore.DB_STORE_NAME)},n.onsuccess=()=>{t=n.result,IDBStore.dbs[e]=t,r(null,t)},n.onerror=function(a){r(a.target.error||"unknown error"),a.preventDefault()}},getStore(e,r,t){IDBStore.getDB(e,(n,a)=>{if(n)return t(n);var o=a.transaction([IDBStore.DB_STORE_NAME],r);o.onerror=l=>{t(l.target.error||"unknown error"),l.preventDefault()};var _=o.objectStore(IDBStore.DB_STORE_NAME);t(null,_)})},getFile(e,r,t){IDBStore.getStore(e,"readonly",(n,a)=>{if(n)return t(n);var o=a.get(r);o.onsuccess=_=>{var l=_.target.result;return l?t(null,l):t("file ".concat(r," not found"))},o.onerror=t})},setFile(e,r,t,n){IDBStore.getStore(e,"readwrite",(a,o)=>{if(a)return n(a);var _=o.put(t,r);_.onsuccess=l=>n(),_.onerror=n})},deleteFile(e,r,t){IDBStore.getStore(e,"readwrite",(n,a)=>{if(n)return t(n);var o=a.delete(r);o.onsuccess=_=>t(),o.onerror=t})},existsFile(e,r,t){IDBStore.getStore(e,"readonly",(n,a)=>{if(n)return t(n);var o=a.count(r);o.onsuccess=_=>t(null,_.target.result>0),o.onerror=t})},clearStore(e,r){IDBStore.getStore(e,"readwrite",(t,n)=>{if(t)return r(t);var a=n.clear();a.onsuccess=o=>r(),a.onerror=r})}},_emscripten_idb_async_load=function(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,IDBStore.getFile(UTF8ToString(e),UTF8ToString(r),(o,_)=>{callUserCallback(()=>{if(o){a&&getWasmTableEntry(a)(t);return}var l=_malloc(_.length);HEAPU8.set(_,l>>>0),getWasmTableEntry(n)(t,l,_.length),_free(l)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=function(e,r,t,n,a,o,_){e>>>=0,r>>>=0,t>>>=0,a>>>=0,o>>>=0,_>>>=0,IDBStore.setFile(UTF8ToString(e),UTF8ToString(r),new Uint8Array(HEAPU8.subarray(t>>>0,t+n>>>0)),l=>{callUserCallback(()=>{if(l){_&&getWasmTableEntry(_)(a);return}o&&getWasmTableEntry(o)(a)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=function(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,IDBStore.deleteFile(UTF8ToString(e),UTF8ToString(r),o=>{callUserCallback(()=>{if(o){a&&getWasmTableEntry(a)(t);return}n&&getWasmTableEntry(n)(t)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=function(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,IDBStore.existsFile(UTF8ToString(e),UTF8ToString(r),(o,_)=>{callUserCallback(()=>{if(o){a&&getWasmTableEntry(a)(t);return}n&&getWasmTableEntry(n)(t,_)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0,IDBStore.clearStore(UTF8ToString(e),a=>{callUserCallback(()=>{if(a){n&&getWasmTableEntry(n)(r);return}t&&getWasmTableEntry(t)(r)})})};_emscripten_idb_async_clear.sig="vpppp";function _emscripten_idb_load(e,r,t,n,a){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."}_emscripten_idb_load.sig="vppppp";function _emscripten_idb_store(e,r,t,n,a){throw e>>>=0,r>>>=0,t>>>=0,a>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."}_emscripten_idb_store.sig="vpppip";function _emscripten_idb_delete(e,r,t){throw e>>>=0,r>>>=0,t>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."}_emscripten_idb_delete.sig="vppp";function _emscripten_idb_exists(e,r,t,n){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."}_emscripten_idb_exists.sig="vpppp";function _emscripten_idb_clear(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_clear, etc."}_emscripten_idb_clear.sig="vpp";var runAndAbortIfError=e=>{try{return e()}catch(r){abort(r)}},_emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};_emscripten_sleep.sig="vi";function _emscripten_wget(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"}Module._emscripten_wget=_emscripten_wget,_emscripten_wget.sig="ipp";function _emscripten_scan_registers(e){throw e>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"}_emscripten_scan_registers.sig="vp";function _emscripten_fiber_swap(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"}_emscripten_fiber_swap.sig="vpp";var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";function _SDL_LockSurface(e){e>>>=0;var r=SDL.surfaces[e];if(r.locked++,r.locked>1||(r.buffer||(r.buffer=_malloc(r.width*r.height*4),HEAPU32[e+20>>>2>>>0]=r.buffer),HEAPU32[e+20>>>2>>>0]=r.buffer,e==SDL.screen&&Module.screenIsReadOnly&&r.image))return 0;if(SDL.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!SDL.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==SDL.screen&&SDL.defaults.opaqueFrontBuffer)for(var t=r.image.data,n=t.length,a=0;a<n/4;a++)t[a*4+3]=255;if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(r.isFlagSet(2097152))throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+new Error().stack;HEAPU8.set(r.image.data,r.buffer>>>0)}return 0}_SDL_LockSurface.sig="ip";var SDL={defaults:{width:320,height:200,copyOnLock:!0,discardOnLock:!1,opaqueFrontBuffer:!0},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:!1,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:!1,isRequestingFullscreen:!1,textInput:!1,unicode:!1,ttfContext:null,audio:null,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect(e){return{x:HEAP32[e>>>2>>>0],y:HEAP32[e+4>>>2>>>0],w:HEAP32[e+8>>>2>>>0],h:HEAP32[e+12>>>2>>>0]}},updateRect(e,r){HEAP32[e>>>2>>>0]=r.x,HEAP32[e+4>>>2>>>0]=r.y,HEAP32[e+8>>>2>>>0]=r.w,HEAP32[e+12>>>2>>>0]=r.h},intersectionOfRects(e,r){var t=Math.max(e.x,r.x),n=Math.max(e.y,r.y),a=Math.min(e.x+e.w,r.x+r.w),o=Math.min(e.y+e.h,r.y+r.h);return{x:t,y:n,w:Math.max(t,a)-t,h:Math.max(n,o)-n}},checkPixelFormat(e){},loadColorToCSSRGB(e){var r=HEAP32[e>>>2>>>0];return"rgb("+(r&255)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA(e){var r=HEAP32[e>>>2>>>0];return"rgba("+(r&255)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:e=>"rgba("+(e&255)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")",translateRGBAToCSSRGBA:(e,r,t,n)=>"rgba("+(e&255)+","+(r&255)+","+(t&255)+","+(n&255)/255+")",translateRGBAToColor:(e,r,t,n)=>e|r<<8|t<<16|n<<24,makeSurface(e,r,t,n,a,o,_,l,c){var u=t&1,d=t&2097152,f=t&67108864,p=_malloc(60),m=_malloc(44),v=d?1:4,g=0;!u&&!f&&(g=_malloc(e*r*4)),HEAP32[p>>>2>>>0]=t,HEAPU32[p+4>>>2>>>0]=m,HEAP32[p+8>>>2>>>0]=e,HEAP32[p+12>>>2>>>0]=r,HEAP32[p+16>>>2>>>0]=e*v,HEAPU32[p+20>>>2>>>0]=g,HEAP32[p+36>>>2>>>0]=0,HEAP32[p+40>>>2>>>0]=0,HEAP32[p+44>>>2>>>0]=Module.canvas.width,HEAP32[p+48>>>2>>>0]=Module.canvas.height,HEAP32[p+56>>>2>>>0]=1,HEAP32[m>>>2>>>0]=-2042224636,HEAP32[m+4>>>2>>>0]=0,HEAP8[m+8>>>0]=v*8,HEAP8[m+9>>>0]=v,HEAP32[m+12>>>2>>>0]=o||255,HEAP32[m+16>>>2>>>0]=_||65280,HEAP32[m+20>>>2>>>0]=l||16711680,HEAP32[m+24>>>2>>>0]=c||4278190080,SDL.GL=SDL.GL||f;var S;n?S=Module.canvas:(SDL.canvasPool.length>0?S=SDL.canvasPool.pop():S=document.createElement("canvas"),S.width=e,S.height=r);var h={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0},b=Browser.createContext(S,f,n,h);return SDL.surfaces[p]={width:e,height:r,canvas:S,ctx:b,surf:p,buffer:g,pixelFormat:m,alpha:255,flags:t,locked:0,usePageCanvas:n,source:a,isFlagSet:A=>t&A},p},copyIndexedColorData(e,r,t,n,a){if(e.colors){var o=Module.canvas.width,_=Module.canvas.height,l=r||0,c=t||0,u=(n||o-l)+l,d=(a||_-c)+c,f=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var p=e.image.data32,m=e.colors32,v=c;v<d;++v)for(var g=v*o,S=l;S<u;++S)p[g+S]=m[HEAPU8[f+(g+S)>>>0]]}},freeSurface(e){var r=e+56,t=HEAP32[r>>>2>>>0];if(t>1){HEAP32[r>>>2>>>0]=t-1;return}var n=SDL.surfaces[e];!n.usePageCanvas&&n.canvas&&SDL.canvasPool.push(n.canvas),n.buffer&&_free(n.buffer),_free(n.pixelFormat),_free(e),SDL.surfaces[e]=null,e===SDL.screen&&(SDL.screen=null)},blitSurface(e,r,t,n,a){var o=SDL.surfaces[e],_=SDL.surfaces[t],l,c;if(r?l=SDL.loadRect(r):l={x:0,y:0,w:o.width,h:o.height},n?c=SDL.loadRect(n):c={x:0,y:0,w:o.width,h:o.height},_.clipRect){var u=!a||l.w===0?1:l.w/c.w,d=!a||l.h===0?1:l.h/c.h;c=SDL.intersectionOfRects(_.clipRect,c),l.w=c.w*u,l.h=c.h*d,n&&SDL.updateRect(n,c)}var f,p;if(a?(f=c.w,p=c.h):(f=l.w,p=l.h),l.w===0||l.h===0||f===0||p===0)return 0;var m=_.ctx.globalAlpha;return _.ctx.globalAlpha=o.alpha/255,_.ctx.drawImage(o.canvas,l.x,l.y,l.w,l.h,c.x,c.y,f,p),_.ctx.globalAlpha=m,t!=SDL.screen&&(warnOnce("WARNING: copying canvas data to memory for compatibility"),_SDL_LockSurface(t),_.locked--),0},downFingers:{},savedKeydown:null,receiveEvent(e){function r(){for(var d in SDL.keyboardMap)SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[d]})}switch(e.type){case"touchstart":case"touchmove":{e.preventDefault();var t=[];if(e.type==="touchstart")for(var n=0;n<e.touches.length;n++){var a=e.touches[n];SDL.downFingers[a.identifier]!=!0&&(SDL.downFingers[a.identifier]=!0,t.push(a))}else t=e.touches;var o=t[0];if(o){e.type=="touchstart"&&(SDL.DOMButtons[0]=1);var _;switch(e.type){case"touchstart":_="mousedown";break;case"touchmove":_="mousemove";break}var l={type:_,button:0,pageX:o.clientX,pageY:o.clientY};SDL.events.push(l)}for(var n=0;n<t.length;n++){var a=t[n];SDL.events.push({type:e.type,touch:a})}break}case"touchend":{e.preventDefault();for(var n=0;n<e.changedTouches.length;n++){var a=e.changedTouches[n];SDL.downFingers[a.identifier]===!0&&delete SDL.downFingers[a.identifier]}var l={type:"mouseup",button:0,pageX:e.changedTouches[0].clientX,pageY:e.changedTouches[0].clientY};SDL.DOMButtons[0]=0,SDL.events.push(l);for(var n=0;n<e.changedTouches.length;n++){var a=e.changedTouches[n];SDL.events.push({type:"touchend",touch:a})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var c=-Browser.getMouseWheelDelta(e);c=c==0?0:c>0?Math.max(c,1):Math.min(c,-1);var u=c>0?3:4;SDL.events.push({type:"mousedown",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"mouseup",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"wheel",deltaX:0,deltaY:c}),e.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1&&SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),Browser.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),e.movementX==0&&e.movementY==0)){e.preventDefault();return}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if((e.type!=="keydown"||!SDL.unicode&&!SDL.textInput||e.keyCode===8||e.keyCode===9)&&e.preventDefault(),e.type=="mousedown")SDL.DOMButtons[e.button]=1,SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if(e.type=="mouseup"){if(!SDL.DOMButtons[e.button])return;SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),SDL.DOMButtons[e.button]=0}e.type==="keydown"||e.type==="mousedown"?SDL.canRequestFullscreen=!0:(e.type==="keyup"||e.type==="mouseup")&&(SDL.isRequestingFullscreen&&(Module.requestFullscreen(!0,!0),SDL.isRequestingFullscreen=!1),SDL.canRequestFullscreen=!1),e.type==="keypress"&&SDL.savedKeydown?(SDL.savedKeydown.keypressCharCode=e.charCode,SDL.savedKeydown=null):e.type==="keydown"&&(SDL.savedKeydown=e),(e.type!=="keypress"||SDL.textInput)&&SDL.events.push(e);break;case"mouseout":for(var n=0;n<3;n++)SDL.DOMButtons[n]&&(SDL.events.push({type:"mouseup",button:n,pageX:e.pageX,pageY:e.pageY}),SDL.DOMButtons[n]=0);e.preventDefault();break;case"focus":SDL.events.push(e),e.preventDefault();break;case"blur":SDL.events.push(e),r(),e.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":MainLoop.runner&&(SDL.events.push(e),MainLoop.runner());return;case"resize":SDL.events.push(e),e.preventDefault&&e.preventDefault();break}SDL.events.length>=1e4&&(err("SDL event queue full, dropping events"),SDL.events=SDL.events.slice(0,1e4)),SDL.flushEventsToHandler()},lookupKeyCodeForEvent(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=SDL.keyCodes[e.keyCode]||e.keyCode,e.location===2&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(e);break}case"keydown":case"keyup":{var r=e.type==="keydown",t=SDL.lookupKeyCodeForEvent(e);HEAP8[SDL.keyboardState+t>>>0]=r,SDL.modState=(HEAP8[SDL.keyboardState+1248>>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>>0]?512:0),r?SDL.keyboardMap[t]=e.keyCode:delete SDL.keyboardMap[t];break}case"mousedown":case"mouseup":e.type=="mousedown"?SDL.buttonState|=1<<e.button:e.type=="mouseup"&&(SDL.buttonState&=~(1<<e.button));case"mousemove":{Browser.calculateMouseEvent(e);break}}},flushEventsToHandler(){if(SDL.eventHandler)for(;SDL.pollEvent(SDL.eventHandlerTemp);)getWasmTableEntry(SDL.eventHandler)(SDL.eventHandlerContext,SDL.eventHandlerTemp)},pollEvent(e){if(SDL.initFlags&512&&SDL.joystickEventState&&SDL.queryJoysticks(),e){for(;SDL.events.length>0;)if(SDL.makeCEvent(SDL.events.shift(),e)!==!1)return 1;return 0}return SDL.events.length>0},makeCEvent(e,r){if(typeof e=="number"){_memcpy(r,e,28),_free(e);return}switch(SDL.handleEvent(e),e.type){case"keydown":case"keyup":{var t=e.type==="keydown",n=SDL.lookupKeyCodeForEvent(e),a;n>=1024?a=n-1024:a=SDL.scanCodes[n]||n,HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP8[r+8>>>0]=t?1:0,HEAP8[r+9>>>0]=0,HEAP32[r+12>>>2>>>0]=a,HEAP32[r+16>>>2>>>0]=n,HEAP16[r+20>>>1>>>0]=SDL.modState,HEAP32[r+24>>>2>>>0]=e.keypressCharCode||n;break}case"keypress":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type];for(var o=intArrayFromString(String.fromCharCode(e.charCode)),_=0;_<o.length;++_)HEAP8[r+(8+_)>>>0]=o[_];break}case"mousedown":case"mouseup":case"mousemove":{if(e.type!="mousemove"){var t=e.type==="mousedown";HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP32[r+8>>>2>>>0]=0,HEAP32[r+12>>>2>>>0]=0,HEAP8[r+16>>>0]=e.button+1,HEAP8[r+17>>>0]=t?1:0,HEAP32[r+20>>>2>>>0]=Browser.mouseX,HEAP32[r+24>>>2>>>0]=Browser.mouseY}else HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP32[r+8>>>2>>>0]=0,HEAP32[r+12>>>2>>>0]=0,HEAP32[r+16>>>2>>>0]=SDL.buttonState,HEAP32[r+20>>>2>>>0]=Browser.mouseX,HEAP32[r+24>>>2>>>0]=Browser.mouseY,HEAP32[r+28>>>2>>>0]=Browser.mouseMovementX,HEAP32[r+32>>>2>>>0]=Browser.mouseMovementY;break}case"wheel":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+16>>>2>>>0]=e.deltaX,HEAP32[r+20>>>2>>>0]=e.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var l=e.touch;if(!Browser.touches[l.identifier])break;var c=Module.canvas.width,u=Module.canvas.height,d=Browser.touches[l.identifier].x/c,f=Browser.touches[l.identifier].y/u,p=Browser.lastTouches[l.identifier].x/c,m=Browser.lastTouches[l.identifier].y/u,v=d-p,g=f-m;if(l.deviceID===void 0&&(l.deviceID=SDL.TOUCH_DEFAULT_ID),v===0&&g===0&&e.type==="touchmove")return!1;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=_SDL_GetTicks(),tempI64=[l.deviceID>>>0,(tempDouble=l.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+8>>>2>>>0]=tempI64[0],HEAP32[r+12>>>2>>>0]=tempI64[1],tempI64=[l.identifier>>>0,(tempDouble=l.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+16>>>2>>>0]=tempI64[0],HEAP32[r+20>>>2>>>0]=tempI64[1],HEAPF32[r+24>>>2>>>0]=d,HEAPF32[r+28>>>2>>>0]=f,HEAPF32[r+32>>>2>>>0]=v,HEAPF32[r+36>>>2>>>0]=g,l.force!==void 0?HEAPF32[r+40>>>2>>>0]=l.force:HEAPF32[r+40>>>2>>>0]=e.type=="touchend"?0:1;break}case"unload":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type];break}case"resize":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=e.w,HEAP32[r+8>>>2>>>0]=e.h;break}case"joystick_button_up":case"joystick_button_down":{var S=e.type==="joystick_button_up"?0:1;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP8[r+4>>>0]=e.index,HEAP8[r+5>>>0]=e.button,HEAP8[r+6>>>0]=S;break}case"joystick_axis_motion":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP8[r+4>>>0]=e.index,HEAP8[r+5>>>0]=e.axis,HEAP32[r+8>>>2>>>0]=SDL.joystickAxisValueConversion(e.value);break}case"focus":{var h=12;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP8[r+8>>>0]=h;break}case"blur":{var b=13;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP8[r+8>>>0]=b;break}case"visibilitychange":{var A=1,w=2,L=e.visible?A:w;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP8[r+8>>>0]=L;break}default:throw"Unhandled SDL event: "+e.type}},makeFontString(e,r){return r.charAt(0)!="'"&&r.charAt(0)!='"'&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth(e,r){var t=e.size,n=SDL.makeFontString(t,e.name),a=SDL.ttfContext;a.font=n;var o=a.measureText(r).width|0;return o},allocateChannels(e){if(!(SDL.numChannels&&SDL.numChannels>=e&&e!=0)){SDL.numChannels=e,SDL.channels=[];for(var r=0;r<e;r++)SDL.channels[r]={audio:null,volume:1}}},setGetVolume(e,r){if(!e)return 0;var t=e.volume*128;if(r!=-1&&(e.volume=Math.min(Math.max(r,0),128)/128,e.audio))try{e.audio.volume=e.volume,e.audio.webAudioGainNode&&(e.audio.webAudioGainNode.gain.value=e.volume)}catch(n){err("setGetVolume failed to set audio volume: ".concat(n))}return t},setPannerPosition(e,r,t,n){e&&e.audio&&e.audio.webAudioPannerNode&&e.audio.webAudioPannerNode.setPosition(r,t,n)},playWebAudio(e){if(e&&!e.webAudioNode&&SDL.webAudioAvailable())try{var r=e.resource.webAudio;if(e.paused=!1,!r.decodedBuffer){r.onDecodeComplete===void 0&&abort("Cannot play back audio object that was not loaded"),r.onDecodeComplete.push(()=>{e.paused||SDL.playWebAudio(e)});return}e.webAudioNode=SDL.audioContext.createBufferSource(),e.webAudioNode.buffer=r.decodedBuffer,e.webAudioNode.loop=e.loop,e.webAudioNode.onended=e.onended,e.webAudioPannerNode=SDL.audioContext.createPanner(),e.webAudioPannerNode.setPosition(0,0,-.5),e.webAudioPannerNode.panningModel="equalpower",e.webAudioGainNode=SDL.audioContext.createGain(),e.webAudioGainNode.gain.value=e.volume,e.webAudioNode.connect(e.webAudioPannerNode),e.webAudioPannerNode.connect(e.webAudioGainNode),e.webAudioGainNode.connect(SDL.audioContext.destination),e.webAudioNode.start(0,e.currentPosition),e.startTime=SDL.audioContext.currentTime-e.currentPosition}catch(t){err("playWebAudio failed: ".concat(t))}},pauseWebAudio(e){if(e){if(e.webAudioNode)try{e.currentPosition=(SDL.audioContext.currentTime-e.startTime)%e.resource.webAudio.decodedBuffer.duration,e.webAudioNode.onended=void 0,e.webAudioNode.stop(0),e.webAudioNode=void 0}catch(r){err("pauseWebAudio failed: ".concat(r))}e.paused=!0}},openAudioContext(){SDL.audioContext||(typeof AudioContext<"u"?SDL.audioContext=new AudioContext:typeof webkitAudioContext<"u"&&(SDL.audioContext=new webkitAudioContext))},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(e,r,t){for(var n=SDL.audio,a=n.channels,o=0;o<a;++o){var _=t.getChannelData(o);if(_.length!=r)throw"Web Audio output buffer length mismatch! Destination size: "+_.length+" samples vs expected "+r+" samples!";if(n.format==32784)for(var l=0;l<r;++l)_[l]=HEAP16[e+(l*a+o)*2>>>1>>>0]/32768;else if(n.format==8)for(var l=0;l<r;++l){var c=HEAP8[e+(l*a+o)>>>0];_[l]=(c>=0?c-128:c+128)/128}else if(n.format==33056)for(var l=0;l<r;++l)_[l]=HEAPF32[e+(l*a+o)*4>>>2>>>0];else throw"Invalid SDL audio format "+n.format+"!"}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(e,r){for(var t=new Array(r.buttons.length),n=0;n<r.buttons.length;n++)t[n]=SDL.getJoystickButtonState(r.buttons[n]);SDL.lastJoystickState[e]={buttons:t,axes:r.axes.slice(0),timestamp:r.timestamp,index:r.index,id:r.id}},getJoystickButtonState(e){return typeof e=="object"?e.pressed:e>0},queryJoysticks(){for(var e in SDL.lastJoystickState){var r=SDL.getGamepad(e-1),t=SDL.lastJoystickState[e];if(typeof r>"u"||r===null)return;if(typeof r.timestamp!="number"||r.timestamp!=t.timestamp||!r.timestamp){var n;for(n=0;n<r.buttons.length;n++){var a=SDL.getJoystickButtonState(r.buttons[n]);a!==t.buttons[n]&&SDL.events.push({type:a?"joystick_button_down":"joystick_button_up",joystick:e,index:e-1,button:n})}for(n=0;n<r.axes.length;n++)r.axes[n]!==t.axes[n]&&SDL.events.push({type:"joystick_axis_motion",joystick:e,index:e-1,axis:n,value:r.axes[n]});SDL.recordJoystickState(e,r)}}},joystickAxisValueConversion(e){return e=Math.min(1,Math.max(e,-1)),Math.ceil((e+1)*32767.5-32768)},getGamepads(){var e=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;return e!==void 0?e.apply(navigator):[]},getGamepad(e){var r=SDL.getGamepads();return r.length>e&&e>=0?r[e]:null}};function _SDL_Linked_Version(){return SDL.version===null&&(SDL.version=_malloc(3),HEAP8[SDL.version>>>0]=1,HEAP8[SDL.version+1>>>0]=3,HEAP8[SDL.version+2>>>0]=0),SDL.version}_SDL_Linked_Version.sig="p";var _SDL_Init=e=>{if(SDL.startTime=Date.now(),SDL.initFlags=e,!Module.doNotCaptureKeyboard){var r=Module.keyboardListeningElement||document;r.addEventListener("keydown",SDL.receiveEvent),r.addEventListener("keyup",SDL.receiveEvent),r.addEventListener("keypress",SDL.receiveEvent),window.addEventListener("focus",SDL.receiveEvent),window.addEventListener("blur",SDL.receiveEvent),document.addEventListener("visibilitychange",SDL.receiveEvent)}return window.addEventListener("unload",SDL.receiveEvent),SDL.keyboardState=_calloc(65536,1),SDL.DOMEventToSDLEvent.keydown=768,SDL.DOMEventToSDLEvent.keyup=769,SDL.DOMEventToSDLEvent.keypress=771,SDL.DOMEventToSDLEvent.mousedown=1025,SDL.DOMEventToSDLEvent.mouseup=1026,SDL.DOMEventToSDLEvent.mousemove=1024,SDL.DOMEventToSDLEvent.wheel=1027,SDL.DOMEventToSDLEvent.touchstart=1792,SDL.DOMEventToSDLEvent.touchend=1793,SDL.DOMEventToSDLEvent.touchmove=1794,SDL.DOMEventToSDLEvent.unload=256,SDL.DOMEventToSDLEvent.resize=28673,SDL.DOMEventToSDLEvent.visibilitychange=512,SDL.DOMEventToSDLEvent.focus=512,SDL.DOMEventToSDLEvent.blur=512,SDL.DOMEventToSDLEvent.joystick_axis_motion=1536,SDL.DOMEventToSDLEvent.joystick_button_down=1539,SDL.DOMEventToSDLEvent.joystick_button_up=1540,0};_SDL_Init.sig="ii";var _SDL_WasInit=e=>(SDL.startTime===null&&_SDL_Init(0),1);_SDL_WasInit.sig="ii";function _SDL_GetVideoInfo(){var e=_calloc(20,1);return HEAP32[e+12>>>2>>>0]=Module.canvas.width,HEAP32[e+16>>>2>>>0]=Module.canvas.height,e}_SDL_GetVideoInfo.sig="p";function _SDL_ListModes(e,r){return e>>>=0,-1}_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(e,r,t,n)=>t;_SDL_VideoModeOK.sig="iiiii";function _SDL_VideoDriverName(e,r){if(e>>>=0,SDL.startTime===null)return 0;var t=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114],n=0,a=t.length;for(r<=a&&(a=r-1);n<a;){var o=t[n];HEAP8[e+n>>>0]=o,n++}return HEAP8[e+n>>>0]=0,e}_SDL_VideoDriverName.sig="ppi";var _SDL_AudioDriverName=_SDL_VideoDriverName;_SDL_AudioDriverName.sig="ppi";var _SDL_SetVideoMode=function(e,r,t,n){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(o=>Module.canvas.addEventListener(o,SDL.receiveEvent,!0));var a=Module.canvas;return e==0&&r==0&&(e=a.width,r=a.height),SDL.addedResizeListener||(SDL.addedResizeListener=!0,Browser.resizeListeners.push((o,_)=>{SDL.settingVideoMode||SDL.receiveEvent({type:"resize",w:o,h:_})})),SDL.settingVideoMode=!0,Browser.setCanvasSize(e,r),SDL.settingVideoMode=!1,SDL.screen&&(SDL.freeSurface(SDL.screen),assert(!SDL.screen)),SDL.GL&&(n=n|67108864),SDL.screen=SDL.makeSurface(e,r,n,!0,"screen"),SDL.screen};_SDL_SetVideoMode.sig="piiii";function _SDL_GetVideoSurface(){return SDL.screen}_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var e=0;e<SDL.numChannels;++e){var r=SDL.channels[e];r.audio&&(r.audio.pause(),r.audio=void 0)}var t=SDL.music.audio;t==null||t.pause(),SDL.music.audio=void 0};_SDL_AudioQuit.sig="v";var _SDL_VideoQuit=()=>out("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=e=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit(),out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";function _SDL_UnlockSurface(e){e>>>=0,assert(!SDL.GL);var r=SDL.surfaces[e];if(!(!r.locked||--r.locked>0)){if(r.isFlagSet(2097152))SDL.copyIndexedColorData(r);else if(r.colors)for(var m=Module.canvas.width,v=Module.canvas.height,g=r.buffer,t=r.image.data,S=r.colors,h=0;h<v;h++){for(var b=h*m*4,A=0;A<m;A++){var c=HEAPU8[g++>>>0]*4,w=b+A*4;t[w]=S[c],t[w+1]=S[c+1],t[w+2]=S[c+2]}g+=m*3}else{var t=r.image.data,n=r.buffer;assert(n%4==0,"Invalid buffer offset: "+n);var a=n>>>2,o=0,_=e==SDL.screen,l;if(typeof CanvasPixelArray<"u"&&t instanceof CanvasPixelArray)for(l=t.length;o<l;){var c=HEAP32[a>>>0];t[o]=c&255,t[o+1]=c>>8&255,t[o+2]=c>>16&255,t[o+3]=_?255:c>>24&255,a++,o+=4}else{var u=new Uint32Array(t.buffer);if(_&&SDL.defaults.opaqueFrontBuffer){l=u.length,u.set(HEAP32.subarray(a>>>0,a+l>>>0));var d=new Uint8Array(t.buffer),f=3,p=f+4*l;if(l%8==0)for(;f<p;)d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0;else for(;f<p;)d[f]=255,f=f+4|0}else u.set(HEAP32.subarray(a>>>0,a+u.length>>>0))}}r.ctx.putImageData(r.image,0,0)}}_SDL_UnlockSurface.sig="vp";function _SDL_Flip(e){e>>>=0}_SDL_Flip.sig="ip";function _SDL_UpdateRect(e,r,t,n,a){e>>>=0}_SDL_UpdateRect.sig="vpiiii";function _SDL_UpdateRects(e,r,t){e>>>=0,t>>>=0}_SDL_UpdateRects.sig="vpip";var _SDL_Delay=e=>{ENVIRONMENT_IS_WORKER||abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");for(var r=Date.now();Date.now()-r<e;);};_SDL_Delay.sig="vi";function _SDL_WM_SetCaption(e,r){e>>>=0,r>>>=0,e&&_emscripten_set_window_title(e),r&&(r=UTF8ToString(r))}_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(e,r)=>{};_SDL_EnableKeyRepeat.sig="iii";function _SDL_GetKeyboardState(e){return e>>>=0,e&&(HEAP32[e>>>2>>>0]=65536),SDL.keyboardState}_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);function _SDL_GetKeyName(e){return SDL.keyName||(SDL.keyName=stringToNewUTF8("unknown key")),SDL.keyName}_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";function _SDL_GetMouseState(e,r){return e>>>=0,r>>>=0,e&&(HEAP32[e>>>2>>>0]=Browser.mouseX),r&&(HEAP32[r>>>2>>>0]=Browser.mouseY),SDL.buttonState}_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(e,r)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=e=>{switch(e){case 0:return Browser.isFullscreen?(Module.canvas.requestPointerLock(),0):1;case 1:return Module.canvas.exitPointerLock(),1;case-1:return!Browser.pointerLock;default:err("SDL_ShowCursor called with unknown toggle parameter value: ".concat(e));break}};_SDL_ShowCursor.sig="ii";function _SDL_GetError(){return SDL.errorMessage||(SDL.errorMessage=stringToNewUTF8("unknown SDL-emscripten error")),SDL.errorMessage}_SDL_GetError.sig="p";function _SDL_SetError(e,r){e>>>=0,r>>>=0}_SDL_SetError.sig="vpp";function _SDL_CreateRGBSurface(e,r,t,n,a,o,_,l){return SDL.makeSurface(r,t,e,!1,"CreateRGBSurface",a,o,_,l)}_SDL_CreateRGBSurface.sig="piiiiiiii";function _SDL_CreateRGBSurfaceFrom(e,r,t,n,a,o,_,l,c){e>>>=0;var u=SDL.makeSurface(r,t,0,!1,"CreateRGBSurfaceFrom",o,_,l,c);if(n!==32)return err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!"),u;for(var d=SDL.surfaces[u],f=d.ctx.createImageData(r,t),p=r*4,m=0;m<t;++m)for(var v=m*a,g=m*p,S=0;S<r*4;++S)f.data[g+S]=HEAPU8[e+(g+S)>>>0];return d.ctx.putImageData(f,0,0),u}_SDL_CreateRGBSurfaceFrom.sig="ppiiiiiiii";function _SDL_ConvertSurface(e,r,t){e>>>=0,r>>>=0,r&&SDL.checkPixelFormat(r);var n=SDL.surfaces[e],a=SDL.makeSurface(n.width,n.height,n.flags,!1,"copy:"+n.source),o=SDL.surfaces[a];return o.ctx.globalCompositeOperation="copy",o.ctx.drawImage(n.canvas,0,0),o.ctx.globalCompositeOperation=n.ctx.globalCompositeOperation,a}_SDL_ConvertSurface.sig="pppi";function _SDL_DisplayFormatAlpha(e){return e>>>=0,_SDL_ConvertSurface(e,0,0)}_SDL_DisplayFormatAlpha.sig="pp";function _SDL_FreeSurface(e){e>>>=0,e&&SDL.freeSurface(e)}_SDL_FreeSurface.sig="vp";function _SDL_UpperBlit(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,SDL.blitSurface(e,r,t,n,!1)}_SDL_UpperBlit.sig="ipppp";function _SDL_UpperBlitScaled(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,SDL.blitSurface(e,r,t,n,!0)}_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";function _SDL_GetClipRect(e,r){e>>>=0,r>>>=0,assert(r);var t=SDL.surfaces[e],n=t.clipRect||{x:0,y:0,w:t.width,h:t.height};SDL.updateRect(r,n)}_SDL_GetClipRect.sig="vpp";function _SDL_SetClipRect(e,r){e>>>=0,r>>>=0;var t=SDL.surfaces[e];r?t.clipRect=SDL.intersectionOfRects({x:0,y:0,w:t.width,h:t.height},SDL.loadRect(r)):delete t.clipRect}_SDL_SetClipRect.sig="ipp";function _SDL_FillRect(e,r,t){e>>>=0,r>>>=0;var n=SDL.surfaces[e];assert(!n.locked),n.isFlagSet(2097152)&&(t=n.colors32[t]);var a=r?SDL.loadRect(r):{x:0,y:0,w:n.width,h:n.height};return n.clipRect&&(a=SDL.intersectionOfRects(n.clipRect,a),r&&SDL.updateRect(r,a)),n.ctx.save(),n.ctx.fillStyle=SDL.translateColorToCSSRGBA(t),n.ctx.fillRect(a.x,a.y,a.w,a.h),n.ctx.restore(),0}_SDL_FillRect.sig="ippi";function _zoomSurface(e,r,t,n){e>>>=0;var a=SDL.surfaces[e],o=a.width*r,_=a.height*t,l=SDL.makeSurface(Math.abs(o),Math.abs(_),a.flags,!1,"zoomSurface"),c=SDL.surfaces[l];return r>=0&&t>=0?c.ctx.drawImage(a.canvas,0,0,o,_):(c.ctx.save(),c.ctx.scale(r<0?-1:1,t<0?-1:1),c.ctx.drawImage(a.canvas,o<0?o:0,_<0?_:0,Math.abs(o),Math.abs(_)),c.ctx.restore()),l}_zoomSurface.sig="ppddi";function _rotozoomSurface(e,r,t,n){if(e>>>=0,r%360===0)return _zoomSurface(e,t,t,n);var a=SDL.surfaces[e],o=a.width*t,_=a.height*t,l=Math.ceil(Math.sqrt(Math.pow(o,2)+Math.pow(_,2))),c=SDL.makeSurface(l,l,a.flags,!1,"rotozoomSurface"),u=SDL.surfaces[c];return u.ctx.translate(l/2,l/2),u.ctx.rotate(-r*Math.PI/180),u.ctx.drawImage(a.canvas,-o/2,-_/2,o,_),c}_rotozoomSurface.sig="ppddi";function _SDL_SetAlpha(e,r,t){e>>>=0;var n=SDL.surfaces[e];n.alpha=t,r&65536||(n.alpha=255)}_SDL_SetAlpha.sig="ipii";function _SDL_SetColorKey(e,r,t){return e>>>=0,warnOnce("SDL_SetColorKey is a no-op for performance reasons"),0}_SDL_SetColorKey.sig="ipii";function _SDL_PollEvent(e){return e>>>=0,SDL.pollEvent(e)}_SDL_PollEvent.sig="ip";function _SDL_PushEvent(e){e>>>=0;var r=_malloc(28);return _memcpy(r,e,28),SDL.events.push(r),0}_SDL_PushEvent.sig="ip";function _SDL_PeepEvents(e,r,t,n,a){switch(e>>>=0,t){case 2:{assert(r==1);for(var o=0,_=0;o<SDL.events.length&&_<r;){var l=SDL.events[o],c=SDL.DOMEventToSDLEvent[l.type];n<=c&&c<=a?SDL.makeCEvent(l,e)===!1?o++:(SDL.events.splice(o,1),_++):o++}return _}default:throw"SDL_PeepEvents does not yet support that action: "+t}}_SDL_PeepEvents.sig="ipiiii";var _SDL_PumpEvents=()=>SDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";function _emscripten_SDL_SetEventHandler(e,r){e>>>=0,r>>>=0,SDL.eventHandler=e,SDL.eventHandlerContext=r,SDL.eventHandlerTemp||(SDL.eventHandlerTemp=_malloc(28))}_emscripten_SDL_SetEventHandler.sig="vpp";function _SDL_SetColors(e,r,t,n){e>>>=0,r>>>=0;var a=SDL.surfaces[e];if(!a.colors){var o=new ArrayBuffer(1024);a.colors=new Uint8Array(o),a.colors32=new Uint32Array(o)}for(var _=0;_<n;++_){var l=(t+_)*4;a.colors[l]=HEAPU8[r+_*4>>>0],a.colors[l+1]=HEAPU8[r+(_*4+1)>>>0],a.colors[l+2]=HEAPU8[r+(_*4+2)>>>0],a.colors[l+3]=255}return 1}_SDL_SetColors.sig="ippii";function _SDL_SetPalette(e,r,t,n,a){return e>>>=0,t>>>=0,_SDL_SetColors(e,t,n,a)}_SDL_SetPalette.sig="ipipii";function _SDL_MapRGB(e,r,t,n){return e>>>=0,SDL.checkPixelFormat(e),r&255|(t&255)<<8|(n&255)<<16|4278190080}_SDL_MapRGB.sig="ipiii";function _SDL_MapRGBA(e,r,t,n,a){return e>>>=0,SDL.checkPixelFormat(e),r&255|(t&255)<<8|(n&255)<<16|(a&255)<<24}_SDL_MapRGBA.sig="ipiiii";function _SDL_GetRGB(e,r,t,n,a){r>>>=0,t>>>=0,n>>>=0,a>>>=0,SDL.checkPixelFormat(r),t&&(HEAP8[t>>>0]=e&255),n&&(HEAP8[n>>>0]=e>>8&255),a&&(HEAP8[a>>>0]=e>>16&255)}_SDL_GetRGB.sig="vipppp";function _SDL_GetRGBA(e,r,t,n,a,o){r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,SDL.checkPixelFormat(r),t&&(HEAP8[t>>>0]=e&255),n&&(HEAP8[n>>>0]=e>>8&255),a&&(HEAP8[a>>>0]=e>>16&255),o&&(HEAP8[o>>>0]=e>>24&255)}_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var e=0;return Browser.pointerLock&&(e|=1),document.hasFocus()&&(e|=2),e|=4,e};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";function _SDL_WM_ToggleFullScreen(e){return e>>>=0,Browser.exitFullscreen()?1:SDL.canRequestFullscreen?(SDL.isRequestingFullscreen=!0,1):0}_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=e=>e;_IMG_Init.sig="ii";function _SDL_FreeRW(e){for(e>>>=0,SDL.rwops[e]=null;SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null;)SDL.rwops.pop()}_SDL_FreeRW.sig="vp";var _IMG_Load_RW=function(e,r){e>>>=0;var t=stackSave();try{var n=()=>{stackRestore(t),_&&r&&_SDL_FreeRW(e)},a=w=>{var L=n;n=()=>{L(),w()}},o=(w,L)=>{var F=stackAlloc(4),y=stackAlloc(4),D=stackAlloc(4),P=Module["_"+w](...L,F,y,D,0);return P?(a(()=>Module._stbi_image_free(P)),{rawData:!0,data:P,width:HEAP32[F>>>2>>>0],height:HEAP32[y>>>2>>>0],size:HEAP32[F>>>2>>>0]*HEAP32[y>>>2>>>0]*HEAP32[D>>>2>>>0],bpp:HEAP32[D>>>2>>>0]}):null},_=SDL.rwops[e];if(_===void 0)return 0;var l,c=_.filename;if(c===void 0)return warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;if(!l)if(c=PATH_FS.resolve(c),l=preloadedImages[c],l)Module.freePreloadedMediaOnUse&&(preloadedImages[c]=null);else return l===null&&err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!"),warnOnce("Cannot find preloaded image "+c),warnOnce("Cannot find preloaded image "+c+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;var u=SDL.makeSurface(l.width,l.height,0,!1,"load:"+c),d=SDL.surfaces[u];if(d.ctx.globalCompositeOperation="copy",!l.rawData)d.ctx.drawImage(l,0,0,l.width,l.height,0,0,l.width,l.height);else{var f=d.ctx.getImageData(0,0,d.width,d.height);if(l.bpp==4)f.data.set(HEAPU8.subarray(l.data>>>0,l.data+l.size>>>0));else if(l.bpp==3)for(var p=l.size/3,m=f.data,v=l.data,g=0,S=0;S<p;S++)m[g++]=HEAPU8[v++>>>0],m[g++]=HEAPU8[v++>>>0],m[g++]=HEAPU8[v++>>>0],m[g++]=255;else if(l.bpp==2)for(var p=l.size,m=f.data,v=l.data,g=0,S=0;S<p;S++){var h=HEAPU8[v++>>>0],b=HEAPU8[v++>>>0];m[g++]=h,m[g++]=h,m[g++]=h,m[g++]=b}else if(l.bpp==1)for(var p=l.size,m=f.data,v=l.data,g=0,S=0;S<p;S++){var A=HEAPU8[v++>>>0];m[g++]=A,m[g++]=A,m[g++]=A,m[g++]=255}else return err("cannot handle bpp ".concat(l.bpp)),0;d.ctx.putImageData(f,0,0)}return d.ctx.globalCompositeOperation="source-over",_SDL_LockSurface(u),d.locked--,SDL.GL&&(d.canvas=d.ctx=null),u}finally{n()}};_IMG_Load_RW.sig="ppi";var _SDL_LoadBMP_RW=_IMG_Load_RW;_SDL_LoadBMP_RW.sig="ppi";function _SDL_RWFromFile(e,r){e>>>=0,r>>>=0;var t=SDL.rwops.length,n=UTF8ToString(e);return SDL.rwops.push({filename:n,mimetype:Browser.getMimetype(n)}),t}_SDL_RWFromFile.sig="ppp";function _IMG_Load(e){e>>>=0;var r=_SDL_RWFromFile(e,0),t=_IMG_Load_RW(r,1);return t}_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";function _SDL_OpenAudio(e,r){e>>>=0,r>>>=0;try{if(SDL.audio={freq:HEAPU32[e>>>2>>>0],format:HEAPU16[e+4>>>1>>>0],channels:HEAPU8[e+6>>>0],samples:HEAPU16[e+8>>>1>>>0],callback:HEAPU32[e+16>>>2>>>0],userdata:HEAPU32[e+20>>>2>>>0],paused:!0,timer:null},SDL.audio.format==8)SDL.audio.silence=128;else if(SDL.audio.format==32784)SDL.audio.silence=0;else if(SDL.audio.format==33056)SDL.audio.silence=0;else throw"Invalid SDL audio format "+SDL.audio.format+"!";if(SDL.audio.freq<=0)throw"Unsupported sound frequency "+SDL.audio.freq+"!";if(SDL.audio.freq<=22050)SDL.audio.freq=22050;else if(SDL.audio.freq<=32e3)SDL.audio.freq=32e3;else if(SDL.audio.freq<=44100)SDL.audio.freq=44100;else if(SDL.audio.freq<=48e3)SDL.audio.freq=48e3;else if(SDL.audio.freq<=96e3)SDL.audio.freq=96e3;else throw"Unsupported sound frequency ".concat(SDL.audio.freq,"!");if(SDL.audio.channels==0)SDL.audio.channels=1;else{if(SDL.audio.channels<0||SDL.audio.channels>32)throw"Unsupported number of audio channels for SDL audio: ".concat(SDL.audio.channels,"!");SDL.audio.channels!=1&&SDL.audio.channels!=2&&out("Warning: Using untested number of audio channels ".concat(SDL.audio.channels))}if(SDL.audio.samples<128||SDL.audio.samples>524288)throw"Unsupported audio callback buffer size ".concat(SDL.audio.samples,"!");if(SDL.audio.samples&SDL.audio.samples-1)throw"Audio callback buffer size ".concat(SDL.audio.samples," must be a power-of-two!");var t=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8)SDL.audio.bytesPerSample=1;else if(SDL.audio.format==32784)SDL.audio.bytesPerSample=2;else if(SDL.audio.format==33056)SDL.audio.bytesPerSample=4;else throw"Invalid SDL audio format ".concat(SDL.audio.format,"!");if(SDL.audio.bufferSize=t*SDL.audio.bytesPerSample,SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq,SDL.audio.bufferingDelay=.05,SDL.audio.buffer=_malloc(SDL.audio.bufferSize),SDL.audio.numSimultaneouslyQueuedBuffers=Module.SDL_numSimultaneouslyQueuedBuffers||5,SDL.audio.queueNewAudioData=()=>{if(SDL.audio)for(var n=0;n<SDL.audio.numSimultaneouslyQueuedBuffers;++n){var a=SDL.audio.nextPlayTime-SDL.audioContext.currentTime;if(a>=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;getWasmTableEntry(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize),SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}},SDL.audio.caller=()=>{if(SDL.audio){--SDL.audio.numAudioTimersPending,SDL.audio.queueNewAudioData();var n=SDL.audio.nextPlayTime-SDL.audioContext.currentTime,a=SDL.audio.bufferDurationSecs/2;SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers&&(++SDL.audio.numAudioTimersPending,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,Math.max(0,1e3*(n-a))),SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers&&(++SDL.audio.numAudioTimersPending,safeSetTimeout(SDL.audio.caller,1)))}},SDL.audio.audioOutput=new Audio,SDL.openAudioContext(),!SDL.audioContext)throw"Web Audio API is not available!";autoResumeAudioContext(SDL.audioContext),SDL.audio.nextPlayTime=0,SDL.audio.pushAudio=(n,a)=>{try{if(SDL.audio.paused)return;var o=a/SDL.audio.bytesPerSample,_=o/SDL.audio.channels;if(_!=SDL.audio.samples)throw"Received mismatching audio buffer size!";var l=SDL.audioContext.createBufferSource(),c=SDL.audioContext.createBuffer(SDL.audio.channels,_,SDL.audio.freq);l.connect(SDL.audioContext.destination),SDL.fillWebAudioBufferFromHeap(n,_,c),l.buffer=c;var u=SDL.audioContext.currentTime,d=Math.max(u+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);typeof l.start<"u"?l.start(d):typeof l.noteOn<"u"&&l.noteOn(d),SDL.audio.nextPlayTime=d+SDL.audio.bufferDurationSecs}catch(f){err("Web Audio API error playing back audio: ".concat(f.toString()))}},r&&(HEAP32[r>>>2>>>0]=SDL.audio.freq,HEAP16[r+4>>>1>>>0]=SDL.audio.format,HEAP8[r+6>>>0]=SDL.audio.channels,HEAP8[r+7>>>0]=SDL.audio.silence,HEAP16[r+8>>>1>>>0]=SDL.audio.samples,HEAPU32[r+16>>>2>>>0]=SDL.audio.callback,HEAPU32[r+20>>>2>>>0]=SDL.audio.userdata),SDL.allocateChannels(32)}catch(n){err('Initializing SDL audio threw an exception: "'.concat(n.toString(),'"! Continuing without audio')),SDL.audio=null,SDL.allocateChannels(0),r&&(HEAP32[r>>>2>>>0]=0,HEAP16[r+4>>>1>>>0]=0,HEAP8[r+6>>>0]=0,HEAP8[r+7>>>0]=0,HEAP16[r+8>>>1>>>0]=0,HEAPU32[r+16>>>2>>>0]=0,HEAPU32[r+20>>>2>>>0]=0)}return SDL.audio?0:-1}_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=e=>{SDL.audio&&(e?SDL.audio.timer!==void 0&&(clearTimeout(SDL.audio.timer),SDL.audio.numAudioTimersPending=0,SDL.audio.timer=void 0):SDL.audio.timer||(SDL.audio.numAudioTimersPending=1,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)),SDL.audio.paused=e)};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{SDL.audio&&(SDL.audio.callbackRemover&&(SDL.audio.callbackRemover(),SDL.audio.callbackRemover=null),_SDL_PauseAudio(1),_free(SDL.audio.buffer),SDL.audio=null,SDL.allocateChannels(0))};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";function _SDL_CreateMutex(){return 0}_SDL_CreateMutex.sig="p";function _SDL_mutexP(e){return e>>>=0,0}_SDL_mutexP.sig="ip";function _SDL_mutexV(e){return e>>>=0,0}_SDL_mutexV.sig="ip";function _SDL_DestroyMutex(e){e>>>=0}_SDL_DestroyMutex.sig="vp";function _SDL_CreateCond(){return 0}_SDL_CreateCond.sig="p";function _SDL_CondSignal(e){e>>>=0}_SDL_CondSignal.sig="ip";function _SDL_CondWait(e,r){e>>>=0,r>>>=0}_SDL_CondWait.sig="ipp";function _SDL_DestroyCond(e){e>>>=0}_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=!0};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=!1};_SDL_StopTextInput.sig="v";var _Mix_Init=e=>e?8:0;_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(e,r,t,n)=>(SDL.openAudioContext(),autoResumeAudioContext(SDL.audioContext),SDL.allocateChannels(32),SDL.mixerFrequency=e,SDL.mixerFormat=r,SDL.mixerNumChannels=t,SDL.mixerChunkSize=n,0);_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=e=>(SDL.allocateChannels(e),e);_Mix_AllocateChannels.sig="ii";function _Mix_ChannelFinished(e){e>>>=0,SDL.channelFinished=e}_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(e,r)=>{if(e==-1){for(var t=0;t<SDL.numChannels-1;t++)_Mix_Volume(t,r);return _Mix_Volume(SDL.numChannels-1,r)}return SDL.setGetVolume(SDL.channels[e],r)};_Mix_Volume.sig="iii";var _Mix_SetPanning=(e,r,t)=>(r/=255,t/=255,SDL.setPannerPosition(SDL.channels[e],t-r,0,.1),1);_Mix_SetPanning.sig="iiii";function _Mix_LoadWAV_RW(e,r){e>>>=0;var t=SDL.rwops[e];if(t===void 0)return 0;var n="",a,o,_;if(t.filename!==void 0){n=PATH_FS.resolve(t.filename);var l=preloadedAudios[n];if(!l){l===null&&err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!"),Module.noAudioDecoding||warnOnce("Cannot find preloaded audio "+n);try{_=FS.readFile(n)}catch(v){return err("Couldn't find file for: ".concat(n)),0}}Module.freePreloadedMediaOnUse&&(preloadedAudios[n]=null),a=l}else if(t.bytes!==void 0)SDL.webAudioAvailable()?_=HEAPU8.buffer.slice(t.bytes,t.bytes+t.count):_=HEAPU8.subarray(t.bytes>>>0,t.bytes+t.count>>>0);else return 0;var c=_&&(_.buffer||_),u=Module.SDL_canPlayWithWebAudio===void 0||Module.SDL_canPlayWithWebAudio(n,c);if(_!==void 0&&SDL.webAudioAvailable()&&u){a=void 0,o={},o.onDecodeComplete=[];var d=v=>{o.decodedBuffer=v,o.onDecodeComplete.forEach(g=>g()),o.onDecodeComplete=void 0};SDL.audioContext.decodeAudioData(c,d)}else if(a===void 0&&_){var f=new Blob([_],{type:t.mimetype}),p=URL.createObjectURL(f);a=new Audio,a.src=p,a.mozAudioChannelType="content"}var m=SDL.audios.length;return SDL.audios.push({source:n,audio:a,webAudio:o}),m}_Mix_LoadWAV_RW.sig="ppi";function _Mix_LoadWAV(e){e>>>=0;var r=_SDL_RWFromFile(e,0),t=_Mix_LoadWAV_RW(r,0);return _SDL_FreeRW(r),t}_Mix_LoadWAV.sig="pp";function _Mix_QuickLoad_RAW(e,r){e>>>=0;for(var t,n,a=r>>1,o=new Float32Array(a),_=0;_<a;++_)o[_]=HEAP16[e+_*2>>>1>>>0]/32768;SDL.webAudioAvailable()?(n={},n.decodedBuffer=o):(t=new Audio,t.mozAudioChannelType="content",t.numChannels=SDL.mixerNumChannels,t.frequency=SDL.mixerFrequency);var l=SDL.audios.length;return SDL.audios.push({source:"",audio:t,webAudio:n,buffer:o}),l}_Mix_QuickLoad_RAW.sig="ppi";function _Mix_FreeChunk(e){e>>>=0,SDL.audios[e]=null}_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=e=>{SDL.channelMinimumNumber=e};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=e=>{function r(n){var a=SDL.channels[n];a.audio&&(a.audio.pause(),a.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(n)}if(e!=-1)r(e);else for(var t=0;t<SDL.channels.length;++t)r(t);return 0};_Mix_HaltChannel.sig="ii";function _Mix_PlayChannelTimed(e,r,t,n){r>>>=0,assert(n==-1);var a=SDL.audios[r];if(!a||!a.audio&&!a.webAudio)return-1;if(e==-1){for(var o=SDL.channelMinimumNumber;o<SDL.numChannels;o++)if(!SDL.channels[o].audio){e=o;break}if(e==-1)return err("All ".concat(SDL.numChannels," channels in use!")),-1}var _=SDL.channels[e],l;return a.webAudio?(l={},l.resource=a,l.paused=!1,l.currentPosition=0,l.play=function(){SDL.playWebAudio(this)},l.pause=function(){SDL.pauseWebAudio(this)}):(l=a.audio.cloneNode(!0),l.numChannels=a.audio.numChannels,l.frequency=a.audio.frequency),l.onended=function(){(_.audio===this||_.audio.webAudioNode===this)&&(_.audio.paused=!0,_.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(e)},_.audio&&_Mix_HaltChannel(e),_.audio=l,l.loop=t!=0,l.volume=_.volume,l.play(),e}_Mix_PlayChannelTimed.sig="iipii";var _Mix_FadingChannel=e=>0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var e=SDL.music.audio;return e&&(e.src=e.src,e.currentPosition=0,e.pause()),SDL.music.audio=null,SDL.hookMusicFinished&&getWasmTableEntry(SDL.hookMusicFinished)(),0};_Mix_HaltMusic.sig="i";function _Mix_HookMusicFinished(e){e>>>=0,SDL.hookMusicFinished=e,SDL.music.audio&&(SDL.music.audio.onended=_Mix_HaltMusic)}_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=e=>SDL.setGetVolume(SDL.music,e);_Mix_VolumeMusic.sig="ii";function _Mix_LoadMUS_RW(e){return e>>>=0,_Mix_LoadWAV_RW(e,0)}_Mix_LoadMUS_RW.sig="pp";function _Mix_LoadMUS(e){e>>>=0;var r=_SDL_RWFromFile(e,0),t=_Mix_LoadMUS_RW(r);return _SDL_FreeRW(r),t}_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";function _Mix_PlayMusic(e,r){e>>>=0,SDL.music.audio&&(SDL.music.audio.paused||err("Music is already playing. ".concat(SDL.music.source)),SDL.music.audio.pause());var t=SDL.audios[e],n;return t.webAudio?(n={},n.resource=t,n.paused=!1,n.currentPosition=0,n.play=function(){SDL.playWebAudio(this)},n.pause=function(){SDL.pauseWebAudio(this)}):t.audio&&(n=t.audio),n.onended=function(){var a;(SDL.music.audio===this||((a=SDL.music.audio)==null?void 0:a.webAudioNode)===this)&&_Mix_HaltMusic()},n.loop=r!=0&&r!=1,n.volume=SDL.music.volume,SDL.music.audio=n,n.play(),0}_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var e=SDL.music.audio;e==null||e.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var e=SDL.music.audio;e==null||e.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused?1:0;_Mix_PlayingMusic.sig="i";var _Mix_Playing=e=>{if(e===-1){for(var r=0,t=0;t<SDL.channels.length;t++)r+=_Mix_Playing(t);return r}var n=SDL.channels[e];return n!=null&&n.audio&&!n.audio.paused?1:0};_Mix_Playing.sig="ii";var _Mix_Pause=e=>{if(e===-1){for(var r=0;r<SDL.channels.length;r++)_Mix_Pause(r);return}var t=SDL.channels[e];t!=null&&t.audio&&t.audio.pause()};_Mix_Pause.sig="vi";var _Mix_Paused=e=>{var a;if(e===-1){for(var r=0,t=0;t<SDL.channels.length;t++)r+=_Mix_Paused(t);return r}var n=SDL.channels[e];return(a=n==null?void 0:n.audio)!=null&&a.paused?1:0};_Mix_Paused.sig="ii";var _Mix_PausedMusic=()=>{var e;return(e=SDL.music.audio)!=null&&e.paused?1:0};_Mix_PausedMusic.sig="i";var _Mix_Resume=e=>{if(e===-1){for(var r=0;r<SDL.channels.length;r++)_Mix_Resume(r);return}var t=SDL.channels[e];t!=null&&t.audio&&t.audio.play()};_Mix_Resume.sig="vi";var _TTF_Init=()=>{try{var e=new OffscreenCanvas(0,0);if(SDL.ttfContext=e.getContext("2d"),typeof SDL.ttfContext.measureText!="function")throw"bad context"}catch(t){var r=document.createElement("canvas");SDL.ttfContext=r.getContext("2d")}return 0};_TTF_Init.sig="i";function _TTF_OpenFont(e,r){e>>>=0,e=PATH.normalize(UTF8ToString(e));var t=SDL.fonts.length;return SDL.fonts.push({name:e,size:r}),t}_TTF_OpenFont.sig="ppi";function _TTF_CloseFont(e){e>>>=0,SDL.fonts[e]=null}_TTF_CloseFont.sig="vp";function _TTF_RenderText_Solid(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=UTF8ToString(r)||" ";var n=SDL.fonts[e],a=SDL.estimateTextWidth(n,r),o=n.size;t=SDL.loadColorToCSSRGB(t);var _=SDL.makeFontString(o,n.name),l=SDL.makeSurface(a,o,0,!1,"text:"+r),c=SDL.surfaces[l];return c.ctx.save(),c.ctx.fillStyle=t,c.ctx.font=_,c.ctx.textBaseline="bottom",c.ctx.fillText(r,0,o|0),c.ctx.restore(),l}_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";function _TTF_SizeText(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=SDL.fonts[e];return t&&(HEAP32[t>>>2>>>0]=SDL.estimateTextWidth(a,UTF8ToString(r))),n&&(HEAP32[n>>>2>>>0]=a.size),0}_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";function _TTF_GlyphMetrics(e,r,t,n,a,o,_){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0;var l=SDL.fonts[e],c=SDL.estimateTextWidth(l,String.fromCharCode(r));_&&(HEAP32[_>>>2>>>0]=c),t&&(HEAP32[t>>>2>>>0]=0),n&&(HEAP32[n>>>2>>>0]=c),a&&(HEAP32[a>>>2>>>0]=0),o&&(HEAP32[o>>>2>>>0]=l.size)}_TTF_GlyphMetrics.sig="ipippppp";function _TTF_FontAscent(e){e>>>=0;var r=SDL.fonts[e];return r.size*.98|0}_TTF_FontAscent.sig="ip";function _TTF_FontDescent(e){e>>>=0;var r=SDL.fonts[e];return r.size*.02|0}_TTF_FontDescent.sig="ip";function _TTF_FontHeight(e){e>>>=0;var r=SDL.fonts[e];return r.size}_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(e,r,t,n,a,o,_)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,a=a<<16>>16;var l=SDL.surfaces[e];assert(!l.locked);var c=r<n?r:n,u=t<a?t:a,d=Math.abs(n-r),f=Math.abs(a-t);l.ctx.save(),l.ctx[o+"Style"]=_,l.ctx[o+"Rect"](c,u,d,f),l.ctx.restore()},drawLine:(e,r,t,n,a,o)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,a=a<<16>>16;var _=SDL.surfaces[e];assert(!_.locked),_.ctx.save(),_.ctx.strokeStyle=o,_.ctx.beginPath(),_.ctx.moveTo(r,t),_.ctx.lineTo(n,a),_.ctx.stroke(),_.ctx.restore()},drawEllipse:(e,r,t,n,a,o,_)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,a=a<<16>>16;var l=SDL.surfaces[e];assert(!l.locked),l.ctx.save(),l.ctx.beginPath(),l.ctx.translate(r,t),l.ctx.scale(n,a),l.ctx.arc(0,0,1,0,2*Math.PI),l.ctx.restore(),l.ctx.save(),l.ctx[o+"Style"]=_,l.ctx[o](),l.ctx.restore()},translateColorToCSSRGBA:e=>"rgba(".concat(e>>>24,",").concat(e>>16&255,",").concat(e>>8&255,",").concat(e&255,")")};function _boxColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"fill",SDL_gfx.translateColorToCSSRGBA(o))}_boxColor.sig="ipiiiii";function _boxRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"fill",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_boxRGBA.sig="ipiiiiiiii";function _rectangleColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"stroke",SDL_gfx.translateColorToCSSRGBA(o))}_rectangleColor.sig="ipiiiii";function _rectangleRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"stroke",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_rectangleRGBA.sig="ipiiiiiiii";function _ellipseColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"stroke",SDL_gfx.translateColorToCSSRGBA(o))}_ellipseColor.sig="ipiiiii";function _ellipseRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"stroke",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_ellipseRGBA.sig="ipiiiiiiii";function _filledEllipseColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"fill",SDL_gfx.translateColorToCSSRGBA(o))}_filledEllipseColor.sig="ipiiiii";function _filledEllipseRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"fill",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_filledEllipseRGBA.sig="ipiiiiiiii";function _lineColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawLine(e,r,t,n,a,SDL_gfx.translateColorToCSSRGBA(o))}_lineColor.sig="ipiiiii";function _lineRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawLine(e,r,t,n,a,SDL.translateRGBAToCSSRGBA(o,_,l,c))}_lineRGBA.sig="ipiiiiiiii";function _pixelRGBA(e,r,t,n,a,o,_){return e>>>=0,_boxRGBA(e,r,t,r,t,n,a,o,_)}_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(e,r)=>{e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),SDL.glAttributes[e]=r};_SDL_GL_SetAttribute.sig="iii";function _SDL_GL_GetAttribute(e,r){return r>>>=0,e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),r&&(HEAP32[r>>>2>>>0]=SDL.glAttributes[e]),0}_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>{var e;(e=Browser.doSwapBuffers)==null||e.call(Browser)};_SDL_GL_SwapBuffers.sig="v";function _SDL_GL_ExtensionSupported(e){return e>>>=0,Module.ctx.getExtension(e)|0}_SDL_GL_ExtensionSupported.sig="ip";function _SDL_DestroyWindow(e){e>>>=0}_SDL_DestroyWindow.sig="vp";function _SDL_DestroyRenderer(e){e>>>=0}_SDL_DestroyRenderer.sig="vp";function _SDL_GetWindowFlags(e){return e>>>=0,Browser.isFullscreen?1:0}_SDL_GetWindowFlags.sig="ip";function _SDL_GL_SwapWindow(e){e>>>=0}_SDL_GL_SwapWindow.sig="vp";function _SDL_GL_MakeCurrent(e,r){e>>>=0,r>>>=0}_SDL_GL_MakeCurrent.sig="ipp";function _SDL_GL_DeleteContext(e){e>>>=0}_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>MainLoop.timingMode==1?MainLoop.timingValue:0;_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=e=>{_emscripten_set_main_loop_timing(1,e)};_SDL_GL_SetSwapInterval.sig="ii";function _SDL_SetWindowTitle(e,r){e>>>=0,r>>>=0,r&&(document.title=UTF8ToString(r))}_SDL_SetWindowTitle.sig="vpp";function _SDL_GetWindowSize(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=Module.canvas.width,a=Module.canvas.height;r&&(HEAP32[r>>>2>>>0]=n),t&&(HEAP32[t>>>2>>>0]=a)}_SDL_GetWindowSize.sig="vppp";function _SDL_LogSetOutputFunction(e,r){e>>>=0,r>>>=0}_SDL_LogSetOutputFunction.sig="vpp";function _SDL_SetWindowFullscreen(e,r){return e>>>=0,Browser.isFullscreen?(Module.canvas.exitFullscreen(),1):0}_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(e,r,t)=>-1;_SDL_SetGamma.sig="ifff";function _SDL_SetGammaRamp(e,r,t){return e>>>=0,r>>>=0,t>>>=0,-1}_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{for(var e=0,r=SDL.getGamepads(),t=0;t<r.length;t++)r[t]!==void 0&&e++;return e};_SDL_NumJoysticks.sig="i";function _SDL_JoystickName(e){var r=SDL.getGamepad(e);if(r){var t=r.id;return SDL.joystickNamePool.hasOwnProperty(t)?SDL.joystickNamePool[t]:SDL.joystickNamePool[t]=stringToNewUTF8(t)}return 0}_SDL_JoystickName.sig="pi";function _SDL_JoystickOpen(e){var r=SDL.getGamepad(e);if(r){var t=e+1;return SDL.recordJoystickState(t,r),t}return 0}_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=e=>SDL.lastJoystickState.hasOwnProperty(e+1)?1:0;_SDL_JoystickOpened.sig="ii";function _SDL_JoystickIndex(e){return e>>>=0,e-1}_SDL_JoystickIndex.sig="ip";function _SDL_JoystickNumAxes(e){e>>>=0;var r=SDL.getGamepad(e-1);return r?r.axes.length:0}_SDL_JoystickNumAxes.sig="ip";function _SDL_JoystickNumBalls(e){return e>>>=0,0}_SDL_JoystickNumBalls.sig="ip";function _SDL_JoystickNumHats(e){return e>>>=0,0}_SDL_JoystickNumHats.sig="ip";function _SDL_JoystickNumButtons(e){e>>>=0;var r=SDL.getGamepad(e-1);return r?r.buttons.length:0}_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=e=>e<0?SDL.joystickEventState:SDL.joystickEventState=e;_SDL_JoystickEventState.sig="ii";function _SDL_JoystickGetAxis(e,r){e>>>=0;var t=SDL.getGamepad(e-1);return t&&t.axes.length>r?SDL.joystickAxisValueConversion(t.axes[r]):0}_SDL_JoystickGetAxis.sig="ipi";function _SDL_JoystickGetHat(e,r){return e>>>=0,0}_SDL_JoystickGetHat.sig="ipi";function _SDL_JoystickGetBall(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,-1}_SDL_JoystickGetBall.sig="ipipp";function _SDL_JoystickGetButton(e,r){e>>>=0;var t=SDL.getGamepad(e-1);return t&&t.buttons.length>r&&SDL.getJoystickButtonState(t.buttons[r])?1:0}_SDL_JoystickGetButton.sig="ipi";function _SDL_JoystickClose(e){e>>>=0,delete SDL.lastJoystickState[e]}_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=e=>0;_SDL_InitSubSystem.sig="ii";function _SDL_RWFromConstMem(e,r){e>>>=0;var t=SDL.rwops.length;return SDL.rwops.push({bytes:e,count:r}),t}_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";function _SDL_GetCurrentAudioDriver(){return stringToNewUTF8("Emscripten Audio")}_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=e=>SDL.scanCodes[e];_SDL_GetScancodeFromKey.sig="ii";function _SDL_GetAudioDriver(e){return _SDL_GetCurrentAudioDriver()}_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=e=>{var r=SDL.unicode||0;return SDL.unicode=e,r};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=function(e,r,t){return r>>>=0,t>>>=0,safeSetTimeout(()=>getWasmTableEntry(r)(e,t),e)};_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=e=>(clearTimeout(e),!0);_SDL_RemoveTimer.sig="ii";function _SDL_CreateThread(e,r,t,n){throw e>>>=0,r>>>=0,"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."}_SDL_CreateThread.sig="ppp";function _SDL_WaitThread(e,r){throw e>>>=0,r>>>=0,"SDL_WaitThread"}_SDL_WaitThread.sig="vpp";function _SDL_GetThreadID(e){throw e>>>=0,"SDL_GetThreadID"}_SDL_GetThreadID.sig="pp";function _SDL_ThreadID(){return 0}_SDL_ThreadID.sig="p";function _SDL_AllocRW(){throw"SDL_AllocRW: TODO"}_SDL_AllocRW.sig="p";function _SDL_CondBroadcast(e){throw e>>>=0,"SDL_CondBroadcast: TODO"}_SDL_CondBroadcast.sig="ip";function _SDL_CondWaitTimeout(e,r,t){throw e>>>=0,r>>>=0,"SDL_CondWaitTimeout: TODO"}_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";function _Mix_SetPostMix(e,r){return e>>>=0,r>>>=0,warnOnce("Mix_SetPostMix: TODO")}_Mix_SetPostMix.sig="vpp";function _Mix_VolumeChunk(e,r){throw e>>>=0,"Mix_VolumeChunk: TODO"}_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(e,r,t)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";function _Mix_QuerySpec(e,r,t){throw e>>>=0,r>>>=0,t>>>=0,"Mix_QuerySpec: TODO"}_Mix_QuerySpec.sig="ippp";function _Mix_FadeInChannelTimed(e,r,t,n,a){throw r>>>=0,"Mix_FadeInChannelTimed"}_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";function _Mix_Linked_Version(){throw"Mix_Linked_Version: TODO"}_Mix_Linked_Version.sig="p";function _SDL_SaveBMP_RW(e,r,t){throw e>>>=0,r>>>=0,"SDL_SaveBMP_RW: TODO"}_SDL_SaveBMP_RW.sig="ippi";function _SDL_WM_SetIcon(e,r){e>>>=0,r>>>=0}_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0,ALLOC_STACK=1,allocate=(e,r)=>{var t;return r==ALLOC_STACK?t=stackAlloc(e.length):t=_malloc(e.length),!e.subarray&&!e.slice&&(e=new Uint8Array(e)),HEAPU8.set(e,t>>>0),t},writeStringToMemory=(e,r,t)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var n,a;t&&(a=r+lengthBytesUTF8(e),n=HEAP8[a>>>0]),stringToUTF8(e,r,1/0),t&&(HEAP8[a>>>0]=n)},writeAsciiToMemory=(e,r,t)=>{for(var n=0;n<e.length;++n)HEAP8[r++>>>0]=e.charCodeAt(n);t||(HEAP8[r>>>0]=0)},allocateUTF8=stringToNewUTF8,allocateUTF8OnStack=stringToUTF8OnStack,setErrNo=e=>(HEAP32[___errno_location()>>>2>>>0]=e,e),demangle=e=>(demangle.recursionGuard=(demangle.recursionGuard|0)+1,demangle.recursionGuard>1?e:withStackSave(()=>{try{var r=e;r.startsWith("__Z")&&(r=r.substr(1));var t=stringToUTF8OnStack(r),n=stackAlloc(4),a=___cxa_demangle(t,0,0,n);if(HEAP32[n>>>2>>>0]===0&&a)return UTF8ToString(a)}catch(o){}finally{_free(a),demangle.recursionGuard<2&&--demangle.recursionGuard}return e})),stackTrace=()=>{var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),e},print=out,printErr=err,_emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER,tupleRegistrations={},structRegistrations={},getFunctionName=e=>{e=e.trim();let r=e.indexOf("(");return r!==-1?e.substr(0,r):e},getFunctionArgsName=e=>{e=e.trim();let r=e.indexOf("(")+1;return r!==0?e.substr(r,e.length-r-1).replaceAll(" ","").split(",").filter(t=>t.length):[]},heap32VectorToArray=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(HEAPU32[r+n*4>>>2>>>0]);return t};function usesDestructorStack(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function createJsInvokerSignature(e,r,t,n){let a=[r?"t":"f",t?"t":"f",n?"t":"f"];for(let o=r?1:2;o<e.length;++o){let _=e[o],l="";_.destructorFunction===void 0?l="u":_.destructorFunction===null?l="n":l="t",a.push(l)}return a.join("")}function checkArgCount(e,r,t,n,a){if(e<r||e>t){var o=r==t?r:"".concat(r," to ").concat(t);a("function ".concat(n," called with ").concat(e," arguments, expected ").concat(o))}}function getRequiredArgCount(e){for(var r=e.length-2,t=e.length-1;t>=2&&e[t].optional;--t)r--;return r}function createJsInvoker(e,r,t,n){var a=usesDestructorStack(e),o=e.length-2,_=[],l=["fn"];r&&l.push("thisWired");for(var c=0;c<o;++c)_.push("arg".concat(c)),l.push("arg".concat(c,"Wired"));_=_.join(","),l=l.join(",");var u="return function (".concat(_,") {\n");a&&(u+="var destructors = [];\n");var d=a?"destructors":"null",f=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];r&&(u+="var thisWired = classParam['toWireType'](".concat(d,", this);\n"));for(var c=0;c<o;++c)u+="var arg".concat(c,"Wired = argType").concat(c,"['toWireType'](").concat(d,", arg").concat(c,");\n"),f.push("argType".concat(c));u+=(t||n?"var rv = ":"")+"invoker(".concat(l,");\n");var p=t?"rv":"";if(a)u+="runDestructors(destructors);\n";else for(var c=r?1:2;c<e.length;++c){var m=c===1?"thisWired":"arg"+(c-2)+"Wired";e[c].destructorFunction!==null&&(u+="".concat(m,"_dtor(").concat(m,");\n"),f.push("".concat(m,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),u+="}\n",[f,u]}var extendError=(e,r)=>{var t=createNamedFunction(r,function(n){this.name=r,this.message=n;var a=new Error(n).stack;a!==void 0&&(this.stack=this.toString()+"\n"+a.replace(/^Error(:[^\n]*)?\n/,""))});return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.message===void 0?this.name:"".concat(this.name,": ").concat(this.message)},t},UnboundTypeError,PureVirtualError,EmValOptionalType=Object.assign({optional:!0},EmValType),throwUnboundTypeError=(e,r)=>{var t=[],n={};function a(o){if(!n[o]&&!registeredTypes[o]){if(typeDependencies[o]){typeDependencies[o].forEach(a);return}t.push(o),n[o]=!0}}throw r.forEach(a),new UnboundTypeError("".concat(e,": ")+t.map(getTypeName).join([", "]))},ensureOverloadTable=(e,r,t)=>{if(e[r].overloadTable===void 0){var n=e[r];e[r]=function(...a){return e[r].overloadTable.hasOwnProperty(a.length)||throwBindingError("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},exposePublicSymbol=(e,r,t)=>{Module.hasOwnProperty(e)?((t===void 0||Module[e].overloadTable!==void 0&&Module[e].overloadTable[t]!==void 0)&&throwBindingError("Cannot register public name '".concat(e,"' twice")),ensureOverloadTable(Module,e,e),Module[e].overloadTable.hasOwnProperty(t)&&throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),Module[e].overloadTable[t]=r):(Module[e]=r,Module[e].argCount=t)},replacePublicSymbol=(e,r,t)=>{Module.hasOwnProperty(e)||throwInternalError("Replacing nonexistent public symbol"),Module[e].overloadTable!==void 0&&t!==void 0?Module[e].overloadTable[t]=r:(Module[e]=r,Module[e].argCount=t)},registeredInstances={},getBasestPointer=(e,r)=>{for(r===void 0&&throwBindingError("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},registerInheritedInstance=(e,r,t)=>{r=getBasestPointer(e,r),registeredInstances.hasOwnProperty(r)?throwBindingError("Tried to register registered instance: ".concat(r)):registeredInstances[r]=t},unregisterInheritedInstance=(e,r)=>{r=getBasestPointer(e,r),registeredInstances.hasOwnProperty(r)?delete registeredInstances[r]:throwBindingError("Tried to unregister unregistered instance: ".concat(r))},getInheritedInstance=(e,r)=>(r=getBasestPointer(e,r),registeredInstances[r]),getInheritedInstanceCount=()=>Object.keys(registeredInstances).length,getLiveInheritedInstances=()=>{var e=[];for(var r in registeredInstances)registeredInstances.hasOwnProperty(r)&&e.push(registeredInstances[r]);return e},registeredPointers={},enumReadValueFromPointer=(e,r,t)=>{switch(r){case 1:return t?function(n){return this.fromWireType(HEAP8[n>>>0])}:function(n){return this.fromWireType(HEAPU8[n>>>0])};case 2:return t?function(n){return this.fromWireType(HEAP16[n>>>1>>>0])}:function(n){return this.fromWireType(HEAPU16[n>>>1>>>0])};case 4:return t?function(n){return this.fromWireType(HEAP32[n>>>2>>>0])}:function(n){return this.fromWireType(HEAPU32[n>>>2>>>0])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}};function __embind_register_user_type(e,r){e>>>=0,r>>>=0,__embind_register_emval(e)}__embind_register_user_type.sig="vpp";function __embind_register_optional(e,r){e>>>=0,r>>>=0,registerType(e,EmValOptionalType)}__embind_register_optional.sig="vpp";function craftInvokerFunction(e,r,t,n,a,o){var _=r.length;_<2&&throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var l=r[1]!==null&&t!==null,c=usesDestructorStack(r),u=r[0].name!=="void",d=_-2,f=[e,throwBindingError,n,a,runDestructors,r[0],r[1]],p=0;p<_-2;++p)f.push(r[p+2]);if(!c)for(var p=l?1:2;p<r.length;++p)r[p].destructorFunction!==null&&f.push(r[p].destructorFunction);let[m,v]=createJsInvoker(r,l,u,o);m.push(v);var g=newFunc(Function,m)(...f);return createNamedFunction(e,g)}var embind__requireFunction=(e,r)=>{e=readLatin1String(e);function t(){return e.includes("j")||e.includes("p")?getDynCaller(e,r):getWasmTableEntry(r)}var n=t();return typeof n!="function"&&throwBindingError("unknown function pointer with signature ".concat(e,": ").concat(r)),n};function __embind_register_function(e,r,t,n,a,o,_,l){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0;var c=heap32VectorToArray(r,t);e=readLatin1String(e),e=getFunctionName(e),a=embind__requireFunction(n,a),exposePublicSymbol(e,function(){throwUnboundTypeError("Cannot call ".concat(e," due to unbound types"),c)},r-1),whenDependentTypesAreResolved([],c,u=>{var d=[u[0],null].concat(u.slice(1));return replacePublicSymbol(e,craftInvokerFunction(e,d,null,a,o,_),r-1),[]})}__embind_register_function.sig="vpippppii";function __embind_register_value_array(e,r,t,n,a,o){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,tupleRegistrations[e]={name:readLatin1String(r),rawConstructor:embind__requireFunction(t,n),rawDestructor:embind__requireFunction(a,o),elements:[]}}__embind_register_value_array.sig="vpppppp";function __embind_register_value_array_element(e,r,t,n,a,o,_,l,c){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,tupleRegistrations[e].elements.push({getterReturnType:r,getter:embind__requireFunction(t,n),getterContext:a,setterArgumentType:o,setter:embind__requireFunction(_,l),setterContext:c})}__embind_register_value_array_element.sig="vppppppppp";var __embind_finalize_value_array=function(e){e>>>=0;var r=tupleRegistrations[e];delete tupleRegistrations[e];var t=r.elements,n=t.length,a=t.map(l=>l.getterReturnType).concat(t.map(l=>l.setterArgumentType)),o=r.rawConstructor,_=r.rawDestructor;whenDependentTypesAreResolved([e],a,l=>(t.forEach((c,u)=>{var d=l[u],f=c.getter,p=c.getterContext,m=l[u+n],v=c.setter,g=c.setterContext;c.read=S=>d.fromWireType(f(p,S)),c.write=(S,h)=>{var b=[];v(g,S,m.toWireType(b,h)),runDestructors(b)}}),[{name:r.name,fromWireType:c=>{for(var u=new Array(n),d=0;d<n;++d)u[d]=t[d].read(c);return _(c),u},toWireType:(c,u)=>{if(n!==u.length)throw new TypeError("Incorrect number of tuple elements for ".concat(r.name,": expected=").concat(n,", actual=").concat(u.length));for(var d=o(),f=0;f<n;++f)t[f].write(d,u[f]);return c!==null&&c.push(_,d),d},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:_}]))};__embind_finalize_value_array.sig="vp";function __embind_register_value_object(e,r,t,n,a,o){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,structRegistrations[e]={name:readLatin1String(r),rawConstructor:embind__requireFunction(t,n),rawDestructor:embind__requireFunction(a,o),fields:[]}}__embind_register_value_object.sig="vpppppp";function __embind_register_value_object_field(e,r,t,n,a,o,_,l,c,u){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,structRegistrations[e].fields.push({fieldName:readLatin1String(r),getterReturnType:t,getter:embind__requireFunction(n,a),getterContext:o,setterArgumentType:_,setter:embind__requireFunction(l,c),setterContext:u})}__embind_register_value_object_field.sig="vpppppppppp";var __embind_finalize_value_object=function(e){e>>>=0;var r=structRegistrations[e];delete structRegistrations[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map(_=>_.getterReturnType).concat(a.map(_=>_.setterArgumentType));whenDependentTypesAreResolved([e],o,_=>{var l={};return a.forEach((c,u)=>{var d=c.fieldName,f=_[u],p=c.getter,m=c.getterContext,v=_[u+a.length],g=c.setter,S=c.setterContext;l[d]={read:h=>f.fromWireType(p(m,h)),write:(h,b)=>{var A=[];g(S,h,v.toWireType(A,b)),runDestructors(A)}}}),[{name:r.name,fromWireType:c=>{var u={};for(var d in l)u[d]=l[d].read(c);return n(c),u},toWireType:(c,u)=>{for(var d in l)if(!(d in u))throw new TypeError('Missing field: "'.concat(d,'"'));var f=t();for(d in l)l[d].write(f,u[d]);return c!==null&&c.push(n,f),f},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:n}]})};__embind_finalize_value_object.sig="vp";var upcastPointer=(e,r,t)=>{for(;r!==t;)r.upcast||throwBindingError("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function genericPointerToWireType(e,r){var t;if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,t),t):0;(!r||!r.$$)&&throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=upcastPointer(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&throwBindingError("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:throwBindingError("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,Emval.toHandle(()=>a.delete())),e!==null&&e.push(this.rawDestructor,t)}break;default:throwBindingError("Unsupporting sharing policy")}return t}function constNoSmartPtrRawPointerToWireType(e,r){if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),0;r.$$||throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass,n=upcastPointer(r.$$.ptr,t,this.registeredClass);return n}function nonConstNoSmartPtrRawPointerToWireType(e,r){if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),0;r.$$||throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass,n=upcastPointer(r.$$.ptr,t,this.registeredClass);return n}function RegisteredPointer(e,r,t,n,a,o,_,l,c,u,d){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=_,this.rawGetPointee=l,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=d,!a&&r.baseClass===void 0?n?(this.toWireType=constNoSmartPtrRawPointerToWireType,this.destructorFunction=null):(this.toWireType=nonConstNoSmartPtrRawPointerToWireType,this.destructorFunction=null):this.toWireType=genericPointerToWireType}var downcastPointer=(e,r,t)=>{if(r===t)return e;if(t.baseClass===void 0)return null;var n=downcastPointer(e,r,t.baseClass);return n===null?null:t.downcast(n)},finalizationRegistry=!1,detachFinalizer=e=>{},runDestructor=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},releaseClassHandle=e=>{e.count.value-=1;var r=e.count.value===0;r&&runDestructor(e)},attachFinalizer=e=>typeof FinalizationRegistry>"u"?(attachFinalizer=r=>r,e):(finalizationRegistry=new FinalizationRegistry(r=>{releaseClassHandle(r.$$)}),attachFinalizer=r=>{var t=r.$$,n=!!t.smartPtr;if(n){var a={$$:t};finalizationRegistry.register(r,a,r)}return r},detachFinalizer=r=>finalizationRegistry.unregister(r),attachFinalizer(e)),makeClassHandle=(e,r)=>{(!r.ptrType||!r.ptr)&&throwInternalError("makeClassHandle requires ptr and ptrType");var t=!!r.smartPtrType,n=!!r.smartPtr;return t!==n&&throwInternalError("Both smartPtrType and smartPtr must be specified"),r.count={value:1},attachFinalizer(Object.create(e,{$$:{value:r,writable:!0}}))};function RegisteredPointer_fromWireType(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=getInheritedInstance(this.registeredClass,r);if(t!==void 0){if(t.$$.count.value===0)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o=this.registeredClass.getActualType(r),_=registeredPointers[o];if(!_)return a.call(this);var l;this.isConst?l=_.constPointerType:l=_.pointerType;var c=downcastPointer(r,this.registeredClass,l.registeredClass);return c===null?a.call(this):this.isSmartPointer?makeClassHandle(l.registeredClass.instancePrototype,{ptrType:l,ptr:c,smartPtrType:this,smartPtr:e}):makeClassHandle(l.registeredClass.instancePrototype,{ptrType:l,ptr:c})}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})},detachFinalizer_deps=["$finalizationRegistry"];function ClassHandle(){}var shallowCopyInternalPointer=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),throwInstanceAlreadyDeleted=e=>{function r(t){return t.$$.ptrType.registeredClass.name}throwBindingError(r(e)+" instance already deleted")},deletionQueue=[],flushPendingDeletes=()=>{for(;deletionQueue.length;){var e=deletionQueue.pop();e.$$.deleteScheduled=!1,e.delete()}},delayFunction,init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(e){if(!(this instanceof ClassHandle)||!(e instanceof ClassHandle))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),detachFinalizer(this),releaseClassHandle(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),deletionQueue.push(this),deletionQueue.length===1&&delayFunction&&delayFunction(flushPendingDeletes),this.$$.deleteScheduled=!0,this}})},setDelayFunction=e=>{delayFunction=e,deletionQueue.length&&delayFunction&&delayFunction(flushPendingDeletes)};function RegisteredClass(e,r,t,n,a,o,_,l){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=_,this.downcast=l,this.pureVirtualFunctions=[]}var char_0=48,char_9=57,makeLegalFunctionName=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=char_0&&r<=char_9?"_".concat(e):e};function __embind_register_class(e,r,t,n,a,o,_,l,c,u,d,f,p){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,d>>>=0,f>>>=0,p>>>=0,d=readLatin1String(d),o=embind__requireFunction(a,o),l&&(l=embind__requireFunction(_,l)),u&&(u=embind__requireFunction(c,u)),p=embind__requireFunction(f,p);var m=makeLegalFunctionName(d);exposePublicSymbol(m,function(){throwUnboundTypeError("Cannot construct ".concat(d," due to unbound types"),[n])}),whenDependentTypesAreResolved([e,r,t],n?[n]:[],v=>{var y,D;v=v[0];var g,S;n?(g=v.registeredClass,S=g.instancePrototype):S=ClassHandle.prototype;var h=createNamedFunction(d,function(...P){if(Object.getPrototypeOf(this)!==b)throw new BindingError("Use 'new' to construct "+d);if(A.constructor_body===void 0)throw new BindingError(d+" has no accessible constructor");var k=A.constructor_body[P.length];if(k===void 0)throw new BindingError("Tried to invoke ctor of ".concat(d," with invalid number of parameters (").concat(P.length,") - expected (").concat(Object.keys(A.constructor_body).toString(),") parameters instead!"));return k.apply(this,P)}),b=Object.create(S,{constructor:{value:h}});h.prototype=b;var A=new RegisteredClass(d,h,b,p,g,o,l,u);A.baseClass&&((D=(y=A.baseClass).__derivedClasses)!=null||(y.__derivedClasses=[]),A.baseClass.__derivedClasses.push(A));var w=new RegisteredPointer(d,A,!0,!1,!1),L=new RegisteredPointer(d+"*",A,!1,!1,!1),F=new RegisteredPointer(d+" const*",A,!1,!0,!1);return registeredPointers[e]={pointerType:L,constPointerType:F},replacePublicSymbol(m,h),[w,L,F]})}__embind_register_class.sig="vppppppppppppp";var __embind_register_class_constructor=function(e,r,t,n,a,o){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0;var _=heap32VectorToArray(r,t);a=embind__requireFunction(n,a);var l=[o],c=[];whenDependentTypesAreResolved([],[e],u=>{u=u[0];var d="constructor ".concat(u.name);if(u.registeredClass.constructor_body===void 0&&(u.registeredClass.constructor_body=[]),u.registeredClass.constructor_body[r-1]!==void 0)throw new BindingError("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(u.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return u.registeredClass.constructor_body[r-1]=()=>{throwUnboundTypeError("Cannot construct ".concat(u.name," due to unbound types"),_)},whenDependentTypesAreResolved([],_,f=>(f.splice(1,0,null),u.registeredClass.constructor_body[r-1]=craftInvokerFunction(d,f,null,a,o),[])),[]})};__embind_register_class_constructor.sig="vpipppp";var validateThis=(e,r,t)=>(e instanceof Object||throwBindingError("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||throwBindingError("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||throwBindingError("cannot call emscripten binding method ".concat(t," on deleted object")),upcastPointer(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),__embind_register_class_function=function(e,r,t,n,a,o,_,l,c,u){e>>>=0,r>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0;var d=heap32VectorToArray(t,n);r=readLatin1String(r),r=getFunctionName(r),o=embind__requireFunction(a,o),whenDependentTypesAreResolved([],[e],f=>{f=f[0];var p="".concat(f.name,".").concat(r);r.startsWith("@@")&&(r=Symbol[r.substring(2)]),l&&f.registeredClass.pureVirtualFunctions.push(r);function m(){throwUnboundTypeError("Cannot call ".concat(p," due to unbound types"),d)}var v=f.registeredClass.instancePrototype,g=v[r];return g===void 0||g.overloadTable===void 0&&g.className!==f.name&&g.argCount===t-2?(m.argCount=t-2,m.className=f.name,v[r]=m):(ensureOverloadTable(v,r,p),v[r].overloadTable[t-2]=m),whenDependentTypesAreResolved([],d,S=>{var h=craftInvokerFunction(p,S,f,o,_,c);return v[r].overloadTable===void 0?(h.argCount=t-2,v[r]=h):v[r].overloadTable[t-2]=h,[]}),[]})};__embind_register_class_function.sig="vppippppiii";var __embind_register_class_property=function(e,r,t,n,a,o,_,l,c,u){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,r=readLatin1String(r),a=embind__requireFunction(n,a),whenDependentTypesAreResolved([],[e],d=>{d=d[0];var f="".concat(d.name,".").concat(r),p={get(){throwUnboundTypeError("Cannot access ".concat(f," due to unbound types"),[t,_])},enumerable:!0,configurable:!0};return c?p.set=()=>throwUnboundTypeError("Cannot access ".concat(f," due to unbound types"),[t,_]):p.set=m=>throwBindingError(f+" is a read-only property"),Object.defineProperty(d.registeredClass.instancePrototype,r,p),whenDependentTypesAreResolved([],c?[t,_]:[t],m=>{var v=m[0],g={get(){var h=validateThis(this,d,f+" getter");return v.fromWireType(a(o,h))},enumerable:!0};if(c){c=embind__requireFunction(l,c);var S=m[1];g.set=function(h){var b=validateThis(this,d,f+" setter"),A=[];c(u,b,S.toWireType(A,h)),runDestructors(A)}}return Object.defineProperty(d.registeredClass.instancePrototype,r,g),[]}),[]})};__embind_register_class_property.sig="vpppppppppp";var __embind_register_class_class_function=function(e,r,t,n,a,o,_,l,c){e>>>=0,r>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0;var u=heap32VectorToArray(t,n);r=readLatin1String(r),r=getFunctionName(r),o=embind__requireFunction(a,o),whenDependentTypesAreResolved([],[e],d=>{d=d[0];var f="".concat(d.name,".").concat(r);function p(){throwUnboundTypeError("Cannot call ".concat(f," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var m=d.registeredClass.constructor;return m[r]===void 0?(p.argCount=t-1,m[r]=p):(ensureOverloadTable(m,r,f),m[r].overloadTable[t-1]=p),whenDependentTypesAreResolved([],u,v=>{var g=[v[0],null].concat(v.slice(1)),S=craftInvokerFunction(f,g,null,o,_,l);if(m[r].overloadTable===void 0?(S.argCount=t-1,m[r]=S):m[r].overloadTable[t-1]=S,d.registeredClass.__derivedClasses)for(let h of d.registeredClass.__derivedClasses)h.constructor.hasOwnProperty(r)||(h.constructor[r]=S);return[]}),[]})};__embind_register_class_class_function.sig="vppippppii";var __embind_register_class_class_property=function(e,r,t,n,a,o,_,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,r=readLatin1String(r),o=embind__requireFunction(a,o),whenDependentTypesAreResolved([],[e],c=>{c=c[0];var u="".concat(c.name,".").concat(r),d={get(){throwUnboundTypeError("Cannot access ".concat(u," due to unbound types"),[t])},enumerable:!0,configurable:!0};return l?d.set=()=>{throwUnboundTypeError("Cannot access ".concat(u," due to unbound types"),[t])}:d.set=f=>{throwBindingError("".concat(u," is a read-only property"))},Object.defineProperty(c.registeredClass.constructor,r,d),whenDependentTypesAreResolved([],[t],f=>{f=f[0];var p={get(){return f.fromWireType(o(n))},enumerable:!0};return l&&(l=embind__requireFunction(_,l),p.set=m=>{var v=[];l(n,f.toWireType(v,m)),runDestructors(v)}),Object.defineProperty(c.registeredClass.constructor,r,p),[]}),[]})};__embind_register_class_class_property.sig="vpppppppp";function __embind_create_inheriting_constructor(e,r,t){e>>>=0,r>>>=0,t>>>=0,e=readLatin1String(e),r=requireRegisteredType(r,"wrapper"),t=Emval.toValue(t);var n=r.registeredClass,a=n.instancePrototype,o=n.baseClass,_=o.instancePrototype,l=n.baseClass.constructor,c=createNamedFunction(e,function(...u){n.baseClass.pureVirtualFunctions.forEach((function(d){if(this[d]===_[d])throw new PureVirtualError("Pure virtual function ".concat(d," must be implemented in JavaScript"))}).bind(this)),Object.defineProperty(this,"__parent",{value:a}),this.__construct(...u)});return a.__construct=function(...d){this===a&&throwBindingError("Pass correct 'this' to __construct");var f=l.implement(this,...d);detachFinalizer(f);var p=f.$$;f.notifyOnDestruction(),p.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:p}}),attachFinalizer(this),registerInheritedInstance(n,p.ptr,this)},a.__destruct=function(){this===a&&throwBindingError("Pass correct 'this' to __destruct"),detachFinalizer(this),unregisterInheritedInstance(n,this.$$.ptr)},c.prototype=Object.create(a),Object.assign(c.prototype,t),Emval.toHandle(c)}__embind_create_inheriting_constructor.sig="pppp";var __embind_register_smart_ptr=function(e,r,t,n,a,o,_,l,c,u,d,f){e>>>=0,r>>>=0,t>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,d>>>=0,f>>>=0,t=readLatin1String(t),o=embind__requireFunction(a,o),l=embind__requireFunction(_,l),u=embind__requireFunction(c,u),f=embind__requireFunction(d,f),whenDependentTypesAreResolved([e],[r],p=>{p=p[0];var m=new RegisteredPointer(t,p.registeredClass,!1,!1,!0,p,n,o,l,u,f);return[m]})};__embind_register_smart_ptr.sig="vpppipppppppp";function __embind_register_enum(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r);function a(){}a.values={},registerType(e,{name:r,constructor:a,fromWireType:function(o){return this.constructor.values[o]},toWireType:(o,_)=>_.value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:enumReadValueFromPointer(r,t,n),destructorFunction:null}),exposePublicSymbol(r,a)}__embind_register_enum.sig="vpppi";function __embind_register_enum_value(e,r,t){e>>>=0,r>>>=0;var n=requireRegisteredType(e,"enum");r=readLatin1String(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:createNamedFunction("".concat(n.name,"_").concat(r),function(){})}});a.values[t]=o,a[r]=o}__embind_register_enum_value.sig="vppi";var __embind_register_constant=function(e,r,t){e>>>=0,r>>>=0,e=readLatin1String(e),whenDependentTypesAreResolved([],[r],n=>(n=n[0],Module[e]=n.fromWireType(t),[]))};__embind_register_constant.sig="vppd";function __emval_register_symbol(e){e>>>=0,emval_symbols[e]=readLatin1String(e)}__emval_register_symbol.sig="vp";function __emval_incref(e){e>>>=0,e>9&&(emval_handles[e+1]+=1)}__emval_incref.sig="vp";function __emval_new_array(){return Emval.toHandle([])}__emval_new_array.sig="p";function __emval_new_array_from_memory_view(e){e>>>=0,e=Emval.toValue(e);for(var r=new Array(e.length),t=0;t<e.length;t++)r[t]=e[t];return Emval.toHandle(r)}__emval_new_array_from_memory_view.sig="pp";function __emval_new_object(){return Emval.toHandle({})}__emval_new_object.sig="p";function __emval_new_cstring(e){return e>>>=0,Emval.toHandle(getStringOrSymbol(e))}__emval_new_cstring.sig="pp";function __emval_new_u8string(e){return e>>>=0,Emval.toHandle(UTF8ToString(e))}__emval_new_u8string.sig="pp";function __emval_new_u16string(e){return e>>>=0,Emval.toHandle(UTF16ToString(e))}__emval_new_u16string.sig="pp";function __emval_take_value(e,r){e>>>=0,r>>>=0,e=requireRegisteredType(e,"_emval_take_value");var t=e.readValueFromPointer(r);return Emval.toHandle(t)}__emval_take_value.sig="ppp";function __emval_get_module_property(e){return e>>>=0,e=getStringOrSymbol(e),Emval.toHandle(Module[e])}__emval_get_module_property.sig="pp";function __emval_get_property(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),Emval.toHandle(e[r])}__emval_get_property.sig="ppp";function __emval_set_property(e,r,t){e>>>=0,r>>>=0,t>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),t=Emval.toValue(t),e[r]=t}__emval_set_property.sig="vppp";function __emval_as(e,r,t){return e>>>=0,r>>>=0,t>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),emval_returnValue(r,t,e)}__emval_as.sig="dppp";function __emval_as_int64(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),r.toWireType(null,e)}__emval_as_int64.sig="ipp";function __emval_as_uint64(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),r.toWireType(null,e)}__emval_as_uint64.sig="ipp";function __emval_equals(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e==r}__emval_equals.sig="ipp";function __emval_strictly_equals(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e===r}__emval_strictly_equals.sig="ipp";function __emval_greater_than(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e>r}__emval_greater_than.sig="ipp";function __emval_less_than(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e<r}__emval_less_than.sig="ipp";function __emval_not(e){return e>>>=0,e=Emval.toValue(e),!e}__emval_not.sig="ip";function __emval_call(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,e=emval_methodCallers[e],r=Emval.toValue(r),e(null,r,t,n)}__emval_call.sig="dpppp";function __emval_typeof(e){return e>>>=0,e=Emval.toValue(e),Emval.toHandle(typeof e)}__emval_typeof.sig="pp";function __emval_instanceof(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e instanceof r}__emval_instanceof.sig="ipp";function __emval_is_number(e){return e>>>=0,e=Emval.toValue(e),typeof e=="number"}__emval_is_number.sig="ip";function __emval_is_string(e){return e>>>=0,e=Emval.toValue(e),typeof e=="string"}__emval_is_string.sig="ip";function __emval_in(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e in r}__emval_in.sig="ipp";function __emval_delete(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),delete e[r]}__emval_delete.sig="ipp";function __emval_throw(e){throw e>>>=0,e=Emval.toValue(e),e}__emval_throw.sig="ip";function __emval_iter_begin(e){return e>>>=0,e=Emval.toValue(e),Emval.toHandle(e[Symbol.iterator]())}__emval_iter_begin.sig="pp";function __emval_iter_next(e){e>>>=0,e=Emval.toValue(e);var r=e.next();return r.done?0:Emval.toHandle(r.value)}__emval_iter_next.sig="pp";var __emval_coro_suspend=function(e,r){e>>>=0,r>>>=0,Emval.toValue(e).then(t=>{__emval_coro_resume(r,Emval.toHandle(t))})};__emval_coro_suspend.sig="vpp";var __emval_coro_make_promise=function(e,r){return e>>>=0,r>>>=0,Emval.toHandle(new Promise((t,n)=>{let a=()=>{try{___cxa_rethrow()}catch(o){n(o)}};HEAPU32[e>>>2>>>0]=Emval.toHandle(t),HEAPU32[r>>>2>>>0]=Emval.toHandle(a)}))};__emval_coro_make_promise.sig="ppp";function _duckdb_web_fs_file_sync(e){return globalThis.DUCKDB_RUNTIME.syncFile(Module,e)}_duckdb_web_fs_file_sync.sig="vi";function _duckdb_web_fs_file_get_last_modified_time(e){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,e)}_duckdb_web_fs_file_get_last_modified_time.sig="di";function _duckdb_web_fs_file_remove(e,r){return globalThis.DUCKDB_RUNTIME.removeFile(Module,e,r)}registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),embind_init_charCodes(),BindingError=Module.BindingError=class extends Error{constructor(r){super(r),this.name="BindingError"}},InternalError=Module.InternalError=class extends Error{constructor(r){super(r),this.name="InternalError"}},init_emval(),Module.requestAnimationFrame=MainLoop.requestAnimationFrame,Module.pauseMainLoop=MainLoop.pause,Module.resumeMainLoop=MainLoop.resume,MainLoop.init();for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));for(var miniTempWebGLFloatBuffersStorage=new Float32Array(288),i=0;i<=288;++i)miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i);for(var miniTempWebGLIntBuffersStorage=new Int32Array(288),i=0;i<=288;++i)miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i);var emSetImmediate,emClearImmediate;if(typeof setImmediate<"u")emSetImmediate=setImmediateWrapped,emClearImmediate=clearImmediateWrapped;else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0,__setImmediate_queue=[],__setImmediate_message_id="_si",__setImmediate_cb=e=>{e.data===__setImmediate_message_id&&(e.stopPropagation(),__setImmediate_queue.shift()(),++__setImmediate_id_counter)};addEventListener("message",__setImmediate_cb,!0),emSetImmediate=e=>(postMessage(__setImmediate_message_id,"*"),__setImmediate_id_counter+__setImmediate_queue.push(e)-1),emClearImmediate=e=>{var r=e-__setImmediate_id_counter;r>=0&&r<__setImmediate_queue.length&&(__setImmediate_queue[r]=()=>{})}}Module.requestFullscreen=Browser.requestFullscreen,Module.setCanvasSize=Browser.setCanvasSize,Module.getUserMedia=Browser.getUserMedia,Module.createContext=Browser.createContext;var preloadedImages={},preloadedAudios={};registerPostMainLoop(()=>{var e,r;return(r=(e=SDL.audio)==null?void 0:e.queueNewAudioData)==null?void 0:r.call(e)}),UnboundTypeError=Module.UnboundTypeError=extendError(Error,"UnboundTypeError"),PureVirtualError=Module.PureVirtualError=extendError(Error,"PureVirtualError"),init_RegisteredPointer(),init_ClassHandle();var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_DeleteException:__Unwind_DeleteException,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,_Unwind_RaiseException:__Unwind_RaiseException,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__cxa_begin_catch:___cxa_begin_catch,__cxa_call_unexpected:___cxa_call_unexpected,__cxa_current_primary_exception:___cxa_current_primary_exception,__cxa_end_catch:___cxa_end_catch,__cxa_find_matching_catch_2:___cxa_find_matching_catch_2,__cxa_find_matching_catch_3:___cxa_find_matching_catch_3,__cxa_find_matching_catch_4:___cxa_find_matching_catch_4,__cxa_find_matching_catch_5:___cxa_find_matching_catch_5,__cxa_rethrow:___cxa_rethrow,__cxa_rethrow_primary_exception:___cxa_rethrow_primary_exception,__cxa_throw:___cxa_throw,__cxa_uncaught_exceptions:___cxa_uncaught_exceptions,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__resumeException:___resumeException,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_embind_create_inheriting_constructor:__embind_create_inheriting_constructor,_embind_finalize_value_array:__embind_finalize_value_array,_embind_finalize_value_object:__embind_finalize_value_object,_embind_register_bigint:__embind_register_bigint,_embind_register_bool:__embind_register_bool,_embind_register_class:__embind_register_class,_embind_register_class_class_function:__embind_register_class_class_function,_embind_register_class_class_property:__embind_register_class_class_property,_embind_register_class_constructor:__embind_register_class_constructor,_embind_register_class_function:__embind_register_class_function,_embind_register_class_property:__embind_register_class_property,_embind_register_constant:__embind_register_constant,_embind_register_emval:__embind_register_emval,_embind_register_enum:__embind_register_enum,_embind_register_enum_value:__embind_register_enum_value,_embind_register_float:__embind_register_float,_embind_register_function:__embind_register_function,_embind_register_integer:__embind_register_integer,_embind_register_memory_view:__embind_register_memory_view,_embind_register_optional:__embind_register_optional,_embind_register_smart_ptr:__embind_register_smart_ptr,_embind_register_std_string:__embind_register_std_string,_embind_register_std_wstring:__embind_register_std_wstring,_embind_register_user_type:__embind_register_user_type,_embind_register_value_array:__embind_register_value_array,_embind_register_value_array_element:__embind_register_value_array_element,_embind_register_value_object:__embind_register_value_object,_embind_register_value_object_field:__embind_register_value_object_field,_embind_register_void:__embind_register_void,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_memcpy_js:__emscripten_memcpy_js,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_set_offscreencanvas_size:__emscripten_set_offscreencanvas_size,_emscripten_system:__emscripten_system,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_emval_as:__emval_as,_emval_as_int64:__emval_as_int64,_emval_as_uint64:__emval_as_uint64,_emval_call:__emval_call,_emval_call_method:__emval_call_method,_emval_coro_make_promise:__emval_coro_make_promise,_emval_coro_suspend:__emval_coro_suspend,_emval_decref:__emval_decref,_emval_delete:__emval_delete,_emval_equals:__emval_equals,_emval_get_global:__emval_get_global,_emval_get_method_caller:__emval_get_method_caller,_emval_get_module_property:__emval_get_module_property,_emval_get_property:__emval_get_property,_emval_greater_than:__emval_greater_than,_emval_in:__emval_in,_emval_incref:__emval_incref,_emval_instanceof:__emval_instanceof,_emval_is_number:__emval_is_number,_emval_is_string:__emval_is_string,_emval_iter_begin:__emval_iter_begin,_emval_iter_next:__emval_iter_next,_emval_less_than:__emval_less_than,_emval_new_array:__emval_new_array,_emval_new_array_from_memory_view:__emval_new_array_from_memory_view,_emval_new_cstring:__emval_new_cstring,_emval_new_object:__emval_new_object,_emval_new_u16string:__emval_new_u16string,_emval_new_u8string:__emval_new_u8string,_emval_not:__emval_not,_emval_register_symbol:__emval_register_symbol,_emval_run_destructors:__emval_run_destructors,_emval_set_property:__emval_set_property,_emval_strictly_equals:__emval_strictly_equals,_emval_take_value:__emval_take_value,_emval_throw:__emval_throw,_emval_typeof:__emval_typeof,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,duckdb_web_fs_directory_create:_duckdb_web_fs_directory_create,duckdb_web_fs_directory_exists:_duckdb_web_fs_directory_exists,duckdb_web_fs_directory_list_files:_duckdb_web_fs_directory_list_files,duckdb_web_fs_directory_remove:_duckdb_web_fs_directory_remove,duckdb_web_fs_file_close:_duckdb_web_fs_file_close,duckdb_web_fs_file_drop_file:_duckdb_web_fs_file_drop_file,duckdb_web_fs_file_exists:_duckdb_web_fs_file_exists,duckdb_web_fs_file_get_last_modified_time:_duckdb_web_fs_file_get_last_modified_time,duckdb_web_fs_file_move:_duckdb_web_fs_file_move,duckdb_web_fs_file_open:_duckdb_web_fs_file_open,duckdb_web_fs_file_read:_duckdb_web_fs_file_read,duckdb_web_fs_file_remove:_duckdb_web_fs_file_remove,duckdb_web_fs_file_sync:_duckdb_web_fs_file_sync,duckdb_web_fs_file_truncate:_duckdb_web_fs_file_truncate,duckdb_web_fs_file_write:_duckdb_web_fs_file_write,duckdb_web_fs_get_default_data_protocol:_duckdb_web_fs_get_default_data_protocol,duckdb_web_fs_glob:_duckdb_web_fs_glob,duckdb_web_test_platform_feature:_duckdb_web_test_platform_feature,duckdb_web_udf_scalar_call:_duckdb_web_udf_scalar_call,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_store:_emscripten_idb_store,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,invoke_dd,invoke_ddd,invoke_di,invoke_didd,invoke_dii,invoke_diii,invoke_diiii,invoke_diiiid,invoke_diiiiid,invoke_diij,invoke_diiji,invoke_dij,invoke_dijjj,invoke_dijjjj,invoke_dijjjjij,invoke_dj,invoke_djij,invoke_fi,invoke_fiii,invoke_fiiii,invoke_fiiji,invoke_fijjjj,invoke_fijjjjij,invoke_i,invoke_id,invoke_idd,invoke_idi,invoke_idii,invoke_idiii,invoke_idiiii,invoke_if,invoke_iff,invoke_ifi,invoke_ifii,invoke_ii,invoke_iid,invoke_iidi,invoke_iidii,invoke_iidiii,invoke_iidiiii,invoke_iidj,invoke_iif,invoke_iifii,invoke_iii,invoke_iiid,invoke_iiidi,invoke_iiidj,invoke_iiii,invoke_iiiid,invoke_iiiii,invoke_iiiiid,invoke_iiiiii,invoke_iiiiiid,invoke_iiiiiii,invoke_iiiiiiii,invoke_iiiiiiiii,invoke_iiiiiiiiii,invoke_iiiiiiiiiii,invoke_iiiiiiiiiiii,invoke_iiiiiiiiiiiii,invoke_iiiiiiiiiiiiii,invoke_iiiiiiiiiiiiiiiii,invoke_iiiiiiiiiiiiiiiiii,invoke_iiiiiiiiiiiji,invoke_iiiiiiiiiiijiii,invoke_iiiiiiiiiiji,invoke_iiiiiiiiij,invoke_iiiiiiiiiji,invoke_iiiiiiiiijii,invoke_iiiiiiiiijiiiiiiii,invoke_iiiiiiiij,invoke_iiiiiiiiji,invoke_iiiiiiiijii,invoke_iiiiiiiijj,invoke_iiiiiiij,invoke_iiiiiiiji,invoke_iiiiiiijji,invoke_iiiiiiijjjjjjii,invoke_iiiiiij,invoke_iiiiiiji,invoke_iiiiiijii,invoke_iiiiiijji,invoke_iiiiiijjiiiiiiiji,invoke_iiiiiijjiijjji,invoke_iiiiij,invoke_iiiiiji,invoke_iiiiijii,invoke_iiiiijiii,invoke_iiiiijiiii,invoke_iiiiijiiiii,invoke_iiiiijij,invoke_iiiiijj,invoke_iiiiijjii,invoke_iiiiijjij,invoke_iiiiijjj,invoke_iiiij,invoke_iiiiji,invoke_iiiijii,invoke_iiiijiii,invoke_iiiijiiiij,invoke_iiiijiiij,invoke_iiiijiijjiii,invoke_iiiijj,invoke_iiiijji,invoke_iiiijjii,invoke_iiiijjiii,invoke_iiiijjj,invoke_iiiijjjj,invoke_iiij,invoke_iiiji,invoke_iiijii,invoke_iiijiii,invoke_iiijiiii,invoke_iiijiiiii,invoke_iiijiiiijj,invoke_iiijiiij,invoke_iiijiiiji,invoke_iiijiiijj,invoke_iiijiij,invoke_iiijiijj,invoke_iiijij,invoke_iiijijj,invoke_iiijj,invoke_iiijji,invoke_iiijjii,invoke_iiijjiii,invoke_iiijjijj,invoke_iiijjijjiii,invoke_iiijjj,invoke_iiijjji,invoke_iiijjjijj,invoke_iiijjjj,invoke_iiijjjjj,invoke_iiijjjjjiiiii,invoke_iij,invoke_iiji,invoke_iijii,invoke_iijiii,invoke_iijiiii,invoke_iijiiiii,invoke_iijiiiiiij,invoke_iijiiijj,invoke_iijiijj,invoke_iijij,invoke_iijiji,invoke_iijj,invoke_iijji,invoke_iijjii,invoke_iijjiiii,invoke_iijjiiiii,invoke_iijjj,invoke_iijjji,invoke_iijjjii,invoke_iijjjj,invoke_ij,invoke_iji,invoke_ijii,invoke_ijij,invoke_ijji,invoke_ijjiii,invoke_ijjj,invoke_j,invoke_jd,invoke_jf,invoke_ji,invoke_jii,invoke_jiii,invoke_jiiii,invoke_jiiiii,invoke_jiiiiii,invoke_jiiiiiii,invoke_jiiiiiiii,invoke_jiiiiiji,invoke_jiiiiijiiii,invoke_jiiiij,invoke_jiiiiji,invoke_jiiiijii,invoke_jiiiijiii,invoke_jiiiijji,invoke_jiiij,invoke_jiiiji,invoke_jiiijii,invoke_jiiijiii,invoke_jiiijiijiii,invoke_jiiijij,invoke_jiiijj,invoke_jiiijjj,invoke_jiij,invoke_jiiji,invoke_jiijii,invoke_jiijiii,invoke_jiijiiii,invoke_jiijiiiii,invoke_jiijiij,invoke_jiijj,invoke_jiijjiii,invoke_jij,invoke_jiji,invoke_jijij,invoke_jijj,invoke_jijjij,invoke_jijjj,invoke_jijjjj,invoke_jj,invoke_jji,invoke_jjij,invoke_jjj,invoke_jjjii,invoke_jjjij,invoke_jjjji,invoke_jjjjjjd,invoke_v,invoke_vi,invoke_vid,invoke_viddddi,invoke_vidi,invoke_vidii,invoke_vif,invoke_vifi,invoke_vifii,invoke_vii,invoke_viid,invoke_viif,invoke_viii,invoke_viiid,invoke_viiidi,invoke_viiidii,invoke_viiifi,invoke_viiifii,invoke_viiii,invoke_viiiii,invoke_viiiiii,invoke_viiiiiii,invoke_viiiiiiii,invoke_viiiiiiiii,invoke_viiiiiiiiii,invoke_viiiiiiiiiii,invoke_viiiiiiiiiiii,invoke_viiiiiiiiiiiii,invoke_viiiiiiiiiiiiiii,invoke_viiiiiiiijjjji,invoke_viiiiiiij,invoke_viiiiiiijij,invoke_viiiiiij,invoke_viiiiiiji,invoke_viiiiiijii,invoke_viiiiiijij,invoke_viiiiiijj,invoke_viiiiij,invoke_viiiiiji,invoke_viiiiijii,invoke_viiiiijiiii,invoke_viiiiijiijii,invoke_viiiiijij,invoke_viiiiijj,invoke_viiiiijjii,invoke_viiiiijjji,invoke_viiiij,invoke_viiiiji,invoke_viiiijii,invoke_viiiijiii,invoke_viiiijiiii,invoke_viiiijiiiii,invoke_viiiijiiiiiiii,invoke_viiiijiijjii,invoke_viiiijij,invoke_viiiijijji,invoke_viiiijj,invoke_viiiijji,invoke_viiiijjii,invoke_viiiijjij,invoke_viiiijjjii,invoke_viiij,invoke_viiijd,invoke_viiiji,invoke_viiijii,invoke_viiijiii,invoke_viiijiiii,invoke_viiijiiiii,invoke_viiijiiiijjj,invoke_viiijiiijii,invoke_viiijiij,invoke_viiijiiji,invoke_viiijij,invoke_viiijiji,invoke_viiijijj,invoke_viiijijjj,invoke_viiijj,invoke_viiijji,invoke_viiijjii,invoke_viiijjiii,invoke_viiijjiiiii,invoke_viiijjij,invoke_viiijjijj,invoke_viiijjj,invoke_viiijjji,invoke_viiijjjiiiii,invoke_viiijjjijj,invoke_viiijjjj,invoke_viiijjjjii,invoke_viiijjjjiiiii,invoke_viiijjjjj,invoke_viiijjjjjiiiii,invoke_viij,invoke_viijd,invoke_viiji,invoke_viijii,invoke_viijiii,invoke_viijiiii,invoke_viijiiiii,invoke_viijiiiiii,invoke_viijiiiij,invoke_viijiiij,invoke_viijiiijj,invoke_viijiij,invoke_viijiijj,invoke_viijiijji,invoke_viijij,invoke_viijiji,invoke_viijijiiii,invoke_viijijiiiijjj,invoke_viijijij,invoke_viijijijij,invoke_viijijijiji,invoke_viijijj,invoke_viijj,invoke_viijji,invoke_viijjii,invoke_viijjiiij,invoke_viijjj,invoke_viijjji,invoke_viijjjji,invoke_viijjjjjiiiii,invoke_vij,invoke_viji,invoke_vijii,invoke_vijiii,invoke_vijiiii,invoke_vijiiiii,invoke_vijiiiiii,invoke_vijiiiiji,invoke_vijiiiji,invoke_vijiij,invoke_vijiiji,invoke_vijij,invoke_vijiji,invoke_vijijiiiijjj,invoke_vijijiij,invoke_vijijj,invoke_vijijjd,invoke_vijijjji,invoke_vijj,invoke_vijji,invoke_vijjiii,invoke_vijjij,invoke_vijjj,invoke_vijjji,invoke_vijjjiiji,invoke_vijjjj,invoke_vj,invoke_vji,invoke_vjii,invoke_vjiii,invoke_vjiiii,invoke_vjiiij,invoke_vjij,invoke_vjj,invoke_vjjii,invoke_vjjijij,lineColor:_lineColor,lineRGBA:_lineRGBA,llvm_eh_typeid_for:_llvm_eh_typeid_for,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,pthread_kill:_pthread_kill,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,zoomSurface:_zoomSurface},wasmExports=createWasm(),__emval_coro_resume=(e,r)=>(__emval_coro_resume=wasmExports._emval_coro_resume)(e,r),_main=Module._main=(e,r)=>(_main=Module._main=wasmExports.main)(e,r),_duckdb_web_fs_glob_add_path=Module._duckdb_web_fs_glob_add_path=e=>(_duckdb_web_fs_glob_add_path=Module._duckdb_web_fs_glob_add_path=wasmExports.duckdb_web_fs_glob_add_path)(e),_duckdb_web_clear_response=Module._duckdb_web_clear_response=()=>(_duckdb_web_clear_response=Module._duckdb_web_clear_response=wasmExports.duckdb_web_clear_response)(),_duckdb_web_fail_with=Module._duckdb_web_fail_with=e=>(_duckdb_web_fail_with=Module._duckdb_web_fail_with=wasmExports.duckdb_web_fail_with)(e),_duckdb_web_reset=Module._duckdb_web_reset=e=>(_duckdb_web_reset=Module._duckdb_web_reset=wasmExports.duckdb_web_reset)(e),_duckdb_web_connect=Module._duckdb_web_connect=()=>(_duckdb_web_connect=Module._duckdb_web_connect=wasmExports.duckdb_web_connect)(),_duckdb_web_disconnect=Module._duckdb_web_disconnect=e=>(_duckdb_web_disconnect=Module._duckdb_web_disconnect=wasmExports.duckdb_web_disconnect)(e),_duckdb_web_flush_files=Module._duckdb_web_flush_files=()=>(_duckdb_web_flush_files=Module._duckdb_web_flush_files=wasmExports.duckdb_web_flush_files)(),_duckdb_web_flush_file=Module._duckdb_web_flush_file=e=>(_duckdb_web_flush_file=Module._duckdb_web_flush_file=wasmExports.duckdb_web_flush_file)(e),_duckdb_web_open=Module._duckdb_web_open=(e,r)=>(_duckdb_web_open=Module._duckdb_web_open=wasmExports.duckdb_web_open)(e,r),_duckdb_web_get_global_file_info=Module._duckdb_web_get_global_file_info=(e,r)=>(_duckdb_web_get_global_file_info=Module._duckdb_web_get_global_file_info=wasmExports.duckdb_web_get_global_file_info)(e,r),_duckdb_web_collect_file_stats=Module._duckdb_web_collect_file_stats=(e,r,t)=>(_duckdb_web_collect_file_stats=Module._duckdb_web_collect_file_stats=wasmExports.duckdb_web_collect_file_stats)(e,r,t),_duckdb_web_export_file_stats=Module._duckdb_web_export_file_stats=(e,r)=>(_duckdb_web_export_file_stats=Module._duckdb_web_export_file_stats=wasmExports.duckdb_web_export_file_stats)(e,r),_duckdb_web_fs_drop_file=Module._duckdb_web_fs_drop_file=(e,r)=>(_duckdb_web_fs_drop_file=Module._duckdb_web_fs_drop_file=wasmExports.duckdb_web_fs_drop_file)(e,r),_duckdb_web_fs_drop_files=Module._duckdb_web_fs_drop_files=(e,r,t)=>(_duckdb_web_fs_drop_files=Module._duckdb_web_fs_drop_files=wasmExports.duckdb_web_fs_drop_files)(e,r,t),_duckdb_web_fs_glob_file_infos=Module._duckdb_web_fs_glob_file_infos=(e,r)=>(_duckdb_web_fs_glob_file_infos=Module._duckdb_web_fs_glob_file_infos=wasmExports.duckdb_web_fs_glob_file_infos)(e,r),_duckdb_web_fs_get_file_info_by_id=Module._duckdb_web_fs_get_file_info_by_id=(e,r,t)=>(_duckdb_web_fs_get_file_info_by_id=Module._duckdb_web_fs_get_file_info_by_id=wasmExports.duckdb_web_fs_get_file_info_by_id)(e,r,t),_duckdb_web_fs_get_file_info_by_name=Module._duckdb_web_fs_get_file_info_by_name=(e,r,t)=>(_duckdb_web_fs_get_file_info_by_name=Module._duckdb_web_fs_get_file_info_by_name=wasmExports.duckdb_web_fs_get_file_info_by_name)(e,r,t),_duckdb_web_fs_register_file_url=Module._duckdb_web_fs_register_file_url=(e,r,t,n,a)=>(_duckdb_web_fs_register_file_url=Module._duckdb_web_fs_register_file_url=wasmExports.duckdb_web_fs_register_file_url)(e,r,t,n,a),_duckdb_web_fs_register_file_buffer=Module._duckdb_web_fs_register_file_buffer=(e,r,t,n)=>(_duckdb_web_fs_register_file_buffer=Module._duckdb_web_fs_register_file_buffer=wasmExports.duckdb_web_fs_register_file_buffer)(e,r,t,n),_duckdb_web_copy_file_to_buffer=Module._duckdb_web_copy_file_to_buffer=(e,r)=>(_duckdb_web_copy_file_to_buffer=Module._duckdb_web_copy_file_to_buffer=wasmExports.duckdb_web_copy_file_to_buffer)(e,r),_duckdb_web_copy_file_to_path=Module._duckdb_web_copy_file_to_path=(e,r,t)=>(_duckdb_web_copy_file_to_path=Module._duckdb_web_copy_file_to_path=wasmExports.duckdb_web_copy_file_to_path)(e,r,t),_duckdb_web_get_version=Module._duckdb_web_get_version=e=>(_duckdb_web_get_version=Module._duckdb_web_get_version=wasmExports.duckdb_web_get_version)(e),_duckdb_web_get_feature_flags=Module._duckdb_web_get_feature_flags=()=>(_duckdb_web_get_feature_flags=Module._duckdb_web_get_feature_flags=wasmExports.duckdb_web_get_feature_flags)(),_duckdb_web_tokenize=Module._duckdb_web_tokenize=(e,r)=>(_duckdb_web_tokenize=Module._duckdb_web_tokenize=wasmExports.duckdb_web_tokenize)(e,r),_duckdb_web_tokenize_buffer=Module._duckdb_web_tokenize_buffer=(e,r,t)=>(_duckdb_web_tokenize_buffer=Module._duckdb_web_tokenize_buffer=wasmExports.duckdb_web_tokenize_buffer)(e,r,t),_duckdb_web_udf_scalar_create=Module._duckdb_web_udf_scalar_create=(e,r,t)=>(_duckdb_web_udf_scalar_create=Module._duckdb_web_udf_scalar_create=wasmExports.duckdb_web_udf_scalar_create)(e,r,t),_duckdb_web_prepared_create=Module._duckdb_web_prepared_create=(e,r,t)=>(_duckdb_web_prepared_create=Module._duckdb_web_prepared_create=wasmExports.duckdb_web_prepared_create)(e,r,t),_duckdb_web_prepared_create_buffer=Module._duckdb_web_prepared_create_buffer=(e,r,t,n)=>(_duckdb_web_prepared_create_buffer=Module._duckdb_web_prepared_create_buffer=wasmExports.duckdb_web_prepared_create_buffer)(e,r,t,n),_duckdb_web_prepared_close=Module._duckdb_web_prepared_close=(e,r,t)=>(_duckdb_web_prepared_close=Module._duckdb_web_prepared_close=wasmExports.duckdb_web_prepared_close)(e,r,t),_duckdb_web_prepared_run=Module._duckdb_web_prepared_run=(e,r,t,n)=>(_duckdb_web_prepared_run=Module._duckdb_web_prepared_run=wasmExports.duckdb_web_prepared_run)(e,r,t,n),_duckdb_web_prepared_send=Module._duckdb_web_prepared_send=(e,r,t,n)=>(_duckdb_web_prepared_send=Module._duckdb_web_prepared_send=wasmExports.duckdb_web_prepared_send)(e,r,t,n),_duckdb_web_query_run=Module._duckdb_web_query_run=(e,r,t)=>(_duckdb_web_query_run=Module._duckdb_web_query_run=wasmExports.duckdb_web_query_run)(e,r,t),_duckdb_web_query_run_buffer=Module._duckdb_web_query_run_buffer=(e,r,t,n)=>(_duckdb_web_query_run_buffer=Module._duckdb_web_query_run_buffer=wasmExports.duckdb_web_query_run_buffer)(e,r,t,n),_duckdb_web_pending_query_start=Module._duckdb_web_pending_query_start=(e,r,t,n)=>(_duckdb_web_pending_query_start=Module._duckdb_web_pending_query_start=wasmExports.duckdb_web_pending_query_start)(e,r,t,n),_duckdb_web_pending_query_start_buffer=Module._duckdb_web_pending_query_start_buffer=(e,r,t,n,a)=>(_duckdb_web_pending_query_start_buffer=Module._duckdb_web_pending_query_start_buffer=wasmExports.duckdb_web_pending_query_start_buffer)(e,r,t,n,a),_duckdb_web_pending_query_poll=Module._duckdb_web_pending_query_poll=(e,r,t)=>(_duckdb_web_pending_query_poll=Module._duckdb_web_pending_query_poll=wasmExports.duckdb_web_pending_query_poll)(e,r,t),_duckdb_web_pending_query_cancel=Module._duckdb_web_pending_query_cancel=(e,r)=>(_duckdb_web_pending_query_cancel=Module._duckdb_web_pending_query_cancel=wasmExports.duckdb_web_pending_query_cancel)(e,r),_duckdb_web_query_fetch_results=Module._duckdb_web_query_fetch_results=(e,r)=>(_duckdb_web_query_fetch_results=Module._duckdb_web_query_fetch_results=wasmExports.duckdb_web_query_fetch_results)(e,r),_duckdb_web_get_tablenames=Module._duckdb_web_get_tablenames=(e,r,t)=>(_duckdb_web_get_tablenames=Module._duckdb_web_get_tablenames=wasmExports.duckdb_web_get_tablenames)(e,r,t),_duckdb_web_get_tablenames_buffer=Module._duckdb_web_get_tablenames_buffer=(e,r,t,n)=>(_duckdb_web_get_tablenames_buffer=Module._duckdb_web_get_tablenames_buffer=wasmExports.duckdb_web_get_tablenames_buffer)(e,r,t,n),_duckdb_web_insert_arrow_from_ipc_stream=Module._duckdb_web_insert_arrow_from_ipc_stream=(e,r,t,n,a)=>(_duckdb_web_insert_arrow_from_ipc_stream=Module._duckdb_web_insert_arrow_from_ipc_stream=wasmExports.duckdb_web_insert_arrow_from_ipc_stream)(e,r,t,n,a),_duckdb_web_insert_csv_from_path=Module._duckdb_web_insert_csv_from_path=(e,r,t,n)=>(_duckdb_web_insert_csv_from_path=Module._duckdb_web_insert_csv_from_path=wasmExports.duckdb_web_insert_csv_from_path)(e,r,t,n),_duckdb_web_insert_json_from_path=Module._duckdb_web_insert_json_from_path=(e,r,t,n)=>(_duckdb_web_insert_json_from_path=Module._duckdb_web_insert_json_from_path=wasmExports.duckdb_web_insert_json_from_path)(e,r,t,n),___dl_seterr=(e,r)=>(___dl_seterr=wasmExports.__dl_seterr)(e,r),__emscripten_timeout=(e,r)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(e,r),_malloc=Module._malloc=e=>(_malloc=Module._malloc=wasmExports.malloc)(e),_free=Module._free=e=>(_free=Module._free=wasmExports.free)(e),_calloc=Module._calloc=(e,r)=>(_calloc=Module._calloc=wasmExports.calloc)(e,r),_emscripten_builtin_memalign=(e,r)=>(_emscripten_builtin_memalign=wasmExports.emscripten_builtin_memalign)(e,r),__emscripten_tempret_set=e=>(__emscripten_tempret_set=wasmExports._emscripten_tempret_set)(e),__emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports._emscripten_tempret_get)(),__emscripten_stack_restore=e=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(e),__emscripten_stack_alloc=e=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(e),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)();function invoke_ii(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_vii(e,r,t){var n=stackSave();try{getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_viii(e,r,t,n){var a=stackSave();try{getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viiii(e,r,t,n,a){var o=stackSave();try{getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iii(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_viiiiii(e,r,t,n,a,o,_){var l=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_dii(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_viiiiiii(e,r,t,n,a,o,_,l){var c=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vi(e,r){var t=stackSave();try{getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_iiiii(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiiii(e,r,t,n,a,o){var _=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiiii(e,r,t,n,a,o,_){var l=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiiiii(e,r,t,n,a,o,_,l){var c=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiiiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiii(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_v(e){var r=stackSave();try{getWasmTableEntry(e)()}catch(t){if(stackRestore(r),t!==t+0)throw t;_setThrew(1,0)}}function invoke_i(e){var r=stackSave();try{return getWasmTableEntry(e)()}catch(t){if(stackRestore(r),t!==t+0)throw t;_setThrew(1,0)}}function invoke_iiiiii(e,r,t,n,a,o){var _=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiiiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viif(e,r,t,n){var a=stackSave();try{getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viid(e,r,t,n){var a=stackSave();try{getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iid(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_diiii(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iiiiiid(e,r,t,n,a,o,_){var l=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_di(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_id(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_vid(e,r,t){var n=stackSave();try{getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_vif(e,r,t){var n=stackSave();try{getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_iiiiiiiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiid(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viiid(e,r,t,n,a){var o=stackSave();try{getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h){var b=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h)}catch(A){if(stackRestore(b),A!==A+0)throw A;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S){var h=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S)}catch(b){if(stackRestore(h),b!==b+0)throw b;_setThrew(1,0)}}function invoke_iiiiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_iiiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iidii(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiiiiiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiidi(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiifii(e,r,t,n,a,o,_){var l=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vifi(e,r,t,n){var a=stackSave();try{getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viiidii(e,r,t,n,a,o,_){var l=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vidi(e,r,t,n){var a=stackSave();try{getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_idiii(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_fi(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_iff(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_idd(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_diiiid(e,r,t,n,a,o){var _=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_if(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_didd(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_ifii(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_idii(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_ifi(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_idi(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_idiiii(e,r,t,n,a,o){var _=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_dd(e,r){var t=stackSave();try{return getWasmTableEntry(e)(r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_ddd(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_viddddi(e,r,t,n,a,o,_){var l=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_diiiiid(e,r,t,n,a,o,_){var l=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiid(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iifii(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iidiii(e,r,t,n,a,o){var _=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iidiiii(e,r,t,n,a,o,_){var l=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iidi(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_vifii(e,r,t,n,a){var o=stackSave();try{getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_vidii(e,r,t,n,a){var o=stackSave();try{getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_iif(e,r,t){var n=stackSave();try{return getWasmTableEntry(e)(r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_fiiii(e,r,t,n,a){var o=stackSave();try{return getWasmTableEntry(e)(r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_diii(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viiifi(e,r,t,n,a,o){var _=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiidi(e,r,t,n,a,o){var _=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiid(e,r,t,n,a,o){var _=stackSave();try{return getWasmTableEntry(e)(r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_fiii(e,r,t,n){var a=stackSave();try{return getWasmTableEntry(e)(r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g){var S=stackSave();try{getWasmTableEntry(e)(r,t,n,a,o,_,l,c,u,d,f,p,m,v,g)}catch(h){if(stackRestore(S),h!==h+0)throw h;_setThrew(1,0)}}function invoke_viji(e,r,t,n,a){var o=stackSave();try{Module.dynCall_viji(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_ji(e,r){var t=stackSave();try{return Module.dynCall_ji(e,r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_viijii(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_viijii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iij(e,r,t,n){var a=stackSave();try{return Module.dynCall_iij(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiijiijj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiijiijj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiij(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_iiij(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_vij(e,r,t,n){var a=stackSave();try{Module.dynCall_vij(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiijj(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iiijj(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viiijj(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viiijj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_jii(e,r,t){var n=stackSave();try{return Module.dynCall_jii(e,r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_iiijii(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iiijii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viij(e,r,t,n,a){var o=stackSave();try{Module.dynCall_viij(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiij(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_viiij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiji(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_viiji(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viijijj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viijijj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viijiijj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viijiijj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiij(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_iiiij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viijiii(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viijiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iiiji(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_iiiji(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiji(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_iiji(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_jiiij(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_jiiij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiiji(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_viiiji(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iijji(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iijji(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_jjjii(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jjjii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiij(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iiiiij(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_jj(e,r,t){var n=stackSave();try{return Module.dynCall_jj(e,r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_iiijjj(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiijjj(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viiijjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiijjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiiiiij(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiiiiij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_jiiiii(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_jiiiii(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iijiii(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iijiii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_dij(e,r,t,n){var a=stackSave();try{return Module.dynCall_dij(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iijii(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_iijii(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiji(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iiiiji(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vijji(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_vijji(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iijiiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iijiiiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiiijj(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiiiijj(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viiiij(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_viiiij(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viiijii(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viiijii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiiiiij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiiiiij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiiiji(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viiiiji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iiiijii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiiijii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiijii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiiijii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jij(e,r,t,n){var a=stackSave();try{return Module.dynCall_jij(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiiijj(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiiijj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iiiiijii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiiiijii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iijiiii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iijiiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vijiii(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_vijiii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_vijiiii(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_vijiiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iijjiiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iijjiiiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiijjiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiijjiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vjjii(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_vjjii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viiiiijii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiiijii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiijd(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_viiijd(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_jiii(e,r,t,n){var a=stackSave();try{return Module.dynCall_jiii(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iiiiijiiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiiijiiiii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_vijiiiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_vijiiiiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiiijj(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiiijj(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_vijiiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_vijiiiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iijjiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iijjiiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_ij(e,r,t){var n=stackSave();try{return Module.dynCall_ij(e,r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_vijj(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_vijj(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_ijji(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_ijji(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viijd(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_viijd(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiiiiji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiiiiiji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiiiiji(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiiiiji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vj(e,r,t){var n=stackSave();try{Module.dynCall_vj(e,r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_vijii(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_vijii(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiiiij(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viiiiij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viijj(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_viijj(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viijij(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viijij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iiiijjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiijjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiijiii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiijiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiijjjii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiiijjjii(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_viiijiij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiijiij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vijiiji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_vijiiji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jiiii(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_jiiii(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viijjj(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viijjj(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_vijjj(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_vijjj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iijij(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_iijij(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiiijii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiiiijii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viijiiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viijiiiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiiji(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_jiiji(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_fiiji(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_fiiji(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_diiji(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_diiji(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_jiijii(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jiijii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_jiiiij(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jiiiij(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viiiiijiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viiiiijiiii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_jjjij(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jjjij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_jji(e,r,t,n){var a=stackSave();try{return Module.dynCall_jji(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_iijiji(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iijiji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiijiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{Module.dynCall_viiiijiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_vjiiii(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_vjiiii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_viiiiiij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiiiiij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_vijjji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_vijjji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_j(e){var r=stackSave();try{return Module.dynCall_j(e)}catch(t){if(stackRestore(r),t!==t+0)throw t;_setThrew(1,0)}}function invoke_vjiiij(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_vjiiij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viijijijiji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{Module.dynCall_viijijijiji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_viiijjjjii(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{Module.dynCall_viiijjjjii(e,r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_viijjjji(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viijjjji(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viijijijij(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{Module.dynCall_viijijijij(e,r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_viiijij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiijij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jiij(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_jiij(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_vjii(e,r,t,n,a){var o=stackSave();try{Module.dynCall_vjii(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiiiiji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiiiiji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jiiijii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jiiijii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viijjji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viijjji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiijiji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiijiji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iji(e,r,t,n){var a=stackSave();try{return Module.dynCall_iji(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_jijjj(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jijjj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_dijjj(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_dijjj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vijijjd(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_vijijjd(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiiiiiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiiiiiiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiijiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiiijiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiijiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiijiiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiiiiiij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiiiiiij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiiiiiij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiiiiiij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viijji(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_viijji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_ijjiii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_ijjiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiijiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiijiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iijj(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_iijj(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_viiijjij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiijjij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_vijijiij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_vijijiij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viijiiiij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viijiiiij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiijiiiijjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g){var S=stackSave();try{Module.dynCall_viiijiiiijjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g)}catch(h){if(stackRestore(S),h!==h+0)throw h;_setThrew(1,0)}}function invoke_viijijiiiijjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h){var b=stackSave();try{Module.dynCall_viijijiiiijjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h)}catch(A){if(stackRestore(b),A!==A+0)throw A;_setThrew(1,0)}}function invoke_jiiijiijiii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_jiiijiijiii(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_viijijiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viijijiiii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_jiiijiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiiijiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iijjj(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iijjj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iiijji(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiijji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vijijiiiijjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S){var h=stackSave();try{Module.dynCall_vijijiiiijjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S)}catch(b){if(stackRestore(h),b!==b+0)throw b;_setThrew(1,0)}}function invoke_viiiijjii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiiijjii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiiiijj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiiijj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiiiiji(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jiiiiji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiijijji(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiiijijji(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_viiiijjij(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viiiijjij(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiijiiijii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiijiiijii(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iiiiijiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiiijiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vijijj(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_vijijj(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viiijjjj(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viiijjjj(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_jf(e,r){var t=stackSave();try{return Module.dynCall_jf(e,r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_jd(e,r){var t=stackSave();try{return Module.dynCall_jd(e,r)}catch(n){if(stackRestore(t),n!==n+0)throw n;_setThrew(1,0)}}function invoke_viiiiijjii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viiiiijjii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiiiiijii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiiiiijii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiiiiiiijjjji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h){var b=stackSave();try{Module.dynCall_viiiiiiiijjjji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h)}catch(A){if(stackRestore(b),A!==A+0)throw A;_setThrew(1,0)}}function invoke_viijijij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viijijij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiijij(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iiijij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vji(e,r,t,n){var a=stackSave();try{Module.dynCall_vji(e,r,t,n)}catch(o){if(stackRestore(a),o!==o+0)throw o;_setThrew(1,0)}}function invoke_jiijj(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jiijj(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_jiijiiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_jiijiiiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiijiii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jiijiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_viiiiiijj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiiiiijj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_jiiiijii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiiiijii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jiijiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiijiiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jiiiiijiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_jiiiiijiiii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viijjii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viijjii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiijjiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiijjiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiiiiiijii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_iiiiiiiiijii(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iiijijj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiijijj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiijijj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiijijj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iijiiiiiij(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iijiiiiiij(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viijiijji(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viijiijji(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiiijiijjii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{Module.dynCall_viiiijiijjii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_iiiiiijjiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b,A){var w=stackSave();try{return Module.dynCall_iiiiiijjiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b,A)}catch(L){if(stackRestore(w),L!==L+0)throw L;_setThrew(1,0)}}function invoke_viijiiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viijiiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_ijii(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_ijii(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viijjiiij(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viijjiiij(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiijiijjiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{return Module.dynCall_iiiijiijjiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_iiidj(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_iiidj(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iiiiiiiijj(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiiiiiijj(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiiiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{return Module.dynCall_iiiiiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_iiiiiiijji(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiiiiijji(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiijji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiiijji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viiijjiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiijjiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_jiiijjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_jiiijjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiiiijij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiiijij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiiiiiii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jiiiiiii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_jiiiiii(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jiiiiii(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiiiiiij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiiiiiiij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiiiji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiiiiiji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiiiiiiiiijiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g){var S=stackSave();try{return Module.dynCall_iiiiiiiiiiijiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g)}catch(h){if(stackRestore(S),h!==h+0)throw h;_setThrew(1,0)}}function invoke_iiiiiiiiijiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b){var A=stackSave();try{return Module.dynCall_iiiiiiiiijiiiiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b)}catch(w){if(stackRestore(A),w!==w+0)throw w;_setThrew(1,0)}}function invoke_iiiiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_iiiiiiiiiiji(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iiiiijjii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiiijjii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiijjij(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiiijjij(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiijiiiij(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiijiiiij(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiiijiiij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiijiiij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiijiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiiijiiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiiiiiiijii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiiiiiijii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_jiiiijiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_jiiiijiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiiijjii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiiijjii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiijjii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiijjii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiijji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viiijji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viiijiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiijiiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiijjiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_jiijjiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiiijji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiijji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_ijjj(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_ijjj(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiiiijjjjjjii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b,A,w){var L=stackSave();try{return Module.dynCall_iiiiiiijjjjjjii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b,A,w)}catch(F){if(stackRestore(L),F!==F+0)throw F;_setThrew(1,0)}}function invoke_iiijjijj(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiijjijj(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiijjijj(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiijjijj(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_vjiii(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_vjiii(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_jijj(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_jijj(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_iijjjii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iijjjii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iijjji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iijjji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiijjjijj(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{return Module.dynCall_iiijjjijj(e,r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_iiijjjjj(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_iiijjjjj(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iiiiiijji(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiiiijji(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiijjjijj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{Module.dynCall_viiijjjijj(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_viiijjjjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{Module.dynCall_viiijjjjj(e,r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_jiiijj(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jiiijj(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_jiiiiiji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiiiiiji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iidj(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_iidj(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiiiiiijij(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiiiiiijij(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_viiiiijij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiiiijij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiijjjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h){var b=stackSave();try{return Module.dynCall_iiijjjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h)}catch(A){if(stackRestore(b),A!==A+0)throw A;_setThrew(1,0)}}function invoke_viijjjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h){var b=stackSave();try{Module.dynCall_viijjjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h)}catch(A){if(stackRestore(b),A!==A+0)throw A;_setThrew(1,0)}}function invoke_vjjijij(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_vjjijij(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiijiiji(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiijiiji(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_jiiiji(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jiiiji(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_jiijiij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiijiij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jiiijij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jiiijij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiiiijjiijjji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b){var A=stackSave();try{return Module.dynCall_iiiiiijjiijjji(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b)}catch(w){if(stackRestore(A),w!==w+0)throw w;_setThrew(1,0)}}function invoke_iiijjijjiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{return Module.dynCall_iiijjijjiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_iiijjii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiijjii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiijjjj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiijjjj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viijiiiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viijiiiiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viijiiij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viijiiij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vijiiiji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_vijiiiji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jijjij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_jijjij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jijij(e,r,t,n,a,o,_){var l=stackSave();try{return Module.dynCall_jijij(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_iiiiijjj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiiiijjj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiiiiijij(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viiiiiijij(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiiijij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiijij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiijjjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b){var A=stackSave();try{Module.dynCall_viiijjjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S,h,b)}catch(w){if(stackRestore(A),w!==w+0)throw w;_setThrew(1,0)}}function invoke_viiijjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S){var h=stackSave();try{Module.dynCall_viiijjjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v,g,S)}catch(b){if(stackRestore(h),b!==b+0)throw b;_setThrew(1,0)}}function invoke_viiijjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v){var g=stackSave();try{Module.dynCall_viiijjjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p,m,v)}catch(S){if(stackRestore(g),S!==S+0)throw S;_setThrew(1,0)}}function invoke_viiijjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiijjiiiii(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_viiijiiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiijiiiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_jiiiijji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_jiiiijji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_jiji(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_jiji(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiiiiiji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiiiiji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iijjii(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_iijjii(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iiijiiiji(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iiijiiiji(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiijjji(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiijjji(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vjj(e,r,t,n,a){var o=stackSave();try{Module.dynCall_vjj(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_viiijjji(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiijjji(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiiijiiiii(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viiiijiiiii(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiiijiiii(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_viiiijiiii(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_vijiji(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_vijiji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_vijjij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_vijjij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_jjij(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_jjij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_ijij(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_ijij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_vijij(e,r,t,n,a,o,_){var l=stackSave();try{Module.dynCall_vijij(e,r,t,n,a,o,_)}catch(c){if(stackRestore(l),c!==c+0)throw c;_setThrew(1,0)}}function invoke_diij(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_diij(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_djij(e,r,t,n,a,o){var _=stackSave();try{return Module.dynCall_djij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_dj(e,r,t){var n=stackSave();try{return Module.dynCall_dj(e,r,t)}catch(a){if(stackRestore(n),a!==a+0)throw a;_setThrew(1,0)}}function invoke_jjj(e,r,t,n,a){var o=stackSave();try{return Module.dynCall_jjj(e,r,t,n,a)}catch(_){if(stackRestore(o),_!==_+0)throw _;_setThrew(1,0)}}function invoke_vjij(e,r,t,n,a,o){var _=stackSave();try{Module.dynCall_vjij(e,r,t,n,a,o)}catch(l){if(stackRestore(_),l!==l+0)throw l;_setThrew(1,0)}}function invoke_jjjjjjd(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_jjjjjjd(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_jjjji(e,r,t,n,a,o,_,l){var c=stackSave();try{return Module.dynCall_jjjji(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_iijjjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iijjjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_fijjjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_fijjjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_dijjjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_dijjjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_fijjjjij(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_fijjjjij(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_dijjjjij(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_dijjjjij(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iijiijj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iijiijj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vijjjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_vijjjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_viiiiijiijii(e,r,t,n,a,o,_,l,c,u,d,f,p,m){var v=stackSave();try{Module.dynCall_viiiiijiijii(e,r,t,n,a,o,_,l,c,u,d,f,p,m)}catch(g){if(stackRestore(v),g!==g+0)throw g;_setThrew(1,0)}}function invoke_viiiiijjji(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiiiijjji(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iiijiiijj(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiijiiijj(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_viiijijjj(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_viiijijjj(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_vijijjji(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_vijijjji(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_iiijiij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{return Module.dynCall_iiijiij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viijiij(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viijiij(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_vijiij(e,r,t,n,a,o,_,l){var c=stackSave();try{Module.dynCall_vijiij(e,r,t,n,a,o,_,l)}catch(u){if(stackRestore(c),u!==u+0)throw u;_setThrew(1,0)}}function invoke_jijjjj(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_jijjjj(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiijiiiijj(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{return Module.dynCall_iiijiiiijj(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_iijiiijj(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{return Module.dynCall_iijiiijj(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_iiijiiij(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiijiiij(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_iiijiiiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{return Module.dynCall_iiijiiiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vijjjiiji(e,r,t,n,a,o,_,l,c,u,d,f,p){var m=stackSave();try{Module.dynCall_vijjjiiji(e,r,t,n,a,o,_,l,c,u,d,f,p)}catch(v){if(stackRestore(m),v!==v+0)throw v;_setThrew(1,0)}}function invoke_viijiji(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_viijiji(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_iiiijjjj(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{return Module.dynCall_iiiijjjj(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function invoke_vijiiiiji(e,r,t,n,a,o,_,l,c,u,d){var f=stackSave();try{Module.dynCall_vijiiiiji(e,r,t,n,a,o,_,l,c,u,d)}catch(p){if(stackRestore(f),p!==p+0)throw p;_setThrew(1,0)}}function invoke_viiiijiii(e,r,t,n,a,o,_,l,c,u){var d=stackSave();try{Module.dynCall_viiiijiii(e,r,t,n,a,o,_,l,c,u)}catch(f){if(stackRestore(d),f!==f+0)throw f;_setThrew(1,0)}}function invoke_vijjiii(e,r,t,n,a,o,_,l,c){var u=stackSave();try{Module.dynCall_vijjiii(e,r,t,n,a,o,_,l,c)}catch(d){if(stackRestore(u),d!==d+0)throw d;_setThrew(1,0)}}function invoke_viijiiijj(e,r,t,n,a,o,_,l,c,u,d,f){var p=stackSave();try{Module.dynCall_viijiiijj(e,r,t,n,a,o,_,l,c,u,d,f)}catch(m){if(stackRestore(p),m!==m+0)throw m;_setThrew(1,0)}}function applySignatureConversions(e){e=Object.assign({},e);var r=l=>c=>l(c)>>>0,t=l=>()=>l()>>>0,n=l=>(c,u,d)=>l(c,u,d)>>>0,a=l=>(c,u)=>l(c,u)>>>0,o=l=>c=>l(c)>>>0,_=l=>c=>l(c)>>>0;return e.__getTypeName=r(e.__getTypeName),e.pthread_self=t(e.pthread_self),e.memcpy=n(e.memcpy),e.malloc=r(e.malloc),e.calloc=a(e.calloc),e.__errno_location=t(e.__errno_location),e.strerror=o(e.strerror),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_stack_get_base=t(e.emscripten_stack_get_base),e.emscripten_stack_get_end=t(e.emscripten_stack_get_end),e.emscripten_builtin_memalign=a(e.emscripten_builtin_memalign),e.emscripten_stack_get_current=t(e.emscripten_stack_get_current),e.emscripten_main_runtime_thread_id=t(e.emscripten_main_runtime_thread_id),e.sbrk=_(e.sbrk),e.memalign=a(e.memalign),e.emscripten_builtin_calloc=a(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e.__cxa_get_exception_ptr=r(e.__cxa_get_exception_ptr),e}Module.stackSave=stackSave,Module.stackRestore=stackRestore,Module.stackAlloc=stackAlloc,Module.getTempRet0=getTempRet0,Module.setTempRet0=setTempRet0,Module.ccall=ccall,Module.createDyncallWrapper=createDyncallWrapper;var calledRun;dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)};function callMain(e=[]){var r=resolveGlobalSymbol("main").sym;if(r){e.unshift(thisProgram);var t=e.length,n=stackAlloc((t+1)*4),a=n;e.forEach(_=>{HEAPU32[a>>>2>>>0]=stringToUTF8OnStack(_),a+=4}),HEAPU32[a>>>2>>>0]=0;try{var o=r(t,n);return exitJS(o,!0),o}catch(_){return handleException(_)}}}function run(e=arguments_){if(runDependencies>0||(preRun(),runDependencies>0))return;function r(){var t;calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),(t=Module.onRuntimeInitialized)==null||t.call(Module),shouldRunNow&&callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),r()},1)):r()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),moduleRtn=readyPromise,moduleRtn}})();typeof exports=="object"&&typeof module=="object"?module.exports=DuckDB:typeof define=="function"&&define.amd&&define([],()=>DuckDB)});var gr=re((exports,module)=>{"use strict";var DuckDB=(()=>{var E;var _scriptName=typeof document<"u"?(E=document.currentScript)==null?void 0:E.src:void 0;return typeof __filename<"u"&&(_scriptName=_scriptName||__filename),function(moduleArg={}){var moduleRtn,Module=moduleArg,readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,r)=>{readyPromiseResolve=e,readyPromiseReject=r}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope<"u",ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer",ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER,moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,r)=>{throw r},scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=ue(),nodePath=de();scriptDirectory=__dirname+"/",readBinary=e=>{e=isFileURI(e)?new URL(e):nodePath.normalize(e);var r=fs.readFileSync(e);return r},readAsync=(e,r=!0)=>(e=isFileURI(e)?new URL(e):nodePath.normalize(e),new Promise((t,n)=>{fs.readFile(e,r?void 0:"utf8",(a,o)=>{a?n(a):t(r?o.buffer:o)})})),!Module.thisProgram&&process.argv.length>1&&(thisProgram=process.argv[1].replace(/\\/g,"/")),arguments_=process.argv.slice(2),quit_=(e,r)=>{throw process.exitCode=e,r}}else(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),readAsync=e=>fetch(e,{credentials:"same-origin"}).then(r=>r.ok?r.arrayBuffer():Promise.reject(new Error(r.status+" : "+r.url))));var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary=Module.wasmBinary,wasmMemory,ABORT=!1,EXITSTATUS;function assert(e,r){e||abort(r)}var HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e)}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else{var INITIAL_MEMORY=Module.INITIAL_MEMORY||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:65536})}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=!1;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=!0,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.initialized&&FS.init(),FS.ignorePermissions=!1,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}var runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function getUniqueRunDependency(e){return e}function addRunDependency(e){var r;runDependencies++,(r=Module.monitorRunDependencies)==null||r.call(Module,runDependencies)}function removeRunDependency(e){var t;if(runDependencies--,(t=Module.monitorRunDependencies)==null||t.call(Module,runDependencies),runDependencies==0&&(runDependencyWatcher!==null&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var r=dependenciesFulfilled;dependenciesFulfilled=null,r()}}function abort(e){var t;(t=Module.onAbort)==null||t.call(Module,e),e="Aborted("+e+")",err(e),ABORT=!0,e+=". Build with -sASSERTIONS for more info.",runtimeInitialized&&___trap();var r=new WebAssembly.RuntimeError(e);throw readyPromiseReject(r),r}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://");function findWasmBinary(){var e="./duckdb-eh.wasm";return isDataURI(e)?e:locateFile(e)}var wasmBinaryFile;function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(e){return wasmBinary?Promise.resolve().then(()=>getBinarySync(e)):readAsync(e).then(r=>new Uint8Array(r),()=>getBinarySync(e))}function instantiateArrayBuffer(e,r,t){return getBinaryPromise(e).then(n=>WebAssembly.instantiate(n,r)).then(t,n=>{err("failed to asynchronously prepare wasm: ".concat(n)),abort(n)})}function instantiateAsync(e,r,t,n){return!e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(r)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"?fetch(r,{credentials:"same-origin"}).then(a=>{var o=WebAssembly.instantiateStreaming(a,t);return o.then(n,function(_){return err("wasm streaming compile failed: ".concat(_)),err("falling back to ArrayBuffer instantiation"),instantiateArrayBuffer(r,t,n)})}):instantiateArrayBuffer(r,t,n)}function getWasmImports(){return{env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}function createWasm(){var e=getWasmImports();function r(n,a){wasmExports=n.exports,wasmExports=relocateExports(wasmExports,1024);var o=getDylinkMetadata(a);return o.neededDynlibs&&(dynamicLibraries=o.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports,"main"),LDSO.init(),loadDylibs(),wasmExports=applySignatureConversions(wasmExports),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency("wasm-instantiate"),wasmExports}addRunDependency("wasm-instantiate");function t(n){r(n.instance,n.module)}if(Module.instantiateWasm)try{return Module.instantiateWasm(e,r)}catch(n){err("Module.instantiateWasm callback failed with error: ".concat(n)),readyPromiseReject(n)}return wasmBinaryFile!=null||(wasmBinaryFile=findWasmBinary()),instantiateAsync(wasmBinary,wasmBinaryFile,e,t).catch(readyPromiseReject),{}}var tempDouble,tempI64,ASM_CONSTS={2431672:(e,r,t,n)=>{var a=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let o=new XMLHttpRequest;o.open(UTF8ToString(n),a,!1),o.responseType="arraybuffer";for(var _=0,f=r;_<f*2;){var l=HEAP32[t/4+_>>>0],c=HEAP32[t/4+_+1>>>0];try{var u=encodeURI(UTF8ToString(l));u==="Host"&&(u="X-Host-Override"),u==="User-Agent"&&(u="X-user-agent"),u==="Authorization"?o.setRequestHeader(u,UTF8ToString(c)):o.setRequestHeader(u,encodeURI(UTF8ToString(c)))}catch(S){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",S)}_+=2}try{o.send(null)}catch(S){return 0}if(o.status>=400)return 0;for(var d=o.response,f=d.byteLength,p=_malloc(f+4),m=new Uint8Array(d),v=0;v<f;v++)Module.HEAPU8[v+p+4]=m[v];var g=new Uint8Array(4);return g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p),p},2433079:(e,r,t,n,a,o)=>{var _=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let l=new XMLHttpRequest;l.open(UTF8ToString(n),_,!1),l.responseType="arraybuffer";for(var c=0,g=r;c<g*2;){var u=HEAP32[t/4+c>>>0],d=HEAP32[t/4+c+1>>>0];try{var f=encodeURI(UTF8ToString(u));f==="Host"&&(f="X-Host-Override"),f==="User-Agent"&&(f="X-user-agent"),f==="Authorization"?l.setRequestHeader(f,UTF8ToString(d)):l.setRequestHeader(f,encodeURI(UTF8ToString(d)))}catch(A){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",A)}c+=2}try{for(var p=new Uint8Array(o),m=0;m<o;m++)p[m]=Module.HEAPU8[m+a];l.send(p)}catch(A){return 0}if(l.status>=400)return 0;for(var v=Uint8Array.from(Array.from(l.getResponseHeader("Etag")).map(A=>A.charCodeAt(0))),g=v.byteLength,S=_malloc(g+4),h=new Uint8Array(v),m=0;m<g;m++)Module.HEAPU8[m+S+4]=h[m];var b=new Uint8Array(4);return b[0]=g%256,g-=b[0],g/=256,b[1]=g%256,g-=b[1],g/=256,b[2]=g%256,g-=b[2],g/=256,b[3]=g%256,g-=b[3],g/=256,Module.HEAPU8.set(b,S),S},2434699:(e,r,t,n)=>{var a=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let o=new XMLHttpRequest;o.open(UTF8ToString(n),a,!1),o.responseType="arraybuffer";for(var _=0,f=r;_<f*2;){var l=HEAP32[t/4+_>>>0],c=HEAP32[t/4+_+1>>>0];try{var u=encodeURI(UTF8ToString(l));u==="Host"&&(u="X-Host-Override"),u==="User-Agent"&&(u="X-user-agent"),u==="Authorization"?o.setRequestHeader(u,UTF8ToString(c)):o.setRequestHeader(u,encodeURI(UTF8ToString(c)))}catch(b){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",b)}_+=2}try{o.send(null)}catch(b){return 0}if(o.status>=400)return 0;for(var d=o.response,f=d.byteLength,p=_malloc(f+8),m=new Uint8Array(d),v=0;v<f;v++)Module.HEAPU8[v+p+8]=m[v];var g=new Uint8Array(4);g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p+4);var S=Uint8Array.from(Array.from(o.getAllResponseHeaders()).map(b=>b.charCodeAt(0)));f=S.byteLength;for(var h=_malloc(f+8),v=0;v<f;v++)Module.HEAPU8[v+h+8]=S[v];return g=new Uint8Array(4),g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,h+4),f=h,g=new Uint8Array(4),g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p),p},2436983:(e,r,t,n)=>{var a=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let o=new XMLHttpRequest;o.open(UTF8ToString(n),a,!1),o.responseType="arraybuffer";for(var _=0,f=r;_<f*2;){var l=HEAP32[t/4+_>>>0],c=HEAP32[t/4+_+1>>>0];try{var u=encodeURI(UTF8ToString(l));u==="Host"&&(u="X-Host-Override"),u==="User-Agent"&&(u="X-user-agent"),u==="Authorization"?o.setRequestHeader(u,UTF8ToString(c)):o.setRequestHeader(u,encodeURI(UTF8ToString(c)))}catch(S){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",S)}_+=2}try{o.send(null)}catch(S){return 0}if(o.status>=400)return 0;for(var d=o.response,f=d.byteLength,p=_malloc(f+4),m=new Uint8Array(d),v=0;v<f;v++)Module.HEAPU8[v+p+4]=m[v];var g=new Uint8Array(4);return g[0]=f%256,f-=g[0],f/=256,g[1]=f%256,f-=g[1],f/=256,g[2]=f%256,f-=g[2],f/=256,g[3]=f%256,f-=g[3],f/=256,Module.HEAPU8.set(g,p),p},2438390:(e,r,t,n,a,o)=>{var _=UTF8ToString(e);if(typeof XMLHttpRequest>"u")return 0;let l=new XMLHttpRequest;l.open(UTF8ToString(n),_,!1),l.responseType="arraybuffer";for(var c=0,g=r;c<g*2;){var u=HEAP32[t/4+c>>>0],d=HEAP32[t/4+c+1>>>0];try{var f=encodeURI(UTF8ToString(u));f==="Host"&&(f="X-Host-Override"),f==="User-Agent"&&(f="X-user-agent"),f==="Authorization"?l.setRequestHeader(f,UTF8ToString(d)):l.setRequestHeader(f,encodeURI(UTF8ToString(d)))}catch(A){console.warn("Error while performing XMLHttpRequest.setRequestHeader()",A)}c+=2}try{for(var p=new Uint8Array(o),m=0;m<o;m++)p[m]=Module.HEAPU8[m+a];l.send(p)}catch(A){return 0}if(l.status>=400)return 0;for(var v=l.response,g=v.byteLength,S=_malloc(g+4),h=new Uint8Array(v),m=0;m<g;m++)Module.HEAPU8[m+S+4]=h[m];var b=new Uint8Array(4);return b[0]=g%256,g-=b[0],g/=256,b[1]=g%256,g-=b[1],g/=256,b[2]=g%256,g-=b[2],g/=256,b[3]=g%256,g-=b[3],g/=256,Module.HEAPU8.set(b,S),S},2439928:(e,r)=>{var t=typeof runtime=="object"&&runtime&&typeof runtime.whereToLoad=="function"&&runtime.whereToLoad?runtime.whereToLoad(UTF8ToString(e)):UTF8ToString(r),n=lengthBytesUTF8(t)+1,a=_malloc(n);return stringToUTF8(t,a,n),a},2440294:(e,r)=>{var t=UTF8ToString(e);if(typeof XMLHttpRequest>"u"){let h=je(),b=de(),A=ue();var n=t.split("/"),a=n.length,o=b.join(h.homedir(),".duckdb/extensions/"+n[a-4]+"/"+n[a-3]+"/"+n[a-2]+"/"),_=b.join(o,n[a-1]);try{if(A.existsSync(o)||A.mkdirSync(o,{recursive:!0}),A.existsSync(_))u=A.readFileSync(_);else{let w=new Int32Array(new SharedArrayBuffer(8));var l=K("node:worker_threads").Worker,c=new l("const {Worker,isMainThread,parentPort,workerData,} = require('node:worker_threads');var times = 0;var SAB = 23;var Z = 0; async function ZZZ(e) {var x = await fetch(e);var res = await x.arrayBuffer();Atomics.store(SAB, 1, res.byteLength);Atomics.store(SAB, 0, 1);Atomics.notify(SAB, 1);Atomics.notify(SAB, 0);Z = res;};parentPort.on('message', function(event) {if (times == 0) {times++;SAB = event;} else if (times == 1) {times++; ZZZ(event);} else {const a = new Uint8Array(Z);const b = new Uint8Array(event.buffer);var K = Z.byteLength;for (var i = 0; i < K; i++) {b[i] = a[i];}Atomics.notify(event, 0);Atomics.store(SAB, 0, 2);Atomics.notify(SAB, 0);}});",{eval:!0}),u;w[0]=0,w[2]=4,c.postMessage(w),c.postMessage(t),Atomics.wait(w,0,0);let L=new Int32Array(new SharedArrayBuffer(w[1]+3-(w[1]+3)%4));c.postMessage(L),Atomics.wait(w,0,1);var d=new Uint8Array(L.buffer,0,w[1]);u=d,c.terminate(),A.writeFileSync(_,u)}}catch(w){return console.log("Error fetching module",w),0}}else{let h=new XMLHttpRequest;if(h.open("GET",t,!1),h.responseType="arraybuffer",h.send(null),h.status!=200)return 0;u=h.response}for(var f=WebAssembly.validate(u),p=u.byteLength,m=_malloc(p+4),v=new Uint8Array(u),g=0;g<p;g++)Module.HEAPU8[g+m+4]=v[g];var S=new Uint8Array(4);return S[0]=p%256,p-=S[0],p/=256,S[1]=p%256,p-=S[1],p/=256,S[2]=p%256,p-=S[2],p/=256,S[3]=p%256,p-=S[3],p/=256,Module.HEAPU8.set(S,m),FS.writeFile(UTF8ToString(r),new Uint8Array(u)),m},2442935:e=>{if(!e)return AL.alcErr=40964,1},2442983:e=>{if(!AL.currentCtx)return err("alGetProcAddress() called without a valid context"),1;if(!e)return AL.currentCtx.err=40963,1}};class ExitStatus{constructor(r){X(this,"name","ExitStatus");this.message="Program terminated with exit(".concat(r,")"),this.status=r}}var GOT={},currentModuleWeakSymbols=new Set([]),GOTHandler={get(e,r){var t=GOT[r];return t||(t=GOT[r]=new WebAssembly.Global({value:"i32",mutable:!0})),currentModuleWeakSymbols.has(r)||(t.required=!0),t}},callRuntimeCallbacks=e=>{for(;e.length>0;)e.shift()(Module)},UTF8Decoder=typeof TextDecoder<"u"?new TextDecoder:void 0,UTF8ArrayToString=(e,r=0,t=NaN)=>{r>>>=0;for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&UTF8Decoder)return UTF8Decoder.decode(e.subarray(r,a));for(var o="";r<a;){var _=e[r++];if(!(_&128)){o+=String.fromCharCode(_);continue}var l=e[r++]&63;if((_&224)==192){o+=String.fromCharCode((_&31)<<6|l);continue}var c=e[r++]&63;if((_&240)==224?_=(_&15)<<12|l<<6|c:_=(_&7)<<18|l<<12|c<<6|e[r++]&63,_<65536)o+=String.fromCharCode(_);else{var u=_-65536;o+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return o},getDylinkMetadata=e=>{var r=0,t=0;function n(){return e[r++]}function a(){for(var C=0,M=1;;){var G=e[r++];if(C+=(G&127)*M,M*=128,!(G&128))break}return C}function o(){var C=a();return r+=C,UTF8ArrayToString(e,r-C,C)}function _(C,M){if(C)throw new Error(M)}var l="dylink.0";if(e instanceof WebAssembly.Module){var c=WebAssembly.Module.customSections(e,l);c.length===0&&(l="dylink",c=WebAssembly.Module.customSections(e,l)),_(c.length===0,"need dylink section"),e=new Uint8Array(c[0]),t=e.length}else{var u=new Uint32Array(new Uint8Array(e.subarray(0,24)).buffer),d=u[0]==1836278016;_(!d,"need to see wasm magic number"),_(e[8]!==0,"need the dylink section to be first"),r=9;var f=a();t=r+f,l=o()}var p={neededDynlibs:[],tlsExports:new Set,weakImports:new Set};if(l=="dylink"){p.memorySize=a(),p.memoryAlign=a(),p.tableSize=a(),p.tableAlign=a();for(var m=a(),v=0;v<m;++v){var g=o();p.neededDynlibs.push(g)}}else{_(l!=="dylink.0");for(var S=1,h=2,b=3,A=4,w=256,L=3,F=1;r<t;){var y=n(),D=a();if(y===S)p.memorySize=a(),p.memoryAlign=a(),p.tableSize=a(),p.tableAlign=a();else if(y===h)for(var m=a(),v=0;v<m;++v)g=o(),p.neededDynlibs.push(g);else if(y===b)for(var P=a();P--;){var k=o(),x=a();x&w&&p.tlsExports.add(k)}else if(y===A)for(var P=a();P--;){var T=o(),k=o(),x=a();(x&L)==F&&p.weakImports.add(k)}else r+=D}}return p};function getValue(e,r="i8"){switch(r.endsWith("*")&&(r="*"),r){case"i1":return HEAP8[e>>>0];case"i8":return HEAP8[e>>>0];case"i16":return HEAP16[e>>>1>>>0];case"i32":return HEAP32[e>>>2>>>0];case"i64":abort("to do getValue(i64) use WASM_BIGINT");case"float":return HEAPF32[e>>>2>>>0];case"double":return HEAPF64[e>>>3>>>0];case"*":return HEAPU32[e>>>2>>>0];default:abort("invalid type for getValue: ".concat(r))}}var newDSO=(e,r,t)=>{var n={refcount:1/0,name:e,exports:t,global:!0};return LDSO.loadedLibsByName[e]=n,r!=null&&(LDSO.loadedLibsByHandle[r]=n),n},LDSO={loadedLibsByName:{},loadedLibsByHandle:{},init(){newDSO("__main__",0,wasmImports)}},___heap_base=3573056,alignMemory=(e,r)=>Math.ceil(e/r)*r,getMemory=e=>{if(runtimeInitialized)return _calloc(e,1);var r=___heap_base,t=r+alignMemory(e,16);return ___heap_base=t,GOT.__heap_base.value=t,r},isInternalSym=e=>["__cpp_exception","__c_longjmp","__wasm_apply_data_relocs","__dso_handle","__tls_size","__tls_align","__set_stack_limits","_emscripten_tls_init","__wasm_init_tls","__wasm_call_ctors","__start_em_asm","__stop_em_asm","__start_em_js","__stop_em_js"].includes(e)||e.startsWith("__em_js__"),uleb128Encode=(e,r)=>{e<128?r.push(e):r.push(e%128|128,e>>7)},sigToWasmTypes=e=>{for(var r={i:"i32",j:"i64",f:"f32",d:"f64",e:"externref",p:"i32"},t={parameters:[],results:e[0]=="v"?[]:[r[e[0]]]},n=1;n<e.length;++n)t.parameters.push(r[e[n]]);return t},generateFuncType=(e,r)=>{var t=e.slice(0,1),n=e.slice(1),a={i:127,p:127,j:126,f:125,d:124,e:111};r.push(96),uleb128Encode(n.length,r);for(var o=0;o<n.length;++o)r.push(a[n[o]]);t=="v"?r.push(0):r.push(1,a[t])},convertJsFunctionToWasm=(e,r)=>{if(typeof WebAssembly.Function=="function")return new WebAssembly.Function(sigToWasmTypes(r),e);var t=[1];generateFuncType(r,t);var n=[0,97,115,109,1,0,0,0,1];uleb128Encode(t.length,n),n.push(...t),n.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var a=new WebAssembly.Module(new Uint8Array(n)),o=new WebAssembly.Instance(a,{e:{f:e}}),_=o.exports.f;return _},wasmTable=new WebAssembly.Table({initial:24698,element:"anyfunc"}),getWasmTableEntry=e=>wasmTable.get(e),updateTableMap=(e,r)=>{if(functionsInTableMap)for(var t=e;t<e+r;t++){var n=getWasmTableEntry(t);n&&functionsInTableMap.set(n,t)}},functionsInTableMap,getFunctionAddress=e=>(functionsInTableMap||(functionsInTableMap=new WeakMap,updateTableMap(0,wasmTable.length)),functionsInTableMap.get(e)||0),freeTableIndexes=[],getEmptyTableSlot=()=>{if(freeTableIndexes.length)return freeTableIndexes.pop();try{wasmTable.grow(1)}catch(e){throw e instanceof RangeError?"Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.":e}return wasmTable.length-1},setWasmTableEntry=(e,r)=>wasmTable.set(e,r),addFunction=(e,r)=>{var t=getFunctionAddress(e);if(t)return t;var n=getEmptyTableSlot();try{setWasmTableEntry(n,e)}catch(o){if(!(o instanceof TypeError))throw o;var a=convertJsFunctionToWasm(e,r);setWasmTableEntry(n,a)}return functionsInTableMap.set(e,n),n},updateGOT=(e,r)=>{for(var t in e)if(!isInternalSym(t)){var n=e[t];t.startsWith("orig$")&&(t=t.split("$")[1],r=!0),GOT[t]||(GOT[t]=new WebAssembly.Global({value:"i32",mutable:!0})),(r||GOT[t].value==0)&&(typeof n=="function"?GOT[t].value=addFunction(n):typeof n=="number"?GOT[t].value=n:err("unhandled export type for '".concat(t,"': ").concat(typeof n)))}},relocateExports=(e,r,t)=>{var n={};for(var a in e){var o=e[a];typeof o=="object"&&(o=o.value),typeof o=="number"&&(o+=r),n[a]=o}return updateGOT(n,t),n},isSymbolDefined=e=>{var r=wasmImports[e];return!(!r||r.stub)},resolveGlobalSymbol=(e,r=!1)=>{var t;return r&&"orig$"+e in wasmImports&&(e="orig$"+e),isSymbolDefined(e)&&(t=wasmImports[e]),{sym:t,name:e}},UTF8ToString=(e,r)=>(e>>>=0,e?UTF8ArrayToString(HEAPU8,e,r):""),loadWebAssemblyModule=(binary,flags,libName,localScope,handle)=>{var metadata=getDylinkMetadata(binary);currentModuleWeakSymbols=metadata.weakImports;function loadModule(){var firstLoad=!handle||!HEAP8[handle+8>>>0];if(firstLoad){var memAlign=Math.pow(2,metadata.memoryAlign),memoryBase=metadata.memorySize?alignMemory(getMemory(metadata.memorySize+memAlign),memAlign):0,tableBase=metadata.tableSize?wasmTable.length:0;handle&&(HEAP8[handle+8>>>0]=1,HEAPU32[handle+12>>>2>>>0]=memoryBase,HEAP32[handle+16>>>2>>>0]=metadata.memorySize,HEAPU32[handle+20>>>2>>>0]=tableBase,HEAP32[handle+24>>>2>>>0]=metadata.tableSize)}else memoryBase=HEAPU32[handle+12>>>2>>>0],tableBase=HEAPU32[handle+20>>>2>>>0];var tableGrowthNeeded=tableBase+metadata.tableSize-wasmTable.length;tableGrowthNeeded>0&&wasmTable.grow(tableGrowthNeeded);var moduleExports;function resolveSymbol(e){var r=resolveGlobalSymbol(e).sym;return!r&&localScope&&(r=localScope[e]),r||(r=moduleExports[e]),r}var proxyHandler={get(e,r){if(r.startsWith("invoke_"))return createDyncallWrapper(r.substring(7));switch(r){case"__memory_base":return memoryBase;case"getTempRet0":return getTempRet0;case"__table_base":return tableBase}if(r in wasmImports&&!wasmImports[r].stub)return wasmImports[r];if(!(r in e)){var t;e[r]=(...n)=>(t||(t=resolveSymbol(r)),t(...n))}return e[r]}},proxy=new Proxy({},proxyHandler),info={"GOT.mem":new Proxy({},GOTHandler),"GOT.func":new Proxy({},GOTHandler),env:proxy,wasi_snapshot_preview1:proxy};function postInstantiation(module,instance){updateTableMap(tableBase,metadata.tableSize),moduleExports=relocateExports(instance.exports,memoryBase),flags.allowUndefined||reportUndefinedSymbols();function addEmAsm(addr,body){for(var args=[],arity=0;arity<16&&body.indexOf("$"+arity)!=-1;arity++)args.push("$"+arity);args=args.join(",");var func="(".concat(args,") => { ").concat(body," };");ASM_CONSTS[start]=eval(func)}if("__start_em_asm"in moduleExports)for(var start=moduleExports.__start_em_asm,stop=moduleExports.__stop_em_asm;start<stop;){var jsString=UTF8ToString(start);addEmAsm(start,jsString),start=HEAPU8.indexOf(0,start)+1}function addEmJs(name,cSig,body){var jsArgs=[];if(cSig=cSig.slice(1,-1),cSig!="void"){cSig=cSig.split(",");for(var i in cSig){var jsArg=cSig[i].split(" ").pop();jsArgs.push(jsArg.replace("*",""))}}var func="(".concat(jsArgs,") => ").concat(body,";");moduleExports[name]=eval(func)}for(var name in moduleExports)if(name.startsWith("__em_js__")){var start=moduleExports[name],jsString=UTF8ToString(start),parts=jsString.split("<::>");addEmJs(name.replace("__em_js__",""),parts[0],parts[1]),delete moduleExports[name]}var applyRelocs=moduleExports.__wasm_apply_data_relocs;applyRelocs&&(runtimeInitialized?applyRelocs():__RELOC_FUNCS__.push(applyRelocs));var init=moduleExports.__wasm_call_ctors;return init&&(runtimeInitialized?init():__ATINIT__.push(init)),moduleExports}if(flags.loadAsync){if(binary instanceof WebAssembly.Module){var instance=new WebAssembly.Instance(binary,info);return Promise.resolve(postInstantiation(binary,instance))}return WebAssembly.instantiate(binary,info).then(e=>postInstantiation(e.module,e.instance))}var module=binary instanceof WebAssembly.Module?binary:new WebAssembly.Module(binary),instance=new WebAssembly.Instance(module,info);return postInstantiation(module,instance)}return flags.loadAsync?metadata.neededDynlibs.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,flags,localScope)),Promise.resolve()).then(loadModule):(metadata.neededDynlibs.forEach(e=>loadDynamicLibrary(e,flags,localScope)),loadModule())},mergeLibSymbols=(e,r)=>{registerDynCallSymbols(e);for(var[t,n]of Object.entries(e))(o=>{isSymbolDefined(o)||(wasmImports[o]=n)})(t)},asyncLoad=(e,r,t,n)=>{var a=n?"":"al ".concat(e);readAsync(e).then(o=>{r(new Uint8Array(o)),a&&removeRunDependency(a)},o=>{if(t)t();else throw'Loading data file "'.concat(e,'" failed.')}),a&&addRunDependency(a)},preloadPlugins=Module.preloadPlugins||[],registerWasmPlugin=()=>{var e={promiseChainEnd:Promise.resolve(),canHandle:r=>!Module.noWasmDecoding&&r.endsWith(".so"),handle:(r,t,n,a)=>{e.promiseChainEnd=e.promiseChainEnd.then(()=>loadWebAssemblyModule(r,{loadAsync:!0,nodelete:!0},t,{})).then(o=>{preloadedWasm[t]=o,n(r)},o=>{err("failed to instantiate wasm: ".concat(t,": ").concat(o)),a()})}};preloadPlugins.push(e)},preloadedWasm={},registerDynCallSymbols=e=>{for(var[r,t]of Object.entries(e))r.startsWith("dynCall_")&&!Module.hasOwnProperty(r)&&(Module[r]=t)};function loadDynamicLibrary(e,r={global:!0,nodelete:!0},t,n){var a=LDSO.loadedLibsByName[e];if(a)return r.global?a.global||(a.global=!0,mergeLibSymbols(a.exports,e)):(t&&Object.assign(t,a.exports),registerDynCallSymbols(a.exports)),r.nodelete&&a.refcount!==1/0&&(a.refcount=1/0),a.refcount++,n&&(LDSO.loadedLibsByHandle[n]=a),r.loadAsync?Promise.resolve(!0):!0;a=newDSO(e,n,"loading"),a.refcount=r.nodelete?1/0:1,a.global=r.global;function o(){if(n){var c=HEAPU32[n+28>>>2>>>0],u=HEAPU32[n+32>>>2>>>0];if(c&&u){var d=HEAP8.slice(c,c+u);return r.loadAsync?Promise.resolve(d):d}}var f=locateFile(e);if(r.loadAsync)return new Promise((p,m)=>asyncLoad(f,p,m));if(!readBinary)throw new Error("".concat(f,": file not found, and synchronous loading of external files is not available"));return readBinary(f)}function _(){var c=preloadedWasm[e];return c?r.loadAsync?Promise.resolve(c):c:r.loadAsync?o().then(u=>loadWebAssemblyModule(u,r,e,t,n)):loadWebAssemblyModule(o(),r,e,t,n)}function l(c){a.global?mergeLibSymbols(c,e):t&&(Object.assign(t,c),registerDynCallSymbols(c)),a.exports=c}return r.loadAsync?_().then(c=>(l(c),!0)):(l(_()),!0)}var reportUndefinedSymbols=()=>{for(var[e,r]of Object.entries(GOT))if(r.value==0){var t=resolveGlobalSymbol(e,!0).sym;if(!t&&!r.required)continue;if(typeof t=="function")r.value=addFunction(t,t.sig);else if(typeof t=="number")r.value=t;else throw new Error("bad export type for '".concat(e,"': ").concat(typeof t))}},loadDylibs=()=>{if(!dynamicLibraries.length){reportUndefinedSymbols();return}addRunDependency("loadDylibs"),dynamicLibraries.reduce((e,r)=>e.then(()=>loadDynamicLibrary(r,{loadAsync:!0,global:!0,nodelete:!0,allowUndefined:!0})),Promise.resolve()).then(()=>{reportUndefinedSymbols(),removeRunDependency("loadDylibs")})},noExitRuntime=Module.noExitRuntime||!0;function setValue(e,r,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":HEAP8[e>>>0]=r;break;case"i8":HEAP8[e>>>0]=r;break;case"i16":HEAP16[e>>>1>>>0]=r;break;case"i32":HEAP32[e>>>2>>>0]=r;break;case"i64":abort("to do setValue(i64) use WASM_BIGINT");case"float":HEAPF32[e>>>2>>>0]=r;break;case"double":HEAPF64[e>>>3>>>0]=r;break;case"*":HEAPU32[e>>>2>>>0]=r;break;default:abort("invalid type for setValue: ".concat(t))}}var convertI32PairToI53Checked=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+r*4294967296:NaN;function ___assert_fail(e,r,t,n){e>>>=0,r>>>=0,n>>>=0,abort("Assertion failed: ".concat(UTF8ToString(e),", at: ")+[r?UTF8ToString(r):"unknown filename",t,n?UTF8ToString(n):"unknown function"])}___assert_fail.sig="vppip";var ___c_longjmp=new WebAssembly.Tag({parameters:["i32"]});function ___call_sighandler(e,r){return e>>>=0,getWasmTableEntry(e)(r)}___call_sighandler.sig="vpi";var ___cpp_exception=new WebAssembly.Tag({parameters:["i32"]}),___memory_base=new WebAssembly.Global({value:"i32",mutable:!1},1024),___stack_high=3573056,___stack_low=2524480,___stack_pointer=new WebAssembly.Global({value:"i32",mutable:!0},3573056),PATH={isAbs:e=>e.charAt(0)==="/",splitPath:e=>{var r=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return r.exec(e).slice(1)},normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var a=e[n];a==="."?e.splice(n,1):a===".."?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=PATH.isAbs(e),t=e.substr(-1)==="/";return e=PATH.normalizeArray(e.split("/").filter(n=>!!n),!r).join("/"),!e&&!r&&(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=PATH.splitPath(e),t=r[0],n=r[1];return!t&&!n?".":(n&&(n=n.substr(0,n.length-1)),t+n)},basename:e=>{if(e==="/")return"/";e=PATH.normalize(e),e=e.replace(/\/$/,"");var r=e.lastIndexOf("/");return r===-1?e:e.substr(r+1)},join:(...e)=>PATH.normalize(e.join("/")),join2:(e,r)=>PATH.normalize(e+"/"+r)},initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return n=>crypto.getRandomValues(n);if(ENVIRONMENT_IS_NODE)try{var e=K("crypto"),r=e.randomFillSync;if(r)return n=>e.randomFillSync(n);var t=e.randomBytes;return n=>(n.set(t(n.byteLength)),n)}catch(n){}abort("initRandomDevice")},randomFill=e=>(randomFill=initRandomFill())(e),PATH_FS={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var a=n>=0?e[n]:FS.cwd();if(typeof a!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";r=a+"/"+r,t=PATH.isAbs(a)}return r=PATH.normalizeArray(r.split("/").filter(o=>!!o),!t).join("/"),(t?"/":"")+r||"."},relative:(e,r)=>{e=PATH_FS.resolve(e).substr(1),r=PATH_FS.resolve(r).substr(1);function t(u){for(var d=0;d<u.length&&u[d]==="";d++);for(var f=u.length-1;f>=0&&u[f]==="";f--);return d>f?[]:u.slice(d,f-d+1)}for(var n=t(e.split("/")),a=t(r.split("/")),o=Math.min(n.length,a.length),_=o,l=0;l<o;l++)if(n[l]!==a[l]){_=l;break}for(var c=[],l=_;l<n.length;l++)c.push("..");return c=c.concat(a.slice(_)),c.join("/")}},FS_stdin_getChar_buffer=[],lengthBytesUTF8=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r};Module.lengthBytesUTF8=lengthBytesUTF8;var stringToUTF8Array=(e,r,t,n)=>{if(t>>>=0,!(n>0))return 0;for(var a=t,o=t+n-1,_=0;_<e.length;++_){var l=e.charCodeAt(_);if(l>=55296&&l<=57343){var c=e.charCodeAt(++_);l=65536+((l&1023)<<10)|c&1023}if(l<=127){if(t>=o)break;r[t++>>>0]=l}else if(l<=2047){if(t+1>=o)break;r[t++>>>0]=192|l>>6,r[t++>>>0]=128|l&63}else if(l<=65535){if(t+2>=o)break;r[t++>>>0]=224|l>>12,r[t++>>>0]=128|l>>6&63,r[t++>>>0]=128|l&63}else{if(t+3>=o)break;r[t++>>>0]=240|l>>18,r[t++>>>0]=128|l>>12&63,r[t++>>>0]=128|l>>6&63,r[t++>>>0]=128|l&63}}return r[t>>>0]=0,t-a};function intArrayFromString(e,r,t){var n=t>0?t:lengthBytesUTF8(e)+1,a=new Array(n),o=stringToUTF8Array(e,a,0,a.length);return r&&(a.length=o),a}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var e=null;if(ENVIRONMENT_IS_NODE){var r=256,t=Buffer.alloc(r),n=0,a=process.stdin.fd;try{n=fs.readSync(a,t,0,r)}catch(o){if(o.toString().includes("EOF"))n=0;else throw o}n>0&&(e=t.slice(0,n).toString("utf-8"))}else typeof window<"u"&&typeof window.prompt=="function"&&(e=window.prompt("Input: "),e!==null&&(e+="\n"));if(!e)return null;FS_stdin_getChar_buffer=intArrayFromString(e,!0)}return FS_stdin_getChar_buffer.shift()},TTY={ttys:[],init(){},shutdown(){},register(e,r){TTY.ttys[e]={input:[],output:[],ops:r},FS.registerDevice(e,TTY.stream_ops)},stream_ops:{open(e){var r=TTY.ttys[e.node.rdev];if(!r)throw new FS.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,a){if(!e.tty||!e.tty.ops.get_char)throw new FS.ErrnoError(60);for(var o=0,_=0;_<n;_++){var l;try{l=e.tty.ops.get_char(e.tty)}catch(c){throw new FS.ErrnoError(29)}if(l===void 0&&o===0)throw new FS.ErrnoError(6);if(l==null)break;o++,r[t+_]=l}return o&&(e.node.timestamp=Date.now()),o},write(e,r,t,n,a){if(!e.tty||!e.tty.ops.put_char)throw new FS.ErrnoError(60);try{for(var o=0;o<n;o++)e.tty.ops.put_char(e.tty,r[t+o])}catch(_){throw new FS.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),o}},default_tty_ops:{get_char(e){return FS_stdin_getChar()},put_char(e,r){r===null||r===10?(out(UTF8ArrayToString(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(out(UTF8ArrayToString(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,r,t){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,r){r===null||r===10?(err(UTF8ArrayToString(e.output)),e.output=[]):r!=0&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(err(UTF8ArrayToString(e.output)),e.output=[])}}},zeroMemory=(e,r)=>{HEAPU8.fill(0,e,e+r)},mmapAlloc=e=>{e=alignMemory(e,65536);var r=_emscripten_builtin_memalign(65536,e);return r&&zeroMemory(r,e),r},MEMFS={ops_table:null,mount(e){return MEMFS.createNode(null,"/",16895,0)},createNode(e,r,t,n){if(FS.isBlkdev(t)||FS.isFIFO(t))throw new FS.ErrnoError(63);MEMFS.ops_table||(MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}});var a=FS.createNode(e,r,t,n);return FS.isDir(a.mode)?(a.node_ops=MEMFS.ops_table.dir.node,a.stream_ops=MEMFS.ops_table.dir.stream,a.contents={}):FS.isFile(a.mode)?(a.node_ops=MEMFS.ops_table.file.node,a.stream_ops=MEMFS.ops_table.file.stream,a.usedBytes=0,a.contents=null):FS.isLink(a.mode)?(a.node_ops=MEMFS.ops_table.link.node,a.stream_ops=MEMFS.ops_table.link.stream):FS.isChrdev(a.mode)&&(a.node_ops=MEMFS.ops_table.chrdev.node,a.stream_ops=MEMFS.ops_table.chrdev.stream),a.timestamp=Date.now(),e&&(e.contents[r]=a,e.timestamp=a.timestamp),a},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){var n=1024*1024;r=Math.max(r,t*(t<n?2:1.125)>>>0),t!=0&&(r=Math.max(r,256));var a=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(a.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(r==0)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=FS.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,FS.isDir(e.mode)?r.size=4096:FS.isFile(e.mode)?r.size=e.usedBytes:FS.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){r.mode!==void 0&&(e.mode=r.mode),r.timestamp!==void 0&&(e.timestamp=r.timestamp),r.size!==void 0&&MEMFS.resizeFileStorage(e,r.size)},lookup(e,r){throw FS.genericErrors[44]},mknod(e,r,t,n){return MEMFS.createNode(e,r,t,n)},rename(e,r,t){if(FS.isDir(e.mode)){var n;try{n=FS.lookupNode(r,t)}catch(o){}if(n)for(var a in n.contents)throw new FS.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=FS.lookupNode(e,r);for(var n in t.contents)throw new FS.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=MEMFS.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!FS.isLink(e.mode))throw new FS.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,a){var o=e.node.contents;if(a>=e.node.usedBytes)return 0;var _=Math.min(e.node.usedBytes-a,n);if(_>8&&o.subarray)r.set(o.subarray(a,a+_),t);else for(var l=0;l<_;l++)r[t+l]=o[a+l];return _},write(e,r,t,n,a,o){if(r.buffer===HEAP8.buffer&&(o=!1),!n)return 0;var _=e.node;if(_.timestamp=Date.now(),r.subarray&&(!_.contents||_.contents.subarray)){if(o)return _.contents=r.subarray(t,t+n),_.usedBytes=n,n;if(_.usedBytes===0&&a===0)return _.contents=r.slice(t,t+n),_.usedBytes=n,n;if(a+n<=_.usedBytes)return _.contents.set(r.subarray(t,t+n),a),n}if(MEMFS.expandFileStorage(_,a+n),_.contents.subarray&&r.subarray)_.contents.set(r.subarray(t,t+n),a);else for(var l=0;l<n;l++)_.contents[a+l]=r[t+l];return _.usedBytes=Math.max(_.usedBytes,a+n),n},llseek(e,r,t){var n=r;if(t===1?n+=e.position:t===2&&FS.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new FS.ErrnoError(28);return n},allocate(e,r,t){MEMFS.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,a){if(!FS.isFile(e.node.mode))throw new FS.ErrnoError(43);var o,_,l=e.node.contents;if(!(a&2)&&l&&l.buffer===HEAP8.buffer)_=!1,o=l.byteOffset;else{if(_=!0,o=mmapAlloc(r),!o)throw new FS.ErrnoError(48);l&&((t>0||t+r<l.length)&&(l.subarray?l=l.subarray(t,t+r):l=Array.prototype.slice.call(l,t,t+r)),HEAP8.set(l,o>>>0))}return{ptr:o,allocated:_}},msync(e,r,t,n,a){return MEMFS.stream_ops.write(e,r,0,n,t,!1),0}}},FS_createDataFile=(e,r,t,n,a,o)=>{FS.createDataFile(e,r,t,n,a,o)},FS_handledByPreloadPlugin=(e,r,t,n)=>{typeof Browser<"u"&&Browser.init();var a=!1;return preloadPlugins.forEach(o=>{a||o.canHandle(r)&&(o.handle(e,r,t,n),a=!0)}),a},FS_createPreloadedFile=(e,r,t,n,a,o,_,l,c,u)=>{var d=r?PATH_FS.resolve(PATH.join2(e,r)):e,f="cp ".concat(d);function p(m){function v(g){u==null||u(),l||FS_createDataFile(e,r,g,n,a,c),o==null||o(),removeRunDependency(f)}FS_handledByPreloadPlugin(m,d,v,()=>{_==null||_(),removeRunDependency(f)})||v(m)}addRunDependency(f),typeof t=="string"?asyncLoad(t,p,_):p(t)},FS_modeStringToFlags=e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},t=r[e];if(typeof t>"u")throw new Error("Unknown file open mode: ".concat(e));return t},FS_getMode=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){X(this,"name","ErrnoError");this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){X(this,"shared",{})}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){X(this,"node_ops",{});X(this,"stream_ops",{});X(this,"readMode",365);X(this,"writeMode",146);X(this,"mounted",null);e||(e=this),this.parent=e,this.mount=e.mount,this.id=FS.nextInode++,this.name=r,this.mode=t,this.rdev=n}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(e,r={}){if(e=PATH_FS.resolve(e),!e)return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};if(r=Object.assign(t,r),r.recurse_count>8)throw new FS.ErrnoError(32);for(var n=e.split("/").filter(f=>!!f),a=FS.root,o="/",_=0;_<n.length;_++){var l=_===n.length-1;if(l&&r.parent)break;if(a=FS.lookupNode(a,n[_]),o=PATH.join2(o,n[_]),FS.isMountpoint(a)&&(!l||l&&r.follow_mount)&&(a=a.mounted.root),!l||r.follow)for(var c=0;FS.isLink(a.mode);){var u=FS.readlink(o);o=PATH_FS.resolve(PATH.dirname(o),u);var d=FS.lookupPath(o,{recurse_count:r.recurse_count+1});if(a=d.node,c++>40)throw new FS.ErrnoError(32)}}return{path:o,node:a}},getPath(e){for(var r;;){if(FS.isRoot(e)){var t=e.mount.mountpoint;return r?t[t.length-1]!=="/"?"".concat(t,"/").concat(r):t+r:t}r=r?"".concat(e.name,"/").concat(r):e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%FS.nameTable.length},hashAddNode(e){var r=FS.hashName(e.parent.id,e.name);e.name_next=FS.nameTable[r],FS.nameTable[r]=e},hashRemoveNode(e){var r=FS.hashName(e.parent.id,e.name);if(FS.nameTable[r]===e)FS.nameTable[r]=e.name_next;else for(var t=FS.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=FS.mayLookup(e);if(t)throw new FS.ErrnoError(t);for(var n=FS.hashName(e.id,r),a=FS.nameTable[n];a;a=a.name_next){var o=a.name;if(a.parent.id===e.id&&o===r)return a}return FS.lookup(e,r)},createNode(e,r,t,n){var a=new FS.FSNode(e,r,t,n);return FS.hashAddNode(a),a},destroyNode(e){FS.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)===32768},isDir(e){return(e&61440)===16384},isLink(e){return(e&61440)===40960},isChrdev(e){return(e&61440)===8192},isBlkdev(e){return(e&61440)===24576},isFIFO(e){return(e&61440)===4096},isSocket(e){return(e&49152)===49152},flagsToPermissionString(e){var r=["r","w","rw"][e&3];return e&512&&(r+="w"),r},nodePermissions(e,r){return FS.ignorePermissions?0:r.includes("r")&&!(e.mode&292)||r.includes("w")&&!(e.mode&146)||r.includes("x")&&!(e.mode&73)?2:0},mayLookup(e){if(!FS.isDir(e.mode))return 54;var r=FS.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{var t=FS.lookupNode(e,r);return 20}catch(n){}return FS.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=FS.lookupNode(e,r)}catch(o){return o.errno}var a=FS.nodePermissions(e,"wx");if(a)return a;if(t){if(!FS.isDir(n.mode))return 54;if(FS.isRoot(n)||FS.getPath(n)===FS.cwd())return 10}else if(FS.isDir(n.mode))return 31;return 0},mayOpen(e,r){return e?FS.isLink(e.mode)?32:FS.isDir(e.mode)&&(FS.flagsToPermissionString(r)!=="r"||r&512)?31:FS.nodePermissions(e,FS.flagsToPermissionString(r)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=FS.MAX_OPEN_FDS;e++)if(!FS.streams[e])return e;throw new FS.ErrnoError(33)},getStreamChecked(e){var r=FS.getStream(e);if(!r)throw new FS.ErrnoError(8);return r},getStream:e=>FS.streams[e],createStream(e,r=-1){return e=Object.assign(new FS.FSStream,e),r==-1&&(r=FS.nextfd()),e.fd=r,FS.streams[r]=e,e},closeStream(e){FS.streams[e]=null},dupStream(e,r=-1){var n,a;var t=FS.createStream(e,r);return(a=(n=t.stream_ops)==null?void 0:n.dup)==null||a.call(n,t),t},chrdev_stream_ops:{open(e){var t,n;var r=FS.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,(n=(t=e.stream_ops).open)==null||n.call(t,e)},llseek(){throw new FS.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,r)=>e<<8|r,registerDevice(e,r){FS.devices[e]={stream_ops:r}},getDevice:e=>FS.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){typeof e=="function"&&(r=e,e=!1),FS.syncFSRequests++,FS.syncFSRequests>1&&err("warning: ".concat(FS.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var t=FS.getMounts(FS.root.mount),n=0;function a(_){return FS.syncFSRequests--,r(_)}function o(_){if(_)return o.errored?void 0:(o.errored=!0,a(_));++n>=t.length&&a(null)}t.forEach(_=>{if(!_.type.syncfs)return o(null);_.type.syncfs(_,e,o)})},mount(e,r,t){var n=t==="/",a=!t,o;if(n&&FS.root)throw new FS.ErrnoError(10);if(!n&&!a){var _=FS.lookupPath(t,{follow_mount:!1});if(t=_.path,o=_.node,FS.isMountpoint(o))throw new FS.ErrnoError(10);if(!FS.isDir(o.mode))throw new FS.ErrnoError(54)}var l={type:e,opts:r,mountpoint:t,mounts:[]},c=e.mount(l);return c.mount=l,l.root=c,n?FS.root=c:o&&(o.mounted=l,o.mount&&o.mount.mounts.push(l)),c},unmount(e){var r=FS.lookupPath(e,{follow_mount:!1});if(!FS.isMountpoint(r.node))throw new FS.ErrnoError(28);var t=r.node,n=t.mounted,a=FS.getMounts(n);Object.keys(FS.nameTable).forEach(_=>{for(var l=FS.nameTable[_];l;){var c=l.name_next;a.includes(l.mount)&&FS.destroyNode(l),l=c}}),t.mounted=null;var o=t.mount.mounts.indexOf(n);t.mount.mounts.splice(o,1)},lookup(e,r){return e.node_ops.lookup(e,r)},mknod(e,r,t){var n=FS.lookupPath(e,{parent:!0}),a=n.node,o=PATH.basename(e);if(!o||o==="."||o==="..")throw new FS.ErrnoError(28);var _=FS.mayCreate(a,o);if(_)throw new FS.ErrnoError(_);if(!a.node_ops.mknod)throw new FS.ErrnoError(63);return a.node_ops.mknod(a,o,r,t)},create(e,r){return r=r!==void 0?r:438,r&=4095,r|=32768,FS.mknod(e,r,0)},mkdir(e,r){return r=r!==void 0?r:511,r&=1023,r|=16384,FS.mknod(e,r,0)},mkdirTree(e,r){for(var t=e.split("/"),n="",a=0;a<t.length;++a)if(t[a]){n+="/"+t[a];try{FS.mkdir(n,r)}catch(o){if(o.errno!=20)throw o}}},mkdev(e,r,t){return typeof t>"u"&&(t=r,r=438),r|=8192,FS.mknod(e,r,t)},symlink(e,r){if(!PATH_FS.resolve(e))throw new FS.ErrnoError(44);var t=FS.lookupPath(r,{parent:!0}),n=t.node;if(!n)throw new FS.ErrnoError(44);var a=PATH.basename(r),o=FS.mayCreate(n,a);if(o)throw new FS.ErrnoError(o);if(!n.node_ops.symlink)throw new FS.ErrnoError(63);return n.node_ops.symlink(n,a,e)},rename(e,r){var t=PATH.dirname(e),n=PATH.dirname(r),a=PATH.basename(e),o=PATH.basename(r),_,l,c;if(_=FS.lookupPath(e,{parent:!0}),l=_.node,_=FS.lookupPath(r,{parent:!0}),c=_.node,!l||!c)throw new FS.ErrnoError(44);if(l.mount!==c.mount)throw new FS.ErrnoError(75);var u=FS.lookupNode(l,a),d=PATH_FS.relative(e,n);if(d.charAt(0)!==".")throw new FS.ErrnoError(28);if(d=PATH_FS.relative(r,t),d.charAt(0)!==".")throw new FS.ErrnoError(55);var f;try{f=FS.lookupNode(c,o)}catch(v){}if(u!==f){var p=FS.isDir(u.mode),m=FS.mayDelete(l,a,p);if(m)throw new FS.ErrnoError(m);if(m=f?FS.mayDelete(c,o,p):FS.mayCreate(c,o),m)throw new FS.ErrnoError(m);if(!l.node_ops.rename)throw new FS.ErrnoError(63);if(FS.isMountpoint(u)||f&&FS.isMountpoint(f))throw new FS.ErrnoError(10);if(c!==l&&(m=FS.nodePermissions(l,"w"),m))throw new FS.ErrnoError(m);FS.hashRemoveNode(u);try{l.node_ops.rename(u,c,o),u.parent=c}catch(v){throw v}finally{FS.hashAddNode(u)}}},rmdir(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node,n=PATH.basename(e),a=FS.lookupNode(t,n),o=FS.mayDelete(t,n,!0);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.rmdir)throw new FS.ErrnoError(63);if(FS.isMountpoint(a))throw new FS.ErrnoError(10);t.node_ops.rmdir(t,n),FS.destroyNode(a)},readdir(e){var r=FS.lookupPath(e,{follow:!0}),t=r.node;if(!t.node_ops.readdir)throw new FS.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var r=FS.lookupPath(e,{parent:!0}),t=r.node;if(!t)throw new FS.ErrnoError(44);var n=PATH.basename(e),a=FS.lookupNode(t,n),o=FS.mayDelete(t,n,!1);if(o)throw new FS.ErrnoError(o);if(!t.node_ops.unlink)throw new FS.ErrnoError(63);if(FS.isMountpoint(a))throw new FS.ErrnoError(10);t.node_ops.unlink(t,n),FS.destroyNode(a)},readlink(e){var r=FS.lookupPath(e),t=r.node;if(!t)throw new FS.ErrnoError(44);if(!t.node_ops.readlink)throw new FS.ErrnoError(28);return PATH_FS.resolve(FS.getPath(t.parent),t.node_ops.readlink(t))},stat(e,r){var t=FS.lookupPath(e,{follow:!r}),n=t.node;if(!n)throw new FS.ErrnoError(44);if(!n.node_ops.getattr)throw new FS.ErrnoError(63);return n.node_ops.getattr(n)},lstat(e){return FS.stat(e,!0)},chmod(e,r,t){var n;if(typeof e=="string"){var a=FS.lookupPath(e,{follow:!t});n=a.node}else n=e;if(!n.node_ops.setattr)throw new FS.ErrnoError(63);n.node_ops.setattr(n,{mode:r&4095|n.mode&-4096,timestamp:Date.now()})},lchmod(e,r){FS.chmod(e,r,!0)},fchmod(e,r){var t=FS.getStreamChecked(e);FS.chmod(t.node,r)},chown(e,r,t,n){var a;if(typeof e=="string"){var o=FS.lookupPath(e,{follow:!n});a=o.node}else a=e;if(!a.node_ops.setattr)throw new FS.ErrnoError(63);a.node_ops.setattr(a,{timestamp:Date.now()})},lchown(e,r,t){FS.chown(e,r,t,!0)},fchown(e,r,t){var n=FS.getStreamChecked(e);FS.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new FS.ErrnoError(28);var t;if(typeof e=="string"){var n=FS.lookupPath(e,{follow:!0});t=n.node}else t=e;if(!t.node_ops.setattr)throw new FS.ErrnoError(63);if(FS.isDir(t.mode))throw new FS.ErrnoError(31);if(!FS.isFile(t.mode))throw new FS.ErrnoError(28);var a=FS.nodePermissions(t,"w");if(a)throw new FS.ErrnoError(a);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=FS.getStreamChecked(e);if(!(t.flags&2097155))throw new FS.ErrnoError(28);FS.truncate(t.node,r)},utime(e,r,t){var n=FS.lookupPath(e,{follow:!0}),a=n.node;a.node_ops.setattr(a,{timestamp:Math.max(r,t)})},open(e,r,t){if(e==="")throw new FS.ErrnoError(44);r=typeof r=="string"?FS_modeStringToFlags(r):r,r&64?(t=typeof t>"u"?438:t,t=t&4095|32768):t=0;var n;if(typeof e=="object")n=e;else{e=PATH.normalize(e);try{var a=FS.lookupPath(e,{follow:!(r&131072)});n=a.node}catch(c){}}var o=!1;if(r&64)if(n){if(r&128)throw new FS.ErrnoError(20)}else n=FS.mknod(e,t,0),o=!0;if(!n)throw new FS.ErrnoError(44);if(FS.isChrdev(n.mode)&&(r&=-513),r&65536&&!FS.isDir(n.mode))throw new FS.ErrnoError(54);if(!o){var _=FS.mayOpen(n,r);if(_)throw new FS.ErrnoError(_)}r&512&&!o&&FS.truncate(n,0),r&=-131713;var l=FS.createStream({node:n,path:FS.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return l.stream_ops.open&&l.stream_ops.open(l),Module.logReadFiles&&!(r&1)&&(e in FS.readFiles||(FS.readFiles[e]=1)),l},close(e){if(FS.isClosed(e))throw new FS.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(r){throw r}finally{FS.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new FS.ErrnoError(70);if(t!=0&&t!=1&&t!=2)throw new FS.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,a){if(n<0||a<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if((e.flags&2097155)===1)throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.read)throw new FS.ErrnoError(28);var o=typeof a<"u";if(!o)a=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var _=e.stream_ops.read(e,r,t,n,a);return o||(e.position+=_),_},write(e,r,t,n,a,o){if(n<0||a<0)throw new FS.ErrnoError(28);if(FS.isClosed(e))throw new FS.ErrnoError(8);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(FS.isDir(e.node.mode))throw new FS.ErrnoError(31);if(!e.stream_ops.write)throw new FS.ErrnoError(28);e.seekable&&e.flags&1024&&FS.llseek(e,0,2);var _=typeof a<"u";if(!_)a=e.position;else if(!e.seekable)throw new FS.ErrnoError(70);var l=e.stream_ops.write(e,r,t,n,a,o);return _||(e.position+=l),l},allocate(e,r,t){if(FS.isClosed(e))throw new FS.ErrnoError(8);if(r<0||t<=0)throw new FS.ErrnoError(28);if(!(e.flags&2097155))throw new FS.ErrnoError(8);if(!FS.isFile(e.node.mode)&&!FS.isDir(e.node.mode))throw new FS.ErrnoError(43);if(!e.stream_ops.allocate)throw new FS.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,a){if(n&2&&!(a&2)&&(e.flags&2097155)!==2)throw new FS.ErrnoError(2);if((e.flags&2097155)===1)throw new FS.ErrnoError(2);if(!e.stream_ops.mmap)throw new FS.ErrnoError(43);if(!r)throw new FS.ErrnoError(28);return e.stream_ops.mmap(e,r,t,n,a)},msync(e,r,t,n,a){return e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,a):0},ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new FS.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary",r.encoding!=="utf8"&&r.encoding!=="binary")throw new Error('Invalid encoding type "'.concat(r.encoding,'"'));var t,n=FS.open(e,r.flags),a=FS.stat(e),o=a.size,_=new Uint8Array(o);return FS.read(n,_,0,o,0),r.encoding==="utf8"?t=UTF8ArrayToString(_):r.encoding==="binary"&&(t=_),FS.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=FS.open(e,t.flags,t.mode);if(typeof r=="string"){var a=new Uint8Array(lengthBytesUTF8(r)+1),o=stringToUTF8Array(r,a,0,a.length);FS.write(n,a,0,o,void 0,t.canOwn)}else if(ArrayBuffer.isView(r))FS.write(n,r,0,r.byteLength,void 0,t.canOwn);else throw new Error("Unsupported data type");FS.close(n)},cwd:()=>FS.currentPath,chdir(e){var r=FS.lookupPath(e,{follow:!0});if(r.node===null)throw new FS.ErrnoError(44);if(!FS.isDir(r.node.mode))throw new FS.ErrnoError(54);var t=FS.nodePermissions(r.node,"x");if(t)throw new FS.ErrnoError(t);FS.currentPath=r.path},createDefaultDirectories(){FS.mkdir("/tmp"),FS.mkdir("/home"),FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev"),FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(n,a,o,_,l)=>_}),FS.mkdev("/dev/null",FS.makedev(1,3)),TTY.register(FS.makedev(5,0),TTY.default_tty_ops),TTY.register(FS.makedev(6,0),TTY.default_tty1_ops),FS.mkdev("/dev/tty",FS.makedev(5,0)),FS.mkdev("/dev/tty1",FS.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(r===0&&(r=randomFill(e).byteLength),e[--r]);FS.createDevice("/dev","random",t),FS.createDevice("/dev","urandom",t),FS.mkdir("/dev/shm"),FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var e=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd"),FS.mount({mount(){var r=FS.createNode(e,"fd",16895,73);return r.node_ops={lookup(t,n){var a=+n,o=FS.getStreamChecked(a),_={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return _.parent=_,_}},r}},{},"/proc/self/fd")},createStandardStreams(e,r,t){e?FS.createDevice("/dev","stdin",e):FS.symlink("/dev/tty","/dev/stdin"),r?FS.createDevice("/dev","stdout",null,r):FS.symlink("/dev/tty","/dev/stdout"),t?FS.createDevice("/dev","stderr",null,t):FS.symlink("/dev/tty1","/dev/stderr");var n=FS.open("/dev/stdin",0),a=FS.open("/dev/stdout",1),o=FS.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{FS.genericErrors[e]=new FS.ErrnoError(e),FS.genericErrors[e].stack="<generic error, no stack>"}),FS.nameTable=new Array(4096),FS.mount(MEMFS,{},"/"),FS.createDefaultDirectories(),FS.createDefaultDevices(),FS.createSpecialDirectories(),FS.filesystems={MEMFS}},init(e,r,t){FS.initialized=!0,e!=null||(e=Module.stdin),r!=null||(r=Module.stdout),t!=null||(t=Module.stderr),FS.createStandardStreams(e,r,t)},quit(){FS.initialized=!1;for(var e=0;e<FS.streams.length;e++){var r=FS.streams[e];r&&FS.close(r)}},findObject(e,r){var t=FS.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{var t=FS.lookupPath(e,{follow:!r});e=t.path}catch(a){}var n={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=FS.lookupPath(e,{parent:!0});n.parentExists=!0,n.parentPath=t.path,n.parentObject=t.node,n.name=PATH.basename(e),t=FS.lookupPath(e,{follow:!r}),n.exists=!0,n.path=t.path,n.object=t.node,n.name=t.node.name,n.isRoot=t.path==="/"}catch(a){n.error=a.errno}return n},createPath(e,r,t,n){e=typeof e=="string"?e:FS.getPath(e);for(var a=r.split("/").reverse();a.length;){var o=a.pop();if(o){var _=PATH.join2(e,o);try{FS.mkdir(_)}catch(l){}e=_}}return _},createFile(e,r,t,n,a){var o=PATH.join2(typeof e=="string"?e:FS.getPath(e),r),_=FS_getMode(n,a);return FS.create(o,_)},createDataFile(e,r,t,n,a,o){var _=r;e&&(e=typeof e=="string"?e:FS.getPath(e),_=r?PATH.join2(e,r):e);var l=FS_getMode(n,a),c=FS.create(_,l);if(t){if(typeof t=="string"){for(var u=new Array(t.length),d=0,f=t.length;d<f;++d)u[d]=t.charCodeAt(d);t=u}FS.chmod(c,l|146);var p=FS.open(c,577);FS.write(p,t,0,t.length,0,o),FS.close(p),FS.chmod(c,l)}},createDevice(e,r,t,n){var l,c;var a=PATH.join2(typeof e=="string"?e:FS.getPath(e),r),o=FS_getMode(!!t,!!n);(c=(l=FS.createDevice).major)!=null||(l.major=64);var _=FS.makedev(FS.createDevice.major++,0);return FS.registerDevice(_,{open(u){u.seekable=!1},close(u){var d;(d=n==null?void 0:n.buffer)!=null&&d.length&&n(10)},read(u,d,f,p,m){for(var v=0,g=0;g<p;g++){var S;try{S=t()}catch(h){throw new FS.ErrnoError(29)}if(S===void 0&&v===0)throw new FS.ErrnoError(6);if(S==null)break;v++,d[f+g]=S}return v&&(u.node.timestamp=Date.now()),v},write(u,d,f,p,m){for(var v=0;v<p;v++)try{n(d[f+v])}catch(g){throw new FS.ErrnoError(29)}return p&&(u.node.timestamp=Date.now()),v}}),FS.mkdev(a,o,_)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<"u")throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=readBinary(e.url),e.usedBytes=e.contents.length}catch(r){throw new FS.ErrnoError(29)}},createLazyFile(e,r,t,n,a){class o{constructor(){X(this,"lengthKnown",!1);X(this,"chunks",[])}get(m){if(!(m>this.length-1||m<0)){var v=m%this.chunkSize,g=m/this.chunkSize|0;return this.getter(g)[v]}}setDataGetter(m){this.getter=m}cacheLength(){var m=new XMLHttpRequest;if(m.open("HEAD",t,!1),m.send(null),!(m.status>=200&&m.status<300||m.status===304))throw new Error("Couldn't load "+t+". Status: "+m.status);var v=Number(m.getResponseHeader("Content-length")),g,S=(g=m.getResponseHeader("Accept-Ranges"))&&g==="bytes",h=(g=m.getResponseHeader("Content-Encoding"))&&g==="gzip",b=1024*1024;S||(b=v);var A=(L,F)=>{if(L>F)throw new Error("invalid range ("+L+", "+F+") or no bytes requested!");if(F>v-1)throw new Error("only "+v+" bytes available! programmer error!");var y=new XMLHttpRequest;if(y.open("GET",t,!1),v!==b&&y.setRequestHeader("Range","bytes="+L+"-"+F),y.responseType="arraybuffer",y.overrideMimeType&&y.overrideMimeType("text/plain; charset=x-user-defined"),y.send(null),!(y.status>=200&&y.status<300||y.status===304))throw new Error("Couldn't load "+t+". Status: "+y.status);return y.response!==void 0?new Uint8Array(y.response||[]):intArrayFromString(y.responseText||"",!0)},w=this;w.setDataGetter(L=>{var F=L*b,y=(L+1)*b-1;if(y=Math.min(y,v-1),typeof w.chunks[L]>"u"&&(w.chunks[L]=A(F,y)),typeof w.chunks[L]>"u")throw new Error("doXHR failed!");return w.chunks[L]}),(h||!v)&&(b=v=1,v=this.getter(0).length,b=v,out("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=v,this._chunkSize=b,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<"u"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var _=new o,l={isDevice:!1,contents:_}}else var l={isDevice:!1,url:t};var c=FS.createFile(e,r,l,n,a);l.contents?c.contents=l.contents:l.url&&(c.contents=null,c.url=l.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var u={},d=Object.keys(c.stream_ops);d.forEach(p=>{var m=c.stream_ops[p];u[p]=(...v)=>(FS.forceLoadFile(c),m(...v))});function f(p,m,v,g,S){var h=p.node.contents;if(S>=h.length)return 0;var b=Math.min(h.length-S,g);if(h.slice)for(var A=0;A<b;A++)m[v+A]=h[S+A];else for(var A=0;A<b;A++)m[v+A]=h.get(S+A);return b}return u.read=(p,m,v,g,S)=>(FS.forceLoadFile(c),f(p,m,v,g,S)),u.mmap=(p,m,v,g,S)=>{FS.forceLoadFile(c);var h=mmapAlloc(m);if(!h)throw new FS.ErrnoError(48);return f(p,HEAP8,h,m,v),{ptr:h,allocated:!0}},c.stream_ops=u,c}},SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(PATH.isAbs(r))return r;var n;if(e===-100)n=FS.cwd();else{var a=SYSCALLS.getStreamFromFD(e);n=a.path}if(r.length==0){if(!t)throw new FS.ErrnoError(44);return n}return PATH.join2(n,r)},doStat(e,r,t){var n=e(r);HEAP32[t>>>2>>>0]=n.dev,HEAP32[t+4>>>2>>>0]=n.mode,HEAPU32[t+8>>>2>>>0]=n.nlink,HEAP32[t+12>>>2>>>0]=n.uid,HEAP32[t+16>>>2>>>0]=n.gid,HEAP32[t+20>>>2>>>0]=n.rdev,tempI64=[n.size>>>0,(tempDouble=n.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+24>>>2>>>0]=tempI64[0],HEAP32[t+28>>>2>>>0]=tempI64[1],HEAP32[t+32>>>2>>>0]=4096,HEAP32[t+36>>>2>>>0]=n.blocks;var a=n.atime.getTime(),o=n.mtime.getTime(),_=n.ctime.getTime();return tempI64=[Math.floor(a/1e3)>>>0,(tempDouble=Math.floor(a/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+40>>>2>>>0]=tempI64[0],HEAP32[t+44>>>2>>>0]=tempI64[1],HEAPU32[t+48>>>2>>>0]=a%1e3*1e3*1e3,tempI64=[Math.floor(o/1e3)>>>0,(tempDouble=Math.floor(o/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+56>>>2>>>0]=tempI64[0],HEAP32[t+60>>>2>>>0]=tempI64[1],HEAPU32[t+64>>>2>>>0]=o%1e3*1e3*1e3,tempI64=[Math.floor(_/1e3)>>>0,(tempDouble=Math.floor(_/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+72>>>2>>>0]=tempI64[0],HEAP32[t+76>>>2>>>0]=tempI64[1],HEAPU32[t+80>>>2>>>0]=_%1e3*1e3*1e3,tempI64=[n.ino>>>0,(tempDouble=n.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[t+88>>>2>>>0]=tempI64[0],HEAP32[t+92>>>2>>>0]=tempI64[1],0},doMsync(e,r,t,n,a){if(!FS.isFile(r.node.mode))throw new FS.ErrnoError(43);if(n&2)return 0;var o=HEAPU8.slice(e,e+t);FS.msync(r,o,a,t,n)},getStreamFromFD(e){var r=FS.getStreamChecked(e);return r},varargs:void 0,getStr(e){var r=UTF8ToString(e);return r}},___syscall__newselect=function(e,r,t,n,a){r>>>=0,t>>>=0,n>>>=0,a>>>=0;try{for(var o=0,_=r?HEAP32[r>>>2>>>0]:0,l=r?HEAP32[r+4>>>2>>>0]:0,c=t?HEAP32[t>>>2>>>0]:0,u=t?HEAP32[t+4>>>2>>>0]:0,d=n?HEAP32[n>>>2>>>0]:0,f=n?HEAP32[n+4>>>2>>>0]:0,p=0,m=0,v=0,g=0,S=0,h=0,b=(r?HEAP32[r>>>2>>>0]:0)|(t?HEAP32[t>>>2>>>0]:0)|(n?HEAP32[n>>>2>>>0]:0),A=(r?HEAP32[r+4>>>2>>>0]:0)|(t?HEAP32[t+4>>>2>>>0]:0)|(n?HEAP32[n+4>>>2>>>0]:0),w=(T,C,M,G)=>T<32?C&G:M&G,L=0;L<e;L++){var F=1<<L%32;if(w(L,b,A,F)){var y=SYSCALLS.getStreamFromFD(L),D=SYSCALLS.DEFAULT_POLLMASK;if(y.stream_ops.poll){var P=-1;if(a){var k=r?HEAP32[a>>>2>>>0]:0,x=r?HEAP32[a+4>>>2>>>0]:0;P=(k+x/1e6)*1e3}D=y.stream_ops.poll(y,P)}D&1&&w(L,_,l,F)&&(L<32?p=p|F:m=m|F,o++),D&4&&w(L,c,u,F)&&(L<32?v=v|F:g=g|F,o++),D&2&&w(L,d,f,F)&&(L<32?S=S|F:h=h|F,o++)}}return r&&(HEAP32[r>>>2>>>0]=p,HEAP32[r+4>>>2>>>0]=m),t&&(HEAP32[t>>>2>>>0]=v,HEAP32[t+4>>>2>>>0]=g),n&&(HEAP32[n>>>2>>>0]=S,HEAP32[n+4>>>2>>>0]=h),o}catch(T){if(typeof FS>"u"||T.name!=="ErrnoError")throw T;return-T.errno}};___syscall__newselect.sig="iipppp";var SOCKFS={websocketArgs:{},callbacks:{},on(e,r){SOCKFS.callbacks[e]=r},emit(e,r){var t,n;(n=(t=SOCKFS.callbacks)[e])==null||n.call(t,r)},mount(e){var r;return SOCKFS.websocketArgs=Module.websocket||{},((r=Module.websocket)!=null?r:Module.websocket={}).on=SOCKFS.on,FS.createNode(null,"/",16895,0)},createSocket(e,r,t){r&=-526337;var n=r==1;if(n&&t&&t!=6)throw new FS.ErrnoError(66);var a={family:e,type:r,protocol:t,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops},o=SOCKFS.nextname(),_=FS.createNode(SOCKFS.root,o,49152,0);_.sock=a;var l=FS.createStream({path:o,node:_,flags:2,seekable:!1,stream_ops:SOCKFS.stream_ops});return a.stream=l,a},getSocket(e){var r=FS.getStream(e);return!r||!FS.isSocket(r.node.mode)?null:r.node.sock},stream_ops:{poll(e){var r=e.node.sock;return r.sock_ops.poll(r)},ioctl(e,r,t){var n=e.node.sock;return n.sock_ops.ioctl(n,r,t)},read(e,r,t,n,a){var o=e.node.sock,_=o.sock_ops.recvmsg(o,n);return _?(r.set(_.buffer,t),_.buffer.length):0},write(e,r,t,n,a){var o=e.node.sock;return o.sock_ops.sendmsg(o,r,t,n)},close(e){var r=e.node.sock;r.sock_ops.close(r)}},nextname(){return SOCKFS.nextname.current||(SOCKFS.nextname.current=0),"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer(e,r,t){var n;if(typeof r=="object"&&(n=r,r=null,t=null),n)if(n._socket)r=n._socket.remoteAddress,t=n._socket.remotePort;else{var a=/ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);if(!a)throw new Error("WebSocket URL must be in the format ws(s)://address:port");r=a[1],t=parseInt(a[2],10)}else try{var o="ws:#".replace("#","//"),_="binary",l=void 0;if(SOCKFS.websocketArgs.url&&(o=SOCKFS.websocketArgs.url),SOCKFS.websocketArgs.subprotocol?_=SOCKFS.websocketArgs.subprotocol:SOCKFS.websocketArgs.subprotocol===null&&(_="null"),o==="ws://"||o==="wss://"){var c=r.split("/");o=o+c[0]+":"+t+"/"+c.slice(1).join("/")}_!=="null"&&(_=_.replace(/^ +| +$/g,"").split(/ *, */),l=_);var u;ENVIRONMENT_IS_NODE?u=fe():u=WebSocket,n=new u(o,l),n.binaryType="arraybuffer"}catch(f){throw new FS.ErrnoError(23)}var d={addr:r,port:t,socket:n,msg_send_queue:[]};return SOCKFS.websocket_sock_ops.addPeer(e,d),SOCKFS.websocket_sock_ops.handlePeerEvents(e,d),e.type===2&&typeof e.sport<"u"&&d.msg_send_queue.push(new Uint8Array([255,255,255,255,112,111,114,116,(e.sport&65280)>>8,e.sport&255])),d},getPeer(e,r,t){return e.peers[r+":"+t]},addPeer(e,r){e.peers[r.addr+":"+r.port]=r},removePeer(e,r){delete e.peers[r.addr+":"+r.port]},handlePeerEvents(e,r){var t=!0,n=function(){e.connecting=!1,SOCKFS.emit("open",e.stream.fd);try{for(var o=r.msg_send_queue.shift();o;)r.socket.send(o),o=r.msg_send_queue.shift()}catch(_){r.socket.close()}};function a(o){if(typeof o=="string"){var _=new TextEncoder;o=_.encode(o)}else{if(assert(o.byteLength!==void 0),o.byteLength==0)return;o=new Uint8Array(o)}var l=t;if(t=!1,l&&o.length===10&&o[0]===255&&o[1]===255&&o[2]===255&&o[3]===255&&o[4]===112&&o[5]===111&&o[6]===114&&o[7]===116){var c=o[8]<<8|o[9];SOCKFS.websocket_sock_ops.removePeer(e,r),r.port=c,SOCKFS.websocket_sock_ops.addPeer(e,r);return}e.recv_queue.push({addr:r.addr,port:r.port,data:o}),SOCKFS.emit("message",e.stream.fd)}ENVIRONMENT_IS_NODE?(r.socket.on("open",n),r.socket.on("message",function(o,_){_&&a(new Uint8Array(o).buffer)}),r.socket.on("close",function(){SOCKFS.emit("close",e.stream.fd)}),r.socket.on("error",function(o){e.error=14,SOCKFS.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})):(r.socket.onopen=n,r.socket.onclose=function(){SOCKFS.emit("close",e.stream.fd)},r.socket.onmessage=function(_){a(_.data)},r.socket.onerror=function(o){e.error=14,SOCKFS.emit("error",[e.stream.fd,e.error,"ECONNREFUSED: Connection refused"])})},poll(e){if(e.type===1&&e.server)return e.pending.length?65:0;var r=0,t=e.type===1?SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport):null;return(e.recv_queue.length||!t||t&&t.socket.readyState===t.socket.CLOSING||t&&t.socket.readyState===t.socket.CLOSED)&&(r|=65),(!t||t&&t.socket.readyState===t.socket.OPEN)&&(r|=4),(t&&t.socket.readyState===t.socket.CLOSING||t&&t.socket.readyState===t.socket.CLOSED)&&(e.connecting?r|=4:r|=16),r},ioctl(e,r,t){switch(r){case 21531:var n=0;return e.recv_queue.length&&(n=e.recv_queue[0].data.length),HEAP32[t>>>2>>>0]=n,0;default:return 28}},close(e){if(e.server){try{e.server.close()}catch(a){}e.server=null}for(var r=Object.keys(e.peers),t=0;t<r.length;t++){var n=e.peers[r[t]];try{n.socket.close()}catch(a){}SOCKFS.websocket_sock_ops.removePeer(e,n)}return 0},bind(e,r,t){if(typeof e.saddr<"u"||typeof e.sport<"u")throw new FS.ErrnoError(28);if(e.saddr=r,e.sport=t,e.type===2){e.server&&(e.server.close(),e.server=null);try{e.sock_ops.listen(e,0)}catch(n){if(n.name!=="ErrnoError"||n.errno!==138)throw n}}},connect(e,r,t){if(e.server)throw new FS.ErrnoError(138);if(typeof e.daddr<"u"&&typeof e.dport<"u"){var n=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(n)throw n.socket.readyState===n.socket.CONNECTING?new FS.ErrnoError(7):new FS.ErrnoError(30)}var a=SOCKFS.websocket_sock_ops.createPeer(e,r,t);e.daddr=a.addr,e.dport=a.port,e.connecting=!0},listen(e,r){if(!ENVIRONMENT_IS_NODE)throw new FS.ErrnoError(138);if(e.server)throw new FS.ErrnoError(28);var t=fe().Server,n=e.saddr;e.server=new t({host:n,port:e.sport}),SOCKFS.emit("listen",e.stream.fd),e.server.on("connection",function(a){if(e.type===1){var o=SOCKFS.createSocket(e.family,e.type,e.protocol),_=SOCKFS.websocket_sock_ops.createPeer(o,a);o.daddr=_.addr,o.dport=_.port,e.pending.push(o),SOCKFS.emit("connection",o.stream.fd)}else SOCKFS.websocket_sock_ops.createPeer(e,a),SOCKFS.emit("connection",e.stream.fd)}),e.server.on("close",function(){SOCKFS.emit("close",e.stream.fd),e.server=null}),e.server.on("error",function(a){e.error=23,SOCKFS.emit("error",[e.stream.fd,e.error,"EHOSTUNREACH: Host is unreachable"])})},accept(e){if(!e.server||!e.pending.length)throw new FS.ErrnoError(28);var r=e.pending.shift();return r.stream.flags=e.stream.flags,r},getname(e,r){var t,n;if(r){if(e.daddr===void 0||e.dport===void 0)throw new FS.ErrnoError(53);t=e.daddr,n=e.dport}else t=e.saddr||0,n=e.sport||0;return{addr:t,port:n}},sendmsg(e,r,t,n,a,o){if(e.type===2){if((a===void 0||o===void 0)&&(a=e.daddr,o=e.dport),a===void 0||o===void 0)throw new FS.ErrnoError(17)}else a=e.daddr,o=e.dport;var _=SOCKFS.websocket_sock_ops.getPeer(e,a,o);if(e.type===1&&(!_||_.socket.readyState===_.socket.CLOSING||_.socket.readyState===_.socket.CLOSED))throw new FS.ErrnoError(53);ArrayBuffer.isView(r)&&(t+=r.byteOffset,r=r.buffer);var l;if(l=r.slice(t,t+n),!_||_.socket.readyState!==_.socket.OPEN)return e.type===2&&(!_||_.socket.readyState===_.socket.CLOSING||_.socket.readyState===_.socket.CLOSED)&&(_=SOCKFS.websocket_sock_ops.createPeer(e,a,o)),_.msg_send_queue.push(l),n;try{return _.socket.send(l),n}catch(c){throw new FS.ErrnoError(28)}},recvmsg(e,r){if(e.type===1&&e.server)throw new FS.ErrnoError(53);var t=e.recv_queue.shift();if(!t){if(e.type===1){var n=SOCKFS.websocket_sock_ops.getPeer(e,e.daddr,e.dport);if(!n)throw new FS.ErrnoError(53);if(n.socket.readyState===n.socket.CLOSING||n.socket.readyState===n.socket.CLOSED)return null;throw new FS.ErrnoError(6)}throw new FS.ErrnoError(6)}var a=t.data.byteLength||t.data.length,o=t.data.byteOffset||0,_=t.data.buffer||t.data,l=Math.min(r,a),c={buffer:new Uint8Array(_,o,l),addr:t.addr,port:t.port};if(e.type===1&&l<a){var u=a-l;t.data=new Uint8Array(_,o+l,u),e.recv_queue.unshift(t)}return c}}},getSocketFromFD=e=>{var r=SOCKFS.getSocket(e);if(!r)throw new FS.ErrnoError(8);return r},Sockets={BUFFER_SIZE:10240,MAX_BUFFER_SIZE:10485760,nextFd:1,fds:{},nextport:1,maxport:65535,peer:null,connections:{},portmap:{},localAddr:4261412874,addrPool:[33554442,50331658,67108874,83886090,100663306,117440522,134217738,150994954,167772170,184549386,201326602,218103818,234881034]},inetPton4=e=>{for(var r=e.split("."),t=0;t<4;t++){var n=Number(r[t]);if(isNaN(n))return null;r[t]=n}return(r[0]|r[1]<<8|r[2]<<16|r[3]<<24)>>>0},jstoi_q=e=>parseInt(e),inetPton6=e=>{var r,t,n,a,o,_=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i,l=[];if(!_.test(e))return null;if(e==="::")return[0,0,0,0,0,0,0,0];for(e.startsWith("::")?e=e.replace("::","Z:"):e=e.replace("::",":Z:"),e.indexOf(".")>0?(e=e.replace(new RegExp("[.]","g"),":"),r=e.split(":"),r[r.length-4]=jstoi_q(r[r.length-4])+jstoi_q(r[r.length-3])*256,r[r.length-3]=jstoi_q(r[r.length-2])+jstoi_q(r[r.length-1])*256,r=r.slice(0,r.length-2)):r=e.split(":"),n=0,a=0,t=0;t<r.length;t++)if(typeof r[t]=="string")if(r[t]==="Z"){for(a=0;a<8-r.length+1;a++)l[t+a]=0;n=a-1}else l[t+n]=_htons(parseInt(r[t],16));else l[t+n]=r[t];return[l[1]<<16|l[0],l[3]<<16|l[2],l[5]<<16|l[4],l[7]<<16|l[6]]},writeSockaddr=(e,r,t,n,a)=>{switch(r){case 2:t=inetPton4(t),zeroMemory(e,16),a&&(HEAP32[a>>>2>>>0]=16),HEAP16[e>>>1>>>0]=r,HEAP32[e+4>>>2>>>0]=t,HEAP16[e+2>>>1>>>0]=_htons(n);break;case 10:t=inetPton6(t),zeroMemory(e,28),a&&(HEAP32[a>>>2>>>0]=28),HEAP32[e>>>2>>>0]=r,HEAP32[e+8>>>2>>>0]=t[0],HEAP32[e+12>>>2>>>0]=t[1],HEAP32[e+16>>>2>>>0]=t[2],HEAP32[e+20>>>2>>>0]=t[3],HEAP16[e+2>>>1>>>0]=_htons(n);break;default:return 5}return 0},DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(e){var r=inetPton4(e);if(r!==null||(r=inetPton6(e),r!==null))return e;var t;if(DNS.address_map.addrs[e])t=DNS.address_map.addrs[e];else{var n=DNS.address_map.id++;assert(n<65535,"exceeded max address mappings of 65535"),t="172.29."+(n&255)+"."+(n&65280),DNS.address_map.names[t]=e,DNS.address_map.addrs[e]=t}return t},lookup_addr(e){return DNS.address_map.names[e]?DNS.address_map.names[e]:null}};function ___syscall_accept4(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=_.sock_ops.accept(_);if(r)var c=writeSockaddr(r,l.family,DNS.lookup_name(l.daddr),l.dport,t);return l.stream.fd}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_accept4.sig="iippiii";var inetNtop4=e=>(e&255)+"."+(e>>8&255)+"."+(e>>16&255)+"."+(e>>24&255),inetNtop6=e=>{var r="",t=0,n=0,a=0,o=0,_=0,l=0,c=[e[0]&65535,e[0]>>16,e[1]&65535,e[1]>>16,e[2]&65535,e[2]>>16,e[3]&65535,e[3]>>16],u=!0,d="";for(l=0;l<5;l++)if(c[l]!==0){u=!1;break}if(u){if(d=inetNtop4(c[6]|c[7]<<16),c[5]===-1)return r="::ffff:",r+=d,r;if(c[5]===0)return r="::",d==="0.0.0.0"&&(d=""),d==="0.0.0.1"&&(d="1"),r+=d,r}for(t=0;t<8;t++)c[t]===0&&(t-a>1&&(_=0),a=t,_++),_>n&&(n=_,o=t-n+1);for(t=0;t<8;t++){if(n>1&&c[t]===0&&t>=o&&t<o+n){t===o&&(r+=":",o===0&&(r+=":"));continue}r+=Number(_ntohs(c[t]&65535)).toString(16),r+=t<7?":":""}return r},readSockaddr=(e,r)=>{var t=HEAP16[e>>>1>>>0],n=_ntohs(HEAPU16[e+2>>>1>>>0]),a;switch(t){case 2:if(r!==16)return{errno:28};a=HEAP32[e+4>>>2>>>0],a=inetNtop4(a);break;case 10:if(r!==28)return{errno:28};a=[HEAP32[e+8>>>2>>>0],HEAP32[e+12>>>2>>>0],HEAP32[e+16>>>2>>>0],HEAP32[e+20>>>2>>>0]],a=inetNtop6(a);break;default:return{errno:5}}return{family:t,addr:a,port:n}},getSocketAddress=(e,r)=>{var t=readSockaddr(e,r);if(t.errno)throw new FS.ErrnoError(t.errno);return t.addr=DNS.lookup_addr(t.addr)||t.addr,t};function ___syscall_bind(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=getSocketAddress(r,t);return _.sock_ops.bind(_,l.addr,l.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_bind.sig="iippiii";function ___syscall_chdir(e){e>>>=0;try{return e=SYSCALLS.getStr(e),FS.chdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_chdir.sig="ip";function ___syscall_chmod(e,r){e>>>=0;try{return e=SYSCALLS.getStr(e),FS.chmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_chmod.sig="ipi";function ___syscall_connect(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=getSocketAddress(r,t);return _.sock_ops.connect(_,l.addr,l.port),0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_connect.sig="iippiii";function ___syscall_dup(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.dupStream(r).fd}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_dup.sig="ii";function ___syscall_dup3(e,r,t){try{var n=SYSCALLS.getStreamFromFD(e);if(n.fd===r)return-28;if(r<0||r>=FS.MAX_OPEN_FDS)return-8;var a=FS.getStream(r);return a&&FS.close(a),FS.dupStream(n,r).fd}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_dup3.sig="iiii";function ___syscall_faccessat(e,r,t,n){r>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&-8)return-28;var a=FS.lookupPath(r,{follow:!0}),o=a.node;if(!o)return-44;var _="";return t&4&&(_+="r"),t&2&&(_+="w"),t&1&&(_+="x"),_&&FS.nodePermissions(o,_)?-2:0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_faccessat.sig="iipii";var ___syscall_fadvise64=(e,r,t,n)=>0;___syscall_fadvise64.sig="iiiiiii";function ___syscall_fallocate(e,r,t,n,a,o){var _=convertI32PairToI53Checked(t,n),l=convertI32PairToI53Checked(a,o);try{if(isNaN(_))return 61;var c=SYSCALLS.getStreamFromFD(e);return FS.allocate(c,_,l),0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_fallocate.sig="iiiiiii";function ___syscall_fchdir(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.chdir(r.path),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fchdir.sig="ii";function ___syscall_fchmod(e,r){try{return FS.fchmod(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fchmod.sig="iii";function ___syscall_fchmodat2(e,r,t,n){r>>>=0;try{var a=n&256;return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),FS.chmod(r,t,a),0}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_fchmodat2.sig="iipii";function ___syscall_fchown32(e,r,t){try{return FS.fchown(e,r,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fchown32.sig="iiii";function ___syscall_fchownat(e,r,t,n,a){r>>>=0;try{r=SYSCALLS.getStr(r);var o=a&256;return a=a&-257,r=SYSCALLS.calculateAt(e,r),(o?FS.lchown:FS.chown)(r,t,n),0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_fchownat.sig="iipiii";var syscallGetVarargI=()=>{var e=HEAP32[+SYSCALLS.varargs>>>2>>>0];return SYSCALLS.varargs+=4,e},syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(e,r,t){t>>>=0,SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 0:{var a=syscallGetVarargI();if(a<0)return-28;for(;FS.streams[a];)a++;var o;return o=FS.dupStream(n,a),o.fd}case 1:case 2:return 0;case 3:return n.flags;case 4:{var a=syscallGetVarargI();return n.flags|=a,0}case 12:{var a=syscallGetVarargP(),_=0;return HEAP16[a+_>>>1>>>0]=2,0}case 13:case 14:return 0}return-28}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_fcntl64.sig="iiip";function ___syscall_fdatasync(e){try{var r=SYSCALLS.getStreamFromFD(e);return 0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_fdatasync.sig="ii";function ___syscall_fstat64(e,r){r>>>=0;try{var t=SYSCALLS.getStreamFromFD(e);return SYSCALLS.doStat(FS.stat,t.path,r)}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_fstat64.sig="iip";function ___syscall_statfs64(e,r,t){e>>>=0,r>>>=0,t>>>=0;try{return e=SYSCALLS.getStr(e),HEAP32[t+4>>>2>>>0]=4096,HEAP32[t+40>>>2>>>0]=4096,HEAP32[t+8>>>2>>>0]=1e6,HEAP32[t+12>>>2>>>0]=5e5,HEAP32[t+16>>>2>>>0]=5e5,HEAP32[t+20>>>2>>>0]=FS.nextInode,HEAP32[t+24>>>2>>>0]=1e6,HEAP32[t+28>>>2>>>0]=42,HEAP32[t+44>>>2>>>0]=2,HEAP32[t+36>>>2>>>0]=255,0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_statfs64.sig="ippp";function ___syscall_fstatfs64(e,r,t){r>>>=0,t>>>=0;try{var n=SYSCALLS.getStreamFromFD(e);return ___syscall_statfs64(0,r,t)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_fstatfs64.sig="iipp";function ___syscall_ftruncate64(e,r,t){var n=convertI32PairToI53Checked(r,t);try{return isNaN(n)?61:(FS.ftruncate(e,n),0)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_ftruncate64.sig="iiii";var stringToUTF8=(e,r,t)=>stringToUTF8Array(e,HEAPU8,r,t);Module.stringToUTF8=stringToUTF8;function ___syscall_getcwd(e,r){e>>>=0,r>>>=0;try{if(r===0)return-28;var t=FS.cwd(),n=lengthBytesUTF8(t)+1;return r<n?-68:(stringToUTF8(t,e,r),n)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_getcwd.sig="ipp";function ___syscall_getdents64(e,r,t){r>>>=0,t>>>=0;try{var n=SYSCALLS.getStreamFromFD(e);n.getdents||(n.getdents=FS.readdir(n.path));for(var a=280,o=0,_=FS.llseek(n,0,1),l=Math.floor(_/a);l<n.getdents.length&&o+a<=t;){var c,u,d=n.getdents[l];if(d===".")c=n.node.id,u=4;else if(d===".."){var f=FS.lookupPath(n.path,{parent:!0});c=f.node.id,u=4}else{var p=FS.lookupNode(n.node,d);c=p.id,u=FS.isChrdev(p.mode)?2:FS.isDir(p.mode)?4:FS.isLink(p.mode)?10:8}tempI64=[c>>>0,(tempDouble=c,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+o>>>2>>>0]=tempI64[0],HEAP32[r+o+4>>>2>>>0]=tempI64[1],tempI64=[(l+1)*a>>>0,(tempDouble=(l+1)*a,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+o+8>>>2>>>0]=tempI64[0],HEAP32[r+o+12>>>2>>>0]=tempI64[1],HEAP16[r+o+16>>>1>>>0]=280,HEAP8[r+o+18>>>0]=u,stringToUTF8(d,r+o+19,256),o+=a,l+=1}return FS.llseek(n,l*a,0),o}catch(m){if(typeof FS>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}___syscall_getdents64.sig="iipp";function ___syscall_getpeername(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e);if(!_.daddr)return-53;var l=writeSockaddr(r,_.family,DNS.lookup_name(_.daddr),_.dport,t);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getpeername.sig="iippiii";function ___syscall_getsockname(e,r,t,n,a,o){r>>>=0,t>>>=0;try{var _=getSocketFromFD(e),l=writeSockaddr(r,_.family,DNS.lookup_name(_.saddr||"0.0.0.0"),_.sport,t);return 0}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_getsockname.sig="iippiii";function ___syscall_getsockopt(e,r,t,n,a,o){n>>>=0,a>>>=0;try{var _=getSocketFromFD(e);return r===1&&t===4?(HEAP32[n>>>2>>>0]=_.error,HEAP32[a>>>2>>>0]=4,_.error=null,0):-50}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_getsockopt.sig="iiiippi";function ___syscall_ioctl(e,r,t){t>>>=0,SYSCALLS.varargs=t;try{var n=SYSCALLS.getStreamFromFD(e);switch(r){case 21509:return n.tty?0:-59;case 21505:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var a=n.tty.ops.ioctl_tcgets(n),o=syscallGetVarargP();HEAP32[o>>>2>>>0]=a.c_iflag||0,HEAP32[o+4>>>2>>>0]=a.c_oflag||0,HEAP32[o+8>>>2>>>0]=a.c_cflag||0,HEAP32[o+12>>>2>>>0]=a.c_lflag||0;for(var _=0;_<32;_++)HEAP8[o+_+17>>>0]=a.c_cc[_]||0;return 0}return 0}case 21510:case 21511:case 21512:return n.tty?0:-59;case 21506:case 21507:case 21508:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){for(var o=syscallGetVarargP(),l=HEAP32[o>>>2>>>0],c=HEAP32[o+4>>>2>>>0],u=HEAP32[o+8>>>2>>>0],d=HEAP32[o+12>>>2>>>0],f=[],_=0;_<32;_++)f.push(HEAP8[o+_+17>>>0]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:l,c_oflag:c,c_cflag:u,c_lflag:d,c_cc:f})}return 0}case 21519:{if(!n.tty)return-59;var o=syscallGetVarargP();return HEAP32[o>>>2>>>0]=0,0}case 21520:return n.tty?-28:-59;case 21531:{var o=syscallGetVarargP();return FS.ioctl(n,r,o)}case 21523:{if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var p=n.tty.ops.ioctl_tiocgwinsz(n.tty),o=syscallGetVarargP();HEAP16[o>>>1>>>0]=p[0],HEAP16[o+2>>>1>>>0]=p[1]}return 0}case 21524:return n.tty?0:-59;case 21515:return n.tty?0:-59;default:return-28}}catch(m){if(typeof FS>"u"||m.name!=="ErrnoError")throw m;return-m.errno}}___syscall_ioctl.sig="iiip";function ___syscall_listen(e,r){try{var t=getSocketFromFD(e);return t.sock_ops.listen(t,r),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_listen.sig="iiiiiii";function ___syscall_lstat64(e,r){e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.lstat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_lstat64.sig="ipp";function ___syscall_mkdirat(e,r,t){r>>>=0;try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),r=PATH.normalize(r),r[r.length-1]==="/"&&(r=r.substr(0,r.length-1)),FS.mkdir(r,t,0),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_mkdirat.sig="iipi";function ___syscall_mknodat(e,r,t,n){r>>>=0;try{switch(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return FS.mknod(r,t,n),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_mknodat.sig="iipii";function ___syscall_newfstatat(e,r,t,n){r>>>=0,t>>>=0;try{r=SYSCALLS.getStr(r);var a=n&256,o=n&4096;return n=n&-6401,r=SYSCALLS.calculateAt(e,r,o),SYSCALLS.doStat(a?FS.lstat:FS.stat,r,t)}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return-_.errno}}___syscall_newfstatat.sig="iippi";function ___syscall_openat(e,r,t,n){r>>>=0,n>>>=0,SYSCALLS.varargs=n;try{r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r);var a=n?syscallGetVarargI():0;return FS.open(r,t,a).fd}catch(o){if(typeof FS>"u"||o.name!=="ErrnoError")throw o;return-o.errno}}___syscall_openat.sig="iipip";var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(e){return FS.createNode(null,"/",16895,0)},createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=PIPEFS.nextname(),t=PIPEFS.nextname(),n=FS.createNode(PIPEFS.root,r,4096,0),a=FS.createNode(PIPEFS.root,t,4096,0);n.pipe=e,a.pipe=e;var o=FS.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:PIPEFS.stream_ops});n.stream=o;var _=FS.createStream({path:t,node:a,flags:1,seekable:!1,stream_ops:PIPEFS.stream_ops});return a.stream=_,{readable_fd:o.fd,writable_fd:_.fd}},stream_ops:{poll(e){var r=e.node.pipe;if((e.flags&2097155)===1)return 260;if(r.buckets.length>0)for(var t=0;t<r.buckets.length;t++){var n=r.buckets[t];if(n.offset-n.roffset>0)return 65}return 0},ioctl(e,r,t){return 28},fsync(e){return 28},read(e,r,t,n,a){for(var o=e.node.pipe,_=0,l=0;l<o.buckets.length;l++){var c=o.buckets[l];_+=c.offset-c.roffset}var u=r.subarray(t,t+n);if(n<=0)return 0;if(_==0)throw new FS.ErrnoError(6);for(var d=Math.min(_,n),f=d,p=0,l=0;l<o.buckets.length;l++){var m=o.buckets[l],v=m.offset-m.roffset;if(d<=v){var g=m.buffer.subarray(m.roffset,m.offset);d<v?(g=g.subarray(0,d),m.roffset+=d):p++,u.set(g);break}else{var g=m.buffer.subarray(m.roffset,m.offset);u.set(g),u=u.subarray(g.byteLength),d-=g.byteLength,p++}}return p&&p==o.buckets.length&&(p--,o.buckets[p].offset=0,o.buckets[p].roffset=0),o.buckets.splice(0,p),f},write(e,r,t,n,a){var o=e.node.pipe,_=r.subarray(t,t+n),l=_.byteLength;if(l<=0)return 0;var c=null;o.buckets.length==0?(c={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0},o.buckets.push(c)):c=o.buckets[o.buckets.length-1],assert(c.offset<=PIPEFS.BUCKET_BUFFER_SIZE);var u=PIPEFS.BUCKET_BUFFER_SIZE-c.offset;if(u>=l)return c.buffer.set(_,c.offset),c.offset+=l,l;u>0&&(c.buffer.set(_.subarray(0,u),c.offset),c.offset+=u,_=_.subarray(u,_.byteLength));for(var d=_.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0,f=_.byteLength%PIPEFS.BUCKET_BUFFER_SIZE,p=0;p<d;p++){var m={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:PIPEFS.BUCKET_BUFFER_SIZE,roffset:0};o.buckets.push(m),m.buffer.set(_.subarray(0,PIPEFS.BUCKET_BUFFER_SIZE)),_=_.subarray(PIPEFS.BUCKET_BUFFER_SIZE,_.byteLength)}if(f>0){var m={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:_.byteLength,roffset:0};o.buckets.push(m),m.buffer.set(_)}return l},close(e){var r=e.node.pipe;r.refcnt--,r.refcnt===0&&(r.buckets=null)}},nextname(){return PIPEFS.nextname.current||(PIPEFS.nextname.current=0),"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(e){e>>>=0;try{if(e==0)throw new FS.ErrnoError(21);var r=PIPEFS.createPipe();return HEAP32[e>>>2>>>0]=r.readable_fd,HEAP32[e+4>>>2>>>0]=r.writable_fd,0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_pipe.sig="ip";function ___syscall_poll(e,r,t){e>>>=0;try{for(var n=0,a=0;a<r;a++){var o=e+8*a,_=HEAP32[o>>>2>>>0],l=HEAP16[o+4>>>1>>>0],c=32,u=FS.getStream(_);u&&(c=SYSCALLS.DEFAULT_POLLMASK,u.stream_ops.poll&&(c=u.stream_ops.poll(u,-1))),c&=l|8|16,c&&n++,HEAP16[o+6>>>1>>>0]=c}return n}catch(d){if(typeof FS>"u"||d.name!=="ErrnoError")throw d;return-d.errno}}___syscall_poll.sig="ipii";function ___syscall_readlinkat(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;try{if(r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),n<=0)return-28;var a=FS.readlink(r),o=Math.min(n,lengthBytesUTF8(a)),_=HEAP8[t+o>>>0];return stringToUTF8(a,t,n+1),HEAP8[t+o>>>0]=_,o}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return-l.errno}}___syscall_readlinkat.sig="iippp";function ___syscall_recvfrom(e,r,t,n,a,o){r>>>=0,t>>>=0,a>>>=0,o>>>=0;try{var _=getSocketFromFD(e),l=_.sock_ops.recvmsg(_,t);if(!l)return 0;if(a)var c=writeSockaddr(a,_.family,DNS.lookup_name(l.addr),l.port,o);return HEAPU8.set(l.buffer,r>>>0),l.buffer.byteLength}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_recvfrom.sig="iippipp";function ___syscall_recvmsg(e,r,t,n,a,o){r>>>=0;try{for(var _=getSocketFromFD(e),l=HEAPU32[r+8>>>2>>>0],c=HEAP32[r+12>>>2>>>0],u=0,d=0;d<c;d++)u+=HEAP32[l+(8*d+4)>>>2>>>0];var f=_.sock_ops.recvmsg(_,u);if(!f)return 0;var p=HEAPU32[r>>>2>>>0];if(p)var m=writeSockaddr(p,_.family,DNS.lookup_name(f.addr),f.port);for(var v=0,g=f.buffer.byteLength,d=0;g>0&&d<c;d++){var S=HEAPU32[l+(8*d+0)>>>2>>>0],h=HEAP32[l+(8*d+4)>>>2>>>0];if(h){var b=Math.min(h,g),A=f.buffer.subarray(v,v+b);HEAPU8.set(A,S+v>>>0),v+=b,g-=b}}return v}catch(w){if(typeof FS>"u"||w.name!=="ErrnoError")throw w;return-w.errno}}___syscall_recvmsg.sig="iipiiii";function ___syscall_renameat(e,r,t,n){r>>>=0,n>>>=0;try{return r=SYSCALLS.getStr(r),n=SYSCALLS.getStr(n),r=SYSCALLS.calculateAt(e,r),n=SYSCALLS.calculateAt(t,n),FS.rename(r,n),0}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_renameat.sig="iipip";function ___syscall_rmdir(e){e>>>=0;try{return e=SYSCALLS.getStr(e),FS.rmdir(e),0}catch(r){if(typeof FS>"u"||r.name!=="ErrnoError")throw r;return-r.errno}}___syscall_rmdir.sig="ip";function ___syscall_sendmsg(e,r,t,n,a,o){r>>>=0,n>>>=0,a>>>=0;try{var _=getSocketFromFD(e),l=HEAPU32[r+8>>>2>>>0],c=HEAP32[r+12>>>2>>>0],u,d,f=HEAPU32[r>>>2>>>0],p=HEAP32[r+4>>>2>>>0];if(f){var m=getSocketAddress(f,p);d=m.port,u=m.addr}for(var v=0,g=0;g<c;g++)v+=HEAP32[l+(8*g+4)>>>2>>>0];for(var S=new Uint8Array(v),h=0,g=0;g<c;g++)for(var b=HEAPU32[l+(8*g+0)>>>2>>>0],A=HEAP32[l+(8*g+4)>>>2>>>0],w=0;w<A;w++)S[h++]=HEAP8[b+w>>>0];return _.sock_ops.sendmsg(_,S,0,v,u,d)}catch(L){if(typeof FS>"u"||L.name!=="ErrnoError")throw L;return-L.errno}}___syscall_sendmsg.sig="iipippi";function ___syscall_sendto(e,r,t,n,a,o){r>>>=0,t>>>=0,a>>>=0,o>>>=0;try{var _=getSocketFromFD(e);if(!a)return FS.write(_.stream,HEAP8,r,t);var l=getSocketAddress(a,o);return _.sock_ops.sendmsg(_,HEAP8,r,t,l.addr,l.port)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}___syscall_sendto.sig="iippipp";function ___syscall_socket(e,r,t){try{var n=SOCKFS.createSocket(e,r,t);return n.stream.fd}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_socket.sig="iiiiiii";function ___syscall_stat64(e,r){e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),SYSCALLS.doStat(FS.stat,e,r)}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_stat64.sig="ipp";function ___syscall_symlink(e,r){e>>>=0,r>>>=0;try{return e=SYSCALLS.getStr(e),r=SYSCALLS.getStr(r),FS.symlink(e,r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}___syscall_symlink.sig="ipp";function ___syscall_symlinkat(e,r,t){e>>>=0,t>>>=0;try{return t=SYSCALLS.calculateAt(r,t),FS.symlink(e,t),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_symlinkat.sig="ipip";function ___syscall_truncate64(e,r,t){e>>>=0;var n=convertI32PairToI53Checked(r,t);try{return isNaN(n)?61:(e=SYSCALLS.getStr(e),FS.truncate(e,n),0)}catch(a){if(typeof FS>"u"||a.name!=="ErrnoError")throw a;return-a.errno}}___syscall_truncate64.sig="ipii";function ___syscall_unlinkat(e,r,t){r>>>=0;try{return r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r),t===0?FS.unlink(r):t===512?FS.rmdir(r):abort("Invalid flags passed to unlinkat"),0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return-n.errno}}___syscall_unlinkat.sig="iipi";var readI53FromI64=e=>HEAPU32[e>>>2>>>0]+HEAP32[e+4>>>2>>>0]*4294967296;function ___syscall_utimensat(e,r,t,n){r>>>=0,t>>>=0;try{r=SYSCALLS.getStr(r),r=SYSCALLS.calculateAt(e,r,!0);var a=Date.now(),o,_;if(!t)o=a,_=a;else{var l=readI53FromI64(t),c=HEAP32[t+8>>>2>>>0];c==1073741823?o=a:c==1073741822?o=-1:o=l*1e3+c/1e6,t+=16,l=readI53FromI64(t),c=HEAP32[t+8>>>2>>>0],c==1073741823?_=a:c==1073741822?_=-1:_=l*1e3+c/1e6}return(_!=-1||o!=-1)&&FS.utime(r,o,_),0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}___syscall_utimensat.sig="iippi";var ___table_base=new WebAssembly.Global({value:"i32",mutable:!1},1),__abort_js=()=>{abort("")};__abort_js.sig="v";var ENV={},stackAlloc=e=>__emscripten_stack_alloc(e);Module.stackAlloc=stackAlloc;var stringToUTF8OnStack=e=>{var r=lengthBytesUTF8(e)+1,t=stackAlloc(r);return stringToUTF8(e,t,r),t},stackSave=()=>_emscripten_stack_get_current(),stackRestore=e=>__emscripten_stack_restore(e),dlSetError=e=>{var r=stackSave(),t=stringToUTF8OnStack(e);___dl_seterr(t,0),stackRestore(r)},dlopenInternal=(e,r)=>{var t=UTF8ToString(e+36),n=HEAP32[e+4>>>2>>>0];t=PATH.normalize(t);var a=[],o=!!(n&256),_=o?null:{},l={global:o,nodelete:!!(n&4096),loadAsync:r.loadAsync};if(r.loadAsync)return loadDynamicLibrary(t,l,_,e);try{return loadDynamicLibrary(t,l,_,e)}catch(c){return dlSetError("Could not load dynamic lib: ".concat(t,"\n").concat(c)),0}};function __dlopen_js(e){return e>>>=0,dlopenInternal(e,{loadAsync:!1})}__dlopen_js.sig="pp";function __dlsym_js(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=UTF8ToString(r);var n,a,o=LDSO.loadedLibsByHandle[e];if(!o.exports.hasOwnProperty(r)||o.exports[r].stub)return dlSetError('Tried to lookup unknown symbol "'.concat(r,'" in dynamic lib: ').concat(o.name)),0;a=Object.keys(o.exports).indexOf(r);var _="orig$"+r;if(n=o.exports[_],n?a=Object.keys(o.exports).indexOf(_):n=o.exports[r],typeof n=="function"){var l=getFunctionAddress(n);l?n=l:(n=addFunction(n,n.sig),HEAPU32[t>>>2>>>0]=a)}return n}__dlsym_js.sig="pppp";function __embind_register_bigint(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0}__embind_register_bigint.sig="vpppiiii";var embind_init_charCodes=()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);embind_charCodes=e},embind_charCodes,readLatin1String=e=>{for(var r="",t=e;HEAPU8[t>>>0];)r+=embind_charCodes[HEAPU8[t++>>>0]];return r},awaitingDependencies={},registeredTypes={},typeDependencies={},BindingError,throwBindingError=e=>{throw new BindingError(e)},InternalError,throwInternalError=e=>{throw new InternalError(e)},whenDependentTypesAreResolved=(e,r,t)=>{e.forEach(l=>typeDependencies[l]=r);function n(l){var c=t(l);c.length!==e.length&&throwInternalError("Mismatched type converter count");for(var u=0;u<e.length;++u)registerType(e[u],c[u])}var a=new Array(r.length),o=[],_=0;r.forEach((l,c)=>{registeredTypes.hasOwnProperty(l)?a[c]=registeredTypes[l]:(o.push(l),awaitingDependencies.hasOwnProperty(l)||(awaitingDependencies[l]=[]),awaitingDependencies[l].push(()=>{a[c]=registeredTypes[l],++_,_===o.length&&n(a)}))}),o.length===0&&n(a)};function sharedRegisterType(e,r,t={}){var n=r.name;if(e||throwBindingError('type "'.concat(n,'" must have a positive integer typeid pointer')),registeredTypes.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;throwBindingError("Cannot register type '".concat(n,"' twice"))}if(registeredTypes[e]=r,delete typeDependencies[e],awaitingDependencies.hasOwnProperty(e)){var a=awaitingDependencies[e];delete awaitingDependencies[e],a.forEach(o=>o())}}function registerType(e,r,t={}){return sharedRegisterType(e,r,t)}var GenericWireTypeSize=8;function __embind_register_bool(e,r,t,n){e>>>=0,r>>>=0,r=readLatin1String(r),registerType(e,{name:r,fromWireType:function(a){return!!a},toWireType:function(a,o){return o?t:n},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(a){return this.fromWireType(HEAPU8[a>>>0])},destructorFunction:null})}__embind_register_bool.sig="vppii";var emval_freelist=[],emval_handles=[];function __emval_decref(e){e>>>=0,e>9&&--emval_handles[e+1]===0&&(emval_handles[e]=void 0,emval_freelist.push(e))}__emval_decref.sig="vp";var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length,init_emval=()=>{emval_handles.push(0,1,void 0,1,null,1,!0,1,!1,1),Module.count_emval_handles=count_emval_handles},Emval={toValue:e=>(e||throwBindingError("Cannot use deleted val. handle = "+e),emval_handles[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{let r=emval_freelist.pop()||emval_handles.length;return emval_handles[r]=e,emval_handles[r+1]=1,r}}}};function readPointer(e){return this.fromWireType(HEAPU32[e>>>2>>>0])}var EmValType={name:"emscripten::val",fromWireType:e=>{var r=Emval.toValue(e);return __emval_decref(e),r},toWireType:(e,r)=>Emval.toHandle(r),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};function __embind_register_emval(e){return e>>>=0,registerType(e,EmValType)}__embind_register_emval.sig="vp";var embindRepr=e=>{if(e===null)return"null";var r=typeof e;return r==="object"||r==="array"||r==="function"?e.toString():""+e},floatReadValueFromPointer=(e,r)=>{switch(r){case 4:return function(t){return this.fromWireType(HEAPF32[t>>>2>>>0])};case 8:return function(t){return this.fromWireType(HEAPF64[t>>>3>>>0])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},__embind_register_float=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r),registerType(e,{name:r,fromWireType:n=>n,toWireType:(n,a)=>a,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(r,t),destructorFunction:null})};__embind_register_float.sig="vppp";var integerReadValueFromPointer=(e,r,t)=>{switch(r){case 1:return t?n=>HEAP8[n>>>0]:n=>HEAPU8[n>>>0];case 2:return t?n=>HEAP16[n>>>1>>>0]:n=>HEAPU16[n>>>1>>>0];case 4:return t?n=>HEAP32[n>>>2>>>0]:n=>HEAPU32[n>>>2>>>0];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}};function __embind_register_integer(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r),a===-1&&(a=4294967295);var o=d=>d;if(n===0){var _=32-8*t;o=d=>d<<_>>>_}var l=r.includes("unsigned"),c=(d,f)=>{},u;l?u=function(d,f){return c(f,this.name),f>>>0}:u=function(d,f){return c(f,this.name),f},registerType(e,{name:r,fromWireType:o,toWireType:u,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(r,t,n!==0),destructorFunction:null})}__embind_register_integer.sig="vpppii";function __embind_register_memory_view(e,r,t){e>>>=0,t>>>=0;var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],a=n[r];function o(_){var l=HEAPU32[_>>>2>>>0],c=HEAPU32[_+4>>>2>>>0];return new a(HEAP8.buffer,c,l)}t=readLatin1String(t),registerType(e,{name:t,fromWireType:o,argPackAdvance:GenericWireTypeSize,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})}__embind_register_memory_view.sig="vpip";function __embind_register_std_string(e,r){e>>>=0,r>>>=0,r=readLatin1String(r);var t=r==="std::string";registerType(e,{name:r,fromWireType(n){var a=HEAPU32[n>>>2>>>0],o=n+4,_;if(t)for(var l=o,c=0;c<=a;++c){var u=o+c;if(c==a||HEAPU8[u>>>0]==0){var d=u-l,f=UTF8ToString(l,d);_===void 0?_=f:(_+="\0",_+=f),l=u+1}}else{for(var p=new Array(a),c=0;c<a;++c)p[c]=String.fromCharCode(HEAPU8[o+c>>>0]);_=p.join("")}return _free(n),_},toWireType(n,a){a instanceof ArrayBuffer&&(a=new Uint8Array(a));var o,_=typeof a=="string";_||a instanceof Uint8Array||a instanceof Uint8ClampedArray||a instanceof Int8Array||throwBindingError("Cannot pass non-string to std::string"),t&&_?o=lengthBytesUTF8(a):o=a.length;var l=_malloc(4+o+1),c=l+4;if(HEAPU32[l>>>2>>>0]=o,t&&_)stringToUTF8(a,c,o+1);else if(_)for(var u=0;u<o;++u){var d=a.charCodeAt(u);d>255&&(_free(c),throwBindingError("String has UTF-16 code units that do not fit in 8 bits")),HEAPU8[c+u>>>0]=d}else for(var u=0;u<o;++u)HEAPU8[c+u>>>0]=a[u];return n!==null&&n.push(_free,l),l},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(n){_free(n)}})}__embind_register_std_string.sig="vpp";var UTF16Decoder=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0,UTF16ToString=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&HEAPU16[n>>>0];)++n;if(t=n<<1,t-e>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(e>>>0,t>>>0));for(var o="",_=0;!(_>=r/2);++_){var l=HEAP16[e+_*2>>>1>>>0];if(l==0)break;o+=String.fromCharCode(l)}return o},stringToUTF16=(e,r,t)=>{if(t!=null||(t=2147483647),t<2)return 0;t-=2;for(var n=r,a=t<e.length*2?t/2:e.length,o=0;o<a;++o){var _=e.charCodeAt(o);HEAP16[r>>>1>>>0]=_,r+=2}return HEAP16[r>>>1>>>0]=0,r-n},lengthBytesUTF16=e=>e.length*2,UTF32ToString=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=HEAP32[e+t*4>>>2>>>0];if(a==0)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|o&1023)}else n+=String.fromCharCode(a)}return n},stringToUTF32=(e,r,t)=>{if(r>>>=0,t!=null||(t=2147483647),t<4)return 0;for(var n=r,a=n+t-4,o=0;o<e.length;++o){var _=e.charCodeAt(o);if(_>=55296&&_<=57343){var l=e.charCodeAt(++o);_=65536+((_&1023)<<10)|l&1023}if(HEAP32[r>>>2>>>0]=_,r+=4,r+4>a)break}return HEAP32[r>>>2>>>0]=0,r-n},lengthBytesUTF32=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},__embind_register_std_wstring=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,t=readLatin1String(t);var n,a,o,_;r===2?(n=UTF16ToString,a=stringToUTF16,_=lengthBytesUTF16,o=l=>HEAPU16[l>>>1>>>0]):r===4&&(n=UTF32ToString,a=stringToUTF32,_=lengthBytesUTF32,o=l=>HEAPU32[l>>>2>>>0]),registerType(e,{name:t,fromWireType:l=>{for(var c=HEAPU32[l>>>2>>>0],u,d=l+4,f=0;f<=c;++f){var p=l+4+f*r;if(f==c||o(p)==0){var m=p-d,v=n(d,m);u===void 0?u=v:(u+="\0",u+=v),d=p+r}}return _free(l),u},toWireType:(l,c)=>{typeof c!="string"&&throwBindingError("Cannot pass non-string to C++ string type ".concat(t));var u=_(c),d=_malloc(4+u+r);return HEAPU32[d>>>2>>>0]=u/r,a(c,d+4,u+r),l!==null&&l.push(_free,d),d},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(l){_free(l)}})};__embind_register_std_wstring.sig="vppp";var __embind_register_void=function(e,r){e>>>=0,r>>>=0,r=readLatin1String(r),registerType(e,{isVoid:!0,name:r,argPackAdvance:0,fromWireType:()=>{},toWireType:(t,n)=>{}})};__embind_register_void.sig="vpp";var handleException=e=>{if(e instanceof ExitStatus||e=="unwind")return EXITSTATUS;quit_(1,e)},runtimeKeepaliveCounter=0,keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0,_proc_exit=e=>{var r;EXITSTATUS=e,keepRuntimeAlive()||((r=Module.onExit)==null||r.call(Module,e),ABORT=!0),quit_(e,new ExitStatus(e))};_proc_exit.sig="vi";var exitJS=(e,r)=>{EXITSTATUS=e,_proc_exit(e)},_exit=exitJS;_exit.sig="vi";var maybeExit=()=>{if(!keepRuntimeAlive())try{_exit(EXITSTATUS)}catch(e){handleException(e)}},callUserCallback=e=>{if(!ABORT)try{e(),maybeExit()}catch(r){handleException(r)}};function __emscripten_dlopen_js(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;function a(l){var c=UTF8ToString(e+36);dlSetError("'Could not load dynamic lib: ".concat(c,"\n").concat(l)),callUserCallback(()=>getWasmTableEntry(t)(e,n))}function o(){callUserCallback(()=>getWasmTableEntry(r)(e,n))}var _=dlopenInternal(e,{loadAsync:!0});_?_.then(o,a):a()}__emscripten_dlopen_js.sig="vpppp";var nowIsMonotonic=1,__emscripten_get_now_is_monotonic=()=>nowIsMonotonic;__emscripten_get_now_is_monotonic.sig="i";var getExecutableName=()=>thisProgram||"./this.program";function __emscripten_get_progname(e,r){e>>>=0,stringToUTF8(getExecutableName(),e,r)}__emscripten_get_progname.sig="vpi";function __emscripten_lookup_name(e){e>>>=0;var r=UTF8ToString(e);return inetPton4(DNS.lookup_name(r))}__emscripten_lookup_name.sig="ip";function __emscripten_memcpy_js(e,r,t){return e>>>=0,r>>>=0,t>>>=0,HEAPU8.copyWithin(e>>>0,r>>>0,r+t>>>0)}__emscripten_memcpy_js.sig="vppp";var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=!1,runtimeKeepaliveCounter=0};__emscripten_runtime_keepalive_clear.sig="v";function __emscripten_set_offscreencanvas_size(e,r,t){return e>>>=0,-1}__emscripten_set_offscreencanvas_size.sig="ipii";function __emscripten_system(e){if(e>>>=0,ENVIRONMENT_IS_NODE){if(!e)return 1;var r=UTF8ToString(e);if(!r.length)return 0;var t=["child_process"].map(K),n=t.spawnSync(r,[],{shell:!0,stdio:"inherit"}),a=(_,l)=>_<<8|l;if(n.status===null){var o=_=>{switch(_){case"SIGHUP":return 1;case"SIGQUIT":return 3;case"SIGFPE":return 8;case"SIGKILL":return 9;case"SIGALRM":return 14;case"SIGTERM":return 15;default:return 2}};return a(0,o(n.signal))}return a(n.status,0)}return e?-52:0}__emscripten_system.sig="ip";var emval_symbols={},getStringOrSymbol=e=>{var r=emval_symbols[e];return r===void 0?readLatin1String(e):r},emval_methodCallers=[];function __emval_call_method(e,r,t,n,a){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,e=emval_methodCallers[e],r=Emval.toValue(r),t=getStringOrSymbol(t),e(r,r[t],n,a)}__emval_call_method.sig="dppppp";var emval_get_global=()=>typeof globalThis=="object"?globalThis:function(){return Function}()("return this")();function __emval_get_global(e){return e>>>=0,e===0?Emval.toHandle(emval_get_global()):(e=getStringOrSymbol(e),Emval.toHandle(emval_get_global()[e]))}__emval_get_global.sig="pp";var emval_addMethodCaller=e=>{var r=emval_methodCallers.length;return emval_methodCallers.push(e),r},getTypeName=e=>{var r=___getTypeName(e),t=readLatin1String(r);return _free(r),t},requireRegisteredType=(e,r)=>{var t=registeredTypes[e];return t===void 0&&throwBindingError("".concat(r," has unknown type ").concat(getTypeName(e))),t},emval_lookupTypes=(e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=requireRegisteredType(HEAPU32[r+n*4>>>2>>>0],"parameter "+n);return t},createNamedFunction=(e,r)=>Object.defineProperty(r,"name",{value:e}),reflectConstruct=Reflect.construct,emval_returnValue=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(HEAPU32[r>>>2>>>0]=Emval.toHandle(n)),a};function newFunc(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=createNamedFunction(e.name||"unknownFunctionName",function(){});t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function __emval_get_method_caller(e,r,t){r>>>=0;var n=emval_lookupTypes(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",_=0,l=[];t===0&&l.push("obj");for(var c=["retType"],u=[a],d=0;d<e;++d)l.push("arg"+d),c.push("argType"+d),u.push(n[d]),o+=" var arg".concat(d," = argType").concat(d,".readValueFromPointer(args").concat(_?"+"+_:"",");\n"),_+=n[d].argPackAdvance;var f=t===1?"new func":"func.call";o+=" var rv = ".concat(f,"(").concat(l.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(emval_returnValue),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var p=newFunc(Function,c)(...u),m="methodCaller<(".concat(n.map(v=>v.name).join(", "),") => ").concat(a.name,">");return emval_addMethodCaller(createNamedFunction(m,p))}__emval_get_method_caller.sig="pipi";var runDestructors=e=>{for(;e.length;){var r=e.pop(),t=e.pop();t(r)}};function __emval_run_destructors(e){e>>>=0;var r=Emval.toValue(e);runDestructors(r),__emval_decref(e)}__emval_run_destructors.sig="vp";function __gmtime_js(e,r,t){var n=convertI32PairToI53Checked(e,r);t>>>=0;var a=new Date(n*1e3);HEAP32[t>>>2>>>0]=a.getUTCSeconds(),HEAP32[t+4>>>2>>>0]=a.getUTCMinutes(),HEAP32[t+8>>>2>>>0]=a.getUTCHours(),HEAP32[t+12>>>2>>>0]=a.getUTCDate(),HEAP32[t+16>>>2>>>0]=a.getUTCMonth(),HEAP32[t+20>>>2>>>0]=a.getUTCFullYear()-1900,HEAP32[t+24>>>2>>>0]=a.getUTCDay();var o=Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0),_=(a.getTime()-o)/(1e3*60*60*24)|0;HEAP32[t+28>>>2>>>0]=_}__gmtime_js.sig="viip";var isLeapYear=e=>e%4===0&&(e%100!==0||e%400===0),MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335],MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334],ydayFromDate=e=>{var r=isLeapYear(e.getFullYear()),t=r?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE,n=t[e.getMonth()]+e.getDate()-1;return n};function __localtime_js(e,r,t){var n=convertI32PairToI53Checked(e,r);t>>>=0;var a=new Date(n*1e3);HEAP32[t>>>2>>>0]=a.getSeconds(),HEAP32[t+4>>>2>>>0]=a.getMinutes(),HEAP32[t+8>>>2>>>0]=a.getHours(),HEAP32[t+12>>>2>>>0]=a.getDate(),HEAP32[t+16>>>2>>>0]=a.getMonth(),HEAP32[t+20>>>2>>>0]=a.getFullYear()-1900,HEAP32[t+24>>>2>>>0]=a.getDay();var o=ydayFromDate(a)|0;HEAP32[t+28>>>2>>>0]=o,HEAP32[t+36>>>2>>>0]=-(a.getTimezoneOffset()*60);var _=new Date(a.getFullYear(),0,1),l=new Date(a.getFullYear(),6,1).getTimezoneOffset(),c=_.getTimezoneOffset(),u=(l!=c&&a.getTimezoneOffset()==Math.min(c,l))|0;HEAP32[t+32>>>2>>>0]=u}__localtime_js.sig="viip";var setTempRet0=e=>__emscripten_tempret_set(e),_setTempRet0=setTempRet0;Module._setTempRet0=_setTempRet0;var __mktime_js=function(e){e>>>=0;var r=(()=>{var t=new Date(HEAP32[e+20>>>2>>>0]+1900,HEAP32[e+16>>>2>>>0],HEAP32[e+12>>>2>>>0],HEAP32[e+8>>>2>>>0],HEAP32[e+4>>>2>>>0],HEAP32[e>>>2>>>0],0),n=HEAP32[e+32>>>2>>>0],a=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),_=new Date(t.getFullYear(),6,1).getTimezoneOffset(),l=o.getTimezoneOffset(),c=Math.min(l,_);if(n<0)HEAP32[e+32>>>2>>>0]=+(_!=l&&c==a);else if(n>0!=(c==a)){var u=Math.max(l,_),d=n>0?c:u;t.setTime(t.getTime()+(d-a)*6e4)}HEAP32[e+24>>>2>>>0]=t.getDay();var f=ydayFromDate(t)|0;HEAP32[e+28>>>2>>>0]=f,HEAP32[e>>>2>>>0]=t.getSeconds(),HEAP32[e+4>>>2>>>0]=t.getMinutes(),HEAP32[e+8>>>2>>>0]=t.getHours(),HEAP32[e+12>>>2>>>0]=t.getDate(),HEAP32[e+16>>>2>>>0]=t.getMonth(),HEAP32[e+20>>>2>>>0]=t.getYear();var p=t.getTime();return isNaN(p)?-1:p/1e3})();return setTempRet0((tempDouble=r,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),r>>>0};__mktime_js.sig="ip";function __mmap_js(e,r,t,n,a,o,_,l){e>>>=0;var c=convertI32PairToI53Checked(a,o);_>>>=0,l>>>=0;try{if(isNaN(c))return 61;var u=SYSCALLS.getStreamFromFD(n),d=FS.mmap(u,e,c,r,t),f=d.ptr;return HEAP32[_>>>2>>>0]=d.allocated,HEAPU32[l>>>2>>>0]=f,0}catch(p){if(typeof FS>"u"||p.name!=="ErrnoError")throw p;return-p.errno}}__mmap_js.sig="ipiiiiipp";function __msync_js(e,r,t,n,a,o,_){e>>>=0,r>>>=0;var l=convertI32PairToI53Checked(o,_);try{return isNaN(l)?61:(SYSCALLS.doMsync(e,SYSCALLS.getStreamFromFD(a),r,n,l),0)}catch(c){if(typeof FS>"u"||c.name!=="ErrnoError")throw c;return-c.errno}}__msync_js.sig="ippiiiii";function __munmap_js(e,r,t,n,a,o,_){e>>>=0,r>>>=0;var l=convertI32PairToI53Checked(o,_);try{var c=SYSCALLS.getStreamFromFD(a);t&2&&SYSCALLS.doMsync(e,c,r,n,l)}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return-u.errno}}__munmap_js.sig="ippiiiii";var timers={},_emscripten_get_now=()=>performance.now();_emscripten_get_now.sig="d";var __setitimer_js=(e,r)=>{if(timers[e]&&(clearTimeout(timers[e].id),delete timers[e]),!r)return 0;var t=setTimeout(()=>{delete timers[e],callUserCallback(()=>__emscripten_timeout(e,_emscripten_get_now()))},r);return timers[e]={id:t,timeout_ms:r},0};__setitimer_js.sig="iid";var __timegm_js=function(e){e>>>=0;var r=(()=>{var t=Date.UTC(HEAP32[e+20>>>2>>>0]+1900,HEAP32[e+16>>>2>>>0],HEAP32[e+12>>>2>>>0],HEAP32[e+8>>>2>>>0],HEAP32[e+4>>>2>>>0],HEAP32[e>>>2>>>0],0),n=new Date(t);HEAP32[e+24>>>2>>>0]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/(1e3*60*60*24)|0;return HEAP32[e+28>>>2>>>0]=o,n.getTime()/1e3})();return setTempRet0((tempDouble=r,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),r>>>0};__timegm_js.sig="ip";var __tzset_js=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=new Date().getFullYear(),o=new Date(a,0,1),_=new Date(a,6,1),l=o.getTimezoneOffset(),c=_.getTimezoneOffset(),u=Math.max(l,c);HEAPU32[e>>>2>>>0]=u*60,HEAP32[r>>>2>>>0]=+(l!=c);var d=m=>{var v=m>=0?"-":"+",g=Math.abs(m),S=String(Math.floor(g/60)).padStart(2,"0"),h=String(g%60).padStart(2,"0");return"UTC".concat(v).concat(S).concat(h)},f=d(l),p=d(c);c<l?(stringToUTF8(f,t,17),stringToUTF8(p,n,17)):(stringToUTF8(f,n,17),stringToUTF8(p,t,17))};__tzset_js.sig="vpppp";var _emscripten_set_main_loop_timing=(e,r)=>{if(MainLoop.timingMode=e,MainLoop.timingValue=r,!MainLoop.func)return 1;if(MainLoop.running||(MainLoop.running=!0),e==0)MainLoop.scheduler=function(){var _=Math.max(0,MainLoop.tickStartTime+r-_emscripten_get_now())|0;setTimeout(MainLoop.runner,_)},MainLoop.method="timeout";else if(e==1)MainLoop.scheduler=function(){MainLoop.requestAnimationFrame(MainLoop.runner)},MainLoop.method="rAF";else if(e==2){if(typeof MainLoop.setImmediate>"u")if(typeof setImmediate>"u"){var t=[],n="setimmediate",a=o=>{(o.data===n||o.data.target===n)&&(o.stopPropagation(),t.shift()())};addEventListener("message",a,!0),MainLoop.setImmediate=o=>{var _;t.push(o),ENVIRONMENT_IS_WORKER?((_=Module.setImmediates)!=null||(Module.setImmediates=[]),Module.setImmediates.push(o),postMessage({target:n})):postMessage(n,"*")}}else MainLoop.setImmediate=setImmediate;MainLoop.scheduler=function(){MainLoop.setImmediate(MainLoop.runner)},MainLoop.method="immediate"}return 0};_emscripten_set_main_loop_timing.sig="iii";var setMainLoop=(e,r,t,n,a)=>{MainLoop.func=e,MainLoop.arg=n;var o=MainLoop.currentlyRunningMainloop;function _(){return o<MainLoop.currentlyRunningMainloop?(maybeExit(),!1):!0}if(MainLoop.running=!1,MainLoop.runner=function(){if(!ABORT){if(MainLoop.queue.length>0){var c=Date.now(),u=MainLoop.queue.shift();if(u.func(u.arg),MainLoop.remainingBlockers){var d=MainLoop.remainingBlockers,f=d%1==0?d-1:Math.floor(d);u.counted?MainLoop.remainingBlockers=f:(f=f+.5,MainLoop.remainingBlockers=(8*d+f)/9)}if(MainLoop.updateStatus(),!_())return;setTimeout(MainLoop.runner,0);return}if(_()){if(MainLoop.currentFrameNumber=MainLoop.currentFrameNumber+1|0,MainLoop.timingMode==1&&MainLoop.timingValue>1&&MainLoop.currentFrameNumber%MainLoop.timingValue!=0){MainLoop.scheduler();return}else MainLoop.timingMode==0&&(MainLoop.tickStartTime=_emscripten_get_now());MainLoop.runIter(e),_()&&MainLoop.scheduler()}}},a||(r&&r>0?_emscripten_set_main_loop_timing(0,1e3/r):_emscripten_set_main_loop_timing(1,1),MainLoop.scheduler()),t)throw"unwind"},MainLoop={running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],preMainLoop:[],postMainLoop:[],pause(){MainLoop.scheduler=null,MainLoop.currentlyRunningMainloop++},resume(){MainLoop.currentlyRunningMainloop++;var e=MainLoop.timingMode,r=MainLoop.timingValue,t=MainLoop.func;MainLoop.func=null,setMainLoop(t,0,!1,MainLoop.arg,!0),_emscripten_set_main_loop_timing(e,r),MainLoop.scheduler()},updateStatus(){var n,a;if(Module.setStatus){var e=Module.statusMessage||"Please wait...",r=(n=MainLoop.remainingBlockers)!=null?n:0,t=(a=MainLoop.expectedBlockers)!=null?a:0;r?r<t?Module.setStatus("{message} ({expected - remaining}/{expected})"):Module.setStatus(e):Module.setStatus("")}},init(){Module.preMainLoop&&MainLoop.preMainLoop.push(Module.preMainLoop),Module.postMainLoop&&MainLoop.postMainLoop.push(Module.postMainLoop)},runIter(e){if(!ABORT){for(var r of MainLoop.preMainLoop)if(r()===!1)return;callUserCallback(e);for(var t of MainLoop.postMainLoop)t()}},nextRAF:0,fakeRequestAnimationFrame(e){var r=Date.now();if(MainLoop.nextRAF===0)MainLoop.nextRAF=r+1e3/60;else for(;r+2>=MainLoop.nextRAF;)MainLoop.nextRAF+=1e3/60;var t=Math.max(MainLoop.nextRAF-r,0);setTimeout(e,t)},requestAnimationFrame(e){if(typeof requestAnimationFrame=="function"){requestAnimationFrame(e);return}var r=MainLoop.fakeRequestAnimationFrame;r(e)}},AL={QUEUE_INTERVAL:25,QUEUE_LOOKAHEAD:.1,DEVICE_NAME:"Emscripten OpenAL",CAPTURE_DEVICE_NAME:"Emscripten OpenAL capture",ALC_EXTENSIONS:{ALC_SOFT_pause_device:!0,ALC_SOFT_HRTF:!0},AL_EXTENSIONS:{AL_EXT_float32:!0,AL_SOFT_loop_points:!0,AL_SOFT_source_length:!0,AL_EXT_source_distance_model:!0,AL_SOFT_source_spatialize:!0},_alcErr:0,alcErr:0,deviceRefCounts:{},alcStringCache:{},paused:!1,stringCache:{},contexts:{},currentCtx:null,buffers:{0:{id:0,refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0}},paramArray:[],_nextId:1,newId:()=>AL.freeIds.length>0?AL.freeIds.pop():AL._nextId++,freeIds:[],scheduleContextAudio:e=>{if(!(MainLoop.timingMode===1&&document.visibilityState!="visible"))for(var r in e.sources)AL.scheduleSourceAudio(e.sources[r])},scheduleSourceAudio:(e,r)=>{if(!(MainLoop.timingMode===1&&document.visibilityState!="visible")&&e.state===4114){for(var t=AL.updateSourceTime(e),n=e.bufStartTime,a=e.bufOffset,o=e.bufsProcessed,_=0;_<e.audioQueue.length;_++){var l=e.audioQueue[_];n=l._startTime+l._duration,a=0,o+=l._skipCount+1}r||(r=AL.QUEUE_LOOKAHEAD);for(var c=t+r,u=0;n<c;){if(o>=e.bufQueue.length)if(e.looping)o%=e.bufQueue.length;else break;var d=e.bufQueue[o%e.bufQueue.length];if(d.length===0){if(u++,u===e.bufQueue.length)break}else{var l=e.context.audioCtx.createBufferSource();l.buffer=d.audioBuf,l.playbackRate.value=e.playbackRate,(d.audioBuf._loopStart||d.audioBuf._loopEnd)&&(l.loopStart=d.audioBuf._loopStart,l.loopEnd=d.audioBuf._loopEnd);var f=0;e.type===4136&&e.looping?(f=Number.POSITIVE_INFINITY,l.loop=!0,d.audioBuf._loopStart&&(l.loopStart=d.audioBuf._loopStart),d.audioBuf._loopEnd&&(l.loopEnd=d.audioBuf._loopEnd)):f=(d.audioBuf.duration-a)/e.playbackRate,l._startOffset=a,l._duration=f,l._skipCount=u,u=0,l.connect(e.gain),typeof l.start<"u"?(n=Math.max(n,e.context.audioCtx.currentTime),l.start(n,a)):typeof l.noteOn<"u"&&(n=Math.max(n,e.context.audioCtx.currentTime),l.noteOn(n)),l._startTime=n,e.audioQueue.push(l),n+=f}a=0,o++}}},updateSourceTime:e=>{var r=e.context.audioCtx.currentTime;if(e.state!==4114)return r;isFinite(e.bufStartTime)||(e.bufStartTime=r-e.bufOffset/e.playbackRate,e.bufOffset=0);for(var t=0;e.audioQueue.length;){var n=e.audioQueue[0];if(e.bufsProcessed+=n._skipCount,t=n._startTime+n._duration,r<t)break;e.audioQueue.shift(),e.bufStartTime=t,e.bufOffset=0,e.bufsProcessed++}if(e.bufsProcessed>=e.bufQueue.length&&!e.looping)AL.setSourceState(e,4116);else if(e.type===4136&&e.looping){var a=e.bufQueue[0];if(a.length===0)e.bufOffset=0;else{var o=(r-e.bufStartTime)*e.playbackRate,_=a.audioBuf._loopStart||0,l=a.audioBuf._loopEnd||a.audioBuf.duration;l<=_&&(l=a.audioBuf.duration),o<l?e.bufOffset=o:e.bufOffset=_+(o-_)%(l-_)}}else if(e.audioQueue[0])e.bufOffset=(r-e.audioQueue[0]._startTime)*e.playbackRate;else{if(e.type!==4136&&e.looping){var c=AL.sourceDuration(e)/e.playbackRate;c>0&&(e.bufStartTime+=Math.floor((r-e.bufStartTime)/c)*c)}for(var u=0;u<e.bufQueue.length;u++){if(e.bufsProcessed>=e.bufQueue.length)if(e.looping)e.bufsProcessed%=e.bufQueue.length;else{AL.setSourceState(e,4116);break}var a=e.bufQueue[e.bufsProcessed];if(a.length>0){if(t=e.bufStartTime+a.audioBuf.duration/e.playbackRate,r<t){e.bufOffset=(r-e.bufStartTime)*e.playbackRate;break}e.bufStartTime=t}e.bufOffset=0,e.bufsProcessed++}}return r},cancelPendingSourceAudio:e=>{AL.updateSourceTime(e);for(var r=1;r<e.audioQueue.length;r++){var t=e.audioQueue[r];t.stop()}e.audioQueue.length>1&&(e.audioQueue.length=1)},stopSourceAudio:e=>{for(var r=0;r<e.audioQueue.length;r++)e.audioQueue[r].stop();e.audioQueue.length=0},setSourceState:(e,r)=>{r===4114?((e.state===4114||e.state==4116)&&(e.bufsProcessed=0,e.bufOffset=0),AL.stopSourceAudio(e),e.state=4114,e.bufStartTime=Number.NEGATIVE_INFINITY,AL.scheduleSourceAudio(e)):r===4115?e.state===4114&&(AL.updateSourceTime(e),AL.stopSourceAudio(e),e.state=4115):r===4116?e.state!==4113&&(e.state=4116,e.bufsProcessed=e.bufQueue.length,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e)):r===4113&&e.state!==4113&&(e.state=4113,e.bufsProcessed=0,e.bufStartTime=Number.NEGATIVE_INFINITY,e.bufOffset=0,AL.stopSourceAudio(e))},initSourcePanner:e=>{if(e.type!==4144){for(var r=AL.buffers[0],t=0;t<e.bufQueue.length;t++)if(e.bufQueue[t].id!==0){r=e.bufQueue[t];break}if(e.spatialize===1||e.spatialize===2&&r.channels===1){if(e.panner)return;e.panner=e.context.audioCtx.createPanner(),AL.updateSourceGlobal(e),AL.updateSourceSpace(e),e.panner.connect(e.context.gain),e.gain.disconnect(),e.gain.connect(e.panner)}else{if(!e.panner)return;e.panner.disconnect(),e.gain.disconnect(),e.gain.connect(e.context.gain),e.panner=null}}},updateContextGlobal:e=>{for(var r in e.sources)AL.updateSourceGlobal(e.sources[r])},updateSourceGlobal:e=>{var r=e.panner;if(r){r.refDistance=e.refDistance,r.maxDistance=e.maxDistance,r.rolloffFactor=e.rolloffFactor,r.panningModel=e.context.hrtf?"HRTF":"equalpower";var t=e.context.sourceDistanceModel?e.distanceModel:e.context.distanceModel;switch(t){case 0:r.distanceModel="inverse",r.refDistance=340282e33;break;case 53249:case 53250:r.distanceModel="inverse";break;case 53251:case 53252:r.distanceModel="linear";break;case 53253:case 53254:r.distanceModel="exponential";break}}},updateListenerSpace:e=>{var r=e.audioCtx.listener;r.positionX?(r.positionX.value=e.listener.position[0],r.positionY.value=e.listener.position[1],r.positionZ.value=e.listener.position[2]):r.setPosition(e.listener.position[0],e.listener.position[1],e.listener.position[2]),r.forwardX?(r.forwardX.value=e.listener.direction[0],r.forwardY.value=e.listener.direction[1],r.forwardZ.value=e.listener.direction[2],r.upX.value=e.listener.up[0],r.upY.value=e.listener.up[1],r.upZ.value=e.listener.up[2]):r.setOrientation(e.listener.direction[0],e.listener.direction[1],e.listener.direction[2],e.listener.up[0],e.listener.up[1],e.listener.up[2]);for(var t in e.sources)AL.updateSourceSpace(e.sources[t])},updateSourceSpace:e=>{if(e.panner){var r=e.panner,t=e.position[0],n=e.position[1],a=e.position[2],o=e.direction[0],_=e.direction[1],l=e.direction[2],c=e.context.listener,u=c.position[0],d=c.position[1],f=c.position[2];if(e.relative){var p=-c.direction[0],m=-c.direction[1],v=-c.direction[2],g=c.up[0],S=c.up[1],h=c.up[2],b=(oe,_e,le)=>{var ce=Math.sqrt(oe*oe+_e*_e+le*le);return ce<Number.EPSILON?0:1/ce},A=b(p,m,v);p*=A,m*=A,v*=A,A=b(g,S,h),g*=A,S*=A,h*=A;var w=S*v-h*m,L=h*p-g*v,F=g*m-S*p;A=b(w,L,F),w*=A,L*=A,F*=A,g=m*F-v*L,S=v*w-p*F,h=p*L-m*w;var y=o,D=_,P=l;o=y*w+D*g+P*p,_=y*L+D*S+P*m,l=y*F+D*h+P*v,y=t,D=n,P=a,t=y*w+D*g+P*p,n=y*L+D*S+P*m,a=y*F+D*h+P*v,t+=u,n+=d,a+=f}r.positionX?(t!=r.positionX.value&&(r.positionX.value=t),n!=r.positionY.value&&(r.positionY.value=n),a!=r.positionZ.value&&(r.positionZ.value=a)):r.setPosition(t,n,a),r.orientationX?(o!=r.orientationX.value&&(r.orientationX.value=o),_!=r.orientationY.value&&(r.orientationY.value=_),l!=r.orientationZ.value&&(r.orientationZ.value=l)):r.setOrientation(o,_,l);var k=e.dopplerShift,x=e.velocity[0],T=e.velocity[1],C=e.velocity[2],M=c.velocity[0],G=c.velocity[1],H=c.velocity[2];if(t===u&&n===d&&a===f||x===M&&T===G&&C===H)e.dopplerShift=1;else{var U=e.context.speedOfSound,R=e.context.dopplerFactor,V=u-t,j=d-n,N=f-a,ee=Math.sqrt(V*V+j*j+N*N),z=(V*M+j*G+N*H)/ee,$=(V*x+j*T+N*C)/ee;z=Math.min(z,U/R),$=Math.min($,U/R),e.dopplerShift=(U-R*z)/(U-R*$)}e.dopplerShift!==k&&AL.updateSourceRate(e)}},updateSourceRate:e=>{if(e.state===4114){AL.cancelPendingSourceAudio(e);var r=e.audioQueue[0];if(!r)return;var t;e.type===4136&&e.looping?t=Number.POSITIVE_INFINITY:t=(r.buffer.duration-r._startOffset)/e.playbackRate,r._duration=t,r.playbackRate.value=e.playbackRate,AL.scheduleSourceAudio(e)}},sourceDuration:e=>{for(var r=0,t=0;t<e.bufQueue.length;t++){var n=e.bufQueue[t].audioBuf;r+=n?n.duration:0}return r},sourceTell:e=>{AL.updateSourceTime(e);for(var r=0,t=0;t<e.bufsProcessed;t++)e.bufQueue[t].audioBuf&&(r+=e.bufQueue[t].audioBuf.duration);return r+=e.bufOffset,r},sourceSeek:(e,r)=>{var t=e.state==4114;if(t&&AL.setSourceState(e,4113),e.bufQueue[e.bufsProcessed].audioBuf!==null){for(e.bufsProcessed=0;r>e.bufQueue[e.bufsProcessed].audioBuf.duration;)r-=e.bufQueue[e.bufsProcessed].audioBuf.duration,e.bufsProcessed++;e.bufOffset=r}t&&AL.setSourceState(e,4114)},getGlobalParam:(e,r)=>{if(!AL.currentCtx)return null;switch(r){case 49152:return AL.currentCtx.dopplerFactor;case 49155:return AL.currentCtx.speedOfSound;case 53248:return AL.currentCtx.distanceModel;default:return AL.currentCtx.err=40962,null}},setGlobalParam:(e,r,t)=>{if(AL.currentCtx)switch(r){case 49152:if(!Number.isFinite(t)||t<0){AL.currentCtx.err=40963;return}AL.currentCtx.dopplerFactor=t,AL.updateListenerSpace(AL.currentCtx);break;case 49155:if(!Number.isFinite(t)||t<=0){AL.currentCtx.err=40963;return}AL.currentCtx.speedOfSound=t,AL.updateListenerSpace(AL.currentCtx);break;case 53248:switch(t){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:AL.currentCtx.distanceModel=t,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}},getListenerParam:(e,r)=>{if(!AL.currentCtx)return null;switch(r){case 4100:return AL.currentCtx.listener.position;case 4102:return AL.currentCtx.listener.velocity;case 4111:return AL.currentCtx.listener.direction.concat(AL.currentCtx.listener.up);case 4106:return AL.currentCtx.gain.gain.value;default:return AL.currentCtx.err=40962,null}},setListenerParam:(e,r,t)=>{if(AL.currentCtx){if(t===null){AL.currentCtx.err=40962;return}var n=AL.currentCtx.listener;switch(r){case 4100:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])){AL.currentCtx.err=40963;return}n.position[0]=t[0],n.position[1]=t[1],n.position[2]=t[2],AL.updateListenerSpace(AL.currentCtx);break;case 4102:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])){AL.currentCtx.err=40963;return}n.velocity[0]=t[0],n.velocity[1]=t[1],n.velocity[2]=t[2],AL.updateListenerSpace(AL.currentCtx);break;case 4106:if(!Number.isFinite(t)||t<0){AL.currentCtx.err=40963;return}AL.currentCtx.gain.gain.value=t;break;case 4111:if(!Number.isFinite(t[0])||!Number.isFinite(t[1])||!Number.isFinite(t[2])||!Number.isFinite(t[3])||!Number.isFinite(t[4])||!Number.isFinite(t[5])){AL.currentCtx.err=40963;return}n.direction[0]=t[0],n.direction[1]=t[1],n.direction[2]=t[2],n.up[0]=t[3],n.up[1]=t[4],n.up[2]=t[5],AL.updateListenerSpace(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}}},getBufferParam:(e,r,t)=>{if(AL.currentCtx){var n=AL.buffers[r];if(!n||r===0){AL.currentCtx.err=40961;return}switch(t){case 8193:return n.frequency;case 8194:return n.bytesPerSample*8;case 8195:return n.channels;case 8196:return n.length*n.bytesPerSample*n.channels;case 8213:return n.length===0?[0,0]:[(n.audioBuf._loopStart||0)*n.frequency,(n.audioBuf._loopEnd||n.length)*n.frequency];default:return AL.currentCtx.err=40962,null}}},setBufferParam:(e,r,t,n)=>{if(AL.currentCtx){var a=AL.buffers[r];if(!a||r===0){AL.currentCtx.err=40961;return}if(n===null){AL.currentCtx.err=40962;return}switch(t){case 8196:if(n!==0){AL.currentCtx.err=40963;return}break;case 8213:if(n[0]<0||n[0]>a.length||n[1]<0||n[1]>a.Length||n[0]>=n[1]){AL.currentCtx.err=40963;return}if(a.refCount>0){AL.currentCtx.err=40964;return}a.audioBuf&&(a.audioBuf._loopStart=n[0]/a.frequency,a.audioBuf._loopEnd=n[1]/a.frequency);break;default:AL.currentCtx.err=40962;return}}},getSourceParam:(e,r,t)=>{if(!AL.currentCtx)return null;var n=AL.currentCtx.sources[r];if(!n)return AL.currentCtx.err=40961,null;switch(t){case 514:return n.relative;case 4097:return n.coneInnerAngle;case 4098:return n.coneOuterAngle;case 4099:return n.pitch;case 4100:return n.position;case 4101:return n.direction;case 4102:return n.velocity;case 4103:return n.looping;case 4105:return n.type===4136?n.bufQueue[0].id:0;case 4106:return n.gain.gain.value;case 4109:return n.minGain;case 4110:return n.maxGain;case 4112:return n.state;case 4117:return n.bufQueue.length===1&&n.bufQueue[0].id===0?0:n.bufQueue.length;case 4118:return n.bufQueue.length===1&&n.bufQueue[0].id===0||n.looping?0:n.bufsProcessed;case 4128:return n.refDistance;case 4129:return n.rolloffFactor;case 4130:return n.coneOuterGain;case 4131:return n.maxDistance;case 4132:return AL.sourceTell(n);case 4133:var a=AL.sourceTell(n);return a>0&&(a*=n.bufQueue[0].frequency),a;case 4134:var a=AL.sourceTell(n);return a>0&&(a*=n.bufQueue[0].frequency*n.bufQueue[0].bytesPerSample),a;case 4135:return n.type;case 4628:return n.spatialize;case 8201:for(var l=0,o=0,_=0;_<n.bufQueue.length;_++)l+=n.bufQueue[_].length,n.bufQueue[_].id!==0&&(o=n.bufQueue[_].bytesPerSample*n.bufQueue[_].channels);return l*o;case 8202:for(var l=0,_=0;_<n.bufQueue.length;_++)l+=n.bufQueue[_].length;return l;case 8203:return AL.sourceDuration(n);case 53248:return n.distanceModel;default:return AL.currentCtx.err=40962,null}},setSourceParam:(e,r,t,n)=>{if(AL.currentCtx){var a=AL.currentCtx.sources[r];if(!a){AL.currentCtx.err=40961;return}if(n===null){AL.currentCtx.err=40962;return}switch(t){case 514:if(n===1)a.relative=!0,AL.updateSourceSpace(a);else if(n===0)a.relative=!1,AL.updateSourceSpace(a);else{AL.currentCtx.err=40963;return}break;case 4097:if(!Number.isFinite(n)){AL.currentCtx.err=40963;return}a.coneInnerAngle=n,a.panner&&(a.panner.coneInnerAngle=n%360);break;case 4098:if(!Number.isFinite(n)){AL.currentCtx.err=40963;return}a.coneOuterAngle=n,a.panner&&(a.panner.coneOuterAngle=n%360);break;case 4099:if(!Number.isFinite(n)||n<=0){AL.currentCtx.err=40963;return}if(a.pitch===n)break;a.pitch=n,AL.updateSourceRate(a);break;case 4100:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}a.position[0]=n[0],a.position[1]=n[1],a.position[2]=n[2],AL.updateSourceSpace(a);break;case 4101:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}a.direction[0]=n[0],a.direction[1]=n[1],a.direction[2]=n[2],AL.updateSourceSpace(a);break;case 4102:if(!Number.isFinite(n[0])||!Number.isFinite(n[1])||!Number.isFinite(n[2])){AL.currentCtx.err=40963;return}a.velocity[0]=n[0],a.velocity[1]=n[1],a.velocity[2]=n[2],AL.updateSourceSpace(a);break;case 4103:if(n===1){if(a.looping=!0,AL.updateSourceTime(a),a.type===4136&&a.audioQueue.length>0){var o=a.audioQueue[0];o.loop=!0,o._duration=Number.POSITIVE_INFINITY}}else if(n===0){a.looping=!1;var _=AL.updateSourceTime(a);if(a.type===4136&&a.audioQueue.length>0){var o=a.audioQueue[0];o.loop=!1,o._duration=a.bufQueue[0].audioBuf.duration/a.playbackRate,o._startTime=_-a.bufOffset/a.playbackRate}}else{AL.currentCtx.err=40963;return}break;case 4105:if(a.state===4114||a.state===4115){AL.currentCtx.err=40964;return}if(n===0){for(var l in a.bufQueue)a.bufQueue[l].refCount--;a.bufQueue.length=1,a.bufQueue[0]=AL.buffers[0],a.bufsProcessed=0,a.type=4144}else{var c=AL.buffers[n];if(!c){AL.currentCtx.err=40963;return}for(var l in a.bufQueue)a.bufQueue[l].refCount--;a.bufQueue.length=0,c.refCount++,a.bufQueue=[c],a.bufsProcessed=0,a.type=4136}AL.initSourcePanner(a),AL.scheduleSourceAudio(a);break;case 4106:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.gain.gain.value=n;break;case 4109:if(!Number.isFinite(n)||n<0||n>Math.min(a.maxGain,1)){AL.currentCtx.err=40963;return}a.minGain=n;break;case 4110:if(!Number.isFinite(n)||n<Math.max(0,a.minGain)||n>1){AL.currentCtx.err=40963;return}a.maxGain=n;break;case 4128:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.refDistance=n,a.panner&&(a.panner.refDistance=n);break;case 4129:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.rolloffFactor=n,a.panner&&(a.panner.rolloffFactor=n);break;case 4130:if(!Number.isFinite(n)||n<0||n>1){AL.currentCtx.err=40963;return}a.coneOuterGain=n,a.panner&&(a.panner.coneOuterGain=n);break;case 4131:if(!Number.isFinite(n)||n<0){AL.currentCtx.err=40963;return}a.maxDistance=n,a.panner&&(a.panner.maxDistance=n);break;case 4132:if(n<0||n>AL.sourceDuration(a)){AL.currentCtx.err=40963;return}AL.sourceSeek(a,n);break;case 4133:var f=AL.sourceDuration(a);if(f>0){var u;for(var d in a.bufQueue)if(d){u=a.bufQueue[d].frequency;break}n/=u}if(n<0||n>f){AL.currentCtx.err=40963;return}AL.sourceSeek(a,n);break;case 4134:var f=AL.sourceDuration(a);if(f>0){var p;for(var d in a.bufQueue)if(d){var c=a.bufQueue[d];p=c.frequency*c.bytesPerSample*c.channels;break}n/=p}if(n<0||n>f){AL.currentCtx.err=40963;return}AL.sourceSeek(a,n);break;case 4628:if(n!==0&&n!==1&&n!==2){AL.currentCtx.err=40963;return}a.spatialize=n,AL.initSourcePanner(a);break;case 8201:case 8202:case 8203:AL.currentCtx.err=40964;break;case 53248:switch(n){case 0:case 53249:case 53250:case 53251:case 53252:case 53253:case 53254:a.distanceModel=n,AL.currentCtx.sourceDistanceModel&&AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40963;return}break;default:AL.currentCtx.err=40962;return}}},captures:{},sharedCaptureAudioCtx:null,requireValidCaptureDevice:(e,r)=>{if(e===0)return AL.alcErr=40961,null;var t=AL.captures[e];if(!t)return AL.alcErr=40961,null;var n=t.mediaStreamError;return n?(AL.alcErr=40961,null):t}},_alBuffer3f=(e,r,t,n,a)=>{AL.setBufferParam("alBuffer3f",e,r,null)};_alBuffer3f.sig="viifff";var _alBuffer3i=(e,r,t,n,a)=>{AL.setBufferParam("alBuffer3i",e,r,null)};_alBuffer3i.sig="viiiii";function _alBufferData(e,r,t,n,a){if(t>>>=0,!!AL.currentCtx){var o=AL.buffers[e];if(!o){AL.currentCtx.err=40963;return}if(a<=0){AL.currentCtx.err=40963;return}var _=null;try{switch(r){case 4352:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(1,n,a);for(var l=_.getChannelData(0),c=0;c<n;++c)l[c]=HEAPU8[t++>>>0]*.0078125-1}o.bytesPerSample=1,o.channels=1,o.length=n;break;case 4353:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(1,n>>1,a);var l=_.getChannelData(0);t>>=1;for(var c=0;c<n>>1;++c)l[c]=HEAP16[t++>>>0]*30517578125e-15}o.bytesPerSample=2,o.channels=1,o.length=n>>1;break;case 4354:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(2,n>>1,a);for(var l=_.getChannelData(0),u=_.getChannelData(1),c=0;c<n>>1;++c)l[c]=HEAPU8[t++>>>0]*.0078125-1,u[c]=HEAPU8[t++>>>0]*.0078125-1}o.bytesPerSample=1,o.channels=2,o.length=n>>1;break;case 4355:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(2,n>>2,a);var l=_.getChannelData(0),u=_.getChannelData(1);t>>=1;for(var c=0;c<n>>2;++c)l[c]=HEAP16[t++>>>0]*30517578125e-15,u[c]=HEAP16[t++>>>0]*30517578125e-15}o.bytesPerSample=2,o.channels=2,o.length=n>>2;break;case 65552:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(1,n>>2,a);var l=_.getChannelData(0);t>>=2;for(var c=0;c<n>>2;++c)l[c]=HEAPF32[t++>>>0]}o.bytesPerSample=4,o.channels=1,o.length=n>>2;break;case 65553:if(n>0){_=AL.currentCtx.audioCtx.createBuffer(2,n>>3,a);var l=_.getChannelData(0),u=_.getChannelData(1);t>>=2;for(var c=0;c<n>>3;++c)l[c]=HEAPF32[t++>>>0],u[c]=HEAPF32[t++>>>0]}o.bytesPerSample=4,o.channels=2,o.length=n>>3;break;default:AL.currentCtx.err=40963;return}o.frequency=a,o.audioBuf=_}catch(d){AL.currentCtx.err=40963;return}}}_alBufferData.sig="viipii";var _alBufferf=(e,r,t)=>{AL.setBufferParam("alBufferf",e,r,null)};_alBufferf.sig="viif";function _alBufferfv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}AL.setBufferParam("alBufferfv",e,r,null)}}_alBufferfv.sig="viip";var _alBufferi=(e,r,t)=>{AL.setBufferParam("alBufferi",e,r,null)};_alBufferi.sig="viii";function _alBufferiv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8213:AL.paramArray[0]=HEAP32[t>>>2>>>0],AL.paramArray[1]=HEAP32[t+4>>>2>>>0],AL.setBufferParam("alBufferiv",e,r,AL.paramArray);break;default:AL.setBufferParam("alBufferiv",e,r,null);break}}}_alBufferiv.sig="viip";function _alDeleteBuffers(e,r){if(r>>>=0,!!AL.currentCtx){for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];if(n!==0){if(!AL.buffers[n]){AL.currentCtx.err=40961;return}if(AL.buffers[n].refCount){AL.currentCtx.err=40964;return}}}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];n!==0&&(AL.deviceRefCounts[AL.buffers[n].deviceId]--,delete AL.buffers[n],AL.freeIds.push(n))}}}_alDeleteBuffers.sig="vip";var _alSourcei=(e,r,t)=>{switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:AL.setSourceParam("alSourcei",e,r,t);break;default:AL.setSourceParam("alSourcei",e,r,null);break}};_alSourcei.sig="viii";function _alDeleteSources(e,r){if(r>>>=0,!!AL.currentCtx){for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];if(!AL.currentCtx.sources[n]){AL.currentCtx.err=40961;return}}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4116),_alSourcei(n,4105,0),delete AL.currentCtx.sources[n],AL.freeIds.push(n)}}}_alDeleteSources.sig="vip";var _alDisable=e=>{if(AL.currentCtx)switch(e){case 512:AL.currentCtx.sourceDistanceModel=!1,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alDisable.sig="vi";var _alDistanceModel=e=>{AL.setGlobalParam("alDistanceModel",53248,e)};_alDistanceModel.sig="vi";var _alDopplerFactor=e=>{AL.setGlobalParam("alDopplerFactor",49152,e)};_alDopplerFactor.sig="vf";var _alDopplerVelocity=e=>{if(warnOnce("alDopplerVelocity() is deprecated, and only kept for compatibility with OpenAL 1.0. Use alSpeedOfSound() instead."),!!AL.currentCtx&&e<=0){AL.currentCtx.err=40963;return}};_alDopplerVelocity.sig="vf";var _alEnable=e=>{if(AL.currentCtx)switch(e){case 512:AL.currentCtx.sourceDistanceModel=!0,AL.updateContextGlobal(AL.currentCtx);break;default:AL.currentCtx.err=40962;return}};_alEnable.sig="vi";function _alGenBuffers(e,r){if(r>>>=0,!!AL.currentCtx)for(var t=0;t<e;++t){var n={deviceId:AL.currentCtx.deviceId,id:AL.newId(),refCount:0,audioBuf:null,frequency:0,bytesPerSample:2,channels:1,length:0};AL.deviceRefCounts[n.deviceId]++,AL.buffers[n.id]=n,HEAP32[r+t*4>>>2>>>0]=n.id}}_alGenBuffers.sig="vip";function _alGenSources(e,r){if(r>>>=0,!!AL.currentCtx)for(var t=0;t<e;++t){var n=AL.currentCtx.audioCtx.createGain();n.connect(AL.currentCtx.gain);var a={context:AL.currentCtx,id:AL.newId(),type:4144,state:4113,bufQueue:[AL.buffers[0]],audioQueue:[],looping:!1,pitch:1,dopplerShift:1,gain:n,minGain:0,maxGain:1,panner:null,bufsProcessed:0,bufStartTime:Number.NEGATIVE_INFINITY,bufOffset:0,relative:!1,refDistance:1,maxDistance:340282e33,rolloffFactor:1,position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],coneOuterGain:0,coneInnerAngle:360,coneOuterAngle:360,distanceModel:53250,spatialize:2,get playbackRate(){return this.pitch*this.dopplerShift}};AL.currentCtx.sources[a.id]=a,HEAP32[r+t*4>>>2>>>0]=a.id}}_alGenSources.sig="vip";var _alGetBoolean=e=>{var r=AL.getGlobalParam("alGetBoolean",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r!==0?1:0;default:return AL.currentCtx.err=40962,0}};_alGetBoolean.sig="ii";function _alGetBooleanv(e,r){r>>>=0;var t=AL.getGlobalParam("alGetBooleanv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAP8[r>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetBooleanv.sig="vip";function _alGetBuffer3f(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getBufferParam("alGetBuffer3f",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBuffer3f.sig="viippp";function _alGetBuffer3i(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getBufferParam("alGetBuffer3i",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBuffer3i.sig="viippp";function _alGetBufferf(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferf",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBufferf.sig="viip";function _alGetBufferfv(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferfv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetBufferfv.sig="viip";function _alGetBufferi(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferi",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8193:case 8194:case 8195:case 8196:HEAP32[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetBufferi.sig="viip";function _alGetBufferiv(e,r,t){t>>>=0;var n=AL.getBufferParam("alGetBufferiv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 8193:case 8194:case 8195:case 8196:HEAP32[t>>>2>>>0]=n;break;case 8213:HEAP32[t>>>2>>>0]=n[0],HEAP32[t+4>>>2>>>0]=n[1];break;default:AL.currentCtx.err=40962;return}}}_alGetBufferiv.sig="viip";var _alGetDouble=e=>{var r=AL.getGlobalParam("alGetDouble",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return AL.currentCtx.err=40962,0}};_alGetDouble.sig="di";function _alGetDoublev(e,r){r>>>=0;var t=AL.getGlobalParam("alGetDoublev",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAPF64[r>>>3>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetDoublev.sig="vip";function _alGetEnumValue(e){if(e>>>=0,!AL.currentCtx)return 0;if(!e)return AL.currentCtx.err=40963,0;var r=UTF8ToString(e);switch(r){case"AL_BITS":return 8194;case"AL_BUFFER":return 4105;case"AL_BUFFERS_PROCESSED":return 4118;case"AL_BUFFERS_QUEUED":return 4117;case"AL_BYTE_OFFSET":return 4134;case"AL_CHANNELS":return 8195;case"AL_CONE_INNER_ANGLE":return 4097;case"AL_CONE_OUTER_ANGLE":return 4098;case"AL_CONE_OUTER_GAIN":return 4130;case"AL_DIRECTION":return 4101;case"AL_DISTANCE_MODEL":return 53248;case"AL_DOPPLER_FACTOR":return 49152;case"AL_DOPPLER_VELOCITY":return 49153;case"AL_EXPONENT_DISTANCE":return 53253;case"AL_EXPONENT_DISTANCE_CLAMPED":return 53254;case"AL_EXTENSIONS":return 45060;case"AL_FORMAT_MONO16":return 4353;case"AL_FORMAT_MONO8":return 4352;case"AL_FORMAT_STEREO16":return 4355;case"AL_FORMAT_STEREO8":return 4354;case"AL_FREQUENCY":return 8193;case"AL_GAIN":return 4106;case"AL_INITIAL":return 4113;case"AL_INVALID":return-1;case"AL_ILLEGAL_ENUM":case"AL_INVALID_ENUM":return 40962;case"AL_INVALID_NAME":return 40961;case"AL_ILLEGAL_COMMAND":case"AL_INVALID_OPERATION":return 40964;case"AL_INVALID_VALUE":return 40963;case"AL_INVERSE_DISTANCE":return 53249;case"AL_INVERSE_DISTANCE_CLAMPED":return 53250;case"AL_LINEAR_DISTANCE":return 53251;case"AL_LINEAR_DISTANCE_CLAMPED":return 53252;case"AL_LOOPING":return 4103;case"AL_MAX_DISTANCE":return 4131;case"AL_MAX_GAIN":return 4110;case"AL_MIN_GAIN":return 4109;case"AL_NONE":return 0;case"AL_NO_ERROR":return 0;case"AL_ORIENTATION":return 4111;case"AL_OUT_OF_MEMORY":return 40965;case"AL_PAUSED":return 4115;case"AL_PENDING":return 8209;case"AL_PITCH":return 4099;case"AL_PLAYING":return 4114;case"AL_POSITION":return 4100;case"AL_PROCESSED":return 8210;case"AL_REFERENCE_DISTANCE":return 4128;case"AL_RENDERER":return 45059;case"AL_ROLLOFF_FACTOR":return 4129;case"AL_SAMPLE_OFFSET":return 4133;case"AL_SEC_OFFSET":return 4132;case"AL_SIZE":return 8196;case"AL_SOURCE_RELATIVE":return 514;case"AL_SOURCE_STATE":return 4112;case"AL_SOURCE_TYPE":return 4135;case"AL_SPEED_OF_SOUND":return 49155;case"AL_STATIC":return 4136;case"AL_STOPPED":return 4116;case"AL_STREAMING":return 4137;case"AL_UNDETERMINED":return 4144;case"AL_UNUSED":return 8208;case"AL_VELOCITY":return 4102;case"AL_VENDOR":return 45057;case"AL_VERSION":return 45058;case"AL_AUTO_SOFT":return 2;case"AL_SOURCE_DISTANCE_MODEL":return 512;case"AL_SOURCE_SPATIALIZE_SOFT":return 4628;case"AL_LOOP_POINTS_SOFT":return 8213;case"AL_BYTE_LENGTH_SOFT":return 8201;case"AL_SAMPLE_LENGTH_SOFT":return 8202;case"AL_SEC_LENGTH_SOFT":return 8203;case"AL_FORMAT_MONO_FLOAT32":return 65552;case"AL_FORMAT_STEREO_FLOAT32":return 65553;default:return AL.currentCtx.err=40963,0}}_alGetEnumValue.sig="ip";var _alGetError=()=>{if(!AL.currentCtx)return 40964;var e=AL.currentCtx.err;return AL.currentCtx.err=0,e};_alGetError.sig="i";var _alGetFloat=e=>{var r=AL.getGlobalParam("alGetFloat",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return 0}};_alGetFloat.sig="fi";function _alGetFloatv(e,r){r>>>=0;var t=AL.getGlobalParam("alGetFloatv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAPF32[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetFloatv.sig="vip";var _alGetInteger=e=>{var r=AL.getGlobalParam("alGetInteger",e);if(r===null)return 0;switch(e){case 49152:case 49155:case 53248:return r;default:return AL.currentCtx.err=40962,0}};_alGetInteger.sig="ii";function _alGetIntegerv(e,r){r>>>=0;var t=AL.getGlobalParam("alGetIntegerv",e);if(!(t===null||!r))switch(e){case 49152:case 49155:case 53248:HEAP32[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}_alGetIntegerv.sig="vip";function _alGetListener3f(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;var a=AL.getListenerParam("alGetListener3f",e);if(a!==null){if(!r||!t||!n){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAPF32[r>>>2>>>0]=a[0],HEAPF32[t>>>2>>>0]=a[1],HEAPF32[n>>>2>>>0]=a[2];break;default:AL.currentCtx.err=40962;return}}}_alGetListener3f.sig="vippp";function _alGetListener3i(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;var a=AL.getListenerParam("alGetListener3i",e);if(a!==null){if(!r||!t||!n){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAP32[r>>>2>>>0]=a[0],HEAP32[t>>>2>>>0]=a[1],HEAP32[n>>>2>>>0]=a[2];break;default:AL.currentCtx.err=40962;return}}}_alGetListener3i.sig="vippp";function _alGetListenerf(e,r){r>>>=0;var t=AL.getListenerParam("alGetListenerf",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4106:HEAPF32[r>>>2>>>0]=t;break;default:AL.currentCtx.err=40962;return}}}_alGetListenerf.sig="vip";function _alGetListenerfv(e,r){r>>>=0;var t=AL.getListenerParam("alGetListenerfv",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAPF32[r>>>2>>>0]=t[0],HEAPF32[r+4>>>2>>>0]=t[1],HEAPF32[r+8>>>2>>>0]=t[2];break;case 4111:HEAPF32[r>>>2>>>0]=t[0],HEAPF32[r+4>>>2>>>0]=t[1],HEAPF32[r+8>>>2>>>0]=t[2],HEAPF32[r+12>>>2>>>0]=t[3],HEAPF32[r+16>>>2>>>0]=t[4],HEAPF32[r+20>>>2>>>0]=t[5];break;default:AL.currentCtx.err=40962;return}}}_alGetListenerfv.sig="vip";function _alGetListeneri(e,r){r>>>=0;var t=AL.getListenerParam("alGetListeneri",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}AL.currentCtx.err=40962}}_alGetListeneri.sig="vip";function _alGetListeneriv(e,r){r>>>=0;var t=AL.getListenerParam("alGetListeneriv",e);if(t!==null){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:HEAP32[r>>>2>>>0]=t[0],HEAP32[r+4>>>2>>>0]=t[1],HEAP32[r+8>>>2>>>0]=t[2];break;case 4111:HEAP32[r>>>2>>>0]=t[0],HEAP32[r+4>>>2>>>0]=t[1],HEAP32[r+8>>>2>>>0]=t[2],HEAP32[r+12>>>2>>>0]=t[3],HEAP32[r+16>>>2>>>0]=t[4],HEAP32[r+20>>>2>>>0]=t[5];break;default:AL.currentCtx.err=40962;return}}}_alGetListeneriv.sig="vip";function _alGetSource3f(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getSourceParam("alGetSource3f",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}switch(r){case 4100:case 4101:case 4102:HEAPF32[t>>>2>>>0]=o[0],HEAPF32[n>>>2>>>0]=o[1],HEAPF32[a>>>2>>>0]=o[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSource3f.sig="viippp";function _alGetSource3i(e,r,t,n,a){t>>>=0,n>>>=0,a>>>=0;var o=AL.getSourceParam("alGetSource3i",e,r);if(o!==null){if(!t||!n||!a){AL.currentCtx.err=40963;return}switch(r){case 4100:case 4101:case 4102:HEAP32[t>>>2>>>0]=o[0],HEAP32[n>>>2>>>0]=o[1],HEAP32[a>>>2>>>0]=o[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSource3i.sig="viippp";function _alGetSourcef(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourcef",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetSourcef.sig="viip";function _alGetSourcefv(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourcefv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:HEAPF32[t>>>2>>>0]=n[0];break;case 4100:case 4101:case 4102:HEAPF32[t>>>2>>>0]=n[0],HEAPF32[t+4>>>2>>>0]=n[1],HEAPF32[t+8>>>2>>>0]=n[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSourcefv.sig="viip";function _alGetSourcei(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourcei",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[t>>>2>>>0]=n;break;default:AL.currentCtx.err=40962;return}}}_alGetSourcei.sig="viip";function _alGetSourceiv(e,r,t){t>>>=0;var n=AL.getSourceParam("alGetSourceiv",e,r);if(n!==null){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4112:case 4117:case 4118:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4135:case 4628:case 8201:case 8202:case 53248:HEAP32[t>>>2>>>0]=n;break;case 4100:case 4101:case 4102:HEAP32[t>>>2>>>0]=n[0],HEAP32[t+4>>>2>>>0]=n[1],HEAP32[t+8>>>2>>>0]=n[2];break;default:AL.currentCtx.err=40962;return}}}_alGetSourceiv.sig="viip";var stringToNewUTF8=e=>{var r=lengthBytesUTF8(e)+1,t=_malloc(r);return t&&stringToUTF8(e,t,r),t};function _alGetString(e){if(AL.stringCache[e])return AL.stringCache[e];var r;switch(e){case 0:r="No Error";break;case 40961:r="Invalid Name";break;case 40962:r="Invalid Enum";break;case 40963:r="Invalid Value";break;case 40964:r="Invalid Operation";break;case 40965:r="Out of Memory";break;case 45057:r="Emscripten";break;case 45058:r="1.1";break;case 45059:r="WebAudio";break;case 45060:r=Object.keys(AL.AL_EXTENSIONS).join(" ");break;default:return AL.currentCtx&&(AL.currentCtx.err=40962),0}return r=stringToNewUTF8(r),AL.stringCache[e]=r,r}_alGetString.sig="pi";var _alIsBuffer=e=>!(!AL.currentCtx||e>AL.buffers.length||!AL.buffers[e]);_alIsBuffer.sig="ii";var _alIsEnabled=e=>{if(!AL.currentCtx)return 0;switch(e){case 512:return AL.currentCtx.sourceDistanceModel?0:1;default:return AL.currentCtx.err=40962,0}};_alIsEnabled.sig="ii";function _alIsExtensionPresent(e){e>>>=0;var r=UTF8ToString(e);return AL.AL_EXTENSIONS[r]?1:0}_alIsExtensionPresent.sig="ip";var _alIsSource=e=>!(!AL.currentCtx||!AL.currentCtx.sources[e]);_alIsSource.sig="ii";var _alListener3f=(e,r,t,n)=>{switch(e){case 4100:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=t,AL.paramArray[2]=n,AL.setListenerParam("alListener3f",e,AL.paramArray);break;default:AL.setListenerParam("alListener3f",e,null);break}};_alListener3f.sig="vifff";var _alListener3i=(e,r,t,n)=>{switch(e){case 4100:case 4102:AL.paramArray[0]=r,AL.paramArray[1]=t,AL.paramArray[2]=n,AL.setListenerParam("alListener3i",e,AL.paramArray);break;default:AL.setListenerParam("alListener3i",e,null);break}};_alListener3i.sig="viiii";var _alListenerf=(e,r)=>{switch(e){case 4106:AL.setListenerParam("alListenerf",e,r);break;default:AL.setListenerParam("alListenerf",e,null);break}};_alListenerf.sig="vif";function _alListenerfv(e,r){if(r>>>=0,!!AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=HEAPF32[r>>>2>>>0],AL.paramArray[1]=HEAPF32[r+4>>>2>>>0],AL.paramArray[2]=HEAPF32[r+8>>>2>>>0],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAPF32[r>>>2>>>0],AL.paramArray[1]=HEAPF32[r+4>>>2>>>0],AL.paramArray[2]=HEAPF32[r+8>>>2>>>0],AL.paramArray[3]=HEAPF32[r+12>>>2>>>0],AL.paramArray[4]=HEAPF32[r+16>>>2>>>0],AL.paramArray[5]=HEAPF32[r+20>>>2>>>0],AL.setListenerParam("alListenerfv",e,AL.paramArray);break;default:AL.setListenerParam("alListenerfv",e,null);break}}}_alListenerfv.sig="vip";var _alListeneri=(e,r)=>{AL.setListenerParam("alListeneri",e,null)};_alListeneri.sig="vii";function _alListeneriv(e,r){if(r>>>=0,!!AL.currentCtx){if(!r){AL.currentCtx.err=40963;return}switch(e){case 4100:case 4102:AL.paramArray[0]=HEAP32[r>>>2>>>0],AL.paramArray[1]=HEAP32[r+4>>>2>>>0],AL.paramArray[2]=HEAP32[r+8>>>2>>>0],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;case 4111:AL.paramArray[0]=HEAP32[r>>>2>>>0],AL.paramArray[1]=HEAP32[r+4>>>2>>>0],AL.paramArray[2]=HEAP32[r+8>>>2>>>0],AL.paramArray[3]=HEAP32[r+12>>>2>>>0],AL.paramArray[4]=HEAP32[r+16>>>2>>>0],AL.paramArray[5]=HEAP32[r+20>>>2>>>0],AL.setListenerParam("alListeneriv",e,AL.paramArray);break;default:AL.setListenerParam("alListeneriv",e,null);break}}}_alListeneriv.sig="vip";var _alSource3f=(e,r,t,n,a)=>{switch(r){case 4100:case 4101:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=n,AL.paramArray[2]=a,AL.setSourceParam("alSource3f",e,r,AL.paramArray);break;default:AL.setSourceParam("alSource3f",e,r,null);break}};_alSource3f.sig="viifff";var _alSource3i=(e,r,t,n,a)=>{switch(r){case 4100:case 4101:case 4102:AL.paramArray[0]=t,AL.paramArray[1]=n,AL.paramArray[2]=a,AL.setSourceParam("alSource3i",e,r,AL.paramArray);break;default:AL.setSourceParam("alSource3i",e,r,null);break}};_alSource3i.sig="viiiii";var _alSourcePause=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4115)}};_alSourcePause.sig="vi";function _alSourcePausev(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4115)}}}_alSourcePausev.sig="vip";var _alSourcePlay=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4114)}};_alSourcePlay.sig="vi";function _alSourcePlayv(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4114)}}}_alSourcePlayv.sig="vip";function _alSourceQueueBuffers(e,r,t){if(t>>>=0,!!AL.currentCtx){var n=AL.currentCtx.sources[e];if(!n){AL.currentCtx.err=40961;return}if(n.type===4136){AL.currentCtx.err=40964;return}if(r!==0){for(var a=AL.buffers[0],o=0;o<n.bufQueue.length;o++)if(n.bufQueue[o].id!==0){a=n.bufQueue[o];break}for(var o=0;o<r;++o){var _=HEAP32[t+o*4>>>2>>>0],l=AL.buffers[_];if(!l){AL.currentCtx.err=40961;return}a.id!==0&&(l.frequency!==a.frequency||l.bytesPerSample!==a.bytesPerSample||l.channels!==a.channels)&&(AL.currentCtx.err=40964)}n.bufQueue.length===1&&n.bufQueue[0].id===0&&(n.bufQueue.length=0),n.type=4137;for(var o=0;o<r;++o){var _=HEAP32[t+o*4>>>2>>>0],l=AL.buffers[_];l.refCount++,n.bufQueue.push(l)}n.looping&&AL.cancelPendingSourceAudio(n),AL.initSourcePanner(n),AL.scheduleSourceAudio(n)}}}_alSourceQueueBuffers.sig="viip";var _alSourceRewind=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4116),AL.setSourceState(r,4113)}};_alSourceRewind.sig="vi";function _alSourceRewindv(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4113)}}}_alSourceRewindv.sig="vip";var _alSourceStop=e=>{if(AL.currentCtx){var r=AL.currentCtx.sources[e];if(!r){AL.currentCtx.err=40961;return}AL.setSourceState(r,4116)}};_alSourceStop.sig="vi";function _alSourceStopv(e,r){if(r>>>=0,!!AL.currentCtx){r||(AL.currentCtx.err=40963);for(var t=0;t<e;++t)if(!AL.currentCtx.sources[HEAP32[r+t*4>>>2>>>0]]){AL.currentCtx.err=40961;return}for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0];AL.setSourceState(AL.currentCtx.sources[n],4116)}}}_alSourceStopv.sig="vip";function _alSourceUnqueueBuffers(e,r,t){if(t>>>=0,!!AL.currentCtx){var n=AL.currentCtx.sources[e];if(!n){AL.currentCtx.err=40961;return}if(r>(n.bufQueue.length===1&&n.bufQueue[0].id===0?0:n.bufsProcessed)){AL.currentCtx.err=40963;return}if(r!==0){for(var a=0;a<r;a++){var o=n.bufQueue.shift();o.refCount--,HEAP32[t+a*4>>>2>>>0]=o.id,n.bufsProcessed--}n.bufQueue.length===0&&n.bufQueue.push(AL.buffers[0]),AL.initSourcePanner(n),AL.scheduleSourceAudio(n)}}}_alSourceUnqueueBuffers.sig="viip";var _alSourcef=(e,r,t)=>{switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:AL.setSourceParam("alSourcef",e,r,t);break;default:AL.setSourceParam("alSourcef",e,r,null);break}};_alSourcef.sig="viif";function _alSourcefv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 4097:case 4098:case 4099:case 4106:case 4109:case 4110:case 4128:case 4129:case 4130:case 4131:case 4132:case 4133:case 4134:case 8203:var n=HEAPF32[t>>>2>>>0];AL.setSourceParam("alSourcefv",e,r,n);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAPF32[t>>>2>>>0],AL.paramArray[1]=HEAPF32[t+4>>>2>>>0],AL.paramArray[2]=HEAPF32[t+8>>>2>>>0],AL.setSourceParam("alSourcefv",e,r,AL.paramArray);break;default:AL.setSourceParam("alSourcefv",e,r,null);break}}}_alSourcefv.sig="viip";function _alSourceiv(e,r,t){if(t>>>=0,!!AL.currentCtx){if(!t){AL.currentCtx.err=40963;return}switch(r){case 514:case 4097:case 4098:case 4103:case 4105:case 4128:case 4129:case 4131:case 4132:case 4133:case 4134:case 4628:case 8201:case 8202:case 53248:var n=HEAP32[t>>>2>>>0];AL.setSourceParam("alSourceiv",e,r,n);break;case 4100:case 4101:case 4102:AL.paramArray[0]=HEAP32[t>>>2>>>0],AL.paramArray[1]=HEAP32[t+4>>>2>>>0],AL.paramArray[2]=HEAP32[t+8>>>2>>>0],AL.setSourceParam("alSourceiv",e,r,AL.paramArray);break;default:AL.setSourceParam("alSourceiv",e,r,null);break}}}_alSourceiv.sig="viip";var _alSpeedOfSound=e=>{AL.setGlobalParam("alSpeedOfSound",49155,e)};_alSpeedOfSound.sig="vf";var _alcCaptureCloseDevice=function(e){var t,n,a,o;e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureCloseDevice");return r?(delete AL.captures[e],AL.freeIds.push(e),(t=r.mediaStreamSourceNode)==null||t.disconnect(),(n=r.mergerNode)==null||n.disconnect(),(a=r.splitterNode)==null||a.disconnect(),(o=r.scriptProcessorNode)==null||o.disconnect(),r.mediaStream&&r.mediaStream.getTracks().forEach(_=>_.stop()),delete r.buffers,r.capturedFrameCount=0,r.isCapturing=!1,!0):!1};_alcCaptureCloseDevice.sig="ip";var listenOnce=(e,r,t)=>{e.addEventListener(r,t,{once:!0})},autoResumeAudioContext=(e,r)=>{r||(r=[document,document.getElementById("canvas")]),["keydown","mousedown","touchstart"].forEach(t=>{r.forEach(n=>{n&&listenOnce(n,t,()=>{e.state==="suspended"&&e.resume()})})})};function _alcCaptureOpenDevice(e,r,t,n){var A;e>>>=0;var a=AL.CAPTURE_DEVICE_NAME;if(e!==0&&(a=UTF8ToString(e),a!==AL.CAPTURE_DEVICE_NAME))return AL.alcErr=40965,0;if(n<0)return AL.alcErr=40964,0;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var o=navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia;if(!o)return AL.alcErr=40965,0;var _=window.AudioContext||window.webkitAudioContext;if(!AL.sharedCaptureAudioCtx)try{AL.sharedCaptureAudioCtx=new _}catch(w){return AL.alcErr=40965,0}autoResumeAudioContext(AL.sharedCaptureAudioCtx);var l;switch(t){case 65552:case 4353:case 4352:l=1;break;case 65553:case 4355:case 4354:l=2;break;default:return AL.alcErr=40964,0}function c(w){return new Float32Array(w)}function u(w){return new Int16Array(w)}function d(w){return new Uint8Array(w)}var f,p;switch(t){case 65552:case 65553:f="f32",p=c;break;case 4353:case 4355:f="i16",p=u;break;case 4352:case 4354:f="u8",p=d;break}var m=[];try{for(var v=0;v<l;++v)m[v]=p(n)}catch(w){return AL.alcErr=40965,0}var g={audioCtx:AL.sharedCaptureAudioCtx,deviceName:a,requestedSampleRate:r,requestedSampleType:f,outputChannelCount:l,inputChannelCount:null,mediaStreamError:null,mediaStreamSourceNode:null,mediaStream:null,mergerNode:null,splitterNode:null,scriptProcessorNode:null,isCapturing:!1,buffers:m,get bufferFrameCapacity(){return m[0].length},capturePlayhead:0,captureReadhead:0,capturedFrameCount:0},S=w=>{g.mediaStreamError=w},h=w=>{g.mediaStreamSourceNode=g.audioCtx.createMediaStreamSource(w),g.mediaStream=w;var L=1;switch(g.mediaStreamSourceNode.channelCountMode){case"max":L=l;break;case"clamped-max":L=Math.min(l,g.mediaStreamSourceNode.channelCount);break;case"explicit":L=g.mediaStreamSourceNode.channelCount;break}g.inputChannelCount=L;var F=512;g.scriptProcessorNode=g.audioCtx.createScriptProcessor(F,L,l),L>l?(g.mergerNode=g.audioCtx.createChannelMerger(L),g.mediaStreamSourceNode.connect(g.mergerNode),g.mergerNode.connect(g.scriptProcessorNode)):L<l?(g.splitterNode=g.audioCtx.createChannelSplitter(l),g.mediaStreamSourceNode.connect(g.splitterNode),g.splitterNode.connect(g.scriptProcessorNode)):g.mediaStreamSourceNode.connect(g.scriptProcessorNode),g.scriptProcessorNode.connect(g.audioCtx.destination),g.scriptProcessorNode.onaudioprocess=y=>{if(g.isCapturing){var D=g,P=y.inputBuffer;switch(t){case 65552:for(var T=P.getChannelData(0),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k]}break;case 65553:for(var T=P.getChannelData(0),C=P.getChannelData(1),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k],D.buffers[1][x]=C[k]}break;case 4353:for(var T=P.getChannelData(0),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k]*32767}break;case 4355:for(var T=P.getChannelData(0),C=P.getChannelData(1),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=T[k]*32767,D.buffers[1][x]=C[k]*32767}break;case 4352:for(var T=P.getChannelData(0),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=(T[k]+1)*127}break;case 4354:for(var T=P.getChannelData(0),C=P.getChannelData(1),k=0;k<P.length;++k){var x=(D.capturePlayhead+k)%D.bufferFrameCapacity;D.buffers[0][x]=(T[k]+1)*127,D.buffers[1][x]=(C[k]+1)*127}break}D.capturePlayhead+=P.length,D.capturePlayhead%=D.bufferFrameCapacity,D.capturedFrameCount+=P.length,D.capturedFrameCount=Math.min(D.capturedFrameCount,D.bufferFrameCapacity)}}};(A=navigator.mediaDevices)!=null&&A.getUserMedia?navigator.mediaDevices.getUserMedia({audio:!0}).then(h).catch(S):navigator.getUserMedia({audio:!0},h,S);var b=AL.newId();return AL.captures[b]=g,b}_alcCaptureOpenDevice.sig="ppiii";function _alcCaptureSamples(e,r,t){e>>>=0,r>>>=0;var n=AL.requireValidCaptureDevice(e,"alcCaptureSamples");if(!n)return;var a=n.requestedSampleRate,o=n.audioCtx.sampleRate,_=o/a;if(t<0||t>n.capturedFrameCount/_){AL.alcErr=40964;return}function l(A,w){HEAPF32[r+4*A>>>2>>>0]=w}function c(A,w){HEAP16[r+2*A>>>1>>>0]=w}function u(A,w){HEAP8[r+A>>>0]=w}var d;switch(n.requestedSampleType){case"f32":d=l;break;case"i16":d=c;break;case"u8":d=u;break;default:return}if(Math.floor(_)==_)for(var f=0,p=0;p<t;++p){for(var m=0;m<n.buffers.length;++m,++f)d(f,n.buffers[m][n.captureReadhead]);n.captureReadhead=(_+n.captureReadhead)%n.bufferFrameCapacity}else for(var f=0,p=0;p<t;++p){for(var v=Math.floor(n.captureReadhead),g=Math.ceil(n.captureReadhead),S=n.captureReadhead-v,m=0;m<n.buffers.length;++m,++f){var h=n.buffers[m][v],b=n.buffers[m][g];d(f,(1-S)*h+S*b)}n.captureReadhead=(n.captureReadhead+_)%n.bufferFrameCapacity}n.capturedFrameCount=0}_alcCaptureSamples.sig="vppi";function _alcCaptureStart(e){e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureStart");r&&(r.isCapturing||(r.isCapturing=!0,r.capturedFrameCount=0,r.capturePlayhead=0))}_alcCaptureStart.sig="vp";function _alcCaptureStop(e){e>>>=0;var r=AL.requireValidCaptureDevice(e,"alcCaptureStop");r&&(r.isCapturing=!1)}_alcCaptureStop.sig="vp";function _alcCloseDevice(e){return e>>>=0,!(e in AL.deviceRefCounts)||AL.deviceRefCounts[e]>0?0:(delete AL.deviceRefCounts[e],AL.freeIds.push(e),1)}_alcCloseDevice.sig="ip";function _alcCreateContext(e,r){if(e>>>=0,r>>>=0,!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var t=null,n=[],a=null;if(r>>=2,r)for(var o=0,_=0;o=HEAP32[r++>>>0],n.push(o),o!==0;)switch(_=HEAP32[r++>>>0],n.push(_),o){case 4103:t||(t={}),t.sampleRate=_;break;case 4112:case 4113:break;case 6546:switch(_){case 0:a=!1;break;case 1:a=!0;break;case 2:break;default:return AL.alcErr=40964,0}break;case 6550:if(_!==0)return AL.alcErr=40964,0;break;default:return AL.alcErr=40964,0}var l=window.AudioContext||window.webkitAudioContext,c=null;try{t?c=new l(t):c=new l}catch(m){return m.name==="NotSupportedError"?AL.alcErr=40964:AL.alcErr=40961,0}autoResumeAudioContext(c),typeof c.createGain>"u"&&(c.createGain=c.createGainNode);var u=c.createGain();u.connect(c.destination);var d={deviceId:e,id:AL.newId(),attrs:n,audioCtx:c,listener:{position:[0,0,0],velocity:[0,0,0],direction:[0,0,0],up:[0,0,0]},sources:[],interval:setInterval(()=>AL.scheduleContextAudio(d),AL.QUEUE_INTERVAL),gain:u,distanceModel:53250,speedOfSound:343.3,dopplerFactor:1,sourceDistanceModel:!1,hrtf:a||!1,_err:0,get err(){return this._err},set err(m){(this._err===0||m===0)&&(this._err=m)}};if(AL.deviceRefCounts[e]++,AL.contexts[d.id]=d,a!==null)for(var f in AL.contexts){var p=AL.contexts[f];p.deviceId===e&&(p.hrtf=a,AL.updateContextGlobal(p))}return d.id}_alcCreateContext.sig="ppp";function _alcDestroyContext(e){e>>>=0;var r=AL.contexts[e];if(AL.currentCtx===r){AL.alcErr=40962;return}AL.contexts[e].interval&&clearInterval(AL.contexts[e].interval),AL.deviceRefCounts[r.deviceId]--,delete AL.contexts[e],AL.freeIds.push(e)}_alcDestroyContext.sig="vp";function _alcGetContextsDevice(e){return e>>>=0,e in AL.contexts?AL.contexts[e].deviceId:0}_alcGetContextsDevice.sig="pp";function _alcGetCurrentContext(){return AL.currentCtx!==null?AL.currentCtx.id:0}_alcGetCurrentContext.sig="p";function _alcGetEnumValue(e,r){if(e>>>=0,r>>>=0,e!==0&&!(e in AL.deviceRefCounts))return 0;if(!r)return AL.alcErr=40964,0;var t=UTF8ToString(r);switch(t){case"ALC_NO_ERROR":return 0;case"ALC_INVALID_DEVICE":return 40961;case"ALC_INVALID_CONTEXT":return 40962;case"ALC_INVALID_ENUM":return 40963;case"ALC_INVALID_VALUE":return 40964;case"ALC_OUT_OF_MEMORY":return 40965;case"ALC_MAJOR_VERSION":return 4096;case"ALC_MINOR_VERSION":return 4097;case"ALC_ATTRIBUTES_SIZE":return 4098;case"ALC_ALL_ATTRIBUTES":return 4099;case"ALC_DEFAULT_DEVICE_SPECIFIER":return 4100;case"ALC_DEVICE_SPECIFIER":return 4101;case"ALC_EXTENSIONS":return 4102;case"ALC_FREQUENCY":return 4103;case"ALC_REFRESH":return 4104;case"ALC_SYNC":return 4105;case"ALC_MONO_SOURCES":return 4112;case"ALC_STEREO_SOURCES":return 4113;case"ALC_CAPTURE_DEVICE_SPECIFIER":return 784;case"ALC_CAPTURE_DEFAULT_DEVICE_SPECIFIER":return 785;case"ALC_CAPTURE_SAMPLES":return 786;case"ALC_HRTF_SOFT":return 6546;case"ALC_HRTF_ID_SOFT":return 6550;case"ALC_DONT_CARE_SOFT":return 2;case"ALC_HRTF_STATUS_SOFT":return 6547;case"ALC_NUM_HRTF_SPECIFIERS_SOFT":return 6548;case"ALC_HRTF_SPECIFIER_SOFT":return 6549;case"ALC_HRTF_DISABLED_SOFT":return 0;case"ALC_HRTF_ENABLED_SOFT":return 1;case"ALC_HRTF_DENIED_SOFT":return 2;case"ALC_HRTF_REQUIRED_SOFT":return 3;case"ALC_HRTF_HEADPHONES_DETECTED_SOFT":return 4;case"ALC_HRTF_UNSUPPORTED_FORMAT_SOFT":return 5;default:return AL.alcErr=40964,0}}_alcGetEnumValue.sig="ipp";function _alcGetError(e){e>>>=0;var r=AL.alcErr;return AL.alcErr=0,r}_alcGetError.sig="ip";function _alcGetIntegerv(e,r,t,n){if(e>>>=0,n>>>=0,!(t===0||!n))switch(r){case 4096:HEAP32[n>>>2>>>0]=1;break;case 4097:HEAP32[n>>>2>>>0]=1;break;case 4098:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=AL.currentCtx.attrs.length;break;case 4099:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}for(var a=0;a<AL.currentCtx.attrs.length;a++)HEAP32[n+a*4>>>2>>>0]=AL.currentCtx.attrs[a];break;case 4103:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=AL.currentCtx.audioCtx.sampleRate;break;case 4112:case 4113:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=2147483647;break;case 6546:case 6547:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}var o=0;for(var _ in AL.contexts){var l=AL.contexts[_];l.deviceId===e&&(o=l.hrtf?1:0)}HEAP32[n>>>2>>>0]=o;break;case 6548:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}HEAP32[n>>>2>>>0]=1;break;case 131075:if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.currentCtx){AL.alcErr=40962;return}HEAP32[n>>>2>>>0]=1;case 786:var c=AL.requireValidCaptureDevice(e,"alcGetIntegerv");if(!c)return;var u=c.capturedFrameCount,d=c.requestedSampleRate,f=c.audioCtx.sampleRate,p=Math.floor(u*(d/f));HEAP32[n>>>2>>>0]=p;break;default:AL.alcErr=40963;return}}_alcGetIntegerv.sig="vpiip";function _alcGetString(e,r){if(e>>>=0,AL.alcStringCache[r])return AL.alcStringCache[r];var t;switch(r){case 0:t="No Error";break;case 40961:t="Invalid Device";break;case 40962:t="Invalid Context";break;case 40963:t="Invalid Enum";break;case 40964:t="Invalid Value";break;case 40965:t="Out of Memory";break;case 4100:if(typeof AudioContext<"u"||typeof webkitAudioContext<"u")t=AL.DEVICE_NAME;else return 0;break;case 4101:typeof AudioContext<"u"||typeof webkitAudioContext<"u"?t=AL.DEVICE_NAME+"\0":t="\0";break;case 785:t=AL.CAPTURE_DEVICE_NAME;break;case 784:if(e===0)t=AL.CAPTURE_DEVICE_NAME+"\0";else{var n=AL.requireValidCaptureDevice(e,"alcGetString");if(!n)return 0;t=n.deviceName}break;case 4102:if(!e)return AL.alcErr=40961,0;t=Object.keys(AL.ALC_EXTENSIONS).join(" ");break;default:return AL.alcErr=40963,0}return t=stringToNewUTF8(t),AL.alcStringCache[r]=t,t}_alcGetString.sig="ppi";function _alcIsExtensionPresent(e,r){e>>>=0,r>>>=0;var t=UTF8ToString(r);return AL.ALC_EXTENSIONS[t]?1:0}_alcIsExtensionPresent.sig="ipp";function _alcMakeContextCurrent(e){return e>>>=0,e===0?AL.currentCtx=null:AL.currentCtx=AL.contexts[e],1}_alcMakeContextCurrent.sig="ip";function _alcOpenDevice(e){if(e>>>=0,e){var r=UTF8ToString(e);if(r!==AL.DEVICE_NAME)return 0}if(typeof AudioContext<"u"||typeof webkitAudioContext<"u"){var t=AL.newId();return AL.deviceRefCounts[t]=0,t}return 0}_alcOpenDevice.sig="pp";function _alcProcessContext(e){e>>>=0}_alcProcessContext.sig="vp";function _alcSuspendContext(e){e>>>=0}_alcSuspendContext.sig="vp";function _duckdb_web_fs_directory_create(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.createDirectory(Module,e,r)}_duckdb_web_fs_directory_create.sig="vpi";function _duckdb_web_fs_directory_exists(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.checkDirectory(Module,e,r)}_duckdb_web_fs_directory_exists.sig="ipi";function _duckdb_web_fs_directory_list_files(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,e,r)}_duckdb_web_fs_directory_list_files.sig="ipi";function _duckdb_web_fs_directory_remove(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.removeDirectory(Module,e,r)}_duckdb_web_fs_directory_remove.sig="vpi";function _duckdb_web_fs_file_close(e){return globalThis.DUCKDB_RUNTIME.closeFile(Module,e)}_duckdb_web_fs_file_close.sig="vi";function _duckdb_web_fs_file_drop_file(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.dropFile(Module,e,r)}_duckdb_web_fs_file_drop_file.sig="vpi";function _duckdb_web_fs_file_exists(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.checkFile(Module,e,r)}_duckdb_web_fs_file_exists.sig="ipi";function _duckdb_web_fs_file_move(e,r,t,n){return e>>>=0,t>>>=0,globalThis.DUCKDB_RUNTIME.moveFile(Module,e,r,t,n)}_duckdb_web_fs_file_move.sig="vpipi";function _duckdb_web_fs_file_open(e,r){return globalThis.DUCKDB_RUNTIME.openFile(Module,e,r)}_duckdb_web_fs_file_open.sig="pii";function _duckdb_web_fs_file_read(e,r,t,n){return r>>>=0,globalThis.DUCKDB_RUNTIME.readFile(Module,e,r,t,n)}_duckdb_web_fs_file_read.sig="iipid";function _duckdb_web_fs_file_truncate(e,r){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,e,r)}_duckdb_web_fs_file_truncate.sig="vid";function _duckdb_web_fs_file_write(e,r,t,n){return r>>>=0,globalThis.DUCKDB_RUNTIME.writeFile(Module,e,r,t,n)}_duckdb_web_fs_file_write.sig="iipid";function _duckdb_web_fs_get_default_data_protocol(e){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(e)}_duckdb_web_fs_get_default_data_protocol.sig="i";function _duckdb_web_fs_glob(e,r){return e>>>=0,globalThis.DUCKDB_RUNTIME.glob(Module,e,r)}_duckdb_web_fs_glob.sig="vpi";function _duckdb_web_test_platform_feature(e){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,e)}_duckdb_web_test_platform_feature.sig="ii";function _duckdb_web_udf_scalar_call(e,r,t,n,a,o){return e>>>=0,t>>>=0,a>>>=0,globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,e,r,t,n,a,o)}_duckdb_web_udf_scalar_call.sig="vpipipi";var _emscripten_alcDevicePauseSOFT=e=>{if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(!AL.paused){AL.paused=!0;for(var r in AL.contexts){var t=AL.contexts[r];t.deviceId===e&&(t.audioCtx.suspend(),clearInterval(t.interval),t.interval=null)}}};_emscripten_alcDevicePauseSOFT.sig="vi";var _emscripten_alcDeviceResumeSOFT=e=>{if(!(e in AL.deviceRefCounts)){AL.alcErr=40961;return}if(AL.paused){AL.paused=!1;for(var r in AL.contexts){var t=AL.contexts[r];t.deviceId===e&&(t.interval=setInterval(()=>AL.scheduleContextAudio(t),AL.QUEUE_INTERVAL),t.audioCtx.resume())}}};_emscripten_alcDeviceResumeSOFT.sig="vi";var _emscripten_alcGetStringiSOFT=(e,r,t)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;if(AL.alcStringCache[r])return AL.alcStringCache[r];var n;switch(r){case 6549:if(t===0)n="Web Audio HRTF";else return AL.alcErr=40964,0;break;default:return t!==0?(AL.alcErr=40963,0):_alcGetString(e,r)}return n=stringToNewUTF8(n),AL.alcStringCache[r]=n,n};_emscripten_alcGetStringiSOFT.sig="iiii";var _emscripten_alcResetDeviceSOFT=(e,r)=>{if(!(e in AL.deviceRefCounts))return AL.alcErr=40961,0;var t=null;if(r>>=2,r)for(var n=0,a=0;n=HEAP32[r++>>>0],n!==0;)switch(a=HEAP32[r++>>>0],n){case 6546:a===1?t=!0:a===0&&(t=!1);break}if(t!==null)for(var o in AL.contexts){var _=AL.contexts[o];_.deviceId===e&&(_.hrtf=t,AL.updateContextGlobal(_))}return 1};_emscripten_alcResetDeviceSOFT.sig="iii";var readEmAsmArgsArray=[],readEmAsmArgs=(e,r)=>{readEmAsmArgsArray.length=0;for(var t;t=HEAPU8[e++>>>0];){var n=t!=105;n&=t!=112,r+=n&&r%8?4:0,readEmAsmArgsArray.push(t==112?HEAPU32[r>>>2>>>0]:t==105?HEAP32[r>>>2>>>0]:HEAPF64[r>>>3>>>0]),r+=n?8:4}return readEmAsmArgsArray},runEmAsmFunction=(e,r,t)=>{var n=readEmAsmArgs(r,t);return ASM_CONSTS[e](...n)};function _emscripten_asm_const_int(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_int.sig="ippp";function _emscripten_asm_const_ptr(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_ptr.sig="pppp";function _emscripten_console_error(e){e>>>=0,console.error(UTF8ToString(e))}_emscripten_console_error.sig="vp";function _emscripten_console_log(e){e>>>=0,console.log(UTF8ToString(e))}_emscripten_console_log.sig="vp";function _emscripten_console_trace(e){e>>>=0,console.trace(UTF8ToString(e))}_emscripten_console_trace.sig="vp";function _emscripten_console_warn(e){e>>>=0,console.warn(UTF8ToString(e))}_emscripten_console_warn.sig="vp";var _emscripten_date_now=()=>Date.now();_emscripten_date_now.sig="d";function _emscripten_err(e){return e>>>=0,err(UTF8ToString(e))}_emscripten_err.sig="vp";var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}_emscripten_get_heap_max.sig="p";var _emscripten_get_now_res=()=>ENVIRONMENT_IS_NODE?1:1e3;_emscripten_get_now_res.sig="d";var GLctx,webgl_enable_ANGLE_instanced_arrays=e=>{var r=e.getExtension("ANGLE_instanced_arrays");if(r)return e.vertexAttribDivisor=(t,n)=>r.vertexAttribDivisorANGLE(t,n),e.drawArraysInstanced=(t,n,a,o)=>r.drawArraysInstancedANGLE(t,n,a,o),e.drawElementsInstanced=(t,n,a,o,_)=>r.drawElementsInstancedANGLE(t,n,a,o,_),1},webgl_enable_OES_vertex_array_object=e=>{var r=e.getExtension("OES_vertex_array_object");if(r)return e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=t=>r.deleteVertexArrayOES(t),e.bindVertexArray=t=>r.bindVertexArrayOES(t),e.isVertexArray=t=>r.isVertexArrayOES(t),1},webgl_enable_WEBGL_draw_buffers=e=>{var r=e.getExtension("WEBGL_draw_buffers");if(r)return e.drawBuffers=(t,n)=>r.drawBuffersWEBGL(t,n),1},webgl_enable_EXT_polygon_offset_clamp=e=>!!(e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")),webgl_enable_EXT_clip_control=e=>!!(e.extClipControl=e.getExtension("EXT_clip_control")),webgl_enable_WEBGL_polygon_mode=e=>!!(e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")),webgl_enable_WEBGL_multi_draw=e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")),getEmscriptenSupportedExtensions=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"];return(e.getSupportedExtensions()||[]).filter(t=>r.includes(t))},GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{GL.lastError||(GL.lastError=e)},getNewId:e=>{for(var r=GL.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=GLctx[t](),_=o&&GL.getNewId(n);o?(o.name=_,n[_]=o):GL.recordError(1282),HEAP32[r+a*4>>>2>>>0]=_}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var _=n?HEAPU32[n+o*4>>>2>>>0]:void 0;a+=UTF8ToString(HEAPU32[t+o*4>>>2>>>0],_)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){let o=function(_,l){var c=e.getContextSafariWebGL2Fixed(_,l);return _=="webgl"==c instanceof WebGLRenderingContext?c:null};var a=o;e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=o}var t=e.getContext("webgl",r);if(!t)return 0;var n=GL.registerContext(t,r);return n},registerContext:(e,r)=>{var t=GL.getNewId(GL.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),GL.contexts[t]=n,(typeof r.enableExtensionsByDefault>"u"||r.enableExtensionsByDefault)&&GL.initExtensions(n),t},makeContextCurrent:e=>{var r;return GL.currentContext=GL.contexts[e],Module.ctx=GLctx=(r=GL.currentContext)==null?void 0:r.GLctx,!(e&&!GLctx)},getContext:e=>GL.contexts[e],deleteContext:e=>{GL.currentContext===GL.contexts[e]&&(GL.currentContext=null),typeof JSEvents=="object"&&JSEvents.removeAllHandlersOnTarget(GL.contexts[e].GLctx.canvas),GL.contexts[e]&&GL.contexts[e].GLctx.canvas&&(GL.contexts[e].GLctx.canvas.GLctxObject=void 0),GL.contexts[e]=null},initExtensions:e=>{if(e||(e=GL.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r=e.GLctx;webgl_enable_WEBGL_multi_draw(r),webgl_enable_EXT_polygon_offset_clamp(r),webgl_enable_EXT_clip_control(r),webgl_enable_WEBGL_polygon_mode(r),webgl_enable_ANGLE_instanced_arrays(r),webgl_enable_OES_vertex_array_object(r),webgl_enable_WEBGL_draw_buffers(r),r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query"),getEmscriptenSupportedExtensions(r).forEach(t=>{!t.includes("lose_context")&&!t.includes("debug")&&r.getExtension(t)})}}},_glActiveTexture=e=>GLctx.activeTexture(e);_glActiveTexture.sig="vi";var _emscripten_glActiveTexture=_glActiveTexture;_emscripten_glActiveTexture.sig="vi";var _glAttachShader=(e,r)=>{GLctx.attachShader(GL.programs[e],GL.shaders[r])};_glAttachShader.sig="vii";var _emscripten_glAttachShader=_glAttachShader;_emscripten_glAttachShader.sig="vii";var _glBeginQueryEXT=(e,r)=>{GLctx.disjointTimerQueryExt.beginQueryEXT(e,GL.queries[r])};_glBeginQueryEXT.sig="vii";var _emscripten_glBeginQueryEXT=_glBeginQueryEXT;function _glBindAttribLocation(e,r,t){t>>>=0,GLctx.bindAttribLocation(GL.programs[e],r,UTF8ToString(t))}_glBindAttribLocation.sig="viip";var _emscripten_glBindAttribLocation=_glBindAttribLocation;_emscripten_glBindAttribLocation.sig="viip";var _glBindBuffer=(e,r)=>{GLctx.bindBuffer(e,GL.buffers[r])};_glBindBuffer.sig="vii";var _emscripten_glBindBuffer=_glBindBuffer;_emscripten_glBindBuffer.sig="vii";var _glBindFramebuffer=(e,r)=>{GLctx.bindFramebuffer(e,GL.framebuffers[r])};_glBindFramebuffer.sig="vii";var _emscripten_glBindFramebuffer=_glBindFramebuffer;_emscripten_glBindFramebuffer.sig="vii";var _glBindRenderbuffer=(e,r)=>{GLctx.bindRenderbuffer(e,GL.renderbuffers[r])};_glBindRenderbuffer.sig="vii";var _emscripten_glBindRenderbuffer=_glBindRenderbuffer;_emscripten_glBindRenderbuffer.sig="vii";var _glBindTexture=(e,r)=>{GLctx.bindTexture(e,GL.textures[r])};_glBindTexture.sig="vii";var _emscripten_glBindTexture=_glBindTexture;_emscripten_glBindTexture.sig="vii";var _glBindVertexArray=e=>{GLctx.bindVertexArray(GL.vaos[e])};_glBindVertexArray.sig="vi";var _glBindVertexArrayOES=_glBindVertexArray;_glBindVertexArrayOES.sig="vi";var _emscripten_glBindVertexArrayOES=_glBindVertexArrayOES;_emscripten_glBindVertexArrayOES.sig="vi";var _glBlendColor=(e,r,t,n)=>GLctx.blendColor(e,r,t,n);_glBlendColor.sig="vffff";var _emscripten_glBlendColor=_glBlendColor;_emscripten_glBlendColor.sig="vffff";var _glBlendEquation=e=>GLctx.blendEquation(e);_glBlendEquation.sig="vi";var _emscripten_glBlendEquation=_glBlendEquation;_emscripten_glBlendEquation.sig="vi";var _glBlendEquationSeparate=(e,r)=>GLctx.blendEquationSeparate(e,r);_glBlendEquationSeparate.sig="vii";var _emscripten_glBlendEquationSeparate=_glBlendEquationSeparate;_emscripten_glBlendEquationSeparate.sig="vii";var _glBlendFunc=(e,r)=>GLctx.blendFunc(e,r);_glBlendFunc.sig="vii";var _emscripten_glBlendFunc=_glBlendFunc;_emscripten_glBlendFunc.sig="vii";var _glBlendFuncSeparate=(e,r,t,n)=>GLctx.blendFuncSeparate(e,r,t,n);_glBlendFuncSeparate.sig="viiii";var _emscripten_glBlendFuncSeparate=_glBlendFuncSeparate;_emscripten_glBlendFuncSeparate.sig="viiii";function _glBufferData(e,r,t,n){r>>>=0,t>>>=0,GLctx.bufferData(e,t?HEAPU8.subarray(t>>>0,t+r>>>0):r,n)}_glBufferData.sig="vippi";var _emscripten_glBufferData=_glBufferData;_emscripten_glBufferData.sig="vippi";function _glBufferSubData(e,r,t,n){r>>>=0,t>>>=0,n>>>=0,GLctx.bufferSubData(e,r,HEAPU8.subarray(n>>>0,n+t>>>0))}_glBufferSubData.sig="vippp";var _emscripten_glBufferSubData=_glBufferSubData;_emscripten_glBufferSubData.sig="vippp";var _glCheckFramebufferStatus=e=>GLctx.checkFramebufferStatus(e);_glCheckFramebufferStatus.sig="ii";var _emscripten_glCheckFramebufferStatus=_glCheckFramebufferStatus;_emscripten_glCheckFramebufferStatus.sig="ii";var _glClear=e=>GLctx.clear(e);_glClear.sig="vi";var _emscripten_glClear=_glClear;_emscripten_glClear.sig="vi";var _glClearColor=(e,r,t,n)=>GLctx.clearColor(e,r,t,n);_glClearColor.sig="vffff";var _emscripten_glClearColor=_glClearColor;_emscripten_glClearColor.sig="vffff";var _glClearDepthf=e=>GLctx.clearDepth(e);_glClearDepthf.sig="vf";var _emscripten_glClearDepthf=_glClearDepthf;_emscripten_glClearDepthf.sig="vf";var _glClearStencil=e=>GLctx.clearStencil(e);_glClearStencil.sig="vi";var _emscripten_glClearStencil=_glClearStencil;_emscripten_glClearStencil.sig="vi";var _glClipControlEXT=(e,r)=>{GLctx.extClipControl.clipControlEXT(e,r)};_glClipControlEXT.sig="vii";var _emscripten_glClipControlEXT=_glClipControlEXT,_glColorMask=(e,r,t,n)=>{GLctx.colorMask(!!e,!!r,!!t,!!n)};_glColorMask.sig="viiii";var _emscripten_glColorMask=_glColorMask;_emscripten_glColorMask.sig="viiii";var _glCompileShader=e=>{GLctx.compileShader(GL.shaders[e])};_glCompileShader.sig="vi";var _emscripten_glCompileShader=_glCompileShader;_emscripten_glCompileShader.sig="vi";function _glCompressedTexImage2D(e,r,t,n,a,o,_,l){l>>>=0,GLctx.compressedTexImage2D(e,r,t,n,a,o,HEAPU8.subarray(l>>>0,l+_>>>0))}_glCompressedTexImage2D.sig="viiiiiiip";var _emscripten_glCompressedTexImage2D=_glCompressedTexImage2D;_emscripten_glCompressedTexImage2D.sig="viiiiiiip";function _glCompressedTexSubImage2D(e,r,t,n,a,o,_,l,c){c>>>=0,GLctx.compressedTexSubImage2D(e,r,t,n,a,o,_,HEAPU8.subarray(c>>>0,c+l>>>0))}_glCompressedTexSubImage2D.sig="viiiiiiiip";var _emscripten_glCompressedTexSubImage2D=_glCompressedTexSubImage2D;_emscripten_glCompressedTexSubImage2D.sig="viiiiiiiip";var _glCopyTexImage2D=(e,r,t,n,a,o,_,l)=>GLctx.copyTexImage2D(e,r,t,n,a,o,_,l);_glCopyTexImage2D.sig="viiiiiiii";var _emscripten_glCopyTexImage2D=_glCopyTexImage2D;_emscripten_glCopyTexImage2D.sig="viiiiiiii";var _glCopyTexSubImage2D=(e,r,t,n,a,o,_,l)=>GLctx.copyTexSubImage2D(e,r,t,n,a,o,_,l);_glCopyTexSubImage2D.sig="viiiiiiii";var _emscripten_glCopyTexSubImage2D=_glCopyTexSubImage2D;_emscripten_glCopyTexSubImage2D.sig="viiiiiiii";var _glCreateProgram=()=>{var e=GL.getNewId(GL.programs),r=GLctx.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,GL.programs[e]=r,e};_glCreateProgram.sig="i";var _emscripten_glCreateProgram=_glCreateProgram;_emscripten_glCreateProgram.sig="i";var _glCreateShader=e=>{var r=GL.getNewId(GL.shaders);return GL.shaders[r]=GLctx.createShader(e),r};_glCreateShader.sig="ii";var _emscripten_glCreateShader=_glCreateShader;_emscripten_glCreateShader.sig="ii";var _glCullFace=e=>GLctx.cullFace(e);_glCullFace.sig="vi";var _emscripten_glCullFace=_glCullFace;_emscripten_glCullFace.sig="vi";function _glDeleteBuffers(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.buffers[n];a&&(GLctx.deleteBuffer(a),a.name=0,GL.buffers[n]=null)}}_glDeleteBuffers.sig="vip";var _emscripten_glDeleteBuffers=_glDeleteBuffers;_emscripten_glDeleteBuffers.sig="vip";function _glDeleteFramebuffers(e,r){r>>>=0;for(var t=0;t<e;++t){var n=HEAP32[r+t*4>>>2>>>0],a=GL.framebuffers[n];a&&(GLctx.deleteFramebuffer(a),a.name=0,GL.framebuffers[n]=null)}}_glDeleteFramebuffers.sig="vip";var _emscripten_glDeleteFramebuffers=_glDeleteFramebuffers;_emscripten_glDeleteFramebuffers.sig="vip";var _glDeleteProgram=e=>{if(e){var r=GL.programs[e];if(!r){GL.recordError(1281);return}GLctx.deleteProgram(r),r.name=0,GL.programs[e]=null}};_glDeleteProgram.sig="vi";var _emscripten_glDeleteProgram=_glDeleteProgram;_emscripten_glDeleteProgram.sig="vi";function _glDeleteQueriesEXT(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.queries[n];a&&(GLctx.disjointTimerQueryExt.deleteQueryEXT(a),GL.queries[n]=null)}}_glDeleteQueriesEXT.sig="vip";var _emscripten_glDeleteQueriesEXT=_glDeleteQueriesEXT;function _glDeleteRenderbuffers(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.renderbuffers[n];a&&(GLctx.deleteRenderbuffer(a),a.name=0,GL.renderbuffers[n]=null)}}_glDeleteRenderbuffers.sig="vip";var _emscripten_glDeleteRenderbuffers=_glDeleteRenderbuffers;_emscripten_glDeleteRenderbuffers.sig="vip";var _glDeleteShader=e=>{if(e){var r=GL.shaders[e];if(!r){GL.recordError(1281);return}GLctx.deleteShader(r),GL.shaders[e]=null}};_glDeleteShader.sig="vi";var _emscripten_glDeleteShader=_glDeleteShader;_emscripten_glDeleteShader.sig="vi";function _glDeleteTextures(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0],a=GL.textures[n];a&&(GLctx.deleteTexture(a),a.name=0,GL.textures[n]=null)}}_glDeleteTextures.sig="vip";var _emscripten_glDeleteTextures=_glDeleteTextures;_emscripten_glDeleteTextures.sig="vip";function _glDeleteVertexArrays(e,r){r>>>=0;for(var t=0;t<e;t++){var n=HEAP32[r+t*4>>>2>>>0];GLctx.deleteVertexArray(GL.vaos[n]),GL.vaos[n]=null}}_glDeleteVertexArrays.sig="vip";var _glDeleteVertexArraysOES=_glDeleteVertexArrays;_glDeleteVertexArraysOES.sig="vip";var _emscripten_glDeleteVertexArraysOES=_glDeleteVertexArraysOES;_emscripten_glDeleteVertexArraysOES.sig="vip";var _glDepthFunc=e=>GLctx.depthFunc(e);_glDepthFunc.sig="vi";var _emscripten_glDepthFunc=_glDepthFunc;_emscripten_glDepthFunc.sig="vi";var _glDepthMask=e=>{GLctx.depthMask(!!e)};_glDepthMask.sig="vi";var _emscripten_glDepthMask=_glDepthMask;_emscripten_glDepthMask.sig="vi";var _glDepthRangef=(e,r)=>GLctx.depthRange(e,r);_glDepthRangef.sig="vff";var _emscripten_glDepthRangef=_glDepthRangef;_emscripten_glDepthRangef.sig="vff";var _glDetachShader=(e,r)=>{GLctx.detachShader(GL.programs[e],GL.shaders[r])};_glDetachShader.sig="vii";var _emscripten_glDetachShader=_glDetachShader;_emscripten_glDetachShader.sig="vii";var _glDisable=e=>GLctx.disable(e);_glDisable.sig="vi";var _emscripten_glDisable=_glDisable;_emscripten_glDisable.sig="vi";var _glDisableVertexAttribArray=e=>{GLctx.disableVertexAttribArray(e)};_glDisableVertexAttribArray.sig="vi";var _emscripten_glDisableVertexAttribArray=_glDisableVertexAttribArray;_emscripten_glDisableVertexAttribArray.sig="vi";var _glDrawArrays=(e,r,t)=>{GLctx.drawArrays(e,r,t)};_glDrawArrays.sig="viii";var _emscripten_glDrawArrays=_glDrawArrays;_emscripten_glDrawArrays.sig="viii";var _glDrawArraysInstanced=(e,r,t,n)=>{GLctx.drawArraysInstanced(e,r,t,n)};_glDrawArraysInstanced.sig="viiii";var _glDrawArraysInstancedANGLE=_glDrawArraysInstanced,_emscripten_glDrawArraysInstancedANGLE=_glDrawArraysInstancedANGLE,tempFixedLengthArray=[];function _glDrawBuffers(e,r){r>>>=0;for(var t=tempFixedLengthArray[e],n=0;n<e;n++)t[n]=HEAP32[r+n*4>>>2>>>0];GLctx.drawBuffers(t)}_glDrawBuffers.sig="vip";var _glDrawBuffersWEBGL=_glDrawBuffers,_emscripten_glDrawBuffersWEBGL=_glDrawBuffersWEBGL;function _glDrawElements(e,r,t,n){n>>>=0,GLctx.drawElements(e,r,t,n)}_glDrawElements.sig="viiip";var _emscripten_glDrawElements=_glDrawElements;_emscripten_glDrawElements.sig="viiip";function _glDrawElementsInstanced(e,r,t,n,a){n>>>=0,GLctx.drawElementsInstanced(e,r,t,n,a)}_glDrawElementsInstanced.sig="viiipi";var _glDrawElementsInstancedANGLE=_glDrawElementsInstanced,_emscripten_glDrawElementsInstancedANGLE=_glDrawElementsInstancedANGLE,_glEnable=e=>GLctx.enable(e);_glEnable.sig="vi";var _emscripten_glEnable=_glEnable;_emscripten_glEnable.sig="vi";var _glEnableVertexAttribArray=e=>{GLctx.enableVertexAttribArray(e)};_glEnableVertexAttribArray.sig="vi";var _emscripten_glEnableVertexAttribArray=_glEnableVertexAttribArray;_emscripten_glEnableVertexAttribArray.sig="vi";var _glEndQueryEXT=e=>{GLctx.disjointTimerQueryExt.endQueryEXT(e)};_glEndQueryEXT.sig="vi";var _emscripten_glEndQueryEXT=_glEndQueryEXT,_glFinish=()=>GLctx.finish();_glFinish.sig="v";var _emscripten_glFinish=_glFinish;_emscripten_glFinish.sig="v";var _glFlush=()=>GLctx.flush();_glFlush.sig="v";var _emscripten_glFlush=_glFlush;_emscripten_glFlush.sig="v";var _glFramebufferRenderbuffer=(e,r,t,n)=>{GLctx.framebufferRenderbuffer(e,r,t,GL.renderbuffers[n])};_glFramebufferRenderbuffer.sig="viiii";var _emscripten_glFramebufferRenderbuffer=_glFramebufferRenderbuffer;_emscripten_glFramebufferRenderbuffer.sig="viiii";var _glFramebufferTexture2D=(e,r,t,n,a)=>{GLctx.framebufferTexture2D(e,r,t,GL.textures[n],a)};_glFramebufferTexture2D.sig="viiiii";var _emscripten_glFramebufferTexture2D=_glFramebufferTexture2D;_emscripten_glFramebufferTexture2D.sig="viiiii";var _glFrontFace=e=>GLctx.frontFace(e);_glFrontFace.sig="vi";var _emscripten_glFrontFace=_glFrontFace;_emscripten_glFrontFace.sig="vi";function _glGenBuffers(e,r){r>>>=0,GL.genObject(e,r,"createBuffer",GL.buffers)}_glGenBuffers.sig="vip";var _emscripten_glGenBuffers=_glGenBuffers;_emscripten_glGenBuffers.sig="vip";function _glGenFramebuffers(e,r){r>>>=0,GL.genObject(e,r,"createFramebuffer",GL.framebuffers)}_glGenFramebuffers.sig="vip";var _emscripten_glGenFramebuffers=_glGenFramebuffers;_emscripten_glGenFramebuffers.sig="vip";function _glGenQueriesEXT(e,r){r>>>=0;for(var t=0;t<e;t++){var n=GLctx.disjointTimerQueryExt.createQueryEXT();if(!n){for(GL.recordError(1282);t<e;)HEAP32[r+t++*4>>>2>>>0]=0;return}var a=GL.getNewId(GL.queries);n.name=a,GL.queries[a]=n,HEAP32[r+t*4>>>2>>>0]=a}}_glGenQueriesEXT.sig="vip";var _emscripten_glGenQueriesEXT=_glGenQueriesEXT;function _glGenRenderbuffers(e,r){r>>>=0,GL.genObject(e,r,"createRenderbuffer",GL.renderbuffers)}_glGenRenderbuffers.sig="vip";var _emscripten_glGenRenderbuffers=_glGenRenderbuffers;_emscripten_glGenRenderbuffers.sig="vip";function _glGenTextures(e,r){r>>>=0,GL.genObject(e,r,"createTexture",GL.textures)}_glGenTextures.sig="vip";var _emscripten_glGenTextures=_glGenTextures;_emscripten_glGenTextures.sig="vip";function _glGenVertexArrays(e,r){r>>>=0,GL.genObject(e,r,"createVertexArray",GL.vaos)}_glGenVertexArrays.sig="vip";var _glGenVertexArraysOES=_glGenVertexArrays;_glGenVertexArraysOES.sig="vip";var _emscripten_glGenVertexArraysOES=_glGenVertexArraysOES;_emscripten_glGenVertexArraysOES.sig="vip";var _glGenerateMipmap=e=>GLctx.generateMipmap(e);_glGenerateMipmap.sig="vi";var _emscripten_glGenerateMipmap=_glGenerateMipmap;_emscripten_glGenerateMipmap.sig="vi";var __glGetActiveAttribOrUniform=(e,r,t,n,a,o,_,l)=>{r=GL.programs[r];var c=GLctx[e](r,t);if(c){var u=l&&stringToUTF8(c.name,l,n);a&&(HEAP32[a>>>2>>>0]=u),o&&(HEAP32[o>>>2>>>0]=c.size),_&&(HEAP32[_>>>2>>>0]=c.type)}};function _glGetActiveAttrib(e,r,t,n,a,o,_){n>>>=0,a>>>=0,o>>>=0,_>>>=0,__glGetActiveAttribOrUniform("getActiveAttrib",e,r,t,n,a,o,_)}_glGetActiveAttrib.sig="viiipppp";var _emscripten_glGetActiveAttrib=_glGetActiveAttrib;_emscripten_glGetActiveAttrib.sig="viiipppp";function _glGetActiveUniform(e,r,t,n,a,o,_){n>>>=0,a>>>=0,o>>>=0,_>>>=0,__glGetActiveAttribOrUniform("getActiveUniform",e,r,t,n,a,o,_)}_glGetActiveUniform.sig="viiipppp";var _emscripten_glGetActiveUniform=_glGetActiveUniform;_emscripten_glGetActiveUniform.sig="viiipppp";function _glGetAttachedShaders(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getAttachedShaders(GL.programs[e]),o=a.length;o>r&&(o=r),HEAP32[t>>>2>>>0]=o;for(var _=0;_<o;++_){var l=GL.shaders.indexOf(a[_]);HEAP32[n+_*4>>>2>>>0]=l}}_glGetAttachedShaders.sig="viipp";var _emscripten_glGetAttachedShaders=_glGetAttachedShaders;_emscripten_glGetAttachedShaders.sig="viipp";function _glGetAttribLocation(e,r){return r>>>=0,GLctx.getAttribLocation(GL.programs[e],UTF8ToString(r))}_glGetAttribLocation.sig="iip";var _emscripten_glGetAttribLocation=_glGetAttribLocation;_emscripten_glGetAttribLocation.sig="iip";var writeI53ToI64=(e,r)=>{HEAPU32[e>>>2>>>0]=r;var t=HEAPU32[e>>>2>>>0];HEAPU32[e+4>>>2>>>0]=(r-t)/4294967296},emscriptenWebGLGet=(e,r,t)=>{if(!r){GL.recordError(1281);return}var n=void 0;switch(e){case 36346:n=1;break;case 36344:t!=0&&t!=1&&GL.recordError(1280);return;case 36345:n=0;break;case 34466:var a=GLctx.getParameter(34467);n=a?a.length:0;break}if(n===void 0){var o=GLctx.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":GL.recordError(1280);return;case"object":if(o===null)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 34068:{n=0;break}default:{GL.recordError(1280);return}}else if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var _=0;_<o.length;++_)switch(t){case 0:HEAP32[r+_*4>>>2>>>0]=o[_];break;case 2:HEAPF32[r+_*4>>>2>>>0]=o[_];break;case 4:HEAP8[r+_>>>0]=o[_]?1:0;break}return}else try{n=o.name|0}catch(l){GL.recordError(1280),err("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(l,")"));return}break;default:GL.recordError(1280),err("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"));return}}switch(t){case 1:writeI53ToI64(r,n);break;case 0:HEAP32[r>>>2>>>0]=n;break;case 2:HEAPF32[r>>>2>>>0]=n;break;case 4:HEAP8[r>>>0]=n?1:0;break}};function _glGetBooleanv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,4)}_glGetBooleanv.sig="vip";var _emscripten_glGetBooleanv=_glGetBooleanv;_emscripten_glGetBooleanv.sig="vip";function _glGetBufferParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getBufferParameter(e,r)}_glGetBufferParameteriv.sig="viip";var _emscripten_glGetBufferParameteriv=_glGetBufferParameteriv;_emscripten_glGetBufferParameteriv.sig="viip";var _glGetError=()=>{var e=GLctx.getError()||GL.lastError;return GL.lastError=0,e};_glGetError.sig="i";var _emscripten_glGetError=_glGetError;_emscripten_glGetError.sig="i";function _glGetFloatv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,2)}_glGetFloatv.sig="vip";var _emscripten_glGetFloatv=_glGetFloatv;_emscripten_glGetFloatv.sig="vip";function _glGetFramebufferAttachmentParameteriv(e,r,t,n){n>>>=0;var a=GLctx.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=a.name|0),HEAP32[n>>>2>>>0]=a}_glGetFramebufferAttachmentParameteriv.sig="viiip";var _emscripten_glGetFramebufferAttachmentParameteriv=_glGetFramebufferAttachmentParameteriv;_emscripten_glGetFramebufferAttachmentParameteriv.sig="viiip";function _glGetIntegerv(e,r){return r>>>=0,emscriptenWebGLGet(e,r,0)}_glGetIntegerv.sig="vip";var _emscripten_glGetIntegerv=_glGetIntegerv;_emscripten_glGetIntegerv.sig="vip";function _glGetProgramInfoLog(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getProgramInfoLog(GL.programs[e]);a===null&&(a="(unknown error)");var o=r>0&&n?stringToUTF8(a,n,r):0;t&&(HEAP32[t>>>2>>>0]=o)}_glGetProgramInfoLog.sig="viipp";var _emscripten_glGetProgramInfoLog=_glGetProgramInfoLog;_emscripten_glGetProgramInfoLog.sig="viipp";function _glGetProgramiv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}if(e>=GL.counter){GL.recordError(1281);return}if(e=GL.programs[e],r==35716){var n=GLctx.getProgramInfoLog(e);n===null&&(n="(unknown error)"),HEAP32[t>>>2>>>0]=n.length+1}else if(r==35719){if(!e.maxUniformLength)for(var a=GLctx.getProgramParameter(e,35718),o=0;o<a;++o)e.maxUniformLength=Math.max(e.maxUniformLength,GLctx.getActiveUniform(e,o).name.length+1);HEAP32[t>>>2>>>0]=e.maxUniformLength}else if(r==35722){if(!e.maxAttributeLength)for(var _=GLctx.getProgramParameter(e,35721),o=0;o<_;++o)e.maxAttributeLength=Math.max(e.maxAttributeLength,GLctx.getActiveAttrib(e,o).name.length+1);HEAP32[t>>>2>>>0]=e.maxAttributeLength}else if(r==35381){if(!e.maxUniformBlockNameLength)for(var l=GLctx.getProgramParameter(e,35382),o=0;o<l;++o)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,GLctx.getActiveUniformBlockName(e,o).length+1);HEAP32[t>>>2>>>0]=e.maxUniformBlockNameLength}else HEAP32[t>>>2>>>0]=GLctx.getProgramParameter(e,r)}_glGetProgramiv.sig="viip";var _emscripten_glGetProgramiv=_glGetProgramiv;_emscripten_glGetProgramiv.sig="viip";function _glGetQueryObjecti64vEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}var n=GL.queries[e],a;a=GLctx.disjointTimerQueryExt.getQueryObjectEXT(n,r);var o;typeof a=="boolean"?o=a?1:0:o=a,writeI53ToI64(t,o)}_glGetQueryObjecti64vEXT.sig="viip";var _emscripten_glGetQueryObjecti64vEXT=_glGetQueryObjecti64vEXT;function _glGetQueryObjectivEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}var n=GL.queries[e],a=GLctx.disjointTimerQueryExt.getQueryObjectEXT(n,r),o;typeof a=="boolean"?o=a?1:0:o=a,HEAP32[t>>>2>>>0]=o}_glGetQueryObjectivEXT.sig="viip";var _emscripten_glGetQueryObjectivEXT=_glGetQueryObjectivEXT,_glGetQueryObjectui64vEXT=_glGetQueryObjecti64vEXT,_emscripten_glGetQueryObjectui64vEXT=_glGetQueryObjectui64vEXT,_glGetQueryObjectuivEXT=_glGetQueryObjectivEXT,_emscripten_glGetQueryObjectuivEXT=_glGetQueryObjectuivEXT;function _glGetQueryivEXT(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.disjointTimerQueryExt.getQueryEXT(e,r)}_glGetQueryivEXT.sig="viip";var _emscripten_glGetQueryivEXT=_glGetQueryivEXT;function _glGetRenderbufferParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getRenderbufferParameter(e,r)}_glGetRenderbufferParameteriv.sig="viip";var _emscripten_glGetRenderbufferParameteriv=_glGetRenderbufferParameteriv;_emscripten_glGetRenderbufferParameteriv.sig="viip";function _glGetShaderInfoLog(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getShaderInfoLog(GL.shaders[e]);a===null&&(a="(unknown error)");var o=r>0&&n?stringToUTF8(a,n,r):0;t&&(HEAP32[t>>>2>>>0]=o)}_glGetShaderInfoLog.sig="viipp";var _emscripten_glGetShaderInfoLog=_glGetShaderInfoLog;_emscripten_glGetShaderInfoLog.sig="viipp";function _glGetShaderPrecisionFormat(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getShaderPrecisionFormat(e,r);HEAP32[t>>>2>>>0]=a.rangeMin,HEAP32[t+4>>>2>>>0]=a.rangeMax,HEAP32[n>>>2>>>0]=a.precision}_glGetShaderPrecisionFormat.sig="viipp";var _emscripten_glGetShaderPrecisionFormat=_glGetShaderPrecisionFormat;_emscripten_glGetShaderPrecisionFormat.sig="viipp";function _glGetShaderSource(e,r,t,n){t>>>=0,n>>>=0;var a=GLctx.getShaderSource(GL.shaders[e]);if(a){var o=r>0&&n?stringToUTF8(a,n,r):0;t&&(HEAP32[t>>>2>>>0]=o)}}_glGetShaderSource.sig="viipp";var _emscripten_glGetShaderSource=_glGetShaderSource;_emscripten_glGetShaderSource.sig="viipp";function _glGetShaderiv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}if(r==35716){var n=GLctx.getShaderInfoLog(GL.shaders[e]);n===null&&(n="(unknown error)");var a=n?n.length+1:0;HEAP32[t>>>2>>>0]=a}else if(r==35720){var o=GLctx.getShaderSource(GL.shaders[e]),_=o?o.length+1:0;HEAP32[t>>>2>>>0]=_}else HEAP32[t>>>2>>>0]=GLctx.getShaderParameter(GL.shaders[e],r)}_glGetShaderiv.sig="viip";var _emscripten_glGetShaderiv=_glGetShaderiv;_emscripten_glGetShaderiv.sig="viip";var webglGetExtensions=function e(){var r=getEmscriptenSupportedExtensions(GLctx);return r=r.concat(r.map(t=>"GL_"+t)),r};function _glGetString(e){var r=GL.stringCache[e];if(!r){switch(e){case 7939:r=stringToNewUTF8(webglGetExtensions().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=GLctx.getParameter(e);t||GL.recordError(1280),r=t?stringToNewUTF8(t):0;break;case 7938:var n=GLctx.getParameter(7938),a="OpenGL ES 2.0 (".concat(n,")");r=stringToNewUTF8(a);break;case 35724:var o=GLctx.getParameter(35724),_=/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/,l=o.match(_);l!==null&&(l[1].length==3&&(l[1]=l[1]+"0"),o="OpenGL ES GLSL ES ".concat(l[1]," (").concat(o,")")),r=stringToNewUTF8(o);break;default:GL.recordError(1280)}GL.stringCache[e]=r}return r}_glGetString.sig="pi";var _emscripten_glGetString=_glGetString;_emscripten_glGetString.sig="pi";function _glGetTexParameterfv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAPF32[t>>>2>>>0]=GLctx.getTexParameter(e,r)}_glGetTexParameterfv.sig="viip";var _emscripten_glGetTexParameterfv=_glGetTexParameterfv;_emscripten_glGetTexParameterfv.sig="viip";function _glGetTexParameteriv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getTexParameter(e,r)}_glGetTexParameteriv.sig="viip";var _emscripten_glGetTexParameteriv=_glGetTexParameteriv;_emscripten_glGetTexParameteriv.sig="viip";var webglGetLeftBracePos=e=>e.slice(-1)=="]"&&e.lastIndexOf("["),webglPrepareUniformLocationsBeforeFirstUse=e=>{var r=e.uniformLocsById,t=e.uniformSizeAndIdsByName,n,a;if(!r){e.uniformLocsById=r={},e.uniformArrayNamesById={};var o=GLctx.getProgramParameter(e,35718);for(n=0;n<o;++n){var _=GLctx.getActiveUniform(e,n),l=_.name,c=_.size,u=webglGetLeftBracePos(l),d=u>0?l.slice(0,u):l,f=e.uniformIdCounter;for(e.uniformIdCounter+=c,t[d]=[c,f],a=0;a<c;++a)r[f]=a,e.uniformArrayNamesById[f++]=d}}};function _glGetUniformLocation(e,r){if(r>>>=0,r=UTF8ToString(r),e=GL.programs[e]){webglPrepareUniformLocationsBeforeFirstUse(e);var t=e.uniformLocsById,n=0,a=r,o=webglGetLeftBracePos(r);o>0&&(n=jstoi_q(r.slice(o+1))>>>0,a=r.slice(0,o));var _=e.uniformSizeAndIdsByName[a];if(_&&n<_[0]&&(n+=_[1],t[n]=t[n]||GLctx.getUniformLocation(e,r)))return n}else GL.recordError(1281);return-1}_glGetUniformLocation.sig="iip";var _emscripten_glGetUniformLocation=_glGetUniformLocation;_emscripten_glGetUniformLocation.sig="iip";var webglGetUniformLocation=e=>{var r=GLctx.currentProgram;if(r){var t=r.uniformLocsById[e];return typeof t=="number"&&(r.uniformLocsById[e]=t=GLctx.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}else GL.recordError(1282)},emscriptenWebGLGetUniform=(e,r,t,n)=>{if(!t){GL.recordError(1281);return}e=GL.programs[e],webglPrepareUniformLocationsBeforeFirstUse(e);var a=GLctx.getUniform(e,webglGetUniformLocation(r));if(typeof a=="number"||typeof a=="boolean")switch(n){case 0:HEAP32[t>>>2>>>0]=a;break;case 2:HEAPF32[t>>>2>>>0]=a;break}else for(var o=0;o<a.length;o++)switch(n){case 0:HEAP32[t+o*4>>>2>>>0]=a[o];break;case 2:HEAPF32[t+o*4>>>2>>>0]=a[o];break}};function _glGetUniformfv(e,r,t){t>>>=0,emscriptenWebGLGetUniform(e,r,t,2)}_glGetUniformfv.sig="viip";var _emscripten_glGetUniformfv=_glGetUniformfv;_emscripten_glGetUniformfv.sig="viip";function _glGetUniformiv(e,r,t){t>>>=0,emscriptenWebGLGetUniform(e,r,t,0)}_glGetUniformiv.sig="viip";var _emscripten_glGetUniformiv=_glGetUniformiv;_emscripten_glGetUniformiv.sig="viip";function _glGetVertexAttribPointerv(e,r,t){if(t>>>=0,!t){GL.recordError(1281);return}HEAP32[t>>>2>>>0]=GLctx.getVertexAttribOffset(e,r)}_glGetVertexAttribPointerv.sig="viip";var _emscripten_glGetVertexAttribPointerv=_glGetVertexAttribPointerv;_emscripten_glGetVertexAttribPointerv.sig="viip";var emscriptenWebGLGetVertexAttrib=(e,r,t,n)=>{if(!t){GL.recordError(1281);return}var a=GLctx.getVertexAttrib(e,r);if(r==34975)HEAP32[t>>>2>>>0]=a&&a.name;else if(typeof a=="number"||typeof a=="boolean")switch(n){case 0:HEAP32[t>>>2>>>0]=a;break;case 2:HEAPF32[t>>>2>>>0]=a;break;case 5:HEAP32[t>>>2>>>0]=Math.fround(a);break}else for(var o=0;o<a.length;o++)switch(n){case 0:HEAP32[t+o*4>>>2>>>0]=a[o];break;case 2:HEAPF32[t+o*4>>>2>>>0]=a[o];break;case 5:HEAP32[t+o*4>>>2>>>0]=Math.fround(a[o]);break}};function _glGetVertexAttribfv(e,r,t){t>>>=0,emscriptenWebGLGetVertexAttrib(e,r,t,2)}_glGetVertexAttribfv.sig="viip";var _emscripten_glGetVertexAttribfv=_glGetVertexAttribfv;_emscripten_glGetVertexAttribfv.sig="viip";function _glGetVertexAttribiv(e,r,t){t>>>=0,emscriptenWebGLGetVertexAttrib(e,r,t,5)}_glGetVertexAttribiv.sig="viip";var _emscripten_glGetVertexAttribiv=_glGetVertexAttribiv;_emscripten_glGetVertexAttribiv.sig="viip";var _glHint=(e,r)=>GLctx.hint(e,r);_glHint.sig="vii";var _emscripten_glHint=_glHint;_emscripten_glHint.sig="vii";var _glIsBuffer=e=>{var r=GL.buffers[e];return r?GLctx.isBuffer(r):0};_glIsBuffer.sig="ii";var _emscripten_glIsBuffer=_glIsBuffer;_emscripten_glIsBuffer.sig="ii";var _glIsEnabled=e=>GLctx.isEnabled(e);_glIsEnabled.sig="ii";var _emscripten_glIsEnabled=_glIsEnabled;_emscripten_glIsEnabled.sig="ii";var _glIsFramebuffer=e=>{var r=GL.framebuffers[e];return r?GLctx.isFramebuffer(r):0};_glIsFramebuffer.sig="ii";var _emscripten_glIsFramebuffer=_glIsFramebuffer;_emscripten_glIsFramebuffer.sig="ii";var _glIsProgram=e=>(e=GL.programs[e],e?GLctx.isProgram(e):0);_glIsProgram.sig="ii";var _emscripten_glIsProgram=_glIsProgram;_emscripten_glIsProgram.sig="ii";var _glIsQueryEXT=e=>{var r=GL.queries[e];return r?GLctx.disjointTimerQueryExt.isQueryEXT(r):0};_glIsQueryEXT.sig="ii";var _emscripten_glIsQueryEXT=_glIsQueryEXT,_glIsRenderbuffer=e=>{var r=GL.renderbuffers[e];return r?GLctx.isRenderbuffer(r):0};_glIsRenderbuffer.sig="ii";var _emscripten_glIsRenderbuffer=_glIsRenderbuffer;_emscripten_glIsRenderbuffer.sig="ii";var _glIsShader=e=>{var r=GL.shaders[e];return r?GLctx.isShader(r):0};_glIsShader.sig="ii";var _emscripten_glIsShader=_glIsShader;_emscripten_glIsShader.sig="ii";var _glIsTexture=e=>{var r=GL.textures[e];return r?GLctx.isTexture(r):0};_glIsTexture.sig="ii";var _emscripten_glIsTexture=_glIsTexture;_emscripten_glIsTexture.sig="ii";var _glIsVertexArray=e=>{var r=GL.vaos[e];return r?GLctx.isVertexArray(r):0};_glIsVertexArray.sig="ii";var _glIsVertexArrayOES=_glIsVertexArray;_glIsVertexArrayOES.sig="ii";var _emscripten_glIsVertexArrayOES=_glIsVertexArrayOES;_emscripten_glIsVertexArrayOES.sig="ii";var _glLineWidth=e=>GLctx.lineWidth(e);_glLineWidth.sig="vf";var _emscripten_glLineWidth=_glLineWidth;_emscripten_glLineWidth.sig="vf";var _glLinkProgram=e=>{e=GL.programs[e],GLctx.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}};_glLinkProgram.sig="vi";var _emscripten_glLinkProgram=_glLinkProgram;_emscripten_glLinkProgram.sig="vi";var _glPixelStorei=(e,r)=>{e==3317?GL.unpackAlignment=r:e==3314&&(GL.unpackRowLength=r),GLctx.pixelStorei(e,r)};_glPixelStorei.sig="vii";var _emscripten_glPixelStorei=_glPixelStorei;_emscripten_glPixelStorei.sig="vii";var _glPolygonModeWEBGL=(e,r)=>{GLctx.webglPolygonMode.polygonModeWEBGL(e,r)};_glPolygonModeWEBGL.sig="vii";var _emscripten_glPolygonModeWEBGL=_glPolygonModeWEBGL,_glPolygonOffset=(e,r)=>GLctx.polygonOffset(e,r);_glPolygonOffset.sig="vff";var _emscripten_glPolygonOffset=_glPolygonOffset;_emscripten_glPolygonOffset.sig="vff";var _glPolygonOffsetClampEXT=(e,r,t)=>{GLctx.extPolygonOffsetClamp.polygonOffsetClampEXT(e,r,t)};_glPolygonOffsetClampEXT.sig="vfff";var _emscripten_glPolygonOffsetClampEXT=_glPolygonOffsetClampEXT,_glQueryCounterEXT=(e,r)=>{GLctx.disjointTimerQueryExt.queryCounterEXT(GL.queries[e],r)};_glQueryCounterEXT.sig="vii";var _emscripten_glQueryCounterEXT=_glQueryCounterEXT,computeUnpackAlignedImageSize=(e,r,t)=>{function n(_,l){return _+l-1&-l}var a=(GL.unpackRowLength||e)*t,o=n(a,GL.unpackAlignment);return r*o},colorChannelsInGlTextureFormat=e=>{var r={5:3,6:4,8:2,29502:3,29504:4};return r[e-6402]||1},heapObjectForWebGLType=e=>(e-=5120,e==1?HEAPU8:e==4?HEAP32:e==6?HEAPF32:e==5||e==28922?HEAPU32:HEAPU16),toTypedArrayIndex=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),emscriptenWebGLGetTexPixelData=(e,r,t,n,a,o)=>{var _=heapObjectForWebGLType(e),l=colorChannelsInGlTextureFormat(r)*_.BYTES_PER_ELEMENT,c=computeUnpackAlignedImageSize(t,n,l);return _.subarray(toTypedArrayIndex(a,_)>>>0,toTypedArrayIndex(a+c,_)>>>0)};function _glReadPixels(e,r,t,n,a,o,_){_>>>=0;var l=emscriptenWebGLGetTexPixelData(o,a,t,n,_,a);if(!l){GL.recordError(1280);return}GLctx.readPixels(e,r,t,n,a,o,l)}_glReadPixels.sig="viiiiiip";var _emscripten_glReadPixels=_glReadPixels;_emscripten_glReadPixels.sig="viiiiiip";var _glReleaseShaderCompiler=()=>{};_glReleaseShaderCompiler.sig="v";var _emscripten_glReleaseShaderCompiler=_glReleaseShaderCompiler;_emscripten_glReleaseShaderCompiler.sig="v";var _glRenderbufferStorage=(e,r,t,n)=>GLctx.renderbufferStorage(e,r,t,n);_glRenderbufferStorage.sig="viiii";var _emscripten_glRenderbufferStorage=_glRenderbufferStorage;_emscripten_glRenderbufferStorage.sig="viiii";var _glSampleCoverage=(e,r)=>{GLctx.sampleCoverage(e,!!r)};_glSampleCoverage.sig="vfi";var _emscripten_glSampleCoverage=_glSampleCoverage;_emscripten_glSampleCoverage.sig="vfi";var _glScissor=(e,r,t,n)=>GLctx.scissor(e,r,t,n);_glScissor.sig="viiii";var _emscripten_glScissor=_glScissor;_emscripten_glScissor.sig="viiii";function _glShaderBinary(e,r,t,n,a){r>>>=0,n>>>=0,GL.recordError(1280)}_glShaderBinary.sig="vipipi";var _emscripten_glShaderBinary=_glShaderBinary;_emscripten_glShaderBinary.sig="vipipi";function _glShaderSource(e,r,t,n){t>>>=0,n>>>=0;var a=GL.getSource(e,r,t,n);GLctx.shaderSource(GL.shaders[e],a)}_glShaderSource.sig="viipp";var _emscripten_glShaderSource=_glShaderSource;_emscripten_glShaderSource.sig="viipp";var _glStencilFunc=(e,r,t)=>GLctx.stencilFunc(e,r,t);_glStencilFunc.sig="viii";var _emscripten_glStencilFunc=_glStencilFunc;_emscripten_glStencilFunc.sig="viii";var _glStencilFuncSeparate=(e,r,t,n)=>GLctx.stencilFuncSeparate(e,r,t,n);_glStencilFuncSeparate.sig="viiii";var _emscripten_glStencilFuncSeparate=_glStencilFuncSeparate;_emscripten_glStencilFuncSeparate.sig="viiii";var _glStencilMask=e=>GLctx.stencilMask(e);_glStencilMask.sig="vi";var _emscripten_glStencilMask=_glStencilMask;_emscripten_glStencilMask.sig="vi";var _glStencilMaskSeparate=(e,r)=>GLctx.stencilMaskSeparate(e,r);_glStencilMaskSeparate.sig="vii";var _emscripten_glStencilMaskSeparate=_glStencilMaskSeparate;_emscripten_glStencilMaskSeparate.sig="vii";var _glStencilOp=(e,r,t)=>GLctx.stencilOp(e,r,t);_glStencilOp.sig="viii";var _emscripten_glStencilOp=_glStencilOp;_emscripten_glStencilOp.sig="viii";var _glStencilOpSeparate=(e,r,t,n)=>GLctx.stencilOpSeparate(e,r,t,n);_glStencilOpSeparate.sig="viiii";var _emscripten_glStencilOpSeparate=_glStencilOpSeparate;_emscripten_glStencilOpSeparate.sig="viiii";function _glTexImage2D(e,r,t,n,a,o,_,l,c){c>>>=0;var u=c?emscriptenWebGLGetTexPixelData(l,_,n,a,c,t):null;GLctx.texImage2D(e,r,t,n,a,o,_,l,u)}_glTexImage2D.sig="viiiiiiiip";var _emscripten_glTexImage2D=_glTexImage2D;_emscripten_glTexImage2D.sig="viiiiiiiip";var _glTexParameterf=(e,r,t)=>GLctx.texParameterf(e,r,t);_glTexParameterf.sig="viif";var _emscripten_glTexParameterf=_glTexParameterf;_emscripten_glTexParameterf.sig="viif";function _glTexParameterfv(e,r,t){t>>>=0;var n=HEAPF32[t>>>2>>>0];GLctx.texParameterf(e,r,n)}_glTexParameterfv.sig="viip";var _emscripten_glTexParameterfv=_glTexParameterfv;_emscripten_glTexParameterfv.sig="viip";var _glTexParameteri=(e,r,t)=>GLctx.texParameteri(e,r,t);_glTexParameteri.sig="viii";var _emscripten_glTexParameteri=_glTexParameteri;_emscripten_glTexParameteri.sig="viii";function _glTexParameteriv(e,r,t){t>>>=0;var n=HEAP32[t>>>2>>>0];GLctx.texParameteri(e,r,n)}_glTexParameteriv.sig="viip";var _emscripten_glTexParameteriv=_glTexParameteriv;_emscripten_glTexParameteriv.sig="viip";function _glTexSubImage2D(e,r,t,n,a,o,_,l,c){c>>>=0;var u=c?emscriptenWebGLGetTexPixelData(l,_,a,o,c,0):null;GLctx.texSubImage2D(e,r,t,n,a,o,_,l,u)}_glTexSubImage2D.sig="viiiiiiiip";var _emscripten_glTexSubImage2D=_glTexSubImage2D;_emscripten_glTexSubImage2D.sig="viiiiiiiip";var _glUniform1f=(e,r)=>{GLctx.uniform1f(webglGetUniformLocation(e),r)};_glUniform1f.sig="vif";var _emscripten_glUniform1f=_glUniform1f;_emscripten_glUniform1f.sig="vif";var miniTempWebGLFloatBuffers=[];function _glUniform1fv(e,r,t){if(t>>>=0,r<=288)for(var n=miniTempWebGLFloatBuffers[r],a=0;a<r;++a)n[a]=HEAPF32[t+4*a>>>2>>>0];else var n=HEAPF32.subarray(t>>>2>>>0,t+r*4>>>2>>>0);GLctx.uniform1fv(webglGetUniformLocation(e),n)}_glUniform1fv.sig="viip";var _emscripten_glUniform1fv=_glUniform1fv;_emscripten_glUniform1fv.sig="viip";var _glUniform1i=(e,r)=>{GLctx.uniform1i(webglGetUniformLocation(e),r)};_glUniform1i.sig="vii";var _emscripten_glUniform1i=_glUniform1i;_emscripten_glUniform1i.sig="vii";var miniTempWebGLIntBuffers=[];function _glUniform1iv(e,r,t){if(t>>>=0,r<=288)for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;++a)n[a]=HEAP32[t+4*a>>>2>>>0];else var n=HEAP32.subarray(t>>>2>>>0,t+r*4>>>2>>>0);GLctx.uniform1iv(webglGetUniformLocation(e),n)}_glUniform1iv.sig="viip";var _emscripten_glUniform1iv=_glUniform1iv;_emscripten_glUniform1iv.sig="viip";var _glUniform2f=(e,r,t)=>{GLctx.uniform2f(webglGetUniformLocation(e),r,t)};_glUniform2f.sig="viff";var _emscripten_glUniform2f=_glUniform2f;_emscripten_glUniform2f.sig="viff";function _glUniform2fv(e,r,t){if(t>>>=0,r<=144){r*=2;for(var n=miniTempWebGLFloatBuffers[r],a=0;a<r;a+=2)n[a]=HEAPF32[t+4*a>>>2>>>0],n[a+1]=HEAPF32[t+(4*a+4)>>>2>>>0]}else var n=HEAPF32.subarray(t>>>2>>>0,t+r*8>>>2>>>0);GLctx.uniform2fv(webglGetUniformLocation(e),n)}_glUniform2fv.sig="viip";var _emscripten_glUniform2fv=_glUniform2fv;_emscripten_glUniform2fv.sig="viip";var _glUniform2i=(e,r,t)=>{GLctx.uniform2i(webglGetUniformLocation(e),r,t)};_glUniform2i.sig="viii";var _emscripten_glUniform2i=_glUniform2i;_emscripten_glUniform2i.sig="viii";function _glUniform2iv(e,r,t){if(t>>>=0,r<=144){r*=2;for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;a+=2)n[a]=HEAP32[t+4*a>>>2>>>0],n[a+1]=HEAP32[t+(4*a+4)>>>2>>>0]}else var n=HEAP32.subarray(t>>>2>>>0,t+r*8>>>2>>>0);GLctx.uniform2iv(webglGetUniformLocation(e),n)}_glUniform2iv.sig="viip";var _emscripten_glUniform2iv=_glUniform2iv;_emscripten_glUniform2iv.sig="viip";var _glUniform3f=(e,r,t,n)=>{GLctx.uniform3f(webglGetUniformLocation(e),r,t,n)};_glUniform3f.sig="vifff";var _emscripten_glUniform3f=_glUniform3f;_emscripten_glUniform3f.sig="vifff";function _glUniform3fv(e,r,t){if(t>>>=0,r<=96){r*=3;for(var n=miniTempWebGLFloatBuffers[r],a=0;a<r;a+=3)n[a]=HEAPF32[t+4*a>>>2>>>0],n[a+1]=HEAPF32[t+(4*a+4)>>>2>>>0],n[a+2]=HEAPF32[t+(4*a+8)>>>2>>>0]}else var n=HEAPF32.subarray(t>>>2>>>0,t+r*12>>>2>>>0);GLctx.uniform3fv(webglGetUniformLocation(e),n)}_glUniform3fv.sig="viip";var _emscripten_glUniform3fv=_glUniform3fv;_emscripten_glUniform3fv.sig="viip";var _glUniform3i=(e,r,t,n)=>{GLctx.uniform3i(webglGetUniformLocation(e),r,t,n)};_glUniform3i.sig="viiii";var _emscripten_glUniform3i=_glUniform3i;_emscripten_glUniform3i.sig="viiii";function _glUniform3iv(e,r,t){if(t>>>=0,r<=96){r*=3;for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;a+=3)n[a]=HEAP32[t+4*a>>>2>>>0],n[a+1]=HEAP32[t+(4*a+4)>>>2>>>0],n[a+2]=HEAP32[t+(4*a+8)>>>2>>>0]}else var n=HEAP32.subarray(t>>>2>>>0,t+r*12>>>2>>>0);GLctx.uniform3iv(webglGetUniformLocation(e),n)}_glUniform3iv.sig="viip";var _emscripten_glUniform3iv=_glUniform3iv;_emscripten_glUniform3iv.sig="viip";var _glUniform4f=(e,r,t,n,a)=>{GLctx.uniform4f(webglGetUniformLocation(e),r,t,n,a)};_glUniform4f.sig="viffff";var _emscripten_glUniform4f=_glUniform4f;_emscripten_glUniform4f.sig="viffff";function _glUniform4fv(e,r,t){if(t>>>=0,r<=72){var n=miniTempWebGLFloatBuffers[4*r],a=HEAPF32;t=t>>>2,r*=4;for(var o=0;o<r;o+=4){var _=t+o;n[o]=a[_>>>0],n[o+1]=a[_+1>>>0],n[o+2]=a[_+2>>>0],n[o+3]=a[_+3>>>0]}}else var n=HEAPF32.subarray(t>>>2>>>0,t+r*16>>>2>>>0);GLctx.uniform4fv(webglGetUniformLocation(e),n)}_glUniform4fv.sig="viip";var _emscripten_glUniform4fv=_glUniform4fv;_emscripten_glUniform4fv.sig="viip";var _glUniform4i=(e,r,t,n,a)=>{GLctx.uniform4i(webglGetUniformLocation(e),r,t,n,a)};_glUniform4i.sig="viiiii";var _emscripten_glUniform4i=_glUniform4i;_emscripten_glUniform4i.sig="viiiii";function _glUniform4iv(e,r,t){if(t>>>=0,r<=72){r*=4;for(var n=miniTempWebGLIntBuffers[r],a=0;a<r;a+=4)n[a]=HEAP32[t+4*a>>>2>>>0],n[a+1]=HEAP32[t+(4*a+4)>>>2>>>0],n[a+2]=HEAP32[t+(4*a+8)>>>2>>>0],n[a+3]=HEAP32[t+(4*a+12)>>>2>>>0]}else var n=HEAP32.subarray(t>>>2>>>0,t+r*16>>>2>>>0);GLctx.uniform4iv(webglGetUniformLocation(e),n)}_glUniform4iv.sig="viip";var _emscripten_glUniform4iv=_glUniform4iv;_emscripten_glUniform4iv.sig="viip";function _glUniformMatrix2fv(e,r,t,n){if(n>>>=0,r<=72){r*=4;for(var a=miniTempWebGLFloatBuffers[r],o=0;o<r;o+=4)a[o]=HEAPF32[n+4*o>>>2>>>0],a[o+1]=HEAPF32[n+(4*o+4)>>>2>>>0],a[o+2]=HEAPF32[n+(4*o+8)>>>2>>>0],a[o+3]=HEAPF32[n+(4*o+12)>>>2>>>0]}else var a=HEAPF32.subarray(n>>>2>>>0,n+r*16>>>2>>>0);GLctx.uniformMatrix2fv(webglGetUniformLocation(e),!!t,a)}_glUniformMatrix2fv.sig="viiip";var _emscripten_glUniformMatrix2fv=_glUniformMatrix2fv;_emscripten_glUniformMatrix2fv.sig="viiip";function _glUniformMatrix3fv(e,r,t,n){if(n>>>=0,r<=32){r*=9;for(var a=miniTempWebGLFloatBuffers[r],o=0;o<r;o+=9)a[o]=HEAPF32[n+4*o>>>2>>>0],a[o+1]=HEAPF32[n+(4*o+4)>>>2>>>0],a[o+2]=HEAPF32[n+(4*o+8)>>>2>>>0],a[o+3]=HEAPF32[n+(4*o+12)>>>2>>>0],a[o+4]=HEAPF32[n+(4*o+16)>>>2>>>0],a[o+5]=HEAPF32[n+(4*o+20)>>>2>>>0],a[o+6]=HEAPF32[n+(4*o+24)>>>2>>>0],a[o+7]=HEAPF32[n+(4*o+28)>>>2>>>0],a[o+8]=HEAPF32[n+(4*o+32)>>>2>>>0]}else var a=HEAPF32.subarray(n>>>2>>>0,n+r*36>>>2>>>0);GLctx.uniformMatrix3fv(webglGetUniformLocation(e),!!t,a)}_glUniformMatrix3fv.sig="viiip";var _emscripten_glUniformMatrix3fv=_glUniformMatrix3fv;_emscripten_glUniformMatrix3fv.sig="viiip";function _glUniformMatrix4fv(e,r,t,n){if(n>>>=0,r<=18){var a=miniTempWebGLFloatBuffers[16*r],o=HEAPF32;n=n>>>2,r*=16;for(var _=0;_<r;_+=16){var l=n+_;a[_]=o[l>>>0],a[_+1]=o[l+1>>>0],a[_+2]=o[l+2>>>0],a[_+3]=o[l+3>>>0],a[_+4]=o[l+4>>>0],a[_+5]=o[l+5>>>0],a[_+6]=o[l+6>>>0],a[_+7]=o[l+7>>>0],a[_+8]=o[l+8>>>0],a[_+9]=o[l+9>>>0],a[_+10]=o[l+10>>>0],a[_+11]=o[l+11>>>0],a[_+12]=o[l+12>>>0],a[_+13]=o[l+13>>>0],a[_+14]=o[l+14>>>0],a[_+15]=o[l+15>>>0]}}else var a=HEAPF32.subarray(n>>>2>>>0,n+r*64>>>2>>>0);GLctx.uniformMatrix4fv(webglGetUniformLocation(e),!!t,a)}_glUniformMatrix4fv.sig="viiip";var _emscripten_glUniformMatrix4fv=_glUniformMatrix4fv;_emscripten_glUniformMatrix4fv.sig="viiip";var _glUseProgram=e=>{e=GL.programs[e],GLctx.useProgram(e),GLctx.currentProgram=e};_glUseProgram.sig="vi";var _emscripten_glUseProgram=_glUseProgram;_emscripten_glUseProgram.sig="vi";var _glValidateProgram=e=>{GLctx.validateProgram(GL.programs[e])};_glValidateProgram.sig="vi";var _emscripten_glValidateProgram=_glValidateProgram;_emscripten_glValidateProgram.sig="vi";var _glVertexAttrib1f=(e,r)=>GLctx.vertexAttrib1f(e,r);_glVertexAttrib1f.sig="vif";var _emscripten_glVertexAttrib1f=_glVertexAttrib1f;_emscripten_glVertexAttrib1f.sig="vif";function _glVertexAttrib1fv(e,r){r>>>=0,GLctx.vertexAttrib1f(e,HEAPF32[r>>>2])}_glVertexAttrib1fv.sig="vip";var _emscripten_glVertexAttrib1fv=_glVertexAttrib1fv;_emscripten_glVertexAttrib1fv.sig="vip";var _glVertexAttrib2f=(e,r,t)=>GLctx.vertexAttrib2f(e,r,t);_glVertexAttrib2f.sig="viff";var _emscripten_glVertexAttrib2f=_glVertexAttrib2f;_emscripten_glVertexAttrib2f.sig="viff";function _glVertexAttrib2fv(e,r){r>>>=0,GLctx.vertexAttrib2f(e,HEAPF32[r>>>2],HEAPF32[r+4>>>2])}_glVertexAttrib2fv.sig="vip";var _emscripten_glVertexAttrib2fv=_glVertexAttrib2fv;_emscripten_glVertexAttrib2fv.sig="vip";var _glVertexAttrib3f=(e,r,t,n)=>GLctx.vertexAttrib3f(e,r,t,n);_glVertexAttrib3f.sig="vifff";var _emscripten_glVertexAttrib3f=_glVertexAttrib3f;_emscripten_glVertexAttrib3f.sig="vifff";function _glVertexAttrib3fv(e,r){r>>>=0,GLctx.vertexAttrib3f(e,HEAPF32[r>>>2],HEAPF32[r+4>>>2],HEAPF32[r+8>>>2])}_glVertexAttrib3fv.sig="vip";var _emscripten_glVertexAttrib3fv=_glVertexAttrib3fv;_emscripten_glVertexAttrib3fv.sig="vip";var _glVertexAttrib4f=(e,r,t,n,a)=>GLctx.vertexAttrib4f(e,r,t,n,a);_glVertexAttrib4f.sig="viffff";var _emscripten_glVertexAttrib4f=_glVertexAttrib4f;_emscripten_glVertexAttrib4f.sig="viffff";function _glVertexAttrib4fv(e,r){r>>>=0,GLctx.vertexAttrib4f(e,HEAPF32[r>>>2],HEAPF32[r+4>>>2],HEAPF32[r+8>>>2],HEAPF32[r+12>>>2])}_glVertexAttrib4fv.sig="vip";var _emscripten_glVertexAttrib4fv=_glVertexAttrib4fv;_emscripten_glVertexAttrib4fv.sig="vip";var _glVertexAttribDivisor=(e,r)=>{GLctx.vertexAttribDivisor(e,r)};_glVertexAttribDivisor.sig="vii";var _glVertexAttribDivisorANGLE=_glVertexAttribDivisor,_emscripten_glVertexAttribDivisorANGLE=_glVertexAttribDivisorANGLE;function _glVertexAttribPointer(e,r,t,n,a,o){o>>>=0,GLctx.vertexAttribPointer(e,r,t,!!n,a,o)}_glVertexAttribPointer.sig="viiiiip";var _emscripten_glVertexAttribPointer=_glVertexAttribPointer;_emscripten_glVertexAttribPointer.sig="viiiiip";var _glViewport=(e,r,t,n)=>GLctx.viewport(e,r,t,n);_glViewport.sig="viiii";var _emscripten_glViewport=_glViewport;_emscripten_glViewport.sig="viiii";function _emscripten_out(e){return e>>>=0,out(UTF8ToString(e))}_emscripten_out.sig="vp";class HandleAllocator{constructor(){X(this,"allocated",[void 0]);X(this,"freelist",[])}get(r){return this.allocated[r]}has(r){return this.allocated[r]!==void 0}allocate(r){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=r,t}free(r){this.allocated[r]=void 0,this.freelist.push(r)}}var promiseMap=new HandleAllocator,makePromise=()=>{var e={};return e.promise=new Promise((r,t)=>{e.reject=t,e.resolve=r}),e.id=promiseMap.allocate(e),e};function _emscripten_promise_create(){return makePromise().id}_emscripten_promise_create.sig="p";function _emscripten_promise_destroy(e){e>>>=0,promiseMap.free(e)}_emscripten_promise_destroy.sig="vp";var getPromise=e=>promiseMap.get(e).promise;function _emscripten_promise_resolve(e,r,t){e>>>=0,t>>>=0;var n=promiseMap.get(e);switch(r){case 0:n.resolve(t);return;case 1:n.resolve(getPromise(t));return;case 2:n.resolve(getPromise(t)),_emscripten_promise_destroy(t);return;case 3:n.reject(t);return}}_emscripten_promise_resolve.sig="vpip";var growMemory=e=>{var r=wasmMemory.buffer,t=(e-r.byteLength+65535)/65536|0;try{return wasmMemory.grow(t),updateMemoryViews(),1}catch(n){}};function _emscripten_resize_heap(e){e>>>=0;var r=HEAPU8.length,t=getHeapMax();if(e>t)return!1;for(var n=1;n<=4;n*=2){var a=r*(1+.2/n);a=Math.min(a,e+100663296);var o=Math.min(t,alignMemory(Math.max(e,a),65536)),_=growMemory(o);if(_)return!0}return!1}_emscripten_resize_heap.sig="ip";function _emscripten_wget_data(e,r,t,n){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_wget_data"}_emscripten_wget_data.sig="vpppp";var getEnvStrings=()=>{if(!getEnvStrings.strings){var e=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",r={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:e,_:getExecutableName()};for(var t in ENV)ENV[t]===void 0?delete r[t]:r[t]=ENV[t];var n=[];for(var t in r)n.push("".concat(t,"=").concat(r[t]));getEnvStrings.strings=n}return getEnvStrings.strings},stringToAscii=(e,r)=>{for(var t=0;t<e.length;++t)HEAP8[r++>>>0]=e.charCodeAt(t);HEAP8[r>>>0]=0},_environ_get=function(e,r){e>>>=0,r>>>=0;var t=0;return getEnvStrings().forEach((n,a)=>{var o=r+t;HEAPU32[e+a*4>>>2>>>0]=o,stringToAscii(n,o),t+=n.length+1}),0};_environ_get.sig="ipp";var _environ_sizes_get=function(e,r){e>>>=0,r>>>=0;var t=getEnvStrings();HEAPU32[e>>>2>>>0]=t.length;var n=0;return t.forEach(a=>n+=a.length+1),HEAPU32[r>>>2>>>0]=n,0};_environ_sizes_get.sig="ipp";function _fd_close(e){try{var r=SYSCALLS.getStreamFromFD(e);return FS.close(r),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_fd_close.sig="ii";function _fd_fdstat_get(e,r){r>>>=0;try{var t=0,n=0,a=0,o=SYSCALLS.getStreamFromFD(e),_=o.tty?2:FS.isDir(o.mode)?3:FS.isLink(o.mode)?7:4;return HEAP8[r>>>0]=_,HEAP16[r+2>>>1>>>0]=a,tempI64=[t>>>0,(tempDouble=t,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+8>>>2>>>0]=tempI64[0],HEAP32[r+12>>>2>>>0]=tempI64[1],tempI64=[n>>>0,(tempDouble=n,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+16>>>2>>>0]=tempI64[0],HEAP32[r+20>>>2>>>0]=tempI64[1],0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_fdstat_get.sig="iip";var doReadv=(e,r,t,n)=>{for(var a=0,o=0;o<t;o++){var _=HEAPU32[r>>>2>>>0],l=HEAPU32[r+4>>>2>>>0];r+=8;var c=FS.read(e,HEAP8,_,l,n);if(c<0)return-1;if(a+=c,c<l)break;typeof n<"u"&&(n+=c)}return a};function _fd_pread(e,r,t,n,a,o){r>>>=0,t>>>=0;var _=convertI32PairToI53Checked(n,a);o>>>=0;try{if(isNaN(_))return 61;var l=SYSCALLS.getStreamFromFD(e),c=doReadv(l,r,t,_);return HEAPU32[o>>>2>>>0]=c,0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return u.errno}}_fd_pread.sig="iippiip";var doWritev=(e,r,t,n)=>{for(var a=0,o=0;o<t;o++){var _=HEAPU32[r>>>2>>>0],l=HEAPU32[r+4>>>2>>>0];r+=8;var c=FS.write(e,HEAP8,_,l,n);if(c<0)return-1;if(a+=c,c<l)break;typeof n<"u"&&(n+=c)}return a};function _fd_pwrite(e,r,t,n,a,o){r>>>=0,t>>>=0;var _=convertI32PairToI53Checked(n,a);o>>>=0;try{if(isNaN(_))return 61;var l=SYSCALLS.getStreamFromFD(e),c=doWritev(l,r,t,_);return HEAPU32[o>>>2>>>0]=c,0}catch(u){if(typeof FS>"u"||u.name!=="ErrnoError")throw u;return u.errno}}_fd_pwrite.sig="iippiip";function _fd_read(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;try{var a=SYSCALLS.getStreamFromFD(e),o=doReadv(a,r,t);return HEAPU32[n>>>2>>>0]=o,0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_read.sig="iippp";function _fd_seek(e,r,t,n,a){var o=convertI32PairToI53Checked(r,t);a>>>=0;try{if(isNaN(o))return 61;var _=SYSCALLS.getStreamFromFD(e);return FS.llseek(_,o,n),tempI64=[_.position>>>0,(tempDouble=_.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[a>>>2>>>0]=tempI64[0],HEAP32[a+4>>>2>>>0]=tempI64[1],_.getdents&&o===0&&n===0&&(_.getdents=null),0}catch(l){if(typeof FS>"u"||l.name!=="ErrnoError")throw l;return l.errno}}_fd_seek.sig="iiiiip";function _fd_sync(e){var t;try{var r=SYSCALLS.getStreamFromFD(e);return(t=r.stream_ops)!=null&&t.fsync?r.stream_ops.fsync(r):0}catch(n){if(typeof FS>"u"||n.name!=="ErrnoError")throw n;return n.errno}}_fd_sync.sig="ii";function _fd_write(e,r,t,n){r>>>=0,t>>>=0,n>>>=0;try{var a=SYSCALLS.getStreamFromFD(e),o=doWritev(a,r,t);return HEAPU32[n>>>2>>>0]=o,0}catch(_){if(typeof FS>"u"||_.name!=="ErrnoError")throw _;return _.errno}}_fd_write.sig="iippp";function _getaddrinfo(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=[],o=null,_=0,l=0,c=0,u=0,d=0,f=0,p,m;function v(g,S,h,b,A,w){var L,F,y,D;return F=g===10?28:16,A=g===10?inetNtop6(A):inetNtop4(A),L=_malloc(F),D=writeSockaddr(L,g,A,w),assert(!D),y=_malloc(32),HEAP32[y+4>>>2>>>0]=g,HEAP32[y+8>>>2>>>0]=S,HEAP32[y+12>>>2>>>0]=h,HEAPU32[y+24>>>2>>>0]=b,HEAPU32[y+20>>>2>>>0]=L,g===10?HEAP32[y+16>>>2>>>0]=28:HEAP32[y+16>>>2>>>0]=16,HEAP32[y+28>>>2>>>0]=0,y}if(t&&(c=HEAP32[t>>>2>>>0],u=HEAP32[t+4>>>2>>>0],d=HEAP32[t+8>>>2>>>0],f=HEAP32[t+12>>>2>>>0]),d&&!f&&(f=d===2?17:6),!d&&f&&(d=f===17?2:1),f===0&&(f=6),d===0&&(d=1),!e&&!r)return-2;if(c&-1088||t!==0&&HEAP32[t>>>2>>>0]&2&&!e)return-1;if(c&32)return-2;if(d!==0&&d!==1&&d!==2)return-7;if(u!==0&&u!==2&&u!==10)return-6;if(r&&(r=UTF8ToString(r),l=parseInt(r,10),isNaN(l)))return c&1024?-2:-8;if(!e)return u===0&&(u=2),c&1||(u===2?_=_htonl(2130706433):_=[0,0,0,_htonl(1)]),p=v(u,d,f,null,_,l),HEAPU32[n>>>2>>>0]=p,0;if(e=UTF8ToString(e),_=inetPton4(e),_!==null)if(u===0||u===2)u=2;else if(u===10&&c&8)_=[0,0,_htonl(65535),_],u=10;else return-2;else if(_=inetPton6(e),_!==null)if(u===0||u===10)u=10;else return-2;return _!=null?(p=v(u,d,f,e,_,l),HEAPU32[n>>>2>>>0]=p,0):c&4?-2:(e=DNS.lookup_name(e),_=inetPton4(e),u===0?u=2:u===10&&(_=[0,0,_htonl(65535),_]),p=v(u,d,f,null,_,l),HEAPU32[n>>>2>>>0]=p,0)}_getaddrinfo.sig="ipppp";function _getnameinfo(e,r,t,n,a,o,_){e>>>=0,t>>>=0,a>>>=0;var l=readSockaddr(e,r);if(l.errno)return-6;var c=l.port,u=l.addr,d=!1;if(t&&n){var f;if(_&1||!(f=DNS.lookup_addr(u))){if(_&8)return-2}else u=f;var p=stringToUTF8(u,t,n);p+1>=n&&(d=!0)}if(a&&o){c=""+c;var p=stringToUTF8(c,a,o);p+1>=o&&(d=!0)}return d?-12:0}_getnameinfo.sig="ipipipii";function _pthread_kill(...e){return wasmImports.pthread_kill(...e)}_pthread_kill.stub=!0;function _random_get(e,r){e>>>=0,r>>>=0;try{return randomFill(HEAPU8.subarray(e>>>0,e+r>>>0)),0}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return t.errno}}_random_get.sig="ipp";var arraySum=(e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t},MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31],MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31],addDays=(e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=isLeapYear(t.getFullYear()),a=t.getMonth(),o=(n?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[a];if(r>o-t.getDate())r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1));else return t.setDate(t.getDate()+r),t}return t};function _strptime(e,r,t){e>>>=0,r>>>=0,t>>>=0;for(var n=UTF8ToString(r),a="\\!@#$^&*()+=-[]/{}|:<>?,.",o=0,_=a.length;o<_;++o)n=n.replace(new RegExp("\\"+a[o],"g"),"\\"+a[o]);var l={A:"%a",B:"%b",c:"%a %b %d %H:%M:%S %Y",D:"%m\\/%d\\/%y",e:"%d",F:"%Y-%m-%d",h:"%b",R:"%H\\:%M",r:"%I\\:%M\\:%S\\s%p",T:"%H\\:%M\\:%S",x:"%m\\/%d\\/(?:%y|%Y)",X:"%H\\:%M\\:%S"},c={a:"(?:Sun(?:day)?)|(?:Mon(?:day)?)|(?:Tue(?:sday)?)|(?:Wed(?:nesday)?)|(?:Thu(?:rsday)?)|(?:Fri(?:day)?)|(?:Sat(?:urday)?)",b:"(?:Jan(?:uary)?)|(?:Feb(?:ruary)?)|(?:Mar(?:ch)?)|(?:Apr(?:il)?)|May|(?:Jun(?:e)?)|(?:Jul(?:y)?)|(?:Aug(?:ust)?)|(?:Sep(?:tember)?)|(?:Oct(?:ober)?)|(?:Nov(?:ember)?)|(?:Dec(?:ember)?)",C:"\\d\\d",d:"0[1-9]|[1-9](?!\\d)|1\\d|2\\d|30|31",H:"\\d(?!\\d)|[0,1]\\d|20|21|22|23",I:"\\d(?!\\d)|0\\d|10|11|12",j:"00[1-9]|0?[1-9](?!\\d)|0?[1-9]\\d(?!\\d)|[1,2]\\d\\d|3[0-6]\\d",m:"0[1-9]|[1-9](?!\\d)|10|11|12",M:"0\\d|\\d(?!\\d)|[1-5]\\d",n:" ",p:"AM|am|PM|pm|A\\.M\\.|a\\.m\\.|P\\.M\\.|p\\.m\\.",S:"0\\d|\\d(?!\\d)|[1-5]\\d|60",U:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",W:"0\\d|\\d(?!\\d)|[1-4]\\d|50|51|52|53",w:"[0-6]",y:"\\d\\d",Y:"\\d\\d\\d\\d",t:" ",z:"Z|(?:[\\+\\-]\\d\\d:?(?:\\d\\d)?)"},u={JAN:0,FEB:1,MAR:2,APR:3,MAY:4,JUN:5,JUL:6,AUG:7,SEP:8,OCT:9,NOV:10,DEC:11},d={SUN:0,MON:1,TUE:2,WED:3,THU:4,FRI:5,SAT:6},f={MON:0,TUE:1,WED:2,THU:3,FRI:4,SAT:5,SUN:6},p=[],m=n.replace(/%(.)/g,(H,U)=>l[U]||H).replace(/%(.)/g,(H,U)=>{let R=c[U];return R?(p.push(U),"(".concat(R,")")):U}).replace(/\s+/g,"\\s*"),v=new RegExp("^"+m,"i").exec(UTF8ToString(e));function g(){function H(U,R,V){return typeof U!="number"||isNaN(U)?R:U>=R?U<=V?U:V:R}return{year:H(HEAP32[t+20>>>2>>>0]+1900,1970,9999),month:H(HEAP32[t+16>>>2>>>0],0,11),day:H(HEAP32[t+12>>>2>>>0],1,31),hour:H(HEAP32[t+8>>>2>>>0],0,23),min:H(HEAP32[t+4>>>2>>>0],0,59),sec:H(HEAP32[t>>>2>>>0],0,59),gmtoff:0}}if(v){var S=g(),h,b=H=>{var U=p.indexOf(H);if(U>=0)return v[U+1]};if((h=b("S"))&&(S.sec=jstoi_q(h)),(h=b("M"))&&(S.min=jstoi_q(h)),h=b("H"))S.hour=jstoi_q(h);else if(h=b("I")){var A=jstoi_q(h);(h=b("p"))&&(A+=h.toUpperCase()[0]==="P"?12:0),S.hour=A}if(h=b("Y"))S.year=jstoi_q(h);else if(h=b("y")){var w=jstoi_q(h);(h=b("C"))?w+=jstoi_q(h)*100:w+=w<69?2e3:1900,S.year=w}if((h=b("m"))?S.month=jstoi_q(h)-1:(h=b("b"))&&(S.month=u[h.substring(0,3).toUpperCase()]||0),h=b("d"))S.day=jstoi_q(h);else if(h=b("j"))for(var L=jstoi_q(h),F=isLeapYear(S.year),y=0;y<12;++y){var D=arraySum(F?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,y-1);L<=D+(F?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR)[y]&&(S.day=L-D)}else if(h=b("a")){var P=h.substring(0,3).toUpperCase();if(h=b("U")){var k=d[P],x=jstoi_q(h),T=new Date(S.year,0,1),C;T.getDay()===0?C=addDays(T,k+7*(x-1)):C=addDays(T,7-T.getDay()+k+7*(x-1)),S.day=C.getDate(),S.month=C.getMonth()}else if(h=b("W")){var k=f[P],x=jstoi_q(h),T=new Date(S.year,0,1),C;T.getDay()===1?C=addDays(T,k+7*(x-1)):C=addDays(T,7-T.getDay()+1+k+7*(x-1)),S.day=C.getDate(),S.month=C.getMonth()}}if(h=b("z"))if(h.toLowerCase()==="z")S.gmtoff=0;else{var M=h.match(/^((?:\-|\+)\d\d):?(\d\d)?/);S.gmtoff=M[1]*3600,M[2]&&(S.gmtoff+=S.gmtoff>0?M[2]*60:-M[2]*60)}var G=new Date(S.year,S.month,S.day,S.hour,S.min,S.sec,0);return HEAP32[t>>>2>>>0]=G.getSeconds(),HEAP32[t+4>>>2>>>0]=G.getMinutes(),HEAP32[t+8>>>2>>>0]=G.getHours(),HEAP32[t+12>>>2>>>0]=G.getDate(),HEAP32[t+16>>>2>>>0]=G.getMonth(),HEAP32[t+20>>>2>>>0]=G.getFullYear()-1900,HEAP32[t+24>>>2>>>0]=G.getDay(),HEAP32[t+28>>>2>>>0]=arraySum(isLeapYear(G.getFullYear())?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,G.getMonth()-1)+G.getDate()-1,HEAP32[t+32>>>2>>>0]=0,HEAP32[t+36>>>2>>>0]=S.gmtoff,e+intArrayFromString(v[0]).length-1}return 0}_strptime.sig="pppp";var getCFunc=e=>{var r=Module["_"+e];return r},writeArrayToMemory=(e,r)=>{HEAP8.set(e,r>>>0)},ccall=(e,r,t,n,a)=>{var o={string:v=>{var g=0;return v!=null&&v!==0&&(g=stringToUTF8OnStack(v)),g},array:v=>{var g=stackAlloc(v.length);return writeArrayToMemory(v,g),g}};function _(v){return r==="string"?UTF8ToString(v):r==="boolean"?!!v:v}var l=getCFunc(e),c=[],u=0;if(n)for(var d=0;d<n.length;d++){var f=o[t[d]];f?(u===0&&(u=stackSave()),c[d]=f(n[d])):c[d]=n[d]}var p=l(...c);function m(v){return u!==0&&stackRestore(u),_(v)}return p=m(p),p},createDyncallWrapper=e=>{var r=[],t=[0,97,115,109,1,0,0,0];r.push(t);var n=[e[0].replace("j","i"),"i",e.slice(1).replace(/j/g,"ii")].join(""),a=[3];generateFuncType(n,a),generateFuncType(e,a),generateFuncType("vi",a);var o=[1];uleb128Encode(a.length,o),o.push(...a),r.push(o);var _=[2,15,2,1,101,1,116,1,112,0,0,1,101,1,114,0,2];r.push(_);var l=[3,2,1,0];r.push(l);var c=[7,5,1,1,102,0,1];r.push(c);var u=[];e[0]==="j"?u=[1,1,126]:u.push(0);function d(A){u.push(32),uleb128Encode(A,u)}for(var f=1,p=1;p<e.length;p++)e[p]=="j"?(d(f+1),u.push(173,66,32,134),d(f),u.push(172,132),f+=2):(d(f),f++);u.push(32,0,17,1,0),e[0]==="j"&&(u.push(34),uleb128Encode(f,u),u.push(66,32,136,167,16,0),d(f),u.push(167)),u.push(11);var m=[1];uleb128Encode(u.length,m),m.push(...u);var v=[10];uleb128Encode(m.length,v),v.push(...m),r.push(v);var g=new Uint8Array([].concat.apply([],r)),S=new WebAssembly.Module(g),h=new WebAssembly.Instance(S,{e:{t:wasmTable,r:setTempRet0}}),b=h.exports.f;return b},getTempRet0=e=>__emscripten_tempret_get(),writeI53ToI64Clamped=(e,r)=>{r>9223372036854776e3?(HEAPU32[e>>>2>>>0]=4294967295,HEAPU32[e+4>>>2>>>0]=2147483647):r<-9223372036854776e3?(HEAPU32[e>>>2>>>0]=0,HEAPU32[e+4>>>2>>>0]=2147483648):writeI53ToI64(e,r)},writeI53ToI64Signaling=(e,r)=>{if(r>9223372036854776e3||r<-9223372036854776e3)throw"RangeError: ".concat(r);writeI53ToI64(e,r)},writeI53ToU64Clamped=(e,r)=>{r>18446744073709552e3?(HEAPU32[e>>>2>>>0]=4294967295,HEAPU32[e+4>>>2>>>0]=4294967295):r<0?(HEAPU32[e>>>2>>>0]=0,HEAPU32[e+4>>>2>>>0]=0):writeI53ToI64(e,r)},writeI53ToU64Signaling=(e,r)=>{if(r<0||r>18446744073709552e3)throw"RangeError: ".concat(r);writeI53ToI64(e,r)},readI53FromU64=e=>HEAPU32[e>>>2>>>0]+HEAPU32[e+4>>>2>>>0]*4294967296,convertI32PairToI53=(e,r)=>(e>>>0)+r*4294967296,convertU32PairToI53=(e,r)=>(e>>>0)+(r>>>0)*4294967296,_stackAlloc=stackAlloc,_stackSave=stackSave,_stackRestore=stackSave,_getTempRet0=getTempRet0;Module._getTempRet0=_getTempRet0;var ptrToString=e=>"0x"+e.toString(16).padStart(8,"0");function _emscripten_notify_memory_growth(e){e>>>=0,updateMemoryViews()}_emscripten_notify_memory_growth.sig="vp";var withStackSave=e=>{var r=stackSave(),t=e();return stackRestore(r),t},ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},strError=e=>UTF8ToString(_strerror(e)),Protocols={list:[],map:{}},_setprotoent=e=>{function r(o,_,l){var c=_malloc(o.length+1);stringToAscii(o,c);for(var u=0,d=l.length,f=_malloc((d+1)*4),p=0;p<d;p++,u+=4){var m=l[p],v=_malloc(m.length+1);stringToAscii(m,v),HEAPU32[f+u>>>2>>>0]=v}HEAPU32[f+u>>>2>>>0]=0;var g=_malloc(12);return HEAPU32[g>>>2>>>0]=c,HEAPU32[g+4>>>2>>>0]=f,HEAP32[g+8>>>2>>>0]=_,g}var t=Protocols.list,n=Protocols.map;if(t.length===0){var a=r("tcp",6,["TCP"]);t.push(a),n.tcp=n[6]=a,a=r("udp",17,["UDP"]),t.push(a),n.udp=n[17]=a}_setprotoent.index=0};_setprotoent.sig="vi";var _endprotoent=()=>{};_endprotoent.sig="v";function _getprotoent(e){if(_setprotoent.index===Protocols.list.length)return 0;var r=Protocols.list[_setprotoent.index++];return r}_getprotoent.sig="p";function _getprotobyname(e){e>>>=0,e=UTF8ToString(e),_setprotoent(!0);var r=Protocols.map[e];return r}_getprotobyname.sig="pp";function _getprotobynumber(e){_setprotoent(!0);var r=Protocols.map[e];return r}_getprotobynumber.sig="pi";function _emscripten_run_script(ptr){ptr>>>=0,eval(UTF8ToString(ptr))}_emscripten_run_script.sig="vp";function _emscripten_run_script_int(ptr){return ptr>>>=0,eval(UTF8ToString(ptr))|0}_emscripten_run_script_int.sig="ip";function _emscripten_run_script_string(ptr){ptr>>>=0;var s=eval(UTF8ToString(ptr));if(s==null)return 0;s+="";var me=_emscripten_run_script_string,len=lengthBytesUTF8(s);return(!me.bufferSize||me.bufferSize<len+1)&&(me.bufferSize&&_free(me.buffer),me.bufferSize=len+1,me.buffer=_malloc(me.bufferSize)),stringToUTF8(s,me.buffer,me.bufferSize),me.buffer}_emscripten_run_script_string.sig="pp";var _emscripten_random=()=>Math.random();_emscripten_random.sig="f";var warnOnce=e=>{warnOnce.shown||(warnOnce.shown={}),warnOnce.shown[e]||(warnOnce.shown[e]=1,ENVIRONMENT_IS_NODE&&(e="warning: "+e),err(e))},jsStackTrace=()=>new Error().stack.toString(),getCallstack=e=>{var r=jsStackTrace(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),a=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(a),e&8&&typeof emscripten_source_map>"u"&&(warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var o=r.split("\n");r="";var _=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),l=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),c=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var u in o){var d=o[u],f="",p="",m=0,v=0,g=c.exec(d);if(g&&g.length==5)f=g[1],p=g[2],m=g[3],v=g[4];else if(g=_.exec(d)||l.exec(d),g&&g.length>=4)f=g[1],p=g[2],m=g[3],v=g[4]|0;else{r+=d+"\n";continue}var S=!1;if(e&8){var h=emscripten_source_map.originalPositionFor({line:m,column:v});S=h==null?void 0:h.source,S&&(e&64&&(h.source=h.source.substring(h.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=" at ".concat(f," (").concat(h.source,":").concat(h.line,":").concat(h.column,")\n"))}(e&16||!S)&&(e&64&&(p=p.substring(p.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(S?" = ".concat(f):" at ".concat(f))+" (".concat(p,":").concat(m,":").concat(v,")\n"))}return r=r.replace(/\s+$/,""),r},emscriptenLog=(e,r)=>{e&24&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+getCallstack(e)),e&1?e&4?console.error(r):e&2?console.warn(r):e&512?console.info(r):e&256?console.debug(r):console.log(r):e&6?err(r):out(r)},reallyNegative=e=>e<0||e===0&&1/e===-1/0,reSign=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},unSign=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,strLen=e=>{for(var r=e;HEAPU8[r>>>0];)++r;return r-e},formatString=(e,r)=>{var t=e,n=r;function a(j,N){return(N==="double"||N==="i64")&&j&7&&(j+=4),j}function o(j){var N;return n=a(n,j),j==="double"?(N=HEAPF64[n>>>3>>>0],n+=8):j=="i64"?(N=[HEAP32[n>>>2>>>0],HEAP32[n+4>>>2>>>0]],n+=8):(j="i32",N=HEAP32[n>>>2>>>0],n+=4),N}for(var _=[],l,c,u;;){var d=t;if(l=HEAP8[t>>>0],l===0)break;if(c=HEAP8[t+1>>>0],l==37){var f=!1,p=!1,m=!1,v=!1,g=!1;e:for(;;){switch(c){case 43:f=!0;break;case 45:p=!0;break;case 35:m=!0;break;case 48:if(v)break e;v=!0;break;case 32:g=!0;break;default:break e}t++,c=HEAP8[t+1>>>0]}var S=0;if(c==42)S=o("i32"),t++,c=HEAP8[t+1>>>0];else for(;c>=48&&c<=57;)S=S*10+(c-48),t++,c=HEAP8[t+1>>>0];var h=!1,b=-1;if(c==46){if(b=0,h=!0,t++,c=HEAP8[t+1>>>0],c==42)b=o("i32"),t++;else for(;;){var A=HEAP8[t+1>>>0];if(A<48||A>57)break;b=b*10+(A-48),t++}c=HEAP8[t+1>>>0]}b<0&&(b=6,h=!1);var w;switch(String.fromCharCode(c)){case"h":var L=HEAP8[t+2>>>0];L==104?(t++,w=1):w=2;break;case"l":var L=HEAP8[t+2>>>0];L==108?(t++,w=8):w=4;break;case"L":case"q":case"j":w=8;break;case"z":case"t":case"I":w=4;break;default:w=null}switch(w&&t++,c=HEAP8[t+1>>>0],String.fromCharCode(c)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var F=c==100||c==105;w=w||4,u=o("i"+w*8);var y;if(w==8&&(u=c==117?convertU32PairToI53(u[0],u[1]):convertI32PairToI53(u[0],u[1])),w<=4){var D=Math.pow(256,w)-1;u=(F?reSign:unSign)(u&D,w*8)}var P=Math.abs(u),k="";if(c==100||c==105)y=reSign(u,8*w).toString(10);else if(c==117)y=unSign(u,8*w).toString(10),u=Math.abs(u);else if(c==111)y=(m?"0":"")+P.toString(8);else if(c==120||c==88){if(k=m&&u!=0?"0x":"",u<0){u=-u,y=(P-1).toString(16);for(var x=[],T=0;T<y.length;T++)x.push((15-parseInt(y[T],16)).toString(16));for(y=x.join("");y.length<w*2;)y="f"+y}else y=P.toString(16);c==88&&(k=k.toUpperCase(),y=y.toUpperCase())}else c==112&&(P===0?y="(nil)":(k="0x",y=P.toString(16)));if(h)for(;y.length<b;)y="0"+y;for(u>=0&&(f?k="+"+k:g&&(k=" "+k)),y.charAt(0)=="-"&&(k="-"+k,y=y.substr(1));k.length+y.length<S;)p?y+=" ":v?y="0"+y:k=" "+k;y=k+y,y.split("").forEach(j=>_.push(j.charCodeAt(0)));break}case"f":case"F":case"e":case"E":case"g":case"G":{u=o("double");var y;if(isNaN(u))y="nan",v=!1;else if(!isFinite(u))y=(u<0?"-":"")+"inf",v=!1;else{var C=!1,M=Math.min(b,20);if(c==103||c==71){C=!0,b=b||1;var G=parseInt(u.toExponential(M).split("e")[1],10);b>G&&G>=-4?(c=(c==103?"f":"F").charCodeAt(0),b-=G+1):(c=(c==103?"e":"E").charCodeAt(0),b--),M=Math.min(b,20)}c==101||c==69?(y=u.toExponential(M),/[eE][-+]\d$/.test(y)&&(y=y.slice(0,-1)+"0"+y.slice(-1))):(c==102||c==70)&&(y=u.toFixed(M),u===0&&reallyNegative(u)&&(y="-"+y));var H=y.split("e");if(C&&!m)for(;H[0].length>1&&H[0].includes(".")&&(H[0].slice(-1)=="0"||H[0].slice(-1)==".");)H[0]=H[0].slice(0,-1);else for(m&&y.indexOf(".")==-1&&(H[0]+=".");b>M++;)H[0]+="0";y=H[0]+(H.length>1?"e"+H[1]:""),c==69&&(y=y.toUpperCase()),u>=0&&(f?y="+"+y:g&&(y=" "+y))}for(;y.length<S;)p?y+=" ":v&&(y[0]=="-"||y[0]=="+")?y=y[0]+"0"+y.slice(1):y=(v?"0":" ")+y;c<97&&(y=y.toUpperCase()),y.split("").forEach(N=>_.push(N.charCodeAt(0)));break}case"s":{var U=o("i8*"),R=U?strLen(U):6;if(h&&(R=Math.min(R,b)),!p)for(;R<S--;)_.push(32);if(U)for(var T=0;T<R;T++)_.push(HEAPU8[U++>>>0]);else _=_.concat(intArrayFromString("(null)".substr(0,R),!0));if(p)for(;R<S--;)_.push(32);break}case"c":{for(p&&_.push(o("i8"));--S>0;)_.push(32);p||_.push(o("i8"));break}case"n":{var V=o("i32*");HEAP32[V>>>2>>>0]=_.length;break}case"%":{_.push(l);break}default:for(var T=d;T<t+2;T++)_.push(HEAP8[T>>>0])}t+=2}else _.push(l),t+=1}return _};function _emscripten_log(e,r,t){r>>>=0,t>>>=0;var n=formatString(r,t),a=UTF8ArrayToString(n);emscriptenLog(e,a)}_emscripten_log.sig="vipp";function _emscripten_get_compiler_setting(e){throw e>>>=0,"You must build with -sRETAIN_COMPILER_SETTINGS for getCompilerSetting or emscripten_get_compiler_setting to work"}_emscripten_get_compiler_setting.sig="pp";var _emscripten_has_asyncify=()=>0;_emscripten_has_asyncify.sig="i";var _emscripten_debugger=()=>{debugger};_emscripten_debugger.sig="v";function _emscripten_print_double(e,r,t){r>>>=0;var n=e+"";return r?stringToUTF8(n,r,t):lengthBytesUTF8(n)}_emscripten_print_double.sig="idpi";function _emscripten_asm_const_double(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runEmAsmFunction(e,r,t)}_emscripten_asm_const_double.sig="dppp";var runMainThreadEmAsm=(e,r,t,n)=>{var a=readEmAsmArgs(r,t);return ASM_CONSTS[e](...a)};function _emscripten_asm_const_int_sync_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,1)}_emscripten_asm_const_int_sync_on_main_thread.sig="ippp";function _emscripten_asm_const_ptr_sync_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,1)}_emscripten_asm_const_ptr_sync_on_main_thread.sig="pppp";var _emscripten_asm_const_double_sync_on_main_thread=_emscripten_asm_const_int_sync_on_main_thread;_emscripten_asm_const_double_sync_on_main_thread.sig="dppp";function _emscripten_asm_const_async_on_main_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,runMainThreadEmAsm(e,r,t,0)}_emscripten_asm_const_async_on_main_thread.sig="vppp";var jstoi_s=Number;function __Unwind_Backtrace(e,r){e>>>=0,r>>>=0;for(var t=getCallstack(),n=t.split("\n"),a=0;a<n.length;a++){var o=getWasmTableEntry(e)(0,r);if(o!==0)return}}__Unwind_Backtrace.sig="ipp";function __Unwind_GetIPInfo(e,r){return e>>>=0,r>>>=0,abort("Unwind_GetIPInfo")}__Unwind_GetIPInfo.sig="ppp";function __Unwind_FindEnclosingFunction(e){return e>>>=0,0}__Unwind_FindEnclosingFunction.sig="pp";function __Unwind_RaiseException(e){return e>>>=0,err("Warning: _Unwind_RaiseException is not correctly implemented"),___cxa_throw(e,0,0)}Module.__Unwind_RaiseException=__Unwind_RaiseException,__Unwind_RaiseException.sig="ip";function __Unwind_DeleteException(e){e>>>=0,err("TODO: Unwind_DeleteException")}Module.__Unwind_DeleteException=__Unwind_DeleteException,__Unwind_DeleteException.sig="vp";var dynCallLegacy=(e,r,t)=>{e=e.replace(/p/g,"i"),"dynCall_"+e in Module||(Module["dynCall_"+e]=createDyncallWrapper(e));var n=Module["dynCall_"+e];return n(r,...t)},dynCall=(e,r,t=[])=>{if(e.includes("j"))return dynCallLegacy(e,r,t);var n=getWasmTableEntry(r)(...t);return e[0]=="p"?n>>>0:n},getDynCaller=(e,r)=>(...t)=>dynCall(e,r,t),_emscripten_exit_with_live_runtime=()=>{throw"unwind"};_emscripten_exit_with_live_runtime.sig="v";var _emscripten_force_exit=e=>{__emscripten_runtime_keepalive_clear(),_exit(e)};_emscripten_force_exit.sig="vi";function _emscripten_outn(e,r){return e>>>=0,r>>>=0,out(UTF8ToString(e,r))}_emscripten_outn.sig="vpp";function _emscripten_errn(e,r){return e>>>=0,r>>>=0,err(UTF8ToString(e,r))}_emscripten_errn.sig="vpp";var _emscripten_throw_number=e=>{throw e};_emscripten_throw_number.sig="vd";function _emscripten_throw_string(e){throw e>>>=0,UTF8ToString(e)}_emscripten_throw_string.sig="vp";var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};runtimeKeepalivePush.sig="v";var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};runtimeKeepalivePop.sig="v";var _emscripten_runtime_keepalive_push=runtimeKeepalivePush;_emscripten_runtime_keepalive_push.sig="v";var _emscripten_runtime_keepalive_pop=runtimeKeepalivePop;_emscripten_runtime_keepalive_pop.sig="v";var _emscripten_runtime_keepalive_check=keepRuntimeAlive;_emscripten_runtime_keepalive_check.sig="i";var asmjsMangle=e=>(e=="__main_argc_argv"&&(e="main"),e.startsWith("dynCall_")?e:"_"+e),___global_base=1024;function __emscripten_fs_load_embedded_files(e){e>>>=0;do{var r=HEAPU32[e>>>2>>>0];e+=4;var t=HEAPU32[e>>>2>>>0];e+=4;var n=HEAPU32[e>>>2>>>0];e+=4;var a=UTF8ToString(r);FS.createPath("/",PATH.dirname(a),!0,!0),FS.createDataFile(a,null,HEAP8.subarray(n>>>0,n+t>>>0),!0,!0,!0)}while(HEAPU32[e>>>2>>>0])}__emscripten_fs_load_embedded_files.sig="vp";var POINTER_SIZE=4;function getNativeTypeSize(e){switch(e){case"i1":case"i8":case"u8":return 1;case"i16":case"u16":return 2;case"i32":case"u32":return 4;case"i64":case"u64":return 8;case"float":return 4;case"double":return 8;default:{if(e[e.length-1]==="*")return POINTER_SIZE;if(e[0]==="i"){let r=Number(e.substr(1));return assert(r%8===0,"getNativeTypeSize invalid bits ".concat(r,", ").concat(e," type")),r/8}return 0}}}var STACK_SIZE=1048576,STACK_ALIGN=16,ASSERTIONS=0,cwrap=(e,r,t,n)=>{var a=!t||t.every(_=>_==="number"||_==="boolean"),o=r!=="string";return o&&a&&!n?getCFunc(e):(..._)=>ccall(e,r,t,_,n)},removeFunction=e=>{functionsInTableMap.delete(getWasmTableEntry(e)),setWasmTableEntry(e,null),freeTableIndexes.push(e)},_emscripten_math_cbrt=Math.cbrt;_emscripten_math_cbrt.sig="dd";var _emscripten_math_pow=Math.pow;_emscripten_math_pow.sig="ddd";var _emscripten_math_random=Math.random;_emscripten_math_random.sig="d";var _emscripten_math_sign=Math.sign;_emscripten_math_sign.sig="dd";var _emscripten_math_sqrt=Math.sqrt;_emscripten_math_sqrt.sig="dd";var _emscripten_math_exp=Math.exp;_emscripten_math_exp.sig="dd";var _emscripten_math_expm1=Math.expm1;_emscripten_math_expm1.sig="dd";var _emscripten_math_fmod=(e,r)=>e%r;_emscripten_math_fmod.sig="ddd";var _emscripten_math_log=Math.log;_emscripten_math_log.sig="dd";var _emscripten_math_log1p=Math.log1p;_emscripten_math_log1p.sig="dd";var _emscripten_math_log10=Math.log10;_emscripten_math_log10.sig="dd";var _emscripten_math_log2=Math.log2;_emscripten_math_log2.sig="dd";var _emscripten_math_round=Math.round;_emscripten_math_round.sig="dd";var _emscripten_math_acos=Math.acos;_emscripten_math_acos.sig="dd";var _emscripten_math_acosh=Math.acosh;_emscripten_math_acosh.sig="dd";var _emscripten_math_asin=Math.asin;_emscripten_math_asin.sig="dd";var _emscripten_math_asinh=Math.asinh;_emscripten_math_asinh.sig="dd";var _emscripten_math_atan=Math.atan;_emscripten_math_atan.sig="dd";var _emscripten_math_atanh=Math.atanh;_emscripten_math_atanh.sig="dd";var _emscripten_math_atan2=Math.atan2;_emscripten_math_atan2.sig="ddd";var _emscripten_math_cos=Math.cos;_emscripten_math_cos.sig="dd";var _emscripten_math_cosh=Math.cosh;_emscripten_math_cosh.sig="dd";function _emscripten_math_hypot(e,r){r>>>=0;for(var t=[],n=0;n<e;++n)t.push(HEAPF64[r+n*8>>>3>>>0]);return Math.hypot(...t)}_emscripten_math_hypot.sig="dip";var _emscripten_math_sin=Math.sin;_emscripten_math_sin.sig="dd";var _emscripten_math_sinh=Math.sinh;_emscripten_math_sinh.sig="dd";var _emscripten_math_tan=Math.tan;_emscripten_math_tan.sig="dd";var _emscripten_math_tanh=Math.tanh;_emscripten_math_tanh.sig="dd";function intArrayToString(e){for(var r=[],t=0;t<e.length;t++){var n=e[t];n>255&&(n&=255),r.push(String.fromCharCode(n))}return r.join("")}var AsciiToString=e=>{e>>>=0;for(var r="";;){var t=HEAPU8[e++>>>0];if(!t)return r;r+=String.fromCharCode(t)}},JSEvents={removeAllEventListeners(){for(;JSEvents.eventHandlers.length;)JSEvents._removeHandler(JSEvents.eventHandlers.length-1);JSEvents.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,r,t){function n(o,_){if(o.length!=_.length)return!1;for(var l in o)if(o[l]!=_[l])return!1;return!0}for(var a of JSEvents.deferredCalls)if(a.targetFunction==e&&n(a.argsList,t))return;JSEvents.deferredCalls.push({targetFunction:e,precedence:r,argsList:t}),JSEvents.deferredCalls.sort((o,_)=>o.precedence<_.precedence)},removeDeferredCalls(e){JSEvents.deferredCalls=JSEvents.deferredCalls.filter(r=>r.targetFunction!=e)},canPerformEventHandlerRequests(){return navigator.userActivation?navigator.userActivation.isActive:JSEvents.inEventHandler&&JSEvents.currentEventHandler.allowsDeferredCalls},runDeferredCalls(){if(JSEvents.canPerformEventHandlerRequests()){var e=JSEvents.deferredCalls;JSEvents.deferredCalls=[];for(var r of e)r.targetFunction(...r.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,r)=>{for(var t=0;t<JSEvents.eventHandlers.length;++t)JSEvents.eventHandlers[t].target==e&&(!r||r==JSEvents.eventHandlers[t].eventTypeString)&&JSEvents._removeHandler(t--)},_removeHandler(e){var r=JSEvents.eventHandlers[e];r.target.removeEventListener(r.eventTypeString,r.eventListenerFunc,r.useCapture),JSEvents.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++JSEvents.inEventHandler,JSEvents.currentEventHandler=e,JSEvents.runDeferredCalls(),e.handlerFunc(t),JSEvents.runDeferredCalls(),--JSEvents.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),JSEvents.eventHandlers.push(e);else for(var r=0;r<JSEvents.eventHandlers.length;++r)JSEvents.eventHandlers[r].target==e.target&&JSEvents.eventHandlers[r].eventTypeString==e.eventTypeString&&JSEvents._removeHandler(r--);return 0},getNodeNameForTarget(e){return e?e==window?"#window":e==screen?"#screen":(e==null?void 0:e.nodeName)||"":""},fullscreenEnabled(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}},maybeCStringToJsString=e=>e>2?UTF8ToString(e):e,specialHTMLTargets=[0,typeof document<"u"?document:0,typeof window<"u"?window:0],findEventTarget=e=>{e=maybeCStringToJsString(e);var r=specialHTMLTargets[e]||(typeof document<"u"?document.querySelector(e):void 0);return r},registerKeyEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.keyEvent||(JSEvents.keyEvent=_malloc(160));var l=u=>{var d=JSEvents.keyEvent;HEAPF64[d>>>3>>>0]=u.timeStamp;var f=d>>>2;HEAP32[f+2>>>0]=u.location,HEAP8[d+12>>>0]=u.ctrlKey,HEAP8[d+13>>>0]=u.shiftKey,HEAP8[d+14>>>0]=u.altKey,HEAP8[d+15>>>0]=u.metaKey,HEAP8[d+16>>>0]=u.repeat,HEAP32[f+5>>>0]=u.charCode,HEAP32[f+6>>>0]=u.keyCode,HEAP32[f+7>>>0]=u.which,stringToUTF8(u.key||"",d+32,32),stringToUTF8(u.code||"",d+64,32),stringToUTF8(u.char||"",d+96,32),stringToUTF8(u.locale||"",d+128,32),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)},findCanvasEventTarget=findEventTarget;function _emscripten_set_keypress_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerKeyEventCallback(e,r,t,n,1,"keypress",a)}_emscripten_set_keypress_callback_on_thread.sig="ippipp";function _emscripten_set_keydown_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerKeyEventCallback(e,r,t,n,2,"keydown",a)}_emscripten_set_keydown_callback_on_thread.sig="ippipp";function _emscripten_set_keyup_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerKeyEventCallback(e,r,t,n,3,"keyup",a)}_emscripten_set_keyup_callback_on_thread.sig="ippipp";var getBoundingClientRect=e=>specialHTMLTargets.indexOf(e)<0?e.getBoundingClientRect():{left:0,top:0},fillMouseEventData=(e,r,t)=>{HEAPF64[e>>>3>>>0]=r.timeStamp;var n=e>>>2;HEAP32[n+2>>>0]=r.screenX,HEAP32[n+3>>>0]=r.screenY,HEAP32[n+4>>>0]=r.clientX,HEAP32[n+5>>>0]=r.clientY,HEAP8[e+24>>>0]=r.ctrlKey,HEAP8[e+25>>>0]=r.shiftKey,HEAP8[e+26>>>0]=r.altKey,HEAP8[e+27>>>0]=r.metaKey,HEAP16[n*2+14>>>0]=r.button,HEAP16[n*2+15>>>0]=r.buttons,HEAP32[n+8>>>0]=r.movementX,HEAP32[n+9>>>0]=r.movementY;var a=getBoundingClientRect(t);HEAP32[n+10>>>0]=r.clientX-(a.left|0),HEAP32[n+11>>>0]=r.clientY-(a.top|0)},registerMouseEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.mouseEvent||(JSEvents.mouseEvent=_malloc(64)),e=findEventTarget(e);var l=(u=event)=>{fillMouseEventData(JSEvents.mouseEvent,u,e),getWasmTableEntry(n)(a,JSEvents.mouseEvent,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:o!="mousemove"&&o!="mouseenter"&&o!="mouseleave",eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_click_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,4,"click",a)}_emscripten_set_click_callback_on_thread.sig="ippipp";function _emscripten_set_mousedown_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,5,"mousedown",a)}_emscripten_set_mousedown_callback_on_thread.sig="ippipp";function _emscripten_set_mouseup_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,6,"mouseup",a)}_emscripten_set_mouseup_callback_on_thread.sig="ippipp";function _emscripten_set_dblclick_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,7,"dblclick",a)}_emscripten_set_dblclick_callback_on_thread.sig="ippipp";function _emscripten_set_mousemove_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,8,"mousemove",a)}_emscripten_set_mousemove_callback_on_thread.sig="ippipp";function _emscripten_set_mouseenter_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,33,"mouseenter",a)}_emscripten_set_mouseenter_callback_on_thread.sig="ippipp";function _emscripten_set_mouseleave_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,34,"mouseleave",a)}_emscripten_set_mouseleave_callback_on_thread.sig="ippipp";function _emscripten_set_mouseover_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,35,"mouseover",a)}_emscripten_set_mouseover_callback_on_thread.sig="ippipp";function _emscripten_set_mouseout_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerMouseEventCallback(e,r,t,n,36,"mouseout",a)}_emscripten_set_mouseout_callback_on_thread.sig="ippipp";function _emscripten_get_mouse_status(e){return e>>>=0,JSEvents.mouseEvent?(HEAP8.set(HEAP8.subarray(JSEvents.mouseEvent>>>0,JSEvents.mouseEvent+64>>>0),e>>>0),0):-7}_emscripten_get_mouse_status.sig="ip";var registerWheelEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.wheelEvent||(JSEvents.wheelEvent=_malloc(96));var l=(u=event)=>{var d=JSEvents.wheelEvent;fillMouseEventData(d,u,e),HEAPF64[d+64>>>3>>>0]=u.deltaX,HEAPF64[d+72>>>3>>>0]=u.deltaY,HEAPF64[d+80>>>3>>>0]=u.deltaZ,HEAP32[d+88>>>2>>>0]=u.deltaMode,getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_wheel_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,e=findEventTarget(e),e?typeof e.onwheel<"u"?registerWheelEventCallback(e,r,t,n,9,"wheel",a):-1:-4}_emscripten_set_wheel_callback_on_thread.sig="ippipp";var registerUiEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.uiEvent||(JSEvents.uiEvent=_malloc(36)),e=findEventTarget(e);var l=(u=event)=>{if(u.target==e){var d=document.body;if(d){var f=JSEvents.uiEvent;HEAP32[f>>>2>>>0]=0,HEAP32[f+4>>>2>>>0]=d.clientWidth,HEAP32[f+8>>>2>>>0]=d.clientHeight,HEAP32[f+12>>>2>>>0]=innerWidth,HEAP32[f+16>>>2>>>0]=innerHeight,HEAP32[f+20>>>2>>>0]=outerWidth,HEAP32[f+24>>>2>>>0]=outerHeight,HEAP32[f+28>>>2>>>0]=pageXOffset|0,HEAP32[f+32>>>2>>>0]=pageYOffset|0,getWasmTableEntry(n)(a,f,r)&&u.preventDefault()}}},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_resize_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerUiEventCallback(e,r,t,n,10,"resize",a)}_emscripten_set_resize_callback_on_thread.sig="ippipp";function _emscripten_set_scroll_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerUiEventCallback(e,r,t,n,11,"scroll",a)}_emscripten_set_scroll_callback_on_thread.sig="ippipp";var registerFocusEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.focusEvent||(JSEvents.focusEvent=_malloc(256));var l=(u=event)=>{var d=JSEvents.getNodeNameForTarget(u.target),f=u.target.id?u.target.id:"",p=JSEvents.focusEvent;stringToUTF8(d,p+0,128),stringToUTF8(f,p+128,128),getWasmTableEntry(n)(a,p,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_blur_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,12,"blur",a)}_emscripten_set_blur_callback_on_thread.sig="ippipp";function _emscripten_set_focus_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,13,"focus",a)}_emscripten_set_focus_callback_on_thread.sig="ippipp";function _emscripten_set_focusin_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,14,"focusin",a)}_emscripten_set_focusin_callback_on_thread.sig="ippipp";function _emscripten_set_focusout_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerFocusEventCallback(e,r,t,n,15,"focusout",a)}_emscripten_set_focusout_callback_on_thread.sig="ippipp";var fillDeviceOrientationEventData=(e,r,t)=>{HEAPF64[e>>>3>>>0]=r.alpha,HEAPF64[e+8>>>3>>>0]=r.beta,HEAPF64[e+16>>>3>>>0]=r.gamma,HEAP8[e+24>>>0]=r.absolute},registerDeviceOrientationEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.deviceOrientationEvent||(JSEvents.deviceOrientationEvent=_malloc(32));var l=(u=event)=>{fillDeviceOrientationEventData(JSEvents.deviceOrientationEvent,u,e),getWasmTableEntry(n)(a,JSEvents.deviceOrientationEvent,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_deviceorientation_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,registerDeviceOrientationEventCallback(2,e,r,t,16,"deviceorientation",n)}_emscripten_set_deviceorientation_callback_on_thread.sig="ipipp";function _emscripten_get_deviceorientation_status(e){return e>>>=0,JSEvents.deviceOrientationEvent?(HEAP32.set(HEAP32.subarray(JSEvents.deviceOrientationEvent>>>0,32),e>>>0),0):-7}_emscripten_get_deviceorientation_status.sig="ip";var fillDeviceMotionEventData=(e,r,t)=>{var n=0,a=r.acceleration;n|=a&&1;var o=r.accelerationIncludingGravity;n|=o&&2;var _=r.rotationRate;n|=_&&4,a=a||{},o=o||{},_=_||{},HEAPF64[e>>>3>>>0]=a.x,HEAPF64[e+8>>>3>>>0]=a.y,HEAPF64[e+16>>>3>>>0]=a.z,HEAPF64[e+24>>>3>>>0]=o.x,HEAPF64[e+32>>>3>>>0]=o.y,HEAPF64[e+40>>>3>>>0]=o.z,HEAPF64[e+48>>>3>>>0]=_.alpha,HEAPF64[e+56>>>3>>>0]=_.beta,HEAPF64[e+64>>>3>>>0]=_.gamma},registerDeviceMotionEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.deviceMotionEvent||(JSEvents.deviceMotionEvent=_malloc(80));var l=(u=event)=>{fillDeviceMotionEventData(JSEvents.deviceMotionEvent,u,e),getWasmTableEntry(n)(a,JSEvents.deviceMotionEvent,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_devicemotion_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,registerDeviceMotionEventCallback(2,e,r,t,17,"devicemotion",n)}_emscripten_set_devicemotion_callback_on_thread.sig="ipipp";function _emscripten_get_devicemotion_status(e){return e>>>=0,JSEvents.deviceMotionEvent?(HEAP32.set(HEAP32.subarray(JSEvents.deviceMotionEvent>>>0,80),e>>>0),0):-7}_emscripten_get_devicemotion_status.sig="ip";var screenOrientation=()=>{if(window.screen)return screen.orientation||screen.mozOrientation||screen.webkitOrientation},fillOrientationChangeEventData=e=>{var r=["portrait-primary","portrait-secondary","landscape-primary","landscape-secondary"],t=["portrait","portrait","landscape","landscape"],n=0,a=0,o=screenOrientation();typeof o=="object"?(n=r.indexOf(o.type),n<0&&(n=t.indexOf(o.type)),n>=0&&(n=1<<n),a=o.angle):a=window.orientation,HEAP32[e>>>2>>>0]=n,HEAP32[e+4>>>2>>>0]=a},registerOrientationChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.orientationChangeEvent||(JSEvents.orientationChangeEvent=_malloc(8));var l=(u=event)=>{var d=JSEvents.orientationChangeEvent;fillOrientationChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_orientationchange_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,!window.screen||!screen.orientation?-1:registerOrientationChangeEventCallback(screen.orientation,e,r,t,18,"change",n)}_emscripten_set_orientationchange_callback_on_thread.sig="ipipp";function _emscripten_get_orientation_status(e){return e>>>=0,!screenOrientation()&&typeof orientation>"u"?-1:(fillOrientationChangeEventData(e),0)}_emscripten_get_orientation_status.sig="ip";var _emscripten_lock_orientation=e=>{var r=[];e&1&&r.push("portrait-primary"),e&2&&r.push("portrait-secondary"),e&4&&r.push("landscape-primary"),e&8&&r.push("landscape-secondary");var t;if(screen.lockOrientation)t=screen.lockOrientation(r);else if(screen.mozLockOrientation)t=screen.mozLockOrientation(r);else if(screen.webkitLockOrientation)t=screen.webkitLockOrientation(r);else return-1;return t?0:-6};_emscripten_lock_orientation.sig="ii";var _emscripten_unlock_orientation=()=>{if(screen.unlockOrientation)screen.unlockOrientation();else if(screen.mozUnlockOrientation)screen.mozUnlockOrientation();else if(screen.webkitUnlockOrientation)screen.webkitUnlockOrientation();else return-1;return 0};_emscripten_unlock_orientation.sig="i";var fillFullscreenChangeEventData=e=>{var r=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement,t=!!r;HEAP8[e>>>0]=t,HEAP8[e+1>>>0]=JSEvents.fullscreenEnabled();var n=t?r:JSEvents.previousFullscreenElement,a=JSEvents.getNodeNameForTarget(n),o=(n==null?void 0:n.id)||"";stringToUTF8(a,e+2,128),stringToUTF8(o,e+130,128),HEAP32[e+260>>>2>>>0]=n?n.clientWidth:0,HEAP32[e+264>>>2>>>0]=n?n.clientHeight:0,HEAP32[e+268>>>2>>>0]=screen.width,HEAP32[e+272>>>2>>>0]=screen.height,t&&(JSEvents.previousFullscreenElement=r)},registerFullscreenChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.fullscreenChangeEvent||(JSEvents.fullscreenChangeEvent=_malloc(276));var l=(u=event)=>{var d=JSEvents.fullscreenChangeEvent;fillFullscreenChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_fullscreenchange_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?(registerFullscreenChangeEventCallback(e,r,t,n,19,"webkitfullscreenchange",a),registerFullscreenChangeEventCallback(e,r,t,n,19,"fullscreenchange",a)):-4):-1}_emscripten_set_fullscreenchange_callback_on_thread.sig="ippipp";function _emscripten_get_fullscreen_status(e){return e>>>=0,JSEvents.fullscreenEnabled()?(fillFullscreenChangeEventData(e),0):-1}_emscripten_get_fullscreen_status.sig="ip";function _emscripten_get_canvas_element_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=findCanvasEventTarget(e);if(!n)return-4;HEAP32[r>>>2>>>0]=n.width,HEAP32[t>>>2>>>0]=n.height}_emscripten_get_canvas_element_size.sig="ippp";var getCanvasElementSize=e=>{var r=stackSave(),t=stackAlloc(8),n=t+4,a=stringToUTF8OnStack(e.id),o=_emscripten_get_canvas_element_size(a,t,n),_=[HEAP32[t>>>2>>>0],HEAP32[n>>>2>>>0]];return stackRestore(r),_};function _emscripten_set_canvas_element_size(e,r,t){e>>>=0;var n=findCanvasEventTarget(e);return n?(n.width=r,n.height=t,0):-4}_emscripten_set_canvas_element_size.sig="ipii";var setCanvasElementSize=(e,r,t)=>{if(!e.controlTransferredOffscreen)e.width=r,e.height=t;else{var n=stackSave(),a=stringToUTF8OnStack(e.id);_emscripten_set_canvas_element_size(a,r,t),stackRestore(n)}},registerRestoreOldStyle=e=>{var r=getCanvasElementSize(e),t=r[0],n=r[1],a=e.style.width,o=e.style.height,_=e.style.backgroundColor,l=document.body.style.backgroundColor,c=e.style.paddingLeft,u=e.style.paddingRight,d=e.style.paddingTop,f=e.style.paddingBottom,p=e.style.marginLeft,m=e.style.marginRight,v=e.style.marginTop,g=e.style.marginBottom,S=document.body.style.margin,h=document.documentElement.style.overflow,b=document.body.scroll,A=e.style.imageRendering;function w(){var L=document.fullscreenElement||document.webkitFullscreenElement;L||(document.removeEventListener("fullscreenchange",w),document.removeEventListener("webkitfullscreenchange",w),setCanvasElementSize(e,t,n),e.style.width=a,e.style.height=o,e.style.backgroundColor=_,l||(document.body.style.backgroundColor="white"),document.body.style.backgroundColor=l,e.style.paddingLeft=c,e.style.paddingRight=u,e.style.paddingTop=d,e.style.paddingBottom=f,e.style.marginLeft=p,e.style.marginRight=m,e.style.marginTop=v,e.style.marginBottom=g,document.body.style.margin=S,document.documentElement.style.overflow=h,document.body.scroll=b,e.style.imageRendering=A,e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,t,n),currentFullscreenStrategy.canvasResizedCallback&&getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData))}return document.addEventListener("fullscreenchange",w),document.addEventListener("webkitfullscreenchange",w),w},setLetterbox=(e,r,t)=>{e.style.paddingLeft=e.style.paddingRight=t+"px",e.style.paddingTop=e.style.paddingBottom=r+"px"},JSEvents_resizeCanvasForFullscreen=(e,r)=>{var S,h;var t=registerRestoreOldStyle(e),n=r.softFullscreen?innerWidth:screen.width,a=r.softFullscreen?innerHeight:screen.height,o=getBoundingClientRect(e),_=o.width,l=o.height,c=getCanvasElementSize(e),u=c[0],d=c[1];if(r.scaleMode==3)setLetterbox(e,(a-l)/2,(n-_)/2),n=_,a=l;else if(r.scaleMode==2)if(n*d<u*a){var f=d*n/u;setLetterbox(e,(a-f)/2,0),a=f}else{var p=u*a/d;setLetterbox(e,0,(n-p)/2),n=p}(S=e.style).backgroundColor||(S.backgroundColor="black"),(h=document.body.style).backgroundColor||(h.backgroundColor="black"),e.style.width=n+"px",e.style.height=a+"px",r.filteringMode==1&&(e.style.imageRendering="optimizeSpeed",e.style.imageRendering="-moz-crisp-edges",e.style.imageRendering="-o-crisp-edges",e.style.imageRendering="-webkit-optimize-contrast",e.style.imageRendering="optimize-contrast",e.style.imageRendering="crisp-edges",e.style.imageRendering="pixelated");var m=r.canvasResolutionScaleMode==2?devicePixelRatio:1;if(r.canvasResolutionScaleMode!=0){var v=n*m|0,g=a*m|0;setCanvasElementSize(e,v,g),e.GLctxObject&&e.GLctxObject.GLctx.viewport(0,0,v,g)}return t},JSEvents_requestFullscreen=(e,r)=>{if((r.scaleMode!=0||r.canvasResolutionScaleMode!=0)&&JSEvents_resizeCanvasForFullscreen(e,r),e.requestFullscreen)e.requestFullscreen();else if(e.webkitRequestFullscreen)e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);else return JSEvents.fullscreenEnabled()?-3:-1;return currentFullscreenStrategy=r,r.canvasResizedCallback&&getWasmTableEntry(r.canvasResizedCallback)(37,0,r.canvasResizedCallbackUserData),0},hideEverythingExceptGivenElement=e=>{for(var r=e,t=r.parentNode,n=[];r!=document.body;){for(var a=t.children,o=0;o<a.length;++o)a[o]!=r&&(n.push({node:a[o],displayState:a[o].style.display}),a[o].style.display="none");r=t,t=t.parentNode}return n},restoreHiddenElements=e=>{for(var r of e)r.node.style.display=r.displayState},currentFullscreenStrategy={},restoreOldWindowedStyle=null,softFullscreenResizeWebGLRenderTarget=()=>{var e=devicePixelRatio,r=currentFullscreenStrategy.canvasResolutionScaleMode==2,t=currentFullscreenStrategy.scaleMode==2,n=currentFullscreenStrategy.canvasResolutionScaleMode!=0,a=currentFullscreenStrategy.scaleMode==3,o=r?Math.round(innerWidth*e):innerWidth,_=r?Math.round(innerHeight*e):innerHeight,l=o,c=_,u=currentFullscreenStrategy.target,d=getCanvasElementSize(u),f=d[0],p=d[1],m;if(t&&(l*p<f*c?c=l*p/f|0:l*p>f*c&&(l=c*f/p|0),m=(_-c)/2|0),n&&(setCanvasElementSize(u,l,c),u.GLctxObject&&u.GLctxObject.GLctx.viewport(0,0,l,c)),r&&(m/=e,l/=e,c/=e,l=Math.round(l*1e4)/1e4,c=Math.round(c*1e4)/1e4,m=Math.round(m*1e4)/1e4),a){var v=(innerHeight-jstoi_q(u.style.height))/2,g=(innerWidth-jstoi_q(u.style.width))/2;setLetterbox(u,v,g)}else{u.style.width=l+"px",u.style.height=c+"px";var g=(innerWidth-l)/2;setLetterbox(u,m,g)}!a&¤tFullscreenStrategy.canvasResizedCallback&&getWasmTableEntry(currentFullscreenStrategy.canvasResizedCallback)(37,0,currentFullscreenStrategy.canvasResizedCallbackUserData)},doRequestFullscreen=(e,r)=>JSEvents.fullscreenEnabled()?(e=findEventTarget(e),e?!e.requestFullscreen&&!e.webkitRequestFullscreen?-3:JSEvents.canPerformEventHandlerRequests()?JSEvents_requestFullscreen(e,r):r.deferUntilInEventHandler?(JSEvents.deferCall(JSEvents_requestFullscreen,1,[e,r]),1):-2:-4):-1;function _emscripten_request_fullscreen(e,r){e>>>=0;var t={scaleMode:0,canvasResolutionScaleMode:0,filteringMode:0,deferUntilInEventHandler:r,canvasResizedCallbackTargetThread:2};return doRequestFullscreen(e,t)}_emscripten_request_fullscreen.sig="ipi";function _emscripten_request_fullscreen_strategy(e,r,t){e>>>=0,t>>>=0;var n={scaleMode:HEAP32[t>>>2>>>0],canvasResolutionScaleMode:HEAP32[t+4>>>2>>>0],filteringMode:HEAP32[t+8>>>2>>>0],deferUntilInEventHandler:r,canvasResizedCallback:HEAP32[t+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[t+16>>>2>>>0]};return doRequestFullscreen(e,n)}_emscripten_request_fullscreen_strategy.sig="ipip";function _emscripten_enter_soft_fullscreen(e,r){if(e>>>=0,r>>>=0,e=findEventTarget(e),!e)return-4;var t={scaleMode:HEAP32[r>>>2>>>0],canvasResolutionScaleMode:HEAP32[r+4>>>2>>>0],filteringMode:HEAP32[r+8>>>2>>>0],canvasResizedCallback:HEAP32[r+12>>>2>>>0],canvasResizedCallbackUserData:HEAP32[r+16>>>2>>>0],target:e,softFullscreen:!0},n=JSEvents_resizeCanvasForFullscreen(e,t);document.documentElement.style.overflow="hidden",document.body.scroll="no",document.body.style.margin="0px";var a=hideEverythingExceptGivenElement(e);function o(){n(),restoreHiddenElements(a),removeEventListener("resize",softFullscreenResizeWebGLRenderTarget),t.canvasResizedCallback&&getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData),currentFullscreenStrategy=0}return restoreOldWindowedStyle=o,currentFullscreenStrategy=t,addEventListener("resize",softFullscreenResizeWebGLRenderTarget),t.canvasResizedCallback&&getWasmTableEntry(t.canvasResizedCallback)(37,0,t.canvasResizedCallbackUserData),0}_emscripten_enter_soft_fullscreen.sig="ipp";var _emscripten_exit_soft_fullscreen=()=>(restoreOldWindowedStyle==null||restoreOldWindowedStyle(),restoreOldWindowedStyle=null,0);_emscripten_exit_soft_fullscreen.sig="i";var _emscripten_exit_fullscreen=()=>{if(!JSEvents.fullscreenEnabled())return-1;JSEvents.removeDeferredCalls(JSEvents_requestFullscreen);var e=specialHTMLTargets[1];if(e.exitFullscreen)e.fullscreenElement&&e.exitFullscreen();else if(e.webkitExitFullscreen)e.webkitFullscreenElement&&e.webkitExitFullscreen();else return-1;return 0};_emscripten_exit_fullscreen.sig="i";var fillPointerlockChangeEventData=e=>{var r=document.pointerLockElement||document.mozPointerLockElement||document.webkitPointerLockElement||document.msPointerLockElement,t=!!r;HEAP8[e>>>0]=t;var n=JSEvents.getNodeNameForTarget(r),a=(r==null?void 0:r.id)||"";stringToUTF8(n,e+1,128),stringToUTF8(a,e+129,128)},registerPointerlockChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.pointerlockChangeEvent||(JSEvents.pointerlockChangeEvent=_malloc(257));var l=(u=event)=>{var d=JSEvents.pointerlockChangeEvent;fillPointerlockChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_pointerlockchange_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,!document||!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockChangeEventCallback(e,r,t,n,20,"mozpointerlockchange",a),registerPointerlockChangeEventCallback(e,r,t,n,20,"webkitpointerlockchange",a),registerPointerlockChangeEventCallback(e,r,t,n,20,"mspointerlockchange",a),registerPointerlockChangeEventCallback(e,r,t,n,20,"pointerlockchange",a)):-4)}_emscripten_set_pointerlockchange_callback_on_thread.sig="ippipp";var registerPointerlockErrorEventCallback=(e,r,t,n,a,o,_)=>{var l=(u=event)=>{getWasmTableEntry(n)(a,0,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_pointerlockerror_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,!document||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:(e=findEventTarget(e),e?(registerPointerlockErrorEventCallback(e,r,t,n,38,"mozpointerlockerror",a),registerPointerlockErrorEventCallback(e,r,t,n,38,"webkitpointerlockerror",a),registerPointerlockErrorEventCallback(e,r,t,n,38,"mspointerlockerror",a),registerPointerlockErrorEventCallback(e,r,t,n,38,"pointerlockerror",a)):-4)}_emscripten_set_pointerlockerror_callback_on_thread.sig="ippipp";function _emscripten_get_pointerlock_status(e){return e>>>=0,e&&fillPointerlockChangeEventData(e),!document.body||!document.body.requestPointerLock&&!document.body.mozRequestPointerLock&&!document.body.webkitRequestPointerLock&&!document.body.msRequestPointerLock?-1:0}_emscripten_get_pointerlock_status.sig="ip";var requestPointerLock=e=>{if(e.requestPointerLock)e.requestPointerLock();else return document.body.requestPointerLock?-3:-1;return 0};function _emscripten_request_pointerlock(e,r){return e>>>=0,e=findEventTarget(e),e?e.requestPointerLock?JSEvents.canPerformEventHandlerRequests()?requestPointerLock(e):r?(JSEvents.deferCall(requestPointerLock,2,[e]),1):-2:-1:-4}_emscripten_request_pointerlock.sig="ipi";var _emscripten_exit_pointerlock=()=>{if(JSEvents.removeDeferredCalls(requestPointerLock),document.exitPointerLock)document.exitPointerLock();else return-1;return 0};_emscripten_exit_pointerlock.sig="i";var _emscripten_vibrate=e=>navigator.vibrate?(navigator.vibrate(e),0):-1;_emscripten_vibrate.sig="ii";function _emscripten_vibrate_pattern(e,r){if(e>>>=0,!navigator.vibrate)return-1;for(var t=[],n=0;n<r;++n){var a=HEAP32[e+n*4>>>2>>>0];t.push(a)}return navigator.vibrate(t),0}_emscripten_vibrate_pattern.sig="ipi";var fillVisibilityChangeEventData=e=>{var r=["hidden","visible","prerender","unloaded"],t=r.indexOf(document.visibilityState);HEAP8[e>>>0]=document.hidden,HEAP32[e+4>>>2>>>0]=t},registerVisibilityChangeEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.visibilityChangeEvent||(JSEvents.visibilityChangeEvent=_malloc(8));var l=(u=event)=>{var d=JSEvents.visibilityChangeEvent;fillVisibilityChangeEventData(d),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:e,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_visibilitychange_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,specialHTMLTargets[1]?registerVisibilityChangeEventCallback(specialHTMLTargets[1],e,r,t,21,"visibilitychange",n):-4}_emscripten_set_visibilitychange_callback_on_thread.sig="ipipp";function _emscripten_get_visibility_status(e){return e>>>=0,typeof document.visibilityState>"u"&&typeof document.hidden>"u"?-1:(fillVisibilityChangeEventData(e),0)}_emscripten_get_visibility_status.sig="ip";var registerTouchEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.touchEvent||(JSEvents.touchEvent=_malloc(1552)),e=findEventTarget(e);var l=u=>{var d,f={},p=u.touches;for(let b of p)b.isChanged=b.onTarget=0,f[b.identifier]=b;for(let b of u.changedTouches)b.isChanged=1,f[b.identifier]=b;for(let b of u.targetTouches)f[b.identifier].onTarget=1;var m=JSEvents.touchEvent;HEAPF64[m>>>3>>>0]=u.timeStamp,HEAP8[m+12>>>0]=u.ctrlKey,HEAP8[m+13>>>0]=u.shiftKey,HEAP8[m+14>>>0]=u.altKey,HEAP8[m+15>>>0]=u.metaKey;var v=m+16,g=getBoundingClientRect(e),S=0;for(let b of Object.values(f)){var h=v>>>2;if(HEAP32[h+0>>>0]=b.identifier,HEAP32[h+1>>>0]=b.screenX,HEAP32[h+2>>>0]=b.screenY,HEAP32[h+3>>>0]=b.clientX,HEAP32[h+4>>>0]=b.clientY,HEAP32[h+5>>>0]=b.pageX,HEAP32[h+6>>>0]=b.pageY,HEAP8[v+28>>>0]=b.isChanged,HEAP8[v+29>>>0]=b.onTarget,HEAP32[h+8>>>0]=b.clientX-(g.left|0),HEAP32[h+9>>>0]=b.clientY-(g.top|0),v+=48,++S>31)break}HEAP32[m+8>>>2>>>0]=S,getWasmTableEntry(n)(a,m,r)&&u.preventDefault()},c={target:e,allowsDeferredCalls:o=="touchstart"||o=="touchend",eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_touchstart_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,22,"touchstart",a)}_emscripten_set_touchstart_callback_on_thread.sig="ippipp";function _emscripten_set_touchend_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,23,"touchend",a)}_emscripten_set_touchend_callback_on_thread.sig="ippipp";function _emscripten_set_touchmove_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,24,"touchmove",a)}_emscripten_set_touchmove_callback_on_thread.sig="ippipp";function _emscripten_set_touchcancel_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerTouchEventCallback(e,r,t,n,25,"touchcancel",a)}_emscripten_set_touchcancel_callback_on_thread.sig="ippipp";var fillGamepadEventData=(e,r)=>{HEAPF64[e>>>3>>>0]=r.timestamp;for(var t=0;t<r.axes.length;++t)HEAPF64[e+t*8+16>>>3>>>0]=r.axes[t];for(var t=0;t<r.buttons.length;++t)typeof r.buttons[t]=="object"?HEAPF64[e+t*8+528>>>3>>>0]=r.buttons[t].value:HEAPF64[e+t*8+528>>>3>>>0]=r.buttons[t];for(var t=0;t<r.buttons.length;++t)typeof r.buttons[t]=="object"?HEAP8[e+t+1040>>>0]=r.buttons[t].pressed:HEAP8[e+t+1040>>>0]=r.buttons[t]==1;HEAP8[e+1104>>>0]=r.connected,HEAP32[e+1108>>>2>>>0]=r.index,HEAP32[e+8>>>2>>>0]=r.axes.length,HEAP32[e+12>>>2>>>0]=r.buttons.length,stringToUTF8(r.id,e+1112,64),stringToUTF8(r.mapping,e+1176,64)},registerGamepadEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.gamepadEvent||(JSEvents.gamepadEvent=_malloc(1240));var l=(u=event)=>{var d=JSEvents.gamepadEvent;fillGamepadEventData(d,u.gamepad),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:findEventTarget(e),allowsDeferredCalls:!0,eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)},_emscripten_sample_gamepad_data=()=>{try{if(navigator.getGamepads)return(JSEvents.lastGamepadState=navigator.getGamepads())?0:-1}catch(e){navigator.getGamepads=null}return-1};_emscripten_sample_gamepad_data.sig="i";function _emscripten_set_gamepadconnected_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,r,t,26,"gamepadconnected",n)}_emscripten_set_gamepadconnected_callback_on_thread.sig="ipipp";function _emscripten_set_gamepaddisconnected_callback_on_thread(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,_emscripten_sample_gamepad_data()?-1:registerGamepadEventCallback(2,e,r,t,27,"gamepaddisconnected",n)}_emscripten_set_gamepaddisconnected_callback_on_thread.sig="ipipp";var _emscripten_get_num_gamepads=()=>JSEvents.lastGamepadState.length;_emscripten_get_num_gamepads.sig="i";function _emscripten_get_gamepad_status(e,r){return r>>>=0,e<0||e>=JSEvents.lastGamepadState.length?-5:JSEvents.lastGamepadState[e]?(fillGamepadEventData(r,JSEvents.lastGamepadState[e]),0):-7}_emscripten_get_gamepad_status.sig="iip";var registerBeforeUnloadEventCallback=(e,r,t,n,a,o)=>{var _=(c=event)=>{var u=getWasmTableEntry(n)(a,0,r);if(u&&(u=UTF8ToString(u)),u)return c.preventDefault(),c.returnValue=u,u},l={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:_,useCapture:t};return JSEvents.registerOrRemoveHandler(l)};function _emscripten_set_beforeunload_callback_on_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,typeof onbeforeunload>"u"?-1:t!==1?-5:registerBeforeUnloadEventCallback(2,e,!0,r,28,"beforeunload")}_emscripten_set_beforeunload_callback_on_thread.sig="ippp";var fillBatteryEventData=(e,r)=>{HEAPF64[e>>>3>>>0]=r.chargingTime,HEAPF64[e+8>>>3>>>0]=r.dischargingTime,HEAPF64[e+16>>>3>>>0]=r.level,HEAP8[e+24>>>0]=r.charging},battery=()=>navigator.battery||navigator.mozBattery||navigator.webkitBattery,registerBatteryEventCallback=(e,r,t,n,a,o,_)=>{JSEvents.batteryEvent||(JSEvents.batteryEvent=_malloc(32));var l=(u=event)=>{var d=JSEvents.batteryEvent;fillBatteryEventData(d,battery()),getWasmTableEntry(n)(a,d,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};return JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_batterychargingchange_callback_on_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,battery()?registerBatteryEventCallback(battery(),e,!0,r,29,"chargingchange",t):-1}_emscripten_set_batterychargingchange_callback_on_thread.sig="ippp";function _emscripten_set_batterylevelchange_callback_on_thread(e,r,t){return e>>>=0,r>>>=0,t>>>=0,battery()?registerBatteryEventCallback(battery(),e,!0,r,30,"levelchange",t):-1}_emscripten_set_batterylevelchange_callback_on_thread.sig="ippp";function _emscripten_get_battery_status(e){return e>>>=0,battery()?(fillBatteryEventData(e,battery()),0):-1}_emscripten_get_battery_status.sig="ip";function _emscripten_set_element_css_size(e,r,t){return e>>>=0,e=findEventTarget(e),e?(e.style.width=r+"px",e.style.height=t+"px",0):-4}_emscripten_set_element_css_size.sig="ipdd";function _emscripten_get_element_css_size(e,r,t){if(e>>>=0,r>>>=0,t>>>=0,e=findEventTarget(e),!e)return-4;var n=getBoundingClientRect(e);return HEAPF64[r>>>3>>>0]=n.width,HEAPF64[t>>>3>>>0]=n.height,0}_emscripten_get_element_css_size.sig="ippp";var _emscripten_html5_remove_all_event_listeners=()=>JSEvents.removeAllEventListeners();_emscripten_html5_remove_all_event_listeners.sig="v";var _emscripten_request_animation_frame=function(e,r){return e>>>=0,r>>>=0,requestAnimationFrame(t=>getWasmTableEntry(e)(t,r))};_emscripten_request_animation_frame.sig="ipp";var _emscripten_cancel_animation_frame=e=>cancelAnimationFrame(e);_emscripten_cancel_animation_frame.sig="vi";function _emscripten_request_animation_frame_loop(e,r){e>>>=0,r>>>=0;function t(n){getWasmTableEntry(e)(n,r)&&requestAnimationFrame(t)}return requestAnimationFrame(t)}_emscripten_request_animation_frame_loop.sig="vpp";var _emscripten_performance_now=()=>performance.now();_emscripten_performance_now.sig="d";var _emscripten_get_device_pixel_ratio=()=>typeof devicePixelRatio=="number"&&devicePixelRatio||1;_emscripten_get_device_pixel_ratio.sig="d";function _emscripten_get_callstack(e,r,t){r>>>=0;var n=getCallstack(e);if(!r||t<=0)return lengthBytesUTF8(n)+1;var a=stringToUTF8(n,r,t);return a+1}_emscripten_get_callstack.sig="iipi";var convertFrameToPC=e=>(abort("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0);function _emscripten_return_address(e){var r=jsStackTrace().split("\n");r[0]=="Error"&&r.shift();var t=r[e+3];return convertFrameToPC(t)}_emscripten_return_address.sig="pi";var UNWIND_CACHE={},saveInUnwindCache=e=>{e.forEach(r=>{var t=convertFrameToPC(r);t&&(UNWIND_CACHE[t]=r)})};function _emscripten_stack_snapshot(){var e=jsStackTrace().split("\n");return e[0]=="Error"&&e.shift(),saveInUnwindCache(e),UNWIND_CACHE.last_addr=convertFrameToPC(e[3]),UNWIND_CACHE.last_stack=e,UNWIND_CACHE.last_addr}_emscripten_stack_snapshot.sig="p";function _emscripten_stack_unwind_buffer(e,r,t){e>>>=0,r>>>=0;var n;UNWIND_CACHE.last_addr==e?n=UNWIND_CACHE.last_stack:(n=jsStackTrace().split("\n"),n[0]=="Error"&&n.shift(),saveInUnwindCache(n));for(var a=3;n[a]&&convertFrameToPC(n[a])!=e;)++a;for(var o=0;o<t&&n[o+a];++o)HEAP32[r+o*4>>>2>>>0]=convertFrameToPC(n[o+a]);return o}_emscripten_stack_unwind_buffer.sig="ippi";function _emscripten_pc_get_function(e){return e>>>=0,abort("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0}_emscripten_pc_get_function.sig="pp";var convertPCtoSourceLocation=e=>{if(UNWIND_CACHE.last_get_source_pc==e)return UNWIND_CACHE.last_source;var r,t;if(!t){var n=UNWIND_CACHE[e];if(!n)return null;(r=/\((.*):(\d+):(\d+)\)$/.exec(n))?t={file:r[1],line:r[2],column:r[3]}:(r=/@(.*):(\d+):(\d+)/.exec(n))&&(t={file:r[1],line:r[2],column:r[3]})}return UNWIND_CACHE.last_get_source_pc=e,UNWIND_CACHE.last_source=t,t};function _emscripten_pc_get_file(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r?(_emscripten_pc_get_file.ret&&_free(_emscripten_pc_get_file.ret),_emscripten_pc_get_file.ret=stringToNewUTF8(r.file),_emscripten_pc_get_file.ret):0}_emscripten_pc_get_file.sig="pp";function _emscripten_pc_get_line(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r?r.line:0}_emscripten_pc_get_line.sig="ip";function _emscripten_pc_get_column(e){e>>>=0;var r=convertPCtoSourceLocation(e);return r&&r.column||0}_emscripten_pc_get_column.sig="ip";var _sched_yield=()=>0;Module._sched_yield=_sched_yield,_sched_yield.sig="i";var checkWasiClock=e=>e==0||e==1||e==2||e==3;function _clock_time_get(e,r,t,n){var a=convertI32PairToI53Checked(r,t);if(n>>>=0,!checkWasiClock(e))return 28;var o;if(e===0)o=Date.now();else if(nowIsMonotonic)o=_emscripten_get_now();else return 52;var _=Math.round(o*1e3*1e3);return HEAP32[n>>>2>>>0]=_>>>0,HEAP32[n+4>>>2>>>0]=_/Math.pow(2,32)>>>0,0}_clock_time_get.sig="iiiip";function _clock_res_get(e,r){if(r>>>=0,!checkWasiClock(e))return 28;var t;if(e===0)t=1e6;else if(nowIsMonotonic)t=_emscripten_get_now_res();else return 52;return HEAP32[r>>>2>>>0]=t>>>0,HEAP32[r+4>>>2>>>0]=t/Math.pow(2,32)>>>0,0}_clock_res_get.sig="iip";var wasiRightsToMuslOFlags=e=>{if(e&2&&e&64)return 2;if(e&2)return 0;if(e&64)return 1;throw new FS.ErrnoError(28)},wasiOFlagsToMuslOFlags=e=>{var r=0;return e&1&&(r|=64),e&8&&(r|=512),e&2&&(r|=65536),e&4&&(r|=128),r},_emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};_emscripten_unwind_to_js_event_loop.sig="v";var safeSetTimeout=(e,r)=>setTimeout(()=>{callUserCallback(e)},r),setImmediateWrapped=e=>{setImmediateWrapped.mapping||(setImmediateWrapped.mapping=[]);var r=setImmediateWrapped.mapping.length;return setImmediateWrapped.mapping[r]=setImmediate(()=>{setImmediateWrapped.mapping[r]=void 0,e()}),r},clearImmediateWrapped=e=>{clearImmediate(setImmediateWrapped.mapping[e]),setImmediateWrapped.mapping[e]=void 0},polyfillSetImmediate=()=>{},_emscripten_set_immediate=function(e,r){return e>>>=0,r>>>=0,emSetImmediate(()=>{callUserCallback(()=>getWasmTableEntry(e)(r))})};_emscripten_set_immediate.sig="ipp";var _emscripten_clear_immediate=e=>{emClearImmediate(e)};_emscripten_clear_immediate.sig="vi";var _emscripten_set_immediate_loop=function(e,r){e>>>=0,r>>>=0;function t(){callUserCallback(()=>{getWasmTableEntry(e)(r)&&emSetImmediate(t)})}emSetImmediate(t)};_emscripten_set_immediate_loop.sig="vpp";var _emscripten_set_timeout=function(e,r,t){return e>>>=0,t>>>=0,safeSetTimeout(()=>getWasmTableEntry(e)(t),r)};_emscripten_set_timeout.sig="ipdp";var _emscripten_clear_timeout=clearTimeout;_emscripten_clear_timeout.sig="vi";var _emscripten_set_timeout_loop=function(e,r,t){e>>>=0,t>>>=0;function n(){var a=_emscripten_get_now(),o=a+r;callUserCallback(()=>{getWasmTableEntry(e)(a,t)&&setTimeout(n,o-_emscripten_get_now())})}return setTimeout(n,0)};_emscripten_set_timeout_loop.sig="vpdp";var _emscripten_set_interval=function(e,r,t){return e>>>=0,t>>>=0,setInterval(()=>{callUserCallback(()=>getWasmTableEntry(e)(t))},r)};_emscripten_set_interval.sig="ipdp";var _emscripten_clear_interval=e=>{clearInterval(e)};_emscripten_clear_interval.sig="vi";var registerPostMainLoop=e=>{typeof MainLoop<"u"&&MainLoop.postMainLoop.push(e)},registerPreMainLoop=e=>{typeof MainLoop<"u"&&MainLoop.preMainLoop.push(e)};function _emscripten_get_main_loop_timing(e,r){e>>>=0,r>>>=0,e&&(HEAP32[e>>>2>>>0]=MainLoop.timingMode),r&&(HEAP32[r>>>2>>>0]=MainLoop.timingValue)}_emscripten_get_main_loop_timing.sig="vpp";function _emscripten_set_main_loop(e,r,t){e>>>=0;var n=getWasmTableEntry(e);setMainLoop(n,r,t)}_emscripten_set_main_loop.sig="vpii";var _emscripten_set_main_loop_arg=function(e,r,t,n){e>>>=0,r>>>=0;var a=()=>getWasmTableEntry(e)(r);setMainLoop(a,t,n,r)};_emscripten_set_main_loop_arg.sig="vppii";var _emscripten_cancel_main_loop=()=>{MainLoop.pause(),MainLoop.func=null};_emscripten_cancel_main_loop.sig="v";var _emscripten_pause_main_loop=()=>{MainLoop.pause()};_emscripten_pause_main_loop.sig="v";var _emscripten_resume_main_loop=()=>{MainLoop.resume()};_emscripten_resume_main_loop.sig="v";var __emscripten_push_main_loop_blocker=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,MainLoop.queue.push({func:()=>{getWasmTableEntry(e)(r)},name:UTF8ToString(t),counted:!0}),MainLoop.updateStatus()};__emscripten_push_main_loop_blocker.sig="vppp";var __emscripten_push_uncounted_main_loop_blocker=function(e,r,t){e>>>=0,r>>>=0,t>>>=0,MainLoop.queue.push({func:()=>{getWasmTableEntry(e)(r)},name:UTF8ToString(t),counted:!1}),MainLoop.updateStatus()};__emscripten_push_uncounted_main_loop_blocker.sig="vppp";var _emscripten_set_main_loop_expected_blockers=e=>{MainLoop.expectedBlockers=e,MainLoop.remainingBlockers=e,MainLoop.updateStatus()};_emscripten_set_main_loop_expected_blockers.sig="vi";var idsToPromises=(e,r)=>{for(var t=[],n=0;n<r;n++){var a=HEAP32[e+n*4>>>2>>>0];t[n]=getPromise(a)}return t},makePromiseCallback=(e,r)=>t=>{var n=stackSave(),a=stackAlloc(POINTER_SIZE);HEAPU32[a>>>2>>>0]=0;try{var o=getWasmTableEntry(e)(a,r,t),_=HEAPU32[a>>>2>>>0]}catch(c){throw typeof c!="number"?0:c}finally{stackRestore(n)}switch(o){case 0:return _;case 1:return getPromise(_);case 2:var l=getPromise(_);return _emscripten_promise_destroy(_),l;case 3:throw _}};function _emscripten_promise_then(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=getPromise(e),o=promiseMap.allocate({promise:a.then(makePromiseCallback(r,n),makePromiseCallback(t,n))});return o}_emscripten_promise_then.sig="ppppp";var _emscripten_promise_all=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.all(n).then(o=>{if(r)for(var _=0;_<t;_++){var l=o[_];HEAPU32[r+_*4>>>2>>>0]=l}return r})});return a};_emscripten_promise_all.sig="pppp";var setPromiseResult=(e,r,t)=>{var n=r?0:3;HEAP32[e>>>2>>>0]=n,HEAPU32[e+4>>>2>>>0]=t},_emscripten_promise_all_settled=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.allSettled(n).then(o=>{if(r)for(var _=r,l=0;l<t;l++,_+=8)o[l].status==="fulfilled"?setPromiseResult(_,!0,o[l].value):setPromiseResult(_,!1,o[l].reason);return r})});return a};_emscripten_promise_all_settled.sig="pppp";var _emscripten_promise_any=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=idsToPromises(e,t),a=promiseMap.allocate({promise:Promise.any(n).catch(o=>{if(r)for(var _=0;_<t;_++)HEAPU32[r+_*4>>>2>>>0]=o.errors[_];throw r})});return a};_emscripten_promise_any.sig="pppp";function _emscripten_promise_race(e,r){e>>>=0,r>>>=0;var t=idsToPromises(e,r),n=promiseMap.allocate({promise:Promise.race(t)});return n}_emscripten_promise_race.sig="ppp";function _emscripten_promise_await(e,r){e>>>=0,r>>>=0,abort("emscripten_promise_await is only available with ASYNCIFY")}_emscripten_promise_await.sig="vpp";var getExceptionMessageCommon=e=>{var r=stackSave(),t=stackAlloc(4),n=stackAlloc(4);___get_exception_message(e,t,n);var a=HEAPU32[t>>>2>>>0],o=HEAPU32[n>>>2>>>0],_=UTF8ToString(a);_free(a);var l;return o&&(l=UTF8ToString(o),_free(o)),stackRestore(r),[_,l]},getCppExceptionTag=()=>___cpp_exception,getCppExceptionThrownObjectFromWebAssemblyException=e=>{var r=e.getArg(getCppExceptionTag(),0);return ___thrown_object_from_unwind_exception(r)},incrementExceptionRefcount=e=>{var r=getCppExceptionThrownObjectFromWebAssemblyException(e);___cxa_increment_exception_refcount(r)},decrementExceptionRefcount=e=>{var r=getCppExceptionThrownObjectFromWebAssemblyException(e);___cxa_decrement_exception_refcount(r)},getExceptionMessage=e=>{var r=getCppExceptionThrownObjectFromWebAssemblyException(e);return getExceptionMessageCommon(r)},Browser={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init(){if(Browser.initted)return;Browser.initted=!0;var e={};e.canHandle=function(o){return!Module.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(o)},e.handle=function(o,_,l,c){var u=new Blob([o],{type:Browser.getMimetype(_)});u.size!==o.length&&(u=new Blob([new Uint8Array(o).buffer],{type:Browser.getMimetype(_)}));var d=URL.createObjectURL(u),f=new Image;f.onload=()=>{var p=document.createElement("canvas");p.width=f.width,p.height=f.height;var m=p.getContext("2d");m.drawImage(f,0,0),preloadedImages[_]=p,URL.revokeObjectURL(d),l==null||l(o)},f.onerror=p=>{err("Image ".concat(d," could not be decoded")),c==null||c()},f.src=d},preloadPlugins.push(e);var r={};r.canHandle=function(o){return!Module.noAudioDecoding&&o.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},r.handle=function(o,_,l,c){var u=!1;function d(g){u||(u=!0,preloadedAudios[_]=g,l==null||l(o))}function f(){u||(u=!0,preloadedAudios[_]=new Audio,c==null||c())}var p=new Blob([o],{type:Browser.getMimetype(_)}),m=URL.createObjectURL(p),v=new Audio;v.addEventListener("canplaythrough",()=>d(v),!1),v.onerror=function(S){if(u)return;err("warning: browser could not fully decode audio ".concat(_,", trying slower base64 approach"));function h(b){for(var A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",w="=",L="",F=0,y=0,D=0;D<b.length;D++)for(F=F<<8|b[D],y+=8;y>=6;){var P=F>>y-6&63;y-=6,L+=A[P]}return y==2?(L+=A[(F&3)<<4],L+=w+w):y==4&&(L+=A[(F&15)<<2],L+=w),L}v.src="data:audio/x-"+_.substr(-3)+";base64,"+h(o),d(v)},v.src=m,safeSetTimeout(()=>{d(v)},1e4)},preloadPlugins.push(r);function t(){Browser.pointerLock=document.pointerLockElement===Module.canvas||document.mozPointerLockElement===Module.canvas||document.webkitPointerLockElement===Module.canvas||document.msPointerLockElement===Module.canvas}var n=Module.canvas;n&&(n.requestPointerLock=n.requestPointerLock||n.mozRequestPointerLock||n.webkitRequestPointerLock||n.msRequestPointerLock||(()=>{}),n.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),n.exitPointerLock=n.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",t,!1),document.addEventListener("mozpointerlockchange",t,!1),document.addEventListener("webkitpointerlockchange",t,!1),document.addEventListener("mspointerlockchange",t,!1),Module.elementPointerLock&&n.addEventListener("click",a=>{!Browser.pointerLock&&Module.canvas.requestPointerLock&&(Module.canvas.requestPointerLock(),a.preventDefault())},!1))},createContext(e,r,t,n){if(r&&Module.ctx&&e==Module.canvas)return Module.ctx;var a,o;if(r){var _={antialias:!1,alpha:!1,majorVersion:1};if(n)for(var l in n)_[l]=n[l];typeof GL<"u"&&(o=GL.createContext(e,_),o&&(a=GL.getContext(o).GLctx))}else a=e.getContext("2d");return a?(t&&(Module.ctx=a,r&&GL.makeContextCurrent(o),Browser.useWebGL=r,Browser.moduleContextCreatedCallbacks.forEach(c=>c()),Browser.init()),a):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,r){Browser.lockPointer=e,Browser.resizeCanvas=r,typeof Browser.lockPointer>"u"&&(Browser.lockPointer=!0),typeof Browser.resizeCanvas>"u"&&(Browser.resizeCanvas=!1);var t=Module.canvas;function n(){var _,l;Browser.isFullscreen=!1;var o=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===o?(t.exitFullscreen=Browser.exitFullscreen,Browser.lockPointer&&t.requestPointerLock(),Browser.isFullscreen=!0,Browser.resizeCanvas?Browser.setFullscreenCanvasSize():Browser.updateCanvasDimensions(t)):(o.parentNode.insertBefore(t,o),o.parentNode.removeChild(o),Browser.resizeCanvas?Browser.setWindowedCanvasSize():Browser.updateCanvasDimensions(t)),(_=Module.onFullScreen)==null||_.call(Module,Browser.isFullscreen),(l=Module.onFullscreen)==null||l.call(Module,Browser.isFullscreen)}Browser.fullscreenHandlersInstalled||(Browser.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var a=document.createElement("div");t.parentNode.insertBefore(a,t),a.appendChild(t),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?()=>a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(a.webkitRequestFullScreen?()=>a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),a.requestFullscreen()},exitFullscreen(){if(!Browser.isFullscreen)return!1;var e=document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{});return e.apply(document,[]),!0},safeSetTimeout(e,r){return safeSetTimeout(e,r)},getMimetype(e){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]},getUserMedia(e){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(e)},getMovementX(e){return e.movementX||e.mozMovementX||e.webkitMovementX||0},getMovementY(e){return e.movementY||e.mozMovementY||e.webkitMovementY||0},getMouseWheelDelta(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,r){var t=Module.canvas.getBoundingClientRect(),n=Module.canvas.width,a=Module.canvas.height,o=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,_=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset,l=e-(o+t.left),c=r-(_+t.top);return l=l*(n/t.width),c=c*(a/t.height),{x:l,y:c}},setMouseCoords(e,r){let{x:t,y:n}=Browser.calculateMouseCoords(e,r);Browser.mouseMovementX=t-Browser.mouseX,Browser.mouseMovementY=n-Browser.mouseY,Browser.mouseX=t,Browser.mouseY=n},calculateMouseEvent(e){if(Browser.pointerLock)e.type!="mousemove"&&"mozMovementX"in e?Browser.mouseMovementX=Browser.mouseMovementY=0:(Browser.mouseMovementX=Browser.getMovementX(e),Browser.mouseMovementY=Browser.getMovementY(e)),Browser.mouseX+=Browser.mouseMovementX,Browser.mouseY+=Browser.mouseMovementY;else{if(e.type==="touchstart"||e.type==="touchend"||e.type==="touchmove"){var r=e.touch;if(r===void 0)return;var t=Browser.calculateMouseCoords(r.pageX,r.pageY);if(e.type==="touchstart")Browser.lastTouches[r.identifier]=t,Browser.touches[r.identifier]=t;else if(e.type==="touchend"||e.type==="touchmove"){var n=Browser.touches[r.identifier];n||(n=t),Browser.lastTouches[r.identifier]=n,Browser.touches[r.identifier]=t}return}Browser.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=Module.canvas;Browser.resizeListeners.forEach(r=>r(e.width,e.height))},setCanvasSize(e,r,t){var n=Module.canvas;Browser.updateCanvasDimensions(n,e,r),t||Browser.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen>>>2>>>0];e=e|8388608,HEAP32[SDL.screen>>>2>>>0]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},setWindowedCanvasSize(){if(typeof SDL<"u"){var e=HEAPU32[SDL.screen>>>2>>>0];e=e&-8388609,HEAP32[SDL.screen>>>2>>>0]=e}Browser.updateCanvasDimensions(Module.canvas),Browser.updateResizeListeners()},updateCanvasDimensions(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var n=r,a=t;if(Module.forcedAspectRatio&&Module.forcedAspectRatio>0&&(n/a<Module.forcedAspectRatio?n=Math.round(a*Module.forcedAspectRatio):a=Math.round(n/Module.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&typeof screen<"u"){var o=Math.min(screen.width/n,screen.height/a);n=Math.round(n*o),a=Math.round(a*o)}Browser.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=a&&(e.height=a),typeof e.style<"u"&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=r&&(e.width=r),e.height!=t&&(e.height=t),typeof e.style<"u"&&(n!=r||a!=t?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",a+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},_emscripten_run_preload_plugins=function(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=UTF8ToString(e),a=FS.analyzePath(n);return a.exists?(FS.createPreloadedFile(PATH.dirname(n),PATH.basename(n),new Uint8Array(a.object.contents),!0,!0,()=>{r&&getWasmTableEntry(r)(e)},()=>{t&&getWasmTableEntry(t)(e)},!0),0):-1};_emscripten_run_preload_plugins.sig="ippp";var Browser_asyncPrepareDataCounter=0,_emscripten_run_preload_plugins_data=function(e,r,t,n,a,o){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0;var _=UTF8ToString(t),l="prepare_data_"+Browser_asyncPrepareDataCounter+++"."+_,c=stringToNewUTF8(l);FS.createPreloadedFile("/",l,HEAPU8.subarray(e>>>0,e+r>>>0),!0,!0,()=>{a&&getWasmTableEntry(a)(n,c)},()=>{o&&getWasmTableEntry(o)(n)},!0)};_emscripten_run_preload_plugins_data.sig="vpipppp";var _emscripten_async_run_script=function(e,r){e>>>=0,safeSetTimeout(()=>_emscripten_run_script(e),r)};_emscripten_async_run_script.sig="vpi";var _emscripten_async_load_script=function(url,onload,onerror){url>>>=0,onload>>>=0,onerror>>>=0,url=UTF8ToString(url);var loadDone=()=>{if(onload){var e=()=>callUserCallback(getWasmTableEntry(onload));runDependencies>0?dependenciesFulfilled=e:e()}},loadError=()=>{onerror&&callUserCallback(getWasmTableEntry(onerror))};if(ENVIRONMENT_IS_NODE){readAsync(url,!1).then(data=>{eval(data),loadDone()},loadError);return}var script=document.createElement("script");script.onload=loadDone,script.onerror=loadError,script.src=url,document.body.appendChild(script)};_emscripten_async_load_script.sig="vppp";var safeRequestAnimationFrame=e=>MainLoop.requestAnimationFrame(()=>{callUserCallback(e)});function _emscripten_async_call(e,r,t){e>>>=0,r>>>=0;function n(){getWasmTableEntry(e)(r)}t>=0||ENVIRONMENT_IS_NODE?safeSetTimeout(n,t):safeRequestAnimationFrame(n)}_emscripten_async_call.sig="vppi";function _emscripten_get_window_title(){var e=256;return _emscripten_get_window_title.buffer||(_emscripten_get_window_title.buffer=_malloc(e)),stringToUTF8(document.title,_emscripten_get_window_title.buffer,e),_emscripten_get_window_title.buffer}_emscripten_get_window_title.sig="p";function _emscripten_set_window_title(e){return e>>>=0,document.title=UTF8ToString(e)}_emscripten_set_window_title.sig="vp";function _emscripten_get_screen_size(e,r){e>>>=0,r>>>=0,HEAP32[e>>>2>>>0]=screen.width,HEAP32[r>>>2>>>0]=screen.height}_emscripten_get_screen_size.sig="vpp";var _emscripten_hide_mouse=()=>{for(var e=document.styleSheets[0],r=e.cssRules,t=0;t<r.length;t++)r[t].cssText.substr(0,6)=="canvas"&&(e.deleteRule(t),t--);e.insertRule("canvas.emscripten { border: 1px solid black; cursor: none; }",0)};_emscripten_hide_mouse.sig="v";var _emscripten_set_canvas_size=(e,r)=>{Browser.setCanvasSize(e,r)};_emscripten_set_canvas_size.sig="vii";function _emscripten_get_canvas_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=Module.canvas;HEAP32[e>>>2>>>0]=n.width,HEAP32[r>>>2>>>0]=n.height,HEAP32[t>>>2>>>0]=Browser.isFullscreen?1:0}_emscripten_get_canvas_size.sig="vppp";function _emscripten_create_worker(e){e>>>=0,e=UTF8ToString(e);var r=Browser.workers.length,t={worker:new Worker(e),callbacks:[],awaited:0,buffer:0,bufferSize:0};return t.worker.onmessage=function(a){if(!ABORT){var o=Browser.workers[r];if(o){var _=a.data.callbackId,l=o.callbacks[_];if(l){a.data.finalResponse&&(o.awaited--,o.callbacks[_]=null);var c=a.data.data;c?(c.byteLength||(c=new Uint8Array(c)),(!o.buffer||o.bufferSize<c.length)&&(o.buffer&&_free(o.buffer),o.bufferSize=c.length,o.buffer=_malloc(c.length)),HEAPU8.set(c,o.buffer>>>0),l.func(o.buffer,c.length,l.arg)):l.func(0,0,l.arg)}}}},Browser.workers.push(t),r}_emscripten_create_worker.sig="ip";var _emscripten_destroy_worker=e=>{var r=Browser.workers[e];r.worker.terminate(),r.buffer&&_free(r.buffer),Browser.workers[e]=null};_emscripten_destroy_worker.sig="vi";function _emscripten_call_worker(e,r,t,n,a,o){r>>>=0,t>>>=0,a>>>=0,o>>>=0,r=UTF8ToString(r);var _=Browser.workers[e],l=-1;a&&(l=_.callbacks.length,_.callbacks.push({func:getWasmTableEntry(a),arg:o}),_.awaited++);var c={funcName:r,callbackId:l,data:t?new Uint8Array(HEAPU8.subarray(t>>>0,t+n>>>0)):0};t?_.worker.postMessage(c,[c.data.buffer]):_.worker.postMessage(c)}_emscripten_call_worker.sig="vippipp";var _emscripten_get_worker_queue_size=e=>{var r=Browser.workers[e];return r?r.awaited:-1};_emscripten_get_worker_queue_size.sig="ii";var getPreloadedImageData=(e,r,t)=>{e=PATH_FS.resolve(e);var n=preloadedImages[e];if(!n)return 0;var a=n.getContext("2d"),o=a.getImageData(0,0,n.width,n.height),_=_malloc(n.width*n.height*4);return HEAPU8.set(o.data,_>>>0),HEAP32[r>>>2>>>0]=n.width,HEAP32[t>>>2>>>0]=n.height,_};function _emscripten_get_preloaded_image_data(e,r,t){return e>>>=0,r>>>=0,t>>>=0,getPreloadedImageData(UTF8ToString(e),r,t)}_emscripten_get_preloaded_image_data.sig="pppp";var getPreloadedImageData__data=["$PATH_FS","malloc"];function _emscripten_get_preloaded_image_data_from_FILE(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=_fileno(e),a=FS.getStream(n);return a?getPreloadedImageData(a.path,r,t):0}_emscripten_get_preloaded_image_data_from_FILE.sig="pppp";var wget={wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle(){var e=wget.nextWgetRequestHandle;return wget.nextWgetRequestHandle++,e}},FS_mkdirTree=(e,r)=>FS.mkdirTree(e,r),FS_unlink=e=>FS.unlink(e),_emscripten_async_wget=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=UTF8ToString(e),o=UTF8ToString(r);o=PATH_FS.resolve(o);function _(c){c&&callUserCallback(()=>{var u=stackSave();getWasmTableEntry(c)(stringToUTF8OnStack(o)),stackRestore(u)})}var l=PATH.dirname(o);FS_createPreloadedFile(l,PATH.basename(o),a,!0,!0,()=>_(t),()=>_(n),!1,!1,()=>{try{FS_unlink(o)}catch(c){}FS_mkdirTree(l)})};_emscripten_async_wget.sig="vpppp";var _emscripten_async_wget_data=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0,asyncLoad(UTF8ToString(e),a=>{callUserCallback(()=>{var o=_malloc(a.length);HEAPU8.set(a,o>>>0),getWasmTableEntry(t)(r,o,a.length),_free(o)})},()=>{n&&callUserCallback(()=>{getWasmTableEntry(n)(r)})},!0)};_emscripten_async_wget_data.sig="vpppp";var _emscripten_async_wget2=function(e,r,t,n,a,o,_,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0;var c=UTF8ToString(e),u=UTF8ToString(r);u=PATH_FS.resolve(u);var d=UTF8ToString(t),f=UTF8ToString(n),p=u.lastIndexOf("/"),m=new XMLHttpRequest;m.open(d,c,!0),m.responseType="arraybuffer";var v=wget.getNextWgetRequestHandle(),g=PATH.dirname(u);return m.onload=S=>{if(m.status>=200&&m.status<300){try{FS.unlink(u)}catch(b){}if(FS.mkdirTree(g),FS.createDataFile(u.substr(0,p),u.substr(p+1),new Uint8Array(m.response),!0,!0,!1),o){var h=stackSave();getWasmTableEntry(o)(v,a,stringToUTF8OnStack(u)),stackRestore(h)}}else _&&getWasmTableEntry(_)(v,a,m.status);delete wget.wgetRequests[v]},m.onerror=S=>{_&&getWasmTableEntry(_)(v,a,m.status),delete wget.wgetRequests[v]},m.onprogress=S=>{if(S.lengthComputable||S.lengthComputable===void 0&&S.total!=0){var h=S.loaded/S.total*100;l&&getWasmTableEntry(l)(v,a,h)}},m.onabort=S=>{delete wget.wgetRequests[v]},d=="POST"?(m.setRequestHeader("Content-type","application/x-www-form-urlencoded"),m.send(f)):m.send(null),wget.wgetRequests[v]=m,v};_emscripten_async_wget2.sig="ipppppppp";function _emscripten_async_wget2_data(e,r,t,n,a,o,_,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,o>>>=0,_>>>=0,l>>>=0;var c=UTF8ToString(e),u=UTF8ToString(r),d=UTF8ToString(t),f=new XMLHttpRequest;f.open(u,c,!0),f.responseType="arraybuffer";var p=wget.getNextWgetRequestHandle();function m(){if(_){var v=stackSave(),g=0;f.statusText&&(g=stringToUTF8OnStack(f.statusText)),getWasmTableEntry(_)(p,n,f.status,g),stackRestore(v)}}return f.onload=v=>{if(f.status>=200&&f.status<300||f.status===0&&c.substr(0,4).toLowerCase()!="http"){var g=new Uint8Array(f.response),S=_malloc(g.length);HEAPU8.set(g,S>>>0),o&&getWasmTableEntry(o)(p,n,S,g.length),a&&_free(S)}else m();delete wget.wgetRequests[p]},f.onerror=v=>{m(),delete wget.wgetRequests[p]},f.onprogress=v=>{l&&getWasmTableEntry(l)(p,n,v.loaded,v.lengthComputable||v.lengthComputable===void 0?v.total:0)},f.onabort=v=>{delete wget.wgetRequests[p]},u=="POST"?(f.setRequestHeader("Content-type","application/x-www-form-urlencoded"),f.send(d)):f.send(null),wget.wgetRequests[p]=f,p}_emscripten_async_wget2_data.sig="ippppippp";var _emscripten_async_wget2_abort=e=>{var r=wget.wgetRequests[e];r==null||r.abort()};_emscripten_async_wget2_abort.sig="vi";function ___asctime_r(e,r){e>>>=0,r>>>=0;var t={tm_sec:HEAP32[e>>>2>>>0],tm_min:HEAP32[e+4>>>2>>>0],tm_hour:HEAP32[e+8>>>2>>>0],tm_mday:HEAP32[e+12>>>2>>>0],tm_mon:HEAP32[e+16>>>2>>>0],tm_year:HEAP32[e+20>>>2>>>0],tm_wday:HEAP32[e+24>>>2>>>0]},n=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],a=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],o=n[t.tm_wday]+" "+a[t.tm_mon]+(t.tm_mday<10?" ":" ")+t.tm_mday+(t.tm_hour<10?" 0":" ")+t.tm_hour+(t.tm_min<10?":0":":")+t.tm_min+(t.tm_sec<10?":0":":")+t.tm_sec+" "+(1900+t.tm_year)+"\n";return stringToUTF8(o,r,26),r}___asctime_r.sig="ppp";function _strptime_l(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,_strptime(e,r,t)}_strptime_l.sig="ppppp";function ___syscall_shutdown(e,r){try{return getSocketFromFD(e),-52}catch(t){if(typeof FS>"u"||t.name!=="ErrnoError")throw t;return-t.errno}}Module.___syscall_shutdown=___syscall_shutdown,___syscall_shutdown.sig="iiiiiii";function __dlsym_catchup_js(e,r){e>>>=0;var t=LDSO.loadedLibsByHandle[e],n=t.exports,a=Object.keys(n)[r],o=n[a],_=addFunction(o,o.sig);return _}__dlsym_catchup_js.sig="ppi";var FS_createPath=FS.createPath,FS_createDevice=FS.createDevice,FS_readFile=FS.readFile,FS_createLazyFile=FS.createLazyFile,_setNetworkCallback=(e,r,t)=>{function n(a){try{if(e==="error"){var o=stackSave(),_=stringToUTF8OnStack(a[2]);getWasmTableEntry(t)(a[0],a[1],_,r),stackRestore(o)}else getWasmTableEntry(t)(a,r)}catch(l){if(!(l instanceof ExitStatus))throw l&&typeof l=="object"&&l.stack&&err("exception thrown: "+[l,l.stack]),l}}SOCKFS.on(e,t?n:null)};function _emscripten_set_socket_error_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("error",e,r)}_emscripten_set_socket_error_callback.sig="vpp";function _emscripten_set_socket_open_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("open",e,r)}_emscripten_set_socket_open_callback.sig="vpp";function _emscripten_set_socket_listen_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("listen",e,r)}_emscripten_set_socket_listen_callback.sig="vpp";function _emscripten_set_socket_connection_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("connection",e,r)}_emscripten_set_socket_connection_callback.sig="vpp";function _emscripten_set_socket_message_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("message",e,r)}_emscripten_set_socket_message_callback.sig="vpp";function _emscripten_set_socket_close_callback(e,r){e>>>=0,r>>>=0,_setNetworkCallback("close",e,r)}_emscripten_set_socket_close_callback.sig="vpp";function _emscripten_webgl_enable_ANGLE_instanced_arrays(e){return e>>>=0,webgl_enable_ANGLE_instanced_arrays(GL.contexts[e].GLctx)}_emscripten_webgl_enable_ANGLE_instanced_arrays.sig="ip";function _emscripten_webgl_enable_OES_vertex_array_object(e){return e>>>=0,webgl_enable_OES_vertex_array_object(GL.contexts[e].GLctx)}_emscripten_webgl_enable_OES_vertex_array_object.sig="ip";function _emscripten_webgl_enable_WEBGL_draw_buffers(e){return e>>>=0,webgl_enable_WEBGL_draw_buffers(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_draw_buffers.sig="ip";function _emscripten_webgl_enable_WEBGL_multi_draw(e){return e>>>=0,webgl_enable_WEBGL_multi_draw(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_multi_draw.sig="ip";function _emscripten_webgl_enable_EXT_polygon_offset_clamp(e){return e>>>=0,webgl_enable_EXT_polygon_offset_clamp(GL.contexts[e].GLctx)}_emscripten_webgl_enable_EXT_polygon_offset_clamp.sig="ip";function _emscripten_webgl_enable_EXT_clip_control(e){return e>>>=0,webgl_enable_EXT_clip_control(GL.contexts[e].GLctx)}_emscripten_webgl_enable_EXT_clip_control.sig="ip";function _emscripten_webgl_enable_WEBGL_polygon_mode(e){return e>>>=0,webgl_enable_WEBGL_polygon_mode(GL.contexts[e].GLctx)}_emscripten_webgl_enable_WEBGL_polygon_mode.sig="ip";function _glVertexPointer(e,r,t,n){throw n>>>=0,"Legacy GL function (glVertexPointer) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."}_glVertexPointer.sig="viiip";var _glMatrixMode=()=>{throw"Legacy GL function (glMatrixMode) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glMatrixMode.sig="vi";var _glBegin=()=>{throw"Legacy GL function (glBegin) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glBegin.sig="vi";var _glLoadIdentity=()=>{throw"Legacy GL function (glLoadIdentity) called. If you want legacy GL emulation, you need to compile with -sLEGACY_GL_EMULATION to enable legacy GL emulation."};_glLoadIdentity.sig="v";var _glVertexAttribDivisorNV=_glVertexAttribDivisor,_glDrawArraysInstancedNV=_glDrawArraysInstanced,_glDrawElementsInstancedNV=_glDrawElementsInstanced,_glVertexAttribDivisorEXT=_glVertexAttribDivisor,_glDrawArraysInstancedEXT=_glDrawArraysInstanced,_glDrawElementsInstancedEXT=_glDrawElementsInstanced,_glVertexAttribDivisorARB=_glVertexAttribDivisor,_glDrawArraysInstancedARB=_glDrawArraysInstanced,_glDrawElementsInstancedARB=_glDrawElementsInstanced,_glDrawBuffersEXT=_glDrawBuffers;function _glMultiDrawArraysWEBGL(e,r,t,n){r>>>=0,t>>>=0,GLctx.multiDrawWebgl.multiDrawArraysWEBGL(e,HEAP32,r>>>2,HEAP32,t>>>2,n)}_glMultiDrawArraysWEBGL.sig="vippi";var _glMultiDrawArrays=_glMultiDrawArraysWEBGL;_glMultiDrawArrays.sig="vippi";var _glMultiDrawArraysANGLE=_glMultiDrawArraysWEBGL;function _glMultiDrawArraysInstancedWEBGL(e,r,t,n,a){r>>>=0,t>>>=0,n>>>=0,GLctx.multiDrawWebgl.multiDrawArraysInstancedWEBGL(e,HEAP32,r>>>2,HEAP32,t>>>2,HEAP32,n>>>2,a)}_glMultiDrawArraysInstancedWEBGL.sig="vipppi";var _glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedWEBGL;function _glMultiDrawElementsWEBGL(e,r,t,n,a){r>>>=0,n>>>=0,GLctx.multiDrawWebgl.multiDrawElementsWEBGL(e,HEAP32,r>>>2,t,HEAP32,n>>>2,a)}_glMultiDrawElementsWEBGL.sig="vipipi";var _glMultiDrawElements=_glMultiDrawElementsWEBGL;_glMultiDrawElements.sig="vipipi";var _glMultiDrawElementsANGLE=_glMultiDrawElementsWEBGL;function _glMultiDrawElementsInstancedWEBGL(e,r,t,n,a,o){r>>>=0,n>>>=0,a>>>=0,GLctx.multiDrawWebgl.multiDrawElementsInstancedWEBGL(e,HEAP32,r>>>2,t,HEAP32,n>>>2,HEAP32,a>>>2,o)}_glMultiDrawElementsInstancedWEBGL.sig="vipippi";var _glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedWEBGL,_glClearDepth=e=>GLctx.clearDepth(e);_glClearDepth.sig="vd";var _glDepthRange=(e,r)=>GLctx.depthRange(e,r);_glDepthRange.sig="vdd";var _emscripten_glGenVertexArrays=_glGenVertexArrays;_emscripten_glGenVertexArrays.sig="vip";var _emscripten_glDeleteVertexArrays=_glDeleteVertexArrays;_emscripten_glDeleteVertexArrays.sig="vip";var _emscripten_glBindVertexArray=_glBindVertexArray;_emscripten_glBindVertexArray.sig="vi";var _emscripten_glIsVertexArray=_glIsVertexArray;_emscripten_glIsVertexArray.sig="ii";var _emscripten_glVertexPointer=_glVertexPointer;_emscripten_glVertexPointer.sig="viiip";var _emscripten_glMatrixMode=_glMatrixMode;_emscripten_glMatrixMode.sig="vi";var _emscripten_glBegin=_glBegin;_emscripten_glBegin.sig="vi";var _emscripten_glLoadIdentity=_glLoadIdentity;_emscripten_glLoadIdentity.sig="v";var _emscripten_glVertexAttribDivisor=_glVertexAttribDivisor;_emscripten_glVertexAttribDivisor.sig="vii";var _emscripten_glDrawArraysInstanced=_glDrawArraysInstanced;_emscripten_glDrawArraysInstanced.sig="viiii";var _emscripten_glDrawElementsInstanced=_glDrawElementsInstanced;_emscripten_glDrawElementsInstanced.sig="viiipi";var _emscripten_glVertexAttribDivisorNV=_glVertexAttribDivisorNV,_emscripten_glDrawArraysInstancedNV=_glDrawArraysInstancedNV,_emscripten_glDrawElementsInstancedNV=_glDrawElementsInstancedNV,_emscripten_glVertexAttribDivisorEXT=_glVertexAttribDivisorEXT,_emscripten_glDrawArraysInstancedEXT=_glDrawArraysInstancedEXT,_emscripten_glDrawElementsInstancedEXT=_glDrawElementsInstancedEXT,_emscripten_glVertexAttribDivisorARB=_glVertexAttribDivisorARB,_emscripten_glDrawArraysInstancedARB=_glDrawArraysInstancedARB,_emscripten_glDrawElementsInstancedARB=_glDrawElementsInstancedARB,_emscripten_glDrawBuffers=_glDrawBuffers;_emscripten_glDrawBuffers.sig="vip";var _emscripten_glDrawBuffersEXT=_glDrawBuffersEXT,_emscripten_glMultiDrawArrays=_glMultiDrawArrays;_emscripten_glMultiDrawArrays.sig="vippi";var _emscripten_glMultiDrawArraysANGLE=_glMultiDrawArraysANGLE,_emscripten_glMultiDrawArraysWEBGL=_glMultiDrawArraysWEBGL,_emscripten_glMultiDrawArraysInstancedANGLE=_glMultiDrawArraysInstancedANGLE,_emscripten_glMultiDrawArraysInstancedWEBGL=_glMultiDrawArraysInstancedWEBGL,_emscripten_glMultiDrawElements=_glMultiDrawElements;_emscripten_glMultiDrawElements.sig="vipipi";var _emscripten_glMultiDrawElementsANGLE=_glMultiDrawElementsANGLE,_emscripten_glMultiDrawElementsWEBGL=_glMultiDrawElementsWEBGL,_emscripten_glMultiDrawElementsInstancedANGLE=_glMultiDrawElementsInstancedANGLE,_emscripten_glMultiDrawElementsInstancedWEBGL=_glMultiDrawElementsInstancedWEBGL,_emscripten_glClearDepth=_glClearDepth;_emscripten_glClearDepth.sig="vd";var _emscripten_glDepthRange=_glDepthRange;_emscripten_glDepthRange.sig="vdd";var writeGLArray=(e,r,t,n)=>{var a=e.length,o=t<a?t:a,_=n?HEAPF32:HEAP32;r=r>>>2;for(var l=0;l<o;++l)_[r+l>>>0]=e[l];return a},webglPowerPreferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(e,r){e>>>=0,r>>>=0;var t=r>>>2,n=HEAP32[t+2>>>0],a={alpha:!!HEAP8[r+0>>>0],depth:!!HEAP8[r+1>>>0],stencil:!!HEAP8[r+2>>>0],antialias:!!HEAP8[r+3>>>0],premultipliedAlpha:!!HEAP8[r+4>>>0],preserveDrawingBuffer:!!HEAP8[r+5>>>0],powerPreference:webglPowerPreferences[n],failIfMajorPerformanceCaveat:!!HEAP8[r+12>>>0],majorVersion:HEAP32[t+4>>>0],minorVersion:HEAP32[t+5>>>0],enableExtensionsByDefault:HEAP8[r+24>>>0],explicitSwapControl:HEAP8[r+25>>>0],proxyContextToMainThread:HEAP32[t+7>>>0],renderViaOffscreenBackBuffer:HEAP8[r+32>>>0]},o=findCanvasEventTarget(e);if(!o||a.explicitSwapControl)return 0;var _=GL.createContext(o,a);return _}_emscripten_webgl_do_create_context.sig="ppp";var _emscripten_webgl_create_context=_emscripten_webgl_do_create_context;_emscripten_webgl_create_context.sig="ppp";function _emscripten_webgl_do_get_current_context(){return GL.currentContext?GL.currentContext.handle:0}_emscripten_webgl_do_get_current_context.sig="p";var _emscripten_webgl_get_current_context=_emscripten_webgl_do_get_current_context;_emscripten_webgl_get_current_context.sig="p";var _emscripten_webgl_do_commit_frame=()=>!GL.currentContext||!GL.currentContext.GLctx||!GL.currentContext.attributes.explicitSwapControl?-3:0;_emscripten_webgl_do_commit_frame.sig="i";var _emscripten_webgl_commit_frame=_emscripten_webgl_do_commit_frame;_emscripten_webgl_commit_frame.sig="i";function _emscripten_webgl_make_context_current(e){e>>>=0;var r=GL.makeContextCurrent(e);return r?0:-5}_emscripten_webgl_make_context_current.sig="ip";function _emscripten_webgl_get_drawing_buffer_size(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=GL.getContext(e);return!n||!n.GLctx||!r||!t?-5:(HEAP32[r>>>2>>>0]=n.GLctx.drawingBufferWidth,HEAP32[t>>>2>>>0]=n.GLctx.drawingBufferHeight,0)}_emscripten_webgl_get_drawing_buffer_size.sig="ippp";function _emscripten_webgl_get_context_attributes(e,r){if(e>>>=0,r>>>=0,!r)return-5;if(e=GL.contexts[e],!e)return-3;var t=e.GLctx;if(!t)return-3;t=t.getContextAttributes(),HEAP8[r>>>0]=t.alpha,HEAP8[r+1>>>0]=t.depth,HEAP8[r+2>>>0]=t.stencil,HEAP8[r+3>>>0]=t.antialias,HEAP8[r+4>>>0]=t.premultipliedAlpha,HEAP8[r+5>>>0]=t.preserveDrawingBuffer;var n=t.powerPreference&&webglPowerPreferences.indexOf(t.powerPreference);return HEAP32[r+8>>>2>>>0]=n,HEAP8[r+12>>>0]=t.failIfMajorPerformanceCaveat,HEAP32[r+16>>>2>>>0]=e.version,HEAP32[r+20>>>2>>>0]=0,HEAP8[r+24>>>0]=e.attributes.enableExtensionsByDefault,0}_emscripten_webgl_get_context_attributes.sig="ipp";function _emscripten_webgl_destroy_context(e){e>>>=0,GL.currentContext==e&&(GL.currentContext=0),GL.deleteContext(e)}_emscripten_webgl_destroy_context.sig="ip";function _emscripten_webgl_enable_extension(e,r){e>>>=0,r>>>=0;var t=GL.getContext(e),n=UTF8ToString(r);n.startsWith("GL_")&&(n=n.substr(3)),n=="ANGLE_instanced_arrays"&&webgl_enable_ANGLE_instanced_arrays(GLctx),n=="OES_vertex_array_object"&&webgl_enable_OES_vertex_array_object(GLctx),n=="WEBGL_draw_buffers"&&webgl_enable_WEBGL_draw_buffers(GLctx),n=="WEBGL_multi_draw"&&webgl_enable_WEBGL_multi_draw(GLctx),n=="EXT_polygon_offset_clamp"&&webgl_enable_EXT_polygon_offset_clamp(GLctx),n=="EXT_clip_control"&&webgl_enable_EXT_clip_control(GLctx),n=="WEBGL_polygon_mode"&&webgl_enable_WEBGL_polygon_mode(GLctx);var a=t.GLctx.getExtension(n);return!!a}_emscripten_webgl_enable_extension.sig="ipp";var _emscripten_supports_offscreencanvas=()=>0;_emscripten_supports_offscreencanvas.sig="i";var registerWebGlEventCallback=(e,r,t,n,a,o,_)=>{var l=(u=event)=>{getWasmTableEntry(n)(a,0,r)&&u.preventDefault()},c={target:findEventTarget(e),eventTypeString:o,callbackfunc:n,handlerFunc:l,useCapture:t};JSEvents.registerOrRemoveHandler(c)};function _emscripten_set_webglcontextlost_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerWebGlEventCallback(e,r,t,n,31,"webglcontextlost",a),0}_emscripten_set_webglcontextlost_callback_on_thread.sig="ippipp";function _emscripten_set_webglcontextrestored_callback_on_thread(e,r,t,n,a){return e>>>=0,r>>>=0,n>>>=0,a>>>=0,registerWebGlEventCallback(e,r,t,n,32,"webglcontextrestored",a),0}_emscripten_set_webglcontextrestored_callback_on_thread.sig="ippipp";function _emscripten_is_webgl_context_lost(e){return e>>>=0,!GL.contexts[e]||GL.contexts[e].GLctx.isContextLost()}_emscripten_is_webgl_context_lost.sig="ip";function _emscripten_webgl_get_supported_extensions(){return stringToNewUTF8(GLctx.getSupportedExtensions().join(" "))}_emscripten_webgl_get_supported_extensions.sig="p";var _emscripten_webgl_get_program_parameter_d=(e,r)=>GLctx.getProgramParameter(GL.programs[e],r);_emscripten_webgl_get_program_parameter_d.sig="dii";function _emscripten_webgl_get_program_info_log_utf8(e){return stringToNewUTF8(GLctx.getProgramInfoLog(GL.programs[e]))}_emscripten_webgl_get_program_info_log_utf8.sig="pi";var _emscripten_webgl_get_shader_parameter_d=(e,r)=>GLctx.getShaderParameter(GL.shaders[e],r);_emscripten_webgl_get_shader_parameter_d.sig="dii";function _emscripten_webgl_get_shader_info_log_utf8(e){return stringToNewUTF8(GLctx.getShaderInfoLog(GL.shaders[e]))}_emscripten_webgl_get_shader_info_log_utf8.sig="pi";function _emscripten_webgl_get_shader_source_utf8(e){return stringToNewUTF8(GLctx.getShaderSource(GL.shaders[e]))}_emscripten_webgl_get_shader_source_utf8.sig="pi";var _emscripten_webgl_get_vertex_attrib_d=(e,r)=>GLctx.getVertexAttrib(e,r);_emscripten_webgl_get_vertex_attrib_d.sig="dii";var _emscripten_webgl_get_vertex_attrib_o=(e,r)=>{var t=GLctx.getVertexAttrib(e,r);return t==null?void 0:t.name};_emscripten_webgl_get_vertex_attrib_o.sig="iii";function _emscripten_webgl_get_vertex_attrib_v(e,r,t,n,a){return t>>>=0,writeGLArray(GLctx.getVertexAttrib(e,r),t,n,a)}_emscripten_webgl_get_vertex_attrib_v.sig="iiipii";var _emscripten_webgl_get_uniform_d=(e,r)=>GLctx.getUniform(GL.programs[e],webglGetUniformLocation(r));_emscripten_webgl_get_uniform_d.sig="dii";function _emscripten_webgl_get_uniform_v(e,r,t,n,a){return t>>>=0,writeGLArray(GLctx.getUniform(GL.programs[e],webglGetUniformLocation(r)),t,n,a)}_emscripten_webgl_get_uniform_v.sig="iiipii";function _emscripten_webgl_get_parameter_v(e,r,t,n){return r>>>=0,writeGLArray(GLctx.getParameter(e),r,t,n)}_emscripten_webgl_get_parameter_v.sig="iipii";var _emscripten_webgl_get_parameter_d=e=>GLctx.getParameter(e);_emscripten_webgl_get_parameter_d.sig="di";var _emscripten_webgl_get_parameter_o=e=>{var r=GLctx.getParameter(e);return r==null?void 0:r.name};_emscripten_webgl_get_parameter_o.sig="ii";function _emscripten_webgl_get_parameter_utf8(e){return stringToNewUTF8(GLctx.getParameter(e))}_emscripten_webgl_get_parameter_utf8.sig="pi";function _emscripten_webgl_get_parameter_i64v(e,r){return r>>>=0,writeI53ToI64(r,GLctx.getParameter(e))}_emscripten_webgl_get_parameter_i64v.sig="vip";var _glutPostRedisplay=()=>{GLUT.displayFunc&&!GLUT.requestedAnimationFrame&&(GLUT.requestedAnimationFrame=!0,MainLoop.requestAnimationFrame(()=>{GLUT.requestedAnimationFrame=!1,MainLoop.runIter(()=>getWasmTableEntry(GLUT.displayFunc)())}))};_glutPostRedisplay.sig="v";var GLUT={initTime:null,idleFunc:null,displayFunc:null,keyboardFunc:null,keyboardUpFunc:null,specialFunc:null,specialUpFunc:null,reshapeFunc:null,motionFunc:null,passiveMotionFunc:null,mouseFunc:null,buttons:0,modifiers:0,initWindowWidth:256,initWindowHeight:256,initDisplayMode:18,windowX:0,windowY:0,windowWidth:0,windowHeight:0,requestedAnimationFrame:!1,saveModifiers:e=>{GLUT.modifiers=0,e.shiftKey&&(GLUT.modifiers+=1),e.ctrlKey&&(GLUT.modifiers+=2),e.altKey&&(GLUT.modifiers+=4)},onMousemove:e=>{var r=Browser.mouseX,t=Browser.mouseY;Browser.calculateMouseEvent(e);var n=Browser.mouseX,a=Browser.mouseY;n==r&&a==t||(GLUT.buttons==0&&e.target==Module.canvas&&GLUT.passiveMotionFunc?(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.passiveMotionFunc)(r,t)):GLUT.buttons!=0&&GLUT.motionFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.motionFunc)(r,t)))},getSpecialKey:e=>{var r=null;switch(e){case 8:r=120;break;case 46:r=111;break;case 112:r=1;break;case 113:r=2;break;case 114:r=3;break;case 115:r=4;break;case 116:r=5;break;case 117:r=6;break;case 118:r=7;break;case 119:r=8;break;case 120:r=9;break;case 121:r=10;break;case 122:r=11;break;case 123:r=12;break;case 37:r=100;break;case 38:r=101;break;case 39:r=102;break;case 40:r=103;break;case 33:r=104;break;case 34:r=105;break;case 36:r=106;break;case 35:r=107;break;case 45:r=108;break;case 16:case 5:r=112;break;case 6:r=113;break;case 17:case 3:r=114;break;case 4:r=115;break;case 18:case 2:r=116;break;case 1:r=117;break}return r},getASCIIKey:e=>{if(e.ctrlKey||e.altKey||e.metaKey)return null;var r=e.keyCode;if(48<=r&&r<=57)return r;if(65<=r&&r<=90)return e.shiftKey?r:r+32;if(96<=r&&r<=105)return r-48;if(106<=r&&r<=111)return r-106+42;switch(r){case 9:case 13:case 27:case 32:case 61:return r}var t=e.shiftKey;switch(r){case 186:return t?58:59;case 187:return t?43:61;case 188:return t?60:44;case 189:return t?95:45;case 190:return t?62:46;case 191:return t?63:47;case 219:return t?123:91;case 220:return t?124:47;case 221:return t?125:93;case 222:return t?34:39}return null},onKeydown:e=>{if(GLUT.specialFunc||GLUT.keyboardFunc){var r=GLUT.getSpecialKey(e.keyCode);r!==null?GLUT.specialFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialFunc)(r,Browser.mouseX,Browser.mouseY)):(r=GLUT.getASCIIKey(e),r!==null&&GLUT.keyboardFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardFunc)(r,Browser.mouseX,Browser.mouseY)))}},onKeyup:e=>{if(GLUT.specialUpFunc||GLUT.keyboardUpFunc){var r=GLUT.getSpecialKey(e.keyCode);r!==null?GLUT.specialUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.specialUpFunc)(r,Browser.mouseX,Browser.mouseY)):(r=GLUT.getASCIIKey(e),r!==null&&GLUT.keyboardUpFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.keyboardUpFunc)(r,Browser.mouseX,Browser.mouseY)))}},touchHandler:e=>{if(e.target==Module.canvas){var r=e.changedTouches,t=r[0],n="";switch(e.type){case"touchstart":n="mousedown";break;case"touchmove":n="mousemove";break;case"touchend":n="mouseup";break;default:return}var a=document.createEvent("MouseEvent");a.initMouseEvent(n,!0,!0,window,1,t.screenX,t.screenY,t.clientX,t.clientY,!1,!1,!1,!1,0,null),t.target.dispatchEvent(a),e.preventDefault()}},onMouseButtonDown:e=>{if(Browser.calculateMouseEvent(e),GLUT.buttons|=1<<e.button,e.target==Module.canvas&&GLUT.mouseFunc){try{e.target.setCapture()}catch(r){}e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(e.button,0,Browser.mouseX,Browser.mouseY)}},onMouseButtonUp:e=>{Browser.calculateMouseEvent(e),GLUT.buttons&=~(1<<e.button),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(e.button,1,Browser.mouseX,Browser.mouseY))},onMouseWheel:e=>{Browser.calculateMouseEvent(e);var r=window.event||e,t=-Browser.getMouseWheelDelta(e);t=t==0?0:t>0?Math.max(t,1):Math.min(t,-1);var n=3;t<0&&(n=4),GLUT.mouseFunc&&(e.preventDefault(),GLUT.saveModifiers(e),getWasmTableEntry(GLUT.mouseFunc)(n,0,Browser.mouseX,Browser.mouseY))},onFullscreenEventChange:e=>{var r,t;document.fullscreen||document.fullScreen||document.mozFullScreen||document.webkitIsFullScreen?(r=screen.width,t=screen.height):(r=GLUT.windowWidth,t=GLUT.windowHeight,document.removeEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.removeEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0)),Browser.setCanvasSize(r,t,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(r,t),_glutPostRedisplay()}},_glutGetModifiers=()=>GLUT.modifiers;_glutGetModifiers.sig="i";function _glutInit(e,r){e>>>=0,r>>>=0,GLUT.initTime=Date.now();var t="ontouchstart"in document.documentElement;t&&(window.addEventListener("touchmove",GLUT.touchHandler,!0),window.addEventListener("touchstart",GLUT.touchHandler,!0),window.addEventListener("touchend",GLUT.touchHandler,!0)),window.addEventListener("keydown",GLUT.onKeydown,!0),window.addEventListener("keyup",GLUT.onKeyup,!0),window.addEventListener("mousemove",GLUT.onMousemove,!0),window.addEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.addEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.addEventListener("mousewheel",GLUT.onMouseWheel,!0),window.addEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Browser.resizeListeners.push((n,a)=>{GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(n,a)}),__ATEXIT__.push(()=>{t&&(window.removeEventListener("touchmove",GLUT.touchHandler,!0),window.removeEventListener("touchstart",GLUT.touchHandler,!0),window.removeEventListener("touchend",GLUT.touchHandler,!0)),window.removeEventListener("keydown",GLUT.onKeydown,!0),window.removeEventListener("keyup",GLUT.onKeyup,!0),window.removeEventListener("mousemove",GLUT.onMousemove,!0),window.removeEventListener("mousedown",GLUT.onMouseButtonDown,!0),window.removeEventListener("mouseup",GLUT.onMouseButtonUp,!0),window.removeEventListener("mousewheel",GLUT.onMouseWheel,!0),window.removeEventListener("DOMMouseScroll",GLUT.onMouseWheel,!0),Module.canvas.width=Module.canvas.height=1})}_glutInit.sig="vpp";var _glutInitWindowSize=(e,r)=>{Browser.setCanvasSize(GLUT.initWindowWidth=e,GLUT.initWindowHeight=r)};_glutInitWindowSize.sig="vii";var _glutInitWindowPosition=(e,r)=>{};_glutInitWindowPosition.sig="vii";var _glutGet=e=>{switch(e){case 100:return 0;case 101:return 0;case 102:return Module.canvas.width;case 103:return Module.canvas.height;case 200:return Module.canvas.width;case 201:return Module.canvas.height;case 500:return 0;case 501:return 0;case 502:return GLUT.initWindowWidth;case 503:return GLUT.initWindowHeight;case 700:var r=Date.now();return r-GLUT.initTime;case 105:return Module.ctx.getContextAttributes().stencil?8:0;case 106:return Module.ctx.getContextAttributes().depth?8:0;case 110:return Module.ctx.getContextAttributes().alpha?8:0;case 120:return Module.ctx.getContextAttributes().antialias?1:0;default:throw"glutGet("+e+") not implemented yet"}};_glutGet.sig="ii";function _glutIdleFunc(e){e>>>=0;function r(){GLUT.idleFunc&&(getWasmTableEntry(GLUT.idleFunc)(),safeSetTimeout(r,4))}GLUT.idleFunc||safeSetTimeout(r,0),GLUT.idleFunc=e}_glutIdleFunc.sig="vp";var _glutTimerFunc=function(e,r,t){return r>>>=0,safeSetTimeout(()=>getWasmTableEntry(r)(t),e)};_glutTimerFunc.sig="vipi";function _glutDisplayFunc(e){e>>>=0,GLUT.displayFunc=e}_glutDisplayFunc.sig="vp";function _glutKeyboardFunc(e){e>>>=0,GLUT.keyboardFunc=e}_glutKeyboardFunc.sig="vp";function _glutKeyboardUpFunc(e){e>>>=0,GLUT.keyboardUpFunc=e}_glutKeyboardUpFunc.sig="vp";function _glutSpecialFunc(e){e>>>=0,GLUT.specialFunc=e}_glutSpecialFunc.sig="vp";function _glutSpecialUpFunc(e){e>>>=0,GLUT.specialUpFunc=e}_glutSpecialUpFunc.sig="vp";function _glutReshapeFunc(e){e>>>=0,GLUT.reshapeFunc=e}_glutReshapeFunc.sig="vp";function _glutMotionFunc(e){e>>>=0,GLUT.motionFunc=e}_glutMotionFunc.sig="vp";function _glutPassiveMotionFunc(e){e>>>=0,GLUT.passiveMotionFunc=e}_glutPassiveMotionFunc.sig="vp";function _glutMouseFunc(e){e>>>=0,GLUT.mouseFunc=e}_glutMouseFunc.sig="vp";var _glutSetCursor=e=>{var r="auto";switch(e){case 0:break;case 1:break;case 2:r="pointer";break;case 3:break;case 4:r="help";break;case 5:break;case 6:break;case 7:r="wait";break;case 8:r="text";break;case 9:case 102:r="crosshair";break;case 10:r="ns-resize";break;case 11:r="ew-resize";break;case 12:r="n-resize";break;case 13:r="s-resize";break;case 14:r="w-resize";break;case 15:r="e-resize";break;case 16:r="nw-resize";break;case 17:r="ne-resize";break;case 18:r="se-resize";break;case 19:r="sw-resize";break;case 100:break;case 101:r="none";break;default:throw"glutSetCursor: Unknown cursor type: "+e}Module.canvas.style.cursor=r};_glutSetCursor.sig="vi";function _glutCreateWindow(e){e>>>=0;var r={antialias:(GLUT.initDisplayMode&128)!=0,depth:(GLUT.initDisplayMode&16)!=0,stencil:(GLUT.initDisplayMode&32)!=0,alpha:(GLUT.initDisplayMode&8)!=0};return Module.ctx=Browser.createContext(Module.canvas,!0,!0,r),Module.ctx?1:0}_glutCreateWindow.sig="ip";var _glutDestroyWindow=e=>(delete Module.ctx,1);_glutDestroyWindow.sig="vi";var _glutReshapeWindow=(e,r)=>{Browser.exitFullscreen(),Browser.setCanvasSize(e,r,!0),GLUT.reshapeFunc&&getWasmTableEntry(GLUT.reshapeFunc)(e,r),_glutPostRedisplay()};_glutReshapeWindow.sig="vii";var _glutPositionWindow=(e,r)=>{Browser.exitFullscreen(),_glutPostRedisplay()};_glutPositionWindow.sig="vii";var _glutFullScreen=()=>{GLUT.windowX=0,GLUT.windowY=0,GLUT.windowWidth=Module.canvas.width,GLUT.windowHeight=Module.canvas.height,document.addEventListener("fullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("mozfullscreenchange",GLUT.onFullscreenEventChange,!0),document.addEventListener("webkitfullscreenchange",GLUT.onFullscreenEventChange,!0),Browser.requestFullscreen(!1,!1)};_glutFullScreen.sig="v";var _glutInitDisplayMode=e=>GLUT.initDisplayMode=e;_glutInitDisplayMode.sig="vi";var _glutSwapBuffers=()=>{};_glutSwapBuffers.sig="v";var _glutMainLoop=()=>{throw _glutReshapeWindow(Module.canvas.width,Module.canvas.height),_glutPostRedisplay(),"unwind"};_glutMainLoop.sig="v";function _XOpenDisplay(e){return e>>>=0,1}_XOpenDisplay.sig="pp";function _XCreateWindow(e,r,t,n,a,o,_,l,c,u,d,f){return e>>>=0,r>>>=0,u>>>=0,d>>>=0,f>>>=0,Browser.setCanvasSize(a,o),2}_XCreateWindow.sig="pppiiiiiiippp";function _XChangeWindowAttributes(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0}_XChangeWindowAttributes.sig="ipppp";function _XSetWMHints(e,r,t){e>>>=0,r>>>=0,t>>>=0}_XSetWMHints.sig="ippp";function _XMapWindow(e,r){e>>>=0,r>>>=0}_XMapWindow.sig="ipp";function _XStoreName(e,r,t){e>>>=0,r>>>=0,t>>>=0}_XStoreName.sig="ippp";function _XInternAtom(e,r,t){return e>>>=0,r>>>=0,0}_XInternAtom.sig="pppi";function _XSendEvent(e,r,t,n,a){e>>>=0,r>>>=0,n>>>=0,a>>>=0}_XSendEvent.sig="ippipp";function _XPending(e){return e>>>=0,0}_XPending.sig="ip";var EGL={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){EGL.errorCode=e},chooseConfig(e,r,t,n,a){if(e!=62e3)return EGL.setErrorCode(12296),0;if(r)for(;;){var o=HEAP32[r>>>2>>>0];if(o==12321){var _=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.alpha=_>0}else if(o==12325){var l=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.depth=l>0}else if(o==12326){var c=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.stencil=c>0}else if(o==12337){var u=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.antialias=u>0}else if(o==12338){var u=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.antialias=u==1}else if(o==12544){var d=HEAP32[r+4>>>2>>>0];EGL.contextAttributes.lowLatency=d!=12547}else if(o==12344)break;r+=8}return(!t||!n)&&!a?(EGL.setErrorCode(12300),0):(a&&(HEAP32[a>>>2>>>0]=1),t&&n>0&&(HEAPU32[t>>>2>>>0]=62002),EGL.setErrorCode(12288),1)}};function _eglGetDisplay(e){return e>>>=0,EGL.setErrorCode(12288),e!=0&&e!=1?0:62e3}_eglGetDisplay.sig="pp";function _eglInitialize(e,r,t){return e>>>=0,r>>>=0,t>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(r&&(HEAP32[r>>>2>>>0]=1),t&&(HEAP32[t>>>2>>>0]=4),EGL.defaultDisplayInitialized=!0,EGL.setErrorCode(12288),1)}_eglInitialize.sig="ippp";function _eglTerminate(e){return e>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.defaultDisplayInitialized=!1,EGL.setErrorCode(12288),1)}_eglTerminate.sig="ip";function _eglGetConfigs(e,r,t,n){return e>>>=0,r>>>=0,n>>>=0,EGL.chooseConfig(e,0,r,t,n)}_eglGetConfigs.sig="ippip";function _eglChooseConfig(e,r,t,n,a){return e>>>=0,r>>>=0,t>>>=0,a>>>=0,EGL.chooseConfig(e,r,t,n,a)}_eglChooseConfig.sig="ipppip";function _eglGetConfigAttrib(e,r,t,n){if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62002)return EGL.setErrorCode(12293),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12320:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.alpha?32:24,1;case 12321:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.alpha?8:0,1;case 12322:return HEAP32[n>>>2>>>0]=8,1;case 12323:return HEAP32[n>>>2>>>0]=8,1;case 12324:return HEAP32[n>>>2>>>0]=8,1;case 12325:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.depth?24:0,1;case 12326:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.stencil?8:0,1;case 12327:return HEAP32[n>>>2>>>0]=12344,1;case 12328:return HEAP32[n>>>2>>>0]=62002,1;case 12329:return HEAP32[n>>>2>>>0]=0,1;case 12330:return HEAP32[n>>>2>>>0]=4096,1;case 12331:return HEAP32[n>>>2>>>0]=16777216,1;case 12332:return HEAP32[n>>>2>>>0]=4096,1;case 12333:return HEAP32[n>>>2>>>0]=0,1;case 12334:return HEAP32[n>>>2>>>0]=0,1;case 12335:return HEAP32[n>>>2>>>0]=12344,1;case 12337:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.antialias?4:0,1;case 12338:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.antialias?1:0,1;case 12339:return HEAP32[n>>>2>>>0]=4,1;case 12340:return HEAP32[n>>>2>>>0]=12344,1;case 12341:case 12342:case 12343:return HEAP32[n>>>2>>>0]=-1,1;case 12345:case 12346:return HEAP32[n>>>2>>>0]=0,1;case 12347:return HEAP32[n>>>2>>>0]=0,1;case 12348:return HEAP32[n>>>2>>>0]=1,1;case 12349:case 12350:return HEAP32[n>>>2>>>0]=0,1;case 12351:return HEAP32[n>>>2>>>0]=12430,1;case 12352:return HEAP32[n>>>2>>>0]=4,1;case 12354:return HEAP32[n>>>2>>>0]=0,1;default:return EGL.setErrorCode(12292),0}}_eglGetConfigAttrib.sig="ippip";function _eglCreateWindowSurface(e,r,t,n){return e>>>=0,r>>>=0,n>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62002?(EGL.setErrorCode(12293),0):(EGL.setErrorCode(12288),62006)}_eglCreateWindowSurface.sig="pppip";function _eglDestroySurface(e,r){return e>>>=0,r>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62006?(EGL.setErrorCode(12301),1):(EGL.currentReadSurface==r&&(EGL.currentReadSurface=0),EGL.currentDrawSurface==r&&(EGL.currentDrawSurface=0),EGL.setErrorCode(12288),1)}_eglDestroySurface.sig="ipp";function _eglCreateContext(e,r,t,n){if(e>>>=0,r>>>=0,t>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;for(var a=1;;){var o=HEAP32[n>>>2>>>0];if(o==12440)a=HEAP32[n+4>>>2>>>0];else{if(o==12344)break;return EGL.setErrorCode(12292),0}n+=8}return a!=2?(EGL.setErrorCode(12293),0):(EGL.contextAttributes.majorVersion=a-1,EGL.contextAttributes.minorVersion=0,EGL.context=GL.createContext(Module.canvas,EGL.contextAttributes),EGL.context!=0?(EGL.setErrorCode(12288),GL.makeContextCurrent(EGL.context),Browser.useWebGL=!0,Browser.moduleContextCreatedCallbacks.forEach(_=>_()),GL.makeContextCurrent(null),62004):(EGL.setErrorCode(12297),0))}_eglCreateContext.sig="ppppp";function _eglDestroyContext(e,r){return e>>>=0,r>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):r!=62004?(EGL.setErrorCode(12294),0):(GL.deleteContext(EGL.context),EGL.setErrorCode(12288),EGL.currentContext==r&&(EGL.currentContext=0),1)}_eglDestroyContext.sig="ipp";function _eglQuerySurface(e,r,t,n){if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62006)return EGL.setErrorCode(12301),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12328:return HEAP32[n>>>2>>>0]=62002,1;case 12376:return 1;case 12375:return HEAP32[n>>>2>>>0]=Module.canvas.width,1;case 12374:return HEAP32[n>>>2>>>0]=Module.canvas.height,1;case 12432:return HEAP32[n>>>2>>>0]=-1,1;case 12433:return HEAP32[n>>>2>>>0]=-1,1;case 12434:return HEAP32[n>>>2>>>0]=-1,1;case 12422:return HEAP32[n>>>2>>>0]=12420,1;case 12441:return HEAP32[n>>>2>>>0]=12442,1;case 12435:return HEAP32[n>>>2>>>0]=12437,1;case 12416:case 12417:case 12418:case 12419:return 1;default:return EGL.setErrorCode(12292),0}}_eglQuerySurface.sig="ippip";function _eglQueryContext(e,r,t,n){if(e>>>=0,r>>>=0,n>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(r!=62004)return EGL.setErrorCode(12294),0;if(!n)return EGL.setErrorCode(12300),0;switch(EGL.setErrorCode(12288),t){case 12328:return HEAP32[n>>>2>>>0]=62002,1;case 12439:return HEAP32[n>>>2>>>0]=12448,1;case 12440:return HEAP32[n>>>2>>>0]=EGL.contextAttributes.majorVersion+1,1;case 12422:return HEAP32[n>>>2>>>0]=12420,1;default:return EGL.setErrorCode(12292),0}}_eglQueryContext.sig="ippip";var _eglGetError=()=>EGL.errorCode;_eglGetError.sig="i";function _eglQueryString(e,r){if(e>>>=0,e!=62e3)return EGL.setErrorCode(12296),0;if(EGL.setErrorCode(12288),EGL.stringCache[r])return EGL.stringCache[r];var t;switch(r){case 12371:t=stringToNewUTF8("Emscripten");break;case 12372:t=stringToNewUTF8("1.4 Emscripten EGL");break;case 12373:t=stringToNewUTF8("");break;case 12429:t=stringToNewUTF8("OpenGL_ES");break;default:return EGL.setErrorCode(12300),0}return EGL.stringCache[r]=t,t}_eglQueryString.sig="ppi";var _eglBindAPI=e=>e==12448?(EGL.setErrorCode(12288),1):(EGL.setErrorCode(12300),0);_eglBindAPI.sig="ii";var _eglQueryAPI=()=>(EGL.setErrorCode(12288),12448);_eglQueryAPI.sig="i";var _eglWaitClient=()=>(EGL.setErrorCode(12288),1);_eglWaitClient.sig="i";var _eglWaitNative=e=>(EGL.setErrorCode(12288),1);_eglWaitNative.sig="ii";var _eglWaitGL=_eglWaitClient;_eglWaitGL.sig="i";function _eglSwapInterval(e,r){return e>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):(r==0?_emscripten_set_main_loop_timing(0,0):_emscripten_set_main_loop_timing(1,r),EGL.setErrorCode(12288),1)}_eglSwapInterval.sig="ipi";function _eglMakeCurrent(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,e!=62e3?(EGL.setErrorCode(12296),0):n!=0&&n!=62004?(EGL.setErrorCode(12294),0):t!=0&&t!=62006||r!=0&&r!=62006?(EGL.setErrorCode(12301),0):(GL.makeContextCurrent(n?EGL.context:null),EGL.currentContext=n,EGL.currentDrawSurface=r,EGL.currentReadSurface=t,EGL.setErrorCode(12288),1)}_eglMakeCurrent.sig="ipppp";function _eglGetCurrentContext(){return EGL.currentContext}_eglGetCurrentContext.sig="p";function _eglGetCurrentSurface(e){return e==12378?EGL.currentReadSurface:e==12377?EGL.currentDrawSurface:(EGL.setErrorCode(12300),0)}_eglGetCurrentSurface.sig="pi";function _eglGetCurrentDisplay(){return EGL.currentContext?62e3:0}_eglGetCurrentDisplay.sig="p";function _eglSwapBuffers(e,r){if(e>>>=0,r>>>=0,!EGL.defaultDisplayInitialized)EGL.setErrorCode(12289);else if(!Module.ctx)EGL.setErrorCode(12290);else if(Module.ctx.isContextLost())EGL.setErrorCode(12302);else return EGL.setErrorCode(12288),1;return 0}_eglSwapBuffers.sig="ipp";var _eglReleaseThread=()=>(EGL.currentContext=0,EGL.currentReadSurface=0,EGL.currentDrawSurface=0,EGL.setErrorCode(12288),1);_eglReleaseThread.sig="i";function _uuid_clear(e){return e>>>=0,zeroMemory(e,16)}_uuid_clear.sig="vp";function _uuid_compare(e,r){return e>>>=0,r>>>=0,_memcmp(e,r,16)}_uuid_compare.sig="ipp";function _uuid_copy(e,r){return e>>>=0,r>>>=0,_memcpy(e,r,16)}_uuid_copy.sig="vpp";function _uuid_generate(e){e>>>=0;var r=null;if(ENVIRONMENT_IS_NODE)try{var t=K("crypto").randomBytes;r=t(16)}catch(_){}else ENVIRONMENT_IS_WEB&&typeof window.crypto<"u"&&typeof window.crypto.getRandomValues<"u"&&(r=new Uint8Array(16),window.crypto.getRandomValues(r));if(!r){r=new Array(16);for(var n=new Date().getTime(),a=0;a<16;a++){var o=(n+Math.random()*256)%256|0;n=n/256|0,r[a]=o}}r[6]=r[6]&15|64,r[8]=r[8]&63|128,writeArrayToMemory(r,e)}_uuid_generate.sig="vp";function _uuid_is_null(e){e>>>=0;for(var r=0;r<4;r++,e=e+4|0){var t=HEAP32[e>>>2>>>0];if(t)return 0}return 1}_uuid_is_null.sig="ip";function _uuid_parse(e,r){if(e>>>=0,r>>>=0,e=UTF8ToString(e),e.length===36){var t=0,n=new Array(16);return e.toLowerCase().replace(/[0-9a-f]{2}/g,function(a){t<16&&(n[t++]=parseInt(a,16))}),t<16?-1:(writeArrayToMemory(n,r),0)}return-1}_uuid_parse.sig="ipp";function _uuid_unparse(e,r,t){e>>>=0,r>>>=0;var n=0,a="xxxx-xx-xx-xx-xxxxxx".replace(/[x]/g,function(o){var _=t?HEAPU8[e+n>>>0].toString(16).toUpperCase():HEAPU8[e+n>>>0].toString(16);return _=_.length===1?"0"+_:_,n++,_});stringToUTF8(a,r,37)}_uuid_unparse.sig="vpp";function _uuid_unparse_lower(e,r){e>>>=0,r>>>=0,_uuid_unparse(e,r)}_uuid_unparse_lower.sig="vpp";function _uuid_unparse_upper(e,r){e>>>=0,r>>>=0,_uuid_unparse(e,r,!0)}_uuid_unparse_upper.sig="vpp";function _uuid_type(e){return e>>>=0,4}_uuid_type.sig="ip";function _uuid_variant(e){return e>>>=0,1}_uuid_variant.sig="ip";var GLEW={isLinaroFork:1,extensions:null,error:{0:null,1:null,2:null,3:null,4:null,5:null,6:null,7:null,8:null},version:{1:null,2:null,3:null,4:null},errorStringConstantFromCode(e){if(GLEW.isLinaroFork)switch(e){case 4:return"OpenGL ES lib expected, found OpenGL lib";case 5:return"OpenGL lib expected, found OpenGL ES lib";case 6:return"Missing EGL version";case 7:return"EGL 1.1 and up are supported";default:break}switch(e){case 0:return"No error";case 1:return"Missing GL version";case 2:return"GL 1.1 and up are supported";case 3:return"GLX 1.2 and up are supported";default:return null}},errorString(e){if(!GLEW.error[e]){var r=GLEW.errorStringConstantFromCode(e);r||(r="Unknown error",e=8),GLEW.error[e]=stringToNewUTF8(r)}return GLEW.error[e]},versionStringConstantFromCode(e){switch(e){case 1:return"1.10.0";case 2:return"1";case 3:return"10";case 4:return"0";default:return null}},versionString(e){if(!GLEW.version[e]){var r=GLEW.versionStringConstantFromCode(e);if(!r)return 0;GLEW.version[e]=stringToNewUTF8(r)}return GLEW.version[e]},extensionIsSupported(e){return GLEW.extensions||(GLEW.extensions=webglGetExtensions()),GLEW.extensions.includes(e)?1:GLEW.extensions.includes("GL_"+e)}},_glewInit=()=>0;_glewInit.sig="i";function _glewIsSupported(e){e>>>=0;for(var r=UTF8ToString(e).split(" "),t=0;t<r.length;++t)if(!GLEW.extensionIsSupported(r[t]))return 0;return 1}_glewIsSupported.sig="ip";function _glewGetExtension(e){return e>>>=0,GLEW.extensionIsSupported(UTF8ToString(e))}_glewGetExtension.sig="ip";function _glewGetErrorString(e){return GLEW.errorString(e)}_glewGetErrorString.sig="pi";function _glewGetString(e){return GLEW.versionString(e)}_glewGetString.sig="pi";var IDBStore={indexedDB(){if(typeof indexedDB<"u")return indexedDB;var e=null;return typeof window=="object"&&(e=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB),assert(e,"IDBStore used, but indexedDB not supported"),e},DB_VERSION:22,DB_STORE_NAME:"FILE_DATA",dbs:{},blobs:[0],getDB(e,r){var t=IDBStore.dbs[e];if(t)return r(null,t);var n;try{n=IDBStore.indexedDB().open(e,IDBStore.DB_VERSION)}catch(a){return r(a)}n.onupgradeneeded=a=>{var o=a.target.result,_=a.target.transaction,l;o.objectStoreNames.contains(IDBStore.DB_STORE_NAME)?l=_.objectStore(IDBStore.DB_STORE_NAME):l=o.createObjectStore(IDBStore.DB_STORE_NAME)},n.onsuccess=()=>{t=n.result,IDBStore.dbs[e]=t,r(null,t)},n.onerror=function(a){r(a.target.error||"unknown error"),a.preventDefault()}},getStore(e,r,t){IDBStore.getDB(e,(n,a)=>{if(n)return t(n);var o=a.transaction([IDBStore.DB_STORE_NAME],r);o.onerror=l=>{t(l.target.error||"unknown error"),l.preventDefault()};var _=o.objectStore(IDBStore.DB_STORE_NAME);t(null,_)})},getFile(e,r,t){IDBStore.getStore(e,"readonly",(n,a)=>{if(n)return t(n);var o=a.get(r);o.onsuccess=_=>{var l=_.target.result;return l?t(null,l):t("file ".concat(r," not found"))},o.onerror=t})},setFile(e,r,t,n){IDBStore.getStore(e,"readwrite",(a,o)=>{if(a)return n(a);var _=o.put(t,r);_.onsuccess=l=>n(),_.onerror=n})},deleteFile(e,r,t){IDBStore.getStore(e,"readwrite",(n,a)=>{if(n)return t(n);var o=a.delete(r);o.onsuccess=_=>t(),o.onerror=t})},existsFile(e,r,t){IDBStore.getStore(e,"readonly",(n,a)=>{if(n)return t(n);var o=a.count(r);o.onsuccess=_=>t(null,_.target.result>0),o.onerror=t})},clearStore(e,r){IDBStore.getStore(e,"readwrite",(t,n)=>{if(t)return r(t);var a=n.clear();a.onsuccess=o=>r(),a.onerror=r})}},_emscripten_idb_async_load=function(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,IDBStore.getFile(UTF8ToString(e),UTF8ToString(r),(o,_)=>{callUserCallback(()=>{if(o){a&&getWasmTableEntry(a)(t);return}var l=_malloc(_.length);HEAPU8.set(_,l>>>0),getWasmTableEntry(n)(t,l,_.length),_free(l)})})};_emscripten_idb_async_load.sig="vppppp";var _emscripten_idb_async_store=function(e,r,t,n,a,o,_){e>>>=0,r>>>=0,t>>>=0,a>>>=0,o>>>=0,_>>>=0,IDBStore.setFile(UTF8ToString(e),UTF8ToString(r),new Uint8Array(HEAPU8.subarray(t>>>0,t+n>>>0)),l=>{callUserCallback(()=>{if(l){_&&getWasmTableEntry(_)(a);return}o&&getWasmTableEntry(o)(a)})})};_emscripten_idb_async_store.sig="vpppippp";var _emscripten_idb_async_delete=function(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,IDBStore.deleteFile(UTF8ToString(e),UTF8ToString(r),o=>{callUserCallback(()=>{if(o){a&&getWasmTableEntry(a)(t);return}n&&getWasmTableEntry(n)(t)})})};_emscripten_idb_async_delete.sig="vppppp";var _emscripten_idb_async_exists=function(e,r,t,n,a){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,IDBStore.existsFile(UTF8ToString(e),UTF8ToString(r),(o,_)=>{callUserCallback(()=>{if(o){a&&getWasmTableEntry(a)(t);return}n&&getWasmTableEntry(n)(t,_)})})};_emscripten_idb_async_exists.sig="vppppp";var _emscripten_idb_async_clear=function(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0,IDBStore.clearStore(UTF8ToString(e),a=>{callUserCallback(()=>{if(a){n&&getWasmTableEntry(n)(r);return}t&&getWasmTableEntry(t)(r)})})};_emscripten_idb_async_clear.sig="vpppp";function _emscripten_idb_load(e,r,t,n,a){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_load, etc."}_emscripten_idb_load.sig="vppppp";function _emscripten_idb_store(e,r,t,n,a){throw e>>>=0,r>>>=0,t>>>=0,a>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_store, etc."}_emscripten_idb_store.sig="vpppip";function _emscripten_idb_delete(e,r,t){throw e>>>=0,r>>>=0,t>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_delete, etc."}_emscripten_idb_delete.sig="vppp";function _emscripten_idb_exists(e,r,t,n){throw e>>>=0,r>>>=0,t>>>=0,n>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_exists, etc."}_emscripten_idb_exists.sig="vpppp";function _emscripten_idb_clear(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use synchronous operations like emscripten_idb_clear, etc."}_emscripten_idb_clear.sig="vpp";var runAndAbortIfError=e=>{try{return e()}catch(r){abort(r)}},_emscripten_sleep=()=>{throw"Please compile your program with async support in order to use asynchronous operations like emscripten_sleep"};_emscripten_sleep.sig="vi";function _emscripten_wget(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_wget"}Module._emscripten_wget=_emscripten_wget,_emscripten_wget.sig="ipp";function _emscripten_scan_registers(e){throw e>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_scan_registers"}_emscripten_scan_registers.sig="vp";function _emscripten_fiber_swap(e,r){throw e>>>=0,r>>>=0,"Please compile your program with async support in order to use asynchronous operations like emscripten_fiber_swap"}_emscripten_fiber_swap.sig="vpp";var _SDL_GetTicks=()=>Date.now()-SDL.startTime|0;_SDL_GetTicks.sig="i";function _SDL_LockSurface(e){e>>>=0;var r=SDL.surfaces[e];if(r.locked++,r.locked>1||(r.buffer||(r.buffer=_malloc(r.width*r.height*4),HEAPU32[e+20>>>2>>>0]=r.buffer),HEAPU32[e+20>>>2>>>0]=r.buffer,e==SDL.screen&&Module.screenIsReadOnly&&r.image))return 0;if(SDL.defaults.discardOnLock){if(r.image||(r.image=r.ctx.createImageData(r.width,r.height)),!SDL.defaults.opaqueFrontBuffer)return}else r.image=r.ctx.getImageData(0,0,r.width,r.height);if(e==SDL.screen&&SDL.defaults.opaqueFrontBuffer)for(var t=r.image.data,n=t.length,a=0;a<n/4;a++)t[a*4+3]=255;if(SDL.defaults.copyOnLock&&!SDL.defaults.discardOnLock){if(r.isFlagSet(2097152))throw"CopyOnLock is not supported for SDL_LockSurface with SDL_HWPALETTE flag set"+new Error().stack;HEAPU8.set(r.image.data,r.buffer>>>0)}return 0}_SDL_LockSurface.sig="ip";var SDL={defaults:{width:320,height:200,copyOnLock:!0,discardOnLock:!1,opaqueFrontBuffer:!0},version:null,surfaces:{},canvasPool:[],events:[],fonts:[null],audios:[null],rwops:[null],music:{audio:null,volume:1},mixerFrequency:22050,mixerFormat:32784,mixerNumChannels:2,mixerChunkSize:1024,channelMinimumNumber:0,GL:!1,glAttributes:{0:3,1:3,2:2,3:0,4:0,5:1,6:16,7:0,8:0,9:0,10:0,11:0,12:0,13:0,14:0,15:1,16:0,17:0,18:0},keyboardState:null,keyboardMap:{},canRequestFullscreen:!1,isRequestingFullscreen:!1,textInput:!1,unicode:!1,ttfContext:null,audio:null,startTime:null,initFlags:0,buttonState:0,modState:0,DOMButtons:[0,0,0],DOMEventToSDLEvent:{},TOUCH_DEFAULT_ID:0,eventHandler:null,eventHandlerContext:null,eventHandlerTemp:0,keyCodes:{16:1249,17:1248,18:1250,20:1081,33:1099,34:1102,35:1101,36:1098,37:1104,38:1106,39:1103,40:1105,44:316,45:1097,46:127,91:1251,93:1125,96:1122,97:1113,98:1114,99:1115,100:1116,101:1117,102:1118,103:1119,104:1120,105:1121,106:1109,107:1111,109:1110,110:1123,111:1108,112:1082,113:1083,114:1084,115:1085,116:1086,117:1087,118:1088,119:1089,120:1090,121:1091,122:1092,123:1093,124:1128,125:1129,126:1130,127:1131,128:1132,129:1133,130:1134,131:1135,132:1136,133:1137,134:1138,135:1139,144:1107,160:94,161:33,162:34,163:35,164:36,165:37,166:38,167:95,168:40,169:41,170:42,171:43,172:124,173:45,174:123,175:125,176:126,181:127,182:129,183:128,188:44,190:46,191:47,192:96,219:91,220:92,221:93,222:39,224:1251},scanCodes:{8:42,9:43,13:40,27:41,32:44,35:204,39:53,44:54,46:55,47:56,48:39,49:30,50:31,51:32,52:33,53:34,54:35,55:36,56:37,57:38,58:203,59:51,61:46,91:47,92:49,93:48,96:52,97:4,98:5,99:6,100:7,101:8,102:9,103:10,104:11,105:12,106:13,107:14,108:15,109:16,110:17,111:18,112:19,113:20,114:21,115:22,116:23,117:24,118:25,119:26,120:27,121:28,122:29,127:76,305:224,308:226,316:70},loadRect(e){return{x:HEAP32[e>>>2>>>0],y:HEAP32[e+4>>>2>>>0],w:HEAP32[e+8>>>2>>>0],h:HEAP32[e+12>>>2>>>0]}},updateRect(e,r){HEAP32[e>>>2>>>0]=r.x,HEAP32[e+4>>>2>>>0]=r.y,HEAP32[e+8>>>2>>>0]=r.w,HEAP32[e+12>>>2>>>0]=r.h},intersectionOfRects(e,r){var t=Math.max(e.x,r.x),n=Math.max(e.y,r.y),a=Math.min(e.x+e.w,r.x+r.w),o=Math.min(e.y+e.h,r.y+r.h);return{x:t,y:n,w:Math.max(t,a)-t,h:Math.max(n,o)-n}},checkPixelFormat(e){},loadColorToCSSRGB(e){var r=HEAP32[e>>>2>>>0];return"rgb("+(r&255)+","+(r>>8&255)+","+(r>>16&255)+")"},loadColorToCSSRGBA(e){var r=HEAP32[e>>>2>>>0];return"rgba("+(r&255)+","+(r>>8&255)+","+(r>>16&255)+","+(r>>24&255)/255+")"},translateColorToCSSRGBA:e=>"rgba("+(e&255)+","+(e>>8&255)+","+(e>>16&255)+","+(e>>>24)/255+")",translateRGBAToCSSRGBA:(e,r,t,n)=>"rgba("+(e&255)+","+(r&255)+","+(t&255)+","+(n&255)/255+")",translateRGBAToColor:(e,r,t,n)=>e|r<<8|t<<16|n<<24,makeSurface(e,r,t,n,a,o,_,l,c){var u=t&1,d=t&2097152,f=t&67108864,p=_malloc(60),m=_malloc(44),v=d?1:4,g=0;!u&&!f&&(g=_malloc(e*r*4)),HEAP32[p>>>2>>>0]=t,HEAPU32[p+4>>>2>>>0]=m,HEAP32[p+8>>>2>>>0]=e,HEAP32[p+12>>>2>>>0]=r,HEAP32[p+16>>>2>>>0]=e*v,HEAPU32[p+20>>>2>>>0]=g,HEAP32[p+36>>>2>>>0]=0,HEAP32[p+40>>>2>>>0]=0,HEAP32[p+44>>>2>>>0]=Module.canvas.width,HEAP32[p+48>>>2>>>0]=Module.canvas.height,HEAP32[p+56>>>2>>>0]=1,HEAP32[m>>>2>>>0]=-2042224636,HEAP32[m+4>>>2>>>0]=0,HEAP8[m+8>>>0]=v*8,HEAP8[m+9>>>0]=v,HEAP32[m+12>>>2>>>0]=o||255,HEAP32[m+16>>>2>>>0]=_||65280,HEAP32[m+20>>>2>>>0]=l||16711680,HEAP32[m+24>>>2>>>0]=c||4278190080,SDL.GL=SDL.GL||f;var S;n?S=Module.canvas:(SDL.canvasPool.length>0?S=SDL.canvasPool.pop():S=document.createElement("canvas"),S.width=e,S.height=r);var h={antialias:SDL.glAttributes[13]!=0&&SDL.glAttributes[14]>1,depth:SDL.glAttributes[6]>0,stencil:SDL.glAttributes[7]>0,alpha:SDL.glAttributes[3]>0},b=Browser.createContext(S,f,n,h);return SDL.surfaces[p]={width:e,height:r,canvas:S,ctx:b,surf:p,buffer:g,pixelFormat:m,alpha:255,flags:t,locked:0,usePageCanvas:n,source:a,isFlagSet:A=>t&A},p},copyIndexedColorData(e,r,t,n,a){if(e.colors){var o=Module.canvas.width,_=Module.canvas.height,l=r||0,c=t||0,u=(n||o-l)+l,d=(a||_-c)+c,f=e.buffer;e.image.data32||(e.image.data32=new Uint32Array(e.image.data.buffer));for(var p=e.image.data32,m=e.colors32,v=c;v<d;++v)for(var g=v*o,S=l;S<u;++S)p[g+S]=m[HEAPU8[f+(g+S)>>>0]]}},freeSurface(e){var r=e+56,t=HEAP32[r>>>2>>>0];if(t>1){HEAP32[r>>>2>>>0]=t-1;return}var n=SDL.surfaces[e];!n.usePageCanvas&&n.canvas&&SDL.canvasPool.push(n.canvas),n.buffer&&_free(n.buffer),_free(n.pixelFormat),_free(e),SDL.surfaces[e]=null,e===SDL.screen&&(SDL.screen=null)},blitSurface(e,r,t,n,a){var o=SDL.surfaces[e],_=SDL.surfaces[t],l,c;if(r?l=SDL.loadRect(r):l={x:0,y:0,w:o.width,h:o.height},n?c=SDL.loadRect(n):c={x:0,y:0,w:o.width,h:o.height},_.clipRect){var u=!a||l.w===0?1:l.w/c.w,d=!a||l.h===0?1:l.h/c.h;c=SDL.intersectionOfRects(_.clipRect,c),l.w=c.w*u,l.h=c.h*d,n&&SDL.updateRect(n,c)}var f,p;if(a?(f=c.w,p=c.h):(f=l.w,p=l.h),l.w===0||l.h===0||f===0||p===0)return 0;var m=_.ctx.globalAlpha;return _.ctx.globalAlpha=o.alpha/255,_.ctx.drawImage(o.canvas,l.x,l.y,l.w,l.h,c.x,c.y,f,p),_.ctx.globalAlpha=m,t!=SDL.screen&&(warnOnce("WARNING: copying canvas data to memory for compatibility"),_SDL_LockSurface(t),_.locked--),0},downFingers:{},savedKeydown:null,receiveEvent(e){function r(){for(var d in SDL.keyboardMap)SDL.events.push({type:"keyup",keyCode:SDL.keyboardMap[d]})}switch(e.type){case"touchstart":case"touchmove":{e.preventDefault();var t=[];if(e.type==="touchstart")for(var n=0;n<e.touches.length;n++){var a=e.touches[n];SDL.downFingers[a.identifier]!=!0&&(SDL.downFingers[a.identifier]=!0,t.push(a))}else t=e.touches;var o=t[0];if(o){e.type=="touchstart"&&(SDL.DOMButtons[0]=1);var _;switch(e.type){case"touchstart":_="mousedown";break;case"touchmove":_="mousemove";break}var l={type:_,button:0,pageX:o.clientX,pageY:o.clientY};SDL.events.push(l)}for(var n=0;n<t.length;n++){var a=t[n];SDL.events.push({type:e.type,touch:a})}break}case"touchend":{e.preventDefault();for(var n=0;n<e.changedTouches.length;n++){var a=e.changedTouches[n];SDL.downFingers[a.identifier]===!0&&delete SDL.downFingers[a.identifier]}var l={type:"mouseup",button:0,pageX:e.changedTouches[0].clientX,pageY:e.changedTouches[0].clientY};SDL.DOMButtons[0]=0,SDL.events.push(l);for(var n=0;n<e.changedTouches.length;n++){var a=e.changedTouches[n];SDL.events.push({type:"touchend",touch:a})}break}case"DOMMouseScroll":case"mousewheel":case"wheel":var c=-Browser.getMouseWheelDelta(e);c=c==0?0:c>0?Math.max(c,1):Math.min(c,-1);var u=c>0?3:4;SDL.events.push({type:"mousedown",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"mouseup",button:u,pageX:e.pageX,pageY:e.pageY}),SDL.events.push({type:"wheel",deltaX:0,deltaY:c}),e.preventDefault();break;case"mousemove":if(SDL.DOMButtons[0]===1&&SDL.events.push({type:"touchmove",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),Browser.pointerLock&&("mozMovementX"in e&&(e.movementX=e.mozMovementX,e.movementY=e.mozMovementY),e.movementX==0&&e.movementY==0)){e.preventDefault();return}case"keydown":case"keyup":case"keypress":case"mousedown":case"mouseup":if((e.type!=="keydown"||!SDL.unicode&&!SDL.textInput||e.keyCode===8||e.keyCode===9)&&e.preventDefault(),e.type=="mousedown")SDL.DOMButtons[e.button]=1,SDL.events.push({type:"touchstart",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}});else if(e.type=="mouseup"){if(!SDL.DOMButtons[e.button])return;SDL.events.push({type:"touchend",touch:{identifier:0,deviceID:-1,pageX:e.pageX,pageY:e.pageY}}),SDL.DOMButtons[e.button]=0}e.type==="keydown"||e.type==="mousedown"?SDL.canRequestFullscreen=!0:(e.type==="keyup"||e.type==="mouseup")&&(SDL.isRequestingFullscreen&&(Module.requestFullscreen(!0,!0),SDL.isRequestingFullscreen=!1),SDL.canRequestFullscreen=!1),e.type==="keypress"&&SDL.savedKeydown?(SDL.savedKeydown.keypressCharCode=e.charCode,SDL.savedKeydown=null):e.type==="keydown"&&(SDL.savedKeydown=e),(e.type!=="keypress"||SDL.textInput)&&SDL.events.push(e);break;case"mouseout":for(var n=0;n<3;n++)SDL.DOMButtons[n]&&(SDL.events.push({type:"mouseup",button:n,pageX:e.pageX,pageY:e.pageY}),SDL.DOMButtons[n]=0);e.preventDefault();break;case"focus":SDL.events.push(e),e.preventDefault();break;case"blur":SDL.events.push(e),r(),e.preventDefault();break;case"visibilitychange":SDL.events.push({type:"visibilitychange",visible:!document.hidden}),r(),e.preventDefault();break;case"unload":MainLoop.runner&&(SDL.events.push(e),MainLoop.runner());return;case"resize":SDL.events.push(e),e.preventDefault&&e.preventDefault();break}SDL.events.length>=1e4&&(err("SDL event queue full, dropping events"),SDL.events=SDL.events.slice(0,1e4)),SDL.flushEventsToHandler()},lookupKeyCodeForEvent(e){var r=e.keyCode;return r>=65&&r<=90?r+=32:(r=SDL.keyCodes[e.keyCode]||e.keyCode,e.location===2&&r>=1248&&r<=1251&&(r+=4)),r},handleEvent(e){if(!e.handled)switch(e.handled=!0,e.type){case"touchstart":case"touchend":case"touchmove":{Browser.calculateMouseEvent(e);break}case"keydown":case"keyup":{var r=e.type==="keydown",t=SDL.lookupKeyCodeForEvent(e);HEAP8[SDL.keyboardState+t>>>0]=r,SDL.modState=(HEAP8[SDL.keyboardState+1248>>>0]?64:0)|(HEAP8[SDL.keyboardState+1249>>>0]?1:0)|(HEAP8[SDL.keyboardState+1250>>>0]?256:0)|(HEAP8[SDL.keyboardState+1252>>>0]?128:0)|(HEAP8[SDL.keyboardState+1253>>>0]?2:0)|(HEAP8[SDL.keyboardState+1254>>>0]?512:0),r?SDL.keyboardMap[t]=e.keyCode:delete SDL.keyboardMap[t];break}case"mousedown":case"mouseup":e.type=="mousedown"?SDL.buttonState|=1<<e.button:e.type=="mouseup"&&(SDL.buttonState&=~(1<<e.button));case"mousemove":{Browser.calculateMouseEvent(e);break}}},flushEventsToHandler(){if(SDL.eventHandler)for(;SDL.pollEvent(SDL.eventHandlerTemp);)getWasmTableEntry(SDL.eventHandler)(SDL.eventHandlerContext,SDL.eventHandlerTemp)},pollEvent(e){if(SDL.initFlags&512&&SDL.joystickEventState&&SDL.queryJoysticks(),e){for(;SDL.events.length>0;)if(SDL.makeCEvent(SDL.events.shift(),e)!==!1)return 1;return 0}return SDL.events.length>0},makeCEvent(e,r){if(typeof e=="number"){_memcpy(r,e,28),_free(e);return}switch(SDL.handleEvent(e),e.type){case"keydown":case"keyup":{var t=e.type==="keydown",n=SDL.lookupKeyCodeForEvent(e),a;n>=1024?a=n-1024:a=SDL.scanCodes[n]||n,HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP8[r+8>>>0]=t?1:0,HEAP8[r+9>>>0]=0,HEAP32[r+12>>>2>>>0]=a,HEAP32[r+16>>>2>>>0]=n,HEAP16[r+20>>>1>>>0]=SDL.modState,HEAP32[r+24>>>2>>>0]=e.keypressCharCode||n;break}case"keypress":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type];for(var o=intArrayFromString(String.fromCharCode(e.charCode)),_=0;_<o.length;++_)HEAP8[r+(8+_)>>>0]=o[_];break}case"mousedown":case"mouseup":case"mousemove":{if(e.type!="mousemove"){var t=e.type==="mousedown";HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP32[r+8>>>2>>>0]=0,HEAP32[r+12>>>2>>>0]=0,HEAP8[r+16>>>0]=e.button+1,HEAP8[r+17>>>0]=t?1:0,HEAP32[r+20>>>2>>>0]=Browser.mouseX,HEAP32[r+24>>>2>>>0]=Browser.mouseY}else HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP32[r+8>>>2>>>0]=0,HEAP32[r+12>>>2>>>0]=0,HEAP32[r+16>>>2>>>0]=SDL.buttonState,HEAP32[r+20>>>2>>>0]=Browser.mouseX,HEAP32[r+24>>>2>>>0]=Browser.mouseY,HEAP32[r+28>>>2>>>0]=Browser.mouseMovementX,HEAP32[r+32>>>2>>>0]=Browser.mouseMovementY;break}case"wheel":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+16>>>2>>>0]=e.deltaX,HEAP32[r+20>>>2>>>0]=e.deltaY;break}case"touchstart":case"touchend":case"touchmove":{var l=e.touch;if(!Browser.touches[l.identifier])break;var c=Module.canvas.width,u=Module.canvas.height,d=Browser.touches[l.identifier].x/c,f=Browser.touches[l.identifier].y/u,p=Browser.lastTouches[l.identifier].x/c,m=Browser.lastTouches[l.identifier].y/u,v=d-p,g=f-m;if(l.deviceID===void 0&&(l.deviceID=SDL.TOUCH_DEFAULT_ID),v===0&&g===0&&e.type==="touchmove")return!1;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=_SDL_GetTicks(),tempI64=[l.deviceID>>>0,(tempDouble=l.deviceID,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+8>>>2>>>0]=tempI64[0],HEAP32[r+12>>>2>>>0]=tempI64[1],tempI64=[l.identifier>>>0,(tempDouble=l.identifier,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[r+16>>>2>>>0]=tempI64[0],HEAP32[r+20>>>2>>>0]=tempI64[1],HEAPF32[r+24>>>2>>>0]=d,HEAPF32[r+28>>>2>>>0]=f,HEAPF32[r+32>>>2>>>0]=v,HEAPF32[r+36>>>2>>>0]=g,l.force!==void 0?HEAPF32[r+40>>>2>>>0]=l.force:HEAPF32[r+40>>>2>>>0]=e.type=="touchend"?0:1;break}case"unload":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type];break}case"resize":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=e.w,HEAP32[r+8>>>2>>>0]=e.h;break}case"joystick_button_up":case"joystick_button_down":{var S=e.type==="joystick_button_up"?0:1;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP8[r+4>>>0]=e.index,HEAP8[r+5>>>0]=e.button,HEAP8[r+6>>>0]=S;break}case"joystick_axis_motion":{HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP8[r+4>>>0]=e.index,HEAP8[r+5>>>0]=e.axis,HEAP32[r+8>>>2>>>0]=SDL.joystickAxisValueConversion(e.value);break}case"focus":{var h=12;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP8[r+8>>>0]=h;break}case"blur":{var b=13;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP8[r+8>>>0]=b;break}case"visibilitychange":{var A=1,w=2,L=e.visible?A:w;HEAP32[r>>>2>>>0]=SDL.DOMEventToSDLEvent[e.type],HEAP32[r+4>>>2>>>0]=0,HEAP8[r+8>>>0]=L;break}default:throw"Unhandled SDL event: "+e.type}},makeFontString(e,r){return r.charAt(0)!="'"&&r.charAt(0)!='"'&&(r='"'+r+'"'),e+"px "+r+", serif"},estimateTextWidth(e,r){var t=e.size,n=SDL.makeFontString(t,e.name),a=SDL.ttfContext;a.font=n;var o=a.measureText(r).width|0;return o},allocateChannels(e){if(!(SDL.numChannels&&SDL.numChannels>=e&&e!=0)){SDL.numChannels=e,SDL.channels=[];for(var r=0;r<e;r++)SDL.channels[r]={audio:null,volume:1}}},setGetVolume(e,r){if(!e)return 0;var t=e.volume*128;if(r!=-1&&(e.volume=Math.min(Math.max(r,0),128)/128,e.audio))try{e.audio.volume=e.volume,e.audio.webAudioGainNode&&(e.audio.webAudioGainNode.gain.value=e.volume)}catch(n){err("setGetVolume failed to set audio volume: ".concat(n))}return t},setPannerPosition(e,r,t,n){e&&e.audio&&e.audio.webAudioPannerNode&&e.audio.webAudioPannerNode.setPosition(r,t,n)},playWebAudio(e){if(e&&!e.webAudioNode&&SDL.webAudioAvailable())try{var r=e.resource.webAudio;if(e.paused=!1,!r.decodedBuffer){r.onDecodeComplete===void 0&&abort("Cannot play back audio object that was not loaded"),r.onDecodeComplete.push(()=>{e.paused||SDL.playWebAudio(e)});return}e.webAudioNode=SDL.audioContext.createBufferSource(),e.webAudioNode.buffer=r.decodedBuffer,e.webAudioNode.loop=e.loop,e.webAudioNode.onended=e.onended,e.webAudioPannerNode=SDL.audioContext.createPanner(),e.webAudioPannerNode.setPosition(0,0,-.5),e.webAudioPannerNode.panningModel="equalpower",e.webAudioGainNode=SDL.audioContext.createGain(),e.webAudioGainNode.gain.value=e.volume,e.webAudioNode.connect(e.webAudioPannerNode),e.webAudioPannerNode.connect(e.webAudioGainNode),e.webAudioGainNode.connect(SDL.audioContext.destination),e.webAudioNode.start(0,e.currentPosition),e.startTime=SDL.audioContext.currentTime-e.currentPosition}catch(t){err("playWebAudio failed: ".concat(t))}},pauseWebAudio(e){if(e){if(e.webAudioNode)try{e.currentPosition=(SDL.audioContext.currentTime-e.startTime)%e.resource.webAudio.decodedBuffer.duration,e.webAudioNode.onended=void 0,e.webAudioNode.stop(0),e.webAudioNode=void 0}catch(r){err("pauseWebAudio failed: ".concat(r))}e.paused=!0}},openAudioContext(){SDL.audioContext||(typeof AudioContext<"u"?SDL.audioContext=new AudioContext:typeof webkitAudioContext<"u"&&(SDL.audioContext=new webkitAudioContext))},webAudioAvailable:()=>!!SDL.audioContext,fillWebAudioBufferFromHeap(e,r,t){for(var n=SDL.audio,a=n.channels,o=0;o<a;++o){var _=t.getChannelData(o);if(_.length!=r)throw"Web Audio output buffer length mismatch! Destination size: "+_.length+" samples vs expected "+r+" samples!";if(n.format==32784)for(var l=0;l<r;++l)_[l]=HEAP16[e+(l*a+o)*2>>>1>>>0]/32768;else if(n.format==8)for(var l=0;l<r;++l){var c=HEAP8[e+(l*a+o)>>>0];_[l]=(c>=0?c-128:c+128)/128}else if(n.format==33056)for(var l=0;l<r;++l)_[l]=HEAPF32[e+(l*a+o)*4>>>2>>>0];else throw"Invalid SDL audio format "+n.format+"!"}},joystickEventState:1,lastJoystickState:{},joystickNamePool:{},recordJoystickState(e,r){for(var t=new Array(r.buttons.length),n=0;n<r.buttons.length;n++)t[n]=SDL.getJoystickButtonState(r.buttons[n]);SDL.lastJoystickState[e]={buttons:t,axes:r.axes.slice(0),timestamp:r.timestamp,index:r.index,id:r.id}},getJoystickButtonState(e){return typeof e=="object"?e.pressed:e>0},queryJoysticks(){for(var e in SDL.lastJoystickState){var r=SDL.getGamepad(e-1),t=SDL.lastJoystickState[e];if(typeof r>"u"||r===null)return;if(typeof r.timestamp!="number"||r.timestamp!=t.timestamp||!r.timestamp){var n;for(n=0;n<r.buttons.length;n++){var a=SDL.getJoystickButtonState(r.buttons[n]);a!==t.buttons[n]&&SDL.events.push({type:a?"joystick_button_down":"joystick_button_up",joystick:e,index:e-1,button:n})}for(n=0;n<r.axes.length;n++)r.axes[n]!==t.axes[n]&&SDL.events.push({type:"joystick_axis_motion",joystick:e,index:e-1,axis:n,value:r.axes[n]});SDL.recordJoystickState(e,r)}}},joystickAxisValueConversion(e){return e=Math.min(1,Math.max(e,-1)),Math.ceil((e+1)*32767.5-32768)},getGamepads(){var e=navigator.getGamepads||navigator.webkitGamepads||navigator.mozGamepads||navigator.gamepads||navigator.webkitGetGamepads;return e!==void 0?e.apply(navigator):[]},getGamepad(e){var r=SDL.getGamepads();return r.length>e&&e>=0?r[e]:null}};function _SDL_Linked_Version(){return SDL.version===null&&(SDL.version=_malloc(3),HEAP8[SDL.version>>>0]=1,HEAP8[SDL.version+1>>>0]=3,HEAP8[SDL.version+2>>>0]=0),SDL.version}_SDL_Linked_Version.sig="p";var _SDL_Init=e=>{if(SDL.startTime=Date.now(),SDL.initFlags=e,!Module.doNotCaptureKeyboard){var r=Module.keyboardListeningElement||document;r.addEventListener("keydown",SDL.receiveEvent),r.addEventListener("keyup",SDL.receiveEvent),r.addEventListener("keypress",SDL.receiveEvent),window.addEventListener("focus",SDL.receiveEvent),window.addEventListener("blur",SDL.receiveEvent),document.addEventListener("visibilitychange",SDL.receiveEvent)}return window.addEventListener("unload",SDL.receiveEvent),SDL.keyboardState=_calloc(65536,1),SDL.DOMEventToSDLEvent.keydown=768,SDL.DOMEventToSDLEvent.keyup=769,SDL.DOMEventToSDLEvent.keypress=771,SDL.DOMEventToSDLEvent.mousedown=1025,SDL.DOMEventToSDLEvent.mouseup=1026,SDL.DOMEventToSDLEvent.mousemove=1024,SDL.DOMEventToSDLEvent.wheel=1027,SDL.DOMEventToSDLEvent.touchstart=1792,SDL.DOMEventToSDLEvent.touchend=1793,SDL.DOMEventToSDLEvent.touchmove=1794,SDL.DOMEventToSDLEvent.unload=256,SDL.DOMEventToSDLEvent.resize=28673,SDL.DOMEventToSDLEvent.visibilitychange=512,SDL.DOMEventToSDLEvent.focus=512,SDL.DOMEventToSDLEvent.blur=512,SDL.DOMEventToSDLEvent.joystick_axis_motion=1536,SDL.DOMEventToSDLEvent.joystick_button_down=1539,SDL.DOMEventToSDLEvent.joystick_button_up=1540,0};_SDL_Init.sig="ii";var _SDL_WasInit=e=>(SDL.startTime===null&&_SDL_Init(0),1);_SDL_WasInit.sig="ii";function _SDL_GetVideoInfo(){var e=_calloc(20,1);return HEAP32[e+12>>>2>>>0]=Module.canvas.width,HEAP32[e+16>>>2>>>0]=Module.canvas.height,e}_SDL_GetVideoInfo.sig="p";function _SDL_ListModes(e,r){return e>>>=0,-1}_SDL_ListModes.sig="ppi";var _SDL_VideoModeOK=(e,r,t,n)=>t;_SDL_VideoModeOK.sig="iiiii";function _SDL_VideoDriverName(e,r){if(e>>>=0,SDL.startTime===null)return 0;var t=[101,109,115,99,114,105,112,116,101,110,95,115,100,108,95,100,114,105,118,101,114],n=0,a=t.length;for(r<=a&&(a=r-1);n<a;){var o=t[n];HEAP8[e+n>>>0]=o,n++}return HEAP8[e+n>>>0]=0,e}_SDL_VideoDriverName.sig="ppi";var _SDL_AudioDriverName=_SDL_VideoDriverName;_SDL_AudioDriverName.sig="ppi";var _SDL_SetVideoMode=function(e,r,t,n){["touchstart","touchend","touchmove","mousedown","mouseup","mousemove","mousewheel","wheel","mouseout","DOMMouseScroll"].forEach(o=>Module.canvas.addEventListener(o,SDL.receiveEvent,!0));var a=Module.canvas;return e==0&&r==0&&(e=a.width,r=a.height),SDL.addedResizeListener||(SDL.addedResizeListener=!0,Browser.resizeListeners.push((o,_)=>{SDL.settingVideoMode||SDL.receiveEvent({type:"resize",w:o,h:_})})),SDL.settingVideoMode=!0,Browser.setCanvasSize(e,r),SDL.settingVideoMode=!1,SDL.screen&&(SDL.freeSurface(SDL.screen),assert(!SDL.screen)),SDL.GL&&(n=n|67108864),SDL.screen=SDL.makeSurface(e,r,n,!0,"screen"),SDL.screen};_SDL_SetVideoMode.sig="piiii";function _SDL_GetVideoSurface(){return SDL.screen}_SDL_GetVideoSurface.sig="p";var _SDL_AudioQuit=()=>{for(var e=0;e<SDL.numChannels;++e){var r=SDL.channels[e];r.audio&&(r.audio.pause(),r.audio=void 0)}var t=SDL.music.audio;t==null||t.pause(),SDL.music.audio=void 0};_SDL_AudioQuit.sig="v";var _SDL_VideoQuit=()=>out("SDL_VideoQuit called (and ignored)");_SDL_VideoQuit.sig="v";var _SDL_QuitSubSystem=e=>out("SDL_QuitSubSystem called (and ignored)");_SDL_QuitSubSystem.sig="vi";var _SDL_Quit=()=>{_SDL_AudioQuit(),out("SDL_Quit called (and ignored)")};_SDL_Quit.sig="v";function _SDL_UnlockSurface(e){e>>>=0,assert(!SDL.GL);var r=SDL.surfaces[e];if(!(!r.locked||--r.locked>0)){if(r.isFlagSet(2097152))SDL.copyIndexedColorData(r);else if(r.colors)for(var m=Module.canvas.width,v=Module.canvas.height,g=r.buffer,t=r.image.data,S=r.colors,h=0;h<v;h++){for(var b=h*m*4,A=0;A<m;A++){var c=HEAPU8[g++>>>0]*4,w=b+A*4;t[w]=S[c],t[w+1]=S[c+1],t[w+2]=S[c+2]}g+=m*3}else{var t=r.image.data,n=r.buffer;assert(n%4==0,"Invalid buffer offset: "+n);var a=n>>>2,o=0,_=e==SDL.screen,l;if(typeof CanvasPixelArray<"u"&&t instanceof CanvasPixelArray)for(l=t.length;o<l;){var c=HEAP32[a>>>0];t[o]=c&255,t[o+1]=c>>8&255,t[o+2]=c>>16&255,t[o+3]=_?255:c>>24&255,a++,o+=4}else{var u=new Uint32Array(t.buffer);if(_&&SDL.defaults.opaqueFrontBuffer){l=u.length,u.set(HEAP32.subarray(a>>>0,a+l>>>0));var d=new Uint8Array(t.buffer),f=3,p=f+4*l;if(l%8==0)for(;f<p;)d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0,d[f]=255,f=f+4|0;else for(;f<p;)d[f]=255,f=f+4|0}else u.set(HEAP32.subarray(a>>>0,a+u.length>>>0))}}r.ctx.putImageData(r.image,0,0)}}_SDL_UnlockSurface.sig="vp";function _SDL_Flip(e){e>>>=0}_SDL_Flip.sig="ip";function _SDL_UpdateRect(e,r,t,n,a){e>>>=0}_SDL_UpdateRect.sig="vpiiii";function _SDL_UpdateRects(e,r,t){e>>>=0,t>>>=0}_SDL_UpdateRects.sig="vpip";var _SDL_Delay=e=>{ENVIRONMENT_IS_WORKER||abort("SDL_Delay called on the main thread! Potential infinite loop, quitting. (consider building with async support like ASYNCIFY)");for(var r=Date.now();Date.now()-r<e;);};_SDL_Delay.sig="vi";function _SDL_WM_SetCaption(e,r){e>>>=0,r>>>=0,e&&_emscripten_set_window_title(e),r&&(r=UTF8ToString(r))}_SDL_WM_SetCaption.sig="vpp";var _SDL_EnableKeyRepeat=(e,r)=>{};_SDL_EnableKeyRepeat.sig="iii";function _SDL_GetKeyboardState(e){return e>>>=0,e&&(HEAP32[e>>>2>>>0]=65536),SDL.keyboardState}_SDL_GetKeyboardState.sig="pp";var _SDL_GetKeyState=()=>_SDL_GetKeyboardState(0);function _SDL_GetKeyName(e){return SDL.keyName||(SDL.keyName=stringToNewUTF8("unknown key")),SDL.keyName}_SDL_GetKeyName.sig="pi";var _SDL_GetModState=()=>SDL.modState;_SDL_GetModState.sig="i";function _SDL_GetMouseState(e,r){return e>>>=0,r>>>=0,e&&(HEAP32[e>>>2>>>0]=Browser.mouseX),r&&(HEAP32[r>>>2>>>0]=Browser.mouseY),SDL.buttonState}_SDL_GetMouseState.sig="ipp";var _SDL_WarpMouse=(e,r)=>{};_SDL_WarpMouse.sig="vii";var _SDL_ShowCursor=e=>{switch(e){case 0:return Browser.isFullscreen?(Module.canvas.requestPointerLock(),0):1;case 1:return Module.canvas.exitPointerLock(),1;case-1:return!Browser.pointerLock;default:err("SDL_ShowCursor called with unknown toggle parameter value: ".concat(e));break}};_SDL_ShowCursor.sig="ii";function _SDL_GetError(){return SDL.errorMessage||(SDL.errorMessage=stringToNewUTF8("unknown SDL-emscripten error")),SDL.errorMessage}_SDL_GetError.sig="p";function _SDL_SetError(e,r){e>>>=0,r>>>=0}_SDL_SetError.sig="vpp";function _SDL_CreateRGBSurface(e,r,t,n,a,o,_,l){return SDL.makeSurface(r,t,e,!1,"CreateRGBSurface",a,o,_,l)}_SDL_CreateRGBSurface.sig="piiiiiiii";function _SDL_CreateRGBSurfaceFrom(e,r,t,n,a,o,_,l,c){e>>>=0;var u=SDL.makeSurface(r,t,0,!1,"CreateRGBSurfaceFrom",o,_,l,c);if(n!==32)return err("TODO: Partially unimplemented SDL_CreateRGBSurfaceFrom called!"),u;for(var d=SDL.surfaces[u],f=d.ctx.createImageData(r,t),p=r*4,m=0;m<t;++m)for(var v=m*a,g=m*p,S=0;S<r*4;++S)f.data[g+S]=HEAPU8[e+(g+S)>>>0];return d.ctx.putImageData(f,0,0),u}_SDL_CreateRGBSurfaceFrom.sig="ppiiiiiiii";function _SDL_ConvertSurface(e,r,t){e>>>=0,r>>>=0,r&&SDL.checkPixelFormat(r);var n=SDL.surfaces[e],a=SDL.makeSurface(n.width,n.height,n.flags,!1,"copy:"+n.source),o=SDL.surfaces[a];return o.ctx.globalCompositeOperation="copy",o.ctx.drawImage(n.canvas,0,0),o.ctx.globalCompositeOperation=n.ctx.globalCompositeOperation,a}_SDL_ConvertSurface.sig="pppi";function _SDL_DisplayFormatAlpha(e){return e>>>=0,_SDL_ConvertSurface(e,0,0)}_SDL_DisplayFormatAlpha.sig="pp";function _SDL_FreeSurface(e){e>>>=0,e&&SDL.freeSurface(e)}_SDL_FreeSurface.sig="vp";function _SDL_UpperBlit(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,SDL.blitSurface(e,r,t,n,!1)}_SDL_UpperBlit.sig="ipppp";function _SDL_UpperBlitScaled(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,SDL.blitSurface(e,r,t,n,!0)}_SDL_UpperBlitScaled.sig="ipppp";var _SDL_LowerBlit=_SDL_UpperBlit;_SDL_LowerBlit.sig="ipppp";var _SDL_LowerBlitScaled=_SDL_UpperBlitScaled;_SDL_LowerBlitScaled.sig="ipppp";function _SDL_GetClipRect(e,r){e>>>=0,r>>>=0,assert(r);var t=SDL.surfaces[e],n=t.clipRect||{x:0,y:0,w:t.width,h:t.height};SDL.updateRect(r,n)}_SDL_GetClipRect.sig="vpp";function _SDL_SetClipRect(e,r){e>>>=0,r>>>=0;var t=SDL.surfaces[e];r?t.clipRect=SDL.intersectionOfRects({x:0,y:0,w:t.width,h:t.height},SDL.loadRect(r)):delete t.clipRect}_SDL_SetClipRect.sig="ipp";function _SDL_FillRect(e,r,t){e>>>=0,r>>>=0;var n=SDL.surfaces[e];assert(!n.locked),n.isFlagSet(2097152)&&(t=n.colors32[t]);var a=r?SDL.loadRect(r):{x:0,y:0,w:n.width,h:n.height};return n.clipRect&&(a=SDL.intersectionOfRects(n.clipRect,a),r&&SDL.updateRect(r,a)),n.ctx.save(),n.ctx.fillStyle=SDL.translateColorToCSSRGBA(t),n.ctx.fillRect(a.x,a.y,a.w,a.h),n.ctx.restore(),0}_SDL_FillRect.sig="ippi";function _zoomSurface(e,r,t,n){e>>>=0;var a=SDL.surfaces[e],o=a.width*r,_=a.height*t,l=SDL.makeSurface(Math.abs(o),Math.abs(_),a.flags,!1,"zoomSurface"),c=SDL.surfaces[l];return r>=0&&t>=0?c.ctx.drawImage(a.canvas,0,0,o,_):(c.ctx.save(),c.ctx.scale(r<0?-1:1,t<0?-1:1),c.ctx.drawImage(a.canvas,o<0?o:0,_<0?_:0,Math.abs(o),Math.abs(_)),c.ctx.restore()),l}_zoomSurface.sig="ppddi";function _rotozoomSurface(e,r,t,n){if(e>>>=0,r%360===0)return _zoomSurface(e,t,t,n);var a=SDL.surfaces[e],o=a.width*t,_=a.height*t,l=Math.ceil(Math.sqrt(Math.pow(o,2)+Math.pow(_,2))),c=SDL.makeSurface(l,l,a.flags,!1,"rotozoomSurface"),u=SDL.surfaces[c];return u.ctx.translate(l/2,l/2),u.ctx.rotate(-r*Math.PI/180),u.ctx.drawImage(a.canvas,-o/2,-_/2,o,_),c}_rotozoomSurface.sig="ppddi";function _SDL_SetAlpha(e,r,t){e>>>=0;var n=SDL.surfaces[e];n.alpha=t,r&65536||(n.alpha=255)}_SDL_SetAlpha.sig="ipii";function _SDL_SetColorKey(e,r,t){return e>>>=0,warnOnce("SDL_SetColorKey is a no-op for performance reasons"),0}_SDL_SetColorKey.sig="ipii";function _SDL_PollEvent(e){return e>>>=0,SDL.pollEvent(e)}_SDL_PollEvent.sig="ip";function _SDL_PushEvent(e){e>>>=0;var r=_malloc(28);return _memcpy(r,e,28),SDL.events.push(r),0}_SDL_PushEvent.sig="ip";function _SDL_PeepEvents(e,r,t,n,a){switch(e>>>=0,t){case 2:{assert(r==1);for(var o=0,_=0;o<SDL.events.length&&_<r;){var l=SDL.events[o],c=SDL.DOMEventToSDLEvent[l.type];n<=c&&c<=a?SDL.makeCEvent(l,e)===!1?o++:(SDL.events.splice(o,1),_++):o++}return _}default:throw"SDL_PeepEvents does not yet support that action: "+t}}_SDL_PeepEvents.sig="ipiiii";var _SDL_PumpEvents=()=>SDL.events.forEach(SDL.handleEvent);_SDL_PumpEvents.sig="v";function _emscripten_SDL_SetEventHandler(e,r){e>>>=0,r>>>=0,SDL.eventHandler=e,SDL.eventHandlerContext=r,SDL.eventHandlerTemp||(SDL.eventHandlerTemp=_malloc(28))}_emscripten_SDL_SetEventHandler.sig="vpp";function _SDL_SetColors(e,r,t,n){e>>>=0,r>>>=0;var a=SDL.surfaces[e];if(!a.colors){var o=new ArrayBuffer(1024);a.colors=new Uint8Array(o),a.colors32=new Uint32Array(o)}for(var _=0;_<n;++_){var l=(t+_)*4;a.colors[l]=HEAPU8[r+_*4>>>0],a.colors[l+1]=HEAPU8[r+(_*4+1)>>>0],a.colors[l+2]=HEAPU8[r+(_*4+2)>>>0],a.colors[l+3]=255}return 1}_SDL_SetColors.sig="ippii";function _SDL_SetPalette(e,r,t,n,a){return e>>>=0,t>>>=0,_SDL_SetColors(e,t,n,a)}_SDL_SetPalette.sig="ipipii";function _SDL_MapRGB(e,r,t,n){return e>>>=0,SDL.checkPixelFormat(e),r&255|(t&255)<<8|(n&255)<<16|4278190080}_SDL_MapRGB.sig="ipiii";function _SDL_MapRGBA(e,r,t,n,a){return e>>>=0,SDL.checkPixelFormat(e),r&255|(t&255)<<8|(n&255)<<16|(a&255)<<24}_SDL_MapRGBA.sig="ipiiii";function _SDL_GetRGB(e,r,t,n,a){r>>>=0,t>>>=0,n>>>=0,a>>>=0,SDL.checkPixelFormat(r),t&&(HEAP8[t>>>0]=e&255),n&&(HEAP8[n>>>0]=e>>8&255),a&&(HEAP8[a>>>0]=e>>16&255)}_SDL_GetRGB.sig="vipppp";function _SDL_GetRGBA(e,r,t,n,a,o){r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,SDL.checkPixelFormat(r),t&&(HEAP8[t>>>0]=e&255),n&&(HEAP8[n>>>0]=e>>8&255),a&&(HEAP8[a>>>0]=e>>16&255),o&&(HEAP8[o>>>0]=e>>24&255)}_SDL_GetRGBA.sig="vippppp";var _SDL_GetAppState=()=>{var e=0;return Browser.pointerLock&&(e|=1),document.hasFocus()&&(e|=2),e|=4,e};_SDL_GetAppState.sig="i";var _SDL_WM_GrabInput=()=>{};_SDL_WM_GrabInput.sig="ii";function _SDL_WM_ToggleFullScreen(e){return e>>>=0,Browser.exitFullscreen()?1:SDL.canRequestFullscreen?(SDL.isRequestingFullscreen=!0,1):0}_SDL_WM_ToggleFullScreen.sig="ip";var _IMG_Init=e=>e;_IMG_Init.sig="ii";function _SDL_FreeRW(e){for(e>>>=0,SDL.rwops[e]=null;SDL.rwops.length>0&&SDL.rwops[SDL.rwops.length-1]===null;)SDL.rwops.pop()}_SDL_FreeRW.sig="vp";var _IMG_Load_RW=function(e,r){e>>>=0;var t=stackSave();try{var n=()=>{stackRestore(t),_&&r&&_SDL_FreeRW(e)},a=w=>{var L=n;n=()=>{L(),w()}},o=(w,L)=>{var F=stackAlloc(4),y=stackAlloc(4),D=stackAlloc(4),P=Module["_"+w](...L,F,y,D,0);return P?(a(()=>Module._stbi_image_free(P)),{rawData:!0,data:P,width:HEAP32[F>>>2>>>0],height:HEAP32[y>>>2>>>0],size:HEAP32[F>>>2>>>0]*HEAP32[y>>>2>>>0]*HEAP32[D>>>2>>>0],bpp:HEAP32[D>>>2>>>0]}):null},_=SDL.rwops[e];if(_===void 0)return 0;var l,c=_.filename;if(c===void 0)return warnOnce("Only file names that have been preloaded are supported for IMG_Load_RW. Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;if(!l)if(c=PATH_FS.resolve(c),l=preloadedImages[c],l)Module.freePreloadedMediaOnUse&&(preloadedImages[c]=null);else return l===null&&err("Trying to reuse preloaded image, but freePreloadedMediaOnUse is set!"),warnOnce("Cannot find preloaded image "+c),warnOnce("Cannot find preloaded image "+c+". Consider using STB_IMAGE=1 if you want synchronous image decoding (see settings.js), or package files with --use-preload-plugins"),0;var u=SDL.makeSurface(l.width,l.height,0,!1,"load:"+c),d=SDL.surfaces[u];if(d.ctx.globalCompositeOperation="copy",!l.rawData)d.ctx.drawImage(l,0,0,l.width,l.height,0,0,l.width,l.height);else{var f=d.ctx.getImageData(0,0,d.width,d.height);if(l.bpp==4)f.data.set(HEAPU8.subarray(l.data>>>0,l.data+l.size>>>0));else if(l.bpp==3)for(var p=l.size/3,m=f.data,v=l.data,g=0,S=0;S<p;S++)m[g++]=HEAPU8[v++>>>0],m[g++]=HEAPU8[v++>>>0],m[g++]=HEAPU8[v++>>>0],m[g++]=255;else if(l.bpp==2)for(var p=l.size,m=f.data,v=l.data,g=0,S=0;S<p;S++){var h=HEAPU8[v++>>>0],b=HEAPU8[v++>>>0];m[g++]=h,m[g++]=h,m[g++]=h,m[g++]=b}else if(l.bpp==1)for(var p=l.size,m=f.data,v=l.data,g=0,S=0;S<p;S++){var A=HEAPU8[v++>>>0];m[g++]=A,m[g++]=A,m[g++]=A,m[g++]=255}else return err("cannot handle bpp ".concat(l.bpp)),0;d.ctx.putImageData(f,0,0)}return d.ctx.globalCompositeOperation="source-over",_SDL_LockSurface(u),d.locked--,SDL.GL&&(d.canvas=d.ctx=null),u}finally{n()}};_IMG_Load_RW.sig="ppi";var _SDL_LoadBMP_RW=_IMG_Load_RW;_SDL_LoadBMP_RW.sig="ppi";function _SDL_RWFromFile(e,r){e>>>=0,r>>>=0;var t=SDL.rwops.length,n=UTF8ToString(e);return SDL.rwops.push({filename:n,mimetype:Browser.getMimetype(n)}),t}_SDL_RWFromFile.sig="ppp";function _IMG_Load(e){e>>>=0;var r=_SDL_RWFromFile(e,0),t=_IMG_Load_RW(r,1);return t}_IMG_Load.sig="pp";var _IMG_Quit=()=>out("IMG_Quit called (and ignored)");_IMG_Quit.sig="v";function _SDL_OpenAudio(e,r){e>>>=0,r>>>=0;try{if(SDL.audio={freq:HEAPU32[e>>>2>>>0],format:HEAPU16[e+4>>>1>>>0],channels:HEAPU8[e+6>>>0],samples:HEAPU16[e+8>>>1>>>0],callback:HEAPU32[e+16>>>2>>>0],userdata:HEAPU32[e+20>>>2>>>0],paused:!0,timer:null},SDL.audio.format==8)SDL.audio.silence=128;else if(SDL.audio.format==32784)SDL.audio.silence=0;else if(SDL.audio.format==33056)SDL.audio.silence=0;else throw"Invalid SDL audio format "+SDL.audio.format+"!";if(SDL.audio.freq<=0)throw"Unsupported sound frequency "+SDL.audio.freq+"!";if(SDL.audio.freq<=22050)SDL.audio.freq=22050;else if(SDL.audio.freq<=32e3)SDL.audio.freq=32e3;else if(SDL.audio.freq<=44100)SDL.audio.freq=44100;else if(SDL.audio.freq<=48e3)SDL.audio.freq=48e3;else if(SDL.audio.freq<=96e3)SDL.audio.freq=96e3;else throw"Unsupported sound frequency ".concat(SDL.audio.freq,"!");if(SDL.audio.channels==0)SDL.audio.channels=1;else{if(SDL.audio.channels<0||SDL.audio.channels>32)throw"Unsupported number of audio channels for SDL audio: ".concat(SDL.audio.channels,"!");SDL.audio.channels!=1&&SDL.audio.channels!=2&&out("Warning: Using untested number of audio channels ".concat(SDL.audio.channels))}if(SDL.audio.samples<128||SDL.audio.samples>524288)throw"Unsupported audio callback buffer size ".concat(SDL.audio.samples,"!");if(SDL.audio.samples&SDL.audio.samples-1)throw"Audio callback buffer size ".concat(SDL.audio.samples," must be a power-of-two!");var t=SDL.audio.samples*SDL.audio.channels;if(SDL.audio.format==8)SDL.audio.bytesPerSample=1;else if(SDL.audio.format==32784)SDL.audio.bytesPerSample=2;else if(SDL.audio.format==33056)SDL.audio.bytesPerSample=4;else throw"Invalid SDL audio format ".concat(SDL.audio.format,"!");if(SDL.audio.bufferSize=t*SDL.audio.bytesPerSample,SDL.audio.bufferDurationSecs=SDL.audio.bufferSize/SDL.audio.bytesPerSample/SDL.audio.channels/SDL.audio.freq,SDL.audio.bufferingDelay=.05,SDL.audio.buffer=_malloc(SDL.audio.bufferSize),SDL.audio.numSimultaneouslyQueuedBuffers=Module.SDL_numSimultaneouslyQueuedBuffers||5,SDL.audio.queueNewAudioData=()=>{if(SDL.audio)for(var n=0;n<SDL.audio.numSimultaneouslyQueuedBuffers;++n){var a=SDL.audio.nextPlayTime-SDL.audioContext.currentTime;if(a>=SDL.audio.bufferingDelay+SDL.audio.bufferDurationSecs*SDL.audio.numSimultaneouslyQueuedBuffers)return;getWasmTableEntry(SDL.audio.callback)(SDL.audio.userdata,SDL.audio.buffer,SDL.audio.bufferSize),SDL.audio.pushAudio(SDL.audio.buffer,SDL.audio.bufferSize)}},SDL.audio.caller=()=>{if(SDL.audio){--SDL.audio.numAudioTimersPending,SDL.audio.queueNewAudioData();var n=SDL.audio.nextPlayTime-SDL.audioContext.currentTime,a=SDL.audio.bufferDurationSecs/2;SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers&&(++SDL.audio.numAudioTimersPending,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,Math.max(0,1e3*(n-a))),SDL.audio.numAudioTimersPending<SDL.audio.numSimultaneouslyQueuedBuffers&&(++SDL.audio.numAudioTimersPending,safeSetTimeout(SDL.audio.caller,1)))}},SDL.audio.audioOutput=new Audio,SDL.openAudioContext(),!SDL.audioContext)throw"Web Audio API is not available!";autoResumeAudioContext(SDL.audioContext),SDL.audio.nextPlayTime=0,SDL.audio.pushAudio=(n,a)=>{try{if(SDL.audio.paused)return;var o=a/SDL.audio.bytesPerSample,_=o/SDL.audio.channels;if(_!=SDL.audio.samples)throw"Received mismatching audio buffer size!";var l=SDL.audioContext.createBufferSource(),c=SDL.audioContext.createBuffer(SDL.audio.channels,_,SDL.audio.freq);l.connect(SDL.audioContext.destination),SDL.fillWebAudioBufferFromHeap(n,_,c),l.buffer=c;var u=SDL.audioContext.currentTime,d=Math.max(u+SDL.audio.bufferingDelay,SDL.audio.nextPlayTime);typeof l.start<"u"?l.start(d):typeof l.noteOn<"u"&&l.noteOn(d),SDL.audio.nextPlayTime=d+SDL.audio.bufferDurationSecs}catch(f){err("Web Audio API error playing back audio: ".concat(f.toString()))}},r&&(HEAP32[r>>>2>>>0]=SDL.audio.freq,HEAP16[r+4>>>1>>>0]=SDL.audio.format,HEAP8[r+6>>>0]=SDL.audio.channels,HEAP8[r+7>>>0]=SDL.audio.silence,HEAP16[r+8>>>1>>>0]=SDL.audio.samples,HEAPU32[r+16>>>2>>>0]=SDL.audio.callback,HEAPU32[r+20>>>2>>>0]=SDL.audio.userdata),SDL.allocateChannels(32)}catch(n){err('Initializing SDL audio threw an exception: "'.concat(n.toString(),'"! Continuing without audio')),SDL.audio=null,SDL.allocateChannels(0),r&&(HEAP32[r>>>2>>>0]=0,HEAP16[r+4>>>1>>>0]=0,HEAP8[r+6>>>0]=0,HEAP8[r+7>>>0]=0,HEAP16[r+8>>>1>>>0]=0,HEAPU32[r+16>>>2>>>0]=0,HEAPU32[r+20>>>2>>>0]=0)}return SDL.audio?0:-1}_SDL_OpenAudio.sig="ipp";var _SDL_PauseAudio=e=>{SDL.audio&&(e?SDL.audio.timer!==void 0&&(clearTimeout(SDL.audio.timer),SDL.audio.numAudioTimersPending=0,SDL.audio.timer=void 0):SDL.audio.timer||(SDL.audio.numAudioTimersPending=1,SDL.audio.timer=safeSetTimeout(SDL.audio.caller,1)),SDL.audio.paused=e)};_SDL_PauseAudio.sig="vi";var _SDL_CloseAudio=()=>{SDL.audio&&(SDL.audio.callbackRemover&&(SDL.audio.callbackRemover(),SDL.audio.callbackRemover=null),_SDL_PauseAudio(1),_free(SDL.audio.buffer),SDL.audio=null,SDL.allocateChannels(0))};_SDL_CloseAudio.sig="v";var _SDL_LockAudio=()=>{};_SDL_LockAudio.sig="v";var _SDL_UnlockAudio=()=>{};_SDL_UnlockAudio.sig="v";function _SDL_CreateMutex(){return 0}_SDL_CreateMutex.sig="p";function _SDL_mutexP(e){return e>>>=0,0}_SDL_mutexP.sig="ip";function _SDL_mutexV(e){return e>>>=0,0}_SDL_mutexV.sig="ip";function _SDL_DestroyMutex(e){e>>>=0}_SDL_DestroyMutex.sig="vp";function _SDL_CreateCond(){return 0}_SDL_CreateCond.sig="p";function _SDL_CondSignal(e){e>>>=0}_SDL_CondSignal.sig="ip";function _SDL_CondWait(e,r){e>>>=0,r>>>=0}_SDL_CondWait.sig="ipp";function _SDL_DestroyCond(e){e>>>=0}_SDL_DestroyCond.sig="vp";var _SDL_StartTextInput=()=>{SDL.textInput=!0};_SDL_StartTextInput.sig="v";var _SDL_StopTextInput=()=>{SDL.textInput=!1};_SDL_StopTextInput.sig="v";var _Mix_Init=e=>e?8:0;_Mix_Init.sig="ii";var _Mix_Quit=()=>{};_Mix_Quit.sig="v";var _Mix_OpenAudio=(e,r,t,n)=>(SDL.openAudioContext(),autoResumeAudioContext(SDL.audioContext),SDL.allocateChannels(32),SDL.mixerFrequency=e,SDL.mixerFormat=r,SDL.mixerNumChannels=t,SDL.mixerChunkSize=n,0);_Mix_OpenAudio.sig="iiiii";var _Mix_CloseAudio=_SDL_CloseAudio;_Mix_CloseAudio.sig="v";var _Mix_AllocateChannels=e=>(SDL.allocateChannels(e),e);_Mix_AllocateChannels.sig="ii";function _Mix_ChannelFinished(e){e>>>=0,SDL.channelFinished=e}_Mix_ChannelFinished.sig="vp";var _Mix_Volume=(e,r)=>{if(e==-1){for(var t=0;t<SDL.numChannels-1;t++)_Mix_Volume(t,r);return _Mix_Volume(SDL.numChannels-1,r)}return SDL.setGetVolume(SDL.channels[e],r)};_Mix_Volume.sig="iii";var _Mix_SetPanning=(e,r,t)=>(r/=255,t/=255,SDL.setPannerPosition(SDL.channels[e],t-r,0,.1),1);_Mix_SetPanning.sig="iiii";function _Mix_LoadWAV_RW(e,r){e>>>=0;var t=SDL.rwops[e];if(t===void 0)return 0;var n="",a,o,_;if(t.filename!==void 0){n=PATH_FS.resolve(t.filename);var l=preloadedAudios[n];if(!l){l===null&&err("Trying to reuse preloaded audio, but freePreloadedMediaOnUse is set!"),Module.noAudioDecoding||warnOnce("Cannot find preloaded audio "+n);try{_=FS.readFile(n)}catch(v){return err("Couldn't find file for: ".concat(n)),0}}Module.freePreloadedMediaOnUse&&(preloadedAudios[n]=null),a=l}else if(t.bytes!==void 0)SDL.webAudioAvailable()?_=HEAPU8.buffer.slice(t.bytes,t.bytes+t.count):_=HEAPU8.subarray(t.bytes>>>0,t.bytes+t.count>>>0);else return 0;var c=_&&(_.buffer||_),u=Module.SDL_canPlayWithWebAudio===void 0||Module.SDL_canPlayWithWebAudio(n,c);if(_!==void 0&&SDL.webAudioAvailable()&&u){a=void 0,o={},o.onDecodeComplete=[];var d=v=>{o.decodedBuffer=v,o.onDecodeComplete.forEach(g=>g()),o.onDecodeComplete=void 0};SDL.audioContext.decodeAudioData(c,d)}else if(a===void 0&&_){var f=new Blob([_],{type:t.mimetype}),p=URL.createObjectURL(f);a=new Audio,a.src=p,a.mozAudioChannelType="content"}var m=SDL.audios.length;return SDL.audios.push({source:n,audio:a,webAudio:o}),m}_Mix_LoadWAV_RW.sig="ppi";function _Mix_LoadWAV(e){e>>>=0;var r=_SDL_RWFromFile(e,0),t=_Mix_LoadWAV_RW(r,0);return _SDL_FreeRW(r),t}_Mix_LoadWAV.sig="pp";function _Mix_QuickLoad_RAW(e,r){e>>>=0;for(var t,n,a=r>>1,o=new Float32Array(a),_=0;_<a;++_)o[_]=HEAP16[e+_*2>>>1>>>0]/32768;SDL.webAudioAvailable()?(n={},n.decodedBuffer=o):(t=new Audio,t.mozAudioChannelType="content",t.numChannels=SDL.mixerNumChannels,t.frequency=SDL.mixerFrequency);var l=SDL.audios.length;return SDL.audios.push({source:"",audio:t,webAudio:n,buffer:o}),l}_Mix_QuickLoad_RAW.sig="ppi";function _Mix_FreeChunk(e){e>>>=0,SDL.audios[e]=null}_Mix_FreeChunk.sig="vp";var _Mix_ReserveChannels=e=>{SDL.channelMinimumNumber=e};_Mix_ReserveChannels.sig="ii";var _Mix_HaltChannel=e=>{function r(n){var a=SDL.channels[n];a.audio&&(a.audio.pause(),a.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(n)}if(e!=-1)r(e);else for(var t=0;t<SDL.channels.length;++t)r(t);return 0};_Mix_HaltChannel.sig="ii";function _Mix_PlayChannelTimed(e,r,t,n){r>>>=0,assert(n==-1);var a=SDL.audios[r];if(!a||!a.audio&&!a.webAudio)return-1;if(e==-1){for(var o=SDL.channelMinimumNumber;o<SDL.numChannels;o++)if(!SDL.channels[o].audio){e=o;break}if(e==-1)return err("All ".concat(SDL.numChannels," channels in use!")),-1}var _=SDL.channels[e],l;return a.webAudio?(l={},l.resource=a,l.paused=!1,l.currentPosition=0,l.play=function(){SDL.playWebAudio(this)},l.pause=function(){SDL.pauseWebAudio(this)}):(l=a.audio.cloneNode(!0),l.numChannels=a.audio.numChannels,l.frequency=a.audio.frequency),l.onended=function(){(_.audio===this||_.audio.webAudioNode===this)&&(_.audio.paused=!0,_.audio=null),SDL.channelFinished&&getWasmTableEntry(SDL.channelFinished)(e)},_.audio&&_Mix_HaltChannel(e),_.audio=l,l.loop=t!=0,l.volume=_.volume,l.play(),e}_Mix_PlayChannelTimed.sig="iipii";var _Mix_FadingChannel=e=>0;_Mix_FadingChannel.sig="ii";var _Mix_HaltMusic=()=>{var e=SDL.music.audio;return e&&(e.src=e.src,e.currentPosition=0,e.pause()),SDL.music.audio=null,SDL.hookMusicFinished&&getWasmTableEntry(SDL.hookMusicFinished)(),0};_Mix_HaltMusic.sig="i";function _Mix_HookMusicFinished(e){e>>>=0,SDL.hookMusicFinished=e,SDL.music.audio&&(SDL.music.audio.onended=_Mix_HaltMusic)}_Mix_HookMusicFinished.sig="vp";var _Mix_VolumeMusic=e=>SDL.setGetVolume(SDL.music,e);_Mix_VolumeMusic.sig="ii";function _Mix_LoadMUS_RW(e){return e>>>=0,_Mix_LoadWAV_RW(e,0)}_Mix_LoadMUS_RW.sig="pp";function _Mix_LoadMUS(e){e>>>=0;var r=_SDL_RWFromFile(e,0),t=_Mix_LoadMUS_RW(r);return _SDL_FreeRW(r),t}_Mix_LoadMUS.sig="pp";var _Mix_FreeMusic=_Mix_FreeChunk;_Mix_FreeMusic.sig="vp";function _Mix_PlayMusic(e,r){e>>>=0,SDL.music.audio&&(SDL.music.audio.paused||err("Music is already playing. ".concat(SDL.music.source)),SDL.music.audio.pause());var t=SDL.audios[e],n;return t.webAudio?(n={},n.resource=t,n.paused=!1,n.currentPosition=0,n.play=function(){SDL.playWebAudio(this)},n.pause=function(){SDL.pauseWebAudio(this)}):t.audio&&(n=t.audio),n.onended=function(){var a;(SDL.music.audio===this||((a=SDL.music.audio)==null?void 0:a.webAudioNode)===this)&&_Mix_HaltMusic()},n.loop=r!=0&&r!=1,n.volume=SDL.music.volume,SDL.music.audio=n,n.play(),0}_Mix_PlayMusic.sig="ipi";var _Mix_PauseMusic=()=>{var e=SDL.music.audio;e==null||e.pause()};_Mix_PauseMusic.sig="v";var _Mix_ResumeMusic=()=>{var e=SDL.music.audio;e==null||e.play()};_Mix_ResumeMusic.sig="v";var _Mix_FadeInMusicPos=_Mix_PlayMusic;_Mix_FadeInMusicPos.sig="ipiid";var _Mix_FadeOutMusic=_Mix_HaltMusic;_Mix_FadeOutMusic.sig="ii";var _Mix_PlayingMusic=()=>SDL.music.audio&&!SDL.music.audio.paused?1:0;_Mix_PlayingMusic.sig="i";var _Mix_Playing=e=>{if(e===-1){for(var r=0,t=0;t<SDL.channels.length;t++)r+=_Mix_Playing(t);return r}var n=SDL.channels[e];return n!=null&&n.audio&&!n.audio.paused?1:0};_Mix_Playing.sig="ii";var _Mix_Pause=e=>{if(e===-1){for(var r=0;r<SDL.channels.length;r++)_Mix_Pause(r);return}var t=SDL.channels[e];t!=null&&t.audio&&t.audio.pause()};_Mix_Pause.sig="vi";var _Mix_Paused=e=>{var a;if(e===-1){for(var r=0,t=0;t<SDL.channels.length;t++)r+=_Mix_Paused(t);return r}var n=SDL.channels[e];return(a=n==null?void 0:n.audio)!=null&&a.paused?1:0};_Mix_Paused.sig="ii";var _Mix_PausedMusic=()=>{var e;return(e=SDL.music.audio)!=null&&e.paused?1:0};_Mix_PausedMusic.sig="i";var _Mix_Resume=e=>{if(e===-1){for(var r=0;r<SDL.channels.length;r++)_Mix_Resume(r);return}var t=SDL.channels[e];t!=null&&t.audio&&t.audio.play()};_Mix_Resume.sig="vi";var _TTF_Init=()=>{try{var e=new OffscreenCanvas(0,0);if(SDL.ttfContext=e.getContext("2d"),typeof SDL.ttfContext.measureText!="function")throw"bad context"}catch(t){var r=document.createElement("canvas");SDL.ttfContext=r.getContext("2d")}return 0};_TTF_Init.sig="i";function _TTF_OpenFont(e,r){e>>>=0,e=PATH.normalize(UTF8ToString(e));var t=SDL.fonts.length;return SDL.fonts.push({name:e,size:r}),t}_TTF_OpenFont.sig="ppi";function _TTF_CloseFont(e){e>>>=0,SDL.fonts[e]=null}_TTF_CloseFont.sig="vp";function _TTF_RenderText_Solid(e,r,t){e>>>=0,r>>>=0,t>>>=0,r=UTF8ToString(r)||" ";var n=SDL.fonts[e],a=SDL.estimateTextWidth(n,r),o=n.size;t=SDL.loadColorToCSSRGB(t);var _=SDL.makeFontString(o,n.name),l=SDL.makeSurface(a,o,0,!1,"text:"+r),c=SDL.surfaces[l];return c.ctx.save(),c.ctx.fillStyle=t,c.ctx.font=_,c.ctx.textBaseline="bottom",c.ctx.fillText(r,0,o|0),c.ctx.restore(),l}_TTF_RenderText_Solid.sig="pppp";var _TTF_RenderText_Blended=_TTF_RenderText_Solid;_TTF_RenderText_Blended.sig="pppp";var _TTF_RenderText_Shaded=_TTF_RenderText_Solid;_TTF_RenderText_Shaded.sig="ppppp";var _TTF_RenderUTF8_Solid=_TTF_RenderText_Solid;_TTF_RenderUTF8_Solid.sig="pppp";function _TTF_SizeText(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,n>>>=0;var a=SDL.fonts[e];return t&&(HEAP32[t>>>2>>>0]=SDL.estimateTextWidth(a,UTF8ToString(r))),n&&(HEAP32[n>>>2>>>0]=a.size),0}_TTF_SizeText.sig="ipppp";var _TTF_SizeUTF8=_TTF_SizeText;_TTF_SizeUTF8.sig="ipppp";function _TTF_GlyphMetrics(e,r,t,n,a,o,_){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0;var l=SDL.fonts[e],c=SDL.estimateTextWidth(l,String.fromCharCode(r));_&&(HEAP32[_>>>2>>>0]=c),t&&(HEAP32[t>>>2>>>0]=0),n&&(HEAP32[n>>>2>>>0]=c),a&&(HEAP32[a>>>2>>>0]=0),o&&(HEAP32[o>>>2>>>0]=l.size)}_TTF_GlyphMetrics.sig="ipippppp";function _TTF_FontAscent(e){e>>>=0;var r=SDL.fonts[e];return r.size*.98|0}_TTF_FontAscent.sig="ip";function _TTF_FontDescent(e){e>>>=0;var r=SDL.fonts[e];return r.size*.02|0}_TTF_FontDescent.sig="ip";function _TTF_FontHeight(e){e>>>=0;var r=SDL.fonts[e];return r.size}_TTF_FontHeight.sig="ip";var _TTF_FontLineSkip=_TTF_FontHeight;_TTF_FontLineSkip.sig="ip";var _TTF_Quit=()=>out("TTF_Quit called (and ignored)");_TTF_Quit.sig="v";var SDL_gfx={drawRectangle:(e,r,t,n,a,o,_)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,a=a<<16>>16;var l=SDL.surfaces[e];assert(!l.locked);var c=r<n?r:n,u=t<a?t:a,d=Math.abs(n-r),f=Math.abs(a-t);l.ctx.save(),l.ctx[o+"Style"]=_,l.ctx[o+"Rect"](c,u,d,f),l.ctx.restore()},drawLine:(e,r,t,n,a,o)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,a=a<<16>>16;var _=SDL.surfaces[e];assert(!_.locked),_.ctx.save(),_.ctx.strokeStyle=o,_.ctx.beginPath(),_.ctx.moveTo(r,t),_.ctx.lineTo(n,a),_.ctx.stroke(),_.ctx.restore()},drawEllipse:(e,r,t,n,a,o,_)=>{r=r<<16>>16,t=t<<16>>16,n=n<<16>>16,a=a<<16>>16;var l=SDL.surfaces[e];assert(!l.locked),l.ctx.save(),l.ctx.beginPath(),l.ctx.translate(r,t),l.ctx.scale(n,a),l.ctx.arc(0,0,1,0,2*Math.PI),l.ctx.restore(),l.ctx.save(),l.ctx[o+"Style"]=_,l.ctx[o](),l.ctx.restore()},translateColorToCSSRGBA:e=>"rgba(".concat(e>>>24,",").concat(e>>16&255,",").concat(e>>8&255,",").concat(e&255,")")};function _boxColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"fill",SDL_gfx.translateColorToCSSRGBA(o))}_boxColor.sig="ipiiiii";function _boxRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"fill",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_boxRGBA.sig="ipiiiiiiii";function _rectangleColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"stroke",SDL_gfx.translateColorToCSSRGBA(o))}_rectangleColor.sig="ipiiiii";function _rectangleRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawRectangle(e,r,t,n,a,"stroke",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_rectangleRGBA.sig="ipiiiiiiii";function _ellipseColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"stroke",SDL_gfx.translateColorToCSSRGBA(o))}_ellipseColor.sig="ipiiiii";function _ellipseRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"stroke",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_ellipseRGBA.sig="ipiiiiiiii";function _filledEllipseColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"fill",SDL_gfx.translateColorToCSSRGBA(o))}_filledEllipseColor.sig="ipiiiii";function _filledEllipseRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawEllipse(e,r,t,n,a,"fill",SDL.translateRGBAToCSSRGBA(o,_,l,c))}_filledEllipseRGBA.sig="ipiiiiiiii";function _lineColor(e,r,t,n,a,o){return e>>>=0,SDL_gfx.drawLine(e,r,t,n,a,SDL_gfx.translateColorToCSSRGBA(o))}_lineColor.sig="ipiiiii";function _lineRGBA(e,r,t,n,a,o,_,l,c){return e>>>=0,SDL_gfx.drawLine(e,r,t,n,a,SDL.translateRGBAToCSSRGBA(o,_,l,c))}_lineRGBA.sig="ipiiiiiiii";function _pixelRGBA(e,r,t,n,a,o,_){return e>>>=0,_boxRGBA(e,r,t,r,t,n,a,o,_)}_pixelRGBA.sig="ipiiiiii";var _SDL_GL_SetAttribute=(e,r)=>{e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),SDL.glAttributes[e]=r};_SDL_GL_SetAttribute.sig="iii";function _SDL_GL_GetAttribute(e,r){return r>>>=0,e in SDL.glAttributes||abort("Unknown SDL GL attribute ("+e+"). Please check if your SDL version is supported."),r&&(HEAP32[r>>>2>>>0]=SDL.glAttributes[e]),0}_SDL_GL_GetAttribute.sig="iip";var _SDL_GL_SwapBuffers=()=>{var e;(e=Browser.doSwapBuffers)==null||e.call(Browser)};_SDL_GL_SwapBuffers.sig="v";function _SDL_GL_ExtensionSupported(e){return e>>>=0,Module.ctx.getExtension(e)|0}_SDL_GL_ExtensionSupported.sig="ip";function _SDL_DestroyWindow(e){e>>>=0}_SDL_DestroyWindow.sig="vp";function _SDL_DestroyRenderer(e){e>>>=0}_SDL_DestroyRenderer.sig="vp";function _SDL_GetWindowFlags(e){return e>>>=0,Browser.isFullscreen?1:0}_SDL_GetWindowFlags.sig="ip";function _SDL_GL_SwapWindow(e){e>>>=0}_SDL_GL_SwapWindow.sig="vp";function _SDL_GL_MakeCurrent(e,r){e>>>=0,r>>>=0}_SDL_GL_MakeCurrent.sig="ipp";function _SDL_GL_DeleteContext(e){e>>>=0}_SDL_GL_DeleteContext.sig="vp";var _SDL_GL_GetSwapInterval=()=>MainLoop.timingMode==1?MainLoop.timingValue:0;_SDL_GL_GetSwapInterval.sig="i";var _SDL_GL_SetSwapInterval=e=>{_emscripten_set_main_loop_timing(1,e)};_SDL_GL_SetSwapInterval.sig="ii";function _SDL_SetWindowTitle(e,r){e>>>=0,r>>>=0,r&&(document.title=UTF8ToString(r))}_SDL_SetWindowTitle.sig="vpp";function _SDL_GetWindowSize(e,r,t){e>>>=0,r>>>=0,t>>>=0;var n=Module.canvas.width,a=Module.canvas.height;r&&(HEAP32[r>>>2>>>0]=n),t&&(HEAP32[t>>>2>>>0]=a)}_SDL_GetWindowSize.sig="vppp";function _SDL_LogSetOutputFunction(e,r){e>>>=0,r>>>=0}_SDL_LogSetOutputFunction.sig="vpp";function _SDL_SetWindowFullscreen(e,r){return e>>>=0,Browser.isFullscreen?(Module.canvas.exitFullscreen(),1):0}_SDL_SetWindowFullscreen.sig="ipi";var _SDL_ClearError=()=>{};_SDL_ClearError.sig="v";var _SDL_SetGamma=(e,r,t)=>-1;_SDL_SetGamma.sig="ifff";function _SDL_SetGammaRamp(e,r,t){return e>>>=0,r>>>=0,t>>>=0,-1}_SDL_SetGammaRamp.sig="ippp";var _SDL_NumJoysticks=()=>{for(var e=0,r=SDL.getGamepads(),t=0;t<r.length;t++)r[t]!==void 0&&e++;return e};_SDL_NumJoysticks.sig="i";function _SDL_JoystickName(e){var r=SDL.getGamepad(e);if(r){var t=r.id;return SDL.joystickNamePool.hasOwnProperty(t)?SDL.joystickNamePool[t]:SDL.joystickNamePool[t]=stringToNewUTF8(t)}return 0}_SDL_JoystickName.sig="pi";function _SDL_JoystickOpen(e){var r=SDL.getGamepad(e);if(r){var t=e+1;return SDL.recordJoystickState(t,r),t}return 0}_SDL_JoystickOpen.sig="pi";var _SDL_JoystickOpened=e=>SDL.lastJoystickState.hasOwnProperty(e+1)?1:0;_SDL_JoystickOpened.sig="ii";function _SDL_JoystickIndex(e){return e>>>=0,e-1}_SDL_JoystickIndex.sig="ip";function _SDL_JoystickNumAxes(e){e>>>=0;var r=SDL.getGamepad(e-1);return r?r.axes.length:0}_SDL_JoystickNumAxes.sig="ip";function _SDL_JoystickNumBalls(e){return e>>>=0,0}_SDL_JoystickNumBalls.sig="ip";function _SDL_JoystickNumHats(e){return e>>>=0,0}_SDL_JoystickNumHats.sig="ip";function _SDL_JoystickNumButtons(e){e>>>=0;var r=SDL.getGamepad(e-1);return r?r.buttons.length:0}_SDL_JoystickNumButtons.sig="ip";var _SDL_JoystickUpdate=()=>SDL.queryJoysticks();_SDL_JoystickUpdate.sig="v";var _SDL_JoystickEventState=e=>e<0?SDL.joystickEventState:SDL.joystickEventState=e;_SDL_JoystickEventState.sig="ii";function _SDL_JoystickGetAxis(e,r){e>>>=0;var t=SDL.getGamepad(e-1);return t&&t.axes.length>r?SDL.joystickAxisValueConversion(t.axes[r]):0}_SDL_JoystickGetAxis.sig="ipi";function _SDL_JoystickGetHat(e,r){return e>>>=0,0}_SDL_JoystickGetHat.sig="ipi";function _SDL_JoystickGetBall(e,r,t,n){return e>>>=0,t>>>=0,n>>>=0,-1}_SDL_JoystickGetBall.sig="ipipp";function _SDL_JoystickGetButton(e,r){e>>>=0;var t=SDL.getGamepad(e-1);return t&&t.buttons.length>r&&SDL.getJoystickButtonState(t.buttons[r])?1:0}_SDL_JoystickGetButton.sig="ipi";function _SDL_JoystickClose(e){e>>>=0,delete SDL.lastJoystickState[e]}_SDL_JoystickClose.sig="vp";var _SDL_InitSubSystem=e=>0;_SDL_InitSubSystem.sig="ii";function _SDL_RWFromConstMem(e,r){e>>>=0;var t=SDL.rwops.length;return SDL.rwops.push({bytes:e,count:r}),t}_SDL_RWFromConstMem.sig="ppi";var _SDL_RWFromMem=_SDL_RWFromConstMem;_SDL_RWFromMem.sig="ppi";var _SDL_GetNumAudioDrivers=()=>1;_SDL_GetNumAudioDrivers.sig="i";function _SDL_GetCurrentAudioDriver(){return stringToNewUTF8("Emscripten Audio")}_SDL_GetCurrentAudioDriver.sig="p";var _SDL_GetScancodeFromKey=e=>SDL.scanCodes[e];_SDL_GetScancodeFromKey.sig="ii";function _SDL_GetAudioDriver(e){return _SDL_GetCurrentAudioDriver()}_SDL_GetAudioDriver.sig="pi";var _SDL_EnableUNICODE=e=>{var r=SDL.unicode||0;return SDL.unicode=e,r};_SDL_EnableUNICODE.sig="ii";var _SDL_AddTimer=function(e,r,t){return r>>>=0,t>>>=0,safeSetTimeout(()=>getWasmTableEntry(r)(e,t),e)};_SDL_AddTimer.sig="iipp";var _SDL_RemoveTimer=e=>(clearTimeout(e),!0);_SDL_RemoveTimer.sig="ii";function _SDL_CreateThread(e,r,t,n){throw e>>>=0,r>>>=0,"SDL threads cannot be supported in the web platform because they assume shared state. See emscripten_create_worker etc. for a message-passing concurrency model that does let you run code in another thread."}_SDL_CreateThread.sig="ppp";function _SDL_WaitThread(e,r){throw e>>>=0,r>>>=0,"SDL_WaitThread"}_SDL_WaitThread.sig="vpp";function _SDL_GetThreadID(e){throw e>>>=0,"SDL_GetThreadID"}_SDL_GetThreadID.sig="pp";function _SDL_ThreadID(){return 0}_SDL_ThreadID.sig="p";function _SDL_AllocRW(){throw"SDL_AllocRW: TODO"}_SDL_AllocRW.sig="p";function _SDL_CondBroadcast(e){throw e>>>=0,"SDL_CondBroadcast: TODO"}_SDL_CondBroadcast.sig="ip";function _SDL_CondWaitTimeout(e,r,t){throw e>>>=0,r>>>=0,"SDL_CondWaitTimeout: TODO"}_SDL_CondWaitTimeout.sig="ippi";var _SDL_WM_IconifyWindow=()=>{throw"SDL_WM_IconifyWindow TODO"};_SDL_WM_IconifyWindow.sig="i";function _Mix_SetPostMix(e,r){return e>>>=0,r>>>=0,warnOnce("Mix_SetPostMix: TODO")}_Mix_SetPostMix.sig="vpp";function _Mix_VolumeChunk(e,r){throw e>>>=0,"Mix_VolumeChunk: TODO"}_Mix_VolumeChunk.sig="ipi";var _Mix_SetPosition=(e,r,t)=>{throw"Mix_SetPosition: TODO"};_Mix_SetPosition.sig="iiii";function _Mix_QuerySpec(e,r,t){throw e>>>=0,r>>>=0,t>>>=0,"Mix_QuerySpec: TODO"}_Mix_QuerySpec.sig="ippp";function _Mix_FadeInChannelTimed(e,r,t,n,a){throw r>>>=0,"Mix_FadeInChannelTimed"}_Mix_FadeInChannelTimed.sig="iipiii";var _Mix_FadeOutChannel=()=>{throw"Mix_FadeOutChannel"};_Mix_FadeOutChannel.sig="iii";function _Mix_Linked_Version(){throw"Mix_Linked_Version: TODO"}_Mix_Linked_Version.sig="p";function _SDL_SaveBMP_RW(e,r,t){throw e>>>=0,r>>>=0,"SDL_SaveBMP_RW: TODO"}_SDL_SaveBMP_RW.sig="ippi";function _SDL_WM_SetIcon(e,r){e>>>=0,r>>>=0}_SDL_WM_SetIcon.sig="vpp";var _SDL_HasRDTSC=()=>0;_SDL_HasRDTSC.sig="i";var _SDL_HasMMX=()=>0;_SDL_HasMMX.sig="i";var _SDL_HasMMXExt=()=>0;_SDL_HasMMXExt.sig="i";var _SDL_Has3DNow=()=>0;_SDL_Has3DNow.sig="i";var _SDL_Has3DNowExt=()=>0;_SDL_Has3DNowExt.sig="i";var _SDL_HasSSE=()=>0;_SDL_HasSSE.sig="i";var _SDL_HasSSE2=()=>0;_SDL_HasSSE2.sig="i";var _SDL_HasAltiVec=()=>0;_SDL_HasAltiVec.sig="i";var ALLOC_NORMAL=0,ALLOC_STACK=1,allocate=(e,r)=>{var t;return r==ALLOC_STACK?t=stackAlloc(e.length):t=_malloc(e.length),!e.subarray&&!e.slice&&(e=new Uint8Array(e)),HEAPU8.set(e,t>>>0),t},writeStringToMemory=(e,r,t)=>{warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var n,a;t&&(a=r+lengthBytesUTF8(e),n=HEAP8[a>>>0]),stringToUTF8(e,r,1/0),t&&(HEAP8[a>>>0]=n)},writeAsciiToMemory=(e,r,t)=>{for(var n=0;n<e.length;++n)HEAP8[r++>>>0]=e.charCodeAt(n);t||(HEAP8[r>>>0]=0)},allocateUTF8=stringToNewUTF8,allocateUTF8OnStack=stringToUTF8OnStack,setErrNo=e=>(HEAP32[___errno_location()>>>2>>>0]=e,e),demangle=e=>(demangle.recursionGuard=(demangle.recursionGuard|0)+1,demangle.recursionGuard>1?e:withStackSave(()=>{try{var r=e;r.startsWith("__Z")&&(r=r.substr(1));var t=stringToUTF8OnStack(r),n=stackAlloc(4),a=___cxa_demangle(t,0,0,n);if(HEAP32[n>>>2>>>0]===0&&a)return UTF8ToString(a)}catch(o){}finally{_free(a),demangle.recursionGuard<2&&--demangle.recursionGuard}return e})),stackTrace=()=>{var e=jsStackTrace();return Module.extraStackTrace&&(e+="\n"+Module.extraStackTrace()),e},print=out,printErr=err,_emscripten_is_main_browser_thread=()=>!ENVIRONMENT_IS_WORKER,tupleRegistrations={},structRegistrations={},getFunctionName=e=>{e=e.trim();let r=e.indexOf("(");return r!==-1?e.substr(0,r):e},getFunctionArgsName=e=>{e=e.trim();let r=e.indexOf("(")+1;return r!==0?e.substr(r,e.length-r-1).replaceAll(" ","").split(",").filter(t=>t.length):[]},heap32VectorToArray=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(HEAPU32[r+n*4>>>2>>>0]);return t};function usesDestructorStack(e){for(var r=1;r<e.length;++r)if(e[r]!==null&&e[r].destructorFunction===void 0)return!0;return!1}function createJsInvokerSignature(e,r,t,n){let a=[r?"t":"f",t?"t":"f",n?"t":"f"];for(let o=r?1:2;o<e.length;++o){let _=e[o],l="";_.destructorFunction===void 0?l="u":_.destructorFunction===null?l="n":l="t",a.push(l)}return a.join("")}function checkArgCount(e,r,t,n,a){if(e<r||e>t){var o=r==t?r:"".concat(r," to ").concat(t);a("function ".concat(n," called with ").concat(e," arguments, expected ").concat(o))}}function getRequiredArgCount(e){for(var r=e.length-2,t=e.length-1;t>=2&&e[t].optional;--t)r--;return r}function createJsInvoker(e,r,t,n){var a=usesDestructorStack(e),o=e.length-2,_=[],l=["fn"];r&&l.push("thisWired");for(var c=0;c<o;++c)_.push("arg".concat(c)),l.push("arg".concat(c,"Wired"));_=_.join(","),l=l.join(",");var u="return function (".concat(_,") {\n");a&&(u+="var destructors = [];\n");var d=a?"destructors":"null",f=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];r&&(u+="var thisWired = classParam['toWireType'](".concat(d,", this);\n"));for(var c=0;c<o;++c)u+="var arg".concat(c,"Wired = argType").concat(c,"['toWireType'](").concat(d,", arg").concat(c,");\n"),f.push("argType".concat(c));u+=(t||n?"var rv = ":"")+"invoker(".concat(l,");\n");var p=t?"rv":"";if(a)u+="runDestructors(destructors);\n";else for(var c=r?1:2;c<e.length;++c){var m=c===1?"thisWired":"arg"+(c-2)+"Wired";e[c].destructorFunction!==null&&(u+="".concat(m,"_dtor(").concat(m,");\n"),f.push("".concat(m,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),u+="}\n",[f,u]}var extendError=(e,r)=>{var t=createNamedFunction(r,function(n){this.name=r,this.message=n;var a=new Error(n).stack;a!==void 0&&(this.stack=this.toString()+"\n"+a.replace(/^Error(:[^\n]*)?\n/,""))});return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return this.message===void 0?this.name:"".concat(this.name,": ").concat(this.message)},t},UnboundTypeError,PureVirtualError,EmValOptionalType=Object.assign({optional:!0},EmValType),throwUnboundTypeError=(e,r)=>{var t=[],n={};function a(o){if(!n[o]&&!registeredTypes[o]){if(typeDependencies[o]){typeDependencies[o].forEach(a);return}t.push(o),n[o]=!0}}throw r.forEach(a),new UnboundTypeError("".concat(e,": ")+t.map(getTypeName).join([", "]))},ensureOverloadTable=(e,r,t)=>{if(e[r].overloadTable===void 0){var n=e[r];e[r]=function(...a){return e[r].overloadTable.hasOwnProperty(a.length)||throwBindingError("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},exposePublicSymbol=(e,r,t)=>{Module.hasOwnProperty(e)?((t===void 0||Module[e].overloadTable!==void 0&&Module[e].overloadTable[t]!==void 0)&&throwBindingError("Cannot register public name '".concat(e,"' twice")),ensureOverloadTable(Module,e,e),Module[e].overloadTable.hasOwnProperty(t)&&throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),Module[e].overloadTable[t]=r):(Module[e]=r,Module[e].argCount=t)},replacePublicSymbol=(e,r,t)=>{Module.hasOwnProperty(e)||throwInternalError("Replacing nonexistent public symbol"),Module[e].overloadTable!==void 0&&t!==void 0?Module[e].overloadTable[t]=r:(Module[e]=r,Module[e].argCount=t)},registeredInstances={},getBasestPointer=(e,r)=>{for(r===void 0&&throwBindingError("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r},registerInheritedInstance=(e,r,t)=>{r=getBasestPointer(e,r),registeredInstances.hasOwnProperty(r)?throwBindingError("Tried to register registered instance: ".concat(r)):registeredInstances[r]=t},unregisterInheritedInstance=(e,r)=>{r=getBasestPointer(e,r),registeredInstances.hasOwnProperty(r)?delete registeredInstances[r]:throwBindingError("Tried to unregister unregistered instance: ".concat(r))},getInheritedInstance=(e,r)=>(r=getBasestPointer(e,r),registeredInstances[r]),getInheritedInstanceCount=()=>Object.keys(registeredInstances).length,getLiveInheritedInstances=()=>{var e=[];for(var r in registeredInstances)registeredInstances.hasOwnProperty(r)&&e.push(registeredInstances[r]);return e},registeredPointers={},enumReadValueFromPointer=(e,r,t)=>{switch(r){case 1:return t?function(n){return this.fromWireType(HEAP8[n>>>0])}:function(n){return this.fromWireType(HEAPU8[n>>>0])};case 2:return t?function(n){return this.fromWireType(HEAP16[n>>>1>>>0])}:function(n){return this.fromWireType(HEAPU16[n>>>1>>>0])};case 4:return t?function(n){return this.fromWireType(HEAP32[n>>>2>>>0])}:function(n){return this.fromWireType(HEAPU32[n>>>2>>>0])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}};function __embind_register_user_type(e,r){e>>>=0,r>>>=0,__embind_register_emval(e)}__embind_register_user_type.sig="vpp";function __embind_register_optional(e,r){e>>>=0,r>>>=0,registerType(e,EmValOptionalType)}__embind_register_optional.sig="vpp";function craftInvokerFunction(e,r,t,n,a,o){var _=r.length;_<2&&throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var l=r[1]!==null&&t!==null,c=usesDestructorStack(r),u=r[0].name!=="void",d=_-2,f=[e,throwBindingError,n,a,runDestructors,r[0],r[1]],p=0;p<_-2;++p)f.push(r[p+2]);if(!c)for(var p=l?1:2;p<r.length;++p)r[p].destructorFunction!==null&&f.push(r[p].destructorFunction);let[m,v]=createJsInvoker(r,l,u,o);m.push(v);var g=newFunc(Function,m)(...f);return createNamedFunction(e,g)}var embind__requireFunction=(e,r)=>{e=readLatin1String(e);function t(){return e.includes("j")||e.includes("p")?getDynCaller(e,r):getWasmTableEntry(r)}var n=t();return typeof n!="function"&&throwBindingError("unknown function pointer with signature ".concat(e,": ").concat(r)),n};function __embind_register_function(e,r,t,n,a,o,_,l){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0;var c=heap32VectorToArray(r,t);e=readLatin1String(e),e=getFunctionName(e),a=embind__requireFunction(n,a),exposePublicSymbol(e,function(){throwUnboundTypeError("Cannot call ".concat(e," due to unbound types"),c)},r-1),whenDependentTypesAreResolved([],c,u=>{var d=[u[0],null].concat(u.slice(1));return replacePublicSymbol(e,craftInvokerFunction(e,d,null,a,o,_),r-1),[]})}__embind_register_function.sig="vpippppii";function __embind_register_value_array(e,r,t,n,a,o){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,tupleRegistrations[e]={name:readLatin1String(r),rawConstructor:embind__requireFunction(t,n),rawDestructor:embind__requireFunction(a,o),elements:[]}}__embind_register_value_array.sig="vpppppp";function __embind_register_value_array_element(e,r,t,n,a,o,_,l,c){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,tupleRegistrations[e].elements.push({getterReturnType:r,getter:embind__requireFunction(t,n),getterContext:a,setterArgumentType:o,setter:embind__requireFunction(_,l),setterContext:c})}__embind_register_value_array_element.sig="vppppppppp";var __embind_finalize_value_array=function(e){e>>>=0;var r=tupleRegistrations[e];delete tupleRegistrations[e];var t=r.elements,n=t.length,a=t.map(l=>l.getterReturnType).concat(t.map(l=>l.setterArgumentType)),o=r.rawConstructor,_=r.rawDestructor;whenDependentTypesAreResolved([e],a,l=>(t.forEach((c,u)=>{var d=l[u],f=c.getter,p=c.getterContext,m=l[u+n],v=c.setter,g=c.setterContext;c.read=S=>d.fromWireType(f(p,S)),c.write=(S,h)=>{var b=[];v(g,S,m.toWireType(b,h)),runDestructors(b)}}),[{name:r.name,fromWireType:c=>{for(var u=new Array(n),d=0;d<n;++d)u[d]=t[d].read(c);return _(c),u},toWireType:(c,u)=>{if(n!==u.length)throw new TypeError("Incorrect number of tuple elements for ".concat(r.name,": expected=").concat(n,", actual=").concat(u.length));for(var d=o(),f=0;f<n;++f)t[f].write(d,u[f]);return c!==null&&c.push(_,d),d},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:_}]))};__embind_finalize_value_array.sig="vp";function __embind_register_value_object(e,r,t,n,a,o){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,structRegistrations[e]={name:readLatin1String(r),rawConstructor:embind__requireFunction(t,n),rawDestructor:embind__requireFunction(a,o),fields:[]}}__embind_register_value_object.sig="vpppppp";function __embind_register_value_object_field(e,r,t,n,a,o,_,l,c,u){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,structRegistrations[e].fields.push({fieldName:readLatin1String(r),getterReturnType:t,getter:embind__requireFunction(n,a),getterContext:o,setterArgumentType:_,setter:embind__requireFunction(l,c),setterContext:u})}__embind_register_value_object_field.sig="vpppppppppp";var __embind_finalize_value_object=function(e){e>>>=0;var r=structRegistrations[e];delete structRegistrations[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map(_=>_.getterReturnType).concat(a.map(_=>_.setterArgumentType));whenDependentTypesAreResolved([e],o,_=>{var l={};return a.forEach((c,u)=>{var d=c.fieldName,f=_[u],p=c.getter,m=c.getterContext,v=_[u+a.length],g=c.setter,S=c.setterContext;l[d]={read:h=>f.fromWireType(p(m,h)),write:(h,b)=>{var A=[];g(S,h,v.toWireType(A,b)),runDestructors(A)}}}),[{name:r.name,fromWireType:c=>{var u={};for(var d in l)u[d]=l[d].read(c);return n(c),u},toWireType:(c,u)=>{for(var d in l)if(!(d in u))throw new TypeError('Missing field: "'.concat(d,'"'));var f=t();for(d in l)l[d].write(f,u[d]);return c!==null&&c.push(n,f),f},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:n}]})};__embind_finalize_value_object.sig="vp";var upcastPointer=(e,r,t)=>{for(;r!==t;)r.upcast||throwBindingError("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function genericPointerToWireType(e,r){var t;if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),e!==null&&e.push(this.rawDestructor,t),t):0;(!r||!r.$$)&&throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=upcastPointer(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(r.$$.smartPtr===void 0&&throwBindingError("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:throwBindingError("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,Emval.toHandle(()=>a.delete())),e!==null&&e.push(this.rawDestructor,t)}break;default:throwBindingError("Unsupporting sharing policy")}return t}function constNoSmartPtrRawPointerToWireType(e,r){if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),0;r.$$||throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass,n=upcastPointer(r.$$.ptr,t,this.registeredClass);return n}function nonConstNoSmartPtrRawPointerToWireType(e,r){if(r===null)return this.isReference&&throwBindingError("null is not a valid ".concat(this.name)),0;r.$$||throwBindingError('Cannot pass "'.concat(embindRepr(r),'" as a ').concat(this.name)),r.$$.ptr||throwBindingError("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&throwBindingError("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass,n=upcastPointer(r.$$.ptr,t,this.registeredClass);return n}function RegisteredPointer(e,r,t,n,a,o,_,l,c,u,d){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=_,this.rawGetPointee=l,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=d,!a&&r.baseClass===void 0?n?(this.toWireType=constNoSmartPtrRawPointerToWireType,this.destructorFunction=null):(this.toWireType=nonConstNoSmartPtrRawPointerToWireType,this.destructorFunction=null):this.toWireType=genericPointerToWireType}var downcastPointer=(e,r,t)=>{if(r===t)return e;if(t.baseClass===void 0)return null;var n=downcastPointer(e,r,t.baseClass);return n===null?null:t.downcast(n)},finalizationRegistry=!1,detachFinalizer=e=>{},runDestructor=e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)},releaseClassHandle=e=>{e.count.value-=1;var r=e.count.value===0;r&&runDestructor(e)},attachFinalizer=e=>typeof FinalizationRegistry>"u"?(attachFinalizer=r=>r,e):(finalizationRegistry=new FinalizationRegistry(r=>{releaseClassHandle(r.$$)}),attachFinalizer=r=>{var t=r.$$,n=!!t.smartPtr;if(n){var a={$$:t};finalizationRegistry.register(r,a,r)}return r},detachFinalizer=r=>finalizationRegistry.unregister(r),attachFinalizer(e)),makeClassHandle=(e,r)=>{(!r.ptrType||!r.ptr)&&throwInternalError("makeClassHandle requires ptr and ptrType");var t=!!r.smartPtrType,n=!!r.smartPtr;return t!==n&&throwInternalError("Both smartPtrType and smartPtr must be specified"),r.count={value:1},attachFinalizer(Object.create(e,{$$:{value:r,writable:!0}}))};function RegisteredPointer_fromWireType(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=getInheritedInstance(this.registeredClass,r);if(t!==void 0){if(t.$$.count.value===0)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o=this.registeredClass.getActualType(r),_=registeredPointers[o];if(!_)return a.call(this);var l;this.isConst?l=_.constPointerType:l=_.pointerType;var c=downcastPointer(r,this.registeredClass,l.registeredClass);return c===null?a.call(this):this.isSmartPointer?makeClassHandle(l.registeredClass.instancePrototype,{ptrType:l,ptr:c,smartPtrType:this,smartPtr:e}):makeClassHandle(l.registeredClass.instancePrototype,{ptrType:l,ptr:c})}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;(r=this.rawDestructor)==null||r.call(this,e)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})},detachFinalizer_deps=["$finalizationRegistry"];function ClassHandle(){}var shallowCopyInternalPointer=e=>({count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType}),throwInstanceAlreadyDeleted=e=>{function r(t){return t.$$.ptrType.registeredClass.name}throwBindingError(r(e)+" instance already deleted")},deletionQueue=[],flushPendingDeletes=()=>{for(;deletionQueue.length;){var e=deletionQueue.pop();e.$$.deleteScheduled=!1,e.delete()}},delayFunction,init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(e){if(!(this instanceof ClassHandle)||!(e instanceof ClassHandle))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));return e.$$.count.value+=1,e.$$.deleteScheduled=!1,e},delete(){this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),detachFinalizer(this),releaseClassHandle(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||throwInstanceAlreadyDeleted(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&throwBindingError("Object already scheduled for deletion"),deletionQueue.push(this),deletionQueue.length===1&&delayFunction&&delayFunction(flushPendingDeletes),this.$$.deleteScheduled=!0,this}})},setDelayFunction=e=>{delayFunction=e,deletionQueue.length&&delayFunction&&delayFunction(flushPendingDeletes)};function RegisteredClass(e,r,t,n,a,o,_,l){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=_,this.downcast=l,this.pureVirtualFunctions=[]}var char_0=48,char_9=57,makeLegalFunctionName=e=>{e=e.replace(/[^a-zA-Z0-9_]/g,"$");var r=e.charCodeAt(0);return r>=char_0&&r<=char_9?"_".concat(e):e};function __embind_register_class(e,r,t,n,a,o,_,l,c,u,d,f,p){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,d>>>=0,f>>>=0,p>>>=0,d=readLatin1String(d),o=embind__requireFunction(a,o),l&&(l=embind__requireFunction(_,l)),u&&(u=embind__requireFunction(c,u)),p=embind__requireFunction(f,p);var m=makeLegalFunctionName(d);exposePublicSymbol(m,function(){throwUnboundTypeError("Cannot construct ".concat(d," due to unbound types"),[n])}),whenDependentTypesAreResolved([e,r,t],n?[n]:[],v=>{var y,D;v=v[0];var g,S;n?(g=v.registeredClass,S=g.instancePrototype):S=ClassHandle.prototype;var h=createNamedFunction(d,function(...P){if(Object.getPrototypeOf(this)!==b)throw new BindingError("Use 'new' to construct "+d);if(A.constructor_body===void 0)throw new BindingError(d+" has no accessible constructor");var k=A.constructor_body[P.length];if(k===void 0)throw new BindingError("Tried to invoke ctor of ".concat(d," with invalid number of parameters (").concat(P.length,") - expected (").concat(Object.keys(A.constructor_body).toString(),") parameters instead!"));return k.apply(this,P)}),b=Object.create(S,{constructor:{value:h}});h.prototype=b;var A=new RegisteredClass(d,h,b,p,g,o,l,u);A.baseClass&&((D=(y=A.baseClass).__derivedClasses)!=null||(y.__derivedClasses=[]),A.baseClass.__derivedClasses.push(A));var w=new RegisteredPointer(d,A,!0,!1,!1),L=new RegisteredPointer(d+"*",A,!1,!1,!1),F=new RegisteredPointer(d+" const*",A,!1,!0,!1);return registeredPointers[e]={pointerType:L,constPointerType:F},replacePublicSymbol(m,h),[w,L,F]})}__embind_register_class.sig="vppppppppppppp";var __embind_register_class_constructor=function(e,r,t,n,a,o){e>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0;var _=heap32VectorToArray(r,t);a=embind__requireFunction(n,a);var l=[o],c=[];whenDependentTypesAreResolved([],[e],u=>{u=u[0];var d="constructor ".concat(u.name);if(u.registeredClass.constructor_body===void 0&&(u.registeredClass.constructor_body=[]),u.registeredClass.constructor_body[r-1]!==void 0)throw new BindingError("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(u.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return u.registeredClass.constructor_body[r-1]=()=>{throwUnboundTypeError("Cannot construct ".concat(u.name," due to unbound types"),_)},whenDependentTypesAreResolved([],_,f=>(f.splice(1,0,null),u.registeredClass.constructor_body[r-1]=craftInvokerFunction(d,f,null,a,o),[])),[]})};__embind_register_class_constructor.sig="vpipppp";var validateThis=(e,r,t)=>(e instanceof Object||throwBindingError("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||throwBindingError("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||throwBindingError("cannot call emscripten binding method ".concat(t," on deleted object")),upcastPointer(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),__embind_register_class_function=function(e,r,t,n,a,o,_,l,c,u){e>>>=0,r>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0;var d=heap32VectorToArray(t,n);r=readLatin1String(r),r=getFunctionName(r),o=embind__requireFunction(a,o),whenDependentTypesAreResolved([],[e],f=>{f=f[0];var p="".concat(f.name,".").concat(r);r.startsWith("@@")&&(r=Symbol[r.substring(2)]),l&&f.registeredClass.pureVirtualFunctions.push(r);function m(){throwUnboundTypeError("Cannot call ".concat(p," due to unbound types"),d)}var v=f.registeredClass.instancePrototype,g=v[r];return g===void 0||g.overloadTable===void 0&&g.className!==f.name&&g.argCount===t-2?(m.argCount=t-2,m.className=f.name,v[r]=m):(ensureOverloadTable(v,r,p),v[r].overloadTable[t-2]=m),whenDependentTypesAreResolved([],d,S=>{var h=craftInvokerFunction(p,S,f,o,_,c);return v[r].overloadTable===void 0?(h.argCount=t-2,v[r]=h):v[r].overloadTable[t-2]=h,[]}),[]})};__embind_register_class_function.sig="vppippppiii";var __embind_register_class_property=function(e,r,t,n,a,o,_,l,c,u){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,r=readLatin1String(r),a=embind__requireFunction(n,a),whenDependentTypesAreResolved([],[e],d=>{d=d[0];var f="".concat(d.name,".").concat(r),p={get(){throwUnboundTypeError("Cannot access ".concat(f," due to unbound types"),[t,_])},enumerable:!0,configurable:!0};return c?p.set=()=>throwUnboundTypeError("Cannot access ".concat(f," due to unbound types"),[t,_]):p.set=m=>throwBindingError(f+" is a read-only property"),Object.defineProperty(d.registeredClass.instancePrototype,r,p),whenDependentTypesAreResolved([],c?[t,_]:[t],m=>{var v=m[0],g={get(){var h=validateThis(this,d,f+" getter");return v.fromWireType(a(o,h))},enumerable:!0};if(c){c=embind__requireFunction(l,c);var S=m[1];g.set=function(h){var b=validateThis(this,d,f+" setter"),A=[];c(u,b,S.toWireType(A,h)),runDestructors(A)}}return Object.defineProperty(d.registeredClass.instancePrototype,r,g),[]}),[]})};__embind_register_class_property.sig="vpppppppppp";var __embind_register_class_class_function=function(e,r,t,n,a,o,_,l,c){e>>>=0,r>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0;var u=heap32VectorToArray(t,n);r=readLatin1String(r),r=getFunctionName(r),o=embind__requireFunction(a,o),whenDependentTypesAreResolved([],[e],d=>{d=d[0];var f="".concat(d.name,".").concat(r);function p(){throwUnboundTypeError("Cannot call ".concat(f," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var m=d.registeredClass.constructor;return m[r]===void 0?(p.argCount=t-1,m[r]=p):(ensureOverloadTable(m,r,f),m[r].overloadTable[t-1]=p),whenDependentTypesAreResolved([],u,v=>{var g=[v[0],null].concat(v.slice(1)),S=craftInvokerFunction(f,g,null,o,_,l);if(m[r].overloadTable===void 0?(S.argCount=t-1,m[r]=S):m[r].overloadTable[t-1]=S,d.registeredClass.__derivedClasses)for(let h of d.registeredClass.__derivedClasses)h.constructor.hasOwnProperty(r)||(h.constructor[r]=S);return[]}),[]})};__embind_register_class_class_function.sig="vppippppii";var __embind_register_class_class_property=function(e,r,t,n,a,o,_,l){e>>>=0,r>>>=0,t>>>=0,n>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,r=readLatin1String(r),o=embind__requireFunction(a,o),whenDependentTypesAreResolved([],[e],c=>{c=c[0];var u="".concat(c.name,".").concat(r),d={get(){throwUnboundTypeError("Cannot access ".concat(u," due to unbound types"),[t])},enumerable:!0,configurable:!0};return l?d.set=()=>{throwUnboundTypeError("Cannot access ".concat(u," due to unbound types"),[t])}:d.set=f=>{throwBindingError("".concat(u," is a read-only property"))},Object.defineProperty(c.registeredClass.constructor,r,d),whenDependentTypesAreResolved([],[t],f=>{f=f[0];var p={get(){return f.fromWireType(o(n))},enumerable:!0};return l&&(l=embind__requireFunction(_,l),p.set=m=>{var v=[];l(n,f.toWireType(v,m)),runDestructors(v)}),Object.defineProperty(c.registeredClass.constructor,r,p),[]}),[]})};__embind_register_class_class_property.sig="vpppppppp";function __embind_create_inheriting_constructor(e,r,t){e>>>=0,r>>>=0,t>>>=0,e=readLatin1String(e),r=requireRegisteredType(r,"wrapper"),t=Emval.toValue(t);var n=r.registeredClass,a=n.instancePrototype,o=n.baseClass,_=o.instancePrototype,l=n.baseClass.constructor,c=createNamedFunction(e,function(...u){n.baseClass.pureVirtualFunctions.forEach((function(d){if(this[d]===_[d])throw new PureVirtualError("Pure virtual function ".concat(d," must be implemented in JavaScript"))}).bind(this)),Object.defineProperty(this,"__parent",{value:a}),this.__construct(...u)});return a.__construct=function(...d){this===a&&throwBindingError("Pass correct 'this' to __construct");var f=l.implement(this,...d);detachFinalizer(f);var p=f.$$;f.notifyOnDestruction(),p.preservePointerOnDelete=!0,Object.defineProperties(this,{$$:{value:p}}),attachFinalizer(this),registerInheritedInstance(n,p.ptr,this)},a.__destruct=function(){this===a&&throwBindingError("Pass correct 'this' to __destruct"),detachFinalizer(this),unregisterInheritedInstance(n,this.$$.ptr)},c.prototype=Object.create(a),Object.assign(c.prototype,t),Emval.toHandle(c)}__embind_create_inheriting_constructor.sig="pppp";var __embind_register_smart_ptr=function(e,r,t,n,a,o,_,l,c,u,d,f){e>>>=0,r>>>=0,t>>>=0,a>>>=0,o>>>=0,_>>>=0,l>>>=0,c>>>=0,u>>>=0,d>>>=0,f>>>=0,t=readLatin1String(t),o=embind__requireFunction(a,o),l=embind__requireFunction(_,l),u=embind__requireFunction(c,u),f=embind__requireFunction(d,f),whenDependentTypesAreResolved([e],[r],p=>{p=p[0];var m=new RegisteredPointer(t,p.registeredClass,!1,!1,!0,p,n,o,l,u,f);return[m]})};__embind_register_smart_ptr.sig="vpppipppppppp";function __embind_register_enum(e,r,t,n){e>>>=0,r>>>=0,t>>>=0,r=readLatin1String(r);function a(){}a.values={},registerType(e,{name:r,constructor:a,fromWireType:function(o){return this.constructor.values[o]},toWireType:(o,_)=>_.value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:enumReadValueFromPointer(r,t,n),destructorFunction:null}),exposePublicSymbol(r,a)}__embind_register_enum.sig="vpppi";function __embind_register_enum_value(e,r,t){e>>>=0,r>>>=0;var n=requireRegisteredType(e,"enum");r=readLatin1String(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:createNamedFunction("".concat(n.name,"_").concat(r),function(){})}});a.values[t]=o,a[r]=o}__embind_register_enum_value.sig="vppi";var __embind_register_constant=function(e,r,t){e>>>=0,r>>>=0,e=readLatin1String(e),whenDependentTypesAreResolved([],[r],n=>(n=n[0],Module[e]=n.fromWireType(t),[]))};__embind_register_constant.sig="vppd";function __emval_register_symbol(e){e>>>=0,emval_symbols[e]=readLatin1String(e)}__emval_register_symbol.sig="vp";function __emval_incref(e){e>>>=0,e>9&&(emval_handles[e+1]+=1)}__emval_incref.sig="vp";function __emval_new_array(){return Emval.toHandle([])}__emval_new_array.sig="p";function __emval_new_array_from_memory_view(e){e>>>=0,e=Emval.toValue(e);for(var r=new Array(e.length),t=0;t<e.length;t++)r[t]=e[t];return Emval.toHandle(r)}__emval_new_array_from_memory_view.sig="pp";function __emval_new_object(){return Emval.toHandle({})}__emval_new_object.sig="p";function __emval_new_cstring(e){return e>>>=0,Emval.toHandle(getStringOrSymbol(e))}__emval_new_cstring.sig="pp";function __emval_new_u8string(e){return e>>>=0,Emval.toHandle(UTF8ToString(e))}__emval_new_u8string.sig="pp";function __emval_new_u16string(e){return e>>>=0,Emval.toHandle(UTF16ToString(e))}__emval_new_u16string.sig="pp";function __emval_take_value(e,r){e>>>=0,r>>>=0,e=requireRegisteredType(e,"_emval_take_value");var t=e.readValueFromPointer(r);return Emval.toHandle(t)}__emval_take_value.sig="ppp";function __emval_get_module_property(e){return e>>>=0,e=getStringOrSymbol(e),Emval.toHandle(Module[e])}__emval_get_module_property.sig="pp";function __emval_get_property(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),Emval.toHandle(e[r])}__emval_get_property.sig="ppp";function __emval_set_property(e,r,t){e>>>=0,r>>>=0,t>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),t=Emval.toValue(t),e[r]=t}__emval_set_property.sig="vppp";function __emval_as(e,r,t){return e>>>=0,r>>>=0,t>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),emval_returnValue(r,t,e)}__emval_as.sig="dppp";function __emval_as_int64(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),r.toWireType(null,e)}__emval_as_int64.sig="ipp";function __emval_as_uint64(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=requireRegisteredType(r,"emval::as"),r.toWireType(null,e)}__emval_as_uint64.sig="ipp";function __emval_equals(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e==r}__emval_equals.sig="ipp";function __emval_strictly_equals(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e===r}__emval_strictly_equals.sig="ipp";function __emval_greater_than(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e>r}__emval_greater_than.sig="ipp";function __emval_less_than(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e<r}__emval_less_than.sig="ipp";function __emval_not(e){return e>>>=0,e=Emval.toValue(e),!e}__emval_not.sig="ip";function __emval_call(e,r,t,n){return e>>>=0,r>>>=0,t>>>=0,n>>>=0,e=emval_methodCallers[e],r=Emval.toValue(r),e(null,r,t,n)}__emval_call.sig="dpppp";function __emval_typeof(e){return e>>>=0,e=Emval.toValue(e),Emval.toHandle(typeof e)}__emval_typeof.sig="pp";function __emval_instanceof(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e instanceof r}__emval_instanceof.sig="ipp";function __emval_is_number(e){return e>>>=0,e=Emval.toValue(e),typeof e=="number"}__emval_is_number.sig="ip";function __emval_is_string(e){return e>>>=0,e=Emval.toValue(e),typeof e=="string"}__emval_is_string.sig="ip";function __emval_in(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),e in r}__emval_in.sig="ipp";function __emval_delete(e,r){return e>>>=0,r>>>=0,e=Emval.toValue(e),r=Emval.toValue(r),delete e[r]}__emval_delete.sig="ipp";function __emval_throw(e){throw e>>>=0,e=Emval.toValue(e),e}__emval_throw.sig="ip";function __emval_iter_begin(e){return e>>>=0,e=Emval.toValue(e),Emval.toHandle(e[Symbol.iterator]())}__emval_iter_begin.sig="pp";function __emval_iter_next(e){e>>>=0,e=Emval.toValue(e);var r=e.next();return r.done?0:Emval.toHandle(r.value)}__emval_iter_next.sig="pp";var __emval_coro_suspend=function(e,r){e>>>=0,r>>>=0,Emval.toValue(e).then(t=>{__emval_coro_resume(r,Emval.toHandle(t))})};__emval_coro_suspend.sig="vpp";var __emval_coro_make_promise=function(e,r){return e>>>=0,r>>>=0,Emval.toHandle(new Promise((t,n)=>{let a=()=>{try{___cxa_rethrow()}catch(o){n(o)}};HEAPU32[e>>>2>>>0]=Emval.toHandle(t),HEAPU32[r>>>2>>>0]=Emval.toHandle(a)}))};__emval_coro_make_promise.sig="ppp";function _duckdb_web_fs_file_sync(e){return globalThis.DUCKDB_RUNTIME.syncFile(Module,e)}_duckdb_web_fs_file_sync.sig="vi";function _duckdb_web_fs_file_get_last_modified_time(e){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,e)}_duckdb_web_fs_file_get_last_modified_time.sig="di";function _duckdb_web_fs_file_remove(e,r){return globalThis.DUCKDB_RUNTIME.removeFile(Module,e,r)}registerWasmPlugin(),FS.createPreloadedFile=FS_createPreloadedFile,FS.staticInit(),embind_init_charCodes(),BindingError=Module.BindingError=class extends Error{constructor(r){super(r),this.name="BindingError"}},InternalError=Module.InternalError=class extends Error{constructor(r){super(r),this.name="InternalError"}},init_emval(),Module.requestAnimationFrame=MainLoop.requestAnimationFrame,Module.pauseMainLoop=MainLoop.pause,Module.resumeMainLoop=MainLoop.resume,MainLoop.init();for(var i=0;i<32;++i)tempFixedLengthArray.push(new Array(i));for(var miniTempWebGLFloatBuffersStorage=new Float32Array(288),i=0;i<=288;++i)miniTempWebGLFloatBuffers[i]=miniTempWebGLFloatBuffersStorage.subarray(0,i);for(var miniTempWebGLIntBuffersStorage=new Int32Array(288),i=0;i<=288;++i)miniTempWebGLIntBuffers[i]=miniTempWebGLIntBuffersStorage.subarray(0,i);var emSetImmediate,emClearImmediate;if(typeof setImmediate<"u")emSetImmediate=setImmediateWrapped,emClearImmediate=clearImmediateWrapped;else if(typeof addEventListener=="function"){var __setImmediate_id_counter=0,__setImmediate_queue=[],__setImmediate_message_id="_si",__setImmediate_cb=e=>{e.data===__setImmediate_message_id&&(e.stopPropagation(),__setImmediate_queue.shift()(),++__setImmediate_id_counter)};addEventListener("message",__setImmediate_cb,!0),emSetImmediate=e=>(postMessage(__setImmediate_message_id,"*"),__setImmediate_id_counter+__setImmediate_queue.push(e)-1),emClearImmediate=e=>{var r=e-__setImmediate_id_counter;r>=0&&r<__setImmediate_queue.length&&(__setImmediate_queue[r]=()=>{})}}Module.requestFullscreen=Browser.requestFullscreen,Module.setCanvasSize=Browser.setCanvasSize,Module.getUserMedia=Browser.getUserMedia,Module.createContext=Browser.createContext;var preloadedImages={},preloadedAudios={};registerPostMainLoop(()=>{var e,r;return(r=(e=SDL.audio)==null?void 0:e.queueNewAudioData)==null?void 0:r.call(e)}),UnboundTypeError=Module.UnboundTypeError=extendError(Error,"UnboundTypeError"),PureVirtualError=Module.PureVirtualError=extendError(Error,"PureVirtualError"),init_RegisteredPointer(),init_ClassHandle();var wasmImports={IMG_Init:_IMG_Init,IMG_Load:_IMG_Load,IMG_Load_RW:_IMG_Load_RW,IMG_Quit:_IMG_Quit,Mix_AllocateChannels:_Mix_AllocateChannels,Mix_ChannelFinished:_Mix_ChannelFinished,Mix_CloseAudio:_Mix_CloseAudio,Mix_FadeInChannelTimed:_Mix_FadeInChannelTimed,Mix_FadeInMusicPos:_Mix_FadeInMusicPos,Mix_FadeOutChannel:_Mix_FadeOutChannel,Mix_FadeOutMusic:_Mix_FadeOutMusic,Mix_FadingChannel:_Mix_FadingChannel,Mix_FreeChunk:_Mix_FreeChunk,Mix_FreeMusic:_Mix_FreeMusic,Mix_HaltChannel:_Mix_HaltChannel,Mix_HaltMusic:_Mix_HaltMusic,Mix_HookMusicFinished:_Mix_HookMusicFinished,Mix_Init:_Mix_Init,Mix_Linked_Version:_Mix_Linked_Version,Mix_LoadMUS:_Mix_LoadMUS,Mix_LoadMUS_RW:_Mix_LoadMUS_RW,Mix_LoadWAV:_Mix_LoadWAV,Mix_LoadWAV_RW:_Mix_LoadWAV_RW,Mix_OpenAudio:_Mix_OpenAudio,Mix_Pause:_Mix_Pause,Mix_PauseMusic:_Mix_PauseMusic,Mix_Paused:_Mix_Paused,Mix_PausedMusic:_Mix_PausedMusic,Mix_PlayChannelTimed:_Mix_PlayChannelTimed,Mix_PlayMusic:_Mix_PlayMusic,Mix_Playing:_Mix_Playing,Mix_PlayingMusic:_Mix_PlayingMusic,Mix_QuerySpec:_Mix_QuerySpec,Mix_QuickLoad_RAW:_Mix_QuickLoad_RAW,Mix_Quit:_Mix_Quit,Mix_ReserveChannels:_Mix_ReserveChannels,Mix_Resume:_Mix_Resume,Mix_ResumeMusic:_Mix_ResumeMusic,Mix_SetPanning:_Mix_SetPanning,Mix_SetPosition:_Mix_SetPosition,Mix_SetPostMix:_Mix_SetPostMix,Mix_Volume:_Mix_Volume,Mix_VolumeChunk:_Mix_VolumeChunk,Mix_VolumeMusic:_Mix_VolumeMusic,SDL_AddTimer:_SDL_AddTimer,SDL_AllocRW:_SDL_AllocRW,SDL_AudioDriverName:_SDL_AudioDriverName,SDL_AudioQuit:_SDL_AudioQuit,SDL_ClearError:_SDL_ClearError,SDL_CloseAudio:_SDL_CloseAudio,SDL_CondBroadcast:_SDL_CondBroadcast,SDL_CondSignal:_SDL_CondSignal,SDL_CondWait:_SDL_CondWait,SDL_CondWaitTimeout:_SDL_CondWaitTimeout,SDL_ConvertSurface:_SDL_ConvertSurface,SDL_CreateCond:_SDL_CreateCond,SDL_CreateMutex:_SDL_CreateMutex,SDL_CreateRGBSurface:_SDL_CreateRGBSurface,SDL_CreateRGBSurfaceFrom:_SDL_CreateRGBSurfaceFrom,SDL_CreateThread:_SDL_CreateThread,SDL_Delay:_SDL_Delay,SDL_DestroyCond:_SDL_DestroyCond,SDL_DestroyMutex:_SDL_DestroyMutex,SDL_DestroyRenderer:_SDL_DestroyRenderer,SDL_DestroyWindow:_SDL_DestroyWindow,SDL_DisplayFormatAlpha:_SDL_DisplayFormatAlpha,SDL_EnableKeyRepeat:_SDL_EnableKeyRepeat,SDL_EnableUNICODE:_SDL_EnableUNICODE,SDL_FillRect:_SDL_FillRect,SDL_Flip:_SDL_Flip,SDL_FreeRW:_SDL_FreeRW,SDL_FreeSurface:_SDL_FreeSurface,SDL_GL_DeleteContext:_SDL_GL_DeleteContext,SDL_GL_ExtensionSupported:_SDL_GL_ExtensionSupported,SDL_GL_GetAttribute:_SDL_GL_GetAttribute,SDL_GL_GetSwapInterval:_SDL_GL_GetSwapInterval,SDL_GL_MakeCurrent:_SDL_GL_MakeCurrent,SDL_GL_SetAttribute:_SDL_GL_SetAttribute,SDL_GL_SetSwapInterval:_SDL_GL_SetSwapInterval,SDL_GL_SwapBuffers:_SDL_GL_SwapBuffers,SDL_GL_SwapWindow:_SDL_GL_SwapWindow,SDL_GetAppState:_SDL_GetAppState,SDL_GetAudioDriver:_SDL_GetAudioDriver,SDL_GetClipRect:_SDL_GetClipRect,SDL_GetCurrentAudioDriver:_SDL_GetCurrentAudioDriver,SDL_GetError:_SDL_GetError,SDL_GetKeyName:_SDL_GetKeyName,SDL_GetKeyState:_SDL_GetKeyState,SDL_GetKeyboardState:_SDL_GetKeyboardState,SDL_GetModState:_SDL_GetModState,SDL_GetMouseState:_SDL_GetMouseState,SDL_GetNumAudioDrivers:_SDL_GetNumAudioDrivers,SDL_GetRGB:_SDL_GetRGB,SDL_GetRGBA:_SDL_GetRGBA,SDL_GetScancodeFromKey:_SDL_GetScancodeFromKey,SDL_GetThreadID:_SDL_GetThreadID,SDL_GetTicks:_SDL_GetTicks,SDL_GetVideoInfo:_SDL_GetVideoInfo,SDL_GetVideoSurface:_SDL_GetVideoSurface,SDL_GetWindowFlags:_SDL_GetWindowFlags,SDL_GetWindowSize:_SDL_GetWindowSize,SDL_Has3DNow:_SDL_Has3DNow,SDL_Has3DNowExt:_SDL_Has3DNowExt,SDL_HasAltiVec:_SDL_HasAltiVec,SDL_HasMMX:_SDL_HasMMX,SDL_HasMMXExt:_SDL_HasMMXExt,SDL_HasRDTSC:_SDL_HasRDTSC,SDL_HasSSE:_SDL_HasSSE,SDL_HasSSE2:_SDL_HasSSE2,SDL_Init:_SDL_Init,SDL_InitSubSystem:_SDL_InitSubSystem,SDL_JoystickClose:_SDL_JoystickClose,SDL_JoystickEventState:_SDL_JoystickEventState,SDL_JoystickGetAxis:_SDL_JoystickGetAxis,SDL_JoystickGetBall:_SDL_JoystickGetBall,SDL_JoystickGetButton:_SDL_JoystickGetButton,SDL_JoystickGetHat:_SDL_JoystickGetHat,SDL_JoystickIndex:_SDL_JoystickIndex,SDL_JoystickName:_SDL_JoystickName,SDL_JoystickNumAxes:_SDL_JoystickNumAxes,SDL_JoystickNumBalls:_SDL_JoystickNumBalls,SDL_JoystickNumButtons:_SDL_JoystickNumButtons,SDL_JoystickNumHats:_SDL_JoystickNumHats,SDL_JoystickOpen:_SDL_JoystickOpen,SDL_JoystickOpened:_SDL_JoystickOpened,SDL_JoystickUpdate:_SDL_JoystickUpdate,SDL_Linked_Version:_SDL_Linked_Version,SDL_ListModes:_SDL_ListModes,SDL_LoadBMP_RW:_SDL_LoadBMP_RW,SDL_LockAudio:_SDL_LockAudio,SDL_LockSurface:_SDL_LockSurface,SDL_LogSetOutputFunction:_SDL_LogSetOutputFunction,SDL_LowerBlit:_SDL_LowerBlit,SDL_LowerBlitScaled:_SDL_LowerBlitScaled,SDL_MapRGB:_SDL_MapRGB,SDL_MapRGBA:_SDL_MapRGBA,SDL_NumJoysticks:_SDL_NumJoysticks,SDL_OpenAudio:_SDL_OpenAudio,SDL_PauseAudio:_SDL_PauseAudio,SDL_PeepEvents:_SDL_PeepEvents,SDL_PollEvent:_SDL_PollEvent,SDL_PumpEvents:_SDL_PumpEvents,SDL_PushEvent:_SDL_PushEvent,SDL_Quit:_SDL_Quit,SDL_QuitSubSystem:_SDL_QuitSubSystem,SDL_RWFromConstMem:_SDL_RWFromConstMem,SDL_RWFromFile:_SDL_RWFromFile,SDL_RWFromMem:_SDL_RWFromMem,SDL_RemoveTimer:_SDL_RemoveTimer,SDL_SaveBMP_RW:_SDL_SaveBMP_RW,SDL_SetAlpha:_SDL_SetAlpha,SDL_SetClipRect:_SDL_SetClipRect,SDL_SetColorKey:_SDL_SetColorKey,SDL_SetColors:_SDL_SetColors,SDL_SetError:_SDL_SetError,SDL_SetGamma:_SDL_SetGamma,SDL_SetGammaRamp:_SDL_SetGammaRamp,SDL_SetPalette:_SDL_SetPalette,SDL_SetVideoMode:_SDL_SetVideoMode,SDL_SetWindowFullscreen:_SDL_SetWindowFullscreen,SDL_SetWindowTitle:_SDL_SetWindowTitle,SDL_ShowCursor:_SDL_ShowCursor,SDL_StartTextInput:_SDL_StartTextInput,SDL_StopTextInput:_SDL_StopTextInput,SDL_ThreadID:_SDL_ThreadID,SDL_UnlockAudio:_SDL_UnlockAudio,SDL_UnlockSurface:_SDL_UnlockSurface,SDL_UpdateRect:_SDL_UpdateRect,SDL_UpdateRects:_SDL_UpdateRects,SDL_UpperBlit:_SDL_UpperBlit,SDL_UpperBlitScaled:_SDL_UpperBlitScaled,SDL_VideoDriverName:_SDL_VideoDriverName,SDL_VideoModeOK:_SDL_VideoModeOK,SDL_VideoQuit:_SDL_VideoQuit,SDL_WM_GrabInput:_SDL_WM_GrabInput,SDL_WM_IconifyWindow:_SDL_WM_IconifyWindow,SDL_WM_SetCaption:_SDL_WM_SetCaption,SDL_WM_SetIcon:_SDL_WM_SetIcon,SDL_WM_ToggleFullScreen:_SDL_WM_ToggleFullScreen,SDL_WaitThread:_SDL_WaitThread,SDL_WarpMouse:_SDL_WarpMouse,SDL_WasInit:_SDL_WasInit,SDL_mutexP:_SDL_mutexP,SDL_mutexV:_SDL_mutexV,TTF_CloseFont:_TTF_CloseFont,TTF_FontAscent:_TTF_FontAscent,TTF_FontDescent:_TTF_FontDescent,TTF_FontHeight:_TTF_FontHeight,TTF_FontLineSkip:_TTF_FontLineSkip,TTF_GlyphMetrics:_TTF_GlyphMetrics,TTF_Init:_TTF_Init,TTF_OpenFont:_TTF_OpenFont,TTF_Quit:_TTF_Quit,TTF_RenderText_Blended:_TTF_RenderText_Blended,TTF_RenderText_Shaded:_TTF_RenderText_Shaded,TTF_RenderText_Solid:_TTF_RenderText_Solid,TTF_RenderUTF8_Solid:_TTF_RenderUTF8_Solid,TTF_SizeText:_TTF_SizeText,TTF_SizeUTF8:_TTF_SizeUTF8,XChangeWindowAttributes:_XChangeWindowAttributes,XCreateWindow:_XCreateWindow,XInternAtom:_XInternAtom,XMapWindow:_XMapWindow,XOpenDisplay:_XOpenDisplay,XPending:_XPending,XSendEvent:_XSendEvent,XSetWMHints:_XSetWMHints,XStoreName:_XStoreName,_Unwind_Backtrace:__Unwind_Backtrace,_Unwind_FindEnclosingFunction:__Unwind_FindEnclosingFunction,_Unwind_GetIPInfo:__Unwind_GetIPInfo,__asctime_r:___asctime_r,__assert_fail:___assert_fail,__c_longjmp:___c_longjmp,__call_sighandler:___call_sighandler,__cpp_exception:___cpp_exception,__global_base:___global_base,__heap_base:___heap_base,__indirect_function_table:wasmTable,__memory_base:___memory_base,__stack_high:___stack_high,__stack_low:___stack_low,__stack_pointer:___stack_pointer,__syscall__newselect:___syscall__newselect,__syscall_accept4:___syscall_accept4,__syscall_bind:___syscall_bind,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_connect:___syscall_connect,__syscall_dup:___syscall_dup,__syscall_dup3:___syscall_dup3,__syscall_faccessat:___syscall_faccessat,__syscall_fadvise64:___syscall_fadvise64,__syscall_fallocate:___syscall_fallocate,__syscall_fchdir:___syscall_fchdir,__syscall_fchmod:___syscall_fchmod,__syscall_fchmodat2:___syscall_fchmodat2,__syscall_fchown32:___syscall_fchown32,__syscall_fchownat:___syscall_fchownat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fdatasync:___syscall_fdatasync,__syscall_fstat64:___syscall_fstat64,__syscall_fstatfs64:___syscall_fstatfs64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_getpeername:___syscall_getpeername,__syscall_getsockname:___syscall_getsockname,__syscall_getsockopt:___syscall_getsockopt,__syscall_ioctl:___syscall_ioctl,__syscall_listen:___syscall_listen,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_mknodat:___syscall_mknodat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_pipe:___syscall_pipe,__syscall_poll:___syscall_poll,__syscall_readlinkat:___syscall_readlinkat,__syscall_recvfrom:___syscall_recvfrom,__syscall_recvmsg:___syscall_recvmsg,__syscall_renameat:___syscall_renameat,__syscall_rmdir:___syscall_rmdir,__syscall_sendmsg:___syscall_sendmsg,__syscall_sendto:___syscall_sendto,__syscall_socket:___syscall_socket,__syscall_stat64:___syscall_stat64,__syscall_statfs64:___syscall_statfs64,__syscall_symlink:___syscall_symlink,__syscall_symlinkat:___syscall_symlinkat,__syscall_truncate64:___syscall_truncate64,__syscall_unlinkat:___syscall_unlinkat,__syscall_utimensat:___syscall_utimensat,__table_base:___table_base,_abort_js:__abort_js,_dlopen_js:__dlopen_js,_dlsym_catchup_js:__dlsym_catchup_js,_dlsym_js:__dlsym_js,_embind_create_inheriting_constructor:__embind_create_inheriting_constructor,_embind_finalize_value_array:__embind_finalize_value_array,_embind_finalize_value_object:__embind_finalize_value_object,_embind_register_bigint:__embind_register_bigint,_embind_register_bool:__embind_register_bool,_embind_register_class:__embind_register_class,_embind_register_class_class_function:__embind_register_class_class_function,_embind_register_class_class_property:__embind_register_class_class_property,_embind_register_class_constructor:__embind_register_class_constructor,_embind_register_class_function:__embind_register_class_function,_embind_register_class_property:__embind_register_class_property,_embind_register_constant:__embind_register_constant,_embind_register_emval:__embind_register_emval,_embind_register_enum:__embind_register_enum,_embind_register_enum_value:__embind_register_enum_value,_embind_register_float:__embind_register_float,_embind_register_function:__embind_register_function,_embind_register_integer:__embind_register_integer,_embind_register_memory_view:__embind_register_memory_view,_embind_register_optional:__embind_register_optional,_embind_register_smart_ptr:__embind_register_smart_ptr,_embind_register_std_string:__embind_register_std_string,_embind_register_std_wstring:__embind_register_std_wstring,_embind_register_user_type:__embind_register_user_type,_embind_register_value_array:__embind_register_value_array,_embind_register_value_array_element:__embind_register_value_array_element,_embind_register_value_object:__embind_register_value_object,_embind_register_value_object_field:__embind_register_value_object_field,_embind_register_void:__embind_register_void,_emscripten_dlopen_js:__emscripten_dlopen_js,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_get_progname:__emscripten_get_progname,_emscripten_lookup_name:__emscripten_lookup_name,_emscripten_memcpy_js:__emscripten_memcpy_js,_emscripten_push_main_loop_blocker:__emscripten_push_main_loop_blocker,_emscripten_push_uncounted_main_loop_blocker:__emscripten_push_uncounted_main_loop_blocker,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_set_offscreencanvas_size:__emscripten_set_offscreencanvas_size,_emscripten_system:__emscripten_system,_emval_as:__emval_as,_emval_as_int64:__emval_as_int64,_emval_as_uint64:__emval_as_uint64,_emval_call:__emval_call,_emval_call_method:__emval_call_method,_emval_coro_make_promise:__emval_coro_make_promise,_emval_coro_suspend:__emval_coro_suspend,_emval_decref:__emval_decref,_emval_delete:__emval_delete,_emval_equals:__emval_equals,_emval_get_global:__emval_get_global,_emval_get_method_caller:__emval_get_method_caller,_emval_get_module_property:__emval_get_module_property,_emval_get_property:__emval_get_property,_emval_greater_than:__emval_greater_than,_emval_in:__emval_in,_emval_incref:__emval_incref,_emval_instanceof:__emval_instanceof,_emval_is_number:__emval_is_number,_emval_is_string:__emval_is_string,_emval_iter_begin:__emval_iter_begin,_emval_iter_next:__emval_iter_next,_emval_less_than:__emval_less_than,_emval_new_array:__emval_new_array,_emval_new_array_from_memory_view:__emval_new_array_from_memory_view,_emval_new_cstring:__emval_new_cstring,_emval_new_object:__emval_new_object,_emval_new_u16string:__emval_new_u16string,_emval_new_u8string:__emval_new_u8string,_emval_not:__emval_not,_emval_register_symbol:__emval_register_symbol,_emval_run_destructors:__emval_run_destructors,_emval_set_property:__emval_set_property,_emval_strictly_equals:__emval_strictly_equals,_emval_take_value:__emval_take_value,_emval_throw:__emval_throw,_emval_typeof:__emval_typeof,_glGetActiveAttribOrUniform:__glGetActiveAttribOrUniform,_gmtime_js:__gmtime_js,_localtime_js:__localtime_js,_mktime_js:__mktime_js,_mmap_js:__mmap_js,_msync_js:__msync_js,_munmap_js:__munmap_js,_setitimer_js:__setitimer_js,_timegm_js:__timegm_js,_tzset_js:__tzset_js,alBuffer3f:_alBuffer3f,alBuffer3i:_alBuffer3i,alBufferData:_alBufferData,alBufferf:_alBufferf,alBufferfv:_alBufferfv,alBufferi:_alBufferi,alBufferiv:_alBufferiv,alDeleteBuffers:_alDeleteBuffers,alDeleteSources:_alDeleteSources,alDisable:_alDisable,alDistanceModel:_alDistanceModel,alDopplerFactor:_alDopplerFactor,alDopplerVelocity:_alDopplerVelocity,alEnable:_alEnable,alGenBuffers:_alGenBuffers,alGenSources:_alGenSources,alGetBoolean:_alGetBoolean,alGetBooleanv:_alGetBooleanv,alGetBuffer3f:_alGetBuffer3f,alGetBuffer3i:_alGetBuffer3i,alGetBufferf:_alGetBufferf,alGetBufferfv:_alGetBufferfv,alGetBufferi:_alGetBufferi,alGetBufferiv:_alGetBufferiv,alGetDouble:_alGetDouble,alGetDoublev:_alGetDoublev,alGetEnumValue:_alGetEnumValue,alGetError:_alGetError,alGetFloat:_alGetFloat,alGetFloatv:_alGetFloatv,alGetInteger:_alGetInteger,alGetIntegerv:_alGetIntegerv,alGetListener3f:_alGetListener3f,alGetListener3i:_alGetListener3i,alGetListenerf:_alGetListenerf,alGetListenerfv:_alGetListenerfv,alGetListeneri:_alGetListeneri,alGetListeneriv:_alGetListeneriv,alGetSource3f:_alGetSource3f,alGetSource3i:_alGetSource3i,alGetSourcef:_alGetSourcef,alGetSourcefv:_alGetSourcefv,alGetSourcei:_alGetSourcei,alGetSourceiv:_alGetSourceiv,alGetString:_alGetString,alIsBuffer:_alIsBuffer,alIsEnabled:_alIsEnabled,alIsExtensionPresent:_alIsExtensionPresent,alIsSource:_alIsSource,alListener3f:_alListener3f,alListener3i:_alListener3i,alListenerf:_alListenerf,alListenerfv:_alListenerfv,alListeneri:_alListeneri,alListeneriv:_alListeneriv,alSource3f:_alSource3f,alSource3i:_alSource3i,alSourcePause:_alSourcePause,alSourcePausev:_alSourcePausev,alSourcePlay:_alSourcePlay,alSourcePlayv:_alSourcePlayv,alSourceQueueBuffers:_alSourceQueueBuffers,alSourceRewind:_alSourceRewind,alSourceRewindv:_alSourceRewindv,alSourceStop:_alSourceStop,alSourceStopv:_alSourceStopv,alSourceUnqueueBuffers:_alSourceUnqueueBuffers,alSourcef:_alSourcef,alSourcefv:_alSourcefv,alSourcei:_alSourcei,alSourceiv:_alSourceiv,alSpeedOfSound:_alSpeedOfSound,alcCaptureCloseDevice:_alcCaptureCloseDevice,alcCaptureOpenDevice:_alcCaptureOpenDevice,alcCaptureSamples:_alcCaptureSamples,alcCaptureStart:_alcCaptureStart,alcCaptureStop:_alcCaptureStop,alcCloseDevice:_alcCloseDevice,alcCreateContext:_alcCreateContext,alcDestroyContext:_alcDestroyContext,alcGetContextsDevice:_alcGetContextsDevice,alcGetCurrentContext:_alcGetCurrentContext,alcGetEnumValue:_alcGetEnumValue,alcGetError:_alcGetError,alcGetIntegerv:_alcGetIntegerv,alcGetString:_alcGetString,alcIsExtensionPresent:_alcIsExtensionPresent,alcMakeContextCurrent:_alcMakeContextCurrent,alcOpenDevice:_alcOpenDevice,alcProcessContext:_alcProcessContext,alcSuspendContext:_alcSuspendContext,boxColor:_boxColor,boxRGBA:_boxRGBA,clock_res_get:_clock_res_get,clock_time_get:_clock_time_get,duckdb_web_fs_directory_create:_duckdb_web_fs_directory_create,duckdb_web_fs_directory_exists:_duckdb_web_fs_directory_exists,duckdb_web_fs_directory_list_files:_duckdb_web_fs_directory_list_files,duckdb_web_fs_directory_remove:_duckdb_web_fs_directory_remove,duckdb_web_fs_file_close:_duckdb_web_fs_file_close,duckdb_web_fs_file_drop_file:_duckdb_web_fs_file_drop_file,duckdb_web_fs_file_exists:_duckdb_web_fs_file_exists,duckdb_web_fs_file_get_last_modified_time:_duckdb_web_fs_file_get_last_modified_time,duckdb_web_fs_file_move:_duckdb_web_fs_file_move,duckdb_web_fs_file_open:_duckdb_web_fs_file_open,duckdb_web_fs_file_read:_duckdb_web_fs_file_read,duckdb_web_fs_file_remove:_duckdb_web_fs_file_remove,duckdb_web_fs_file_sync:_duckdb_web_fs_file_sync,duckdb_web_fs_file_truncate:_duckdb_web_fs_file_truncate,duckdb_web_fs_file_write:_duckdb_web_fs_file_write,duckdb_web_fs_get_default_data_protocol:_duckdb_web_fs_get_default_data_protocol,duckdb_web_fs_glob:_duckdb_web_fs_glob,duckdb_web_test_platform_feature:_duckdb_web_test_platform_feature,duckdb_web_udf_scalar_call:_duckdb_web_udf_scalar_call,eglBindAPI:_eglBindAPI,eglChooseConfig:_eglChooseConfig,eglCreateContext:_eglCreateContext,eglCreateWindowSurface:_eglCreateWindowSurface,eglDestroyContext:_eglDestroyContext,eglDestroySurface:_eglDestroySurface,eglGetConfigAttrib:_eglGetConfigAttrib,eglGetConfigs:_eglGetConfigs,eglGetCurrentContext:_eglGetCurrentContext,eglGetCurrentDisplay:_eglGetCurrentDisplay,eglGetCurrentSurface:_eglGetCurrentSurface,eglGetDisplay:_eglGetDisplay,eglGetError:_eglGetError,eglInitialize:_eglInitialize,eglMakeCurrent:_eglMakeCurrent,eglQueryAPI:_eglQueryAPI,eglQueryContext:_eglQueryContext,eglQueryString:_eglQueryString,eglQuerySurface:_eglQuerySurface,eglReleaseThread:_eglReleaseThread,eglSwapBuffers:_eglSwapBuffers,eglSwapInterval:_eglSwapInterval,eglTerminate:_eglTerminate,eglWaitClient:_eglWaitClient,eglWaitGL:_eglWaitGL,eglWaitNative:_eglWaitNative,ellipseColor:_ellipseColor,ellipseRGBA:_ellipseRGBA,emscripten_SDL_SetEventHandler:_emscripten_SDL_SetEventHandler,emscripten_alcDevicePauseSOFT:_emscripten_alcDevicePauseSOFT,emscripten_alcDeviceResumeSOFT:_emscripten_alcDeviceResumeSOFT,emscripten_alcGetStringiSOFT:_emscripten_alcGetStringiSOFT,emscripten_alcResetDeviceSOFT:_emscripten_alcResetDeviceSOFT,emscripten_asm_const_async_on_main_thread:_emscripten_asm_const_async_on_main_thread,emscripten_asm_const_double:_emscripten_asm_const_double,emscripten_asm_const_double_sync_on_main_thread:_emscripten_asm_const_double_sync_on_main_thread,emscripten_asm_const_int:_emscripten_asm_const_int,emscripten_asm_const_int_sync_on_main_thread:_emscripten_asm_const_int_sync_on_main_thread,emscripten_asm_const_ptr:_emscripten_asm_const_ptr,emscripten_asm_const_ptr_sync_on_main_thread:_emscripten_asm_const_ptr_sync_on_main_thread,emscripten_async_call:_emscripten_async_call,emscripten_async_load_script:_emscripten_async_load_script,emscripten_async_run_script:_emscripten_async_run_script,emscripten_async_wget:_emscripten_async_wget,emscripten_async_wget2:_emscripten_async_wget2,emscripten_async_wget2_abort:_emscripten_async_wget2_abort,emscripten_async_wget2_data:_emscripten_async_wget2_data,emscripten_async_wget_data:_emscripten_async_wget_data,emscripten_call_worker:_emscripten_call_worker,emscripten_cancel_animation_frame:_emscripten_cancel_animation_frame,emscripten_cancel_main_loop:_emscripten_cancel_main_loop,emscripten_clear_immediate:_emscripten_clear_immediate,emscripten_clear_interval:_emscripten_clear_interval,emscripten_clear_timeout:_emscripten_clear_timeout,emscripten_console_error:_emscripten_console_error,emscripten_console_log:_emscripten_console_log,emscripten_console_trace:_emscripten_console_trace,emscripten_console_warn:_emscripten_console_warn,emscripten_create_worker:_emscripten_create_worker,emscripten_date_now:_emscripten_date_now,emscripten_debugger:_emscripten_debugger,emscripten_destroy_worker:_emscripten_destroy_worker,emscripten_enter_soft_fullscreen:_emscripten_enter_soft_fullscreen,emscripten_err:_emscripten_err,emscripten_errn:_emscripten_errn,emscripten_exit_fullscreen:_emscripten_exit_fullscreen,emscripten_exit_pointerlock:_emscripten_exit_pointerlock,emscripten_exit_soft_fullscreen:_emscripten_exit_soft_fullscreen,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_fiber_swap:_emscripten_fiber_swap,emscripten_force_exit:_emscripten_force_exit,emscripten_get_battery_status:_emscripten_get_battery_status,emscripten_get_callstack:_emscripten_get_callstack,emscripten_get_canvas_element_size:_emscripten_get_canvas_element_size,emscripten_get_canvas_size:_emscripten_get_canvas_size,emscripten_get_compiler_setting:_emscripten_get_compiler_setting,emscripten_get_device_pixel_ratio:_emscripten_get_device_pixel_ratio,emscripten_get_devicemotion_status:_emscripten_get_devicemotion_status,emscripten_get_deviceorientation_status:_emscripten_get_deviceorientation_status,emscripten_get_element_css_size:_emscripten_get_element_css_size,emscripten_get_fullscreen_status:_emscripten_get_fullscreen_status,emscripten_get_gamepad_status:_emscripten_get_gamepad_status,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_main_loop_timing:_emscripten_get_main_loop_timing,emscripten_get_mouse_status:_emscripten_get_mouse_status,emscripten_get_now:_emscripten_get_now,emscripten_get_now_res:_emscripten_get_now_res,emscripten_get_num_gamepads:_emscripten_get_num_gamepads,emscripten_get_orientation_status:_emscripten_get_orientation_status,emscripten_get_pointerlock_status:_emscripten_get_pointerlock_status,emscripten_get_preloaded_image_data:_emscripten_get_preloaded_image_data,emscripten_get_preloaded_image_data_from_FILE:_emscripten_get_preloaded_image_data_from_FILE,emscripten_get_screen_size:_emscripten_get_screen_size,emscripten_get_visibility_status:_emscripten_get_visibility_status,emscripten_get_window_title:_emscripten_get_window_title,emscripten_get_worker_queue_size:_emscripten_get_worker_queue_size,emscripten_glActiveTexture:_emscripten_glActiveTexture,emscripten_glAttachShader:_emscripten_glAttachShader,emscripten_glBegin:_emscripten_glBegin,emscripten_glBeginQueryEXT:_emscripten_glBeginQueryEXT,emscripten_glBindAttribLocation:_emscripten_glBindAttribLocation,emscripten_glBindBuffer:_emscripten_glBindBuffer,emscripten_glBindFramebuffer:_emscripten_glBindFramebuffer,emscripten_glBindRenderbuffer:_emscripten_glBindRenderbuffer,emscripten_glBindTexture:_emscripten_glBindTexture,emscripten_glBindVertexArray:_emscripten_glBindVertexArray,emscripten_glBindVertexArrayOES:_emscripten_glBindVertexArrayOES,emscripten_glBlendColor:_emscripten_glBlendColor,emscripten_glBlendEquation:_emscripten_glBlendEquation,emscripten_glBlendEquationSeparate:_emscripten_glBlendEquationSeparate,emscripten_glBlendFunc:_emscripten_glBlendFunc,emscripten_glBlendFuncSeparate:_emscripten_glBlendFuncSeparate,emscripten_glBufferData:_emscripten_glBufferData,emscripten_glBufferSubData:_emscripten_glBufferSubData,emscripten_glCheckFramebufferStatus:_emscripten_glCheckFramebufferStatus,emscripten_glClear:_emscripten_glClear,emscripten_glClearColor:_emscripten_glClearColor,emscripten_glClearDepth:_emscripten_glClearDepth,emscripten_glClearDepthf:_emscripten_glClearDepthf,emscripten_glClearStencil:_emscripten_glClearStencil,emscripten_glClipControlEXT:_emscripten_glClipControlEXT,emscripten_glColorMask:_emscripten_glColorMask,emscripten_glCompileShader:_emscripten_glCompileShader,emscripten_glCompressedTexImage2D:_emscripten_glCompressedTexImage2D,emscripten_glCompressedTexSubImage2D:_emscripten_glCompressedTexSubImage2D,emscripten_glCopyTexImage2D:_emscripten_glCopyTexImage2D,emscripten_glCopyTexSubImage2D:_emscripten_glCopyTexSubImage2D,emscripten_glCreateProgram:_emscripten_glCreateProgram,emscripten_glCreateShader:_emscripten_glCreateShader,emscripten_glCullFace:_emscripten_glCullFace,emscripten_glDeleteBuffers:_emscripten_glDeleteBuffers,emscripten_glDeleteFramebuffers:_emscripten_glDeleteFramebuffers,emscripten_glDeleteProgram:_emscripten_glDeleteProgram,emscripten_glDeleteQueriesEXT:_emscripten_glDeleteQueriesEXT,emscripten_glDeleteRenderbuffers:_emscripten_glDeleteRenderbuffers,emscripten_glDeleteShader:_emscripten_glDeleteShader,emscripten_glDeleteTextures:_emscripten_glDeleteTextures,emscripten_glDeleteVertexArrays:_emscripten_glDeleteVertexArrays,emscripten_glDeleteVertexArraysOES:_emscripten_glDeleteVertexArraysOES,emscripten_glDepthFunc:_emscripten_glDepthFunc,emscripten_glDepthMask:_emscripten_glDepthMask,emscripten_glDepthRange:_emscripten_glDepthRange,emscripten_glDepthRangef:_emscripten_glDepthRangef,emscripten_glDetachShader:_emscripten_glDetachShader,emscripten_glDisable:_emscripten_glDisable,emscripten_glDisableVertexAttribArray:_emscripten_glDisableVertexAttribArray,emscripten_glDrawArrays:_emscripten_glDrawArrays,emscripten_glDrawArraysInstanced:_emscripten_glDrawArraysInstanced,emscripten_glDrawArraysInstancedANGLE:_emscripten_glDrawArraysInstancedANGLE,emscripten_glDrawArraysInstancedARB:_emscripten_glDrawArraysInstancedARB,emscripten_glDrawArraysInstancedEXT:_emscripten_glDrawArraysInstancedEXT,emscripten_glDrawArraysInstancedNV:_emscripten_glDrawArraysInstancedNV,emscripten_glDrawBuffers:_emscripten_glDrawBuffers,emscripten_glDrawBuffersEXT:_emscripten_glDrawBuffersEXT,emscripten_glDrawBuffersWEBGL:_emscripten_glDrawBuffersWEBGL,emscripten_glDrawElements:_emscripten_glDrawElements,emscripten_glDrawElementsInstanced:_emscripten_glDrawElementsInstanced,emscripten_glDrawElementsInstancedANGLE:_emscripten_glDrawElementsInstancedANGLE,emscripten_glDrawElementsInstancedARB:_emscripten_glDrawElementsInstancedARB,emscripten_glDrawElementsInstancedEXT:_emscripten_glDrawElementsInstancedEXT,emscripten_glDrawElementsInstancedNV:_emscripten_glDrawElementsInstancedNV,emscripten_glEnable:_emscripten_glEnable,emscripten_glEnableVertexAttribArray:_emscripten_glEnableVertexAttribArray,emscripten_glEndQueryEXT:_emscripten_glEndQueryEXT,emscripten_glFinish:_emscripten_glFinish,emscripten_glFlush:_emscripten_glFlush,emscripten_glFramebufferRenderbuffer:_emscripten_glFramebufferRenderbuffer,emscripten_glFramebufferTexture2D:_emscripten_glFramebufferTexture2D,emscripten_glFrontFace:_emscripten_glFrontFace,emscripten_glGenBuffers:_emscripten_glGenBuffers,emscripten_glGenFramebuffers:_emscripten_glGenFramebuffers,emscripten_glGenQueriesEXT:_emscripten_glGenQueriesEXT,emscripten_glGenRenderbuffers:_emscripten_glGenRenderbuffers,emscripten_glGenTextures:_emscripten_glGenTextures,emscripten_glGenVertexArrays:_emscripten_glGenVertexArrays,emscripten_glGenVertexArraysOES:_emscripten_glGenVertexArraysOES,emscripten_glGenerateMipmap:_emscripten_glGenerateMipmap,emscripten_glGetActiveAttrib:_emscripten_glGetActiveAttrib,emscripten_glGetActiveUniform:_emscripten_glGetActiveUniform,emscripten_glGetAttachedShaders:_emscripten_glGetAttachedShaders,emscripten_glGetAttribLocation:_emscripten_glGetAttribLocation,emscripten_glGetBooleanv:_emscripten_glGetBooleanv,emscripten_glGetBufferParameteriv:_emscripten_glGetBufferParameteriv,emscripten_glGetError:_emscripten_glGetError,emscripten_glGetFloatv:_emscripten_glGetFloatv,emscripten_glGetFramebufferAttachmentParameteriv:_emscripten_glGetFramebufferAttachmentParameteriv,emscripten_glGetIntegerv:_emscripten_glGetIntegerv,emscripten_glGetProgramInfoLog:_emscripten_glGetProgramInfoLog,emscripten_glGetProgramiv:_emscripten_glGetProgramiv,emscripten_glGetQueryObjecti64vEXT:_emscripten_glGetQueryObjecti64vEXT,emscripten_glGetQueryObjectivEXT:_emscripten_glGetQueryObjectivEXT,emscripten_glGetQueryObjectui64vEXT:_emscripten_glGetQueryObjectui64vEXT,emscripten_glGetQueryObjectuivEXT:_emscripten_glGetQueryObjectuivEXT,emscripten_glGetQueryivEXT:_emscripten_glGetQueryivEXT,emscripten_glGetRenderbufferParameteriv:_emscripten_glGetRenderbufferParameteriv,emscripten_glGetShaderInfoLog:_emscripten_glGetShaderInfoLog,emscripten_glGetShaderPrecisionFormat:_emscripten_glGetShaderPrecisionFormat,emscripten_glGetShaderSource:_emscripten_glGetShaderSource,emscripten_glGetShaderiv:_emscripten_glGetShaderiv,emscripten_glGetString:_emscripten_glGetString,emscripten_glGetTexParameterfv:_emscripten_glGetTexParameterfv,emscripten_glGetTexParameteriv:_emscripten_glGetTexParameteriv,emscripten_glGetUniformLocation:_emscripten_glGetUniformLocation,emscripten_glGetUniformfv:_emscripten_glGetUniformfv,emscripten_glGetUniformiv:_emscripten_glGetUniformiv,emscripten_glGetVertexAttribPointerv:_emscripten_glGetVertexAttribPointerv,emscripten_glGetVertexAttribfv:_emscripten_glGetVertexAttribfv,emscripten_glGetVertexAttribiv:_emscripten_glGetVertexAttribiv,emscripten_glHint:_emscripten_glHint,emscripten_glIsBuffer:_emscripten_glIsBuffer,emscripten_glIsEnabled:_emscripten_glIsEnabled,emscripten_glIsFramebuffer:_emscripten_glIsFramebuffer,emscripten_glIsProgram:_emscripten_glIsProgram,emscripten_glIsQueryEXT:_emscripten_glIsQueryEXT,emscripten_glIsRenderbuffer:_emscripten_glIsRenderbuffer,emscripten_glIsShader:_emscripten_glIsShader,emscripten_glIsTexture:_emscripten_glIsTexture,emscripten_glIsVertexArray:_emscripten_glIsVertexArray,emscripten_glIsVertexArrayOES:_emscripten_glIsVertexArrayOES,emscripten_glLineWidth:_emscripten_glLineWidth,emscripten_glLinkProgram:_emscripten_glLinkProgram,emscripten_glLoadIdentity:_emscripten_glLoadIdentity,emscripten_glMatrixMode:_emscripten_glMatrixMode,emscripten_glMultiDrawArrays:_emscripten_glMultiDrawArrays,emscripten_glMultiDrawArraysANGLE:_emscripten_glMultiDrawArraysANGLE,emscripten_glMultiDrawArraysInstancedANGLE:_emscripten_glMultiDrawArraysInstancedANGLE,emscripten_glMultiDrawArraysInstancedWEBGL:_emscripten_glMultiDrawArraysInstancedWEBGL,emscripten_glMultiDrawArraysWEBGL:_emscripten_glMultiDrawArraysWEBGL,emscripten_glMultiDrawElements:_emscripten_glMultiDrawElements,emscripten_glMultiDrawElementsANGLE:_emscripten_glMultiDrawElementsANGLE,emscripten_glMultiDrawElementsInstancedANGLE:_emscripten_glMultiDrawElementsInstancedANGLE,emscripten_glMultiDrawElementsInstancedWEBGL:_emscripten_glMultiDrawElementsInstancedWEBGL,emscripten_glMultiDrawElementsWEBGL:_emscripten_glMultiDrawElementsWEBGL,emscripten_glPixelStorei:_emscripten_glPixelStorei,emscripten_glPolygonModeWEBGL:_emscripten_glPolygonModeWEBGL,emscripten_glPolygonOffset:_emscripten_glPolygonOffset,emscripten_glPolygonOffsetClampEXT:_emscripten_glPolygonOffsetClampEXT,emscripten_glQueryCounterEXT:_emscripten_glQueryCounterEXT,emscripten_glReadPixels:_emscripten_glReadPixels,emscripten_glReleaseShaderCompiler:_emscripten_glReleaseShaderCompiler,emscripten_glRenderbufferStorage:_emscripten_glRenderbufferStorage,emscripten_glSampleCoverage:_emscripten_glSampleCoverage,emscripten_glScissor:_emscripten_glScissor,emscripten_glShaderBinary:_emscripten_glShaderBinary,emscripten_glShaderSource:_emscripten_glShaderSource,emscripten_glStencilFunc:_emscripten_glStencilFunc,emscripten_glStencilFuncSeparate:_emscripten_glStencilFuncSeparate,emscripten_glStencilMask:_emscripten_glStencilMask,emscripten_glStencilMaskSeparate:_emscripten_glStencilMaskSeparate,emscripten_glStencilOp:_emscripten_glStencilOp,emscripten_glStencilOpSeparate:_emscripten_glStencilOpSeparate,emscripten_glTexImage2D:_emscripten_glTexImage2D,emscripten_glTexParameterf:_emscripten_glTexParameterf,emscripten_glTexParameterfv:_emscripten_glTexParameterfv,emscripten_glTexParameteri:_emscripten_glTexParameteri,emscripten_glTexParameteriv:_emscripten_glTexParameteriv,emscripten_glTexSubImage2D:_emscripten_glTexSubImage2D,emscripten_glUniform1f:_emscripten_glUniform1f,emscripten_glUniform1fv:_emscripten_glUniform1fv,emscripten_glUniform1i:_emscripten_glUniform1i,emscripten_glUniform1iv:_emscripten_glUniform1iv,emscripten_glUniform2f:_emscripten_glUniform2f,emscripten_glUniform2fv:_emscripten_glUniform2fv,emscripten_glUniform2i:_emscripten_glUniform2i,emscripten_glUniform2iv:_emscripten_glUniform2iv,emscripten_glUniform3f:_emscripten_glUniform3f,emscripten_glUniform3fv:_emscripten_glUniform3fv,emscripten_glUniform3i:_emscripten_glUniform3i,emscripten_glUniform3iv:_emscripten_glUniform3iv,emscripten_glUniform4f:_emscripten_glUniform4f,emscripten_glUniform4fv:_emscripten_glUniform4fv,emscripten_glUniform4i:_emscripten_glUniform4i,emscripten_glUniform4iv:_emscripten_glUniform4iv,emscripten_glUniformMatrix2fv:_emscripten_glUniformMatrix2fv,emscripten_glUniformMatrix3fv:_emscripten_glUniformMatrix3fv,emscripten_glUniformMatrix4fv:_emscripten_glUniformMatrix4fv,emscripten_glUseProgram:_emscripten_glUseProgram,emscripten_glValidateProgram:_emscripten_glValidateProgram,emscripten_glVertexAttrib1f:_emscripten_glVertexAttrib1f,emscripten_glVertexAttrib1fv:_emscripten_glVertexAttrib1fv,emscripten_glVertexAttrib2f:_emscripten_glVertexAttrib2f,emscripten_glVertexAttrib2fv:_emscripten_glVertexAttrib2fv,emscripten_glVertexAttrib3f:_emscripten_glVertexAttrib3f,emscripten_glVertexAttrib3fv:_emscripten_glVertexAttrib3fv,emscripten_glVertexAttrib4f:_emscripten_glVertexAttrib4f,emscripten_glVertexAttrib4fv:_emscripten_glVertexAttrib4fv,emscripten_glVertexAttribDivisor:_emscripten_glVertexAttribDivisor,emscripten_glVertexAttribDivisorANGLE:_emscripten_glVertexAttribDivisorANGLE,emscripten_glVertexAttribDivisorARB:_emscripten_glVertexAttribDivisorARB,emscripten_glVertexAttribDivisorEXT:_emscripten_glVertexAttribDivisorEXT,emscripten_glVertexAttribDivisorNV:_emscripten_glVertexAttribDivisorNV,emscripten_glVertexAttribPointer:_emscripten_glVertexAttribPointer,emscripten_glVertexPointer:_emscripten_glVertexPointer,emscripten_glViewport:_emscripten_glViewport,emscripten_has_asyncify:_emscripten_has_asyncify,emscripten_hide_mouse:_emscripten_hide_mouse,emscripten_html5_remove_all_event_listeners:_emscripten_html5_remove_all_event_listeners,emscripten_idb_async_clear:_emscripten_idb_async_clear,emscripten_idb_async_delete:_emscripten_idb_async_delete,emscripten_idb_async_exists:_emscripten_idb_async_exists,emscripten_idb_async_load:_emscripten_idb_async_load,emscripten_idb_async_store:_emscripten_idb_async_store,emscripten_idb_clear:_emscripten_idb_clear,emscripten_idb_delete:_emscripten_idb_delete,emscripten_idb_exists:_emscripten_idb_exists,emscripten_idb_load:_emscripten_idb_load,emscripten_idb_store:_emscripten_idb_store,emscripten_is_main_browser_thread:_emscripten_is_main_browser_thread,emscripten_is_webgl_context_lost:_emscripten_is_webgl_context_lost,emscripten_lock_orientation:_emscripten_lock_orientation,emscripten_log:_emscripten_log,emscripten_math_acos:_emscripten_math_acos,emscripten_math_acosh:_emscripten_math_acosh,emscripten_math_asin:_emscripten_math_asin,emscripten_math_asinh:_emscripten_math_asinh,emscripten_math_atan:_emscripten_math_atan,emscripten_math_atan2:_emscripten_math_atan2,emscripten_math_atanh:_emscripten_math_atanh,emscripten_math_cbrt:_emscripten_math_cbrt,emscripten_math_cos:_emscripten_math_cos,emscripten_math_cosh:_emscripten_math_cosh,emscripten_math_exp:_emscripten_math_exp,emscripten_math_expm1:_emscripten_math_expm1,emscripten_math_fmod:_emscripten_math_fmod,emscripten_math_hypot:_emscripten_math_hypot,emscripten_math_log:_emscripten_math_log,emscripten_math_log10:_emscripten_math_log10,emscripten_math_log1p:_emscripten_math_log1p,emscripten_math_log2:_emscripten_math_log2,emscripten_math_pow:_emscripten_math_pow,emscripten_math_random:_emscripten_math_random,emscripten_math_round:_emscripten_math_round,emscripten_math_sign:_emscripten_math_sign,emscripten_math_sin:_emscripten_math_sin,emscripten_math_sinh:_emscripten_math_sinh,emscripten_math_sqrt:_emscripten_math_sqrt,emscripten_math_tan:_emscripten_math_tan,emscripten_math_tanh:_emscripten_math_tanh,emscripten_notify_memory_growth:_emscripten_notify_memory_growth,emscripten_out:_emscripten_out,emscripten_outn:_emscripten_outn,emscripten_pause_main_loop:_emscripten_pause_main_loop,emscripten_pc_get_column:_emscripten_pc_get_column,emscripten_pc_get_file:_emscripten_pc_get_file,emscripten_pc_get_function:_emscripten_pc_get_function,emscripten_pc_get_line:_emscripten_pc_get_line,emscripten_performance_now:_emscripten_performance_now,emscripten_print_double:_emscripten_print_double,emscripten_promise_all:_emscripten_promise_all,emscripten_promise_all_settled:_emscripten_promise_all_settled,emscripten_promise_any:_emscripten_promise_any,emscripten_promise_await:_emscripten_promise_await,emscripten_promise_create:_emscripten_promise_create,emscripten_promise_destroy:_emscripten_promise_destroy,emscripten_promise_race:_emscripten_promise_race,emscripten_promise_resolve:_emscripten_promise_resolve,emscripten_promise_then:_emscripten_promise_then,emscripten_random:_emscripten_random,emscripten_request_animation_frame:_emscripten_request_animation_frame,emscripten_request_animation_frame_loop:_emscripten_request_animation_frame_loop,emscripten_request_fullscreen:_emscripten_request_fullscreen,emscripten_request_fullscreen_strategy:_emscripten_request_fullscreen_strategy,emscripten_request_pointerlock:_emscripten_request_pointerlock,emscripten_resize_heap:_emscripten_resize_heap,emscripten_resume_main_loop:_emscripten_resume_main_loop,emscripten_return_address:_emscripten_return_address,emscripten_run_preload_plugins:_emscripten_run_preload_plugins,emscripten_run_preload_plugins_data:_emscripten_run_preload_plugins_data,emscripten_run_script:_emscripten_run_script,emscripten_run_script_int:_emscripten_run_script_int,emscripten_run_script_string:_emscripten_run_script_string,emscripten_runtime_keepalive_check:_emscripten_runtime_keepalive_check,emscripten_runtime_keepalive_pop:_emscripten_runtime_keepalive_pop,emscripten_runtime_keepalive_push:_emscripten_runtime_keepalive_push,emscripten_sample_gamepad_data:_emscripten_sample_gamepad_data,emscripten_scan_registers:_emscripten_scan_registers,emscripten_set_batterychargingchange_callback_on_thread:_emscripten_set_batterychargingchange_callback_on_thread,emscripten_set_batterylevelchange_callback_on_thread:_emscripten_set_batterylevelchange_callback_on_thread,emscripten_set_beforeunload_callback_on_thread:_emscripten_set_beforeunload_callback_on_thread,emscripten_set_blur_callback_on_thread:_emscripten_set_blur_callback_on_thread,emscripten_set_canvas_element_size:_emscripten_set_canvas_element_size,emscripten_set_canvas_size:_emscripten_set_canvas_size,emscripten_set_click_callback_on_thread:_emscripten_set_click_callback_on_thread,emscripten_set_dblclick_callback_on_thread:_emscripten_set_dblclick_callback_on_thread,emscripten_set_devicemotion_callback_on_thread:_emscripten_set_devicemotion_callback_on_thread,emscripten_set_deviceorientation_callback_on_thread:_emscripten_set_deviceorientation_callback_on_thread,emscripten_set_element_css_size:_emscripten_set_element_css_size,emscripten_set_focus_callback_on_thread:_emscripten_set_focus_callback_on_thread,emscripten_set_focusin_callback_on_thread:_emscripten_set_focusin_callback_on_thread,emscripten_set_focusout_callback_on_thread:_emscripten_set_focusout_callback_on_thread,emscripten_set_fullscreenchange_callback_on_thread:_emscripten_set_fullscreenchange_callback_on_thread,emscripten_set_gamepadconnected_callback_on_thread:_emscripten_set_gamepadconnected_callback_on_thread,emscripten_set_gamepaddisconnected_callback_on_thread:_emscripten_set_gamepaddisconnected_callback_on_thread,emscripten_set_immediate:_emscripten_set_immediate,emscripten_set_immediate_loop:_emscripten_set_immediate_loop,emscripten_set_interval:_emscripten_set_interval,emscripten_set_keydown_callback_on_thread:_emscripten_set_keydown_callback_on_thread,emscripten_set_keypress_callback_on_thread:_emscripten_set_keypress_callback_on_thread,emscripten_set_keyup_callback_on_thread:_emscripten_set_keyup_callback_on_thread,emscripten_set_main_loop:_emscripten_set_main_loop,emscripten_set_main_loop_arg:_emscripten_set_main_loop_arg,emscripten_set_main_loop_expected_blockers:_emscripten_set_main_loop_expected_blockers,emscripten_set_main_loop_timing:_emscripten_set_main_loop_timing,emscripten_set_mousedown_callback_on_thread:_emscripten_set_mousedown_callback_on_thread,emscripten_set_mouseenter_callback_on_thread:_emscripten_set_mouseenter_callback_on_thread,emscripten_set_mouseleave_callback_on_thread:_emscripten_set_mouseleave_callback_on_thread,emscripten_set_mousemove_callback_on_thread:_emscripten_set_mousemove_callback_on_thread,emscripten_set_mouseout_callback_on_thread:_emscripten_set_mouseout_callback_on_thread,emscripten_set_mouseover_callback_on_thread:_emscripten_set_mouseover_callback_on_thread,emscripten_set_mouseup_callback_on_thread:_emscripten_set_mouseup_callback_on_thread,emscripten_set_orientationchange_callback_on_thread:_emscripten_set_orientationchange_callback_on_thread,emscripten_set_pointerlockchange_callback_on_thread:_emscripten_set_pointerlockchange_callback_on_thread,emscripten_set_pointerlockerror_callback_on_thread:_emscripten_set_pointerlockerror_callback_on_thread,emscripten_set_resize_callback_on_thread:_emscripten_set_resize_callback_on_thread,emscripten_set_scroll_callback_on_thread:_emscripten_set_scroll_callback_on_thread,emscripten_set_socket_close_callback:_emscripten_set_socket_close_callback,emscripten_set_socket_connection_callback:_emscripten_set_socket_connection_callback,emscripten_set_socket_error_callback:_emscripten_set_socket_error_callback,emscripten_set_socket_listen_callback:_emscripten_set_socket_listen_callback,emscripten_set_socket_message_callback:_emscripten_set_socket_message_callback,emscripten_set_socket_open_callback:_emscripten_set_socket_open_callback,emscripten_set_timeout:_emscripten_set_timeout,emscripten_set_timeout_loop:_emscripten_set_timeout_loop,emscripten_set_touchcancel_callback_on_thread:_emscripten_set_touchcancel_callback_on_thread,emscripten_set_touchend_callback_on_thread:_emscripten_set_touchend_callback_on_thread,emscripten_set_touchmove_callback_on_thread:_emscripten_set_touchmove_callback_on_thread,emscripten_set_touchstart_callback_on_thread:_emscripten_set_touchstart_callback_on_thread,emscripten_set_visibilitychange_callback_on_thread:_emscripten_set_visibilitychange_callback_on_thread,emscripten_set_webglcontextlost_callback_on_thread:_emscripten_set_webglcontextlost_callback_on_thread,emscripten_set_webglcontextrestored_callback_on_thread:_emscripten_set_webglcontextrestored_callback_on_thread,emscripten_set_wheel_callback_on_thread:_emscripten_set_wheel_callback_on_thread,emscripten_set_window_title:_emscripten_set_window_title,emscripten_sleep:_emscripten_sleep,emscripten_stack_snapshot:_emscripten_stack_snapshot,emscripten_stack_unwind_buffer:_emscripten_stack_unwind_buffer,emscripten_supports_offscreencanvas:_emscripten_supports_offscreencanvas,emscripten_throw_number:_emscripten_throw_number,emscripten_throw_string:_emscripten_throw_string,emscripten_unlock_orientation:_emscripten_unlock_orientation,emscripten_unwind_to_js_event_loop:_emscripten_unwind_to_js_event_loop,emscripten_vibrate:_emscripten_vibrate,emscripten_vibrate_pattern:_emscripten_vibrate_pattern,emscripten_webgl_commit_frame:_emscripten_webgl_commit_frame,emscripten_webgl_create_context:_emscripten_webgl_create_context,emscripten_webgl_destroy_context:_emscripten_webgl_destroy_context,emscripten_webgl_do_commit_frame:_emscripten_webgl_do_commit_frame,emscripten_webgl_do_create_context:_emscripten_webgl_do_create_context,emscripten_webgl_do_get_current_context:_emscripten_webgl_do_get_current_context,emscripten_webgl_enable_ANGLE_instanced_arrays:_emscripten_webgl_enable_ANGLE_instanced_arrays,emscripten_webgl_enable_EXT_clip_control:_emscripten_webgl_enable_EXT_clip_control,emscripten_webgl_enable_EXT_polygon_offset_clamp:_emscripten_webgl_enable_EXT_polygon_offset_clamp,emscripten_webgl_enable_OES_vertex_array_object:_emscripten_webgl_enable_OES_vertex_array_object,emscripten_webgl_enable_WEBGL_draw_buffers:_emscripten_webgl_enable_WEBGL_draw_buffers,emscripten_webgl_enable_WEBGL_multi_draw:_emscripten_webgl_enable_WEBGL_multi_draw,emscripten_webgl_enable_WEBGL_polygon_mode:_emscripten_webgl_enable_WEBGL_polygon_mode,emscripten_webgl_enable_extension:_emscripten_webgl_enable_extension,emscripten_webgl_get_context_attributes:_emscripten_webgl_get_context_attributes,emscripten_webgl_get_current_context:_emscripten_webgl_get_current_context,emscripten_webgl_get_drawing_buffer_size:_emscripten_webgl_get_drawing_buffer_size,emscripten_webgl_get_parameter_d:_emscripten_webgl_get_parameter_d,emscripten_webgl_get_parameter_i64v:_emscripten_webgl_get_parameter_i64v,emscripten_webgl_get_parameter_o:_emscripten_webgl_get_parameter_o,emscripten_webgl_get_parameter_utf8:_emscripten_webgl_get_parameter_utf8,emscripten_webgl_get_parameter_v:_emscripten_webgl_get_parameter_v,emscripten_webgl_get_program_info_log_utf8:_emscripten_webgl_get_program_info_log_utf8,emscripten_webgl_get_program_parameter_d:_emscripten_webgl_get_program_parameter_d,emscripten_webgl_get_shader_info_log_utf8:_emscripten_webgl_get_shader_info_log_utf8,emscripten_webgl_get_shader_parameter_d:_emscripten_webgl_get_shader_parameter_d,emscripten_webgl_get_shader_source_utf8:_emscripten_webgl_get_shader_source_utf8,emscripten_webgl_get_supported_extensions:_emscripten_webgl_get_supported_extensions,emscripten_webgl_get_uniform_d:_emscripten_webgl_get_uniform_d,emscripten_webgl_get_uniform_v:_emscripten_webgl_get_uniform_v,emscripten_webgl_get_vertex_attrib_d:_emscripten_webgl_get_vertex_attrib_d,emscripten_webgl_get_vertex_attrib_o:_emscripten_webgl_get_vertex_attrib_o,emscripten_webgl_get_vertex_attrib_v:_emscripten_webgl_get_vertex_attrib_v,emscripten_webgl_make_context_current:_emscripten_webgl_make_context_current,emscripten_wget_data:_emscripten_wget_data,endprotoent:_endprotoent,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,exit:_exit,fd_close:_fd_close,fd_fdstat_get:_fd_fdstat_get,fd_pread:_fd_pread,fd_pwrite:_fd_pwrite,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,filledEllipseColor:_filledEllipseColor,filledEllipseRGBA:_filledEllipseRGBA,getaddrinfo:_getaddrinfo,getnameinfo:_getnameinfo,getprotobyname:_getprotobyname,getprotobynumber:_getprotobynumber,getprotoent:_getprotoent,glActiveTexture:_glActiveTexture,glAttachShader:_glAttachShader,glBegin:_glBegin,glBeginQueryEXT:_glBeginQueryEXT,glBindAttribLocation:_glBindAttribLocation,glBindBuffer:_glBindBuffer,glBindFramebuffer:_glBindFramebuffer,glBindRenderbuffer:_glBindRenderbuffer,glBindTexture:_glBindTexture,glBindVertexArray:_glBindVertexArray,glBindVertexArrayOES:_glBindVertexArrayOES,glBlendColor:_glBlendColor,glBlendEquation:_glBlendEquation,glBlendEquationSeparate:_glBlendEquationSeparate,glBlendFunc:_glBlendFunc,glBlendFuncSeparate:_glBlendFuncSeparate,glBufferData:_glBufferData,glBufferSubData:_glBufferSubData,glCheckFramebufferStatus:_glCheckFramebufferStatus,glClear:_glClear,glClearColor:_glClearColor,glClearDepth:_glClearDepth,glClearDepthf:_glClearDepthf,glClearStencil:_glClearStencil,glClipControlEXT:_glClipControlEXT,glColorMask:_glColorMask,glCompileShader:_glCompileShader,glCompressedTexImage2D:_glCompressedTexImage2D,glCompressedTexSubImage2D:_glCompressedTexSubImage2D,glCopyTexImage2D:_glCopyTexImage2D,glCopyTexSubImage2D:_glCopyTexSubImage2D,glCreateProgram:_glCreateProgram,glCreateShader:_glCreateShader,glCullFace:_glCullFace,glDeleteBuffers:_glDeleteBuffers,glDeleteFramebuffers:_glDeleteFramebuffers,glDeleteProgram:_glDeleteProgram,glDeleteQueriesEXT:_glDeleteQueriesEXT,glDeleteRenderbuffers:_glDeleteRenderbuffers,glDeleteShader:_glDeleteShader,glDeleteTextures:_glDeleteTextures,glDeleteVertexArrays:_glDeleteVertexArrays,glDeleteVertexArraysOES:_glDeleteVertexArraysOES,glDepthFunc:_glDepthFunc,glDepthMask:_glDepthMask,glDepthRange:_glDepthRange,glDepthRangef:_glDepthRangef,glDetachShader:_glDetachShader,glDisable:_glDisable,glDisableVertexAttribArray:_glDisableVertexAttribArray,glDrawArrays:_glDrawArrays,glDrawArraysInstanced:_glDrawArraysInstanced,glDrawArraysInstancedANGLE:_glDrawArraysInstancedANGLE,glDrawArraysInstancedARB:_glDrawArraysInstancedARB,glDrawArraysInstancedEXT:_glDrawArraysInstancedEXT,glDrawArraysInstancedNV:_glDrawArraysInstancedNV,glDrawBuffers:_glDrawBuffers,glDrawBuffersEXT:_glDrawBuffersEXT,glDrawBuffersWEBGL:_glDrawBuffersWEBGL,glDrawElements:_glDrawElements,glDrawElementsInstanced:_glDrawElementsInstanced,glDrawElementsInstancedANGLE:_glDrawElementsInstancedANGLE,glDrawElementsInstancedARB:_glDrawElementsInstancedARB,glDrawElementsInstancedEXT:_glDrawElementsInstancedEXT,glDrawElementsInstancedNV:_glDrawElementsInstancedNV,glEnable:_glEnable,glEnableVertexAttribArray:_glEnableVertexAttribArray,glEndQueryEXT:_glEndQueryEXT,glFinish:_glFinish,glFlush:_glFlush,glFramebufferRenderbuffer:_glFramebufferRenderbuffer,glFramebufferTexture2D:_glFramebufferTexture2D,glFrontFace:_glFrontFace,glGenBuffers:_glGenBuffers,glGenFramebuffers:_glGenFramebuffers,glGenQueriesEXT:_glGenQueriesEXT,glGenRenderbuffers:_glGenRenderbuffers,glGenTextures:_glGenTextures,glGenVertexArrays:_glGenVertexArrays,glGenVertexArraysOES:_glGenVertexArraysOES,glGenerateMipmap:_glGenerateMipmap,glGetActiveAttrib:_glGetActiveAttrib,glGetActiveUniform:_glGetActiveUniform,glGetAttachedShaders:_glGetAttachedShaders,glGetAttribLocation:_glGetAttribLocation,glGetBooleanv:_glGetBooleanv,glGetBufferParameteriv:_glGetBufferParameteriv,glGetError:_glGetError,glGetFloatv:_glGetFloatv,glGetFramebufferAttachmentParameteriv:_glGetFramebufferAttachmentParameteriv,glGetIntegerv:_glGetIntegerv,glGetProgramInfoLog:_glGetProgramInfoLog,glGetProgramiv:_glGetProgramiv,glGetQueryObjecti64vEXT:_glGetQueryObjecti64vEXT,glGetQueryObjectivEXT:_glGetQueryObjectivEXT,glGetQueryObjectui64vEXT:_glGetQueryObjectui64vEXT,glGetQueryObjectuivEXT:_glGetQueryObjectuivEXT,glGetQueryivEXT:_glGetQueryivEXT,glGetRenderbufferParameteriv:_glGetRenderbufferParameteriv,glGetShaderInfoLog:_glGetShaderInfoLog,glGetShaderPrecisionFormat:_glGetShaderPrecisionFormat,glGetShaderSource:_glGetShaderSource,glGetShaderiv:_glGetShaderiv,glGetString:_glGetString,glGetTexParameterfv:_glGetTexParameterfv,glGetTexParameteriv:_glGetTexParameteriv,glGetUniformLocation:_glGetUniformLocation,glGetUniformfv:_glGetUniformfv,glGetUniformiv:_glGetUniformiv,glGetVertexAttribPointerv:_glGetVertexAttribPointerv,glGetVertexAttribfv:_glGetVertexAttribfv,glGetVertexAttribiv:_glGetVertexAttribiv,glHint:_glHint,glIsBuffer:_glIsBuffer,glIsEnabled:_glIsEnabled,glIsFramebuffer:_glIsFramebuffer,glIsProgram:_glIsProgram,glIsQueryEXT:_glIsQueryEXT,glIsRenderbuffer:_glIsRenderbuffer,glIsShader:_glIsShader,glIsTexture:_glIsTexture,glIsVertexArray:_glIsVertexArray,glIsVertexArrayOES:_glIsVertexArrayOES,glLineWidth:_glLineWidth,glLinkProgram:_glLinkProgram,glLoadIdentity:_glLoadIdentity,glMatrixMode:_glMatrixMode,glMultiDrawArrays:_glMultiDrawArrays,glMultiDrawArraysANGLE:_glMultiDrawArraysANGLE,glMultiDrawArraysInstancedANGLE:_glMultiDrawArraysInstancedANGLE,glMultiDrawArraysInstancedWEBGL:_glMultiDrawArraysInstancedWEBGL,glMultiDrawArraysWEBGL:_glMultiDrawArraysWEBGL,glMultiDrawElements:_glMultiDrawElements,glMultiDrawElementsANGLE:_glMultiDrawElementsANGLE,glMultiDrawElementsInstancedANGLE:_glMultiDrawElementsInstancedANGLE,glMultiDrawElementsInstancedWEBGL:_glMultiDrawElementsInstancedWEBGL,glMultiDrawElementsWEBGL:_glMultiDrawElementsWEBGL,glPixelStorei:_glPixelStorei,glPolygonModeWEBGL:_glPolygonModeWEBGL,glPolygonOffset:_glPolygonOffset,glPolygonOffsetClampEXT:_glPolygonOffsetClampEXT,glQueryCounterEXT:_glQueryCounterEXT,glReadPixels:_glReadPixels,glReleaseShaderCompiler:_glReleaseShaderCompiler,glRenderbufferStorage:_glRenderbufferStorage,glSampleCoverage:_glSampleCoverage,glScissor:_glScissor,glShaderBinary:_glShaderBinary,glShaderSource:_glShaderSource,glStencilFunc:_glStencilFunc,glStencilFuncSeparate:_glStencilFuncSeparate,glStencilMask:_glStencilMask,glStencilMaskSeparate:_glStencilMaskSeparate,glStencilOp:_glStencilOp,glStencilOpSeparate:_glStencilOpSeparate,glTexImage2D:_glTexImage2D,glTexParameterf:_glTexParameterf,glTexParameterfv:_glTexParameterfv,glTexParameteri:_glTexParameteri,glTexParameteriv:_glTexParameteriv,glTexSubImage2D:_glTexSubImage2D,glUniform1f:_glUniform1f,glUniform1fv:_glUniform1fv,glUniform1i:_glUniform1i,glUniform1iv:_glUniform1iv,glUniform2f:_glUniform2f,glUniform2fv:_glUniform2fv,glUniform2i:_glUniform2i,glUniform2iv:_glUniform2iv,glUniform3f:_glUniform3f,glUniform3fv:_glUniform3fv,glUniform3i:_glUniform3i,glUniform3iv:_glUniform3iv,glUniform4f:_glUniform4f,glUniform4fv:_glUniform4fv,glUniform4i:_glUniform4i,glUniform4iv:_glUniform4iv,glUniformMatrix2fv:_glUniformMatrix2fv,glUniformMatrix3fv:_glUniformMatrix3fv,glUniformMatrix4fv:_glUniformMatrix4fv,glUseProgram:_glUseProgram,glValidateProgram:_glValidateProgram,glVertexAttrib1f:_glVertexAttrib1f,glVertexAttrib1fv:_glVertexAttrib1fv,glVertexAttrib2f:_glVertexAttrib2f,glVertexAttrib2fv:_glVertexAttrib2fv,glVertexAttrib3f:_glVertexAttrib3f,glVertexAttrib3fv:_glVertexAttrib3fv,glVertexAttrib4f:_glVertexAttrib4f,glVertexAttrib4fv:_glVertexAttrib4fv,glVertexAttribDivisor:_glVertexAttribDivisor,glVertexAttribDivisorANGLE:_glVertexAttribDivisorANGLE,glVertexAttribDivisorARB:_glVertexAttribDivisorARB,glVertexAttribDivisorEXT:_glVertexAttribDivisorEXT,glVertexAttribDivisorNV:_glVertexAttribDivisorNV,glVertexAttribPointer:_glVertexAttribPointer,glVertexPointer:_glVertexPointer,glViewport:_glViewport,glewGetErrorString:_glewGetErrorString,glewGetExtension:_glewGetExtension,glewGetString:_glewGetString,glewInit:_glewInit,glewIsSupported:_glewIsSupported,glutCreateWindow:_glutCreateWindow,glutDestroyWindow:_glutDestroyWindow,glutDisplayFunc:_glutDisplayFunc,glutFullScreen:_glutFullScreen,glutGet:_glutGet,glutGetModifiers:_glutGetModifiers,glutIdleFunc:_glutIdleFunc,glutInit:_glutInit,glutInitDisplayMode:_glutInitDisplayMode,glutInitWindowPosition:_glutInitWindowPosition,glutInitWindowSize:_glutInitWindowSize,glutKeyboardFunc:_glutKeyboardFunc,glutKeyboardUpFunc:_glutKeyboardUpFunc,glutMainLoop:_glutMainLoop,glutMotionFunc:_glutMotionFunc,glutMouseFunc:_glutMouseFunc,glutPassiveMotionFunc:_glutPassiveMotionFunc,glutPositionWindow:_glutPositionWindow,glutPostRedisplay:_glutPostRedisplay,glutReshapeFunc:_glutReshapeFunc,glutReshapeWindow:_glutReshapeWindow,glutSetCursor:_glutSetCursor,glutSpecialFunc:_glutSpecialFunc,glutSpecialUpFunc:_glutSpecialUpFunc,glutSwapBuffers:_glutSwapBuffers,glutTimerFunc:_glutTimerFunc,lineColor:_lineColor,lineRGBA:_lineRGBA,memory:wasmMemory,pixelRGBA:_pixelRGBA,proc_exit:_proc_exit,pthread_kill:_pthread_kill,random_get:_random_get,rectangleColor:_rectangleColor,rectangleRGBA:_rectangleRGBA,rotozoomSurface:_rotozoomSurface,setNetworkCallback:_setNetworkCallback,setprotoent:_setprotoent,stackAlloc:_stackAlloc,stackRestore:_stackRestore,stackSave:_stackSave,strptime:_strptime,strptime_l:_strptime_l,uuid_clear:_uuid_clear,uuid_compare:_uuid_compare,uuid_copy:_uuid_copy,uuid_generate:_uuid_generate,uuid_is_null:_uuid_is_null,uuid_parse:_uuid_parse,uuid_type:_uuid_type,uuid_unparse:_uuid_unparse,uuid_unparse_lower:_uuid_unparse_lower,uuid_unparse_upper:_uuid_unparse_upper,uuid_variant:_uuid_variant,zoomSurface:_zoomSurface},wasmExports=createWasm(),__emval_coro_resume=(e,r)=>(__emval_coro_resume=wasmExports._emval_coro_resume)(e,r),_main=Module._main=(e,r)=>(_main=Module._main=wasmExports.main)(e,r),_duckdb_web_fs_glob_add_path=Module._duckdb_web_fs_glob_add_path=e=>(_duckdb_web_fs_glob_add_path=Module._duckdb_web_fs_glob_add_path=wasmExports.duckdb_web_fs_glob_add_path)(e),_duckdb_web_clear_response=Module._duckdb_web_clear_response=()=>(_duckdb_web_clear_response=Module._duckdb_web_clear_response=wasmExports.duckdb_web_clear_response)(),_duckdb_web_fail_with=Module._duckdb_web_fail_with=e=>(_duckdb_web_fail_with=Module._duckdb_web_fail_with=wasmExports.duckdb_web_fail_with)(e),_duckdb_web_reset=Module._duckdb_web_reset=e=>(_duckdb_web_reset=Module._duckdb_web_reset=wasmExports.duckdb_web_reset)(e),_duckdb_web_connect=Module._duckdb_web_connect=()=>(_duckdb_web_connect=Module._duckdb_web_connect=wasmExports.duckdb_web_connect)(),_duckdb_web_disconnect=Module._duckdb_web_disconnect=e=>(_duckdb_web_disconnect=Module._duckdb_web_disconnect=wasmExports.duckdb_web_disconnect)(e),_duckdb_web_flush_files=Module._duckdb_web_flush_files=()=>(_duckdb_web_flush_files=Module._duckdb_web_flush_files=wasmExports.duckdb_web_flush_files)(),_duckdb_web_flush_file=Module._duckdb_web_flush_file=e=>(_duckdb_web_flush_file=Module._duckdb_web_flush_file=wasmExports.duckdb_web_flush_file)(e),_duckdb_web_open=Module._duckdb_web_open=(e,r)=>(_duckdb_web_open=Module._duckdb_web_open=wasmExports.duckdb_web_open)(e,r),_duckdb_web_get_global_file_info=Module._duckdb_web_get_global_file_info=(e,r)=>(_duckdb_web_get_global_file_info=Module._duckdb_web_get_global_file_info=wasmExports.duckdb_web_get_global_file_info)(e,r),_duckdb_web_collect_file_stats=Module._duckdb_web_collect_file_stats=(e,r,t)=>(_duckdb_web_collect_file_stats=Module._duckdb_web_collect_file_stats=wasmExports.duckdb_web_collect_file_stats)(e,r,t),_duckdb_web_export_file_stats=Module._duckdb_web_export_file_stats=(e,r)=>(_duckdb_web_export_file_stats=Module._duckdb_web_export_file_stats=wasmExports.duckdb_web_export_file_stats)(e,r),_duckdb_web_fs_drop_file=Module._duckdb_web_fs_drop_file=(e,r)=>(_duckdb_web_fs_drop_file=Module._duckdb_web_fs_drop_file=wasmExports.duckdb_web_fs_drop_file)(e,r),_duckdb_web_fs_drop_files=Module._duckdb_web_fs_drop_files=(e,r,t)=>(_duckdb_web_fs_drop_files=Module._duckdb_web_fs_drop_files=wasmExports.duckdb_web_fs_drop_files)(e,r,t),_duckdb_web_fs_glob_file_infos=Module._duckdb_web_fs_glob_file_infos=(e,r)=>(_duckdb_web_fs_glob_file_infos=Module._duckdb_web_fs_glob_file_infos=wasmExports.duckdb_web_fs_glob_file_infos)(e,r),_duckdb_web_fs_get_file_info_by_id=Module._duckdb_web_fs_get_file_info_by_id=(e,r,t)=>(_duckdb_web_fs_get_file_info_by_id=Module._duckdb_web_fs_get_file_info_by_id=wasmExports.duckdb_web_fs_get_file_info_by_id)(e,r,t),_duckdb_web_fs_get_file_info_by_name=Module._duckdb_web_fs_get_file_info_by_name=(e,r,t)=>(_duckdb_web_fs_get_file_info_by_name=Module._duckdb_web_fs_get_file_info_by_name=wasmExports.duckdb_web_fs_get_file_info_by_name)(e,r,t),_duckdb_web_fs_register_file_url=Module._duckdb_web_fs_register_file_url=(e,r,t,n,a)=>(_duckdb_web_fs_register_file_url=Module._duckdb_web_fs_register_file_url=wasmExports.duckdb_web_fs_register_file_url)(e,r,t,n,a),_duckdb_web_fs_register_file_buffer=Module._duckdb_web_fs_register_file_buffer=(e,r,t,n)=>(_duckdb_web_fs_register_file_buffer=Module._duckdb_web_fs_register_file_buffer=wasmExports.duckdb_web_fs_register_file_buffer)(e,r,t,n),_duckdb_web_copy_file_to_buffer=Module._duckdb_web_copy_file_to_buffer=(e,r)=>(_duckdb_web_copy_file_to_buffer=Module._duckdb_web_copy_file_to_buffer=wasmExports.duckdb_web_copy_file_to_buffer)(e,r),_duckdb_web_copy_file_to_path=Module._duckdb_web_copy_file_to_path=(e,r,t)=>(_duckdb_web_copy_file_to_path=Module._duckdb_web_copy_file_to_path=wasmExports.duckdb_web_copy_file_to_path)(e,r,t),_duckdb_web_get_version=Module._duckdb_web_get_version=e=>(_duckdb_web_get_version=Module._duckdb_web_get_version=wasmExports.duckdb_web_get_version)(e),_duckdb_web_get_feature_flags=Module._duckdb_web_get_feature_flags=()=>(_duckdb_web_get_feature_flags=Module._duckdb_web_get_feature_flags=wasmExports.duckdb_web_get_feature_flags)(),_duckdb_web_tokenize=Module._duckdb_web_tokenize=(e,r)=>(_duckdb_web_tokenize=Module._duckdb_web_tokenize=wasmExports.duckdb_web_tokenize)(e,r),_duckdb_web_tokenize_buffer=Module._duckdb_web_tokenize_buffer=(e,r,t)=>(_duckdb_web_tokenize_buffer=Module._duckdb_web_tokenize_buffer=wasmExports.duckdb_web_tokenize_buffer)(e,r,t),_duckdb_web_udf_scalar_create=Module._duckdb_web_udf_scalar_create=(e,r,t)=>(_duckdb_web_udf_scalar_create=Module._duckdb_web_udf_scalar_create=wasmExports.duckdb_web_udf_scalar_create)(e,r,t),_duckdb_web_prepared_create=Module._duckdb_web_prepared_create=(e,r,t)=>(_duckdb_web_prepared_create=Module._duckdb_web_prepared_create=wasmExports.duckdb_web_prepared_create)(e,r,t),_duckdb_web_prepared_create_buffer=Module._duckdb_web_prepared_create_buffer=(e,r,t,n)=>(_duckdb_web_prepared_create_buffer=Module._duckdb_web_prepared_create_buffer=wasmExports.duckdb_web_prepared_create_buffer)(e,r,t,n),_duckdb_web_prepared_close=Module._duckdb_web_prepared_close=(e,r,t)=>(_duckdb_web_prepared_close=Module._duckdb_web_prepared_close=wasmExports.duckdb_web_prepared_close)(e,r,t),_duckdb_web_prepared_run=Module._duckdb_web_prepared_run=(e,r,t,n)=>(_duckdb_web_prepared_run=Module._duckdb_web_prepared_run=wasmExports.duckdb_web_prepared_run)(e,r,t,n),_duckdb_web_prepared_send=Module._duckdb_web_prepared_send=(e,r,t,n)=>(_duckdb_web_prepared_send=Module._duckdb_web_prepared_send=wasmExports.duckdb_web_prepared_send)(e,r,t,n),_duckdb_web_query_run=Module._duckdb_web_query_run=(e,r,t)=>(_duckdb_web_query_run=Module._duckdb_web_query_run=wasmExports.duckdb_web_query_run)(e,r,t),_duckdb_web_query_run_buffer=Module._duckdb_web_query_run_buffer=(e,r,t,n)=>(_duckdb_web_query_run_buffer=Module._duckdb_web_query_run_buffer=wasmExports.duckdb_web_query_run_buffer)(e,r,t,n),_duckdb_web_pending_query_start=Module._duckdb_web_pending_query_start=(e,r,t,n)=>(_duckdb_web_pending_query_start=Module._duckdb_web_pending_query_start=wasmExports.duckdb_web_pending_query_start)(e,r,t,n),_duckdb_web_pending_query_start_buffer=Module._duckdb_web_pending_query_start_buffer=(e,r,t,n,a)=>(_duckdb_web_pending_query_start_buffer=Module._duckdb_web_pending_query_start_buffer=wasmExports.duckdb_web_pending_query_start_buffer)(e,r,t,n,a),_duckdb_web_pending_query_poll=Module._duckdb_web_pending_query_poll=(e,r,t)=>(_duckdb_web_pending_query_poll=Module._duckdb_web_pending_query_poll=wasmExports.duckdb_web_pending_query_poll)(e,r,t),_duckdb_web_pending_query_cancel=Module._duckdb_web_pending_query_cancel=(e,r)=>(_duckdb_web_pending_query_cancel=Module._duckdb_web_pending_query_cancel=wasmExports.duckdb_web_pending_query_cancel)(e,r),_duckdb_web_query_fetch_results=Module._duckdb_web_query_fetch_results=(e,r)=>(_duckdb_web_query_fetch_results=Module._duckdb_web_query_fetch_results=wasmExports.duckdb_web_query_fetch_results)(e,r),_duckdb_web_get_tablenames=Module._duckdb_web_get_tablenames=(e,r,t)=>(_duckdb_web_get_tablenames=Module._duckdb_web_get_tablenames=wasmExports.duckdb_web_get_tablenames)(e,r,t),_duckdb_web_get_tablenames_buffer=Module._duckdb_web_get_tablenames_buffer=(e,r,t,n)=>(_duckdb_web_get_tablenames_buffer=Module._duckdb_web_get_tablenames_buffer=wasmExports.duckdb_web_get_tablenames_buffer)(e,r,t,n),_duckdb_web_insert_arrow_from_ipc_stream=Module._duckdb_web_insert_arrow_from_ipc_stream=(e,r,t,n,a)=>(_duckdb_web_insert_arrow_from_ipc_stream=Module._duckdb_web_insert_arrow_from_ipc_stream=wasmExports.duckdb_web_insert_arrow_from_ipc_stream)(e,r,t,n,a),_duckdb_web_insert_csv_from_path=Module._duckdb_web_insert_csv_from_path=(e,r,t,n)=>(_duckdb_web_insert_csv_from_path=Module._duckdb_web_insert_csv_from_path=wasmExports.duckdb_web_insert_csv_from_path)(e,r,t,n),_duckdb_web_insert_json_from_path=Module._duckdb_web_insert_json_from_path=(e,r,t,n)=>(_duckdb_web_insert_json_from_path=Module._duckdb_web_insert_json_from_path=wasmExports.duckdb_web_insert_json_from_path)(e,r,t,n),___dl_seterr=(e,r)=>(___dl_seterr=wasmExports.__dl_seterr)(e,r),__emscripten_timeout=(e,r)=>(__emscripten_timeout=wasmExports._emscripten_timeout)(e,r),_malloc=Module._malloc=e=>(_malloc=Module._malloc=wasmExports.malloc)(e),_free=Module._free=e=>(_free=Module._free=wasmExports.free)(e),_calloc=Module._calloc=(e,r)=>(_calloc=Module._calloc=wasmExports.calloc)(e,r),_emscripten_builtin_memalign=(e,r)=>(_emscripten_builtin_memalign=wasmExports.emscripten_builtin_memalign)(e,r),__emscripten_tempret_set=e=>(__emscripten_tempret_set=wasmExports._emscripten_tempret_set)(e),__emscripten_tempret_get=()=>(__emscripten_tempret_get=wasmExports._emscripten_tempret_get)(),__emscripten_stack_restore=e=>(__emscripten_stack_restore=wasmExports._emscripten_stack_restore)(e),__emscripten_stack_alloc=e=>(__emscripten_stack_alloc=wasmExports._emscripten_stack_alloc)(e),_emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports.emscripten_stack_get_current)();function applySignatureConversions(e){e=Object.assign({},e);var r=l=>c=>l(c)>>>0,t=l=>()=>l()>>>0,n=l=>(c,u,d)=>l(c,u,d)>>>0,a=l=>(c,u)=>l(c,u)>>>0,o=l=>c=>l(c)>>>0,_=l=>c=>l(c)>>>0;return e.__getTypeName=r(e.__getTypeName),e.pthread_self=t(e.pthread_self),e.memcpy=n(e.memcpy),e.malloc=r(e.malloc),e.calloc=a(e.calloc),e.__errno_location=t(e.__errno_location),e.strerror=o(e.strerror),e.emscripten_builtin_malloc=r(e.emscripten_builtin_malloc),e.emscripten_stack_get_base=t(e.emscripten_stack_get_base),e.emscripten_stack_get_end=t(e.emscripten_stack_get_end),e.emscripten_builtin_memalign=a(e.emscripten_builtin_memalign),e.emscripten_stack_get_current=t(e.emscripten_stack_get_current),e.emscripten_main_runtime_thread_id=t(e.emscripten_main_runtime_thread_id),e.sbrk=_(e.sbrk),e.memalign=a(e.memalign),e.emscripten_builtin_calloc=a(e.emscripten_builtin_calloc),e._emscripten_stack_alloc=r(e._emscripten_stack_alloc),e.__cxa_get_exception_ptr=r(e.__cxa_get_exception_ptr),e}Module.stackSave=stackSave,Module.stackRestore=stackRestore,Module.stackAlloc=stackAlloc,Module.getTempRet0=getTempRet0,Module.setTempRet0=setTempRet0,Module.ccall=ccall,Module.createDyncallWrapper=createDyncallWrapper;var calledRun;dependenciesFulfilled=function e(){calledRun||run(),calledRun||(dependenciesFulfilled=e)};function callMain(e=[]){var r=resolveGlobalSymbol("main").sym;if(r){e.unshift(thisProgram);var t=e.length,n=stackAlloc((t+1)*4),a=n;e.forEach(_=>{HEAPU32[a>>>2>>>0]=stringToUTF8OnStack(_),a+=4}),HEAPU32[a>>>2>>>0]=0;try{var o=r(t,n);return exitJS(o,!0),o}catch(_){return handleException(_)}}}function run(e=arguments_){if(runDependencies>0||(preRun(),runDependencies>0))return;function r(){var t;calledRun||(calledRun=!0,Module.calledRun=!0,!ABORT&&(initRuntime(),preMain(),readyPromiseResolve(Module),(t=Module.onRuntimeInitialized)==null||t.call(Module),shouldRunNow&&callMain(e),postRun()))}Module.setStatus?(Module.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>Module.setStatus(""),1),r()},1)):r()}if(Module.preInit)for(typeof Module.preInit=="function"&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),moduleRtn=readyPromise,moduleRtn}})();typeof exports=="object"&&typeof module=="object"?module.exports=DuckDB:typeof define=="function"&&define.amd&&define([],()=>DuckDB)});import*as Z from"apache-arrow";var pe=class{constructor(e,r){this._bindings=e,this._conn=r}close(){this._bindings.disconnect(this._conn)}useUnsafe(e){return e(this._bindings,this._conn)}query(e){let r=this._bindings.runQuery(this._conn,e),t=Z.RecordBatchReader.from(r);return console.assert(t.isSync()),console.assert(t.isFile()),new Z.Table(t)}async send(e,r=!1){let t=this._bindings.startPendingQuery(this._conn,e,r);for(;t==null;)t=await new Promise((o,_)=>{try{o(this._bindings.pollPendingQuery(this._conn))}catch(l){console.log(l),l.message.includes("worker is not set!")?_(new Error("Worker has been terminated")):_(l)}});let n=new ge(this._bindings,this._conn,t),a=Z.RecordBatchReader.from(n);return console.assert(a.isSync()),console.assert(a.isStream()),a}cancelSent(){return this._bindings.cancelPendingQuery(this._conn)}getTableNames(e){return this._bindings.getTableNames(this._conn,e)}prepare(e){let r=this._bindings.createPrepared(this._conn,e);return new Fe(this._bindings,this._conn,r)}createScalarFunction(e,r,t){this._bindings.createScalarFunction(this._conn,e,r,t)}insertArrowTable(e,r){let t=Z.tableToIPC(e,"stream");this.insertArrowFromIPCStream(t,r)}insertArrowFromIPCStream(e,r){this._bindings.insertArrowFromIPCStream(this._conn,e,r)}insertCSVFromPath(e,r){this._bindings.insertCSVFromPath(this._conn,e,r)}insertJSONFromPath(e,r){this._bindings.insertJSONFromPath(this._conn,e,r)}},ge=class{constructor(e,r,t){this.bindings=e;this.conn=r;this.header=t;this._first=!0,this._depleted=!1}next(){if(this._first)return this._first=!1,{done:!1,value:this.header};if(this._depleted)return{done:!0,value:null};let e=null;do e=this.bindings.fetchQueryResults(this.conn);while(e==null);return this._depleted=e.length==0,{done:this._depleted,value:e}}[Symbol.iterator](){return this}},Fe=class{constructor(e,r,t){this.bindings=e,this.connectionId=r,this.statementId=t}close(){this.bindings.closePrepared(this.connectionId,this.statementId)}query(...e){let r=this.bindings.runPrepared(this.connectionId,this.statementId,e),t=Z.RecordBatchReader.from(r);return console.assert(t.isSync()),console.assert(t.isFile()),new Z.Table(t)}send(...e){let r=this.bindings.sendPrepared(this.connectionId,this.statementId,e),t=new ge(this.bindings,this.connectionId,r),n=Z.RecordBatchReader.from(t);return console.assert(n.isSync()),console.assert(n.isStream()),n}};var Oe=(t=>(t[t.SUCCESS=0]="SUCCESS",t[t.MAX_ARROW_ERROR=255]="MAX_ARROW_ERROR",t[t.DUCKDB_WASM_RETRY=256]="DUCKDB_WASM_RETRY",t))(Oe||{});function Ne(E){return E<=255}function We(E){return E===256}var Xe=new TextEncoder,Ve=new TextDecoder("utf-8");function Pe(E,e,r){let t=Xe.encode(r),n=E._malloc(t.byteLength),a=E.HEAPU8.subarray(n,n+t.byteLength);a.set(t),E.HEAPF64[(e>>3)+0]=1,E.HEAPF64[(e>>3)+1]=n,E.HEAPF64[(e>>3)+2]=a.byteLength}function xe(E){switch(E){case"UINT8":case"INT8":return 1;case"INT32":case"FLOAT":return 4;case"INT64":case"UINT64":case"DOUBLE":case"VARCHAR":return 8;default:return 0}}function Ce(E,e,r,t){let n=E.HEAPU8.subarray(e,e+t*xe(r));switch(r){case"UINT8":return new Uint8Array(n.buffer,n.byteOffset,t);case"INT8":return new Int8Array(n.buffer,n.byteOffset,t);case"INT32":return new Int32Array(n.buffer,n.byteOffset,t);case"FLOAT":return new Float32Array(n.buffer,n.byteOffset,t);case"DOUBLE":return new Float64Array(n.buffer,n.byteOffset,t);case"VARCHAR":return new Float64Array(n.buffer,n.byteOffset,t);default:return new Array(0)}}function qe(E,e,r){let t=E.HEAPU8.subarray(e,e+r);return new Uint8Array(t.buffer,t.byteOffset,r)}function ve(E,e,r){let t=E.HEAPU8.subarray(e,e+r*8);return new Float64Array(t.buffer,t.byteOffset,r)}function Se(E,e,r,t,n,a,o,_){try{let l=E._udfFunctions.get(t);if(!l){Pe(e,r,"Unknown UDF with id: "+t);return}let c=Ve.decode(e.HEAPU8.subarray(n,n+a)),u=JSON.parse(c),d=ve(e,o,_/8),f=D=>{var k;let P=null;switch(D.validityBuffer!==void 0&&(P=qe(e,d[D.validityBuffer],u.rows)),D.physicalType){case"VARCHAR":{if(D.dataBuffer===null||D.dataBuffer===void 0)throw new Error("malformed data view, expected data buffer for VARCHAR argument");if(D.lengthBuffer===null||D.lengthBuffer===void 0)throw new Error("malformed data view, expected data length buffer for VARCHAR argument");let x=Ce(e,d[D.dataBuffer],D.physicalType,u.rows),T=[],C=ve(e,d[D.lengthBuffer],u.rows);for(let M=0;M<u.rows;++M){if(P!=null&&!P[M]){T.push(null);continue}let G=e.HEAPU8.subarray(x[M],x[M]+C[M]),H=Ve.decode(G);T.push(H)}return M=>T[M]}case"STRUCT":{let x={},T=[];for(let C=0;C<(((k=D.children)==null?void 0:k.length)||0);++C){let M=D.children[C],G=f(M);T.push(H=>{x[M.name]=G(H)})}return P!=null?C=>{if(!P[C])return null;for(let M of T)M(C);return x}:C=>{for(let M of T)M(C);return x}}default:{if(D.dataBuffer===void 0)throw new Error("malformed data view, expected data buffer for argument of type: "+D.physicalType);let x=Ce(e,d[D.dataBuffer],D.physicalType,u.rows);return P!=null?T=>P[T]?x[T]:null:T=>x[T]}}},p=[];for(let D=0;D<u.args.length;++D)p.push(f(u.args[D]));let m=u.rows*xe(u.ret.physicalType),v=e._malloc(m),g=Ce(e,v,u.ret.physicalType,u.rows),S=e._malloc(u.rows),h=qe(e,S,u.rows);if(g.length==0||h.length==0){Pe(e,r,"Can't create physical arrays for result");return}let b=g;u.ret.physicalType=="VARCHAR"&&(b=new Array(u.rows));let A=[];for(let D=0;D<u.args.length;++D)A.push(null);for(let D=0;D<u.rows;++D){for(let k=0;k<u.args.length;++k)A[k]=p[k](D);let P=l.func(...A);b[D]=P,h[D]=P==null?0:1}let w=0;switch(u.ret.physicalType){case"VARCHAR":{let D=new Array(0);w=e._malloc(u.rows*xe("DOUBLE"));let P=ve(e,w,u.rows),k=0;for(let M=0;M<u.rows;++M){let G=Xe.encode(b[M]||"");D.push(G),P[M]=G.length,k+=G.length}let x=e._malloc(k),T=e.HEAPU8.subarray(x,x+k),C=0;for(let M=0;M<u.rows;++M){g[M]=C;let G=D[M];T.subarray(C,C+G.length).set(G),C+=G.length}}}let L=3*8,F=e._malloc(L),y=ve(e,F,3);y[0]=v,y[1]=S,y[2]=w,e.HEAPF64[(r>>3)+0]=0,e.HEAPF64[(r>>3)+1]=F,e.HEAPF64[(r>>3)+2]=0}catch(l){Pe(e,r,l.toString())}}function wr(){let E=new TextDecoder;return e=>(typeof SharedArrayBuffer<"u"&&e.buffer instanceof SharedArrayBuffer&&(e=new Uint8Array(e)),E.decode(e))}var Dr=wr();function Q(E,e){console.error("FAIL WITH: ".concat(e)),E.ccall("duckdb_web_fail_with",null,["string"],[e])}function ie(E,e,r){let t=E.HEAPU8.subarray(e,e+r),n=new Uint8Array(new ArrayBuffer(t.byteLength));return n.set(t),n}function B(E,e,r){return Dr(E.HEAPU8.subarray(e,e+r))}var he=(o=>(o[o.BUFFER=0]="BUFFER",o[o.NODE_FS=1]="NODE_FS",o[o.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",o[o.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",o[o.HTTP=4]="HTTP",o[o.S3=5]="S3",o))(he||{}),ze=(d=>(d[d.FILE_FLAGS_READ=1]="FILE_FLAGS_READ",d[d.FILE_FLAGS_WRITE=2]="FILE_FLAGS_WRITE",d[d.FILE_FLAGS_DIRECT_IO=4]="FILE_FLAGS_DIRECT_IO",d[d.FILE_FLAGS_FILE_CREATE=8]="FILE_FLAGS_FILE_CREATE",d[d.FILE_FLAGS_FILE_CREATE_NEW=16]="FILE_FLAGS_FILE_CREATE_NEW",d[d.FILE_FLAGS_APPEND=32]="FILE_FLAGS_APPEND",d[d.FILE_FLAGS_PRIVATE=64]="FILE_FLAGS_PRIVATE",d[d.FILE_FLAGS_NULL_IF_NOT_EXISTS=128]="FILE_FLAGS_NULL_IF_NOT_EXISTS",d[d.FILE_FLAGS_PARALLEL_ACCESS=256]="FILE_FLAGS_PARALLEL_ACCESS",d[d.FILE_FLAGS_EXCLUSIVE_CREATE=512]="FILE_FLAGS_EXCLUSIVE_CREATE",d[d.FILE_FLAGS_NULL_IF_EXISTS=1024]="FILE_FLAGS_NULL_IF_EXISTS",d))(ze||{});function W(E,e,r,t){let n=E.stackSave(),a=E.stackAlloc(3*8);r.unshift("number"),t.unshift(a),E.ccall(e,null,r,t);let o=E.HEAPF64[(a>>3)+0],_=E.HEAPF64[(a>>3)+1],l=E.HEAPF64[(a>>3)+2];return E.stackRestore(n),[o,_,l]}function q(E){E.ccall("duckdb_web_clear_response",null,[],[])}var Qe={_udfFunctions:new Map,testPlatformFeature:(E,e)=>!1,getDefaultDataProtocol:E=>0,openFile:(E,e,r)=>{},syncFile:(E,e)=>{},closeFile:(E,e)=>{},dropFile:(E,e,r)=>{},getLastFileModificationTime:(E,e)=>0,progressUpdate:(E,e,r)=>{},truncateFile:(E,e,r)=>{},readFile:(E,e,r,t,n)=>0,writeFile:(E,e,r,t,n)=>0,removeDirectory:(E,e,r)=>{},checkDirectory:(E,e,r)=>!1,createDirectory:(E,e,r)=>{},listDirectoryEntries:(E,e,r)=>!1,glob:(E,e,r)=>{},moveFile:(E,e,r,t,n)=>{},checkFile:(E,e,r)=>!1,removeFile:(E,e,r)=>{},callScalarUDF:(E,e,r,t,n,a,o)=>{Se(Qe,E,e,r,t,n,a,o)}};var be=class{constructor(e){let r=new Float64Array(e.buffer,e.byteOffset,e.byteLength/8),t=new Uint8Array(new ArrayBuffer(e.byteLength));t.set(e.subarray(7*8)),this.totalFileReadsCold=r[0],this.totalFileReadsAhead=r[1],this.totalFileReadsCached=r[2],this.totalFileWrites=r[3],this.totalPageAccesses=r[4],this.totalPageLoads=r[5],this.blockSize=r[6],this.blockStats=t}getBlockStats(e,r){return r=r||{file_reads_cold:0,file_reads_ahead:0,file_reads_cached:0,file_writes:0,page_accesses:0,page_loads:0},r.file_writes=this.blockStats[e*3+0]&15,r.file_reads_cold=this.blockStats[e*3+0]>>4,r.file_reads_ahead=this.blockStats[e*3+1]&15,r.file_reads_cached=this.blockStats[e*3+1]>>4,r.page_accesses=this.blockStats[e*3+1]&15,r.page_loads=this.blockStats[e*3+1]>>4,r}};import*as O from"apache-arrow";function ne(E){switch(E.typeId){case O.Type.Binary:return{sqlType:"binary"};case O.Type.Bool:return{sqlType:"bool"};case O.Type.Date:return{sqlType:"date"};case O.Type.DateDay:return{sqlType:"date32[d]"};case O.Type.DateMillisecond:return{sqlType:"date64[ms]"};case O.Type.Decimal:{let e=E;return{sqlType:"decimal",precision:e.precision,scale:e.scale}}case O.Type.Float:return{sqlType:"float"};case O.Type.Float16:return{sqlType:"float16"};case O.Type.Float32:return{sqlType:"float32"};case O.Type.Float64:return{sqlType:"float64"};case O.Type.Int:return{sqlType:"int32"};case O.Type.Int16:return{sqlType:"int16"};case O.Type.Int32:return{sqlType:"int32"};case O.Type.Int64:return{sqlType:"int64"};case O.Type.Uint16:return{sqlType:"uint16"};case O.Type.Uint32:return{sqlType:"uint32"};case O.Type.Uint64:return{sqlType:"uint64"};case O.Type.Uint8:return{sqlType:"uint8"};case O.Type.IntervalDayTime:return{sqlType:"interval[dt]"};case O.Type.IntervalYearMonth:return{sqlType:"interval[m]"};case O.Type.List:return{sqlType:"list",valueType:ne(E.valueType)};case O.Type.FixedSizeBinary:return{sqlType:"fixedsizebinary",byteWidth:E.byteWidth};case O.Type.Null:return{sqlType:"null"};case O.Type.Utf8:return{sqlType:"utf8"};case O.Type.Struct:return{sqlType:"struct",fields:E.children.map(r=>Ee(r.name,r.type))};case O.Type.Map:{let e=E;return{sqlType:"map",keyType:ne(e.keyType),valueType:ne(e.valueType)}}case O.Type.Time:return{sqlType:"time[s]"};case O.Type.TimeMicrosecond:return{sqlType:"time[us]"};case O.Type.TimeMillisecond:return{sqlType:"time[ms]"};case O.Type.TimeNanosecond:return{sqlType:"time[ns]"};case O.Type.TimeSecond:return{sqlType:"time[s]"};case O.Type.Timestamp:return{sqlType:"timestamp",timezone:E.timezone||void 0};case O.Type.TimestampSecond:return{sqlType:"timestamp[s]",timezone:E.timezone||void 0};case O.Type.TimestampMicrosecond:return{sqlType:"timestamp[us]",timezone:E.timezone||void 0};case O.Type.TimestampNanosecond:return{sqlType:"timestamp[ns]",timezone:E.timezone||void 0};case O.Type.TimestampMillisecond:return{sqlType:"timestamp[ms]",timezone:E.timezone||void 0}}throw new Error("unsupported arrow type: ".concat(E.toString()))}function Ee(E,e){let r=ne(e);return r.name=E,r}var ae=new TextEncoder,kr=(a=>(a[a.WASM_EXCEPTIONS=1]="WASM_EXCEPTIONS",a[a.WASM_THREADS=2]="WASM_THREADS",a[a.WASM_SIMD=4]="WASM_SIMD",a[a.WASM_BULK_MEMORY=8]="WASM_BULK_MEMORY",a[a.EMIT_BIGINT=16]="EMIT_BIGINT",a))(kr||{}),ye=class{constructor(e,r){this._instance=null;this._initPromise=null;this._initPromiseResolver=()=>{};this.onInstantiationProgress=[];this._logger=e,this._runtime=r,this._nextUDFId=1}get logger(){return this._logger}get mod(){return this._instance}get pthread(){return this.mod.PThread||null}async instantiate(e=r=>{}){return this._instance!=null?this:(this._initPromise!=null&&(this.onInstantiationProgress.push(e),await this._initPromise),this._initPromise=new Promise(r=>{this._initPromiseResolver=r}),this.onInstantiationProgress=[e],this._instance=await this.instantiateImpl({print:console.log.bind(console),printErr:console.log.bind(console),onRuntimeInitialized:this._initPromiseResolver}),await this._initPromise,this._initPromise=null,this.onInstantiationProgress=this.onInstantiationProgress.filter(r=>r!=e),globalThis.DUCKDB_BINDINGS=this,this)}open(e){let[r,t,n]=W(this.mod,"duckdb_web_open",["string"],[JSON.stringify(e)]);if(r!==0)throw new Error(B(this.mod,t,n));q(this.mod)}reset(){let[e,r,t]=W(this.mod,"duckdb_web_reset",[],[]);if(e!==0)throw new Error(B(this.mod,r,t));q(this.mod)}getVersion(){let[e,r,t]=W(this.mod,"duckdb_web_get_version",[],[]);if(e!==0)throw new Error(B(this.mod,r,t));let n=B(this.mod,r,t);return q(this.mod),n}getFeatureFlags(){return this.mod.ccall("duckdb_web_get_feature_flags","number",[],[])}tokenize(e){let r=ae.encode(e),t=this.mod._malloc(r.length);this.mod.HEAPU8.subarray(t,t+r.length).set(r);let[a,o,_]=W(this.mod,"duckdb_web_tokenize_buffer",["number","number"],[t,r.length]);if(this.mod._free(t),a!==0)throw new Error(B(this.mod,o,_));let l=B(this.mod,o,_);return q(this.mod),JSON.parse(l)}connect(){let e=this.mod.ccall("duckdb_web_connect","number",[],[]);return new pe(this,e)}disconnect(e){if(this.mod.ccall("duckdb_web_disconnect",null,["number"],[e]),this.pthread)for(let r of[...this.pthread.runningWorkers,...this.pthread.unusedWorkers])r.postMessage({cmd:"dropUDFFunctions",connectionId:e})}runQuery(e,r){let t=ae.encode(r),n=this.mod._malloc(t.length);this.mod.HEAPU8.subarray(n,n+t.length).set(t);let[o,_,l]=W(this.mod,"duckdb_web_query_run_buffer",["number","number","number"],[e,n,t.length]);if(this.mod._free(n),o!==0)throw new Error(B(this.mod,_,l));let c=ie(this.mod,_,l);return q(this.mod),c}startPendingQuery(e,r,t=!1){let n=ae.encode(r),a=this.mod._malloc(n.length);this.mod.HEAPU8.subarray(a,a+n.length).set(n);let[_,l,c]=W(this.mod,"duckdb_web_pending_query_start_buffer",["number","number","number","boolean"],[e,a,n.length,t]);if(this.mod._free(a),_!==0)throw new Error(B(this.mod,l,c));if(l==0)return null;let u=ie(this.mod,l,c);return q(this.mod),u}pollPendingQuery(e){let[r,t,n]=W(this.mod,"duckdb_web_pending_query_poll",["number"],[e]);if(r!==0)throw new Error(B(this.mod,t,n));if(t==0)return null;let a=ie(this.mod,t,n);return q(this.mod),a}cancelPendingQuery(e){return this.mod.ccall("duckdb_web_pending_query_cancel","boolean",["number"],[e])}fetchQueryResults(e){let[r,t,n]=W(this.mod,"duckdb_web_query_fetch_results",["number"],[e]);if(We(r))return q(this.mod),null;if(!Ne(r))throw new Error("Unexpected StatusCode from duckdb_web_query_fetch_results ("+r+") and with self reported error as"+B(this.mod,t,n));if(r!==0)throw new Error(B(this.mod,t,n));let a=ie(this.mod,t,n);return q(this.mod),a}getTableNames(e,r){let t=ae.encode(r),n=this.mod._malloc(t.length);this.mod.HEAPU8.subarray(n,n+t.length).set(t);let[o,_,l]=W(this.mod,"duckdb_web_get_tablenames_buffer",["number","number","number"],[e,n,t.length]);if(this.mod._free(n),o!==0)throw new Error(B(this.mod,_,l));let c=B(this.mod,_,l);return q(this.mod),JSON.parse(c)}createScalarFunction(e,r,t,n){let a={functionId:this._nextUDFId,name:r,returnType:ne(t)},o={functionId:a.functionId,connectionId:e,name:r,returnType:t,func:n};this._nextUDFId+=1;let[_,l,c]=W(this.mod,"duckdb_web_udf_scalar_create",["number","string"],[e,JSON.stringify(a)]);if(_!==0)throw new Error(B(this.mod,l,c));if(q(this.mod),globalThis.DUCKDB_RUNTIME._udfFunctions=(globalThis.DUCKDB_RUNTIME._udfFunctions||new Map).set(o.functionId,o),this.pthread)for(let u of[...this.pthread.runningWorkers,...this.pthread.unusedWorkers])u.postMessage({cmd:"registerUDFFunction",udf:o})}createPrepared(e,r){let t=ae.encode(r),n=this.mod._malloc(t.length);this.mod.HEAPU8.subarray(n,n+t.length).set(t);let[o,_,l]=W(this.mod,"duckdb_web_prepared_create_buffer",["number","number","number"],[e,n,t.length]);if(this.mod._free(n),o!==0)throw new Error(B(this.mod,_,l));return q(this.mod),_}closePrepared(e,r){let[t,n,a]=W(this.mod,"duckdb_web_prepared_close",["number","number"],[e,r]);if(t!==0)throw new Error(B(this.mod,n,a));q(this.mod)}runPrepared(e,r,t){let[n,a,o]=W(this.mod,"duckdb_web_prepared_run",["number","number","string"],[e,r,JSON.stringify(t)]);if(n!==0)throw new Error(B(this.mod,a,o));let _=ie(this.mod,a,o);return q(this.mod),_}sendPrepared(e,r,t){let[n,a,o]=W(this.mod,"duckdb_web_prepared_send",["number","number","string"],[e,r,JSON.stringify(t)]);if(n!==0)throw new Error(B(this.mod,a,o));let _=ie(this.mod,a,o);return q(this.mod),_}insertArrowFromIPCStream(e,r,t){if(r.length==0)return;let n=this.mod._malloc(r.length);this.mod.HEAPU8.subarray(n,n+r.length).set(r);let o=t?JSON.stringify(t):"",[_,l,c]=W(this.mod,"duckdb_web_insert_arrow_from_ipc_stream",["number","number","number","string"],[e,n,r.length,o]);if(this.mod._free(n),_!==0)throw new Error(B(this.mod,l,c))}insertCSVFromPath(e,r,t){if(t.columns!==void 0){t.columnsFlat=[];for(let c in t.columns)t.columnsFlat.push(Ee(c,t.columns[c]))}let n={...t};n.columns=n.columnsFlat,delete n.columnsFlat;let a=JSON.stringify(n),[o,_,l]=W(this.mod,"duckdb_web_insert_csv_from_path",["number","string","string"],[e,r,a]);if(o!==0)throw new Error(B(this.mod,_,l))}insertJSONFromPath(e,r,t){if(t.columns!==void 0){t.columnsFlat=[];for(let c in t.columns)t.columnsFlat.push(Ee(c,t.columns[c]))}let n={...t};n.columns=n.columnsFlat,delete n.columnsFlat;let a=JSON.stringify(n),[o,_,l]=W(this.mod,"duckdb_web_insert_json_from_path",["number","string","string"],[e,r,a]);if(o!==0)throw new Error(B(this.mod,_,l))}globFiles(e){let[r,t,n]=W(this.mod,"duckdb_web_fs_glob_file_infos",["string"],[e]);if(r!==0)throw new Error(B(this.mod,t,n));let a=B(this.mod,t,n);q(this.mod);let o=JSON.parse(a);return o==null?[]:o}registerFileURL(e,r,t,n=!1){r===void 0&&(r=e);let[a,o,_]=W(this.mod,"duckdb_web_fs_register_file_url",["string","string"],[e,r,t,n]);if(a!==0)throw new Error(B(this.mod,o,_));q(this.mod)}registerFileText(e,r){let t=ae.encode(r);this.registerFileBuffer(e,t)}registerFileBuffer(e,r){let t=this.mod._malloc(r.length);this.mod.HEAPU8.subarray(t,t+r.length).set(r);let[a,o,_]=W(this.mod,"duckdb_web_fs_register_file_buffer",["string","number","number"],[e,t,r.length]);if(a!==0)throw new Error(B(this.mod,o,_));q(this.mod)}async prepareFileHandle(e,r){if(r===3&&this._runtime.prepareFileHandles){let t=await this._runtime.prepareFileHandles([e],3);for(let n of t){let{handle:a,path:o,fromCached:_}=n;!_&&a.getSize()&&await this.registerFileHandleAsync(o,a,3,!0)}return}throw new Error("prepareFileHandle: unsupported protocol ".concat(r))}async prepareDBFileHandle(e,r){if(r===3&&this._runtime.prepareDBFileHandle){let t=await this._runtime.prepareDBFileHandle(e,3);for(let n of t){let{handle:a,path:o,fromCached:_}=n;!_&&a.getSize()&&await this.registerFileHandleAsync(o,a,3,!0)}return}throw new Error("prepareDBFileHandle: unsupported protocol ".concat(r))}async prepareFileHandleAsync(e,r,t,n){if(t===3&&!(r instanceof FileSystemSyncAccessHandle)){if(r instanceof FileSystemFileHandle){let a=r;try{r=await a.createSyncAccessHandle()}catch(o){throw new Error(o.message+":"+e)}}else if(e!=null)try{r=await(await(await navigator.storage.getDirectory()).getFileHandle(e)).createSyncAccessHandle()}catch(a){throw new Error(a.message+":"+e)}}return r}async registerFileHandleAsync(e,r,t,n){let a=await this.prepareFileHandleAsync(e,r,t,n);this.registerFileHandle(e,a,t,n)}registerFileHandle(e,r,t,n){var l;let[a,o,_]=W(this.mod,"duckdb_web_fs_register_file_url",["string","string","number","boolean"],[e,e,t,n]);if(a!==0)throw new Error(B(this.mod,o,_));if(q(this.mod),globalThis.DUCKDB_RUNTIME._files=(globalThis.DUCKDB_RUNTIME._files||new Map).set(e,r),(l=globalThis.DUCKDB_RUNTIME._preparedHandles)!=null&&l[e]&&delete globalThis.DUCKDB_RUNTIME._preparedHandles[e],this.pthread){for(let c of this.pthread.runningWorkers)c.postMessage({cmd:"registerFileHandle",fileName:e,fileHandle:r});for(let c of this.pthread.unusedWorkers)c.postMessage({cmd:"dropFileHandle",fileName:e})}}dropFile(e){let[r,t,n]=W(this.mod,"duckdb_web_fs_drop_file",["string"],[e]);if(r!==0)throw new Error(B(this.mod,t,n));q(this.mod)}dropFiles(e){let r=[],t=-1;try{for(let _ of e!=null?e:[])if(_!=null&&_.length>0){let l=this.mod.lengthBytesUTF8(_)+1,c=this.mod._malloc(l);if(!c)throw new Error("Failed to allocate memory for string: ".concat(_));this.mod.stringToUTF8(_,c,l),r.push(c)}if(t=this.mod._malloc(r.length*4),!t)throw new Error("Failed to allocate memory for pointers array");for(let _=0;_<r.length;_++)this.mod.HEAP32[(t>>2)+_]=r[_];let[n,a,o]=W(this.mod,"duckdb_web_fs_drop_files",["number","number"],[t,r.length]);if(n!==0)throw new Error(B(this.mod,a,o));q(this.mod)}finally{for(let n of r)this.mod._free(n);t>0&&this.mod._free(t)}}flushFiles(){this.mod.ccall("duckdb_web_flush_files",null,[],[])}copyFileToPath(e,r){let[t,n,a]=W(this.mod,"duckdb_web_copy_file_to_path",["string","string"],[e,r]);if(t!==0)throw new Error(B(this.mod,n,a));q(this.mod)}copyFileToBuffer(e){let[r,t,n]=W(this.mod,"duckdb_web_copy_file_to_buffer",["string"],[e]);if(r!==0)throw new Error(B(this.mod,t,n));let a=this.mod.HEAPU8.subarray(t,t+n),o=new Uint8Array(a.length);return o.set(a),q(this.mod),o}async registerOPFSFileName(e){if(e.startsWith("opfs://"))return this.prepareFileHandle(e,3);throw new Error("Not an OPFS file name: "+e)}collectFileStatistics(e,r){let[t,n,a]=W(this.mod,"duckdb_web_collect_file_stats",["string","boolean"],[e,r]);if(t!==0)throw new Error(B(this.mod,n,a))}exportFileStatistics(e){let[r,t,n]=W(this.mod,"duckdb_web_export_file_stats",["string"],[e]);if(r!==0)throw new Error(B(this.mod,t,n));return new be(this.mod.HEAPU8.subarray(t,t+n))}};var Tr=(n=>(n[n.UNDEFINED=0]="UNDEFINED",n[n.AUTOMATIC=1]="AUTOMATIC",n[n.READ_ONLY=2]="READ_ONLY",n[n.READ_WRITE=3]="READ_WRITE",n))(Tr||{});var Fr=(r=>(r.ROW_ARRAY="row-array",r.COLUMN_OBJECT="column-object",r))(Fr||{});var Pr=(o=>(o[o.IDENTIFIER=0]="IDENTIFIER",o[o.NUMERIC_CONSTANT=1]="NUMERIC_CONSTANT",o[o.STRING_CONSTANT=2]="STRING_CONSTANT",o[o.OPERATOR=3]="OPERATOR",o[o.KEYWORD=4]="KEYWORD",o[o.COMMENT=5]="COMMENT",o))(Pr||{});var Cr=(a=>(a[a.NONE=0]="NONE",a[a.DEBUG=1]="DEBUG",a[a.INFO=2]="INFO",a[a.WARNING=3]="WARNING",a[a.ERROR=4]="ERROR",a))(Cr||{}),xr=(o=>(o[o.NONE=0]="NONE",o[o.CONNECT=1]="CONNECT",o[o.DISCONNECT=2]="DISCONNECT",o[o.OPEN=3]="OPEN",o[o.QUERY=4]="QUERY",o[o.INSTANTIATE=5]="INSTANTIATE",o))(xr||{}),Mr=(o=>(o[o.NONE=0]="NONE",o[o.OK=1]="OK",o[o.ERROR=2]="ERROR",o[o.START=3]="START",o[o.RUN=4]="RUN",o[o.CAPTURE=5]="CAPTURE",o))(Mr||{}),Gr=(a=>(a[a.NONE=0]="NONE",a[a.WEB_WORKER=1]="WEB_WORKER",a[a.NODE_WORKER=2]="NODE_WORKER",a[a.BINDINGS=3]="BINDINGS",a[a.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",a))(Gr||{}),Je=class{log(e){}},Ye=class{constructor(e=2){this.level=e}log(e){e.level>=this.level&&console.log(e)}};function nt(E){switch(E){case 0:return"NONE";case 1:return"DEBUG";case 2:return"INFO";case 3:return"WARNING";case 4:return"ERROR";default:return"?"}}function at(E){switch(E){case 0:return"NONE";case 1:return"OK";case 2:return"ERROR";case 3:return"START";case 4:return"RUN";case 5:return"CAPTURE";default:return"?"}}function st(E){switch(E){case 1:return"CONNECT";case 2:return"DISCONNECT";case 5:return"INSTANTIATE";case 3:return"OPEN";case 4:return"QUERY";default:return"?"}}function ot(E){switch(E){case 0:return"NONE";case 1:return"WEB WORKER";case 2:return"NODE WORKER";case 3:return"DUCKDB BINDINGS";case 4:return"DUCKDB";default:return"?"}}var Ke=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),Ze=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11]));var er=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]));var rr=()=>(async E=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(E)}catch(e){return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11]));var Le={name:"@duckdb/duckdb-wasm",version:"1.32.0",description:"DuckDB powered by WebAssembly",license:"MIT",repository:{type:"git",url:"https://github.com/duckdb/duckdb-wasm.git"},keywords:["sql","duckdb","relational","database","data","query","wasm","analytics","olap","arrow","parquet","json","csv"],dependencies:{"apache-arrow":"^17.0.0"},devDependencies:{"@types/emscripten":"^1.39.10","@types/jasmine":"^5.1.4","@typescript-eslint/eslint-plugin":"^6.21.0","@typescript-eslint/parser":"^6.21.0",esbuild:"^0.20.2",eslint:"^8.57.0","eslint-plugin-jasmine":"^4.1.3","eslint-plugin-react":"^7.34.0","fast-glob":"^3.3.2",jasmine:"^5.1.0","jasmine-core":"^5.1.2","jasmine-spec-reporter":"^7.0.0","js-sha256":"^0.11.1",karma:"^6.4.2","karma-chrome-launcher":"^3.2.0","karma-coverage":"^2.2.1","karma-firefox-launcher":"^2.1.3","karma-jasmine":"^5.1.0","karma-jasmine-html-reporter":"^2.1.0","karma-sourcemap-loader":"^0.4.0","karma-spec-reporter":"^0.0.36","make-dir":"^4.0.0",nyc:"^15.1.0",prettier:"^3.2.5",puppeteer:"^22.8.0",rimraf:"^5.0.5",s3rver:"^3.7.1",typedoc:"^0.25.13",typescript:"^5.3.3","wasm-feature-detect":"^1.6.1","web-worker":"^1.2.0"},scripts:{"build:debug":"node bundle.mjs debug && tsc --emitDeclarationOnly","build:release":"node bundle.mjs release && tsc --emitDeclarationOnly",docs:"typedoc",format:'prettier --write "**/*.+(js|ts)"',report:"node ./coverage.mjs","test:node":"node --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:debug":"node --inspect-brk --enable-source-maps ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:node:coverage":"nyc -r json --report-dir ./coverage/node node ../../node_modules/jasmine/bin/jasmine ./dist/tests-node.cjs","test:firefox":"karma start ./karma/tests-firefox.cjs","test:chrome":"karma start ./karma/tests-chrome.cjs","test:chrome:eh":"karma start ./karma/tests-chrome-eh.cjs","test:chrome:coverage":"karma start ./karma/tests-chrome-coverage.cjs","test:browser":"karma start ./karma/tests-all.cjs","test:browser:debug":"karma start ./karma/tests-debug.cjs",test:"npm run test:chrome && npm run test:node","test:coverage":"npm run test:chrome:coverage && npm run test:node:coverage && npm run report",lint:"eslint src test"},files:["dist","!dist/tests-*","!dist/duckdb-browser-mvp.worker.js.map","!dist/types/test"],main:"dist/duckdb-browser.cjs",module:"dist/duckdb-browser.mjs",types:"dist/duckdb-browser.d.ts",jsdelivr:"dist/duckdb-browser.cjs",unpkg:"dist/duckdb-browser.mjs",sideEffects:!1,browser:{fs:!1,path:!1,perf_hooks:!1,os:!1,worker_threads:!1},exports:{"./dist/duckdb-mvp.wasm":"./dist/duckdb-mvp.wasm","./dist/duckdb-eh.wasm":"./dist/duckdb-eh.wasm","./dist/duckdb-coi.wasm":"./dist/duckdb-coi.wasm","./dist/duckdb-browser":"./dist/duckdb-browser.mjs","./dist/duckdb-browser.cjs":"./dist/duckdb-browser.cjs","./dist/duckdb-browser.mjs":"./dist/duckdb-browser.mjs","./dist/duckdb-browser-coi.pthread.worker.js":"./dist/duckdb-browser-coi.pthread.worker.js","./dist/duckdb-browser-coi.worker.js":"./dist/duckdb-browser-coi.worker.js","./dist/duckdb-browser-eh.worker.js":"./dist/duckdb-browser-eh.worker.js","./dist/duckdb-browser-mvp.worker.js":"./dist/duckdb-browser-mvp.worker.js","./dist/duckdb-node":"./dist/duckdb-node.cjs","./dist/duckdb-node.cjs":"./dist/duckdb-node.cjs","./dist/duckdb-node-blocking":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-blocking.cjs":"./dist/duckdb-node-blocking.cjs","./dist/duckdb-node-eh.worker.cjs":"./dist/duckdb-node-eh.worker.cjs","./dist/duckdb-node-mvp.worker.cjs":"./dist/duckdb-node-mvp.worker.cjs","./blocking":{node:{types:"./dist/duckdb-node-blocking.d.ts",require:"./dist/duckdb-node-blocking.cjs",import:"./dist/duckdb-node-blocking.cjs"},types:"./dist/duckdb-node-blocking.d.ts",import:"./dist/duckdb-node-blocking.mjs",require:"./dist/duckdb-node-blocking.cjs"},".":{browser:{types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",require:"./dist/duckdb-browser.cjs"},node:{types:"./dist/duckdb-node.d.ts",import:"./dist/duckdb-node.cjs",require:"./dist/duckdb-node.cjs"},types:"./dist/duckdb-browser.d.ts",import:"./dist/duckdb-browser.mjs",require:"./dist/duckdb-browser.cjs"}}};var tr=Le.name,ir=Le.version,Me=Le.version.split("."),ut=Me[0],dt=Me[1],ft=Me[2];var nr=()=>typeof navigator>"u",ar=()=>nr()?"node":navigator.userAgent,gt=()=>ar().includes("Firefox"),vt=()=>/^((?!chrome|android).)*safari/i.test(ar());function St(){let E="https://cdn.jsdelivr.net/npm/".concat(tr,"@").concat(ir,"/dist/");return{mvp:{mainModule:"".concat(E,"duckdb-mvp.wasm"),mainWorker:"".concat(E,"duckdb-browser-mvp.worker.js")},eh:{mainModule:"".concat(E,"duckdb-eh.wasm"),mainWorker:"".concat(E,"duckdb-browser-eh.worker.js")}}}var Ge=null,He=null,Re=null,Ue=null,Ie=null;async function Be(){return Ge==null&&(Ge=typeof BigInt64Array<"u"),He==null&&(He=await Ze()),Re==null&&(Re=await rr()),Ue==null&&(Ue=await er()),Ie==null&&(Ie=await Ke()),{bigInt64Array:Ge,crossOriginIsolated:nr()||globalThis.crossOriginIsolated||!1,wasmExceptions:He,wasmSIMD:Ue,wasmThreads:Re,wasmBulkMemory:Ie}}async function ht(E){let e=await Be();if(e.wasmExceptions){if(e.wasmSIMD&&e.wasmThreads&&e.crossOriginIsolated&&E.coi)return{mainModule:E.coi.mainModule,mainWorker:E.coi.mainWorker,pthreadWorker:E.coi.pthreadWorker};if(E.eh)return{mainModule:E.eh.mainModule,mainWorker:E.eh.mainWorker,pthreadWorker:null}}return{mainModule:E.mvp.mainModule,mainWorker:E.mvp.mainWorker,pthreadWorker:null}}var te=Te(_r()),lr=function(E,e,r){var t;if((t=E==null?void 0:E.endpoint)!=null&&t.startsWith("http")){let n="".concat(E==null?void 0:E.endpoint),a=n.indexOf("://")+3;return n.substring(a)}else return E!=null&&E.endpoint?"".concat(r,".").concat(E==null?void 0:E.endpoint):"".concat(r,".s3.amazonaws.com")};function Ur(E,e,r){var a,o,_,l;let t=cr(e),n=t.path;return ur(E)&&(n="/".concat(t.bucket).concat(n)),{url:n,query:"",host:lr(E,e,t.bucket),region:(a=E==null?void 0:E.region)!=null?a:"",service:"s3",method:r,accessKeyId:(o=E==null?void 0:E.accessKeyId)!=null?o:"",secretAccessKey:(_=E==null?void 0:E.secretAccessKey)!=null?_:"",sessionToken:(l=E==null?void 0:E.sessionToken)!=null?l:"",dateNow:new Date().toISOString().replace(/-/g,"").split("T")[0],datetimeNow:new Date().toISOString().replace(/-/g,"").replace(/:/g,"").split(".")[0]+"Z"}}function Ir(E,e=!1){let r="0123456789ABCDEF",t="";for(let n=0;n<E.length;n++){let a=E[n];a>="A"&&a<="Z"||a>="a"&&a<="z"||a>="0"&&a<="9"||a=="_"||a=="-"||a=="~"||a=="."?t+=a:a=="/"?e?t+="%2F":t+=a:(t+="%",t+=r[a.charCodeAt(0)>>4],t+=r[a.charCodeAt(0)&15])}return t}function Br(E,e=null){var m;let r=(m=e==null?void 0:e.contentHash)!=null?m:"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",t=new Map;t.set("x-amz-date",E.datetimeNow),t.set("x-amz-content-sha256",r),E.sessionToken&&t.set("x-amz-security-token",E.sessionToken);let n="";e!=null&&e.contentType&&(n+="content-type;"),n+="host;x-amz-content-sha256;x-amz-date",E.sessionToken&&(n+=";x-amz-security-token");let a=E.method+"\n"+Ir(E.url)+"\n"+E.query;e!=null&&e.contentType&&(a+="\ncontent-type:"+(e==null?void 0:e.contentType)),a+="\nhost:"+E.host+"\nx-amz-content-sha256:"+r+"\nx-amz-date:"+E.datetimeNow,E.sessionToken&&E.sessionToken.length>0&&(a+="\nx-amz-security-token:"+E.sessionToken),a+="\n\n"+n+"\n"+r;let o=(0,te.sha256)(a),_="AWS4-HMAC-SHA256\n"+E.datetimeNow+"\n"+E.dateNow+"/"+E.region+"/"+E.service+"/aws4_request\n"+o,l="AWS4"+E.secretAccessKey,c=te.sha256.hmac.arrayBuffer(l,E.dateNow),u=te.sha256.hmac.arrayBuffer(c,E.region),d=te.sha256.hmac.arrayBuffer(u,E.service),f=te.sha256.hmac.arrayBuffer(d,"aws4_request"),p=te.sha256.hmac(f,_);return t.set("Authorization","AWS4-HMAC-SHA256 Credential="+E.accessKeyId+"/"+E.dateNow+"/"+E.region+"/"+E.service+"/aws4_request, SignedHeaders="+n+", Signature="+p),t}var jr=function(E,e,r,t=null,n=null){let a=Ur(E,e,r),o={contentType:t,contentHash:n?te.sha256.hex(n):null};return Br(a,o)};function J(E,e,r,t,n=null,a=null){(e!=null&&e.accessKeyId||e!=null&&e.sessionToken)&&(jr(e,r,t,n,a).forEach((_,l)=>{E.setRequestHeader(l,_)}),n&&E.setRequestHeader("content-type",n))}function cr(E){if(E.indexOf("s3://")!=0)throw new Error("URL needs to start with s3://");let e=E.indexOf("/",5);if(e==-1)throw new Error("URL needs to contain a '/' after the host");let r=E.substring(5,e);if(!r)throw new Error("URL needs to contain a bucket name");let t=E.substring(e);if(!t)throw new Error("URL needs to contain key");return{bucket:r,path:t}}function ur(E){var e;return!!((e=E==null?void 0:E.endpoint)!=null&&e.startsWith("http"))}function Y(E,e){let r=cr(e);return ur(E)?"".concat(E==null?void 0:E.endpoint,"/").concat(r.bucket)+r.path:"https://"+lr(E,e,r.bucket)+r.path}var Or=7,dr=/\/|\\/,I={_files:new Map,_fileInfoCache:new Map,_udfFunctions:new Map,_globalFileInfo:null,_preparedHandles:{},_opfsRoot:null,getFileInfo(E,e){try{let r=I._fileInfoCache.get(e),[t,n,a]=W(E,"duckdb_web_fs_get_file_info_by_id",["number","number"],[e,(r==null?void 0:r.cacheEpoch)||0]);if(t!==0)return null;if(a===0)return r;let o=B(E,n,a);q(E);try{let _=JSON.parse(o);if(_==null)return null;let l={..._,blob:null};return I._fileInfoCache.set(e,l),!I._files.has(l.fileName)&&I._preparedHandles[l.fileName]&&(I._files.set(l.fileName,I._preparedHandles[l.fileName]),delete I._preparedHandles[l.fileName]),l}catch(_){return console.warn(_),null}}catch(r){return console.log(r),null}},getGlobalFileInfo(E){var e;try{let[r,t,n]=W(E,"duckdb_web_get_global_file_info",["number"],[((e=I._globalFileInfo)==null?void 0:e.cacheEpoch)||0]);if(r!==0)return null;if(n===0)return I._globalFileInfo;let a=B(E,t,n);q(E);let o=JSON.parse(a);return o==null?null:(I._globalFileInfo={...o,blob:null},I._globalFileInfo)}catch(r){return console.log(r),null}},async assignOPFSRoot(){I._opfsRoot||(I._opfsRoot=await navigator.storage.getDirectory())},async prepareFileHandles(E,e){if(e===3){await I.assignOPFSRoot();let r=async n=>{if(I._files.has(n))return{path:n,handle:I._files.get(n),fromCached:!0};let o=I._opfsRoot,_=n.slice(Or),l=_;if(dr.test(_)){let u=_.split(dr);if(u.length===0)throw new Error("Invalid path ".concat(_));if(l=u[u.length-1],!l)throw new Error("Invalid path ".concat(_,". File Not Found."));u.pop();for(let d of u)o=await o.getDirectoryHandle(d,{create:!0})}let c=await o.getFileHandle(l,{create:!1}).catch(u=>{if((u==null?void 0:u.name)==="NotFoundError")return console.debug("File ".concat(n," does not exists yet, creating...")),o.getFileHandle(l,{create:!0});throw u});try{let u=await c.createSyncAccessHandle();return I._preparedHandles[n]=u,{path:n,handle:u,fromCached:!1}}catch(u){throw new Error(u.message+":"+name)}},t=[];for(let n of E){let a=await r(n);t.push(a)}return t}throw new Error("Unsupported protocol ".concat(e," for paths ").concat(E," with protocol ").concat(e))},async prepareDBFileHandle(E,e){if(e===3&&this.prepareFileHandles){let r=[E,"".concat(E,".wal")];return this.prepareFileHandles(r,e)}throw new Error("Unsupported protocol ".concat(e," for path ").concat(E," with protocol ").concat(e))},testPlatformFeature:(E,e)=>{switch(e){case 1:return typeof BigInt64Array<"u";default:return console.warn("test for unknown feature: ".concat(e)),!1}},getDefaultDataProtocol(E){return 2},openFile:(E,e,r)=>{var t,n,a,o,_,l;try{I._fileInfoCache.delete(e);let c=I.getFileInfo(E,e);switch(c==null?void 0:c.dataProtocol){case 4:case 5:{if(r&1&&r&2)throw new Error("Opening file ".concat(c.fileName," failed: cannot open file with both read and write flags set"));if(r&32)throw new Error("Opening file ".concat(c.fileName," failed: appending to HTTP/S3 files is not supported"));if(r&2){let f=new XMLHttpRequest;if(c.dataProtocol==5?(f.open("HEAD",Y(c.s3Config,c.dataUrl),!1),J(f,c.s3Config,c.dataUrl,"HEAD")):f.open("HEAD",c.dataUrl,!1),f.send(null),f.status!=200&&f.status!=404)throw new Error("Opening file ".concat(c.fileName," failed: Unexpected return status from server (").concat(f.status,")"));if(f.status==404&&!(r&8||r&16))throw new Error("Opening file ".concat(c.fileName," failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag."));let p=E._malloc(1),m=new Uint8Array;E.HEAPU8.set(m,p);let v=E._malloc(3*8);return E.HEAPF64[(v>>3)+0]=1,E.HEAPF64[(v>>3)+1]=p,E.HEAPF64[(v>>3)+2]=new Date().getTime()/1e3,v}else if(!(r&1))throw new Error("Opening file ".concat(c.fileName," failed: unsupported file flags: ").concat(r));let u=null,d=null;if(!c.forceFullHttpReads&&(c.reliableHeadRequests||!c.allowFullHttpReads))try{let f=new XMLHttpRequest;c.dataProtocol==5?(f.open("HEAD",Y(c.s3Config,c.dataUrl),!1),J(f,c.s3Config,c.dataUrl,"HEAD")):f.open("HEAD",c.dataUrl,!1),f.setRequestHeader("Range","bytes=0-"),f.send(null),u=null;try{u=f.getResponseHeader("Content-Length")}catch(p){console.warn("Failed to get Content-Length on request")}if(u!==null&&f.status==206){let p=E._malloc(24);E.HEAPF64[(p>>3)+0]=+u,E.HEAPF64[(p>>3)+1]=0;let m=0;try{m=new Date((t=f.getResponseHeader("Last-Modified"))!=null?t:"").getTime()/1e3}catch(v){console.warn("Failed to get Last-Modified on request")}return E.HEAPF64[(p>>3)+2]=+m,p}}catch(f){d=f,console.warn("HEAD request with range header failed: ".concat(f))}if(c.allowFullHttpReads){if(!c.forceFullHttpReads){let p=new XMLHttpRequest;c.dataProtocol==5?(p.open("GET",Y(c.s3Config,c.dataUrl),!1),J(p,c.s3Config,c.dataUrl,"GET")):p.open("GET",c.dataUrl,!1),p.responseType="arraybuffer",p.setRequestHeader("Range","bytes=0-0"),p.send(null);let m=null;try{m=p.getResponseHeader("Content-Length")}catch(h){console.warn("Failed to get Content-Length on request")}let v=m==null?void 0:m.split("/")[1],g=m,S=null;if(v!==void 0)S=v;else if(!c.reliableHeadRequests){let h=new XMLHttpRequest;c.dataProtocol==5?(h.open("HEAD",Y(c.s3Config,c.dataUrl),!1),J(h,c.s3Config,c.dataUrl,"HEAD")):h.open("HEAD",c.dataUrl,!1),h.setRequestHeader("Range","bytes=0-"),h.send(null),u=null;try{u=h.getResponseHeader("Content-Length")}catch(b){console.warn("Failed to get Content-Length on request")}u!==null&&+u>1&&(S=u)}if(p.status==206&&g!==null&&+g==1&&S!==null){let h=E._malloc(24);E.HEAPF64[(h>>3)+0]=+S,E.HEAPF64[(h>>3)+1]=0;let b=0;try{b=new Date((n=p.getResponseHeader("Last-Modified"))!=null?n:"").getTime()/1e3}catch(A){console.warn("Failed to get Last-Modified on request")}return E.HEAPF64[(h>>3)+2]=+b,h}if(p.status==200&&g!==null&&u!==null&&+g==+u){console.warn("fall back to full HTTP read for: ".concat(c.dataUrl));let h=E._malloc(p.response.byteLength),b=new Uint8Array(p.response,0,p.response.byteLength);E.HEAPU8.set(b,h);let A=E._malloc(3*8);E.HEAPF64[(A>>3)+0]=p.response.byteLength,E.HEAPF64[(A>>3)+1]=h;let w=0;try{w=new Date((a=p.getResponseHeader("Last-Modified"))!=null?a:"").getTime()/1e3}catch(L){console.warn("Failed to get Last-Modified on request")}return E.HEAPF64[(A>>3)+2]=+w,A}console.warn("falling back to full HTTP read for: ".concat(c.dataUrl))}let f=new XMLHttpRequest;if(c.dataProtocol==5?(f.open("GET",Y(c.s3Config,c.dataUrl),!1),J(f,c.s3Config,c.dataUrl,"GET")):f.open("GET",c.dataUrl,!1),f.responseType="arraybuffer",f.send(null),f.status==200){let p=E._malloc(f.response.byteLength),m=new Uint8Array(f.response,0,f.response.byteLength);E.HEAPU8.set(m,p);let v=E._malloc(3*8);E.HEAPF64[(v>>3)+0]=f.response.byteLength,E.HEAPF64[(v>>3)+1]=p;let g=0;try{g=new Date((o=f.getResponseHeader("Last-Modified"))!=null?o:"").getTime()/1e3}catch(S){console.warn("Failed to get Last-Modified on request")}return E.HEAPF64[(v>>3)+2]=+g,v}}if(d!=null)throw new Error("Reading file ".concat(c.fileName," failed with error: ").concat(d));return 0}case 2:{let u=(_=I._files)==null?void 0:_.get(c.fileName);if(u){let p=E._malloc(24);return E.HEAPF64[(p>>3)+0]=u.size,E.HEAPF64[(p>>3)+1]=0,E.HEAPF64[(p>>3)+2]=0,p}if(r&128)return 0;console.warn("Buffering missing file: ".concat(c.fileName));let d=E._malloc(3*8),f=E._malloc(1);return E.HEAPF64[(d>>3)+0]=1,E.HEAPF64[(d>>3)+1]=f,E.HEAPF64[(d>>3)+2]=0,d}case 3:{let u=(l=I._files)==null?void 0:l.get(c.fileName);if(!u)throw new Error("No OPFS access handle registered with name: ".concat(c.fileName));r&16&&u.truncate(0);let d=E._malloc(3*8),f=u.getSize();return E.HEAPF64[(d>>3)+0]=f,E.HEAPF64[(d>>3)+1]=0,E.HEAPF64[(d>>3)+2]=0,d}}}catch(c){console.error(c.toString()),Q(E,c.toString())}return 0},glob:(E,e,r)=>{var t;try{let n=B(E,e,r);if(n.startsWith("http")||n.startsWith("s3://")){let a=new XMLHttpRequest;if(n.startsWith("s3://")){let o=I.getGlobalFileInfo(E);a.open("HEAD",Y(o==null?void 0:o.s3Config,n),!1),J(a,o==null?void 0:o.s3Config,n,"HEAD")}else a.open("HEAD",n,!1);if(a.send(null),a.status!=200&&a.status!==206){if(!((t=I.getGlobalFileInfo(E))!=null&&t.allowFullHttpReads))return console.log("HEAD request failed: ".concat(n,", with full http reads are disabled")),0;let o=new XMLHttpRequest;if(n.startsWith("s3://")){let l=I.getGlobalFileInfo(E);o.open("GET",Y(l==null?void 0:l.s3Config,n),!1),J(o,l==null?void 0:l.s3Config,n,"HEAD")}else o.open("GET",n,!1);if(o.setRequestHeader("Range","bytes=0-0"),o.send(null),o.status!=200&&o.status!==206)return console.log("HEAD and GET requests failed: ".concat(n)),0;let _=null;try{_=o.getResponseHeader("Content-Length")}catch(l){console.warn("Failed to get Content-Length on request")}_&&+_>1&&console.warn("Range request for ".concat(n," did not return a partial response: ").concat(o.status,' "').concat(o.statusText,'"'))}E.ccall("duckdb_web_fs_glob_add_path",null,["string"],[n])}else for(let[a]of I._files.entries()||[])a.startsWith(n)&&E.ccall("duckdb_web_fs_glob_add_path",null,["string"],[a])}catch(n){return console.log(n),Q(E,n.toString()),0}},checkFile:(E,e,r)=>{try{let t=B(E,e,r);if(t.startsWith("http")||t.startsWith("s3://")){let n=new XMLHttpRequest;if(t.startsWith("s3://")){let a=I.getGlobalFileInfo(E);n.open("HEAD",Y(a==null?void 0:a.s3Config,t),!1),J(n,a==null?void 0:a.s3Config,t,"HEAD")}else n.open("HEAD",t,!1);return n.send(null),n.status==206||n.status==200}else return I._files.has(t)}catch(t){return console.log(t),!1}return!1},syncFile:(E,e)=>{},closeFile:(E,e)=>{var t;let r=I.getFileInfo(E,e);I._fileInfoCache.delete(e);try{switch(r==null?void 0:r.dataProtocol){case 0:case 4:case 5:break;case 1:case 2:return;case 3:{let n=(t=I._files)==null?void 0:t.get(r.fileName);if(!n)throw new Error("No OPFS access handle registered with name: ".concat(r.fileName));return n.flush()}}}catch(n){console.log(n),Q(E,n.toString())}},dropFile:(E,e,r)=>{var a;let t=B(E,e,r),n=(a=I._files)==null?void 0:a.get(t);if(n){if(I._files.delete(t),n instanceof FileSystemSyncAccessHandle)try{n.flush(),n.close()}catch(o){throw new Error("Cannot drop file with name: ".concat(t))}n instanceof Blob}},truncateFile:(E,e,r)=>{var n;let t=I.getFileInfo(E,e);switch(t==null?void 0:t.dataProtocol){case 4:Q(E,"Cannot truncate a http file");return;case 5:Q(E,"Cannot truncate an s3 file");return;case 0:case 1:case 2:Q(E,"truncateFile not implemented");return;case 3:{let a=(n=I._files)==null?void 0:n.get(t.fileName);if(!a)throw new Error("No OPFS access handle registered with name: ".concat(t.fileName));return a.truncate(r)}}return 0},readFile(E,e,r,t,n){var a;if(t==0)return 0;try{let o=I.getFileInfo(E,e);switch(o==null?void 0:o.dataProtocol){case 4:case 5:{if(!o.dataUrl)throw new Error("Missing data URL for file ".concat(e));try{let _=new XMLHttpRequest;if(o.dataProtocol==5?(_.open("GET",Y(o==null?void 0:o.s3Config,o.dataUrl),!1),J(_,o==null?void 0:o.s3Config,o.dataUrl,"GET")):_.open("GET",o.dataUrl,!1),_.responseType="arraybuffer",_.setRequestHeader("Range","bytes=".concat(n,"-").concat(n+t-1)),_.send(null),_.status==206||_.status==200&&t==_.response.byteLength&&n==0){let l=new Uint8Array(_.response,0,Math.min(_.response.byteLength,t));return E.HEAPU8.set(l,r),l.byteLength}else if(_.status==200){console.warn("Range request for ".concat(o.dataUrl," did not return a partial response: ").concat(_.status,' "').concat(_.statusText,'"'));let l=new Uint8Array(_.response,n,Math.min(_.response.byteLength-n,t));return E.HEAPU8.set(l,r),l.byteLength}else throw new Error("Range request for ".concat(o.dataUrl," did returned non-success status: ").concat(_.status,' "').concat(_.statusText,'"'))}catch(_){throw console.log(_),new Error("Range request for ".concat(o.dataUrl," failed with error: ").concat(_,'"'))}}case 2:{let _=(a=I._files)==null?void 0:a.get(o.fileName);if(!_)throw new Error("No HTML5 file registered with name: ".concat(o.fileName));let l=_.slice(n,n+t),c=new Uint8Array(new FileReaderSync().readAsArrayBuffer(l));return E.HEAPU8.set(c,r),c.byteLength}case 3:{let _=I._files.get(o.fileName);if(!_)throw new Error("No OPFS access handle registered with name: ".concat(o.fileName));let l=E.HEAPU8.subarray(r,r+t);return _.read(l,{at:n})}}return 0}catch(o){return console.log(o),Q(E,o.toString()),0}},writeFile:(E,e,r,t,n)=>{var o;let a=I.getFileInfo(E,e);switch(a==null?void 0:a.dataProtocol){case 4:return Q(E,"Cannot write to HTTP file"),0;case 5:{let _=E.HEAPU8.subarray(r,r+t),l=new XMLHttpRequest;return l.open("PUT",Y(a==null?void 0:a.s3Config,a.dataUrl),!1),J(l,a==null?void 0:a.s3Config,a.dataUrl,"PUT","",_),l.send(_),l.status!==200?(Q(E,"Failed writing file: HTTP "+l.status),0):t}case 2:return Q(E,"cannot write using the html5 file reader api"),0;case 3:{let _=(o=I._files)==null?void 0:o.get(a.fileName);if(!_)throw new Error("No OPFS access handle registered with name: ".concat(a.fileName));let l=E.HEAPU8.subarray(r,r+t);return _.write(l,{at:n})}}return 0},getLastFileModificationTime:(E,e)=>{var t;let r=I.getFileInfo(E,e);switch(r==null?void 0:r.dataProtocol){case 2:{if(!((t=I._files)==null?void 0:t.get(r.fileName)))throw Error("No handle available for file: ".concat(r.fileName));return 0}case 4:case 5:return new Date().getTime()/1e3}return 0},progressUpdate:(E,e,r)=>{postMessage&&postMessage({requestId:0,type:"PROGRESS_UPDATE",data:{status:E?"completed":"in-progress",percentage:e,repetitions:r}})},checkDirectory:(E,e,r)=>{let t=B(E,e,r);return console.log("checkDirectory: ".concat(t)),!1},createDirectory:(E,e,r)=>{let t=B(E,e,r);console.log("createDirectory: ".concat(t))},removeDirectory:(E,e,r)=>{let t=B(E,e,r);console.log("removeDirectory: ".concat(t))},listDirectoryEntries:(E,e,r)=>{let t=B(E,e,r);return console.log("listDirectoryEntries: ".concat(t)),!1},moveFile:(E,e,r,t,n)=>{var l,c;let a=B(E,e,r),o=B(E,t,n),_=(l=I._files)==null?void 0:l.get(a);_!==void 0&&(I._files.delete(_),I._files.set(o,_));for(let[u,d]of((c=I._fileInfoCache)==null?void 0:c.entries())||[])if(d.dataUrl==a){I._fileInfoCache.delete(u);break}return!0},removeFile:(E,e,r)=>{},callScalarUDF:(E,e,r,t,n,a,o)=>{Se(I,E,e,r,t,n,a,o)}};var mr=Te(pr());var se=class extends ye{constructor(e,r,t,n){super(e,r),this.mainModuleURL=t,this.pthreadWorkerURL=n}locateFile(e,r){if(e.endsWith(".wasm"))return this.mainModuleURL;if(e.endsWith(".worker.js")){if(!this.pthreadWorkerURL)throw new Error("Missing DuckDB worker URL!");return this.pthreadWorkerURL}throw new Error("WASM instantiation requested unexpected file: prefix=".concat(r," path=").concat(e))}instantiateWasm(e,r){globalThis.DUCKDB_RUNTIME=this._runtime;let t=this.onInstantiationProgress;if(WebAssembly.instantiateStreaming)if(typeof TransformStream=="function"){let a=(async()=>{var m;let o=new Request(this.mainModuleURL),_=await fetch(o),l=_.headers.get("content-length"),c=l&&parseInt(l,10)||0,u=new Date,d={startedAt:u,updatedAt:u,bytesTotal:c||0,bytesLoaded:0},f={transform(v,g){d.bytesLoaded+=v.byteLength;let S=new Date;if(S.getTime()-d.updatedAt.getTime()<20){d.updatedAt=S,g.enqueue(v);return}for(let h of t)h(d);g.enqueue(v)}},p=new TransformStream(f);return new Response((m=_.body)==null?void 0:m.pipeThrough(p),_)})();WebAssembly.instantiateStreaming(a,e).then(o=>{r(o.instance,o.module)})}else{console.warn("instantiating without progress handler since transform streams are unavailable");let n=new Request(this.mainModuleURL);WebAssembly.instantiateStreaming(fetch(n),e).then(a=>{r(a.instance,a.module)})}else if(typeof XMLHttpRequest=="function"){let n=new XMLHttpRequest,a=this.mainModuleURL,o=new Date,_={startedAt:o,updatedAt:o,bytesTotal:0,bytesLoaded:0};n.open("GET",a),n.responseType="arraybuffer",n.onerror=l=>{throw this.logger.log({timestamp:new Date,level:4,origin:3,topic:5,event:2,value:"Failed to load WASM: "+l}),new Error(l.toString())},n.onprogress=l=>{_.bytesTotal=l.total,_.bytesLoaded=l.loaded;let c=new Date;if(c.getTime()-_.updatedAt.getTime()<20){_.updatedAt=c;return}for(let u of t)u(_)},n.onload=()=>{WebAssembly.instantiate(n.response,e).then(l=>{r(l.instance,l.module)}).catch(l=>{throw this.logger.log({timestamp:new Date,level:4,origin:3,topic:5,event:2,value:"Failed to instantiate WASM: "+l}),new Error(l)})},n.send()}else console.warn("instantiating with manual fetch since streaming instantiation and xhrs are unavailable"),(async()=>{let a=new Request(this.mainModuleURL),_=await(await fetch(a)).arrayBuffer();WebAssembly.instantiate(_,e).then(l=>{r(l.instance,l.module)})})();return[]}};var we=class extends se{constructor(e,r,t,n=null){super(e,r,t,n)}instantiateImpl(e){return(0,mr.default)({...e,instantiateWasm:this.instantiateWasm.bind(this),locateFile:this.locateFile.bind(this)})}};var vr=Te(gr());var De=class extends se{constructor(e,r,t,n=null){super(e,r,t,n)}instantiateImpl(e){return(0,vr.default)({...e,instantiateWasm:this.instantiateWasm.bind(this),locateFile:this.locateFile.bind(this)})}};async function li(E,e,r){return(await Be()).wasmExceptions&&E.eh?new De(e,r,E.eh.mainModule):new we(e,r,E.mvp.mainModule)}export{I as BROWSER_RUNTIME,Ye as ConsoleLogger,Qe as DEFAULT_RUNTIME,Tr as DuckDBAccessMode,ye as DuckDBBindingsBase,pe as DuckDBConnection,he as DuckDBDataProtocol,kr as DuckDBFeature,ze as FileFlags,be as FileStatistics,Ne as IsArrowBuffer,We as IsDuckDBWasmRetry,Fr as JSONTableShape,Mr as LogEvent,Cr as LogLevel,Gr as LogOrigin,xr as LogTopic,tr as PACKAGE_NAME,ir as PACKAGE_VERSION,ut as PACKAGE_VERSION_MAJOR,dt as PACKAGE_VERSION_MINOR,ft as PACKAGE_VERSION_PATCH,Fe as PreparedStatement,ge as ResultStreamIterator,Oe as StatusCode,Pr as TokenType,Je as VoidLogger,W as callSRet,ie as copyBuffer,li as createDuckDB,Dr as decodeText,q as dropResponseBuffers,Q as failWith,St as getJsDelivrBundles,at as getLogEventLabel,nt as getLogLevelLabel,ot as getLogOriginLabel,st as getLogTopicLabel,Be as getPlatformFeatures,gt as isFirefox,nr as isNode,vt as isSafari,B as readString,ht as selectBundle};
|
|
2
|
+
/*! Bundled license information:
|
|
3
|
+
|
|
4
|
+
js-sha256/src/sha256.js:
|
|
5
|
+
(**
|
|
6
|
+
* [js-sha256]{@link https://github.com/emn178/js-sha256}
|
|
7
|
+
*
|
|
8
|
+
* @version 0.11.1
|
|
9
|
+
* @author Chen, Yi-Cyuan [emn178@gmail.com]
|
|
10
|
+
* @copyright Chen, Yi-Cyuan 2014-2025
|
|
11
|
+
* @license MIT
|
|
12
|
+
*)
|
|
13
|
+
*/
|
|
14
|
+
//# sourceMappingURL=duckdb-browser-blocking.mjs.map
|