From 1286893510fa30b83c7df3b0707a8010eea748a0 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
<41898282+github-actions[bot]@users.noreply.github.com>
Date: Tue, 21 Jul 2026 08:34:26 +0000
Subject: [PATCH] Update J to 9.8.0-beta6
---
index.html | 2 +-
scripts/generate-og-languages.cjs | 2 +-
scripts/known-versions.json | 2 +-
wasm/j/emj.data | 38 +++++++++++++++++++-----------
wasm/j/emj.js | 2 +-
wasm/j/emj.wasm | Bin 3117836 -> 3121293 bytes
6 files changed, 28 insertions(+), 18 deletions(-)
diff --git a/index.html b/index.html
index 070b37f..a0aa8ab 100644
--- a/index.html
+++ b/index.html
@@ -1256,7 +1256,7 @@

diff --git a/scripts/generate-og-languages.cjs b/scripts/generate-og-languages.cjs
index 65f91a5..ebad131 100644
--- a/scripts/generate-og-languages.cjs
+++ b/scripts/generate-og-languages.cjs
@@ -31,7 +31,7 @@ const LANGS = [
{ name: 'BQN', version: 'CBQN 0.12', file: 'bqn.svg' },
{ name: 'Uiua', version: '0.19.0-dev.4', file: 'uiua.png' },
// Row 2
- { name: 'J', version: 'J9.8.0-beta5', file: 'j_logo.svg' },
+ { name: 'J', version: 'J9.8.0-beta6', file: 'j_logo.svg' },
{ name: 'Kap', version: '2026-07-20', file: 'kap.png' },
{ name: 'TinyAPL', version: '0.13-beta', file: 'tinyapl.svg' },
];
diff --git a/scripts/known-versions.json b/scripts/known-versions.json
index f956dd0..bb5b4d3 100644
--- a/scripts/known-versions.json
+++ b/scripts/known-versions.json
@@ -1,7 +1,7 @@
{
"cbqn": "v0.12.0",
"uiua": "0.19.0-dev.4",
- "j": "9.8.0-beta5",
+ "j": "9.8.0-beta6",
"kap": "20260720-1",
"tinyapl": "0.12.0"
}
diff --git a/wasm/j/emj.data b/wasm/j/emj.data
index 20f9214..e86934c 100644
--- a/wasm/j/emj.data
+++ b/wasm/j/emj.data
@@ -974,7 +974,7 @@ HS=: SZI*HSN
AFRO=: 1
AFNJA=: 2
NULLPTR=: <0
-allochdr=: 3 : 'r[2 setHADC r=.15!:8 y'
+allochdr=: 3 : '15!:8 y'
freehdr=: 15!:9
msize=: gethadmsize=: 3 : 'memr y,HADM,1,JINT'
fullname=: 3 : 0
@@ -1012,6 +1012,7 @@ end.
getHADC=: 3 : ' memr y,HADC,1,JINT'
setHADC=: 4 : 'x memw y,HADC,1,JINT'
refcount=: getHADC
+initc=:initc"_`(((15!:9 ] 01 memw ,&(HADT,1,JINT)) ] 2 {.@:= getHADC)@(15!:8))@.(_1 = 4!:0 <'initc') 0
3 : 0''
if. IFUNIX do.
@@ -1212,7 +1213,7 @@ i. 0 0
showmap=: 3 : 0
h=. 'name';'fn';'sn';'fh';'mh';'address';'header';'fsize';'jmf';'mt';'msize';'refs'
hads=. 6{"1 mappings
-h,mappings,.(gethadmsize each hads),.refcount each hads
+h,mappings,.(gethadmsize each hads),.((1-initc) + refcount) each hads
)
mapsub=: 3 : 0
'name fn sn ro'=. y
@@ -1282,7 +1283,7 @@ if. ro*.0=type do.
had=. allochdr 63
d=. memr fad,0,HSN,JINT
d=. (sfu HS+-/ufs fad,had),aa,2}.d
- d=. 1 HADCN} d
+ d=. initc HADCN} d
d setheader had
elseif. 0=type do.
had=. fad
@@ -1293,21 +1294,23 @@ elseif. 0=type do.
else.
t=. 10000+ getHADC had
end.
- (,t+1) setHADC had
-elseif. 1 do.
+ (,t+initc) setHADC had
+else.
had=. allochdr 63
'JBOXED (non-jmf) not supported' assert JBOXED~:type
bx=. JBOXED=type
hs=. +/hsize [ asize=. JSIZES {~ JTYPES i. type
lshape=. bx}.<.(ts-hs)%(*/tshape)*asize
d=. sfu hs+-/ufs fad,had
- h=. d,aa,ts,type,1,(*/lshape,tshape),((-.bx)+#tshape),lshape,tshape
+ h=. d,aa,ts,type,initc,(*/lshape,tshape),((-.bx)+#tshape),lshape,tshape
h setheader had
end.
m=. (had;0=type) (MAPHEADER,MAPJMF)}m
mappings=: mappings,m
+if. -. initc do. (1{a.) memw had,(3 3 p. SZI),1,JCHAR end.
(name)=: 15!:7 had
+if. -. initc do. (0{a.) memw had,(3 3 p. SZI),1,JCHAR end.
i.0 0
)
remap=: 3 : 0
@@ -1342,11 +1345,18 @@ n=.
:ac) setHADC had
+ if. initc do. 4!:55 ::] n else. (271828) 4!:55 ::] n end.
+ (<:ac) setHADC had
+else.
+ if. initc do. 4!:55 ::] n else. (271828) 4!:55 ::] n end.
+ if. initc do. freehdr had end.
+end.
if. _1=newsize do.
free fh,mh,fad
else.
@@ -1410,13 +1420,13 @@ DESCRIPTION=: 0 : 0
J Memory Mapped File
)
-VERSION=: '1.0.44'
+VERSION=: '1.0.45'
RELEASE=: ''
FOLDER=: 'data/jmf'
-PLATFORMS=: ''
+PLATFORMS=: 'j9.8'
FILES=: 0 : 0
history.txt
@@ -21473,7 +21483,7 @@ Public=: i. 0 2
UserFolders=: i. 0 2
getignore=: 3 : 0
r=. ' colib compare convert coutil dates dir dll files libpath strings text gl2 graphics/gl2'
-Ignore=: <;._1 r
+Ignore=: (<;._1 r), ((-.IFQT)#<'ide/qt'), ((-.IFJA)#<'ide/ja'), ((-.IFWIN)#<'ide/jnet'), ((IFQT+.IFJA+.IFJNET)#<'ide/jhs')
)
getignore''
@@ -21723,7 +21733,7 @@ empty''
)
loadd=: 1&load
require=: 3 : 0
-fls=. (getscripts_j_ y) -. 4!:3''
+fls=. (getscripts_j_ y) -. jpathsep&.> 4!:3''
if. # fls do. load fls else. empty'' end.
)
scripts=: scripts_j_
diff --git a/wasm/j/emj.js b/wasm/j/emj.js
index da9097d..98902d1 100644
--- a/wasm/j/emj.js
+++ b/wasm/j/emj.js
@@ -1 +1 @@
-var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="/build/wasm-output/emj.data";var REMOTE_PACKAGE_BASE="emj.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","jlibrary",true,true);Module["FS_createPath"]("/jlibrary","addons",true,true);Module["FS_createPath"]("/jlibrary/addons","data",true,true);Module["FS_createPath"]("/jlibrary/addons/data","dict",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jfiles",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jfiles","test",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jmf",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jmf","test",true,true);Module["FS_createPath"]("/jlibrary/addons","dev",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","eformat",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","lu",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","modular",true,true);Module["FS_createPath"]("/jlibrary/addons","math",true,true);Module["FS_createPath"]("/jlibrary/addons/math","lapack",true,true);Module["FS_createPath"]("/jlibrary","bin",true,true);Module["FS_createPath"]("/jlibrary","system",true,true);Module["FS_createPath"]("/jlibrary/system","config",true,true);Module["FS_createPath"]("/jlibrary/system","defs",true,true);Module["FS_createPath"]("/jlibrary/system","main",true,true);Module["FS_createPath"]("/jlibrary/system","util",true,true);Module["FS_createPath"]("/jlibrary","tools",true,true);Module["FS_createPath"]("/jlibrary/tools","ftp",true,true);Module["FS_createPath"]("/jlibrary/tools","regex",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];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;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(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,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[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(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)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="emj.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function execHost(ptr){var cmd=Module.UTF8ToString(ptr);try{var ret=eval(cmd)||" "}catch(e){console.log(e);var ret="error"}const byteCount=Module.lengthBytesUTF8(ret)+1;const retPtr=Module._malloc(byteCount);Module.stringToUTF8(ret,retPtr,byteCount);return retPtr}function execHost1(ptr){var cmd=Module.UTF8ToString(ptr);try{return eval(cmd)||""}catch(e){console.log(e);return"error"}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var ___call_sighandler=(fp,sig)=>(a1=>dynCall_vi.apply(null,[fp,a1]))(sig);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);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);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;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){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}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{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_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,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},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(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.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;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";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;ithis.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}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){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+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};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}while(FS.streams[arg]){arg++}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.getp();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.name==="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.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);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.floor(tempDouble/4294967296)>>>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.floor(tempDouble/4294967296)>>>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.name==="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:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){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.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="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.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __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=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(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);HEAPU32[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=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var 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=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var 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.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTableMirror=[];var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}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;i{var numericArgs=!argTypes||argTypes.every(type=>type==="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.createPreloadedFile=FS_createPreloadedFile;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 wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,execHost:execHost,execHost1:execHost1,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ddi:invoke_ddi,invoke_diid:invoke_diid,invoke_iidiiii:invoke_iidiiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_viiii:invoke_viiii,invoke_viiiiii:invoke_viiiiii,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _em_jdo=Module["_em_jdo"]=a0=>(_em_jdo=Module["_em_jdo"]=wasmExports["em_jdo"])(a0);var _em_jsetstr=Module["_em_jsetstr"]=(a0,a1)=>(_em_jsetstr=Module["_em_jsetstr"]=wasmExports["em_jsetstr"])(a0,a1);var _em_jgetstr=Module["_em_jgetstr"]=a0=>(_em_jgetstr=Module["_em_jgetstr"]=wasmExports["em_jgetstr"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"])(a0,a1,a2,a3);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"])(a0,a1,a2,a3,a4);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"])(a0,a1,a2,a3);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["dynCall_viiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"])(a0,a1);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"])(a0,a1,a2);var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=wasmExports["dynCall_viiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"])(a0);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["dynCall_viiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiid=Module["dynCall_iiid"]=(a0,a1,a2,a3)=>(dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"])(a0,a1,a2,a3);var dynCall_diid=Module["dynCall_diid"]=(a0,a1,a2,a3)=>(dynCall_diid=Module["dynCall_diid"]=wasmExports["dynCall_diid"])(a0,a1,a2,a3);var dynCall_ddi=Module["dynCall_ddi"]=(a0,a1,a2)=>(dynCall_ddi=Module["dynCall_ddi"]=wasmExports["dynCall_ddi"])(a0,a1,a2);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"])(a0,a1);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"])(a0,a1,a2,a3,a4);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=169108;var ___start_em_js=Module["___start_em_js"]=294144;var ___stop_em_js=Module["___stop_em_js"]=294584;function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return dynCall_ddi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iidiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iidiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(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();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);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()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
+var Module=typeof Module!="undefined"?Module:{};if(!Module.expectedDataFileDownloads){Module.expectedDataFileDownloads=0}Module.expectedDataFileDownloads++;(function(){if(Module["ENVIRONMENT_IS_PTHREAD"]||Module["$ww"])return;var loadPackage=function(metadata){var PACKAGE_PATH="";if(typeof window==="object"){PACKAGE_PATH=window["encodeURIComponent"](window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/")}else if(typeof process==="undefined"&&typeof location!=="undefined"){PACKAGE_PATH=encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/")}var PACKAGE_NAME="/build/wasm-output/emj.data";var REMOTE_PACKAGE_BASE="emj.data";if(typeof Module["locateFilePackage"]==="function"&&!Module["locateFile"]){Module["locateFile"]=Module["locateFilePackage"];err("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)")}var REMOTE_PACKAGE_NAME=Module["locateFile"]?Module["locateFile"](REMOTE_PACKAGE_BASE,""):REMOTE_PACKAGE_BASE;var REMOTE_PACKAGE_SIZE=metadata["remote_package_size"];function fetchRemotePackage(packageName,packageSize,callback,errback){if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){require("fs").readFile(packageName,function(err,contents){if(err){errback(err)}else{callback(contents.buffer)}});return}var xhr=new XMLHttpRequest;xhr.open("GET",packageName,true);xhr.responseType="arraybuffer";xhr.onprogress=function(event){var url=packageName;var size=packageSize;if(event.total)size=event.total;if(event.loaded){if(!xhr.addedTotal){xhr.addedTotal=true;if(!Module.dataFileDownloads)Module.dataFileDownloads={};Module.dataFileDownloads[url]={loaded:event.loaded,total:size}}else{Module.dataFileDownloads[url].loaded=event.loaded}var total=0;var loaded=0;var num=0;for(var download in Module.dataFileDownloads){var data=Module.dataFileDownloads[download];total+=data.total;loaded+=data.loaded;num++}total=Math.ceil(total*Module.expectedDataFileDownloads/num);if(Module["setStatus"])Module["setStatus"](`Downloading data... (${loaded}/${total})`)}else if(!Module.dataFileDownloads){if(Module["setStatus"])Module["setStatus"]("Downloading data...")}};xhr.onerror=function(event){throw new Error("NetworkError for: "+packageName)};xhr.onload=function(event){if(xhr.status==200||xhr.status==304||xhr.status==206||xhr.status==0&&xhr.response){var packageData=xhr.response;callback(packageData)}else{throw new Error(xhr.statusText+" : "+xhr.responseURL)}};xhr.send(null)}function handleError(error){console.error("package error:",error)}var fetchedCallback=null;var fetched=Module["getPreloadedPackage"]?Module["getPreloadedPackage"](REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE):null;if(!fetched)fetchRemotePackage(REMOTE_PACKAGE_NAME,REMOTE_PACKAGE_SIZE,function(data){if(fetchedCallback){fetchedCallback(data);fetchedCallback=null}else{fetched=data}},handleError);function runWithFS(){function assert(check,msg){if(!check)throw msg+(new Error).stack}Module["FS_createPath"]("/","jlibrary",true,true);Module["FS_createPath"]("/jlibrary","addons",true,true);Module["FS_createPath"]("/jlibrary/addons","data",true,true);Module["FS_createPath"]("/jlibrary/addons/data","dict",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jfiles",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jfiles","test",true,true);Module["FS_createPath"]("/jlibrary/addons/data","jmf",true,true);Module["FS_createPath"]("/jlibrary/addons/data/jmf","test",true,true);Module["FS_createPath"]("/jlibrary/addons","dev",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","eformat",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","lu",true,true);Module["FS_createPath"]("/jlibrary/addons/dev","modular",true,true);Module["FS_createPath"]("/jlibrary/addons","math",true,true);Module["FS_createPath"]("/jlibrary/addons/math","lapack",true,true);Module["FS_createPath"]("/jlibrary","bin",true,true);Module["FS_createPath"]("/jlibrary","system",true,true);Module["FS_createPath"]("/jlibrary/system","config",true,true);Module["FS_createPath"]("/jlibrary/system","defs",true,true);Module["FS_createPath"]("/jlibrary/system","main",true,true);Module["FS_createPath"]("/jlibrary/system","util",true,true);Module["FS_createPath"]("/jlibrary","tools",true,true);Module["FS_createPath"]("/jlibrary/tools","ftp",true,true);Module["FS_createPath"]("/jlibrary/tools","regex",true,true);function DataRequest(start,end,audio){this.start=start;this.end=end;this.audio=audio}DataRequest.prototype={requests:{},open:function(mode,name){this.name=name;this.requests[name]=this;Module["addRunDependency"](`fp ${this.name}`)},send:function(){},onload:function(){var byteArray=this.byteArray.subarray(this.start,this.end);this.finish(byteArray)},finish:function(byteArray){var that=this;Module["FS_createDataFile"](this.name,null,byteArray,true,true,true);Module["removeRunDependency"](`fp ${that.name}`);this.requests[this.name]=null}};var files=metadata["files"];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;if(ENVIRONMENT_IS_NODE){var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(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,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);if(typeof module!="undefined"){module["exports"]=Module}process.on("uncaughtException",ex=>{if(ex!=="unwind"&&!(ex instanceof ExitStatus)&&!(ex.context instanceof ExitStatus)){throw ex}});quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[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(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)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE!="undefined"&&ENVIRONMENT_IS_NODE){var buf=Buffer.from(s,"base64");return new Uint8Array(buf.buffer,buf.byteOffset,buf.length)}var decoded=atob(s);var bytes=new Uint8Array(decoded.length);for(var i=0;ifilename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;wasmBinaryFile="emj.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"env":wasmImports,"wasi_snapshot_preview1":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["memory"];updateMemoryViews();wasmTable=wasmExports["__indirect_function_table"];addOnInit(wasmExports["__wasm_call_ctors"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);return false}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult);return{}}var tempDouble;var tempI64;function execHost(ptr){var cmd=Module.UTF8ToString(ptr);try{var ret=eval(cmd)||" "}catch(e){console.log(e);var ret="error"}const byteCount=Module.lengthBytesUTF8(ret)+1;const retPtr=Module._malloc(byteCount);Module.stringToUTF8(ret,retPtr,byteCount);return retPtr}function execHost1(ptr){var cmd=Module.UTF8ToString(ptr);try{return eval(cmd)||""}catch(e){console.log(e);return"error"}}function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var ___assert_fail=(condition,filename,line,func)=>{abort(`Assertion failed: ${UTF8ToString(condition)}, at: `+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])};var ___call_sighandler=(fp,sig)=>(a1=>dynCall_vi.apply(null,[fp,a1]))(sig);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);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);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;i{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){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}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var mmapAlloc=size=>{size=alignMemory(size,65536);var ptr=_emscripten_builtin_memalign(65536,size);if(!ptr)return 0;return zeroMemory(ptr,size)};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{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_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,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},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(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.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;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";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;ithis.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}};var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){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+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_chdir(path){try{path=SYSCALLS.getStr(path);FS.chdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_chmod(path,mode){try{path=SYSCALLS.getStr(path);FS.chmod(path,mode);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_faccessat(dirfd,path,amode,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};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}while(FS.streams[arg]){arg++}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.getp();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.name==="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.name==="ErrnoError"))throw e;return-e.errno}}var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high);try{if(isNaN(length))return 61;FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);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.floor(tempDouble/4294967296)>>>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.floor(tempDouble/4294967296)>>>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.name==="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:{if(!stream.tty)return-59;return 0}case 21505:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcgets){var termios=stream.tty.ops.ioctl_tcgets(stream);var argp=SYSCALLS.getp();HEAP32[argp>>2]=termios.c_iflag||0;HEAP32[argp+4>>2]=termios.c_oflag||0;HEAP32[argp+8>>2]=termios.c_cflag||0;HEAP32[argp+12>>2]=termios.c_lflag||0;for(var i=0;i<32;i++){HEAP8[argp+i+17>>0]=termios.c_cc[i]||0}return 0}return 0}case 21510:case 21511:case 21512:{if(!stream.tty)return-59;return 0}case 21506:case 21507:case 21508:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tcsets){var argp=SYSCALLS.getp();var c_iflag=HEAP32[argp>>2];var c_oflag=HEAP32[argp+4>>2];var c_cflag=HEAP32[argp+8>>2];var c_lflag=HEAP32[argp+12>>2];var c_cc=[];for(var i=0;i<32;i++){c_cc.push(HEAP8[argp+i+17>>0])}return stream.tty.ops.ioctl_tcsets(stream.tty,op,{c_iflag:c_iflag,c_oflag:c_oflag,c_cflag:c_cflag,c_lflag:c_lflag,c_cc:c_cc})}return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.getp();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.getp();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;if(stream.tty.ops.ioctl_tiocgwinsz){var winsize=stream.tty.ops.ioctl_tiocgwinsz(stream.tty);var argp=SYSCALLS.getp();HEAP16[argp>>1]=winsize[0];HEAP16[argp+2>>1]=winsize[1]}return 0}case 21524:{if(!stream.tty)return-59;return 0}case 21515:{if(!stream.tty)return-59;return 0}default:return-28}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_mkdirat(dirfd,path,mode){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){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.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_rmdir(path){try{path=SYSCALLS.getStr(path);FS.rmdir(path);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="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.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var __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=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};var __emscripten_throw_longjmp=()=>{throw Infinity};var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}function __mmap_js(len,prot,flags,fd,offset_low,offset_high,allocated,addr){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);var res=FS.mmap(stream,len,offset,prot,flags);var ptr=res.ptr;HEAP32[allocated>>2]=res.allocated;HEAPU32[addr>>2]=ptr;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function __munmap_js(addr,len,prot,flags,fd,offset_low,offset_high){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);if(prot&2){SYSCALLS.doMsync(addr,stream,len,flags,offset)}FS.munmap(stream)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(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);HEAPU32[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=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>2147483648;var _emscripten_get_heap_max=()=>getHeapMax();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var 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=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var 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.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_sync(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);if(stream.stream_ops?.fsync){return stream.stream_ops.fsync(stream)}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var wasmTableMirror=[];var wasmTable;var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}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;i{var numericArgs=!argTypes||argTypes.every(type=>type==="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.createPreloadedFile=FS_createPreloadedFile;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 wasmImports={__assert_fail:___assert_fail,__call_sighandler:___call_sighandler,__syscall_chdir:___syscall_chdir,__syscall_chmod:___syscall_chmod,__syscall_faccessat:___syscall_faccessat,__syscall_fcntl64:___syscall_fcntl64,__syscall_fstat64:___syscall_fstat64,__syscall_ftruncate64:___syscall_ftruncate64,__syscall_getcwd:___syscall_getcwd,__syscall_getdents64:___syscall_getdents64,__syscall_ioctl:___syscall_ioctl,__syscall_lstat64:___syscall_lstat64,__syscall_mkdirat:___syscall_mkdirat,__syscall_newfstatat:___syscall_newfstatat,__syscall_openat:___syscall_openat,__syscall_rmdir:___syscall_rmdir,__syscall_stat64:___syscall_stat64,__syscall_unlinkat:___syscall_unlinkat,_emscripten_fs_load_embedded_files:__emscripten_fs_load_embedded_files,_emscripten_get_now_is_monotonic:__emscripten_get_now_is_monotonic,_emscripten_runtime_keepalive_clear:__emscripten_runtime_keepalive_clear,_emscripten_throw_longjmp:__emscripten_throw_longjmp,_localtime_js:__localtime_js,_mmap_js:__mmap_js,_munmap_js:__munmap_js,_tzset_js:__tzset_js,abort:_abort,emscripten_date_now:_emscripten_date_now,emscripten_get_heap_max:_emscripten_get_heap_max,emscripten_get_now:_emscripten_get_now,emscripten_memcpy_js:_emscripten_memcpy_js,emscripten_resize_heap:_emscripten_resize_heap,environ_get:_environ_get,environ_sizes_get:_environ_sizes_get,execHost:execHost,execHost1:execHost1,exit:_exit,fd_close:_fd_close,fd_read:_fd_read,fd_seek:_fd_seek,fd_sync:_fd_sync,fd_write:_fd_write,invoke_ddi:invoke_ddi,invoke_di:invoke_di,invoke_diid:invoke_diid,invoke_ii:invoke_ii,invoke_iidiiii:invoke_iidiiii,invoke_iii:invoke_iii,invoke_iiid:invoke_iiid,invoke_iiii:invoke_iiii,invoke_iiiii:invoke_iiiii,invoke_viiii:invoke_viiii,invoke_viiiiii:invoke_viiiiii,proc_exit:_proc_exit};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["__wasm_call_ctors"])();var _em_jdo=Module["_em_jdo"]=a0=>(_em_jdo=Module["_em_jdo"]=wasmExports["em_jdo"])(a0);var _em_jsetstr=Module["_em_jsetstr"]=(a0,a1)=>(_em_jsetstr=Module["_em_jsetstr"]=wasmExports["em_jsetstr"])(a0,a1);var _em_jgetstr=Module["_em_jgetstr"]=a0=>(_em_jgetstr=Module["_em_jgetstr"]=wasmExports["em_jgetstr"])(a0);var _main=Module["_main"]=(a0,a1)=>(_main=Module["_main"]=wasmExports["__main_argc_argv"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["malloc"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["__errno_location"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["free"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["setTempRet0"])(a0);var _emscripten_builtin_memalign=(a0,a1)=>(_emscripten_builtin_memalign=wasmExports["emscripten_builtin_memalign"])(a0,a1);var _setThrew=(a0,a1)=>(_setThrew=wasmExports["setThrew"])(a0,a1);var stackSave=()=>(stackSave=wasmExports["stackSave"])();var stackRestore=a0=>(stackRestore=wasmExports["stackRestore"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["stackAlloc"])(a0);var dynCall_iii=Module["dynCall_iii"]=(a0,a1,a2)=>(dynCall_iii=Module["dynCall_iii"]=wasmExports["dynCall_iii"])(a0,a1,a2);var dynCall_viii=Module["dynCall_viii"]=(a0,a1,a2,a3)=>(dynCall_viii=Module["dynCall_viii"]=wasmExports["dynCall_viii"])(a0,a1,a2,a3);var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=wasmExports["dynCall_iiiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiii=Module["dynCall_iiiii"]=(a0,a1,a2,a3,a4)=>(dynCall_iiiii=Module["dynCall_iiiii"]=wasmExports["dynCall_iiiii"])(a0,a1,a2,a3,a4);var dynCall_iiii=Module["dynCall_iiii"]=(a0,a1,a2,a3)=>(dynCall_iiii=Module["dynCall_iiii"]=wasmExports["dynCall_iiii"])(a0,a1,a2,a3);var dynCall_iiiiii=Module["dynCall_iiiiii"]=(a0,a1,a2,a3,a4,a5)=>(dynCall_iiiiii=Module["dynCall_iiiiii"]=wasmExports["dynCall_iiiiii"])(a0,a1,a2,a3,a4,a5);var dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16)=>(dynCall_iiiiiiiiiiiiiiiii=Module["dynCall_iiiiiiiiiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16);var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=wasmExports["dynCall_viiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_ii=Module["dynCall_ii"]=(a0,a1)=>(dynCall_ii=Module["dynCall_ii"]=wasmExports["dynCall_ii"])(a0,a1);var dynCall_vii=Module["dynCall_vii"]=(a0,a1,a2)=>(dynCall_vii=Module["dynCall_vii"]=wasmExports["dynCall_vii"])(a0,a1,a2);var dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)=>(dynCall_viiiiiiiiiii=Module["dynCall_viiiiiiiiiii"]=wasmExports["dynCall_viiiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11);var dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiiiiii=Module["dynCall_iiiiiiiiii"]=wasmExports["dynCall_iiiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7)=>(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=wasmExports["dynCall_iiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7);var dynCall_i=Module["dynCall_i"]=a0=>(dynCall_i=Module["dynCall_i"]=wasmExports["dynCall_i"])(a0);var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=wasmExports["dynCall_iiiiiiiii"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_viiii=Module["dynCall_viiii"]=(a0,a1,a2,a3,a4)=>(dynCall_viiii=Module["dynCall_viiii"]=wasmExports["dynCall_viiii"])(a0,a1,a2,a3,a4);var dynCall_viiiiii=Module["dynCall_viiiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viiiiii=Module["dynCall_viiiiii"]=wasmExports["dynCall_viiiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiid=Module["dynCall_iiid"]=(a0,a1,a2,a3)=>(dynCall_iiid=Module["dynCall_iiid"]=wasmExports["dynCall_iiid"])(a0,a1,a2,a3);var dynCall_di=Module["dynCall_di"]=(a0,a1)=>(dynCall_di=Module["dynCall_di"]=wasmExports["dynCall_di"])(a0,a1);var dynCall_diid=Module["dynCall_diid"]=(a0,a1,a2,a3)=>(dynCall_diid=Module["dynCall_diid"]=wasmExports["dynCall_diid"])(a0,a1,a2,a3);var dynCall_ddi=Module["dynCall_ddi"]=(a0,a1,a2)=>(dynCall_ddi=Module["dynCall_ddi"]=wasmExports["dynCall_ddi"])(a0,a1,a2);var dynCall_iidiiii=Module["dynCall_iidiiii"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iidiiii=Module["dynCall_iidiiii"]=wasmExports["dynCall_iidiiii"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_vi=Module["dynCall_vi"]=(a0,a1)=>(dynCall_vi=Module["dynCall_vi"]=wasmExports["dynCall_vi"])(a0,a1);var dynCall_jiji=Module["dynCall_jiji"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module["dynCall_jiji"]=wasmExports["dynCall_jiji"])(a0,a1,a2,a3,a4);var ___emscripten_embedded_file_data=Module["___emscripten_embedded_file_data"]=169236;var ___start_em_js=Module["___start_em_js"]=294272;var ___stop_em_js=Module["___stop_em_js"]=294712;function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_iiiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iiid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_diid(index,a1,a2,a3){var sp=stackSave();try{return dynCall_diid(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_ddi(index,a1,a2){var sp=stackSave();try{return dynCall_ddi(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}function invoke_iidiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iidiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0)throw e;_setThrew(1,0)}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["FS_createPath"]=FS.createPath;Module["FS_createLazyFile"]=FS.createLazyFile;Module["FS_createDevice"]=FS.createDevice;Module["ccall"]=ccall;Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["stringToUTF8"]=stringToUTF8;Module["lengthBytesUTF8"]=lengthBytesUTF8;Module["FS_createPreloadedFile"]=FS.createPreloadedFile;Module["FS_createDataFile"]=FS.createDataFile;Module["FS_unlink"]=FS.unlink;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(args=[]){var entryFunction=_main;args.unshift(thisProgram);var argc=args.length;var argv=stackAlloc((argc+1)*4);var argv_ptr=argv;args.forEach(arg=>{HEAPU32[argv_ptr>>2]=stringToUTF8OnStack(arg);argv_ptr+=4});HEAPU32[argv_ptr>>2]=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(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();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();if(shouldRunNow)callMain(args);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()()}}var shouldRunNow=true;if(Module["noInitialRun"])shouldRunNow=false;run();
diff --git a/wasm/j/emj.wasm b/wasm/j/emj.wasm
index 4b47bab9cecf85e031bde5aa6dfebc50f08d3e36..2fa9858e3e7d5cc5fdedab6e66e50fdcac77bab0 100644
GIT binary patch
delta 356127
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