From d9741c4c8dfd4a94175272c96ac9df0c7dcd4dfb Mon Sep 17 00:00:00 2001 From: Ingvar Stepanyan Date: Thu, 5 Dec 2024 16:50:07 +0000 Subject: [PATCH] Rebuild --- build/libapi.mjs | 2 +- build/libapi.wasm | Bin 1671007 -> 1671929 bytes build/libapi.worker.js | 1 - 3 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 build/libapi.worker.js diff --git a/build/libapi.mjs b/build/libapi.mjs index f1c6b23..50dd357 100644 --- a/build/libapi.mjs +++ b/build/libapi.mjs @@ -6,7 +6,7 @@ var Module = (() => { function(moduleArg = {}) { var moduleRtn; -function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF64}var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&self.name?.startsWith("em-pthread");var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;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(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{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=>fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(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)}if(ENVIRONMENT_IS_PTHREAD){var wasmModuleReceived;var initializedJS=false;function threadPrintErr(...args){var text=args.join(" ");console.error(text)}if(!Module["printErr"])err=threadPrintErr;function threadAlert(...args){var text=args.join(" ");postMessage({cmd:"alert",text,threadId:_pthread_self()})}self.alert=threadAlert;self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e["data"];var cmd=msgData.cmd;if(cmd==="load"){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,args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData.wasmMemory;updateMemoryViews();wasmModuleReceived(msgData.wasmModule)}else if(cmd==="run"){establishStackSpace(msgData.pthread_ptr);__emscripten_thread_init(msgData.pthread_ptr,0,0,1,0,0);PThread.receiveObjectTransfer(msgData);PThread.threadInitTLS();__emscripten_thread_mailbox_await(msgData.pthread_ptr);if(!initializedJS){__embind_initialize_bindings();initializedJS=true}try{invokeEntryPoint(msgData.start_routine,msgData.arg)}catch(ex){if(ex!="unwind"){throw ex}}}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){__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}if(!ENVIRONMENT_IS_PTHREAD){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768,shared:true})}updateMemoryViews()}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function postRun(){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)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);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;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="libapi.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("libapi.wasm",import.meta.url).href}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}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&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{a:wasmImports}}function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);registerTLSInit(wasmExports["eb"]);wasmTable=wasmExports["fb"];addOnInit(wasmExports["Za"]);wasmModule=module;removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(ENVIRONMENT_IS_PTHREAD){return new Promise(resolve=>{wasmModuleReceived=module=>{var instance=new WebAssembly.Instance(module,getWasmImports());receiveInstance(instance,module);resolve()}})}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function __asyncjs__em_libusb_wait_async(ptr,expected_value,timeout){return Asyncify.handleAsync(async()=>{await Atomics.waitAsync(GROWABLE_HEAP_I32(),ptr>>2,expected_value,timeout).value})}function usbi_em_promise_catch(handle){let promise=Emval.toValue(handle);promise=promise.then(value=>({error:0,value}),error=>{console.error(error);let errorCode=-99;if(error instanceof DOMException){const ERROR_CODES={NetworkError:-1,DataError:-2,TypeMismatchError:-2,IndexSizeError:-2,SecurityError:-3,NotFoundError:-5,InvalidStateError:-6,TimeoutError:-7,AbortError:-10,NotSupportedError:-12};errorCode=ERROR_CODES[error.name]??errorCode}else if(error instanceof RangeError||error instanceof TypeError){errorCode=-2}return{error:errorCode,value:undefined}});return Emval.toHandle(promise)}function usbi_em_copy_from_dataview(dst,src){src=Emval.toValue(src);src=new Uint8Array(src.buffer,src.byteOffset,src.byteLength);GROWABLE_HEAP_U8().set(src,dst)}function usbi_em_device_safe_open_close(device,open){device=Emval.toValue(device);const symbol=Symbol.for("libusb.open_close_chain");let promiseChain=device[symbol]??Promise.resolve(0);device[symbol]=promiseChain=promiseChain.then(async refCount=>{if(open){if(!refCount++){await device.open()}}else{if(!--refCount){await device.close()}}return refCount});return Emval.toHandle(promiseChain)}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{}};var cleanupThread=pthread_ptr=>{var worker=PThread.pthreads[pthread_ptr];PThread.returnWorkerToPool(worker)};var spawnThread=threadParams=>{var worker=PThread.getNewWorker();if(!worker){return 6}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};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)=>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}quit_(1,e)};function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,returnCode);_exit(returnCode)}var exitJS=(status,implicit)=>{EXITSTATUS=status;if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}_proc_exit(status)};var _exit=exitJS;var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){if(!ENVIRONMENT_IS_PTHREAD){PThread.initMainThread()}},initMainThread(){addOnPreRun(()=>{addRunDependency("loading-workers");PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))})},terminateAllThreads:()=>{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==="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!";err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.postMessage({cmd:"load",handlers,wasmMemory,wasmModule})}),loadWasmModuleToAllWorkers(onMaybeReady){onMaybeReady()},allocateUnusedWorker(){var worker;var workerOptions={type:"module",name:"em-pthread"};worker=new Worker(new URL("libapi.mjs",import.meta.url),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=pthread_ptr=>{updateMemoryViews();var stackHigh=GROWABLE_HEAP_U32()[pthread_ptr+52>>2];var stackSize=GROWABLE_HEAP_U32()[pthread_ptr+56>>2];var stackLow=stackHigh-stackSize;_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh)};var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;noExitRuntime=0;var result=(a1=>dynCall_ii(ptr,a1))(arg);function finish(result){if(keepRuntimeAlive()){EXITSTATUS=result}else{__emscripten_thread_exit(result)}}finish(result)};var noExitRuntime=Module["noExitRuntime"]||true;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{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 ArrayBuffer?heapOrArray.subarray(idx,endPtr):heapOrArray.slice(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),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"]);var exceptionCaught=[];var uncaughtExceptionCount=0;var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){GROWABLE_HEAP_U32()[this.ptr+4>>2]=type}get_type(){return GROWABLE_HEAP_U32()[this.ptr+4>>2]}set_destructor(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>2]=destructor}get_destructor(){return GROWABLE_HEAP_U32()[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12]=caught}get_caught(){return GROWABLE_HEAP_I8()[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13]=rethrown}get_rethrown(){return GROWABLE_HEAP_I8()[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return GROWABLE_HEAP_U32()[this.ptr+16>>2]}}var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;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 abort("initRandomDevice")};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)=>{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;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(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};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));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));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,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 MEMFS.doesNotExistError},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);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=>{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 FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{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{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev}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){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){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){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){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,opts,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);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)},statfs(path){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};var parent=FS.lookupPath(path,{follow:true}).node;if(parent?.node_ops.statfs){Object.assign(rtn,parent.node_ops.statfs(parent.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,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;iFS.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,llseek:()=>0});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",16895,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(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}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)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;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}}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);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,GROWABLE_HEAP_I8(),ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};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);GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+4>>2]=stat.mode;GROWABLE_HEAP_U32()[buf+8>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+12>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+16>>2]=stat.gid;GROWABLE_HEAP_I32()[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)],GROWABLE_HEAP_I32()[buf+24>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+28>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+32>>2]=4096;GROWABLE_HEAP_I32()[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)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+48>>2]=atime%1e3*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)],GROWABLE_HEAP_I32()[buf+56>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+60>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+64>>2]=mtime%1e3*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)],GROWABLE_HEAP_I32()[buf+72>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+76>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+80>>2]=ctime%1e3*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)],GROWABLE_HEAP_I32()[buf+88>>2]=tempI64[0],GROWABLE_HEAP_I32()[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=GROWABLE_HEAP_U8().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}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?GROWABLE_HEAP_I32()[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){GROWABLE_HEAP_I32()[readfds>>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws:#".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=GROWABLE_HEAP_I16()[sa>>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,fd,addr,addrlen,d1,d2,d3);try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,dirfd,path,amode,flags);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=GROWABLE_HEAP_I32()[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,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;GROWABLE_HEAP_I16()[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(6,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_ftruncate64(fd,length_low,length_high){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(7,0,1,fd,length_low,length_high);var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(8,0,1,fd,level,optname,optval,optlen,d1);try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){GROWABLE_HEAP_I32()[optval>>2]=sock.error;GROWABLE_HEAP_I32()[optlen>>2]=4;sock.error=null;return 0}}return-50}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(9,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();GROWABLE_HEAP_I32()[argp>>2]=termios.c_iflag||0;GROWABLE_HEAP_I32()[argp+4>>2]=termios.c_oflag||0;GROWABLE_HEAP_I32()[argp+8>>2]=termios.c_cflag||0;GROWABLE_HEAP_I32()[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){GROWABLE_HEAP_I8()[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=GROWABLE_HEAP_I32()[argp>>2];var c_oflag=GROWABLE_HEAP_I32()[argp+4>>2];var c_cflag=GROWABLE_HEAP_I32()[argp+8>>2];var c_lflag=GROWABLE_HEAP_I32()[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(GROWABLE_HEAP_I8()[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();GROWABLE_HEAP_I32()[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();GROWABLE_HEAP_I16()[argp>>1]=winsize[0];GROWABLE_HEAP_I16()[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(10,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_mkdirat(dirfd,path,mode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(11,0,1,dirfd,path,mode);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}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(12,0,1,dirfd,path,buf,flags);try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;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(13,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}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}return 0},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(14,0,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(15,0,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(16,0,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.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(17,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}}function ___syscall_unlinkat(dirfd,path,flags){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(18,0,1,dirfd,path,flags);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(GROWABLE_HEAP_U8()[c]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](GROWABLE_HEAP_U8()[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var wasmTable;var dynCall=(sig,ptr,args=[])=>{var rtn=dynCallLegacy(sig,ptr,args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i{try{return func()}catch(e){abort(e)}};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){return}try{func();maybeExit()}catch(e){handleException(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runtimeKeepalivePush();runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){GROWABLE_HEAP_U32()[ptr>>2]=stack;GROWABLE_HEAP_U32()[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);GROWABLE_HEAP_I32()[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=GROWABLE_HEAP_I32()[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);runtimeKeepalivePop();return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=argTypes[0].name!=="void";var expectedArgCount=argCount-2;var argsWired=new Array(expectedArgCount);var invokerFuncArgs=[];var destructors=[];var invokerFn=function(...args){destructors.length=0;var thisWired;invokerFuncArgs.length=isClassMethodFunc?2:1;invokerFuncArgs[0]=cppTargetFunc;if(isClassMethodFunc){thisWired=argTypes[1]["toWireType"](destructors,this);invokerFuncArgs[1]=thisWired}for(var i=0;i{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F32()[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>GROWABLE_HEAP_I8()[pointer]:pointer=>GROWABLE_HEAP_U8()[pointer];case 2:return signed?pointer=>GROWABLE_HEAP_I16()[pointer>>1]:pointer=>GROWABLE_HEAP_U16()[pointer>>1];case 4:return signed?pointer=>GROWABLE_HEAP_I32()[pointer>>2]:pointer=>GROWABLE_HEAP_U32()[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name,fromWireType,toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=GROWABLE_HEAP_U32()[handle>>2];var data=GROWABLE_HEAP_U32()[handle+4>>2];return new TA(GROWABLE_HEAP_I8().buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite);var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name,fromWireType(value){var length=GROWABLE_HEAP_U32()[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>GROWABLE_HEAP_U16()[pointer>>1]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>GROWABLE_HEAP_U32()[pointer>>2]}registerType(rawType,{name,fromWireType:value=>{var length=GROWABLE_HEAP_U32()[value>>2];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};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,65536,false);PThread.threadInitTLS()};var __emscripten_thread_mailbox_await=pthread_ptr=>{if(typeof Atomics.waitAsync==="function"){var wait=Atomics.waitAsync(GROWABLE_HEAP_I32(),pthread_ptr>>2,pthread_ptr);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+128;Atomics.store(GROWABLE_HEAP_I32(),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=(targetThread,currThreadId)=>{if(targetThread==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread,cmd:"checkMailbox"})}else{var worker=PThread.pthreads[targetThread];if(!worker){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{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_thread_cleanup=thread=>{if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({cmd:"cleanupThread",thread})};var __emscripten_thread_set_strongref=thread=>{};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var emval_returnValue=(returnType,destructorsRef,handle)=>{var destructors=[];var result=returnType["toWireType"](destructors,handle);if(destructors.length){GROWABLE_HEAP_U32()[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var __emval_as=(handle,returnType,destructorsRef)=>{handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");return emval_returnValue(returnType,destructorsRef,handle)};var __emval_await=promise=>Asyncify.handleAsync(()=>{promise=Emval.toValue(promise);return promise.then(Emval.toHandle)});__emval_await.isAsync=true;var emval_methodCallers=[];var __emval_call=(caller,handle,destructorsRef,args)=>{caller=emval_methodCallers[caller];handle=Emval.toValue(handle);return caller(null,handle,destructorsRef,args)};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol};var __emval_call_method=(caller,objHandle,methodName,destructorsRef,args)=>{caller=emval_methodCallers[caller];objHandle=Emval.toValue(objHandle);methodName=getStringOrSymbol(methodName);return caller(objHandle,objHandle[methodName],destructorsRef,args)};var __emval_coro_make_promise=(resolveHandlePtr,rejectHandlePtr)=>Emval.toHandle(new Promise((resolve,reject)=>{const rejectWithCurrentException=()=>{try{___cxa_rethrow()}catch(e){reject(e)}};GROWABLE_HEAP_U32()[resolveHandlePtr>>2]=Emval.toHandle(resolve);GROWABLE_HEAP_U32()[rejectHandlePtr>>2]=Emval.toHandle(rejectWithCurrentException)}));var __emval_coro_suspend=(promiseHandle,awaiterPtr)=>{Emval.toValue(promiseHandle).then(result=>{__emval_coro_resume(awaiterPtr,Emval.toHandle(result))})};var emval_get_global=()=>{if(typeof globalThis=="object"){return globalThis}function testGlobal(obj){obj["$$$embind_global$$$"]=obj;var success=typeof $$$embind_global$$$=="object"&&obj["$$$embind_global$$$"]==obj;if(!success){delete obj["$$$embind_global$$$"]}return success}if(typeof $$$embind_global$$$=="object"){return $$$embind_global$$$}if(typeof global=="object"&&testGlobal(global)){$$$embind_global$$$=global}else if(typeof self=="object"&&testGlobal(self)){$$$embind_global$$$=self}if(typeof $$$embind_global$$$=="object"){return $$$embind_global$$$}throw Error("unable to get global object.")};var __emval_get_global=name=>{if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}};var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a};var reflectConstruct=Reflect.construct;var __emval_get_method_caller=(argCount,argTypes,kind)=>{var types=emval_lookupTypes(argCount,argTypes);var retType=types.shift();argCount--;var argN=new Array(argCount);var invokerFunction=(obj,func,destructorsRef,args)=>{var offset=0;for(var i=0;it.name).join(", ")}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_get_property=(handle,key)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_iter_begin=iterable=>{iterable=Emval.toValue(iterable);return Emval.toHandle(iterable[Symbol.iterator]())};var __emval_iter_next=iterator=>{iterator=Emval.toValue(iterator);var result=iterator.next();return result.done?0:Emval.toHandle(result.value)};var __emval_new_array=()=>Emval.toHandle([]);var __emval_new_cstring=v=>Emval.toHandle(getStringOrSymbol(v));var __emval_new_object=()=>Emval.toHandle({});var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var __emval_set_property=(handle,key,value)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}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);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[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;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(GROWABLE_HEAP_I32()[tmPtr+20>>2]+1900,GROWABLE_HEAP_I32()[tmPtr+16>>2],GROWABLE_HEAP_I32()[tmPtr+12>>2],GROWABLE_HEAP_I32()[tmPtr+8>>2],GROWABLE_HEAP_I32()[tmPtr+4>>2],GROWABLE_HEAP_I32()[tmPtr>>2],0);var dst=GROWABLE_HEAP_I32()[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){GROWABLE_HEAP_I32()[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var timers={};var _emscripten_get_now=()=>performance.timeOrigin+performance.now();function __setitimer_js(which,timeout_ms){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(19,0,1,which,timeout_ms);if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0}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);GROWABLE_HEAP_U32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[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);if(summerOffset{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var _emscripten_check_blocking_allowed=()=>{};var _emscripten_date_now=()=>Date.now();var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=GROWABLE_HEAP_U8().length;requestedSize>>>=0;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=function(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(21,0,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);GROWABLE_HEAP_U32()[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(22,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=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.read(stream,GROWABLE_HEAP_I8(),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(24,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)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[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=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.write(stream,GROWABLE_HEAP_I8(),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}}PThread.init();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var proxiedFunctionTable=[_proc_exit,exitOnMainThread,___syscall__newselect,___syscall_connect,___syscall_faccessat,___syscall_fcntl64,___syscall_fstat64,___syscall_ftruncate64,___syscall_getsockopt,___syscall_ioctl,___syscall_lstat64,___syscall_mkdirat,___syscall_newfstatat,___syscall_openat,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,___syscall_unlinkat,__setitimer_js,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];var wasmImports;function assignWasmImports(){wasmImports={g:___assert_fail,Pa:__asyncjs__em_libusb_wait_async,F:___cxa_begin_catch,L:___cxa_end_catch,b:___cxa_find_matching_catch_2,j:___cxa_find_matching_catch_3,ka:___cxa_rethrow,s:___cxa_throw,ja:___cxa_uncaught_exceptions,e:___resumeException,qa:___syscall__newselect,ia:___syscall_connect,Ga:___syscall_faccessat,O:___syscall_fcntl64,$:___syscall_ftruncate64,ha:___syscall_getsockopt,Ba:___syscall_ioctl,va:___syscall_mkdirat,Ca:___syscall_openat,ua:___syscall_pipe,ta:___syscall_poll,ga:___syscall_socket,pa:___syscall_stat64,na:___syscall_unlinkat,la:__abort_js,aa:__embind_register_bigint,Ra:__embind_register_bool,Ha:__embind_register_class,Aa:__embind_register_class_constructor,C:__embind_register_class_function,Qa:__embind_register_emval,Y:__embind_register_float,y:__embind_register_integer,n:__embind_register_memory_view,Z:__embind_register_std_string,S:__embind_register_std_wstring,Sa:__embind_register_void,Fa:__emscripten_get_now_is_monotonic,xa:__emscripten_init_main_thread_js,oa:__emscripten_notify_mailbox_postmessage,sa:__emscripten_receive_on_main_thread_js,da:__emscripten_runtime_keepalive_clear,fa:__emscripten_thread_cleanup,wa:__emscripten_thread_mailbox_await,Ea:__emscripten_thread_set_strongref,H:__emval_as,z:__emval_await,G:__emval_call,v:__emval_call_method,Ma:__emval_coro_make_promise,La:__emval_coro_suspend,Ta:__emval_decref,D:__emval_get_global,q:__emval_get_method_caller,t:__emval_get_property,u:__emval_incref,Ka:__emval_iter_begin,Ja:__emval_iter_next,Ua:__emval_new_array,m:__emval_new_cstring,E:__emval_new_object,p:__emval_run_destructors,B:__emval_set_property,I:__emval_take_value,Wa:__gmtime_js,Xa:__localtime_js,Ya:__mktime_js,ea:__setitimer_js,Ia:__tzset_js,ra:_emscripten_check_blocking_allowed,P:_emscripten_date_now,Da:_emscripten_exit_with_live_runtime,x:_emscripten_get_now,ma:_emscripten_resize_heap,ya:_environ_get,za:_environ_sizes_get,X:_exit,Q:_fd_close,W:_fd_read,_:_fd_seek,V:_fd_write,N:invoke_diii,M:invoke_diiii,ba:invoke_diiiii,U:invoke_i,d:invoke_ii,c:invoke_iii,o:invoke_iiii,w:invoke_iiiiiii,T:invoke_iiiiiiii,K:invoke_iiiiiiiiiiii,Va:invoke_iij,h:invoke_v,i:invoke_vi,f:invoke_vii,k:invoke_viii,l:invoke_viiii,r:invoke_viiiiiii,A:invoke_viiiiiiiiii,J:invoke_viiiiiiiiiiiiiii,a:wasmMemory,ca:_proc_exit,R:usbi_em_copy_from_dataview,Na:usbi_em_device_safe_open_close,Oa:usbi_em_promise_catch}}var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["Za"])();var _pthread_self=()=>(_pthread_self=wasmExports["_a"])();var _free=a0=>(_free=wasmExports["$a"])(a0);var ___getTypeName=a0=>(___getTypeName=wasmExports["ab"])(a0);var __emval_coro_resume=(a0,a1)=>(__emval_coro_resume=wasmExports["bb"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["cb"])(a0);var _htons=a0=>(_htons=wasmExports["db"])(a0);var __emscripten_tls_init=()=>(__emscripten_tls_init=wasmExports["eb"])();var __emscripten_thread_init=(a0,a1,a2,a3,a4,a5)=>(__emscripten_thread_init=wasmExports["gb"])(a0,a1,a2,a3,a4,a5);var _ntohs=a0=>(_ntohs=wasmExports["hb"])(a0);var __emscripten_run_on_main_thread_js=(a0,a1,a2,a3,a4)=>(__emscripten_run_on_main_thread_js=wasmExports["ib"])(a0,a1,a2,a3,a4);var __emscripten_thread_free_data=a0=>(__emscripten_thread_free_data=wasmExports["jb"])(a0);var __emscripten_thread_exit=a0=>(__emscripten_thread_exit=wasmExports["kb"])(a0);var __emscripten_timeout=(a0,a1)=>(__emscripten_timeout=wasmExports["lb"])(a0,a1);var __emscripten_check_mailbox=()=>(__emscripten_check_mailbox=wasmExports["mb"])();var _setThrew=(a0,a1)=>(_setThrew=wasmExports["nb"])(a0,a1);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["ob"])(a0);var _emscripten_stack_set_limits=(a0,a1)=>(_emscripten_stack_set_limits=wasmExports["pb"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["qb"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["rb"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["sb"])();var ___cxa_decrement_exception_refcount=a0=>(___cxa_decrement_exception_refcount=wasmExports["tb"])(a0);var ___cxa_increment_exception_refcount=a0=>(___cxa_increment_exception_refcount=wasmExports["ub"])(a0);var ___cxa_can_catch=(a0,a1,a2)=>(___cxa_can_catch=wasmExports["vb"])(a0,a1,a2);var ___cxa_get_exception_ptr=a0=>(___cxa_get_exception_ptr=wasmExports["wb"])(a0);var dynCall_v=Module["dynCall_v"]=a0=>(dynCall_v=Module["dynCall_v"]=wasmExports["xb"])(a0);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["yb"])(a0,a1);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["zb"])(a0,a1);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["Ab"])(a0);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["Bb"])(a0,a1,a2);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["Cb"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["Db"])(a0,a1,a2,a3);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["Eb"])(a0,a1,a2,a3,a4);var dynCall_diii=Module["dynCall_diii"]=(a0,a1,a2,a3)=>(dynCall_diii=Module["dynCall_diii"]=wasmExports["Fb"])(a0,a1,a2,a3);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["Gb"])(a0,a1,a2,a3);var dynCall_diiii=Module["dynCall_diiii"]=(a0,a1,a2,a3,a4)=>(dynCall_diiii=Module["dynCall_diiii"]=wasmExports["Hb"])(a0,a1,a2,a3,a4);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["Ib"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_diiiii=Module["dynCall_diiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_diiiii=Module["dynCall_diiiii"]=wasmExports["Jb"])(a0,a1,a2,a3,a4,a5);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["Kb"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["Lb"])(a0,a1,a2,a3,a4);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["Mb"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiji=Module["dynCall_iiiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiji=Module["dynCall_iiiji"]=wasmExports["Nb"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["Ob"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["Pb"])(a0,a1,a2,a3,a4);var dynCall_iij=Module["dynCall_iij"]=(a0,a1,a2,a3)=>(dynCall_iij=Module["dynCall_iij"]=wasmExports["Qb"])(a0,a1,a2,a3);var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=wasmExports["Rb"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=wasmExports["Sb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=wasmExports["Tb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)=>(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=wasmExports["Ub"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);var dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=wasmExports["Vb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_iiijiii=Module["dynCall_iiijiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiijiii=Module["dynCall_iiijiii"]=wasmExports["Wb"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_iiijii=Module["dynCall_iiijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiijii=Module["dynCall_iiijii"]=wasmExports["Xb"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["Yb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=wasmExports["Zb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiijjii=Module["dynCall_iiijjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiijjii=Module["dynCall_iiijjii"]=wasmExports["_b"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiij=Module["dynCall_iiij"]=(a0,a1,a2,a3,a4)=>(dynCall_iiij=Module["dynCall_iiij"]=wasmExports["$b"])(a0,a1,a2,a3,a4);var dynCall_iiiijii=Module["dynCall_iiiijii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["ac"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_iiiiji=Module["dynCall_iiiiji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["bc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["cc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["dc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiid=Module["dynCall_iiiiid"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiid=Module["dynCall_iiiiid"]=wasmExports["ec"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["fc"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["gc"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["hc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_viiiii=Module["dynCall_viiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_viiiii=Module["dynCall_viiiii"]=wasmExports["ic"])(a0,a1,a2,a3,a4,a5);var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["jc"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["kc"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["lc"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["mc"])();function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_diiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_diiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();startWorker(Module);return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise; +function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}return HEAPF64}var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;var readyPromise=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof WorkerGlobalScope!="undefined";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string"&&process.type!="renderer";var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&self.name?.startsWith("em-pthread");var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;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(_scriptName){scriptDirectory=_scriptName}if(scriptDirectory.startsWith("blob:")){scriptDirectory=""}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}{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=>fetch(url,{credentials:"same-origin"}).then(response=>{if(response.ok){return response.arrayBuffer()}return Promise.reject(new Error(response.status+" : "+response.url))})}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];var wasmBinary=Module["wasmBinary"];var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(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)}if(ENVIRONMENT_IS_PTHREAD){var wasmModuleReceived;var initializedJS=false;function threadPrintErr(...args){var text=args.join(" ");console.error(text)}if(!Module["printErr"])err=threadPrintErr;function threadAlert(...args){var text=args.join(" ");postMessage({cmd:"alert",text,threadId:_pthread_self()})}self.alert=threadAlert;self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e["data"];var cmd=msgData.cmd;if(cmd==="load"){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,args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData.wasmMemory;updateMemoryViews();wasmModuleReceived(msgData.wasmModule)}else if(cmd==="run"){establishStackSpace(msgData.pthread_ptr);__emscripten_thread_init(msgData.pthread_ptr,0,0,1,0,0);PThread.receiveObjectTransfer(msgData);PThread.threadInitTLS();__emscripten_thread_mailbox_await(msgData.pthread_ptr);if(!initializedJS){__embind_initialize_bindings();initializedJS=true}try{invokeEntryPoint(msgData.start_routine,msgData.arg)}catch(ex){if(ex!="unwind"){throw ex}}}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){__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}if(!ENVIRONMENT_IS_PTHREAD){if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:32768,shared:true})}updateMemoryViews()}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!Module["noFSInit"]&&!FS.initialized)FS.init();FS.ignorePermissions=false;TTY.init();SOCKFS.root=FS.mount(SOCKFS,{},null);PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function postRun(){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)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);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;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);function findWasmBinary(){if(Module["locateFile"]){var f="libapi.wasm";if(!isDataURI(f)){return locateFile(f)}return f}return new URL("libapi.wasm",import.meta.url).href}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}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&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{a:wasmImports}}function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);registerTLSInit(wasmExports["eb"]);wasmTable=wasmExports["fb"];addOnInit(wasmExports["Za"]);wasmModule=module;removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}if(ENVIRONMENT_IS_PTHREAD){return new Promise(resolve=>{wasmModuleReceived=module=>{var instance=new WebAssembly.Instance(module,getWasmImports());receiveInstance(instance,module);resolve()}})}wasmBinaryFile??=findWasmBinary();instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function __asyncjs__em_libusb_wait_async(ptr,expected_value,timeout){return Asyncify.handleAsync(async()=>{await Atomics.waitAsync(GROWABLE_HEAP_I32(),ptr>>2,expected_value,timeout).value})}function usbi_em_promise_catch(handle){let promise=Emval.toValue(handle);promise=promise.then(value=>({error:0,value}),error=>{console.error(error);let errorCode=-99;if(error instanceof DOMException){const ERROR_CODES={NetworkError:-1,DataError:-2,TypeMismatchError:-2,IndexSizeError:-2,SecurityError:-3,NotFoundError:-5,InvalidStateError:-6,TimeoutError:-7,AbortError:-10,NotSupportedError:-12};errorCode=ERROR_CODES[error.name]??errorCode}else if(error instanceof RangeError||error instanceof TypeError){errorCode=-2}return{error:errorCode,value:undefined}});return Emval.toHandle(promise)}function usbi_em_copy_from_dataview(dst,src){src=Emval.toValue(src);src=new Uint8Array(src.buffer,src.byteOffset,src.byteLength);GROWABLE_HEAP_U8().set(src,dst)}function usbi_em_device_safe_open_close(device,open){device=Emval.toValue(device);const symbol=Symbol.for("libusb.open_close_chain");let promiseChain=device[symbol]??Promise.resolve(0);device[symbol]=promiseChain=promiseChain.then(async refCount=>{if(open){if(!refCount++){await device.open()}}else{if(!--refCount){await device.close()}}return refCount});return Emval.toHandle(promiseChain)}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{}};var cleanupThread=pthread_ptr=>{var worker=PThread.pthreads[pthread_ptr];PThread.returnWorkerToPool(worker)};var spawnThread=threadParams=>{var worker=PThread.getNewWorker();if(!worker){return 6}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};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)=>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}quit_(1,e)};function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,returnCode);_exit(returnCode)}var exitJS=(status,implicit)=>{EXITSTATUS=status;if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}_proc_exit(status)};var _exit=exitJS;var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){if(!ENVIRONMENT_IS_PTHREAD){PThread.initMainThread()}},initMainThread(){addOnPreRun(()=>{addRunDependency("loading-workers");PThread.loadWasmModuleToAllWorkers(()=>removeRunDependency("loading-workers"))})},terminateAllThreads:()=>{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==="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!";err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.postMessage({cmd:"load",handlers,wasmMemory,wasmModule})}),loadWasmModuleToAllWorkers(onMaybeReady){onMaybeReady()},allocateUnusedWorker(){var worker;var workerOptions={type:"module",name:"em-pthread"};worker=new Worker(new URL("libapi.mjs",import.meta.url),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=pthread_ptr=>{updateMemoryViews();var stackHigh=GROWABLE_HEAP_U32()[pthread_ptr+52>>2];var stackSize=GROWABLE_HEAP_U32()[pthread_ptr+56>>2];var stackLow=stackHigh-stackSize;_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh)};var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;noExitRuntime=0;var result=(a1=>dynCall_ii(ptr,a1))(arg);function finish(result){if(keepRuntimeAlive()){EXITSTATUS=result}else{__emscripten_thread_exit(result)}}finish(result)};var noExitRuntime=Module["noExitRuntime"]||true;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder:undefined;var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead=NaN)=>{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 ArrayBuffer?heapOrArray.subarray(idx,endPtr):heapOrArray.slice(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),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"]);var exceptionCaught=[];var uncaughtExceptionCount=0;var ___cxa_begin_catch=ptr=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);___cxa_increment_exception_refcount(ptr);return ___cxa_get_exception_ptr(ptr)};var exceptionLast=0;var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr);exceptionLast=0};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){GROWABLE_HEAP_U32()[this.ptr+4>>2]=type}get_type(){return GROWABLE_HEAP_U32()[this.ptr+4>>2]}set_destructor(destructor){GROWABLE_HEAP_U32()[this.ptr+8>>2]=destructor}get_destructor(){return GROWABLE_HEAP_U32()[this.ptr+8>>2]}set_caught(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12]=caught}get_caught(){return GROWABLE_HEAP_I8()[this.ptr+12]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13]=rethrown}get_rethrown(){return GROWABLE_HEAP_I8()[this.ptr+13]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){GROWABLE_HEAP_U32()[this.ptr+16>>2]=adjustedPtr}get_adjusted_ptr(){return GROWABLE_HEAP_U32()[this.ptr+16>>2]}}var ___resumeException=ptr=>{if(!exceptionLast){exceptionLast=ptr}throw exceptionLast};var setTempRet0=val=>__emscripten_tempret_set(val);var findMatchingCatch=args=>{var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0}var info=new ExceptionInfo(thrown);info.set_adjusted_ptr(thrown);var thrownType=info.get_type();if(!thrownType){setTempRet0(0);return thrown}for(var caughtType of args){if(caughtType===0||caughtType===thrownType){break}var adjusted_ptr_addr=info.ptr+16;if(___cxa_can_catch(caughtType,thrownType,adjusted_ptr_addr)){setTempRet0(caughtType);return thrown}}setTempRet0(thrownType);return thrown};var ___cxa_find_matching_catch_2=()=>findMatchingCatch([]);var ___cxa_find_matching_catch_3=arg0=>findMatchingCatch([arg0]);var ___cxa_rethrow=()=>{var info=exceptionCaught.pop();if(!info){abort("no exception to throw")}var ptr=info.excPtr;if(!info.get_rethrown()){exceptionCaught.push(info);info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++}exceptionLast=ptr;throw exceptionLast};var ___cxa_throw=(ptr,type,destructor)=>{var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast};var ___cxa_uncaught_exceptions=()=>uncaughtExceptionCount;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 abort("initRandomDevice")};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)=>{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;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(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};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));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));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output));tty.output=[]}}}};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16895,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 MEMFS.doesNotExistError},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);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=>{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 FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:class{name="ErrnoError";constructor(errno){this.errno=errno}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{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{node_ops={};stream_ops={};readMode=292|73;writeMode=146;mounted=null;constructor(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.rdev=rdev}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){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){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){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){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,opts,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);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)},statfs(path){var rtn={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:FS.nextInode,ffree:FS.nextInode-1,fsid:42,flags:2,namelen:255};var parent=FS.lookupPath(path,{follow:true}).node;if(parent?.node_ops.statfs){Object.assign(rtn,parent.node_ops.statfs(parent.mount.opts.root))}return rtn},create(path,mode=438){mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,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;iFS.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,llseek:()=>0});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",16895,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(input,output,error){if(input){FS.createDevice("/dev","stdin",input)}else{FS.symlink("/dev/tty","/dev/stdin")}if(output){FS.createDevice("/dev","stdout",null,output)}else{FS.symlink("/dev/tty","/dev/stdout")}if(error){FS.createDevice("/dev","stderr",null,error)}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)},staticInit(){FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={MEMFS}},init(input,output,error){FS.initialized=true;input??=Module["stdin"];output??=Module["stdout"];error??=Module["stderr"];FS.createStandardStreams(input,output,error)},quit(){FS.initialized=false;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}}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);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,GROWABLE_HEAP_I8(),ptr,length,position);return{ptr,allocated:true}};node.stream_ops=stream_ops;return node}};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);GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+4>>2]=stat.mode;GROWABLE_HEAP_U32()[buf+8>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+12>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+16>>2]=stat.gid;GROWABLE_HEAP_I32()[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)],GROWABLE_HEAP_I32()[buf+24>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+28>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+32>>2]=4096;GROWABLE_HEAP_I32()[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)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+48>>2]=atime%1e3*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)],GROWABLE_HEAP_I32()[buf+56>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+60>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+64>>2]=mtime%1e3*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)],GROWABLE_HEAP_I32()[buf+72>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+76>>2]=tempI64[1];GROWABLE_HEAP_U32()[buf+80>>2]=ctime%1e3*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)],GROWABLE_HEAP_I32()[buf+88>>2]=tempI64[0],GROWABLE_HEAP_I32()[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=GROWABLE_HEAP_U8().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}};var ___syscall__newselect=function(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=(fd,low,high,val)=>fd<32?low&val:high&val;for(var fd=0;fd>2]:0,tv_usec=readfds?GROWABLE_HEAP_I32()[timeout+4>>2]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){GROWABLE_HEAP_I32()[readfds>>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}};var SOCKFS={websocketArgs:{},callbacks:{},on(event,callback){SOCKFS.callbacks[event]=callback},emit(event,param){SOCKFS.callbacks[event]?.(param)},mount(mount){SOCKFS.websocketArgs=Module["websocket"]||{};(Module["websocket"]??={})["on"]=SOCKFS.on;return FS.createNode(null,"/",16895,0)},createSocket(family,type,protocol){type&=~526336;var streaming=type==1;if(streaming&&protocol&&protocol!=6){throw new FS.ErrnoError(66)}var sock={family,type,protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return`socket[${SOCKFS.nextname.current++}]`},websocket_sock_ops:{createPeer(sock,addr,port){var ws;if(typeof addr=="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var url="ws:#".replace("#","//");var subProtocols="binary";var opts=undefined;if(SOCKFS.websocketArgs["url"]){url=SOCKFS.websocketArgs["url"]}if(SOCKFS.websocketArgs["subprotocol"]){subProtocols=SOCKFS.websocketArgs["subprotocol"]}else if(SOCKFS.websocketArgs["subprotocol"]===null){subProtocols="null"}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=subProtocols}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr,port,socket:ws,msg_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!="undefined"){peer.msg_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer(sock,addr,port){return sock.peers[addr+":"+port]},addPeer(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents(sock,peer){var first=true;var handleOpen=function(){sock.connecting=false;SOCKFS.emit("open",sock.stream.fd);try{var queued=peer.msg_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.msg_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data=="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}data=new Uint8Array(data)}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data});SOCKFS.emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,isBinary){if(!isBinary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){SOCKFS.emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){SOCKFS.emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;SOCKFS.emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){if(sock.connecting){mask|=4}else{mask|=16}}return mask},ioctl(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+"."+(addr>>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255);var inetNtop6=ints=>{var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word{var family=GROWABLE_HEAP_I16()[sa>>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family,addr,port}};var inetPton4=str=>{var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w{var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,fd,addr,addrlen,d1,d2,d3);try{var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,dirfd,path,amode,flags);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var syscallGetVarargI=()=>{var ret=GROWABLE_HEAP_I32()[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret};var syscallGetVarargP=syscallGetVarargI;function ___syscall_fcntl64(fd,cmd,varargs){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(5,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;GROWABLE_HEAP_I16()[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(6,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_ftruncate64(fd,length_low,length_high){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(7,0,1,fd,length_low,length_high);var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(8,0,1,fd,level,optname,optval,optlen,d1);try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){GROWABLE_HEAP_I32()[optval>>2]=sock.error;GROWABLE_HEAP_I32()[optlen>>2]=4;sock.error=null;return 0}}return-50}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(9,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();GROWABLE_HEAP_I32()[argp>>2]=termios.c_iflag||0;GROWABLE_HEAP_I32()[argp+4>>2]=termios.c_oflag||0;GROWABLE_HEAP_I32()[argp+8>>2]=termios.c_cflag||0;GROWABLE_HEAP_I32()[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){GROWABLE_HEAP_I8()[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=GROWABLE_HEAP_I32()[argp>>2];var c_oflag=GROWABLE_HEAP_I32()[argp+4>>2];var c_cflag=GROWABLE_HEAP_I32()[argp+8>>2];var c_lflag=GROWABLE_HEAP_I32()[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(GROWABLE_HEAP_I8()[argp+i+17])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag,c_oflag,c_cflag,c_lflag,c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=syscallGetVarargP();GROWABLE_HEAP_I32()[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();GROWABLE_HEAP_I16()[argp>>1]=winsize[0];GROWABLE_HEAP_I16()[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(10,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_mkdirat(dirfd,path,mode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(11,0,1,dirfd,path,mode);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}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(12,0,1,dirfd,path,buf,flags);try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;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(13,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}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}return 0},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(14,0,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(15,0,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(16,0,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.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(17,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}}function ___syscall_unlinkat(dirfd,path,flags){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(18,0,1,dirfd,path,flags);try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __abort_js=()=>abort("");var __embind_register_bigint=(primitiveType,name,size,minRange,maxRange)=>{};var embind_init_charCodes=()=>{var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes};var embind_charCodes;var readLatin1String=ptr=>{var ret="";var c=ptr;while(GROWABLE_HEAP_U8()[c]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var whenDependentTypesAreResolved=(myTypes,dependentTypes,getTypeConverters)=>{myTypes.forEach(type=>typeDependencies[type]=dependentTypes);function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type "${name}" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;var __embind_register_bool=(rawType,name,trueValue,falseValue)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:function(wt){return!!wt},toWireType:function(destructors,o){return o?trueValue:falseValue},argPackAdvance:GenericWireTypeSize,readValueFromPointer:function(pointer){return this["fromWireType"](GROWABLE_HEAP_U8()[pointer])},destructorFunction:null})};var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var downcastPointer=(ptr,ptrClass,desiredClass)=>{if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)};var registeredPointers={};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var makeClassHandle=(prototype,record)=>{if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record,writable:true}}))};function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}var attachFinalizer=handle=>{if("undefined"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}};var delayFunction;var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right},clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}},delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}},isDeleted(){return!this.$$.ptr},deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}})};function ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,"name",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var exposePublicSymbol=(name,value,numArguments)=>{if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError(`Cannot register public name '${name}' twice`)}ensureOverloadTable(Module,name,name);if(Module[name].overloadTable.hasOwnProperty(numArguments)){throwBindingError(`Cannot register multiple overloads of a function with the same number of arguments (${numArguments})!`)}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var char_0=48;var char_9=57;var makeLegalFunctionName=name=>{name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return`_${name}`}return name};function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}var upcastPointer=(ptr,ptrClass,desiredClass)=>{while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError(`Expected null or instance of ${desiredClass.name}, got an instance of ${ptrClass.name}`)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr};function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle||!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError(`Cannot convert argument of type ${handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name} to parameter type ${this.name}`)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(()=>clonedHandle["delete"]()));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError(`null is not a valid ${this.name}`)}return 0}if(!handle.$$){throwBindingError(`Cannot pass "${embindRepr(handle)}" as a ${this.name}`)}if(!handle.$$.ptr){throwBindingError(`Cannot pass deleted object as a pointer of type ${this.name}`)}if(handle.$$.ptrType.isConst){throwBindingError(`Cannot convert argument of type ${handle.$$.ptrType.name} to parameter type ${this.name}`)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function readPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,fromWireType:RegisteredPointer_fromWireType})};function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistent public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{sig=sig.replace(/p/g,"i");var f=Module["dynCall_"+sig];return f(ptr,...args)};var wasmTable;var dynCall=(sig,ptr,args=[])=>{var rtn=dynCallLegacy(sig,ptr,args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){return getDynCaller(signature,rawFunction)}var fp=makeDynCaller();if(typeof fp!="function"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var extendError=(baseErrorType,errorName)=>{var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return`${this.name}: ${this.message}`}};return errorClass};var UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([", "]))};var __embind_register_class=(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor)=>{name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})};var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i>2])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i{try{return func()}catch(e){abort(e)}};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){return}try{func();maybeExit()}catch(e){handleException(e)}};var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};var Asyncify={instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){ret[x]=(...args)=>{Asyncify.exportCallStack.push(x);try{return original(...args)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runtimeKeepalivePush();runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){GROWABLE_HEAP_U32()[ptr>>2]=stack;GROWABLE_HEAP_U32()[ptr+4>>2]=stack+stackSize},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);GROWABLE_HEAP_I32()[ptr+8>>2]=rewindId},getDataRewindFuncName(ptr){var id=GROWABLE_HEAP_I32()[ptr+8>>2];var name=Asyncify.callStackIdToName[id];return name},getDataRewindFunc(name){var func=wasmExports[name];return func},doRewind(ptr){var name=Asyncify.getDataRewindFuncName(ptr);var func=Asyncify.getDataRewindFunc(name);runtimeKeepalivePop();return func()},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=usesDestructorStack(argTypes);var returns=argTypes[0].name!=="void";var expectedArgCount=argCount-2;var argsWired=new Array(expectedArgCount);var invokerFuncArgs=[];var destructors=[];var invokerFn=function(...args){destructors.length=0;var thisWired;invokerFuncArgs.length=isClassMethodFunc?2:1;invokerFuncArgs[0]=cppTargetFunc;if(isClassMethodFunc){thisWired=argTypes[1]["toWireType"](destructors,this);invokerFuncArgs[1]=thisWired}for(var i=0;i{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`constructor ${classType.name}`;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError(`Cannot register multiple constructors with identical number of parameters (${argCount-1}) for class '${classType.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`)}classType.registeredClass.constructor_body[argCount-1]=()=>{throwUnboundTypeError(`Cannot construct ${classType.name} due to unbound types`,rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf("(");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync,isNonnullReturn)=>{var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith("@@")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[];var __emval_decref=handle=>{if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}};var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module["count_emval_handles"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:"emscripten::val",fromWireType:handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},toWireType:(destructors,value)=>Emval.toHandle(value),argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction:null};var __embind_register_emval=rawType=>registerType(rawType,EmValType);var embindRepr=v=>{if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F32()[pointer>>2])};case 8:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=(rawType,name,size)=>{name=readLatin1String(name);registerType(rawType,{name,fromWireType:value=>value,toWireType:(destructors,value)=>value,argPackAdvance:GenericWireTypeSize,readValueFromPointer:floatReadValueFromPointer(name,size),destructorFunction:null})};var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>GROWABLE_HEAP_I8()[pointer]:pointer=>GROWABLE_HEAP_U8()[pointer];case 2:return signed?pointer=>GROWABLE_HEAP_I16()[pointer>>1]:pointer=>GROWABLE_HEAP_U16()[pointer>>1];case 4:return signed?pointer=>GROWABLE_HEAP_I32()[pointer>>2]:pointer=>GROWABLE_HEAP_U32()[pointer>>2];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};var __embind_register_integer=(primitiveType,name,size,minRange,maxRange)=>{name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<>>bitshift}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name,fromWireType,toWireType,argPackAdvance:GenericWireTypeSize,readValueFromPointer:integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})};var __embind_register_memory_view=(rawType,dataTypeIndex,name)=>{var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=GROWABLE_HEAP_U32()[handle>>2];var data=GROWABLE_HEAP_U32()[handle+4>>2];return new TA(GROWABLE_HEAP_I8().buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name,fromWireType:decodeMemoryView,argPackAdvance:GenericWireTypeSize,readValueFromPointer:decodeMemoryView},{ignoreDuplicateRegistrations:true})};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite);var __embind_register_std_string=(rawType,name)=>{name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name,fromWireType(value){var length=GROWABLE_HEAP_U32()[value>>2];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+i]=charCode}}else{for(var i=0;i{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(GROWABLE_HEAP_U8().slice(ptr,endPtr));var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=(rawType,charSize,name)=>{name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>GROWABLE_HEAP_U16()[pointer>>1]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>GROWABLE_HEAP_U32()[pointer>>2]}registerType(rawType,{name,fromWireType:value=>{var length=GROWABLE_HEAP_U32()[value>>2];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},toWireType:(destructors,value)=>{if(!(typeof value=="string")){throwBindingError(`Cannot pass non-string to C++ string type ${name}`)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},argPackAdvance:GenericWireTypeSize,readValueFromPointer:readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=(rawType,name)=>{name=readLatin1String(name);registerType(rawType,{isVoid:true,name,argPackAdvance:0,fromWireType:()=>undefined,toWireType:(destructors,o)=>undefined})};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,65536,false);PThread.threadInitTLS()};var __emscripten_thread_mailbox_await=pthread_ptr=>{if(typeof Atomics.waitAsync==="function"){var wait=Atomics.waitAsync(GROWABLE_HEAP_I32(),pthread_ptr>>2,pthread_ptr);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+128;Atomics.store(GROWABLE_HEAP_I32(),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=(targetThread,currThreadId)=>{if(targetThread==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread,cmd:"checkMailbox"})}else{var worker=PThread.pthreads[targetThread];if(!worker){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{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_thread_cleanup=thread=>{if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({cmd:"cleanupThread",thread})};var __emscripten_thread_set_strongref=thread=>{};var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};var emval_returnValue=(returnType,destructorsRef,handle)=>{var destructors=[];var result=returnType["toWireType"](destructors,handle);if(destructors.length){GROWABLE_HEAP_U32()[destructorsRef>>2]=Emval.toHandle(destructors)}return result};var __emval_as=(handle,returnType,destructorsRef)=>{handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");return emval_returnValue(returnType,destructorsRef,handle)};var __emval_await=promise=>Asyncify.handleAsync(()=>{promise=Emval.toValue(promise);return promise.then(Emval.toHandle)});__emval_await.isAsync=true;var emval_methodCallers=[];var __emval_call=(caller,handle,destructorsRef,args)=>{caller=emval_methodCallers[caller];handle=Emval.toValue(handle);return caller(null,handle,destructorsRef,args)};var emval_symbols={};var getStringOrSymbol=address=>{var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}return symbol};var __emval_call_method=(caller,objHandle,methodName,destructorsRef,args)=>{caller=emval_methodCallers[caller];objHandle=Emval.toValue(objHandle);methodName=getStringOrSymbol(methodName);return caller(objHandle,objHandle[methodName],destructorsRef,args)};var __emval_coro_make_promise=(resolveHandlePtr,rejectHandlePtr)=>Emval.toHandle(new Promise((resolve,reject)=>{const rejectWithCurrentException=()=>{try{___cxa_rethrow()}catch(e){reject(e)}};GROWABLE_HEAP_U32()[resolveHandlePtr>>2]=Emval.toHandle(resolve);GROWABLE_HEAP_U32()[rejectHandlePtr>>2]=Emval.toHandle(rejectWithCurrentException)}));var __emval_coro_suspend=(promiseHandle,awaiterPtr)=>{Emval.toValue(promiseHandle).then(result=>{__emval_coro_resume(awaiterPtr,Emval.toHandle(result))})};var emval_get_global=()=>{if(typeof globalThis=="object"){return globalThis}function testGlobal(obj){obj["$$$embind_global$$$"]=obj;var success=typeof $$$embind_global$$$=="object"&&obj["$$$embind_global$$$"]==obj;if(!success){delete obj["$$$embind_global$$$"]}return success}if(typeof $$$embind_global$$$=="object"){return $$$embind_global$$$}if(typeof global=="object"&&testGlobal(global)){$$$embind_global$$$=global}else if(typeof self=="object"&&testGlobal(self)){$$$embind_global$$$=self}if(typeof $$$embind_global$$$=="object"){return $$$embind_global$$$}throw Error("unable to get global object.")};var __emval_get_global=name=>{if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}};var emval_addMethodCaller=caller=>{var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id};var emval_lookupTypes=(argCount,argTypes)=>{var a=new Array(argCount);for(var i=0;i>2],"parameter "+i)}return a};var reflectConstruct=Reflect.construct;var __emval_get_method_caller=(argCount,argTypes,kind)=>{var types=emval_lookupTypes(argCount,argTypes);var retType=types.shift();argCount--;var argN=new Array(argCount);var invokerFunction=(obj,func,destructorsRef,args)=>{var offset=0;for(var i=0;it.name).join(", ")}) => ${retType.name}>`;return emval_addMethodCaller(createNamedFunction(functionName,invokerFunction))};var __emval_get_property=(handle,key)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);return Emval.toHandle(handle[key])};var __emval_incref=handle=>{if(handle>9){emval_handles[handle+1]+=1}};var __emval_iter_begin=iterable=>{iterable=Emval.toValue(iterable);return Emval.toHandle(iterable[Symbol.iterator]())};var __emval_iter_next=iterator=>{iterator=Emval.toValue(iterator);var result=iterator.next();return result.done?0:Emval.toHandle(result.value)};var __emval_new_array=()=>Emval.toHandle([]);var __emval_new_cstring=v=>Emval.toHandle(getStringOrSymbol(v));var __emval_new_object=()=>Emval.toHandle({});var __emval_run_destructors=handle=>{var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)};var __emval_set_property=(handle,key,value)=>{handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value};var __emval_take_value=(type,arg)=>{type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](arg);return Emval.toHandle(v)};function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}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);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[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;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(GROWABLE_HEAP_I32()[tmPtr+20>>2]+1900,GROWABLE_HEAP_I32()[tmPtr+16>>2],GROWABLE_HEAP_I32()[tmPtr+12>>2],GROWABLE_HEAP_I32()[tmPtr+8>>2],GROWABLE_HEAP_I32()[tmPtr+4>>2],GROWABLE_HEAP_I32()[tmPtr>>2],0);var dst=GROWABLE_HEAP_I32()[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){GROWABLE_HEAP_I32()[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var timers={};var _emscripten_get_now=()=>performance.timeOrigin+performance.now();function __setitimer_js(which,timeout_ms){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(19,0,1,which,timeout_ms);if(timers[which]){clearTimeout(timers[which].id);delete timers[which]}if(!timeout_ms)return 0;var id=setTimeout(()=>{delete timers[which];callUserCallback(()=>__emscripten_timeout(which,_emscripten_get_now()))},timeout_ms);timers[which]={id,timeout_ms};return 0}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);GROWABLE_HEAP_U32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[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);if(summerOffset{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var _emscripten_check_blocking_allowed=()=>{};var _emscripten_date_now=()=>Date.now();var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536|0;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=GROWABLE_HEAP_U8().length;requestedSize>>>=0;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i{var ptr=environ_buf+bufSize;GROWABLE_HEAP_U32()[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=function(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(21,0,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_U32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);GROWABLE_HEAP_U32()[penviron_buf_size>>2]=bufSize;return 0};function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(22,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=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.read(stream,GROWABLE_HEAP_I8(),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(24,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)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[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=GROWABLE_HEAP_U32()[iov+4>>2];iov+=8;var curr=FS.write(stream,GROWABLE_HEAP_I8(),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}}PThread.init();FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();MEMFS.doesNotExistError=new FS.ErrnoError(44);MEMFS.doesNotExistError.stack="";embind_init_charCodes();BindingError=Module["BindingError"]=class BindingError extends Error{constructor(message){super(message);this.name="BindingError"}};InternalError=Module["InternalError"]=class InternalError extends Error{constructor(message){super(message);this.name="InternalError"}};init_ClassHandle();init_RegisteredPointer();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var proxiedFunctionTable=[_proc_exit,exitOnMainThread,___syscall__newselect,___syscall_connect,___syscall_faccessat,___syscall_fcntl64,___syscall_fstat64,___syscall_ftruncate64,___syscall_getsockopt,___syscall_ioctl,___syscall_lstat64,___syscall_mkdirat,___syscall_newfstatat,___syscall_openat,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,___syscall_unlinkat,__setitimer_js,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];var wasmImports;function assignWasmImports(){wasmImports={i:___assert_fail,Pa:__asyncjs__em_libusb_wait_async,G:___cxa_begin_catch,L:___cxa_end_catch,b:___cxa_find_matching_catch_2,h:___cxa_find_matching_catch_3,ka:___cxa_rethrow,t:___cxa_throw,ja:___cxa_uncaught_exceptions,f:___resumeException,qa:___syscall__newselect,ia:___syscall_connect,Fa:___syscall_faccessat,O:___syscall_fcntl64,$:___syscall_ftruncate64,ha:___syscall_getsockopt,Aa:___syscall_ioctl,va:___syscall_mkdirat,Ba:___syscall_openat,ua:___syscall_pipe,ta:___syscall_poll,ga:___syscall_socket,pa:___syscall_stat64,na:___syscall_unlinkat,la:__abort_js,aa:__embind_register_bigint,Ra:__embind_register_bool,Oa:__embind_register_class,Ga:__embind_register_class_constructor,D:__embind_register_class_function,Qa:__embind_register_emval,Y:__embind_register_float,y:__embind_register_integer,m:__embind_register_memory_view,Z:__embind_register_std_string,S:__embind_register_std_wstring,Sa:__embind_register_void,Ea:__emscripten_get_now_is_monotonic,xa:__emscripten_init_main_thread_js,oa:__emscripten_notify_mailbox_postmessage,sa:__emscripten_receive_on_main_thread_js,da:__emscripten_runtime_keepalive_clear,fa:__emscripten_thread_cleanup,wa:__emscripten_thread_mailbox_await,Da:__emscripten_thread_set_strongref,I:__emval_as,z:__emval_await,H:__emval_call,v:__emval_call_method,La:__emval_coro_make_promise,Ka:__emval_coro_suspend,Ta:__emval_decref,E:__emval_get_global,q:__emval_get_method_caller,u:__emval_get_property,s:__emval_incref,Ja:__emval_iter_begin,Ia:__emval_iter_next,Ya:__emval_new_array,l:__emval_new_cstring,F:__emval_new_object,p:__emval_run_destructors,C:__emval_set_property,B:__emval_take_value,Va:__gmtime_js,Wa:__localtime_js,Xa:__mktime_js,ea:__setitimer_js,Ha:__tzset_js,ra:_emscripten_check_blocking_allowed,P:_emscripten_date_now,Ca:_emscripten_exit_with_live_runtime,x:_emscripten_get_now,ma:_emscripten_resize_heap,ya:_environ_get,za:_environ_sizes_get,X:_exit,Q:_fd_close,W:_fd_read,_:_fd_seek,V:_fd_write,N:invoke_diii,M:invoke_diiii,ba:invoke_diiiii,U:invoke_i,d:invoke_ii,e:invoke_iii,o:invoke_iiii,w:invoke_iiiiiii,T:invoke_iiiiiiii,K:invoke_iiiiiiiiiiii,Ua:invoke_iij,j:invoke_v,c:invoke_vi,g:invoke_vii,k:invoke_viii,n:invoke_viiii,r:invoke_viiiiiii,A:invoke_viiiiiiiiii,J:invoke_viiiiiiiiiiiiiii,a:wasmMemory,ca:_proc_exit,R:usbi_em_copy_from_dataview,Ma:usbi_em_device_safe_open_close,Na:usbi_em_promise_catch}}var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["Za"])();var _pthread_self=()=>(_pthread_self=wasmExports["_a"])();var _free=a0=>(_free=wasmExports["$a"])(a0);var ___getTypeName=a0=>(___getTypeName=wasmExports["ab"])(a0);var __emval_coro_resume=(a0,a1)=>(__emval_coro_resume=wasmExports["bb"])(a0,a1);var _malloc=a0=>(_malloc=wasmExports["cb"])(a0);var _htons=a0=>(_htons=wasmExports["db"])(a0);var __emscripten_tls_init=()=>(__emscripten_tls_init=wasmExports["eb"])();var __emscripten_thread_init=(a0,a1,a2,a3,a4,a5)=>(__emscripten_thread_init=wasmExports["gb"])(a0,a1,a2,a3,a4,a5);var _ntohs=a0=>(_ntohs=wasmExports["hb"])(a0);var __emscripten_run_on_main_thread_js=(a0,a1,a2,a3,a4)=>(__emscripten_run_on_main_thread_js=wasmExports["ib"])(a0,a1,a2,a3,a4);var __emscripten_thread_free_data=a0=>(__emscripten_thread_free_data=wasmExports["jb"])(a0);var __emscripten_thread_exit=a0=>(__emscripten_thread_exit=wasmExports["kb"])(a0);var __emscripten_timeout=(a0,a1)=>(__emscripten_timeout=wasmExports["lb"])(a0,a1);var __emscripten_check_mailbox=()=>(__emscripten_check_mailbox=wasmExports["mb"])();var _setThrew=(a0,a1)=>(_setThrew=wasmExports["nb"])(a0,a1);var __emscripten_tempret_set=a0=>(__emscripten_tempret_set=wasmExports["ob"])(a0);var _emscripten_stack_set_limits=(a0,a1)=>(_emscripten_stack_set_limits=wasmExports["pb"])(a0,a1);var __emscripten_stack_restore=a0=>(__emscripten_stack_restore=wasmExports["qb"])(a0);var __emscripten_stack_alloc=a0=>(__emscripten_stack_alloc=wasmExports["rb"])(a0);var _emscripten_stack_get_current=()=>(_emscripten_stack_get_current=wasmExports["sb"])();var ___cxa_decrement_exception_refcount=a0=>(___cxa_decrement_exception_refcount=wasmExports["tb"])(a0);var ___cxa_increment_exception_refcount=a0=>(___cxa_increment_exception_refcount=wasmExports["ub"])(a0);var ___cxa_can_catch=(a0,a1,a2)=>(___cxa_can_catch=wasmExports["vb"])(a0,a1,a2);var ___cxa_get_exception_ptr=a0=>(___cxa_get_exception_ptr=wasmExports["wb"])(a0);var dynCall_v=Module["dynCall_v"]=a0=>(dynCall_v=Module["dynCall_v"]=wasmExports["xb"])(a0);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["yb"])(a0,a1);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["zb"])(a0,a1);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["Ab"])(a0);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["Bb"])(a0,a1,a2);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["Cb"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["Db"])(a0,a1,a2,a3);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["Eb"])(a0,a1,a2,a3,a4);var dynCall_diii=Module["dynCall_diii"]=(a0,a1,a2,a3)=>(dynCall_diii=Module["dynCall_diii"]=wasmExports["Fb"])(a0,a1,a2,a3);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["Gb"])(a0,a1,a2,a3);var dynCall_diiii=Module["dynCall_diiii"]=(a0,a1,a2,a3,a4)=>(dynCall_diiii=Module["dynCall_diiii"]=wasmExports["Hb"])(a0,a1,a2,a3,a4);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["Ib"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_diiiii=Module["dynCall_diiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_diiiii=Module["dynCall_diiiii"]=wasmExports["Jb"])(a0,a1,a2,a3,a4,a5);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["Kb"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["Lb"])(a0,a1,a2,a3,a4);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["Mb"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiji=Module["dynCall_iiiji"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiji=Module["dynCall_iiiji"]=wasmExports["Nb"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["Ob"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["Pb"])(a0,a1,a2,a3,a4);var dynCall_iij=Module["dynCall_iij"]=(a0,a1,a2,a3)=>(dynCall_iij=Module["dynCall_iij"]=wasmExports["Qb"])(a0,a1,a2,a3);var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=wasmExports["Rb"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=wasmExports["Sb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=wasmExports["Tb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)=>(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=wasmExports["Ub"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15);var dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>(dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=wasmExports["Vb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var dynCall_iiijiii=Module["dynCall_iiijiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiijiii=Module["dynCall_iiijiii"]=wasmExports["Wb"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_iiijii=Module["dynCall_iiijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiijii=Module["dynCall_iiijii"]=wasmExports["Xb"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["Yb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=wasmExports["Zb"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiijjii=Module["dynCall_iiijjii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiijjii=Module["dynCall_iiijjii"]=wasmExports["_b"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiij=Module["dynCall_iiij"]=(a0,a1,a2,a3,a4)=>(dynCall_iiij=Module["dynCall_iiij"]=wasmExports["$b"])(a0,a1,a2,a3,a4);var dynCall_iiiijii=Module["dynCall_iiiijii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiijii=Module["dynCall_iiiijii"]=wasmExports["ac"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_iiiiji=Module["dynCall_iiiiji"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiji=Module["dynCall_iiiiji"]=wasmExports["bc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_viijii=Module["dynCall_viijii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module["dynCall_viijii"]=wasmExports["cc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiij=Module["dynCall_iiiiij"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module["dynCall_iiiiij"]=wasmExports["dc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiid=Module["dynCall_iiiiid"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiid=Module["dynCall_iiiiid"]=wasmExports["ec"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=wasmExports["fc"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=wasmExports["gc"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["hc"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_viiiii=Module["dynCall_viiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_viiiii=Module["dynCall_viiiii"]=wasmExports["ic"])(a0,a1,a2,a3,a4,a5);var _asyncify_start_unwind=a0=>(_asyncify_start_unwind=wasmExports["jc"])(a0);var _asyncify_stop_unwind=()=>(_asyncify_stop_unwind=wasmExports["kc"])();var _asyncify_start_rewind=a0=>(_asyncify_start_rewind=wasmExports["lc"])(a0);var _asyncify_stop_rewind=()=>(_asyncify_stop_rewind=wasmExports["mc"])();function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_diiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_diiiii(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iij(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();startWorker(Module);return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);Module["onRuntimeInitialized"]?.();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();moduleRtn=readyPromise; return moduleRtn; diff --git a/build/libapi.wasm b/build/libapi.wasm index 8ff783beea133cd1ce0e5c5d443c5e0ea1b0257f..560e08daf3b5ad4a3969639118a822bd287a0bbc 100755 GIT binary patch delta 170352 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 ZUqJ0OAvK>|YiMtYs)5upp5gS;{}03d7M}nB delta 173236 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%0A2BzymNqIVt6RQK*iG(CUsAt{;w)2L%j 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 module=Module["wasmModule"];Module["wasmModule"]=null;var instance=new WebAssembly.Instance(module,info);return receiveInstance(instance)};self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{if(e.data.cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);self.startWorker=instance=>{Module=instance;postMessage({"cmd":"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};Module["wasmModule"]=e.data.wasmModule;for(const handler of e.data.handlers){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler:handler,args:args})}}Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./libapi.mjs")).then(exports=>exports.default(Module))}else if(e.data.cmd==="run"){Module["__emscripten_thread_init"](e.data.pthread_ptr,0,0,1);Module["__emscripten_thread_mailbox_await"](e.data.pthread_ptr);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInitTLS();if(!initializedJS){Module["__embind_initialize_bindings"]();initializedJS=true}try{Module["invokeEntryPoint"](e.data.start_routine,e.data.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="checkMailbox"){if(initializedJS){Module["checkMailbox"]()}}else if(e.data.cmd){err(`worker.js received unknown command ${e.data.cmd}`);err(e.data)}}catch(ex){if(Module["__emscripten_thread_crashed"]){Module["__emscripten_thread_crashed"]()}throw ex}}self.onmessage=handleMessage;