From 711347d014dd6e5f2eda508f50b57ee9aeb4f60a Mon Sep 17 00:00:00 2001 From: Nika Begiashvili Date: Sat, 27 Jan 2024 21:33:32 +0400 Subject: [PATCH] Fix issue incorrect output size when writing archives --- dist/libarchive.wasm | Bin 1002367 -> 1002547 bytes dist/worker-bundle-node.mjs | 2 +- dist/worker-bundle.js | 2 +- lib/build/libarchive.js | 2 +- lib/build/libarchive.wasm | Bin 1002367 -> 1002547 bytes lib/build/main.o | Bin 3441 -> 3939 bytes lib/tools/build.sh | 2 +- lib/tools/lib.exports | 3 +- lib/wrapper/main.c | 17 +++++++++- src/webworker/archive-writer.js | 24 +++----------- src/webworker/wasm-gen/libarchive.js | 42 +++++++++++-------------- src/webworker/wasm-gen/libarchive.wasm | Bin 1002367 -> 1002547 bytes src/webworker/wasm-module.js | 8 ++--- 13 files changed, 47 insertions(+), 55 deletions(-) diff --git a/dist/libarchive.wasm b/dist/libarchive.wasm index 9b9e93bbdd2ca834bdd3fc91b6409d87bf49ea4a..31fd233b2271d3e52b5dfed9b136a49c48686804 100644 GIT binary patch delta 48921 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 diff --git a/dist/worker-bundle-node.mjs b/dist/worker-bundle-node.mjs index 03b3735..bdf8de5 100644 --- a/dist/worker-bundle-node.mjs +++ b/dist/worker-bundle-node.mjs @@ -3,7 +3,7 @@ import{parentPort as e}from"worker_threads"; * @license * Copyright 2019 Google LLC * SPDX-License-Identifier: Apache-2.0 - */const r=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),s=e=>"object"==typeof e&&null!==e||"function"==typeof e,i=new Map([["proxy",{canHandle:e=>s(e)&&e[r],serialize(e){const{port1:r,port2:t}=new MessageChannel;return u(e,r),[t,[t]]},deserialize(e){return e.start(),m(e,[],r);var r}}],["throw",{canHandle:e=>s(e)&&a in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function u(e,t=globalThis,n=["*"]){t.addEventListener("message",(function s(i){if(!i||!i.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(n,i.origin))return void console.warn(`Invalid origin '${i.origin}' for comlink proxy`);const{id:c,type:d,path:h}=Object.assign({path:[]},i.data),f=(i.data.argumentList||[]).map(g);let m;try{const t=h.slice(0,-1).reduce(((e,r)=>e[r]),e),n=h.reduce(((e,r)=>e[r]),e);switch(d){case"GET":m=n;break;case"SET":t[h.slice(-1)[0]]=g(i.data.value),m=!0;break;case"APPLY":m=n.apply(t,f);break;case"CONSTRUCT":m=function(e){return Object.assign(e,{[r]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:r,port2:t}=new MessageChannel;u(e,t),m=function(e,r){return v.set(e,r),e}(r,[r])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[a]:0}}Promise.resolve(m).catch((e=>({value:e,[a]:0}))).then((r=>{const[n,a]=w(r);t.postMessage(Object.assign(Object.assign({},n),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",s),l(t),o in e&&"function"==typeof e[o]&&e[o]())})).catch((e=>{const[r,n]=w({value:new TypeError("Unserializable return value"),[a]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function l(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function c(e){if(e)throw new Error("Proxy has been released and is not useable")}function d(e){return _(e,{type:"RELEASE"}).then((()=>{l(e)}))}const h=new WeakMap,f="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(h.get(e)||0)-1;h.set(e,r),0===r&&d(e)}));function m(e,r=[],o=function(){}){let a=!1;const s=new Proxy(o,{get(t,o){if(c(a),o===n)return()=>{!function(e){f&&f.unregister(e)}(s),d(e),a=!0};if("then"===o){if(0===r.length)return{then:()=>s};const t=_(e,{type:"GET",path:r.map((e=>e.toString()))}).then(g);return t.then.bind(t)}return m(e,[...r,o])},set(t,n,o){c(a);const[s,i]=w(o);return _(e,{type:"SET",path:[...r,n].map((e=>e.toString())),value:s},i).then(g)},apply(n,o,s){c(a);const i=r[r.length-1];if(i===t)return _(e,{type:"ENDPOINT"}).then(g);if("bind"===i)return m(e,r.slice(0,-1));const[u,l]=p(s);return _(e,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:u},l).then(g)},construct(t,n){c(a);const[o,s]=p(n);return _(e,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:o},s).then(g)}});return function(e,r){const t=(h.get(r)||0)+1;h.set(r,t),f&&f.register(e,r,e)}(s,e),s}function p(e){const r=e.map(w);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const v=new WeakMap;function w(e){for(const[r,t]of i)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},v.get(e)||[]]}function g(e){switch(e.type){case"HANDLER":return i.get(e.name).deserialize(e.value);case"RAW":return e.value}}function _(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}const y={32768:"FILE",16384:"DIR",40960:"SYMBOLIC_LINK",49152:"SOCKET",8192:"CHARACTER_DEVICE",24576:"BLOCK_DEVICE",4096:"NAMED_PIPE"};class E{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._file=null,this._passphrase=null,this._locale="en_US.UTF-8"}async open(e){null!==this._file&&(console.warn("Closing previous file"),this.close());const r=await this._loadFile(e);this._fileLength=r.length,this._filePtr=r.ptr}close(){this._runCode.closeArchive(this._archive),this._wasmModule._free(this._filePtr),this._file=null,this._filePtr=null,this._archive=null}hasEncryptedData(){this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale),this._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}setLocale(e){this._locale=e}*entries(e=!1,r=null){let t;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale);t=this._runCode.getNextEntry(this._archive),0!==t;){const n={size:this._runCode.getEntrySize(t),path:this._runCode.getEntryName(t),type:y[this._runCode.getEntryType(t)],lastModified:this._runCode.getEntryLastModified(t),ref:t};if("FILE"===n.type){let e=n.path.split("/");n.fileName=e[e.length-1]}if(e&&r!==n.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,n.size);if(e<0)throw new Error(this._runCode.getError(this._archive));n.fileData=this._wasmModule.HEAPU8.slice(e,e+n.size),this._wasmModule._free(e)}yield n}}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}class b{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._passphrase=null,this._locale="en_US.UTF-8"}async write(e,r,t,n=null){let o=e.reduce(((e,{file:r})=>e+r.size+128),0)+128;const a=this._runCode.malloc(o),s=this._runCode.malloc(this._runCode.sizeOfSizeT()),i=this._runCode.startArchiveWrite(r,t,a,o,s,n);for(const{file:r,pathname:t}of e){const e=await this._loadFile(r);this._runCode.writeArchiveFile(i,t||r.name,e.length,e.ptr),this._runCode.free(e.ptr)}const u=this._runCode.closeArchiveWrite(i),l=this._runCode.freeArchiveWrite(i);if(0!==u||0!==l)throw new Error(this._runCode.getError(i));const c=this.readNumberFromPointer(s);return this._wasmModule.HEAPU8.slice(a,a+c)}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}readNumberFromPointer(e){const r=this._runCode.sizeOfSizeT(),t=this._wasmModule.HEAPU8.slice(e,e+r);let n=null;if(4==r)n=new Uint32Array(t)[0];else{if(8!=r)throw Error("Unexpected size of size_t: "+r);n=new BigUint64Array(t)[0]}return n}}var k,S=(k=import.meta.url,async function(e={}){var r,t,n=e;n.ready=new Promise(((e,n)=>{r=e,t=n}));var o,a,s,i=Object.assign({},n),u="./this.program",l=(e,r)=>{throw r},c="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";if(h){const{createRequire:e}=await import("module");var m=e(import.meta.url),p=m("fs"),v=m("path");f=d?v.dirname(f)+"/":m("url").fileURLToPath(new URL("./",import.meta.url)),o=(e,r)=>(e=Y(e)?new URL(e):v.normalize(e),p.readFileSync(e,r?void 0:"utf8")),s=e=>{var r=o(e,!0);return r.buffer||(r=new Uint8Array(r)),r},a=(e,r,t,n=!0)=>{e=Y(e)?new URL(e):v.normalize(e),p.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),l=(e,r)=>{throw process.exitCode=e,r},n.inspect=()=>"[Emscripten Module object]"}else(c||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),k&&(f=k),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},d&&(s=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var w,g,_=n.print||console.log.bind(console),y=n.printErr||console.error.bind(console);Object.assign(n,i),i=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&(l=n.quit),n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&O("no native wasm support detected");var E,b,S,F,D,M=!1;function A(e,r){e||O(r)}function C(){var e=g.buffer;n.HEAP8=E=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAPU8=b=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU32=D=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var P=[],T=[],R=[],U=0,z=null;function L(e){U++,n.monitorRunDependencies?.(U)}function x(e){if(U--,n.monitorRunDependencies?.(U),0==U&&z){var r=z;z=null,r()}}function O(e){n.onAbort?.(e),y(e="Aborted("+e+")"),M=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}var N,B,j,I,H=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function W(e){if(e==N&&w)return new Uint8Array(w);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}function K(e,r,t){return function(e){if(!w&&(c||d)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>W(e)));if(a)return new Promise(((r,t)=>{a(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>W(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),O(e)}))}function $(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?H(N="libarchive.wasm")||(B=N,N=n.locateFile?n.locateFile(B,f):f+B):N=new URL("libarchive.wasm",import.meta.url).href;var q=e=>{for(;e.length>0;)e.shift()(n)},X=n.noExitRuntime||!0,Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}O("initRandomDevice")})())(e),V={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return(r?"/":"")+(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=V.resolve(e).substr(1),r=V.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&J)return J.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&l)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},ee=[],re=e=>{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},te=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-o};function ne(e,r,t){var n=t>0?t:re(e)+1,o=new Array(n),a=te(e,o,0,o.length);return r&&(o.length=a),o}var oe={ttys:[],init(){},shutdown(){},register(e,r){oe.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,oe.stream_ops)},stream_ops:{open(e){var r=oe.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(60);for(var a=0,s=0;s(()=>{if(!ee.length){var e=null;if(h){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ee=ne(e,!0)}return ee.shift()})(),put_char(e,r){null===r||10===r?(_(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(_(Q(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(Q(e.output,0)),e.output=[])}}},ae=e=>{O()},se={ops_table:null,mount:e=>se.createNode(null,"/",16895,0),createNode(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(63);se.ops_table||={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:le.chrdev_stream_ops}};var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=se.ops_table.dir.node,o.stream_ops=se.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=se.ops_table.file.node,o.stream_ops=se.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=se.ops_table.link.node,o.stream_ops=se.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=se.ops_table.chrdev.node,o.stream_ops=se.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=le.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&se.resizeFileStorage(e,r.size)},lookup(e,r){throw le.genericErrors[44]},mknod:(e,r,t,n)=>se.createNode(e,r,t,n),rename(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=se.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)r.set(a.subarray(o,o+s),t);else for(var i=0;i0||t+r(se.stream_ops.write(e,r,0,n,t,!1),0)}},ie=n.preloadPlugins||[],ue=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=V.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new le.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=le.root,o="/",a=0;a40)throw new le.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(le.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%le.nameTable.length},hashAddNode(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return le.lookup(e,r)},createNode(e,r,t,n){var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode(e){le.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>le.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return le.lookupNode(e,r),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return 54;if(le.isRoot(n)||le.getPath(n)===le.cwd())return 10}else if(le.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?31:le.nodePermissions(e,le.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=le.MAX_OPEN_FDS;e++)if(!le.streams[e])return e;throw new le.ErrnoError(33)},getStreamChecked(e){var r=le.getStream(e);if(!r)throw new le.ErrnoError(8);return r},getStream:e=>le.streams[e],createStream:(e,r=-1)=>(le.FSStream||(le.FSStream=function(){this.shared={}},le.FSStream.prototype={},Object.defineProperties(le.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new le.FSStream,e),-1==r&&(r=le.nextfd()),e.fd=r,le.streams[r]=e,e),closeStream(e){le.streams[e]=null},chrdev_stream_ops:{open(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new le.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){le.devices[e]={stream_ops:r}},getDevice:e=>le.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&y(`warning: ${le.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=le.getMounts(le.root.mount),n=0;function o(e){return le.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&le.root)throw new le.ErrnoError(10);if(!o&&!a){var s=le.lookupPath(t,{follow_mount:!1});if(t=s.path,n=s.node,le.isMountpoint(n))throw new le.ErrnoError(10);if(!le.isDir(n.mode))throw new le.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,o?le.root=u:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),u},unmount(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(28);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach((e=>{for(var r=le.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&le.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=le.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(28);var a=le.mayCreate(n,o);if(a)throw new le.ErrnoError(a);if(!n.node_ops.mknod)throw new le.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,le.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,le.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)),symlink(e,r){if(!V.resolve(e))throw new le.ErrnoError(44);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(44);var n=Z.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Z.dirname(e),a=Z.dirname(r),s=Z.basename(e),i=Z.basename(r);if(t=le.lookupPath(e,{parent:!0}).node,n=le.lookupPath(r,{parent:!0}).node,!t||!n)throw new le.ErrnoError(44);if(t.mount!==n.mount)throw new le.ErrnoError(75);var u,l=le.lookupNode(t,s),c=V.relative(e,a);if("."!==c.charAt(0))throw new le.ErrnoError(28);if("."!==(c=V.relative(r,o)).charAt(0))throw new le.ErrnoError(55);try{u=le.lookupNode(n,i)}catch(e){}if(l!==u){var d=le.isDir(l.mode),h=le.mayDelete(t,s,d);if(h)throw new le.ErrnoError(h);if(h=u?le.mayDelete(n,i,d):le.mayCreate(n,i))throw new le.ErrnoError(h);if(!t.node_ops.rename)throw new le.ErrnoError(63);if(le.isMountpoint(l)||u&&le.isMountpoint(u))throw new le.ErrnoError(10);if(n!==t&&(h=le.nodePermissions(t,"w")))throw new le.ErrnoError(h);le.hashRemoveNode(l);try{t.node_ops.rename(l,n,i)}catch(e){throw e}finally{le.hashAddNode(l)}}},rmdir(e){var r=le.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!0);if(o)throw new le.ErrnoError(o);if(!r.node_ops.rmdir)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.rmdir(r,t),le.destroyNode(n)},readdir(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=le.lookupPath(e,{parent:!0}).node;if(!r)throw new le.ErrnoError(44);var t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!1);if(o)throw new le.ErrnoError(o);if(!r.node_ops.unlink)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.unlink(r,t),le.destroyNode(n)},readlink(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(44);if(!r.node_ops.readlink)throw new le.ErrnoError(28);return V.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(44);if(!t.node_ops.getattr)throw new le.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>le.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?le.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){le.chmod(e,r,!0)},fchmod(e,r){var t=le.getStreamChecked(e);le.chmod(t.node,r)},chown(e,r,t,n){var o;if(!(o="string"==typeof e?le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){le.chown(e,r,t,!0)},fchown(e,r,t){var n=le.getStreamChecked(e);le.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new le.ErrnoError(28);var t;if(!(t="string"==typeof e?le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new le.ErrnoError(63);if(le.isDir(t.mode))throw new le.ErrnoError(31);if(!le.isFile(t.mode))throw new le.ErrnoError(28);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=le.getStreamChecked(e);if(0==(2097155&t.flags))throw new le.ErrnoError(28);le.truncate(t.node,r)},utime(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new le.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{o=le.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new le.ErrnoError(20)}else o=le.mknod(e,t,0),a=!0;if(!o)throw new le.ErrnoError(44);if(le.isChrdev(o.mode)&&(r&=-513),65536&r&&!le.isDir(o.mode))throw new le.ErrnoError(54);if(!a){var s=le.mayOpen(o,r);if(s)throw new le.ErrnoError(s)}512&r&&!a&&le.truncate(o,0),r&=-131713;var i=le.createStream({node:o,path:le.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(le.readFiles||(le.readFiles={}),e in le.readFiles||(le.readFiles[e]=1)),i},close(e){if(le.isClosed(e))throw new le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(1==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.read)throw new le.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=s),s},write(e,r,t,n,o,a){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.write)throw new le.ErrnoError(28);e.seekable&&1024&e.flags&&le.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=i),i},allocate(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(r<0||t<=0)throw new le.ErrnoError(28);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(43);if(!e.stream_ops.allocate)throw new le.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new le.ErrnoError(2);if(1==(2097155&e.flags))throw new le.ErrnoError(2);if(!e.stream_ops.mmap)throw new le.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new le.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=le.open(e,r.flags),o=le.stat(e).size,a=new Uint8Array(o);return le.read(n,a,0,o,0),"utf8"===r.encoding?t=Q(a,0):"binary"===r.encoding&&(t=a),le.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(re(r)+1),a=te(r,o,0,o.length);le.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:()=>le.currentPath,chdir(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(44);if(!le.isDir(r.node.mode))throw new le.ErrnoError(54);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices(){le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),le.mkdev("/dev/null",le.makedev(1,3)),oe.register(le.makedev(5,0),oe.default_tty_ops),oe.register(le.makedev(6,0),oe.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=G(e).byteLength),e[--r]);le.createDevice("/dev","random",t),le.createDevice("/dev","urandom",t),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories(){le.mkdir("/proc");var e=le.mkdir("/proc/self");le.mkdir("/proc/self/fd"),le.mount({mount(){var r=le.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=le.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?le.createDevice("/dev","stdin",n.stdin):le.symlink("/dev/tty","/dev/stdin"),n.stdout?le.createDevice("/dev","stdout",null,n.stdout):le.symlink("/dev/tty","/dev/stdout"),n.stderr?le.createDevice("/dev","stderr",null,n.stderr):le.symlink("/dev/tty1","/dev/stderr"),le.open("/dev/stdin",0),le.open("/dev/stdout",1),le.open("/dev/stderr",1)},ensureErrnoError(){le.ErrnoError||(le.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[44].forEach((e=>{le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack=""})))},staticInit(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(se,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:se}},init(e,r,t){le.init.initialized=!0,le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,le.createStandardStreams()},quit(){le.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;o||(s=n);var i=this;i.setDataGetter((e=>{var r=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ne(o.responseText||"",!0)})(r,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var u=le.createFile(e,r,i,n,o);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i{var r=u.stream_ops[e];l[e]=function(){return le.forceLoadFile(u),r.apply(null,arguments)}})),l.read=(e,r,t,n,o)=>(le.forceLoadFile(u),c(e,r,t,n,o)),l.mmap=(e,r,t,n,o)=>{le.forceLoadFile(u);var a=ae();if(!a)throw new le.ErrnoError(48);return c(e,E,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=l,u}},ce=(e,r)=>e?Q(b,e,r):"",de={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Z.isAbs(r))return r;var n;if(n=-100===e?le.cwd():de.getStreamFromFD(e).path,0==r.length){if(!t)throw new le.ErrnoError(44);return n}return Z.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(le.getPath(e.node)))return-54;throw e}F[t>>2]=n.dev,F[t+4>>2]=n.mode,D[t+8>>2]=n.nlink,F[t+12>>2]=n.uid,F[t+16>>2]=n.gid,F[t+20>>2]=n.rdev,I=[n.size>>>0,(j=n.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+24>>2]=I[0],F[t+28>>2]=I[1],F[t+32>>2]=4096,F[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return I=[Math.floor(o/1e3)>>>0,(j=Math.floor(o/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+40>>2]=I[0],F[t+44>>2]=I[1],D[t+48>>2]=o%1e3*1e3,I=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+56>>2]=I[0],F[t+60>>2]=I[1],D[t+64>>2]=a%1e3*1e3,I=[Math.floor(s/1e3)>>>0,(j=Math.floor(s/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+72>>2]=I[0],F[t+76>>2]=I[1],D[t+80>>2]=s%1e3*1e3,I=[n.ino>>>0,(j=n.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+88>>2]=I[0],F[t+92>>2]=I[1],0},doMsync(e,r,t,n,o){if(!le.isFile(r.node.mode))throw new le.ErrnoError(43);if(2&n)return 0;var a=b.slice(e,e+t);le.msync(r,a,o,t,n)},varargs:void 0,get(){var e=F[+de.varargs>>2];return de.varargs+=4,e},getp:()=>de.get(),getStr:e=>ce(e),getStreamFromFD:e=>le.getStreamChecked(e)},he=e=>(F[Oe()>>2]=e,e),fe={BUCKET_BUFFER_SIZE:8192,mount:e=>le.createNode(null,"/",16895,0),createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=fe.nextname(),t=fe.nextname(),n=le.createNode(fe.root,r,4096,0),o=le.createNode(fe.root,t,4096,0);n.pipe=e,o.pipe=e;var a=le.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:fe.stream_ops});n.stream=a;var s=le.createStream({path:t,node:o,flags:1,seekable:!1,stream_ops:fe.stream_ops});return o.stream=s,{readable_fd:a.fd,writable_fd:s.fd}},stream_ops:{poll(e){var r=e.node.pipe;if(1==(2097155&e.flags))return 260;if(r.buckets.length>0)for(var t=0;t0)return 65}return 0},ioctl:(e,r,t)=>28,fsync:e=>28,read(e,r,t,n,o){for(var a=e.node.pipe,s=0,i=0;i=i)return u.buffer.set(s,u.offset),u.offset+=i,i;l>0&&(u.buffer.set(s.subarray(0,l),u.offset),u.offset+=l,s=s.subarray(l,s.byteLength));for(var c=s.byteLength/fe.BUCKET_BUFFER_SIZE|0,d=s.byteLength%fe.BUCKET_BUFFER_SIZE,h=0;h0&&(f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:s.byteLength,roffset:0},a.buckets.push(f),f.buffer.set(s)),i},close(e){var r=e.node.pipe;r.refcnt--,0===r.refcnt&&(r.buckets=null)}},nextname:()=>(fe.nextname.current||(fe.nextname.current=0),"pipe["+fe.nextname.current+++"]")},me=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,pe=e=>e%4==0&&(e%100!=0||e%400==0),ve=[0,31,60,91,121,152,182,213,244,274,305,335],we=[0,31,59,90,120,151,181,212,243,273,304,334],ge=e=>(pe(e.getFullYear())?ve:we)[e.getMonth()]+e.getDate()-1,_e=(e,r,t)=>te(e,b,r,t),ye=e=>{var r=re(e)+1,t=xe(r);return t&&_e(e,t,r),t},Ee=e=>{var r=(e-g.buffer.byteLength+65535)/65536;try{return g.grow(r),C(),1}catch(e){}},be={},ke=()=>{if(!ke.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var r in be)void 0===be[r]?delete e[r]:e[r]=be[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ke.strings=t}return ke.strings},Se=e=>{X||(n.onExit?.(e),M=!0),l(e,new $(e))},Fe=(e,r)=>{Se(e)},De=[31,29,31,30,31,30,31,31,30,31,30,31],Me=[31,28,31,30,31,30,31,31,30,31,30,31],Ae=(e,r)=>{E.set(e,r)},Ce=e=>n["_"+e],Pe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=re(e)+1,t=He(r);return _e(e,t,r),t})(e)),r},array:e=>{var r=He(e.length);return Ae(e,r),r}},s=Ce(e),i=[],u=0;if(n)for(var l=0;l{var d=r?V.resolve(Z.join2(e,r)):e;function h(t){function a(t){c?.(),u||((e,r,t,n,o,a)=>{le.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),s?.(),x()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ie.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,a,(()=>{i?.(),x()}))||a(t)}L(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&x()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&L()})(t,(e=>h(e)),i):h(t)},le.staticInit();var ze={i:function(e){try{var r=de.getStreamFromFD(e);return le.createStream(r).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},a:function(e,r,t){de.varargs=t;try{var n=de.getStreamFromFD(e);switch(r){case 0:if((o=de.get())<0)return-28;for(;le.streams[o];)o++;return le.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=de.get();return n.flags|=o,0;case 5:return o=de.getp(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return he(28),-1}}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{var t=de.getStreamFromFD(e);return de.doStat(le.stat,t.path,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=de.getStr(e),de.doStat(le.lstat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,r,t,n){try{r=de.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=de.calculateAt(e,r,a),de.doStat(o?le.lstat:le.stat,r,t)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,r,t,n){de.varargs=n;try{r=de.getStr(r),r=de.calculateAt(e,r);var o=n?de.get():0;return le.open(r,t,o).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e){try{if(0==e)throw new le.ErrnoError(21);var r=fe.createPipe();return F[e>>2]=r.readable_fd,F[e+4>>2]=r.writable_fd,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{for(var n=0,o=0;o>2],i=S[a+4>>1],u=32,l=le.getStream(s);l&&(u=de.DEFAULT_POLLMASK,l.stream_ops.poll&&(u=l.stream_ops.poll(l,-1))),(u&=24|i)&&n++,S[a+6>>1]=u}return n}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,r){try{return e=de.getStr(e),de.doStat(le.stat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){try{return r=de.getStr(r),r=de.calculateAt(e,r),0===t?le.unlink(r):512===t?le.rmdir(r):O("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},B:()=>1,k:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getUTCSeconds(),F[t+4>>2]=o.getUTCMinutes(),F[t+8>>2]=o.getUTCHours(),F[t+12>>2]=o.getUTCDate(),F[t+16>>2]=o.getUTCMonth(),F[t+20>>2]=o.getUTCFullYear()-1900,F[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),s=(o.getTime()-a)/864e5|0;F[t+28>>2]=s},l:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getSeconds(),F[t+4>>2]=o.getMinutes(),F[t+8>>2]=o.getHours(),F[t+12>>2]=o.getDate(),F[t+16>>2]=o.getMonth(),F[t+20>>2]=o.getFullYear()-1900,F[t+24>>2]=o.getDay();var a=0|ge(o);F[t+28>>2]=a,F[t+36>>2]=-60*o.getTimezoneOffset();var s=new Date(o.getFullYear(),0,1),i=new Date(o.getFullYear(),6,1).getTimezoneOffset(),u=s.getTimezoneOffset(),l=0|(i!=u&&o.getTimezoneOffset()==Math.min(u,i));F[t+32>>2]=l},m:function(e){var r=(()=>{var r=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=F[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),i=Math.min(s,a);if(t<0)F[e+32>>2]=Number(a!=s&&i==n);else if(t>0!=(i==n)){var u=Math.max(s,a),l=t>0?i:u;r.setTime(r.getTime()+6e4*(l-n))}F[e+24>>2]=r.getDay();var c=0|ge(r);F[e+28>>2]=c,F[e>>2]=r.getSeconds(),F[e+4>>2]=r.getMinutes(),F[e+8>>2]=r.getHours(),F[e+12>>2]=r.getDate(),F[e+16>>2]=r.getMonth(),F[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?(he(61),-1):d/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},n:function(e){var r=(()=>{var r=Date.UTC(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=new Date(r);F[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return F[e+28>>2]=o,t.getTime()/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},r:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),s=o.getTimezoneOffset(),i=a.getTimezoneOffset(),u=Math.max(s,i);function l(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}D[e>>2]=60*u,F[r>>2]=Number(s!=i);var c=l(o),d=l(a),h=ye(c),f=ye(d);i>2]=h,D[t+4>>2]=f):(D[t>>2]=f,D[t+4>>2]=h)},b:()=>{O("")},c:()=>Date.now(),h:(e,r,t)=>b.copyWithin(e,r,r+t),p:e=>{var r=b.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var s=r*(1+.2/a);s=Math.min(s,e+100663296);var i=Math.min(t,(n=Math.max(e,s))+((o=65536)-n%o)%o);if(Ee(i))return!0}return!1},z:(e,r)=>{var t=0;return ke().forEach(((n,o)=>{var a=r+t;D[e+4*o>>2]=a,((e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);E[r>>0]=0})(n,a),t+=n.length+1})),0},A:(e,r)=>{var t=ke();D[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),D[r>>2]=n,0},g:Fe,e:function(e){try{var r=de.getStreamFromFD(e);return le.close(r),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],i=D[r+4>>2];r+=8;var u=le.read(e,E,s,i,n);if(u<0)return-1;if(o+=u,u>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},o:function(e,r,t,n,o){var a=me(r,t);try{if(isNaN(a))return 61;var s=de.getStreamFromFD(e);return le.llseek(s,a,n),I=[s.position>>>0,(j=s.position,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[o>>2]=I[0],F[o+4>>2]=I[1],s.getdents&&0===a&&0===n&&(s.getdents=null),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},d:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],i=D[r+4>>2];r+=8;var u=le.write(e,E,s,i,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},f:(e,r,t,n)=>{var o=D[n+40>>2],a={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?ce(o):""},s=ce(t),i={"%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 u in i)s=s.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=pe(t.getFullYear()),o=t.getMonth(),a=(n?De:Me)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=m(t),a=m(n);return f(o,r)<=0?f(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var v={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),h(r,2)},"%j":e=>h(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(pe(e.tm_year+1900)?De:Me,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return h(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&pe(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&pe(e.tm_year%400-1))&&r++}return h(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in s=s.replace(/%%/g,"\0\0"),v)s.includes(u)&&(s=s.replace(new RegExp(u,"g"),v[u](a)));var w=ne(s=s.replace(/\0\0/g,"%"),!1);return w.length>r?0:(Ae(w,e),w.length-1)}},Le=function(){var e,r,o,a,s={a:ze};function i(e,r){var t;return Le=e.exports,g=Le.C,C(),t=Le.D,T.unshift(t),x(),Le}if(L(),n.instantiateWasm)try{return n.instantiateWasm(s,i)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),t(e)}return(e=w,r=N,o=s,a=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||Y(r)||h||"function"!=typeof fetch?K(r,o,a):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(a,(function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),K(r,o,a)}))))).catch(t),{}}();n._get_version=()=>(n._get_version=Le.E)(),n._archive_open=(e,r,t,o)=>(n._archive_open=Le.F)(e,r,t,o),n._archive_read_add_passphrase=(e,r)=>(n._archive_read_add_passphrase=Le.G)(e,r),n._archive_error_string=e=>(n._archive_error_string=Le.H)(e),n._get_next_entry=e=>(n._get_next_entry=Le.I)(e),n._get_filedata=(e,r)=>(n._get_filedata=Le.J)(e,r);var xe=n._malloc=e=>(xe=n._malloc=Le.K)(e);n._archive_close=e=>(n._archive_close=Le.L)(e),n._start_archive_write=(e,r,t,o,a,s)=>(n._start_archive_write=Le.M)(e,r,t,o,a,s),n._write_archive_file=(e,r,t,o)=>(n._write_archive_file=Le.N)(e,r,t,o),n._size_of_size_t=()=>(n._size_of_size_t=Le.O)(),n._free=e=>(n._free=Le.P)(e);var Oe=()=>(Oe=Le.Q)();n._archive_entry_birthtime_nsec=e=>(n._archive_entry_birthtime_nsec=Le.R)(e),n._archive_entry_filetype=e=>(n._archive_entry_filetype=Le.S)(e),n._archive_entry_mtime_nsec=e=>(n._archive_entry_mtime_nsec=Le.T)(e),n._archive_entry_pathname=e=>(n._archive_entry_pathname=Le.U)(e),n._archive_entry_pathname_utf8=e=>(n._archive_entry_pathname_utf8=Le.V)(e),n._archive_entry_size=e=>(n._archive_entry_size=Le.W)(e),n._archive_entry_is_encrypted=e=>(n._archive_entry_is_encrypted=Le.X)(e),n._archive_read_has_encrypted_entries=e=>(n._archive_read_has_encrypted_entries=Le.Y)(e),n._archive_read_data_skip=e=>(n._archive_read_data_skip=Le.Z)(e),n._archive_write_close=e=>(n._archive_write_close=Le.$)(e),n._archive_write_free=e=>(n._archive_write_free=Le.aa)(e);var Ne,Be=e=>(Be=Le.ba)(e),je=()=>(je=Le.ca)(),Ie=e=>(Ie=Le.da)(e),He=e=>(He=Le.ea)(e);function Ye(){function e(){Ne||(Ne=!0,n.calledRun=!0,M||(n.noFSInit||le.init.initialized||le.init(),le.ignorePermissions=!1,fe.root=le.mount(fe,{},null),q(T),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),R.unshift(e);var e;q(R)}()))}U>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),P.unshift(e);var e;q(P)}(),U>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.cwrap=(e,r,t,n)=>{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ce(e):function(){return Pe(e,r,t,arguments)}},n.UTF8ToString=ce,n.intArrayFromString=ne,n.allocate=(e,r)=>{var t;return t=1==r?He(e.length):xe(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),b.set(e,t),t},z=function e(){Ne||Ye(),Ne||(z=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Ye(),e.ready});class F{constructor(){this.preRun=[],this.postRun=[],this.totalDependencies=0}print(...e){console.log(e)}printErr(...e){console.error(e)}initFunctions(){this.runCode={getVersion:this.cwrap("get_version","string",[]),openArchive:this.cwrap("archive_open","number",["number","number","string","string"]),getNextEntry:this.cwrap("get_next_entry","number",["number"]),getFileData:this.cwrap("get_filedata","number",["number","number"]),skipEntry:this.cwrap("archive_read_data_skip","number",["number"]),closeArchive:this.cwrap("archive_close",null,["number"]),getEntrySize:this.cwrap("archive_entry_size","number",["number"]),getEntryName:this.cwrap("archive_entry_pathname","string",["number"]),getEntryType:this.cwrap("archive_entry_filetype","number",["number"]),getEntryLastModified:this.cwrap("archive_entry_mtime_nsec","number",["number"]),getError:this.cwrap("archive_error_string","string",["number"]),startArchiveWrite:this.cwrap("start_archive_write","number",["string","string","number","number","number","string"]),writeArchiveFile:this.cwrap("write_archive_file",null,["number","string","number","number"]),closeArchiveWrite:this.cwrap("archive_write_close","number",["number"]),freeArchiveWrite:this.cwrap("archive_write_free","number",["number"]),entryIsEncrypted:this.cwrap("archive_entry_is_encrypted","number",["number"]),hasEncryptedEntries:this.cwrap("archive_read_has_encrypted_entries","number",["number"]),addPassphrase:this.cwrap("archive_read_add_passphrase","number",["number","string"]),string:e=>this.allocate(this.intArrayFromString(e),"i8",0),malloc:this.cwrap("malloc","number",["number"]),free:this.cwrap("free",null,["number"]),sizeOfSizeT:this.cwrap("size_of_size_t","number",[])}}monitorRunDependencies(){}}let D=null,M=null,A=!1;class C{constructor(e){C.readyCallback=e,A&&setTimeout((()=>e()),0)}open(e,r){D.open(e).then((()=>r()))}listFiles(){let e=[];for(const r of D.entries(!0))e.push(r);return e}extractFiles(){let e=[];for(const r of D.entries(!1))e.push(r);return e}extractSingleFile(e){for(const r of D.entries(!0,e))if(r.fileData)return r}hasEncryptedData(){return D.hasEncryptedData()}usePassword(e){D.setPassphrase(e)}setLocale(e){D.setLocale(e)}writeArchive(e,r,t,n){return M.write(e,r,t,n)}close(){D.close()}}var P;P=e=>{D=new E(e),M=new b(e),C?.readyCallback?.(),A=!0},S(new F).then((e=>{e.initFunctions(),P(e)})),u(C, + */const r=Symbol("Comlink.proxy"),t=Symbol("Comlink.endpoint"),n=Symbol("Comlink.releaseProxy"),o=Symbol("Comlink.finalizer"),a=Symbol("Comlink.thrown"),s=e=>"object"==typeof e&&null!==e||"function"==typeof e,i=new Map([["proxy",{canHandle:e=>s(e)&&e[r],serialize(e){const{port1:r,port2:t}=new MessageChannel;return u(e,r),[t,[t]]},deserialize(e){return e.start(),m(e,[],r);var r}}],["throw",{canHandle:e=>s(e)&&a in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function u(e,t=globalThis,n=["*"]){t.addEventListener("message",(function s(i){if(!i||!i.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(n,i.origin))return void console.warn(`Invalid origin '${i.origin}' for comlink proxy`);const{id:c,type:d,path:f}=Object.assign({path:[]},i.data),h=(i.data.argumentList||[]).map(g);let m;try{const t=f.slice(0,-1).reduce(((e,r)=>e[r]),e),n=f.reduce(((e,r)=>e[r]),e);switch(d){case"GET":m=n;break;case"SET":t[f.slice(-1)[0]]=g(i.data.value),m=!0;break;case"APPLY":m=n.apply(t,h);break;case"CONSTRUCT":m=function(e){return Object.assign(e,{[r]:!0})}(new n(...h));break;case"ENDPOINT":{const{port1:r,port2:t}=new MessageChannel;u(e,t),m=function(e,r){return v.set(e,r),e}(r,[r])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[a]:0}}Promise.resolve(m).catch((e=>({value:e,[a]:0}))).then((r=>{const[n,a]=w(r);t.postMessage(Object.assign(Object.assign({},n),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",s),l(t),o in e&&"function"==typeof e[o]&&e[o]())})).catch((e=>{const[r,n]=w({value:new TypeError("Unserializable return value"),[a]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function l(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function c(e){if(e)throw new Error("Proxy has been released and is not useable")}function d(e){return _(e,{type:"RELEASE"}).then((()=>{l(e)}))}const f=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(f.get(e)||0)-1;f.set(e,r),0===r&&d(e)}));function m(e,r=[],o=function(){}){let a=!1;const s=new Proxy(o,{get(t,o){if(c(a),o===n)return()=>{!function(e){h&&h.unregister(e)}(s),d(e),a=!0};if("then"===o){if(0===r.length)return{then:()=>s};const t=_(e,{type:"GET",path:r.map((e=>e.toString()))}).then(g);return t.then.bind(t)}return m(e,[...r,o])},set(t,n,o){c(a);const[s,i]=w(o);return _(e,{type:"SET",path:[...r,n].map((e=>e.toString())),value:s},i).then(g)},apply(n,o,s){c(a);const i=r[r.length-1];if(i===t)return _(e,{type:"ENDPOINT"}).then(g);if("bind"===i)return m(e,r.slice(0,-1));const[u,l]=p(s);return _(e,{type:"APPLY",path:r.map((e=>e.toString())),argumentList:u},l).then(g)},construct(t,n){c(a);const[o,s]=p(n);return _(e,{type:"CONSTRUCT",path:r.map((e=>e.toString())),argumentList:o},s).then(g)}});return function(e,r){const t=(f.get(r)||0)+1;f.set(r,t),h&&h.register(e,r,e)}(s,e),s}function p(e){const r=e.map(w);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const v=new WeakMap;function w(e){for(const[r,t]of i)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},v.get(e)||[]]}function g(e){switch(e.type){case"HANDLER":return i.get(e.name).deserialize(e.value);case"RAW":return e.value}}function _(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}const y={32768:"FILE",16384:"DIR",40960:"SYMBOLIC_LINK",49152:"SOCKET",8192:"CHARACTER_DEVICE",24576:"BLOCK_DEVICE",4096:"NAMED_PIPE"};class E{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._file=null,this._passphrase=null,this._locale="en_US.UTF-8"}async open(e){null!==this._file&&(console.warn("Closing previous file"),this.close());const r=await this._loadFile(e);this._fileLength=r.length,this._filePtr=r.ptr}close(){this._runCode.closeArchive(this._archive),this._wasmModule._free(this._filePtr),this._file=null,this._filePtr=null,this._archive=null}hasEncryptedData(){this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale),this._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}setLocale(e){this._locale=e}*entries(e=!1,r=null){let t;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale);t=this._runCode.getNextEntry(this._archive),0!==t;){const n={size:this._runCode.getEntrySize(t),path:this._runCode.getEntryName(t),type:y[this._runCode.getEntryType(t)],lastModified:this._runCode.getEntryLastModified(t),ref:t};if("FILE"===n.type){let e=n.path.split("/");n.fileName=e[e.length-1]}if(e&&r!==n.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,n.size);if(e<0)throw new Error(this._runCode.getError(this._archive));n.fileData=this._wasmModule.HEAPU8.slice(e,e+n.size),this._wasmModule._free(e)}yield n}}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}class b{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._passphrase=null,this._locale="en_US.UTF-8"}async write(e,r,t,n=null){let o=e.reduce(((e,{file:r})=>e+r.size+128),0)+128;const a=this._runCode.malloc(o),s=this._runCode.malloc(this._runCode.sizeOfSizeT()),i=this._runCode.startArchiveWrite(r,t,a,o,s,n);for(const{file:r,pathname:t}of e){const e=await this._loadFile(r);this._runCode.writeArchiveFile(i,t||r.name,e.length,e.ptr),this._runCode.free(e.ptr)}const u=this._runCode.finishArchiveWrite(i,s);if(u<0)throw new Error(this._runCode.getError(i));return this._wasmModule.HEAPU8.slice(a,a+u)}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}var k,S=(k=import.meta.url,async function(e={}){var r,t,n=e;n.ready=new Promise(((e,n)=>{r=e,t=n}));var o,a,s,i=Object.assign({},n),u="./this.program",l=(e,r)=>{throw r},c="object"==typeof window,d="function"==typeof importScripts,f="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,h="";if(f){const{createRequire:e}=await import("module");var m=e(import.meta.url),p=m("fs"),v=m("path");h=d?v.dirname(h)+"/":m("url").fileURLToPath(new URL("./",import.meta.url)),o=(e,r)=>(e=Y(e)?new URL(e):v.normalize(e),p.readFileSync(e,r?void 0:"utf8")),s=e=>{var r=o(e,!0);return r.buffer||(r=new Uint8Array(r)),r},a=(e,r,t,n=!0)=>{e=Y(e)?new URL(e):v.normalize(e),p.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),l=(e,r)=>{throw process.exitCode=e,r},n.inspect=()=>"[Emscripten Module object]"}else(c||d)&&(d?h=self.location.href:"undefined"!=typeof document&&document.currentScript&&(h=document.currentScript.src),k&&(h=k),h=0!==h.indexOf("blob:")?h.substr(0,h.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},d&&(s=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var w,g,_=n.print||console.log.bind(console),y=n.printErr||console.error.bind(console);Object.assign(n,i),i=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&(l=n.quit),n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&O("no native wasm support detected");var E,b,S,F,D,M=!1;function A(e,r){e||O(r)}function C(){var e=g.buffer;n.HEAP8=E=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAPU8=b=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU32=D=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var P=[],T=[],R=[],z=0,U=null;function L(e){z++,n.monitorRunDependencies?.(z)}function x(e){if(z--,n.monitorRunDependencies?.(z),0==z&&U){var r=U;U=null,r()}}function O(e){n.onAbort?.(e),y(e="Aborted("+e+")"),M=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}var N,B,j,I,H=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function W(e){if(e==N&&w)return new Uint8Array(w);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}function K(e,r,t){return function(e){if(!w&&(c||d)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>W(e)));if(a)return new Promise(((r,t)=>{a(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>W(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),O(e)}))}function q(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?H(N="libarchive.wasm")||(B=N,N=n.locateFile?n.locateFile(B,h):h+B):N=new URL("libarchive.wasm",import.meta.url).href;var $=e=>{for(;e.length>0;)e.shift()(n)},X=n.noExitRuntime||!0,Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(f)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}O("initRandomDevice")})())(e),V={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return(r?"/":"")+(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=V.resolve(e).substr(1),r=V.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&J)return J.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&l)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},ee=[],re=e=>{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},te=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-o};function ne(e,r,t){var n=t>0?t:re(e)+1,o=new Array(n),a=te(e,o,0,o.length);return r&&(o.length=a),o}var oe={ttys:[],init(){},shutdown(){},register(e,r){oe.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,oe.stream_ops)},stream_ops:{open(e){var r=oe.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(60);for(var a=0,s=0;s(()=>{if(!ee.length){var e=null;if(f){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ee=ne(e,!0)}return ee.shift()})(),put_char(e,r){null===r||10===r?(_(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(_(Q(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(Q(e.output,0)),e.output=[])}}},ae=e=>{O()},se={ops_table:null,mount:e=>se.createNode(null,"/",16895,0),createNode(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(63);se.ops_table||={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:le.chrdev_stream_ops}};var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=se.ops_table.dir.node,o.stream_ops=se.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=se.ops_table.file.node,o.stream_ops=se.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=se.ops_table.link.node,o.stream_ops=se.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=se.ops_table.chrdev.node,o.stream_ops=se.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=le.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&se.resizeFileStorage(e,r.size)},lookup(e,r){throw le.genericErrors[44]},mknod:(e,r,t,n)=>se.createNode(e,r,t,n),rename(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=se.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)r.set(a.subarray(o,o+s),t);else for(var i=0;i0||t+r(se.stream_ops.write(e,r,0,n,t,!1),0)}},ie=n.preloadPlugins||[],ue=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=V.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new le.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=le.root,o="/",a=0;a40)throw new le.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(le.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%le.nameTable.length},hashAddNode(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return le.lookup(e,r)},createNode(e,r,t,n){var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode(e){le.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>le.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return le.lookupNode(e,r),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return 54;if(le.isRoot(n)||le.getPath(n)===le.cwd())return 10}else if(le.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?31:le.nodePermissions(e,le.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=le.MAX_OPEN_FDS;e++)if(!le.streams[e])return e;throw new le.ErrnoError(33)},getStreamChecked(e){var r=le.getStream(e);if(!r)throw new le.ErrnoError(8);return r},getStream:e=>le.streams[e],createStream:(e,r=-1)=>(le.FSStream||(le.FSStream=function(){this.shared={}},le.FSStream.prototype={},Object.defineProperties(le.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new le.FSStream,e),-1==r&&(r=le.nextfd()),e.fd=r,le.streams[r]=e,e),closeStream(e){le.streams[e]=null},chrdev_stream_ops:{open(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new le.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){le.devices[e]={stream_ops:r}},getDevice:e=>le.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&y(`warning: ${le.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=le.getMounts(le.root.mount),n=0;function o(e){return le.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&le.root)throw new le.ErrnoError(10);if(!o&&!a){var s=le.lookupPath(t,{follow_mount:!1});if(t=s.path,n=s.node,le.isMountpoint(n))throw new le.ErrnoError(10);if(!le.isDir(n.mode))throw new le.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,o?le.root=u:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),u},unmount(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(28);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach((e=>{for(var r=le.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&le.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=le.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(28);var a=le.mayCreate(n,o);if(a)throw new le.ErrnoError(a);if(!n.node_ops.mknod)throw new le.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,le.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,le.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)),symlink(e,r){if(!V.resolve(e))throw new le.ErrnoError(44);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(44);var n=Z.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Z.dirname(e),a=Z.dirname(r),s=Z.basename(e),i=Z.basename(r);if(t=le.lookupPath(e,{parent:!0}).node,n=le.lookupPath(r,{parent:!0}).node,!t||!n)throw new le.ErrnoError(44);if(t.mount!==n.mount)throw new le.ErrnoError(75);var u,l=le.lookupNode(t,s),c=V.relative(e,a);if("."!==c.charAt(0))throw new le.ErrnoError(28);if("."!==(c=V.relative(r,o)).charAt(0))throw new le.ErrnoError(55);try{u=le.lookupNode(n,i)}catch(e){}if(l!==u){var d=le.isDir(l.mode),f=le.mayDelete(t,s,d);if(f)throw new le.ErrnoError(f);if(f=u?le.mayDelete(n,i,d):le.mayCreate(n,i))throw new le.ErrnoError(f);if(!t.node_ops.rename)throw new le.ErrnoError(63);if(le.isMountpoint(l)||u&&le.isMountpoint(u))throw new le.ErrnoError(10);if(n!==t&&(f=le.nodePermissions(t,"w")))throw new le.ErrnoError(f);le.hashRemoveNode(l);try{t.node_ops.rename(l,n,i)}catch(e){throw e}finally{le.hashAddNode(l)}}},rmdir(e){var r=le.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!0);if(o)throw new le.ErrnoError(o);if(!r.node_ops.rmdir)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.rmdir(r,t),le.destroyNode(n)},readdir(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=le.lookupPath(e,{parent:!0}).node;if(!r)throw new le.ErrnoError(44);var t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!1);if(o)throw new le.ErrnoError(o);if(!r.node_ops.unlink)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.unlink(r,t),le.destroyNode(n)},readlink(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(44);if(!r.node_ops.readlink)throw new le.ErrnoError(28);return V.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(44);if(!t.node_ops.getattr)throw new le.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>le.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?le.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){le.chmod(e,r,!0)},fchmod(e,r){var t=le.getStreamChecked(e);le.chmod(t.node,r)},chown(e,r,t,n){var o;if(!(o="string"==typeof e?le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){le.chown(e,r,t,!0)},fchown(e,r,t){var n=le.getStreamChecked(e);le.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new le.ErrnoError(28);var t;if(!(t="string"==typeof e?le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new le.ErrnoError(63);if(le.isDir(t.mode))throw new le.ErrnoError(31);if(!le.isFile(t.mode))throw new le.ErrnoError(28);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=le.getStreamChecked(e);if(0==(2097155&t.flags))throw new le.ErrnoError(28);le.truncate(t.node,r)},utime(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new le.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{o=le.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new le.ErrnoError(20)}else o=le.mknod(e,t,0),a=!0;if(!o)throw new le.ErrnoError(44);if(le.isChrdev(o.mode)&&(r&=-513),65536&r&&!le.isDir(o.mode))throw new le.ErrnoError(54);if(!a){var s=le.mayOpen(o,r);if(s)throw new le.ErrnoError(s)}512&r&&!a&&le.truncate(o,0),r&=-131713;var i=le.createStream({node:o,path:le.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(le.readFiles||(le.readFiles={}),e in le.readFiles||(le.readFiles[e]=1)),i},close(e){if(le.isClosed(e))throw new le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(1==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.read)throw new le.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=s),s},write(e,r,t,n,o,a){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.write)throw new le.ErrnoError(28);e.seekable&&1024&e.flags&&le.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=i),i},allocate(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(r<0||t<=0)throw new le.ErrnoError(28);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(43);if(!e.stream_ops.allocate)throw new le.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new le.ErrnoError(2);if(1==(2097155&e.flags))throw new le.ErrnoError(2);if(!e.stream_ops.mmap)throw new le.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new le.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=le.open(e,r.flags),o=le.stat(e).size,a=new Uint8Array(o);return le.read(n,a,0,o,0),"utf8"===r.encoding?t=Q(a,0):"binary"===r.encoding&&(t=a),le.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(re(r)+1),a=te(r,o,0,o.length);le.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:()=>le.currentPath,chdir(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(44);if(!le.isDir(r.node.mode))throw new le.ErrnoError(54);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices(){le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),le.mkdev("/dev/null",le.makedev(1,3)),oe.register(le.makedev(5,0),oe.default_tty_ops),oe.register(le.makedev(6,0),oe.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=G(e).byteLength),e[--r]);le.createDevice("/dev","random",t),le.createDevice("/dev","urandom",t),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories(){le.mkdir("/proc");var e=le.mkdir("/proc/self");le.mkdir("/proc/self/fd"),le.mount({mount(){var r=le.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=le.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?le.createDevice("/dev","stdin",n.stdin):le.symlink("/dev/tty","/dev/stdin"),n.stdout?le.createDevice("/dev","stdout",null,n.stdout):le.symlink("/dev/tty","/dev/stdout"),n.stderr?le.createDevice("/dev","stderr",null,n.stderr):le.symlink("/dev/tty1","/dev/stderr"),le.open("/dev/stdin",0),le.open("/dev/stdout",1),le.open("/dev/stderr",1)},ensureErrnoError(){le.ErrnoError||(le.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[44].forEach((e=>{le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack=""})))},staticInit(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(se,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:se}},init(e,r,t){le.init.initialized=!0,le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,le.createStandardStreams()},quit(){le.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;o||(s=n);var i=this;i.setDataGetter((e=>{var r=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ne(o.responseText||"",!0)})(r,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var u=le.createFile(e,r,i,n,o);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i{var r=u.stream_ops[e];l[e]=function(){return le.forceLoadFile(u),r.apply(null,arguments)}})),l.read=(e,r,t,n,o)=>(le.forceLoadFile(u),c(e,r,t,n,o)),l.mmap=(e,r,t,n,o)=>{le.forceLoadFile(u);var a=ae();if(!a)throw new le.ErrnoError(48);return c(e,E,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=l,u}},ce=(e,r)=>e?Q(b,e,r):"",de={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Z.isAbs(r))return r;var n;if(n=-100===e?le.cwd():de.getStreamFromFD(e).path,0==r.length){if(!t)throw new le.ErrnoError(44);return n}return Z.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(le.getPath(e.node)))return-54;throw e}F[t>>2]=n.dev,F[t+4>>2]=n.mode,D[t+8>>2]=n.nlink,F[t+12>>2]=n.uid,F[t+16>>2]=n.gid,F[t+20>>2]=n.rdev,I=[n.size>>>0,(j=n.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+24>>2]=I[0],F[t+28>>2]=I[1],F[t+32>>2]=4096,F[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return I=[Math.floor(o/1e3)>>>0,(j=Math.floor(o/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+40>>2]=I[0],F[t+44>>2]=I[1],D[t+48>>2]=o%1e3*1e3,I=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+56>>2]=I[0],F[t+60>>2]=I[1],D[t+64>>2]=a%1e3*1e3,I=[Math.floor(s/1e3)>>>0,(j=Math.floor(s/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+72>>2]=I[0],F[t+76>>2]=I[1],D[t+80>>2]=s%1e3*1e3,I=[n.ino>>>0,(j=n.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+88>>2]=I[0],F[t+92>>2]=I[1],0},doMsync(e,r,t,n,o){if(!le.isFile(r.node.mode))throw new le.ErrnoError(43);if(2&n)return 0;var a=b.slice(e,e+t);le.msync(r,a,o,t,n)},varargs:void 0,get(){var e=F[+de.varargs>>2];return de.varargs+=4,e},getp:()=>de.get(),getStr:e=>ce(e),getStreamFromFD:e=>le.getStreamChecked(e)},fe=e=>(F[Oe()>>2]=e,e),he={BUCKET_BUFFER_SIZE:8192,mount:e=>le.createNode(null,"/",16895,0),createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(he.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=he.nextname(),t=he.nextname(),n=le.createNode(he.root,r,4096,0),o=le.createNode(he.root,t,4096,0);n.pipe=e,o.pipe=e;var a=le.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:he.stream_ops});n.stream=a;var s=le.createStream({path:t,node:o,flags:1,seekable:!1,stream_ops:he.stream_ops});return o.stream=s,{readable_fd:a.fd,writable_fd:s.fd}},stream_ops:{poll(e){var r=e.node.pipe;if(1==(2097155&e.flags))return 260;if(r.buckets.length>0)for(var t=0;t0)return 65}return 0},ioctl:(e,r,t)=>28,fsync:e=>28,read(e,r,t,n,o){for(var a=e.node.pipe,s=0,i=0;i=i)return u.buffer.set(s,u.offset),u.offset+=i,i;l>0&&(u.buffer.set(s.subarray(0,l),u.offset),u.offset+=l,s=s.subarray(l,s.byteLength));for(var c=s.byteLength/he.BUCKET_BUFFER_SIZE|0,d=s.byteLength%he.BUCKET_BUFFER_SIZE,f=0;f0&&(h={buffer:new Uint8Array(he.BUCKET_BUFFER_SIZE),offset:s.byteLength,roffset:0},a.buckets.push(h),h.buffer.set(s)),i},close(e){var r=e.node.pipe;r.refcnt--,0===r.refcnt&&(r.buckets=null)}},nextname:()=>(he.nextname.current||(he.nextname.current=0),"pipe["+he.nextname.current+++"]")},me=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,pe=e=>e%4==0&&(e%100!=0||e%400==0),ve=[0,31,60,91,121,152,182,213,244,274,305,335],we=[0,31,59,90,120,151,181,212,243,273,304,334],ge=e=>(pe(e.getFullYear())?ve:we)[e.getMonth()]+e.getDate()-1,_e=(e,r,t)=>te(e,b,r,t),ye=e=>{var r=re(e)+1,t=xe(r);return t&&_e(e,t,r),t},Ee=e=>{var r=(e-g.buffer.byteLength+65535)/65536;try{return g.grow(r),C(),1}catch(e){}},be={},ke=()=>{if(!ke.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var r in be)void 0===be[r]?delete e[r]:e[r]=be[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ke.strings=t}return ke.strings},Se=e=>{X||(n.onExit?.(e),M=!0),l(e,new q(e))},Fe=(e,r)=>{Se(e)},De=[31,29,31,30,31,30,31,31,30,31,30,31],Me=[31,28,31,30,31,30,31,31,30,31,30,31],Ae=(e,r)=>{E.set(e,r)},Ce=e=>n["_"+e],Pe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=re(e)+1,t=He(r);return _e(e,t,r),t})(e)),r},array:e=>{var r=He(e.length);return Ae(e,r),r}},s=Ce(e),i=[],u=0;if(n)for(var l=0;l{var d=r?V.resolve(Z.join2(e,r)):e;function f(t){function a(t){c?.(),u||((e,r,t,n,o,a)=>{le.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),s?.(),x()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ie.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,a,(()=>{i?.(),x()}))||a(t)}L(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&x()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&L()})(t,(e=>f(e)),i):f(t)},le.staticInit();var Ue={i:function(e){try{var r=de.getStreamFromFD(e);return le.createStream(r).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},a:function(e,r,t){de.varargs=t;try{var n=de.getStreamFromFD(e);switch(r){case 0:if((o=de.get())<0)return-28;for(;le.streams[o];)o++;return le.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=de.get();return n.flags|=o,0;case 5:return o=de.getp(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return fe(28),-1}}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{var t=de.getStreamFromFD(e);return de.doStat(le.stat,t.path,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=de.getStr(e),de.doStat(le.lstat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,r,t,n){try{r=de.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=de.calculateAt(e,r,a),de.doStat(o?le.lstat:le.stat,r,t)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,r,t,n){de.varargs=n;try{r=de.getStr(r),r=de.calculateAt(e,r);var o=n?de.get():0;return le.open(r,t,o).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e){try{if(0==e)throw new le.ErrnoError(21);var r=he.createPipe();return F[e>>2]=r.readable_fd,F[e+4>>2]=r.writable_fd,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{for(var n=0,o=0;o>2],i=S[a+4>>1],u=32,l=le.getStream(s);l&&(u=de.DEFAULT_POLLMASK,l.stream_ops.poll&&(u=l.stream_ops.poll(l,-1))),(u&=24|i)&&n++,S[a+6>>1]=u}return n}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,r){try{return e=de.getStr(e),de.doStat(le.stat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){try{return r=de.getStr(r),r=de.calculateAt(e,r),0===t?le.unlink(r):512===t?le.rmdir(r):O("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},B:()=>1,k:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getUTCSeconds(),F[t+4>>2]=o.getUTCMinutes(),F[t+8>>2]=o.getUTCHours(),F[t+12>>2]=o.getUTCDate(),F[t+16>>2]=o.getUTCMonth(),F[t+20>>2]=o.getUTCFullYear()-1900,F[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),s=(o.getTime()-a)/864e5|0;F[t+28>>2]=s},l:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getSeconds(),F[t+4>>2]=o.getMinutes(),F[t+8>>2]=o.getHours(),F[t+12>>2]=o.getDate(),F[t+16>>2]=o.getMonth(),F[t+20>>2]=o.getFullYear()-1900,F[t+24>>2]=o.getDay();var a=0|ge(o);F[t+28>>2]=a,F[t+36>>2]=-60*o.getTimezoneOffset();var s=new Date(o.getFullYear(),0,1),i=new Date(o.getFullYear(),6,1).getTimezoneOffset(),u=s.getTimezoneOffset(),l=0|(i!=u&&o.getTimezoneOffset()==Math.min(u,i));F[t+32>>2]=l},m:function(e){var r=(()=>{var r=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=F[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),i=Math.min(s,a);if(t<0)F[e+32>>2]=Number(a!=s&&i==n);else if(t>0!=(i==n)){var u=Math.max(s,a),l=t>0?i:u;r.setTime(r.getTime()+6e4*(l-n))}F[e+24>>2]=r.getDay();var c=0|ge(r);F[e+28>>2]=c,F[e>>2]=r.getSeconds(),F[e+4>>2]=r.getMinutes(),F[e+8>>2]=r.getHours(),F[e+12>>2]=r.getDate(),F[e+16>>2]=r.getMonth(),F[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?(fe(61),-1):d/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},n:function(e){var r=(()=>{var r=Date.UTC(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=new Date(r);F[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return F[e+28>>2]=o,t.getTime()/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},r:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),s=o.getTimezoneOffset(),i=a.getTimezoneOffset(),u=Math.max(s,i);function l(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}D[e>>2]=60*u,F[r>>2]=Number(s!=i);var c=l(o),d=l(a),f=ye(c),h=ye(d);i>2]=f,D[t+4>>2]=h):(D[t>>2]=h,D[t+4>>2]=f)},b:()=>{O("")},c:()=>Date.now(),h:(e,r,t)=>b.copyWithin(e,r,r+t),p:e=>{var r=b.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var s=r*(1+.2/a);s=Math.min(s,e+100663296);var i=Math.min(t,(n=Math.max(e,s))+((o=65536)-n%o)%o);if(Ee(i))return!0}return!1},z:(e,r)=>{var t=0;return ke().forEach(((n,o)=>{var a=r+t;D[e+4*o>>2]=a,((e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);E[r>>0]=0})(n,a),t+=n.length+1})),0},A:(e,r)=>{var t=ke();D[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),D[r>>2]=n,0},g:Fe,e:function(e){try{var r=de.getStreamFromFD(e);return le.close(r),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],i=D[r+4>>2];r+=8;var u=le.read(e,E,s,i,n);if(u<0)return-1;if(o+=u,u>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},o:function(e,r,t,n,o){var a=me(r,t);try{if(isNaN(a))return 61;var s=de.getStreamFromFD(e);return le.llseek(s,a,n),I=[s.position>>>0,(j=s.position,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[o>>2]=I[0],F[o+4>>2]=I[1],s.getdents&&0===a&&0===n&&(s.getdents=null),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},d:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],i=D[r+4>>2];r+=8;var u=le.write(e,E,s,i,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},f:(e,r,t,n)=>{var o=D[n+40>>2],a={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?ce(o):""},s=ce(t),i={"%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 u in i)s=s.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=pe(t.getFullYear()),o=t.getMonth(),a=(n?De:Me)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=m(t),a=m(n);return h(o,r)<=0?h(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var v={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>f((e.tm_year+1900)/100|0,2),"%d":e=>f(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>f(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),f(r,2)},"%j":e=>f(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(pe(e.tm_year+1900)?De:Me,e.tm_mon-1),3),"%m":e=>f(e.tm_mon+1,2),"%M":e=>f(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>f(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return f(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&pe(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&pe(e.tm_year%400-1))&&r++}return f(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return f(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in s=s.replace(/%%/g,"\0\0"),v)s.includes(u)&&(s=s.replace(new RegExp(u,"g"),v[u](a)));var w=ne(s=s.replace(/\0\0/g,"%"),!1);return w.length>r?0:(Ae(w,e),w.length-1)}},Le=function(){var e,r,o,a,s={a:Ue};function i(e,r){var t;return Le=e.exports,g=Le.C,C(),t=Le.D,T.unshift(t),x(),Le}if(L(),n.instantiateWasm)try{return n.instantiateWasm(s,i)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),t(e)}return(e=w,r=N,o=s,a=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||Y(r)||f||"function"!=typeof fetch?K(r,o,a):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(a,(function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),K(r,o,a)}))))).catch(t),{}}();n._get_version=()=>(n._get_version=Le.E)(),n._archive_open=(e,r,t,o)=>(n._archive_open=Le.F)(e,r,t,o),n._archive_read_add_passphrase=(e,r)=>(n._archive_read_add_passphrase=Le.G)(e,r),n._archive_error_string=e=>(n._archive_error_string=Le.H)(e),n._get_next_entry=e=>(n._get_next_entry=Le.I)(e),n._get_filedata=(e,r)=>(n._get_filedata=Le.J)(e,r);var xe=n._malloc=e=>(xe=n._malloc=Le.K)(e);n._archive_close=e=>(n._archive_close=Le.L)(e),n._start_archive_write=(e,r,t,o,a,s)=>(n._start_archive_write=Le.M)(e,r,t,o,a,s),n._write_archive_file=(e,r,t,o)=>(n._write_archive_file=Le.N)(e,r,t,o),n._size_of_size_t=()=>(n._size_of_size_t=Le.O)(),n._finish_archive_write=(e,r)=>(n._finish_archive_write=Le.P)(e,r),n._free=e=>(n._free=Le.Q)(e);var Oe=()=>(Oe=Le.R)();n._archive_entry_birthtime_nsec=e=>(n._archive_entry_birthtime_nsec=Le.S)(e),n._archive_entry_filetype=e=>(n._archive_entry_filetype=Le.T)(e),n._archive_entry_mtime_nsec=e=>(n._archive_entry_mtime_nsec=Le.U)(e),n._archive_entry_pathname=e=>(n._archive_entry_pathname=Le.V)(e),n._archive_entry_pathname_utf8=e=>(n._archive_entry_pathname_utf8=Le.W)(e),n._archive_entry_size=e=>(n._archive_entry_size=Le.X)(e),n._archive_entry_is_encrypted=e=>(n._archive_entry_is_encrypted=Le.Y)(e),n._archive_read_has_encrypted_entries=e=>(n._archive_read_has_encrypted_entries=Le.Z)(e),n._archive_read_data_skip=e=>(n._archive_read_data_skip=Le._)(e);var Ne,Be=e=>(Be=Le.aa)(e),je=()=>(je=Le.ba)(),Ie=e=>(Ie=Le.ca)(e),He=e=>(He=Le.da)(e);function Ye(){function e(){Ne||(Ne=!0,n.calledRun=!0,M||(n.noFSInit||le.init.initialized||le.init(),le.ignorePermissions=!1,he.root=le.mount(he,{},null),$(T),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),R.unshift(e);var e;$(R)}()))}z>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),P.unshift(e);var e;$(P)}(),z>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.cwrap=(e,r,t,n)=>{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ce(e):function(){return Pe(e,r,t,arguments)}},n.allocate=(e,r)=>{var t;return t=1==r?He(e.length):xe(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),b.set(e,t),t},U=function e(){Ne||Ye(),Ne||(U=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Ye(),e.ready});class F{constructor(){this.preRun=[],this.postRun=[],this.totalDependencies=0}print(...e){console.log(e)}printErr(...e){console.error(e)}initFunctions(){this.runCode={getVersion:this.cwrap("get_version","string",[]),openArchive:this.cwrap("archive_open","number",["number","number","string","string"]),getNextEntry:this.cwrap("get_next_entry","number",["number"]),getFileData:this.cwrap("get_filedata","number",["number","number"]),skipEntry:this.cwrap("archive_read_data_skip","number",["number"]),closeArchive:this.cwrap("archive_close",null,["number"]),getEntrySize:this.cwrap("archive_entry_size","number",["number"]),getEntryName:this.cwrap("archive_entry_pathname","string",["number"]),getEntryType:this.cwrap("archive_entry_filetype","number",["number"]),getEntryLastModified:this.cwrap("archive_entry_mtime_nsec","number",["number"]),getError:this.cwrap("archive_error_string","string",["number"]),startArchiveWrite:this.cwrap("start_archive_write","number",["string","string","number","number","number","string"]),writeArchiveFile:this.cwrap("write_archive_file",null,["number","string","number","number"]),finishArchiveWrite:this.cwrap("finish_archive_write","number",["number","number"]),entryIsEncrypted:this.cwrap("archive_entry_is_encrypted","number",["number"]),hasEncryptedEntries:this.cwrap("archive_read_has_encrypted_entries","number",["number"]),addPassphrase:this.cwrap("archive_read_add_passphrase","number",["number","string"]),string:e=>this.allocate(this.intArrayFromString(e),"i8",0),malloc:this.cwrap("malloc","number",["number"]),free:this.cwrap("free",null,["number"]),sizeOfSizeT:this.cwrap("size_of_size_t","number",[])}}monitorRunDependencies(){}}let D=null,M=null,A=!1;class C{constructor(e){C.readyCallback=e,A&&setTimeout((()=>e()),0)}open(e,r){D.open(e).then((()=>r()))}listFiles(){let e=[];for(const r of D.entries(!0))e.push(r);return e}extractFiles(){let e=[];for(const r of D.entries(!1))e.push(r);return e}extractSingleFile(e){for(const r of D.entries(!0,e))if(r.fileData)return r}hasEncryptedData(){return D.hasEncryptedData()}usePassword(e){D.setPassphrase(e)}setLocale(e){D.setLocale(e)}writeArchive(e,r,t,n){return M.write(e,r,t,n)}close(){D.close()}}var P;P=e=>{D=new E(e),M=new b(e),C?.readyCallback?.(),A=!0},S(new F).then((e=>{e.initFunctions(),P(e)})),u(C, /** * @license * Copyright 2019 Google LLC diff --git a/dist/worker-bundle.js b/dist/worker-bundle.js index 94780d6..a13a800 100644 --- a/dist/worker-bundle.js +++ b/dist/worker-bundle.js @@ -3,4 +3,4 @@ * Copyright 2019 Google LLC * SPDX-License-Identifier: Apache-2.0 */ -const e=Symbol("Comlink.proxy"),r=Symbol("Comlink.endpoint"),t=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),a=e=>"object"==typeof e&&null!==e||"function"==typeof e,i=new Map([["proxy",{canHandle:r=>a(r)&&r[e],serialize(e){const{port1:r,port2:t}=new MessageChannel;return s(e,r),[t,[t]]},deserialize(e){return e.start(),f(e,[],r);var r}}],["throw",{canHandle:e=>a(e)&&o in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function s(r,t=globalThis,a=["*"]){t.addEventListener("message",(function i(l){if(!l||!l.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(a,l.origin))return void console.warn(`Invalid origin '${l.origin}' for comlink proxy`);const{id:c,type:d,path:h}=Object.assign({path:[]},l.data),f=(l.data.argumentList||[]).map(w);let m;try{const t=h.slice(0,-1).reduce(((e,r)=>e[r]),r),n=h.reduce(((e,r)=>e[r]),r);switch(d){case"GET":m=n;break;case"SET":t[h.slice(-1)[0]]=w(l.data.value),m=!0;break;case"APPLY":m=n.apply(t,f);break;case"CONSTRUCT":m=function(r){return Object.assign(r,{[e]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:e,port2:t}=new MessageChannel;s(r,t),m=function(e,r){return p.set(e,r),e}(e,[e])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[o]:0}}Promise.resolve(m).catch((e=>({value:e,[o]:0}))).then((e=>{const[o,a]=v(e);t.postMessage(Object.assign(Object.assign({},o),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",i),u(t),n in r&&"function"==typeof r[n]&&r[n]())})).catch((e=>{const[r,n]=v({value:new TypeError("Unserializable return value"),[o]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function c(e){return g(e,{type:"RELEASE"}).then((()=>{u(e)}))}const d=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(d.get(e)||0)-1;d.set(e,r),0===r&&c(e)}));function f(e,n=[],o=function(){}){let a=!1;const i=new Proxy(o,{get(r,o){if(l(a),o===t)return()=>{!function(e){h&&h.unregister(e)}(i),c(e),a=!0};if("then"===o){if(0===n.length)return{then:()=>i};const r=g(e,{type:"GET",path:n.map((e=>e.toString()))}).then(w);return r.then.bind(r)}return f(e,[...n,o])},set(r,t,o){l(a);const[i,s]=v(o);return g(e,{type:"SET",path:[...n,t].map((e=>e.toString())),value:i},s).then(w)},apply(t,o,i){l(a);const s=n[n.length-1];if(s===r)return g(e,{type:"ENDPOINT"}).then(w);if("bind"===s)return f(e,n.slice(0,-1));const[u,c]=m(i);return g(e,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},c).then(w)},construct(r,t){l(a);const[o,i]=m(t);return g(e,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:o},i).then(w)}});return function(e,r){const t=(d.get(r)||0)+1;d.set(r,t),h&&h.register(e,r,e)}(i,e),i}function m(e){const r=e.map(v);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const p=new WeakMap;function v(e){for(const[r,t]of i)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},p.get(e)||[]]}function w(e){switch(e.type){case"HANDLER":return i.get(e.name).deserialize(e.value);case"RAW":return e.value}}function g(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}const _={32768:"FILE",16384:"DIR",40960:"SYMBOLIC_LINK",49152:"SOCKET",8192:"CHARACTER_DEVICE",24576:"BLOCK_DEVICE",4096:"NAMED_PIPE"};class y{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._file=null,this._passphrase=null,this._locale="en_US.UTF-8"}async open(e){null!==this._file&&(console.warn("Closing previous file"),this.close());const r=await this._loadFile(e);this._fileLength=r.length,this._filePtr=r.ptr}close(){this._runCode.closeArchive(this._archive),this._wasmModule._free(this._filePtr),this._file=null,this._filePtr=null,this._archive=null}hasEncryptedData(){this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale),this._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}setLocale(e){this._locale=e}*entries(e=!1,r=null){let t;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale);t=this._runCode.getNextEntry(this._archive),0!==t;){const n={size:this._runCode.getEntrySize(t),path:this._runCode.getEntryName(t),type:_[this._runCode.getEntryType(t)],lastModified:this._runCode.getEntryLastModified(t),ref:t};if("FILE"===n.type){let e=n.path.split("/");n.fileName=e[e.length-1]}if(e&&r!==n.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,n.size);if(e<0)throw new Error(this._runCode.getError(this._archive));n.fileData=this._wasmModule.HEAPU8.slice(e,e+n.size),this._wasmModule._free(e)}yield n}}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}class E{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._passphrase=null,this._locale="en_US.UTF-8"}async write(e,r,t,n=null){let o=e.reduce(((e,{file:r})=>e+r.size+128),0)+128;const a=this._runCode.malloc(o),i=this._runCode.malloc(this._runCode.sizeOfSizeT()),s=this._runCode.startArchiveWrite(r,t,a,o,i,n);for(const{file:r,pathname:t}of e){const e=await this._loadFile(r);this._runCode.writeArchiveFile(s,t||r.name,e.length,e.ptr),this._runCode.free(e.ptr)}const u=this._runCode.closeArchiveWrite(s),l=this._runCode.freeArchiveWrite(s);if(0!==u||0!==l)throw new Error(this._runCode.getError(s));const c=this.readNumberFromPointer(i);return this._wasmModule.HEAPU8.slice(a,a+c)}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}readNumberFromPointer(e){const r=this._runCode.sizeOfSizeT(),t=this._wasmModule.HEAPU8.slice(e,e+r);let n=null;if(4==r)n=new Uint32Array(t)[0];else{if(8!=r)throw Error("Unexpected size of size_t: "+r);n=new BigUint64Array(t)[0]}return n}}var b,k=(b=import.meta.url,async function(e={}){var r,t,n=e;n.ready=new Promise(((e,n)=>{r=e,t=n}));var o,a,i,s=Object.assign({},n),u="./this.program",l=(e,r)=>{throw r},c="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";if(h){const{createRequire:e}=await import("module");var m=e(import.meta.url),p=m("fs"),v=m("path");f=d?v.dirname(f)+"/":m("url").fileURLToPath(new URL("./",import.meta.url)),o=(e,r)=>(e=Y(e)?new URL(e):v.normalize(e),p.readFileSync(e,r?void 0:"utf8")),i=e=>{var r=o(e,!0);return r.buffer||(r=new Uint8Array(r)),r},a=(e,r,t,n=!0)=>{e=Y(e)?new URL(e):v.normalize(e),p.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),l=(e,r)=>{throw process.exitCode=e,r},n.inspect=()=>"[Emscripten Module object]"}else(c||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),b&&(f=b),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},d&&(i=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var w,g,_=n.print||console.log.bind(console),y=n.printErr||console.error.bind(console);Object.assign(n,s),s=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&(l=n.quit),n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&O("no native wasm support detected");var E,k,S,F,D,M=!1;function A(e,r){e||O(r)}function C(){var e=g.buffer;n.HEAP8=E=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAPU8=k=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU32=D=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var P=[],T=[],R=[],U=0,z=null;function L(e){U++,n.monitorRunDependencies?.(U)}function x(e){if(U--,n.monitorRunDependencies?.(U),0==U&&z){var r=z;z=null,r()}}function O(e){n.onAbort?.(e),y(e="Aborted("+e+")"),M=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}var N,B,j,I,H=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function W(e){if(e==N&&w)return new Uint8Array(w);if(i)return i(e);throw"both async and sync fetching of the wasm failed"}function K(e,r,t){return function(e){if(!w&&(c||d)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>W(e)));if(a)return new Promise(((r,t)=>{a(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>W(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),O(e)}))}function $(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?H(N="libarchive.wasm")||(B=N,N=n.locateFile?n.locateFile(B,f):f+B):N=new URL("libarchive.wasm",import.meta.url).href;var q=e=>{for(;e.length>0;)e.shift()(n)},X=n.noExitRuntime||!0,Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}O("initRandomDevice")})())(e),V={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return(r?"/":"")+(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=V.resolve(e).substr(1),r=V.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&J)return J.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&l)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},ee=[],re=e=>{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},te=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function ne(e,r,t){var n=t>0?t:re(e)+1,o=new Array(n),a=te(e,o,0,o.length);return r&&(o.length=a),o}var oe={ttys:[],init(){},shutdown(){},register(e,r){oe.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,oe.stream_ops)},stream_ops:{open(e){var r=oe.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(60);for(var a=0,i=0;i(()=>{if(!ee.length){var e=null;if(h){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ee=ne(e,!0)}return ee.shift()})(),put_char(e,r){null===r||10===r?(_(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(_(Q(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(Q(e.output,0)),e.output=[])}}},ae=e=>{O()},ie={ops_table:null,mount:e=>ie.createNode(null,"/",16895,0),createNode(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(63);ie.ops_table||={dir:{node:{getattr:ie.node_ops.getattr,setattr:ie.node_ops.setattr,lookup:ie.node_ops.lookup,mknod:ie.node_ops.mknod,rename:ie.node_ops.rename,unlink:ie.node_ops.unlink,rmdir:ie.node_ops.rmdir,readdir:ie.node_ops.readdir,symlink:ie.node_ops.symlink},stream:{llseek:ie.stream_ops.llseek}},file:{node:{getattr:ie.node_ops.getattr,setattr:ie.node_ops.setattr},stream:{llseek:ie.stream_ops.llseek,read:ie.stream_ops.read,write:ie.stream_ops.write,allocate:ie.stream_ops.allocate,mmap:ie.stream_ops.mmap,msync:ie.stream_ops.msync}},link:{node:{getattr:ie.node_ops.getattr,setattr:ie.node_ops.setattr,readlink:ie.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ie.node_ops.getattr,setattr:ie.node_ops.setattr},stream:le.chrdev_stream_ops}};var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=ie.ops_table.dir.node,o.stream_ops=ie.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=ie.ops_table.file.node,o.stream_ops=ie.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=ie.ops_table.link.node,o.stream_ops=ie.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=ie.ops_table.chrdev.node,o.stream_ops=ie.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=le.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&ie.resizeFileStorage(e,r.size)},lookup(e,r){throw le.genericErrors[44]},mknod:(e,r,t,n)=>ie.createNode(e,r,t,n),rename(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=ie.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s0||t+r(ie.stream_ops.write(e,r,0,n,t,!1),0)}},se=n.preloadPlugins||[],ue=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=V.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new le.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=le.root,o="/",a=0;a40)throw new le.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(le.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%le.nameTable.length},hashAddNode(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return le.lookup(e,r)},createNode(e,r,t,n){var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode(e){le.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>le.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return le.lookupNode(e,r),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return 54;if(le.isRoot(n)||le.getPath(n)===le.cwd())return 10}else if(le.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?31:le.nodePermissions(e,le.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=le.MAX_OPEN_FDS;e++)if(!le.streams[e])return e;throw new le.ErrnoError(33)},getStreamChecked(e){var r=le.getStream(e);if(!r)throw new le.ErrnoError(8);return r},getStream:e=>le.streams[e],createStream:(e,r=-1)=>(le.FSStream||(le.FSStream=function(){this.shared={}},le.FSStream.prototype={},Object.defineProperties(le.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new le.FSStream,e),-1==r&&(r=le.nextfd()),e.fd=r,le.streams[r]=e,e),closeStream(e){le.streams[e]=null},chrdev_stream_ops:{open(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new le.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){le.devices[e]={stream_ops:r}},getDevice:e=>le.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&y(`warning: ${le.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=le.getMounts(le.root.mount),n=0;function o(e){return le.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&le.root)throw new le.ErrnoError(10);if(!o&&!a){var i=le.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,le.isMountpoint(n))throw new le.ErrnoError(10);if(!le.isDir(n.mode))throw new le.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,o?le.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(28);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach((e=>{for(var r=le.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&le.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=le.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(28);var a=le.mayCreate(n,o);if(a)throw new le.ErrnoError(a);if(!n.node_ops.mknod)throw new le.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,le.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,le.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)),symlink(e,r){if(!V.resolve(e))throw new le.ErrnoError(44);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(44);var n=Z.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Z.dirname(e),a=Z.dirname(r),i=Z.basename(e),s=Z.basename(r);if(t=le.lookupPath(e,{parent:!0}).node,n=le.lookupPath(r,{parent:!0}).node,!t||!n)throw new le.ErrnoError(44);if(t.mount!==n.mount)throw new le.ErrnoError(75);var u,l=le.lookupNode(t,i),c=V.relative(e,a);if("."!==c.charAt(0))throw new le.ErrnoError(28);if("."!==(c=V.relative(r,o)).charAt(0))throw new le.ErrnoError(55);try{u=le.lookupNode(n,s)}catch(e){}if(l!==u){var d=le.isDir(l.mode),h=le.mayDelete(t,i,d);if(h)throw new le.ErrnoError(h);if(h=u?le.mayDelete(n,s,d):le.mayCreate(n,s))throw new le.ErrnoError(h);if(!t.node_ops.rename)throw new le.ErrnoError(63);if(le.isMountpoint(l)||u&&le.isMountpoint(u))throw new le.ErrnoError(10);if(n!==t&&(h=le.nodePermissions(t,"w")))throw new le.ErrnoError(h);le.hashRemoveNode(l);try{t.node_ops.rename(l,n,s)}catch(e){throw e}finally{le.hashAddNode(l)}}},rmdir(e){var r=le.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!0);if(o)throw new le.ErrnoError(o);if(!r.node_ops.rmdir)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.rmdir(r,t),le.destroyNode(n)},readdir(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=le.lookupPath(e,{parent:!0}).node;if(!r)throw new le.ErrnoError(44);var t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!1);if(o)throw new le.ErrnoError(o);if(!r.node_ops.unlink)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.unlink(r,t),le.destroyNode(n)},readlink(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(44);if(!r.node_ops.readlink)throw new le.ErrnoError(28);return V.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(44);if(!t.node_ops.getattr)throw new le.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>le.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?le.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){le.chmod(e,r,!0)},fchmod(e,r){var t=le.getStreamChecked(e);le.chmod(t.node,r)},chown(e,r,t,n){var o;if(!(o="string"==typeof e?le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){le.chown(e,r,t,!0)},fchown(e,r,t){var n=le.getStreamChecked(e);le.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new le.ErrnoError(28);var t;if(!(t="string"==typeof e?le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new le.ErrnoError(63);if(le.isDir(t.mode))throw new le.ErrnoError(31);if(!le.isFile(t.mode))throw new le.ErrnoError(28);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=le.getStreamChecked(e);if(0==(2097155&t.flags))throw new le.ErrnoError(28);le.truncate(t.node,r)},utime(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new le.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{o=le.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new le.ErrnoError(20)}else o=le.mknod(e,t,0),a=!0;if(!o)throw new le.ErrnoError(44);if(le.isChrdev(o.mode)&&(r&=-513),65536&r&&!le.isDir(o.mode))throw new le.ErrnoError(54);if(!a){var i=le.mayOpen(o,r);if(i)throw new le.ErrnoError(i)}512&r&&!a&&le.truncate(o,0),r&=-131713;var s=le.createStream({node:o,path:le.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!n.logReadFiles||1&r||(le.readFiles||(le.readFiles={}),e in le.readFiles||(le.readFiles[e]=1)),s},close(e){if(le.isClosed(e))throw new le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(1==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.read)throw new le.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.write)throw new le.ErrnoError(28);e.seekable&&1024&e.flags&&le.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(r<0||t<=0)throw new le.ErrnoError(28);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(43);if(!e.stream_ops.allocate)throw new le.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new le.ErrnoError(2);if(1==(2097155&e.flags))throw new le.ErrnoError(2);if(!e.stream_ops.mmap)throw new le.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new le.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=le.open(e,r.flags),o=le.stat(e).size,a=new Uint8Array(o);return le.read(n,a,0,o,0),"utf8"===r.encoding?t=Q(a,0):"binary"===r.encoding&&(t=a),le.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(re(r)+1),a=te(r,o,0,o.length);le.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:()=>le.currentPath,chdir(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(44);if(!le.isDir(r.node.mode))throw new le.ErrnoError(54);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices(){le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),le.mkdev("/dev/null",le.makedev(1,3)),oe.register(le.makedev(5,0),oe.default_tty_ops),oe.register(le.makedev(6,0),oe.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=G(e).byteLength),e[--r]);le.createDevice("/dev","random",t),le.createDevice("/dev","urandom",t),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories(){le.mkdir("/proc");var e=le.mkdir("/proc/self");le.mkdir("/proc/self/fd"),le.mount({mount(){var r=le.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=le.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?le.createDevice("/dev","stdin",n.stdin):le.symlink("/dev/tty","/dev/stdin"),n.stdout?le.createDevice("/dev","stdout",null,n.stdout):le.symlink("/dev/tty","/dev/stdout"),n.stderr?le.createDevice("/dev","stderr",null,n.stderr):le.symlink("/dev/tty1","/dev/stderr"),le.open("/dev/stdin",0),le.open("/dev/stdout",1),le.open("/dev/stderr",1)},ensureErrnoError(){le.ErrnoError||(le.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[44].forEach((e=>{le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack=""})))},staticInit(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(ie,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:ie}},init(e,r,t){le.init.initialized=!0,le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,le.createStandardStreams()},quit(){le.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;o||(i=n);var s=this;s.setDataGetter((e=>{var r=e*i,o=(e+1)*i-1;if(o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==i&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ne(o.responseText||"",!0)})(r,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!a&&n||(i=n=1,n=this.getter(0).length,i=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i=new a;Object.defineProperties(i,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:i}}else s={isDevice:!1,url:t};var u=le.createFile(e,r,s,n,o);s.contents?u.contents=s.contents:s.url&&(u.contents=null,u.url=s.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(a.slice)for(var s=0;s{var r=u.stream_ops[e];l[e]=function(){return le.forceLoadFile(u),r.apply(null,arguments)}})),l.read=(e,r,t,n,o)=>(le.forceLoadFile(u),c(e,r,t,n,o)),l.mmap=(e,r,t,n,o)=>{le.forceLoadFile(u);var a=ae();if(!a)throw new le.ErrnoError(48);return c(e,E,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=l,u}},ce=(e,r)=>e?Q(k,e,r):"",de={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Z.isAbs(r))return r;var n;if(n=-100===e?le.cwd():de.getStreamFromFD(e).path,0==r.length){if(!t)throw new le.ErrnoError(44);return n}return Z.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(le.getPath(e.node)))return-54;throw e}F[t>>2]=n.dev,F[t+4>>2]=n.mode,D[t+8>>2]=n.nlink,F[t+12>>2]=n.uid,F[t+16>>2]=n.gid,F[t+20>>2]=n.rdev,I=[n.size>>>0,(j=n.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+24>>2]=I[0],F[t+28>>2]=I[1],F[t+32>>2]=4096,F[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return I=[Math.floor(o/1e3)>>>0,(j=Math.floor(o/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+40>>2]=I[0],F[t+44>>2]=I[1],D[t+48>>2]=o%1e3*1e3,I=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+56>>2]=I[0],F[t+60>>2]=I[1],D[t+64>>2]=a%1e3*1e3,I=[Math.floor(i/1e3)>>>0,(j=Math.floor(i/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+72>>2]=I[0],F[t+76>>2]=I[1],D[t+80>>2]=i%1e3*1e3,I=[n.ino>>>0,(j=n.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+88>>2]=I[0],F[t+92>>2]=I[1],0},doMsync(e,r,t,n,o){if(!le.isFile(r.node.mode))throw new le.ErrnoError(43);if(2&n)return 0;var a=k.slice(e,e+t);le.msync(r,a,o,t,n)},varargs:void 0,get(){var e=F[+de.varargs>>2];return de.varargs+=4,e},getp:()=>de.get(),getStr:e=>ce(e),getStreamFromFD:e=>le.getStreamChecked(e)},he=e=>(F[Oe()>>2]=e,e),fe={BUCKET_BUFFER_SIZE:8192,mount:e=>le.createNode(null,"/",16895,0),createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=fe.nextname(),t=fe.nextname(),n=le.createNode(fe.root,r,4096,0),o=le.createNode(fe.root,t,4096,0);n.pipe=e,o.pipe=e;var a=le.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:fe.stream_ops});n.stream=a;var i=le.createStream({path:t,node:o,flags:1,seekable:!1,stream_ops:fe.stream_ops});return o.stream=i,{readable_fd:a.fd,writable_fd:i.fd}},stream_ops:{poll(e){var r=e.node.pipe;if(1==(2097155&e.flags))return 260;if(r.buckets.length>0)for(var t=0;t0)return 65}return 0},ioctl:(e,r,t)=>28,fsync:e=>28,read(e,r,t,n,o){for(var a=e.node.pipe,i=0,s=0;s=s)return u.buffer.set(i,u.offset),u.offset+=s,s;l>0&&(u.buffer.set(i.subarray(0,l),u.offset),u.offset+=l,i=i.subarray(l,i.byteLength));for(var c=i.byteLength/fe.BUCKET_BUFFER_SIZE|0,d=i.byteLength%fe.BUCKET_BUFFER_SIZE,h=0;h0&&(f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:i.byteLength,roffset:0},a.buckets.push(f),f.buffer.set(i)),s},close(e){var r=e.node.pipe;r.refcnt--,0===r.refcnt&&(r.buckets=null)}},nextname:()=>(fe.nextname.current||(fe.nextname.current=0),"pipe["+fe.nextname.current+++"]")},me=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,pe=e=>e%4==0&&(e%100!=0||e%400==0),ve=[0,31,60,91,121,152,182,213,244,274,305,335],we=[0,31,59,90,120,151,181,212,243,273,304,334],ge=e=>(pe(e.getFullYear())?ve:we)[e.getMonth()]+e.getDate()-1,_e=(e,r,t)=>te(e,k,r,t),ye=e=>{var r=re(e)+1,t=xe(r);return t&&_e(e,t,r),t},Ee=e=>{var r=(e-g.buffer.byteLength+65535)/65536;try{return g.grow(r),C(),1}catch(e){}},be={},ke=()=>{if(!ke.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var r in be)void 0===be[r]?delete e[r]:e[r]=be[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ke.strings=t}return ke.strings},Se=e=>{X||(n.onExit?.(e),M=!0),l(e,new $(e))},Fe=(e,r)=>{Se(e)},De=[31,29,31,30,31,30,31,31,30,31,30,31],Me=[31,28,31,30,31,30,31,31,30,31,30,31],Ae=(e,r)=>{E.set(e,r)},Ce=e=>n["_"+e],Pe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=re(e)+1,t=He(r);return _e(e,t,r),t})(e)),r},array:e=>{var r=He(e.length);return Ae(e,r),r}},i=Ce(e),s=[],u=0;if(n)for(var l=0;l{var d=r?V.resolve(Z.join2(e,r)):e;function h(t){function a(t){c?.(),u||((e,r,t,n,o,a)=>{le.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),i?.(),x()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return se.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,a,(()=>{s?.(),x()}))||a(t)}L(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&x()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&L()})(t,(e=>h(e)),s):h(t)},le.staticInit();var ze={i:function(e){try{var r=de.getStreamFromFD(e);return le.createStream(r).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},a:function(e,r,t){de.varargs=t;try{var n=de.getStreamFromFD(e);switch(r){case 0:if((o=de.get())<0)return-28;for(;le.streams[o];)o++;return le.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=de.get();return n.flags|=o,0;case 5:return o=de.getp(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return he(28),-1}}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{var t=de.getStreamFromFD(e);return de.doStat(le.stat,t.path,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=de.getStr(e),de.doStat(le.lstat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,r,t,n){try{r=de.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=de.calculateAt(e,r,a),de.doStat(o?le.lstat:le.stat,r,t)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,r,t,n){de.varargs=n;try{r=de.getStr(r),r=de.calculateAt(e,r);var o=n?de.get():0;return le.open(r,t,o).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e){try{if(0==e)throw new le.ErrnoError(21);var r=fe.createPipe();return F[e>>2]=r.readable_fd,F[e+4>>2]=r.writable_fd,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{for(var n=0,o=0;o>2],s=S[a+4>>1],u=32,l=le.getStream(i);l&&(u=de.DEFAULT_POLLMASK,l.stream_ops.poll&&(u=l.stream_ops.poll(l,-1))),(u&=24|s)&&n++,S[a+6>>1]=u}return n}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,r){try{return e=de.getStr(e),de.doStat(le.stat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){try{return r=de.getStr(r),r=de.calculateAt(e,r),0===t?le.unlink(r):512===t?le.rmdir(r):O("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},B:()=>1,k:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getUTCSeconds(),F[t+4>>2]=o.getUTCMinutes(),F[t+8>>2]=o.getUTCHours(),F[t+12>>2]=o.getUTCDate(),F[t+16>>2]=o.getUTCMonth(),F[t+20>>2]=o.getUTCFullYear()-1900,F[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),i=(o.getTime()-a)/864e5|0;F[t+28>>2]=i},l:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getSeconds(),F[t+4>>2]=o.getMinutes(),F[t+8>>2]=o.getHours(),F[t+12>>2]=o.getDate(),F[t+16>>2]=o.getMonth(),F[t+20>>2]=o.getFullYear()-1900,F[t+24>>2]=o.getDay();var a=0|ge(o);F[t+28>>2]=a,F[t+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),u=i.getTimezoneOffset(),l=0|(s!=u&&o.getTimezoneOffset()==Math.min(u,s));F[t+32>>2]=l},m:function(e){var r=(()=>{var r=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=F[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=Math.min(i,a);if(t<0)F[e+32>>2]=Number(a!=i&&s==n);else if(t>0!=(s==n)){var u=Math.max(i,a),l=t>0?s:u;r.setTime(r.getTime()+6e4*(l-n))}F[e+24>>2]=r.getDay();var c=0|ge(r);F[e+28>>2]=c,F[e>>2]=r.getSeconds(),F[e+4>>2]=r.getMinutes(),F[e+8>>2]=r.getHours(),F[e+12>>2]=r.getDate(),F[e+16>>2]=r.getMonth(),F[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?(he(61),-1):d/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},n:function(e){var r=(()=>{var r=Date.UTC(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=new Date(r);F[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return F[e+28>>2]=o,t.getTime()/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},r:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),i=o.getTimezoneOffset(),s=a.getTimezoneOffset(),u=Math.max(i,s);function l(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}D[e>>2]=60*u,F[r>>2]=Number(i!=s);var c=l(o),d=l(a),h=ye(c),f=ye(d);s>2]=h,D[t+4>>2]=f):(D[t>>2]=f,D[t+4>>2]=h)},b:()=>{O("")},c:()=>Date.now(),h:(e,r,t)=>k.copyWithin(e,r,r+t),p:e=>{var r=k.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(Ee(s))return!0}return!1},z:(e,r)=>{var t=0;return ke().forEach(((n,o)=>{var a=r+t;D[e+4*o>>2]=a,((e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);E[r>>0]=0})(n,a),t+=n.length+1})),0},A:(e,r)=>{var t=ke();D[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),D[r>>2]=n,0},g:Fe,e:function(e){try{var r=de.getStreamFromFD(e);return le.close(r),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=D[r+4>>2];r+=8;var u=le.read(e,E,i,s,n);if(u<0)return-1;if(o+=u,u>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},o:function(e,r,t,n,o){var a=me(r,t);try{if(isNaN(a))return 61;var i=de.getStreamFromFD(e);return le.llseek(i,a,n),I=[i.position>>>0,(j=i.position,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[o>>2]=I[0],F[o+4>>2]=I[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},d:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],s=D[r+4>>2];r+=8;var u=le.write(e,E,i,s,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},f:(e,r,t,n)=>{var o=D[n+40>>2],a={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?ce(o):""},i=ce(t),s={"%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 u in s)i=i.replace(new RegExp(u,"g"),s[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=pe(t.getFullYear()),o=t.getMonth(),a=(n?De:Me)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=m(t),a=m(n);return f(o,r)<=0?f(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var v={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),h(r,2)},"%j":e=>h(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(pe(e.tm_year+1900)?De:Me,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return h(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&pe(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&pe(e.tm_year%400-1))&&r++}return h(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in i=i.replace(/%%/g,"\0\0"),v)i.includes(u)&&(i=i.replace(new RegExp(u,"g"),v[u](a)));var w=ne(i=i.replace(/\0\0/g,"%"),!1);return w.length>r?0:(Ae(w,e),w.length-1)}},Le=function(){var e,r,o,a,i={a:ze};function s(e,r){var t;return Le=e.exports,g=Le.C,C(),t=Le.D,T.unshift(t),x(),Le}if(L(),n.instantiateWasm)try{return n.instantiateWasm(i,s)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),t(e)}return(e=w,r=N,o=i,a=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||Y(r)||h||"function"!=typeof fetch?K(r,o,a):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(a,(function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),K(r,o,a)}))))).catch(t),{}}();n._get_version=()=>(n._get_version=Le.E)(),n._archive_open=(e,r,t,o)=>(n._archive_open=Le.F)(e,r,t,o),n._archive_read_add_passphrase=(e,r)=>(n._archive_read_add_passphrase=Le.G)(e,r),n._archive_error_string=e=>(n._archive_error_string=Le.H)(e),n._get_next_entry=e=>(n._get_next_entry=Le.I)(e),n._get_filedata=(e,r)=>(n._get_filedata=Le.J)(e,r);var xe=n._malloc=e=>(xe=n._malloc=Le.K)(e);n._archive_close=e=>(n._archive_close=Le.L)(e),n._start_archive_write=(e,r,t,o,a,i)=>(n._start_archive_write=Le.M)(e,r,t,o,a,i),n._write_archive_file=(e,r,t,o)=>(n._write_archive_file=Le.N)(e,r,t,o),n._size_of_size_t=()=>(n._size_of_size_t=Le.O)(),n._free=e=>(n._free=Le.P)(e);var Oe=()=>(Oe=Le.Q)();n._archive_entry_birthtime_nsec=e=>(n._archive_entry_birthtime_nsec=Le.R)(e),n._archive_entry_filetype=e=>(n._archive_entry_filetype=Le.S)(e),n._archive_entry_mtime_nsec=e=>(n._archive_entry_mtime_nsec=Le.T)(e),n._archive_entry_pathname=e=>(n._archive_entry_pathname=Le.U)(e),n._archive_entry_pathname_utf8=e=>(n._archive_entry_pathname_utf8=Le.V)(e),n._archive_entry_size=e=>(n._archive_entry_size=Le.W)(e),n._archive_entry_is_encrypted=e=>(n._archive_entry_is_encrypted=Le.X)(e),n._archive_read_has_encrypted_entries=e=>(n._archive_read_has_encrypted_entries=Le.Y)(e),n._archive_read_data_skip=e=>(n._archive_read_data_skip=Le.Z)(e),n._archive_write_close=e=>(n._archive_write_close=Le.$)(e),n._archive_write_free=e=>(n._archive_write_free=Le.aa)(e);var Ne,Be=e=>(Be=Le.ba)(e),je=()=>(je=Le.ca)(),Ie=e=>(Ie=Le.da)(e),He=e=>(He=Le.ea)(e);function Ye(){function e(){Ne||(Ne=!0,n.calledRun=!0,M||(n.noFSInit||le.init.initialized||le.init(),le.ignorePermissions=!1,fe.root=le.mount(fe,{},null),q(T),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),R.unshift(e);var e;q(R)}()))}U>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),P.unshift(e);var e;q(P)}(),U>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.cwrap=(e,r,t,n)=>{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ce(e):function(){return Pe(e,r,t,arguments)}},n.UTF8ToString=ce,n.intArrayFromString=ne,n.allocate=(e,r)=>{var t;return t=1==r?He(e.length):xe(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),k.set(e,t),t},z=function e(){Ne||Ye(),Ne||(z=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Ye(),e.ready});class S{constructor(){this.preRun=[],this.postRun=[],this.totalDependencies=0}print(...e){console.log(e)}printErr(...e){console.error(e)}initFunctions(){this.runCode={getVersion:this.cwrap("get_version","string",[]),openArchive:this.cwrap("archive_open","number",["number","number","string","string"]),getNextEntry:this.cwrap("get_next_entry","number",["number"]),getFileData:this.cwrap("get_filedata","number",["number","number"]),skipEntry:this.cwrap("archive_read_data_skip","number",["number"]),closeArchive:this.cwrap("archive_close",null,["number"]),getEntrySize:this.cwrap("archive_entry_size","number",["number"]),getEntryName:this.cwrap("archive_entry_pathname","string",["number"]),getEntryType:this.cwrap("archive_entry_filetype","number",["number"]),getEntryLastModified:this.cwrap("archive_entry_mtime_nsec","number",["number"]),getError:this.cwrap("archive_error_string","string",["number"]),startArchiveWrite:this.cwrap("start_archive_write","number",["string","string","number","number","number","string"]),writeArchiveFile:this.cwrap("write_archive_file",null,["number","string","number","number"]),closeArchiveWrite:this.cwrap("archive_write_close","number",["number"]),freeArchiveWrite:this.cwrap("archive_write_free","number",["number"]),entryIsEncrypted:this.cwrap("archive_entry_is_encrypted","number",["number"]),hasEncryptedEntries:this.cwrap("archive_read_has_encrypted_entries","number",["number"]),addPassphrase:this.cwrap("archive_read_add_passphrase","number",["number","string"]),string:e=>this.allocate(this.intArrayFromString(e),"i8",0),malloc:this.cwrap("malloc","number",["number"]),free:this.cwrap("free",null,["number"]),sizeOfSizeT:this.cwrap("size_of_size_t","number",[])}}monitorRunDependencies(){}}let F=null,D=null,M=!1;class A{constructor(e){A.readyCallback=e,M&&setTimeout((()=>e()),0)}open(e,r){F.open(e).then((()=>r()))}listFiles(){let e=[];for(const r of F.entries(!0))e.push(r);return e}extractFiles(){let e=[];for(const r of F.entries(!1))e.push(r);return e}extractSingleFile(e){for(const r of F.entries(!0,e))if(r.fileData)return r}hasEncryptedData(){return F.hasEncryptedData()}usePassword(e){F.setPassphrase(e)}setLocale(e){F.setLocale(e)}writeArchive(e,r,t,n){return D.write(e,r,t,n)}close(){F.close()}}var C;C=e=>{F=new y(e),D=new E(e),A?.readyCallback?.(),M=!0},k(new S).then((e=>{e.initFunctions(),C(e)})),s(A); +const e=Symbol("Comlink.proxy"),r=Symbol("Comlink.endpoint"),t=Symbol("Comlink.releaseProxy"),n=Symbol("Comlink.finalizer"),o=Symbol("Comlink.thrown"),a=e=>"object"==typeof e&&null!==e||"function"==typeof e,s=new Map([["proxy",{canHandle:r=>a(r)&&r[e],serialize(e){const{port1:r,port2:t}=new MessageChannel;return i(e,r),[t,[t]]},deserialize(e){return e.start(),f(e,[],r);var r}}],["throw",{canHandle:e=>a(e)&&o in e,serialize({value:e}){let r;return r=e instanceof Error?{isError:!0,value:{message:e.message,name:e.name,stack:e.stack}}:{isError:!1,value:e},[r,[]]},deserialize(e){if(e.isError)throw Object.assign(new Error(e.value.message),e.value);throw e.value}}]]);function i(r,t=globalThis,a=["*"]){t.addEventListener("message",(function s(l){if(!l||!l.data)return;if(!function(e,r){for(const t of e){if(r===t||"*"===t)return!0;if(t instanceof RegExp&&t.test(r))return!0}return!1}(a,l.origin))return void console.warn(`Invalid origin '${l.origin}' for comlink proxy`);const{id:c,type:d,path:h}=Object.assign({path:[]},l.data),f=(l.data.argumentList||[]).map(w);let m;try{const t=h.slice(0,-1).reduce(((e,r)=>e[r]),r),n=h.reduce(((e,r)=>e[r]),r);switch(d){case"GET":m=n;break;case"SET":t[h.slice(-1)[0]]=w(l.data.value),m=!0;break;case"APPLY":m=n.apply(t,f);break;case"CONSTRUCT":m=function(r){return Object.assign(r,{[e]:!0})}(new n(...f));break;case"ENDPOINT":{const{port1:e,port2:t}=new MessageChannel;i(r,t),m=function(e,r){return p.set(e,r),e}(e,[e])}break;case"RELEASE":m=void 0;break;default:return}}catch(e){m={value:e,[o]:0}}Promise.resolve(m).catch((e=>({value:e,[o]:0}))).then((e=>{const[o,a]=v(e);t.postMessage(Object.assign(Object.assign({},o),{id:c}),a),"RELEASE"===d&&(t.removeEventListener("message",s),u(t),n in r&&"function"==typeof r[n]&&r[n]())})).catch((e=>{const[r,n]=v({value:new TypeError("Unserializable return value"),[o]:0});t.postMessage(Object.assign(Object.assign({},r),{id:c}),n)}))})),t.start&&t.start()}function u(e){(function(e){return"MessagePort"===e.constructor.name})(e)&&e.close()}function l(e){if(e)throw new Error("Proxy has been released and is not useable")}function c(e){return g(e,{type:"RELEASE"}).then((()=>{u(e)}))}const d=new WeakMap,h="FinalizationRegistry"in globalThis&&new FinalizationRegistry((e=>{const r=(d.get(e)||0)-1;d.set(e,r),0===r&&c(e)}));function f(e,n=[],o=function(){}){let a=!1;const s=new Proxy(o,{get(r,o){if(l(a),o===t)return()=>{!function(e){h&&h.unregister(e)}(s),c(e),a=!0};if("then"===o){if(0===n.length)return{then:()=>s};const r=g(e,{type:"GET",path:n.map((e=>e.toString()))}).then(w);return r.then.bind(r)}return f(e,[...n,o])},set(r,t,o){l(a);const[s,i]=v(o);return g(e,{type:"SET",path:[...n,t].map((e=>e.toString())),value:s},i).then(w)},apply(t,o,s){l(a);const i=n[n.length-1];if(i===r)return g(e,{type:"ENDPOINT"}).then(w);if("bind"===i)return f(e,n.slice(0,-1));const[u,c]=m(s);return g(e,{type:"APPLY",path:n.map((e=>e.toString())),argumentList:u},c).then(w)},construct(r,t){l(a);const[o,s]=m(t);return g(e,{type:"CONSTRUCT",path:n.map((e=>e.toString())),argumentList:o},s).then(w)}});return function(e,r){const t=(d.get(r)||0)+1;d.set(r,t),h&&h.register(e,r,e)}(s,e),s}function m(e){const r=e.map(v);return[r.map((e=>e[0])),(t=r.map((e=>e[1])),Array.prototype.concat.apply([],t))];var t}const p=new WeakMap;function v(e){for(const[r,t]of s)if(t.canHandle(e)){const[n,o]=t.serialize(e);return[{type:"HANDLER",name:r,value:n},o]}return[{type:"RAW",value:e},p.get(e)||[]]}function w(e){switch(e.type){case"HANDLER":return s.get(e.name).deserialize(e.value);case"RAW":return e.value}}function g(e,r,t){return new Promise((n=>{const o=new Array(4).fill(0).map((()=>Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16))).join("-");e.addEventListener("message",(function r(t){t.data&&t.data.id&&t.data.id===o&&(e.removeEventListener("message",r),n(t.data))})),e.start&&e.start(),e.postMessage(Object.assign({id:o},r),t)}))}const _={32768:"FILE",16384:"DIR",40960:"SYMBOLIC_LINK",49152:"SOCKET",8192:"CHARACTER_DEVICE",24576:"BLOCK_DEVICE",4096:"NAMED_PIPE"};class y{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._file=null,this._passphrase=null,this._locale="en_US.UTF-8"}async open(e){null!==this._file&&(console.warn("Closing previous file"),this.close());const r=await this._loadFile(e);this._fileLength=r.length,this._filePtr=r.ptr}close(){this._runCode.closeArchive(this._archive),this._wasmModule._free(this._filePtr),this._file=null,this._filePtr=null,this._archive=null}hasEncryptedData(){this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale),this._runCode.getNextEntry(this._archive);const e=this._runCode.hasEncryptedEntries(this._archive);return 0!==e&&(e>0||null)}setPassphrase(e){this._passphrase=e}setLocale(e){this._locale=e}*entries(e=!1,r=null){let t;for(this._archive=this._runCode.openArchive(this._filePtr,this._fileLength,this._passphrase,this._locale);t=this._runCode.getNextEntry(this._archive),0!==t;){const n={size:this._runCode.getEntrySize(t),path:this._runCode.getEntryName(t),type:_[this._runCode.getEntryType(t)],lastModified:this._runCode.getEntryLastModified(t),ref:t};if("FILE"===n.type){let e=n.path.split("/");n.fileName=e[e.length-1]}if(e&&r!==n.path)this._runCode.skipEntry(this._archive);else{const e=this._runCode.getFileData(this._archive,n.size);if(e<0)throw new Error(this._runCode.getError(this._archive));n.fileData=this._wasmModule.HEAPU8.slice(e,e+n.size),this._wasmModule._free(e)}yield n}}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}class E{constructor(e){this._wasmModule=e,this._runCode=e.runCode,this._passphrase=null,this._locale="en_US.UTF-8"}async write(e,r,t,n=null){let o=e.reduce(((e,{file:r})=>e+r.size+128),0)+128;const a=this._runCode.malloc(o),s=this._runCode.malloc(this._runCode.sizeOfSizeT()),i=this._runCode.startArchiveWrite(r,t,a,o,s,n);for(const{file:r,pathname:t}of e){const e=await this._loadFile(r);this._runCode.writeArchiveFile(i,t||r.name,e.length,e.ptr),this._runCode.free(e.ptr)}const u=this._runCode.finishArchiveWrite(i,s);if(u<0)throw new Error(this._runCode.getError(i));return this._wasmModule.HEAPU8.slice(a,a+u)}async _loadFile(e){const r=await e.arrayBuffer(),t=new Uint8Array(r),n=this._runCode.malloc(t.length);return this._wasmModule.HEAPU8.set(t,n),{ptr:n,length:t.length}}}var b,k=(b=import.meta.url,async function(e={}){var r,t,n=e;n.ready=new Promise(((e,n)=>{r=e,t=n}));var o,a,s,i=Object.assign({},n),u="./this.program",l=(e,r)=>{throw r},c="object"==typeof window,d="function"==typeof importScripts,h="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,f="";if(h){const{createRequire:e}=await import("module");var m=e(import.meta.url),p=m("fs"),v=m("path");f=d?v.dirname(f)+"/":m("url").fileURLToPath(new URL("./",import.meta.url)),o=(e,r)=>(e=Y(e)?new URL(e):v.normalize(e),p.readFileSync(e,r?void 0:"utf8")),s=e=>{var r=o(e,!0);return r.buffer||(r=new Uint8Array(r)),r},a=(e,r,t,n=!0)=>{e=Y(e)?new URL(e):v.normalize(e),p.readFile(e,n?void 0:"utf8",((e,o)=>{e?t(e):r(n?o.buffer:o)}))},!n.thisProgram&&process.argv.length>1&&(u=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),l=(e,r)=>{throw process.exitCode=e,r},n.inspect=()=>"[Emscripten Module object]"}else(c||d)&&(d?f=self.location.href:"undefined"!=typeof document&&document.currentScript&&(f=document.currentScript.src),b&&(f=b),f=0!==f.indexOf("blob:")?f.substr(0,f.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},d&&(s=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)});var w,g,_=n.print||console.log.bind(console),y=n.printErr||console.error.bind(console);Object.assign(n,i),i=null,n.arguments&&n.arguments,n.thisProgram&&(u=n.thisProgram),n.quit&&(l=n.quit),n.wasmBinary&&(w=n.wasmBinary),"object"!=typeof WebAssembly&&O("no native wasm support detected");var E,k,S,F,D,M=!1;function A(e,r){e||O(r)}function C(){var e=g.buffer;n.HEAP8=E=new Int8Array(e),n.HEAP16=S=new Int16Array(e),n.HEAPU8=k=new Uint8Array(e),n.HEAPU16=new Uint16Array(e),n.HEAP32=F=new Int32Array(e),n.HEAPU32=D=new Uint32Array(e),n.HEAPF32=new Float32Array(e),n.HEAPF64=new Float64Array(e)}var P=[],T=[],R=[],z=0,U=null;function L(e){z++,n.monitorRunDependencies?.(z)}function x(e){if(z--,n.monitorRunDependencies?.(z),0==z&&U){var r=U;U=null,r()}}function O(e){n.onAbort?.(e),y(e="Aborted("+e+")"),M=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw t(r),r}var N,B,j,I,H=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function W(e){if(e==N&&w)return new Uint8Array(w);if(s)return s(e);throw"both async and sync fetching of the wasm failed"}function K(e,r,t){return function(e){if(!w&&(c||d)){if("function"==typeof fetch&&!Y(e))return fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '"+e+"'";return r.arrayBuffer()})).catch((()=>W(e)));if(a)return new Promise(((r,t)=>{a(e,(e=>r(new Uint8Array(e))),t)}))}return Promise.resolve().then((()=>W(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then((e=>e)).then(t,(e=>{y(`failed to asynchronously prepare wasm: ${e}`),O(e)}))}function q(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}n.locateFile?H(N="libarchive.wasm")||(B=N,N=n.locateFile?n.locateFile(B,f):f+B):N=new URL("libarchive.wasm",import.meta.url).href;var $=e=>{for(;e.length>0;)e.shift()(n)},X=n.noExitRuntime||!0,Z={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=Z.isAbs(e),t="/"===e.substr(-1);return(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=Z.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=Z.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){var e=Array.prototype.slice.call(arguments);return Z.normalize(e.join("/"))},join2:(e,r)=>Z.normalize(e+"/"+r)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(h)try{var e=m("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}O("initRandomDevice")})())(e),V={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?arguments[t]:le.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=Z.isAbs(n)}return(r?"/":"")+(e=Z.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=V.resolve(e).substr(1),r=V.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),s=a,i=0;i{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&J)return J.decode(e.subarray(r,o));for(var a="";r>10,56320|1023&l)}}else a+=String.fromCharCode((31&s)<<6|i)}else a+=String.fromCharCode(s)}return a},ee=[],re=e=>{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},te=(e,r,t,n)=>{if(!(n>0))return 0;for(var o=t,a=t+n-1,s=0;s=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),i<=127){if(t>=a)break;r[t++]=i}else if(i<=2047){if(t+1>=a)break;r[t++]=192|i>>6,r[t++]=128|63&i}else if(i<=65535){if(t+2>=a)break;r[t++]=224|i>>12,r[t++]=128|i>>6&63,r[t++]=128|63&i}else{if(t+3>=a)break;r[t++]=240|i>>18,r[t++]=128|i>>12&63,r[t++]=128|i>>6&63,r[t++]=128|63&i}}return r[t]=0,t-o};function ne(e,r,t){var n=t>0?t:re(e)+1,o=new Array(n),a=te(e,o,0,o.length);return r&&(o.length=a),o}var oe={ttys:[],init(){},shutdown(){},register(e,r){oe.ttys[e]={input:[],output:[],ops:r},le.registerDevice(e,oe.stream_ops)},stream_ops:{open(e){var r=oe.ttys[e.node.rdev];if(!r)throw new le.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new le.ErrnoError(60);for(var a=0,s=0;s(()=>{if(!ee.length){var e=null;if(h){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=p.readSync(n,r)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}e=t>0?r.slice(0,t).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;ee=ne(e,!0)}return ee.shift()})(),put_char(e,r){null===r||10===r?(_(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(_(Q(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(Q(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(Q(e.output,0)),e.output=[])}}},ae=e=>{O()},se={ops_table:null,mount:e=>se.createNode(null,"/",16895,0),createNode(e,r,t,n){if(le.isBlkdev(t)||le.isFIFO(t))throw new le.ErrnoError(63);se.ops_table||={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:le.chrdev_stream_ops}};var o=le.createNode(e,r,t,n);return le.isDir(o.mode)?(o.node_ops=se.ops_table.dir.node,o.stream_ops=se.ops_table.dir.stream,o.contents={}):le.isFile(o.mode)?(o.node_ops=se.ops_table.file.node,o.stream_ops=se.ops_table.file.stream,o.usedBytes=0,o.contents=null):le.isLink(o.mode)?(o.node_ops=se.ops_table.link.node,o.stream_ops=se.ops_table.link.stream):le.isChrdev(o.mode)&&(o.node_ops=se.ops_table.chrdev.node,o.stream_ops=se.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=le.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,le.isDir(e.mode)?r.size=4096:le.isFile(e.mode)?r.size=e.usedBytes:le.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&se.resizeFileStorage(e,r.size)},lookup(e,r){throw le.genericErrors[44]},mknod:(e,r,t,n)=>se.createNode(e,r,t,n),rename(e,r,t){if(le.isDir(e.mode)){var n;try{n=le.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new le.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=le.lookupNode(e,r);for(var n in t.contents)throw new le.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=se.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!le.isLink(e.mode))throw new le.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var s=Math.min(e.node.usedBytes-o,n);if(s>8&&a.subarray)r.set(a.subarray(o,o+s),t);else for(var i=0;i0||t+r(se.stream_ops.write(e,r,0,n,t,!1),0)}},ie=n.preloadPlugins||[],ue=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},le={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,r={}){if(!(e=V.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new le.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=le.root,o="/",a=0;a40)throw new le.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(le.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%le.nameTable.length},hashAddNode(e){var r=le.hashName(e.parent.id,e.name);e.name_next=le.nameTable[r],le.nameTable[r]=e},hashRemoveNode(e){var r=le.hashName(e.parent.id,e.name);if(le.nameTable[r]===e)le.nameTable[r]=e.name_next;else for(var t=le.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=le.mayLookup(e);if(t)throw new le.ErrnoError(t,e);for(var n=le.hashName(e.id,r),o=le.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return le.lookup(e,r)},createNode(e,r,t,n){var o=new le.FSNode(e,r,t,n);return le.hashAddNode(o),o},destroyNode(e){le.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>49152==(49152&e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>le.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){var r=le.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{return le.lookupNode(e,r),20}catch(e){}return le.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=le.lookupNode(e,r)}catch(e){return e.errno}var o=le.nodePermissions(e,"wx");if(o)return o;if(t){if(!le.isDir(n.mode))return 54;if(le.isRoot(n)||le.getPath(n)===le.cwd())return 10}else if(le.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?le.isLink(e.mode)?32:le.isDir(e.mode)&&("r"!==le.flagsToPermissionString(r)||512&r)?31:le.nodePermissions(e,le.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=le.MAX_OPEN_FDS;e++)if(!le.streams[e])return e;throw new le.ErrnoError(33)},getStreamChecked(e){var r=le.getStream(e);if(!r)throw new le.ErrnoError(8);return r},getStream:e=>le.streams[e],createStream:(e,r=-1)=>(le.FSStream||(le.FSStream=function(){this.shared={}},le.FSStream.prototype={},Object.defineProperties(le.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new le.FSStream,e),-1==r&&(r=le.nextfd()),e.fd=r,le.streams[r]=e,e),closeStream(e){le.streams[e]=null},chrdev_stream_ops:{open(e){var r=le.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new le.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){le.devices[e]={stream_ops:r}},getDevice:e=>le.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push.apply(t,n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),le.syncFSRequests++,le.syncFSRequests>1&&y(`warning: ${le.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=le.getMounts(le.root.mount),n=0;function o(e){return le.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){var n,o="/"===t,a=!t;if(o&&le.root)throw new le.ErrnoError(10);if(!o&&!a){var s=le.lookupPath(t,{follow_mount:!1});if(t=s.path,n=s.node,le.isMountpoint(n))throw new le.ErrnoError(10);if(!le.isDir(n.mode))throw new le.ErrnoError(54)}var i={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,o?le.root=u:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),u},unmount(e){var r=le.lookupPath(e,{follow_mount:!1});if(!le.isMountpoint(r.node))throw new le.ErrnoError(28);var t=r.node,n=t.mounted,o=le.getMounts(n);Object.keys(le.nameTable).forEach((e=>{for(var r=le.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&le.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=le.lookupPath(e,{parent:!0}).node,o=Z.basename(e);if(!o||"."===o||".."===o)throw new le.ErrnoError(28);var a=le.mayCreate(n,o);if(a)throw new le.ErrnoError(a);if(!n.node_ops.mknod)throw new le.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,le.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,le.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o(void 0===t&&(t=r,r=438),r|=8192,le.mknod(e,r,t)),symlink(e,r){if(!V.resolve(e))throw new le.ErrnoError(44);var t=le.lookupPath(r,{parent:!0}).node;if(!t)throw new le.ErrnoError(44);var n=Z.basename(r),o=le.mayCreate(t,n);if(o)throw new le.ErrnoError(o);if(!t.node_ops.symlink)throw new le.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=Z.dirname(e),a=Z.dirname(r),s=Z.basename(e),i=Z.basename(r);if(t=le.lookupPath(e,{parent:!0}).node,n=le.lookupPath(r,{parent:!0}).node,!t||!n)throw new le.ErrnoError(44);if(t.mount!==n.mount)throw new le.ErrnoError(75);var u,l=le.lookupNode(t,s),c=V.relative(e,a);if("."!==c.charAt(0))throw new le.ErrnoError(28);if("."!==(c=V.relative(r,o)).charAt(0))throw new le.ErrnoError(55);try{u=le.lookupNode(n,i)}catch(e){}if(l!==u){var d=le.isDir(l.mode),h=le.mayDelete(t,s,d);if(h)throw new le.ErrnoError(h);if(h=u?le.mayDelete(n,i,d):le.mayCreate(n,i))throw new le.ErrnoError(h);if(!t.node_ops.rename)throw new le.ErrnoError(63);if(le.isMountpoint(l)||u&&le.isMountpoint(u))throw new le.ErrnoError(10);if(n!==t&&(h=le.nodePermissions(t,"w")))throw new le.ErrnoError(h);le.hashRemoveNode(l);try{t.node_ops.rename(l,n,i)}catch(e){throw e}finally{le.hashAddNode(l)}}},rmdir(e){var r=le.lookupPath(e,{parent:!0}).node,t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!0);if(o)throw new le.ErrnoError(o);if(!r.node_ops.rmdir)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.rmdir(r,t),le.destroyNode(n)},readdir(e){var r=le.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new le.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=le.lookupPath(e,{parent:!0}).node;if(!r)throw new le.ErrnoError(44);var t=Z.basename(e),n=le.lookupNode(r,t),o=le.mayDelete(r,t,!1);if(o)throw new le.ErrnoError(o);if(!r.node_ops.unlink)throw new le.ErrnoError(63);if(le.isMountpoint(n))throw new le.ErrnoError(10);r.node_ops.unlink(r,t),le.destroyNode(n)},readlink(e){var r=le.lookupPath(e).node;if(!r)throw new le.ErrnoError(44);if(!r.node_ops.readlink)throw new le.ErrnoError(28);return V.resolve(le.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=le.lookupPath(e,{follow:!r}).node;if(!t)throw new le.ErrnoError(44);if(!t.node_ops.getattr)throw new le.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>le.stat(e,!0),chmod(e,r,t){var n;if(!(n="string"==typeof e?le.lookupPath(e,{follow:!t}).node:e).node_ops.setattr)throw new le.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){le.chmod(e,r,!0)},fchmod(e,r){var t=le.getStreamChecked(e);le.chmod(t.node,r)},chown(e,r,t,n){var o;if(!(o="string"==typeof e?le.lookupPath(e,{follow:!n}).node:e).node_ops.setattr)throw new le.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){le.chown(e,r,t,!0)},fchown(e,r,t){var n=le.getStreamChecked(e);le.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new le.ErrnoError(28);var t;if(!(t="string"==typeof e?le.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new le.ErrnoError(63);if(le.isDir(t.mode))throw new le.ErrnoError(31);if(!le.isFile(t.mode))throw new le.ErrnoError(28);var n=le.nodePermissions(t,"w");if(n)throw new le.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=le.getStreamChecked(e);if(0==(2097155&t.flags))throw new le.ErrnoError(28);le.truncate(t.node,r)},utime(e,r,t){var n=le.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new le.ErrnoError(44);var o;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)o=e;else{e=Z.normalize(e);try{o=le.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(o){if(128&r)throw new le.ErrnoError(20)}else o=le.mknod(e,t,0),a=!0;if(!o)throw new le.ErrnoError(44);if(le.isChrdev(o.mode)&&(r&=-513),65536&r&&!le.isDir(o.mode))throw new le.ErrnoError(54);if(!a){var s=le.mayOpen(o,r);if(s)throw new le.ErrnoError(s)}512&r&&!a&&le.truncate(o,0),r&=-131713;var i=le.createStream({node:o,path:le.getPath(o),flags:r,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!n.logReadFiles||1&r||(le.readFiles||(le.readFiles={}),e in le.readFiles||(le.readFiles[e]=1)),i},close(e){if(le.isClosed(e))throw new le.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{le.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new le.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new le.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(1==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.read)throw new le.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var s=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=s),s},write(e,r,t,n,o,a){if(n<0||o<0)throw new le.ErrnoError(28);if(le.isClosed(e))throw new le.ErrnoError(8);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(le.isDir(e.node.mode))throw new le.ErrnoError(31);if(!e.stream_ops.write)throw new le.ErrnoError(28);e.seekable&&1024&e.flags&&le.llseek(e,0,2);var s=void 0!==o;if(s){if(!e.seekable)throw new le.ErrnoError(70)}else o=e.position;var i=e.stream_ops.write(e,r,t,n,o,a);return s||(e.position+=i),i},allocate(e,r,t){if(le.isClosed(e))throw new le.ErrnoError(8);if(r<0||t<=0)throw new le.ErrnoError(28);if(0==(2097155&e.flags))throw new le.ErrnoError(8);if(!le.isFile(e.node.mode)&&!le.isDir(e.node.mode))throw new le.ErrnoError(43);if(!e.stream_ops.allocate)throw new le.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(0!=(2&n)&&0==(2&o)&&2!=(2097155&e.flags))throw new le.ErrnoError(2);if(1==(2097155&e.flags))throw new le.ErrnoError(2);if(!e.stream_ops.mmap)throw new le.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0,munmap:e=>0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new le.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=le.open(e,r.flags),o=le.stat(e).size,a=new Uint8Array(o);return le.read(n,a,0,o,0),"utf8"===r.encoding?t=Q(a,0):"binary"===r.encoding&&(t=a),le.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=le.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(re(r)+1),a=te(r,o,0,o.length);le.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");le.write(n,r,0,r.byteLength,void 0,t.canOwn)}le.close(n)},cwd:()=>le.currentPath,chdir(e){var r=le.lookupPath(e,{follow:!0});if(null===r.node)throw new le.ErrnoError(44);if(!le.isDir(r.node.mode))throw new le.ErrnoError(54);var t=le.nodePermissions(r.node,"x");if(t)throw new le.ErrnoError(t);le.currentPath=r.path},createDefaultDirectories(){le.mkdir("/tmp"),le.mkdir("/home"),le.mkdir("/home/web_user")},createDefaultDevices(){le.mkdir("/dev"),le.registerDevice(le.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),le.mkdev("/dev/null",le.makedev(1,3)),oe.register(le.makedev(5,0),oe.default_tty_ops),oe.register(le.makedev(6,0),oe.default_tty1_ops),le.mkdev("/dev/tty",le.makedev(5,0)),le.mkdev("/dev/tty1",le.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=G(e).byteLength),e[--r]);le.createDevice("/dev","random",t),le.createDevice("/dev","urandom",t),le.mkdir("/dev/shm"),le.mkdir("/dev/shm/tmp")},createSpecialDirectories(){le.mkdir("/proc");var e=le.mkdir("/proc/self");le.mkdir("/proc/self/fd"),le.mount({mount(){var r=le.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=le.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){n.stdin?le.createDevice("/dev","stdin",n.stdin):le.symlink("/dev/tty","/dev/stdin"),n.stdout?le.createDevice("/dev","stdout",null,n.stdout):le.symlink("/dev/tty","/dev/stdout"),n.stderr?le.createDevice("/dev","stderr",null,n.stderr):le.symlink("/dev/tty1","/dev/stderr"),le.open("/dev/stdin",0),le.open("/dev/stdout",1),le.open("/dev/stderr",1)},ensureErrnoError(){le.ErrnoError||(le.ErrnoError=function(e,r){this.name="ErrnoError",this.node=r,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},le.ErrnoError.prototype=new Error,le.ErrnoError.prototype.constructor=le.ErrnoError,[44].forEach((e=>{le.genericErrors[e]=new le.ErrnoError(e),le.genericErrors[e].stack=""})))},staticInit(){le.ensureErrnoError(),le.nameTable=new Array(4096),le.mount(se,{},"/"),le.createDefaultDirectories(),le.createDefaultDevices(),le.createSpecialDirectories(),le.filesystems={MEMFS:se}},init(e,r,t){le.init.initialized=!0,le.ensureErrnoError(),n.stdin=e||n.stdin,n.stdout=r||n.stdout,n.stderr=t||n.stderr,le.createStandardStreams()},quit(){le.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}},a.prototype.setDataGetter=function(e){this.getter=e},a.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),o=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,a=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,s=1048576;o||(s=n);var i=this;i.setDataGetter((e=>{var r=e*s,o=(e+1)*s-1;if(o=Math.min(o,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",t,!1),n!==s&&o.setRequestHeader("Range","bytes="+e+"-"+r),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+t+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):ne(o.responseText||"",!0)})(r,o)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!a&&n||(s=n=1,n=this.getter(0).length,s=n,_("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=s,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var s=new a;Object.defineProperties(s,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:s}}else i={isDevice:!1,url:t};var u=le.createFile(e,r,i,n,o);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var s=Math.min(a.length-o,n);if(a.slice)for(var i=0;i{var r=u.stream_ops[e];l[e]=function(){return le.forceLoadFile(u),r.apply(null,arguments)}})),l.read=(e,r,t,n,o)=>(le.forceLoadFile(u),c(e,r,t,n,o)),l.mmap=(e,r,t,n,o)=>{le.forceLoadFile(u);var a=ae();if(!a)throw new le.ErrnoError(48);return c(e,E,a,r,t),{ptr:a,allocated:!0}},u.stream_ops=l,u}},ce=(e,r)=>e?Q(k,e,r):"",de={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(Z.isAbs(r))return r;var n;if(n=-100===e?le.cwd():de.getStreamFromFD(e).path,0==r.length){if(!t)throw new le.ErrnoError(44);return n}return Z.join2(n,r)},doStat(e,r,t){try{var n=e(r)}catch(e){if(e&&e.node&&Z.normalize(r)!==Z.normalize(le.getPath(e.node)))return-54;throw e}F[t>>2]=n.dev,F[t+4>>2]=n.mode,D[t+8>>2]=n.nlink,F[t+12>>2]=n.uid,F[t+16>>2]=n.gid,F[t+20>>2]=n.rdev,I=[n.size>>>0,(j=n.size,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+24>>2]=I[0],F[t+28>>2]=I[1],F[t+32>>2]=4096,F[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),s=n.ctime.getTime();return I=[Math.floor(o/1e3)>>>0,(j=Math.floor(o/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+40>>2]=I[0],F[t+44>>2]=I[1],D[t+48>>2]=o%1e3*1e3,I=[Math.floor(a/1e3)>>>0,(j=Math.floor(a/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+56>>2]=I[0],F[t+60>>2]=I[1],D[t+64>>2]=a%1e3*1e3,I=[Math.floor(s/1e3)>>>0,(j=Math.floor(s/1e3),+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+72>>2]=I[0],F[t+76>>2]=I[1],D[t+80>>2]=s%1e3*1e3,I=[n.ino>>>0,(j=n.ino,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[t+88>>2]=I[0],F[t+92>>2]=I[1],0},doMsync(e,r,t,n,o){if(!le.isFile(r.node.mode))throw new le.ErrnoError(43);if(2&n)return 0;var a=k.slice(e,e+t);le.msync(r,a,o,t,n)},varargs:void 0,get(){var e=F[+de.varargs>>2];return de.varargs+=4,e},getp:()=>de.get(),getStr:e=>ce(e),getStreamFromFD:e=>le.getStreamChecked(e)},he=e=>(F[Oe()>>2]=e,e),fe={BUCKET_BUFFER_SIZE:8192,mount:e=>le.createNode(null,"/",16895,0),createPipe(){var e={buckets:[],refcnt:2};e.buckets.push({buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var r=fe.nextname(),t=fe.nextname(),n=le.createNode(fe.root,r,4096,0),o=le.createNode(fe.root,t,4096,0);n.pipe=e,o.pipe=e;var a=le.createStream({path:r,node:n,flags:0,seekable:!1,stream_ops:fe.stream_ops});n.stream=a;var s=le.createStream({path:t,node:o,flags:1,seekable:!1,stream_ops:fe.stream_ops});return o.stream=s,{readable_fd:a.fd,writable_fd:s.fd}},stream_ops:{poll(e){var r=e.node.pipe;if(1==(2097155&e.flags))return 260;if(r.buckets.length>0)for(var t=0;t0)return 65}return 0},ioctl:(e,r,t)=>28,fsync:e=>28,read(e,r,t,n,o){for(var a=e.node.pipe,s=0,i=0;i=i)return u.buffer.set(s,u.offset),u.offset+=i,i;l>0&&(u.buffer.set(s.subarray(0,l),u.offset),u.offset+=l,s=s.subarray(l,s.byteLength));for(var c=s.byteLength/fe.BUCKET_BUFFER_SIZE|0,d=s.byteLength%fe.BUCKET_BUFFER_SIZE,h=0;h0&&(f={buffer:new Uint8Array(fe.BUCKET_BUFFER_SIZE),offset:s.byteLength,roffset:0},a.buckets.push(f),f.buffer.set(s)),i},close(e){var r=e.node.pipe;r.refcnt--,0===r.refcnt&&(r.buckets=null)}},nextname:()=>(fe.nextname.current||(fe.nextname.current=0),"pipe["+fe.nextname.current+++"]")},me=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN,pe=e=>e%4==0&&(e%100!=0||e%400==0),ve=[0,31,60,91,121,152,182,213,244,274,305,335],we=[0,31,59,90,120,151,181,212,243,273,304,334],ge=e=>(pe(e.getFullYear())?ve:we)[e.getMonth()]+e.getDate()-1,_e=(e,r,t)=>te(e,k,r,t),ye=e=>{var r=re(e)+1,t=xe(r);return t&&_e(e,t,r),t},Ee=e=>{var r=(e-g.buffer.byteLength+65535)/65536;try{return g.grow(r),C(),1}catch(e){}},be={},ke=()=>{if(!ke.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:u||"./this.program"};for(var r in be)void 0===be[r]?delete e[r]:e[r]=be[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);ke.strings=t}return ke.strings},Se=e=>{X||(n.onExit?.(e),M=!0),l(e,new q(e))},Fe=(e,r)=>{Se(e)},De=[31,29,31,30,31,30,31,31,30,31,30,31],Me=[31,28,31,30,31,30,31,31,30,31,30,31],Ae=(e,r)=>{E.set(e,r)},Ce=e=>n["_"+e],Pe=(e,r,t,n,o)=>{var a={string:e=>{var r=0;return null!=e&&0!==e&&(r=(e=>{var r=re(e)+1,t=He(r);return _e(e,t,r),t})(e)),r},array:e=>{var r=He(e.length);return Ae(e,r),r}},s=Ce(e),i=[],u=0;if(n)for(var l=0;l{var d=r?V.resolve(Z.join2(e,r)):e;function h(t){function a(t){c?.(),u||((e,r,t,n,o,a)=>{le.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,l),s?.(),x()}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return ie.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,d,a,(()=>{i?.(),x()}))||a(t)}L(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&x()}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&L()})(t,(e=>h(e)),i):h(t)},le.staticInit();var Ue={i:function(e){try{var r=de.getStreamFromFD(e);return le.createStream(r).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},a:function(e,r,t){de.varargs=t;try{var n=de.getStreamFromFD(e);switch(r){case 0:if((o=de.get())<0)return-28;for(;le.streams[o];)o++;return le.createStream(n,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return n.flags;case 4:var o=de.get();return n.flags|=o,0;case 5:return o=de.getp(),S[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return he(28),-1}}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},x:function(e,r){try{var t=de.getStreamFromFD(e);return de.doStat(le.stat,t.path,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},u:function(e,r){try{return e=de.getStr(e),de.doStat(le.lstat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},v:function(e,r,t,n){try{r=de.getStr(r);var o=256&n,a=4096&n;return n&=-6401,r=de.calculateAt(e,r,a),de.doStat(o?le.lstat:le.stat,r,t)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},y:function(e,r,t,n){de.varargs=n;try{r=de.getStr(r),r=de.calculateAt(e,r);var o=n?de.get():0;return le.open(r,t,o).fd}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},t:function(e){try{if(0==e)throw new le.ErrnoError(21);var r=fe.createPipe();return F[e>>2]=r.readable_fd,F[e+4>>2]=r.writable_fd,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},s:function(e,r,t){try{for(var n=0,o=0;o>2],i=S[a+4>>1],u=32,l=le.getStream(s);l&&(u=de.DEFAULT_POLLMASK,l.stream_ops.poll&&(u=l.stream_ops.poll(l,-1))),(u&=24|i)&&n++,S[a+6>>1]=u}return n}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},w:function(e,r){try{return e=de.getStr(e),de.doStat(le.stat,e,r)}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},q:function(e,r,t){try{return r=de.getStr(r),r=de.calculateAt(e,r),0===t?le.unlink(r):512===t?le.rmdir(r):O("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return-e.errno}},B:()=>1,k:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getUTCSeconds(),F[t+4>>2]=o.getUTCMinutes(),F[t+8>>2]=o.getUTCHours(),F[t+12>>2]=o.getUTCDate(),F[t+16>>2]=o.getUTCMonth(),F[t+20>>2]=o.getUTCFullYear()-1900,F[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),s=(o.getTime()-a)/864e5|0;F[t+28>>2]=s},l:function(e,r,t){var n=me(e,r),o=new Date(1e3*n);F[t>>2]=o.getSeconds(),F[t+4>>2]=o.getMinutes(),F[t+8>>2]=o.getHours(),F[t+12>>2]=o.getDate(),F[t+16>>2]=o.getMonth(),F[t+20>>2]=o.getFullYear()-1900,F[t+24>>2]=o.getDay();var a=0|ge(o);F[t+28>>2]=a,F[t+36>>2]=-60*o.getTimezoneOffset();var s=new Date(o.getFullYear(),0,1),i=new Date(o.getFullYear(),6,1).getTimezoneOffset(),u=s.getTimezoneOffset(),l=0|(i!=u&&o.getTimezoneOffset()==Math.min(u,i));F[t+32>>2]=l},m:function(e){var r=(()=>{var r=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=F[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),s=o.getTimezoneOffset(),i=Math.min(s,a);if(t<0)F[e+32>>2]=Number(a!=s&&i==n);else if(t>0!=(i==n)){var u=Math.max(s,a),l=t>0?i:u;r.setTime(r.getTime()+6e4*(l-n))}F[e+24>>2]=r.getDay();var c=0|ge(r);F[e+28>>2]=c,F[e>>2]=r.getSeconds(),F[e+4>>2]=r.getMinutes(),F[e+8>>2]=r.getHours(),F[e+12>>2]=r.getDate(),F[e+16>>2]=r.getMonth(),F[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?(he(61),-1):d/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},n:function(e){var r=(()=>{var r=Date.UTC(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0),t=new Date(r);F[e+24>>2]=t.getUTCDay();var n=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),o=(t.getTime()-n)/864e5|0;return F[e+28>>2]=o,t.getTime()/1e3})();return Be((j=r,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)),r>>>0},r:(e,r,t)=>{var n=(new Date).getFullYear(),o=new Date(n,0,1),a=new Date(n,6,1),s=o.getTimezoneOffset(),i=a.getTimezoneOffset(),u=Math.max(s,i);function l(e){var r=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return r?r[1]:"GMT"}D[e>>2]=60*u,F[r>>2]=Number(s!=i);var c=l(o),d=l(a),h=ye(c),f=ye(d);i>2]=h,D[t+4>>2]=f):(D[t>>2]=f,D[t+4>>2]=h)},b:()=>{O("")},c:()=>Date.now(),h:(e,r,t)=>k.copyWithin(e,r,r+t),p:e=>{var r=k.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,o,a=1;a<=4;a*=2){var s=r*(1+.2/a);s=Math.min(s,e+100663296);var i=Math.min(t,(n=Math.max(e,s))+((o=65536)-n%o)%o);if(Ee(i))return!0}return!1},z:(e,r)=>{var t=0;return ke().forEach(((n,o)=>{var a=r+t;D[e+4*o>>2]=a,((e,r)=>{for(var t=0;t>0]=e.charCodeAt(t);E[r>>0]=0})(n,a),t+=n.length+1})),0},A:(e,r)=>{var t=ke();D[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),D[r>>2]=n,0},g:Fe,e:function(e){try{var r=de.getStreamFromFD(e);return le.close(r),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},j:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],i=D[r+4>>2];r+=8;var u=le.read(e,E,s,i,n);if(u<0)return-1;if(o+=u,u>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},o:function(e,r,t,n,o){var a=me(r,t);try{if(isNaN(a))return 61;var s=de.getStreamFromFD(e);return le.llseek(s,a,n),I=[s.position>>>0,(j=s.position,+Math.abs(j)>=1?j>0?+Math.floor(j/4294967296)>>>0:~~+Math.ceil((j-+(~~j>>>0))/4294967296)>>>0:0)],F[o>>2]=I[0],F[o+4>>2]=I[1],s.getdents&&0===a&&0===n&&(s.getdents=null),0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},d:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a>2],i=D[r+4>>2];r+=8;var u=le.write(e,E,s,i,n);if(u<0)return-1;o+=u,void 0!==n&&(n+=u)}return o})(de.getStreamFromFD(e),r,t);return D[n>>2]=o,0}catch(e){if(void 0===le||"ErrnoError"!==e.name)throw e;return e.errno}},f:(e,r,t,n)=>{var o=D[n+40>>2],a={tm_sec:F[n>>2],tm_min:F[n+4>>2],tm_hour:F[n+8>>2],tm_mday:F[n+12>>2],tm_mon:F[n+16>>2],tm_year:F[n+20>>2],tm_wday:F[n+24>>2],tm_yday:F[n+28>>2],tm_isdst:F[n+32>>2],tm_gmtoff:F[n+36>>2],tm_zone:o?ce(o):""},s=ce(t),i={"%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 u in i)s=s.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function m(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function p(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=pe(t.getFullYear()),o=t.getMonth(),a=(n?De:Me)[o];if(!(r>a-t.getDate()))return t.setDate(t.getDate()+r),t;r-=a-t.getDate()+1,t.setDate(1),o<11?t.setMonth(o+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),o=m(t),a=m(n);return f(o,r)<=0?f(a,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var v={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>h((e.tm_year+1900)/100|0,2),"%d":e=>h(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>p(e).toString().substring(2),"%G":e=>p(e),"%H":e=>h(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),h(r,2)},"%j":e=>h(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(pe(e.tm_year+1900)?De:Me,e.tm_mon-1),3),"%m":e=>h(e.tm_mon+1,2),"%M":e=>h(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>h(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return h(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&pe(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&pe(e.tm_year%400-1))&&r++}return h(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return h(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in s=s.replace(/%%/g,"\0\0"),v)s.includes(u)&&(s=s.replace(new RegExp(u,"g"),v[u](a)));var w=ne(s=s.replace(/\0\0/g,"%"),!1);return w.length>r?0:(Ae(w,e),w.length-1)}},Le=function(){var e,r,o,a,s={a:Ue};function i(e,r){var t;return Le=e.exports,g=Le.C,C(),t=Le.D,T.unshift(t),x(),Le}if(L(),n.instantiateWasm)try{return n.instantiateWasm(s,i)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),t(e)}return(e=w,r=N,o=s,a=function(e){i(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||Y(r)||h||"function"!=typeof fetch?K(r,o,a):fetch(r,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(a,(function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),K(r,o,a)}))))).catch(t),{}}();n._get_version=()=>(n._get_version=Le.E)(),n._archive_open=(e,r,t,o)=>(n._archive_open=Le.F)(e,r,t,o),n._archive_read_add_passphrase=(e,r)=>(n._archive_read_add_passphrase=Le.G)(e,r),n._archive_error_string=e=>(n._archive_error_string=Le.H)(e),n._get_next_entry=e=>(n._get_next_entry=Le.I)(e),n._get_filedata=(e,r)=>(n._get_filedata=Le.J)(e,r);var xe=n._malloc=e=>(xe=n._malloc=Le.K)(e);n._archive_close=e=>(n._archive_close=Le.L)(e),n._start_archive_write=(e,r,t,o,a,s)=>(n._start_archive_write=Le.M)(e,r,t,o,a,s),n._write_archive_file=(e,r,t,o)=>(n._write_archive_file=Le.N)(e,r,t,o),n._size_of_size_t=()=>(n._size_of_size_t=Le.O)(),n._finish_archive_write=(e,r)=>(n._finish_archive_write=Le.P)(e,r),n._free=e=>(n._free=Le.Q)(e);var Oe=()=>(Oe=Le.R)();n._archive_entry_birthtime_nsec=e=>(n._archive_entry_birthtime_nsec=Le.S)(e),n._archive_entry_filetype=e=>(n._archive_entry_filetype=Le.T)(e),n._archive_entry_mtime_nsec=e=>(n._archive_entry_mtime_nsec=Le.U)(e),n._archive_entry_pathname=e=>(n._archive_entry_pathname=Le.V)(e),n._archive_entry_pathname_utf8=e=>(n._archive_entry_pathname_utf8=Le.W)(e),n._archive_entry_size=e=>(n._archive_entry_size=Le.X)(e),n._archive_entry_is_encrypted=e=>(n._archive_entry_is_encrypted=Le.Y)(e),n._archive_read_has_encrypted_entries=e=>(n._archive_read_has_encrypted_entries=Le.Z)(e),n._archive_read_data_skip=e=>(n._archive_read_data_skip=Le._)(e);var Ne,Be=e=>(Be=Le.aa)(e),je=()=>(je=Le.ba)(),Ie=e=>(Ie=Le.ca)(e),He=e=>(He=Le.da)(e);function Ye(){function e(){Ne||(Ne=!0,n.calledRun=!0,M||(n.noFSInit||le.init.initialized||le.init(),le.ignorePermissions=!1,fe.root=le.mount(fe,{},null),$(T),r(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),R.unshift(e);var e;$(R)}()))}z>0||(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),P.unshift(e);var e;$(P)}(),z>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),e()}),1)):e()))}if(n.cwrap=(e,r,t,n)=>{var o=!t||t.every((e=>"number"===e||"boolean"===e));return"string"!==r&&o&&!n?Ce(e):function(){return Pe(e,r,t,arguments)}},n.allocate=(e,r)=>{var t;return t=1==r?He(e.length):xe(e.length),e.subarray||e.slice||(e=new Uint8Array(e)),k.set(e,t),t},U=function e(){Ne||Ye(),Ne||(U=e)},n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Ye(),e.ready});class S{constructor(){this.preRun=[],this.postRun=[],this.totalDependencies=0}print(...e){console.log(e)}printErr(...e){console.error(e)}initFunctions(){this.runCode={getVersion:this.cwrap("get_version","string",[]),openArchive:this.cwrap("archive_open","number",["number","number","string","string"]),getNextEntry:this.cwrap("get_next_entry","number",["number"]),getFileData:this.cwrap("get_filedata","number",["number","number"]),skipEntry:this.cwrap("archive_read_data_skip","number",["number"]),closeArchive:this.cwrap("archive_close",null,["number"]),getEntrySize:this.cwrap("archive_entry_size","number",["number"]),getEntryName:this.cwrap("archive_entry_pathname","string",["number"]),getEntryType:this.cwrap("archive_entry_filetype","number",["number"]),getEntryLastModified:this.cwrap("archive_entry_mtime_nsec","number",["number"]),getError:this.cwrap("archive_error_string","string",["number"]),startArchiveWrite:this.cwrap("start_archive_write","number",["string","string","number","number","number","string"]),writeArchiveFile:this.cwrap("write_archive_file",null,["number","string","number","number"]),finishArchiveWrite:this.cwrap("finish_archive_write","number",["number","number"]),entryIsEncrypted:this.cwrap("archive_entry_is_encrypted","number",["number"]),hasEncryptedEntries:this.cwrap("archive_read_has_encrypted_entries","number",["number"]),addPassphrase:this.cwrap("archive_read_add_passphrase","number",["number","string"]),string:e=>this.allocate(this.intArrayFromString(e),"i8",0),malloc:this.cwrap("malloc","number",["number"]),free:this.cwrap("free",null,["number"]),sizeOfSizeT:this.cwrap("size_of_size_t","number",[])}}monitorRunDependencies(){}}let F=null,D=null,M=!1;class A{constructor(e){A.readyCallback=e,M&&setTimeout((()=>e()),0)}open(e,r){F.open(e).then((()=>r()))}listFiles(){let e=[];for(const r of F.entries(!0))e.push(r);return e}extractFiles(){let e=[];for(const r of F.entries(!1))e.push(r);return e}extractSingleFile(e){for(const r of F.entries(!0,e))if(r.fileData)return r}hasEncryptedData(){return F.hasEncryptedData()}usePassword(e){F.setPassphrase(e)}setLocale(e){F.setLocale(e)}writeArchive(e,r,t,n){return D.write(e,r,t,n)}close(){F.close()}}var C;C=e=>{F=new y(e),D=new E(e),A?.readyCallback?.(),M=!0},k(new S).then((e=>{e.initFunctions(),C(e)})),i(A); diff --git a/lib/build/libarchive.js b/lib/build/libarchive.js index 983f552..d2c383d 100644 --- a/lib/build/libarchive.js +++ b/lib/build/libarchive.js @@ -5,7 +5,7 @@ var libarchive = (() => { return ( async function(moduleArg = {}) { -var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){const{createRequire:createRequire}=await import("module");var require=createRequire(import.meta.url);var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=require("url").fileURLToPath(new URL("./",import.meta.url))}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libarchive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libarchive.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["C"];updateMemoryViews();addOnInit(wasmExports["D"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.createStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}return 0},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){setErrNo(61);return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var 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];var 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};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var _strftime=(s,maxsize,format,tm)=>{var tm_zone=HEAPU32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":date=>getWeekBasedYear(date),"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1};var getCFunc=ident=>{var func=Module["_"+ident];return func};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();var wasmImports={i:___syscall_dup,a:___syscall_fcntl64,x:___syscall_fstat64,u:___syscall_lstat64,v:___syscall_newfstatat,y:___syscall_openat,t:___syscall_pipe,s:___syscall_poll,w:___syscall_stat64,q:___syscall_unlinkat,B:__emscripten_get_now_is_monotonic,k:__gmtime_js,l:__localtime_js,m:__mktime_js,n:__timegm_js,r:__tzset_js,b:_abort,c:_emscripten_date_now,h:_emscripten_memcpy_js,p:_emscripten_resize_heap,z:_environ_get,A:_environ_sizes_get,g:_exit,e:_fd_close,j:_fd_read,o:_fd_seek,d:_fd_write,f:_strftime};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["D"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["E"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["F"])(a0,a1,a2,a3);var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=(a0,a1)=>(_archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=wasmExports["G"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["H"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["I"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["J"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["K"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["L"])(a0);var _start_archive_write=Module["_start_archive_write"]=(a0,a1,a2,a3,a4,a5)=>(_start_archive_write=Module["_start_archive_write"]=wasmExports["M"])(a0,a1,a2,a3,a4,a5);var _write_archive_file=Module["_write_archive_file"]=(a0,a1,a2,a3)=>(_write_archive_file=Module["_write_archive_file"]=wasmExports["N"])(a0,a1,a2,a3);var _size_of_size_t=Module["_size_of_size_t"]=()=>(_size_of_size_t=Module["_size_of_size_t"]=wasmExports["O"])();var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["P"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["Q"])();var _archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=a0=>(_archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=wasmExports["R"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["S"])(a0);var _archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=a0=>(_archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=wasmExports["T"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["U"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["V"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["W"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["X"])(a0);var _archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=a0=>(_archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=wasmExports["Y"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["Z"])(a0);var _archive_write_close=Module["_archive_write_close"]=a0=>(_archive_write_close=Module["_archive_write_close"]=wasmExports["$"])(a0);var _archive_write_free=Module["_archive_write_free"]=a0=>(_archive_write_free=Module["_archive_write_free"]=wasmExports["aa"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["ba"])(a0);var stackSave=()=>(stackSave=wasmExports["ca"])();var stackRestore=a0=>(stackRestore=wasmExports["da"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["ea"])(a0);Module["cwrap"]=cwrap;Module["UTF8ToString"]=UTF8ToString;Module["intArrayFromString"]=intArrayFromString;Module["allocate"]=allocate;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); +var Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window=="object";var ENVIRONMENT_IS_WORKER=typeof importScripts=="function";var ENVIRONMENT_IS_NODE=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string";var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){const{createRequire:createRequire}=await import("module");var require=createRequire(import.meta.url);var fs=require("fs");var nodePath=require("path");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+"/"}else{scriptDirectory=require("url").fileURLToPath(new URL("./",import.meta.url))}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:"utf8")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:"utf8",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module["thisProgram"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\/g,"/")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow};Module["inspect"]=()=>"[Emscripten Module object]"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=(url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module["HEAP8"]=HEAP8=new Int8Array(b);Module["HEAP16"]=HEAP16=new Int16Array(b);Module["HEAPU8"]=HEAPU8=new Uint8Array(b);Module["HEAPU16"]=HEAPU16=new Uint16Array(b);Module["HEAP32"]=HEAP32=new Int32Array(b);Module["HEAPU32"]=HEAPU32=new Uint32Array(b);Module["HEAPF32"]=HEAPF32=new Float32Array(b);Module["HEAPF64"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();FS.ignorePermissions=false;TTY.init();PIPEFS.root=FS.mount(PIPEFS,{},null);callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module["onAbort"]?.(what);what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith("file://");var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libarchive.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libarchive.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{if(!response["ok"]){throw"failed to load wasm binary file at '"+binaryFile+"'"}return response["arrayBuffer"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch=="function"){return fetch(binaryFile,{credentials:"same-origin"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={"a":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmMemory=wasmExports["C"];updateMemoryViews();addOnInit(wasmExports["D"]);removeRunDependency("wasm-instantiate");return wasmExports}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}if(Module["instantiateWasm"]){try{return Module["instantiateWasm"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name="ExitStatus";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module["noExitRuntime"]||true;var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:path=>{if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},join:function(){var paths=Array.prototype.slice.call(arguments);return PATH.normalize(paths.join("/"))},join2:(l,r)=>PATH.normalize(l+"/"+r)};var initRandomFill=()=>{if(typeof crypto=="object"&&typeof crypto["getRandomValues"]=="function"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");var randomFillSync=crypto_module["randomFillSync"];if(randomFillSync){return view=>crypto_module["randomFillSync"](view)}var randomBytes=crypto_module["randomBytes"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort("initRandomDevice")};var randomFill=view=>(randomFill=initRandomFill())(view);var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i{var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str="";while(idx>10,56320|ch&1023)}}return str};var FS_stdin_getChar_buffer=[];var lengthBytesUTF8=str=>{var len=0;for(var i=0;i=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx};function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(ENVIRONMENT_IS_NODE){var BUFSIZE=256;var buf=Buffer.alloc(BUFSIZE);var bytesRead=0;var fd=process.stdin.fd;try{bytesRead=fs.readSync(fd,buf)}catch(e){if(e.toString().includes("EOF"))bytesRead=0;else throw e}if(bytesRead>0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var TTY={ttys:[],init(){},shutdown(){},register(dev,ops){TTY.ttys[dev]={input:[],output:[],ops:ops};FS.registerDevice(dev,TTY.stream_ops)},stream_ops:{open(stream){var tty=TTY.ttys[stream.node.rdev];if(!tty){throw new FS.ErrnoError(43)}stream.tty=tty;stream.seekable=false},close(stream){stream.tty.ops.fsync(stream.tty)},fsync(stream){stream.tty.ops.fsync(stream.tty)},read(stream,buffer,offset,length,pos){if(!stream.tty||!stream.tty.ops.get_char){throw new FS.ErrnoError(60)}var bytesRead=0;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}},ioctl_tcgets(tty){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(tty,optional_actions,data){return 0},ioctl_tiocgwinsz(tty){return[24,80]}},default_tty1_ops:{put_char(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},fsync(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var mmapAlloc=size=>{abort()};var MEMFS={ops_table:null,mount(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}MEMFS.ops_table||={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}};var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup(parent,name){throw FS.genericErrors[44]},mknod(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir(node){var entries=[".",".."];for(var key of Object.keys(node.contents)){entries.push(key)}return entries},symlink(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{var dep=!noRunDep?getUniqueRunDependency(`al ${url}`):"";readAsync(url,arrayBuffer=>{assert(arrayBuffer,`Loading data file "${url}" failed (no arrayBuffer).`);onload(new Uint8Array(arrayBuffer));if(dep)removeRunDependency(dep)},event=>{if(onerror){onerror()}else{throw`Loading data file "${url}" failed.`}});if(dep)addRunDependency(dep)};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{FS.createDataFile(parent,name,fileData,canRead,canWrite,canOwn)};var preloadPlugins=Module["preloadPlugins"]||[];var FS_handledByPreloadPlugin=(byteArray,fullname,finish,onerror)=>{if(typeof Browser!="undefined")Browser.init();var handled=false;preloadPlugins.forEach(plugin=>{if(handled)return;if(plugin["canHandle"](fullname)){plugin["handle"](byteArray,fullname,finish,onerror);handled=true}});return handled};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);function processData(byteArray){function finish(byteArray){preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}onload?.();removeRunDependency(dep)}if(FS_handledByPreloadPlugin(byteArray,fullname,finish,()=>{onerror?.();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}};var FS_modeStringToFlags=str=>{var flagModes={"r":0,"r+":2,"w":512|64|1,"w+":512|64|2,"a":1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(path,opts={}){path=PATH_FS.resolve(path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};opts=Object.assign(defaults,opts);if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=path.split("/").filter(p=>!!p);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?`${mount}/${path}`:mount+path}path=path?`${node.name}/${path}`:node.name;node=node.parent}},hashName(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode(parent,name){var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode(parent,name,mode,rdev){var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode(node){FS.hashRemoveNode(node)},isRoot(node){return node===node.parent},isMountpoint(node){return!!node.mounted},isFile(mode){return(mode&61440)===32768},isDir(mode){return(mode&61440)===16384},isLink(mode){return(mode&61440)===40960},isChrdev(mode){return(mode&61440)===8192},isBlkdev(mode){return(mode&61440)===24576},isFIFO(mode){return(mode&61440)===4096},isSocket(mode){return(mode&49152)===49152},flagsToPermissionString(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions(node,perms){if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup(dir){var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd(){for(var fd=0;fd<=FS.MAX_OPEN_FDS;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStreamChecked(fd){var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}return stream},getStream:fd=>FS.streams[fd],createStream(stream,fd=-1){if(!FS.FSStream){FS.FSStream=function(){this.shared={}};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get(){return this.node},set(val){this.node=val}},isRead:{get(){return(this.flags&2097155)!==1}},isWrite:{get(){return(this.flags&2097155)!==0}},isAppend:{get(){return this.flags&1024}},flags:{get(){return this.shared.flags},set(val){this.shared.flags=val}},position:{get(){return this.shared.position},set(val){this.shared.position=val}}})}stream=Object.assign(new FS.FSStream,stream);if(fd==-1){fd=FS.nextfd()}stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream(fd){FS.streams[fd]=null},chrdev_stream_ops:{open(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;stream.stream_ops.open?.(stream)},llseek(){throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs(populate,callback){if(typeof populate=="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`)}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup(parent,name){return parent.node_ops.lookup(parent,name)},mknod(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree(path,mode){var dirs=path.split("/");var d="";for(var i=0;i0,ioctl(stream,cmd,arg){if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile(path,opts={}){opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile(path,data,opts={}){opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data=="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir(path){var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories(){FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices(){FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var randomBuffer=new Uint8Array(1024),randomLeft=0;var randomByte=()=>{if(randomLeft===0){randomLeft=randomFill(randomBuffer).byteLength}return randomBuffer[--randomLeft]};FS.createDevice("/dev","random",randomByte);FS.createDevice("/dev","urandom",randomByte);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories(){FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount(){var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup(parent,name){var fd=+name;var stream=FS.getStreamChecked(fd);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams(){if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError(){if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.name="ErrnoError";this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit(){FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init(input,output,error){FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit(){FS.init.initialized=false;for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}return intArrayFromString(xhr.responseText||"",true)};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]=="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]=="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});function writeChunks(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{FS.forceLoadFile(node);return writeChunks(stream,buffer,offset,length,position)};stream_ops.mmap=(stream,length,position,prot,flags)=>{FS.forceLoadFile(node);var ptr=mmapAlloc(length);if(!ptr){throw new FS.ErrnoError(48)}writeChunks(stream,HEAP8,ptr,length,position);return{ptr:ptr,allocated:true}};node.stream_ops=stream_ops;return node}};var UTF8ToString=(ptr,maxBytesToRead)=>ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):"";var SYSCALLS={DEFAULT_POLLMASK:5,calculateAt(dirfd,path,allowEmpty){if(PATH.isAbs(path)){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=SYSCALLS.getStreamFromFD(dirfd);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}HEAP32[buf>>2]=stat.dev;HEAP32[buf+4>>2]=stat.mode;HEAPU32[buf+8>>2]=stat.nlink;HEAP32[buf+12>>2]=stat.uid;HEAP32[buf+16>>2]=stat.gid;HEAP32[buf+20>>2]=stat.rdev;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+24>>2]=tempI64[0],HEAP32[buf+28>>2]=tempI64[1];HEAP32[buf+32>>2]=4096;HEAP32[buf+36>>2]=stat.blocks;var atime=stat.atime.getTime();var mtime=stat.mtime.getTime();var ctime=stat.ctime.getTime();tempI64=[Math.floor(atime/1e3)>>>0,(tempDouble=Math.floor(atime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAPU32[buf+48>>2]=atime%1e3*1e3;tempI64=[Math.floor(mtime/1e3)>>>0,(tempDouble=Math.floor(mtime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+56>>2]=tempI64[0],HEAP32[buf+60>>2]=tempI64[1];HEAPU32[buf+64>>2]=mtime%1e3*1e3;tempI64=[Math.floor(ctime/1e3)>>>0,(tempDouble=Math.floor(ctime/1e3),+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+72>>2]=tempI64[0],HEAP32[buf+76>>2]=tempI64[1];HEAPU32[buf+80>>2]=ctime%1e3*1e3;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+88>>2]=tempI64[0],HEAP32[buf+92>>2]=tempI64[1];return 0},doMsync(addr,stream,len,flags,offset){if(!FS.isFile(stream.node.mode)){throw new FS.ErrnoError(43)}if(flags&2){return 0}var buffer=HEAPU8.slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>2];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD(fd){var stream=FS.getStreamChecked(fd);return stream}};function ___syscall_dup(fd){try{var old=SYSCALLS.getStreamFromFD(fd);return FS.createStream(old).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var setErrNo=value=>{HEAP32[___errno_location()>>2]=value;return value};function ___syscall_fcntl64(fd,cmd,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}while(FS.streams[arg]){arg++}var newStream;newStream=FS.createStream(stream,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 5:{var arg=SYSCALLS.getp();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_fstat64(fd,buf){try{var stream=SYSCALLS.getStreamFromFD(fd);return SYSCALLS.doStat(FS.stat,stream.path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_lstat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.lstat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_newfstatat(dirfd,path,buf,flags){try{path=SYSCALLS.getStr(path);var nofollow=flags&256;var allowEmpty=flags&4096;flags=flags&~6400;path=SYSCALLS.calculateAt(dirfd,path,allowEmpty);return SYSCALLS.doStat(nofollow?FS.lstat:FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_openat(dirfd,path,flags,varargs){SYSCALLS.varargs=varargs;try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);var mode=varargs?SYSCALLS.get():0;return FS.open(path,flags,mode).fd}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount(mount){return FS.createNode(null,"/",16384|511,0)},createPipe(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}return 0},ioctl(stream,request,varargs){return 28},fsync(stream){return 28},read(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();HEAP32[fdPtr>>2]=res.readable_fd;HEAP32[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){try{var nonzero=0;for(var i=0;i>2];var events=HEAP16[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream,-1)}}mask&=events|8|16;if(mask)nonzero++;HEAP16[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_stat64(path,buf){try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}function ___syscall_unlinkat(dirfd,path,flags){try{path=SYSCALLS.getStr(path);path=SYSCALLS.calculateAt(dirfd,path);if(flags===0){FS.unlink(path)}else if(flags===512){FS.rmdir(path)}else{abort("Invalid flags passed to unlinkat")}return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return-e.errno}}var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function __gmtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getUTCSeconds();HEAP32[tmPtr+4>>2]=date.getUTCMinutes();HEAP32[tmPtr+8>>2]=date.getUTCHours();HEAP32[tmPtr+12>>2]=date.getUTCDate();HEAP32[tmPtr+16>>2]=date.getUTCMonth();HEAP32[tmPtr+20>>2]=date.getUTCFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var MONTH_DAYS_LEAP_CUMULATIVE=[0,31,60,91,121,152,182,213,244,274,305,335];var MONTH_DAYS_REGULAR_CUMULATIVE=[0,31,59,90,120,151,181,212,243,273,304,334];var ydayFromDate=date=>{var leap=isLeapYear(date.getFullYear());var monthDaysCumulative=leap?MONTH_DAYS_LEAP_CUMULATIVE:MONTH_DAYS_REGULAR_CUMULATIVE;var yday=monthDaysCumulative[date.getMonth()]+date.getDate()-1;return yday};function __localtime_js(time_low,time_high,tmPtr){var time=convertI32PairToI53Checked(time_low,time_high);var date=new Date(time*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst}var __mktime_js=function(tmPtr){var ret=(()=>{var date=new Date(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var dst=HEAP32[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){HEAP32[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}HEAP32[tmPtr+24>>2]=date.getDay();var yday=ydayFromDate(date)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getYear();var timeMs=date.getTime();if(isNaN(timeMs)){setErrNo(61);return-1}return timeMs/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var __timegm_js=function(tmPtr){var ret=(()=>{var time=Date.UTC(HEAP32[tmPtr+20>>2]+1900,HEAP32[tmPtr+16>>2],HEAP32[tmPtr+12>>2],HEAP32[tmPtr+8>>2],HEAP32[tmPtr+4>>2],HEAP32[tmPtr>>2],0);var date=new Date(time);HEAP32[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;return date.getTime()/1e3})();return setTempRet0((tempDouble=ret,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)),ret>>>0};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var __tzset_js=(timezone,daylight,tzname)=>{var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);HEAPU32[timezone>>2]=stdTimezoneOffset*60;HEAP32[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=stringToNewUTF8(winterName);var summerNamePtr=stringToNewUTF8(summerName);if(summerOffset>2]=winterNamePtr;HEAPU32[tzname+4>>2]=summerNamePtr}else{HEAPU32[tzname>>2]=summerNamePtr;HEAPU32[tzname+4>>2]=winterNamePtr}};var _abort=()=>{abort("")};var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();var _emscripten_memcpy_js=(dest,src,num)=>HEAPU8.copyWithin(dest,src,src+num);var getHeapMax=()=>2147483648;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};var _emscripten_resize_heap=requestedSize=>{var oldSize=HEAPU8.length;requestedSize>>>=0;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false};var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(typeof navigator=="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};var stringToAscii=(str,buffer)=>{for(var i=0;i>0]=str.charCodeAt(i)}HEAP8[buffer>>0]=0};var _environ_get=(__environ,environ_buf)=>{var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>2]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=(penviron_count,penviron_buf_size)=>{var strings=getEnvStrings();HEAPU32[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>2]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doReadv=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);try{if(isNaN(offset))return 61;var stream=SYSCALLS.getStreamFromFD(fd);FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var doWritev=(stream,iov,iovcnt,offset)=>{var ret=0;for(var i=0;i>2];var len=HEAPU32[iov+4>>2];iov+=8;var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(typeof offset!=="undefined"){offset+=curr}}return ret};function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=doWritev(stream,iov,iovcnt);HEAPU32[pnum>>2]=num;return 0}catch(e){if(typeof FS=="undefined"||!(e.name==="ErrnoError"))throw e;return e.errno}}var 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];var 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};var writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer)};var _strftime=(s,maxsize,format,tm)=>{var tm_zone=HEAPU32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value=="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={"%a":date=>WEEKDAYS[date.tm_wday].substring(0,3),"%A":date=>WEEKDAYS[date.tm_wday],"%b":date=>MONTHS[date.tm_mon].substring(0,3),"%B":date=>MONTHS[date.tm_mon],"%C":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":date=>leadingNulls(date.tm_mday,2),"%e":date=>leadingSomething(date.tm_mday,2," "),"%g":date=>getWeekBasedYear(date).toString().substring(2),"%G":date=>getWeekBasedYear(date),"%H":date=>leadingNulls(date.tm_hour,2),"%I":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),"%m":date=>leadingNulls(date.tm_mon+1,2),"%M":date=>leadingNulls(date.tm_min,2),"%n":()=>"\n","%p":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}return"PM"},"%S":date=>leadingNulls(date.tm_sec,2),"%t":()=>"\t","%u":date=>date.tm_wday||7,"%U":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},"%V":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},"%w":date=>date.tm_wday,"%W":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},"%y":date=>(date.tm_year+1900).toString().substring(2),"%Y":date=>date.tm_year+1900,"%z":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":date=>date.tm_zone,"%%":()=>"%"};pattern=pattern.replace(/%%/g,"\0\0");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\0\0/g,"%");var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1};var getCFunc=ident=>{var func=Module["_"+ident];return func};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={"string":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},"array":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(ret)}if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i{var numericArgs=!argTypes||argTypes.every(type=>type==="number"||type==="boolean");var numericRet=returnType!=="string";if(numericRet&&numericArgs&&!opts){return getCFunc(ident)}return function(){return ccall(ident,returnType,argTypes,arguments,opts)}};var ALLOC_STACK=1;var allocate=(slab,allocator)=>{var ret;if(allocator==ALLOC_STACK){ret=stackAlloc(slab.length)}else{ret=_malloc(slab.length)}if(!slab.subarray&&!slab.slice){slab=new Uint8Array(slab)}HEAPU8.set(slab,ret);return ret};var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.createPreloadedFile=FS_createPreloadedFile;FS.staticInit();var wasmImports={i:___syscall_dup,a:___syscall_fcntl64,x:___syscall_fstat64,u:___syscall_lstat64,v:___syscall_newfstatat,y:___syscall_openat,t:___syscall_pipe,s:___syscall_poll,w:___syscall_stat64,q:___syscall_unlinkat,B:__emscripten_get_now_is_monotonic,k:__gmtime_js,l:__localtime_js,m:__mktime_js,n:__timegm_js,r:__tzset_js,b:_abort,c:_emscripten_date_now,h:_emscripten_memcpy_js,p:_emscripten_resize_heap,z:_environ_get,A:_environ_sizes_get,g:_exit,e:_fd_close,j:_fd_read,o:_fd_seek,d:_fd_write,f:_strftime};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports["D"])();var _get_version=Module["_get_version"]=()=>(_get_version=Module["_get_version"]=wasmExports["E"])();var _archive_open=Module["_archive_open"]=(a0,a1,a2,a3)=>(_archive_open=Module["_archive_open"]=wasmExports["F"])(a0,a1,a2,a3);var _archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=(a0,a1)=>(_archive_read_add_passphrase=Module["_archive_read_add_passphrase"]=wasmExports["G"])(a0,a1);var _archive_error_string=Module["_archive_error_string"]=a0=>(_archive_error_string=Module["_archive_error_string"]=wasmExports["H"])(a0);var _get_next_entry=Module["_get_next_entry"]=a0=>(_get_next_entry=Module["_get_next_entry"]=wasmExports["I"])(a0);var _get_filedata=Module["_get_filedata"]=(a0,a1)=>(_get_filedata=Module["_get_filedata"]=wasmExports["J"])(a0,a1);var _malloc=Module["_malloc"]=a0=>(_malloc=Module["_malloc"]=wasmExports["K"])(a0);var _archive_close=Module["_archive_close"]=a0=>(_archive_close=Module["_archive_close"]=wasmExports["L"])(a0);var _start_archive_write=Module["_start_archive_write"]=(a0,a1,a2,a3,a4,a5)=>(_start_archive_write=Module["_start_archive_write"]=wasmExports["M"])(a0,a1,a2,a3,a4,a5);var _write_archive_file=Module["_write_archive_file"]=(a0,a1,a2,a3)=>(_write_archive_file=Module["_write_archive_file"]=wasmExports["N"])(a0,a1,a2,a3);var _size_of_size_t=Module["_size_of_size_t"]=()=>(_size_of_size_t=Module["_size_of_size_t"]=wasmExports["O"])();var _finish_archive_write=Module["_finish_archive_write"]=(a0,a1)=>(_finish_archive_write=Module["_finish_archive_write"]=wasmExports["P"])(a0,a1);var _free=Module["_free"]=a0=>(_free=Module["_free"]=wasmExports["Q"])(a0);var ___errno_location=()=>(___errno_location=wasmExports["R"])();var _archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=a0=>(_archive_entry_birthtime_nsec=Module["_archive_entry_birthtime_nsec"]=wasmExports["S"])(a0);var _archive_entry_filetype=Module["_archive_entry_filetype"]=a0=>(_archive_entry_filetype=Module["_archive_entry_filetype"]=wasmExports["T"])(a0);var _archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=a0=>(_archive_entry_mtime_nsec=Module["_archive_entry_mtime_nsec"]=wasmExports["U"])(a0);var _archive_entry_pathname=Module["_archive_entry_pathname"]=a0=>(_archive_entry_pathname=Module["_archive_entry_pathname"]=wasmExports["V"])(a0);var _archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=a0=>(_archive_entry_pathname_utf8=Module["_archive_entry_pathname_utf8"]=wasmExports["W"])(a0);var _archive_entry_size=Module["_archive_entry_size"]=a0=>(_archive_entry_size=Module["_archive_entry_size"]=wasmExports["X"])(a0);var _archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=a0=>(_archive_entry_is_encrypted=Module["_archive_entry_is_encrypted"]=wasmExports["Y"])(a0);var _archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=a0=>(_archive_read_has_encrypted_entries=Module["_archive_read_has_encrypted_entries"]=wasmExports["Z"])(a0);var _archive_read_data_skip=Module["_archive_read_data_skip"]=a0=>(_archive_read_data_skip=Module["_archive_read_data_skip"]=wasmExports["_"])(a0);var _htons=a0=>(_htons=wasmExports["htons"])(a0);var _ntohs=a0=>(_ntohs=wasmExports["ntohs"])(a0);var setTempRet0=a0=>(setTempRet0=wasmExports["aa"])(a0);var stackSave=()=>(stackSave=wasmExports["ba"])();var stackRestore=a0=>(stackRestore=wasmExports["ca"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports["da"])(a0);Module["cwrap"]=cwrap;Module["allocate"]=allocate;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run(); return moduleArg.ready diff --git a/lib/build/libarchive.wasm b/lib/build/libarchive.wasm index 9b9e93bbdd2ca834bdd3fc91b6409d87bf49ea4a..31fd233b2271d3e52b5dfed9b136a49c48686804 100755 GIT binary patch delta 48921 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 diff --git a/lib/build/main.o b/lib/build/main.o index a8599736b2e28f568de6c268e038d169a58e738b..0b690bb6530e12a25a8bbe9d03cb5c4af263feee 100644 GIT binary patch delta 776 zcmY*XO-~b16utA+&UYtB1PYY1FCms&iv<8ACDup75=55|9`u-M&cQ>Vz ziuy~Gv{cv}&34uADH*{6jx2~O7V4r(MtK<~V>n96I7Y^?jN{8>!WGCQPT=HqQV|!i z(zL(@GKEuhk=YM`pu3k>!r*B{BslHd=SbP$h9;?E)p^VT7fFqsSX(7CI8z%Cj+G2U z5K>nrfNcLv5bU(daONwzPWDO}NmZ0lSP*5Dc}N8n=Sj{N#6^~;!1JV}$V9~j(KH3) zK&PVWZ09LL)6;U>fLS(8|}wtE7ZOrCOc`Ef#f$T`4Hp zN3D~(dtfX#qbQ6pY`1Sjw1ewCzfX}rmLIHOmo@Wwm(T#OY$P ze~an>ukSM7V&4z0vPn^We}}d6029UvO}sT4#eNuo0|1le-qH=#X3PlF*(sxbRuI+3`9_>XjngtLgEIzDwfXs8*!A+70Mv%N ze&EMF@6ZPWrwq=xvd`~R$ztQ&tka0XPAh3O{#k+mPkCxRqW!SlSh{$oDKBLoj339O p&!!IYS92ENw`sxyYp%F$NyQgzy|X0vW*vtu`$X}RoxL=l{{e!3z;gfq delta 286 zcmaDX_fcwsFI#_GLj!}%#$bMCna&0vlY@bgnTeH+oq?wj#AV?+*8>vWyop(tm17bU zGiNm6AX z85BV5CtwpNi*cuDH8lgJ*>f`UvNQA2nK%|T0l69s3{u?bsU`7csYS(^`FRWi3=9m? zlRt9%iplVS#Pd=sO5#)VN{T8O1UMNOWG9F4C^O1UuHaE*l%G6{N0m`w@&O(V83qAK z1_njG;>@bl`24hZFkQlW8e+Ktua_{xU!dO@xQbG9@{{$P{asvHtS2wveZkJKf=7*g KH_zmae47A&D^Ab= diff --git a/lib/tools/build.sh b/lib/tools/build.sh index 2bfeb04..f2f0b78 100755 --- a/lib/tools/build.sh +++ b/lib/tools/build.sh @@ -3,7 +3,7 @@ emcc ../wrapper/main.c -c -I /usr/local/include/ -o ../build/main.o emcc ../build/main.o /usr/local/lib/libarchive.a /usr/local/lib/liblzma.a /usr/local/lib/libssl.a /usr/local/lib/libcrypto.a \ -o ../build/libarchive.js \ -s USE_ZLIB=1 -s USE_BZIP2=1 -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORT_NAME=libarchive -s WASM=1 -O3 -s ALLOW_MEMORY_GROWTH=1 \ - -s EXTRA_EXPORTED_RUNTIME_METHODS='["cwrap","allocate"]' \ + -s EXPORTED_RUNTIME_METHODS='["cwrap","allocate"]' \ -s EXPORTED_FUNCTIONS=@$PWD/lib.exports -s ERROR_ON_UNDEFINED_SYMBOLS=0 cp ../build/libarchive.js ../../src/webworker/wasm-gen/ diff --git a/lib/tools/lib.exports b/lib/tools/lib.exports index 207bfb9..72358bb 100644 --- a/lib/tools/lib.exports +++ b/lib/tools/lib.exports @@ -20,6 +20,5 @@ "_size_of_size_t", "_start_archive_write", "_write_archive_file", - "_archive_write_close", - "_archive_write_free" + "_finish_archive_write" ] \ No newline at end of file diff --git a/lib/wrapper/main.c b/lib/wrapper/main.c index 84b1337..d0c502d 100644 --- a/lib/wrapper/main.c +++ b/lib/wrapper/main.c @@ -101,7 +101,10 @@ void write_archive_file( void *a, char *pathname, size_t filesize , void *fileda archive_entry_set_filetype(entry, AE_IFREG); archive_entry_set_perm(entry, 0644); archive_write_header(a, entry); - archive_write_data(a, filedata, filesize); + int write_output = archive_write_data(a, filedata, filesize); + if( write_output != filesize ) { + fprintf(stderr, "Error occured while writing file, written bytes don't match file size\n"); + } archive_entry_free(entry); } @@ -109,4 +112,16 @@ void write_archive_file( void *a, char *pathname, size_t filesize , void *fileda EMSCRIPTEN_KEEPALIVE int size_of_size_t(){ return sizeof(size_t); +} + +EMSCRIPTEN_KEEPALIVE +int finish_archive_write(void *a, size_t *outputsize){ + if( archive_write_close(a) != ARCHIVE_OK ){ + return -1; + } + + if( archive_write_free(a) != ARCHIVE_OK ){ + return -1; + } + return *outputsize; } \ No newline at end of file diff --git a/src/webworker/archive-writer.js b/src/webworker/archive-writer.js index dda64c8..bc0bd62 100644 --- a/src/webworker/archive-writer.js +++ b/src/webworker/archive-writer.js @@ -38,15 +38,15 @@ export class ArchiveWriter { this._runCode.free(fileData.ptr); } - const closeStatus = this._runCode.closeArchiveWrite(newArchive); - const freeStatus = this._runCode.freeArchiveWrite(newArchive); + const outputSize = this._runCode.finishArchiveWrite( + newArchive, + outputSizePtr, + ); - if (closeStatus !== 0 || freeStatus !== 0) { + if (outputSize < 0) { throw new Error(this._runCode.getError(newArchive)); } - const outputSize = this.readNumberFromPointer(outputSizePtr); - return this._wasmModule.HEAPU8.slice(bufferPtr, bufferPtr + outputSize); } @@ -60,18 +60,4 @@ export class ArchiveWriter { length: array.length, }; } - - readNumberFromPointer(ptr) { - const ptrSize = this._runCode.sizeOfSizeT(); - const outputSizeBytes = this._wasmModule.HEAPU8.slice(ptr, ptr + ptrSize); - - let output = null; - if (ptrSize == 4) { - output = new Uint32Array(outputSizeBytes)[0]; - } else if (ptrSize == 8) { - output = new BigUint64Array(outputSizeBytes)[0]; - } else throw Error("Unexpected size of size_t: " + ptrSize); - - return output; - } } diff --git a/src/webworker/wasm-gen/libarchive.js b/src/webworker/wasm-gen/libarchive.js index f3931b3..ebc0308 100644 --- a/src/webworker/wasm-gen/libarchive.js +++ b/src/webworker/wasm-gen/libarchive.js @@ -3982,64 +3982,58 @@ var libarchive = (() => { )); var _size_of_size_t = (Module["_size_of_size_t"] = () => (_size_of_size_t = Module["_size_of_size_t"] = wasmExports["O"])()); + var _finish_archive_write = (Module["_finish_archive_write"] = (a0, a1) => + (_finish_archive_write = Module["_finish_archive_write"] = + wasmExports["P"])(a0, a1)); var _free = (Module["_free"] = (a0) => - (_free = Module["_free"] = wasmExports["P"])(a0)); - var ___errno_location = () => (___errno_location = wasmExports["Q"])(); + (_free = Module["_free"] = wasmExports["Q"])(a0)); + var ___errno_location = () => (___errno_location = wasmExports["R"])(); var _archive_entry_birthtime_nsec = (Module[ "_archive_entry_birthtime_nsec" ] = (a0) => (_archive_entry_birthtime_nsec = Module["_archive_entry_birthtime_nsec"] = - wasmExports["R"])(a0)); + wasmExports["S"])(a0)); var _archive_entry_filetype = (Module["_archive_entry_filetype"] = (a0) => (_archive_entry_filetype = Module["_archive_entry_filetype"] = - wasmExports["S"])(a0)); + wasmExports["T"])(a0)); var _archive_entry_mtime_nsec = (Module["_archive_entry_mtime_nsec"] = ( a0, ) => (_archive_entry_mtime_nsec = Module["_archive_entry_mtime_nsec"] = - wasmExports["T"])(a0)); + wasmExports["U"])(a0)); var _archive_entry_pathname = (Module["_archive_entry_pathname"] = (a0) => (_archive_entry_pathname = Module["_archive_entry_pathname"] = - wasmExports["U"])(a0)); + wasmExports["V"])(a0)); var _archive_entry_pathname_utf8 = (Module["_archive_entry_pathname_utf8"] = (a0) => (_archive_entry_pathname_utf8 = Module["_archive_entry_pathname_utf8"] = - wasmExports["V"])(a0)); + wasmExports["W"])(a0)); var _archive_entry_size = (Module["_archive_entry_size"] = (a0) => - (_archive_entry_size = Module["_archive_entry_size"] = wasmExports["W"])( + (_archive_entry_size = Module["_archive_entry_size"] = wasmExports["X"])( a0, )); var _archive_entry_is_encrypted = (Module["_archive_entry_is_encrypted"] = ( a0, ) => (_archive_entry_is_encrypted = Module["_archive_entry_is_encrypted"] = - wasmExports["X"])(a0)); + wasmExports["Y"])(a0)); var _archive_read_has_encrypted_entries = (Module[ "_archive_read_has_encrypted_entries" ] = (a0) => (_archive_read_has_encrypted_entries = Module[ "_archive_read_has_encrypted_entries" ] = - wasmExports["Y"])(a0)); + wasmExports["Z"])(a0)); var _archive_read_data_skip = (Module["_archive_read_data_skip"] = (a0) => (_archive_read_data_skip = Module["_archive_read_data_skip"] = - wasmExports["Z"])(a0)); - var _archive_write_close = (Module["_archive_write_close"] = (a0) => - (_archive_write_close = Module["_archive_write_close"] = - wasmExports["$"])(a0)); - var _archive_write_free = (Module["_archive_write_free"] = (a0) => - (_archive_write_free = Module["_archive_write_free"] = wasmExports["aa"])( - a0, - )); + wasmExports["_"])(a0)); var _htons = (a0) => (_htons = wasmExports["htons"])(a0); var _ntohs = (a0) => (_ntohs = wasmExports["ntohs"])(a0); - var setTempRet0 = (a0) => (setTempRet0 = wasmExports["ba"])(a0); - var stackSave = () => (stackSave = wasmExports["ca"])(); - var stackRestore = (a0) => (stackRestore = wasmExports["da"])(a0); - var stackAlloc = (a0) => (stackAlloc = wasmExports["ea"])(a0); + var setTempRet0 = (a0) => (setTempRet0 = wasmExports["aa"])(a0); + var stackSave = () => (stackSave = wasmExports["ba"])(); + var stackRestore = (a0) => (stackRestore = wasmExports["ca"])(a0); + var stackAlloc = (a0) => (stackAlloc = wasmExports["da"])(a0); Module["cwrap"] = cwrap; - Module["UTF8ToString"] = UTF8ToString; - Module["intArrayFromString"] = intArrayFromString; Module["allocate"] = allocate; var calledRun; dependenciesFulfilled = function runCaller() { diff --git a/src/webworker/wasm-gen/libarchive.wasm b/src/webworker/wasm-gen/libarchive.wasm index 9b9e93bbdd2ca834bdd3fc91b6409d87bf49ea4a..31fd233b2271d3e52b5dfed9b136a49c48686804 100644 GIT binary patch delta 48921 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 diff --git a/src/webworker/wasm-module.js b/src/webworker/wasm-module.js index b0f9cd1..07516d2 100644 --- a/src/webworker/wasm-module.js +++ b/src/webworker/wasm-module.js @@ -79,14 +79,12 @@ export class WasmModule { "number", ]), - // int archive_write_close(struct archive *); - closeArchiveWrite: this.cwrap("archive_write_close", "number", [ + // int finish_archive_write(void *a, size_t *outputsize) + finishArchiveWrite: this.cwrap("finish_archive_write", "number", [ + "number", "number", ]), - // int archive_write_free(struct archive *); - freeArchiveWrite: this.cwrap("archive_write_free", "number", ["number"]), - /* * Returns 1 if the archive contains at least one encrypted entry. * If the archive format not support encryption at all