From f81792c7f9955e69df0b2ad4d72a7dffb446e33d Mon Sep 17 00:00:00 2001 From: Aleksandr Kirsanov Date: Fri, 14 Jun 2024 14:40:42 +0300 Subject: [PATCH] FunC version v0.5.0 --- .gitignore | 2 ++ README.md | 2 +- package.json | 2 +- src/funcfiftlib.js | 4 ++-- src/funcfiftlib.wasm | Bin 5498646 -> 5468994 bytes src/funcfiftlib.wasm.js | 2 +- src/index.ts | 2 +- 7 files changed, 8 insertions(+), 6 deletions(-) mode change 100644 => 100755 src/funcfiftlib.wasm diff --git a/.gitignore b/.gitignore index db4c6d9..e8b3761 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ +.idea +.DS_Store dist node_modules \ No newline at end of file diff --git a/README.md b/README.md index a81959a..af9f6e3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # func-js-bin -This is a package containing WASM module and binary for [func-js](https://github.com/ton-community/func-js), the JS wrapper of func, the compiler of smart contracts for the TON blockchain. +This is a package containing WASM module and binary for [func-js](https://github.com/ton-community/func-js), the JS wrapper of FunC, the compiler of smart contracts for the TON blockchain. For usage information, please see [func-js](https://github.com/ton-community/func-js). \ No newline at end of file diff --git a/package.json b/package.json index 6b45f84..723e75d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@ton-community/func-js-bin", "description": "Distribution of WASM module and binary for func-js", - "version": "0.4.4-newops.1", + "version": "0.5.0", "main": "dist/index.js", "author": "TonTech", "license": "MIT", diff --git a/src/funcfiftlib.js b/src/funcfiftlib.js index bfdcafc..72f3bb2 100644 --- a/src/funcfiftlib.js +++ b/src/funcfiftlib.js @@ -1,12 +1,12 @@ var CompilerModule = (() => { var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined; - + if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename; return ( function(CompilerModule) { CompilerModule = CompilerModule || {}; -var Module=typeof CompilerModule!="undefined"?CompilerModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var crypto={getRandomValues:function(array){for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=true;var ENVIRONMENT_IS_WORKER=false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;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(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function 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 stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||33554432;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}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(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){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++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="funcfiftlib-portable.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["La"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Pa"];addOnInit(Module["asm"]["Ma"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={1862680:()=>{return Module.getRandomValue()},1862716:()=>{if(Module.getRandomValue===undefined){try{var window_="object"===typeof window?window:self;var crypto_=typeof window_.crypto!=="undefined"?window_.crypto:window_.msCrypto;var randomValuesStandard=function(){var buf=new Uint32Array(1);crypto_.getRandomValues(buf);return buf[0]>>>0};randomValuesStandard();Module.getRandomValue=randomValuesStandard}catch(e){try{var crypto=require("crypto");var randomValueNodeJS=function(){var buf=crypto["randomBytes"](4);return(buf[0]<<24|buf[1]<<16|buf[2]<<8|buf[3])>>>0};randomValueNodeJS();Module.getRandomValue=randomValueNodeJS}catch(e){throw"No secure random number generator found"}}}},1863438:$0=>{throw UTF8ToString($0)}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort("invalid type for setValue: "+type)}}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___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);exception_addRef(info);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var info=exceptionCaught.pop();exception_decRef(info);exceptionLast=0}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=ptr}throw ptr}function ___cxa_find_matching_catch_2(){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}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i>2]=value;return value}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:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[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;i0?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 TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var 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:function(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:function(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:function(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:function(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:function(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:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(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;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(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:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(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{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),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.normalizeArray(path.split("/").filter(p=>!!p),false);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,parent)}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},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},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=>{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:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){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.apply(check,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:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_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};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;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});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,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},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){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAP32[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAP32[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAP32[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_date_now(){return Date.now()}function __emscripten_fs_load_embedded_files(ptr){do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function readI53FromI64(ptr){return HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296}function __gmtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[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;HEAP32[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __munmap_js(addr,len,prot,flags,fd,offset){try{var stream=FS.getStream(fd);if(stream){if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _tzset_impl(timezone,daylight,tzname){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);HEAP32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readAsmConstArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}var _emscripten_get_now;_emscripten_get_now=()=>performance.now();function reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function reSign(value,bits){if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}function unSign(value,bits){if(value>=0){return value}return bits<=32?2*Math.abs(1<>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function traverseStack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a=="number"||typeof a=="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&32){warnOnce("EM_LOG_DEMANGLE is deprecated; ignoring")}if(flags&8&&typeof emscripten_source_map=="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=traverseStack(arguments);while(stack_args[1].includes("_emscripten_"))stack_args=traverseStack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+symbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+symbolName:" at "+symbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==symbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=traverseStack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,format,varargs){var result=formatString(format,varargs);var str=UTF8ArrayToString(result,0);_emscripten_log_js(flags,str)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt,offset);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);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.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}var tempRet0=0;function getTempRet0(){return tempRet0}var _getTempRet0=getTempRet0;function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i>0]=_getentropy.randomDevice()}return 0}function _llvm_eh_typeid_for(type){return type}function setTempRet0(val){tempRet0=val}var _setTempRet0=setTempRet0;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;itype==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;var asmLibraryArg={"j":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_end_catch,"b":___cxa_find_matching_catch_2,"i":___cxa_find_matching_catch_3,"F":___cxa_find_matching_catch_4,"B":___cxa_find_matching_catch_5,"M":___cxa_find_matching_catch_6,"J":___cxa_find_matching_catch_7,"m":___cxa_free_exception,"O":___cxa_rethrow,"n":___cxa_throw,"sa":___cxa_uncaught_exceptions,"f":___resumeException,"V":___syscall_fcntl64,"Da":___syscall_fstat64,"va":___syscall_getcwd,"wa":___syscall_getdents64,"T":___syscall_ioctl,"Aa":___syscall_lstat64,"Ba":___syscall_newfstatat,"U":___syscall_openat,"ua":___syscall_readlinkat,"Ca":___syscall_stat64,"K":__emscripten_date_now,"Ja":__emscripten_fs_load_embedded_files,"Fa":__emscripten_get_now_is_monotonic,"Ga":__gmtime_js,"Ha":__localtime_js,"xa":__munmap_js,"Ia":__tzset_js,"z":_abort,"L":_emscripten_asm_const_int,"Ea":_emscripten_get_now,"W":_emscripten_log,"ta":_emscripten_resize_heap,"ya":_environ_get,"za":_environ_sizes_get,"Ka":_exit,"I":_fd_close,"Z":_fd_pread,"R":_fd_read,"_":_fd_seek,"S":_fd_write,"a":_getTempRet0,"pa":_getentropy,"P":invoke_diii,"Q":invoke_fiii,"u":invoke_i,"h":invoke_ii,"c":invoke_iii,"k":invoke_iiii,"l":invoke_iiiii,"ra":invoke_iiiiid,"p":invoke_iiiiii,"r":invoke_iiiiiii,"v":invoke_iiiiiiii,"N":invoke_iiiiiiiii,"G":invoke_iiiiiiiiii,"C":invoke_iiiiiiiiiiii,"Y":invoke_iiiiij,"aa":invoke_iiiij,"ma":invoke_iij,"da":invoke_iiji,"ia":invoke_j,"oa":invoke_ji,"ca":invoke_jii,"X":invoke_jiiii,"ea":invoke_jijj,"q":invoke_v,"d":invoke_vi,"g":invoke_vii,"e":invoke_viii,"o":invoke_viiii,"w":invoke_viiiii,"y":invoke_viiiiii,"A":invoke_viiiiiii,"D":invoke_viiiiiiiiii,"H":invoke_viiiiiiiiiiiiiii,"ha":invoke_viiij,"fa":invoke_viiijj,"$":invoke_viiijjj,"na":invoke_viij,"la":invoke_viijii,"ja":invoke_viijj,"ka":invoke_viijjii,"ga":invoke_vij,"ba":invoke_viji,"x":_llvm_eh_typeid_for,"E":_setTempRet0,"qa":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["Ma"]).apply(null,arguments)};var _version=Module["_version"]=function(){return(_version=Module["_version"]=Module["asm"]["Na"]).apply(null,arguments)};var _func_compile=Module["_func_compile"]=function(){return(_func_compile=Module["_func_compile"]=Module["asm"]["Oa"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Qa"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Ra"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["Sa"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["Ta"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["Ua"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Va"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["Wa"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Xa"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["Ya"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["Za"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["_a"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["$a"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["ab"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["bb"]).apply(null,arguments)};var dynCall_viijjii=Module["dynCall_viijjii"]=function(){return(dynCall_viijjii=Module["dynCall_viijjii"]=Module["asm"]["cb"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["db"]).apply(null,arguments)};var dynCall_viiijj=Module["dynCall_viiijj"]=function(){return(dynCall_viiijj=Module["dynCall_viiijj"]=Module["asm"]["eb"]).apply(null,arguments)};var dynCall_j=Module["dynCall_j"]=function(){return(dynCall_j=Module["dynCall_j"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_viiij=Module["dynCall_viiij"]=function(){return(dynCall_viiij=Module["dynCall_viiij"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["hb"]).apply(null,arguments)};var dynCall_jijj=Module["dynCall_jijj"]=function(){return(dynCall_jijj=Module["dynCall_jijj"]=Module["asm"]["ib"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["jb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["kb"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["lb"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["mb"]).apply(null,arguments)};var dynCall_viiijjj=Module["dynCall_viiijjj"]=function(){return(dynCall_viiijjj=Module["dynCall_viiijjj"]=Module["asm"]["nb"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["ob"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["pb"]).apply(null,arguments)};var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=1640200;function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(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{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}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 getWasmTableEntry(index)(a1,a2,a3)}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{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}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 getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}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 getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9)}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{getWasmTableEntry(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_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8)}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 getWasmTableEntry(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_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}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 getWasmTableEntry(index)(a1,a2,a3)}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{getWasmTableEntry(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_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3,a4)}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)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2,a3){var sp=stackSave();try{dynCall_vij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["removeFunction"]=removeFunction;Module["setValue"]=setValue;Module["FS"]=FS;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){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(); +var Module=typeof CompilerModule!="undefined"?CompilerModule:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var crypto={getRandomValues:function(array){for(var i=0;i{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}};read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})};if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=(status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};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,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=title=>document.title=title}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heapOrArray,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function 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 stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||33554432;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function keepRuntimeAlive(){return noExitRuntime}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(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();callRuntimeCallbacks(__ATINIT__)}function postRun(){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++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;wasmBinaryFile="funcfiftlib.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["La"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["Pa"];addOnInit(Module["asm"]["Ma"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={1856152:()=>{return Module.getRandomValue()},1856188:()=>{if(Module.getRandomValue===undefined){try{var window_="object"===typeof window?window:self;var crypto_=typeof window_.crypto!=="undefined"?window_.crypto:window_.msCrypto;var randomValuesStandard=function(){var buf=new Uint32Array(1);crypto_.getRandomValues(buf);return buf[0]>>>0};randomValuesStandard();Module.getRandomValue=randomValuesStandard}catch(e){try{var crypto=require("crypto");var randomValueNodeJS=function(){var buf=crypto["randomBytes"](4);return(buf[0]<<24|buf[1]<<16|buf[2]<<8|buf[3])>>>0};randomValueNodeJS();Module.getRandomValue=randomValueNodeJS}catch(e){throw"No secure random number generator found"}}}},1856910:$0=>{throw UTF8ToString($0)}};function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){callbacks.shift()(Module)}}function jsStackTrace(){var error=new Error;if(!error.stack){try{throw new Error}catch(e){error=e}if(!error.stack){return"(no stack trace available)"}}return error.stack.toString()}function setValue(ptr,value,type="i8"){if(type.endsWith("*"))type="*";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;case"*":HEAPU32[ptr>>2]=value;break;default:abort("invalid type for setValue: "+type)}}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function ___cxa_allocate_exception(size){return _malloc(size+24)+24}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___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);exception_addRef(info);return info.get_exception_ptr()}var exceptionLast=0;function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24;this.set_type=function(type){HEAPU32[this.ptr+4>>2]=type};this.get_type=function(){return HEAPU32[this.ptr+4>>2]};this.set_destructor=function(destructor){HEAPU32[this.ptr+8>>2]=destructor};this.get_destructor=function(){return HEAPU32[this.ptr+8>>2]};this.set_refcount=function(refcount){HEAP32[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;HEAP8[this.ptr+12>>0]=caught};this.get_caught=function(){return HEAP8[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return HEAP8[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){var value=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=value+1};this.release_ref=function(){var prev=HEAP32[this.ptr>>2];HEAP32[this.ptr>>2]=prev-1;return prev===1};this.set_adjusted_ptr=function(adjustedPtr){HEAPU32[this.ptr+16>>2]=adjustedPtr};this.get_adjusted_ptr=function(){return HEAPU32[this.ptr+16>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function getWasmTableEntry(funcPtr){return wasmTable.get(funcPtr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){getWasmTableEntry(destructor)(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var info=exceptionCaught.pop();exception_decRef(info);exceptionLast=0}function ___resumeException(ptr){if(!exceptionLast){exceptionLast=ptr}throw ptr}function ___cxa_find_matching_catch_2(){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}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i>2]=value;return value}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:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:(l,r)=>{return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){var randomBuffer=new Uint8Array(1);return()=>{crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return()=>crypto_module["randomBytes"](1)[0]}catch(e){}}return()=>abort("randomDevice")}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[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;i0?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 TTY={ttys:[],init:function(){},shutdown:function(){},register:function(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open:function(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close:function(stream){stream.tty.ops.fsync(stream.tty)},fsync:function(stream){stream.tty.ops.fsync(stream.tty)},read:function(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){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function zeroMemory(address,size){HEAPU8.fill(0,address,address+size)}function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var 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:function(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:function(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:function(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:function(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:function(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:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(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;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(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:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(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{assert(arrayBuffer,'Loading data file "'+url+'" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw'Loading data file "'+url+'" failed.'}});if(dep)addRunDependency(dep)}var ERRNO_CODES={};var NODEFS={isWindows:false,staticInit:()=>{NODEFS.isWindows=!!process.platform.match(/^win/);var flags=process["binding"]("constants");if(flags["fs"]){flags=flags["fs"]}NODEFS.flagsForNodeMap={1024:flags["O_APPEND"],64:flags["O_CREAT"],128:flags["O_EXCL"],256:flags["O_NOCTTY"],0:flags["O_RDONLY"],2:flags["O_RDWR"],4096:flags["O_SYNC"],512:flags["O_TRUNC"],1:flags["O_WRONLY"],131072:flags["O_NOFOLLOW"]}},convertNodeCode:e=>{var code=e.code;return ERRNO_CODES[code]},mount:mount=>{return NODEFS.createNode(null,"/",NODEFS.getMode(mount.opts.root),0)},createNode:(parent,name,mode,dev)=>{if(!FS.isDir(mode)&&!FS.isFile(mode)&&!FS.isLink(mode)){throw new FS.ErrnoError(28)}var node=FS.createNode(parent,name,mode);node.node_ops=NODEFS.node_ops;node.stream_ops=NODEFS.stream_ops;return node},getMode:path=>{var stat;try{stat=fs.lstatSync(path);if(NODEFS.isWindows){stat.mode=stat.mode|(stat.mode&292)>>2}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return stat.mode},realPath:node=>{var parts=[];while(node.parent!==node){parts.push(node.name);node=node.parent}parts.push(node.mount.opts.root);parts.reverse();return PATH.join.apply(null,parts)},flagsForNode:flags=>{flags&=~2097152;flags&=~2048;flags&=~32768;flags&=~524288;flags&=~65536;var newFlags=0;for(var k in NODEFS.flagsForNodeMap){if(flags&k){newFlags|=NODEFS.flagsForNodeMap[k];flags^=k}}if(flags){throw new FS.ErrnoError(28)}return newFlags},node_ops:{getattr:node=>{var path=NODEFS.realPath(node);var stat;try{stat=fs.lstatSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}if(NODEFS.isWindows&&!stat.blksize){stat.blksize=4096}if(NODEFS.isWindows&&!stat.blocks){stat.blocks=(stat.size+stat.blksize-1)/stat.blksize|0}return{dev:stat.dev,ino:stat.ino,mode:stat.mode,nlink:stat.nlink,uid:stat.uid,gid:stat.gid,rdev:stat.rdev,size:stat.size,atime:stat.atime,mtime:stat.mtime,ctime:stat.ctime,blksize:stat.blksize,blocks:stat.blocks}},setattr:(node,attr)=>{var path=NODEFS.realPath(node);try{if(attr.mode!==undefined){fs.chmodSync(path,attr.mode);node.mode=attr.mode}if(attr.timestamp!==undefined){var date=new Date(attr.timestamp);fs.utimesSync(path,date,date)}if(attr.size!==undefined){fs.truncateSync(path,attr.size)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},lookup:(parent,name)=>{var path=PATH.join2(NODEFS.realPath(parent),name);var mode=NODEFS.getMode(path);return NODEFS.createNode(parent,name,mode)},mknod:(parent,name,mode,dev)=>{var node=NODEFS.createNode(parent,name,mode,dev);var path=NODEFS.realPath(node);try{if(FS.isDir(node.mode)){fs.mkdirSync(path,node.mode)}else{fs.writeFileSync(path,"",{mode:node.mode})}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}return node},rename:(oldNode,newDir,newName)=>{var oldPath=NODEFS.realPath(oldNode);var newPath=PATH.join2(NODEFS.realPath(newDir),newName);try{fs.renameSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}oldNode.name=newName},unlink:(parent,name)=>{var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.unlinkSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},rmdir:(parent,name)=>{var path=PATH.join2(NODEFS.realPath(parent),name);try{fs.rmdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readdir:node=>{var path=NODEFS.realPath(node);try{return fs.readdirSync(path)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},symlink:(parent,newName,oldPath)=>{var newPath=PATH.join2(NODEFS.realPath(parent),newName);try{fs.symlinkSync(oldPath,newPath)}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},readlink:node=>{var path=NODEFS.realPath(node);try{path=fs.readlinkSync(path);path=nodePath.relative(nodePath.resolve(node.mount.opts.root),path);return path}catch(e){if(!e.code)throw e;if(e.code==="UNKNOWN")throw new FS.ErrnoError(28);throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}},stream_ops:{open:stream=>{var path=NODEFS.realPath(stream.node);try{if(FS.isFile(stream.node.mode)){stream.nfd=fs.openSync(path,NODEFS.flagsForNode(stream.flags))}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},close:stream=>{try{if(FS.isFile(stream.node.mode)&&stream.nfd){fs.closeSync(stream.nfd)}}catch(e){if(!e.code)throw e;throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},read:(stream,buffer,offset,length,position)=>{if(length===0)return 0;try{return fs.readSync(stream.nfd,Buffer.from(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},write:(stream,buffer,offset,length,position)=>{try{return fs.writeSync(stream.nfd,Buffer.from(buffer.buffer),offset,length,position)}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}},llseek:(stream,offset,whence)=>{var position=offset;if(whence===1){position+=stream.position}else if(whence===2){if(FS.isFile(stream.node.mode)){try{var stat=fs.fstatSync(stream.nfd);position+=stat.size}catch(e){throw new FS.ErrnoError(NODEFS.convertNodeCode(e))}}}if(position<0){throw new FS.ErrnoError(28)}return position},mmap:(stream,length,position,prot,flags)=>{if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}var ptr=mmapAlloc(length);NODEFS.stream_ops.read(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(mmapFlags&2){return 0}var bytesWritten=NODEFS.stream_ops.write(stream,buffer,0,length,offset,false);return 0}}};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:(path,opts={})=>{path=PATH_FS.resolve(FS.cwd(),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.normalizeArray(path.split("/").filter(p=>!!p),false);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,parent)}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},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags=="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},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=>{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:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}},flags:{get:function(){return this.shared.flags},set:function(val){this.shared.flags=val}},position:{get:function(){return this.shared.position},set:function(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){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.apply(check,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:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev=="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path=="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags=="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode=="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path=="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512&&!created){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false});if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS,"NODEFS":NODEFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(!ret.exists){return null}return ret.object},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent=="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent=="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data=="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent=="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_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};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;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});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,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node},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){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)};openRequest.onsuccess=()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=()=>{ok++;if(ok+fail==total)finish()};putRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()};getRequest.onerror=()=>{fail++;if(ok+fail==total)finish()}});transaction.onerror=onerror};openRequest.onerror=onerror}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;tempI64=[Math.floor(stat.atime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.atime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAP32[buf+64>>2]=0;tempI64=[Math.floor(stat.mtime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.mtime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAP32[buf+80>>2]=0;tempI64=[Math.floor(stat.ctime.getTime()/1e3)>>>0,(tempDouble=Math.floor(stat.ctime.getTime()/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];HEAP32[buf+96>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+104>>2]=tempI64[0],HEAP32[buf+108>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream}};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getcwd(buf,size){try{if(size===0)return-28;var cwd=FS.cwd();var cwdLengthInBytes=lengthBytesUTF8(cwd)+1;if(size>>0,(tempDouble=id,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos>>2]=tempI64[0],HEAP32[dirp+pos+4>>2]=tempI64[1];tempI64=[(idx+1)*struct_size>>>0,(tempDouble=(idx+1)*struct_size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[dirp+pos+8>>2]=tempI64[0],HEAP32[dirp+pos+12>>2]=tempI64[1];HEAP16[dirp+pos+16>>1]=280;HEAP8[dirp+pos+18>>0]=type;stringToUTF8(name,dirp+pos+19,256);pos+=struct_size;idx+=1}FS.llseek(stream,idx*struct_size,0);return pos}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~4352;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_readlinkat(dirfd,path,buf,bufsize){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __emscripten_date_now(){return Date.now()}function __emscripten_fs_load_embedded_files(ptr){do{var name_addr=HEAPU32[ptr>>2];ptr+=4;var len=HEAPU32[ptr>>2];ptr+=4;var content=HEAPU32[ptr>>2];ptr+=4;var name=UTF8ToString(name_addr);FS.createPath("/",PATH.dirname(name),true,true);FS.createDataFile(name,null,HEAP8.subarray(content,content+len),true,true,true)}while(HEAPU32[ptr>>2])}var nowIsMonotonic=true;function __emscripten_get_now_is_monotonic(){return nowIsMonotonic}function readI53FromI64(ptr){return HEAPU32[ptr>>2]+HEAP32[ptr+4>>2]*4294967296}function __gmtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[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;HEAP32[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(readI53FromI64(time)*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __munmap_js(addr,len,prot,flags,fd,offset){try{var stream=FS.getStream(fd);if(stream){if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function _tzset_impl(timezone,daylight,tzname){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);HEAP32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=HEAPU8[sigPtr++]){buf+=ch!=105&buf;readAsmConstArgsArray.push(ch==105?HEAP32[buf]:HEAPF64[buf++>>1]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6}}else _emscripten_get_now=()=>performance.now();function reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function convertI32PairToI53(lo,hi){return(lo>>>0)+hi*4294967296}function convertU32PairToI53(lo,hi){return(lo>>>0)+(hi>>>0)*4294967296}function reSign(value,bits){if(value<=0){return value}var half=bits<=32?Math.abs(1<=half&&(bits<=32||value>half)){value=-2*half+value}return value}function unSign(value,bits){if(value>=0){return value}return bits<=32?2*Math.abs(1<>3];argIndex+=8}else if(type=="i64"){ret=[HEAP32[argIndex>>2],HEAP32[argIndex+4>>2]];argIndex+=8}else{type="i32";ret=HEAP32[argIndex>>2];argIndex+=4}return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break}case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;currArg=getNextArg("i"+argSize*8);var argText;if(argSize==8){currArg=next==117?convertU32PairToI53(currArg[0],currArg[1]):convertI32PairToI53(currArg[0],currArg[1])}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){argText=reSign(currArg,8*argSize).toString(10)}else if(next==117){argText=unSign(currArg,8*argSize).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.lengthexponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].includes(".")&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break}case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break}case"%":{ret.push(curr);break}default:{for(var i=startTextIndex;i>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function traverseStack(args){if(!args||!args.callee||!args.callee.name){return[null,"",""]}var funstr=args.callee.toString();var funcname=args.callee.name;var str="(";var first=true;for(var i in args){var a=args[i];if(!first){str+=", "}first=false;if(typeof a=="number"||typeof a=="string"){str+=a}else{str+="("+typeof a+")"}}str+=")";var caller=args.callee.caller;args=caller?caller.arguments:[];if(first)str="";return[args,funcname,str]}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;if(ENVIRONMENT_IS_NODE)text="warning: "+text;err(text)}}function _emscripten_get_callstack_js(flags){var callstack=jsStackTrace();var iThisFunc=callstack.lastIndexOf("_emscripten_log");var iThisFunc2=callstack.lastIndexOf("_emscripten_get_callstack");var iNextLine=callstack.indexOf("\n",Math.max(iThisFunc,iThisFunc2))+1;callstack=callstack.slice(iNextLine);if(flags&32){warnOnce("EM_LOG_DEMANGLE is deprecated; ignoring")}if(flags&8&&typeof emscripten_source_map=="undefined"){warnOnce('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.');flags^=8;flags|=16}var stack_args=null;if(flags&128){stack_args=traverseStack(arguments);while(stack_args[1].includes("_emscripten_"))stack_args=traverseStack(stack_args[0])}var lines=callstack.split("\n");callstack="";var newFirefoxRe=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)");var firefoxRe=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?");var chromeRe=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var l in lines){var line=lines[l];var symbolName="";var file="";var lineno=0;var column=0;var parts=chromeRe.exec(line);if(parts&&parts.length==5){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]}else{parts=newFirefoxRe.exec(line);if(!parts)parts=firefoxRe.exec(line);if(parts&&parts.length>=4){symbolName=parts[1];file=parts[2];lineno=parts[3];column=parts[4]|0}else{callstack+=line+"\n";continue}}var haveSourceMap=false;if(flags&8){var orig=emscripten_source_map.originalPositionFor({line:lineno,column:column});haveSourceMap=orig&&orig.source;if(haveSourceMap){if(flags&64){orig.source=orig.source.substring(orig.source.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=" at "+symbolName+" ("+orig.source+":"+orig.line+":"+orig.column+")\n"}}if(flags&16||!haveSourceMap){if(flags&64){file=file.substring(file.replace(/\\/g,"/").lastIndexOf("/")+1)}callstack+=(haveSourceMap?" = "+symbolName:" at "+symbolName)+" ("+file+":"+lineno+":"+column+")\n"}if(flags&128&&stack_args[0]){if(stack_args[1]==symbolName&&stack_args[2].length>0){callstack=callstack.replace(/\s+$/,"");callstack+=" with values: "+stack_args[1]+stack_args[2]+"\n"}stack_args=traverseStack(stack_args[0])}}callstack=callstack.replace(/\s+$/,"");return callstack}function _emscripten_log_js(flags,str){if(flags&24){str=str.replace(/\s+$/,"");str+=(str.length>0?"\n":"")+_emscripten_get_callstack_js(flags)}if(flags&1){if(flags&4){console.error(str)}else if(flags&2){console.warn(str)}else if(flags&512){console.info(str)}else if(flags&256){console.debug(str)}else{console.log(str)}}else if(flags&6){err(str)}else{out(str)}}function _emscripten_log(flags,format,varargs){var result=formatString(format,varargs);var str=UTF8ArrayToString(result,0);_emscripten_log_js(flags,str)}function getHeapMax(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function 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}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAPU32[penviron_buf_size>>2]=bufSize;return 0}function _proc_exit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}function exitJS(status,implicit){EXITSTATUS=status;_proc_exit(status)}var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doReadv(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN}function _fd_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt,offset);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doReadv(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var offset=convertI32PairToI53Checked(offset_low,offset_high);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.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function doWritev(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}var tempRet0=0;function getTempRet0(){return tempRet0}var _getTempRet0=getTempRet0;function _getentropy(buffer,size){if(!_getentropy.randomDevice){_getentropy.randomDevice=getRandomDevice()}for(var i=0;i>0]=_getentropy.randomDevice()}return 0}function _llvm_eh_typeid_for(type){return type}function setTempRet0(val){tempRet0=val}var _setTempRet0=setTempRet0;function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":function(date){var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&__isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!__isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":function(date){return date.tm_wday},"%W":function(date){var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":function(date){return(date.tm_year+1900).toString().substring(2)},"%Y":function(date){return date.tm_year+1900},"%z":function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function uleb128Encode(n,target){if(n<128){target.push(n)}else{target.push(n%128|128,n>>7)}}function sigToWasmTypes(sig){var typeNames={"i":"i32","j":"i64","f":"f32","d":"f64","p":"i32"};var type={parameters:[],results:sig[0]=="v"?[]:[typeNames[sig[0]]]};for(var i=1;i{var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;itype==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_unlink"]=FS.unlink;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;if(ENVIRONMENT_IS_NODE){requireNodeFS();NODEFS.staticInit()}ERRNO_CODES={"EPERM":63,"ENOENT":44,"ESRCH":71,"EINTR":27,"EIO":29,"ENXIO":60,"E2BIG":1,"ENOEXEC":45,"EBADF":8,"ECHILD":12,"EAGAIN":6,"EWOULDBLOCK":6,"ENOMEM":48,"EACCES":2,"EFAULT":21,"ENOTBLK":105,"EBUSY":10,"EEXIST":20,"EXDEV":75,"ENODEV":43,"ENOTDIR":54,"EISDIR":31,"EINVAL":28,"ENFILE":41,"EMFILE":33,"ENOTTY":59,"ETXTBSY":74,"EFBIG":22,"ENOSPC":51,"ESPIPE":70,"EROFS":69,"EMLINK":34,"EPIPE":64,"EDOM":18,"ERANGE":68,"ENOMSG":49,"EIDRM":24,"ECHRNG":106,"EL2NSYNC":156,"EL3HLT":107,"EL3RST":108,"ELNRNG":109,"EUNATCH":110,"ENOCSI":111,"EL2HLT":112,"EDEADLK":16,"ENOLCK":46,"EBADE":113,"EBADR":114,"EXFULL":115,"ENOANO":104,"EBADRQC":103,"EBADSLT":102,"EDEADLOCK":16,"EBFONT":101,"ENOSTR":100,"ENODATA":116,"ETIME":117,"ENOSR":118,"ENONET":119,"ENOPKG":120,"EREMOTE":121,"ENOLINK":47,"EADV":122,"ESRMNT":123,"ECOMM":124,"EPROTO":65,"EMULTIHOP":36,"EDOTDOT":125,"EBADMSG":9,"ENOTUNIQ":126,"EBADFD":127,"EREMCHG":128,"ELIBACC":129,"ELIBBAD":130,"ELIBSCN":131,"ELIBMAX":132,"ELIBEXEC":133,"ENOSYS":52,"ENOTEMPTY":55,"ENAMETOOLONG":37,"ELOOP":32,"EOPNOTSUPP":138,"EPFNOSUPPORT":139,"ECONNRESET":15,"ENOBUFS":42,"EAFNOSUPPORT":5,"EPROTOTYPE":67,"ENOTSOCK":57,"ENOPROTOOPT":50,"ESHUTDOWN":140,"ECONNREFUSED":14,"EADDRINUSE":3,"ECONNABORTED":13,"ENETUNREACH":40,"ENETDOWN":38,"ETIMEDOUT":73,"EHOSTDOWN":142,"EHOSTUNREACH":23,"EINPROGRESS":26,"EALREADY":7,"EDESTADDRREQ":17,"EMSGSIZE":35,"EPROTONOSUPPORT":66,"ESOCKTNOSUPPORT":137,"EADDRNOTAVAIL":4,"ENETRESET":39,"EISCONN":30,"ENOTCONN":53,"ETOOMANYREFS":141,"EUSERS":136,"EDQUOT":19,"ESTALE":72,"ENOTSUP":138,"ENOMEDIUM":148,"EILSEQ":25,"EOVERFLOW":61,"ECANCELED":11,"ENOTRECOVERABLE":56,"EOWNERDEAD":62,"ESTRPIPE":135};var asmLibraryArg={"j":___cxa_allocate_exception,"s":___cxa_begin_catch,"t":___cxa_end_catch,"b":___cxa_find_matching_catch_2,"i":___cxa_find_matching_catch_3,"F":___cxa_find_matching_catch_4,"B":___cxa_find_matching_catch_5,"M":___cxa_find_matching_catch_6,"J":___cxa_find_matching_catch_7,"m":___cxa_free_exception,"O":___cxa_rethrow,"n":___cxa_throw,"sa":___cxa_uncaught_exceptions,"f":___resumeException,"V":___syscall_fcntl64,"Da":___syscall_fstat64,"va":___syscall_getcwd,"wa":___syscall_getdents64,"T":___syscall_ioctl,"Aa":___syscall_lstat64,"Ba":___syscall_newfstatat,"U":___syscall_openat,"ua":___syscall_readlinkat,"Ca":___syscall_stat64,"K":__emscripten_date_now,"Ja":__emscripten_fs_load_embedded_files,"Fa":__emscripten_get_now_is_monotonic,"Ga":__gmtime_js,"Ha":__localtime_js,"xa":__munmap_js,"Ia":__tzset_js,"z":_abort,"L":_emscripten_asm_const_int,"Ea":_emscripten_get_now,"W":_emscripten_log,"ta":_emscripten_resize_heap,"ya":_environ_get,"za":_environ_sizes_get,"Ka":_exit,"H":_fd_close,"Z":_fd_pread,"R":_fd_read,"_":_fd_seek,"S":_fd_write,"a":_getTempRet0,"pa":_getentropy,"P":invoke_diii,"Q":invoke_fiii,"v":invoke_i,"h":invoke_ii,"c":invoke_iii,"k":invoke_iiii,"l":invoke_iiiii,"ra":invoke_iiiiid,"p":invoke_iiiiii,"r":invoke_iiiiiii,"u":invoke_iiiiiiii,"N":invoke_iiiiiiiii,"I":invoke_iiiiiiiiii,"C":invoke_iiiiiiiiiiii,"Y":invoke_iiiiij,"aa":invoke_iiiij,"ma":invoke_iij,"da":invoke_iiji,"ia":invoke_j,"oa":invoke_ji,"ca":invoke_jii,"X":invoke_jiiii,"ea":invoke_jijj,"q":invoke_v,"d":invoke_vi,"g":invoke_vii,"e":invoke_viii,"o":invoke_viiii,"x":invoke_viiiii,"y":invoke_viiiiii,"A":invoke_viiiiiii,"D":invoke_viiiiiiiiii,"G":invoke_viiiiiiiiiiiiiii,"ha":invoke_viiij,"fa":invoke_viiijj,"$":invoke_viiijjj,"na":invoke_viij,"la":invoke_viijii,"ja":invoke_viijj,"ka":invoke_viijjii,"ga":invoke_vij,"ba":invoke_viji,"w":_llvm_eh_typeid_for,"E":_setTempRet0,"qa":_strftime_l};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["Ma"]).apply(null,arguments)};var _version=Module["_version"]=function(){return(_version=Module["_version"]=Module["asm"]["Na"]).apply(null,arguments)};var _func_compile=Module["_func_compile"]=function(){return(_func_compile=Module["_func_compile"]=Module["asm"]["Oa"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["Qa"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["Ra"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["Sa"]).apply(null,arguments)};var _emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=function(){return(_emscripten_builtin_memalign=Module["_emscripten_builtin_memalign"]=Module["asm"]["Ta"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["Ua"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Va"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["Wa"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Xa"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["Ya"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["Za"]).apply(null,arguments)};var dynCall_ji=Module["dynCall_ji"]=function(){return(dynCall_ji=Module["dynCall_ji"]=Module["asm"]["_a"]).apply(null,arguments)};var dynCall_viij=Module["dynCall_viij"]=function(){return(dynCall_viij=Module["dynCall_viij"]=Module["asm"]["$a"]).apply(null,arguments)};var dynCall_iij=Module["dynCall_iij"]=function(){return(dynCall_iij=Module["dynCall_iij"]=Module["asm"]["ab"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["bb"]).apply(null,arguments)};var dynCall_viijjii=Module["dynCall_viijjii"]=function(){return(dynCall_viijjii=Module["dynCall_viijjii"]=Module["asm"]["cb"]).apply(null,arguments)};var dynCall_viijj=Module["dynCall_viijj"]=function(){return(dynCall_viijj=Module["dynCall_viijj"]=Module["asm"]["db"]).apply(null,arguments)};var dynCall_viiijj=Module["dynCall_viiijj"]=function(){return(dynCall_viiijj=Module["dynCall_viiijj"]=Module["asm"]["eb"]).apply(null,arguments)};var dynCall_j=Module["dynCall_j"]=function(){return(dynCall_j=Module["dynCall_j"]=Module["asm"]["fb"]).apply(null,arguments)};var dynCall_viiij=Module["dynCall_viiij"]=function(){return(dynCall_viiij=Module["dynCall_viiij"]=Module["asm"]["gb"]).apply(null,arguments)};var dynCall_vij=Module["dynCall_vij"]=function(){return(dynCall_vij=Module["dynCall_vij"]=Module["asm"]["hb"]).apply(null,arguments)};var dynCall_jijj=Module["dynCall_jijj"]=function(){return(dynCall_jijj=Module["dynCall_jijj"]=Module["asm"]["ib"]).apply(null,arguments)};var dynCall_iiji=Module["dynCall_iiji"]=function(){return(dynCall_iiji=Module["dynCall_iiji"]=Module["asm"]["jb"]).apply(null,arguments)};var dynCall_jii=Module["dynCall_jii"]=function(){return(dynCall_jii=Module["dynCall_jii"]=Module["asm"]["kb"]).apply(null,arguments)};var dynCall_viji=Module["dynCall_viji"]=function(){return(dynCall_viji=Module["dynCall_viji"]=Module["asm"]["lb"]).apply(null,arguments)};var dynCall_iiiij=Module["dynCall_iiiij"]=function(){return(dynCall_iiiij=Module["dynCall_iiiij"]=Module["asm"]["mb"]).apply(null,arguments)};var dynCall_viiijjj=Module["dynCall_viiijjj"]=function(){return(dynCall_viiijjj=Module["dynCall_viiijjj"]=Module["asm"]["nb"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["ob"]).apply(null,arguments)};var dynCall_jiiii=Module["dynCall_jiiii"]=function(){return(dynCall_jiiii=Module["dynCall_jiiii"]=Module["asm"]["pb"]).apply(null,arguments)};var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=1640360;function invoke_vii(index,a1,a2){var sp=stackSave();try{getWasmTableEntry(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{getWasmTableEntry(index)(a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{getWasmTableEntry(index)(a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return getWasmTableEntry(index)(a1)}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 getWasmTableEntry(index)(a1,a2,a3)}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{getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{getWasmTableEntry(index)()}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return getWasmTableEntry(index)()}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 getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}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 getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6)}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{getWasmTableEntry(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_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8)}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 getWasmTableEntry(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_iiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7,a8,a9)}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{getWasmTableEntry(index)(a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiid(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_fiii(index,a1,a2,a3){var sp=stackSave();try{return getWasmTableEntry(index)(a1,a2,a3)}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 getWasmTableEntry(index)(a1,a2,a3)}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{getWasmTableEntry(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_ji(index,a1){var sp=stackSave();try{return dynCall_ji(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viij(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viij(index,a1,a2,a3,a4)}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)}}function invoke_viijii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{dynCall_viijjii(index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viijj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viijj(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_j(index){var sp=stackSave();try{return dynCall_j(index)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_viiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_vij(index,a1,a2,a3){var sp=stackSave();try{dynCall_vij(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiijj(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jijj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jijj(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiji(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jii(index,a1,a2){var sp=stackSave();try{return dynCall_jii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viji(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_iiiij(index,a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){var sp=stackSave();try{dynCall_viiijjj(index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiiij(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiij(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_jiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["FS_unlink"]=FS.unlink;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["addFunction"]=addFunction;Module["removeFunction"]=removeFunction;Module["setValue"]=setValue;Module["FS"]=FS;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){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(); return CompilerModule.ready diff --git a/src/funcfiftlib.wasm b/src/funcfiftlib.wasm old mode 100644 new mode 100755 index d6221beaa35b9c6920ede99325dca90ecf74f8cf..0fae79597b492804ee10afdb94c8510abd98a8f5 GIT binary patch delta 1832401 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