From b491a20c2a6272f77899a21d9215503c0ba85006 Mon Sep 17 00:00:00 2001 From: yhirose Date: Sun, 28 Mar 2021 15:46:29 -0400 Subject: [PATCH] Fix #159 --- docs/native.js | 2 +- docs/native.wasm | Bin 369722 -> 375729 bytes peglib.h | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/native.js b/docs/native.js index 578f359..9987f58 100644 --- a/docs/native.js +++ b/docs/native.js @@ -1 +1 @@ -var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(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",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":773,"maximum":773+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0||i==maxBytesToRead/2)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280032,DYNAMICTOP_PTR=36992;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="native.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___map_file(pathname,size){setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(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:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(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:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};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.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=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);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){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;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=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+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(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:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(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:function(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:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(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:function(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:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(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:function(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(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(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:function(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(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(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:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";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=function(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);if(typeof Uint8Array!="undefined")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||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(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(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}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>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});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},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0||i==length){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0||i==length){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");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 asmLibraryArg={"b":___assert_fail,"e":___cxa_allocate_exception,"d":___cxa_throw,"q":___map_file,"p":___sys_munmap,"k":__embind_register_bool,"j":__embind_register_emval,"i":__embind_register_float,"t":__embind_register_function,"c":__embind_register_integer,"a":__embind_register_memory_view,"g":__embind_register_std_string,"f":__embind_register_std_wstring,"l":__embind_register_void,"h":_abort,"m":_emscripten_memcpy_big,"n":_emscripten_resize_heap,"r":_environ_get,"s":_environ_sizes_get,"memory":wasmMemory,"o":_strftime_l,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["u"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["v"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["w"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["x"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["y"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["z"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["A"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["B"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["C"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["D"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["E"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["F"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["G"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["H"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["I"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["J"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["K"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["L"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["M"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["N"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["O"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["P"]).apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return(dynCall_iiiiid=Module["dynCall_iiiiid"]=Module["asm"]["Q"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["T"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["U"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["V"]).apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); +var Module=typeof Module!=="undefined"?Module:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var arguments_=[];var thisProgram="./this.program";var quit_=function(status,toThrow){throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;var nodeFS;var nodePath;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}read_=function shell_read(filename,binary){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);return nodeFS["readFileSync"](filename,binary?null:"utf8")};readBinary=function readBinary(filename){var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(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",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":776,"maximum":776+0,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(HEAPU8.subarray(ptr,endPtr))}else{var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0||i==maxBytesToRead/2)return str;++i;str+=String.fromCharCode(codeUnit)}}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}HEAP16[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5280192,DYNAMICTOP_PTR=37152;var INITIAL_INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_INITIAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}function hasPrefix(str,prefix){return String.prototype.startsWith?str.startsWith(prefix):str.indexOf(prefix)===0}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return hasPrefix(filename,dataURIPrefix)}var fileURIPrefix="file://";function isFileURI(filename){return hasPrefix(filename,fileURIPrefix)}var wasmBinaryFile="native.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}var tempDouble;var tempI64;__ATINIT__.push({func:function(){___wasm_call_ctors()}});function demangle(func){return func}function demangleAll(text){var regex=/\b_Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function __ZSt18uncaught_exceptionv(){return __ZSt18uncaught_exceptionv.uncaught_exceptions>0}function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function setErrNo(value){HEAP32[___errno_location()>>2]=value;return value}function ___map_file(pathname,size){setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(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:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(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:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};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.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=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);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){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;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=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+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(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:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(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:function(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:function(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(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:function(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:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(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:function(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(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(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:function(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(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(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:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";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=function(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);if(typeof Uint8Array!="undefined")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||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(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(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}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>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});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},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function syscallMunmap(addr,len){if((addr|0)===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);if(info.prot&2){SYSCALLS.doMsync(addr,stream,len,info.flags,info.offset)}FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___sys_munmap(addr,len){try{return syscallMunmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0||i==length){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(HEAP[currentBytePtr>>shift]==0||i==length){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);HEAPU32[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function _abort(){abort()}function _emscripten_memcpy_big(dest,src,num){HEAPU8.copyWithin(dest,src,src+num)}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function _emscripten_resize_heap(requestedSize){requestedSize=requestedSize>>>0;abortOnCannotGrowMemory(requestedSize)}var ENV={};function __getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8","_":__getExecutableName()};for(var x in ENV){env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;HEAP32[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){var strings=getEnvStrings();HEAP32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});HEAP32[penviron_buf_size>>2]=bufSize;return 0}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");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 asmLibraryArg={"b":___assert_fail,"e":___cxa_allocate_exception,"d":___cxa_throw,"q":___map_file,"p":___sys_munmap,"k":__embind_register_bool,"j":__embind_register_emval,"i":__embind_register_float,"t":__embind_register_function,"c":__embind_register_integer,"a":__embind_register_memory_view,"g":__embind_register_std_string,"f":__embind_register_std_wstring,"l":__embind_register_void,"h":_abort,"m":_emscripten_memcpy_big,"n":_emscripten_resize_heap,"r":_environ_get,"s":_environ_sizes_get,"memory":wasmMemory,"o":_strftime_l,"table":wasmTable};var asm=createWasm();Module["asm"]=asm;var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["u"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["v"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["w"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["x"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["y"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["z"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["A"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["B"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["C"]).apply(null,arguments)};var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=function(){return(dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=Module["asm"]["D"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["E"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["F"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["G"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["H"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["I"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["J"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["K"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["L"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["M"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["N"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["O"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["P"]).apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return(dynCall_iiiiid=Module["dynCall_iiiiid"]=Module["asm"]["Q"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["R"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["S"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["T"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["U"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["V"]).apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/docs/native.wasm b/docs/native.wasm index 7893029af42c85c9cbfb878fef83c33ee1772cac..49aeda3ef95b97f070aa43915ed20001bcddf7f4 100644 GIT binary patch delta 70527 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 IK@Qvh1M}fB9smFU delta 66269 zcmb@v31C!3@;^S+@6DS@W)dDpLdbB;j2sDPKn%#4#|@%@qRYA-=%TAZMHKON!fBK% z_<-gnC<-bW8d69*v83}iqSCFRpguA)Nn~>na7fSR3mFzOnIO27C z-9!}U)$zx4dxa2`Xe8FCq5DLp581rB%Ny^GBf}kMcnKA1r0Yf~4*&GJUagi(7vypy z0VV2OED&_k{raVT9hH%n+^9gf$m?>~cAZW+oUCH$fR6=pJ$gR7CD?ZKyitcmkZo}Xh(8GniE<(pS zgFrJ?5Ch|Z!~b+AUWgNkq>RDQL_gB)N9tz{55LC;g4VEpK)<|VuFYNFkBUf zC@=v+%D)caajEZy>WhEqnkUX<=o
E8Akn$Iu{ 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 diff --git a/peglib.h b/peglib.h index c034d13..279f132 100644 --- a/peglib.h +++ b/peglib.h @@ -2768,6 +2768,7 @@ inline size_t PrecedenceClimbing::parse_expression(const char *s, size_t n, if (fail(chl)) { vs.assign(save_values.begin(), save_values.end()); vs.tokens = save_tokens; + i = chl; break; }