From 83406a0544a7144bafd7112e6483b11cab29ca1d Mon Sep 17 00:00:00 2001 From: Etan Kissling Date: Tue, 6 Aug 2024 14:07:07 +0200 Subject: [PATCH] test --- libnimbus_lc.js | 2 +- libnimbus_lc.wasm | Bin 3206393 -> 3206971 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/libnimbus_lc.js b/libnimbus_lc.js index a570ceb..f6a8478 100644 --- a/libnimbus_lc.js +++ b/libnimbus_lc.js @@ -1 +1 @@ -var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&self.name=="em-pthread";if(ENVIRONMENT_IS_NODE){var worker_threads=require("worker_threads");global.Worker=worker_threads.Worker;ENVIRONMENT_IS_WORKER=!worker_threads.isMainThread;ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&worker_threads["workerData"]=="em-pthread"}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=typeof document!="undefined"?document.currentScript?.src:undefined;if(ENVIRONMENT_IS_NODE){_scriptName=__filename}else if(ENVIRONMENT_IS_WORKER){_scriptName=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(".").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split("-")[0]*1;if(numericVersion<16e4){throw new Error("This emscripten-generated code requires node v16.0.0 (detected v"+nodeVersion+")")}var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);assert(ret.buffer);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(!ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{throw new Error("environment detection error")}if(ENVIRONMENT_IS_NODE){if(typeof performance=="undefined"){global.performance=require("perf_hooks").performance}}var defaultPrint=console.log.bind(console);var defaultPrintErr=console.error.bind(console);if(ENVIRONMENT_IS_NODE){defaultPrint=(...args)=>fs.writeSync(1,args.join(" ")+"\n");defaultPrintErr=(...args)=>fs.writeSync(2,args.join(" ")+"\n")}var out=Module["print"]||defaultPrint;var err=Module["printErr"]||defaultPrintErr;Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER||ENVIRONMENT_IS_NODE,"Pthreads do not work in this environment yet (need Web Workers, or an alternative to them)");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var workerID=0;if(ENVIRONMENT_IS_PTHREAD){var wasmPromiseResolve;var wasmPromiseReject;if(ENVIRONMENT_IS_NODE){var parentPort=worker_threads["parentPort"];parentPort.on("message",data=>onmessage({data:data}));Object.assign(globalThis,{self:global,importScripts:()=>{assert(false,"dummy importScripts called")},postMessage:msg=>parentPort.postMessage(msg),performance:global.performance||{now:Date.now}})}var initializedJS=false;function threadPrintErr(...args){var text=args.join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}if(!Module["printErr"])err=threadPrintErr;dbg=threadPrintErr;function threadAlert(...args){var text=args.join(" ");postMessage({cmd:"alert",text:text,threadId:_pthread_self()})}self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>new Promise((resolve,reject)=>{wasmPromiseResolve=module=>{var instance=new WebAssembly.Instance(module,getWasmImports());receiveInstance(instance);resolve()};wasmPromiseReject=reject});self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e["data"];var cmd=msgData["cmd"];if(cmd==="load"){workerID=msgData["workerID"];let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{postMessage({cmd:"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};for(const handler of msgData["handlers"]){if(!Module[handler]||Module[handler].proxy){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData["wasmMemory"];updateMemoryViews();wasmPromiseResolve(msgData["wasmModule"])}else if(cmd==="run"){__emscripten_thread_init(msgData["pthread_ptr"],0,0,1,0,0);__emscripten_thread_mailbox_await(msgData["pthread_ptr"]);assert(msgData["pthread_ptr"]);establishStackSpace();PThread.receiveObjectTransfer(msgData);PThread.threadInitTLS();if(!initializedJS){initializedJS=true}try{invokeEntryPoint(msgData["start_routine"],msgData["arg"])}catch(ex){if(ex!="unwind"){throw ex}}}else if(cmd==="cancel"){if(_pthread_self()){__emscripten_thread_exit(-1)}}else if(msgData.target==="setimmediate"){}else if(cmd==="checkMailbox"){if(initializedJS){checkMailbox()}}else if(cmd){err(`worker: received unknown command ${cmd}`);err(msgData)}}catch(ex){err(`worker: onmessage() captured an uncaught exception: ${ex}`);if(ex?.stack)err(ex.stack);__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");if(!ENVIRONMENT_IS_PTHREAD){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||268435456;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=134217728,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+134217728+")");wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:INITIAL_MEMORY/65536,shared:true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)")}throw Error("bad memory")}}updateMemoryViews()}function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){assert(!ENVIRONMENT_IS_PTHREAD);if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;checkStackCookie();if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}function findWasmBinary(){var f="libnimbus_lc.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){assignWasmImports();return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;registerTLSInit(wasmExports["_emscripten_tls_init"]);wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);wasmModule=module;removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"],result["module"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(ENVIRONMENT_IS_PTHREAD){return}if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function dbg(...args){if(ENVIRONMENT_IS_NODE&&fs){fs.writeSync(2,args.join(" ")+"\n")}else console.warn(...args)}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{var cmd=e["data"]["cmd"];err(`received "${cmd}" command from terminated worker: ${worker.workerID}`)}};var killThread=pthread_ptr=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! killThread() can only ever be called from main application thread!");assert(pthread_ptr,"Internal Error! Null pthread_ptr in killThread!");var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];terminateWorker(worker);__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0};var cancelThread=pthread_ptr=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! cancelThread() can only ever be called from main application thread!");assert(pthread_ptr,"Internal Error! Null pthread_ptr in cancelThread!");var worker=PThread.pthreads[pthread_ptr];worker.postMessage({cmd:"cancel"})};var cleanupThread=pthread_ptr=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! cleanupThread() can only ever be called from main application thread!");assert(pthread_ptr,"Internal Error! Null pthread_ptr in cleanupThread!");var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker)};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var spawnThread=threadParams=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! spawnThread() can only ever be called from main application thread!");assert(threadParams.pthread_ptr,"Internal error, no pthread ptr!");var worker=PThread.getNewWorker();if(!worker){return 6}assert(!worker.pthread_ptr,"Internal error!");PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={cmd:"run",start_routine:threadParams.startRoutine,arg:threadParams.arg,pthread_ptr:threadParams.pthread_ptr};if(ENVIRONMENT_IS_NODE){worker.unref()}worker.postMessage(msg,threadParams.transferList);return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var convertI32PairToI53Checked=(lo,hi)=>{assert(lo==lo>>>0||lo==(lo|0));assert(hi===(hi|0));return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN};var proxyToMainThread=(funcIndex,emAsmAddr,sync,...callArgs)=>{var serializedNumCallArgs=callArgs.length;var sp=stackSave();var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 134217728)")}}quit_(1,e)};function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,returnCode);_exit(returnCode)}var exitJS=(status,implicit)=>{EXITSTATUS=status;checkUnflushedContent();if(ENVIRONMENT_IS_PTHREAD){assert(!implicit);exitOnMainThread(status);throw"unwind"}if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;err(msg)}_proc_exit(status)};var _exit=exitJS;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},nextWorkerID:1,debugInit(){function pthreadLogPrefix(){var t=0;if(runtimeInitialized&&typeof _pthread_self!="undefined"){t=_pthread_self()}return"w:"+workerID+",t:"+ptrToString(t)+": "}var origDbg=dbg;dbg=(...args)=>origDbg(pthreadLogPrefix()+args.join(" "))},init(){PThread.debugInit();if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker()}else{PThread.initMainThread()}},initMainThread(){addOnPreRun(()=>{addRunDependency("loading-workers");PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))})},initWorker(){noExitRuntime=false},setExitStatus:status=>EXITSTATUS=status,terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! terminateAllThreads() can only ever be called from main application thread!");for(var worker of PThread.runningWorkers){terminateWorker(worker)}for(var worker of PThread.unusedWorkers){terminateWorker(worker)}PThread.unusedWorkers=[];PThread.runningWorkers=[];PThread.pthreads=[]},returnWorkerToPool:worker=>{var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;__emscripten_thread_free_data(pthread_ptr)},receiveObjectTransfer(data){},threadInitTLS(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:worker=>new Promise(onFinishedLoading=>{worker.onmessage=e=>{var d=e["data"];var cmd=d["cmd"];if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d["targetThread"]];if(targetWorker){targetWorker.postMessage(d,d["transferList"])}else{err(`Internal error! Worker sent a message "${cmd}" to target pthread ${d["targetThread"]}, but that thread no longer exists!`)}return}if(cmd==="checkMailbox"){checkMailbox()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;onFinishedLoading(worker)}else if(cmd==="alert"){alert(`Thread ${d["threadId"]}: ${d["text"]}`)}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d["handler"]](...d["args"])}else if(cmd){err(`worker sent an unknown command ${cmd}`)}};worker.onerror=e=>{var message="worker sent an error!";if(worker.pthread_ptr){message=`Pthread ${ptrToString(worker.pthread_ptr)} sent an error!`}err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};if(ENVIRONMENT_IS_NODE){worker.on("message",data=>worker.onmessage({data:data}));worker.on("error",e=>worker.onerror(e))}assert(wasmMemory instanceof WebAssembly.Memory,"WebAssembly memory should have been loaded by now!");assert(wasmModule instanceof WebAssembly.Module,"WebAssembly Module should have been loaded by now!");var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.workerID=PThread.nextWorkerID++;worker.postMessage({cmd:"load",handlers:handlers,wasmMemory:wasmMemory,wasmModule:wasmModule,workerID:worker.workerID})}),loadWasmModuleToAllWorkers(onMaybeReady){onMaybeReady()},allocateUnusedWorker(){var worker;var workerOptions={workerData:"em-pthread",name:"em-pthread"};var pthreadMainJs=_scriptName;if(Module["mainScriptUrlOrBlob"]){pthreadMainJs=Module["mainScriptUrlOrBlob"];if(typeof pthreadMainJs!="string"){pthreadMainJs=URL.createObjectURL(pthreadMainJs)}}worker=new Worker(pthreadMainJs,workerOptions);PThread.unusedWorkers.push(worker)},getNewWorker(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var establishStackSpace=()=>{var pthread_ptr=_pthread_self();var stackHigh=HEAPU32[pthread_ptr+52>>2];var stackSize=HEAPU32[pthread_ptr+56>>2];var stackLow=stackHigh-stackSize;assert(stackHigh!=0);assert(stackLow!=0);assert(stackHigh>stackLow,"stackHigh must be higher then stackLow");_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh);writeStackCookie()};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;var result=getWasmTableEntry(ptr)(arg);checkStackCookie();function finish(result){if(keepRuntimeAlive()){PThread.setExitStatus(result)}else{__emscripten_thread_exit(result)}}finish(result)};var noExitRuntime=Module["noExitRuntime"]||true;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer?heapOrArray.slice(idx,endPtr):heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};function syscallGetVarargI(){assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>(view.set(crypto.getRandomValues(new Uint8Array(view.byteLength))),view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){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(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var alignMemory=(size,alignment)=>{assert(alignment,"alignment argument is required");return Math.ceil(size/alignment)*alignment};var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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 node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var strError=errno=>UTF8ToString(_strerror(errno));var 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};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class extends Error{constructor(errno){super(runtimeInitialized?strError(errno):"");this.name="ErrnoError";this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}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(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent=="object");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type=="string"){throw type}var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.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:(stream,buffer,offset,length,pos)=>length});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 randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,fd,buf);try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,0,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(6,0,1,dirfd,path,buf,flags);try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(7,0,1,dirfd,path,flags,varargs);SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(8,0,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("native code called abort()")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_init_main_thread_js=tb=>{__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB,134217728,false);PThread.threadInitTLS()};var maybeExit=()=>{if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD)__emscripten_thread_exit(EXITSTATUS);else _exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var __emscripten_thread_mailbox_await=pthread_ptr=>{if(typeof Atomics.waitAsync==="function"){var wait=Atomics.waitAsync(HEAP32,pthread_ptr>>2,pthread_ptr);assert(wait.async);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+128;Atomics.store(HEAP32,waitingAsync>>2,1)}};var checkMailbox=()=>{var pthread_ptr=_pthread_self();if(pthread_ptr){__emscripten_thread_mailbox_await(pthread_ptr);callUserCallback(__emscripten_check_mailbox)}};var __emscripten_notify_mailbox_postmessage=(targetThreadId,currThreadId,mainThreadId)=>{if(targetThreadId==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread:targetThreadId,cmd:"checkMailbox"})}else{var worker=PThread.pthreads[targetThreadId];if(!worker){err(`Cannot send message to thread with ID ${targetThreadId}, unknown thread ID!`);return}worker.postMessage({cmd:"checkMailbox"})}};var proxiedJSCallArgs=[];var __emscripten_receive_on_main_thread_js=(funcIndex,emAsmAddr,callingThread,numCallArgs,args)=>{proxiedJSCallArgs.length=numCallArgs;var b=args>>3;for(var i=0;i{if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({cmd:"cleanupThread",thread:thread})};var __emscripten_thread_set_strongref=thread=>{if(ENVIRONMENT_IS_NODE){PThread.pthreads[thread].ref()}};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(9,0,1,len,prot,flags,fd,offset_low,offset_high,allocated,addr);var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(10,0,1,addr,len,prot,flags,fd,offset_low,offset_high);var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset{if(ENVIRONMENT_IS_NODE)return;if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")};var _emscripten_date_now=()=>Date.now();var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var getHeapMax=()=>HEAPU8.length;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.timeOrigin+performance.now();var _emscripten_num_logical_cores=()=>ENVIRONMENT_IS_NODE?require("os").cpus().length:navigator["hardwareConcurrency"];var abortOnCannotGrowMemory=requestedSize=>{abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`)};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(11,0,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(13,0,1,fd,offset_low,offset_high,whence,newOffset);var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(14,0,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};PThread.init();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();var proxiedFunctionTable=[_proc_exit,exitOnMainThread,___syscall_fcntl64,___syscall_fstat64,___syscall_ioctl,___syscall_lstat64,___syscall_newfstatat,___syscall_openat,___syscall_stat64,__mmap_js,__munmap_js,_fd_close,_fd_read,_fd_seek,_fd_write];function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports;function assignWasmImports(){wasmImports={__assert_fail:___assert_fail,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_stat64:___syscall_stat64,_abort_js:__abort_js,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_init_main_thread_js:__emscripten_init_main_thread_js,_emscripten_notify_mailbox_postmessage:__emscripten_notify_mailbox_postmessage,_emscripten_receive_on_main_thread_js:__emscripten_receive_on_main_thread_js,_emscripten_thread_cleanup:__emscripten_thread_cleanup,_emscripten_thread_mailbox_await:__emscripten_thread_mailbox_await,_emscripten_thread_set_strongref:__emscripten_thread_set_strongref,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,emscripten_check_blocking_allowed:_emscripten_check_blocking_allowed,emscripten_date_now:_emscripten_date_now,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_num_logical_cores:_emscripten_num_logical_cores,emscripten_resize_heap:_emscripten_resize_heap,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory}}var wasmExports=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors",0);var _malloc=Module["_malloc"]=createExportWrapper("malloc",1);var _free=Module["_free"]=createExportWrapper("free",1);var _strerror=createExportWrapper("strerror",1);var _fflush=createExportWrapper("fflush",1);var _ETHRandomNumberCreate=Module["_ETHRandomNumberCreate"]=createExportWrapper("ETHRandomNumberCreate",0);var _ETHConsensusConfigCreateFromYaml=Module["_ETHConsensusConfigCreateFromYaml"]=createExportWrapper("ETHConsensusConfigCreateFromYaml",1);var _ETHConsensusConfigGetConsensusVersionAtEpoch=Module["_ETHConsensusConfigGetConsensusVersionAtEpoch"]=createExportWrapper("ETHConsensusConfigGetConsensusVersionAtEpoch",2);var _ETHBeaconStateCreateFromSsz=Module["_ETHBeaconStateCreateFromSsz"]=createExportWrapper("ETHBeaconStateCreateFromSsz",4);var _ETHBeaconStateDestroy=Module["_ETHBeaconStateDestroy"]=createExportWrapper("ETHBeaconStateDestroy",1);var _ETHBeaconStateCopyGenesisValidatorsRoot=Module["_ETHBeaconStateCopyGenesisValidatorsRoot"]=createExportWrapper("ETHBeaconStateCopyGenesisValidatorsRoot",1);var _ETHRootDestroy=Module["_ETHRootDestroy"]=createExportWrapper("ETHRootDestroy",1);var _ETHForkDigestsCreateFromState=Module["_ETHForkDigestsCreateFromState"]=createExportWrapper("ETHForkDigestsCreateFromState",2);var _ETHBeaconClockCreateFromState=Module["_ETHBeaconClockCreateFromState"]=createExportWrapper("ETHBeaconClockCreateFromState",2);var _ETHBeaconClockGetSlot=Module["_ETHBeaconClockGetSlot"]=createExportWrapper("ETHBeaconClockGetSlot",1);var _ETHLightClientStoreCreateFromBootstrap=Module["_ETHLightClientStoreCreateFromBootstrap"]=createExportWrapper("ETHLightClientStoreCreateFromBootstrap",6);var _ETHLightClientStoreDestroy=Module["_ETHLightClientStoreDestroy"]=createExportWrapper("ETHLightClientStoreDestroy",1);var _ETHLightClientStoreGetNextSyncTask=Module["_ETHLightClientStoreGetNextSyncTask"]=createExportWrapper("ETHLightClientStoreGetNextSyncTask",4);var _ETHLightClientStoreGetMillisecondsToNextSyncTask=Module["_ETHLightClientStoreGetMillisecondsToNextSyncTask"]=createExportWrapper("ETHLightClientStoreGetMillisecondsToNextSyncTask",4);var _ETHLightClientStoreProcessUpdatesByRange=Module["_ETHLightClientStoreProcessUpdatesByRange"]=createExportWrapper("ETHLightClientStoreProcessUpdatesByRange",10);var _ETHLightClientStoreProcessFinalityUpdate=Module["_ETHLightClientStoreProcessFinalityUpdate"]=createExportWrapper("ETHLightClientStoreProcessFinalityUpdate",9);var _ETHLightClientStoreProcessOptimisticUpdate=Module["_ETHLightClientStoreProcessOptimisticUpdate"]=createExportWrapper("ETHLightClientStoreProcessOptimisticUpdate",9);var _ETHLightClientStoreGetFinalizedHeader=Module["_ETHLightClientStoreGetFinalizedHeader"]=createExportWrapper("ETHLightClientStoreGetFinalizedHeader",1);var _ETHLightClientStoreIsNextSyncCommitteeKnown=Module["_ETHLightClientStoreIsNextSyncCommitteeKnown"]=createExportWrapper("ETHLightClientStoreIsNextSyncCommitteeKnown",1);var _ETHLightClientStoreGetOptimisticHeader=Module["_ETHLightClientStoreGetOptimisticHeader"]=createExportWrapper("ETHLightClientStoreGetOptimisticHeader",1);var _ETHLightClientStoreGetSafetyThreshold=Module["_ETHLightClientStoreGetSafetyThreshold"]=createExportWrapper("ETHLightClientStoreGetSafetyThreshold",1);var _ETHLightClientHeaderCreateCopy=Module["_ETHLightClientHeaderCreateCopy"]=createExportWrapper("ETHLightClientHeaderCreateCopy",1);var _ETHLightClientHeaderDestroy=Module["_ETHLightClientHeaderDestroy"]=createExportWrapper("ETHLightClientHeaderDestroy",1);var _ETHLightClientHeaderCopyBeaconRoot=Module["_ETHLightClientHeaderCopyBeaconRoot"]=createExportWrapper("ETHLightClientHeaderCopyBeaconRoot",2);var _ETHLightClientHeaderGetBeacon=Module["_ETHLightClientHeaderGetBeacon"]=createExportWrapper("ETHLightClientHeaderGetBeacon",1);var _ETHBeaconBlockHeaderGetSlot=Module["_ETHBeaconBlockHeaderGetSlot"]=createExportWrapper("ETHBeaconBlockHeaderGetSlot",1);var _ETHBeaconBlockHeaderGetProposerIndex=Module["_ETHBeaconBlockHeaderGetProposerIndex"]=createExportWrapper("ETHBeaconBlockHeaderGetProposerIndex",1);var _ETHBeaconBlockHeaderGetParentRoot=Module["_ETHBeaconBlockHeaderGetParentRoot"]=createExportWrapper("ETHBeaconBlockHeaderGetParentRoot",1);var _ETHBeaconBlockHeaderGetStateRoot=Module["_ETHBeaconBlockHeaderGetStateRoot"]=createExportWrapper("ETHBeaconBlockHeaderGetStateRoot",1);var _ETHBeaconBlockHeaderGetBodyRoot=Module["_ETHBeaconBlockHeaderGetBodyRoot"]=createExportWrapper("ETHBeaconBlockHeaderGetBodyRoot",1);var _ETHLightClientHeaderCopyExecutionHash=Module["_ETHLightClientHeaderCopyExecutionHash"]=createExportWrapper("ETHLightClientHeaderCopyExecutionHash",2);var _ETHLightClientHeaderGetExecution=Module["_ETHLightClientHeaderGetExecution"]=createExportWrapper("ETHLightClientHeaderGetExecution",1);var _ETHExecutionPayloadHeaderGetParentHash=Module["_ETHExecutionPayloadHeaderGetParentHash"]=createExportWrapper("ETHExecutionPayloadHeaderGetParentHash",1);var _ETHExecutionPayloadHeaderGetFeeRecipient=Module["_ETHExecutionPayloadHeaderGetFeeRecipient"]=createExportWrapper("ETHExecutionPayloadHeaderGetFeeRecipient",1);var _ETHExecutionPayloadHeaderGetStateRoot=Module["_ETHExecutionPayloadHeaderGetStateRoot"]=createExportWrapper("ETHExecutionPayloadHeaderGetStateRoot",1);var _ETHExecutionPayloadHeaderGetReceiptsRoot=Module["_ETHExecutionPayloadHeaderGetReceiptsRoot"]=createExportWrapper("ETHExecutionPayloadHeaderGetReceiptsRoot",1);var _ETHExecutionPayloadHeaderGetLogsBloom=Module["_ETHExecutionPayloadHeaderGetLogsBloom"]=createExportWrapper("ETHExecutionPayloadHeaderGetLogsBloom",1);var _ETHExecutionPayloadHeaderGetPrevRandao=Module["_ETHExecutionPayloadHeaderGetPrevRandao"]=createExportWrapper("ETHExecutionPayloadHeaderGetPrevRandao",1);var _ETHExecutionPayloadHeaderGetBlockNumber=Module["_ETHExecutionPayloadHeaderGetBlockNumber"]=createExportWrapper("ETHExecutionPayloadHeaderGetBlockNumber",1);var _ETHExecutionPayloadHeaderGetGasLimit=Module["_ETHExecutionPayloadHeaderGetGasLimit"]=createExportWrapper("ETHExecutionPayloadHeaderGetGasLimit",1);var _ETHExecutionPayloadHeaderGetGasUsed=Module["_ETHExecutionPayloadHeaderGetGasUsed"]=createExportWrapper("ETHExecutionPayloadHeaderGetGasUsed",1);var _ETHExecutionPayloadHeaderGetTimestamp=Module["_ETHExecutionPayloadHeaderGetTimestamp"]=createExportWrapper("ETHExecutionPayloadHeaderGetTimestamp",1);var _ETHExecutionPayloadHeaderGetExtraDataBytes=Module["_ETHExecutionPayloadHeaderGetExtraDataBytes"]=createExportWrapper("ETHExecutionPayloadHeaderGetExtraDataBytes",2);var _ETHExecutionPayloadHeaderGetBaseFeePerGas=Module["_ETHExecutionPayloadHeaderGetBaseFeePerGas"]=createExportWrapper("ETHExecutionPayloadHeaderGetBaseFeePerGas",1);var _ETHExecutionPayloadHeaderGetBlobGasUsed=Module["_ETHExecutionPayloadHeaderGetBlobGasUsed"]=createExportWrapper("ETHExecutionPayloadHeaderGetBlobGasUsed",1);var _ETHExecutionPayloadHeaderGetExcessBlobGas=Module["_ETHExecutionPayloadHeaderGetExcessBlobGas"]=createExportWrapper("ETHExecutionPayloadHeaderGetExcessBlobGas",1);var _ETHExecutionBlockHeaderCreateFromJson=Module["_ETHExecutionBlockHeaderCreateFromJson"]=createExportWrapper("ETHExecutionBlockHeaderCreateFromJson",2);var _ETHExecutionBlockHeaderDestroy=Module["_ETHExecutionBlockHeaderDestroy"]=createExportWrapper("ETHExecutionBlockHeaderDestroy",1);var _ETHExecutionBlockHeaderGetTransactionsRoot=Module["_ETHExecutionBlockHeaderGetTransactionsRoot"]=createExportWrapper("ETHExecutionBlockHeaderGetTransactionsRoot",1);var _ETHExecutionBlockHeaderGetWithdrawalsRoot=Module["_ETHExecutionBlockHeaderGetWithdrawalsRoot"]=createExportWrapper("ETHExecutionBlockHeaderGetWithdrawalsRoot",1);var _ETHTransactionsCreateFromJson=Module["_ETHTransactionsCreateFromJson"]=createExportWrapper("ETHTransactionsCreateFromJson",2);var _ETHTransactionsDestroy=Module["_ETHTransactionsDestroy"]=createExportWrapper("ETHTransactionsDestroy",1);var _ETHTransactionsGetCount=Module["_ETHTransactionsGetCount"]=createExportWrapper("ETHTransactionsGetCount",1);var _ETHTransactionsGet=Module["_ETHTransactionsGet"]=createExportWrapper("ETHTransactionsGet",2);var _ETHTransactionGetHash=Module["_ETHTransactionGetHash"]=createExportWrapper("ETHTransactionGetHash",1);var _ETHTransactionGetFrom=Module["_ETHTransactionGetFrom"]=createExportWrapper("ETHTransactionGetFrom",1);var _ETHTransactionGetNonce=Module["_ETHTransactionGetNonce"]=createExportWrapper("ETHTransactionGetNonce",1);var _ETHTransactionGetMaxPriorityFeePerGas=Module["_ETHTransactionGetMaxPriorityFeePerGas"]=createExportWrapper("ETHTransactionGetMaxPriorityFeePerGas",1);var _ETHTransactionGetMaxFeePerGas=Module["_ETHTransactionGetMaxFeePerGas"]=createExportWrapper("ETHTransactionGetMaxFeePerGas",1);var _ETHTransactionGetGas=Module["_ETHTransactionGetGas"]=createExportWrapper("ETHTransactionGetGas",1);var _ETHTransactionIsCreatingContract=Module["_ETHTransactionIsCreatingContract"]=createExportWrapper("ETHTransactionIsCreatingContract",1);var _ETHTransactionGetTo=Module["_ETHTransactionGetTo"]=createExportWrapper("ETHTransactionGetTo",1);var _ETHTransactionGetValue=Module["_ETHTransactionGetValue"]=createExportWrapper("ETHTransactionGetValue",1);var _ETHTransactionGetInputBytes=Module["_ETHTransactionGetInputBytes"]=createExportWrapper("ETHTransactionGetInputBytes",2);var _ETHTransactionGetBytes=Module["_ETHTransactionGetBytes"]=createExportWrapper("ETHTransactionGetBytes",2);var _ETHTransactionGetEip6493Root=Module["_ETHTransactionGetEip6493Root"]=createExportWrapper("ETHTransactionGetEip6493Root",1);var _ETHTransactionGetEip6493Bytes=Module["_ETHTransactionGetEip6493Bytes"]=createExportWrapper("ETHTransactionGetEip6493Bytes",2);var _ETHTransactionGetNumEip6493SnappyBytes=Module["_ETHTransactionGetNumEip6493SnappyBytes"]=createExportWrapper("ETHTransactionGetNumEip6493SnappyBytes",1);var _ETHReceiptsCreateFromJson=Module["_ETHReceiptsCreateFromJson"]=createExportWrapper("ETHReceiptsCreateFromJson",3);var _ETHReceiptsDestroy=Module["_ETHReceiptsDestroy"]=createExportWrapper("ETHReceiptsDestroy",1);var _ETHReceiptsGet=Module["_ETHReceiptsGet"]=createExportWrapper("ETHReceiptsGet",2);var _ETHReceiptHasStatus=Module["_ETHReceiptHasStatus"]=createExportWrapper("ETHReceiptHasStatus",1);var _ETHReceiptGetBytes=Module["_ETHReceiptGetBytes"]=createExportWrapper("ETHReceiptGetBytes",2);var _ETHReceiptGetEip6493Bytes=Module["_ETHReceiptGetEip6493Bytes"]=createExportWrapper("ETHReceiptGetEip6493Bytes",2);var _ETHReceiptGetNumEip6493SnappyBytes=Module["_ETHReceiptGetNumEip6493SnappyBytes"]=createExportWrapper("ETHReceiptGetNumEip6493SnappyBytes",1);var _NimMain=Module["_NimMain"]=createExportWrapper("NimMain",0);var __emscripten_tls_init=createExportWrapper("_emscripten_tls_init",0);var _pthread_self=()=>(_pthread_self=wasmExports["pthread_self"])();var _emscripten_builtin_memalign=createExportWrapper("emscripten_builtin_memalign",2);var __emscripten_thread_init=createExportWrapper("_emscripten_thread_init",6);var __emscripten_thread_crashed=createExportWrapper("_emscripten_thread_crashed",0);var _emscripten_main_thread_process_queued_calls=createExportWrapper("emscripten_main_thread_process_queued_calls",0);var _emscripten_main_runtime_thread_id=createExportWrapper("emscripten_main_runtime_thread_id",0);var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var __emscripten_run_on_main_thread_js=createExportWrapper("_emscripten_run_on_main_thread_js",5);var __emscripten_thread_free_data=createExportWrapper("_emscripten_thread_free_data",1);var __emscripten_thread_exit=createExportWrapper("_emscripten_thread_exit",1);var __emscripten_check_mailbox=createExportWrapper("_emscripten_check_mailbox",0);var __emscripten_tempret_set=createExportWrapper("_emscripten_tempret_set",1);var _emscripten_stack_init=()=>(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_set_limits=(a0,a1)=>(_emscripten_stack_set_limits=wasmExports["emscripten_stack_set_limits"])(a0,a1);var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var dynCall_jii=Module["dynCall_jii"]=createExportWrapper("dynCall_jii",3);var dynCall_viij=Module["dynCall_viij"]=createExportWrapper("dynCall_viij",5);var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji",5);var _kETHLcSyncKind_UpdatesByRange=Module["_kETHLcSyncKind_UpdatesByRange"]=1170112;var _kETHLcSyncKind_FinalityUpdate=Module["_kETHLcSyncKind_FinalityUpdate"]=1170116;var _kETHLcSyncKind_OptimisticUpdate=Module["_kETHLcSyncKind_OptimisticUpdate"]=1170120;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["stringToNewUTF8"]=stringToNewUTF8;var missingLibrarySymbols=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getTempRet0","setTempRet0","growMemory","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","jstoi_q","getExecutableName","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","setWasmTableEntry","runtimeKeepalivePop","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","stringToAscii","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToUTF8OnStack","writeArrayToMemory","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSizeCallingThread","setCanvasElementSizeMainThread","setCanvasElementSize","getCanvasSizeCallingThread","getCanvasSizeMainThread","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","getEnvStrings","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","emscripten_webgl_destroy_context_before_on_calling_thread","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","callMain","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","abortOnCannotGrowMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","strError","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","readEmAsmArgsArray","jstoi_s","getWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","intArrayFromString","UTF16Decoder","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","doReadv","doWritev","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","print","printErr","PThread","terminateWorker","killThread","cleanupThread","registerTLSInit","cancelThread","spawnThread","exitOnMainThread","proxyToMainThread","proxiedJSCallArgs","invokeEntryPoint","checkMailbox"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){assert(!ENVIRONMENT_IS_PTHREAD);_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}if(!ENVIRONMENT_IS_PTHREAD)stackCheckInit();if(ENVIRONMENT_IS_PTHREAD){initRuntime();startWorker(Module);return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}function checkUnflushedContent(){var oldOut=out;var oldErr=err;var has=false;out=err=x=>{has=true};try{_fflush(0);["stdout","stderr"].forEach(function(name){var info=FS.analyzePath("/dev/"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty?.output?.length){has=true}})}catch(e){}out=oldOut;err=oldErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=typeof Module!="undefined"?Module:{};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(Module["ENVIRONMENT"]){throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)")}var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&self.name=="em-pthread";if(ENVIRONMENT_IS_NODE){var worker_threads=require("worker_threads");global.Worker=worker_threads.Worker;ENVIRONMENT_IS_WORKER=!worker_threads.isMainThread;ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&worker_threads["workerData"]=="em-pthread"}var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=typeof document!="undefined"?document.currentScript?.src:undefined;if(ENVIRONMENT_IS_NODE){_scriptName=__filename}else if(ENVIRONMENT_IS_WORKER){_scriptName=self.location.href}var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_NODE){if(typeof process=="undefined"||!process.release||process.release.name!=="node")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var nodeVersion=process.versions.node;var numericVersion=nodeVersion.split(".").slice(0,3);numericVersion=numericVersion[0]*1e4+numericVersion[1]*100+numericVersion[2].split("-")[0]*1;if(numericVersion<16e4){throw new Error("This emscripten-generated code requires node v16.0.0 (detected v"+nodeVersion+")")}var fs=require("fs");var nodePath=require("path");scriptDirectory=__dirname+"/";readBinary=filename=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);var ret=fs.readFileSync(filename);assert(ret.buffer);return ret};readAsync=(filename,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return new Promise((resolve,reject)=>{fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)reject(err);else resolve(binary?data.buffer:data)})})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}else if(ENVIRONMENT_IS_SHELL){if(typeof process=="object"&&typeof require==="function"||typeof window=="object"||typeof importScripts=="function")throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)")}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}if(!(typeof window=="object"||typeof importScripts=="function"))throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");if(!ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=url=>{if(isFileURI(url)){return new Promise((reject,resolve)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){resolve(xhr.response)}reject(xhr.status)};xhr.onerror=reject;xhr.send(null)})}return fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}}else{throw new Error("environment detection error")}if(ENVIRONMENT_IS_NODE){if(typeof performance=="undefined"){global.performance=require("perf_hooks").performance}}var defaultPrint=console.log.bind(console);var defaultPrintErr=console.error.bind(console);if(ENVIRONMENT_IS_NODE){defaultPrint=(...args)=>fs.writeSync(1,args.join(" ")+"\n");defaultPrintErr=(...args)=>fs.writeSync(2,args.join(" ")+"\n")}var out=Module["print"]||defaultPrint;var err=Module["printErr"]||defaultPrintErr;Object.assign(Module,moduleOverrides);moduleOverrides=null;checkIncomingModuleAPI();if(Module["arguments"])arguments_=Module["arguments"];legacyModuleProp("arguments","arguments_");if(Module["thisProgram"])thisProgram=Module["thisProgram"];legacyModuleProp("thisProgram","thisProgram");if(Module["quit"])quit_=Module["quit"];legacyModuleProp("quit","quit_");assert(typeof Module["memoryInitializerPrefixURL"]=="undefined","Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["pthreadMainPrefixURL"]=="undefined","Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["cdInitializerPrefixURL"]=="undefined","Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["filePackagePrefixURL"]=="undefined","Module.filePackagePrefixURL option was removed, use Module.locateFile instead");assert(typeof Module["read"]=="undefined","Module.read option was removed");assert(typeof Module["readAsync"]=="undefined","Module.readAsync option was removed (modify readAsync in JS)");assert(typeof Module["readBinary"]=="undefined","Module.readBinary option was removed (modify readBinary in JS)");assert(typeof Module["setWindowTitle"]=="undefined","Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)");assert(typeof Module["TOTAL_MEMORY"]=="undefined","Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");legacyModuleProp("asm","wasmExports");legacyModuleProp("readAsync","readAsync");legacyModuleProp("readBinary","readBinary");legacyModuleProp("setWindowTitle","setWindowTitle");assert(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER||ENVIRONMENT_IS_NODE,"Pthreads do not work in this environment yet (need Web Workers, or an alternative to them)");assert(!ENVIRONMENT_IS_SHELL,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.");var workerID=0;if(ENVIRONMENT_IS_PTHREAD){var wasmPromiseResolve;var wasmPromiseReject;if(ENVIRONMENT_IS_NODE){var parentPort=worker_threads["parentPort"];parentPort.on("message",data=>onmessage({data:data}));Object.assign(globalThis,{self:global,importScripts:()=>{assert(false,"dummy importScripts called")},postMessage:msg=>parentPort.postMessage(msg),performance:global.performance||{now:Date.now}})}var initializedJS=false;function threadPrintErr(...args){var text=args.join(" ");if(ENVIRONMENT_IS_NODE){fs.writeSync(2,text+"\n");return}console.error(text)}if(!Module["printErr"])err=threadPrintErr;dbg=threadPrintErr;function threadAlert(...args){var text=args.join(" ");postMessage({cmd:"alert",text:text,threadId:_pthread_self()})}self.alert=threadAlert;Module["instantiateWasm"]=(info,receiveInstance)=>new Promise((resolve,reject)=>{wasmPromiseResolve=module=>{var instance=new WebAssembly.Instance(module,getWasmImports());receiveInstance(instance);resolve()};wasmPromiseReject=reject});self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e["data"];var cmd=msgData["cmd"];if(cmd==="load"){workerID=msgData["workerID"];let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{postMessage({cmd:"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};for(const handler of msgData["handlers"]){if(!Module[handler]||Module[handler].proxy){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData["wasmMemory"];updateMemoryViews();wasmPromiseResolve(msgData["wasmModule"])}else if(cmd==="run"){__emscripten_thread_init(msgData["pthread_ptr"],0,0,1,0,0);__emscripten_thread_mailbox_await(msgData["pthread_ptr"]);assert(msgData["pthread_ptr"]);establishStackSpace();PThread.receiveObjectTransfer(msgData);PThread.threadInitTLS();if(!initializedJS){initializedJS=true}try{invokeEntryPoint(msgData["start_routine"],msgData["arg"])}catch(ex){if(ex!="unwind"){throw ex}}}else if(cmd==="cancel"){if(_pthread_self()){__emscripten_thread_exit(-1)}}else if(msgData.target==="setimmediate"){}else if(cmd==="checkMailbox"){if(initializedJS){checkMailbox()}}else if(cmd){err(`worker: received unknown command ${cmd}`);err(msgData)}}catch(ex){err(`worker: onmessage() captured an uncaught exception: ${ex}`);if(ex?.stack)err(ex.stack);__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];legacyModuleProp("wasmBinary","wasmBinary");if(typeof WebAssembly!="object"){err("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort("Assertion failed"+(text?": "+text:""))}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}assert(!Module["STACK_SIZE"],"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");assert(typeof Int32Array!="undefined"&&typeof Float64Array!=="undefined"&&Int32Array.prototype.subarray!=undefined&&Int32Array.prototype.set!=undefined,"JS engine does not provide full typed array support");if(!ENVIRONMENT_IS_PTHREAD){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||268435456;legacyModuleProp("INITIAL_MEMORY","INITIAL_MEMORY");assert(INITIAL_MEMORY>=134217728,"INITIAL_MEMORY should be larger than STACK_SIZE, was "+INITIAL_MEMORY+"! (STACK_SIZE="+134217728+")");wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:INITIAL_MEMORY/65536,shared:true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){err("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and/or recent version)")}throw Error("bad memory")}}updateMemoryViews()}function writeStackCookie(){var max=_emscripten_stack_get_end();assert((max&3)==0);if(max==0){max+=4}HEAPU32[max>>2]=34821223;HEAPU32[max+4>>2]=2310721022;HEAPU32[0>>2]=1668509029}function checkStackCookie(){if(ABORT)return;var max=_emscripten_stack_get_end();if(max==0){max+=4}var cookie1=HEAPU32[max>>2];var cookie2=HEAPU32[max+4>>2];if(cookie1!=34821223||cookie2!=2310721022){abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`)}if(HEAPU32[0>>2]!=1668509029){abort("Runtime error: The application has corrupted its heap memory area (address zero)!")}}(function(){var h16=new Int16Array(1);var h8=new Int8Array(h16.buffer);h16[0]=25459;if(h8[0]!==115||h8[1]!==99)throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"})();var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){assert(!ENVIRONMENT_IS_PTHREAD);if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){assert(!runtimeInitialized);runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;checkStackCookie();if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){checkStackCookie();if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}assert(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");assert(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;var runDependencyTracking={};function getUniqueRunDependency(id){var orig=id;while(1){if(!runDependencyTracking[id])return id;id=orig+Math.random()}}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(!runDependencyTracking[id]);runDependencyTracking[id]=1;if(runDependencyWatcher===null&&typeof setInterval!="undefined"){runDependencyWatcher=setInterval(()=>{if(ABORT){clearInterval(runDependencyWatcher);runDependencyWatcher=null;return}var shown=false;for(var dep in runDependencyTracking){if(!shown){shown=true;err("still waiting on run dependencies:")}err(`dependency: ${dep}`)}if(shown){err("(end of list)")}},1e4)}}else{err("warning: run dependency added without ID")}}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(id){assert(runDependencyTracking[id]);delete runDependencyTracking[id]}else{err("warning: run dependency removed without ID")}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;var e=new WebAssembly.RuntimeError(what);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");function createExportWrapper(name,nargs){return(...args)=>{assert(runtimeInitialized,`native function \`${name}\` called before runtime initialization`);var f=wasmExports[name];assert(f,`exported native function \`${name}\` not found`);assert(args.length<=nargs,`native function \`${name}\` called with ${args.length} args but expects ${nargs}`);return f(...args)}}function findWasmBinary(){var f="libnimbus_lc.wasm";if(!isDataURI(f)){return locateFile(f)}return f}var wasmBinaryFile;function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary){return readAsync(binaryFile).then(response=>new Uint8Array(response),()=>getBinarySync(binaryFile))}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);if(isFileURI(wasmBinaryFile)){err(`warning: Loading from a file URI (${wasmBinaryFile}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`)}abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function getWasmImports(){assignWasmImports();return{env:wasmImports,wasi_snapshot_preview1:wasmImports}}function createWasm(){var info=getWasmImports();function receiveInstance(instance,module){wasmExports=instance.exports;registerTLSInit(wasmExports["_emscripten_tls_init"]);wasmTable=wasmExports["__indirect_function_table"];assert(wasmTable,"table not found in wasm exports");addOnInit(wasmExports["__wasm_call_ctors"]);wasmModule=module;removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");var trueModule=Module;function receiveInstantiationResult(result){assert(Module===trueModule,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?");trueModule=null;receiveInstance(result["instance"],result["module"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}if(!wasmBinaryFile)wasmBinaryFile=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function legacyModuleProp(prop,newName,incoming=true){if(!Object.getOwnPropertyDescriptor(Module,prop)){Object.defineProperty(Module,prop,{configurable:true,get(){let extra=incoming?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";abort(`\`Module.${prop}\` has been replaced by \`${newName}\``+extra)}})}}function ignoredModuleProp(prop){if(Object.getOwnPropertyDescriptor(Module,prop)){abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`)}}function isExportedByForceFilesystem(name){return name==="FS_createPath"||name==="FS_createDataFile"||name==="FS_createPreloadedFile"||name==="FS_unlink"||name==="addRunDependency"||name==="FS_createLazyFile"||name==="FS_createDevice"||name==="removeRunDependency"}function missingGlobal(sym,msg){if(typeof globalThis!="undefined"){Object.defineProperty(globalThis,sym,{configurable:true,get(){warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`);return undefined}})}}missingGlobal("buffer","Please use HEAP8.buffer or wasmMemory.buffer");missingGlobal("asm","Please use wasmExports instead");function missingLibrarySymbol(sym){if(typeof globalThis!="undefined"&&!Object.getOwnPropertyDescriptor(globalThis,sym)){Object.defineProperty(globalThis,sym,{configurable:true,get(){var msg=`\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`;var librarySymbol=sym;if(!librarySymbol.startsWith("_")){librarySymbol="$"+sym}msg+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}warnOnce(msg);return undefined}})}unexportedRuntimeSymbol(sym)}function unexportedRuntimeSymbol(sym){if(ENVIRONMENT_IS_PTHREAD){return}if(!Object.getOwnPropertyDescriptor(Module,sym)){Object.defineProperty(Module,sym,{configurable:true,get(){var msg=`'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;if(isExportedByForceFilesystem(sym)){msg+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"}abort(msg)}})}}function dbg(...args){if(ENVIRONMENT_IS_NODE&&fs){fs.writeSync(2,args.join(" ")+"\n")}else console.warn(...args)}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{var cmd=e["data"]["cmd"];err(`received "${cmd}" command from terminated worker: ${worker.workerID}`)}};var killThread=pthread_ptr=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! killThread() can only ever be called from main application thread!");assert(pthread_ptr,"Internal Error! Null pthread_ptr in killThread!");var worker=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];terminateWorker(worker);__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0};var cancelThread=pthread_ptr=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! cancelThread() can only ever be called from main application thread!");assert(pthread_ptr,"Internal Error! Null pthread_ptr in cancelThread!");var worker=PThread.pthreads[pthread_ptr];worker.postMessage({cmd:"cancel"})};var cleanupThread=pthread_ptr=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! cleanupThread() can only ever be called from main application thread!");assert(pthread_ptr,"Internal Error! Null pthread_ptr in cleanupThread!");var worker=PThread.pthreads[pthread_ptr];assert(worker);PThread.returnWorkerToPool(worker)};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var spawnThread=threadParams=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! spawnThread() can only ever be called from main application thread!");assert(threadParams.pthread_ptr,"Internal error, no pthread ptr!");var worker=PThread.getNewWorker();if(!worker){return 6}assert(!worker.pthread_ptr,"Internal error!");PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={cmd:"run",start_routine:threadParams.startRoutine,arg:threadParams.arg,pthread_ptr:threadParams.pthread_ptr};if(ENVIRONMENT_IS_NODE){worker.unref()}worker.postMessage(msg,threadParams.transferList);return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var convertI32PairToI53Checked=(lo,hi)=>{assert(lo==lo>>>0||lo==(lo|0));assert(hi===(hi|0));return hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN};var proxyToMainThread=(funcIndex,emAsmAddr,sync,...callArgs)=>{var serializedNumCallArgs=callArgs.length;var sp=stackSave();var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}checkStackCookie();if(e instanceof WebAssembly.RuntimeError){if(_emscripten_stack_get_current()<=0){err("Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 134217728)")}}quit_(1,e)};function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,returnCode);_exit(returnCode)}var exitJS=(status,implicit)=>{EXITSTATUS=status;checkUnflushedContent();if(ENVIRONMENT_IS_PTHREAD){assert(!implicit);exitOnMainThread(status);throw"unwind"}if(keepRuntimeAlive()&&!implicit){var msg=`program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`;err(msg)}_proc_exit(status)};var _exit=exitJS;var ptrToString=ptr=>{assert(typeof ptr==="number");ptr>>>=0;return"0x"+ptr.toString(16).padStart(8,"0")};var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},nextWorkerID:1,debugInit(){function pthreadLogPrefix(){var t=0;if(runtimeInitialized&&typeof _pthread_self!="undefined"){t=_pthread_self()}return"w:"+workerID+",t:"+ptrToString(t)+": "}var origDbg=dbg;dbg=(...args)=>origDbg(pthreadLogPrefix()+args.join(" "))},init(){PThread.debugInit();if(ENVIRONMENT_IS_PTHREAD){PThread.initWorker()}else{PThread.initMainThread()}},initMainThread(){addOnPreRun(()=>{addRunDependency("loading-workers");PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))})},initWorker(){noExitRuntime=false},setExitStatus:status=>EXITSTATUS=status,terminateAllThreads__deps:["$terminateWorker"],terminateAllThreads:()=>{assert(!ENVIRONMENT_IS_PTHREAD,"Internal Error! terminateAllThreads() can only ever be called from main application thread!");for(var worker of PThread.runningWorkers){terminateWorker(worker)}for(var worker of PThread.unusedWorkers){terminateWorker(worker)}PThread.unusedWorkers=[];PThread.runningWorkers=[];PThread.pthreads=[]},returnWorkerToPool:worker=>{var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;__emscripten_thread_free_data(pthread_ptr)},receiveObjectTransfer(data){},threadInitTLS(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:worker=>new Promise(onFinishedLoading=>{worker.onmessage=e=>{var d=e["data"];var cmd=d["cmd"];if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var targetWorker=PThread.pthreads[d["targetThread"]];if(targetWorker){targetWorker.postMessage(d,d["transferList"])}else{err(`Internal error! Worker sent a message "${cmd}" to target pthread ${d["targetThread"]}, but that thread no longer exists!`)}return}if(cmd==="checkMailbox"){checkMailbox()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;onFinishedLoading(worker)}else if(cmd==="alert"){alert(`Thread ${d["threadId"]}: ${d["text"]}`)}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d["handler"]](...d["args"])}else if(cmd){err(`worker sent an unknown command ${cmd}`)}};worker.onerror=e=>{var message="worker sent an error!";if(worker.pthread_ptr){message=`Pthread ${ptrToString(worker.pthread_ptr)} sent an error!`}err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};if(ENVIRONMENT_IS_NODE){worker.on("message",data=>worker.onmessage({data:data}));worker.on("error",e=>worker.onerror(e))}assert(wasmMemory instanceof WebAssembly.Memory,"WebAssembly memory should have been loaded by now!");assert(wasmModule instanceof WebAssembly.Module,"WebAssembly Module should have been loaded by now!");var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.workerID=PThread.nextWorkerID++;worker.postMessage({cmd:"load",handlers:handlers,wasmMemory:wasmMemory,wasmModule:wasmModule,workerID:worker.workerID})}),loadWasmModuleToAllWorkers(onMaybeReady){onMaybeReady()},allocateUnusedWorker(){var worker;var workerOptions={workerData:"em-pthread",name:"em-pthread"};var pthreadMainJs=_scriptName;if(Module["mainScriptUrlOrBlob"]){pthreadMainJs=Module["mainScriptUrlOrBlob"];if(typeof pthreadMainJs!="string"){pthreadMainJs=URL.createObjectURL(pthreadMainJs)}}worker=new Worker(pthreadMainJs,workerOptions);PThread.unusedWorkers.push(worker)},getNewWorker(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var establishStackSpace=()=>{var pthread_ptr=_pthread_self();var stackHigh=HEAPU32[pthread_ptr+52>>2];var stackSize=HEAPU32[pthread_ptr+56>>2];var stackLow=stackHigh-stackSize;assert(stackHigh!=0);assert(stackLow!=0);assert(stackHigh>stackLow,"stackHigh must be higher then stackLow");_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh);writeStackCookie()};var wasmTable;var getWasmTableEntry=funcPtr=>wasmTable.get(funcPtr);var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;var result=getWasmTableEntry(ptr)(arg);checkStackCookie();function finish(result){if(keepRuntimeAlive()){PThread.setExitStatus(result)}else{__emscripten_thread_exit(result)}}finish(result)};var noExitRuntime=Module["noExitRuntime"]||true;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}};var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof SharedArrayBuffer?heapOrArray.slice(idx,endPtr):heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{assert(typeof ptr=="number",`UTF8ToString expects a number (got ${typeof ptr})`);return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""};var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};function syscallGetVarargI(){assert(SYSCALLS.varargs!=undefined);var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret}var syscallGetVarargP=syscallGetVarargI;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>(view.set(crypto.getRandomValues(new Uint8Array(view.byteLength))),view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{assert(typeof str==="string",`stringToUTF8Array expects a string (got ${typeof str})`);if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;if(u>1114111)warnOnce("Invalid Unicode code point "+ptrToString(u)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf,0,BUFSIZE)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){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(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var alignMemory=(size,alignment)=>{assert(alignment,"alignment argument is required");return Math.ceil(size/alignment)*alignment};var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}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 node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);assert(size>=0);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url).then(arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},err=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,processData,onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var strError=errno=>UTF8ToString(_strerror(errno));var 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};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class extends Error{constructor(errno){super(runtimeInitialized?strError(errno):"");this.name="ErrnoError";this.errno=errno;for(var key in ERRNO_CODES){if(ERRNO_CODES[key]===errno){this.code=key;break}}}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(val){this.node=val}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(val){this.shared.flags=val}get position(){return this.shared.position}set position(val){this.shared.position=val}},FSNode:class{constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev;this.readMode=292|73;this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(val){val?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(val){val?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return FS.isDir(this.mode)}get isDevice(){return FS.isChrdev(this.mode)}},lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){assert(typeof parent=="object");var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){if(!FS.isDir(dir.mode))return 54;var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){assert(fd>=-1);stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},dupStream(origStream,fd=-1){var stream=FS.createStream(origStream,fd);stream.stream_ops?.dup?.(stream);return stream},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push(...m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){assert(FS.syncFSRequests>0);FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){if(typeof type=="string"){throw type}var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);assert(idx!==-1);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write(stream,buffer,offset,length,position,canOwn){assert(offset>=0);if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate(stream,offset,length){if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap(stream,length,position,prot,flags){if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync(stream,buffer,offset,length,mmapFlags){assert(offset>=0);if(!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.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:(stream,buffer,offset,length,pos)=>length});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 randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1);assert(stdin.fd===0,`invalid handle for stdin (${stdin.fd})`);assert(stdout.fd===1,`invalid handle for stdout (${stdout.fd})`);assert(stderr.fd===2,`invalid handle for stderr (${stderr.fd})`)},staticInit(){[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""});FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS:MEMFS}},init(input,output,error){assert(!FS.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");FS.init.initialized=true;Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;_fflush(0);for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]}setDataGetter(getter){this.getter=getter}cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true}get length(){if(!this.lengthKnown){this.cacheLength()}return this._length}get chunkSize(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=(...args)=>{FS.forceLoadFile(node);return fn(...args)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);assert(size>=0);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},absolutePath(){abort("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){abort("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){abort("FS.createLink has been removed; use FS.symlink instead")},joinPath(){abort("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){abort("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){abort("FS.standardizePath has been removed; use PATH.normalize instead")}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){var stat=func(path);HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream},varargs:undefined,getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,fd,cmd,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=syscallGetVarargI();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.dupStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=syscallGetVarargI();stream.flags|=arg;return 0}case 12:{var arg=syscallGetVarargP();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0}return-28}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,fd,buf);try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=syscallGetVarargP();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=syscallGetVarargP();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=syscallGetVarargP();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=syscallGetVarargP();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,0,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(6,0,1,dirfd,path,buf,flags);try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;assert(!flags,`unknown flags in __syscall_newfstatat: ${flags}`);path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(7,0,1,dirfd,path,flags,varargs);SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?syscallGetVarargI():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(8,0,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>{abort("native code called abort()")};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_init_main_thread_js=tb=>{__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB,134217728,false);PThread.threadInitTLS()};var maybeExit=()=>{if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD)__emscripten_thread_exit(EXITSTATUS);else _exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){err("user callback triggered after runtime exited or application aborted. Ignoring.");return}try{func();maybeExit()}catch(e){handleException(e)}};var __emscripten_thread_mailbox_await=pthread_ptr=>{if(typeof Atomics.waitAsync==="function"){var wait=Atomics.waitAsync(HEAP32,pthread_ptr>>2,pthread_ptr);assert(wait.async);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+128;Atomics.store(HEAP32,waitingAsync>>2,1)}};var checkMailbox=()=>{var pthread_ptr=_pthread_self();if(pthread_ptr){__emscripten_thread_mailbox_await(pthread_ptr);callUserCallback(__emscripten_check_mailbox)}};var __emscripten_notify_mailbox_postmessage=(targetThreadId,currThreadId,mainThreadId)=>{if(targetThreadId==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread:targetThreadId,cmd:"checkMailbox"})}else{var worker=PThread.pthreads[targetThreadId];if(!worker){err(`Cannot send message to thread with ID ${targetThreadId}, unknown thread ID!`);return}worker.postMessage({cmd:"checkMailbox"})}};var proxiedJSCallArgs=[];var __emscripten_receive_on_main_thread_js=(funcIndex,emAsmAddr,callingThread,numCallArgs,args)=>{proxiedJSCallArgs.length=numCallArgs;var b=args>>3;for(var i=0;i{if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({cmd:"cleanupThread",thread:thread})};var __emscripten_thread_set_strongref=thread=>{if(ENVIRONMENT_IS_NODE){PThread.pthreads[thread].ref()}};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(9,0,1,len,prot,flags,fd,offset_low,offset_high,allocated,addr);var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(10,0,1,addr,len,prot,flags,fd,offset_low,offset_high);var offset=convertI32PairToI53Checked(offset_low,offset_high);try{var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>{assert(typeof maxBytesToWrite=="number","stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)};var __tzset_js=(timezone,daylight,std_name,dst_name)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);assert(winterName);assert(summerName);assert(lengthBytesUTF8(winterName)<=16,`timezone name truncated to fit in TZNAME_MAX (${winterName})`);assert(lengthBytesUTF8(summerName)<=16,`timezone name truncated to fit in TZNAME_MAX (${summerName})`);if(summerOffset{if(ENVIRONMENT_IS_NODE)return;if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")};var _emscripten_date_now=()=>Date.now();var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var getHeapMax=()=>HEAPU8.length;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.timeOrigin+performance.now();var _emscripten_num_logical_cores=()=>ENVIRONMENT_IS_NODE?require("os").cpus().length:navigator["hardwareConcurrency"];var abortOnCannotGrowMemory=requestedSize=>{abort(`Cannot enlarge memory arrays to size ${requestedSize} bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value ${HEAP8.length}, (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0`)};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;abortOnCannotGrowMemory(requestedSize)};function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(11,0,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(13,0,1,fd,offset_low,offset_high,whence,newOffset);var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(14,0,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};PThread.init();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();var proxiedFunctionTable=[_proc_exit,exitOnMainThread,___syscall_fcntl64,___syscall_fstat64,___syscall_ioctl,___syscall_lstat64,___syscall_newfstatat,___syscall_openat,___syscall_stat64,__mmap_js,__munmap_js,_fd_close,_fd_read,_fd_seek,_fd_write];function checkIncomingModuleAPI(){ignoredModuleProp("fetchSettings")}var wasmImports;function assignWasmImports(){wasmImports={__assert_fail:___assert_fail,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_stat64:___syscall_stat64,_abort_js:__abort_js,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_init_main_thread_js:__emscripten_init_main_thread_js,_emscripten_notify_mailbox_postmessage:__emscripten_notify_mailbox_postmessage,_emscripten_receive_on_main_thread_js:__emscripten_receive_on_main_thread_js,_emscripten_thread_cleanup:__emscripten_thread_cleanup,_emscripten_thread_mailbox_await:__emscripten_thread_mailbox_await,_emscripten_thread_set_strongref:__emscripten_thread_set_strongref,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,emscripten_check_blocking_allowed:_emscripten_check_blocking_allowed,emscripten_date_now:_emscripten_date_now,emscripten_exit_with_live_runtime:_emscripten_exit_with_live_runtime,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_num_logical_cores:_emscripten_num_logical_cores,emscripten_resize_heap:_emscripten_resize_heap,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_write:_fd_write,memory:wasmMemory}}var wasmExports=createWasm();var ___wasm_call_ctors=createExportWrapper("__wasm_call_ctors",0);var _malloc=Module["_malloc"]=createExportWrapper("malloc",1);var _free=Module["_free"]=createExportWrapper("free",1);var _strerror=createExportWrapper("strerror",1);var _fflush=createExportWrapper("fflush",1);var _ETHRandomNumberCreate=Module["_ETHRandomNumberCreate"]=createExportWrapper("ETHRandomNumberCreate",0);var _ETHConsensusConfigCreateFromYaml=Module["_ETHConsensusConfigCreateFromYaml"]=createExportWrapper("ETHConsensusConfigCreateFromYaml",1);var _ETHConsensusConfigGetConsensusVersionAtEpoch=Module["_ETHConsensusConfigGetConsensusVersionAtEpoch"]=createExportWrapper("ETHConsensusConfigGetConsensusVersionAtEpoch",2);var _ETHBeaconStateCreateFromSsz=Module["_ETHBeaconStateCreateFromSsz"]=createExportWrapper("ETHBeaconStateCreateFromSsz",4);var _ETHBeaconStateDestroy=Module["_ETHBeaconStateDestroy"]=createExportWrapper("ETHBeaconStateDestroy",1);var _ETHBeaconStateCopyGenesisValidatorsRoot=Module["_ETHBeaconStateCopyGenesisValidatorsRoot"]=createExportWrapper("ETHBeaconStateCopyGenesisValidatorsRoot",1);var _ETHRootDestroy=Module["_ETHRootDestroy"]=createExportWrapper("ETHRootDestroy",1);var _ETHForkDigestsCreateFromState=Module["_ETHForkDigestsCreateFromState"]=createExportWrapper("ETHForkDigestsCreateFromState",2);var _ETHBeaconClockCreateFromState=Module["_ETHBeaconClockCreateFromState"]=createExportWrapper("ETHBeaconClockCreateFromState",2);var _ETHBeaconClockGetSlot=Module["_ETHBeaconClockGetSlot"]=createExportWrapper("ETHBeaconClockGetSlot",1);var _ETHLightClientStoreCreateFromBootstrap=Module["_ETHLightClientStoreCreateFromBootstrap"]=createExportWrapper("ETHLightClientStoreCreateFromBootstrap",6);var _ETHLightClientStoreDestroy=Module["_ETHLightClientStoreDestroy"]=createExportWrapper("ETHLightClientStoreDestroy",1);var _ETHLightClientStoreGetNextSyncTask=Module["_ETHLightClientStoreGetNextSyncTask"]=createExportWrapper("ETHLightClientStoreGetNextSyncTask",4);var _ETHLightClientStoreGetMillisecondsToNextSyncTask=Module["_ETHLightClientStoreGetMillisecondsToNextSyncTask"]=createExportWrapper("ETHLightClientStoreGetMillisecondsToNextSyncTask",4);var _ETHLightClientStoreProcessUpdatesByRange=Module["_ETHLightClientStoreProcessUpdatesByRange"]=createExportWrapper("ETHLightClientStoreProcessUpdatesByRange",10);var _ETHLightClientStoreProcessFinalityUpdate=Module["_ETHLightClientStoreProcessFinalityUpdate"]=createExportWrapper("ETHLightClientStoreProcessFinalityUpdate",9);var _ETHLightClientStoreProcessOptimisticUpdate=Module["_ETHLightClientStoreProcessOptimisticUpdate"]=createExportWrapper("ETHLightClientStoreProcessOptimisticUpdate",9);var _ETHLightClientStoreGetFinalizedHeader=Module["_ETHLightClientStoreGetFinalizedHeader"]=createExportWrapper("ETHLightClientStoreGetFinalizedHeader",1);var _ETHLightClientStoreIsNextSyncCommitteeKnown=Module["_ETHLightClientStoreIsNextSyncCommitteeKnown"]=createExportWrapper("ETHLightClientStoreIsNextSyncCommitteeKnown",1);var _ETHLightClientStoreGetOptimisticHeader=Module["_ETHLightClientStoreGetOptimisticHeader"]=createExportWrapper("ETHLightClientStoreGetOptimisticHeader",1);var _ETHLightClientStoreGetSafetyThreshold=Module["_ETHLightClientStoreGetSafetyThreshold"]=createExportWrapper("ETHLightClientStoreGetSafetyThreshold",1);var _ETHLightClientHeaderCreateCopy=Module["_ETHLightClientHeaderCreateCopy"]=createExportWrapper("ETHLightClientHeaderCreateCopy",1);var _ETHLightClientHeaderDestroy=Module["_ETHLightClientHeaderDestroy"]=createExportWrapper("ETHLightClientHeaderDestroy",1);var _ETHLightClientHeaderCopyBeaconRoot=Module["_ETHLightClientHeaderCopyBeaconRoot"]=createExportWrapper("ETHLightClientHeaderCopyBeaconRoot",2);var _ETHLightClientHeaderGetBeacon=Module["_ETHLightClientHeaderGetBeacon"]=createExportWrapper("ETHLightClientHeaderGetBeacon",1);var _ETHBeaconBlockHeaderGetSlot=Module["_ETHBeaconBlockHeaderGetSlot"]=createExportWrapper("ETHBeaconBlockHeaderGetSlot",1);var _ETHBeaconBlockHeaderGetProposerIndex=Module["_ETHBeaconBlockHeaderGetProposerIndex"]=createExportWrapper("ETHBeaconBlockHeaderGetProposerIndex",1);var _ETHBeaconBlockHeaderGetParentRoot=Module["_ETHBeaconBlockHeaderGetParentRoot"]=createExportWrapper("ETHBeaconBlockHeaderGetParentRoot",1);var _ETHBeaconBlockHeaderGetStateRoot=Module["_ETHBeaconBlockHeaderGetStateRoot"]=createExportWrapper("ETHBeaconBlockHeaderGetStateRoot",1);var _ETHBeaconBlockHeaderGetBodyRoot=Module["_ETHBeaconBlockHeaderGetBodyRoot"]=createExportWrapper("ETHBeaconBlockHeaderGetBodyRoot",1);var _ETHLightClientHeaderCopyExecutionHash=Module["_ETHLightClientHeaderCopyExecutionHash"]=createExportWrapper("ETHLightClientHeaderCopyExecutionHash",2);var _ETHLightClientHeaderGetExecution=Module["_ETHLightClientHeaderGetExecution"]=createExportWrapper("ETHLightClientHeaderGetExecution",1);var _ETHExecutionPayloadHeaderGetParentHash=Module["_ETHExecutionPayloadHeaderGetParentHash"]=createExportWrapper("ETHExecutionPayloadHeaderGetParentHash",1);var _ETHExecutionPayloadHeaderGetFeeRecipient=Module["_ETHExecutionPayloadHeaderGetFeeRecipient"]=createExportWrapper("ETHExecutionPayloadHeaderGetFeeRecipient",1);var _ETHExecutionPayloadHeaderGetStateRoot=Module["_ETHExecutionPayloadHeaderGetStateRoot"]=createExportWrapper("ETHExecutionPayloadHeaderGetStateRoot",1);var _ETHExecutionPayloadHeaderGetReceiptsRoot=Module["_ETHExecutionPayloadHeaderGetReceiptsRoot"]=createExportWrapper("ETHExecutionPayloadHeaderGetReceiptsRoot",1);var _ETHExecutionPayloadHeaderGetLogsBloom=Module["_ETHExecutionPayloadHeaderGetLogsBloom"]=createExportWrapper("ETHExecutionPayloadHeaderGetLogsBloom",1);var _ETHExecutionPayloadHeaderGetPrevRandao=Module["_ETHExecutionPayloadHeaderGetPrevRandao"]=createExportWrapper("ETHExecutionPayloadHeaderGetPrevRandao",1);var _ETHExecutionPayloadHeaderGetBlockNumber=Module["_ETHExecutionPayloadHeaderGetBlockNumber"]=createExportWrapper("ETHExecutionPayloadHeaderGetBlockNumber",1);var _ETHExecutionPayloadHeaderGetGasLimit=Module["_ETHExecutionPayloadHeaderGetGasLimit"]=createExportWrapper("ETHExecutionPayloadHeaderGetGasLimit",1);var _ETHExecutionPayloadHeaderGetGasUsed=Module["_ETHExecutionPayloadHeaderGetGasUsed"]=createExportWrapper("ETHExecutionPayloadHeaderGetGasUsed",1);var _ETHExecutionPayloadHeaderGetTimestamp=Module["_ETHExecutionPayloadHeaderGetTimestamp"]=createExportWrapper("ETHExecutionPayloadHeaderGetTimestamp",1);var _ETHExecutionPayloadHeaderGetExtraDataBytes=Module["_ETHExecutionPayloadHeaderGetExtraDataBytes"]=createExportWrapper("ETHExecutionPayloadHeaderGetExtraDataBytes",2);var _ETHExecutionPayloadHeaderGetBaseFeePerGas=Module["_ETHExecutionPayloadHeaderGetBaseFeePerGas"]=createExportWrapper("ETHExecutionPayloadHeaderGetBaseFeePerGas",1);var _ETHExecutionPayloadHeaderGetBlobGasUsed=Module["_ETHExecutionPayloadHeaderGetBlobGasUsed"]=createExportWrapper("ETHExecutionPayloadHeaderGetBlobGasUsed",1);var _ETHExecutionPayloadHeaderGetExcessBlobGas=Module["_ETHExecutionPayloadHeaderGetExcessBlobGas"]=createExportWrapper("ETHExecutionPayloadHeaderGetExcessBlobGas",1);var _ETHExecutionBlockHeaderCreateFromJson=Module["_ETHExecutionBlockHeaderCreateFromJson"]=createExportWrapper("ETHExecutionBlockHeaderCreateFromJson",2);var _ETHExecutionBlockHeaderDestroy=Module["_ETHExecutionBlockHeaderDestroy"]=createExportWrapper("ETHExecutionBlockHeaderDestroy",1);var _ETHExecutionBlockHeaderGetTransactionsRoot=Module["_ETHExecutionBlockHeaderGetTransactionsRoot"]=createExportWrapper("ETHExecutionBlockHeaderGetTransactionsRoot",1);var _ETHExecutionBlockHeaderGetWithdrawalsRoot=Module["_ETHExecutionBlockHeaderGetWithdrawalsRoot"]=createExportWrapper("ETHExecutionBlockHeaderGetWithdrawalsRoot",1);var _ETHTransactionsCreateFromJson=Module["_ETHTransactionsCreateFromJson"]=createExportWrapper("ETHTransactionsCreateFromJson",2);var _ETHTransactionsDestroy=Module["_ETHTransactionsDestroy"]=createExportWrapper("ETHTransactionsDestroy",1);var _ETHTransactionsGetCount=Module["_ETHTransactionsGetCount"]=createExportWrapper("ETHTransactionsGetCount",1);var _ETHTransactionsGet=Module["_ETHTransactionsGet"]=createExportWrapper("ETHTransactionsGet",2);var _ETHTransactionGetHash=Module["_ETHTransactionGetHash"]=createExportWrapper("ETHTransactionGetHash",1);var _ETHTransactionGetFrom=Module["_ETHTransactionGetFrom"]=createExportWrapper("ETHTransactionGetFrom",1);var _ETHTransactionGetNonce=Module["_ETHTransactionGetNonce"]=createExportWrapper("ETHTransactionGetNonce",1);var _ETHTransactionGetMaxPriorityFeePerGas=Module["_ETHTransactionGetMaxPriorityFeePerGas"]=createExportWrapper("ETHTransactionGetMaxPriorityFeePerGas",1);var _ETHTransactionGetMaxFeePerGas=Module["_ETHTransactionGetMaxFeePerGas"]=createExportWrapper("ETHTransactionGetMaxFeePerGas",1);var _ETHTransactionGetGas=Module["_ETHTransactionGetGas"]=createExportWrapper("ETHTransactionGetGas",1);var _ETHTransactionIsCreatingContract=Module["_ETHTransactionIsCreatingContract"]=createExportWrapper("ETHTransactionIsCreatingContract",1);var _ETHTransactionGetTo=Module["_ETHTransactionGetTo"]=createExportWrapper("ETHTransactionGetTo",1);var _ETHTransactionGetValue=Module["_ETHTransactionGetValue"]=createExportWrapper("ETHTransactionGetValue",1);var _ETHTransactionGetInputBytes=Module["_ETHTransactionGetInputBytes"]=createExportWrapper("ETHTransactionGetInputBytes",2);var _ETHTransactionGetBytes=Module["_ETHTransactionGetBytes"]=createExportWrapper("ETHTransactionGetBytes",2);var _ETHTransactionGetEip6493Root=Module["_ETHTransactionGetEip6493Root"]=createExportWrapper("ETHTransactionGetEip6493Root",1);var _ETHTransactionGetEip6493Bytes=Module["_ETHTransactionGetEip6493Bytes"]=createExportWrapper("ETHTransactionGetEip6493Bytes",2);var _ETHTransactionGetNumEip6493SnappyBytes=Module["_ETHTransactionGetNumEip6493SnappyBytes"]=createExportWrapper("ETHTransactionGetNumEip6493SnappyBytes",1);var _ETHReceiptsCreateFromJson=Module["_ETHReceiptsCreateFromJson"]=createExportWrapper("ETHReceiptsCreateFromJson",3);var _ETHReceiptsDestroy=Module["_ETHReceiptsDestroy"]=createExportWrapper("ETHReceiptsDestroy",1);var _ETHReceiptsGet=Module["_ETHReceiptsGet"]=createExportWrapper("ETHReceiptsGet",2);var _ETHReceiptHasStatus=Module["_ETHReceiptHasStatus"]=createExportWrapper("ETHReceiptHasStatus",1);var _ETHReceiptGetBytes=Module["_ETHReceiptGetBytes"]=createExportWrapper("ETHReceiptGetBytes",2);var _ETHReceiptGetEip6493Bytes=Module["_ETHReceiptGetEip6493Bytes"]=createExportWrapper("ETHReceiptGetEip6493Bytes",2);var _ETHReceiptGetNumEip6493SnappyBytes=Module["_ETHReceiptGetNumEip6493SnappyBytes"]=createExportWrapper("ETHReceiptGetNumEip6493SnappyBytes",1);var _NimMain=Module["_NimMain"]=createExportWrapper("NimMain",0);var __emscripten_tls_init=createExportWrapper("_emscripten_tls_init",0);var _pthread_self=()=>(_pthread_self=wasmExports["pthread_self"])();var _emscripten_builtin_memalign=createExportWrapper("emscripten_builtin_memalign",2);var __emscripten_thread_init=createExportWrapper("_emscripten_thread_init",6);var __emscripten_thread_crashed=createExportWrapper("_emscripten_thread_crashed",0);var _emscripten_main_thread_process_queued_calls=createExportWrapper("emscripten_main_thread_process_queued_calls",0);var _emscripten_main_runtime_thread_id=createExportWrapper("emscripten_main_runtime_thread_id",0);var _emscripten_stack_get_base=()=>(_emscripten_stack_get_base=wasmExports["emscripten_stack_get_base"])();var _emscripten_stack_get_end=()=>(_emscripten_stack_get_end=wasmExports["emscripten_stack_get_end"])();var __emscripten_run_on_main_thread_js=createExportWrapper("_emscripten_run_on_main_thread_js",5);var __emscripten_thread_free_data=createExportWrapper("_emscripten_thread_free_data",1);var __emscripten_thread_exit=createExportWrapper("_emscripten_thread_exit",1);var __emscripten_check_mailbox=createExportWrapper("_emscripten_check_mailbox",0);var __emscripten_tempret_set=createExportWrapper("_emscripten_tempret_set",1);var _emscripten_stack_init=()=>(_emscripten_stack_init=wasmExports["emscripten_stack_init"])();var _emscripten_stack_set_limits=(a0,a1)=>(_emscripten_stack_set_limits=wasmExports["emscripten_stack_set_limits"])(a0,a1);var _emscripten_stack_get_free=()=>(_emscripten_stack_get_free=wasmExports["emscripten_stack_get_free"])();var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["_emscripten_stack_restore"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["_emscripten_stack_alloc"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["emscripten_stack_get_current"])();var dynCall_jii=Module["dynCall_jii"]=createExportWrapper("dynCall_jii",3);var dynCall_viij=Module["dynCall_viij"]=createExportWrapper("dynCall_viij",5);var dynCall_jiji=Module["dynCall_jiji"]=createExportWrapper("dynCall_jiji",5);var _kETHLcSyncKind_UpdatesByRange=Module["_kETHLcSyncKind_UpdatesByRange"]=1170268;var _kETHLcSyncKind_FinalityUpdate=Module["_kETHLcSyncKind_FinalityUpdate"]=1170272;var _kETHLcSyncKind_OptimisticUpdate=Module["_kETHLcSyncKind_OptimisticUpdate"]=1170276;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["stringToNewUTF8"]=stringToNewUTF8;var missingLibrarySymbols=["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","convertI32PairToI53","convertU32PairToI53","getTempRet0","setTempRet0","growMemory","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","emscriptenLog","readEmAsmArgs","jstoi_q","getExecutableName","listenOnce","autoResumeAudioContext","dynCallLegacy","getDynCaller","dynCall","setWasmTableEntry","runtimeKeepalivePop","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","stringToAscii","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToUTF8OnStack","writeArrayToMemory","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSizeCallingThread","setCanvasElementSizeMainThread","setCanvasElementSize","getCanvasSizeCallingThread","getCanvasSizeMainThread","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","getEnvStrings","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","emscripten_webgl_destroy_context_before_on_calling_thread","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace"];missingLibrarySymbols.forEach(missingLibrarySymbol);var unexportedSymbols=["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","out","err","callMain","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","convertI32PairToI53Checked","stackSave","stackRestore","stackAlloc","ptrToString","zeroMemory","exitJS","getHeapMax","abortOnCannotGrowMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","strError","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","readEmAsmArgsArray","jstoi_s","getWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","callUserCallback","maybeExit","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","intArrayFromString","UTF16Decoder","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","doReadv","doWritev","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS_createPath","FS_createDevice","FS_readFile","FS","FS_createDataFile","FS_createLazyFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","print","printErr","PThread","terminateWorker","killThread","cleanupThread","registerTLSInit","cancelThread","spawnThread","exitOnMainThread","proxyToMainThread","proxiedJSCallArgs","invokeEntryPoint","checkMailbox"];unexportedSymbols.forEach(unexportedRuntimeSymbol);var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function stackCheckInit(){assert(!ENVIRONMENT_IS_PTHREAD);_emscripten_stack_init();writeStackCookie()}function run(){if(runDependencies>0){return}if(!ENVIRONMENT_IS_PTHREAD)stackCheckInit();if(ENVIRONMENT_IS_PTHREAD){initRuntime();startWorker(Module);return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();Module["onRuntimeInitialized"]?.();assert(!Module["_main"],'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}checkStackCookie()}function checkUnflushedContent(){var oldOut=out;var oldErr=err;var has=false;out=err=x=>{has=true};try{_fflush(0);["stdout","stderr"].forEach(function(name){var info=FS.analyzePath("/dev/"+name);if(!info)return;var stream=info.object;var rdev=stream.rdev;var tty=TTY.ttys[rdev];if(tty?.output?.length){has=true}})}catch(e){}out=oldOut;err=oldErr;if(has){warnOnce("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc.")}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); diff --git a/libnimbus_lc.wasm b/libnimbus_lc.wasm index 2ca59c0b8cbce3c9cc416501366f3fa5ba1b54f1..8604a7a794d71809cd0e679c7910a23729aeefa0 100755 GIT binary patch delta 48028 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
RGtwo^Q_ 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 EACHJ{@Bjb+